@import url("https://fonts.googleapis.com/css2?family=Montserrat:wght@200;300&display=swap");/*! sanitize.css v5.0.0 | CC0 License | github.com/jonathantneal/sanitize.css */*,::before,::after{background-repeat:no-repeat;-webkit-box-sizing:inherit;box-sizing:inherit}::before,::after{text-decoration:inherit;vertical-align:inherit}html{-webkit-box-sizing:border-box;box-sizing:border-box;cursor:default;font-size:12px;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%;font-size:12px;font-weight:400;overflow-x:hidden;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%}article,aside,footer,header,nav,section{display:block}body{color:#000;font-size:inherit;letter-spacing:0.01em;line-height:1;-webkit-font-feature-settings:"kern";font-feature-settings:"kern";-moz-osx-font-smoothing:grayscale;font-smoothing:antialiased;-webkit-font-smoothing:antialiased;margin:0;overflow-x:hidden;padding:0;position:relative;text-rendering:optimizeLegibility}body.-stopTransition *{-webkit-transition:none !important;transition:none !important}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:normal;margin:0;padding:0}p{margin:0;padding:0}figcaption,figure,main{display:block}figure{margin:0}hr{border:0;-webkit-box-sizing:border-box;box-sizing:border-box;height:1px;margin:0;overflow:visible}ol,ul{list-style:none;margin:0;padding:0}ol li,ul li{list-style:none}pre{font-family:monospace, monospace;font-size:1em}a{background-color:transparent;-webkit-text-decoration-skip:objects}abbr[title]{border-bottom:none;text-decoration:underline;-webkit-text-decoration:underline dotted;text-decoration:underline dotted}b,strong{font-weight:inherit}b,strong{font-weight:bolder}code,kbd,samp{font-family:monospace, monospace;font-size:1em}dfn{font-style:italic}mark{background-color:transparent;color:#000000}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}::-moz-selection{background-color:#b3d4fc;color:#000000;text-shadow:none}::selection{background-color:#b3d4fc;color:#000000;text-shadow:none}audio,canvas,iframe,img,svg,video{max-width:100%;vertical-align:middle}audio,video{display:inline-block}audio:not([controls]){display:none;height:0}img{border-style:none}svg{fill:currentColor}svg:not(:root){overflow:hidden}table{border-collapse:collapse}button,input,optgroup,select,textarea{margin:0}button,input,select,textarea{color:inherit;font-family:inherit;font-size:inherit;line-height:inherit}button,input{overflow:visible}button,select{text-transform:none}button,html [type="button"],[type="reset"],[type="submit"]{-webkit-appearance:button}button::-moz-focus-inner,[type="button"]::-moz-focus-inner,[type="reset"]::-moz-focus-inner,[type="submit"]::-moz-focus-inner{border-style:none;padding:0}button:-moz-focusring,[type="button"]:-moz-focusring,[type="reset"]:-moz-focusring,[type="submit"]:-moz-focusring{outline:1px dotted ButtonText}legend{-webkit-box-sizing:border-box;box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal}progress{display:inline-block;vertical-align:baseline}textarea{overflow:auto;resize:vertical}[type="checkbox"],[type="radio"]{-webkit-box-sizing:border-box;box-sizing:border-box;padding:0}[type="number"]::-webkit-inner-spin-button,[type="number"]::-webkit-outer-spin-button{height:auto}[type="search"]{-webkit-appearance:textfield;outline-offset:-2px}[type="search"]::-webkit-search-cancel-button,[type="search"]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}details,menu{display:block}summary{display:list-item}canvas{display:inline-block}template{display:none}a,area,button,input,label,select,summary,textarea,[tabindex]{-ms-touch-action:manipulation;touch-action:manipulation}[hidden]{display:none}[aria-busy="true"]{cursor:progress}[aria-controls]{cursor:pointer}[aria-hidden="false"][hidden]:not(:focus){clip:rect(0, 0, 0, 0);display:inherit;position:absolute}[aria-disabled]{cursor:default}a{-webkit-transition:color .3s cubic-bezier(0.25, 0.46, 0.45, 0.94);transition:color .3s cubic-bezier(0.25, 0.46, 0.45, 0.94);color:inherit;text-decoration:none}a:focus{outline:none}a:link{text-decoration:none}a:visited{text-decoration:none}@media (min-width: 769px){a:hover{color:#000;text-decoration:none}}.u-disabledText{border-bottom:0 !important;cursor:default;pointer-events:none}@media (min-width: 769px){.u-disabledText:hover{color:#000}}@media (max-width: 768px){.display-only-pc{display:none}}@media (min-width: 769px){.display-only-sp{display:none}}html:not(.is-noContentFade) .js-fadeIn{visibility:hidden}.is-fadedIn{-webkit-animation-duration:.0s;animation-duration:.0s;-webkit-animation-fill-mode:forwards;animation-fill-mode:forwards;-webkit-animation-timing-function:cubic-bezier(0.25, 0.46, 0.45, 0.94);animation-timing-function:cubic-bezier(0.25, 0.46, 0.45, 0.94)}.is-fadedIn.-fadeIn{-webkit-animation-duration:.6s;animation-duration:.6s;-webkit-animation-name:fadeIn;animation-name:fadeIn}.is-fadedIn.-slideUp{-webkit-transform:translateY(20px);transform:translateY(20px);-webkit-animation-name:fadeIn, slideUp;animation-name:fadeIn, slideUp}.is-fadedIn.-scaleRight{-webkit-animation-duration:.6s;animation-duration:.6s;-webkit-transform:scaleX(0);transform:scaleX(0);-webkit-transform-origin:left;transform-origin:left;-webkit-animation-name:scaleRight;animation-name:scaleRight}@-webkit-keyframes fadeIn{0%{opacity:0;visibility:visible}100%{opacity:1;visibility:visible}}@keyframes fadeIn{0%{opacity:0;visibility:visible}100%{opacity:1;visibility:visible}}@-webkit-keyframes slideUp{0%{-webkit-transform:translateY(20px);transform:translateY(20px)}100%{-webkit-transform:translateY(0);transform:translateY(0)}}@keyframes slideUp{0%{-webkit-transform:translateY(20px);transform:translateY(20px)}100%{-webkit-transform:translateY(0);transform:translateY(0)}}@-webkit-keyframes scaleRight{0%{-webkit-transform:scaleX(0);transform:scaleX(0);visibility:visible}100%{-webkit-transform:scaleX(1);transform:scaleX(1);visibility:visible}}@keyframes scaleRight{0%{-webkit-transform:scaleX(0);transform:scaleX(0);visibility:visible}100%{-webkit-transform:scaleX(1);transform:scaleX(1);visibility:visible}}@-webkit-keyframes slideRightOut{0%{-webkit-transform:translateX(-100%);transform:translateX(-100%);opacity:1;visibility:visible}40%{-webkit-transform:translateX(0);transform:translateX(0);opacity:1;visibility:visible}60%{-webkit-transform:translateX(0);transform:translateX(0);opacity:1;visibility:visible}100%{-webkit-transform:translateX(101%);transform:translateX(101%);opacity:1;visibility:visible}}@keyframes slideRightOut{0%{-webkit-transform:translateX(-100%);transform:translateX(-100%);opacity:1;visibility:visible}40%{-webkit-transform:translateX(0);transform:translateX(0);opacity:1;visibility:visible}60%{-webkit-transform:translateX(0);transform:translateX(0);opacity:1;visibility:visible}100%{-webkit-transform:translateX(101%);transform:translateX(101%);opacity:1;visibility:visible}}@-webkit-keyframes scaleRightOut{0%{-webkit-transform:scaleX(0);transform:scaleX(0);opacity:1;visibility:visible;-webkit-transform-origin:left;transform-origin:left}40%{-webkit-transform:scaleX(1);transform:scaleX(1);opacity:1;visibility:visible;-webkit-transform-origin:left;transform-origin:left}60%{-webkit-transform:scaleX(1);transform:scaleX(1);opacity:1;visibility:visible;-webkit-transform-origin:right;transform-origin:right}100%{-webkit-transform:scaleX(0);transform:scaleX(0);opacity:1;visibility:visible;-webkit-transform-origin:right;transform-origin:right}}@keyframes scaleRightOut{0%{-webkit-transform:scaleX(0);transform:scaleX(0);opacity:1;visibility:visible;-webkit-transform-origin:left;transform-origin:left}40%{-webkit-transform:scaleX(1);transform:scaleX(1);opacity:1;visibility:visible;-webkit-transform-origin:left;transform-origin:left}60%{-webkit-transform:scaleX(1);transform:scaleX(1);opacity:1;visibility:visible;-webkit-transform-origin:right;transform-origin:right}100%{-webkit-transform:scaleX(0);transform:scaleX(0);opacity:1;visibility:visible;-webkit-transform-origin:right;transform-origin:right}}@keyframes slideUp{0%{-webkit-transform:translateY(20px);transform:translateY(20px);visibility:visible;opacity:0}100%{-webkit-transform:translateY(0);transform:translateY(0);visibility:visible;opacity:1}}@-webkit-keyframes slideDown{0%{-webkit-transform:translateY(-20px);transform:translateY(-20px);opacity:0;visibility:visible}100%{-webkit-transform:translateY(0);transform:translateY(0);opacity:1;visibility:visible}}@keyframes slideDown{0%{-webkit-transform:translateY(-20px);transform:translateY(-20px);opacity:0;visibility:visible}100%{-webkit-transform:translateY(0);transform:translateY(0);opacity:1;visibility:visible}}@keyframes scaleRight{0%{-webkit-transform:scaleX(0);transform:scaleX(0);visibility:visible}100%{-webkit-transform:scaleX(1);transform:scaleX(1);visibility:visible}}@-webkit-keyframes scaleBottom{0%{-webkit-transform:scale(1, 0);transform:scale(1, 0);visibility:visible}100%{-webkit-transform:scale(1, 1);transform:scale(1, 1);visibility:visible}}@keyframes scaleBottom{0%{-webkit-transform:scale(1, 0);transform:scale(1, 0);visibility:visible}100%{-webkit-transform:scale(1, 1);transform:scale(1, 1);visibility:visible}}.slick-slider{position:relative;display:block;-webkit-box-sizing:border-box;box-sizing:border-box;-webkit-touch-callout:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-ms-touch-action:pan-y;touch-action:pan-y;-webkit-tap-highlight-color:transparent}.slick-list{position:relative;overflow:hidden;display:block;margin:0;padding:0}.slick-list:focus{outline:none}.slick-list.dragging{cursor:pointer;cursor:hand}.slick-slider .slick-track,.slick-slider .slick-list{-webkit-transform:translate3d(0, 0, 0);transform:translate3d(0, 0, 0)}.slick-track{position:relative;left:0;top:0;display:block;margin-left:auto;margin-right:auto;min-width:100%}.slick-track:before,.slick-track:after{content:"";display:table}.slick-track:after{clear:both}.slick-loading .slick-track{visibility:hidden}.slick-slide{float:left;height:100%;margin:0;min-height:1px;display:none}.slick-slide:focus{outline:none}[dir="rtl"] .slick-slide{float:right}.slick-slide img{display:block}.slick-slide.slick-loading img{display:none}.slick-slide.dragging img{pointer-events:none}.slick-initialized .slick-slide{display:block}.slick-loading .slick-slide{visibility:hidden}.slick-vertical .slick-slide{display:block;height:auto;border:1px solid transparent}.slick-arrow.slick-hidden{display:none}.l-container{width:100%}@media (max-width: 768px){.l-container{margin-left:4.2667vw;margin-right:4.2667vw}}@media (min-width: 769px){.l-container{margin-left:auto;margin-right:auto;padding-left:7.5em;padding-right:7.5em}}@media (min-width: 1181px){.l-container{max-width:1180px}}.l-main{min-height:100vh;background:linear-gradient(-45deg, #3590e5, #35e56b);background-size:400% 400%;-webkit-animation:gradient 10s infinite;animation:gradient 10s infinite;padding:6.66667em 6.66667em 13.33333em}@media (max-width: 768px){.l-main{padding:8.5333vw 4.2667vw 21.3333vw}}@-webkit-keyframes gradient{0%{background-position:0% 50%}50%{background-position:100% 50%}100%{background-position:0% 50%}}@keyframes gradient{0%{background-position:0% 50%}50%{background-position:100% 50%}100%{background-position:0% 50%}}.c-fv{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:start;-ms-flex-align:start;align-items:flex-start}.c-fv__child__heading{color:#fff;font-family:"Montserrat", system-ui, -apple-system, Roboto, "ヒラギノ角ゴシック ProN", "Hiragino Kaku Gothic ProN", "Noto Sans JP", "游ゴシック", YuGothic, Helvetica, Arial, "メイリオ", Meiryo, sans-serif;font-weight:200}@media (min-width: 769px){.c-fv__child__heading{font-size:4rem}}@media (max-width: 768px){.c-fv__child__heading{font-size:3.33333rem}}.c-fv__child__text{color:#fff;font-family:"Montserrat", system-ui, -apple-system, Roboto, "ヒラギノ角ゴシック ProN", "Hiragino Kaku Gothic ProN", "Noto Sans JP", "游ゴシック", YuGothic, Helvetica, Arial, "メイリオ", Meiryo, sans-serif;text-align:left;word-wrap:break-word;font-weight:300;line-height:1.6}@media (min-width: 769px){.c-fv__child__text{font-size:1rem;margin-top:.66667em}}@media (max-width: 768px){.c-fv__child__text{font-size:.66667rem;margin-top:1em}}@media (min-width: 769px){.c-works{margin-top:4em}}@media (max-width: 768px){.c-works{margin-top:2.66667em}}.c-works__child__list{display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;-webkit-box-align:stretch;-ms-flex-align:stretch;align-items:stretch}@media (min-width: 769px){.c-works__child__list{margin:-1.33333em -1.33333em}}@media (max-width: 768px){.c-works__child__list{margin:-1.33333em}}@media (min-width: 1601px){.c-works__child__list__item{width:calc( ( 100% - 1.33333em * 8 ) / 4);margin:1.33333em 1.33333em}}@media (min-width: 961px) and (max-width: 1600px){.c-works__child__list__item{width:calc( ( 100% - 1.33333em * 6 ) / 3);margin:1.33333em 1.33333em}}@media (min-width: 769px) and (max-width: 960px){.c-works__child__list__item{width:calc( ( 100% - 1.33333em * 4 ) / 2);margin:1.33333em 1.33333em}}@media (max-width: 768px){.c-works__child__list__item{width:100%;margin:1.33333em}}.c-works__child__list__item__link{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}.c-works__child__list__item__link__imageArea{background-color:#fff}.c-works__child__list__item__link__imageArea__image{width:100%;padding-bottom:calc( 100% * 900/1440)}.c-works__child__list__item__link__imageArea__image img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;-o-object-position:center center;object-position:center center}.c-works__child__list__item__link__textArea{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}@media (min-width: 769px){.c-works__child__list__item__link__textArea{margin-top:1.33333em}}@media (max-width: 768px){.c-works__child__list__item__link__textArea{margin-top:1em}}.c-works__child__list__item__link__textArea__heading{color:#fff;font-family:"Montserrat", system-ui, -apple-system, Roboto, "ヒラギノ角ゴシック ProN", "Hiragino Kaku Gothic ProN", "Noto Sans JP", "游ゴシック", YuGothic, Helvetica, Arial, "メイリオ", Meiryo, sans-serif;font-weight:300}@media (min-width: 769px){.c-works__child__list__item__link__textArea__heading{font-size:1.33333rem}}@media (max-width: 768px){.c-works__child__list__item__link__textArea__heading{font-size:1rem}}.c-works__child__list__item__link__textArea__text{color:#fff;font-family:"Montserrat", system-ui, -apple-system, Roboto, "ヒラギノ角ゴシック ProN", "Hiragino Kaku Gothic ProN", "Noto Sans JP", "游ゴシック", YuGothic, Helvetica, Arial, "メイリオ", Meiryo, sans-serif;text-align:left;word-wrap:break-word;font-weight:300;line-height:1.6}@media (min-width: 769px){.c-works__child__list__item__link__textArea__text{font-size:1rem;margin-top:.33333em}}@media (max-width: 768px){.c-works__child__list__item__link__textArea__text{font-size:.66667rem;margin-top:.25em}}.c-works__child__link{display:-webkit-box;display:-ms-flexbox;display:flex;color:#fff;font-family:"Montserrat", system-ui, -apple-system, Roboto, "ヒラギノ角ゴシック ProN", "Hiragino Kaku Gothic ProN", "Noto Sans JP", "游ゴシック", YuGothic, Helvetica, Arial, "メイリオ", Meiryo, sans-serif;font-weight:300}@media (min-width: 769px){.c-works__child__link{font-size:1.33333rem;margin-top:4em}}@media (max-width: 768px){.c-works__child__link{font-size:1rem;margin-top:2.66667em}}

/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImJhc2UvMi1mb250LnNjc3MiLCJiYXNlLzUtc2FuaXRpemUuc2NzcyIsImJhc2UvMC12YXJpYWJsZS5zY3NzIiwiYmFzZS8zLW1peGluLnNjc3MiLCJiYXNlLzEtZWFzaW5nLnNjc3MiLCJ1dGlsaXR5L2Rpc2FibGVkVGV4dC5zY3NzIiwidXRpbGl0eS9kaXNwbGF5LnNjc3MiLCJ1dGlsaXR5L2ZhZGVJbkNvbnRlbnQuc2NzcyIsInV0aWxpdHkva2V5ZnJhbWVzLnNjc3MiLCJ1dGlsaXR5L3NsaWNrLXNsaWRlci5zY3NzIiwibGF5b3V0L2NvbnRhaW5lci5zY3NzIiwiYmFzZS80LWZ1bmN0aW9uLnNjc3MiLCJsYXlvdXQvbWFpbi5zY3NzIiwiY29tcG9uZW50L2Z2LnNjc3MiLCJjb21wb25lbnQvd29ya3Muc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFPQSw0RkFBWSxDQ1BaLCtFQUFBLENBQWdGLG1CQWE5RSwyQkFBNEIsQ0FDNUIsMEJBQVksQ0FBWixrQkFBbUIsQ0FDcEIsaUJBU0MsdUJBQXdCLENBQ3hCLHNCQUF1QixDQUN4QixLQVNDLDZCQUFzQixDQUF0QixxQkFBc0IsQ0FDdEIsY0FBZSxDQUNmLGNBQVcsQ0FDWCx5QkFBMEIsQ0FDMUIsNkJBQThCLENBRTlCLGNBQVcsQ0FDWCxlQ3BDb0IsQ0RxQ3BCLGlCQUFrQixDQUNsQix5QkFBMEIsQ0FDMUIsNkJBQThCLENBQy9CLHdDQWVDLGFBQWMsQ0FDZixLQU9DLFVDNUN5QixDRDZDekIsaUJBQWtCLENBQ2xCLHFCQUFnQixDQUNoQixhQ25Fa0IsQ0RvRWxCLG9DQUE2QixDQUE3Qiw0QkFBNkIsQ0FDN0IsaUNBQWtDLENBQ2xDLDBCQUEyQixDQUMzQixrQ0FBbUMsQ0FDbkMsUUFBUyxDQUNULGlCQUFrQixDQUNsQixTQUFVLENBQ1YsaUJBQWtCLENBQ2xCLGlDQUFrQyxDQWJwQyx1QkFnQkksa0NBQVksQ0FBWiwwQkFBMkIsQ0FDNUIsa0JBY0QsaUJBQWtCLENBQ2xCLGtCQUFtQixDQUNu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QUFBLDRCQUFBLENBQUEseUJBQUEsQ0FBQSxxQkFBQSxDQUlNLDBCQUVULDRDQUZGLG9CQUFBLENBQUEsQ0FBQSwwQkgwQkEsNENHMUJBLGNBQUEsQ0FBQSxDQUFBLHFEQVdFLFVBQUEsQ0FBQSwwTFovQkcsQ0FBQSxlQUFBLENBQUEsMEJBQUEscURDcEJhLG9CV21EaEIsQ0FBQSxDQUFBLDBCQUFBLHFEWDVDZ0IsY1c0Q2hCLENBQUEsQ0FBQSxrRFhsQkEsVVcrQkEsQ0FBQSwwTFo1Q0csQ0FBQSxlQUFBLENBQUEsb0JBQUEsQ0FBQSxlQUFBLENBQUEsZUFBQSxDQUFBLDBCWWdERCxrRFhwRVYsY0FBaUIsQ0FBRSxtQldnRVgsQ0FBQSxDQUFBLDBCQUFBLGtEWHpEUixtQkFBbUIsQ0FBSyxnQld5RGhCLENBQUEsQ0FBQSxzQkFBQSxtQlgvQlYsQ1crQlUsbUJYL0JWLENXK0JVLFlYL0JWLENBQUEsVUFBVSxDQUFBLDBMRGJHLENBQUEsZUFBQSxDQUFBLDBCQUFBLHNCQUFBLG9CQUFBLENBQUEsY1lzRVQsQ0FBQSxDQUFXLDBCWDFGTSxzQldzRm5CLGNYckRPLENBQUMsb0JXNkRKLENBQVUiLCJmaWxlIjoic3R5bGUuY3NzIiwic291cmNlc0NvbnRlbnQiOlsiLypcblxuRm9udHNcblxuKi9cblxuLy8gTW9udHNlcnJhdFxuQGltcG9ydCB1cmwoJ2h0dHBzOi8vZm9udHMuZ29vZ2xlYXBpcy5jb20vY3NzMj9mYW1pbHk9TW9udHNlcnJhdDp3Z2h0QDIwMDszMDAmZGlzcGxheT1zd2FwJyk7XG4iLCIvKiEgc2FuaXRpemUuY3NzIHY1LjAuMCB8IENDMCBMaWNlbnNlIHwgZ2l0aHViLmNvbS9qb25hdGhhbnRuZWFsL3Nhbml0aXplLmNzcyAqL1xuXG4vKiBEb2N1bWVudCAoaHR0cHM6Ly9odG1sLnNwZWMud2hhdHdnLm9yZy9tdWx0aXBhZ2Uvc2VtYW50aWNzLmh0bWwjc2VtYW50aWNzKVxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiAxLiBSZW1vdmUgcmVwZWF0aW5nIGJhY2tncm91bmRzIGluIGFsbCBicm93c2VycyAob3BpbmlvbmF0ZWQpLlxuICogMi4gQWRkIGJveCBzaXppbmcgaW5oZXJpdGVuY2UgaW4gYWxsIGJyb3dzZXJzIChvcGluaW9uYXRlZCkuXG4gKi9cblxuKixcbjo6YmVmb3JlLFxuOjphZnRlciB7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7IC8qIDEgKi9cbiAgYm94LXNpemluZzogaW5oZXJpdDsgLyogMiAqL1xufVxuXG4vKipcbiAqIDEuIEFkZCB0ZXh0IGRlY29yYXRpb24gaW5oZXJpdGFuY2UgaW4gYWxsIGJyb3dzZXJzIChvcGluaW9uYXRlZCkuXG4gKiAyLiBBZGQgdmVydGljYWwgYWxpZ25tZW50IGluaGVyaXRlbmNlIGluIGFsbCBicm93c2VycyAob3BpbmlvbmF0ZWQpLlxuICovXG5cbjo6YmVmb3JlLFxuOjphZnRlciB7XG4gIHRleHQtZGVjb3JhdGlvbjogaW5oZXJpdDsgLyogMSAqL1xuICB2ZXJ0aWNhbC1hbGlnbjogaW5oZXJpdDsgLyogMiAqL1xufVxuXG4vKipcbiAqIDEuIEFkZCBib3JkZXIgYm94IHNpemluZyBpbiBhbGwgYnJvd3NlcnMgKG9waW5pb25hdGVkKS5cbiAqIDIuIEFkZCB0aGUgZGVmYXVsdCBjdXJzb3IgaW4gYWxsIGJyb3dzZXJzIChvcGluaW9uYXRlZCkuXG4gKiAzLiBQcmV2ZW50IGZvbnQgc2l6ZSBhZGp1c3RtZW50cyBhZnRlciBvcmllbnRhdGlvbiBjaGFuZ2VzIGluIElFIGFuZCBpT1MuXG4gKi9cblxuaHRtbCB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7IC8qIDEgKi9cbiAgY3Vyc29yOiBkZWZhdWx0OyAvKiAyICovXG4gIGZvbnQtc2l6ZTogI3ttYXAtZ2V0KCRkZWZhdWx0LCBmb250LXNpemUpfXB4O1xuICAtbXMtdGV4dC1zaXplLWFkanVzdDogMTAwJTsgLyogMyAqL1xuICAtd2Via2l0LXRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7IC8qIDMgKi9cbiAgZm9udC1mYW1pbHk6IG1hcC1nZXQoJGZvbnQsIEludHJvLVJlZ3VsYXIpO1xuICBmb250LXNpemU6ICN7bWFwLWdldCgkZGVmYXVsdCwgZm9udC1zaXplKX1weDtcbiAgZm9udC13ZWlnaHQ6IG1hcC1nZXQoJGRlZmF1bHQsIGZvbnQtd2VpZ2h0KTtcbiAgb3ZlcmZsb3cteDogaGlkZGVuO1xuICAtbXMtdGV4dC1zaXplLWFkanVzdDogMTAwJTtcbiAgLXdlYmtpdC10ZXh0LXNpemUtYWRqdXN0OiAxMDAlO1xufVxuXG4vKiBTZWN0aW9ucyAoaHR0cHM6Ly9odG1sLnNwZWMud2hhdHdnLm9yZy9tdWx0aXBhZ2Uvc2VtYW50aWNzLmh0bWwjc2VjdGlvbnMpXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDktLlxuICovXG5cbmFydGljbGUsXG5hc2lkZSxcbmZvb3RlcixcbmhlYWRlcixcbm5hdixcbnNlY3Rpb24ge1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuLyoqXG4gKiBSZW1vdmUgdGhlIG1hcmdpbiBpbiBhbGwgYnJvd3NlcnMgKG9waW5pb25hdGVkKS5cbiAqL1xuXG5ib2R5IHtcbiAgY29sb3I6IG1hcC1nZXQoJGNvbG9yLCB0ZXh0KTtcbiAgZm9udC1zaXplOiBpbmhlcml0O1xuICBsZXR0ZXItc3BhY2luZzogI3ttYXAtZ2V0KCRkZWZhdWx0LCBsZXR0ZXItc3BhY2luZyl9ZW07XG4gIGxpbmUtaGVpZ2h0OiBtYXAtZ2V0KCRkZWZhdWx0LCBsaW5lLWhlaWdodCk7XG4gIGZvbnQtZmVhdHVyZS1zZXR0aW5nczogXCJrZXJuXCI7XG4gIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7XG4gIGZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbiAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gIG1hcmdpbjogMDtcbiAgb3ZlcmZsb3cteDogaGlkZGVuO1xuICBwYWRkaW5nOiAwO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHRleHQtcmVuZGVyaW5nOiBvcHRpbWl6ZUxlZ2liaWxpdHk7XG5cbiAgJi4tc3RvcFRyYW5zaXRpb24gKiB7XG4gICAgdHJhbnNpdGlvbjogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59XG5cbi8qKlxuICogQ29ycmVjdCB0aGUgZm9udCBzaXplIGFuZCBtYXJnaW4gb24gYGgxYCBlbGVtZW50cyB3aXRoaW4gYHNlY3Rpb25gIGFuZFxuICogYGFydGljbGVgIGNvbnRleHRzIGluIENocm9tZSwgRmlyZWZveCwgYW5kIFNhZmFyaS5cbiAqL1xuXG5oMSxcbmgyLFxuaDMsXG5oNCxcbmg1LFxuaDYge1xuICBmb250LXNpemU6IGluaGVyaXQ7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDtcbn1cblxucCB7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDtcbn1cblxuXG4vKiBHcm91cGluZyBjb250ZW50IChodHRwczovL2h0bWwuc3BlYy53aGF0d2cub3JnL211bHRpcGFnZS9zZW1hbnRpY3MuaHRtbCNncm91cGluZy1jb250ZW50KVxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSA5LS5cbiAqIDEuIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFLlxuICovXG5cbmZpZ2NhcHRpb24sXG5maWd1cmUsXG5tYWluIHsgLyogMSAqL1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgbWFyZ2luIGluIElFIDguXG4gKi9cblxuZmlndXJlIHtcbiAgbWFyZ2luOiAwO1xufVxuXG4vKipcbiAqIDEuIEFkZCB0aGUgY29ycmVjdCBib3ggc2l6aW5nIGluIEZpcmVmb3guXG4gKiAyLiBTaG93IHRoZSBvdmVyZmxvdyBpbiBFZGdlIGFuZCBJRS5cbiAqL1xuXG5ociB7XG4gIGJvcmRlcjogMDtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDsgLyogMSAqL1xuICBoZWlnaHQ6IDFweDsgLyogMSAqL1xuICBtYXJnaW46IDA7XG4gIG92ZXJmbG93OiB2aXNpYmxlOyAvKiAyICovXG59XG5cbi8qKlxuICogUmVtb3ZlIHRoZSBsaXN0IHN0eWxlIG9uIG5hdmlnYXRpb24gbGlzdHMgaW4gYWxsIGJyb3dzZXJzIChvcGluaW9uYXRlZCkuXG4gKi9cblxub2wsXG51bCB7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDtcblxuICBsaSB7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgfVxufVxuXG4vKipcbiAqIDEuIENvcnJlY3QgdGhlIGluaGVyaXRhbmNlIGFuZCBzY2FsaW5nIG9mIGZvbnQgc2l6ZSBpbiBhbGwgYnJvd3NlcnMuXG4gKiAyLiBDb3JyZWN0IHRoZSBvZGQgYGVtYCBmb250IHNpemluZyBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cblxucHJlIHtcbiAgZm9udC1mYW1pbHk6IG1vbm9zcGFjZSwgbW9ub3NwYWNlOyAvKiAxICovXG4gIGZvbnQtc2l6ZTogMWVtOyAvKiAyICovXG59XG5cbi8qIFRleHQtbGV2ZWwgc2VtYW50aWNzIChodHRwczovL2h0bWwuc3BlYy53aGF0d2cub3JnL211bHRpcGFnZS9zZW1hbnRpY3MuaHRtbCN0ZXh0LWxldmVsLXNlbWFudGljcylcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICogMS4gUmVtb3ZlIHRoZSBncmF5IGJhY2tncm91bmQgb24gYWN0aXZlIGxpbmtzIGluIElFIDEwLlxuICogMi4gUmVtb3ZlIGdhcHMgaW4gbGlua3MgdW5kZXJsaW5lIGluIGlPUyA4KyBhbmQgU2FmYXJpIDgrLlxuICovXG5cbmEge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgLyogMSAqL1xuICAtd2Via2l0LXRleHQtZGVjb3JhdGlvbi1za2lwOiBvYmplY3RzOyAvKiAyICovXG59XG5cbi8qKlxuICogMS4gUmVtb3ZlIHRoZSBib3R0b20gYm9yZGVyIGluIEZpcmVmb3ggMzktLlxuICogMi4gQWRkIHRoZSBjb3JyZWN0IHRleHQgZGVjb3JhdGlvbiBpbiBDaHJvbWUsIEVkZ2UsIElFLCBPcGVyYSwgYW5kIFNhZmFyaS5cbiAqL1xuXG5hYmJyW3RpdGxlXSB7XG4gIGJvcmRlci1ib3R0b206IG5vbmU7IC8qIDEgKi9cbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IC8qIDIgKi9cbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmUgZG90dGVkOyAvKiAyICovXG59XG5cbi8qKlxuICogUHJldmVudCB0aGUgZHVwbGljYXRlIGFwcGxpY2F0aW9uIG9mIGBib2xkZXJgIGJ5IHRoZSBuZXh0IHJ1bGUgaW4gU2FmYXJpIDYuXG4gKi9cblxuYixcbnN0cm9uZyB7XG4gIGZvbnQtd2VpZ2h0OiBpbmhlcml0O1xufVxuXG4vKipcbiAqIEFkZCB0aGUgY29ycmVjdCBmb250IHdlaWdodCBpbiBDaHJvbWUsIEVkZ2UsIGFuZCBTYWZhcmkuXG4gKi9cblxuYixcbnN0cm9uZyB7XG4gIGZvbnQtd2VpZ2h0OiBib2xkZXI7XG59XG5cbi8qKlxuICogMS4gQ29ycmVjdCB0aGUgaW5oZXJpdGFuY2UgYW5kIHNjYWxpbmcgb2YgZm9udCBzaXplIGluIGFsbCBicm93c2Vycy5cbiAqIDIuIENvcnJlY3QgdGhlIG9kZCBgZW1gIGZvbnQgc2l6aW5nIGluIGFsbCBicm93c2Vycy5cbiAqL1xuXG5jb2RlLFxua2JkLFxuc2FtcCB7XG4gIGZvbnQtZmFtaWx5OiBtb25vc3BhY2UsIG1vbm9zcGFjZTsgLyogMSAqL1xuICBmb250LXNpemU6IDFlbTsgLyogMiAqL1xufVxuXG4vKipcbiAqIEFkZCB0aGUgY29ycmVjdCBmb250IHN0eWxlIGluIEFuZHJvaWQgNC4zLS5cbiAqL1xuXG5kZm4ge1xuICBmb250LXN0eWxlOiBpdGFsaWM7XG59XG5cbi8qKlxuICogQWRkIHRoZSBjb3JyZWN0IGJhY2tncm91bmQgYW5kIGNvbG9yIGluIElFIDktLlxuICovXG5cbm1hcmsge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgY29sb3I6ICMwMDAwMDA7XG59XG5cbi8qKlxuICogQWRkIHRoZSBjb3JyZWN0IGZvbnQgc2l6ZSBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cblxuc21hbGwge1xuICBmb250LXNpemU6IDgwJTtcbn1cblxuLyoqXG4gKiBQcmV2ZW50IGBzdWJgIGFuZCBgc3VwYCBlbGVtZW50cyBmcm9tIGFmZmVjdGluZyB0aGUgbGluZSBoZWlnaHQgaW5cbiAqIGFsbCBicm93c2Vycy5cbiAqL1xuXG5zdWIsXG5zdXAge1xuICBmb250LXNpemU6IDc1JTtcbiAgbGluZS1oZWlnaHQ6IDA7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xufVxuXG5zdWIge1xuICBib3R0b206IC0uMjVlbTtcbn1cblxuc3VwIHtcbiAgdG9wOiAtLjVlbTtcbn1cblxuLypcbiAqIFJlbW92ZSB0aGUgdGV4dCBzaGFkb3cgb24gdGV4dCBzZWxlY3Rpb25zIChvcGluaW9uYXRlZCkuXG4gKiAxLiBSZXN0b3JlIHRoZSBjb2xvcmluZyB1bmRvbmUgYnkgZGVmaW5pbmcgdGhlIHRleHQgc2hhZG93IChvcGluaW9uYXRlZCkuXG4gKi9cblxuOjotbW96LXNlbGVjdGlvbiB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNiM2Q0ZmM7IC8qIDEgKi9cbiAgY29sb3I6ICMwMDAwMDA7IC8qIDEgKi9cbiAgdGV4dC1zaGFkb3c6IG5vbmU7XG59XG5cbjo6c2VsZWN0aW9uIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2IzZDRmYzsgLyogMSAqL1xuICBjb2xvcjogIzAwMDAwMDsgLyogMSAqL1xuICB0ZXh0LXNoYWRvdzogbm9uZTtcbn1cblxuLyogRW1iZWRkZWQgY29udGVudCAoaHR0cHM6Ly9odG1sLnNwZWMud2hhdHdnLm9yZy9tdWx0aXBhZ2UvZW1iZWRkZWQtY29udGVudC5odG1sI2VtYmVkZGVkLWNvbnRlbnQpXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogQ2hhbmdlIHRoZSBhbGlnbm1lbnQgb24gbWVkaWEgZWxlbWVudHMgaW4gYWxsIGJyb3dlcnMgKG9waW5pb25hdGVkKS5cbiAqL1xuXG5hdWRpbyxcbmNhbnZhcyxcbmlmcmFtZSxcbmltZyxcbnN2ZyxcbnZpZGVvIHtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xufVxuXG4vKipcbiAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDktLlxuICovXG5cbmF1ZGlvLFxudmlkZW8ge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG59XG5cbi8qKlxuICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gaU9TIDQtNy5cbiAqL1xuXG5hdWRpbzpub3QoW2NvbnRyb2xzXSkge1xuICBkaXNwbGF5OiBub25lO1xuICBoZWlnaHQ6IDA7XG59XG5cbi8qKlxuICogUmVtb3ZlIHRoZSBib3JkZXIgb24gaW1hZ2VzIGluc2lkZSBsaW5rcyBpbiBJRSAxMC0uXG4gKi9cblxuaW1nIHtcbiAgYm9yZGVyLXN0eWxlOiBub25lO1xufVxuXG4vKipcbiAqIENoYW5nZSB0aGUgZmlsbCBjb2xvciB0byBtYXRjaCB0aGUgdGV4dCBjb2xvciBpbiBhbGwgYnJvd3NlcnMgKG9waW5pb25hdGVkKS5cbiAqL1xuXG5zdmcge1xuICBmaWxsOiBjdXJyZW50Q29sb3I7XG59XG5cbi8qKlxuICogSGlkZSB0aGUgb3ZlcmZsb3cgaW4gSUUuXG4gKi9cblxuc3ZnOm5vdCg6cm9vdCkge1xuICBvdmVyZmxvdzogaGlkZGVuO1xufVxuXG4vKiBUYWJ1bGFyIGRhdGEgKGh0dHBzOi8vaHRtbC5zcGVjLndoYXR3Zy5vcmcvbXVsdGlwYWdlL3RhYmxlcy5odG1sI3RhYmxlcylcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICogQ29sbGFwc2UgYm9yZGVyIHNwYWNpbmdcbiAqL1xuXG50YWJsZSB7XG4gIGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2U7XG59XG5cbi8qIEZvcm1zIChodHRwczovL2h0bWwuc3BlYy53aGF0d2cub3JnL211bHRpcGFnZS9mb3Jtcy5odG1sI2Zvcm1zKVxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiBSZW1vdmUgdGhlIG1hcmdpbiBpbiBGaXJlZm94IGFuZCBTYWZhcmkuXG4gKi9cblxuYnV0dG9uLFxuaW5wdXQsXG5vcHRncm91cCxcbnNlbGVjdCxcbnRleHRhcmVhIHtcbiAgbWFyZ2luOiAwO1xufVxuXG4vKipcbiAqIEluaGVyaXQgc3R5bGluZyBpbiBhbGwgYnJvd3NlcnMgKG9waW5pb25hdGVkKS5cbiAqL1xuXG5idXR0b24sXG5pbnB1dCxcbnNlbGVjdCxcbnRleHRhcmVhIHtcbiAgY29sb3I6IGluaGVyaXQ7XG4gIGZvbnQtZmFtaWx5OiBpbmhlcml0O1xuICBmb250LXNpemU6IGluaGVyaXQ7XG4gIGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xufVxuXG4vKipcbiAqIFNob3cgdGhlIG92ZXJmbG93IGluIElFLlxuICogMS4gU2hvdyB0aGUgb3ZlcmZsb3cgaW4gRWRnZS5cbiAqL1xuXG5idXR0b24sXG5pbnB1dCB7IC8qIDEgKi9cbiAgb3ZlcmZsb3c6IHZpc2libGU7XG59XG5cbi8qKlxuICogUmVtb3ZlIHRoZSBpbmhlcml0YW5jZSBvZiB0ZXh0IHRyYW5zZm9ybSBpbiBFZGdlLCBGaXJlZm94LCBhbmQgSUUuXG4gKiAxLiBSZW1vdmUgdGhlIGluaGVyaXRhbmNlIG9mIHRleHQgdHJhbnNmb3JtIGluIEZpcmVmb3guXG4gKi9cblxuYnV0dG9uLFxuc2VsZWN0IHsgLyogMSAqL1xuICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbn1cblxuLyoqXG4gKiAxLiBQcmV2ZW50IGEgV2ViS2l0IGJ1ZyB3aGVyZSAoMikgZGVzdHJveXMgbmF0aXZlIGBhdWRpb2AgYW5kIGB2aWRlb2BcbiAqICAgIGNvbnRyb2xzIGluIEFuZHJvaWQgNC5cbiAqIDIuIENvcnJlY3QgdGhlIGluYWJpbGl0eSB0byBzdHlsZSBjbGlja2FibGUgdHlwZXMgaW4gaU9TIGFuZCBTYWZhcmkuXG4gKi9cblxuYnV0dG9uLFxuaHRtbCBbdHlwZT1cImJ1dHRvblwiXSwgLyogMSAqL1xuW3R5cGU9XCJyZXNldFwiXSxcblt0eXBlPVwic3VibWl0XCJdIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBidXR0b247IC8qIDIgKi9cbn1cblxuLyoqXG4gKiBSZW1vdmUgdGhlIGlubmVyIGJvcmRlciBhbmQgcGFkZGluZyBpbiBGaXJlZm94LlxuICovXG5cbmJ1dHRvbjo6LW1vei1mb2N1cy1pbm5lcixcblt0eXBlPVwiYnV0dG9uXCJdOjotbW96LWZvY3VzLWlubmVyLFxuW3R5cGU9XCJyZXNldFwiXTo6LW1vei1mb2N1cy1pbm5lcixcblt0eXBlPVwic3VibWl0XCJdOjotbW96LWZvY3VzLWlubmVyIHtcbiAgYm9yZGVyLXN0eWxlOiBub25lO1xuICBwYWRkaW5nOiAwO1xufVxuXG4vKipcbiAqIFJlc3RvcmUgdGhlIGZvY3VzIHN0eWxlcyB1bnNldCBieSB0aGUgcHJldmlvdXMgcnVsZS5cbiAqL1xuXG5idXR0b246LW1vei1mb2N1c3JpbmcsXG5bdHlwZT1cImJ1dHRvblwiXTotbW96LWZvY3VzcmluZyxcblt0eXBlPVwicmVzZXRcIl06LW1vei1mb2N1c3JpbmcsXG5bdHlwZT1cInN1Ym1pdFwiXTotbW96LWZvY3VzcmluZyB7XG4gIG91dGxpbmU6IDFweCBkb3R0ZWQgQnV0dG9uVGV4dDtcbn1cblxuLyoqXG4gKiAxLiBDb3JyZWN0IHRoZSB0ZXh0IHdyYXBwaW5nIGluIEVkZ2UgYW5kIElFLlxuICogMi4gQ29ycmVjdCB0aGUgY29sb3IgaW5oZXJpdGFuY2UgZnJvbSBgZmllbGRzZXRgIGVsZW1lbnRzIGluIElFLlxuICogMy4gUmVtb3ZlIHRoZSBwYWRkaW5nIHNvIGRldmVsb3BlcnMgYXJlIG5vdCBjYXVnaHQgb3V0IHdoZW4gdGhleSB6ZXJvIG91dFxuICogICAgYGZpZWxkc2V0YCBlbGVtZW50cyBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cblxubGVnZW5kIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDsgLyogMSAqL1xuICBjb2xvcjogaW5oZXJpdDsgLyogMiAqL1xuICBkaXNwbGF5OiB0YWJsZTsgLyogMSAqL1xuICBtYXgtd2lkdGg6IDEwMCU7IC8qIDEgKi9cbiAgcGFkZGluZzogMDsgLyogMyAqL1xuICB3aGl0ZS1zcGFjZTogbm9ybWFsOyAvKiAxICovXG59XG5cbi8qKlxuICogMS4gQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgOS0uXG4gKiAyLiBBZGQgdGhlIGNvcnJlY3QgdmVydGljYWwgYWxpZ25tZW50IGluIENocm9tZSwgRmlyZWZveCwgYW5kIE9wZXJhLlxuICovXG5cbnByb2dyZXNzIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrOyAvKiAxICovXG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTsgLyogMiAqL1xufVxuXG4vKipcbiAqIDEuIFJlbW92ZSB0aGUgZGVmYXVsdCB2ZXJ0aWNhbCBzY3JvbGxiYXIgaW4gSUUuXG4gKiAyLiBDaGFuZ2UgdGhlIHJlc2l6ZSBkaXJlY3Rpb24gb24gdGV4dGFyZWFzIGluIGFsbCBicm93c2VycyAob3BpbmlvbmF0ZWQpLlxuICovXG5cbnRleHRhcmVhIHtcbiAgb3ZlcmZsb3c6IGF1dG87IC8qIDEgKi9cbiAgcmVzaXplOiB2ZXJ0aWNhbDsgLyogMiAqL1xufVxuXG4vKipcbiAqIDEuIEFkZCB0aGUgY29ycmVjdCBib3ggc2l6aW5nIGluIElFIDEwLS5cbiAqIDIuIFJlbW92ZSB0aGUgcGFkZGluZyBpbiBJRSAxMC0uXG4gKi9cblxuW3R5cGU9XCJjaGVja2JveFwiXSxcblt0eXBlPVwicmFkaW9cIl0ge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94OyAvKiAxICovXG4gIHBhZGRpbmc6IDA7IC8qIDIgKi9cbn1cblxuLyoqXG4gKiBDb3JyZWN0IHRoZSBjdXJzb3Igc3R5bGUgb2YgaW5jcmVtZW50IGFuZCBkZWNyZW1lbnQgYnV0dG9ucyBpbiBDaHJvbWUuXG4gKi9cblxuW3R5cGU9XCJudW1iZXJcIl06Oi13ZWJraXQtaW5uZXItc3Bpbi1idXR0b24sXG5bdHlwZT1cIm51bWJlclwiXTo6LXdlYmtpdC1vdXRlci1zcGluLWJ1dHRvbiB7XG4gIGhlaWdodDogYXV0bztcbn1cblxuLyoqXG4gKiAxLiBDb3JyZWN0IHRoZSBvZGQgYXBwZWFyYW5jZSBpbiBDaHJvbWUgYW5kIFNhZmFyaS5cbiAqIDIuIENvcnJlY3QgdGhlIG91dGxpbmUgc3R5bGUgaW4gU2FmYXJpLlxuICovXG5cblt0eXBlPVwic2VhcmNoXCJdIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiB0ZXh0ZmllbGQ7IC8qIDEgKi9cbiAgb3V0bGluZS1vZmZzZXQ6IC0ycHg7IC8qIDIgKi9cbn1cblxuLyoqXG4gKiBSZW1vdmUgdGhlIGlubmVyIHBhZGRpbmcgYW5kIGNhbmNlbCBidXR0b25zIGluIENocm9tZSBhbmQgU2FmYXJpIG9uIG1hY09TLlxuICovXG5cblt0eXBlPVwic2VhcmNoXCJdOjotd2Via2l0LXNlYXJjaC1jYW5jZWwtYnV0dG9uLFxuW3R5cGU9XCJzZWFyY2hcIl06Oi13ZWJraXQtc2VhcmNoLWRlY29yYXRpb24ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG59XG5cbi8qKlxuICogMS4gQ29ycmVjdCB0aGUgaW5hYmlsaXR5IHRvIHN0eWxlIGNsaWNrYWJsZSB0eXBlcyBpbiBpT1MgYW5kIFNhZmFyaS5cbiAqIDIuIENoYW5nZSBmb250IHByb3BlcnRpZXMgdG8gYGluaGVyaXRgIGluIFNhZmFyaS5cbiAqL1xuXG46Oi13ZWJraXQtZmlsZS11cGxvYWQtYnV0dG9uIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBidXR0b247IC8qIDEgKi9cbiAgZm9udDogaW5oZXJpdDsgLyogMiAqL1xufVxuXG4vKiBJbnRlcmFjdGl2ZSBlbGVtZW50cyAoaHR0cHM6Ly9odG1sLnNwZWMud2hhdHdnLm9yZy9tdWx0aXBhZ2UvZm9ybXMuaHRtbCNpbnRlcmFjdGl2ZS1lbGVtZW50cylcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSA5LS5cbiAqIDEuIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIEVkZ2UsIElFLCBhbmQgRmlyZWZveC5cbiAqL1xuXG5kZXRhaWxzLCAvKiAxICovXG5tZW51IHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbi8qXG4gKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cblxuc3VtbWFyeSB7XG4gIGRpc3BsYXk6IGxpc3QtaXRlbTtcbn1cblxuLyogU2NyaXB0aW5nIChodHRwczovL2h0bWwuc3BlYy53aGF0d2cub3JnL211bHRpcGFnZS9zY3JpcHRpbmcuaHRtbCNzY3JpcHRpbmctMylcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgOS0uXG4gKi9cblxuY2FudmFzIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xufVxuXG4vKipcbiAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFLlxuICovXG5cbnRlbXBsYXRlIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuLyogVXNlciBpbnRlcmFjdGlvbiAoaHR0cHM6Ly9odG1sLnNwZWMud2hhdHdnLm9yZy9tdWx0aXBhZ2UvaW50ZXJhY3Rpb24uaHRtbCNlZGl0aW5nKVxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIFJlbW92ZSB0aGUgdGFwcGluZyBkZWxheSBvbiBjbGlja2FibGUgZWxlbWVudHMgKG9waW5pb25hdGVkKS5cbiAqIDEuIFJlbW92ZSB0aGUgdGFwcGluZyBkZWxheSBpbiBJRSAxMC5cbiAqL1xuXG5hLFxuYXJlYSxcbmJ1dHRvbixcbmlucHV0LFxubGFiZWwsXG5zZWxlY3QsXG5zdW1tYXJ5LFxudGV4dGFyZWEsXG5bdGFiaW5kZXhdIHtcbiAgLW1zLXRvdWNoLWFjdGlvbjogbWFuaXB1bGF0aW9uOyAvKiAxICovXG4gIHRvdWNoLWFjdGlvbjogbWFuaXB1bGF0aW9uO1xufVxuXG4vKipcbiAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDEwLS5cbiAqL1xuXG5baGlkZGVuXSB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi8qIEFSSUEgKGh0dHBzOi8vdzNjLmdpdGh1Yi5pby9odG1sLWFyaWEvKVxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiBDaGFuZ2UgdGhlIGN1cnNvciBvbiBidXN5IGVsZW1lbnRzIChvcGluaW9uYXRlZCkuXG4gKi9cblxuW2FyaWEtYnVzeT1cInRydWVcIl0ge1xuICBjdXJzb3I6IHByb2dyZXNzO1xufVxuXG4vKlxuICogQ2hhbmdlIHRoZSBjdXJzb3Igb24gY29udHJvbCBlbGVtZW50cyAob3BpbmlvbmF0ZWQpLlxuICovXG5cblthcmlhLWNvbnRyb2xzXSB7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cblxuLypcbiAqIENoYW5nZSB0aGUgZGlzcGxheSBvbiB2aXN1YWxseSBoaWRkZW4gYWNjZXNzaWJsZSBlbGVtZW50cyAob3BpbmlvbmF0ZWQpLlxuICovXG5cblthcmlhLWhpZGRlbj1cImZhbHNlXCJdW2hpZGRlbl06bm90KDpmb2N1cykge1xuICBjbGlwOiByZWN0KDAsIDAsIDAsIDApO1xuICBkaXNwbGF5OiBpbmhlcml0O1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG59XG5cbi8qXG4gKiBDaGFuZ2UgdGhlIGN1cnNvciBvbiBkaXNhYmxlZCwgbm90LWVkaXRhYmxlLCBvciBvdGhlcndpc2VcbiAqIGlub3BlcmFibGUgZWxlbWVudHMgKG9waW5pb25hdGVkKS5cbiAqL1xuXG5bYXJpYS1kaXNhYmxlZF0ge1xuICBjdXJzb3I6IGRlZmF1bHQ7XG59XG5cbmEge1xuICBAaW5jbHVkZSB0cmFuc2l0aW9uKGNvbG9yKTtcbiAgY29sb3I6IGluaGVyaXQ7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblxuICAmOmZvY3VzIHtcbiAgICBvdXRsaW5lOiBub25lO1xuICB9XG4gICY6bGluayB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB9XG4gICY6dmlzaXRlZCB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB9XG5cbiAgQGluY2x1ZGUgaG92ZXIge1xuICAgIGNvbG9yOiBtYXAtZ2V0KCRjb2xvciwgdGV4dCk7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB9XG59XG4iLCIvLyBkZWZhdWx0XG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiRkZWZhdWx0OiAoXG4gIGZvbnQtc2l6ZSAgICAgIDogMTIsXG4gIGxldHRlci1zcGFjaW5nIDogMC4wMSxcbiAgbGluZS1oZWlnaHQgICAgOiAxLFxuICBmb250LXdlaWdodCAgICA6IDQwMFxuKTtcblxuLy8gY29sb3Jcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuJGNvbG9yOiAoXG4gIHN0cmF3YmVycnkgICAgICA6ICNGN0MxQzEsXG4gIHBhbGUtc3RyYXdiZXJyeSA6ICNGRkU1RTUsXG4gIGRlZXAtc3RyYXdiZXJyeSA6ICNEMzgwQUUsXG4gIG1hbmdvICAgICAgICAgICA6ICNGRERCOUQsXG4gIHBhbGUtbWFuZ28gICAgICA6ICNGRkVGQzksXG4gIGRlZXAtbWFuZ28gICAgICA6ICNGN0I1MDAsXG4gIGJsdWViZXJyeSAgICAgICA6ICNCRUMzRUMsXG4gIHBhbGUtYmx1ZWJlcnJ5ICA6ICNFNUVCRkYsXG4gIGRlZXAtYmx1ZWJlcnJ5ICA6ICM4NjgwRDMsXG4gIGxpZ2h0LWJsdWUgICAgICA6ICNERkVERkYsXG4gIGxpZ2h0LXllbGxvdyAgICA6ICNGRkY3RUMsXG4gIGxpZ2h0LWdyYXkgICAgICA6ICNGMkYyRjIsXG4gIGdyYXkgICAgICAgICAgICA6ICNEN0Q3RDcsXG4gIHRleHQgICAgICAgICAgICA6ICMwMDAwMDAsXG4gIGJsYWNrICAgICAgICAgICA6ICMwMDAwMDAsXG4gIHdoaXRlICAgICAgICAgICA6ICNmZmZmZmZcbik7XG5cbi8vIGNvbnRlbnQgd2lkdGhcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuJHdpZHRoOiAoXG4gIG1heCA6IDk2MHB4LFxuICBtaW4gOiA3NjhweFxuKTtcblxuLy8gZm9udCBmYW1pbHlcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuJGZvbnQ6IChcbiAgTW9udHNlcnJhdCA6ICN7J1wiTW9udHNlcnJhdFwiLCBzeXN0ZW0tdWksIC1hcHBsZS1zeXN0ZW0sIFJvYm90bywgXCLjg5Ljg6njgq7jg47op5LjgrTjgrfjg4Pjgq8gUHJvTlwiLCBcIkhpcmFnaW5vIEtha3UgR290aGljIFByb05cIiwgXCJOb3RvIFNhbnMgSlBcIiwgXCLmuLjjgrTjgrfjg4Pjgq9cIiwgWXVHb3RoaWMsIEhlbHZldGljYSwgQXJpYWwsIFwi44Oh44Kk44Oq44KqXCIsIE1laXJ5bywgc2Fucy1zZXJpZid9LFxuKTtcbiIsIi8qXG5cbk1peGluc1xuXG5yZWY6IGh0dHA6Ly9zYXNzLWxhbmcuY29tL2RvY3VtZW50YXRpb24vZmlsZS5TQVNTX1JFRkVSRU5DRS5odG1sXG5cbiovXG5cbi8vIOODoeODh+OCo+OCouOCr+OCqOODqlxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5AbWl4aW4gc2NyZWVuKCRtb2RlLCAkbWluOiA3NjgsICRtYXg6IDk2MCApIHtcbiAgLy8gYSB+IGIgOiAkbWluIDw9ICRtYXhcbiAgQGlmICRtb2RlID09ICd+JyB7XG4gICAgQG1lZGlhICggbWluLXdpZHRoOiAkbWluICsgMXB4ICkgYW5kICggbWF4LXdpZHRoOiAjeyRtYXh9cHggKSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH1cblxuICAvLyBhID4gYlxuICBAaWYgJG1vZGUgPT0gJz4nIHtcbiAgICBAbWVkaWEgKCBtaW4td2lkdGg6ICRtaW4gKyAxcHggKSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH1cblxuICAvLyBhIDw9IGJcbiAgQGlmICRtb2RlID09ICc8PScge1xuICAgIEBtZWRpYSAoIG1heC13aWR0aDogI3skbWlufXB4ICkge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9XG59XG5cblxuLy8gaG92ZXJcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuQG1peGluIGhvdmVyKCkge1xuICBAaW5jbHVkZSBzY3JlZW4oJz4nKSB7XG4gICAgJjpob3ZlciB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH1cbn1cblxuXG4vLyDjg5Xjgqnjg7Pjg4jjgrXjgqTjgrpcbi8vIHJlbeOBp+OBruODleOCqeODs+ODiOOCteOCpOOCuuaMh+WumlxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5AbWl4aW4gdGV4dC1zaXplKCRmcywgJGltcG9ydGFudDogJycpIHtcbiAgQGlmICRpbXBvcnRhbnQgPT0gaW1wb3J0YW50IHtcbiAgICAkaW1wb3J0YW50OiAnICFpbXBvcnRhbnQnO1xuICB9XG5cbiAgZm9udC1zaXplOiAoJGZzIC8gI3ttYXAtZ2V0KCRkZWZhdWx0LCBmb250LXNpemUpfXJlbSkjeyRpbXBvcnRhbnR9O1xufVxuXG5cbi8vIHRyYW5zdGlvblxuLy8gYWxwaGHns7t0cmFuc2l0aW9u44GuZHVyYXRpb24sIGVhc2luZ+OCkuWFsemAmuWMllxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5AbWl4aW4gdHJhbnNpdGlvbigkcHJvcCwgJGR1cmF0aW9uOiAuM3MsICRlYXNpbmc6ICRlYXNlLW91dC1xdWFkKSB7XG4gIHRyYW5zaXRpb246ICRwcm9wICRkdXJhdGlvbiAkZWFzaW5nO1xufVxuIiwiLypcblxuICAjIGVhc2luZyB2YXJpYWJsZXNcblxuKi9cblxuLy8gW2JvdXJib24vX3RpbWluZy1mdW5jdGlvbnMuc2NzcyBhdCBtYXN0ZXIgwrcgdGhvdWdodGJvdC9ib3VyYm9uXShodHRwczovL2dpdGh1Yi5jb20vdGhvdWdodGJvdC9ib3VyYm9uL2Jsb2IvbWFzdGVyL2FwcC9hc3NldHMvc3R5bGVzaGVldHMvYWRkb25zL190aW1pbmctZnVuY3Rpb25zLnNjc3MpXG4vLyBDU1MgY3ViaWMtYmV6aWVyIHRpbWluZyBmdW5jdGlvbnMuIFRpbWluZyBmdW5jdGlvbnMgY291cnRlc3kgb2YganF1ZXJ5LmVhc2llIChnaXRodWIuY29tL2phdWtpYS9lYXNpZSlcbi8vIFRpbWluZyBmdW5jdGlvbnMgYXJlIHRoZSBzYW1lIGFzIGRlbW8nZWQgaGVyZTogaHR0cDovL2pxdWVyeXVpLmNvbS9yZXNvdXJjZXMvZGVtb3MvZWZmZWN0L2Vhc2luZy5odG1sXG5cbi8vIEVBU0UgSU5cbiRlYXNlLWluLXF1YWQgICAgICA6IGN1YmljLWJlemllcigwLjU1MCwgIDAuMDg1LCAwLjY4MCwgMC41MzApO1xuJGVhc2UtaW4tY3ViaWMgICAgIDogY3ViaWMtYmV6aWVyKDAuNTUwLCAgMC4wNTUsIDAuNjc1LCAwLjE5MCk7XG4kZWFzZS1pbi1xdWFydCAgICAgOiBjdWJpYy1iZXppZXIoMC44OTUsICAwLjAzMCwgMC42ODUsIDAuMjIwKTtcbiRlYXNlLWluLXF1aW50ICAgICA6IGN1YmljLWJlemllcigwLjc1NSwgIDAuMDUwLCAwLjg1NSwgMC4wNjApO1xuJGVhc2UtaW4tc2luZSAgICAgIDogY3ViaWMtYmV6aWVyKDAuNDcwLCAgMC4wMDAsIDAuNzQ1LCAwLjcxNSk7XG4kZWFzZS1pbi1leHBvICAgICAgOiBjdWJpYy1iZXppZXIoMC45NTAsICAwLjA1MCwgMC43OTUsIDAuMDM1KTtcbiRlYXNlLWluLWNpcmMgICAgICA6IGN1YmljLWJlemllcigwLjYwMCwgIDAuMDQwLCAwLjk4MCwgMC4zMzUpO1xuJGVhc2UtaW4tYmFjayAgICAgIDogY3ViaWMtYmV6aWVyKDAuNjAwLCAtMC4yODAsIDAuNzM1LCAwLjA0NSk7XG5cbi8vIEVBU0UgT1VUXG4kZWFzZS1vdXQtcXVhZCAgICAgOiBjdWJpYy1iZXppZXIoMC4yNTAsICAwLjQ2MCwgMC40NTAsIDAuOTQwKTtcbiRlYXNlLW91dC1jdWJpYyAgICA6IGN1YmljLWJlemllcigwLjIxNSwgIDAuNjEwLCAwLjM1NSwgMS4wMDApO1xuJGVhc2Utb3V0LXF1YXJ0ICAgIDogY3ViaWMtYmV6aWVyKDAuMTY1LCAgMC44NDAsIDAuNDQwLCAxLjAwMCk7XG4kZWFzZS1vdXQtcXVpbnQgICAgOiBjdWJpYy1iZXppZXIoMC4yMzAsICAxLjAwMCwgMC4zMjAsIDEuMDAwKTtcbiRlYXNlLW91dC1zaW5lICAgICA6IGN1YmljLWJlemllcigwLjM5MCwgIDAuNTc1LCAwLjU2NSwgMS4wMDApO1xuJGVhc2Utb3V0LWV4cG8gICAgIDogY3ViaWMtYmV6aWVyKDAuMTkwLCAgMS4wMDAsIDAuMjIwLCAxLjAwMCk7XG4kZWFzZS1vdXQtY2lyYyAgICAgOiBjdWJpYy1iZXppZXIoMC4wNzUsICAwLjgyMCwgMC4xNjUsIDEuMDAwKTtcbiRlYXNlLW91dC1iYWNrICAgICA6IGN1YmljLWJlemllcigwLjE3NSwgIDAuODg1LCAwLjMyMCwgMS4yNzUpO1xuXG4vLyBFQVNFIElOIE9VVFxuJGVhc2UtaW4tb3V0LXF1YWQgIDogY3ViaWMtYmV6aWVyKDAuNDU1LCAgMC4wMzAsIDAuNTE1LCAwLjk1NSk7XG4kZWFzZS1pbi1vdXQtY3ViaWMgOiBjdWJpYy1iZXppZXIoMC42NDUsICAwLjA0NSwgMC4zNTUsIDEuMDAwKTtcbiRlYXNlLWluLW91dC1xdWFydCA6IGN1YmljLWJlemllcigwLjc3MCwgIDAuMDAwLCAwLjE3NSwgMS4wMDApO1xuJGVhc2UtaW4tb3V0LXF1aW50IDogY3ViaWMtYmV6aWVyKDAuODYwLCAgMC4wMDAsIDAuMDcwLCAxLjAwMCk7XG4kZWFzZS1pbi1vdXQtc2luZSAgOiBjdWJpYy1iZXppZXIoMC40NDUsICAwLjA1MCwgMC41NTAsIDAuOTUwKTtcbiRlYXNlLWluLW91dC1leHBvICA6IGN1YmljLWJlemllcigxLjAwMCwgIDAuMDAwLCAwLjAwMCwgMS4wMDApO1xuJGVhc2UtaW4tb3V0LWNpcmMgIDogY3ViaWMtYmV6aWVyKDAuNzg1LCAgMC4xMzUsIDAuMTUwLCAwLjg2MCk7XG4kZWFzZS1pbi1vdXQtYmFjayAgOiBjdWJpYy1iZXppZXIoMC42ODAsIC0wLjU1MCwgMC4yNjUsIDEuNTUwKTtcbiIsIi51LWRpc2FibGVkVGV4dCB7XG4gIGJvcmRlci1ib3R0b206IDAgIWltcG9ydGFudDtcbiAgLy8gY29sb3I6IG1hcC1nZXQoJGNvbG9yLCB0ZXh0KTtcbiAgY3Vyc29yOiBkZWZhdWx0O1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcblxuICBAaW5jbHVkZSBob3ZlcigpIHtcbiAgICBjb2xvcjogbWFwLWdldCgkY29sb3IsIHRleHQpO1xuICB9XG59XG4iLCIuZGlzcGxheS1vbmx5LXBjIHtcbiAgQGluY2x1ZGUgc2NyZWVuKCc8PScpIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG5cbi5kaXNwbGF5LW9ubHktc3Age1xuICBAaW5jbHVkZSBzY3JlZW4oJz4nKSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuIiwiLy8gTk9URTog44OH44OQ44OD44Kw55SoVVJM44Gf44Gf44GP44GoLmlzLW5vQ29udGVudEZhZGXjgYzku5jkuI7jgZXjgozjgotcbmh0bWw6bm90KC5pcy1ub0NvbnRlbnRGYWRlKSAuanMtZmFkZUluIHtcbiAgdmlzaWJpbGl0eTogaGlkZGVuO1xufVxuXG4uaXMtZmFkZWRJbiB7XG4gIGFuaW1hdGlvbi1kdXJhdGlvbjogLjBzO1xuICBhbmltYXRpb24tZmlsbC1tb2RlOiBmb3J3YXJkcztcbiAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogJGVhc2Utb3V0LXF1YWQ7XG5cbiAgJi4tZmFkZUluIHtcbiAgICBhbmltYXRpb24tZHVyYXRpb246IC42cztcbiAgICBhbmltYXRpb24tbmFtZTogZmFkZUluO1xuICB9XG5cbiAgJi4tc2xpZGVVcCB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDIwcHgpO1xuICAgIGFuaW1hdGlvbi1uYW1lOiBmYWRlSW4sIHNsaWRlVXA7XG4gIH1cblxuICAvLyDog4zmma/nlKhcbiAgJi4tc2NhbGVSaWdodCB7XG4gICAgYW5pbWF0aW9uLWR1cmF0aW9uOiAuNnM7XG4gICAgdHJhbnNmb3JtOiBzY2FsZVgoMCk7XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogbGVmdDtcbiAgICBhbmltYXRpb24tbmFtZTogc2NhbGVSaWdodDtcbiAgfVxuICAvLyAmLi1zY2FsZUJvdHRvbSB7XG4gIC8vICAgYW5pbWF0aW9uLWR1cmF0aW9uOiAuOHM7XG4gIC8vICAgdHJhbnNmb3JtOiBzY2FsZVkoMCk7XG4gIC8vICAgdHJhbnNmb3JtLW9yaWdpbjogdG9wO1xuICAvLyAgIGFuaW1hdGlvbi1uYW1lOiBzY2FsZUJvdHRvbTtcbiAgLy8gfVxuXG4gIC8vICYuLXNsaWRlTGVmdCB7XG4gIC8vICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDQwcHgpO1xuICAvLyAgIGFuaW1hdGlvbi1uYW1lOiBqc0ZhZGVJbiwgc2xpZGVMZWZ0O1xuICAvLyB9XG4gIC8vICYuLXNsaWRlUmlnaHQge1xuICAvLyAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNDBweCk7XG4gIC8vICAgYW5pbWF0aW9uLW5hbWU6IGpzRmFkZUluLCBzbGlkZVJpZ2h0O1xuICAvLyB9XG59XG4iLCJAa2V5ZnJhbWVzIGZhZGVJbiB7XG4gIDAlIHsgb3BhY2l0eTogMDsgdmlzaWJpbGl0eTogdmlzaWJsZTsgfVxuICAxMDAlIHsgb3BhY2l0eTogMTsgdmlzaWJpbGl0eTogdmlzaWJsZTsgfVxufVxuXG5Aa2V5ZnJhbWVzIHNsaWRlVXAge1xuICAwJSB7IHRyYW5zZm9ybTogdHJhbnNsYXRlWSgyMHB4KTsgfVxuICAxMDAlIHsgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApOyB9XG59XG5cbkBrZXlmcmFtZXMgc2NhbGVSaWdodCB7XG4gIDAlIHsgdHJhbnNmb3JtOiBzY2FsZVgoMCk7IHZpc2liaWxpdHk6IHZpc2libGU7IH1cbiAgMTAwJSB7IHRyYW5zZm9ybTogc2NhbGVYKDEpOyB2aXNpYmlsaXR5OiB2aXNpYmxlOyB9XG59XG5cbi8vIEBrZXlmcmFtZXMgc2NhbGVCb3R0b20ge1xuLy8gICAwJSB7IHRyYW5zZm9ybTogc2NhbGVZKDApOyB2aXNpYmlsaXR5OiB2aXNpYmxlOyB9XG4vLyAgIDEwMCUgeyB0cmFuc2Zvcm06IHNjYWxlWCgxKTsgdmlzaWJpbGl0eTogdmlzaWJsZTsgfVxuLy8gfVxuXG4vLyBAa2V5ZnJhbWVzIHNsaWRlTGVmdCB7XG4vLyAgIDAlIHsgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDQwcHgpOyB9XG4vLyAgIDEwMCUgeyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7IH1cbi8vIH1cbi8vXG4vLyBAa2V5ZnJhbWVzIHNsaWRlUmlnaHQge1xuLy8gICAwJSB7IHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNDBweCk7IH1cbi8vICAgMTAwJSB7IHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTsgfVxuLy8gfVxuXG5Aa2V5ZnJhbWVzIHNsaWRlUmlnaHRPdXQge1xuICAwJSB7IHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTAwJSk7IG9wYWNpdHk6IDE7IHZpc2liaWxpdHk6IHZpc2libGU7IH1cbiAgNDAlIHsgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApOyBvcGFjaXR5OiAxOyB2aXNpYmlsaXR5OiB2aXNpYmxlOyB9XG4gIDYwJSB7IHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTsgb3BhY2l0eTogMTsgdmlzaWJpbGl0eTogdmlzaWJsZTsgfVxuICAxMDAlIHsgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDEwMSUpOyBvcGFjaXR5OiAxOyB2aXNpYmlsaXR5OiB2aXNpYmxlOyB9XG59XG5cbi8vIGluZGV4IC8gcHJvZHVjdHMgLyBpT1PnlKhcbkBrZXlmcmFtZXMgc2NhbGVSaWdodE91dCB7XG4gIDAlIHsgdHJhbnNmb3JtOiBzY2FsZVgoMCk7IG9wYWNpdHk6IDE7IHZpc2liaWxpdHk6IHZpc2libGU7IHRyYW5zZm9ybS1vcmlnaW46IGxlZnQ7fVxuICA0MCUgeyB0cmFuc2Zvcm06IHNjYWxlWCgxKTsgb3BhY2l0eTogMTsgdmlzaWJpbGl0eTogdmlzaWJsZTsgdHJhbnNmb3JtLW9yaWdpbjogbGVmdDt9XG4gIDYwJSB7IHRyYW5zZm9ybTogc2NhbGVYKDEpOyBvcGFjaXR5OiAxOyB2aXNpYmlsaXR5OiB2aXNpYmxlOyB0cmFuc2Zvcm0tb3JpZ2luOiByaWdodDt9XG4gIDEwMCUgeyB0cmFuc2Zvcm06IHNjYWxlWCgwKTsgb3BhY2l0eTogMTsgdmlzaWJpbGl0eTogdmlzaWJsZTsgdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQ7fVxufVxuXG5Aa2V5ZnJhbWVzIHNsaWRlVXAge1xuICAwJSB7IHRyYW5zZm9ybTogdHJhbnNsYXRlWSgyMHB4KTsgdmlzaWJpbGl0eTogdmlzaWJsZTsgb3BhY2l0eTogMDsgfVxuICAxMDAlIHsgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApOyB2aXNpYmlsaXR5OiB2aXNpYmxlOyBvcGFjaXR5OiAxOyB9XG59XG5cbkBrZXlmcmFtZXMgc2xpZGVEb3duIHtcbiAgMCUgeyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTIwcHgpOyBvcGFjaXR5OiAwOyB2aXNpYmlsaXR5OiB2aXNpYmxlOyB9XG4gIDEwMCUgeyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7IG9wYWNpdHk6IDE7IHZpc2liaWxpdHk6IHZpc2libGU7IH1cbn1cblxuQGtleWZyYW1lcyBzY2FsZVJpZ2h0IHtcbiAgMCUgeyB0cmFuc2Zvcm06IHNjYWxlWCgwKTsgdmlzaWJpbGl0eTogdmlzaWJsZTsgfVxuICAxMDAlIHsgdHJhbnNmb3JtOiBzY2FsZVgoMSk7IHZpc2liaWxpdHk6IHZpc2libGU7IH1cbn1cblxuQGtleWZyYW1lcyBzY2FsZUJvdHRvbSB7XG4gIDAlIHsgdHJhbnNmb3JtOiBzY2FsZSgxLDApOyB2aXNpYmlsaXR5OiB2aXNpYmxlOyB9XG4gIDEwMCUgeyB0cmFuc2Zvcm06IHNjYWxlKDEsMSk7IHZpc2liaWxpdHk6IHZpc2libGU7IH1cbn1cbiIsIi8qIFNsaWRlciAqL1xuLnNsaWNrLXNsaWRlciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIC13ZWJraXQtdG91Y2gtY2FsbG91dDogbm9uZTtcbiAgLXdlYmtpdC11c2VyLXNlbGVjdDogbm9uZTtcbiAgLWtodG1sLXVzZXItc2VsZWN0OiBub25lO1xuICAtbW96LXVzZXItc2VsZWN0OiBub25lO1xuICAtbXMtdXNlci1zZWxlY3Q6IG5vbmU7XG4gIHVzZXItc2VsZWN0OiBub25lO1xuICAtbXMtdG91Y2gtYWN0aW9uOiBwYW4teTtcbiAgdG91Y2gtYWN0aW9uOiBwYW4teTtcbiAgLXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOiB0cmFuc3BhcmVudDtcbn1cblxuLnNsaWNrLWxpc3Qge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7XG5cbiAgJjpmb2N1cyB7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgfVxuXG4gICYuZHJhZ2dpbmcge1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBjdXJzb3I6IGhhbmQ7XG4gIH1cbn1cblxuLnNsaWNrLXNsaWRlciAuc2xpY2stdHJhY2ssXG4uc2xpY2stc2xpZGVyIC5zbGljay1saXN0IHtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAtbW96LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAtby10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xufVxuXG4uc2xpY2stdHJhY2sge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGxlZnQ6IDA7XG4gIHRvcDogMDtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gIG1pbi13aWR0aDogMTAwJTtcblxuICAmOmJlZm9yZSxcbiAgJjphZnRlciB7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBkaXNwbGF5OiB0YWJsZTtcbiAgfVxuXG4gICY6YWZ0ZXIge1xuICAgIGNsZWFyOiBib3RoO1xuICB9XG5cbiAgLnNsaWNrLWxvYWRpbmcgJiB7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICB9XG59XG5cbi5zbGljay1zbGlkZSB7XG4gIGZsb2F0OiBsZWZ0O1xuICBoZWlnaHQ6IDEwMCU7XG4gIG1hcmdpbjogMDtcbiAgbWluLWhlaWdodDogMXB4O1xuICAmOmZvY3VzIHtcbiAgICBvdXRsaW5lOiBub25lO1xuICB9XG4gIFtkaXI9XCJydGxcIl0gJiB7XG4gICAgZmxvYXQ6IHJpZ2h0O1xuICB9XG4gIGltZyB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cbiAgJi5zbGljay1sb2FkaW5nIGltZyB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuXG4gIGRpc3BsYXk6IG5vbmU7XG5cbiAgJi5kcmFnZ2luZyBpbWcge1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICB9XG5cbiAgLnNsaWNrLWluaXRpYWxpemVkICYge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG5cbiAgLnNsaWNrLWxvYWRpbmcgJiB7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICB9XG5cbiAgLnNsaWNrLXZlcnRpY2FsICYge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGhlaWdodDogYXV0bztcbiAgICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgfVxufVxuXG4uc2xpY2stYXJyb3cuc2xpY2staGlkZGVuIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cbiIsIi5sLWNvbnRhaW5lciB7XG4gIHdpZHRoOiAxMDAlO1xuXG4gIEBpbmNsdWRlIHNjcmVlbignPD0nKSB7XG4gICAgbWFyZ2luLWxlZnQ6IHVuaXQtdncoMTYpO1xuICAgIG1hcmdpbi1yaWdodDogdW5pdC12dygxNik7XG4gIH1cblxuICBAaW5jbHVkZSBzY3JlZW4oJz4nKSB7XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgIHBhZGRpbmctbGVmdDogdW5pdC1lbSg5MCk7XG4gICAgcGFkZGluZy1yaWdodDogdW5pdC1lbSg5MCk7XG4gIH1cblxuICBAaW5jbHVkZSBzY3JlZW4oJz4nLCAxMTgwKSB7XG4gICAgbWF4LXdpZHRoOiAxMTgwcHg7XG4gIH1cbn1cbiIsIi8qXG5cbkZ1bmN0aW9uc1xuXG5yZWY6IGh0dHA6Ly9zYXNzLWxhbmcuY29tL2RvY3VtZW50YXRpb24vZmlsZS5TQVNTX1JFRkVSRU5DRS5odG1sI2Z1bmN0aW9uX2RpcmVjdGl2ZXNcblxuKi9cbi8vIFJvdW5kICjlm5vmjajkupTlhaUpXG5AZnVuY3Rpb24gcm91bmQtZGVjaW1hbCAoJG51bWJlciwgJGRpZ2l0czogNikge1xuICAgIEByZXR1cm4gdG8tZml4ZWQoJG51bWJlciwgJGRpZ2l0cywgJ3JvdW5kJyk7XG59XG5cbi8vIENlaWwgKOWIh+OCiuS4iuOBkilcbkBmdW5jdGlvbiBjZWlsLWRlY2ltYWwgKCRudW1iZXIsICRkaWdpdHM6IDYpIHtcbiAgICBAcmV0dXJuIHRvLWZpeGVkKCRudW1iZXIsICRkaWdpdHMsICdjZWlsJyk7XG59XG5cbi8vIEZsb29yICjliIfjgormjajjgaYpXG5AZnVuY3Rpb24gZmxvb3ItZGVjaW1hbCAoJG51bWJlciwgJGRpZ2l0czogNikge1xuICAgIEByZXR1cm4gdG8tZml4ZWQoJG51bWJlciwgJGRpZ2l0cywgJ2Zsb29yJyk7XG59XG5cbkBmdW5jdGlvbiB0by1maXhlZCAoJG51bWJlciwgJGRpZ2l0czogMCwgJHJvdW5kOiAncm91bmQnKSB7XG4gICAgJG46IDE7XG4gICAgLy8gJG51bWJlciBtdXN0IGJlIGEgbnVtYmVyXG4gICAgQGlmIHR5cGUtb2YoJG51bWJlcikgIT0gbnVtYmVyIHtcbiAgICAgICAgQHdhcm4gJyN7ICRudW1iZXIgfSBpcyBub3QgYSBudW1iZXIuJztcbiAgICAgICAgQHJldHVybiAkbnVtYmVyO1xuICAgIH1cbiAgICAvLyAkZGlnaXRzIG11c3QgYmUgYSB1bml0bGVzcyBudW1iZXJcbiAgICBAaWYgdHlwZS1vZigkZGlnaXRzKSAhPSBudW1iZXIge1xuICAgICAgICBAd2FybiAnI3sgJGRpZ2l0cyB9IGlzIG5vdCBhIG51bWJlci4nO1xuICAgICAgICBAcmV0dXJuICRudW1iZXI7XG4gICAgfSBAZWxzZSBpZiBub3QgdW5pdGxlc3MoJGRpZ2l0cykge1xuICAgICAgICBAd2FybiAnI3sgJGRpZ2l0cyB9IGhhcyBhIHVuaXQuJztcbiAgICAgICAgQHJldHVybiAkbnVtYmVyO1xuICAgIH1cbiAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICRkaWdpdHMge1xuICAgICAgICAkbjogJG4gKiAxMDtcbiAgICB9XG4gICAgQGlmICRyb3VuZCA9PSAncm91bmQnIHtcbiAgICAgICAgQHJldHVybiByb3VuZCgkbnVtYmVyICogJG4pIC8gJG47XG4gICAgfSBAZWxzZSBpZiAkcm91bmQgPT0gJ2NlaWwnIHtcbiAgICAgICAgQHJldHVybiBjZWlsKCRudW1iZXIgKiAkbikgLyAkbjtcbiAgICB9IEBlbHNlIGlmICRyb3VuZCA9PSAnZmxvb3InIHtcbiAgICAgICAgQHJldHVybiBmbG9vcigkbnVtYmVyICogJG4pIC8gJG47XG4gICAgfSBAZWxzZSB7XG4gICAgICAgIEB3YXJuICcjeyAkcm91bmQgfSBpcyB1bmRlZmluZWQga2V5d29yZC4nO1xuICAgICAgICBAcmV0dXJuICRudW1iZXI7XG4gICAgfVxufVxuXG5cbi8qXG5cbiMgY2FsYyBudW1iZXIgZm9yIHZ3XG5cbi0g5L2Z55m944Gq44Gp44KSdnfljZjkvY3jgavoqIjnrpdcblxuYGBgXG5AaW5jbHVkZSB1bml0KDEwMCwgJ3BjJyk7XG5gYGBcbiovXG5cbkBmdW5jdGlvbiB1bml0LXZ3KCRudW1iZXI6IDAsICRkZXZpY2U6ICdzcCcpIHtcbiAgJG1heFNjcmVlbjogMzc1O1xuXG4gIEBpZiAkZGV2aWNlID09ICdwYycge1xuICAgICRtYXhTY3JlZW46IDE0NDA7XG4gIH1cblxuICBAcmV0dXJuIHJvdW5kLWRlY2ltYWwoJG51bWJlciAvICRtYXhTY3JlZW4pICogMTAwdnc7XG59XG5cbi8qXG5cbiMgY2FsYyBudW1iZXIgZm9yIGVtXG5cbi0g5L2Z55m944Gq44Gp44KSZW3ljZjkvY3jgavoqIjnrpdcblxuYGBgXG5AaW5jbHVkZSB1bml0KDEwMCwgMTIpO1xuYGBgXG4qL1xuXG5AZnVuY3Rpb24gdW5pdC1lbSgkbnVtYmVyOiAwLCAkYmFzZTogMTIpIHtcbiAgQHJldHVybiAkbnVtYmVyIC8gJGJhc2UgKiAxZW07XG59XG4iLCIubC1tYWluIHtcbiAgbWluLWhlaWdodDogMTAwdmg7XG4gIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgtNDVkZWcsICMzNTkwZTUsICMzNWU1NmIpO1xuICBiYWNrZ3JvdW5kLXNpemU6IDQwMCUgNDAwJTtcbiAgYW5pbWF0aW9uOiBncmFkaWVudCAxMHMgaW5maW5pdGU7XG5cbiAgcGFkZGluZzogdW5pdC1lbSg4MCkgdW5pdC1lbSg4MCkgdW5pdC1lbSgxNjApO1xuXG4gIEBpbmNsdWRlIHNjcmVlbignPD0nKSB7XG4gICAgcGFkZGluZzogdW5pdC12dygzMikgdW5pdC12dygxNikgdW5pdC12dyg4MCk7XG4gIH1cbn1cblxuQGtleWZyYW1lcyBncmFkaWVudCB7XG4gIDAlIHtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwJSA1MCVcbiAgfVxuICA1MCUge1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IDEwMCUgNTAlXG4gIH1cbiAgMTAwJSB7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogMCUgNTAlXG4gIH1cbn1cbiIsIi5jLWZ2IHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG5cbiAgJl9fY2hpbGQge1xuICAgICZfX2hlYWRpbmcge1xuICAgICAgY29sb3I6IG1hcC1nZXQoJGNvbG9yLCB3aGl0ZSk7XG4gICAgICBmb250LWZhbWlseTogbWFwLWdldCgkZm9udCwgTW9udHNlcnJhdCk7XG4gICAgICBmb250LXdlaWdodDogMjAwO1xuXG4gICAgICBAaW5jbHVkZSBzY3JlZW4oJz4nKSB7XG4gICAgICAgIEBpbmNsdWRlIHRleHQtc2l6ZSg0OCk7XG4gICAgICB9XG4gICAgICBAaW5jbHVkZSBzY3JlZW4oJzw9Jykge1xuICAgICAgICBAaW5jbHVkZSB0ZXh0LXNpemUoNDApO1xuICAgICAgfVxuICAgIH1cblxuICAgICZfX3RleHQge1xuICAgICAgY29sb3I6IG1hcC1nZXQoJGNvbG9yLCB3aGl0ZSk7XG4gICAgICBmb250LWZhbWlseTogbWFwLWdldCgkZm9udCwgTW9udHNlcnJhdCk7XG4gICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgd29yZC13cmFwOiBicmVhay13b3JkO1xuICAgICAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjY7XG5cbiAgICAgIEBpbmNsdWRlIHNjcmVlbignPicpIHtcbiAgICAgICAgQGluY2x1ZGUgdGV4dC1zaXplKDEyKTtcbiAgICAgICAgbWFyZ2luLXRvcDogdW5pdC1lbSg4LCAxMik7XG4gICAgICB9XG4gICAgICBAaW5jbHVkZSBzY3JlZW4oJzw9Jykge1xuICAgICAgICBAaW5jbHVkZSB0ZXh0LXNpemUoOCk7XG4gICAgICAgIG1hcmdpbi10b3A6IHVuaXQtZW0oOCwgOCk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIuYy13b3JrcyB7XG4gIEBpbmNsdWRlIHNjcmVlbignPicpIHtcbiAgICBtYXJnaW4tdG9wOiB1bml0LWVtKDQ4KTtcbiAgfVxuICBAaW5jbHVkZSBzY3JlZW4oJzw9Jykge1xuICAgIG1hcmdpbi10b3A6IHVuaXQtZW0oMzIpO1xuICB9XG5cbiAgJl9fY2hpbGQge1xuICAgICZfX2xpc3Qge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xuXG4gICAgICBAaW5jbHVkZSBzY3JlZW4oJz4nKSB7XG4gICAgICAgIG1hcmdpbjogdW5pdC1lbSgtMTYpIHVuaXQtZW0oLTE2KTtcbiAgICAgIH1cbiAgICAgIEBpbmNsdWRlIHNjcmVlbignPD0nKSB7XG4gICAgICAgIG1hcmdpbjogdW5pdC1lbSgtMTYpO1xuICAgICAgfVxuXG5cbiAgICAgICZfX2l0ZW0ge1xuICAgICAgICBAaW5jbHVkZSBzY3JlZW4oICc+JywgMTYwMCApIHtcbiAgICAgICAgICB3aWR0aDogY2FsYyggKCAxMDAlIC0gI3t1bml0LWVtKDE2KX0gKiA4ICkgLyA0ICk7XG4gICAgICAgICAgbWFyZ2luOiB1bml0LWVtKDE2KSB1bml0LWVtKDE2KTtcbiAgICAgICAgfVxuICAgICAgICBAaW5jbHVkZSBzY3JlZW4oICd+JywgOTYwLCAxNjAwICkge1xuICAgICAgICAgIHdpZHRoOiBjYWxjKCAoIDEwMCUgLSAje3VuaXQtZW0oMTYpfSAqIDYgKSAvIDMgKTtcbiAgICAgICAgICBtYXJnaW46IHVuaXQtZW0oMTYpIHVuaXQtZW0oMTYpO1xuICAgICAgICB9XG4gICAgICAgIEBpbmNsdWRlIHNjcmVlbignficpIHtcbiAgICAgICAgICB3aWR0aDogY2FsYyggKCAxMDAlIC0gI3t1bml0LWVtKDE2KX0gKiA0ICkgLyAyICk7XG4gICAgICAgICAgbWFyZ2luOiB1bml0LWVtKDE2KSB1bml0LWVtKDE2KTtcbiAgICAgICAgfVxuICAgICAgICBAaW5jbHVkZSBzY3JlZW4oJzw9Jykge1xuICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgIG1hcmdpbjogdW5pdC1lbSgxNik7XG4gICAgICAgIH1cblxuICAgICAgICAmX19saW5rIHtcbiAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cbiAgICAgICAgICAmX19pbWFnZUFyZWEge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCggJGNvbG9yLCB3aGl0ZSApO1xuXG4gICAgICAgICAgICAmX19pbWFnZSB7XG4gICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogY2FsYyggMTAwJSAqIDkwMC8xNDQwICk7XG5cbiAgICAgICAgICAgICAgJiBpbWcge1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgICAgICAgICBvYmplY3QtZml0OiBjb3ZlcjtcbiAgICAgICAgICAgICAgICBvYmplY3QtcG9zaXRpb246IGNlbnRlciBjZW50ZXI7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG5cbiAgICAgICAgICAmX190ZXh0QXJlYSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblxuICAgICAgICAgICAgQGluY2x1ZGUgc2NyZWVuKCc+Jykge1xuICAgICAgICAgICAgICBtYXJnaW4tdG9wOiB1bml0LWVtKDE2KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIEBpbmNsdWRlIHNjcmVlbignPD0nKSB7XG4gICAgICAgICAgICAgIG1hcmdpbi10b3A6IHVuaXQtZW0oMTIpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmX19oZWFkaW5nIHtcbiAgICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGNvbG9yLCB3aGl0ZSk7XG4gICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiBtYXAtZ2V0KCRmb250LCBNb250c2VycmF0KTtcbiAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDMwMDtcblxuICAgICAgICAgICAgICBAaW5jbHVkZSBzY3JlZW4oJz4nKSB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgdGV4dC1zaXplKDE2KTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICBAaW5jbHVkZSBzY3JlZW4oJzw9Jykge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIHRleHQtc2l6ZSgxMik7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJl9fdGV4dCB7XG4gICAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRjb2xvciwgd2hpdGUpO1xuICAgICAgICAgICAgICBmb250LWZhbWlseTogbWFwLWdldCgkZm9udCwgTW9udHNlcnJhdCk7XG4gICAgICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICAgICAgICAgIHdvcmQtd3JhcDogYnJlYWstd29yZDtcbiAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDEuNjtcblxuICAgICAgICAgICAgICBAaW5jbHVkZSBzY3JlZW4oJz4nKSB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgdGV4dC1zaXplKDEyKTtcbiAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiB1bml0LWVtKDQsIDEyKTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICBAaW5jbHVkZSBzY3JlZW4oJzw9Jykge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIHRleHQtc2l6ZSg4KTtcbiAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiB1bml0LWVtKDIsIDgpO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgJl9fbGluayB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgY29sb3I6IG1hcC1nZXQoJGNvbG9yLCB3aGl0ZSk7XG4gICAgICBmb250LWZhbWlseTogbWFwLWdldCgkZm9udCwgTW9udHNlcnJhdCk7XG4gICAgICBmb250LXdlaWdodDogMzAwO1xuXG4gICAgICBAaW5jbHVkZSBzY3JlZW4oJz4nKSB7XG4gICAgICAgIEBpbmNsdWRlIHRleHQtc2l6ZSgxNik7XG4gICAgICAgIG1hcmdpbi10b3A6IHVuaXQtZW0oNDgpO1xuICAgICAgfVxuICAgICAgQGluY2x1ZGUgc2NyZWVuKCc8PScpIHtcbiAgICAgICAgQGluY2x1ZGUgdGV4dC1zaXplKDEyKTtcbiAgICAgICAgbWFyZ2luLXRvcDogdW5pdC1lbSgzMik7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iXX0= */
