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== */