From 5b7b3571adf8ba0e9459b130f447b4ba4884ffaf Mon Sep 17 00:00:00 2001 From: squidfunk Date: Sat, 8 Feb 2020 22:05:31 +0100 Subject: [PATCH] Fixed margin of superfences code on top-level and mobile --- .../{application.38aa6250.js => application.df00da5d.js} | 0 .../{application.f3fac315.css => application.adb8469c.css} | 2 +- material/assets/stylesheets/application.css | 4 ++-- material/base.html | 4 ++-- .../stylesheets/extensions/pymdown/_superfences.scss | 7 ++++--- 5 files changed, 9 insertions(+), 8 deletions(-) rename material/assets/javascripts/{application.38aa6250.js => application.df00da5d.js} (100%) rename material/assets/stylesheets/{application.f3fac315.css => application.adb8469c.css} (78%) diff --git a/material/assets/javascripts/application.38aa6250.js b/material/assets/javascripts/application.df00da5d.js similarity index 100% rename from material/assets/javascripts/application.38aa6250.js rename to material/assets/javascripts/application.df00da5d.js diff --git a/material/assets/stylesheets/application.f3fac315.css b/material/assets/stylesheets/application.adb8469c.css similarity index 78% rename from material/assets/stylesheets/application.f3fac315.css rename to material/assets/stylesheets/application.adb8469c.css index 1f00a68df..93b3dabad 100644 --- a/material/assets/stylesheets/application.f3fac315.css +++ b/material/assets/stylesheets/application.adb8469c.css @@ -1 +1 @@ -html{box-sizing:border-box}*,:after,:before{box-sizing:inherit}html{-webkit-text-size-adjust:none;-moz-text-size-adjust:none;-ms-text-size-adjust:none;text-size-adjust:none}body{margin:0}hr{overflow:visible;box-sizing:content-box}a{-webkit-text-decoration-skip:objects}a,button,input,label{-webkit-tap-highlight-color:transparent}a{color:inherit;text-decoration:none}small,sub,sup{font-size:80%}sub,sup{position:relative;line-height:0;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}img{border-style:none}table{border-collapse:separate;border-spacing:0}td,th{font-weight:400;vertical-align:top}button{margin:0;padding:0;border:0;outline-style:none;background:transparent;font-size:inherit}input{border:0;outline:0}.md-clipboard:before,.md-icon,.md-nav__button,.md-nav__link:after,.md-nav__title:before,.md-search-result__article--document:before,.md-source-file:before,.md-typeset .admonition>.admonition-title:before,.md-typeset .admonition>summary:before,.md-typeset .critic.comment:before,.md-typeset .footnote-backref,.md-typeset .task-list-control .task-list-indicator:before,.md-typeset details>.admonition-title:before,.md-typeset details>summary:before,.md-typeset summary:after{font-family:Material Icons;font-style:normal;font-variant:normal;font-weight:400;line-height:1;text-transform:none;white-space:nowrap;word-wrap:normal;direction:ltr}.md-content__icon,.md-footer-nav__button,.md-header-nav__button,.md-nav__button,.md-nav__title:before,.md-search-result__article--document:before{display:inline-block;margin:.2rem;padding:.4rem;font-size:1.2rem;cursor:pointer}.md-icon--arrow-back:before{content:""}.md-icon--arrow-forward:before{content:""}.md-icon--menu:before{content:""}.md-icon--search:before{content:""}[dir=rtl] .md-icon--arrow-back:before{content:""}[dir=rtl] .md-icon--arrow-forward:before{content:""}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body,input{color:rgba(0,0,0,.87);font-feature-settings:"kern","liga";font-family:Helvetica Neue,Helvetica,Arial,sans-serif}code,kbd,pre{color:rgba(0,0,0,.87);font-feature-settings:"kern";font-family:Courier New,Courier,monospace}.md-typeset{font-size:.8rem;line-height:1.6;-webkit-print-color-adjust:exact}.md-typeset blockquote,.md-typeset ol,.md-typeset p,.md-typeset ul{margin:1em 0}.md-typeset h1{margin:0 0 2rem;color:rgba(0,0,0,.54);font-size:1.5625rem;line-height:1.3}.md-typeset h1,.md-typeset h2{font-weight:300;letter-spacing:-.01em}.md-typeset h2{margin:2rem 0 .8rem;font-size:1.25rem;line-height:1.4}.md-typeset h3{margin:1.6rem 0 .8rem;font-size:1rem;font-weight:400;letter-spacing:-.01em;line-height:1.5}.md-typeset h2+h3{margin-top:.8rem}.md-typeset h4{font-size:.8rem}.md-typeset h4,.md-typeset h5,.md-typeset h6{margin:.8rem 0;font-weight:700;letter-spacing:-.01em}.md-typeset h5,.md-typeset h6{color:rgba(0,0,0,.54);font-size:.64rem}.md-typeset h5{text-transform:uppercase}.md-typeset hr{margin:1.5em 0;border-bottom:.05rem dotted rgba(0,0,0,.26)}.md-typeset a{color:#3f51b5;word-break:break-word}.md-typeset a,.md-typeset a:before{-webkit-transition:color .125s;transition:color .125s}.md-typeset a:active,.md-typeset a:hover{color:#536dfe}.md-typeset code,.md-typeset pre{background-color:hsla(0,0%,92.5%,.5);color:#37474f;font-size:85%;direction:ltr}.md-typeset code{margin:0 .29412em;padding:.07353em 0;border-radius:.1rem;box-shadow:.29412em 0 0 hsla(0,0%,92.5%,.5),-.29412em 0 0 hsla(0,0%,92.5%,.5);word-break:break-word;-webkit-box-decoration-break:clone;box-decoration-break:clone}.md-typeset h1 code,.md-typeset h2 code,.md-typeset h3 code,.md-typeset h4 code,.md-typeset h5 code,.md-typeset h6 code{margin:0;background-color:transparent;box-shadow:none}.md-typeset a>code{margin:inherit;padding:inherit;border-radius:initial;background-color:inherit;color:inherit;box-shadow:none}.md-typeset pre{position:relative;margin:1em 0;border-radius:.1rem;line-height:1.4;-webkit-overflow-scrolling:touch}.md-typeset pre>code{display:block;margin:0;padding:.525rem .6rem;background-color:transparent;font-size:inherit;box-shadow:none;-webkit-box-decoration-break:slice;box-decoration-break:slice;overflow:auto}.md-typeset pre>code::-webkit-scrollbar{width:.2rem;height:.2rem}.md-typeset pre>code::-webkit-scrollbar-thumb{background-color:rgba(0,0,0,.26)}.md-typeset pre>code::-webkit-scrollbar-thumb:hover{background-color:#536dfe}.md-typeset kbd{padding:0 .29412em;border-radius:.15rem;border:.05rem solid #c9c9c9;border-bottom-color:#bcbcbc;background-color:#fcfcfc;color:#555;font-size:85%;box-shadow:0 .05rem 0 #b0b0b0;word-break:break-word}.md-typeset mark{margin:0 .25em;padding:.0625em 0;border-radius:.1rem;background-color:rgba(255,235,59,.5);box-shadow:.25em 0 0 rgba(255,235,59,.5),-.25em 0 0 rgba(255,235,59,.5);word-break:break-word;-webkit-box-decoration-break:clone;box-decoration-break:clone}.md-typeset abbr{border-bottom:.05rem dotted rgba(0,0,0,.54);text-decoration:none;cursor:help}.md-typeset small{opacity:.75}.md-typeset sub,.md-typeset sup{margin-left:.07812em}[dir=rtl] .md-typeset sub,[dir=rtl] .md-typeset sup{margin-right:.07812em;margin-left:0}.md-typeset blockquote{padding-left:.6rem;border-left:.2rem solid rgba(0,0,0,.26);color:rgba(0,0,0,.54)}[dir=rtl] .md-typeset blockquote{padding-right:.6rem;padding-left:0;border-right:.2rem solid rgba(0,0,0,.26);border-left:initial}.md-typeset ul{list-style-type:disc}.md-typeset ol,.md-typeset ul{margin-left:.625em;padding:0}[dir=rtl] .md-typeset ol,[dir=rtl] .md-typeset ul{margin-right:.625em;margin-left:0}.md-typeset ol ol,.md-typeset ul ol{list-style-type:lower-alpha}.md-typeset ol ol ol,.md-typeset ul ol ol{list-style-type:lower-roman}.md-typeset ol li,.md-typeset ul li{margin-bottom:.5em;margin-left:1.25em}[dir=rtl] .md-typeset ol li,[dir=rtl] .md-typeset ul li{margin-right:1.25em;margin-left:0}.md-typeset ol li blockquote,.md-typeset ol li p,.md-typeset ul li blockquote,.md-typeset ul li p{margin:.5em 0}.md-typeset ol li:last-child,.md-typeset ul li:last-child{margin-bottom:0}.md-typeset ol li ol,.md-typeset ol li ul,.md-typeset ul li ol,.md-typeset ul li ul{margin:.5em 0 .5em .625em}[dir=rtl] .md-typeset ol li ol,[dir=rtl] .md-typeset ol li ul,[dir=rtl] .md-typeset ul li ol,[dir=rtl] .md-typeset ul li ul{margin-right:.625em;margin-left:0}.md-typeset dd{margin:1em 0 1em 1.875em}[dir=rtl] .md-typeset dd{margin-right:1.875em;margin-left:0}.md-typeset iframe,.md-typeset img,.md-typeset svg{max-width:100%}.md-typeset table:not([class]){box-shadow:0 2px 2px 0 rgba(0,0,0,.14),0 1px 5px 0 rgba(0,0,0,.12),0 3px 1px -2px rgba(0,0,0,.2);display:inline-block;max-width:100%;border-radius:.1rem;font-size:.64rem;overflow:auto;-webkit-overflow-scrolling:touch}.md-typeset table:not([class])+*{margin-top:1.5em}.md-typeset table:not([class]) td:not([align]),.md-typeset table:not([class]) th:not([align]){text-align:left}[dir=rtl] .md-typeset table:not([class]) td:not([align]),[dir=rtl] .md-typeset table:not([class]) th:not([align]){text-align:right}.md-typeset table:not([class]) th{min-width:5rem;padding:.6rem .8rem;background-color:rgba(0,0,0,.54);color:#fff;vertical-align:top}.md-typeset table:not([class]) td{padding:.6rem .8rem;border-top:.05rem solid rgba(0,0,0,.07);vertical-align:top}.md-typeset table:not([class]) tr{-webkit-transition:background-color .125s;transition:background-color .125s}.md-typeset table:not([class]) tr:hover{background-color:rgba(0,0,0,.035);box-shadow:inset 0 .05rem 0 #fff}.md-typeset table:not([class]) tr:first-child td{border-top:0}.md-typeset table:not([class]) a{word-break:normal}.md-typeset__scrollwrap{margin:1em -.8rem;overflow-x:auto;-webkit-overflow-scrolling:touch}.md-typeset .md-typeset__table{display:inline-block;margin-bottom:.5em;padding:0 .8rem}.md-typeset .md-typeset__table table{display:table;width:100%;margin:0;overflow:hidden}html{font-size:125%;overflow-x:hidden}body,html{height:100%}body{position:relative;font-size:.5rem}hr{display:block;height:.05rem;padding:0;border:0}.md-svg{display:none}.md-grid{max-width:61rem;margin-right:auto;margin-left:auto}.md-container,.md-main{overflow:auto}.md-container{display:table;width:100%;height:100%;padding-top:2.4rem;table-layout:fixed}.md-main{display:table-row;height:100%}.md-main__inner{height:100%;padding-top:1.5rem;padding-bottom:.05rem}.md-toggle{display:none}.md-overlay{position:fixed;top:0;width:0;height:0;-webkit-transition:width 0s .25s,height 0s .25s,opacity .25s;transition:width 0s .25s,height 0s .25s,opacity .25s;background-color:rgba(0,0,0,.54);opacity:0;z-index:3}.md-flex{display:table}.md-flex__cell{display:table-cell;position:relative;vertical-align:top}.md-flex__cell--shrink{width:0}.md-flex__cell--stretch{display:table;width:100%;table-layout:fixed}.md-flex__ellipsis{display:table-cell;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.md-skip{position:fixed;width:.05rem;height:.05rem;margin:.5rem;padding:.3rem .5rem;-webkit-transform:translateY(.4rem);transform:translateY(.4rem);border-radius:.1rem;background-color:rgba(0,0,0,.87);color:#fff;font-size:.64rem;opacity:0;overflow:hidden}.md-skip:focus{width:auto;height:auto;clip:auto;-webkit-transform:translateX(0);transform:translateX(0);-webkit-transition:opacity .175s 75ms,-webkit-transform .25s cubic-bezier(.4,0,.2,1);transition:opacity .175s 75ms,-webkit-transform .25s cubic-bezier(.4,0,.2,1);transition:transform .25s cubic-bezier(.4,0,.2,1),opacity .175s 75ms;transition:transform .25s cubic-bezier(.4,0,.2,1),opacity .175s 75ms,-webkit-transform .25s cubic-bezier(.4,0,.2,1);opacity:1;z-index:10}@page{margin:25mm}.md-clipboard{position:absolute;top:.3rem;right:.3rem;width:1.4rem;height:1.4rem;border-radius:.1rem;font-size:.8rem;cursor:pointer;z-index:1;-webkit-backface-visibility:hidden;backface-visibility:hidden}.md-clipboard:before{-webkit-transition:color .25s,opacity .25s;transition:color .25s,opacity .25s;color:rgba(0,0,0,.07);content:"\E14D"}.codehilite:hover .md-clipboard:before,.md-typeset .highlight:hover .md-clipboard:before,pre:hover .md-clipboard:before{color:rgba(0,0,0,.54)}.md-clipboard:focus:before,.md-clipboard:hover:before{color:#536dfe}.md-clipboard__message{display:block;position:absolute;top:0;right:1.7rem;padding:.3rem .5rem;-webkit-transform:translateX(.4rem);transform:translateX(.4rem);-webkit-transition:opacity .175s,-webkit-transform .25s cubic-bezier(.9,.1,.9,0);transition:opacity .175s,-webkit-transform .25s cubic-bezier(.9,.1,.9,0);transition:transform .25s cubic-bezier(.9,.1,.9,0),opacity .175s;transition:transform .25s cubic-bezier(.9,.1,.9,0),opacity .175s,-webkit-transform .25s cubic-bezier(.9,.1,.9,0);border-radius:.1rem;background-color:rgba(0,0,0,.54);color:#fff;font-size:.64rem;white-space:nowrap;opacity:0;pointer-events:none}.md-clipboard__message--active{-webkit-transform:translateX(0);transform:translateX(0);-webkit-transition:opacity .175s 75ms,-webkit-transform .25s cubic-bezier(.4,0,.2,1);transition:opacity .175s 75ms,-webkit-transform .25s cubic-bezier(.4,0,.2,1);transition:transform .25s cubic-bezier(.4,0,.2,1),opacity .175s 75ms;transition:transform .25s cubic-bezier(.4,0,.2,1),opacity .175s 75ms,-webkit-transform .25s cubic-bezier(.4,0,.2,1);opacity:1;pointer-events:auto}.md-clipboard__message:before{content:attr(aria-label)}.md-clipboard__message:after{display:block;position:absolute;top:50%;right:-.2rem;width:0;margin-top:-.2rem;border-color:transparent rgba(0,0,0,.54);border-style:solid;border-width:.2rem 0 .2rem .2rem;content:""}.md-content__inner{margin:0 .8rem 1.2rem;padding-top:.6rem}.md-content__inner:before{display:block;height:.4rem;content:""}.md-content__inner>:last-child{margin-bottom:0}.md-content__icon{position:relative;margin:.4rem 0;padding:0;float:right}.md-typeset .md-content__icon{color:rgba(0,0,0,.26)}.md-header{position:fixed;top:0;right:0;left:0;height:2.4rem;-webkit-transition:background-color .25s,color .25s;transition:background-color .25s,color .25s;background-color:#3f51b5;color:#fff;box-shadow:none;z-index:2;-webkit-backface-visibility:hidden;backface-visibility:hidden}.no-js .md-header{-webkit-transition:none;transition:none;box-shadow:none}.md-header[data-md-state=shadow]{-webkit-transition:background-color .25s,color .25s,box-shadow .25s;transition:background-color .25s,color .25s,box-shadow .25s;box-shadow:0 0 .2rem rgba(0,0,0,.1),0 .2rem .4rem rgba(0,0,0,.2)}.md-header-nav{padding:0 .2rem}.md-header-nav__button{position:relative;-webkit-transition:opacity .25s;transition:opacity .25s;z-index:1}.md-header-nav__button:hover{opacity:.7}.md-header-nav__button.md-logo *{display:block}.no-js .md-header-nav__button.md-icon--search{display:none}.md-header-nav__topic{display:block;position:absolute;-webkit-transition:opacity .15s,-webkit-transform .4s cubic-bezier(.1,.7,.1,1);transition:opacity .15s,-webkit-transform .4s cubic-bezier(.1,.7,.1,1);transition:transform .4s cubic-bezier(.1,.7,.1,1),opacity .15s;transition:transform .4s cubic-bezier(.1,.7,.1,1),opacity .15s,-webkit-transform .4s cubic-bezier(.1,.7,.1,1);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.md-header-nav__topic+.md-header-nav__topic{-webkit-transform:translateX(1.25rem);transform:translateX(1.25rem);-webkit-transition:opacity .15s,-webkit-transform .4s cubic-bezier(1,.7,.1,.1);transition:opacity .15s,-webkit-transform .4s cubic-bezier(1,.7,.1,.1);transition:transform .4s cubic-bezier(1,.7,.1,.1),opacity .15s;transition:transform .4s cubic-bezier(1,.7,.1,.1),opacity .15s,-webkit-transform .4s cubic-bezier(1,.7,.1,.1);opacity:0;z-index:-1;pointer-events:none}[dir=rtl] .md-header-nav__topic+.md-header-nav__topic{-webkit-transform:translateX(-1.25rem);transform:translateX(-1.25rem)}.no-js .md-header-nav__topic{position:static}.no-js .md-header-nav__topic+.md-header-nav__topic{display:none}.md-header-nav__title{padding:0 1rem;font-size:.9rem;line-height:2.4rem}.md-header-nav__title[data-md-state=active] .md-header-nav__topic{-webkit-transform:translateX(-1.25rem);transform:translateX(-1.25rem);-webkit-transition:opacity .15s,-webkit-transform .4s cubic-bezier(1,.7,.1,.1);transition:opacity .15s,-webkit-transform .4s cubic-bezier(1,.7,.1,.1);transition:transform .4s cubic-bezier(1,.7,.1,.1),opacity .15s;transition:transform .4s cubic-bezier(1,.7,.1,.1),opacity .15s,-webkit-transform .4s cubic-bezier(1,.7,.1,.1);opacity:0;z-index:-1;pointer-events:none}[dir=rtl] .md-header-nav__title[data-md-state=active] .md-header-nav__topic{-webkit-transform:translateX(1.25rem);transform:translateX(1.25rem)}.md-header-nav__title[data-md-state=active] .md-header-nav__topic+.md-header-nav__topic{-webkit-transform:translateX(0);transform:translateX(0);-webkit-transition:opacity .15s,-webkit-transform .4s cubic-bezier(.1,.7,.1,1);transition:opacity .15s,-webkit-transform .4s cubic-bezier(.1,.7,.1,1);transition:transform .4s cubic-bezier(.1,.7,.1,1),opacity .15s;transition:transform .4s cubic-bezier(.1,.7,.1,1),opacity .15s,-webkit-transform .4s cubic-bezier(.1,.7,.1,1);opacity:1;z-index:0;pointer-events:auto}.md-header-nav__source{display:none}.md-hero{-webkit-transition:background .25s;transition:background .25s;background-color:#3f51b5;color:#fff;font-size:1rem;overflow:hidden}.md-hero__inner{margin-top:1rem;padding:.8rem .8rem .4rem;-webkit-transition:opacity .25s,-webkit-transform .4s cubic-bezier(.1,.7,.1,1);transition:opacity .25s,-webkit-transform .4s cubic-bezier(.1,.7,.1,1);transition:transform .4s cubic-bezier(.1,.7,.1,1),opacity .25s;transition:transform .4s cubic-bezier(.1,.7,.1,1),opacity .25s,-webkit-transform .4s cubic-bezier(.1,.7,.1,1);-webkit-transition-delay:.1s;transition-delay:.1s}[data-md-state=hidden] .md-hero__inner{pointer-events:none;-webkit-transform:translateY(.625rem);transform:translateY(.625rem);-webkit-transition:opacity .1s 0s,-webkit-transform 0s .4s;transition:opacity .1s 0s,-webkit-transform 0s .4s;transition:transform 0s .4s,opacity .1s 0s;transition:transform 0s .4s,opacity .1s 0s,-webkit-transform 0s .4s;opacity:0}.md-hero--expand .md-hero__inner{margin-bottom:1.2rem}.md-footer-nav{background-color:rgba(0,0,0,.87);color:#fff}.md-footer-nav__inner{padding:.2rem;overflow:auto}.md-footer-nav__link{padding-top:1.4rem;padding-bottom:.4rem;-webkit-transition:opacity .25s;transition:opacity .25s}.md-footer-nav__link:hover{opacity:.7}.md-footer-nav__link--prev{width:25%;float:left}[dir=rtl] .md-footer-nav__link--prev{float:right}.md-footer-nav__link--next{width:75%;float:right;text-align:right}[dir=rtl] .md-footer-nav__link--next{float:left;text-align:left}.md-footer-nav__button{-webkit-transition:background .25s;transition:background .25s}.md-footer-nav__title{position:relative;padding:0 1rem;font-size:.9rem;line-height:2.4rem}.md-footer-nav__direction{position:absolute;right:0;left:0;margin-top:-1rem;padding:0 1rem;color:hsla(0,0%,100%,.7);font-size:.75rem}.md-footer-meta{background-color:rgba(0,0,0,.895)}.md-footer-meta__inner{padding:.2rem;overflow:auto}html .md-footer-meta.md-typeset a{color:hsla(0,0%,100%,.7)}html .md-footer-meta.md-typeset a:focus,html .md-footer-meta.md-typeset a:hover{color:#fff}.md-footer-copyright{margin:0 .6rem;padding:.4rem 0;color:hsla(0,0%,100%,.3);font-size:.64rem}.md-footer-copyright__highlight{color:hsla(0,0%,100%,.7)}.md-footer-social{margin:0 .4rem;padding:.2rem 0 .6rem}.md-footer-social__link{display:inline-block;width:1.6rem;height:1.6rem;font-size:.8rem;text-align:center}.md-footer-social__link:before{line-height:1.9}.md-nav{font-size:.7rem;line-height:1.3}.md-nav__title{display:block;padding:0 .6rem;font-weight:700;text-overflow:ellipsis;overflow:hidden}.md-nav__title:before{display:none;content:"\E5C4"}[dir=rtl] .md-nav__title:before{content:"\E5C8"}.md-nav__title .md-nav__button{display:none}.md-nav__list{margin:0;padding:0;list-style:none}.md-nav__item{padding:0 .6rem}.md-nav__item:last-child{padding-bottom:.6rem}.md-nav__item .md-nav__item{padding-right:0}[dir=rtl] .md-nav__item .md-nav__item{padding-right:.6rem;padding-left:0}.md-nav__item .md-nav__item:last-child{padding-bottom:0}.md-nav__button img{width:100%;height:auto}.md-nav__link{display:block;margin-top:.625em;-webkit-transition:color .125s;transition:color .125s;text-overflow:ellipsis;cursor:pointer;overflow:hidden}.md-nav__item--nested>.md-nav__link:after{content:"\E313"}html .md-nav__link[for=__toc],html .md-nav__link[for=__toc]+.md-nav__link:after,html .md-nav__link[for=__toc]~.md-nav{display:none}.md-nav__link[data-md-state=blur]{color:rgba(0,0,0,.54)}.md-nav__link--active,.md-nav__link:active{color:#3f51b5}.md-nav__item--nested>.md-nav__link{color:inherit}.md-nav__link:focus,.md-nav__link:hover{color:#536dfe}.md-nav__source,.no-js .md-search{display:none}.md-search__overlay{opacity:0;z-index:1}.md-search__form{position:relative}.md-search__input{position:relative;padding:0 2.2rem 0 3.6rem;text-overflow:ellipsis;z-index:2}[dir=rtl] .md-search__input{padding:0 3.6rem 0 2.2rem}.md-search__input::-webkit-input-placeholder{-webkit-transition:color .25s cubic-bezier(.1,.7,.1,1);transition:color .25s cubic-bezier(.1,.7,.1,1)}.md-search__input::-moz-placeholder{-moz-transition:color .25s cubic-bezier(.1,.7,.1,1);transition:color .25s cubic-bezier(.1,.7,.1,1)}.md-search__input:-ms-input-placeholder{-ms-transition:color .25s cubic-bezier(.1,.7,.1,1);transition:color .25s cubic-bezier(.1,.7,.1,1)}.md-search__input::-ms-input-placeholder{-ms-transition:color .25s cubic-bezier(.1,.7,.1,1);transition:color .25s cubic-bezier(.1,.7,.1,1)}.md-search__input::placeholder{-webkit-transition:color .25s cubic-bezier(.1,.7,.1,1);transition:color .25s cubic-bezier(.1,.7,.1,1)}.md-search__input::-webkit-input-placeholder{color:rgba(0,0,0,.54)}.md-search__input::-moz-placeholder{color:rgba(0,0,0,.54)}.md-search__input:-ms-input-placeholder{color:rgba(0,0,0,.54)}.md-search__input::-ms-input-placeholder{color:rgba(0,0,0,.54)}.md-search__input::placeholder,.md-search__input~.md-search__icon{color:rgba(0,0,0,.54)}.md-search__input::-ms-clear{display:none}.md-search__icon{position:absolute;-webkit-transition:color .25s cubic-bezier(.1,.7,.1,1),opacity .25s;transition:color .25s cubic-bezier(.1,.7,.1,1),opacity .25s;font-size:1.2rem;cursor:pointer;z-index:2}.md-search__icon:hover{opacity:.7}.md-search__icon[for=__search]{top:.3rem;left:.5rem}[dir=rtl] .md-search__icon[for=__search]{right:.5rem;left:auto}.md-search__icon[for=__search]:before{content:"\E8B6"}.md-search__icon[type=reset]{top:.3rem;right:.5rem;-webkit-transform:scale(.125);transform:scale(.125);-webkit-transition:opacity .15s,-webkit-transform .15s cubic-bezier(.1,.7,.1,1);transition:opacity .15s,-webkit-transform .15s cubic-bezier(.1,.7,.1,1);transition:transform .15s cubic-bezier(.1,.7,.1,1),opacity .15s;transition:transform .15s cubic-bezier(.1,.7,.1,1),opacity .15s,-webkit-transform .15s cubic-bezier(.1,.7,.1,1);opacity:0}[dir=rtl] .md-search__icon[type=reset]{right:auto;left:.5rem}[data-md-toggle=search]:checked~.md-header .md-search__input:valid~.md-search__icon[type=reset]{-webkit-transform:scale(1);transform:scale(1);opacity:1}[data-md-toggle=search]:checked~.md-header .md-search__input:valid~.md-search__icon[type=reset]:hover{opacity:.7}.md-search__output{position:absolute;width:100%;border-radius:0 0 .1rem .1rem;overflow:hidden;z-index:1}.md-search__scrollwrap{height:100%;background-color:#fff;box-shadow:inset 0 .05rem 0 rgba(0,0,0,.07);overflow-y:auto;-webkit-overflow-scrolling:touch}.md-search-result{color:rgba(0,0,0,.87);word-break:break-word}.md-search-result__meta{padding:0 .8rem;background-color:rgba(0,0,0,.07);color:rgba(0,0,0,.54);font-size:.64rem;line-height:1.8rem}.md-search-result__list{margin:0;padding:0;border-top:.05rem solid rgba(0,0,0,.07);list-style:none}.md-search-result__item{box-shadow:0 -.05rem 0 rgba(0,0,0,.07)}.md-search-result__link{display:block;-webkit-transition:background .25s;transition:background .25s;outline:0;overflow:hidden}.md-search-result__link:hover,.md-search-result__link[data-md-state=active]{background-color:rgba(83,109,254,.1)}.md-search-result__link:hover .md-search-result__article:before,.md-search-result__link[data-md-state=active] .md-search-result__article:before{opacity:.7}.md-search-result__link:last-child .md-search-result__teaser{margin-bottom:.6rem}.md-search-result__article{position:relative;padding:0 .8rem;overflow:auto}.md-search-result__article--document:before{position:absolute;left:0;margin:.1rem;-webkit-transition:opacity .25s;transition:opacity .25s;color:rgba(0,0,0,.54);content:"\E880"}[dir=rtl] .md-search-result__article--document:before{right:0;left:auto}.md-search-result__article--document .md-search-result__title{margin:.55rem 0;font-size:.8rem;font-weight:400;line-height:1.4}.md-search-result__title{margin:.5em 0;font-size:.64rem;font-weight:700;line-height:1.4}.md-search-result__teaser{display:-webkit-box;max-height:1.65rem;margin:.5em 0;color:rgba(0,0,0,.54);font-size:.64rem;line-height:1.4;text-overflow:ellipsis;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:2}.md-search-result em{font-style:normal;font-weight:700;text-decoration:underline}.md-sidebar{position:absolute;width:12.1rem;padding:1.2rem 0;overflow:hidden}.md-sidebar[data-md-state=lock]{position:fixed;top:2.4rem}.md-sidebar--secondary{display:none}.md-sidebar__scrollwrap{max-height:100%;margin:0 .2rem;overflow-y:auto;-webkit-backface-visibility:hidden;backface-visibility:hidden}.md-sidebar__scrollwrap::-webkit-scrollbar{width:.2rem;height:.2rem}.md-sidebar__scrollwrap::-webkit-scrollbar-thumb{background-color:rgba(0,0,0,.26)}.md-sidebar__scrollwrap::-webkit-scrollbar-thumb:hover{background-color:#536dfe}@-webkit-keyframes md-source__facts--done{0%{height:0}to{height:.65rem}}@keyframes md-source__facts--done{0%{height:0}to{height:.65rem}}@-webkit-keyframes md-source__fact--done{0%{-webkit-transform:translateY(100%);transform:translateY(100%);opacity:0}50%{opacity:0}to{-webkit-transform:translateY(0);transform:translateY(0);opacity:1}}@keyframes md-source__fact--done{0%{-webkit-transform:translateY(100%);transform:translateY(100%);opacity:0}50%{opacity:0}to{-webkit-transform:translateY(0);transform:translateY(0);opacity:1}}.md-source{display:block;padding-right:.6rem;-webkit-transition:opacity .25s;transition:opacity .25s;font-size:.65rem;line-height:1.2;white-space:nowrap}[dir=rtl] .md-source{padding-right:0;padding-left:.6rem}.md-source:hover{opacity:.7}.md-source:after,.md-source__icon{display:inline-block;height:2.4rem;content:"";vertical-align:middle}.md-source__icon{width:2.4rem}.md-source__icon svg{width:1.2rem;height:1.2rem;margin-top:.6rem;margin-left:.6rem}[dir=rtl] .md-source__icon svg{margin-right:.6rem;margin-left:0}.md-source__icon+.md-source__repository{margin-left:-2rem;padding-left:2rem}[dir=rtl] .md-source__icon+.md-source__repository{margin-right:-2rem;margin-left:0;padding-right:2rem;padding-left:0}.md-source__repository{display:inline-block;max-width:100%;margin-left:.6rem;font-weight:700;text-overflow:ellipsis;overflow:hidden;vertical-align:middle}.md-source__facts{margin:0;padding:0;font-size:.55rem;font-weight:700;list-style-type:none;opacity:.75;overflow:hidden}[data-md-state=done] .md-source__facts{-webkit-animation:md-source__facts--done .25s ease-in;animation:md-source__facts--done .25s ease-in}.md-source__fact{float:left}[dir=rtl] .md-source__fact{float:right}[data-md-state=done] .md-source__fact{-webkit-animation:md-source__fact--done .4s ease-out;animation:md-source__fact--done .4s ease-out}.md-source__fact:before{margin:0 .1rem;content:"\00B7"}.md-source__fact:first-child:before{display:none}.md-source-file{display:inline-block;margin:1em .5em 1em 0;padding-right:.25rem;border-radius:.1rem;background-color:rgba(0,0,0,.07);font-size:.64rem;list-style-type:none;cursor:pointer;overflow:hidden}.md-source-file:before{display:inline-block;margin-right:.25rem;padding:.25rem;background-color:rgba(0,0,0,.26);color:#fff;font-size:.8rem;content:"\E86F";vertical-align:middle}html .md-source-file{-webkit-transition:background .4s,color .4s,box-shadow .4s cubic-bezier(.4,0,.2,1);transition:background .4s,color .4s,box-shadow .4s cubic-bezier(.4,0,.2,1)}html .md-source-file:before{-webkit-transition:inherit;transition:inherit}html body .md-typeset .md-source-file{color:rgba(0,0,0,.54)}.md-source-file:hover{box-shadow:0 0 8px rgba(0,0,0,.18),0 8px 16px rgba(0,0,0,.36)}.md-source-file:hover:before{background-color:#536dfe}.md-tabs{width:100%;-webkit-transition:background .25s;transition:background .25s;background-color:#3f51b5;color:#fff;overflow:auto}.md-tabs__list{margin:0 0 0 .2rem;padding:0;list-style:none;white-space:nowrap}.md-tabs__item{display:inline-block;height:2.4rem;padding-right:.6rem;padding-left:.6rem}.md-tabs__link{display:block;margin-top:.8rem;-webkit-transition:opacity .25s,-webkit-transform .4s cubic-bezier(.1,.7,.1,1);transition:opacity .25s,-webkit-transform .4s cubic-bezier(.1,.7,.1,1);transition:transform .4s cubic-bezier(.1,.7,.1,1),opacity .25s;transition:transform .4s cubic-bezier(.1,.7,.1,1),opacity .25s,-webkit-transform .4s cubic-bezier(.1,.7,.1,1);font-size:.7rem;opacity:.7}.md-tabs__link--active,.md-tabs__link:hover{color:inherit;opacity:1}.md-tabs__item:nth-child(2) .md-tabs__link{-webkit-transition-delay:.02s;transition-delay:.02s}.md-tabs__item:nth-child(3) .md-tabs__link{-webkit-transition-delay:.04s;transition-delay:.04s}.md-tabs__item:nth-child(4) .md-tabs__link{-webkit-transition-delay:.06s;transition-delay:.06s}.md-tabs__item:nth-child(5) .md-tabs__link{-webkit-transition-delay:.08s;transition-delay:.08s}.md-tabs__item:nth-child(6) .md-tabs__link{-webkit-transition-delay:.1s;transition-delay:.1s}.md-tabs__item:nth-child(7) .md-tabs__link{-webkit-transition-delay:.12s;transition-delay:.12s}.md-tabs__item:nth-child(8) .md-tabs__link{-webkit-transition-delay:.14s;transition-delay:.14s}.md-tabs__item:nth-child(9) .md-tabs__link{-webkit-transition-delay:.16s;transition-delay:.16s}.md-tabs__item:nth-child(10) .md-tabs__link{-webkit-transition-delay:.18s;transition-delay:.18s}.md-tabs__item:nth-child(11) .md-tabs__link{-webkit-transition-delay:.2s;transition-delay:.2s}.md-tabs__item:nth-child(12) .md-tabs__link{-webkit-transition-delay:.22s;transition-delay:.22s}.md-tabs__item:nth-child(13) .md-tabs__link{-webkit-transition-delay:.24s;transition-delay:.24s}.md-tabs__item:nth-child(14) .md-tabs__link{-webkit-transition-delay:.26s;transition-delay:.26s}.md-tabs__item:nth-child(15) .md-tabs__link{-webkit-transition-delay:.28s;transition-delay:.28s}.md-tabs__item:nth-child(16) .md-tabs__link{-webkit-transition-delay:.3s;transition-delay:.3s}.md-tabs[data-md-state=hidden]{pointer-events:none}.md-tabs[data-md-state=hidden] .md-tabs__link{-webkit-transform:translateY(50%);transform:translateY(50%);-webkit-transition:color .25s,opacity .1s,-webkit-transform 0s .4s;transition:color .25s,opacity .1s,-webkit-transform 0s .4s;transition:color .25s,transform 0s .4s,opacity .1s;transition:color .25s,transform 0s .4s,opacity .1s,-webkit-transform 0s .4s;opacity:0}.md-typeset .admonition,.md-typeset details{box-shadow:0 2px 2px 0 rgba(0,0,0,.14),0 1px 5px 0 rgba(0,0,0,.12),0 3px 1px -2px rgba(0,0,0,.2);position:relative;margin:1.5625em 0;padding:0 .6rem;border-left:.2rem solid #448aff;border-radius:.1rem;font-size:.64rem;overflow:auto}[dir=rtl] .md-typeset .admonition,[dir=rtl] .md-typeset details{border-right:.2rem solid #448aff;border-left:none}html .md-typeset .admonition>:last-child,html .md-typeset details>:last-child{margin-bottom:.6rem}.md-typeset .admonition .admonition,.md-typeset .admonition details,.md-typeset details .admonition,.md-typeset details details{margin:1em 0}.md-typeset .admonition>.admonition-title,.md-typeset .admonition>summary,.md-typeset details>.admonition-title,.md-typeset details>summary{margin:0 -.6rem;padding:.4rem .6rem .4rem 2rem;border-bottom:.05rem solid rgba(68,138,255,.1);background-color:rgba(68,138,255,.1);font-weight:700}[dir=rtl] .md-typeset .admonition>.admonition-title,[dir=rtl] .md-typeset .admonition>summary,[dir=rtl] .md-typeset details>.admonition-title,[dir=rtl] .md-typeset details>summary{padding:.4rem 2rem .4rem .6rem}.md-typeset .admonition>.admonition-title:last-child,.md-typeset .admonition>summary:last-child,.md-typeset details>.admonition-title:last-child,.md-typeset details>summary:last-child{margin-bottom:0}.md-typeset .admonition>.admonition-title:before,.md-typeset .admonition>summary:before,.md-typeset details>.admonition-title:before,.md-typeset details>summary:before{position:absolute;left:.6rem;color:#448aff;font-size:1rem;content:"\E3C9"}[dir=rtl] .md-typeset .admonition>.admonition-title:before,[dir=rtl] .md-typeset .admonition>summary:before,[dir=rtl] .md-typeset details>.admonition-title:before,[dir=rtl] .md-typeset details>summary:before{right:.6rem;left:auto}.md-typeset .admonition.abstract,.md-typeset .admonition.summary,.md-typeset .admonition.tldr,.md-typeset details.abstract,.md-typeset details.summary,.md-typeset details.tldr{border-left-color:#00b0ff}[dir=rtl] .md-typeset .admonition.abstract,[dir=rtl] .md-typeset .admonition.summary,[dir=rtl] .md-typeset .admonition.tldr,[dir=rtl] .md-typeset details.abstract,[dir=rtl] .md-typeset details.summary,[dir=rtl] .md-typeset details.tldr{border-right-color:#00b0ff}.md-typeset .admonition.abstract>.admonition-title,.md-typeset .admonition.abstract>summary,.md-typeset .admonition.summary>.admonition-title,.md-typeset .admonition.summary>summary,.md-typeset .admonition.tldr>.admonition-title,.md-typeset .admonition.tldr>summary,.md-typeset details.abstract>.admonition-title,.md-typeset details.abstract>summary,.md-typeset details.summary>.admonition-title,.md-typeset details.summary>summary,.md-typeset details.tldr>.admonition-title,.md-typeset details.tldr>summary{border-bottom-color:rgba(0,176,255,.1);background-color:rgba(0,176,255,.1)}.md-typeset .admonition.abstract>.admonition-title:before,.md-typeset .admonition.abstract>summary:before,.md-typeset .admonition.summary>.admonition-title:before,.md-typeset .admonition.summary>summary:before,.md-typeset .admonition.tldr>.admonition-title:before,.md-typeset .admonition.tldr>summary:before,.md-typeset details.abstract>.admonition-title:before,.md-typeset details.abstract>summary:before,.md-typeset details.summary>.admonition-title:before,.md-typeset details.summary>summary:before,.md-typeset details.tldr>.admonition-title:before,.md-typeset details.tldr>summary:before{color:#00b0ff;content:""}.md-typeset .admonition.info,.md-typeset .admonition.todo,.md-typeset details.info,.md-typeset details.todo{border-left-color:#00b8d4}[dir=rtl] .md-typeset .admonition.info,[dir=rtl] .md-typeset .admonition.todo,[dir=rtl] .md-typeset details.info,[dir=rtl] .md-typeset details.todo{border-right-color:#00b8d4}.md-typeset .admonition.info>.admonition-title,.md-typeset .admonition.info>summary,.md-typeset .admonition.todo>.admonition-title,.md-typeset .admonition.todo>summary,.md-typeset details.info>.admonition-title,.md-typeset details.info>summary,.md-typeset details.todo>.admonition-title,.md-typeset details.todo>summary{border-bottom-color:rgba(0,184,212,.1);background-color:rgba(0,184,212,.1)}.md-typeset .admonition.info>.admonition-title:before,.md-typeset .admonition.info>summary:before,.md-typeset .admonition.todo>.admonition-title:before,.md-typeset .admonition.todo>summary:before,.md-typeset details.info>.admonition-title:before,.md-typeset details.info>summary:before,.md-typeset details.todo>.admonition-title:before,.md-typeset details.todo>summary:before{color:#00b8d4;content:""}.md-typeset .admonition.hint,.md-typeset .admonition.important,.md-typeset .admonition.tip,.md-typeset details.hint,.md-typeset details.important,.md-typeset details.tip{border-left-color:#00bfa5}[dir=rtl] .md-typeset .admonition.hint,[dir=rtl] .md-typeset .admonition.important,[dir=rtl] .md-typeset .admonition.tip,[dir=rtl] .md-typeset details.hint,[dir=rtl] .md-typeset details.important,[dir=rtl] .md-typeset details.tip{border-right-color:#00bfa5}.md-typeset .admonition.hint>.admonition-title,.md-typeset .admonition.hint>summary,.md-typeset .admonition.important>.admonition-title,.md-typeset .admonition.important>summary,.md-typeset .admonition.tip>.admonition-title,.md-typeset .admonition.tip>summary,.md-typeset details.hint>.admonition-title,.md-typeset details.hint>summary,.md-typeset details.important>.admonition-title,.md-typeset details.important>summary,.md-typeset details.tip>.admonition-title,.md-typeset details.tip>summary{border-bottom-color:rgba(0,191,165,.1);background-color:rgba(0,191,165,.1)}.md-typeset .admonition.hint>.admonition-title:before,.md-typeset .admonition.hint>summary:before,.md-typeset .admonition.important>.admonition-title:before,.md-typeset .admonition.important>summary:before,.md-typeset .admonition.tip>.admonition-title:before,.md-typeset .admonition.tip>summary:before,.md-typeset details.hint>.admonition-title:before,.md-typeset details.hint>summary:before,.md-typeset details.important>.admonition-title:before,.md-typeset details.important>summary:before,.md-typeset details.tip>.admonition-title:before,.md-typeset details.tip>summary:before{color:#00bfa5;content:""}.md-typeset .admonition.check,.md-typeset .admonition.done,.md-typeset .admonition.success,.md-typeset details.check,.md-typeset details.done,.md-typeset details.success{border-left-color:#00c853}[dir=rtl] .md-typeset .admonition.check,[dir=rtl] .md-typeset .admonition.done,[dir=rtl] .md-typeset .admonition.success,[dir=rtl] .md-typeset details.check,[dir=rtl] .md-typeset details.done,[dir=rtl] .md-typeset details.success{border-right-color:#00c853}.md-typeset .admonition.check>.admonition-title,.md-typeset .admonition.check>summary,.md-typeset .admonition.done>.admonition-title,.md-typeset .admonition.done>summary,.md-typeset .admonition.success>.admonition-title,.md-typeset .admonition.success>summary,.md-typeset details.check>.admonition-title,.md-typeset details.check>summary,.md-typeset details.done>.admonition-title,.md-typeset details.done>summary,.md-typeset details.success>.admonition-title,.md-typeset details.success>summary{border-bottom-color:rgba(0,200,83,.1);background-color:rgba(0,200,83,.1)}.md-typeset .admonition.check>.admonition-title:before,.md-typeset .admonition.check>summary:before,.md-typeset .admonition.done>.admonition-title:before,.md-typeset .admonition.done>summary:before,.md-typeset .admonition.success>.admonition-title:before,.md-typeset .admonition.success>summary:before,.md-typeset details.check>.admonition-title:before,.md-typeset details.check>summary:before,.md-typeset details.done>.admonition-title:before,.md-typeset details.done>summary:before,.md-typeset details.success>.admonition-title:before,.md-typeset details.success>summary:before{color:#00c853;content:""}.md-typeset .admonition.faq,.md-typeset .admonition.help,.md-typeset .admonition.question,.md-typeset details.faq,.md-typeset details.help,.md-typeset details.question{border-left-color:#64dd17}[dir=rtl] .md-typeset .admonition.faq,[dir=rtl] .md-typeset .admonition.help,[dir=rtl] .md-typeset .admonition.question,[dir=rtl] .md-typeset details.faq,[dir=rtl] .md-typeset details.help,[dir=rtl] .md-typeset details.question{border-right-color:#64dd17}.md-typeset .admonition.faq>.admonition-title,.md-typeset .admonition.faq>summary,.md-typeset .admonition.help>.admonition-title,.md-typeset .admonition.help>summary,.md-typeset .admonition.question>.admonition-title,.md-typeset .admonition.question>summary,.md-typeset details.faq>.admonition-title,.md-typeset details.faq>summary,.md-typeset details.help>.admonition-title,.md-typeset details.help>summary,.md-typeset details.question>.admonition-title,.md-typeset details.question>summary{border-bottom-color:rgba(100,221,23,.1);background-color:rgba(100,221,23,.1)}.md-typeset .admonition.faq>.admonition-title:before,.md-typeset .admonition.faq>summary:before,.md-typeset .admonition.help>.admonition-title:before,.md-typeset .admonition.help>summary:before,.md-typeset .admonition.question>.admonition-title:before,.md-typeset .admonition.question>summary:before,.md-typeset details.faq>.admonition-title:before,.md-typeset details.faq>summary:before,.md-typeset details.help>.admonition-title:before,.md-typeset details.help>summary:before,.md-typeset details.question>.admonition-title:before,.md-typeset details.question>summary:before{color:#64dd17;content:""}.md-typeset .admonition.attention,.md-typeset .admonition.caution,.md-typeset .admonition.warning,.md-typeset details.attention,.md-typeset details.caution,.md-typeset details.warning{border-left-color:#ff9100}[dir=rtl] .md-typeset .admonition.attention,[dir=rtl] .md-typeset .admonition.caution,[dir=rtl] .md-typeset .admonition.warning,[dir=rtl] .md-typeset details.attention,[dir=rtl] .md-typeset details.caution,[dir=rtl] .md-typeset details.warning{border-right-color:#ff9100}.md-typeset .admonition.attention>.admonition-title,.md-typeset .admonition.attention>summary,.md-typeset .admonition.caution>.admonition-title,.md-typeset .admonition.caution>summary,.md-typeset .admonition.warning>.admonition-title,.md-typeset .admonition.warning>summary,.md-typeset details.attention>.admonition-title,.md-typeset details.attention>summary,.md-typeset details.caution>.admonition-title,.md-typeset details.caution>summary,.md-typeset details.warning>.admonition-title,.md-typeset details.warning>summary{border-bottom-color:rgba(255,145,0,.1);background-color:rgba(255,145,0,.1)}.md-typeset .admonition.attention>.admonition-title:before,.md-typeset .admonition.attention>summary:before,.md-typeset .admonition.caution>.admonition-title:before,.md-typeset .admonition.caution>summary:before,.md-typeset .admonition.warning>.admonition-title:before,.md-typeset .admonition.warning>summary:before,.md-typeset details.attention>.admonition-title:before,.md-typeset details.attention>summary:before,.md-typeset details.caution>.admonition-title:before,.md-typeset details.caution>summary:before,.md-typeset details.warning>.admonition-title:before,.md-typeset details.warning>summary:before{color:#ff9100;content:""}.md-typeset .admonition.fail,.md-typeset .admonition.failure,.md-typeset .admonition.missing,.md-typeset details.fail,.md-typeset details.failure,.md-typeset details.missing{border-left-color:#ff5252}[dir=rtl] .md-typeset .admonition.fail,[dir=rtl] .md-typeset .admonition.failure,[dir=rtl] .md-typeset .admonition.missing,[dir=rtl] .md-typeset details.fail,[dir=rtl] .md-typeset details.failure,[dir=rtl] .md-typeset details.missing{border-right-color:#ff5252}.md-typeset .admonition.fail>.admonition-title,.md-typeset .admonition.fail>summary,.md-typeset .admonition.failure>.admonition-title,.md-typeset .admonition.failure>summary,.md-typeset .admonition.missing>.admonition-title,.md-typeset .admonition.missing>summary,.md-typeset details.fail>.admonition-title,.md-typeset details.fail>summary,.md-typeset details.failure>.admonition-title,.md-typeset details.failure>summary,.md-typeset details.missing>.admonition-title,.md-typeset details.missing>summary{border-bottom-color:rgba(255,82,82,.1);background-color:rgba(255,82,82,.1)}.md-typeset .admonition.fail>.admonition-title:before,.md-typeset .admonition.fail>summary:before,.md-typeset .admonition.failure>.admonition-title:before,.md-typeset .admonition.failure>summary:before,.md-typeset .admonition.missing>.admonition-title:before,.md-typeset .admonition.missing>summary:before,.md-typeset details.fail>.admonition-title:before,.md-typeset details.fail>summary:before,.md-typeset details.failure>.admonition-title:before,.md-typeset details.failure>summary:before,.md-typeset details.missing>.admonition-title:before,.md-typeset details.missing>summary:before{color:#ff5252;content:""}.md-typeset .admonition.danger,.md-typeset .admonition.error,.md-typeset details.danger,.md-typeset details.error{border-left-color:#ff1744}[dir=rtl] .md-typeset .admonition.danger,[dir=rtl] .md-typeset .admonition.error,[dir=rtl] .md-typeset details.danger,[dir=rtl] .md-typeset details.error{border-right-color:#ff1744}.md-typeset .admonition.danger>.admonition-title,.md-typeset .admonition.danger>summary,.md-typeset .admonition.error>.admonition-title,.md-typeset .admonition.error>summary,.md-typeset details.danger>.admonition-title,.md-typeset details.danger>summary,.md-typeset details.error>.admonition-title,.md-typeset details.error>summary{border-bottom-color:rgba(255,23,68,.1);background-color:rgba(255,23,68,.1)}.md-typeset .admonition.danger>.admonition-title:before,.md-typeset .admonition.danger>summary:before,.md-typeset .admonition.error>.admonition-title:before,.md-typeset .admonition.error>summary:before,.md-typeset details.danger>.admonition-title:before,.md-typeset details.danger>summary:before,.md-typeset details.error>.admonition-title:before,.md-typeset details.error>summary:before{color:#ff1744;content:""}.md-typeset .admonition.bug,.md-typeset details.bug{border-left-color:#f50057}[dir=rtl] .md-typeset .admonition.bug,[dir=rtl] .md-typeset details.bug{border-right-color:#f50057}.md-typeset .admonition.bug>.admonition-title,.md-typeset .admonition.bug>summary,.md-typeset details.bug>.admonition-title,.md-typeset details.bug>summary{border-bottom-color:rgba(245,0,87,.1);background-color:rgba(245,0,87,.1)}.md-typeset .admonition.bug>.admonition-title:before,.md-typeset .admonition.bug>summary:before,.md-typeset details.bug>.admonition-title:before,.md-typeset details.bug>summary:before{color:#f50057;content:""}.md-typeset .admonition.example,.md-typeset details.example{border-left-color:#651fff}[dir=rtl] .md-typeset .admonition.example,[dir=rtl] .md-typeset details.example{border-right-color:#651fff}.md-typeset .admonition.example>.admonition-title,.md-typeset .admonition.example>summary,.md-typeset details.example>.admonition-title,.md-typeset details.example>summary{border-bottom-color:rgba(101,31,255,.1);background-color:rgba(101,31,255,.1)}.md-typeset .admonition.example>.admonition-title:before,.md-typeset .admonition.example>summary:before,.md-typeset details.example>.admonition-title:before,.md-typeset details.example>summary:before{color:#651fff;content:""}.md-typeset .admonition.cite,.md-typeset .admonition.quote,.md-typeset details.cite,.md-typeset details.quote{border-left-color:#9e9e9e}[dir=rtl] .md-typeset .admonition.cite,[dir=rtl] .md-typeset .admonition.quote,[dir=rtl] .md-typeset details.cite,[dir=rtl] .md-typeset details.quote{border-right-color:#9e9e9e}.md-typeset .admonition.cite>.admonition-title,.md-typeset .admonition.cite>summary,.md-typeset .admonition.quote>.admonition-title,.md-typeset .admonition.quote>summary,.md-typeset details.cite>.admonition-title,.md-typeset details.cite>summary,.md-typeset details.quote>.admonition-title,.md-typeset details.quote>summary{border-bottom-color:hsla(0,0%,62%,.1);background-color:hsla(0,0%,62%,.1)}.md-typeset .admonition.cite>.admonition-title:before,.md-typeset .admonition.cite>summary:before,.md-typeset .admonition.quote>.admonition-title:before,.md-typeset .admonition.quote>summary:before,.md-typeset details.cite>.admonition-title:before,.md-typeset details.cite>summary:before,.md-typeset details.quote>.admonition-title:before,.md-typeset details.quote>summary:before{color:#9e9e9e;content:""}.codehilite .o,.codehilite .ow,.md-typeset .highlight .o,.md-typeset .highlight .ow{color:inherit}.codehilite .ge,.md-typeset .highlight .ge{color:#000}.codehilite .gr,.md-typeset .highlight .gr{color:#a00}.codehilite .gh,.md-typeset .highlight .gh{color:#999}.codehilite .go,.md-typeset .highlight .go{color:#888}.codehilite .gp,.md-typeset .highlight .gp{color:#555}.codehilite .gs,.md-typeset .highlight .gs{color:inherit}.codehilite .gu,.md-typeset .highlight .gu{color:#aaa}.codehilite .gt,.md-typeset .highlight .gt{color:#a00}.codehilite .gd,.md-typeset .highlight .gd{background-color:#fdd}.codehilite .gi,.md-typeset .highlight .gi{background-color:#dfd}.codehilite .k,.md-typeset .highlight .k{color:#3b78e7}.codehilite .kc,.md-typeset .highlight .kc{color:#a71d5d}.codehilite .kd,.codehilite .kn,.md-typeset .highlight .kd,.md-typeset .highlight .kn{color:#3b78e7}.codehilite .kp,.md-typeset .highlight .kp{color:#a71d5d}.codehilite .kr,.codehilite .kt,.md-typeset .highlight .kr,.md-typeset .highlight .kt{color:#3e61a2}.codehilite .c,.codehilite .cm,.md-typeset .highlight .c,.md-typeset .highlight .cm{color:#999}.codehilite .cp,.md-typeset .highlight .cp{color:#666}.codehilite .c1,.codehilite .ch,.codehilite .cs,.md-typeset .highlight .c1,.md-typeset .highlight .ch,.md-typeset .highlight .cs{color:#999}.codehilite .na,.codehilite .nb,.md-typeset .highlight .na,.md-typeset .highlight .nb{color:#c2185b}.codehilite .bp,.md-typeset .highlight .bp{color:#3e61a2}.codehilite .nc,.md-typeset .highlight .nc{color:#c2185b}.codehilite .no,.md-typeset .highlight .no{color:#3e61a2}.codehilite .nd,.codehilite .ni,.md-typeset .highlight .nd,.md-typeset .highlight .ni{color:#666}.codehilite .ne,.codehilite .nf,.md-typeset .highlight .ne,.md-typeset .highlight .nf{color:#c2185b}.codehilite .nl,.md-typeset .highlight .nl{color:#3b5179}.codehilite .nn,.md-typeset .highlight .nn{color:#ec407a}.codehilite .nt,.md-typeset .highlight .nt{color:#3b78e7}.codehilite .nv,.codehilite .vc,.codehilite .vg,.codehilite .vi,.md-typeset .highlight .nv,.md-typeset .highlight .vc,.md-typeset .highlight .vg,.md-typeset .highlight .vi{color:#3e61a2}.codehilite .nx,.md-typeset .highlight .nx{color:#ec407a}.codehilite .il,.codehilite .m,.codehilite .mf,.codehilite .mh,.codehilite .mi,.codehilite .mo,.md-typeset .highlight .il,.md-typeset .highlight .m,.md-typeset .highlight .mf,.md-typeset .highlight .mh,.md-typeset .highlight .mi,.md-typeset .highlight .mo{color:#e74c3c}.codehilite .s,.codehilite .sb,.codehilite .sc,.md-typeset .highlight .s,.md-typeset .highlight .sb,.md-typeset .highlight .sc{color:#0d904f}.codehilite .sd,.md-typeset .highlight .sd{color:#999}.codehilite .s2,.md-typeset .highlight .s2{color:#0d904f}.codehilite .se,.codehilite .sh,.codehilite .si,.codehilite .sx,.md-typeset .highlight .se,.md-typeset .highlight .sh,.md-typeset .highlight .si,.md-typeset .highlight .sx{color:#183691}.codehilite .sr,.md-typeset .highlight .sr{color:#009926}.codehilite .s1,.codehilite .ss,.md-typeset .highlight .s1,.md-typeset .highlight .ss{color:#0d904f}.codehilite .err,.md-typeset .highlight .err{color:#a61717}.codehilite .w,.md-typeset .highlight .w{color:transparent}.codehilite .hll,.md-typeset .highlight .hll{display:block;margin:0 -.6rem;padding:0 .6rem;background-color:rgba(255,235,59,.5)}.md-typeset .codehilitetable,.md-typeset .highlighttable{display:block;overflow:hidden}.md-typeset .codehilitetable tbody,.md-typeset .codehilitetable td,.md-typeset .highlighttable tbody,.md-typeset .highlighttable td{display:block;padding:0}.md-typeset .codehilitetable tr,.md-typeset .highlighttable tr{display:-webkit-box;display:flex}.md-typeset .codehilitetable .linenodiv,.md-typeset .codehilitetable pre,.md-typeset .highlighttable .linenodiv,.md-typeset .highlighttable pre{margin:0;border-radius:0}.md-typeset .codehilitetable .linenodiv,.md-typeset .highlighttable .linenodiv{padding:.525rem .6rem}.md-typeset .codehilitetable .linenos,.md-typeset .highlighttable .linenos{background-color:rgba(0,0,0,.07);color:rgba(0,0,0,.26);-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.md-typeset .codehilitetable .linenos pre,.md-typeset .highlighttable .linenos pre{background-color:transparent;color:inherit;text-align:right}.md-typeset .codehilitetable .code,.md-typeset .highlighttable .code{-webkit-box-flex:1;flex:1;overflow:hidden}.md-typeset>.codehilitetable,.md-typeset>.highlighttable{margin:1em 0;border-radius:.2em}.md-typeset [id^="fnref:"]{display:inline-block}.md-typeset [id^="fnref:"]:target{margin-top:-3.8rem;padding-top:3.8rem;pointer-events:none}.md-typeset [id^="fn:"]:before{display:none;height:0;content:""}.md-typeset [id^="fn:"]:target:before{display:block;margin-top:-3.5rem;padding-top:3.5rem;pointer-events:none}.md-typeset .footnote{color:rgba(0,0,0,.54);font-size:.64rem}.md-typeset .footnote ol{margin-left:0}.md-typeset .footnote li{-webkit-transition:color .25s;transition:color .25s}.md-typeset .footnote li:target{color:rgba(0,0,0,.87)}.md-typeset .footnote li :first-child{margin-top:0}.md-typeset .footnote li:hover .footnote-backref,.md-typeset .footnote li:target .footnote-backref{-webkit-transform:translateX(0);transform:translateX(0);opacity:1}.md-typeset .footnote li:hover .footnote-backref:hover,.md-typeset .footnote li:target .footnote-backref{color:#536dfe}.md-typeset .footnote-ref{display:inline-block;pointer-events:auto}.md-typeset .footnote-ref:before{display:inline;margin:0 .2em;border-left:.05rem solid rgba(0,0,0,.26);font-size:1.25em;content:"";vertical-align:-.25rem}.md-typeset .footnote-backref{display:inline-block;-webkit-transform:translateX(.25rem);transform:translateX(.25rem);-webkit-transition:color .25s,opacity .125s .125s,-webkit-transform .25s .125s;transition:color .25s,opacity .125s .125s,-webkit-transform .25s .125s;transition:transform .25s .125s,color .25s,opacity .125s .125s;transition:transform .25s .125s,color .25s,opacity .125s .125s,-webkit-transform .25s .125s;color:rgba(0,0,0,.26);font-size:0;opacity:0;vertical-align:text-bottom}[dir=rtl] .md-typeset .footnote-backref{-webkit-transform:translateX(-.25rem);transform:translateX(-.25rem)}.md-typeset .footnote-backref:before{display:inline-block;font-size:.8rem;content:"\E31B"}[dir=rtl] .md-typeset .footnote-backref:before{-webkit-transform:scaleX(-1);transform:scaleX(-1)}.md-typeset .headerlink{display:inline-block;margin-left:.5rem;-webkit-transform:translateY(.25rem);transform:translateY(.25rem);-webkit-transition:color .25s,opacity .125s .25s,-webkit-transform .25s .25s;transition:color .25s,opacity .125s .25s,-webkit-transform .25s .25s;transition:transform .25s .25s,color .25s,opacity .125s .25s;transition:transform .25s .25s,color .25s,opacity .125s .25s,-webkit-transform .25s .25s;opacity:0}[dir=rtl] .md-typeset .headerlink{margin-right:.5rem;margin-left:0}html body .md-typeset .headerlink{color:rgba(0,0,0,.26)}.md-typeset h1[id]:before{display:block;margin-top:-9px;padding-top:9px;content:""}.md-typeset h1[id]:target:before{margin-top:-3.45rem;padding-top:3.45rem}.md-typeset h1[id] .headerlink:focus,.md-typeset h1[id]:hover .headerlink,.md-typeset h1[id]:target .headerlink{-webkit-transform:translate(0);transform:translate(0);opacity:1}.md-typeset h1[id] .headerlink:focus,.md-typeset h1[id]:hover .headerlink:hover,.md-typeset h1[id]:target .headerlink{color:#536dfe}.md-typeset h2[id]:before{display:block;margin-top:-8px;padding-top:8px;content:""}.md-typeset h2[id]:target:before{margin-top:-3.4rem;padding-top:3.4rem}.md-typeset h2[id] .headerlink:focus,.md-typeset h2[id]:hover .headerlink,.md-typeset h2[id]:target .headerlink{-webkit-transform:translate(0);transform:translate(0);opacity:1}.md-typeset h2[id] .headerlink:focus,.md-typeset h2[id]:hover .headerlink:hover,.md-typeset h2[id]:target .headerlink{color:#536dfe}.md-typeset h3[id]:before{display:block;margin-top:-9px;padding-top:9px;content:""}.md-typeset h3[id]:target:before{margin-top:-3.45rem;padding-top:3.45rem}.md-typeset h3[id] .headerlink:focus,.md-typeset h3[id]:hover .headerlink,.md-typeset h3[id]:target .headerlink{-webkit-transform:translate(0);transform:translate(0);opacity:1}.md-typeset h3[id] .headerlink:focus,.md-typeset h3[id]:hover .headerlink:hover,.md-typeset h3[id]:target .headerlink{color:#536dfe}.md-typeset h4[id]:before{display:block;margin-top:-9px;padding-top:9px;content:""}.md-typeset h4[id]:target:before{margin-top:-3.45rem;padding-top:3.45rem}.md-typeset h4[id] .headerlink:focus,.md-typeset h4[id]:hover .headerlink,.md-typeset h4[id]:target .headerlink{-webkit-transform:translate(0);transform:translate(0);opacity:1}.md-typeset h4[id] .headerlink:focus,.md-typeset h4[id]:hover .headerlink:hover,.md-typeset h4[id]:target .headerlink{color:#536dfe}.md-typeset h5[id]:before{display:block;margin-top:-11px;padding-top:11px;content:""}.md-typeset h5[id]:target:before{margin-top:-3.55rem;padding-top:3.55rem}.md-typeset h5[id] .headerlink:focus,.md-typeset h5[id]:hover .headerlink,.md-typeset h5[id]:target .headerlink{-webkit-transform:translate(0);transform:translate(0);opacity:1}.md-typeset h5[id] .headerlink:focus,.md-typeset h5[id]:hover .headerlink:hover,.md-typeset h5[id]:target .headerlink{color:#536dfe}.md-typeset h6[id]:before{display:block;margin-top:-11px;padding-top:11px;content:""}.md-typeset h6[id]:target:before{margin-top:-3.55rem;padding-top:3.55rem}.md-typeset h6[id] .headerlink:focus,.md-typeset h6[id]:hover .headerlink,.md-typeset h6[id]:target .headerlink{-webkit-transform:translate(0);transform:translate(0);opacity:1}.md-typeset h6[id] .headerlink:focus,.md-typeset h6[id]:hover .headerlink:hover,.md-typeset h6[id]:target .headerlink{color:#536dfe}.md-typeset .MJXc-display{margin:.75em 0;padding:.75em 0;overflow:auto;-webkit-overflow-scrolling:touch}.md-typeset .MathJax_CHTML{outline:0}.md-typeset .critic.comment,.md-typeset del.critic,.md-typeset ins.critic{margin:0 .25em;padding:.0625em 0;border-radius:.1rem;-webkit-box-decoration-break:clone;box-decoration-break:clone}.md-typeset del.critic{background-color:#fdd;box-shadow:.25em 0 0 #fdd,-.25em 0 0 #fdd}.md-typeset ins.critic{background-color:#dfd;box-shadow:.25em 0 0 #dfd,-.25em 0 0 #dfd}.md-typeset .critic.comment{background-color:hsla(0,0%,92.5%,.5);color:#37474f;box-shadow:.25em 0 0 hsla(0,0%,92.5%,.5),-.25em 0 0 hsla(0,0%,92.5%,.5)}.md-typeset .critic.comment:before{padding-right:.125em;color:rgba(0,0,0,.26);content:"\E0B7";vertical-align:-.125em}.md-typeset .critic.block{display:block;margin:1em 0;padding-right:.8rem;padding-left:.8rem;box-shadow:none}.md-typeset .critic.block :first-child{margin-top:.5em}.md-typeset .critic.block :last-child{margin-bottom:.5em}.md-typeset details{display:block;padding-top:0}.md-typeset details[open]>summary:after{-webkit-transform:rotate(180deg);transform:rotate(180deg)}.md-typeset details:not([open]){padding-bottom:0}.md-typeset details:not([open])>summary{border-bottom:none}.md-typeset details summary{padding-right:2rem}[dir=rtl] .md-typeset details summary{padding-left:2rem}.no-details .md-typeset details:not([open])>*{display:none}.no-details .md-typeset details:not([open]) summary{display:block}.md-typeset summary{display:block;outline:none;cursor:pointer}.md-typeset summary::-webkit-details-marker{display:none}.md-typeset summary:after{position:absolute;top:.4rem;right:.6rem;color:rgba(0,0,0,.26);font-size:1rem;content:"\E313"}[dir=rtl] .md-typeset summary:after{right:auto;left:.6rem}.md-typeset .emojione,.md-typeset .gemoji,.md-typeset .twemoji{width:1rem;vertical-align:text-top}.md-typeset code.codehilite,.md-typeset code.highlight{margin:0 .29412em;padding:.07353em 0}.md-typeset .superfences-content{display:none;-webkit-box-ordinal-group:100;order:99;width:100%;background-color:#fff}.md-typeset .superfences-content pre{margin:0;border-radius:0}.md-typeset .superfences-tabs{display:-webkit-box;display:flex;position:relative;flex-wrap:wrap;margin:1em 0;border:.05rem solid rgba(0,0,0,.07);border-radius:.2em}.md-typeset .superfences-tabs>input{display:none}.md-typeset .superfences-tabs>input:checked+label{font-weight:700}.md-typeset .superfences-tabs>input:checked+label+.superfences-content{display:block}.md-typeset .superfences-tabs>label{width:auto;padding:.6rem;-webkit-transition:color .125s;transition:color .125s;font-size:.64rem;cursor:pointer}html .md-typeset .superfences-tabs>label:hover{color:#536dfe}.md-typeset .task-list-item{position:relative;list-style-type:none}.md-typeset .task-list-item [type=checkbox]{position:absolute;top:.45em;left:-2em}[dir=rtl] .md-typeset .task-list-item [type=checkbox]{right:-2em;left:auto}.md-typeset .task-list-control .task-list-indicator:before{position:absolute;top:.15em;left:-1.25em;color:rgba(0,0,0,.26);font-size:1.25em;content:"\E835";vertical-align:-.25em}[dir=rtl] .md-typeset .task-list-control .task-list-indicator:before{right:-1.25em;left:auto}.md-typeset .task-list-control [type=checkbox]:checked+.task-list-indicator:before{content:"\E834"}.md-typeset .task-list-control [type=checkbox]{opacity:0;z-index:-1}@media print{.md-typeset a:after{color:rgba(0,0,0,.54);content:" [" attr(href) "]"}.md-typeset code,.md-typeset pre{white-space:pre-wrap}.md-typeset code{box-shadow:none;-webkit-box-decoration-break:initial;box-decoration-break:slice}.md-clipboard,.md-content__icon,.md-footer,.md-header,.md-sidebar,.md-tabs,.md-typeset .headerlink{display:none}}@media only screen and (max-width:44.9375em){.md-typeset>pre{margin:1em -.8rem;border-radius:0}.md-typeset>pre>code{padding:.525rem .8rem}.md-footer-nav__link--prev .md-footer-nav__title{display:none}.md-search-result__teaser{max-height:2.5rem;-webkit-line-clamp:3}.codehilite .hll,.md-typeset .highlight .hll{margin:0 -.8rem;padding:0 .8rem}.md-typeset>.codehilite,.md-typeset>.highlight{margin:1em -.8rem}.md-typeset>.codehilite code,.md-typeset>.highlight code{padding:.525rem .8rem}.md-typeset>.codehilitetable,.md-typeset>.highlighttable{margin:1em -.8rem;border-radius:0}.md-typeset>.codehilitetable .linenodiv,.md-typeset>.highlighttable .linenodiv{padding:.5rem .8rem}.md-typeset>p>.MJXc-display{margin:.75em -.8rem;padding:.25em .8rem}.md-typeset>.superfences-tabs{margin:1em -.8rem;border:0;border-top:.05rem solid rgba(0,0,0,.07);border-radius:0}.md-typeset>.superfences-tabs input:first-child+label{margin-left:.2rem}}@media only screen and (min-width:100em){html{font-size:137.5%}}@media only screen and (min-width:125em){html{font-size:150%}}@media only screen and (max-width:59.9375em){body[data-md-state=lock]{overflow:hidden}.ios body[data-md-state=lock] .md-container{display:none}html .md-nav__link[for=__toc]{display:block;padding-right:2.4rem}html .md-nav__link[for=__toc]:after{color:inherit;content:"\E8DE"}html .md-nav__link[for=__toc]+.md-nav__link{display:none}html .md-nav__link[for=__toc]~.md-nav{display:-webkit-box;display:flex}html [dir=rtl] .md-nav__link{padding-right:.8rem;padding-left:2.4rem}.md-nav__source{display:block;padding:0 .2rem;background-color:rgba(50,64,144,.9675);color:#fff}.md-search__overlay{position:absolute;top:.2rem;left:.2rem;width:1.8rem;height:1.8rem;-webkit-transform-origin:center;transform-origin:center;-webkit-transition:opacity .2s .2s,-webkit-transform .3s .1s;transition:opacity .2s .2s,-webkit-transform .3s .1s;transition:transform .3s .1s,opacity .2s .2s;transition:transform .3s .1s,opacity .2s .2s,-webkit-transform .3s .1s;border-radius:1rem;background-color:#fff;overflow:hidden;pointer-events:none}[dir=rtl] .md-search__overlay{right:.2rem;left:auto}[data-md-toggle=search]:checked~.md-header .md-search__overlay{-webkit-transition:opacity .1s,-webkit-transform .4s;transition:opacity .1s,-webkit-transform .4s;transition:transform .4s,opacity .1s;transition:transform .4s,opacity .1s,-webkit-transform .4s;opacity:1}.md-search__inner{position:fixed;top:0;left:100%;width:100%;height:100%;-webkit-transform:translateX(5%);transform:translateX(5%);-webkit-transition:right 0s .3s,left 0s .3s,opacity .15s .15s,-webkit-transform .15s cubic-bezier(.4,0,.2,1) .15s;transition:right 0s .3s,left 0s .3s,opacity .15s .15s,-webkit-transform .15s cubic-bezier(.4,0,.2,1) .15s;transition:right 0s .3s,left 0s .3s,transform .15s cubic-bezier(.4,0,.2,1) .15s,opacity .15s .15s;transition:right 0s .3s,left 0s .3s,transform .15s cubic-bezier(.4,0,.2,1) .15s,opacity .15s .15s,-webkit-transform .15s cubic-bezier(.4,0,.2,1) .15s;opacity:0;z-index:2}[data-md-toggle=search]:checked~.md-header .md-search__inner{left:0;-webkit-transform:translateX(0);transform:translateX(0);-webkit-transition:right 0s 0s,left 0s 0s,opacity .15s .15s,-webkit-transform .15s cubic-bezier(.1,.7,.1,1) .15s;transition:right 0s 0s,left 0s 0s,opacity .15s .15s,-webkit-transform .15s cubic-bezier(.1,.7,.1,1) .15s;transition:right 0s 0s,left 0s 0s,transform .15s cubic-bezier(.1,.7,.1,1) .15s,opacity .15s .15s;transition:right 0s 0s,left 0s 0s,transform .15s cubic-bezier(.1,.7,.1,1) .15s,opacity .15s .15s,-webkit-transform .15s cubic-bezier(.1,.7,.1,1) .15s;opacity:1}[dir=rtl] [data-md-toggle=search]:checked~.md-header .md-search__inner{right:0;left:auto}html [dir=rtl] .md-search__inner{right:100%;left:auto;-webkit-transform:translateX(-5%);transform:translateX(-5%)}.md-search__input{width:100%;height:2.4rem;font-size:.9rem}.md-search__icon[for=__search]{top:.6rem;left:.8rem}.md-search__icon[for=__search][for=__search]:before{content:"\E5C4"}[dir=rtl] .md-search__icon[for=__search][for=__search]:before{content:"\E5C8"}.md-search__icon[type=reset]{top:.6rem;right:.8rem}.md-search__output{top:2.4rem;bottom:0}.md-search-result__article--document:before{display:none}}@media only screen and (max-width:76.1875em){[data-md-toggle=drawer]:checked~.md-overlay{width:100%;height:100%;-webkit-transition:width 0s,height 0s,opacity .25s;transition:width 0s,height 0s,opacity .25s;opacity:1}.md-header-nav__button.md-icon--home,.md-header-nav__button.md-logo{display:none}.md-hero__inner{margin-top:2.4rem;margin-bottom:1.2rem}.md-nav{background-color:#fff}.md-nav--primary,.md-nav--primary .md-nav{display:-webkit-box;display:flex;position:absolute;top:0;right:0;left:0;-webkit-box-orient:vertical;-webkit-box-direction:normal;flex-direction:column;height:100%;z-index:1}.md-nav--primary .md-nav__item,.md-nav--primary .md-nav__title{font-size:.8rem;line-height:1.5}html .md-nav--primary .md-nav__title{position:relative;height:5.6rem;padding:3rem .8rem .2rem;background-color:rgba(0,0,0,.07);color:rgba(0,0,0,.54);font-weight:400;line-height:2.4rem;white-space:nowrap;cursor:pointer}html .md-nav--primary .md-nav__title:before{display:block;position:absolute;top:.2rem;left:.2rem;width:2rem;height:2rem;color:rgba(0,0,0,.54)}html .md-nav--primary .md-nav__title~.md-nav__list{background-color:#fff;box-shadow:inset 0 .05rem 0 rgba(0,0,0,.07)}html .md-nav--primary .md-nav__title~.md-nav__list>.md-nav__item:first-child{border-top:0}html .md-nav--primary .md-nav__title--site{position:relative;background-color:#3f51b5;color:#fff}html .md-nav--primary .md-nav__title--site .md-nav__button{display:block;position:absolute;top:.2rem;left:.2rem;width:3.2rem;height:3.2rem;font-size:2.4rem}html .md-nav--primary .md-nav__title--site:before{display:none}html [dir=rtl] .md-nav--primary .md-nav__title--site .md-nav__button,html [dir=rtl] .md-nav--primary .md-nav__title:before{right:.2rem;left:auto}.md-nav--primary .md-nav__list{-webkit-box-flex:1;flex:1;overflow-y:auto}.md-nav--primary .md-nav__item{padding:0;border-top:.05rem solid rgba(0,0,0,.07)}[dir=rtl] .md-nav--primary .md-nav__item{padding:0}.md-nav--primary .md-nav__item--nested>.md-nav__link{padding-right:2.4rem}[dir=rtl] .md-nav--primary .md-nav__item--nested>.md-nav__link{padding-right:.8rem;padding-left:2.4rem}.md-nav--primary .md-nav__item--nested>.md-nav__link:after{content:"\E315"}[dir=rtl] .md-nav--primary .md-nav__item--nested>.md-nav__link:after{content:"\E314"}.md-nav--primary .md-nav__link{position:relative;margin-top:0;padding:.6rem .8rem}.md-nav--primary .md-nav__link:after{position:absolute;top:50%;right:.6rem;margin-top:-.6rem;color:inherit;font-size:1.2rem}[dir=rtl] .md-nav--primary .md-nav__link:after{right:auto;left:.6rem}.md-nav--primary .md-nav--secondary .md-nav__link{position:static}.md-nav--primary .md-nav--secondary .md-nav{position:static;background-color:transparent}.md-nav--primary .md-nav--secondary .md-nav .md-nav__link{padding-left:1.4rem}[dir=rtl] .md-nav--primary .md-nav--secondary .md-nav .md-nav__link{padding-right:1.4rem;padding-left:0}.md-nav--primary .md-nav--secondary .md-nav .md-nav .md-nav__link{padding-left:2rem}[dir=rtl] .md-nav--primary .md-nav--secondary .md-nav .md-nav .md-nav__link{padding-right:2rem;padding-left:0}.md-nav--primary .md-nav--secondary .md-nav .md-nav .md-nav .md-nav__link{padding-left:2.6rem}[dir=rtl] .md-nav--primary .md-nav--secondary .md-nav .md-nav .md-nav .md-nav__link{padding-right:2.6rem;padding-left:0}.md-nav--primary .md-nav--secondary .md-nav .md-nav .md-nav .md-nav .md-nav__link{padding-left:3.2rem}[dir=rtl] .md-nav--primary .md-nav--secondary .md-nav .md-nav .md-nav .md-nav .md-nav__link{padding-right:3.2rem;padding-left:0}.md-nav__toggle~.md-nav{display:-webkit-box;display:flex;-webkit-transform:translateX(100%);transform:translateX(100%);-webkit-transition:opacity .125s .05s,-webkit-transform .25s cubic-bezier(.8,0,.6,1);transition:opacity .125s .05s,-webkit-transform .25s cubic-bezier(.8,0,.6,1);transition:transform .25s cubic-bezier(.8,0,.6,1),opacity .125s .05s;transition:transform .25s cubic-bezier(.8,0,.6,1),opacity .125s .05s,-webkit-transform .25s cubic-bezier(.8,0,.6,1);opacity:0}[dir=rtl] .md-nav__toggle~.md-nav{-webkit-transform:translateX(-100%);transform:translateX(-100%)}.no-csstransforms3d .md-nav__toggle~.md-nav{display:none}.md-nav__toggle:checked~.md-nav{-webkit-transform:translateX(0);transform:translateX(0);-webkit-transition:opacity .125s .125s,-webkit-transform .25s cubic-bezier(.4,0,.2,1);transition:opacity .125s .125s,-webkit-transform .25s cubic-bezier(.4,0,.2,1);transition:transform .25s cubic-bezier(.4,0,.2,1),opacity .125s .125s;transition:transform .25s cubic-bezier(.4,0,.2,1),opacity .125s .125s,-webkit-transform .25s cubic-bezier(.4,0,.2,1);opacity:1}.no-csstransforms3d .md-nav__toggle:checked~.md-nav{display:-webkit-box;display:flex}.md-sidebar--primary{position:fixed;top:0;left:-12.1rem;width:12.1rem;height:100%;-webkit-transform:translateX(0);transform:translateX(0);-webkit-transition:box-shadow .25s,-webkit-transform .25s cubic-bezier(.4,0,.2,1);transition:box-shadow .25s,-webkit-transform .25s cubic-bezier(.4,0,.2,1);transition:transform .25s cubic-bezier(.4,0,.2,1),box-shadow .25s;transition:transform .25s cubic-bezier(.4,0,.2,1),box-shadow .25s,-webkit-transform .25s cubic-bezier(.4,0,.2,1);background-color:#fff;z-index:3}[dir=rtl] .md-sidebar--primary{right:-12.1rem;left:auto}.no-csstransforms3d .md-sidebar--primary{display:none}[data-md-toggle=drawer]:checked~.md-container .md-sidebar--primary{box-shadow:0 8px 10px 1px rgba(0,0,0,.14),0 3px 14px 2px rgba(0,0,0,.12),0 5px 5px -3px rgba(0,0,0,.4);-webkit-transform:translateX(12.1rem);transform:translateX(12.1rem)}[dir=rtl] [data-md-toggle=drawer]:checked~.md-container .md-sidebar--primary{-webkit-transform:translateX(-12.1rem);transform:translateX(-12.1rem)}.no-csstransforms3d [data-md-toggle=drawer]:checked~.md-container .md-sidebar--primary{display:block}.md-sidebar--primary .md-sidebar__scrollwrap{overflow:hidden;position:absolute;top:0;right:0;bottom:0;left:0;margin:0}.md-tabs{display:none}}@media only screen and (min-width:60em){.md-content{margin-right:12.1rem}[dir=rtl] .md-content{margin-right:0;margin-left:12.1rem}.md-header-nav__button.md-icon--search{display:none}.md-header-nav__source{display:block;width:11.7rem;max-width:11.7rem;padding-right:.6rem}[dir=rtl] .md-header-nav__source{padding-right:0;padding-left:.6rem}.md-search{padding:.2rem}.md-search__overlay{position:fixed;top:0;left:0;width:0;height:0;-webkit-transition:width 0s .25s,height 0s .25s,opacity .25s;transition:width 0s .25s,height 0s .25s,opacity .25s;background-color:rgba(0,0,0,.54);cursor:pointer}[dir=rtl] .md-search__overlay{right:0;left:auto}[data-md-toggle=search]:checked~.md-header .md-search__overlay{width:100%;height:100%;-webkit-transition:width 0s,height 0s,opacity .25s;transition:width 0s,height 0s,opacity .25s;opacity:1}.md-search__inner{position:relative;width:11.5rem;margin-right:.8rem;padding:.1rem 0;float:right;-webkit-transition:width .25s cubic-bezier(.1,.7,.1,1);transition:width .25s cubic-bezier(.1,.7,.1,1)}[dir=rtl] .md-search__inner{margin-right:0;margin-left:.8rem;float:left}.md-search__form,.md-search__input{border-radius:.1rem}.md-search__input{width:100%;height:1.8rem;padding-left:2.2rem;-webkit-transition:background-color .25s cubic-bezier(.1,.7,.1,1),color .25s cubic-bezier(.1,.7,.1,1);transition:background-color .25s cubic-bezier(.1,.7,.1,1),color .25s cubic-bezier(.1,.7,.1,1);background-color:rgba(0,0,0,.26);color:inherit;font-size:.8rem}[dir=rtl] .md-search__input{padding-right:2.2rem}.md-search__input+.md-search__icon{color:inherit}.md-search__input::-webkit-input-placeholder{color:hsla(0,0%,100%,.7)}.md-search__input::-moz-placeholder{color:hsla(0,0%,100%,.7)}.md-search__input:-ms-input-placeholder{color:hsla(0,0%,100%,.7)}.md-search__input::-ms-input-placeholder{color:hsla(0,0%,100%,.7)}.md-search__input::placeholder{color:hsla(0,0%,100%,.7)}.md-search__input:hover{background-color:hsla(0,0%,100%,.12)}[data-md-toggle=search]:checked~.md-header .md-search__input{border-radius:.1rem .1rem 0 0;background-color:#fff;color:rgba(0,0,0,.87);text-overflow:clip}[data-md-toggle=search]:checked~.md-header .md-search__input::-webkit-input-placeholder{color:rgba(0,0,0,.54)}[data-md-toggle=search]:checked~.md-header .md-search__input::-moz-placeholder{color:rgba(0,0,0,.54)}[data-md-toggle=search]:checked~.md-header .md-search__input:-ms-input-placeholder{color:rgba(0,0,0,.54)}[data-md-toggle=search]:checked~.md-header .md-search__input::-ms-input-placeholder{color:rgba(0,0,0,.54)}[data-md-toggle=search]:checked~.md-header .md-search__input+.md-search__icon,[data-md-toggle=search]:checked~.md-header .md-search__input::placeholder{color:rgba(0,0,0,.54)}.md-search__output{top:1.9rem;-webkit-transition:opacity .4s;transition:opacity .4s;opacity:0}[data-md-toggle=search]:checked~.md-header .md-search__output{box-shadow:0 6px 10px 0 rgba(0,0,0,.14),0 1px 18px 0 rgba(0,0,0,.12),0 3px 5px -1px rgba(0,0,0,.4);opacity:1}.md-search__scrollwrap{max-height:0}[data-md-toggle=search]:checked~.md-header .md-search__scrollwrap{max-height:75vh}.md-search__scrollwrap::-webkit-scrollbar{width:.2rem;height:.2rem}.md-search__scrollwrap::-webkit-scrollbar-thumb{background-color:rgba(0,0,0,.26)}.md-search__scrollwrap::-webkit-scrollbar-thumb:hover{background-color:#536dfe}.md-search-result__meta{padding-left:2.2rem}[dir=rtl] .md-search-result__meta{padding-right:2.2rem;padding-left:0}.md-search-result__article{padding-left:2.2rem}[dir=rtl] .md-search-result__article{padding-right:2.2rem;padding-left:.8rem}.md-sidebar--secondary{display:block;margin-left:100%;-webkit-transform:translate(-100%);transform:translate(-100%)}[dir=rtl] .md-sidebar--secondary{margin-right:100%;margin-left:0;-webkit-transform:translate(100%);transform:translate(100%)}}@media only screen and (min-width:76.25em){.md-content{margin-left:12.1rem}[dir=rtl] .md-content{margin-right:12.1rem}.md-content__inner{margin-right:1.2rem;margin-left:1.2rem}.md-header-nav__button.md-icon--menu{display:none}.md-nav[data-md-state=animate]{-webkit-transition:max-height .25s cubic-bezier(.86,0,.07,1);transition:max-height .25s cubic-bezier(.86,0,.07,1)}.md-nav__toggle~.md-nav{max-height:0;overflow:hidden}.no-js .md-nav__toggle~.md-nav{display:none}.md-nav[data-md-state=expand],.md-nav__toggle:checked~.md-nav{max-height:100%}.no-js .md-nav[data-md-state=expand],.no-js .md-nav__toggle:checked~.md-nav{display:block}.md-nav__item--nested>.md-nav>.md-nav__title{display:none}.md-nav__item--nested>.md-nav__link:after{display:inline-block;-webkit-transform-origin:.45em .45em;transform-origin:.45em .45em;-webkit-transform-style:preserve-3d;transform-style:preserve-3d;vertical-align:-.125em}.js .md-nav__item--nested>.md-nav__link:after{-webkit-transition:-webkit-transform .4s;transition:-webkit-transform .4s;transition:transform .4s;transition:transform .4s,-webkit-transform .4s}.md-nav__item--nested .md-nav__toggle:checked~.md-nav__link:after{-webkit-transform:rotateX(180deg);transform:rotateX(180deg)}.md-search__inner{margin-right:1.2rem}[dir=rtl] .md-search__inner{margin-left:1.2rem}.md-search__scrollwrap,[data-md-toggle=search]:checked~.md-header .md-search__inner{width:34.4rem}.md-sidebar--secondary{margin-left:61rem}[dir=rtl] .md-sidebar--secondary{margin-right:61rem;margin-left:0}.md-tabs~.md-main .md-nav--primary>.md-nav__list>.md-nav__item--nested{font-size:0;visibility:hidden}.md-tabs--active~.md-main .md-nav--primary .md-nav__title{display:block;padding:0}.md-tabs--active~.md-main .md-nav--primary .md-nav__title--site{display:none}.no-js .md-tabs--active~.md-main .md-nav--primary .md-nav{display:block}.md-tabs--active~.md-main .md-nav--primary>.md-nav__list>.md-nav__item{font-size:0;visibility:hidden}.md-tabs--active~.md-main .md-nav--primary>.md-nav__list>.md-nav__item--nested{display:none;font-size:.7rem;overflow:auto;visibility:visible}.md-tabs--active~.md-main .md-nav--primary>.md-nav__list>.md-nav__item--nested>.md-nav__link{display:none}.md-tabs--active~.md-main .md-nav--primary>.md-nav__list>.md-nav__item--active{display:block}.md-tabs--active~.md-main .md-nav[data-md-level="1"]{max-height:none;overflow:visible}.md-tabs--active~.md-main .md-nav[data-md-level="1"]>.md-nav__list>.md-nav__item{padding-left:0}.md-tabs--active~.md-main .md-nav[data-md-level="1"] .md-nav .md-nav__title{display:none}}@media only screen and (min-width:45em){.md-footer-nav__link{width:50%}.md-footer-copyright{max-width:75%;float:left}[dir=rtl] .md-footer-copyright{float:right}.md-footer-social{padding:.6rem 0;float:right}[dir=rtl] .md-footer-social{float:left}}@media only screen and (max-width:29.9375em){[data-md-toggle=search]:checked~.md-header .md-search__overlay{-webkit-transform:scale(45);transform:scale(45)}}@media only screen and (min-width:30em) and (max-width:44.9375em){[data-md-toggle=search]:checked~.md-header .md-search__overlay{-webkit-transform:scale(60);transform:scale(60)}}@media only screen and (min-width:45em) and (max-width:59.9375em){[data-md-toggle=search]:checked~.md-header .md-search__overlay{-webkit-transform:scale(75);transform:scale(75)}}@media only screen and (min-width:60em) and (max-width:76.1875em){.md-search__scrollwrap,[data-md-toggle=search]:checked~.md-header .md-search__inner{width:23.4rem}.md-search-result__teaser{max-height:2.5rem;-webkit-line-clamp:3}} \ No newline at end of file +html{box-sizing:border-box}*,:after,:before{box-sizing:inherit}html{-webkit-text-size-adjust:none;-moz-text-size-adjust:none;-ms-text-size-adjust:none;text-size-adjust:none}body{margin:0}hr{overflow:visible;box-sizing:content-box}a{-webkit-text-decoration-skip:objects}a,button,input,label{-webkit-tap-highlight-color:transparent}a{color:inherit;text-decoration:none}small,sub,sup{font-size:80%}sub,sup{position:relative;line-height:0;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}img{border-style:none}table{border-collapse:separate;border-spacing:0}td,th{font-weight:400;vertical-align:top}button{margin:0;padding:0;border:0;outline-style:none;background:transparent;font-size:inherit}input{border:0;outline:0}.md-clipboard:before,.md-icon,.md-nav__button,.md-nav__link:after,.md-nav__title:before,.md-search-result__article--document:before,.md-source-file:before,.md-typeset .admonition>.admonition-title:before,.md-typeset .admonition>summary:before,.md-typeset .critic.comment:before,.md-typeset .footnote-backref,.md-typeset .task-list-control .task-list-indicator:before,.md-typeset details>.admonition-title:before,.md-typeset details>summary:before,.md-typeset summary:after{font-family:Material Icons;font-style:normal;font-variant:normal;font-weight:400;line-height:1;text-transform:none;white-space:nowrap;word-wrap:normal;direction:ltr}.md-content__icon,.md-footer-nav__button,.md-header-nav__button,.md-nav__button,.md-nav__title:before,.md-search-result__article--document:before{display:inline-block;margin:.2rem;padding:.4rem;font-size:1.2rem;cursor:pointer}.md-icon--arrow-back:before{content:""}.md-icon--arrow-forward:before{content:""}.md-icon--menu:before{content:""}.md-icon--search:before{content:""}[dir=rtl] .md-icon--arrow-back:before{content:""}[dir=rtl] .md-icon--arrow-forward:before{content:""}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body,input{color:rgba(0,0,0,.87);font-feature-settings:"kern","liga";font-family:Helvetica Neue,Helvetica,Arial,sans-serif}code,kbd,pre{color:rgba(0,0,0,.87);font-feature-settings:"kern";font-family:Courier New,Courier,monospace}.md-typeset{font-size:.8rem;line-height:1.6;-webkit-print-color-adjust:exact}.md-typeset blockquote,.md-typeset ol,.md-typeset p,.md-typeset ul{margin:1em 0}.md-typeset h1{margin:0 0 2rem;color:rgba(0,0,0,.54);font-size:1.5625rem;line-height:1.3}.md-typeset h1,.md-typeset h2{font-weight:300;letter-spacing:-.01em}.md-typeset h2{margin:2rem 0 .8rem;font-size:1.25rem;line-height:1.4}.md-typeset h3{margin:1.6rem 0 .8rem;font-size:1rem;font-weight:400;letter-spacing:-.01em;line-height:1.5}.md-typeset h2+h3{margin-top:.8rem}.md-typeset h4{font-size:.8rem}.md-typeset h4,.md-typeset h5,.md-typeset h6{margin:.8rem 0;font-weight:700;letter-spacing:-.01em}.md-typeset h5,.md-typeset h6{color:rgba(0,0,0,.54);font-size:.64rem}.md-typeset h5{text-transform:uppercase}.md-typeset hr{margin:1.5em 0;border-bottom:.05rem dotted rgba(0,0,0,.26)}.md-typeset a{color:#3f51b5;word-break:break-word}.md-typeset a,.md-typeset a:before{-webkit-transition:color .125s;transition:color .125s}.md-typeset a:active,.md-typeset a:hover{color:#536dfe}.md-typeset code,.md-typeset pre{background-color:hsla(0,0%,92.5%,.5);color:#37474f;font-size:85%;direction:ltr}.md-typeset code{margin:0 .29412em;padding:.07353em 0;border-radius:.1rem;box-shadow:.29412em 0 0 hsla(0,0%,92.5%,.5),-.29412em 0 0 hsla(0,0%,92.5%,.5);word-break:break-word;-webkit-box-decoration-break:clone;box-decoration-break:clone}.md-typeset h1 code,.md-typeset h2 code,.md-typeset h3 code,.md-typeset h4 code,.md-typeset h5 code,.md-typeset h6 code{margin:0;background-color:transparent;box-shadow:none}.md-typeset a>code{margin:inherit;padding:inherit;border-radius:initial;background-color:inherit;color:inherit;box-shadow:none}.md-typeset pre{position:relative;margin:1em 0;border-radius:.1rem;line-height:1.4;-webkit-overflow-scrolling:touch}.md-typeset pre>code{display:block;margin:0;padding:.525rem .6rem;background-color:transparent;font-size:inherit;box-shadow:none;-webkit-box-decoration-break:slice;box-decoration-break:slice;overflow:auto}.md-typeset pre>code::-webkit-scrollbar{width:.2rem;height:.2rem}.md-typeset pre>code::-webkit-scrollbar-thumb{background-color:rgba(0,0,0,.26)}.md-typeset pre>code::-webkit-scrollbar-thumb:hover{background-color:#536dfe}.md-typeset kbd{padding:0 .29412em;border-radius:.15rem;border:.05rem solid #c9c9c9;border-bottom-color:#bcbcbc;background-color:#fcfcfc;color:#555;font-size:85%;box-shadow:0 .05rem 0 #b0b0b0;word-break:break-word}.md-typeset mark{margin:0 .25em;padding:.0625em 0;border-radius:.1rem;background-color:rgba(255,235,59,.5);box-shadow:.25em 0 0 rgba(255,235,59,.5),-.25em 0 0 rgba(255,235,59,.5);word-break:break-word;-webkit-box-decoration-break:clone;box-decoration-break:clone}.md-typeset abbr{border-bottom:.05rem dotted rgba(0,0,0,.54);text-decoration:none;cursor:help}.md-typeset small{opacity:.75}.md-typeset sub,.md-typeset sup{margin-left:.07812em}[dir=rtl] .md-typeset sub,[dir=rtl] .md-typeset sup{margin-right:.07812em;margin-left:0}.md-typeset blockquote{padding-left:.6rem;border-left:.2rem solid rgba(0,0,0,.26);color:rgba(0,0,0,.54)}[dir=rtl] .md-typeset blockquote{padding-right:.6rem;padding-left:0;border-right:.2rem solid rgba(0,0,0,.26);border-left:initial}.md-typeset ul{list-style-type:disc}.md-typeset ol,.md-typeset ul{margin-left:.625em;padding:0}[dir=rtl] .md-typeset ol,[dir=rtl] .md-typeset ul{margin-right:.625em;margin-left:0}.md-typeset ol ol,.md-typeset ul ol{list-style-type:lower-alpha}.md-typeset ol ol ol,.md-typeset ul ol ol{list-style-type:lower-roman}.md-typeset ol li,.md-typeset ul li{margin-bottom:.5em;margin-left:1.25em}[dir=rtl] .md-typeset ol li,[dir=rtl] .md-typeset ul li{margin-right:1.25em;margin-left:0}.md-typeset ol li blockquote,.md-typeset ol li p,.md-typeset ul li blockquote,.md-typeset ul li p{margin:.5em 0}.md-typeset ol li:last-child,.md-typeset ul li:last-child{margin-bottom:0}.md-typeset ol li ol,.md-typeset ol li ul,.md-typeset ul li ol,.md-typeset ul li ul{margin:.5em 0 .5em .625em}[dir=rtl] .md-typeset ol li ol,[dir=rtl] .md-typeset ol li ul,[dir=rtl] .md-typeset ul li ol,[dir=rtl] .md-typeset ul li ul{margin-right:.625em;margin-left:0}.md-typeset dd{margin:1em 0 1em 1.875em}[dir=rtl] .md-typeset dd{margin-right:1.875em;margin-left:0}.md-typeset iframe,.md-typeset img,.md-typeset svg{max-width:100%}.md-typeset table:not([class]){box-shadow:0 2px 2px 0 rgba(0,0,0,.14),0 1px 5px 0 rgba(0,0,0,.12),0 3px 1px -2px rgba(0,0,0,.2);display:inline-block;max-width:100%;border-radius:.1rem;font-size:.64rem;overflow:auto;-webkit-overflow-scrolling:touch}.md-typeset table:not([class])+*{margin-top:1.5em}.md-typeset table:not([class]) td:not([align]),.md-typeset table:not([class]) th:not([align]){text-align:left}[dir=rtl] .md-typeset table:not([class]) td:not([align]),[dir=rtl] .md-typeset table:not([class]) th:not([align]){text-align:right}.md-typeset table:not([class]) th{min-width:5rem;padding:.6rem .8rem;background-color:rgba(0,0,0,.54);color:#fff;vertical-align:top}.md-typeset table:not([class]) td{padding:.6rem .8rem;border-top:.05rem solid rgba(0,0,0,.07);vertical-align:top}.md-typeset table:not([class]) tr{-webkit-transition:background-color .125s;transition:background-color .125s}.md-typeset table:not([class]) tr:hover{background-color:rgba(0,0,0,.035);box-shadow:inset 0 .05rem 0 #fff}.md-typeset table:not([class]) tr:first-child td{border-top:0}.md-typeset table:not([class]) a{word-break:normal}.md-typeset__scrollwrap{margin:1em -.8rem;overflow-x:auto;-webkit-overflow-scrolling:touch}.md-typeset .md-typeset__table{display:inline-block;margin-bottom:.5em;padding:0 .8rem}.md-typeset .md-typeset__table table{display:table;width:100%;margin:0;overflow:hidden}html{font-size:125%;overflow-x:hidden}body,html{height:100%}body{position:relative;font-size:.5rem}hr{display:block;height:.05rem;padding:0;border:0}.md-svg{display:none}.md-grid{max-width:61rem;margin-right:auto;margin-left:auto}.md-container,.md-main{overflow:auto}.md-container{display:table;width:100%;height:100%;padding-top:2.4rem;table-layout:fixed}.md-main{display:table-row;height:100%}.md-main__inner{height:100%;padding-top:1.5rem;padding-bottom:.05rem}.md-toggle{display:none}.md-overlay{position:fixed;top:0;width:0;height:0;-webkit-transition:width 0s .25s,height 0s .25s,opacity .25s;transition:width 0s .25s,height 0s .25s,opacity .25s;background-color:rgba(0,0,0,.54);opacity:0;z-index:3}.md-flex{display:table}.md-flex__cell{display:table-cell;position:relative;vertical-align:top}.md-flex__cell--shrink{width:0}.md-flex__cell--stretch{display:table;width:100%;table-layout:fixed}.md-flex__ellipsis{display:table-cell;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.md-skip{position:fixed;width:.05rem;height:.05rem;margin:.5rem;padding:.3rem .5rem;-webkit-transform:translateY(.4rem);transform:translateY(.4rem);border-radius:.1rem;background-color:rgba(0,0,0,.87);color:#fff;font-size:.64rem;opacity:0;overflow:hidden}.md-skip:focus{width:auto;height:auto;clip:auto;-webkit-transform:translateX(0);transform:translateX(0);-webkit-transition:opacity .175s 75ms,-webkit-transform .25s cubic-bezier(.4,0,.2,1);transition:opacity .175s 75ms,-webkit-transform .25s cubic-bezier(.4,0,.2,1);transition:transform .25s cubic-bezier(.4,0,.2,1),opacity .175s 75ms;transition:transform .25s cubic-bezier(.4,0,.2,1),opacity .175s 75ms,-webkit-transform .25s cubic-bezier(.4,0,.2,1);opacity:1;z-index:10}@page{margin:25mm}.md-clipboard{position:absolute;top:.3rem;right:.3rem;width:1.4rem;height:1.4rem;border-radius:.1rem;font-size:.8rem;cursor:pointer;z-index:1;-webkit-backface-visibility:hidden;backface-visibility:hidden}.md-clipboard:before{-webkit-transition:color .25s,opacity .25s;transition:color .25s,opacity .25s;color:rgba(0,0,0,.07);content:"\E14D"}.codehilite:hover .md-clipboard:before,.md-typeset .highlight:hover .md-clipboard:before,pre:hover .md-clipboard:before{color:rgba(0,0,0,.54)}.md-clipboard:focus:before,.md-clipboard:hover:before{color:#536dfe}.md-clipboard__message{display:block;position:absolute;top:0;right:1.7rem;padding:.3rem .5rem;-webkit-transform:translateX(.4rem);transform:translateX(.4rem);-webkit-transition:opacity .175s,-webkit-transform .25s cubic-bezier(.9,.1,.9,0);transition:opacity .175s,-webkit-transform .25s cubic-bezier(.9,.1,.9,0);transition:transform .25s cubic-bezier(.9,.1,.9,0),opacity .175s;transition:transform .25s cubic-bezier(.9,.1,.9,0),opacity .175s,-webkit-transform .25s cubic-bezier(.9,.1,.9,0);border-radius:.1rem;background-color:rgba(0,0,0,.54);color:#fff;font-size:.64rem;white-space:nowrap;opacity:0;pointer-events:none}.md-clipboard__message--active{-webkit-transform:translateX(0);transform:translateX(0);-webkit-transition:opacity .175s 75ms,-webkit-transform .25s cubic-bezier(.4,0,.2,1);transition:opacity .175s 75ms,-webkit-transform .25s cubic-bezier(.4,0,.2,1);transition:transform .25s cubic-bezier(.4,0,.2,1),opacity .175s 75ms;transition:transform .25s cubic-bezier(.4,0,.2,1),opacity .175s 75ms,-webkit-transform .25s cubic-bezier(.4,0,.2,1);opacity:1;pointer-events:auto}.md-clipboard__message:before{content:attr(aria-label)}.md-clipboard__message:after{display:block;position:absolute;top:50%;right:-.2rem;width:0;margin-top:-.2rem;border-color:transparent rgba(0,0,0,.54);border-style:solid;border-width:.2rem 0 .2rem .2rem;content:""}.md-content__inner{margin:0 .8rem 1.2rem;padding-top:.6rem}.md-content__inner:before{display:block;height:.4rem;content:""}.md-content__inner>:last-child{margin-bottom:0}.md-content__icon{position:relative;margin:.4rem 0;padding:0;float:right}.md-typeset .md-content__icon{color:rgba(0,0,0,.26)}.md-header{position:fixed;top:0;right:0;left:0;height:2.4rem;-webkit-transition:background-color .25s,color .25s;transition:background-color .25s,color .25s;background-color:#3f51b5;color:#fff;box-shadow:none;z-index:2;-webkit-backface-visibility:hidden;backface-visibility:hidden}.no-js .md-header{-webkit-transition:none;transition:none;box-shadow:none}.md-header[data-md-state=shadow]{-webkit-transition:background-color .25s,color .25s,box-shadow .25s;transition:background-color .25s,color .25s,box-shadow .25s;box-shadow:0 0 .2rem rgba(0,0,0,.1),0 .2rem .4rem rgba(0,0,0,.2)}.md-header-nav{padding:0 .2rem}.md-header-nav__button{position:relative;-webkit-transition:opacity .25s;transition:opacity .25s;z-index:1}.md-header-nav__button:hover{opacity:.7}.md-header-nav__button.md-logo *{display:block}.no-js .md-header-nav__button.md-icon--search{display:none}.md-header-nav__topic{display:block;position:absolute;-webkit-transition:opacity .15s,-webkit-transform .4s cubic-bezier(.1,.7,.1,1);transition:opacity .15s,-webkit-transform .4s cubic-bezier(.1,.7,.1,1);transition:transform .4s cubic-bezier(.1,.7,.1,1),opacity .15s;transition:transform .4s cubic-bezier(.1,.7,.1,1),opacity .15s,-webkit-transform .4s cubic-bezier(.1,.7,.1,1);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.md-header-nav__topic+.md-header-nav__topic{-webkit-transform:translateX(1.25rem);transform:translateX(1.25rem);-webkit-transition:opacity .15s,-webkit-transform .4s cubic-bezier(1,.7,.1,.1);transition:opacity .15s,-webkit-transform .4s cubic-bezier(1,.7,.1,.1);transition:transform .4s cubic-bezier(1,.7,.1,.1),opacity .15s;transition:transform .4s cubic-bezier(1,.7,.1,.1),opacity .15s,-webkit-transform .4s cubic-bezier(1,.7,.1,.1);opacity:0;z-index:-1;pointer-events:none}[dir=rtl] .md-header-nav__topic+.md-header-nav__topic{-webkit-transform:translateX(-1.25rem);transform:translateX(-1.25rem)}.no-js .md-header-nav__topic{position:static}.no-js .md-header-nav__topic+.md-header-nav__topic{display:none}.md-header-nav__title{padding:0 1rem;font-size:.9rem;line-height:2.4rem}.md-header-nav__title[data-md-state=active] .md-header-nav__topic{-webkit-transform:translateX(-1.25rem);transform:translateX(-1.25rem);-webkit-transition:opacity .15s,-webkit-transform .4s cubic-bezier(1,.7,.1,.1);transition:opacity .15s,-webkit-transform .4s cubic-bezier(1,.7,.1,.1);transition:transform .4s cubic-bezier(1,.7,.1,.1),opacity .15s;transition:transform .4s cubic-bezier(1,.7,.1,.1),opacity .15s,-webkit-transform .4s cubic-bezier(1,.7,.1,.1);opacity:0;z-index:-1;pointer-events:none}[dir=rtl] .md-header-nav__title[data-md-state=active] .md-header-nav__topic{-webkit-transform:translateX(1.25rem);transform:translateX(1.25rem)}.md-header-nav__title[data-md-state=active] .md-header-nav__topic+.md-header-nav__topic{-webkit-transform:translateX(0);transform:translateX(0);-webkit-transition:opacity .15s,-webkit-transform .4s cubic-bezier(.1,.7,.1,1);transition:opacity .15s,-webkit-transform .4s cubic-bezier(.1,.7,.1,1);transition:transform .4s cubic-bezier(.1,.7,.1,1),opacity .15s;transition:transform .4s cubic-bezier(.1,.7,.1,1),opacity .15s,-webkit-transform .4s cubic-bezier(.1,.7,.1,1);opacity:1;z-index:0;pointer-events:auto}.md-header-nav__source{display:none}.md-hero{-webkit-transition:background .25s;transition:background .25s;background-color:#3f51b5;color:#fff;font-size:1rem;overflow:hidden}.md-hero__inner{margin-top:1rem;padding:.8rem .8rem .4rem;-webkit-transition:opacity .25s,-webkit-transform .4s cubic-bezier(.1,.7,.1,1);transition:opacity .25s,-webkit-transform .4s cubic-bezier(.1,.7,.1,1);transition:transform .4s cubic-bezier(.1,.7,.1,1),opacity .25s;transition:transform .4s cubic-bezier(.1,.7,.1,1),opacity .25s,-webkit-transform .4s cubic-bezier(.1,.7,.1,1);-webkit-transition-delay:.1s;transition-delay:.1s}[data-md-state=hidden] .md-hero__inner{pointer-events:none;-webkit-transform:translateY(.625rem);transform:translateY(.625rem);-webkit-transition:opacity .1s 0s,-webkit-transform 0s .4s;transition:opacity .1s 0s,-webkit-transform 0s .4s;transition:transform 0s .4s,opacity .1s 0s;transition:transform 0s .4s,opacity .1s 0s,-webkit-transform 0s .4s;opacity:0}.md-hero--expand .md-hero__inner{margin-bottom:1.2rem}.md-footer-nav{background-color:rgba(0,0,0,.87);color:#fff}.md-footer-nav__inner{padding:.2rem;overflow:auto}.md-footer-nav__link{padding-top:1.4rem;padding-bottom:.4rem;-webkit-transition:opacity .25s;transition:opacity .25s}.md-footer-nav__link:hover{opacity:.7}.md-footer-nav__link--prev{width:25%;float:left}[dir=rtl] .md-footer-nav__link--prev{float:right}.md-footer-nav__link--next{width:75%;float:right;text-align:right}[dir=rtl] .md-footer-nav__link--next{float:left;text-align:left}.md-footer-nav__button{-webkit-transition:background .25s;transition:background .25s}.md-footer-nav__title{position:relative;padding:0 1rem;font-size:.9rem;line-height:2.4rem}.md-footer-nav__direction{position:absolute;right:0;left:0;margin-top:-1rem;padding:0 1rem;color:hsla(0,0%,100%,.7);font-size:.75rem}.md-footer-meta{background-color:rgba(0,0,0,.895)}.md-footer-meta__inner{padding:.2rem;overflow:auto}html .md-footer-meta.md-typeset a{color:hsla(0,0%,100%,.7)}html .md-footer-meta.md-typeset a:focus,html .md-footer-meta.md-typeset a:hover{color:#fff}.md-footer-copyright{margin:0 .6rem;padding:.4rem 0;color:hsla(0,0%,100%,.3);font-size:.64rem}.md-footer-copyright__highlight{color:hsla(0,0%,100%,.7)}.md-footer-social{margin:0 .4rem;padding:.2rem 0 .6rem}.md-footer-social__link{display:inline-block;width:1.6rem;height:1.6rem;font-size:.8rem;text-align:center}.md-footer-social__link:before{line-height:1.9}.md-nav{font-size:.7rem;line-height:1.3}.md-nav__title{display:block;padding:0 .6rem;font-weight:700;text-overflow:ellipsis;overflow:hidden}.md-nav__title:before{display:none;content:"\E5C4"}[dir=rtl] .md-nav__title:before{content:"\E5C8"}.md-nav__title .md-nav__button{display:none}.md-nav__list{margin:0;padding:0;list-style:none}.md-nav__item{padding:0 .6rem}.md-nav__item:last-child{padding-bottom:.6rem}.md-nav__item .md-nav__item{padding-right:0}[dir=rtl] .md-nav__item .md-nav__item{padding-right:.6rem;padding-left:0}.md-nav__item .md-nav__item:last-child{padding-bottom:0}.md-nav__button img{width:100%;height:auto}.md-nav__link{display:block;margin-top:.625em;-webkit-transition:color .125s;transition:color .125s;text-overflow:ellipsis;cursor:pointer;overflow:hidden}.md-nav__item--nested>.md-nav__link:after{content:"\E313"}html .md-nav__link[for=__toc],html .md-nav__link[for=__toc]+.md-nav__link:after,html .md-nav__link[for=__toc]~.md-nav{display:none}.md-nav__link[data-md-state=blur]{color:rgba(0,0,0,.54)}.md-nav__link--active,.md-nav__link:active{color:#3f51b5}.md-nav__item--nested>.md-nav__link{color:inherit}.md-nav__link:focus,.md-nav__link:hover{color:#536dfe}.md-nav__source,.no-js .md-search{display:none}.md-search__overlay{opacity:0;z-index:1}.md-search__form{position:relative}.md-search__input{position:relative;padding:0 2.2rem 0 3.6rem;text-overflow:ellipsis;z-index:2}[dir=rtl] .md-search__input{padding:0 3.6rem 0 2.2rem}.md-search__input::-webkit-input-placeholder{-webkit-transition:color .25s cubic-bezier(.1,.7,.1,1);transition:color .25s cubic-bezier(.1,.7,.1,1)}.md-search__input::-moz-placeholder{-moz-transition:color .25s cubic-bezier(.1,.7,.1,1);transition:color .25s cubic-bezier(.1,.7,.1,1)}.md-search__input:-ms-input-placeholder{-ms-transition:color .25s cubic-bezier(.1,.7,.1,1);transition:color .25s cubic-bezier(.1,.7,.1,1)}.md-search__input::-ms-input-placeholder{-ms-transition:color .25s cubic-bezier(.1,.7,.1,1);transition:color .25s cubic-bezier(.1,.7,.1,1)}.md-search__input::placeholder{-webkit-transition:color .25s cubic-bezier(.1,.7,.1,1);transition:color .25s cubic-bezier(.1,.7,.1,1)}.md-search__input::-webkit-input-placeholder{color:rgba(0,0,0,.54)}.md-search__input::-moz-placeholder{color:rgba(0,0,0,.54)}.md-search__input:-ms-input-placeholder{color:rgba(0,0,0,.54)}.md-search__input::-ms-input-placeholder{color:rgba(0,0,0,.54)}.md-search__input::placeholder,.md-search__input~.md-search__icon{color:rgba(0,0,0,.54)}.md-search__input::-ms-clear{display:none}.md-search__icon{position:absolute;-webkit-transition:color .25s cubic-bezier(.1,.7,.1,1),opacity .25s;transition:color .25s cubic-bezier(.1,.7,.1,1),opacity .25s;font-size:1.2rem;cursor:pointer;z-index:2}.md-search__icon:hover{opacity:.7}.md-search__icon[for=__search]{top:.3rem;left:.5rem}[dir=rtl] .md-search__icon[for=__search]{right:.5rem;left:auto}.md-search__icon[for=__search]:before{content:"\E8B6"}.md-search__icon[type=reset]{top:.3rem;right:.5rem;-webkit-transform:scale(.125);transform:scale(.125);-webkit-transition:opacity .15s,-webkit-transform .15s cubic-bezier(.1,.7,.1,1);transition:opacity .15s,-webkit-transform .15s cubic-bezier(.1,.7,.1,1);transition:transform .15s cubic-bezier(.1,.7,.1,1),opacity .15s;transition:transform .15s cubic-bezier(.1,.7,.1,1),opacity .15s,-webkit-transform .15s cubic-bezier(.1,.7,.1,1);opacity:0}[dir=rtl] .md-search__icon[type=reset]{right:auto;left:.5rem}[data-md-toggle=search]:checked~.md-header .md-search__input:valid~.md-search__icon[type=reset]{-webkit-transform:scale(1);transform:scale(1);opacity:1}[data-md-toggle=search]:checked~.md-header .md-search__input:valid~.md-search__icon[type=reset]:hover{opacity:.7}.md-search__output{position:absolute;width:100%;border-radius:0 0 .1rem .1rem;overflow:hidden;z-index:1}.md-search__scrollwrap{height:100%;background-color:#fff;box-shadow:inset 0 .05rem 0 rgba(0,0,0,.07);overflow-y:auto;-webkit-overflow-scrolling:touch}.md-search-result{color:rgba(0,0,0,.87);word-break:break-word}.md-search-result__meta{padding:0 .8rem;background-color:rgba(0,0,0,.07);color:rgba(0,0,0,.54);font-size:.64rem;line-height:1.8rem}.md-search-result__list{margin:0;padding:0;border-top:.05rem solid rgba(0,0,0,.07);list-style:none}.md-search-result__item{box-shadow:0 -.05rem 0 rgba(0,0,0,.07)}.md-search-result__link{display:block;-webkit-transition:background .25s;transition:background .25s;outline:0;overflow:hidden}.md-search-result__link:hover,.md-search-result__link[data-md-state=active]{background-color:rgba(83,109,254,.1)}.md-search-result__link:hover .md-search-result__article:before,.md-search-result__link[data-md-state=active] .md-search-result__article:before{opacity:.7}.md-search-result__link:last-child .md-search-result__teaser{margin-bottom:.6rem}.md-search-result__article{position:relative;padding:0 .8rem;overflow:auto}.md-search-result__article--document:before{position:absolute;left:0;margin:.1rem;-webkit-transition:opacity .25s;transition:opacity .25s;color:rgba(0,0,0,.54);content:"\E880"}[dir=rtl] .md-search-result__article--document:before{right:0;left:auto}.md-search-result__article--document .md-search-result__title{margin:.55rem 0;font-size:.8rem;font-weight:400;line-height:1.4}.md-search-result__title{margin:.5em 0;font-size:.64rem;font-weight:700;line-height:1.4}.md-search-result__teaser{display:-webkit-box;max-height:1.65rem;margin:.5em 0;color:rgba(0,0,0,.54);font-size:.64rem;line-height:1.4;text-overflow:ellipsis;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:2}.md-search-result em{font-style:normal;font-weight:700;text-decoration:underline}.md-sidebar{position:absolute;width:12.1rem;padding:1.2rem 0;overflow:hidden}.md-sidebar[data-md-state=lock]{position:fixed;top:2.4rem}.md-sidebar--secondary{display:none}.md-sidebar__scrollwrap{max-height:100%;margin:0 .2rem;overflow-y:auto;-webkit-backface-visibility:hidden;backface-visibility:hidden}.md-sidebar__scrollwrap::-webkit-scrollbar{width:.2rem;height:.2rem}.md-sidebar__scrollwrap::-webkit-scrollbar-thumb{background-color:rgba(0,0,0,.26)}.md-sidebar__scrollwrap::-webkit-scrollbar-thumb:hover{background-color:#536dfe}@-webkit-keyframes md-source__facts--done{0%{height:0}to{height:.65rem}}@keyframes md-source__facts--done{0%{height:0}to{height:.65rem}}@-webkit-keyframes md-source__fact--done{0%{-webkit-transform:translateY(100%);transform:translateY(100%);opacity:0}50%{opacity:0}to{-webkit-transform:translateY(0);transform:translateY(0);opacity:1}}@keyframes md-source__fact--done{0%{-webkit-transform:translateY(100%);transform:translateY(100%);opacity:0}50%{opacity:0}to{-webkit-transform:translateY(0);transform:translateY(0);opacity:1}}.md-source{display:block;padding-right:.6rem;-webkit-transition:opacity .25s;transition:opacity .25s;font-size:.65rem;line-height:1.2;white-space:nowrap}[dir=rtl] .md-source{padding-right:0;padding-left:.6rem}.md-source:hover{opacity:.7}.md-source:after,.md-source__icon{display:inline-block;height:2.4rem;content:"";vertical-align:middle}.md-source__icon{width:2.4rem}.md-source__icon svg{width:1.2rem;height:1.2rem;margin-top:.6rem;margin-left:.6rem}[dir=rtl] .md-source__icon svg{margin-right:.6rem;margin-left:0}.md-source__icon+.md-source__repository{margin-left:-2rem;padding-left:2rem}[dir=rtl] .md-source__icon+.md-source__repository{margin-right:-2rem;margin-left:0;padding-right:2rem;padding-left:0}.md-source__repository{display:inline-block;max-width:100%;margin-left:.6rem;font-weight:700;text-overflow:ellipsis;overflow:hidden;vertical-align:middle}.md-source__facts{margin:0;padding:0;font-size:.55rem;font-weight:700;list-style-type:none;opacity:.75;overflow:hidden}[data-md-state=done] .md-source__facts{-webkit-animation:md-source__facts--done .25s ease-in;animation:md-source__facts--done .25s ease-in}.md-source__fact{float:left}[dir=rtl] .md-source__fact{float:right}[data-md-state=done] .md-source__fact{-webkit-animation:md-source__fact--done .4s ease-out;animation:md-source__fact--done .4s ease-out}.md-source__fact:before{margin:0 .1rem;content:"\00B7"}.md-source__fact:first-child:before{display:none}.md-source-file{display:inline-block;margin:1em .5em 1em 0;padding-right:.25rem;border-radius:.1rem;background-color:rgba(0,0,0,.07);font-size:.64rem;list-style-type:none;cursor:pointer;overflow:hidden}.md-source-file:before{display:inline-block;margin-right:.25rem;padding:.25rem;background-color:rgba(0,0,0,.26);color:#fff;font-size:.8rem;content:"\E86F";vertical-align:middle}html .md-source-file{-webkit-transition:background .4s,color .4s,box-shadow .4s cubic-bezier(.4,0,.2,1);transition:background .4s,color .4s,box-shadow .4s cubic-bezier(.4,0,.2,1)}html .md-source-file:before{-webkit-transition:inherit;transition:inherit}html body .md-typeset .md-source-file{color:rgba(0,0,0,.54)}.md-source-file:hover{box-shadow:0 0 8px rgba(0,0,0,.18),0 8px 16px rgba(0,0,0,.36)}.md-source-file:hover:before{background-color:#536dfe}.md-tabs{width:100%;-webkit-transition:background .25s;transition:background .25s;background-color:#3f51b5;color:#fff;overflow:auto}.md-tabs__list{margin:0 0 0 .2rem;padding:0;list-style:none;white-space:nowrap}.md-tabs__item{display:inline-block;height:2.4rem;padding-right:.6rem;padding-left:.6rem}.md-tabs__link{display:block;margin-top:.8rem;-webkit-transition:opacity .25s,-webkit-transform .4s cubic-bezier(.1,.7,.1,1);transition:opacity .25s,-webkit-transform .4s cubic-bezier(.1,.7,.1,1);transition:transform .4s cubic-bezier(.1,.7,.1,1),opacity .25s;transition:transform .4s cubic-bezier(.1,.7,.1,1),opacity .25s,-webkit-transform .4s cubic-bezier(.1,.7,.1,1);font-size:.7rem;opacity:.7}.md-tabs__link--active,.md-tabs__link:hover{color:inherit;opacity:1}.md-tabs__item:nth-child(2) .md-tabs__link{-webkit-transition-delay:.02s;transition-delay:.02s}.md-tabs__item:nth-child(3) .md-tabs__link{-webkit-transition-delay:.04s;transition-delay:.04s}.md-tabs__item:nth-child(4) .md-tabs__link{-webkit-transition-delay:.06s;transition-delay:.06s}.md-tabs__item:nth-child(5) .md-tabs__link{-webkit-transition-delay:.08s;transition-delay:.08s}.md-tabs__item:nth-child(6) .md-tabs__link{-webkit-transition-delay:.1s;transition-delay:.1s}.md-tabs__item:nth-child(7) .md-tabs__link{-webkit-transition-delay:.12s;transition-delay:.12s}.md-tabs__item:nth-child(8) .md-tabs__link{-webkit-transition-delay:.14s;transition-delay:.14s}.md-tabs__item:nth-child(9) .md-tabs__link{-webkit-transition-delay:.16s;transition-delay:.16s}.md-tabs__item:nth-child(10) .md-tabs__link{-webkit-transition-delay:.18s;transition-delay:.18s}.md-tabs__item:nth-child(11) .md-tabs__link{-webkit-transition-delay:.2s;transition-delay:.2s}.md-tabs__item:nth-child(12) .md-tabs__link{-webkit-transition-delay:.22s;transition-delay:.22s}.md-tabs__item:nth-child(13) .md-tabs__link{-webkit-transition-delay:.24s;transition-delay:.24s}.md-tabs__item:nth-child(14) .md-tabs__link{-webkit-transition-delay:.26s;transition-delay:.26s}.md-tabs__item:nth-child(15) .md-tabs__link{-webkit-transition-delay:.28s;transition-delay:.28s}.md-tabs__item:nth-child(16) .md-tabs__link{-webkit-transition-delay:.3s;transition-delay:.3s}.md-tabs[data-md-state=hidden]{pointer-events:none}.md-tabs[data-md-state=hidden] .md-tabs__link{-webkit-transform:translateY(50%);transform:translateY(50%);-webkit-transition:color .25s,opacity .1s,-webkit-transform 0s .4s;transition:color .25s,opacity .1s,-webkit-transform 0s .4s;transition:color .25s,transform 0s .4s,opacity .1s;transition:color .25s,transform 0s .4s,opacity .1s,-webkit-transform 0s .4s;opacity:0}.md-typeset .admonition,.md-typeset details{box-shadow:0 2px 2px 0 rgba(0,0,0,.14),0 1px 5px 0 rgba(0,0,0,.12),0 3px 1px -2px rgba(0,0,0,.2);position:relative;margin:1.5625em 0;padding:0 .6rem;border-left:.2rem solid #448aff;border-radius:.1rem;font-size:.64rem;overflow:auto}[dir=rtl] .md-typeset .admonition,[dir=rtl] .md-typeset details{border-right:.2rem solid #448aff;border-left:none}html .md-typeset .admonition>:last-child,html .md-typeset details>:last-child{margin-bottom:.6rem}.md-typeset .admonition .admonition,.md-typeset .admonition details,.md-typeset details .admonition,.md-typeset details details{margin:1em 0}.md-typeset .admonition>.admonition-title,.md-typeset .admonition>summary,.md-typeset details>.admonition-title,.md-typeset details>summary{margin:0 -.6rem;padding:.4rem .6rem .4rem 2rem;border-bottom:.05rem solid rgba(68,138,255,.1);background-color:rgba(68,138,255,.1);font-weight:700}[dir=rtl] .md-typeset .admonition>.admonition-title,[dir=rtl] .md-typeset .admonition>summary,[dir=rtl] .md-typeset details>.admonition-title,[dir=rtl] .md-typeset details>summary{padding:.4rem 2rem .4rem .6rem}.md-typeset .admonition>.admonition-title:last-child,.md-typeset .admonition>summary:last-child,.md-typeset details>.admonition-title:last-child,.md-typeset details>summary:last-child{margin-bottom:0}.md-typeset .admonition>.admonition-title:before,.md-typeset .admonition>summary:before,.md-typeset details>.admonition-title:before,.md-typeset details>summary:before{position:absolute;left:.6rem;color:#448aff;font-size:1rem;content:"\E3C9"}[dir=rtl] .md-typeset .admonition>.admonition-title:before,[dir=rtl] .md-typeset .admonition>summary:before,[dir=rtl] .md-typeset details>.admonition-title:before,[dir=rtl] .md-typeset details>summary:before{right:.6rem;left:auto}.md-typeset .admonition.abstract,.md-typeset .admonition.summary,.md-typeset .admonition.tldr,.md-typeset details.abstract,.md-typeset details.summary,.md-typeset details.tldr{border-left-color:#00b0ff}[dir=rtl] .md-typeset .admonition.abstract,[dir=rtl] .md-typeset .admonition.summary,[dir=rtl] .md-typeset .admonition.tldr,[dir=rtl] .md-typeset details.abstract,[dir=rtl] .md-typeset details.summary,[dir=rtl] .md-typeset details.tldr{border-right-color:#00b0ff}.md-typeset .admonition.abstract>.admonition-title,.md-typeset .admonition.abstract>summary,.md-typeset .admonition.summary>.admonition-title,.md-typeset .admonition.summary>summary,.md-typeset .admonition.tldr>.admonition-title,.md-typeset .admonition.tldr>summary,.md-typeset details.abstract>.admonition-title,.md-typeset details.abstract>summary,.md-typeset details.summary>.admonition-title,.md-typeset details.summary>summary,.md-typeset details.tldr>.admonition-title,.md-typeset details.tldr>summary{border-bottom-color:rgba(0,176,255,.1);background-color:rgba(0,176,255,.1)}.md-typeset .admonition.abstract>.admonition-title:before,.md-typeset .admonition.abstract>summary:before,.md-typeset .admonition.summary>.admonition-title:before,.md-typeset .admonition.summary>summary:before,.md-typeset .admonition.tldr>.admonition-title:before,.md-typeset .admonition.tldr>summary:before,.md-typeset details.abstract>.admonition-title:before,.md-typeset details.abstract>summary:before,.md-typeset details.summary>.admonition-title:before,.md-typeset details.summary>summary:before,.md-typeset details.tldr>.admonition-title:before,.md-typeset details.tldr>summary:before{color:#00b0ff;content:""}.md-typeset .admonition.info,.md-typeset .admonition.todo,.md-typeset details.info,.md-typeset details.todo{border-left-color:#00b8d4}[dir=rtl] .md-typeset .admonition.info,[dir=rtl] .md-typeset .admonition.todo,[dir=rtl] .md-typeset details.info,[dir=rtl] .md-typeset details.todo{border-right-color:#00b8d4}.md-typeset .admonition.info>.admonition-title,.md-typeset .admonition.info>summary,.md-typeset .admonition.todo>.admonition-title,.md-typeset .admonition.todo>summary,.md-typeset details.info>.admonition-title,.md-typeset details.info>summary,.md-typeset details.todo>.admonition-title,.md-typeset details.todo>summary{border-bottom-color:rgba(0,184,212,.1);background-color:rgba(0,184,212,.1)}.md-typeset .admonition.info>.admonition-title:before,.md-typeset .admonition.info>summary:before,.md-typeset .admonition.todo>.admonition-title:before,.md-typeset .admonition.todo>summary:before,.md-typeset details.info>.admonition-title:before,.md-typeset details.info>summary:before,.md-typeset details.todo>.admonition-title:before,.md-typeset details.todo>summary:before{color:#00b8d4;content:""}.md-typeset .admonition.hint,.md-typeset .admonition.important,.md-typeset .admonition.tip,.md-typeset details.hint,.md-typeset details.important,.md-typeset details.tip{border-left-color:#00bfa5}[dir=rtl] .md-typeset .admonition.hint,[dir=rtl] .md-typeset .admonition.important,[dir=rtl] .md-typeset .admonition.tip,[dir=rtl] .md-typeset details.hint,[dir=rtl] .md-typeset details.important,[dir=rtl] .md-typeset details.tip{border-right-color:#00bfa5}.md-typeset .admonition.hint>.admonition-title,.md-typeset .admonition.hint>summary,.md-typeset .admonition.important>.admonition-title,.md-typeset .admonition.important>summary,.md-typeset .admonition.tip>.admonition-title,.md-typeset .admonition.tip>summary,.md-typeset details.hint>.admonition-title,.md-typeset details.hint>summary,.md-typeset details.important>.admonition-title,.md-typeset details.important>summary,.md-typeset details.tip>.admonition-title,.md-typeset details.tip>summary{border-bottom-color:rgba(0,191,165,.1);background-color:rgba(0,191,165,.1)}.md-typeset .admonition.hint>.admonition-title:before,.md-typeset .admonition.hint>summary:before,.md-typeset .admonition.important>.admonition-title:before,.md-typeset .admonition.important>summary:before,.md-typeset .admonition.tip>.admonition-title:before,.md-typeset .admonition.tip>summary:before,.md-typeset details.hint>.admonition-title:before,.md-typeset details.hint>summary:before,.md-typeset details.important>.admonition-title:before,.md-typeset details.important>summary:before,.md-typeset details.tip>.admonition-title:before,.md-typeset details.tip>summary:before{color:#00bfa5;content:""}.md-typeset .admonition.check,.md-typeset .admonition.done,.md-typeset .admonition.success,.md-typeset details.check,.md-typeset details.done,.md-typeset details.success{border-left-color:#00c853}[dir=rtl] .md-typeset .admonition.check,[dir=rtl] .md-typeset .admonition.done,[dir=rtl] .md-typeset .admonition.success,[dir=rtl] .md-typeset details.check,[dir=rtl] .md-typeset details.done,[dir=rtl] .md-typeset details.success{border-right-color:#00c853}.md-typeset .admonition.check>.admonition-title,.md-typeset .admonition.check>summary,.md-typeset .admonition.done>.admonition-title,.md-typeset .admonition.done>summary,.md-typeset .admonition.success>.admonition-title,.md-typeset .admonition.success>summary,.md-typeset details.check>.admonition-title,.md-typeset details.check>summary,.md-typeset details.done>.admonition-title,.md-typeset details.done>summary,.md-typeset details.success>.admonition-title,.md-typeset details.success>summary{border-bottom-color:rgba(0,200,83,.1);background-color:rgba(0,200,83,.1)}.md-typeset .admonition.check>.admonition-title:before,.md-typeset .admonition.check>summary:before,.md-typeset .admonition.done>.admonition-title:before,.md-typeset .admonition.done>summary:before,.md-typeset .admonition.success>.admonition-title:before,.md-typeset .admonition.success>summary:before,.md-typeset details.check>.admonition-title:before,.md-typeset details.check>summary:before,.md-typeset details.done>.admonition-title:before,.md-typeset details.done>summary:before,.md-typeset details.success>.admonition-title:before,.md-typeset details.success>summary:before{color:#00c853;content:""}.md-typeset .admonition.faq,.md-typeset .admonition.help,.md-typeset .admonition.question,.md-typeset details.faq,.md-typeset details.help,.md-typeset details.question{border-left-color:#64dd17}[dir=rtl] .md-typeset .admonition.faq,[dir=rtl] .md-typeset .admonition.help,[dir=rtl] .md-typeset .admonition.question,[dir=rtl] .md-typeset details.faq,[dir=rtl] .md-typeset details.help,[dir=rtl] .md-typeset details.question{border-right-color:#64dd17}.md-typeset .admonition.faq>.admonition-title,.md-typeset .admonition.faq>summary,.md-typeset .admonition.help>.admonition-title,.md-typeset .admonition.help>summary,.md-typeset .admonition.question>.admonition-title,.md-typeset .admonition.question>summary,.md-typeset details.faq>.admonition-title,.md-typeset details.faq>summary,.md-typeset details.help>.admonition-title,.md-typeset details.help>summary,.md-typeset details.question>.admonition-title,.md-typeset details.question>summary{border-bottom-color:rgba(100,221,23,.1);background-color:rgba(100,221,23,.1)}.md-typeset .admonition.faq>.admonition-title:before,.md-typeset .admonition.faq>summary:before,.md-typeset .admonition.help>.admonition-title:before,.md-typeset .admonition.help>summary:before,.md-typeset .admonition.question>.admonition-title:before,.md-typeset .admonition.question>summary:before,.md-typeset details.faq>.admonition-title:before,.md-typeset details.faq>summary:before,.md-typeset details.help>.admonition-title:before,.md-typeset details.help>summary:before,.md-typeset details.question>.admonition-title:before,.md-typeset details.question>summary:before{color:#64dd17;content:""}.md-typeset .admonition.attention,.md-typeset .admonition.caution,.md-typeset .admonition.warning,.md-typeset details.attention,.md-typeset details.caution,.md-typeset details.warning{border-left-color:#ff9100}[dir=rtl] .md-typeset .admonition.attention,[dir=rtl] .md-typeset .admonition.caution,[dir=rtl] .md-typeset .admonition.warning,[dir=rtl] .md-typeset details.attention,[dir=rtl] .md-typeset details.caution,[dir=rtl] .md-typeset details.warning{border-right-color:#ff9100}.md-typeset .admonition.attention>.admonition-title,.md-typeset .admonition.attention>summary,.md-typeset .admonition.caution>.admonition-title,.md-typeset .admonition.caution>summary,.md-typeset .admonition.warning>.admonition-title,.md-typeset .admonition.warning>summary,.md-typeset details.attention>.admonition-title,.md-typeset details.attention>summary,.md-typeset details.caution>.admonition-title,.md-typeset details.caution>summary,.md-typeset details.warning>.admonition-title,.md-typeset details.warning>summary{border-bottom-color:rgba(255,145,0,.1);background-color:rgba(255,145,0,.1)}.md-typeset .admonition.attention>.admonition-title:before,.md-typeset .admonition.attention>summary:before,.md-typeset .admonition.caution>.admonition-title:before,.md-typeset .admonition.caution>summary:before,.md-typeset .admonition.warning>.admonition-title:before,.md-typeset .admonition.warning>summary:before,.md-typeset details.attention>.admonition-title:before,.md-typeset details.attention>summary:before,.md-typeset details.caution>.admonition-title:before,.md-typeset details.caution>summary:before,.md-typeset details.warning>.admonition-title:before,.md-typeset details.warning>summary:before{color:#ff9100;content:""}.md-typeset .admonition.fail,.md-typeset .admonition.failure,.md-typeset .admonition.missing,.md-typeset details.fail,.md-typeset details.failure,.md-typeset details.missing{border-left-color:#ff5252}[dir=rtl] .md-typeset .admonition.fail,[dir=rtl] .md-typeset .admonition.failure,[dir=rtl] .md-typeset .admonition.missing,[dir=rtl] .md-typeset details.fail,[dir=rtl] .md-typeset details.failure,[dir=rtl] .md-typeset details.missing{border-right-color:#ff5252}.md-typeset .admonition.fail>.admonition-title,.md-typeset .admonition.fail>summary,.md-typeset .admonition.failure>.admonition-title,.md-typeset .admonition.failure>summary,.md-typeset .admonition.missing>.admonition-title,.md-typeset .admonition.missing>summary,.md-typeset details.fail>.admonition-title,.md-typeset details.fail>summary,.md-typeset details.failure>.admonition-title,.md-typeset details.failure>summary,.md-typeset details.missing>.admonition-title,.md-typeset details.missing>summary{border-bottom-color:rgba(255,82,82,.1);background-color:rgba(255,82,82,.1)}.md-typeset .admonition.fail>.admonition-title:before,.md-typeset .admonition.fail>summary:before,.md-typeset .admonition.failure>.admonition-title:before,.md-typeset .admonition.failure>summary:before,.md-typeset .admonition.missing>.admonition-title:before,.md-typeset .admonition.missing>summary:before,.md-typeset details.fail>.admonition-title:before,.md-typeset details.fail>summary:before,.md-typeset details.failure>.admonition-title:before,.md-typeset details.failure>summary:before,.md-typeset details.missing>.admonition-title:before,.md-typeset details.missing>summary:before{color:#ff5252;content:""}.md-typeset .admonition.danger,.md-typeset .admonition.error,.md-typeset details.danger,.md-typeset details.error{border-left-color:#ff1744}[dir=rtl] .md-typeset .admonition.danger,[dir=rtl] .md-typeset .admonition.error,[dir=rtl] .md-typeset details.danger,[dir=rtl] .md-typeset details.error{border-right-color:#ff1744}.md-typeset .admonition.danger>.admonition-title,.md-typeset .admonition.danger>summary,.md-typeset .admonition.error>.admonition-title,.md-typeset .admonition.error>summary,.md-typeset details.danger>.admonition-title,.md-typeset details.danger>summary,.md-typeset details.error>.admonition-title,.md-typeset details.error>summary{border-bottom-color:rgba(255,23,68,.1);background-color:rgba(255,23,68,.1)}.md-typeset .admonition.danger>.admonition-title:before,.md-typeset .admonition.danger>summary:before,.md-typeset .admonition.error>.admonition-title:before,.md-typeset .admonition.error>summary:before,.md-typeset details.danger>.admonition-title:before,.md-typeset details.danger>summary:before,.md-typeset details.error>.admonition-title:before,.md-typeset details.error>summary:before{color:#ff1744;content:""}.md-typeset .admonition.bug,.md-typeset details.bug{border-left-color:#f50057}[dir=rtl] .md-typeset .admonition.bug,[dir=rtl] .md-typeset details.bug{border-right-color:#f50057}.md-typeset .admonition.bug>.admonition-title,.md-typeset .admonition.bug>summary,.md-typeset details.bug>.admonition-title,.md-typeset details.bug>summary{border-bottom-color:rgba(245,0,87,.1);background-color:rgba(245,0,87,.1)}.md-typeset .admonition.bug>.admonition-title:before,.md-typeset .admonition.bug>summary:before,.md-typeset details.bug>.admonition-title:before,.md-typeset details.bug>summary:before{color:#f50057;content:""}.md-typeset .admonition.example,.md-typeset details.example{border-left-color:#651fff}[dir=rtl] .md-typeset .admonition.example,[dir=rtl] .md-typeset details.example{border-right-color:#651fff}.md-typeset .admonition.example>.admonition-title,.md-typeset .admonition.example>summary,.md-typeset details.example>.admonition-title,.md-typeset details.example>summary{border-bottom-color:rgba(101,31,255,.1);background-color:rgba(101,31,255,.1)}.md-typeset .admonition.example>.admonition-title:before,.md-typeset .admonition.example>summary:before,.md-typeset details.example>.admonition-title:before,.md-typeset details.example>summary:before{color:#651fff;content:""}.md-typeset .admonition.cite,.md-typeset .admonition.quote,.md-typeset details.cite,.md-typeset details.quote{border-left-color:#9e9e9e}[dir=rtl] .md-typeset .admonition.cite,[dir=rtl] .md-typeset .admonition.quote,[dir=rtl] .md-typeset details.cite,[dir=rtl] .md-typeset details.quote{border-right-color:#9e9e9e}.md-typeset .admonition.cite>.admonition-title,.md-typeset .admonition.cite>summary,.md-typeset .admonition.quote>.admonition-title,.md-typeset .admonition.quote>summary,.md-typeset details.cite>.admonition-title,.md-typeset details.cite>summary,.md-typeset details.quote>.admonition-title,.md-typeset details.quote>summary{border-bottom-color:hsla(0,0%,62%,.1);background-color:hsla(0,0%,62%,.1)}.md-typeset .admonition.cite>.admonition-title:before,.md-typeset .admonition.cite>summary:before,.md-typeset .admonition.quote>.admonition-title:before,.md-typeset .admonition.quote>summary:before,.md-typeset details.cite>.admonition-title:before,.md-typeset details.cite>summary:before,.md-typeset details.quote>.admonition-title:before,.md-typeset details.quote>summary:before{color:#9e9e9e;content:""}.codehilite .o,.codehilite .ow,.md-typeset .highlight .o,.md-typeset .highlight .ow{color:inherit}.codehilite .ge,.md-typeset .highlight .ge{color:#000}.codehilite .gr,.md-typeset .highlight .gr{color:#a00}.codehilite .gh,.md-typeset .highlight .gh{color:#999}.codehilite .go,.md-typeset .highlight .go{color:#888}.codehilite .gp,.md-typeset .highlight .gp{color:#555}.codehilite .gs,.md-typeset .highlight .gs{color:inherit}.codehilite .gu,.md-typeset .highlight .gu{color:#aaa}.codehilite .gt,.md-typeset .highlight .gt{color:#a00}.codehilite .gd,.md-typeset .highlight .gd{background-color:#fdd}.codehilite .gi,.md-typeset .highlight .gi{background-color:#dfd}.codehilite .k,.md-typeset .highlight .k{color:#3b78e7}.codehilite .kc,.md-typeset .highlight .kc{color:#a71d5d}.codehilite .kd,.codehilite .kn,.md-typeset .highlight .kd,.md-typeset .highlight .kn{color:#3b78e7}.codehilite .kp,.md-typeset .highlight .kp{color:#a71d5d}.codehilite .kr,.codehilite .kt,.md-typeset .highlight .kr,.md-typeset .highlight .kt{color:#3e61a2}.codehilite .c,.codehilite .cm,.md-typeset .highlight .c,.md-typeset .highlight .cm{color:#999}.codehilite .cp,.md-typeset .highlight .cp{color:#666}.codehilite .c1,.codehilite .ch,.codehilite .cs,.md-typeset .highlight .c1,.md-typeset .highlight .ch,.md-typeset .highlight .cs{color:#999}.codehilite .na,.codehilite .nb,.md-typeset .highlight .na,.md-typeset .highlight .nb{color:#c2185b}.codehilite .bp,.md-typeset .highlight .bp{color:#3e61a2}.codehilite .nc,.md-typeset .highlight .nc{color:#c2185b}.codehilite .no,.md-typeset .highlight .no{color:#3e61a2}.codehilite .nd,.codehilite .ni,.md-typeset .highlight .nd,.md-typeset .highlight .ni{color:#666}.codehilite .ne,.codehilite .nf,.md-typeset .highlight .ne,.md-typeset .highlight .nf{color:#c2185b}.codehilite .nl,.md-typeset .highlight .nl{color:#3b5179}.codehilite .nn,.md-typeset .highlight .nn{color:#ec407a}.codehilite .nt,.md-typeset .highlight .nt{color:#3b78e7}.codehilite .nv,.codehilite .vc,.codehilite .vg,.codehilite .vi,.md-typeset .highlight .nv,.md-typeset .highlight .vc,.md-typeset .highlight .vg,.md-typeset .highlight .vi{color:#3e61a2}.codehilite .nx,.md-typeset .highlight .nx{color:#ec407a}.codehilite .il,.codehilite .m,.codehilite .mf,.codehilite .mh,.codehilite .mi,.codehilite .mo,.md-typeset .highlight .il,.md-typeset .highlight .m,.md-typeset .highlight .mf,.md-typeset .highlight .mh,.md-typeset .highlight .mi,.md-typeset .highlight .mo{color:#e74c3c}.codehilite .s,.codehilite .sb,.codehilite .sc,.md-typeset .highlight .s,.md-typeset .highlight .sb,.md-typeset .highlight .sc{color:#0d904f}.codehilite .sd,.md-typeset .highlight .sd{color:#999}.codehilite .s2,.md-typeset .highlight .s2{color:#0d904f}.codehilite .se,.codehilite .sh,.codehilite .si,.codehilite .sx,.md-typeset .highlight .se,.md-typeset .highlight .sh,.md-typeset .highlight .si,.md-typeset .highlight .sx{color:#183691}.codehilite .sr,.md-typeset .highlight .sr{color:#009926}.codehilite .s1,.codehilite .ss,.md-typeset .highlight .s1,.md-typeset .highlight .ss{color:#0d904f}.codehilite .err,.md-typeset .highlight .err{color:#a61717}.codehilite .w,.md-typeset .highlight .w{color:transparent}.codehilite .hll,.md-typeset .highlight .hll{display:block;margin:0 -.6rem;padding:0 .6rem;background-color:rgba(255,235,59,.5)}.md-typeset .codehilitetable,.md-typeset .highlighttable{display:block;overflow:hidden}.md-typeset .codehilitetable tbody,.md-typeset .codehilitetable td,.md-typeset .highlighttable tbody,.md-typeset .highlighttable td{display:block;padding:0}.md-typeset .codehilitetable tr,.md-typeset .highlighttable tr{display:-webkit-box;display:flex}.md-typeset .codehilitetable .linenodiv,.md-typeset .codehilitetable pre,.md-typeset .highlighttable .linenodiv,.md-typeset .highlighttable pre{margin:0;border-radius:0}.md-typeset .codehilitetable .linenodiv,.md-typeset .highlighttable .linenodiv{padding:.525rem .6rem}.md-typeset .codehilitetable .linenos,.md-typeset .highlighttable .linenos{background-color:rgba(0,0,0,.07);color:rgba(0,0,0,.26);-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.md-typeset .codehilitetable .linenos pre,.md-typeset .highlighttable .linenos pre{background-color:transparent;color:inherit;text-align:right}.md-typeset .codehilitetable .code,.md-typeset .highlighttable .code{-webkit-box-flex:1;flex:1;overflow:hidden}.md-typeset>.codehilitetable,.md-typeset>.highlighttable{margin:1em 0;border-radius:.2em}.md-typeset [id^="fnref:"]{display:inline-block}.md-typeset [id^="fnref:"]:target{margin-top:-3.8rem;padding-top:3.8rem;pointer-events:none}.md-typeset [id^="fn:"]:before{display:none;height:0;content:""}.md-typeset [id^="fn:"]:target:before{display:block;margin-top:-3.5rem;padding-top:3.5rem;pointer-events:none}.md-typeset .footnote{color:rgba(0,0,0,.54);font-size:.64rem}.md-typeset .footnote ol{margin-left:0}.md-typeset .footnote li{-webkit-transition:color .25s;transition:color .25s}.md-typeset .footnote li:target{color:rgba(0,0,0,.87)}.md-typeset .footnote li :first-child{margin-top:0}.md-typeset .footnote li:hover .footnote-backref,.md-typeset .footnote li:target .footnote-backref{-webkit-transform:translateX(0);transform:translateX(0);opacity:1}.md-typeset .footnote li:hover .footnote-backref:hover,.md-typeset .footnote li:target .footnote-backref{color:#536dfe}.md-typeset .footnote-ref{display:inline-block;pointer-events:auto}.md-typeset .footnote-ref:before{display:inline;margin:0 .2em;border-left:.05rem solid rgba(0,0,0,.26);font-size:1.25em;content:"";vertical-align:-.25rem}.md-typeset .footnote-backref{display:inline-block;-webkit-transform:translateX(.25rem);transform:translateX(.25rem);-webkit-transition:color .25s,opacity .125s .125s,-webkit-transform .25s .125s;transition:color .25s,opacity .125s .125s,-webkit-transform .25s .125s;transition:transform .25s .125s,color .25s,opacity .125s .125s;transition:transform .25s .125s,color .25s,opacity .125s .125s,-webkit-transform .25s .125s;color:rgba(0,0,0,.26);font-size:0;opacity:0;vertical-align:text-bottom}[dir=rtl] .md-typeset .footnote-backref{-webkit-transform:translateX(-.25rem);transform:translateX(-.25rem)}.md-typeset .footnote-backref:before{display:inline-block;font-size:.8rem;content:"\E31B"}[dir=rtl] .md-typeset .footnote-backref:before{-webkit-transform:scaleX(-1);transform:scaleX(-1)}.md-typeset .headerlink{display:inline-block;margin-left:.5rem;-webkit-transform:translateY(.25rem);transform:translateY(.25rem);-webkit-transition:color .25s,opacity .125s .25s,-webkit-transform .25s .25s;transition:color .25s,opacity .125s .25s,-webkit-transform .25s .25s;transition:transform .25s .25s,color .25s,opacity .125s .25s;transition:transform .25s .25s,color .25s,opacity .125s .25s,-webkit-transform .25s .25s;opacity:0}[dir=rtl] .md-typeset .headerlink{margin-right:.5rem;margin-left:0}html body .md-typeset .headerlink{color:rgba(0,0,0,.26)}.md-typeset h1[id]:before{display:block;margin-top:-9px;padding-top:9px;content:""}.md-typeset h1[id]:target:before{margin-top:-3.45rem;padding-top:3.45rem}.md-typeset h1[id] .headerlink:focus,.md-typeset h1[id]:hover .headerlink,.md-typeset h1[id]:target .headerlink{-webkit-transform:translate(0);transform:translate(0);opacity:1}.md-typeset h1[id] .headerlink:focus,.md-typeset h1[id]:hover .headerlink:hover,.md-typeset h1[id]:target .headerlink{color:#536dfe}.md-typeset h2[id]:before{display:block;margin-top:-8px;padding-top:8px;content:""}.md-typeset h2[id]:target:before{margin-top:-3.4rem;padding-top:3.4rem}.md-typeset h2[id] .headerlink:focus,.md-typeset h2[id]:hover .headerlink,.md-typeset h2[id]:target .headerlink{-webkit-transform:translate(0);transform:translate(0);opacity:1}.md-typeset h2[id] .headerlink:focus,.md-typeset h2[id]:hover .headerlink:hover,.md-typeset h2[id]:target .headerlink{color:#536dfe}.md-typeset h3[id]:before{display:block;margin-top:-9px;padding-top:9px;content:""}.md-typeset h3[id]:target:before{margin-top:-3.45rem;padding-top:3.45rem}.md-typeset h3[id] .headerlink:focus,.md-typeset h3[id]:hover .headerlink,.md-typeset h3[id]:target .headerlink{-webkit-transform:translate(0);transform:translate(0);opacity:1}.md-typeset h3[id] .headerlink:focus,.md-typeset h3[id]:hover .headerlink:hover,.md-typeset h3[id]:target .headerlink{color:#536dfe}.md-typeset h4[id]:before{display:block;margin-top:-9px;padding-top:9px;content:""}.md-typeset h4[id]:target:before{margin-top:-3.45rem;padding-top:3.45rem}.md-typeset h4[id] .headerlink:focus,.md-typeset h4[id]:hover .headerlink,.md-typeset h4[id]:target .headerlink{-webkit-transform:translate(0);transform:translate(0);opacity:1}.md-typeset h4[id] .headerlink:focus,.md-typeset h4[id]:hover .headerlink:hover,.md-typeset h4[id]:target .headerlink{color:#536dfe}.md-typeset h5[id]:before{display:block;margin-top:-11px;padding-top:11px;content:""}.md-typeset h5[id]:target:before{margin-top:-3.55rem;padding-top:3.55rem}.md-typeset h5[id] .headerlink:focus,.md-typeset h5[id]:hover .headerlink,.md-typeset h5[id]:target .headerlink{-webkit-transform:translate(0);transform:translate(0);opacity:1}.md-typeset h5[id] .headerlink:focus,.md-typeset h5[id]:hover .headerlink:hover,.md-typeset h5[id]:target .headerlink{color:#536dfe}.md-typeset h6[id]:before{display:block;margin-top:-11px;padding-top:11px;content:""}.md-typeset h6[id]:target:before{margin-top:-3.55rem;padding-top:3.55rem}.md-typeset h6[id] .headerlink:focus,.md-typeset h6[id]:hover .headerlink,.md-typeset h6[id]:target .headerlink{-webkit-transform:translate(0);transform:translate(0);opacity:1}.md-typeset h6[id] .headerlink:focus,.md-typeset h6[id]:hover .headerlink:hover,.md-typeset h6[id]:target .headerlink{color:#536dfe}.md-typeset .MJXc-display{margin:.75em 0;padding:.75em 0;overflow:auto;-webkit-overflow-scrolling:touch}.md-typeset .MathJax_CHTML{outline:0}.md-typeset .critic.comment,.md-typeset del.critic,.md-typeset ins.critic{margin:0 .25em;padding:.0625em 0;border-radius:.1rem;-webkit-box-decoration-break:clone;box-decoration-break:clone}.md-typeset del.critic{background-color:#fdd;box-shadow:.25em 0 0 #fdd,-.25em 0 0 #fdd}.md-typeset ins.critic{background-color:#dfd;box-shadow:.25em 0 0 #dfd,-.25em 0 0 #dfd}.md-typeset .critic.comment{background-color:hsla(0,0%,92.5%,.5);color:#37474f;box-shadow:.25em 0 0 hsla(0,0%,92.5%,.5),-.25em 0 0 hsla(0,0%,92.5%,.5)}.md-typeset .critic.comment:before{padding-right:.125em;color:rgba(0,0,0,.26);content:"\E0B7";vertical-align:-.125em}.md-typeset .critic.block{display:block;margin:1em 0;padding-right:.8rem;padding-left:.8rem;box-shadow:none}.md-typeset .critic.block :first-child{margin-top:.5em}.md-typeset .critic.block :last-child{margin-bottom:.5em}.md-typeset details{display:block;padding-top:0}.md-typeset details[open]>summary:after{-webkit-transform:rotate(180deg);transform:rotate(180deg)}.md-typeset details:not([open]){padding-bottom:0}.md-typeset details:not([open])>summary{border-bottom:none}.md-typeset details summary{padding-right:2rem}[dir=rtl] .md-typeset details summary{padding-left:2rem}.no-details .md-typeset details:not([open])>*{display:none}.no-details .md-typeset details:not([open]) summary{display:block}.md-typeset summary{display:block;outline:none;cursor:pointer}.md-typeset summary::-webkit-details-marker{display:none}.md-typeset summary:after{position:absolute;top:.4rem;right:.6rem;color:rgba(0,0,0,.26);font-size:1rem;content:"\E313"}[dir=rtl] .md-typeset summary:after{right:auto;left:.6rem}.md-typeset .emojione,.md-typeset .gemoji,.md-typeset .twemoji{width:1rem;vertical-align:text-top}.md-typeset code.codehilite,.md-typeset code.highlight{margin:0 .29412em;padding:.07353em 0}.md-typeset .superfences-content{display:none;-webkit-box-ordinal-group:100;order:99;width:100%;background-color:#fff}.md-typeset .superfences-content pre{margin:0;border-radius:0}.md-typeset .superfences-tabs{display:-webkit-box;display:flex;position:relative;flex-wrap:wrap;margin:1em 0;border:.05rem solid rgba(0,0,0,.07);border-radius:.2em}.md-typeset .superfences-tabs>input{display:none}.md-typeset .superfences-tabs>input:checked+label{font-weight:700}.md-typeset .superfences-tabs>input:checked+label+.superfences-content{display:block}.md-typeset .superfences-tabs>label{width:auto;padding:.6rem;-webkit-transition:color .125s;transition:color .125s;font-size:.64rem;cursor:pointer}html .md-typeset .superfences-tabs>label:hover{color:#536dfe}.md-typeset .task-list-item{position:relative;list-style-type:none}.md-typeset .task-list-item [type=checkbox]{position:absolute;top:.45em;left:-2em}[dir=rtl] .md-typeset .task-list-item [type=checkbox]{right:-2em;left:auto}.md-typeset .task-list-control .task-list-indicator:before{position:absolute;top:.15em;left:-1.25em;color:rgba(0,0,0,.26);font-size:1.25em;content:"\E835";vertical-align:-.25em}[dir=rtl] .md-typeset .task-list-control .task-list-indicator:before{right:-1.25em;left:auto}.md-typeset .task-list-control [type=checkbox]:checked+.task-list-indicator:before{content:"\E834"}.md-typeset .task-list-control [type=checkbox]{opacity:0;z-index:-1}@media print{.md-typeset a:after{color:rgba(0,0,0,.54);content:" [" attr(href) "]"}.md-typeset code,.md-typeset pre{white-space:pre-wrap}.md-typeset code{box-shadow:none;-webkit-box-decoration-break:initial;box-decoration-break:slice}.md-clipboard,.md-content__icon,.md-footer,.md-header,.md-sidebar,.md-tabs,.md-typeset .headerlink{display:none}}@media only screen and (max-width:44.9375em){.md-typeset>pre{margin:1em -.8rem;border-radius:0}.md-typeset>pre>code{padding:.525rem .8rem}.md-footer-nav__link--prev .md-footer-nav__title{display:none}.md-search-result__teaser{max-height:2.5rem;-webkit-line-clamp:3}.codehilite .hll,.md-typeset .highlight .hll{margin:0 -.8rem;padding:0 .8rem}.md-typeset>.codehilite,.md-typeset>.highlight{margin:1em -.8rem}.md-typeset>.codehilite code,.md-typeset>.highlight code{padding:.525rem .8rem}.md-typeset>.codehilitetable,.md-typeset>.highlighttable{margin:1em -.8rem;border-radius:0}.md-typeset>.codehilitetable .linenodiv,.md-typeset>.highlighttable .linenodiv{padding:.5rem .8rem}.md-typeset>p>.MJXc-display{margin:.75em -.8rem;padding:.25em .8rem}.md-typeset>.superfences-tabs{margin:1em -.8rem;border:0;border-top:.05rem solid rgba(0,0,0,.07);border-radius:0}.md-typeset>.superfences-tabs code{padding:.525rem .8rem}.md-typeset>.superfences-tabs input:first-child+label{margin-left:.2rem}}@media only screen and (min-width:100em){html{font-size:137.5%}}@media only screen and (min-width:125em){html{font-size:150%}}@media only screen and (max-width:59.9375em){body[data-md-state=lock]{overflow:hidden}.ios body[data-md-state=lock] .md-container{display:none}html .md-nav__link[for=__toc]{display:block;padding-right:2.4rem}html .md-nav__link[for=__toc]:after{color:inherit;content:"\E8DE"}html .md-nav__link[for=__toc]+.md-nav__link{display:none}html .md-nav__link[for=__toc]~.md-nav{display:-webkit-box;display:flex}html [dir=rtl] .md-nav__link{padding-right:.8rem;padding-left:2.4rem}.md-nav__source{display:block;padding:0 .2rem;background-color:rgba(50,64,144,.9675);color:#fff}.md-search__overlay{position:absolute;top:.2rem;left:.2rem;width:1.8rem;height:1.8rem;-webkit-transform-origin:center;transform-origin:center;-webkit-transition:opacity .2s .2s,-webkit-transform .3s .1s;transition:opacity .2s .2s,-webkit-transform .3s .1s;transition:transform .3s .1s,opacity .2s .2s;transition:transform .3s .1s,opacity .2s .2s,-webkit-transform .3s .1s;border-radius:1rem;background-color:#fff;overflow:hidden;pointer-events:none}[dir=rtl] .md-search__overlay{right:.2rem;left:auto}[data-md-toggle=search]:checked~.md-header .md-search__overlay{-webkit-transition:opacity .1s,-webkit-transform .4s;transition:opacity .1s,-webkit-transform .4s;transition:transform .4s,opacity .1s;transition:transform .4s,opacity .1s,-webkit-transform .4s;opacity:1}.md-search__inner{position:fixed;top:0;left:100%;width:100%;height:100%;-webkit-transform:translateX(5%);transform:translateX(5%);-webkit-transition:right 0s .3s,left 0s .3s,opacity .15s .15s,-webkit-transform .15s cubic-bezier(.4,0,.2,1) .15s;transition:right 0s .3s,left 0s .3s,opacity .15s .15s,-webkit-transform .15s cubic-bezier(.4,0,.2,1) .15s;transition:right 0s .3s,left 0s .3s,transform .15s cubic-bezier(.4,0,.2,1) .15s,opacity .15s .15s;transition:right 0s .3s,left 0s .3s,transform .15s cubic-bezier(.4,0,.2,1) .15s,opacity .15s .15s,-webkit-transform .15s cubic-bezier(.4,0,.2,1) .15s;opacity:0;z-index:2}[data-md-toggle=search]:checked~.md-header .md-search__inner{left:0;-webkit-transform:translateX(0);transform:translateX(0);-webkit-transition:right 0s 0s,left 0s 0s,opacity .15s .15s,-webkit-transform .15s cubic-bezier(.1,.7,.1,1) .15s;transition:right 0s 0s,left 0s 0s,opacity .15s .15s,-webkit-transform .15s cubic-bezier(.1,.7,.1,1) .15s;transition:right 0s 0s,left 0s 0s,transform .15s cubic-bezier(.1,.7,.1,1) .15s,opacity .15s .15s;transition:right 0s 0s,left 0s 0s,transform .15s cubic-bezier(.1,.7,.1,1) .15s,opacity .15s .15s,-webkit-transform .15s cubic-bezier(.1,.7,.1,1) .15s;opacity:1}[dir=rtl] [data-md-toggle=search]:checked~.md-header .md-search__inner{right:0;left:auto}html [dir=rtl] .md-search__inner{right:100%;left:auto;-webkit-transform:translateX(-5%);transform:translateX(-5%)}.md-search__input{width:100%;height:2.4rem;font-size:.9rem}.md-search__icon[for=__search]{top:.6rem;left:.8rem}.md-search__icon[for=__search][for=__search]:before{content:"\E5C4"}[dir=rtl] .md-search__icon[for=__search][for=__search]:before{content:"\E5C8"}.md-search__icon[type=reset]{top:.6rem;right:.8rem}.md-search__output{top:2.4rem;bottom:0}.md-search-result__article--document:before{display:none}}@media only screen and (max-width:76.1875em){[data-md-toggle=drawer]:checked~.md-overlay{width:100%;height:100%;-webkit-transition:width 0s,height 0s,opacity .25s;transition:width 0s,height 0s,opacity .25s;opacity:1}.md-header-nav__button.md-icon--home,.md-header-nav__button.md-logo{display:none}.md-hero__inner{margin-top:2.4rem;margin-bottom:1.2rem}.md-nav{background-color:#fff}.md-nav--primary,.md-nav--primary .md-nav{display:-webkit-box;display:flex;position:absolute;top:0;right:0;left:0;-webkit-box-orient:vertical;-webkit-box-direction:normal;flex-direction:column;height:100%;z-index:1}.md-nav--primary .md-nav__item,.md-nav--primary .md-nav__title{font-size:.8rem;line-height:1.5}html .md-nav--primary .md-nav__title{position:relative;height:5.6rem;padding:3rem .8rem .2rem;background-color:rgba(0,0,0,.07);color:rgba(0,0,0,.54);font-weight:400;line-height:2.4rem;white-space:nowrap;cursor:pointer}html .md-nav--primary .md-nav__title:before{display:block;position:absolute;top:.2rem;left:.2rem;width:2rem;height:2rem;color:rgba(0,0,0,.54)}html .md-nav--primary .md-nav__title~.md-nav__list{background-color:#fff;box-shadow:inset 0 .05rem 0 rgba(0,0,0,.07)}html .md-nav--primary .md-nav__title~.md-nav__list>.md-nav__item:first-child{border-top:0}html .md-nav--primary .md-nav__title--site{position:relative;background-color:#3f51b5;color:#fff}html .md-nav--primary .md-nav__title--site .md-nav__button{display:block;position:absolute;top:.2rem;left:.2rem;width:3.2rem;height:3.2rem;font-size:2.4rem}html .md-nav--primary .md-nav__title--site:before{display:none}html [dir=rtl] .md-nav--primary .md-nav__title--site .md-nav__button,html [dir=rtl] .md-nav--primary .md-nav__title:before{right:.2rem;left:auto}.md-nav--primary .md-nav__list{-webkit-box-flex:1;flex:1;overflow-y:auto}.md-nav--primary .md-nav__item{padding:0;border-top:.05rem solid rgba(0,0,0,.07)}[dir=rtl] .md-nav--primary .md-nav__item{padding:0}.md-nav--primary .md-nav__item--nested>.md-nav__link{padding-right:2.4rem}[dir=rtl] .md-nav--primary .md-nav__item--nested>.md-nav__link{padding-right:.8rem;padding-left:2.4rem}.md-nav--primary .md-nav__item--nested>.md-nav__link:after{content:"\E315"}[dir=rtl] .md-nav--primary .md-nav__item--nested>.md-nav__link:after{content:"\E314"}.md-nav--primary .md-nav__link{position:relative;margin-top:0;padding:.6rem .8rem}.md-nav--primary .md-nav__link:after{position:absolute;top:50%;right:.6rem;margin-top:-.6rem;color:inherit;font-size:1.2rem}[dir=rtl] .md-nav--primary .md-nav__link:after{right:auto;left:.6rem}.md-nav--primary .md-nav--secondary .md-nav__link{position:static}.md-nav--primary .md-nav--secondary .md-nav{position:static;background-color:transparent}.md-nav--primary .md-nav--secondary .md-nav .md-nav__link{padding-left:1.4rem}[dir=rtl] .md-nav--primary .md-nav--secondary .md-nav .md-nav__link{padding-right:1.4rem;padding-left:0}.md-nav--primary .md-nav--secondary .md-nav .md-nav .md-nav__link{padding-left:2rem}[dir=rtl] .md-nav--primary .md-nav--secondary .md-nav .md-nav .md-nav__link{padding-right:2rem;padding-left:0}.md-nav--primary .md-nav--secondary .md-nav .md-nav .md-nav .md-nav__link{padding-left:2.6rem}[dir=rtl] .md-nav--primary .md-nav--secondary .md-nav .md-nav .md-nav .md-nav__link{padding-right:2.6rem;padding-left:0}.md-nav--primary .md-nav--secondary .md-nav .md-nav .md-nav .md-nav .md-nav__link{padding-left:3.2rem}[dir=rtl] .md-nav--primary .md-nav--secondary .md-nav .md-nav .md-nav .md-nav .md-nav__link{padding-right:3.2rem;padding-left:0}.md-nav__toggle~.md-nav{display:-webkit-box;display:flex;-webkit-transform:translateX(100%);transform:translateX(100%);-webkit-transition:opacity .125s .05s,-webkit-transform .25s cubic-bezier(.8,0,.6,1);transition:opacity .125s .05s,-webkit-transform .25s cubic-bezier(.8,0,.6,1);transition:transform .25s cubic-bezier(.8,0,.6,1),opacity .125s .05s;transition:transform .25s cubic-bezier(.8,0,.6,1),opacity .125s .05s,-webkit-transform .25s cubic-bezier(.8,0,.6,1);opacity:0}[dir=rtl] .md-nav__toggle~.md-nav{-webkit-transform:translateX(-100%);transform:translateX(-100%)}.no-csstransforms3d .md-nav__toggle~.md-nav{display:none}.md-nav__toggle:checked~.md-nav{-webkit-transform:translateX(0);transform:translateX(0);-webkit-transition:opacity .125s .125s,-webkit-transform .25s cubic-bezier(.4,0,.2,1);transition:opacity .125s .125s,-webkit-transform .25s cubic-bezier(.4,0,.2,1);transition:transform .25s cubic-bezier(.4,0,.2,1),opacity .125s .125s;transition:transform .25s cubic-bezier(.4,0,.2,1),opacity .125s .125s,-webkit-transform .25s cubic-bezier(.4,0,.2,1);opacity:1}.no-csstransforms3d .md-nav__toggle:checked~.md-nav{display:-webkit-box;display:flex}.md-sidebar--primary{position:fixed;top:0;left:-12.1rem;width:12.1rem;height:100%;-webkit-transform:translateX(0);transform:translateX(0);-webkit-transition:box-shadow .25s,-webkit-transform .25s cubic-bezier(.4,0,.2,1);transition:box-shadow .25s,-webkit-transform .25s cubic-bezier(.4,0,.2,1);transition:transform .25s cubic-bezier(.4,0,.2,1),box-shadow .25s;transition:transform .25s cubic-bezier(.4,0,.2,1),box-shadow .25s,-webkit-transform .25s cubic-bezier(.4,0,.2,1);background-color:#fff;z-index:3}[dir=rtl] .md-sidebar--primary{right:-12.1rem;left:auto}.no-csstransforms3d .md-sidebar--primary{display:none}[data-md-toggle=drawer]:checked~.md-container .md-sidebar--primary{box-shadow:0 8px 10px 1px rgba(0,0,0,.14),0 3px 14px 2px rgba(0,0,0,.12),0 5px 5px -3px rgba(0,0,0,.4);-webkit-transform:translateX(12.1rem);transform:translateX(12.1rem)}[dir=rtl] [data-md-toggle=drawer]:checked~.md-container .md-sidebar--primary{-webkit-transform:translateX(-12.1rem);transform:translateX(-12.1rem)}.no-csstransforms3d [data-md-toggle=drawer]:checked~.md-container .md-sidebar--primary{display:block}.md-sidebar--primary .md-sidebar__scrollwrap{overflow:hidden;position:absolute;top:0;right:0;bottom:0;left:0;margin:0}.md-tabs{display:none}}@media only screen and (min-width:60em){.md-content{margin-right:12.1rem}[dir=rtl] .md-content{margin-right:0;margin-left:12.1rem}.md-header-nav__button.md-icon--search{display:none}.md-header-nav__source{display:block;width:11.7rem;max-width:11.7rem;padding-right:.6rem}[dir=rtl] .md-header-nav__source{padding-right:0;padding-left:.6rem}.md-search{padding:.2rem}.md-search__overlay{position:fixed;top:0;left:0;width:0;height:0;-webkit-transition:width 0s .25s,height 0s .25s,opacity .25s;transition:width 0s .25s,height 0s .25s,opacity .25s;background-color:rgba(0,0,0,.54);cursor:pointer}[dir=rtl] .md-search__overlay{right:0;left:auto}[data-md-toggle=search]:checked~.md-header .md-search__overlay{width:100%;height:100%;-webkit-transition:width 0s,height 0s,opacity .25s;transition:width 0s,height 0s,opacity .25s;opacity:1}.md-search__inner{position:relative;width:11.5rem;margin-right:.8rem;padding:.1rem 0;float:right;-webkit-transition:width .25s cubic-bezier(.1,.7,.1,1);transition:width .25s cubic-bezier(.1,.7,.1,1)}[dir=rtl] .md-search__inner{margin-right:0;margin-left:.8rem;float:left}.md-search__form,.md-search__input{border-radius:.1rem}.md-search__input{width:100%;height:1.8rem;padding-left:2.2rem;-webkit-transition:background-color .25s cubic-bezier(.1,.7,.1,1),color .25s cubic-bezier(.1,.7,.1,1);transition:background-color .25s cubic-bezier(.1,.7,.1,1),color .25s cubic-bezier(.1,.7,.1,1);background-color:rgba(0,0,0,.26);color:inherit;font-size:.8rem}[dir=rtl] .md-search__input{padding-right:2.2rem}.md-search__input+.md-search__icon{color:inherit}.md-search__input::-webkit-input-placeholder{color:hsla(0,0%,100%,.7)}.md-search__input::-moz-placeholder{color:hsla(0,0%,100%,.7)}.md-search__input:-ms-input-placeholder{color:hsla(0,0%,100%,.7)}.md-search__input::-ms-input-placeholder{color:hsla(0,0%,100%,.7)}.md-search__input::placeholder{color:hsla(0,0%,100%,.7)}.md-search__input:hover{background-color:hsla(0,0%,100%,.12)}[data-md-toggle=search]:checked~.md-header .md-search__input{border-radius:.1rem .1rem 0 0;background-color:#fff;color:rgba(0,0,0,.87);text-overflow:clip}[data-md-toggle=search]:checked~.md-header .md-search__input::-webkit-input-placeholder{color:rgba(0,0,0,.54)}[data-md-toggle=search]:checked~.md-header .md-search__input::-moz-placeholder{color:rgba(0,0,0,.54)}[data-md-toggle=search]:checked~.md-header .md-search__input:-ms-input-placeholder{color:rgba(0,0,0,.54)}[data-md-toggle=search]:checked~.md-header .md-search__input::-ms-input-placeholder{color:rgba(0,0,0,.54)}[data-md-toggle=search]:checked~.md-header .md-search__input+.md-search__icon,[data-md-toggle=search]:checked~.md-header .md-search__input::placeholder{color:rgba(0,0,0,.54)}.md-search__output{top:1.9rem;-webkit-transition:opacity .4s;transition:opacity .4s;opacity:0}[data-md-toggle=search]:checked~.md-header .md-search__output{box-shadow:0 6px 10px 0 rgba(0,0,0,.14),0 1px 18px 0 rgba(0,0,0,.12),0 3px 5px -1px rgba(0,0,0,.4);opacity:1}.md-search__scrollwrap{max-height:0}[data-md-toggle=search]:checked~.md-header .md-search__scrollwrap{max-height:75vh}.md-search__scrollwrap::-webkit-scrollbar{width:.2rem;height:.2rem}.md-search__scrollwrap::-webkit-scrollbar-thumb{background-color:rgba(0,0,0,.26)}.md-search__scrollwrap::-webkit-scrollbar-thumb:hover{background-color:#536dfe}.md-search-result__meta{padding-left:2.2rem}[dir=rtl] .md-search-result__meta{padding-right:2.2rem;padding-left:0}.md-search-result__article{padding-left:2.2rem}[dir=rtl] .md-search-result__article{padding-right:2.2rem;padding-left:.8rem}.md-sidebar--secondary{display:block;margin-left:100%;-webkit-transform:translate(-100%);transform:translate(-100%)}[dir=rtl] .md-sidebar--secondary{margin-right:100%;margin-left:0;-webkit-transform:translate(100%);transform:translate(100%)}}@media only screen and (min-width:76.25em){.md-content{margin-left:12.1rem}[dir=rtl] .md-content{margin-right:12.1rem}.md-content__inner{margin-right:1.2rem;margin-left:1.2rem}.md-header-nav__button.md-icon--menu{display:none}.md-nav[data-md-state=animate]{-webkit-transition:max-height .25s cubic-bezier(.86,0,.07,1);transition:max-height .25s cubic-bezier(.86,0,.07,1)}.md-nav__toggle~.md-nav{max-height:0;overflow:hidden}.no-js .md-nav__toggle~.md-nav{display:none}.md-nav[data-md-state=expand],.md-nav__toggle:checked~.md-nav{max-height:100%}.no-js .md-nav[data-md-state=expand],.no-js .md-nav__toggle:checked~.md-nav{display:block}.md-nav__item--nested>.md-nav>.md-nav__title{display:none}.md-nav__item--nested>.md-nav__link:after{display:inline-block;-webkit-transform-origin:.45em .45em;transform-origin:.45em .45em;-webkit-transform-style:preserve-3d;transform-style:preserve-3d;vertical-align:-.125em}.js .md-nav__item--nested>.md-nav__link:after{-webkit-transition:-webkit-transform .4s;transition:-webkit-transform .4s;transition:transform .4s;transition:transform .4s,-webkit-transform .4s}.md-nav__item--nested .md-nav__toggle:checked~.md-nav__link:after{-webkit-transform:rotateX(180deg);transform:rotateX(180deg)}.md-search__inner{margin-right:1.2rem}[dir=rtl] .md-search__inner{margin-left:1.2rem}.md-search__scrollwrap,[data-md-toggle=search]:checked~.md-header .md-search__inner{width:34.4rem}.md-sidebar--secondary{margin-left:61rem}[dir=rtl] .md-sidebar--secondary{margin-right:61rem;margin-left:0}.md-tabs~.md-main .md-nav--primary>.md-nav__list>.md-nav__item--nested{font-size:0;visibility:hidden}.md-tabs--active~.md-main .md-nav--primary .md-nav__title{display:block;padding:0}.md-tabs--active~.md-main .md-nav--primary .md-nav__title--site{display:none}.no-js .md-tabs--active~.md-main .md-nav--primary .md-nav{display:block}.md-tabs--active~.md-main .md-nav--primary>.md-nav__list>.md-nav__item{font-size:0;visibility:hidden}.md-tabs--active~.md-main .md-nav--primary>.md-nav__list>.md-nav__item--nested{display:none;font-size:.7rem;overflow:auto;visibility:visible}.md-tabs--active~.md-main .md-nav--primary>.md-nav__list>.md-nav__item--nested>.md-nav__link{display:none}.md-tabs--active~.md-main .md-nav--primary>.md-nav__list>.md-nav__item--active{display:block}.md-tabs--active~.md-main .md-nav[data-md-level="1"]{max-height:none;overflow:visible}.md-tabs--active~.md-main .md-nav[data-md-level="1"]>.md-nav__list>.md-nav__item{padding-left:0}.md-tabs--active~.md-main .md-nav[data-md-level="1"] .md-nav .md-nav__title{display:none}}@media only screen and (min-width:45em){.md-footer-nav__link{width:50%}.md-footer-copyright{max-width:75%;float:left}[dir=rtl] .md-footer-copyright{float:right}.md-footer-social{padding:.6rem 0;float:right}[dir=rtl] .md-footer-social{float:left}}@media only screen and (max-width:29.9375em){[data-md-toggle=search]:checked~.md-header .md-search__overlay{-webkit-transform:scale(45);transform:scale(45)}}@media only screen and (min-width:30em) and (max-width:44.9375em){[data-md-toggle=search]:checked~.md-header .md-search__overlay{-webkit-transform:scale(60);transform:scale(60)}}@media only screen and (min-width:45em) and (max-width:59.9375em){[data-md-toggle=search]:checked~.md-header .md-search__overlay{-webkit-transform:scale(75);transform:scale(75)}}@media only screen and (min-width:60em) and (max-width:76.1875em){.md-search__scrollwrap,[data-md-toggle=search]:checked~.md-header .md-search__inner{width:23.4rem}.md-search-result__teaser{max-height:2.5rem;-webkit-line-clamp:3}} \ No newline at end of file diff --git a/material/assets/stylesheets/application.css b/material/assets/stylesheets/application.css index 7107bf37f..925cab4f3 100644 --- a/material/assets/stylesheets/application.css +++ b/material/assets/stylesheets/application.css @@ -1,2 +1,2 @@ -html{box-sizing:border-box}*,:after,:before{box-sizing:inherit}html{-webkit-text-size-adjust:none;-moz-text-size-adjust:none;-ms-text-size-adjust:none;text-size-adjust:none}body{margin:0}hr{overflow:visible;box-sizing:content-box}a{-webkit-text-decoration-skip:objects}a,button,input,label{-webkit-tap-highlight-color:transparent}a{color:inherit;text-decoration:none}small,sub,sup{font-size:80%}sub,sup{position:relative;line-height:0;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}img{border-style:none}table{border-collapse:separate;border-spacing:0}td,th{font-weight:400;vertical-align:top}button{margin:0;padding:0;border:0;outline-style:none;background:transparent;font-size:inherit}input{border:0;outline:0}.md-clipboard:before,.md-icon,.md-nav__button,.md-nav__link:after,.md-nav__title:before,.md-search-result__article--document:before,.md-source-file:before,.md-typeset .admonition>.admonition-title:before,.md-typeset .admonition>summary:before,.md-typeset .critic.comment:before,.md-typeset .footnote-backref,.md-typeset .task-list-control .task-list-indicator:before,.md-typeset details>.admonition-title:before,.md-typeset details>summary:before,.md-typeset summary:after{font-family:Material Icons;font-style:normal;font-variant:normal;font-weight:400;line-height:1;text-transform:none;white-space:nowrap;word-wrap:normal;direction:ltr}.md-content__icon,.md-footer-nav__button,.md-header-nav__button,.md-nav__button,.md-nav__title:before,.md-search-result__article--document:before{display:inline-block;margin:.2rem;padding:.4rem;font-size:1.2rem;cursor:pointer}.md-icon--arrow-back:before{content:""}.md-icon--arrow-forward:before{content:""}.md-icon--menu:before{content:""}.md-icon--search:before{content:""}[dir=rtl] .md-icon--arrow-back:before{content:""}[dir=rtl] .md-icon--arrow-forward:before{content:""}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body,input{color:rgba(0,0,0,.87);font-feature-settings:"kern","liga";font-family:Helvetica Neue,Helvetica,Arial,sans-serif}code,kbd,pre{color:rgba(0,0,0,.87);font-feature-settings:"kern";font-family:Courier New,Courier,monospace}.md-typeset{font-size:.8rem;line-height:1.6;-webkit-print-color-adjust:exact}.md-typeset blockquote,.md-typeset ol,.md-typeset p,.md-typeset ul{margin:1em 0}.md-typeset h1{margin:0 0 2rem;color:rgba(0,0,0,.54);font-size:1.5625rem;line-height:1.3}.md-typeset h1,.md-typeset h2{font-weight:300;letter-spacing:-.01em}.md-typeset h2{margin:2rem 0 .8rem;font-size:1.25rem;line-height:1.4}.md-typeset h3{margin:1.6rem 0 .8rem;font-size:1rem;font-weight:400;letter-spacing:-.01em;line-height:1.5}.md-typeset h2+h3{margin-top:.8rem}.md-typeset h4{font-size:.8rem}.md-typeset h4,.md-typeset h5,.md-typeset h6{margin:.8rem 0;font-weight:700;letter-spacing:-.01em}.md-typeset h5,.md-typeset h6{color:rgba(0,0,0,.54);font-size:.64rem}.md-typeset h5{text-transform:uppercase}.md-typeset hr{margin:1.5em 0;border-bottom:.05rem dotted rgba(0,0,0,.26)}.md-typeset a{color:#3f51b5;word-break:break-word}.md-typeset a,.md-typeset a:before{-webkit-transition:color .125s;transition:color .125s}.md-typeset a:active,.md-typeset a:hover{color:#536dfe}.md-typeset code,.md-typeset pre{background-color:hsla(0,0%,92.5%,.5);color:#37474f;font-size:85%;direction:ltr}.md-typeset code{margin:0 .29412em;padding:.07353em 0;border-radius:.1rem;box-shadow:.29412em 0 0 hsla(0,0%,92.5%,.5),-.29412em 0 0 hsla(0,0%,92.5%,.5);word-break:break-word;-webkit-box-decoration-break:clone;box-decoration-break:clone}.md-typeset h1 code,.md-typeset h2 code,.md-typeset h3 code,.md-typeset h4 code,.md-typeset h5 code,.md-typeset h6 code{margin:0;background-color:transparent;box-shadow:none}.md-typeset a>code{margin:inherit;padding:inherit;border-radius:initial;background-color:inherit;color:inherit;box-shadow:none}.md-typeset pre{position:relative;margin:1em 0;border-radius:.1rem;line-height:1.4;-webkit-overflow-scrolling:touch}.md-typeset pre>code{display:block;margin:0;padding:.525rem .6rem;background-color:transparent;font-size:inherit;box-shadow:none;-webkit-box-decoration-break:slice;box-decoration-break:slice;overflow:auto}.md-typeset pre>code::-webkit-scrollbar{width:.2rem;height:.2rem}.md-typeset pre>code::-webkit-scrollbar-thumb{background-color:rgba(0,0,0,.26)}.md-typeset pre>code::-webkit-scrollbar-thumb:hover{background-color:#536dfe}.md-typeset kbd{padding:0 .29412em;border-radius:.15rem;border:.05rem solid #c9c9c9;border-bottom-color:#bcbcbc;background-color:#fcfcfc;color:#555;font-size:85%;box-shadow:0 .05rem 0 #b0b0b0;word-break:break-word}.md-typeset mark{margin:0 .25em;padding:.0625em 0;border-radius:.1rem;background-color:rgba(255,235,59,.5);box-shadow:.25em 0 0 rgba(255,235,59,.5),-.25em 0 0 rgba(255,235,59,.5);word-break:break-word;-webkit-box-decoration-break:clone;box-decoration-break:clone}.md-typeset abbr{border-bottom:.05rem dotted rgba(0,0,0,.54);text-decoration:none;cursor:help}.md-typeset small{opacity:.75}.md-typeset sub,.md-typeset sup{margin-left:.07812em}[dir=rtl] .md-typeset sub,[dir=rtl] .md-typeset sup{margin-right:.07812em;margin-left:0}.md-typeset blockquote{padding-left:.6rem;border-left:.2rem solid rgba(0,0,0,.26);color:rgba(0,0,0,.54)}[dir=rtl] .md-typeset blockquote{padding-right:.6rem;padding-left:0;border-right:.2rem solid rgba(0,0,0,.26);border-left:initial}.md-typeset ul{list-style-type:disc}.md-typeset ol,.md-typeset ul{margin-left:.625em;padding:0}[dir=rtl] .md-typeset ol,[dir=rtl] .md-typeset ul{margin-right:.625em;margin-left:0}.md-typeset ol ol,.md-typeset ul ol{list-style-type:lower-alpha}.md-typeset ol ol ol,.md-typeset ul ol ol{list-style-type:lower-roman}.md-typeset ol li,.md-typeset ul li{margin-bottom:.5em;margin-left:1.25em}[dir=rtl] .md-typeset ol li,[dir=rtl] .md-typeset ul li{margin-right:1.25em;margin-left:0}.md-typeset ol li blockquote,.md-typeset ol li p,.md-typeset ul li blockquote,.md-typeset ul li p{margin:.5em 0}.md-typeset ol li:last-child,.md-typeset ul li:last-child{margin-bottom:0}.md-typeset ol li ol,.md-typeset ol li ul,.md-typeset ul li ol,.md-typeset ul li ul{margin:.5em 0 .5em .625em}[dir=rtl] .md-typeset ol li ol,[dir=rtl] .md-typeset ol li ul,[dir=rtl] .md-typeset ul li ol,[dir=rtl] .md-typeset ul li ul{margin-right:.625em;margin-left:0}.md-typeset dd{margin:1em 0 1em 1.875em}[dir=rtl] .md-typeset dd{margin-right:1.875em;margin-left:0}.md-typeset iframe,.md-typeset img,.md-typeset svg{max-width:100%}.md-typeset table:not([class]){box-shadow:0 2px 2px 0 rgba(0,0,0,.14),0 1px 5px 0 rgba(0,0,0,.12),0 3px 1px -2px rgba(0,0,0,.2);display:inline-block;max-width:100%;border-radius:.1rem;font-size:.64rem;overflow:auto;-webkit-overflow-scrolling:touch}.md-typeset table:not([class])+*{margin-top:1.5em}.md-typeset table:not([class]) td:not([align]),.md-typeset table:not([class]) th:not([align]){text-align:left}[dir=rtl] .md-typeset table:not([class]) td:not([align]),[dir=rtl] .md-typeset table:not([class]) th:not([align]){text-align:right}.md-typeset table:not([class]) th{min-width:5rem;padding:.6rem .8rem;background-color:rgba(0,0,0,.54);color:#fff;vertical-align:top}.md-typeset table:not([class]) td{padding:.6rem .8rem;border-top:.05rem solid rgba(0,0,0,.07);vertical-align:top}.md-typeset table:not([class]) tr{-webkit-transition:background-color .125s;transition:background-color .125s}.md-typeset table:not([class]) tr:hover{background-color:rgba(0,0,0,.035);box-shadow:inset 0 .05rem 0 #fff}.md-typeset table:not([class]) tr:first-child td{border-top:0}.md-typeset table:not([class]) a{word-break:normal}.md-typeset__scrollwrap{margin:1em -.8rem;overflow-x:auto;-webkit-overflow-scrolling:touch}.md-typeset .md-typeset__table{display:inline-block;margin-bottom:.5em;padding:0 .8rem}.md-typeset .md-typeset__table table{display:table;width:100%;margin:0;overflow:hidden}html{font-size:125%;overflow-x:hidden}body,html{height:100%}body{position:relative;font-size:.5rem}hr{display:block;height:.05rem;padding:0;border:0}.md-svg{display:none}.md-grid{max-width:61rem;margin-right:auto;margin-left:auto}.md-container,.md-main{overflow:auto}.md-container{display:table;width:100%;height:100%;padding-top:2.4rem;table-layout:fixed}.md-main{display:table-row;height:100%}.md-main__inner{height:100%;padding-top:1.5rem;padding-bottom:.05rem}.md-toggle{display:none}.md-overlay{position:fixed;top:0;width:0;height:0;-webkit-transition:width 0s .25s,height 0s .25s,opacity .25s;transition:width 0s .25s,height 0s .25s,opacity .25s;background-color:rgba(0,0,0,.54);opacity:0;z-index:3}.md-flex{display:table}.md-flex__cell{display:table-cell;position:relative;vertical-align:top}.md-flex__cell--shrink{width:0}.md-flex__cell--stretch{display:table;width:100%;table-layout:fixed}.md-flex__ellipsis{display:table-cell;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.md-skip{position:fixed;width:.05rem;height:.05rem;margin:.5rem;padding:.3rem .5rem;-webkit-transform:translateY(.4rem);transform:translateY(.4rem);border-radius:.1rem;background-color:rgba(0,0,0,.87);color:#fff;font-size:.64rem;opacity:0;overflow:hidden}.md-skip:focus{width:auto;height:auto;clip:auto;-webkit-transform:translateX(0);transform:translateX(0);-webkit-transition:opacity .175s 75ms,-webkit-transform .25s cubic-bezier(.4,0,.2,1);transition:opacity .175s 75ms,-webkit-transform .25s cubic-bezier(.4,0,.2,1);transition:transform .25s cubic-bezier(.4,0,.2,1),opacity .175s 75ms;transition:transform .25s cubic-bezier(.4,0,.2,1),opacity .175s 75ms,-webkit-transform .25s cubic-bezier(.4,0,.2,1);opacity:1;z-index:10}@page{margin:25mm}.md-clipboard{position:absolute;top:.3rem;right:.3rem;width:1.4rem;height:1.4rem;border-radius:.1rem;font-size:.8rem;cursor:pointer;z-index:1;-webkit-backface-visibility:hidden;backface-visibility:hidden}.md-clipboard:before{-webkit-transition:color .25s,opacity .25s;transition:color .25s,opacity .25s;color:rgba(0,0,0,.07);content:"\E14D"}.codehilite:hover .md-clipboard:before,.md-typeset .highlight:hover .md-clipboard:before,pre:hover .md-clipboard:before{color:rgba(0,0,0,.54)}.md-clipboard:focus:before,.md-clipboard:hover:before{color:#536dfe}.md-clipboard__message{display:block;position:absolute;top:0;right:1.7rem;padding:.3rem .5rem;-webkit-transform:translateX(.4rem);transform:translateX(.4rem);-webkit-transition:opacity .175s,-webkit-transform .25s cubic-bezier(.9,.1,.9,0);transition:opacity .175s,-webkit-transform .25s cubic-bezier(.9,.1,.9,0);transition:transform .25s cubic-bezier(.9,.1,.9,0),opacity .175s;transition:transform .25s cubic-bezier(.9,.1,.9,0),opacity .175s,-webkit-transform .25s cubic-bezier(.9,.1,.9,0);border-radius:.1rem;background-color:rgba(0,0,0,.54);color:#fff;font-size:.64rem;white-space:nowrap;opacity:0;pointer-events:none}.md-clipboard__message--active{-webkit-transform:translateX(0);transform:translateX(0);-webkit-transition:opacity .175s 75ms,-webkit-transform .25s cubic-bezier(.4,0,.2,1);transition:opacity .175s 75ms,-webkit-transform .25s cubic-bezier(.4,0,.2,1);transition:transform .25s cubic-bezier(.4,0,.2,1),opacity .175s 75ms;transition:transform .25s cubic-bezier(.4,0,.2,1),opacity .175s 75ms,-webkit-transform .25s cubic-bezier(.4,0,.2,1);opacity:1;pointer-events:auto}.md-clipboard__message:before{content:attr(aria-label)}.md-clipboard__message:after{display:block;position:absolute;top:50%;right:-.2rem;width:0;margin-top:-.2rem;border-color:transparent rgba(0,0,0,.54);border-style:solid;border-width:.2rem 0 .2rem .2rem;content:""}.md-content__inner{margin:0 .8rem 1.2rem;padding-top:.6rem}.md-content__inner:before{display:block;height:.4rem;content:""}.md-content__inner>:last-child{margin-bottom:0}.md-content__icon{position:relative;margin:.4rem 0;padding:0;float:right}.md-typeset .md-content__icon{color:rgba(0,0,0,.26)}.md-header{position:fixed;top:0;right:0;left:0;height:2.4rem;-webkit-transition:background-color .25s,color .25s;transition:background-color .25s,color .25s;background-color:#3f51b5;color:#fff;box-shadow:none;z-index:2;-webkit-backface-visibility:hidden;backface-visibility:hidden}.no-js .md-header{-webkit-transition:none;transition:none;box-shadow:none}.md-header[data-md-state=shadow]{-webkit-transition:background-color .25s,color .25s,box-shadow .25s;transition:background-color .25s,color .25s,box-shadow .25s;box-shadow:0 0 .2rem rgba(0,0,0,.1),0 .2rem .4rem rgba(0,0,0,.2)}.md-header-nav{padding:0 .2rem}.md-header-nav__button{position:relative;-webkit-transition:opacity .25s;transition:opacity .25s;z-index:1}.md-header-nav__button:hover{opacity:.7}.md-header-nav__button.md-logo *{display:block}.no-js .md-header-nav__button.md-icon--search{display:none}.md-header-nav__topic{display:block;position:absolute;-webkit-transition:opacity .15s,-webkit-transform .4s cubic-bezier(.1,.7,.1,1);transition:opacity .15s,-webkit-transform .4s cubic-bezier(.1,.7,.1,1);transition:transform .4s cubic-bezier(.1,.7,.1,1),opacity .15s;transition:transform .4s cubic-bezier(.1,.7,.1,1),opacity .15s,-webkit-transform .4s cubic-bezier(.1,.7,.1,1);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.md-header-nav__topic+.md-header-nav__topic{-webkit-transform:translateX(1.25rem);transform:translateX(1.25rem);-webkit-transition:opacity .15s,-webkit-transform .4s cubic-bezier(1,.7,.1,.1);transition:opacity .15s,-webkit-transform .4s cubic-bezier(1,.7,.1,.1);transition:transform .4s cubic-bezier(1,.7,.1,.1),opacity .15s;transition:transform .4s cubic-bezier(1,.7,.1,.1),opacity .15s,-webkit-transform .4s cubic-bezier(1,.7,.1,.1);opacity:0;z-index:-1;pointer-events:none}[dir=rtl] .md-header-nav__topic+.md-header-nav__topic{-webkit-transform:translateX(-1.25rem);transform:translateX(-1.25rem)}.no-js .md-header-nav__topic{position:static}.no-js .md-header-nav__topic+.md-header-nav__topic{display:none}.md-header-nav__title{padding:0 1rem;font-size:.9rem;line-height:2.4rem}.md-header-nav__title[data-md-state=active] .md-header-nav__topic{-webkit-transform:translateX(-1.25rem);transform:translateX(-1.25rem);-webkit-transition:opacity .15s,-webkit-transform .4s cubic-bezier(1,.7,.1,.1);transition:opacity .15s,-webkit-transform .4s cubic-bezier(1,.7,.1,.1);transition:transform .4s cubic-bezier(1,.7,.1,.1),opacity .15s;transition:transform .4s cubic-bezier(1,.7,.1,.1),opacity .15s,-webkit-transform .4s cubic-bezier(1,.7,.1,.1);opacity:0;z-index:-1;pointer-events:none}[dir=rtl] .md-header-nav__title[data-md-state=active] .md-header-nav__topic{-webkit-transform:translateX(1.25rem);transform:translateX(1.25rem)}.md-header-nav__title[data-md-state=active] .md-header-nav__topic+.md-header-nav__topic{-webkit-transform:translateX(0);transform:translateX(0);-webkit-transition:opacity .15s,-webkit-transform .4s cubic-bezier(.1,.7,.1,1);transition:opacity .15s,-webkit-transform .4s cubic-bezier(.1,.7,.1,1);transition:transform .4s cubic-bezier(.1,.7,.1,1),opacity .15s;transition:transform .4s cubic-bezier(.1,.7,.1,1),opacity .15s,-webkit-transform .4s cubic-bezier(.1,.7,.1,1);opacity:1;z-index:0;pointer-events:auto}.md-header-nav__source{display:none}.md-hero{-webkit-transition:background .25s;transition:background .25s;background-color:#3f51b5;color:#fff;font-size:1rem;overflow:hidden}.md-hero__inner{margin-top:1rem;padding:.8rem .8rem .4rem;-webkit-transition:opacity .25s,-webkit-transform .4s cubic-bezier(.1,.7,.1,1);transition:opacity .25s,-webkit-transform .4s cubic-bezier(.1,.7,.1,1);transition:transform .4s cubic-bezier(.1,.7,.1,1),opacity .25s;transition:transform .4s cubic-bezier(.1,.7,.1,1),opacity .25s,-webkit-transform .4s cubic-bezier(.1,.7,.1,1);-webkit-transition-delay:.1s;transition-delay:.1s}[data-md-state=hidden] .md-hero__inner{pointer-events:none;-webkit-transform:translateY(.625rem);transform:translateY(.625rem);-webkit-transition:opacity .1s 0s,-webkit-transform 0s .4s;transition:opacity .1s 0s,-webkit-transform 0s .4s;transition:transform 0s .4s,opacity .1s 0s;transition:transform 0s .4s,opacity .1s 0s,-webkit-transform 0s .4s;opacity:0}.md-hero--expand .md-hero__inner{margin-bottom:1.2rem}.md-footer-nav{background-color:rgba(0,0,0,.87);color:#fff}.md-footer-nav__inner{padding:.2rem;overflow:auto}.md-footer-nav__link{padding-top:1.4rem;padding-bottom:.4rem;-webkit-transition:opacity .25s;transition:opacity .25s}.md-footer-nav__link:hover{opacity:.7}.md-footer-nav__link--prev{width:25%;float:left}[dir=rtl] .md-footer-nav__link--prev{float:right}.md-footer-nav__link--next{width:75%;float:right;text-align:right}[dir=rtl] .md-footer-nav__link--next{float:left;text-align:left}.md-footer-nav__button{-webkit-transition:background .25s;transition:background .25s}.md-footer-nav__title{position:relative;padding:0 1rem;font-size:.9rem;line-height:2.4rem}.md-footer-nav__direction{position:absolute;right:0;left:0;margin-top:-1rem;padding:0 1rem;color:hsla(0,0%,100%,.7);font-size:.75rem}.md-footer-meta{background-color:rgba(0,0,0,.895)}.md-footer-meta__inner{padding:.2rem;overflow:auto}html .md-footer-meta.md-typeset a{color:hsla(0,0%,100%,.7)}html .md-footer-meta.md-typeset a:focus,html .md-footer-meta.md-typeset a:hover{color:#fff}.md-footer-copyright{margin:0 .6rem;padding:.4rem 0;color:hsla(0,0%,100%,.3);font-size:.64rem}.md-footer-copyright__highlight{color:hsla(0,0%,100%,.7)}.md-footer-social{margin:0 .4rem;padding:.2rem 0 .6rem}.md-footer-social__link{display:inline-block;width:1.6rem;height:1.6rem;font-size:.8rem;text-align:center}.md-footer-social__link:before{line-height:1.9}.md-nav{font-size:.7rem;line-height:1.3}.md-nav__title{display:block;padding:0 .6rem;font-weight:700;text-overflow:ellipsis;overflow:hidden}.md-nav__title:before{display:none;content:"\E5C4"}[dir=rtl] .md-nav__title:before{content:"\E5C8"}.md-nav__title .md-nav__button{display:none}.md-nav__list{margin:0;padding:0;list-style:none}.md-nav__item{padding:0 .6rem}.md-nav__item:last-child{padding-bottom:.6rem}.md-nav__item .md-nav__item{padding-right:0}[dir=rtl] .md-nav__item .md-nav__item{padding-right:.6rem;padding-left:0}.md-nav__item .md-nav__item:last-child{padding-bottom:0}.md-nav__button img{width:100%;height:auto}.md-nav__link{display:block;margin-top:.625em;-webkit-transition:color .125s;transition:color .125s;text-overflow:ellipsis;cursor:pointer;overflow:hidden}.md-nav__item--nested>.md-nav__link:after{content:"\E313"}html .md-nav__link[for=__toc],html .md-nav__link[for=__toc]+.md-nav__link:after,html .md-nav__link[for=__toc]~.md-nav{display:none}.md-nav__link[data-md-state=blur]{color:rgba(0,0,0,.54)}.md-nav__link--active,.md-nav__link:active{color:#3f51b5}.md-nav__item--nested>.md-nav__link{color:inherit}.md-nav__link:focus,.md-nav__link:hover{color:#536dfe}.md-nav__source,.no-js .md-search{display:none}.md-search__overlay{opacity:0;z-index:1}.md-search__form{position:relative}.md-search__input{position:relative;padding:0 2.2rem 0 3.6rem;text-overflow:ellipsis;z-index:2}[dir=rtl] .md-search__input{padding:0 3.6rem 0 2.2rem}.md-search__input::-webkit-input-placeholder{-webkit-transition:color .25s cubic-bezier(.1,.7,.1,1);transition:color .25s cubic-bezier(.1,.7,.1,1)}.md-search__input::-moz-placeholder{-moz-transition:color .25s cubic-bezier(.1,.7,.1,1);transition:color .25s cubic-bezier(.1,.7,.1,1)}.md-search__input:-ms-input-placeholder{-ms-transition:color .25s cubic-bezier(.1,.7,.1,1);transition:color .25s cubic-bezier(.1,.7,.1,1)}.md-search__input::-ms-input-placeholder{-ms-transition:color .25s cubic-bezier(.1,.7,.1,1);transition:color .25s cubic-bezier(.1,.7,.1,1)}.md-search__input::placeholder{-webkit-transition:color .25s cubic-bezier(.1,.7,.1,1);transition:color .25s cubic-bezier(.1,.7,.1,1)}.md-search__input::-webkit-input-placeholder{color:rgba(0,0,0,.54)}.md-search__input::-moz-placeholder{color:rgba(0,0,0,.54)}.md-search__input:-ms-input-placeholder{color:rgba(0,0,0,.54)}.md-search__input::-ms-input-placeholder{color:rgba(0,0,0,.54)}.md-search__input::placeholder,.md-search__input~.md-search__icon{color:rgba(0,0,0,.54)}.md-search__input::-ms-clear{display:none}.md-search__icon{position:absolute;-webkit-transition:color .25s cubic-bezier(.1,.7,.1,1),opacity .25s;transition:color .25s cubic-bezier(.1,.7,.1,1),opacity .25s;font-size:1.2rem;cursor:pointer;z-index:2}.md-search__icon:hover{opacity:.7}.md-search__icon[for=__search]{top:.3rem;left:.5rem}[dir=rtl] .md-search__icon[for=__search]{right:.5rem;left:auto}.md-search__icon[for=__search]:before{content:"\E8B6"}.md-search__icon[type=reset]{top:.3rem;right:.5rem;-webkit-transform:scale(.125);transform:scale(.125);-webkit-transition:opacity .15s,-webkit-transform .15s cubic-bezier(.1,.7,.1,1);transition:opacity .15s,-webkit-transform .15s cubic-bezier(.1,.7,.1,1);transition:transform .15s cubic-bezier(.1,.7,.1,1),opacity .15s;transition:transform .15s cubic-bezier(.1,.7,.1,1),opacity .15s,-webkit-transform .15s cubic-bezier(.1,.7,.1,1);opacity:0}[dir=rtl] .md-search__icon[type=reset]{right:auto;left:.5rem}[data-md-toggle=search]:checked~.md-header .md-search__input:valid~.md-search__icon[type=reset]{-webkit-transform:scale(1);transform:scale(1);opacity:1}[data-md-toggle=search]:checked~.md-header .md-search__input:valid~.md-search__icon[type=reset]:hover{opacity:.7}.md-search__output{position:absolute;width:100%;border-radius:0 0 .1rem .1rem;overflow:hidden;z-index:1}.md-search__scrollwrap{height:100%;background-color:#fff;box-shadow:inset 0 .05rem 0 rgba(0,0,0,.07);overflow-y:auto;-webkit-overflow-scrolling:touch}.md-search-result{color:rgba(0,0,0,.87);word-break:break-word}.md-search-result__meta{padding:0 .8rem;background-color:rgba(0,0,0,.07);color:rgba(0,0,0,.54);font-size:.64rem;line-height:1.8rem}.md-search-result__list{margin:0;padding:0;border-top:.05rem solid rgba(0,0,0,.07);list-style:none}.md-search-result__item{box-shadow:0 -.05rem 0 rgba(0,0,0,.07)}.md-search-result__link{display:block;-webkit-transition:background .25s;transition:background .25s;outline:0;overflow:hidden}.md-search-result__link:hover,.md-search-result__link[data-md-state=active]{background-color:rgba(83,109,254,.1)}.md-search-result__link:hover .md-search-result__article:before,.md-search-result__link[data-md-state=active] .md-search-result__article:before{opacity:.7}.md-search-result__link:last-child .md-search-result__teaser{margin-bottom:.6rem}.md-search-result__article{position:relative;padding:0 .8rem;overflow:auto}.md-search-result__article--document:before{position:absolute;left:0;margin:.1rem;-webkit-transition:opacity .25s;transition:opacity .25s;color:rgba(0,0,0,.54);content:"\E880"}[dir=rtl] .md-search-result__article--document:before{right:0;left:auto}.md-search-result__article--document .md-search-result__title{margin:.55rem 0;font-size:.8rem;font-weight:400;line-height:1.4}.md-search-result__title{margin:.5em 0;font-size:.64rem;font-weight:700;line-height:1.4}.md-search-result__teaser{display:-webkit-box;max-height:1.65rem;margin:.5em 0;color:rgba(0,0,0,.54);font-size:.64rem;line-height:1.4;text-overflow:ellipsis;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:2}.md-search-result em{font-style:normal;font-weight:700;text-decoration:underline}.md-sidebar{position:absolute;width:12.1rem;padding:1.2rem 0;overflow:hidden}.md-sidebar[data-md-state=lock]{position:fixed;top:2.4rem}.md-sidebar--secondary{display:none}.md-sidebar__scrollwrap{max-height:100%;margin:0 .2rem;overflow-y:auto;-webkit-backface-visibility:hidden;backface-visibility:hidden}.md-sidebar__scrollwrap::-webkit-scrollbar{width:.2rem;height:.2rem}.md-sidebar__scrollwrap::-webkit-scrollbar-thumb{background-color:rgba(0,0,0,.26)}.md-sidebar__scrollwrap::-webkit-scrollbar-thumb:hover{background-color:#536dfe}@-webkit-keyframes md-source__facts--done{0%{height:0}to{height:.65rem}}@keyframes md-source__facts--done{0%{height:0}to{height:.65rem}}@-webkit-keyframes md-source__fact--done{0%{-webkit-transform:translateY(100%);transform:translateY(100%);opacity:0}50%{opacity:0}to{-webkit-transform:translateY(0);transform:translateY(0);opacity:1}}@keyframes md-source__fact--done{0%{-webkit-transform:translateY(100%);transform:translateY(100%);opacity:0}50%{opacity:0}to{-webkit-transform:translateY(0);transform:translateY(0);opacity:1}}.md-source{display:block;padding-right:.6rem;-webkit-transition:opacity .25s;transition:opacity .25s;font-size:.65rem;line-height:1.2;white-space:nowrap}[dir=rtl] .md-source{padding-right:0;padding-left:.6rem}.md-source:hover{opacity:.7}.md-source:after,.md-source__icon{display:inline-block;height:2.4rem;content:"";vertical-align:middle}.md-source__icon{width:2.4rem}.md-source__icon svg{width:1.2rem;height:1.2rem;margin-top:.6rem;margin-left:.6rem}[dir=rtl] .md-source__icon svg{margin-right:.6rem;margin-left:0}.md-source__icon+.md-source__repository{margin-left:-2rem;padding-left:2rem}[dir=rtl] .md-source__icon+.md-source__repository{margin-right:-2rem;margin-left:0;padding-right:2rem;padding-left:0}.md-source__repository{display:inline-block;max-width:100%;margin-left:.6rem;font-weight:700;text-overflow:ellipsis;overflow:hidden;vertical-align:middle}.md-source__facts{margin:0;padding:0;font-size:.55rem;font-weight:700;list-style-type:none;opacity:.75;overflow:hidden}[data-md-state=done] .md-source__facts{-webkit-animation:md-source__facts--done .25s ease-in;animation:md-source__facts--done .25s ease-in}.md-source__fact{float:left}[dir=rtl] .md-source__fact{float:right}[data-md-state=done] .md-source__fact{-webkit-animation:md-source__fact--done .4s ease-out;animation:md-source__fact--done .4s ease-out}.md-source__fact:before{margin:0 .1rem;content:"\00B7"}.md-source__fact:first-child:before{display:none}.md-source-file{display:inline-block;margin:1em .5em 1em 0;padding-right:.25rem;border-radius:.1rem;background-color:rgba(0,0,0,.07);font-size:.64rem;list-style-type:none;cursor:pointer;overflow:hidden}.md-source-file:before{display:inline-block;margin-right:.25rem;padding:.25rem;background-color:rgba(0,0,0,.26);color:#fff;font-size:.8rem;content:"\E86F";vertical-align:middle}html .md-source-file{-webkit-transition:background .4s,color .4s,box-shadow .4s cubic-bezier(.4,0,.2,1);transition:background .4s,color .4s,box-shadow .4s cubic-bezier(.4,0,.2,1)}html .md-source-file:before{-webkit-transition:inherit;transition:inherit}html body .md-typeset .md-source-file{color:rgba(0,0,0,.54)}.md-source-file:hover{box-shadow:0 0 8px rgba(0,0,0,.18),0 8px 16px rgba(0,0,0,.36)}.md-source-file:hover:before{background-color:#536dfe}.md-tabs{width:100%;-webkit-transition:background .25s;transition:background .25s;background-color:#3f51b5;color:#fff;overflow:auto}.md-tabs__list{margin:0 0 0 .2rem;padding:0;list-style:none;white-space:nowrap}.md-tabs__item{display:inline-block;height:2.4rem;padding-right:.6rem;padding-left:.6rem}.md-tabs__link{display:block;margin-top:.8rem;-webkit-transition:opacity .25s,-webkit-transform .4s cubic-bezier(.1,.7,.1,1);transition:opacity .25s,-webkit-transform .4s cubic-bezier(.1,.7,.1,1);transition:transform .4s cubic-bezier(.1,.7,.1,1),opacity .25s;transition:transform .4s cubic-bezier(.1,.7,.1,1),opacity .25s,-webkit-transform .4s cubic-bezier(.1,.7,.1,1);font-size:.7rem;opacity:.7}.md-tabs__link--active,.md-tabs__link:hover{color:inherit;opacity:1}.md-tabs__item:nth-child(2) .md-tabs__link{-webkit-transition-delay:.02s;transition-delay:.02s}.md-tabs__item:nth-child(3) .md-tabs__link{-webkit-transition-delay:.04s;transition-delay:.04s}.md-tabs__item:nth-child(4) .md-tabs__link{-webkit-transition-delay:.06s;transition-delay:.06s}.md-tabs__item:nth-child(5) .md-tabs__link{-webkit-transition-delay:.08s;transition-delay:.08s}.md-tabs__item:nth-child(6) .md-tabs__link{-webkit-transition-delay:.1s;transition-delay:.1s}.md-tabs__item:nth-child(7) .md-tabs__link{-webkit-transition-delay:.12s;transition-delay:.12s}.md-tabs__item:nth-child(8) .md-tabs__link{-webkit-transition-delay:.14s;transition-delay:.14s}.md-tabs__item:nth-child(9) .md-tabs__link{-webkit-transition-delay:.16s;transition-delay:.16s}.md-tabs__item:nth-child(10) .md-tabs__link{-webkit-transition-delay:.18s;transition-delay:.18s}.md-tabs__item:nth-child(11) .md-tabs__link{-webkit-transition-delay:.2s;transition-delay:.2s}.md-tabs__item:nth-child(12) .md-tabs__link{-webkit-transition-delay:.22s;transition-delay:.22s}.md-tabs__item:nth-child(13) .md-tabs__link{-webkit-transition-delay:.24s;transition-delay:.24s}.md-tabs__item:nth-child(14) .md-tabs__link{-webkit-transition-delay:.26s;transition-delay:.26s}.md-tabs__item:nth-child(15) .md-tabs__link{-webkit-transition-delay:.28s;transition-delay:.28s}.md-tabs__item:nth-child(16) .md-tabs__link{-webkit-transition-delay:.3s;transition-delay:.3s}.md-tabs[data-md-state=hidden]{pointer-events:none}.md-tabs[data-md-state=hidden] .md-tabs__link{-webkit-transform:translateY(50%);transform:translateY(50%);-webkit-transition:color .25s,opacity .1s,-webkit-transform 0s .4s;transition:color .25s,opacity .1s,-webkit-transform 0s .4s;transition:color .25s,transform 0s .4s,opacity .1s;transition:color .25s,transform 0s .4s,opacity .1s,-webkit-transform 0s .4s;opacity:0}.md-typeset .admonition,.md-typeset details{box-shadow:0 2px 2px 0 rgba(0,0,0,.14),0 1px 5px 0 rgba(0,0,0,.12),0 3px 1px -2px rgba(0,0,0,.2);position:relative;margin:1.5625em 0;padding:0 .6rem;border-left:.2rem solid #448aff;border-radius:.1rem;font-size:.64rem;overflow:auto}[dir=rtl] .md-typeset .admonition,[dir=rtl] .md-typeset details{border-right:.2rem solid #448aff;border-left:none}html .md-typeset .admonition>:last-child,html .md-typeset details>:last-child{margin-bottom:.6rem}.md-typeset .admonition .admonition,.md-typeset .admonition details,.md-typeset details .admonition,.md-typeset details details{margin:1em 0}.md-typeset .admonition>.admonition-title,.md-typeset .admonition>summary,.md-typeset details>.admonition-title,.md-typeset details>summary{margin:0 -.6rem;padding:.4rem .6rem .4rem 2rem;border-bottom:.05rem solid rgba(68,138,255,.1);background-color:rgba(68,138,255,.1);font-weight:700}[dir=rtl] .md-typeset .admonition>.admonition-title,[dir=rtl] .md-typeset .admonition>summary,[dir=rtl] .md-typeset details>.admonition-title,[dir=rtl] .md-typeset details>summary{padding:.4rem 2rem .4rem .6rem}.md-typeset .admonition>.admonition-title:last-child,.md-typeset .admonition>summary:last-child,.md-typeset details>.admonition-title:last-child,.md-typeset details>summary:last-child{margin-bottom:0}.md-typeset .admonition>.admonition-title:before,.md-typeset .admonition>summary:before,.md-typeset details>.admonition-title:before,.md-typeset details>summary:before{position:absolute;left:.6rem;color:#448aff;font-size:1rem;content:"\E3C9"}[dir=rtl] .md-typeset .admonition>.admonition-title:before,[dir=rtl] .md-typeset .admonition>summary:before,[dir=rtl] .md-typeset details>.admonition-title:before,[dir=rtl] .md-typeset details>summary:before{right:.6rem;left:auto}.md-typeset .admonition.abstract,.md-typeset .admonition.summary,.md-typeset .admonition.tldr,.md-typeset details.abstract,.md-typeset details.summary,.md-typeset details.tldr{border-left-color:#00b0ff}[dir=rtl] .md-typeset .admonition.abstract,[dir=rtl] .md-typeset .admonition.summary,[dir=rtl] .md-typeset .admonition.tldr,[dir=rtl] .md-typeset details.abstract,[dir=rtl] .md-typeset details.summary,[dir=rtl] .md-typeset details.tldr{border-right-color:#00b0ff}.md-typeset .admonition.abstract>.admonition-title,.md-typeset .admonition.abstract>summary,.md-typeset .admonition.summary>.admonition-title,.md-typeset .admonition.summary>summary,.md-typeset .admonition.tldr>.admonition-title,.md-typeset .admonition.tldr>summary,.md-typeset details.abstract>.admonition-title,.md-typeset details.abstract>summary,.md-typeset details.summary>.admonition-title,.md-typeset details.summary>summary,.md-typeset details.tldr>.admonition-title,.md-typeset details.tldr>summary{border-bottom-color:rgba(0,176,255,.1);background-color:rgba(0,176,255,.1)}.md-typeset .admonition.abstract>.admonition-title:before,.md-typeset .admonition.abstract>summary:before,.md-typeset .admonition.summary>.admonition-title:before,.md-typeset .admonition.summary>summary:before,.md-typeset .admonition.tldr>.admonition-title:before,.md-typeset .admonition.tldr>summary:before,.md-typeset details.abstract>.admonition-title:before,.md-typeset details.abstract>summary:before,.md-typeset details.summary>.admonition-title:before,.md-typeset details.summary>summary:before,.md-typeset details.tldr>.admonition-title:before,.md-typeset details.tldr>summary:before{color:#00b0ff;content:""}.md-typeset .admonition.info,.md-typeset .admonition.todo,.md-typeset details.info,.md-typeset details.todo{border-left-color:#00b8d4}[dir=rtl] .md-typeset .admonition.info,[dir=rtl] .md-typeset .admonition.todo,[dir=rtl] .md-typeset details.info,[dir=rtl] .md-typeset details.todo{border-right-color:#00b8d4}.md-typeset .admonition.info>.admonition-title,.md-typeset .admonition.info>summary,.md-typeset .admonition.todo>.admonition-title,.md-typeset .admonition.todo>summary,.md-typeset details.info>.admonition-title,.md-typeset details.info>summary,.md-typeset details.todo>.admonition-title,.md-typeset details.todo>summary{border-bottom-color:rgba(0,184,212,.1);background-color:rgba(0,184,212,.1)}.md-typeset .admonition.info>.admonition-title:before,.md-typeset .admonition.info>summary:before,.md-typeset .admonition.todo>.admonition-title:before,.md-typeset .admonition.todo>summary:before,.md-typeset details.info>.admonition-title:before,.md-typeset details.info>summary:before,.md-typeset details.todo>.admonition-title:before,.md-typeset details.todo>summary:before{color:#00b8d4;content:""}.md-typeset .admonition.hint,.md-typeset .admonition.important,.md-typeset .admonition.tip,.md-typeset details.hint,.md-typeset details.important,.md-typeset details.tip{border-left-color:#00bfa5}[dir=rtl] .md-typeset .admonition.hint,[dir=rtl] .md-typeset .admonition.important,[dir=rtl] .md-typeset .admonition.tip,[dir=rtl] .md-typeset details.hint,[dir=rtl] .md-typeset details.important,[dir=rtl] .md-typeset details.tip{border-right-color:#00bfa5}.md-typeset .admonition.hint>.admonition-title,.md-typeset .admonition.hint>summary,.md-typeset .admonition.important>.admonition-title,.md-typeset .admonition.important>summary,.md-typeset .admonition.tip>.admonition-title,.md-typeset .admonition.tip>summary,.md-typeset details.hint>.admonition-title,.md-typeset details.hint>summary,.md-typeset details.important>.admonition-title,.md-typeset details.important>summary,.md-typeset details.tip>.admonition-title,.md-typeset details.tip>summary{border-bottom-color:rgba(0,191,165,.1);background-color:rgba(0,191,165,.1)}.md-typeset .admonition.hint>.admonition-title:before,.md-typeset .admonition.hint>summary:before,.md-typeset .admonition.important>.admonition-title:before,.md-typeset .admonition.important>summary:before,.md-typeset .admonition.tip>.admonition-title:before,.md-typeset .admonition.tip>summary:before,.md-typeset details.hint>.admonition-title:before,.md-typeset details.hint>summary:before,.md-typeset details.important>.admonition-title:before,.md-typeset details.important>summary:before,.md-typeset details.tip>.admonition-title:before,.md-typeset details.tip>summary:before{color:#00bfa5;content:""}.md-typeset .admonition.check,.md-typeset .admonition.done,.md-typeset .admonition.success,.md-typeset details.check,.md-typeset details.done,.md-typeset details.success{border-left-color:#00c853}[dir=rtl] .md-typeset .admonition.check,[dir=rtl] .md-typeset .admonition.done,[dir=rtl] .md-typeset .admonition.success,[dir=rtl] .md-typeset details.check,[dir=rtl] .md-typeset details.done,[dir=rtl] .md-typeset details.success{border-right-color:#00c853}.md-typeset .admonition.check>.admonition-title,.md-typeset .admonition.check>summary,.md-typeset .admonition.done>.admonition-title,.md-typeset .admonition.done>summary,.md-typeset .admonition.success>.admonition-title,.md-typeset .admonition.success>summary,.md-typeset details.check>.admonition-title,.md-typeset details.check>summary,.md-typeset details.done>.admonition-title,.md-typeset details.done>summary,.md-typeset details.success>.admonition-title,.md-typeset details.success>summary{border-bottom-color:rgba(0,200,83,.1);background-color:rgba(0,200,83,.1)}.md-typeset .admonition.check>.admonition-title:before,.md-typeset .admonition.check>summary:before,.md-typeset .admonition.done>.admonition-title:before,.md-typeset .admonition.done>summary:before,.md-typeset .admonition.success>.admonition-title:before,.md-typeset .admonition.success>summary:before,.md-typeset details.check>.admonition-title:before,.md-typeset details.check>summary:before,.md-typeset details.done>.admonition-title:before,.md-typeset details.done>summary:before,.md-typeset details.success>.admonition-title:before,.md-typeset details.success>summary:before{color:#00c853;content:""}.md-typeset .admonition.faq,.md-typeset .admonition.help,.md-typeset .admonition.question,.md-typeset details.faq,.md-typeset details.help,.md-typeset details.question{border-left-color:#64dd17}[dir=rtl] .md-typeset .admonition.faq,[dir=rtl] .md-typeset .admonition.help,[dir=rtl] .md-typeset .admonition.question,[dir=rtl] .md-typeset details.faq,[dir=rtl] .md-typeset details.help,[dir=rtl] .md-typeset details.question{border-right-color:#64dd17}.md-typeset .admonition.faq>.admonition-title,.md-typeset .admonition.faq>summary,.md-typeset .admonition.help>.admonition-title,.md-typeset .admonition.help>summary,.md-typeset .admonition.question>.admonition-title,.md-typeset .admonition.question>summary,.md-typeset details.faq>.admonition-title,.md-typeset details.faq>summary,.md-typeset details.help>.admonition-title,.md-typeset details.help>summary,.md-typeset details.question>.admonition-title,.md-typeset details.question>summary{border-bottom-color:rgba(100,221,23,.1);background-color:rgba(100,221,23,.1)}.md-typeset .admonition.faq>.admonition-title:before,.md-typeset .admonition.faq>summary:before,.md-typeset .admonition.help>.admonition-title:before,.md-typeset .admonition.help>summary:before,.md-typeset .admonition.question>.admonition-title:before,.md-typeset .admonition.question>summary:before,.md-typeset details.faq>.admonition-title:before,.md-typeset details.faq>summary:before,.md-typeset details.help>.admonition-title:before,.md-typeset details.help>summary:before,.md-typeset details.question>.admonition-title:before,.md-typeset details.question>summary:before{color:#64dd17;content:""}.md-typeset .admonition.attention,.md-typeset .admonition.caution,.md-typeset .admonition.warning,.md-typeset details.attention,.md-typeset details.caution,.md-typeset details.warning{border-left-color:#ff9100}[dir=rtl] .md-typeset .admonition.attention,[dir=rtl] .md-typeset .admonition.caution,[dir=rtl] .md-typeset .admonition.warning,[dir=rtl] .md-typeset details.attention,[dir=rtl] .md-typeset details.caution,[dir=rtl] .md-typeset details.warning{border-right-color:#ff9100}.md-typeset .admonition.attention>.admonition-title,.md-typeset .admonition.attention>summary,.md-typeset .admonition.caution>.admonition-title,.md-typeset .admonition.caution>summary,.md-typeset .admonition.warning>.admonition-title,.md-typeset .admonition.warning>summary,.md-typeset details.attention>.admonition-title,.md-typeset details.attention>summary,.md-typeset details.caution>.admonition-title,.md-typeset details.caution>summary,.md-typeset details.warning>.admonition-title,.md-typeset details.warning>summary{border-bottom-color:rgba(255,145,0,.1);background-color:rgba(255,145,0,.1)}.md-typeset .admonition.attention>.admonition-title:before,.md-typeset .admonition.attention>summary:before,.md-typeset .admonition.caution>.admonition-title:before,.md-typeset .admonition.caution>summary:before,.md-typeset .admonition.warning>.admonition-title:before,.md-typeset .admonition.warning>summary:before,.md-typeset details.attention>.admonition-title:before,.md-typeset details.attention>summary:before,.md-typeset details.caution>.admonition-title:before,.md-typeset details.caution>summary:before,.md-typeset details.warning>.admonition-title:before,.md-typeset details.warning>summary:before{color:#ff9100;content:""}.md-typeset .admonition.fail,.md-typeset .admonition.failure,.md-typeset .admonition.missing,.md-typeset details.fail,.md-typeset details.failure,.md-typeset details.missing{border-left-color:#ff5252}[dir=rtl] .md-typeset .admonition.fail,[dir=rtl] .md-typeset .admonition.failure,[dir=rtl] .md-typeset .admonition.missing,[dir=rtl] .md-typeset details.fail,[dir=rtl] .md-typeset details.failure,[dir=rtl] .md-typeset details.missing{border-right-color:#ff5252}.md-typeset .admonition.fail>.admonition-title,.md-typeset .admonition.fail>summary,.md-typeset .admonition.failure>.admonition-title,.md-typeset .admonition.failure>summary,.md-typeset .admonition.missing>.admonition-title,.md-typeset .admonition.missing>summary,.md-typeset details.fail>.admonition-title,.md-typeset details.fail>summary,.md-typeset details.failure>.admonition-title,.md-typeset details.failure>summary,.md-typeset details.missing>.admonition-title,.md-typeset details.missing>summary{border-bottom-color:rgba(255,82,82,.1);background-color:rgba(255,82,82,.1)}.md-typeset .admonition.fail>.admonition-title:before,.md-typeset .admonition.fail>summary:before,.md-typeset .admonition.failure>.admonition-title:before,.md-typeset .admonition.failure>summary:before,.md-typeset .admonition.missing>.admonition-title:before,.md-typeset .admonition.missing>summary:before,.md-typeset details.fail>.admonition-title:before,.md-typeset details.fail>summary:before,.md-typeset details.failure>.admonition-title:before,.md-typeset details.failure>summary:before,.md-typeset details.missing>.admonition-title:before,.md-typeset details.missing>summary:before{color:#ff5252;content:""}.md-typeset .admonition.danger,.md-typeset .admonition.error,.md-typeset details.danger,.md-typeset details.error{border-left-color:#ff1744}[dir=rtl] .md-typeset .admonition.danger,[dir=rtl] .md-typeset .admonition.error,[dir=rtl] .md-typeset details.danger,[dir=rtl] .md-typeset details.error{border-right-color:#ff1744}.md-typeset .admonition.danger>.admonition-title,.md-typeset .admonition.danger>summary,.md-typeset .admonition.error>.admonition-title,.md-typeset .admonition.error>summary,.md-typeset details.danger>.admonition-title,.md-typeset details.danger>summary,.md-typeset details.error>.admonition-title,.md-typeset details.error>summary{border-bottom-color:rgba(255,23,68,.1);background-color:rgba(255,23,68,.1)}.md-typeset .admonition.danger>.admonition-title:before,.md-typeset .admonition.danger>summary:before,.md-typeset .admonition.error>.admonition-title:before,.md-typeset .admonition.error>summary:before,.md-typeset details.danger>.admonition-title:before,.md-typeset details.danger>summary:before,.md-typeset details.error>.admonition-title:before,.md-typeset details.error>summary:before{color:#ff1744;content:""}.md-typeset .admonition.bug,.md-typeset details.bug{border-left-color:#f50057}[dir=rtl] .md-typeset .admonition.bug,[dir=rtl] .md-typeset details.bug{border-right-color:#f50057}.md-typeset .admonition.bug>.admonition-title,.md-typeset .admonition.bug>summary,.md-typeset details.bug>.admonition-title,.md-typeset details.bug>summary{border-bottom-color:rgba(245,0,87,.1);background-color:rgba(245,0,87,.1)}.md-typeset .admonition.bug>.admonition-title:before,.md-typeset .admonition.bug>summary:before,.md-typeset details.bug>.admonition-title:before,.md-typeset details.bug>summary:before{color:#f50057;content:""}.md-typeset .admonition.example,.md-typeset details.example{border-left-color:#651fff}[dir=rtl] .md-typeset .admonition.example,[dir=rtl] .md-typeset details.example{border-right-color:#651fff}.md-typeset .admonition.example>.admonition-title,.md-typeset .admonition.example>summary,.md-typeset details.example>.admonition-title,.md-typeset details.example>summary{border-bottom-color:rgba(101,31,255,.1);background-color:rgba(101,31,255,.1)}.md-typeset .admonition.example>.admonition-title:before,.md-typeset .admonition.example>summary:before,.md-typeset details.example>.admonition-title:before,.md-typeset details.example>summary:before{color:#651fff;content:""}.md-typeset .admonition.cite,.md-typeset .admonition.quote,.md-typeset details.cite,.md-typeset details.quote{border-left-color:#9e9e9e}[dir=rtl] .md-typeset .admonition.cite,[dir=rtl] .md-typeset .admonition.quote,[dir=rtl] .md-typeset details.cite,[dir=rtl] .md-typeset details.quote{border-right-color:#9e9e9e}.md-typeset .admonition.cite>.admonition-title,.md-typeset .admonition.cite>summary,.md-typeset .admonition.quote>.admonition-title,.md-typeset .admonition.quote>summary,.md-typeset details.cite>.admonition-title,.md-typeset details.cite>summary,.md-typeset details.quote>.admonition-title,.md-typeset details.quote>summary{border-bottom-color:hsla(0,0%,62%,.1);background-color:hsla(0,0%,62%,.1)}.md-typeset .admonition.cite>.admonition-title:before,.md-typeset .admonition.cite>summary:before,.md-typeset .admonition.quote>.admonition-title:before,.md-typeset .admonition.quote>summary:before,.md-typeset details.cite>.admonition-title:before,.md-typeset details.cite>summary:before,.md-typeset details.quote>.admonition-title:before,.md-typeset details.quote>summary:before{color:#9e9e9e;content:""}.codehilite .o,.codehilite .ow,.md-typeset .highlight .o,.md-typeset .highlight .ow{color:inherit}.codehilite .ge,.md-typeset .highlight .ge{color:#000}.codehilite .gr,.md-typeset .highlight .gr{color:#a00}.codehilite .gh,.md-typeset .highlight .gh{color:#999}.codehilite .go,.md-typeset .highlight .go{color:#888}.codehilite .gp,.md-typeset .highlight .gp{color:#555}.codehilite .gs,.md-typeset .highlight .gs{color:inherit}.codehilite .gu,.md-typeset .highlight .gu{color:#aaa}.codehilite .gt,.md-typeset .highlight .gt{color:#a00}.codehilite .gd,.md-typeset .highlight .gd{background-color:#fdd}.codehilite .gi,.md-typeset .highlight .gi{background-color:#dfd}.codehilite .k,.md-typeset .highlight .k{color:#3b78e7}.codehilite .kc,.md-typeset .highlight .kc{color:#a71d5d}.codehilite .kd,.codehilite .kn,.md-typeset .highlight .kd,.md-typeset .highlight .kn{color:#3b78e7}.codehilite .kp,.md-typeset .highlight .kp{color:#a71d5d}.codehilite .kr,.codehilite .kt,.md-typeset .highlight .kr,.md-typeset .highlight .kt{color:#3e61a2}.codehilite .c,.codehilite .cm,.md-typeset .highlight .c,.md-typeset .highlight .cm{color:#999}.codehilite .cp,.md-typeset .highlight .cp{color:#666}.codehilite .c1,.codehilite .ch,.codehilite .cs,.md-typeset .highlight .c1,.md-typeset .highlight .ch,.md-typeset .highlight .cs{color:#999}.codehilite .na,.codehilite .nb,.md-typeset .highlight .na,.md-typeset .highlight .nb{color:#c2185b}.codehilite .bp,.md-typeset .highlight .bp{color:#3e61a2}.codehilite .nc,.md-typeset .highlight .nc{color:#c2185b}.codehilite .no,.md-typeset .highlight .no{color:#3e61a2}.codehilite .nd,.codehilite .ni,.md-typeset .highlight .nd,.md-typeset .highlight .ni{color:#666}.codehilite .ne,.codehilite .nf,.md-typeset .highlight .ne,.md-typeset .highlight .nf{color:#c2185b}.codehilite .nl,.md-typeset .highlight .nl{color:#3b5179}.codehilite .nn,.md-typeset .highlight .nn{color:#ec407a}.codehilite .nt,.md-typeset .highlight .nt{color:#3b78e7}.codehilite .nv,.codehilite .vc,.codehilite .vg,.codehilite .vi,.md-typeset .highlight .nv,.md-typeset .highlight .vc,.md-typeset .highlight .vg,.md-typeset .highlight .vi{color:#3e61a2}.codehilite .nx,.md-typeset .highlight .nx{color:#ec407a}.codehilite .il,.codehilite .m,.codehilite .mf,.codehilite .mh,.codehilite .mi,.codehilite .mo,.md-typeset .highlight .il,.md-typeset .highlight .m,.md-typeset .highlight .mf,.md-typeset .highlight .mh,.md-typeset .highlight .mi,.md-typeset .highlight .mo{color:#e74c3c}.codehilite .s,.codehilite .sb,.codehilite .sc,.md-typeset .highlight .s,.md-typeset .highlight .sb,.md-typeset .highlight .sc{color:#0d904f}.codehilite .sd,.md-typeset .highlight .sd{color:#999}.codehilite .s2,.md-typeset .highlight .s2{color:#0d904f}.codehilite .se,.codehilite .sh,.codehilite .si,.codehilite .sx,.md-typeset .highlight .se,.md-typeset .highlight .sh,.md-typeset .highlight .si,.md-typeset .highlight .sx{color:#183691}.codehilite .sr,.md-typeset .highlight .sr{color:#009926}.codehilite .s1,.codehilite .ss,.md-typeset .highlight .s1,.md-typeset .highlight .ss{color:#0d904f}.codehilite .err,.md-typeset .highlight .err{color:#a61717}.codehilite .w,.md-typeset .highlight .w{color:transparent}.codehilite .hll,.md-typeset .highlight .hll{display:block;margin:0 -.6rem;padding:0 .6rem;background-color:rgba(255,235,59,.5)}.md-typeset .codehilitetable,.md-typeset .highlighttable{display:block;overflow:hidden}.md-typeset .codehilitetable tbody,.md-typeset .codehilitetable td,.md-typeset .highlighttable tbody,.md-typeset .highlighttable td{display:block;padding:0}.md-typeset .codehilitetable tr,.md-typeset .highlighttable tr{display:-webkit-box;display:flex}.md-typeset .codehilitetable .linenodiv,.md-typeset .codehilitetable pre,.md-typeset .highlighttable .linenodiv,.md-typeset .highlighttable pre{margin:0;border-radius:0}.md-typeset .codehilitetable .linenodiv,.md-typeset .highlighttable .linenodiv{padding:.525rem .6rem}.md-typeset .codehilitetable .linenos,.md-typeset .highlighttable .linenos{background-color:rgba(0,0,0,.07);color:rgba(0,0,0,.26);-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.md-typeset .codehilitetable .linenos pre,.md-typeset .highlighttable .linenos pre{background-color:transparent;color:inherit;text-align:right}.md-typeset .codehilitetable .code,.md-typeset .highlighttable .code{-webkit-box-flex:1;flex:1;overflow:hidden}.md-typeset>.codehilitetable,.md-typeset>.highlighttable{margin:1em 0;border-radius:.2em}.md-typeset [id^="fnref:"]{display:inline-block}.md-typeset [id^="fnref:"]:target{margin-top:-3.8rem;padding-top:3.8rem;pointer-events:none}.md-typeset [id^="fn:"]:before{display:none;height:0;content:""}.md-typeset [id^="fn:"]:target:before{display:block;margin-top:-3.5rem;padding-top:3.5rem;pointer-events:none}.md-typeset .footnote{color:rgba(0,0,0,.54);font-size:.64rem}.md-typeset .footnote ol{margin-left:0}.md-typeset .footnote li{-webkit-transition:color .25s;transition:color .25s}.md-typeset .footnote li:target{color:rgba(0,0,0,.87)}.md-typeset .footnote li :first-child{margin-top:0}.md-typeset .footnote li:hover .footnote-backref,.md-typeset .footnote li:target .footnote-backref{-webkit-transform:translateX(0);transform:translateX(0);opacity:1}.md-typeset .footnote li:hover .footnote-backref:hover,.md-typeset .footnote li:target .footnote-backref{color:#536dfe}.md-typeset .footnote-ref{display:inline-block;pointer-events:auto}.md-typeset .footnote-ref:before{display:inline;margin:0 .2em;border-left:.05rem solid rgba(0,0,0,.26);font-size:1.25em;content:"";vertical-align:-.25rem}.md-typeset .footnote-backref{display:inline-block;-webkit-transform:translateX(.25rem);transform:translateX(.25rem);-webkit-transition:color .25s,opacity .125s .125s,-webkit-transform .25s .125s;transition:color .25s,opacity .125s .125s,-webkit-transform .25s .125s;transition:transform .25s .125s,color .25s,opacity .125s .125s;transition:transform .25s .125s,color .25s,opacity .125s .125s,-webkit-transform .25s .125s;color:rgba(0,0,0,.26);font-size:0;opacity:0;vertical-align:text-bottom}[dir=rtl] .md-typeset .footnote-backref{-webkit-transform:translateX(-.25rem);transform:translateX(-.25rem)}.md-typeset .footnote-backref:before{display:inline-block;font-size:.8rem;content:"\E31B"}[dir=rtl] .md-typeset .footnote-backref:before{-webkit-transform:scaleX(-1);transform:scaleX(-1)}.md-typeset .headerlink{display:inline-block;margin-left:.5rem;-webkit-transform:translateY(.25rem);transform:translateY(.25rem);-webkit-transition:color .25s,opacity .125s .25s,-webkit-transform .25s .25s;transition:color .25s,opacity .125s .25s,-webkit-transform .25s .25s;transition:transform .25s .25s,color .25s,opacity .125s .25s;transition:transform .25s .25s,color .25s,opacity .125s .25s,-webkit-transform .25s .25s;opacity:0}[dir=rtl] .md-typeset .headerlink{margin-right:.5rem;margin-left:0}html body .md-typeset .headerlink{color:rgba(0,0,0,.26)}.md-typeset h1[id]:before{display:block;margin-top:-9px;padding-top:9px;content:""}.md-typeset h1[id]:target:before{margin-top:-3.45rem;padding-top:3.45rem}.md-typeset h1[id] .headerlink:focus,.md-typeset h1[id]:hover .headerlink,.md-typeset h1[id]:target .headerlink{-webkit-transform:translate(0);transform:translate(0);opacity:1}.md-typeset h1[id] .headerlink:focus,.md-typeset h1[id]:hover .headerlink:hover,.md-typeset h1[id]:target .headerlink{color:#536dfe}.md-typeset h2[id]:before{display:block;margin-top:-8px;padding-top:8px;content:""}.md-typeset h2[id]:target:before{margin-top:-3.4rem;padding-top:3.4rem}.md-typeset h2[id] .headerlink:focus,.md-typeset h2[id]:hover .headerlink,.md-typeset h2[id]:target .headerlink{-webkit-transform:translate(0);transform:translate(0);opacity:1}.md-typeset h2[id] .headerlink:focus,.md-typeset h2[id]:hover .headerlink:hover,.md-typeset h2[id]:target .headerlink{color:#536dfe}.md-typeset h3[id]:before{display:block;margin-top:-9px;padding-top:9px;content:""}.md-typeset h3[id]:target:before{margin-top:-3.45rem;padding-top:3.45rem}.md-typeset h3[id] .headerlink:focus,.md-typeset h3[id]:hover .headerlink,.md-typeset h3[id]:target .headerlink{-webkit-transform:translate(0);transform:translate(0);opacity:1}.md-typeset h3[id] .headerlink:focus,.md-typeset h3[id]:hover .headerlink:hover,.md-typeset h3[id]:target .headerlink{color:#536dfe}.md-typeset h4[id]:before{display:block;margin-top:-9px;padding-top:9px;content:""}.md-typeset h4[id]:target:before{margin-top:-3.45rem;padding-top:3.45rem}.md-typeset h4[id] .headerlink:focus,.md-typeset h4[id]:hover .headerlink,.md-typeset h4[id]:target .headerlink{-webkit-transform:translate(0);transform:translate(0);opacity:1}.md-typeset h4[id] .headerlink:focus,.md-typeset h4[id]:hover .headerlink:hover,.md-typeset h4[id]:target .headerlink{color:#536dfe}.md-typeset h5[id]:before{display:block;margin-top:-11px;padding-top:11px;content:""}.md-typeset h5[id]:target:before{margin-top:-3.55rem;padding-top:3.55rem}.md-typeset h5[id] .headerlink:focus,.md-typeset h5[id]:hover .headerlink,.md-typeset h5[id]:target .headerlink{-webkit-transform:translate(0);transform:translate(0);opacity:1}.md-typeset h5[id] .headerlink:focus,.md-typeset h5[id]:hover .headerlink:hover,.md-typeset h5[id]:target .headerlink{color:#536dfe}.md-typeset h6[id]:before{display:block;margin-top:-11px;padding-top:11px;content:""}.md-typeset h6[id]:target:before{margin-top:-3.55rem;padding-top:3.55rem}.md-typeset h6[id] .headerlink:focus,.md-typeset h6[id]:hover .headerlink,.md-typeset h6[id]:target .headerlink{-webkit-transform:translate(0);transform:translate(0);opacity:1}.md-typeset h6[id] .headerlink:focus,.md-typeset h6[id]:hover .headerlink:hover,.md-typeset h6[id]:target .headerlink{color:#536dfe}.md-typeset .MJXc-display{margin:.75em 0;padding:.75em 0;overflow:auto;-webkit-overflow-scrolling:touch}.md-typeset .MathJax_CHTML{outline:0}.md-typeset .critic.comment,.md-typeset del.critic,.md-typeset ins.critic{margin:0 .25em;padding:.0625em 0;border-radius:.1rem;-webkit-box-decoration-break:clone;box-decoration-break:clone}.md-typeset del.critic{background-color:#fdd;box-shadow:.25em 0 0 #fdd,-.25em 0 0 #fdd}.md-typeset ins.critic{background-color:#dfd;box-shadow:.25em 0 0 #dfd,-.25em 0 0 #dfd}.md-typeset .critic.comment{background-color:hsla(0,0%,92.5%,.5);color:#37474f;box-shadow:.25em 0 0 hsla(0,0%,92.5%,.5),-.25em 0 0 hsla(0,0%,92.5%,.5)}.md-typeset .critic.comment:before{padding-right:.125em;color:rgba(0,0,0,.26);content:"\E0B7";vertical-align:-.125em}.md-typeset .critic.block{display:block;margin:1em 0;padding-right:.8rem;padding-left:.8rem;box-shadow:none}.md-typeset .critic.block :first-child{margin-top:.5em}.md-typeset .critic.block :last-child{margin-bottom:.5em}.md-typeset details{display:block;padding-top:0}.md-typeset details[open]>summary:after{-webkit-transform:rotate(180deg);transform:rotate(180deg)}.md-typeset details:not([open]){padding-bottom:0}.md-typeset details:not([open])>summary{border-bottom:none}.md-typeset details summary{padding-right:2rem}[dir=rtl] .md-typeset details summary{padding-left:2rem}.no-details .md-typeset details:not([open])>*{display:none}.no-details .md-typeset details:not([open]) summary{display:block}.md-typeset summary{display:block;outline:none;cursor:pointer}.md-typeset summary::-webkit-details-marker{display:none}.md-typeset summary:after{position:absolute;top:.4rem;right:.6rem;color:rgba(0,0,0,.26);font-size:1rem;content:"\E313"}[dir=rtl] .md-typeset summary:after{right:auto;left:.6rem}.md-typeset .emojione,.md-typeset .gemoji,.md-typeset .twemoji{width:1rem;vertical-align:text-top}.md-typeset code.codehilite,.md-typeset code.highlight{margin:0 .29412em;padding:.07353em 0}.md-typeset .superfences-content{display:none;-webkit-box-ordinal-group:100;order:99;width:100%;background-color:#fff}.md-typeset .superfences-content pre{margin:0;border-radius:0}.md-typeset .superfences-tabs{display:-webkit-box;display:flex;position:relative;flex-wrap:wrap;margin:1em 0;border:.05rem solid rgba(0,0,0,.07);border-radius:.2em}.md-typeset .superfences-tabs>input{display:none}.md-typeset .superfences-tabs>input:checked+label{font-weight:700}.md-typeset .superfences-tabs>input:checked+label+.superfences-content{display:block}.md-typeset .superfences-tabs>label{width:auto;padding:.6rem;-webkit-transition:color .125s;transition:color .125s;font-size:.64rem;cursor:pointer}html .md-typeset .superfences-tabs>label:hover{color:#536dfe}.md-typeset .task-list-item{position:relative;list-style-type:none}.md-typeset .task-list-item [type=checkbox]{position:absolute;top:.45em;left:-2em}[dir=rtl] .md-typeset .task-list-item [type=checkbox]{right:-2em;left:auto}.md-typeset .task-list-control .task-list-indicator:before{position:absolute;top:.15em;left:-1.25em;color:rgba(0,0,0,.26);font-size:1.25em;content:"\E835";vertical-align:-.25em}[dir=rtl] .md-typeset .task-list-control .task-list-indicator:before{right:-1.25em;left:auto}.md-typeset .task-list-control [type=checkbox]:checked+.task-list-indicator:before{content:"\E834"}.md-typeset .task-list-control [type=checkbox]{opacity:0;z-index:-1}@media print{.md-typeset a:after{color:rgba(0,0,0,.54);content:" [" attr(href) "]"}.md-typeset code,.md-typeset pre{white-space:pre-wrap}.md-typeset code{box-shadow:none;-webkit-box-decoration-break:initial;box-decoration-break:slice}.md-clipboard,.md-content__icon,.md-footer,.md-header,.md-sidebar,.md-tabs,.md-typeset .headerlink{display:none}}@media only screen and (max-width:44.9375em){.md-typeset>pre{margin:1em -.8rem;border-radius:0}.md-typeset>pre>code{padding:.525rem .8rem}.md-footer-nav__link--prev .md-footer-nav__title{display:none}.md-search-result__teaser{max-height:2.5rem;-webkit-line-clamp:3}.codehilite .hll,.md-typeset .highlight .hll{margin:0 -.8rem;padding:0 .8rem}.md-typeset>.codehilite,.md-typeset>.highlight{margin:1em -.8rem}.md-typeset>.codehilite code,.md-typeset>.highlight code{padding:.525rem .8rem}.md-typeset>.codehilitetable,.md-typeset>.highlighttable{margin:1em -.8rem;border-radius:0}.md-typeset>.codehilitetable .linenodiv,.md-typeset>.highlighttable .linenodiv{padding:.5rem .8rem}.md-typeset>p>.MJXc-display{margin:.75em -.8rem;padding:.25em .8rem}.md-typeset>.superfences-tabs{margin:1em -.8rem;border:0;border-top:.05rem solid rgba(0,0,0,.07);border-radius:0}.md-typeset>.superfences-tabs input:first-child+label{margin-left:.2rem}}@media only screen and (min-width:100em){html{font-size:137.5%}}@media only screen and (min-width:125em){html{font-size:150%}}@media only screen and (max-width:59.9375em){body[data-md-state=lock]{overflow:hidden}.ios body[data-md-state=lock] .md-container{display:none}html .md-nav__link[for=__toc]{display:block;padding-right:2.4rem}html .md-nav__link[for=__toc]:after{color:inherit;content:"\E8DE"}html .md-nav__link[for=__toc]+.md-nav__link{display:none}html .md-nav__link[for=__toc]~.md-nav{display:-webkit-box;display:flex}html [dir=rtl] .md-nav__link{padding-right:.8rem;padding-left:2.4rem}.md-nav__source{display:block;padding:0 .2rem;background-color:rgba(50,64,144,.9675);color:#fff}.md-search__overlay{position:absolute;top:.2rem;left:.2rem;width:1.8rem;height:1.8rem;-webkit-transform-origin:center;transform-origin:center;-webkit-transition:opacity .2s .2s,-webkit-transform .3s .1s;transition:opacity .2s .2s,-webkit-transform .3s .1s;transition:transform .3s .1s,opacity .2s .2s;transition:transform .3s .1s,opacity .2s .2s,-webkit-transform .3s .1s;border-radius:1rem;background-color:#fff;overflow:hidden;pointer-events:none}[dir=rtl] .md-search__overlay{right:.2rem;left:auto}[data-md-toggle=search]:checked~.md-header .md-search__overlay{-webkit-transition:opacity .1s,-webkit-transform .4s;transition:opacity .1s,-webkit-transform .4s;transition:transform .4s,opacity .1s;transition:transform .4s,opacity .1s,-webkit-transform .4s;opacity:1}.md-search__inner{position:fixed;top:0;left:100%;width:100%;height:100%;-webkit-transform:translateX(5%);transform:translateX(5%);-webkit-transition:right 0s .3s,left 0s .3s,opacity .15s .15s,-webkit-transform .15s cubic-bezier(.4,0,.2,1) .15s;transition:right 0s .3s,left 0s .3s,opacity .15s .15s,-webkit-transform .15s cubic-bezier(.4,0,.2,1) .15s;transition:right 0s .3s,left 0s .3s,transform .15s cubic-bezier(.4,0,.2,1) .15s,opacity .15s .15s;transition:right 0s .3s,left 0s .3s,transform .15s cubic-bezier(.4,0,.2,1) .15s,opacity .15s .15s,-webkit-transform .15s cubic-bezier(.4,0,.2,1) .15s;opacity:0;z-index:2}[data-md-toggle=search]:checked~.md-header .md-search__inner{left:0;-webkit-transform:translateX(0);transform:translateX(0);-webkit-transition:right 0s 0s,left 0s 0s,opacity .15s .15s,-webkit-transform .15s cubic-bezier(.1,.7,.1,1) .15s;transition:right 0s 0s,left 0s 0s,opacity .15s .15s,-webkit-transform .15s cubic-bezier(.1,.7,.1,1) .15s;transition:right 0s 0s,left 0s 0s,transform .15s cubic-bezier(.1,.7,.1,1) .15s,opacity .15s .15s;transition:right 0s 0s,left 0s 0s,transform .15s cubic-bezier(.1,.7,.1,1) .15s,opacity .15s .15s,-webkit-transform .15s cubic-bezier(.1,.7,.1,1) .15s;opacity:1}[dir=rtl] [data-md-toggle=search]:checked~.md-header .md-search__inner{right:0;left:auto}html [dir=rtl] .md-search__inner{right:100%;left:auto;-webkit-transform:translateX(-5%);transform:translateX(-5%)}.md-search__input{width:100%;height:2.4rem;font-size:.9rem}.md-search__icon[for=__search]{top:.6rem;left:.8rem}.md-search__icon[for=__search][for=__search]:before{content:"\E5C4"}[dir=rtl] .md-search__icon[for=__search][for=__search]:before{content:"\E5C8"}.md-search__icon[type=reset]{top:.6rem;right:.8rem}.md-search__output{top:2.4rem;bottom:0}.md-search-result__article--document:before{display:none}}@media only screen and (max-width:76.1875em){[data-md-toggle=drawer]:checked~.md-overlay{width:100%;height:100%;-webkit-transition:width 0s,height 0s,opacity .25s;transition:width 0s,height 0s,opacity .25s;opacity:1}.md-header-nav__button.md-icon--home,.md-header-nav__button.md-logo{display:none}.md-hero__inner{margin-top:2.4rem;margin-bottom:1.2rem}.md-nav{background-color:#fff}.md-nav--primary,.md-nav--primary .md-nav{display:-webkit-box;display:flex;position:absolute;top:0;right:0;left:0;-webkit-box-orient:vertical;-webkit-box-direction:normal;flex-direction:column;height:100%;z-index:1}.md-nav--primary .md-nav__item,.md-nav--primary .md-nav__title{font-size:.8rem;line-height:1.5}html .md-nav--primary .md-nav__title{position:relative;height:5.6rem;padding:3rem .8rem .2rem;background-color:rgba(0,0,0,.07);color:rgba(0,0,0,.54);font-weight:400;line-height:2.4rem;white-space:nowrap;cursor:pointer}html .md-nav--primary .md-nav__title:before{display:block;position:absolute;top:.2rem;left:.2rem;width:2rem;height:2rem;color:rgba(0,0,0,.54)}html .md-nav--primary .md-nav__title~.md-nav__list{background-color:#fff;box-shadow:inset 0 .05rem 0 rgba(0,0,0,.07)}html .md-nav--primary .md-nav__title~.md-nav__list>.md-nav__item:first-child{border-top:0}html .md-nav--primary .md-nav__title--site{position:relative;background-color:#3f51b5;color:#fff}html .md-nav--primary .md-nav__title--site .md-nav__button{display:block;position:absolute;top:.2rem;left:.2rem;width:3.2rem;height:3.2rem;font-size:2.4rem}html .md-nav--primary .md-nav__title--site:before{display:none}html [dir=rtl] .md-nav--primary .md-nav__title--site .md-nav__button,html [dir=rtl] .md-nav--primary .md-nav__title:before{right:.2rem;left:auto}.md-nav--primary .md-nav__list{-webkit-box-flex:1;flex:1;overflow-y:auto}.md-nav--primary .md-nav__item{padding:0;border-top:.05rem solid rgba(0,0,0,.07)}[dir=rtl] .md-nav--primary .md-nav__item{padding:0}.md-nav--primary .md-nav__item--nested>.md-nav__link{padding-right:2.4rem}[dir=rtl] .md-nav--primary .md-nav__item--nested>.md-nav__link{padding-right:.8rem;padding-left:2.4rem}.md-nav--primary .md-nav__item--nested>.md-nav__link:after{content:"\E315"}[dir=rtl] .md-nav--primary .md-nav__item--nested>.md-nav__link:after{content:"\E314"}.md-nav--primary .md-nav__link{position:relative;margin-top:0;padding:.6rem .8rem}.md-nav--primary .md-nav__link:after{position:absolute;top:50%;right:.6rem;margin-top:-.6rem;color:inherit;font-size:1.2rem}[dir=rtl] .md-nav--primary .md-nav__link:after{right:auto;left:.6rem}.md-nav--primary .md-nav--secondary .md-nav__link{position:static}.md-nav--primary .md-nav--secondary .md-nav{position:static;background-color:transparent}.md-nav--primary .md-nav--secondary .md-nav .md-nav__link{padding-left:1.4rem}[dir=rtl] .md-nav--primary .md-nav--secondary .md-nav .md-nav__link{padding-right:1.4rem;padding-left:0}.md-nav--primary .md-nav--secondary .md-nav .md-nav .md-nav__link{padding-left:2rem}[dir=rtl] .md-nav--primary .md-nav--secondary .md-nav .md-nav .md-nav__link{padding-right:2rem;padding-left:0}.md-nav--primary .md-nav--secondary .md-nav .md-nav .md-nav .md-nav__link{padding-left:2.6rem}[dir=rtl] .md-nav--primary .md-nav--secondary .md-nav .md-nav .md-nav .md-nav__link{padding-right:2.6rem;padding-left:0}.md-nav--primary .md-nav--secondary .md-nav .md-nav .md-nav .md-nav .md-nav__link{padding-left:3.2rem}[dir=rtl] .md-nav--primary .md-nav--secondary .md-nav .md-nav .md-nav .md-nav .md-nav__link{padding-right:3.2rem;padding-left:0}.md-nav__toggle~.md-nav{display:-webkit-box;display:flex;-webkit-transform:translateX(100%);transform:translateX(100%);-webkit-transition:opacity .125s .05s,-webkit-transform .25s cubic-bezier(.8,0,.6,1);transition:opacity .125s .05s,-webkit-transform .25s cubic-bezier(.8,0,.6,1);transition:transform .25s cubic-bezier(.8,0,.6,1),opacity .125s .05s;transition:transform .25s cubic-bezier(.8,0,.6,1),opacity .125s .05s,-webkit-transform .25s cubic-bezier(.8,0,.6,1);opacity:0}[dir=rtl] .md-nav__toggle~.md-nav{-webkit-transform:translateX(-100%);transform:translateX(-100%)}.no-csstransforms3d .md-nav__toggle~.md-nav{display:none}.md-nav__toggle:checked~.md-nav{-webkit-transform:translateX(0);transform:translateX(0);-webkit-transition:opacity .125s .125s,-webkit-transform .25s cubic-bezier(.4,0,.2,1);transition:opacity .125s .125s,-webkit-transform .25s cubic-bezier(.4,0,.2,1);transition:transform .25s cubic-bezier(.4,0,.2,1),opacity .125s .125s;transition:transform .25s cubic-bezier(.4,0,.2,1),opacity .125s .125s,-webkit-transform .25s cubic-bezier(.4,0,.2,1);opacity:1}.no-csstransforms3d .md-nav__toggle:checked~.md-nav{display:-webkit-box;display:flex}.md-sidebar--primary{position:fixed;top:0;left:-12.1rem;width:12.1rem;height:100%;-webkit-transform:translateX(0);transform:translateX(0);-webkit-transition:box-shadow .25s,-webkit-transform .25s cubic-bezier(.4,0,.2,1);transition:box-shadow .25s,-webkit-transform .25s cubic-bezier(.4,0,.2,1);transition:transform .25s cubic-bezier(.4,0,.2,1),box-shadow .25s;transition:transform .25s cubic-bezier(.4,0,.2,1),box-shadow .25s,-webkit-transform .25s cubic-bezier(.4,0,.2,1);background-color:#fff;z-index:3}[dir=rtl] .md-sidebar--primary{right:-12.1rem;left:auto}.no-csstransforms3d .md-sidebar--primary{display:none}[data-md-toggle=drawer]:checked~.md-container .md-sidebar--primary{box-shadow:0 8px 10px 1px rgba(0,0,0,.14),0 3px 14px 2px rgba(0,0,0,.12),0 5px 5px -3px rgba(0,0,0,.4);-webkit-transform:translateX(12.1rem);transform:translateX(12.1rem)}[dir=rtl] [data-md-toggle=drawer]:checked~.md-container .md-sidebar--primary{-webkit-transform:translateX(-12.1rem);transform:translateX(-12.1rem)}.no-csstransforms3d [data-md-toggle=drawer]:checked~.md-container .md-sidebar--primary{display:block}.md-sidebar--primary .md-sidebar__scrollwrap{overflow:hidden;position:absolute;top:0;right:0;bottom:0;left:0;margin:0}.md-tabs{display:none}}@media only screen and (min-width:60em){.md-content{margin-right:12.1rem}[dir=rtl] .md-content{margin-right:0;margin-left:12.1rem}.md-header-nav__button.md-icon--search{display:none}.md-header-nav__source{display:block;width:11.7rem;max-width:11.7rem;padding-right:.6rem}[dir=rtl] .md-header-nav__source{padding-right:0;padding-left:.6rem}.md-search{padding:.2rem}.md-search__overlay{position:fixed;top:0;left:0;width:0;height:0;-webkit-transition:width 0s .25s,height 0s .25s,opacity .25s;transition:width 0s .25s,height 0s .25s,opacity .25s;background-color:rgba(0,0,0,.54);cursor:pointer}[dir=rtl] .md-search__overlay{right:0;left:auto}[data-md-toggle=search]:checked~.md-header .md-search__overlay{width:100%;height:100%;-webkit-transition:width 0s,height 0s,opacity .25s;transition:width 0s,height 0s,opacity .25s;opacity:1}.md-search__inner{position:relative;width:11.5rem;margin-right:.8rem;padding:.1rem 0;float:right;-webkit-transition:width .25s cubic-bezier(.1,.7,.1,1);transition:width .25s cubic-bezier(.1,.7,.1,1)}[dir=rtl] .md-search__inner{margin-right:0;margin-left:.8rem;float:left}.md-search__form,.md-search__input{border-radius:.1rem}.md-search__input{width:100%;height:1.8rem;padding-left:2.2rem;-webkit-transition:background-color .25s cubic-bezier(.1,.7,.1,1),color .25s cubic-bezier(.1,.7,.1,1);transition:background-color .25s cubic-bezier(.1,.7,.1,1),color .25s cubic-bezier(.1,.7,.1,1);background-color:rgba(0,0,0,.26);color:inherit;font-size:.8rem}[dir=rtl] .md-search__input{padding-right:2.2rem}.md-search__input+.md-search__icon{color:inherit}.md-search__input::-webkit-input-placeholder{color:hsla(0,0%,100%,.7)}.md-search__input::-moz-placeholder{color:hsla(0,0%,100%,.7)}.md-search__input:-ms-input-placeholder{color:hsla(0,0%,100%,.7)}.md-search__input::-ms-input-placeholder{color:hsla(0,0%,100%,.7)}.md-search__input::placeholder{color:hsla(0,0%,100%,.7)}.md-search__input:hover{background-color:hsla(0,0%,100%,.12)}[data-md-toggle=search]:checked~.md-header .md-search__input{border-radius:.1rem .1rem 0 0;background-color:#fff;color:rgba(0,0,0,.87);text-overflow:clip}[data-md-toggle=search]:checked~.md-header .md-search__input::-webkit-input-placeholder{color:rgba(0,0,0,.54)}[data-md-toggle=search]:checked~.md-header .md-search__input::-moz-placeholder{color:rgba(0,0,0,.54)}[data-md-toggle=search]:checked~.md-header .md-search__input:-ms-input-placeholder{color:rgba(0,0,0,.54)}[data-md-toggle=search]:checked~.md-header .md-search__input::-ms-input-placeholder{color:rgba(0,0,0,.54)}[data-md-toggle=search]:checked~.md-header .md-search__input+.md-search__icon,[data-md-toggle=search]:checked~.md-header .md-search__input::placeholder{color:rgba(0,0,0,.54)}.md-search__output{top:1.9rem;-webkit-transition:opacity .4s;transition:opacity .4s;opacity:0}[data-md-toggle=search]:checked~.md-header .md-search__output{box-shadow:0 6px 10px 0 rgba(0,0,0,.14),0 1px 18px 0 rgba(0,0,0,.12),0 3px 5px -1px rgba(0,0,0,.4);opacity:1}.md-search__scrollwrap{max-height:0}[data-md-toggle=search]:checked~.md-header .md-search__scrollwrap{max-height:75vh}.md-search__scrollwrap::-webkit-scrollbar{width:.2rem;height:.2rem}.md-search__scrollwrap::-webkit-scrollbar-thumb{background-color:rgba(0,0,0,.26)}.md-search__scrollwrap::-webkit-scrollbar-thumb:hover{background-color:#536dfe}.md-search-result__meta{padding-left:2.2rem}[dir=rtl] .md-search-result__meta{padding-right:2.2rem;padding-left:0}.md-search-result__article{padding-left:2.2rem}[dir=rtl] .md-search-result__article{padding-right:2.2rem;padding-left:.8rem}.md-sidebar--secondary{display:block;margin-left:100%;-webkit-transform:translate(-100%);transform:translate(-100%)}[dir=rtl] .md-sidebar--secondary{margin-right:100%;margin-left:0;-webkit-transform:translate(100%);transform:translate(100%)}}@media only screen and (min-width:76.25em){.md-content{margin-left:12.1rem}[dir=rtl] .md-content{margin-right:12.1rem}.md-content__inner{margin-right:1.2rem;margin-left:1.2rem}.md-header-nav__button.md-icon--menu{display:none}.md-nav[data-md-state=animate]{-webkit-transition:max-height .25s cubic-bezier(.86,0,.07,1);transition:max-height .25s cubic-bezier(.86,0,.07,1)}.md-nav__toggle~.md-nav{max-height:0;overflow:hidden}.no-js .md-nav__toggle~.md-nav{display:none}.md-nav[data-md-state=expand],.md-nav__toggle:checked~.md-nav{max-height:100%}.no-js .md-nav[data-md-state=expand],.no-js .md-nav__toggle:checked~.md-nav{display:block}.md-nav__item--nested>.md-nav>.md-nav__title{display:none}.md-nav__item--nested>.md-nav__link:after{display:inline-block;-webkit-transform-origin:.45em .45em;transform-origin:.45em .45em;-webkit-transform-style:preserve-3d;transform-style:preserve-3d;vertical-align:-.125em}.js .md-nav__item--nested>.md-nav__link:after{-webkit-transition:-webkit-transform .4s;transition:-webkit-transform .4s;transition:transform .4s;transition:transform .4s,-webkit-transform .4s}.md-nav__item--nested .md-nav__toggle:checked~.md-nav__link:after{-webkit-transform:rotateX(180deg);transform:rotateX(180deg)}.md-search__inner{margin-right:1.2rem}[dir=rtl] .md-search__inner{margin-left:1.2rem}.md-search__scrollwrap,[data-md-toggle=search]:checked~.md-header .md-search__inner{width:34.4rem}.md-sidebar--secondary{margin-left:61rem}[dir=rtl] .md-sidebar--secondary{margin-right:61rem;margin-left:0}.md-tabs~.md-main .md-nav--primary>.md-nav__list>.md-nav__item--nested{font-size:0;visibility:hidden}.md-tabs--active~.md-main .md-nav--primary .md-nav__title{display:block;padding:0}.md-tabs--active~.md-main .md-nav--primary .md-nav__title--site{display:none}.no-js .md-tabs--active~.md-main .md-nav--primary .md-nav{display:block}.md-tabs--active~.md-main .md-nav--primary>.md-nav__list>.md-nav__item{font-size:0;visibility:hidden}.md-tabs--active~.md-main .md-nav--primary>.md-nav__list>.md-nav__item--nested{display:none;font-size:.7rem;overflow:auto;visibility:visible}.md-tabs--active~.md-main .md-nav--primary>.md-nav__list>.md-nav__item--nested>.md-nav__link{display:none}.md-tabs--active~.md-main .md-nav--primary>.md-nav__list>.md-nav__item--active{display:block}.md-tabs--active~.md-main .md-nav[data-md-level="1"]{max-height:none;overflow:visible}.md-tabs--active~.md-main .md-nav[data-md-level="1"]>.md-nav__list>.md-nav__item{padding-left:0}.md-tabs--active~.md-main .md-nav[data-md-level="1"] .md-nav .md-nav__title{display:none}}@media only screen and (min-width:45em){.md-footer-nav__link{width:50%}.md-footer-copyright{max-width:75%;float:left}[dir=rtl] .md-footer-copyright{float:right}.md-footer-social{padding:.6rem 0;float:right}[dir=rtl] .md-footer-social{float:left}}@media only screen and (max-width:29.9375em){[data-md-toggle=search]:checked~.md-header .md-search__overlay{-webkit-transform:scale(45);transform:scale(45)}}@media only screen and (min-width:30em) and (max-width:44.9375em){[data-md-toggle=search]:checked~.md-header .md-search__overlay{-webkit-transform:scale(60);transform:scale(60)}}@media only screen and (min-width:45em) and (max-width:59.9375em){[data-md-toggle=search]:checked~.md-header .md-search__overlay{-webkit-transform:scale(75);transform:scale(75)}}@media only screen and (min-width:60em) and (max-width:76.1875em){.md-search__scrollwrap,[data-md-toggle=search]:checked~.md-header .md-search__inner{width:23.4rem}.md-search-result__teaser{max-height:2.5rem;-webkit-line-clamp:3}} -/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9Vc2Vycy9zcXVpZGZ1bmsvRGVza3RvcC9HZW5lcmFsL1NvdXJjZXMvbWtkb2NzLW1hdGVyaWFsL3NyYy9hc3NldHMvc3R5bGVzaGVldHMvYmFzZS9fcmVzZXQuc2NzcyIsIi9Vc2Vycy9zcXVpZGZ1bmsvRGVza3RvcC9HZW5lcmFsL1NvdXJjZXMvbWtkb2NzLW1hdGVyaWFsL3NyYy9hc3NldHMvc3R5bGVzaGVldHMvYmFzZS9faWNvbnMuc2NzcyIsIi9Vc2Vycy9zcXVpZGZ1bmsvRGVza3RvcC9HZW5lcmFsL1NvdXJjZXMvbWtkb2NzLW1hdGVyaWFsL3NyYy9hc3NldHMvc3R5bGVzaGVldHMvYmFzZS9fdHlwZXNldC5zY3NzIiwiL1VzZXJzL3NxdWlkZnVuay9EZXNrdG9wL0dlbmVyYWwvU291cmNlcy9ta2RvY3MtbWF0ZXJpYWwvc3JjL2Fzc2V0cy9zdHlsZXNoZWV0cy9fY29uZmlnLnNjc3MiLCIvVXNlcnMvc3F1aWRmdW5rL0Rlc2t0b3AvR2VuZXJhbC9Tb3VyY2VzL21rZG9jcy1tYXRlcmlhbC9ub2RlX21vZHVsZXMvbW9kdWxhcnNjYWxlLXNhc3Mvc3R5bGVzaGVldHMvbW9kdWxhcnNjYWxlL19mdW5jdGlvbi5zY3NzIiwiL1VzZXJzL3NxdWlkZnVuay9EZXNrdG9wL0dlbmVyYWwvU291cmNlcy9ta2RvY3MtbWF0ZXJpYWwvc3JjL2Fzc2V0cy9zdHlsZXNoZWV0cy9oZWxwZXJzL19weDJlbS5zY3NzIiwiL1VzZXJzL3NxdWlkZnVuay9EZXNrdG9wL0dlbmVyYWwvU291cmNlcy9ta2RvY3MtbWF0ZXJpYWwvbm9kZV9tb2R1bGVzL21hdGVyaWFsLWRlc2lnbi1jb2xvci9tYXRlcmlhbC1jb2xvci5zY3NzIiwiL1VzZXJzL3NxdWlkZnVuay9EZXNrdG9wL0dlbmVyYWwvU291cmNlcy9ta2RvY3MtbWF0ZXJpYWwvbm9kZV9tb2R1bGVzL21hdGVyaWFsLXNoYWRvd3MvbWF0ZXJpYWwtc2hhZG93cy5zY3NzIiwiL1VzZXJzL3NxdWlkZnVuay9EZXNrdG9wL0dlbmVyYWwvU291cmNlcy9ta2RvY3MtbWF0ZXJpYWwvc3JjL2Fzc2V0cy9zdHlsZXNoZWV0cy9sYXlvdXQvX2Jhc2Uuc2NzcyIsIi9Vc2Vycy9zcXVpZGZ1bmsvRGVza3RvcC9HZW5lcmFsL1NvdXJjZXMvbWtkb2NzLW1hdGVyaWFsL3NyYy9hc3NldHMvc3R5bGVzaGVldHMvbGF5b3V0L19jbGlwYm9hcmQuc2NzcyIsIi9Vc2Vycy9zcXVpZGZ1bmsvRGVza3RvcC9HZW5lcmFsL1NvdXJjZXMvbWtkb2NzLW1hdGVyaWFsL3NyYy9hc3NldHMvc3R5bGVzaGVldHMvbGF5b3V0L19jb250ZW50LnNjc3MiLCIvVXNlcnMvc3F1aWRmdW5rL0Rlc2t0b3AvR2VuZXJhbC9Tb3VyY2VzL21rZG9jcy1tYXRlcmlhbC9zcmMvYXNzZXRzL3N0eWxlc2hlZXRzL2xheW91dC9faGVhZGVyLnNjc3MiLCIvVXNlcnMvc3F1aWRmdW5rL0Rlc2t0b3AvR2VuZXJhbC9Tb3VyY2VzL21rZG9jcy1tYXRlcmlhbC9zcmMvYXNzZXRzL3N0eWxlc2hlZXRzL2xheW91dC9faGVyby5zY3NzIiwiL1VzZXJzL3NxdWlkZnVuay9EZXNrdG9wL0dlbmVyYWwvU291cmNlcy9ta2RvY3MtbWF0ZXJpYWwvc3JjL2Fzc2V0cy9zdHlsZXNoZWV0cy9sYXlvdXQvX2Zvb3Rlci5zY3NzIiwiL1VzZXJzL3NxdWlkZnVuay9EZXNrdG9wL0dlbmVyYWwvU291cmNlcy9ta2RvY3MtbWF0ZXJpYWwvc3JjL2Fzc2V0cy9zdHlsZXNoZWV0cy9sYXlvdXQvX25hdi5zY3NzIiwiL1VzZXJzL3NxdWlkZnVuay9EZXNrdG9wL0dlbmVyYWwvU291cmNlcy9ta2RvY3MtbWF0ZXJpYWwvc3JjL2Fzc2V0cy9zdHlsZXNoZWV0cy9sYXlvdXQvX3NlYXJjaC5zY3NzIiwiL1VzZXJzL3NxdWlkZnVuay9EZXNrdG9wL0dlbmVyYWwvU291cmNlcy9ta2RvY3MtbWF0ZXJpYWwvc3JjL2Fzc2V0cy9zdHlsZXNoZWV0cy9sYXlvdXQvX3NpZGViYXIuc2NzcyIsIi9Vc2Vycy9zcXVpZGZ1bmsvRGVza3RvcC9HZW5lcmFsL1NvdXJjZXMvbWtkb2NzLW1hdGVyaWFsL3NyYy9hc3NldHMvc3R5bGVzaGVldHMvbGF5b3V0L19zb3VyY2Uuc2NzcyIsIi9Vc2Vycy9zcXVpZGZ1bmsvRGVza3RvcC9HZW5lcmFsL1NvdXJjZXMvbWtkb2NzLW1hdGVyaWFsL3NyYy9hc3NldHMvc3R5bGVzaGVldHMvbGF5b3V0L190YWJzLnNjc3MiLCIvVXNlcnMvc3F1aWRmdW5rL0Rlc2t0b3AvR2VuZXJhbC9Tb3VyY2VzL21rZG9jcy1tYXRlcmlhbC9zcmMvYXNzZXRzL3N0eWxlc2hlZXRzL2V4dGVuc2lvbnMvcHltZG93bi9fZGV0YWlscy5zY3NzIiwiL1VzZXJzL3NxdWlkZnVuay9EZXNrdG9wL0dlbmVyYWwvU291cmNlcy9ta2RvY3MtbWF0ZXJpYWwvc3JjL2Fzc2V0cy9zdHlsZXNoZWV0cy9leHRlbnNpb25zL19hZG1vbml0aW9uLnNjc3MiLCIvVXNlcnMvc3F1aWRmdW5rL0Rlc2t0b3AvR2VuZXJhbC9Tb3VyY2VzL21rZG9jcy1tYXRlcmlhbC9zcmMvYXNzZXRzL3N0eWxlc2hlZXRzL2V4dGVuc2lvbnMvX2NvZGVoaWxpdGUuc2NzcyIsIi9Vc2Vycy9zcXVpZGZ1bmsvRGVza3RvcC9HZW5lcmFsL1NvdXJjZXMvbWtkb2NzLW1hdGVyaWFsL3NyYy9hc3NldHMvc3R5bGVzaGVldHMvZXh0ZW5zaW9ucy9fZm9vdG5vdGVzLnNjc3MiLCIvVXNlcnMvc3F1aWRmdW5rL0Rlc2t0b3AvR2VuZXJhbC9Tb3VyY2VzL21rZG9jcy1tYXRlcmlhbC9zcmMvYXNzZXRzL3N0eWxlc2hlZXRzL2V4dGVuc2lvbnMvX3Blcm1hbGlua3Muc2NzcyIsIi9Vc2Vycy9zcXVpZGZ1bmsvRGVza3RvcC9HZW5lcmFsL1NvdXJjZXMvbWtkb2NzLW1hdGVyaWFsL3NyYy9hc3NldHMvc3R5bGVzaGVldHMvZXh0ZW5zaW9ucy9weW1kb3duL19hcml0aG1hdGV4LnNjc3MiLCIvVXNlcnMvc3F1aWRmdW5rL0Rlc2t0b3AvR2VuZXJhbC9Tb3VyY2VzL21rZG9jcy1tYXRlcmlhbC9zcmMvYXNzZXRzL3N0eWxlc2hlZXRzL2V4dGVuc2lvbnMvcHltZG93bi9fY3JpdGljLnNjc3MiLCIvVXNlcnMvc3F1aWRmdW5rL0Rlc2t0b3AvR2VuZXJhbC9Tb3VyY2VzL21rZG9jcy1tYXRlcmlhbC9zcmMvYXNzZXRzL3N0eWxlc2hlZXRzL2V4dGVuc2lvbnMvcHltZG93bi9fZW1vamkuc2NzcyIsIi9Vc2Vycy9zcXVpZGZ1bmsvRGVza3RvcC9HZW5lcmFsL1NvdXJjZXMvbWtkb2NzLW1hdGVyaWFsL3NyYy9hc3NldHMvc3R5bGVzaGVldHMvZXh0ZW5zaW9ucy9weW1kb3duL19pbmxpbmVoaWxpdGUuc2NzcyIsIi9Vc2Vycy9zcXVpZGZ1bmsvRGVza3RvcC9HZW5lcmFsL1NvdXJjZXMvbWtkb2NzLW1hdGVyaWFsL3NyYy9hc3NldHMvc3R5bGVzaGVldHMvZXh0ZW5zaW9ucy9weW1kb3duL19zdXBlcmZlbmNlcy5zY3NzIiwiL1VzZXJzL3NxdWlkZnVuay9EZXNrdG9wL0dlbmVyYWwvU291cmNlcy9ta2RvY3MtbWF0ZXJpYWwvc3JjL2Fzc2V0cy9zdHlsZXNoZWV0cy9leHRlbnNpb25zL3B5bWRvd24vX3Rhc2tsaXN0LnNjc3MiLCIvVXNlcnMvc3F1aWRmdW5rL0Rlc2t0b3AvR2VuZXJhbC9Tb3VyY2VzL21rZG9jcy1tYXRlcmlhbC9zcmMvYXNzZXRzL3N0eWxlc2hlZXRzL2hlbHBlcnMvX2JyZWFrLnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBNkJBLEtBQ0UscUJBQXNCLENBQ3ZCLGlCQU1DLGtCQUFtQixDQVJyQixLQWFFLDhCQUFBLDJCQUFBLDBCQUFBLHFCQUFzQixDQUN2QixLQUlDLFFBQVMsQ0FDVixHQUlDLGlCQUNBLHNCQUF1QixDQUN4QixFQUlDLG9DQUFxQyxDQUN0QyxxQkFPQyx1Q0FBd0MsQ0FUMUMsRUFjRSxjQUNBLG9CQUFxQixDQUN0QixBQUtBLGNBREMsYUFBYyxDQVVmLEFBVEEsUUFLQyxrQkFDQSxBQUNBLGNBQ0EsdUJB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WSxDQUFBLCtFQUdYLGFBQ1EsZ0JiakZMLGNhbUZNLGtCQUNJLENBQUEsNkZBR1YsWUFDQSxDQUFPLCtFQUtWLGFBQ1EsQ0FBRSxxREFNUCxnQkFDTSxnQkFDRixDQUFBLGlGQUdRLGNBQ2hCLENBQUEsNEVBSU0sWUFDTixDQUFPLENiL0dILHdDeUJnS3lCLHFCakI5S3JDLFNBT0ksQ0FBQSxxQkE0Rk4sY0FRSSxVQUNBLENBQUssK0JBVFQsV0FhVyxDQUFFLGtCQVdiLGdCUjdHYyxXUW9ITCxDQUFFLDRCQVBYLFVBV00sQ0FBSyxDQS9IQSw2Q2lCNkw0QiwrRGZuTXBDLDRCQUFBLG1CQXdDZ0IsQ0FBQSxDQUFBLGtFZTRHNEMsK0RmcEo1RCw0QkFBQSxtQkE2Q2dCLENBQUEsQ0FBQSxrRWV1RzRDLCtEZnBKNUQsNEJBQUEsbUJBa0RnQixDQUFBLENWckNMLGtFQUFBLG9GVWlYWixhVmpYWSxDQUFBLDBCVTRoQlosa0JWNWhCWSxvQlVpakJSLENBQUEsQ0FBQSIsImZpbGUiOiJhcHBsaWNhdGlvbi5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyIvLy8vXG4vLy8gQ29weXJpZ2h0IChjKSAyMDE2LTIwMjAgTWFydGluIERvbmF0aCA8bWFydGluLmRvbmF0aEBzcXVpZGZ1bmsuY29tPlxuLy8vXG4vLy8gUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0YWluaW5nIGFcbi8vLyBjb3B5IG9mIHRoaXMgc29mdHdhcmUgYW5kIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlIFwiU29mdHdhcmVcIiksXG4vLy8gdG8gZGVhbCBpbiB0aGUgU29mdHdhcmUgd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nIHdpdGhvdXQgbGltaXRhdGlvblxuLy8vIHRoZSByaWdodHMgdG8gdXNlLCBjb3B5LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNoLCBkaXN0cmlidXRlLCBzdWJsaWNlbnNlLFxuLy8vIGFuZC9vciBzZWxsIGNvcGllcyBvZiB0aGUgU29mdHdhcmUsIGFuZCB0byBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZVxuLy8vIFNvZnR3YXJlIGlzIGZ1cm5pc2hlZCB0byBkbyBzbywgc3ViamVjdCB0byB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6XG4vLy9cbi8vLyBUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBiZSBpbmNsdWRlZCBpblxuLy8vIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIFNvZnR3YXJlLlxuLy8vXG4vLy8gVEhFIFNPRlRXQVJFIElTIFBST1ZJREVEIFwiQVMgSVNcIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwgRVhQUkVTUyBPUlxuLy8vIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZLFxuLy8vIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT04tSU5GUklOR0VNRU5ULiBJTiBOTyBFVkVOVCBTSEFMTFxuLy8vIFRIRSBBVVRIT1JTIE9SIENPUFlSSUdIVCBIT0xERVJTIEJFIExJQUJMRSBGT1IgQU5ZIENMQUlNLCBEQU1BR0VTIE9SIE9USEVSXG4vLy8gTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkdcbi8vLyBGUk9NLCBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRSBTT0ZUV0FSRSBPUiBUSEUgVVNFIE9SIE9USEVSXG4vLy8gREVBTElOR1Ncbi8vLy9cblxuLy8gc3R5bGVsaW50LWRpc2FibGUgbm8tZHVwbGljYXRlLXNlbGVjdG9yc1xuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBSdWxlc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4vLyBFbmZvcmNlIGNvcnJlY3QgYm94IG1vZGVsXG5odG1sIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbn1cblxuLy8gQWxsIGVsZW1lbnRzIHNoYWxsIGluaGVyaXQgdGhlIGRvY3VtZW50IGRlZmF1bHRcbiosXG4qOjpiZWZvcmUsXG4qOjphZnRlciB7XG4gIGJveC1zaXppbmc6IGluaGVyaXQ7XG59XG5cbi8vIFByZXZlbnQgYWRqdXN0bWVudHMgb2YgZm9udCBzaXplIGFmdGVyIG9yaWVudGF0aW9uIGNoYW5nZXMgaW4gSUUgYW5kIGlPU1xuaHRtbCB7XG4gIHRleHQtc2l6ZS1hZGp1c3Q6IG5vbmU7XG59XG5cbi8vIFJlbW92ZSBtYXJnaW4gaW4gYWxsIGJyb3dzZXJzXG5ib2R5IHtcbiAgbWFyZ2luOiAwO1xufVxuXG4vLyBSZXNldCBob3Jpem9udGFsIHJ1bGVzIGluIEZGXG5ociB7XG4gIG92ZXJmbG93OiB2aXNpYmxlO1xuICBib3gtc2l6aW5nOiBjb250ZW50LWJveDtcbn1cblxuLy8gUmVtb3ZlIGdhcHMgaW4gdW5kZXJsaW5lZCBsaW5rcyBpbiBpT1MgPj0gOCBhbmQgU2FmYXJpID49IDhcbmEge1xuICAtd2Via2l0LXRleHQtZGVjb3JhdGlvbi1za2lwOiBvYmplY3RzO1xufVxuXG4vLyBSZXNldCB0YXAgb3V0bGluZXMgb24gaU9TIGFuZCBBbmRyb2lkXG5hLFxuYnV0dG9uLFxubGFiZWwsXG5pbnB1dCB7XG4gIC13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjogdHJhbnNwYXJlbnQ7XG59XG5cbi8vIFJlc2V0IGxpbmsgc3R5bGVzXG5hIHtcbiAgY29sb3I6IGluaGVyaXQ7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbn1cblxuLy8gTm9ybWFsaXplIGZvbnQtc2l6ZSBpbiBhbGwgYnJvd3NlcnNcbnNtYWxsIHtcbiAgZm9udC1zaXplOiA4MCU7XG59XG5cbi8vIFByZXZlbnQgc3Vic2NyaXB0IGFuZCBzdXBlcnNjcmlwdCBmcm9tIGFmZmVjdGluZyBsaW5lLWhlaWdodFxuc3ViLFxuc3VwIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBmb250LXNpemU6IDgwJTtcbiAgbGluZS1oZWlnaHQ6IDA7XG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbn1cblxuLy8gQ29ycmVjdCBzdWJzY3JpcHQgb2Zmc2V0XG5zdWIge1xuICBib3R0b206IC0wLjI1ZW07XG59XG5cbi8vIENvcnJlY3Qgc3VwZXJzY3JpcHQgb2Zmc2V0XG5zdXAge1xuICB0b3A6IC0wLjVlbTtcbn1cblxuLy8gUmVtb3ZlIGJvcmRlcnMgb24gaW1hZ2VzXG5pbWcge1xuICBib3JkZXItc3R5bGU6IG5vbmU7XG59XG5cbi8vIFJlc2V0IHRhYmxlIHN0eWxlc1xudGFibGUge1xuICBib3JkZXItY29sbGFwc2U6IHNlcGFyYXRlO1xuICBib3JkZXItc3BhY2luZzogMDtcbn1cblxuLy8gUmVzZXQgdGFibGUgY2VsbCBzdHlsZXNcbnRkLFxudGgge1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xufVxuXG4vLyBSZXNldCAobmF0aXZlKSBidXR0b24gc3R5bGVzXG5idXR0b24ge1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7XG4gIGJvcmRlcjogMDtcbiAgb3V0bGluZS1zdHlsZTogbm9uZTtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIGZvbnQtc2l6ZTogaW5oZXJpdDtcbn1cblxuLy8gUmVzZXQgKG5hdGl2ZSkgaW5wdXQgc3R5bGVzXG5pbnB1dCB7XG4gIGJvcmRlcjogMDtcbiAgb3V0bGluZTogMDtcbn1cbiIsIi8vLy9cbi8vLyBDb3B5cmlnaHQgKGMpIDIwMTYtMjAyMCBNYXJ0aW4gRG9uYXRoIDxtYXJ0aW4uZG9uYXRoQHNxdWlkZnVuay5jb20+XG4vLy9cbi8vLyBQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYVxuLy8vIGNvcHkgb2YgdGhpcyBzb2Z0d2FyZSBhbmQgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGUgXCJTb2Z0d2FyZVwiKSxcbi8vLyB0byBkZWFsIGluIHRoZSBTb2Z0d2FyZSB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcgd2l0aG91dCBsaW1pdGF0aW9uXG4vLy8gdGhlIHJpZ2h0cyB0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsXG4vLy8gYW5kL29yIHNlbGwgY29waWVzIG9mIHRoZSBTb2Z0d2FyZSwgYW5kIHRvIHBlcm1pdCBwZXJzb25zIHRvIHdob20gdGhlXG4vLy8gU29mdHdhcmUgaXMgZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczpcbi8vL1xuLy8vIFRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIHNoYWxsIGJlIGluY2x1ZGVkIGluXG4vLy8gYWxsIGNvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUgU29mdHdhcmUuXG4vLy9cbi8vLyBUSEUgU09GVFdBUkUgSVMgUFJPVklERUQgXCJBUyBJU1wiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELCBFWFBSRVNTIE9SXG4vLy8gSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFksXG4vLy8gRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTi1JTkZSSU5HRU1FTlQuIElOIE5PIEVWRU5UIFNIQUxMXG4vLy8gVEhFIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkgQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVJcbi8vLyBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULCBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lOR1xuLy8vIEZST00sIE9VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhFIFNPRlRXQVJFIE9SIFRIRSBVU0UgT1IgT1RIRVJcbi8vLyBERUFMSU5HU1xuLy8vL1xuXG4vLyBzdHlsZWxpbnQtZGlzYWJsZSBmb250LWZhbWlseS1uby1taXNzaW5nLWdlbmVyaWMtZmFtaWx5LWtleXdvcmRcblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gUnVsZXNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLy8gSWNvbiBwbGFjZWhvbGRlcnNcbiVtZC1pY29uIHtcbiAgZm9udC1mYW1pbHk6IFwiTWF0ZXJpYWwgSWNvbnNcIjtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXZhcmlhbnQ6IG5vcm1hbDtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICB3b3JkLXdyYXA6IG5vcm1hbDtcbiAgZGlyZWN0aW9uOiBsdHI7XG5cbiAgLy8gSWNvbiByZW5kZXJlZCBhcyBidXR0b25cbiAgJl9fYnV0dG9uIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgbWFyZ2luOiAkbWQtaWNvbi1tYXJnaW47XG4gICAgcGFkZGluZzogJG1kLWljb24tcGFkZGluZztcbiAgICBmb250LXNpemU6ICRtZC1pY29uLXNpemU7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICB9XG59XG5cbi8vIFJlcHJlc2VudGF0aW9uYWwgY2xhc3Nlc1xuLm1kLWljb24ge1xuICBAZXh0ZW5kICVtZC1pY29uO1xuXG4gIC8vIEJ1aWxkIHJlcHJlc2VudGF0aW9uYWwgY2xhc3Nlc1xuICBAZWFjaCAkbGlnYXR1cmUsICRuYW1lIGluIChcbiAgICBcIlxcRTVDNFwiOiBcImFycm93LWJhY2tcIiwgLy8gYXJyb3dfYmFja1xuICAgIFwiXFxFNUM4XCI6IFwiYXJyb3ctZm9yd2FyZFwiLCAvLyBhcnJvd19mb3J3YXJkXG4gICAgXCJcXEU1RDJcIjogXCJtZW51XCIsIC8vIG1lbnVcbiAgICBcIlxcRThCNlwiOiBcInNlYXJjaFwiIC8vIHNlYXJjaFxuICApIHtcbiAgICAmLS0jeyRuYW1lfTo6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6ICRsaWdhdHVyZTtcbiAgICB9XG4gIH1cblxuICAvLyBBZGp1c3QgZm9yIFJUTCBsYW5ndWFnZXNcbiAgW2Rpcj1cInJ0bFwiXSAmIHtcblxuICAgIC8vIEZsaXAgbGlnYXR1cmVzIGZvciBhcnJvd3NcbiAgICBAZWFjaCAkbGlnYXR1cmUsICRuYW1lIGluIChcbiAgICAgIFwiXFxFNUM4XCI6IFwiYXJyb3ctYmFja1wiLCAvLyBhcnJvd19mb3J3YXJkXG4gICAgICBcIlxcRTVDNFwiOiBcImFycm93LWZvcndhcmRcIiAvLyBhcnJvd19iYWNrXG4gICAgKSB7XG4gICAgICAmLS0jeyRuYW1lfTo6YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogJGxpZ2F0dXJlO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8vL1xuLy8vIENvcHlyaWdodCAoYykgMjAxNi0yMDIwIE1hcnRpbiBEb25hdGggPG1hcnRpbi5kb25hdGhAc3F1aWRmdW5rLmNvbT5cbi8vL1xuLy8vIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBhXG4vLy8gY29weSBvZiB0aGlzIHNvZnR3YXJlIGFuZCBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZSBcIlNvZnR3YXJlXCIpLFxuLy8vIHRvIGRlYWwgaW4gdGhlIFNvZnR3YXJlIHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1ZGluZyB3aXRob3V0IGxpbWl0YXRpb25cbi8vLyB0aGUgcmlnaHRzIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwgZGlzdHJpYnV0ZSwgc3VibGljZW5zZSxcbi8vLyBhbmQvb3Igc2VsbCBjb3BpZXMgb2YgdGhlIFNvZnR3YXJlLCBhbmQgdG8gcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGVcbi8vLyBTb2Z0d2FyZSBpcyBmdXJuaXNoZWQgdG8gZG8gc28sIHN1YmplY3QgdG8gdGhlIGZvbGxvd2luZyBjb25kaXRpb25zOlxuLy8vXG4vLy8gVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWQgaW5cbi8vLyBhbGwgY29waWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25zIG9mIHRoZSBTb2Z0d2FyZS5cbi8vL1xuLy8vIFRIRSBTT0ZUV0FSRSBJUyBQUk9WSURFRCBcIkFTIElTXCIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsIEVYUFJFU1MgT1Jcbi8vLyBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSxcbi8vLyBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OLUlORlJJTkdFTUVOVC4gSU4gTk8gRVZFTlQgU0hBTExcbi8vLyBUSEUgQVVUSE9SUyBPUiBDT1BZUklHSFQgSE9MREVSUyBCRSBMSUFCTEUgRk9SIEFOWSBDTEFJTSwgREFNQUdFUyBPUiBPVEhFUlxuLy8vIExJQUJJTElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HXG4vLy8gRlJPTSwgT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUlxuLy8vIERFQUxJTkdTXG4vLy8vXG5cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIFJ1bGVzOiBmb250IGRlZmluaXRpb25zXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi8vIEVuYWJsZSBmb250LXNtb290aGluZyBpbiBXZWJraXQgYW5kIEZGXG5ib2R5IHtcbiAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7XG59XG5cbi8vIERlZmF1bHQgZm9udHNcbmJvZHksXG5pbnB1dCB7XG4gIGNvbG9yOiAkbWQtY29sb3ItYmxhY2s7XG4gIGZvbnQtZmVhdHVyZS1zZXR0aW5nczogXCJrZXJuXCIsIFwibGlnYVwiO1xuICBmb250LWZhbWlseTogXCJIZWx2ZXRpY2EgTmV1ZVwiLCBIZWx2ZXRpY2EsIEFyaWFsLCBzYW5zLXNlcmlmO1xufVxuXG4vLyBQcm9wb3J0aW9uYWxseSBzcGFjZWQgZm9udHNcbnByZSxcbmNvZGUsXG5rYmQge1xuICBjb2xvcjogJG1kLWNvbG9yLWJsYWNrO1xuICBmb250LWZlYXR1cmUtc2V0dGluZ3M6IFwia2VyblwiO1xuICBmb250LWZhbWlseTogXCJDb3VyaWVyIE5ld1wiLCBDb3VyaWVyLCBtb25vc3BhY2U7XG59XG5cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIFJ1bGVzOiB0eXBlc2V0dGVkIGNvbnRlbnRcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLy8gQ29udGVudCB0aGF0IGlzIHR5cGVzZXQgLSBpZiBwb3NzaWJsZSwgYWxsIG1hcmdpbnMsIHBhZGRpbmdzIGFuZCBmb250IHNpemVzXG4vLyBzaG91bGQgYmUgc2V0IGluIGVtcywgc28gbmVzdGVkIGJsb2NrcyAoZS5nLiBBZG1vbml0aW9uKSByZW5kZXIgY29ycmVjdGx5LFxuLy8gZXhjZXB0IGhlYWRsaW5lcyB0aGF0IHNob3VsZCBvbmx5IGFwcGVhciBvbiB0aGUgdG9wIGxldmVsIGFuZCBuZWVkIHRvIGhhdmVcbi8vIGNvbnNpc3RlbnQgc3BhY2luZyBkdWUgdG8gbGF5b3V0IGNvbnN0cmFpbnRzLlxuLm1kLXR5cGVzZXQge1xuICBmb250LXNpemU6IG1zKDApO1xuICBsaW5lLWhlaWdodDogMS42O1xuXG4gIC8vIENvbG9ycyBzaG91bGQgYmUga2VwdCB3aGVuIHByaW50aW5nXG4gIC13ZWJraXQtcHJpbnQtY29sb3ItYWRqdXN0OiBleGFjdDtcblxuICAvLyBEZWZhdWx0IHNwYWNpbmdcbiAgcCxcbiAgdWwsXG4gIG9sLFxuICBibG9ja3F1b3RlIHtcbiAgICBtYXJnaW46IDFlbSAwO1xuICB9XG5cbiAgLy8gMXN0IGxldmVsIGhlYWRsaW5lXG4gIGgxIHtcbiAgICBtYXJnaW46IDAgMCBweDJyZW0oNDBweCk7XG4gICAgY29sb3I6ICRtZC1jb2xvci1ibGFjay0tbGlnaHQ7XG4gICAgZm9udC1zaXplOiBtcygzKTtcbiAgICBmb250LXdlaWdodDogMzAwO1xuICAgIGxldHRlci1zcGFjaW5nOiAtMC4wMWVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjM7XG4gIH1cblxuICAvLyAybmQgbGV2ZWwgaGVhZGxpbmVcbiAgaDIge1xuICAgIG1hcmdpbjogcHgycmVtKDQwcHgpIDAgcHgycmVtKDE2cHgpO1xuICAgIGZvbnQtc2l6ZTogbXMoMik7XG4gICAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgICBsZXR0ZXItc3BhY2luZzogLTAuMDFlbTtcbiAgICBsaW5lLWhlaWdodDogMS40O1xuICB9XG5cbiAgLy8gM3JkIGxldmVsIGhlYWRsaW5lXG4gIGgzIHtcbiAgICBtYXJnaW46IHB4MnJlbSgzMnB4KSAwIHB4MnJlbSgxNnB4KTtcbiAgICBmb250LXNpemU6IG1zKDEpO1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgbGV0dGVyLXNwYWNpbmc6IC0wLjAxZW07XG4gICAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgfVxuXG4gIC8vIDNyZCBsZXZlbCBoZWFkbGluZSBmb2xsb3dpbmcgYW4gMm5kIGxldmVsIGhlYWRsaW5lXG4gIGgyICsgaDMge1xuICAgIG1hcmdpbi10b3A6IHB4MnJlbSgxNnB4KTtcbiAgfVxuXG4gIC8vIDR0aCBsZXZlbCBoZWFkbGluZVxuICBoNCB7XG4gICAgbWFyZ2luOiBweDJyZW0oMTZweCkgMDtcbiAgICBmb250LXNpemU6IG1zKDApO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgbGV0dGVyLXNwYWNpbmc6IC0wLjAxZW07XG4gIH1cblxuICAvLyA1dGggYW5kIDZ0aCBsZXZlbCBoZWFkbGluZVxuICBoNSxcbiAgaDYge1xuICAgIG1hcmdpbjogcHgycmVtKDE2cHgpIDA7XG4gICAgY29sb3I6ICRtZC1jb2xvci1ibGFjay0tbGlnaHQ7XG4gICAgZm9udC1zaXplOiBtcygtMSk7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBsZXR0ZXItc3BhY2luZzogLTAuMDFlbTtcbiAgfVxuXG4gIC8vIE92ZXJyaWRlcyBmb3IgNXRoIGxldmVsIGhlYWRsaW5lXG4gIGg1IHtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICB9XG5cbiAgLy8gSG9yaXpvbnRhbCBzZXBhcmF0b3JzXG4gIGhyIHtcbiAgICBtYXJnaW46IDEuNWVtIDA7XG4gICAgYm9yZGVyLWJvdHRvbTogcHgycmVtKDFweCkgZG90dGVkICRtZC1jb2xvci1ibGFjay0tbGlnaHRlcjtcbiAgfVxuXG4gIC8vIExpbmtzXG4gIGEge1xuICAgIGNvbG9yOiAkbWQtY29sb3ItcHJpbWFyeTtcbiAgICB3b3JkLWJyZWFrOiBicmVhay13b3JkO1xuXG4gICAgLy8gQWxzbyBlbmFibGUgY29sb3IgdHJhbnNpdGlvbiBvbiBwc2V1ZG8gZWxlbWVudHNcbiAgICAmLFxuICAgICY6OmJlZm9yZSB7XG4gICAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjEyNXM7XG4gICAgfVxuXG4gICAgLy8gSG92ZXJlZCBhbmQgYWN0aXZlIGxpbmtzXG4gICAgJjpob3ZlcixcbiAgICAmOmFjdGl2ZSB7XG4gICAgICBjb2xvcjogJG1kLWNvbG9yLWFjY2VudDtcbiAgICB9XG5cbiAgICAvLyBBZGQgVVJMcyBmb3IgcHJpbnRcbiAgICBAbWVkaWEgcHJpbnQge1xuXG4gICAgICAvLyBTaG93IGxpbmsgVVJMXG4gICAgICAmOjphZnRlciB7XG4gICAgICAgIGNvbG9yOiAkbWQtY29sb3ItYmxhY2stLWxpZ2h0O1xuICAgICAgICBjb250ZW50OiBcIiBbXCIgYXR0cihocmVmKSBcIl1cIjtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBDb2RlIGJsb2Nrc1xuICBjb2RlLFxuICBwcmUge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRtZC1jb2RlLWJhY2tncm91bmQ7XG4gICAgY29sb3I6ICRtZC1jb2RlLWNvbG9yO1xuICAgIGZvbnQtc2l6ZTogODUlO1xuICAgIGRpcmVjdGlvbjogbHRyO1xuXG4gICAgLy8gV3JhcCB0ZXh0IGFuZCBoaWRlIHNjb2xsYmFyc1xuICAgIEBtZWRpYSBwcmludCB7XG4gICAgICB3aGl0ZS1zcGFjZTogcHJlLXdyYXA7XG4gICAgfVxuICB9XG5cbiAgLy8gSW5saW5lIGNvZGUgYmxvY2tzLCBjb3JyZWN0IHJlbGF0aXZlIGVtcyBmb3Igc21hbGxlciBmb250IHNpemVcbiAgY29kZSB7XG4gICAgJGNvcnJlY3Q6IDEgLyAwLjg1O1xuXG4gICAgbWFyZ2luOiAwIDAuMjVlbSAqICRjb3JyZWN0O1xuICAgIHBhZGRpbmc6IDAuMDYyNWVtICogJGNvcnJlY3QgMDtcbiAgICBib3JkZXItcmFkaXVzOiBweDJyZW0oMnB4KTtcbiAgICBib3gtc2hhZG93OlxuICAgICAgKzAuMjVlbSAqICRjb3JyZWN0IDAgMCAkbWQtY29kZS1iYWNrZ3JvdW5kLFxuICAgICAgLTAuMjVlbSAqICRjb3JyZWN0IDAgMCAkbWQtY29kZS1iYWNrZ3JvdW5kO1xuICAgIHdvcmQtYnJlYWs6IGJyZWFrLXdvcmQ7XG4gICAgYm94LWRlY29yYXRpb24tYnJlYWs6IGNsb25lO1xuXG4gICAgLy8gUmVtb3ZlIGJveC1zaGFkb3dzIGZvciBwcmludFxuICAgIEBtZWRpYSBwcmludCB7XG4gICAgICBib3gtc2hhZG93OiBub25lO1xuICAgICAgYm94LWRlY29yYXRpb24tYnJlYWs6IGluaXRpYWw7XG4gICAgfVxuICB9XG5cbiAgLy8gRGlzYWJsZSBjb250YWluaW5nIGJsb2NrIGluc2lkZSBoZWFkbGluZXNcbiAgaDEgY29kZSxcbiAgaDIgY29kZSxcbiAgaDMgY29kZSxcbiAgaDQgY29kZSxcbiAgaDUgY29kZSxcbiAgaDYgY29kZSB7XG4gICAgbWFyZ2luOiAwO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gIH1cblxuICAvLyBSZXNldCBjb2RlIGlmIGl0J3MgaW5zaWRlIGEgbGlua1xuICBhID4gY29kZSB7XG4gICAgbWFyZ2luOiBpbmhlcml0O1xuICAgIHBhZGRpbmc6IGluaGVyaXQ7XG4gICAgYm9yZGVyLXJhZGl1czogaW5pdGlhbDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBpbmhlcml0O1xuICAgIGNvbG9yOiBpbmhlcml0O1xuICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gIH1cblxuICAvLyBVbmZvcm1hdHRlZCBjb2RlIGJsb2Nrc1xuICBwcmUge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBtYXJnaW46IDFlbSAwO1xuICAgIGJvcmRlci1yYWRpdXM6IHB4MnJlbSgycHgpO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjQ7XG4gICAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoO1xuXG4gICAgLy8gQWN0dWFsIGNvbnRhaW5lciB3aXRoIGNvZGUsIG92ZXJmbG93aW5nXG4gICAgPiBjb2RlIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgbWFyZ2luOiAwO1xuICAgICAgcGFkZGluZzogcHgycmVtKDEwLjVweCkgcHgycmVtKDEycHgpO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICBmb250LXNpemU6IGluaGVyaXQ7XG4gICAgICBib3gtc2hhZG93OiBub25lO1xuICAgICAgYm94LWRlY29yYXRpb24tYnJlYWs6IHNsaWNlO1xuICAgICAgb3ZlcmZsb3c6IGF1dG87XG5cbiAgICAgIC8vIE92ZXJyaWRlIG5hdGl2ZSBzY3JvbGxiYXIgc3R5bGVzXG4gICAgICAmOjotd2Via2l0LXNjcm9sbGJhciB7XG4gICAgICAgIHdpZHRoOiBweDJyZW0oNHB4KTtcbiAgICAgICAgaGVpZ2h0OiBweDJyZW0oNHB4KTtcbiAgICAgIH1cblxuICAgICAgLy8gU3R5bGUgc2Nyb2xsYmFyIHRodW1iXG4gICAgICAmOjotd2Via2l0LXNjcm9sbGJhci10aHVtYiB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRtZC1jb2xvci1ibGFjay0tbGlnaHRlcjtcblxuICAgICAgICAvLyBIb3ZlcmVkIHNjcm9sbGJhciB0aHVtYlxuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbWQtY29sb3ItYWNjZW50O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gW21vYmlsZSAtXTogU3RyZXRjaCB0byB3aG9sZSB3aWR0aFxuICBAaW5jbHVkZSBicmVhay10by1kZXZpY2UobW9iaWxlKSB7XG5cbiAgICAvLyBTdHJldGNoIHRvcC1sZXZlbCBjb250YWluZXJzXG4gICAgPiBwcmUge1xuICAgICAgbWFyZ2luOiAxZW0gcHgycmVtKC0xNnB4KTtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDA7XG5cbiAgICAgIC8vIEFjdHVhbCBjb250YWluZXIgd2l0aCBjb2RlLCBvdmVyZmxvd2luZ1xuICAgICAgPiBjb2RlIHtcbiAgICAgICAgcGFkZGluZzogcHgycmVtKDEwLjVweCkgcHgycmVtKDE2cHgpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIEtleXN0cm9rZXNcbiAga2JkIHtcbiAgICAkY29ycmVjdDogMSAvIDAuODU7XG5cbiAgICBwYWRkaW5nOiAwIDAuMjVlbSAqICRjb3JyZWN0O1xuICAgIGJvcmRlcjogcHgycmVtKDFweCkgc29saWQgZGFya2VuKCRtZC1rZXlib2FyZC1iYWNrZ3JvdW5kLCAyMCUpO1xuICAgIGJvcmRlci1yYWRpdXM6IHB4MnJlbSgzcHgpO1xuICAgIGJvcmRlci1ib3R0b20tY29sb3I6IGRhcmtlbigkbWQta2V5Ym9hcmQtYmFja2dyb3VuZCwgMjUlKTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbWQta2V5Ym9hcmQtYmFja2dyb3VuZDtcbiAgICBjb2xvcjogJG1kLWtleWJvYXJkLWNvbG9yO1xuICAgIGZvbnQtc2l6ZTogODUlO1xuICAgIGJveC1zaGFkb3c6IDAgcHgycmVtKDFweCkgMCBkYXJrZW4oJG1kLWtleWJvYXJkLWJhY2tncm91bmQsIDMwJSk7XG4gICAgd29yZC1icmVhazogYnJlYWstd29yZDtcbiAgfVxuXG4gIC8vIFRleHQgaGlnaGxpZ2h0aW5nIG1hcmtlclxuICBtYXJrIHtcbiAgICBtYXJnaW46IDAgMC4yNWVtO1xuICAgIHBhZGRpbmc6IDAuMDYyNWVtIDA7XG4gICAgYm9yZGVyLXJhZGl1czogcHgycmVtKDJweCk7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnRpemUoJGNsci15ZWxsb3ctNTAwLCAwLjUpO1xuICAgIGJveC1zaGFkb3c6XG4gICAgICArMC4yNWVtIDAgMCB0cmFuc3BhcmVudGl6ZSgkY2xyLXllbGxvdy01MDAsIDAuNSksXG4gICAgICAtMC4yNWVtIDAgMCB0cmFuc3BhcmVudGl6ZSgkY2xyLXllbGxvdy01MDAsIDAuNSk7XG4gICAgd29yZC1icmVhazogYnJlYWstd29yZDtcbiAgICBib3gtZGVjb3JhdGlvbi1icmVhazogY2xvbmU7XG4gIH1cblxuICAvLyBBYmJyZXZpYXRpb25zXG4gIGFiYnIge1xuICAgIGJvcmRlci1ib3R0b206IHB4MnJlbSgxcHgpIGRvdHRlZCAkbWQtY29sb3ItYmxhY2stLWxpZ2h0O1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBjdXJzb3I6IGhlbHA7XG4gIH1cblxuICAvLyBTbWFsbCB0ZXh0XG4gIHNtYWxsIHtcbiAgICBvcGFjaXR5OiAwLjc1O1xuICB9XG5cbiAgLy8gU3VwZXJzY3JpcHQgYW5kIHN1YnNjcmlwdFxuICBzdXAsXG4gIHN1YiB7XG4gICAgbWFyZ2luLWxlZnQ6IDAuMDYyNWVtICogMSAvIDAuODtcblxuICAgIC8vIEFkanVzdCBmb3IgUlRMIGxhbmd1YWdlc1xuICAgIFtkaXI9XCJydGxcIl0gJiB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDAuMDYyNWVtICogMSAvIDAuODtcbiAgICAgIG1hcmdpbi1sZWZ0OiBpbml0aWFsO1xuICAgIH1cbiAgfVxuXG4gIC8vIEJsb2NrcXVvdGVzLCBwb3NzaWJseSBuZXN0ZWRcbiAgYmxvY2txdW90ZSB7XG4gICAgcGFkZGluZy1sZWZ0OiBweDJyZW0oMTJweCk7XG4gICAgYm9yZGVyLWxlZnQ6IHB4MnJlbSg0cHgpIHNvbGlkICRtZC1jb2xvci1ibGFjay0tbGlnaHRlcjtcbiAgICBjb2xvcjogJG1kLWNvbG9yLWJsYWNrLS1saWdodDtcblxuICAgIC8vIEFkanVzdCBmb3IgUlRMIGxhbmd1YWdlc1xuICAgIFtkaXI9XCJydGxcIl0gJiB7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiBweDJyZW0oMTJweCk7XG4gICAgICBwYWRkaW5nLWxlZnQ6IGluaXRpYWw7XG4gICAgICBib3JkZXItcmlnaHQ6IHB4MnJlbSg0cHgpIHNvbGlkICRtZC1jb2xvci1ibGFjay0tbGlnaHRlcjtcbiAgICAgIGJvcmRlci1sZWZ0OiBpbml0aWFsO1xuICAgIH1cbiAgfVxuXG4gIC8vIFVub3JkZXJlZCBsaXN0c1xuICB1bCB7XG4gICAgbGlzdC1zdHlsZS10eXBlOiBkaXNjO1xuICB9XG5cbiAgLy8gVW5vcmRlcmVkIGFuZCBvcmRlcmVkIGxpc3RzXG4gIHVsLFxuICBvbCB7XG4gICAgbWFyZ2luLWxlZnQ6IDAuNjI1ZW07XG4gICAgcGFkZGluZzogMDtcblxuICAgIC8vIEFkanVzdCBmb3IgUlRMIGxhbmd1YWdlc1xuICAgIFtkaXI9XCJydGxcIl0gJiB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDAuNjI1ZW07XG4gICAgICBtYXJnaW4tbGVmdDogaW5pdGlhbDtcbiAgICB9XG5cbiAgICAvLyBOZXN0ZWQgb3JkZXJlZCBsaXN0c1xuICAgIG9sIHtcbiAgICAgIGxpc3Qtc3R5bGUtdHlwZTogbG93ZXItYWxwaGE7XG5cbiAgICAgIC8vIFRyaXBseSBuZXN0ZWQgb3JkZXJlZCBsaXN0XG4gICAgICBvbCB7XG4gICAgICAgIGxpc3Qtc3R5bGUtdHlwZTogbG93ZXItcm9tYW47XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gTGlzdCBlbGVtZW50c1xuICAgIGxpIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDAuNWVtO1xuICAgICAgbWFyZ2luLWxlZnQ6IDEuMjVlbTtcblxuICAgICAgLy8gQWRqdXN0IGZvciBSVEwgbGFuZ3VhZ2VzXG4gICAgICBbZGlyPVwicnRsXCJdICYge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDEuMjVlbTtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IGluaXRpYWw7XG4gICAgICB9XG5cbiAgICAgIC8vIERlY3JlYXNlIHZlcnRpY2FsIHNwYWNpbmdcbiAgICAgIHAsXG4gICAgICBibG9ja3F1b3RlIHtcbiAgICAgICAgbWFyZ2luOiAwLjVlbSAwO1xuICAgICAgfVxuXG4gICAgICAvLyBSZW1vdmUgbWFyZ2luIG9uIGxhc3QgZWxlbWVudFxuICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgIH1cblxuICAgICAgLy8gTmVzdGVkIGxpc3RzXG4gICAgICB1bCxcbiAgICAgIG9sIHtcbiAgICAgICAgbWFyZ2luOiAwLjVlbSAwIDAuNWVtIDAuNjI1ZW07XG5cbiAgICAgICAgLy8gQWRqdXN0IGZvciBSVEwgbGFuZ3VhZ2VzXG4gICAgICAgIFtkaXI9XCJydGxcIl0gJiB7XG4gICAgICAgICAgbWFyZ2luLXJpZ2h0OiAwLjYyNWVtO1xuICAgICAgICAgIG1hcmdpbi1sZWZ0OiBpbml0aWFsO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gRGVmaW5pdGlvbiBsaXN0c1xuICBkZCB7XG4gICAgbWFyZ2luOiAxZW0gMCAxZW0gMS44NzVlbTtcblxuICAgIC8vIEFkanVzdCBmb3IgUlRMIGxhbmd1YWdlc1xuICAgIFtkaXI9XCJydGxcIl0gJiB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDEuODc1ZW07XG4gICAgICBtYXJnaW4tbGVmdDogaW5pdGlhbDtcbiAgICB9XG4gIH1cblxuICAvLyBMaW1pdCB3aWR0aCB0byBjb250YWluZXJcbiAgaWZyYW1lLFxuICBpbWcsXG4gIHN2ZyB7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICB9XG5cbiAgLy8gRGF0YSB0YWJsZXNcbiAgdGFibGU6bm90KFtjbGFzc10pIHtcbiAgICBAaW5jbHVkZSB6LWRlcHRoKDIpO1xuXG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICBib3JkZXItcmFkaXVzOiBweDJyZW0oMnB4KTtcbiAgICBmb250LXNpemU6IG1zKC0xKTtcbiAgICBvdmVyZmxvdzogYXV0bztcbiAgICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7XG5cbiAgICAvLyBEdWUgdG8gbWFyZ2luIGNvbGxhcHNlIGJlY2F1c2Ugb2YgdGhlIG5lY2Vzc2FyeSBpbmxpbmUtYmxvY2sgaGFjaywgd2VcbiAgICAvLyBjYW5ub3QgaW5jcmVhc2UgdGhlIGJvdHRvbSBtYXJnaW4gb24gdGhlIHRhYmxlLCBzbyB3ZSBqdXN0IGluY3JlYXNlIHRoZVxuICAgIC8vIHRvcCBtYXJnaW4gb24gdGhlIGZvbGxvd2luZyBlbGVtZW50XG4gICAgJiArICoge1xuICAgICAgbWFyZ2luLXRvcDogMS41ZW07XG4gICAgfVxuXG4gICAgLy8gVGFibGUgaGVhZGluZ3MgYW5kIGNlbGxzXG4gICAgdGg6bm90KFthbGlnbl0pLFxuICAgIHRkOm5vdChbYWxpZ25dKSB7XG4gICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuXG4gICAgICAvLyBBZGp1c3QgZm9yIFJUTCBsYW5ndWFnZXNcbiAgICAgIFtkaXI9XCJydGxcIl0gJiB7XG4gICAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIFRhYmxlIGhlYWRpbmdzXG4gICAgdGgge1xuICAgICAgbWluLXdpZHRoOiBweDJyZW0oMTAwcHgpO1xuICAgICAgcGFkZGluZzogcHgycmVtKDEycHgpIHB4MnJlbSgxNnB4KTtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRtZC1jb2xvci1ibGFjay0tbGlnaHQ7XG4gICAgICBjb2xvcjogJG1kLWNvbG9yLXdoaXRlO1xuICAgICAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgICB9XG5cbiAgICAvLyBUYWJsZSBjZWxsc1xuICAgIHRkIHtcbiAgICAgIHBhZGRpbmc6IHB4MnJlbSgxMnB4KSBweDJyZW0oMTZweCk7XG4gICAgICBib3JkZXItdG9wOiBweDJyZW0oMXB4KSBzb2xpZCAkbWQtY29sb3ItYmxhY2stLWxpZ2h0ZXN0O1xuICAgICAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgICB9XG5cbiAgICAvLyBUYWJsZSByb3dzXG4gICAgdHIge1xuICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjEyNXM7XG5cbiAgICAgIC8vIEFkZCBiYWNrZ3JvdW5kIG9uIGhvdmVyXG4gICAgICAmOmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjAzNSk7XG4gICAgICAgIGJveC1zaGFkb3c6IDAgcHgycmVtKDFweCkgIDAgJG1kLWNvbG9yLXdoaXRlIGluc2V0O1xuICAgICAgfVxuXG4gICAgICAvLyBSZW1vdmUgdG9wIGJvcmRlciBvbiBmaXJzdCByb3dcbiAgICAgICY6Zmlyc3QtY2hpbGQgdGQge1xuICAgICAgICBib3JkZXItdG9wOiAwO1xuICAgICAgfVxuICAgIH1cblxuXG4gICAgLy8gRG8gbm90IHdyYXAgbGlua3MgaW4gdGFibGVzXG4gICAgYSB7XG4gICAgICB3b3JkLWJyZWFrOiBub3JtYWw7XG4gICAgfVxuICB9XG5cbiAgLy8gV3JhcHBlciBmb3Igc2Nyb2xsaW5nIG9uIG92ZXJmbG93XG4gICZfX3Njcm9sbHdyYXAge1xuICAgIG1hcmdpbjogMWVtIHB4MnJlbSgtMTZweCk7XG4gICAgb3ZlcmZsb3cteDogYXV0bztcbiAgICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7XG4gIH1cblxuICAvLyBEYXRhIHRhYmxlIHdyYXBwZXIsIGluIGNhc2UgSmF2YVNjcmlwdCBpcyBhdmFpbGFibGVcbiAgLm1kLXR5cGVzZXRfX3RhYmxlIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgbWFyZ2luLWJvdHRvbTogMC41ZW07XG4gICAgcGFkZGluZzogMCBweDJyZW0oMTZweCk7XG5cbiAgICAvLyBEYXRhIHRhYmxlc1xuICAgIHRhYmxlIHtcbiAgICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBtYXJnaW46IDA7XG4gICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIH1cbiAgfVxufVxuIiwiLy8vL1xuLy8vIENvcHlyaWdodCAoYykgMjAxNi0yMDIwIE1hcnRpbiBEb25hdGggPG1hcnRpbi5kb25hdGhAc3F1aWRmdW5rLmNvbT5cbi8vL1xuLy8vIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBhXG4vLy8gY29weSBvZiB0aGlzIHNvZnR3YXJlIGFuZCBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZSBcIlNvZnR3YXJlXCIpLFxuLy8vIHRvIGRlYWwgaW4gdGhlIFNvZnR3YXJlIHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1ZGluZyB3aXRob3V0IGxpbWl0YXRpb25cbi8vLyB0aGUgcmlnaHRzIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwgZGlzdHJpYnV0ZSwgc3VibGljZW5zZSxcbi8vLyBhbmQvb3Igc2VsbCBjb3BpZXMgb2YgdGhlIFNvZnR3YXJlLCBhbmQgdG8gcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGVcbi8vLyBTb2Z0d2FyZSBpcyBmdXJuaXNoZWQgdG8gZG8gc28sIHN1YmplY3QgdG8gdGhlIGZvbGxvd2luZyBjb25kaXRpb25zOlxuLy8vXG4vLy8gVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWQgaW5cbi8vLyBhbGwgY29waWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25zIG9mIHRoZSBTb2Z0d2FyZS5cbi8vL1xuLy8vIFRIRSBTT0ZUV0FSRSBJUyBQUk9WSURFRCBcIkFTIElTXCIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsIEVYUFJFU1MgT1Jcbi8vLyBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSxcbi8vLyBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OLUlORlJJTkdFTUVOVC4gSU4gTk8gRVZFTlQgU0hBTExcbi8vLyBUSEUgQVVUSE9SUyBPUiBDT1BZUklHSFQgSE9MREVSUyBCRSBMSUFCTEUgRk9SIEFOWSBDTEFJTSwgREFNQUdFUyBPUiBPVEhFUlxuLy8vIExJQUJJTElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HXG4vLy8gRlJPTSwgT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUlxuLy8vIERFQUxJTkdTXG4vLy8vXG5cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIFZhcmlhYmxlczogdHlwb2dyYXBoeVxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4vLyBNb2R1bGFyIHR5cG9ncmFwaGljIHNjYWxlXG4kbXMtYmFzZTogcHgycmVtKDE2cHgpO1xuJG1zLXJhdGlvOiAkbWFqb3ItdGhpcmQ7XG5cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIFZhcmlhYmxlczogYnJlYWtwb2ludHNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLy8gc3R5bGVsaW50LWRpc2FibGUgdW5pdC13aGl0ZWxpc3RcblxuLy8gRGV2aWNlLXNwZWNpZmljIGJyZWFrcG9pbnRzXG4kYnJlYWstZGV2aWNlczogKFxuICBtb2JpbGU6IChcbiAgICBwb3J0cmFpdDogIHB4MmVtKDIyMHB4KSAgcHgyZW0oNDc5cHgpLFxuICAgIGxhbmRzY2FwZTogcHgyZW0oNDgwcHgpICBweDJlbSg3MTlweClcbiAgKSxcbiAgdGFibGV0OiAoXG4gICAgcG9ydHJhaXQ6ICBweDJlbSg3MjBweCkgIHB4MmVtKDk1OXB4KSxcbiAgICBsYW5kc2NhcGU6IHB4MmVtKDk2MHB4KSAgcHgyZW0oMTIxOXB4KVxuICApLFxuICBzY3JlZW46IChcbiAgICBzbWFsbDogICAgIHB4MmVtKDEyMjBweCkgcHgyZW0oMTU5OXB4KSxcbiAgICBtZWRpdW06ICAgIHB4MmVtKDE2MDBweCkgcHgyZW0oMTk5OXB4KSxcbiAgICBsYXJnZTogICAgIHB4MmVtKDIwMDBweClcbiAgKVxuKTtcblxuLy8gc3R5bGVsaW50LWVuYWJsZSB1bml0LXdoaXRlbGlzdFxuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBWYXJpYWJsZXM6IGJhc2UgY29sb3JzXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi8vIFByaW1hcnkgYW5kIGFjY2VudCBjb2xvcnNcbiRtZC1jb2xvci1wcmltYXJ5OiAgICAgICAgICAgICAgICAgICAgJGNsci1pbmRpZ28tNTAwICFkZWZhdWx0O1xuJG1kLWNvbG9yLWFjY2VudDogICAgICAgICAgICAgICAgICAgICAkY2xyLWluZGlnby1hMjAwICFkZWZhdWx0O1xuXG4vLyBTaGFkZXMgb2YgYmxhY2tcbiRtZC1jb2xvci1ibGFjazogICAgICAgICAgICAgICAgICAgICAgaHNsYSgwLCAwJSwgMCUsIDAuODcpICFkZWZhdWx0O1xuJG1kLWNvbG9yLWJsYWNrLS1saWdodDogICAgICAgICAgICAgICBoc2xhKDAsIDAlLCAwJSwgMC41NCkgIWRlZmF1bHQ7XG4kbWQtY29sb3ItYmxhY2stLWxpZ2h0ZXI6ICAgICAgICAgICAgIGhzbGEoMCwgMCUsIDAlLCAwLjI2KSAhZGVmYXVsdDtcbiRtZC1jb2xvci1ibGFjay0tbGlnaHRlc3Q6ICAgICAgICAgICAgaHNsYSgwLCAwJSwgMCUsIDAuMDcpICFkZWZhdWx0O1xuJG1kLWNvbG9yLWJsYWNrLS10cmFuc3BhcmVudDogICAgICAgICBoc2xhKDAsIDAlLCAwJSwgMCkgIWRlZmF1bHQ7XG5cbi8vIFNoYWRlcyBvZiB3aGl0ZVxuJG1kLWNvbG9yLXdoaXRlOiAgICAgICAgICAgICAgICAgICAgICBoc2xhKDAsIDAlLCAxMDAlLCAxKSAhZGVmYXVsdDtcbiRtZC1jb2xvci13aGl0ZS0tbGlnaHQ6ICAgICAgICAgICAgICAgaHNsYSgwLCAwJSwgMTAwJSwgMC43KSAhZGVmYXVsdDtcbiRtZC1jb2xvci13aGl0ZS0tbGlnaHRlcjogICAgICAgICAgICAgaHNsYSgwLCAwJSwgMTAwJSwgMC4zKSAhZGVmYXVsdDtcbiRtZC1jb2xvci13aGl0ZS0tbGlnaHRlc3Q6ICAgICAgICAgICAgaHNsYSgwLCAwJSwgMTAwJSwgMC4xMikgIWRlZmF1bHQ7XG4kbWQtY29sb3Itd2hpdGUtLXRyYW5zcGFyZW50OiAgICAgICAgIGhzbGEoMCwgMCUsIDEwMCUsIDApICFkZWZhdWx0O1xuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBWYXJpYWJsZXM6IHNpemluZyBhbmQgc3BhY2luZ1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4vLyBJY29uc1xuJG1kLWljb24tc2l6ZTogICAgICAgICAgICAgICAgICAgICAgICAkbXMtYmFzZSAqIDEuNTtcbiRtZC1pY29uLXBhZGRpbmc6ICAgICAgICAgICAgICAgICAgICAgJG1zLWJhc2UgKiAwLjU7XG4kbWQtaWNvbi1tYXJnaW46ICAgICAgICAgICAgICAgICAgICAgICRtcy1iYXNlICogMC4yNTtcblxuLy8gQ29kZSBibG9ja3NcbiRtZC1jb2RlLWJhY2tncm91bmQ6ICAgICAgICAgICAgICAgICAgaHNsYSgwLCAwJSwgOTIuNSUsIDAuNSk7XG4kbWQtY29kZS1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICMzNzQ3NEY7XG5cbi8vIEtleXN0cm9rZXNcbiRtZC1rZXlib2FyZC1iYWNrZ3JvdW5kOiAgICAgICAgICAgICAgI0ZDRkNGQztcbiRtZC1rZXlib2FyZC1jb2xvcjogICAgICAgICAgICAgICAgICAgIzU1NTU1NTtcbiIsIkBmdW5jdGlvbiBtcy1mdW5jdGlvbigkdjogMCwgJGJhc2U6IGZhbHNlLCAkcmF0aW86IGZhbHNlLCAkdGhyZWFkOiBmYWxzZSwgJHNldHRpbmdzOiAkbW9kdWxhcnNjYWxlKSB7XG5cbiAgLy8gUGFyc2Ugc2V0dGluZ3NcbiAgJG1zLXNldHRpbmdzOiBtcy1zZXR0aW5ncygkYmFzZSwkcmF0aW8sJHRocmVhZCwkc2V0dGluZ3MpO1xuICAkYmFzZTogbnRoKCRtcy1zZXR0aW5ncywgMSk7XG4gICRyYXRpbzogbnRoKCRtcy1zZXR0aW5ncywgMik7XG5cbiAgLy8gUmVuZGVyIHRhcmdldCB2YWx1ZXMgZnJvbSBzZXR0aW5ncy5cbiAgQGlmIHVuaXQoJHJhdGlvKSAhPSAnJyB7XG4gICAgJHJhdGlvOiBtcy10YXJnZXQoJHJhdGlvLCRiYXNlKVxuICB9XG5cbiAgLy8gRmFzdCBjYWxjIGlmIG5vdCBtdWx0aSBzdHJhbmRlZFxuICBAaWYobGVuZ3RoKCRiYXNlKSA9PSAxKSB7XG4gICAgQHJldHVybiBtcy1wb3coJHJhdGlvLCAkdikgKiAkYmFzZTtcbiAgfVxuXG4gIC8vIENyZWF0ZSBuZXcgYmFzZSBhcnJheVxuICAkbXMtYmFzZXM6IG50aCgkYmFzZSwxKTtcblxuICAvLyBOb3JtYWxpemUgYmFzZSB2YWx1ZXNcbiAgQGZvciAkaSBmcm9tIDIgdGhyb3VnaCBsZW5ndGgoJGJhc2UpIHtcbiAgICAvLyBpbml0aWFsIGJhc2UgdmFsdWVcbiAgICAkbXMtYmFzZTogbnRoKCRiYXNlLCRpKTtcbiAgICAvLyBJZiB0aGUgYmFzZSBpcyBiaWdnZXIgdGhhbiB0aGUgbWFpbiBiYXNlXG4gICAgQGlmKCRtcy1iYXNlID4gbnRoKCRiYXNlLDEpKSB7XG4gICAgICAvLyBkaXZpZGUgdGhlIHZhbHVlIHVudGlsIGl0IGFsaWducyB3aXRoIG1haW4gYmFzZS5cbiAgICAgIEB3aGlsZSgkbXMtYmFzZSA+IG50aCgkYmFzZSwxKSkge1xuICAgICAgICAkbXMtYmFzZTogJG1zLWJhc2UgLyAkcmF0aW87XG4gICAgICB9XG4gICAgICAkbXMtYmFzZTogJG1zLWJhc2UgKiAkcmF0aW87XG4gICAgfVxuICAgIC8vIElmIHRoZSBiYXNlIGlzIHNtYWxsZXIgdGhhbiB0aGUgbWFpbiBiYXNlLlxuICAgIEBlbHNlIGlmICgkbXMtYmFzZSA8IG50aCgkYmFzZSwxKSkge1xuICAgICAgLy8gcHVtcCB1cCB0aGUgdmFsdWUgdW50aWwgaXQgYWxpZ25zIHdpdGggbWFpbiBiYXNlLlxuICAgICAgQHdoaWxlICRtcy1iYXNlIDwgbnRoKCRiYXNlLDEpIHtcbiAgICAgICAgJG1zLWJhc2U6ICRtcy1iYXNlICogJHJhdGlvO1xuICAgICAgfVxuICAgIH1cbiAgICAvLyBQdXNoIGludG8gbmV3IGFycmF5XG4gICAgJG1zLWJhc2VzOiBhcHBlbmQoJG1zLWJhc2VzLCRtcy1iYXNlKTtcbiAgfVxuXG4gIC8vIFNvcnQgYXJyYXkgZnJvbSBzbWFsbGVzdCB0byBsYXJnZXN0LlxuICAkbXMtYmFzZXM6IG1zLXNvcnQoJG1zLWJhc2VzKTtcblxuICAvLyBGaW5kIHN0ZXAgdG8gdXNlIGluIGNhbGN1bGF0aW9uXG4gICR2dGVwOiBmbG9vcigkdiAvIGxlbmd0aCgkbXMtYmFzZXMpKTtcbiAgLy8gRmluZCBiYXNlIHRvIHVzZSBpbiBjYWxjdWxhdGlvblxuICAkbXMtYmFzZTogcm91bmQoKCR2IC8gbGVuZ3RoKCRtcy1iYXNlcykgLSAkdnRlcCkgKiBsZW5ndGgoJG1zLWJhc2VzKSkgKyAxO1xuXG4gIEByZXR1cm4gbXMtcG93KCRyYXRpbywgJHZ0ZXApICogbnRoKCRtcy1iYXNlcywkbXMtYmFzZSk7XG59IiwiLy8vL1xuLy8vIENvcHlyaWdodCAoYykgMjAxNi0yMDIwIE1hcnRpbiBEb25hdGggPG1hcnRpbi5kb25hdGhAc3F1aWRmdW5rLmNvbT5cbi8vL1xuLy8vIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBhXG4vLy8gY29weSBvZiB0aGlzIHNvZnR3YXJlIGFuZCBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZSBcIlNvZnR3YXJlXCIpLFxuLy8vIHRvIGRlYWwgaW4gdGhlIFNvZnR3YXJlIHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1ZGluZyB3aXRob3V0IGxpbWl0YXRpb25cbi8vLyB0aGUgcmlnaHRzIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwgZGlzdHJpYnV0ZSwgc3VibGljZW5zZSxcbi8vLyBhbmQvb3Igc2VsbCBjb3BpZXMgb2YgdGhlIFNvZnR3YXJlLCBhbmQgdG8gcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGVcbi8vLyBTb2Z0d2FyZSBpcyBmdXJuaXNoZWQgdG8gZG8gc28sIHN1YmplY3QgdG8gdGhlIGZvbGxvd2luZyBjb25kaXRpb25zOlxuLy8vXG4vLy8gVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWQgaW5cbi8vLyBhbGwgY29waWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25zIG9mIHRoZSBTb2Z0d2FyZS5cbi8vL1xuLy8vIFRIRSBTT0ZUV0FSRSBJUyBQUk9WSURFRCBcIkFTIElTXCIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsIEVYUFJFU1MgT1Jcbi8vLyBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSxcbi8vLyBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OLUlORlJJTkdFTUVOVC4gSU4gTk8gRVZFTlQgU0hBTExcbi8vLyBUSEUgQVVUSE9SUyBPUiBDT1BZUklHSFQgSE9MREVSUyBCRSBMSUFCTEUgRk9SIEFOWSBDTEFJTSwgREFNQUdFUyBPUiBPVEhFUlxuLy8vIExJQUJJTElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HXG4vLy8gRlJPTSwgT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUlxuLy8vIERFQUxJTkdTXG4vLy8vXG5cbi8vIHN0eWxlbGludC1kaXNhYmxlIHVuaXQtd2hpdGVsaXN0XG5cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIEhlbHBlcnNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLy8vXG4vLy8gQ29udmVydCBmb250IHNpemUgaW4gcHggdG8gZW0uXG4vLy9cbi8vLyBAZ3JvdXAgIGhlbHBlcnNcbi8vLyBAYWNjZXNzIHB1YmxpY1xuLy8vIEBwYXJhbSAge051bWJlcn0gJHNpemUgRm9udCBzaXplIGluIHB4XG4vLy8gQHBhcmFtICB7TnVtYmVyfSAkYmFzZSBCYXNlIGZvbnQgc2l6ZVxuLy8vIEByZXR1cm4ge051bWJlcn0gICAgICAgRm9udCBzaXplIGluIGVtXG4vLy9cbkBmdW5jdGlvbiBweDJlbSgkc2l6ZSwgJGJhc2U6IDE2cHgpIHtcbiAgQGlmIHVuaXQoJHNpemUpID09IHB4IHtcbiAgICBAaWYgdW5pdCgkYmFzZSkgPT0gcHgge1xuICAgICAgQHJldHVybiAoJHNpemUgLyAkYmFzZSkgKiAxZW07XG4gICAgfSBAZWxzZSB7XG4gICAgICBAZXJyb3IgXCJJbnZhbGlkIGJhc2U6ICN7JGJhc2V9IC0gdW5pdCBtdXN0IGJlICdweCdcIjtcbiAgICB9XG4gIH0gQGVsc2Uge1xuICAgIEBlcnJvciBcIkludmFsaWQgc2l6ZTogI3skc2l6ZX0gLSB1bml0IG11c3QgYmUgJ3B4J1wiO1xuICB9XG59XG5cbi8vL1xuLy8vIENvbnZlcnQgZm9udCBzaXplIGluIHB4IHRvIHJlbS5cbi8vL1xuLy8vIEBncm91cCAgaGVscGVyc1xuLy8vIEBhY2Nlc3MgcHVibGljXG4vLy8gQHBhcmFtICB7TnVtYmVyfSAkc2l6ZSBGb250IHNpemUgaW4gcHhcbi8vLyBAcGFyYW0gIHtOdW1iZXJ9ICRiYXNlIEJhc2UgZm9udCBzaXplXG4vLy8gQHJldHVybiB7TnVtYmVyfSAgICAgICBGb250IHNpemUgaW4gcmVtXG4vLy9cbkBmdW5jdGlvbiBweDJyZW0oJHNpemUsICRiYXNlOiAyMHB4KSB7XG4gIEBpZiB1bml0KCRzaXplKSA9PSBweCB7XG4gICAgQGlmIHVuaXQoJGJhc2UpID09IHB4IHtcbiAgICAgIEByZXR1cm4gKCRzaXplIC8gJGJhc2UpICogMS4wcmVtO1xuICAgIH0gQGVsc2Uge1xuICAgICAgQGVycm9yIFwiSW52YWxpZCBiYXNlOiAjeyRiYXNlfSAtIHVuaXQgbXVzdCBiZSAncHgnXCI7XG4gICAgfVxuICB9IEBlbHNlIHtcbiAgICBAZXJyb3IgXCJJbnZhbGlkIHNpemU6ICN7JHNpemV9IC0gdW5pdCBtdXN0IGJlICdweCdcIjtcbiAgfVxufVxuIiwiLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vXG4vLyBOYW1lOiAgICAgICAgVUkgQ29sb3IgUGFsZXR0ZVxuLy8gRGVzY3JpcHRpb246IFRoZSBjb2xvciBwYWxldHRlIG9mIG1hdGVyaWFsIGRlc2lnbi5cbi8vIFZlcnNpb246ICAgICAyLjMuMVxuLy9cbi8vIEF1dGhvcjogICAgICBEZW5pcyBNYWxpbm9jaGtpblxuLy8gR2l0OiAgICAgICAgIGh0dHBzOi8vZ2l0aHViLmNvbS9tcm1sbmMvbWF0ZXJpYWwtY29sb3Jcbi8vXG4vLyB0d2l0dGVyOiAgICAgQG1ybWxuY1xuLy9cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblxuLy9cbi8vIExpc3Qgb2YgYmFzZSBjb2xvcnNcbi8vXG5cbi8vICRjbHItcmVkXG4vLyAkY2xyLXBpbmtcbi8vICRjbHItcHVycGxlXG4vLyAkY2xyLWRlZXAtcHVycGxlXG4vLyAkY2xyLWluZGlnb1xuLy8gJGNsci1ibHVlXG4vLyAkY2xyLWxpZ2h0LWJsdWVcbi8vICRjbHItY3lhblxuLy8gJGNsci10ZWFsXG4vLyAkY2xyLWdyZWVuXG4vLyAkY2xyLWxpZ2h0LWdyZWVuXG4vLyAkY2xyLWxpbWVcbi8vICRjbHIteWVsbG93XG4vLyAkY2xyLWFtYmVyXG4vLyAkY2xyLW9yYW5nZVxuLy8gJGNsci1kZWVwLW9yYW5nZVxuLy8gJGNsci1icm93blxuLy8gJGNsci1ncmV5XG4vLyAkY2xyLWJsdWUtZ3JleVxuLy8gJGNsci1ibGFja1xuLy8gJGNsci13aGl0ZVxuXG5cbi8vXG4vLyBSZWRcbi8vXG5cbiRjbHItcmVkLWxpc3Q6IChcbiAgXCJiYXNlXCI6ICNmNDQzMzYsXG4gIFwiNTBcIjogICAjZmZlYmVlLFxuICBcIjEwMFwiOiAgI2ZmY2RkMixcbiAgXCIyMDBcIjogICNlZjlhOWEsXG4gIFwiMzAwXCI6ICAjZTU3MzczLFxuICBcIjQwMFwiOiAgI2VmNTM1MCxcbiAgXCI1MDBcIjogICNmNDQzMzYsXG4gIFwiNjAwXCI6ICAjZTUzOTM1LFxuICBcIjcwMFwiOiAgI2QzMmYyZixcbiAgXCI4MDBcIjogICNjNjI4MjgsXG4gIFwiOTAwXCI6ICAjYjcxYzFjLFxuICBcImExMDBcIjogI2ZmOGE4MCxcbiAgXCJhMjAwXCI6ICNmZjUyNTIsXG4gIFwiYTQwMFwiOiAjZmYxNzQ0LFxuICBcImE3MDBcIjogI2Q1MDAwMFxuKTtcblxuJGNsci1yZWQ6ICAgICAgbWFwLWdldCgkY2xyLXJlZC1saXN0LCBcImJhc2VcIik7XG5cbiRjbHItcmVkLTUwOiAgIG1hcC1nZXQoJGNsci1yZWQtbGlzdCwgXCI1MFwiKTtcbiRjbHItcmVkLTEwMDogIG1hcC1nZXQoJGNsci1yZWQtbGlzdCwgXCIxMDBcIik7XG4kY2xyLXJlZC0yMDA6ICBtYXAtZ2V0KCRjbHItcmVkLWxpc3QsIFwiMjAwXCIpO1xuJGNsci1yZWQtMzAwOiAgbWFwLWdldCgkY2xyLXJlZC1saXN0LCBcIjMwMFwiKTtcbiRjbHItcmVkLTQwMDogIG1hcC1nZXQoJGNsci1yZWQtbGlzdCwgXCI0MDBcIik7XG4kY2xyLXJlZC01MDA6ICBtYXAtZ2V0KCRjbHItcmVkLWxpc3QsIFwiNTAwXCIpO1xuJGNsci1yZWQtNjAwOiAgbWFwLWdldCgkY2xyLXJlZC1saXN0LCBcIjYwMFwiKTtcbiRjbHItcmVkLTcwMDogIG1hcC1nZXQoJGNsci1yZWQtbGlzdCwgXCI3MDBcIik7XG4kY2xyLXJlZC04MDA6ICBtYXAtZ2V0KCRjbHItcmVkLWxpc3QsIFwiODAwXCIpO1xuJGNsci1yZWQtOTAwOiAgbWFwLWdldCgkY2xyLXJlZC1saXN0LCBcIjkwMFwiKTtcbiRjbHItcmVkLWExMDA6IG1hcC1nZXQoJGNsci1yZWQtbGlzdCwgXCJhMTAwXCIpO1xuJGNsci1yZWQtYTIwMDogbWFwLWdldCgkY2xyLXJlZC1saXN0LCBcImEyMDBcIik7XG4kY2xyLXJlZC1hNDAwOiBtYXAtZ2V0KCRjbHItcmVkLWxpc3QsIFwiYTQwMFwiKTtcbiRjbHItcmVkLWE3MDA6IG1hcC1nZXQoJGNsci1yZWQtbGlzdCwgXCJhNzAwXCIpO1xuXG5cbi8vXG4vLyBQaW5rXG4vL1xuXG4kY2xyLXBpbmstbGlzdDogKFxuICBcImJhc2VcIjogI2U5MWU2MyxcbiAgXCI1MFwiOiAgICNmY2U0ZWMsXG4gIFwiMTAwXCI6ICAjZjhiYmQwLFxuICBcIjIwMFwiOiAgI2Y0OGZiMSxcbiAgXCIzMDBcIjogICNmMDYyOTIsXG4gIFwiNDAwXCI6ICAjZWM0MDdhLFxuICBcIjUwMFwiOiAgI2U5MWU2MyxcbiAgXCI2MDBcIjogICNkODFiNjAsXG4gIFwiNzAwXCI6ICAjYzIxODViLFxuICBcIjgwMFwiOiAgI2FkMTQ1NyxcbiAgXCI5MDBcIjogICM4ODBlNGYsXG4gIFwiYTEwMFwiOiAjZmY4MGFiLFxuICBcImEyMDBcIjogI2ZmNDA4MSxcbiAgXCJhNDAwXCI6ICNmNTAwNTcsXG4gIFwiYTcwMFwiOiAjYzUxMTYyXG4pO1xuXG4kY2xyLXBpbms6ICAgICAgbWFwLWdldCgkY2xyLXBpbmstbGlzdCwgXCJiYXNlXCIpO1xuXG4kY2xyLXBpbmstNTA6ICAgbWFwLWdldCgkY2xyLXBpbmstbGlzdCwgXCI1MFwiKTtcbiRjbHItcGluay0xMDA6ICBtYXAtZ2V0KCRjbHItcGluay1saXN0LCBcIjEwMFwiKTtcbiRjbHItcGluay0yMDA6ICBtYXAtZ2V0KCRjbHItcGluay1saXN0LCBcIjIwMFwiKTtcbiRjbHItcGluay0zMDA6ICBtYXAtZ2V0KCRjbHItcGluay1saXN0LCBcIjMwMFwiKTtcbiRjbHItcGluay00MDA6ICBtYXAtZ2V0KCRjbHItcGluay1saXN0LCBcIjQwMFwiKTtcbiRjbHItcGluay01MDA6ICBtYXAtZ2V0KCRjbHItcGluay1saXN0LCBcIjUwMFwiKTtcbiRjbHItcGluay02MDA6ICBtYXAtZ2V0KCRjbHItcGluay1saXN0LCBcIjYwMFwiKTtcbiRjbHItcGluay03MDA6ICBtYXAtZ2V0KCRjbHItcGluay1saXN0LCBcIjcwMFwiKTtcbiRjbHItcGluay04MDA6ICBtYXAtZ2V0KCRjbHItcGluay1saXN0LCBcIjgwMFwiKTtcbiRjbHItcGluay05MDA6ICBtYXAtZ2V0KCRjbHItcGluay1saXN0LCBcIjkwMFwiKTtcbiRjbHItcGluay1hMTAwOiBtYXAtZ2V0KCRjbHItcGluay1saXN0LCBcImExMDBcIik7XG4kY2xyLXBpbmstYTIwMDogbWFwLWdldCgkY2xyLXBpbmstbGlzdCwgXCJhMjAwXCIpO1xuJGNsci1waW5rLWE0MDA6IG1hcC1nZXQoJGNsci1waW5rLWxpc3QsIFwiYTQwMFwiKTtcbiRjbHItcGluay1hNzAwOiBtYXAtZ2V0KCRjbHItcGluay1saXN0LCBcImE3MDBcIik7XG5cblxuLy9cbi8vIFB1cnBsZVxuLy9cblxuJGNsci1wdXJwbGUtbGlzdDogKFxuICBcImJhc2VcIjogIzljMjdiMCxcbiAgXCI1MFwiOiAgICNmM2U1ZjUsXG4gIFwiMTAwXCI6ICAjZTFiZWU3LFxuICBcIjIwMFwiOiAgI2NlOTNkOCxcbiAgXCIzMDBcIjogICNiYTY4YzgsXG4gIFwiNDAwXCI6ICAjYWI0N2JjLFxuICBcIjUwMFwiOiAgIzljMjdiMCxcbiAgXCI2MDBcIjogICM4ZTI0YWEsXG4gIFwiNzAwXCI6ICAjN2IxZmEyLFxuICBcIjgwMFwiOiAgIzZhMWI5YSxcbiAgXCI5MDBcIjogICM0YTE0OGMsXG4gIFwiYTEwMFwiOiAjZWE4MGZjLFxuICBcImEyMDBcIjogI2UwNDBmYixcbiAgXCJhNDAwXCI6ICNkNTAwZjksXG4gIFwiYTcwMFwiOiAjYWEwMGZmXG4pO1xuXG4kY2xyLXB1cnBsZTogICAgICBtYXAtZ2V0KCRjbHItcHVycGxlLWxpc3QsIFwiYmFzZVwiKTtcblxuJGNsci1wdXJwbGUtNTA6ICAgbWFwLWdldCgkY2xyLXB1cnBsZS1saXN0LCBcIjUwXCIpO1xuJGNsci1wdXJwbGUtMTAwOiAgbWFwLWdldCgkY2xyLXB1cnBsZS1saXN0LCBcIjEwMFwiKTtcbiRjbHItcHVycGxlLTIwMDogIG1hcC1nZXQoJGNsci1wdXJwbGUtbGlzdCwgXCIyMDBcIik7XG4kY2xyLXB1cnBsZS0zMDA6ICBtYXAtZ2V0KCRjbHItcHVycGxlLWxpc3QsIFwiMzAwXCIpO1xuJGNsci1wdXJwbGUtNDAwOiAgbWFwLWdldCgkY2xyLXB1cnBsZS1saXN0LCBcIjQwMFwiKTtcbiRjbHItcHVycGxlLTUwMDogIG1hcC1nZXQoJGNsci1wdXJwbGUtbGlzdCwgXCI1MDBcIik7XG4kY2xyLXB1cnBsZS02MDA6ICBtYXAtZ2V0KCRjbHItcHVycGxlLWxpc3QsIFwiNjAwXCIpO1xuJGNsci1wdXJwbGUtNzAwOiAgbWFwLWdldCgkY2xyLXB1cnBsZS1saXN0LCBcIjcwMFwiKTtcbiRjbHItcHVycGxlLTgwMDogIG1hcC1nZXQoJGNsci1wdXJwbGUtbGlzdCwgXCI4MDBcIik7XG4kY2xyLXB1cnBsZS05MDA6ICBtYXAtZ2V0KCRjbHItcHVycGxlLWxpc3QsIFwiOTAwXCIpO1xuJGNsci1wdXJwbGUtYTEwMDogbWFwLWdldCgkY2xyLXB1cnBsZS1saXN0LCBcImExMDBcIik7XG4kY2xyLXB1cnBsZS1hMjAwOiBtYXAtZ2V0KCRjbHItcHVycGxlLWxpc3QsIFwiYTIwMFwiKTtcbiRjbHItcHVycGxlLWE0MDA6IG1hcC1nZXQoJGNsci1wdXJwbGUtbGlzdCwgXCJhNDAwXCIpO1xuJGNsci1wdXJwbGUtYTcwMDogbWFwLWdldCgkY2xyLXB1cnBsZS1saXN0LCBcImE3MDBcIik7XG5cblxuLy9cbi8vIERlZXAgcHVycGxlXG4vL1xuXG4kY2xyLWRlZXAtcHVycGxlLWxpc3Q6IChcbiAgXCJiYXNlXCI6ICM2NzNhYjcsXG4gIFwiNTBcIjogICAjZWRlN2Y2LFxuICBcIjEwMFwiOiAgI2QxYzRlOSxcbiAgXCIyMDBcIjogICNiMzlkZGIsXG4gIFwiMzAwXCI6ICAjOTU3NWNkLFxuICBcIjQwMFwiOiAgIzdlNTdjMixcbiAgXCI1MDBcIjogICM2NzNhYjcsXG4gIFwiNjAwXCI6ICAjNWUzNWIxLFxuICBcIjcwMFwiOiAgIzUxMmRhOCxcbiAgXCI4MDBcIjogICM0NTI3YTAsXG4gIFwiOTAwXCI6ICAjMzExYjkyLFxuICBcImExMDBcIjogI2IzODhmZixcbiAgXCJhMjAwXCI6ICM3YzRkZmYsXG4gIFwiYTQwMFwiOiAjNjUxZmZmLFxuICBcImE3MDBcIjogIzYyMDBlYVxuKTtcblxuJGNsci1kZWVwLXB1cnBsZTogICAgICBtYXAtZ2V0KCRjbHItZGVlcC1wdXJwbGUtbGlzdCwgXCJiYXNlXCIpO1xuXG4kY2xyLWRlZXAtcHVycGxlLTUwOiAgIG1hcC1nZXQoJGNsci1kZWVwLXB1cnBsZS1saXN0LCBcIjUwXCIpO1xuJGNsci1kZWVwLXB1cnBsZS0xMDA6ICBtYXAtZ2V0KCRjbHItZGVlcC1wdXJwbGUtbGlzdCwgXCIxMDBcIik7XG4kY2xyLWRlZXAtcHVycGxlLTIwMDogIG1hcC1nZXQoJGNsci1kZWVwLXB1cnBsZS1saXN0LCBcIjIwMFwiKTtcbiRjbHItZGVlcC1wdXJwbGUtMzAwOiAgbWFwLWdldCgkY2xyLWRlZXAtcHVycGxlLWxpc3QsIFwiMzAwXCIpO1xuJGNsci1kZWVwLXB1cnBsZS00MDA6ICBtYXAtZ2V0KCRjbHItZGVlcC1wdXJwbGUtbGlzdCwgXCI0MDBcIik7XG4kY2xyLWRlZXAtcHVycGxlLTUwMDogIG1hcC1nZXQoJGNsci1kZWVwLXB1cnBsZS1saXN0LCBcIjUwMFwiKTtcbiRjbHItZGVlcC1wdXJwbGUtNjAwOiAgbWFwLWdldCgkY2xyLWRlZXAtcHVycGxlLWxpc3QsIFwiNjAwXCIpO1xuJGNsci1kZWVwLXB1cnBsZS03MDA6ICBtYXAtZ2V0KCRjbHItZGVlcC1wdXJwbGUtbGlzdCwgXCI3MDBcIik7XG4kY2xyLWRlZXAtcHVycGxlLTgwMDogIG1hcC1nZXQoJGNsci1kZWVwLXB1cnBsZS1saXN0LCBcIjgwMFwiKTtcbiRjbHItZGVlcC1wdXJwbGUtOTAwOiAgbWFwLWdldCgkY2xyLWRlZXAtcHVycGxlLWxpc3QsIFwiOTAwXCIpO1xuJGNsci1kZWVwLXB1cnBsZS1hMTAwOiBtYXAtZ2V0KCRjbHItZGVlcC1wdXJwbGUtbGlzdCwgXCJhMTAwXCIpO1xuJGNsci1kZWVwLXB1cnBsZS1hMjAwOiBtYXAtZ2V0KCRjbHItZGVlcC1wdXJwbGUtbGlzdCwgXCJhMjAwXCIpO1xuJGNsci1kZWVwLXB1cnBsZS1hNDAwOiBtYXAtZ2V0KCRjbHItZGVlcC1wdXJwbGUtbGlzdCwgXCJhNDAwXCIpO1xuJGNsci1kZWVwLXB1cnBsZS1hNzAwOiBtYXAtZ2V0KCRjbHItZGVlcC1wdXJwbGUtbGlzdCwgXCJhNzAwXCIpO1xuXG5cbi8vXG4vLyBJbmRpZ29cbi8vXG5cbiRjbHItaW5kaWdvLWxpc3Q6IChcbiAgXCJiYXNlXCI6ICMzZjUxYjUsXG4gIFwiNTBcIjogICAjZThlYWY2LFxuICBcIjEwMFwiOiAgI2M1Y2FlOSxcbiAgXCIyMDBcIjogICM5ZmE4ZGEsXG4gIFwiMzAwXCI6ICAjNzk4NmNiLFxuICBcIjQwMFwiOiAgIzVjNmJjMCxcbiAgXCI1MDBcIjogICMzZjUxYjUsXG4gIFwiNjAwXCI6ICAjMzk0OWFiLFxuICBcIjcwMFwiOiAgIzMwM2Y5ZixcbiAgXCI4MDBcIjogICMyODM1OTMsXG4gIFwiOTAwXCI6ICAjMWEyMzdlLFxuICBcImExMDBcIjogIzhjOWVmZixcbiAgXCJhMjAwXCI6ICM1MzZkZmUsXG4gIFwiYTQwMFwiOiAjM2Q1YWZlLFxuICBcImE3MDBcIjogIzMwNGZmZVxuKTtcblxuJGNsci1pbmRpZ286ICAgICAgbWFwLWdldCgkY2xyLWluZGlnby1saXN0LCBcImJhc2VcIik7XG5cbiRjbHItaW5kaWdvLTUwOiAgIG1hcC1nZXQoJGNsci1pbmRpZ28tbGlzdCwgXCI1MFwiKTtcbiRjbHItaW5kaWdvLTEwMDogIG1hcC1nZXQoJGNsci1pbmRpZ28tbGlzdCwgXCIxMDBcIik7XG4kY2xyLWluZGlnby0yMDA6ICBtYXAtZ2V0KCRjbHItaW5kaWdvLWxpc3QsIFwiMjAwXCIpO1xuJGNsci1pbmRpZ28tMzAwOiAgbWFwLWdldCgkY2xyLWluZGlnby1saXN0LCBcIjMwMFwiKTtcbiRjbHItaW5kaWdvLTQwMDogIG1hcC1nZXQoJGNsci1pbmRpZ28tbGlzdCwgXCI0MDBcIik7XG4kY2xyLWluZGlnby01MDA6ICBtYXAtZ2V0KCRjbHItaW5kaWdvLWxpc3QsIFwiNTAwXCIpO1xuJGNsci1pbmRpZ28tNjAwOiAgbWFwLWdldCgkY2xyLWluZGlnby1saXN0LCBcIjYwMFwiKTtcbiRjbHItaW5kaWdvLTcwMDogIG1hcC1nZXQoJGNsci1pbmRpZ28tbGlzdCwgXCI3MDBcIik7XG4kY2xyLWluZGlnby04MDA6ICBtYXAtZ2V0KCRjbHItaW5kaWdvLWxpc3QsIFwiODAwXCIpO1xuJGNsci1pbmRpZ28tOTAwOiAgbWFwLWdldCgkY2xyLWluZGlnby1saXN0LCBcIjkwMFwiKTtcbiRjbHItaW5kaWdvLWExMDA6IG1hcC1nZXQoJGNsci1pbmRpZ28tbGlzdCwgXCJhMTAwXCIpO1xuJGNsci1pbmRpZ28tYTIwMDogbWFwLWdldCgkY2xyLWluZGlnby1saXN0LCBcImEyMDBcIik7XG4kY2xyLWluZGlnby1hNDAwOiBtYXAtZ2V0KCRjbHItaW5kaWdvLWxpc3QsIFwiYTQwMFwiKTtcbiRjbHItaW5kaWdvLWE3MDA6IG1hcC1nZXQoJGNsci1pbmRpZ28tbGlzdCwgXCJhNzAwXCIpO1xuXG5cbi8vXG4vLyBCbHVlXG4vL1xuXG4kY2xyLWJsdWUtbGlzdDogKFxuICBcImJhc2VcIjogIzIxOTZmMyxcbiAgXCI1MFwiOiAgICNlM2YyZmQsXG4gIFwiMTAwXCI6ICAjYmJkZWZiLFxuICBcIjIwMFwiOiAgIzkwY2FmOSxcbiAgXCIzMDBcIjogICM2NGI1ZjYsXG4gIFwiNDAwXCI6ICAjNDJhNWY1LFxuICBcIjUwMFwiOiAgIzIxOTZmMyxcbiAgXCI2MDBcIjogICMxZTg4ZTUsXG4gIFwiNzAwXCI6ICAjMTk3NmQyLFxuICBcIjgwMFwiOiAgIzE1NjVjMCxcbiAgXCI5MDBcIjogICMwZDQ3YTEsXG4gIFwiYTEwMFwiOiAjODJiMWZmLFxuICBcImEyMDBcIjogIzQ0OGFmZixcbiAgXCJhNDAwXCI6ICMyOTc5ZmYsXG4gIFwiYTcwMFwiOiAjMjk2MmZmXG4pO1xuXG4kY2xyLWJsdWU6ICAgICAgbWFwLWdldCgkY2xyLWJsdWUtbGlzdCwgXCJiYXNlXCIpO1xuXG4kY2xyLWJsdWUtNTA6ICAgbWFwLWdldCgkY2xyLWJsdWUtbGlzdCwgXCI1MFwiKTtcbiRjbHItYmx1ZS0xMDA6ICBtYXAtZ2V0KCRjbHItYmx1ZS1saXN0LCBcIjEwMFwiKTtcbiRjbHItYmx1ZS0yMDA6ICBtYXAtZ2V0KCRjbHItYmx1ZS1saXN0LCBcIjIwMFwiKTtcbiRjbHItYmx1ZS0zMDA6ICBtYXAtZ2V0KCRjbHItYmx1ZS1saXN0LCBcIjMwMFwiKTtcbiRjbHItYmx1ZS00MDA6ICBtYXAtZ2V0KCRjbHItYmx1ZS1saXN0LCBcIjQwMFwiKTtcbiRjbHItYmx1ZS01MDA6ICBtYXAtZ2V0KCRjbHItYmx1ZS1saXN0LCBcIjUwMFwiKTtcbiRjbHItYmx1ZS02MDA6ICBtYXAtZ2V0KCRjbHItYmx1ZS1saXN0LCBcIjYwMFwiKTtcbiRjbHItYmx1ZS03MDA6ICBtYXAtZ2V0KCRjbHItYmx1ZS1saXN0LCBcIjcwMFwiKTtcbiRjbHItYmx1ZS04MDA6ICBtYXAtZ2V0KCRjbHItYmx1ZS1saXN0LCBcIjgwMFwiKTtcbiRjbHItYmx1ZS05MDA6ICBtYXAtZ2V0KCRjbHItYmx1ZS1saXN0LCBcIjkwMFwiKTtcbiRjbHItYmx1ZS1hMTAwOiBtYXAtZ2V0KCRjbHItYmx1ZS1saXN0LCBcImExMDBcIik7XG4kY2xyLWJsdWUtYTIwMDogbWFwLWdldCgkY2xyLWJsdWUtbGlzdCwgXCJhMjAwXCIpO1xuJGNsci1ibHVlLWE0MDA6IG1hcC1nZXQoJGNsci1ibHVlLWxpc3QsIFwiYTQwMFwiKTtcbiRjbHItYmx1ZS1hNzAwOiBtYXAtZ2V0KCRjbHItYmx1ZS1saXN0LCBcImE3MDBcIik7XG5cblxuLy9cbi8vIExpZ2h0IEJsdWVcbi8vXG5cbiRjbHItbGlnaHQtYmx1ZS1saXN0OiAoXG4gIFwiYmFzZVwiOiAjMDNhOWY0LFxuICBcIjUwXCI6ICAgI2UxZjVmZSxcbiAgXCIxMDBcIjogICNiM2U1ZmMsXG4gIFwiMjAwXCI6ICAjODFkNGZhLFxuICBcIjMwMFwiOiAgIzRmYzNmNyxcbiAgXCI0MDBcIjogICMyOWI2ZjYsXG4gIFwiNTAwXCI6ICAjMDNhOWY0LFxuICBcIjYwMFwiOiAgIzAzOWJlNSxcbiAgXCI3MDBcIjogICMwMjg4ZDEsXG4gIFwiODAwXCI6ICAjMDI3N2JkLFxuICBcIjkwMFwiOiAgIzAxNTc5YixcbiAgXCJhMTAwXCI6ICM4MGQ4ZmYsXG4gIFwiYTIwMFwiOiAjNDBjNGZmLFxuICBcImE0MDBcIjogIzAwYjBmZixcbiAgXCJhNzAwXCI6ICMwMDkxZWFcbik7XG5cbiRjbHItbGlnaHQtYmx1ZTogICAgICBtYXAtZ2V0KCRjbHItbGlnaHQtYmx1ZS1saXN0LCBcImJhc2VcIik7XG5cbiRjbHItbGlnaHQtYmx1ZS01MDogICBtYXAtZ2V0KCRjbHItbGlnaHQtYmx1ZS1saXN0LCBcIjUwXCIpO1xuJGNsci1saWdodC1ibHVlLTEwMDogIG1hcC1nZXQoJGNsci1saWdodC1ibHVlLWxpc3QsIFwiMTAwXCIpO1xuJGNsci1saWdodC1ibHVlLTIwMDogIG1hcC1nZXQoJGNsci1saWdodC1ibHVlLWxpc3QsIFwiMjAwXCIpO1xuJGNsci1saWdodC1ibHVlLTMwMDogIG1hcC1nZXQoJGNsci1saWdodC1ibHVlLWxpc3QsIFwiMzAwXCIpO1xuJGNsci1saWdodC1ibHVlLTQwMDogIG1hcC1nZXQoJGNsci1saWdodC1ibHVlLWxpc3QsIFwiNDAwXCIpO1xuJGNsci1saWdodC1ibHVlLTUwMDogIG1hcC1nZXQoJGNsci1saWdodC1ibHVlLWxpc3QsIFwiNTAwXCIpO1xuJGNsci1saWdodC1ibHVlLTYwMDogIG1hcC1nZXQoJGNsci1saWdodC1ibHVlLWxpc3QsIFwiNjAwXCIpO1xuJGNsci1saWdodC1ibHVlLTcwMDogIG1hcC1nZXQoJGNsci1saWdodC1ibHVlLWxpc3QsIFwiNzAwXCIpO1xuJGNsci1saWdodC1ibHVlLTgwMDogIG1hcC1nZXQoJGNsci1saWdodC1ibHVlLWxpc3QsIFwiODAwXCIpO1xuJGNsci1saWdodC1ibHVlLTkwMDogIG1hcC1nZXQoJGNsci1saWdodC1ibHVlLWxpc3QsIFwiOTAwXCIpO1xuJGNsci1saWdodC1ibHVlLWExMDA6IG1hcC1nZXQoJGNsci1saWdodC1ibHVlLWxpc3QsIFwiYTEwMFwiKTtcbiRjbHItbGlnaHQtYmx1ZS1hMjAwOiBtYXAtZ2V0KCRjbHItbGlnaHQtYmx1ZS1saXN0LCBcImEyMDBcIik7XG4kY2xyLWxpZ2h0LWJsdWUtYTQwMDogbWFwLWdldCgkY2xyLWxpZ2h0LWJsdWUtbGlzdCwgXCJhNDAwXCIpO1xuJGNsci1saWdodC1ibHVlLWE3MDA6IG1hcC1nZXQoJGNsci1saWdodC1ibHVlLWxpc3QsIFwiYTcwMFwiKTtcblxuXG4vL1xuLy8gQ3lhblxuLy9cblxuJGNsci1jeWFuLWxpc3Q6IChcbiAgXCJiYXNlXCI6ICMwMGJjZDQsXG4gIFwiNTBcIjogICAjZTBmN2ZhLFxuICBcIjEwMFwiOiAgI2IyZWJmMixcbiAgXCIyMDBcIjogICM4MGRlZWEsXG4gIFwiMzAwXCI6ICAjNGRkMGUxLFxuICBcIjQwMFwiOiAgIzI2YzZkYSxcbiAgXCI1MDBcIjogICMwMGJjZDQsXG4gIFwiNjAwXCI6ICAjMDBhY2MxLFxuICBcIjcwMFwiOiAgIzAwOTdhNyxcbiAgXCI4MDBcIjogICMwMDgzOGYsXG4gIFwiOTAwXCI6ICAjMDA2MDY0LFxuICBcImExMDBcIjogIzg0ZmZmZixcbiAgXCJhMjAwXCI6ICMxOGZmZmYsXG4gIFwiYTQwMFwiOiAjMDBlNWZmLFxuICBcImE3MDBcIjogIzAwYjhkNFxuKTtcblxuJGNsci1jeWFuOiAgICAgIG1hcC1nZXQoJGNsci1jeWFuLWxpc3QsIFwiYmFzZVwiKTtcblxuJGNsci1jeWFuLTUwOiAgIG1hcC1nZXQoJGNsci1jeWFuLWxpc3QsIFwiNTBcIik7XG4kY2xyLWN5YW4tMTAwOiAgbWFwLWdldCgkY2xyLWN5YW4tbGlzdCwgXCIxMDBcIik7XG4kY2xyLWN5YW4tMjAwOiAgbWFwLWdldCgkY2xyLWN5YW4tbGlzdCwgXCIyMDBcIik7XG4kY2xyLWN5YW4tMzAwOiAgbWFwLWdldCgkY2xyLWN5YW4tbGlzdCwgXCIzMDBcIik7XG4kY2xyLWN5YW4tNDAwOiAgbWFwLWdldCgkY2xyLWN5YW4tbGlzdCwgXCI0MDBcIik7XG4kY2xyLWN5YW4tNTAwOiAgbWFwLWdldCgkY2xyLWN5YW4tbGlzdCwgXCI1MDBcIik7XG4kY2xyLWN5YW4tNjAwOiAgbWFwLWdldCgkY2xyLWN5YW4tbGlzdCwgXCI2MDBcIik7XG4kY2xyLWN5YW4tNzAwOiAgbWFwLWdldCgkY2xyLWN5YW4tbGlzdCwgXCI3MDBcIik7XG4kY2xyLWN5YW4tODAwOiAgbWFwLWdldCgkY2xyLWN5YW4tbGlzdCwgXCI4MDBcIik7XG4kY2xyLWN5YW4tOTAwOiAgbWFwLWdldCgkY2xyLWN5YW4tbGlzdCwgXCI5MDBcIik7XG4kY2xyLWN5YW4tYTEwMDogbWFwLWdldCgkY2xyLWN5YW4tbGlzdCwgXCJhMTAwXCIpO1xuJGNsci1jeWFuLWEyMDA6IG1hcC1nZXQoJGNsci1jeWFuLWxpc3QsIFwiYTIwMFwiKTtcbiRjbHItY3lhbi1hNDAwOiBtYXAtZ2V0KCRjbHItY3lhbi1saXN0LCBcImE0MDBcIik7XG4kY2xyLWN5YW4tYTcwMDogbWFwLWdldCgkY2xyLWN5YW4tbGlzdCwgXCJhNzAwXCIpO1xuXG5cbi8vXG4vLyBUZWFsXG4vL1xuXG4kY2xyLXRlYWwtbGlzdDogKFxuICBcImJhc2VcIjogIzAwOTY4OCxcbiAgXCI1MFwiOiAgICNlMGYyZjEsXG4gIFwiMTAwXCI6ICAjYjJkZmRiLFxuICBcIjIwMFwiOiAgIzgwY2JjNCxcbiAgXCIzMDBcIjogICM0ZGI2YWMsXG4gIFwiNDAwXCI6ICAjMjZhNjlhLFxuICBcIjUwMFwiOiAgIzAwOTY4OCxcbiAgXCI2MDBcIjogICMwMDg5N2IsXG4gIFwiNzAwXCI6ICAjMDA3OTZiLFxuICBcIjgwMFwiOiAgIzAwNjk1YyxcbiAgXCI5MDBcIjogICMwMDRkNDAsXG4gIFwiYTEwMFwiOiAjYTdmZmViLFxuICBcImEyMDBcIjogIzY0ZmZkYSxcbiAgXCJhNDAwXCI6ICMxZGU5YjYsXG4gIFwiYTcwMFwiOiAjMDBiZmE1XG4pO1xuXG4kY2xyLXRlYWw6ICAgICAgbWFwLWdldCgkY2xyLXRlYWwtbGlzdCwgXCJiYXNlXCIpO1xuXG4kY2xyLXRlYWwtNTA6ICAgbWFwLWdldCgkY2xyLXRlYWwtbGlzdCwgXCI1MFwiKTtcbiRjbHItdGVhbC0xMDA6ICBtYXAtZ2V0KCRjbHItdGVhbC1saXN0LCBcIjEwMFwiKTtcbiRjbHItdGVhbC0yMDA6ICBtYXAtZ2V0KCRjbHItdGVhbC1saXN0LCBcIjIwMFwiKTtcbiRjbHItdGVhbC0zMDA6ICBtYXAtZ2V0KCRjbHItdGVhbC1saXN0LCBcIjMwMFwiKTtcbiRjbHItdGVhbC00MDA6ICBtYXAtZ2V0KCRjbHItdGVhbC1saXN0LCBcIjQwMFwiKTtcbiRjbHItdGVhbC01MDA6ICBtYXAtZ2V0KCRjbHItdGVhbC1saXN0LCBcIjUwMFwiKTtcbiRjbHItdGVhbC02MDA6ICBtYXAtZ2V0KCRjbHItdGVhbC1saXN0LCBcIjYwMFwiKTtcbiRjbHItdGVhbC03MDA6ICBtYXAtZ2V0KCRjbHItdGVhbC1saXN0LCBcIjcwMFwiKTtcbiRjbHItdGVhbC04MDA6ICBtYXAtZ2V0KCRjbHItdGVhbC1saXN0LCBcIjgwMFwiKTtcbiRjbHItdGVhbC05MDA6ICBtYXAtZ2V0KCRjbHItdGVhbC1saXN0LCBcIjkwMFwiKTtcbiRjbHItdGVhbC1hMTAwOiBtYXAtZ2V0KCRjbHItdGVhbC1saXN0LCBcImExMDBcIik7XG4kY2xyLXRlYWwtYTIwMDogbWFwLWdldCgkY2xyLXRlYWwtbGlzdCwgXCJhMjAwXCIpO1xuJGNsci10ZWFsLWE0MDA6IG1hcC1nZXQoJGNsci10ZWFsLWxpc3QsIFwiYTQwMFwiKTtcbiRjbHItdGVhbC1hNzAwOiBtYXAtZ2V0KCRjbHItdGVhbC1saXN0LCBcImE3MDBcIik7XG5cblxuLy9cbi8vIEdyZWVuXG4vL1xuXG4kY2xyLWdyZWVuLWxpc3Q6IChcbiAgXCJiYXNlXCI6ICM0Y2FmNTAsXG4gIFwiNTBcIjogICAjZThmNWU5LFxuICBcIjEwMFwiOiAgI2M4ZTZjOSxcbiAgXCIyMDBcIjogICNhNWQ2YTcsXG4gIFwiMzAwXCI6ICAjODFjNzg0LFxuICBcIjQwMFwiOiAgIzY2YmI2YSxcbiAgXCI1MDBcIjogICM0Y2FmNTAsXG4gIFwiNjAwXCI6ICAjNDNhMDQ3LFxuICBcIjcwMFwiOiAgIzM4OGUzYyxcbiAgXCI4MDBcIjogICMyZTdkMzIsXG4gIFwiOTAwXCI6ICAjMWI1ZTIwLFxuICBcImExMDBcIjogI2I5ZjZjYSxcbiAgXCJhMjAwXCI6ICM2OWYwYWUsXG4gIFwiYTQwMFwiOiAjMDBlNjc2LFxuICBcImE3MDBcIjogIzAwYzg1M1xuKTtcblxuJGNsci1ncmVlbjogICAgICBtYXAtZ2V0KCRjbHItZ3JlZW4tbGlzdCwgXCJiYXNlXCIpO1xuXG4kY2xyLWdyZWVuLTUwOiAgIG1hcC1nZXQoJGNsci1ncmVlbi1saXN0LCBcIjUwXCIpO1xuJGNsci1ncmVlbi0xMDA6ICBtYXAtZ2V0KCRjbHItZ3JlZW4tbGlzdCwgXCIxMDBcIik7XG4kY2xyLWdyZWVuLTIwMDogIG1hcC1nZXQoJGNsci1ncmVlbi1saXN0LCBcIjIwMFwiKTtcbiRjbHItZ3JlZW4tMzAwOiAgbWFwLWdldCgkY2xyLWdyZWVuLWxpc3QsIFwiMzAwXCIpO1xuJGNsci1ncmVlbi00MDA6ICBtYXAtZ2V0KCRjbHItZ3JlZW4tbGlzdCwgXCI0MDBcIik7XG4kY2xyLWdyZWVuLTUwMDogIG1hcC1nZXQoJGNsci1ncmVlbi1saXN0LCBcIjUwMFwiKTtcbiRjbHItZ3JlZW4tNjAwOiAgbWFwLWdldCgkY2xyLWdyZWVuLWxpc3QsIFwiNjAwXCIpO1xuJGNsci1ncmVlbi03MDA6ICBtYXAtZ2V0KCRjbHItZ3JlZW4tbGlzdCwgXCI3MDBcIik7XG4kY2xyLWdyZWVuLTgwMDogIG1hcC1nZXQoJGNsci1ncmVlbi1saXN0LCBcIjgwMFwiKTtcbiRjbHItZ3JlZW4tOTAwOiAgbWFwLWdldCgkY2xyLWdyZWVuLWxpc3QsIFwiOTAwXCIpO1xuJGNsci1ncmVlbi1hMTAwOiBtYXAtZ2V0KCRjbHItZ3JlZW4tbGlzdCwgXCJhMTAwXCIpO1xuJGNsci1ncmVlbi1hMjAwOiBtYXAtZ2V0KCRjbHItZ3JlZW4tbGlzdCwgXCJhMjAwXCIpO1xuJGNsci1ncmVlbi1hNDAwOiBtYXAtZ2V0KCRjbHItZ3JlZW4tbGlzdCwgXCJhNDAwXCIpO1xuJGNsci1ncmVlbi1hNzAwOiBtYXAtZ2V0KCRjbHItZ3JlZW4tbGlzdCwgXCJhNzAwXCIpO1xuXG5cbi8vXG4vLyBMaWdodCBncmVlblxuLy9cblxuJGNsci1saWdodC1ncmVlbi1saXN0OiAoXG4gIFwiYmFzZVwiOiAjOGJjMzRhLFxuICBcIjUwXCI6ICAgI2YxZjhlOSxcbiAgXCIxMDBcIjogICNkY2VkYzgsXG4gIFwiMjAwXCI6ICAjYzVlMWE1LFxuICBcIjMwMFwiOiAgI2FlZDU4MSxcbiAgXCI0MDBcIjogICM5Y2NjNjUsXG4gIFwiNTAwXCI6ICAjOGJjMzRhLFxuICBcIjYwMFwiOiAgIzdjYjM0MixcbiAgXCI3MDBcIjogICM2ODlmMzgsXG4gIFwiODAwXCI6ICAjNTU4YjJmLFxuICBcIjkwMFwiOiAgIzMzNjkxZSxcbiAgXCJhMTAwXCI6ICNjY2ZmOTAsXG4gIFwiYTIwMFwiOiAjYjJmZjU5LFxuICBcImE0MDBcIjogIzc2ZmYwMyxcbiAgXCJhNzAwXCI6ICM2NGRkMTdcbik7XG5cbiRjbHItbGlnaHQtZ3JlZW46ICAgICAgbWFwLWdldCgkY2xyLWxpZ2h0LWdyZWVuLWxpc3QsIFwiYmFzZVwiKTtcblxuJGNsci1saWdodC1ncmVlbi01MDogICBtYXAtZ2V0KCRjbHItbGlnaHQtZ3JlZW4tbGlzdCwgXCI1MFwiKTtcbiRjbHItbGlnaHQtZ3JlZW4tMTAwOiAgbWFwLWdldCgkY2xyLWxpZ2h0LWdyZWVuLWxpc3QsIFwiMTAwXCIpO1xuJGNsci1saWdodC1ncmVlbi0yMDA6ICBtYXAtZ2V0KCRjbHItbGlnaHQtZ3JlZW4tbGlzdCwgXCIyMDBcIik7XG4kY2xyLWxpZ2h0LWdyZWVuLTMwMDogIG1hcC1nZXQoJGNsci1saWdodC1ncmVlbi1saXN0LCBcIjMwMFwiKTtcbiRjbHItbGlnaHQtZ3JlZW4tNDAwOiAgbWFwLWdldCgkY2xyLWxpZ2h0LWdyZWVuLWxpc3QsIFwiNDAwXCIpO1xuJGNsci1saWdodC1ncmVlbi01MDA6ICBtYXAtZ2V0KCRjbHItbGlnaHQtZ3JlZW4tbGlzdCwgXCI1MDBcIik7XG4kY2xyLWxpZ2h0LWdyZWVuLTYwMDogIG1hcC1nZXQoJGNsci1saWdodC1ncmVlbi1saXN0LCBcIjYwMFwiKTtcbiRjbHItbGlnaHQtZ3JlZW4tNzAwOiAgbWFwLWdldCgkY2xyLWxpZ2h0LWdyZWVuLWxpc3QsIFwiNzAwXCIpO1xuJGNsci1saWdodC1ncmVlbi04MDA6ICBtYXAtZ2V0KCRjbHItbGlnaHQtZ3JlZW4tbGlzdCwgXCI4MDBcIik7XG4kY2xyLWxpZ2h0LWdyZWVuLTkwMDogIG1hcC1nZXQoJGNsci1saWdodC1ncmVlbi1saXN0LCBcIjkwMFwiKTtcbiRjbHItbGlnaHQtZ3JlZW4tYTEwMDogbWFwLWdldCgkY2xyLWxpZ2h0LWdyZWVuLWxpc3QsIFwiYTEwMFwiKTtcbiRjbHItbGlnaHQtZ3JlZW4tYTIwMDogbWFwLWdldCgkY2xyLWxpZ2h0LWdyZWVuLWxpc3QsIFwiYTIwMFwiKTtcbiRjbHItbGlnaHQtZ3JlZW4tYTQwMDogbWFwLWdldCgkY2xyLWxpZ2h0LWdyZWVuLWxpc3QsIFwiYTQwMFwiKTtcbiRjbHItbGlnaHQtZ3JlZW4tYTcwMDogbWFwLWdldCgkY2xyLWxpZ2h0LWdyZWVuLWxpc3QsIFwiYTcwMFwiKTtcblxuXG4vL1xuLy8gTGltZVxuLy9cblxuJGNsci1saW1lLWxpc3Q6IChcbiAgXCJiYXNlXCI6ICNjZGRjMzksXG4gIFwiNTBcIjogICAjZjlmYmU3LFxuICBcIjEwMFwiOiAgI2YwZjRjMyxcbiAgXCIyMDBcIjogICNlNmVlOWMsXG4gIFwiMzAwXCI6ICAjZGNlNzc1LFxuICBcIjQwMFwiOiAgI2Q0ZTE1NyxcbiAgXCI1MDBcIjogICNjZGRjMzksXG4gIFwiNjAwXCI6ICAjYzBjYTMzLFxuICBcIjcwMFwiOiAgI2FmYjQyYixcbiAgXCI4MDBcIjogICM5ZTlkMjQsXG4gIFwiOTAwXCI6ICAjODI3NzE3LFxuICBcImExMDBcIjogI2Y0ZmY4MSxcbiAgXCJhMjAwXCI6ICNlZWZmNDEsXG4gIFwiYTQwMFwiOiAjYzZmZjAwLFxuICBcImE3MDBcIjogI2FlZWEwMFxuKTtcblxuJGNsci1saW1lOiAgICAgIG1hcC1nZXQoJGNsci1saW1lLWxpc3QsIFwiYmFzZVwiKTtcblxuJGNsci1saW1lLTUwOiAgIG1hcC1nZXQoJGNsci1saW1lLWxpc3QsIFwiNTBcIik7XG4kY2xyLWxpbWUtMTAwOiAgbWFwLWdldCgkY2xyLWxpbWUtbGlzdCwgXCIxMDBcIik7XG4kY2xyLWxpbWUtMjAwOiAgbWFwLWdldCgkY2xyLWxpbWUtbGlzdCwgXCIyMDBcIik7XG4kY2xyLWxpbWUtMzAwOiAgbWFwLWdldCgkY2xyLWxpbWUtbGlzdCwgXCIzMDBcIik7XG4kY2xyLWxpbWUtNDAwOiAgbWFwLWdldCgkY2xyLWxpbWUtbGlzdCwgXCI0MDBcIik7XG4kY2xyLWxpbWUtNTAwOiAgbWFwLWdldCgkY2xyLWxpbWUtbGlzdCwgXCI1MDBcIik7XG4kY2xyLWxpbWUtNjAwOiAgbWFwLWdldCgkY2xyLWxpbWUtbGlzdCwgXCI2MDBcIik7XG4kY2xyLWxpbWUtNzAwOiAgbWFwLWdldCgkY2xyLWxpbWUtbGlzdCwgXCI3MDBcIik7XG4kY2xyLWxpbWUtODAwOiAgbWFwLWdldCgkY2xyLWxpbWUtbGlzdCwgXCI4MDBcIik7XG4kY2xyLWxpbWUtOTAwOiAgbWFwLWdldCgkY2xyLWxpbWUtbGlzdCwgXCI5MDBcIik7XG4kY2xyLWxpbWUtYTEwMDogbWFwLWdldCgkY2xyLWxpbWUtbGlzdCwgXCJhMTAwXCIpO1xuJGNsci1saW1lLWEyMDA6IG1hcC1nZXQoJGNsci1saW1lLWxpc3QsIFwiYTIwMFwiKTtcbiRjbHItbGltZS1hNDAwOiBtYXAtZ2V0KCRjbHItbGltZS1saXN0LCBcImE0MDBcIik7XG4kY2xyLWxpbWUtYTcwMDogbWFwLWdldCgkY2xyLWxpbWUtbGlzdCwgXCJhNzAwXCIpO1xuXG5cbi8vXG4vLyBZZWxsb3dcbi8vXG5cbiRjbHIteWVsbG93LWxpc3Q6IChcbiAgXCJiYXNlXCI6ICNmZmViM2IsXG4gIFwiNTBcIjogICAjZmZmZGU3LFxuICBcIjEwMFwiOiAgI2ZmZjljNCxcbiAgXCIyMDBcIjogICNmZmY1OWQsXG4gIFwiMzAwXCI6ICAjZmZmMTc2LFxuICBcIjQwMFwiOiAgI2ZmZWU1OCxcbiAgXCI1MDBcIjogICNmZmViM2IsXG4gIFwiNjAwXCI6ICAjZmRkODM1LFxuICBcIjcwMFwiOiAgI2ZiYzAyZCxcbiAgXCI4MDBcIjogICNmOWE4MjUsXG4gIFwiOTAwXCI6ICAjZjU3ZjE3LFxuICBcImExMDBcIjogI2ZmZmY4ZCxcbiAgXCJhMjAwXCI6ICNmZmZmMDAsXG4gIFwiYTQwMFwiOiAjZmZlYTAwLFxuICBcImE3MDBcIjogI2ZmZDYwMFxuKTtcblxuJGNsci15ZWxsb3c6ICAgICAgbWFwLWdldCgkY2xyLXllbGxvdy1saXN0LCBcImJhc2VcIik7XG5cbiRjbHIteWVsbG93LTUwOiAgIG1hcC1nZXQoJGNsci15ZWxsb3ctbGlzdCwgXCI1MFwiKTtcbiRjbHIteWVsbG93LTEwMDogIG1hcC1nZXQoJGNsci15ZWxsb3ctbGlzdCwgXCIxMDBcIik7XG4kY2xyLXllbGxvdy0yMDA6ICBtYXAtZ2V0KCRjbHIteWVsbG93LWxpc3QsIFwiMjAwXCIpO1xuJGNsci15ZWxsb3ctMzAwOiAgbWFwLWdldCgkY2xyLXllbGxvdy1saXN0LCBcIjMwMFwiKTtcbiRjbHIteWVsbG93LTQwMDogIG1hcC1nZXQoJGNsci15ZWxsb3ctbGlzdCwgXCI0MDBcIik7XG4kY2xyLXllbGxvdy01MDA6ICBtYXAtZ2V0KCRjbHIteWVsbG93LWxpc3QsIFwiNTAwXCIpO1xuJGNsci15ZWxsb3ctNjAwOiAgbWFwLWdldCgkY2xyLXllbGxvdy1saXN0LCBcIjYwMFwiKTtcbiRjbHIteWVsbG93LTcwMDogIG1hcC1nZXQoJGNsci15ZWxsb3ctbGlzdCwgXCI3MDBcIik7XG4kY2xyLXllbGxvdy04MDA6ICBtYXAtZ2V0KCRjbHIteWVsbG93LWxpc3QsIFwiODAwXCIpO1xuJGNsci15ZWxsb3ctOTAwOiAgbWFwLWdldCgkY2xyLXllbGxvdy1saXN0LCBcIjkwMFwiKTtcbiRjbHIteWVsbG93LWExMDA6IG1hcC1nZXQoJGNsci15ZWxsb3ctbGlzdCwgXCJhMTAwXCIpO1xuJGNsci15ZWxsb3ctYTIwMDogbWFwLWdldCgkY2xyLXllbGxvdy1saXN0LCBcImEyMDBcIik7XG4kY2xyLXllbGxvdy1hNDAwOiBtYXAtZ2V0KCRjbHIteWVsbG93LWxpc3QsIFwiYTQwMFwiKTtcbiRjbHIteWVsbG93LWE3MDA6IG1hcC1nZXQoJGNsci15ZWxsb3ctbGlzdCwgXCJhNzAwXCIpO1xuXG5cbi8vXG4vLyBhbWJlclxuLy9cblxuJGNsci1hbWJlci1saXN0OiAoXG4gIFwiYmFzZVwiOiAjZmZjMTA3LFxuICBcIjUwXCI6ICAgI2ZmZjhlMSxcbiAgXCIxMDBcIjogICNmZmVjYjMsXG4gIFwiMjAwXCI6ICAjZmZlMDgyLFxuICBcIjMwMFwiOiAgI2ZmZDU0ZixcbiAgXCI0MDBcIjogICNmZmNhMjgsXG4gIFwiNTAwXCI6ICAjZmZjMTA3LFxuICBcIjYwMFwiOiAgI2ZmYjMwMCxcbiAgXCI3MDBcIjogICNmZmEwMDAsXG4gIFwiODAwXCI6ICAjZmY4ZjAwLFxuICBcIjkwMFwiOiAgI2ZmNmYwMCxcbiAgXCJhMTAwXCI6ICNmZmU1N2YsXG4gIFwiYTIwMFwiOiAjZmZkNzQwLFxuICBcImE0MDBcIjogI2ZmYzQwMCxcbiAgXCJhNzAwXCI6ICNmZmFiMDBcbik7XG5cbiRjbHItYW1iZXI6ICAgICAgbWFwLWdldCgkY2xyLWFtYmVyLWxpc3QsIFwiYmFzZVwiKTtcblxuJGNsci1hbWJlci01MDogICBtYXAtZ2V0KCRjbHItYW1iZXItbGlzdCwgXCI1MFwiKTtcbiRjbHItYW1iZXItMTAwOiAgbWFwLWdldCgkY2xyLWFtYmVyLWxpc3QsIFwiMTAwXCIpO1xuJGNsci1hbWJlci0yMDA6ICBtYXAtZ2V0KCRjbHItYW1iZXItbGlzdCwgXCIyMDBcIik7XG4kY2xyLWFtYmVyLTMwMDogIG1hcC1nZXQoJGNsci1hbWJlci1saXN0LCBcIjMwMFwiKTtcbiRjbHItYW1iZXItNDAwOiAgbWFwLWdldCgkY2xyLWFtYmVyLWxpc3QsIFwiNDAwXCIpO1xuJGNsci1hbWJlci01MDA6ICBtYXAtZ2V0KCRjbHItYW1iZXItbGlzdCwgXCI1MDBcIik7XG4kY2xyLWFtYmVyLTYwMDogIG1hcC1nZXQoJGNsci1hbWJlci1saXN0LCBcIjYwMFwiKTtcbiRjbHItYW1iZXItNzAwOiAgbWFwLWdldCgkY2xyLWFtYmVyLWxpc3QsIFwiNzAwXCIpO1xuJGNsci1hbWJlci04MDA6ICBtYXAtZ2V0KCRjbHItYW1iZXItbGlzdCwgXCI4MDBcIik7XG4kY2xyLWFtYmVyLTkwMDogIG1hcC1nZXQoJGNsci1hbWJlci1saXN0LCBcIjkwMFwiKTtcbiRjbHItYW1iZXItYTEwMDogbWFwLWdldCgkY2xyLWFtYmVyLWxpc3QsIFwiYTEwMFwiKTtcbiRjbHItYW1iZXItYTIwMDogbWFwLWdldCgkY2xyLWFtYmVyLWxpc3QsIFwiYTIwMFwiKTtcbiRjbHItYW1iZXItYTQwMDogbWFwLWdldCgkY2xyLWFtYmVyLWxpc3QsIFwiYTQwMFwiKTtcbiRjbHItYW1iZXItYTcwMDogbWFwLWdldCgkY2xyLWFtYmVyLWxpc3QsIFwiYTcwMFwiKTtcblxuXG4vL1xuLy8gT3JhbmdlXG4vL1xuXG4kY2xyLW9yYW5nZS1saXN0OiAoXG4gIFwiYmFzZVwiOiAjZmY5ODAwLFxuICBcIjUwXCI6ICAgI2ZmZjNlMCxcbiAgXCIxMDBcIjogICNmZmUwYjIsXG4gIFwiMjAwXCI6ICAjZmZjYzgwLFxuICBcIjMwMFwiOiAgI2ZmYjc0ZCxcbiAgXCI0MDBcIjogICNmZmE3MjYsXG4gIFwiNTAwXCI6ICAjZmY5ODAwLFxuICBcIjYwMFwiOiAgI2ZiOGMwMCxcbiAgXCI3MDBcIjogICNmNTdjMDAsXG4gIFwiODAwXCI6ICAjZWY2YzAwLFxuICBcIjkwMFwiOiAgI2U2NTEwMCxcbiAgXCJhMTAwXCI6ICNmZmQxODAsXG4gIFwiYTIwMFwiOiAjZmZhYjQwLFxuICBcImE0MDBcIjogI2ZmOTEwMCxcbiAgXCJhNzAwXCI6ICNmZjZkMDBcbik7XG5cbiRjbHItb3JhbmdlOiAgICAgIG1hcC1nZXQoJGNsci1vcmFuZ2UtbGlzdCwgXCJiYXNlXCIpO1xuXG4kY2xyLW9yYW5nZS01MDogICBtYXAtZ2V0KCRjbHItb3JhbmdlLWxpc3QsIFwiNTBcIik7XG4kY2xyLW9yYW5nZS0xMDA6ICBtYXAtZ2V0KCRjbHItb3JhbmdlLWxpc3QsIFwiMTAwXCIpO1xuJGNsci1vcmFuZ2UtMjAwOiAgbWFwLWdldCgkY2xyLW9yYW5nZS1saXN0LCBcIjIwMFwiKTtcbiRjbHItb3JhbmdlLTMwMDogIG1hcC1nZXQoJGNsci1vcmFuZ2UtbGlzdCwgXCIzMDBcIik7XG4kY2xyLW9yYW5nZS00MDA6ICBtYXAtZ2V0KCRjbHItb3JhbmdlLWxpc3QsIFwiNDAwXCIpO1xuJGNsci1vcmFuZ2UtNTAwOiAgbWFwLWdldCgkY2xyLW9yYW5nZS1saXN0LCBcIjUwMFwiKTtcbiRjbHItb3JhbmdlLTYwMDogIG1hcC1nZXQoJGNsci1vcmFuZ2UtbGlzdCwgXCI2MDBcIik7XG4kY2xyLW9yYW5nZS03MDA6ICBtYXAtZ2V0KCRjbHItb3JhbmdlLWxpc3QsIFwiNzAwXCIpO1xuJGNsci1vcmFuZ2UtODAwOiAgbWFwLWdldCgkY2xyLW9yYW5nZS1saXN0LCBcIjgwMFwiKTtcbiRjbHItb3JhbmdlLTkwMDogIG1hcC1nZXQoJGNsci1vcmFuZ2UtbGlzdCwgXCI5MDBcIik7XG4kY2xyLW9yYW5nZS1hMTAwOiBtYXAtZ2V0KCRjbHItb3JhbmdlLWxpc3QsIFwiYTEwMFwiKTtcbiRjbHItb3JhbmdlLWEyMDA6IG1hcC1nZXQoJGNsci1vcmFuZ2UtbGlzdCwgXCJhMjAwXCIpO1xuJGNsci1vcmFuZ2UtYTQwMDogbWFwLWdldCgkY2xyLW9yYW5nZS1saXN0LCBcImE0MDBcIik7XG4kY2xyLW9yYW5nZS1hNzAwOiBtYXAtZ2V0KCRjbHItb3JhbmdlLWxpc3QsIFwiYTcwMFwiKTtcblxuXG4vL1xuLy8gRGVlcCBvcmFuZ2Vcbi8vXG5cbiRjbHItZGVlcC1vcmFuZ2UtbGlzdDogKFxuICBcImJhc2VcIjogI2ZmNTcyMixcbiAgXCI1MFwiOiAgICNmYmU5ZTcsXG4gIFwiMTAwXCI6ICAjZmZjY2JjLFxuICBcIjIwMFwiOiAgI2ZmYWI5MSxcbiAgXCIzMDBcIjogICNmZjhhNjUsXG4gIFwiNDAwXCI6ICAjZmY3MDQzLFxuICBcIjUwMFwiOiAgI2ZmNTcyMixcbiAgXCI2MDBcIjogICNmNDUxMWUsXG4gIFwiNzAwXCI6ICAjZTY0YTE5LFxuICBcIjgwMFwiOiAgI2Q4NDMxNSxcbiAgXCI5MDBcIjogICNiZjM2MGMsXG4gIFwiYTEwMFwiOiAjZmY5ZTgwLFxuICBcImEyMDBcIjogI2ZmNmU0MCxcbiAgXCJhNDAwXCI6ICNmZjNkMDAsXG4gIFwiYTcwMFwiOiAjZGQyYzAwXG4pO1xuXG4kY2xyLWRlZXAtb3JhbmdlOiAgICAgIG1hcC1nZXQoJGNsci1kZWVwLW9yYW5nZS1saXN0LCBcImJhc2VcIik7XG5cbiRjbHItZGVlcC1vcmFuZ2UtNTA6ICAgbWFwLWdldCgkY2xyLWRlZXAtb3JhbmdlLWxpc3QsIFwiNTBcIik7XG4kY2xyLWRlZXAtb3JhbmdlLTEwMDogIG1hcC1nZXQoJGNsci1kZWVwLW9yYW5nZS1saXN0LCBcIjEwMFwiKTtcbiRjbHItZGVlcC1vcmFuZ2UtMjAwOiAgbWFwLWdldCgkY2xyLWRlZXAtb3JhbmdlLWxpc3QsIFwiMjAwXCIpO1xuJGNsci1kZWVwLW9yYW5nZS0zMDA6ICBtYXAtZ2V0KCRjbHItZGVlcC1vcmFuZ2UtbGlzdCwgXCIzMDBcIik7XG4kY2xyLWRlZXAtb3JhbmdlLTQwMDogIG1hcC1nZXQoJGNsci1kZWVwLW9yYW5nZS1saXN0LCBcIjQwMFwiKTtcbiRjbHItZGVlcC1vcmFuZ2UtNTAwOiAgbWFwLWdldCgkY2xyLWRlZXAtb3JhbmdlLWxpc3QsIFwiNTAwXCIpO1xuJGNsci1kZWVwLW9yYW5nZS02MDA6ICBtYXAtZ2V0KCRjbHItZGVlcC1vcmFuZ2UtbGlzdCwgXCI2MDBcIik7XG4kY2xyLWRlZXAtb3JhbmdlLTcwMDogIG1hcC1nZXQoJGNsci1kZWVwLW9yYW5nZS1saXN0LCBcIjcwMFwiKTtcbiRjbHItZGVlcC1vcmFuZ2UtODAwOiAgbWFwLWdldCgkY2xyLWRlZXAtb3JhbmdlLWxpc3QsIFwiODAwXCIpO1xuJGNsci1kZWVwLW9yYW5nZS05MDA6ICBtYXAtZ2V0KCRjbHItZGVlcC1vcmFuZ2UtbGlzdCwgXCI5MDBcIik7XG4kY2xyLWRlZXAtb3JhbmdlLWExMDA6IG1hcC1nZXQoJGNsci1kZWVwLW9yYW5nZS1saXN0LCBcImExMDBcIik7XG4kY2xyLWRlZXAtb3JhbmdlLWEyMDA6IG1hcC1nZXQoJGNsci1kZWVwLW9yYW5nZS1saXN0LCBcImEyMDBcIik7XG4kY2xyLWRlZXAtb3JhbmdlLWE0MDA6IG1hcC1nZXQoJGNsci1kZWVwLW9yYW5nZS1saXN0LCBcImE0MDBcIik7XG4kY2xyLWRlZXAtb3JhbmdlLWE3MDA6IG1hcC1nZXQoJGNsci1kZWVwLW9yYW5nZS1saXN0LCBcImE3MDBcIik7XG5cblxuLy9cbi8vIEJyb3duXG4vL1xuXG4kY2xyLWJyb3duLWxpc3Q6IChcbiAgXCJiYXNlXCI6ICM3OTU1NDgsXG4gIFwiNTBcIjogICAjZWZlYmU5LFxuICBcIjEwMFwiOiAgI2Q3Y2NjOCxcbiAgXCIyMDBcIjogICNiY2FhYTQsXG4gIFwiMzAwXCI6ICAjYTE4ODdmLFxuICBcIjQwMFwiOiAgIzhkNmU2MyxcbiAgXCI1MDBcIjogICM3OTU1NDgsXG4gIFwiNjAwXCI6ICAjNmQ0YzQxLFxuICBcIjcwMFwiOiAgIzVkNDAzNyxcbiAgXCI4MDBcIjogICM0ZTM0MmUsXG4gIFwiOTAwXCI6ICAjM2UyNzIzLFxuKTtcblxuJGNsci1icm93bjogICAgIG1hcC1nZXQoJGNsci1icm93bi1saXN0LCBcImJhc2VcIik7XG5cbiRjbHItYnJvd24tNTA6ICBtYXAtZ2V0KCRjbHItYnJvd24tbGlzdCwgXCI1MFwiKTtcbiRjbHItYnJvd24tMTAwOiBtYXAtZ2V0KCRjbHItYnJvd24tbGlzdCwgXCIxMDBcIik7XG4kY2xyLWJyb3duLTIwMDogbWFwLWdldCgkY2xyLWJyb3duLWxpc3QsIFwiMjAwXCIpO1xuJGNsci1icm93bi0zMDA6IG1hcC1nZXQoJGNsci1icm93bi1saXN0LCBcIjMwMFwiKTtcbiRjbHItYnJvd24tNDAwOiBtYXAtZ2V0KCRjbHItYnJvd24tbGlzdCwgXCI0MDBcIik7XG4kY2xyLWJyb3duLTUwMDogbWFwLWdldCgkY2xyLWJyb3duLWxpc3QsIFwiNTAwXCIpO1xuJGNsci1icm93bi02MDA6IG1hcC1nZXQoJGNsci1icm93bi1saXN0LCBcIjYwMFwiKTtcbiRjbHItYnJvd24tNzAwOiBtYXAtZ2V0KCRjbHItYnJvd24tbGlzdCwgXCI3MDBcIik7XG4kY2xyLWJyb3duLTgwMDogbWFwLWdldCgkY2xyLWJyb3duLWxpc3QsIFwiODAwXCIpO1xuJGNsci1icm93bi05MDA6IG1hcC1nZXQoJGNsci1icm93bi1saXN0LCBcIjkwMFwiKTtcblxuXG4vL1xuLy8gR3JleVxuLy9cblxuJGNsci1ncmV5LWxpc3Q6IChcbiAgXCJiYXNlXCI6ICM5ZTllOWUsXG4gIFwiNTBcIjogICAjZmFmYWZhLFxuICBcIjEwMFwiOiAgI2Y1ZjVmNSxcbiAgXCIyMDBcIjogICNlZWVlZWUsXG4gIFwiMzAwXCI6ICAjZTBlMGUwLFxuICBcIjQwMFwiOiAgI2JkYmRiZCxcbiAgXCI1MDBcIjogICM5ZTllOWUsXG4gIFwiNjAwXCI6ICAjNzU3NTc1LFxuICBcIjcwMFwiOiAgIzYxNjE2MSxcbiAgXCI4MDBcIjogICM0MjQyNDIsXG4gIFwiOTAwXCI6ICAjMjEyMTIxLFxuKTtcblxuJGNsci1ncmV5OiAgICAgbWFwLWdldCgkY2xyLWdyZXktbGlzdCwgXCJiYXNlXCIpO1xuXG4kY2xyLWdyZXktNTA6ICBtYXAtZ2V0KCRjbHItZ3JleS1saXN0LCBcIjUwXCIpO1xuJGNsci1ncmV5LTEwMDogbWFwLWdldCgkY2xyLWdyZXktbGlzdCwgXCIxMDBcIik7XG4kY2xyLWdyZXktMjAwOiBtYXAtZ2V0KCRjbHItZ3JleS1saXN0LCBcIjIwMFwiKTtcbiRjbHItZ3JleS0zMDA6IG1hcC1nZXQoJGNsci1ncmV5LWxpc3QsIFwiMzAwXCIpO1xuJGNsci1ncmV5LTQwMDogbWFwLWdldCgkY2xyLWdyZXktbGlzdCwgXCI0MDBcIik7XG4kY2xyLWdyZXktNTAwOiBtYXAtZ2V0KCRjbHItZ3JleS1saXN0LCBcIjUwMFwiKTtcbiRjbHItZ3JleS02MDA6IG1hcC1nZXQoJGNsci1ncmV5LWxpc3QsIFwiNjAwXCIpO1xuJGNsci1ncmV5LTcwMDogbWFwLWdldCgkY2xyLWdyZXktbGlzdCwgXCI3MDBcIik7XG4kY2xyLWdyZXktODAwOiBtYXAtZ2V0KCRjbHItZ3JleS1saXN0LCBcIjgwMFwiKTtcbiRjbHItZ3JleS05MDA6IG1hcC1nZXQoJGNsci1ncmV5LWxpc3QsIFwiOTAwXCIpO1xuXG5cbi8vXG4vLyBCbHVlIGdyZXlcbi8vXG5cbiRjbHItYmx1ZS1ncmV5LWxpc3Q6IChcbiAgXCJiYXNlXCI6ICM2MDdkOGIsXG4gIFwiNTBcIjogICAjZWNlZmYxLFxuICBcIjEwMFwiOiAgI2NmZDhkYyxcbiAgXCIyMDBcIjogICNiMGJlYzUsXG4gIFwiMzAwXCI6ICAjOTBhNGFlLFxuICBcIjQwMFwiOiAgIzc4OTA5YyxcbiAgXCI1MDBcIjogICM2MDdkOGIsXG4gIFwiNjAwXCI6ICAjNTQ2ZTdhLFxuICBcIjcwMFwiOiAgIzQ1NWE2NCxcbiAgXCI4MDBcIjogICMzNzQ3NGYsXG4gIFwiOTAwXCI6ICAjMjYzMjM4LFxuKTtcblxuJGNsci1ibHVlLWdyZXk6ICAgICBtYXAtZ2V0KCRjbHItYmx1ZS1ncmV5LWxpc3QsIFwiYmFzZVwiKTtcblxuJGNsci1ibHVlLWdyZXktNTA6ICBtYXAtZ2V0KCRjbHItYmx1ZS1ncmV5LWxpc3QsIFwiNTBcIik7XG4kY2xyLWJsdWUtZ3JleS0xMDA6IG1hcC1nZXQoJGNsci1ibHVlLWdyZXktbGlzdCwgXCIxMDBcIik7XG4kY2xyLWJsdWUtZ3JleS0yMDA6IG1hcC1nZXQoJGNsci1ibHVlLWdyZXktbGlzdCwgXCIyMDBcIik7XG4kY2xyLWJsdWUtZ3JleS0zMDA6IG1hcC1nZXQoJGNsci1ibHVlLWdyZXktbGlzdCwgXCIzMDBcIik7XG4kY2xyLWJsdWUtZ3JleS00MDA6IG1hcC1nZXQoJGNsci1ibHVlLWdyZXktbGlzdCwgXCI0MDBcIik7XG4kY2xyLWJsdWUtZ3JleS01MDA6IG1hcC1nZXQoJGNsci1ibHVlLWdyZXktbGlzdCwgXCI1MDBcIik7XG4kY2xyLWJsdWUtZ3JleS02MDA6IG1hcC1nZXQoJGNsci1ibHVlLWdyZXktbGlzdCwgXCI2MDBcIik7XG4kY2xyLWJsdWUtZ3JleS03MDA6IG1hcC1nZXQoJGNsci1ibHVlLWdyZXktbGlzdCwgXCI3MDBcIik7XG4kY2xyLWJsdWUtZ3JleS04MDA6IG1hcC1nZXQoJGNsci1ibHVlLWdyZXktbGlzdCwgXCI4MDBcIik7XG4kY2xyLWJsdWUtZ3JleS05MDA6IG1hcC1nZXQoJGNsci1ibHVlLWdyZXktbGlzdCwgXCI5MDBcIik7XG5cblxuLy9cbi8vIEJsYWNrXG4vL1xuXG4kY2xyLWJsYWNrLWxpc3Q6IChcbiAgXCJiYXNlXCI6ICMwMDBcbik7XG5cbiRjbHItYmxhY2s6IG1hcC1nZXQoJGNsci1ibGFjay1saXN0LCBcImJhc2VcIik7XG5cblxuLy9cbi8vIFdoaXRlXG4vL1xuXG4kY2xyLXdoaXRlLWxpc3Q6IChcbiAgXCJiYXNlXCI6ICNmZmZcbik7XG5cbiRjbHItd2hpdGU6IG1hcC1nZXQoJGNsci13aGl0ZS1saXN0LCBcImJhc2VcIik7XG5cblxuLy9cbi8vIExpc3QgZm9yIGFsbCBDb2xvcnMgZm9yIGxvb3Bpbmdcbi8vXG5cbiRjbHItbGlzdC1hbGw6IChcbiAgXCJyZWRcIjogICAgICAgICAkY2xyLXJlZC1saXN0LFxuICBcInBpbmtcIjogICAgICAgICRjbHItcGluay1saXN0LFxuICBcInB1cnBsZVwiOiAgICAgICRjbHItcHVycGxlLWxpc3QsXG4gIFwiZGVlcC1wdXJwbGVcIjogJGNsci1kZWVwLXB1cnBsZS1saXN0LFxuICBcImluZGlnb1wiOiAgICAgICRjbHItaW5kaWdvLWxpc3QsXG4gIFwiYmx1ZVwiOiAgICAgICAgJGNsci1ibHVlLWxpc3QsXG4gIFwibGlnaHQtYmx1ZVwiOiAgJGNsci1saWdodC1ibHVlLWxpc3QsXG4gIFwiY3lhblwiOiAgICAgICAgJGNsci1jeWFuLWxpc3QsXG4gIFwidGVhbFwiOiAgICAgICAgJGNsci10ZWFsLWxpc3QsXG4gIFwiZ3JlZW5cIjogICAgICAgJGNsci1ncmVlbi1saXN0LFxuICBcImxpZ2h0LWdyZWVuXCI6ICRjbHItbGlnaHQtZ3JlZW4tbGlzdCxcbiAgXCJsaW1lXCI6ICAgICAgICAkY2xyLWxpbWUtbGlzdCxcbiAgXCJ5ZWxsb3dcIjogICAgICAkY2xyLXllbGxvdy1saXN0LFxuICBcImFtYmVyXCI6ICAgICAgICRjbHItYW1iZXItbGlzdCxcbiAgXCJvcmFuZ2VcIjogICAgICAkY2xyLW9yYW5nZS1saXN0LFxuICBcImRlZXAtb3JhbmdlXCI6ICRjbHItZGVlcC1vcmFuZ2UtbGlzdCxcbiAgXCJicm93blwiOiAgICAgICAkY2xyLWJyb3duLWxpc3QsXG4gIFwiZ3JleVwiOiAgICAgICAgJGNsci1ncmV5LWxpc3QsXG4gIFwiYmx1ZS1ncmV5XCI6ICAgJGNsci1ibHVlLWdyZXktbGlzdCxcbiAgXCJibGFja1wiOiAgICAgICAkY2xyLWJsYWNrLWxpc3QsXG4gIFwid2hpdGVcIjogICAgICAgJGNsci13aGl0ZS1saXN0XG4pO1xuXG5cbi8vXG4vLyBUeXBvZ3JhcGh5XG4vL1xuXG4kY2xyLXVpLWRpc3BsYXktNDogJGNsci1ncmV5LTYwMDtcbiRjbHItdWktZGlzcGxheS0zOiAkY2xyLWdyZXktNjAwO1xuJGNsci11aS1kaXNwbGF5LTI6ICRjbHItZ3JleS02MDA7XG4kY2xyLXVpLWRpc3BsYXktMTogJGNsci1ncmV5LTYwMDtcbiRjbHItdWktaGVhZGxpbmU6ICAkY2xyLWdyZXktOTAwO1xuJGNsci11aS10aXRsZTogICAgICRjbHItZ3JleS05MDA7XG4kY2xyLXVpLXN1YmhlYWQtMTogJGNsci1ncmV5LTkwMDtcbiRjbHItdWktYm9keS0yOiAgICAkY2xyLWdyZXktOTAwO1xuJGNsci11aS1ib2R5LTE6ICAgICRjbHItZ3JleS05MDA7XG4kY2xyLXVpLWNhcHRpb246ICAgJGNsci1ncmV5LTYwMDtcbiRjbHItdWktbWVudTogICAgICAkY2xyLWdyZXktOTAwO1xuJGNsci11aS1idXR0b246ICAgICRjbHItZ3JleS05MDA7XG4iLCIvL1xuLy8gTmFtZTogICAgICAgICAgIE1hdGVyaWFsIFNoYWRvd3Ncbi8vIERlc2NyaXB0aW9uOiAgICBNaXhpbnMgZm9yIE1hdGVyaWFsIERlc2lnbiBTaGFkb3dzLlxuLy8gVmVyc2lvbjogICAgICAgIDMuMC4xXG4vL1xuLy8gQXV0aG9yOiAgICAgICAgIERlbmlzIE1hbGlub2Noa2luXG4vLyBHaXQ6ICAgICAgICAgICAgaHR0cHM6Ly9naXRodWIuY29tL21ybWxuYy9tYXRlcmlhbC1zaGFkb3dzXG4vL1xuLy8gdHdpdHRlcjogICAgICAgIEBtcm1sbmNcbi8vXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuXG4vLyBNaXhpbnNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG5AbWl4aW4gei1kZXB0aC10cmFuc2l0aW9uKCkge1xuICB0cmFuc2l0aW9uOiBib3gtc2hhZG93IC4yOHMgY3ViaWMtYmV6aWVyKC40LCAwLCAuMiwgMSk7XG59XG5cbkBtaXhpbiB6LWRlcHRoLWZvY3VzKCkge1xuICBib3gtc2hhZG93OiAwIDAgOHB4IHJnYmEoMCwgMCwgMCwgLjE4KSwgMCA4cHggMTZweCByZ2JhKDAsIDAsIDAsIC4zNik7XG59XG5cbkBtaXhpbiB6LWRlcHRoLTJkcCgpIHtcbiAgYm94LXNoYWRvdzogMCAycHggMnB4IDAgcmdiYSgwLCAwLCAwLCAuMTQpLFxuICAgICAgICAgICAgICAwIDFweCA1cHggMCByZ2JhKDAsIDAsIDAsIC4xMiksXG4gICAgICAgICAgICAgIDAgM3B4IDFweCAtMnB4IHJnYmEoMCwgMCwgMCwgLjIpO1xufVxuXG5AbWl4aW4gei1kZXB0aC0zZHAoKSB7XG4gIGJveC1zaGFkb3c6IDAgM3B4IDRweCAwIHJnYmEoMCwgMCwgMCwgLjE0KSxcbiAgICAgICAgICAgICAgMCAxcHggOHB4IDAgcmdiYSgwLCAwLCAwLCAuMTIpLFxuICAgICAgICAgICAgICAwIDNweCAzcHggLTJweCByZ2JhKDAsIDAsIDAsIC40KTtcbn1cblxuQG1peGluIHotZGVwdGgtNGRwKCkge1xuICBib3gtc2hhZG93OiAwIDRweCA1cHggMCByZ2JhKDAsIDAsIDAsIC4xNCksXG4gICAgICAgICAgICAgIDAgMXB4IDEwcHggMCByZ2JhKDAsIDAsIDAsIC4xMiksXG4gICAgICAgICAgICAgIDAgMnB4IDRweCAtMXB4IHJnYmEoMCwgMCwgMCwgLjQpO1xufVxuXG5AbWl4aW4gei1kZXB0aC02ZHAoKSB7XG4gIGJveC1zaGFkb3c6IDAgNnB4IDEwcHggMCByZ2JhKDAsIDAsIDAsIC4xNCksXG4gICAgICAgICAgICAgIDAgMXB4IDE4cHggMCByZ2JhKDAsIDAsIDAsIC4xMiksXG4gICAgICAgICAgICAgIDAgM3B4IDVweCAtMXB4IHJnYmEoMCwgMCwgMCwgLjQpO1xufVxuXG5AbWl4aW4gei1kZXB0aC04ZHAoKSB7XG4gIGJveC1zaGFkb3c6IDAgOHB4IDEwcHggMXB4IHJnYmEoMCwgMCwgMCwgLjE0KSxcbiAgICAgICAgICAgICAgMCAzcHggMTRweCAycHggcmdiYSgwLCAwLCAwLCAuMTIpLFxuICAgICAgICAgICAgICAwIDVweCA1cHggLTNweCByZ2JhKDAsIDAsIDAsIC40KTtcbn1cblxuQG1peGluIHotZGVwdGgtMTZkcCgpIHtcbiAgYm94LXNoYWRvdzogMCAxNnB4IDI0cHggMnB4IHJnYmEoMCwgMCwgMCwgLjE0KSxcbiAgICAgICAgICAgICAgMCAgNnB4IDMwcHggNXB4IHJnYmEoMCwgMCwgMCwgLjEyKSxcbiAgICAgICAgICAgICAgMCAgOHB4IDEwcHggLTVweCByZ2JhKDAsIDAsIDAsIC40KTtcbn1cblxuQG1peGluIHotZGVwdGgtMjRkcCgpIHtcbiAgYm94LXNoYWRvdzogMCAgOXB4IDQ2cHggIDhweCByZ2JhKDAsIDAsIDAsIC4xNCksXG4gICAgICAgICAgICAgIDAgMjRweCAzOHB4ICAzcHggcmdiYSgwLCAwLCAwLCAuMTIpLFxuICAgICAgICAgICAgICAwIDExcHggMTVweCAtN3B4IHJnYmEoMCwgMCwgMCwgLjQpO1xufVxuXG5AbWl4aW4gei1kZXB0aCgkZHA6IDIpIHtcbiAgQGlmICRkcCA9PSAyIHtcbiAgICBAaW5jbHVkZSB6LWRlcHRoLTJkcCgpO1xuICB9IEBlbHNlIGlmICRkcCA9PSAzIHtcbiAgICBAaW5jbHVkZSB6LWRlcHRoLTNkcCgpO1xuICB9IEBlbHNlIGlmICRkcCA9PSA0IHtcbiAgICBAaW5jbHVkZSB6LWRlcHRoLTRkcCgpO1xuICB9IEBlbHNlIGlmICRkcCA9PSA2IHtcbiAgICBAaW5jbHVkZSB6LWRlcHRoLTZkcCgpO1xuICB9IEBlbHNlIGlmICRkcCA9PSA4IHtcbiAgICBAaW5jbHVkZSB6LWRlcHRoLThkcCgpO1xuICB9IEBlbHNlIGlmICRkcCA9PSAxNiB7XG4gICAgQGluY2x1ZGUgei1kZXB0aC0xNmRwKCk7XG4gIH0gQGVsc2UgaWYgJGRwID09IDI0IHtcbiAgICBAaW5jbHVkZSB6LWRlcHRoLTI0ZHAoKTtcbiAgfVxufVxuXG5cbi8vIENsYXNzIGdlbmVyYXRvclxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbkBtaXhpbiB6LWRlcHRoLWNsYXNzZXMoJHRyYW5zaXRpb246IGZhbHNlLCAkZm9jdXM6IGZhbHNlKSB7XG4gIEBpZiAkdHJhbnNpdGlvbiA9PSB0cnVlIHtcbiAgICAmLXRyYW5zaXRpb24ge1xuICAgICAgQGluY2x1ZGUgei1kZXB0aC10cmFuc2l0aW9uKCk7XG4gICAgfVxuICB9XG5cbiAgQGlmICRmb2N1cyA9PSB0cnVlIHtcbiAgICAmLWZvY3VzIHtcbiAgICAgIEBpbmNsdWRlIHotZGVwdGgtZm9jdXMoKTtcbiAgICB9XG4gIH1cblxuICAvLyBUaGUgYXZhaWxhYmxlIHZhbHVlcyBmb3IgdGhlIHNoYWRvdyBkZXB0aFxuICBAZWFjaCAkZGVwdGggaW4gMiwgMywgNCwgNiwgOCwgMTYsIDI0IHtcbiAgICAmLSN7JGRlcHRofWRwIHtcbiAgICAgIEBpbmNsdWRlIHotZGVwdGgoJGRlcHRoKTtcbiAgICB9XG4gIH1cbn1cbiIsIi8vLy9cbi8vLyBDb3B5cmlnaHQgKGMpIDIwMTYtMjAyMCBNYXJ0aW4gRG9uYXRoIDxtYXJ0aW4uZG9uYXRoQHNxdWlkZnVuay5jb20+XG4vLy9cbi8vLyBQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYVxuLy8vIGNvcHkgb2YgdGhpcyBzb2Z0d2FyZSBhbmQgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGUgXCJTb2Z0d2FyZVwiKSxcbi8vLyB0byBkZWFsIGluIHRoZSBTb2Z0d2FyZSB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcgd2l0aG91dCBsaW1pdGF0aW9uXG4vLy8gdGhlIHJpZ2h0cyB0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsXG4vLy8gYW5kL29yIHNlbGwgY29waWVzIG9mIHRoZSBTb2Z0d2FyZSwgYW5kIHRvIHBlcm1pdCBwZXJzb25zIHRvIHdob20gdGhlXG4vLy8gU29mdHdhcmUgaXMgZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczpcbi8vL1xuLy8vIFRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIHNoYWxsIGJlIGluY2x1ZGVkIGluXG4vLy8gYWxsIGNvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUgU29mdHdhcmUuXG4vLy9cbi8vLyBUSEUgU09GVFdBUkUgSVMgUFJPVklERUQgXCJBUyBJU1wiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELCBFWFBSRVNTIE9SXG4vLy8gSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFksXG4vLy8gRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTi1JTkZSSU5HRU1FTlQuIElOIE5PIEVWRU5UIFNIQUxMXG4vLy8gVEhFIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkgQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVJcbi8vLyBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULCBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lOR1xuLy8vIEZST00sIE9VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhFIFNPRlRXQVJFIE9SIFRIRSBVU0UgT1IgT1RIRVJcbi8vLyBERUFMSU5HU1xuLy8vL1xuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBWYXJpYWJsZXNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLy8gQWN0aXZlICh0b2dnbGVkKSBkcmF3ZXJcbiRtZC10b2dnbGVfX2RyYXdlci0tY2hlY2tlZDpcbiAgXCJbZGF0YS1tZC10b2dnbGU9XFxcImRyYXdlclxcXCJdOmNoZWNrZWQgflwiO1xuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBSdWxlczogYmFzZSBncmlkIGFuZCBjb250YWluZXJzXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi8vIFN0cmV0Y2ggY29udGFpbmVyIHRvIHZpZXdwb3J0IGFuZCBzZXQgYmFzZSBmb250LXNpemUgdG8gMTBweCBmb3Igc2ltcGxlXG4vLyBjYWxjdWxhdGlvbnMgYmFzZSBvbiByZWxhdGl2ZSBlbXMgKHJlbXMpXG5odG1sIHtcbiAgaGVpZ2h0OiAxMDAlO1xuICAvLyBIYWNrOiBub3JtYWxseSwgd2Ugd291bGQgc2V0IHRoZSBiYXNlIGZvbnQtc2l6ZSB0byA2Mi41JSwgc28gd2UgY2FuIGJhc2VcbiAgLy8gYWxsIGNhbGN1bGF0aW9ucyBvbiAxMHB4LCBidXQgQ2hyb21pdW0gYW5kIENocm9tZSBkZWZpbmUgYSBtaW5pbWFsIGZvbnRcbiAgLy8gc2l6ZSBvZiAxMiBpZiB0aGUgc3lzdGVtIGxhbmd1YWdlIGlzIHNldCB0byBDaGluZXNlLiBGb3IgdGhpcyByZWFzb24gd2VcbiAgLy8ganVzdCBkb3VibGUgdGhlIGZvbnQtc2l6ZSwgc2V0IGl0IHRvIDIwcHggd2hpY2ggc2VlbXMgdG8gZG8gdGhlIHRyaWNrLlxuICAvL1xuICAvLyBTZWUgaHR0cHM6Ly9naXRodWIuY29tL3NxdWlkZnVuay9ta2RvY3MtbWF0ZXJpYWwvaXNzdWVzLzkxMVxuICBmb250LXNpemU6IDEyNSU7XG4gIC8vIEhhY2s6IHNvbWUgYnJvd3NlcnMgb24gc29tZSBvcGVyYXRpbmcgc3lzdGVtcyBkb24ndCBhY2NvdW50IGZvciBzY3JvbGxcbiAgLy8gYmFycyB3aGVuIGZpcmluZyBtZWRpYSBxdWVyaWVzLCBzbyB3ZSBuZWVkIHRvIGRvIHRoaXMgZm9yIHNhZmV0eS4gVGhpc1xuICAvLyBjdXJyZW50bHkgaW1wYWN0cyB0aGUgdGFibGUgb2YgY29udGVudHMgY29tcG9uZW50IGJldHdlZW4gMTIyMCBhbmQgMTIzNHB4XG4gIC8vIGFuZCBpcyB0byBjdXJyZW50IGtub3dsZWRnZSBub3QgZml4YWJsZS5cbiAgb3ZlcmZsb3cteDogaGlkZGVuO1xuXG4gIC8vIFtzY3JlZW4gbWVkaXVtICtdOiBTZXQgYmFzZSBmb250LXNpemUgdG8gMTFweFxuICBAaW5jbHVkZSBicmVhay1mcm9tLWRldmljZShzY3JlZW4gbWVkaXVtKSB7XG4gICAgZm9udC1zaXplOiAxMzcuNTAlO1xuICB9XG5cbiAgLy8gW3NjcmVlbiBsYXJnZSArXTogU2V0IGJhc2UgZm9udC1zaXplIHRvIDEycHhcbiAgQGluY2x1ZGUgYnJlYWstZnJvbS1kZXZpY2Uoc2NyZWVuIGxhcmdlKSB7XG4gICAgZm9udC1zaXplOiAxNTAlO1xuICB9XG59XG5cbi8vIFN0cmV0Y2ggYm9keSB0byBjb250YWluZXIgYW5kIGxlYXZlIHJvb20gZm9yIGZvb3RlclxuYm9keSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgaGVpZ2h0OiAxMDAlO1xuICAvLyBIYWNrOiByZXNldCBmb250LXNpemUgdG8gMTBweCwgc28gdGhlIHNwYWNpbmcgZm9yIGFsbCBpbmxpbmUgZWxlbWVudHMgaXNcbiAgLy8gY29ycmVjdCBhZ2Fpbi4gT3RoZXJ3aXNlIHRoZSBzcGFjaW5nIHdvdWxkIGJlIGJhc2VkIG9uIDIwcHguXG4gIGZvbnQtc2l6ZTogMC41cmVtOyAvLyBzdHlsZWxpbnQtZGlzYWJsZS1saW5lIHVuaXQtd2hpdGVsaXN0XG5cbiAgLy8gW3RhYmxldCBwb3J0cmFpdCAtXTogTG9jayBib2R5IHRvIGRpc2FibGUgc2Nyb2xsIGJ1YmJsaW5nXG4gIEBpbmNsdWRlIGJyZWFrLXRvLWRldmljZSh0YWJsZXQgcG9ydHJhaXQpIHtcblxuICAgIC8vIExvY2sgYm9keSB0byB2aWV3cG9ydCBoZWlnaHQgKGUuZy4gaW4gc2VhcmNoIG1vZGUpXG4gICAgJltkYXRhLW1kLXN0YXRlPVwibG9ja1wiXSB7XG4gICAgICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gICAgICAvLyBIaWRlIGNvbnRhaW5lciBvbiBpT1MsIG9yIHRoZSBib2R5IHdpbGwgbm90IGJlIGxvY2tlZCBjb3JyZWN0bHlcbiAgICAgIC5pb3MgJiAubWQtY29udGFpbmVyIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8gSG9yaXpvbnRhbCBzZXBhcmF0b3JzXG5ociB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBoZWlnaHQ6IHB4MnJlbSgxcHgpO1xuICBwYWRkaW5nOiAwO1xuICBib3JkZXI6IDA7XG59XG5cbi8vIElubGluZSBTVkcgY29udGFpbmVyXG4ubWQtc3ZnIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuLy8gVGVtcGxhdGUtd2lkZSBncmlkXG4ubWQtZ3JpZCB7XG4gIG1heC13aWR0aDogcHgycmVtKDEyMjBweCk7XG4gIG1hcmdpbi1yaWdodDogYXV0bztcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG59XG5cbi8vIFByZXZlbnQgY29sbGFwc2Ugb2YgbWFyZ2luIHdoZW4gc2V0dGluZyBtYXJnaW4gb24gY2hpbGQgZWxlbWVudFxuLm1kLWNvbnRhaW5lcixcbi5tZC1tYWluIHtcbiAgb3ZlcmZsb3c6IGF1dG87XG59XG5cbi8vIENvbnRlbnQgd3JhcHBlciAtIHVzZSBkaXNwbGF5OiB0YWJsZSB0byBtYWtlIHZhcmlhYmxlLWhlaWdodCBzdGlja3kgZm9vdGVyc1xuLy8gd29yayBhbmQgZml4ZWQgdGFibGUtbGF5b3V0IGZvciBJRSwgc2VlIGh0dHA6Ly9iaXQubHkvMmhab2hYTFxuLm1kLWNvbnRhaW5lciB7XG4gIGRpc3BsYXk6IHRhYmxlO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBwYWRkaW5nLXRvcDogcHgycmVtKDQ4cHgpO1xuICB0YWJsZS1sYXlvdXQ6IGZpeGVkO1xufVxuXG4vLyBUaGUgbWFpbiBjb250ZW50IHNob3VsZCBzdHJldGNoIHRvIG1heGltdW0gaGVpZ2h0IGluIHRoZSB0YWJsZVxuLm1kLW1haW4ge1xuICBkaXNwbGF5OiB0YWJsZS1yb3c7XG4gIGhlaWdodDogMTAwJTtcblxuICAvLyBJbmNyZWFzZSB0b3Agc3BhY2luZyBvZiBjb250ZW50IGFyZWEgdG8gZ2l2ZSB0eXBvZ3JhcGh5IG1vcmUgcm9vbVxuICAmX19pbm5lciB7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIHBhZGRpbmctdG9wOiBweDJyZW0oMjRweCArIDZweCk7XG4gICAgLy8gSGFjazogaW5kdWNlIG1hcmdpbi1jb2xsYXBzZSwgYmVjYXVzZSBvdGhlcndpc2UgdGhlIHNpZGViYXIgaGVpZ2h0IGlzXG4gICAgLy8gbm90IGNhbGN1bGF0ZWQgY29ycmVjdGx5IGFuZCB0aGUgb3ZlcmZsb3cgcHJvcGVydHkgb24gdGhpcyBlbGVtZW50IG11c3RcbiAgICAvLyBiZSBsZWZ0IGluIGluaXRpYWwgc3RhdGUgZm9yIHRhcmdldHRlZCBsaW5rIG9mZnNldHMgdG8gd29yayBwcm9wZXJseVxuICAgIHBhZGRpbmctYm90dG9tOiBweDJyZW0oMXB4KTtcbiAgfVxufVxuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBSdWxlczogbmF2aWdhdGlvbmFsIGVsZW1lbnRzXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi8vIFRvZ2dsZSBjaGVja2JveFxuLm1kLXRvZ2dsZSB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi8vIE92ZXJsYXkgYmVsb3cgZXhwYW5kZWQgZHJhd2VyXG4ubWQtb3ZlcmxheSB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgdG9wOiAwO1xuICB3aWR0aDogMDtcbiAgaGVpZ2h0OiAwO1xuICB0cmFuc2l0aW9uOlxuICAgIHdpZHRoICAgMHMgMC4yNXMsXG4gICAgaGVpZ2h0ICAwcyAwLjI1cyxcbiAgICBvcGFjaXR5IDAuMjVzO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkbWQtY29sb3ItYmxhY2stLWxpZ2h0O1xuICBvcGFjaXR5OiAwO1xuICB6LWluZGV4OiAzO1xuXG4gIC8vIFt0YWJsZXQgLV06IFRyaWdnZXIgb3ZlcmxheVxuICBAaW5jbHVkZSBicmVhay10by1kZXZpY2UodGFibGV0KSB7XG5cbiAgICAvLyBFeHBhbmRlZCBkcmF3ZXJcbiAgICAjeyRtZC10b2dnbGVfX2RyYXdlci0tY2hlY2tlZH0gJiB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIHRyYW5zaXRpb246XG4gICAgICAgIHdpZHRoICAgMHMsXG4gICAgICAgIGhlaWdodCAgMHMsXG4gICAgICAgIG9wYWNpdHkgMC4yNXM7XG4gICAgICBvcGFjaXR5OiAxO1xuICAgIH1cbiAgfVxufVxuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBSdWxlczogZmxleGlibGUgZWxlbWVudHMsIGltcGxlbWVudGVkIHdpdGggdGFibGUgbGF5b3V0XG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi8vIEZsZXhpYmxlIGxheW91dCBjb250YWluZXJcbi5tZC1mbGV4IHtcbiAgZGlzcGxheTogdGFibGU7XG5cbiAgLy8gRmxleGlibGUgbGF5b3V0IGNvbnRhaW5lciBjZWxsL2VsZW1lbnRcbiAgJl9fY2VsbCB7XG4gICAgZGlzcGxheTogdGFibGUtY2VsbDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdmVydGljYWwtYWxpZ246IHRvcDtcblxuICAgIC8vIFNocmluayB0byBtaW5pbXVtIHdpZHRoXG4gICAgJi0tc2hyaW5rIHtcbiAgICAgIHdpZHRoOiAwJTtcbiAgICB9XG5cbiAgICAvLyBTdHJldGNoIHRvIG1heGltdW0gd2lkdGhcbiAgICAmLS1zdHJldGNoIHtcbiAgICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICB0YWJsZS1sYXlvdXQ6IGZpeGVkO1xuICAgIH1cbiAgfVxuXG4gIC8vIEFwcGx5IGVsbGlwc2lzIGluIGNhc2Ugb2Ygb3ZlcmZsb3dpbmcgdGV4dFxuICAmX19lbGxpcHNpcyB7XG4gICAgZGlzcGxheTogdGFibGUtY2VsbDtcbiAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gIH1cbn1cblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gUnVsZXM6IHNraXAgbGlua1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4vLyBTa2lwIGxpbmtcbi5tZC1za2lwIHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB3aWR0aDogcHgycmVtKDFweCk7XG4gIGhlaWdodDogcHgycmVtKDFweCk7XG4gIG1hcmdpbjogcHgycmVtKDEwcHgpO1xuICBwYWRkaW5nOiBweDJyZW0oNnB4KSBweDJyZW0oMTBweCk7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWShweDJyZW0oOHB4KSk7XG4gIGJvcmRlci1yYWRpdXM6IHB4MnJlbSgycHgpO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkbWQtY29sb3ItYmxhY2s7XG4gIGNvbG9yOiAkbWQtY29sb3Itd2hpdGU7XG4gIGZvbnQtc2l6ZTogbXMoLTEpO1xuICBvcGFjaXR5OiAwO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gIC8vIFNob3cgc2tpcCBsaW5rIG9uIGZvY3VzXG4gICY6Zm9jdXMge1xuICAgIHdpZHRoOiBhdXRvO1xuICAgIGhlaWdodDogYXV0bztcbiAgICBjbGlwOiBhdXRvO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcbiAgICB0cmFuc2l0aW9uOlxuICAgICAgdHJhbnNmb3JtIDAuMjVzIGN1YmljLWJlemllcigwLjQsIDAsIDAuMiwgMSksXG4gICAgICBvcGFjaXR5ICAgMC4xNzVzIDAuMDc1cztcbiAgICBvcGFjaXR5OiAxO1xuICAgIHotaW5kZXg6IDEwO1xuICB9XG59XG5cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIFJ1bGVzOiBwcmludCBzdHlsZXNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLy8gQWRkIG1hcmdpbnMgdG8gcGFnZVxuQHBhZ2Uge1xuICBtYXJnaW46IDI1bW07XG59XG4iLCIvLy8vXG4vLy8gQ29weXJpZ2h0IChjKSAyMDE2LTIwMjAgTWFydGluIERvbmF0aCA8bWFydGluLmRvbmF0aEBzcXVpZGZ1bmsuY29tPlxuLy8vXG4vLy8gUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0YWluaW5nIGFcbi8vLyBjb3B5IG9mIHRoaXMgc29mdHdhcmUgYW5kIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlIFwiU29mdHdhcmVcIiksXG4vLy8gdG8gZGVhbCBpbiB0aGUgU29mdHdhcmUgd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nIHdpdGhvdXQgbGltaXRhdGlvblxuLy8vIHRoZSByaWdodHMgdG8gdXNlLCBjb3B5LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNoLCBkaXN0cmlidXRlLCBzdWJsaWNlbnNlLFxuLy8vIGFuZC9vciBzZWxsIGNvcGllcyBvZiB0aGUgU29mdHdhcmUsIGFuZCB0byBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZVxuLy8vIFNvZnR3YXJlIGlzIGZ1cm5pc2hlZCB0byBkbyBzbywgc3ViamVjdCB0byB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6XG4vLy9cbi8vLyBUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBiZSBpbmNsdWRlZCBpblxuLy8vIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIFNvZnR3YXJlLlxuLy8vXG4vLy8gVEhFIFNPRlRXQVJFIElTIFBST1ZJREVEIFwiQVMgSVNcIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwgRVhQUkVTUyBPUlxuLy8vIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZLFxuLy8vIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT04tSU5GUklOR0VNRU5ULiBJTiBOTyBFVkVOVCBTSEFMTFxuLy8vIFRIRSBBVVRIT1JTIE9SIENPUFlSSUdIVCBIT0xERVJTIEJFIExJQUJMRSBGT1IgQU5ZIENMQUlNLCBEQU1BR0VTIE9SIE9USEVSXG4vLy8gTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkdcbi8vLyBGUk9NLCBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRSBTT0ZUV0FSRSBPUiBUSEUgVVNFIE9SIE9USEVSXG4vLy8gREVBTElOR1Ncbi8vLy9cblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gUnVsZXNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLy8gQ29weSB0byBjbGlwYm9hcmRcbi5tZC1jbGlwYm9hcmQge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogcHgycmVtKDZweCk7XG4gIHJpZ2h0OiBweDJyZW0oNnB4KTtcbiAgd2lkdGg6IHB4MnJlbSgyOHB4KTtcbiAgaGVpZ2h0OiBweDJyZW0oMjhweCk7XG4gIGJvcmRlci1yYWRpdXM6IHB4MnJlbSgycHgpO1xuICBmb250LXNpemU6IHB4MnJlbSgxNnB4KTtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICB6LWluZGV4OiAxO1xuICAvLyBIYWNrOiBwdXQgZXZlcnl0aGluZyBvbiB0aGUgR1BVIHRvIG9taXQgZmxpY2tlcmluZ1xuICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG5cbiAgLy8gSGlkZSBmb3IgcHJpbnRcbiAgQG1lZGlhIHByaW50IHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG5cbiAgLy8gSWNvblxuICAmOjpiZWZvcmUge1xuICAgIEBleHRlbmQgJW1kLWljb247XG5cbiAgICB0cmFuc2l0aW9uOlxuICAgICAgY29sb3IgICAwLjI1cyxcbiAgICAgIG9wYWNpdHkgMC4yNXM7XG4gICAgY29sb3I6ICRtZC1jb2xvci1ibGFjay0tbGlnaHRlc3Q7XG4gICAgY29udGVudDogXCJcXEUxNERcIjsgLy8gY29udGVudF9jb3B5XG5cbiAgICAvLyBTaG93IG9uIGNvbnRhaW5lciBob3ZlclxuICAgIHByZTpob3ZlciAmLFxuICAgIC5jb2RlaGlsaXRlOmhvdmVyICYge1xuICAgICAgY29sb3I6ICRtZC1jb2xvci1ibGFjay0tbGlnaHQ7XG4gICAgfVxuICB9XG5cbiAgLy8gRm9jdXNlZCBvciBob3ZlcmVkIGljb25cbiAgJjpmb2N1czo6YmVmb3JlLFxuICAmOmhvdmVyOjpiZWZvcmUge1xuICAgIGNvbG9yOiAkbWQtY29sb3ItYWNjZW50O1xuICB9XG5cbiAgLy8gTWVzc2FnZVxuICAmX19tZXNzYWdlIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIHJpZ2h0OiBweDJyZW0oMzRweCk7XG4gICAgcGFkZGluZzogcHgycmVtKDZweCkgcHgycmVtKDEwcHgpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWChweDJyZW0oOHB4KSk7XG4gICAgdHJhbnNpdGlvbjpcbiAgICAgIHRyYW5zZm9ybSAwLjI1cyBjdWJpYy1iZXppZXIoMC45LCAwLjEsIDAuOSwgMCksXG4gICAgICBvcGFjaXR5ICAgMC4xNzVzO1xuICAgIGJvcmRlci1yYWRpdXM6IHB4MnJlbSgycHgpO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRtZC1jb2xvci1ibGFjay0tbGlnaHQ7XG4gICAgY29sb3I6ICRtZC1jb2xvci13aGl0ZTtcbiAgICBmb250LXNpemU6IG1zKC0xKTtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIG9wYWNpdHk6IDA7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG5cbiAgICAvLyBBY3RpdmUgbWVzc2FnZVxuICAgICYtLWFjdGl2ZSB7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XG4gICAgICB0cmFuc2l0aW9uOlxuICAgICAgICB0cmFuc2Zvcm0gMC4yNXMgY3ViaWMtYmV6aWVyKDAuNCwgMCwgMC4yLCAxKSxcbiAgICAgICAgb3BhY2l0eSAgIDAuMTc1cyAwLjA3NXM7XG4gICAgICBvcGFjaXR5OiAxO1xuICAgICAgcG9pbnRlci1ldmVudHM6IGluaXRpYWw7XG4gICAgfVxuXG4gICAgLy8gSW5qZWN0IGNvbnRlbnQgZnJvbSBBUklBIGxhYmVsXG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6IGF0dHIoYXJpYS1sYWJlbCk7XG4gICAgfVxuXG4gICAgLy8gUGFpbnQgYSBuaWNlIHNwZWVjaCBidWJibGVcbiAgICAmOjphZnRlciB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogNTAlO1xuICAgICAgcmlnaHQ6IHB4MnJlbSgtNHB4KTtcbiAgICAgIHdpZHRoOiAwO1xuICAgICAgbWFyZ2luLXRvcDogcHgycmVtKC00cHgpO1xuICAgICAgYm9yZGVyLXdpZHRoOiBweDJyZW0oNHB4KSAwIHB4MnJlbSg0cHgpIHB4MnJlbSg0cHgpO1xuICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgJG1kLWNvbG9yLWJsYWNrLS1saWdodDtcbiAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgfVxuICB9XG59XG4iLCIvLy8vXG4vLy8gQ29weXJpZ2h0IChjKSAyMDE2LTIwMjAgTWFydGluIERvbmF0aCA8bWFydGluLmRvbmF0aEBzcXVpZGZ1bmsuY29tPlxuLy8vXG4vLy8gUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0YWluaW5nIGFcbi8vLyBjb3B5IG9mIHRoaXMgc29mdHdhcmUgYW5kIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlIFwiU29mdHdhcmVcIiksXG4vLy8gdG8gZGVhbCBpbiB0aGUgU29mdHdhcmUgd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nIHdpdGhvdXQgbGltaXRhdGlvblxuLy8vIHRoZSByaWdodHMgdG8gdXNlLCBjb3B5LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNoLCBkaXN0cmlidXRlLCBzdWJsaWNlbnNlLFxuLy8vIGFuZC9vciBzZWxsIGNvcGllcyBvZiB0aGUgU29mdHdhcmUsIGFuZCB0byBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZVxuLy8vIFNvZnR3YXJlIGlzIGZ1cm5pc2hlZCB0byBkbyBzbywgc3ViamVjdCB0byB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6XG4vLy9cbi8vLyBUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBiZSBpbmNsdWRlZCBpblxuLy8vIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIFNvZnR3YXJlLlxuLy8vXG4vLy8gVEhFIFNPRlRXQVJFIElTIFBST1ZJREVEIFwiQVMgSVNcIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwgRVhQUkVTUyBPUlxuLy8vIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZLFxuLy8vIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT04tSU5GUklOR0VNRU5ULiBJTiBOTyBFVkVOVCBTSEFMTFxuLy8vIFRIRSBBVVRIT1JTIE9SIENPUFlSSUdIVCBIT0xERVJTIEJFIExJQUJMRSBGT1IgQU5ZIENMQUlNLCBEQU1BR0VTIE9SIE9USEVSXG4vLy8gTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkdcbi8vLyBGUk9NLCBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRSBTT0ZUV0FSRSBPUiBUSEUgVVNFIE9SIE9USEVSXG4vLy8gREVBTElOR1Ncbi8vLy9cblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gUnVsZXNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLy8gQ29udGVudCBjb250YWluZXJcbi5tZC1jb250ZW50IHtcblxuICAvLyBbdGFibGV0IGxhbmRzY2FwZSArXTogQWRkIHNwYWNlIGZvciB0YWJsZSBvZiBjb250ZW50c1xuICBAaW5jbHVkZSBicmVhay1mcm9tLWRldmljZSh0YWJsZXQgbGFuZHNjYXBlKSB7XG4gICAgbWFyZ2luLXJpZ2h0OiBweDJyZW0oMjQycHgpO1xuXG4gICAgLy8gQWRqdXN0IGZvciBSVEwgbGFuZ3VhZ2VzXG4gICAgW2Rpcj1cInJ0bFwiXSAmIHtcbiAgICAgIG1hcmdpbi1yaWdodDogaW5pdGlhbDtcbiAgICAgIG1hcmdpbi1sZWZ0OiBweDJyZW0oMjQycHgpO1xuICAgIH1cbiAgfVxuXG4gIC8vIFtzY3JlZW4gK106IEFkZCBzcGFjZSBmb3IgdGFibGUgb2YgY29udGVudHNcbiAgQGluY2x1ZGUgYnJlYWstZnJvbS1kZXZpY2Uoc2NyZWVuKSB7XG4gICAgbWFyZ2luLWxlZnQ6IHB4MnJlbSgyNDJweCk7XG5cbiAgICAvLyBBZGp1c3QgZm9yIFJUTCBsYW5ndWFnZXNcbiAgICBbZGlyPVwicnRsXCJdICYge1xuICAgICAgbWFyZ2luLXJpZ2h0OiBweDJyZW0oMjQycHgpO1xuICAgIH1cbiAgfVxuXG4gIC8vIERlZmluZSBzcGFjaW5nXG4gICZfX2lubmVyIHtcbiAgICBtYXJnaW46IDAgcHgycmVtKDE2cHgpIHB4MnJlbSgyNHB4KTtcbiAgICBwYWRkaW5nLXRvcDogcHgycmVtKDEycHgpO1xuXG4gICAgLy8gW3NjcmVlbiArXTogSW5jcmVhc2UgaG9yaXpvbnRhbCBzcGFjaW5nXG4gICAgQGluY2x1ZGUgYnJlYWstZnJvbS1kZXZpY2Uoc2NyZWVuKSB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IHB4MnJlbSgyNHB4KTtcbiAgICAgIG1hcmdpbi1sZWZ0OiBweDJyZW0oMjRweCk7XG4gICAgfVxuXG4gICAgLy8gSGFjazogYWRkIHBzZXVkbyBlbGVtZW50IGZvciBzcGFjaW5nLCBhcyB0aGUgb3ZlcmZsb3cgb2YgdGhlIGNvbnRlbnRcbiAgICAvLyBjb250YWluZXIgbWF5IG5vdCBiZSBoaWRkZW4gZHVlIHRvIGFuIGltbWluZW50IG9mZnNldCBlcnJvciBvbiB0YXJnZXRzXG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgaGVpZ2h0OiBweDJyZW0oOHB4KTtcbiAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgfVxuXG4gICAgLy8gSGFjazogcmVtb3ZlIGJvdHRvbSBzcGFjaW5nIG9mIGxhc3QgZWxlbWVudCwgZHVlIHRvIG1hcmdpbiBjb2xsYXBzZVxuICAgID4gOmxhc3QtY2hpbGQge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICB9XG4gIH1cblxuICAvLyBJY29uc1xuICAmX19pY29uIHtcbiAgICBAZXh0ZW5kICVtZC1pY29uX19idXR0b247XG5cbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbWFyZ2luOiBweDJyZW0oOHB4KSAwO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgZmxvYXQ6IHJpZ2h0O1xuXG4gICAgLy8gT3ZlcnJpZGUgZGVmYXVsdCBsaW5rIGNvbG9yIGZvciBpY29uc1xuICAgIC5tZC10eXBlc2V0ICYge1xuICAgICAgY29sb3I6ICRtZC1jb2xvci1ibGFjay0tbGlnaHRlcjtcbiAgICB9XG5cbiAgICAvLyBIaWRlIGZvciBwcmludFxuICAgIEBtZWRpYSBwcmludCB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgfVxufVxuIiwiLy8vL1xuLy8vIENvcHlyaWdodCAoYykgMjAxNi0yMDIwIE1hcnRpbiBEb25hdGggPG1hcnRpbi5kb25hdGhAc3F1aWRmdW5rLmNvbT5cbi8vL1xuLy8vIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBhXG4vLy8gY29weSBvZiB0aGlzIHNvZnR3YXJlIGFuZCBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZSBcIlNvZnR3YXJlXCIpLFxuLy8vIHRvIGRlYWwgaW4gdGhlIFNvZnR3YXJlIHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1ZGluZyB3aXRob3V0IGxpbWl0YXRpb25cbi8vLyB0aGUgcmlnaHRzIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwgZGlzdHJpYnV0ZSwgc3VibGljZW5zZSxcbi8vLyBhbmQvb3Igc2VsbCBjb3BpZXMgb2YgdGhlIFNvZnR3YXJlLCBhbmQgdG8gcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGVcbi8vLyBTb2Z0d2FyZSBpcyBmdXJuaXNoZWQgdG8gZG8gc28sIHN1YmplY3QgdG8gdGhlIGZvbGxvd2luZyBjb25kaXRpb25zOlxuLy8vXG4vLy8gVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWQgaW5cbi8vLyBhbGwgY29waWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25zIG9mIHRoZSBTb2Z0d2FyZS5cbi8vL1xuLy8vIFRIRSBTT0ZUV0FSRSBJUyBQUk9WSURFRCBcIkFTIElTXCIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsIEVYUFJFU1MgT1Jcbi8vLyBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSxcbi8vLyBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OLUlORlJJTkdFTUVOVC4gSU4gTk8gRVZFTlQgU0hBTExcbi8vLyBUSEUgQVVUSE9SUyBPUiBDT1BZUklHSFQgSE9MREVSUyBCRSBMSUFCTEUgRk9SIEFOWSBDTEFJTSwgREFNQUdFUyBPUiBPVEhFUlxuLy8vIExJQUJJTElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HXG4vLy8gRlJPTSwgT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUlxuLy8vIERFQUxJTkdTXG4vLy8vXG5cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIFJ1bGVzXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi8vIEFwcGxpY2F0aW9uIGhlYWRlciAoc3RheXMgYWx3YXlzIG9uIHRvcClcbi5tZC1oZWFkZXIge1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHRvcDogMDtcbiAgcmlnaHQ6IDA7XG4gIGxlZnQ6IDA7XG4gIGhlaWdodDogcHgycmVtKDQ4cHgpO1xuICB0cmFuc2l0aW9uOlxuICAgIGJhY2tncm91bmQtY29sb3IgMC4yNXMsXG4gICAgY29sb3IgMC4yNXM7XG4gIGJhY2tncm91bmQtY29sb3I6ICRtZC1jb2xvci1wcmltYXJ5O1xuICBjb2xvcjogJG1kLWNvbG9yLXdoaXRlO1xuICBib3gtc2hhZG93OiBub25lO1xuICB6LWluZGV4OiAyO1xuICAvLyBIYWNrOiBwdXR0aW5nIHRoZSBoZWFkZXIgb24gdGhlIEdQVSBhdm9pZHMgdW5uZWNlc3NhcnkgcmVwYWludHNcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuXG4gIC8vIEFsd2F5cyBzaG93IHNoYWRvdywgaW4gY2FzZSBKYXZhU2NyaXB0IGlzIG5vdCBhdmFpbGFibGVcbiAgLm5vLWpzICYge1xuICAgIHRyYW5zaXRpb246IG5vbmU7XG4gICAgYm94LXNoYWRvdzogbm9uZTtcbiAgfVxuXG4gIC8vIFNob3cgYW5kIGFuaW1hdGUgc2hhZG93XG4gICZbZGF0YS1tZC1zdGF0ZT1cInNoYWRvd1wiXSB7XG4gICAgdHJhbnNpdGlvbjpcbiAgICAgIGJhY2tncm91bmQtY29sb3IgMC4yNXMsXG4gICAgICBjb2xvciAwLjI1cyxcbiAgICAgIGJveC1zaGFkb3cgMC4yNXM7XG4gICAgYm94LXNoYWRvdzpcbiAgICAgIDAgMCAgICAgICAgICAgcHgycmVtKDRweCkgcmdiYSgwLCAwLCAwLCAwLjEpLFxuICAgICAgMCBweDJyZW0oNHB4KSBweDJyZW0oOHB4KSByZ2JhKDAsIDAsIDAsIDAuMik7XG4gIH1cblxuICAvLyBIaWRlIGZvciBwcmludFxuICBAbWVkaWEgcHJpbnQge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cblxuLy8gTmF2aWdhdGlvbiB3aXRoaW4gaGVhZGVyXG4ubWQtaGVhZGVyLW5hdiB7XG4gIHBhZGRpbmc6IDAgcHgycmVtKDRweCk7XG5cbiAgLy8gSWNvbiBidXR0b25zXG4gICZfX2J1dHRvbiB7XG4gICAgQGV4dGVuZCAlbWQtaWNvbl9fYnV0dG9uO1xuXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC4yNXM7XG4gICAgei1pbmRleDogMTtcblxuICAgIC8vIEhvdmVyZWQgaWNvblxuICAgICY6aG92ZXIge1xuICAgICAgb3BhY2l0eTogMC43O1xuICAgIH1cblxuICAgIC8vIFNldCBjb3JyZWN0IGRpc3BsYXkgb24gaW1hZ2Ugb3IgaWNvblxuICAgICYubWQtbG9nbyAqIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cblxuICAgIC8vIEhpZGUgc2VhcmNoIGljb24sIGlmIEphdmFTY3JpcHQgaXMgbm90IGF2YWlsYWJsZS5cbiAgICAubm8tanMgJi5tZC1pY29uLS1zZWFyY2gge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG5cbiAgICAvLyBbdGFibGV0IGxhbmRzY2FwZSArXTogSGlkZSB0aGUgc2VhcmNoIGljb25cbiAgICBAaW5jbHVkZSBicmVhay1mcm9tLWRldmljZSh0YWJsZXQgbGFuZHNjYXBlKSB7XG5cbiAgICAgIC8vIFNlYXJjaCBpY29uXG4gICAgICAmLm1kLWljb24tLXNlYXJjaCB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gW3RhYmxldCAtXTogSGlkZSB0aGUgaG9tZSBpY29uIG9yIGxvZ29cbiAgICBAaW5jbHVkZSBicmVhay10by1kZXZpY2UodGFibGV0KSB7XG5cbiAgICAgIC8vIEhvbWUgaWNvbiBvciBsb2dvXG4gICAgICAmLm1kLWljb24tLWhvbWUsXG4gICAgICAmLm1kLWxvZ28ge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIFtzY3JlZW4gK106IEhpZGUgdGhlIG1lbnUgaWNvblxuICAgIEBpbmNsdWRlIGJyZWFrLWZyb20tZGV2aWNlKHNjcmVlbikge1xuXG4gICAgICAvLyBNZW51IGljb25cbiAgICAgICYubWQtaWNvbi0tbWVudSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gSGVhZGVyIHRvcGljc1xuICAmX190b3BpYyB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRyYW5zaXRpb246XG4gICAgICB0cmFuc2Zvcm0gMC40cyBjdWJpYy1iZXppZXIoMC4xLCAwLjcsIDAuMSwgMSksXG4gICAgICBvcGFjaXR5ICAgMC4xNXM7XG4gICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gICAgLy8gUGFnZSB0aXRsZVxuICAgICYgKyAmIHtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWChweDJyZW0oMjVweCkpO1xuICAgICAgdHJhbnNpdGlvbjpcbiAgICAgICAgdHJhbnNmb3JtIDAuNHMgY3ViaWMtYmV6aWVyKDEsIDAuNywgMC4xLCAwLjEpLFxuICAgICAgICBvcGFjaXR5ICAgMC4xNXM7XG4gICAgICBvcGFjaXR5OiAwO1xuICAgICAgei1pbmRleDogLTE7XG4gICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcblxuICAgICAgLy8gQWRqdXN0IGZvciBSVEwgbGFuZ3VhZ2VzXG4gICAgICBbZGlyPVwicnRsXCJdICYge1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgocHgycmVtKC0yNXB4KSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gSW5kdWNlIGVsbGlwc2lzLCBpZiBubyBKYXZhU2NyaXB0IGlzIGF2YWlsYWJsZVxuICAgIC5uby1qcyAmIHtcbiAgICAgIHBvc2l0aW9uOiBpbml0aWFsO1xuICAgIH1cblxuICAgIC8vIEhpZGUgcGFnZSB0aXRsZSBhcyBpdCBpcyBpbnZpc2libGUgYW55d2F5IGFuZCB3aWxsIG92ZXJmbG93IHRoZSBoZWFkZXJcbiAgICAubm8tanMgJiArICYge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gIH1cblxuICAvLyBIZWFkZXIgdGl0bGUgLSBzZXQgbGluZSBoZWlnaHQgdG8gbWF0Y2ggaWNvbiBmb3IgY29ycmVjdCBhbGlnbm1lbnRcbiAgJl9fdGl0bGUge1xuICAgIHBhZGRpbmc6IDAgcHgycmVtKDIwcHgpO1xuICAgIGZvbnQtc2l6ZTogcHgycmVtKDE4cHgpO1xuICAgIGxpbmUtaGVpZ2h0OiBweDJyZW0oNDhweCk7XG5cbiAgICAvLyBTaG93IHBhZ2UgdGl0bGVcbiAgICAmW2RhdGEtbWQtc3RhdGU9XCJhY3RpdmVcIl0gLm1kLWhlYWRlci1uYXZfX3RvcGljIHtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWChweDJyZW0oLTI1cHgpKTtcbiAgICAgIHRyYW5zaXRpb246XG4gICAgICAgIHRyYW5zZm9ybSAwLjRzIGN1YmljLWJlemllcigxLCAwLjcsIDAuMSwgMC4xKSxcbiAgICAgICAgb3BhY2l0eSAgIDAuMTVzO1xuICAgICAgb3BhY2l0eTogMDtcbiAgICAgIHotaW5kZXg6IC0xO1xuICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG5cbiAgICAgIC8vIEFkanVzdCBmb3IgUlRMIGxhbmd1YWdlc1xuICAgICAgW2Rpcj1cInJ0bFwiXSAmIHtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKHB4MnJlbSgyNXB4KSk7XG4gICAgICB9XG5cbiAgICAgIC8vIFBhZ2UgdGl0bGVcbiAgICAgICYgKyAubWQtaGVhZGVyLW5hdl9fdG9waWMge1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XG4gICAgICAgIHRyYW5zaXRpb246XG4gICAgICAgICAgdHJhbnNmb3JtIDAuNHMgY3ViaWMtYmV6aWVyKDAuMSwgMC43LCAwLjEsIDEpLFxuICAgICAgICAgIG9wYWNpdHkgICAwLjE1cztcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgei1pbmRleDogMDtcbiAgICAgICAgcG9pbnRlci1ldmVudHM6IGluaXRpYWw7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gUmVwb3NpdG9yeSBjb250YWluaW5nIHNvdXJjZVxuICAmX19zb3VyY2Uge1xuICAgIGRpc3BsYXk6IG5vbmU7XG5cbiAgICAvLyBbdGFibGV0IGxhbmRzY2FwZSArXTogU2hvdyB0aGUgcmVwb3Npc3RvcnkgZnJvbSB0YWJsZXRcbiAgICBAaW5jbHVkZSBicmVhay1mcm9tLWRldmljZSh0YWJsZXQgbGFuZHNjYXBlKSB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHdpZHRoOiBweDJyZW0oMjM0cHgpO1xuICAgICAgbWF4LXdpZHRoOiBweDJyZW0oMjM0cHgpO1xuICAgICAgcGFkZGluZy1yaWdodDogcHgycmVtKDEycHgpO1xuXG4gICAgICAvLyBBZGp1c3QgZm9yIFJUTCBsYW5ndWFnZXNcbiAgICAgIFtkaXI9XCJydGxcIl0gJiB7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IGluaXRpYWw7XG4gICAgICAgIHBhZGRpbmctbGVmdDogcHgycmVtKDEycHgpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8vL1xuLy8vIENvcHlyaWdodCAoYykgMjAxNi0yMDIwIE1hcnRpbiBEb25hdGggPG1hcnRpbi5kb25hdGhAc3F1aWRmdW5rLmNvbT5cbi8vL1xuLy8vIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBhXG4vLy8gY29weSBvZiB0aGlzIHNvZnR3YXJlIGFuZCBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZSBcIlNvZnR3YXJlXCIpLFxuLy8vIHRvIGRlYWwgaW4gdGhlIFNvZnR3YXJlIHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1ZGluZyB3aXRob3V0IGxpbWl0YXRpb25cbi8vLyB0aGUgcmlnaHRzIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwgZGlzdHJpYnV0ZSwgc3VibGljZW5zZSxcbi8vLyBhbmQvb3Igc2VsbCBjb3BpZXMgb2YgdGhlIFNvZnR3YXJlLCBhbmQgdG8gcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGVcbi8vLyBTb2Z0d2FyZSBpcyBmdXJuaXNoZWQgdG8gZG8gc28sIHN1YmplY3QgdG8gdGhlIGZvbGxvd2luZyBjb25kaXRpb25zOlxuLy8vXG4vLy8gVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWQgaW5cbi8vLyBhbGwgY29waWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25zIG9mIHRoZSBTb2Z0d2FyZS5cbi8vL1xuLy8vIFRIRSBTT0ZUV0FSRSBJUyBQUk9WSURFRCBcIkFTIElTXCIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsIEVYUFJFU1MgT1Jcbi8vLyBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSxcbi8vLyBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OLUlORlJJTkdFTUVOVC4gSU4gTk8gRVZFTlQgU0hBTExcbi8vLyBUSEUgQVVUSE9SUyBPUiBDT1BZUklHSFQgSE9MREVSUyBCRSBMSUFCTEUgRk9SIEFOWSBDTEFJTSwgREFNQUdFUyBPUiBPVEhFUlxuLy8vIExJQUJJTElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HXG4vLy8gRlJPTSwgT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUlxuLy8vIERFQUxJTkdTXG4vLy8vXG5cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIFJ1bGVzXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi8vIEhlcm8gdGVhc2VyXG4ubWQtaGVybyB7XG4gIHRyYW5zaXRpb246IGJhY2tncm91bmQgMC4yNXM7XG4gIGJhY2tncm91bmQtY29sb3I6ICRtZC1jb2xvci1wcmltYXJ5O1xuICBjb2xvcjogJG1kLWNvbG9yLXdoaXRlO1xuICBmb250LXNpemU6IG1zKDEpO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gIC8vIElubmVyIHdyYXBwZXJcbiAgJl9faW5uZXIge1xuICAgIG1hcmdpbi10b3A6IHB4MnJlbSgyMHB4KTtcbiAgICBwYWRkaW5nOiBweDJyZW0oMTZweCkgcHgycmVtKDE2cHgpIHB4MnJlbSg4cHgpO1xuICAgIHRyYW5zaXRpb246XG4gICAgICB0cmFuc2Zvcm0gMC40cyBjdWJpYy1iZXppZXIoMC4xLCAwLjcsIDAuMSwgMSksXG4gICAgICBvcGFjaXR5ICAgMC4yNXM7XG4gICAgdHJhbnNpdGlvbi1kZWxheTogMC4xcztcblxuICAgIC8vIFt0YWJsZXQgLV06IENvbXBlbnNhdGUgZm9yIG1pc3NpbmcgdGFic1xuICAgIEBpbmNsdWRlIGJyZWFrLXRvLWRldmljZSh0YWJsZXQpIHtcbiAgICAgIG1hcmdpbi10b3A6IHB4MnJlbSg0OHB4KTtcbiAgICAgIG1hcmdpbi1ib3R0b206IHB4MnJlbSgyNHB4KTtcbiAgICB9XG5cbiAgICAvLyBGYWRlLW91dCB0YWJzIGJhY2tncm91bmQgdXBvbiBzY3JvbGxpbmdcbiAgICBbZGF0YS1tZC1zdGF0ZT1cImhpZGRlblwiXSAmIHtcbiAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKHB4MnJlbSgxMi41cHgpKTtcbiAgICAgIHRyYW5zaXRpb246XG4gICAgICAgIHRyYW5zZm9ybSAwcyAgIDAuNHMsXG4gICAgICAgIG9wYWNpdHkgICAwLjFzIDBzO1xuICAgICAgb3BhY2l0eTogMDtcbiAgICB9XG5cbiAgICAvLyBBZGp1c3QgYm90dG9tIHNwYWNpbmcgaWYgdGhlcmUgYXJlIG5vIHRhYnNcbiAgICAubWQtaGVyby0tZXhwYW5kICYge1xuICAgICAgbWFyZ2luLWJvdHRvbTogcHgycmVtKDI0cHgpO1xuICAgIH1cbiAgfVxufVxuIiwiLy8vL1xuLy8vIENvcHlyaWdodCAoYykgMjAxNi0yMDIwIE1hcnRpbiBEb25hdGggPG1hcnRpbi5kb25hdGhAc3F1aWRmdW5rLmNvbT5cbi8vL1xuLy8vIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBhXG4vLy8gY29weSBvZiB0aGlzIHNvZnR3YXJlIGFuZCBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZSBcIlNvZnR3YXJlXCIpLFxuLy8vIHRvIGRlYWwgaW4gdGhlIFNvZnR3YXJlIHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1ZGluZyB3aXRob3V0IGxpbWl0YXRpb25cbi8vLyB0aGUgcmlnaHRzIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwgZGlzdHJpYnV0ZSwgc3VibGljZW5zZSxcbi8vLyBhbmQvb3Igc2VsbCBjb3BpZXMgb2YgdGhlIFNvZnR3YXJlLCBhbmQgdG8gcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGVcbi8vLyBTb2Z0d2FyZSBpcyBmdXJuaXNoZWQgdG8gZG8gc28sIHN1YmplY3QgdG8gdGhlIGZvbGxvd2luZyBjb25kaXRpb25zOlxuLy8vXG4vLy8gVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWQgaW5cbi8vLyBhbGwgY29waWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25zIG9mIHRoZSBTb2Z0d2FyZS5cbi8vL1xuLy8vIFRIRSBTT0ZUV0FSRSBJUyBQUk9WSURFRCBcIkFTIElTXCIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsIEVYUFJFU1MgT1Jcbi8vLyBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSxcbi8vLyBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OLUlORlJJTkdFTUVOVC4gSU4gTk8gRVZFTlQgU0hBTExcbi8vLyBUSEUgQVVUSE9SUyBPUiBDT1BZUklHSFQgSE9MREVSUyBCRSBMSUFCTEUgRk9SIEFOWSBDTEFJTSwgREFNQUdFUyBPUiBPVEhFUlxuLy8vIExJQUJJTElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HXG4vLy8gRlJPTSwgT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUlxuLy8vIERFQUxJTkdTXG4vLy8vXG5cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIFJ1bGVzXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi8vIEFwcGxpY2F0aW9uIGZvb3RlclxuLm1kLWZvb3RlciB7XG5cbiAgLy8gSGlkZSBmb3IgcHJpbnRcbiAgQG1lZGlhIHByaW50IHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG5cbi8vIE5hdmlnYXRpb24gd2l0aGluIGZvb3RlclxuLm1kLWZvb3Rlci1uYXYge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkbWQtY29sb3ItYmxhY2s7XG4gIGNvbG9yOiAkbWQtY29sb3Itd2hpdGU7XG5cbiAgLy8gU2V0IHNwYWNpbmdcbiAgJl9faW5uZXIge1xuICAgIHBhZGRpbmc6IHB4MnJlbSg0cHgpO1xuICAgIG92ZXJmbG93OiBhdXRvO1xuICB9XG5cbiAgLy8gTGlua3MgdG8gcHJldmlvdXMgYW5kIG5leHQgcGFnZVxuICAmX19saW5rIHtcbiAgICBwYWRkaW5nLXRvcDogcHgycmVtKDI4cHgpO1xuICAgIHBhZGRpbmctYm90dG9tOiBweDJyZW0oOHB4KTtcbiAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuMjVzO1xuXG4gICAgLy8gW3RhYmxldCArXTogU2V0IHByb3BvcnRpb25hbCB3aWR0aFxuICAgIEBpbmNsdWRlIGJyZWFrLWZyb20tZGV2aWNlKHRhYmxldCkge1xuICAgICAgd2lkdGg6IDUwJTtcbiAgICB9XG5cbiAgICAvLyBIb3ZlcmVkIGxpbmtcbiAgICAmOmhvdmVyIHtcbiAgICAgIG9wYWNpdHk6IDAuNztcbiAgICB9XG5cbiAgICAvLyBMaW5rIHRvIHByZXZpb3VzIHBhZ2VcbiAgICAmLS1wcmV2IHtcbiAgICAgIHdpZHRoOiAyNSU7XG4gICAgICBmbG9hdDogbGVmdDtcblxuICAgICAgLy8gQWRqdXN0IGZvciBSVEwgbGFuZ3VhZ2VzXG4gICAgICBbZGlyPVwicnRsXCJdICYge1xuICAgICAgICBmbG9hdDogcmlnaHQ7XG4gICAgICB9XG5cbiAgICAgIC8vIFRpdGxlXG4gICAgICAubWQtZm9vdGVyLW5hdl9fdGl0bGUge1xuXG4gICAgICAgIC8vIFttb2JpbGUgLV06IEhpZGUgdGl0bGUgZm9yIHByZXZpb3VzIHBhZ2VcbiAgICAgICAgQGluY2x1ZGUgYnJlYWstdG8tZGV2aWNlKG1vYmlsZSkge1xuICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBMaW5rIHRvIG5leHQgcGFnZVxuICAgICYtLW5leHQge1xuICAgICAgd2lkdGg6IDc1JTtcbiAgICAgIGZsb2F0OiByaWdodDtcbiAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuXG4gICAgICAvLyBBZGp1c3QgZm9yIFJUTCBsYW5ndWFnZXNcbiAgICAgIFtkaXI9XCJydGxcIl0gJiB7XG4gICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIEljb24gYnV0dG9uc1xuICAmX19idXR0b24ge1xuICAgIEBleHRlbmQgJW1kLWljb25fX2J1dHRvbjtcblxuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQgMC4yNXM7XG4gIH1cblxuICAvLyBMaW5rIHRpdGxlIC0gc2V0IGxpbmUgaGVpZ2h0IHRvIG1hdGNoIGljb24gZm9yIGNvcnJlY3QgYWxpZ25tZW50XG4gICZfX3RpdGxlIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcGFkZGluZzogMCBweDJyZW0oMjBweCk7XG4gICAgZm9udC1zaXplOiBweDJyZW0oMThweCk7XG4gICAgbGluZS1oZWlnaHQ6IHB4MnJlbSg0OHB4KTtcbiAgfVxuXG4gIC8vIExpbmsgZGlyZWN0aW9uXG4gICZfX2RpcmVjdGlvbiB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHJpZ2h0OiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgbWFyZ2luLXRvcDogcHgycmVtKC0yMHB4KTtcbiAgICBwYWRkaW5nOiAwIHB4MnJlbSgyMHB4KTtcbiAgICBjb2xvcjogJG1kLWNvbG9yLXdoaXRlLS1saWdodDtcbiAgICBmb250LXNpemU6IHB4MnJlbSgxNXB4KTtcbiAgfVxufVxuXG4vLyBOb24tbmF2aWdhdGlvbmFsIGluZm9ybWF0aW9uXG4ubWQtZm9vdGVyLW1ldGEge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBvcGFjaWZ5KCRtZC1jb2xvci1ibGFjaywgMC4wMjUpO1xuXG4gIC8vIFNldCBzcGFjaW5nXG4gICZfX2lubmVyIHtcbiAgICBwYWRkaW5nOiBweDJyZW0oNHB4KTtcbiAgICBvdmVyZmxvdzogYXV0bztcbiAgfVxuXG4gIC8vIFVzZSBhIGRlY2VudCBjb2xvciBmb3Igbm9uLWhvdmVyZWQgbGlua3MgYW5kIGVuc3VyZSBzcGVjaWZpY2l0eVxuICBodG1sICYubWQtdHlwZXNldCBhIHtcbiAgICBjb2xvcjogJG1kLWNvbG9yLXdoaXRlLS1saWdodDtcblxuICAgIC8vIEZvY3VzZWQgb3IgaG92ZXJlZCBsaW5rXG4gICAgJjpmb2N1cyxcbiAgICAmOmhvdmVyIHtcbiAgICAgIGNvbG9yOiAkbWQtY29sb3Itd2hpdGU7XG4gICAgfVxuICB9XG59XG5cbi8vIENvcHlyaWdodCBhbmQgdGhlbWUgaW5mb3JtYXRpb25cbi5tZC1mb290ZXItY29weXJpZ2h0IHtcbiAgbWFyZ2luOiAwIHB4MnJlbSgxMnB4KTtcbiAgcGFkZGluZzogcHgycmVtKDhweCkgMDtcbiAgY29sb3I6ICRtZC1jb2xvci13aGl0ZS0tbGlnaHRlcjtcbiAgZm9udC1zaXplOiBtcygtMSk7XG5cbiAgLy8gW3RhYmxldCBwb3J0cmFpdCArXTogU2hvdyBuZXh0IHRvIHNvY2lhbCBtZWRpYSBsaW5rc1xuICBAaW5jbHVkZSBicmVhay1mcm9tLWRldmljZSh0YWJsZXQgcG9ydHJhaXQpIHtcbiAgICBtYXgtd2lkdGg6IDc1JTtcbiAgICBmbG9hdDogbGVmdDtcblxuICAgIC8vIEFkanVzdCBmb3IgUlRMIGxhbmd1YWdlc1xuICAgIFtkaXI9XCJydGxcIl0gJiB7XG4gICAgICBmbG9hdDogcmlnaHQ7XG4gICAgfVxuICB9XG5cbiAgLy8gSGlnaGxpZ2h0IGNvcHlyaWdodCBpbmZvcm1hdGlvblxuICAmX19oaWdobGlnaHQge1xuICAgIGNvbG9yOiAkbWQtY29sb3Itd2hpdGUtLWxpZ2h0O1xuICB9XG59XG5cbi8vIFNvY2lhbCBtZWRpYSBsaW5rc1xuLm1kLWZvb3Rlci1zb2NpYWwge1xuICBtYXJnaW46IDAgcHgycmVtKDhweCk7XG4gIHBhZGRpbmc6IHB4MnJlbSg0cHgpIDAgcHgycmVtKDEycHgpO1xuXG4gIC8vIFt0YWJsZXQgcG9ydHJhaXQgK106IFNob3cgbmV4dCB0byBjb3B5cmlnaHQgaW5mb3JtYXRpb25cbiAgQGluY2x1ZGUgYnJlYWstZnJvbS1kZXZpY2UodGFibGV0IHBvcnRyYWl0KSB7XG4gICAgcGFkZGluZzogcHgycmVtKDEycHgpIDA7XG4gICAgZmxvYXQ6IHJpZ2h0O1xuXG4gICAgLy8gQWRqdXN0IGZvciBSVEwgbGFuZ3VhZ2VzXG4gICAgW2Rpcj1cInJ0bFwiXSAmIHtcbiAgICAgIGZsb2F0OiBsZWZ0O1xuICAgIH1cbiAgfVxuXG4gIC8vIExpbmsgd2l0aCBpY29uXG4gICZfX2xpbmsge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB3aWR0aDogcHgycmVtKDMycHgpO1xuICAgIGhlaWdodDogcHgycmVtKDMycHgpO1xuICAgIGZvbnQtc2l6ZTogcHgycmVtKDE2cHgpO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAgIC8vIEFkanVzdCBsaW5lLWhlaWdodCB0byBtYXRjaCBoZWlnaHQgZm9yIGNvcnJlY3QgYWxpZ25tZW50XG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjk7XG4gICAgfVxuICB9XG59XG4iLCIvLy8vXG4vLy8gQ29weXJpZ2h0IChjKSAyMDE2LTIwMjAgTWFydGluIERvbmF0aCA8bWFydGluLmRvbmF0aEBzcXVpZGZ1bmsuY29tPlxuLy8vXG4vLy8gUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0YWluaW5nIGFcbi8vLyBjb3B5IG9mIHRoaXMgc29mdHdhcmUgYW5kIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlIFwiU29mdHdhcmVcIiksXG4vLy8gdG8gZGVhbCBpbiB0aGUgU29mdHdhcmUgd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nIHdpdGhvdXQgbGltaXRhdGlvblxuLy8vIHRoZSByaWdodHMgdG8gdXNlLCBjb3B5LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNoLCBkaXN0cmlidXRlLCBzdWJsaWNlbnNlLFxuLy8vIGFuZC9vciBzZWxsIGNvcGllcyBvZiB0aGUgU29mdHdhcmUsIGFuZCB0byBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZVxuLy8vIFNvZnR3YXJlIGlzIGZ1cm5pc2hlZCB0byBkbyBzbywgc3ViamVjdCB0byB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6XG4vLy9cbi8vLyBUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBiZSBpbmNsdWRlZCBpblxuLy8vIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIFNvZnR3YXJlLlxuLy8vXG4vLy8gVEhFIFNPRlRXQVJFIElTIFBST1ZJREVEIFwiQVMgSVNcIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwgRVhQUkVTUyBPUlxuLy8vIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZLFxuLy8vIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT04tSU5GUklOR0VNRU5ULiBJTiBOTyBFVkVOVCBTSEFMTFxuLy8vIFRIRSBBVVRIT1JTIE9SIENPUFlSSUdIVCBIT0xERVJTIEJFIExJQUJMRSBGT1IgQU5ZIENMQUlNLCBEQU1BR0VTIE9SIE9USEVSXG4vLy8gTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkdcbi8vLyBGUk9NLCBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRSBTT0ZUV0FSRSBPUiBUSEUgVVNFIE9SIE9USEVSXG4vLy8gREVBTElOR1Ncbi8vLy9cblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gUnVsZXNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLy8gTmF2aWdhdGlvbiBjb250YWluZXJcbi5tZC1uYXYge1xuICBmb250LXNpemU6IHB4MnJlbSgxNHB4KTtcbiAgbGluZS1oZWlnaHQ6IDEuMztcblxuICAvLyBMaXN0IHRpdGxlXG4gICZfX3RpdGxlIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwYWRkaW5nOiAwIHB4MnJlbSgxMnB4KTtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG5cbiAgICAvLyBJY29uLCBoaWRkZW4gYnkgZGVmYXVsdFxuICAgICY6OmJlZm9yZSB7XG4gICAgICBAZXh0ZW5kICVtZC1pY29uLCAlbWQtaWNvbl9fYnV0dG9uO1xuXG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgY29udGVudDogXCJcXEU1QzRcIjsgLy8gYXJyb3dfYmFja1xuXG4gICAgICAvLyBBZGp1c3QgZm9yIFJUTCBsYW5ndWFnZXNcbiAgICAgIFtkaXI9XCJydGxcIl0gJiB7XG4gICAgICAgIGNvbnRlbnQ6IFwiXFxFNUM4XCI7IC8vIGFycm93X2ZvcndhcmRcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBIaWRlIGJ1dHRvbiBieSBkZWZhdWx0XG4gICAgLm1kLW5hdl9fYnV0dG9uIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICB9XG5cbiAgLy8gTGlzdCBvZiBpdGVtc1xuICAmX19saXN0IHtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICB9XG5cbiAgLy8gTGlzdCBpdGVtXG4gICZfX2l0ZW0ge1xuICAgIHBhZGRpbmc6IDAgcHgycmVtKDEycHgpO1xuXG4gICAgLy8gQWRkIGJvdHRvbSBzcGFjaW5nIHRvIGxhc3QgaXRlbVxuICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogcHgycmVtKDEycHgpO1xuICAgIH1cblxuICAgIC8vIDJuZCsgbGV2ZWwgaXRlbXNcbiAgICAmICYge1xuICAgICAgcGFkZGluZy1yaWdodDogMDtcblxuICAgICAgLy8gQWRqdXN0IGZvciBSVEwgbGFuZ3VhZ2VzXG4gICAgICBbZGlyPVwicnRsXCJdICYge1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiBweDJyZW0oMTJweCk7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICAgIH1cblxuICAgICAgLy8gUmVtb3ZlIGJvdHRvbSBzcGFjaW5nIGZvciBuZXN0ZWQgaXRlbXNcbiAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAwO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIEJ1dHRvbiB3aXRoIGxvZ29cbiAgJl9fYnV0dG9uIHtcbiAgICBAZXh0ZW5kICVtZC1pY29uLCAlbWQtaWNvbl9fYnV0dG9uO1xuXG4gICAgLy8gU3RyZXRjaCBpbWFnZVxuICAgIGltZyB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGhlaWdodDogYXV0bztcbiAgICB9XG4gIH1cblxuICAvLyBMaW5rIGluc2lkZSBpdGVtXG4gICZfX2xpbmsge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG1hcmdpbi10b3A6IDAuNjI1ZW07XG4gICAgdHJhbnNpdGlvbjogY29sb3IgMC4xMjVzO1xuICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gICAgLy8gSWNvblxuICAgICY6OmFmdGVyIHtcbiAgICAgIEBleHRlbmQgJW1kLWljb247XG5cbiAgICAgIC8vIEl0ZW0gY29udGFpbnMgYSBuZXN0ZWQgbGlzdFxuICAgICAgLm1kLW5hdl9faXRlbS0tbmVzdGVkID4gJiB7XG4gICAgICAgIGNvbnRlbnQ6IFwiXFxFMzEzXCI7IC8vIGtleWJvYXJkX2Fycm93X2Rvd25cbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBIaWRlIGxpbmsgdG8gdGFibGUgb2YgY29udGVudHMgYnkgZGVmYXVsdCAtIHRoaXMgd2lsbCBvbmx5IG1hdGNoIHRoZVxuICAgIC8vIHRhYmxlIG9mIGNvbnRlbnRzIGluc2lkZSB0aGUgZHJhd2VyIGJlbG93IGFuZCBpbmNsdWRpbmcgdGFibGV0IHBvcnRyYWl0XG4gICAgaHRtbCAmW2Zvcj1cIl9fdG9jXCJdIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG5cbiAgICAgIC8vIEhpZGUgdGFibGUgb2YgY29udGVudHMgYnkgZGVmYXVsdFxuICAgICAgJiB+IC5tZC1uYXYge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgfVxuXG4gICAgICAvLyBIaWRlIGljb24gZm9yIGN1cnJlbnQgaXRlbVxuICAgICAgKyAubWQtbmF2X19saW5rOjphZnRlciB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gQmx1cnJlZCBsaW5rXG4gICAgJltkYXRhLW1kLXN0YXRlPVwiYmx1clwiXSB7XG4gICAgICBjb2xvcjogJG1kLWNvbG9yLWJsYWNrLS1saWdodDtcbiAgICB9XG5cbiAgICAvLyBBY3RpdmUgbGlua1xuICAgICY6YWN0aXZlLFxuICAgICYtLWFjdGl2ZSB7XG4gICAgICBjb2xvcjogJG1kLWNvbG9yLXByaW1hcnk7XG4gICAgfVxuXG4gICAgLy8gUmVzZXQgYWN0aXZlIGNvbG9yIGZvciBuZXN0ZWQgbGlzdCB0aXRsZXNcbiAgICAubWQtbmF2X19pdGVtLS1uZXN0ZWQgPiAmIHtcbiAgICAgIGNvbG9yOiBpbmhlcml0O1xuICAgIH1cblxuICAgIC8vIEZvY3VzZWQgb3IgaG92ZXJlZCBsaW5rXG4gICAgJjpmb2N1cyxcbiAgICAmOmhvdmVyIHtcbiAgICAgIGNvbG9yOiAkbWQtY29sb3ItYWNjZW50O1xuICAgIH1cbiAgfVxuXG4gIC8vIFJlcG9zaXRvcnkgY29udGFpbmluZyBzb3VyY2VcbiAgJl9fc291cmNlIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG5cbiAgLy8gW3RhYmxldCAtXTogTGF5ZXJlZCBuYXZpZ2F0aW9uXG4gIEBpbmNsdWRlIGJyZWFrLXRvLWRldmljZSh0YWJsZXQpIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbWQtY29sb3Itd2hpdGU7XG5cbiAgICAvLyBTdHJldGNoIHByaW1hcnkgbmF2aWdhdGlvbiB0byBkcmF3ZXJcbiAgICAmLS1wcmltYXJ5LFxuICAgICYtLXByaW1hcnkgLm1kLW5hdiB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAwO1xuICAgICAgcmlnaHQ6IDA7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIHotaW5kZXg6IDE7XG4gICAgfVxuXG4gICAgLy8gQWRqdXN0IHN0eWxlcyBmb3IgcHJpbWFyeSBuYXZpZ2F0aW9uXG4gICAgJi0tcHJpbWFyeSB7XG5cbiAgICAgIC8vIExpc3QgdGl0bGUgYW5kIGl0ZW1cbiAgICAgIC5tZC1uYXZfX3RpdGxlLFxuICAgICAgLm1kLW5hdl9faXRlbSB7XG4gICAgICAgIGZvbnQtc2l6ZTogcHgycmVtKDE2cHgpO1xuICAgICAgICBsaW5lLWhlaWdodDogMS41O1xuICAgICAgfVxuXG4gICAgICAvLyBMaXN0IHRpdGxlIC0gaGlnaGVyIHNwZWNpZmljaXR5IGlzIG5lY2Vzc2FyeSB0byBlbnN1cmUgdGhhdCB0aGUgdGl0bGVcbiAgICAgIC8vIGluc2lkZSB0aGUgZHJhd2VyIGlzIGFsd2F5cyBzdHlsZWQgYWNjb3JkaW5nbHlcbiAgICAgIGh0bWwgJiAubWQtbmF2X190aXRsZSB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgaGVpZ2h0OiBweDJyZW0oMTEycHgpO1xuICAgICAgICBwYWRkaW5nOiBweDJyZW0oNjBweCkgcHgycmVtKDE2cHgpIHB4MnJlbSg0cHgpO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbWQtY29sb3ItYmxhY2stLWxpZ2h0ZXN0O1xuICAgICAgICBjb2xvcjogJG1kLWNvbG9yLWJsYWNrLS1saWdodDtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IHB4MnJlbSg0OHB4KTtcbiAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuXG4gICAgICAgIC8vIEljb25cbiAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgdG9wOiBweDJyZW0oNHB4KTtcbiAgICAgICAgICBsZWZ0OiBweDJyZW0oNHB4KTtcbiAgICAgICAgICB3aWR0aDogcHgycmVtKDQwcHgpO1xuICAgICAgICAgIGhlaWdodDogcHgycmVtKDQwcHgpO1xuICAgICAgICAgIGNvbG9yOiAkbWQtY29sb3ItYmxhY2stLWxpZ2h0O1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gTWFpbiBsaXN0c1xuICAgICAgICB+IC5tZC1uYXZfX2xpc3Qge1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRtZC1jb2xvci13aGl0ZTtcbiAgICAgICAgICBib3gtc2hhZG93OiAwIHB4MnJlbSgxcHgpIDAgJG1kLWNvbG9yLWJsYWNrLS1saWdodGVzdCBpbnNldDtcblxuICAgICAgICAgIC8vIFJlbW92ZSBib3JkZXIgZm9yIGZpcnN0IGxpc3QgaXRlbVxuICAgICAgICAgICYgPiAubWQtbmF2X19pdGVtOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgICAgIGJvcmRlci10b3A6IDA7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLy8gU2l0ZSB0aXRsZSBpbiBtYWluIG5hdmlnYXRpb25cbiAgICAgICAgJi0tc2l0ZSB7XG4gICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRtZC1jb2xvci1wcmltYXJ5O1xuICAgICAgICAgIGNvbG9yOiAkbWQtY29sb3Itd2hpdGU7XG5cbiAgICAgICAgICAvLyBTaXRlIGxvZ29cbiAgICAgICAgICAubWQtbmF2X19idXR0b24ge1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICB0b3A6IHB4MnJlbSg0cHgpO1xuICAgICAgICAgICAgbGVmdDogcHgycmVtKDRweCk7XG4gICAgICAgICAgICB3aWR0aDogcHgycmVtKDY0cHgpO1xuICAgICAgICAgICAgaGVpZ2h0OiBweDJyZW0oNjRweCk7XG4gICAgICAgICAgICBmb250LXNpemU6IHB4MnJlbSg0OHB4KTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICAvLyBIaWRlIGJhY2sgYXJyb3cgaWNvblxuICAgICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAvLyBBZGp1c3QgZm9yIFJUTCBsYW5ndWFnZXNcbiAgICAgIGh0bWwgW2Rpcj1cInJ0bFwiXSAmIC5tZC1uYXZfX3RpdGxlIHtcblxuICAgICAgICAvLyBJY29uXG4gICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgcmlnaHQ6IHB4MnJlbSg0cHgpO1xuICAgICAgICAgIGxlZnQ6IGluaXRpYWw7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBTaXRlIHRpdGxlIGluIG1haW4gbmF2aWdhdGlvblxuICAgICAgICAmLS1zaXRlIC5tZC1uYXZfX2J1dHRvbiB7XG4gICAgICAgICAgcmlnaHQ6IHB4MnJlbSg0cHgpO1xuICAgICAgICAgIGxlZnQ6IGluaXRpYWw7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLy8gTGlzdCBvZiBpdGVtc1xuICAgICAgLm1kLW5hdl9fbGlzdCB7XG4gICAgICAgIGZsZXg6IDE7XG4gICAgICAgIG92ZXJmbG93LXk6IGF1dG87XG4gICAgICB9XG5cbiAgICAgIC8vIExpc3QgaXRlbVxuICAgICAgLm1kLW5hdl9faXRlbSB7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIGJvcmRlci10b3A6IHB4MnJlbSgxcHgpIHNvbGlkICRtZC1jb2xvci1ibGFjay0tbGlnaHRlc3Q7XG5cbiAgICAgICAgLy8gQWRqdXN0IGZvciBSVEwgbGFuZ3VhZ2VzXG4gICAgICAgIFtkaXI9XCJydGxcIl0gJiB7XG4gICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIEluY3JlYXNlIHNwYWNpbmcgdG8gYWNjb3VudCBmb3IgaWNvblxuICAgICAgICAmLS1uZXN0ZWQgPiAubWQtbmF2X19saW5rIHtcbiAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiBweDJyZW0oNDhweCk7XG5cbiAgICAgICAgICAvLyBBZGp1c3QgZm9yIFJUTCBsYW5ndWFnZXNcbiAgICAgICAgICBbZGlyPVwicnRsXCJdICYge1xuICAgICAgICAgICAgcGFkZGluZy1yaWdodDogcHgycmVtKDE2cHgpO1xuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiBweDJyZW0oNDhweCk7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgLy8gUmVwbGFjZSBpY29uIHdpdGggcmlnaHQgYXJyb3dcbiAgICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgICBjb250ZW50OiBcIlxcRTMxNVwiOyAvLyBrZXlib2FyZF9hcnJvd19yaWdodFxuXG4gICAgICAgICAgICAvLyBBZGp1c3QgZm9yIFJUTCBsYW5ndWFnZXNcbiAgICAgICAgICAgIFtkaXI9XCJydGxcIl0gJiB7XG4gICAgICAgICAgICAgIGNvbnRlbnQ6IFwiXFxFMzE0XCI7IC8vIGtleWJvYXJkX2Fycm93X2xlZnRcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLy8gTGluayBpbnNpZGUgaXRlbVxuICAgICAgLm1kLW5hdl9fbGluayB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgICAgcGFkZGluZzogcHgycmVtKDEycHgpIHB4MnJlbSgxNnB4KTtcblxuICAgICAgICAvLyBSb3RhdGUgaWNvblxuICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgIHRvcDogNTAlO1xuICAgICAgICAgIHJpZ2h0OiBweDJyZW0oMTJweCk7XG4gICAgICAgICAgbWFyZ2luLXRvcDogcHgycmVtKC0xMnB4KTtcbiAgICAgICAgICBjb2xvcjogaW5oZXJpdDtcbiAgICAgICAgICBmb250LXNpemU6IHB4MnJlbSgyNHB4KTtcblxuICAgICAgICAgIC8vIEFkanVzdCBmb3IgUlRMIGxhbmd1YWdlc1xuICAgICAgICAgIFtkaXI9XCJydGxcIl0gJiB7XG4gICAgICAgICAgICByaWdodDogaW5pdGlhbDtcbiAgICAgICAgICAgIGxlZnQ6IHB4MnJlbSgxMnB4KTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLy8gVGFibGUgb2YgY29udGVudHMgaW5zaWRlIG5hdmlnYXRpb25cbiAgICAgIC5tZC1uYXYtLXNlY29uZGFyeSB7XG5cbiAgICAgICAgLy8gU2V0IGxpbmtzIHRvIHN0YXRpYyB0byBhdm9pZCB1bm5lY2Vzc2FyeSBsYXllcmluZ1xuICAgICAgICAubWQtbmF2X19saW5rIHtcbiAgICAgICAgICBwb3NpdGlvbjogc3RhdGljO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gU2V0IG5lc3RlZCBuYXZpZ2F0aW9uIGZvciB0YWJsZSBvZiBjb250ZW50cyB0byBzdGF0aWNcbiAgICAgICAgLm1kLW5hdiB7XG4gICAgICAgICAgcG9zaXRpb246IHN0YXRpYztcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcblxuICAgICAgICAgIC8vIDNyZCBsZXZlbCBsaW5rXG4gICAgICAgICAgLm1kLW5hdl9fbGluayB7XG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IHB4MnJlbSgyOHB4KTtcblxuICAgICAgICAgICAgLy8gQWRqdXN0IGZvciBSVEwgbGFuZ3VhZ2VzXG4gICAgICAgICAgICBbZGlyPVwicnRsXCJdICYge1xuICAgICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiBweDJyZW0oMjhweCk7XG4gICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogaW5pdGlhbDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG5cbiAgICAgICAgICAvLyA0dGggbGV2ZWwgbGlua1xuICAgICAgICAgIC5tZC1uYXYgLm1kLW5hdl9fbGluayB7XG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IHB4MnJlbSg0MHB4KTtcblxuICAgICAgICAgICAgLy8gQWRqdXN0IGZvciBSVEwgbGFuZ3VhZ2VzXG4gICAgICAgICAgICBbZGlyPVwicnRsXCJdICYge1xuICAgICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiBweDJyZW0oNDBweCk7XG4gICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogaW5pdGlhbDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG5cbiAgICAgICAgICAvLyA1dGggbGV2ZWwgbGlua1xuICAgICAgICAgIC5tZC1uYXYgLm1kLW5hdiAubWQtbmF2X19saW5rIHtcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogcHgycmVtKDUycHgpO1xuXG4gICAgICAgICAgICAvLyBBZGp1c3QgZm9yIFJUTCBsYW5ndWFnZXNcbiAgICAgICAgICAgIFtkaXI9XCJydGxcIl0gJiB7XG4gICAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IHB4MnJlbSg1MnB4KTtcbiAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiBpbml0aWFsO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cblxuICAgICAgICAgIC8vIDZ0aCBsZXZlbCBsaW5rXG4gICAgICAgICAgLm1kLW5hdiAubWQtbmF2IC5tZC1uYXYgLm1kLW5hdl9fbGluayB7XG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IHB4MnJlbSg2NHB4KTtcblxuICAgICAgICAgICAgLy8gQWRqdXN0IGZvciBSVEwgbGFuZ3VhZ2VzXG4gICAgICAgICAgICBbZGlyPVwicnRsXCJdICYge1xuICAgICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiBweDJyZW0oNjRweCk7XG4gICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogaW5pdGlhbDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBIaWRlIG5lc3RlZCBuYXZpZ2F0aW9uIGJ5IGRlZmF1bHRcbiAgICAubWQtbmF2X190b2dnbGUgfiAmIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTAwJSk7XG4gICAgICB0cmFuc2l0aW9uOlxuICAgICAgICB0cmFuc2Zvcm0gMC4yNXMgY3ViaWMtYmV6aWVyKDAuOCwgMCwgMC42LCAxKSxcbiAgICAgICAgb3BhY2l0eSAgIDAuMTI1cyAwLjA1cztcbiAgICAgIG9wYWNpdHk6IDA7XG5cbiAgICAgIC8vIEFkanVzdCBmb3IgUlRMIGxhbmd1YWdlc1xuICAgICAgW2Rpcj1cInJ0bFwiXSAmIHtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xMDAlKTtcbiAgICAgIH1cblxuICAgICAgLy8gSnVzdCBoaWRlIG5hdmlnYXRpb24sIGlmIGJyb3dzZXIgZG9lc24ndCBzdXBwb3J0cyAzRCB0cmFuc2Zvcm1zXG4gICAgICAubm8tY3NzdHJhbnNmb3JtczNkICYge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIEV4cGFuZCBuZXN0ZWQgbmF2aWdhdGlvbiwgaWYgdG9nZ2xlIGlzIGNoZWNrZWRcbiAgICAubWQtbmF2X190b2dnbGU6Y2hlY2tlZCB+ICYge1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xuICAgICAgdHJhbnNpdGlvbjpcbiAgICAgICAgdHJhbnNmb3JtIDAuMjVzIGN1YmljLWJlemllcigwLjQsIDAsIDAuMiwgMSksXG4gICAgICAgIG9wYWNpdHkgICAwLjEyNXMgMC4xMjVzO1xuICAgICAgb3BhY2l0eTogMTtcblxuICAgICAgLy8gSnVzdCBzaG93IG5hdmlnYXRpb24sIGlmIGJyb3dzZXIgZG9lc24ndCBzdXBwb3J0cyAzRCB0cmFuc2Zvcm1zXG4gICAgICAubm8tY3NzdHJhbnNmb3JtczNkICYge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIFt0YWJsZXQgcG9ydHJhaXQgLV06IFNob3cgdGFibGUgb2YgY29udGVudHMgaW4gZHJhd2VyXG4gIEBpbmNsdWRlIGJyZWFrLXRvLWRldmljZSh0YWJsZXQgcG9ydHJhaXQpIHtcblxuICAgIC8vIFNob3cgbGluayB0byB0YWJsZSBvZiBjb250ZW50cyAtIGhpZ2hlciBzcGVjaWZpY2l0eSBpcyBuZWNlc3NhcnkgdG9cbiAgICAvLyBkaXNwbGF5IHRoZSB0YWJsZSBvZiBjb250ZW50cyBpbnNpZGUgdGhlIGRyYXdlclxuICAgIGh0bWwgJl9fbGlua1tmb3I9XCJfX3RvY1wiXSB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHBhZGRpbmctcmlnaHQ6IHB4MnJlbSg0OHB4KTtcblxuICAgICAgLy8gVW5yb3RhdGUgaWNvbiBmb3IgdGFibGUgb2YgY29udGVudHNcbiAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgY29sb3I6IGluaGVyaXQ7XG4gICAgICAgIGNvbnRlbnQ6IFwiXFxFOERFXCI7IC8vIHRvY1xuICAgICAgfVxuXG4gICAgICAvLyBIaWRlIGxpbmsgdG8gY3VycmVudCBpdGVtXG4gICAgICArIC5tZC1uYXZfX2xpbmsge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgfVxuXG4gICAgICAvLyBTaG93IHRhYmxlIG9mIGNvbnRlbnRzXG4gICAgICAmIH4gLm1kLW5hdiB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gQWRqdXN0IGZvciBSVEwgbGFuZ3VhZ2VzXG4gICAgaHRtbCBbZGlyPVwicnRsXCJdICZfX2xpbmsge1xuICAgICAgcGFkZGluZy1yaWdodDogcHgycmVtKDE2cHgpO1xuICAgICAgcGFkZGluZy1sZWZ0OiBweDJyZW0oNDhweCk7XG4gICAgfVxuXG4gICAgLy8gUmVwb3NpdG9yeSBjb250YWluaW5nIHNvdXJjZVxuICAgICZfX3NvdXJjZSB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHBhZGRpbmc6IDAgcHgycmVtKDRweCk7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtaXgoJG1kLWNvbG9yLXByaW1hcnksICRtZC1jb2xvci1ibGFjaywgNzUlKTtcbiAgICAgIGNvbG9yOiAkbWQtY29sb3Itd2hpdGU7XG4gICAgfVxuICB9XG5cbiAgLy8gW3NjcmVlbiArXTogVHJlZS1saWtlIG5hdmlnYXRpb25cbiAgQGluY2x1ZGUgYnJlYWstZnJvbS1kZXZpY2Uoc2NyZWVuKSB7XG5cbiAgICAvLyBBbmltYXRpb24gaXMgb25seSBwb3NzaWJsZSBpZiBKYXZhU2NyaXB0IGlzIGF2YWlsYWJsZSwgYXMgdGhlIG1heC1oZWlnaHRcbiAgICAvLyBwcm9wZXJ0eSBtdXN0IGJlIGNhbGN1bGF0ZWQgYmVmb3JlIHRyYW5zaXRpb25pbmdcbiAgICAmW2RhdGEtbWQtc3RhdGU9XCJhbmltYXRlXCJdIHtcbiAgICAgIHRyYW5zaXRpb246IG1heC1oZWlnaHQgMC4yNXMgY3ViaWMtYmV6aWVyKDAuODYsIDAsIDAuMDcsIDEpO1xuICAgIH1cblxuICAgIC8vIEhpZGUgbmVzdGVkIG5hdmlnYXRpb24gYnkgZGVmYXVsdFxuICAgIC5tZC1uYXZfX3RvZ2dsZSB+ICYge1xuICAgICAgbWF4LWhlaWdodDogMDtcbiAgICAgIG92ZXJmbG93OiBoaWRkZW47XG5cbiAgICAgIC8vIEp1c3QgaGlkZSBsaW5rcyBmb3IgYWNjZXNzaWJpbGl0eSBpZiBKYXZhU2NyaXB0IGlzIG5vdCBhdmFpbGFibGVcbiAgICAgIC5uby1qcyAmIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBFeHBhbmQgbmVzdGVkIG5hdmlnYXRpb24sIGlmIHRvZ2dsZSBpcyBjaGVja2VkXG4gICAgLm1kLW5hdl9fdG9nZ2xlOmNoZWNrZWQgfiAmLFxuICAgICZbZGF0YS1tZC1zdGF0ZT1cImV4cGFuZFwiXSB7XG4gICAgICBtYXgtaGVpZ2h0OiAxMDAlO1xuXG4gICAgICAvLyBKdXN0IHNob3cgZm9yIGFjY2Vzc2liaWxpdHkgbGlua3MgaWYgSmF2YVNjcmlwdCBpcyBub3QgYXZhaWxhYmxlXG4gICAgICAubm8tanMgJiB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIEhpZGUgdGl0bGVzIGZvciBuZXN0ZWQgbmF2aWdhdGlvblxuICAgICZfX2l0ZW0tLW5lc3RlZCA+IC5tZC1uYXYgPiAmX190aXRsZSB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cblxuICAgIC8vIExpbmsgaW5zaWRlIGl0ZW0gLSBpZGVhbGx5IHRoZSBsaW5rIGRpc3BsYXkgbWV0aG9kIHdvdWxkIGJlIHNldCB0b1xuICAgIC8vIGlubGluZSBvbiBzY3JlZW4sIGJ1dCB0aGlzIGRvZXNuJ3Qgd29yayB3aXRoIHRleHQgZWxsaXBzaXNcbiAgICAmX19saW5rIHtcblxuICAgICAgLy8gSXRlbSBjb250YWlucyBhIG5lc3RlZCBsaXN0XG4gICAgICAubWQtbmF2X19pdGVtLS1uZXN0ZWQgPiAmOjphZnRlciB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgdHJhbnNmb3JtLW9yaWdpbjogMC40NWVtIDAuNDVlbTtcbiAgICAgICAgdHJhbnNmb3JtLXN0eWxlOiBwcmVzZXJ2ZS0zZDtcbiAgICAgICAgdmVydGljYWwtYWxpZ246IC0wLjEyNWVtO1xuXG4gICAgICAgIC8vIE9ubHkgYW5pbWF0ZSBpY29uIHdoZW4gSmF2YVNjcmlwdCBpcyBhdmFpbGFibGUsIGFzIHRoZSBoZWlnaHQgY2FuXG4gICAgICAgIC8vIG5vdCBiZSBhbmltYXRlZCBhbnl3YXksIGFuZCBiZXR0ZXIgbm8gZnVuIHRoYW4gaGFsZiB0aGUgZnVuXG4gICAgICAgIC5qcyAmIHtcbiAgICAgICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC40cztcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAvLyBSb3RhdGUgaWNvbiBmb3IgZXhwYW5kZWQgbGlzdHNcbiAgICAgIC5tZC1uYXZfX2l0ZW0tLW5lc3RlZCAubWQtbmF2X190b2dnbGU6Y2hlY2tlZCB+ICY6OmFmdGVyIHtcbiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGVYKDE4MGRlZyk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLy8vXG4vLy8gQ29weXJpZ2h0IChjKSAyMDE2LTIwMjAgTWFydGluIERvbmF0aCA8bWFydGluLmRvbmF0aEBzcXVpZGZ1bmsuY29tPlxuLy8vXG4vLy8gUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0YWluaW5nIGFcbi8vLyBjb3B5IG9mIHRoaXMgc29mdHdhcmUgYW5kIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlIFwiU29mdHdhcmVcIiksXG4vLy8gdG8gZGVhbCBpbiB0aGUgU29mdHdhcmUgd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nIHdpdGhvdXQgbGltaXRhdGlvblxuLy8vIHRoZSByaWdodHMgdG8gdXNlLCBjb3B5LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNoLCBkaXN0cmlidXRlLCBzdWJsaWNlbnNlLFxuLy8vIGFuZC9vciBzZWxsIGNvcGllcyBvZiB0aGUgU29mdHdhcmUsIGFuZCB0byBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZVxuLy8vIFNvZnR3YXJlIGlzIGZ1cm5pc2hlZCB0byBkbyBzbywgc3ViamVjdCB0byB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6XG4vLy9cbi8vLyBUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBiZSBpbmNsdWRlZCBpblxuLy8vIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIFNvZnR3YXJlLlxuLy8vXG4vLy8gVEhFIFNPRlRXQVJFIElTIFBST1ZJREVEIFwiQVMgSVNcIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwgRVhQUkVTUyBPUlxuLy8vIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZLFxuLy8vIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT04tSU5GUklOR0VNRU5ULiBJTiBOTyBFVkVOVCBTSEFMTFxuLy8vIFRIRSBBVVRIT1JTIE9SIENPUFlSSUdIVCBIT0xERVJTIEJFIExJQUJMRSBGT1IgQU5ZIENMQUlNLCBEQU1BR0VTIE9SIE9USEVSXG4vLy8gTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkdcbi8vLyBGUk9NLCBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRSBTT0ZUV0FSRSBPUiBUSEUgVVNFIE9SIE9USEVSXG4vLy8gREVBTElOR1Ncbi8vLy9cblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gVmFyaWFibGVzXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi8vIEFjdGl2ZSAodG9nZ2xlZCkgc2VhcmNoXG4kbWQtdG9nZ2xlX19zZWFyY2gtLWNoZWNrZWQ6XG4gIFwiW2RhdGEtbWQtdG9nZ2xlPVxcXCJzZWFyY2hcXFwiXTpjaGVja2VkIH4gLm1kLWhlYWRlclwiO1xuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBSdWxlc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4vLyBTZWFyY2ggY29udGFpbmVyXG4ubWQtc2VhcmNoIHtcblxuICAvLyBIaWRlIHNlYXJjaCwgaWYgSmF2YVNjcmlwdCBpcyBub3QgYXZhaWxhYmxlLlxuICAubm8tanMgJiB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuXG4gIC8vIFt0YWJsZXQgbGFuZHNjYXBlICtdOiBIZWFkZXItZW1iZWRkZWQgc2VhcmNoXG4gIEBpbmNsdWRlIGJyZWFrLWZyb20tZGV2aWNlKHRhYmxldCBsYW5kc2NhcGUpIHtcbiAgICBwYWRkaW5nOiBweDJyZW0oNHB4KTtcbiAgfVxuXG4gIC8vIFNlYXJjaCBtb2RhbCBvdmVybGF5XG4gICZfX292ZXJsYXkge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgei1pbmRleDogMTtcblxuICAgIC8vIFt0YWJsZXQgcG9ydHJhaXQgLV06IEZ1bGwtc2NyZWVuIHNlYXJjaCBiYXJcbiAgICBAaW5jbHVkZSBicmVhay10by1kZXZpY2UodGFibGV0IHBvcnRyYWl0KSB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IHB4MnJlbSg0cHgpO1xuICAgICAgbGVmdDogcHgycmVtKDRweCk7XG4gICAgICB3aWR0aDogcHgycmVtKDM2cHgpO1xuICAgICAgaGVpZ2h0OiBweDJyZW0oMzZweCk7XG4gICAgICB0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXI7XG4gICAgICB0cmFuc2l0aW9uOlxuICAgICAgICB0cmFuc2Zvcm0gMC4zcyAwLjFzLFxuICAgICAgICBvcGFjaXR5ICAgMC4ycyAwLjJzO1xuICAgICAgYm9yZGVyLXJhZGl1czogcHgycmVtKDIwcHgpO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJG1kLWNvbG9yLXdoaXRlO1xuICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuXG4gICAgICAvLyBBZGp1c3QgZm9yIFJUTCBsYW5ndWFnZXNcbiAgICAgIFtkaXI9XCJydGxcIl0gJiB7XG4gICAgICAgIHJpZ2h0OiBweDJyZW0oNHB4KTtcbiAgICAgICAgbGVmdDogaW5pdGlhbDtcbiAgICAgIH1cblxuICAgICAgLy8gRXhwYW5kZWQgb3ZlcmxheVxuICAgICAgI3skbWQtdG9nZ2xlX19zZWFyY2gtLWNoZWNrZWR9ICYge1xuICAgICAgICB0cmFuc2l0aW9uOlxuICAgICAgICAgIHRyYW5zZm9ybSAwLjRzLFxuICAgICAgICAgIG9wYWNpdHkgICAwLjFzO1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIFNldCBzY2FsZSBmYWN0b3JzXG4gICAgI3skbWQtdG9nZ2xlX19zZWFyY2gtLWNoZWNrZWR9ICYge1xuXG4gICAgICAvLyBbbW9iaWxlIHBvcnRyYWl0IC1dOiBTY2FsZSB1cCA0NSB0aW1lc1xuICAgICAgQGluY2x1ZGUgYnJlYWstdG8tZGV2aWNlKG1vYmlsZSBwb3J0cmFpdCkge1xuICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDQ1KTtcbiAgICAgIH1cblxuICAgICAgLy8gW21vYmlsZSBsYW5kc2NhcGVdOiBTY2FsZSB1cCA2MCB0aW1lc1xuICAgICAgQGluY2x1ZGUgYnJlYWstYXQtZGV2aWNlKG1vYmlsZSBsYW5kc2NhcGUpIHtcbiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSg2MCk7XG4gICAgICB9XG5cbiAgICAgIC8vIFt0YWJsZXQgcG9ydHJhaXRdOiBTY2FsZSB1cCA3NSB0aW1lc1xuICAgICAgQGluY2x1ZGUgYnJlYWstYXQtZGV2aWNlKHRhYmxldCBwb3J0cmFpdCkge1xuICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDc1KTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBbdGFibGV0IGxhbmRzY2FwZSArXTogT3ZlcmxheSBmb3IgYmV0dGVyIGZvY3VzIG9uIHNlYXJjaFxuICAgIEBpbmNsdWRlIGJyZWFrLWZyb20tZGV2aWNlKHRhYmxldCBsYW5kc2NhcGUpIHtcbiAgICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICAgIHRvcDogMDtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICB3aWR0aDogMDtcbiAgICAgIGhlaWdodDogMDtcbiAgICAgIHRyYW5zaXRpb246XG4gICAgICAgIHdpZHRoICAgMHMgMC4yNXMsXG4gICAgICAgIGhlaWdodCAgMHMgMC4yNXMsXG4gICAgICAgIG9wYWNpdHkgMC4yNXM7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbWQtY29sb3ItYmxhY2stLWxpZ2h0O1xuICAgICAgY3Vyc29yOiBwb2ludGVyO1xuXG4gICAgICAvLyBBZGp1c3QgZm9yIFJUTCBsYW5ndWFnZXNcbiAgICAgIFtkaXI9XCJydGxcIl0gJiB7XG4gICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICBsZWZ0OiBpbml0aWFsO1xuICAgICAgfVxuXG4gICAgICAvLyBFeHBhbmRlZCBvdmVybGF5XG4gICAgICAjeyRtZC10b2dnbGVfX3NlYXJjaC0tY2hlY2tlZH0gJiB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIHRyYW5zaXRpb246XG4gICAgICAgICAgd2lkdGggICAwcyxcbiAgICAgICAgICBoZWlnaHQgIDBzLFxuICAgICAgICAgIG9wYWNpdHkgMC4yNXM7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gU2VhcmNoIG1vZGFsIHdyYXBwZXJcbiAgJl9faW5uZXIge1xuXG4gICAgLy8gW3RhYmxldCBwb3J0cmFpdCAtXTogUHV0IHNlYXJjaCBtb2RhbCBvZmYtY2FudmFzIGJ5IGRlZmF1bHRcbiAgICBAaW5jbHVkZSBicmVhay10by1kZXZpY2UodGFibGV0IHBvcnRyYWl0KSB7XG4gICAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgICB0b3A6IDA7XG4gICAgICBsZWZ0OiAxMDAlO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoNSUpO1xuICAgICAgdHJhbnNpdGlvbjpcbiAgICAgICAgcmlnaHQgICAgIDBzICAgIDAuM3MsXG4gICAgICAgIGxlZnQgICAgICAwcyAgICAwLjNzLFxuICAgICAgICB0cmFuc2Zvcm0gMC4xNXMgMC4xNXMgY3ViaWMtYmV6aWVyKDAuNCwgMCwgMC4yLCAxKSxcbiAgICAgICAgb3BhY2l0eSAgIDAuMTVzIDAuMTVzO1xuICAgICAgb3BhY2l0eTogMDtcbiAgICAgIHotaW5kZXg6IDI7XG5cbiAgICAgIC8vIEFjdGl2ZSBzZWFyY2ggbW9kYWxcbiAgICAgICN7JG1kLXRvZ2dsZV9fc2VhcmNoLS1jaGVja2VkfSAmIHtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xuICAgICAgICB0cmFuc2l0aW9uOlxuICAgICAgICAgIHJpZ2h0ICAgICAwcyAgICAwcyxcbiAgICAgICAgICBsZWZ0ICAgICAgMHMgICAgMHMsXG4gICAgICAgICAgdHJhbnNmb3JtIDAuMTVzIDAuMTVzIGN1YmljLWJlemllcigwLjEsIDAuNywgMC4xLCAxKSxcbiAgICAgICAgICBvcGFjaXR5ICAgMC4xNXMgMC4xNXM7XG4gICAgICAgIG9wYWNpdHk6IDE7XG5cbiAgICAgICAgLy8gQWRqdXN0IGZvciBSVEwgbGFuZ3VhZ2VzXG4gICAgICAgIFtkaXI9XCJydGxcIl0gJiB7XG4gICAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgICAgbGVmdDogaW5pdGlhbDtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAvLyBBZGp1c3QgZm9yIFJUTCBsYW5ndWFnZXNcbiAgICAgIGh0bWwgW2Rpcj1cInJ0bFwiXSAmIHtcbiAgICAgICAgcmlnaHQ6IDEwMCU7XG4gICAgICAgIGxlZnQ6IGluaXRpYWw7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNSUpO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIFt0YWJsZXQgbGFuZHNjYXBlICtdOiBIZWFkZXItZW1iZWRkZWQgc2VhcmNoXG4gICAgQGluY2x1ZGUgYnJlYWstZnJvbS1kZXZpY2UodGFibGV0IGxhbmRzY2FwZSkge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgd2lkdGg6IHB4MnJlbSgyMzBweCk7XG4gICAgICBtYXJnaW4tcmlnaHQ6IHB4MnJlbSgxNnB4KTtcbiAgICAgIHBhZGRpbmc6IHB4MnJlbSgycHgpIDA7XG4gICAgICBmbG9hdDogcmlnaHQ7XG4gICAgICB0cmFuc2l0aW9uOiB3aWR0aCAwLjI1cyBjdWJpYy1iZXppZXIoMC4xLCAwLjcsIDAuMSwgMSk7XG5cbiAgICAgIC8vIEFkanVzdCBmb3IgUlRMIGxhbmd1YWdlc1xuICAgICAgW2Rpcj1cInJ0bFwiXSAmIHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiBpbml0aWFsO1xuICAgICAgICBtYXJnaW4tbGVmdDogcHgycmVtKDE2cHgpO1xuICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBbc2NyZWVuICtdOiBJbmNyZWFzZSBzcGFjaW5nIG9mIHNlYXJjaCBiYXJcbiAgICBAaW5jbHVkZSBicmVhay1mcm9tLWRldmljZShzY3JlZW4pIHtcbiAgICAgIG1hcmdpbi1yaWdodDogcHgycmVtKDI0cHgpO1xuXG4gICAgICAvLyBBZGp1c3QgZm9yIFJUTCBsYW5ndWFnZXNcbiAgICAgIFtkaXI9XCJydGxcIl0gJiB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiBweDJyZW0oMjRweCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gU2V0IG1heGltdW0gd2lkdGhcbiAgICAjeyRtZC10b2dnbGVfX3NlYXJjaC0tY2hlY2tlZH0gJiB7XG5cbiAgICAgIC8vIFt0YWJsZXQgbGFuZHNjYXBlXTogRG8gbm90IG92ZXJsYXkgdGl0bGVcbiAgICAgIEBpbmNsdWRlIGJyZWFrLWF0LWRldmljZSh0YWJsZXQgbGFuZHNjYXBlKSB7XG4gICAgICAgIHdpZHRoOiBweDJyZW0oNDY4cHgpO1xuICAgICAgfVxuXG4gICAgICAvLyBbc2NyZWVuICtdOiBNYXRjaCBjb250ZW50IHdpZHRoXG4gICAgICBAaW5jbHVkZSBicmVhay1mcm9tLWRldmljZShzY3JlZW4pIHtcbiAgICAgICAgd2lkdGg6IHB4MnJlbSg2ODhweCk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gU2VhcmNoIGZvcm1cbiAgJl9fZm9ybSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgLy8gW3RhYmxldCBsYW5kc2NhcGUgK106IEhlYWRlci1lbWJlZGRlZCBzZWFyY2hcbiAgICBAaW5jbHVkZSBicmVhay1mcm9tLWRldmljZSh0YWJsZXQgbGFuZHNjYXBlKSB7XG4gICAgICBib3JkZXItcmFkaXVzOiBweDJyZW0oMnB4KTtcbiAgICB9XG4gIH1cblxuICAvLyBTZWFyY2ggaW5wdXRcbiAgJl9faW5wdXQge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBwYWRkaW5nOiAwIHB4MnJlbSg0NHB4KSAwIHB4MnJlbSg3MnB4KTtcbiAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgICB6LWluZGV4OiAyO1xuXG4gICAgLy8gQWRqdXN0IGZvciBSVEwgbGFuZ3VhZ2VzXG4gICAgW2Rpcj1cInJ0bFwiXSAmIHtcbiAgICAgIHBhZGRpbmc6IDAgcHgycmVtKDcycHgpIDAgcHgycmVtKDQ0cHgpO1xuICAgIH1cblxuICAgIC8vIFRyYW5zaXRpb24gb24gcGxhY2Vob2xkZXJcbiAgICAmOjpwbGFjZWhvbGRlciB7XG4gICAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjI1cyBjdWJpYy1iZXppZXIoMC4xLCAwLjcsIDAuMSwgMSk7XG4gICAgfVxuXG4gICAgLy8gUGxhY2Vob2xkZXIgYW5kIGljb24gY29sb3IgaW4gYWN0aXZlIHN0YXRlXG4gICAgfiAubWQtc2VhcmNoX19pY29uLFxuICAgICY6OnBsYWNlaG9sZGVyIHtcbiAgICAgIGNvbG9yOiAkbWQtY29sb3ItYmxhY2stLWxpZ2h0O1xuICAgIH1cblxuICAgIC8vIFJlbW92ZSB0aGUgXCJ4XCIgcmVuZGVyZWQgYnkgSW50ZXJuZXQgRXhwbG9yZXJcbiAgICAmOjotbXMtY2xlYXIge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG5cbiAgICAvLyBbdGFibGV0IHBvcnRyYWl0IC1dOiBGdWxsLXNjcmVlbiBzZWFyY2ggYmFyXG4gICAgQGluY2x1ZGUgYnJlYWstdG8tZGV2aWNlKHRhYmxldCBwb3J0cmFpdCkge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBoZWlnaHQ6IHB4MnJlbSg0OHB4KTtcbiAgICAgIGZvbnQtc2l6ZTogcHgycmVtKDE4cHgpO1xuICAgIH1cblxuICAgIC8vIFt0YWJsZXQgbGFuZHNjYXBlICtdOiBIZWFkZXItZW1iZWRkZWQgc2VhcmNoXG4gICAgQGluY2x1ZGUgYnJlYWstZnJvbS1kZXZpY2UodGFibGV0IGxhbmRzY2FwZSkge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBoZWlnaHQ6IHB4MnJlbSgzNnB4KTtcbiAgICAgIHBhZGRpbmctbGVmdDogcHgycmVtKDQ0cHgpO1xuICAgICAgdHJhbnNpdGlvbjpcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvciAwLjI1cyBjdWJpYy1iZXppZXIoMC4xLCAwLjcsIDAuMSwgMSksXG4gICAgICAgIGNvbG9yICAgICAgICAgICAgMC4yNXMgY3ViaWMtYmV6aWVyKDAuMSwgMC43LCAwLjEsIDEpO1xuICAgICAgYm9yZGVyLXJhZGl1czogcHgycmVtKDJweCk7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbWQtY29sb3ItYmxhY2stLWxpZ2h0ZXI7XG4gICAgICBjb2xvcjogaW5oZXJpdDtcbiAgICAgIGZvbnQtc2l6ZTogbXMoMCk7XG5cbiAgICAgIC8vIEFkanVzdCBmb3IgUlRMIGxhbmd1YWdlc1xuICAgICAgW2Rpcj1cInJ0bFwiXSAmIHtcbiAgICAgICAgcGFkZGluZy1yaWdodDogcHgycmVtKDQ0cHgpO1xuICAgICAgfVxuXG4gICAgICAvLyBJY29uIGNvbG9yXG4gICAgICArIC5tZC1zZWFyY2hfX2ljb24ge1xuICAgICAgICBjb2xvcjogaW5oZXJpdDtcbiAgICAgIH1cblxuICAgICAgLy8gUGxhY2Vob2xkZXIgY29sb3JcbiAgICAgICY6OnBsYWNlaG9sZGVyIHtcbiAgICAgICAgY29sb3I6ICRtZC1jb2xvci13aGl0ZS0tbGlnaHQ7XG4gICAgICB9XG5cbiAgICAgIC8vIEhvdmVyZWQgc2VhcmNoIGZpZWxkXG4gICAgICAmOmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJG1kLWNvbG9yLXdoaXRlLS1saWdodGVzdDtcbiAgICAgIH1cblxuICAgICAgLy8gU2V0IGxpZ2h0IGJhY2tncm91bmQgb24gYWN0aXZlIHNlYXJjaCBmaWVsZFxuICAgICAgI3skbWQtdG9nZ2xlX19zZWFyY2gtLWNoZWNrZWR9ICYge1xuICAgICAgICBib3JkZXItcmFkaXVzOiBweDJyZW0oMnB4KSBweDJyZW0oMnB4KSAwIDA7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRtZC1jb2xvci13aGl0ZTtcbiAgICAgICAgY29sb3I6ICRtZC1jb2xvci1ibGFjaztcbiAgICAgICAgdGV4dC1vdmVyZmxvdzogY2xpcDtcblxuICAgICAgICAvLyBQbGFjZWhvbGRlciBhbmQgaWNvbiBjb2xvciBpbiBhY3RpdmUgc3RhdGVcbiAgICAgICAgKyAubWQtc2VhcmNoX19pY29uLFxuICAgICAgICAmOjpwbGFjZWhvbGRlciB7XG4gICAgICAgICAgY29sb3I6ICRtZC1jb2xvci1ibGFjay0tbGlnaHQ7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBJY29uc1xuICAmX19pY29uIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdHJhbnNpdGlvbjpcbiAgICAgIGNvbG9yICAgMC4yNXMgY3ViaWMtYmV6aWVyKDAuMSwgMC43LCAwLjEsIDEpLFxuICAgICAgb3BhY2l0eSAwLjI1cztcbiAgICBmb250LXNpemU6ICRtZC1pY29uLXNpemU7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIHotaW5kZXg6IDI7XG5cbiAgICAvLyBIb3ZlcmVkIGljb25cbiAgICAmOmhvdmVyIHtcbiAgICAgIG9wYWNpdHk6IDAuNztcbiAgICB9XG5cbiAgICAvLyBTZWFyY2ggaWNvblxuICAgICZbZm9yPVwiX19zZWFyY2hcIl0ge1xuICAgICAgdG9wOiBweDJyZW0oNnB4KTtcbiAgICAgIGxlZnQ6IHB4MnJlbSgxMHB4KTtcblxuICAgICAgLy8gQWRqdXN0IGZvciBSVEwgbGFuZ3VhZ2VzXG4gICAgICBbZGlyPVwicnRsXCJdICYge1xuICAgICAgICByaWdodDogcHgycmVtKDEwcHgpO1xuICAgICAgICBsZWZ0OiBpbml0aWFsO1xuICAgICAgfVxuXG4gICAgICAvLyBTZXQgc2VhcmNoIGljb24gb24gcHNldWRvIGNsYXNzLCBzbyBpdCBjYW4gYmUgb3ZlcnJpZGRlbiBmb3IgbW9iaWxlXG4gICAgICAvLyBhbmQgdGFibGV0IHdoZW4gdGhlIHNlYXJjaCBpcyByZW5kZXJlZCBpbiBhbiBvdmVybGF5XG4gICAgICAmOjpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiBcIlxcRThCNlwiOyAvLyBzZWFyY2hcbiAgICAgIH1cblxuICAgICAgLy8gW3RhYmxldCBwb3J0cmFpdCAtXTogRnVsbC1zY3JlZW4gc2VhcmNoIGJhclxuICAgICAgQGluY2x1ZGUgYnJlYWstdG8tZGV2aWNlKHRhYmxldCBwb3J0cmFpdCkge1xuICAgICAgICB0b3A6IHB4MnJlbSgxMnB4KTtcbiAgICAgICAgbGVmdDogcHgycmVtKDE2cHgpO1xuXG4gICAgICAgIC8vIFNob3cgYmFjayBhcnJvdyBpbnN0ZWFkIG9mIHNlYXJjaCBpY29uXG4gICAgICAgICZbZm9yPVwiX19zZWFyY2hcIl06OmJlZm9yZSB7XG4gICAgICAgICAgY29udGVudDogXCJcXEU1QzRcIjsgLy8gYXJyb3dfYmFja1xuXG4gICAgICAgICAgLy8gQWRqdXN0IGZvciBSVEwgbGFuZ3VhZ2VzXG4gICAgICAgICAgW2Rpcj1cInJ0bFwiXSAmIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6IFwiXFxFNUM4XCI7IC8vIGFycm93X2ZvcndhcmRcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBSZXNldCBidXR0b25cbiAgICAmW3R5cGU9XCJyZXNldFwiXSB7XG4gICAgICB0b3A6IHB4MnJlbSg2cHgpO1xuICAgICAgcmlnaHQ6IHB4MnJlbSgxMHB4KTtcbiAgICAgIHRyYW5zZm9ybTogc2NhbGUoMC4xMjUpO1xuICAgICAgdHJhbnNpdGlvbjpcbiAgICAgICAgdHJhbnNmb3JtIDAuMTVzIGN1YmljLWJlemllcigwLjEsIDAuNywgMC4xLCAxKSxcbiAgICAgICAgb3BhY2l0eSAgIDAuMTVzO1xuICAgICAgb3BhY2l0eTogMDtcblxuICAgICAgLy8gQWRqdXN0IGZvciBSVEwgbGFuZ3VhZ2VzXG4gICAgICBbZGlyPVwicnRsXCJdICYge1xuICAgICAgICByaWdodDogaW5pdGlhbDtcbiAgICAgICAgbGVmdDogcHgycmVtKDEwcHgpO1xuICAgICAgfVxuXG4gICAgICAvLyBbdGFibGV0IHBvcnRyYWl0IC1dOiBGdWxsLXNjcmVlbiBzZWFyY2ggYmFyXG4gICAgICBAaW5jbHVkZSBicmVhay10by1kZXZpY2UodGFibGV0IHBvcnRyYWl0KSB7XG4gICAgICAgIHRvcDogcHgycmVtKDEycHgpO1xuICAgICAgICByaWdodDogcHgycmVtKDE2cHgpO1xuICAgICAgfVxuXG4gICAgICAvLyBTaG93IHJlc2V0IGJ1dHRvbiBpZiBzZWFyY2ggaXMgYWN0aXZlIGFuZCBpbnB1dCBub24tZW1wdHlcbiAgICAgICN7JG1kLXRvZ2dsZV9fc2VhcmNoLS1jaGVja2VkfSAubWQtc2VhcmNoX19pbnB1dDp2YWxpZCB+ICYge1xuICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xuICAgICAgICBvcGFjaXR5OiAxO1xuXG4gICAgICAgIC8vIEhvdmVyZWQgaWNvblxuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICBvcGFjaXR5OiAwLjc7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBTZWFyY2ggb3V0cHV0IGNvbnRhaW5lclxuICAmX19vdXRwdXQge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBib3JkZXItcmFkaXVzOiAwIDAgcHgycmVtKDJweCkgcHgycmVtKDJweCk7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB6LWluZGV4OiAxO1xuXG4gICAgLy8gW3RhYmxldCBwb3J0cmFpdCAtXTogRnVsbC1zY3JlZW4gc2VhcmNoIGJhclxuICAgIEBpbmNsdWRlIGJyZWFrLXRvLWRldmljZSh0YWJsZXQgcG9ydHJhaXQpIHtcbiAgICAgIHRvcDogcHgycmVtKDQ4cHgpO1xuICAgICAgYm90dG9tOiAwO1xuICAgIH1cblxuICAgIC8vIFt0YWJsZXQgbGFuZHNjYXBlICtdOiBIZWFkZXItZW1iZWRkZWQgc2VhcmNoXG4gICAgQGluY2x1ZGUgYnJlYWstZnJvbS1kZXZpY2UodGFibGV0IGxhbmRzY2FwZSkge1xuICAgICAgdG9wOiBweDJyZW0oMzhweCk7XG4gICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuNHM7XG4gICAgICBvcGFjaXR5OiAwO1xuXG4gICAgICAvLyBTaG93IHNlYXJjaCBvdXRwdXQgaW4gYWN0aXZlIHN0YXRlXG4gICAgICAjeyRtZC10b2dnbGVfX3NlYXJjaC0tY2hlY2tlZH0gJiB7XG4gICAgICAgIEBpbmNsdWRlIHotZGVwdGgoNik7XG5cbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBXcmFwcGVyIGZvciBzY3JvbGxpbmcgb24gb3ZlcmZsb3dcbiAgJl9fc2Nyb2xsd3JhcCB7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRtZC1jb2xvci13aGl0ZTtcbiAgICBib3gtc2hhZG93OiAwIHB4MnJlbSgxcHgpIDAgJG1kLWNvbG9yLWJsYWNrLS1saWdodGVzdCBpbnNldDtcbiAgICBvdmVyZmxvdy15OiBhdXRvO1xuICAgIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcblxuICAgIC8vIFt0YWJsZXQgbGFuZHNjYXBlXTogU2V0IGFic29sdXRlIHdpZHRoIHRvIG9taXQgdW5uZWNlc3NhcnkgcmVmbG93XG4gICAgQGluY2x1ZGUgYnJlYWstYXQtZGV2aWNlKHRhYmxldCBsYW5kc2NhcGUpIHtcbiAgICAgIHdpZHRoOiBweDJyZW0oNDY4cHgpO1xuICAgIH1cblxuICAgIC8vIFtzY3JlZW4gK106IFNldCBhYnNvbHV0ZSB3aWR0aCB0byBvbWl0IHVubmVjZXNzYXJ5IHJlZmxvd1xuICAgIEBpbmNsdWRlIGJyZWFrLWZyb20tZGV2aWNlKHNjcmVlbikge1xuICAgICAgd2lkdGg6IHB4MnJlbSg2ODhweCk7XG4gICAgfVxuXG4gICAgLy8gW3RhYmxldCBsYW5kc2NhcGUgK106IExpbWl0IGhlaWdodCB0byB2aWV3cG9ydFxuICAgIEBpbmNsdWRlIGJyZWFrLWZyb20tZGV2aWNlKHRhYmxldCBsYW5kc2NhcGUpIHtcbiAgICAgIG1heC1oZWlnaHQ6IDA7XG5cbiAgICAgIC8vIEV4cGFuZCBpbiBhY3RpdmUgc3RhdGVcbiAgICAgICN7JG1kLXRvZ2dsZV9fc2VhcmNoLS1jaGVja2VkfSAmIHtcbiAgICAgICAgbWF4LWhlaWdodDogNzV2aDtcbiAgICAgIH1cblxuICAgICAgLy8gT3ZlcnJpZGUgbmF0aXZlIHNjcm9sbGJhciBzdHlsZXNcbiAgICAgICY6Oi13ZWJraXQtc2Nyb2xsYmFyIHtcbiAgICAgICAgd2lkdGg6IHB4MnJlbSg0cHgpO1xuICAgICAgICBoZWlnaHQ6IHB4MnJlbSg0cHgpO1xuICAgICAgfVxuXG4gICAgICAvLyBTdHlsZSBzY3JvbGxiYXIgdGh1bWJcbiAgICAgICY6Oi13ZWJraXQtc2Nyb2xsYmFyLXRodW1iIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJG1kLWNvbG9yLWJsYWNrLS1saWdodGVyO1xuXG4gICAgICAgIC8vIEhvdmVyZWQgc2Nyb2xsYmFyIHRodW1iXG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRtZC1jb2xvci1hY2NlbnQ7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8gU2VhcmNoIHJlc3VsdFxuLm1kLXNlYXJjaC1yZXN1bHQge1xuICBjb2xvcjogJG1kLWNvbG9yLWJsYWNrO1xuICB3b3JkLWJyZWFrOiBicmVhay13b3JkO1xuXG4gIC8vIFNlYXJjaCBtZXRhZGF0YVxuICAmX19tZXRhIHtcbiAgICBwYWRkaW5nOiAwIHB4MnJlbSgxNnB4KTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbWQtY29sb3ItYmxhY2stLWxpZ2h0ZXN0O1xuICAgIGNvbG9yOiAkbWQtY29sb3ItYmxhY2stLWxpZ2h0O1xuICAgIGZvbnQtc2l6ZTogbXMoLTEpO1xuICAgIGxpbmUtaGVpZ2h0OiBweDJyZW0oMzZweCk7XG5cbiAgICAvLyBbdGFibGV0IGxhbmRzY2FwZSArXTogSW5jcmVhc2UgbGVmdCBpbmRlbnRcbiAgICBAaW5jbHVkZSBicmVhay1mcm9tLWRldmljZSh0YWJsZXQgbGFuZHNjYXBlKSB7XG4gICAgICBwYWRkaW5nLWxlZnQ6IHB4MnJlbSg0NHB4KTtcblxuICAgICAgLy8gQWRqdXN0IGZvciBSVEwgbGFuZ3VhZ2VzXG4gICAgICBbZGlyPVwicnRsXCJdICYge1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiBweDJyZW0oNDRweCk7XG4gICAgICAgIHBhZGRpbmctbGVmdDogaW5pdGlhbDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBMaXN0IG9mIGl0ZW1zXG4gICZfX2xpc3Qge1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGJvcmRlci10b3A6IHB4MnJlbSgxcHgpIHNvbGlkICRtZC1jb2xvci1ibGFjay0tbGlnaHRlc3Q7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgfVxuXG4gIC8vIExpc3QgaXRlbVxuICAmX19pdGVtIHtcbiAgICBib3gtc2hhZG93OiAwIHB4MnJlbSgtMXB4KSAwICRtZC1jb2xvci1ibGFjay0tbGlnaHRlc3Q7XG4gIH1cblxuICAvLyBMaW5rIGluc2lkZSBpdGVtXG4gICZfX2xpbmsge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQgMC4yNXM7XG4gICAgb3V0bGluZTogMDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gICAgLy8gQWN0aXZlIG9yIGhvdmVyZWQgbGlua1xuICAgICZbZGF0YS1tZC1zdGF0ZT1cImFjdGl2ZVwiXSxcbiAgICAmOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50aXplKCRtZC1jb2xvci1hY2NlbnQsIDAuOSk7XG5cbiAgICAgIC8vIFNsaWdodGx5IHRyYW5zcGFyZW50IGljb25cbiAgICAgIC5tZC1zZWFyY2gtcmVzdWx0X19hcnRpY2xlOjpiZWZvcmUge1xuICAgICAgICBvcGFjaXR5OiAwLjc7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gQWRkIGEgbGl0dGxlIHNwYWNpbmcgb24gdGhlIHRlYXNlciBvZiB0aGUgbGFzdCBsaW5rXG4gICAgJjpsYXN0LWNoaWxkIC5tZC1zZWFyY2gtcmVzdWx0X190ZWFzZXIge1xuICAgICAgbWFyZ2luLWJvdHRvbTogcHgycmVtKDEycHgpO1xuICAgIH1cbiAgfVxuXG4gIC8vIEFydGljbGUgLSBkb2N1bWVudCBvciBzZWN0aW9uXG4gICZfX2FydGljbGUge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBwYWRkaW5nOiAwIHB4MnJlbSgxNnB4KTtcbiAgICBvdmVyZmxvdzogYXV0bztcblxuICAgIC8vIFt0YWJsZXQgbGFuZHNjYXBlICtdOiBJbmNyZWFzZSBsZWZ0IGluZGVudFxuICAgIEBpbmNsdWRlIGJyZWFrLWZyb20tZGV2aWNlKHRhYmxldCBsYW5kc2NhcGUpIHtcbiAgICAgIHBhZGRpbmctbGVmdDogcHgycmVtKDQ0cHgpO1xuXG4gICAgICAvLyBBZGp1c3QgZm9yIFJUTCBsYW5ndWFnZXNcbiAgICAgIFtkaXI9XCJydGxcIl0gJiB7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IHB4MnJlbSg0NHB4KTtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiBweDJyZW0oMTZweCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gRG9jdW1lbnRcbiAgICAmLS1kb2N1bWVudCB7XG5cbiAgICAgIC8vIEljb25cbiAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgIEBleHRlbmQgJW1kLWljb24sICVtZC1pY29uX19idXR0b247XG5cbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICBtYXJnaW46IHB4MnJlbSgycHgpO1xuICAgICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuMjVzO1xuICAgICAgICBjb2xvcjogJG1kLWNvbG9yLWJsYWNrLS1saWdodDtcbiAgICAgICAgY29udGVudDogXCJcXEU4ODBcIjsgLy8gZmluZF9pbl9wYWdlXG5cbiAgICAgICAgLy8gQWRqdXN0IGZvciBSVEwgbGFuZ3VhZ2VzXG4gICAgICAgIFtkaXI9XCJydGxcIl0gJiB7XG4gICAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgICAgbGVmdDogaW5pdGlhbDtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIFt0YWJsZXQgcG9ydHJhaXQgLV06IEhpZGUgcGFnZSBpY29uXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrLXRvLWRldmljZSh0YWJsZXQgcG9ydHJhaXQpIHtcbiAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC8vIFRpdGxlXG4gICAgICAubWQtc2VhcmNoLXJlc3VsdF9fdGl0bGUge1xuICAgICAgICBtYXJnaW46IHB4MnJlbSgxMXB4KSAwO1xuICAgICAgICBmb250LXNpemU6IG1zKDApO1xuICAgICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgICBsaW5lLWhlaWdodDogMS40O1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIFRpdGxlXG4gICZfX3RpdGxlIHtcbiAgICBtYXJnaW46IDAuNWVtIDA7XG4gICAgZm9udC1zaXplOiBtcygtMSk7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBsaW5lLWhlaWdodDogMS40O1xuICB9XG5cbiAgLy8gc3R5bGVsaW50LWRpc2FibGUgdmFsdWUtbm8tdmVuZG9yLXByZWZpeCwgcHJvcGVydHktbm8tdmVuZG9yLXByZWZpeFxuXG4gIC8vIFRlYXNlclxuICAmX190ZWFzZXIge1xuICAgIGRpc3BsYXk6IC13ZWJraXQtYm94O1xuICAgIG1heC1oZWlnaHQ6IHB4MnJlbSgzM3B4KTtcbiAgICBtYXJnaW46IDAuNWVtIDA7XG4gICAgY29sb3I6ICRtZC1jb2xvci1ibGFjay0tbGlnaHQ7XG4gICAgZm9udC1zaXplOiBtcygtMSk7XG4gICAgbGluZS1oZWlnaHQ6IDEuNDtcbiAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIC13ZWJraXQtYm94LW9yaWVudDogdmVydGljYWw7XG4gICAgLXdlYmtpdC1saW5lLWNsYW1wOiAyO1xuXG4gICAgLy8gW21vYmlsZSAtXTogSW5jcmVhc2UgbnVtYmVyIG9mIGxpbmVzXG4gICAgQGluY2x1ZGUgYnJlYWstdG8tZGV2aWNlKG1vYmlsZSkge1xuICAgICAgbWF4LWhlaWdodDogcHgycmVtKDUwcHgpO1xuICAgICAgLXdlYmtpdC1saW5lLWNsYW1wOiAzO1xuICAgIH1cblxuICAgIC8vIFt0YWJsZXQgbGFuZHNjYXBlXTogSW5jcmVhc2UgbnVtYmVyIG9mIGxpbmVzXG4gICAgQGluY2x1ZGUgYnJlYWstYXQtZGV2aWNlKHRhYmxldCBsYW5kc2NhcGUpIHtcbiAgICAgIG1heC1oZWlnaHQ6IHB4MnJlbSg1MHB4KTtcbiAgICAgIC13ZWJraXQtbGluZS1jbGFtcDogMztcbiAgICB9XG4gIH1cblxuICAvLyBzdHlsZWxpbnQtZW5hYmxlIHZhbHVlLW5vLXZlbmRvci1wcmVmaXgsIHByb3BlcnR5LW5vLXZlbmRvci1wcmVmaXhcblxuICAvLyBTZWFyY2ggdGVybSBoaWdobGlnaHRpbmdcbiAgZW0ge1xuICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICB9XG59XG4iLCIvLy8vXG4vLy8gQ29weXJpZ2h0IChjKSAyMDE2LTIwMjAgTWFydGluIERvbmF0aCA8bWFydGluLmRvbmF0aEBzcXVpZGZ1bmsuY29tPlxuLy8vXG4vLy8gUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0YWluaW5nIGFcbi8vLyBjb3B5IG9mIHRoaXMgc29mdHdhcmUgYW5kIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlIFwiU29mdHdhcmVcIiksXG4vLy8gdG8gZGVhbCBpbiB0aGUgU29mdHdhcmUgd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nIHdpdGhvdXQgbGltaXRhdGlvblxuLy8vIHRoZSByaWdodHMgdG8gdXNlLCBjb3B5LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNoLCBkaXN0cmlidXRlLCBzdWJsaWNlbnNlLFxuLy8vIGFuZC9vciBzZWxsIGNvcGllcyBvZiB0aGUgU29mdHdhcmUsIGFuZCB0byBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZVxuLy8vIFNvZnR3YXJlIGlzIGZ1cm5pc2hlZCB0byBkbyBzbywgc3ViamVjdCB0byB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6XG4vLy9cbi8vLyBUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBiZSBpbmNsdWRlZCBpblxuLy8vIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIFNvZnR3YXJlLlxuLy8vXG4vLy8gVEhFIFNPRlRXQVJFIElTIFBST1ZJREVEIFwiQVMgSVNcIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwgRVhQUkVTUyBPUlxuLy8vIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZLFxuLy8vIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT04tSU5GUklOR0VNRU5ULiBJTiBOTyBFVkVOVCBTSEFMTFxuLy8vIFRIRSBBVVRIT1JTIE9SIENPUFlSSUdIVCBIT0xERVJTIEJFIExJQUJMRSBGT1IgQU5ZIENMQUlNLCBEQU1BR0VTIE9SIE9USEVSXG4vLy8gTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkdcbi8vLyBGUk9NLCBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRSBTT0ZUV0FSRSBPUiBUSEUgVVNFIE9SIE9USEVSXG4vLy8gREVBTElOR1Ncbi8vLy9cblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gVmFyaWFibGVzXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi8vIEFjdGl2ZSAodG9nZ2xlZCkgZHJhd2VyXG4kbWQtdG9nZ2xlX19kcmF3ZXItLWNoZWNrZWQ6XG4gIFwiW2RhdGEtbWQtdG9nZ2xlPVxcXCJkcmF3ZXJcXFwiXTpjaGVja2VkIH4gLm1kLWNvbnRhaW5lclwiO1xuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBSdWxlc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4vLyBTaWRlYmFyIGNvbnRhaW5lclxuLm1kLXNpZGViYXIge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHdpZHRoOiBweDJyZW0oMjQycHgpO1xuICBwYWRkaW5nOiBweDJyZW0oMjRweCkgMDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICAvLyBIaWRlIGZvciBwcmludFxuICBAbWVkaWEgcHJpbnQge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cblxuICAvLyBMb2NrIHNpZGViYXIgdG8gY29udGFpbmVyIGhlaWdodCAoYWNjb3VudCBmb3IgZml4ZWQgaGVhZGVyKVxuICAmW2RhdGEtbWQtc3RhdGU9XCJsb2NrXCJdIHtcbiAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgdG9wOiBweDJyZW0oNDhweCk7XG4gIH1cblxuICAvLyBbdGFibGV0IC1dOiBDb252ZXJ0IG5hdmlnYXRpb24gdG8gZHJhd2VyXG4gIEBpbmNsdWRlIGJyZWFrLXRvLWRldmljZSh0YWJsZXQpIHtcblxuICAgIC8vIFJlbmRlciBwcmltYXJ5IHNpZGViYXIgYXMgYSBzbGlkZW91dCBjb250YWluZXJcbiAgICAmLS1wcmltYXJ5IHtcbiAgICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICAgIHRvcDogMDtcbiAgICAgIGxlZnQ6IHB4MnJlbSgtMjQycHgpO1xuICAgICAgd2lkdGg6IHB4MnJlbSgyNDJweCk7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XG4gICAgICB0cmFuc2l0aW9uOlxuICAgICAgICB0cmFuc2Zvcm0gIDAuMjVzIGN1YmljLWJlemllcigwLjQsIDAsIDAuMiwgMSksXG4gICAgICAgIGJveC1zaGFkb3cgMC4yNXM7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbWQtY29sb3Itd2hpdGU7XG4gICAgICB6LWluZGV4OiAzO1xuXG4gICAgICAvLyBBZGp1c3QgZm9yIFJUTCBsYW5ndWFnZXNcbiAgICAgIFtkaXI9XCJydGxcIl0gJiB7XG4gICAgICAgIHJpZ2h0OiBweDJyZW0oLTI0MnB4KTtcbiAgICAgICAgbGVmdDogaW5pdGlhbDtcbiAgICAgIH1cblxuICAgICAgLy8gSnVzdCBoaWRlIGRyYXdlciwgaWYgYnJvd3NlciBkb2Vzbid0IHN1cHBvcnQgM0QgdHJhbnNmb3Jtc1xuICAgICAgLm5vLWNzc3RyYW5zZm9ybXMzZCAmIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgIH1cblxuICAgICAgLy8gRXhwYW5kZWQgZHJhd2VyXG4gICAgICAjeyRtZC10b2dnbGVfX2RyYXdlci0tY2hlY2tlZH0gJiB7XG4gICAgICAgIEBpbmNsdWRlIHotZGVwdGgoOCk7XG5cbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKHB4MnJlbSgyNDJweCkpO1xuXG4gICAgICAgIC8vIEFkanVzdCBmb3IgUlRMIGxhbmd1YWdlc1xuICAgICAgICBbZGlyPVwicnRsXCJdICYge1xuICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWChweDJyZW0oLTI0MnB4KSk7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBKdXN0IHNob3cgZHJhd2VyLCBpZiBicm93c2VyIGRvZXNuJ3Qgc3VwcG9ydCAzRCB0cmFuc2Zvcm1zXG4gICAgICAgIC5uby1jc3N0cmFuc2Zvcm1zM2QgJiB7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLy8gSGlkZSBvdmVyZmxvdyBmb3IgbmVzdGVkIG5hdmlnYXRpb25cbiAgICAgIC5tZC1zaWRlYmFyX19zY3JvbGx3cmFwIHtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBTZWNvbmRhcnkgc2lkZWJhciB3aXRoIHRhYmxlIG9mIGNvbnRlbnRzXG4gICYtLXNlY29uZGFyeSB7XG4gICAgZGlzcGxheTogbm9uZTtcblxuICAgIC8vIFt0YWJsZXQgbGFuZHNjYXBlICtdOiBTaG93IHRhYmxlIG9mIGNvbnRlbnRzIG5leHQgdG8gYm9keSBjb3B5XG4gICAgQGluY2x1ZGUgYnJlYWstZnJvbS1kZXZpY2UodGFibGV0IGxhbmRzY2FwZSkge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBtYXJnaW4tbGVmdDogMTAwJTtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC0xMDAlLCAwKTtcblxuICAgICAgLy8gQWRqdXN0IGZvciBSVEwgbGFuZ3VhZ2VzXG4gICAgICBbZGlyPVwicnRsXCJdICYge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDEwMCU7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiBpbml0aWFsO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgxMDAlLCAwKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBbc2NyZWVuICtdOiBMaW1pdCB0byBncmlkXG4gICAgQGluY2x1ZGUgYnJlYWstZnJvbS1kZXZpY2Uoc2NyZWVuKSB7XG4gICAgICBtYXJnaW4tbGVmdDogcHgycmVtKDEyMjBweCk7XG5cbiAgICAgIC8vIEFkanVzdCBmb3IgUlRMIGxhbmd1YWdlc1xuICAgICAgW2Rpcj1cInJ0bFwiXSAmIHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiBweDJyZW0oMTIyMHB4KTtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IGluaXRpYWw7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gV3JhcHBlciBmb3Igc2Nyb2xsaW5nIG9uIG92ZXJmbG93XG4gICZfX3Njcm9sbHdyYXAge1xuICAgIG1heC1oZWlnaHQ6IDEwMCU7XG4gICAgbWFyZ2luOiAwIHB4MnJlbSg0cHgpO1xuICAgIG92ZXJmbG93LXk6IGF1dG87XG4gICAgLy8gSGFjazogcHV0dGluZyB0aGUgc2Nyb2xsIHdyYXBwZXIgb24gdGhlIEdQVSBtYXNzaXZlbHkgcmVkdWNlcyBqaXR0ZXJcbiAgICAvLyB3aGVuIGxvY2tpbmcgdGhlIHNpZGViYXJzIGludG8gcGxhY2VcbiAgICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG5cbiAgICAvLyBbdGFibGV0IC1dOiBBZGp1c3QgbWFyZ2luc1xuICAgIEBpbmNsdWRlIGJyZWFrLXRvLWRldmljZSh0YWJsZXQpIHtcblxuICAgICAgLy8gU3RyZXRjaCBzY3JvbGx3cmFwIGZvciBwcmltYXJ5IHNpZGViYXJcbiAgICAgIC5tZC1zaWRlYmFyLS1wcmltYXJ5ICYge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIE92ZXJyaWRlIG5hdGl2ZSBzY3JvbGxiYXIgc3R5bGVzXG4gICAgJjo6LXdlYmtpdC1zY3JvbGxiYXIge1xuICAgICAgd2lkdGg6IHB4MnJlbSg0cHgpO1xuICAgICAgaGVpZ2h0OiBweDJyZW0oNHB4KTtcbiAgICB9XG5cbiAgICAvLyBTdHlsZSBzY3JvbGxiYXIgdGh1bWJcbiAgICAmOjotd2Via2l0LXNjcm9sbGJhci10aHVtYiB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbWQtY29sb3ItYmxhY2stLWxpZ2h0ZXI7XG5cbiAgICAgIC8vIEhvdmVyZWQgc2Nyb2xsYmFyIHRodW1iXG4gICAgICAmOmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJG1kLWNvbG9yLWFjY2VudDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vLy9cbi8vLyBDb3B5cmlnaHQgKGMpIDIwMTYtMjAyMCBNYXJ0aW4gRG9uYXRoIDxtYXJ0aW4uZG9uYXRoQHNxdWlkZnVuay5jb20+XG4vLy9cbi8vLyBQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYVxuLy8vIGNvcHkgb2YgdGhpcyBzb2Z0d2FyZSBhbmQgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGUgXCJTb2Z0d2FyZVwiKSxcbi8vLyB0byBkZWFsIGluIHRoZSBTb2Z0d2FyZSB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcgd2l0aG91dCBsaW1pdGF0aW9uXG4vLy8gdGhlIHJpZ2h0cyB0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsXG4vLy8gYW5kL29yIHNlbGwgY29waWVzIG9mIHRoZSBTb2Z0d2FyZSwgYW5kIHRvIHBlcm1pdCBwZXJzb25zIHRvIHdob20gdGhlXG4vLy8gU29mdHdhcmUgaXMgZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczpcbi8vL1xuLy8vIFRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIHNoYWxsIGJlIGluY2x1ZGVkIGluXG4vLy8gYWxsIGNvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUgU29mdHdhcmUuXG4vLy9cbi8vLyBUSEUgU09GVFdBUkUgSVMgUFJPVklERUQgXCJBUyBJU1wiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELCBFWFBSRVNTIE9SXG4vLy8gSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFksXG4vLy8gRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTi1JTkZSSU5HRU1FTlQuIElOIE5PIEVWRU5UIFNIQUxMXG4vLy8gVEhFIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkgQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVJcbi8vLyBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULCBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lOR1xuLy8vIEZST00sIE9VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhFIFNPRlRXQVJFIE9SIFRIRSBVU0UgT1IgT1RIRVJcbi8vLyBERUFMSU5HU1xuLy8vL1xuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBLZXlmcmFtZXNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLy8gU2hvdyBzb3VyY2UgZmFjdHNcbkBrZXlmcmFtZXMgbWQtc291cmNlX19mYWN0cy0tZG9uZSB7XG4gIDAlIHtcbiAgICBoZWlnaHQ6IDA7XG4gIH1cblxuICAxMDAlIHtcbiAgICBoZWlnaHQ6IHB4MnJlbSgxM3B4KTtcbiAgfVxufVxuXG4vLyBTaG93IHNvdXJjZSBmYWN0XG5Aa2V5ZnJhbWVzIG1kLXNvdXJjZV9fZmFjdC0tZG9uZSB7XG4gIDAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMTAwJSk7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxuXG4gIDUwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxuXG4gIDEwMCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwJSk7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxufVxuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBSdWxlc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4vLyBTb3VyY2UgY29udGFpbmVyXG4ubWQtc291cmNlIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBhZGRpbmctcmlnaHQ6IHB4MnJlbSgxMnB4KTtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjI1cztcbiAgZm9udC1zaXplOiBweDJyZW0oMTNweCk7XG4gIGxpbmUtaGVpZ2h0OiAxLjI7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG5cbiAgLy8gQWRqdXN0IGZvciBSVEwgbGFuZ3VhZ2VzXG4gIFtkaXI9XCJydGxcIl0gJiB7XG4gICAgcGFkZGluZy1yaWdodDogaW5pdGlhbDtcbiAgICBwYWRkaW5nLWxlZnQ6IHB4MnJlbSgxMnB4KTtcbiAgfVxuXG4gIC8vIEhvdmVyZWQgc291cmNlIGNvbnRhaW5lclxuICAmOmhvdmVyIHtcbiAgICBvcGFjaXR5OiAwLjc7XG4gIH1cblxuICAvLyBOZWNlc3NhcnkgZm9yIHZlcnRpY2FsIGFsaWdubWVudFxuICAmOjphZnRlciB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGhlaWdodDogcHgycmVtKDQ4cHgpO1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgfVxuXG4gIC8vIFJlcG9zaXRvcnkgcGxhdGZvcm0gaWNvblxuICAmX19pY29uIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgd2lkdGg6IHB4MnJlbSg0OHB4KTtcbiAgICBoZWlnaHQ6IHB4MnJlbSg0OHB4KTtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG5cbiAgICAvLyBBbGlnbiBTVkcsIGRvIG5vdCBzY2FsZSwgYXMgdGhpcyB3aWxsIGluY3VyIHN0cmFuZ2UgZm9ybWF0dGluZyBidWdzXG4gICAgLy8gaW4gSW50ZXJuZXQgRXhwbG9yZXIgYW5kIEVkZ2VcbiAgICBzdmcge1xuICAgICAgd2lkdGg6IHB4MnJlbSgyNHB4KTtcbiAgICAgIGhlaWdodDogcHgycmVtKDI0cHgpO1xuICAgICAgbWFyZ2luLXRvcDogcHgycmVtKDEycHgpO1xuICAgICAgbWFyZ2luLWxlZnQ6IHB4MnJlbSgxMnB4KTtcblxuICAgICAgLy8gQWRqdXN0IGZvciBSVEwgbGFuZ3VhZ2VzXG4gICAgICBbZGlyPVwicnRsXCJdICYge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IHB4MnJlbSgxMnB4KTtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IGluaXRpYWw7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gQ29ycmVjdCBhbGlnbm1lbnQsIGlmIGljb24gaXMgcHJlc2VudFxuICAgICsgLm1kLXNvdXJjZV9fcmVwb3NpdG9yeSB7XG4gICAgICBtYXJnaW4tbGVmdDogcHgycmVtKC00MHB4KTtcbiAgICAgIHBhZGRpbmctbGVmdDogcHgycmVtKDQwcHgpO1xuXG4gICAgICAvLyBBZGp1c3QgZm9yIFJUTCBsYW5ndWFnZXNcbiAgICAgIFtkaXI9XCJydGxcIl0gJiB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogcHgycmVtKC00MHB4KTtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IGluaXRpYWw7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IHB4MnJlbSg0MHB4KTtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiBpbml0aWFsO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIFJlcG9zaXRvcnkgbmFtZVxuICAmX19yZXBvc2l0b3J5IHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbi1sZWZ0OiBweDJyZW0oMTJweCk7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIH1cblxuICAvLyBTb3VyY2UgZmFjdHMgKHN0YXRpc3RpY3MgZXRjLilcbiAgJl9fZmFjdHMge1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGZvbnQtc2l6ZTogcHgycmVtKDExcHgpO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xuICAgIG9wYWNpdHk6IDAuNzU7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICAgIC8vIFNob3cgYWZ0ZXIgdGhlIGRhdGEgd2FzIGxvYWRlZFxuICAgIFtkYXRhLW1kLXN0YXRlPVwiZG9uZVwiXSAmIHtcbiAgICAgIGFuaW1hdGlvbjogbWQtc291cmNlX19mYWN0cy0tZG9uZSAwLjI1cyBlYXNlLWluO1xuICAgIH1cbiAgfVxuXG4gIC8vIEZhY3RcbiAgJl9fZmFjdCB7XG4gICAgZmxvYXQ6IGxlZnQ7XG5cbiAgICAvLyBBZGp1c3QgZm9yIFJUTCBsYW5ndWFnZXNcbiAgICBbZGlyPVwicnRsXCJdICYge1xuICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgIH1cblxuICAgIC8vIFNob3cgYWZ0ZXIgdGhlIGRhdGEgd2FzIGxvYWRlZFxuICAgIFtkYXRhLW1kLXN0YXRlPVwiZG9uZVwiXSAmIHtcbiAgICAgIGFuaW1hdGlvbjogbWQtc291cmNlX19mYWN0LS1kb25lIDAuNHMgZWFzZS1vdXQ7XG4gICAgfVxuXG4gICAgLy8gTWlkZGxlIGRvdCBiZWZvcmUgZmFjdFxuICAgICY6OmJlZm9yZSB7XG4gICAgICBtYXJnaW46IDAgcHgycmVtKDJweCk7XG4gICAgICBjb250ZW50OiBcIlxcMDBCN1wiO1xuICAgIH1cblxuICAgIC8vIFJlbW92ZSBtaWRkbGUgZG90IG9uIGZpcnN0IGZhY3RcbiAgICAmOmZpcnN0LWNoaWxkOjpiZWZvcmUge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gIH1cbn1cblxuLy8gU291cmNlIGZpbGVcbi5tZC1zb3VyY2UtZmlsZSB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbWFyZ2luOiAxZW0gMC41ZW0gMWVtIDA7XG4gIHBhZGRpbmctcmlnaHQ6IHB4MnJlbSg1cHgpO1xuICBib3JkZXItcmFkaXVzOiBweDJyZW0oMnB4KTtcbiAgYmFja2dyb3VuZC1jb2xvcjogJG1kLWNvbG9yLWJsYWNrLS1saWdodGVzdDtcbiAgZm9udC1zaXplOiBtcygtMSk7XG4gIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gIC8vIEljb25cbiAgJjo6YmVmb3JlIHtcbiAgICBAZXh0ZW5kICVtZC1pY29uO1xuXG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIG1hcmdpbi1yaWdodDogcHgycmVtKDVweCk7XG4gICAgcGFkZGluZzogcHgycmVtKDVweCk7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJG1kLWNvbG9yLWJsYWNrLS1saWdodGVyO1xuICAgIGNvbG9yOiAkbWQtY29sb3Itd2hpdGU7XG4gICAgZm9udC1zaXplOiBtcygwKTtcbiAgICBjb250ZW50OiBcIlxcRTg2RlwiOyAvLyBjb2RlXG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgfVxuXG4gIC8vIFNvbWUgcHJvcGVydGllcyBuZWVkIHRvIGJlIHNldCB3aXRoIGhpZ2hlciBzcGVjaWZpY2l0eSBkdWUgdG8gdGhlIGRlZmF1bHRcbiAgLy8gc3R5bGluZyBvZiB0ZXh0IGxpbmtzIGluc2lkZSB0eXBlc2V0dGVkIGNvbnRlbnRcbiAgaHRtbCAmIHtcbiAgICB0cmFuc2l0aW9uOlxuICAgICAgYmFja2dyb3VuZCAwLjRzLFxuICAgICAgY29sb3IgICAgICAwLjRzLFxuICAgICAgYm94LXNoYWRvdyAwLjRzIGN1YmljLWJlemllcigwLjQsIDAsIDAuMiwgMSk7XG5cbiAgICAvLyBJY29uXG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIHRyYW5zaXRpb246IGluaGVyaXQ7XG4gICAgfVxuICB9XG5cbiAgLy8gQ29sb3IgbmVlZHMgZXZlbiBoaWdoZXIgc3BlY2lmaXR5IGJlY2F1c2UgY3VzdG9tIGNvbG9yIHBhbGV0dGVzIGFyZSBzZXRcbiAgLy8gdXNpbmcgdGhlIGJvZHkgYW5kIG92ZXJyaWRlIHRleHQgbGlua3MgaW5zaWRlIHR5cGVzZXR0ZWQgY29udGVudFxuICBodG1sIGJvZHkgLm1kLXR5cGVzZXQgJiB7XG4gICAgY29sb3I6ICRtZC1jb2xvci1ibGFjay0tbGlnaHQ7XG4gIH1cblxuICAvLyBIb3ZlcmVkIHNvdXJjZSBmaWxlXG4gICY6aG92ZXIge1xuICAgIEBpbmNsdWRlIHotZGVwdGgtZm9jdXM7XG5cbiAgICAvLyBJY29uXG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRtZC1jb2xvci1hY2NlbnQ7XG4gICAgfVxuICB9XG59XG4iLCIvLy8vXG4vLy8gQ29weXJpZ2h0IChjKSAyMDE2LTIwMjAgTWFydGluIERvbmF0aCA8bWFydGluLmRvbmF0aEBzcXVpZGZ1bmsuY29tPlxuLy8vXG4vLy8gUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0YWluaW5nIGFcbi8vLyBjb3B5IG9mIHRoaXMgc29mdHdhcmUgYW5kIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlIFwiU29mdHdhcmVcIiksXG4vLy8gdG8gZGVhbCBpbiB0aGUgU29mdHdhcmUgd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nIHdpdGhvdXQgbGltaXRhdGlvblxuLy8vIHRoZSByaWdodHMgdG8gdXNlLCBjb3B5LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNoLCBkaXN0cmlidXRlLCBzdWJsaWNlbnNlLFxuLy8vIGFuZC9vciBzZWxsIGNvcGllcyBvZiB0aGUgU29mdHdhcmUsIGFuZCB0byBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZVxuLy8vIFNvZnR3YXJlIGlzIGZ1cm5pc2hlZCB0byBkbyBzbywgc3ViamVjdCB0byB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6XG4vLy9cbi8vLyBUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBiZSBpbmNsdWRlZCBpblxuLy8vIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIFNvZnR3YXJlLlxuLy8vXG4vLy8gVEhFIFNPRlRXQVJFIElTIFBST1ZJREVEIFwiQVMgSVNcIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwgRVhQUkVTUyBPUlxuLy8vIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZLFxuLy8vIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT04tSU5GUklOR0VNRU5ULiBJTiBOTyBFVkVOVCBTSEFMTFxuLy8vIFRIRSBBVVRIT1JTIE9SIENPUFlSSUdIVCBIT0xERVJTIEJFIExJQUJMRSBGT1IgQU5ZIENMQUlNLCBEQU1BR0VTIE9SIE9USEVSXG4vLy8gTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkdcbi8vLyBGUk9NLCBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRSBTT0ZUV0FSRSBPUiBUSEUgVVNFIE9SIE9USEVSXG4vLy8gREVBTElOR1Ncbi8vLy9cblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gUnVsZXNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLy8gVGFicyB3aXRoIG91dGxpbmVcbi5tZC10YWJzIHtcbiAgd2lkdGg6IDEwMCU7XG4gIHRyYW5zaXRpb246IGJhY2tncm91bmQgMC4yNXM7XG4gIGJhY2tncm91bmQtY29sb3I6ICRtZC1jb2xvci1wcmltYXJ5O1xuICBjb2xvcjogJG1kLWNvbG9yLXdoaXRlO1xuICBvdmVyZmxvdzogYXV0bztcblxuICAvLyBbdGFibGV0IC1dOiBIaWRlIHRhYnMgZm9yIHRhYmxldCBhbmQgYmVsb3csIGFzIHRoZXkgZG9uJ3QgbWFrZSBhbnkgc2Vuc2VcbiAgQGluY2x1ZGUgYnJlYWstdG8tZGV2aWNlKHRhYmxldCkge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cblxuICAvLyBIaWRlIGZvciBwcmludFxuICBAbWVkaWEgcHJpbnQge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cblxuICAvLyBMaXN0IG9mIGl0ZW1zXG4gICZfX2xpc3Qge1xuICAgIG1hcmdpbjogMDtcbiAgICBtYXJnaW4tbGVmdDogcHgycmVtKDRweCk7XG4gICAgcGFkZGluZzogMDtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIH1cblxuICAvLyBMaXN0IGl0ZW1cbiAgJl9faXRlbSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGhlaWdodDogcHgycmVtKDQ4cHgpO1xuICAgIHBhZGRpbmctcmlnaHQ6IHB4MnJlbSgxMnB4KTtcbiAgICBwYWRkaW5nLWxlZnQ6IHB4MnJlbSgxMnB4KTtcbiAgfVxuXG4gIC8vIExpbmsgaW5zaWRlIGl0ZW0gLSBjb3VsZCBiZSBkZWZpbmVkIGFzIGJsb2NrIGVsZW1lbnRzIGFuZCBhbGlnbmVkIHZpYVxuICAvLyBsaW5lIGhlaWdodCwgYnV0IHRoaXMgd291bGQgaW1wbHkgbW9yZSByZXBhaW50cyB3aGVuIHNjcm9sbGluZ1xuICAmX19saW5rIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBtYXJnaW4tdG9wOiBweDJyZW0oMTZweCk7XG4gICAgdHJhbnNpdGlvbjpcbiAgICAgIHRyYW5zZm9ybSAwLjRzIGN1YmljLWJlemllcigwLjEsIDAuNywgMC4xLCAxKSxcbiAgICAgIG9wYWNpdHkgICAwLjI1cztcbiAgICBmb250LXNpemU6IHB4MnJlbSgxNHB4KTtcbiAgICBvcGFjaXR5OiAwLjc7XG5cbiAgICAvLyBBY3RpdmUgb3IgaG92ZXJlZCBsaW5rXG4gICAgJi0tYWN0aXZlLFxuICAgICY6aG92ZXIge1xuICAgICAgY29sb3I6IGluaGVyaXQ7XG4gICAgICBvcGFjaXR5OiAxO1xuICAgIH1cblxuICAgIC8vIERlbGF5IHRyYW5zaXRpb25zIGJ5IGEgc21hbGwgYW1vdW50XG4gICAgQGZvciAkaSBmcm9tIDIgdGhyb3VnaCAxNiB7XG4gICAgICAubWQtdGFic19faXRlbTpudGgtY2hpbGQoI3skaX0pICYge1xuICAgICAgICB0cmFuc2l0aW9uLWRlbGF5OiAwLjAycyAqICgkaSAtIDEpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIEZhZGUtb3V0IHRhYnMgYmFja2dyb3VuZCB1cG9uIHNjcm9sbGluZ1xuICAmW2RhdGEtbWQtc3RhdGU9XCJoaWRkZW5cIl0ge1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuXG4gICAgLy8gSGlkZSB0YWJzIHVwb24gc2Nyb2xsaW5nIC0gZGlzYWJsZSB0cmFuc2l0aW9uIHRvIG1pbmltaXplcyByZXBhaW50cyB3aGlsdGVcbiAgICAvLyBzY3JvbGxpbmcgZG93biwgd2hpbGUgc2Nyb2xsaW5nIHVwIHNlZW1zIHRvIGJlIG9rYXlcbiAgICAubWQtdGFic19fbGluayB7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoNTAlKTtcbiAgICAgIHRyYW5zaXRpb246XG4gICAgICAgIGNvbG9yICAgICAwLjI1cyxcbiAgICAgICAgdHJhbnNmb3JtIDBzIDAuNHMsXG4gICAgICAgIG9wYWNpdHkgICAwLjFzO1xuICAgICAgb3BhY2l0eTogMDtcbiAgICB9XG4gIH1cblxuICAvLyBbc2NyZWVuICtdOiBBZGp1c3QgbWFpbiBuYXZpZ2F0aW9uIHN0eWxlc1xuICBAaW5jbHVkZSBicmVhay1mcm9tLWRldmljZShzY3JlZW4pIHtcblxuICAgIC8vIEhpZGUgMXN0IGxldmVsIG5lc3RlZCBpdGVtcywgYXMgdGhleSBhcmUgbGlzdGVkIGluIHRoZSB0YWJzIGJ5IHNldHRpbmdcbiAgICAvLyBmb250LXNpemUgdG8gemVybywgYXMgd2UgbmVlZCB0byBwcmVzZXJ2ZSBib3R0b20gcGFkZGluZ1xuICAgIH4gLm1kLW1haW4gLm1kLW5hdi0tcHJpbWFyeSA+IC5tZC1uYXZfX2xpc3QgPiAubWQtbmF2X19pdGVtLS1uZXN0ZWQge1xuICAgICAgZm9udC1zaXplOiAwO1xuICAgICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgIH1cblxuICAgIC8vIFdlJ3JlIG9uIHRoZSAybmQrIGxldmVsXG4gICAgJi0tYWN0aXZlIH4gLm1kLW1haW4ge1xuXG4gICAgICAvLyBBZGp1c3QgMXN0IGxldmVsIHN0eWxlc1xuICAgICAgLm1kLW5hdi0tcHJpbWFyeSB7XG5cbiAgICAgICAgLy8gU2hvdyB0aXRsZSBhbmQgcmVtb3ZlIHNwYWNpbmdcbiAgICAgICAgLm1kLW5hdl9fdGl0bGUge1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBIaWRlIHNpdGUgdGl0bGVcbiAgICAgICAgLm1kLW5hdl9fdGl0bGUtLXNpdGUge1xuICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBTaG93IDFzdCBsZXZlbCBuYXZpZ2F0aW9uIGFsd2F5cyBleHBhbmRlZFxuICAgICAgICAubm8tanMgJiAubWQtbmF2IHtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIEhpZGUgMXN0IGxldmVsIG5vcm1hbCBpdGVtc1xuICAgICAgICAmID4gLm1kLW5hdl9fbGlzdCA+IC5tZC1uYXZfX2l0ZW0ge1xuICAgICAgICAgIGZvbnQtc2l6ZTogMDtcbiAgICAgICAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG5cbiAgICAgICAgICAvLyBSZXNldCBmb250LXNpemUgZm9yIG5lc3RlZCBpdGVtcyBhbmQgaW5kdWNlIG1hcmdpbiBjb2xsYXBzZVxuICAgICAgICAgICYtLW5lc3RlZCB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgZm9udC1zaXplOiBweDJyZW0oMTRweCk7XG4gICAgICAgICAgICBvdmVyZmxvdzogYXV0bztcbiAgICAgICAgICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG5cbiAgICAgICAgICAgIC8vIEhpZGUgbmVzdGVkIGxpbmtzXG4gICAgICAgICAgICA+IC5tZC1uYXZfX2xpbmsge1xuICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cblxuICAgICAgICAgIC8vIFNob3cgMXN0IGxldmVsIGFjdGl2ZSBuZXN0ZWQgaXRlbXNcbiAgICAgICAgICAmLS1hY3RpdmUge1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC8vIEFsd2F5cyBleHBhbmQgbmVzdGVkIG5hdmlnYXRpb24gb24gMm5kIGxldmVsXG4gICAgICAubWQtbmF2W2RhdGEtbWQtbGV2ZWw9XCIxXCJdIHtcbiAgICAgICAgbWF4LWhlaWdodDogaW5pdGlhbDtcbiAgICAgICAgb3ZlcmZsb3c6IHZpc2libGU7XG5cbiAgICAgICAgLy8gUmVtb3ZlIGxlZnQgc3BhY2luZyBvbiAybmQgbGV2ZWwgaXRlbXNcbiAgICAgICAgPiAubWQtbmF2X19saXN0ID4gLm1kLW5hdl9faXRlbSB7XG4gICAgICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gSGlkZSB0aXRsZXMgZnJvbSAybmQgbGV2ZWwgb25cbiAgICAgICAgLm1kLW5hdiAubWQtbmF2X190aXRsZSB7XG4gICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8vL1xuLy8vIENvcHlyaWdodCAoYykgMjAxNi0yMDIwIE1hcnRpbiBEb25hdGggPG1hcnRpbi5kb25hdGhAc3F1aWRmdW5rLmNvbT5cbi8vL1xuLy8vIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBhXG4vLy8gY29weSBvZiB0aGlzIHNvZnR3YXJlIGFuZCBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZSBcIlNvZnR3YXJlXCIpLFxuLy8vIHRvIGRlYWwgaW4gdGhlIFNvZnR3YXJlIHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1ZGluZyB3aXRob3V0IGxpbWl0YXRpb25cbi8vLyB0aGUgcmlnaHRzIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwgZGlzdHJpYnV0ZSwgc3VibGljZW5zZSxcbi8vLyBhbmQvb3Igc2VsbCBjb3BpZXMgb2YgdGhlIFNvZnR3YXJlLCBhbmQgdG8gcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGVcbi8vLyBTb2Z0d2FyZSBpcyBmdXJuaXNoZWQgdG8gZG8gc28sIHN1YmplY3QgdG8gdGhlIGZvbGxvd2luZyBjb25kaXRpb25zOlxuLy8vXG4vLy8gVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWQgaW5cbi8vLyBhbGwgY29waWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25zIG9mIHRoZSBTb2Z0d2FyZS5cbi8vL1xuLy8vIFRIRSBTT0ZUV0FSRSBJUyBQUk9WSURFRCBcIkFTIElTXCIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsIEVYUFJFU1MgT1Jcbi8vLyBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSxcbi8vLyBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OLUlORlJJTkdFTUVOVC4gSU4gTk8gRVZFTlQgU0hBTExcbi8vLyBUSEUgQVVUSE9SUyBPUiBDT1BZUklHSFQgSE9MREVSUyBCRSBMSUFCTEUgRk9SIEFOWSBDTEFJTSwgREFNQUdFUyBPUiBPVEhFUlxuLy8vIExJQUJJTElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HXG4vLy8gRlJPTSwgT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUlxuLy8vIERFQUxJTkdTXG4vLy8vXG5cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIFJ1bGVzXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi8vIFNjb3BlZCBpbiB0eXBlc2V0dGVkIGNvbnRlbnQgdG8gbWF0Y2ggc3BlY2lmaWNpdHkgb2YgcmVndWxhciBjb250ZW50XG4ubWQtdHlwZXNldCB7XG5cbiAgLy8gRGV0YWlscyBleHRlbnNpb25cbiAgZGV0YWlscyB7XG4gICAgQGV4dGVuZCAuYWRtb25pdGlvbjtcblxuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBhZGRpbmctdG9wOiAwO1xuXG4gICAgLy8gUm90YXRlIHRpdGxlIGljb25cbiAgICAmW29wZW5dID4gc3VtbWFyeTo6YWZ0ZXIge1xuICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMTgwZGVnKTtcbiAgICB9XG5cbiAgICAvLyBSZW1vdmUgYm90dG9tIHNwYWNpbmdcbiAgICAmOm5vdChbb3Blbl0pIHtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAwO1xuXG4gICAgICAvLyBSZW1vdmUgYm90dG9tIGJvcmRlciBpZiBibG9jayBpcyBjbG9zZWRcbiAgICAgID4gc3VtbWFyeSB7XG4gICAgICAgIGJvcmRlci1ib3R0b206IG5vbmU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gSW5jcmVhc2Ugc3BhY2luZyB0byB0aGUgcmlnaHQgLSBzY29wZWQgaGVyZSBmb3IgaGlnaGVyIHNwZWNpZmljaXR5XG4gICAgc3VtbWFyeSB7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiBweDJyZW0oNDBweCk7XG5cbiAgICAgIC8vIEFkanVzdCBmb3IgUlRMIGxhbmd1YWdlc1xuICAgICAgW2Rpcj1cInJ0bFwiXSAmIHtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiBweDJyZW0oNDBweCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gTWFudWFsbHkgaGlkZSBhbmQgc2hvdywgaWYgYnJvd3NlciBkb2Vzbid0IHN1cHBvcnQgZGV0YWlsc1xuICAgIC5uby1kZXRhaWxzICY6bm90KFtvcGVuXSkge1xuXG4gICAgICAvLyBIaWRlIGFsbCBuZXN0ZWQgdGFncyAuLi5cbiAgICAgID4gKiB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICB9XG5cbiAgICAgIC8vIC4uLiBidXQgc2hvdyB0aXRsZVxuICAgICAgc3VtbWFyeSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIFRpdGxlXG4gIHN1bW1hcnkge1xuICAgIEBleHRlbmQgLmFkbW9uaXRpb24tdGl0bGU7XG5cbiAgICAvLyBIYWNrOiBzZXQgdG8gYmxvY2ssIHNvIEZpcmVmb3ggZG9lc24ndCByZW5kZXIgbWFya2VyXG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG5cbiAgICAvLyBSZW1vdmUgZGVmYXVsdCBkZXRhaWxzIG1hcmtlclxuICAgICY6Oi13ZWJraXQtZGV0YWlscy1tYXJrZXIge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG5cbiAgICAvLyBJY29uXG4gICAgJjo6YWZ0ZXIge1xuICAgICAgQGV4dGVuZCAlbWQtaWNvbjtcblxuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiBweDJyZW0oOHB4KTtcbiAgICAgIHJpZ2h0OiBweDJyZW0oMTJweCk7XG4gICAgICBjb2xvcjogJG1kLWNvbG9yLWJsYWNrLS1saWdodGVyO1xuICAgICAgZm9udC1zaXplOiBweDJyZW0oMjBweCk7XG4gICAgICBjb250ZW50OiBcIlxcRTMxM1wiOyAvLyBrZXlib2FyZF9hcnJvd19kb3duXG5cbiAgICAgIC8vIEFkanVzdCBmb3IgUlRMIGxhbmd1YWdlc1xuICAgICAgW2Rpcj1cInJ0bFwiXSAmIHtcbiAgICAgICAgcmlnaHQ6IGluaXRpYWw7XG4gICAgICAgIGxlZnQ6IHB4MnJlbSgxMnB4KTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vLy9cbi8vLyBDb3B5cmlnaHQgKGMpIDIwMTYtMjAyMCBNYXJ0aW4gRG9uYXRoIDxtYXJ0aW4uZG9uYXRoQHNxdWlkZnVuay5jb20+XG4vLy9cbi8vLyBQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYVxuLy8vIGNvcHkgb2YgdGhpcyBzb2Z0d2FyZSBhbmQgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGUgXCJTb2Z0d2FyZVwiKSxcbi8vLyB0byBkZWFsIGluIHRoZSBTb2Z0d2FyZSB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcgd2l0aG91dCBsaW1pdGF0aW9uXG4vLy8gdGhlIHJpZ2h0cyB0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsXG4vLy8gYW5kL29yIHNlbGwgY29waWVzIG9mIHRoZSBTb2Z0d2FyZSwgYW5kIHRvIHBlcm1pdCBwZXJzb25zIHRvIHdob20gdGhlXG4vLy8gU29mdHdhcmUgaXMgZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczpcbi8vL1xuLy8vIFRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIHNoYWxsIGJlIGluY2x1ZGVkIGluXG4vLy8gYWxsIGNvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUgU29mdHdhcmUuXG4vLy9cbi8vLyBUSEUgU09GVFdBUkUgSVMgUFJPVklERUQgXCJBUyBJU1wiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELCBFWFBSRVNTIE9SXG4vLy8gSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFksXG4vLy8gRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTi1JTkZSSU5HRU1FTlQuIElOIE5PIEVWRU5UIFNIQUxMXG4vLy8gVEhFIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkgQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVJcbi8vLyBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULCBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lOR1xuLy8vIEZST00sIE9VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhFIFNPRlRXQVJFIE9SIFRIRSBVU0UgT1IgT1RIRVJcbi8vLyBERUFMSU5HU1xuLy8vL1xuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBSdWxlc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4vLyBTY29wZWQgaW4gdHlwZXNldHRlZCBjb250ZW50IHRvIG1hdGNoIHNwZWNpZmljaXR5IG9mIHJlZ3VsYXIgY29udGVudFxuLm1kLXR5cGVzZXQge1xuXG4gIC8vIEFkbW9uaXRpb24gZXh0ZW5zaW9uXG4gIC5hZG1vbml0aW9uIHtcbiAgICBAaW5jbHVkZSB6LWRlcHRoKDIpO1xuXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIG1hcmdpbjogMS41NjI1ZW0gMDtcbiAgICBwYWRkaW5nOiAwIHB4MnJlbSgxMnB4KTtcbiAgICBib3JkZXItbGVmdDogcHgycmVtKDRweCkgc29saWQgJGNsci1ibHVlLWEyMDA7XG4gICAgYm9yZGVyLXJhZGl1czogcHgycmVtKDJweCk7XG4gICAgZm9udC1zaXplOiBtcygtMSk7XG4gICAgb3ZlcmZsb3c6IGF1dG87XG5cbiAgICAvLyBBZGp1c3QgZm9yIFJUTCBsYW5ndWFnZXNcbiAgICBbZGlyPVwicnRsXCJdICYge1xuICAgICAgYm9yZGVyLXJpZ2h0OiBweDJyZW0oNHB4KSBzb2xpZCAkY2xyLWJsdWUtYTIwMDtcbiAgICAgIGJvcmRlci1sZWZ0OiBub25lO1xuICAgIH1cblxuICAgIC8vIEFkanVzdCBzcGFjaW5nIG9uIGxhc3QgZWxlbWVudFxuICAgIGh0bWwgJiA+IDpsYXN0LWNoaWxkIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IHB4MnJlbSgxMnB4KTtcbiAgICB9XG5cbiAgICAvLyBBZGp1c3QgbWFyZ2luIGZvciBuZXN0ZWQgYWRtb25pdGlvbiBibG9ja3NcbiAgICAuYWRtb25pdGlvbiB7XG4gICAgICBtYXJnaW46IDFlbSAwO1xuICAgIH1cblxuICAgIC8vIFRpdGxlXG4gICAgPiAuYWRtb25pdGlvbi10aXRsZSB7XG4gICAgICBtYXJnaW46IDAgcHgycmVtKC0xMnB4KTtcbiAgICAgIHBhZGRpbmc6IHB4MnJlbSg4cHgpIHB4MnJlbSgxMnB4KSBweDJyZW0oOHB4KSBweDJyZW0oNDBweCk7XG4gICAgICBib3JkZXItYm90dG9tOiBweDJyZW0oMXB4KSBzb2xpZCB0cmFuc3BhcmVudGl6ZSgkY2xyLWJsdWUtYTIwMCwgMC45KTtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50aXplKCRjbHItYmx1ZS1hMjAwLCAwLjkpO1xuICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcblxuICAgICAgLy8gQWRqdXN0IGZvciBSVEwgbGFuZ3VhZ2VzXG4gICAgICBbZGlyPVwicnRsXCJdICYge1xuICAgICAgICBwYWRkaW5nOiBweDJyZW0oOHB4KSBweDJyZW0oNDBweCkgcHgycmVtKDhweCkgcHgycmVtKDEycHgpO1xuICAgICAgfVxuXG4gICAgICAvLyBSZXNldCBzcGFjaW5nLCBpZiB0aXRsZSBpcyB0aGUgb25seSBlbGVtZW50XG4gICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgfVxuXG4gICAgICAvLyBJY29uXG4gICAgICAmOjpiZWZvcmUge1xuICAgICAgICBAZXh0ZW5kICVtZC1pY29uO1xuXG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgbGVmdDogcHgycmVtKDEycHgpO1xuICAgICAgICBjb2xvcjogJGNsci1ibHVlLWEyMDA7XG4gICAgICAgIGZvbnQtc2l6ZTogcHgycmVtKDIwcHgpO1xuICAgICAgICBjb250ZW50OiBcIlxcRTNDOVwiOyAvLyBlZGl0XG5cbiAgICAgICAgLy8gQWRqdXN0IGZvciBSVEwgbGFuZ3VhZ2VzXG4gICAgICAgIFtkaXI9XCJydGxcIl0gJiB7XG4gICAgICAgICAgcmlnaHQ6IHB4MnJlbSgxMnB4KTtcbiAgICAgICAgICBsZWZ0OiBpbml0aWFsO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gQnVpbGQgcmVwcmVzZW50YXRpb25hbCBjbGFzc2VzXG4gICAgQGVhY2ggJG5hbWVzLCAkYXBwZWFyYW5jZSBpbiAoXG4gICAgICBhYnN0cmFjdCBzdW1tYXJ5IHRsZHI6ICRjbHItbGlnaHQtYmx1ZS1hNDAwIFwiXFxFOEQyXCIsIC8vIHN1YmplY3RcbiAgICAgIGluZm8gdG9kbzogJGNsci1jeWFuLWE3MDAgXCJcXEU4OEVcIiwgLy8gaW5mb1xuICAgICAgdGlwIGhpbnQgaW1wb3J0YW50IDogJGNsci10ZWFsLWE3MDAgXCJcXEU4MEVcIiwgLy8gd2hhdHNob3RcbiAgICAgIHN1Y2Nlc3MgY2hlY2sgZG9uZTogJGNsci1ncmVlbi1hNzAwIFwiXFxFODc2XCIsIC8vIGRvbmVcbiAgICAgIHF1ZXN0aW9uIGhlbHAgZmFxOiAkY2xyLWxpZ2h0LWdyZWVuLWE3MDAgXCJcXEU4ODdcIiwgLy8gaGVscFxuICAgICAgd2FybmluZyBjYXV0aW9uIGF0dGVudGlvbjogJGNsci1vcmFuZ2UtYTQwMCBcIlxcRTAwMlwiLCAvLyB3YXJuaW5nXG4gICAgICBmYWlsdXJlIGZhaWwgbWlzc2luZzogJGNsci1yZWQtYTIwMCBcIlxcRTE0Q1wiLCAvLyBjbGVhclxuICAgICAgZGFuZ2VyIGVycm9yOiAkY2xyLXJlZC1hNDAwIFwiXFxFM0U3XCIsIC8vIGZsYXNoX29uXG4gICAgICBidWc6ICRjbHItcGluay1hNDAwIFwiXFxFODY4XCIsIC8vIGJ1Z19yZXBvcnRcbiAgICAgIGV4YW1wbGU6ICRjbHItZGVlcC1wdXJwbGUtYTQwMCBcIlxcRTI0MlwiLCAvLyBmb3JtYXRfbGlzdF9udW1iZXJlZFxuICAgICAgcXVvdGUgY2l0ZTogJGNsci1ncmV5IFwiXFxFMjQ0XCIgLy8gZm9ybWF0X3F1b3RlXG4gICAgKSB7XG4gICAgICAkdGludDogbnRoKCRhcHBlYXJhbmNlLCAxKTtcbiAgICAgICRpY29uOiBudGgoJGFwcGVhcmFuY2UsIDIpO1xuXG4gICAgICAvLyBEZWZpbmUgYmFzZSBjbGFzc1xuICAgICAgJiUje250aCgkbmFtZXMsIDEpfSxcbiAgICAgICYuI3tudGgoJG5hbWVzLCAxKX0ge1xuICAgICAgICBib3JkZXItbGVmdC1jb2xvcjogJHRpbnQ7XG5cbiAgICAgICAgLy8gQWRqdXN0IGZvciBSVEwgbGFuZ3VhZ2VzXG4gICAgICAgIFtkaXI9XCJydGxcIl0gJiB7XG4gICAgICAgICAgYm9yZGVyLXJpZ2h0LWNvbG9yOiAkdGludDtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIFRpdGxlXG4gICAgICAgID4gLmFkbW9uaXRpb24tdGl0bGUge1xuICAgICAgICAgIGJvcmRlci1ib3R0b20tY29sb3I6IHRyYW5zcGFyZW50aXplKCR0aW50LCAwLjkpO1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50aXplKCR0aW50LCAwLjkpO1xuXG4gICAgICAgICAgLy8gSWNvblxuICAgICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICBjb2xvcjogJHRpbnQ7XG4gICAgICAgICAgICBjb250ZW50OiAkaWNvbjtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLy8gRGVmaW5lIHN5bm9ueW1zIGZvciBiYXNlIGNsYXNzXG4gICAgICBAaWYgbGVuZ3RoKCRuYW1lcykgPiAxIHtcbiAgICAgICAgQGZvciAkbiBmcm9tIDIgdGhyb3VnaCBsZW5ndGgoJG5hbWVzKSB7XG4gICAgICAgICAgJi4je250aCgkbmFtZXMsICRuKX0ge1xuICAgICAgICAgICAgQGV4dGVuZCAuYWRtb25pdGlvbiUje250aCgkbmFtZXMsIDEpfTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vLy9cbi8vLyBDb3B5cmlnaHQgKGMpIDIwMTYtMjAyMCBNYXJ0aW4gRG9uYXRoIDxtYXJ0aW4uZG9uYXRoQHNxdWlkZnVuay5jb20+XG4vLy9cbi8vLyBQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYVxuLy8vIGNvcHkgb2YgdGhpcyBzb2Z0d2FyZSBhbmQgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGUgXCJTb2Z0d2FyZVwiKSxcbi8vLyB0byBkZWFsIGluIHRoZSBTb2Z0d2FyZSB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcgd2l0aG91dCBsaW1pdGF0aW9uXG4vLy8gdGhlIHJpZ2h0cyB0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsXG4vLy8gYW5kL29yIHNlbGwgY29waWVzIG9mIHRoZSBTb2Z0d2FyZSwgYW5kIHRvIHBlcm1pdCBwZXJzb25zIHRvIHdob20gdGhlXG4vLy8gU29mdHdhcmUgaXMgZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczpcbi8vL1xuLy8vIFRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIHNoYWxsIGJlIGluY2x1ZGVkIGluXG4vLy8gYWxsIGNvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUgU29mdHdhcmUuXG4vLy9cbi8vLyBUSEUgU09GVFdBUkUgSVMgUFJPVklERUQgXCJBUyBJU1wiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELCBFWFBSRVNTIE9SXG4vLy8gSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFksXG4vLy8gRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTi1JTkZSSU5HRU1FTlQuIElOIE5PIEVWRU5UIFNIQUxMXG4vLy8gVEhFIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkgQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVJcbi8vLyBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULCBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lOR1xuLy8vIEZST00sIE9VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhFIFNPRlRXQVJFIE9SIFRIRSBVU0UgT1IgT1RIRVJcbi8vLyBERUFMSU5HU1xuLy8vL1xuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBWYXJpYWJsZXNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLy8gT3BlcmF0b3JzXG4kY29kZWhpbGl0ZS1vcGVyYXRvcjogaW5oZXJpdDtcbiRjb2RlaGlsaXRlLW9wZXJhdG9yLXdvcmQ6IGluaGVyaXQ7XG5cbi8vIEdlbmVyaWNzXG4kY29kZWhpbGl0ZS1nZW5lcmljLWVtcGg6ICMwMDAwMDA7XG4kY29kZWhpbGl0ZS1nZW5lcmljLWVycm9yOiAjQUEwMDAwO1xuJGNvZGVoaWxpdGUtZ2VuZXJpYy1oZWFkaW5nOiAjOTk5OTk5O1xuJGNvZGVoaWxpdGUtZ2VuZXJpYy1vdXRwdXQ6ICM4ODg4ODg7XG4kY29kZWhpbGl0ZS1nZW5lcmljLXByb21wdDogIzU1NTU1NTtcbiRjb2RlaGlsaXRlLWdlbmVyaWMtc3Ryb25nOiBpbmhlcml0O1xuJGNvZGVoaWxpdGUtZ2VuZXJpYy1zdWJoZWFkaW5nOiAjQUFBQUFBO1xuJGNvZGVoaWxpdGUtZ2VuZXJpYy10cmFjZWJhY2s6ICNBQTAwMDA7XG5cbi8vIERpZmZzXG4kY29kZWhpbGl0ZS1kaWZmLWRlbGV0ZWQ6ICNGRkREREQ7XG4kY29kZWhpbGl0ZS1kaWZmLWluc2VydGVkOiAjRERGRkREO1xuXG4vLyBLZXl3b3Jkc1xuJGNvZGVoaWxpdGUta2V5d29yZDogIzNCNzhFNztcbiRjb2RlaGlsaXRlLWtleXdvcmQtY29uc3RhbnQ6ICNBNzFENUQ7XG4kY29kZWhpbGl0ZS1rZXl3b3JkLWRlY2xhcmF0aW9uOiAjM0I3OEU3O1xuJGNvZGVoaWxpdGUta2V5d29yZC1uYW1lc3BhY2U6ICMzQjc4RTc7XG4kY29kZWhpbGl0ZS1rZXl3b3JkLXBzZXVkbzogI0E3MUQ1RDtcbiRjb2RlaGlsaXRlLWtleXdvcmQtcmVzZXJ2ZWQ6ICMzRTYxQTI7XG4kY29kZWhpbGl0ZS1rZXl3b3JkLXR5cGU6ICMzRTYxQTI7XG5cbi8vIENvbW1lbnRzXG4kY29kZWhpbGl0ZS1jb21tZW50OiAjOTk5OTk5O1xuJGNvZGVoaWxpdGUtY29tbWVudC1tdWx0aWxpbmU6ICM5OTk5OTk7XG4kY29kZWhpbGl0ZS1jb21tZW50LXByZXByb2M6ICM2NjY2NjY7XG4kY29kZWhpbGl0ZS1jb21tZW50LXNpbmdsZTogIzk5OTk5OTtcbiRjb2RlaGlsaXRlLWNvbW1lbnQtc2hlYmFuZzogIzk5OTk5OTtcbiRjb2RlaGlsaXRlLWNvbW1lbnQtc3BlY2lhbDogIzk5OTk5OTtcblxuLy8gTmFtZXNcbiRjb2RlaGlsaXRlLW5hbWUtYXR0cmlidXRlOiAjQzIxODVCO1xuJGNvZGVoaWxpdGUtbmFtZS1idWlsdGluOiAjQzIxODVCO1xuJGNvZGVoaWxpdGUtbmFtZS1idWlsdGluLXBzZXVkbzogIzNFNjFBMjtcbiRjb2RlaGlsaXRlLW5hbWUtY2xhc3M6ICNDMjE4NUI7XG4kY29kZWhpbGl0ZS1uYW1lLWNvbnN0YW50OiAjM0U2MUEyO1xuJGNvZGVoaWxpdGUtbmFtZS1kZWNvcmF0b3I6ICM2NjY2NjY7XG4kY29kZWhpbGl0ZS1uYW1lLWVudGl0eTogIzY2NjY2NjtcbiRjb2RlaGlsaXRlLW5hbWUtZXhjZXB0aW9uOiAjQzIxODVCO1xuJGNvZGVoaWxpdGUtbmFtZS1mdW5jdGlvbjogI0MyMTg1QjtcbiRjb2RlaGlsaXRlLW5hbWUtbGFiZWw6ICMzQjUxNzk7XG4kY29kZWhpbGl0ZS1uYW1lLW5hbWVzcGFjZTogI0VDNDA3QTtcbiRjb2RlaGlsaXRlLW5hbWUtdGFnOiAjM0I3OEU3O1xuJGNvZGVoaWxpdGUtbmFtZS12YXJpYWJsZTogIzNFNjFBMjtcbiRjb2RlaGlsaXRlLW5hbWUtdmFyaWFibGUtY2xhc3M6ICMzRTYxQTI7XG4kY29kZWhpbGl0ZS1uYW1lLXZhcmlhYmxlLWluc3RhbmNlOiAjM0U2MUEyO1xuJGNvZGVoaWxpdGUtbmFtZS12YXJpYWJsZS1nbG9iYWw6ICMzRTYxQTI7XG4kY29kZWhpbGl0ZS1uYW1lLWV4dGVuc2lvbjogI0VDNDA3QTtcblxuLy8gTnVtYmVyc1xuJGNvZGVoaWxpdGUtbGl0ZXJhbC1udW1iZXI6ICNFNzRDM0M7XG4kY29kZWhpbGl0ZS1saXRlcmFsLW51bWJlci1mbG9hdDogI0U3NEMzQztcbiRjb2RlaGlsaXRlLWxpdGVyYWwtbnVtYmVyLWhleDogI0U3NEMzQztcbiRjb2RlaGlsaXRlLWxpdGVyYWwtbnVtYmVyLWludGVnZXI6ICNFNzRDM0M7XG4kY29kZWhpbGl0ZS1saXRlcmFsLW51bWJlci1pbnRlZ2VyLWxvbmc6ICNFNzRDM0M7XG4kY29kZWhpbGl0ZS1saXRlcmFsLW51bWJlci1vY3Q6ICNFNzRDM0M7XG5cbi8vIFN0cmluZ3NcbiRjb2RlaGlsaXRlLWxpdGVyYWwtc3RyaW5nOiAjMEQ5MDRGO1xuJGNvZGVoaWxpdGUtbGl0ZXJhbC1zdHJpbmctYmFja3RpY2tzOiAjMEQ5MDRGO1xuJGNvZGVoaWxpdGUtbGl0ZXJhbC1zdHJpbmctY2hhcjogIzBEOTA0RjtcbiRjb2RlaGlsaXRlLWxpdGVyYWwtc3RyaW5nLWRvYzogIzk5OTk5OTtcbiRjb2RlaGlsaXRlLWxpdGVyYWwtc3RyaW5nLWRvdWJsZTogIzBEOTA0RjtcbiRjb2RlaGlsaXRlLWxpdGVyYWwtc3RyaW5nLWVzY2FwZTogIzE4MzY5MTtcbiRjb2RlaGlsaXRlLWxpdGVyYWwtc3RyaW5nLWhlcmVkb2M6ICMxODM2OTE7XG4kY29kZWhpbGl0ZS1saXRlcmFsLXN0cmluZy1pbnRlcnBvbDogIzE4MzY5MTtcbiRjb2RlaGlsaXRlLWxpdGVyYWwtc3RyaW5nLW90aGVyOiAjMTgzNjkxO1xuJGNvZGVoaWxpdGUtbGl0ZXJhbC1zdHJpbmctcmVnZXg6ICMwMDk5MjY7XG4kY29kZWhpbGl0ZS1saXRlcmFsLXN0cmluZy1zaW5nbGU6ICMwRDkwNEY7XG4kY29kZWhpbGl0ZS1saXRlcmFsLXN0cmluZy1zeW1ib2w6ICMwRDkwNEY7XG5cbi8vIE1pc2NlbGxhbmVvdXNcbiRjb2RlaGlsaXRlLWVycm9yOiAjQTYxNzE3O1xuJGNvZGVoaWxpdGUtd2hpdGVzcGFjZTogdHJhbnNwYXJlbnQ7XG5cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIFJ1bGVzOiBzeW50YXggaGlnaGxpZ2h0aW5nXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi8vIENvZGVoaWxpdGUgZXh0ZW5zaW9uXG4uY29kZWhpbGl0ZSB7XG5cbiAgLy8gT3BlcmF0b3JzXG4gIC5vICB7IGNvbG9yOiAkY29kZWhpbGl0ZS1vcGVyYXRvcjsgfVxuICAub3cgeyBjb2xvcjogJGNvZGVoaWxpdGUtb3BlcmF0b3Itd29yZDsgfVxuXG4gIC8vIEdlbmVyaWNzXG4gIC5nZSB7IGNvbG9yOiAkY29kZWhpbGl0ZS1nZW5lcmljLWVtcGg7IH1cbiAgLmdyIHsgY29sb3I6ICRjb2RlaGlsaXRlLWdlbmVyaWMtZXJyb3I7IH1cbiAgLmdoIHsgY29sb3I6ICRjb2RlaGlsaXRlLWdlbmVyaWMtaGVhZGluZzsgfVxuICAuZ28geyBjb2xvcjogJGNvZGVoaWxpdGUtZ2VuZXJpYy1vdXRwdXQ7IH1cbiAgLmdwIHsgY29sb3I6ICRjb2RlaGlsaXRlLWdlbmVyaWMtcHJvbXB0OyB9XG4gIC5ncyB7IGNvbG9yOiAkY29kZWhpbGl0ZS1nZW5lcmljLXN0cm9uZzsgfVxuICAuZ3UgeyBjb2xvcjogJGNvZGVoaWxpdGUtZ2VuZXJpYy1zdWJoZWFkaW5nOyB9XG4gIC5ndCB7IGNvbG9yOiAkY29kZWhpbGl0ZS1nZW5lcmljLXRyYWNlYmFjazsgfVxuXG4gIC8vIERpZmZzXG4gIC5nZCB7IGJhY2tncm91bmQtY29sb3I6ICRjb2RlaGlsaXRlLWRpZmYtZGVsZXRlZDsgfVxuICAuZ2kgeyBiYWNrZ3JvdW5kLWNvbG9yOiAkY29kZWhpbGl0ZS1kaWZmLWluc2VydGVkOyB9XG5cbiAgLy8gS2V5d29yZHNcbiAgLmsgIHsgY29sb3I6ICRjb2RlaGlsaXRlLWtleXdvcmQ7IH1cbiAgLmtjIHsgY29sb3I6ICRjb2RlaGlsaXRlLWtleXdvcmQtY29uc3RhbnQ7IH1cbiAgLmtkIHsgY29sb3I6ICRjb2RlaGlsaXRlLWtleXdvcmQtZGVjbGFyYXRpb247IH1cbiAgLmtuIHsgY29sb3I6ICRjb2RlaGlsaXRlLWtleXdvcmQtbmFtZXNwYWNlOyB9XG4gIC5rcCB7IGNvbG9yOiAkY29kZWhpbGl0ZS1rZXl3b3JkLXBzZXVkbzsgfVxuICAua3IgeyBjb2xvcjogJGNvZGVoaWxpdGUta2V5d29yZC1yZXNlcnZlZDsgfVxuICAua3QgeyBjb2xvcjogJGNvZGVoaWxpdGUta2V5d29yZC10eXBlOyB9XG5cbiAgLy8gQ29tbWVudHNcbiAgLmMgIHsgY29sb3I6ICRjb2RlaGlsaXRlLWNvbW1lbnQ7IH1cbiAgLmNtIHsgY29sb3I6ICRjb2RlaGlsaXRlLWNvbW1lbnQtbXVsdGlsaW5lOyB9XG4gIC5jcCB7IGNvbG9yOiAkY29kZWhpbGl0ZS1jb21tZW50LXByZXByb2M7IH1cbiAgLmMxIHsgY29sb3I6ICRjb2RlaGlsaXRlLWNvbW1lbnQtc2luZ2xlOyB9XG4gIC5jaCB7IGNvbG9yOiAkY29kZWhpbGl0ZS1jb21tZW50LXNoZWJhbmc7IH1cbiAgLmNzIHsgY29sb3I6ICRjb2RlaGlsaXRlLWNvbW1lbnQtc3BlY2lhbDsgfVxuXG4gIC8vIE5hbWVzXG4gIC5uYSB7IGNvbG9yOiAkY29kZWhpbGl0ZS1uYW1lLWF0dHJpYnV0ZTsgfVxuICAubmIgeyBjb2xvcjogJGNvZGVoaWxpdGUtbmFtZS1idWlsdGluOyB9XG4gIC5icCB7IGNvbG9yOiAkY29kZWhpbGl0ZS1uYW1lLWJ1aWx0aW4tcHNldWRvOyB9XG4gIC5uYyB7IGNvbG9yOiAkY29kZWhpbGl0ZS1uYW1lLWNsYXNzOyB9XG4gIC5ubyB7IGNvbG9yOiAkY29kZWhpbGl0ZS1uYW1lLWNvbnN0YW50OyB9XG4gIC5uZCB7IGNvbG9yOiAkY29kZWhpbGl0ZS1uYW1lLWVudGl0eTsgfVxuICAubmkgeyBjb2xvcjogJGNvZGVoaWxpdGUtbmFtZS1lbnRpdHk7IH1cbiAgLm5lIHsgY29sb3I6ICRjb2RlaGlsaXRlLW5hbWUtZXhjZXB0aW9uOyB9XG4gIC5uZiB7IGNvbG9yOiAkY29kZWhpbGl0ZS1uYW1lLWZ1bmN0aW9uOyB9XG4gIC5ubCB7IGNvbG9yOiAkY29kZWhpbGl0ZS1uYW1lLWxhYmVsOyB9XG4gIC5ubiB7IGNvbG9yOiAkY29kZWhpbGl0ZS1uYW1lLW5hbWVzcGFjZTsgfVxuICAubnQgeyBjb2xvcjogJGNvZGVoaWxpdGUtbmFtZS10YWc7IH1cbiAgLm52IHsgY29sb3I6ICRjb2RlaGlsaXRlLW5hbWUtdmFyaWFibGU7IH1cbiAgLnZjIHsgY29sb3I6ICRjb2RlaGlsaXRlLW5hbWUtdmFyaWFibGUtY2xhc3M7IH1cbiAgLnZnIHsgY29sb3I6ICRjb2RlaGlsaXRlLW5hbWUtdmFyaWFibGUtZ2xvYmFsOyB9XG4gIC52aSB7IGNvbG9yOiAkY29kZWhpbGl0ZS1uYW1lLXZhcmlhYmxlLWluc3RhbmNlOyB9XG4gIC5ueCB7IGNvbG9yOiAkY29kZWhpbGl0ZS1uYW1lLWV4dGVuc2lvbjsgfVxuXG4gIC8vIE51bWJlcnNcbiAgLm0gIHsgY29sb3I6ICRjb2RlaGlsaXRlLWxpdGVyYWwtbnVtYmVyOyB9XG4gIC5tZiB7IGNvbG9yOiAkY29kZWhpbGl0ZS1saXRlcmFsLW51bWJlci1mbG9hdDsgfVxuICAubWggeyBjb2xvcjogJGNvZGVoaWxpdGUtbGl0ZXJhbC1udW1iZXItaGV4OyB9XG4gIC5taSB7IGNvbG9yOiAkY29kZWhpbGl0ZS1saXRlcmFsLW51bWJlci1pbnRlZ2VyOyB9XG4gIC5pbCB7IGNvbG9yOiAkY29kZWhpbGl0ZS1saXRlcmFsLW51bWJlci1pbnRlZ2VyLWxvbmc7IH1cbiAgLm1vIHsgY29sb3I6ICRjb2RlaGlsaXRlLWxpdGVyYWwtbnVtYmVyLW9jdDsgfVxuXG4gIC8vIFN0cmluZ3NcbiAgLnMgIHsgY29sb3I6ICRjb2RlaGlsaXRlLWxpdGVyYWwtc3RyaW5nOyB9XG4gIC5zYiB7IGNvbG9yOiAkY29kZWhpbGl0ZS1saXRlcmFsLXN0cmluZy1iYWNrdGlja3M7IH1cbiAgLnNjIHsgY29sb3I6ICRjb2RlaGlsaXRlLWxpdGVyYWwtc3RyaW5nLWNoYXI7IH1cbiAgLnNkIHsgY29sb3I6ICRjb2RlaGlsaXRlLWxpdGVyYWwtc3RyaW5nLWRvYzsgfVxuICAuczIgeyBjb2xvcjogJGNvZGVoaWxpdGUtbGl0ZXJhbC1zdHJpbmctZG91YmxlOyB9XG4gIC5zZSB7IGNvbG9yOiAkY29kZWhpbGl0ZS1saXRlcmFsLXN0cmluZy1lc2NhcGU7IH1cbiAgLnNoIHsgY29sb3I6ICRjb2RlaGlsaXRlLWxpdGVyYWwtc3RyaW5nLWhlcmVkb2M7IH1cbiAgLnNpIHsgY29sb3I6ICRjb2RlaGlsaXRlLWxpdGVyYWwtc3RyaW5nLWludGVycG9sOyB9XG4gIC5zeCB7IGNvbG9yOiAkY29kZWhpbGl0ZS1saXRlcmFsLXN0cmluZy1vdGhlcjsgfVxuICAuc3IgeyBjb2xvcjogJGNvZGVoaWxpdGUtbGl0ZXJhbC1zdHJpbmctcmVnZXg7IH1cbiAgLnMxIHsgY29sb3I6ICRjb2RlaGlsaXRlLWxpdGVyYWwtc3RyaW5nLXNpbmdsZTsgfVxuICAuc3MgeyBjb2xvcjogJGNvZGVoaWxpdGUtbGl0ZXJhbC1zdHJpbmctc3ltYm9sOyB9XG5cbiAgLy8gTWlzY2VsbGFuZW91c1xuICAuZXJyIHsgY29sb3I6ICRjb2RlaGlsaXRlLWVycm9yOyB9XG4gIC53IHsgY29sb3I6ICRjb2RlaGlsaXRlLXdoaXRlc3BhY2U7IH1cblxuICAvLyBIaWdobGlnaHRlZCBsaW5lc1xuICAuaGxsIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBtYXJnaW46IDAgcHgycmVtKC0xMnB4KTtcbiAgICBwYWRkaW5nOiAwIHB4MnJlbSgxMnB4KTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudGl6ZSgkY2xyLXllbGxvdy01MDAsIDAuNSk7XG5cbiAgICAvLyBbbW9iaWxlIC1dOiBTdHJldGNoIHRvIHdob2xlIHdpZHRoXG4gICAgQGluY2x1ZGUgYnJlYWstdG8tZGV2aWNlKG1vYmlsZSkge1xuICAgICAgbWFyZ2luOiAwIHB4MnJlbSgtMTZweCk7XG4gICAgICBwYWRkaW5nOiAwIHB4MnJlbSgxNnB4KTtcbiAgICB9XG4gIH1cbn1cblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gUnVsZXM6IGxheW91dFxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4vLyBTY29wZWQgaW4gdHlwZXNldHRlZCBjb250ZW50IHRvIG1hdGNoIHNwZWNpZmljaXR5IG9mIHJlZ3VsYXIgY29udGVudFxuLm1kLXR5cGVzZXQge1xuXG4gIC8vIEJsb2NrIHdpdGggbGluZSBudW1iZXJzXG4gIC5jb2RlaGlsaXRldGFibGUge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG5cbiAgICAvLyBTZXQgdGFibGUgZWxlbWVudHMgdG8gYmxvY2sgbGF5b3V0LCBiZWNhdXNlIG90aGVyd2lzZSB0aGUgd2hvbGUgZmxleGJveFxuICAgIC8vIGhhY2tpbmcgd29uJ3Qgd29yayBjb3JyZWN0bHlcbiAgICB0Ym9keSxcbiAgICB0ZCB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgfVxuXG4gICAgLy8gV2UgbmVlZCB0byB1c2UgZmxleGJveCBsYXlvdXQsIGJlY2F1c2Ugb3RoZXJ3aXNlIGl0J3Mgbm90IHBvc3NpYmxlIHRvXG4gICAgLy8gbWFrZSB0aGUgY29kZSBjb250YWluZXIgc2Nyb2xsIHdoaWxlIGtlZXBpbmcgdGhlIGxpbmUgbnVtYmVycyBzdGF0aWNcbiAgICB0ciB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgIH1cblxuICAgIC8vIFRoZSBwcmUgdGFncyBhcmUgbmVzdGVkIGluc2lkZSBhIHRhYmxlLCBzbyB3ZSBuZWVkIHRvIHJlbW92ZSB0aGVcbiAgICAvLyBtYXJnaW4gYmVjYXVzZSBpdCBjb2xsYXBzZXMgYmVsb3cgYWxsIHRoZSBvdmVyZmxvd3NcbiAgICBwcmUsXG4gICAgLmxpbmVub2RpdiB7XG4gICAgICBtYXJnaW46IDA7XG4gICAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgIH1cblxuICAgIC8vIEFkZCBzcGFjaW5nIHRvIGxpbmUgbnVtYmVyIGNvbnRhaW5lclxuICAgIC5saW5lbm9kaXYge1xuICAgICAgcGFkZGluZzogcHgycmVtKDEwLjVweCkgcHgycmVtKDEycHgpO1xuICAgIH1cblxuICAgIC8vIERpc2FibGUgdXNlciBzZWxlY3Rpb24sIHNvIGNvZGUgY2FuIGJlIGVhc2lseSBjb3BpZWQgd2l0aG91dFxuICAgIC8vIGFjY2lkZW50YWxseSBhbHNvIGNvcHlpbmcgdGhlIGxpbmUgbnVtYmVyc1xuICAgIC5saW5lbm9zIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRtZC1jb2xvci1ibGFjay0tbGlnaHRlc3Q7XG4gICAgICBjb2xvcjogJG1kLWNvbG9yLWJsYWNrLS1saWdodGVyO1xuICAgICAgdXNlci1zZWxlY3Q6IG5vbmU7XG5cbiAgICAgIC8vIFJlc2V0IHNwYWNpbmdzXG4gICAgICBwcmUge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgY29sb3I6IGluaGVyaXQ7XG4gICAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIFRoZSB0YWJsZSBjZWxsIGNvbnRhaW5pbmcgdGhlIGNvZGUgY29udGFpbmVyIHdyYXBwZXIgYW5kIGNvZGUgc2hvdWxkXG4gICAgLy8gc3RyZXRjaCBob3Jpem9udGFsbHkgdG8gdGhlIHJlbWFpbmluZyBzcGFjZVxuICAgIC5jb2RlIHtcbiAgICAgIGZsZXg6IDE7XG4gICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIH1cbiAgfVxuXG4gIC8vIEJsb2NrIHdpdGggbGluZSBudW1iZXJzXG4gID4gLmNvZGVoaWxpdGV0YWJsZSB7XG4gICAgbWFyZ2luOiAxZW0gMDtcbiAgICBib3JkZXItcmFkaXVzOiAwLjJlbTtcbiAgfVxuXG4gIC8vIFttb2JpbGUgLV06IFN0cmV0Y2ggdG8gd2hvbGUgd2lkdGhcbiAgQGluY2x1ZGUgYnJlYWstdG8tZGV2aWNlKG1vYmlsZSkge1xuXG4gICAgLy8gRnVsbC13aWR0aCBjb250YWluZXJcbiAgICA+IC5jb2RlaGlsaXRlIHtcbiAgICAgIG1hcmdpbjogMWVtIHB4MnJlbSgtMTZweCk7XG5cbiAgICAgIC8vIEFjdHVhbCBjb250YWluZXIgd2l0aCBjb2RlLCBvdmVyZmxvd2luZ1xuICAgICAgY29kZSB7XG4gICAgICAgIHBhZGRpbmc6IHB4MnJlbSgxMC41cHgpIHB4MnJlbSgxNnB4KTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBGdWxsLXdpZHRoIGNvbnRhaW5lciBvbiB0b3AtbGV2ZWxcbiAgICA+IC5jb2RlaGlsaXRldGFibGUge1xuICAgICAgbWFyZ2luOiAxZW0gcHgycmVtKC0xNnB4KTtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDA7XG5cbiAgICAgIC8vIEluY3JlYXNlIHNwYWNpbmdcbiAgICAgIC5saW5lbm9kaXYge1xuICAgICAgICBwYWRkaW5nOiBweDJyZW0oMTBweCkgcHgycmVtKDE2cHgpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIFdoZW4gcHltZG93bnguc3VwZXJmZW5jZXMgaXMgZW5hYmxlZCBidXQgY29kZWhpbGl0ZSBpcyBkaXNhYmxlZCxcbiAgLy8gcHltZG93bnguaGlnaGxpZ2h0IHdpbGwgYmUgdXNlZC4gV2hlbiB0aGlzIGhhcHBlbnMsIHRoZSBvdXRlclxuICAvLyBjb250YWluZXIgYW5kIHRhYmxlcyBnZXQgdGhpcyBjbGFzcyBuYW1lcyBieSBkZWZhdWx0LlxuICAuaGlnaGxpZ2h0IHtcbiAgICBAZXh0ZW5kIC5jb2RlaGlsaXRlO1xuICB9XG5cbiAgLy8gU2FtZSBhcyBhYm92ZSwgYnV0IGZvciBjb2RlIGJsb2NrcyB3aXRoIGxpbmUgbnVtYmVycyBlbmFibGVkXG4gIC5oaWdobGlnaHR0YWJsZSB7XG4gICAgQGV4dGVuZCAuY29kZWhpbGl0ZXRhYmxlO1xuICB9XG59XG4iLCIvLy8vXG4vLy8gQ29weXJpZ2h0IChjKSAyMDE2LTIwMjAgTWFydGluIERvbmF0aCA8bWFydGluLmRvbmF0aEBzcXVpZGZ1bmsuY29tPlxuLy8vXG4vLy8gUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0YWluaW5nIGFcbi8vLyBjb3B5IG9mIHRoaXMgc29mdHdhcmUgYW5kIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlIFwiU29mdHdhcmVcIiksXG4vLy8gdG8gZGVhbCBpbiB0aGUgU29mdHdhcmUgd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nIHdpdGhvdXQgbGltaXRhdGlvblxuLy8vIHRoZSByaWdodHMgdG8gdXNlLCBjb3B5LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNoLCBkaXN0cmlidXRlLCBzdWJsaWNlbnNlLFxuLy8vIGFuZC9vciBzZWxsIGNvcGllcyBvZiB0aGUgU29mdHdhcmUsIGFuZCB0byBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZVxuLy8vIFNvZnR3YXJlIGlzIGZ1cm5pc2hlZCB0byBkbyBzbywgc3ViamVjdCB0byB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6XG4vLy9cbi8vLyBUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBiZSBpbmNsdWRlZCBpblxuLy8vIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIFNvZnR3YXJlLlxuLy8vXG4vLy8gVEhFIFNPRlRXQVJFIElTIFBST1ZJREVEIFwiQVMgSVNcIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwgRVhQUkVTUyBPUlxuLy8vIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZLFxuLy8vIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT04tSU5GUklOR0VNRU5ULiBJTiBOTyBFVkVOVCBTSEFMTFxuLy8vIFRIRSBBVVRIT1JTIE9SIENPUFlSSUdIVCBIT0xERVJTIEJFIExJQUJMRSBGT1IgQU5ZIENMQUlNLCBEQU1BR0VTIE9SIE9USEVSXG4vLy8gTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkdcbi8vLyBGUk9NLCBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRSBTT0ZUV0FSRSBPUiBUSEUgVVNFIE9SIE9USEVSXG4vLy8gREVBTElOR1Ncbi8vLy9cblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gUnVsZXNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLy8gU2NvcGVkIGluIHR5cGVzZXR0ZWQgY29udGVudCB0byBtYXRjaCBzcGVjaWZpY2l0eSBvZiByZWd1bGFyIGNvbnRlbnRcbi5tZC10eXBlc2V0IHtcblxuICAvLyBBbGwgZm9vdG5vdGUgcmVmZXJlbmNlc1xuICBbaWRePVwiZm5yZWY6XCJdIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cbiAgICAvLyBUYXJnZXRlZCBhbmNob3JcbiAgICAmOnRhcmdldCB7XG4gICAgICBtYXJnaW4tdG9wOiAtMSAqIHB4MnJlbSg0OHB4ICsgMTJweCArIDE2cHgpO1xuICAgICAgcGFkZGluZy10b3A6IHB4MnJlbSg0OHB4ICsgMTJweCArIDE2cHgpO1xuICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgfVxuICB9XG5cbiAgLy8gQWxsIGZvb3Rub3RlIGJhY2sgcmVmZXJlbmNlc1xuICBbaWRePVwiZm46XCJdIHtcblxuICAgIC8vIEFkZCBzcGFjaW5nIHRvIGFuY2hvciBmb3Igb2Zmc2V0XG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICBoZWlnaHQ6IDA7XG4gICAgICBjb250ZW50OiBcIlwiO1xuICAgIH1cblxuICAgIC8vIFRhcmdldGVkIGFuY2hvclxuICAgICY6dGFyZ2V0OjpiZWZvcmUge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBtYXJnaW4tdG9wOiAtMSAqIHB4MnJlbSg0OHB4ICsgMTJweCArIDEwcHgpO1xuICAgICAgcGFkZGluZy10b3A6IHB4MnJlbSg0OHB4ICsgMTJweCArIDEwcHgpO1xuICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgfVxuICB9XG5cbiAgLy8gRm9vdG5vdGVzIGV4dGVuc2lvblxuICAuZm9vdG5vdGUge1xuICAgIGNvbG9yOiAkbWQtY29sb3ItYmxhY2stLWxpZ2h0O1xuICAgIGZvbnQtc2l6ZTogbXMoLTEpO1xuXG4gICAgLy8gUmVtb3ZlIGFkZGl0aW9uYWwgc3BhY2luZyBvbiBmb290bm90ZXNcbiAgICBvbCB7XG4gICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICB9XG5cbiAgICAvLyBGb290bm90ZVxuICAgIGxpIHtcbiAgICAgIHRyYW5zaXRpb246IGNvbG9yIDAuMjVzO1xuXG4gICAgICAvLyBEYXJrZW4gY29sb3IgZm9yIHRhcmdldGVkIGZvb3Rub3RlXG4gICAgICAmOnRhcmdldCB7XG4gICAgICAgIGNvbG9yOiAkbWQtY29sb3ItYmxhY2s7XG4gICAgICB9XG5cbiAgICAgIC8vIFJlbW92ZSBzcGFjaW5nIG9uIGZpcnN0IGVsZW1lbnRcbiAgICAgIDpmaXJzdC1jaGlsZCB7XG4gICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICB9XG5cbiAgICAgIC8vIE1ha2UgYmFjayByZWZlcmVuY2VzIHZpc2libGUgb24gaG92ZXJcbiAgICAgICY6aG92ZXIgIC5mb290bm90ZS1iYWNrcmVmLFxuICAgICAgJjp0YXJnZXQgLmZvb3Rub3RlLWJhY2tyZWYge1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICB9XG5cbiAgICAgIC8vIEFjdGl2ZSBvciB0YXJnZXRlZCBiYWNrIHJlZmVyZW5jZVxuICAgICAgJjpob3ZlciAgLmZvb3Rub3RlLWJhY2tyZWY6aG92ZXIsXG4gICAgICAmOnRhcmdldCAuZm9vdG5vdGUtYmFja3JlZiB7XG4gICAgICAgIGNvbG9yOiAkbWQtY29sb3ItYWNjZW50O1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIEZvb3Rub3RlIHJlZmVyZW5jZVxuICAuZm9vdG5vdGUtcmVmIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgcG9pbnRlci1ldmVudHM6IGluaXRpYWw7XG5cbiAgICAvLyBSZW5kZXIgYSB0aGluIGxpbmUgYmVmb3JlIGZvb3Rub3RlXG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZTtcbiAgICAgIG1hcmdpbjogMCAwLjJlbTtcbiAgICAgIGJvcmRlci1sZWZ0OiBweDJyZW0oMXB4KSBzb2xpZCAkbWQtY29sb3ItYmxhY2stLWxpZ2h0ZXI7XG4gICAgICBmb250LXNpemU6IDEuMjVlbTtcbiAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogcHgycmVtKC01cHgpO1xuICAgIH1cbiAgfVxuXG4gIC8vIEZvb3Rub3RlIGJhY2sgcmVmZXJlbmNlXG4gIC5mb290bm90ZS1iYWNrcmVmIHtcbiAgICBAZXh0ZW5kICVtZC1pY29uO1xuXG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWChweDJyZW0oNXB4KSk7XG4gICAgdHJhbnNpdGlvbjpcbiAgICAgIHRyYW5zZm9ybSAwLjI1cyAgMC4xMjVzLFxuICAgICAgY29sb3IgICAgIDAuMjVzLFxuICAgICAgb3BhY2l0eSAgIDAuMTI1cyAwLjEyNXM7XG4gICAgY29sb3I6ICRtZC1jb2xvci1ibGFjay0tbGlnaHRlcjtcbiAgICAvLyBIYWNrOiByZW1vdmUgVW5pY29kZSBhcnJvdyBmb3IgaWNvblxuICAgIGZvbnQtc2l6ZTogMDtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHZlcnRpY2FsLWFsaWduOiB0ZXh0LWJvdHRvbTtcblxuICAgIC8vIEFkanVzdCBmb3IgUlRMIGxhbmd1YWdlc1xuICAgIFtkaXI9XCJydGxcIl0gJiB7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgocHgycmVtKC01cHgpKTtcbiAgICB9XG5cbiAgICAvLyBCYWNrIHJlZmVyZW5jZSBpY29uXG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIGZvbnQtc2l6ZTogcHgycmVtKDE2cHgpO1xuICAgICAgY29udGVudDogXCJcXEUzMUJcIjsgLy8ga2V5Ym9hcmRfcmV0dXJuXG5cbiAgICAgIC8vIEFkanVzdCBmb3IgUlRMIGxhbmd1YWdlc1xuICAgICAgW2Rpcj1cInJ0bFwiXSAmIHtcbiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZVgoLTEpXG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLy8vXG4vLy8gQ29weXJpZ2h0IChjKSAyMDE2LTIwMjAgTWFydGluIERvbmF0aCA8bWFydGluLmRvbmF0aEBzcXVpZGZ1bmsuY29tPlxuLy8vXG4vLy8gUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0YWluaW5nIGFcbi8vLyBjb3B5IG9mIHRoaXMgc29mdHdhcmUgYW5kIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlIFwiU29mdHdhcmVcIiksXG4vLy8gdG8gZGVhbCBpbiB0aGUgU29mdHdhcmUgd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nIHdpdGhvdXQgbGltaXRhdGlvblxuLy8vIHRoZSByaWdodHMgdG8gdXNlLCBjb3B5LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNoLCBkaXN0cmlidXRlLCBzdWJsaWNlbnNlLFxuLy8vIGFuZC9vciBzZWxsIGNvcGllcyBvZiB0aGUgU29mdHdhcmUsIGFuZCB0byBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZVxuLy8vIFNvZnR3YXJlIGlzIGZ1cm5pc2hlZCB0byBkbyBzbywgc3ViamVjdCB0byB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6XG4vLy9cbi8vLyBUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBiZSBpbmNsdWRlZCBpblxuLy8vIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIFNvZnR3YXJlLlxuLy8vXG4vLy8gVEhFIFNPRlRXQVJFIElTIFBST1ZJREVEIFwiQVMgSVNcIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwgRVhQUkVTUyBPUlxuLy8vIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZLFxuLy8vIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT04tSU5GUklOR0VNRU5ULiBJTiBOTyBFVkVOVCBTSEFMTFxuLy8vIFRIRSBBVVRIT1JTIE9SIENPUFlSSUdIVCBIT0xERVJTIEJFIExJQUJMRSBGT1IgQU5ZIENMQUlNLCBEQU1BR0VTIE9SIE9USEVSXG4vLy8gTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkdcbi8vLyBGUk9NLCBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRSBTT0ZUV0FSRSBPUiBUSEUgVVNFIE9SIE9USEVSXG4vLy8gREVBTElOR1Ncbi8vLy9cblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gUnVsZXNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLy8gU2NvcGVkIGluIHR5cGVzZXR0ZWQgY29udGVudCB0byBtYXRjaCBzcGVjaWZpY2l0eSBvZiByZWd1bGFyIGNvbnRlbnRcbi5tZC10eXBlc2V0IHtcblxuICAvLyBQZXJtYWxpbmtzIGV4dGVuc2lvblxuICAuaGVhZGVybGluayB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIG1hcmdpbi1sZWZ0OiBweDJyZW0oMTBweCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgcHgycmVtKDVweCkpO1xuICAgIHRyYW5zaXRpb246XG4gICAgICB0cmFuc2Zvcm0gMC4yNXMgIDAuMjVzLFxuICAgICAgY29sb3IgICAgIDAuMjVzLFxuICAgICAgb3BhY2l0eSAgIDAuMTI1cyAwLjI1cztcbiAgICBvcGFjaXR5OiAwO1xuXG4gICAgLy8gQWRqdXN0IGZvciBSVEwgbGFuZ3VhZ2VzXG4gICAgW2Rpcj1cInJ0bFwiXSAmIHtcbiAgICAgIG1hcmdpbi1yaWdodDogcHgycmVtKDEwcHgpO1xuICAgICAgbWFyZ2luLWxlZnQ6IGluaXRpYWw7XG4gICAgfVxuXG4gICAgLy8gSGlnaGVyIHNwZWNpZmljaXR5IGZvciBjb2xvciBkdWUgdG8gcGFsZXR0ZXMgaW50ZWdyYXRpb25cbiAgICBodG1sIGJvZHkgJiB7XG4gICAgICBjb2xvcjogJG1kLWNvbG9yLWJsYWNrLS1saWdodGVyO1xuICAgIH1cblxuICAgIC8vIEhpZGUgZm9yIHByaW50XG4gICAgQG1lZGlhIHByaW50IHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICB9XG5cbiAgLy8gQ29ycmVjdCBhbmNob3Igb2Zmc2V0IGZvciBsaW5rIGJsdXJyaW5nXG4gIEBlYWNoICRsZXZlbCwgJGRlbHRhIGluIChcbiAgICBoMTogOXB4LFxuICAgIGgyOiA4cHgsXG4gICAgaDM6IDlweCxcbiAgICBoNDogOXB4LFxuICAgIGg1OiAxMXB4LFxuICAgIGg2OiAxMXB4XG4gICkge1xuICAgICN7JGxldmVsfVtpZF0ge1xuXG4gICAgICAvLyBVbi10YXJnZXRlZCBhbmNob3JcbiAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBtYXJnaW4tdG9wOiAtJGRlbHRhO1xuICAgICAgICBwYWRkaW5nLXRvcDogJGRlbHRhO1xuICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgfVxuXG4gICAgICAvLyBUYXJnZXRlZCBhbmNob3IgKDQ4cHggZnJvbSBoZWFkZXIsIDEycHggZnJvbSBzaWRlYmFyIG9mZnNldClcbiAgICAgICY6dGFyZ2V0OjpiZWZvcmUge1xuICAgICAgICBtYXJnaW4tdG9wOiAtMSAqIHB4MnJlbSg0OHB4ICsgMTJweCArICRkZWx0YSk7XG4gICAgICAgIHBhZGRpbmctdG9wOiBweDJyZW0oNDhweCArIDEycHggKyAkZGVsdGEpO1xuICAgICAgfVxuXG4gICAgICAvLyBNYWtlIHBlcm1hbGluayB2aXNpYmxlIG9uIGhvdmVyXG4gICAgICAmOmhvdmVyICAuaGVhZGVybGluayxcbiAgICAgICY6dGFyZ2V0IC5oZWFkZXJsaW5rLFxuICAgICAgJiAuaGVhZGVybGluazpmb2N1cyB7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIDApO1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgfVxuXG4gICAgICAvLyBBY3RpdmUgb3IgdGFyZ2V0ZWQgcGVybWFsaW5rXG4gICAgICAmOmhvdmVyICAuaGVhZGVybGluazpob3ZlcixcbiAgICAgICY6dGFyZ2V0IC5oZWFkZXJsaW5rLFxuICAgICAgJiAuaGVhZGVybGluazpmb2N1cyB7XG4gICAgICAgIGNvbG9yOiAkbWQtY29sb3ItYWNjZW50O1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8vL1xuLy8vIENvcHlyaWdodCAoYykgMjAxNi0yMDIwIE1hcnRpbiBEb25hdGggPG1hcnRpbi5kb25hdGhAc3F1aWRmdW5rLmNvbT5cbi8vL1xuLy8vIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBhXG4vLy8gY29weSBvZiB0aGlzIHNvZnR3YXJlIGFuZCBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZSBcIlNvZnR3YXJlXCIpLFxuLy8vIHRvIGRlYWwgaW4gdGhlIFNvZnR3YXJlIHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1ZGluZyB3aXRob3V0IGxpbWl0YXRpb25cbi8vLyB0aGUgcmlnaHRzIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwgZGlzdHJpYnV0ZSwgc3VibGljZW5zZSxcbi8vLyBhbmQvb3Igc2VsbCBjb3BpZXMgb2YgdGhlIFNvZnR3YXJlLCBhbmQgdG8gcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGVcbi8vLyBTb2Z0d2FyZSBpcyBmdXJuaXNoZWQgdG8gZG8gc28sIHN1YmplY3QgdG8gdGhlIGZvbGxvd2luZyBjb25kaXRpb25zOlxuLy8vXG4vLy8gVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWQgaW5cbi8vLyBhbGwgY29waWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25zIG9mIHRoZSBTb2Z0d2FyZS5cbi8vL1xuLy8vIFRIRSBTT0ZUV0FSRSBJUyBQUk9WSURFRCBcIkFTIElTXCIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsIEVYUFJFU1MgT1Jcbi8vLyBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSxcbi8vLyBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OLUlORlJJTkdFTUVOVC4gSU4gTk8gRVZFTlQgU0hBTExcbi8vLyBUSEUgQVVUSE9SUyBPUiBDT1BZUklHSFQgSE9MREVSUyBCRSBMSUFCTEUgRk9SIEFOWSBDTEFJTSwgREFNQUdFUyBPUiBPVEhFUlxuLy8vIExJQUJJTElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HXG4vLy8gRlJPTSwgT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUlxuLy8vIERFQUxJTkdTXG4vLy8vXG5cbi8vIHN0eWxlbGludC1kaXNhYmxlIHNlbGVjdG9yLWNsYXNzLXBhdHRlcm5cblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gUnVsZXNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLy8gU2NvcGVkIGluIHR5cGVzZXR0ZWQgY29udGVudCB0byBtYXRjaCBzcGVjaWZpY2l0eSBvZiByZWd1bGFyIGNvbnRlbnRcbi5tZC10eXBlc2V0IHtcblxuICAvLyBNYXRoSmF4IGludGVncmF0aW9uIC0gYWRkIHBhZGRpbmcgdG8gb21pdCB2ZXJ0aWNhbCBzY3JvbGxiYXJcbiAgLk1KWGMtZGlzcGxheSB7XG4gICAgbWFyZ2luOiAwLjc1ZW0gMDtcbiAgICBwYWRkaW5nOiAwLjc1ZW0gMDtcbiAgICBvdmVyZmxvdzogYXV0bztcbiAgICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7XG4gIH1cblxuICAvLyBTdHJldGNoIHRvcC1sZXZlbCBjb250YWluZXJzXG4gID4gcCA+IC5NSlhjLWRpc3BsYXkge1xuXG4gICAgLy8gW21vYmlsZSAtXTogU3RyZXRjaCB0byB3aG9sZSB3aWR0aFxuICAgIEBpbmNsdWRlIGJyZWFrLXRvLWRldmljZShtb2JpbGUpIHtcbiAgICAgIG1hcmdpbjogMC43NWVtIHB4MnJlbSgtMTZweCk7XG4gICAgICBwYWRkaW5nOiAwLjI1ZW0gcHgycmVtKDE2cHgpO1xuICAgIH1cbiAgfVxuXG4gIC8vIFJlbW92ZSBvdXRsaW5lIG9uIHRhYiBpbmRleFxuICAuTWF0aEpheF9DSFRNTCB7XG4gICAgb3V0bGluZTogMDtcbiAgfVxufVxuIiwiLy8vL1xuLy8vIENvcHlyaWdodCAoYykgMjAxNi0yMDIwIE1hcnRpbiBEb25hdGggPG1hcnRpbi5kb25hdGhAc3F1aWRmdW5rLmNvbT5cbi8vL1xuLy8vIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBhXG4vLy8gY29weSBvZiB0aGlzIHNvZnR3YXJlIGFuZCBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZSBcIlNvZnR3YXJlXCIpLFxuLy8vIHRvIGRlYWwgaW4gdGhlIFNvZnR3YXJlIHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1ZGluZyB3aXRob3V0IGxpbWl0YXRpb25cbi8vLyB0aGUgcmlnaHRzIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwgZGlzdHJpYnV0ZSwgc3VibGljZW5zZSxcbi8vLyBhbmQvb3Igc2VsbCBjb3BpZXMgb2YgdGhlIFNvZnR3YXJlLCBhbmQgdG8gcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGVcbi8vLyBTb2Z0d2FyZSBpcyBmdXJuaXNoZWQgdG8gZG8gc28sIHN1YmplY3QgdG8gdGhlIGZvbGxvd2luZyBjb25kaXRpb25zOlxuLy8vXG4vLy8gVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWQgaW5cbi8vLyBhbGwgY29waWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25zIG9mIHRoZSBTb2Z0d2FyZS5cbi8vL1xuLy8vIFRIRSBTT0ZUV0FSRSBJUyBQUk9WSURFRCBcIkFTIElTXCIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsIEVYUFJFU1MgT1Jcbi8vLyBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSxcbi8vLyBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OLUlORlJJTkdFTUVOVC4gSU4gTk8gRVZFTlQgU0hBTExcbi8vLyBUSEUgQVVUSE9SUyBPUiBDT1BZUklHSFQgSE9MREVSUyBCRSBMSUFCTEUgRk9SIEFOWSBDTEFJTSwgREFNQUdFUyBPUiBPVEhFUlxuLy8vIExJQUJJTElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HXG4vLy8gRlJPTSwgT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUlxuLy8vIERFQUxJTkdTXG4vLy8vXG5cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIFJ1bGVzXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi8vIFNjb3BlZCBpbiB0eXBlc2V0dGVkIGNvbnRlbnQgdG8gbWF0Y2ggc3BlY2lmaWNpdHkgb2YgcmVndWxhciBjb250ZW50XG4ubWQtdHlwZXNldCB7XG5cbiAgLy8gRGVsZXRpb25zLCBhZGRpdGlvbnMgYW5kIGNvbW1lbnRzXG4gIGRlbC5jcml0aWMsXG4gIGlucy5jcml0aWMsXG4gIC5jcml0aWMuY29tbWVudCB7XG4gICAgbWFyZ2luOiAwIDAuMjVlbTtcbiAgICBwYWRkaW5nOiAwLjA2MjVlbSAwO1xuICAgIGJvcmRlci1yYWRpdXM6IHB4MnJlbSgycHgpO1xuICAgIGJveC1kZWNvcmF0aW9uLWJyZWFrOiBjbG9uZTtcbiAgfVxuXG4gIC8vIERlbGV0aW9uXG4gIGRlbC5jcml0aWMge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2RlaGlsaXRlLWRpZmYtZGVsZXRlZDsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBUT0RPOiBkZXBlbmRlbnQgb24gb3JkZXIgb2YgaW5jbHVzaW9uXG4gICAgYm94LXNoYWRvdzpcbiAgICAgICswLjI1ZW0gMCAwICRjb2RlaGlsaXRlLWRpZmYtZGVsZXRlZCxcbiAgICAgIC0wLjI1ZW0gMCAwICRjb2RlaGlsaXRlLWRpZmYtZGVsZXRlZDtcbiAgfVxuXG4gIC8vIEFkZGl0aW9uXG4gIGlucy5jcml0aWMge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2RlaGlsaXRlLWRpZmYtaW5zZXJ0ZWQ7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBUT0RPOiBkZXBlbmRlbnQgb24gb3JkZXIgb2YgaW5jbHVzaW9uXG4gICAgYm94LXNoYWRvdzpcbiAgICAgICswLjI1ZW0gMCAwICRjb2RlaGlsaXRlLWRpZmYtaW5zZXJ0ZWQsXG4gICAgICAtMC4yNWVtIDAgMCAkY29kZWhpbGl0ZS1kaWZmLWluc2VydGVkO1xuICB9XG5cbiAgLy8gQ29tbWVudFxuICAuY3JpdGljLmNvbW1lbnQge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRtZC1jb2RlLWJhY2tncm91bmQ7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBUT0RPOiByZW5hbWUsIGNlbnRyYWxpemUgc29tZWhvd1xuICAgIGNvbG9yOiAkbWQtY29kZS1jb2xvcjtcbiAgICBib3gtc2hhZG93OlxuICAgICAgKzAuMjVlbSAwIDAgJG1kLWNvZGUtYmFja2dyb3VuZCxcbiAgICAgIC0wLjI1ZW0gMCAwICRtZC1jb2RlLWJhY2tncm91bmQ7XG5cbiAgICAvLyBJY29uXG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIEBleHRlbmQgJW1kLWljb247XG5cbiAgICAgIHBhZGRpbmctcmlnaHQ6IDAuMTI1ZW07XG4gICAgICBjb2xvcjogJG1kLWNvbG9yLWJsYWNrLS1saWdodGVyO1xuICAgICAgY29udGVudDogXCJcXEUwQjdcIjsgLy8gY2hhdFxuICAgICAgdmVydGljYWwtYWxpZ246IC0wLjEyNWVtO1xuICAgIH1cbiAgfVxuXG4gIC8vIEJsb2NrXG4gIC5jcml0aWMuYmxvY2sge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG1hcmdpbjogMWVtIDA7XG4gICAgcGFkZGluZy1yaWdodDogcHgycmVtKDE2cHgpO1xuICAgIHBhZGRpbmctbGVmdDogcHgycmVtKDE2cHgpO1xuICAgIGJveC1zaGFkb3c6IG5vbmU7XG5cbiAgICAvLyBEZWNyZWFzZSBzcGFjaW5nIG9uIGZpcnN0IGVsZW1lbnRcbiAgICA6Zmlyc3QtY2hpbGQge1xuICAgICAgbWFyZ2luLXRvcDogMC41ZW07XG4gICAgfVxuXG4gICAgLy8gRGVjcmVhc2Ugc3BhY2luZyBvbiBsYXN0IGVsZW1lbnRcbiAgICA6bGFzdC1jaGlsZCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwLjVlbTtcbiAgICB9XG4gIH1cbn1cbiIsIi8vLy9cbi8vLyBDb3B5cmlnaHQgKGMpIDIwMTYtMjAyMCBNYXJ0aW4gRG9uYXRoIDxtYXJ0aW4uZG9uYXRoQHNxdWlkZnVuay5jb20+XG4vLy9cbi8vLyBQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYVxuLy8vIGNvcHkgb2YgdGhpcyBzb2Z0d2FyZSBhbmQgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGUgXCJTb2Z0d2FyZVwiKSxcbi8vLyB0byBkZWFsIGluIHRoZSBTb2Z0d2FyZSB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcgd2l0aG91dCBsaW1pdGF0aW9uXG4vLy8gdGhlIHJpZ2h0cyB0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsXG4vLy8gYW5kL29yIHNlbGwgY29waWVzIG9mIHRoZSBTb2Z0d2FyZSwgYW5kIHRvIHBlcm1pdCBwZXJzb25zIHRvIHdob20gdGhlXG4vLy8gU29mdHdhcmUgaXMgZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczpcbi8vL1xuLy8vIFRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIHNoYWxsIGJlIGluY2x1ZGVkIGluXG4vLy8gYWxsIGNvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUgU29mdHdhcmUuXG4vLy9cbi8vLyBUSEUgU09GVFdBUkUgSVMgUFJPVklERUQgXCJBUyBJU1wiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELCBFWFBSRVNTIE9SXG4vLy8gSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFksXG4vLy8gRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTi1JTkZSSU5HRU1FTlQuIElOIE5PIEVWRU5UIFNIQUxMXG4vLy8gVEhFIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkgQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVJcbi8vLyBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULCBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lOR1xuLy8vIEZST00sIE9VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhFIFNPRlRXQVJFIE9SIFRIRSBVU0UgT1IgT1RIRVJcbi8vLyBERUFMSU5HU1xuLy8vL1xuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBSdWxlc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4vLyBTY29wZWQgaW4gdHlwZXNldHRlZCBjb250ZW50IHRvIG1hdGNoIHNwZWNpZmljaXR5IG9mIHJlZ3VsYXIgY29udGVudFxuLm1kLXR5cGVzZXQge1xuXG4gIC8vIENvcnJlY3QgYWxpZ25tZW50IG9mIGVtb2ppc1xuICAuZW1vamlvbmUsXG4gIC50d2Vtb2ppLFxuICAuZ2Vtb2ppIHtcbiAgICB3aWR0aDogcHgycmVtKDIwcHgpO1xuICAgIHZlcnRpY2FsLWFsaWduOiB0ZXh0LXRvcDtcbiAgfVxufVxuIiwiLy8vL1xuLy8vIENvcHlyaWdodCAoYykgMjAxNi0yMDIwIE1hcnRpbiBEb25hdGggPG1hcnRpbi5kb25hdGhAc3F1aWRmdW5rLmNvbT5cbi8vL1xuLy8vIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBhXG4vLy8gY29weSBvZiB0aGlzIHNvZnR3YXJlIGFuZCBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZSBcIlNvZnR3YXJlXCIpLFxuLy8vIHRvIGRlYWwgaW4gdGhlIFNvZnR3YXJlIHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1ZGluZyB3aXRob3V0IGxpbWl0YXRpb25cbi8vLyB0aGUgcmlnaHRzIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwgZGlzdHJpYnV0ZSwgc3VibGljZW5zZSxcbi8vLyBhbmQvb3Igc2VsbCBjb3BpZXMgb2YgdGhlIFNvZnR3YXJlLCBhbmQgdG8gcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGVcbi8vLyBTb2Z0d2FyZSBpcyBmdXJuaXNoZWQgdG8gZG8gc28sIHN1YmplY3QgdG8gdGhlIGZvbGxvd2luZyBjb25kaXRpb25zOlxuLy8vXG4vLy8gVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWQgaW5cbi8vLyBhbGwgY29waWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25zIG9mIHRoZSBTb2Z0d2FyZS5cbi8vL1xuLy8vIFRIRSBTT0ZUV0FSRSBJUyBQUk9WSURFRCBcIkFTIElTXCIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsIEVYUFJFU1MgT1Jcbi8vLyBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSxcbi8vLyBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OLUlORlJJTkdFTUVOVC4gSU4gTk8gRVZFTlQgU0hBTExcbi8vLyBUSEUgQVVUSE9SUyBPUiBDT1BZUklHSFQgSE9MREVSUyBCRSBMSUFCTEUgRk9SIEFOWSBDTEFJTSwgREFNQUdFUyBPUiBPVEhFUlxuLy8vIExJQUJJTElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HXG4vLy8gRlJPTSwgT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUlxuLy8vIERFQUxJTkdTXG4vLy8vXG5cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIFJ1bGVzXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi8vIFNjb3BlZCBpbiB0eXBlc2V0dGVkIGNvbnRlbnQgdG8gbWF0Y2ggc3BlY2lmaWNpdHkgb2YgcmVndWxhciBjb250ZW50XG4ubWQtdHlwZXNldCB7XG5cbiAgLy8gUXVhbGlmaWVkIGNsYXNzIHNlbGVjdG9yIHRvIGRpc3Rpbmd1aXNoIGlubGluZSBjb2RlIGZyb20gY29kZSBibG9ja3NcbiAgY29kZS5jb2RlaGlsaXRlIHtcbiAgICAkY29ycmVjdDogMSAvIDAuODU7XG5cbiAgICBtYXJnaW46IDAgMC4yNWVtICogJGNvcnJlY3Q7XG4gICAgcGFkZGluZzogMC4wNjI1ZW0gKiAkY29ycmVjdCAwO1xuICB9XG59XG4iLCIvLy8vXG4vLy8gQ29weXJpZ2h0IChjKSAyMDE2LTIwMjAgTWFydGluIERvbmF0aCA8bWFydGluLmRvbmF0aEBzcXVpZGZ1bmsuY29tPlxuLy8vXG4vLy8gUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0YWluaW5nIGFcbi8vLyBjb3B5IG9mIHRoaXMgc29mdHdhcmUgYW5kIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlIFwiU29mdHdhcmVcIiksXG4vLy8gdG8gZGVhbCBpbiB0aGUgU29mdHdhcmUgd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nIHdpdGhvdXQgbGltaXRhdGlvblxuLy8vIHRoZSByaWdodHMgdG8gdXNlLCBjb3B5LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNoLCBkaXN0cmlidXRlLCBzdWJsaWNlbnNlLFxuLy8vIGFuZC9vciBzZWxsIGNvcGllcyBvZiB0aGUgU29mdHdhcmUsIGFuZCB0byBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZVxuLy8vIFNvZnR3YXJlIGlzIGZ1cm5pc2hlZCB0byBkbyBzbywgc3ViamVjdCB0byB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6XG4vLy9cbi8vLyBUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBiZSBpbmNsdWRlZCBpblxuLy8vIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIFNvZnR3YXJlLlxuLy8vXG4vLy8gVEhFIFNPRlRXQVJFIElTIFBST1ZJREVEIFwiQVMgSVNcIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwgRVhQUkVTUyBPUlxuLy8vIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZLFxuLy8vIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT04tSU5GUklOR0VNRU5ULiBJTiBOTyBFVkVOVCBTSEFMTFxuLy8vIFRIRSBBVVRIT1JTIE9SIENPUFlSSUdIVCBIT0xERVJTIEJFIExJQUJMRSBGT1IgQU5ZIENMQUlNLCBEQU1BR0VTIE9SIE9USEVSXG4vLy8gTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkdcbi8vLyBGUk9NLCBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRSBTT0ZUV0FSRSBPUiBUSEUgVVNFIE9SIE9USEVSXG4vLy8gREVBTElOR1Ncbi8vLy9cblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gUnVsZXNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLy8gU2NvcGVkIGluIHR5cGVzZXR0ZWQgY29udGVudCB0byBtYXRjaCBzcGVjaWZpY2l0eSBvZiByZWd1bGFyIGNvbnRlbnRcbi5tZC10eXBlc2V0IHtcblxuICAvLyBUYWJiZWQgY29kZSBibG9jayBjb250ZW50XG4gIC5zdXBlcmZlbmNlcy1jb250ZW50IHtcbiAgICBkaXNwbGF5OiBub25lO1xuICAgIG9yZGVyOiA5OTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbWQtY29sb3Itd2hpdGU7XG5cbiAgICAvLyBBY3R1YWwgY29udGVudFxuICAgIHByZSB7XG4gICAgICBtYXJnaW46IDA7XG4gICAgICBib3JkZXItcmFkaXVzOiAwXG4gICAgfVxuICB9XG5cbiAgLy8gVGFiYmVkIGNvZGUgYmxvY2sgY29udGFpbmVyXG4gIC5zdXBlcmZlbmNlcy10YWJzIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgbWFyZ2luOiAxZW0gMDtcbiAgICBib3JkZXI6IHB4MnJlbSgxcHgpIHNvbGlkICRtZC1jb2xvci1ibGFjay0tbGlnaHRlc3Q7XG4gICAgYm9yZGVyLXJhZGl1czogMC4yZW07XG5cbiAgICAvLyBIaWRlIHJhZGlvIGJ1dHRvbnNcbiAgICA+IGlucHV0IHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG5cbiAgICAgIC8vIEFjdGl2ZSB0YWIgbGFiZWxcbiAgICAgICY6Y2hlY2tlZCArIGxhYmVsIHtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcblxuICAgICAgICAvLyBTaG93IGNvZGUgdGFiIGNvbnRlbnRcbiAgICAgICAgJiArIC5zdXBlcmZlbmNlcy1jb250ZW50IHtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC8vIFRhYiBsYWJlbFxuICAgID4gbGFiZWwge1xuICAgICAgd2lkdGg6IGF1dG87XG4gICAgICBwYWRkaW5nOiBweDJyZW0oMTJweCk7XG4gICAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjEyNXM7XG4gICAgICBmb250LXNpemU6IG1zKC0xKTtcbiAgICAgIGN1cnNvcjogcG9pbnRlcjtcblxuICAgICAgLy8gSG92ZXJlZCB0YWIgbGFiZWxcbiAgICAgIGh0bWwgJjpob3ZlciB7XG4gICAgICAgIGNvbG9yOiAkbWQtY29sb3ItYWNjZW50O1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIEZ1bGwtd2lkdGggY29udGFpbmVyIG9uIHRvcC1sZXZlbFxuICA+IC5zdXBlcmZlbmNlcy10YWJzIHtcblxuICAgIC8vIFttb2JpbGUgLV06IFN0cmV0Y2ggdG8gd2hvbGUgd2lkdGhcbiAgICBAaW5jbHVkZSBicmVhay10by1kZXZpY2UobW9iaWxlKSB7XG4gICAgICBtYXJnaW46IDFlbSBweDJyZW0oLTE2cHgpO1xuICAgICAgYm9yZGVyOiAwO1xuICAgICAgYm9yZGVyLXRvcDogcHgycmVtKDFweCkgc29saWQgJG1kLWNvbG9yLWJsYWNrLS1saWdodGVzdDtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgfVxuXG4gICAgLy8gW21vYmlsZSAtXTogU3RyZXRjaCB0byB3aG9sZSB3aWR0aFxuICAgIEBpbmNsdWRlIGJyZWFrLXRvLWRldmljZShtb2JpbGUpIHtcblxuICAgICAgLy8gRmlyc3QgdGFiIGxhYmVsXG4gICAgICBpbnB1dDpmaXJzdC1jaGlsZCArIGxhYmVsIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IHB4MnJlbSg0cHgpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8vL1xuLy8vIENvcHlyaWdodCAoYykgMjAxNi0yMDIwIE1hcnRpbiBEb25hdGggPG1hcnRpbi5kb25hdGhAc3F1aWRmdW5rLmNvbT5cbi8vL1xuLy8vIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBhXG4vLy8gY29weSBvZiB0aGlzIHNvZnR3YXJlIGFuZCBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZSBcIlNvZnR3YXJlXCIpLFxuLy8vIHRvIGRlYWwgaW4gdGhlIFNvZnR3YXJlIHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1ZGluZyB3aXRob3V0IGxpbWl0YXRpb25cbi8vLyB0aGUgcmlnaHRzIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwgZGlzdHJpYnV0ZSwgc3VibGljZW5zZSxcbi8vLyBhbmQvb3Igc2VsbCBjb3BpZXMgb2YgdGhlIFNvZnR3YXJlLCBhbmQgdG8gcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGVcbi8vLyBTb2Z0d2FyZSBpcyBmdXJuaXNoZWQgdG8gZG8gc28sIHN1YmplY3QgdG8gdGhlIGZvbGxvd2luZyBjb25kaXRpb25zOlxuLy8vXG4vLy8gVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWQgaW5cbi8vLyBhbGwgY29waWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25zIG9mIHRoZSBTb2Z0d2FyZS5cbi8vL1xuLy8vIFRIRSBTT0ZUV0FSRSBJUyBQUk9WSURFRCBcIkFTIElTXCIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsIEVYUFJFU1MgT1Jcbi8vLyBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSxcbi8vLyBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OLUlORlJJTkdFTUVOVC4gSU4gTk8gRVZFTlQgU0hBTExcbi8vLyBUSEUgQVVUSE9SUyBPUiBDT1BZUklHSFQgSE9MREVSUyBCRSBMSUFCTEUgRk9SIEFOWSBDTEFJTSwgREFNQUdFUyBPUiBPVEhFUlxuLy8vIExJQUJJTElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HXG4vLy8gRlJPTSwgT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUlxuLy8vIERFQUxJTkdTXG4vLy8vXG5cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIFJ1bGVzXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi8vIFNjb3BlZCBpbiB0eXBlc2V0dGVkIGNvbnRlbnQgdG8gbWF0Y2ggc3BlY2lmaWNpdHkgb2YgcmVndWxhciBjb250ZW50XG4ubWQtdHlwZXNldCB7XG5cbiAgLy8gUmVtb3ZlIGxpc3QgaWNvbiBvbiB0YXNrIGl0ZW1zXG4gIC50YXNrLWxpc3QtaXRlbSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcblxuICAgIC8vIE1ha2UgY2hlY2tib3ggaXRlbXMgYWxpZ24gd2l0aCBub3JtYWwgbGlzdCBpdGVtcywgYnV0IHBvc2l0aW9uXG4gICAgLy8gZXZlcnl0aGluZyBpbiBlbXMgZm9yIGNvcnJlY3QgbGF5b3V0IGF0IHNtYWxsZXIgZm9udCBzaXplc1xuICAgIFt0eXBlPVwiY2hlY2tib3hcIl0ge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAwLjQ1ZW07XG4gICAgICBsZWZ0OiAtMmVtO1xuXG4gICAgICAvLyBBZGp1c3QgZm9yIFJUTCBsYW5ndWFnZXNcbiAgICAgIFtkaXI9XCJydGxcIl0gJiB7XG4gICAgICAgIHJpZ2h0OiAtMmVtO1xuICAgICAgICBsZWZ0OiBpbml0aWFsO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIFdyYXBwZXIgZm9yIGxpc3QgY29udHJvbHMsIGluIGNhc2UgY3VzdG9tIGNoZWNrYm94ZXMgYXJlIGVuYWJsZWRcbiAgLnRhc2stbGlzdC1jb250cm9sIHtcblxuICAgIC8vIENoZWNrYm94IGljb24gaW4gdW5jaGVja2VkIHN0YXRlXG4gICAgLnRhc2stbGlzdC1pbmRpY2F0b3I6OmJlZm9yZSB7XG4gICAgICBAZXh0ZW5kICVtZC1pY29uO1xuXG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDAuMTVlbTtcbiAgICAgIGxlZnQ6IC0xLjI1ZW07XG4gICAgICBjb2xvcjogJG1kLWNvbG9yLWJsYWNrLS1saWdodGVyO1xuICAgICAgZm9udC1zaXplOiAxLjI1ZW07XG4gICAgICBjb250ZW50OiBcIlxcRTgzNVwiOyAvLyBjaGVja19ib3hfb3V0bGluZV9ibGFua1xuICAgICAgdmVydGljYWwtYWxpZ246IC0wLjI1ZW07XG5cbiAgICAgIC8vIEFkanVzdCBmb3IgUlRMIGxhbmd1YWdlc1xuICAgICAgW2Rpcj1cInJ0bFwiXSAmIHtcbiAgICAgICAgcmlnaHQ6IC0xLjI1ZW07XG4gICAgICAgIGxlZnQ6IGluaXRpYWw7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gQ2hlY2tib3ggaWNvbiBpbiBjaGVja2VkIHN0YXRlXG4gICAgW3R5cGU9XCJjaGVja2JveFwiXTpjaGVja2VkICsgLnRhc2stbGlzdC1pbmRpY2F0b3I6OmJlZm9yZSB7XG4gICAgICBjb250ZW50OiBcIlxcRTgzNFwiOyAvLyBjaGVja19ib3hcbiAgICB9XG5cbiAgICAvLyBIaWRlIG9yaWdpbmFsIGNoZWNrYm94IGJlaGluZCBpY29uXG4gICAgW3R5cGU9XCJjaGVja2JveFwiXSB7XG4gICAgICBvcGFjaXR5OiAwO1xuICAgICAgei1pbmRleDogLTE7XG4gICAgfVxuICB9XG59XG4iLCIvLy8vXG4vLy8gQ29weXJpZ2h0IChjKSAyMDE2LTIwMjAgTWFydGluIERvbmF0aCA8bWFydGluLmRvbmF0aEBzcXVpZGZ1bmsuY29tPlxuLy8vXG4vLy8gUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0YWluaW5nIGFcbi8vLyBjb3B5IG9mIHRoaXMgc29mdHdhcmUgYW5kIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlIFwiU29mdHdhcmVcIiksXG4vLy8gdG8gZGVhbCBpbiB0aGUgU29mdHdhcmUgd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nIHdpdGhvdXQgbGltaXRhdGlvblxuLy8vIHRoZSByaWdodHMgdG8gdXNlLCBjb3B5LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNoLCBkaXN0cmlidXRlLCBzdWJsaWNlbnNlLFxuLy8vIGFuZC9vciBzZWxsIGNvcGllcyBvZiB0aGUgU29mdHdhcmUsIGFuZCB0byBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZVxuLy8vIFNvZnR3YXJlIGlzIGZ1cm5pc2hlZCB0byBkbyBzbywgc3ViamVjdCB0byB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6XG4vLy9cbi8vLyBUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBiZSBpbmNsdWRlZCBpblxuLy8vIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIFNvZnR3YXJlLlxuLy8vXG4vLy8gVEhFIFNPRlRXQVJFIElTIFBST1ZJREVEIFwiQVMgSVNcIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwgRVhQUkVTUyBPUlxuLy8vIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZLFxuLy8vIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT04tSU5GUklOR0VNRU5ULiBJTiBOTyBFVkVOVCBTSEFMTFxuLy8vIFRIRSBBVVRIT1JTIE9SIENPUFlSSUdIVCBIT0xERVJTIEJFIExJQUJMRSBGT1IgQU5ZIENMQUlNLCBEQU1BR0VTIE9SIE9USEVSXG4vLy8gTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkdcbi8vLyBGUk9NLCBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRSBTT0ZUV0FSRSBPUiBUSEUgVVNFIE9SIE9USEVSXG4vLy8gREVBTElOR1Ncbi8vLy9cblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gVmFyaWFibGVzXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi8vL1xuLy8vIERldmljZS1zcGVjaWZpYyBicmVha3BvaW50c1xuLy8vXG4vLy8gQGV4YW1wbGVcbi8vLyAgICRicmVhay1kZXZpY2VzOiAoXG4vLy8gICAgIG1vYmlsZTogKFxuLy8vICAgICAgIHBvcnRyYWl0OiAgMjIwcHggIDQ3OXB4LFxuLy8vICAgICAgIGxhbmRzY2FwZTogNDgwcHggIDcxOXB4XG4vLy8gICAgICksXG4vLy8gICAgIHRhYmxldDogKFxuLy8vICAgICAgIHBvcnRyYWl0OiAgNzIwcHggIDk1OXB4LFxuLy8vICAgICAgIGxhbmRzY2FwZTogOTYwcHggIDEyMTlweFxuLy8vICAgICApLFxuLy8vICAgICBzY3JlZW46IChcbi8vLyAgICAgICBzbWFsbDogICAgIDEyMjBweCAxNTk5cHgsXG4vLy8gICAgICAgbWVkaXVtOiAgICAxNjAwcHggMTk5OXB4LFxuLy8vICAgICAgIGxhcmdlOiAgICAgMjAwMHB4XG4vLy8gICAgIClcbi8vLyAgICk7XG4vLy9cbi8vLyBAZ3JvdXAgIGhlbHBlcnNcbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vLyBAdHlwZSAgIE1hcFxuLy8vXG4kYnJlYWstZGV2aWNlczogKCkgIWRlZmF1bHQ7XG5cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIEhlbHBlcnNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLy8vXG4vLy8gQ2hvb3NlIG1pbmltdW0gYW5kIG1heGltdW0gZGV2aWNlIHdpZHRoc1xuLy8vXG4vLy8gQGdyb3VwICBoZWxwZXJzXG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy8gQHBhcmFtICB7TWFwfSAgJGRldmljZXMgTWFwIG9mIGRldmljZXNcbi8vLyBAcmV0dXJuIHtMaXN0fSAgICAgICAgICBNaW5pbXVtIGFuZCBtYXhpbXVtIHdpZHRoXG4vLy9cbkBmdW5jdGlvbiBicmVhay1zZWxlY3QtbWluLW1heCgkZGV2aWNlcykge1xuICAkbWluOiAxMDAwMDAwO1xuICAkbWF4OiAwO1xuICBAZWFjaCAka2V5LCAkdmFsdWUgaW4gJGRldmljZXMge1xuICAgIEB3aGlsZSB0eXBlLW9mKCR2YWx1ZSkgPT0gbWFwIHtcbiAgICAgICR2YWx1ZTogYnJlYWstc2VsZWN0LW1pbi1tYXgoJHZhbHVlKTtcbiAgICB9XG4gICAgQGlmIHR5cGUtb2YoJHZhbHVlKSA9PSBsaXN0IHtcbiAgICAgIEBlYWNoICRudW1iZXIgaW4gJHZhbHVlIHtcbiAgICAgICAgQGlmIHR5cGUtb2YoJG51bWJlcikgPT0gbnVtYmVyIHtcbiAgICAgICAgICAkbWluOiBtaW4oJG51bWJlciwgJG1pbik7XG4gICAgICAgICAgQGlmICRtYXggIT0gbnVsbCB7XG4gICAgICAgICAgICAkbWF4OiBtYXgoJG51bWJlciwgJG1heCk7XG4gICAgICAgICAgfVxuICAgICAgICB9IEBlbHNlIHtcbiAgICAgICAgICBAZXJyb3IgXCJJbnZhbGlkIG51bWJlcjogI3skbnVtYmVyfVwiO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfSBAZWxzZWlmIHR5cGUtb2YoJHZhbHVlKSA9PSBudW1iZXIge1xuICAgICAgJG1pbjogbWluKCR2YWx1ZSwgJG1pbik7XG4gICAgICAkbWF4OiBudWxsO1xuICAgIH0gQGVsc2Uge1xuICAgICAgQGVycm9yIFwiSW52YWxpZCB2YWx1ZTogI3skdmFsdWV9XCI7XG4gICAgfVxuICB9XG4gIEByZXR1cm4gJG1pbiwgJG1heDtcbn1cblxuLy8vXG4vLy8gU2VsZWN0IG1pbmltdW0gYW5kIG1heGltdW0gd2lkdGhzIGZvciBhIGRldmljZSBicmVha3BvaW50XG4vLy9cbi8vLyBAZ3JvdXAgIGhlbHBlcnNcbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vLyBAcGFyYW0gIHtTdHJpbmd9ICRkZXZpY2UgRGV2aWNlXG4vLy8gQHJldHVybiB7TGlzdH0gICAgICAgICAgIE1pbmltdW0gYW5kIG1heGltdW0gd2lkdGhcbi8vL1xuQGZ1bmN0aW9uIGJyZWFrLXNlbGVjdC1kZXZpY2UoJGRldmljZSkge1xuICAkY3VycmVudDogJGJyZWFrLWRldmljZXM7XG4gIEBmb3IgJG4gZnJvbSAxIHRocm91Z2ggbGVuZ3RoKCRkZXZpY2UpIHtcbiAgICBAaWYgdHlwZS1vZigkY3VycmVudCkgPT0gbWFwIHtcbiAgICAgICRjdXJyZW50OiBtYXAtZ2V0KCRjdXJyZW50LCBudGgoJGRldmljZSwgJG4pKTtcbiAgICB9IEBlbHNlIHtcbiAgICAgIEBlcnJvciBcIkludmFsaWQgZGV2aWNlIG1hcDogI3skZGV2aWNlc31cIjtcbiAgICB9XG4gIH1cbiAgQGlmIHR5cGUtb2YoJGN1cnJlbnQpID09IGxpc3Qgb3IgdHlwZS1vZigkY3VycmVudCkgPT0gbnVtYmVyIHtcbiAgICAkY3VycmVudDogKGRlZmF1bHQ6ICRjdXJyZW50KTtcbiAgfVxuICBAcmV0dXJuIGJyZWFrLXNlbGVjdC1taW4tbWF4KCRjdXJyZW50KTtcbn1cblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gTWl4aW5zXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi8vL1xuLy8vIEEgbWluaW11bS1tYXhpbXVtIG1lZGlhIHF1ZXJ5IGJyZWFrcG9pbnRcbi8vL1xuLy8vIEBncm91cCAgaGVscGVyc1xuLy8vIEBhY2Nlc3MgcHVibGljXG4vLy8gQHBhcmFtICB7TnVtYmVyfExpc3R9ICRicmVha3BvaW50IE51bWJlciBvciBudW1iZXIgcGFpclxuLy8vXG5AbWl4aW4gYnJlYWstYXQoJGJyZWFrcG9pbnQpIHtcbiAgQGlmIHR5cGUtb2YoJGJyZWFrcG9pbnQpID09IG51bWJlciB7XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAkYnJlYWtwb2ludCkge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9IEBlbHNlaWYgdHlwZS1vZigkYnJlYWtwb2ludCkgPT0gbGlzdCB7XG4gICAgJG1pbjogbnRoKCRicmVha3BvaW50LCAxKTtcbiAgICAkbWF4OiBudGgoJGJyZWFrcG9pbnQsIDIpO1xuICAgIEBpZiB0eXBlLW9mKCRtaW4pID09IG51bWJlciBhbmQgdHlwZS1vZigkbWF4KSA9PSBudW1iZXIge1xuICAgICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAkbWluKSBhbmQgKG1heC13aWR0aDogJG1heCkge1xuICAgICAgICBAY29udGVudDtcbiAgICAgIH1cbiAgICB9IEBlbHNlIHtcbiAgICAgIEBlcnJvciBcIkludmFsaWQgYnJlYWtwb2ludDogI3skYnJlYWtwb2ludH1cIjtcbiAgICB9XG4gIH0gQGVsc2Uge1xuICAgIEBlcnJvciBcIkludmFsaWQgYnJlYWtwb2ludDogI3skYnJlYWtwb2ludH1cIjtcbiAgfVxufVxuXG4vLy9cbi8vLyBBbiBvcmllbnRhdGlvbiBtZWRpYSBxdWVyeSBicmVha3BvaW50XG4vLy9cbi8vLyBAZ3JvdXAgIGhlbHBlcnNcbi8vLyBAYWNjZXNzIHB1YmxpY1xuLy8vIEBwYXJhbSAge1N0cmluZ30gJGJyZWFrcG9pbnQgT3JpZW50YXRpb25cbi8vL1xuQG1peGluIGJyZWFrLWF0LW9yaWVudGF0aW9uKCRicmVha3BvaW50KSB7XG4gIEBpZiB0eXBlLW9mKCRicmVha3BvaW50KSA9PSBzdHJpbmcge1xuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG9yaWVudGF0aW9uOiAkYnJlYWtwb2ludCkge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9IEBlbHNlIHtcbiAgICBAZXJyb3IgXCJJbnZhbGlkIGJyZWFrcG9pbnQ6ICN7JGJyZWFrcG9pbnR9XCI7XG4gIH1cbn1cblxuLy8vXG4vLy8gQSBtYXhpbXVtLWFzcGVjdC1yYXRpbyBtZWRpYSBxdWVyeSBicmVha3BvaW50XG4vLy9cbi8vLyBAZ3JvdXAgIGhlbHBlcnNcbi8vLyBAYWNjZXNzIHB1YmxpY1xuLy8vIEBwYXJhbSAge051bWJlcn0gJGJyZWFrcG9pbnQgUmF0aW9cbi8vL1xuQG1peGluIGJyZWFrLWF0LXJhdGlvKCRicmVha3BvaW50KSB7XG4gIEBpZiB0eXBlLW9mKCRicmVha3BvaW50KSA9PSBudW1iZXIge1xuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC1hc3BlY3QtcmF0aW86ICRicmVha3BvaW50KSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH0gQGVsc2Uge1xuICAgIEBlcnJvciBcIkludmFsaWQgYnJlYWtwb2ludDogI3skYnJlYWtwb2ludH1cIjtcbiAgfVxufVxuXG4vLy9cbi8vLyBBIG1pbmltdW0tbWF4aW11bSBtZWRpYSBxdWVyeSBkZXZpY2UgYnJlYWtwb2ludFxuLy8vXG4vLy8gQGdyb3VwICBoZWxwZXJzXG4vLy8gQGFjY2VzcyBwdWJsaWNcbi8vLyBAcGFyYW0gIHtTdHJpbmd8TGlzdH0gJGJyZWFrcG9pbnQgRGV2aWNlXG4vLy9cbkBtaXhpbiBicmVhay1hdC1kZXZpY2UoJGRldmljZSkge1xuICBAaWYgdHlwZS1vZigkZGV2aWNlKSA9PSBzdHJpbmcge1xuICAgICRkZXZpY2U6ICRkZXZpY2UsO1xuICB9XG4gIEBpZiB0eXBlLW9mKCRkZXZpY2UpID09IGxpc3Qge1xuICAgICRicmVha3BvaW50OiBicmVhay1zZWxlY3QtZGV2aWNlKCRkZXZpY2UpO1xuICAgIEBpZiBudGgoJGJyZWFrcG9pbnQsIDIpICE9IG51bGwge1xuICAgICAgJG1pbjogbnRoKCRicmVha3BvaW50LCAxKTtcbiAgICAgICRtYXg6IG50aCgkYnJlYWtwb2ludCwgMik7XG4gICAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6ICRtaW4pIGFuZCAobWF4LXdpZHRoOiAkbWF4KSB7XG4gICAgICAgIEBjb250ZW50O1xuICAgICAgfVxuICAgIH0gQGVsc2Uge1xuICAgICAgQGVycm9yIFwiSW52YWxpZCBkZXZpY2U6ICN7JGRldmljZX1cIjtcbiAgICB9XG4gIH0gQGVsc2Uge1xuICAgIEBlcnJvciBcIkludmFsaWQgZGV2aWNlOiAjeyRkZXZpY2V9XCI7XG4gIH1cbn1cblxuLy8vXG4vLy8gQSBtaW5pbXVtIG1lZGlhIHF1ZXJ5IGRldmljZSBicmVha3BvaW50XG4vLy9cbi8vLyBAZ3JvdXAgIGhlbHBlcnNcbi8vLyBAYWNjZXNzIHB1YmxpY1xuLy8vIEBwYXJhbSAge1N0cmluZ3xMaXN0fSAkYnJlYWtwb2ludCBEZXZpY2Vcbi8vL1xuQG1peGluIGJyZWFrLWZyb20tZGV2aWNlKCRkZXZpY2UpIHtcbiAgQGlmIHR5cGUtb2YoJGRldmljZSkgPT0gc3RyaW5nIHtcbiAgICAkZGV2aWNlOiAkZGV2aWNlLDtcbiAgfVxuICBAaWYgdHlwZS1vZigkZGV2aWNlKSA9PSBsaXN0IHtcbiAgICAkYnJlYWtwb2ludDogYnJlYWstc2VsZWN0LWRldmljZSgkZGV2aWNlKTtcbiAgICAkbWluOiBudGgoJGJyZWFrcG9pbnQsIDEpO1xuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogJG1pbikge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9IEBlbHNlIHtcbiAgICBAZXJyb3IgXCJJbnZhbGlkIGRldmljZTogI3skZGV2aWNlfVwiO1xuICB9XG59XG5cbi8vL1xuLy8vIEEgbWF4aW11bSBtZWRpYSBxdWVyeSBkZXZpY2UgYnJlYWtwb2ludFxuLy8vXG4vLy8gQGdyb3VwICBoZWxwZXJzXG4vLy8gQGFjY2VzcyBwdWJsaWNcbi8vLyBAcGFyYW0gIHtTdHJpbmd8TGlzdH0gJGJyZWFrcG9pbnQgRGV2aWNlXG4vLy9cbkBtaXhpbiBicmVhay10by1kZXZpY2UoJGRldmljZSkge1xuICBAaWYgdHlwZS1vZigkZGV2aWNlKSA9PSBzdHJpbmcge1xuICAgICRkZXZpY2U6ICRkZXZpY2UsO1xuICB9XG4gIEBpZiB0eXBlLW9mKCRkZXZpY2UpID09IGxpc3Qge1xuICAgICRicmVha3BvaW50OiBicmVhay1zZWxlY3QtZGV2aWNlKCRkZXZpY2UpO1xuICAgICRtYXg6IG50aCgkYnJlYWtwb2ludCwgMik7XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAkbWF4KSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH0gQGVsc2Uge1xuICAgIEBlcnJvciBcIkludmFsaWQgZGV2aWNlOiAjeyRkZXZpY2V9XCI7XG4gIH1cbn1cbiJdfQ== */ \ No newline at end of file +html{box-sizing:border-box}*,:after,:before{box-sizing:inherit}html{-webkit-text-size-adjust:none;-moz-text-size-adjust:none;-ms-text-size-adjust:none;text-size-adjust:none}body{margin:0}hr{overflow:visible;box-sizing:content-box}a{-webkit-text-decoration-skip:objects}a,button,input,label{-webkit-tap-highlight-color:transparent}a{color:inherit;text-decoration:none}small,sub,sup{font-size:80%}sub,sup{position:relative;line-height:0;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}img{border-style:none}table{border-collapse:separate;border-spacing:0}td,th{font-weight:400;vertical-align:top}button{margin:0;padding:0;border:0;outline-style:none;background:transparent;font-size:inherit}input{border:0;outline:0}.md-clipboard:before,.md-icon,.md-nav__button,.md-nav__link:after,.md-nav__title:before,.md-search-result__article--document:before,.md-source-file:before,.md-typeset .admonition>.admonition-title:before,.md-typeset .admonition>summary:before,.md-typeset .critic.comment:before,.md-typeset .footnote-backref,.md-typeset .task-list-control .task-list-indicator:before,.md-typeset details>.admonition-title:before,.md-typeset details>summary:before,.md-typeset summary:after{font-family:Material Icons;font-style:normal;font-variant:normal;font-weight:400;line-height:1;text-transform:none;white-space:nowrap;word-wrap:normal;direction:ltr}.md-content__icon,.md-footer-nav__button,.md-header-nav__button,.md-nav__button,.md-nav__title:before,.md-search-result__article--document:before{display:inline-block;margin:.2rem;padding:.4rem;font-size:1.2rem;cursor:pointer}.md-icon--arrow-back:before{content:""}.md-icon--arrow-forward:before{content:""}.md-icon--menu:before{content:""}.md-icon--search:before{content:""}[dir=rtl] .md-icon--arrow-back:before{content:""}[dir=rtl] .md-icon--arrow-forward:before{content:""}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body,input{color:rgba(0,0,0,.87);font-feature-settings:"kern","liga";font-family:Helvetica Neue,Helvetica,Arial,sans-serif}code,kbd,pre{color:rgba(0,0,0,.87);font-feature-settings:"kern";font-family:Courier New,Courier,monospace}.md-typeset{font-size:.8rem;line-height:1.6;-webkit-print-color-adjust:exact}.md-typeset blockquote,.md-typeset ol,.md-typeset p,.md-typeset ul{margin:1em 0}.md-typeset h1{margin:0 0 2rem;color:rgba(0,0,0,.54);font-size:1.5625rem;line-height:1.3}.md-typeset h1,.md-typeset h2{font-weight:300;letter-spacing:-.01em}.md-typeset h2{margin:2rem 0 .8rem;font-size:1.25rem;line-height:1.4}.md-typeset h3{margin:1.6rem 0 .8rem;font-size:1rem;font-weight:400;letter-spacing:-.01em;line-height:1.5}.md-typeset h2+h3{margin-top:.8rem}.md-typeset h4{font-size:.8rem}.md-typeset h4,.md-typeset h5,.md-typeset h6{margin:.8rem 0;font-weight:700;letter-spacing:-.01em}.md-typeset h5,.md-typeset h6{color:rgba(0,0,0,.54);font-size:.64rem}.md-typeset h5{text-transform:uppercase}.md-typeset hr{margin:1.5em 0;border-bottom:.05rem dotted rgba(0,0,0,.26)}.md-typeset a{color:#3f51b5;word-break:break-word}.md-typeset a,.md-typeset a:before{-webkit-transition:color .125s;transition:color .125s}.md-typeset a:active,.md-typeset a:hover{color:#536dfe}.md-typeset code,.md-typeset pre{background-color:hsla(0,0%,92.5%,.5);color:#37474f;font-size:85%;direction:ltr}.md-typeset code{margin:0 .29412em;padding:.07353em 0;border-radius:.1rem;box-shadow:.29412em 0 0 hsla(0,0%,92.5%,.5),-.29412em 0 0 hsla(0,0%,92.5%,.5);word-break:break-word;-webkit-box-decoration-break:clone;box-decoration-break:clone}.md-typeset h1 code,.md-typeset h2 code,.md-typeset h3 code,.md-typeset h4 code,.md-typeset h5 code,.md-typeset h6 code{margin:0;background-color:transparent;box-shadow:none}.md-typeset a>code{margin:inherit;padding:inherit;border-radius:initial;background-color:inherit;color:inherit;box-shadow:none}.md-typeset pre{position:relative;margin:1em 0;border-radius:.1rem;line-height:1.4;-webkit-overflow-scrolling:touch}.md-typeset pre>code{display:block;margin:0;padding:.525rem .6rem;background-color:transparent;font-size:inherit;box-shadow:none;-webkit-box-decoration-break:slice;box-decoration-break:slice;overflow:auto}.md-typeset pre>code::-webkit-scrollbar{width:.2rem;height:.2rem}.md-typeset pre>code::-webkit-scrollbar-thumb{background-color:rgba(0,0,0,.26)}.md-typeset pre>code::-webkit-scrollbar-thumb:hover{background-color:#536dfe}.md-typeset kbd{padding:0 .29412em;border-radius:.15rem;border:.05rem solid #c9c9c9;border-bottom-color:#bcbcbc;background-color:#fcfcfc;color:#555;font-size:85%;box-shadow:0 .05rem 0 #b0b0b0;word-break:break-word}.md-typeset mark{margin:0 .25em;padding:.0625em 0;border-radius:.1rem;background-color:rgba(255,235,59,.5);box-shadow:.25em 0 0 rgba(255,235,59,.5),-.25em 0 0 rgba(255,235,59,.5);word-break:break-word;-webkit-box-decoration-break:clone;box-decoration-break:clone}.md-typeset abbr{border-bottom:.05rem dotted rgba(0,0,0,.54);text-decoration:none;cursor:help}.md-typeset small{opacity:.75}.md-typeset sub,.md-typeset sup{margin-left:.07812em}[dir=rtl] .md-typeset sub,[dir=rtl] .md-typeset sup{margin-right:.07812em;margin-left:0}.md-typeset blockquote{padding-left:.6rem;border-left:.2rem solid rgba(0,0,0,.26);color:rgba(0,0,0,.54)}[dir=rtl] .md-typeset blockquote{padding-right:.6rem;padding-left:0;border-right:.2rem solid rgba(0,0,0,.26);border-left:initial}.md-typeset ul{list-style-type:disc}.md-typeset ol,.md-typeset ul{margin-left:.625em;padding:0}[dir=rtl] .md-typeset ol,[dir=rtl] .md-typeset ul{margin-right:.625em;margin-left:0}.md-typeset ol ol,.md-typeset ul ol{list-style-type:lower-alpha}.md-typeset ol ol ol,.md-typeset ul ol ol{list-style-type:lower-roman}.md-typeset ol li,.md-typeset ul li{margin-bottom:.5em;margin-left:1.25em}[dir=rtl] .md-typeset ol li,[dir=rtl] .md-typeset ul li{margin-right:1.25em;margin-left:0}.md-typeset ol li blockquote,.md-typeset ol li p,.md-typeset ul li blockquote,.md-typeset ul li p{margin:.5em 0}.md-typeset ol li:last-child,.md-typeset ul li:last-child{margin-bottom:0}.md-typeset ol li ol,.md-typeset ol li ul,.md-typeset ul li ol,.md-typeset ul li ul{margin:.5em 0 .5em .625em}[dir=rtl] .md-typeset ol li ol,[dir=rtl] .md-typeset ol li ul,[dir=rtl] .md-typeset ul li ol,[dir=rtl] .md-typeset ul li ul{margin-right:.625em;margin-left:0}.md-typeset dd{margin:1em 0 1em 1.875em}[dir=rtl] .md-typeset dd{margin-right:1.875em;margin-left:0}.md-typeset iframe,.md-typeset img,.md-typeset svg{max-width:100%}.md-typeset table:not([class]){box-shadow:0 2px 2px 0 rgba(0,0,0,.14),0 1px 5px 0 rgba(0,0,0,.12),0 3px 1px -2px rgba(0,0,0,.2);display:inline-block;max-width:100%;border-radius:.1rem;font-size:.64rem;overflow:auto;-webkit-overflow-scrolling:touch}.md-typeset table:not([class])+*{margin-top:1.5em}.md-typeset table:not([class]) td:not([align]),.md-typeset table:not([class]) th:not([align]){text-align:left}[dir=rtl] .md-typeset table:not([class]) td:not([align]),[dir=rtl] .md-typeset table:not([class]) th:not([align]){text-align:right}.md-typeset table:not([class]) th{min-width:5rem;padding:.6rem .8rem;background-color:rgba(0,0,0,.54);color:#fff;vertical-align:top}.md-typeset table:not([class]) td{padding:.6rem .8rem;border-top:.05rem solid rgba(0,0,0,.07);vertical-align:top}.md-typeset table:not([class]) tr{-webkit-transition:background-color .125s;transition:background-color .125s}.md-typeset table:not([class]) tr:hover{background-color:rgba(0,0,0,.035);box-shadow:inset 0 .05rem 0 #fff}.md-typeset table:not([class]) tr:first-child td{border-top:0}.md-typeset table:not([class]) a{word-break:normal}.md-typeset__scrollwrap{margin:1em -.8rem;overflow-x:auto;-webkit-overflow-scrolling:touch}.md-typeset .md-typeset__table{display:inline-block;margin-bottom:.5em;padding:0 .8rem}.md-typeset .md-typeset__table table{display:table;width:100%;margin:0;overflow:hidden}html{font-size:125%;overflow-x:hidden}body,html{height:100%}body{position:relative;font-size:.5rem}hr{display:block;height:.05rem;padding:0;border:0}.md-svg{display:none}.md-grid{max-width:61rem;margin-right:auto;margin-left:auto}.md-container,.md-main{overflow:auto}.md-container{display:table;width:100%;height:100%;padding-top:2.4rem;table-layout:fixed}.md-main{display:table-row;height:100%}.md-main__inner{height:100%;padding-top:1.5rem;padding-bottom:.05rem}.md-toggle{display:none}.md-overlay{position:fixed;top:0;width:0;height:0;-webkit-transition:width 0s .25s,height 0s .25s,opacity .25s;transition:width 0s .25s,height 0s .25s,opacity .25s;background-color:rgba(0,0,0,.54);opacity:0;z-index:3}.md-flex{display:table}.md-flex__cell{display:table-cell;position:relative;vertical-align:top}.md-flex__cell--shrink{width:0}.md-flex__cell--stretch{display:table;width:100%;table-layout:fixed}.md-flex__ellipsis{display:table-cell;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.md-skip{position:fixed;width:.05rem;height:.05rem;margin:.5rem;padding:.3rem .5rem;-webkit-transform:translateY(.4rem);transform:translateY(.4rem);border-radius:.1rem;background-color:rgba(0,0,0,.87);color:#fff;font-size:.64rem;opacity:0;overflow:hidden}.md-skip:focus{width:auto;height:auto;clip:auto;-webkit-transform:translateX(0);transform:translateX(0);-webkit-transition:opacity .175s 75ms,-webkit-transform .25s cubic-bezier(.4,0,.2,1);transition:opacity .175s 75ms,-webkit-transform .25s cubic-bezier(.4,0,.2,1);transition:transform .25s cubic-bezier(.4,0,.2,1),opacity .175s 75ms;transition:transform .25s cubic-bezier(.4,0,.2,1),opacity .175s 75ms,-webkit-transform .25s cubic-bezier(.4,0,.2,1);opacity:1;z-index:10}@page{margin:25mm}.md-clipboard{position:absolute;top:.3rem;right:.3rem;width:1.4rem;height:1.4rem;border-radius:.1rem;font-size:.8rem;cursor:pointer;z-index:1;-webkit-backface-visibility:hidden;backface-visibility:hidden}.md-clipboard:before{-webkit-transition:color .25s,opacity .25s;transition:color .25s,opacity .25s;color:rgba(0,0,0,.07);content:"\E14D"}.codehilite:hover .md-clipboard:before,.md-typeset .highlight:hover .md-clipboard:before,pre:hover .md-clipboard:before{color:rgba(0,0,0,.54)}.md-clipboard:focus:before,.md-clipboard:hover:before{color:#536dfe}.md-clipboard__message{display:block;position:absolute;top:0;right:1.7rem;padding:.3rem .5rem;-webkit-transform:translateX(.4rem);transform:translateX(.4rem);-webkit-transition:opacity .175s,-webkit-transform .25s cubic-bezier(.9,.1,.9,0);transition:opacity .175s,-webkit-transform .25s cubic-bezier(.9,.1,.9,0);transition:transform .25s cubic-bezier(.9,.1,.9,0),opacity .175s;transition:transform .25s cubic-bezier(.9,.1,.9,0),opacity .175s,-webkit-transform .25s cubic-bezier(.9,.1,.9,0);border-radius:.1rem;background-color:rgba(0,0,0,.54);color:#fff;font-size:.64rem;white-space:nowrap;opacity:0;pointer-events:none}.md-clipboard__message--active{-webkit-transform:translateX(0);transform:translateX(0);-webkit-transition:opacity .175s 75ms,-webkit-transform .25s cubic-bezier(.4,0,.2,1);transition:opacity .175s 75ms,-webkit-transform .25s cubic-bezier(.4,0,.2,1);transition:transform .25s cubic-bezier(.4,0,.2,1),opacity .175s 75ms;transition:transform .25s cubic-bezier(.4,0,.2,1),opacity .175s 75ms,-webkit-transform .25s cubic-bezier(.4,0,.2,1);opacity:1;pointer-events:auto}.md-clipboard__message:before{content:attr(aria-label)}.md-clipboard__message:after{display:block;position:absolute;top:50%;right:-.2rem;width:0;margin-top:-.2rem;border-color:transparent rgba(0,0,0,.54);border-style:solid;border-width:.2rem 0 .2rem .2rem;content:""}.md-content__inner{margin:0 .8rem 1.2rem;padding-top:.6rem}.md-content__inner:before{display:block;height:.4rem;content:""}.md-content__inner>:last-child{margin-bottom:0}.md-content__icon{position:relative;margin:.4rem 0;padding:0;float:right}.md-typeset .md-content__icon{color:rgba(0,0,0,.26)}.md-header{position:fixed;top:0;right:0;left:0;height:2.4rem;-webkit-transition:background-color .25s,color .25s;transition:background-color .25s,color .25s;background-color:#3f51b5;color:#fff;box-shadow:none;z-index:2;-webkit-backface-visibility:hidden;backface-visibility:hidden}.no-js .md-header{-webkit-transition:none;transition:none;box-shadow:none}.md-header[data-md-state=shadow]{-webkit-transition:background-color .25s,color .25s,box-shadow .25s;transition:background-color .25s,color .25s,box-shadow .25s;box-shadow:0 0 .2rem rgba(0,0,0,.1),0 .2rem .4rem rgba(0,0,0,.2)}.md-header-nav{padding:0 .2rem}.md-header-nav__button{position:relative;-webkit-transition:opacity .25s;transition:opacity .25s;z-index:1}.md-header-nav__button:hover{opacity:.7}.md-header-nav__button.md-logo *{display:block}.no-js .md-header-nav__button.md-icon--search{display:none}.md-header-nav__topic{display:block;position:absolute;-webkit-transition:opacity .15s,-webkit-transform .4s cubic-bezier(.1,.7,.1,1);transition:opacity .15s,-webkit-transform .4s cubic-bezier(.1,.7,.1,1);transition:transform .4s cubic-bezier(.1,.7,.1,1),opacity .15s;transition:transform .4s cubic-bezier(.1,.7,.1,1),opacity .15s,-webkit-transform .4s cubic-bezier(.1,.7,.1,1);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.md-header-nav__topic+.md-header-nav__topic{-webkit-transform:translateX(1.25rem);transform:translateX(1.25rem);-webkit-transition:opacity .15s,-webkit-transform .4s cubic-bezier(1,.7,.1,.1);transition:opacity .15s,-webkit-transform .4s cubic-bezier(1,.7,.1,.1);transition:transform .4s cubic-bezier(1,.7,.1,.1),opacity .15s;transition:transform .4s cubic-bezier(1,.7,.1,.1),opacity .15s,-webkit-transform .4s cubic-bezier(1,.7,.1,.1);opacity:0;z-index:-1;pointer-events:none}[dir=rtl] .md-header-nav__topic+.md-header-nav__topic{-webkit-transform:translateX(-1.25rem);transform:translateX(-1.25rem)}.no-js .md-header-nav__topic{position:static}.no-js .md-header-nav__topic+.md-header-nav__topic{display:none}.md-header-nav__title{padding:0 1rem;font-size:.9rem;line-height:2.4rem}.md-header-nav__title[data-md-state=active] .md-header-nav__topic{-webkit-transform:translateX(-1.25rem);transform:translateX(-1.25rem);-webkit-transition:opacity .15s,-webkit-transform .4s cubic-bezier(1,.7,.1,.1);transition:opacity .15s,-webkit-transform .4s cubic-bezier(1,.7,.1,.1);transition:transform .4s cubic-bezier(1,.7,.1,.1),opacity .15s;transition:transform .4s cubic-bezier(1,.7,.1,.1),opacity .15s,-webkit-transform .4s cubic-bezier(1,.7,.1,.1);opacity:0;z-index:-1;pointer-events:none}[dir=rtl] .md-header-nav__title[data-md-state=active] .md-header-nav__topic{-webkit-transform:translateX(1.25rem);transform:translateX(1.25rem)}.md-header-nav__title[data-md-state=active] .md-header-nav__topic+.md-header-nav__topic{-webkit-transform:translateX(0);transform:translateX(0);-webkit-transition:opacity .15s,-webkit-transform .4s cubic-bezier(.1,.7,.1,1);transition:opacity .15s,-webkit-transform .4s cubic-bezier(.1,.7,.1,1);transition:transform .4s cubic-bezier(.1,.7,.1,1),opacity .15s;transition:transform .4s cubic-bezier(.1,.7,.1,1),opacity .15s,-webkit-transform .4s cubic-bezier(.1,.7,.1,1);opacity:1;z-index:0;pointer-events:auto}.md-header-nav__source{display:none}.md-hero{-webkit-transition:background .25s;transition:background .25s;background-color:#3f51b5;color:#fff;font-size:1rem;overflow:hidden}.md-hero__inner{margin-top:1rem;padding:.8rem .8rem .4rem;-webkit-transition:opacity .25s,-webkit-transform .4s cubic-bezier(.1,.7,.1,1);transition:opacity .25s,-webkit-transform .4s cubic-bezier(.1,.7,.1,1);transition:transform .4s cubic-bezier(.1,.7,.1,1),opacity .25s;transition:transform .4s cubic-bezier(.1,.7,.1,1),opacity .25s,-webkit-transform .4s cubic-bezier(.1,.7,.1,1);-webkit-transition-delay:.1s;transition-delay:.1s}[data-md-state=hidden] .md-hero__inner{pointer-events:none;-webkit-transform:translateY(.625rem);transform:translateY(.625rem);-webkit-transition:opacity .1s 0s,-webkit-transform 0s .4s;transition:opacity .1s 0s,-webkit-transform 0s .4s;transition:transform 0s .4s,opacity .1s 0s;transition:transform 0s .4s,opacity .1s 0s,-webkit-transform 0s .4s;opacity:0}.md-hero--expand .md-hero__inner{margin-bottom:1.2rem}.md-footer-nav{background-color:rgba(0,0,0,.87);color:#fff}.md-footer-nav__inner{padding:.2rem;overflow:auto}.md-footer-nav__link{padding-top:1.4rem;padding-bottom:.4rem;-webkit-transition:opacity .25s;transition:opacity .25s}.md-footer-nav__link:hover{opacity:.7}.md-footer-nav__link--prev{width:25%;float:left}[dir=rtl] .md-footer-nav__link--prev{float:right}.md-footer-nav__link--next{width:75%;float:right;text-align:right}[dir=rtl] .md-footer-nav__link--next{float:left;text-align:left}.md-footer-nav__button{-webkit-transition:background .25s;transition:background .25s}.md-footer-nav__title{position:relative;padding:0 1rem;font-size:.9rem;line-height:2.4rem}.md-footer-nav__direction{position:absolute;right:0;left:0;margin-top:-1rem;padding:0 1rem;color:hsla(0,0%,100%,.7);font-size:.75rem}.md-footer-meta{background-color:rgba(0,0,0,.895)}.md-footer-meta__inner{padding:.2rem;overflow:auto}html .md-footer-meta.md-typeset a{color:hsla(0,0%,100%,.7)}html .md-footer-meta.md-typeset a:focus,html .md-footer-meta.md-typeset a:hover{color:#fff}.md-footer-copyright{margin:0 .6rem;padding:.4rem 0;color:hsla(0,0%,100%,.3);font-size:.64rem}.md-footer-copyright__highlight{color:hsla(0,0%,100%,.7)}.md-footer-social{margin:0 .4rem;padding:.2rem 0 .6rem}.md-footer-social__link{display:inline-block;width:1.6rem;height:1.6rem;font-size:.8rem;text-align:center}.md-footer-social__link:before{line-height:1.9}.md-nav{font-size:.7rem;line-height:1.3}.md-nav__title{display:block;padding:0 .6rem;font-weight:700;text-overflow:ellipsis;overflow:hidden}.md-nav__title:before{display:none;content:"\E5C4"}[dir=rtl] .md-nav__title:before{content:"\E5C8"}.md-nav__title .md-nav__button{display:none}.md-nav__list{margin:0;padding:0;list-style:none}.md-nav__item{padding:0 .6rem}.md-nav__item:last-child{padding-bottom:.6rem}.md-nav__item .md-nav__item{padding-right:0}[dir=rtl] .md-nav__item .md-nav__item{padding-right:.6rem;padding-left:0}.md-nav__item .md-nav__item:last-child{padding-bottom:0}.md-nav__button img{width:100%;height:auto}.md-nav__link{display:block;margin-top:.625em;-webkit-transition:color .125s;transition:color .125s;text-overflow:ellipsis;cursor:pointer;overflow:hidden}.md-nav__item--nested>.md-nav__link:after{content:"\E313"}html .md-nav__link[for=__toc],html .md-nav__link[for=__toc]+.md-nav__link:after,html .md-nav__link[for=__toc]~.md-nav{display:none}.md-nav__link[data-md-state=blur]{color:rgba(0,0,0,.54)}.md-nav__link--active,.md-nav__link:active{color:#3f51b5}.md-nav__item--nested>.md-nav__link{color:inherit}.md-nav__link:focus,.md-nav__link:hover{color:#536dfe}.md-nav__source,.no-js .md-search{display:none}.md-search__overlay{opacity:0;z-index:1}.md-search__form{position:relative}.md-search__input{position:relative;padding:0 2.2rem 0 3.6rem;text-overflow:ellipsis;z-index:2}[dir=rtl] .md-search__input{padding:0 3.6rem 0 2.2rem}.md-search__input::-webkit-input-placeholder{-webkit-transition:color .25s cubic-bezier(.1,.7,.1,1);transition:color .25s cubic-bezier(.1,.7,.1,1)}.md-search__input::-moz-placeholder{-moz-transition:color .25s cubic-bezier(.1,.7,.1,1);transition:color .25s cubic-bezier(.1,.7,.1,1)}.md-search__input:-ms-input-placeholder{-ms-transition:color .25s cubic-bezier(.1,.7,.1,1);transition:color .25s cubic-bezier(.1,.7,.1,1)}.md-search__input::-ms-input-placeholder{-ms-transition:color .25s cubic-bezier(.1,.7,.1,1);transition:color .25s cubic-bezier(.1,.7,.1,1)}.md-search__input::placeholder{-webkit-transition:color .25s cubic-bezier(.1,.7,.1,1);transition:color .25s cubic-bezier(.1,.7,.1,1)}.md-search__input::-webkit-input-placeholder{color:rgba(0,0,0,.54)}.md-search__input::-moz-placeholder{color:rgba(0,0,0,.54)}.md-search__input:-ms-input-placeholder{color:rgba(0,0,0,.54)}.md-search__input::-ms-input-placeholder{color:rgba(0,0,0,.54)}.md-search__input::placeholder,.md-search__input~.md-search__icon{color:rgba(0,0,0,.54)}.md-search__input::-ms-clear{display:none}.md-search__icon{position:absolute;-webkit-transition:color .25s cubic-bezier(.1,.7,.1,1),opacity .25s;transition:color .25s cubic-bezier(.1,.7,.1,1),opacity .25s;font-size:1.2rem;cursor:pointer;z-index:2}.md-search__icon:hover{opacity:.7}.md-search__icon[for=__search]{top:.3rem;left:.5rem}[dir=rtl] .md-search__icon[for=__search]{right:.5rem;left:auto}.md-search__icon[for=__search]:before{content:"\E8B6"}.md-search__icon[type=reset]{top:.3rem;right:.5rem;-webkit-transform:scale(.125);transform:scale(.125);-webkit-transition:opacity .15s,-webkit-transform .15s cubic-bezier(.1,.7,.1,1);transition:opacity .15s,-webkit-transform .15s cubic-bezier(.1,.7,.1,1);transition:transform .15s cubic-bezier(.1,.7,.1,1),opacity .15s;transition:transform .15s cubic-bezier(.1,.7,.1,1),opacity .15s,-webkit-transform .15s cubic-bezier(.1,.7,.1,1);opacity:0}[dir=rtl] .md-search__icon[type=reset]{right:auto;left:.5rem}[data-md-toggle=search]:checked~.md-header .md-search__input:valid~.md-search__icon[type=reset]{-webkit-transform:scale(1);transform:scale(1);opacity:1}[data-md-toggle=search]:checked~.md-header .md-search__input:valid~.md-search__icon[type=reset]:hover{opacity:.7}.md-search__output{position:absolute;width:100%;border-radius:0 0 .1rem .1rem;overflow:hidden;z-index:1}.md-search__scrollwrap{height:100%;background-color:#fff;box-shadow:inset 0 .05rem 0 rgba(0,0,0,.07);overflow-y:auto;-webkit-overflow-scrolling:touch}.md-search-result{color:rgba(0,0,0,.87);word-break:break-word}.md-search-result__meta{padding:0 .8rem;background-color:rgba(0,0,0,.07);color:rgba(0,0,0,.54);font-size:.64rem;line-height:1.8rem}.md-search-result__list{margin:0;padding:0;border-top:.05rem solid rgba(0,0,0,.07);list-style:none}.md-search-result__item{box-shadow:0 -.05rem 0 rgba(0,0,0,.07)}.md-search-result__link{display:block;-webkit-transition:background .25s;transition:background .25s;outline:0;overflow:hidden}.md-search-result__link:hover,.md-search-result__link[data-md-state=active]{background-color:rgba(83,109,254,.1)}.md-search-result__link:hover .md-search-result__article:before,.md-search-result__link[data-md-state=active] .md-search-result__article:before{opacity:.7}.md-search-result__link:last-child .md-search-result__teaser{margin-bottom:.6rem}.md-search-result__article{position:relative;padding:0 .8rem;overflow:auto}.md-search-result__article--document:before{position:absolute;left:0;margin:.1rem;-webkit-transition:opacity .25s;transition:opacity .25s;color:rgba(0,0,0,.54);content:"\E880"}[dir=rtl] .md-search-result__article--document:before{right:0;left:auto}.md-search-result__article--document .md-search-result__title{margin:.55rem 0;font-size:.8rem;font-weight:400;line-height:1.4}.md-search-result__title{margin:.5em 0;font-size:.64rem;font-weight:700;line-height:1.4}.md-search-result__teaser{display:-webkit-box;max-height:1.65rem;margin:.5em 0;color:rgba(0,0,0,.54);font-size:.64rem;line-height:1.4;text-overflow:ellipsis;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:2}.md-search-result em{font-style:normal;font-weight:700;text-decoration:underline}.md-sidebar{position:absolute;width:12.1rem;padding:1.2rem 0;overflow:hidden}.md-sidebar[data-md-state=lock]{position:fixed;top:2.4rem}.md-sidebar--secondary{display:none}.md-sidebar__scrollwrap{max-height:100%;margin:0 .2rem;overflow-y:auto;-webkit-backface-visibility:hidden;backface-visibility:hidden}.md-sidebar__scrollwrap::-webkit-scrollbar{width:.2rem;height:.2rem}.md-sidebar__scrollwrap::-webkit-scrollbar-thumb{background-color:rgba(0,0,0,.26)}.md-sidebar__scrollwrap::-webkit-scrollbar-thumb:hover{background-color:#536dfe}@-webkit-keyframes md-source__facts--done{0%{height:0}to{height:.65rem}}@keyframes md-source__facts--done{0%{height:0}to{height:.65rem}}@-webkit-keyframes md-source__fact--done{0%{-webkit-transform:translateY(100%);transform:translateY(100%);opacity:0}50%{opacity:0}to{-webkit-transform:translateY(0);transform:translateY(0);opacity:1}}@keyframes md-source__fact--done{0%{-webkit-transform:translateY(100%);transform:translateY(100%);opacity:0}50%{opacity:0}to{-webkit-transform:translateY(0);transform:translateY(0);opacity:1}}.md-source{display:block;padding-right:.6rem;-webkit-transition:opacity .25s;transition:opacity .25s;font-size:.65rem;line-height:1.2;white-space:nowrap}[dir=rtl] .md-source{padding-right:0;padding-left:.6rem}.md-source:hover{opacity:.7}.md-source:after,.md-source__icon{display:inline-block;height:2.4rem;content:"";vertical-align:middle}.md-source__icon{width:2.4rem}.md-source__icon svg{width:1.2rem;height:1.2rem;margin-top:.6rem;margin-left:.6rem}[dir=rtl] .md-source__icon svg{margin-right:.6rem;margin-left:0}.md-source__icon+.md-source__repository{margin-left:-2rem;padding-left:2rem}[dir=rtl] .md-source__icon+.md-source__repository{margin-right:-2rem;margin-left:0;padding-right:2rem;padding-left:0}.md-source__repository{display:inline-block;max-width:100%;margin-left:.6rem;font-weight:700;text-overflow:ellipsis;overflow:hidden;vertical-align:middle}.md-source__facts{margin:0;padding:0;font-size:.55rem;font-weight:700;list-style-type:none;opacity:.75;overflow:hidden}[data-md-state=done] .md-source__facts{-webkit-animation:md-source__facts--done .25s ease-in;animation:md-source__facts--done .25s ease-in}.md-source__fact{float:left}[dir=rtl] .md-source__fact{float:right}[data-md-state=done] .md-source__fact{-webkit-animation:md-source__fact--done .4s ease-out;animation:md-source__fact--done .4s ease-out}.md-source__fact:before{margin:0 .1rem;content:"\00B7"}.md-source__fact:first-child:before{display:none}.md-source-file{display:inline-block;margin:1em .5em 1em 0;padding-right:.25rem;border-radius:.1rem;background-color:rgba(0,0,0,.07);font-size:.64rem;list-style-type:none;cursor:pointer;overflow:hidden}.md-source-file:before{display:inline-block;margin-right:.25rem;padding:.25rem;background-color:rgba(0,0,0,.26);color:#fff;font-size:.8rem;content:"\E86F";vertical-align:middle}html .md-source-file{-webkit-transition:background .4s,color .4s,box-shadow .4s cubic-bezier(.4,0,.2,1);transition:background .4s,color .4s,box-shadow .4s cubic-bezier(.4,0,.2,1)}html .md-source-file:before{-webkit-transition:inherit;transition:inherit}html body .md-typeset .md-source-file{color:rgba(0,0,0,.54)}.md-source-file:hover{box-shadow:0 0 8px rgba(0,0,0,.18),0 8px 16px rgba(0,0,0,.36)}.md-source-file:hover:before{background-color:#536dfe}.md-tabs{width:100%;-webkit-transition:background .25s;transition:background .25s;background-color:#3f51b5;color:#fff;overflow:auto}.md-tabs__list{margin:0 0 0 .2rem;padding:0;list-style:none;white-space:nowrap}.md-tabs__item{display:inline-block;height:2.4rem;padding-right:.6rem;padding-left:.6rem}.md-tabs__link{display:block;margin-top:.8rem;-webkit-transition:opacity .25s,-webkit-transform .4s cubic-bezier(.1,.7,.1,1);transition:opacity .25s,-webkit-transform .4s cubic-bezier(.1,.7,.1,1);transition:transform .4s cubic-bezier(.1,.7,.1,1),opacity .25s;transition:transform .4s cubic-bezier(.1,.7,.1,1),opacity .25s,-webkit-transform .4s cubic-bezier(.1,.7,.1,1);font-size:.7rem;opacity:.7}.md-tabs__link--active,.md-tabs__link:hover{color:inherit;opacity:1}.md-tabs__item:nth-child(2) .md-tabs__link{-webkit-transition-delay:.02s;transition-delay:.02s}.md-tabs__item:nth-child(3) .md-tabs__link{-webkit-transition-delay:.04s;transition-delay:.04s}.md-tabs__item:nth-child(4) .md-tabs__link{-webkit-transition-delay:.06s;transition-delay:.06s}.md-tabs__item:nth-child(5) .md-tabs__link{-webkit-transition-delay:.08s;transition-delay:.08s}.md-tabs__item:nth-child(6) .md-tabs__link{-webkit-transition-delay:.1s;transition-delay:.1s}.md-tabs__item:nth-child(7) .md-tabs__link{-webkit-transition-delay:.12s;transition-delay:.12s}.md-tabs__item:nth-child(8) .md-tabs__link{-webkit-transition-delay:.14s;transition-delay:.14s}.md-tabs__item:nth-child(9) .md-tabs__link{-webkit-transition-delay:.16s;transition-delay:.16s}.md-tabs__item:nth-child(10) .md-tabs__link{-webkit-transition-delay:.18s;transition-delay:.18s}.md-tabs__item:nth-child(11) .md-tabs__link{-webkit-transition-delay:.2s;transition-delay:.2s}.md-tabs__item:nth-child(12) .md-tabs__link{-webkit-transition-delay:.22s;transition-delay:.22s}.md-tabs__item:nth-child(13) .md-tabs__link{-webkit-transition-delay:.24s;transition-delay:.24s}.md-tabs__item:nth-child(14) .md-tabs__link{-webkit-transition-delay:.26s;transition-delay:.26s}.md-tabs__item:nth-child(15) .md-tabs__link{-webkit-transition-delay:.28s;transition-delay:.28s}.md-tabs__item:nth-child(16) .md-tabs__link{-webkit-transition-delay:.3s;transition-delay:.3s}.md-tabs[data-md-state=hidden]{pointer-events:none}.md-tabs[data-md-state=hidden] .md-tabs__link{-webkit-transform:translateY(50%);transform:translateY(50%);-webkit-transition:color .25s,opacity .1s,-webkit-transform 0s .4s;transition:color .25s,opacity .1s,-webkit-transform 0s .4s;transition:color .25s,transform 0s .4s,opacity .1s;transition:color .25s,transform 0s .4s,opacity .1s,-webkit-transform 0s .4s;opacity:0}.md-typeset .admonition,.md-typeset details{box-shadow:0 2px 2px 0 rgba(0,0,0,.14),0 1px 5px 0 rgba(0,0,0,.12),0 3px 1px -2px rgba(0,0,0,.2);position:relative;margin:1.5625em 0;padding:0 .6rem;border-left:.2rem solid #448aff;border-radius:.1rem;font-size:.64rem;overflow:auto}[dir=rtl] .md-typeset .admonition,[dir=rtl] .md-typeset details{border-right:.2rem solid #448aff;border-left:none}html .md-typeset .admonition>:last-child,html .md-typeset details>:last-child{margin-bottom:.6rem}.md-typeset .admonition .admonition,.md-typeset .admonition details,.md-typeset details .admonition,.md-typeset details details{margin:1em 0}.md-typeset .admonition>.admonition-title,.md-typeset .admonition>summary,.md-typeset details>.admonition-title,.md-typeset details>summary{margin:0 -.6rem;padding:.4rem .6rem .4rem 2rem;border-bottom:.05rem solid rgba(68,138,255,.1);background-color:rgba(68,138,255,.1);font-weight:700}[dir=rtl] .md-typeset .admonition>.admonition-title,[dir=rtl] .md-typeset .admonition>summary,[dir=rtl] .md-typeset details>.admonition-title,[dir=rtl] .md-typeset details>summary{padding:.4rem 2rem .4rem .6rem}.md-typeset .admonition>.admonition-title:last-child,.md-typeset .admonition>summary:last-child,.md-typeset details>.admonition-title:last-child,.md-typeset details>summary:last-child{margin-bottom:0}.md-typeset .admonition>.admonition-title:before,.md-typeset .admonition>summary:before,.md-typeset details>.admonition-title:before,.md-typeset details>summary:before{position:absolute;left:.6rem;color:#448aff;font-size:1rem;content:"\E3C9"}[dir=rtl] .md-typeset .admonition>.admonition-title:before,[dir=rtl] .md-typeset .admonition>summary:before,[dir=rtl] .md-typeset details>.admonition-title:before,[dir=rtl] .md-typeset details>summary:before{right:.6rem;left:auto}.md-typeset .admonition.abstract,.md-typeset .admonition.summary,.md-typeset .admonition.tldr,.md-typeset details.abstract,.md-typeset details.summary,.md-typeset details.tldr{border-left-color:#00b0ff}[dir=rtl] .md-typeset .admonition.abstract,[dir=rtl] .md-typeset .admonition.summary,[dir=rtl] .md-typeset .admonition.tldr,[dir=rtl] .md-typeset details.abstract,[dir=rtl] .md-typeset details.summary,[dir=rtl] .md-typeset details.tldr{border-right-color:#00b0ff}.md-typeset .admonition.abstract>.admonition-title,.md-typeset .admonition.abstract>summary,.md-typeset .admonition.summary>.admonition-title,.md-typeset .admonition.summary>summary,.md-typeset .admonition.tldr>.admonition-title,.md-typeset .admonition.tldr>summary,.md-typeset details.abstract>.admonition-title,.md-typeset details.abstract>summary,.md-typeset details.summary>.admonition-title,.md-typeset details.summary>summary,.md-typeset details.tldr>.admonition-title,.md-typeset details.tldr>summary{border-bottom-color:rgba(0,176,255,.1);background-color:rgba(0,176,255,.1)}.md-typeset .admonition.abstract>.admonition-title:before,.md-typeset .admonition.abstract>summary:before,.md-typeset .admonition.summary>.admonition-title:before,.md-typeset .admonition.summary>summary:before,.md-typeset .admonition.tldr>.admonition-title:before,.md-typeset .admonition.tldr>summary:before,.md-typeset details.abstract>.admonition-title:before,.md-typeset details.abstract>summary:before,.md-typeset details.summary>.admonition-title:before,.md-typeset details.summary>summary:before,.md-typeset details.tldr>.admonition-title:before,.md-typeset details.tldr>summary:before{color:#00b0ff;content:""}.md-typeset .admonition.info,.md-typeset .admonition.todo,.md-typeset details.info,.md-typeset details.todo{border-left-color:#00b8d4}[dir=rtl] .md-typeset .admonition.info,[dir=rtl] .md-typeset .admonition.todo,[dir=rtl] .md-typeset details.info,[dir=rtl] .md-typeset details.todo{border-right-color:#00b8d4}.md-typeset .admonition.info>.admonition-title,.md-typeset .admonition.info>summary,.md-typeset .admonition.todo>.admonition-title,.md-typeset .admonition.todo>summary,.md-typeset details.info>.admonition-title,.md-typeset details.info>summary,.md-typeset details.todo>.admonition-title,.md-typeset details.todo>summary{border-bottom-color:rgba(0,184,212,.1);background-color:rgba(0,184,212,.1)}.md-typeset .admonition.info>.admonition-title:before,.md-typeset .admonition.info>summary:before,.md-typeset .admonition.todo>.admonition-title:before,.md-typeset .admonition.todo>summary:before,.md-typeset details.info>.admonition-title:before,.md-typeset details.info>summary:before,.md-typeset details.todo>.admonition-title:before,.md-typeset details.todo>summary:before{color:#00b8d4;content:""}.md-typeset .admonition.hint,.md-typeset .admonition.important,.md-typeset .admonition.tip,.md-typeset details.hint,.md-typeset details.important,.md-typeset details.tip{border-left-color:#00bfa5}[dir=rtl] .md-typeset .admonition.hint,[dir=rtl] .md-typeset .admonition.important,[dir=rtl] .md-typeset .admonition.tip,[dir=rtl] .md-typeset details.hint,[dir=rtl] .md-typeset details.important,[dir=rtl] .md-typeset details.tip{border-right-color:#00bfa5}.md-typeset .admonition.hint>.admonition-title,.md-typeset .admonition.hint>summary,.md-typeset .admonition.important>.admonition-title,.md-typeset .admonition.important>summary,.md-typeset .admonition.tip>.admonition-title,.md-typeset .admonition.tip>summary,.md-typeset details.hint>.admonition-title,.md-typeset details.hint>summary,.md-typeset details.important>.admonition-title,.md-typeset details.important>summary,.md-typeset details.tip>.admonition-title,.md-typeset details.tip>summary{border-bottom-color:rgba(0,191,165,.1);background-color:rgba(0,191,165,.1)}.md-typeset .admonition.hint>.admonition-title:before,.md-typeset .admonition.hint>summary:before,.md-typeset .admonition.important>.admonition-title:before,.md-typeset .admonition.important>summary:before,.md-typeset .admonition.tip>.admonition-title:before,.md-typeset .admonition.tip>summary:before,.md-typeset details.hint>.admonition-title:before,.md-typeset details.hint>summary:before,.md-typeset details.important>.admonition-title:before,.md-typeset details.important>summary:before,.md-typeset details.tip>.admonition-title:before,.md-typeset details.tip>summary:before{color:#00bfa5;content:""}.md-typeset .admonition.check,.md-typeset .admonition.done,.md-typeset .admonition.success,.md-typeset details.check,.md-typeset details.done,.md-typeset details.success{border-left-color:#00c853}[dir=rtl] .md-typeset .admonition.check,[dir=rtl] .md-typeset .admonition.done,[dir=rtl] .md-typeset .admonition.success,[dir=rtl] .md-typeset details.check,[dir=rtl] .md-typeset details.done,[dir=rtl] .md-typeset details.success{border-right-color:#00c853}.md-typeset .admonition.check>.admonition-title,.md-typeset .admonition.check>summary,.md-typeset .admonition.done>.admonition-title,.md-typeset .admonition.done>summary,.md-typeset .admonition.success>.admonition-title,.md-typeset .admonition.success>summary,.md-typeset details.check>.admonition-title,.md-typeset details.check>summary,.md-typeset details.done>.admonition-title,.md-typeset details.done>summary,.md-typeset details.success>.admonition-title,.md-typeset details.success>summary{border-bottom-color:rgba(0,200,83,.1);background-color:rgba(0,200,83,.1)}.md-typeset .admonition.check>.admonition-title:before,.md-typeset .admonition.check>summary:before,.md-typeset .admonition.done>.admonition-title:before,.md-typeset .admonition.done>summary:before,.md-typeset .admonition.success>.admonition-title:before,.md-typeset .admonition.success>summary:before,.md-typeset details.check>.admonition-title:before,.md-typeset details.check>summary:before,.md-typeset details.done>.admonition-title:before,.md-typeset details.done>summary:before,.md-typeset details.success>.admonition-title:before,.md-typeset details.success>summary:before{color:#00c853;content:""}.md-typeset .admonition.faq,.md-typeset .admonition.help,.md-typeset .admonition.question,.md-typeset details.faq,.md-typeset details.help,.md-typeset details.question{border-left-color:#64dd17}[dir=rtl] .md-typeset .admonition.faq,[dir=rtl] .md-typeset .admonition.help,[dir=rtl] .md-typeset .admonition.question,[dir=rtl] .md-typeset details.faq,[dir=rtl] .md-typeset details.help,[dir=rtl] .md-typeset details.question{border-right-color:#64dd17}.md-typeset .admonition.faq>.admonition-title,.md-typeset .admonition.faq>summary,.md-typeset .admonition.help>.admonition-title,.md-typeset .admonition.help>summary,.md-typeset .admonition.question>.admonition-title,.md-typeset .admonition.question>summary,.md-typeset details.faq>.admonition-title,.md-typeset details.faq>summary,.md-typeset details.help>.admonition-title,.md-typeset details.help>summary,.md-typeset details.question>.admonition-title,.md-typeset details.question>summary{border-bottom-color:rgba(100,221,23,.1);background-color:rgba(100,221,23,.1)}.md-typeset .admonition.faq>.admonition-title:before,.md-typeset .admonition.faq>summary:before,.md-typeset .admonition.help>.admonition-title:before,.md-typeset .admonition.help>summary:before,.md-typeset .admonition.question>.admonition-title:before,.md-typeset .admonition.question>summary:before,.md-typeset details.faq>.admonition-title:before,.md-typeset details.faq>summary:before,.md-typeset details.help>.admonition-title:before,.md-typeset details.help>summary:before,.md-typeset details.question>.admonition-title:before,.md-typeset details.question>summary:before{color:#64dd17;content:""}.md-typeset .admonition.attention,.md-typeset .admonition.caution,.md-typeset .admonition.warning,.md-typeset details.attention,.md-typeset details.caution,.md-typeset details.warning{border-left-color:#ff9100}[dir=rtl] .md-typeset .admonition.attention,[dir=rtl] .md-typeset .admonition.caution,[dir=rtl] .md-typeset .admonition.warning,[dir=rtl] .md-typeset details.attention,[dir=rtl] .md-typeset details.caution,[dir=rtl] .md-typeset details.warning{border-right-color:#ff9100}.md-typeset .admonition.attention>.admonition-title,.md-typeset .admonition.attention>summary,.md-typeset .admonition.caution>.admonition-title,.md-typeset .admonition.caution>summary,.md-typeset .admonition.warning>.admonition-title,.md-typeset .admonition.warning>summary,.md-typeset details.attention>.admonition-title,.md-typeset details.attention>summary,.md-typeset details.caution>.admonition-title,.md-typeset details.caution>summary,.md-typeset details.warning>.admonition-title,.md-typeset details.warning>summary{border-bottom-color:rgba(255,145,0,.1);background-color:rgba(255,145,0,.1)}.md-typeset .admonition.attention>.admonition-title:before,.md-typeset .admonition.attention>summary:before,.md-typeset .admonition.caution>.admonition-title:before,.md-typeset .admonition.caution>summary:before,.md-typeset .admonition.warning>.admonition-title:before,.md-typeset .admonition.warning>summary:before,.md-typeset details.attention>.admonition-title:before,.md-typeset details.attention>summary:before,.md-typeset details.caution>.admonition-title:before,.md-typeset details.caution>summary:before,.md-typeset details.warning>.admonition-title:before,.md-typeset details.warning>summary:before{color:#ff9100;content:""}.md-typeset .admonition.fail,.md-typeset .admonition.failure,.md-typeset .admonition.missing,.md-typeset details.fail,.md-typeset details.failure,.md-typeset details.missing{border-left-color:#ff5252}[dir=rtl] .md-typeset .admonition.fail,[dir=rtl] .md-typeset .admonition.failure,[dir=rtl] .md-typeset .admonition.missing,[dir=rtl] .md-typeset details.fail,[dir=rtl] .md-typeset details.failure,[dir=rtl] .md-typeset details.missing{border-right-color:#ff5252}.md-typeset .admonition.fail>.admonition-title,.md-typeset .admonition.fail>summary,.md-typeset .admonition.failure>.admonition-title,.md-typeset .admonition.failure>summary,.md-typeset .admonition.missing>.admonition-title,.md-typeset .admonition.missing>summary,.md-typeset details.fail>.admonition-title,.md-typeset details.fail>summary,.md-typeset details.failure>.admonition-title,.md-typeset details.failure>summary,.md-typeset details.missing>.admonition-title,.md-typeset details.missing>summary{border-bottom-color:rgba(255,82,82,.1);background-color:rgba(255,82,82,.1)}.md-typeset .admonition.fail>.admonition-title:before,.md-typeset .admonition.fail>summary:before,.md-typeset .admonition.failure>.admonition-title:before,.md-typeset .admonition.failure>summary:before,.md-typeset .admonition.missing>.admonition-title:before,.md-typeset .admonition.missing>summary:before,.md-typeset details.fail>.admonition-title:before,.md-typeset details.fail>summary:before,.md-typeset details.failure>.admonition-title:before,.md-typeset details.failure>summary:before,.md-typeset details.missing>.admonition-title:before,.md-typeset details.missing>summary:before{color:#ff5252;content:""}.md-typeset .admonition.danger,.md-typeset .admonition.error,.md-typeset details.danger,.md-typeset details.error{border-left-color:#ff1744}[dir=rtl] .md-typeset .admonition.danger,[dir=rtl] .md-typeset .admonition.error,[dir=rtl] .md-typeset details.danger,[dir=rtl] .md-typeset details.error{border-right-color:#ff1744}.md-typeset .admonition.danger>.admonition-title,.md-typeset .admonition.danger>summary,.md-typeset .admonition.error>.admonition-title,.md-typeset .admonition.error>summary,.md-typeset details.danger>.admonition-title,.md-typeset details.danger>summary,.md-typeset details.error>.admonition-title,.md-typeset details.error>summary{border-bottom-color:rgba(255,23,68,.1);background-color:rgba(255,23,68,.1)}.md-typeset .admonition.danger>.admonition-title:before,.md-typeset .admonition.danger>summary:before,.md-typeset .admonition.error>.admonition-title:before,.md-typeset .admonition.error>summary:before,.md-typeset details.danger>.admonition-title:before,.md-typeset details.danger>summary:before,.md-typeset details.error>.admonition-title:before,.md-typeset details.error>summary:before{color:#ff1744;content:""}.md-typeset .admonition.bug,.md-typeset details.bug{border-left-color:#f50057}[dir=rtl] .md-typeset .admonition.bug,[dir=rtl] .md-typeset details.bug{border-right-color:#f50057}.md-typeset .admonition.bug>.admonition-title,.md-typeset .admonition.bug>summary,.md-typeset details.bug>.admonition-title,.md-typeset details.bug>summary{border-bottom-color:rgba(245,0,87,.1);background-color:rgba(245,0,87,.1)}.md-typeset .admonition.bug>.admonition-title:before,.md-typeset .admonition.bug>summary:before,.md-typeset details.bug>.admonition-title:before,.md-typeset details.bug>summary:before{color:#f50057;content:""}.md-typeset .admonition.example,.md-typeset details.example{border-left-color:#651fff}[dir=rtl] .md-typeset .admonition.example,[dir=rtl] .md-typeset details.example{border-right-color:#651fff}.md-typeset .admonition.example>.admonition-title,.md-typeset .admonition.example>summary,.md-typeset details.example>.admonition-title,.md-typeset details.example>summary{border-bottom-color:rgba(101,31,255,.1);background-color:rgba(101,31,255,.1)}.md-typeset .admonition.example>.admonition-title:before,.md-typeset .admonition.example>summary:before,.md-typeset details.example>.admonition-title:before,.md-typeset details.example>summary:before{color:#651fff;content:""}.md-typeset .admonition.cite,.md-typeset .admonition.quote,.md-typeset details.cite,.md-typeset details.quote{border-left-color:#9e9e9e}[dir=rtl] .md-typeset .admonition.cite,[dir=rtl] .md-typeset .admonition.quote,[dir=rtl] .md-typeset details.cite,[dir=rtl] .md-typeset details.quote{border-right-color:#9e9e9e}.md-typeset .admonition.cite>.admonition-title,.md-typeset .admonition.cite>summary,.md-typeset .admonition.quote>.admonition-title,.md-typeset .admonition.quote>summary,.md-typeset details.cite>.admonition-title,.md-typeset details.cite>summary,.md-typeset details.quote>.admonition-title,.md-typeset details.quote>summary{border-bottom-color:hsla(0,0%,62%,.1);background-color:hsla(0,0%,62%,.1)}.md-typeset .admonition.cite>.admonition-title:before,.md-typeset .admonition.cite>summary:before,.md-typeset .admonition.quote>.admonition-title:before,.md-typeset .admonition.quote>summary:before,.md-typeset details.cite>.admonition-title:before,.md-typeset details.cite>summary:before,.md-typeset details.quote>.admonition-title:before,.md-typeset details.quote>summary:before{color:#9e9e9e;content:""}.codehilite .o,.codehilite .ow,.md-typeset .highlight .o,.md-typeset .highlight .ow{color:inherit}.codehilite .ge,.md-typeset .highlight .ge{color:#000}.codehilite .gr,.md-typeset .highlight .gr{color:#a00}.codehilite .gh,.md-typeset .highlight .gh{color:#999}.codehilite .go,.md-typeset .highlight .go{color:#888}.codehilite .gp,.md-typeset .highlight .gp{color:#555}.codehilite .gs,.md-typeset .highlight .gs{color:inherit}.codehilite .gu,.md-typeset .highlight .gu{color:#aaa}.codehilite .gt,.md-typeset .highlight .gt{color:#a00}.codehilite .gd,.md-typeset .highlight .gd{background-color:#fdd}.codehilite .gi,.md-typeset .highlight .gi{background-color:#dfd}.codehilite .k,.md-typeset .highlight .k{color:#3b78e7}.codehilite .kc,.md-typeset .highlight .kc{color:#a71d5d}.codehilite .kd,.codehilite .kn,.md-typeset .highlight .kd,.md-typeset .highlight .kn{color:#3b78e7}.codehilite .kp,.md-typeset .highlight .kp{color:#a71d5d}.codehilite .kr,.codehilite .kt,.md-typeset .highlight .kr,.md-typeset .highlight .kt{color:#3e61a2}.codehilite .c,.codehilite .cm,.md-typeset .highlight .c,.md-typeset .highlight .cm{color:#999}.codehilite .cp,.md-typeset .highlight .cp{color:#666}.codehilite .c1,.codehilite .ch,.codehilite .cs,.md-typeset .highlight .c1,.md-typeset .highlight .ch,.md-typeset .highlight .cs{color:#999}.codehilite .na,.codehilite .nb,.md-typeset .highlight .na,.md-typeset .highlight .nb{color:#c2185b}.codehilite .bp,.md-typeset .highlight .bp{color:#3e61a2}.codehilite .nc,.md-typeset .highlight .nc{color:#c2185b}.codehilite .no,.md-typeset .highlight .no{color:#3e61a2}.codehilite .nd,.codehilite .ni,.md-typeset .highlight .nd,.md-typeset .highlight .ni{color:#666}.codehilite .ne,.codehilite .nf,.md-typeset .highlight .ne,.md-typeset .highlight .nf{color:#c2185b}.codehilite .nl,.md-typeset .highlight .nl{color:#3b5179}.codehilite .nn,.md-typeset .highlight .nn{color:#ec407a}.codehilite .nt,.md-typeset .highlight .nt{color:#3b78e7}.codehilite .nv,.codehilite .vc,.codehilite .vg,.codehilite .vi,.md-typeset .highlight .nv,.md-typeset .highlight .vc,.md-typeset .highlight .vg,.md-typeset .highlight .vi{color:#3e61a2}.codehilite .nx,.md-typeset .highlight .nx{color:#ec407a}.codehilite .il,.codehilite .m,.codehilite .mf,.codehilite .mh,.codehilite .mi,.codehilite .mo,.md-typeset .highlight .il,.md-typeset .highlight .m,.md-typeset .highlight .mf,.md-typeset .highlight .mh,.md-typeset .highlight .mi,.md-typeset .highlight .mo{color:#e74c3c}.codehilite .s,.codehilite .sb,.codehilite .sc,.md-typeset .highlight .s,.md-typeset .highlight .sb,.md-typeset .highlight .sc{color:#0d904f}.codehilite .sd,.md-typeset .highlight .sd{color:#999}.codehilite .s2,.md-typeset .highlight .s2{color:#0d904f}.codehilite .se,.codehilite .sh,.codehilite .si,.codehilite .sx,.md-typeset .highlight .se,.md-typeset .highlight .sh,.md-typeset .highlight .si,.md-typeset .highlight .sx{color:#183691}.codehilite .sr,.md-typeset .highlight .sr{color:#009926}.codehilite .s1,.codehilite .ss,.md-typeset .highlight .s1,.md-typeset .highlight .ss{color:#0d904f}.codehilite .err,.md-typeset .highlight .err{color:#a61717}.codehilite .w,.md-typeset .highlight .w{color:transparent}.codehilite .hll,.md-typeset .highlight .hll{display:block;margin:0 -.6rem;padding:0 .6rem;background-color:rgba(255,235,59,.5)}.md-typeset .codehilitetable,.md-typeset .highlighttable{display:block;overflow:hidden}.md-typeset .codehilitetable tbody,.md-typeset .codehilitetable td,.md-typeset .highlighttable tbody,.md-typeset .highlighttable td{display:block;padding:0}.md-typeset .codehilitetable tr,.md-typeset .highlighttable tr{display:-webkit-box;display:flex}.md-typeset .codehilitetable .linenodiv,.md-typeset .codehilitetable pre,.md-typeset .highlighttable .linenodiv,.md-typeset .highlighttable pre{margin:0;border-radius:0}.md-typeset .codehilitetable .linenodiv,.md-typeset .highlighttable .linenodiv{padding:.525rem .6rem}.md-typeset .codehilitetable .linenos,.md-typeset .highlighttable .linenos{background-color:rgba(0,0,0,.07);color:rgba(0,0,0,.26);-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.md-typeset .codehilitetable .linenos pre,.md-typeset .highlighttable .linenos pre{background-color:transparent;color:inherit;text-align:right}.md-typeset .codehilitetable .code,.md-typeset .highlighttable .code{-webkit-box-flex:1;flex:1;overflow:hidden}.md-typeset>.codehilitetable,.md-typeset>.highlighttable{margin:1em 0;border-radius:.2em}.md-typeset [id^="fnref:"]{display:inline-block}.md-typeset [id^="fnref:"]:target{margin-top:-3.8rem;padding-top:3.8rem;pointer-events:none}.md-typeset [id^="fn:"]:before{display:none;height:0;content:""}.md-typeset [id^="fn:"]:target:before{display:block;margin-top:-3.5rem;padding-top:3.5rem;pointer-events:none}.md-typeset .footnote{color:rgba(0,0,0,.54);font-size:.64rem}.md-typeset .footnote ol{margin-left:0}.md-typeset .footnote li{-webkit-transition:color .25s;transition:color .25s}.md-typeset .footnote li:target{color:rgba(0,0,0,.87)}.md-typeset .footnote li :first-child{margin-top:0}.md-typeset .footnote li:hover .footnote-backref,.md-typeset .footnote li:target .footnote-backref{-webkit-transform:translateX(0);transform:translateX(0);opacity:1}.md-typeset .footnote li:hover .footnote-backref:hover,.md-typeset .footnote li:target .footnote-backref{color:#536dfe}.md-typeset .footnote-ref{display:inline-block;pointer-events:auto}.md-typeset .footnote-ref:before{display:inline;margin:0 .2em;border-left:.05rem solid rgba(0,0,0,.26);font-size:1.25em;content:"";vertical-align:-.25rem}.md-typeset .footnote-backref{display:inline-block;-webkit-transform:translateX(.25rem);transform:translateX(.25rem);-webkit-transition:color .25s,opacity .125s .125s,-webkit-transform .25s .125s;transition:color .25s,opacity .125s .125s,-webkit-transform .25s .125s;transition:transform .25s .125s,color .25s,opacity .125s .125s;transition:transform .25s .125s,color .25s,opacity .125s .125s,-webkit-transform .25s .125s;color:rgba(0,0,0,.26);font-size:0;opacity:0;vertical-align:text-bottom}[dir=rtl] .md-typeset .footnote-backref{-webkit-transform:translateX(-.25rem);transform:translateX(-.25rem)}.md-typeset .footnote-backref:before{display:inline-block;font-size:.8rem;content:"\E31B"}[dir=rtl] .md-typeset .footnote-backref:before{-webkit-transform:scaleX(-1);transform:scaleX(-1)}.md-typeset .headerlink{display:inline-block;margin-left:.5rem;-webkit-transform:translateY(.25rem);transform:translateY(.25rem);-webkit-transition:color .25s,opacity .125s .25s,-webkit-transform .25s .25s;transition:color .25s,opacity .125s .25s,-webkit-transform .25s .25s;transition:transform .25s .25s,color .25s,opacity .125s .25s;transition:transform .25s .25s,color .25s,opacity .125s .25s,-webkit-transform .25s .25s;opacity:0}[dir=rtl] .md-typeset .headerlink{margin-right:.5rem;margin-left:0}html body .md-typeset .headerlink{color:rgba(0,0,0,.26)}.md-typeset h1[id]:before{display:block;margin-top:-9px;padding-top:9px;content:""}.md-typeset h1[id]:target:before{margin-top:-3.45rem;padding-top:3.45rem}.md-typeset h1[id] .headerlink:focus,.md-typeset h1[id]:hover .headerlink,.md-typeset h1[id]:target .headerlink{-webkit-transform:translate(0);transform:translate(0);opacity:1}.md-typeset h1[id] .headerlink:focus,.md-typeset h1[id]:hover .headerlink:hover,.md-typeset h1[id]:target .headerlink{color:#536dfe}.md-typeset h2[id]:before{display:block;margin-top:-8px;padding-top:8px;content:""}.md-typeset h2[id]:target:before{margin-top:-3.4rem;padding-top:3.4rem}.md-typeset h2[id] .headerlink:focus,.md-typeset h2[id]:hover .headerlink,.md-typeset h2[id]:target .headerlink{-webkit-transform:translate(0);transform:translate(0);opacity:1}.md-typeset h2[id] .headerlink:focus,.md-typeset h2[id]:hover .headerlink:hover,.md-typeset h2[id]:target .headerlink{color:#536dfe}.md-typeset h3[id]:before{display:block;margin-top:-9px;padding-top:9px;content:""}.md-typeset h3[id]:target:before{margin-top:-3.45rem;padding-top:3.45rem}.md-typeset h3[id] .headerlink:focus,.md-typeset h3[id]:hover .headerlink,.md-typeset h3[id]:target .headerlink{-webkit-transform:translate(0);transform:translate(0);opacity:1}.md-typeset h3[id] .headerlink:focus,.md-typeset h3[id]:hover .headerlink:hover,.md-typeset h3[id]:target .headerlink{color:#536dfe}.md-typeset h4[id]:before{display:block;margin-top:-9px;padding-top:9px;content:""}.md-typeset h4[id]:target:before{margin-top:-3.45rem;padding-top:3.45rem}.md-typeset h4[id] .headerlink:focus,.md-typeset h4[id]:hover .headerlink,.md-typeset h4[id]:target .headerlink{-webkit-transform:translate(0);transform:translate(0);opacity:1}.md-typeset h4[id] .headerlink:focus,.md-typeset h4[id]:hover .headerlink:hover,.md-typeset h4[id]:target .headerlink{color:#536dfe}.md-typeset h5[id]:before{display:block;margin-top:-11px;padding-top:11px;content:""}.md-typeset h5[id]:target:before{margin-top:-3.55rem;padding-top:3.55rem}.md-typeset h5[id] .headerlink:focus,.md-typeset h5[id]:hover .headerlink,.md-typeset h5[id]:target .headerlink{-webkit-transform:translate(0);transform:translate(0);opacity:1}.md-typeset h5[id] .headerlink:focus,.md-typeset h5[id]:hover .headerlink:hover,.md-typeset h5[id]:target .headerlink{color:#536dfe}.md-typeset h6[id]:before{display:block;margin-top:-11px;padding-top:11px;content:""}.md-typeset h6[id]:target:before{margin-top:-3.55rem;padding-top:3.55rem}.md-typeset h6[id] .headerlink:focus,.md-typeset h6[id]:hover .headerlink,.md-typeset h6[id]:target .headerlink{-webkit-transform:translate(0);transform:translate(0);opacity:1}.md-typeset h6[id] .headerlink:focus,.md-typeset h6[id]:hover .headerlink:hover,.md-typeset h6[id]:target .headerlink{color:#536dfe}.md-typeset .MJXc-display{margin:.75em 0;padding:.75em 0;overflow:auto;-webkit-overflow-scrolling:touch}.md-typeset .MathJax_CHTML{outline:0}.md-typeset .critic.comment,.md-typeset del.critic,.md-typeset ins.critic{margin:0 .25em;padding:.0625em 0;border-radius:.1rem;-webkit-box-decoration-break:clone;box-decoration-break:clone}.md-typeset del.critic{background-color:#fdd;box-shadow:.25em 0 0 #fdd,-.25em 0 0 #fdd}.md-typeset ins.critic{background-color:#dfd;box-shadow:.25em 0 0 #dfd,-.25em 0 0 #dfd}.md-typeset .critic.comment{background-color:hsla(0,0%,92.5%,.5);color:#37474f;box-shadow:.25em 0 0 hsla(0,0%,92.5%,.5),-.25em 0 0 hsla(0,0%,92.5%,.5)}.md-typeset .critic.comment:before{padding-right:.125em;color:rgba(0,0,0,.26);content:"\E0B7";vertical-align:-.125em}.md-typeset .critic.block{display:block;margin:1em 0;padding-right:.8rem;padding-left:.8rem;box-shadow:none}.md-typeset .critic.block :first-child{margin-top:.5em}.md-typeset .critic.block :last-child{margin-bottom:.5em}.md-typeset details{display:block;padding-top:0}.md-typeset details[open]>summary:after{-webkit-transform:rotate(180deg);transform:rotate(180deg)}.md-typeset details:not([open]){padding-bottom:0}.md-typeset details:not([open])>summary{border-bottom:none}.md-typeset details summary{padding-right:2rem}[dir=rtl] .md-typeset details summary{padding-left:2rem}.no-details .md-typeset details:not([open])>*{display:none}.no-details .md-typeset details:not([open]) summary{display:block}.md-typeset summary{display:block;outline:none;cursor:pointer}.md-typeset summary::-webkit-details-marker{display:none}.md-typeset summary:after{position:absolute;top:.4rem;right:.6rem;color:rgba(0,0,0,.26);font-size:1rem;content:"\E313"}[dir=rtl] .md-typeset summary:after{right:auto;left:.6rem}.md-typeset .emojione,.md-typeset .gemoji,.md-typeset .twemoji{width:1rem;vertical-align:text-top}.md-typeset code.codehilite,.md-typeset code.highlight{margin:0 .29412em;padding:.07353em 0}.md-typeset .superfences-content{display:none;-webkit-box-ordinal-group:100;order:99;width:100%;background-color:#fff}.md-typeset .superfences-content pre{margin:0;border-radius:0}.md-typeset .superfences-tabs{display:-webkit-box;display:flex;position:relative;flex-wrap:wrap;margin:1em 0;border:.05rem solid rgba(0,0,0,.07);border-radius:.2em}.md-typeset .superfences-tabs>input{display:none}.md-typeset .superfences-tabs>input:checked+label{font-weight:700}.md-typeset .superfences-tabs>input:checked+label+.superfences-content{display:block}.md-typeset .superfences-tabs>label{width:auto;padding:.6rem;-webkit-transition:color .125s;transition:color .125s;font-size:.64rem;cursor:pointer}html .md-typeset .superfences-tabs>label:hover{color:#536dfe}.md-typeset .task-list-item{position:relative;list-style-type:none}.md-typeset .task-list-item [type=checkbox]{position:absolute;top:.45em;left:-2em}[dir=rtl] .md-typeset .task-list-item [type=checkbox]{right:-2em;left:auto}.md-typeset .task-list-control .task-list-indicator:before{position:absolute;top:.15em;left:-1.25em;color:rgba(0,0,0,.26);font-size:1.25em;content:"\E835";vertical-align:-.25em}[dir=rtl] .md-typeset .task-list-control .task-list-indicator:before{right:-1.25em;left:auto}.md-typeset .task-list-control [type=checkbox]:checked+.task-list-indicator:before{content:"\E834"}.md-typeset .task-list-control [type=checkbox]{opacity:0;z-index:-1}@media print{.md-typeset a:after{color:rgba(0,0,0,.54);content:" [" attr(href) "]"}.md-typeset code,.md-typeset pre{white-space:pre-wrap}.md-typeset code{box-shadow:none;-webkit-box-decoration-break:initial;box-decoration-break:slice}.md-clipboard,.md-content__icon,.md-footer,.md-header,.md-sidebar,.md-tabs,.md-typeset .headerlink{display:none}}@media only screen and (max-width:44.9375em){.md-typeset>pre{margin:1em -.8rem;border-radius:0}.md-typeset>pre>code{padding:.525rem .8rem}.md-footer-nav__link--prev .md-footer-nav__title{display:none}.md-search-result__teaser{max-height:2.5rem;-webkit-line-clamp:3}.codehilite .hll,.md-typeset .highlight .hll{margin:0 -.8rem;padding:0 .8rem}.md-typeset>.codehilite,.md-typeset>.highlight{margin:1em -.8rem}.md-typeset>.codehilite code,.md-typeset>.highlight code{padding:.525rem .8rem}.md-typeset>.codehilitetable,.md-typeset>.highlighttable{margin:1em -.8rem;border-radius:0}.md-typeset>.codehilitetable .linenodiv,.md-typeset>.highlighttable .linenodiv{padding:.5rem .8rem}.md-typeset>p>.MJXc-display{margin:.75em -.8rem;padding:.25em .8rem}.md-typeset>.superfences-tabs{margin:1em -.8rem;border:0;border-top:.05rem solid rgba(0,0,0,.07);border-radius:0}.md-typeset>.superfences-tabs code{padding:.525rem .8rem}.md-typeset>.superfences-tabs input:first-child+label{margin-left:.2rem}}@media only screen and (min-width:100em){html{font-size:137.5%}}@media only screen and (min-width:125em){html{font-size:150%}}@media only screen and (max-width:59.9375em){body[data-md-state=lock]{overflow:hidden}.ios body[data-md-state=lock] .md-container{display:none}html .md-nav__link[for=__toc]{display:block;padding-right:2.4rem}html .md-nav__link[for=__toc]:after{color:inherit;content:"\E8DE"}html .md-nav__link[for=__toc]+.md-nav__link{display:none}html .md-nav__link[for=__toc]~.md-nav{display:-webkit-box;display:flex}html [dir=rtl] .md-nav__link{padding-right:.8rem;padding-left:2.4rem}.md-nav__source{display:block;padding:0 .2rem;background-color:rgba(50,64,144,.9675);color:#fff}.md-search__overlay{position:absolute;top:.2rem;left:.2rem;width:1.8rem;height:1.8rem;-webkit-transform-origin:center;transform-origin:center;-webkit-transition:opacity .2s .2s,-webkit-transform .3s .1s;transition:opacity .2s .2s,-webkit-transform .3s .1s;transition:transform .3s .1s,opacity .2s .2s;transition:transform .3s .1s,opacity .2s .2s,-webkit-transform .3s .1s;border-radius:1rem;background-color:#fff;overflow:hidden;pointer-events:none}[dir=rtl] .md-search__overlay{right:.2rem;left:auto}[data-md-toggle=search]:checked~.md-header .md-search__overlay{-webkit-transition:opacity .1s,-webkit-transform .4s;transition:opacity .1s,-webkit-transform .4s;transition:transform .4s,opacity .1s;transition:transform .4s,opacity .1s,-webkit-transform .4s;opacity:1}.md-search__inner{position:fixed;top:0;left:100%;width:100%;height:100%;-webkit-transform:translateX(5%);transform:translateX(5%);-webkit-transition:right 0s .3s,left 0s .3s,opacity .15s .15s,-webkit-transform .15s cubic-bezier(.4,0,.2,1) .15s;transition:right 0s .3s,left 0s .3s,opacity .15s .15s,-webkit-transform .15s cubic-bezier(.4,0,.2,1) .15s;transition:right 0s .3s,left 0s .3s,transform .15s cubic-bezier(.4,0,.2,1) .15s,opacity .15s .15s;transition:right 0s .3s,left 0s .3s,transform .15s cubic-bezier(.4,0,.2,1) .15s,opacity .15s .15s,-webkit-transform .15s cubic-bezier(.4,0,.2,1) .15s;opacity:0;z-index:2}[data-md-toggle=search]:checked~.md-header .md-search__inner{left:0;-webkit-transform:translateX(0);transform:translateX(0);-webkit-transition:right 0s 0s,left 0s 0s,opacity .15s .15s,-webkit-transform .15s cubic-bezier(.1,.7,.1,1) .15s;transition:right 0s 0s,left 0s 0s,opacity .15s .15s,-webkit-transform .15s cubic-bezier(.1,.7,.1,1) .15s;transition:right 0s 0s,left 0s 0s,transform .15s cubic-bezier(.1,.7,.1,1) .15s,opacity .15s .15s;transition:right 0s 0s,left 0s 0s,transform .15s cubic-bezier(.1,.7,.1,1) .15s,opacity .15s .15s,-webkit-transform .15s cubic-bezier(.1,.7,.1,1) .15s;opacity:1}[dir=rtl] [data-md-toggle=search]:checked~.md-header .md-search__inner{right:0;left:auto}html [dir=rtl] .md-search__inner{right:100%;left:auto;-webkit-transform:translateX(-5%);transform:translateX(-5%)}.md-search__input{width:100%;height:2.4rem;font-size:.9rem}.md-search__icon[for=__search]{top:.6rem;left:.8rem}.md-search__icon[for=__search][for=__search]:before{content:"\E5C4"}[dir=rtl] .md-search__icon[for=__search][for=__search]:before{content:"\E5C8"}.md-search__icon[type=reset]{top:.6rem;right:.8rem}.md-search__output{top:2.4rem;bottom:0}.md-search-result__article--document:before{display:none}}@media only screen and (max-width:76.1875em){[data-md-toggle=drawer]:checked~.md-overlay{width:100%;height:100%;-webkit-transition:width 0s,height 0s,opacity .25s;transition:width 0s,height 0s,opacity .25s;opacity:1}.md-header-nav__button.md-icon--home,.md-header-nav__button.md-logo{display:none}.md-hero__inner{margin-top:2.4rem;margin-bottom:1.2rem}.md-nav{background-color:#fff}.md-nav--primary,.md-nav--primary .md-nav{display:-webkit-box;display:flex;position:absolute;top:0;right:0;left:0;-webkit-box-orient:vertical;-webkit-box-direction:normal;flex-direction:column;height:100%;z-index:1}.md-nav--primary .md-nav__item,.md-nav--primary .md-nav__title{font-size:.8rem;line-height:1.5}html .md-nav--primary .md-nav__title{position:relative;height:5.6rem;padding:3rem .8rem .2rem;background-color:rgba(0,0,0,.07);color:rgba(0,0,0,.54);font-weight:400;line-height:2.4rem;white-space:nowrap;cursor:pointer}html .md-nav--primary .md-nav__title:before{display:block;position:absolute;top:.2rem;left:.2rem;width:2rem;height:2rem;color:rgba(0,0,0,.54)}html .md-nav--primary .md-nav__title~.md-nav__list{background-color:#fff;box-shadow:inset 0 .05rem 0 rgba(0,0,0,.07)}html .md-nav--primary .md-nav__title~.md-nav__list>.md-nav__item:first-child{border-top:0}html .md-nav--primary .md-nav__title--site{position:relative;background-color:#3f51b5;color:#fff}html .md-nav--primary .md-nav__title--site .md-nav__button{display:block;position:absolute;top:.2rem;left:.2rem;width:3.2rem;height:3.2rem;font-size:2.4rem}html .md-nav--primary .md-nav__title--site:before{display:none}html [dir=rtl] .md-nav--primary .md-nav__title--site .md-nav__button,html [dir=rtl] .md-nav--primary .md-nav__title:before{right:.2rem;left:auto}.md-nav--primary .md-nav__list{-webkit-box-flex:1;flex:1;overflow-y:auto}.md-nav--primary .md-nav__item{padding:0;border-top:.05rem solid rgba(0,0,0,.07)}[dir=rtl] .md-nav--primary .md-nav__item{padding:0}.md-nav--primary .md-nav__item--nested>.md-nav__link{padding-right:2.4rem}[dir=rtl] .md-nav--primary .md-nav__item--nested>.md-nav__link{padding-right:.8rem;padding-left:2.4rem}.md-nav--primary .md-nav__item--nested>.md-nav__link:after{content:"\E315"}[dir=rtl] .md-nav--primary .md-nav__item--nested>.md-nav__link:after{content:"\E314"}.md-nav--primary .md-nav__link{position:relative;margin-top:0;padding:.6rem .8rem}.md-nav--primary .md-nav__link:after{position:absolute;top:50%;right:.6rem;margin-top:-.6rem;color:inherit;font-size:1.2rem}[dir=rtl] .md-nav--primary .md-nav__link:after{right:auto;left:.6rem}.md-nav--primary .md-nav--secondary .md-nav__link{position:static}.md-nav--primary .md-nav--secondary .md-nav{position:static;background-color:transparent}.md-nav--primary .md-nav--secondary .md-nav .md-nav__link{padding-left:1.4rem}[dir=rtl] .md-nav--primary .md-nav--secondary .md-nav .md-nav__link{padding-right:1.4rem;padding-left:0}.md-nav--primary .md-nav--secondary .md-nav .md-nav .md-nav__link{padding-left:2rem}[dir=rtl] .md-nav--primary .md-nav--secondary .md-nav .md-nav .md-nav__link{padding-right:2rem;padding-left:0}.md-nav--primary .md-nav--secondary .md-nav .md-nav .md-nav .md-nav__link{padding-left:2.6rem}[dir=rtl] .md-nav--primary .md-nav--secondary .md-nav .md-nav .md-nav .md-nav__link{padding-right:2.6rem;padding-left:0}.md-nav--primary .md-nav--secondary .md-nav .md-nav .md-nav .md-nav .md-nav__link{padding-left:3.2rem}[dir=rtl] .md-nav--primary .md-nav--secondary .md-nav .md-nav .md-nav .md-nav .md-nav__link{padding-right:3.2rem;padding-left:0}.md-nav__toggle~.md-nav{display:-webkit-box;display:flex;-webkit-transform:translateX(100%);transform:translateX(100%);-webkit-transition:opacity .125s .05s,-webkit-transform .25s cubic-bezier(.8,0,.6,1);transition:opacity .125s .05s,-webkit-transform .25s cubic-bezier(.8,0,.6,1);transition:transform .25s cubic-bezier(.8,0,.6,1),opacity .125s .05s;transition:transform .25s cubic-bezier(.8,0,.6,1),opacity .125s .05s,-webkit-transform .25s cubic-bezier(.8,0,.6,1);opacity:0}[dir=rtl] .md-nav__toggle~.md-nav{-webkit-transform:translateX(-100%);transform:translateX(-100%)}.no-csstransforms3d .md-nav__toggle~.md-nav{display:none}.md-nav__toggle:checked~.md-nav{-webkit-transform:translateX(0);transform:translateX(0);-webkit-transition:opacity .125s .125s,-webkit-transform .25s cubic-bezier(.4,0,.2,1);transition:opacity .125s .125s,-webkit-transform .25s cubic-bezier(.4,0,.2,1);transition:transform .25s cubic-bezier(.4,0,.2,1),opacity .125s .125s;transition:transform .25s cubic-bezier(.4,0,.2,1),opacity .125s .125s,-webkit-transform .25s cubic-bezier(.4,0,.2,1);opacity:1}.no-csstransforms3d .md-nav__toggle:checked~.md-nav{display:-webkit-box;display:flex}.md-sidebar--primary{position:fixed;top:0;left:-12.1rem;width:12.1rem;height:100%;-webkit-transform:translateX(0);transform:translateX(0);-webkit-transition:box-shadow .25s,-webkit-transform .25s cubic-bezier(.4,0,.2,1);transition:box-shadow .25s,-webkit-transform .25s cubic-bezier(.4,0,.2,1);transition:transform .25s cubic-bezier(.4,0,.2,1),box-shadow .25s;transition:transform .25s cubic-bezier(.4,0,.2,1),box-shadow .25s,-webkit-transform .25s cubic-bezier(.4,0,.2,1);background-color:#fff;z-index:3}[dir=rtl] .md-sidebar--primary{right:-12.1rem;left:auto}.no-csstransforms3d .md-sidebar--primary{display:none}[data-md-toggle=drawer]:checked~.md-container .md-sidebar--primary{box-shadow:0 8px 10px 1px rgba(0,0,0,.14),0 3px 14px 2px rgba(0,0,0,.12),0 5px 5px -3px rgba(0,0,0,.4);-webkit-transform:translateX(12.1rem);transform:translateX(12.1rem)}[dir=rtl] [data-md-toggle=drawer]:checked~.md-container .md-sidebar--primary{-webkit-transform:translateX(-12.1rem);transform:translateX(-12.1rem)}.no-csstransforms3d [data-md-toggle=drawer]:checked~.md-container .md-sidebar--primary{display:block}.md-sidebar--primary .md-sidebar__scrollwrap{overflow:hidden;position:absolute;top:0;right:0;bottom:0;left:0;margin:0}.md-tabs{display:none}}@media only screen and (min-width:60em){.md-content{margin-right:12.1rem}[dir=rtl] .md-content{margin-right:0;margin-left:12.1rem}.md-header-nav__button.md-icon--search{display:none}.md-header-nav__source{display:block;width:11.7rem;max-width:11.7rem;padding-right:.6rem}[dir=rtl] .md-header-nav__source{padding-right:0;padding-left:.6rem}.md-search{padding:.2rem}.md-search__overlay{position:fixed;top:0;left:0;width:0;height:0;-webkit-transition:width 0s .25s,height 0s .25s,opacity .25s;transition:width 0s .25s,height 0s .25s,opacity .25s;background-color:rgba(0,0,0,.54);cursor:pointer}[dir=rtl] .md-search__overlay{right:0;left:auto}[data-md-toggle=search]:checked~.md-header .md-search__overlay{width:100%;height:100%;-webkit-transition:width 0s,height 0s,opacity .25s;transition:width 0s,height 0s,opacity .25s;opacity:1}.md-search__inner{position:relative;width:11.5rem;margin-right:.8rem;padding:.1rem 0;float:right;-webkit-transition:width .25s cubic-bezier(.1,.7,.1,1);transition:width .25s cubic-bezier(.1,.7,.1,1)}[dir=rtl] .md-search__inner{margin-right:0;margin-left:.8rem;float:left}.md-search__form,.md-search__input{border-radius:.1rem}.md-search__input{width:100%;height:1.8rem;padding-left:2.2rem;-webkit-transition:background-color .25s cubic-bezier(.1,.7,.1,1),color .25s cubic-bezier(.1,.7,.1,1);transition:background-color .25s cubic-bezier(.1,.7,.1,1),color .25s cubic-bezier(.1,.7,.1,1);background-color:rgba(0,0,0,.26);color:inherit;font-size:.8rem}[dir=rtl] .md-search__input{padding-right:2.2rem}.md-search__input+.md-search__icon{color:inherit}.md-search__input::-webkit-input-placeholder{color:hsla(0,0%,100%,.7)}.md-search__input::-moz-placeholder{color:hsla(0,0%,100%,.7)}.md-search__input:-ms-input-placeholder{color:hsla(0,0%,100%,.7)}.md-search__input::-ms-input-placeholder{color:hsla(0,0%,100%,.7)}.md-search__input::placeholder{color:hsla(0,0%,100%,.7)}.md-search__input:hover{background-color:hsla(0,0%,100%,.12)}[data-md-toggle=search]:checked~.md-header .md-search__input{border-radius:.1rem .1rem 0 0;background-color:#fff;color:rgba(0,0,0,.87);text-overflow:clip}[data-md-toggle=search]:checked~.md-header .md-search__input::-webkit-input-placeholder{color:rgba(0,0,0,.54)}[data-md-toggle=search]:checked~.md-header .md-search__input::-moz-placeholder{color:rgba(0,0,0,.54)}[data-md-toggle=search]:checked~.md-header .md-search__input:-ms-input-placeholder{color:rgba(0,0,0,.54)}[data-md-toggle=search]:checked~.md-header .md-search__input::-ms-input-placeholder{color:rgba(0,0,0,.54)}[data-md-toggle=search]:checked~.md-header .md-search__input+.md-search__icon,[data-md-toggle=search]:checked~.md-header .md-search__input::placeholder{color:rgba(0,0,0,.54)}.md-search__output{top:1.9rem;-webkit-transition:opacity .4s;transition:opacity .4s;opacity:0}[data-md-toggle=search]:checked~.md-header .md-search__output{box-shadow:0 6px 10px 0 rgba(0,0,0,.14),0 1px 18px 0 rgba(0,0,0,.12),0 3px 5px -1px rgba(0,0,0,.4);opacity:1}.md-search__scrollwrap{max-height:0}[data-md-toggle=search]:checked~.md-header .md-search__scrollwrap{max-height:75vh}.md-search__scrollwrap::-webkit-scrollbar{width:.2rem;height:.2rem}.md-search__scrollwrap::-webkit-scrollbar-thumb{background-color:rgba(0,0,0,.26)}.md-search__scrollwrap::-webkit-scrollbar-thumb:hover{background-color:#536dfe}.md-search-result__meta{padding-left:2.2rem}[dir=rtl] .md-search-result__meta{padding-right:2.2rem;padding-left:0}.md-search-result__article{padding-left:2.2rem}[dir=rtl] .md-search-result__article{padding-right:2.2rem;padding-left:.8rem}.md-sidebar--secondary{display:block;margin-left:100%;-webkit-transform:translate(-100%);transform:translate(-100%)}[dir=rtl] .md-sidebar--secondary{margin-right:100%;margin-left:0;-webkit-transform:translate(100%);transform:translate(100%)}}@media only screen and (min-width:76.25em){.md-content{margin-left:12.1rem}[dir=rtl] .md-content{margin-right:12.1rem}.md-content__inner{margin-right:1.2rem;margin-left:1.2rem}.md-header-nav__button.md-icon--menu{display:none}.md-nav[data-md-state=animate]{-webkit-transition:max-height .25s cubic-bezier(.86,0,.07,1);transition:max-height .25s cubic-bezier(.86,0,.07,1)}.md-nav__toggle~.md-nav{max-height:0;overflow:hidden}.no-js .md-nav__toggle~.md-nav{display:none}.md-nav[data-md-state=expand],.md-nav__toggle:checked~.md-nav{max-height:100%}.no-js .md-nav[data-md-state=expand],.no-js .md-nav__toggle:checked~.md-nav{display:block}.md-nav__item--nested>.md-nav>.md-nav__title{display:none}.md-nav__item--nested>.md-nav__link:after{display:inline-block;-webkit-transform-origin:.45em .45em;transform-origin:.45em .45em;-webkit-transform-style:preserve-3d;transform-style:preserve-3d;vertical-align:-.125em}.js .md-nav__item--nested>.md-nav__link:after{-webkit-transition:-webkit-transform .4s;transition:-webkit-transform .4s;transition:transform .4s;transition:transform .4s,-webkit-transform .4s}.md-nav__item--nested .md-nav__toggle:checked~.md-nav__link:after{-webkit-transform:rotateX(180deg);transform:rotateX(180deg)}.md-search__inner{margin-right:1.2rem}[dir=rtl] .md-search__inner{margin-left:1.2rem}.md-search__scrollwrap,[data-md-toggle=search]:checked~.md-header .md-search__inner{width:34.4rem}.md-sidebar--secondary{margin-left:61rem}[dir=rtl] .md-sidebar--secondary{margin-right:61rem;margin-left:0}.md-tabs~.md-main .md-nav--primary>.md-nav__list>.md-nav__item--nested{font-size:0;visibility:hidden}.md-tabs--active~.md-main .md-nav--primary .md-nav__title{display:block;padding:0}.md-tabs--active~.md-main .md-nav--primary .md-nav__title--site{display:none}.no-js .md-tabs--active~.md-main .md-nav--primary .md-nav{display:block}.md-tabs--active~.md-main .md-nav--primary>.md-nav__list>.md-nav__item{font-size:0;visibility:hidden}.md-tabs--active~.md-main .md-nav--primary>.md-nav__list>.md-nav__item--nested{display:none;font-size:.7rem;overflow:auto;visibility:visible}.md-tabs--active~.md-main .md-nav--primary>.md-nav__list>.md-nav__item--nested>.md-nav__link{display:none}.md-tabs--active~.md-main .md-nav--primary>.md-nav__list>.md-nav__item--active{display:block}.md-tabs--active~.md-main .md-nav[data-md-level="1"]{max-height:none;overflow:visible}.md-tabs--active~.md-main .md-nav[data-md-level="1"]>.md-nav__list>.md-nav__item{padding-left:0}.md-tabs--active~.md-main .md-nav[data-md-level="1"] .md-nav .md-nav__title{display:none}}@media only screen and (min-width:45em){.md-footer-nav__link{width:50%}.md-footer-copyright{max-width:75%;float:left}[dir=rtl] .md-footer-copyright{float:right}.md-footer-social{padding:.6rem 0;float:right}[dir=rtl] .md-footer-social{float:left}}@media only screen and (max-width:29.9375em){[data-md-toggle=search]:checked~.md-header .md-search__overlay{-webkit-transform:scale(45);transform:scale(45)}}@media only screen and (min-width:30em) and (max-width:44.9375em){[data-md-toggle=search]:checked~.md-header .md-search__overlay{-webkit-transform:scale(60);transform:scale(60)}}@media only screen and (min-width:45em) and (max-width:59.9375em){[data-md-toggle=search]:checked~.md-header .md-search__overlay{-webkit-transform:scale(75);transform:scale(75)}}@media only screen and (min-width:60em) and (max-width:76.1875em){.md-search__scrollwrap,[data-md-toggle=search]:checked~.md-header .md-search__inner{width:23.4rem}.md-search-result__teaser{max-height:2.5rem;-webkit-line-clamp:3}} +/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9Vc2Vycy9zcXVpZGZ1bmsvRGVza3RvcC9HZW5lcmFsL1NvdXJjZXMvbWtkb2NzLW1hdGVyaWFsL3NyYy9hc3NldHMvc3R5bGVzaGVldHMvYmFzZS9fcmVzZXQuc2NzcyIsIi9Vc2Vycy9zcXVpZGZ1bmsvRGVza3RvcC9HZW5lcmFsL1NvdXJjZXMvbWtkb2NzLW1hdGVyaWFsL3NyYy9hc3NldHMvc3R5bGVzaGVldHMvYmFzZS9faWNvbnMuc2NzcyIsIi9Vc2Vycy9zcXVpZGZ1bmsvRGVza3RvcC9HZW5lcmFsL1NvdXJjZXMvbWtkb2NzLW1hdGVyaWFsL3NyYy9hc3NldHMvc3R5bGVzaGVldHMvYmFzZS9fdHlwZXNldC5zY3NzIiwiL1VzZXJzL3NxdWlkZnVuay9EZXNrdG9wL0dlbmVyYWwvU291cmNlcy9ta2RvY3MtbWF0ZXJpYWwvc3JjL2Fzc2V0cy9zdHlsZXNoZWV0cy9fY29uZmlnLnNjc3MiLCIvVXNlcnMvc3F1aWRmdW5rL0Rlc2t0b3AvR2VuZXJhbC9Tb3VyY2VzL21rZG9jcy1tYXRlcmlhbC9ub2RlX21vZHVsZXMvbW9kdWxhcnNjYWxlLXNhc3Mvc3R5bGVzaGVldHMvbW9kdWxhcnNjYWxlL19mdW5jdGlvbi5zY3NzIiwiL1VzZXJzL3NxdWlkZnVuay9EZXNrdG9wL0dlbmVyYWwvU291cmNlcy9ta2RvY3MtbWF0ZXJpYWwvc3JjL2Fzc2V0cy9zdHlsZXNoZWV0cy9oZWxwZXJzL19weDJlbS5zY3NzIiwiL1VzZXJzL3NxdWlkZnVuay9EZXNrdG9wL0dlbmVyYWwvU291cmNlcy9ta2RvY3MtbWF0ZXJpYWwvbm9kZV9tb2R1bGVzL21hdGVyaWFsLWRlc2lnbi1jb2xvci9tYXRlcmlhbC1jb2xvci5zY3NzIiwiL1VzZXJzL3NxdWlkZnVuay9EZXNrdG9wL0dlbmVyYWwvU291cmNlcy9ta2RvY3MtbWF0ZXJpYWwvbm9kZV9tb2R1bGVzL21hdGVyaWFsLXNoYWRvd3MvbWF0ZXJpYWwtc2hhZG93cy5zY3NzIiwiL1VzZXJzL3NxdWlkZnVuay9EZXNrdG9wL0dlbmVyYWwvU291cmNlcy9ta2RvY3MtbWF0ZXJpYWwvc3JjL2Fzc2V0cy9zdHlsZXNoZWV0cy9sYXlvdXQvX2Jhc2Uuc2NzcyIsIi9Vc2Vycy9zcXVpZGZ1bmsvRGVza3RvcC9HZW5lcmFsL1NvdXJjZXMvbWtkb2NzLW1hdGVyaWFsL3NyYy9hc3NldHMvc3R5bGVzaGVldHMvbGF5b3V0L19jbGlwYm9hcmQuc2NzcyIsIi9Vc2Vycy9zcXVpZGZ1bmsvRGVza3RvcC9HZW5lcmFsL1NvdXJjZXMvbWtkb2NzLW1hdGVyaWFsL3NyYy9hc3NldHMvc3R5bGVzaGVldHMvbGF5b3V0L19jb250ZW50LnNjc3MiLCIvVXNlcnMvc3F1aWRmdW5rL0Rlc2t0b3AvR2VuZXJhbC9Tb3VyY2VzL21rZG9jcy1tYXRlcmlhbC9zcmMvYXNzZXRzL3N0eWxlc2hlZXRzL2xheW91dC9faGVhZGVyLnNjc3MiLCIvVXNlcnMvc3F1aWRmdW5rL0Rlc2t0b3AvR2VuZXJhbC9Tb3VyY2VzL21rZG9jcy1tYXRlcmlhbC9zcmMvYXNzZXRzL3N0eWxlc2hlZXRzL2xheW91dC9faGVyby5zY3NzIiwiL1VzZXJzL3NxdWlkZnVuay9EZXNrdG9wL0dlbmVyYWwvU291cmNlcy9ta2RvY3MtbWF0ZXJpYWwvc3JjL2Fzc2V0cy9zdHlsZXNoZWV0cy9sYXlvdXQvX2Zvb3Rlci5zY3NzIiwiL1VzZXJzL3NxdWlkZnVuay9EZXNrdG9wL0dlbmVyYWwvU291cmNlcy9ta2RvY3MtbWF0ZXJpYWwvc3JjL2Fzc2V0cy9zdHlsZXNoZWV0cy9sYXlvdXQvX25hdi5zY3NzIiwiL1VzZXJzL3NxdWlkZnVuay9EZXNrdG9wL0dlbmVyYWwvU291cmNlcy9ta2RvY3MtbWF0ZXJpYWwvc3JjL2Fzc2V0cy9zdHlsZXNoZWV0cy9sYXlvdXQvX3NlYXJjaC5zY3NzIiwiL1VzZXJzL3NxdWlkZnVuay9EZXNrdG9wL0dlbmVyYWwvU291cmNlcy9ta2RvY3MtbWF0ZXJpYWwvc3JjL2Fzc2V0cy9zdHlsZXNoZWV0cy9sYXlvdXQvX3NpZGViYXIuc2NzcyIsIi9Vc2Vycy9zcXVpZGZ1bmsvRGVza3RvcC9HZW5lcmFsL1NvdXJjZXMvbWtkb2NzLW1hdGVyaWFsL3NyYy9hc3NldHMvc3R5bGVzaGVldHMvbGF5b3V0L19zb3VyY2Uuc2NzcyIsIi9Vc2Vycy9zcXVpZGZ1bmsvRGVza3RvcC9HZW5lcmFsL1NvdXJjZXMvbWtkb2NzLW1hdGVyaWFsL3NyYy9hc3NldHMvc3R5bGVzaGVldHMvbGF5b3V0L190YWJzLnNjc3MiLCIvVXNlcnMvc3F1aWRmdW5rL0Rlc2t0b3AvR2VuZXJhbC9Tb3VyY2VzL21rZG9jcy1tYXRlcmlhbC9zcmMvYXNzZXRzL3N0eWxlc2hlZXRzL2V4dGVuc2lvbnMvcHltZG93bi9fZGV0YWlscy5zY3NzIiwiL1VzZXJzL3NxdWlkZnVuay9EZXNrdG9wL0dlbmVyYWwvU291cmNlcy9ta2RvY3MtbWF0ZXJpYWwvc3JjL2Fzc2V0cy9zdHlsZXNoZWV0cy9leHRlbnNpb25zL19hZG1vbml0aW9uLnNjc3MiLCIvVXNlcnMvc3F1aWRmdW5rL0Rlc2t0b3AvR2VuZXJhbC9Tb3VyY2VzL21rZG9jcy1tYXRlcmlhbC9zcmMvYXNzZXRzL3N0eWxlc2hlZXRzL2V4dGVuc2lvbnMvX2NvZGVoaWxpdGUuc2NzcyIsIi9Vc2Vycy9zcXVpZGZ1bmsvRGVza3RvcC9HZW5lcmFsL1NvdXJjZXMvbWtkb2NzLW1hdGVyaWFsL3NyYy9hc3NldHMvc3R5bGVzaGVldHMvZXh0ZW5zaW9ucy9fZm9vdG5vdGVzLnNjc3MiLCIvVXNlcnMvc3F1aWRmdW5rL0Rlc2t0b3AvR2VuZXJhbC9Tb3VyY2VzL21rZG9jcy1tYXRlcmlhbC9zcmMvYXNzZXRzL3N0eWxlc2hlZXRzL2V4dGVuc2lvbnMvX3Blcm1hbGlua3Muc2NzcyIsIi9Vc2Vycy9zcXVpZGZ1bmsvRGVza3RvcC9HZW5lcmFsL1NvdXJjZXMvbWtkb2NzLW1hdGVyaWFsL3NyYy9hc3NldHMvc3R5bGVzaGVldHMvZXh0ZW5zaW9ucy9weW1kb3duL19hcml0aG1hdGV4LnNjc3MiLCIvVXNlcnMvc3F1aWRmdW5rL0Rlc2t0b3AvR2VuZXJhbC9Tb3VyY2VzL21rZG9jcy1tYXRlcmlhbC9zcmMvYXNzZXRzL3N0eWxlc2hlZXRzL2V4dGVuc2lvbnMvcHltZG93bi9fY3JpdGljLnNjc3MiLCIvVXNlcnMvc3F1aWRmdW5rL0Rlc2t0b3AvR2VuZXJhbC9Tb3VyY2VzL21rZG9jcy1tYXRlcmlhbC9zcmMvYXNzZXRzL3N0eWxlc2hlZXRzL2V4dGVuc2lvbnMvcHltZG93bi9fZW1vamkuc2NzcyIsIi9Vc2Vycy9zcXVpZGZ1bmsvRGVza3RvcC9HZW5lcmFsL1NvdXJjZXMvbWtkb2NzLW1hdGVyaWFsL3NyYy9hc3NldHMvc3R5bGVzaGVldHMvZXh0ZW5zaW9ucy9weW1kb3duL19pbmxpbmVoaWxpdGUuc2NzcyIsIi9Vc2Vycy9zcXVpZGZ1bmsvRGVza3RvcC9HZW5lcmFsL1NvdXJjZXMvbWtkb2NzLW1hdGVyaWFsL3NyYy9hc3NldHMvc3R5bGVzaGVldHMvZXh0ZW5zaW9ucy9weW1kb3duL19zdXBlcmZlbmNlcy5zY3NzIiwiL1VzZXJzL3NxdWlkZnVuay9EZXNrdG9wL0dlbmVyYWwvU291cmNlcy9ta2RvY3MtbWF0ZXJpYWwvc3JjL2Fzc2V0cy9zdHlsZXNoZWV0cy9leHRlbnNpb25zL3B5bWRvd24vX3Rhc2tsaXN0LnNjc3MiLCIvVXNlcnMvc3F1aWRmdW5rL0Rlc2t0b3AvR2VuZXJhbC9Tb3VyY2VzL21rZG9jcy1tYXRlcmlhbC9zcmMvYXNzZXRzL3N0eWxlc2hlZXRzL2hlbHBlcnMvX2JyZWFrLnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBNkJBLEtBQ0UscUJBQXNCLENBQ3ZCLGlCQU1DLGtCQUFtQixDQVJyQixLQWFFLDhCQUFBLDJCQUFBLDBCQUFBLHFCQUFzQixDQUN2QixLQUlDLFFBQVMsQ0FDVixHQUlDLGlCQUNBLHNCQUF1QixDQUN4QixFQUlDLG9DQUFxQyxDQUN0QyxxQkFPQyx1Q0FBd0MsQ0FUMUMsRUFjRSxjQUNBLG9CQUFxQixDQUN0QixBQUtBLGNBREMsYUFBYyxDQVVmLEFBVEEsUUFLQyxrQkFDQSxBQUNBLGNBQ0EsdUJB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LHVFQUlTLFlBQ2xCLGlCQUNZLENBQUEsK0VBR1gsYUFDUSxnQmJqRkwsY2FtRk0sa0JBQ0ksQ0FBQSw2RkFHVixZQUNBLENBQU8sK0VBS1YsYUFDUSxDQUFFLHFEQU1QLGdCQUNNLGdCQUNGLENBQUEsaUZBR1EsY0FDaEIsQ0FBQSw0RUFJTSxZQUNOLENBQU8sQ2IvR0gsd0N5QmdLeUIscUJqQjlLckMsU0FPSSxDQUFBLHFCQTRGTixjQVFJLFVBQ0EsQ0FBSywrQkFUVCxXQWFXLENBQUUsa0JBV2IsZ0JSN0djLFdRb0hMLENBQUUsNEJBUFgsVUFXTSxDQUFLLENBL0hBLDZDaUI2TDRCLCtEZm5NcEMsNEJBQUEsbUJBd0NnQixDQUFBLENBQUEsa0VlNEc0QywrRGZwSjVELDRCQUFBLG1CQTZDZ0IsQ0FBQSxDQUFBLGtFZXVHNEMsK0RmcEo1RCw0QkFBQSxtQkFrRGdCLENBQUEsQ1ZyQ0wsa0VBQUEsb0ZVaVhaLGFWalhZLENBQUEsMEJVNGhCWixrQlY1aEJZLG9CVWlqQlIsQ0FBQSxDQUFBIiwiZmlsZSI6ImFwcGxpY2F0aW9uLmNzcyIsInNvdXJjZXNDb250ZW50IjpbIi8vLy9cbi8vLyBDb3B5cmlnaHQgKGMpIDIwMTYtMjAyMCBNYXJ0aW4gRG9uYXRoIDxtYXJ0aW4uZG9uYXRoQHNxdWlkZnVuay5jb20+XG4vLy9cbi8vLyBQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYVxuLy8vIGNvcHkgb2YgdGhpcyBzb2Z0d2FyZSBhbmQgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGUgXCJTb2Z0d2FyZVwiKSxcbi8vLyB0byBkZWFsIGluIHRoZSBTb2Z0d2FyZSB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcgd2l0aG91dCBsaW1pdGF0aW9uXG4vLy8gdGhlIHJpZ2h0cyB0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsXG4vLy8gYW5kL29yIHNlbGwgY29waWVzIG9mIHRoZSBTb2Z0d2FyZSwgYW5kIHRvIHBlcm1pdCBwZXJzb25zIHRvIHdob20gdGhlXG4vLy8gU29mdHdhcmUgaXMgZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczpcbi8vL1xuLy8vIFRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIHNoYWxsIGJlIGluY2x1ZGVkIGluXG4vLy8gYWxsIGNvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUgU29mdHdhcmUuXG4vLy9cbi8vLyBUSEUgU09GVFdBUkUgSVMgUFJPVklERUQgXCJBUyBJU1wiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELCBFWFBSRVNTIE9SXG4vLy8gSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFksXG4vLy8gRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTi1JTkZSSU5HRU1FTlQuIElOIE5PIEVWRU5UIFNIQUxMXG4vLy8gVEhFIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkgQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVJcbi8vLyBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULCBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lOR1xuLy8vIEZST00sIE9VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhFIFNPRlRXQVJFIE9SIFRIRSBVU0UgT1IgT1RIRVJcbi8vLyBERUFMSU5HU1xuLy8vL1xuXG4vLyBzdHlsZWxpbnQtZGlzYWJsZSBuby1kdXBsaWNhdGUtc2VsZWN0b3JzXG5cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIFJ1bGVzXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi8vIEVuZm9yY2UgY29ycmVjdCBib3ggbW9kZWxcbmh0bWwge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xufVxuXG4vLyBBbGwgZWxlbWVudHMgc2hhbGwgaW5oZXJpdCB0aGUgZG9jdW1lbnQgZGVmYXVsdFxuKixcbio6OmJlZm9yZSxcbio6OmFmdGVyIHtcbiAgYm94LXNpemluZzogaW5oZXJpdDtcbn1cblxuLy8gUHJldmVudCBhZGp1c3RtZW50cyBvZiBmb250IHNpemUgYWZ0ZXIgb3JpZW50YXRpb24gY2hhbmdlcyBpbiBJRSBhbmQgaU9TXG5odG1sIHtcbiAgdGV4dC1zaXplLWFkanVzdDogbm9uZTtcbn1cblxuLy8gUmVtb3ZlIG1hcmdpbiBpbiBhbGwgYnJvd3NlcnNcbmJvZHkge1xuICBtYXJnaW46IDA7XG59XG5cbi8vIFJlc2V0IGhvcml6b250YWwgcnVsZXMgaW4gRkZcbmhyIHtcbiAgb3ZlcmZsb3c6IHZpc2libGU7XG4gIGJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xufVxuXG4vLyBSZW1vdmUgZ2FwcyBpbiB1bmRlcmxpbmVkIGxpbmtzIGluIGlPUyA+PSA4IGFuZCBTYWZhcmkgPj0gOFxuYSB7XG4gIC13ZWJraXQtdGV4dC1kZWNvcmF0aW9uLXNraXA6IG9iamVjdHM7XG59XG5cbi8vIFJlc2V0IHRhcCBvdXRsaW5lcyBvbiBpT1MgYW5kIEFuZHJvaWRcbmEsXG5idXR0b24sXG5sYWJlbCxcbmlucHV0IHtcbiAgLXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOiB0cmFuc3BhcmVudDtcbn1cblxuLy8gUmVzZXQgbGluayBzdHlsZXNcbmEge1xuICBjb2xvcjogaW5oZXJpdDtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xufVxuXG4vLyBOb3JtYWxpemUgZm9udC1zaXplIGluIGFsbCBicm93c2Vyc1xuc21hbGwge1xuICBmb250LXNpemU6IDgwJTtcbn1cblxuLy8gUHJldmVudCBzdWJzY3JpcHQgYW5kIHN1cGVyc2NyaXB0IGZyb20gYWZmZWN0aW5nIGxpbmUtaGVpZ2h0XG5zdWIsXG5zdXAge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGZvbnQtc2l6ZTogODAlO1xuICBsaW5lLWhlaWdodDogMDtcbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xufVxuXG4vLyBDb3JyZWN0IHN1YnNjcmlwdCBvZmZzZXRcbnN1YiB7XG4gIGJvdHRvbTogLTAuMjVlbTtcbn1cblxuLy8gQ29ycmVjdCBzdXBlcnNjcmlwdCBvZmZzZXRcbnN1cCB7XG4gIHRvcDogLTAuNWVtO1xufVxuXG4vLyBSZW1vdmUgYm9yZGVycyBvbiBpbWFnZXNcbmltZyB7XG4gIGJvcmRlci1zdHlsZTogbm9uZTtcbn1cblxuLy8gUmVzZXQgdGFibGUgc3R5bGVzXG50YWJsZSB7XG4gIGJvcmRlci1jb2xsYXBzZTogc2VwYXJhdGU7XG4gIGJvcmRlci1zcGFjaW5nOiAwO1xufVxuXG4vLyBSZXNldCB0YWJsZSBjZWxsIHN0eWxlc1xudGQsXG50aCB7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIHZlcnRpY2FsLWFsaWduOiB0b3A7XG59XG5cbi8vIFJlc2V0IChuYXRpdmUpIGJ1dHRvbiBzdHlsZXNcbmJ1dHRvbiB7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDtcbiAgYm9yZGVyOiAwO1xuICBvdXRsaW5lLXN0eWxlOiBub25lO1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgZm9udC1zaXplOiBpbmhlcml0O1xufVxuXG4vLyBSZXNldCAobmF0aXZlKSBpbnB1dCBzdHlsZXNcbmlucHV0IHtcbiAgYm9yZGVyOiAwO1xuICBvdXRsaW5lOiAwO1xufVxuIiwiLy8vL1xuLy8vIENvcHlyaWdodCAoYykgMjAxNi0yMDIwIE1hcnRpbiBEb25hdGggPG1hcnRpbi5kb25hdGhAc3F1aWRmdW5rLmNvbT5cbi8vL1xuLy8vIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBhXG4vLy8gY29weSBvZiB0aGlzIHNvZnR3YXJlIGFuZCBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZSBcIlNvZnR3YXJlXCIpLFxuLy8vIHRvIGRlYWwgaW4gdGhlIFNvZnR3YXJlIHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1ZGluZyB3aXRob3V0IGxpbWl0YXRpb25cbi8vLyB0aGUgcmlnaHRzIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwgZGlzdHJpYnV0ZSwgc3VibGljZW5zZSxcbi8vLyBhbmQvb3Igc2VsbCBjb3BpZXMgb2YgdGhlIFNvZnR3YXJlLCBhbmQgdG8gcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGVcbi8vLyBTb2Z0d2FyZSBpcyBmdXJuaXNoZWQgdG8gZG8gc28sIHN1YmplY3QgdG8gdGhlIGZvbGxvd2luZyBjb25kaXRpb25zOlxuLy8vXG4vLy8gVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWQgaW5cbi8vLyBhbGwgY29waWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25zIG9mIHRoZSBTb2Z0d2FyZS5cbi8vL1xuLy8vIFRIRSBTT0ZUV0FSRSBJUyBQUk9WSURFRCBcIkFTIElTXCIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsIEVYUFJFU1MgT1Jcbi8vLyBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSxcbi8vLyBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OLUlORlJJTkdFTUVOVC4gSU4gTk8gRVZFTlQgU0hBTExcbi8vLyBUSEUgQVVUSE9SUyBPUiBDT1BZUklHSFQgSE9MREVSUyBCRSBMSUFCTEUgRk9SIEFOWSBDTEFJTSwgREFNQUdFUyBPUiBPVEhFUlxuLy8vIExJQUJJTElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HXG4vLy8gRlJPTSwgT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUlxuLy8vIERFQUxJTkdTXG4vLy8vXG5cbi8vIHN0eWxlbGludC1kaXNhYmxlIGZvbnQtZmFtaWx5LW5vLW1pc3NpbmctZ2VuZXJpYy1mYW1pbHkta2V5d29yZFxuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBSdWxlc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4vLyBJY29uIHBsYWNlaG9sZGVyc1xuJW1kLWljb24ge1xuICBmb250LWZhbWlseTogXCJNYXRlcmlhbCBJY29uc1wiO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtdmFyaWFudDogbm9ybWFsO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBsaW5lLWhlaWdodDogMTtcbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIHdvcmQtd3JhcDogbm9ybWFsO1xuICBkaXJlY3Rpb246IGx0cjtcblxuICAvLyBJY29uIHJlbmRlcmVkIGFzIGJ1dHRvblxuICAmX19idXR0b24ge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBtYXJnaW46ICRtZC1pY29uLW1hcmdpbjtcbiAgICBwYWRkaW5nOiAkbWQtaWNvbi1wYWRkaW5nO1xuICAgIGZvbnQtc2l6ZTogJG1kLWljb24tc2l6ZTtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gIH1cbn1cblxuLy8gUmVwcmVzZW50YXRpb25hbCBjbGFzc2VzXG4ubWQtaWNvbiB7XG4gIEBleHRlbmQgJW1kLWljb247XG5cbiAgLy8gQnVpbGQgcmVwcmVzZW50YXRpb25hbCBjbGFzc2VzXG4gIEBlYWNoICRsaWdhdHVyZSwgJG5hbWUgaW4gKFxuICAgIFwiXFxFNUM0XCI6IFwiYXJyb3ctYmFja1wiLCAvLyBhcnJvd19iYWNrXG4gICAgXCJcXEU1QzhcIjogXCJhcnJvdy1mb3J3YXJkXCIsIC8vIGFycm93X2ZvcndhcmRcbiAgICBcIlxcRTVEMlwiOiBcIm1lbnVcIiwgLy8gbWVudVxuICAgIFwiXFxFOEI2XCI6IFwic2VhcmNoXCIgLy8gc2VhcmNoXG4gICkge1xuICAgICYtLSN7JG5hbWV9OjpiZWZvcmUge1xuICAgICAgY29udGVudDogJGxpZ2F0dXJlO1xuICAgIH1cbiAgfVxuXG4gIC8vIEFkanVzdCBmb3IgUlRMIGxhbmd1YWdlc1xuICBbZGlyPVwicnRsXCJdICYge1xuXG4gICAgLy8gRmxpcCBsaWdhdHVyZXMgZm9yIGFycm93c1xuICAgIEBlYWNoICRsaWdhdHVyZSwgJG5hbWUgaW4gKFxuICAgICAgXCJcXEU1QzhcIjogXCJhcnJvdy1iYWNrXCIsIC8vIGFycm93X2ZvcndhcmRcbiAgICAgIFwiXFxFNUM0XCI6IFwiYXJyb3ctZm9yd2FyZFwiIC8vIGFycm93X2JhY2tcbiAgICApIHtcbiAgICAgICYtLSN7JG5hbWV9OjpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiAkbGlnYXR1cmU7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLy8vXG4vLy8gQ29weXJpZ2h0IChjKSAyMDE2LTIwMjAgTWFydGluIERvbmF0aCA8bWFydGluLmRvbmF0aEBzcXVpZGZ1bmsuY29tPlxuLy8vXG4vLy8gUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0YWluaW5nIGFcbi8vLyBjb3B5IG9mIHRoaXMgc29mdHdhcmUgYW5kIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlIFwiU29mdHdhcmVcIiksXG4vLy8gdG8gZGVhbCBpbiB0aGUgU29mdHdhcmUgd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nIHdpdGhvdXQgbGltaXRhdGlvblxuLy8vIHRoZSByaWdodHMgdG8gdXNlLCBjb3B5LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNoLCBkaXN0cmlidXRlLCBzdWJsaWNlbnNlLFxuLy8vIGFuZC9vciBzZWxsIGNvcGllcyBvZiB0aGUgU29mdHdhcmUsIGFuZCB0byBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZVxuLy8vIFNvZnR3YXJlIGlzIGZ1cm5pc2hlZCB0byBkbyBzbywgc3ViamVjdCB0byB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6XG4vLy9cbi8vLyBUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBiZSBpbmNsdWRlZCBpblxuLy8vIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIFNvZnR3YXJlLlxuLy8vXG4vLy8gVEhFIFNPRlRXQVJFIElTIFBST1ZJREVEIFwiQVMgSVNcIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwgRVhQUkVTUyBPUlxuLy8vIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZLFxuLy8vIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT04tSU5GUklOR0VNRU5ULiBJTiBOTyBFVkVOVCBTSEFMTFxuLy8vIFRIRSBBVVRIT1JTIE9SIENPUFlSSUdIVCBIT0xERVJTIEJFIExJQUJMRSBGT1IgQU5ZIENMQUlNLCBEQU1BR0VTIE9SIE9USEVSXG4vLy8gTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkdcbi8vLyBGUk9NLCBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRSBTT0ZUV0FSRSBPUiBUSEUgVVNFIE9SIE9USEVSXG4vLy8gREVBTElOR1Ncbi8vLy9cblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gUnVsZXM6IGZvbnQgZGVmaW5pdGlvbnNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLy8gRW5hYmxlIGZvbnQtc21vb3RoaW5nIGluIFdlYmtpdCBhbmQgRkZcbmJvZHkge1xuICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbiAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTtcbn1cblxuLy8gRGVmYXVsdCBmb250c1xuYm9keSxcbmlucHV0IHtcbiAgY29sb3I6ICRtZC1jb2xvci1ibGFjaztcbiAgZm9udC1mZWF0dXJlLXNldHRpbmdzOiBcImtlcm5cIiwgXCJsaWdhXCI7XG4gIGZvbnQtZmFtaWx5OiBcIkhlbHZldGljYSBOZXVlXCIsIEhlbHZldGljYSwgQXJpYWwsIHNhbnMtc2VyaWY7XG59XG5cbi8vIFByb3BvcnRpb25hbGx5IHNwYWNlZCBmb250c1xucHJlLFxuY29kZSxcbmtiZCB7XG4gIGNvbG9yOiAkbWQtY29sb3ItYmxhY2s7XG4gIGZvbnQtZmVhdHVyZS1zZXR0aW5nczogXCJrZXJuXCI7XG4gIGZvbnQtZmFtaWx5OiBcIkNvdXJpZXIgTmV3XCIsIENvdXJpZXIsIG1vbm9zcGFjZTtcbn1cblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gUnVsZXM6IHR5cGVzZXR0ZWQgY29udGVudFxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4vLyBDb250ZW50IHRoYXQgaXMgdHlwZXNldCAtIGlmIHBvc3NpYmxlLCBhbGwgbWFyZ2lucywgcGFkZGluZ3MgYW5kIGZvbnQgc2l6ZXNcbi8vIHNob3VsZCBiZSBzZXQgaW4gZW1zLCBzbyBuZXN0ZWQgYmxvY2tzIChlLmcuIEFkbW9uaXRpb24pIHJlbmRlciBjb3JyZWN0bHksXG4vLyBleGNlcHQgaGVhZGxpbmVzIHRoYXQgc2hvdWxkIG9ubHkgYXBwZWFyIG9uIHRoZSB0b3AgbGV2ZWwgYW5kIG5lZWQgdG8gaGF2ZVxuLy8gY29uc2lzdGVudCBzcGFjaW5nIGR1ZSB0byBsYXlvdXQgY29uc3RyYWludHMuXG4ubWQtdHlwZXNldCB7XG4gIGZvbnQtc2l6ZTogbXMoMCk7XG4gIGxpbmUtaGVpZ2h0OiAxLjY7XG5cbiAgLy8gQ29sb3JzIHNob3VsZCBiZSBrZXB0IHdoZW4gcHJpbnRpbmdcbiAgLXdlYmtpdC1wcmludC1jb2xvci1hZGp1c3Q6IGV4YWN0O1xuXG4gIC8vIERlZmF1bHQgc3BhY2luZ1xuICBwLFxuICB1bCxcbiAgb2wsXG4gIGJsb2NrcXVvdGUge1xuICAgIG1hcmdpbjogMWVtIDA7XG4gIH1cblxuICAvLyAxc3QgbGV2ZWwgaGVhZGxpbmVcbiAgaDEge1xuICAgIG1hcmdpbjogMCAwIHB4MnJlbSg0MHB4KTtcbiAgICBjb2xvcjogJG1kLWNvbG9yLWJsYWNrLS1saWdodDtcbiAgICBmb250LXNpemU6IG1zKDMpO1xuICAgIGZvbnQtd2VpZ2h0OiAzMDA7XG4gICAgbGV0dGVyLXNwYWNpbmc6IC0wLjAxZW07XG4gICAgbGluZS1oZWlnaHQ6IDEuMztcbiAgfVxuXG4gIC8vIDJuZCBsZXZlbCBoZWFkbGluZVxuICBoMiB7XG4gICAgbWFyZ2luOiBweDJyZW0oNDBweCkgMCBweDJyZW0oMTZweCk7XG4gICAgZm9udC1zaXplOiBtcygyKTtcbiAgICBmb250LXdlaWdodDogMzAwO1xuICAgIGxldHRlci1zcGFjaW5nOiAtMC4wMWVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjQ7XG4gIH1cblxuICAvLyAzcmQgbGV2ZWwgaGVhZGxpbmVcbiAgaDMge1xuICAgIG1hcmdpbjogcHgycmVtKDMycHgpIDAgcHgycmVtKDE2cHgpO1xuICAgIGZvbnQtc2l6ZTogbXMoMSk7XG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICBsZXR0ZXItc3BhY2luZzogLTAuMDFlbTtcbiAgICBsaW5lLWhlaWdodDogMS41O1xuICB9XG5cbiAgLy8gM3JkIGxldmVsIGhlYWRsaW5lIGZvbGxvd2luZyBhbiAybmQgbGV2ZWwgaGVhZGxpbmVcbiAgaDIgKyBoMyB7XG4gICAgbWFyZ2luLXRvcDogcHgycmVtKDE2cHgpO1xuICB9XG5cbiAgLy8gNHRoIGxldmVsIGhlYWRsaW5lXG4gIGg0IHtcbiAgICBtYXJnaW46IHB4MnJlbSgxNnB4KSAwO1xuICAgIGZvbnQtc2l6ZTogbXMoMCk7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBsZXR0ZXItc3BhY2luZzogLTAuMDFlbTtcbiAgfVxuXG4gIC8vIDV0aCBhbmQgNnRoIGxldmVsIGhlYWRsaW5lXG4gIGg1LFxuICBoNiB7XG4gICAgbWFyZ2luOiBweDJyZW0oMTZweCkgMDtcbiAgICBjb2xvcjogJG1kLWNvbG9yLWJsYWNrLS1saWdodDtcbiAgICBmb250LXNpemU6IG1zKC0xKTtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIGxldHRlci1zcGFjaW5nOiAtMC4wMWVtO1xuICB9XG5cbiAgLy8gT3ZlcnJpZGVzIGZvciA1dGggbGV2ZWwgaGVhZGxpbmVcbiAgaDUge1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIH1cblxuICAvLyBIb3Jpem9udGFsIHNlcGFyYXRvcnNcbiAgaHIge1xuICAgIG1hcmdpbjogMS41ZW0gMDtcbiAgICBib3JkZXItYm90dG9tOiBweDJyZW0oMXB4KSBkb3R0ZWQgJG1kLWNvbG9yLWJsYWNrLS1saWdodGVyO1xuICB9XG5cbiAgLy8gTGlua3NcbiAgYSB7XG4gICAgY29sb3I6ICRtZC1jb2xvci1wcmltYXJ5O1xuICAgIHdvcmQtYnJlYWs6IGJyZWFrLXdvcmQ7XG5cbiAgICAvLyBBbHNvIGVuYWJsZSBjb2xvciB0cmFuc2l0aW9uIG9uIHBzZXVkbyBlbGVtZW50c1xuICAgICYsXG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIHRyYW5zaXRpb246IGNvbG9yIDAuMTI1cztcbiAgICB9XG5cbiAgICAvLyBIb3ZlcmVkIGFuZCBhY3RpdmUgbGlua3NcbiAgICAmOmhvdmVyLFxuICAgICY6YWN0aXZlIHtcbiAgICAgIGNvbG9yOiAkbWQtY29sb3ItYWNjZW50O1xuICAgIH1cblxuICAgIC8vIEFkZCBVUkxzIGZvciBwcmludFxuICAgIEBtZWRpYSBwcmludCB7XG5cbiAgICAgIC8vIFNob3cgbGluayBVUkxcbiAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgY29sb3I6ICRtZC1jb2xvci1ibGFjay0tbGlnaHQ7XG4gICAgICAgIGNvbnRlbnQ6IFwiIFtcIiBhdHRyKGhyZWYpIFwiXVwiO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIENvZGUgYmxvY2tzXG4gIGNvZGUsXG4gIHByZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJG1kLWNvZGUtYmFja2dyb3VuZDtcbiAgICBjb2xvcjogJG1kLWNvZGUtY29sb3I7XG4gICAgZm9udC1zaXplOiA4NSU7XG4gICAgZGlyZWN0aW9uOiBsdHI7XG5cbiAgICAvLyBXcmFwIHRleHQgYW5kIGhpZGUgc2NvbGxiYXJzXG4gICAgQG1lZGlhIHByaW50IHtcbiAgICAgIHdoaXRlLXNwYWNlOiBwcmUtd3JhcDtcbiAgICB9XG4gIH1cblxuICAvLyBJbmxpbmUgY29kZSBibG9ja3MsIGNvcnJlY3QgcmVsYXRpdmUgZW1zIGZvciBzbWFsbGVyIGZvbnQgc2l6ZVxuICBjb2RlIHtcbiAgICAkY29ycmVjdDogMSAvIDAuODU7XG5cbiAgICBtYXJnaW46IDAgMC4yNWVtICogJGNvcnJlY3Q7XG4gICAgcGFkZGluZzogMC4wNjI1ZW0gKiAkY29ycmVjdCAwO1xuICAgIGJvcmRlci1yYWRpdXM6IHB4MnJlbSgycHgpO1xuICAgIGJveC1zaGFkb3c6XG4gICAgICArMC4yNWVtICogJGNvcnJlY3QgMCAwICRtZC1jb2RlLWJhY2tncm91bmQsXG4gICAgICAtMC4yNWVtICogJGNvcnJlY3QgMCAwICRtZC1jb2RlLWJhY2tncm91bmQ7XG4gICAgd29yZC1icmVhazogYnJlYWstd29yZDtcbiAgICBib3gtZGVjb3JhdGlvbi1icmVhazogY2xvbmU7XG5cbiAgICAvLyBSZW1vdmUgYm94LXNoYWRvd3MgZm9yIHByaW50XG4gICAgQG1lZGlhIHByaW50IHtcbiAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgICBib3gtZGVjb3JhdGlvbi1icmVhazogaW5pdGlhbDtcbiAgICB9XG4gIH1cblxuICAvLyBEaXNhYmxlIGNvbnRhaW5pbmcgYmxvY2sgaW5zaWRlIGhlYWRsaW5lc1xuICBoMSBjb2RlLFxuICBoMiBjb2RlLFxuICBoMyBjb2RlLFxuICBoNCBjb2RlLFxuICBoNSBjb2RlLFxuICBoNiBjb2RlIHtcbiAgICBtYXJnaW46IDA7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgYm94LXNoYWRvdzogbm9uZTtcbiAgfVxuXG4gIC8vIFJlc2V0IGNvZGUgaWYgaXQncyBpbnNpZGUgYSBsaW5rXG4gIGEgPiBjb2RlIHtcbiAgICBtYXJnaW46IGluaGVyaXQ7XG4gICAgcGFkZGluZzogaW5oZXJpdDtcbiAgICBib3JkZXItcmFkaXVzOiBpbml0aWFsO1xuICAgIGJhY2tncm91bmQtY29sb3I6IGluaGVyaXQ7XG4gICAgY29sb3I6IGluaGVyaXQ7XG4gICAgYm94LXNoYWRvdzogbm9uZTtcbiAgfVxuXG4gIC8vIFVuZm9ybWF0dGVkIGNvZGUgYmxvY2tzXG4gIHByZSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIG1hcmdpbjogMWVtIDA7XG4gICAgYm9yZGVyLXJhZGl1czogcHgycmVtKDJweCk7XG4gICAgbGluZS1oZWlnaHQ6IDEuNDtcbiAgICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7XG5cbiAgICAvLyBBY3R1YWwgY29udGFpbmVyIHdpdGggY29kZSwgb3ZlcmZsb3dpbmdcbiAgICA+IGNvZGUge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBtYXJnaW46IDA7XG4gICAgICBwYWRkaW5nOiBweDJyZW0oMTAuNXB4KSBweDJyZW0oMTJweCk7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgIGZvbnQtc2l6ZTogaW5oZXJpdDtcbiAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgICBib3gtZGVjb3JhdGlvbi1icmVhazogc2xpY2U7XG4gICAgICBvdmVyZmxvdzogYXV0bztcblxuICAgICAgLy8gT3ZlcnJpZGUgbmF0aXZlIHNjcm9sbGJhciBzdHlsZXNcbiAgICAgICY6Oi13ZWJraXQtc2Nyb2xsYmFyIHtcbiAgICAgICAgd2lkdGg6IHB4MnJlbSg0cHgpO1xuICAgICAgICBoZWlnaHQ6IHB4MnJlbSg0cHgpO1xuICAgICAgfVxuXG4gICAgICAvLyBTdHlsZSBzY3JvbGxiYXIgdGh1bWJcbiAgICAgICY6Oi13ZWJraXQtc2Nyb2xsYmFyLXRodW1iIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJG1kLWNvbG9yLWJsYWNrLS1saWdodGVyO1xuXG4gICAgICAgIC8vIEhvdmVyZWQgc2Nyb2xsYmFyIHRodW1iXG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRtZC1jb2xvci1hY2NlbnQ7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBbbW9iaWxlIC1dOiBTdHJldGNoIHRvIHdob2xlIHdpZHRoXG4gIEBpbmNsdWRlIGJyZWFrLXRvLWRldmljZShtb2JpbGUpIHtcblxuICAgIC8vIFN0cmV0Y2ggdG9wLWxldmVsIGNvbnRhaW5lcnNcbiAgICA+IHByZSB7XG4gICAgICBtYXJnaW46IDFlbSBweDJyZW0oLTE2cHgpO1xuICAgICAgYm9yZGVyLXJhZGl1czogMDtcblxuICAgICAgLy8gQWN0dWFsIGNvbnRhaW5lciB3aXRoIGNvZGUsIG92ZXJmbG93aW5nXG4gICAgICA+IGNvZGUge1xuICAgICAgICBwYWRkaW5nOiBweDJyZW0oMTAuNXB4KSBweDJyZW0oMTZweCk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gS2V5c3Ryb2tlc1xuICBrYmQge1xuICAgICRjb3JyZWN0OiAxIC8gMC44NTtcblxuICAgIHBhZGRpbmc6IDAgMC4yNWVtICogJGNvcnJlY3Q7XG4gICAgYm9yZGVyOiBweDJyZW0oMXB4KSBzb2xpZCBkYXJrZW4oJG1kLWtleWJvYXJkLWJhY2tncm91bmQsIDIwJSk7XG4gICAgYm9yZGVyLXJhZGl1czogcHgycmVtKDNweCk7XG4gICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogZGFya2VuKCRtZC1rZXlib2FyZC1iYWNrZ3JvdW5kLCAyNSUpO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRtZC1rZXlib2FyZC1iYWNrZ3JvdW5kO1xuICAgIGNvbG9yOiAkbWQta2V5Ym9hcmQtY29sb3I7XG4gICAgZm9udC1zaXplOiA4NSU7XG4gICAgYm94LXNoYWRvdzogMCBweDJyZW0oMXB4KSAwIGRhcmtlbigkbWQta2V5Ym9hcmQtYmFja2dyb3VuZCwgMzAlKTtcbiAgICB3b3JkLWJyZWFrOiBicmVhay13b3JkO1xuICB9XG5cbiAgLy8gVGV4dCBoaWdobGlnaHRpbmcgbWFya2VyXG4gIG1hcmsge1xuICAgIG1hcmdpbjogMCAwLjI1ZW07XG4gICAgcGFkZGluZzogMC4wNjI1ZW0gMDtcbiAgICBib3JkZXItcmFkaXVzOiBweDJyZW0oMnB4KTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudGl6ZSgkY2xyLXllbGxvdy01MDAsIDAuNSk7XG4gICAgYm94LXNoYWRvdzpcbiAgICAgICswLjI1ZW0gMCAwIHRyYW5zcGFyZW50aXplKCRjbHIteWVsbG93LTUwMCwgMC41KSxcbiAgICAgIC0wLjI1ZW0gMCAwIHRyYW5zcGFyZW50aXplKCRjbHIteWVsbG93LTUwMCwgMC41KTtcbiAgICB3b3JkLWJyZWFrOiBicmVhay13b3JkO1xuICAgIGJveC1kZWNvcmF0aW9uLWJyZWFrOiBjbG9uZTtcbiAgfVxuXG4gIC8vIEFiYnJldmlhdGlvbnNcbiAgYWJiciB7XG4gICAgYm9yZGVyLWJvdHRvbTogcHgycmVtKDFweCkgZG90dGVkICRtZC1jb2xvci1ibGFjay0tbGlnaHQ7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIGN1cnNvcjogaGVscDtcbiAgfVxuXG4gIC8vIFNtYWxsIHRleHRcbiAgc21hbGwge1xuICAgIG9wYWNpdHk6IDAuNzU7XG4gIH1cblxuICAvLyBTdXBlcnNjcmlwdCBhbmQgc3Vic2NyaXB0XG4gIHN1cCxcbiAgc3ViIHtcbiAgICBtYXJnaW4tbGVmdDogMC4wNjI1ZW0gKiAxIC8gMC44O1xuXG4gICAgLy8gQWRqdXN0IGZvciBSVEwgbGFuZ3VhZ2VzXG4gICAgW2Rpcj1cInJ0bFwiXSAmIHtcbiAgICAgIG1hcmdpbi1yaWdodDogMC4wNjI1ZW0gKiAxIC8gMC44O1xuICAgICAgbWFyZ2luLWxlZnQ6IGluaXRpYWw7XG4gICAgfVxuICB9XG5cbiAgLy8gQmxvY2txdW90ZXMsIHBvc3NpYmx5IG5lc3RlZFxuICBibG9ja3F1b3RlIHtcbiAgICBwYWRkaW5nLWxlZnQ6IHB4MnJlbSgxMnB4KTtcbiAgICBib3JkZXItbGVmdDogcHgycmVtKDRweCkgc29saWQgJG1kLWNvbG9yLWJsYWNrLS1saWdodGVyO1xuICAgIGNvbG9yOiAkbWQtY29sb3ItYmxhY2stLWxpZ2h0O1xuXG4gICAgLy8gQWRqdXN0IGZvciBSVEwgbGFuZ3VhZ2VzXG4gICAgW2Rpcj1cInJ0bFwiXSAmIHtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IHB4MnJlbSgxMnB4KTtcbiAgICAgIHBhZGRpbmctbGVmdDogaW5pdGlhbDtcbiAgICAgIGJvcmRlci1yaWdodDogcHgycmVtKDRweCkgc29saWQgJG1kLWNvbG9yLWJsYWNrLS1saWdodGVyO1xuICAgICAgYm9yZGVyLWxlZnQ6IGluaXRpYWw7XG4gICAgfVxuICB9XG5cbiAgLy8gVW5vcmRlcmVkIGxpc3RzXG4gIHVsIHtcbiAgICBsaXN0LXN0eWxlLXR5cGU6IGRpc2M7XG4gIH1cblxuICAvLyBVbm9yZGVyZWQgYW5kIG9yZGVyZWQgbGlzdHNcbiAgdWwsXG4gIG9sIHtcbiAgICBtYXJnaW4tbGVmdDogMC42MjVlbTtcbiAgICBwYWRkaW5nOiAwO1xuXG4gICAgLy8gQWRqdXN0IGZvciBSVEwgbGFuZ3VhZ2VzXG4gICAgW2Rpcj1cInJ0bFwiXSAmIHtcbiAgICAgIG1hcmdpbi1yaWdodDogMC42MjVlbTtcbiAgICAgIG1hcmdpbi1sZWZ0OiBpbml0aWFsO1xuICAgIH1cblxuICAgIC8vIE5lc3RlZCBvcmRlcmVkIGxpc3RzXG4gICAgb2wge1xuICAgICAgbGlzdC1zdHlsZS10eXBlOiBsb3dlci1hbHBoYTtcblxuICAgICAgLy8gVHJpcGx5IG5lc3RlZCBvcmRlcmVkIGxpc3RcbiAgICAgIG9sIHtcbiAgICAgICAgbGlzdC1zdHlsZS10eXBlOiBsb3dlci1yb21hbjtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBMaXN0IGVsZW1lbnRzXG4gICAgbGkge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMC41ZW07XG4gICAgICBtYXJnaW4tbGVmdDogMS4yNWVtO1xuXG4gICAgICAvLyBBZGp1c3QgZm9yIFJUTCBsYW5ndWFnZXNcbiAgICAgIFtkaXI9XCJydGxcIl0gJiB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMS4yNWVtO1xuICAgICAgICBtYXJnaW4tbGVmdDogaW5pdGlhbDtcbiAgICAgIH1cblxuICAgICAgLy8gRGVjcmVhc2UgdmVydGljYWwgc3BhY2luZ1xuICAgICAgcCxcbiAgICAgIGJsb2NrcXVvdGUge1xuICAgICAgICBtYXJnaW46IDAuNWVtIDA7XG4gICAgICB9XG5cbiAgICAgIC8vIFJlbW92ZSBtYXJnaW4gb24gbGFzdCBlbGVtZW50XG4gICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgfVxuXG4gICAgICAvLyBOZXN0ZWQgbGlzdHNcbiAgICAgIHVsLFxuICAgICAgb2wge1xuICAgICAgICBtYXJnaW46IDAuNWVtIDAgMC41ZW0gMC42MjVlbTtcblxuICAgICAgICAvLyBBZGp1c3QgZm9yIFJUTCBsYW5ndWFnZXNcbiAgICAgICAgW2Rpcj1cInJ0bFwiXSAmIHtcbiAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDAuNjI1ZW07XG4gICAgICAgICAgbWFyZ2luLWxlZnQ6IGluaXRpYWw7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBEZWZpbml0aW9uIGxpc3RzXG4gIGRkIHtcbiAgICBtYXJnaW46IDFlbSAwIDFlbSAxLjg3NWVtO1xuXG4gICAgLy8gQWRqdXN0IGZvciBSVEwgbGFuZ3VhZ2VzXG4gICAgW2Rpcj1cInJ0bFwiXSAmIHtcbiAgICAgIG1hcmdpbi1yaWdodDogMS44NzVlbTtcbiAgICAgIG1hcmdpbi1sZWZ0OiBpbml0aWFsO1xuICAgIH1cbiAgfVxuXG4gIC8vIExpbWl0IHdpZHRoIHRvIGNvbnRhaW5lclxuICBpZnJhbWUsXG4gIGltZyxcbiAgc3ZnIHtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gIH1cblxuICAvLyBEYXRhIHRhYmxlc1xuICB0YWJsZTpub3QoW2NsYXNzXSkge1xuICAgIEBpbmNsdWRlIHotZGVwdGgoMik7XG5cbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIGJvcmRlci1yYWRpdXM6IHB4MnJlbSgycHgpO1xuICAgIGZvbnQtc2l6ZTogbXMoLTEpO1xuICAgIG92ZXJmbG93OiBhdXRvO1xuICAgIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcblxuICAgIC8vIER1ZSB0byBtYXJnaW4gY29sbGFwc2UgYmVjYXVzZSBvZiB0aGUgbmVjZXNzYXJ5IGlubGluZS1ibG9jayBoYWNrLCB3ZVxuICAgIC8vIGNhbm5vdCBpbmNyZWFzZSB0aGUgYm90dG9tIG1hcmdpbiBvbiB0aGUgdGFibGUsIHNvIHdlIGp1c3QgaW5jcmVhc2UgdGhlXG4gICAgLy8gdG9wIG1hcmdpbiBvbiB0aGUgZm9sbG93aW5nIGVsZW1lbnRcbiAgICAmICsgKiB7XG4gICAgICBtYXJnaW4tdG9wOiAxLjVlbTtcbiAgICB9XG5cbiAgICAvLyBUYWJsZSBoZWFkaW5ncyBhbmQgY2VsbHNcbiAgICB0aDpub3QoW2FsaWduXSksXG4gICAgdGQ6bm90KFthbGlnbl0pIHtcbiAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG5cbiAgICAgIC8vIEFkanVzdCBmb3IgUlRMIGxhbmd1YWdlc1xuICAgICAgW2Rpcj1cInJ0bFwiXSAmIHtcbiAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gVGFibGUgaGVhZGluZ3NcbiAgICB0aCB7XG4gICAgICBtaW4td2lkdGg6IHB4MnJlbSgxMDBweCk7XG4gICAgICBwYWRkaW5nOiBweDJyZW0oMTJweCkgcHgycmVtKDE2cHgpO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJG1kLWNvbG9yLWJsYWNrLS1saWdodDtcbiAgICAgIGNvbG9yOiAkbWQtY29sb3Itd2hpdGU7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICAgIH1cblxuICAgIC8vIFRhYmxlIGNlbGxzXG4gICAgdGQge1xuICAgICAgcGFkZGluZzogcHgycmVtKDEycHgpIHB4MnJlbSgxNnB4KTtcbiAgICAgIGJvcmRlci10b3A6IHB4MnJlbSgxcHgpIHNvbGlkICRtZC1jb2xvci1ibGFjay0tbGlnaHRlc3Q7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICAgIH1cblxuICAgIC8vIFRhYmxlIHJvd3NcbiAgICB0ciB7XG4gICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuMTI1cztcblxuICAgICAgLy8gQWRkIGJhY2tncm91bmQgb24gaG92ZXJcbiAgICAgICY6aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuMDM1KTtcbiAgICAgICAgYm94LXNoYWRvdzogMCBweDJyZW0oMXB4KSAgMCAkbWQtY29sb3Itd2hpdGUgaW5zZXQ7XG4gICAgICB9XG5cbiAgICAgIC8vIFJlbW92ZSB0b3AgYm9yZGVyIG9uIGZpcnN0IHJvd1xuICAgICAgJjpmaXJzdC1jaGlsZCB0ZCB7XG4gICAgICAgIGJvcmRlci10b3A6IDA7XG4gICAgICB9XG4gICAgfVxuXG5cbiAgICAvLyBEbyBub3Qgd3JhcCBsaW5rcyBpbiB0YWJsZXNcbiAgICBhIHtcbiAgICAgIHdvcmQtYnJlYWs6IG5vcm1hbDtcbiAgICB9XG4gIH1cblxuICAvLyBXcmFwcGVyIGZvciBzY3JvbGxpbmcgb24gb3ZlcmZsb3dcbiAgJl9fc2Nyb2xsd3JhcCB7XG4gICAgbWFyZ2luOiAxZW0gcHgycmVtKC0xNnB4KTtcbiAgICBvdmVyZmxvdy14OiBhdXRvO1xuICAgIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcbiAgfVxuXG4gIC8vIERhdGEgdGFibGUgd3JhcHBlciwgaW4gY2FzZSBKYXZhU2NyaXB0IGlzIGF2YWlsYWJsZVxuICAubWQtdHlwZXNldF9fdGFibGUge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBtYXJnaW4tYm90dG9tOiAwLjVlbTtcbiAgICBwYWRkaW5nOiAwIHB4MnJlbSgxNnB4KTtcblxuICAgIC8vIERhdGEgdGFibGVzXG4gICAgdGFibGUge1xuICAgICAgZGlzcGxheTogdGFibGU7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgfVxuICB9XG59XG4iLCIvLy8vXG4vLy8gQ29weXJpZ2h0IChjKSAyMDE2LTIwMjAgTWFydGluIERvbmF0aCA8bWFydGluLmRvbmF0aEBzcXVpZGZ1bmsuY29tPlxuLy8vXG4vLy8gUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0YWluaW5nIGFcbi8vLyBjb3B5IG9mIHRoaXMgc29mdHdhcmUgYW5kIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlIFwiU29mdHdhcmVcIiksXG4vLy8gdG8gZGVhbCBpbiB0aGUgU29mdHdhcmUgd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nIHdpdGhvdXQgbGltaXRhdGlvblxuLy8vIHRoZSByaWdodHMgdG8gdXNlLCBjb3B5LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNoLCBkaXN0cmlidXRlLCBzdWJsaWNlbnNlLFxuLy8vIGFuZC9vciBzZWxsIGNvcGllcyBvZiB0aGUgU29mdHdhcmUsIGFuZCB0byBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZVxuLy8vIFNvZnR3YXJlIGlzIGZ1cm5pc2hlZCB0byBkbyBzbywgc3ViamVjdCB0byB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6XG4vLy9cbi8vLyBUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBiZSBpbmNsdWRlZCBpblxuLy8vIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIFNvZnR3YXJlLlxuLy8vXG4vLy8gVEhFIFNPRlRXQVJFIElTIFBST1ZJREVEIFwiQVMgSVNcIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwgRVhQUkVTUyBPUlxuLy8vIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZLFxuLy8vIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT04tSU5GUklOR0VNRU5ULiBJTiBOTyBFVkVOVCBTSEFMTFxuLy8vIFRIRSBBVVRIT1JTIE9SIENPUFlSSUdIVCBIT0xERVJTIEJFIExJQUJMRSBGT1IgQU5ZIENMQUlNLCBEQU1BR0VTIE9SIE9USEVSXG4vLy8gTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkdcbi8vLyBGUk9NLCBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRSBTT0ZUV0FSRSBPUiBUSEUgVVNFIE9SIE9USEVSXG4vLy8gREVBTElOR1Ncbi8vLy9cblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gVmFyaWFibGVzOiB0eXBvZ3JhcGh5XG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi8vIE1vZHVsYXIgdHlwb2dyYXBoaWMgc2NhbGVcbiRtcy1iYXNlOiBweDJyZW0oMTZweCk7XG4kbXMtcmF0aW86ICRtYWpvci10aGlyZDtcblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gVmFyaWFibGVzOiBicmVha3BvaW50c1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4vLyBzdHlsZWxpbnQtZGlzYWJsZSB1bml0LXdoaXRlbGlzdFxuXG4vLyBEZXZpY2Utc3BlY2lmaWMgYnJlYWtwb2ludHNcbiRicmVhay1kZXZpY2VzOiAoXG4gIG1vYmlsZTogKFxuICAgIHBvcnRyYWl0OiAgcHgyZW0oMjIwcHgpICBweDJlbSg0NzlweCksXG4gICAgbGFuZHNjYXBlOiBweDJlbSg0ODBweCkgIHB4MmVtKDcxOXB4KVxuICApLFxuICB0YWJsZXQ6IChcbiAgICBwb3J0cmFpdDogIHB4MmVtKDcyMHB4KSAgcHgyZW0oOTU5cHgpLFxuICAgIGxhbmRzY2FwZTogcHgyZW0oOTYwcHgpICBweDJlbSgxMjE5cHgpXG4gICksXG4gIHNjcmVlbjogKFxuICAgIHNtYWxsOiAgICAgcHgyZW0oMTIyMHB4KSBweDJlbSgxNTk5cHgpLFxuICAgIG1lZGl1bTogICAgcHgyZW0oMTYwMHB4KSBweDJlbSgxOTk5cHgpLFxuICAgIGxhcmdlOiAgICAgcHgyZW0oMjAwMHB4KVxuICApXG4pO1xuXG4vLyBzdHlsZWxpbnQtZW5hYmxlIHVuaXQtd2hpdGVsaXN0XG5cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIFZhcmlhYmxlczogYmFzZSBjb2xvcnNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLy8gUHJpbWFyeSBhbmQgYWNjZW50IGNvbG9yc1xuJG1kLWNvbG9yLXByaW1hcnk6ICAgICAgICAgICAgICAgICAgICAkY2xyLWluZGlnby01MDAgIWRlZmF1bHQ7XG4kbWQtY29sb3ItYWNjZW50OiAgICAgICAgICAgICAgICAgICAgICRjbHItaW5kaWdvLWEyMDAgIWRlZmF1bHQ7XG5cbi8vIFNoYWRlcyBvZiBibGFja1xuJG1kLWNvbG9yLWJsYWNrOiAgICAgICAgICAgICAgICAgICAgICBoc2xhKDAsIDAlLCAwJSwgMC44NykgIWRlZmF1bHQ7XG4kbWQtY29sb3ItYmxhY2stLWxpZ2h0OiAgICAgICAgICAgICAgIGhzbGEoMCwgMCUsIDAlLCAwLjU0KSAhZGVmYXVsdDtcbiRtZC1jb2xvci1ibGFjay0tbGlnaHRlcjogICAgICAgICAgICAgaHNsYSgwLCAwJSwgMCUsIDAuMjYpICFkZWZhdWx0O1xuJG1kLWNvbG9yLWJsYWNrLS1saWdodGVzdDogICAgICAgICAgICBoc2xhKDAsIDAlLCAwJSwgMC4wNykgIWRlZmF1bHQ7XG4kbWQtY29sb3ItYmxhY2stLXRyYW5zcGFyZW50OiAgICAgICAgIGhzbGEoMCwgMCUsIDAlLCAwKSAhZGVmYXVsdDtcblxuLy8gU2hhZGVzIG9mIHdoaXRlXG4kbWQtY29sb3Itd2hpdGU6ICAgICAgICAgICAgICAgICAgICAgIGhzbGEoMCwgMCUsIDEwMCUsIDEpICFkZWZhdWx0O1xuJG1kLWNvbG9yLXdoaXRlLS1saWdodDogICAgICAgICAgICAgICBoc2xhKDAsIDAlLCAxMDAlLCAwLjcpICFkZWZhdWx0O1xuJG1kLWNvbG9yLXdoaXRlLS1saWdodGVyOiAgICAgICAgICAgICBoc2xhKDAsIDAlLCAxMDAlLCAwLjMpICFkZWZhdWx0O1xuJG1kLWNvbG9yLXdoaXRlLS1saWdodGVzdDogICAgICAgICAgICBoc2xhKDAsIDAlLCAxMDAlLCAwLjEyKSAhZGVmYXVsdDtcbiRtZC1jb2xvci13aGl0ZS0tdHJhbnNwYXJlbnQ6ICAgICAgICAgaHNsYSgwLCAwJSwgMTAwJSwgMCkgIWRlZmF1bHQ7XG5cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIFZhcmlhYmxlczogc2l6aW5nIGFuZCBzcGFjaW5nXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi8vIEljb25zXG4kbWQtaWNvbi1zaXplOiAgICAgICAgICAgICAgICAgICAgICAgICRtcy1iYXNlICogMS41O1xuJG1kLWljb24tcGFkZGluZzogICAgICAgICAgICAgICAgICAgICAkbXMtYmFzZSAqIDAuNTtcbiRtZC1pY29uLW1hcmdpbjogICAgICAgICAgICAgICAgICAgICAgJG1zLWJhc2UgKiAwLjI1O1xuXG4vLyBDb2RlIGJsb2Nrc1xuJG1kLWNvZGUtYmFja2dyb3VuZDogICAgICAgICAgICAgICAgICBoc2xhKDAsIDAlLCA5Mi41JSwgMC41KTtcbiRtZC1jb2RlLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgIzM3NDc0RjtcblxuLy8gS2V5c3Ryb2tlc1xuJG1kLWtleWJvYXJkLWJhY2tncm91bmQ6ICAgICAgICAgICAgICAjRkNGQ0ZDO1xuJG1kLWtleWJvYXJkLWNvbG9yOiAgICAgICAgICAgICAgICAgICAjNTU1NTU1O1xuIiwiQGZ1bmN0aW9uIG1zLWZ1bmN0aW9uKCR2OiAwLCAkYmFzZTogZmFsc2UsICRyYXRpbzogZmFsc2UsICR0aHJlYWQ6IGZhbHNlLCAkc2V0dGluZ3M6ICRtb2R1bGFyc2NhbGUpIHtcblxuICAvLyBQYXJzZSBzZXR0aW5nc1xuICAkbXMtc2V0dGluZ3M6IG1zLXNldHRpbmdzKCRiYXNlLCRyYXRpbywkdGhyZWFkLCRzZXR0aW5ncyk7XG4gICRiYXNlOiBudGgoJG1zLXNldHRpbmdzLCAxKTtcbiAgJHJhdGlvOiBudGgoJG1zLXNldHRpbmdzLCAyKTtcblxuICAvLyBSZW5kZXIgdGFyZ2V0IHZhbHVlcyBmcm9tIHNldHRpbmdzLlxuICBAaWYgdW5pdCgkcmF0aW8pICE9ICcnIHtcbiAgICAkcmF0aW86IG1zLXRhcmdldCgkcmF0aW8sJGJhc2UpXG4gIH1cblxuICAvLyBGYXN0IGNhbGMgaWYgbm90IG11bHRpIHN0cmFuZGVkXG4gIEBpZihsZW5ndGgoJGJhc2UpID09IDEpIHtcbiAgICBAcmV0dXJuIG1zLXBvdygkcmF0aW8sICR2KSAqICRiYXNlO1xuICB9XG5cbiAgLy8gQ3JlYXRlIG5ldyBiYXNlIGFycmF5XG4gICRtcy1iYXNlczogbnRoKCRiYXNlLDEpO1xuXG4gIC8vIE5vcm1hbGl6ZSBiYXNlIHZhbHVlc1xuICBAZm9yICRpIGZyb20gMiB0aHJvdWdoIGxlbmd0aCgkYmFzZSkge1xuICAgIC8vIGluaXRpYWwgYmFzZSB2YWx1ZVxuICAgICRtcy1iYXNlOiBudGgoJGJhc2UsJGkpO1xuICAgIC8vIElmIHRoZSBiYXNlIGlzIGJpZ2dlciB0aGFuIHRoZSBtYWluIGJhc2VcbiAgICBAaWYoJG1zLWJhc2UgPiBudGgoJGJhc2UsMSkpIHtcbiAgICAgIC8vIGRpdmlkZSB0aGUgdmFsdWUgdW50aWwgaXQgYWxpZ25zIHdpdGggbWFpbiBiYXNlLlxuICAgICAgQHdoaWxlKCRtcy1iYXNlID4gbnRoKCRiYXNlLDEpKSB7XG4gICAgICAgICRtcy1iYXNlOiAkbXMtYmFzZSAvICRyYXRpbztcbiAgICAgIH1cbiAgICAgICRtcy1iYXNlOiAkbXMtYmFzZSAqICRyYXRpbztcbiAgICB9XG4gICAgLy8gSWYgdGhlIGJhc2UgaXMgc21hbGxlciB0aGFuIHRoZSBtYWluIGJhc2UuXG4gICAgQGVsc2UgaWYgKCRtcy1iYXNlIDwgbnRoKCRiYXNlLDEpKSB7XG4gICAgICAvLyBwdW1wIHVwIHRoZSB2YWx1ZSB1bnRpbCBpdCBhbGlnbnMgd2l0aCBtYWluIGJhc2UuXG4gICAgICBAd2hpbGUgJG1zLWJhc2UgPCBudGgoJGJhc2UsMSkge1xuICAgICAgICAkbXMtYmFzZTogJG1zLWJhc2UgKiAkcmF0aW87XG4gICAgICB9XG4gICAgfVxuICAgIC8vIFB1c2ggaW50byBuZXcgYXJyYXlcbiAgICAkbXMtYmFzZXM6IGFwcGVuZCgkbXMtYmFzZXMsJG1zLWJhc2UpO1xuICB9XG5cbiAgLy8gU29ydCBhcnJheSBmcm9tIHNtYWxsZXN0IHRvIGxhcmdlc3QuXG4gICRtcy1iYXNlczogbXMtc29ydCgkbXMtYmFzZXMpO1xuXG4gIC8vIEZpbmQgc3RlcCB0byB1c2UgaW4gY2FsY3VsYXRpb25cbiAgJHZ0ZXA6IGZsb29yKCR2IC8gbGVuZ3RoKCRtcy1iYXNlcykpO1xuICAvLyBGaW5kIGJhc2UgdG8gdXNlIGluIGNhbGN1bGF0aW9uXG4gICRtcy1iYXNlOiByb3VuZCgoJHYgLyBsZW5ndGgoJG1zLWJhc2VzKSAtICR2dGVwKSAqIGxlbmd0aCgkbXMtYmFzZXMpKSArIDE7XG5cbiAgQHJldHVybiBtcy1wb3coJHJhdGlvLCAkdnRlcCkgKiBudGgoJG1zLWJhc2VzLCRtcy1iYXNlKTtcbn0iLCIvLy8vXG4vLy8gQ29weXJpZ2h0IChjKSAyMDE2LTIwMjAgTWFydGluIERvbmF0aCA8bWFydGluLmRvbmF0aEBzcXVpZGZ1bmsuY29tPlxuLy8vXG4vLy8gUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0YWluaW5nIGFcbi8vLyBjb3B5IG9mIHRoaXMgc29mdHdhcmUgYW5kIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlIFwiU29mdHdhcmVcIiksXG4vLy8gdG8gZGVhbCBpbiB0aGUgU29mdHdhcmUgd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nIHdpdGhvdXQgbGltaXRhdGlvblxuLy8vIHRoZSByaWdodHMgdG8gdXNlLCBjb3B5LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNoLCBkaXN0cmlidXRlLCBzdWJsaWNlbnNlLFxuLy8vIGFuZC9vciBzZWxsIGNvcGllcyBvZiB0aGUgU29mdHdhcmUsIGFuZCB0byBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZVxuLy8vIFNvZnR3YXJlIGlzIGZ1cm5pc2hlZCB0byBkbyBzbywgc3ViamVjdCB0byB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6XG4vLy9cbi8vLyBUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBiZSBpbmNsdWRlZCBpblxuLy8vIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIFNvZnR3YXJlLlxuLy8vXG4vLy8gVEhFIFNPRlRXQVJFIElTIFBST1ZJREVEIFwiQVMgSVNcIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwgRVhQUkVTUyBPUlxuLy8vIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZLFxuLy8vIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT04tSU5GUklOR0VNRU5ULiBJTiBOTyBFVkVOVCBTSEFMTFxuLy8vIFRIRSBBVVRIT1JTIE9SIENPUFlSSUdIVCBIT0xERVJTIEJFIExJQUJMRSBGT1IgQU5ZIENMQUlNLCBEQU1BR0VTIE9SIE9USEVSXG4vLy8gTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkdcbi8vLyBGUk9NLCBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRSBTT0ZUV0FSRSBPUiBUSEUgVVNFIE9SIE9USEVSXG4vLy8gREVBTElOR1Ncbi8vLy9cblxuLy8gc3R5bGVsaW50LWRpc2FibGUgdW5pdC13aGl0ZWxpc3RcblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gSGVscGVyc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4vLy9cbi8vLyBDb252ZXJ0IGZvbnQgc2l6ZSBpbiBweCB0byBlbS5cbi8vL1xuLy8vIEBncm91cCAgaGVscGVyc1xuLy8vIEBhY2Nlc3MgcHVibGljXG4vLy8gQHBhcmFtICB7TnVtYmVyfSAkc2l6ZSBGb250IHNpemUgaW4gcHhcbi8vLyBAcGFyYW0gIHtOdW1iZXJ9ICRiYXNlIEJhc2UgZm9udCBzaXplXG4vLy8gQHJldHVybiB7TnVtYmVyfSAgICAgICBGb250IHNpemUgaW4gZW1cbi8vL1xuQGZ1bmN0aW9uIHB4MmVtKCRzaXplLCAkYmFzZTogMTZweCkge1xuICBAaWYgdW5pdCgkc2l6ZSkgPT0gcHgge1xuICAgIEBpZiB1bml0KCRiYXNlKSA9PSBweCB7XG4gICAgICBAcmV0dXJuICgkc2l6ZSAvICRiYXNlKSAqIDFlbTtcbiAgICB9IEBlbHNlIHtcbiAgICAgIEBlcnJvciBcIkludmFsaWQgYmFzZTogI3skYmFzZX0gLSB1bml0IG11c3QgYmUgJ3B4J1wiO1xuICAgIH1cbiAgfSBAZWxzZSB7XG4gICAgQGVycm9yIFwiSW52YWxpZCBzaXplOiAjeyRzaXplfSAtIHVuaXQgbXVzdCBiZSAncHgnXCI7XG4gIH1cbn1cblxuLy8vXG4vLy8gQ29udmVydCBmb250IHNpemUgaW4gcHggdG8gcmVtLlxuLy8vXG4vLy8gQGdyb3VwICBoZWxwZXJzXG4vLy8gQGFjY2VzcyBwdWJsaWNcbi8vLyBAcGFyYW0gIHtOdW1iZXJ9ICRzaXplIEZvbnQgc2l6ZSBpbiBweFxuLy8vIEBwYXJhbSAge051bWJlcn0gJGJhc2UgQmFzZSBmb250IHNpemVcbi8vLyBAcmV0dXJuIHtOdW1iZXJ9ICAgICAgIEZvbnQgc2l6ZSBpbiByZW1cbi8vL1xuQGZ1bmN0aW9uIHB4MnJlbSgkc2l6ZSwgJGJhc2U6IDIwcHgpIHtcbiAgQGlmIHVuaXQoJHNpemUpID09IHB4IHtcbiAgICBAaWYgdW5pdCgkYmFzZSkgPT0gcHgge1xuICAgICAgQHJldHVybiAoJHNpemUgLyAkYmFzZSkgKiAxLjByZW07XG4gICAgfSBAZWxzZSB7XG4gICAgICBAZXJyb3IgXCJJbnZhbGlkIGJhc2U6ICN7JGJhc2V9IC0gdW5pdCBtdXN0IGJlICdweCdcIjtcbiAgICB9XG4gIH0gQGVsc2Uge1xuICAgIEBlcnJvciBcIkludmFsaWQgc2l6ZTogI3skc2l6ZX0gLSB1bml0IG11c3QgYmUgJ3B4J1wiO1xuICB9XG59XG4iLCIvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy9cbi8vIE5hbWU6ICAgICAgICBVSSBDb2xvciBQYWxldHRlXG4vLyBEZXNjcmlwdGlvbjogVGhlIGNvbG9yIHBhbGV0dGUgb2YgbWF0ZXJpYWwgZGVzaWduLlxuLy8gVmVyc2lvbjogICAgIDIuMy4xXG4vL1xuLy8gQXV0aG9yOiAgICAgIERlbmlzIE1hbGlub2Noa2luXG4vLyBHaXQ6ICAgICAgICAgaHR0cHM6Ly9naXRodWIuY29tL21ybWxuYy9tYXRlcmlhbC1jb2xvclxuLy9cbi8vIHR3aXR0ZXI6ICAgICBAbXJtbG5jXG4vL1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXG4vL1xuLy8gTGlzdCBvZiBiYXNlIGNvbG9yc1xuLy9cblxuLy8gJGNsci1yZWRcbi8vICRjbHItcGlua1xuLy8gJGNsci1wdXJwbGVcbi8vICRjbHItZGVlcC1wdXJwbGVcbi8vICRjbHItaW5kaWdvXG4vLyAkY2xyLWJsdWVcbi8vICRjbHItbGlnaHQtYmx1ZVxuLy8gJGNsci1jeWFuXG4vLyAkY2xyLXRlYWxcbi8vICRjbHItZ3JlZW5cbi8vICRjbHItbGlnaHQtZ3JlZW5cbi8vICRjbHItbGltZVxuLy8gJGNsci15ZWxsb3dcbi8vICRjbHItYW1iZXJcbi8vICRjbHItb3JhbmdlXG4vLyAkY2xyLWRlZXAtb3JhbmdlXG4vLyAkY2xyLWJyb3duXG4vLyAkY2xyLWdyZXlcbi8vICRjbHItYmx1ZS1ncmV5XG4vLyAkY2xyLWJsYWNrXG4vLyAkY2xyLXdoaXRlXG5cblxuLy9cbi8vIFJlZFxuLy9cblxuJGNsci1yZWQtbGlzdDogKFxuICBcImJhc2VcIjogI2Y0NDMzNixcbiAgXCI1MFwiOiAgICNmZmViZWUsXG4gIFwiMTAwXCI6ICAjZmZjZGQyLFxuICBcIjIwMFwiOiAgI2VmOWE5YSxcbiAgXCIzMDBcIjogICNlNTczNzMsXG4gIFwiNDAwXCI6ICAjZWY1MzUwLFxuICBcIjUwMFwiOiAgI2Y0NDMzNixcbiAgXCI2MDBcIjogICNlNTM5MzUsXG4gIFwiNzAwXCI6ICAjZDMyZjJmLFxuICBcIjgwMFwiOiAgI2M2MjgyOCxcbiAgXCI5MDBcIjogICNiNzFjMWMsXG4gIFwiYTEwMFwiOiAjZmY4YTgwLFxuICBcImEyMDBcIjogI2ZmNTI1MixcbiAgXCJhNDAwXCI6ICNmZjE3NDQsXG4gIFwiYTcwMFwiOiAjZDUwMDAwXG4pO1xuXG4kY2xyLXJlZDogICAgICBtYXAtZ2V0KCRjbHItcmVkLWxpc3QsIFwiYmFzZVwiKTtcblxuJGNsci1yZWQtNTA6ICAgbWFwLWdldCgkY2xyLXJlZC1saXN0LCBcIjUwXCIpO1xuJGNsci1yZWQtMTAwOiAgbWFwLWdldCgkY2xyLXJlZC1saXN0LCBcIjEwMFwiKTtcbiRjbHItcmVkLTIwMDogIG1hcC1nZXQoJGNsci1yZWQtbGlzdCwgXCIyMDBcIik7XG4kY2xyLXJlZC0zMDA6ICBtYXAtZ2V0KCRjbHItcmVkLWxpc3QsIFwiMzAwXCIpO1xuJGNsci1yZWQtNDAwOiAgbWFwLWdldCgkY2xyLXJlZC1saXN0LCBcIjQwMFwiKTtcbiRjbHItcmVkLTUwMDogIG1hcC1nZXQoJGNsci1yZWQtbGlzdCwgXCI1MDBcIik7XG4kY2xyLXJlZC02MDA6ICBtYXAtZ2V0KCRjbHItcmVkLWxpc3QsIFwiNjAwXCIpO1xuJGNsci1yZWQtNzAwOiAgbWFwLWdldCgkY2xyLXJlZC1saXN0LCBcIjcwMFwiKTtcbiRjbHItcmVkLTgwMDogIG1hcC1nZXQoJGNsci1yZWQtbGlzdCwgXCI4MDBcIik7XG4kY2xyLXJlZC05MDA6ICBtYXAtZ2V0KCRjbHItcmVkLWxpc3QsIFwiOTAwXCIpO1xuJGNsci1yZWQtYTEwMDogbWFwLWdldCgkY2xyLXJlZC1saXN0LCBcImExMDBcIik7XG4kY2xyLXJlZC1hMjAwOiBtYXAtZ2V0KCRjbHItcmVkLWxpc3QsIFwiYTIwMFwiKTtcbiRjbHItcmVkLWE0MDA6IG1hcC1nZXQoJGNsci1yZWQtbGlzdCwgXCJhNDAwXCIpO1xuJGNsci1yZWQtYTcwMDogbWFwLWdldCgkY2xyLXJlZC1saXN0LCBcImE3MDBcIik7XG5cblxuLy9cbi8vIFBpbmtcbi8vXG5cbiRjbHItcGluay1saXN0OiAoXG4gIFwiYmFzZVwiOiAjZTkxZTYzLFxuICBcIjUwXCI6ICAgI2ZjZTRlYyxcbiAgXCIxMDBcIjogICNmOGJiZDAsXG4gIFwiMjAwXCI6ICAjZjQ4ZmIxLFxuICBcIjMwMFwiOiAgI2YwNjI5MixcbiAgXCI0MDBcIjogICNlYzQwN2EsXG4gIFwiNTAwXCI6ICAjZTkxZTYzLFxuICBcIjYwMFwiOiAgI2Q4MWI2MCxcbiAgXCI3MDBcIjogICNjMjE4NWIsXG4gIFwiODAwXCI6ICAjYWQxNDU3LFxuICBcIjkwMFwiOiAgIzg4MGU0ZixcbiAgXCJhMTAwXCI6ICNmZjgwYWIsXG4gIFwiYTIwMFwiOiAjZmY0MDgxLFxuICBcImE0MDBcIjogI2Y1MDA1NyxcbiAgXCJhNzAwXCI6ICNjNTExNjJcbik7XG5cbiRjbHItcGluazogICAgICBtYXAtZ2V0KCRjbHItcGluay1saXN0LCBcImJhc2VcIik7XG5cbiRjbHItcGluay01MDogICBtYXAtZ2V0KCRjbHItcGluay1saXN0LCBcIjUwXCIpO1xuJGNsci1waW5rLTEwMDogIG1hcC1nZXQoJGNsci1waW5rLWxpc3QsIFwiMTAwXCIpO1xuJGNsci1waW5rLTIwMDogIG1hcC1nZXQoJGNsci1waW5rLWxpc3QsIFwiMjAwXCIpO1xuJGNsci1waW5rLTMwMDogIG1hcC1nZXQoJGNsci1waW5rLWxpc3QsIFwiMzAwXCIpO1xuJGNsci1waW5rLTQwMDogIG1hcC1nZXQoJGNsci1waW5rLWxpc3QsIFwiNDAwXCIpO1xuJGNsci1waW5rLTUwMDogIG1hcC1nZXQoJGNsci1waW5rLWxpc3QsIFwiNTAwXCIpO1xuJGNsci1waW5rLTYwMDogIG1hcC1nZXQoJGNsci1waW5rLWxpc3QsIFwiNjAwXCIpO1xuJGNsci1waW5rLTcwMDogIG1hcC1nZXQoJGNsci1waW5rLWxpc3QsIFwiNzAwXCIpO1xuJGNsci1waW5rLTgwMDogIG1hcC1nZXQoJGNsci1waW5rLWxpc3QsIFwiODAwXCIpO1xuJGNsci1waW5rLTkwMDogIG1hcC1nZXQoJGNsci1waW5rLWxpc3QsIFwiOTAwXCIpO1xuJGNsci1waW5rLWExMDA6IG1hcC1nZXQoJGNsci1waW5rLWxpc3QsIFwiYTEwMFwiKTtcbiRjbHItcGluay1hMjAwOiBtYXAtZ2V0KCRjbHItcGluay1saXN0LCBcImEyMDBcIik7XG4kY2xyLXBpbmstYTQwMDogbWFwLWdldCgkY2xyLXBpbmstbGlzdCwgXCJhNDAwXCIpO1xuJGNsci1waW5rLWE3MDA6IG1hcC1nZXQoJGNsci1waW5rLWxpc3QsIFwiYTcwMFwiKTtcblxuXG4vL1xuLy8gUHVycGxlXG4vL1xuXG4kY2xyLXB1cnBsZS1saXN0OiAoXG4gIFwiYmFzZVwiOiAjOWMyN2IwLFxuICBcIjUwXCI6ICAgI2YzZTVmNSxcbiAgXCIxMDBcIjogICNlMWJlZTcsXG4gIFwiMjAwXCI6ICAjY2U5M2Q4LFxuICBcIjMwMFwiOiAgI2JhNjhjOCxcbiAgXCI0MDBcIjogICNhYjQ3YmMsXG4gIFwiNTAwXCI6ICAjOWMyN2IwLFxuICBcIjYwMFwiOiAgIzhlMjRhYSxcbiAgXCI3MDBcIjogICM3YjFmYTIsXG4gIFwiODAwXCI6ICAjNmExYjlhLFxuICBcIjkwMFwiOiAgIzRhMTQ4YyxcbiAgXCJhMTAwXCI6ICNlYTgwZmMsXG4gIFwiYTIwMFwiOiAjZTA0MGZiLFxuICBcImE0MDBcIjogI2Q1MDBmOSxcbiAgXCJhNzAwXCI6ICNhYTAwZmZcbik7XG5cbiRjbHItcHVycGxlOiAgICAgIG1hcC1nZXQoJGNsci1wdXJwbGUtbGlzdCwgXCJiYXNlXCIpO1xuXG4kY2xyLXB1cnBsZS01MDogICBtYXAtZ2V0KCRjbHItcHVycGxlLWxpc3QsIFwiNTBcIik7XG4kY2xyLXB1cnBsZS0xMDA6ICBtYXAtZ2V0KCRjbHItcHVycGxlLWxpc3QsIFwiMTAwXCIpO1xuJGNsci1wdXJwbGUtMjAwOiAgbWFwLWdldCgkY2xyLXB1cnBsZS1saXN0LCBcIjIwMFwiKTtcbiRjbHItcHVycGxlLTMwMDogIG1hcC1nZXQoJGNsci1wdXJwbGUtbGlzdCwgXCIzMDBcIik7XG4kY2xyLXB1cnBsZS00MDA6ICBtYXAtZ2V0KCRjbHItcHVycGxlLWxpc3QsIFwiNDAwXCIpO1xuJGNsci1wdXJwbGUtNTAwOiAgbWFwLWdldCgkY2xyLXB1cnBsZS1saXN0LCBcIjUwMFwiKTtcbiRjbHItcHVycGxlLTYwMDogIG1hcC1nZXQoJGNsci1wdXJwbGUtbGlzdCwgXCI2MDBcIik7XG4kY2xyLXB1cnBsZS03MDA6ICBtYXAtZ2V0KCRjbHItcHVycGxlLWxpc3QsIFwiNzAwXCIpO1xuJGNsci1wdXJwbGUtODAwOiAgbWFwLWdldCgkY2xyLXB1cnBsZS1saXN0LCBcIjgwMFwiKTtcbiRjbHItcHVycGxlLTkwMDogIG1hcC1nZXQoJGNsci1wdXJwbGUtbGlzdCwgXCI5MDBcIik7XG4kY2xyLXB1cnBsZS1hMTAwOiBtYXAtZ2V0KCRjbHItcHVycGxlLWxpc3QsIFwiYTEwMFwiKTtcbiRjbHItcHVycGxlLWEyMDA6IG1hcC1nZXQoJGNsci1wdXJwbGUtbGlzdCwgXCJhMjAwXCIpO1xuJGNsci1wdXJwbGUtYTQwMDogbWFwLWdldCgkY2xyLXB1cnBsZS1saXN0LCBcImE0MDBcIik7XG4kY2xyLXB1cnBsZS1hNzAwOiBtYXAtZ2V0KCRjbHItcHVycGxlLWxpc3QsIFwiYTcwMFwiKTtcblxuXG4vL1xuLy8gRGVlcCBwdXJwbGVcbi8vXG5cbiRjbHItZGVlcC1wdXJwbGUtbGlzdDogKFxuICBcImJhc2VcIjogIzY3M2FiNyxcbiAgXCI1MFwiOiAgICNlZGU3ZjYsXG4gIFwiMTAwXCI6ICAjZDFjNGU5LFxuICBcIjIwMFwiOiAgI2IzOWRkYixcbiAgXCIzMDBcIjogICM5NTc1Y2QsXG4gIFwiNDAwXCI6ICAjN2U1N2MyLFxuICBcIjUwMFwiOiAgIzY3M2FiNyxcbiAgXCI2MDBcIjogICM1ZTM1YjEsXG4gIFwiNzAwXCI6ICAjNTEyZGE4LFxuICBcIjgwMFwiOiAgIzQ1MjdhMCxcbiAgXCI5MDBcIjogICMzMTFiOTIsXG4gIFwiYTEwMFwiOiAjYjM4OGZmLFxuICBcImEyMDBcIjogIzdjNGRmZixcbiAgXCJhNDAwXCI6ICM2NTFmZmYsXG4gIFwiYTcwMFwiOiAjNjIwMGVhXG4pO1xuXG4kY2xyLWRlZXAtcHVycGxlOiAgICAgIG1hcC1nZXQoJGNsci1kZWVwLXB1cnBsZS1saXN0LCBcImJhc2VcIik7XG5cbiRjbHItZGVlcC1wdXJwbGUtNTA6ICAgbWFwLWdldCgkY2xyLWRlZXAtcHVycGxlLWxpc3QsIFwiNTBcIik7XG4kY2xyLWRlZXAtcHVycGxlLTEwMDogIG1hcC1nZXQoJGNsci1kZWVwLXB1cnBsZS1saXN0LCBcIjEwMFwiKTtcbiRjbHItZGVlcC1wdXJwbGUtMjAwOiAgbWFwLWdldCgkY2xyLWRlZXAtcHVycGxlLWxpc3QsIFwiMjAwXCIpO1xuJGNsci1kZWVwLXB1cnBsZS0zMDA6ICBtYXAtZ2V0KCRjbHItZGVlcC1wdXJwbGUtbGlzdCwgXCIzMDBcIik7XG4kY2xyLWRlZXAtcHVycGxlLTQwMDogIG1hcC1nZXQoJGNsci1kZWVwLXB1cnBsZS1saXN0LCBcIjQwMFwiKTtcbiRjbHItZGVlcC1wdXJwbGUtNTAwOiAgbWFwLWdldCgkY2xyLWRlZXAtcHVycGxlLWxpc3QsIFwiNTAwXCIpO1xuJGNsci1kZWVwLXB1cnBsZS02MDA6ICBtYXAtZ2V0KCRjbHItZGVlcC1wdXJwbGUtbGlzdCwgXCI2MDBcIik7XG4kY2xyLWRlZXAtcHVycGxlLTcwMDogIG1hcC1nZXQoJGNsci1kZWVwLXB1cnBsZS1saXN0LCBcIjcwMFwiKTtcbiRjbHItZGVlcC1wdXJwbGUtODAwOiAgbWFwLWdldCgkY2xyLWRlZXAtcHVycGxlLWxpc3QsIFwiODAwXCIpO1xuJGNsci1kZWVwLXB1cnBsZS05MDA6ICBtYXAtZ2V0KCRjbHItZGVlcC1wdXJwbGUtbGlzdCwgXCI5MDBcIik7XG4kY2xyLWRlZXAtcHVycGxlLWExMDA6IG1hcC1nZXQoJGNsci1kZWVwLXB1cnBsZS1saXN0LCBcImExMDBcIik7XG4kY2xyLWRlZXAtcHVycGxlLWEyMDA6IG1hcC1nZXQoJGNsci1kZWVwLXB1cnBsZS1saXN0LCBcImEyMDBcIik7XG4kY2xyLWRlZXAtcHVycGxlLWE0MDA6IG1hcC1nZXQoJGNsci1kZWVwLXB1cnBsZS1saXN0LCBcImE0MDBcIik7XG4kY2xyLWRlZXAtcHVycGxlLWE3MDA6IG1hcC1nZXQoJGNsci1kZWVwLXB1cnBsZS1saXN0LCBcImE3MDBcIik7XG5cblxuLy9cbi8vIEluZGlnb1xuLy9cblxuJGNsci1pbmRpZ28tbGlzdDogKFxuICBcImJhc2VcIjogIzNmNTFiNSxcbiAgXCI1MFwiOiAgICNlOGVhZjYsXG4gIFwiMTAwXCI6ICAjYzVjYWU5LFxuICBcIjIwMFwiOiAgIzlmYThkYSxcbiAgXCIzMDBcIjogICM3OTg2Y2IsXG4gIFwiNDAwXCI6ICAjNWM2YmMwLFxuICBcIjUwMFwiOiAgIzNmNTFiNSxcbiAgXCI2MDBcIjogICMzOTQ5YWIsXG4gIFwiNzAwXCI6ICAjMzAzZjlmLFxuICBcIjgwMFwiOiAgIzI4MzU5MyxcbiAgXCI5MDBcIjogICMxYTIzN2UsXG4gIFwiYTEwMFwiOiAjOGM5ZWZmLFxuICBcImEyMDBcIjogIzUzNmRmZSxcbiAgXCJhNDAwXCI6ICMzZDVhZmUsXG4gIFwiYTcwMFwiOiAjMzA0ZmZlXG4pO1xuXG4kY2xyLWluZGlnbzogICAgICBtYXAtZ2V0KCRjbHItaW5kaWdvLWxpc3QsIFwiYmFzZVwiKTtcblxuJGNsci1pbmRpZ28tNTA6ICAgbWFwLWdldCgkY2xyLWluZGlnby1saXN0LCBcIjUwXCIpO1xuJGNsci1pbmRpZ28tMTAwOiAgbWFwLWdldCgkY2xyLWluZGlnby1saXN0LCBcIjEwMFwiKTtcbiRjbHItaW5kaWdvLTIwMDogIG1hcC1nZXQoJGNsci1pbmRpZ28tbGlzdCwgXCIyMDBcIik7XG4kY2xyLWluZGlnby0zMDA6ICBtYXAtZ2V0KCRjbHItaW5kaWdvLWxpc3QsIFwiMzAwXCIpO1xuJGNsci1pbmRpZ28tNDAwOiAgbWFwLWdldCgkY2xyLWluZGlnby1saXN0LCBcIjQwMFwiKTtcbiRjbHItaW5kaWdvLTUwMDogIG1hcC1nZXQoJGNsci1pbmRpZ28tbGlzdCwgXCI1MDBcIik7XG4kY2xyLWluZGlnby02MDA6ICBtYXAtZ2V0KCRjbHItaW5kaWdvLWxpc3QsIFwiNjAwXCIpO1xuJGNsci1pbmRpZ28tNzAwOiAgbWFwLWdldCgkY2xyLWluZGlnby1saXN0LCBcIjcwMFwiKTtcbiRjbHItaW5kaWdvLTgwMDogIG1hcC1nZXQoJGNsci1pbmRpZ28tbGlzdCwgXCI4MDBcIik7XG4kY2xyLWluZGlnby05MDA6ICBtYXAtZ2V0KCRjbHItaW5kaWdvLWxpc3QsIFwiOTAwXCIpO1xuJGNsci1pbmRpZ28tYTEwMDogbWFwLWdldCgkY2xyLWluZGlnby1saXN0LCBcImExMDBcIik7XG4kY2xyLWluZGlnby1hMjAwOiBtYXAtZ2V0KCRjbHItaW5kaWdvLWxpc3QsIFwiYTIwMFwiKTtcbiRjbHItaW5kaWdvLWE0MDA6IG1hcC1nZXQoJGNsci1pbmRpZ28tbGlzdCwgXCJhNDAwXCIpO1xuJGNsci1pbmRpZ28tYTcwMDogbWFwLWdldCgkY2xyLWluZGlnby1saXN0LCBcImE3MDBcIik7XG5cblxuLy9cbi8vIEJsdWVcbi8vXG5cbiRjbHItYmx1ZS1saXN0OiAoXG4gIFwiYmFzZVwiOiAjMjE5NmYzLFxuICBcIjUwXCI6ICAgI2UzZjJmZCxcbiAgXCIxMDBcIjogICNiYmRlZmIsXG4gIFwiMjAwXCI6ICAjOTBjYWY5LFxuICBcIjMwMFwiOiAgIzY0YjVmNixcbiAgXCI0MDBcIjogICM0MmE1ZjUsXG4gIFwiNTAwXCI6ICAjMjE5NmYzLFxuICBcIjYwMFwiOiAgIzFlODhlNSxcbiAgXCI3MDBcIjogICMxOTc2ZDIsXG4gIFwiODAwXCI6ICAjMTU2NWMwLFxuICBcIjkwMFwiOiAgIzBkNDdhMSxcbiAgXCJhMTAwXCI6ICM4MmIxZmYsXG4gIFwiYTIwMFwiOiAjNDQ4YWZmLFxuICBcImE0MDBcIjogIzI5NzlmZixcbiAgXCJhNzAwXCI6ICMyOTYyZmZcbik7XG5cbiRjbHItYmx1ZTogICAgICBtYXAtZ2V0KCRjbHItYmx1ZS1saXN0LCBcImJhc2VcIik7XG5cbiRjbHItYmx1ZS01MDogICBtYXAtZ2V0KCRjbHItYmx1ZS1saXN0LCBcIjUwXCIpO1xuJGNsci1ibHVlLTEwMDogIG1hcC1nZXQoJGNsci1ibHVlLWxpc3QsIFwiMTAwXCIpO1xuJGNsci1ibHVlLTIwMDogIG1hcC1nZXQoJGNsci1ibHVlLWxpc3QsIFwiMjAwXCIpO1xuJGNsci1ibHVlLTMwMDogIG1hcC1nZXQoJGNsci1ibHVlLWxpc3QsIFwiMzAwXCIpO1xuJGNsci1ibHVlLTQwMDogIG1hcC1nZXQoJGNsci1ibHVlLWxpc3QsIFwiNDAwXCIpO1xuJGNsci1ibHVlLTUwMDogIG1hcC1nZXQoJGNsci1ibHVlLWxpc3QsIFwiNTAwXCIpO1xuJGNsci1ibHVlLTYwMDogIG1hcC1nZXQoJGNsci1ibHVlLWxpc3QsIFwiNjAwXCIpO1xuJGNsci1ibHVlLTcwMDogIG1hcC1nZXQoJGNsci1ibHVlLWxpc3QsIFwiNzAwXCIpO1xuJGNsci1ibHVlLTgwMDogIG1hcC1nZXQoJGNsci1ibHVlLWxpc3QsIFwiODAwXCIpO1xuJGNsci1ibHVlLTkwMDogIG1hcC1nZXQoJGNsci1ibHVlLWxpc3QsIFwiOTAwXCIpO1xuJGNsci1ibHVlLWExMDA6IG1hcC1nZXQoJGNsci1ibHVlLWxpc3QsIFwiYTEwMFwiKTtcbiRjbHItYmx1ZS1hMjAwOiBtYXAtZ2V0KCRjbHItYmx1ZS1saXN0LCBcImEyMDBcIik7XG4kY2xyLWJsdWUtYTQwMDogbWFwLWdldCgkY2xyLWJsdWUtbGlzdCwgXCJhNDAwXCIpO1xuJGNsci1ibHVlLWE3MDA6IG1hcC1nZXQoJGNsci1ibHVlLWxpc3QsIFwiYTcwMFwiKTtcblxuXG4vL1xuLy8gTGlnaHQgQmx1ZVxuLy9cblxuJGNsci1saWdodC1ibHVlLWxpc3Q6IChcbiAgXCJiYXNlXCI6ICMwM2E5ZjQsXG4gIFwiNTBcIjogICAjZTFmNWZlLFxuICBcIjEwMFwiOiAgI2IzZTVmYyxcbiAgXCIyMDBcIjogICM4MWQ0ZmEsXG4gIFwiMzAwXCI6ICAjNGZjM2Y3LFxuICBcIjQwMFwiOiAgIzI5YjZmNixcbiAgXCI1MDBcIjogICMwM2E5ZjQsXG4gIFwiNjAwXCI6ICAjMDM5YmU1LFxuICBcIjcwMFwiOiAgIzAyODhkMSxcbiAgXCI4MDBcIjogICMwMjc3YmQsXG4gIFwiOTAwXCI6ICAjMDE1NzliLFxuICBcImExMDBcIjogIzgwZDhmZixcbiAgXCJhMjAwXCI6ICM0MGM0ZmYsXG4gIFwiYTQwMFwiOiAjMDBiMGZmLFxuICBcImE3MDBcIjogIzAwOTFlYVxuKTtcblxuJGNsci1saWdodC1ibHVlOiAgICAgIG1hcC1nZXQoJGNsci1saWdodC1ibHVlLWxpc3QsIFwiYmFzZVwiKTtcblxuJGNsci1saWdodC1ibHVlLTUwOiAgIG1hcC1nZXQoJGNsci1saWdodC1ibHVlLWxpc3QsIFwiNTBcIik7XG4kY2xyLWxpZ2h0LWJsdWUtMTAwOiAgbWFwLWdldCgkY2xyLWxpZ2h0LWJsdWUtbGlzdCwgXCIxMDBcIik7XG4kY2xyLWxpZ2h0LWJsdWUtMjAwOiAgbWFwLWdldCgkY2xyLWxpZ2h0LWJsdWUtbGlzdCwgXCIyMDBcIik7XG4kY2xyLWxpZ2h0LWJsdWUtMzAwOiAgbWFwLWdldCgkY2xyLWxpZ2h0LWJsdWUtbGlzdCwgXCIzMDBcIik7XG4kY2xyLWxpZ2h0LWJsdWUtNDAwOiAgbWFwLWdldCgkY2xyLWxpZ2h0LWJsdWUtbGlzdCwgXCI0MDBcIik7XG4kY2xyLWxpZ2h0LWJsdWUtNTAwOiAgbWFwLWdldCgkY2xyLWxpZ2h0LWJsdWUtbGlzdCwgXCI1MDBcIik7XG4kY2xyLWxpZ2h0LWJsdWUtNjAwOiAgbWFwLWdldCgkY2xyLWxpZ2h0LWJsdWUtbGlzdCwgXCI2MDBcIik7XG4kY2xyLWxpZ2h0LWJsdWUtNzAwOiAgbWFwLWdldCgkY2xyLWxpZ2h0LWJsdWUtbGlzdCwgXCI3MDBcIik7XG4kY2xyLWxpZ2h0LWJsdWUtODAwOiAgbWFwLWdldCgkY2xyLWxpZ2h0LWJsdWUtbGlzdCwgXCI4MDBcIik7XG4kY2xyLWxpZ2h0LWJsdWUtOTAwOiAgbWFwLWdldCgkY2xyLWxpZ2h0LWJsdWUtbGlzdCwgXCI5MDBcIik7XG4kY2xyLWxpZ2h0LWJsdWUtYTEwMDogbWFwLWdldCgkY2xyLWxpZ2h0LWJsdWUtbGlzdCwgXCJhMTAwXCIpO1xuJGNsci1saWdodC1ibHVlLWEyMDA6IG1hcC1nZXQoJGNsci1saWdodC1ibHVlLWxpc3QsIFwiYTIwMFwiKTtcbiRjbHItbGlnaHQtYmx1ZS1hNDAwOiBtYXAtZ2V0KCRjbHItbGlnaHQtYmx1ZS1saXN0LCBcImE0MDBcIik7XG4kY2xyLWxpZ2h0LWJsdWUtYTcwMDogbWFwLWdldCgkY2xyLWxpZ2h0LWJsdWUtbGlzdCwgXCJhNzAwXCIpO1xuXG5cbi8vXG4vLyBDeWFuXG4vL1xuXG4kY2xyLWN5YW4tbGlzdDogKFxuICBcImJhc2VcIjogIzAwYmNkNCxcbiAgXCI1MFwiOiAgICNlMGY3ZmEsXG4gIFwiMTAwXCI6ICAjYjJlYmYyLFxuICBcIjIwMFwiOiAgIzgwZGVlYSxcbiAgXCIzMDBcIjogICM0ZGQwZTEsXG4gIFwiNDAwXCI6ICAjMjZjNmRhLFxuICBcIjUwMFwiOiAgIzAwYmNkNCxcbiAgXCI2MDBcIjogICMwMGFjYzEsXG4gIFwiNzAwXCI6ICAjMDA5N2E3LFxuICBcIjgwMFwiOiAgIzAwODM4ZixcbiAgXCI5MDBcIjogICMwMDYwNjQsXG4gIFwiYTEwMFwiOiAjODRmZmZmLFxuICBcImEyMDBcIjogIzE4ZmZmZixcbiAgXCJhNDAwXCI6ICMwMGU1ZmYsXG4gIFwiYTcwMFwiOiAjMDBiOGQ0XG4pO1xuXG4kY2xyLWN5YW46ICAgICAgbWFwLWdldCgkY2xyLWN5YW4tbGlzdCwgXCJiYXNlXCIpO1xuXG4kY2xyLWN5YW4tNTA6ICAgbWFwLWdldCgkY2xyLWN5YW4tbGlzdCwgXCI1MFwiKTtcbiRjbHItY3lhbi0xMDA6ICBtYXAtZ2V0KCRjbHItY3lhbi1saXN0LCBcIjEwMFwiKTtcbiRjbHItY3lhbi0yMDA6ICBtYXAtZ2V0KCRjbHItY3lhbi1saXN0LCBcIjIwMFwiKTtcbiRjbHItY3lhbi0zMDA6ICBtYXAtZ2V0KCRjbHItY3lhbi1saXN0LCBcIjMwMFwiKTtcbiRjbHItY3lhbi00MDA6ICBtYXAtZ2V0KCRjbHItY3lhbi1saXN0LCBcIjQwMFwiKTtcbiRjbHItY3lhbi01MDA6ICBtYXAtZ2V0KCRjbHItY3lhbi1saXN0LCBcIjUwMFwiKTtcbiRjbHItY3lhbi02MDA6ICBtYXAtZ2V0KCRjbHItY3lhbi1saXN0LCBcIjYwMFwiKTtcbiRjbHItY3lhbi03MDA6ICBtYXAtZ2V0KCRjbHItY3lhbi1saXN0LCBcIjcwMFwiKTtcbiRjbHItY3lhbi04MDA6ICBtYXAtZ2V0KCRjbHItY3lhbi1saXN0LCBcIjgwMFwiKTtcbiRjbHItY3lhbi05MDA6ICBtYXAtZ2V0KCRjbHItY3lhbi1saXN0LCBcIjkwMFwiKTtcbiRjbHItY3lhbi1hMTAwOiBtYXAtZ2V0KCRjbHItY3lhbi1saXN0LCBcImExMDBcIik7XG4kY2xyLWN5YW4tYTIwMDogbWFwLWdldCgkY2xyLWN5YW4tbGlzdCwgXCJhMjAwXCIpO1xuJGNsci1jeWFuLWE0MDA6IG1hcC1nZXQoJGNsci1jeWFuLWxpc3QsIFwiYTQwMFwiKTtcbiRjbHItY3lhbi1hNzAwOiBtYXAtZ2V0KCRjbHItY3lhbi1saXN0LCBcImE3MDBcIik7XG5cblxuLy9cbi8vIFRlYWxcbi8vXG5cbiRjbHItdGVhbC1saXN0OiAoXG4gIFwiYmFzZVwiOiAjMDA5Njg4LFxuICBcIjUwXCI6ICAgI2UwZjJmMSxcbiAgXCIxMDBcIjogICNiMmRmZGIsXG4gIFwiMjAwXCI6ICAjODBjYmM0LFxuICBcIjMwMFwiOiAgIzRkYjZhYyxcbiAgXCI0MDBcIjogICMyNmE2OWEsXG4gIFwiNTAwXCI6ICAjMDA5Njg4LFxuICBcIjYwMFwiOiAgIzAwODk3YixcbiAgXCI3MDBcIjogICMwMDc5NmIsXG4gIFwiODAwXCI6ICAjMDA2OTVjLFxuICBcIjkwMFwiOiAgIzAwNGQ0MCxcbiAgXCJhMTAwXCI6ICNhN2ZmZWIsXG4gIFwiYTIwMFwiOiAjNjRmZmRhLFxuICBcImE0MDBcIjogIzFkZTliNixcbiAgXCJhNzAwXCI6ICMwMGJmYTVcbik7XG5cbiRjbHItdGVhbDogICAgICBtYXAtZ2V0KCRjbHItdGVhbC1saXN0LCBcImJhc2VcIik7XG5cbiRjbHItdGVhbC01MDogICBtYXAtZ2V0KCRjbHItdGVhbC1saXN0LCBcIjUwXCIpO1xuJGNsci10ZWFsLTEwMDogIG1hcC1nZXQoJGNsci10ZWFsLWxpc3QsIFwiMTAwXCIpO1xuJGNsci10ZWFsLTIwMDogIG1hcC1nZXQoJGNsci10ZWFsLWxpc3QsIFwiMjAwXCIpO1xuJGNsci10ZWFsLTMwMDogIG1hcC1nZXQoJGNsci10ZWFsLWxpc3QsIFwiMzAwXCIpO1xuJGNsci10ZWFsLTQwMDogIG1hcC1nZXQoJGNsci10ZWFsLWxpc3QsIFwiNDAwXCIpO1xuJGNsci10ZWFsLTUwMDogIG1hcC1nZXQoJGNsci10ZWFsLWxpc3QsIFwiNTAwXCIpO1xuJGNsci10ZWFsLTYwMDogIG1hcC1nZXQoJGNsci10ZWFsLWxpc3QsIFwiNjAwXCIpO1xuJGNsci10ZWFsLTcwMDogIG1hcC1nZXQoJGNsci10ZWFsLWxpc3QsIFwiNzAwXCIpO1xuJGNsci10ZWFsLTgwMDogIG1hcC1nZXQoJGNsci10ZWFsLWxpc3QsIFwiODAwXCIpO1xuJGNsci10ZWFsLTkwMDogIG1hcC1nZXQoJGNsci10ZWFsLWxpc3QsIFwiOTAwXCIpO1xuJGNsci10ZWFsLWExMDA6IG1hcC1nZXQoJGNsci10ZWFsLWxpc3QsIFwiYTEwMFwiKTtcbiRjbHItdGVhbC1hMjAwOiBtYXAtZ2V0KCRjbHItdGVhbC1saXN0LCBcImEyMDBcIik7XG4kY2xyLXRlYWwtYTQwMDogbWFwLWdldCgkY2xyLXRlYWwtbGlzdCwgXCJhNDAwXCIpO1xuJGNsci10ZWFsLWE3MDA6IG1hcC1nZXQoJGNsci10ZWFsLWxpc3QsIFwiYTcwMFwiKTtcblxuXG4vL1xuLy8gR3JlZW5cbi8vXG5cbiRjbHItZ3JlZW4tbGlzdDogKFxuICBcImJhc2VcIjogIzRjYWY1MCxcbiAgXCI1MFwiOiAgICNlOGY1ZTksXG4gIFwiMTAwXCI6ICAjYzhlNmM5LFxuICBcIjIwMFwiOiAgI2E1ZDZhNyxcbiAgXCIzMDBcIjogICM4MWM3ODQsXG4gIFwiNDAwXCI6ICAjNjZiYjZhLFxuICBcIjUwMFwiOiAgIzRjYWY1MCxcbiAgXCI2MDBcIjogICM0M2EwNDcsXG4gIFwiNzAwXCI6ICAjMzg4ZTNjLFxuICBcIjgwMFwiOiAgIzJlN2QzMixcbiAgXCI5MDBcIjogICMxYjVlMjAsXG4gIFwiYTEwMFwiOiAjYjlmNmNhLFxuICBcImEyMDBcIjogIzY5ZjBhZSxcbiAgXCJhNDAwXCI6ICMwMGU2NzYsXG4gIFwiYTcwMFwiOiAjMDBjODUzXG4pO1xuXG4kY2xyLWdyZWVuOiAgICAgIG1hcC1nZXQoJGNsci1ncmVlbi1saXN0LCBcImJhc2VcIik7XG5cbiRjbHItZ3JlZW4tNTA6ICAgbWFwLWdldCgkY2xyLWdyZWVuLWxpc3QsIFwiNTBcIik7XG4kY2xyLWdyZWVuLTEwMDogIG1hcC1nZXQoJGNsci1ncmVlbi1saXN0LCBcIjEwMFwiKTtcbiRjbHItZ3JlZW4tMjAwOiAgbWFwLWdldCgkY2xyLWdyZWVuLWxpc3QsIFwiMjAwXCIpO1xuJGNsci1ncmVlbi0zMDA6ICBtYXAtZ2V0KCRjbHItZ3JlZW4tbGlzdCwgXCIzMDBcIik7XG4kY2xyLWdyZWVuLTQwMDogIG1hcC1nZXQoJGNsci1ncmVlbi1saXN0LCBcIjQwMFwiKTtcbiRjbHItZ3JlZW4tNTAwOiAgbWFwLWdldCgkY2xyLWdyZWVuLWxpc3QsIFwiNTAwXCIpO1xuJGNsci1ncmVlbi02MDA6ICBtYXAtZ2V0KCRjbHItZ3JlZW4tbGlzdCwgXCI2MDBcIik7XG4kY2xyLWdyZWVuLTcwMDogIG1hcC1nZXQoJGNsci1ncmVlbi1saXN0LCBcIjcwMFwiKTtcbiRjbHItZ3JlZW4tODAwOiAgbWFwLWdldCgkY2xyLWdyZWVuLWxpc3QsIFwiODAwXCIpO1xuJGNsci1ncmVlbi05MDA6ICBtYXAtZ2V0KCRjbHItZ3JlZW4tbGlzdCwgXCI5MDBcIik7XG4kY2xyLWdyZWVuLWExMDA6IG1hcC1nZXQoJGNsci1ncmVlbi1saXN0LCBcImExMDBcIik7XG4kY2xyLWdyZWVuLWEyMDA6IG1hcC1nZXQoJGNsci1ncmVlbi1saXN0LCBcImEyMDBcIik7XG4kY2xyLWdyZWVuLWE0MDA6IG1hcC1nZXQoJGNsci1ncmVlbi1saXN0LCBcImE0MDBcIik7XG4kY2xyLWdyZWVuLWE3MDA6IG1hcC1nZXQoJGNsci1ncmVlbi1saXN0LCBcImE3MDBcIik7XG5cblxuLy9cbi8vIExpZ2h0IGdyZWVuXG4vL1xuXG4kY2xyLWxpZ2h0LWdyZWVuLWxpc3Q6IChcbiAgXCJiYXNlXCI6ICM4YmMzNGEsXG4gIFwiNTBcIjogICAjZjFmOGU5LFxuICBcIjEwMFwiOiAgI2RjZWRjOCxcbiAgXCIyMDBcIjogICNjNWUxYTUsXG4gIFwiMzAwXCI6ICAjYWVkNTgxLFxuICBcIjQwMFwiOiAgIzljY2M2NSxcbiAgXCI1MDBcIjogICM4YmMzNGEsXG4gIFwiNjAwXCI6ICAjN2NiMzQyLFxuICBcIjcwMFwiOiAgIzY4OWYzOCxcbiAgXCI4MDBcIjogICM1NThiMmYsXG4gIFwiOTAwXCI6ICAjMzM2OTFlLFxuICBcImExMDBcIjogI2NjZmY5MCxcbiAgXCJhMjAwXCI6ICNiMmZmNTksXG4gIFwiYTQwMFwiOiAjNzZmZjAzLFxuICBcImE3MDBcIjogIzY0ZGQxN1xuKTtcblxuJGNsci1saWdodC1ncmVlbjogICAgICBtYXAtZ2V0KCRjbHItbGlnaHQtZ3JlZW4tbGlzdCwgXCJiYXNlXCIpO1xuXG4kY2xyLWxpZ2h0LWdyZWVuLTUwOiAgIG1hcC1nZXQoJGNsci1saWdodC1ncmVlbi1saXN0LCBcIjUwXCIpO1xuJGNsci1saWdodC1ncmVlbi0xMDA6ICBtYXAtZ2V0KCRjbHItbGlnaHQtZ3JlZW4tbGlzdCwgXCIxMDBcIik7XG4kY2xyLWxpZ2h0LWdyZWVuLTIwMDogIG1hcC1nZXQoJGNsci1saWdodC1ncmVlbi1saXN0LCBcIjIwMFwiKTtcbiRjbHItbGlnaHQtZ3JlZW4tMzAwOiAgbWFwLWdldCgkY2xyLWxpZ2h0LWdyZWVuLWxpc3QsIFwiMzAwXCIpO1xuJGNsci1saWdodC1ncmVlbi00MDA6ICBtYXAtZ2V0KCRjbHItbGlnaHQtZ3JlZW4tbGlzdCwgXCI0MDBcIik7XG4kY2xyLWxpZ2h0LWdyZWVuLTUwMDogIG1hcC1nZXQoJGNsci1saWdodC1ncmVlbi1saXN0LCBcIjUwMFwiKTtcbiRjbHItbGlnaHQtZ3JlZW4tNjAwOiAgbWFwLWdldCgkY2xyLWxpZ2h0LWdyZWVuLWxpc3QsIFwiNjAwXCIpO1xuJGNsci1saWdodC1ncmVlbi03MDA6ICBtYXAtZ2V0KCRjbHItbGlnaHQtZ3JlZW4tbGlzdCwgXCI3MDBcIik7XG4kY2xyLWxpZ2h0LWdyZWVuLTgwMDogIG1hcC1nZXQoJGNsci1saWdodC1ncmVlbi1saXN0LCBcIjgwMFwiKTtcbiRjbHItbGlnaHQtZ3JlZW4tOTAwOiAgbWFwLWdldCgkY2xyLWxpZ2h0LWdyZWVuLWxpc3QsIFwiOTAwXCIpO1xuJGNsci1saWdodC1ncmVlbi1hMTAwOiBtYXAtZ2V0KCRjbHItbGlnaHQtZ3JlZW4tbGlzdCwgXCJhMTAwXCIpO1xuJGNsci1saWdodC1ncmVlbi1hMjAwOiBtYXAtZ2V0KCRjbHItbGlnaHQtZ3JlZW4tbGlzdCwgXCJhMjAwXCIpO1xuJGNsci1saWdodC1ncmVlbi1hNDAwOiBtYXAtZ2V0KCRjbHItbGlnaHQtZ3JlZW4tbGlzdCwgXCJhNDAwXCIpO1xuJGNsci1saWdodC1ncmVlbi1hNzAwOiBtYXAtZ2V0KCRjbHItbGlnaHQtZ3JlZW4tbGlzdCwgXCJhNzAwXCIpO1xuXG5cbi8vXG4vLyBMaW1lXG4vL1xuXG4kY2xyLWxpbWUtbGlzdDogKFxuICBcImJhc2VcIjogI2NkZGMzOSxcbiAgXCI1MFwiOiAgICNmOWZiZTcsXG4gIFwiMTAwXCI6ICAjZjBmNGMzLFxuICBcIjIwMFwiOiAgI2U2ZWU5YyxcbiAgXCIzMDBcIjogICNkY2U3NzUsXG4gIFwiNDAwXCI6ICAjZDRlMTU3LFxuICBcIjUwMFwiOiAgI2NkZGMzOSxcbiAgXCI2MDBcIjogICNjMGNhMzMsXG4gIFwiNzAwXCI6ICAjYWZiNDJiLFxuICBcIjgwMFwiOiAgIzllOWQyNCxcbiAgXCI5MDBcIjogICM4Mjc3MTcsXG4gIFwiYTEwMFwiOiAjZjRmZjgxLFxuICBcImEyMDBcIjogI2VlZmY0MSxcbiAgXCJhNDAwXCI6ICNjNmZmMDAsXG4gIFwiYTcwMFwiOiAjYWVlYTAwXG4pO1xuXG4kY2xyLWxpbWU6ICAgICAgbWFwLWdldCgkY2xyLWxpbWUtbGlzdCwgXCJiYXNlXCIpO1xuXG4kY2xyLWxpbWUtNTA6ICAgbWFwLWdldCgkY2xyLWxpbWUtbGlzdCwgXCI1MFwiKTtcbiRjbHItbGltZS0xMDA6ICBtYXAtZ2V0KCRjbHItbGltZS1saXN0LCBcIjEwMFwiKTtcbiRjbHItbGltZS0yMDA6ICBtYXAtZ2V0KCRjbHItbGltZS1saXN0LCBcIjIwMFwiKTtcbiRjbHItbGltZS0zMDA6ICBtYXAtZ2V0KCRjbHItbGltZS1saXN0LCBcIjMwMFwiKTtcbiRjbHItbGltZS00MDA6ICBtYXAtZ2V0KCRjbHItbGltZS1saXN0LCBcIjQwMFwiKTtcbiRjbHItbGltZS01MDA6ICBtYXAtZ2V0KCRjbHItbGltZS1saXN0LCBcIjUwMFwiKTtcbiRjbHItbGltZS02MDA6ICBtYXAtZ2V0KCRjbHItbGltZS1saXN0LCBcIjYwMFwiKTtcbiRjbHItbGltZS03MDA6ICBtYXAtZ2V0KCRjbHItbGltZS1saXN0LCBcIjcwMFwiKTtcbiRjbHItbGltZS04MDA6ICBtYXAtZ2V0KCRjbHItbGltZS1saXN0LCBcIjgwMFwiKTtcbiRjbHItbGltZS05MDA6ICBtYXAtZ2V0KCRjbHItbGltZS1saXN0LCBcIjkwMFwiKTtcbiRjbHItbGltZS1hMTAwOiBtYXAtZ2V0KCRjbHItbGltZS1saXN0LCBcImExMDBcIik7XG4kY2xyLWxpbWUtYTIwMDogbWFwLWdldCgkY2xyLWxpbWUtbGlzdCwgXCJhMjAwXCIpO1xuJGNsci1saW1lLWE0MDA6IG1hcC1nZXQoJGNsci1saW1lLWxpc3QsIFwiYTQwMFwiKTtcbiRjbHItbGltZS1hNzAwOiBtYXAtZ2V0KCRjbHItbGltZS1saXN0LCBcImE3MDBcIik7XG5cblxuLy9cbi8vIFllbGxvd1xuLy9cblxuJGNsci15ZWxsb3ctbGlzdDogKFxuICBcImJhc2VcIjogI2ZmZWIzYixcbiAgXCI1MFwiOiAgICNmZmZkZTcsXG4gIFwiMTAwXCI6ICAjZmZmOWM0LFxuICBcIjIwMFwiOiAgI2ZmZjU5ZCxcbiAgXCIzMDBcIjogICNmZmYxNzYsXG4gIFwiNDAwXCI6ICAjZmZlZTU4LFxuICBcIjUwMFwiOiAgI2ZmZWIzYixcbiAgXCI2MDBcIjogICNmZGQ4MzUsXG4gIFwiNzAwXCI6ICAjZmJjMDJkLFxuICBcIjgwMFwiOiAgI2Y5YTgyNSxcbiAgXCI5MDBcIjogICNmNTdmMTcsXG4gIFwiYTEwMFwiOiAjZmZmZjhkLFxuICBcImEyMDBcIjogI2ZmZmYwMCxcbiAgXCJhNDAwXCI6ICNmZmVhMDAsXG4gIFwiYTcwMFwiOiAjZmZkNjAwXG4pO1xuXG4kY2xyLXllbGxvdzogICAgICBtYXAtZ2V0KCRjbHIteWVsbG93LWxpc3QsIFwiYmFzZVwiKTtcblxuJGNsci15ZWxsb3ctNTA6ICAgbWFwLWdldCgkY2xyLXllbGxvdy1saXN0LCBcIjUwXCIpO1xuJGNsci15ZWxsb3ctMTAwOiAgbWFwLWdldCgkY2xyLXllbGxvdy1saXN0LCBcIjEwMFwiKTtcbiRjbHIteWVsbG93LTIwMDogIG1hcC1nZXQoJGNsci15ZWxsb3ctbGlzdCwgXCIyMDBcIik7XG4kY2xyLXllbGxvdy0zMDA6ICBtYXAtZ2V0KCRjbHIteWVsbG93LWxpc3QsIFwiMzAwXCIpO1xuJGNsci15ZWxsb3ctNDAwOiAgbWFwLWdldCgkY2xyLXllbGxvdy1saXN0LCBcIjQwMFwiKTtcbiRjbHIteWVsbG93LTUwMDogIG1hcC1nZXQoJGNsci15ZWxsb3ctbGlzdCwgXCI1MDBcIik7XG4kY2xyLXllbGxvdy02MDA6ICBtYXAtZ2V0KCRjbHIteWVsbG93LWxpc3QsIFwiNjAwXCIpO1xuJGNsci15ZWxsb3ctNzAwOiAgbWFwLWdldCgkY2xyLXllbGxvdy1saXN0LCBcIjcwMFwiKTtcbiRjbHIteWVsbG93LTgwMDogIG1hcC1nZXQoJGNsci15ZWxsb3ctbGlzdCwgXCI4MDBcIik7XG4kY2xyLXllbGxvdy05MDA6ICBtYXAtZ2V0KCRjbHIteWVsbG93LWxpc3QsIFwiOTAwXCIpO1xuJGNsci15ZWxsb3ctYTEwMDogbWFwLWdldCgkY2xyLXllbGxvdy1saXN0LCBcImExMDBcIik7XG4kY2xyLXllbGxvdy1hMjAwOiBtYXAtZ2V0KCRjbHIteWVsbG93LWxpc3QsIFwiYTIwMFwiKTtcbiRjbHIteWVsbG93LWE0MDA6IG1hcC1nZXQoJGNsci15ZWxsb3ctbGlzdCwgXCJhNDAwXCIpO1xuJGNsci15ZWxsb3ctYTcwMDogbWFwLWdldCgkY2xyLXllbGxvdy1saXN0LCBcImE3MDBcIik7XG5cblxuLy9cbi8vIGFtYmVyXG4vL1xuXG4kY2xyLWFtYmVyLWxpc3Q6IChcbiAgXCJiYXNlXCI6ICNmZmMxMDcsXG4gIFwiNTBcIjogICAjZmZmOGUxLFxuICBcIjEwMFwiOiAgI2ZmZWNiMyxcbiAgXCIyMDBcIjogICNmZmUwODIsXG4gIFwiMzAwXCI6ICAjZmZkNTRmLFxuICBcIjQwMFwiOiAgI2ZmY2EyOCxcbiAgXCI1MDBcIjogICNmZmMxMDcsXG4gIFwiNjAwXCI6ICAjZmZiMzAwLFxuICBcIjcwMFwiOiAgI2ZmYTAwMCxcbiAgXCI4MDBcIjogICNmZjhmMDAsXG4gIFwiOTAwXCI6ICAjZmY2ZjAwLFxuICBcImExMDBcIjogI2ZmZTU3ZixcbiAgXCJhMjAwXCI6ICNmZmQ3NDAsXG4gIFwiYTQwMFwiOiAjZmZjNDAwLFxuICBcImE3MDBcIjogI2ZmYWIwMFxuKTtcblxuJGNsci1hbWJlcjogICAgICBtYXAtZ2V0KCRjbHItYW1iZXItbGlzdCwgXCJiYXNlXCIpO1xuXG4kY2xyLWFtYmVyLTUwOiAgIG1hcC1nZXQoJGNsci1hbWJlci1saXN0LCBcIjUwXCIpO1xuJGNsci1hbWJlci0xMDA6ICBtYXAtZ2V0KCRjbHItYW1iZXItbGlzdCwgXCIxMDBcIik7XG4kY2xyLWFtYmVyLTIwMDogIG1hcC1nZXQoJGNsci1hbWJlci1saXN0LCBcIjIwMFwiKTtcbiRjbHItYW1iZXItMzAwOiAgbWFwLWdldCgkY2xyLWFtYmVyLWxpc3QsIFwiMzAwXCIpO1xuJGNsci1hbWJlci00MDA6ICBtYXAtZ2V0KCRjbHItYW1iZXItbGlzdCwgXCI0MDBcIik7XG4kY2xyLWFtYmVyLTUwMDogIG1hcC1nZXQoJGNsci1hbWJlci1saXN0LCBcIjUwMFwiKTtcbiRjbHItYW1iZXItNjAwOiAgbWFwLWdldCgkY2xyLWFtYmVyLWxpc3QsIFwiNjAwXCIpO1xuJGNsci1hbWJlci03MDA6ICBtYXAtZ2V0KCRjbHItYW1iZXItbGlzdCwgXCI3MDBcIik7XG4kY2xyLWFtYmVyLTgwMDogIG1hcC1nZXQoJGNsci1hbWJlci1saXN0LCBcIjgwMFwiKTtcbiRjbHItYW1iZXItOTAwOiAgbWFwLWdldCgkY2xyLWFtYmVyLWxpc3QsIFwiOTAwXCIpO1xuJGNsci1hbWJlci1hMTAwOiBtYXAtZ2V0KCRjbHItYW1iZXItbGlzdCwgXCJhMTAwXCIpO1xuJGNsci1hbWJlci1hMjAwOiBtYXAtZ2V0KCRjbHItYW1iZXItbGlzdCwgXCJhMjAwXCIpO1xuJGNsci1hbWJlci1hNDAwOiBtYXAtZ2V0KCRjbHItYW1iZXItbGlzdCwgXCJhNDAwXCIpO1xuJGNsci1hbWJlci1hNzAwOiBtYXAtZ2V0KCRjbHItYW1iZXItbGlzdCwgXCJhNzAwXCIpO1xuXG5cbi8vXG4vLyBPcmFuZ2Vcbi8vXG5cbiRjbHItb3JhbmdlLWxpc3Q6IChcbiAgXCJiYXNlXCI6ICNmZjk4MDAsXG4gIFwiNTBcIjogICAjZmZmM2UwLFxuICBcIjEwMFwiOiAgI2ZmZTBiMixcbiAgXCIyMDBcIjogICNmZmNjODAsXG4gIFwiMzAwXCI6ICAjZmZiNzRkLFxuICBcIjQwMFwiOiAgI2ZmYTcyNixcbiAgXCI1MDBcIjogICNmZjk4MDAsXG4gIFwiNjAwXCI6ICAjZmI4YzAwLFxuICBcIjcwMFwiOiAgI2Y1N2MwMCxcbiAgXCI4MDBcIjogICNlZjZjMDAsXG4gIFwiOTAwXCI6ICAjZTY1MTAwLFxuICBcImExMDBcIjogI2ZmZDE4MCxcbiAgXCJhMjAwXCI6ICNmZmFiNDAsXG4gIFwiYTQwMFwiOiAjZmY5MTAwLFxuICBcImE3MDBcIjogI2ZmNmQwMFxuKTtcblxuJGNsci1vcmFuZ2U6ICAgICAgbWFwLWdldCgkY2xyLW9yYW5nZS1saXN0LCBcImJhc2VcIik7XG5cbiRjbHItb3JhbmdlLTUwOiAgIG1hcC1nZXQoJGNsci1vcmFuZ2UtbGlzdCwgXCI1MFwiKTtcbiRjbHItb3JhbmdlLTEwMDogIG1hcC1nZXQoJGNsci1vcmFuZ2UtbGlzdCwgXCIxMDBcIik7XG4kY2xyLW9yYW5nZS0yMDA6ICBtYXAtZ2V0KCRjbHItb3JhbmdlLWxpc3QsIFwiMjAwXCIpO1xuJGNsci1vcmFuZ2UtMzAwOiAgbWFwLWdldCgkY2xyLW9yYW5nZS1saXN0LCBcIjMwMFwiKTtcbiRjbHItb3JhbmdlLTQwMDogIG1hcC1nZXQoJGNsci1vcmFuZ2UtbGlzdCwgXCI0MDBcIik7XG4kY2xyLW9yYW5nZS01MDA6ICBtYXAtZ2V0KCRjbHItb3JhbmdlLWxpc3QsIFwiNTAwXCIpO1xuJGNsci1vcmFuZ2UtNjAwOiAgbWFwLWdldCgkY2xyLW9yYW5nZS1saXN0LCBcIjYwMFwiKTtcbiRjbHItb3JhbmdlLTcwMDogIG1hcC1nZXQoJGNsci1vcmFuZ2UtbGlzdCwgXCI3MDBcIik7XG4kY2xyLW9yYW5nZS04MDA6ICBtYXAtZ2V0KCRjbHItb3JhbmdlLWxpc3QsIFwiODAwXCIpO1xuJGNsci1vcmFuZ2UtOTAwOiAgbWFwLWdldCgkY2xyLW9yYW5nZS1saXN0LCBcIjkwMFwiKTtcbiRjbHItb3JhbmdlLWExMDA6IG1hcC1nZXQoJGNsci1vcmFuZ2UtbGlzdCwgXCJhMTAwXCIpO1xuJGNsci1vcmFuZ2UtYTIwMDogbWFwLWdldCgkY2xyLW9yYW5nZS1saXN0LCBcImEyMDBcIik7XG4kY2xyLW9yYW5nZS1hNDAwOiBtYXAtZ2V0KCRjbHItb3JhbmdlLWxpc3QsIFwiYTQwMFwiKTtcbiRjbHItb3JhbmdlLWE3MDA6IG1hcC1nZXQoJGNsci1vcmFuZ2UtbGlzdCwgXCJhNzAwXCIpO1xuXG5cbi8vXG4vLyBEZWVwIG9yYW5nZVxuLy9cblxuJGNsci1kZWVwLW9yYW5nZS1saXN0OiAoXG4gIFwiYmFzZVwiOiAjZmY1NzIyLFxuICBcIjUwXCI6ICAgI2ZiZTllNyxcbiAgXCIxMDBcIjogICNmZmNjYmMsXG4gIFwiMjAwXCI6ICAjZmZhYjkxLFxuICBcIjMwMFwiOiAgI2ZmOGE2NSxcbiAgXCI0MDBcIjogICNmZjcwNDMsXG4gIFwiNTAwXCI6ICAjZmY1NzIyLFxuICBcIjYwMFwiOiAgI2Y0NTExZSxcbiAgXCI3MDBcIjogICNlNjRhMTksXG4gIFwiODAwXCI6ICAjZDg0MzE1LFxuICBcIjkwMFwiOiAgI2JmMzYwYyxcbiAgXCJhMTAwXCI6ICNmZjllODAsXG4gIFwiYTIwMFwiOiAjZmY2ZTQwLFxuICBcImE0MDBcIjogI2ZmM2QwMCxcbiAgXCJhNzAwXCI6ICNkZDJjMDBcbik7XG5cbiRjbHItZGVlcC1vcmFuZ2U6ICAgICAgbWFwLWdldCgkY2xyLWRlZXAtb3JhbmdlLWxpc3QsIFwiYmFzZVwiKTtcblxuJGNsci1kZWVwLW9yYW5nZS01MDogICBtYXAtZ2V0KCRjbHItZGVlcC1vcmFuZ2UtbGlzdCwgXCI1MFwiKTtcbiRjbHItZGVlcC1vcmFuZ2UtMTAwOiAgbWFwLWdldCgkY2xyLWRlZXAtb3JhbmdlLWxpc3QsIFwiMTAwXCIpO1xuJGNsci1kZWVwLW9yYW5nZS0yMDA6ICBtYXAtZ2V0KCRjbHItZGVlcC1vcmFuZ2UtbGlzdCwgXCIyMDBcIik7XG4kY2xyLWRlZXAtb3JhbmdlLTMwMDogIG1hcC1nZXQoJGNsci1kZWVwLW9yYW5nZS1saXN0LCBcIjMwMFwiKTtcbiRjbHItZGVlcC1vcmFuZ2UtNDAwOiAgbWFwLWdldCgkY2xyLWRlZXAtb3JhbmdlLWxpc3QsIFwiNDAwXCIpO1xuJGNsci1kZWVwLW9yYW5nZS01MDA6ICBtYXAtZ2V0KCRjbHItZGVlcC1vcmFuZ2UtbGlzdCwgXCI1MDBcIik7XG4kY2xyLWRlZXAtb3JhbmdlLTYwMDogIG1hcC1nZXQoJGNsci1kZWVwLW9yYW5nZS1saXN0LCBcIjYwMFwiKTtcbiRjbHItZGVlcC1vcmFuZ2UtNzAwOiAgbWFwLWdldCgkY2xyLWRlZXAtb3JhbmdlLWxpc3QsIFwiNzAwXCIpO1xuJGNsci1kZWVwLW9yYW5nZS04MDA6ICBtYXAtZ2V0KCRjbHItZGVlcC1vcmFuZ2UtbGlzdCwgXCI4MDBcIik7XG4kY2xyLWRlZXAtb3JhbmdlLTkwMDogIG1hcC1nZXQoJGNsci1kZWVwLW9yYW5nZS1saXN0LCBcIjkwMFwiKTtcbiRjbHItZGVlcC1vcmFuZ2UtYTEwMDogbWFwLWdldCgkY2xyLWRlZXAtb3JhbmdlLWxpc3QsIFwiYTEwMFwiKTtcbiRjbHItZGVlcC1vcmFuZ2UtYTIwMDogbWFwLWdldCgkY2xyLWRlZXAtb3JhbmdlLWxpc3QsIFwiYTIwMFwiKTtcbiRjbHItZGVlcC1vcmFuZ2UtYTQwMDogbWFwLWdldCgkY2xyLWRlZXAtb3JhbmdlLWxpc3QsIFwiYTQwMFwiKTtcbiRjbHItZGVlcC1vcmFuZ2UtYTcwMDogbWFwLWdldCgkY2xyLWRlZXAtb3JhbmdlLWxpc3QsIFwiYTcwMFwiKTtcblxuXG4vL1xuLy8gQnJvd25cbi8vXG5cbiRjbHItYnJvd24tbGlzdDogKFxuICBcImJhc2VcIjogIzc5NTU0OCxcbiAgXCI1MFwiOiAgICNlZmViZTksXG4gIFwiMTAwXCI6ICAjZDdjY2M4LFxuICBcIjIwMFwiOiAgI2JjYWFhNCxcbiAgXCIzMDBcIjogICNhMTg4N2YsXG4gIFwiNDAwXCI6ICAjOGQ2ZTYzLFxuICBcIjUwMFwiOiAgIzc5NTU0OCxcbiAgXCI2MDBcIjogICM2ZDRjNDEsXG4gIFwiNzAwXCI6ICAjNWQ0MDM3LFxuICBcIjgwMFwiOiAgIzRlMzQyZSxcbiAgXCI5MDBcIjogICMzZTI3MjMsXG4pO1xuXG4kY2xyLWJyb3duOiAgICAgbWFwLWdldCgkY2xyLWJyb3duLWxpc3QsIFwiYmFzZVwiKTtcblxuJGNsci1icm93bi01MDogIG1hcC1nZXQoJGNsci1icm93bi1saXN0LCBcIjUwXCIpO1xuJGNsci1icm93bi0xMDA6IG1hcC1nZXQoJGNsci1icm93bi1saXN0LCBcIjEwMFwiKTtcbiRjbHItYnJvd24tMjAwOiBtYXAtZ2V0KCRjbHItYnJvd24tbGlzdCwgXCIyMDBcIik7XG4kY2xyLWJyb3duLTMwMDogbWFwLWdldCgkY2xyLWJyb3duLWxpc3QsIFwiMzAwXCIpO1xuJGNsci1icm93bi00MDA6IG1hcC1nZXQoJGNsci1icm93bi1saXN0LCBcIjQwMFwiKTtcbiRjbHItYnJvd24tNTAwOiBtYXAtZ2V0KCRjbHItYnJvd24tbGlzdCwgXCI1MDBcIik7XG4kY2xyLWJyb3duLTYwMDogbWFwLWdldCgkY2xyLWJyb3duLWxpc3QsIFwiNjAwXCIpO1xuJGNsci1icm93bi03MDA6IG1hcC1nZXQoJGNsci1icm93bi1saXN0LCBcIjcwMFwiKTtcbiRjbHItYnJvd24tODAwOiBtYXAtZ2V0KCRjbHItYnJvd24tbGlzdCwgXCI4MDBcIik7XG4kY2xyLWJyb3duLTkwMDogbWFwLWdldCgkY2xyLWJyb3duLWxpc3QsIFwiOTAwXCIpO1xuXG5cbi8vXG4vLyBHcmV5XG4vL1xuXG4kY2xyLWdyZXktbGlzdDogKFxuICBcImJhc2VcIjogIzllOWU5ZSxcbiAgXCI1MFwiOiAgICNmYWZhZmEsXG4gIFwiMTAwXCI6ICAjZjVmNWY1LFxuICBcIjIwMFwiOiAgI2VlZWVlZSxcbiAgXCIzMDBcIjogICNlMGUwZTAsXG4gIFwiNDAwXCI6ICAjYmRiZGJkLFxuICBcIjUwMFwiOiAgIzllOWU5ZSxcbiAgXCI2MDBcIjogICM3NTc1NzUsXG4gIFwiNzAwXCI6ICAjNjE2MTYxLFxuICBcIjgwMFwiOiAgIzQyNDI0MixcbiAgXCI5MDBcIjogICMyMTIxMjEsXG4pO1xuXG4kY2xyLWdyZXk6ICAgICBtYXAtZ2V0KCRjbHItZ3JleS1saXN0LCBcImJhc2VcIik7XG5cbiRjbHItZ3JleS01MDogIG1hcC1nZXQoJGNsci1ncmV5LWxpc3QsIFwiNTBcIik7XG4kY2xyLWdyZXktMTAwOiBtYXAtZ2V0KCRjbHItZ3JleS1saXN0LCBcIjEwMFwiKTtcbiRjbHItZ3JleS0yMDA6IG1hcC1nZXQoJGNsci1ncmV5LWxpc3QsIFwiMjAwXCIpO1xuJGNsci1ncmV5LTMwMDogbWFwLWdldCgkY2xyLWdyZXktbGlzdCwgXCIzMDBcIik7XG4kY2xyLWdyZXktNDAwOiBtYXAtZ2V0KCRjbHItZ3JleS1saXN0LCBcIjQwMFwiKTtcbiRjbHItZ3JleS01MDA6IG1hcC1nZXQoJGNsci1ncmV5LWxpc3QsIFwiNTAwXCIpO1xuJGNsci1ncmV5LTYwMDogbWFwLWdldCgkY2xyLWdyZXktbGlzdCwgXCI2MDBcIik7XG4kY2xyLWdyZXktNzAwOiBtYXAtZ2V0KCRjbHItZ3JleS1saXN0LCBcIjcwMFwiKTtcbiRjbHItZ3JleS04MDA6IG1hcC1nZXQoJGNsci1ncmV5LWxpc3QsIFwiODAwXCIpO1xuJGNsci1ncmV5LTkwMDogbWFwLWdldCgkY2xyLWdyZXktbGlzdCwgXCI5MDBcIik7XG5cblxuLy9cbi8vIEJsdWUgZ3JleVxuLy9cblxuJGNsci1ibHVlLWdyZXktbGlzdDogKFxuICBcImJhc2VcIjogIzYwN2Q4YixcbiAgXCI1MFwiOiAgICNlY2VmZjEsXG4gIFwiMTAwXCI6ICAjY2ZkOGRjLFxuICBcIjIwMFwiOiAgI2IwYmVjNSxcbiAgXCIzMDBcIjogICM5MGE0YWUsXG4gIFwiNDAwXCI6ICAjNzg5MDljLFxuICBcIjUwMFwiOiAgIzYwN2Q4YixcbiAgXCI2MDBcIjogICM1NDZlN2EsXG4gIFwiNzAwXCI6ICAjNDU1YTY0LFxuICBcIjgwMFwiOiAgIzM3NDc0ZixcbiAgXCI5MDBcIjogICMyNjMyMzgsXG4pO1xuXG4kY2xyLWJsdWUtZ3JleTogICAgIG1hcC1nZXQoJGNsci1ibHVlLWdyZXktbGlzdCwgXCJiYXNlXCIpO1xuXG4kY2xyLWJsdWUtZ3JleS01MDogIG1hcC1nZXQoJGNsci1ibHVlLWdyZXktbGlzdCwgXCI1MFwiKTtcbiRjbHItYmx1ZS1ncmV5LTEwMDogbWFwLWdldCgkY2xyLWJsdWUtZ3JleS1saXN0LCBcIjEwMFwiKTtcbiRjbHItYmx1ZS1ncmV5LTIwMDogbWFwLWdldCgkY2xyLWJsdWUtZ3JleS1saXN0LCBcIjIwMFwiKTtcbiRjbHItYmx1ZS1ncmV5LTMwMDogbWFwLWdldCgkY2xyLWJsdWUtZ3JleS1saXN0LCBcIjMwMFwiKTtcbiRjbHItYmx1ZS1ncmV5LTQwMDogbWFwLWdldCgkY2xyLWJsdWUtZ3JleS1saXN0LCBcIjQwMFwiKTtcbiRjbHItYmx1ZS1ncmV5LTUwMDogbWFwLWdldCgkY2xyLWJsdWUtZ3JleS1saXN0LCBcIjUwMFwiKTtcbiRjbHItYmx1ZS1ncmV5LTYwMDogbWFwLWdldCgkY2xyLWJsdWUtZ3JleS1saXN0LCBcIjYwMFwiKTtcbiRjbHItYmx1ZS1ncmV5LTcwMDogbWFwLWdldCgkY2xyLWJsdWUtZ3JleS1saXN0LCBcIjcwMFwiKTtcbiRjbHItYmx1ZS1ncmV5LTgwMDogbWFwLWdldCgkY2xyLWJsdWUtZ3JleS1saXN0LCBcIjgwMFwiKTtcbiRjbHItYmx1ZS1ncmV5LTkwMDogbWFwLWdldCgkY2xyLWJsdWUtZ3JleS1saXN0LCBcIjkwMFwiKTtcblxuXG4vL1xuLy8gQmxhY2tcbi8vXG5cbiRjbHItYmxhY2stbGlzdDogKFxuICBcImJhc2VcIjogIzAwMFxuKTtcblxuJGNsci1ibGFjazogbWFwLWdldCgkY2xyLWJsYWNrLWxpc3QsIFwiYmFzZVwiKTtcblxuXG4vL1xuLy8gV2hpdGVcbi8vXG5cbiRjbHItd2hpdGUtbGlzdDogKFxuICBcImJhc2VcIjogI2ZmZlxuKTtcblxuJGNsci13aGl0ZTogbWFwLWdldCgkY2xyLXdoaXRlLWxpc3QsIFwiYmFzZVwiKTtcblxuXG4vL1xuLy8gTGlzdCBmb3IgYWxsIENvbG9ycyBmb3IgbG9vcGluZ1xuLy9cblxuJGNsci1saXN0LWFsbDogKFxuICBcInJlZFwiOiAgICAgICAgICRjbHItcmVkLWxpc3QsXG4gIFwicGlua1wiOiAgICAgICAgJGNsci1waW5rLWxpc3QsXG4gIFwicHVycGxlXCI6ICAgICAgJGNsci1wdXJwbGUtbGlzdCxcbiAgXCJkZWVwLXB1cnBsZVwiOiAkY2xyLWRlZXAtcHVycGxlLWxpc3QsXG4gIFwiaW5kaWdvXCI6ICAgICAgJGNsci1pbmRpZ28tbGlzdCxcbiAgXCJibHVlXCI6ICAgICAgICAkY2xyLWJsdWUtbGlzdCxcbiAgXCJsaWdodC1ibHVlXCI6ICAkY2xyLWxpZ2h0LWJsdWUtbGlzdCxcbiAgXCJjeWFuXCI6ICAgICAgICAkY2xyLWN5YW4tbGlzdCxcbiAgXCJ0ZWFsXCI6ICAgICAgICAkY2xyLXRlYWwtbGlzdCxcbiAgXCJncmVlblwiOiAgICAgICAkY2xyLWdyZWVuLWxpc3QsXG4gIFwibGlnaHQtZ3JlZW5cIjogJGNsci1saWdodC1ncmVlbi1saXN0LFxuICBcImxpbWVcIjogICAgICAgICRjbHItbGltZS1saXN0LFxuICBcInllbGxvd1wiOiAgICAgICRjbHIteWVsbG93LWxpc3QsXG4gIFwiYW1iZXJcIjogICAgICAgJGNsci1hbWJlci1saXN0LFxuICBcIm9yYW5nZVwiOiAgICAgICRjbHItb3JhbmdlLWxpc3QsXG4gIFwiZGVlcC1vcmFuZ2VcIjogJGNsci1kZWVwLW9yYW5nZS1saXN0LFxuICBcImJyb3duXCI6ICAgICAgICRjbHItYnJvd24tbGlzdCxcbiAgXCJncmV5XCI6ICAgICAgICAkY2xyLWdyZXktbGlzdCxcbiAgXCJibHVlLWdyZXlcIjogICAkY2xyLWJsdWUtZ3JleS1saXN0LFxuICBcImJsYWNrXCI6ICAgICAgICRjbHItYmxhY2stbGlzdCxcbiAgXCJ3aGl0ZVwiOiAgICAgICAkY2xyLXdoaXRlLWxpc3Rcbik7XG5cblxuLy9cbi8vIFR5cG9ncmFwaHlcbi8vXG5cbiRjbHItdWktZGlzcGxheS00OiAkY2xyLWdyZXktNjAwO1xuJGNsci11aS1kaXNwbGF5LTM6ICRjbHItZ3JleS02MDA7XG4kY2xyLXVpLWRpc3BsYXktMjogJGNsci1ncmV5LTYwMDtcbiRjbHItdWktZGlzcGxheS0xOiAkY2xyLWdyZXktNjAwO1xuJGNsci11aS1oZWFkbGluZTogICRjbHItZ3JleS05MDA7XG4kY2xyLXVpLXRpdGxlOiAgICAgJGNsci1ncmV5LTkwMDtcbiRjbHItdWktc3ViaGVhZC0xOiAkY2xyLWdyZXktOTAwO1xuJGNsci11aS1ib2R5LTI6ICAgICRjbHItZ3JleS05MDA7XG4kY2xyLXVpLWJvZHktMTogICAgJGNsci1ncmV5LTkwMDtcbiRjbHItdWktY2FwdGlvbjogICAkY2xyLWdyZXktNjAwO1xuJGNsci11aS1tZW51OiAgICAgICRjbHItZ3JleS05MDA7XG4kY2xyLXVpLWJ1dHRvbjogICAgJGNsci1ncmV5LTkwMDtcbiIsIi8vXG4vLyBOYW1lOiAgICAgICAgICAgTWF0ZXJpYWwgU2hhZG93c1xuLy8gRGVzY3JpcHRpb246ICAgIE1peGlucyBmb3IgTWF0ZXJpYWwgRGVzaWduIFNoYWRvd3MuXG4vLyBWZXJzaW9uOiAgICAgICAgMy4wLjFcbi8vXG4vLyBBdXRob3I6ICAgICAgICAgRGVuaXMgTWFsaW5vY2hraW5cbi8vIEdpdDogICAgICAgICAgICBodHRwczovL2dpdGh1Yi5jb20vbXJtbG5jL21hdGVyaWFsLXNoYWRvd3Ncbi8vXG4vLyB0d2l0dGVyOiAgICAgICAgQG1ybWxuY1xuLy9cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG5cbi8vIE1peGluc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbkBtaXhpbiB6LWRlcHRoLXRyYW5zaXRpb24oKSB7XG4gIHRyYW5zaXRpb246IGJveC1zaGFkb3cgLjI4cyBjdWJpYy1iZXppZXIoLjQsIDAsIC4yLCAxKTtcbn1cblxuQG1peGluIHotZGVwdGgtZm9jdXMoKSB7XG4gIGJveC1zaGFkb3c6IDAgMCA4cHggcmdiYSgwLCAwLCAwLCAuMTgpLCAwIDhweCAxNnB4IHJnYmEoMCwgMCwgMCwgLjM2KTtcbn1cblxuQG1peGluIHotZGVwdGgtMmRwKCkge1xuICBib3gtc2hhZG93OiAwIDJweCAycHggMCByZ2JhKDAsIDAsIDAsIC4xNCksXG4gICAgICAgICAgICAgIDAgMXB4IDVweCAwIHJnYmEoMCwgMCwgMCwgLjEyKSxcbiAgICAgICAgICAgICAgMCAzcHggMXB4IC0ycHggcmdiYSgwLCAwLCAwLCAuMik7XG59XG5cbkBtaXhpbiB6LWRlcHRoLTNkcCgpIHtcbiAgYm94LXNoYWRvdzogMCAzcHggNHB4IDAgcmdiYSgwLCAwLCAwLCAuMTQpLFxuICAgICAgICAgICAgICAwIDFweCA4cHggMCByZ2JhKDAsIDAsIDAsIC4xMiksXG4gICAgICAgICAgICAgIDAgM3B4IDNweCAtMnB4IHJnYmEoMCwgMCwgMCwgLjQpO1xufVxuXG5AbWl4aW4gei1kZXB0aC00ZHAoKSB7XG4gIGJveC1zaGFkb3c6IDAgNHB4IDVweCAwIHJnYmEoMCwgMCwgMCwgLjE0KSxcbiAgICAgICAgICAgICAgMCAxcHggMTBweCAwIHJnYmEoMCwgMCwgMCwgLjEyKSxcbiAgICAgICAgICAgICAgMCAycHggNHB4IC0xcHggcmdiYSgwLCAwLCAwLCAuNCk7XG59XG5cbkBtaXhpbiB6LWRlcHRoLTZkcCgpIHtcbiAgYm94LXNoYWRvdzogMCA2cHggMTBweCAwIHJnYmEoMCwgMCwgMCwgLjE0KSxcbiAgICAgICAgICAgICAgMCAxcHggMThweCAwIHJnYmEoMCwgMCwgMCwgLjEyKSxcbiAgICAgICAgICAgICAgMCAzcHggNXB4IC0xcHggcmdiYSgwLCAwLCAwLCAuNCk7XG59XG5cbkBtaXhpbiB6LWRlcHRoLThkcCgpIHtcbiAgYm94LXNoYWRvdzogMCA4cHggMTBweCAxcHggcmdiYSgwLCAwLCAwLCAuMTQpLFxuICAgICAgICAgICAgICAwIDNweCAxNHB4IDJweCByZ2JhKDAsIDAsIDAsIC4xMiksXG4gICAgICAgICAgICAgIDAgNXB4IDVweCAtM3B4IHJnYmEoMCwgMCwgMCwgLjQpO1xufVxuXG5AbWl4aW4gei1kZXB0aC0xNmRwKCkge1xuICBib3gtc2hhZG93OiAwIDE2cHggMjRweCAycHggcmdiYSgwLCAwLCAwLCAuMTQpLFxuICAgICAgICAgICAgICAwICA2cHggMzBweCA1cHggcmdiYSgwLCAwLCAwLCAuMTIpLFxuICAgICAgICAgICAgICAwICA4cHggMTBweCAtNXB4IHJnYmEoMCwgMCwgMCwgLjQpO1xufVxuXG5AbWl4aW4gei1kZXB0aC0yNGRwKCkge1xuICBib3gtc2hhZG93OiAwICA5cHggNDZweCAgOHB4IHJnYmEoMCwgMCwgMCwgLjE0KSxcbiAgICAgICAgICAgICAgMCAyNHB4IDM4cHggIDNweCByZ2JhKDAsIDAsIDAsIC4xMiksXG4gICAgICAgICAgICAgIDAgMTFweCAxNXB4IC03cHggcmdiYSgwLCAwLCAwLCAuNCk7XG59XG5cbkBtaXhpbiB6LWRlcHRoKCRkcDogMikge1xuICBAaWYgJGRwID09IDIge1xuICAgIEBpbmNsdWRlIHotZGVwdGgtMmRwKCk7XG4gIH0gQGVsc2UgaWYgJGRwID09IDMge1xuICAgIEBpbmNsdWRlIHotZGVwdGgtM2RwKCk7XG4gIH0gQGVsc2UgaWYgJGRwID09IDQge1xuICAgIEBpbmNsdWRlIHotZGVwdGgtNGRwKCk7XG4gIH0gQGVsc2UgaWYgJGRwID09IDYge1xuICAgIEBpbmNsdWRlIHotZGVwdGgtNmRwKCk7XG4gIH0gQGVsc2UgaWYgJGRwID09IDgge1xuICAgIEBpbmNsdWRlIHotZGVwdGgtOGRwKCk7XG4gIH0gQGVsc2UgaWYgJGRwID09IDE2IHtcbiAgICBAaW5jbHVkZSB6LWRlcHRoLTE2ZHAoKTtcbiAgfSBAZWxzZSBpZiAkZHAgPT0gMjQge1xuICAgIEBpbmNsdWRlIHotZGVwdGgtMjRkcCgpO1xuICB9XG59XG5cblxuLy8gQ2xhc3MgZ2VuZXJhdG9yXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuQG1peGluIHotZGVwdGgtY2xhc3NlcygkdHJhbnNpdGlvbjogZmFsc2UsICRmb2N1czogZmFsc2UpIHtcbiAgQGlmICR0cmFuc2l0aW9uID09IHRydWUge1xuICAgICYtdHJhbnNpdGlvbiB7XG4gICAgICBAaW5jbHVkZSB6LWRlcHRoLXRyYW5zaXRpb24oKTtcbiAgICB9XG4gIH1cblxuICBAaWYgJGZvY3VzID09IHRydWUge1xuICAgICYtZm9jdXMge1xuICAgICAgQGluY2x1ZGUgei1kZXB0aC1mb2N1cygpO1xuICAgIH1cbiAgfVxuXG4gIC8vIFRoZSBhdmFpbGFibGUgdmFsdWVzIGZvciB0aGUgc2hhZG93IGRlcHRoXG4gIEBlYWNoICRkZXB0aCBpbiAyLCAzLCA0LCA2LCA4LCAxNiwgMjQge1xuICAgICYtI3skZGVwdGh9ZHAge1xuICAgICAgQGluY2x1ZGUgei1kZXB0aCgkZGVwdGgpO1xuICAgIH1cbiAgfVxufVxuIiwiLy8vL1xuLy8vIENvcHlyaWdodCAoYykgMjAxNi0yMDIwIE1hcnRpbiBEb25hdGggPG1hcnRpbi5kb25hdGhAc3F1aWRmdW5rLmNvbT5cbi8vL1xuLy8vIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBhXG4vLy8gY29weSBvZiB0aGlzIHNvZnR3YXJlIGFuZCBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZSBcIlNvZnR3YXJlXCIpLFxuLy8vIHRvIGRlYWwgaW4gdGhlIFNvZnR3YXJlIHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1ZGluZyB3aXRob3V0IGxpbWl0YXRpb25cbi8vLyB0aGUgcmlnaHRzIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwgZGlzdHJpYnV0ZSwgc3VibGljZW5zZSxcbi8vLyBhbmQvb3Igc2VsbCBjb3BpZXMgb2YgdGhlIFNvZnR3YXJlLCBhbmQgdG8gcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGVcbi8vLyBTb2Z0d2FyZSBpcyBmdXJuaXNoZWQgdG8gZG8gc28sIHN1YmplY3QgdG8gdGhlIGZvbGxvd2luZyBjb25kaXRpb25zOlxuLy8vXG4vLy8gVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWQgaW5cbi8vLyBhbGwgY29waWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25zIG9mIHRoZSBTb2Z0d2FyZS5cbi8vL1xuLy8vIFRIRSBTT0ZUV0FSRSBJUyBQUk9WSURFRCBcIkFTIElTXCIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsIEVYUFJFU1MgT1Jcbi8vLyBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSxcbi8vLyBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OLUlORlJJTkdFTUVOVC4gSU4gTk8gRVZFTlQgU0hBTExcbi8vLyBUSEUgQVVUSE9SUyBPUiBDT1BZUklHSFQgSE9MREVSUyBCRSBMSUFCTEUgRk9SIEFOWSBDTEFJTSwgREFNQUdFUyBPUiBPVEhFUlxuLy8vIExJQUJJTElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HXG4vLy8gRlJPTSwgT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUlxuLy8vIERFQUxJTkdTXG4vLy8vXG5cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIFZhcmlhYmxlc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4vLyBBY3RpdmUgKHRvZ2dsZWQpIGRyYXdlclxuJG1kLXRvZ2dsZV9fZHJhd2VyLS1jaGVja2VkOlxuICBcIltkYXRhLW1kLXRvZ2dsZT1cXFwiZHJhd2VyXFxcIl06Y2hlY2tlZCB+XCI7XG5cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIFJ1bGVzOiBiYXNlIGdyaWQgYW5kIGNvbnRhaW5lcnNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLy8gU3RyZXRjaCBjb250YWluZXIgdG8gdmlld3BvcnQgYW5kIHNldCBiYXNlIGZvbnQtc2l6ZSB0byAxMHB4IGZvciBzaW1wbGVcbi8vIGNhbGN1bGF0aW9ucyBiYXNlIG9uIHJlbGF0aXZlIGVtcyAocmVtcylcbmh0bWwge1xuICBoZWlnaHQ6IDEwMCU7XG4gIC8vIEhhY2s6IG5vcm1hbGx5LCB3ZSB3b3VsZCBzZXQgdGhlIGJhc2UgZm9udC1zaXplIHRvIDYyLjUlLCBzbyB3ZSBjYW4gYmFzZVxuICAvLyBhbGwgY2FsY3VsYXRpb25zIG9uIDEwcHgsIGJ1dCBDaHJvbWl1bSBhbmQgQ2hyb21lIGRlZmluZSBhIG1pbmltYWwgZm9udFxuICAvLyBzaXplIG9mIDEyIGlmIHRoZSBzeXN0ZW0gbGFuZ3VhZ2UgaXMgc2V0IHRvIENoaW5lc2UuIEZvciB0aGlzIHJlYXNvbiB3ZVxuICAvLyBqdXN0IGRvdWJsZSB0aGUgZm9udC1zaXplLCBzZXQgaXQgdG8gMjBweCB3aGljaCBzZWVtcyB0byBkbyB0aGUgdHJpY2suXG4gIC8vXG4gIC8vIFNlZSBodHRwczovL2dpdGh1Yi5jb20vc3F1aWRmdW5rL21rZG9jcy1tYXRlcmlhbC9pc3N1ZXMvOTExXG4gIGZvbnQtc2l6ZTogMTI1JTtcbiAgLy8gSGFjazogc29tZSBicm93c2VycyBvbiBzb21lIG9wZXJhdGluZyBzeXN0ZW1zIGRvbid0IGFjY291bnQgZm9yIHNjcm9sbFxuICAvLyBiYXJzIHdoZW4gZmlyaW5nIG1lZGlhIHF1ZXJpZXMsIHNvIHdlIG5lZWQgdG8gZG8gdGhpcyBmb3Igc2FmZXR5LiBUaGlzXG4gIC8vIGN1cnJlbnRseSBpbXBhY3RzIHRoZSB0YWJsZSBvZiBjb250ZW50cyBjb21wb25lbnQgYmV0d2VlbiAxMjIwIGFuZCAxMjM0cHhcbiAgLy8gYW5kIGlzIHRvIGN1cnJlbnQga25vd2xlZGdlIG5vdCBmaXhhYmxlLlxuICBvdmVyZmxvdy14OiBoaWRkZW47XG5cbiAgLy8gW3NjcmVlbiBtZWRpdW0gK106IFNldCBiYXNlIGZvbnQtc2l6ZSB0byAxMXB4XG4gIEBpbmNsdWRlIGJyZWFrLWZyb20tZGV2aWNlKHNjcmVlbiBtZWRpdW0pIHtcbiAgICBmb250LXNpemU6IDEzNy41MCU7XG4gIH1cblxuICAvLyBbc2NyZWVuIGxhcmdlICtdOiBTZXQgYmFzZSBmb250LXNpemUgdG8gMTJweFxuICBAaW5jbHVkZSBicmVhay1mcm9tLWRldmljZShzY3JlZW4gbGFyZ2UpIHtcbiAgICBmb250LXNpemU6IDE1MCU7XG4gIH1cbn1cblxuLy8gU3RyZXRjaCBib2R5IHRvIGNvbnRhaW5lciBhbmQgbGVhdmUgcm9vbSBmb3IgZm9vdGVyXG5ib2R5IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIC8vIEhhY2s6IHJlc2V0IGZvbnQtc2l6ZSB0byAxMHB4LCBzbyB0aGUgc3BhY2luZyBmb3IgYWxsIGlubGluZSBlbGVtZW50cyBpc1xuICAvLyBjb3JyZWN0IGFnYWluLiBPdGhlcndpc2UgdGhlIHNwYWNpbmcgd291bGQgYmUgYmFzZWQgb24gMjBweC5cbiAgZm9udC1zaXplOiAwLjVyZW07IC8vIHN0eWxlbGludC1kaXNhYmxlLWxpbmUgdW5pdC13aGl0ZWxpc3RcblxuICAvLyBbdGFibGV0IHBvcnRyYWl0IC1dOiBMb2NrIGJvZHkgdG8gZGlzYWJsZSBzY3JvbGwgYnViYmxpbmdcbiAgQGluY2x1ZGUgYnJlYWstdG8tZGV2aWNlKHRhYmxldCBwb3J0cmFpdCkge1xuXG4gICAgLy8gTG9jayBib2R5IHRvIHZpZXdwb3J0IGhlaWdodCAoZS5nLiBpbiBzZWFyY2ggbW9kZSlcbiAgICAmW2RhdGEtbWQtc3RhdGU9XCJsb2NrXCJdIHtcbiAgICAgIG92ZXJmbG93OiBoaWRkZW47XG5cbiAgICAgIC8vIEhpZGUgY29udGFpbmVyIG9uIGlPUywgb3IgdGhlIGJvZHkgd2lsbCBub3QgYmUgbG9ja2VkIGNvcnJlY3RseVxuICAgICAgLmlvcyAmIC5tZC1jb250YWluZXIge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLyBIb3Jpem9udGFsIHNlcGFyYXRvcnNcbmhyIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGhlaWdodDogcHgycmVtKDFweCk7XG4gIHBhZGRpbmc6IDA7XG4gIGJvcmRlcjogMDtcbn1cblxuLy8gSW5saW5lIFNWRyBjb250YWluZXJcbi5tZC1zdmcge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4vLyBUZW1wbGF0ZS13aWRlIGdyaWRcbi5tZC1ncmlkIHtcbiAgbWF4LXdpZHRoOiBweDJyZW0oMTIyMHB4KTtcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICBtYXJnaW4tbGVmdDogYXV0bztcbn1cblxuLy8gUHJldmVudCBjb2xsYXBzZSBvZiBtYXJnaW4gd2hlbiBzZXR0aW5nIG1hcmdpbiBvbiBjaGlsZCBlbGVtZW50XG4ubWQtY29udGFpbmVyLFxuLm1kLW1haW4ge1xuICBvdmVyZmxvdzogYXV0bztcbn1cblxuLy8gQ29udGVudCB3cmFwcGVyIC0gdXNlIGRpc3BsYXk6IHRhYmxlIHRvIG1ha2UgdmFyaWFibGUtaGVpZ2h0IHN0aWNreSBmb290ZXJzXG4vLyB3b3JrIGFuZCBmaXhlZCB0YWJsZS1sYXlvdXQgZm9yIElFLCBzZWUgaHR0cDovL2JpdC5seS8yaFpvaFhMXG4ubWQtY29udGFpbmVyIHtcbiAgZGlzcGxheTogdGFibGU7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIHBhZGRpbmctdG9wOiBweDJyZW0oNDhweCk7XG4gIHRhYmxlLWxheW91dDogZml4ZWQ7XG59XG5cbi8vIFRoZSBtYWluIGNvbnRlbnQgc2hvdWxkIHN0cmV0Y2ggdG8gbWF4aW11bSBoZWlnaHQgaW4gdGhlIHRhYmxlXG4ubWQtbWFpbiB7XG4gIGRpc3BsYXk6IHRhYmxlLXJvdztcbiAgaGVpZ2h0OiAxMDAlO1xuXG4gIC8vIEluY3JlYXNlIHRvcCBzcGFjaW5nIG9mIGNvbnRlbnQgYXJlYSB0byBnaXZlIHR5cG9ncmFwaHkgbW9yZSByb29tXG4gICZfX2lubmVyIHtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgcGFkZGluZy10b3A6IHB4MnJlbSgyNHB4ICsgNnB4KTtcbiAgICAvLyBIYWNrOiBpbmR1Y2UgbWFyZ2luLWNvbGxhcHNlLCBiZWNhdXNlIG90aGVyd2lzZSB0aGUgc2lkZWJhciBoZWlnaHQgaXNcbiAgICAvLyBub3QgY2FsY3VsYXRlZCBjb3JyZWN0bHkgYW5kIHRoZSBvdmVyZmxvdyBwcm9wZXJ0eSBvbiB0aGlzIGVsZW1lbnQgbXVzdFxuICAgIC8vIGJlIGxlZnQgaW4gaW5pdGlhbCBzdGF0ZSBmb3IgdGFyZ2V0dGVkIGxpbmsgb2Zmc2V0cyB0byB3b3JrIHByb3Blcmx5XG4gICAgcGFkZGluZy1ib3R0b206IHB4MnJlbSgxcHgpO1xuICB9XG59XG5cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIFJ1bGVzOiBuYXZpZ2F0aW9uYWwgZWxlbWVudHNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLy8gVG9nZ2xlIGNoZWNrYm94XG4ubWQtdG9nZ2xlIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuLy8gT3ZlcmxheSBiZWxvdyBleHBhbmRlZCBkcmF3ZXJcbi5tZC1vdmVybGF5IHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB0b3A6IDA7XG4gIHdpZHRoOiAwO1xuICBoZWlnaHQ6IDA7XG4gIHRyYW5zaXRpb246XG4gICAgd2lkdGggICAwcyAwLjI1cyxcbiAgICBoZWlnaHQgIDBzIDAuMjVzLFxuICAgIG9wYWNpdHkgMC4yNXM7XG4gIGJhY2tncm91bmQtY29sb3I6ICRtZC1jb2xvci1ibGFjay0tbGlnaHQ7XG4gIG9wYWNpdHk6IDA7XG4gIHotaW5kZXg6IDM7XG5cbiAgLy8gW3RhYmxldCAtXTogVHJpZ2dlciBvdmVybGF5XG4gIEBpbmNsdWRlIGJyZWFrLXRvLWRldmljZSh0YWJsZXQpIHtcblxuICAgIC8vIEV4cGFuZGVkIGRyYXdlclxuICAgICN7JG1kLXRvZ2dsZV9fZHJhd2VyLS1jaGVja2VkfSAmIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgdHJhbnNpdGlvbjpcbiAgICAgICAgd2lkdGggICAwcyxcbiAgICAgICAgaGVpZ2h0ICAwcyxcbiAgICAgICAgb3BhY2l0eSAwLjI1cztcbiAgICAgIG9wYWNpdHk6IDE7XG4gICAgfVxuICB9XG59XG5cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIFJ1bGVzOiBmbGV4aWJsZSBlbGVtZW50cywgaW1wbGVtZW50ZWQgd2l0aCB0YWJsZSBsYXlvdXRcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLy8gRmxleGlibGUgbGF5b3V0IGNvbnRhaW5lclxuLm1kLWZsZXgge1xuICBkaXNwbGF5OiB0YWJsZTtcblxuICAvLyBGbGV4aWJsZSBsYXlvdXQgY29udGFpbmVyIGNlbGwvZWxlbWVudFxuICAmX19jZWxsIHtcbiAgICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuXG4gICAgLy8gU2hyaW5rIHRvIG1pbmltdW0gd2lkdGhcbiAgICAmLS1zaHJpbmsge1xuICAgICAgd2lkdGg6IDAlO1xuICAgIH1cblxuICAgIC8vIFN0cmV0Y2ggdG8gbWF4aW11bSB3aWR0aFxuICAgICYtLXN0cmV0Y2gge1xuICAgICAgZGlzcGxheTogdGFibGU7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIHRhYmxlLWxheW91dDogZml4ZWQ7XG4gICAgfVxuICB9XG5cbiAgLy8gQXBwbHkgZWxsaXBzaXMgaW4gY2FzZSBvZiBvdmVyZmxvd2luZyB0ZXh0XG4gICZfX2VsbGlwc2lzIHtcbiAgICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xuICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgfVxufVxuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBSdWxlczogc2tpcCBsaW5rXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi8vIFNraXAgbGlua1xuLm1kLXNraXAge1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHdpZHRoOiBweDJyZW0oMXB4KTtcbiAgaGVpZ2h0OiBweDJyZW0oMXB4KTtcbiAgbWFyZ2luOiBweDJyZW0oMTBweCk7XG4gIHBhZGRpbmc6IHB4MnJlbSg2cHgpIHB4MnJlbSgxMHB4KTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKHB4MnJlbSg4cHgpKTtcbiAgYm9yZGVyLXJhZGl1czogcHgycmVtKDJweCk7XG4gIGJhY2tncm91bmQtY29sb3I6ICRtZC1jb2xvci1ibGFjaztcbiAgY29sb3I6ICRtZC1jb2xvci13aGl0ZTtcbiAgZm9udC1zaXplOiBtcygtMSk7XG4gIG9wYWNpdHk6IDA7XG4gIG92ZXJmbG93OiBoaWRkZW47XG5cbiAgLy8gU2hvdyBza2lwIGxpbmsgb24gZm9jdXNcbiAgJjpmb2N1cyB7XG4gICAgd2lkdGg6IGF1dG87XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIGNsaXA6IGF1dG87XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xuICAgIHRyYW5zaXRpb246XG4gICAgICB0cmFuc2Zvcm0gMC4yNXMgY3ViaWMtYmV6aWVyKDAuNCwgMCwgMC4yLCAxKSxcbiAgICAgIG9wYWNpdHkgICAwLjE3NXMgMC4wNzVzO1xuICAgIG9wYWNpdHk6IDE7XG4gICAgei1pbmRleDogMTA7XG4gIH1cbn1cblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gUnVsZXM6IHByaW50IHN0eWxlc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4vLyBBZGQgbWFyZ2lucyB0byBwYWdlXG5AcGFnZSB7XG4gIG1hcmdpbjogMjVtbTtcbn1cbiIsIi8vLy9cbi8vLyBDb3B5cmlnaHQgKGMpIDIwMTYtMjAyMCBNYXJ0aW4gRG9uYXRoIDxtYXJ0aW4uZG9uYXRoQHNxdWlkZnVuay5jb20+XG4vLy9cbi8vLyBQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYVxuLy8vIGNvcHkgb2YgdGhpcyBzb2Z0d2FyZSBhbmQgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGUgXCJTb2Z0d2FyZVwiKSxcbi8vLyB0byBkZWFsIGluIHRoZSBTb2Z0d2FyZSB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcgd2l0aG91dCBsaW1pdGF0aW9uXG4vLy8gdGhlIHJpZ2h0cyB0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsXG4vLy8gYW5kL29yIHNlbGwgY29waWVzIG9mIHRoZSBTb2Z0d2FyZSwgYW5kIHRvIHBlcm1pdCBwZXJzb25zIHRvIHdob20gdGhlXG4vLy8gU29mdHdhcmUgaXMgZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczpcbi8vL1xuLy8vIFRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIHNoYWxsIGJlIGluY2x1ZGVkIGluXG4vLy8gYWxsIGNvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUgU29mdHdhcmUuXG4vLy9cbi8vLyBUSEUgU09GVFdBUkUgSVMgUFJPVklERUQgXCJBUyBJU1wiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELCBFWFBSRVNTIE9SXG4vLy8gSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFksXG4vLy8gRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTi1JTkZSSU5HRU1FTlQuIElOIE5PIEVWRU5UIFNIQUxMXG4vLy8gVEhFIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkgQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVJcbi8vLyBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULCBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lOR1xuLy8vIEZST00sIE9VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhFIFNPRlRXQVJFIE9SIFRIRSBVU0UgT1IgT1RIRVJcbi8vLyBERUFMSU5HU1xuLy8vL1xuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBSdWxlc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4vLyBDb3B5IHRvIGNsaXBib2FyZFxuLm1kLWNsaXBib2FyZCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiBweDJyZW0oNnB4KTtcbiAgcmlnaHQ6IHB4MnJlbSg2cHgpO1xuICB3aWR0aDogcHgycmVtKDI4cHgpO1xuICBoZWlnaHQ6IHB4MnJlbSgyOHB4KTtcbiAgYm9yZGVyLXJhZGl1czogcHgycmVtKDJweCk7XG4gIGZvbnQtc2l6ZTogcHgycmVtKDE2cHgpO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHotaW5kZXg6IDE7XG4gIC8vIEhhY2s6IHB1dCBldmVyeXRoaW5nIG9uIHRoZSBHUFUgdG8gb21pdCBmbGlja2VyaW5nXG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcblxuICAvLyBIaWRlIGZvciBwcmludFxuICBAbWVkaWEgcHJpbnQge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cblxuICAvLyBJY29uXG4gICY6OmJlZm9yZSB7XG4gICAgQGV4dGVuZCAlbWQtaWNvbjtcblxuICAgIHRyYW5zaXRpb246XG4gICAgICBjb2xvciAgIDAuMjVzLFxuICAgICAgb3BhY2l0eSAwLjI1cztcbiAgICBjb2xvcjogJG1kLWNvbG9yLWJsYWNrLS1saWdodGVzdDtcbiAgICBjb250ZW50OiBcIlxcRTE0RFwiOyAvLyBjb250ZW50X2NvcHlcblxuICAgIC8vIFNob3cgb24gY29udGFpbmVyIGhvdmVyXG4gICAgcHJlOmhvdmVyICYsXG4gICAgLmNvZGVoaWxpdGU6aG92ZXIgJiB7XG4gICAgICBjb2xvcjogJG1kLWNvbG9yLWJsYWNrLS1saWdodDtcbiAgICB9XG4gIH1cblxuICAvLyBGb2N1c2VkIG9yIGhvdmVyZWQgaWNvblxuICAmOmZvY3VzOjpiZWZvcmUsXG4gICY6aG92ZXI6OmJlZm9yZSB7XG4gICAgY29sb3I6ICRtZC1jb2xvci1hY2NlbnQ7XG4gIH1cblxuICAvLyBNZXNzYWdlXG4gICZfX21lc3NhZ2Uge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgcmlnaHQ6IHB4MnJlbSgzNHB4KTtcbiAgICBwYWRkaW5nOiBweDJyZW0oNnB4KSBweDJyZW0oMTBweCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKHB4MnJlbSg4cHgpKTtcbiAgICB0cmFuc2l0aW9uOlxuICAgICAgdHJhbnNmb3JtIDAuMjVzIGN1YmljLWJlemllcigwLjksIDAuMSwgMC45LCAwKSxcbiAgICAgIG9wYWNpdHkgICAwLjE3NXM7XG4gICAgYm9yZGVyLXJhZGl1czogcHgycmVtKDJweCk7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJG1kLWNvbG9yLWJsYWNrLS1saWdodDtcbiAgICBjb2xvcjogJG1kLWNvbG9yLXdoaXRlO1xuICAgIGZvbnQtc2l6ZTogbXMoLTEpO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgb3BhY2l0eTogMDtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcblxuICAgIC8vIEFjdGl2ZSBtZXNzYWdlXG4gICAgJi0tYWN0aXZlIHtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcbiAgICAgIHRyYW5zaXRpb246XG4gICAgICAgIHRyYW5zZm9ybSAwLjI1cyBjdWJpYy1iZXppZXIoMC40LCAwLCAwLjIsIDEpLFxuICAgICAgICBvcGFjaXR5ICAgMC4xNzVzIDAuMDc1cztcbiAgICAgIG9wYWNpdHk6IDE7XG4gICAgICBwb2ludGVyLWV2ZW50czogaW5pdGlhbDtcbiAgICB9XG5cbiAgICAvLyBJbmplY3QgY29udGVudCBmcm9tIEFSSUEgbGFiZWxcbiAgICAmOjpiZWZvcmUge1xuICAgICAgY29udGVudDogYXR0cihhcmlhLWxhYmVsKTtcbiAgICB9XG5cbiAgICAvLyBQYWludCBhIG5pY2Ugc3BlZWNoIGJ1YmJsZVxuICAgICY6OmFmdGVyIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiA1MCU7XG4gICAgICByaWdodDogcHgycmVtKC00cHgpO1xuICAgICAgd2lkdGg6IDA7XG4gICAgICBtYXJnaW4tdG9wOiBweDJyZW0oLTRweCk7XG4gICAgICBib3JkZXItd2lkdGg6IHB4MnJlbSg0cHgpIDAgcHgycmVtKDRweCkgcHgycmVtKDRweCk7XG4gICAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCAkbWQtY29sb3ItYmxhY2stLWxpZ2h0O1xuICAgICAgY29udGVudDogXCJcIjtcbiAgICB9XG4gIH1cbn1cbiIsIi8vLy9cbi8vLyBDb3B5cmlnaHQgKGMpIDIwMTYtMjAyMCBNYXJ0aW4gRG9uYXRoIDxtYXJ0aW4uZG9uYXRoQHNxdWlkZnVuay5jb20+XG4vLy9cbi8vLyBQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYVxuLy8vIGNvcHkgb2YgdGhpcyBzb2Z0d2FyZSBhbmQgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGUgXCJTb2Z0d2FyZVwiKSxcbi8vLyB0byBkZWFsIGluIHRoZSBTb2Z0d2FyZSB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcgd2l0aG91dCBsaW1pdGF0aW9uXG4vLy8gdGhlIHJpZ2h0cyB0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsXG4vLy8gYW5kL29yIHNlbGwgY29waWVzIG9mIHRoZSBTb2Z0d2FyZSwgYW5kIHRvIHBlcm1pdCBwZXJzb25zIHRvIHdob20gdGhlXG4vLy8gU29mdHdhcmUgaXMgZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczpcbi8vL1xuLy8vIFRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIHNoYWxsIGJlIGluY2x1ZGVkIGluXG4vLy8gYWxsIGNvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUgU29mdHdhcmUuXG4vLy9cbi8vLyBUSEUgU09GVFdBUkUgSVMgUFJPVklERUQgXCJBUyBJU1wiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELCBFWFBSRVNTIE9SXG4vLy8gSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFksXG4vLy8gRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTi1JTkZSSU5HRU1FTlQuIElOIE5PIEVWRU5UIFNIQUxMXG4vLy8gVEhFIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkgQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVJcbi8vLyBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULCBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lOR1xuLy8vIEZST00sIE9VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhFIFNPRlRXQVJFIE9SIFRIRSBVU0UgT1IgT1RIRVJcbi8vLyBERUFMSU5HU1xuLy8vL1xuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBSdWxlc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4vLyBDb250ZW50IGNvbnRhaW5lclxuLm1kLWNvbnRlbnQge1xuXG4gIC8vIFt0YWJsZXQgbGFuZHNjYXBlICtdOiBBZGQgc3BhY2UgZm9yIHRhYmxlIG9mIGNvbnRlbnRzXG4gIEBpbmNsdWRlIGJyZWFrLWZyb20tZGV2aWNlKHRhYmxldCBsYW5kc2NhcGUpIHtcbiAgICBtYXJnaW4tcmlnaHQ6IHB4MnJlbSgyNDJweCk7XG5cbiAgICAvLyBBZGp1c3QgZm9yIFJUTCBsYW5ndWFnZXNcbiAgICBbZGlyPVwicnRsXCJdICYge1xuICAgICAgbWFyZ2luLXJpZ2h0OiBpbml0aWFsO1xuICAgICAgbWFyZ2luLWxlZnQ6IHB4MnJlbSgyNDJweCk7XG4gICAgfVxuICB9XG5cbiAgLy8gW3NjcmVlbiArXTogQWRkIHNwYWNlIGZvciB0YWJsZSBvZiBjb250ZW50c1xuICBAaW5jbHVkZSBicmVhay1mcm9tLWRldmljZShzY3JlZW4pIHtcbiAgICBtYXJnaW4tbGVmdDogcHgycmVtKDI0MnB4KTtcblxuICAgIC8vIEFkanVzdCBmb3IgUlRMIGxhbmd1YWdlc1xuICAgIFtkaXI9XCJydGxcIl0gJiB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IHB4MnJlbSgyNDJweCk7XG4gICAgfVxuICB9XG5cbiAgLy8gRGVmaW5lIHNwYWNpbmdcbiAgJl9faW5uZXIge1xuICAgIG1hcmdpbjogMCBweDJyZW0oMTZweCkgcHgycmVtKDI0cHgpO1xuICAgIHBhZGRpbmctdG9wOiBweDJyZW0oMTJweCk7XG5cbiAgICAvLyBbc2NyZWVuICtdOiBJbmNyZWFzZSBob3Jpem9udGFsIHNwYWNpbmdcbiAgICBAaW5jbHVkZSBicmVhay1mcm9tLWRldmljZShzY3JlZW4pIHtcbiAgICAgIG1hcmdpbi1yaWdodDogcHgycmVtKDI0cHgpO1xuICAgICAgbWFyZ2luLWxlZnQ6IHB4MnJlbSgyNHB4KTtcbiAgICB9XG5cbiAgICAvLyBIYWNrOiBhZGQgcHNldWRvIGVsZW1lbnQgZm9yIHNwYWNpbmcsIGFzIHRoZSBvdmVyZmxvdyBvZiB0aGUgY29udGVudFxuICAgIC8vIGNvbnRhaW5lciBtYXkgbm90IGJlIGhpZGRlbiBkdWUgdG8gYW4gaW1taW5lbnQgb2Zmc2V0IGVycm9yIG9uIHRhcmdldHNcbiAgICAmOjpiZWZvcmUge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBoZWlnaHQ6IHB4MnJlbSg4cHgpO1xuICAgICAgY29udGVudDogXCJcIjtcbiAgICB9XG5cbiAgICAvLyBIYWNrOiByZW1vdmUgYm90dG9tIHNwYWNpbmcgb2YgbGFzdCBlbGVtZW50LCBkdWUgdG8gbWFyZ2luIGNvbGxhcHNlXG4gICAgPiA6bGFzdC1jaGlsZCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIH1cbiAgfVxuXG4gIC8vIEljb25zXG4gICZfX2ljb24ge1xuICAgIEBleHRlbmQgJW1kLWljb25fX2J1dHRvbjtcblxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBtYXJnaW46IHB4MnJlbSg4cHgpIDA7XG4gICAgcGFkZGluZzogMDtcbiAgICBmbG9hdDogcmlnaHQ7XG5cbiAgICAvLyBPdmVycmlkZSBkZWZhdWx0IGxpbmsgY29sb3IgZm9yIGljb25zXG4gICAgLm1kLXR5cGVzZXQgJiB7XG4gICAgICBjb2xvcjogJG1kLWNvbG9yLWJsYWNrLS1saWdodGVyO1xuICAgIH1cblxuICAgIC8vIEhpZGUgZm9yIHByaW50XG4gICAgQG1lZGlhIHByaW50IHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICB9XG59XG4iLCIvLy8vXG4vLy8gQ29weXJpZ2h0IChjKSAyMDE2LTIwMjAgTWFydGluIERvbmF0aCA8bWFydGluLmRvbmF0aEBzcXVpZGZ1bmsuY29tPlxuLy8vXG4vLy8gUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0YWluaW5nIGFcbi8vLyBjb3B5IG9mIHRoaXMgc29mdHdhcmUgYW5kIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlIFwiU29mdHdhcmVcIiksXG4vLy8gdG8gZGVhbCBpbiB0aGUgU29mdHdhcmUgd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nIHdpdGhvdXQgbGltaXRhdGlvblxuLy8vIHRoZSByaWdodHMgdG8gdXNlLCBjb3B5LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNoLCBkaXN0cmlidXRlLCBzdWJsaWNlbnNlLFxuLy8vIGFuZC9vciBzZWxsIGNvcGllcyBvZiB0aGUgU29mdHdhcmUsIGFuZCB0byBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZVxuLy8vIFNvZnR3YXJlIGlzIGZ1cm5pc2hlZCB0byBkbyBzbywgc3ViamVjdCB0byB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6XG4vLy9cbi8vLyBUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBiZSBpbmNsdWRlZCBpblxuLy8vIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIFNvZnR3YXJlLlxuLy8vXG4vLy8gVEhFIFNPRlRXQVJFIElTIFBST1ZJREVEIFwiQVMgSVNcIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwgRVhQUkVTUyBPUlxuLy8vIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZLFxuLy8vIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT04tSU5GUklOR0VNRU5ULiBJTiBOTyBFVkVOVCBTSEFMTFxuLy8vIFRIRSBBVVRIT1JTIE9SIENPUFlSSUdIVCBIT0xERVJTIEJFIExJQUJMRSBGT1IgQU5ZIENMQUlNLCBEQU1BR0VTIE9SIE9USEVSXG4vLy8gTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkdcbi8vLyBGUk9NLCBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRSBTT0ZUV0FSRSBPUiBUSEUgVVNFIE9SIE9USEVSXG4vLy8gREVBTElOR1Ncbi8vLy9cblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gUnVsZXNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLy8gQXBwbGljYXRpb24gaGVhZGVyIChzdGF5cyBhbHdheXMgb24gdG9wKVxuLm1kLWhlYWRlciB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgdG9wOiAwO1xuICByaWdodDogMDtcbiAgbGVmdDogMDtcbiAgaGVpZ2h0OiBweDJyZW0oNDhweCk7XG4gIHRyYW5zaXRpb246XG4gICAgYmFja2dyb3VuZC1jb2xvciAwLjI1cyxcbiAgICBjb2xvciAwLjI1cztcbiAgYmFja2dyb3VuZC1jb2xvcjogJG1kLWNvbG9yLXByaW1hcnk7XG4gIGNvbG9yOiAkbWQtY29sb3Itd2hpdGU7XG4gIGJveC1zaGFkb3c6IG5vbmU7XG4gIHotaW5kZXg6IDI7XG4gIC8vIEhhY2s6IHB1dHRpbmcgdGhlIGhlYWRlciBvbiB0aGUgR1BVIGF2b2lkcyB1bm5lY2Vzc2FyeSByZXBhaW50c1xuICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG5cbiAgLy8gQWx3YXlzIHNob3cgc2hhZG93LCBpbiBjYXNlIEphdmFTY3JpcHQgaXMgbm90IGF2YWlsYWJsZVxuICAubm8tanMgJiB7XG4gICAgdHJhbnNpdGlvbjogbm9uZTtcbiAgICBib3gtc2hhZG93OiBub25lO1xuICB9XG5cbiAgLy8gU2hvdyBhbmQgYW5pbWF0ZSBzaGFkb3dcbiAgJltkYXRhLW1kLXN0YXRlPVwic2hhZG93XCJdIHtcbiAgICB0cmFuc2l0aW9uOlxuICAgICAgYmFja2dyb3VuZC1jb2xvciAwLjI1cyxcbiAgICAgIGNvbG9yIDAuMjVzLFxuICAgICAgYm94LXNoYWRvdyAwLjI1cztcbiAgICBib3gtc2hhZG93OlxuICAgICAgMCAwICAgICAgICAgICBweDJyZW0oNHB4KSByZ2JhKDAsIDAsIDAsIDAuMSksXG4gICAgICAwIHB4MnJlbSg0cHgpIHB4MnJlbSg4cHgpIHJnYmEoMCwgMCwgMCwgMC4yKTtcbiAgfVxuXG4gIC8vIEhpZGUgZm9yIHByaW50XG4gIEBtZWRpYSBwcmludCB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuXG4vLyBOYXZpZ2F0aW9uIHdpdGhpbiBoZWFkZXJcbi5tZC1oZWFkZXItbmF2IHtcbiAgcGFkZGluZzogMCBweDJyZW0oNHB4KTtcblxuICAvLyBJY29uIGJ1dHRvbnNcbiAgJl9fYnV0dG9uIHtcbiAgICBAZXh0ZW5kICVtZC1pY29uX19idXR0b247XG5cbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjI1cztcbiAgICB6LWluZGV4OiAxO1xuXG4gICAgLy8gSG92ZXJlZCBpY29uXG4gICAgJjpob3ZlciB7XG4gICAgICBvcGFjaXR5OiAwLjc7XG4gICAgfVxuXG4gICAgLy8gU2V0IGNvcnJlY3QgZGlzcGxheSBvbiBpbWFnZSBvciBpY29uXG4gICAgJi5tZC1sb2dvICoge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuXG4gICAgLy8gSGlkZSBzZWFyY2ggaWNvbiwgaWYgSmF2YVNjcmlwdCBpcyBub3QgYXZhaWxhYmxlLlxuICAgIC5uby1qcyAmLm1kLWljb24tLXNlYXJjaCB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cblxuICAgIC8vIFt0YWJsZXQgbGFuZHNjYXBlICtdOiBIaWRlIHRoZSBzZWFyY2ggaWNvblxuICAgIEBpbmNsdWRlIGJyZWFrLWZyb20tZGV2aWNlKHRhYmxldCBsYW5kc2NhcGUpIHtcblxuICAgICAgLy8gU2VhcmNoIGljb25cbiAgICAgICYubWQtaWNvbi0tc2VhcmNoIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBbdGFibGV0IC1dOiBIaWRlIHRoZSBob21lIGljb24gb3IgbG9nb1xuICAgIEBpbmNsdWRlIGJyZWFrLXRvLWRldmljZSh0YWJsZXQpIHtcblxuICAgICAgLy8gSG9tZSBpY29uIG9yIGxvZ29cbiAgICAgICYubWQtaWNvbi0taG9tZSxcbiAgICAgICYubWQtbG9nbyB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gW3NjcmVlbiArXTogSGlkZSB0aGUgbWVudSBpY29uXG4gICAgQGluY2x1ZGUgYnJlYWstZnJvbS1kZXZpY2Uoc2NyZWVuKSB7XG5cbiAgICAgIC8vIE1lbnUgaWNvblxuICAgICAgJi5tZC1pY29uLS1tZW51IHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBIZWFkZXIgdG9waWNzXG4gICZfX3RvcGljIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdHJhbnNpdGlvbjpcbiAgICAgIHRyYW5zZm9ybSAwLjRzIGN1YmljLWJlemllcigwLjEsIDAuNywgMC4xLCAxKSxcbiAgICAgIG9wYWNpdHkgICAwLjE1cztcbiAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG5cbiAgICAvLyBQYWdlIHRpdGxlXG4gICAgJiArICYge1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKHB4MnJlbSgyNXB4KSk7XG4gICAgICB0cmFuc2l0aW9uOlxuICAgICAgICB0cmFuc2Zvcm0gMC40cyBjdWJpYy1iZXppZXIoMSwgMC43LCAwLjEsIDAuMSksXG4gICAgICAgIG9wYWNpdHkgICAwLjE1cztcbiAgICAgIG9wYWNpdHk6IDA7XG4gICAgICB6LWluZGV4OiAtMTtcbiAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuXG4gICAgICAvLyBBZGp1c3QgZm9yIFJUTCBsYW5ndWFnZXNcbiAgICAgIFtkaXI9XCJydGxcIl0gJiB7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWChweDJyZW0oLTI1cHgpKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBJbmR1Y2UgZWxsaXBzaXMsIGlmIG5vIEphdmFTY3JpcHQgaXMgYXZhaWxhYmxlXG4gICAgLm5vLWpzICYge1xuICAgICAgcG9zaXRpb246IGluaXRpYWw7XG4gICAgfVxuXG4gICAgLy8gSGlkZSBwYWdlIHRpdGxlIGFzIGl0IGlzIGludmlzaWJsZSBhbnl3YXkgYW5kIHdpbGwgb3ZlcmZsb3cgdGhlIGhlYWRlclxuICAgIC5uby1qcyAmICsgJiB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgfVxuXG4gIC8vIEhlYWRlciB0aXRsZSAtIHNldCBsaW5lIGhlaWdodCB0byBtYXRjaCBpY29uIGZvciBjb3JyZWN0IGFsaWdubWVudFxuICAmX190aXRsZSB7XG4gICAgcGFkZGluZzogMCBweDJyZW0oMjBweCk7XG4gICAgZm9udC1zaXplOiBweDJyZW0oMThweCk7XG4gICAgbGluZS1oZWlnaHQ6IHB4MnJlbSg0OHB4KTtcblxuICAgIC8vIFNob3cgcGFnZSB0aXRsZVxuICAgICZbZGF0YS1tZC1zdGF0ZT1cImFjdGl2ZVwiXSAubWQtaGVhZGVyLW5hdl9fdG9waWMge1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKHB4MnJlbSgtMjVweCkpO1xuICAgICAgdHJhbnNpdGlvbjpcbiAgICAgICAgdHJhbnNmb3JtIDAuNHMgY3ViaWMtYmV6aWVyKDEsIDAuNywgMC4xLCAwLjEpLFxuICAgICAgICBvcGFjaXR5ICAgMC4xNXM7XG4gICAgICBvcGFjaXR5OiAwO1xuICAgICAgei1pbmRleDogLTE7XG4gICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcblxuICAgICAgLy8gQWRqdXN0IGZvciBSVEwgbGFuZ3VhZ2VzXG4gICAgICBbZGlyPVwicnRsXCJdICYge1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgocHgycmVtKDI1cHgpKTtcbiAgICAgIH1cblxuICAgICAgLy8gUGFnZSB0aXRsZVxuICAgICAgJiArIC5tZC1oZWFkZXItbmF2X190b3BpYyB7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcbiAgICAgICAgdHJhbnNpdGlvbjpcbiAgICAgICAgICB0cmFuc2Zvcm0gMC40cyBjdWJpYy1iZXppZXIoMC4xLCAwLjcsIDAuMSwgMSksXG4gICAgICAgICAgb3BhY2l0eSAgIDAuMTVzO1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICB6LWluZGV4OiAwO1xuICAgICAgICBwb2ludGVyLWV2ZW50czogaW5pdGlhbDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBSZXBvc2l0b3J5IGNvbnRhaW5pbmcgc291cmNlXG4gICZfX3NvdXJjZSB7XG4gICAgZGlzcGxheTogbm9uZTtcblxuICAgIC8vIFt0YWJsZXQgbGFuZHNjYXBlICtdOiBTaG93IHRoZSByZXBvc2lzdG9yeSBmcm9tIHRhYmxldFxuICAgIEBpbmNsdWRlIGJyZWFrLWZyb20tZGV2aWNlKHRhYmxldCBsYW5kc2NhcGUpIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgd2lkdGg6IHB4MnJlbSgyMzRweCk7XG4gICAgICBtYXgtd2lkdGg6IHB4MnJlbSgyMzRweCk7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiBweDJyZW0oMTJweCk7XG5cbiAgICAgIC8vIEFkanVzdCBmb3IgUlRMIGxhbmd1YWdlc1xuICAgICAgW2Rpcj1cInJ0bFwiXSAmIHtcbiAgICAgICAgcGFkZGluZy1yaWdodDogaW5pdGlhbDtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiBweDJyZW0oMTJweCk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLy8vXG4vLy8gQ29weXJpZ2h0IChjKSAyMDE2LTIwMjAgTWFydGluIERvbmF0aCA8bWFydGluLmRvbmF0aEBzcXVpZGZ1bmsuY29tPlxuLy8vXG4vLy8gUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0YWluaW5nIGFcbi8vLyBjb3B5IG9mIHRoaXMgc29mdHdhcmUgYW5kIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlIFwiU29mdHdhcmVcIiksXG4vLy8gdG8gZGVhbCBpbiB0aGUgU29mdHdhcmUgd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nIHdpdGhvdXQgbGltaXRhdGlvblxuLy8vIHRoZSByaWdodHMgdG8gdXNlLCBjb3B5LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNoLCBkaXN0cmlidXRlLCBzdWJsaWNlbnNlLFxuLy8vIGFuZC9vciBzZWxsIGNvcGllcyBvZiB0aGUgU29mdHdhcmUsIGFuZCB0byBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZVxuLy8vIFNvZnR3YXJlIGlzIGZ1cm5pc2hlZCB0byBkbyBzbywgc3ViamVjdCB0byB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6XG4vLy9cbi8vLyBUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBiZSBpbmNsdWRlZCBpblxuLy8vIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIFNvZnR3YXJlLlxuLy8vXG4vLy8gVEhFIFNPRlRXQVJFIElTIFBST1ZJREVEIFwiQVMgSVNcIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwgRVhQUkVTUyBPUlxuLy8vIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZLFxuLy8vIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT04tSU5GUklOR0VNRU5ULiBJTiBOTyBFVkVOVCBTSEFMTFxuLy8vIFRIRSBBVVRIT1JTIE9SIENPUFlSSUdIVCBIT0xERVJTIEJFIExJQUJMRSBGT1IgQU5ZIENMQUlNLCBEQU1BR0VTIE9SIE9USEVSXG4vLy8gTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkdcbi8vLyBGUk9NLCBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRSBTT0ZUV0FSRSBPUiBUSEUgVVNFIE9SIE9USEVSXG4vLy8gREVBTElOR1Ncbi8vLy9cblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gUnVsZXNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLy8gSGVybyB0ZWFzZXJcbi5tZC1oZXJvIHtcbiAgdHJhbnNpdGlvbjogYmFja2dyb3VuZCAwLjI1cztcbiAgYmFja2dyb3VuZC1jb2xvcjogJG1kLWNvbG9yLXByaW1hcnk7XG4gIGNvbG9yOiAkbWQtY29sb3Itd2hpdGU7XG4gIGZvbnQtc2l6ZTogbXMoMSk7XG4gIG92ZXJmbG93OiBoaWRkZW47XG5cbiAgLy8gSW5uZXIgd3JhcHBlclxuICAmX19pbm5lciB7XG4gICAgbWFyZ2luLXRvcDogcHgycmVtKDIwcHgpO1xuICAgIHBhZGRpbmc6IHB4MnJlbSgxNnB4KSBweDJyZW0oMTZweCkgcHgycmVtKDhweCk7XG4gICAgdHJhbnNpdGlvbjpcbiAgICAgIHRyYW5zZm9ybSAwLjRzIGN1YmljLWJlemllcigwLjEsIDAuNywgMC4xLCAxKSxcbiAgICAgIG9wYWNpdHkgICAwLjI1cztcbiAgICB0cmFuc2l0aW9uLWRlbGF5OiAwLjFzO1xuXG4gICAgLy8gW3RhYmxldCAtXTogQ29tcGVuc2F0ZSBmb3IgbWlzc2luZyB0YWJzXG4gICAgQGluY2x1ZGUgYnJlYWstdG8tZGV2aWNlKHRhYmxldCkge1xuICAgICAgbWFyZ2luLXRvcDogcHgycmVtKDQ4cHgpO1xuICAgICAgbWFyZ2luLWJvdHRvbTogcHgycmVtKDI0cHgpO1xuICAgIH1cblxuICAgIC8vIEZhZGUtb3V0IHRhYnMgYmFja2dyb3VuZCB1cG9uIHNjcm9sbGluZ1xuICAgIFtkYXRhLW1kLXN0YXRlPVwiaGlkZGVuXCJdICYge1xuICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkocHgycmVtKDEyLjVweCkpO1xuICAgICAgdHJhbnNpdGlvbjpcbiAgICAgICAgdHJhbnNmb3JtIDBzICAgMC40cyxcbiAgICAgICAgb3BhY2l0eSAgIDAuMXMgMHM7XG4gICAgICBvcGFjaXR5OiAwO1xuICAgIH1cblxuICAgIC8vIEFkanVzdCBib3R0b20gc3BhY2luZyBpZiB0aGVyZSBhcmUgbm8gdGFic1xuICAgIC5tZC1oZXJvLS1leHBhbmQgJiB7XG4gICAgICBtYXJnaW4tYm90dG9tOiBweDJyZW0oMjRweCk7XG4gICAgfVxuICB9XG59XG4iLCIvLy8vXG4vLy8gQ29weXJpZ2h0IChjKSAyMDE2LTIwMjAgTWFydGluIERvbmF0aCA8bWFydGluLmRvbmF0aEBzcXVpZGZ1bmsuY29tPlxuLy8vXG4vLy8gUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0YWluaW5nIGFcbi8vLyBjb3B5IG9mIHRoaXMgc29mdHdhcmUgYW5kIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlIFwiU29mdHdhcmVcIiksXG4vLy8gdG8gZGVhbCBpbiB0aGUgU29mdHdhcmUgd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nIHdpdGhvdXQgbGltaXRhdGlvblxuLy8vIHRoZSByaWdodHMgdG8gdXNlLCBjb3B5LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNoLCBkaXN0cmlidXRlLCBzdWJsaWNlbnNlLFxuLy8vIGFuZC9vciBzZWxsIGNvcGllcyBvZiB0aGUgU29mdHdhcmUsIGFuZCB0byBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZVxuLy8vIFNvZnR3YXJlIGlzIGZ1cm5pc2hlZCB0byBkbyBzbywgc3ViamVjdCB0byB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6XG4vLy9cbi8vLyBUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBiZSBpbmNsdWRlZCBpblxuLy8vIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIFNvZnR3YXJlLlxuLy8vXG4vLy8gVEhFIFNPRlRXQVJFIElTIFBST1ZJREVEIFwiQVMgSVNcIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwgRVhQUkVTUyBPUlxuLy8vIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZLFxuLy8vIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT04tSU5GUklOR0VNRU5ULiBJTiBOTyBFVkVOVCBTSEFMTFxuLy8vIFRIRSBBVVRIT1JTIE9SIENPUFlSSUdIVCBIT0xERVJTIEJFIExJQUJMRSBGT1IgQU5ZIENMQUlNLCBEQU1BR0VTIE9SIE9USEVSXG4vLy8gTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkdcbi8vLyBGUk9NLCBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRSBTT0ZUV0FSRSBPUiBUSEUgVVNFIE9SIE9USEVSXG4vLy8gREVBTElOR1Ncbi8vLy9cblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gUnVsZXNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLy8gQXBwbGljYXRpb24gZm9vdGVyXG4ubWQtZm9vdGVyIHtcblxuICAvLyBIaWRlIGZvciBwcmludFxuICBAbWVkaWEgcHJpbnQge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cblxuLy8gTmF2aWdhdGlvbiB3aXRoaW4gZm9vdGVyXG4ubWQtZm9vdGVyLW5hdiB7XG4gIGJhY2tncm91bmQtY29sb3I6ICRtZC1jb2xvci1ibGFjaztcbiAgY29sb3I6ICRtZC1jb2xvci13aGl0ZTtcblxuICAvLyBTZXQgc3BhY2luZ1xuICAmX19pbm5lciB7XG4gICAgcGFkZGluZzogcHgycmVtKDRweCk7XG4gICAgb3ZlcmZsb3c6IGF1dG87XG4gIH1cblxuICAvLyBMaW5rcyB0byBwcmV2aW91cyBhbmQgbmV4dCBwYWdlXG4gICZfX2xpbmsge1xuICAgIHBhZGRpbmctdG9wOiBweDJyZW0oMjhweCk7XG4gICAgcGFkZGluZy1ib3R0b206IHB4MnJlbSg4cHgpO1xuICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC4yNXM7XG5cbiAgICAvLyBbdGFibGV0ICtdOiBTZXQgcHJvcG9ydGlvbmFsIHdpZHRoXG4gICAgQGluY2x1ZGUgYnJlYWstZnJvbS1kZXZpY2UodGFibGV0KSB7XG4gICAgICB3aWR0aDogNTAlO1xuICAgIH1cblxuICAgIC8vIEhvdmVyZWQgbGlua1xuICAgICY6aG92ZXIge1xuICAgICAgb3BhY2l0eTogMC43O1xuICAgIH1cblxuICAgIC8vIExpbmsgdG8gcHJldmlvdXMgcGFnZVxuICAgICYtLXByZXYge1xuICAgICAgd2lkdGg6IDI1JTtcbiAgICAgIGZsb2F0OiBsZWZ0O1xuXG4gICAgICAvLyBBZGp1c3QgZm9yIFJUTCBsYW5ndWFnZXNcbiAgICAgIFtkaXI9XCJydGxcIl0gJiB7XG4gICAgICAgIGZsb2F0OiByaWdodDtcbiAgICAgIH1cblxuICAgICAgLy8gVGl0bGVcbiAgICAgIC5tZC1mb290ZXItbmF2X190aXRsZSB7XG5cbiAgICAgICAgLy8gW21vYmlsZSAtXTogSGlkZSB0aXRsZSBmb3IgcHJldmlvdXMgcGFnZVxuICAgICAgICBAaW5jbHVkZSBicmVhay10by1kZXZpY2UobW9iaWxlKSB7XG4gICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC8vIExpbmsgdG8gbmV4dCBwYWdlXG4gICAgJi0tbmV4dCB7XG4gICAgICB3aWR0aDogNzUlO1xuICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG5cbiAgICAgIC8vIEFkanVzdCBmb3IgUlRMIGxhbmd1YWdlc1xuICAgICAgW2Rpcj1cInJ0bFwiXSAmIHtcbiAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gSWNvbiBidXR0b25zXG4gICZfX2J1dHRvbiB7XG4gICAgQGV4dGVuZCAlbWQtaWNvbl9fYnV0dG9uO1xuXG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZCAwLjI1cztcbiAgfVxuXG4gIC8vIExpbmsgdGl0bGUgLSBzZXQgbGluZSBoZWlnaHQgdG8gbWF0Y2ggaWNvbiBmb3IgY29ycmVjdCBhbGlnbm1lbnRcbiAgJl9fdGl0bGUge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBwYWRkaW5nOiAwIHB4MnJlbSgyMHB4KTtcbiAgICBmb250LXNpemU6IHB4MnJlbSgxOHB4KTtcbiAgICBsaW5lLWhlaWdodDogcHgycmVtKDQ4cHgpO1xuICB9XG5cbiAgLy8gTGluayBkaXJlY3Rpb25cbiAgJl9fZGlyZWN0aW9uIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgcmlnaHQ6IDA7XG4gICAgbGVmdDogMDtcbiAgICBtYXJnaW4tdG9wOiBweDJyZW0oLTIwcHgpO1xuICAgIHBhZGRpbmc6IDAgcHgycmVtKDIwcHgpO1xuICAgIGNvbG9yOiAkbWQtY29sb3Itd2hpdGUtLWxpZ2h0O1xuICAgIGZvbnQtc2l6ZTogcHgycmVtKDE1cHgpO1xuICB9XG59XG5cbi8vIE5vbi1uYXZpZ2F0aW9uYWwgaW5mb3JtYXRpb25cbi5tZC1mb290ZXItbWV0YSB7XG4gIGJhY2tncm91bmQtY29sb3I6IG9wYWNpZnkoJG1kLWNvbG9yLWJsYWNrLCAwLjAyNSk7XG5cbiAgLy8gU2V0IHNwYWNpbmdcbiAgJl9faW5uZXIge1xuICAgIHBhZGRpbmc6IHB4MnJlbSg0cHgpO1xuICAgIG92ZXJmbG93OiBhdXRvO1xuICB9XG5cbiAgLy8gVXNlIGEgZGVjZW50IGNvbG9yIGZvciBub24taG92ZXJlZCBsaW5rcyBhbmQgZW5zdXJlIHNwZWNpZmljaXR5XG4gIGh0bWwgJi5tZC10eXBlc2V0IGEge1xuICAgIGNvbG9yOiAkbWQtY29sb3Itd2hpdGUtLWxpZ2h0O1xuXG4gICAgLy8gRm9jdXNlZCBvciBob3ZlcmVkIGxpbmtcbiAgICAmOmZvY3VzLFxuICAgICY6aG92ZXIge1xuICAgICAgY29sb3I6ICRtZC1jb2xvci13aGl0ZTtcbiAgICB9XG4gIH1cbn1cblxuLy8gQ29weXJpZ2h0IGFuZCB0aGVtZSBpbmZvcm1hdGlvblxuLm1kLWZvb3Rlci1jb3B5cmlnaHQge1xuICBtYXJnaW46IDAgcHgycmVtKDEycHgpO1xuICBwYWRkaW5nOiBweDJyZW0oOHB4KSAwO1xuICBjb2xvcjogJG1kLWNvbG9yLXdoaXRlLS1saWdodGVyO1xuICBmb250LXNpemU6IG1zKC0xKTtcblxuICAvLyBbdGFibGV0IHBvcnRyYWl0ICtdOiBTaG93IG5leHQgdG8gc29jaWFsIG1lZGlhIGxpbmtzXG4gIEBpbmNsdWRlIGJyZWFrLWZyb20tZGV2aWNlKHRhYmxldCBwb3J0cmFpdCkge1xuICAgIG1heC13aWR0aDogNzUlO1xuICAgIGZsb2F0OiBsZWZ0O1xuXG4gICAgLy8gQWRqdXN0IGZvciBSVEwgbGFuZ3VhZ2VzXG4gICAgW2Rpcj1cInJ0bFwiXSAmIHtcbiAgICAgIGZsb2F0OiByaWdodDtcbiAgICB9XG4gIH1cblxuICAvLyBIaWdobGlnaHQgY29weXJpZ2h0IGluZm9ybWF0aW9uXG4gICZfX2hpZ2hsaWdodCB7XG4gICAgY29sb3I6ICRtZC1jb2xvci13aGl0ZS0tbGlnaHQ7XG4gIH1cbn1cblxuLy8gU29jaWFsIG1lZGlhIGxpbmtzXG4ubWQtZm9vdGVyLXNvY2lhbCB7XG4gIG1hcmdpbjogMCBweDJyZW0oOHB4KTtcbiAgcGFkZGluZzogcHgycmVtKDRweCkgMCBweDJyZW0oMTJweCk7XG5cbiAgLy8gW3RhYmxldCBwb3J0cmFpdCArXTogU2hvdyBuZXh0IHRvIGNvcHlyaWdodCBpbmZvcm1hdGlvblxuICBAaW5jbHVkZSBicmVhay1mcm9tLWRldmljZSh0YWJsZXQgcG9ydHJhaXQpIHtcbiAgICBwYWRkaW5nOiBweDJyZW0oMTJweCkgMDtcbiAgICBmbG9hdDogcmlnaHQ7XG5cbiAgICAvLyBBZGp1c3QgZm9yIFJUTCBsYW5ndWFnZXNcbiAgICBbZGlyPVwicnRsXCJdICYge1xuICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgfVxuICB9XG5cbiAgLy8gTGluayB3aXRoIGljb25cbiAgJl9fbGluayB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHdpZHRoOiBweDJyZW0oMzJweCk7XG4gICAgaGVpZ2h0OiBweDJyZW0oMzJweCk7XG4gICAgZm9udC1zaXplOiBweDJyZW0oMTZweCk7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gICAgLy8gQWRqdXN0IGxpbmUtaGVpZ2h0IHRvIG1hdGNoIGhlaWdodCBmb3IgY29ycmVjdCBhbGlnbm1lbnRcbiAgICAmOjpiZWZvcmUge1xuICAgICAgbGluZS1oZWlnaHQ6IDEuOTtcbiAgICB9XG4gIH1cbn1cbiIsIi8vLy9cbi8vLyBDb3B5cmlnaHQgKGMpIDIwMTYtMjAyMCBNYXJ0aW4gRG9uYXRoIDxtYXJ0aW4uZG9uYXRoQHNxdWlkZnVuay5jb20+XG4vLy9cbi8vLyBQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYVxuLy8vIGNvcHkgb2YgdGhpcyBzb2Z0d2FyZSBhbmQgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGUgXCJTb2Z0d2FyZVwiKSxcbi8vLyB0byBkZWFsIGluIHRoZSBTb2Z0d2FyZSB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcgd2l0aG91dCBsaW1pdGF0aW9uXG4vLy8gdGhlIHJpZ2h0cyB0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsXG4vLy8gYW5kL29yIHNlbGwgY29waWVzIG9mIHRoZSBTb2Z0d2FyZSwgYW5kIHRvIHBlcm1pdCBwZXJzb25zIHRvIHdob20gdGhlXG4vLy8gU29mdHdhcmUgaXMgZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczpcbi8vL1xuLy8vIFRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIHNoYWxsIGJlIGluY2x1ZGVkIGluXG4vLy8gYWxsIGNvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUgU29mdHdhcmUuXG4vLy9cbi8vLyBUSEUgU09GVFdBUkUgSVMgUFJPVklERUQgXCJBUyBJU1wiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELCBFWFBSRVNTIE9SXG4vLy8gSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFksXG4vLy8gRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTi1JTkZSSU5HRU1FTlQuIElOIE5PIEVWRU5UIFNIQUxMXG4vLy8gVEhFIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkgQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVJcbi8vLyBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULCBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lOR1xuLy8vIEZST00sIE9VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhFIFNPRlRXQVJFIE9SIFRIRSBVU0UgT1IgT1RIRVJcbi8vLyBERUFMSU5HU1xuLy8vL1xuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBSdWxlc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4vLyBOYXZpZ2F0aW9uIGNvbnRhaW5lclxuLm1kLW5hdiB7XG4gIGZvbnQtc2l6ZTogcHgycmVtKDE0cHgpO1xuICBsaW5lLWhlaWdodDogMS4zO1xuXG4gIC8vIExpc3QgdGl0bGVcbiAgJl9fdGl0bGUge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBhZGRpbmc6IDAgcHgycmVtKDEycHgpO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICAgIC8vIEljb24sIGhpZGRlbiBieSBkZWZhdWx0XG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIEBleHRlbmQgJW1kLWljb24sICVtZC1pY29uX19idXR0b247XG5cbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICBjb250ZW50OiBcIlxcRTVDNFwiOyAvLyBhcnJvd19iYWNrXG5cbiAgICAgIC8vIEFkanVzdCBmb3IgUlRMIGxhbmd1YWdlc1xuICAgICAgW2Rpcj1cInJ0bFwiXSAmIHtcbiAgICAgICAgY29udGVudDogXCJcXEU1QzhcIjsgLy8gYXJyb3dfZm9yd2FyZFxuICAgICAgfVxuICAgIH1cblxuICAgIC8vIEhpZGUgYnV0dG9uIGJ5IGRlZmF1bHRcbiAgICAubWQtbmF2X19idXR0b24ge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gIH1cblxuICAvLyBMaXN0IG9mIGl0ZW1zXG4gICZfX2xpc3Qge1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIH1cblxuICAvLyBMaXN0IGl0ZW1cbiAgJl9faXRlbSB7XG4gICAgcGFkZGluZzogMCBweDJyZW0oMTJweCk7XG5cbiAgICAvLyBBZGQgYm90dG9tIHNwYWNpbmcgdG8gbGFzdCBpdGVtXG4gICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgIHBhZGRpbmctYm90dG9tOiBweDJyZW0oMTJweCk7XG4gICAgfVxuXG4gICAgLy8gMm5kKyBsZXZlbCBpdGVtc1xuICAgICYgJiB7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuXG4gICAgICAvLyBBZGp1c3QgZm9yIFJUTCBsYW5ndWFnZXNcbiAgICAgIFtkaXI9XCJydGxcIl0gJiB7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IHB4MnJlbSgxMnB4KTtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgICAgfVxuXG4gICAgICAvLyBSZW1vdmUgYm90dG9tIHNwYWNpbmcgZm9yIG5lc3RlZCBpdGVtc1xuICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDA7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gQnV0dG9uIHdpdGggbG9nb1xuICAmX19idXR0b24ge1xuICAgIEBleHRlbmQgJW1kLWljb24sICVtZC1pY29uX19idXR0b247XG5cbiAgICAvLyBTdHJldGNoIGltYWdlXG4gICAgaW1nIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgIH1cbiAgfVxuXG4gIC8vIExpbmsgaW5zaWRlIGl0ZW1cbiAgJl9fbGluayB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWFyZ2luLXRvcDogMC42MjVlbTtcbiAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjEyNXM7XG4gICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG5cbiAgICAvLyBJY29uXG4gICAgJjo6YWZ0ZXIge1xuICAgICAgQGV4dGVuZCAlbWQtaWNvbjtcblxuICAgICAgLy8gSXRlbSBjb250YWlucyBhIG5lc3RlZCBsaXN0XG4gICAgICAubWQtbmF2X19pdGVtLS1uZXN0ZWQgPiAmIHtcbiAgICAgICAgY29udGVudDogXCJcXEUzMTNcIjsgLy8ga2V5Ym9hcmRfYXJyb3dfZG93blxuICAgICAgfVxuICAgIH1cblxuICAgIC8vIEhpZGUgbGluayB0byB0YWJsZSBvZiBjb250ZW50cyBieSBkZWZhdWx0IC0gdGhpcyB3aWxsIG9ubHkgbWF0Y2ggdGhlXG4gICAgLy8gdGFibGUgb2YgY29udGVudHMgaW5zaWRlIHRoZSBkcmF3ZXIgYmVsb3cgYW5kIGluY2x1ZGluZyB0YWJsZXQgcG9ydHJhaXRcbiAgICBodG1sICZbZm9yPVwiX190b2NcIl0ge1xuICAgICAgZGlzcGxheTogbm9uZTtcblxuICAgICAgLy8gSGlkZSB0YWJsZSBvZiBjb250ZW50cyBieSBkZWZhdWx0XG4gICAgICAmIH4gLm1kLW5hdiB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICB9XG5cbiAgICAgIC8vIEhpZGUgaWNvbiBmb3IgY3VycmVudCBpdGVtXG4gICAgICArIC5tZC1uYXZfX2xpbms6OmFmdGVyIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBCbHVycmVkIGxpbmtcbiAgICAmW2RhdGEtbWQtc3RhdGU9XCJibHVyXCJdIHtcbiAgICAgIGNvbG9yOiAkbWQtY29sb3ItYmxhY2stLWxpZ2h0O1xuICAgIH1cblxuICAgIC8vIEFjdGl2ZSBsaW5rXG4gICAgJjphY3RpdmUsXG4gICAgJi0tYWN0aXZlIHtcbiAgICAgIGNvbG9yOiAkbWQtY29sb3ItcHJpbWFyeTtcbiAgICB9XG5cbiAgICAvLyBSZXNldCBhY3RpdmUgY29sb3IgZm9yIG5lc3RlZCBsaXN0IHRpdGxlc1xuICAgIC5tZC1uYXZfX2l0ZW0tLW5lc3RlZCA+ICYge1xuICAgICAgY29sb3I6IGluaGVyaXQ7XG4gICAgfVxuXG4gICAgLy8gRm9jdXNlZCBvciBob3ZlcmVkIGxpbmtcbiAgICAmOmZvY3VzLFxuICAgICY6aG92ZXIge1xuICAgICAgY29sb3I6ICRtZC1jb2xvci1hY2NlbnQ7XG4gICAgfVxuICB9XG5cbiAgLy8gUmVwb3NpdG9yeSBjb250YWluaW5nIHNvdXJjZVxuICAmX19zb3VyY2Uge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cblxuICAvLyBbdGFibGV0IC1dOiBMYXllcmVkIG5hdmlnYXRpb25cbiAgQGluY2x1ZGUgYnJlYWstdG8tZGV2aWNlKHRhYmxldCkge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRtZC1jb2xvci13aGl0ZTtcblxuICAgIC8vIFN0cmV0Y2ggcHJpbWFyeSBuYXZpZ2F0aW9uIHRvIGRyYXdlclxuICAgICYtLXByaW1hcnksXG4gICAgJi0tcHJpbWFyeSAubWQtbmF2IHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDA7XG4gICAgICByaWdodDogMDtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgei1pbmRleDogMTtcbiAgICB9XG5cbiAgICAvLyBBZGp1c3Qgc3R5bGVzIGZvciBwcmltYXJ5IG5hdmlnYXRpb25cbiAgICAmLS1wcmltYXJ5IHtcblxuICAgICAgLy8gTGlzdCB0aXRsZSBhbmQgaXRlbVxuICAgICAgLm1kLW5hdl9fdGl0bGUsXG4gICAgICAubWQtbmF2X19pdGVtIHtcbiAgICAgICAgZm9udC1zaXplOiBweDJyZW0oMTZweCk7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjU7XG4gICAgICB9XG5cbiAgICAgIC8vIExpc3QgdGl0bGUgLSBoaWdoZXIgc3BlY2lmaWNpdHkgaXMgbmVjZXNzYXJ5IHRvIGVuc3VyZSB0aGF0IHRoZSB0aXRsZVxuICAgICAgLy8gaW5zaWRlIHRoZSBkcmF3ZXIgaXMgYWx3YXlzIHN0eWxlZCBhY2NvcmRpbmdseVxuICAgICAgaHRtbCAmIC5tZC1uYXZfX3RpdGxlIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBoZWlnaHQ6IHB4MnJlbSgxMTJweCk7XG4gICAgICAgIHBhZGRpbmc6IHB4MnJlbSg2MHB4KSBweDJyZW0oMTZweCkgcHgycmVtKDRweCk7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRtZC1jb2xvci1ibGFjay0tbGlnaHRlc3Q7XG4gICAgICAgIGNvbG9yOiAkbWQtY29sb3ItYmxhY2stLWxpZ2h0O1xuICAgICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgICBsaW5lLWhlaWdodDogcHgycmVtKDQ4cHgpO1xuICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG5cbiAgICAgICAgLy8gSWNvblxuICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICB0b3A6IHB4MnJlbSg0cHgpO1xuICAgICAgICAgIGxlZnQ6IHB4MnJlbSg0cHgpO1xuICAgICAgICAgIHdpZHRoOiBweDJyZW0oNDBweCk7XG4gICAgICAgICAgaGVpZ2h0OiBweDJyZW0oNDBweCk7XG4gICAgICAgICAgY29sb3I6ICRtZC1jb2xvci1ibGFjay0tbGlnaHQ7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBNYWluIGxpc3RzXG4gICAgICAgIH4gLm1kLW5hdl9fbGlzdCB7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJG1kLWNvbG9yLXdoaXRlO1xuICAgICAgICAgIGJveC1zaGFkb3c6IDAgcHgycmVtKDFweCkgMCAkbWQtY29sb3ItYmxhY2stLWxpZ2h0ZXN0IGluc2V0O1xuXG4gICAgICAgICAgLy8gUmVtb3ZlIGJvcmRlciBmb3IgZmlyc3QgbGlzdCBpdGVtXG4gICAgICAgICAgJiA+IC5tZC1uYXZfX2l0ZW06Zmlyc3QtY2hpbGQge1xuICAgICAgICAgICAgYm9yZGVyLXRvcDogMDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAvLyBTaXRlIHRpdGxlIGluIG1haW4gbmF2aWdhdGlvblxuICAgICAgICAmLS1zaXRlIHtcbiAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJG1kLWNvbG9yLXByaW1hcnk7XG4gICAgICAgICAgY29sb3I6ICRtZC1jb2xvci13aGl0ZTtcblxuICAgICAgICAgIC8vIFNpdGUgbG9nb1xuICAgICAgICAgIC5tZC1uYXZfX2J1dHRvbiB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHRvcDogcHgycmVtKDRweCk7XG4gICAgICAgICAgICBsZWZ0OiBweDJyZW0oNHB4KTtcbiAgICAgICAgICAgIHdpZHRoOiBweDJyZW0oNjRweCk7XG4gICAgICAgICAgICBoZWlnaHQ6IHB4MnJlbSg2NHB4KTtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcHgycmVtKDQ4cHgpO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIC8vIEhpZGUgYmFjayBhcnJvdyBpY29uXG4gICAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC8vIEFkanVzdCBmb3IgUlRMIGxhbmd1YWdlc1xuICAgICAgaHRtbCBbZGlyPVwicnRsXCJdICYgLm1kLW5hdl9fdGl0bGUge1xuXG4gICAgICAgIC8vIEljb25cbiAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICByaWdodDogcHgycmVtKDRweCk7XG4gICAgICAgICAgbGVmdDogaW5pdGlhbDtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIFNpdGUgdGl0bGUgaW4gbWFpbiBuYXZpZ2F0aW9uXG4gICAgICAgICYtLXNpdGUgLm1kLW5hdl9fYnV0dG9uIHtcbiAgICAgICAgICByaWdodDogcHgycmVtKDRweCk7XG4gICAgICAgICAgbGVmdDogaW5pdGlhbDtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAvLyBMaXN0IG9mIGl0ZW1zXG4gICAgICAubWQtbmF2X19saXN0IHtcbiAgICAgICAgZmxleDogMTtcbiAgICAgICAgb3ZlcmZsb3cteTogYXV0bztcbiAgICAgIH1cblxuICAgICAgLy8gTGlzdCBpdGVtXG4gICAgICAubWQtbmF2X19pdGVtIHtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgYm9yZGVyLXRvcDogcHgycmVtKDFweCkgc29saWQgJG1kLWNvbG9yLWJsYWNrLS1saWdodGVzdDtcblxuICAgICAgICAvLyBBZGp1c3QgZm9yIFJUTCBsYW5ndWFnZXNcbiAgICAgICAgW2Rpcj1cInJ0bFwiXSAmIHtcbiAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gSW5jcmVhc2Ugc3BhY2luZyB0byBhY2NvdW50IGZvciBpY29uXG4gICAgICAgICYtLW5lc3RlZCA+IC5tZC1uYXZfX2xpbmsge1xuICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IHB4MnJlbSg0OHB4KTtcblxuICAgICAgICAgIC8vIEFkanVzdCBmb3IgUlRMIGxhbmd1YWdlc1xuICAgICAgICAgIFtkaXI9XCJydGxcIl0gJiB7XG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiBweDJyZW0oMTZweCk7XG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IHB4MnJlbSg0OHB4KTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICAvLyBSZXBsYWNlIGljb24gd2l0aCByaWdodCBhcnJvd1xuICAgICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6IFwiXFxFMzE1XCI7IC8vIGtleWJvYXJkX2Fycm93X3JpZ2h0XG5cbiAgICAgICAgICAgIC8vIEFkanVzdCBmb3IgUlRMIGxhbmd1YWdlc1xuICAgICAgICAgICAgW2Rpcj1cInJ0bFwiXSAmIHtcbiAgICAgICAgICAgICAgY29udGVudDogXCJcXEUzMTRcIjsgLy8ga2V5Ym9hcmRfYXJyb3dfbGVmdFxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAvLyBMaW5rIGluc2lkZSBpdGVtXG4gICAgICAubWQtbmF2X19saW5rIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgICBwYWRkaW5nOiBweDJyZW0oMTJweCkgcHgycmVtKDE2cHgpO1xuXG4gICAgICAgIC8vIFJvdGF0ZSBpY29uXG4gICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgICAgcmlnaHQ6IHB4MnJlbSgxMnB4KTtcbiAgICAgICAgICBtYXJnaW4tdG9wOiBweDJyZW0oLTEycHgpO1xuICAgICAgICAgIGNvbG9yOiBpbmhlcml0O1xuICAgICAgICAgIGZvbnQtc2l6ZTogcHgycmVtKDI0cHgpO1xuXG4gICAgICAgICAgLy8gQWRqdXN0IGZvciBSVEwgbGFuZ3VhZ2VzXG4gICAgICAgICAgW2Rpcj1cInJ0bFwiXSAmIHtcbiAgICAgICAgICAgIHJpZ2h0OiBpbml0aWFsO1xuICAgICAgICAgICAgbGVmdDogcHgycmVtKDEycHgpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAvLyBUYWJsZSBvZiBjb250ZW50cyBpbnNpZGUgbmF2aWdhdGlvblxuICAgICAgLm1kLW5hdi0tc2Vjb25kYXJ5IHtcblxuICAgICAgICAvLyBTZXQgbGlua3MgdG8gc3RhdGljIHRvIGF2b2lkIHVubmVjZXNzYXJ5IGxheWVyaW5nXG4gICAgICAgIC5tZC1uYXZfX2xpbmsge1xuICAgICAgICAgIHBvc2l0aW9uOiBzdGF0aWM7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBTZXQgbmVzdGVkIG5hdmlnYXRpb24gZm9yIHRhYmxlIG9mIGNvbnRlbnRzIHRvIHN0YXRpY1xuICAgICAgICAubWQtbmF2IHtcbiAgICAgICAgICBwb3NpdGlvbjogc3RhdGljO1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuXG4gICAgICAgICAgLy8gM3JkIGxldmVsIGxpbmtcbiAgICAgICAgICAubWQtbmF2X19saW5rIHtcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogcHgycmVtKDI4cHgpO1xuXG4gICAgICAgICAgICAvLyBBZGp1c3QgZm9yIFJUTCBsYW5ndWFnZXNcbiAgICAgICAgICAgIFtkaXI9XCJydGxcIl0gJiB7XG4gICAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IHB4MnJlbSgyOHB4KTtcbiAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiBpbml0aWFsO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cblxuICAgICAgICAgIC8vIDR0aCBsZXZlbCBsaW5rXG4gICAgICAgICAgLm1kLW5hdiAubWQtbmF2X19saW5rIHtcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogcHgycmVtKDQwcHgpO1xuXG4gICAgICAgICAgICAvLyBBZGp1c3QgZm9yIFJUTCBsYW5ndWFnZXNcbiAgICAgICAgICAgIFtkaXI9XCJydGxcIl0gJiB7XG4gICAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IHB4MnJlbSg0MHB4KTtcbiAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiBpbml0aWFsO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cblxuICAgICAgICAgIC8vIDV0aCBsZXZlbCBsaW5rXG4gICAgICAgICAgLm1kLW5hdiAubWQtbmF2IC5tZC1uYXZfX2xpbmsge1xuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiBweDJyZW0oNTJweCk7XG5cbiAgICAgICAgICAgIC8vIEFkanVzdCBmb3IgUlRMIGxhbmd1YWdlc1xuICAgICAgICAgICAgW2Rpcj1cInJ0bFwiXSAmIHtcbiAgICAgICAgICAgICAgcGFkZGluZy1yaWdodDogcHgycmVtKDUycHgpO1xuICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IGluaXRpYWw7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgLy8gNnRoIGxldmVsIGxpbmtcbiAgICAgICAgICAubWQtbmF2IC5tZC1uYXYgLm1kLW5hdiAubWQtbmF2X19saW5rIHtcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogcHgycmVtKDY0cHgpO1xuXG4gICAgICAgICAgICAvLyBBZGp1c3QgZm9yIFJUTCBsYW5ndWFnZXNcbiAgICAgICAgICAgIFtkaXI9XCJydGxcIl0gJiB7XG4gICAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IHB4MnJlbSg2NHB4KTtcbiAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiBpbml0aWFsO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC8vIEhpZGUgbmVzdGVkIG5hdmlnYXRpb24gYnkgZGVmYXVsdFxuICAgIC5tZC1uYXZfX3RvZ2dsZSB+ICYge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgxMDAlKTtcbiAgICAgIHRyYW5zaXRpb246XG4gICAgICAgIHRyYW5zZm9ybSAwLjI1cyBjdWJpYy1iZXppZXIoMC44LCAwLCAwLjYsIDEpLFxuICAgICAgICBvcGFjaXR5ICAgMC4xMjVzIDAuMDVzO1xuICAgICAgb3BhY2l0eTogMDtcblxuICAgICAgLy8gQWRqdXN0IGZvciBSVEwgbGFuZ3VhZ2VzXG4gICAgICBbZGlyPVwicnRsXCJdICYge1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTEwMCUpO1xuICAgICAgfVxuXG4gICAgICAvLyBKdXN0IGhpZGUgbmF2aWdhdGlvbiwgaWYgYnJvd3NlciBkb2Vzbid0IHN1cHBvcnRzIDNEIHRyYW5zZm9ybXNcbiAgICAgIC5uby1jc3N0cmFuc2Zvcm1zM2QgJiB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gRXhwYW5kIG5lc3RlZCBuYXZpZ2F0aW9uLCBpZiB0b2dnbGUgaXMgY2hlY2tlZFxuICAgIC5tZC1uYXZfX3RvZ2dsZTpjaGVja2VkIH4gJiB7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XG4gICAgICB0cmFuc2l0aW9uOlxuICAgICAgICB0cmFuc2Zvcm0gMC4yNXMgY3ViaWMtYmV6aWVyKDAuNCwgMCwgMC4yLCAxKSxcbiAgICAgICAgb3BhY2l0eSAgIDAuMTI1cyAwLjEyNXM7XG4gICAgICBvcGFjaXR5OiAxO1xuXG4gICAgICAvLyBKdXN0IHNob3cgbmF2aWdhdGlvbiwgaWYgYnJvd3NlciBkb2Vzbid0IHN1cHBvcnRzIDNEIHRyYW5zZm9ybXNcbiAgICAgIC5uby1jc3N0cmFuc2Zvcm1zM2QgJiB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gW3RhYmxldCBwb3J0cmFpdCAtXTogU2hvdyB0YWJsZSBvZiBjb250ZW50cyBpbiBkcmF3ZXJcbiAgQGluY2x1ZGUgYnJlYWstdG8tZGV2aWNlKHRhYmxldCBwb3J0cmFpdCkge1xuXG4gICAgLy8gU2hvdyBsaW5rIHRvIHRhYmxlIG9mIGNvbnRlbnRzIC0gaGlnaGVyIHNwZWNpZmljaXR5IGlzIG5lY2Vzc2FyeSB0b1xuICAgIC8vIGRpc3BsYXkgdGhlIHRhYmxlIG9mIGNvbnRlbnRzIGluc2lkZSB0aGUgZHJhd2VyXG4gICAgaHRtbCAmX19saW5rW2Zvcj1cIl9fdG9jXCJdIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgcGFkZGluZy1yaWdodDogcHgycmVtKDQ4cHgpO1xuXG4gICAgICAvLyBVbnJvdGF0ZSBpY29uIGZvciB0YWJsZSBvZiBjb250ZW50c1xuICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICBjb2xvcjogaW5oZXJpdDtcbiAgICAgICAgY29udGVudDogXCJcXEU4REVcIjsgLy8gdG9jXG4gICAgICB9XG5cbiAgICAgIC8vIEhpZGUgbGluayB0byBjdXJyZW50IGl0ZW1cbiAgICAgICsgLm1kLW5hdl9fbGluayB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICB9XG5cbiAgICAgIC8vIFNob3cgdGFibGUgb2YgY29udGVudHNcbiAgICAgICYgfiAubWQtbmF2IHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBBZGp1c3QgZm9yIFJUTCBsYW5ndWFnZXNcbiAgICBodG1sIFtkaXI9XCJydGxcIl0gJl9fbGluayB7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiBweDJyZW0oMTZweCk7XG4gICAgICBwYWRkaW5nLWxlZnQ6IHB4MnJlbSg0OHB4KTtcbiAgICB9XG5cbiAgICAvLyBSZXBvc2l0b3J5IGNvbnRhaW5pbmcgc291cmNlXG4gICAgJl9fc291cmNlIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgcGFkZGluZzogMCBweDJyZW0oNHB4KTtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IG1peCgkbWQtY29sb3ItcHJpbWFyeSwgJG1kLWNvbG9yLWJsYWNrLCA3NSUpO1xuICAgICAgY29sb3I6ICRtZC1jb2xvci13aGl0ZTtcbiAgICB9XG4gIH1cblxuICAvLyBbc2NyZWVuICtdOiBUcmVlLWxpa2UgbmF2aWdhdGlvblxuICBAaW5jbHVkZSBicmVhay1mcm9tLWRldmljZShzY3JlZW4pIHtcblxuICAgIC8vIEFuaW1hdGlvbiBpcyBvbmx5IHBvc3NpYmxlIGlmIEphdmFTY3JpcHQgaXMgYXZhaWxhYmxlLCBhcyB0aGUgbWF4LWhlaWdodFxuICAgIC8vIHByb3BlcnR5IG11c3QgYmUgY2FsY3VsYXRlZCBiZWZvcmUgdHJhbnNpdGlvbmluZ1xuICAgICZbZGF0YS1tZC1zdGF0ZT1cImFuaW1hdGVcIl0ge1xuICAgICAgdHJhbnNpdGlvbjogbWF4LWhlaWdodCAwLjI1cyBjdWJpYy1iZXppZXIoMC44NiwgMCwgMC4wNywgMSk7XG4gICAgfVxuXG4gICAgLy8gSGlkZSBuZXN0ZWQgbmF2aWdhdGlvbiBieSBkZWZhdWx0XG4gICAgLm1kLW5hdl9fdG9nZ2xlIH4gJiB7XG4gICAgICBtYXgtaGVpZ2h0OiAwO1xuICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICAgICAgLy8gSnVzdCBoaWRlIGxpbmtzIGZvciBhY2Nlc3NpYmlsaXR5IGlmIEphdmFTY3JpcHQgaXMgbm90IGF2YWlsYWJsZVxuICAgICAgLm5vLWpzICYge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIEV4cGFuZCBuZXN0ZWQgbmF2aWdhdGlvbiwgaWYgdG9nZ2xlIGlzIGNoZWNrZWRcbiAgICAubWQtbmF2X190b2dnbGU6Y2hlY2tlZCB+ICYsXG4gICAgJltkYXRhLW1kLXN0YXRlPVwiZXhwYW5kXCJdIHtcbiAgICAgIG1heC1oZWlnaHQ6IDEwMCU7XG5cbiAgICAgIC8vIEp1c3Qgc2hvdyBmb3IgYWNjZXNzaWJpbGl0eSBsaW5rcyBpZiBKYXZhU2NyaXB0IGlzIG5vdCBhdmFpbGFibGVcbiAgICAgIC5uby1qcyAmIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gSGlkZSB0aXRsZXMgZm9yIG5lc3RlZCBuYXZpZ2F0aW9uXG4gICAgJl9faXRlbS0tbmVzdGVkID4gLm1kLW5hdiA+ICZfX3RpdGxlIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuXG4gICAgLy8gTGluayBpbnNpZGUgaXRlbSAtIGlkZWFsbHkgdGhlIGxpbmsgZGlzcGxheSBtZXRob2Qgd291bGQgYmUgc2V0IHRvXG4gICAgLy8gaW5saW5lIG9uIHNjcmVlbiwgYnV0IHRoaXMgZG9lc24ndCB3b3JrIHdpdGggdGV4dCBlbGxpcHNpc1xuICAgICZfX2xpbmsge1xuXG4gICAgICAvLyBJdGVtIGNvbnRhaW5zIGEgbmVzdGVkIGxpc3RcbiAgICAgIC5tZC1uYXZfX2l0ZW0tLW5lc3RlZCA+ICY6OmFmdGVyIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICB0cmFuc2Zvcm0tb3JpZ2luOiAwLjQ1ZW0gMC40NWVtO1xuICAgICAgICB0cmFuc2Zvcm0tc3R5bGU6IHByZXNlcnZlLTNkO1xuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogLTAuMTI1ZW07XG5cbiAgICAgICAgLy8gT25seSBhbmltYXRlIGljb24gd2hlbiBKYXZhU2NyaXB0IGlzIGF2YWlsYWJsZSwgYXMgdGhlIGhlaWdodCBjYW5cbiAgICAgICAgLy8gbm90IGJlIGFuaW1hdGVkIGFueXdheSwgYW5kIGJldHRlciBubyBmdW4gdGhhbiBoYWxmIHRoZSBmdW5cbiAgICAgICAgLmpzICYge1xuICAgICAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjRzO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC8vIFJvdGF0ZSBpY29uIGZvciBleHBhbmRlZCBsaXN0c1xuICAgICAgLm1kLW5hdl9faXRlbS0tbmVzdGVkIC5tZC1uYXZfX3RvZ2dsZTpjaGVja2VkIH4gJjo6YWZ0ZXIge1xuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZVgoMTgwZGVnKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vLy9cbi8vLyBDb3B5cmlnaHQgKGMpIDIwMTYtMjAyMCBNYXJ0aW4gRG9uYXRoIDxtYXJ0aW4uZG9uYXRoQHNxdWlkZnVuay5jb20+XG4vLy9cbi8vLyBQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYVxuLy8vIGNvcHkgb2YgdGhpcyBzb2Z0d2FyZSBhbmQgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGUgXCJTb2Z0d2FyZVwiKSxcbi8vLyB0byBkZWFsIGluIHRoZSBTb2Z0d2FyZSB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcgd2l0aG91dCBsaW1pdGF0aW9uXG4vLy8gdGhlIHJpZ2h0cyB0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsXG4vLy8gYW5kL29yIHNlbGwgY29waWVzIG9mIHRoZSBTb2Z0d2FyZSwgYW5kIHRvIHBlcm1pdCBwZXJzb25zIHRvIHdob20gdGhlXG4vLy8gU29mdHdhcmUgaXMgZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczpcbi8vL1xuLy8vIFRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIHNoYWxsIGJlIGluY2x1ZGVkIGluXG4vLy8gYWxsIGNvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUgU29mdHdhcmUuXG4vLy9cbi8vLyBUSEUgU09GVFdBUkUgSVMgUFJPVklERUQgXCJBUyBJU1wiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELCBFWFBSRVNTIE9SXG4vLy8gSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFksXG4vLy8gRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTi1JTkZSSU5HRU1FTlQuIElOIE5PIEVWRU5UIFNIQUxMXG4vLy8gVEhFIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkgQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVJcbi8vLyBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULCBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lOR1xuLy8vIEZST00sIE9VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhFIFNPRlRXQVJFIE9SIFRIRSBVU0UgT1IgT1RIRVJcbi8vLyBERUFMSU5HU1xuLy8vL1xuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBWYXJpYWJsZXNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLy8gQWN0aXZlICh0b2dnbGVkKSBzZWFyY2hcbiRtZC10b2dnbGVfX3NlYXJjaC0tY2hlY2tlZDpcbiAgXCJbZGF0YS1tZC10b2dnbGU9XFxcInNlYXJjaFxcXCJdOmNoZWNrZWQgfiAubWQtaGVhZGVyXCI7XG5cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIFJ1bGVzXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi8vIFNlYXJjaCBjb250YWluZXJcbi5tZC1zZWFyY2gge1xuXG4gIC8vIEhpZGUgc2VhcmNoLCBpZiBKYXZhU2NyaXB0IGlzIG5vdCBhdmFpbGFibGUuXG4gIC5uby1qcyAmIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG5cbiAgLy8gW3RhYmxldCBsYW5kc2NhcGUgK106IEhlYWRlci1lbWJlZGRlZCBzZWFyY2hcbiAgQGluY2x1ZGUgYnJlYWstZnJvbS1kZXZpY2UodGFibGV0IGxhbmRzY2FwZSkge1xuICAgIHBhZGRpbmc6IHB4MnJlbSg0cHgpO1xuICB9XG5cbiAgLy8gU2VhcmNoIG1vZGFsIG92ZXJsYXlcbiAgJl9fb3ZlcmxheSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICB6LWluZGV4OiAxO1xuXG4gICAgLy8gW3RhYmxldCBwb3J0cmFpdCAtXTogRnVsbC1zY3JlZW4gc2VhcmNoIGJhclxuICAgIEBpbmNsdWRlIGJyZWFrLXRvLWRldmljZSh0YWJsZXQgcG9ydHJhaXQpIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogcHgycmVtKDRweCk7XG4gICAgICBsZWZ0OiBweDJyZW0oNHB4KTtcbiAgICAgIHdpZHRoOiBweDJyZW0oMzZweCk7XG4gICAgICBoZWlnaHQ6IHB4MnJlbSgzNnB4KTtcbiAgICAgIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlcjtcbiAgICAgIHRyYW5zaXRpb246XG4gICAgICAgIHRyYW5zZm9ybSAwLjNzIDAuMXMsXG4gICAgICAgIG9wYWNpdHkgICAwLjJzIDAuMnM7XG4gICAgICBib3JkZXItcmFkaXVzOiBweDJyZW0oMjBweCk7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbWQtY29sb3Itd2hpdGU7XG4gICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG5cbiAgICAgIC8vIEFkanVzdCBmb3IgUlRMIGxhbmd1YWdlc1xuICAgICAgW2Rpcj1cInJ0bFwiXSAmIHtcbiAgICAgICAgcmlnaHQ6IHB4MnJlbSg0cHgpO1xuICAgICAgICBsZWZ0OiBpbml0aWFsO1xuICAgICAgfVxuXG4gICAgICAvLyBFeHBhbmRlZCBvdmVybGF5XG4gICAgICAjeyRtZC10b2dnbGVfX3NlYXJjaC0tY2hlY2tlZH0gJiB7XG4gICAgICAgIHRyYW5zaXRpb246XG4gICAgICAgICAgdHJhbnNmb3JtIDAuNHMsXG4gICAgICAgICAgb3BhY2l0eSAgIDAuMXM7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gU2V0IHNjYWxlIGZhY3RvcnNcbiAgICAjeyRtZC10b2dnbGVfX3NlYXJjaC0tY2hlY2tlZH0gJiB7XG5cbiAgICAgIC8vIFttb2JpbGUgcG9ydHJhaXQgLV06IFNjYWxlIHVwIDQ1IHRpbWVzXG4gICAgICBAaW5jbHVkZSBicmVhay10by1kZXZpY2UobW9iaWxlIHBvcnRyYWl0KSB7XG4gICAgICAgIHRyYW5zZm9ybTogc2NhbGUoNDUpO1xuICAgICAgfVxuXG4gICAgICAvLyBbbW9iaWxlIGxhbmRzY2FwZV06IFNjYWxlIHVwIDYwIHRpbWVzXG4gICAgICBAaW5jbHVkZSBicmVhay1hdC1kZXZpY2UobW9iaWxlIGxhbmRzY2FwZSkge1xuICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDYwKTtcbiAgICAgIH1cblxuICAgICAgLy8gW3RhYmxldCBwb3J0cmFpdF06IFNjYWxlIHVwIDc1IHRpbWVzXG4gICAgICBAaW5jbHVkZSBicmVhay1hdC1kZXZpY2UodGFibGV0IHBvcnRyYWl0KSB7XG4gICAgICAgIHRyYW5zZm9ybTogc2NhbGUoNzUpO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIFt0YWJsZXQgbGFuZHNjYXBlICtdOiBPdmVybGF5IGZvciBiZXR0ZXIgZm9jdXMgb24gc2VhcmNoXG4gICAgQGluY2x1ZGUgYnJlYWstZnJvbS1kZXZpY2UodGFibGV0IGxhbmRzY2FwZSkge1xuICAgICAgcG9zaXRpb246IGZpeGVkO1xuICAgICAgdG9wOiAwO1xuICAgICAgbGVmdDogMDtcbiAgICAgIHdpZHRoOiAwO1xuICAgICAgaGVpZ2h0OiAwO1xuICAgICAgdHJhbnNpdGlvbjpcbiAgICAgICAgd2lkdGggICAwcyAwLjI1cyxcbiAgICAgICAgaGVpZ2h0ICAwcyAwLjI1cyxcbiAgICAgICAgb3BhY2l0eSAwLjI1cztcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRtZC1jb2xvci1ibGFjay0tbGlnaHQ7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XG5cbiAgICAgIC8vIEFkanVzdCBmb3IgUlRMIGxhbmd1YWdlc1xuICAgICAgW2Rpcj1cInJ0bFwiXSAmIHtcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIGxlZnQ6IGluaXRpYWw7XG4gICAgICB9XG5cbiAgICAgIC8vIEV4cGFuZGVkIG92ZXJsYXlcbiAgICAgICN7JG1kLXRvZ2dsZV9fc2VhcmNoLS1jaGVja2VkfSAmIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgdHJhbnNpdGlvbjpcbiAgICAgICAgICB3aWR0aCAgIDBzLFxuICAgICAgICAgIGhlaWdodCAgMHMsXG4gICAgICAgICAgb3BhY2l0eSAwLjI1cztcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBTZWFyY2ggbW9kYWwgd3JhcHBlclxuICAmX19pbm5lciB7XG5cbiAgICAvLyBbdGFibGV0IHBvcnRyYWl0IC1dOiBQdXQgc2VhcmNoIG1vZGFsIG9mZi1jYW52YXMgYnkgZGVmYXVsdFxuICAgIEBpbmNsdWRlIGJyZWFrLXRvLWRldmljZSh0YWJsZXQgcG9ydHJhaXQpIHtcbiAgICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICAgIHRvcDogMDtcbiAgICAgIGxlZnQ6IDEwMCU7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCg1JSk7XG4gICAgICB0cmFuc2l0aW9uOlxuICAgICAgICByaWdodCAgICAgMHMgICAgMC4zcyxcbiAgICAgICAgbGVmdCAgICAgIDBzICAgIDAuM3MsXG4gICAgICAgIHRyYW5zZm9ybSAwLjE1cyAwLjE1cyBjdWJpYy1iZXppZXIoMC40LCAwLCAwLjIsIDEpLFxuICAgICAgICBvcGFjaXR5ICAgMC4xNXMgMC4xNXM7XG4gICAgICBvcGFjaXR5OiAwO1xuICAgICAgei1pbmRleDogMjtcblxuICAgICAgLy8gQWN0aXZlIHNlYXJjaCBtb2RhbFxuICAgICAgI3skbWQtdG9nZ2xlX19zZWFyY2gtLWNoZWNrZWR9ICYge1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XG4gICAgICAgIHRyYW5zaXRpb246XG4gICAgICAgICAgcmlnaHQgICAgIDBzICAgIDBzLFxuICAgICAgICAgIGxlZnQgICAgICAwcyAgICAwcyxcbiAgICAgICAgICB0cmFuc2Zvcm0gMC4xNXMgMC4xNXMgY3ViaWMtYmV6aWVyKDAuMSwgMC43LCAwLjEsIDEpLFxuICAgICAgICAgIG9wYWNpdHkgICAwLjE1cyAwLjE1cztcbiAgICAgICAgb3BhY2l0eTogMTtcblxuICAgICAgICAvLyBBZGp1c3QgZm9yIFJUTCBsYW5ndWFnZXNcbiAgICAgICAgW2Rpcj1cInJ0bFwiXSAmIHtcbiAgICAgICAgICByaWdodDogMDtcbiAgICAgICAgICBsZWZ0OiBpbml0aWFsO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC8vIEFkanVzdCBmb3IgUlRMIGxhbmd1YWdlc1xuICAgICAgaHRtbCBbZGlyPVwicnRsXCJdICYge1xuICAgICAgICByaWdodDogMTAwJTtcbiAgICAgICAgbGVmdDogaW5pdGlhbDtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01JSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gW3RhYmxldCBsYW5kc2NhcGUgK106IEhlYWRlci1lbWJlZGRlZCBzZWFyY2hcbiAgICBAaW5jbHVkZSBicmVhay1mcm9tLWRldmljZSh0YWJsZXQgbGFuZHNjYXBlKSB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICB3aWR0aDogcHgycmVtKDIzMHB4KTtcbiAgICAgIG1hcmdpbi1yaWdodDogcHgycmVtKDE2cHgpO1xuICAgICAgcGFkZGluZzogcHgycmVtKDJweCkgMDtcbiAgICAgIGZsb2F0OiByaWdodDtcbiAgICAgIHRyYW5zaXRpb246IHdpZHRoIDAuMjVzIGN1YmljLWJlemllcigwLjEsIDAuNywgMC4xLCAxKTtcblxuICAgICAgLy8gQWRqdXN0IGZvciBSVEwgbGFuZ3VhZ2VzXG4gICAgICBbZGlyPVwicnRsXCJdICYge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IGluaXRpYWw7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiBweDJyZW0oMTZweCk7XG4gICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIFtzY3JlZW4gK106IEluY3JlYXNlIHNwYWNpbmcgb2Ygc2VhcmNoIGJhclxuICAgIEBpbmNsdWRlIGJyZWFrLWZyb20tZGV2aWNlKHNjcmVlbikge1xuICAgICAgbWFyZ2luLXJpZ2h0OiBweDJyZW0oMjRweCk7XG5cbiAgICAgIC8vIEFkanVzdCBmb3IgUlRMIGxhbmd1YWdlc1xuICAgICAgW2Rpcj1cInJ0bFwiXSAmIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IHB4MnJlbSgyNHB4KTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBTZXQgbWF4aW11bSB3aWR0aFxuICAgICN7JG1kLXRvZ2dsZV9fc2VhcmNoLS1jaGVja2VkfSAmIHtcblxuICAgICAgLy8gW3RhYmxldCBsYW5kc2NhcGVdOiBEbyBub3Qgb3ZlcmxheSB0aXRsZVxuICAgICAgQGluY2x1ZGUgYnJlYWstYXQtZGV2aWNlKHRhYmxldCBsYW5kc2NhcGUpIHtcbiAgICAgICAgd2lkdGg6IHB4MnJlbSg0NjhweCk7XG4gICAgICB9XG5cbiAgICAgIC8vIFtzY3JlZW4gK106IE1hdGNoIGNvbnRlbnQgd2lkdGhcbiAgICAgIEBpbmNsdWRlIGJyZWFrLWZyb20tZGV2aWNlKHNjcmVlbikge1xuICAgICAgICB3aWR0aDogcHgycmVtKDY4OHB4KTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBTZWFyY2ggZm9ybVxuICAmX19mb3JtIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAvLyBbdGFibGV0IGxhbmRzY2FwZSArXTogSGVhZGVyLWVtYmVkZGVkIHNlYXJjaFxuICAgIEBpbmNsdWRlIGJyZWFrLWZyb20tZGV2aWNlKHRhYmxldCBsYW5kc2NhcGUpIHtcbiAgICAgIGJvcmRlci1yYWRpdXM6IHB4MnJlbSgycHgpO1xuICAgIH1cbiAgfVxuXG4gIC8vIFNlYXJjaCBpbnB1dFxuICAmX19pbnB1dCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHBhZGRpbmc6IDAgcHgycmVtKDQ0cHgpIDAgcHgycmVtKDcycHgpO1xuICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICAgIHotaW5kZXg6IDI7XG5cbiAgICAvLyBBZGp1c3QgZm9yIFJUTCBsYW5ndWFnZXNcbiAgICBbZGlyPVwicnRsXCJdICYge1xuICAgICAgcGFkZGluZzogMCBweDJyZW0oNzJweCkgMCBweDJyZW0oNDRweCk7XG4gICAgfVxuXG4gICAgLy8gVHJhbnNpdGlvbiBvbiBwbGFjZWhvbGRlclxuICAgICY6OnBsYWNlaG9sZGVyIHtcbiAgICAgIHRyYW5zaXRpb246IGNvbG9yIDAuMjVzIGN1YmljLWJlemllcigwLjEsIDAuNywgMC4xLCAxKTtcbiAgICB9XG5cbiAgICAvLyBQbGFjZWhvbGRlciBhbmQgaWNvbiBjb2xvciBpbiBhY3RpdmUgc3RhdGVcbiAgICB+IC5tZC1zZWFyY2hfX2ljb24sXG4gICAgJjo6cGxhY2Vob2xkZXIge1xuICAgICAgY29sb3I6ICRtZC1jb2xvci1ibGFjay0tbGlnaHQ7XG4gICAgfVxuXG4gICAgLy8gUmVtb3ZlIHRoZSBcInhcIiByZW5kZXJlZCBieSBJbnRlcm5ldCBFeHBsb3JlclxuICAgICY6Oi1tcy1jbGVhciB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cblxuICAgIC8vIFt0YWJsZXQgcG9ydHJhaXQgLV06IEZ1bGwtc2NyZWVuIHNlYXJjaCBiYXJcbiAgICBAaW5jbHVkZSBicmVhay10by1kZXZpY2UodGFibGV0IHBvcnRyYWl0KSB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGhlaWdodDogcHgycmVtKDQ4cHgpO1xuICAgICAgZm9udC1zaXplOiBweDJyZW0oMThweCk7XG4gICAgfVxuXG4gICAgLy8gW3RhYmxldCBsYW5kc2NhcGUgK106IEhlYWRlci1lbWJlZGRlZCBzZWFyY2hcbiAgICBAaW5jbHVkZSBicmVhay1mcm9tLWRldmljZSh0YWJsZXQgbGFuZHNjYXBlKSB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGhlaWdodDogcHgycmVtKDM2cHgpO1xuICAgICAgcGFkZGluZy1sZWZ0OiBweDJyZW0oNDRweCk7XG4gICAgICB0cmFuc2l0aW9uOlxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yIDAuMjVzIGN1YmljLWJlemllcigwLjEsIDAuNywgMC4xLCAxKSxcbiAgICAgICAgY29sb3IgICAgICAgICAgICAwLjI1cyBjdWJpYy1iZXppZXIoMC4xLCAwLjcsIDAuMSwgMSk7XG4gICAgICBib3JkZXItcmFkaXVzOiBweDJyZW0oMnB4KTtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRtZC1jb2xvci1ibGFjay0tbGlnaHRlcjtcbiAgICAgIGNvbG9yOiBpbmhlcml0O1xuICAgICAgZm9udC1zaXplOiBtcygwKTtcblxuICAgICAgLy8gQWRqdXN0IGZvciBSVEwgbGFuZ3VhZ2VzXG4gICAgICBbZGlyPVwicnRsXCJdICYge1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiBweDJyZW0oNDRweCk7XG4gICAgICB9XG5cbiAgICAgIC8vIEljb24gY29sb3JcbiAgICAgICsgLm1kLXNlYXJjaF9faWNvbiB7XG4gICAgICAgIGNvbG9yOiBpbmhlcml0O1xuICAgICAgfVxuXG4gICAgICAvLyBQbGFjZWhvbGRlciBjb2xvclxuICAgICAgJjo6cGxhY2Vob2xkZXIge1xuICAgICAgICBjb2xvcjogJG1kLWNvbG9yLXdoaXRlLS1saWdodDtcbiAgICAgIH1cblxuICAgICAgLy8gSG92ZXJlZCBzZWFyY2ggZmllbGRcbiAgICAgICY6aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbWQtY29sb3Itd2hpdGUtLWxpZ2h0ZXN0O1xuICAgICAgfVxuXG4gICAgICAvLyBTZXQgbGlnaHQgYmFja2dyb3VuZCBvbiBhY3RpdmUgc2VhcmNoIGZpZWxkXG4gICAgICAjeyRtZC10b2dnbGVfX3NlYXJjaC0tY2hlY2tlZH0gJiB7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IHB4MnJlbSgycHgpIHB4MnJlbSgycHgpIDAgMDtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJG1kLWNvbG9yLXdoaXRlO1xuICAgICAgICBjb2xvcjogJG1kLWNvbG9yLWJsYWNrO1xuICAgICAgICB0ZXh0LW92ZXJmbG93OiBjbGlwO1xuXG4gICAgICAgIC8vIFBsYWNlaG9sZGVyIGFuZCBpY29uIGNvbG9yIGluIGFjdGl2ZSBzdGF0ZVxuICAgICAgICArIC5tZC1zZWFyY2hfX2ljb24sXG4gICAgICAgICY6OnBsYWNlaG9sZGVyIHtcbiAgICAgICAgICBjb2xvcjogJG1kLWNvbG9yLWJsYWNrLS1saWdodDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIEljb25zXG4gICZfX2ljb24ge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0cmFuc2l0aW9uOlxuICAgICAgY29sb3IgICAwLjI1cyBjdWJpYy1iZXppZXIoMC4xLCAwLjcsIDAuMSwgMSksXG4gICAgICBvcGFjaXR5IDAuMjVzO1xuICAgIGZvbnQtc2l6ZTogJG1kLWljb24tc2l6ZTtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgei1pbmRleDogMjtcblxuICAgIC8vIEhvdmVyZWQgaWNvblxuICAgICY6aG92ZXIge1xuICAgICAgb3BhY2l0eTogMC43O1xuICAgIH1cblxuICAgIC8vIFNlYXJjaCBpY29uXG4gICAgJltmb3I9XCJfX3NlYXJjaFwiXSB7XG4gICAgICB0b3A6IHB4MnJlbSg2cHgpO1xuICAgICAgbGVmdDogcHgycmVtKDEwcHgpO1xuXG4gICAgICAvLyBBZGp1c3QgZm9yIFJUTCBsYW5ndWFnZXNcbiAgICAgIFtkaXI9XCJydGxcIl0gJiB7XG4gICAgICAgIHJpZ2h0OiBweDJyZW0oMTBweCk7XG4gICAgICAgIGxlZnQ6IGluaXRpYWw7XG4gICAgICB9XG5cbiAgICAgIC8vIFNldCBzZWFyY2ggaWNvbiBvbiBwc2V1ZG8gY2xhc3MsIHNvIGl0IGNhbiBiZSBvdmVycmlkZGVuIGZvciBtb2JpbGVcbiAgICAgIC8vIGFuZCB0YWJsZXQgd2hlbiB0aGUgc2VhcmNoIGlzIHJlbmRlcmVkIGluIGFuIG92ZXJsYXlcbiAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6IFwiXFxFOEI2XCI7IC8vIHNlYXJjaFxuICAgICAgfVxuXG4gICAgICAvLyBbdGFibGV0IHBvcnRyYWl0IC1dOiBGdWxsLXNjcmVlbiBzZWFyY2ggYmFyXG4gICAgICBAaW5jbHVkZSBicmVhay10by1kZXZpY2UodGFibGV0IHBvcnRyYWl0KSB7XG4gICAgICAgIHRvcDogcHgycmVtKDEycHgpO1xuICAgICAgICBsZWZ0OiBweDJyZW0oMTZweCk7XG5cbiAgICAgICAgLy8gU2hvdyBiYWNrIGFycm93IGluc3RlYWQgb2Ygc2VhcmNoIGljb25cbiAgICAgICAgJltmb3I9XCJfX3NlYXJjaFwiXTo6YmVmb3JlIHtcbiAgICAgICAgICBjb250ZW50OiBcIlxcRTVDNFwiOyAvLyBhcnJvd19iYWNrXG5cbiAgICAgICAgICAvLyBBZGp1c3QgZm9yIFJUTCBsYW5ndWFnZXNcbiAgICAgICAgICBbZGlyPVwicnRsXCJdICYge1xuICAgICAgICAgICAgY29udGVudDogXCJcXEU1QzhcIjsgLy8gYXJyb3dfZm9yd2FyZFxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC8vIFJlc2V0IGJ1dHRvblxuICAgICZbdHlwZT1cInJlc2V0XCJdIHtcbiAgICAgIHRvcDogcHgycmVtKDZweCk7XG4gICAgICByaWdodDogcHgycmVtKDEwcHgpO1xuICAgICAgdHJhbnNmb3JtOiBzY2FsZSgwLjEyNSk7XG4gICAgICB0cmFuc2l0aW9uOlxuICAgICAgICB0cmFuc2Zvcm0gMC4xNXMgY3ViaWMtYmV6aWVyKDAuMSwgMC43LCAwLjEsIDEpLFxuICAgICAgICBvcGFjaXR5ICAgMC4xNXM7XG4gICAgICBvcGFjaXR5OiAwO1xuXG4gICAgICAvLyBBZGp1c3QgZm9yIFJUTCBsYW5ndWFnZXNcbiAgICAgIFtkaXI9XCJydGxcIl0gJiB7XG4gICAgICAgIHJpZ2h0OiBpbml0aWFsO1xuICAgICAgICBsZWZ0OiBweDJyZW0oMTBweCk7XG4gICAgICB9XG5cbiAgICAgIC8vIFt0YWJsZXQgcG9ydHJhaXQgLV06IEZ1bGwtc2NyZWVuIHNlYXJjaCBiYXJcbiAgICAgIEBpbmNsdWRlIGJyZWFrLXRvLWRldmljZSh0YWJsZXQgcG9ydHJhaXQpIHtcbiAgICAgICAgdG9wOiBweDJyZW0oMTJweCk7XG4gICAgICAgIHJpZ2h0OiBweDJyZW0oMTZweCk7XG4gICAgICB9XG5cbiAgICAgIC8vIFNob3cgcmVzZXQgYnV0dG9uIGlmIHNlYXJjaCBpcyBhY3RpdmUgYW5kIGlucHV0IG5vbi1lbXB0eVxuICAgICAgI3skbWQtdG9nZ2xlX19zZWFyY2gtLWNoZWNrZWR9IC5tZC1zZWFyY2hfX2lucHV0OnZhbGlkIH4gJiB7XG4gICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7XG4gICAgICAgIG9wYWNpdHk6IDE7XG5cbiAgICAgICAgLy8gSG92ZXJlZCBpY29uXG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgIG9wYWNpdHk6IDAuNztcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIFNlYXJjaCBvdXRwdXQgY29udGFpbmVyXG4gICZfX291dHB1dCB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGJvcmRlci1yYWRpdXM6IDAgMCBweDJyZW0oMnB4KSBweDJyZW0oMnB4KTtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHotaW5kZXg6IDE7XG5cbiAgICAvLyBbdGFibGV0IHBvcnRyYWl0IC1dOiBGdWxsLXNjcmVlbiBzZWFyY2ggYmFyXG4gICAgQGluY2x1ZGUgYnJlYWstdG8tZGV2aWNlKHRhYmxldCBwb3J0cmFpdCkge1xuICAgICAgdG9wOiBweDJyZW0oNDhweCk7XG4gICAgICBib3R0b206IDA7XG4gICAgfVxuXG4gICAgLy8gW3RhYmxldCBsYW5kc2NhcGUgK106IEhlYWRlci1lbWJlZGRlZCBzZWFyY2hcbiAgICBAaW5jbHVkZSBicmVhay1mcm9tLWRldmljZSh0YWJsZXQgbGFuZHNjYXBlKSB7XG4gICAgICB0b3A6IHB4MnJlbSgzOHB4KTtcbiAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC40cztcbiAgICAgIG9wYWNpdHk6IDA7XG5cbiAgICAgIC8vIFNob3cgc2VhcmNoIG91dHB1dCBpbiBhY3RpdmUgc3RhdGVcbiAgICAgICN7JG1kLXRvZ2dsZV9fc2VhcmNoLS1jaGVja2VkfSAmIHtcbiAgICAgICAgQGluY2x1ZGUgei1kZXB0aCg2KTtcblxuICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIFdyYXBwZXIgZm9yIHNjcm9sbGluZyBvbiBvdmVyZmxvd1xuICAmX19zY3JvbGx3cmFwIHtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJG1kLWNvbG9yLXdoaXRlO1xuICAgIGJveC1zaGFkb3c6IDAgcHgycmVtKDFweCkgMCAkbWQtY29sb3ItYmxhY2stLWxpZ2h0ZXN0IGluc2V0O1xuICAgIG92ZXJmbG93LXk6IGF1dG87XG4gICAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoO1xuXG4gICAgLy8gW3RhYmxldCBsYW5kc2NhcGVdOiBTZXQgYWJzb2x1dGUgd2lkdGggdG8gb21pdCB1bm5lY2Vzc2FyeSByZWZsb3dcbiAgICBAaW5jbHVkZSBicmVhay1hdC1kZXZpY2UodGFibGV0IGxhbmRzY2FwZSkge1xuICAgICAgd2lkdGg6IHB4MnJlbSg0NjhweCk7XG4gICAgfVxuXG4gICAgLy8gW3NjcmVlbiArXTogU2V0IGFic29sdXRlIHdpZHRoIHRvIG9taXQgdW5uZWNlc3NhcnkgcmVmbG93XG4gICAgQGluY2x1ZGUgYnJlYWstZnJvbS1kZXZpY2Uoc2NyZWVuKSB7XG4gICAgICB3aWR0aDogcHgycmVtKDY4OHB4KTtcbiAgICB9XG5cbiAgICAvLyBbdGFibGV0IGxhbmRzY2FwZSArXTogTGltaXQgaGVpZ2h0IHRvIHZpZXdwb3J0XG4gICAgQGluY2x1ZGUgYnJlYWstZnJvbS1kZXZpY2UodGFibGV0IGxhbmRzY2FwZSkge1xuICAgICAgbWF4LWhlaWdodDogMDtcblxuICAgICAgLy8gRXhwYW5kIGluIGFjdGl2ZSBzdGF0ZVxuICAgICAgI3skbWQtdG9nZ2xlX19zZWFyY2gtLWNoZWNrZWR9ICYge1xuICAgICAgICBtYXgtaGVpZ2h0OiA3NXZoO1xuICAgICAgfVxuXG4gICAgICAvLyBPdmVycmlkZSBuYXRpdmUgc2Nyb2xsYmFyIHN0eWxlc1xuICAgICAgJjo6LXdlYmtpdC1zY3JvbGxiYXIge1xuICAgICAgICB3aWR0aDogcHgycmVtKDRweCk7XG4gICAgICAgIGhlaWdodDogcHgycmVtKDRweCk7XG4gICAgICB9XG5cbiAgICAgIC8vIFN0eWxlIHNjcm9sbGJhciB0aHVtYlxuICAgICAgJjo6LXdlYmtpdC1zY3JvbGxiYXItdGh1bWIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbWQtY29sb3ItYmxhY2stLWxpZ2h0ZXI7XG5cbiAgICAgICAgLy8gSG92ZXJlZCBzY3JvbGxiYXIgdGh1bWJcbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJG1kLWNvbG9yLWFjY2VudDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLyBTZWFyY2ggcmVzdWx0XG4ubWQtc2VhcmNoLXJlc3VsdCB7XG4gIGNvbG9yOiAkbWQtY29sb3ItYmxhY2s7XG4gIHdvcmQtYnJlYWs6IGJyZWFrLXdvcmQ7XG5cbiAgLy8gU2VhcmNoIG1ldGFkYXRhXG4gICZfX21ldGEge1xuICAgIHBhZGRpbmc6IDAgcHgycmVtKDE2cHgpO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRtZC1jb2xvci1ibGFjay0tbGlnaHRlc3Q7XG4gICAgY29sb3I6ICRtZC1jb2xvci1ibGFjay0tbGlnaHQ7XG4gICAgZm9udC1zaXplOiBtcygtMSk7XG4gICAgbGluZS1oZWlnaHQ6IHB4MnJlbSgzNnB4KTtcblxuICAgIC8vIFt0YWJsZXQgbGFuZHNjYXBlICtdOiBJbmNyZWFzZSBsZWZ0IGluZGVudFxuICAgIEBpbmNsdWRlIGJyZWFrLWZyb20tZGV2aWNlKHRhYmxldCBsYW5kc2NhcGUpIHtcbiAgICAgIHBhZGRpbmctbGVmdDogcHgycmVtKDQ0cHgpO1xuXG4gICAgICAvLyBBZGp1c3QgZm9yIFJUTCBsYW5ndWFnZXNcbiAgICAgIFtkaXI9XCJydGxcIl0gJiB7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IHB4MnJlbSg0NHB4KTtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiBpbml0aWFsO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIExpc3Qgb2YgaXRlbXNcbiAgJl9fbGlzdCB7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgYm9yZGVyLXRvcDogcHgycmVtKDFweCkgc29saWQgJG1kLWNvbG9yLWJsYWNrLS1saWdodGVzdDtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICB9XG5cbiAgLy8gTGlzdCBpdGVtXG4gICZfX2l0ZW0ge1xuICAgIGJveC1zaGFkb3c6IDAgcHgycmVtKC0xcHgpIDAgJG1kLWNvbG9yLWJsYWNrLS1saWdodGVzdDtcbiAgfVxuXG4gIC8vIExpbmsgaW5zaWRlIGl0ZW1cbiAgJl9fbGluayB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZCAwLjI1cztcbiAgICBvdXRsaW5lOiAwO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG5cbiAgICAvLyBBY3RpdmUgb3IgaG92ZXJlZCBsaW5rXG4gICAgJltkYXRhLW1kLXN0YXRlPVwiYWN0aXZlXCJdLFxuICAgICY6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnRpemUoJG1kLWNvbG9yLWFjY2VudCwgMC45KTtcblxuICAgICAgLy8gU2xpZ2h0bHkgdHJhbnNwYXJlbnQgaWNvblxuICAgICAgLm1kLXNlYXJjaC1yZXN1bHRfX2FydGljbGU6OmJlZm9yZSB7XG4gICAgICAgIG9wYWNpdHk6IDAuNztcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBBZGQgYSBsaXR0bGUgc3BhY2luZyBvbiB0aGUgdGVhc2VyIG9mIHRoZSBsYXN0IGxpbmtcbiAgICAmOmxhc3QtY2hpbGQgLm1kLXNlYXJjaC1yZXN1bHRfX3RlYXNlciB7XG4gICAgICBtYXJnaW4tYm90dG9tOiBweDJyZW0oMTJweCk7XG4gICAgfVxuICB9XG5cbiAgLy8gQXJ0aWNsZSAtIGRvY3VtZW50IG9yIHNlY3Rpb25cbiAgJl9fYXJ0aWNsZSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHBhZGRpbmc6IDAgcHgycmVtKDE2cHgpO1xuICAgIG92ZXJmbG93OiBhdXRvO1xuXG4gICAgLy8gW3RhYmxldCBsYW5kc2NhcGUgK106IEluY3JlYXNlIGxlZnQgaW5kZW50XG4gICAgQGluY2x1ZGUgYnJlYWstZnJvbS1kZXZpY2UodGFibGV0IGxhbmRzY2FwZSkge1xuICAgICAgcGFkZGluZy1sZWZ0OiBweDJyZW0oNDRweCk7XG5cbiAgICAgIC8vIEFkanVzdCBmb3IgUlRMIGxhbmd1YWdlc1xuICAgICAgW2Rpcj1cInJ0bFwiXSAmIHtcbiAgICAgICAgcGFkZGluZy1yaWdodDogcHgycmVtKDQ0cHgpO1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IHB4MnJlbSgxNnB4KTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBEb2N1bWVudFxuICAgICYtLWRvY3VtZW50IHtcblxuICAgICAgLy8gSWNvblxuICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgQGV4dGVuZCAlbWQtaWNvbiwgJW1kLWljb25fX2J1dHRvbjtcblxuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIG1hcmdpbjogcHgycmVtKDJweCk7XG4gICAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC4yNXM7XG4gICAgICAgIGNvbG9yOiAkbWQtY29sb3ItYmxhY2stLWxpZ2h0O1xuICAgICAgICBjb250ZW50OiBcIlxcRTg4MFwiOyAvLyBmaW5kX2luX3BhZ2VcblxuICAgICAgICAvLyBBZGp1c3QgZm9yIFJUTCBsYW5ndWFnZXNcbiAgICAgICAgW2Rpcj1cInJ0bFwiXSAmIHtcbiAgICAgICAgICByaWdodDogMDtcbiAgICAgICAgICBsZWZ0OiBpbml0aWFsO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gW3RhYmxldCBwb3J0cmFpdCAtXTogSGlkZSBwYWdlIGljb25cbiAgICAgICAgQGluY2x1ZGUgYnJlYWstdG8tZGV2aWNlKHRhYmxldCBwb3J0cmFpdCkge1xuICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLy8gVGl0bGVcbiAgICAgIC5tZC1zZWFyY2gtcmVzdWx0X190aXRsZSB7XG4gICAgICAgIG1hcmdpbjogcHgycmVtKDExcHgpIDA7XG4gICAgICAgIGZvbnQtc2l6ZTogbXMoMCk7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjQ7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gVGl0bGVcbiAgJl9fdGl0bGUge1xuICAgIG1hcmdpbjogMC41ZW0gMDtcbiAgICBmb250LXNpemU6IG1zKC0xKTtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjQ7XG4gIH1cblxuICAvLyBzdHlsZWxpbnQtZGlzYWJsZSB2YWx1ZS1uby12ZW5kb3ItcHJlZml4LCBwcm9wZXJ0eS1uby12ZW5kb3ItcHJlZml4XG5cbiAgLy8gVGVhc2VyXG4gICZfX3RlYXNlciB7XG4gICAgZGlzcGxheTogLXdlYmtpdC1ib3g7XG4gICAgbWF4LWhlaWdodDogcHgycmVtKDMzcHgpO1xuICAgIG1hcmdpbjogMC41ZW0gMDtcbiAgICBjb2xvcjogJG1kLWNvbG9yLWJsYWNrLS1saWdodDtcbiAgICBmb250LXNpemU6IG1zKC0xKTtcbiAgICBsaW5lLWhlaWdodDogMS40O1xuICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgLXdlYmtpdC1ib3gtb3JpZW50OiB2ZXJ0aWNhbDtcbiAgICAtd2Via2l0LWxpbmUtY2xhbXA6IDI7XG5cbiAgICAvLyBbbW9iaWxlIC1dOiBJbmNyZWFzZSBudW1iZXIgb2YgbGluZXNcbiAgICBAaW5jbHVkZSBicmVhay10by1kZXZpY2UobW9iaWxlKSB7XG4gICAgICBtYXgtaGVpZ2h0OiBweDJyZW0oNTBweCk7XG4gICAgICAtd2Via2l0LWxpbmUtY2xhbXA6IDM7XG4gICAgfVxuXG4gICAgLy8gW3RhYmxldCBsYW5kc2NhcGVdOiBJbmNyZWFzZSBudW1iZXIgb2YgbGluZXNcbiAgICBAaW5jbHVkZSBicmVhay1hdC1kZXZpY2UodGFibGV0IGxhbmRzY2FwZSkge1xuICAgICAgbWF4LWhlaWdodDogcHgycmVtKDUwcHgpO1xuICAgICAgLXdlYmtpdC1saW5lLWNsYW1wOiAzO1xuICAgIH1cbiAgfVxuXG4gIC8vIHN0eWxlbGludC1lbmFibGUgdmFsdWUtbm8tdmVuZG9yLXByZWZpeCwgcHJvcGVydHktbm8tdmVuZG9yLXByZWZpeFxuXG4gIC8vIFNlYXJjaCB0ZXJtIGhpZ2hsaWdodGluZ1xuICBlbSB7XG4gICAgZm9udC1zdHlsZTogbm9ybWFsO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gIH1cbn1cbiIsIi8vLy9cbi8vLyBDb3B5cmlnaHQgKGMpIDIwMTYtMjAyMCBNYXJ0aW4gRG9uYXRoIDxtYXJ0aW4uZG9uYXRoQHNxdWlkZnVuay5jb20+XG4vLy9cbi8vLyBQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYVxuLy8vIGNvcHkgb2YgdGhpcyBzb2Z0d2FyZSBhbmQgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGUgXCJTb2Z0d2FyZVwiKSxcbi8vLyB0byBkZWFsIGluIHRoZSBTb2Z0d2FyZSB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcgd2l0aG91dCBsaW1pdGF0aW9uXG4vLy8gdGhlIHJpZ2h0cyB0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsXG4vLy8gYW5kL29yIHNlbGwgY29waWVzIG9mIHRoZSBTb2Z0d2FyZSwgYW5kIHRvIHBlcm1pdCBwZXJzb25zIHRvIHdob20gdGhlXG4vLy8gU29mdHdhcmUgaXMgZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczpcbi8vL1xuLy8vIFRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIHNoYWxsIGJlIGluY2x1ZGVkIGluXG4vLy8gYWxsIGNvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUgU29mdHdhcmUuXG4vLy9cbi8vLyBUSEUgU09GVFdBUkUgSVMgUFJPVklERUQgXCJBUyBJU1wiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELCBFWFBSRVNTIE9SXG4vLy8gSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFksXG4vLy8gRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTi1JTkZSSU5HRU1FTlQuIElOIE5PIEVWRU5UIFNIQUxMXG4vLy8gVEhFIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkgQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVJcbi8vLyBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULCBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lOR1xuLy8vIEZST00sIE9VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhFIFNPRlRXQVJFIE9SIFRIRSBVU0UgT1IgT1RIRVJcbi8vLyBERUFMSU5HU1xuLy8vL1xuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBWYXJpYWJsZXNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLy8gQWN0aXZlICh0b2dnbGVkKSBkcmF3ZXJcbiRtZC10b2dnbGVfX2RyYXdlci0tY2hlY2tlZDpcbiAgXCJbZGF0YS1tZC10b2dnbGU9XFxcImRyYXdlclxcXCJdOmNoZWNrZWQgfiAubWQtY29udGFpbmVyXCI7XG5cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIFJ1bGVzXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi8vIFNpZGViYXIgY29udGFpbmVyXG4ubWQtc2lkZWJhciB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgd2lkdGg6IHB4MnJlbSgyNDJweCk7XG4gIHBhZGRpbmc6IHB4MnJlbSgyNHB4KSAwO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gIC8vIEhpZGUgZm9yIHByaW50XG4gIEBtZWRpYSBwcmludCB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuXG4gIC8vIExvY2sgc2lkZWJhciB0byBjb250YWluZXIgaGVpZ2h0IChhY2NvdW50IGZvciBmaXhlZCBoZWFkZXIpXG4gICZbZGF0YS1tZC1zdGF0ZT1cImxvY2tcIl0ge1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICB0b3A6IHB4MnJlbSg0OHB4KTtcbiAgfVxuXG4gIC8vIFt0YWJsZXQgLV06IENvbnZlcnQgbmF2aWdhdGlvbiB0byBkcmF3ZXJcbiAgQGluY2x1ZGUgYnJlYWstdG8tZGV2aWNlKHRhYmxldCkge1xuXG4gICAgLy8gUmVuZGVyIHByaW1hcnkgc2lkZWJhciBhcyBhIHNsaWRlb3V0IGNvbnRhaW5lclxuICAgICYtLXByaW1hcnkge1xuICAgICAgcG9zaXRpb246IGZpeGVkO1xuICAgICAgdG9wOiAwO1xuICAgICAgbGVmdDogcHgycmVtKC0yNDJweCk7XG4gICAgICB3aWR0aDogcHgycmVtKDI0MnB4KTtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcbiAgICAgIHRyYW5zaXRpb246XG4gICAgICAgIHRyYW5zZm9ybSAgMC4yNXMgY3ViaWMtYmV6aWVyKDAuNCwgMCwgMC4yLCAxKSxcbiAgICAgICAgYm94LXNoYWRvdyAwLjI1cztcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRtZC1jb2xvci13aGl0ZTtcbiAgICAgIHotaW5kZXg6IDM7XG5cbiAgICAgIC8vIEFkanVzdCBmb3IgUlRMIGxhbmd1YWdlc1xuICAgICAgW2Rpcj1cInJ0bFwiXSAmIHtcbiAgICAgICAgcmlnaHQ6IHB4MnJlbSgtMjQycHgpO1xuICAgICAgICBsZWZ0OiBpbml0aWFsO1xuICAgICAgfVxuXG4gICAgICAvLyBKdXN0IGhpZGUgZHJhd2VyLCBpZiBicm93c2VyIGRvZXNuJ3Qgc3VwcG9ydCAzRCB0cmFuc2Zvcm1zXG4gICAgICAubm8tY3NzdHJhbnNmb3JtczNkICYge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgfVxuXG4gICAgICAvLyBFeHBhbmRlZCBkcmF3ZXJcbiAgICAgICN7JG1kLXRvZ2dsZV9fZHJhd2VyLS1jaGVja2VkfSAmIHtcbiAgICAgICAgQGluY2x1ZGUgei1kZXB0aCg4KTtcblxuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgocHgycmVtKDI0MnB4KSk7XG5cbiAgICAgICAgLy8gQWRqdXN0IGZvciBSVEwgbGFuZ3VhZ2VzXG4gICAgICAgIFtkaXI9XCJydGxcIl0gJiB7XG4gICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKHB4MnJlbSgtMjQycHgpKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIEp1c3Qgc2hvdyBkcmF3ZXIsIGlmIGJyb3dzZXIgZG9lc24ndCBzdXBwb3J0IDNEIHRyYW5zZm9ybXNcbiAgICAgICAgLm5vLWNzc3RyYW5zZm9ybXMzZCAmIHtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAvLyBIaWRlIG92ZXJmbG93IGZvciBuZXN0ZWQgbmF2aWdhdGlvblxuICAgICAgLm1kLXNpZGViYXJfX3Njcm9sbHdyYXAge1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIFNlY29uZGFyeSBzaWRlYmFyIHdpdGggdGFibGUgb2YgY29udGVudHNcbiAgJi0tc2Vjb25kYXJ5IHtcbiAgICBkaXNwbGF5OiBub25lO1xuXG4gICAgLy8gW3RhYmxldCBsYW5kc2NhcGUgK106IFNob3cgdGFibGUgb2YgY29udGVudHMgbmV4dCB0byBib2R5IGNvcHlcbiAgICBAaW5jbHVkZSBicmVhay1mcm9tLWRldmljZSh0YWJsZXQgbGFuZHNjYXBlKSB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIG1hcmdpbi1sZWZ0OiAxMDAlO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTEwMCUsIDApO1xuXG4gICAgICAvLyBBZGp1c3QgZm9yIFJUTCBsYW5ndWFnZXNcbiAgICAgIFtkaXI9XCJydGxcIl0gJiB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMTAwJTtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IGluaXRpYWw7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDEwMCUsIDApO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIFtzY3JlZW4gK106IExpbWl0IHRvIGdyaWRcbiAgICBAaW5jbHVkZSBicmVhay1mcm9tLWRldmljZShzY3JlZW4pIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiBweDJyZW0oMTIyMHB4KTtcblxuICAgICAgLy8gQWRqdXN0IGZvciBSVEwgbGFuZ3VhZ2VzXG4gICAgICBbZGlyPVwicnRsXCJdICYge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IHB4MnJlbSgxMjIwcHgpO1xuICAgICAgICBtYXJnaW4tbGVmdDogaW5pdGlhbDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBXcmFwcGVyIGZvciBzY3JvbGxpbmcgb24gb3ZlcmZsb3dcbiAgJl9fc2Nyb2xsd3JhcCB7XG4gICAgbWF4LWhlaWdodDogMTAwJTtcbiAgICBtYXJnaW46IDAgcHgycmVtKDRweCk7XG4gICAgb3ZlcmZsb3cteTogYXV0bztcbiAgICAvLyBIYWNrOiBwdXR0aW5nIHRoZSBzY3JvbGwgd3JhcHBlciBvbiB0aGUgR1BVIG1hc3NpdmVseSByZWR1Y2VzIGppdHRlclxuICAgIC8vIHdoZW4gbG9ja2luZyB0aGUgc2lkZWJhcnMgaW50byBwbGFjZVxuICAgIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcblxuICAgIC8vIFt0YWJsZXQgLV06IEFkanVzdCBtYXJnaW5zXG4gICAgQGluY2x1ZGUgYnJlYWstdG8tZGV2aWNlKHRhYmxldCkge1xuXG4gICAgICAvLyBTdHJldGNoIHNjcm9sbHdyYXAgZm9yIHByaW1hcnkgc2lkZWJhclxuICAgICAgLm1kLXNpZGViYXItLXByaW1hcnkgJiB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICByaWdodDogMDtcbiAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gT3ZlcnJpZGUgbmF0aXZlIHNjcm9sbGJhciBzdHlsZXNcbiAgICAmOjotd2Via2l0LXNjcm9sbGJhciB7XG4gICAgICB3aWR0aDogcHgycmVtKDRweCk7XG4gICAgICBoZWlnaHQ6IHB4MnJlbSg0cHgpO1xuICAgIH1cblxuICAgIC8vIFN0eWxlIHNjcm9sbGJhciB0aHVtYlxuICAgICY6Oi13ZWJraXQtc2Nyb2xsYmFyLXRodW1iIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRtZC1jb2xvci1ibGFjay0tbGlnaHRlcjtcblxuICAgICAgLy8gSG92ZXJlZCBzY3JvbGxiYXIgdGh1bWJcbiAgICAgICY6aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbWQtY29sb3ItYWNjZW50O1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8vL1xuLy8vIENvcHlyaWdodCAoYykgMjAxNi0yMDIwIE1hcnRpbiBEb25hdGggPG1hcnRpbi5kb25hdGhAc3F1aWRmdW5rLmNvbT5cbi8vL1xuLy8vIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBhXG4vLy8gY29weSBvZiB0aGlzIHNvZnR3YXJlIGFuZCBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZSBcIlNvZnR3YXJlXCIpLFxuLy8vIHRvIGRlYWwgaW4gdGhlIFNvZnR3YXJlIHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1ZGluZyB3aXRob3V0IGxpbWl0YXRpb25cbi8vLyB0aGUgcmlnaHRzIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwgZGlzdHJpYnV0ZSwgc3VibGljZW5zZSxcbi8vLyBhbmQvb3Igc2VsbCBjb3BpZXMgb2YgdGhlIFNvZnR3YXJlLCBhbmQgdG8gcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGVcbi8vLyBTb2Z0d2FyZSBpcyBmdXJuaXNoZWQgdG8gZG8gc28sIHN1YmplY3QgdG8gdGhlIGZvbGxvd2luZyBjb25kaXRpb25zOlxuLy8vXG4vLy8gVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWQgaW5cbi8vLyBhbGwgY29waWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25zIG9mIHRoZSBTb2Z0d2FyZS5cbi8vL1xuLy8vIFRIRSBTT0ZUV0FSRSBJUyBQUk9WSURFRCBcIkFTIElTXCIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsIEVYUFJFU1MgT1Jcbi8vLyBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSxcbi8vLyBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OLUlORlJJTkdFTUVOVC4gSU4gTk8gRVZFTlQgU0hBTExcbi8vLyBUSEUgQVVUSE9SUyBPUiBDT1BZUklHSFQgSE9MREVSUyBCRSBMSUFCTEUgRk9SIEFOWSBDTEFJTSwgREFNQUdFUyBPUiBPVEhFUlxuLy8vIExJQUJJTElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HXG4vLy8gRlJPTSwgT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUlxuLy8vIERFQUxJTkdTXG4vLy8vXG5cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIEtleWZyYW1lc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4vLyBTaG93IHNvdXJjZSBmYWN0c1xuQGtleWZyYW1lcyBtZC1zb3VyY2VfX2ZhY3RzLS1kb25lIHtcbiAgMCUge1xuICAgIGhlaWdodDogMDtcbiAgfVxuXG4gIDEwMCUge1xuICAgIGhlaWdodDogcHgycmVtKDEzcHgpO1xuICB9XG59XG5cbi8vIFNob3cgc291cmNlIGZhY3RcbkBrZXlmcmFtZXMgbWQtc291cmNlX19mYWN0LS1kb25lIHtcbiAgMCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgxMDAlKTtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG5cbiAgNTAlIHtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG5cbiAgMTAwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDAlKTtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG59XG5cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIFJ1bGVzXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi8vIFNvdXJjZSBjb250YWluZXJcbi5tZC1zb3VyY2Uge1xuICBkaXNwbGF5OiBibG9jaztcbiAgcGFkZGluZy1yaWdodDogcHgycmVtKDEycHgpO1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuMjVzO1xuICBmb250LXNpemU6IHB4MnJlbSgxM3B4KTtcbiAgbGluZS1oZWlnaHQ6IDEuMjtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcblxuICAvLyBBZGp1c3QgZm9yIFJUTCBsYW5ndWFnZXNcbiAgW2Rpcj1cInJ0bFwiXSAmIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiBpbml0aWFsO1xuICAgIHBhZGRpbmctbGVmdDogcHgycmVtKDEycHgpO1xuICB9XG5cbiAgLy8gSG92ZXJlZCBzb3VyY2UgY29udGFpbmVyXG4gICY6aG92ZXIge1xuICAgIG9wYWNpdHk6IDAuNztcbiAgfVxuXG4gIC8vIE5lY2Vzc2FyeSBmb3IgdmVydGljYWwgYWxpZ25tZW50XG4gICY6OmFmdGVyIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgaGVpZ2h0OiBweDJyZW0oNDhweCk7XG4gICAgY29udGVudDogXCJcIjtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICB9XG5cbiAgLy8gUmVwb3NpdG9yeSBwbGF0Zm9ybSBpY29uXG4gICZfX2ljb24ge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB3aWR0aDogcHgycmVtKDQ4cHgpO1xuICAgIGhlaWdodDogcHgycmVtKDQ4cHgpO1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcblxuICAgIC8vIEFsaWduIFNWRywgZG8gbm90IHNjYWxlLCBhcyB0aGlzIHdpbGwgaW5jdXIgc3RyYW5nZSBmb3JtYXR0aW5nIGJ1Z3NcbiAgICAvLyBpbiBJbnRlcm5ldCBFeHBsb3JlciBhbmQgRWRnZVxuICAgIHN2ZyB7XG4gICAgICB3aWR0aDogcHgycmVtKDI0cHgpO1xuICAgICAgaGVpZ2h0OiBweDJyZW0oMjRweCk7XG4gICAgICBtYXJnaW4tdG9wOiBweDJyZW0oMTJweCk7XG4gICAgICBtYXJnaW4tbGVmdDogcHgycmVtKDEycHgpO1xuXG4gICAgICAvLyBBZGp1c3QgZm9yIFJUTCBsYW5ndWFnZXNcbiAgICAgIFtkaXI9XCJydGxcIl0gJiB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogcHgycmVtKDEycHgpO1xuICAgICAgICBtYXJnaW4tbGVmdDogaW5pdGlhbDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBDb3JyZWN0IGFsaWdubWVudCwgaWYgaWNvbiBpcyBwcmVzZW50XG4gICAgKyAubWQtc291cmNlX19yZXBvc2l0b3J5IHtcbiAgICAgIG1hcmdpbi1sZWZ0OiBweDJyZW0oLTQwcHgpO1xuICAgICAgcGFkZGluZy1sZWZ0OiBweDJyZW0oNDBweCk7XG5cbiAgICAgIC8vIEFkanVzdCBmb3IgUlRMIGxhbmd1YWdlc1xuICAgICAgW2Rpcj1cInJ0bFwiXSAmIHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiBweDJyZW0oLTQwcHgpO1xuICAgICAgICBtYXJnaW4tbGVmdDogaW5pdGlhbDtcbiAgICAgICAgcGFkZGluZy1yaWdodDogcHgycmVtKDQwcHgpO1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IGluaXRpYWw7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gUmVwb3NpdG9yeSBuYW1lXG4gICZfX3JlcG9zaXRvcnkge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luLWxlZnQ6IHB4MnJlbSgxMnB4KTtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgfVxuXG4gIC8vIFNvdXJjZSBmYWN0cyAoc3RhdGlzdGljcyBldGMuKVxuICAmX19mYWN0cyB7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgZm9udC1zaXplOiBweDJyZW0oMTFweCk7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG4gICAgb3BhY2l0eTogMC43NTtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gICAgLy8gU2hvdyBhZnRlciB0aGUgZGF0YSB3YXMgbG9hZGVkXG4gICAgW2RhdGEtbWQtc3RhdGU9XCJkb25lXCJdICYge1xuICAgICAgYW5pbWF0aW9uOiBtZC1zb3VyY2VfX2ZhY3RzLS1kb25lIDAuMjVzIGVhc2UtaW47XG4gICAgfVxuICB9XG5cbiAgLy8gRmFjdFxuICAmX19mYWN0IHtcbiAgICBmbG9hdDogbGVmdDtcblxuICAgIC8vIEFkanVzdCBmb3IgUlRMIGxhbmd1YWdlc1xuICAgIFtkaXI9XCJydGxcIl0gJiB7XG4gICAgICBmbG9hdDogcmlnaHQ7XG4gICAgfVxuXG4gICAgLy8gU2hvdyBhZnRlciB0aGUgZGF0YSB3YXMgbG9hZGVkXG4gICAgW2RhdGEtbWQtc3RhdGU9XCJkb25lXCJdICYge1xuICAgICAgYW5pbWF0aW9uOiBtZC1zb3VyY2VfX2ZhY3QtLWRvbmUgMC40cyBlYXNlLW91dDtcbiAgICB9XG5cbiAgICAvLyBNaWRkbGUgZG90IGJlZm9yZSBmYWN0XG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIG1hcmdpbjogMCBweDJyZW0oMnB4KTtcbiAgICAgIGNvbnRlbnQ6IFwiXFwwMEI3XCI7XG4gICAgfVxuXG4gICAgLy8gUmVtb3ZlIG1pZGRsZSBkb3Qgb24gZmlyc3QgZmFjdFxuICAgICY6Zmlyc3QtY2hpbGQ6OmJlZm9yZSB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgfVxufVxuXG4vLyBTb3VyY2UgZmlsZVxuLm1kLXNvdXJjZS1maWxlIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBtYXJnaW46IDFlbSAwLjVlbSAxZW0gMDtcbiAgcGFkZGluZy1yaWdodDogcHgycmVtKDVweCk7XG4gIGJvcmRlci1yYWRpdXM6IHB4MnJlbSgycHgpO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkbWQtY29sb3ItYmxhY2stLWxpZ2h0ZXN0O1xuICBmb250LXNpemU6IG1zKC0xKTtcbiAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIG92ZXJmbG93OiBoaWRkZW47XG5cbiAgLy8gSWNvblxuICAmOjpiZWZvcmUge1xuICAgIEBleHRlbmQgJW1kLWljb247XG5cbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgbWFyZ2luLXJpZ2h0OiBweDJyZW0oNXB4KTtcbiAgICBwYWRkaW5nOiBweDJyZW0oNXB4KTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbWQtY29sb3ItYmxhY2stLWxpZ2h0ZXI7XG4gICAgY29sb3I6ICRtZC1jb2xvci13aGl0ZTtcbiAgICBmb250LXNpemU6IG1zKDApO1xuICAgIGNvbnRlbnQ6IFwiXFxFODZGXCI7IC8vIGNvZGVcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICB9XG5cbiAgLy8gU29tZSBwcm9wZXJ0aWVzIG5lZWQgdG8gYmUgc2V0IHdpdGggaGlnaGVyIHNwZWNpZmljaXR5IGR1ZSB0byB0aGUgZGVmYXVsdFxuICAvLyBzdHlsaW5nIG9mIHRleHQgbGlua3MgaW5zaWRlIHR5cGVzZXR0ZWQgY29udGVudFxuICBodG1sICYge1xuICAgIHRyYW5zaXRpb246XG4gICAgICBiYWNrZ3JvdW5kIDAuNHMsXG4gICAgICBjb2xvciAgICAgIDAuNHMsXG4gICAgICBib3gtc2hhZG93IDAuNHMgY3ViaWMtYmV6aWVyKDAuNCwgMCwgMC4yLCAxKTtcblxuICAgIC8vIEljb25cbiAgICAmOjpiZWZvcmUge1xuICAgICAgdHJhbnNpdGlvbjogaW5oZXJpdDtcbiAgICB9XG4gIH1cblxuICAvLyBDb2xvciBuZWVkcyBldmVuIGhpZ2hlciBzcGVjaWZpdHkgYmVjYXVzZSBjdXN0b20gY29sb3IgcGFsZXR0ZXMgYXJlIHNldFxuICAvLyB1c2luZyB0aGUgYm9keSBhbmQgb3ZlcnJpZGUgdGV4dCBsaW5rcyBpbnNpZGUgdHlwZXNldHRlZCBjb250ZW50XG4gIGh0bWwgYm9keSAubWQtdHlwZXNldCAmIHtcbiAgICBjb2xvcjogJG1kLWNvbG9yLWJsYWNrLS1saWdodDtcbiAgfVxuXG4gIC8vIEhvdmVyZWQgc291cmNlIGZpbGVcbiAgJjpob3ZlciB7XG4gICAgQGluY2x1ZGUgei1kZXB0aC1mb2N1cztcblxuICAgIC8vIEljb25cbiAgICAmOjpiZWZvcmUge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJG1kLWNvbG9yLWFjY2VudDtcbiAgICB9XG4gIH1cbn1cbiIsIi8vLy9cbi8vLyBDb3B5cmlnaHQgKGMpIDIwMTYtMjAyMCBNYXJ0aW4gRG9uYXRoIDxtYXJ0aW4uZG9uYXRoQHNxdWlkZnVuay5jb20+XG4vLy9cbi8vLyBQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYVxuLy8vIGNvcHkgb2YgdGhpcyBzb2Z0d2FyZSBhbmQgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGUgXCJTb2Z0d2FyZVwiKSxcbi8vLyB0byBkZWFsIGluIHRoZSBTb2Z0d2FyZSB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcgd2l0aG91dCBsaW1pdGF0aW9uXG4vLy8gdGhlIHJpZ2h0cyB0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsXG4vLy8gYW5kL29yIHNlbGwgY29waWVzIG9mIHRoZSBTb2Z0d2FyZSwgYW5kIHRvIHBlcm1pdCBwZXJzb25zIHRvIHdob20gdGhlXG4vLy8gU29mdHdhcmUgaXMgZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczpcbi8vL1xuLy8vIFRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIHNoYWxsIGJlIGluY2x1ZGVkIGluXG4vLy8gYWxsIGNvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUgU29mdHdhcmUuXG4vLy9cbi8vLyBUSEUgU09GVFdBUkUgSVMgUFJPVklERUQgXCJBUyBJU1wiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELCBFWFBSRVNTIE9SXG4vLy8gSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFksXG4vLy8gRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTi1JTkZSSU5HRU1FTlQuIElOIE5PIEVWRU5UIFNIQUxMXG4vLy8gVEhFIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkgQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVJcbi8vLyBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULCBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lOR1xuLy8vIEZST00sIE9VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhFIFNPRlRXQVJFIE9SIFRIRSBVU0UgT1IgT1RIRVJcbi8vLyBERUFMSU5HU1xuLy8vL1xuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBSdWxlc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4vLyBUYWJzIHdpdGggb3V0bGluZVxuLm1kLXRhYnMge1xuICB3aWR0aDogMTAwJTtcbiAgdHJhbnNpdGlvbjogYmFja2dyb3VuZCAwLjI1cztcbiAgYmFja2dyb3VuZC1jb2xvcjogJG1kLWNvbG9yLXByaW1hcnk7XG4gIGNvbG9yOiAkbWQtY29sb3Itd2hpdGU7XG4gIG92ZXJmbG93OiBhdXRvO1xuXG4gIC8vIFt0YWJsZXQgLV06IEhpZGUgdGFicyBmb3IgdGFibGV0IGFuZCBiZWxvdywgYXMgdGhleSBkb24ndCBtYWtlIGFueSBzZW5zZVxuICBAaW5jbHVkZSBicmVhay10by1kZXZpY2UodGFibGV0KSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuXG4gIC8vIEhpZGUgZm9yIHByaW50XG4gIEBtZWRpYSBwcmludCB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuXG4gIC8vIExpc3Qgb2YgaXRlbXNcbiAgJl9fbGlzdCB7XG4gICAgbWFyZ2luOiAwO1xuICAgIG1hcmdpbi1sZWZ0OiBweDJyZW0oNHB4KTtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgfVxuXG4gIC8vIExpc3QgaXRlbVxuICAmX19pdGVtIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgaGVpZ2h0OiBweDJyZW0oNDhweCk7XG4gICAgcGFkZGluZy1yaWdodDogcHgycmVtKDEycHgpO1xuICAgIHBhZGRpbmctbGVmdDogcHgycmVtKDEycHgpO1xuICB9XG5cbiAgLy8gTGluayBpbnNpZGUgaXRlbSAtIGNvdWxkIGJlIGRlZmluZWQgYXMgYmxvY2sgZWxlbWVudHMgYW5kIGFsaWduZWQgdmlhXG4gIC8vIGxpbmUgaGVpZ2h0LCBidXQgdGhpcyB3b3VsZCBpbXBseSBtb3JlIHJlcGFpbnRzIHdoZW4gc2Nyb2xsaW5nXG4gICZfX2xpbmsge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG1hcmdpbi10b3A6IHB4MnJlbSgxNnB4KTtcbiAgICB0cmFuc2l0aW9uOlxuICAgICAgdHJhbnNmb3JtIDAuNHMgY3ViaWMtYmV6aWVyKDAuMSwgMC43LCAwLjEsIDEpLFxuICAgICAgb3BhY2l0eSAgIDAuMjVzO1xuICAgIGZvbnQtc2l6ZTogcHgycmVtKDE0cHgpO1xuICAgIG9wYWNpdHk6IDAuNztcblxuICAgIC8vIEFjdGl2ZSBvciBob3ZlcmVkIGxpbmtcbiAgICAmLS1hY3RpdmUsXG4gICAgJjpob3ZlciB7XG4gICAgICBjb2xvcjogaW5oZXJpdDtcbiAgICAgIG9wYWNpdHk6IDE7XG4gICAgfVxuXG4gICAgLy8gRGVsYXkgdHJhbnNpdGlvbnMgYnkgYSBzbWFsbCBhbW91bnRcbiAgICBAZm9yICRpIGZyb20gMiB0aHJvdWdoIDE2IHtcbiAgICAgIC5tZC10YWJzX19pdGVtOm50aC1jaGlsZCgjeyRpfSkgJiB7XG4gICAgICAgIHRyYW5zaXRpb24tZGVsYXk6IDAuMDJzICogKCRpIC0gMSk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gRmFkZS1vdXQgdGFicyBiYWNrZ3JvdW5kIHVwb24gc2Nyb2xsaW5nXG4gICZbZGF0YS1tZC1zdGF0ZT1cImhpZGRlblwiXSB7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG5cbiAgICAvLyBIaWRlIHRhYnMgdXBvbiBzY3JvbGxpbmcgLSBkaXNhYmxlIHRyYW5zaXRpb24gdG8gbWluaW1pemVzIHJlcGFpbnRzIHdoaWx0ZVxuICAgIC8vIHNjcm9sbGluZyBkb3duLCB3aGlsZSBzY3JvbGxpbmcgdXAgc2VlbXMgdG8gYmUgb2theVxuICAgIC5tZC10YWJzX19saW5rIHtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSg1MCUpO1xuICAgICAgdHJhbnNpdGlvbjpcbiAgICAgICAgY29sb3IgICAgIDAuMjVzLFxuICAgICAgICB0cmFuc2Zvcm0gMHMgMC40cyxcbiAgICAgICAgb3BhY2l0eSAgIDAuMXM7XG4gICAgICBvcGFjaXR5OiAwO1xuICAgIH1cbiAgfVxuXG4gIC8vIFtzY3JlZW4gK106IEFkanVzdCBtYWluIG5hdmlnYXRpb24gc3R5bGVzXG4gIEBpbmNsdWRlIGJyZWFrLWZyb20tZGV2aWNlKHNjcmVlbikge1xuXG4gICAgLy8gSGlkZSAxc3QgbGV2ZWwgbmVzdGVkIGl0ZW1zLCBhcyB0aGV5IGFyZSBsaXN0ZWQgaW4gdGhlIHRhYnMgYnkgc2V0dGluZ1xuICAgIC8vIGZvbnQtc2l6ZSB0byB6ZXJvLCBhcyB3ZSBuZWVkIHRvIHByZXNlcnZlIGJvdHRvbSBwYWRkaW5nXG4gICAgfiAubWQtbWFpbiAubWQtbmF2LS1wcmltYXJ5ID4gLm1kLW5hdl9fbGlzdCA+IC5tZC1uYXZfX2l0ZW0tLW5lc3RlZCB7XG4gICAgICBmb250LXNpemU6IDA7XG4gICAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgfVxuXG4gICAgLy8gV2UncmUgb24gdGhlIDJuZCsgbGV2ZWxcbiAgICAmLS1hY3RpdmUgfiAubWQtbWFpbiB7XG5cbiAgICAgIC8vIEFkanVzdCAxc3QgbGV2ZWwgc3R5bGVzXG4gICAgICAubWQtbmF2LS1wcmltYXJ5IHtcblxuICAgICAgICAvLyBTaG93IHRpdGxlIGFuZCByZW1vdmUgc3BhY2luZ1xuICAgICAgICAubWQtbmF2X190aXRsZSB7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIEhpZGUgc2l0ZSB0aXRsZVxuICAgICAgICAubWQtbmF2X190aXRsZS0tc2l0ZSB7XG4gICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIFNob3cgMXN0IGxldmVsIG5hdmlnYXRpb24gYWx3YXlzIGV4cGFuZGVkXG4gICAgICAgIC5uby1qcyAmIC5tZC1uYXYge1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gSGlkZSAxc3QgbGV2ZWwgbm9ybWFsIGl0ZW1zXG4gICAgICAgICYgPiAubWQtbmF2X19saXN0ID4gLm1kLW5hdl9faXRlbSB7XG4gICAgICAgICAgZm9udC1zaXplOiAwO1xuICAgICAgICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcblxuICAgICAgICAgIC8vIFJlc2V0IGZvbnQtc2l6ZSBmb3IgbmVzdGVkIGl0ZW1zIGFuZCBpbmR1Y2UgbWFyZ2luIGNvbGxhcHNlXG4gICAgICAgICAgJi0tbmVzdGVkIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICBmb250LXNpemU6IHB4MnJlbSgxNHB4KTtcbiAgICAgICAgICAgIG92ZXJmbG93OiBhdXRvO1xuICAgICAgICAgICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcblxuICAgICAgICAgICAgLy8gSGlkZSBuZXN0ZWQgbGlua3NcbiAgICAgICAgICAgID4gLm1kLW5hdl9fbGluayB7XG4gICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgLy8gU2hvdyAxc3QgbGV2ZWwgYWN0aXZlIG5lc3RlZCBpdGVtc1xuICAgICAgICAgICYtLWFjdGl2ZSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLy8gQWx3YXlzIGV4cGFuZCBuZXN0ZWQgbmF2aWdhdGlvbiBvbiAybmQgbGV2ZWxcbiAgICAgIC5tZC1uYXZbZGF0YS1tZC1sZXZlbD1cIjFcIl0ge1xuICAgICAgICBtYXgtaGVpZ2h0OiBpbml0aWFsO1xuICAgICAgICBvdmVyZmxvdzogdmlzaWJsZTtcblxuICAgICAgICAvLyBSZW1vdmUgbGVmdCBzcGFjaW5nIG9uIDJuZCBsZXZlbCBpdGVtc1xuICAgICAgICA+IC5tZC1uYXZfX2xpc3QgPiAubWQtbmF2X19pdGVtIHtcbiAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBIaWRlIHRpdGxlcyBmcm9tIDJuZCBsZXZlbCBvblxuICAgICAgICAubWQtbmF2IC5tZC1uYXZfX3RpdGxlIHtcbiAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLy8vXG4vLy8gQ29weXJpZ2h0IChjKSAyMDE2LTIwMjAgTWFydGluIERvbmF0aCA8bWFydGluLmRvbmF0aEBzcXVpZGZ1bmsuY29tPlxuLy8vXG4vLy8gUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0YWluaW5nIGFcbi8vLyBjb3B5IG9mIHRoaXMgc29mdHdhcmUgYW5kIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlIFwiU29mdHdhcmVcIiksXG4vLy8gdG8gZGVhbCBpbiB0aGUgU29mdHdhcmUgd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nIHdpdGhvdXQgbGltaXRhdGlvblxuLy8vIHRoZSByaWdodHMgdG8gdXNlLCBjb3B5LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNoLCBkaXN0cmlidXRlLCBzdWJsaWNlbnNlLFxuLy8vIGFuZC9vciBzZWxsIGNvcGllcyBvZiB0aGUgU29mdHdhcmUsIGFuZCB0byBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZVxuLy8vIFNvZnR3YXJlIGlzIGZ1cm5pc2hlZCB0byBkbyBzbywgc3ViamVjdCB0byB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6XG4vLy9cbi8vLyBUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBiZSBpbmNsdWRlZCBpblxuLy8vIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIFNvZnR3YXJlLlxuLy8vXG4vLy8gVEhFIFNPRlRXQVJFIElTIFBST1ZJREVEIFwiQVMgSVNcIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwgRVhQUkVTUyBPUlxuLy8vIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZLFxuLy8vIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT04tSU5GUklOR0VNRU5ULiBJTiBOTyBFVkVOVCBTSEFMTFxuLy8vIFRIRSBBVVRIT1JTIE9SIENPUFlSSUdIVCBIT0xERVJTIEJFIExJQUJMRSBGT1IgQU5ZIENMQUlNLCBEQU1BR0VTIE9SIE9USEVSXG4vLy8gTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkdcbi8vLyBGUk9NLCBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRSBTT0ZUV0FSRSBPUiBUSEUgVVNFIE9SIE9USEVSXG4vLy8gREVBTElOR1Ncbi8vLy9cblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gUnVsZXNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLy8gU2NvcGVkIGluIHR5cGVzZXR0ZWQgY29udGVudCB0byBtYXRjaCBzcGVjaWZpY2l0eSBvZiByZWd1bGFyIGNvbnRlbnRcbi5tZC10eXBlc2V0IHtcblxuICAvLyBEZXRhaWxzIGV4dGVuc2lvblxuICBkZXRhaWxzIHtcbiAgICBAZXh0ZW5kIC5hZG1vbml0aW9uO1xuXG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcGFkZGluZy10b3A6IDA7XG5cbiAgICAvLyBSb3RhdGUgdGl0bGUgaWNvblxuICAgICZbb3Blbl0gPiBzdW1tYXJ5OjphZnRlciB7XG4gICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpO1xuICAgIH1cblxuICAgIC8vIFJlbW92ZSBib3R0b20gc3BhY2luZ1xuICAgICY6bm90KFtvcGVuXSkge1xuICAgICAgcGFkZGluZy1ib3R0b206IDA7XG5cbiAgICAgIC8vIFJlbW92ZSBib3R0b20gYm9yZGVyIGlmIGJsb2NrIGlzIGNsb3NlZFxuICAgICAgPiBzdW1tYXJ5IHtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBJbmNyZWFzZSBzcGFjaW5nIHRvIHRoZSByaWdodCAtIHNjb3BlZCBoZXJlIGZvciBoaWdoZXIgc3BlY2lmaWNpdHlcbiAgICBzdW1tYXJ5IHtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IHB4MnJlbSg0MHB4KTtcblxuICAgICAgLy8gQWRqdXN0IGZvciBSVEwgbGFuZ3VhZ2VzXG4gICAgICBbZGlyPVwicnRsXCJdICYge1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IHB4MnJlbSg0MHB4KTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBNYW51YWxseSBoaWRlIGFuZCBzaG93LCBpZiBicm93c2VyIGRvZXNuJ3Qgc3VwcG9ydCBkZXRhaWxzXG4gICAgLm5vLWRldGFpbHMgJjpub3QoW29wZW5dKSB7XG5cbiAgICAgIC8vIEhpZGUgYWxsIG5lc3RlZCB0YWdzIC4uLlxuICAgICAgPiAqIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgIH1cblxuICAgICAgLy8gLi4uIGJ1dCBzaG93IHRpdGxlXG4gICAgICBzdW1tYXJ5IHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gVGl0bGVcbiAgc3VtbWFyeSB7XG4gICAgQGV4dGVuZCAuYWRtb25pdGlvbi10aXRsZTtcblxuICAgIC8vIEhhY2s6IHNldCB0byBibG9jaywgc28gRmlyZWZveCBkb2Vzbid0IHJlbmRlciBtYXJrZXJcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBvdXRsaW5lOiBub25lO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcblxuICAgIC8vIFJlbW92ZSBkZWZhdWx0IGRldGFpbHMgbWFya2VyXG4gICAgJjo6LXdlYmtpdC1kZXRhaWxzLW1hcmtlciB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cblxuICAgIC8vIEljb25cbiAgICAmOjphZnRlciB7XG4gICAgICBAZXh0ZW5kICVtZC1pY29uO1xuXG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IHB4MnJlbSg4cHgpO1xuICAgICAgcmlnaHQ6IHB4MnJlbSgxMnB4KTtcbiAgICAgIGNvbG9yOiAkbWQtY29sb3ItYmxhY2stLWxpZ2h0ZXI7XG4gICAgICBmb250LXNpemU6IHB4MnJlbSgyMHB4KTtcbiAgICAgIGNvbnRlbnQ6IFwiXFxFMzEzXCI7IC8vIGtleWJvYXJkX2Fycm93X2Rvd25cblxuICAgICAgLy8gQWRqdXN0IGZvciBSVEwgbGFuZ3VhZ2VzXG4gICAgICBbZGlyPVwicnRsXCJdICYge1xuICAgICAgICByaWdodDogaW5pdGlhbDtcbiAgICAgICAgbGVmdDogcHgycmVtKDEycHgpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8vL1xuLy8vIENvcHlyaWdodCAoYykgMjAxNi0yMDIwIE1hcnRpbiBEb25hdGggPG1hcnRpbi5kb25hdGhAc3F1aWRmdW5rLmNvbT5cbi8vL1xuLy8vIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBhXG4vLy8gY29weSBvZiB0aGlzIHNvZnR3YXJlIGFuZCBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZSBcIlNvZnR3YXJlXCIpLFxuLy8vIHRvIGRlYWwgaW4gdGhlIFNvZnR3YXJlIHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1ZGluZyB3aXRob3V0IGxpbWl0YXRpb25cbi8vLyB0aGUgcmlnaHRzIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwgZGlzdHJpYnV0ZSwgc3VibGljZW5zZSxcbi8vLyBhbmQvb3Igc2VsbCBjb3BpZXMgb2YgdGhlIFNvZnR3YXJlLCBhbmQgdG8gcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGVcbi8vLyBTb2Z0d2FyZSBpcyBmdXJuaXNoZWQgdG8gZG8gc28sIHN1YmplY3QgdG8gdGhlIGZvbGxvd2luZyBjb25kaXRpb25zOlxuLy8vXG4vLy8gVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWQgaW5cbi8vLyBhbGwgY29waWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25zIG9mIHRoZSBTb2Z0d2FyZS5cbi8vL1xuLy8vIFRIRSBTT0ZUV0FSRSBJUyBQUk9WSURFRCBcIkFTIElTXCIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsIEVYUFJFU1MgT1Jcbi8vLyBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSxcbi8vLyBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OLUlORlJJTkdFTUVOVC4gSU4gTk8gRVZFTlQgU0hBTExcbi8vLyBUSEUgQVVUSE9SUyBPUiBDT1BZUklHSFQgSE9MREVSUyBCRSBMSUFCTEUgRk9SIEFOWSBDTEFJTSwgREFNQUdFUyBPUiBPVEhFUlxuLy8vIExJQUJJTElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HXG4vLy8gRlJPTSwgT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUlxuLy8vIERFQUxJTkdTXG4vLy8vXG5cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIFJ1bGVzXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi8vIFNjb3BlZCBpbiB0eXBlc2V0dGVkIGNvbnRlbnQgdG8gbWF0Y2ggc3BlY2lmaWNpdHkgb2YgcmVndWxhciBjb250ZW50XG4ubWQtdHlwZXNldCB7XG5cbiAgLy8gQWRtb25pdGlvbiBleHRlbnNpb25cbiAgLmFkbW9uaXRpb24ge1xuICAgIEBpbmNsdWRlIHotZGVwdGgoMik7XG5cbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbWFyZ2luOiAxLjU2MjVlbSAwO1xuICAgIHBhZGRpbmc6IDAgcHgycmVtKDEycHgpO1xuICAgIGJvcmRlci1sZWZ0OiBweDJyZW0oNHB4KSBzb2xpZCAkY2xyLWJsdWUtYTIwMDtcbiAgICBib3JkZXItcmFkaXVzOiBweDJyZW0oMnB4KTtcbiAgICBmb250LXNpemU6IG1zKC0xKTtcbiAgICBvdmVyZmxvdzogYXV0bztcblxuICAgIC8vIEFkanVzdCBmb3IgUlRMIGxhbmd1YWdlc1xuICAgIFtkaXI9XCJydGxcIl0gJiB7XG4gICAgICBib3JkZXItcmlnaHQ6IHB4MnJlbSg0cHgpIHNvbGlkICRjbHItYmx1ZS1hMjAwO1xuICAgICAgYm9yZGVyLWxlZnQ6IG5vbmU7XG4gICAgfVxuXG4gICAgLy8gQWRqdXN0IHNwYWNpbmcgb24gbGFzdCBlbGVtZW50XG4gICAgaHRtbCAmID4gOmxhc3QtY2hpbGQge1xuICAgICAgbWFyZ2luLWJvdHRvbTogcHgycmVtKDEycHgpO1xuICAgIH1cblxuICAgIC8vIEFkanVzdCBtYXJnaW4gZm9yIG5lc3RlZCBhZG1vbml0aW9uIGJsb2Nrc1xuICAgIC5hZG1vbml0aW9uIHtcbiAgICAgIG1hcmdpbjogMWVtIDA7XG4gICAgfVxuXG4gICAgLy8gVGl0bGVcbiAgICA+IC5hZG1vbml0aW9uLXRpdGxlIHtcbiAgICAgIG1hcmdpbjogMCBweDJyZW0oLTEycHgpO1xuICAgICAgcGFkZGluZzogcHgycmVtKDhweCkgcHgycmVtKDEycHgpIHB4MnJlbSg4cHgpIHB4MnJlbSg0MHB4KTtcbiAgICAgIGJvcmRlci1ib3R0b206IHB4MnJlbSgxcHgpIHNvbGlkIHRyYW5zcGFyZW50aXplKCRjbHItYmx1ZS1hMjAwLCAwLjkpO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnRpemUoJGNsci1ibHVlLWEyMDAsIDAuOSk7XG4gICAgICBmb250LXdlaWdodDogNzAwO1xuXG4gICAgICAvLyBBZGp1c3QgZm9yIFJUTCBsYW5ndWFnZXNcbiAgICAgIFtkaXI9XCJydGxcIl0gJiB7XG4gICAgICAgIHBhZGRpbmc6IHB4MnJlbSg4cHgpIHB4MnJlbSg0MHB4KSBweDJyZW0oOHB4KSBweDJyZW0oMTJweCk7XG4gICAgICB9XG5cbiAgICAgIC8vIFJlc2V0IHNwYWNpbmcsIGlmIHRpdGxlIGlzIHRoZSBvbmx5IGVsZW1lbnRcbiAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICB9XG5cbiAgICAgIC8vIEljb25cbiAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgIEBleHRlbmQgJW1kLWljb247XG5cbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBsZWZ0OiBweDJyZW0oMTJweCk7XG4gICAgICAgIGNvbG9yOiAkY2xyLWJsdWUtYTIwMDtcbiAgICAgICAgZm9udC1zaXplOiBweDJyZW0oMjBweCk7XG4gICAgICAgIGNvbnRlbnQ6IFwiXFxFM0M5XCI7IC8vIGVkaXRcblxuICAgICAgICAvLyBBZGp1c3QgZm9yIFJUTCBsYW5ndWFnZXNcbiAgICAgICAgW2Rpcj1cInJ0bFwiXSAmIHtcbiAgICAgICAgICByaWdodDogcHgycmVtKDEycHgpO1xuICAgICAgICAgIGxlZnQ6IGluaXRpYWw7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBCdWlsZCByZXByZXNlbnRhdGlvbmFsIGNsYXNzZXNcbiAgICBAZWFjaCAkbmFtZXMsICRhcHBlYXJhbmNlIGluIChcbiAgICAgIGFic3RyYWN0IHN1bW1hcnkgdGxkcjogJGNsci1saWdodC1ibHVlLWE0MDAgXCJcXEU4RDJcIiwgLy8gc3ViamVjdFxuICAgICAgaW5mbyB0b2RvOiAkY2xyLWN5YW4tYTcwMCBcIlxcRTg4RVwiLCAvLyBpbmZvXG4gICAgICB0aXAgaGludCBpbXBvcnRhbnQgOiAkY2xyLXRlYWwtYTcwMCBcIlxcRTgwRVwiLCAvLyB3aGF0c2hvdFxuICAgICAgc3VjY2VzcyBjaGVjayBkb25lOiAkY2xyLWdyZWVuLWE3MDAgXCJcXEU4NzZcIiwgLy8gZG9uZVxuICAgICAgcXVlc3Rpb24gaGVscCBmYXE6ICRjbHItbGlnaHQtZ3JlZW4tYTcwMCBcIlxcRTg4N1wiLCAvLyBoZWxwXG4gICAgICB3YXJuaW5nIGNhdXRpb24gYXR0ZW50aW9uOiAkY2xyLW9yYW5nZS1hNDAwIFwiXFxFMDAyXCIsIC8vIHdhcm5pbmdcbiAgICAgIGZhaWx1cmUgZmFpbCBtaXNzaW5nOiAkY2xyLXJlZC1hMjAwIFwiXFxFMTRDXCIsIC8vIGNsZWFyXG4gICAgICBkYW5nZXIgZXJyb3I6ICRjbHItcmVkLWE0MDAgXCJcXEUzRTdcIiwgLy8gZmxhc2hfb25cbiAgICAgIGJ1ZzogJGNsci1waW5rLWE0MDAgXCJcXEU4NjhcIiwgLy8gYnVnX3JlcG9ydFxuICAgICAgZXhhbXBsZTogJGNsci1kZWVwLXB1cnBsZS1hNDAwIFwiXFxFMjQyXCIsIC8vIGZvcm1hdF9saXN0X251bWJlcmVkXG4gICAgICBxdW90ZSBjaXRlOiAkY2xyLWdyZXkgXCJcXEUyNDRcIiAvLyBmb3JtYXRfcXVvdGVcbiAgICApIHtcbiAgICAgICR0aW50OiBudGgoJGFwcGVhcmFuY2UsIDEpO1xuICAgICAgJGljb246IG50aCgkYXBwZWFyYW5jZSwgMik7XG5cbiAgICAgIC8vIERlZmluZSBiYXNlIGNsYXNzXG4gICAgICAmJSN7bnRoKCRuYW1lcywgMSl9LFxuICAgICAgJi4je250aCgkbmFtZXMsIDEpfSB7XG4gICAgICAgIGJvcmRlci1sZWZ0LWNvbG9yOiAkdGludDtcblxuICAgICAgICAvLyBBZGp1c3QgZm9yIFJUTCBsYW5ndWFnZXNcbiAgICAgICAgW2Rpcj1cInJ0bFwiXSAmIHtcbiAgICAgICAgICBib3JkZXItcmlnaHQtY29sb3I6ICR0aW50O1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gVGl0bGVcbiAgICAgICAgPiAuYWRtb25pdGlvbi10aXRsZSB7XG4gICAgICAgICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogdHJhbnNwYXJlbnRpemUoJHRpbnQsIDAuOSk7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnRpemUoJHRpbnQsIDAuOSk7XG5cbiAgICAgICAgICAvLyBJY29uXG4gICAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbG9yOiAkdGludDtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICRpY29uO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAvLyBEZWZpbmUgc3lub255bXMgZm9yIGJhc2UgY2xhc3NcbiAgICAgIEBpZiBsZW5ndGgoJG5hbWVzKSA+IDEge1xuICAgICAgICBAZm9yICRuIGZyb20gMiB0aHJvdWdoIGxlbmd0aCgkbmFtZXMpIHtcbiAgICAgICAgICAmLiN7bnRoKCRuYW1lcywgJG4pfSB7XG4gICAgICAgICAgICBAZXh0ZW5kIC5hZG1vbml0aW9uJSN7bnRoKCRuYW1lcywgMSl9O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8vL1xuLy8vIENvcHlyaWdodCAoYykgMjAxNi0yMDIwIE1hcnRpbiBEb25hdGggPG1hcnRpbi5kb25hdGhAc3F1aWRmdW5rLmNvbT5cbi8vL1xuLy8vIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBhXG4vLy8gY29weSBvZiB0aGlzIHNvZnR3YXJlIGFuZCBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZSBcIlNvZnR3YXJlXCIpLFxuLy8vIHRvIGRlYWwgaW4gdGhlIFNvZnR3YXJlIHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1ZGluZyB3aXRob3V0IGxpbWl0YXRpb25cbi8vLyB0aGUgcmlnaHRzIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwgZGlzdHJpYnV0ZSwgc3VibGljZW5zZSxcbi8vLyBhbmQvb3Igc2VsbCBjb3BpZXMgb2YgdGhlIFNvZnR3YXJlLCBhbmQgdG8gcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGVcbi8vLyBTb2Z0d2FyZSBpcyBmdXJuaXNoZWQgdG8gZG8gc28sIHN1YmplY3QgdG8gdGhlIGZvbGxvd2luZyBjb25kaXRpb25zOlxuLy8vXG4vLy8gVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWQgaW5cbi8vLyBhbGwgY29waWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25zIG9mIHRoZSBTb2Z0d2FyZS5cbi8vL1xuLy8vIFRIRSBTT0ZUV0FSRSBJUyBQUk9WSURFRCBcIkFTIElTXCIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsIEVYUFJFU1MgT1Jcbi8vLyBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSxcbi8vLyBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OLUlORlJJTkdFTUVOVC4gSU4gTk8gRVZFTlQgU0hBTExcbi8vLyBUSEUgQVVUSE9SUyBPUiBDT1BZUklHSFQgSE9MREVSUyBCRSBMSUFCTEUgRk9SIEFOWSBDTEFJTSwgREFNQUdFUyBPUiBPVEhFUlxuLy8vIExJQUJJTElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HXG4vLy8gRlJPTSwgT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUlxuLy8vIERFQUxJTkdTXG4vLy8vXG5cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIFZhcmlhYmxlc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4vLyBPcGVyYXRvcnNcbiRjb2RlaGlsaXRlLW9wZXJhdG9yOiBpbmhlcml0O1xuJGNvZGVoaWxpdGUtb3BlcmF0b3Itd29yZDogaW5oZXJpdDtcblxuLy8gR2VuZXJpY3NcbiRjb2RlaGlsaXRlLWdlbmVyaWMtZW1waDogIzAwMDAwMDtcbiRjb2RlaGlsaXRlLWdlbmVyaWMtZXJyb3I6ICNBQTAwMDA7XG4kY29kZWhpbGl0ZS1nZW5lcmljLWhlYWRpbmc6ICM5OTk5OTk7XG4kY29kZWhpbGl0ZS1nZW5lcmljLW91dHB1dDogIzg4ODg4ODtcbiRjb2RlaGlsaXRlLWdlbmVyaWMtcHJvbXB0OiAjNTU1NTU1O1xuJGNvZGVoaWxpdGUtZ2VuZXJpYy1zdHJvbmc6IGluaGVyaXQ7XG4kY29kZWhpbGl0ZS1nZW5lcmljLXN1YmhlYWRpbmc6ICNBQUFBQUE7XG4kY29kZWhpbGl0ZS1nZW5lcmljLXRyYWNlYmFjazogI0FBMDAwMDtcblxuLy8gRGlmZnNcbiRjb2RlaGlsaXRlLWRpZmYtZGVsZXRlZDogI0ZGRERERDtcbiRjb2RlaGlsaXRlLWRpZmYtaW5zZXJ0ZWQ6ICNEREZGREQ7XG5cbi8vIEtleXdvcmRzXG4kY29kZWhpbGl0ZS1rZXl3b3JkOiAjM0I3OEU3O1xuJGNvZGVoaWxpdGUta2V5d29yZC1jb25zdGFudDogI0E3MUQ1RDtcbiRjb2RlaGlsaXRlLWtleXdvcmQtZGVjbGFyYXRpb246ICMzQjc4RTc7XG4kY29kZWhpbGl0ZS1rZXl3b3JkLW5hbWVzcGFjZTogIzNCNzhFNztcbiRjb2RlaGlsaXRlLWtleXdvcmQtcHNldWRvOiAjQTcxRDVEO1xuJGNvZGVoaWxpdGUta2V5d29yZC1yZXNlcnZlZDogIzNFNjFBMjtcbiRjb2RlaGlsaXRlLWtleXdvcmQtdHlwZTogIzNFNjFBMjtcblxuLy8gQ29tbWVudHNcbiRjb2RlaGlsaXRlLWNvbW1lbnQ6ICM5OTk5OTk7XG4kY29kZWhpbGl0ZS1jb21tZW50LW11bHRpbGluZTogIzk5OTk5OTtcbiRjb2RlaGlsaXRlLWNvbW1lbnQtcHJlcHJvYzogIzY2NjY2NjtcbiRjb2RlaGlsaXRlLWNvbW1lbnQtc2luZ2xlOiAjOTk5OTk5O1xuJGNvZGVoaWxpdGUtY29tbWVudC1zaGViYW5nOiAjOTk5OTk5O1xuJGNvZGVoaWxpdGUtY29tbWVudC1zcGVjaWFsOiAjOTk5OTk5O1xuXG4vLyBOYW1lc1xuJGNvZGVoaWxpdGUtbmFtZS1hdHRyaWJ1dGU6ICNDMjE4NUI7XG4kY29kZWhpbGl0ZS1uYW1lLWJ1aWx0aW46ICNDMjE4NUI7XG4kY29kZWhpbGl0ZS1uYW1lLWJ1aWx0aW4tcHNldWRvOiAjM0U2MUEyO1xuJGNvZGVoaWxpdGUtbmFtZS1jbGFzczogI0MyMTg1QjtcbiRjb2RlaGlsaXRlLW5hbWUtY29uc3RhbnQ6ICMzRTYxQTI7XG4kY29kZWhpbGl0ZS1uYW1lLWRlY29yYXRvcjogIzY2NjY2NjtcbiRjb2RlaGlsaXRlLW5hbWUtZW50aXR5OiAjNjY2NjY2O1xuJGNvZGVoaWxpdGUtbmFtZS1leGNlcHRpb246ICNDMjE4NUI7XG4kY29kZWhpbGl0ZS1uYW1lLWZ1bmN0aW9uOiAjQzIxODVCO1xuJGNvZGVoaWxpdGUtbmFtZS1sYWJlbDogIzNCNTE3OTtcbiRjb2RlaGlsaXRlLW5hbWUtbmFtZXNwYWNlOiAjRUM0MDdBO1xuJGNvZGVoaWxpdGUtbmFtZS10YWc6ICMzQjc4RTc7XG4kY29kZWhpbGl0ZS1uYW1lLXZhcmlhYmxlOiAjM0U2MUEyO1xuJGNvZGVoaWxpdGUtbmFtZS12YXJpYWJsZS1jbGFzczogIzNFNjFBMjtcbiRjb2RlaGlsaXRlLW5hbWUtdmFyaWFibGUtaW5zdGFuY2U6ICMzRTYxQTI7XG4kY29kZWhpbGl0ZS1uYW1lLXZhcmlhYmxlLWdsb2JhbDogIzNFNjFBMjtcbiRjb2RlaGlsaXRlLW5hbWUtZXh0ZW5zaW9uOiAjRUM0MDdBO1xuXG4vLyBOdW1iZXJzXG4kY29kZWhpbGl0ZS1saXRlcmFsLW51bWJlcjogI0U3NEMzQztcbiRjb2RlaGlsaXRlLWxpdGVyYWwtbnVtYmVyLWZsb2F0OiAjRTc0QzNDO1xuJGNvZGVoaWxpdGUtbGl0ZXJhbC1udW1iZXItaGV4OiAjRTc0QzNDO1xuJGNvZGVoaWxpdGUtbGl0ZXJhbC1udW1iZXItaW50ZWdlcjogI0U3NEMzQztcbiRjb2RlaGlsaXRlLWxpdGVyYWwtbnVtYmVyLWludGVnZXItbG9uZzogI0U3NEMzQztcbiRjb2RlaGlsaXRlLWxpdGVyYWwtbnVtYmVyLW9jdDogI0U3NEMzQztcblxuLy8gU3RyaW5nc1xuJGNvZGVoaWxpdGUtbGl0ZXJhbC1zdHJpbmc6ICMwRDkwNEY7XG4kY29kZWhpbGl0ZS1saXRlcmFsLXN0cmluZy1iYWNrdGlja3M6ICMwRDkwNEY7XG4kY29kZWhpbGl0ZS1saXRlcmFsLXN0cmluZy1jaGFyOiAjMEQ5MDRGO1xuJGNvZGVoaWxpdGUtbGl0ZXJhbC1zdHJpbmctZG9jOiAjOTk5OTk5O1xuJGNvZGVoaWxpdGUtbGl0ZXJhbC1zdHJpbmctZG91YmxlOiAjMEQ5MDRGO1xuJGNvZGVoaWxpdGUtbGl0ZXJhbC1zdHJpbmctZXNjYXBlOiAjMTgzNjkxO1xuJGNvZGVoaWxpdGUtbGl0ZXJhbC1zdHJpbmctaGVyZWRvYzogIzE4MzY5MTtcbiRjb2RlaGlsaXRlLWxpdGVyYWwtc3RyaW5nLWludGVycG9sOiAjMTgzNjkxO1xuJGNvZGVoaWxpdGUtbGl0ZXJhbC1zdHJpbmctb3RoZXI6ICMxODM2OTE7XG4kY29kZWhpbGl0ZS1saXRlcmFsLXN0cmluZy1yZWdleDogIzAwOTkyNjtcbiRjb2RlaGlsaXRlLWxpdGVyYWwtc3RyaW5nLXNpbmdsZTogIzBEOTA0RjtcbiRjb2RlaGlsaXRlLWxpdGVyYWwtc3RyaW5nLXN5bWJvbDogIzBEOTA0RjtcblxuLy8gTWlzY2VsbGFuZW91c1xuJGNvZGVoaWxpdGUtZXJyb3I6ICNBNjE3MTc7XG4kY29kZWhpbGl0ZS13aGl0ZXNwYWNlOiB0cmFuc3BhcmVudDtcblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gUnVsZXM6IHN5bnRheCBoaWdobGlnaHRpbmdcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLy8gQ29kZWhpbGl0ZSBleHRlbnNpb25cbi5jb2RlaGlsaXRlIHtcblxuICAvLyBPcGVyYXRvcnNcbiAgLm8gIHsgY29sb3I6ICRjb2RlaGlsaXRlLW9wZXJhdG9yOyB9XG4gIC5vdyB7IGNvbG9yOiAkY29kZWhpbGl0ZS1vcGVyYXRvci13b3JkOyB9XG5cbiAgLy8gR2VuZXJpY3NcbiAgLmdlIHsgY29sb3I6ICRjb2RlaGlsaXRlLWdlbmVyaWMtZW1waDsgfVxuICAuZ3IgeyBjb2xvcjogJGNvZGVoaWxpdGUtZ2VuZXJpYy1lcnJvcjsgfVxuICAuZ2ggeyBjb2xvcjogJGNvZGVoaWxpdGUtZ2VuZXJpYy1oZWFkaW5nOyB9XG4gIC5nbyB7IGNvbG9yOiAkY29kZWhpbGl0ZS1nZW5lcmljLW91dHB1dDsgfVxuICAuZ3AgeyBjb2xvcjogJGNvZGVoaWxpdGUtZ2VuZXJpYy1wcm9tcHQ7IH1cbiAgLmdzIHsgY29sb3I6ICRjb2RlaGlsaXRlLWdlbmVyaWMtc3Ryb25nOyB9XG4gIC5ndSB7IGNvbG9yOiAkY29kZWhpbGl0ZS1nZW5lcmljLXN1YmhlYWRpbmc7IH1cbiAgLmd0IHsgY29sb3I6ICRjb2RlaGlsaXRlLWdlbmVyaWMtdHJhY2ViYWNrOyB9XG5cbiAgLy8gRGlmZnNcbiAgLmdkIHsgYmFja2dyb3VuZC1jb2xvcjogJGNvZGVoaWxpdGUtZGlmZi1kZWxldGVkOyB9XG4gIC5naSB7IGJhY2tncm91bmQtY29sb3I6ICRjb2RlaGlsaXRlLWRpZmYtaW5zZXJ0ZWQ7IH1cblxuICAvLyBLZXl3b3Jkc1xuICAuayAgeyBjb2xvcjogJGNvZGVoaWxpdGUta2V5d29yZDsgfVxuICAua2MgeyBjb2xvcjogJGNvZGVoaWxpdGUta2V5d29yZC1jb25zdGFudDsgfVxuICAua2QgeyBjb2xvcjogJGNvZGVoaWxpdGUta2V5d29yZC1kZWNsYXJhdGlvbjsgfVxuICAua24geyBjb2xvcjogJGNvZGVoaWxpdGUta2V5d29yZC1uYW1lc3BhY2U7IH1cbiAgLmtwIHsgY29sb3I6ICRjb2RlaGlsaXRlLWtleXdvcmQtcHNldWRvOyB9XG4gIC5rciB7IGNvbG9yOiAkY29kZWhpbGl0ZS1rZXl3b3JkLXJlc2VydmVkOyB9XG4gIC5rdCB7IGNvbG9yOiAkY29kZWhpbGl0ZS1rZXl3b3JkLXR5cGU7IH1cblxuICAvLyBDb21tZW50c1xuICAuYyAgeyBjb2xvcjogJGNvZGVoaWxpdGUtY29tbWVudDsgfVxuICAuY20geyBjb2xvcjogJGNvZGVoaWxpdGUtY29tbWVudC1tdWx0aWxpbmU7IH1cbiAgLmNwIHsgY29sb3I6ICRjb2RlaGlsaXRlLWNvbW1lbnQtcHJlcHJvYzsgfVxuICAuYzEgeyBjb2xvcjogJGNvZGVoaWxpdGUtY29tbWVudC1zaW5nbGU7IH1cbiAgLmNoIHsgY29sb3I6ICRjb2RlaGlsaXRlLWNvbW1lbnQtc2hlYmFuZzsgfVxuICAuY3MgeyBjb2xvcjogJGNvZGVoaWxpdGUtY29tbWVudC1zcGVjaWFsOyB9XG5cbiAgLy8gTmFtZXNcbiAgLm5hIHsgY29sb3I6ICRjb2RlaGlsaXRlLW5hbWUtYXR0cmlidXRlOyB9XG4gIC5uYiB7IGNvbG9yOiAkY29kZWhpbGl0ZS1uYW1lLWJ1aWx0aW47IH1cbiAgLmJwIHsgY29sb3I6ICRjb2RlaGlsaXRlLW5hbWUtYnVpbHRpbi1wc2V1ZG87IH1cbiAgLm5jIHsgY29sb3I6ICRjb2RlaGlsaXRlLW5hbWUtY2xhc3M7IH1cbiAgLm5vIHsgY29sb3I6ICRjb2RlaGlsaXRlLW5hbWUtY29uc3RhbnQ7IH1cbiAgLm5kIHsgY29sb3I6ICRjb2RlaGlsaXRlLW5hbWUtZW50aXR5OyB9XG4gIC5uaSB7IGNvbG9yOiAkY29kZWhpbGl0ZS1uYW1lLWVudGl0eTsgfVxuICAubmUgeyBjb2xvcjogJGNvZGVoaWxpdGUtbmFtZS1leGNlcHRpb247IH1cbiAgLm5mIHsgY29sb3I6ICRjb2RlaGlsaXRlLW5hbWUtZnVuY3Rpb247IH1cbiAgLm5sIHsgY29sb3I6ICRjb2RlaGlsaXRlLW5hbWUtbGFiZWw7IH1cbiAgLm5uIHsgY29sb3I6ICRjb2RlaGlsaXRlLW5hbWUtbmFtZXNwYWNlOyB9XG4gIC5udCB7IGNvbG9yOiAkY29kZWhpbGl0ZS1uYW1lLXRhZzsgfVxuICAubnYgeyBjb2xvcjogJGNvZGVoaWxpdGUtbmFtZS12YXJpYWJsZTsgfVxuICAudmMgeyBjb2xvcjogJGNvZGVoaWxpdGUtbmFtZS12YXJpYWJsZS1jbGFzczsgfVxuICAudmcgeyBjb2xvcjogJGNvZGVoaWxpdGUtbmFtZS12YXJpYWJsZS1nbG9iYWw7IH1cbiAgLnZpIHsgY29sb3I6ICRjb2RlaGlsaXRlLW5hbWUtdmFyaWFibGUtaW5zdGFuY2U7IH1cbiAgLm54IHsgY29sb3I6ICRjb2RlaGlsaXRlLW5hbWUtZXh0ZW5zaW9uOyB9XG5cbiAgLy8gTnVtYmVyc1xuICAubSAgeyBjb2xvcjogJGNvZGVoaWxpdGUtbGl0ZXJhbC1udW1iZXI7IH1cbiAgLm1mIHsgY29sb3I6ICRjb2RlaGlsaXRlLWxpdGVyYWwtbnVtYmVyLWZsb2F0OyB9XG4gIC5taCB7IGNvbG9yOiAkY29kZWhpbGl0ZS1saXRlcmFsLW51bWJlci1oZXg7IH1cbiAgLm1pIHsgY29sb3I6ICRjb2RlaGlsaXRlLWxpdGVyYWwtbnVtYmVyLWludGVnZXI7IH1cbiAgLmlsIHsgY29sb3I6ICRjb2RlaGlsaXRlLWxpdGVyYWwtbnVtYmVyLWludGVnZXItbG9uZzsgfVxuICAubW8geyBjb2xvcjogJGNvZGVoaWxpdGUtbGl0ZXJhbC1udW1iZXItb2N0OyB9XG5cbiAgLy8gU3RyaW5nc1xuICAucyAgeyBjb2xvcjogJGNvZGVoaWxpdGUtbGl0ZXJhbC1zdHJpbmc7IH1cbiAgLnNiIHsgY29sb3I6ICRjb2RlaGlsaXRlLWxpdGVyYWwtc3RyaW5nLWJhY2t0aWNrczsgfVxuICAuc2MgeyBjb2xvcjogJGNvZGVoaWxpdGUtbGl0ZXJhbC1zdHJpbmctY2hhcjsgfVxuICAuc2QgeyBjb2xvcjogJGNvZGVoaWxpdGUtbGl0ZXJhbC1zdHJpbmctZG9jOyB9XG4gIC5zMiB7IGNvbG9yOiAkY29kZWhpbGl0ZS1saXRlcmFsLXN0cmluZy1kb3VibGU7IH1cbiAgLnNlIHsgY29sb3I6ICRjb2RlaGlsaXRlLWxpdGVyYWwtc3RyaW5nLWVzY2FwZTsgfVxuICAuc2ggeyBjb2xvcjogJGNvZGVoaWxpdGUtbGl0ZXJhbC1zdHJpbmctaGVyZWRvYzsgfVxuICAuc2kgeyBjb2xvcjogJGNvZGVoaWxpdGUtbGl0ZXJhbC1zdHJpbmctaW50ZXJwb2w7IH1cbiAgLnN4IHsgY29sb3I6ICRjb2RlaGlsaXRlLWxpdGVyYWwtc3RyaW5nLW90aGVyOyB9XG4gIC5zciB7IGNvbG9yOiAkY29kZWhpbGl0ZS1saXRlcmFsLXN0cmluZy1yZWdleDsgfVxuICAuczEgeyBjb2xvcjogJGNvZGVoaWxpdGUtbGl0ZXJhbC1zdHJpbmctc2luZ2xlOyB9XG4gIC5zcyB7IGNvbG9yOiAkY29kZWhpbGl0ZS1saXRlcmFsLXN0cmluZy1zeW1ib2w7IH1cblxuICAvLyBNaXNjZWxsYW5lb3VzXG4gIC5lcnIgeyBjb2xvcjogJGNvZGVoaWxpdGUtZXJyb3I7IH1cbiAgLncgeyBjb2xvcjogJGNvZGVoaWxpdGUtd2hpdGVzcGFjZTsgfVxuXG4gIC8vIEhpZ2hsaWdodGVkIGxpbmVzXG4gIC5obGwge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG1hcmdpbjogMCBweDJyZW0oLTEycHgpO1xuICAgIHBhZGRpbmc6IDAgcHgycmVtKDEycHgpO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50aXplKCRjbHIteWVsbG93LTUwMCwgMC41KTtcblxuICAgIC8vIFttb2JpbGUgLV06IFN0cmV0Y2ggdG8gd2hvbGUgd2lkdGhcbiAgICBAaW5jbHVkZSBicmVhay10by1kZXZpY2UobW9iaWxlKSB7XG4gICAgICBtYXJnaW46IDAgcHgycmVtKC0xNnB4KTtcbiAgICAgIHBhZGRpbmc6IDAgcHgycmVtKDE2cHgpO1xuICAgIH1cbiAgfVxufVxuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBSdWxlczogbGF5b3V0XG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi8vIFNjb3BlZCBpbiB0eXBlc2V0dGVkIGNvbnRlbnQgdG8gbWF0Y2ggc3BlY2lmaWNpdHkgb2YgcmVndWxhciBjb250ZW50XG4ubWQtdHlwZXNldCB7XG5cbiAgLy8gQmxvY2sgd2l0aCBsaW5lIG51bWJlcnNcbiAgLmNvZGVoaWxpdGV0YWJsZSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICAgIC8vIFNldCB0YWJsZSBlbGVtZW50cyB0byBibG9jayBsYXlvdXQsIGJlY2F1c2Ugb3RoZXJ3aXNlIHRoZSB3aG9sZSBmbGV4Ym94XG4gICAgLy8gaGFja2luZyB3b24ndCB3b3JrIGNvcnJlY3RseVxuICAgIHRib2R5LFxuICAgIHRkIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgcGFkZGluZzogMDtcbiAgICB9XG5cbiAgICAvLyBXZSBuZWVkIHRvIHVzZSBmbGV4Ym94IGxheW91dCwgYmVjYXVzZSBvdGhlcndpc2UgaXQncyBub3QgcG9zc2libGUgdG9cbiAgICAvLyBtYWtlIHRoZSBjb2RlIGNvbnRhaW5lciBzY3JvbGwgd2hpbGUga2VlcGluZyB0aGUgbGluZSBudW1iZXJzIHN0YXRpY1xuICAgIHRyIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgfVxuXG4gICAgLy8gVGhlIHByZSB0YWdzIGFyZSBuZXN0ZWQgaW5zaWRlIGEgdGFibGUsIHNvIHdlIG5lZWQgdG8gcmVtb3ZlIHRoZVxuICAgIC8vIG1hcmdpbiBiZWNhdXNlIGl0IGNvbGxhcHNlcyBiZWxvdyBhbGwgdGhlIG92ZXJmbG93c1xuICAgIHByZSxcbiAgICAubGluZW5vZGl2IHtcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgfVxuXG4gICAgLy8gQWRkIHNwYWNpbmcgdG8gbGluZSBudW1iZXIgY29udGFpbmVyXG4gICAgLmxpbmVub2RpdiB7XG4gICAgICBwYWRkaW5nOiBweDJyZW0oMTAuNXB4KSBweDJyZW0oMTJweCk7XG4gICAgfVxuXG4gICAgLy8gRGlzYWJsZSB1c2VyIHNlbGVjdGlvbiwgc28gY29kZSBjYW4gYmUgZWFzaWx5IGNvcGllZCB3aXRob3V0XG4gICAgLy8gYWNjaWRlbnRhbGx5IGFsc28gY29weWluZyB0aGUgbGluZSBudW1iZXJzXG4gICAgLmxpbmVub3Mge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJG1kLWNvbG9yLWJsYWNrLS1saWdodGVzdDtcbiAgICAgIGNvbG9yOiAkbWQtY29sb3ItYmxhY2stLWxpZ2h0ZXI7XG4gICAgICB1c2VyLXNlbGVjdDogbm9uZTtcblxuICAgICAgLy8gUmVzZXQgc3BhY2luZ3NcbiAgICAgIHByZSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICBjb2xvcjogaW5oZXJpdDtcbiAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gVGhlIHRhYmxlIGNlbGwgY29udGFpbmluZyB0aGUgY29kZSBjb250YWluZXIgd3JhcHBlciBhbmQgY29kZSBzaG91bGRcbiAgICAvLyBzdHJldGNoIGhvcml6b250YWxseSB0byB0aGUgcmVtYWluaW5nIHNwYWNlXG4gICAgLmNvZGUge1xuICAgICAgZmxleDogMTtcbiAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgfVxuICB9XG5cbiAgLy8gQmxvY2sgd2l0aCBsaW5lIG51bWJlcnNcbiAgPiAuY29kZWhpbGl0ZXRhYmxlIHtcbiAgICBtYXJnaW46IDFlbSAwO1xuICAgIGJvcmRlci1yYWRpdXM6IDAuMmVtO1xuICB9XG5cbiAgLy8gW21vYmlsZSAtXTogU3RyZXRjaCB0byB3aG9sZSB3aWR0aFxuICBAaW5jbHVkZSBicmVhay10by1kZXZpY2UobW9iaWxlKSB7XG5cbiAgICAvLyBGdWxsLXdpZHRoIGNvbnRhaW5lclxuICAgID4gLmNvZGVoaWxpdGUge1xuICAgICAgbWFyZ2luOiAxZW0gcHgycmVtKC0xNnB4KTtcblxuICAgICAgLy8gQWN0dWFsIGNvbnRhaW5lciB3aXRoIGNvZGUsIG92ZXJmbG93aW5nXG4gICAgICBjb2RlIHtcbiAgICAgICAgcGFkZGluZzogcHgycmVtKDEwLjVweCkgcHgycmVtKDE2cHgpO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIEZ1bGwtd2lkdGggY29udGFpbmVyIG9uIHRvcC1sZXZlbFxuICAgID4gLmNvZGVoaWxpdGV0YWJsZSB7XG4gICAgICBtYXJnaW46IDFlbSBweDJyZW0oLTE2cHgpO1xuICAgICAgYm9yZGVyLXJhZGl1czogMDtcblxuICAgICAgLy8gSW5jcmVhc2Ugc3BhY2luZ1xuICAgICAgLmxpbmVub2RpdiB7XG4gICAgICAgIHBhZGRpbmc6IHB4MnJlbSgxMHB4KSBweDJyZW0oMTZweCk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gV2hlbiBweW1kb3dueC5zdXBlcmZlbmNlcyBpcyBlbmFibGVkIGJ1dCBjb2RlaGlsaXRlIGlzIGRpc2FibGVkLFxuICAvLyBweW1kb3dueC5oaWdobGlnaHQgd2lsbCBiZSB1c2VkLiBXaGVuIHRoaXMgaGFwcGVucywgdGhlIG91dGVyXG4gIC8vIGNvbnRhaW5lciBhbmQgdGFibGVzIGdldCB0aGlzIGNsYXNzIG5hbWVzIGJ5IGRlZmF1bHQuXG4gIC5oaWdobGlnaHQge1xuICAgIEBleHRlbmQgLmNvZGVoaWxpdGU7XG4gIH1cblxuICAvLyBTYW1lIGFzIGFib3ZlLCBidXQgZm9yIGNvZGUgYmxvY2tzIHdpdGggbGluZSBudW1iZXJzIGVuYWJsZWRcbiAgLmhpZ2hsaWdodHRhYmxlIHtcbiAgICBAZXh0ZW5kIC5jb2RlaGlsaXRldGFibGU7XG4gIH1cbn1cbiIsIi8vLy9cbi8vLyBDb3B5cmlnaHQgKGMpIDIwMTYtMjAyMCBNYXJ0aW4gRG9uYXRoIDxtYXJ0aW4uZG9uYXRoQHNxdWlkZnVuay5jb20+XG4vLy9cbi8vLyBQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYVxuLy8vIGNvcHkgb2YgdGhpcyBzb2Z0d2FyZSBhbmQgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGUgXCJTb2Z0d2FyZVwiKSxcbi8vLyB0byBkZWFsIGluIHRoZSBTb2Z0d2FyZSB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcgd2l0aG91dCBsaW1pdGF0aW9uXG4vLy8gdGhlIHJpZ2h0cyB0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsXG4vLy8gYW5kL29yIHNlbGwgY29waWVzIG9mIHRoZSBTb2Z0d2FyZSwgYW5kIHRvIHBlcm1pdCBwZXJzb25zIHRvIHdob20gdGhlXG4vLy8gU29mdHdhcmUgaXMgZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczpcbi8vL1xuLy8vIFRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIHNoYWxsIGJlIGluY2x1ZGVkIGluXG4vLy8gYWxsIGNvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUgU29mdHdhcmUuXG4vLy9cbi8vLyBUSEUgU09GVFdBUkUgSVMgUFJPVklERUQgXCJBUyBJU1wiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELCBFWFBSRVNTIE9SXG4vLy8gSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFksXG4vLy8gRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTi1JTkZSSU5HRU1FTlQuIElOIE5PIEVWRU5UIFNIQUxMXG4vLy8gVEhFIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkgQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVJcbi8vLyBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULCBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lOR1xuLy8vIEZST00sIE9VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhFIFNPRlRXQVJFIE9SIFRIRSBVU0UgT1IgT1RIRVJcbi8vLyBERUFMSU5HU1xuLy8vL1xuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBSdWxlc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4vLyBTY29wZWQgaW4gdHlwZXNldHRlZCBjb250ZW50IHRvIG1hdGNoIHNwZWNpZmljaXR5IG9mIHJlZ3VsYXIgY29udGVudFxuLm1kLXR5cGVzZXQge1xuXG4gIC8vIEFsbCBmb290bm90ZSByZWZlcmVuY2VzXG4gIFtpZF49XCJmbnJlZjpcIl0ge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcblxuICAgIC8vIFRhcmdldGVkIGFuY2hvclxuICAgICY6dGFyZ2V0IHtcbiAgICAgIG1hcmdpbi10b3A6IC0xICogcHgycmVtKDQ4cHggKyAxMnB4ICsgMTZweCk7XG4gICAgICBwYWRkaW5nLXRvcDogcHgycmVtKDQ4cHggKyAxMnB4ICsgMTZweCk7XG4gICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICB9XG4gIH1cblxuICAvLyBBbGwgZm9vdG5vdGUgYmFjayByZWZlcmVuY2VzXG4gIFtpZF49XCJmbjpcIl0ge1xuXG4gICAgLy8gQWRkIHNwYWNpbmcgdG8gYW5jaG9yIGZvciBvZmZzZXRcbiAgICAmOjpiZWZvcmUge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgIGhlaWdodDogMDtcbiAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgfVxuXG4gICAgLy8gVGFyZ2V0ZWQgYW5jaG9yXG4gICAgJjp0YXJnZXQ6OmJlZm9yZSB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIG1hcmdpbi10b3A6IC0xICogcHgycmVtKDQ4cHggKyAxMnB4ICsgMTBweCk7XG4gICAgICBwYWRkaW5nLXRvcDogcHgycmVtKDQ4cHggKyAxMnB4ICsgMTBweCk7XG4gICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICB9XG4gIH1cblxuICAvLyBGb290bm90ZXMgZXh0ZW5zaW9uXG4gIC5mb290bm90ZSB7XG4gICAgY29sb3I6ICRtZC1jb2xvci1ibGFjay0tbGlnaHQ7XG4gICAgZm9udC1zaXplOiBtcygtMSk7XG5cbiAgICAvLyBSZW1vdmUgYWRkaXRpb25hbCBzcGFjaW5nIG9uIGZvb3Rub3Rlc1xuICAgIG9sIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgIH1cblxuICAgIC8vIEZvb3Rub3RlXG4gICAgbGkge1xuICAgICAgdHJhbnNpdGlvbjogY29sb3IgMC4yNXM7XG5cbiAgICAgIC8vIERhcmtlbiBjb2xvciBmb3IgdGFyZ2V0ZWQgZm9vdG5vdGVcbiAgICAgICY6dGFyZ2V0IHtcbiAgICAgICAgY29sb3I6ICRtZC1jb2xvci1ibGFjaztcbiAgICAgIH1cblxuICAgICAgLy8gUmVtb3ZlIHNwYWNpbmcgb24gZmlyc3QgZWxlbWVudFxuICAgICAgOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgIH1cblxuICAgICAgLy8gTWFrZSBiYWNrIHJlZmVyZW5jZXMgdmlzaWJsZSBvbiBob3ZlclxuICAgICAgJjpob3ZlciAgLmZvb3Rub3RlLWJhY2tyZWYsXG4gICAgICAmOnRhcmdldCAuZm9vdG5vdGUtYmFja3JlZiB7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgIH1cblxuICAgICAgLy8gQWN0aXZlIG9yIHRhcmdldGVkIGJhY2sgcmVmZXJlbmNlXG4gICAgICAmOmhvdmVyICAuZm9vdG5vdGUtYmFja3JlZjpob3ZlcixcbiAgICAgICY6dGFyZ2V0IC5mb290bm90ZS1iYWNrcmVmIHtcbiAgICAgICAgY29sb3I6ICRtZC1jb2xvci1hY2NlbnQ7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gRm9vdG5vdGUgcmVmZXJlbmNlXG4gIC5mb290bm90ZS1yZWYge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBwb2ludGVyLWV2ZW50czogaW5pdGlhbDtcblxuICAgIC8vIFJlbmRlciBhIHRoaW4gbGluZSBiZWZvcmUgZm9vdG5vdGVcbiAgICAmOjpiZWZvcmUge1xuICAgICAgZGlzcGxheTogaW5saW5lO1xuICAgICAgbWFyZ2luOiAwIDAuMmVtO1xuICAgICAgYm9yZGVyLWxlZnQ6IHB4MnJlbSgxcHgpIHNvbGlkICRtZC1jb2xvci1ibGFjay0tbGlnaHRlcjtcbiAgICAgIGZvbnQtc2l6ZTogMS4yNWVtO1xuICAgICAgY29udGVudDogXCJcIjtcbiAgICAgIHZlcnRpY2FsLWFsaWduOiBweDJyZW0oLTVweCk7XG4gICAgfVxuICB9XG5cbiAgLy8gRm9vdG5vdGUgYmFjayByZWZlcmVuY2VcbiAgLmZvb3Rub3RlLWJhY2tyZWYge1xuICAgIEBleHRlbmQgJW1kLWljb247XG5cbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKHB4MnJlbSg1cHgpKTtcbiAgICB0cmFuc2l0aW9uOlxuICAgICAgdHJhbnNmb3JtIDAuMjVzICAwLjEyNXMsXG4gICAgICBjb2xvciAgICAgMC4yNXMsXG4gICAgICBvcGFjaXR5ICAgMC4xMjVzIDAuMTI1cztcbiAgICBjb2xvcjogJG1kLWNvbG9yLWJsYWNrLS1saWdodGVyO1xuICAgIC8vIEhhY2s6IHJlbW92ZSBVbmljb2RlIGFycm93IGZvciBpY29uXG4gICAgZm9udC1zaXplOiAwO1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdmVydGljYWwtYWxpZ246IHRleHQtYm90dG9tO1xuXG4gICAgLy8gQWRqdXN0IGZvciBSVEwgbGFuZ3VhZ2VzXG4gICAgW2Rpcj1cInJ0bFwiXSAmIHtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWChweDJyZW0oLTVweCkpO1xuICAgIH1cblxuICAgIC8vIEJhY2sgcmVmZXJlbmNlIGljb25cbiAgICAmOjpiZWZvcmUge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgZm9udC1zaXplOiBweDJyZW0oMTZweCk7XG4gICAgICBjb250ZW50OiBcIlxcRTMxQlwiOyAvLyBrZXlib2FyZF9yZXR1cm5cblxuICAgICAgLy8gQWRqdXN0IGZvciBSVEwgbGFuZ3VhZ2VzXG4gICAgICBbZGlyPVwicnRsXCJdICYge1xuICAgICAgICB0cmFuc2Zvcm06IHNjYWxlWCgtMSlcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vLy9cbi8vLyBDb3B5cmlnaHQgKGMpIDIwMTYtMjAyMCBNYXJ0aW4gRG9uYXRoIDxtYXJ0aW4uZG9uYXRoQHNxdWlkZnVuay5jb20+XG4vLy9cbi8vLyBQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYVxuLy8vIGNvcHkgb2YgdGhpcyBzb2Z0d2FyZSBhbmQgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGUgXCJTb2Z0d2FyZVwiKSxcbi8vLyB0byBkZWFsIGluIHRoZSBTb2Z0d2FyZSB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcgd2l0aG91dCBsaW1pdGF0aW9uXG4vLy8gdGhlIHJpZ2h0cyB0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsXG4vLy8gYW5kL29yIHNlbGwgY29waWVzIG9mIHRoZSBTb2Z0d2FyZSwgYW5kIHRvIHBlcm1pdCBwZXJzb25zIHRvIHdob20gdGhlXG4vLy8gU29mdHdhcmUgaXMgZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczpcbi8vL1xuLy8vIFRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIHNoYWxsIGJlIGluY2x1ZGVkIGluXG4vLy8gYWxsIGNvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUgU29mdHdhcmUuXG4vLy9cbi8vLyBUSEUgU09GVFdBUkUgSVMgUFJPVklERUQgXCJBUyBJU1wiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELCBFWFBSRVNTIE9SXG4vLy8gSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFksXG4vLy8gRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTi1JTkZSSU5HRU1FTlQuIElOIE5PIEVWRU5UIFNIQUxMXG4vLy8gVEhFIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkgQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVJcbi8vLyBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULCBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lOR1xuLy8vIEZST00sIE9VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhFIFNPRlRXQVJFIE9SIFRIRSBVU0UgT1IgT1RIRVJcbi8vLyBERUFMSU5HU1xuLy8vL1xuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBSdWxlc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4vLyBTY29wZWQgaW4gdHlwZXNldHRlZCBjb250ZW50IHRvIG1hdGNoIHNwZWNpZmljaXR5IG9mIHJlZ3VsYXIgY29udGVudFxuLm1kLXR5cGVzZXQge1xuXG4gIC8vIFBlcm1hbGlua3MgZXh0ZW5zaW9uXG4gIC5oZWFkZXJsaW5rIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgbWFyZ2luLWxlZnQ6IHB4MnJlbSgxMHB4KTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCBweDJyZW0oNXB4KSk7XG4gICAgdHJhbnNpdGlvbjpcbiAgICAgIHRyYW5zZm9ybSAwLjI1cyAgMC4yNXMsXG4gICAgICBjb2xvciAgICAgMC4yNXMsXG4gICAgICBvcGFjaXR5ICAgMC4xMjVzIDAuMjVzO1xuICAgIG9wYWNpdHk6IDA7XG5cbiAgICAvLyBBZGp1c3QgZm9yIFJUTCBsYW5ndWFnZXNcbiAgICBbZGlyPVwicnRsXCJdICYge1xuICAgICAgbWFyZ2luLXJpZ2h0OiBweDJyZW0oMTBweCk7XG4gICAgICBtYXJnaW4tbGVmdDogaW5pdGlhbDtcbiAgICB9XG5cbiAgICAvLyBIaWdoZXIgc3BlY2lmaWNpdHkgZm9yIGNvbG9yIGR1ZSB0byBwYWxldHRlcyBpbnRlZ3JhdGlvblxuICAgIGh0bWwgYm9keSAmIHtcbiAgICAgIGNvbG9yOiAkbWQtY29sb3ItYmxhY2stLWxpZ2h0ZXI7XG4gICAgfVxuXG4gICAgLy8gSGlkZSBmb3IgcHJpbnRcbiAgICBAbWVkaWEgcHJpbnQge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gIH1cblxuICAvLyBDb3JyZWN0IGFuY2hvciBvZmZzZXQgZm9yIGxpbmsgYmx1cnJpbmdcbiAgQGVhY2ggJGxldmVsLCAkZGVsdGEgaW4gKFxuICAgIGgxOiA5cHgsXG4gICAgaDI6IDhweCxcbiAgICBoMzogOXB4LFxuICAgIGg0OiA5cHgsXG4gICAgaDU6IDExcHgsXG4gICAgaDY6IDExcHhcbiAgKSB7XG4gICAgI3skbGV2ZWx9W2lkXSB7XG5cbiAgICAgIC8vIFVuLXRhcmdldGVkIGFuY2hvclxuICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIG1hcmdpbi10b3A6IC0kZGVsdGE7XG4gICAgICAgIHBhZGRpbmctdG9wOiAkZGVsdGE7XG4gICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICB9XG5cbiAgICAgIC8vIFRhcmdldGVkIGFuY2hvciAoNDhweCBmcm9tIGhlYWRlciwgMTJweCBmcm9tIHNpZGViYXIgb2Zmc2V0KVxuICAgICAgJjp0YXJnZXQ6OmJlZm9yZSB7XG4gICAgICAgIG1hcmdpbi10b3A6IC0xICogcHgycmVtKDQ4cHggKyAxMnB4ICsgJGRlbHRhKTtcbiAgICAgICAgcGFkZGluZy10b3A6IHB4MnJlbSg0OHB4ICsgMTJweCArICRkZWx0YSk7XG4gICAgICB9XG5cbiAgICAgIC8vIE1ha2UgcGVybWFsaW5rIHZpc2libGUgb24gaG92ZXJcbiAgICAgICY6aG92ZXIgIC5oZWFkZXJsaW5rLFxuICAgICAgJjp0YXJnZXQgLmhlYWRlcmxpbmssXG4gICAgICAmIC5oZWFkZXJsaW5rOmZvY3VzIHtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgMCk7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICB9XG5cbiAgICAgIC8vIEFjdGl2ZSBvciB0YXJnZXRlZCBwZXJtYWxpbmtcbiAgICAgICY6aG92ZXIgIC5oZWFkZXJsaW5rOmhvdmVyLFxuICAgICAgJjp0YXJnZXQgLmhlYWRlcmxpbmssXG4gICAgICAmIC5oZWFkZXJsaW5rOmZvY3VzIHtcbiAgICAgICAgY29sb3I6ICRtZC1jb2xvci1hY2NlbnQ7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLy8vXG4vLy8gQ29weXJpZ2h0IChjKSAyMDE2LTIwMjAgTWFydGluIERvbmF0aCA8bWFydGluLmRvbmF0aEBzcXVpZGZ1bmsuY29tPlxuLy8vXG4vLy8gUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0YWluaW5nIGFcbi8vLyBjb3B5IG9mIHRoaXMgc29mdHdhcmUgYW5kIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlIFwiU29mdHdhcmVcIiksXG4vLy8gdG8gZGVhbCBpbiB0aGUgU29mdHdhcmUgd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nIHdpdGhvdXQgbGltaXRhdGlvblxuLy8vIHRoZSByaWdodHMgdG8gdXNlLCBjb3B5LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNoLCBkaXN0cmlidXRlLCBzdWJsaWNlbnNlLFxuLy8vIGFuZC9vciBzZWxsIGNvcGllcyBvZiB0aGUgU29mdHdhcmUsIGFuZCB0byBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZVxuLy8vIFNvZnR3YXJlIGlzIGZ1cm5pc2hlZCB0byBkbyBzbywgc3ViamVjdCB0byB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6XG4vLy9cbi8vLyBUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBiZSBpbmNsdWRlZCBpblxuLy8vIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIFNvZnR3YXJlLlxuLy8vXG4vLy8gVEhFIFNPRlRXQVJFIElTIFBST1ZJREVEIFwiQVMgSVNcIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwgRVhQUkVTUyBPUlxuLy8vIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZLFxuLy8vIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT04tSU5GUklOR0VNRU5ULiBJTiBOTyBFVkVOVCBTSEFMTFxuLy8vIFRIRSBBVVRIT1JTIE9SIENPUFlSSUdIVCBIT0xERVJTIEJFIExJQUJMRSBGT1IgQU5ZIENMQUlNLCBEQU1BR0VTIE9SIE9USEVSXG4vLy8gTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkdcbi8vLyBGUk9NLCBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRSBTT0ZUV0FSRSBPUiBUSEUgVVNFIE9SIE9USEVSXG4vLy8gREVBTElOR1Ncbi8vLy9cblxuLy8gc3R5bGVsaW50LWRpc2FibGUgc2VsZWN0b3ItY2xhc3MtcGF0dGVyblxuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBSdWxlc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4vLyBTY29wZWQgaW4gdHlwZXNldHRlZCBjb250ZW50IHRvIG1hdGNoIHNwZWNpZmljaXR5IG9mIHJlZ3VsYXIgY29udGVudFxuLm1kLXR5cGVzZXQge1xuXG4gIC8vIE1hdGhKYXggaW50ZWdyYXRpb24gLSBhZGQgcGFkZGluZyB0byBvbWl0IHZlcnRpY2FsIHNjcm9sbGJhclxuICAuTUpYYy1kaXNwbGF5IHtcbiAgICBtYXJnaW46IDAuNzVlbSAwO1xuICAgIHBhZGRpbmc6IDAuNzVlbSAwO1xuICAgIG92ZXJmbG93OiBhdXRvO1xuICAgIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcbiAgfVxuXG4gIC8vIFN0cmV0Y2ggdG9wLWxldmVsIGNvbnRhaW5lcnNcbiAgPiBwID4gLk1KWGMtZGlzcGxheSB7XG5cbiAgICAvLyBbbW9iaWxlIC1dOiBTdHJldGNoIHRvIHdob2xlIHdpZHRoXG4gICAgQGluY2x1ZGUgYnJlYWstdG8tZGV2aWNlKG1vYmlsZSkge1xuICAgICAgbWFyZ2luOiAwLjc1ZW0gcHgycmVtKC0xNnB4KTtcbiAgICAgIHBhZGRpbmc6IDAuMjVlbSBweDJyZW0oMTZweCk7XG4gICAgfVxuICB9XG5cbiAgLy8gUmVtb3ZlIG91dGxpbmUgb24gdGFiIGluZGV4XG4gIC5NYXRoSmF4X0NIVE1MIHtcbiAgICBvdXRsaW5lOiAwO1xuICB9XG59XG4iLCIvLy8vXG4vLy8gQ29weXJpZ2h0IChjKSAyMDE2LTIwMjAgTWFydGluIERvbmF0aCA8bWFydGluLmRvbmF0aEBzcXVpZGZ1bmsuY29tPlxuLy8vXG4vLy8gUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0YWluaW5nIGFcbi8vLyBjb3B5IG9mIHRoaXMgc29mdHdhcmUgYW5kIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlIFwiU29mdHdhcmVcIiksXG4vLy8gdG8gZGVhbCBpbiB0aGUgU29mdHdhcmUgd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nIHdpdGhvdXQgbGltaXRhdGlvblxuLy8vIHRoZSByaWdodHMgdG8gdXNlLCBjb3B5LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNoLCBkaXN0cmlidXRlLCBzdWJsaWNlbnNlLFxuLy8vIGFuZC9vciBzZWxsIGNvcGllcyBvZiB0aGUgU29mdHdhcmUsIGFuZCB0byBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZVxuLy8vIFNvZnR3YXJlIGlzIGZ1cm5pc2hlZCB0byBkbyBzbywgc3ViamVjdCB0byB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6XG4vLy9cbi8vLyBUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBiZSBpbmNsdWRlZCBpblxuLy8vIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIFNvZnR3YXJlLlxuLy8vXG4vLy8gVEhFIFNPRlRXQVJFIElTIFBST1ZJREVEIFwiQVMgSVNcIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwgRVhQUkVTUyBPUlxuLy8vIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZLFxuLy8vIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT04tSU5GUklOR0VNRU5ULiBJTiBOTyBFVkVOVCBTSEFMTFxuLy8vIFRIRSBBVVRIT1JTIE9SIENPUFlSSUdIVCBIT0xERVJTIEJFIExJQUJMRSBGT1IgQU5ZIENMQUlNLCBEQU1BR0VTIE9SIE9USEVSXG4vLy8gTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkdcbi8vLyBGUk9NLCBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRSBTT0ZUV0FSRSBPUiBUSEUgVVNFIE9SIE9USEVSXG4vLy8gREVBTElOR1Ncbi8vLy9cblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gUnVsZXNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLy8gU2NvcGVkIGluIHR5cGVzZXR0ZWQgY29udGVudCB0byBtYXRjaCBzcGVjaWZpY2l0eSBvZiByZWd1bGFyIGNvbnRlbnRcbi5tZC10eXBlc2V0IHtcblxuICAvLyBEZWxldGlvbnMsIGFkZGl0aW9ucyBhbmQgY29tbWVudHNcbiAgZGVsLmNyaXRpYyxcbiAgaW5zLmNyaXRpYyxcbiAgLmNyaXRpYy5jb21tZW50IHtcbiAgICBtYXJnaW46IDAgMC4yNWVtO1xuICAgIHBhZGRpbmc6IDAuMDYyNWVtIDA7XG4gICAgYm9yZGVyLXJhZGl1czogcHgycmVtKDJweCk7XG4gICAgYm94LWRlY29yYXRpb24tYnJlYWs6IGNsb25lO1xuICB9XG5cbiAgLy8gRGVsZXRpb25cbiAgZGVsLmNyaXRpYyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGNvZGVoaWxpdGUtZGlmZi1kZWxldGVkOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIFRPRE86IGRlcGVuZGVudCBvbiBvcmRlciBvZiBpbmNsdXNpb25cbiAgICBib3gtc2hhZG93OlxuICAgICAgKzAuMjVlbSAwIDAgJGNvZGVoaWxpdGUtZGlmZi1kZWxldGVkLFxuICAgICAgLTAuMjVlbSAwIDAgJGNvZGVoaWxpdGUtZGlmZi1kZWxldGVkO1xuICB9XG5cbiAgLy8gQWRkaXRpb25cbiAgaW5zLmNyaXRpYyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGNvZGVoaWxpdGUtZGlmZi1pbnNlcnRlZDsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIFRPRE86IGRlcGVuZGVudCBvbiBvcmRlciBvZiBpbmNsdXNpb25cbiAgICBib3gtc2hhZG93OlxuICAgICAgKzAuMjVlbSAwIDAgJGNvZGVoaWxpdGUtZGlmZi1pbnNlcnRlZCxcbiAgICAgIC0wLjI1ZW0gMCAwICRjb2RlaGlsaXRlLWRpZmYtaW5zZXJ0ZWQ7XG4gIH1cblxuICAvLyBDb21tZW50XG4gIC5jcml0aWMuY29tbWVudCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJG1kLWNvZGUtYmFja2dyb3VuZDsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIFRPRE86IHJlbmFtZSwgY2VudHJhbGl6ZSBzb21laG93XG4gICAgY29sb3I6ICRtZC1jb2RlLWNvbG9yO1xuICAgIGJveC1zaGFkb3c6XG4gICAgICArMC4yNWVtIDAgMCAkbWQtY29kZS1iYWNrZ3JvdW5kLFxuICAgICAgLTAuMjVlbSAwIDAgJG1kLWNvZGUtYmFja2dyb3VuZDtcblxuICAgIC8vIEljb25cbiAgICAmOjpiZWZvcmUge1xuICAgICAgQGV4dGVuZCAlbWQtaWNvbjtcblxuICAgICAgcGFkZGluZy1yaWdodDogMC4xMjVlbTtcbiAgICAgIGNvbG9yOiAkbWQtY29sb3ItYmxhY2stLWxpZ2h0ZXI7XG4gICAgICBjb250ZW50OiBcIlxcRTBCN1wiOyAvLyBjaGF0XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogLTAuMTI1ZW07XG4gICAgfVxuICB9XG5cbiAgLy8gQmxvY2tcbiAgLmNyaXRpYy5ibG9jayB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWFyZ2luOiAxZW0gMDtcbiAgICBwYWRkaW5nLXJpZ2h0OiBweDJyZW0oMTZweCk7XG4gICAgcGFkZGluZy1sZWZ0OiBweDJyZW0oMTZweCk7XG4gICAgYm94LXNoYWRvdzogbm9uZTtcblxuICAgIC8vIERlY3JlYXNlIHNwYWNpbmcgb24gZmlyc3QgZWxlbWVudFxuICAgIDpmaXJzdC1jaGlsZCB7XG4gICAgICBtYXJnaW4tdG9wOiAwLjVlbTtcbiAgICB9XG5cbiAgICAvLyBEZWNyZWFzZSBzcGFjaW5nIG9uIGxhc3QgZWxlbWVudFxuICAgIDpsYXN0LWNoaWxkIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDAuNWVtO1xuICAgIH1cbiAgfVxufVxuIiwiLy8vL1xuLy8vIENvcHlyaWdodCAoYykgMjAxNi0yMDIwIE1hcnRpbiBEb25hdGggPG1hcnRpbi5kb25hdGhAc3F1aWRmdW5rLmNvbT5cbi8vL1xuLy8vIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBhXG4vLy8gY29weSBvZiB0aGlzIHNvZnR3YXJlIGFuZCBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZSBcIlNvZnR3YXJlXCIpLFxuLy8vIHRvIGRlYWwgaW4gdGhlIFNvZnR3YXJlIHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1ZGluZyB3aXRob3V0IGxpbWl0YXRpb25cbi8vLyB0aGUgcmlnaHRzIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwgZGlzdHJpYnV0ZSwgc3VibGljZW5zZSxcbi8vLyBhbmQvb3Igc2VsbCBjb3BpZXMgb2YgdGhlIFNvZnR3YXJlLCBhbmQgdG8gcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGVcbi8vLyBTb2Z0d2FyZSBpcyBmdXJuaXNoZWQgdG8gZG8gc28sIHN1YmplY3QgdG8gdGhlIGZvbGxvd2luZyBjb25kaXRpb25zOlxuLy8vXG4vLy8gVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWQgaW5cbi8vLyBhbGwgY29waWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25zIG9mIHRoZSBTb2Z0d2FyZS5cbi8vL1xuLy8vIFRIRSBTT0ZUV0FSRSBJUyBQUk9WSURFRCBcIkFTIElTXCIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsIEVYUFJFU1MgT1Jcbi8vLyBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSxcbi8vLyBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OLUlORlJJTkdFTUVOVC4gSU4gTk8gRVZFTlQgU0hBTExcbi8vLyBUSEUgQVVUSE9SUyBPUiBDT1BZUklHSFQgSE9MREVSUyBCRSBMSUFCTEUgRk9SIEFOWSBDTEFJTSwgREFNQUdFUyBPUiBPVEhFUlxuLy8vIExJQUJJTElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HXG4vLy8gRlJPTSwgT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUlxuLy8vIERFQUxJTkdTXG4vLy8vXG5cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIFJ1bGVzXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi8vIFNjb3BlZCBpbiB0eXBlc2V0dGVkIGNvbnRlbnQgdG8gbWF0Y2ggc3BlY2lmaWNpdHkgb2YgcmVndWxhciBjb250ZW50XG4ubWQtdHlwZXNldCB7XG5cbiAgLy8gQ29ycmVjdCBhbGlnbm1lbnQgb2YgZW1vamlzXG4gIC5lbW9qaW9uZSxcbiAgLnR3ZW1vamksXG4gIC5nZW1vamkge1xuICAgIHdpZHRoOiBweDJyZW0oMjBweCk7XG4gICAgdmVydGljYWwtYWxpZ246IHRleHQtdG9wO1xuICB9XG59XG4iLCIvLy8vXG4vLy8gQ29weXJpZ2h0IChjKSAyMDE2LTIwMjAgTWFydGluIERvbmF0aCA8bWFydGluLmRvbmF0aEBzcXVpZGZ1bmsuY29tPlxuLy8vXG4vLy8gUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0YWluaW5nIGFcbi8vLyBjb3B5IG9mIHRoaXMgc29mdHdhcmUgYW5kIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlIFwiU29mdHdhcmVcIiksXG4vLy8gdG8gZGVhbCBpbiB0aGUgU29mdHdhcmUgd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nIHdpdGhvdXQgbGltaXRhdGlvblxuLy8vIHRoZSByaWdodHMgdG8gdXNlLCBjb3B5LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNoLCBkaXN0cmlidXRlLCBzdWJsaWNlbnNlLFxuLy8vIGFuZC9vciBzZWxsIGNvcGllcyBvZiB0aGUgU29mdHdhcmUsIGFuZCB0byBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZVxuLy8vIFNvZnR3YXJlIGlzIGZ1cm5pc2hlZCB0byBkbyBzbywgc3ViamVjdCB0byB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6XG4vLy9cbi8vLyBUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBiZSBpbmNsdWRlZCBpblxuLy8vIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIFNvZnR3YXJlLlxuLy8vXG4vLy8gVEhFIFNPRlRXQVJFIElTIFBST1ZJREVEIFwiQVMgSVNcIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwgRVhQUkVTUyBPUlxuLy8vIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZLFxuLy8vIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT04tSU5GUklOR0VNRU5ULiBJTiBOTyBFVkVOVCBTSEFMTFxuLy8vIFRIRSBBVVRIT1JTIE9SIENPUFlSSUdIVCBIT0xERVJTIEJFIExJQUJMRSBGT1IgQU5ZIENMQUlNLCBEQU1BR0VTIE9SIE9USEVSXG4vLy8gTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkdcbi8vLyBGUk9NLCBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRSBTT0ZUV0FSRSBPUiBUSEUgVVNFIE9SIE9USEVSXG4vLy8gREVBTElOR1Ncbi8vLy9cblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gUnVsZXNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLy8gU2NvcGVkIGluIHR5cGVzZXR0ZWQgY29udGVudCB0byBtYXRjaCBzcGVjaWZpY2l0eSBvZiByZWd1bGFyIGNvbnRlbnRcbi5tZC10eXBlc2V0IHtcblxuICAvLyBRdWFsaWZpZWQgY2xhc3Mgc2VsZWN0b3IgdG8gZGlzdGluZ3Vpc2ggaW5saW5lIGNvZGUgZnJvbSBjb2RlIGJsb2Nrc1xuICBjb2RlLmNvZGVoaWxpdGUge1xuICAgICRjb3JyZWN0OiAxIC8gMC44NTtcblxuICAgIG1hcmdpbjogMCAwLjI1ZW0gKiAkY29ycmVjdDtcbiAgICBwYWRkaW5nOiAwLjA2MjVlbSAqICRjb3JyZWN0IDA7XG4gIH1cbn1cbiIsIi8vLy9cbi8vLyBDb3B5cmlnaHQgKGMpIDIwMTYtMjAyMCBNYXJ0aW4gRG9uYXRoIDxtYXJ0aW4uZG9uYXRoQHNxdWlkZnVuay5jb20+XG4vLy9cbi8vLyBQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYVxuLy8vIGNvcHkgb2YgdGhpcyBzb2Z0d2FyZSBhbmQgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGUgXCJTb2Z0d2FyZVwiKSxcbi8vLyB0byBkZWFsIGluIHRoZSBTb2Z0d2FyZSB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcgd2l0aG91dCBsaW1pdGF0aW9uXG4vLy8gdGhlIHJpZ2h0cyB0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsXG4vLy8gYW5kL29yIHNlbGwgY29waWVzIG9mIHRoZSBTb2Z0d2FyZSwgYW5kIHRvIHBlcm1pdCBwZXJzb25zIHRvIHdob20gdGhlXG4vLy8gU29mdHdhcmUgaXMgZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczpcbi8vL1xuLy8vIFRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIHNoYWxsIGJlIGluY2x1ZGVkIGluXG4vLy8gYWxsIGNvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUgU29mdHdhcmUuXG4vLy9cbi8vLyBUSEUgU09GVFdBUkUgSVMgUFJPVklERUQgXCJBUyBJU1wiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELCBFWFBSRVNTIE9SXG4vLy8gSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFksXG4vLy8gRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTi1JTkZSSU5HRU1FTlQuIElOIE5PIEVWRU5UIFNIQUxMXG4vLy8gVEhFIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkgQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVJcbi8vLyBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULCBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lOR1xuLy8vIEZST00sIE9VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhFIFNPRlRXQVJFIE9SIFRIRSBVU0UgT1IgT1RIRVJcbi8vLyBERUFMSU5HU1xuLy8vL1xuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBSdWxlc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4vLyBTY29wZWQgaW4gdHlwZXNldHRlZCBjb250ZW50IHRvIG1hdGNoIHNwZWNpZmljaXR5IG9mIHJlZ3VsYXIgY29udGVudFxuLm1kLXR5cGVzZXQge1xuXG4gIC8vIFRhYmJlZCBjb2RlIGJsb2NrIGNvbnRlbnRcbiAgLnN1cGVyZmVuY2VzLWNvbnRlbnQge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgb3JkZXI6IDk5O1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRtZC1jb2xvci13aGl0ZTtcblxuICAgIC8vIEFjdHVhbCBjb250ZW50XG4gICAgcHJlIHtcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDBcbiAgICB9XG4gIH1cblxuICAvLyBUYWJiZWQgY29kZSBibG9jayBjb250YWluZXJcbiAgLnN1cGVyZmVuY2VzLXRhYnMge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICBtYXJnaW46IDFlbSAwO1xuICAgIGJvcmRlcjogcHgycmVtKDFweCkgc29saWQgJG1kLWNvbG9yLWJsYWNrLS1saWdodGVzdDtcbiAgICBib3JkZXItcmFkaXVzOiAwLjJlbTtcblxuICAgIC8vIEhpZGUgcmFkaW8gYnV0dG9uc1xuICAgID4gaW5wdXQge1xuICAgICAgZGlzcGxheTogbm9uZTtcblxuICAgICAgLy8gQWN0aXZlIHRhYiBsYWJlbFxuICAgICAgJjpjaGVja2VkICsgbGFiZWwge1xuICAgICAgICBmb250LXdlaWdodDogNzAwO1xuXG4gICAgICAgIC8vIFNob3cgY29kZSB0YWIgY29udGVudFxuICAgICAgICAmICsgLnN1cGVyZmVuY2VzLWNvbnRlbnQge1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gVGFiIGxhYmVsXG4gICAgPiBsYWJlbCB7XG4gICAgICB3aWR0aDogYXV0bztcbiAgICAgIHBhZGRpbmc6IHB4MnJlbSgxMnB4KTtcbiAgICAgIHRyYW5zaXRpb246IGNvbG9yIDAuMTI1cztcbiAgICAgIGZvbnQtc2l6ZTogbXMoLTEpO1xuICAgICAgY3Vyc29yOiBwb2ludGVyO1xuXG4gICAgICAvLyBIb3ZlcmVkIHRhYiBsYWJlbFxuICAgICAgaHRtbCAmOmhvdmVyIHtcbiAgICAgICAgY29sb3I6ICRtZC1jb2xvci1hY2NlbnQ7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gRnVsbC13aWR0aCBjb250YWluZXIgb24gdG9wLWxldmVsXG4gID4gLnN1cGVyZmVuY2VzLXRhYnMge1xuXG4gICAgLy8gW21vYmlsZSAtXTogU3RyZXRjaCB0byB3aG9sZSB3aWR0aFxuICAgIEBpbmNsdWRlIGJyZWFrLXRvLWRldmljZShtb2JpbGUpIHtcbiAgICAgIG1hcmdpbjogMWVtIHB4MnJlbSgtMTZweCk7XG4gICAgICBib3JkZXI6IDA7XG4gICAgICBib3JkZXItdG9wOiBweDJyZW0oMXB4KSBzb2xpZCAkbWQtY29sb3ItYmxhY2stLWxpZ2h0ZXN0O1xuICAgICAgYm9yZGVyLXJhZGl1czogMDtcblxuICAgICAgLy8gQWN0dWFsIGNvbnRhaW5lciB3aXRoIGNvZGUsIG92ZXJmbG93aW5nXG4gICAgICBjb2RlIHtcbiAgICAgICAgcGFkZGluZzogcHgycmVtKDEwLjVweCkgcHgycmVtKDE2cHgpO1xuICAgICAgfVxuXG4gICAgICAvLyBGaXJzdCB0YWIgbGFiZWxcbiAgICAgIGlucHV0OmZpcnN0LWNoaWxkICsgbGFiZWwge1xuICAgICAgICBtYXJnaW4tbGVmdDogcHgycmVtKDRweCk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLy8vXG4vLy8gQ29weXJpZ2h0IChjKSAyMDE2LTIwMjAgTWFydGluIERvbmF0aCA8bWFydGluLmRvbmF0aEBzcXVpZGZ1bmsuY29tPlxuLy8vXG4vLy8gUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0YWluaW5nIGFcbi8vLyBjb3B5IG9mIHRoaXMgc29mdHdhcmUgYW5kIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlIFwiU29mdHdhcmVcIiksXG4vLy8gdG8gZGVhbCBpbiB0aGUgU29mdHdhcmUgd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nIHdpdGhvdXQgbGltaXRhdGlvblxuLy8vIHRoZSByaWdodHMgdG8gdXNlLCBjb3B5LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNoLCBkaXN0cmlidXRlLCBzdWJsaWNlbnNlLFxuLy8vIGFuZC9vciBzZWxsIGNvcGllcyBvZiB0aGUgU29mdHdhcmUsIGFuZCB0byBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZVxuLy8vIFNvZnR3YXJlIGlzIGZ1cm5pc2hlZCB0byBkbyBzbywgc3ViamVjdCB0byB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6XG4vLy9cbi8vLyBUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBiZSBpbmNsdWRlZCBpblxuLy8vIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIFNvZnR3YXJlLlxuLy8vXG4vLy8gVEhFIFNPRlRXQVJFIElTIFBST1ZJREVEIFwiQVMgSVNcIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwgRVhQUkVTUyBPUlxuLy8vIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZLFxuLy8vIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT04tSU5GUklOR0VNRU5ULiBJTiBOTyBFVkVOVCBTSEFMTFxuLy8vIFRIRSBBVVRIT1JTIE9SIENPUFlSSUdIVCBIT0xERVJTIEJFIExJQUJMRSBGT1IgQU5ZIENMQUlNLCBEQU1BR0VTIE9SIE9USEVSXG4vLy8gTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkdcbi8vLyBGUk9NLCBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRSBTT0ZUV0FSRSBPUiBUSEUgVVNFIE9SIE9USEVSXG4vLy8gREVBTElOR1Ncbi8vLy9cblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gUnVsZXNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLy8gU2NvcGVkIGluIHR5cGVzZXR0ZWQgY29udGVudCB0byBtYXRjaCBzcGVjaWZpY2l0eSBvZiByZWd1bGFyIGNvbnRlbnRcbi5tZC10eXBlc2V0IHtcblxuICAvLyBSZW1vdmUgbGlzdCBpY29uIG9uIHRhc2sgaXRlbXNcbiAgLnRhc2stbGlzdC1pdGVtIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xuXG4gICAgLy8gTWFrZSBjaGVja2JveCBpdGVtcyBhbGlnbiB3aXRoIG5vcm1hbCBsaXN0IGl0ZW1zLCBidXQgcG9zaXRpb25cbiAgICAvLyBldmVyeXRoaW5nIGluIGVtcyBmb3IgY29ycmVjdCBsYXlvdXQgYXQgc21hbGxlciBmb250IHNpemVzXG4gICAgW3R5cGU9XCJjaGVja2JveFwiXSB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDAuNDVlbTtcbiAgICAgIGxlZnQ6IC0yZW07XG5cbiAgICAgIC8vIEFkanVzdCBmb3IgUlRMIGxhbmd1YWdlc1xuICAgICAgW2Rpcj1cInJ0bFwiXSAmIHtcbiAgICAgICAgcmlnaHQ6IC0yZW07XG4gICAgICAgIGxlZnQ6IGluaXRpYWw7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gV3JhcHBlciBmb3IgbGlzdCBjb250cm9scywgaW4gY2FzZSBjdXN0b20gY2hlY2tib3hlcyBhcmUgZW5hYmxlZFxuICAudGFzay1saXN0LWNvbnRyb2wge1xuXG4gICAgLy8gQ2hlY2tib3ggaWNvbiBpbiB1bmNoZWNrZWQgc3RhdGVcbiAgICAudGFzay1saXN0LWluZGljYXRvcjo6YmVmb3JlIHtcbiAgICAgIEBleHRlbmQgJW1kLWljb247XG5cbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMC4xNWVtO1xuICAgICAgbGVmdDogLTEuMjVlbTtcbiAgICAgIGNvbG9yOiAkbWQtY29sb3ItYmxhY2stLWxpZ2h0ZXI7XG4gICAgICBmb250LXNpemU6IDEuMjVlbTtcbiAgICAgIGNvbnRlbnQ6IFwiXFxFODM1XCI7IC8vIGNoZWNrX2JveF9vdXRsaW5lX2JsYW5rXG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogLTAuMjVlbTtcblxuICAgICAgLy8gQWRqdXN0IGZvciBSVEwgbGFuZ3VhZ2VzXG4gICAgICBbZGlyPVwicnRsXCJdICYge1xuICAgICAgICByaWdodDogLTEuMjVlbTtcbiAgICAgICAgbGVmdDogaW5pdGlhbDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBDaGVja2JveCBpY29uIGluIGNoZWNrZWQgc3RhdGVcbiAgICBbdHlwZT1cImNoZWNrYm94XCJdOmNoZWNrZWQgKyAudGFzay1saXN0LWluZGljYXRvcjo6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6IFwiXFxFODM0XCI7IC8vIGNoZWNrX2JveFxuICAgIH1cblxuICAgIC8vIEhpZGUgb3JpZ2luYWwgY2hlY2tib3ggYmVoaW5kIGljb25cbiAgICBbdHlwZT1cImNoZWNrYm94XCJdIHtcbiAgICAgIG9wYWNpdHk6IDA7XG4gICAgICB6LWluZGV4OiAtMTtcbiAgICB9XG4gIH1cbn1cbiIsIi8vLy9cbi8vLyBDb3B5cmlnaHQgKGMpIDIwMTYtMjAyMCBNYXJ0aW4gRG9uYXRoIDxtYXJ0aW4uZG9uYXRoQHNxdWlkZnVuay5jb20+XG4vLy9cbi8vLyBQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYVxuLy8vIGNvcHkgb2YgdGhpcyBzb2Z0d2FyZSBhbmQgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGUgXCJTb2Z0d2FyZVwiKSxcbi8vLyB0byBkZWFsIGluIHRoZSBTb2Z0d2FyZSB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcgd2l0aG91dCBsaW1pdGF0aW9uXG4vLy8gdGhlIHJpZ2h0cyB0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsXG4vLy8gYW5kL29yIHNlbGwgY29waWVzIG9mIHRoZSBTb2Z0d2FyZSwgYW5kIHRvIHBlcm1pdCBwZXJzb25zIHRvIHdob20gdGhlXG4vLy8gU29mdHdhcmUgaXMgZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczpcbi8vL1xuLy8vIFRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIHNoYWxsIGJlIGluY2x1ZGVkIGluXG4vLy8gYWxsIGNvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUgU29mdHdhcmUuXG4vLy9cbi8vLyBUSEUgU09GVFdBUkUgSVMgUFJPVklERUQgXCJBUyBJU1wiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELCBFWFBSRVNTIE9SXG4vLy8gSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFksXG4vLy8gRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTi1JTkZSSU5HRU1FTlQuIElOIE5PIEVWRU5UIFNIQUxMXG4vLy8gVEhFIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkgQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVJcbi8vLyBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULCBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lOR1xuLy8vIEZST00sIE9VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhFIFNPRlRXQVJFIE9SIFRIRSBVU0UgT1IgT1RIRVJcbi8vLyBERUFMSU5HU1xuLy8vL1xuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBWYXJpYWJsZXNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLy8vXG4vLy8gRGV2aWNlLXNwZWNpZmljIGJyZWFrcG9pbnRzXG4vLy9cbi8vLyBAZXhhbXBsZVxuLy8vICAgJGJyZWFrLWRldmljZXM6IChcbi8vLyAgICAgbW9iaWxlOiAoXG4vLy8gICAgICAgcG9ydHJhaXQ6ICAyMjBweCAgNDc5cHgsXG4vLy8gICAgICAgbGFuZHNjYXBlOiA0ODBweCAgNzE5cHhcbi8vLyAgICAgKSxcbi8vLyAgICAgdGFibGV0OiAoXG4vLy8gICAgICAgcG9ydHJhaXQ6ICA3MjBweCAgOTU5cHgsXG4vLy8gICAgICAgbGFuZHNjYXBlOiA5NjBweCAgMTIxOXB4XG4vLy8gICAgICksXG4vLy8gICAgIHNjcmVlbjogKFxuLy8vICAgICAgIHNtYWxsOiAgICAgMTIyMHB4IDE1OTlweCxcbi8vLyAgICAgICBtZWRpdW06ICAgIDE2MDBweCAxOTk5cHgsXG4vLy8gICAgICAgbGFyZ2U6ICAgICAyMDAwcHhcbi8vLyAgICAgKVxuLy8vICAgKTtcbi8vL1xuLy8vIEBncm91cCAgaGVscGVyc1xuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vIEB0eXBlICAgTWFwXG4vLy9cbiRicmVhay1kZXZpY2VzOiAoKSAhZGVmYXVsdDtcblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gSGVscGVyc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4vLy9cbi8vLyBDaG9vc2UgbWluaW11bSBhbmQgbWF4aW11bSBkZXZpY2Ugd2lkdGhzXG4vLy9cbi8vLyBAZ3JvdXAgIGhlbHBlcnNcbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vLyBAcGFyYW0gIHtNYXB9ICAkZGV2aWNlcyBNYXAgb2YgZGV2aWNlc1xuLy8vIEByZXR1cm4ge0xpc3R9ICAgICAgICAgIE1pbmltdW0gYW5kIG1heGltdW0gd2lkdGhcbi8vL1xuQGZ1bmN0aW9uIGJyZWFrLXNlbGVjdC1taW4tbWF4KCRkZXZpY2VzKSB7XG4gICRtaW46IDEwMDAwMDA7XG4gICRtYXg6IDA7XG4gIEBlYWNoICRrZXksICR2YWx1ZSBpbiAkZGV2aWNlcyB7XG4gICAgQHdoaWxlIHR5cGUtb2YoJHZhbHVlKSA9PSBtYXAge1xuICAgICAgJHZhbHVlOiBicmVhay1zZWxlY3QtbWluLW1heCgkdmFsdWUpO1xuICAgIH1cbiAgICBAaWYgdHlwZS1vZigkdmFsdWUpID09IGxpc3Qge1xuICAgICAgQGVhY2ggJG51bWJlciBpbiAkdmFsdWUge1xuICAgICAgICBAaWYgdHlwZS1vZigkbnVtYmVyKSA9PSBudW1iZXIge1xuICAgICAgICAgICRtaW46IG1pbigkbnVtYmVyLCAkbWluKTtcbiAgICAgICAgICBAaWYgJG1heCAhPSBudWxsIHtcbiAgICAgICAgICAgICRtYXg6IG1heCgkbnVtYmVyLCAkbWF4KTtcbiAgICAgICAgICB9XG4gICAgICAgIH0gQGVsc2Uge1xuICAgICAgICAgIEBlcnJvciBcIkludmFsaWQgbnVtYmVyOiAjeyRudW1iZXJ9XCI7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9IEBlbHNlaWYgdHlwZS1vZigkdmFsdWUpID09IG51bWJlciB7XG4gICAgICAkbWluOiBtaW4oJHZhbHVlLCAkbWluKTtcbiAgICAgICRtYXg6IG51bGw7XG4gICAgfSBAZWxzZSB7XG4gICAgICBAZXJyb3IgXCJJbnZhbGlkIHZhbHVlOiAjeyR2YWx1ZX1cIjtcbiAgICB9XG4gIH1cbiAgQHJldHVybiAkbWluLCAkbWF4O1xufVxuXG4vLy9cbi8vLyBTZWxlY3QgbWluaW11bSBhbmQgbWF4aW11bSB3aWR0aHMgZm9yIGEgZGV2aWNlIGJyZWFrcG9pbnRcbi8vL1xuLy8vIEBncm91cCAgaGVscGVyc1xuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vIEBwYXJhbSAge1N0cmluZ30gJGRldmljZSBEZXZpY2Vcbi8vLyBAcmV0dXJuIHtMaXN0fSAgICAgICAgICAgTWluaW11bSBhbmQgbWF4aW11bSB3aWR0aFxuLy8vXG5AZnVuY3Rpb24gYnJlYWstc2VsZWN0LWRldmljZSgkZGV2aWNlKSB7XG4gICRjdXJyZW50OiAkYnJlYWstZGV2aWNlcztcbiAgQGZvciAkbiBmcm9tIDEgdGhyb3VnaCBsZW5ndGgoJGRldmljZSkge1xuICAgIEBpZiB0eXBlLW9mKCRjdXJyZW50KSA9PSBtYXAge1xuICAgICAgJGN1cnJlbnQ6IG1hcC1nZXQoJGN1cnJlbnQsIG50aCgkZGV2aWNlLCAkbikpO1xuICAgIH0gQGVsc2Uge1xuICAgICAgQGVycm9yIFwiSW52YWxpZCBkZXZpY2UgbWFwOiAjeyRkZXZpY2VzfVwiO1xuICAgIH1cbiAgfVxuICBAaWYgdHlwZS1vZigkY3VycmVudCkgPT0gbGlzdCBvciB0eXBlLW9mKCRjdXJyZW50KSA9PSBudW1iZXIge1xuICAgICRjdXJyZW50OiAoZGVmYXVsdDogJGN1cnJlbnQpO1xuICB9XG4gIEByZXR1cm4gYnJlYWstc2VsZWN0LW1pbi1tYXgoJGN1cnJlbnQpO1xufVxuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBNaXhpbnNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLy8vXG4vLy8gQSBtaW5pbXVtLW1heGltdW0gbWVkaWEgcXVlcnkgYnJlYWtwb2ludFxuLy8vXG4vLy8gQGdyb3VwICBoZWxwZXJzXG4vLy8gQGFjY2VzcyBwdWJsaWNcbi8vLyBAcGFyYW0gIHtOdW1iZXJ8TGlzdH0gJGJyZWFrcG9pbnQgTnVtYmVyIG9yIG51bWJlciBwYWlyXG4vLy9cbkBtaXhpbiBicmVhay1hdCgkYnJlYWtwb2ludCkge1xuICBAaWYgdHlwZS1vZigkYnJlYWtwb2ludCkgPT0gbnVtYmVyIHtcbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6ICRicmVha3BvaW50KSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH0gQGVsc2VpZiB0eXBlLW9mKCRicmVha3BvaW50KSA9PSBsaXN0IHtcbiAgICAkbWluOiBudGgoJGJyZWFrcG9pbnQsIDEpO1xuICAgICRtYXg6IG50aCgkYnJlYWtwb2ludCwgMik7XG4gICAgQGlmIHR5cGUtb2YoJG1pbikgPT0gbnVtYmVyIGFuZCB0eXBlLW9mKCRtYXgpID09IG51bWJlciB7XG4gICAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6ICRtaW4pIGFuZCAobWF4LXdpZHRoOiAkbWF4KSB7XG4gICAgICAgIEBjb250ZW50O1xuICAgICAgfVxuICAgIH0gQGVsc2Uge1xuICAgICAgQGVycm9yIFwiSW52YWxpZCBicmVha3BvaW50OiAjeyRicmVha3BvaW50fVwiO1xuICAgIH1cbiAgfSBAZWxzZSB7XG4gICAgQGVycm9yIFwiSW52YWxpZCBicmVha3BvaW50OiAjeyRicmVha3BvaW50fVwiO1xuICB9XG59XG5cbi8vL1xuLy8vIEFuIG9yaWVudGF0aW9uIG1lZGlhIHF1ZXJ5IGJyZWFrcG9pbnRcbi8vL1xuLy8vIEBncm91cCAgaGVscGVyc1xuLy8vIEBhY2Nlc3MgcHVibGljXG4vLy8gQHBhcmFtICB7U3RyaW5nfSAkYnJlYWtwb2ludCBPcmllbnRhdGlvblxuLy8vXG5AbWl4aW4gYnJlYWstYXQtb3JpZW50YXRpb24oJGJyZWFrcG9pbnQpIHtcbiAgQGlmIHR5cGUtb2YoJGJyZWFrcG9pbnQpID09IHN0cmluZyB7XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAob3JpZW50YXRpb246ICRicmVha3BvaW50KSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH0gQGVsc2Uge1xuICAgIEBlcnJvciBcIkludmFsaWQgYnJlYWtwb2ludDogI3skYnJlYWtwb2ludH1cIjtcbiAgfVxufVxuXG4vLy9cbi8vLyBBIG1heGltdW0tYXNwZWN0LXJhdGlvIG1lZGlhIHF1ZXJ5IGJyZWFrcG9pbnRcbi8vL1xuLy8vIEBncm91cCAgaGVscGVyc1xuLy8vIEBhY2Nlc3MgcHVibGljXG4vLy8gQHBhcmFtICB7TnVtYmVyfSAkYnJlYWtwb2ludCBSYXRpb1xuLy8vXG5AbWl4aW4gYnJlYWstYXQtcmF0aW8oJGJyZWFrcG9pbnQpIHtcbiAgQGlmIHR5cGUtb2YoJGJyZWFrcG9pbnQpID09IG51bWJlciB7XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LWFzcGVjdC1yYXRpbzogJGJyZWFrcG9pbnQpIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfSBAZWxzZSB7XG4gICAgQGVycm9yIFwiSW52YWxpZCBicmVha3BvaW50OiAjeyRicmVha3BvaW50fVwiO1xuICB9XG59XG5cbi8vL1xuLy8vIEEgbWluaW11bS1tYXhpbXVtIG1lZGlhIHF1ZXJ5IGRldmljZSBicmVha3BvaW50XG4vLy9cbi8vLyBAZ3JvdXAgIGhlbHBlcnNcbi8vLyBAYWNjZXNzIHB1YmxpY1xuLy8vIEBwYXJhbSAge1N0cmluZ3xMaXN0fSAkYnJlYWtwb2ludCBEZXZpY2Vcbi8vL1xuQG1peGluIGJyZWFrLWF0LWRldmljZSgkZGV2aWNlKSB7XG4gIEBpZiB0eXBlLW9mKCRkZXZpY2UpID09IHN0cmluZyB7XG4gICAgJGRldmljZTogJGRldmljZSw7XG4gIH1cbiAgQGlmIHR5cGUtb2YoJGRldmljZSkgPT0gbGlzdCB7XG4gICAgJGJyZWFrcG9pbnQ6IGJyZWFrLXNlbGVjdC1kZXZpY2UoJGRldmljZSk7XG4gICAgQGlmIG50aCgkYnJlYWtwb2ludCwgMikgIT0gbnVsbCB7XG4gICAgICAkbWluOiBudGgoJGJyZWFrcG9pbnQsIDEpO1xuICAgICAgJG1heDogbnRoKCRicmVha3BvaW50LCAyKTtcbiAgICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogJG1pbikgYW5kIChtYXgtd2lkdGg6ICRtYXgpIHtcbiAgICAgICAgQGNvbnRlbnQ7XG4gICAgICB9XG4gICAgfSBAZWxzZSB7XG4gICAgICBAZXJyb3IgXCJJbnZhbGlkIGRldmljZTogI3skZGV2aWNlfVwiO1xuICAgIH1cbiAgfSBAZWxzZSB7XG4gICAgQGVycm9yIFwiSW52YWxpZCBkZXZpY2U6ICN7JGRldmljZX1cIjtcbiAgfVxufVxuXG4vLy9cbi8vLyBBIG1pbmltdW0gbWVkaWEgcXVlcnkgZGV2aWNlIGJyZWFrcG9pbnRcbi8vL1xuLy8vIEBncm91cCAgaGVscGVyc1xuLy8vIEBhY2Nlc3MgcHVibGljXG4vLy8gQHBhcmFtICB7U3RyaW5nfExpc3R9ICRicmVha3BvaW50IERldmljZVxuLy8vXG5AbWl4aW4gYnJlYWstZnJvbS1kZXZpY2UoJGRldmljZSkge1xuICBAaWYgdHlwZS1vZigkZGV2aWNlKSA9PSBzdHJpbmcge1xuICAgICRkZXZpY2U6ICRkZXZpY2UsO1xuICB9XG4gIEBpZiB0eXBlLW9mKCRkZXZpY2UpID09IGxpc3Qge1xuICAgICRicmVha3BvaW50OiBicmVhay1zZWxlY3QtZGV2aWNlKCRkZXZpY2UpO1xuICAgICRtaW46IG50aCgkYnJlYWtwb2ludCwgMSk7XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAkbWluKSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH0gQGVsc2Uge1xuICAgIEBlcnJvciBcIkludmFsaWQgZGV2aWNlOiAjeyRkZXZpY2V9XCI7XG4gIH1cbn1cblxuLy8vXG4vLy8gQSBtYXhpbXVtIG1lZGlhIHF1ZXJ5IGRldmljZSBicmVha3BvaW50XG4vLy9cbi8vLyBAZ3JvdXAgIGhlbHBlcnNcbi8vLyBAYWNjZXNzIHB1YmxpY1xuLy8vIEBwYXJhbSAge1N0cmluZ3xMaXN0fSAkYnJlYWtwb2ludCBEZXZpY2Vcbi8vL1xuQG1peGluIGJyZWFrLXRvLWRldmljZSgkZGV2aWNlKSB7XG4gIEBpZiB0eXBlLW9mKCRkZXZpY2UpID09IHN0cmluZyB7XG4gICAgJGRldmljZTogJGRldmljZSw7XG4gIH1cbiAgQGlmIHR5cGUtb2YoJGRldmljZSkgPT0gbGlzdCB7XG4gICAgJGJyZWFrcG9pbnQ6IGJyZWFrLXNlbGVjdC1kZXZpY2UoJGRldmljZSk7XG4gICAgJG1heDogbnRoKCRicmVha3BvaW50LCAyKTtcbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICRtYXgpIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfSBAZWxzZSB7XG4gICAgQGVycm9yIFwiSW52YWxpZCBkZXZpY2U6ICN7JGRldmljZX1cIjtcbiAgfVxufVxuIl19 */ \ No newline at end of file diff --git a/material/base.html b/material/base.html index 63043ed3c..c0bccdc1a 100644 --- a/material/base.html +++ b/material/base.html @@ -56,7 +56,7 @@ {% endif %} {% endblock %} {% block styles %} - + {% if palette.primary or palette.accent %} {% endif %} @@ -209,7 +209,7 @@ {% endblock %} {% block scripts %} - + {% if lang.t("search.language") != "en" %} {% set languages = lang.t("search.language").split(",") %} {% if languages | length and languages[0] != "" %} diff --git a/src/assets/stylesheets/extensions/pymdown/_superfences.scss b/src/assets/stylesheets/extensions/pymdown/_superfences.scss index a576e8333..2aba04f3c 100644 --- a/src/assets/stylesheets/extensions/pymdown/_superfences.scss +++ b/src/assets/stylesheets/extensions/pymdown/_superfences.scss @@ -89,10 +89,11 @@ border: 0; border-top: px2rem(1px) solid $md-color-black--lightest; border-radius: 0; - } - // [mobile -]: Stretch to whole width - @include break-to-device(mobile) { + // Actual container with code, overflowing + code { + padding: px2rem(10.5px) px2rem(16px); + } // First tab label input:first-child + label {