@import url(https://fonts.googleapis.com/css?family=Open+Sans:400,400i|Montserrat:400,800&display=swap);
/*!
 * 
 * Super simple WYSIWYG editor v0.8.20
 * https://summernote.org
 *
 *
 * Copyright 2013- Alan Hong and contributors
 * Summernote may be freely distributed under the MIT license.
 *
 * Date: 2021-10-14T21:15Z
 *
 */@font-face{font-display:auto;font-family:summernote;font-style:normal;font-weight:400;src:url(font/summernote.eot?#iefix) format("embedded-opentype"),url(font/summernote.woff2) format("woff2"),url(font/summernote.woff) format("woff"),url(font/summernote.ttf) format("truetype")}[class*=" note-icon"]:before,[class^=note-icon]:before{text-rendering:auto;-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;speak:none;display:inline-block;font-family:summernote;font-size:inherit;font-style:normal;text-decoration:inherit;text-transform:none;vertical-align:middle}.note-icon-fw{text-align:center;width:1.25em}.note-icon-border{border:.08em solid #eee;border-radius:.1em;padding:.2em .25em .15em}.note-icon-pull-left{float:left}.note-icon-pull-right{float:right}.note-icon.note-icon-pull-left{margin-right:.3em}.note-icon.note-icon-pull-right{margin-left:.3em}.note-icon-align:before{content:"\ea01"}.note-icon-align-center:before{content:"\ea02"}.note-icon-align-indent:before{content:"\ea03"}.note-icon-align-justify:before{content:"\ea04"}.note-icon-align-left:before{content:"\ea05"}.note-icon-align-outdent:before{content:"\ea06"}.note-icon-align-right:before{content:"\ea07"}.note-icon-arrow-circle-down:before{content:"\ea08"}.note-icon-arrow-circle-left:before{content:"\ea09"}.note-icon-arrow-circle-right:before{content:"\ea0a"}.note-icon-arrow-circle-up:before{content:"\ea0b"}.note-icon-arrows-alt:before{content:"\ea0c"}.note-icon-arrows-h:before{content:"\ea0d"}.note-icon-arrows-v:before{content:"\ea0e"}.note-icon-bold:before{content:"\ea0f"}.note-icon-caret:before{content:"\ea10"}.note-icon-chain-broken:before{content:"\ea11"}.note-icon-circle:before{content:"\ea12"}.note-icon-close:before{content:"\ea13"}.note-icon-code:before{content:"\ea14"}.note-icon-col-after:before{content:"\ea15"}.note-icon-col-before:before{content:"\ea16"}.note-icon-col-remove:before{content:"\ea17"}.note-icon-eraser:before{content:"\ea18"}.note-icon-float-left:before{content:"\ea19"}.note-icon-float-none:before{content:"\ea1a"}.note-icon-float-right:before{content:"\ea1b"}.note-icon-font:before{content:"\ea1c"}.note-icon-frame:before{content:"\ea1d"}.note-icon-italic:before{content:"\ea1e"}.note-icon-link:before{content:"\ea1f"}.note-icon-magic:before{content:"\ea20"}.note-icon-menu-check:before{content:"\ea21"}.note-icon-minus:before{content:"\ea22"}.note-icon-orderedlist:before{content:"\ea23"}.note-icon-pencil:before{content:"\ea24"}.note-icon-picture:before{content:"\ea25"}.note-icon-question:before{content:"\ea26"}.note-icon-redo:before{content:"\ea27"}.note-icon-rollback:before{content:"\ea28"}.note-icon-row-above:before{content:"\ea29"}.note-icon-row-below:before{content:"\ea2a"}.note-icon-row-remove:before{content:"\ea2b"}.note-icon-special-character:before{content:"\ea2c"}.note-icon-square:before{content:"\ea2d"}.note-icon-strikethrough:before{content:"\ea2e"}.note-icon-subscript:before{content:"\ea2f"}.note-icon-summernote:before{content:"\ea30"}.note-icon-superscript:before{content:"\ea31"}.note-icon-table:before{content:"\ea32"}.note-icon-text-height:before{content:"\ea33"}.note-icon-trash:before{content:"\ea34"}.note-icon-underline:before{content:"\ea35"}.note-icon-undo:before{content:"\ea36"}.note-icon-unorderedlist:before{content:"\ea37"}.note-icon-video:before{content:"\ea38"}.note-frame{border-radius:4px;-ms-box-sizing:border-box;box-sizing:border-box;color:#000;font-family:sans-serif}.note-toolbar{background-color:#f5f5f5;border-bottom:1px solid;border-color:#ddd;border-top-left-radius:3px;border-top-right-radius:3px;color:#333;padding:10px 5px}.note-btn-group{display:inline-block;margin-right:8px;position:relative}.note-btn-group>.note-btn-group{margin-right:0}.note-btn-group>.note-btn:first-child{margin-left:0}.note-btn-group .note-btn+.note-btn,.note-btn-group .note-btn+.note-btn-group,.note-btn-group .note-btn-group+.note-btn,.note-btn-group .note-btn-group+.note-btn-group{margin-left:-1px}.note-btn-group>.note-btn-group:not(:first-child)>.note-btn,.note-btn-group>.note-btn:not(:first-child){border-bottom-left-radius:0;border-top-left-radius:0}.note-btn-group>.note-btn-group:not(:last-child)>.note-btn,.note-btn-group>.note-btn:not(:last-child):not(.dropdown-toggle){border-bottom-right-radius:0;border-top-right-radius:0}.note-btn-group.open>.note-dropdown{display:block}.note-btn{background-color:#fff;background-image:none;border:1px solid #dae0e5;border-radius:3px;color:#333;cursor:pointer;display:inline-block;font-size:14px;font-weight:400;line-height:1.4;margin-bottom:0;outline:0;padding:5px 10px;text-align:center;touch-action:manipulation;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;vertical-align:middle;white-space:nowrap}.note-btn.focus,.note-btn:focus,.note-btn:hover{background-color:#ebebeb;border-color:#dae0e5;color:#333}.note-btn.disabled.focus,.note-btn.disabled:focus,.note-btn[disabled].focus,.note-btn[disabled]:focus,fieldset[disabled] .note-btn.focus,fieldset[disabled] .note-btn:focus{background-color:#fff;border-color:#dae0e5}.note-btn.active,.note-btn.focus,.note-btn:active,.note-btn:focus,.note-btn:hover{background-color:#ebebeb;border:1px solid #dae0e5;border-radius:1px;color:#333;outline:0;text-decoration:none}.note-btn.active,.note-btn:active{background-image:none;box-shadow:inset 0 3px 5px rgba(0,0,0,.125)}.note-btn.disabled,.note-btn[disabled],fieldset[disabled] .note-btn{box-shadow:none;cursor:not-allowed;-ms-filter:progid:DXImageTransform.Microsoft.Alpha(opacity=65);filter:alpha(opacity=65);-webkit-opacity:.65;-khtml-opacity:.65;-moz-opacity:.65;opacity:.65}.note-btn>span.note-icon-caret:first-child{margin-left:-1px}.note-btn>span.note-icon-caret:nth-child(2){margin-right:-5px;padding-left:3px}.note-btn-primary{background:#fa6362;color:#fff}.note-btn-primary.focus,.note-btn-primary:focus,.note-btn-primary:hover{background-color:#fa6362;border:1px solid #dae0e5;border-radius:1px;color:#fff;text-decoration:none}.note-btn-block{display:block;width:100%}.note-btn-block+.note-btn-block{margin-top:5px}input[type=button].note-btn-block,input[type=reset].note-btn-block,input[type=submit].note-btn-block{width:100%}button.close{-webkit-appearance:none;background:transparent;border:0;cursor:pointer;padding:0}.close{color:#000;float:right;font-size:21px;line-height:1;opacity:.2}.close:hover{-ms-filter:alpha(opacity=100);filter:alpha(opacity=100);-webkit-opacity:1;-khtml-opacity:1;-moz-opacity:1;opacity:1}.note-dropdown{position:relative}.note-color .dropdown-toggle{padding-left:5px;width:30px}.note-dropdown-menu{background:#fff;background-clip:padding-box;border:1px solid #e2e2e2;box-shadow:0 1px 1px rgba(0,0,0,.06);display:none;float:left;left:0;min-width:100px;padding:5px;position:absolute;text-align:left;top:100%;z-index:1000}.note-dropdown-menu>:last-child{margin-right:0}.note-btn-group.open .note-dropdown-menu,.note-dropdown-item{display:block}.note-dropdown-item:hover{background-color:#ebebeb}a.note-dropdown-item,a.note-dropdown-item:hover{color:#000;margin:5px 0;text-decoration:none}.note-modal{bottom:0;display:none;-ms-filter:progid:DXImageTransform.Microsoft.Alpha(opacity=100);filter:alpha(opacity=100);left:0;-webkit-opacity:1;-khtml-opacity:1;-moz-opacity:1;opacity:1;position:fixed;right:0;top:0;z-index:1050}.note-modal.open{display:block}.note-modal-content{background:#fff;background-clip:border-box;border:1px solid rgba(0,0,0,.2);border-radius:5px;box-shadow:0 3px 9px rgba(0,0,0,.5);margin:30px 20px;outline:0;position:relative;width:auto}.note-modal-header{border:1px solid #ededef;padding:10px 20px}.note-modal-body{padding:20px 30px;position:relative}.note-modal-body kbd{background-color:#000;border-radius:2px;-ms-box-sizing:border-box;box-sizing:border-box;color:#fff;font-weight:700;padding:3px 5px}.note-modal-footer{height:40px;padding:10px;text-align:center}.note-modal-footer a{color:#337ab7;text-decoration:none}.note-modal-footer a:focus,.note-modal-footer a:hover{color:#23527c;text-decoration:underline}.note-modal-footer .note-btn{float:right}.note-modal-title{color:#42515f;font-size:20px;line-height:1.4;margin:0}.note-modal-backdrop{background:#000;bottom:0;display:none;-ms-filter:progid:DXImageTransform.Microsoft.Alpha(opacity=50);filter:alpha(opacity=50);left:0;-webkit-opacity:.5;-khtml-opacity:.5;-moz-opacity:.5;opacity:.5;position:fixed;right:0;top:0;z-index:1040}.note-modal-backdrop.open{display:block}@media (min-width:768px){.note-modal-content{margin:30px auto;width:600px}}@media (min-width:992px){.note-modal-content-large{width:900px}}.note-modal .note-help-block{color:#737373;display:block;margin-bottom:10px;margin-top:5px}.note-modal .note-nav{display:flex;flex-wrap:wrap;list-style:none;margin-bottom:0;padding-left:0}.note-modal .note-nav-link{-webkit-text-decoration-skip:objects;background-color:transparent;color:#007bff;display:block;padding:.5rem 1rem;text-decoration:none}.note-modal .note-nav-link:focus,.note-modal .note-nav-link:hover{color:#0056b3;text-decoration:none}.note-modal .note-nav-link.disabled{color:#868e96}.note-modal .note-nav-tabs{border-bottom:1px solid #ddd}.note-modal .note-nav-tabs .note-nav-item{margin-bottom:-1px}.note-modal .note-nav-tabs .note-nav-link{border:1px solid transparent;border-top-left-radius:.25rem;border-top-right-radius:.25rem}.note-modal .note-nav-tabs .note-nav-link:focus,.note-modal .note-nav-tabs .note-nav-link:hover{border-color:#e9ecef #e9ecef #ddd}.note-modal .note-nav-tabs .note-nav-link.disabled{background-color:transparent;border-color:transparent;color:#868e96}.note-modal .note-nav-tabs .note-nav-item.show .note-nav-link{background-color:#fff;border-color:#ddd #ddd #fff;color:#495057}.note-modal .note-tab-content{margin:15px auto}.note-modal .note-tab-content>.note-tab-pane,.note-modal .note-tab-content>.note-tab-pane:target~.note-tab-pane:last-child{display:none}.note-modal .note-tab-content>.note-tab-pane:target,.note-modal .note-tab-content>:last-child{display:block}.note-form-group{padding-bottom:20px}.note-form-group:last-child{padding-bottom:0}.note-form-label{color:#42515f;display:block;font-size:16px;font-weight:700;margin-bottom:10px;width:100%}.note-input{background:#fff;border:1px solid #ededef;-ms-box-sizing:border-box;box-sizing:border-box;display:block;font-size:14px;outline:0;padding:6px 4px;width:100%}.note-input::-webkit-input-placeholder{color:#eee}.note-input:-moz-placeholder,.note-input::-moz-placeholder{color:#eee}.note-input:-ms-input-placeholder{color:#eee}.note-tooltip{display:block;-ms-filter:progid:DXImageTransform.Microsoft.Alpha(opacity=0);filter:alpha(opacity=0);font-size:13px;-webkit-opacity:0;-khtml-opacity:0;-moz-opacity:0;opacity:0;position:absolute;transition:opacity .15s;z-index:1070}.note-tooltip.in{-ms-filter:progid:DXImageTransform.Microsoft.Alpha(opacity=90);filter:alpha(opacity=90);-webkit-opacity:.9;-khtml-opacity:.9;-moz-opacity:.9;opacity:.9}.note-tooltip.top{margin-top:-3px;padding:5px 0}.note-tooltip.right{margin-left:3px;padding:0 5px}.note-tooltip.bottom{margin-top:3px;padding:5px 0}.note-tooltip.left{margin-left:-3px;padding:0 5px}.note-tooltip.bottom .note-tooltip-arrow{border-bottom-color:#000;border-width:0 5px 5px;left:50%;margin-left:-5px;top:0}.note-tooltip.top .note-tooltip-arrow{border-top-color:#000;border-width:5px 5px 0;bottom:0;left:50%;margin-left:-5px}.note-tooltip.right .note-tooltip-arrow{border-right-color:#000;border-width:5px 5px 5px 0;left:0;margin-top:-5px;top:50%}.note-tooltip.left .note-tooltip-arrow{border-left-color:#000;border-width:5px 0 5px 5px;margin-top:-5px;right:0;top:50%}.note-tooltip-arrow{border-color:transparent;border-style:solid;height:0;position:absolute;width:0}.note-tooltip-content{background-color:#000;color:#fff;font-family:sans-serif;max-width:200px;padding:3px 8px;text-align:center}.note-popover{background:#fff;border:1px solid #ccc;display:block;display:none;font-family:sans-serif;font-size:13px;position:absolute;z-index:1060}.note-popover.in{display:block}.note-popover.top{margin-top:-10px;padding:5px 0}.note-popover.right{margin-left:10px;padding:0 5px}.note-popover.bottom{margin-top:10px;padding:5px 0}.note-popover.left{margin-left:-10px;padding:0 5px}.note-popover.bottom .note-popover-arrow{border-bottom-color:#999;border-bottom-color:rgba(0,0,0,.25);border-top-width:0;left:20px;margin-left:-10px;top:-11px}.note-popover.bottom .note-popover-arrow:after{border-bottom-color:#fff;border-top-width:0;content:"\0020";margin-left:-10px;top:1px}.note-popover.top .note-popover-arrow{border-bottom-width:0;border-top-color:#999;border-top-color:rgba(0,0,0,.25);bottom:-11px;left:20px;margin-left:-10px}.note-popover.top .note-popover-arrow:after{border-bottom-width:0;border-top-color:#fff;bottom:1px;content:"\0020";margin-left:-10px}.note-popover.right .note-popover-arrow{border-left-width:0;border-right-color:#999;border-right-color:rgba(0,0,0,.25);left:-11px;margin-top:-10px;top:50%}.note-popover.right .note-popover-arrow:after{border-left-width:0;border-right-color:#fff;content:"\0020";left:1px;margin-top:-10px}.note-popover.left .note-popover-arrow{border-left-color:#999;border-left-color:rgba(0,0,0,.25);border-right-width:0;margin-top:-10px;right:-11px;top:50%}.note-popover.left .note-popover-arrow:after{border-left-color:#fff;border-right-width:0;content:"\0020";margin-top:-10px;right:1px}.note-popover-arrow{border:11px solid transparent;height:0;position:absolute;width:0}.note-popover-arrow:after{border:10px solid transparent;content:"\0020";display:block;height:0;position:absolute;width:0}.note-popover-content{background-color:#fff;color:#000;min-height:30px;min-width:100px;padding:3px 8px;text-align:center}.note-editor{position:relative}.note-editor .note-dropzone{background-color:#fff;color:#87cefa;display:none;opacity:.95;position:absolute;z-index:100}.note-editor .note-dropzone .note-dropzone-message{display:table-cell;font-size:28px;font-weight:700;text-align:center;vertical-align:middle}.note-editor .note-dropzone.hover{color:#098ddf}.note-editor.dragover .note-dropzone{display:table}.note-editor .note-editing-area{position:relative}.note-editor .note-editing-area .note-editable{outline:none}.note-editor .note-editing-area .note-editable sup{vertical-align:super}.note-editor .note-editing-area .note-editable sub{vertical-align:sub}.note-editor .note-editing-area .note-editable img.note-float-left{margin-right:10px}.note-editor .note-editing-area .note-editable img.note-float-right{margin-left:10px}.note-editor.note-airframe,.note-editor.note-frame{border:1px solid #00000032}.note-editor.note-airframe.codeview .note-editing-area .note-editable,.note-editor.note-frame.codeview .note-editing-area .note-editable{display:none}.note-editor.note-airframe.codeview .note-editing-area .note-codable,.note-editor.note-frame.codeview .note-editing-area .note-codable{display:block}.note-editor.note-airframe .note-editing-area,.note-editor.note-frame .note-editing-area{overflow:hidden}.note-editor.note-airframe .note-editing-area .note-editable,.note-editor.note-frame .note-editing-area .note-editable{word-wrap:break-word;overflow:auto;padding:10px}.note-editor.note-airframe .note-editing-area .note-editable[contenteditable=false],.note-editor.note-frame .note-editing-area .note-editable[contenteditable=false]{background-color:#8080801d}.note-editor.note-airframe .note-editing-area .note-codable,.note-editor.note-frame .note-editing-area .note-codable{background-color:#222;border:none;border-radius:0;box-shadow:none;-ms-box-sizing:border-box;box-sizing:border-box;color:#ccc;display:none;font-family:Menlo,Monaco,monospace,sans-serif;font-size:14px;margin-bottom:0;outline:none;padding:10px;resize:none;width:100%}.note-editor.note-airframe.fullscreen,.note-editor.note-frame.fullscreen{left:0;position:fixed;top:0;width:100%!important;z-index:1050}.note-editor.note-airframe.fullscreen .note-resizebar,.note-editor.note-frame.fullscreen .note-resizebar{display:none}.note-editor.note-airframe .note-status-output,.note-editor.note-frame .note-status-output{border:0;border-top:1px solid #e2e2e2;color:#000;display:block;font-size:14px;height:20px;line-height:1.42857143;margin-bottom:0;width:100%}.note-editor.note-airframe .note-status-output:empty,.note-editor.note-frame .note-status-output:empty{border-top:0 solid transparent;height:0}.note-editor.note-airframe .note-status-output .pull-right,.note-editor.note-frame .note-status-output .pull-right{float:right!important}.note-editor.note-airframe .note-status-output .text-muted,.note-editor.note-frame .note-status-output .text-muted{color:#777}.note-editor.note-airframe .note-status-output .text-primary,.note-editor.note-frame .note-status-output .text-primary{color:#286090}.note-editor.note-airframe .note-status-output .text-success,.note-editor.note-frame .note-status-output .text-success{color:#3c763d}.note-editor.note-airframe .note-status-output .text-info,.note-editor.note-frame .note-status-output .text-info{color:#31708f}.note-editor.note-airframe .note-status-output .text-warning,.note-editor.note-frame .note-status-output .text-warning{color:#8a6d3b}.note-editor.note-airframe .note-status-output .text-danger,.note-editor.note-frame .note-status-output .text-danger{color:#a94442}.note-editor.note-airframe .note-status-output .alert,.note-editor.note-frame .note-status-output .alert{background-color:#f5f5f5;border-radius:0;color:#000;margin:-7px 0 0;padding:7px 10px 2px}.note-editor.note-airframe .note-status-output .alert .note-icon,.note-editor.note-frame .note-status-output .alert .note-icon{margin-right:5px}.note-editor.note-airframe .note-status-output .alert-success,.note-editor.note-frame .note-status-output .alert-success{background-color:#dff0d8!important;color:#3c763d!important}.note-editor.note-airframe .note-status-output .alert-info,.note-editor.note-frame .note-status-output .alert-info{background-color:#d9edf7!important;color:#31708f!important}.note-editor.note-airframe .note-status-output .alert-warning,.note-editor.note-frame .note-status-output .alert-warning{background-color:#fcf8e3!important;color:#8a6d3b!important}.note-editor.note-airframe .note-status-output .alert-danger,.note-editor.note-frame .note-status-output .alert-danger{background-color:#f2dede!important;color:#a94442!important}.note-editor.note-airframe .note-statusbar,.note-editor.note-frame .note-statusbar{background-color:#8080801d;border-bottom-left-radius:4px;border-bottom-right-radius:4px;border-top:1px solid #00000032}.note-editor.note-airframe .note-statusbar .note-resizebar,.note-editor.note-frame .note-statusbar .note-resizebar{cursor:ns-resize;height:9px;padding-top:1px;width:100%}.note-editor.note-airframe .note-statusbar .note-resizebar .note-icon-bar,.note-editor.note-frame .note-statusbar .note-resizebar .note-icon-bar{border-top:1px solid #00000032;margin:1px auto;width:20px}.note-editor.note-airframe .note-statusbar.locked .note-resizebar,.note-editor.note-frame .note-statusbar.locked .note-resizebar{cursor:default}.note-editor.note-airframe .note-statusbar.locked .note-resizebar .note-icon-bar,.note-editor.note-frame .note-statusbar.locked .note-resizebar .note-icon-bar{display:none}.note-editor.note-airframe .note-placeholder,.note-editor.note-frame .note-placeholder{padding:10px}.note-editor.note-airframe{border:0}.note-editor.note-airframe .note-editing-area .note-editable{padding:0}.note-popover.popover{display:none;max-width:none}.note-popover.popover .popover-content a{display:inline-block;max-width:200px;overflow:hidden;text-overflow:ellipsis;vertical-align:middle;white-space:nowrap}.note-popover.popover .arrow{left:20px!important}.note-toolbar{position:relative}.note-editor .note-toolbar,.note-popover .popover-content{margin:0;padding:0 0 5px 5px}.note-editor .note-toolbar>.note-btn-group,.note-popover .popover-content>.note-btn-group{margin-left:0;margin-right:5px;margin-top:5px}.note-editor .note-toolbar .note-btn-group .note-table,.note-popover .popover-content .note-btn-group .note-table{min-width:0;padding:5px}.note-editor .note-toolbar .note-btn-group .note-table .note-dimension-picker,.note-popover .popover-content .note-btn-group .note-table .note-dimension-picker{font-size:18px}.note-editor .note-toolbar .note-btn-group .note-table .note-dimension-picker .note-dimension-picker-mousecatcher,.note-popover .popover-content .note-btn-group .note-table .note-dimension-picker .note-dimension-picker-mousecatcher{cursor:pointer;height:10em;position:absolute!important;width:10em;z-index:3}.note-editor .note-toolbar .note-btn-group .note-table .note-dimension-picker .note-dimension-picker-unhighlighted,.note-popover .popover-content .note-btn-group .note-table .note-dimension-picker .note-dimension-picker-unhighlighted{background:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABIAAAASAgMAAAAroGbEAAAACVBMVEUAAIj4+Pjp6ekKlAqjAAAAAXRSTlMAQObYZgAAAAFiS0dEAIgFHUgAAAAJcEhZcwAACxMAAAsTAQCanBgAAAAHdElNRQfYAR0BKhmnaJzPAAAAG0lEQVQI12NgAAOtVatWMTCohoaGUY+EmIkEAEruEzK2J7tvAAAAAElFTkSuQmCC") repeat;height:5em;position:relative!important;width:5em;z-index:1}.note-editor .note-toolbar .note-btn-group .note-table .note-dimension-picker .note-dimension-picker-highlighted,.note-popover .popover-content .note-btn-group .note-table .note-dimension-picker .note-dimension-picker-highlighted{background:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABIAAAASAgMAAAAroGbEAAAACVBMVEUAAIjd6vvD2f9LKLW+AAAAAXRSTlMAQObYZgAAAAFiS0dEAIgFHUgAAAAJcEhZcwAACxMAAAsTAQCanBgAAAAHdElNRQfYAR0BKwNDEVT0AAAAG0lEQVQI12NgAAOtVatWMTCohoaGUY+EmIkEAEruEzK2J7tvAAAAAElFTkSuQmCC") repeat;height:1em;position:absolute!important;width:1em;z-index:2}.note-editor .note-toolbar .note-style .dropdown-style blockquote,.note-editor .note-toolbar .note-style .dropdown-style pre,.note-popover .popover-content .note-style .dropdown-style blockquote,.note-popover .popover-content .note-style .dropdown-style pre{margin:0;padding:5px 10px}.note-editor .note-toolbar .note-style .dropdown-style h1,.note-editor .note-toolbar .note-style .dropdown-style h2,.note-editor .note-toolbar .note-style .dropdown-style h3,.note-editor .note-toolbar .note-style .dropdown-style h4,.note-editor .note-toolbar .note-style .dropdown-style h5,.note-editor .note-toolbar .note-style .dropdown-style h6,.note-editor .note-toolbar .note-style .dropdown-style p,.note-popover .popover-content .note-style .dropdown-style h1,.note-popover .popover-content .note-style .dropdown-style h2,.note-popover .popover-content .note-style .dropdown-style h3,.note-popover .popover-content .note-style .dropdown-style h4,.note-popover .popover-content .note-style .dropdown-style h5,.note-popover .popover-content .note-style .dropdown-style h6,.note-popover .popover-content .note-style .dropdown-style p{margin:0;padding:0}.note-editor .note-toolbar .note-color-all .note-dropdown-menu,.note-popover .popover-content .note-color-all .note-dropdown-menu{min-width:337px}.note-editor .note-toolbar .note-color .dropdown-toggle,.note-popover .popover-content .note-color .dropdown-toggle{padding-left:5px;width:20px}.note-editor .note-toolbar .note-color .note-dropdown-menu .note-palette,.note-popover .popover-content .note-color .note-dropdown-menu .note-palette{display:inline-block;margin:0;width:160px}.note-editor .note-toolbar .note-color .note-dropdown-menu .note-palette:first-child,.note-popover .popover-content .note-color .note-dropdown-menu .note-palette:first-child{margin:0 5px}.note-editor .note-toolbar .note-color .note-dropdown-menu .note-palette .note-palette-title,.note-popover .popover-content .note-color .note-dropdown-menu .note-palette .note-palette-title{border-bottom:1px solid #eee;font-size:12px;margin:2px 7px;text-align:center}.note-editor .note-toolbar .note-color .note-dropdown-menu .note-palette .note-color-reset,.note-editor .note-toolbar .note-color .note-dropdown-menu .note-palette .note-color-select,.note-popover .popover-content .note-color .note-dropdown-menu .note-palette .note-color-reset,.note-popover .popover-content .note-color .note-dropdown-menu .note-palette .note-color-select{border-radius:5px;cursor:pointer;font-size:11px;margin:3px;padding:0 3px;width:100%}.note-editor .note-toolbar .note-color .note-dropdown-menu .note-palette .note-color-reset:hover,.note-editor .note-toolbar .note-color .note-dropdown-menu .note-palette .note-color-select:hover,.note-popover .popover-content .note-color .note-dropdown-menu .note-palette .note-color-reset:hover,.note-popover .popover-content .note-color .note-dropdown-menu .note-palette .note-color-select:hover{background:#eee}.note-editor .note-toolbar .note-color .note-dropdown-menu .note-palette .note-color-row,.note-popover .popover-content .note-color .note-dropdown-menu .note-palette .note-color-row{height:20px}.note-editor .note-toolbar .note-color .note-dropdown-menu .note-palette .note-color-select-btn,.note-popover .popover-content .note-color .note-dropdown-menu .note-palette .note-color-select-btn{display:none}.note-editor .note-toolbar .note-color .note-dropdown-menu .note-palette .note-holder-custom .note-color-btn,.note-popover .popover-content .note-color .note-dropdown-menu .note-palette .note-holder-custom .note-color-btn{border:1px solid #eee}.note-editor .note-toolbar .note-para .note-dropdown-menu,.note-popover .popover-content .note-para .note-dropdown-menu{min-width:228px;padding:5px}.note-editor .note-toolbar .note-para .note-dropdown-menu>div+div,.note-popover .popover-content .note-para .note-dropdown-menu>div+div{margin-left:5px}.note-editor .note-toolbar .note-dropdown-menu,.note-popover .popover-content .note-dropdown-menu{min-width:160px}.note-editor .note-toolbar .note-dropdown-menu.right,.note-popover .popover-content .note-dropdown-menu.right{left:auto;right:0}.note-editor .note-toolbar .note-dropdown-menu.right:before,.note-popover .popover-content .note-dropdown-menu.right:before{left:auto!important;right:9px}.note-editor .note-toolbar .note-dropdown-menu.right:after,.note-popover .popover-content .note-dropdown-menu.right:after{left:auto!important;right:10px}.note-editor .note-toolbar .note-dropdown-menu.note-check a i,.note-popover .popover-content .note-dropdown-menu.note-check a i{color:#00bfff;visibility:hidden}.note-editor .note-toolbar .note-dropdown-menu.note-check a.checked i,.note-popover .popover-content .note-dropdown-menu.note-check a.checked i{visibility:visible}.note-editor .note-toolbar .note-fontsize-10,.note-popover .popover-content .note-fontsize-10{font-size:10px}.note-editor .note-toolbar .note-color-palette,.note-popover .popover-content .note-color-palette{line-height:1}.note-editor .note-toolbar .note-color-palette div .note-color-btn,.note-popover .popover-content .note-color-palette div .note-color-btn{border:0;border-radius:0;height:20px;margin:0;padding:0;width:20px}.note-editor .note-toolbar .note-color-palette div .note-color-btn:hover,.note-popover .popover-content .note-color-palette div .note-color-btn:hover{transform:scale(1.2);transition:all .2s}.note-modal .modal-dialog{border-radius:5px;box-shadow:0 3px 9px rgba(0,0,0,.5);outline:0}.note-modal .form-group{margin-left:0;margin-right:0}.note-modal .note-modal-form{margin:0}.note-modal .note-image-dialog .note-dropzone{border:4px dashed #d3d3d3;color:#d3d3d3;font-size:30px;line-height:4;margin-bottom:10px;min-height:100px;text-align:center}.note-placeholder{color:gray;display:none;position:absolute}.note-handle .note-control-selection{border:1px solid #000;display:none;position:absolute}.note-handle .note-control-selection>div{position:absolute}.note-handle .note-control-selection .note-control-selection-bg{background-color:#000;-ms-filter:progid:DXImageTransform.Microsoft.Alpha(opacity=30);filter:alpha(opacity=30);height:100%;-webkit-opacity:.3;-khtml-opacity:.3;-moz-opacity:.3;opacity:.3;width:100%}.note-handle .note-control-selection .note-control-handle,.note-handle .note-control-selection .note-control-holder,.note-handle .note-control-selection .note-control-sizing{border:1px solid #000;height:7px;width:7px}.note-handle .note-control-selection .note-control-sizing{background-color:#000}.note-handle .note-control-selection .note-control-nw{border-bottom:none;border-right:none;left:-5px;top:-5px}.note-handle .note-control-selection .note-control-ne{border-bottom:none;border-left:none;right:-5px;top:-5px}.note-handle .note-control-selection .note-control-sw{border-right:none;border-top:none;bottom:-5px;left:-5px}.note-handle .note-control-selection .note-control-se{bottom:-5px;cursor:se-resize;right:-5px}.note-handle .note-control-selection .note-control-se.note-control-holder{border-left:none;border-top:none;cursor:default}.note-handle .note-control-selection .note-control-selection-info{background-color:#000;border-radius:5px;bottom:0;color:#fff;-ms-filter:progid:DXImageTransform.Microsoft.Alpha(opacity=70);filter:alpha(opacity=70);font-size:12px;margin:5px;-webkit-opacity:.7;-khtml-opacity:.7;-moz-opacity:.7;opacity:.7;padding:5px;right:0}.note-hint-popover{min-width:100px;padding:2px}.note-hint-popover .popover-content{max-height:150px;overflow:auto;padding:3px}.note-hint-popover .popover-content .note-hint-group .note-hint-item{display:block!important;padding:3px}.note-hint-popover .popover-content .note-hint-group .note-hint-item.active,.note-hint-popover .popover-content .note-hint-group .note-hint-item:hover{background-color:#428bca;clear:both;color:#fff;cursor:pointer;display:block;font-weight:400;line-height:1.4;outline:0;text-decoration:none;white-space:nowrap}body .note-fullscreen-body,html .note-fullscreen-body{overflow:hidden!important}.note-editor .note-editing-area .note-editable table{border-collapse:collapse;width:100%}.note-editor .note-editing-area .note-editable table td,.note-editor .note-editing-area .note-editable table th{border:1px solid #ececec;padding:5px 3px}.note-editor .note-editing-area .note-editable a{background-color:inherit;color:#337ab7;font-family:inherit;font-weight:inherit;text-decoration:inherit}.note-editor .note-editing-area .note-editable a:focus,.note-editor .note-editing-area .note-editable a:hover{color:#23527c;outline:0;text-decoration:underline}.note-editor .note-editing-area .note-editable figure{margin:0}.note-modal .note-modal-body label{display:inline-block;margin-bottom:2px;padding:2px 5px}.note-modal .note-modal-body .help-list-item:hover{background-color:#e0e0e0}@-moz-document url-prefix(){.note-modal .note-image-input{height:auto}}.help-list-item label{display:inline-block;margin-bottom:5px}
@charset "UTF-8";@media print,screen and (min-width:40em){.reveal,.reveal.large,.reveal.small,.reveal.tiny{left:auto;margin:0 auto;right:auto}}
/*! normalize.css v8.0.0 | MIT License | github.com/necolas/normalize.css */body{color:#0a0a0a;font-family:Helvetica Neue,Helvetica,Roboto,Arial,sans-serif}button,textarea{border-radius:0}[type=color],[type=date],[type=datetime-local],[type=datetime],[type=email],[type=month],[type=number],[type=password],[type=search],[type=tel],[type=text],[type=time],[type=url],[type=week],textarea{border:1px solid #cacaca;border-radius:0;box-shadow:inset 0 1px 2px hsla(0,0%,4%,.1);color:#0a0a0a}[type=color]:focus,[type=date]:focus,[type=datetime-local]:focus,[type=datetime]:focus,[type=email]:focus,[type=month]:focus,[type=number]:focus,[type=password]:focus,[type=search]:focus,[type=tel]:focus,[type=text]:focus,[type=time]:focus,[type=url]:focus,[type=week]:focus,textarea:focus{border:1px solid #8a8a8a;box-shadow:0 0 5px #cacaca}[type=button],[type=submit]{border-radius:0}::-moz-placeholder{color:#cacaca}:-ms-input-placeholder{color:#cacaca}::placeholder{color:#cacaca}label{color:#0a0a0a}label.middle{padding:.5625rem 0}.help-text{color:#0a0a0a}.input-group>:first-child,.input-group>:first-child.input-group-button>*,.input-group>:last-child,.input-group>:last-child.input-group-button>*{border-radius:0 0 0 0}.input-group-label{color:#0a0a0a}.fieldset,.input-group-label,select{border:1px solid #cacaca}select{background-image:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" version="1.1" width="32" height="24" viewBox="0 0 32 24"><polygon points="0,0 32,0 16,24" style="fill: rgb%28138, 138, 138%29"></polygon></svg>');border-radius:0;color:#0a0a0a}select:focus{border:1px solid #8a8a8a;box-shadow:0 0 5px #cacaca}.form-error,b,strong{font-weight:700}.h1,.h2,.h3,.h4,.h5,.h6,h1,h2,h3,h4,h5,h6{font-family:Helvetica Neue,Helvetica,Roboto,Arial,sans-serif;font-weight:400}.h1 small,.h2 small,.h3 small,.h4 small,.h5 small,.h6 small,h1 small,h2 small,h3 small,h4 small,h5 small,h6 small{color:#cacaca}.h3,h3{font-size:1.1875rem}.h4,h4{font-size:1.125rem}.h5,h5{font-size:1.0625rem}@media print,screen and (min-width:40em){.h1,h1{font-size:3rem}.h2,h2{font-size:2.5rem}.h3,h3{font-size:1.9375rem}.h4,h4{font-size:1.5625rem}.h5,h5{font-size:1.25rem}.h6,h6{font-size:1rem}}a{color:#1779ba}a:focus,a:hover{color:#1468a0}hr{border-bottom:1px solid #cacaca}dl dt{font-weight:700}blockquote{border-left:1px solid #cacaca}blockquote,blockquote p{color:#8a8a8a}abbr,abbr[title]{border-bottom:1px dotted #0a0a0a}kbd{color:#0a0a0a}.cite-block,.subheader,cite{color:#8a8a8a}.code-block,.code-inline,code{border:1px solid #cacaca;color:#0a0a0a}@media print{*{-webkit-print-color-adjust:economy;background:transparent!important;box-shadow:none!important;color:#000!important;color-adjust:economy;text-shadow:none!important}.show-for-print{display:block!important}.hide-for-print{display:none!important}table.show-for-print{display:table!important}thead.show-for-print{display:table-header-group!important}tbody.show-for-print{display:table-row-group!important}tr.show-for-print{display:table-row!important}td.show-for-print,th.show-for-print{display:table-cell!important}a,a:visited{text-decoration:underline}a[href]:after{content:" (" attr(href) ")"}.ir a:after,a[href^="#"]:after,a[href^="javascript:"]:after{content:""}abbr[title]:after{content:" (" attr(title) ")"}blockquote,pre{border:1px solid #8a8a8a;page-break-inside:avoid}thead{display:table-header-group}img,tr{page-break-inside:avoid}img{max-width:100%!important}@page{margin:.5cm}h2,h3,p{orphans:3;widows:3}h2,h3{page-break-after:avoid}.print-break-inside{page-break-inside:auto}}.button,.button.disabled,.button.disabled:focus,.button.disabled:hover,.button[disabled],.button[disabled]:focus,.button[disabled]:hover{background-color:#1779ba}.button:focus,.button:hover{background-color:#14679e}.button.primary,.button.primary.disabled,.button.primary.disabled:focus,.button.primary.disabled:hover,.button.primary[disabled],.button.primary[disabled]:focus,.button.primary[disabled]:hover{background-color:#1779ba}.button.primary:focus,.button.primary:hover{background-color:#126195}.button.success,.button.success.disabled,.button.success.disabled:focus,.button.success.disabled:hover,.button.success:focus,.button.success:hover,.button.success[disabled],.button.success[disabled]:focus,.button.success[disabled]:hover{color:#0a0a0a}.button.warning,.button.warning.disabled,.button.warning.disabled:focus,.button.warning.disabled:hover,.button.warning[disabled],.button.warning[disabled]:focus,.button.warning[disabled]:hover{background-color:#ffae00;color:#0a0a0a}.button.warning:focus,.button.warning:hover{background-color:#cc8b00;color:#0a0a0a}.button.hollow,.button.hollow.disabled,.button.hollow.disabled:focus,.button.hollow.disabled:hover,.button.hollow[disabled],.button.hollow[disabled]:focus,.button.hollow[disabled]:hover{border:1px solid #1779ba;color:#1779ba}.button.hollow:focus,.button.hollow:hover{border-color:#0c3d5d;color:#0c3d5d}.button.hollow.primary,.button.hollow.primary.disabled,.button.hollow.primary.disabled:focus,.button.hollow.primary.disabled:hover,.button.hollow.primary[disabled],.button.hollow.primary[disabled]:focus,.button.hollow.primary[disabled]:hover{border:1px solid #1779ba;color:#1779ba}.button.hollow.primary:focus,.button.hollow.primary:hover{border-color:#0c3d5d;color:#0c3d5d}.button.hollow.warning,.button.hollow.warning.disabled,.button.hollow.warning.disabled:focus,.button.hollow.warning.disabled:hover,.button.hollow.warning[disabled],.button.hollow.warning[disabled]:focus,.button.hollow.warning[disabled]:hover{border:1px solid #ffae00;color:#ffae00}.button.hollow.warning:focus,.button.hollow.warning:hover{border-color:#805700;color:#805700}.button.clear,.button.clear.disabled,.button.clear.disabled:focus,.button.clear.disabled:hover,.button.clear[disabled],.button.clear[disabled]:focus,.button.clear[disabled]:hover{color:#1779ba}.button.clear:focus,.button.clear:hover{color:#0c3d5d}.button.clear.primary,.button.clear.primary.disabled,.button.clear.primary.disabled:focus,.button.clear.primary.disabled:hover,.button.clear.primary[disabled],.button.clear.primary[disabled]:focus,.button.clear.primary[disabled]:hover{color:#1779ba}.button.clear.primary:focus,.button.clear.primary:hover{color:#0c3d5d}.button.clear.warning,.button.clear.warning.disabled,.button.clear.warning.disabled:focus,.button.clear.warning.disabled:hover,.button.clear.warning[disabled],.button.clear.warning[disabled]:focus,.button.clear.warning[disabled]:hover{color:#ffae00}.button.clear.warning:focus,.button.clear.warning:hover{color:#805700}.button.dropdown.clear.primary:after,.button.dropdown.clear:after,.button.dropdown.hollow.primary:after,.button.dropdown.hollow:after{border-top-color:#1779ba}.button.dropdown.clear.warning:after,.button.dropdown.hollow.warning:after{border-top-color:#ffae00}.button-group.primary .button,.button-group.primary .button.disabled,.button-group.primary .button.disabled:focus,.button-group.primary .button.disabled:hover,.button-group.primary .button[disabled],.button-group.primary .button[disabled]:focus,.button-group.primary .button[disabled]:hover{background-color:#1779ba}.button-group.primary .button:focus,.button-group.primary .button:hover{background-color:#126195}.button-group.success .button,.button-group.success .button.disabled,.button-group.success .button.disabled:focus,.button-group.success .button.disabled:hover,.button-group.success .button:focus,.button-group.success .button:hover,.button-group.success .button[disabled],.button-group.success .button[disabled]:focus,.button-group.success .button[disabled]:hover{color:#0a0a0a}.button-group.warning .button,.button-group.warning .button.disabled,.button-group.warning .button.disabled:focus,.button-group.warning .button.disabled:hover,.button-group.warning .button[disabled],.button-group.warning .button[disabled]:focus,.button-group.warning .button[disabled]:hover{background-color:#ffae00;color:#0a0a0a}.button-group.warning .button:focus,.button-group.warning .button:hover{background-color:#cc8b00;color:#0a0a0a}.button-group.hollow .button,.button-group.hollow .button.disabled,.button-group.hollow .button.disabled:focus,.button-group.hollow .button.disabled:hover,.button-group.hollow .button[disabled],.button-group.hollow .button[disabled]:focus,.button-group.hollow .button[disabled]:hover{border:1px solid #1779ba;color:#1779ba}.button-group.hollow .button:focus,.button-group.hollow .button:hover{border-color:#0c3d5d;color:#0c3d5d}.button-group.hollow .button.primary,.button-group.hollow .button.primary.disabled,.button-group.hollow .button.primary.disabled:focus,.button-group.hollow .button.primary.disabled:hover,.button-group.hollow .button.primary[disabled],.button-group.hollow .button.primary[disabled]:focus,.button-group.hollow .button.primary[disabled]:hover,.button-group.hollow.primary .button,.button-group.hollow.primary .button.disabled,.button-group.hollow.primary .button.disabled:focus,.button-group.hollow.primary .button.disabled:hover,.button-group.hollow.primary .button[disabled],.button-group.hollow.primary .button[disabled]:focus,.button-group.hollow.primary .button[disabled]:hover{border:1px solid #1779ba;color:#1779ba}.button-group.hollow .button.primary:focus,.button-group.hollow .button.primary:hover,.button-group.hollow.primary .button:focus,.button-group.hollow.primary .button:hover{border-color:#0c3d5d;color:#0c3d5d}.button-group.hollow .button.warning,.button-group.hollow .button.warning.disabled,.button-group.hollow .button.warning.disabled:focus,.button-group.hollow .button.warning.disabled:hover,.button-group.hollow .button.warning[disabled],.button-group.hollow .button.warning[disabled]:focus,.button-group.hollow .button.warning[disabled]:hover,.button-group.hollow.warning .button,.button-group.hollow.warning .button.disabled,.button-group.hollow.warning .button.disabled:focus,.button-group.hollow.warning .button.disabled:hover,.button-group.hollow.warning .button[disabled],.button-group.hollow.warning .button[disabled]:focus,.button-group.hollow.warning .button[disabled]:hover{border:1px solid #ffae00;color:#ffae00}.button-group.hollow .button.warning:focus,.button-group.hollow .button.warning:hover,.button-group.hollow.warning .button:focus,.button-group.hollow.warning .button:hover{border-color:#805700;color:#805700}.button-group.clear .button,.button-group.clear .button.disabled,.button-group.clear .button.disabled:focus,.button-group.clear .button.disabled:hover,.button-group.clear .button[disabled],.button-group.clear .button[disabled]:focus,.button-group.clear .button[disabled]:hover{color:#1779ba}.button-group.clear .button:focus,.button-group.clear .button:hover{color:#0c3d5d}.button-group.clear .button.primary,.button-group.clear .button.primary.disabled,.button-group.clear .button.primary.disabled:focus,.button-group.clear .button.primary.disabled:hover,.button-group.clear .button.primary[disabled],.button-group.clear .button.primary[disabled]:focus,.button-group.clear .button.primary[disabled]:hover,.button-group.clear.primary .button,.button-group.clear.primary .button.disabled,.button-group.clear.primary .button.disabled:focus,.button-group.clear.primary .button.disabled:hover,.button-group.clear.primary .button[disabled],.button-group.clear.primary .button[disabled]:focus,.button-group.clear.primary .button[disabled]:hover{color:#1779ba}.button-group.clear .button.primary:focus,.button-group.clear .button.primary:hover,.button-group.clear.primary .button:focus,.button-group.clear.primary .button:hover{color:#0c3d5d}.button-group.clear .button.warning,.button-group.clear .button.warning.disabled,.button-group.clear .button.warning.disabled:focus,.button-group.clear .button.warning.disabled:hover,.button-group.clear .button.warning[disabled],.button-group.clear .button.warning[disabled]:focus,.button-group.clear .button.warning[disabled]:hover,.button-group.clear.warning .button,.button-group.clear.warning .button.disabled,.button-group.clear.warning .button.disabled:focus,.button-group.clear.warning .button.disabled:hover,.button-group.clear.warning .button[disabled],.button-group.clear.warning .button[disabled]:focus,.button-group.clear.warning .button[disabled]:hover{color:#ffae00}.button-group.clear .button.warning:focus,.button-group.clear .button.warning:hover,.button-group.clear.warning .button:focus,.button-group.clear.warning .button:hover{color:#805700}.close-button{color:#8a8a8a}.close-button:focus,.close-button:hover{color:#0a0a0a}.label{border-radius:0}.label,.label.primary{background:#1779ba}.label.success{color:#0a0a0a}.label.warning{background:#ffae00;color:#0a0a0a}.progress{background-color:#cacaca;border-radius:0}.progress.primary .progress-meter{background-color:#1779ba}.progress.warning .progress-meter{background-color:#ffae00}.progress-meter{background-color:#1779ba}.slider-fill{background-color:#cacaca}.slider-handle{background-color:#1779ba;border-radius:0}.slider-handle:hover{background-color:#14679e}.switch-paddle{background:#cacaca}.switch-paddle,.switch-paddle:after{border-radius:0}input:checked~.switch-paddle{background:#1779ba}table{border-radius:0}caption{font-weight:700}tfoot,thead{color:#0a0a0a}tfoot td,tfoot th,thead td,thead th{font-weight:700}.badge,.badge.primary{background:#1779ba}.badge.success{color:#0a0a0a}.badge.warning{background:#ffae00;color:#0a0a0a}.breadcrumbs li{color:#0a0a0a}.breadcrumbs li:not(:last-child):after{color:#cacaca}.breadcrumbs a{color:#1779ba}.breadcrumbs .disabled{color:#cacaca}.callout{border:1px solid hsla(0,0%,4%,.25);border-radius:0;color:#0a0a0a}.callout.primary{background-color:#d7ecfa;color:#0a0a0a}.callout.secondary,.callout.success{color:#0a0a0a}.callout.warning{background-color:#fff3d9;color:#0a0a0a}.callout.alert,.card{color:#0a0a0a}.card{border-radius:0}.dropdown-pane{border:1px solid #cacaca}.dropdown-pane,.pagination li{border-radius:0}.pagination a,.pagination button{border-radius:0;color:#0a0a0a}.pagination .current{background:#1779ba}.pagination .disabled{color:#cacaca}.pagination .ellipsis:after{color:#0a0a0a}.has-tip{border-bottom:1px dotted #8a8a8a;font-weight:700}.tooltip{background-color:#0a0a0a;border-radius:0}.tooltip.bottom:before{border-color:transparent transparent #0a0a0a}.tooltip.top:before{border-color:#0a0a0a transparent transparent}.tooltip.left:before{border-color:transparent transparent transparent #0a0a0a}.tooltip.right:before{border-color:transparent #0a0a0a transparent transparent}.accordion-item:first-child>:first-child,.accordion-item:last-child>:last-child{border-radius:0 0 0 0}.accordion-title{color:#1779ba}:last-child:not(.is-active)>.accordion-title{border-radius:0 0 0 0}.accordion-content{color:#0a0a0a}.orbit-caption,.orbit-next:active,.orbit-next:focus,.orbit-next:hover,.orbit-previous:active,.orbit-previous:focus,.orbit-previous:hover{background-color:hsla(0,0%,4%,.5)}.orbit-bullets button{background-color:#cacaca}.orbit-bullets button.is-active,.orbit-bullets button:hover{background-color:#8a8a8a}.tabs.primary{background:#1779ba}.tabs.primary>li>a:focus,.tabs.primary>li>a:hover{background:#1673b1}.tabs-title>a{color:#1779ba}.tabs-title>a:hover{color:#1468a0}.tabs-title>a:focus,.tabs-title>a[aria-selected=true]{color:#1779ba}.tabs-content{color:#0a0a0a}.thumbnail{border-radius:0;box-shadow:0 0 0 1px hsla(0,0%,4%,.2)}a.thumbnail:focus,a.thumbnail:hover{box-shadow:0 0 6px 1px rgba(23,121,186,.5)}.menu .active>a,.menu .is-active>a{background:#1779ba}.menu-icon:hover:after{background:#cacaca;box-shadow:0 7px 0 #cacaca,0 14px 0 #cacaca}.menu-icon.dark:after{background:#0a0a0a;box-shadow:0 7px 0 #0a0a0a,0 14px 0 #0a0a0a}.menu-icon.dark:hover:after{background:#8a8a8a;box-shadow:0 7px 0 #8a8a8a,0 14px 0 #8a8a8a}.accordion-menu .is-accordion-submenu-parent:not(.has-submenu-toggle)>a:after,.submenu-toggle:after{border-color:#1779ba transparent transparent}.drilldown .is-drilldown-submenu-parent>a:after,.drilldown.align-left .is-drilldown-submenu-parent>a:after{border-color:transparent transparent transparent #1779ba}.drilldown .js-drilldown-back>a:before,.drilldown.align-right .is-drilldown-submenu-parent>a:after{border-color:transparent #1779ba transparent transparent}.dropdown.menu>li.is-dropdown-submenu-parent>a:after{border-color:#1779ba transparent transparent}.dropdown.menu>li.is-active>a{color:#1779ba}.dropdown.menu.vertical>li.opens-left>a:after{border-color:transparent #1779ba transparent transparent}.dropdown.menu.vertical>li.opens-right>a:after{border-color:transparent transparent transparent #1779ba}@media print,screen and (min-width:40em){.dropdown.menu.medium-horizontal>li.opens-left>.is-dropdown-submenu{left:auto;right:0;top:100%}.dropdown.menu.medium-horizontal>li.opens-right>.is-dropdown-submenu{left:0;right:auto;top:100%}.dropdown.menu.medium-horizontal>li.is-dropdown-submenu-parent>a{padding-right:1.5rem;position:relative}.dropdown.menu.medium-horizontal>li.is-dropdown-submenu-parent>a:after{border-color:#1779ba transparent transparent;border-style:solid;border-width:6px 6px 0;content:"";display:block;height:0;left:auto;margin-top:-3px;right:5px;width:0}.dropdown.menu.medium-vertical>li .is-dropdown-submenu{top:0}.dropdown.menu.medium-vertical>li.opens-left>.is-dropdown-submenu{left:auto;right:100%;top:0}.dropdown.menu.medium-vertical>li.opens-right>.is-dropdown-submenu{left:100%;right:auto}.dropdown.menu.medium-vertical>li>a:after{right:14px}.dropdown.menu.medium-vertical>li.opens-left>a:after{border-color:transparent #1779ba transparent transparent;border-style:solid;border-width:6px 6px 6px 0;content:"";display:block;height:0;left:5px;right:auto;width:0}.dropdown.menu.medium-vertical>li.opens-right>a:after{border-color:transparent transparent transparent #1779ba;border-style:solid;border-width:6px 0 6px 6px;content:"";display:block;height:0;width:0}}@media print,screen and (min-width:64em){.dropdown.menu.large-horizontal>li.opens-left>.is-dropdown-submenu{left:auto;right:0;top:100%}.dropdown.menu.large-horizontal>li.opens-right>.is-dropdown-submenu{left:0;right:auto;top:100%}.dropdown.menu.large-horizontal>li.is-dropdown-submenu-parent>a{padding-right:1.5rem;position:relative}.dropdown.menu.large-horizontal>li.is-dropdown-submenu-parent>a:after{border-color:#1779ba transparent transparent;border-style:solid;border-width:6px 6px 0;content:"";display:block;height:0;left:auto;margin-top:-3px;right:5px;width:0}.dropdown.menu.large-vertical>li .is-dropdown-submenu{top:0}.dropdown.menu.large-vertical>li.opens-left>.is-dropdown-submenu{left:auto;right:100%;top:0}.dropdown.menu.large-vertical>li.opens-right>.is-dropdown-submenu{left:100%;right:auto}.dropdown.menu.large-vertical>li>a:after{right:14px}.dropdown.menu.large-vertical>li.opens-left>a:after{border-color:transparent #1779ba transparent transparent;border-style:solid;border-width:6px 6px 6px 0;content:"";display:block;height:0;left:5px;right:auto;width:0}.dropdown.menu.large-vertical>li.opens-right>a:after{border-color:transparent transparent transparent #1779ba;border-style:solid;border-width:6px 0 6px 6px;content:"";display:block;height:0;width:0}}.is-dropdown-submenu{border:1px solid #cacaca}.is-dropdown-submenu .is-dropdown-submenu-parent.opens-left>a:after{border-color:transparent #1779ba transparent transparent}.is-dropdown-submenu .is-dropdown-submenu-parent.opens-right>a:after{border-color:transparent transparent transparent #1779ba}.off-canvas-absolute.is-transition-overlap.is-open,.off-canvas.is-transition-overlap.is-open{box-shadow:0 0 10px hsla(0,0%,4%,.7)}.position-left.is-transition-push{box-shadow:inset -13px 0 20px -13px hsla(0,0%,4%,.25)}.position-right.is-transition-push{box-shadow:inset 13px 0 20px -13px hsla(0,0%,4%,.25)}.position-top.is-transition-push{box-shadow:inset 0 -13px 20px -13px hsla(0,0%,4%,.25)}.position-bottom.is-transition-push{box-shadow:inset 0 13px 20px -13px hsla(0,0%,4%,.25)}.reveal-overlay{background-color:hsla(0,0%,4%,.45)}.reveal{border:1px solid #cacaca;border-radius:0}.title-bar{background:#0a0a0a}

/*! normalize.css v8.0.0 | MIT License | github.com/necolas/normalize.css */html{-webkit-text-size-adjust:100%;line-height:1.15}h1{font-size:2em;margin:.67em 0}hr{box-sizing:content-box;overflow:visible}pre{font-family:monospace,monospace;font-size:1em}a{background-color:transparent}abbr[title]{border-bottom:0;-webkit-text-decoration:underline dotted;text-decoration:underline dotted}b,strong{font-weight:bolder}code,kbd,samp{font-family:monospace,monospace;font-size:1em}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}img{border-style:none}button,input,optgroup,select,textarea{font-size:100%;line-height:1.15;margin:0}button,input{overflow:visible}button,select{text-transform:none}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button}[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner,button::-moz-focus-inner{border-style:none;padding:0}[type=button]:-moz-focusring,[type=reset]:-moz-focusring,[type=submit]:-moz-focusring,button:-moz-focusring{outline:1px dotted ButtonText}fieldset{padding:.35em .75em .625em}legend{box-sizing:border-box;color:inherit;display:table;padding:0;white-space:normal}progress{vertical-align:baseline}textarea{overflow:auto}[type=checkbox],[type=radio]{box-sizing:border-box;padding:0}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}details{display:block}summary{display:list-item}[hidden],template{display:none}[data-whatinput=mouse] *,[data-whatinput=mouse] :focus,[data-whatinput=touch] *,[data-whatinput=touch] :focus,[data-whatintent=mouse] *,[data-whatintent=mouse] :focus,[data-whatintent=touch] *,[data-whatintent=touch] :focus{outline:none}[draggable=false]{-webkit-touch-callout:none;-webkit-user-select:none}.foundation-mq{font-family:"small=0em&medium=40em&large=64em&xlarge=75em&xxlarge=90em"}html{box-sizing:border-box;font-size:100%}*,:after,:before{box-sizing:inherit}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#fefefe;color:#4d4d4d;font-family:Open Sans,Roboto,Arial,sans-serif;font-weight:400;line-height:1.5;margin:0;padding:0}img{-ms-interpolation-mode:bicubic;display:inline-block;height:auto;max-width:100%;vertical-align:middle}textarea{border-radius:5px;height:auto;min-height:50px}select{box-sizing:border-box;width:100%}.map_canvas embed,.map_canvas img,.map_canvas object,.mqa-display embed,.mqa-display img,.mqa-display object{max-width:none!important}button{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:transparent;border:0;border-radius:5px;cursor:auto;line-height:1;padding:0}[data-whatinput=mouse] button{outline:0}pre{-webkit-overflow-scrolling:touch;overflow:auto}button,input,optgroup,select,textarea{font-family:inherit}.is-visible{display:block!important}.is-hidden{display:none!important}[type=color],[type=date],[type=datetime-local],[type=datetime],[type=email],[type=month],[type=number],[type=password],[type=search],[type=tel],[type=text],[type=time],[type=url],[type=week],textarea{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:#fefefe;border:0 solid #666;border-radius:5px;box-shadow:inset 1px 1px 3px rgba(77,77,77,.5);box-sizing:border-box;color:#4d4d4d;display:block;font-family:inherit;font-size:1rem;font-weight:400;height:2.4375rem;line-height:1.5;margin:0 0 1rem;padding:.5rem;transition:box-shadow .5s,border-color .25s ease-in-out;width:100%}[type=color]:focus,[type=date]:focus,[type=datetime-local]:focus,[type=datetime]:focus,[type=email]:focus,[type=month]:focus,[type=number]:focus,[type=password]:focus,[type=search]:focus,[type=tel]:focus,[type=text]:focus,[type=time]:focus,[type=url]:focus,[type=week]:focus,textarea:focus{background-color:#fefefe;border:1px solid #fde4e2;box-shadow:0 0 5px #aaa;outline:none;transition:box-shadow .5s,border-color .25s ease-in-out}textarea{max-width:100%}textarea[rows]{height:auto}input:disabled,input[readonly],textarea:disabled,textarea[readonly]{background-color:#e6e6e6;cursor:not-allowed}[type=button],[type=submit]{-webkit-appearance:none;-moz-appearance:none;appearance:none;border-radius:5px}input[type=search]{box-sizing:border-box}::-moz-placeholder{color:#aaa}:-ms-input-placeholder{color:#aaa}::placeholder{color:#aaa}[type=checkbox],[type=file],[type=radio]{margin:0 0 1rem}[type=checkbox]+label,[type=radio]+label{display:inline-block;margin-bottom:0;margin-left:.5rem;margin-right:1rem;vertical-align:baseline}[type=checkbox]+label[for],[type=radio]+label[for]{cursor:pointer}label>[type=checkbox],label>[type=radio]{margin-right:.5rem}[type=file]{width:100%}label{color:#4d4d4d;display:block;font-size:.875rem;font-weight:400;line-height:1.8;margin:0}label.middle{line-height:1.5;margin:0 0 1rem;padding:.5rem 0}.help-text{color:#4d4d4d;font-size:.8125rem;font-style:italic;margin-top:-.5rem}.input-group{align-items:stretch;display:flex;margin-bottom:1rem;width:100%}.input-group>:first-child,.input-group>:first-child.input-group-button>*{border-radius:5px 0 0 5px}.input-group>:last-child,.input-group>:last-child.input-group-button>*{border-radius:0 5px 5px 0}.input-group-button,.input-group-button a,.input-group-button button,.input-group-button input,.input-group-button label,.input-group-field,.input-group-label{margin:0;white-space:nowrap}.input-group-label{align-items:center;background:#e6e6e6;border:1px solid #aaa;color:#4d4d4d;display:flex;flex:0 0 auto;padding:0 1rem;text-align:center;white-space:nowrap}.input-group-label:first-child{border-right:0}.input-group-label:last-child{border-left:0}.input-group-field{border-radius:0;flex:1 1 0px;min-width:0}.input-group-button{display:flex;flex:0 0 auto;padding-bottom:0;padding-top:0;text-align:center}.input-group-button a,.input-group-button button,.input-group-button input,.input-group-button label{align-self:stretch;font-size:1rem;height:auto;padding-bottom:0;padding-top:0}fieldset{border:0;margin:0;padding:0}legend{margin-bottom:.5rem;max-width:100%}.fieldset{border:1px solid #aaa;margin:1.125rem 0;padding:1.25rem}.fieldset legend{margin:0 0 0 -.1875rem;padding:0 .1875rem}select{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:#fefefe;background-image:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" version="1.1" width="32" height="24" viewBox="0 0 32 24"><polygon points="0,0 32,0 16,24" style="fill: rgb%28102, 102, 102%29"></polygon></svg>');background-origin:content-box;background-position:right -1rem center;background-repeat:no-repeat;background-size:9px 6px;border:0 solid #666;border-radius:5px;color:#4d4d4d;font-family:inherit;font-size:1rem;font-weight:400;height:2.4375rem;line-height:1.5;margin:0 0 1rem;padding:.5rem 1.5rem .5rem .5rem;transition:box-shadow .5s,border-color .25s ease-in-out}@media screen and (min-width:0\0){select{background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAYCAYAAACbU/80AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAIpJREFUeNrEkckNgDAMBBfRkEt0ObRBBdsGXUDgmQfK4XhH2m8czQAAy27R3tsw4Qfe2x8uOO6oYLb6GlOor3GF+swURAOmUJ+RwtEJs9WvTGEYxBXqI1MQAZhCfUQKRzDMVj+TwrAIV6jvSUEkYAr1LSkcyTBb/V+KYfX7xAeusq3sLDtGH3kEGACPWIflNZfhRQAAAABJRU5ErkJggg==")}}select:focus{background-color:#fefefe;border:1px solid #fde4e2;box-shadow:0 0 5px #aaa;outline:none;transition:box-shadow .5s,border-color .25s ease-in-out}select:disabled{background-color:#e6e6e6;cursor:not-allowed}select::-ms-expand{display:none}select[multiple]{background-image:none;height:auto}select:not([multiple]){padding-bottom:0;padding-top:0}.is-invalid-input:not(:focus){background-color:#f9ecea;border-color:#cc4b37}.is-invalid-input:not(:focus)::-moz-placeholder{color:#cc4b37}.is-invalid-input:not(:focus):-ms-input-placeholder{color:#cc4b37}.is-invalid-input:not(:focus)::placeholder{color:#cc4b37}.form-error,.is-invalid-label{color:#cc4b37}.form-error{display:none;font-size:.75rem;font-weight:800;margin-bottom:1rem;margin-top:-.5rem}.form-error.is-visible{display:block}blockquote,dd,div,dl,dt,form,h1,h2,h3,h4,h5,h6,li,ol,p,pre,td,th,ul{margin:0;padding:0}p{text-rendering:optimizeLegibility;font-size:inherit;line-height:1.6;margin-bottom:1rem}em,i{font-style:italic}b,em,i,strong{line-height:inherit}b,strong{font-weight:800}small{font-size:80%;line-height:inherit}.h1,.h2,.h3,.h4,.h5,.h6,h1,h2,h3,h4,h5,h6{text-rendering:optimizeLegibility;color:inherit;font-family:Montserrat,serif;font-style:normal;font-weight:800}.h1 small,.h2 small,.h3 small,.h4 small,.h5 small,.h6 small,h1 small,h2 small,h3 small,h4 small,h5 small,h6 small{color:#666;line-height:0}.h1,h1{font-size:1.5rem}.h1,.h2,h1,h2{line-height:1.4;margin-bottom:.5rem;margin-top:0}.h2,h2{font-size:1.25rem}.h3,h3{font-size:1.125rem;line-height:1.4;margin-bottom:.5rem;margin-top:0}.h4,.h5,.h6,h4,h5,h6{font-size:1rem;line-height:1.4;margin-bottom:.5rem;margin-top:0}@media print,screen and (min-width:40em){.h1,h1{font-size:2.5rem}.h2,h2{font-size:1.9375rem}.h3,h3{font-size:1.5625rem}.h4,h4{font-size:1.25rem}.h5,h5{font-size:1.125rem}.h6,h6{font-size:1rem}}a{color:#396d9d;cursor:pointer;line-height:inherit;text-decoration:none}a:focus,a:hover{color:#315e87}a img,hr{border:0}hr{border-bottom:1px solid #aaa;clear:both;height:0;margin:1.25rem auto;max-width:75rem}dl,ol,ul{line-height:1.6;list-style-position:outside;margin-bottom:1rem}li{font-size:inherit}ul{list-style-type:disc}ol,ul{margin-left:1.25rem}ol ol,ol ul,ul ol,ul ul{margin-bottom:0;margin-left:1.25rem}dl{margin-bottom:1rem}dl dt{font-weight:800;margin-bottom:.3rem}blockquote{border-left:1px solid #aaa;margin:0 0 1rem;padding:.5625rem 1.25rem 0 1.1875rem}blockquote,blockquote p{color:#666;line-height:1.6}abbr,abbr[title]{border-bottom:1px dotted #4d4d4d;cursor:help;text-decoration:none}figure,kbd{margin:0}kbd{background-color:#e6e6e6;border-radius:5px;color:#4d4d4d;font-family:Consolas,Liberation Mono,Courier,monospace;padding:.125rem .25rem 0}.subheader{color:#666;font-weight:400;line-height:1.4;margin-bottom:.5rem;margin-top:.2rem}.lead{font-size:125%;line-height:1.6}.stat{font-size:2.5rem;line-height:1}p+.stat{margin-top:-1rem}ol.no-bullet,ul.no-bullet{list-style:none;margin-left:0}.cite-block,cite{color:#666;display:block;font-size:.8125rem}.cite-block:before,cite:before{content:"— "}.code-inline,code{word-wrap:break-word;display:inline;max-width:100%;padding:.125rem .3125rem .0625rem}.code-block,.code-inline,code{background-color:#e6e6e6;border:1px solid #aaa;color:#4d4d4d;font-family:Consolas,Liberation Mono,Courier,monospace;font-weight:400}.code-block{display:block;margin-bottom:1.5rem;overflow:auto;padding:1rem;white-space:pre}.text-left{text-align:left}.text-right{text-align:right}.text-justify{text-align:justify}@media print,screen and (min-width:40em){.medium-text-left{text-align:left}.medium-text-right{text-align:right}.medium-text-center{text-align:center}.medium-text-justify{text-align:justify}}@media print,screen and (min-width:64em){.large-text-left{text-align:left}.large-text-right{text-align:right}.large-text-center{text-align:center}.large-text-justify{text-align:justify}}.show-for-print{display:none!important}@media print{*{-webkit-print-color-adjust:economy;background:transparent!important;box-shadow:none!important;color:#000!important;color-adjust:economy;text-shadow:none!important}.show-for-print{display:block!important}.hide-for-print{display:none!important}table.show-for-print{display:table!important}thead.show-for-print{display:table-header-group!important}tbody.show-for-print{display:table-row-group!important}tr.show-for-print{display:table-row!important}td.show-for-print,th.show-for-print{display:table-cell!important}a,a:visited{text-decoration:underline}a[href]:after{content:" (" attr(href) ")"}.ir a:after,a[href^="#"]:after,a[href^="javascript:"]:after{content:""}abbr[title]:after{content:" (" attr(title) ")"}blockquote,pre{border:1px solid #666;page-break-inside:avoid}thead{display:table-header-group}img,tr{page-break-inside:avoid}img{max-width:100%!important}@page{margin:.5cm}h2,h3,p{orphans:3;widows:3}h2,h3{page-break-after:avoid}.print-break-inside{page-break-inside:auto}}.grid-container{margin-left:auto;margin-right:auto;max-width:75rem;padding-left:.625rem;padding-right:.625rem}@media print,screen and (min-width:40em){.grid-container{padding-left:.9375rem;padding-right:.9375rem}}.grid-container.fluid{margin-left:auto;margin-right:auto;max-width:100%;padding-left:.625rem;padding-right:.625rem}@media print,screen and (min-width:40em){.grid-container.fluid{padding-left:.9375rem;padding-right:.9375rem}}.grid-container.full{margin-left:auto;margin-right:auto;max-width:100%;padding-left:0;padding-right:0}.grid-x{display:flex;flex-flow:row wrap}.cell{flex:0 0 auto;min-height:0;min-width:0;width:100%}.cell.auto{flex:1 1 0}.cell.shrink{flex:0 0 auto}.grid-x>.auto,.grid-x>.shrink{width:auto}.grid-x>.small-1,.grid-x>.small-10,.grid-x>.small-11,.grid-x>.small-12,.grid-x>.small-2,.grid-x>.small-3,.grid-x>.small-4,.grid-x>.small-5,.grid-x>.small-6,.grid-x>.small-7,.grid-x>.small-8,.grid-x>.small-9,.grid-x>.small-full,.grid-x>.small-shrink{flex-basis:auto}@media print,screen and (min-width:40em){.grid-x>.medium-1,.grid-x>.medium-10,.grid-x>.medium-11,.grid-x>.medium-12,.grid-x>.medium-2,.grid-x>.medium-3,.grid-x>.medium-4,.grid-x>.medium-5,.grid-x>.medium-6,.grid-x>.medium-7,.grid-x>.medium-8,.grid-x>.medium-9,.grid-x>.medium-full,.grid-x>.medium-shrink{flex-basis:auto}}@media print,screen and (min-width:64em){.grid-x>.large-1,.grid-x>.large-10,.grid-x>.large-11,.grid-x>.large-12,.grid-x>.large-2,.grid-x>.large-3,.grid-x>.large-4,.grid-x>.large-5,.grid-x>.large-6,.grid-x>.large-7,.grid-x>.large-8,.grid-x>.large-9,.grid-x>.large-full,.grid-x>.large-shrink{flex-basis:auto}}.grid-x>.small-1,.grid-x>.small-10,.grid-x>.small-11,.grid-x>.small-12,.grid-x>.small-2,.grid-x>.small-3,.grid-x>.small-4,.grid-x>.small-5,.grid-x>.small-6,.grid-x>.small-7,.grid-x>.small-8,.grid-x>.small-9{flex:0 0 auto}.grid-x>.small-1{width:8.3333333333%}.grid-x>.small-2{width:16.6666666667%}.grid-x>.small-3{width:25%}.grid-x>.small-4{width:33.3333333333%}.grid-x>.small-5{width:41.6666666667%}.grid-x>.small-6{width:50%}.grid-x>.small-7{width:58.3333333333%}.grid-x>.small-8{width:66.6666666667%}.grid-x>.small-9{width:75%}.grid-x>.small-10{width:83.3333333333%}.grid-x>.small-11{width:91.6666666667%}.grid-x>.small-12{width:100%}@media print,screen and (min-width:40em){.grid-x>.medium-auto{flex:1 1 0;width:auto}.grid-x>.medium-1,.grid-x>.medium-10,.grid-x>.medium-11,.grid-x>.medium-12,.grid-x>.medium-2,.grid-x>.medium-3,.grid-x>.medium-4,.grid-x>.medium-5,.grid-x>.medium-6,.grid-x>.medium-7,.grid-x>.medium-8,.grid-x>.medium-9,.grid-x>.medium-shrink{flex:0 0 auto}.grid-x>.medium-shrink{width:auto}.grid-x>.medium-1{width:8.3333333333%}.grid-x>.medium-2{width:16.6666666667%}.grid-x>.medium-3{width:25%}.grid-x>.medium-4{width:33.3333333333%}.grid-x>.medium-5{width:41.6666666667%}.grid-x>.medium-6{width:50%}.grid-x>.medium-7{width:58.3333333333%}.grid-x>.medium-8{width:66.6666666667%}.grid-x>.medium-9{width:75%}.grid-x>.medium-10{width:83.3333333333%}.grid-x>.medium-11{width:91.6666666667%}.grid-x>.medium-12{width:100%}}@media print,screen and (min-width:64em){.grid-x>.large-auto{flex:1 1 0;width:auto}.grid-x>.large-1,.grid-x>.large-10,.grid-x>.large-11,.grid-x>.large-12,.grid-x>.large-2,.grid-x>.large-3,.grid-x>.large-4,.grid-x>.large-5,.grid-x>.large-6,.grid-x>.large-7,.grid-x>.large-8,.grid-x>.large-9,.grid-x>.large-shrink{flex:0 0 auto}.grid-x>.large-shrink{width:auto}.grid-x>.large-1{width:8.3333333333%}.grid-x>.large-2{width:16.6666666667%}.grid-x>.large-3{width:25%}.grid-x>.large-4{width:33.3333333333%}.grid-x>.large-5{width:41.6666666667%}.grid-x>.large-6{width:50%}.grid-x>.large-7{width:58.3333333333%}.grid-x>.large-8{width:66.6666666667%}.grid-x>.large-9{width:75%}.grid-x>.large-10{width:83.3333333333%}.grid-x>.large-11{width:91.6666666667%}.grid-x>.large-12{width:100%}}.grid-margin-x:not(.grid-x)>.cell{width:auto}.grid-margin-y:not(.grid-y)>.cell{height:auto}.grid-margin-x{margin-left:-.625rem;margin-right:-.625rem}@media print,screen and (min-width:40em){.grid-margin-x{margin-left:-.9375rem;margin-right:-.9375rem}}.grid-margin-x>.cell{margin-left:.625rem;margin-right:.625rem;width:calc(100% - 1.25rem)}@media print,screen and (min-width:40em){.grid-margin-x>.cell{margin-left:.9375rem;margin-right:.9375rem;width:calc(100% - 1.875rem)}}.grid-margin-x>.auto,.grid-margin-x>.shrink{width:auto}.grid-margin-x>.small-1{width:calc(8.33333% - 1.25rem)}.grid-margin-x>.small-2{width:calc(16.66667% - 1.25rem)}.grid-margin-x>.small-3{width:calc(25% - 1.25rem)}.grid-margin-x>.small-4{width:calc(33.33333% - 1.25rem)}.grid-margin-x>.small-5{width:calc(41.66667% - 1.25rem)}.grid-margin-x>.small-6{width:calc(50% - 1.25rem)}.grid-margin-x>.small-7{width:calc(58.33333% - 1.25rem)}.grid-margin-x>.small-8{width:calc(66.66667% - 1.25rem)}.grid-margin-x>.small-9{width:calc(75% - 1.25rem)}.grid-margin-x>.small-10{width:calc(83.33333% - 1.25rem)}.grid-margin-x>.small-11{width:calc(91.66667% - 1.25rem)}.grid-margin-x>.small-12{width:calc(100% - 1.25rem)}@media print,screen and (min-width:40em){.grid-margin-x>.auto,.grid-margin-x>.shrink{width:auto}.grid-margin-x>.small-1{width:calc(8.33333% - 1.875rem)}.grid-margin-x>.small-2{width:calc(16.66667% - 1.875rem)}.grid-margin-x>.small-3{width:calc(25% - 1.875rem)}.grid-margin-x>.small-4{width:calc(33.33333% - 1.875rem)}.grid-margin-x>.small-5{width:calc(41.66667% - 1.875rem)}.grid-margin-x>.small-6{width:calc(50% - 1.875rem)}.grid-margin-x>.small-7{width:calc(58.33333% - 1.875rem)}.grid-margin-x>.small-8{width:calc(66.66667% - 1.875rem)}.grid-margin-x>.small-9{width:calc(75% - 1.875rem)}.grid-margin-x>.small-10{width:calc(83.33333% - 1.875rem)}.grid-margin-x>.small-11{width:calc(91.66667% - 1.875rem)}.grid-margin-x>.small-12{width:calc(100% - 1.875rem)}.grid-margin-x>.medium-auto,.grid-margin-x>.medium-shrink{width:auto}.grid-margin-x>.medium-1{width:calc(8.33333% - 1.875rem)}.grid-margin-x>.medium-2{width:calc(16.66667% - 1.875rem)}.grid-margin-x>.medium-3{width:calc(25% - 1.875rem)}.grid-margin-x>.medium-4{width:calc(33.33333% - 1.875rem)}.grid-margin-x>.medium-5{width:calc(41.66667% - 1.875rem)}.grid-margin-x>.medium-6{width:calc(50% - 1.875rem)}.grid-margin-x>.medium-7{width:calc(58.33333% - 1.875rem)}.grid-margin-x>.medium-8{width:calc(66.66667% - 1.875rem)}.grid-margin-x>.medium-9{width:calc(75% - 1.875rem)}.grid-margin-x>.medium-10{width:calc(83.33333% - 1.875rem)}.grid-margin-x>.medium-11{width:calc(91.66667% - 1.875rem)}.grid-margin-x>.medium-12{width:calc(100% - 1.875rem)}}@media print,screen and (min-width:64em){.grid-margin-x>.large-auto,.grid-margin-x>.large-shrink{width:auto}.grid-margin-x>.large-1{width:calc(8.33333% - 1.875rem)}.grid-margin-x>.large-2{width:calc(16.66667% - 1.875rem)}.grid-margin-x>.large-3{width:calc(25% - 1.875rem)}.grid-margin-x>.large-4{width:calc(33.33333% - 1.875rem)}.grid-margin-x>.large-5{width:calc(41.66667% - 1.875rem)}.grid-margin-x>.large-6{width:calc(50% - 1.875rem)}.grid-margin-x>.large-7{width:calc(58.33333% - 1.875rem)}.grid-margin-x>.large-8{width:calc(66.66667% - 1.875rem)}.grid-margin-x>.large-9{width:calc(75% - 1.875rem)}.grid-margin-x>.large-10{width:calc(83.33333% - 1.875rem)}.grid-margin-x>.large-11{width:calc(91.66667% - 1.875rem)}.grid-margin-x>.large-12{width:calc(100% - 1.875rem)}}.grid-padding-x .grid-padding-x{margin-left:-.625rem;margin-right:-.625rem}@media print,screen and (min-width:40em){.grid-padding-x .grid-padding-x{margin-left:-.9375rem;margin-right:-.9375rem}}.grid-container:not(.full)>.grid-padding-x{margin-left:-.625rem;margin-right:-.625rem}@media print,screen and (min-width:40em){.grid-container:not(.full)>.grid-padding-x{margin-left:-.9375rem;margin-right:-.9375rem}}.grid-padding-x>.cell{padding-left:.625rem;padding-right:.625rem}@media print,screen and (min-width:40em){.grid-padding-x>.cell{padding-left:.9375rem;padding-right:.9375rem}}.small-up-1>.cell{width:100%}.small-up-2>.cell{width:50%}.small-up-3>.cell{width:33.3333333333%}.small-up-4>.cell{width:25%}.small-up-5>.cell{width:20%}.small-up-6>.cell{width:16.6666666667%}.small-up-7>.cell{width:14.2857142857%}.small-up-8>.cell{width:12.5%}@media print,screen and (min-width:40em){.medium-up-1>.cell{width:100%}.medium-up-2>.cell{width:50%}.medium-up-3>.cell{width:33.3333333333%}.medium-up-4>.cell{width:25%}.medium-up-5>.cell{width:20%}.medium-up-6>.cell{width:16.6666666667%}.medium-up-7>.cell{width:14.2857142857%}.medium-up-8>.cell{width:12.5%}}@media print,screen and (min-width:64em){.large-up-1>.cell{width:100%}.large-up-2>.cell{width:50%}.large-up-3>.cell{width:33.3333333333%}.large-up-4>.cell{width:25%}.large-up-5>.cell{width:20%}.large-up-6>.cell{width:16.6666666667%}.large-up-7>.cell{width:14.2857142857%}.large-up-8>.cell{width:12.5%}}.grid-margin-x.small-up-1>.cell{width:calc(100% - 1.25rem)}.grid-margin-x.small-up-2>.cell{width:calc(50% - 1.25rem)}.grid-margin-x.small-up-3>.cell{width:calc(33.33333% - 1.25rem)}.grid-margin-x.small-up-4>.cell{width:calc(25% - 1.25rem)}.grid-margin-x.small-up-5>.cell{width:calc(20% - 1.25rem)}.grid-margin-x.small-up-6>.cell{width:calc(16.66667% - 1.25rem)}.grid-margin-x.small-up-7>.cell{width:calc(14.28571% - 1.25rem)}.grid-margin-x.small-up-8>.cell{width:calc(12.5% - 1.25rem)}@media print,screen and (min-width:40em){.grid-margin-x.small-up-1>.cell{width:calc(100% - 1.875rem)}.grid-margin-x.small-up-2>.cell{width:calc(50% - 1.875rem)}.grid-margin-x.small-up-3>.cell{width:calc(33.33333% - 1.875rem)}.grid-margin-x.small-up-4>.cell{width:calc(25% - 1.875rem)}.grid-margin-x.small-up-5>.cell{width:calc(20% - 1.875rem)}.grid-margin-x.small-up-6>.cell{width:calc(16.66667% - 1.875rem)}.grid-margin-x.small-up-7>.cell{width:calc(14.28571% - 1.875rem)}.grid-margin-x.small-up-8>.cell{width:calc(12.5% - 1.875rem)}.grid-margin-x.medium-up-1>.cell{width:calc(100% - 1.875rem)}.grid-margin-x.medium-up-2>.cell{width:calc(50% - 1.875rem)}.grid-margin-x.medium-up-3>.cell{width:calc(33.33333% - 1.875rem)}.grid-margin-x.medium-up-4>.cell{width:calc(25% - 1.875rem)}.grid-margin-x.medium-up-5>.cell{width:calc(20% - 1.875rem)}.grid-margin-x.medium-up-6>.cell{width:calc(16.66667% - 1.875rem)}.grid-margin-x.medium-up-7>.cell{width:calc(14.28571% - 1.875rem)}.grid-margin-x.medium-up-8>.cell{width:calc(12.5% - 1.875rem)}}@media print,screen and (min-width:64em){.grid-margin-x.large-up-1>.cell{width:calc(100% - 1.875rem)}.grid-margin-x.large-up-2>.cell{width:calc(50% - 1.875rem)}.grid-margin-x.large-up-3>.cell{width:calc(33.33333% - 1.875rem)}.grid-margin-x.large-up-4>.cell{width:calc(25% - 1.875rem)}.grid-margin-x.large-up-5>.cell{width:calc(20% - 1.875rem)}.grid-margin-x.large-up-6>.cell{width:calc(16.66667% - 1.875rem)}.grid-margin-x.large-up-7>.cell{width:calc(14.28571% - 1.875rem)}.grid-margin-x.large-up-8>.cell{width:calc(12.5% - 1.875rem)}}.small-margin-collapse,.small-margin-collapse>.cell{margin-left:0;margin-right:0}.small-margin-collapse>.small-1{width:8.3333333333%}.small-margin-collapse>.small-2{width:16.6666666667%}.small-margin-collapse>.small-3{width:25%}.small-margin-collapse>.small-4{width:33.3333333333%}.small-margin-collapse>.small-5{width:41.6666666667%}.small-margin-collapse>.small-6{width:50%}.small-margin-collapse>.small-7{width:58.3333333333%}.small-margin-collapse>.small-8{width:66.6666666667%}.small-margin-collapse>.small-9{width:75%}.small-margin-collapse>.small-10{width:83.3333333333%}.small-margin-collapse>.small-11{width:91.6666666667%}.small-margin-collapse>.small-12{width:100%}@media print,screen and (min-width:40em){.small-margin-collapse>.medium-1{width:8.3333333333%}.small-margin-collapse>.medium-2{width:16.6666666667%}.small-margin-collapse>.medium-3{width:25%}.small-margin-collapse>.medium-4{width:33.3333333333%}.small-margin-collapse>.medium-5{width:41.6666666667%}.small-margin-collapse>.medium-6{width:50%}.small-margin-collapse>.medium-7{width:58.3333333333%}.small-margin-collapse>.medium-8{width:66.6666666667%}.small-margin-collapse>.medium-9{width:75%}.small-margin-collapse>.medium-10{width:83.3333333333%}.small-margin-collapse>.medium-11{width:91.6666666667%}.small-margin-collapse>.medium-12{width:100%}}@media print,screen and (min-width:64em){.small-margin-collapse>.large-1{width:8.3333333333%}.small-margin-collapse>.large-2{width:16.6666666667%}.small-margin-collapse>.large-3{width:25%}.small-margin-collapse>.large-4{width:33.3333333333%}.small-margin-collapse>.large-5{width:41.6666666667%}.small-margin-collapse>.large-6{width:50%}.small-margin-collapse>.large-7{width:58.3333333333%}.small-margin-collapse>.large-8{width:66.6666666667%}.small-margin-collapse>.large-9{width:75%}.small-margin-collapse>.large-10{width:83.3333333333%}.small-margin-collapse>.large-11{width:91.6666666667%}.small-margin-collapse>.large-12{width:100%}}.small-padding-collapse{margin-left:0;margin-right:0}.small-padding-collapse>.cell{padding-left:0;padding-right:0}@media print,screen and (min-width:40em){.medium-margin-collapse,.medium-margin-collapse>.cell{margin-left:0;margin-right:0}.medium-margin-collapse>.small-1{width:8.3333333333%}.medium-margin-collapse>.small-2{width:16.6666666667%}.medium-margin-collapse>.small-3{width:25%}.medium-margin-collapse>.small-4{width:33.3333333333%}.medium-margin-collapse>.small-5{width:41.6666666667%}.medium-margin-collapse>.small-6{width:50%}.medium-margin-collapse>.small-7{width:58.3333333333%}.medium-margin-collapse>.small-8{width:66.6666666667%}.medium-margin-collapse>.small-9{width:75%}.medium-margin-collapse>.small-10{width:83.3333333333%}.medium-margin-collapse>.small-11{width:91.6666666667%}.medium-margin-collapse>.small-12{width:100%}.medium-margin-collapse>.medium-1{width:8.3333333333%}.medium-margin-collapse>.medium-2{width:16.6666666667%}.medium-margin-collapse>.medium-3{width:25%}.medium-margin-collapse>.medium-4{width:33.3333333333%}.medium-margin-collapse>.medium-5{width:41.6666666667%}.medium-margin-collapse>.medium-6{width:50%}.medium-margin-collapse>.medium-7{width:58.3333333333%}.medium-margin-collapse>.medium-8{width:66.6666666667%}.medium-margin-collapse>.medium-9{width:75%}.medium-margin-collapse>.medium-10{width:83.3333333333%}.medium-margin-collapse>.medium-11{width:91.6666666667%}.medium-margin-collapse>.medium-12{width:100%}}@media print,screen and (min-width:64em){.medium-margin-collapse>.large-1{width:8.3333333333%}.medium-margin-collapse>.large-2{width:16.6666666667%}.medium-margin-collapse>.large-3{width:25%}.medium-margin-collapse>.large-4{width:33.3333333333%}.medium-margin-collapse>.large-5{width:41.6666666667%}.medium-margin-collapse>.large-6{width:50%}.medium-margin-collapse>.large-7{width:58.3333333333%}.medium-margin-collapse>.large-8{width:66.6666666667%}.medium-margin-collapse>.large-9{width:75%}.medium-margin-collapse>.large-10{width:83.3333333333%}.medium-margin-collapse>.large-11{width:91.6666666667%}.medium-margin-collapse>.large-12{width:100%}}@media print,screen and (min-width:40em){.medium-padding-collapse{margin-left:0;margin-right:0}.medium-padding-collapse>.cell{padding-left:0;padding-right:0}}@media print,screen and (min-width:64em){.large-margin-collapse,.large-margin-collapse>.cell{margin-left:0;margin-right:0}.large-margin-collapse>.small-1{width:8.3333333333%}.large-margin-collapse>.small-2{width:16.6666666667%}.large-margin-collapse>.small-3{width:25%}.large-margin-collapse>.small-4{width:33.3333333333%}.large-margin-collapse>.small-5{width:41.6666666667%}.large-margin-collapse>.small-6{width:50%}.large-margin-collapse>.small-7{width:58.3333333333%}.large-margin-collapse>.small-8{width:66.6666666667%}.large-margin-collapse>.small-9{width:75%}.large-margin-collapse>.small-10{width:83.3333333333%}.large-margin-collapse>.small-11{width:91.6666666667%}.large-margin-collapse>.small-12{width:100%}.large-margin-collapse>.medium-1{width:8.3333333333%}.large-margin-collapse>.medium-2{width:16.6666666667%}.large-margin-collapse>.medium-3{width:25%}.large-margin-collapse>.medium-4{width:33.3333333333%}.large-margin-collapse>.medium-5{width:41.6666666667%}.large-margin-collapse>.medium-6{width:50%}.large-margin-collapse>.medium-7{width:58.3333333333%}.large-margin-collapse>.medium-8{width:66.6666666667%}.large-margin-collapse>.medium-9{width:75%}.large-margin-collapse>.medium-10{width:83.3333333333%}.large-margin-collapse>.medium-11{width:91.6666666667%}.large-margin-collapse>.medium-12{width:100%}.large-margin-collapse>.large-1{width:8.3333333333%}.large-margin-collapse>.large-2{width:16.6666666667%}.large-margin-collapse>.large-3{width:25%}.large-margin-collapse>.large-4{width:33.3333333333%}.large-margin-collapse>.large-5{width:41.6666666667%}.large-margin-collapse>.large-6{width:50%}.large-margin-collapse>.large-7{width:58.3333333333%}.large-margin-collapse>.large-8{width:66.6666666667%}.large-margin-collapse>.large-9{width:75%}.large-margin-collapse>.large-10{width:83.3333333333%}.large-margin-collapse>.large-11{width:91.6666666667%}.large-margin-collapse>.large-12{width:100%}.large-padding-collapse{margin-left:0;margin-right:0}.large-padding-collapse>.cell{padding-left:0;padding-right:0}}.small-offset-0{margin-left:0}.grid-margin-x>.small-offset-0{margin-left:.625rem}.small-offset-1{margin-left:8.3333333333%}.grid-margin-x>.small-offset-1{margin-left:calc(8.33333% + .625rem)}.small-offset-2{margin-left:16.6666666667%}.grid-margin-x>.small-offset-2{margin-left:calc(16.66667% + .625rem)}.small-offset-3{margin-left:25%}.grid-margin-x>.small-offset-3{margin-left:calc(25% + .625rem)}.small-offset-4{margin-left:33.3333333333%}.grid-margin-x>.small-offset-4{margin-left:calc(33.33333% + .625rem)}.small-offset-5{margin-left:41.6666666667%}.grid-margin-x>.small-offset-5{margin-left:calc(41.66667% + .625rem)}.small-offset-6{margin-left:50%}.grid-margin-x>.small-offset-6{margin-left:calc(50% + .625rem)}.small-offset-7{margin-left:58.3333333333%}.grid-margin-x>.small-offset-7{margin-left:calc(58.33333% + .625rem)}.small-offset-8{margin-left:66.6666666667%}.grid-margin-x>.small-offset-8{margin-left:calc(66.66667% + .625rem)}.small-offset-9{margin-left:75%}.grid-margin-x>.small-offset-9{margin-left:calc(75% + .625rem)}.small-offset-10{margin-left:83.3333333333%}.grid-margin-x>.small-offset-10{margin-left:calc(83.33333% + .625rem)}.small-offset-11{margin-left:91.6666666667%}.grid-margin-x>.small-offset-11{margin-left:calc(91.66667% + .625rem)}@media print,screen and (min-width:40em){.medium-offset-0{margin-left:0}.grid-margin-x>.medium-offset-0{margin-left:.9375rem}.medium-offset-1{margin-left:8.3333333333%}.grid-margin-x>.medium-offset-1{margin-left:calc(8.33333% + .9375rem)}.medium-offset-2{margin-left:16.6666666667%}.grid-margin-x>.medium-offset-2{margin-left:calc(16.66667% + .9375rem)}.medium-offset-3{margin-left:25%}.grid-margin-x>.medium-offset-3{margin-left:calc(25% + .9375rem)}.medium-offset-4{margin-left:33.3333333333%}.grid-margin-x>.medium-offset-4{margin-left:calc(33.33333% + .9375rem)}.medium-offset-5{margin-left:41.6666666667%}.grid-margin-x>.medium-offset-5{margin-left:calc(41.66667% + .9375rem)}.medium-offset-6{margin-left:50%}.grid-margin-x>.medium-offset-6{margin-left:calc(50% + .9375rem)}.medium-offset-7{margin-left:58.3333333333%}.grid-margin-x>.medium-offset-7{margin-left:calc(58.33333% + .9375rem)}.medium-offset-8{margin-left:66.6666666667%}.grid-margin-x>.medium-offset-8{margin-left:calc(66.66667% + .9375rem)}.medium-offset-9{margin-left:75%}.grid-margin-x>.medium-offset-9{margin-left:calc(75% + .9375rem)}.medium-offset-10{margin-left:83.3333333333%}.grid-margin-x>.medium-offset-10{margin-left:calc(83.33333% + .9375rem)}.medium-offset-11{margin-left:91.6666666667%}.grid-margin-x>.medium-offset-11{margin-left:calc(91.66667% + .9375rem)}}@media print,screen and (min-width:64em){.large-offset-0{margin-left:0}.grid-margin-x>.large-offset-0{margin-left:.9375rem}.large-offset-1{margin-left:8.3333333333%}.grid-margin-x>.large-offset-1{margin-left:calc(8.33333% + .9375rem)}.large-offset-2{margin-left:16.6666666667%}.grid-margin-x>.large-offset-2{margin-left:calc(16.66667% + .9375rem)}.large-offset-3{margin-left:25%}.grid-margin-x>.large-offset-3{margin-left:calc(25% + .9375rem)}.large-offset-4{margin-left:33.3333333333%}.grid-margin-x>.large-offset-4{margin-left:calc(33.33333% + .9375rem)}.large-offset-5{margin-left:41.6666666667%}.grid-margin-x>.large-offset-5{margin-left:calc(41.66667% + .9375rem)}.large-offset-6{margin-left:50%}.grid-margin-x>.large-offset-6{margin-left:calc(50% + .9375rem)}.large-offset-7{margin-left:58.3333333333%}.grid-margin-x>.large-offset-7{margin-left:calc(58.33333% + .9375rem)}.large-offset-8{margin-left:66.6666666667%}.grid-margin-x>.large-offset-8{margin-left:calc(66.66667% + .9375rem)}.large-offset-9{margin-left:75%}.grid-margin-x>.large-offset-9{margin-left:calc(75% + .9375rem)}.large-offset-10{margin-left:83.3333333333%}.grid-margin-x>.large-offset-10{margin-left:calc(83.33333% + .9375rem)}.large-offset-11{margin-left:91.6666666667%}.grid-margin-x>.large-offset-11{margin-left:calc(91.66667% + .9375rem)}}.grid-y{display:flex;flex-flow:column nowrap}.grid-y>.cell{height:auto;max-height:none}.grid-y>.auto,.grid-y>.shrink{height:auto}.grid-y>.small-1,.grid-y>.small-10,.grid-y>.small-11,.grid-y>.small-12,.grid-y>.small-2,.grid-y>.small-3,.grid-y>.small-4,.grid-y>.small-5,.grid-y>.small-6,.grid-y>.small-7,.grid-y>.small-8,.grid-y>.small-9,.grid-y>.small-full,.grid-y>.small-shrink{flex-basis:auto}@media print,screen and (min-width:40em){.grid-y>.medium-1,.grid-y>.medium-10,.grid-y>.medium-11,.grid-y>.medium-12,.grid-y>.medium-2,.grid-y>.medium-3,.grid-y>.medium-4,.grid-y>.medium-5,.grid-y>.medium-6,.grid-y>.medium-7,.grid-y>.medium-8,.grid-y>.medium-9,.grid-y>.medium-full,.grid-y>.medium-shrink{flex-basis:auto}}@media print,screen and (min-width:64em){.grid-y>.large-1,.grid-y>.large-10,.grid-y>.large-11,.grid-y>.large-12,.grid-y>.large-2,.grid-y>.large-3,.grid-y>.large-4,.grid-y>.large-5,.grid-y>.large-6,.grid-y>.large-7,.grid-y>.large-8,.grid-y>.large-9,.grid-y>.large-full,.grid-y>.large-shrink{flex-basis:auto}}.grid-y>.small-1,.grid-y>.small-10,.grid-y>.small-11,.grid-y>.small-12,.grid-y>.small-2,.grid-y>.small-3,.grid-y>.small-4,.grid-y>.small-5,.grid-y>.small-6,.grid-y>.small-7,.grid-y>.small-8,.grid-y>.small-9{flex:0 0 auto}.grid-y>.small-1{height:8.3333333333%}.grid-y>.small-2{height:16.6666666667%}.grid-y>.small-3{height:25%}.grid-y>.small-4{height:33.3333333333%}.grid-y>.small-5{height:41.6666666667%}.grid-y>.small-6{height:50%}.grid-y>.small-7{height:58.3333333333%}.grid-y>.small-8{height:66.6666666667%}.grid-y>.small-9{height:75%}.grid-y>.small-10{height:83.3333333333%}.grid-y>.small-11{height:91.6666666667%}.grid-y>.small-12{height:100%}@media print,screen and (min-width:40em){.grid-y>.medium-auto{flex:1 1 0;height:auto}.grid-y>.medium-1,.grid-y>.medium-10,.grid-y>.medium-11,.grid-y>.medium-12,.grid-y>.medium-2,.grid-y>.medium-3,.grid-y>.medium-4,.grid-y>.medium-5,.grid-y>.medium-6,.grid-y>.medium-7,.grid-y>.medium-8,.grid-y>.medium-9,.grid-y>.medium-shrink{flex:0 0 auto}.grid-y>.medium-shrink{height:auto}.grid-y>.medium-1{height:8.3333333333%}.grid-y>.medium-2{height:16.6666666667%}.grid-y>.medium-3{height:25%}.grid-y>.medium-4{height:33.3333333333%}.grid-y>.medium-5{height:41.6666666667%}.grid-y>.medium-6{height:50%}.grid-y>.medium-7{height:58.3333333333%}.grid-y>.medium-8{height:66.6666666667%}.grid-y>.medium-9{height:75%}.grid-y>.medium-10{height:83.3333333333%}.grid-y>.medium-11{height:91.6666666667%}.grid-y>.medium-12{height:100%}}@media print,screen and (min-width:64em){.grid-y>.large-auto{flex:1 1 0;height:auto}.grid-y>.large-1,.grid-y>.large-10,.grid-y>.large-11,.grid-y>.large-12,.grid-y>.large-2,.grid-y>.large-3,.grid-y>.large-4,.grid-y>.large-5,.grid-y>.large-6,.grid-y>.large-7,.grid-y>.large-8,.grid-y>.large-9,.grid-y>.large-shrink{flex:0 0 auto}.grid-y>.large-shrink{height:auto}.grid-y>.large-1{height:8.3333333333%}.grid-y>.large-2{height:16.6666666667%}.grid-y>.large-3{height:25%}.grid-y>.large-4{height:33.3333333333%}.grid-y>.large-5{height:41.6666666667%}.grid-y>.large-6{height:50%}.grid-y>.large-7{height:58.3333333333%}.grid-y>.large-8{height:66.6666666667%}.grid-y>.large-9{height:75%}.grid-y>.large-10{height:83.3333333333%}.grid-y>.large-11{height:91.6666666667%}.grid-y>.large-12{height:100%}}.grid-padding-y .grid-padding-y{margin-bottom:-.625rem;margin-top:-.625rem}@media print,screen and (min-width:40em){.grid-padding-y .grid-padding-y{margin-bottom:-.9375rem;margin-top:-.9375rem}}.grid-padding-y>.cell{padding-bottom:.625rem;padding-top:.625rem}@media print,screen and (min-width:40em){.grid-padding-y>.cell{padding-bottom:.9375rem;padding-top:.9375rem}}.grid-frame{align-items:stretch;flex-wrap:nowrap;overflow:hidden;position:relative;width:100vw}.cell .grid-frame{width:100%}.cell-block{max-width:100%;overflow-x:auto}.cell-block,.cell-block-y{-webkit-overflow-scrolling:touch;-ms-overflow-style:-ms-autohiding-scrollbar}.cell-block-y{max-height:100%;min-height:100%;overflow-y:auto}.cell-block-container{display:flex;flex-direction:column;max-height:100%}.cell-block-container>.grid-x{flex-wrap:nowrap;max-height:100%}@media print,screen and (min-width:40em){.medium-grid-frame{align-items:stretch;flex-wrap:nowrap;overflow:hidden;position:relative;width:100vw}.cell .medium-grid-frame{width:100%}.medium-cell-block{-webkit-overflow-scrolling:touch;-ms-overflow-style:-ms-autohiding-scrollbar;max-width:100%;overflow-x:auto}.medium-cell-block-container{display:flex;flex-direction:column;max-height:100%}.medium-cell-block-container>.grid-x{flex-wrap:nowrap;max-height:100%}.medium-cell-block-y{-webkit-overflow-scrolling:touch;-ms-overflow-style:-ms-autohiding-scrollbar;max-height:100%;min-height:100%;overflow-y:auto}}@media print,screen and (min-width:64em){.large-grid-frame{align-items:stretch;flex-wrap:nowrap;overflow:hidden;position:relative;width:100vw}.cell .large-grid-frame{width:100%}.large-cell-block{-webkit-overflow-scrolling:touch;-ms-overflow-style:-ms-autohiding-scrollbar;max-width:100%;overflow-x:auto}.large-cell-block-container{display:flex;flex-direction:column;max-height:100%}.large-cell-block-container>.grid-x{flex-wrap:nowrap;max-height:100%}.large-cell-block-y{-webkit-overflow-scrolling:touch;-ms-overflow-style:-ms-autohiding-scrollbar;max-height:100%;min-height:100%;overflow-y:auto}}.grid-y.grid-frame{align-items:stretch;flex-wrap:nowrap;height:100vh;overflow:hidden;position:relative;width:auto}@media print,screen and (min-width:40em){.grid-y.medium-grid-frame{align-items:stretch;flex-wrap:nowrap;height:100vh;overflow:hidden;position:relative;width:auto}}@media print,screen and (min-width:64em){.grid-y.large-grid-frame{align-items:stretch;flex-wrap:nowrap;height:100vh;overflow:hidden;position:relative;width:auto}}.cell .grid-y.grid-frame{height:100%}@media print,screen and (min-width:40em){.cell .grid-y.medium-grid-frame{height:100%}}@media print,screen and (min-width:64em){.cell .grid-y.large-grid-frame{height:100%}}.grid-margin-y{margin-bottom:-.625rem;margin-top:-.625rem}@media print,screen and (min-width:40em){.grid-margin-y{margin-bottom:-.9375rem;margin-top:-.9375rem}}.grid-margin-y>.cell{height:calc(100% - 1.25rem);margin-bottom:.625rem;margin-top:.625rem}@media print,screen and (min-width:40em){.grid-margin-y>.cell{height:calc(100% - 1.875rem);margin-bottom:.9375rem;margin-top:.9375rem}}.grid-margin-y>.auto,.grid-margin-y>.shrink{height:auto}.grid-margin-y>.small-1{height:calc(8.33333% - 1.25rem)}.grid-margin-y>.small-2{height:calc(16.66667% - 1.25rem)}.grid-margin-y>.small-3{height:calc(25% - 1.25rem)}.grid-margin-y>.small-4{height:calc(33.33333% - 1.25rem)}.grid-margin-y>.small-5{height:calc(41.66667% - 1.25rem)}.grid-margin-y>.small-6{height:calc(50% - 1.25rem)}.grid-margin-y>.small-7{height:calc(58.33333% - 1.25rem)}.grid-margin-y>.small-8{height:calc(66.66667% - 1.25rem)}.grid-margin-y>.small-9{height:calc(75% - 1.25rem)}.grid-margin-y>.small-10{height:calc(83.33333% - 1.25rem)}.grid-margin-y>.small-11{height:calc(91.66667% - 1.25rem)}.grid-margin-y>.small-12{height:calc(100% - 1.25rem)}@media print,screen and (min-width:40em){.grid-margin-y>.auto,.grid-margin-y>.shrink{height:auto}.grid-margin-y>.small-1{height:calc(8.33333% - 1.875rem)}.grid-margin-y>.small-2{height:calc(16.66667% - 1.875rem)}.grid-margin-y>.small-3{height:calc(25% - 1.875rem)}.grid-margin-y>.small-4{height:calc(33.33333% - 1.875rem)}.grid-margin-y>.small-5{height:calc(41.66667% - 1.875rem)}.grid-margin-y>.small-6{height:calc(50% - 1.875rem)}.grid-margin-y>.small-7{height:calc(58.33333% - 1.875rem)}.grid-margin-y>.small-8{height:calc(66.66667% - 1.875rem)}.grid-margin-y>.small-9{height:calc(75% - 1.875rem)}.grid-margin-y>.small-10{height:calc(83.33333% - 1.875rem)}.grid-margin-y>.small-11{height:calc(91.66667% - 1.875rem)}.grid-margin-y>.small-12{height:calc(100% - 1.875rem)}.grid-margin-y>.medium-auto,.grid-margin-y>.medium-shrink{height:auto}.grid-margin-y>.medium-1{height:calc(8.33333% - 1.875rem)}.grid-margin-y>.medium-2{height:calc(16.66667% - 1.875rem)}.grid-margin-y>.medium-3{height:calc(25% - 1.875rem)}.grid-margin-y>.medium-4{height:calc(33.33333% - 1.875rem)}.grid-margin-y>.medium-5{height:calc(41.66667% - 1.875rem)}.grid-margin-y>.medium-6{height:calc(50% - 1.875rem)}.grid-margin-y>.medium-7{height:calc(58.33333% - 1.875rem)}.grid-margin-y>.medium-8{height:calc(66.66667% - 1.875rem)}.grid-margin-y>.medium-9{height:calc(75% - 1.875rem)}.grid-margin-y>.medium-10{height:calc(83.33333% - 1.875rem)}.grid-margin-y>.medium-11{height:calc(91.66667% - 1.875rem)}.grid-margin-y>.medium-12{height:calc(100% - 1.875rem)}}@media print,screen and (min-width:64em){.grid-margin-y>.large-auto,.grid-margin-y>.large-shrink{height:auto}.grid-margin-y>.large-1{height:calc(8.33333% - 1.875rem)}.grid-margin-y>.large-2{height:calc(16.66667% - 1.875rem)}.grid-margin-y>.large-3{height:calc(25% - 1.875rem)}.grid-margin-y>.large-4{height:calc(33.33333% - 1.875rem)}.grid-margin-y>.large-5{height:calc(41.66667% - 1.875rem)}.grid-margin-y>.large-6{height:calc(50% - 1.875rem)}.grid-margin-y>.large-7{height:calc(58.33333% - 1.875rem)}.grid-margin-y>.large-8{height:calc(66.66667% - 1.875rem)}.grid-margin-y>.large-9{height:calc(75% - 1.875rem)}.grid-margin-y>.large-10{height:calc(83.33333% - 1.875rem)}.grid-margin-y>.large-11{height:calc(91.66667% - 1.875rem)}.grid-margin-y>.large-12{height:calc(100% - 1.875rem)}}.grid-frame.grid-margin-y{height:calc(100vh + 1.25rem)}@media print,screen and (min-width:40em){.grid-frame.grid-margin-y{height:calc(100vh + 1.875rem)}}@media print,screen and (min-width:64em){.grid-frame.grid-margin-y{height:calc(100vh + 1.875rem)}}@media print,screen and (min-width:40em){.grid-margin-y.medium-grid-frame{height:calc(100vh + 1.875rem)}}@media print,screen and (min-width:64em){.grid-margin-y.large-grid-frame{height:calc(100vh + 1.875rem)}}.button{-webkit-appearance:none;border:1px solid transparent;border-radius:5px;cursor:pointer;display:inline-block;font-family:inherit;font-size:.9rem;line-height:1;margin:0 0 1rem;padding:.85em 1em;text-align:center;transition:background-color .25s ease-out,color .25s ease-out;vertical-align:middle}[data-whatinput=mouse] .button{outline:0}.button.tiny{font-size:.6rem}.button.small{font-size:.75rem}.button.large{font-size:1.25rem}.button.expanded{display:block;margin-left:0;margin-right:0;width:100%}.button,.button.disabled,.button.disabled:focus,.button.disabled:hover,.button[disabled],.button[disabled]:focus,.button[disabled]:hover{background-color:#396d9d;color:#fefefe}.button:focus,.button:hover{background-color:#4684bc;color:#fefefe}.button.primary,.button.primary.disabled,.button.primary.disabled:focus,.button.primary.disabled:hover,.button.primary[disabled],.button.primary[disabled]:focus,.button.primary[disabled]:hover{background-color:#396d9d;color:#fefefe}.button.primary:focus,.button.primary:hover{background-color:#2e577e;color:#fefefe}.button.secondary,.button.secondary.disabled,.button.secondary.disabled:focus,.button.secondary.disabled:hover,.button.secondary[disabled],.button.secondary[disabled]:focus,.button.secondary[disabled]:hover{background-color:#767676;color:#fefefe}.button.secondary:focus,.button.secondary:hover{background-color:#5e5e5e;color:#fefefe}.button.success,.button.success.disabled,.button.success.disabled:focus,.button.success.disabled:hover,.button.success[disabled],.button.success[disabled]:focus,.button.success[disabled]:hover{background-color:#3adb76;color:#4d4d4d}.button.success:focus,.button.success:hover{background-color:#22bb5b;color:#4d4d4d}.button.warning,.button.warning.disabled,.button.warning.disabled:focus,.button.warning.disabled:hover,.button.warning[disabled],.button.warning[disabled]:focus,.button.warning[disabled]:hover{background-color:#ffeb3b;color:#4d4d4d}.button.warning:focus,.button.warning:hover{background-color:#fbe200;color:#4d4d4d}.button.alert,.button.alert.disabled,.button.alert.disabled:focus,.button.alert.disabled:hover,.button.alert[disabled],.button.alert[disabled]:focus,.button.alert[disabled]:hover{background-color:#cc4b37;color:#fefefe}.button.alert:focus,.button.alert:hover{background-color:#a53b2a;color:#fefefe}.button.hollow,.button.hollow.disabled,.button.hollow.disabled:focus,.button.hollow.disabled:hover,.button.hollow:focus,.button.hollow:hover,.button.hollow[disabled],.button.hollow[disabled]:focus,.button.hollow[disabled]:hover{background-color:transparent}.button.hollow,.button.hollow.disabled,.button.hollow.disabled:focus,.button.hollow.disabled:hover,.button.hollow[disabled],.button.hollow[disabled]:focus,.button.hollow[disabled]:hover{border:1px solid #396d9d;color:#396d9d}.button.hollow:focus,.button.hollow:hover{border-color:#1d374f;color:#1d374f}.button.hollow.primary,.button.hollow.primary.disabled,.button.hollow.primary.disabled:focus,.button.hollow.primary.disabled:hover,.button.hollow.primary[disabled],.button.hollow.primary[disabled]:focus,.button.hollow.primary[disabled]:hover{border:1px solid #396d9d;color:#396d9d}.button.hollow.primary:focus,.button.hollow.primary:hover{border-color:#1d374f;color:#1d374f}.button.hollow.secondary,.button.hollow.secondary.disabled,.button.hollow.secondary.disabled:focus,.button.hollow.secondary.disabled:hover,.button.hollow.secondary[disabled],.button.hollow.secondary[disabled]:focus,.button.hollow.secondary[disabled]:hover{border:1px solid #767676;color:#767676}.button.hollow.secondary:focus,.button.hollow.secondary:hover{border-color:#3b3b3b;color:#3b3b3b}.button.hollow.success,.button.hollow.success.disabled,.button.hollow.success.disabled:focus,.button.hollow.success.disabled:hover,.button.hollow.success[disabled],.button.hollow.success[disabled]:focus,.button.hollow.success[disabled]:hover{border:1px solid #3adb76;color:#3adb76}.button.hollow.success:focus,.button.hollow.success:hover{border-color:#157539;color:#157539}.button.hollow.warning,.button.hollow.warning.disabled,.button.hollow.warning.disabled:focus,.button.hollow.warning.disabled:hover,.button.hollow.warning[disabled],.button.hollow.warning[disabled]:focus,.button.hollow.warning[disabled]:hover{border:1px solid #ffeb3b;color:#ffeb3b}.button.hollow.warning:focus,.button.hollow.warning:hover{border-color:#9d8d00;color:#9d8d00}.button.hollow.alert,.button.hollow.alert.disabled,.button.hollow.alert.disabled:focus,.button.hollow.alert.disabled:hover,.button.hollow.alert[disabled],.button.hollow.alert[disabled]:focus,.button.hollow.alert[disabled]:hover{border:1px solid #cc4b37;color:#cc4b37}.button.hollow.alert:focus,.button.hollow.alert:hover{border-color:#67251a;color:#67251a}.button.clear,.button.clear.disabled,.button.clear.disabled:focus,.button.clear.disabled:hover,.button.clear:focus,.button.clear:hover,.button.clear[disabled],.button.clear[disabled]:focus,.button.clear[disabled]:hover{background-color:transparent;border-color:transparent}.button.clear,.button.clear.disabled,.button.clear.disabled:focus,.button.clear.disabled:hover,.button.clear[disabled],.button.clear[disabled]:focus,.button.clear[disabled]:hover{color:#396d9d}.button.clear:focus,.button.clear:hover{color:#1d374f}.button.clear.primary,.button.clear.primary.disabled,.button.clear.primary.disabled:focus,.button.clear.primary.disabled:hover,.button.clear.primary[disabled],.button.clear.primary[disabled]:focus,.button.clear.primary[disabled]:hover{color:#396d9d}.button.clear.primary:focus,.button.clear.primary:hover{color:#1d374f}.button.clear.secondary,.button.clear.secondary.disabled,.button.clear.secondary.disabled:focus,.button.clear.secondary.disabled:hover,.button.clear.secondary[disabled],.button.clear.secondary[disabled]:focus,.button.clear.secondary[disabled]:hover{color:#767676}.button.clear.secondary:focus,.button.clear.secondary:hover{color:#3b3b3b}.button.clear.success,.button.clear.success.disabled,.button.clear.success.disabled:focus,.button.clear.success.disabled:hover,.button.clear.success[disabled],.button.clear.success[disabled]:focus,.button.clear.success[disabled]:hover{color:#3adb76}.button.clear.success:focus,.button.clear.success:hover{color:#157539}.button.clear.warning,.button.clear.warning.disabled,.button.clear.warning.disabled:focus,.button.clear.warning.disabled:hover,.button.clear.warning[disabled],.button.clear.warning[disabled]:focus,.button.clear.warning[disabled]:hover{color:#ffeb3b}.button.clear.warning:focus,.button.clear.warning:hover{color:#9d8d00}.button.clear.alert,.button.clear.alert.disabled,.button.clear.alert.disabled:focus,.button.clear.alert.disabled:hover,.button.clear.alert[disabled],.button.clear.alert[disabled]:focus,.button.clear.alert[disabled]:hover{color:#cc4b37}.button.clear.alert:focus,.button.clear.alert:hover{color:#67251a}.button.disabled,.button[disabled]{cursor:not-allowed;opacity:.25}.button.dropdown:after{border-color:#fefefe transparent transparent;border-style:solid;border-width:.4em .4em 0;content:"";display:block;display:inline-block;float:right;height:0;margin-left:1em;position:relative;top:.4em;width:0}.button.dropdown.clear.primary:after,.button.dropdown.clear:after,.button.dropdown.hollow.primary:after,.button.dropdown.hollow:after{border-top-color:#396d9d}.button.dropdown.clear.secondary:after,.button.dropdown.hollow.secondary:after{border-top-color:#767676}.button.dropdown.clear.success:after,.button.dropdown.hollow.success:after{border-top-color:#3adb76}.button.dropdown.clear.warning:after,.button.dropdown.hollow.warning:after{border-top-color:#ffeb3b}.button.dropdown.clear.alert:after,.button.dropdown.hollow.alert:after{border-top-color:#cc4b37}.button.arrow-only:after{float:none;margin-left:0;top:-.1em}a.button:focus,a.button:hover{text-decoration:none}.button-group{align-items:stretch;display:flex;flex-grow:1;flex-wrap:wrap;margin-bottom:1rem}.button-group:after,.button-group:before{content:" ";display:table;flex-basis:0;order:1}.button-group:after{clear:both}.button-group:after,.button-group:before{display:none}.button-group .button{flex:0 0 auto;font-size:.9rem;margin:0 1px 1px 0}.button-group .button:last-child{margin-right:0}.button-group.tiny .button{font-size:.6rem}.button-group.small .button{font-size:.75rem}.button-group.large .button{font-size:1.25rem}.button-group.expanded .button{flex:1 1 0px}.button-group.primary .button,.button-group.primary .button.disabled,.button-group.primary .button.disabled:focus,.button-group.primary .button.disabled:hover,.button-group.primary .button[disabled],.button-group.primary .button[disabled]:focus,.button-group.primary .button[disabled]:hover{background-color:#396d9d;color:#fefefe}.button-group.primary .button:focus,.button-group.primary .button:hover{background-color:#2e577e;color:#fefefe}.button-group.secondary .button,.button-group.secondary .button.disabled,.button-group.secondary .button.disabled:focus,.button-group.secondary .button.disabled:hover,.button-group.secondary .button[disabled],.button-group.secondary .button[disabled]:focus,.button-group.secondary .button[disabled]:hover{background-color:#767676;color:#fefefe}.button-group.secondary .button:focus,.button-group.secondary .button:hover{background-color:#5e5e5e;color:#fefefe}.button-group.success .button,.button-group.success .button.disabled,.button-group.success .button.disabled:focus,.button-group.success .button.disabled:hover,.button-group.success .button[disabled],.button-group.success .button[disabled]:focus,.button-group.success .button[disabled]:hover{background-color:#3adb76;color:#4d4d4d}.button-group.success .button:focus,.button-group.success .button:hover{background-color:#22bb5b;color:#4d4d4d}.button-group.warning .button,.button-group.warning .button.disabled,.button-group.warning .button.disabled:focus,.button-group.warning .button.disabled:hover,.button-group.warning .button[disabled],.button-group.warning .button[disabled]:focus,.button-group.warning .button[disabled]:hover{background-color:#ffeb3b;color:#4d4d4d}.button-group.warning .button:focus,.button-group.warning .button:hover{background-color:#fbe200;color:#4d4d4d}.button-group.alert .button,.button-group.alert .button.disabled,.button-group.alert .button.disabled:focus,.button-group.alert .button.disabled:hover,.button-group.alert .button[disabled],.button-group.alert .button[disabled]:focus,.button-group.alert .button[disabled]:hover{background-color:#cc4b37;color:#fefefe}.button-group.alert .button:focus,.button-group.alert .button:hover{background-color:#a53b2a;color:#fefefe}.button-group.hollow .button,.button-group.hollow .button.disabled,.button-group.hollow .button.disabled:focus,.button-group.hollow .button.disabled:hover,.button-group.hollow .button:focus,.button-group.hollow .button:hover,.button-group.hollow .button[disabled],.button-group.hollow .button[disabled]:focus,.button-group.hollow .button[disabled]:hover{background-color:transparent}.button-group.hollow .button,.button-group.hollow .button.disabled,.button-group.hollow .button.disabled:focus,.button-group.hollow .button.disabled:hover,.button-group.hollow .button[disabled],.button-group.hollow .button[disabled]:focus,.button-group.hollow .button[disabled]:hover{border:1px solid #396d9d;color:#396d9d}.button-group.hollow .button:focus,.button-group.hollow .button:hover{border-color:#1d374f;color:#1d374f}.button-group.hollow .button.primary,.button-group.hollow .button.primary.disabled,.button-group.hollow .button.primary.disabled:focus,.button-group.hollow .button.primary.disabled:hover,.button-group.hollow .button.primary[disabled],.button-group.hollow .button.primary[disabled]:focus,.button-group.hollow .button.primary[disabled]:hover,.button-group.hollow.primary .button,.button-group.hollow.primary .button.disabled,.button-group.hollow.primary .button.disabled:focus,.button-group.hollow.primary .button.disabled:hover,.button-group.hollow.primary .button[disabled],.button-group.hollow.primary .button[disabled]:focus,.button-group.hollow.primary .button[disabled]:hover{border:1px solid #396d9d;color:#396d9d}.button-group.hollow .button.primary:focus,.button-group.hollow .button.primary:hover,.button-group.hollow.primary .button:focus,.button-group.hollow.primary .button:hover{border-color:#1d374f;color:#1d374f}.button-group.hollow .button.secondary,.button-group.hollow .button.secondary.disabled,.button-group.hollow .button.secondary.disabled:focus,.button-group.hollow .button.secondary.disabled:hover,.button-group.hollow .button.secondary[disabled],.button-group.hollow .button.secondary[disabled]:focus,.button-group.hollow .button.secondary[disabled]:hover,.button-group.hollow.secondary .button,.button-group.hollow.secondary .button.disabled,.button-group.hollow.secondary .button.disabled:focus,.button-group.hollow.secondary .button.disabled:hover,.button-group.hollow.secondary .button[disabled],.button-group.hollow.secondary .button[disabled]:focus,.button-group.hollow.secondary .button[disabled]:hover{border:1px solid #767676;color:#767676}.button-group.hollow .button.secondary:focus,.button-group.hollow .button.secondary:hover,.button-group.hollow.secondary .button:focus,.button-group.hollow.secondary .button:hover{border-color:#3b3b3b;color:#3b3b3b}.button-group.hollow .button.success,.button-group.hollow .button.success.disabled,.button-group.hollow .button.success.disabled:focus,.button-group.hollow .button.success.disabled:hover,.button-group.hollow .button.success[disabled],.button-group.hollow .button.success[disabled]:focus,.button-group.hollow .button.success[disabled]:hover,.button-group.hollow.success .button,.button-group.hollow.success .button.disabled,.button-group.hollow.success .button.disabled:focus,.button-group.hollow.success .button.disabled:hover,.button-group.hollow.success .button[disabled],.button-group.hollow.success .button[disabled]:focus,.button-group.hollow.success .button[disabled]:hover{border:1px solid #3adb76;color:#3adb76}.button-group.hollow .button.success:focus,.button-group.hollow .button.success:hover,.button-group.hollow.success .button:focus,.button-group.hollow.success .button:hover{border-color:#157539;color:#157539}.button-group.hollow .button.warning,.button-group.hollow .button.warning.disabled,.button-group.hollow .button.warning.disabled:focus,.button-group.hollow .button.warning.disabled:hover,.button-group.hollow .button.warning[disabled],.button-group.hollow .button.warning[disabled]:focus,.button-group.hollow .button.warning[disabled]:hover,.button-group.hollow.warning .button,.button-group.hollow.warning .button.disabled,.button-group.hollow.warning .button.disabled:focus,.button-group.hollow.warning .button.disabled:hover,.button-group.hollow.warning .button[disabled],.button-group.hollow.warning .button[disabled]:focus,.button-group.hollow.warning .button[disabled]:hover{border:1px solid #ffeb3b;color:#ffeb3b}.button-group.hollow .button.warning:focus,.button-group.hollow .button.warning:hover,.button-group.hollow.warning .button:focus,.button-group.hollow.warning .button:hover{border-color:#9d8d00;color:#9d8d00}.button-group.hollow .button.alert,.button-group.hollow .button.alert.disabled,.button-group.hollow .button.alert.disabled:focus,.button-group.hollow .button.alert.disabled:hover,.button-group.hollow .button.alert[disabled],.button-group.hollow .button.alert[disabled]:focus,.button-group.hollow .button.alert[disabled]:hover,.button-group.hollow.alert .button,.button-group.hollow.alert .button.disabled,.button-group.hollow.alert .button.disabled:focus,.button-group.hollow.alert .button.disabled:hover,.button-group.hollow.alert .button[disabled],.button-group.hollow.alert .button[disabled]:focus,.button-group.hollow.alert .button[disabled]:hover{border:1px solid #cc4b37;color:#cc4b37}.button-group.hollow .button.alert:focus,.button-group.hollow .button.alert:hover,.button-group.hollow.alert .button:focus,.button-group.hollow.alert .button:hover{border-color:#67251a;color:#67251a}.button-group.clear .button,.button-group.clear .button.disabled,.button-group.clear .button.disabled:focus,.button-group.clear .button.disabled:hover,.button-group.clear .button:focus,.button-group.clear .button:hover,.button-group.clear .button[disabled],.button-group.clear .button[disabled]:focus,.button-group.clear .button[disabled]:hover{background-color:transparent;border-color:transparent}.button-group.clear .button,.button-group.clear .button.disabled,.button-group.clear .button.disabled:focus,.button-group.clear .button.disabled:hover,.button-group.clear .button[disabled],.button-group.clear .button[disabled]:focus,.button-group.clear .button[disabled]:hover{color:#396d9d}.button-group.clear .button:focus,.button-group.clear .button:hover{color:#1d374f}.button-group.clear .button.primary,.button-group.clear .button.primary.disabled,.button-group.clear .button.primary.disabled:focus,.button-group.clear .button.primary.disabled:hover,.button-group.clear .button.primary[disabled],.button-group.clear .button.primary[disabled]:focus,.button-group.clear .button.primary[disabled]:hover,.button-group.clear.primary .button,.button-group.clear.primary .button.disabled,.button-group.clear.primary .button.disabled:focus,.button-group.clear.primary .button.disabled:hover,.button-group.clear.primary .button[disabled],.button-group.clear.primary .button[disabled]:focus,.button-group.clear.primary .button[disabled]:hover{color:#396d9d}.button-group.clear .button.primary:focus,.button-group.clear .button.primary:hover,.button-group.clear.primary .button:focus,.button-group.clear.primary .button:hover{color:#1d374f}.button-group.clear .button.secondary,.button-group.clear .button.secondary.disabled,.button-group.clear .button.secondary.disabled:focus,.button-group.clear .button.secondary.disabled:hover,.button-group.clear .button.secondary[disabled],.button-group.clear .button.secondary[disabled]:focus,.button-group.clear .button.secondary[disabled]:hover,.button-group.clear.secondary .button,.button-group.clear.secondary .button.disabled,.button-group.clear.secondary .button.disabled:focus,.button-group.clear.secondary .button.disabled:hover,.button-group.clear.secondary .button[disabled],.button-group.clear.secondary .button[disabled]:focus,.button-group.clear.secondary .button[disabled]:hover{color:#767676}.button-group.clear .button.secondary:focus,.button-group.clear .button.secondary:hover,.button-group.clear.secondary .button:focus,.button-group.clear.secondary .button:hover{color:#3b3b3b}.button-group.clear .button.success,.button-group.clear .button.success.disabled,.button-group.clear .button.success.disabled:focus,.button-group.clear .button.success.disabled:hover,.button-group.clear .button.success[disabled],.button-group.clear .button.success[disabled]:focus,.button-group.clear .button.success[disabled]:hover,.button-group.clear.success .button,.button-group.clear.success .button.disabled,.button-group.clear.success .button.disabled:focus,.button-group.clear.success .button.disabled:hover,.button-group.clear.success .button[disabled],.button-group.clear.success .button[disabled]:focus,.button-group.clear.success .button[disabled]:hover{color:#3adb76}.button-group.clear .button.success:focus,.button-group.clear .button.success:hover,.button-group.clear.success .button:focus,.button-group.clear.success .button:hover{color:#157539}.button-group.clear .button.warning,.button-group.clear .button.warning.disabled,.button-group.clear .button.warning.disabled:focus,.button-group.clear .button.warning.disabled:hover,.button-group.clear .button.warning[disabled],.button-group.clear .button.warning[disabled]:focus,.button-group.clear .button.warning[disabled]:hover,.button-group.clear.warning .button,.button-group.clear.warning .button.disabled,.button-group.clear.warning .button.disabled:focus,.button-group.clear.warning .button.disabled:hover,.button-group.clear.warning .button[disabled],.button-group.clear.warning .button[disabled]:focus,.button-group.clear.warning .button[disabled]:hover{color:#ffeb3b}.button-group.clear .button.warning:focus,.button-group.clear .button.warning:hover,.button-group.clear.warning .button:focus,.button-group.clear.warning .button:hover{color:#9d8d00}.button-group.clear .button.alert,.button-group.clear .button.alert.disabled,.button-group.clear .button.alert.disabled:focus,.button-group.clear .button.alert.disabled:hover,.button-group.clear .button.alert[disabled],.button-group.clear .button.alert[disabled]:focus,.button-group.clear .button.alert[disabled]:hover,.button-group.clear.alert .button,.button-group.clear.alert .button.disabled,.button-group.clear.alert .button.disabled:focus,.button-group.clear.alert .button.disabled:hover,.button-group.clear.alert .button[disabled],.button-group.clear.alert .button[disabled]:focus,.button-group.clear.alert .button[disabled]:hover{color:#cc4b37}.button-group.clear .button.alert:focus,.button-group.clear .button.alert:hover,.button-group.clear.alert .button:focus,.button-group.clear.alert .button:hover{color:#67251a}.button-group.no-gaps .button{margin-right:-.0625rem}.button-group.no-gaps .button+.button{border-left-color:transparent}.button-group.stacked,.button-group.stacked-for-medium,.button-group.stacked-for-small{flex-wrap:wrap}.button-group.stacked .button,.button-group.stacked-for-medium .button,.button-group.stacked-for-small .button{flex:0 0 100%}.button-group.stacked .button:last-child,.button-group.stacked-for-medium .button:last-child,.button-group.stacked-for-small .button:last-child{margin-bottom:0}.button-group.stacked-for-medium.expanded .button,.button-group.stacked-for-small.expanded .button,.button-group.stacked.expanded .button{flex:1 1 0px}@media print,screen and (min-width:40em){.button-group.stacked-for-small .button{flex:0 0 auto;margin-bottom:0}}@media print,screen and (min-width:64em){.button-group.stacked-for-medium .button{flex:0 0 auto;margin-bottom:0}}@media print,screen and (max-width:39.99875em){.button-group.stacked-for-small.expanded{display:block}.button-group.stacked-for-small.expanded .button{display:block;margin-right:0}}@media print,screen and (max-width:63.99875em){.button-group.stacked-for-medium.expanded{display:block}.button-group.stacked-for-medium.expanded .button{display:block;margin-right:0}}.close-button{color:#666;cursor:pointer;position:absolute;z-index:10}[data-whatinput=mouse] .close-button{outline:0}.close-button:focus,.close-button:hover{color:#4d4d4d}.close-button.small{font-size:1.5em;line-height:1;right:.66rem;top:.33em}.close-button,.close-button.medium{font-size:2em;line-height:1;right:1rem;top:.5rem}.label{border-radius:5px;cursor:default;display:inline-block;font-size:.8rem;line-height:1;padding:.33333rem .5rem;white-space:nowrap}.label,.label.primary{background:#396d9d;color:#fefefe}.label.secondary{background:#767676;color:#fefefe}.label.success{background:#3adb76;color:#4d4d4d}.label.warning{background:#ffeb3b;color:#4d4d4d}.label.alert{background:#cc4b37;color:#fefefe}.progress{background-color:#fefefe;border-radius:5px;height:1rem;margin-bottom:1rem}.progress.primary .progress-meter{background-color:#396d9d}.progress.secondary .progress-meter{background-color:#767676}.progress.success .progress-meter{background-color:#3adb76}.progress.warning .progress-meter{background-color:#ffeb3b}.progress.alert .progress-meter{background-color:#cc4b37}.progress-meter{background-color:#fdf4ac;border-radius:5px;display:block;height:100%;position:relative;width:0}.progress-meter-text{border-radius:5px;color:#fefefe;font-size:.75rem;font-weight:700;left:50%;margin:0;position:absolute;top:50%;transform:translate(-50%,-50%);white-space:nowrap}.slider{background-color:#e6e6e6;cursor:pointer;height:.5rem;margin-bottom:2.25rem;margin-top:1.25rem;position:relative;touch-action:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.slider-fill{background-color:#aaa;display:inline-block;height:.5rem;left:0;max-width:100%;position:absolute;top:0;transition:all .2s ease-in-out}.slider-fill.is-dragging{transition:all 0s linear}.slider-handle{background-color:#396d9d;border-radius:5px;cursor:-webkit-grab;cursor:grab;display:inline-block;height:1.4rem;left:0;position:absolute;top:50%;touch-action:manipulation;transform:translateY(-50%);transition:all .2s ease-in-out;width:1.4rem;z-index:1}[data-whatinput=mouse] .slider-handle{outline:0}.slider-handle:hover{background-color:#305d85}.slider-handle.is-dragging{cursor:-webkit-grabbing;cursor:grabbing;transition:all 0s linear}.slider.disabled,.slider[disabled]{cursor:not-allowed;opacity:.25}.slider.vertical{display:inline-block;height:12.5rem;margin:0 1.25rem;transform:scaleY(-1);width:.5rem}.slider.vertical .slider-fill{max-height:100%;top:0;width:.5rem}.slider.vertical .slider-handle{height:1.4rem;left:50%;position:absolute;top:0;transform:translateX(-50%);width:1.4rem}.switch{color:#fefefe;font-size:.875rem;font-weight:700;height:2rem;margin-bottom:1rem;outline:0;position:relative;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.switch-input{margin-bottom:0;opacity:0;position:absolute}.switch-paddle{background:#aaa;border-radius:5px;color:inherit;cursor:pointer;display:block;font-weight:inherit;height:2rem;position:relative;transition:all .25s ease-out;width:4rem}input+.switch-paddle{margin:0}.switch-paddle:after{background:#fefefe;border-radius:5px;content:"";display:block;height:1.5rem;left:.25rem;position:absolute;top:.25rem;transform:translateZ(0);transition:all .25s ease-out;width:1.5rem}input:checked~.switch-paddle{background:#396d9d}input:checked~.switch-paddle:after{left:2.25rem}input:disabled~.switch-paddle{cursor:not-allowed;opacity:.5}[data-whatinput=mouse] input:focus~.switch-paddle{outline:0}.switch-active,.switch-inactive{position:absolute;top:50%;transform:translateY(-50%)}.switch-active{display:none;left:8%}input:checked+label>.switch-active{display:block}.switch-inactive{right:15%}input:checked+label>.switch-inactive{display:none}.switch.tiny{height:1.5rem}.switch.tiny .switch-paddle{font-size:.625rem;height:1.5rem;width:3rem}.switch.tiny .switch-paddle:after{height:1rem;left:.25rem;top:.25rem;width:1rem}.switch.tiny input:checked~.switch-paddle:after{left:1.75rem}.switch.small{height:1.75rem}.switch.small .switch-paddle{font-size:.75rem;height:1.75rem;width:3.5rem}.switch.small .switch-paddle:after{height:1.25rem;left:.25rem;top:.25rem;width:1.25rem}.switch.small input:checked~.switch-paddle:after{left:2rem}.switch.large{height:2.5rem}.switch.large .switch-paddle{font-size:1rem;height:2.5rem;width:5rem}.switch.large .switch-paddle:after{height:2rem;left:.25rem;top:.25rem;width:2rem}.switch.large input:checked~.switch-paddle:after{left:2.75rem}table{border-collapse:collapse;border-radius:5px;margin-bottom:1rem;width:100%}tbody,tfoot,thead{background-color:#fefefe;border:1px solid #f1f1f1}caption{font-weight:800;padding:.5rem .625rem .625rem}thead{background:#f8f8f8}tfoot,thead{color:#4d4d4d}tfoot{background:#f1f1f1}tfoot tr,thead tr{background:transparent}tfoot td,tfoot th,thead td,thead th{font-weight:800;padding:.5rem .625rem .625rem;text-align:left}tbody td,tbody th{padding:.5rem .625rem .625rem}tbody tr:nth-child(2n){background-color:#f1f1f1;border-bottom:0}table.unstriped tbody{background-color:#fefefe}table.unstriped tbody tr{background-color:#fefefe;border-bottom:1px solid #f1f1f1}@media print,screen and (max-width:63.99875em){table.stack tfoot,table.stack thead{display:none}table.stack td,table.stack th,table.stack tr{display:block}table.stack td{border-top:0}}table.scroll{display:block;overflow-x:auto;width:100%}table.hover thead tr:hover{background-color:#f3f3f3}table.hover tfoot tr:hover{background-color:#ececec}table.hover tbody tr:hover{background-color:#f9f9f9}table.hover:not(.unstriped) tr:nth-of-type(2n):hover{background-color:#ececec}.table-scroll{overflow-x:auto}.badge{border-radius:50%;display:inline-block;font-size:.6rem;min-width:2.1em;padding:.3em;text-align:center}.badge,.badge.primary{background:#396d9d;color:#fefefe}.badge.secondary{background:#767676;color:#fefefe}.badge.success{background:#3adb76;color:#4d4d4d}.badge.warning{background:#ffeb3b;color:#4d4d4d}.badge.alert{background:#cc4b37;color:#fefefe}.breadcrumbs{list-style:none;margin:0 0 1rem}.breadcrumbs:after,.breadcrumbs:before{content:" ";display:table;flex-basis:0;order:1}.breadcrumbs:after{clear:both}.breadcrumbs li{color:#4d4d4d;cursor:default;float:left;font-size:.6875rem;text-transform:uppercase}.breadcrumbs li:not(:last-child):after{color:#aaa;content:"/";margin:0 .75rem;opacity:1;position:relative}.breadcrumbs a{color:#396d9d}.breadcrumbs a:hover{text-decoration:underline}.breadcrumbs .disabled{color:#aaa;cursor:not-allowed}.callout{background-color:#fff;border:none;border-radius:5px;color:#4d4d4d;margin:0 0 1rem;padding:1rem;position:relative}.callout>:first-child{margin-top:0}.callout>:last-child{margin-bottom:0}.callout.primary{background-color:#dee9f3;color:#4d4d4d}.callout.secondary{background-color:#eaeaea;color:#4d4d4d}.callout.success{background-color:#e1faea;color:#4d4d4d}.callout.warning{background-color:#fffce2;color:#4d4d4d}.callout.alert{background-color:#f7e4e1;color:#4d4d4d}.callout.small{padding:.5rem}.callout.large{padding:3rem}.card{background:#fefefe;border:1px solid #e6e6e6;border-radius:5px;box-shadow:none;color:#4d4d4d;display:flex;flex-direction:column;flex-grow:1;margin-bottom:1rem;overflow:hidden}.card>:last-child{margin-bottom:0}.card-divider{background:#e6e6e6;display:flex;flex:0 1 auto;padding:1rem}.card-divider>:last-child{margin-bottom:0}.card-section{flex:1 0 auto;padding:1rem}.card-section>:last-child{margin-bottom:0}.card-image{min-height:1px}.dropdown-pane{background-color:#fefefe;border:1px solid #aaa;border-radius:5px;display:none;font-size:1rem;padding:1rem;position:absolute;visibility:hidden;width:300px;z-index:10}.dropdown-pane.is-opening{display:block}.dropdown-pane.is-open{display:block;visibility:visible}.dropdown-pane.tiny{width:100px}.dropdown-pane.small{width:200px}.dropdown-pane.large{width:400px}.pagination{margin-bottom:1rem;margin-left:0}.pagination:after,.pagination:before{content:" ";display:table;flex-basis:0;order:1}.pagination:after{clear:both}.pagination li{border-radius:5px;display:none;font-size:.875rem;margin-right:.0625rem}.pagination li:first-child,.pagination li:last-child{display:inline-block}@media print,screen and (min-width:40em){.pagination li{display:inline-block}}.pagination a,.pagination button{border-radius:5px;color:#4d4d4d;display:block;padding:.1875rem .625rem}.pagination a:hover,.pagination button:hover{background:#e6e6e6}.pagination .current{background:#396d9d;color:#fefefe;cursor:default;padding:.1875rem .625rem}.pagination .disabled{color:#aaa;cursor:not-allowed;padding:.1875rem .625rem}.pagination .disabled:hover{background:transparent}.pagination .ellipsis:after{color:#4d4d4d;content:"…";padding:.1875rem .625rem}.pagination-previous a:before,.pagination-previous.disabled:before{content:"«";display:inline-block;margin-right:.5rem}.pagination-next a:after,.pagination-next.disabled:after{content:"»";display:inline-block;margin-left:.5rem}.has-tip{border-bottom:1px dotted #666;cursor:help;display:inline-block;font-weight:800;position:relative}.tooltip{background-color:#4d4d4d;border-radius:5px;color:#fefefe;font-size:80%;max-width:10rem;padding:.75rem;top:calc(100% + .6495rem);z-index:1200}.tooltip,.tooltip:before{position:absolute}.tooltip.bottom:before{border-color:transparent transparent #4d4d4d;border-style:solid;border-width:0 .75rem .75rem;bottom:100%;content:"";display:block;height:0;width:0}.tooltip.bottom.align-center:before{left:50%;transform:translateX(-50%)}.tooltip.top:before{border-color:#4d4d4d transparent transparent;border-style:solid;border-width:.75rem .75rem 0;bottom:auto;content:"";display:block;height:0;top:100%;width:0}.tooltip.top.align-center:before{left:50%;transform:translateX(-50%)}.tooltip.left:before{border-color:transparent transparent transparent #4d4d4d;border-style:solid;border-width:.75rem 0 .75rem .75rem;content:"";display:block;height:0;left:100%;width:0}.tooltip.left.align-center:before{bottom:auto;top:50%;transform:translateY(-50%)}.tooltip.right:before{border-color:transparent #4d4d4d transparent transparent;border-style:solid;border-width:.75rem .75rem .75rem 0;content:"";display:block;height:0;left:auto;right:100%;width:0}.tooltip.right.align-center:before{bottom:auto;top:50%;transform:translateY(-50%)}.tooltip.align-top:before{bottom:auto;top:10%}.tooltip.align-bottom:before{bottom:10%;top:auto}.tooltip.align-left:before{left:10%;right:auto}.tooltip.align-right:before{left:auto;right:10%}.accordion{background:#fefefe;list-style-type:none;margin-left:0}.accordion[disabled] .accordion-title{cursor:not-allowed}.accordion-item:first-child>:first-child{border-radius:5px 5px 0 0}.accordion-item:last-child>:last-child{border-radius:0 0 5px 5px}.accordion-title{border:1px solid #e6e6e6;border-bottom:0;color:#396d9d;display:block;font-size:.75rem;line-height:1;padding:1.25rem 1rem;position:relative}:last-child:not(.is-active)>.accordion-title{border-bottom:1px solid #e6e6e6;border-radius:0 0 5px 5px}.accordion-title:focus,.accordion-title:hover{background-color:#e6e6e6}.accordion-title:before{content:"+";margin-top:-.5rem;position:absolute;right:1rem;top:50%}.is-active>.accordion-title:before{content:"–"}.accordion-content{background-color:#fefefe;border:1px solid #e6e6e6;border-bottom:0;color:#4d4d4d;display:none;padding:1rem}:last-child>.accordion-content:last-child{border-bottom:1px solid #e6e6e6}.media-object{display:flex;flex-wrap:nowrap;margin-bottom:1rem}.media-object img{max-width:none}@media print,screen and (max-width:39.99875em){.media-object.stack-for-small{flex-wrap:wrap}}.media-object-section{flex:0 1 auto}.media-object-section:first-child{padding-right:1rem}.media-object-section:last-child:not(:nth-child(2)){padding-left:1rem}.media-object-section>:last-child{margin-bottom:0}@media print,screen and (max-width:39.99875em){.stack-for-small .media-object-section{flex-basis:100%;max-width:100%;padding:0 0 1rem}.stack-for-small .media-object-section img{width:100%}}.media-object-section.main-section{flex:1 1 0px}.orbit,.orbit-container{position:relative}.orbit-container{height:0;list-style:none;margin:0;overflow:hidden}.orbit-slide{position:absolute;width:100%}.orbit-slide.no-motionui.is-active{left:0;top:0}.orbit-figure{margin:0}.orbit-image{margin:0;max-width:100%;width:100%}.orbit-caption{background-color:rgba(77,77,77,.5);bottom:0;margin-bottom:0;width:100%}.orbit-caption,.orbit-next,.orbit-previous{color:#fefefe;padding:1rem;position:absolute}.orbit-next,.orbit-previous{top:50%;transform:translateY(-50%);z-index:10}[data-whatinput=mouse] .orbit-next,[data-whatinput=mouse] .orbit-previous{outline:0}.orbit-next:active,.orbit-next:focus,.orbit-next:hover,.orbit-previous:active,.orbit-previous:focus,.orbit-previous:hover{background-color:rgba(77,77,77,.5)}.orbit-previous{left:0}.orbit-next{left:auto;right:0}.orbit-bullets{margin-bottom:.8rem;margin-top:.8rem;position:relative;text-align:center}[data-whatinput=mouse] .orbit-bullets{outline:0}.orbit-bullets button{background-color:#aaa;border-radius:50%;height:1.2rem;margin:.1rem;width:1.2rem}.orbit-bullets button.is-active,.orbit-bullets button:hover{background-color:#666}.flex-video,.responsive-embed{height:0;margin-bottom:1rem;overflow:hidden;padding-bottom:75%;position:relative}.flex-video embed,.flex-video iframe,.flex-video object,.flex-video video,.responsive-embed embed,.responsive-embed iframe,.responsive-embed object,.responsive-embed video{height:100%;left:0;position:absolute;top:0;width:100%}.flex-video.widescreen,.responsive-embed.widescreen{padding-bottom:56.25%}.tabs{background:#fefefe;border:1px solid #e6e6e6;list-style-type:none;margin:0}.tabs:after,.tabs:before{content:" ";display:table;flex-basis:0;order:1}.tabs:after{clear:both}.tabs.vertical>li{display:block;float:none;width:auto}.tabs.simple>li>a{padding:0}.tabs.simple>li>a:hover{background:transparent}.tabs.primary{background:#396d9d}.tabs.primary>li>a{color:#fefefe}.tabs.primary>li>a:focus,.tabs.primary>li>a:hover{background:#366895}.tabs-title{float:left}.tabs-title>a{color:#396d9d;display:block;font-size:.75rem;line-height:1;padding:1.25rem 1.5rem}[data-whatinput=mouse] .tabs-title>a{outline:0}.tabs-title>a:hover{background:#fefefe;color:#315e87}.tabs-title>a:focus,.tabs-title>a[aria-selected=true]{background:#e6e6e6;color:#396d9d}.tabs-content{background:#fefefe;border:1px solid #e6e6e6;border-top:0;color:#4d4d4d;transition:all .5s ease}.tabs-content.vertical{border:1px solid #e6e6e6;border-left:0}.tabs-panel{display:none;padding:1rem}.tabs-panel.is-active{display:block}.thumbnail{border:4px solid #fefefe;border-radius:5px;box-shadow:0 0 0 1px rgba(77,77,77,.2);display:inline-block;line-height:0;margin-bottom:1rem;max-width:100%}a.thumbnail{transition:box-shadow .2s ease-out}a.thumbnail:focus,a.thumbnail:hover{box-shadow:0 0 6px 1px rgba(57,109,157,.5)}a.thumbnail image{box-shadow:none}.menu{display:flex;flex-wrap:wrap;list-style:none;margin:0;padding:0;position:relative}[data-whatinput=mouse] .menu li{outline:0}.menu .button,.menu a{display:block;line-height:1;padding:.7rem 1rem;text-decoration:none}.menu a,.menu button,.menu input,.menu select{margin-bottom:0}.menu input{display:inline-block}.menu,.menu.horizontal{flex-direction:row;flex-wrap:wrap}.menu.vertical{flex-direction:column;flex-wrap:nowrap}.menu.vertical.icon-bottom li a i,.menu.vertical.icon-bottom li a img,.menu.vertical.icon-bottom li a svg,.menu.vertical.icon-top li a i,.menu.vertical.icon-top li a img,.menu.vertical.icon-top li a svg{text-align:left}.menu.expanded li{flex:1 1 0px}.menu.expanded.icon-bottom li a i,.menu.expanded.icon-bottom li a img,.menu.expanded.icon-bottom li a svg,.menu.expanded.icon-top li a i,.menu.expanded.icon-top li a img,.menu.expanded.icon-top li a svg{text-align:left}.menu.simple{align-items:center}.menu.simple li+li{margin-left:1rem}.menu.simple a{padding:0}@media print,screen and (min-width:40em){.menu.medium-horizontal{flex-direction:row;flex-wrap:wrap}.menu.medium-vertical{flex-direction:column;flex-wrap:nowrap}.menu.medium-expanded li,.menu.medium-simple li{flex:1 1 0px}}@media print,screen and (min-width:64em){.menu.large-horizontal{flex-direction:row;flex-wrap:wrap}.menu.large-vertical{flex-direction:column;flex-wrap:nowrap}.menu.large-expanded li,.menu.large-simple li{flex:1 1 0px}}.menu.nested{margin-left:1rem;margin-right:0}.menu.icon-bottom a,.menu.icon-left a,.menu.icon-right a,.menu.icon-top a,.menu.icons a{display:flex}.menu.icon-left li a,.menu.nested.icon-left li a{flex-flow:row nowrap}.menu.icon-left li a i,.menu.icon-left li a img,.menu.icon-left li a svg,.menu.nested.icon-left li a i,.menu.nested.icon-left li a img,.menu.nested.icon-left li a svg{margin-right:.25rem}.menu.icon-right li a,.menu.nested.icon-right li a{flex-flow:row nowrap}.menu.icon-right li a i,.menu.icon-right li a img,.menu.icon-right li a svg,.menu.nested.icon-right li a i,.menu.nested.icon-right li a img,.menu.nested.icon-right li a svg{margin-left:.25rem}.menu.icon-top li a,.menu.nested.icon-top li a{flex-flow:column nowrap}.menu.icon-top li a i,.menu.icon-top li a img,.menu.icon-top li a svg,.menu.nested.icon-top li a i,.menu.nested.icon-top li a img,.menu.nested.icon-top li a svg{align-self:stretch;margin-bottom:.25rem;text-align:center}.menu.icon-bottom li a,.menu.nested.icon-bottom li a{flex-flow:column nowrap}.menu.icon-bottom li a i,.menu.icon-bottom li a img,.menu.icon-bottom li a svg,.menu.nested.icon-bottom li a i,.menu.nested.icon-bottom li a img,.menu.nested.icon-bottom li a svg{align-self:stretch;margin-bottom:.25rem;text-align:center}.menu .active>a,.menu .is-active>a{background:#396d9d;color:#fefefe}.menu.align-left{justify-content:flex-start}.menu.align-right li{display:flex;justify-content:flex-end}.menu.align-right li .submenu li{justify-content:flex-start}.menu.align-right.vertical li{display:block;text-align:right}.menu.align-right.icon-bottom li a i,.menu.align-right.icon-bottom li a img,.menu.align-right.icon-bottom li a svg,.menu.align-right.icon-top li a i,.menu.align-right.icon-top li a img,.menu.align-right.icon-top li a svg,.menu.align-right.vertical li .submenu li{text-align:right}.menu.align-right .nested{margin-left:0;margin-right:1rem}.menu.align-center li{display:flex;justify-content:center}.menu.align-center li .submenu li{justify-content:flex-start}.menu .menu-text{color:inherit;font-weight:700;line-height:1;padding:.7rem 1rem}.menu-centered>.menu{justify-content:center}.menu-centered>.menu li{display:flex;justify-content:center}.menu-centered>.menu li .submenu li{justify-content:flex-start}.no-js [data-responsive-menu] ul{display:none}.menu-icon{cursor:pointer;display:inline-block;height:16px;position:relative;vertical-align:middle;width:20px}.menu-icon:after{background:#fefefe;box-shadow:0 7px 0 #fefefe,0 14px 0 #fefefe;content:"";display:block;height:2px;left:0;position:absolute;top:0;width:100%}.menu-icon:hover:after{background:#aaa;box-shadow:0 7px 0 #aaa,0 14px 0 #aaa}.menu-icon.dark{cursor:pointer;display:inline-block;height:16px;position:relative;vertical-align:middle;width:20px}.menu-icon.dark:after{background:#4d4d4d;box-shadow:0 7px 0 #4d4d4d,0 14px 0 #4d4d4d;content:"";display:block;height:2px;left:0;position:absolute;top:0;width:100%}.menu-icon.dark:hover:after{background:#666;box-shadow:0 7px 0 #666,0 14px 0 #666}.accordion-menu li{width:100%}.accordion-menu .is-accordion-submenu a,.accordion-menu a{padding:.7rem 1rem}.accordion-menu .nested.is-accordion-submenu{margin-left:1rem;margin-right:0}.accordion-menu.align-right .nested.is-accordion-submenu{margin-left:0;margin-right:1rem}.accordion-menu .is-accordion-submenu-parent:not(.has-submenu-toggle)>a{position:relative}.accordion-menu .is-accordion-submenu-parent:not(.has-submenu-toggle)>a:after{border-color:#396d9d transparent transparent;border-style:solid;border-width:6px 6px 0;content:"";display:block;height:0;margin-top:-3px;position:absolute;right:1rem;top:50%;width:0}.accordion-menu.align-left .is-accordion-submenu-parent>a:after{left:auto;right:1rem}.accordion-menu.align-right .is-accordion-submenu-parent>a:after{left:1rem;right:auto}.accordion-menu .is-accordion-submenu-parent[aria-expanded=true]>a:after{transform:rotate(180deg);transform-origin:50% 50%}.is-accordion-submenu-parent{position:relative}.has-submenu-toggle>a{margin-right:40px}.submenu-toggle{cursor:pointer;height:40px;position:absolute;right:0;top:0;width:40px}.submenu-toggle:after{border-color:#396d9d transparent transparent;border-style:solid;border-width:6px 6px 0;bottom:0;content:"";display:block;height:0;margin:auto;top:0;width:0}.submenu-toggle[aria-expanded=true]:after{transform:scaleY(-1);transform-origin:50% 50%}.submenu-toggle-text{clip:rect(0,0,0,0)!important;border:0!important;height:1px!important;overflow:hidden!important;padding:0!important;position:absolute!important;white-space:nowrap!important;width:1px!important}.is-drilldown{overflow:hidden;position:relative}.is-drilldown li{display:block}.is-drilldown.animate-height{transition:height .5s}.drilldown a{background:#fefefe;padding:.7rem 1rem}.drilldown .is-drilldown-submenu{background:#fefefe;left:100%;position:absolute;top:0;transition:transform .15s linear;width:100%;z-index:-1}.drilldown .is-drilldown-submenu.is-active{display:block;transform:translateX(-100%);z-index:1}.drilldown .is-drilldown-submenu.is-closing{transform:translateX(100%)}.drilldown .is-drilldown-submenu a{padding:.7rem 1rem}.drilldown .nested.is-drilldown-submenu{margin-left:0;margin-right:0}.drilldown .drilldown-submenu-cover-previous{min-height:100%}.drilldown .is-drilldown-submenu-parent>a{position:relative}.drilldown .is-drilldown-submenu-parent>a:after{margin-top:-6px;position:absolute;top:50%}.drilldown .is-drilldown-submenu-parent>a:after,.drilldown.align-left .is-drilldown-submenu-parent>a:after{border-color:transparent transparent transparent #396d9d;border-style:solid;border-width:6px 0 6px 6px;content:"";display:block;height:0;right:1rem;width:0}.drilldown.align-left .is-drilldown-submenu-parent>a:after{left:auto}.drilldown.align-right .is-drilldown-submenu-parent>a:after{left:1rem;right:auto}.drilldown .js-drilldown-back>a:before,.drilldown.align-right .is-drilldown-submenu-parent>a:after{border-color:transparent #396d9d transparent transparent;border-style:solid;border-width:6px 6px 6px 0;content:"";display:block;height:0;width:0}.drilldown .js-drilldown-back>a:before{display:inline-block;margin-right:.75rem;vertical-align:middle}.dropdown.menu>li.opens-left>.is-dropdown-submenu{left:auto;right:0;top:100%}.dropdown.menu>li.opens-right>.is-dropdown-submenu{left:0;right:auto;top:100%}.dropdown.menu>li.is-dropdown-submenu-parent>a{padding-right:1.5rem;position:relative}.dropdown.menu>li.is-dropdown-submenu-parent>a:after{border-color:#396d9d transparent transparent;border-style:solid;border-width:6px 6px 0;content:"";display:block;height:0;left:auto;margin-top:-3px;right:5px;width:0}[data-whatinput=mouse] .dropdown.menu a{outline:0}.dropdown.menu>li>a{padding:.7rem 1rem}.dropdown.menu>li.is-active>a{background:transparent;color:#396d9d}.no-js .dropdown.menu ul{display:none}.dropdown.menu .nested.is-dropdown-submenu{margin-left:0;margin-right:0}.dropdown.menu.vertical>li .is-dropdown-submenu{top:0}.dropdown.menu.vertical>li.opens-left>.is-dropdown-submenu{left:auto;right:100%;top:0}.dropdown.menu.vertical>li.opens-right>.is-dropdown-submenu{left:100%;right:auto}.dropdown.menu.vertical>li>a:after{right:14px}.dropdown.menu.vertical>li.opens-left>a:after{border-color:transparent #396d9d transparent transparent;border-style:solid;border-width:6px 6px 6px 0;content:"";display:block;height:0;left:5px;right:auto;width:0}.dropdown.menu.vertical>li.opens-right>a:after{border-color:transparent transparent transparent #396d9d;border-style:solid;border-width:6px 0 6px 6px;content:"";display:block;height:0;width:0}@media print,screen and (min-width:40em){.dropdown.menu.medium-horizontal>li.opens-left>.is-dropdown-submenu{left:auto;right:0;top:100%}.dropdown.menu.medium-horizontal>li.opens-right>.is-dropdown-submenu{left:0;right:auto;top:100%}.dropdown.menu.medium-horizontal>li.is-dropdown-submenu-parent>a{padding-right:1.5rem;position:relative}.dropdown.menu.medium-horizontal>li.is-dropdown-submenu-parent>a:after{border-color:#396d9d transparent transparent;border-style:solid;border-width:6px 6px 0;content:"";display:block;height:0;left:auto;margin-top:-3px;right:5px;width:0}.dropdown.menu.medium-vertical>li .is-dropdown-submenu{top:0}.dropdown.menu.medium-vertical>li.opens-left>.is-dropdown-submenu{left:auto;right:100%;top:0}.dropdown.menu.medium-vertical>li.opens-right>.is-dropdown-submenu{left:100%;right:auto}.dropdown.menu.medium-vertical>li>a:after{right:14px}.dropdown.menu.medium-vertical>li.opens-left>a:after{border-color:transparent #396d9d transparent transparent;border-style:solid;border-width:6px 6px 6px 0;content:"";display:block;height:0;left:5px;right:auto;width:0}.dropdown.menu.medium-vertical>li.opens-right>a:after{border-color:transparent transparent transparent #396d9d;border-style:solid;border-width:6px 0 6px 6px;content:"";display:block;height:0;width:0}}@media print,screen and (min-width:64em){.dropdown.menu.large-horizontal>li.opens-left>.is-dropdown-submenu{left:auto;right:0;top:100%}.dropdown.menu.large-horizontal>li.opens-right>.is-dropdown-submenu{left:0;right:auto;top:100%}.dropdown.menu.large-horizontal>li.is-dropdown-submenu-parent>a{padding-right:1.5rem;position:relative}.dropdown.menu.large-horizontal>li.is-dropdown-submenu-parent>a:after{border-color:#396d9d transparent transparent;border-style:solid;border-width:6px 6px 0;content:"";display:block;height:0;left:auto;margin-top:-3px;right:5px;width:0}.dropdown.menu.large-vertical>li .is-dropdown-submenu{top:0}.dropdown.menu.large-vertical>li.opens-left>.is-dropdown-submenu{left:auto;right:100%;top:0}.dropdown.menu.large-vertical>li.opens-right>.is-dropdown-submenu{left:100%;right:auto}.dropdown.menu.large-vertical>li>a:after{right:14px}.dropdown.menu.large-vertical>li.opens-left>a:after{border-color:transparent #396d9d transparent transparent;border-style:solid;border-width:6px 6px 6px 0;content:"";display:block;height:0;left:5px;right:auto;width:0}.dropdown.menu.large-vertical>li.opens-right>a:after{border-color:transparent transparent transparent #396d9d;border-style:solid;border-width:6px 0 6px 6px;content:"";display:block;height:0;width:0}}.dropdown.menu.align-right .is-dropdown-submenu.first-sub{left:auto;right:0;top:100%}.is-dropdown-menu.vertical{width:100px}.is-dropdown-menu.vertical.align-right{float:right}.is-dropdown-submenu-parent{position:relative}.is-dropdown-submenu-parent a:after{left:auto;margin-top:-6px;position:absolute;right:5px;top:50%}.is-dropdown-submenu-parent.opens-inner>.is-dropdown-submenu{left:auto;top:100%}.is-dropdown-submenu-parent.opens-left>.is-dropdown-submenu{left:auto;right:100%}.is-dropdown-submenu-parent.opens-right>.is-dropdown-submenu{left:100%;right:auto}.is-dropdown-submenu{background:#fefefe;border:1px solid #aaa;display:none;left:100%;min-width:200px;position:absolute;top:0;z-index:1}.dropdown .is-dropdown-submenu a{padding:.7rem 1rem}.is-dropdown-submenu .is-dropdown-submenu-parent>a:after{right:14px}.is-dropdown-submenu .is-dropdown-submenu-parent.opens-left>a:after{border-color:transparent #396d9d transparent transparent;border-style:solid;border-width:6px 6px 6px 0;content:"";display:block;height:0;left:5px;right:auto;width:0}.is-dropdown-submenu .is-dropdown-submenu-parent.opens-right>a:after{border-color:transparent transparent transparent #396d9d;border-style:solid;border-width:6px 0 6px 6px;content:"";display:block;height:0;width:0}.is-dropdown-submenu .is-dropdown-submenu{margin-top:-1px}.is-dropdown-submenu>li{width:100%}.is-dropdown-submenu.js-dropdown-active{display:block}.is-off-canvas-open{overflow:hidden}.js-off-canvas-overlay{background:hsla(0,0%,100%,.25);height:100%;left:0;opacity:0;overflow:hidden;position:absolute;top:0;transition:opacity .5s ease,visibility .5s ease;visibility:hidden;width:100%;z-index:11}.js-off-canvas-overlay.is-visible{opacity:1;visibility:visible}.js-off-canvas-overlay.is-closable{cursor:pointer}.js-off-canvas-overlay.is-overlay-absolute{position:absolute}.js-off-canvas-overlay.is-overlay-fixed{position:fixed}.off-canvas-wrapper{overflow:hidden;position:relative}.off-canvas{-webkit-backface-visibility:hidden;backface-visibility:hidden;background:#e6e6e6;position:fixed;transition:transform .5s ease;z-index:12}[data-whatinput=mouse] .off-canvas{outline:0}.off-canvas.is-transition-push{z-index:12}.off-canvas.is-closed{visibility:hidden}.off-canvas.is-transition-overlap{z-index:13}.off-canvas.is-transition-overlap.is-open{box-shadow:0 0 10px rgba(77,77,77,.7)}.off-canvas.is-open{transform:translate(0)}.off-canvas-absolute{-webkit-backface-visibility:hidden;backface-visibility:hidden;background:#e6e6e6;position:absolute;transition:transform .5s ease;z-index:12}[data-whatinput=mouse] .off-canvas-absolute{outline:0}.off-canvas-absolute.is-transition-push{z-index:12}.off-canvas-absolute.is-closed{visibility:hidden}.off-canvas-absolute.is-transition-overlap{z-index:13}.off-canvas-absolute.is-transition-overlap.is-open{box-shadow:0 0 10px rgba(77,77,77,.7)}.off-canvas-absolute.is-open{transform:translate(0)}.position-left{-webkit-overflow-scrolling:touch;height:100%;left:0;overflow-y:auto;top:0;width:250px}.off-canvas-content .off-canvas.position-left,.position-left{transform:translateX(-250px)}.off-canvas-content .off-canvas.position-left.is-transition-overlap.is-open{transform:translate(0)}.off-canvas-content.is-open-left.has-transition-push{transform:translateX(250px)}.position-left.is-transition-push{box-shadow:inset -13px 0 20px -13px rgba(77,77,77,.25)}.position-right{-webkit-overflow-scrolling:touch;height:100%;overflow-y:auto;right:0;top:0;width:250px}.off-canvas-content .off-canvas.position-right,.position-right{transform:translateX(250px)}.off-canvas-content .off-canvas.position-right.is-transition-overlap.is-open{transform:translate(0)}.off-canvas-content.is-open-right.has-transition-push{transform:translateX(-250px)}.position-right.is-transition-push{box-shadow:inset 13px 0 20px -13px rgba(77,77,77,.25)}.position-top{-webkit-overflow-scrolling:touch;height:250px;left:0;overflow-x:auto;top:0;width:100%}.off-canvas-content .off-canvas.position-top,.position-top{transform:translateY(-250px)}.off-canvas-content .off-canvas.position-top.is-transition-overlap.is-open{transform:translate(0)}.off-canvas-content.is-open-top.has-transition-push{transform:translateY(250px)}.position-top.is-transition-push{box-shadow:inset 0 -13px 20px -13px rgba(77,77,77,.25)}.position-bottom{-webkit-overflow-scrolling:touch;bottom:0;height:250px;left:0;overflow-x:auto;width:100%}.off-canvas-content .off-canvas.position-bottom,.position-bottom{transform:translateY(250px)}.off-canvas-content .off-canvas.position-bottom.is-transition-overlap.is-open{transform:translate(0)}.off-canvas-content.is-open-bottom.has-transition-push{transform:translateY(-250px)}.position-bottom.is-transition-push{box-shadow:inset 0 13px 20px -13px rgba(77,77,77,.25)}.off-canvas-content{-webkit-backface-visibility:hidden;backface-visibility:hidden;transform:none}.off-canvas-content.has-transition-overlap,.off-canvas-content.has-transition-push{transition:transform .5s ease}.off-canvas-content .off-canvas.is-open,.off-canvas-content.has-transition-push{transform:translate(0)}@media print,screen and (min-width:40em){.position-left.reveal-for-medium{transform:none;transition:none;visibility:visible;z-index:12}.position-left.reveal-for-medium .close-button{display:none}.off-canvas-content .position-left.reveal-for-medium{transform:none}.off-canvas-content.has-reveal-left,.position-left.reveal-for-medium~.off-canvas-content{margin-left:250px}.position-right.reveal-for-medium{transform:none;transition:none;visibility:visible;z-index:12}.position-right.reveal-for-medium .close-button{display:none}.off-canvas-content .position-right.reveal-for-medium{transform:none}.off-canvas-content.has-reveal-right,.position-right.reveal-for-medium~.off-canvas-content{margin-right:250px}.position-top.reveal-for-medium{transform:none;transition:none;visibility:visible;z-index:12}.position-top.reveal-for-medium .close-button{display:none}.off-canvas-content .position-top.reveal-for-medium{transform:none}.off-canvas-content.has-reveal-top,.position-top.reveal-for-medium~.off-canvas-content{margin-top:250px}.position-bottom.reveal-for-medium{transform:none;transition:none;visibility:visible;z-index:12}.position-bottom.reveal-for-medium .close-button{display:none}.off-canvas-content .position-bottom.reveal-for-medium{transform:none}.off-canvas-content.has-reveal-bottom,.position-bottom.reveal-for-medium~.off-canvas-content{margin-bottom:250px}}@media print,screen and (min-width:64em){.position-left.reveal-for-large{transform:none;transition:none;visibility:visible;z-index:12}.position-left.reveal-for-large .close-button{display:none}.off-canvas-content .position-left.reveal-for-large{transform:none}.off-canvas-content.has-reveal-left,.position-left.reveal-for-large~.off-canvas-content{margin-left:250px}.position-right.reveal-for-large{transform:none;transition:none;visibility:visible;z-index:12}.position-right.reveal-for-large .close-button{display:none}.off-canvas-content .position-right.reveal-for-large{transform:none}.off-canvas-content.has-reveal-right,.position-right.reveal-for-large~.off-canvas-content{margin-right:250px}.position-top.reveal-for-large{transform:none;transition:none;visibility:visible;z-index:12}.position-top.reveal-for-large .close-button{display:none}.off-canvas-content .position-top.reveal-for-large{transform:none}.off-canvas-content.has-reveal-top,.position-top.reveal-for-large~.off-canvas-content{margin-top:250px}.position-bottom.reveal-for-large{transform:none;transition:none;visibility:visible;z-index:12}.position-bottom.reveal-for-large .close-button{display:none}.off-canvas-content .position-bottom.reveal-for-large{transform:none}.off-canvas-content.has-reveal-bottom,.position-bottom.reveal-for-large~.off-canvas-content{margin-bottom:250px}}@media print,screen and (min-width:40em){.off-canvas.in-canvas-for-medium{background:none;height:auto;overflow:visible;position:static;transition:none;visibility:visible;width:auto}.off-canvas.in-canvas-for-medium.position-bottom,.off-canvas.in-canvas-for-medium.position-left,.off-canvas.in-canvas-for-medium.position-right,.off-canvas.in-canvas-for-medium.position-top{box-shadow:none;transform:none}.off-canvas.in-canvas-for-medium .close-button{display:none}}@media print,screen and (min-width:64em){.off-canvas.in-canvas-for-large{background:none;height:auto;overflow:visible;position:static;transition:none;visibility:visible;width:auto}.off-canvas.in-canvas-for-large.position-bottom,.off-canvas.in-canvas-for-large.position-left,.off-canvas.in-canvas-for-large.position-right,.off-canvas.in-canvas-for-large.position-top{box-shadow:none;transform:none}.off-canvas.in-canvas-for-large .close-button{display:none}}html.is-reveal-open{overflow-y:hidden;position:fixed;width:100%}html.is-reveal-open.zf-has-scroll{-webkit-overflow-scrolling:touch;overflow-y:scroll}html.is-reveal-open body{overflow-y:hidden}.reveal-overlay{background-color:rgba(77,77,77,.45);bottom:0;left:0;position:fixed;right:0;top:0;z-index:1005}.reveal,.reveal-overlay{-webkit-overflow-scrolling:touch;display:none;overflow-y:auto}.reveal{-webkit-backface-visibility:hidden;backface-visibility:hidden;background-color:#fefefe;border:1px solid #aaa;border-radius:5px;margin-left:auto;margin-right:auto;padding:1rem;position:relative;top:100px;z-index:1006}[data-whatinput=mouse] .reveal{outline:0}@media print,screen and (min-width:40em){.reveal{min-height:0}}.reveal .column{min-width:0}.reveal>:last-child{margin-bottom:0}@media print,screen and (min-width:40em){.reveal{max-width:75rem;width:600px}}.reveal.collapse{padding:0}@media print,screen and (min-width:40em){.reveal.tiny{max-width:75rem;width:30%}.reveal.small{max-width:75rem;width:50%}.reveal.large{max-width:75rem;width:90%}}.reveal.full{border:0;border-radius:0;bottom:0;height:100%;left:0;margin-left:0;max-width:none;min-height:100%;right:0;top:0;width:100%}@media print,screen and (max-width:39.99875em){.reveal{border:0;border-radius:0;bottom:0;height:100%;left:0;margin-left:0;max-width:none;min-height:100%;right:0;top:0;width:100%}}.reveal.without-overlay{position:fixed}.sticky,.sticky-container{position:relative}.sticky{transform:translateZ(0);z-index:0}.sticky.is-stuck{position:fixed;width:100%;z-index:5}.sticky.is-stuck.is-at-top{top:0}.sticky.is-stuck.is-at-bottom{bottom:0}.sticky.is-anchored{left:auto;position:relative;right:auto}.sticky.is-anchored.is-at-bottom{bottom:0}.title-bar{align-items:center;background:#4d4d4d;color:#fefefe;display:flex;justify-content:flex-start;padding:.5rem}.title-bar .menu-icon{margin-left:.25rem;margin-right:.25rem}.title-bar-left,.title-bar-right{flex:1 1 0px}.title-bar-right{text-align:right}.title-bar-title{display:inline-block;font-weight:700;vertical-align:middle}.top-bar{align-items:center;display:flex;flex-wrap:nowrap;justify-content:space-between;padding:.5rem}.top-bar,.top-bar ul{background-color:#e6e6e6}.top-bar input{margin-right:1rem;max-width:200px}.top-bar .input-group-field{margin-right:0;width:100%}.top-bar input.button{width:auto}.top-bar .top-bar-left,.top-bar .top-bar-right{flex:0 0 100%;max-width:100%}@media print,screen and (min-width:40em){.top-bar{flex-wrap:nowrap}.top-bar .top-bar-left{flex:1 1 auto;margin-right:auto}.top-bar .top-bar-right{flex:0 1 auto;margin-left:auto}}@media print,screen and (max-width:63.99875em){.top-bar.stacked-for-medium{flex-wrap:wrap}.top-bar.stacked-for-medium .top-bar-left,.top-bar.stacked-for-medium .top-bar-right{flex:0 0 100%;max-width:100%}}@media print,screen and (max-width:74.99875em){.top-bar.stacked-for-large{flex-wrap:wrap}.top-bar.stacked-for-large .top-bar-left,.top-bar.stacked-for-large .top-bar-right{flex:0 0 100%;max-width:100%}}.top-bar-title{flex:0 0 auto;margin:.5rem 1rem .5rem 0}.top-bar-left,.top-bar-right{flex:0 0 auto}.float-left{float:left!important}.float-right{float:right!important}.float-center{display:block;margin-left:auto;margin-right:auto}.clearfix:after,.clearfix:before{content:" ";display:table;flex-basis:0;order:1}.clearfix:after{clear:both}.align-left{justify-content:flex-start}.align-right{justify-content:flex-end}.align-center{justify-content:center}.align-justify{justify-content:space-between}.align-spaced{justify-content:space-around}.align-left.vertical.menu>li>a{justify-content:flex-start}.align-right.vertical.menu>li>a{justify-content:flex-end}.align-center.vertical.menu>li>a{justify-content:center}.align-top{align-items:flex-start}.align-self-top{align-self:flex-start}.align-bottom{align-items:flex-end}.align-self-bottom{align-self:flex-end}.align-middle{align-items:center}.align-self-middle{align-self:center}.align-stretch{align-items:stretch}.align-self-stretch{align-self:stretch}.align-center-middle{align-content:center;align-items:center;justify-content:center}.small-order-1{order:1}.small-order-2{order:2}.small-order-3{order:3}.small-order-4{order:4}.small-order-5{order:5}.small-order-6{order:6}@media print,screen and (min-width:40em){.medium-order-1{order:1}.medium-order-2{order:2}.medium-order-3{order:3}.medium-order-4{order:4}.medium-order-5{order:5}.medium-order-6{order:6}}@media print,screen and (min-width:64em){.large-order-1{order:1}.large-order-2{order:2}.large-order-3{order:3}.large-order-4{order:4}.large-order-5{order:5}.large-order-6{order:6}}.flex-container{display:flex}.flex-child-auto{flex:1 1 auto}.flex-child-grow{flex:1 0 auto}.flex-child-shrink{flex:0 1 auto}.flex-dir-row{flex-direction:row}.flex-dir-row-reverse{flex-direction:row-reverse}.flex-dir-column{flex-direction:column}.flex-dir-column-reverse{flex-direction:column-reverse}@media print,screen and (min-width:40em){.medium-flex-container{display:flex}.medium-flex-child-auto{flex:1 1 auto}.medium-flex-child-grow{flex:1 0 auto}.medium-flex-child-shrink{flex:0 1 auto}.medium-flex-dir-row{flex-direction:row}.medium-flex-dir-row-reverse{flex-direction:row-reverse}.medium-flex-dir-column{flex-direction:column}.medium-flex-dir-column-reverse{flex-direction:column-reverse}}@media print,screen and (min-width:64em){.large-flex-container{display:flex}.large-flex-child-auto{flex:1 1 auto}.large-flex-child-grow{flex:1 0 auto}.large-flex-child-shrink{flex:0 1 auto}.large-flex-dir-row{flex-direction:row}.large-flex-dir-row-reverse{flex-direction:row-reverse}.large-flex-dir-column{flex-direction:column}.large-flex-dir-column-reverse{flex-direction:column-reverse}}.hide{display:none!important}.invisible{visibility:hidden}.visible{visibility:visible}@media print,screen and (max-width:39.99875em){.hide-for-small-only{display:none!important}}@media screen and (max-width:0em),screen and (min-width:40em){.show-for-small-only{display:none!important}}@media print,screen and (min-width:40em){.hide-for-medium{display:none!important}}@media screen and (max-width:39.99875em){.show-for-medium{display:none!important}}@media print,screen and (min-width:40em) and (max-width:63.99875em){.hide-for-medium-only{display:none!important}}@media screen and (max-width:39.99875em),screen and (min-width:64em){.show-for-medium-only{display:none!important}}@media print,screen and (min-width:64em){.hide-for-large{display:none!important}}@media screen and (max-width:63.99875em){.show-for-large{display:none!important}}@media print,screen and (min-width:64em) and (max-width:74.99875em){.hide-for-large-only{display:none!important}}@media screen and (max-width:63.99875em),screen and (min-width:75em){.show-for-large-only{display:none!important}}.show-for-sr,.show-on-focus{clip:rect(0,0,0,0)!important;border:0!important;height:1px!important;overflow:hidden!important;padding:0!important;position:absolute!important;white-space:nowrap!important;width:1px!important}.show-on-focus:active,.show-on-focus:focus{clip:auto!important;height:auto!important;overflow:visible!important;position:static!important;white-space:normal!important;width:auto!important}.hide-for-portrait,.show-for-landscape{display:block!important}@media screen and (orientation:landscape){.hide-for-portrait,.show-for-landscape{display:block!important}}@media screen and (orientation:portrait){.hide-for-portrait,.show-for-landscape{display:none!important}}.hide-for-landscape,.show-for-portrait{display:none!important}@media screen and (orientation:landscape){.hide-for-landscape,.show-for-portrait{display:none!important}}@media screen and (orientation:portrait){.hide-for-landscape,.show-for-portrait{display:block!important}}.show-for-dark-mode{display:none}.hide-for-dark-mode{display:block}@media screen and (prefers-color-scheme:dark){.show-for-dark-mode{display:block!important}.hide-for-dark-mode{display:none!important}}.show-for-ie{display:none}@media (-ms-high-contrast:active),(-ms-high-contrast:none){.show-for-ie{display:block!important}.hide-for-ie{display:none!important}}.show-for-sticky{display:none}.is-stuck .show-for-sticky{display:block}.is-stuck .hide-for-sticky{display:none}.button{border-radius:0;font-size:17px;min-width:142px;transition:all .2s ease-in-out}.button:hover{background:#81a1be}.button-red{background-color:#c5211f}div.wrapper{display:flex;flex-direction:column;height:100vh}.page-footer,.page-header{flex-shrink:0}.page-content{flex-grow:1;margin-top:2em}th{color:#333}.card-divider{background-color:#ebf6ff;display:block;font-size:1.75rem;font-weight:700}.important-banner{background-color:#f5f5f5;border:1px solid #ef4634;border-radius:5px;margin:0 auto;padding-left:.5rem;padding-right:.5rem}.advanced-terms label{max-width:80%}.advanced-terms [type=checkbox]{margin:0 0 1rem;width:50px}.cancel-link{margin-left:.5rem}.not-found{margin:0 auto;max-width:800px}.summernote_wysiwyg{margin-bottom:16px}.blue{color:#396d9d}.red{color:#c5211f}th{font-size:1.2em}.active{background:#ccc}.fade-enter-active,.fade-leave-active{transition:opacity .5s}.fade-enter,.fade-leave-to{opacity:0}.bounce-enter-active{-webkit-animation:bounce-in .5s;animation:bounce-in .5s}.bounce-leave-active{animation:bounce-in .5s reverse}@-webkit-keyframes bounce-in{0%{transform:scale(0)}50%{transform:scale(1.5)}to{transform:scale(1)}}@keyframes bounce-in{0%{transform:scale(0)}50%{transform:scale(1.5)}to{transform:scale(1)}}.bootstrap-autocomplete.dropdown-menu{background-clip:padding-box;background-color:#fff;border:1px solid rgba(0,0,0,.15);border-radius:.25rem;color:#212529;display:none;float:left;font-size:1rem;left:0;list-style:none;margin:.125rem 0 0;min-width:10rem;padding:.5rem 0;position:absolute;text-align:left;top:100%;z-index:1000}.bootstrap-autocomplete .dropdown-item{background-color:transparent;border:0;clear:both;color:#212529;display:block;font-weight:400;padding:.25rem 1.5rem;text-align:inherit;white-space:nowrap;width:100%}.bootstrap-autocomplete .dropdown-item.active,.bootstrap-autocomplete .dropdown-item:active{background-color:#007bff;color:#fff;text-decoration:none}.bootstrap-autocomplete.dropdown-menu.show{display:block}.page-footer{margin-top:3rem}footer{position:-webkit-sticky;position:sticky}.footer{background:#fefefe;box-shadow:0 2px 6px #666;color:#666}.footer .footer-menu-social a{color:#a0de57}.footer .column-block{margin-bottom:30px}.footer>.row{margin-bottom:1rem}@media print,screen and (max-width:39.99875em){.footer .columns{margin-bottom:2rem}}.disclaimer{line-height:1.15}.footer-title{color:#396d9d;font-size:1.25rem;margin-bottom:1rem}.footer-block{display:flex;margin-bottom:1rem}.footer-block .fa{color:#cbcbcb;font-size:2rem}.footer-block p{line-height:1.125rem;margin-left:1rem}.footer-bottom{background:#396d9d;color:rgba(255,250,211,.5);font-size:.75em;padding:1rem 0}.footer-bottom .menu,.footer-bottom p{margin-bottom:0}.footer-bottom a{color:#fff}.footer-bottom a:hover{color:#fdf4ac}.footer-bottom .footer-bottom-links{justify-content:flex-end}@media print,screen and (max-width:63.99875em){.footer-bottom .footer-bottom-links{justify-content:center}.footer-bottom{text-align:center}}.topbar-responsive{background:#fefefe;box-shadow:0 2px 6px #666;padding:0 1.5rem}.topbar-responsive .topbar-responsive-logo{color:rgba(255,250,211,.5);vertical-align:middle}.topbar-responsive .topbar-responsive-logo img{max-width:200px}.topbar-responsive .topbar-title{display:flex;justify-content:space-between}.topbar-responsive .title-bar{background:#fff;color:#222}.topbar-responsive .title-bar .title-bar-title{color:#396d9d;margin-left:20px}.topbar-responsive .title-bar .title-bar-title:hover{text-decoration:underline}.topbar-responsive .cta{margin-top:1rem}.topbar-responsive .menu-icon:after{background:#1072c1;box-shadow:0 7px 0 #1072c1,0 14px 0 #1072c1;left:-23px;width:80%}.topbar-responsive .menu{background:#fefefe}.topbar-responsive .menu .login-link{color:#8a1716}.topbar-responsive .menu li:last-of-type{margin-right:0}.topbar-responsive .menu a{color:#373737;font-weight:800;transition:color .15s ease-in}.topbar-responsive .menu a:hover{color:#b3b3b3}@media screen and (max-width:39.9375em){.topbar-responsive .menu a{padding:.5rem}}.topbar-responsive .menu .topbar-responsive-button{color:#fefefe;padding:.75rem}.topbar-responsive .menu .topbar-responsive-button:hover{background-color:#991a18;color:#fefefe}@media screen and (max-width:39.9375em){.topbar-responsive .menu .topbar-responsive-button{margin:.875rem 0;width:100%}.topbar-responsive{padding:.75rem}.topbar-responsive .top-bar-title{position:relative;width:100%}.topbar-responsive .top-bar-title span{border:1px solid rgba(255,250,211,.5);border-radius:5px;padding:.25rem .45rem;position:absolute;right:0;top:50%;transform:translateY(-50%)}.topbar-responsive .top-bar-title span .menu-icon{margin-bottom:4px}}@-webkit-keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@-webkit-keyframes slideDown{0%{transform:translateY(-100%)}to{transform:translateY(0)}}@keyframes slideDown{0%{transform:translateY(-100%)}to{transform:translateY(0)}}@media print,screen and (max-width:39.99875em){.topbar-responsive-links{-webkit-animation-duration:.5s;animation-duration:.5s;-webkit-animation-fill-mode:both;animation-fill-mode:both;-webkit-animation:fadeIn 1s ease-in;animation:fadeIn 1s ease-in;width:100%}}p.account-type{font-size:20px;font-weight:700}.practitioner-code,.practitioner-name,p.account-type{margin-bottom:0}.account-type-name{color:#396d9d;font-size:22px;font-weight:700;text-transform:uppercase}.nav-auth-info{display:block;float:right;padding-bottom:15px;text-align:right;width:100%}.top-bar{flex-wrap:wrap}.menu{justify-content:flex-end}.topbar-responsive{border-bottom:1px solid #000;box-shadow:none;min-height:90px}.menu{display:-webkit-inline-box;flex-direction:row;flex-wrap:nowrap}@media screen and (max-width:840px){.menu{flex-wrap:nowrap;overflow:scroll}.menu li{padding-left:10px;padding-right:10px}}@media screen and (max-width:640px){#main-nav{display:block!important}}.login.callout{background:rgba(255,250,211,.5);background:radial-gradient(circle,#fefae1 20%,#fffad2 45%,#fef7c6 68%);padding-top:1.5em}.forgot-link{margin-bottom:.5rem}div.reset-dialog{margin-left:auto;margin-right:auto}div.reset-dialog,div.reset-dialog:last-child:not(:first-child){clear:both;float:none}.password-input{margin-bottom:5px}.button-div{margin-top:1rem}#create-account-modal{display:none;justify-content:center}#create-account-modal>form{width:50%}#create-account-modal>form>div.callout:nth-child(2){background-color:#a8dbfe}.login-title{color:#4d4d4d;font-size:40px}.enter-cta{margin-bottom:5px}.create-cta,.enter-cta{font-size:17px;text-align:left}.create-cta{color:#4d4d4d;font-family:Open Sans;font-weight:700;margin-bottom:25px}.create-cta a{color:#4d4d4d;text-decoration:underline}.create-cta a:hover{color:#a71c1a}.login-callout{background:#36b0ff;border-radius:0;height:100%;padding:25px 25px 10px}.login-callout label{font-size:17px;margin-bottom:5px}@media screen and (min-width:1024px){.cta-div,.enter-cta{margin:0 -20px}#main-login{background:url(/storage/img/mhg-dnacharacter-padded1.png);background-position:0 100%;background-repeat:no-repeat}}.payments-page>.grid-x>.cell{margin-left:auto;margin-right:auto}.payments-page>.grid-x>.cell,.payments-page>.grid-x>.cell:last-child:not(:first-child){clear:both;float:none}.payments-page .auth-button{margin-left:1rem;margin-top:1rem}.payments-page #ccnum,.payments-page .cc,.payments-page .cvv,.payments-page .month,.payments-page .year{display:inline-block}.payments-page .cvv,.payments-page .month,.payments-page .year{max-width:4rem}.payments-page #cname{max-width:400px}.payments-page .dna-registration-heading{color:#a6a6a5;font-weight:400;line-height:1.1;margin-bottom:0}.payments-page #dna-serial-numbers{margin-top:1rem}.payments-page .cell .medium-8 h4{color:#a6a6a5}.payments-page .dna-input-wrap{align-items:baseline;display:flex;flex-flow:row nowrap;justify-content:flex-start;margin-top:1rem}.payments-page .border-radius{background-color:#b0d7ff;border-radius:30px;padding:10px 20px}.payments-page .dna-input-wrap input{flex:0 0 30px;margin:0 5px;max-width:30px}.payments-page .dna-input-wrap input:focus{border:1px solid #b0d7ff}.payments-page .dna-kit-image{margin-bottom:15px}.payments-page .dna-kit-image img{height:300px}.payments-page .dna-input-lead{align-self:flex-end;color:#a6a6a5;font-size:1.5rem}.payments-page .error{color:red;font-size:1.25rem;padding:10px}.payments-page .digits{font-size:1.25rem;width:17rem}.payments-page .already-registered{width:32rem}.payments-page .numeric{width:26rem}.payments-page .spacer{flex:0 1 16%}.payments-page .where-can-i{color:#55a6ff;font-weight:400}.payments-page h3.spacer{text-align:center;vertical-align:middle}.payments-page .image-text-wrap,.payments-page .image-wrap{align-items:center;display:flex;flex-flow:row nowrap;justify-content:flex-start;margin-top:2rem;position:relative}.payments-page .image-wrap img{padding:0 1%}.payments-page .box{bottom:9px;right:27%}.payments-page .working-with-doctor{align-items:center;display:flex;flex-flow:row nowrap;font-size:1.25rem;margin-top:2rem}.payments-page .payment-billing label,.payments-page .working-with-doctor label{font-size:1.25rem;margin-right:15px}.payments-page .working-with-doctor input{font-size:1.25rem;margin:0}@media only screen and (max-width:1200px){.payments-page .image-wrap{align-items:flex-start;display:flex;flex-flow:column nowrap;height:410px;justify-content:flex-end;max-width:100%;position:unset}.payments-page .image-wrap img:first-of-type,.payments-page .image-wrap img:last-of-type{align-self:center}.payments-page .image-wrap .box{position:unset}.payments-page .spacer{align-self:center;flex:0 1 14%;margin-top:auto}.payments-page .working-with-doctor{flex-flow:row wrap;margin-top:1rem}.payments-page .error{font-size:.9rem;margin-bottom:1rem;max-width:100%}.payments-page .important-banner{margin-left:3.5rem}}@media only screen and (max-width:1023px){.important-banner{max-width:calc(100vw - 1.25rem)}}@media only screen and (max-width:800px){.image-wrap{align-items:flex-start;display:flex;flex-flow:column nowrap;flex-direction:column;height:unset;justify-content:flex-start;max-width:100%;position:unset}.payments-page .spacer{margin-top:20px!important}}@media only screen and (max-width:600px){.payments-page .dna-input-wrap{flex-flow:row wrap}.payments-page .dna-input-wrap input{flex:0 1 23px;font-size:.8rem}.payments-page .auth-button.button.border-radius{margin-left:0}}.products-container a.button{font-size:1.5rem}.product-name,.report-name{background-color:#fefefe;border-radius:5px;color:#396d9d;display:block;font-size:1.75rem;font-weight:700;padding:.25rem;text-align:center}.product-desc{font-size:large}.report-name{background-color:transparent;color:#4d4d4d;font-size:1.5em}.price-box{border-radius:5px;color:#fefefe;display:block;font-size:2.2rem;font-weight:900;text-align:center;text-shadow:3px 3px 6px #396d9d}.price-box span.price{font-size:3rem}ul.features-list{background-color:#fefefe;border-radius:5px;font-size:18px;list-style:none;margin:1rem .5rem;padding:0}ul.features-list li{border-bottom:2px dashed #a0de57;padding:10px}ul.features-list li:last-child{border-bottom:none;padding-bottom:15px}div.upload-grid{margin-left:auto;margin-right:auto}div.upload-grid,div.upload-grid:last-child:not(:first-child){clear:both;float:none}.upload-dialog{min-height:50vh}.upload-box{background-color:#d6eafb;border:5px dashed #1659a9;border-radius:10px;min-height:100px}.upload-box p label{align-self:center;color:#4d4d4d;font-size:18px}.custom-spinner.loader{background:hsla(0,0%,100%,.65);height:100%;position:absolute;text-align:center;width:100%;z-index:100}.custom-spinner.loader>span{color:#666;font-size:28px;font-weight:700;left:calc(50vw - 88px);position:fixed;top:calc(50vh - 20px)}canvas.loader{background:hsla(0,0%,100%,.65);height:100%;position:absolute;width:100%;z-index:100}canvas.loader.spinner-text{background:none}.report-label-box input[type=text]{border:1px solid hsla(0,0%,62%,.47);margin:1rem;max-width:50%}.dna-upload-wrap h2.small{font-size:1.5rem}span.steps{color:#396d9d;font-size:1.75rem}.report-page{min-width:810px}.report-page .page-break{page-break-after:always}.report-page .title-slider-box{page-break-inside:avoid}.report-page div.trait{background-color:#fff;margin:1em;padding:2em}.report-page div.trait .progress{background-image:linear-gradient(90deg,#a0de57 0,#ffeb3b 50%,#fb5f84);background-image:-webkit-linear-gradient(left,#a0de57,#ffeb3b 50%,#fb5f84);margin:1.5rem auto}.report-page div.trait .progress .progress-meter{background:transparent;border-radius:0}.report-page div.trait .progress .progress-meter:after{bottom:10px;content:"⇩";font-size:2rem;position:absolute;right:0}.report-page .mhg-rep-pdf{margin:0!important;padding:0!important}.report-page .mhg-rep-pdf .meter{padding:.5rem 1rem!important}.report-page .trait-title{margin:0;padding:.25em}.report-page .key-indicator{font-size:14px;padding-bottom:10px}.report-page .low-span{float:left;padding-left:10px}.report-page .high-span{float:right;padding-right:10px}.report-page .meter,.report-page .quiz-results{background-color:#9bd8fb;border-radius:5px;box-shadow:0 0 3px rgba(0,0,0,.3);color:#272727;margin:1em auto;max-width:75%;padding:2rem 1rem}.report-page .quiz-results{margin-bottom:2rem}.report-page .quiz-results p{font-style:italic}.report-page .meter h6,.report-page .quiz-results .h4{color:#fff;text-shadow:rgba(0,0,0,.74) 2px 2px 2px}.report-page .inherited-message{font-size:.8rem;font-style:italic;padding:0 0 .5em}.report-page .inherited-message span.meter-red{background-color:#fdaabd}.report-page .inherited-message span.meter-green{background-color:#c4eb97}.report-page .inherited-message span.meter-yellow{background-color:#fff388}.report-page .mhg-inherited-message{font-size:18px;margin-left:65px;margin-right:65px}.report-page .mhg-inherited-message-pdf{font-size:18px;margin-left:15px;margin-right:90px}.report-page .assoc-genes{color:#1172c1;font-size:.9em}.report-page td.green{background-color:#a0de57}.report-page td.green,.report-page td.yellow{color:#000;font-size:1.2em;font-weight:700;padding:0;text-align:center}.report-page td.yellow{background-color:#ffeb3b}.report-page td.red{background-color:#fb5f84;color:#000;font-size:1.2em;font-weight:700;padding:0;text-align:center}.report-page thead{background:#9bd8fb;position:sticky;position:-webkit-sticky;top:-1px}.report-page thead th{border:1px solid #e6e6e6;text-align:center}.report-page thead .report-summary th:hover{cursor:help}.report-page .name{color:#666;font-style:italic}.report-page .title{color:#396d9d;display:inline-block;font-size:1.35em;max-width:50%;text-align:right;vertical-align:bottom}.report-page .name-block{align-items:flex-end;display:flex;flex-direction:column;justify-content:flex-end}.report-page div.trait>p.description{white-space:pre-line}.report-page html.is-reveal-open body{overflow:initial}.report-page .pdf-header-block{max-width:810px}.report-page .pdf-header-block p.title{float:right;text-align:right}.report-page .pdf-header-block img{float:left;max-width:200px}.report-page p.report-intro{float:clear}@media screen and (max-width:850px){.report-page{min-width:90vw}.report-page div.trait{padding:0}.report-page .meter{margin:.51em auto;max-width:100%;padding:.51rem}}.genetic-report .trait-image-after,.genetic-report .trait-image-before,.healthy-report .trait-image-after,.healthy-report .trait-image-before{background:url(/storage/img/trait-images/default.jpg)}.date-label,.dna-vendor-label{color:#2c6bb1;float:right;font-weight:700;margin-bottom:0!important;margin-top:0!important}.dna-vendor-label{clear:right}.unstyled-date-label,.unstyled-dna-vendor-label{color:#2c6bb1;float:left;font-weight:700;margin-top:-8px;padding-bottom:10px}.genetic-report{max-width:100%;min-width:810px}.genetic-report .page-break{page-break-after:always}.genetic-report .title-slider-box{page-break-inside:avoid}.genetic-report div.trait{background-color:#fff;margin:1em 0;padding:2em 0}#myhealthygenesreport div.trait{background-color:#fff;margin:1em!important;padding:.5rem!important}.genetic-report div.trait .progress{background-image:linear-gradient(90deg,#6c9f3e 0,#ffd651 50%,#cc1519);background-image:-webkit-linear-gradient(left,#6c9f3e,#ffd651 50%,#cc1519);margin:1.5rem auto}.genetic-report div.trait .progress .progress-meter{background:transparent;border-radius:0}.genetic-report div.trait .progress .progress-meter:after{background:#000;border-radius:10px;bottom:-6px;content:"";font-size:2rem;height:40px;position:absolute;right:0;width:8px}.genetic-report .inherited-message{color:#707070!important;font-size:18px!important;font-style:normal!important;font-weight:700}.genetic-report .inherited-message:after{background:#145aa8;content:"";display:block;float:none;height:5px;margin:30px auto 0;max-width:400px}.genetic-report .progress{height:30px}.genetic-report .trait-title{color:#145aa8;font-size:22px;margin:0;padding-bottom:15px}.genetic-report #dna-banner{display:block!important;float:none!important;margin:20px auto;text-align:center!important}.genetic-report .key-indicator{color:#fff;font-size:14px}.genetic-report .progress-wrapper{align-content:center;align-items:center;background:#145aa8;display:flex;height:100px;padding:15px}.genetic-report .percent{background:#16467b;color:#fff;display:inline-block;float:left;font-size:32px;min-width:13%!important;padding:10px;text-align:center}.genetic-report .indicator-components{display:inline-block;float:right;padding-left:20px;width:85%}.genetic-report .low-span{float:left;padding-left:10px}.genetic-report .high-span{float:right;padding-right:10px}.genetic-report .meter,.genetic-report .quiz-results{background:url(/storage/img/dna-background.png);background-repeat:no-repeat;background-size:cover;color:#272727;margin:1em auto;max-width:100%;padding:4rem 2rem}.genetic-report .quiz-results{margin-bottom:2rem}.genetic-report .quiz-results p{font-style:italic}.genetic-report .meter h6,.genetic-report .quiz-results .h4{color:#fff;text-shadow:rgba(0,0,0,.74) 2px 2px 2px}.genetic-report .inherited-message{font-size:.8rem;font-style:italic;padding:0 0 .5em}.genetic-report .inherited-message span.meter-red{background-color:#fdaabd}.genetic-report .inherited-message span.meter-green{background-color:#c4eb97}.genetic-report .inherited-message span.meter-yellow{background-color:#fff388}.genetic-report .assoc-genes{color:#1172c1;font-size:.9em}.genetic-report td.green{background-color:#a0de57}.genetic-report td.green,.genetic-report td.yellow{color:#000;font-size:1.2em;font-weight:700;padding:0;text-align:center}.genetic-report td.yellow{background-color:#ffeb3b}.genetic-report td.red{background-color:#fb5f84;color:#000;font-size:1.2em;font-weight:700;padding:0;text-align:center}.genetic-report thead{background:#9bd8fb;position:sticky;position:-webkit-sticky;top:-1px}.genetic-report thead th{border:1px solid #e6e6e6;text-align:center}.genetic-report thead .report-summary th:hover{cursor:help}.genetic-report .name{color:#145aa8;font-family:Montserrat;font-size:24px;font-weight:700;margin-bottom:-1rem;text-transform:capitalize}@media screen and (min-width:2000px){.genetic-report .introduction .intro-text{width:100%!important}}.mhg-pre-logo{text-align:center}.wysiwyg-container-new{padding:30px}.genetic-report .introduction .intro-text-container{margin-bottom:60px;margin-top:60px;position:relative}.genetic-report .introduction .intro-banner:after{background:#145aa8;content:"";float:left;height:730px;left:-20px;position:absolute;top:-25px;width:350px;z-index:-1}.genetic-report .introduction .intro-text{float:none;width:100%}.genetic-report .introduction .intro-text h3{color:#145aa8;font-family:Montserrat;font-size:26px}.genetic-report .introduction .intro-text p{margin-bottom:30px}.genetic-report .introduction iframe{width:100%}.genetic-report h2{color:#145aa8;font-family:Montserrat;font-size:43px;font-weight:700;margin-bottom:40px}.genetic-report h2:after{background:#145aa8;content:"";display:block;float:left;height:5px;margin-top:10px;position:absolute;width:200px}.bottom-banner{background:#ffffffab;bottom:0;color:#fff;height:150px;left:0;position:absolute;width:100%}.bottom-banner img{float:right;margin-right:30px;margin-top:18px;max-width:300px}.genetic-report .title{color:#145aa8;display:inline-block;font-family:Montserrat;font-size:62px;font-weight:700;max-width:100%;text-align:left;text-decoration:none;text-transform:uppercase}.genetic-report .name-block{background:teal;background-position:top;background-repeat:no-repeat;background-size:cover!important;background:url(/storage/img/genetic-header.png);display:block;height:800px;padding-left:40px;padding-right:40px;width:100%}@media screen and (max-width:1000px){.genetic-report .name-block .title{font-size:48px;line-height:60px;margin-top:10px}.genetic-report .introduction .intro-text-container{margin-left:0}.genetic-report .introduction .intro-banner:after{background:#145aa8;content:"";float:none;height:150px;margin:0 auto;position:absolute;top:-15px;width:100%;z-index:-1}.genetic-report .introduction .intro-text{float:none;margin-top:20px;width:100%}.genetic-report h2{font-size:30px}}@media screen and (max-width:800px){.genetic-report .trait-image-after,.genetic-report .trait-image-before{width:25%}.genetic-report .callout{width:75%}.genetic-report .pdf-callout{height:100vh;width:100%}.genetic-report .grid-x>.small-11{width:100%}.genetic-report .meter{padding:2rem 1rem}.genetic-report .percent{font-size:22px;padding:10px}}@media screen and (max-width:600px){.genetic-report .meter{margin:.51em auto;max-width:100%;padding:.51rem}}.genetic-report .trait-wrapper{display:flex;width:100%}.genetic-report .trait-image-after,.genetic-report .trait-image-before{background-position:50%!important;background-repeat:no-repeat!important;-o-object-fit:contain;object-fit:contain;width:100%}.trait-block{grid-gap:3rem;display:grid;grid-template-columns:35% 1fr}.trait-block img{margin:1em 0;padding:2em 0}.trait-block.trait-block__even{grid-template-columns:1fr 35%}.trait-block.trait-block__even img{order:1}@media screen and (max-width:850px){.genetic-report .trait-image-after,.genetic-report .trait-image-before{height:unset}.healthy-report .trait-image-after,.healthy-report .trait-image-before{height:unset!important}}.trait-imgtag-after{display:block;float:none;height:400px;margin:0 auto;text-align:center;width:50%}.genetic-report .trait-cells .trait-wrapper:nth-of-type(odd) .trait-image-before{display:inline}.genetic-report .trait-cells .trait-wrapper:nth-of-type(odd) .trait-image-after{display:none}.genetic-report .trait-cells .trait-wrapper:nth-of-type(2n) .trait-image-after{display:inline}.genetic-report .trait-cells .trait-wrapper:nth-of-type(2n) .trait-image-before{display:none}.genetic-report .addiction-risk-alcohol{background:url(/storage/img/alcohol-addiction-risk.jpg)}.genetic-report .anger-aggression-and-irritability{background:url(/storage/img/trait-images/anger-irritability-1.jpg)}.genetic-report .hormone-related-mood-swings-in-women{background:url(/storage/img/stressed-woman.jpg)}.genetic-report .anxiety-and-stress-imbalances{background:url(/storage/img/anxiety.png)}.genetic-report .attention-and-focus-issues{background:url(/storage/img/attention.png)}.genetic-report .brain-function-imbalance-thought-disorders{background:url(/storage/img/trait-images/thought-brain-dis.jpg);background-size:cover}.genetic-report .depressionmoderate-to-severe{background:url(/storage/img/trait-images/Depressed_Man.jpg);background-size:100% auto!important}.genetic-report .depression-or-sadness-mild{background:url(/storage/img/trait-images/Depression_Mild.jpg);background-size:100% auto!important}.genetic-report .difficulties-with-social-interaction-and-communication{background:url(/storage/img/trait-images/social-interaction.jpg)}.genetic-report .difficulty-forming-relationships-shyness-introversion,.genetic-report .lack-of-empathy-and-emotional-bonding{background:url(/storage/img/trait-images/forming-relationships.png)}.genetic-report .entrepreneurial-tendencies--ambitiousness{background:url(/storage/img/trait-images/entrepeneur-tendies.jpg)}.genetic-report .addictions-general-tendency{background:url(/storage/img/trait-images/addiction.jpg)}.genetic-report .hormone-related-mood-swings{background:url(/storage/img/trait-images/mood-swing.jpg)}.genetic-report .learning-difficulties{background:url(/storage/img/trait-images/learning-difficulties.jpg)}.genetic-report .mood-swings{background:url(/storage/img/trait-images/mood-swing.jpg)}.genetic-report .novelty-seeking-impulsivity{background:url(/storage/img/trait-images/novelty-seeking-impulsivity.jpg)}.genetic-report .perfectionist-tendencies{background:url(/storage/img/trait-images/perfectionist.jpg)}.genetic-report .risk-of-long-term-effects-from-traumatic-or-stressful-events,.genetic-report .risk-of-long-term-effects-from-traumatic-or-stressful-events-p-t-s-d{background:url(/storage/img/trait-images/ptsd-military.jpg);background-size:cover}.genetic-report .addiction-risk-opioid{background:url(/storage/img/trait-images/opiod-addiction.jpg)}.genetic-report .depression-seasonal,.genetic-report .seasonal-depression{background:url(/storage/img/trait-images/Depressed_SAD.jpg);background-size:100% auto!important}.genetic-report .sleep-disorder-or-difficultiesnot-apnea{background:url(/storage/img/trait-images/sleep.jpg)}.genetic-report .addiction-risk-nicotine{background:url(/storage/img/trait-images/nicotine.jpg)}.genetic-report .entrepreneurial-tendencies,.genetic-report .trait-image-after .entrepreneurial-tendencies{background:url(/storage/img/trait-images/entrepeneur-tendies.jpg)}.genetic-report .callout{margin-bottom:110px;margin-top:0;padding-top:0}.genetic-report .pdf-callout{display:block;height:100vh;margin-top:0;padding-top:0;width:100%}.genetic-report div.trait>p.description{white-space:pre-line}.genetic-report html.is-reveal-open body{overflow:initial}.genetic-report .pdf-header-block{max-width:810px}.genetic-report .pdf-header-block p.title{float:right;text-align:right}.genetic-report .pdf-header-block img{float:left;max-width:200px}.genetic-report p.report-intro{float:clear}@media screen and (max-width:850px){.genetic-report{min-width:600px;overflow:scroll}.genetic-report div.trait{padding:0}}.healthy-report{max-width:100%;min-width:810px}.healthy-report .page-break{page-break-after:always}.healthy-report .title-slider-box{page-break-inside:avoid}.healthy-report div.trait{background-color:#fff;margin:1em;padding:2em}.healthy-report div.trait .progress{background-image:linear-gradient(90deg,#6c9f3e 0,#ffd651 50%,#cc1519);background-image:-webkit-linear-gradient(left,#6c9f3e,#ffd651 50%,#cc1519);margin:1.5rem auto}.healthy-report div.trait .progress .progress-meter{background:transparent;border-radius:0}.healthy-report div.trait .progress .progress-meter:after{background:#000;border-radius:10px;bottom:-6px;content:"";font-size:2rem;height:40px;position:absolute;right:0;width:8px}.healthy-report .inherited-message{color:#707070!important;font-size:18px!important;font-style:normal!important;font-weight:700}.healthy-report .inherited-message:after{background:#145aa8;content:"";display:block;float:none;height:5px;margin:30px auto 0;max-width:400px}.healthy-report .progress{height:30px}.biochem-report div.trait .progress,.mhg-new-report div.trait .progress{background-image:linear-gradient(90deg,#6c9f3e 0,#ffd651 50%,#cc1519);background-image:-webkit-linear-gradient(left,#6c9f3e,#ffd651 50%,#cc1519);margin:1.5rem auto}.biochem-report div.trait .progress .progress-meter,.mhg-new-report div.trait .progress .progress-meter{background:transparent;border-radius:0}.biochem-report div.trait .progress .progress-meter:after,.mhg-new-report div.trait .progress .progress-meter:after{background:#000;border-radius:10px;bottom:-6px;content:"";font-size:2rem;height:40px;position:absolute;right:0;width:8px}.biochem-report .inherited-message,.mhg-new-report .inherited-message{color:#707070!important;font-size:18px!important;font-style:normal!important;font-weight:700}.biochem-report .inherited-message:after,.mhg-new-report .inherited-message:after{background:#145aa8;content:"";display:block;float:none;height:5px;margin:30px auto 0;max-width:400px}.biochem-report .progress,.mhg-new-report .progress{height:30px}.healthy-report .trait-title{color:#145aa8;font-size:22px;margin:0;padding-bottom:15px}.healthy-report #dna-banner{display:block!important;float:none!important;margin:20px auto;text-align:center!important}.biochem-report .key-indicator,.healthy-report .key-indicator,.mhg-new-report .key-indicator{color:#fff;font-size:14px}.biochem-report .progress-wrapper,.healthy-report .progress-wrapper,.mhg-new-report .progress-wrapper{align-content:center;align-items:center;background:#145aa8;display:flex;height:100px;padding:15px}.biochem-report .percent,.mhg-new-report .percent{font-size:28px}.biochem-report .percent,.healthy-report .percent,.mhg-new-report .percent{background:#16467b;color:#fff;display:inline-block;float:left;min-width:13%!important;padding:10px;text-align:center}.healthy-report .percent{font-size:32px}.biochem-report .indicator-components,.healthy-report .indicator-components,.mhg-new-report .indicator-components{display:inline-block;float:right;padding-left:20px;width:85%}.biochem-report .low-span,.mhg-new-report .low-span{float:left;padding-left:10px}.biochem-report .high-span,.mhg-new-report .high-span{float:right;padding-right:10px}.healthy-report .low-span{float:left;padding-left:10px}.healthy-report .high-span{float:right;padding-right:10px}.healthy-report .meter,.healthy-report .quiz-results{background:url(/storage/img/dna-background.png);background-repeat:no-repeat;background-size:cover;color:#272727;margin:1em auto;max-width:100%;padding:4rem 2rem!important}.biochem-report .meter,.biochem-report .quiz-results,.mhg-new-report .meter,.mhg-new-report .quiz-results{background:url(/storage/img/dna-background.png);background-repeat:no-repeat;background-size:cover;color:#272727;margin:1em auto;max-width:100%;padding:2rem}.healthy-report .quiz-results{margin-bottom:2rem}.healthy-report .quiz-results p{font-style:italic}.healthy-report .meter h6,.healthy-report .quiz-results .h4{color:#fff;text-shadow:rgba(0,0,0,.74) 2px 2px 2px}.healthy-report .inherited-message{font-size:.8rem;font-style:italic;padding:0 0 .5em}.healthy-report .inherited-message span.meter-red{background-color:#fdaabd}.healthy-report .inherited-message span.meter-green{background-color:#c4eb97}.healthy-report .inherited-message span.meter-yellow{background-color:#fff388}.healthy-report .assoc-genes{color:#1172c1;font-size:.9em}.healthy-report td.green{background-color:#a0de57}.healthy-report td.green,.healthy-report td.yellow{color:#000;font-size:1.2em;font-weight:700;padding:0;text-align:center}.healthy-report td.yellow{background-color:#ffeb3b}.healthy-report td.red{background-color:#fb5f84;color:#000;font-size:1.2em;font-weight:700;padding:0;text-align:center}.healthy-report thead{background:#9bd8fb;position:sticky;position:-webkit-sticky;top:-1px}.healthy-report thead th{border:1px solid #e6e6e6;text-align:center}.healthy-report thead .report-summary th:hover{cursor:help}.healthy-report .name{color:#145aa8;font-family:Montserrat;font-size:24px;font-weight:700;margin-bottom:-1rem;text-transform:capitalize}.healthy-report .introduction .intro-text-container{margin-bottom:60px;margin-left:-65px;margin-top:60px;position:relative}.healthy-report .introduction .intro-banner{float:left;width:40%}.healthy-report .introduction .intro-banner:after{background:#145aa8;content:"";float:left;height:730px;left:-20px;position:absolute;top:-25px;width:350px;z-index:-1}.healthy-report .introduction .intro-text{float:right;width:60%}.healthy-report .introduction .intro-text h3{color:#145aa8;font-family:Montserrat;font-size:26px}.healthy-report .introduction .intro-text p{margin-bottom:30px}.healthy-report .introduction iframe{width:100%}.healthy-report h2{color:#145aa8;font-family:Montserrat;font-size:43px;font-weight:700;margin-bottom:40px}.healthy-report h2:after{background:#145aa8;content:"";display:block;float:left;height:5px;margin-top:10px;position:absolute;width:200px}.healthy-report .title{color:#145aa8;display:inline-block;font-family:Montserrat;font-size:62px;font-weight:700;max-width:100%;text-align:left;text-decoration:none;text-transform:uppercase}.healthy-report .name-block{background:teal;background-position:top;background-repeat:no-repeat;background-size:cover!important;background:url(/storage/img/healthy-header.png)}.healthy-report .name-block,.healthy-report .pdf-name-block{display:block;height:800px;padding-left:40px;padding-right:40px;width:100%}.healthy-report .pdf-name-block{background:teal;background-position:0;background-repeat:no-repeat;background-size:cover!important;background:url(/storage/img/healthy-header-reverse.png)}@media screen and (max-width:1000px){.healthy-report .name-block .title{font-size:48px;line-height:60px;margin-top:10px}.healthy-report .introduction .intro-banner{float:none;text-align:center;width:100%}.healthy-report .introduction .intro-text-container{margin-left:0}.healthy-report .introduction .intro-banner:after{background:#145aa8;content:"";float:none;height:150px;margin:0 auto;position:absolute;top:-15px;width:100%;z-index:-1}.healthy-report .introduction .intro-banner img{width:30.5%}.healthy-report .introduction .intro-text{float:right;margin-top:20px;width:100%}.healthy-report h2{font-size:30px}}@media screen and (max-width:800px){.healthy-report .trait-image-after,.healthy-report .trait-image-before{width:25%}.healthy-report .callout{width:75%}.healthy-report .grid-x>.small-11,.healthy-report .pdf-callout{width:100%}.healthy-report .intro-text-container{display:none}.healthy-report .meter{padding:2rem 1rem}.healthy-report .percent{font-size:22px;padding:10px}}@media screen and (max-width:600px){.healthy-report .meter{margin:.51em auto;max-width:100%;padding:.51rem}}.healthy-report .trait-wrapper{display:flex;width:100%}.healthy-report .trait-image-after,.healthy-report .trait-image-before{background-position:50%!important;background-repeat:no-repeat!important;display:inline;height:800px;width:35%}.healthy-report .trait-cells .trait-wrapper:nth-of-type(odd) .trait-image-before{display:inline}.healthy-report .trait-cells .trait-wrapper:nth-of-type(odd) .trait-image-after{display:none}.healthy-report .trait-cells .trait-wrapper:nth-of-type(2n) .trait-image-after{display:inline}.healthy-report .trait-cells .trait-wrapper:nth-of-type(2n) .trait-image-before{display:none}.healthy-report .alcohol,.healthy-report .alcohol-inability-to-process-and-detoxify-low-tolerance{background:url(/storage/img/trait-images/alcohol-detox.jpg)}.healthy-report .tyramine-containing-foods{background:url(/storage/img/trait-images/cheese-wine-choc.png);background-size:cover}.healthy-report .caffeine,.healthy-report .caffeine-inability-to-process{background:url(/storage/img/trait-images/coffee.jpg)}.healthy-report .carbohydrate-inability-to-convert-to-energy-efficiently{background:url(/storage/img/trait-images/carb.jpg)}.healthy-report .dietary-fat-inability-to-burn-as-a-fuel-efficiently{background:url(/storage/img/trait-images/dietary-fat.jpg)}.healthy-report .dietary-protein-inability-to-digest-and-absorb-amino-acids{background:url(/storage/img/trait-images/dietary-protein.jpg)}.healthy-report .fermented-food-sensitivity,.healthy-report .fermented-foods{background:url(/storage/img/trait-images/pickles.jpg)}.healthy-report .gluten-sensitivity-or-intolerance,.healthy-report .gluten-wheat-rye-oats-barley{background:url(/storage/img/trait-images/gluten.jpg)}.healthy-report .histamine-food-sensitivity,.healthy-report .histamine-foods{background:url(/storage/img/trait-images/avocado.jpg)}.healthy-report .intermittent-fasting,.healthy-report .intermittent-fasting-intolerance{background:url(/storage/img/trait-images/fasting.jpg)}.healthy-report .lactose-intolerance,.healthy-report .lactose-milk-sugar{background:url(/storage/img/trait-images/lactose.jpg)}.healthy-report .monosodium-glutamate-m-s-g,.healthy-report .monosodium-glutamate-m-s-g-intolerance{background:url(/storage/img/trait-images/msg.jpg)}.healthy-report .salt,.healthy-report .salt-intolerance{background:url(/storage/img/trait-images/msg-intol.jpg)}.healthy-report .serotonin-and-tryptophan,.healthy-report .serotonin-and-tryptophan-intolerance{background:url(/storage/img/trait-images/new-turkey-dinner.jpg)}.healthy-report .soy-foods-soybeans-tofu-edamame-etc,.healthy-report .soy-intolerance{background:url(/storage/img/trait-images/soy.jpg)}.healthy-report .sulfur-foods,.healthy-report .sulfur-foods-onions-garlic-eggs-wine-beer-broccoli-brussels-sprouts-cauliflower-etc,.healthy-report .sulfur-intolerance{background:url(/storage/img/trait-images/sulfur-intol.jpg)}.healthy-report .food-allergy-susceptibility{background:url(/storage/img/trait-images/food-allergy.jpg)}.healthy-report .nightshade-food-sensitivity,.healthy-report .nightshade-foods-tomatoes-potatoes-eggplant-peppers-tobacco{background:url(/storage/img/trait-images/nightshade.jpg)}.healthy-report .your-best-diet-low-carbohydrate-diet{background:url(/storage/img/trait-images/donuts-carbohydrates.jpg)}.healthy-report .your-healthy-diet-complex-carbohydrate-diet{background:url(/storage/img/trait-images/complex-carbo.jpg)}.healthy-report .your-healthy-diet-high-fat-diet{background:url(/storage/img/trait-images/keto.jpg)}.healthy-report .your-healthy-diet-high-protein-diet{background:url(/storage/img/trait-images/proteins.jpg)}.healthy-report .callout{display:inline-block;float:right;margin-bottom:110px;margin-top:0;padding-top:0;width:60%}.healthy-report .pdf-callout{display:block;margin-top:0;padding-top:0;width:100%}.healthy-report div.trait>p.description{white-space:pre-line}.healthy-report html.is-reveal-open body{overflow:initial}.healthy-report .pdf-header-block{max-width:810px}.healthy-report .pdf-header-block p.title{float:right;text-align:right}.healthy-report .pdf-header-block img{float:left;max-width:200px}.healthy-report p.report-intro{float:clear}@media screen and (max-width:850px){.healthy-report{min-width:600px;overflow:scroll}.healthy-report div.trait{padding:0}}.questionnaire{margin-bottom:2rem}.symptoms{padding:1rem}.symptoms p{color:#aaa;font-size:2rem;font-style:italic;margin:0 1rem 1rem;text-transform:lowercase}.symptoms .current{color:#396d9d;font-weight:700}.progress-meter p{color:#396d9d;font-size:.8em;padding:5px;text-align:left}.progress-meter{background:linear-gradient(90deg,#fdf4ac,#c5211f);border-radius:20px}.progress-count{color:#333;font-size:.85rem}.progress{background-color:#e6e6e6;border-radius:20px;height:40px;margin-bottom:0}.questionnaire .form{border-radius:5px;box-shadow:2px 2px 10px #333;padding:2rem}.mock-button{align-content:center;background:#08b8a9;border-radius:50%;color:#fff;display:inline-flex;font-size:2em;height:2em;justify-content:space-around;width:2em}.questionnaire fieldset{border-radius:.5em;padding:2em}.questionnaire fieldset legend{background:#e6e6e6;border-radius:5px;color:#000;margin-bottom:0;padding:1em}.questionnaire fieldset span.info{bottom:1rem;font-style:italic;font-weight:100;position:relative}.questionnaire [type=radio]{clip:rect(0 0 0 0);border:0;height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}.questionnaire fieldset label{color:#111;display:inline-flex;flex-direction:row;font-size:.875rem;font-weight:400;line-height:1.8;margin:0}.questionnaire fieldset label span{display:inline-grid;font-size:1rem;margin:.5em;text-align:center}.questionnaire [type=radio]+span:before{border:2px solid #e6e6e6;border-radius:2em;box-shadow:0 0 0 .15em #666;color:#fefefe;content:"";display:inline-block;height:2em;transition:all .5s ease;vertical-align:-.25em;width:2em}.questionnaire [type=radio]:checked+span:before{background:#c5211f}.questionnaire [type=radio]:checked+span{margin-top:0}.questionnaire [type=radio]:checked+span:after{color:#c5211f;content:"↑";font-size:1.5em;font-weight:700;line-height:1;vertical-align:-.125em}.questionnaire .form .buttons{display:flex;justify-content:space-between}.questionnaire .form .buttons .unstyled.button{background-color:#fff;box-shadow:none;color:#396d9d}.questionnaire .form .buttons .unstyled.button:focus{text-decoration:underline}@media screen and (max-width:820px){.questionnaire fieldset{padding:0}.symptoms{padding:1rem}.symptoms .current{font-size:1.6rem}.questionnaire fieldset span.info{font-size:.8em}.questionnaire [type=radio]+span:before{height:1em;width:1em}}.user-dashboard .state,.user-dashboard .zip{padding:.5em}.user-dashboard p.small{font-size:.8rem}.user-dashboard h2{font-size:2rem}.user-dashboard a:hover{color:#4d4d4d;text-decoration:underline}.user-dashboard .admin-edit-link{color:#396d9d;font-size:1.2em;line-height:2}.user-dashboard .admin-edit-link.disabled{color:#aaa;cursor:none;text-decoration:none!important}.user-dashboard .option-buttons{display:flex;flex-direction:row;flex-wrap:nowrap;justify-content:space-evenly}.user-dashboard .past-orders table a{font-size:.9em}.user-dashboard .past-orders th{font-size:1em;font-weight:400}.user-dashboard .red-text{color:#c5211f}#combine-dna-modal .red-text,#link-practitioner-modal .red-text{color:#c5211f;margin-bottom:0;padding-bottom:5px;text-align:left}.user-dashboard.processing .h4,.user-dashboard.processing a,.user-dashboard.processing h2,.user-dashboard.processing h3,.user-dashboard.processing h6,.user-dashboard.processing p,.user-dashboard.processing table{opacity:.5}.user-dashboard.processing h1{opacity:1}.user-dashboard.processing .status-message{border:2px solid #c5211f;opacity:1;text-align:center}.user-dashboard.processing .status-message h1{color:red;padding:1em .25em}.reveal .cancel-button{margin-bottom:1rem;margin-left:.5rem}.delete-data{border:1px solid #c5211f;text-align:center}.delete-link{padding:1rem}.disabled_links{color:inherit;pointer-events:none;text-decoration:none}.reports-list{font-size:1rem}.report-date,.report-label{vertical-align:top}.report-label{color:#000;font-weight:700}thead{background:#9bd8fb;position:sticky;position:-webkit-sticky;top:-1px}thead th{border:1px solid #e6e6e6;text-align:center}.recent-label{font-style:italic}.recent-report-list{display:flex;justify-content:space-evenly;list-style-type:none}.recent-report-list li{min-width:20%}.recent-report-list .take-quiz-link a{background-color:#c5211f}.recent-report-list a.button.hollow{background-color:#9bd8fb;border:none;color:#4d4d4d;display:inline-block;padding:1rem;width:100%}.recent-report-list .icon img{margin:10px 0;max-height:180px}.recent-report-list .no-quiz .icon{display:block;filter:opacity(.5);margin:.75rem auto}.recent-report-list .no-quiz .message{filter:opacity(.6);font-size:1rem}.recent-report-list .date,.recent-report-list .name{color:#4d4d4d;display:block;font-size:1.5rem;margin-bottom:1rem}.recent-report-list .date{font-size:1rem}.mhg-table th{border:none;color:#4d4d4d}.mhg-table .name,.mhg-table th{font-size:22px}.actions{padding-left:30px;padding-right:30px}@media screen and (max-width:725px){.mhg-table .mhg-table-actions{display:none}.actions{padding-bottom:30px;padding-top:30px}.date-label,.name{text-align:center}.date-label{float:none;margin:20px!important}.bottom-banner img{float:none}}@media screen and (max-width:700px){.details{margin-left:20px;text-align:left}}.settings-form .advanced{margin-top:2rem}.settings-form label{color:#396d9d;font-size:1.25em;font-weight:700;margin-top:1em}.settings-form .note-editor.note-frame{border:1px solid #e6e6e6}.algorithm-form input#negative-score,.algorithm-form input#positive-score{font-size:1.5rem}.algorithm-form .scoring{flex-flow:column;margin-top:1rem;padding:.5rem}.algorithm-form .scoring label{font-size:1rem;padding:.5rem .5rem 0}.register-form-fields{display:grid;gap:15px;grid-template-columns:repeat(2,1fr);padding:0 .625rem}@media screen and (max-width:768px){.register-form-fields{grid-template-columns:1fr}}header #main-nav ul{align-items:center;display:flex;flex-wrap:wrap}form input.is-invalid{border-color:#ef4533}.product-item__description{grid-column-gap:3rem;display:grid;grid-template-columns:300px 1fr}@media screen and (max-width:768px){.product-item__description{grid-template-columns:1fr}}@media screen and (min-width:768px){.product-item__description .description{grid-column:1/span 2}}@media screen and (max-width:768px){.cart-desktop{display:none}}@media screen and (min-width:767px){.cart-mobile{display:none}}.cart-mobile tbody tr:last-of-type{border-top:2px solid}.cart-mobile .cart-item-product{align-items:center;display:grid;gap:15px;grid-template-columns:200px 1fr}@media screen and (max-width:567px){.cart-mobile .cart-item-product{grid-template-columns:1fr}.cart-mobile .cart-item-product img{max-width:170px}}.cart-mobile .cart-item-controls{align-items:center;display:flex}#checkoutForm label.invalid span+span{display:block}.warning{background-color:#ffeb3b;color:#222}.navbar-laravel{background-color:#fff;box-shadow:0 2px 4px rgba(0,0,0,.04)}label[for=raw-data]{color:#1779ba;cursor:pointer;display:inline;font-size:16px}.error,span.invalid-feedback{color:#ef4533}.login_link{text-decoration:underline}span.multiselect__tag{background:#396d9d}.multiselect__tag-icon:after{color:#dedede!important;content:"✖"!important}select{border:1px solid #dedede}.plus-icon{font-size:1rem}@media print,screen and (min-width:40em){.no-js .title-bar,.title-bar{display:none}}.callout.success{background-color:#a0de57c9}.callout.unlinked{background-color:#eee;display:inline-block}.callout.linked{background-color:#a0de57c9;display:inline-block}.callout.primary{background-color:#36b0ff}.paging th{cursor:pointer}.pagination .current a{background:transparent;color:#fff;font-weight:700}p.title{text-decoration:underline;width:100%}.text-success{color:#080}.text-center{text-align:center}.text-red{color:#c5211f}.ml-0{margin-left:0}.ml-1{margin-left:.25rem}.ml-2{margin-left:.5rem}.ml-3{margin-left:.75rem}.ml-4{margin-left:1rem}.ml-5{margin-left:1.25rem}.ml-6{margin-left:1.5rem}.ml-8{left:2rem}.mt-0{margin-top:0}.mt-1{margin-top:.25rem}.mt-2{margin-top:.5rem}.mt-4{margin-top:1rem}.mt-8{margin-top:2rem}.mt-12{margin-top:3rem}.mb-0{margin-bottom:0}.mb-1{margin-bottom:.25rem}.mb-2{margin-bottom:.5rem}.mb-4{margin-bottom:1rem}.mb-8{margin-bottom:2rem}.mb-12{margin-bottom:3rem}.mr-0{margin-right:0}.mr-1{margin-right:.25rem}.mr-2{margin-right:.5rem}.mr-3{margin-right:.75rem}.mr-4{margin-right:1rem}.mr-6{margin-right:1.5rem}.mr-8{margin-right:2rem}.p-1{padding:.25rem}.p-2{padding:.5rem}.p-3{padding:.75rem}.p-4{padding:1rem}.pr-1{padding-right:.25rem}.pr-2{padding-right:.5rem}.pr-3{padding-right:.75rem}.pr-4{padding-right:1rem}.pl-1{padding-left:.25rem}.pl-2{padding-left:.5rem}.pl-3{padding-left:.75rem}.pl-4{padding-left:1rem}.text-bold{font-weight:700}.terms-box{background-color:#f0f0f0;border:1px solid #ccc;border-radius:5px;overflow:scroll;padding:15px}.d-tr{display:table-row}.d-td{display:table-cell}.form-input,input[type=email],input[type=password],input[type=text]{border:1px solid #000;border-radius:0!important;box-shadow:none}.primary{background:#36b0ff;border-radius:0;padding:5px 40px 10px}.callout label{font-size:17px;margin-bottom:5px}.callout .button{display:block;float:none;margin:0 auto}.delete-data{border:3px solid #c5211f;float:none;margin:20px auto 30px;max-width:800px;padding:40px 50px}@media screen and (max-width:639px){.delete-data{max-width:calc(100vw - 1.25rem)}}.delete-data .h5{color:#c5211f;margin-bottom:25px}.text-loading{color:#eee;font-family:Montserrat;font-size:5rem;font-weight:700;left:50%;position:fixed;text-align:center;text-shadow:3px 3px #666;top:50%;transform:translate(-50%,-50%);z-index:999}.settings-price-input{border:1px solid #000;border-radius:0!important;box-shadow:none;font-size:1.25rem}.grid{display:grid}.inline-grid{display:inline-grid}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.grid-cols-5{grid-template-columns:repeat(5,minmax(0,1fr))}.grid-cols-6{grid-template-columns:repeat(6,minmax(0,1fr))}.grid-cols-7{grid-template-columns:repeat(7,minmax(0,1fr))}.grid-cols-8{grid-template-columns:repeat(8,minmax(0,1fr))}.grid-cols-9{grid-template-columns:repeat(9,minmax(0,1fr))}.grid-cols-10{grid-template-columns:repeat(10,minmax(0,1fr))}.grid-rows-1{grid-template-rows:repeat(1,minmax(0,1fr))}.grid-rows-2{grid-template-rows:repeat(2,minmax(0,1fr))}.grid-rows-3{grid-template-rows:repeat(3,minmax(0,1fr))}.grid-rows-4{grid-template-rows:repeat(4,minmax(0,1fr))}.grid-rows-5{grid-template-rows:repeat(5,minmax(0,1fr))}.grid-rows-6{grid-template-rows:repeat(6,minmax(0,1fr))}.grid-rows-7{grid-template-rows:repeat(7,minmax(0,1fr))}.grid-rows-8{grid-template-rows:repeat(8,minmax(0,1fr))}.grid-rows-9{grid-template-rows:repeat(9,minmax(0,1fr))}.grid-rows-10{grid-template-rows:repeat(10,minmax(0,1fr))}.grid-flow-col{grid-auto-flow:column}.gap-1{gap:.25rem}.gap-2{gap:.5rem}.gap-3{gap:.75rem}.gap-4{gap:1rem}.gap-x-1{-moz-column-gap:.25rem;column-gap:.25rem}.gap-x-2{-moz-column-gap:.5rem;column-gap:.5rem}.gap-x-3{-moz-column-gap:.75rem;column-gap:.75rem}.gap-x-4{-moz-column-gap:1rem;column-gap:1rem}.gap-y-1{row-gap:.25rem}.gap-y-2{row-gap:.5rem}.gap-y-3{row-gap:.75rem}.gap-y-4{row-gap:1rem}.items-center{align-items:center}.small-button{background-color:#396d9d;border-radius:0;color:#fff;cursor:pointer;font-size:1rem;padding:.75rem;transition:all .2s ease-in-out}.small-button:hover{background:#81a1be}.collapse-title:before{content:"\f282";float:left;font-family:bootstrap-icons;font-size:20px;line-height:43px;padding-right:20px}.collapse-title.collapsed:before{content:"\f285"}.collapse{display:none;opacity:0;transition-duration:.35s;transition-property:all;transition-timing-function:ease}.collapse.show{display:block;opacity:1}.checkout-container{margin-left:auto;margin-right:auto;min-width:768px;text-align:center;width:75%}.checkout-container>p{font-size:16px;font-weight:700;text-align:left}li.disclaimer_agreement{color:#4d4d4d;font-size:.875rem;font-weight:400;line-height:1.8;margin:0}li.disclaimer_agreement.text-red{color:#c5211f}.cart-page-controls{align-items:flex-end;display:flex;justify-content:space-between}@media screen and (max-width:768px){.cart-page-controls{align-items:flex-start;flex-direction:column}}.cart-page-controls form{align-items:flex-start;display:flex;gap:25px}.cart-page-controls form input[type=text]{height:48px;margin-bottom:0}.cart-page-controls form small{position:absolute}@media screen and (max-width:768px){.cart-page-controls a{margin-top:25px}}

/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3NzL2FwcC5jc3MiLCJtYXBwaW5ncyI6IjtBQUFBOzs7Ozs7Ozs7OztFQVdFLENDTEYsV0FJRSxrQkFIQSx1QkFDQSxrQkFDQSxnQkFFQSwrTENMRixDRFNBLHVEQU9FLG9CQUdBLGtDQUNBLG1DQUNBLFdBVkEscUJBQ0EsdUJBRUEsa0JBREEsa0JBRUEsd0JBRUEsb0JBQ0EscUJDSkYsQ0RZQSxjQUNFLGtCQUNBLFlDVEYsQ0RZQSxrQkFDRSx3QkFDQSxtQkFDQSx3QkNURixDRFlBLHFCQUNFLFVDVEYsQ0RZQSxzQkFDRSxXQ1RGLENEYUUsK0JBQ0UsaUJDVkosQ0RZRSxnQ0FDRSxnQkNWSixDRGdDQSx3QkFDRSxlQzdCRixDRGdDQSwrQkFDRSxlQzdCRixDRGdDQSwrQkFDRSxlQzdCRixDRGdDQSxnQ0FDRSxlQzdCRixDRGdDQSw2QkFDRSxlQzdCRixDRGdDQSxnQ0FDRSxlQzdCRixDRGdDQSw4QkFDRSxlQzdCRixDRGdDQSxvQ0FDRSxlQzdCRixDRGdDQSxvQ0FDRSxlQzdCRixDRGdDQSxxQ0FDRSxlQzdCRixDRGdDQSxrQ0FDRSxlQzdCRixDRGdDQSw2QkFDRSxlQzdCRixDRGdDQSwyQkFDRSxlQzdCRixDRGdDQSwyQkFDRSxlQzdCRixDRGdDQSx1QkFDRSxlQzdCRixDRGdDQSx3QkFDRSxlQzdCRixDRGdDQSwrQkFDRSxlQzdCRixDRGdDQSx5QkFDRSxlQzdCRixDRGdDQSx3QkFDRSxlQzdCRixDRGdDQSx1QkFDRSxlQzdCRixDRGdDQSw0QkFDRSxlQzdCRixDRGdDQSw2QkFDRSxlQzdCRixDRGdDQSw2QkFDRSxlQzdCRixDRGdDQSx5QkFDRSxlQzdCRixDRGdDQSw2QkFDRSxlQzdCRixDRGdDQSw2QkFDRSxlQzdCRixDRGdDQSw4QkFDRSxlQzdCRixDRGdDQSx1QkFDRSxlQzdCRixDRGdDQSx3QkFDRSxlQzdCRixDRGdDQSx5QkFDRSxlQzdCRixDRGdDQSx1QkFDRSxlQzdCRixDRGdDQSx3QkFDRSxlQzdCRixDRGdDQSw2QkFDRSxlQzdCRixDRGdDQSx3QkFDRSxlQzdCRixDRGdDQSw4QkFDRSxlQzdCRixDRGdDQSx5QkFDRSxlQzdCRixDRGdDQSwwQkFDRSxlQzdCRixDRGdDQSwyQkFDRSxlQzdCRixDRGdDQSx1QkFDRSxlQzdCRixDRGdDQSwyQkFDRSxlQzdCRixDRGdDQSw0QkFDRSxlQzdCRixDRGdDQSw0QkFDRSxlQzdCRixDRGdDQSw2QkFDRSxlQzdCRixDRGdDQSxvQ0FDRSxlQzdCRixDRGdDQSx5QkFDRSxlQzdCRixDRGdDQSxnQ0FDRSxlQzdCRixDRGdDQSw0QkFDRSxlQzdCRixDRGdDQSw2QkFDRSxlQzdCRixDRGdDQSw4QkFDRSxlQzdCRixDRGdDQSx3QkFDRSxlQzdCRixDRGdDQSw4QkFDRSxlQzdCRixDRGdDQSx3QkFDRSxlQzdCRixDRGdDQSw0QkFDRSxlQzdCRixDRGdDQSx1QkFDRSxlQzdCRixDRGdDQSxnQ0FDRSxlQzdCRixDRGdDQSx3QkFDRSxlQzdCRixDQzlRQSxZQUlFLGtCQzBHQSx5QkQ3R29CLENDZ0hwQixxQkRoSG9CLENBQ3BCLFdBQ0Esc0JEcVJGLENHeFJBLGNBSUUseUJBQ0EsMENBQ0EsMkJBQ0EsNEJBSkEsV0FGQSxnQkhpU0YsQ0lsU0EsZ0JBRUUscUJBQ0EsaUJBRkEsaUJKdVNGLENJblNFLGdDQUNFLGNKcVNKLENJbFNFLHNDQUNFLGFKb1NKLENJalNFLHdLQUlFLGdCSm1TSixDSWhTRSx3R0FHSSw0QkFEQSx3QkptU04sQ0kvUkUsNEhBR0UsNkJBREEseUJKa1NKLENJN1JJLG9DQUNFLGFKK1JOLENLalVBLFVDT0UscUJDcUJlLENGcEJmLHNCQ0FBLHdCQ3FCbUIsQ0RTbkIsaUJDbkJtQixDRGJuQixVQ3FCbUIsQ0ZwQm5CLGVBTkEscUJDbUNBLGNDM0JVLENGUFYsZ0JDbUNBLGVDeEJZLENGVlosZ0JBUUEsVUN3QkEsaUJEL0JBLGtCQUVBLDBCSDhHQSx3Qkd0R3FCLENIdUdyQixxQkd2R3FCLENId0dyQixvQkd4R3FCLENIeUdyQixnQkd6R3FCLENBVHJCLHNCQUtBLGtCTGdWRixDTTFVRSxnREFIRSx3QkNpQm1CLENEaEJuQixvQkNlaUIsQ0RqQmpCLFVOd1ZKLENNM1VJLDRLQUVFLHFCQ0NXLENEQVgsb0JONFVOLENLN1VFLGtGQUxFLHdCRVFtQixDRlRuQix5QkgyQkYsaUJHeEJtQixDQUxqQixVRVFpQixDRkpqQixVQUhBLG9CTDBXSixDS25XRSxrQ0FHRSxzQkFRQSwyQ0x3VkosQ0tyVkUsb0VIa0VBLGVHN0RzQixDQUZwQixrQkVIYyxDTDhCaEIsK0RBQ0EseUJBTkEsbUJHckJtQixDSHNCbkIsa0JHdEJtQixDSHVCbkIsZ0JHdkJtQixDSHdCbkIsV0ZxVUYsQ0t6VkUsMkNBQ0UsZ0JMMlZKLENLeFZFLDRDQUVFLGtCQURBLGdCTDJWSixDS3RWQSxrQkFDRSxtQkFDQSxVTHlWRixDS3ZWRSx3RUFNRSx5QkFEQSx5QkhwQkYsaUJHc0JtQixDQUpqQixXQUNBLG9CTDRWSixDS3BWQSxnQkFDRSxjQUNBLFVMdVZGLENLcFZBLGdDQUNFLGNMdVZGLENLaFZFLHFHQUNFLFVMcVZKLENLalZBLGFBS0Usd0JBRkEsdUJBQ0EsU0FGQSxlQURBLFNMd1ZGLENLalZBLE9BSUUsV0FIQSxZQUNBLGVBQ0EsY0FFQSxVTG9WRixDS2pWQSxhQUlPLDhCQUNJLDBCQUpULGtCQUNDLGlCQUNFLGVBR0ssU0xvVlYsQ1F2Y0EsZUFDRSxpQlIwY0YsQ1F0Y0UsNkJBRUUsaUJBREEsVVIwY0osQ1F0Y0Esb0JBU0UsZUQ4QmtCLENDM0JsQiw0QkFGQSx5Qk51RkEsb0NNcEZvQixDQVpwQixhQU1BLFdBRkEsT0FIQSxnQkFTQSxZQVJBLGtCQUtBLGdCQUpBLFNBRUEsWVJrZEYsQ1F6Y0UsZ0NBQ0UsY1IyY0osQ1FuY0EsNkRBQ0UsYVIwY0YsQ1F4Y0UsMEJBQ0Usd0JSMGNKLENRdGNBLGdEQUdFLFdBREEsYUFFQSxvQlJ5Y0YsQ1N2ZkEsWUFLRSxTQUdBLGFQK0RBLGdFQUNBLDBCT3RFQSxPUGdFQSxpQk8zRGlCLENQNERqQixnQk81RGlCLENQNkRqQixjTzdEaUIsQ1A4RGpCLFNPOURpQixDQU5qQixlQUVBLFFBQ0EsTUFFQSxZVGlnQkYsQ1M3ZkUsaUJBQ0UsYVQrZkosQ1MzZkEsb0JBS0UsZUZ1RGlCLENFdERqQiwyQkFGQSxnQ0FJQSxrQlBvRkEsbUNPbkZvQixDQU5wQixpQkFJQSxVQU5BLGtCQUNBLFVUdWdCRixDUzdmQSxtQkFFRSx5QkFEQSxpQlRpZ0JGLENTN2ZBLGlCQUVFLGtCQURBLGlCVGlnQkYsQ1M3ZkUscUJBRUUsc0JBREEsa0JQd0VGLHlCQUR5QixDQUl6QixxQkFKeUIsQ09yRXZCLFdBRUEsZ0JBREEsZVRvZ0JKLENTOWZBLG1CQUNFLFlBQ0EsYUFDQSxpQlRpZ0JGLENTN2ZBLHFCQUNFLGNBQ0Esb0JUZ2dCRixDUzdmQSxzREFFRSxjQUNBLHlCVGdnQkYsQ1M3ZkEsNkJBQ0UsV1RnZ0JGLENTN2ZBLGtCQUVFLGNBREEsZUFHQSxnQkFEQSxRVGlnQkYsQ1M3ZkEscUJBT0UsZUZMa0IsQ0VFbEIsU0FLQSxhUGRBLCtEQUNBLHlCT01BLE9QWkEsa0JPa0JpQixDUGpCakIsaUJPaUJpQixDUGhCakIsZU9nQmlCLENQZmpCLFVPZWlCLENBUGpCLGVBRUEsUUFFQSxNQUNBLFlUd2dCRixDU25nQkUsMEJBQ0UsYVRxZ0JKLENTL2ZBLHlCQUVFLG9CQUVFLGlCQURBLFdUa2dCQSxDQUNKLENTOWZBLHlCQUNFLDBCQUNFLFdUZ2dCQSxDQUNKLENTM2ZFLDZCQUlFLGNBSEEsY0FFQSxtQkFEQSxjVCtmSixDUzFmRSxzQkFFRSxhQUVJLGVBR0osZ0JBREEsZ0JBREEsY1Q4ZkosQ1N6ZkUsMkJBTUUscUNBREEsNkJBRkEsY0FGQSxjQUNBLG1CQUVBLG9CVDZmSixDU3hmRSxrRUFFRSxjQUNBLG9CVDBmSixDU3ZmRSxvQ0FDRSxhVHlmSixDU3RmRSwyQkFDRSw0QlR3ZkosQ1NyZkUsMENBQ0Usa0JUdWZKLENTcGZFLDBDQUNFLDZCQUNBLDhCQUNBLDhCVHNmSixDU25mRSxnR0FFRSxpQ1RxZkosQ1NsZkUsbURBRUUsNkJBQ0EseUJBRkEsYVRzZkosQ1NqZkUsOERBRUUsc0JBQ0EsNEJBRkEsYVRxZkosQ1NoZkUsOEJBQ0UsZ0JUa2ZKLENTL2VFLDJIQUVFLFlUaWZKLENTL2VFLDhGQUVFLGFUaWZKLENVNXFCQSxpQkFDRSxtQlYrcUJGLENVNXFCQSw0QkFDRSxnQlYrcUJGLENVNXFCQSxpQkFJRSxjQUhBLGNBRUEsZUFHQSxnQkFEQSxtQkFIQSxVVm1yQkYsQ1U1cUJBLFlBSUUsZ0JBREEseUJSMEZBLHlCQUR5QixDQUl6QixxQkFKeUIsQ1ExRnpCLGNBS0EsZUFGQSxVQUNBLGdCQUxBLFVWeXJCRixDVTlxQkEsdUNBQ0UsVVZpckJGLENVMXFCQSwyREFDRSxVVm1yQkYsQ1VockJBLGtDQUNFLFVWbXJCRixDVzd0QkEsY0FHRSxjVG9FQSw4REFDQSx3QlNsRUEsZVQ0REEsaUJTekRpQixDVDBEakIsZ0JTMURpQixDVDJEakIsY1MzRGlCLENUNERqQixTUzVEaUIsQ0FSakIsa0JBT0Esd0JBTkEsWVh5dUJGLENXaHVCRSxpQlQ0REEsK0RBQ0EseUJBTkEsa0JLWGlCLENMWWpCLGlCS1ppQixDTGFqQixlS2JpQixDTGNqQixVRjhxQkYsQ1d2dUJFLGtCQUFXLGdCQUFtQixhWDJ1QmhDLENXMXVCRSxvQkFBVyxnQkFBbUIsYVg4dUJoQyxDVzd1QkUscUJBQVcsZUFBbUIsYVhpdkJoQyxDV2h2QkUsbUJBQVcsaUJBQW1CLGFYb3ZCaEMsQ1dodkJFLHlDQUtFLHdCSjhCZSxDSS9CZix1QkFGQSxTQUNBLGlCQUZBLEtYdXZCSixDV2h2QkUsc0NBS0UscUJKc0JlLENJdkJmLHVCQUhBLFNBQ0EsU0FDQSxnQlhvdkJKLENXL3VCRSx3Q0FLRSx1QkpjZSxDSWZmLDJCQUZBLE9BQ0EsZ0JBRkEsT1hxdkJKLENXL3VCRSx1Q0FLRSxzQkpPZSxDSVJmLDJCQURBLGdCQURBLFFBREEsT1hxdkJKLENXNXVCQSxvQkFJRSx5QkFDQSxtQkFGQSxTQUZBLGtCQUNBLE9Ya3ZCRixDVzV1QkEsc0JBTUUscUJKWmlCLENJVWpCLFVKWGlCLENJU2pCLHNCSnREWSxDSXFEWixlSlRpQixDSVdqQixnQkFFQSxpQlhndkJGLENZanpCQSxjQVVFLGVMaURjLENLL0NkLHNCQVRBLGNBTUEsYUFGQSxzQkxDWSxDS0ZaLGVBTEEsa0JBQ0EsWVoyekJGLENZL3lCRSxpQkFBVyxhWmt6QmIsQ1lqekJFLGtCQUFXLGlCQUFvQixhWnF6QmpDLENZcHpCRSxvQkFBVyxpQkFBb0IsYVp3ekJqQyxDWXZ6QkUscUJBQVcsZ0JBQW9CLGFaMnpCakMsQ1kxekJFLG1CQUFXLGtCQUFvQixhWjh6QmpDLENZMXpCRSx5Q0FLRSx3QkwwQ2tDLENLekNsQyxtQ0x3Q3VCLENLMUN2QixtQkFGQSxVQUNBLGtCQUZBLFNaazBCSixDWTN6QkksK0NBS0UseUJBREEsbUJBREEsZ0JBREEsa0JBREEsT1ppMEJOLENZenpCRSxzQ0FJRSxzQkFDQSxxQkx5QmtDLENLeEJsQyxnQ0x1QnVCLENLNUJ2QixhQUNBLFVBQ0EsaUJaOHpCSixDWXp6QkksNENBSUUsc0JBQ0Esc0JBSkEsV0FFQSxnQkFEQSxpQlo4ekJOLENZdnpCRSx3Q0FJRSxvQkFDQSx1QkxRa0MsQ0tQbEMsa0NMTXVCLENLVnZCLFdBQ0EsaUJBRkEsT1o4ekJKLENZdnpCSSw4Q0FJRSxvQkFDQSx3QkFGQSxnQkFGQSxTQUNBLGdCWjR6Qk4sQ1lyekJFLHVDQUtFLHNCTFRrQyxDS1VsQyxpQ0xYdUIsQ0tTdkIscUJBREEsaUJBREEsWUFEQSxPWjR6QkosQ1lyekJJLDZDQUtFLHVCQURBLHFCQURBLGdCQURBLGlCQURBLFNaMnpCTixDWWp6QkEsb0JBSUUsOEJBREEsU0FGQSxrQkFDQSxPWnN6QkYsQ1lsekJFLDBCQVVFLDhCQURBLGdCQVBBLGNBRUEsU0FIQSxrQkFFQSxPWnl6QkosQ1k3eUJBLHNCQUtFLHFCTDNEYyxDS3lEZCxVTHhEYyxDSzREZCxnQkFEQSxnQkFKQSxnQkFFQSxpQlptekJGLENhNTVCQSxhQUNFLGlCYm02QkYsQ2E5NUJFLDRCQUtFLHNCQURBLGFBTmUsQ0FJZixhQUlBLFlBTEEsa0JBRUEsV2JtNkJKLENhOTVCSSxtREFDRSxtQkFHQSxlQUNBLGdCQUZBLGtCQURBLHFCYm02Qk4sQ2E3NUJJLGtDQUNFLGFiKzVCTixDYTM1QkUscUNBQ0UsYWI2NUJKLENhMTVCRSxnQ0FDRSxpQmI0NUJKLENhMTVCSSwrQ0FDRSxZYjQ1Qk4sQ2ExNUJNLG1EQUNFLG9CYjQ1QlIsQ2F6NUJNLG1EQUNFLGtCYjI1QlIsQ2F4NUJNLG1FQUNFLGlCYjA1QlIsQ2F2NUJNLG9FQUNFLGdCYnk1QlIsQ2FqNUJBLG1EQUVFLDBCYnM1QkYsQ2FqNUJNLHlJQUNFLFlibzVCUixDYWw1Qk0sdUlBQ0UsYWJxNUJSLENhaDVCRSx5RkFDRSxlYm01QkosQ2FoNUJJLHVIQUdFLHFCQURBLGNBREEsWWJxNUJOLENhajVCTSxxS0FDRSwwQmJvNUJSLENhLzRCSSxxSEFTRSxzQkFMQSxZWHpESixlV29FcUIsQ0FWakIsZ0JYSUoseUJXS3dCLENYRnhCLHFCV0V3QixDQU5wQixXQVBBLGFBS0EsOENBQ0EsZUFTQSxnQkFMQSxhQVJBLGFBT0EsWUFSQSxVYm02Qk4sQ2FoNUJFLHlFQUdFLE9BRkEsZUFDQSxNQUVBLHFCQUNBLFlibTVCSixDYWw1QkkseUdBQ0UsWWJxNUJOLENhaDVCRSwyRkFRRSxTQUNBLDZCQUZBLFdBTkEsY0FFQSxlQUVBLFlBREEsdUJBRUEsZ0JBSkEsVWIwNUJKLENhaDVCRSx1R0FFRSwrQkFEQSxRYm81QkosQ2FoNUJFLG1IQUNFLHFCYm01QkosQ2FoNUJFLG1IQUNFLFVibTVCSixDYWg1QkUsdUhBQ0UsYWJtNUJKLENhaDVCRSx1SEFDRSxhYm01QkosQ2FoNUJFLGlIQUNFLGFibTVCSixDYWg1QkUsdUhBQ0UsYWJtNUJKLENhaDVCRSxxSEFDRSxhYm01QkosQ2FoNUJFLHlHQUtFLHlCQUZBLGdCQUNBLFdBSEEsZ0JBQ0Esb0JiczVCSixDYWg1QkUsK0hBQ0UsZ0JibTVCSixDYWg1QkUseUhBRUUsbUNBREEsdUJibzVCSixDYWg1QkUsbUhBRUUsbUNBREEsdUJibzVCSixDYWg1QkUseUhBRUUsbUNBREEsdUJibzVCSixDYWg1QkUsdUhBRUUsbUNBREEsdUJibzVCSixDYS80QkUsbUZBQ0UsMEJBaE5lLENBaU5mLDhCQUNBLCtCQUNBLDhCYms1QkosQ2FqNUJJLG1IQUlFLGlCQUZBLFdBREEsZ0JBRUEsVWJxNUJOLENhbjVCTSxpSkFHRSwrQkFEQSxnQkFEQSxVYnc1QlIsQ2FqNUJNLGlJQUNFLGNibzVCUixDYW41QlEsK0pBQ0UsWWJzNUJWLENhajVCRSx1RkFDRSxZYm81QkosQ2FoNUJBLDJCQUNFLFFibTVCRixDYWg1QkksNkRBQ0UsU2JrNUJOLENhMTRCQSxzQkFDRSxhQUNBLGNiKzRCRixDYTU0QkkseUNBQ0UscUJBQ0EsZ0JBQ0EsZ0JBQ0EsdUJBRUEsc0JBREEsa0JiKzRCTixDYTM0QkUsNkJBQ0UsbUJiNjRCSixDYXY0QkEsY0FDRSxpQmI0NEJGLENhejRCQSwwREFDRSxTQUNBLG1CYjQ0QkYsQ2ExNEJFLDBGQUVFLGNBQ0EsaUJBRkEsY2I4NEJKLENheDRCSSxrSEFDRSxZQUNBLFdiMDRCTixDYXo0Qk0sZ0tBQ0UsY2IyNEJSLENhMTRCUSx3T0FLRSxlQURBLFlBSEEsNEJBRUEsV0FEQSxTYis0QlYsQ2ExNEJRLDBPQUtFLG9SQURBLFdBSEEsNEJBRUEsVUFEQSxTYis0QlYsQ2ExNEJRLHNPQUtFLG9SQURBLFdBSEEsNEJBRUEsVUFEQSxTYis0QlYsQ2FwNEJNLGtRQUNFLFNBQ0EsZ0JiczRCUixDYXA0Qk0sczBCQUNFLFNBQ0EsU2JzNEJSLENhaDRCSSxrSUFDRSxlYms0Qk4sQ2E3M0JJLG9IQUVFLGlCQURBLFViZzRCTixDYTUzQk0sc0pBQ0UscUJBQ0EsU0FDQSxXYjgzQlIsQ2E3M0JRLDhLQUNFLFliKzNCVixDYTUzQlEsOExBSUUsNkJBSEEsZUFDQSxlQUNBLGlCYiszQlYsQ2EzM0JRLHNYWDFUTixpQldpVXlCLENBRmpCLGVBSEEsZUFDQSxXQUNBLGNBRUEsVWJpNEJWLENhOTNCVSw4WUFDRSxlYms0QlosQ2E5M0JRLHNMQUNFLFdiZzRCVixDYTczQlEsb01BQ0UsWWIrM0JWLENhMzNCVSw4TkFDRSxxQmI2M0JaLENhcjNCSSx3SEFDRSxnQkFDQSxXYnUzQk4sQ2F0M0JNLHdJQUNFLGVidzNCUixDYWwzQkUsa0dBQ0UsZWJvM0JKLENhaDNCSSw4R0FFRSxVQURBLE9ibTNCTixDYWozQk0sNEhBRUUsb0JBREEsU2JvM0JSLENhajNCTSwwSEFFRSxvQkFEQSxVYm8zQlIsQ2E5MkJNLGdJQUNFLGNBQ0EsaUJiZzNCUixDYTkyQk0sZ0pBQ0Usa0JiZzNCUixDYTMyQkUsOEZBQ0UsY2I2MkJKLENhejJCRSxrR0FDRSxhYjIyQkosQ2F6MkJNLDBJQUtFLFNBQ0EsZ0JBSkEsWUFFQSxTQURBLFVBRkEsVWJnM0JSLENhejJCTSxzSkFDRSxxQkFDQSxrQmIyMkJSLENhbDJCRSwwQkFFRSxrQlhuV0YsbUNXb1dzQixDQUZwQixTYjIyQkosQ2F2MkJFLHdCQUNFLGNBQ0EsY2J5MkJKLENhdjJCRSw2QkFDRSxRYnkyQkosQ2F0MkJJLDhDQU1FLDBCQUZBLGNBRkEsZUFDQSxjQUlBLG1CQU5BLGlCQUlBLGlCYjAyQk4sQ2ExMUJBLGtCQUdFLFdBREEsYUFEQSxpQmJzMkJGLENhNzFCRSxxQ0FHRSxzQkFEQSxhQURBLGlCYm8yQkosQ2FqMkJJLHlDQUNFLGlCYm0yQk4sQ2FoMkJJLGdFQUdFLHNCWDViSiwrREFDQSx5QlcwYkksWVhoY0osa0JXa2NxQixDWGpjckIsaUJXaWNxQixDWGhjckIsZVdnY3FCLENYL2JyQixVVyticUIsQ0FIakIsVWIwMkJOLENhcDJCSSw4S0FHRSxzQkFEQSxXQURBLFNidzJCTixDYS8xQkksMERBRUUscUJiZzJCTixDYTcxQkksc0RBSUUsbUJBREEsa0JBREEsVUFEQSxRYmsyQk4sQ2E1MUJJLHNEQUdFLG1CQUNBLGlCQUZBLFdBREEsUWJpMkJOLENhMzFCSSxzREFJRSxrQkFEQSxnQkFGQSxZQUNBLFNiKzFCTixDYTExQkksc0RBRUUsWUFDQSxpQkFGQSxVYjgxQk4sQ2F6MUJJLDBFQUdFLGlCQURBLGdCQURBLGNiNjFCTixDYXgxQkksa0VBTUUsc0JYN2dCSixpQlcrZ0JxQixDQU5qQixTQUdBLFdYcmZKLCtEQUNBLHlCV3NmSSxlQUhBLFdYemZKLGtCVzhmcUIsQ1g3ZnJCLGlCVzZmcUIsQ1g1ZnJCLGVXNGZxQixDWDNmckIsVVcyZnFCLENBTmpCLFlBRkEsT2J5MkJOLENhNTFCQSxtQkFDRSxnQkFDQSxXYisxQkYsQ2E3MUJFLG9DQUVFLGlCQUNBLGNBRkEsV2JpMkJKLENhNTFCTSxxRUFDRSx3QkFDQSxXYjgxQlIsQ2E1MUJRLHVKQVFFLHlCQU5BLFdBR0EsV0FLQSxlQVRBLGNBRUEsZ0JBQ0EsZ0JBS0EsVUFGQSxxQkFEQSxrQmJrMkJWLENhcDFCRSxzREFDRSx5QmJ5MUJKLENBNTZDTSxxREFFRSx5QkFEQSxVQWc3Q1IsQ0E3NkNTLGdIQUNDLHlCQUNBLGVBKzZDVixDQTM2Q00saURBQ0UseUJBSUEsY0FGQSxvQkFDQSxvQkFGQSx1QkFnN0NSLENBMTZDTSw4R0FFRSxjQUVBLFVBREEseUJBNjZDUixDQXo2Q00sc0RBQ0UsUUEyNkNSLENBajZDSSxtQ0FHRSxxQkFGQSxrQkFDQSxlQXU2Q04sQ0FuNkNLLG1EQUNDLHdCQXE2Q04sQ0FoNkNFLDRCQUNFLDhCQUNFLFdBazZDRixDQUNKLENBNTVDRSxzQkFFRSxxQkFEQSxpQkFnNkNKLEM7QWN0NUNFLGdCQ3V0QkYsQ0M3bkJRLHlDQ3RJTixpREFFRSxVQUNBLGNBRkEsVUZoQ0YsQ0FDRjtBR1pFLDRFQzZKQSxLQWlCRSxhQWpJSSxDQThISiw0REowREosQ0lWRSxnQkFLRSxlSjRDSixDS25KRSx3TUE5QkEsd0JBaERhLENBaURiLGVEQ2MsQ0NDZCwyQ0F2Q2EsQ0E2Q2IsYUxxTkYsQ0s5TUUsa1NBRUUsd0JBOURpQixDQWdFakIsMEJMa05KLENLOUtFLDRCQUdFLGVMK0xKLENLektFLG1CQUNFLGFMZ0xKLENLakxFLHVCQUNFLGFMZ0xKLENLakxFLGNBQ0UsYUxnTEosQ01yVEUsTUFaQSxhTnNXRixDTXZWSSxhQVBGLGtCTm1XRixDT3JYRSxXQU1FLGFQc1hKLENRdldNLGdKQUNFLHFCUm1YUixDUXBXRSxtQkFNRSxhUmtYSixDUzVWRSxvQ0R6QkUsd0JSK2JKLENTdGFFLE9DZ0VBLHdPRHpIQSxlTG1FYyxDSzVEZCxhVHdkRixDU3ZjRSxhQUVFLHdCSkxpQixDSU9qQiwwQlQrY0osQ1c3UEUscUJBRUUsZVg0VUosQ1dqVUUsMENBTUUsNERQOU5lLENPZ09mLGVYMlVKLENXdlVJLGtIQUVFLGFYOFVOLENXclVRLE9BSUksbUJYc1ZaLENXMVZRLE9BSUksa0JYNlZaLENXaldRLE9BSUksbUJYb1daLENDcGVRLHlDVTRIQSxPQUlJLGNYZ1hWLENXcFhNLE9BSUksZ0JYb1hWLENXeFhNLE9BSUksbUJYd1hWLENXNVhNLE9BSUksbUJYNFhWLENXaFlNLE9BSUksaUJYZ1lWLENXcFlNLE9BSUksY1hvWVYsQ0FDRixDV2xXRSxFQUVFLGFYc1dKLENXaldJLGdCQUVFLGFYa1dOLENXdFZFLEdBVUUsK0JYMFZKLENXbFRJLE1BRUUsZVhrVk4sQ1c3VUUsV0FHRSw2QlhnVkosQ1c5VUksd0JBRUUsYVhnVk4sQ1dsVUUsaUJBQ0UsZ0NYdVVKLENXclRFLElBT0UsYVgwVEosQ0R2bUJFLDRCQWhGQSxhQ3V0QkYsQ0R0bkJFLDhCQXRGQSx3QkEzQlksQ0FnQ1osYUNtdUJGLENZdHpCRSxhQUNFLEVBTUksbUNBRkEsaUNBU0YsMEJBUkUscUJBQ0EscUJBUUYsMEJaczJCSixDWW4yQkUsZ0JBQWtCLHVCWnUyQnBCLENZdDJCRSxnQkFBa0Isc0JaMDJCcEIsQ1l4MkJFLHFCQUF1Qix1Qlo0MkJ6QixDWTMyQkUscUJBQXVCLG9DWisyQnpCLENZOTJCRSxxQkFBdUIsaUNaazNCekIsQ1lqM0JFLGtCQUFvQiwyQlpxM0J0QixDWW4zQkUsb0NBQW9CLDRCWjIzQnRCLENZeDNCRSxZQUNZLHlCWjQzQmQsQ1kxM0JJLGNBQWdCLDJCWjgzQnBCLENZMTNCRSw0REFFcUIsVVo4M0J2QixDWTMzQkUsa0JBQW9CLDRCWiszQnRCLENZNTNCRSxlQUVFLHlCQUNBLHVCWiszQkosQ1kzM0JFLE1BQVEsMEJaKzNCVixDWTczQkUsT0FDTSx1QlppNEJSLENZLzNCRSxJQUFNLHdCWm00QlIsQ1lqNEJFLE1BQVEsV1pxNEJWLENZbjRCRSxRQUdFLFVBQ0EsUVpxNEJKLENZajRCRSxNQUNLLHNCWnE0QlAsQ1lsNEJFLG9CQUNFLHNCWnE0QkosQ0FDRixDYTd4QkUseUlBSUUsd0JiMjZGSixDYXY2RkUsNEJBQ0Usd0JiMDZGSixDYW43RkUsaU1BSUUsd0JibTdGSixDYS82RkUsNENBQ0Usd0JiazdGSixDYW43RkUsNk9BRUUsYWJpOEZKLENhMzhGRSxpTUFJRSx3QlQvS2lCLENTZ0xqQixhYjA4RkosQ2F2OEZFLDRDQUNFLHdCQWJtQixDQWNuQixhYnk4RkosQ2EvNkZFLDBMQUlFLHlCQUNBLGFieTdGSixDYXQ3RkUsMENBQ0Usb0JBWlksQ0FhWixhYnc3RkosQ2FsOEZFLGtQQUlFLHlCQUNBLGFiaThGSixDYTk3RkUsMERBQ0Usb0JBWlksQ0FhWixhYmc4RkosQ2ExOEZFLGtQQUlFLHlCQUNBLGFieTlGSixDYXQ5RkUsMERBQ0Usb0JBWlksQ0FhWixhYnc5RkosQ2EvN0ZFLG1MQUlFLGFiMDhGSixDYXY4RkUsd0NBQ0UsYWJ5OEZKLENhajlGRSwyT0FJRSxhYmc5RkosQ2E3OEZFLHdEQUNFLGFiKzhGSixDYXY5RkUsMk9BSUUsYWJrK0ZKLENhLzlGRSx3REFDRSxhYmkrRkosQ2FoMkZZLHNJQUNFLHdCYjgzRmQsQ2EvM0ZZLDJFQUNFLHdCYnU0RmQsQ2F4bEdFLG1TQUlFLHdCYjhvR0osQ2Exb0dFLHdFQUNFLHdCYjZvR0osQ2E5b0dFLDJXQUVFLGFiNHBHSixDYXRxR0UsbVNBSUUsd0JUL0tpQixDU2dMakIsYWJxcUdKLENhbHFHRSx3RUFDRSx3QkFibUIsQ0FjbkIsYWJvcUdKLENhMW9HRSw0UkFJRSx5QkFDQSxhYm9wR0osQ2FqcEdFLHNFQUNFLG9CQVpZLENBYVosYWJtcEdKLENhN3BHRSx3cUJBSUUseUJBQ0EsYWI0cEdKLENhenBHRSw0S0FDRSxvQkFaWSxDQWFaLGFiMnBHSixDYXJxR0Usd3FCQUlFLHlCQUNBLGFib3JHSixDYWpyR0UsNEtBQ0Usb0JBWlksQ0FhWixhYm1yR0osQ2ExcEdFLHFSQUlFLGFicXFHSixDYWxxR0Usb0VBQ0UsYWJvcUdKLENhNXFHRSwwcEJBSUUsYWIycUdKLENheHFHRSx3S0FDRSxhYjBxR0osQ2FsckdFLDBwQkFJRSxhYjZyR0osQ2ExckdFLHdLQUNFLGFiNHJHSixDY3IyR0UsY0FWQSxhZDQ2R0YsQ2N6NkdFLHdDQUVFLGFkNjZHSixDZWorR0UsT0FUQSxlZm1nSEYsQ2VuL0dNLHNCQUpGLGtCZjIvR0osQ2V2L0dNLGVBRUUsYWY2L0dSLENlLy9HTSxlQUNFLGtCWGhDYSxDV2lDYixhZmlnSFIsQ2dCbmhIRSxVQWhDQSx3QlorQlksQ1loQ1osZWhCK2pIRixDZ0J6aEhRLGtDQUNFLHdCaEIyaEhWLENnQjVoSFEsa0NBQ0Usd0JoQm9pSFYsQ2dCN2hIRSxnQkFwQ0Esd0JoQjRrSEYsQ2lCOStHRSxhQXRFQSx3QmpCc2xIRixDaUIzZ0hFLGVBdERBLHdCQzBEa0IsQ0QzRGxCLGVqQnFsSEYsQ2lCaGxIRSxxQkFDRSx3QmpCcWxISixDbUJ0N0dFLGVBN0hBLGtCbkJnbkhGLENtQmptSEUsb0NBaEJBLGVuQmlvSEYsQ21CaG1IRSw2QkFDRSxrQm5Ca21ISixDb0J6N0dFLE1BM0dBLGVwQmdvSEYsQ29CaHRIRSxRQUVFLGVwQnl0SEosQ29CL3NIRSxZQUVFLGFwQnV0SEosQ29CM3NISSxvQ0FHRSxlcEJxdEhOLENxQi95SE0sc0JBQ0Usa0JyQnUzSFIsQ3FCeDNITSxlQUVFLGFyQjgzSFIsQ3FCaDRITSxlQUNFLGtCakIvQmEsQ2lCZ0NiLGFyQms0SFIsQ3NCdjNIRSxnQkFJRSxhdEI0NEhKLENzQmg0SFEsdUNBS0UsYXRCazRIVixDc0J4M0hFLGVBQ0UsYXRCMDNISixDc0I5MkhJLHVCQUNFLGF0Qm8zSE4sQ3VCMTRIRSxTQXRDQSxrQ0FwQ2UsQ0FxQ2YsZW5CeUNjLENtQnZCZCxhdkJ1NkhGLEN1Qmg1SE0saUJBeEJKLHdCQUZhLENBR2IsYXZCaTdIRixDdUIxNUhNLG9DQXZCSixhdkJ5N0hGLEN1Qmw2SE0saUJBeEJKLHdCQUZhLENBR2IsYXZCNjdIRixDd0J2NUhFLHFCRHRDQSxhdkIwOUhGLEN3QnA3SEUsTUEvQ0EsZXhCbStIRixDeUI3OUhFLGVBbkJBLHdCekJzaElGLEMwQi8rSEUsOEJEdENBLGV6QjRqSUYsQzBCei9IRSxpQ0FJRSxldEIzQlksQ3NCNEJaLGExQm1nSUosQzBCbjlISSxxQkFqQ0Ysa0IxQjgvSEYsQzBCejlISSxzQkExQkYsYTFCdy9IRixDMEIxOUhJLDRCQWZGLGExQmkvSEYsQzJCOS9IRSxTQWhHQSxnQ0F0Q3NCLENBdUN0QixlM0JtbklGLEMyQmhoSUUsU0F0RkEsd0J2QnRCTSxDdUJxQk4sZTNCbW5JRixDMkJ6bUlJLHVCakJuQkEsNENWMG9JSixDMkIzbUlJLG9CakJuQ0EsNENWOHBJSixDMkI5bUlJLHFCakJ4Q0Esd0RWcXFJSixDMkJobklJLHNCakJqREEsd0RWa3JJSixDNEJ6cUlFLGdGQUNFLHFCNUI2c0lKLEM0Qi9uSUUsaUJBekRBLGE1Qm1zSUYsQzRCanNJRSw2Q0FFRSxxQjVCbXNJSixDNEIxb0lFLG1CQXBCQSxhNUJvcklGLEM2Qmx0SUUseUlBR0UsaUM3Qm16SUosQzZCNXhJRSxzQkFNRSx3QjdCZ3pJSixDNkIxeUlJLDREQUNFLHdCN0IreUlOLEM4Qmh5SUUsY0FDRSxrQjlCMjFJSixDOEJ0MUlNLGtEQUVFLGtCOUIwMUlSLEM4Qjk2SUUsY0FNRSxhOUJtN0lKLEM4Qmo3SUksb0JBRUUsYTlCczdJTixDOEJuN0lJLHNEQUdFLGE5Qm83SU4sQzhCdjJJRSxjQS9EQSxhOUI4NklGLEMrQnorSUUsV0FwQkEsZTNCeURjLEMyQnhEZCxxQy9CbWhKRixDK0IzZ0pFLG9DQUVFLDBDL0JnaEpKLENnQy9sSU0sbUNBckdKLGtCaENtMklGLENVemxKSSx1QkFDRSxrQk5qR1EsQ01rR1IsMkNWdXFKTixDVWhzSkUsc0JBU0Usa0JOMUVJLENNMkVKLDJDVjBzSkosQ1U3ckpJLDRCQUNFLGtCTjdGTSxDTThGTiwyQ1YrckpOLENpQzlxSkksb0d2Qm5HQSw0Q1Y4MUpKLENrQzcxSkUsMkd4Qk9FLHdEVjg2SkosQ2tDMzJKTSxtR3hCL0RGLHdEVm04SkosQ21DOTVKTSxxRHpCakRGLDRDVjIrSkosQ21DcDRKSSw4QkFFRSxhbkM0NEpOLENtQ3YrSkUsOEN6QkZFLHdEVjJnS0osQ21DbmdLRSwrQ3pCWkUsd0RWeWhLSixDQ3Q2SlEseUNrQy9GRixvRUFHRSxVQURBLFFBREEsUW5DMGdLTixDbUNuZ0tJLHFFQUdFLE9BREEsV0FEQSxRbkN1Z0tOLENtQ2hnS0ksaUVBRUUsb0JBaEZxQixDQStFckIsaUJuQ21nS04sQ21DLy9KSSx1RXpCakRGLHVGQUpGLFdBUEEsY0FFQSxTeUI2RE0sVUFDQSxnQkFGQSxVekI3RE4sT1Z1a0tBLENtQ2xnS0ksdURBQ0UsS25Db2dLTixDbUNoZ0tNLGtFQUdFLFVBREEsV0FEQSxLbkNvZ0tSLENtQzcvSk0sbUVBRUUsVUFEQSxVbkNnZ0tSLENtQy9qS0EsMENBQ0UsVW5DaWtLRixDbUM5aktBLHFEekJGRSx1R0FoQkYsV0FQQSxjQUVBLFN5QjBCRSxTQURBLFd6QjFCRixPVmttS0EsQ21DcGtLQSxzRHpCWkUsdUdBWkYsV0FQQSxjQUVBLFNBREEsT1Y0bUtBLENBQ0YsQ0N4K0pRLHlDa0MvRkYsbUVBR0UsVUFEQSxRQURBLFFuQzRrS04sQ21DcmtLSSxvRUFHRSxPQURBLFdBREEsUW5DeWtLTixDbUNsa0tJLGdFQUVFLG9CQWhGcUIsQ0ErRXJCLGlCbkNxa0tOLENtQ2prS0ksc0V6QmpERix1RkFKRixXQVBBLGNBRUEsU3lCNkRNLFVBQ0EsZ0JBRkEsVXpCN0ROLE9WeW9LQSxDbUNwa0tJLHNEQUNFLEtuQ3NrS04sQ21DbGtLTSxpRUFHRSxVQURBLFdBREEsS25Dc2tLUixDbUMvaktNLGtFQUVFLFVBREEsVW5Da2tLUixDbUNqb0tBLHlDQUNFLFVuQ21vS0YsQ21DaG9LQSxvRHpCRkUsdUdBaEJGLFdBUEEsY0FFQSxTeUIwQkUsU0FEQSxXekIxQkYsT1ZvcUtBLENtQ3RvS0EscUR6QlpFLHVHQVpGLFdBUEEsY0FFQSxTQURBLE9WOHFLQSxDQUNGLENtQzcrSkUscUJBU0Usd0JuQ2toS0osQ21DcnNLRSxvRXpCRkUsd0RWeXRLSixDbUNqdEtFLHFFekJaRSx3RFZ1dUtKLENvQ3ZuS0ksNkZBQ0Usb0NwQ290S04sQ29DMWlLSSxrQzFCOVRBLHFEVm00S0osQ29DcmtLSSxtQzFCaFVBLG9EVjY1S0osQ29DN2xLSSxpQzFCNVRBLHFEVmk3S0osQ29Dcm5LSSxvQzFCbFVBLG9EVis4S0osQ0VuMUtFLGdCQXJGQSxrQ0ZzcExGLENFNWpMRSxRQTNFQSx3QkFyRGMsQ0FzRGQsZUZzcExGLENxQ2pzTEUsV0FFRSxrQnJDK3lMSjs7QUduMUxFLDRFQVFBLEtBRUUsOEJBREEsZ0JIODFNSixDRzkwTUUsR0FDRSxjQUNBLGNIcTFNSixDRzUwTUUsR0FDRSx1QkFFQSxnQkgrME1KLENHejBNRSxJQUNFLGdDQUNBLGFINDBNSixDR3AwTUUsRUFDRSw0Qkh1ME1KLENHajBNRSxZQUNFLGdCQUNBLHlFSG8wTUosQ0cvek1FLFNBRUUsa0JIazBNSixDRzV6TUUsY0FHRSxnQ0FDQSxhSCt6TUosQ0duek1FLFFBRUUsY0FDQSxjQUNBLGtCQUNBLHVCSDB6TUosQ0d2ek1FLElBQ0UsYUgwek1KLENHdnpNRSxJQUNFLFNIMHpNSixDR2x6TUUsSUFDRSxpQkhxek1KLENHNXlNRSxzQ0FNRSxlQUNBLGlCQUNBLFFIK3lNSixDR3p5TUUsYUFFRSxnQkg0eU1KLENHdHlNRSxjQUVFLG1CSHl5TUosQ0dweU1FLGdEQUlFLHlCSHV5TUosQ0dseU1FLHdIQUlFLGtCQUNBLFNIcXlNSixDR2h5TUUsNEdBSUUsNkJIbXlNSixDRzl4TUUsU0FDRSwwQkhpeU1KLENHenhNRSxPQUNFLHNCQUNBLGNBQ0EsY0FFQSxVQUNBLGtCSDR4TUosQ0d2eE1FLFNBQ0UsdUJIMHhNSixDR3J4TUUsU0FDRSxhSHd4TUosQ0dseE1FLDZCQUVFLHNCQUNBLFNIcXhNSixDR2h4TUUsa0ZBRUUsV0hteE1KLENHN3dNRSxjQUNFLDZCQUNBLG1CSGd4TUosQ0czd01FLHlDQUNFLHVCSDh3TUosQ0d4d01FLDZCQUNFLDBCQUNBLFlIMndNSixDR253TUUsUUFDRSxhSHN3TUosQ0dqd01FLFFBQ0UsaUJIb3dNSixDR3R2TUUsa0JBQ0UsWUg2dk1KLENHcnZNSSxnT0FDRSxZSDh2TU4sQ0d6dk1FLGtCQUNFLDJCQUNBLHdCSDR2TUosQ0lwNU1FLGVBQ0UsdUVKdTVNSixDSXA1TUUsS0FDRSxzQkFDQSxjSnU1TUosQ0luNU1FLGlCQUdFLGtCSnM1TUosQ0lsNU1FLEtBb0JJLG1DQUNBLGtDQVRGLGtCa0NwRkksQ2xDeUZKLGFrQzFGSSxDbEN1RkosNkNrQ25GZSxDbENvRmYsZWtDL0VtQixDbENnRm5CLGVrQzNHZ0IsQ2xDNEZoQixTQUNBLFNKNDVNSixDSXI0TUUsSUFRRSwrQkFOQSxxQkFLQSxZQURBLGVBSEEscUJKMDRNSixDSWo0TUUsU0FHRSxpQmtDdEdZLENsQ29HWixZQUNBLGVKcTRNSixDSWg0TUUsT0FDRSxzQkFDQSxVSm80TUosQ0k1M01JLDZHQUdFLHdCSms0TU4sQ0k3M01FLE9BR0UsNkRBR0EsdUJBRkEsU0FDQSxpQmtDaklZLENsQ29JWixXa0M5SG1CLENsQzZIbkIsY0FMQSxTSnE0TUosQ1U1NU1FLDhCQUNFLFNWODVNSixDSTkzTUUsSUFFRSxpQ0FEQSxhSms0TUosQ0k3M01FLHNDQUtFLG1CSmc0TUosQ0k1M01FLFlBQ0UsdUJKKzNNSixDSTUzTUUsV0FDRSxzQkorM01KLENLamdORSx3TUFHRSw2REEvQkYsd0JpQ1JNLENqQ01OLG1CaUNpV2EsQ2pDaFdiLGlCaUNHYyxDakNEZCw4Q2lDaVdhLENqQzFXYixzQkFlQSxhaUNoQk0sQ2pDQU4sY0FZQSxtQmlDcVZrQixDakNwVmxCLGNpQ3FWZ0IsQ2pDcFZoQixlaUNMcUIsQ2pDTnJCLGdCQUxTLENBaUJULGVpQ2pDa0IsQ2pDc0JsQixnQkFDQSxhaUNxV2MsQ2pDdlZaLHVEaUMyVmUsQ2pDNVdqQixVTHlqTkYsQ0twaU5FLGtTQUdFLHdCaUN6QkksQ2pDd0JKLHdCaUNnVmlCLENqQzlVakIsdUJpQ2lWaUIsQ2pDcFZqQixhQU1FLHVETHFpTk4sQ0t2aE5FLFNBQ0UsY0wwaE5KLENLeGhOSSxlQUNFLFdMMGhOTixDS25oTkksb0VBRUUsd0JpQzVETyxDakM2RFAsa0JMdWhOTixDS2xoTkUsNEJBRUUsNkRBQ0EsaUJMcWhOSixDS2poTkUsbUJBQ0UscUJMb2hOSixDS25nTkUsbUJBQ0UsVUxzZ05KLENLdmdORSx1QkFDRSxVTHNnTkosQ0t2Z05FLGNBQ0UsVUxzZ05KLEN1QzdxTkUseUNBR0UsZXZDZ3JOSixDdUM1cU5FLHlDQUVFLHFCQUtBLGdCQUZBLGtCQUNBLGlCRGlaVyxDQ3BaWCx1QnZDa3JOSixDdUM1cU5JLG1EQUNFLGN2QytxTk4sQ3VDMXFORSx5Q0FFRSxrQnZDNnFOSixDdUN6cU5FLFlBQ0UsVXZDNHFOSixDTXZxTkUsTUFaQSxhZ0N3RE0sQ2hDOUROLGNBR0EsaUJnQ29acUIsQ2hDblpyQixlZ0NtRXFCLENoQ2xFckIsZWdDb1p1QixDaEN4WnZCLFFOaXNORixDTTdxTkksYUFSRixlZ0MrQmtCLENoQ2hDbEIsZ0JBRUEsZU55ck5GLENPM3NORSxXQU1FLGErQjRESSxDL0I5REosa0IrQmdaaUIsQy9CL1lqQixpQitCZ1prQixDL0JsWmxCLGlCUCtzTkosQ1E3c05FLGFBTUksb0JBTEYsYUFFQSxrQjhCMFlXLEM5QjNZWCxVUmt0TkosQ1Exc05NLHlFQUNFLHlCUjRzTlIsQ1F2c05NLHVFQUNFLHlCUnlzTlIsQ1Fwc05FLCtKQUNFLFNBQ0Esa0JSMHNOSixDUWxzTkUsbUJBYUksbUJBVEYsa0I4QnNCUyxDOUJ2QlQscUI4QmdYa0IsQzlCN1dsQixhOEJ1QkksQzlCbEJGLGFBQ0EsY0FWRixlQUtBLGtCQUNBLGtCUnNzTkosQ1F6ck5NLCtCQUNFLGNSMnJOUixDUXhyTk0sOEJBQ0UsYVIwck5SLENRcnJORSxtQkFFRSxnQkFHRSxhQUNBLFdScXJOTixDUWpyTkUsb0JBT0ksYUFDQSxjQUxGLGlCQURBLGNBRUEsaUJScXJOSixDUTFxTkkscUdBT0ksbUJBUUYsYzhCd1RZLEM5Qi9UVixZQU1GLGlCQURBLGFSdXFOTixDd0Nod05FLFNBR0UsU0FGQSxTQUNBLFN4Q293TkosQ3dDaHdORSxPQUVFLG9CQURBLGN4Q293TkosQ3dDaHdORSxVQXRCQSxxQkZ3WWdCLENFMVloQixpQkY0WWdCLENFM1loQixleEM2eE5GLEN3QzF4TkUsaUJBR0UsdUJBQ0Esa0J4QzJ4TkosQ1N0dU5FLE9BM0RBLDZEQUdBLHdCNkIwRE0sQzVCOEROLHdPRDlHRSw4QkFDQSx1Q0FDQSw0QkFDQSx3QkFmRixtQjZCbWFhLEM3QmxhYixpQjZCcUVjLEM3QjlEZCxhNkJtRE0sQzdCdkROLG1CNkJ3WmtCLEM3QnZabEIsYzZCd1pnQixDN0J2WmhCLGU2QjhEcUIsQzdCekVyQixnQkFGUyxDQWNULGU2QmtDa0IsQzdCN0NsQixnQkFxQkUsaUNBSUEsdURUaXlOSixDVTFyTkUsa0NEbEVBLE9DcUVJLHNXVjJyTkosQ0FDRixDU2x5TkUsYUFHRSx3QjZCZ0NJLEM3QmpDSix3QjZCeVlpQixDN0J2WWpCLHVCNkIwWWlCLEM3QjdZakIsYUFNRSx1RFRreU5OLENTN3hORSxnQkFDRSx3QjZCa0JTLEM3QmpCVCxrQlQreE5KLENTM3hORSxtQkFDRSxZVDZ4TkosQ1MxeE5FLGlCQUVFLHNCQURBLFdUNnhOSixDUzF4TkUsdUJBRUUsaUJBREEsYVQ2eE5KLEN5Q2owTkUsOEJBRUUseUJBREEsb0J6Q3EwTkosQ3lDbDBOSSxnREFDRSxhekNvME5OLEN5Q3IwTkksb0RBQ0UsYXpDbzBOTixDeUNyME5JLDJDQUNFLGF6Q28wTk4sQ3lDcHlORSw4QkFMSSxhekNzek5OLEN5Q2p6TkUsWUF6QkEsYUFJQSxnQkhzS3NCLENHckt0QixlSG9DbUIsQ0d2Q25CLGtCSDZXYSxDRzlXYixpQnpDeTBORixDeUM5eU5JLHVCQUNFLGF6Q2d6Tk4sQ1dscU5FLG9FQW1CRSxTQUNBLFNYcXFOSixDV2pxTkUsRUFLRSxpQzJCdEZ1QixDM0JvRnZCLGtCQUNBLGUyQnZGbUIsQzNCb0ZuQixrQlh1cU5KLENXL3BORSxLQUVFLGlCWG1xTkosQ1c5cE5FLGNBSkUsbUJYd3FOSixDV3BxTkUsU0FFRSxlWGtxTkosQ1c3cE5FLE1BQ0UsYTJCN0djLEMzQjhHZCxtQlhncU5KLENXNXBORSwwQ0FVRSxpQzJCN0hvQixDM0I0SHBCLGEyQmpKVyxDM0I4SVgsNEIyQmxKaUIsQzNCbUpqQixpQjJCakpnQixDM0JrSmhCLGVYaXFOSixDVzdwTkksa0hBRUUsVTJCaE5NLEMzQitNTixhWHFxTk4sQ1czcE5RLE9BSUksZ0JYOHBOWixDV2xxTlEsY0FnQkksZ0JBZUEsb0JBUEEsWVhpcE5aLENXenFOUSxPQUlJLGlCWHFxTlosQ1d6cU5RLE9BSUksa0JBRGlCLENBYWpCLGdCQWVBLG9CQVBBLFlYd3BOWixDV2hyTlEscUJBSUksY0FEaUIsQ0FhakIsZ0JBZUEsb0JBUEEsWVg2cU5aLENDajBOUSx5Q1U0SEEsT0FJSSxnQlhzc05WLENXMXNOTSxPQUlJLG1CWDBzTlYsQ1c5c05NLE9BSUksbUJYOHNOVixDV2x0Tk0sT0FJSSxpQlhrdE5WLENXdHROTSxPQUlJLGtCWHN0TlYsQ1cxdE5NLE9BSUksY1gwdE5WLENBQ0YsQ1d4ck5FLEVBRUUsYU8vTmdCLENQa09oQixlQUpBLG9CQUVBLG9CWDJyTkosQ1d2ck5JLGdCQUVFLGFYd3JOTixDVzVxTkUsU0FMSSxRWCtyTk4sQ1cxck5FLEdBVUUsNkJBVEEsV0FHQSxTQUNBLG1CMkJ6TFEsQzNCdUxSLGVYdXJOSixDVzVxTkUsU0FLRSxlMkJ0Tm1CLEMzQnFObkIsMkIyQmxNa0IsQzNCaU1sQixrQlhpck5KLENXM3FORSxHQUNFLGlCWDhxTkosQ1cxcU5FLEdBRUUsb0JYNnFOSixDV3pxTkUsTUFMRSxtQlhrck5KLENXdnFOSSx3QkFFRSxnQkFEQSxtQlgycU5OLENXcnFORSxHQUNFLGtCWHdxTkosQ1d0cU5JLE1BRUUsZTJCOVRlLEMzQjZUZixtQlh5cU5OLENXbnFORSxXQUdFLDBCMkJwT2dCLEMzQmtPaEIsZ0JBQ0Esb0NYdXFOSixDV3BxTkksd0JBRUUsVTJCclZNLEMzQm9WTixlWHVxTk4sQ1d4cE5FLGlCQUNFLGdDMkI5T2EsQzNCK09iLFlBQ0Esb0JYMnBOSixDVzNvTkUsV0FYRSxRWG1xTkosQ1d4cE5FLElBSUUsd0IyQjVYUyxDM0JrWVAsaUIyQnBYVSxDM0JpWFosYTJCNVhJLEMzQjJYSixzRDJCblVvQixDM0IrVHBCLHdCWHNwTkosQ0QvOU5FLFdBTUUsVXVDckRRLEN2Q21EUixldUN6Q21CLEN2QzBDbkIsZXVDeUVtQixDdkM1RW5CLG1CdUNnRnNCLEN2Q2pGdEIsZ0JDcytOSixDRDc5TkUsTUFDRSxjdUNpRWEsQ3ZDaEViLGVDZytOSixDRDU5TkUsTUFDRSxnQnVDa0VhLEN2Q2pFYixhQys5TkosQ0Q3OU5JLFFBQ0UsZ0JDKzlOTixDRHo5TkksMEJBRUUsZ0JBREEsYUM2OU5OLENEeDlORSxpQkFoRkEsV0FEQSxjQUVBLGtCQzZpT0YsQ0QzaU9FLCtCQUNFLFlDNmlPSixDRHo5TkUsa0JBaEVBLHFCQUZBLGVBQ0EsZUFHQSxpQ0NtaU9GLENENTlORSw4QkFyRkEsd0J1Q2RXLEN2Q2FYLHFCdUM4RVksQ3ZDekVaLGF1Q2ZNLEN2Q2FOLHNEdUMyQ3NCLEN2QzFDdEIsZUMyak9GLENEeitORSxZQWpFQSxjQUtBLG9CQXpDeUIsQ0FxQ3pCLGNBR0EsWUE1Q21CLENBMENuQixlQ3dpT0YsQzBDbHBPVSxXQUNFLGUxQ3FwT1osQzBDdHBPVSxZQUNFLGdCMUN5cE9aLEMwQzFwT1UsY0FDRSxrQjFDaXFPWixDQzcvTlEseUN5QzFLRSxrQkFDRSxlMUMycU9WLEMwQzVxT1EsbUJBQ0UsZ0IxQytxT1YsQzBDaHJPUSxvQkFDRSxpQjFDbXJPVixDMENwck9RLHFCQUNFLGtCMUN1ck9WLENBQ0YsQ0MvZ09RLHlDeUMxS0UsaUJBQ0UsZTFDNHJPVixDMEM3ck9RLGtCQUNFLGdCMUNnc09WLEMwQ2pzT1EsbUJBQ0UsaUIxQ29zT1YsQzBDcnNPUSxvQkFDRSxrQjFDd3NPVixDQUNGLENZbHNPRSxnQkFBa0Isc0JacXNPcEIsQ1luc09FLGFBQ0UsRUFNSSxtQ0FGQSxpQ0FTRiwwQkFSRSxxQkFDQSxxQkFRRiwwQlo2ck9KLENZMXJPRSxnQkFBa0IsdUJaOHJPcEIsQ1k3ck9FLGdCQUFrQixzQlppc09wQixDWS9yT0UscUJBQXVCLHVCWm1zT3pCLENZbHNPRSxxQkFBdUIsb0Nac3NPekIsQ1lyc09FLHFCQUF1QixpQ1p5c096QixDWXhzT0Usa0JBQW9CLDJCWjRzT3RCLENZMXNPRSxvQ0FBb0IsNEJaa3RPdEIsQ1kvc09FLFlBQ1kseUJabXRPZCxDWWp0T0ksY0FBZ0IsMkJacXRPcEIsQ1lqdE9FLDREQUVxQixVWnF0T3ZCLENZbHRPRSxrQkFBb0IsNEJac3RPdEIsQ1ludE9FLGVBRUUsc0JBQ0EsdUJac3RPSixDWWx0T0UsTUFBUSwwQlpzdE9WLENZcHRPRSxPQUNNLHVCWnd0T1IsQ1l0dE9FLElBQU0sd0JaMHRPUixDWXh0T0UsTUFBUSxXWjR0T1YsQ1kxdE9FLFFBR0UsVUFDQSxRWjR0T0osQ1l4dE9FLE1BQ0ssc0JaNHRPUCxDWXp0T0Usb0JBQ0Usc0JaNHRPSixDQUNGLEMyQzd5T0UsZ0JDT0EsaUJBQ0Esa0JBRkEsZU5rRGEsQ09wQ1AsMEM3Q2d5T1IsQ0M3b09RLHlDMEN2S04sZ0JFb0JNLDRDN0NxeU9OLENBQ0YsQzJDdnpPSSxzQkNJRixpQkFDQSxrQkFGQSxjREYrQixDRWdCekIsMEM3QzZ5T1IsQ0MxcE9RLHlDMENwS0osc0JFaUJJLDRDN0Nrek9OLENBQ0YsQzJDaDBPSSxxQkNBRixpQkFDQSxrQkFGQSxjREUrQixDRXFCM0IsOEI3Q2l6T04sQzJDajBPRSxRQ1NBLGFBQ0Esa0I1QzR6T0YsQzJDbDBPRSxNRzRGQSxjQUlFLGFBQ0EsWUFzQ0EsVTlDa3NPSixDMkN0ME9JLFdHeUZGLFU5Q2d2T0YsQzJDcjBPSSxhR3FGRixhOUNtdk9GLEMyQzl6T0ksOEJHc0hBLFU5QytzT0osQzJDcnpPTSx5UEFDRSxlM0N3ek9SLENDcHNPUSx5QzBDckhGLHVRQUNFLGUzQzZ6T04sQ0FDRixDQzFzT1EseUMwQ3JIRix5UEFDRSxlM0NrME9OLENBQ0YsQzJDdHpPSSwrTUc2Q0YsYTlDNHdPRixDMkMxeU9NLGlCR3lFRixtQjlDcXVPSixDMkM5eU9NLGlCR3lFRixvQjlDeXVPSixDMkNsek9NLGlCR3lFRixTOUM2dU9KLEMyQ3R6T00saUJHeUVGLG9COUNpdk9KLEMyQzF6T00saUJHeUVGLG9COUNxdk9KLEMyQzl6T00saUJHeUVGLFM5Q3l2T0osQzJDbDBPTSxpQkd5RUYsb0I5QzZ2T0osQzJDdDBPTSxpQkd5RUYsb0I5Q2l3T0osQzJDMTBPTSxpQkd5RUYsUzlDcXdPSixDMkM5ME9NLGtCR3lFRixvQjlDeXdPSixDMkNsMU9NLGtCR3lFRixvQjlDNndPSixDMkN0MU9NLGtCR3lFRixVOUNpeE9KLENDbHdPUSx5QzBDNUdGLHFCR2tESixXQTJDRSxVOUN1eE9GLEMyQy8yT0Usa1BHNkNGLGE5Q3MwT0EsQzJDNzJPSSx1QkdrRkYsVTlDK3hPRixDMkN4Mk9JLGtCR3lFRixtQjlDbXlPRixDMkM1Mk9JLGtCR3lFRixvQjlDdXlPRixDMkNoM09JLGtCR3lFRixTOUMyeU9GLEMyQ3AzT0ksa0JHeUVGLG9COUMreU9GLEMyQ3gzT0ksa0JHeUVGLG9COUNtek9GLEMyQzUzT0ksa0JHeUVGLFM5Q3V6T0YsQzJDaDRPSSxrQkd5RUYsb0I5QzJ6T0YsQzJDcDRPSSxrQkd5RUYsb0I5Qyt6T0YsQzJDeDRPSSxrQkd5RUYsUzlDbTBPRixDMkM1NE9JLG1CR3lFRixvQjlDdTBPRixDMkNoNU9JLG1CR3lFRixvQjlDMjBPRixDMkNwNU9JLG1CR3lFRixVOUMrME9GLENBQ0YsQ0NqME9RLHlDMEM1R0Ysb0JHa0RKLFdBMkNFLFU5Q3ExT0YsQzJDNzZPRSxxT0c2Q0YsYTlDbzRPQSxDMkMzNk9JLHNCR2tGRixVOUM2MU9GLEMyQ3Q2T0ksaUJHeUVGLG1COUNpMk9GLEMyQzE2T0ksaUJHeUVGLG9COUNxMk9GLEMyQzk2T0ksaUJHeUVGLFM5Q3kyT0YsQzJDbDdPSSxpQkd5RUYsb0I5QzYyT0YsQzJDdDdPSSxpQkd5RUYsb0I5Q2kzT0YsQzJDMTdPSSxpQkd5RUYsUzlDcTNPRixDMkM5N09JLGlCR3lFRixvQjlDeTNPRixDMkNsOE9JLGlCR3lFRixvQjlDNjNPRixDMkN0OE9JLGlCR3lFRixTOUNpNE9GLEMyQzE4T0ksa0JHeUVGLG9COUNxNE9GLEMyQzk4T0ksa0JHeUVGLG9COUN5NE9GLEMyQ2w5T0ksa0JHeUVGLFU5QzY0T0YsQ0FDRixDMkMvOE9FLGtDQUNFLFUzQ2k5T0osQzJDNzhPRSxrQ0FDRSxXM0NnOU9KLEMyQ2w3T0UsZUV2R00sMEM3QzhoUFIsQ0MzNE9RLHlDMEM1Q04sZUV2R00sNEM3Q21pUE4sQ0FDRixDMkN6N09JLHFCRWxHRSx5Q0MySEYsMEI5Q3E2T0osQ0N0NU9RLHlDMENqQ0EscUJFekdGLDJDQzJIRiwyQjlDMjZPRixDQUNGLEMyQzc5T0UsNENHaURFLFU5Q2s3T0osQzJDMzlPSSx3Qkd5Q0EsOEI5Q3E3T0osQzJDOTlPSSx3Qkd5Q0EsK0I5Q3c3T0osQzJDaitPSSx3Qkd5Q0EseUI5QzI3T0osQzJDcCtPSSx3Qkd5Q0EsK0I5Qzg3T0osQzJDditPSSx3Qkd5Q0EsK0I5Q2k4T0osQzJDMStPSSx3Qkd5Q0EseUI5Q284T0osQzJDNytPSSx3Qkd5Q0EsK0I5Q3U4T0osQzJDaC9PSSx3Qkd5Q0EsK0I5QzA4T0osQzJDbi9PSSx3Qkd5Q0EseUI5QzY4T0osQzJDdC9PSSx5Qkd5Q0EsK0I5Q2c5T0osQzJDei9PSSx5Qkd5Q0EsK0I5Q205T0osQzJDNS9PSSx5Qkd5Q0EsMEI5Q3M5T0osQ0N2OE9RLHlDMENoRU4sNENHaURFLFU5QzY5T0YsQzJDdGdQRSx3Qkd5Q0EsK0I5Q2crT0YsQzJDemdQRSx3Qkd5Q0EsZ0M5Q20rT0YsQzJDNWdQRSx3Qkd5Q0EsMEI5Q3MrT0YsQzJDL2dQRSx3Qkd5Q0EsZ0M5Q3krT0YsQzJDbGhQRSx3Qkd5Q0EsZ0M5QzQrT0YsQzJDcmhQRSx3Qkd5Q0EsMEI5QysrT0YsQzJDeGhQRSx3Qkd5Q0EsZ0M5Q2svT0YsQzJDM2hQRSx3Qkd5Q0EsZ0M5Q3EvT0YsQzJDOWhQRSx3Qkd5Q0EsMEI5Q3cvT0YsQzJDamlQRSx5Qkd5Q0EsZ0M5QzIvT0YsQzJDcGlQRSx5Qkd5Q0EsZ0M5QzgvT0YsQzJDdmlQRSx5Qkd5Q0EsMkI5Q2lnUEYsQzJDbGpQQSwwREdpREUsVTlDdWdQRixDMkNoalBFLHlCR3lDQSwrQjlDMGdQRixDMkNualBFLHlCR3lDQSxnQzlDNmdQRixDMkN0alBFLHlCR3lDQSwwQjlDZ2hQRixDMkN6alBFLHlCR3lDQSxnQzlDbWhQRixDMkM1alBFLHlCR3lDQSxnQzlDc2hQRixDMkMvalBFLHlCR3lDQSwwQjlDeWhQRixDMkNsa1BFLHlCR3lDQSxnQzlDNGhQRixDMkNya1BFLHlCR3lDQSxnQzlDK2hQRixDMkN4a1BFLHlCR3lDQSwwQjlDa2lQRixDMkMza1BFLDBCR3lDQSxnQzlDcWlQRixDMkM5a1BFLDBCR3lDQSxnQzlDd2lQRixDMkNqbFBFLDBCR3lDQSwyQjlDMmlQRixDQUNGLENDN2hQUSx5QzBDaEVOLHdER2lERSxVOUNtalBGLEMyQzVsUEUsd0JHeUNBLCtCOUNzalBGLEMyQy9sUEUsd0JHeUNBLGdDOUN5alBGLEMyQ2xtUEUsd0JHeUNBLDBCOUM0alBGLEMyQ3JtUEUsd0JHeUNBLGdDOUMralBGLEMyQ3htUEUsd0JHeUNBLGdDOUNra1BGLEMyQzNtUEUsd0JHeUNBLDBCOUNxa1BGLEMyQzltUEUsd0JHeUNBLGdDOUN3a1BGLEMyQ2puUEUsd0JHeUNBLGdDOUMya1BGLEMyQ3BuUEUsd0JHeUNBLDBCOUM4a1BGLEMyQ3ZuUEUseUJHeUNBLGdDOUNpbFBGLEMyQzFuUEUseUJHeUNBLGdDOUNvbFBGLEMyQzduUEUseUJHeUNBLDJCOUN1bFBGLENBQ0YsQzJDOWtQSSxnQ0U5SUksMEM3Q2l1UFIsQ0M5a1BRLHlDMENMSixnQ0U5SUksNEM3Q3N1UE4sQ0FDRixDMkNubFBJLDJDRXBKSSwwQzdDMnVQUixDQ3hsUFEseUMwQ0NKLDJDRXBKSSw0QzdDZ3ZQTixDQUNGLEMyQ3hsUEksc0JFekpJLDBDN0NxdlBSLENDbG1QUSx5QzBDTUosc0JFekpJLDRDN0MwdlBOLENBQ0YsQytDM3ZQRSxrQkRvSUUsVTlDMm5QSixDK0MvdlBFLGtCRG9JRSxTOUMrblBKLEMrQ253UEUsa0JEb0lFLG9COUNtb1BKLEMrQ3Z3UEUsa0JEb0lFLFM5Q3VvUEosQytDM3dQRSxrQkRvSUUsUzlDMm9QSixDK0Mvd1BFLGtCRG9JRSxvQjlDK29QSixDK0NueFBFLGtCRG9JRSxvQjlDbXBQSixDK0N2eFBFLGtCRG9JRSxXOUN1cFBKLENDeG9QUSx5QzhDbkpOLG1CRG9JRSxVOUM0cFBGLEMrQ2h5UEEsbUJEb0lFLFM5Q2dxUEYsQytDcHlQQSxtQkRvSUUsb0I5Q29xUEYsQytDeHlQQSxtQkRvSUUsUzlDd3FQRixDK0M1eVBBLG1CRG9JRSxTOUM0cVBGLEMrQ2h6UEEsbUJEb0lFLG9COUNnclBGLEMrQ3B6UEEsbUJEb0lFLG9COUNvclBGLEMrQ3h6UEEsbUJEb0lFLFc5Q3dyUEYsQ0FDRixDQzFxUFEseUM4Q25KTixrQkRvSUUsVTlDNnJQRixDK0NqMFBBLGtCRG9JRSxTOUNpc1BGLEMrQ3IwUEEsa0JEb0lFLG9COUNxc1BGLEMrQ3owUEEsa0JEb0lFLFM5Q3lzUEYsQytDNzBQQSxrQkRvSUUsUzlDNnNQRixDK0NqMVBBLGtCRG9JRSxvQjlDaXRQRixDK0NyMVBBLGtCRG9JRSxvQjlDcXRQRixDK0N6MVBBLGtCRG9JRSxXOUN5dFBGLENBQ0YsQytDOTFQRSxnQ0RvSUUsMEI5QzZ0UEosQytDajJQRSxnQ0RvSUUseUI5Q2l1UEosQytDcjJQRSxnQ0RvSUUsK0I5Q3F1UEosQytDejJQRSxnQ0RvSUUseUI5Q3l1UEosQytDNzJQRSxnQ0RvSUUseUI5QzZ1UEosQytDajNQRSxnQ0RvSUUsK0I5Q2l2UEosQytDcjNQRSxnQ0RvSUUsK0I5Q3F2UEosQytDejNQRSxnQ0RvSUUsMkI5Q3l2UEosQ0MxdVBRLHlDOENuSk4sZ0NEb0lFLDJCOUM4dlBGLEMrQ2w0UEEsZ0NEb0lFLDBCOUNrd1BGLEMrQ3Q0UEEsZ0NEb0lFLGdDOUNzd1BGLEMrQzE0UEEsZ0NEb0lFLDBCOUMwd1BGLEMrQzk0UEEsZ0NEb0lFLDBCOUM4d1BGLEMrQ2w1UEEsZ0NEb0lFLGdDOUNreFBGLEMrQ3Q1UEEsZ0NEb0lFLGdDOUNzeFBGLEMrQzE1UEEsZ0NEb0lFLDRCOUMweFBGLEMrQzk1UEEsaUNEb0lFLDJCOUM4eFBGLEMrQ2w2UEEsaUNEb0lFLDBCOUNreVBGLEMrQ3Q2UEEsaUNEb0lFLGdDOUNzeVBGLEMrQzE2UEEsaUNEb0lFLDBCOUMweVBGLEMrQzk2UEEsaUNEb0lFLDBCOUM4eVBGLEMrQ2w3UEEsaUNEb0lFLGdDOUNrelBGLEMrQ3Q3UEEsaUNEb0lFLGdDOUNzelBGLEMrQzE3UEEsaUNEb0lFLDRCOUMwelBGLENBQ0YsQ0M1eVBRLHlDOENuSk4sZ0NEb0lFLDJCOUMrelBGLEMrQ244UEEsZ0NEb0lFLDBCOUNtMFBGLEMrQ3Y4UEEsZ0NEb0lFLGdDOUN1MFBGLEMrQzM4UEEsZ0NEb0lFLDBCOUMyMFBGLEMrQy84UEEsZ0NEb0lFLDBCOUMrMFBGLEMrQ245UEEsZ0NEb0lFLGdDOUNtMVBGLEMrQ3Y5UEEsZ0NEb0lFLGdDOUN1MVBGLEMrQzM5UEEsZ0NEb0lFLDRCOUMyMVBGLENBQ0YsQ2dEcCtQTSxvREFFSSw0QmhEMCtQVixDZ0RwOVBZLGdDRmdIUixtQjlDdTJQSixDZ0R2OVBZLGdDRmdIUixvQjlDMDJQSixDZ0QxOVBZLGdDRmdIUixTOUM2MlBKLENnRDc5UFksZ0NGZ0hSLG9COUNnM1BKLENnRGgrUFksZ0NGZ0hSLG9COUNtM1BKLENnRG4rUFksZ0NGZ0hSLFM5Q3MzUEosQ2dEdCtQWSxnQ0ZnSFIsb0I5Q3kzUEosQ2dEeitQWSxnQ0ZnSFIsb0I5QzQzUEosQ2dENStQWSxnQ0ZnSFIsUzlDKzNQSixDZ0QvK1BZLGlDRmdIUixvQjlDazRQSixDZ0RsL1BZLGlDRmdIUixvQjlDcTRQSixDZ0RyL1BZLGlDRmdIUixVOUN3NFBKLENDejNQUSx5QytDL0hJLGlDRmdIUixtQjlDNDRQRixDZ0Q1L1BVLGlDRmdIUixvQjlDKzRQRixDZ0QvL1BVLGlDRmdIUixTOUNrNVBGLENnRGxnUVUsaUNGZ0hSLG9COUNxNVBGLENnRHJnUVUsaUNGZ0hSLG9COUN3NVBGLENnRHhnUVUsaUNGZ0hSLFM5QzI1UEYsQ2dEM2dRVSxpQ0ZnSFIsb0I5Qzg1UEYsQ2dEOWdRVSxpQ0ZnSFIsb0I5Q2k2UEYsQ2dEamhRVSxpQ0ZnSFIsUzlDbzZQRixDZ0RwaFFVLGtDRmdIUixvQjlDdTZQRixDZ0R2aFFVLGtDRmdIUixvQjlDMDZQRixDZ0QxaFFVLGtDRmdIUixVOUM2NlBGLENBQ0YsQ0MvNVBRLHlDK0MvSEksZ0NGZ0hSLG1COUNrN1BGLENnRGxpUVUsZ0NGZ0hSLG9COUNxN1BGLENnRHJpUVUsZ0NGZ0hSLFM5Q3c3UEYsQ2dEeGlRVSxnQ0ZnSFIsb0I5QzI3UEYsQ2dEM2lRVSxnQ0ZnSFIsb0I5Qzg3UEYsQ2dEOWlRVSxnQ0ZnSFIsUzlDaThQRixDZ0RqalFVLGdDRmdIUixvQjlDbzhQRixDZ0RwalFVLGdDRmdIUixvQjlDdThQRixDZ0R2alFVLGdDRmdIUixTOUMwOFBGLENnRDFqUVUsaUNGZ0hSLG9COUM2OFBGLENnRDdqUVUsaUNGZ0hSLG9COUNnOVBGLENnRGhrUVUsaUNGZ0hSLFU5Q205UEYsQ0FDRixDMkMzNFBNLHdCSzdLRSw0QmhENmpRUixDZ0QxalFNLDhCQUVJLDhCaEQ0alFWLENDOThQUSx5QytDdkpGLHNEQUVJLDRCaEQ2bVFSLENnRGhtUVUsaUNGeUhSLG1COUM0K1BGLENnRHJtUVUsaUNGeUhSLG9COUMrK1BGLENnRHhtUVUsaUNGeUhSLFM5Q2svUEYsQ2dEM21RVSxpQ0Z5SFIsb0I5Q3EvUEYsQ2dEOW1RVSxpQ0Z5SFIsb0I5Q3cvUEYsQ2dEam5RVSxpQ0Z5SFIsUzlDMi9QRixDZ0RwblFVLGlDRnlIUixvQjlDOC9QRixDZ0R2blFVLGlDRnlIUixvQjlDaWdRRixDZ0QxblFVLGlDRnlIUixTOUNvZ1FGLENnRDduUVUsa0NGeUhSLG9COUN1Z1FGLENnRGhvUVUsa0NGeUhSLG9COUMwZ1FGLENnRG5vUVUsa0NGeUhSLFU5QzZnUUYsQ2dEN25RVSxrQ0ZnSFIsbUI5Q2toUUYsQ2dEbG9RVSxrQ0ZnSFIsb0I5Q3FoUUYsQ2dEcm9RVSxrQ0ZnSFIsUzlDd2hRRixDZ0R4b1FVLGtDRmdIUixvQjlDMmhRRixDZ0Qzb1FVLGtDRmdIUixvQjlDOGhRRixDZ0Q5b1FVLGtDRmdIUixTOUNpaVFGLENnRGpwUVUsa0NGZ0hSLG9COUNvaVFGLENnRHBwUVUsa0NGZ0hSLG9COUN1aVFGLENnRHZwUVUsa0NGZ0hSLFM5QzBpUUYsQ2dEMXBRVSxtQ0ZnSFIsb0I5QzZpUUYsQ2dEN3BRVSxtQ0ZnSFIsb0I5Q2dqUUYsQ2dEaHFRVSxtQ0ZnSFIsVTlDbWpRRixDQTNFRixDQ3o5UFEseUMrQy9ISSxpQ0ZnSFIsbUI5Q3dqUUYsQ2dEeHFRVSxpQ0ZnSFIsb0I5QzJqUUYsQ2dEM3FRVSxpQ0ZnSFIsUzlDOGpRRixDZ0Q5cVFVLGlDRmdIUixvQjlDaWtRRixDZ0RqclFVLGlDRmdIUixvQjlDb2tRRixDZ0RwclFVLGlDRmdIUixTOUN1a1FGLENnRHZyUVUsaUNGZ0hSLG9COUMwa1FGLENnRDFyUVUsaUNGZ0hSLG9COUM2a1FGLENnRDdyUVUsaUNGZ0hSLFM5Q2dsUUYsQ2dEaHNRVSxrQ0ZnSFIsb0I5Q21sUUYsQ2dEbnNRVSxrQ0ZnSFIsb0I5Q3NsUUYsQ2dEdHNRVSxrQ0ZnSFIsVTlDeWxRRixDQUNGLENDM2tRUSx5QzBDMERGLHlCSzdLRSw0QmhEb3NRTixDZ0Rqc1FJLCtCQUVJLDhCaERtc1FSLENBQ0YsQ0N0bFFRLHlDK0N2SkYsb0RBRUksNEJoRHF2UVIsQ2dEeHVRVSxnQ0Z5SFIsbUI5Q29uUUYsQ2dEN3VRVSxnQ0Z5SFIsb0I5Q3VuUUYsQ2dEaHZRVSxnQ0Z5SFIsUzlDMG5RRixDZ0RudlFVLGdDRnlIUixvQjlDNm5RRixDZ0R0dlFVLGdDRnlIUixvQjlDZ29RRixDZ0R6dlFVLGdDRnlIUixTOUNtb1FGLENnRDV2UVUsZ0NGeUhSLG9COUNzb1FGLENnRC92UVUsZ0NGeUhSLG9COUN5b1FGLENnRGx3UVUsZ0NGeUhSLFM5QzRvUUYsQ2dEcndRVSxpQ0Z5SFIsb0I5QytvUUYsQ2dEeHdRVSxpQ0Z5SFIsb0I5Q2twUUYsQ2dEM3dRVSxpQ0Z5SFIsVTlDcXBRRixDZ0Q5d1FVLGlDRnlIUixtQjlDMHBRRixDZ0RueFFVLGlDRnlIUixvQjlDNnBRRixDZ0R0eFFVLGlDRnlIUixTOUNncVFGLENnRHp4UVUsaUNGeUhSLG9COUNtcVFGLENnRDV4UVUsaUNGeUhSLG9COUNzcVFGLENnRC94UVUsaUNGeUhSLFM5Q3lxUUYsQ2dEbHlRVSxpQ0Z5SFIsb0I5QzRxUUYsQ2dEcnlRVSxpQ0Z5SFIsb0I5QytxUUYsQ2dEeHlRVSxpQ0Z5SFIsUzlDa3JRRixDZ0QzeVFVLGtDRnlIUixvQjlDcXJRRixDZ0Q5eVFVLGtDRnlIUixvQjlDd3JRRixDZ0RqelFVLGtDRnlIUixVOUMyclFGLENnRDN5UVUsZ0NGZ0hSLG1COUNnc1FGLENnRGh6UVUsZ0NGZ0hSLG9COUNtc1FGLENnRG56UVUsZ0NGZ0hSLFM5Q3NzUUYsQ2dEdHpRVSxnQ0ZnSFIsb0I5Q3lzUUYsQ2dEenpRVSxnQ0ZnSFIsb0I5QzRzUUYsQ2dENXpRVSxnQ0ZnSFIsUzlDK3NRRixDZ0QvelFVLGdDRmdIUixvQjlDa3RRRixDZ0RsMFFVLGdDRmdIUixvQjlDcXRRRixDZ0RyMFFVLGdDRmdIUixTOUN3dFFGLENnRHgwUVUsaUNGZ0hSLG9COUMydFFGLENnRDMwUVUsaUNGZ0hSLG9COUM4dFFGLENnRDkwUVUsaUNGZ0hSLFU5Q2l1UUYsQzJDeHBRSSx3Qks3S0UsNEJoRDQwUU4sQ2dEejBRSSw4QkFFSSw4QmhEMjBRUixDQTVIRixDMkN6aFFNLGdCTXZNRixhakRpMlFKLEMyQ3RwUU0sK0JNM01GLG1CakRxMlFKLEMyQzlwUU0sZ0JNdk1GLHlCakR5MlFKLEMyQzlwUU0sK0JNM01GLG9DakQ2MlFKLEMyQ3RxUU0sZ0JNdk1GLDBCakRpM1FKLEMyQ3RxUU0sK0JNM01GLHFDakRxM1FKLEMyQzlxUU0sZ0JNdk1GLGVqRHkzUUosQzJDOXFRTSwrQk0zTUYsK0JqRDYzUUosQzJDdHJRTSxnQk12TUYsMEJqRGk0UUosQzJDdHJRTSwrQk0zTUYscUNqRHE0UUosQzJDOXJRTSxnQk12TUYsMEJqRHk0UUosQzJDOXJRTSwrQk0zTUYscUNqRDY0UUosQzJDdHNRTSxnQk12TUYsZWpEaTVRSixDMkN0c1FNLCtCTTNNRiwrQmpEcTVRSixDMkM5c1FNLGdCTXZNRiwwQmpEeTVRSixDMkM5c1FNLCtCTTNNRixxQ2pENjVRSixDMkN0dFFNLGdCTXZNRiwwQmpEaTZRSixDMkN0dFFNLCtCTTNNRixxQ2pEcTZRSixDMkM5dFFNLGdCTXZNRixlakR5NlFKLEMyQzl0UU0sK0JNM01GLCtCakQ2NlFKLEMyQ3R1UU0saUJNdk1GLDBCakRpN1FKLEMyQ3R1UU0sZ0NNM01GLHFDakRxN1FKLEMyQzl1UU0saUJNdk1GLDBCakR5N1FKLEMyQzl1UU0sZ0NNM01GLHFDakQ2N1FKLENDOXpRUSx5QzBDd0VGLGlCTXZNRixhakRrOFFGLEMyQ3Z2UUksZ0NNM01GLG9CakRzOFFGLEMyQy92UUksaUJNdk1GLHlCakQwOFFGLEMyQy92UUksZ0NNM01GLHFDakQ4OFFGLEMyQ3Z3UUksaUJNdk1GLDBCakRrOVFGLEMyQ3Z3UUksZ0NNM01GLHNDakRzOVFGLEMyQy93UUksaUJNdk1GLGVqRDA5UUYsQzJDL3dRSSxnQ00zTUYsZ0NqRDg5UUYsQzJDdnhRSSxpQk12TUYsMEJqRGsrUUYsQzJDdnhRSSxnQ00zTUYsc0NqRHMrUUYsQzJDL3hRSSxpQk12TUYsMEJqRDArUUYsQzJDL3hRSSxnQ00zTUYsc0NqRDgrUUYsQzJDdnlRSSxpQk12TUYsZWpEay9RRixDMkN2eVFJLGdDTTNNRixnQ2pEcy9RRixDMkMveVFJLGlCTXZNRiwwQmpEMC9RRixDMkMveVFJLGdDTTNNRixzQ2pEOC9RRixDMkN2elFJLGlCTXZNRiwwQmpEa2dSRixDMkN2elFJLGdDTTNNRixzQ2pEc2dSRixDMkMvelFJLGlCTXZNRixlakQwZ1JGLEMyQy96UUksZ0NNM01GLGdDakQ4Z1JGLEMyQ3YwUUksa0JNdk1GLDBCakRraFJGLEMyQ3YwUUksaUNNM01GLHNDakRzaFJGLEMyQy8wUUksa0JNdk1GLDBCakQwaFJGLEMyQy8wUUksaUNNM01GLHNDakQ4aFJGLENBQ0YsQ0NoNlFRLHlDMEN3RUYsZ0JNdk1GLGFqRG1pUkYsQzJDeDFRSSwrQk0zTUYsb0JqRHVpUkYsQzJDaDJRSSxnQk12TUYseUJqRDJpUkYsQzJDaDJRSSwrQk0zTUYscUNqRCtpUkYsQzJDeDJRSSxnQk12TUYsMEJqRG1qUkYsQzJDeDJRSSwrQk0zTUYsc0NqRHVqUkYsQzJDaDNRSSxnQk12TUYsZWpEMmpSRixDMkNoM1FJLCtCTTNNRixnQ2pEK2pSRixDMkN4M1FJLGdCTXZNRiwwQmpEbWtSRixDMkN4M1FJLCtCTTNNRixzQ2pEdWtSRixDMkNoNFFJLGdCTXZNRiwwQmpEMmtSRixDMkNoNFFJLCtCTTNNRixzQ2pEK2tSRixDMkN4NFFJLGdCTXZNRixlakRtbFJGLEMyQ3g0UUksK0JNM01GLGdDakR1bFJGLEMyQ2g1UUksZ0JNdk1GLDBCakQybFJGLEMyQ2g1UUksK0JNM01GLHNDakQrbFJGLEMyQ3g1UUksZ0JNdk1GLDBCakRtbVJGLEMyQ3g1UUksK0JNM01GLHNDakR1bVJGLEMyQ2g2UUksZ0JNdk1GLGVqRDJtUkYsQzJDaDZRSSwrQk0zTUYsZ0NqRCttUkYsQzJDeDZRSSxpQk12TUYsMEJqRG1uUkYsQzJDeDZRSSxnQ00zTUYsc0NqRHVuUkYsQzJDaDdRSSxpQk12TUYsMEJqRDJuUkYsQzJDaDdRSSxnQ00zTUYsc0NqRCtuUkYsQ0FDRixDMkNuNlFFLFFDL09BLGFBQ0EsdUI1Q3FwUkYsQzJDbjZRSSxjRzlJRixZQUNBLGU5Q29qUkYsQzJDLzVRSSw4Qkd6SEEsVzlDOGhSSixDMkN2NVFNLHlQQUNFLGUzQ3k1UVIsQ0NsaFJRLHlDMEN3SEYsdVFBQ0UsZTNDNjVRTixDQUNGLENDdmhSUSx5QzBDd0hGLHlQQUNFLGUzQ2s2UU4sQ0FDRixDMkN2NVFNLCtNRy9MSixhOUN5bFJGLEMyQzM0UVEsaUJHbktKLG9COUNpalJKLEMyQzk0UVEsaUJHbktKLHFCOUNvalJKLEMyQ2o1UVEsaUJHbktKLFU5Q3VqUkosQzJDcDVRUSxpQkduS0oscUI5QzBqUkosQzJDdjVRUSxpQkduS0oscUI5QzZqUkosQzJDMTVRUSxpQkduS0osVTlDZ2tSSixDMkM3NVFRLGlCR25LSixxQjlDbWtSSixDMkNoNlFRLGlCR25LSixxQjlDc2tSSixDMkNuNlFRLGlCR25LSixVOUN5a1JKLEMyQ3Q2UVEsa0JHbktKLHFCOUM0a1JKLEMyQ3o2UVEsa0JHbktKLHFCOUMra1JKLEMyQzU2UVEsa0JHbktKLFc5Q2tsUkosQ0Nua1JRLHlDMENnSUEscUJHMUxOLFdBMkNFLFc5Q3VsUkYsQzJDbjhRSSxrUEcvTEosYTlDcW9SQSxDMkNoOFFNLHVCRzFKSixXOUM2bFJGLEMyQzE3UU0sa0JHbktKLG9COUNnbVJGLEMyQzc3UU0sa0JHbktKLHFCOUNtbVJGLEMyQ2g4UU0sa0JHbktKLFU5Q3NtUkYsQzJDbjhRTSxrQkduS0oscUI5Q3ltUkYsQzJDdDhRTSxrQkduS0oscUI5QzRtUkYsQzJDejhRTSxrQkduS0osVTlDK21SRixDMkM1OFFNLGtCR25LSixxQjlDa25SRixDMkMvOFFNLGtCR25LSixxQjlDcW5SRixDMkNsOVFNLGtCR25LSixVOUN3blJGLEMyQ3I5UU0sbUJHbktKLHFCOUMyblJGLEMyQ3g5UU0sbUJHbktKLHFCOUM4blJGLEMyQzM5UU0sbUJHbktKLFc5Q2lvUkYsQ0FDRixDQ25uUlEseUMwQ2dJQSxvQkcxTE4sV0EyQ0UsVzlDdW9SRixDMkNuL1FJLHFPRy9MSixhOUNxclJBLEMyQ2gvUU0sc0JHMUpKLFc5QzZvUkYsQzJDMStRTSxpQkduS0osb0I5Q2dwUkYsQzJDNytRTSxpQkduS0oscUI5Q21wUkYsQzJDaC9RTSxpQkduS0osVTlDc3BSRixDMkNuL1FNLGlCR25LSixxQjlDeXBSRixDMkN0L1FNLGlCR25LSixxQjlDNHBSRixDMkN6L1FNLGlCR25LSixVOUMrcFJGLEMyQzUvUU0saUJHbktKLHFCOUNrcVJGLEMyQy8vUU0saUJHbktKLHFCOUNxcVJGLEMyQ2xnUk0saUJHbktKLFU5Q3dxUkYsQzJDcmdSTSxrQkduS0oscUI5QzJxUkYsQzJDeGdSTSxrQkduS0oscUI5QzhxUkYsQzJDM2dSTSxrQkduS0osVzlDaXJSRixDQUNGLEMyQ25nUk0sZ0NFblRFLDBDN0MyelJSLENDeHFSUSx5QzBDZ0tGLGdDRW5URSw0QzdDZzBSTixDQUNGLEMyQ3pnUk0sc0JFeFRFLDBDN0NxMFJSLENDbHJSUSx5QzBDcUtGLHNCRXhURSw0QzdDMDBSTixDQUNGLEMyQ3JnUkUsWU9qVkUsb0JBREEsaUJBRkEsZ0JBQ0Esa0JBNkJJLFdsRHNnU1IsQzJDNXNSRSxrQkFDRSxVM0Mrc1JKLEMyQzVzUkUsWU8xU0UsZUFEQSxlbEQ4L1JKLEMyQy9zUkUsMEJPM1NBLGlDQUNBLDJDbERpZ1NGLEMyQ3Z0UkUsY09sVEUsZ0JBQ0EsZ0JBRkEsZWxEMGdTSixDMkNsdFJFLHNCT3hTQSxhQUNBLHNCQUNBLGVsRDgvUkYsQ2tENS9SRSw4QkFFRSxpQkFEQSxlbEQrL1JKLENDaDZSUSx5QzBDMk1KLG1CT3pXQSxvQkFEQSxpQkFGQSxnQkFDQSxrQkE2QkksV2xENGlTTixDMkMxdFJFLHlCQUNFLFUzQzZ0UkosQzJDMXRSRSxtQk8vVEYsaUNBQ0EsNENBSkUsZUFEQSxlbERvaVNGLEMyQzd0UkUsNkJPM1RGLGFBQ0Esc0JBQ0EsZWxENGhTQSxDa0QxaFNBLHFDQUVFLGlCQURBLGVsRDZoU0YsQzJDbnVSRSxxQk92VUYsaUNBQ0EsNENBUkUsZ0JBQ0EsZ0JBRkEsZWxEMGpTRixDQUNGLENDdjhSUSx5QzBDMk1KLGtCT3pXQSxvQkFEQSxpQkFGQSxnQkFDQSxrQkE2QkksV2xEa2xTTixDMkNod1JFLHdCQUNFLFUzQ213UkosQzJDaHdSRSxrQk8vVEYsaUNBQ0EsNENBSkUsZUFEQSxlbEQwa1NGLEMyQ253UkUsNEJPM1RGLGFBQ0Esc0JBQ0EsZWxEa2tTQSxDa0Roa1NBLG9DQUVFLGlCQURBLGVsRG1rU0YsQzJDendSRSxvQk92VUYsaUNBQ0EsNENBUkUsZ0JBQ0EsZ0JBRkEsZWxEZ21TRixDQUNGLEMyQzN3Uk0sbUJPaFlGLG9CQURBLGlCQTBCSSxhQTVCSixnQkFDQSxrQlBvWUksVTNDaXhSUixDQ3IvUlEseUMwQ3dPQSwwQk90WUosb0JBREEsaUJBMEJJLGFBNUJKLGdCQUNBLGtCUDBZTSxVM0NveFJSLENBQ0YsQ0MvL1JRLHlDMEN3T0EseUJPdFlKLG9CQURBLGlCQTBCSSxhQTVCSixnQkFDQSxrQlAwWU0sVTNDOHhSUixDQUNGLEMyQ3p4Uk0seUJBQ0UsVzNDNHhSUixDQzdnU1EseUMwQ29QQSxnQ0FDRSxXM0M0eFJSLENBQ0YsQ0NsaFNRLHlDMENvUEEsK0JBQ0UsVzNDaXlSUixDQUNGLEMyQ25rU0UsZUV2R00sMEM3QytxU1IsQ0M1aFNRLHlDMEM1Q04sZUV2R00sNEM3Q29yU04sQ0FDRixDMkMxa1NJLHFCR3lCQSwyQkFUTSxDRGxISix3QzdDaXJTTixDQ3ZpU1EseUMwQ2pDQSxxQkdrQkosNEJBVE0sQ0RsSEosMEM3Q3VyU0osQ0FDRixDMkM5bVNFLDRDR2lERSxXOUNta1NKLEMyQzVtU0ksd0JHeUNBLCtCOUNza1NKLEMyQy9tU0ksd0JHeUNBLGdDOUN5a1NKLEMyQ2xuU0ksd0JHeUNBLDBCOUM0a1NKLEMyQ3JuU0ksd0JHeUNBLGdDOUMra1NKLEMyQ3huU0ksd0JHeUNBLGdDOUNrbFNKLEMyQzNuU0ksd0JHeUNBLDBCOUNxbFNKLEMyQzluU0ksd0JHeUNBLGdDOUN3bFNKLEMyQ2pvU0ksd0JHeUNBLGdDOUMybFNKLEMyQ3BvU0ksd0JHeUNBLDBCOUM4bFNKLEMyQ3ZvU0kseUJHeUNBLGdDOUNpbVNKLEMyQzFvU0kseUJHeUNBLGdDOUNvbVNKLEMyQzdvU0kseUJHeUNBLDJCOUN1bVNKLENDeGxTUSx5QzBDaEVOLDRDR2lERSxXOUM4bVNGLEMyQ3ZwU0Usd0JHeUNBLGdDOUNpblNGLEMyQzFwU0Usd0JHeUNBLGlDOUNvblNGLEMyQzdwU0Usd0JHeUNBLDJCOUN1blNGLEMyQ2hxU0Usd0JHeUNBLGlDOUMwblNGLEMyQ25xU0Usd0JHeUNBLGlDOUM2blNGLEMyQ3RxU0Usd0JHeUNBLDJCOUNnb1NGLEMyQ3pxU0Usd0JHeUNBLGlDOUNtb1NGLEMyQzVxU0Usd0JHeUNBLGlDOUNzb1NGLEMyQy9xU0Usd0JHeUNBLDJCOUN5b1NGLEMyQ2xyU0UseUJHeUNBLGlDOUM0b1NGLEMyQ3JyU0UseUJHeUNBLGlDOUMrb1NGLEMyQ3hyU0UseUJHeUNBLDRCOUNrcFNGLEMyQ25zU0EsMERHaURFLFc5Q3dwU0YsQzJDanNTRSx5Qkd5Q0EsZ0M5QzJwU0YsQzJDcHNTRSx5Qkd5Q0EsaUM5QzhwU0YsQzJDdnNTRSx5Qkd5Q0EsMkI5Q2lxU0YsQzJDMXNTRSx5Qkd5Q0EsaUM5Q29xU0YsQzJDN3NTRSx5Qkd5Q0EsaUM5Q3VxU0YsQzJDaHRTRSx5Qkd5Q0EsMkI5QzBxU0YsQzJDbnRTRSx5Qkd5Q0EsaUM5QzZxU0YsQzJDdHRTRSx5Qkd5Q0EsaUM5Q2dyU0YsQzJDenRTRSx5Qkd5Q0EsMkI5Q21yU0YsQzJDNXRTRSwwQkd5Q0EsaUM5Q3NyU0YsQzJDL3RTRSwwQkd5Q0EsaUM5Q3lyU0YsQzJDbHVTRSwwQkd5Q0EsNEI5QzRyU0YsQ0FDRixDQzlxU1EseUMwQ2hFTix3REdpREUsVzlDb3NTRixDMkM3dVNFLHdCR3lDQSxnQzlDdXNTRixDMkNodlNFLHdCR3lDQSxpQzlDMHNTRixDMkNudlNFLHdCR3lDQSwyQjlDNnNTRixDMkN0dlNFLHdCR3lDQSxpQzlDZ3RTRixDMkN6dlNFLHdCR3lDQSxpQzlDbXRTRixDMkM1dlNFLHdCR3lDQSwyQjlDc3RTRixDMkMvdlNFLHdCR3lDQSxpQzlDeXRTRixDMkNsd1NFLHdCR3lDQSxpQzlDNHRTRixDMkNyd1NFLHdCR3lDQSwyQjlDK3RTRixDMkN4d1NFLHlCR3lDQSxpQzlDa3VTRixDMkMzd1NFLHlCR3lDQSxpQzlDcXVTRixDMkM5d1NFLHlCR3lDQSw0QjlDd3VTRixDQUNGLEMyQzk5UkksMEJPMVlJLDRCbEQ0MlNSLENDOXRTUSx5QzBDNFBKLDBCTzFZSSw2QmxEZzNTTixDQUNGLENDbnVTUSx5QzBDNFBKLDBCTzFZSSw2QmxEcTNTTixDQUNGLENDeHVTUSx5QzBDZ1FGLGlDTzlZRSw2QmxEMjNTTixDQUNGLENDOXVTUSx5QzBDZ1FGLGdDTzlZRSw2QmxEZzRTTixDQUNGLENhMWxTRSxRQXJOQSx3QkFOQSw0QkE5RGMsQ0ErRGQsaUJ5QmhCYyxDekJ3QmQsZUF4QkEscUJBa0JBLG1CeUI0S21CLEN6QjNLbkIsZ0JBR0EsY0FwQkEsZXlCOExjLEN6QnBMWixpQnlCbUxhLEN6QnhLZixrQkFOQSw2RHlCaU1rQixDekJqTmxCLHFCYmsxU0YsQ1U1dVNFLCtCQUNFLFNWOHVTSixDYXZtU00sYUFDRSxlYnltU1IsQ2ExbVNNLGNBQ0UsZ0JiNG1TUixDYTdtU00sY0FDRSxpQmIrbVNSLENhM21TSSxpQkFyTkEsY0FHQSxjQURBLGVBREEsVWJxMFNKLENhbHdTRSx5SUFJRSx3QktoRmdCLENMaUZoQixhYml3U0osQ2E5dlNFLDRCQUNFLHdCeUJ1RnNCLEN6QnRGdEIsYWJnd1NKLENhMXdTRSxpTUFJRSx3QnlCbklpQixDekJvSWpCLGFieXdTSixDYXR3U0UsNENBQ0Usd0JBYm1CLENBY25CLGFid3dTSixDYWx4U0UsK01BSUUsd0J5Qm5JaUIsQ3pCb0lqQixhYml4U0osQ2E5d1NFLGdEQUNFLHdCQWJtQixDQWNuQixhYmd4U0osQ2ExeFNFLGlNQUlFLHdCeUJuSWlCLEN6Qm9JakIsYWJ5eFNKLENhdHhTRSw0Q0FDRSx3QkFibUIsQ0FjbkIsYWJ3eFNKLENhbHlTRSxpTUFJRSx3QnlCbklpQixDekJvSWpCLGFiaXlTSixDYTl4U0UsNENBQ0Usd0JBYm1CLENBY25CLGFiZ3lTSixDYTF5U0UsbUxBSUUsd0J5Qm5JaUIsQ3pCb0lqQixhYnl5U0osQ2F0eVNFLHdDQUNFLHdCQWJtQixDQWNuQixhYnd5U0osQ2FoeVNJLG9PQUNFLDRCYmt5U04sQ2FqeFNFLDBMQUlFLHlCQUNBLGFiZ3hTSixDYTd3U0UsMENBQ0Usb0JBWlksQ0FhWixhYit3U0osQ2F6eFNFLGtQQUlFLHlCQUNBLGFid3hTSixDYXJ4U0UsMERBQ0Usb0JBWlksQ0FhWixhYnV4U0osQ2FqeVNFLGdRQUlFLHlCQUNBLGFiZ3lTSixDYTd4U0UsOERBQ0Usb0JBWlksQ0FhWixhYit4U0osQ2F6eVNFLGtQQUlFLHlCQUNBLGFid3lTSixDYXJ5U0UsMERBQ0Usb0JBWlksQ0FhWixhYnV5U0osQ2FqelNFLGtQQUlFLHlCQUNBLGFiZ3pTSixDYTd5U0UsMERBQ0Usb0JBWlksQ0FhWixhYit5U0osQ2F6elNFLG9PQUlFLHlCQUNBLGFid3pTSixDYXJ6U0Usc0RBQ0Usb0JBWlksQ0FhWixhYnV6U0osQ2EveVNJLDJOQUVFLDZCQURBLHdCYmt6U04sQ2FseVNFLG1MQUlFLGFiaXlTSixDYTl4U0Usd0NBQ0UsYWJneVNKLENheHlTRSwyT0FJRSxhYnV5U0osQ2FweVNFLHdEQUNFLGFic3lTSixDYTl5U0UseVBBSUUsYWI2eVNKLENhMXlTRSw0REFDRSxhYjR5U0osQ2FwelNFLDJPQUlFLGFibXpTSixDYWh6U0Usd0RBQ0UsYWJrelNKLENhMXpTRSwyT0FJRSxhYnl6U0osQ2F0elNFLHdEQUNFLGFid3pTSixDYWgwU0UsNk5BSUUsYWIrelNKLENhNXpTRSxvREFDRSxhYjh6U0osQ2FsdFNJLG1DQWxHRixtQkFEQSxXYnl6U0YsQ2E1eVNFLHVCSGxQRSx5RkFKRixXQVBBLGNHa1FFLHFCQUNBLFlIalFGLFNHa1FFLGVBVE8sQ0FJUCxrQkFDQSxTSC9QRixPVnVqVEYsQ2FodFNZLHNJQUNFLHdCYnF0U2QsQ2F0dFNZLCtFQUNFLHdCYnd0U2QsQ2F6dFNZLDJFQUNFLHdCYjJ0U2QsQ2E1dFNZLDJFQUNFLHdCYjh0U2QsQ2EvdFNZLHVFQUNFLHdCYml1U2QsQ2F6dFNJLHlCQUVFLFdBQ0EsY0FGQSxTYjZ0U04sQ2F0dFNJLDhCQUVFLG9CYnd0U04sQ21EMTZTRSxjQTdLRSxvQkFGQSxhQUdBLFlBRkEsZUFKRixrQm5Eb21URixDVS85U0UseUNBR0UsWUFEQSxjQUlFLGFBQ0EsT1Y4OVNOLENVMTlTRSxvQkFDRSxVVjQ5U0osQ21Ecm1USSx5Q0FFRSxZbkRzbVROLENtRC9sVEUsc0JBT0ksY0FIRixnQkFEQSxrQm5EbW1USixDbUQ1bFRJLGlDQUNFLGNuRDhsVE4sQ21EbjhTTSwyQkFDRSxlbkRxOFNSLENtRHQ4U00sNEJBQ0UsZ0JuRHc4U1IsQ21EejhTTSw0QkFDRSxpQm5EMjhTUixDbURwalRFLCtCQUVJLFluRHFqVE4sQ2FyK1NFLG1TQUlFLHdCeUJuSWlCLEN6Qm9JakIsYWJvK1NKLENhaitTRSx3RUFDRSx3QkFibUIsQ0FjbkIsYWJtK1NKLENhNytTRSxpVEFJRSx3QnlCbklpQixDekJvSWpCLGFiNCtTSixDYXorU0UsNEVBQ0Usd0JBYm1CLENBY25CLGFiMitTSixDYXIvU0UsbVNBSUUsd0J5Qm5JaUIsQ3pCb0lqQixhYm8vU0osQ2FqL1NFLHdFQUNFLHdCQWJtQixDQWNuQixhYm0vU0osQ2E3L1NFLG1TQUlFLHdCeUJuSWlCLEN6Qm9JakIsYWI0L1NKLENhei9TRSx3RUFDRSx3QkFibUIsQ0FjbkIsYWIyL1NKLENhcmdURSxxUkFJRSx3QnlCbklpQixDekJvSWpCLGFib2dUSixDYWpnVEUsb0VBQ0Usd0JBYm1CLENBY25CLGFibWdUSixDYTMvU0ksa1dBQ0UsNEJiNi9TTixDYTUrU0UsNFJBSUUseUJBQ0EsYWIyK1NKLENheCtTRSxzRUFDRSxvQkFaWSxDQWFaLGFiMCtTSixDYXAvU0Usd3FCQUlFLHlCQUNBLGFibS9TSixDYWgvU0UsNEtBQ0Usb0JBWlksQ0FhWixhYmsvU0osQ2E1L1NFLG9zQkFJRSx5QkFDQSxhYjIvU0osQ2F4L1NFLG9MQUNFLG9CQVpZLENBYVosYWIwL1NKLENhcGdURSx3cUJBSUUseUJBQ0EsYWJtZ1RKLENhaGdURSw0S0FDRSxvQkFaWSxDQWFaLGFia2dUSixDYTVnVEUsd3FCQUlFLHlCQUNBLGFiMmdUSixDYXhnVEUsNEtBQ0Usb0JBWlksQ0FhWixhYjBnVEosQ2FwaFRFLDRvQkFJRSx5QkFDQSxhYm1oVEosQ2FoaFRFLG9LQUNFLG9CQVpZLENBYVosYWJraFRKLENhMWdUSSx5VkFFRSw2QkFEQSx3QmI2Z1ROLENhNy9TRSxxUkFJRSxhYjQvU0osQ2F6L1NFLG9FQUNFLGFiMi9TSixDYW5nVEUsMHBCQUlFLGFia2dUSixDYS8vU0Usd0tBQ0UsYWJpZ1RKLENhemdURSxzckJBSUUsYWJ3Z1RKLENhcmdURSxnTEFDRSxhYnVnVEosQ2EvZ1RFLDBwQkFJRSxhYjhnVEosQ2EzZ1RFLHdLQUNFLGFiNmdUSixDYXJoVEUsMHBCQUlFLGFib2hUSixDYWpoVEUsd0tBQ0UsYWJtaFRKLENhM2hURSw4bkJBSUUsYWIwaFRKLENhdmhURSxnS0FDRSxhYnloVEosQ21EcHRURSw4QkFDRSxzQm5Ec3RUSixDbURwdFRJLHNDQUNFLDZCbkRzdFROLENtRGxqVEksdUZBMUdBLGNuRCtwVEosQ21ENXBURSwrR0FFSSxhbkQ2cFROLENtRHZwVEksZ0pBQ0UsZW5EeXBUTixDbUR6c1RFLDBJQUVJLFluRDBzVE4sQ0M1b1RRLHlDa0RRTix3Q0FFSSxjQUtGLGVuRGtvVEYsQ0FDRixDQ2xwVFEseUNrRFFOLHlDQUVJLGNBS0YsZW5Ed29URixDQUNGLENDeHBUUSwrQ2tEb0dKLHlDQUVJLGFuRHNqVE4sQ21EcGpUTSxpREFDRSxjQUNBLGNuRHNqVFIsQ0FDRixDQ2pxVFEsK0NrRCtHSiwwQ0FFSSxhbkRvalROLENtRGxqVE0sa0RBQ0UsY0FDQSxjbkRvalRSLENBQ0YsQ2NsdlRFLGNBVkEsVXdCWFUsQ3hCWVYsZUFIQSxrQkFDQSxVZG93VEYsQ1UzcFRFLHFDQUNFLFNWNnBUSixDY253VEUsd0NBRUUsYWRvd1RKLENjdHZUUSxvQkEvQk4sZ0JBQ0EsY0FIQSxhQUNBLFNkNHhURixDYzV2VFEsbUNBL0JOLGNBQ0EsY0FIQSxXQUNBLFNkbXlURixDZXIwVEUsT0FUQSxpQnVCeURjLEN2QnBEZCxlQVJBLHFCQUtBLGV1QnNhZ0IsQ3ZCcmFoQixjQUxBLHVCdUIyYWMsQ3ZCcmFkLGtCZnMxVEYsQ2UxMFRNLHNCQUpGLGtCR29FZ0IsQ0huRWhCLGFmaTFUSixDZTkwVE0saUJBQ0Usa0J1QllhLEN2QlhiLGFmZzFUUixDZWwxVE0sZUFDRSxrQnVCWWEsQ3ZCWGIsYWZvMVRSLENldDFUTSxlQUNFLGtCdUJZYSxDdkJYYixhZncxVFIsQ2UxMVRNLGFBQ0Usa0J1QllhLEN2QlhiLGFmNDFUUixDZ0I5MlRFLFVBaENBLHdCc0IrRU0sQ3RCaEZOLGlCc0IyaUJnQixDdEI3aUJoQixXc0J5aUJnQixDdEJ4aUJoQixrQmhCdTVURixDZ0JoM1RRLGtDQUNFLHdCaEJrM1RWLENnQm4zVFEsb0NBQ0Usd0JoQnEzVFYsQ2dCdDNUUSxrQ0FDRSx3QmhCdzNUVixDZ0J6M1RRLGtDQUNFLHdCaEIyM1RWLENnQjUzVFEsZ0NBQ0Usd0JoQjgzVFYsQ2dCdjNURSxnQkFwQ0Esd0JzQjhETyxDdEIzREwsaUJzQjZFWSxDdEJuRmQsY0FFQSxZQUhBLGtCQUVBLE9oQnM2VEYsQ2dCMzNURSxxQkF4QkUsaUJzQmdoQmMsQ3RCcGhCaEIsYXNCeURNLEN0QjNETixpQkFDQSxnQk53T0EsU00xT0EsU053T0Esa0JBQ0EsUUFFQSwrQk12T0Esa0JoQm02VEYsQ2lCeDFURSxRQWpGQSx3QnFCMERXLENyQnpEWCxlQUxBLFlxQjB0QmMsQ3JCeHRCZCxzQkFEQSxtQkFGQSxrQkFRQSxrQkFEQSxvRmpCazdURixDaUI5MVRFLGFBdEVBLHFCcUIyQ1ksQ3JCL0NaLHFCQUVBLFlxQndzQmMsQ3JCNXNCZCxPQUdBLGVBTEEsa0JBQ0EsTUFRQSw4QmpCODZURixDaUI1NlRFLHlCQUNFLHdCakI4NlRKLENpQnYyVEUsZUF0REEsd0JDMERrQixDRDNEbEIsaUJxQm9DYyxDckIxQ2QsZ0NBRUEscUJBRUEsYXFCdXJCcUIsQ3JCN3JCckIsT1A4TEEsa0JBQ0EsUU9wTEEsMEJQcUxBLDJCT3RMQSw4QnFCK3FCa0IsQ3JCcHJCbEIsWXFCeXJCb0IsQ3JCN3JCcEIsU2pCcTdURixDVW55VEUsc0NBQ0UsU1ZxeVRKLENpQjU2VEUscUJBQ0Usd0JqQjg2VEosQ2lCMzZURSwyQkFFRSx3Q0FEQSx3QmpCODZUSixDaUI1M1RFLG1DQTNDQSxtQkFEQSxXakI4NlRGLENpQjUzVEUsaUJBN0NBLHFCQUVBLGVBQ0EsaUJBQ0EscUJBSEEsV2pCZzdURixDaUIzNlRFLDhCQUdFLGdCQUZBLE1BQ0EsV2pCODZUSixDaUIxNlRFLGdDQUtFLGFxQmdwQmtCLENyQmxwQmxCLFNBRkEsa0JBQ0EsTUFJQSwyQkFGQSxZakI4NlRKLENtQnp6VEUsUUEzSUEsYW1CV00sQ25CYk4sa0JBQ0EsZ0JBOElFLFdtQm9pQlksQ25CdnJCZCxrQm1Cc0JjLENuQnJCZCxVQUZBLGtCQVNBLG9GbkI2OFRGLENtQjl6VEUsY0F6SUEsZ0JBQ0EsVUFGQSxpQm5CODhURixDbUIvelRFLGVBN0hBLGVtQmpCWSxDbkJnQlosaUJtQkhjLENuQlNkLGNBRUEsZUFaQSxjQVNBLG9CQVBBLFdtQjJwQmMsQ25COXBCZCxrQkFPQSw0Qm1CZ3FCeUIsQ25CcnFCekIsVW5CNjhURixDbUIvN1RFLHFCQUNFLFFuQmk4VEosQ21CNzdURSxxQkFXRSxrQm1CeENJLENuQnVDSixpQm1CN0JZLENuQmdDWixXQVJBLGNBRUEsYUFoQ2MsQ0E0QmQsV21CNm9CbUIsQ25CL29CbkIsa0JBQ0EsVW1COG9CbUIsQ25Cdm9CbkIsd0JBR0EsNEJtQnNvQnVCLENuQjVvQnZCLFluQm84VEosQ21CejdURSw2QkFDRSxrQm5CMjdUSixDbUJ6N1RJLG1DQUNFLFluQjI3VE4sQ21CdDdURSw4QkFDRSxrQkFsRnFCLENBbUZyQixVbkJ3N1RKLENVaDRURSxrREFDRSxTVms0VEosQ21CcDJURSxnQ0E3RUEsa0JBQ0EsUUFDQSwwQm5CcTdURixDbUJyMlRFLGVBMUVBLGFBREEsT25CcTdURixDbUJsN1RFLG1DQUNFLGFuQm83VEosQ21CdjJURSxpQkF2RUEsU25CazdURixDbUJoN1RFLHFDQUNFLFluQms3VEosQ21CeDJURSxhQXZEQSxhbkJtNlRGLENtQmo2VEUsNEJBR0UsaUJBbURxQixDQXBEckIsYW1CeWpCaUIsQ25CMWpCakIsVW5CcTZUSixDbUJoNlRFLGtDQUlFLFdBZmMsQ0FhZCxXbUJ5akJtQixDbkIxakJuQixVbUIwakJtQixDbkJ4akJuQixVbkJtNlRKLENtQi81VEUsZ0RBQ0UsWW5CaTZUSixDbUJ0M1RFLGNBM0RBLGNuQnE3VEYsQ21CbjdURSw2QkFHRSxnQkF1RHFCLENBeERyQixjbUIwakJrQixDbkIzakJsQixZbkJ1N1RKLENtQmw3VEUsbUNBSUUsY0FmYyxDQWFkLFdtQnlqQm1CLENuQjFqQm5CLFVtQjBqQm1CLENuQnhqQm5CLGFuQnE3VEosQ21CajdURSxpREFDRSxTbkJtN1RKLENtQnA0VEUsY0EvREEsYW5CdThURixDbUJyOFRFLDZCQUdFLGNBMkRxQixDQTVEckIsYW1CMmpCa0IsQ25CNWpCbEIsVW5CeThUSixDbUJwOFRFLG1DQUlFLFdBZmMsQ0FhZCxXbUJ5akJtQixDbkIxakJuQixVbUIwakJtQixDbkJ4akJuQixVbkJ1OFRKLENtQm44VEUsaURBQ0UsWW5CcThUSixDb0J2MlRFLE1BOUdBLHlCQUdBLGlCa0JuR2MsQ2xCa0dkLGtCa0J2R2MsQ2xCc0dkLFVwQjI5VEYsQ29CampVRSxrQkFJRSx3QmtCekJJLENsQndCSix3QnBCb2pVSixDb0IvaVVFLFFBRUUsZWtCdEJpQixDbEJxQmpCLDZCcEJtalVKLENvQjlpVUUsTUFDRSxrQnBCa2pVSixDb0I3aVVFLFlBSkUsYXBCc2pVSixDb0JsalVFLE1BQ0Usa0JwQmlqVUosQ29CemlVSSxrQkFDRSxzQnBCNmlVTixDb0J6aVVJLG9DQUdFLGVrQmpEZSxDbEJnRGYsNkJrQjhuQlUsQ2xCNW5CVixlcEI2aVVOLENvQnZpVUksa0JBRUUsNkJwQjBpVU4sQ29CL21VTSx1QkFFRSx3QmtCNHJCbUIsQ2xCN3JCbkIsZXBCbW5VUixDb0JwaVVNLHNCQUVFLHdCcEJzaVVSLENvQnhtVUUseUJBRUUsd0JrQmhCSSxDbEJlSiwrQnBCMm1VSixDQy9oVVEsK0NtQjZHTixvQ0FDRSxZcEJ5N1RGLENvQnQ3VEEsNkNBR0UsYXBCdzdURixDb0JyN1RBLGVBQ0UsWXBCdTdURixDQUNGLENvQno2VEUsYUF2R0EsY0FFQSxnQkFEQSxVcEJxaFVGLENvQjdnVUksMkJBQ0Usd0JwQmdoVU4sQ29CMWdVSSwyQkFDRSx3QnBCNGdVTixDb0J0Z1VJLDJCQUNFLHdCcEJ3Z1VOLENvQmpnVU0scURBQ0Usd0JwQm1nVVIsQ29CcDdURSxjQUNFLGVwQnU3VEosQ3FCenNVRSxPQVBBLGtCQUpBLHFCQU1BLGVpQmdPZ0IsQ2pCck9oQixlaUJvT2UsQ2pCbk9mLFlpQmtPYyxDakI3TmQsaUJyQnd0VUYsQ3FCN3NVTSxzQkFKRixrQkhxRWdCLENHcEVoQixhckJvdFVKLENxQmp0VU0saUJBQ0Usa0JpQmFhLENqQlpiLGFyQm10VVIsQ3FCcnRVTSxlQUNFLGtCaUJhYSxDakJaYixhckJ1dFVSLENxQnp0VU0sZUFDRSxrQmlCYWEsQ2pCWmIsYXJCMnRVUixDcUI3dFVNLGFBQ0Usa0JpQmFhLENqQlpiLGFyQit0VVIsQ3NCM3FVRSxhQTVDQSxnQkFEQSxldEI2dFVGLENVcm5VRSx1Q0FHRSxZQURBLGNBSUUsYUFDQSxPVm9uVU4sQ1VoblVFLG1CQUNFLFVWa25VSixDc0JsdVVFLGdCQUlFLGFnQmNJLENoQmJKLGVBSkEsV0FFQSxrQmdCME15QixDaEJyTXZCLHdCdEJpdVVOLENzQnp0VVEsdUNBS0UsVWdCTEksQ2hCSUosV0FQUSxDQUtSLGdCQUNBLFVBRkEsaUJ0Qit0VVYsQ3NCanRVRSxlQUNFLGF0Qm10VUosQ3NCanRVSSxxQkFDRSx5QnRCbXRVTixDc0Ixc1VJLHVCQUNFLFVnQjdCUSxDaEI4QlIsa0J0QjRzVU4sQ3VCbnVVRSxTQXBCQSxxQkFGYSxDQWhCYixXZStRZSxDZjlRZixpQmUyQ2MsQ2Z6QmQsY0F0QkEsZWVtUmUsQ2ZsUmYsYUFGQSxpQnZCdXhVRixDdUIvd1VFLHNCQUNFLFl2Qml4VUosQ3VCOXdVRSxxQkFDRSxldkJneFVKLEN1Qi91VU0saUJBeEJKLHdCQUZhLENBR2IsYXZCMHdVRixDdUJudlVNLG1CQXhCSix3QkFGYSxDQUdiLGF2Qjh3VUYsQ3VCdnZVTSxpQkF4Qkosd0JBRmEsQ0FHYixhdkJreFVGLEN1QjN2VU0saUJBeEJKLHdCQUZhLENBR2IsYXZCc3hVRixDdUIvdlVNLGVBeEJKLHdCQUZhLENBR2IsYXZCMHhVRixDdUI3dlVNLGVBdEJKLGF2Qnl4VUYsQ3VCbndVTSxlQXRCSixZdkIreFVGLEN3Qmh3VUUsTUE3Q0Esa0Jjc0JNLENkekJOLHdCY29SWSxDZG5SWixpQmNrQ2MsQ2QvQmQsZWNpUlksQ2Q5UVosYWNpQk0sQ2QvQkosYUFDQSxzQkFDQSxZQUdGLGtCY2dDYyxDZHhCZCxleEJ1elVGLEN3QnB6VUUsa0JBQ0UsZXhCc3pVSixDd0I1d1VFLGNBM0JBLGtCY0pXLENkRFQsYUFDQSxjQUdGLFl4Qit5VUYsQ3dCNXlVRSwwQkFDRSxleEI4eVVKLEN3Qmx4VUUsY0FuQkUsY0FHRixZeEJ1eVVGLEN3QnJ5VUUsMEJBQ0UsZXhCdXlVSixDd0JweFVFLFlBQ0UsY3hCdXhVSixDeUIvMFVFLGVBakJBLHdCYW1DTSxDYnJDTixxQmE0VWdCLENiM1VoQixpQmE4Q2MsQ2JyRGQsYUFVQSxjYXlVbUIsQ2JoVm5CLFlhNlVpQixDYm5WakIsa0JBUUEsa0JBSEEsV2FrVmUsQ2J0VmYsVXpCdTNVRixDeUJ2MlVFLDBCQUNFLGF6QnkyVUosQ3lCdDJVRSx1QkFDRSxjQUNBLGtCekJ3MlVKLEN5QjcxVU0sb0JBQ0UsV3pCZzJVUixDeUJqMlVNLHFCQUNFLFd6Qm8yVVIsQ3lCcjJVTSxxQkFDRSxXekJ3MlVSLEMwQjV3VUUsWUFsRkEsa0JZTWMsQ1pQZCxhMUJvMlVGLENVanhVRSxxQ0FHRSxZQURBLGNBSUUsYUFDQSxPVmd4VU4sQ1U1d1VFLGtCQUNFLFVWOHdVSixDMEJ6MlVFLGVBRUUsaUJZTVksQ1pDVixhQU5GLGlCWWdjbUIsQ1psY25CLHFCMUI4MlVKLEMwQnAyVU0scURBRUUsb0IxQnEyVVIsQ0N6eFVRLHlDeUJ6Rk4sZUF1Qk0sb0IxQisxVU4sQ0FDRixDMEIxMVVFLGlDQUlFLGlCWXpCWSxDWjBCWixhWXJDSSxDWmtDSixjQUNBLHdCMUI4MVVKLEMwQjExVUksNkNBQ0Usa0IxQjYxVU4sQzBCaHpVSSxxQkFqQ0Ysa0JSbEJrQixDUW1CbEIsYVlwRE0sQ1pxRE4sZUFIQSx3QjFCdzFVRixDMEJselVJLHNCQTFCRixVWWpFWSxDWmtFWixtQkFGQSx3QjFCazFVRixDMEI5MFVFLDRCQUNFLHNCMUJnMVVKLEMwQnR6VUksNEJBZkYsYVk5RU0sQ1o2RU4sWUFEQSx3QjFCNDBVRixDMEJyelVJLG1FQUlFLFdBekhzQixDQXVIdEIscUJBQ0Esa0IxQnl6VU4sQzBCcnpVSSx5REFJRSxXQTVIa0IsQ0EwSGxCLHFCQUNBLGlCMUJ5elVOLEMyQnIyVUUsU0FoR0EsNkJXaXhCc0IsQ1gvd0J0QixXVzZ3QmUsQ1hqeEJmLHFCQUdBLGVXd0NtQixDWDVDbkIsaUIzQmc5VUYsQzJCejJVRSxTQXRGQSx3QldpQk0sQ1hsQk4saUJXNkJjLENYMUJkLGFXZ0JNLENYakJOLGFXK0ZnQixDWHBHaEIsZVcyd0JrQixDWDF3QmxCLGNXeXdCZ0IsQ1g3d0JoQiwwQkFDQSxZM0JpOVVGLEMyQnY4VUUseUJBWkEsaUIzQnM5VUYsQzJCcjhVSSx1QmpCbkJBLDZGaUJxQkUsWWpCN0JKLFdBUEEsY0FFQSxTQURBLE9WaS9VRixDMkIzOFVJLG9DQUNFLFNBQ0EsMEIzQjY4VU4sQzJCeDhVSSxvQmpCbkNBLDZGaUJzQ0UsWWpCMUNKLFdBUEEsY0FFQSxTaUI4Q0ksU2pCL0NKLE9WaWdWRixDMkI5OFVJLGlDQUNFLFNBQ0EsMEIzQmc5VU4sQzJCMzhVSSxxQmpCeENBLGdIQVpGLFdBUEEsY0FFQSxTaUIyREksVWpCNURKLE9WZ2hWRixDMkJqOVVJLGtDQUNFLFlBQ0EsUUFDQSwwQjNCbTlVTixDMkI5OFVJLHNCakJqREEsZ0hBaEJGLFdBUEEsY0FFQSxTaUJ5RUksVUFEQSxXakJ6RUosT1ZpaVZGLEMyQnA5VUksbUNBQ0UsWUFDQSxRQUNBLDBCM0JzOVVOLEMyQmw5VUUsMEJBQ0UsWUFDQSxPM0JvOVVKLEMyQmo5VUUsNkJBQ0UsV0FDQSxRM0JtOVVKLEMyQmg5VUUsMkJBQ0UsU0FDQSxVM0JrOVVKLEMyQi84VUUsNEJBQ0UsVUFDQSxTM0JpOVVKLEM0Qmg5VUUsV0F2RkEsa0JVMkJNLENWMUJOLHFCQUZBLGE1QjhpVkYsQzRCemlWSSxzQ0FDRSxrQjVCMmlWTixDNEJwaVZFLHlDQUNFLHlCNUJ1aVZKLEM0QnBpVkUsdUNBQ0UseUI1QnNpVkosQzRCeDlVRSxpQkE5REEsd0JVaUp5QixDVmhKekIsZ0JBSUEsYVZzQmtCLENVOUJsQixjQU1BLGdCVXlJMEIsQ1Z4STFCLGNBTkEsb0JVaUp1QixDVm5KdkIsaUI1QnFpVkYsQzRCMWhWRSw2Q0FDRSwrQlV5SXVCLENWeEl2Qix5QjVCNGhWSixDNEJ6aFZFLDhDQUVFLHdCNUIwaFZKLEM0QnRoVkksd0JBS0UsV0FuR21CLENBa0duQixrQkFIQSxrQkFFQSxXQURBLE81QjJoVk4sQzRCcmhWSSxtQ0FDRSxXNUJ1aFZOLEM0QmgvVUUsbUJBdEJBLHdCVWxETSxDVmdETix3QlV1R3lCLENWdEd6QixnQkFHQSxhVXJETSxDVjhDTixhQUNBLFk1Qm1oVkYsQzRCM2dWRSwwQ0FDRSwrQjVCNmdWSixDb0RsalZFLGNBcEZBLGFBSUUsaUJBSEYsa0JwRDJvVkYsQ29Ecm9WRSxrQkFDRSxjcER1b1ZKLENDbC9VUSwrQ21EakpKLDhCQUVJLGNwRHFvVk4sQ0FDRixDb0Q1alZFLHNCQWhFRSxhcERnb1ZKLENvRHpuVkUsa0NBQ0Usa0JwRDJuVkosQ29EeG5WRSxvREFDRSxpQnBEMG5WSixDb0R2blZFLGtDQUNFLGVwRHluVkosQ0NwZ1ZRLCtDbURsSE4sdUNBNEJFLGdCQUNBLGVBSkYsZ0JwRG9tVkEsQ29EMWxWQSwyQ0FDRSxVcEQ0bFZGLENBQ0YsQ29EMW5WSSxtQ0FDRSxZcEQ0blZOLEM2QnRpVkUsd0JBekdBLGlCN0IycFZGLEM2QmxqVkUsaUJBbkdBLFNBRUEsZ0JBREEsU0FFQSxlN0JrcFZGLEM2QjlpVkUsYUE5RkEsa0JBREEsVTdCa3BWRixDNkI5b1ZJLG1DQUVFLE9BREEsSzdCaXBWTixDNkJualZFLGNBdkZBLFE3QjhvVkYsQzZCbmpWRSxhQXBGQSxTQURBLGVBREEsVTdCK29WRixDNkJyalZFLGVBN0VBLGtDU2tieUIsQ1R2YnpCLFNBRUEsZ0JBREEsVTdCZ3BWRixDNkIzalZFLDJDQWhGQSxjQUhBLFlTcWJzQixDVHpidEIsaUI3QjJwVkYsQzZCcGtWRSw0Qm5Ca0VBLFFBQ0EsMkJtQjVJQSxVN0I2b1ZGLENVOWlWRSwwRUFDRSxTVmdqVkosQzZCNW9WRSwwSEFHRSxrQzdCNG9WSixDNkJ0a1ZFLGdCQWhFQSxNN0Iwb1ZGLEM2QnJrVkUsWUFoRUEsVUFDQSxPN0J5b1ZGLEM2QnJrVkUsZUE1REEsbUJTOFkyQixDVC9ZM0IsZ0JTOFl3QixDVC9ZeEIsa0JBR0EsaUI3QnVvVkYsQ1Vwa1ZFLHNDQUNFLFNWc2tWSixDNkJ4b1ZFLHNCQU1FLHFCU3pEVSxDVHdEVixrQkFIQSxhU3NZb0IsQ1RyWXBCLFlTc1lrQixDVHhZbEIsWTdCOG9WSixDNkJub1ZJLDREQUNFLHFCN0J3b1ZOLENxRGp2VkUsOEJBbEJBLFNBQ0Esa0JmOHJCK0IsQ2U1ckIvQixnQkFEQSxtQkFIQSxpQnJENndWRixDcUR2d1ZFLDRLQVFFLFlBRkEsT0FGQSxrQkFDQSxNQUVBLFVyRDh3VkosQ3FEandWTSxvREFDRSxxQnJEb3dWUixDOEJ6cVZFLE1BL0VBLGtCUXdCTSxDUnpCTix5QkFFQSxxQkFIQSxROUJpd1ZGLENVdHBWRSx5QkFHRSxZQURBLGNBSUUsYUFDQSxPVnFwVk4sQ1VqcFZFLFlBQ0UsVVZtcFZKLEM4Qmx3VkUsa0JBQ0UsY0FDQSxXQUNBLFU5QnF3VkosQzhCcHJWSSxrQkFDRSxTOUJ1clZOLEM4QnJyVk0sd0JBQ0Usc0I5QnVyVlIsQzhCanJWRSxjQUNFLGtCOUJvclZKLEM4QmxyVkksbUJBQ0UsYTlCb3JWTixDOEJsclZNLGtEQUVFLGtCOUJtclZSLEM4QjlxVkUsWUEzRkEsVTlCNndWRixDOEIzd1ZFLGNBTUUsYVoyQmdCLENZL0JoQixjQUVBLGdCUTJzQmlCLENSMXNCakIsY0FGQSxzQjlCK3dWSixDVWpxVkUscUNBQ0UsU1ZtcVZKLEM4Qjd3Vkksb0JBQ0Usa0JRVEUsQ1JVRixhOUIrd1ZOLEM4QjV3Vkksc0RBRUUsa0JRbkJPLENSb0JQLGE5QjZ3Vk4sQzhCaHNWRSxjQWhFQSxrQlE3Qk0sQ1IyQk4seUJBQ0EsYUFFQSxhUS9CTSxDUmdDTix1QjlCc3dWRixDOEJwc1ZFLHVCQTNEQSx5QkFDQSxhOUJtd1ZGLEM4QnJzVkUsWUF2REEsYUFDQSxZOUJnd1ZGLEM4Qjl2VkUsc0JBQ0UsYTlCZ3dWSixDK0IvMFZFLFdBckJBLHdCTzR3QmlCLENQM3dCakIsaUJPMkRjLENQMURkLHNDTzR3QmlCLENQbHhCakIscUJBUUEsY0FOQSxrQk95RGMsQ1AxRGQsYy9CaTNWRixDK0JyMVZFLFlBakJBLGtDL0IwMlZGLEMrQngyVkUsb0NBRUUsMEMvQnkyVkosQytCdDJWRSxrQkFDRSxlL0J3MlZKLENnQzNoVkUsTUFwVUUsYUFDQSxlQUxGLGdCQURBLFNBREEsVUFHQSxpQmhDMjJWRixDVTl0VkUsZ0NBQ0UsU1ZndVZKLENnQ24yVkUsc0JBSUUsY0FGQSxjQUdBLGtCTXVCa0IsQ056QmxCLG9CaEN1MlZKLENnQ2oyVkUsOENBSUUsZWhDbTJWSixDZ0NoMlZFLFlBQ0Usb0JoQ2syVkosQ2dDbmpWSSx1QkFsTkUsbUJBREEsY2hDMHdWTixDZ0NsalZJLGVBNU1FLHNCQURBLGdCaENtd1ZOLENnQ3ZyVlEsMk1BSUksZWhDMHJWWixDZ0MxMlZJLGtCQUNFLFloQzQyVk4sQ2dDanNWUSwyTUFJSSxlaENvc1ZaLENnQzNqVkksYUF0TUEsa0JoQ293VkosQ2dDandWRSxtQkFDRSxnQmhDbXdWSixDZ0Nod1ZFLGVBQ0UsU2hDa3dWSixDQ3p5VlEseUMrQjJPRix3QkF6T0EsbUJBREEsY2hDNnlWSixDZ0MvalZJLHNCQWxPQSxzQkFEQSxnQmhDc3lWSixDZ0N0NFZFLGdEQUNFLFloQzI0VkosQ0FDRixDQ3p6VlEseUMrQjJPRix1QkF6T0EsbUJBREEsY2hDNnpWSixDZ0Mva1ZJLHFCQWxPQSxzQkFEQSxnQmhDc3pWSixDZ0N0NVZFLDhDQUNFLFloQzI1VkosQ0FDRixDZ0M1a1ZJLGFBck1BLGdCTXZJd0IsQ05zSXhCLGNoQ3N4VkosQ2dDN3dWSSx3RkFDRSxZaENreFZOLENnQ3B1VkksaURBRUksb0JoQ3F1VlIsQ2dDbHVWTSx1S0FHRSxtQmhDc3VWUixDZ0M3dFZJLG1EQUVJLG9CaEM4dFZSLENnQzN0Vk0sNktBR0Usa0JoQyt0VlIsQ2dDdHRWSSwrQ0FFSSx1QmhDdXRWUixDZ0NqdFZNLGlLQVFJLG1CQUNBLG9CTWdKVSxDTi9JVixpQmhDZ3RWVixDZ0Mxc1ZJLHFEQUVJLHVCaEMyc1ZSLENnQ3JzVk0sbUxBUUksbUJBQ0Esb0JNd0hVLENOdkhWLGlCaENvc1ZWLENnQy9rVk0sbUNBckdKLGtCTXNHNEIsQ05yRzVCLGFoQzJyVkYsQ2dDamxWSSxpQkF2WEUsMEJoQzI4Vk4sQ2dDbjhWTSxxQkFDRSxhQUNBLHdCaENxOFZSLENnQ244VlEsaUNBQ0UsMEJoQ3E4VlYsQ2dDajhWTSw4QkFDRSxjQUNBLGdCaENtOFZSLENnQzd6VlEsdVFBUUksZ0JoQyt6VlosQ2dDaG1WTSwwQkEzUUYsY0FEQSxpQmhDZzNWSixDZ0MxN1ZNLHNCQUNFLGFBQ0Esc0JoQzQ3VlIsQ2dDMTdWUSxrQ0FDRSwwQmhDNDdWVixDZ0NqbVZJLGlCQWxJRixjQUZBLGdCQUNBLGNBSEEsa0JoQzZ1VkYsQ2dDaG1WTSxxQkFFSSxzQmhDa21WVixDZ0MzOFZNLHdCQUNFLGFBQ0Esc0JoQzY4VlIsQ2dDMzhWUSxvQ0FDRSwwQmhDNjhWVixDZ0NobVZFLGlDQUNFLFloQ21tVkosQ3NEam5XRSxXNUM2R0EsZUFKQSxxQkFHQSxXQXpCUyxDQXFCVCxrQkFFQSxzQkFDQSxVVitnV0YsQ1UxZ1dFLGlCQVNFLGtCNEJsQ0ksQzVCbUNKLDJDQXRCUyxDQXdCVCxXQVBBLGNBRUEsVUFuQ08sQ0ErQlAsT0FGQSxrQkFDQSxNQUlBLFVWK2dXSixDVTkvVkksdUJBQ0UsZTRCcERRLEM1QnFEUixxQ1ZnZ1dOLENzRHJvV0UsZ0I1Q3lHQSxlQUpBLHFCQUdBLFdBekJTLENBcUJULGtCQUVBLHNCQUNBLFVWdWlXRixDVWxpV0Usc0JBU0Usa0I0Qm5DSSxDNUJvQ0osMkNBdEJTLENBd0JULFdBUEEsY0FFQSxVQW5DTyxDQStCUCxPQUZBLGtCQUNBLE1BSUEsVVZ1aVdKLENVdGhXSSw0QkFDRSxlNEJuRE0sQzVCb0ROLHFDVndoV04sQ2lDaGxXSSxtQkFNRSxVakM4a1dOLENpQ3BrV0ksMERBQ0Usa0JqQ3lrV04sQ2lDdGtXSSw2Q0RxSUEsZ0JNdkl3QixDTnNJeEIsY2hDczhWSixDaUNya1dNLHlERDRIRixjQURBLGlCaEM4OFZKLENpQy9uV0Usd0VBQ0UsaUJqQ2lvV0osQ2lDL25XSSw4RXZCQUEsdUZBSkYsV0FQQSxjQUVBLFN1QmFJLGdCQUZBLGtCQUdBLFdBRkEsUXZCYkosT1Z1cFdGLENpQ3BvV0UsZ0VBRUUsVUFEQSxVakN1b1dKLENpQ25vV0UsaUVBRUUsVUFEQSxVakNzb1dKLENpQzFsV00seUVBQ0UseUJBQ0Esd0JqQzRsV1IsQ2lDaGxXRSw2QkFDRSxpQmpDbWxXSixDaUNobFdFLHNCQUNFLGlCakNtbFdKLENpQy9rV0UsZ0JBUUUsZUFGQSxXSytHaUMsQ0xwSGpDLGtCQUVBLFFBREEsTUFHQSxVakNtbFdKLENpQ3ZrV0ksc0J2Qm5HQSx1RnVCdUdFLFN2QjNHSixXQVBBLGNBRUEsU3VCaUhJLFlBRkEsTXZCaEhKLE9WaXNXRixDaUMxa1dFLDBDQUNFLHFCQUNBLHdCakM2a1dKLENpQzFrV0UscUJ2Qm1EQSw2QkFFQSxtQkFMQSxxQkFFQSwwQkFEQSxvQkFIQSw0QkFNQSw2QkFMQSxtQlZzaVdGLENrQ3RyV0UsY0FFRSxnQkFEQSxpQmxDMHJXSixDa0N2cldJLGlCQUNFLGFsQ3lyV04sQ2tDdHJXSSw2QkFDRSxxQmxDd3JXTixDa0NscldJLGFBRUUsa0JJRkUsQ0pDRixrQmxDc3JXTixDa0NqcldJLGlDQU9FLGtCSWJFLENKU0YsVUFGQSxrQkFDQSxNQU1BLGdDSTBRaUIsQ0o1UWpCLFdBRkEsVWxDc3JXTixDa0NocldNLDJDQUVFLGNBQ0EsNEJBRkEsU2xDb3JXUixDa0MvcVdNLDRDQUNFLDBCbENpcldSLENrQzdxV00sbUNBQ0Usa0JsQytxV1IsQ2tDM3FXSSx3Q0ZtSEEsYU13SXNCLENOekl0QixjaEM2aldKLENrQzNxV0ksNkNBQ0UsZWxDNnFXTixDa0M3dldFLDBDQUNFLGlCbEMrdldKLENrQzd2V0ksZ0RBSUUsZ0JBRkEsa0JBQ0EsT2xDd3dXTixDa0Nsd1dFLDJHeEJPRSx1R0FaRixXQVBBLGNBRUEsU3dCTUksV3hCUEosT1Z5eFdGLENrQzl3V0UsMkRBR0UsU2xDMndXSixDa0N4d1dFLDREQUdFLFVBREEsVWxDa3hXSixDa0NodFdNLG1HeEIvREYsdUdBaEJGLFdBUEEsY0FFQSxTQURBLE9Wa3pXRixDa0M3dFdNLHVDQUVFLHFCQUVBLG9CQURBLHFCbEMwdFdSLENtQzV3V00sa0RBR0UsVUFEQSxRQURBLFFuQ2l4V1IsQ21DMXdXTSxtREFHRSxPQURBLFdBREEsUW5DOHdXUixDbUN2d1dNLCtDQUVFLG9CR3lTcUIsQ0gxU3JCLGlCbkMwd1dSLENtQ3R3V00scUR6QmpERix1RkFKRixXQVBBLGNBRUEsU3lCNkRNLFVBQ0EsZ0JBRkEsVXpCN0ROLE9WODBXRixDVW5yV0Usd0NBQ0UsU1ZxcldKLENtQ3R1V0ksb0JBRUUsa0JuQ3V1V04sQ21DbnVXSSw4QkFDRSxzQkd3UGlDLENIdlBqQyxhbkNxdVdOLENtQ2x1V0kseUJBQ0UsWW5Db3VXTixDbUNqdVdJLDJDSG1FQSxhTXlLeUIsQ04xS3pCLGNoQ21xV0osQ21DMXhXTSxnREFDRSxLbkM0eFdSLENtQ3h4V1EsMkRBR0UsVUFEQSxXQURBLEtuQzR4V1YsQ21DcnhXUSw0REFFRSxVQURBLFVuQ3d4V1YsQ21DdjFXRSxtQ0FDRSxVbkN5MVdKLENtQ3QxV0UsOEN6QkZFLHVHQWhCRixXQVBBLGNBRUEsU3lCMEJFLFNBREEsV3pCMUJGLE9WMDNXRixDbUM1MVdFLCtDekJaRSx1R0FaRixXQVBBLGNBRUEsU0FEQSxPVm80V0YsQ0MvdldRLHlDa0MvRkYsb0VBR0UsVUFEQSxRQURBLFFuQ20yV04sQ21DNTFXSSxxRUFHRSxPQURBLFdBREEsUW5DZzJXTixDbUN6MVdJLGlFQUVFLG9CR3lTcUIsQ0gxU3JCLGlCbkM0MVdOLENtQ3gxV0ksdUV6QmpERix1RkFKRixXQVBBLGNBRUEsU3lCNkRNLFVBQ0EsZ0JBRkEsVXpCN0ROLE9WZzZXQSxDbUMzMVdJLHVEQUNFLEtuQzYxV04sQ21DejFXTSxrRUFHRSxVQURBLFdBREEsS25DNjFXUixDbUN0MVdNLG1FQUVFLFVBREEsVW5DeTFXUixDbUN4NVdBLDBDQUNFLFVuQzA1V0YsQ21DdjVXQSxxRHpCRkUsdUdBaEJGLFdBUEEsY0FFQSxTeUIwQkUsU0FEQSxXekIxQkYsT1YyN1dBLENtQzc1V0Esc0R6QlpFLHVHQVpGLFdBUEEsY0FFQSxTQURBLE9WcThXQSxDQUNGLENDajBXUSx5Q2tDL0ZGLG1FQUdFLFVBREEsUUFEQSxRbkNxNldOLENtQzk1V0ksb0VBR0UsT0FEQSxXQURBLFFuQ2s2V04sQ21DMzVXSSxnRUFFRSxvQkd5U3FCLENIMVNyQixpQm5DODVXTixDbUMxNVdJLHNFekJqREYsdUZBSkYsV0FQQSxjQUVBLFN5QjZETSxVQUNBLGdCQUZBLFV6QjdETixPVmsrV0EsQ21DNzVXSSxzREFDRSxLbkMrNVdOLENtQzM1V00saUVBR0UsVUFEQSxXQURBLEtuQys1V1IsQ21DeDVXTSxrRUFFRSxVQURBLFVuQzI1V1IsQ21DMTlXQSx5Q0FDRSxVbkM0OVdGLENtQ3o5V0Esb0R6QkZFLHVHQWhCRixXQVBBLGNBRUEsU3lCMEJFLFNBREEsV3pCMUJGLE9WNi9XQSxDbUMvOVdBLHFEekJaRSx1R0FaRixXQVBBLGNBRUEsU0FEQSxPVnVnWEEsQ0FDRixDbUN2M1dNLDBEQUdFLFVBREEsUUFEQSxRbkMyM1dSLENtQ3AzV0UsMkJBQ0UsV25DdTNXSixDbUNyM1dJLHVDQUNFLFduQ3UzV04sQ21DbjNXRSw0QkFDRSxpQm5DczNXSixDbUNwM1dJLG9DQUlFLFVBQ0EsZ0JBSkEsa0JBRUEsVUFEQSxPbkN5M1dOLENtQ24zV0ksNkRBT0ksVUFMRixRbkNxM1dOLENtQzUyV0ksNERBRUUsVUFEQSxVbkMrMldOLENtQzMyV0ksNkRBRUUsVUFEQSxVbkM4MldOLENtQ3oyV0UscUJBVUUsa0JHbEtJLENIaUtKLHFCRzZKa0IsQ0hoS2xCLGFBSEEsVUFJQSxlR3lKcUIsQ0gvSnJCLGtCQUNBLE1BRUEsU25DZzNXSixDbUN4MldJLGlDQUNFLGtCbkMwMldOLENtQ3JpWEUseURBQ0UsVW5DdWlYSixDbUNwaVhFLG9FekJGRSx1R0FoQkYsV0FQQSxjQUVBLFN5QjBCRSxTQURBLFd6QjFCRixPVndrWEYsQ21DMWlYRSxxRXpCWkUsdUdBWkYsV0FQQSxjQUVBLFNBREEsT1ZrbFhGLENtQ3ozV00sMENBQ0UsZW5DMjNXUixDbUN2M1dJLHdCQUNFLFVuQ3kzV04sQ21DcDNXSSx3Q0FDRSxhbkNzM1dOLENvQzlpWEUsb0JBQ0UsZXBDaWpYSixDb0M3aVhFLHVCQVdFLDhCRTZad0IsQ0ZqYXhCLFlBSkEsT0FVQSxVQUdBLGdCQWZBLGtCQUNBLE1BT0EsZ0RBS0Esa0JBUkEsV0FGQSxVcEN1alhKLENvQ3ppWEksa0NBQ0UsVUFDQSxrQnBDMmlYTixDb0N4aVhJLG1DQUNFLGNwQzBpWE4sQ29DdmlYSSwyQ0FDRSxpQnBDeWlYTixDb0N0aVhJLHdDQUNFLGNwQ3dpWE4sQ29DdHVXRSxvQkExVEEsZ0JBREEsaUJwQ3NpWEYsQ29DdHVXRSxZQXBTQSw4REFFQSxrQkVqRlcsQ0ZnRVQsZUFjRiw4QkFQQSxVcEMwaFhGLENVNStXRSxtQ0FDRSxTVjgrV0osQ29DMWhYRSwrQkFDRSxVcEM0aFhKLENvQ25oWEUsc0JBQ0UsaUJwQ3FoWEosQ29DamhYRSxrQ0FDRSxVcENtaFhKLENvQ2poWEksMENBQ0UscUNwQ21oWE4sQ29DOWdYRSxvQkFDRSxzQnBDZ2hYSixDb0NydldFLHFCQS9TQSw4REFFQSxrQkVqRlcsQ0ZtRVQsa0JBV0YsOEJBUEEsVXBDb2pYRixDVXRnWEUsNENBQ0UsU1Z3Z1hKLENvQ3BqWEUsd0NBQ0UsVXBDc2pYSixDb0M3aVhFLCtCQUNFLGlCcEMraVhKLENvQzNpWEUsMkNBQ0UsVXBDNmlYSixDb0MzaVhJLG1EQUNFLHFDcEM2aVhOLENvQ3hpWEUsNkJBQ0Usc0JwQzBpWEosQ29DMXdXRSxlQWpSRSxpQ0FGQSxZQURBLE9BRUEsZ0JBSEEsTUFRSSxXcENpaVhSLENvQzNoWGEsNkRBTEwsNEJwQ21pWFIsQ29DdmhYTSw0RUFDRSxzQnBDeWhYUixDb0NuaFhNLHFEQUdNLDJCcENvaFhaLENvQzE1V0ksa0MxQjlUQSxzRFY0dFhKLENvQ2p5V0UsZ0JBNU9FLGlDQUZBLFlBQ0EsZ0JBRkEsUUFEQSxNQVFJLFdwQ21oWFIsQ29DN2dYYSwrREFMTCwyQnBDcWhYUixDb0N6Z1hNLDZFQUNFLHNCcEMyZ1hSLENvQ3JnWE0sc0RBR00sNEJwQ3NnWFosQ29DbDdXSSxtQzFCaFVBLHFEVnN2WEosQ29DeHpXRSxjQXZNRSxpQ0FJSSxZQXZGRSxDQWdGTixPQUVBLGdCQUhBLE1BRUEsVXBDMmdYSixDb0MvL1dhLDJEQUxMLDRCcEN1Z1hSLENvQzUvV00sMkVBQ0Usc0JwQzgvV1IsQ29DeC9XTSxvREFHTSwyQnBDeS9XWixDb0MxOFdJLGlDMUI1VEEsc0RWMHdYSixDb0MvMFdFLGlCQW5LRSxpQ0FKQSxTQVFJLFlBNUhFLENBcUhOLE9BRUEsZ0JBREEsVXBDOC9XSixDb0NsL1dhLGlFQUxMLDJCcEMwL1dSLENvQy8rV00sOEVBQ0Usc0JwQ2kvV1IsQ29DMytXTSx1REFHTSw0QnBDNCtXWixDb0NsK1dJLG9DMUJsVUEscURWd3lYSixDb0NyMldFLG9CQTVHQSw4REFEQSxjcEN1OVdGLENvQ245V0UsbUZBRUUsNkJwQ285V0osQ29DMzhXRSxnRkFDRSxzQnBDZzlXSixDQzVwWFEseUNtQ2lUQSxpQ0ExRk4sZUFFQSxnQkFDQSxtQkFGQSxVcEM0OFdBLENvQ3A4V0EsK0NBQ0UsWXBDczhXRixDb0NsOFdBLHFEQUNFLGNwQ284V0YsQ29DNTdXQSx5RkFDRSxpQnBDazhXRixDb0M1M1dNLGtDQTlGTixlQUVBLGdCQUNBLG1CQUZBLFVwQ2crV0EsQ29DeDlXQSxnREFDRSxZcEMwOVdGLENvQ3Q5V0Esc0RBQ0UsY3BDdzlXRixDb0NoOVdBLDJGQUNFLGtCcENzOVdGLENvQzU0V00sZ0NBbEdOLGVBRUEsZ0JBQ0EsbUJBRkEsVXBDby9XQSxDb0M1K1dBLDhDQUNFLFlwQzgrV0YsQ29DMStXQSxvREFDRSxjcEM0K1dGLENvQ3ArV0EsdUZBQ0UsZ0JwQzArV0YsQ29DNTVXTSxtQ0F0R04sZUFFQSxnQkFDQSxtQkFGQSxVcEN3Z1hBLENvQ2hnWEEsaURBQ0UsWXBDa2dYRixDb0M5L1dBLHVEQUNFLGNwQ2dnWEYsQ29DeC9XQSw2RkFDRSxtQnBDOC9XRixDQUNGLENDOXVYUSx5Q21DaVRBLGdDQTFGTixlQUVBLGdCQUNBLG1CQUZBLFVwQzZoWEEsQ29DcmhYQSw4Q0FDRSxZcEN1aFhGLENvQ25oWEEsb0RBQ0UsY3BDcWhYRixDb0M3Z1hBLHdGQUNFLGlCcENtaFhGLENvQzc4V00saUNBOUZOLGVBRUEsZ0JBQ0EsbUJBRkEsVXBDaWpYQSxDb0N6aVhBLCtDQUNFLFlwQzJpWEYsQ29DdmlYQSxxREFDRSxjcEN5aVhGLENvQ2ppWEEsMEZBQ0Usa0JwQ3VpWEYsQ29DNzlXTSwrQkFsR04sZUFFQSxnQkFDQSxtQkFGQSxVcENxa1hBLENvQzdqWEEsNkNBQ0UsWXBDK2pYRixDb0MzalhBLG1EQUNFLGNwQzZqWEYsQ29DcmpYQSxzRkFDRSxnQnBDMmpYRixDb0M3K1dNLGtDQXRHTixlQUVBLGdCQUNBLG1CQUZBLFVwQ3lsWEEsQ29DamxYQSxnREFDRSxZcENtbFhGLENvQy9rWEEsc0RBQ0UsY3BDaWxYRixDb0N6a1hBLDRGQUNFLG1CcEMra1hGLENBQ0YsQ0MvelhRLHlDbUN3VUEsaUNBaEZOLGdCQUZBLFlBSUEsaUJBSEEsZ0JBSUEsZ0JBTkEsbUJBSUEsVXBDZ2xYQSxDb0Mza1hBLDhMQUlFLGdCQUNBLGNwQzBrWEYsQ29DdmtYQSwrQ0FDRSxZcEN5a1hGLENBQ0YsQ0NqMVhRLHlDbUN3VUEsZ0NBaEZOLGdCQUZBLFlBSUEsaUJBSEEsZ0JBSUEsZ0JBTkEsbUJBSUEsVXBDa21YQSxDb0M3bFhBLDBMQUlFLGdCQUNBLGNwQzRsWEYsQ29DemxYQSw4Q0FDRSxZcEMybFhGLENBQ0YsQ0VqNVhFLG9CQUdFLGtCQUZBLGVBQ0EsVUZvNVhKLENFajVYSSxrQ0FFRSxpQ0FEQSxpQkZvNVhOLENFaDVYSSx5QkFDRSxpQkZrNVhOLENFNzRYRSxnQkFyRkEsbUNvQ3lxQjBCLENwQzlxQjFCLFNBQ0EsT0FKQSxlQUVBLFFBREEsTUFJQSxZRmsvWEYsQ0VyNVhFLHdCQXhGQSxpQ0FIQSxhQUVBLGVGOC9YRixDRXI2WEUsUUFoRkEsOERBT0Esd0JvQ09NLENwQ1ROLHFCb0N1cEJjLENwQ3RwQmQsaUJvQ2tCYyxDcEM4RFosaUJBREEsa0JBbEZGLFlvQ2lCZSxDcEMrRGIsa0JBQ0EsVUF0RkYsWUZ1L1hGLENVdDNYRSwrQkFDRSxTVnczWEosQ0MvNFhRLHlDQ3pCTixRQXRFRSxZRmsvWEYsQ0FDRixDRS8rWEUsZ0JBQ0UsV0ZpL1hKLENFNytYRSxvQkFDRSxlRisrWEosQ0MxNVhRLHlDQ3pCTixRQTdDRSxlb0N6Q1csQ3BDd0NYLFdGcytYRixDQUNGLENFOTZYSSxpQkFDRSxTRmc3WE4sQ0NuNlhRLHlDQ1RKLGFBN0RBLGVvQ3pDVyxDcEN3Q1gsU0YrK1hGLENFaDdYRSxjQTlEQSxlb0N6Q1csQ3BDd0NYLFNGcS9YRixDRXI3WEUsY0EvREEsZW9DekNXLENwQ3dDWCxTRjIvWEYsQ0FYRixDRTc2WEksYUFqREYsU0FDQSxnQkFWQSxTQUtBLFlBSkEsT0FNQSxjQUhBLGVBRUEsZ0JBUEEsUUFEQSxNQUtBLFVGNi9YRixDQ2w4WFEsK0NDekJOLFFBNUJBLFNBQ0EsZ0JBVkEsU0FLQSxZQUpBLE9BTUEsY0FIQSxlQUVBLGdCQVBBLFFBREEsTUFLQSxVRjJnWUEsQ0FDRixDRTc4WEksd0JBQ0UsY0YrOFhOLEN1RDluWUUsMEJBSEUsaUJ2RDJvWUosQ3VEeG9ZRSxRQUdFLHdCQURBLFN2RHNvWUosQ3VEbG9ZRSxpQkFDRSxlQUVBLFdBREEsU3ZEc29ZSixDdURub1lJLDJCQUNFLEt2RHFvWU4sQ3VEbG9ZSSw4QkFDRSxRdkRvb1lOLEN1RGhvWUUsb0JBR0UsVUFGQSxrQkFDQSxVdkRvb1lKLEN1RGpvWUksaUNBQ0UsUXZEbW9ZTixDcUNqb1lFLFdBUUksbUJBTkYsa0JDZ0RJLENEL0NKLGFDZ0RJLENEN0NGLGFBQ0EsMkJBTkYsYXJDeW9ZSixDcUM1bllJLHNCQUNFLGtCQzh3QmtCLENEN3dCbEIsbUJyQzhuWU4sQ3FDem5ZSSxpQ0FFRSxZckM0bllOLENxQ3puWUksaUJBQ0UsZ0JyQzRuWU4sQ3FDOW1ZRSxpQkFDRSxxQkFFQSxlQzh1QndCLENEL3VCeEIscUJyQ2tuWUosQ3dEemtZRSxTQW5GRSxtQkFIQSxhQUNBLGlCQUNBLDhCQU9GLGF4RCtwWUYsQ3dEN3BZRSxxQkFFRSx3QnhEK3BZSixDd0RwcFlFLGVBRUUsa0JBREEsZXhEdXBZSixDd0RscFlFLDRCQUVFLGVBREEsVXhEcXBZSixDd0RqcFlFLHNCQUNFLFV4RG1wWUosQ3dEem9ZSSwrQ0FFRSxjQUNBLGN4RDJvWU4sQ0M1aVlRLHlDdUQxRE4sU0F0QkUsZ0J4RGdvWUYsQ3dEOW5ZRSx1QkFDRSxjQUNBLGlCeERnb1lKLEN3RDduWUUsd0JBQ0UsY0FDQSxnQnhEK25ZSixDQUNGLENDempZUSwrQ3VEN0NBLDRCQXhESixjeERrcVlGLEN3RC9wWUUscUZBRUUsY0FDQSxjeERpcVlKLENBQ0YsQ0Nua1lRLCtDdUQ3Q0EsMkJBeERKLGN4RDRxWUYsQ3dEenFZRSxtRkFFRSxjQUNBLGN4RDJxWUosQ0FDRixDd0QvbVlJLGVBQ0UsY0FDQSx5QnhEa25ZTixDd0QvbVlJLDZCQUVFLGF4RGtuWU4sQ3lEandZRSxZQUNFLG9CekRvd1lKLEN5RGp3WUUsYUFDRSxxQnpEb3dZSixDeURqd1lFLGNBQ0UsY0FFQSxpQkFEQSxpQnpEcXdZSixDVS9tWUUsaUNBR0UsWUFEQSxjQUlFLGFBQ0EsT1YrbVlOLENVM21ZRSxnQkFDRSxVVjZtWUosQzBEeHRZSSxZQ25CRiwwQjNEK3VZRixDMEQ1dFlJLGFDbkJGLHdCM0RtdllGLEMwRGh1WUksY0NuQkYsc0IzRHV2WUYsQzBEcHVZSSxlQ25CRiw2QjNEMnZZRixDMER4dVlJLGNDbkJGLDRCM0QrdllGLEMwRG51WVEsK0JDNUJOLDBCM0Rtd1lGLEMwRHZ1WVEsZ0NDNUJOLHdCM0R1d1lGLEMwRDN1WVEsaUNDNUJOLHNCM0Qyd1lGLEMwRHR1WUksV0NwQ0Ysc0IzRDh3WUYsQzBEdHVZSSxnQkN4QkYscUIzRGt3WUYsQzBEOXVZSSxjQ3BDRixvQjNEc3hZRixDMEQ5dVlJLG1CQ3hCRixtQjNEMHdZRixDMER0dllJLGNDcENGLGtCM0Q4eFlGLEMwRHR2WUksbUJDeEJGLGlCM0RreFlGLEMwRDl2WUksZUNwQ0YsbUIzRHN5WUYsQzBEOXZZSSxvQkN4QkYsa0IzRDB4WUYsQzBENXZZRSxxQkFFRSxxQkNoREYsa0JBUlEsQ0FPUixzQjNEaXpZRixDMEQxdllNLGVDaENKLE8zRDh4WUYsQzBEOXZZTSxlQ2hDSixPM0RreVlGLEMwRGx3WU0sZUNoQ0osTzNEc3lZRixDMER0d1lNLGVDaENKLE8zRDB5WUYsQzBEMXdZTSxlQ2hDSixPM0Q4eVlGLEMwRDl3WU0sZUNoQ0osTzNEa3pZRixDQzdzWVEseUN5RHJFRixnQkNoQ0osTzNEdXpZQSxDMER2eFlJLGdCQ2hDSixPM0QyellBLEMwRDN4WUksZ0JDaENKLE8zRCt6WUEsQzBEL3hZSSxnQkNoQ0osTzNEbTBZQSxDMERueVlJLGdCQ2hDSixPM0R1MFlBLEMwRHZ5WUksZ0JDaENKLE8zRDIwWUEsQ0FDRixDQ3Z1WVEseUN5RHJFRixlQ2hDSixPM0RnMVlBLEMwRGh6WUksZUNoQ0osTzNEbzFZQSxDMERwellJLGVDaENKLE8zRHcxWUEsQzBEeHpZSSxlQ2hDSixPM0Q0MVlBLEMwRDV6WUksZUNoQ0osTzNEZzJZQSxDMERoMFlJLGVDaENKLE8zRG8yWUEsQ0FDRixDMERsNllFLGdCQ1lBLFkzRHk1WUYsQzBEajZZRSxpQkFDRSxhMURvNllKLEMwRGo2WUUsaUJBQ0UsYTFEbzZZSixDMERqNllFLG1CQUNFLGExRG82WUosQzBEaDZZSSxjQ3NERixrQjNEODJZRixDMERwNllJLHNCQ3NERiwwQjNEazNZRixDMER4NllJLGlCQ3NERixxQjNEczNZRixDMEQ1NllJLHlCQ3NERiw2QjNEMDNZRixDQy94WVEseUN5RHZJRSx1QkNmUixZM0QwN1lBLEMwRHY2WVEsd0JBQ0UsYTFEMDZZVixDMER2NllRLHdCQUNFLGExRDA2WVYsQzBEdjZZUSwwQkFDRSxhMUQwNllWLEMwRHQ2WVUscUJDMkJWLGtCM0QrNFlBLEMwRDE2WVUsNkJDMkJWLDBCM0RtNVlBLEMwRDk2WVUsd0JDMkJWLHFCM0R1NVlBLEMwRGw3WVUsZ0NDMkJWLDZCM0QyNVlBLENBQ0YsQ0NqMFlRLHlDeUR2SUUsc0JDZlIsWTNEMjlZQSxDMER4OFlRLHVCQUNFLGExRDI4WVYsQzBEeDhZUSx1QkFDRSxhMUQyOFlWLEMwRHg4WVEseUJBQ0UsYTFEMjhZVixDMER2OFlVLG9CQzJCVixrQjNEZzdZQSxDMEQzOFlVLDRCQzJCViwwQjNEbzdZQSxDMEQvOFlVLHVCQzJCVixxQjNEdzdZQSxDMERuOVlVLCtCQzJCViw2QjNENDdZQSxDQUNGLEM0RHI5WUUsTUFDRSxzQjVEdTlZSixDNERwOVlFLFdBQ0UsaUI1RHU5WUosQzREcjlZRSxTQUNFLGtCNUR3OVlKLENDNzJZUSwrQzJENUZKLHFCQTdCQSxzQjVEMitZRixDQUNGLEM0RC8vWUksOERBb0RBLHFCQW5ERSxzQjVEbWdaSixDQUNGLENDejNZUSx5QzJEckdGLGlCQTVCRixzQjVEKy9ZRixDQUNGLENDMTNZUSx5QzJEdEdGLGlCQXBFRixzQjVEeWlaRixDQUNGLENDcjRZUSxvRTJENUZKLHNCQTdCQSxzQjVEbWdaRixDQUNGLEM0RHZoWkkscUVBb0RBLHNCQW5ERSxzQjVEMmhaSixDQUNGLENDajVZUSx5QzJEckdGLGdCQTVCRixzQjVEdWhaRixDQUNGLENDbDVZUSx5QzJEdEdGLGdCQXBFRixzQjVEaWtaRixDQUNGLENDNzVZUSxvRTJENUZKLHFCQTdCQSxzQjVEMmhaRixDQUNGLEM0RC9pWkkscUVBb0RBLHFCQW5ERSxzQjVEbWpaSixDQUNGLEM0RDEvWUUsNEJsRDJIQSw2QkFFQSxtQkFMQSxxQkFFQSwwQkFEQSxvQkFIQSw0QkFNQSw2QkFMQSxtQlYrNFlGLEM0RC8vWUksMkNsRG9JRixvQkFGQSxzQkFDQSwyQkFIQSwwQkFLQSw2QkFKQSxvQlZ1NFlGLEM0RGpnWkUsdUNBRUUsdUI1RG9nWkosQ0M5N1lRLDBDMkR4RU4sdUNBS0ksdUI1RHNnWkosQ0FDRixDQ3A4WVEseUMyRHhFTix1Q0FTSSxzQjVEd2daSixDQUNGLEM0RHJnWkUsdUNBRUUsc0I1RHdnWkosQ0MvOFlRLDBDMkQzRE4sdUNBS0ksc0I1RDBnWkosQ0FDRixDQ3I5WVEseUMyRDNETix1Q0FTSSx1QjVENGdaSixDQUNGLEM0RHhnWkUsb0JBQ0UsWTVEMmdaSixDNER6Z1pFLG9CQUNFLGE1RDRnWkosQzREMWdaRSw4Q0FDRSxvQkFDRSx1QjVENmdaSixDNEQzZ1pFLG9CQUNFLHNCNUQ4Z1pKLENBQ0YsQzREMWdaRSxhQUNFLFk1RDRnWkosQzREMWdaRSwyREFDRSxhQUNFLHVCNUQ2Z1pKLEM0RDNnWkUsYUFDRSxzQjVEOGdaSixDQUNGLEM0RDFnWkUsaUJBQ0UsWTVENGdaSixDNEQxZ1pFLDJCQUNFLGE1RDZnWkosQzREM2daRSwyQkFDRSxZNUQ4Z1pKLEM2RDdyWkEsUUFJSSxnQkFGQSxlQUNBLGdCQUZBLDhCN0Rtc1pKLEM2RC9yWkksY0FDSSxrQjdEaXNaUixDNkQ3clpBLFlBQ0ksd0I3RGdzWkosQzhEM3NaQSxZQUNJLGFBQ0Esc0JBQ0EsWTlEOHNaSixDOEQ1c1pBLDBCQUNJLGE5RCtzWkosQzhENXNaQSxjQUNJLFlBQ0EsYzlEK3NaSixDOEQ1c1pBLEdBQ0ksVTlEK3NaSixDOEQ1c1pBLGNBRUkseUJBREEsY0FHQSxrQkFEQSxlOURndFpKLEM4RDVzWkEsa0JBQ0kseUJBQ0EseUJBQ0EsaUJ4QnNFWSxDd0JyRVosY0FDQSxtQkFDQSxtQjlEK3NaSixDOEQzc1pJLHNCQUNJLGE5RDhzWlIsQzhEM3NaSSxnQ0FDSSxnQkFDQSxVOUQ2c1pSLEM4RHpzWkEsYUFFSSxpQjlEMnNaSixDOER4c1pBLFdBRUksY0FEQSxlOUQ0c1pKLEM4RHhzWkEsb0JBQ0ksa0I5RDJzWkosQytEbndaQSxNQUNJLGEvRHN3WkosQytEbndaQSxLQUNJLGEvRHN3WkosQ2dFM3daQSxHQUNJLGVoRTh3WkosQ2dFendaQSxRQUNJLGVoRTR3WkosQ2lFaHhaQSxzQ0FDRSxzQmpFb3haRixDaUVseFpBLDJCQUNFLFNqRXF4WkYsQ2lFL3daQSxxQkFDRSx1RGpFa3haRixDaUVoeFpBLHFCQUNFLCtCakVteFpGLENpRWp4WkEsNkJBQ0UsR0FDRSxrQmpFb3haRixDaUVseFpBLElBQ0Usb0JqRW94WkYsQ2lFbHhaQSxHQUNFLGtCakVveFpGLENBQ0YsQ2lFN3haQSxxQkFDRSxHQUNFLGtCakVveFpGLENpRWx4WkEsSUFDRSxvQmpFb3haRixDaUVseFpBLEdBQ0Usa0JqRW94WkYsQ0FDRixDa0U5eVpDLHNDQWVDLDRCQURBLHNCQUVBLGlDQUNBLHFCQU5BLGNBTkEsYUFDQSxXQUlBLGVBUEEsT0FVQSxnQkFKQSxtQkFGQSxnQkFDQSxnQkFQQSxrQkFXQSxnQkFWQSxTQUVBLFlsRTZ6WkYsQ2tFMXlaQyx1Q0FTQyw2QkFDQSxTQU5BLFdBRUEsY0FMQSxjQUlBLGdCQUZBLHNCQUlBLG1CQUNBLG1CQU5BLFVsRW96WkYsQ2tFMXlaRSw0RkFJQyx5QkFGQSxXQUNBLG9CbEU0eVpILENrRXZ5WkMsMkNBQ0MsYWxFeXlaRixDbUVyMVpBLGFBQ0UsZW5FdzFaRixDbUUzMFpBLE9BQ0UsdUNuRTgwWkYsQ21FMzBaQSxRQUNFLGtCN0JtRU0sQzZCakVOLDBCQURBLFVuRSswWkYsQ21FNTBaRSw4QkFDRSxhbkU4MFpKLENtRTMwWkUsc0JBQ0Usa0JuRTYwWkosQ21FMTBaRSxhQUNFLGtCbkU0MFpKLENDM3JaUSwrQ2tFN0lKLGlCQUNFLGtCbkUyMFpKLENBQ0YsQ21FdjBaQSxZQUNFLGdCbkUwMFpGLENtRXYwWkEsY0FDRSxhakR3RWtCLENpRHRFbEIsa0JBREEsa0JuRTIwWkYsQ21FdjBaQSxjQUNFLGFBQ0Esa0JuRTAwWkYsQ21FeDBaRSxrQkFFRSxjQURBLGNuRTIwWkosQ21FdjBaRSxnQkFFRSxxQkFEQSxnQm5FMDBaSixDbUVyMFpBLGVBQ0Usa0JqRG1Ea0IsQ2lEakRsQiwwQjdCU2EsQzZCUmIsZ0JBRkEsY25FMDBaRixDbUV0MFpFLHNDQUVFLGVuRXcwWkosQ21FcjBaRSxpQkFDRSxVbkV1MFpKLENtRXIwWkksdUJBQ0UsYW5FdTBaTixDbUVuMFpFLG9DQUNFLHdCbkVxMFpKLENDM3VaUSwrQ2tFM0ZOLG9DQUlJLHNCbkVzMFpKLENtRTcxWkYsZUE0QkksaUJuRXMwWkYsQ0FKRixDb0VoNlpBLG1CQUNFLGtCOUJvRk0sQzhCbEZOLDBCQURBLGdCcEV5NlpGLENvRXQ2WkUsMkNBQ0UsMEI5QndFVyxDOEJ2RVgscUJwRXc2WkosQ29FdDZaSSwrQ0FDRSxlcEV3NlpOLENvRXA2WkUsaUNBQ0UsYUFDQSw2QnBFczZaSixDb0VsNlpFLDhCQUNFLGdCQUNBLFVwRW82WkosQ29FbDZaSSwrQ0FDRSxhOUJpREMsQzhCaERELGdCcEVvNlpOLENvRWw2Wk0scURBQ0UseUJwRW82WlIsQ29FLzVaRSx3QkFDRSxlcEVpNlpKLENvRTk1WkUsb0NBR0UsbUJBQ0EsNENBSEEsV0FDQSxTcEVrNlpKLENvRTc1WkUseUJBQ0Usa0JwRSs1WkosQ29FNzVaSSxxQ0FDRSxhcEUrNVpOLENvRTU1WkkseUNBQ0UsY3BFODVaTixDb0UzNVpJLDJCQUNFLGNBQ0EsZ0JBQ0EsNkJwRTY1Wk4sQ29FMzVaTSxpQ0FDRSxhcEU2NVpSLENvRTE1Wk0sd0NBVEYsMkJBVUksYXBFNjVaTixDQUNGLENvRTE1WkksbURBQ0UsYTlCY0UsQzhCYkYsY3BFNDVaTixDb0UxNVpNLHlEQUVFLHlCQURBLGFwRTY1WlIsQ29FejVaTSx3Q0FURixtREFXSSxpQkFEQSxVcEU2NVpOLENvRTcrWkYsbUJBdUZJLGNwRTI1WkYsQ29FejVaRSxrQ0FDRSxrQkFDQSxVcEUyNVpKLENvRXo1WkksdUNBR0Usc0NBQ0Esa0JBQ0Esc0JBSkEsa0JBQ0EsUUFJQSxRQUNBLDBCcEUyNVpOLENvRXo1Wk0sa0RBQ0UsaUJwRTI1WlIsQ0FwQkYsQ29FaDRaQSwwQkFDRSxHQUNFLFNwRXc1WkYsQ29FcjVaQSxHQUNFLFNwRXU1WkYsQ0FDRixDb0U5NVpBLGtCQUNFLEdBQ0UsU3BFdzVaRixDb0VyNVpBLEdBQ0UsU3BFdTVaRixDQUNGLENvRXA1WkEsNkJBQ0UsR0FDRSwyQnBFczVaRixDb0VuNVpBLEdBQ0UsdUJwRXE1WkYsQ0FDRixDb0U1NVpBLHFCQUNFLEdBQ0UsMkJwRXM1WkYsQ29FbjVaQSxHQUNFLHVCcEVxNVpGLENBQ0YsQ0NwMlpRLCtDbUU3Q04seUJBRUUsc0RBREEsMERBU0UsZ0VBUEYsVXBFcTVaRixDQUNGLENvRXI0WkEsZUFHRSxlQURBLGVwRXc0WkYsQ29FcDRaQSxxREFMRSxlcEU4NFpGLENvRXA0WkEsbUJBSUUsY0FGQSxlQURBLGdCQUVBLHdCcEV3NFpGLENvRXA0WkEsZUFDRSxjQUVBLFlBRUEsb0JBREEsaUJBRkEsVXBFMDRaRixDb0VwNFpBLFNBQ0UsY3BFdTRaRixDb0VwNFpBLE1BQ0Usd0JwRXU0WkYsQ29FOTNaQSxtQkFFRSw2QkFEQSxnQkFFQSxlcEVpNFpGLENvRTkzWkEsTUFHRSwyQkFEQSxtQkFEQSxnQnBFbTRaRixDb0U5M1pBLG9DQUNFLE1BRUUsaUJBREEsZXBFazRaRixDb0U3M1pBLFNBQ0Usa0JBQ0Esa0JwRWc0WkYsQ0FDRixDb0U3M1pBLG9DQUNFLFVBQ0UsdUJwRSszWkYsQ0FDRixDcUU3bGFBLGVBQ0ksK0IvQmdGVyxDK0IvRVgsdUVBQ0EsaUJyRStsYUosQ3FFNWxhQSxhQUNJLG1CckUrbGFKLENxRTVsYUEsaUJDcUNJLGlCQURBLGlCdEU2amFKLENzRWprYUksK0RBRUUsV0FEQSxVdEVva2FOLENxRWptYUEsZ0JBQ0ksaUJyRW9tYUosQ3FFam1hQSxZQUNJLGVyRW9tYUosQ3FFam1hQSxzQkFDSSxhQUNBLHNCckVvbWFKLENxRWptYUEsMkJBQ0ksU3JFb21hSixDcUVobWFBLG9EQUNJLHdCckVtbWFKLENxRWhtYUEsYUFFSSxjQURBLGNyRW9tYUosQ3FFaG1hQSxXQUdJLGlCckVtbWFKLENxRS9sYUEsdUJBTkksZUFDQSxlckU2bWFKLENxRXhtYUEsWUFLSSxhL0JrQ0ksQytCakNKLHNCQUpBLGdCQUVBLGtCckVvbWFKLENxRWptYUksY0FDSSxhL0IrQkEsQytCOUJBLHlCckVtbWFSLENxRWptYVEsb0JBQ0ksYXJFbW1hWixDcUU3bGFBLGVBQ0ksbUJBRUEsZ0JBREEsWUFFQSxzQnJFZ21hSixDcUU3bGFBLHFCQUNJLGVBQ0EsaUJyRWdtYUosQ3FFNWxhQSxxQ0FDSSxvQkFDSSxjckUrbGFOLENxRTVsYUUsWUFDSSwwREFDQSwyQkFDQSwyQnJFK2xhTixDQUNGLEN1RXZyYUEsNkJEK0NJLGlCQURBLGlCdEU2b2FKLENzRWpwYUksdUZBRUUsV0FEQSxVdEVvcGFOLEN1RTFyYUksNEJBRUksaUJBREEsZXZFOHJhUixDdUUxcmFJLHdHQUtJLG9CdkU0cmFSLEN1RXpyYUksK0RBR0ksY3ZFMnJhUixDdUV4cmFJLHNCQUNJLGV2RTByYVIsQ3VFdnJhSSx5Q0FDSSxjQUVBLGdCQUNBLGdCQUZBLGV2RTJyYVIsQ3VFdHJhSSxtQ0FDSSxldkV3cmFSLEN1RXJyYUksa0NBQ0ksYXZFdXJhUixDdUVwcmFJLCtCQUlJLHFCQUhBLGFBQ0EscUJBQ0EsMkJBRUEsZXZFc3JhUixDdUVucmFJLDhCQUdJLHlCQUZBLG1CQUNBLGlCdkVzcmFSLEN1RWxyYUkscUNBQ0ksY0FFQSxhQURBLGN2RXFyYVIsQ3VFanJhSSwyQ0FDSSx3QnZFbXJhUixDdUVocmFJLDhCQUNJLGtCdkVrcmFSLEN1RS9xYUksa0NBQ0ksWXZFaXJhUixDdUU5cWFJLCtCQUdJLG9CQUZBLGNBQ0EsZ0J2RWlyYVIsQ3VFN3FhSSxzQkFDSSxVQUVBLGtCQURBLFl2RWdyYVIsQ3VFNXFhSSx1QkFDSSxrQkFDQSxXdkU4cWFSLEN1RTNxYUksbUNBQ0ksV3ZFNnFhUixDdUUxcWFJLHdCQUNJLFd2RTRxYVIsQ3VFenFhSSx1QkFDSSxZdkUycWFSLEN1RXhxYUksNEJBQ0ksY0FDQSxldkUwcWFSLEN1RXZxYUkseUJBQ0ksa0JBQ0EscUJ2RXlxYVIsQ3VFdHFhSSwyREFNSSxtQkFKQSxhQUNBLHFCQUNBLDJCQUdBLGdCQUZBLGlCdkUwcWFSLEN1RXJxYUksK0JBQ0ksWXZFdXFhUixDdUVwcWFJLG9CQUVJLFdBQ0EsU3ZFcXFhUixDdUVscWFJLG9DQUlJLG1CQUZBLGFBQ0EscUJBRUEsa0JBSkEsZXZFd3FhUixDdUVqcWFJLGdGQUdJLGtCQURBLGlCdkVvcWFSLEN1RWhxYUksMENBRUksa0JBREEsUXZFbXFhUixDdUU5cGFBLDBDQUVRLDJCQUlJLHVCQUhBLGFBQ0Esd0JBR0EsYUFGQSx5QkFHQSxlQUNBLGN2RWdxYVYsQ3VFMXBhVSx5RkFDSSxpQnZFK3BhZCxDdUU1cGFVLGdDQUNJLGN2RThwYWQsQ3VFMXBhTSx1QkFDSSxrQkFDQSxhQUNBLGV2RTRwYVYsQ3VFenBhTSxvQ0FDSSxtQkFDQSxldkUycGFWLEN1RXhwYU0sc0JBRUksZ0JBQ0EsbUJBRkEsY3ZFNHBhVixDdUV2cGFNLGlDQUNJLGtCdkV5cGFWLENBQ0YsQ3VFcnBhQSwwQ0FDSSxrQkFDSSwrQnZFdXBhTixDQUNGLEN1RXBwYUEseUNBQ0ksWUFLSSx1QkFKQSxhQUNBLHdCQUVBLHNCQUVBLGFBSEEsMkJBSUEsZUFDQSxjdkVzcGFOLEN1RW5wYUUsdUJBQ0kseUJ2RXNwYU4sQ0FDRixDdUVucGFBLHlDQUVRLCtCQUNJLGtCdkVvcGFWLEN1RWxwYVUscUNBQ0ksY0FDQSxldkVvcGFkLEN1RWhwYU0saURBQ0ksYXZFa3BhVixDQUNGLEN3RS8zYUEsNkJBQ0ksZ0J4RWk0YUosQ3dFOTNhQSwyQkFHSSx3QmxDaUZJLENrQzdFSixpQmxDdUZZLENrQzFGWixhbENxRUcsQ2tDeEVILGNBUUEsa0JBSkEsZ0JBR0EsZUFOQSxpQnhFdTRhSixDd0U3M2FBLGNBQ0ksZXhFZzRhSixDd0U3M2FBLGFBQ0ksNkJBRUEsYWxDZ0VJLENrQ2pFSixleEVpNGFKLEN3RTczYUEsV0FPSSxpQmxDaUVZLENrQ3JFWixhbEMyREksQ2tDN0RKLGNBR0EsaUJBQ0EsZ0JBSEEsa0JBSUEsK0J4RWk0YUosQ3dFLzNhSSxzQkFDSSxjeEVpNGFSLEN3RTczYUEsaUJBSUksd0JsQzZDSSxDa0MzQ0osaUJsQ3FEWSxDa0MxRFosZUFFQSxnQkFJQSxrQkFGQSxTeEVpNGFKLEN3RTkzYUksb0JBRUksaUNBREEsWXhFaTRhUixDd0U5M2FJLCtCQUVJLG1CQURBLG1CeEVpNGFSLEN5RXI3YUEsZ0JIK0NJLGlCQURBLGlCdEU0NGFKLENzRWg1YUksNkRBRUUsV0FEQSxVdEVtNWFOLEN5RTE3YUEsZUFDSSxlekU2N2FKLEN5RTE3YUEsWUFJSSx5QkFIQSwwQkFDQSxtQkFDQSxnQnpFODdhSixDeUU1N2FJLG9CQUNJLGtCQUNBLGFuQ3dFQSxDbUN2RUEsY3pFODdhUixDeUUxN2FBLHVCQUtJLCtCQUpBLFlBRUEsa0JBR0Esa0JBSkEsV0FFQSxXekUrN2FKLEN5RTU3YUksNEJBTUksV0FGQSxlQUNBLGdCQUhBLHVCQUNBLGVBRkEscUJ6RW04YVIsQ3lFMTdhQSxjQUtJLCtCQUpBLFlBRUEsa0JBREEsV0FFQSxXekU4N2FKLEN5RTE3YUEsMkJBQ0ksZXpFNjdhSixDeUV0N2FJLG1DQUNJLG9DQUVBLFlBREEsYXpFMDdhUixDeUVyN2FBLDBCQUNJLGdCekV3N2FKLEN5RXI3YUEsV0FFSSxhdkR1RGdCLEN1RHhEaEIsaUJ6RXk3YUosQzBFci9hQSxhQUVJLGUxRXUvYUosQzBFci9hSSx5QkFDSSx1QjFFdS9hUixDMEVwL2FJLCtCQUNJLHVCMUVzL2FSLEMwRXAvYUksdUJBQ0ksc0JBQ0EsV0FDQSxXMUVzL2FSLEMwRW4vYVEsaUNBR0ksc0VBQ0EsMkVBRUEsa0IxRW0vYVosQzBFbC9hWSxpREFDSSx1QkFDQSxlMUVvL2FoQixDMEVsL2FZLHVEQUtJLFlBSkEsWUFHQSxlQUZBLGtCQUNBLE8xRXMvYWhCLEMwRS8rYUksMEJBQ0ksbUJBQ0EsbUIxRWkvYVIsQzBFOSthSSxpQ0FDSSw0QjFFZy9hUixDMEU3K2FJLDBCQUVJLFNBREEsYTFFZy9hUixDMEU1K2FJLDRCQUVJLGVBREEsbUIxRSsrYVIsQzBFMythSSx1QkFDSSxXQUNBLGlCMUU2K2FSLEMwRTErYUksd0JBQ0ksWUFDQSxrQjFFNCthUixDMEV6K2FJLCtDQUVJLHdCcENJSyxDb0NGTCxrQkFEQSxrQ0FHQSxjQURBLGdCQUVBLGNBTkEsaUIxRWkvYVIsQzBFeithSSwyQkFDSSxrQjFFMithUixDMEUxK2FRLDZCQUNJLGlCMUU0K2FaLEMwRXIrYUksc0RBSlEsV0FDQSx1QzFFZy9hWixDMEV6K2FJLGdDQUNJLGdCQUNBLGtCQUNBLGdCMUUyK2FSLEMwRXorYVEsK0NBQ0ksd0IxRTIrYVosQzBFeithUSxpREFDSSx3QjFFMithWixDMEV6K2FRLGtEQUNJLHdCMUUyK2FaLEMwRXYrYUksb0NBR0ksZUFGQSxpQkFDQSxpQjFFMCthUixDMEV0K2FJLHdDQUNJLGVBQ0EsaUJBQ0EsaUIxRXcrYVIsQzBFcithSSwwQkFDSSxjQUNBLGMxRXUrYVIsQzBFcCthSSxzQkFDSSx3QjFFMithUixDMEVuK2FJLDZDQVBJLFdBR0EsZ0JBREEsZ0JBRUEsVUFIQSxpQjFFaS9hUixDMEUzK2FJLHVCQUNJLHdCMUUwK2FSLEMwRWwrYUksb0JBQ0ksd0JBakpLLENBa0pMLFdBR0EsZ0JBREEsZ0JBRUEsVUFIQSxpQjFFdSthUixDMEVqK2FJLG1CQUlJLGtCcENqRkssQ29DOEVMLGdCQUNBLHdCQUNBLFExRW8rYVIsQzBFbCthUSxzQkFFSSx5QkFEQSxpQjFFcSthWixDMEVsK2FRLDRDQUNJLFcxRW8rYVosQzBFaCthSSxtQkFDSSxVcENwRkksQ29DcUZKLGlCMUVrK2FSLEMwRS85YUksb0JBQ0ksYXBDbEdELENvQ3VHQyxxQkFIQSxpQkFFQSxjQURBLGlCQUZBLHFCMUVxK2FSLEMwRTk5YUkseUJmL0hGLG9CQVJRLENld0lGLGFBQ0Esc0JmbElOLHdCM0RvbWJGLEMwRTk5YUkscUNBQ0ksb0IxRWcrYVIsQzBFNzlhSSxzQ0FDSSxnQjFFKzlhUixDMEU1OWFJLCtCQUlJLGUxRTI5YVIsQzBFMTlhUSx1Q0FJSSxZQURBLGdCMUUyOWFaLEMwRXg5YVEsbUNBR0ksV0FGQSxlMUUyOWFaLEMwRXI5YUksNEJBQ0ksVzFFdTlhUixDMEVwOWFBLG9DQUNJLGFBQ0ksYzFFdTlhTixDMEV0OWFNLHVCQUNJLFMxRXc5YVYsQzBFdDlhTSxvQkFFSSxrQkFDQSxlQUZBLGMxRTA5YVYsQ0FDRixDMEU3OGFBLDhJQUNJLHFEMUVvOWFKLEMwRXg4YUEsOEJBSkksY0FDQSxZQUZBLGdCQURBLDBCQURBLHNCMUVpK2FKLEMwRTE5YUEsa0JBTUksVzFFbzlhSixDMEVqOWFBLGdEQUVJLGNBQ0EsV0FGQSxnQkFJQSxnQkFEQSxtQjFFcTlhSixDMEVqOWFBLGdCQUVJLGVBREEsZTFFcTlhSixDMEVqOWFBLDRCQUNJLHVCMUVvOWFKLEMwRWo5YUEsa0NBQ0ksdUIxRW85YUosQzBFajlhQSwwQkFDSSxzQkFDQSxhQUNBLGExRW85YUosQzBFajlhQSxnQ0FDSSxzQkFDQSxxQkFDQSx1QjFFbzlhSixDMEVqOWFBLG9DQUNJLHNFQUNBLDJFQUNBLGtCMUVvOWFKLEMwRWo5YUEsb0RBQ0ksdUJBQ0EsZTFFbzlhSixDMEVqOWFBLDBEQVFJLGdCQUhBLG1CQUVBLFlBTkEsV0FLQSxlQUdBLFlBUEEsa0JBQ0EsUUFDQSxTMUV5OWFKLEMwRWo5YUEsbUNBQ0ksd0JBQ0EseUJBRUEsNEJBREEsZTFFcTlhSixDMEVqOWFBLHlDQUtJLG1CQUpBLFdBQ0EsY0FDQSxXQUdBLFdBRUEsbUJBREEsZTFFcTlhSixDMEVqOWFBLDBCQUNJLFcxRW85YUosQzBFajlhQSw2QkFHSSxjQURBLGVBREEsU0FHQSxtQjFFbzlhSixDMEVqOWFBLDRCQUlJLHdCQUNBLHFCQUdBLGlCQUxBLDJCMUV5OWFKLEMwRWo5YUEsK0JBR0ksV0FEQSxjMUVxOWFKLEMwRWo5YUEsa0NBSUkscUJBQ0EsbUJBSkEsbUJBS0EsYUFIQSxhQURBLFkxRXc5YUosQzBFajlhQSx5QkFJSSxtQkFFQSxXQUpBLHFCQUNBLFdBSUEsZUFOQSx3QkFPQSxhQUhBLGlCMUV1OWFKLEMwRWo5YUEsc0NBR0kscUJBREEsWUFFQSxrQkFIQSxTMUV1OWFKLEMwRWo5YUEsMEJBQ0ksV0FDQSxpQjFFbzlhSixDMEVqOWFBLDJCQUNJLFlBQ0Esa0IxRW85YUosQzBFajlhQSxxREFHSSxnREFLQSw0QkFGQSxzQkFEQSxjQURBLGdCQUdBLGVBTEEsaUIxRTA5YUosQzBFajlhQSw4QkFDSSxrQjFFbzlhSixDMEVqOWFBLGdDQUNJLGlCMUVvOWFKLEMwRTU4YUEsNERBSkksV0FDQSx1QzFFeTlhSixDMEVqOWFBLG1DQUNJLGdCQUNBLGtCQUNBLGdCMUVvOWFKLEMwRWo5YUEsa0RBQ0ksd0IxRW85YUosQzBFajlhQSxvREFDSSx3QjFFbzlhSixDMEVqOWFBLHFEQUNJLHdCMUVvOWFKLEMwRWo5YUEsNkJBQ0ksY0FDQSxjMUVvOWFKLEMwRWo5YUEseUJBQ0ksd0IxRXk5YUosQzBFajlhQSxtREFQSSxXQUdBLGdCQURBLGdCQUVBLFVBSEEsaUIxRWcrYUosQzBFMTlhQSwwQkFDSSx3QjFFeTlhSixDMEVqOWFBLHVCQUNJLHlCQUNBLFdBR0EsZ0JBREEsZ0JBRUEsVUFIQSxpQjFFdTlhSixDMEVqOWFBLHNCQUlJLG1CQUhBLGdCQUNBLHdCQUNBLFExRXE5YUosQzBFajlhQSx5QkFFSSx5QkFEQSxpQjFFcTlhSixDMEVqOWFBLCtDQUNJLFcxRW85YUosQzBFajlhQSxzQkFDSSxjQUlBLHVCQURBLGVBRkEsZ0JBSUEsb0JBSEEseUIxRXU5YUosQzBFajlhQSxxQ0FDSSwwQ0FDSSxvQjFFbzlhTixDQUNGLEMwRWo5YUEsY0FDSSxpQjFFbTlhSixDMEVoOWFBLHVCQUNJLFkxRW05YUosQzBFaDlhQSxvREFJSSxtQkFEQSxnQkFEQSxpQjFFbzlhSixDMEU5OGFBLGtEQUVJLG1CQURBLFdBR0EsV0FEQSxhQUlBLFdBREEsa0JBRUEsVUFIQSxZQUlBLFUxRWk5YUosQzBFOThhQSwwQ0FFSSxXQURBLFUxRWs5YUosQzBFOThhQSw2Q0FDSSxjQUNBLHVCQUNBLGMxRWk5YUosQzBFOThhQSw0Q0FDSSxrQjFFaTlhSixDMEU5OGFBLHFDQUNJLFUxRWk5YUosQzBFOThhQSxtQkFHSSxjQUNBLHVCQUhBLGVBQ0EsZ0JBR0Esa0IxRWk5YUosQzBFOThhQSx5QkFHSSxtQkFGQSxXQUNBLGNBR0EsV0FEQSxXQUdBLGdCQUNBLGtCQUZBLFcxRW05YUosQzBFOThhQSxlQUVJLHFCQUlBLFNBSEEsV0FJQSxhQUZBLE9BREEsa0JBSEEsVTFFdTlhSixDMEU5OGFBLG1CQUVJLFlBRUEsa0JBREEsZ0JBRkEsZTFFbzlhSixDMEU5OGFBLHVCQUNJLGNBS0EscUJBR0EsdUJBUEEsZUFFQSxnQkFDQSxlQUZBLGdCQUlBLHFCQUNBLHdCMUVrOWFKLEMwRTk4YUEsNEJBS0ksZ0JBSUEsd0JBREEsNEJBREEsZ0NBR0EsZ0RBTkEsY0FFQSxhQUxBLGtCQUNBLG1CQUNBLFUxRXc5YUosQzBFOThhQSxxQ0FDSSxtQ0FDSSxlQUNBLGlCQUNBLGUxRWk5YU4sQzBFNzhhRSxvREFDSSxhMUVnOWFOLEMwRTc4YUUsa0RBRUksbUJBREEsV0FHQSxXQURBLGFBRUEsY0FFQSxrQkFDQSxVQUZBLFdBR0EsVTFFZzlhTixDMEU1OGFFLDBDQUdJLFdBREEsZ0JBREEsVTFFaTlhTixDMEU1OGFFLG1CQUNJLGMxRSs4YU4sQ0FDRixDMEUzOGFBLG9DQUNJLHVFQUNJLFMxRTY4YU4sQzBFMThhRSx5QkFDSSxTMUU2OGFOLEMwRTE4YUUsNkJBRUksYUFEQSxVMUU4OGFOLEMwRTE4YUUsa0NBQ0ksVTFFNjhhTixDMEV6OGFFLHVCQUNJLGlCMUU0OGFOLEMwRXo4YUUseUJBQ0ksZUFDQSxZMUU0OGFOLENBQ0YsQzBFdjhhQSxvQ0FDSSx1QkFFSSxrQkFDQSxlQUZBLGMxRTI4YU4sQ0FDRixDMEV0OGFBLCtCQUVJLGFBREEsVTFFeThhSixDMEVyOGFBLHVFQUNJLGtDQUNBLHNDQUVBLHlDQURBLFUxRXk4YUosQzBFcjhhQSxhQUdJLGNBRkEsYUFDQSw2QjFFeThhSixDMEV0OGFJLGlCQUNJLGFBQ0EsYTFFdzhhUixDMEVyOGFJLCtCQUNJLDZCMUV1OGFSLEMwRXQ4YVEsbUNBQ0ksTzFFdzhhWixDMEVqOGFBLG9DQUNJLHVFQUNJLFkxRW84YU4sQzBFajhhRSx1RUFDSSxzQjFFbzhhTixDQUNGLEMwRWo4YUEsb0JBS0ksY0FGQSxXQUZBLGFBR0EsY0FFQSxrQkFKQSxTMUV1OGFKLEMwRWg3YUEsaUZBQ0ksYzFFazhhSixDMEUvN2FBLGdGQUNJLFkxRWs4YUosQzBFLzdhQSwrRUFDSSxjMUVrOGFKLEMwRS83YUEsZ0ZBQ0ksWTFFazhhSixDMEUvN2FBLHdDQUNJLHVEMUVrOGFKLEMwRS83YUEsbURBQ0ksa0UxRWs4YUosQzBFLzdhQSxzREFDSSwrQzFFazhhSixDMEUvN2FBLCtDQUNJLHdDMUVrOGFKLEMwRS83YUEsNENBQ0ksMEMxRWs4YUosQzBFLzdhQSw0REFDSSxnRUFDQSxxQjFFazhhSixDMEUzN2FBLDhDQUNJLDREQUNBLG1DMUU4N2FKLEMwRXY3YUEsNENBQ0ksOERBQ0EsbUMxRTA3YUosQzBFdjdhQSx3RUFDSSxnRTFFMDdhSixDMEVuN2FBLDhIQUNJLG1FMUUwN2FKLEMwRXY3YUEsMkRBQ0ksaUUxRTA3YUosQzBFdjdhQSw2Q0FDSSx1RDFFMDdhSixDMEV2N2FBLDZDQUNJLHdEMUUwN2FKLEMwRXY3YUEsdUNBQ0ksbUUxRTA3YUosQzBFdjdhQSw2QkFDSSx3RDFFMDdhSixDMEVuN2FBLDZDQUNJLHlFMUUwN2FKLEMwRXY3YUEsMENBQ0ksMkQxRTA3YUosQzBFbDdhQSxvS0FDSSw0REFDQSxxQjFFMDdhSixDMEV2N2FBLHVDQUNJLDZEMUUwN2FKLEMwRTk2YUEsMEVBQ0ksNERBQ0EsbUMxRXM3YUosQzBFLzZhQSx5REFDSSxtRDFFazdhSixDMEUvNmFBLHlDQUNJLHNEMUVrN2FKLEMwRTM2YUEsMkdBQ0ksaUUxRWs3YUosQzBFLzZhQSx5QkFNSSxvQkFEQSxhQURBLGExRWk3YUosQzBFNTZhQSw2QkFJSSxjQURBLGFBR0EsYUFEQSxjQUhBLFUxRW83YUosQzBFNTZhQSx3Q0FDSSxvQjFFKzZhSixDMEU1NmFBLHlDQUNJLGdCMUUrNmFKLEMwRTU2YUEsa0NBQ0ksZTFFKzZhSixDMEU1NmFBLDBDQUVJLFlBREEsZ0IxRWc3YUosQzBFNTZhQSxzQ0FFSSxXQURBLGUxRWc3YUosQzBFNTZhQSwrQkFDSSxXMUUrNmFKLEMwRTU2YUEsb0NBQ0ksZ0JBRUksZ0JBQ0EsZTFFODZhTixDMEU1NmFFLDBCQUNJLFMxRSs2YU4sQ0FPRixDMEVuNmFBLGdCQUVJLGVBREEsZTFFczZhSixDMEVsNmFBLDRCQUNJLHVCMUVxNmFKLEMwRWw2YUEsa0NBQ0ksdUIxRXE2YUosQzBFbDZhQSwwQkFDSSxzQkFDQSxXQUNBLFcxRXE2YUosQzBFbDZhQSxvQ0FDSSxzRUFDQSwyRUFDQSxrQjFFcTZhSixDMEVsNmFBLG9EQUNJLHVCQUNBLGUxRXE2YUosQzBFbDZhQSwwREFRSSxnQkFIQSxtQkFFQSxZQU5BLFdBS0EsZUFHQSxZQVBBLGtCQUNBLFFBQ0EsUzFFMDZhSixDMEVsNmFBLG1DQUNJLHdCQUNBLHlCQUVBLDRCQURBLGUxRXM2YUosQzBFbDZhQSx5Q0FLSSxtQkFKQSxXQUNBLGNBQ0EsV0FHQSxXQUVBLG1CQURBLGUxRXM2YUosQzBFbDZhQSwwQkFDSSxXMUVxNmFKLEMwRWg2YUEsd0VBQ0ksc0VBQ0EsMkVBQ0Esa0IxRW02YUosQzBFaDZhQSx3R0FDSSx1QkFDQSxlMUVtNmFKLEMwRWg2YUEsb0hBUUksZ0JBSEEsbUJBRUEsWUFOQSxXQUtBLGVBR0EsWUFQQSxrQkFDQSxRQUNBLFMxRXc2YUosQzBFaDZhQSxzRUFDSSx3QkFDQSx5QkFFQSw0QkFEQSxlMUVvNmFKLEMwRWg2YUEsa0ZBS0ksbUJBSkEsV0FDQSxjQUNBLFdBR0EsV0FFQSxtQkFEQSxlMUVvNmFKLEMwRWg2YUEsb0RBQ0ksVzFFbTZhSixDMEVoNmFBLDZCQUdJLGNBREEsZUFEQSxTQUdBLG1CMUVtNmFKLEMwRWg2YUEsNEJBSUksd0JBQ0EscUJBR0EsaUJBTEEsMkIxRXc2YUosQzBFMTVhQSw2RkFHSSxXQURBLGMxRW82YUosQzBFdjVhQSxzR0FJSSxxQkFDQSxtQkFKQSxtQkFLQSxhQUhBLGFBREEsWTFFdTZhSixDMEVoNmFBLGtEQU9JLGMxRW82YUosQzBFaDZhQSwyRUFQSSxtQkFFQSxXQUpBLHFCQUNBLFdBRkEsd0JBT0EsYUFIQSxpQjFFaTdhSixDMEUzNmFBLHlCQU9JLGMxRW82YUosQzBFejVhQSxrSEFHSSxxQkFEQSxZQUVBLGtCQUhBLFMxRXM2YUosQzBFaDZhQSxvREFDSSxXQUNBLGlCMUVtNmFKLEMwRWg2YUEsc0RBQ0ksWUFDQSxrQjFFbTZhSixDMEVoNmFBLDBCQUNJLFdBQ0EsaUIxRW02YUosQzBFaDZhQSwyQkFDSSxZQUNBLGtCMUVtNmFKLEMwRWg2YUEscURBR0ksZ0RBS0EsNEJBRkEsc0JBREEsY0FEQSxnQkFHQSxlQUxBLDJCMUV5NmFKLEMwRWg2YUEsMEdBS0ksZ0RBS0EsNEJBRkEsc0JBREEsY0FEQSxnQkFHQSxlQUxBLFkxRXk2YUosQzBFaDZhQSw4QkFDSSxrQjFFbTZhSixDMEVoNmFBLGdDQUNJLGlCMUVtNmFKLEMwRTM1YUEsNERBSkksV0FDQSx1QzFFdzZhSixDMEVoNmFBLG1DQUNJLGdCQUNBLGtCQUNBLGdCMUVtNmFKLEMwRWg2YUEsa0RBQ0ksd0IxRW02YUosQzBFaDZhQSxvREFDSSx3QjFFbTZhSixDMEVoNmFBLHFEQUNJLHdCMUVtNmFKLEMwRWg2YUEsNkJBQ0ksY0FDQSxjMUVtNmFKLEMwRWg2YUEseUJBQ0ksd0IxRXc2YUosQzBFaDZhQSxtREFQSSxXQUdBLGdCQURBLGdCQUVBLFVBSEEsaUIxRSs2YUosQzBFejZhQSwwQkFDSSx3QjFFdzZhSixDMEVoNmFBLHVCQUNJLHlCQUNBLFdBR0EsZ0JBREEsZ0JBRUEsVUFIQSxpQjFFczZhSixDMEVoNmFBLHNCQUlJLG1CQUhBLGdCQUNBLHdCQUNBLFExRW82YUosQzBFaDZhQSx5QkFFSSx5QkFEQSxpQjFFbzZhSixDMEVoNmFBLCtDQUNJLFcxRW02YUosQzBFaDZhQSxzQkFDSSxjQUlBLHVCQURBLGVBRkEsZ0JBSUEsb0JBSEEseUIxRXM2YUosQzBFaDZhQSxvREFJSSxtQkFIQSxrQkFFQSxnQkFEQSxpQjFFcTZhSixDMEVoNmFBLDRDQUVJLFdBREEsUzFFbzZhSixDMEVoNmFBLGtEQUVJLG1CQURBLFdBR0EsV0FEQSxhQUlBLFdBREEsa0JBRUEsVUFIQSxZQUlBLFUxRW02YUosQzBFaDZhQSwwQ0FFSSxZQURBLFMxRW82YUosQzBFaDZhQSw2Q0FDSSxjQUNBLHVCQUNBLGMxRW02YUosQzBFaDZhQSw0Q0FDSSxrQjFFbTZhSixDMEVoNmFBLHFDQUNJLFUxRW02YUosQzBFaDZhQSxtQkFHSSxjQUNBLHVCQUhBLGVBQ0EsZ0JBR0Esa0IxRW02YUosQzBFaDZhQSx5QkFHSSxtQkFGQSxXQUNBLGNBR0EsV0FEQSxXQUdBLGdCQUNBLGtCQUZBLFcxRXE2YUosQzBFaDZhQSx1QkFDSSxjQUtBLHFCQUdBLHVCQVBBLGVBRUEsZ0JBQ0EsZUFGQSxnQkFJQSxxQkFDQSx3QjFFbzZhSixDMEVoNmFBLDRCQUtJLGdCQUlBLHdCQURBLDRCQURBLGdDQUdBLCtDMUVtNmFKLEMwRWg2YUEsNERBVEksY0FFQSxhQUxBLGtCQUNBLG1CQUNBLFUxRXU3YUosQzBFNzZhQSxnQ0FLSSxnQkFJQSxzQkFEQSw0QkFEQSxnQ0FHQSx1RDFFbTZhSixDMEVoNmFBLHFDQUNJLG1DQUNJLGVBQ0EsaUJBQ0EsZTFFbTZhTixDMEVoNmFFLDRDQUVJLFdBQ0Esa0JBRkEsVTFFcTZhTixDMEVoNmFFLG9EQUNJLGExRW02YU4sQzBFaDZhRSxrREFFSSxtQkFEQSxXQUdBLFdBREEsYUFFQSxjQUVBLGtCQUNBLFVBRkEsV0FHQSxVMUVtNmFOLEMwRWg2YUUsZ0RBQ0ksVzFFbTZhTixDMEVoNmFFLDBDQUdJLFlBREEsZ0JBREEsVTFFcTZhTixDMEVoNmFFLG1CQUNJLGMxRW02YU4sQ0FDRixDMEUvNWFBLG9DQUNJLHVFQUNJLFMxRWk2YU4sQzBFMTVhRSx5QkFDSSxTMUVnNmFOLEMwRXo1YUUsK0RBQ0ksVTFFZzZhTixDMEU3NWFFLHNDQUNJLFkxRWc2YU4sQzBFNzVhRSx1QkFDSSxpQjFFZzZhTixDMEU3NWFFLHlCQUNJLGVBQ0EsWTFFZzZhTixDQUNGLEMwRTM1YUEsb0NBQ0ksdUJBRUksa0JBQ0EsZUFGQSxjMUUrNWFOLENBQ0YsQzBFMTVhQSwrQkFFSSxhQURBLFUxRTY1YUosQzBFejVhQSx1RUFDSSxrQ0FDQSxzQ0FFQSxlQUNBLGFBQ0EsUzFFNDVhSixDMEVuNWFBLGlGQUNJLGMxRTI1YUosQzBFeDVhQSxnRkFDSSxZMUUyNWFKLEMwRXg1YUEsK0VBQ0ksYzFFMjVhSixDMEV4NWFBLGdGQUNJLFkxRTI1YUosQzBFcDVhQSxrR0FDSSwyRDFFMjVhSixDMEV4NWFBLDJDQUNJLCtEQUNBLHFCMUUyNWFKLEMwRXA1YUEseUVBQ0ksb0QxRTI1YUosQzBFeDVhQSx5RUFDSSxrRDFFMjVhSixDMEV4NWFBLHFFQUNJLHlEMUUyNWFKLEMwRXg1YUEsNEVBQ0ksNkQxRTI1YUosQzBFcDVhQSw2RUFDSSxxRDFFMjVhSixDMEVwNWFBLGlHQUNJLG9EMUUyNWFKLEMwRXA1YUEsNkVBQ0kscUQxRTI1YUosQzBFcDVhQSx3RkFDSSxxRDFFMjVhSixDMEVoNWFBLHlFQUNJLHFEMUV1NWFKLEMwRWg1YUEsb0dBQ0ksaUQxRXU1YUosQzBFaDVhQSx3REFDSSx1RDFFdTVhSixDMEVoNWFBLGdHQUNJLCtEMUV1NWFKLEMwRWg1YUEsc0ZBQ0ksaUQxRXU1YUosQzBFMzRhQSx1S0FDSSwwRDFFczVhSixDMEVuNWFBLDZDQUNJLDBEMUVzNWFKLEMwRS80YUEsMEhBQ0ksd0QxRXM1YUosQzBFbjVhQSxzREFDSSxrRTFFczVhSixDMEVuNWFBLDZEQUNJLDJEMUVzNWFKLEMwRW41YUEsaURBQ0ksa0QxRXM1YUosQzBFbjVhQSxxREFDSSxzRDFFczVhSixDMEVsNWFBLHlCQUdJLHFCQUZBLFlBS0Esb0JBREEsYUFEQSxjQUZBLFMxRXk1YUosQzBFbDVhQSw2QkFHSSxjQUVBLGFBREEsY0FGQSxVMUV5NWFKLEMwRWw1YUEsd0NBQ0ksb0IxRXE1YUosQzBFbDVhQSx5Q0FDSSxnQjFFcTVhSixDMEVsNWFBLGtDQUNJLGUxRXE1YUosQzBFbDVhQSwwQ0FFSSxZQURBLGdCMUVzNWFKLEMwRWw1YUEsc0NBRUksV0FEQSxlMUVzNWFKLEMwRWw1YUEsK0JBQ0ksVzFFcTVhSixDMEVsNWFBLG9DQUNJLGdCQUNJLGdCQUNBLGUxRXE1YU4sQzBFbDVhRSwwQkFDSSxTMUVxNWFOLENBT0YsQzJFNW1lQSxlQUNJLGtCM0U4bWVKLEMyRTNtZUEsVUFDSSxZM0U4bWVKLEMyRTdtZUksWUFFSSxVckM2RU0sQ3FDNUVOLGVBQ0Esa0JBSEEsbUJBSUEsd0IzRSttZVIsQzJFN21lSSxtQkFDSSxhekQyR1ksQ3lEMUdaLGUzRSttZVIsQzJFM21lQSxrQkFHSSxhekRtR2dCLEN5RHJHaEIsZUFDQSxZQUVBLGUzRThtZUosQzJFM21lQSxnQkFDSSxrREFDQSxrQjNFOG1lSixDMkUzbWVBLGdCQUdJLFdBREEsZ0IzRThtZUosQzJFMW1lQSxVQUVJLHlCQUNBLG1CQUZBLFlBR0EsZTNFNm1lSixDMkUxbWVBLHFCQUdJLGtCQURBLDZCQURBLFkzRSttZUosQzJFeG1lQSxhQU9JLHFCQUhBLG1CQURBLGtCQUVBLFdBR0Esb0JBQ0EsY0FSQSxXQUtBLDZCQUpBLFMzRWtuZUosQzJFbm1lQSx3QkFFSSxtQkFEQSxXM0V1bWVKLEMyRXBtZUksK0JBQ0ksa0JyQ1VLLENxQ1JMLGlCckNzQlEsQ3FDckJSLFdBQ0EsZ0JBSEEsVzNFeW1lUixDMkVubWVJLGtDQUVJLFlBRUEsa0JBREEsZ0JBRkEsaUIzRXdtZVIsQzJFam1lQSw0QkFFSSxtQkFEQSxTQUVBLFdBQ0EsWUFDQSxnQkFDQSxVQUNBLGtCQUNBLFMzRW9tZUosQzJFam1lRSw4QkFNRSxXQUxBLG9CQU1BLG1CQUpBLGtCQUNBLGdCQUNBLGdCQUhBLFEzRXltZUosQzJFbG1lSSxtQ0FDSSxvQkFHQSxlQUZBLFlBQ0EsaUIzRXFtZVIsQzJFL2xlQSx3Q0FXSSx5QkFKQSxrQkFFQSw0QkFQQSxhckNoQ0ksQ3FDK0JKLFdBRUEscUJBRUEsV0FPQSx3QkFOQSxzQkFGQSxTM0V3bWVKLEMyRTdsZUUsZ0RBQ0Usa0IzRWdtZUosQzJFNWxlRSx5Q0FDSSxZM0UrbGVOLEMyRTFsZUUsK0NBS0UsYXJDbkVFLENxQytERixZQUNBLGdCQUlBLGdCQUhBLGNBQ0Esc0IzRStsZUosQzJFemxlRSw4QkFDSSxhQUNBLDZCM0U0bGVOLEMyRTFsZU0sK0NBQ0ksc0JBRUEsZ0JBREEsYTNFNmxlVixDMkUxbGVVLHFEQUNJLHlCM0U0bGVkLEMyRXRsZUUsb0NBQ0Usd0JBQXlCLFMzRTBsZTNCLEMyRXpsZUUsVUFBVyxZM0U2bGViLEMyRTdsZTRCLG1CQUFVLGdCM0VnbWV0QyxDMkUvbGVFLGtDQUFtQyxjM0VtbWVyQyxDMkVsbWVFLHdDQUVJLFdBREEsUzNFc21lTixDQUNGLEM0RXJ4ZUksNENBRUksWTVFdXhlUixDNEVyeGVJLHdCQUNJLGU1RXV4ZVIsQzRFcnhlSSxtQkFDSSxjNUV1eGVSLEM0RXJ4ZUksd0JBQ0ksYXRDMkVBLENzQzFFQSx5QjVFdXhlUixDNEVyeGVJLGlDQUVJLGExRHdHWSxDMER2R1osZ0JBRkEsYTVFeXhlUixDNEV0eGVRLDBDQUNJLFV0Q2lFRSxDc0MvREYsWUFEQSw4QjVFeXhlWixDNEVyeGVJLGdDQUNJLGFBRUEsbUJBREEsaUJBRUEsNEI1RXV4ZVIsQzRFcHhlUSxxQ0FDSSxjNUVzeGVaLEM0RXB4ZVEsZ0NBQ0ksY0FDQSxlNUVzeGVaLEM0RW54ZUksMEJBQ0ksYTVFcXhlUixDNEUvd2VJLGdFQUNJLGNBR0EsZ0JBREEsbUJBREEsZTVFcXhlUixDNEU5d2VJLG9OQU9JLFU1RWl4ZVIsQzRFN3dlQSw4QkFDSSxTNUVneGVKLEM0RTV3ZUksMkNBQ0kseUJBRUEsVUFEQSxpQjVFZ3hlUixDNEU5d2VRLDhDQUVJLFVBREEsaUI1RWl4ZVosQzRFM3dlQSx1QkFDSSxtQkFDQSxpQjVFOHdlSixDNEUzd2VBLGFBQ0kseUJBQ0EsaUI1RTh3ZUosQzRFM3dlQSxhQUNJLFk1RTh3ZUosQzRFM3dlQSxnQkFDSSxjQUVBLG9CQURBLG9CNUUrd2VKLEM0RTN3ZUEsY0FDSSxjNUU4d2VKLEM0RTN3ZUEsMkJBRUksa0I1RTh3ZUosQzRFM3dlQSxjQUVJLFdBREEsZTVFK3dlSixDNEUzd2VBLE1BSUksa0J0QzNDUyxDc0N3Q1QsZ0JBQ0Esd0JBQ0EsUTVFK3dlSixDNEU3d2VJLFNBRUkseUJBREEsaUI1RWd4ZVIsQzRFM3dlQSxjQUNJLGlCNUU4d2VKLEM0RTN3ZUEsb0JBRUksYUFDQSw2QkFGQSxvQjVFZ3hlSixDNEU3d2VJLHVCQUNJLGE1RSt3ZVIsQzRFN3dlSSxzQ0FDSSx3QjVFK3dlUixDNEU3d2VJLG9DQU9JLHdCdEN2RUssQ3NDd0VMLFlBRkEsYXRDN0RBLENzQ3lEQSxxQkFEQSxhQUlBLFU1RWd4ZVIsQzRFM3dlSSw4QkFFSSxjQURBLGdCNUU4d2VSLEM0RTF3ZVEsbUNBQ0ksY0FFQSxtQkFEQSxrQjVFNndlWixDNEUxd2VRLHNDQUVJLG1CQURBLGM1RTZ3ZVosQzRFendlSSxvREFHSSxhdENuRkEsQ3NDcUZBLGNBSEEsaUJBRUEsa0I1RTR3ZVIsQzRFendlSSwwQkFDSSxjNUUyd2VSLEM0RXZ3ZUEsY0FDSSxZQUVBLGE1RTB3ZUosQzRFdndlQSwrQkFKSSxjNUUrd2VKLEM0RXZ3ZUEsU0FDSSxrQkFDQSxrQjVFMHdlSixDNEV2d2VBLG9DQUNJLDhCQUNJLFk1RTB3ZU4sQzRFdndlRSxTQUVJLG9CQURBLGdCNUUyd2VOLEM0RW53ZUUsa0JBSEksaUI1RWd4ZU4sQzRFN3dlRSxZQUVJLFdBQ0EscUI1RTB3ZU4sQzRFdndlRSxtQkFDSSxVNUUwd2VOLENBQ0YsQzRFdHdlQSxvQ0FDSSxTQUVJLGlCQURBLGU1RXl3ZU4sQ0FDRixDNkV2K2VJLHlCQUNJLGU3RXkrZVIsQzZFdCtlSSxxQkFJSSxhdkNvRUQsQ3VDdkVDLGlCQUVBLGdCQURBLGM3RTArZVIsQzZFcitlSSx1Q0FDSSx3QjdFdStlUixDNkVoK2VJLDBFQUNJLGdCN0VtK2VSLEM2RWgrZUkseUJBRUksaUJBREEsZ0JBRUEsYTdFaytlUixDNkVqK2VRLCtCQUNJLGVBQ0EscUI3RW0rZVosQzhFamdmQSxzQkFDSSxhQUVBLFNBREEsb0NBRUEsaUI5RW9nZkosQzhFbGdmSSxvQ0FOSixzQkFPUSx5QjlFcWdmTixDQUNGLEMrRTVnZkksb0JBRUksbUJBREEsYUFFQSxjL0UrZ2ZSLENnRmxoZkksc0JBQ0ksb0JoRnFoZlIsQ2lGdGhmSSwyQkFHSSxxQkFGQSxhQUNBLCtCakYwaGZSLENpRnZoZlEsb0NBTEosMkJBTVEseUJqRjBoZlYsQ0FDRixDaUZ2aGZZLG9DQURKLHdDQUVRLG9CakYwaGZkLENBQ0YsQ2tGdGlmSSxvQ0FESixjQUVRLFlsRjBpZk4sQ0FDRixDa0Z0aWZJLG9DQURKLGFBRVEsWWxGMGlmTixDQUNGLENrRnhpZkksbUNBQ0ksb0JsRjBpZlIsQ2tGdmlmSSxnQ0FJSSxtQkFIQSxhQUVBLFNBREEsK0JsRjJpZlIsQ2tGdmlmUSxvQ0FOSixnQ0FPUSx5QmxGMGlmVixDa0Z6aWZVLG9DQUNJLGVsRjJpZmQsQ0FDRixDa0Z2aWZJLGlDQUVJLG1CQURBLFlsRjBpZlIsQ21GdGtmUSxzQ0FDSSxhbkY2a2ZaLENBemlmQSxTQUVJLHlCQURBLFVBNmlmSixDQXppZkEsZ0JBQ0ksc0JBQ0Esb0NBNGlmSixDQXppZkEsb0JBQ0ksY0FHQSxlQURBLGVBREEsY0E4aWZKLENBemlmQSw2QkFDSSxhQTRpZkosQ0F6aWZBLFlBQ0kseUJBNGlmSixDQXppZkEsc0JBQ0ksa0JBNGlmSixDQXppZkEsNkJBRUksd0JBREEscUJBNmlmSixDQXppZkEsT0FDSSx3QkE0aWZKLENBemlmQSxXQUNJLGNBNGlmSixDQ3Y4ZVEseUNEbEZKLDZCQUNJLFlBbWlmTixDQUxGLENBMWhmQSxpQkFDSSwwQkFraWZKLENBL2hmQSxrQkFFSSxzQkFEQSxvQkFtaWZKLENBL2hmQSxnQkFFSSwyQkFEQSxvQkFtaWZKLENBL2hmQSxpQkFDSSx3QkFraWZKLENBN2hmQSxXQUNJLGNBZ2lmSixDQTNoZlEsdUJBR0ksdUJBRkEsV0FDQSxlQStoZlosQ0F6aGZBLFFBRUksMEJBREEsVUE2aGZKLENBemhmQSxjQUNJLFVBNGhmSixDQXpoZkEsYUFDSSxpQkE0aGZKLENBemhmQSxVQUNJLGFBNGhmSixDQXpoZkEsTUFDSSxhQTRoZkosQ0F6aGZBLE1BQ0ksa0JBNGhmSixDQXpoZkEsTUFDSSxpQkE0aGZKLENBemhmQSxNQUNJLGtCQTRoZkosQ0F6aGZBLE1BQ0ksZ0JBNGhmSixDQXpoZkEsTUFDSSxtQkE0aGZKLENBemhmQSxNQUNJLGtCQTRoZkosQ0F6aGZBLE1BQ0ksU0E0aGZKLENBemhmQSxNQUNJLFlBNGhmSixDQXpoZkEsTUFDSSxpQkE0aGZKLENBemhmQSxNQUNJLGdCQTRoZkosQ0F6aGZBLE1BQ0ksZUE0aGZKLENBemhmQSxNQUNJLGVBNGhmSixDQXpoZkEsT0FDSSxlQTRoZkosQ0F6aGZBLE1BQ0ksZUE0aGZKLENBemhmQSxNQUNJLG9CQTRoZkosQ0F6aGZBLE1BQ0ksbUJBNGhmSixDQXpoZkEsTUFDSSxrQkE0aGZKLENBemhmQSxNQUNJLGtCQTRoZkosQ0F6aGZBLE9BQ0ksa0JBNGhmSixDQXpoZkEsTUFDSSxjQTRoZkosQ0F6aGZBLE1BQ0ksbUJBNGhmSixDQXpoZkEsTUFDSSxrQkE0aGZKLENBemhmQSxNQUNJLG1CQTRoZkosQ0F6aGZBLE1BQ0ksaUJBNGhmSixDQXpoZkEsTUFDSSxtQkE0aGZKLENBemhmQSxNQUNJLGlCQTRoZkosQ0F6aGZBLEtBQ0ksY0E0aGZKLENBemhmQSxLQUNJLGFBNGhmSixDQXpoZkEsS0FDSSxjQTRoZkosQ0F6aGZBLEtBQ0ksWUE0aGZKLENBemhmQSxNQUNJLG9CQTRoZkosQ0F6aGZBLE1BQ0ksbUJBNGhmSixDQXpoZkEsTUFDSSxvQkE0aGZKLENBemhmQSxNQUNJLGtCQTRoZkosQ0F6aGZBLE1BQ0ksbUJBNGhmSixDQXpoZkEsTUFDSSxrQkE0aGZKLENBemhmQSxNQUNJLG1CQTRoZkosQ0F6aGZBLE1BQ0ksaUJBNGhmSixDQXpoZkEsV0FDSSxlQTRoZkosQ0F6aGZBLFdBSUkseUJBRkEsc0JBQ0Esa0JBRUEsZ0JBSkEsWUFnaWZKLENBemhmQSxNQUNJLGlCQTRoZkosQ0F6aGZBLE1BQ0ksa0JBNGhmSixDQXpoZkEsb0VBQ0ksc0JBQ0EsMEJBQ0EsZUE0aGZKLENBemhmQSxTQUNJLG1CQUVBLGdCQUNBLHFCQTJoZkosQ0F4aGZBLGVBQ0ksZUFDQSxpQkEyaGZKLENBeGhmQSxpQkFHSSxjQUZBLFdBQ0EsYUE0aGZKLENBeGhmQSxhQUNJLHlCQUdBLFdBQ0Esc0JBRkEsZ0JBREEsaUJBOGhmSixDQXhoZkEsb0NBQ0ksYUFDSSwrQkEyaGZOLENBQ0YsQ0F4aGZBLGlCQUNJLGNBQ0Esa0JBMGhmSixDQXZoZkEsY0FRSSxXQUhBLHVCQUNBLGVBQ0EsZ0JBTEEsU0FEQSxlQVFBLGtCQUNBLHlCQVBBLFFBQ0EsK0JBT0EsV0EwaGZKLENBdmhmQSxzQkFDSSxzQkFDQSwwQkFDQSxnQkFDQSxpQkEwaGZKLENBdmhmQSxNQUNJLFlBMGhmSixDQXZoZkEsYUFDSSxtQkEwaGZKLENBdmhmQSxhQUNJLDZDQTBoZkosQ0F2aGZBLGFBQ0ksNkNBMGhmSixDQXZoZkEsYUFDSSw2Q0EwaGZKLENBdmhmQSxhQUNJLDZDQTBoZkosQ0F2aGZBLGFBQ0ksNkNBMGhmSixDQXZoZkEsYUFDSSw2Q0EwaGZKLENBdmhmQSxhQUNJLDZDQTBoZkosQ0F2aGZBLGFBQ0ksNkNBMGhmSixDQXZoZkEsYUFDSSw2Q0EwaGZKLENBdmhmQSxjQUNJLDhDQTBoZkosQ0F2aGZBLGFBQ0ksMENBMGhmSixDQXZoZkEsYUFDSSwwQ0EwaGZKLENBdmhmQSxhQUNJLDBDQTBoZkosQ0F2aGZBLGFBQ0ksMENBMGhmSixDQXZoZkEsYUFDSSwwQ0EwaGZKLENBdmhmQSxhQUNJLDBDQTBoZkosQ0F2aGZBLGFBQ0ksMENBMGhmSixDQXZoZkEsYUFDSSwwQ0EwaGZKLENBdmhmQSxhQUNJLDBDQTBoZkosQ0F2aGZBLGNBQ0ksMkNBMGhmSixDQXZoZkEsZUFDSSxxQkEwaGZKLENBdmhmQSxPQUNJLFVBMGhmSixDQXZoZkEsT0FDSSxTQTBoZkosQ0F2aGZBLE9BQ0ksVUEwaGZKLENBdmhmQSxPQUNJLFFBMGhmSixDQXZoZkEsU0FDSSx3Q0EwaGZKLENBdmhmQSxTQUNJLHNDQTBoZkosQ0F2aGZBLFNBQ0ksd0NBMGhmSixDQXZoZkEsU0FDSSxvQ0EwaGZKLENBdmhmQSxTQUNJLGNBMGhmSixDQXZoZkEsU0FDSSxhQTBoZkosQ0F2aGZBLFNBQ0ksY0EwaGZKLENBdmhmQSxTQUNJLFlBMGhmSixDQXZoZkEsY0FDSSxrQkEwaGZKLENBdmhmQSxjQUdJLHlCQURBLGdCQUdBLFdBQ0EsZUFGQSxlQUhBLGVBTUEsOEJBMGhmSixDQXhoZkksb0JBQ0ksa0JBMGhmUixDQXJoZkksdUJBQ0ksZ0JBRUEsV0FEQSw0QkFHQSxlQUNBLGlCQUZBLGtCQTBoZlIsQ0FyaGZJLGlDQUNJLGVBdWhmUixDQW5oZkEsVUFDSSxhQUNBLFVBTUEseUJBSEEsd0JBTUEsK0JBc2hmSixDQXBoZkksZUFDSSxjQUNBLFNBc2hmUixDQWxoZkEsb0JBR0ksaUJBQ0Esa0JBRkEsZ0JBR0Esa0JBSkEsU0F5aGZKLENBbmhmSSxzQkFDSSxlQUNBLGdCQUNBLGVBcWhmUixDQWpoZkEsd0JBTUksY0FIQSxrQkFDQSxnQkFDQSxnQkFIQSxRQXVoZkosQ0FqaGZJLGlDQUNJLGFBbWhmUixDQS9nZkEsb0JBR0kscUJBRkEsYUFDQSw2QkFtaGZKLENBaGhmSSxvQ0FMSixvQkFPUSx1QkFEQSxxQkFvaGZOLENBQ0YsQ0FqaGZJLHlCQUVJLHVCQURBLGFBRUEsUUFtaGZSLENBamhmUSwwQ0FDSSxZQUNBLGVBbWhmWixDQWhoZlEsK0JBQ0ksaUJBa2hmWixDQTdnZlEsb0NBREosc0JBRVEsZUFnaGZWLENBQ0YsQyIsInNvdXJjZXMiOlsid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9zdW1tZXJub3RlL2Rpc3Qvc3VtbWVybm90ZS1saXRlLmNzcyIsIndlYnBhY2s6Ly8vLi4vLi4vLi4vLi4vLi4vc3JjL3N0eWxlcy9zdW1tZXJub3RlL2ZvbnQuc2NzcyIsIndlYnBhY2s6Ly8vLi4vLi4vLi4vLi4vLi4vc3JjL3N0eWxlcy9saXRlL3N1bW1lcm5vdGUtbGl0ZS5zY3NzIiwid2VicGFjazovLy8uLi8uLi8uLi8uLi8uLi9zcmMvc3R5bGVzL2xpdGUvc2Nzcy9jb21tb24uc2NzcyIsIndlYnBhY2s6Ly8vLi4vLi4vLi4vLi4vLi4vc3JjL3N0eWxlcy9zdW1tZXJub3RlL2VsZW1lbnRzLnNjc3MiLCJ3ZWJwYWNrOi8vLy4uLy4uLy4uLy4uLy4uL3NyYy9zdHlsZXMvbGl0ZS9zY3NzL3Rvb2xiYXIuc2NzcyIsIndlYnBhY2s6Ly8vLi4vLi4vLi4vLi4vLi4vc3JjL3N0eWxlcy9saXRlL3Njc3MvYnRuLWdyb3VwLnNjc3MiLCJ3ZWJwYWNrOi8vLy4uLy4uLy4uLy4uLy4uL3NyYy9zdHlsZXMvbGl0ZS9zY3NzL2J1dHRvbnMuc2NzcyIsIndlYnBhY2s6Ly8vLi4vLi4vLi4vLi4vLi4vc3JjL3N0eWxlcy9saXRlL3Njc3MvbWl4aW5zL2J1dHRvbnMuc2NzcyIsIndlYnBhY2s6Ly8vLi4vLi4vLi4vLi4vLi4vc3JjL3N0eWxlcy9saXRlL3Njc3MvdmFyaWFibGVzLnNjc3MiLCJ3ZWJwYWNrOi8vLy4uLy4uLy4uLy4uLy4uL3NyYy9zdHlsZXMvbGl0ZS9zY3NzL2Ryb3Bkb3duLnNjc3MiLCJ3ZWJwYWNrOi8vLy4uLy4uLy4uLy4uLy4uL3NyYy9zdHlsZXMvbGl0ZS9zY3NzL21vZGFsLnNjc3MiLCJ3ZWJwYWNrOi8vLy4uLy4uLy4uLy4uLy4uL3NyYy9zdHlsZXMvbGl0ZS9zY3NzL2Zvcm0uc2NzcyIsIndlYnBhY2s6Ly8vLi4vLi4vLi4vLi4vLi4vc3JjL3N0eWxlcy9saXRlL3Njc3MvdG9vbHRpcC5zY3NzIiwid2VicGFjazovLy8uLi8uLi8uLi8uLi8uLi9zcmMvc3R5bGVzL2xpdGUvc2Nzcy9wb3BvdmVyLnNjc3MiLCJ3ZWJwYWNrOi8vLy4uLy4uLy4uLy4uLy4uL3NyYy9zdHlsZXMvc3VtbWVybm90ZS9jb21tb24uc2NzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3R5cG9ncmFwaHkvX2hlbHBlcnMuc2NzcyIsIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvc2Fzcy9hcHAuc2NzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3V0aWwvX2JyZWFrcG9pbnQuc2NzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX3JldmVhbC5zY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvdmVuZG9yL25vcm1hbGl6ZS5zY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvX2dsb2JhbC5zY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZm9ybXMvX3RleHQuc2NzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2Zvcm1zL19sYWJlbC5zY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZm9ybXMvX2hlbHAtdGV4dC5zY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZm9ybXMvX2lucHV0LWdyb3VwLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9mb3Jtcy9fc2VsZWN0LnNjc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy91dGlsL19taXhpbnMuc2NzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3R5cG9ncmFwaHkvX2Jhc2Uuc2NzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3R5cG9ncmFwaHkvX3ByaW50LnNjc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19idXR0b24uc2NzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX2Nsb3NlLWJ1dHRvbi5zY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fbGFiZWwuc2NzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX3Byb2dyZXNzLWJhci5zY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fc2xpZGVyLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy91dGlsL19jb2xvci5zY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fc3dpdGNoLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL190YWJsZS5zY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fYmFkZ2Uuc2NzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX2JyZWFkY3J1bWJzLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19jYWxsb3V0LnNjc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19jYXJkLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19kcm9wZG93bi5zY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fcGFnaW5hdGlvbi5zY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fdG9vbHRpcC5zY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fYWNjb3JkaW9uLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19vcmJpdC5zY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fdGFicy5zY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fdGh1bWJuYWlsLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19tZW51LnNjc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19hY2NvcmRpb24tbWVudS5zY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fZHJpbGxkb3duLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19kcm9wZG93bi1tZW51LnNjc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19vZmYtY2FudmFzLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL190aXRsZS1iYXIuc2NzcyIsIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvc2Fzcy9fc2V0dGluZ3Muc2NzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2Zvcm1zL19jaGVja2JveC5zY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZm9ybXMvX2ZpZWxkc2V0LnNjc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9mb3Jtcy9fZXJyb3Iuc2NzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3R5cG9ncmFwaHkvX2FsaWdubWVudC5zY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MveHktZ3JpZC9fY2xhc3Nlcy5zY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MveHktZ3JpZC9fZ3JpZC5zY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MveHktZ3JpZC9fZ3V0dGVycy5zY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MveHktZ3JpZC9fY2VsbC5zY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MveHktZ3JpZC9fbGF5b3V0LnNjc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy94eS1ncmlkL19jb2xsYXBzZS5zY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MveHktZ3JpZC9fcG9zaXRpb24uc2NzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3h5LWdyaWQvX2ZyYW1lLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19idXR0b24tZ3JvdXAuc2NzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX21lZGlhLW9iamVjdC5zY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fcmVzcG9uc2l2ZS1lbWJlZC5zY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fbWVudS1pY29uLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19zdGlja3kuc2NzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX3RvcC1iYXIuc2NzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX2Zsb2F0LnNjc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19mbGV4LnNjc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy91dGlsL19mbGV4LnNjc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL192aXNpYmlsaXR5LnNjc3MiLCJ3ZWJwYWNrOi8vLy4vcmVzb3VyY2VzL3Nhc3MvZ2xvYmFsL19idXR0b25zLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vcmVzb3VyY2VzL3Nhc3MvZ2xvYmFsL19lbGVtZW50cy5zY3NzIiwid2VicGFjazovLy8uL3Jlc291cmNlcy9zYXNzL2dsb2JhbC9fdHlwb2dyYXBoeS5zY3NzIiwid2VicGFjazovLy8uL3Jlc291cmNlcy9zYXNzL2dsb2JhbC9fdGFibGUuc2NzcyIsIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvc2Fzcy9nbG9iYWwvX3RyYW5zaXRpb25zLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vcmVzb3VyY2VzL3Nhc3MvZ2xvYmFsL19ib290c3RyYXAtYXV0b2NvbXBsZXRlLWRyb3Bkb3duLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vcmVzb3VyY2VzL3Nhc3MvY29tcG9uZW50cy9fZm9vdGVyLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vcmVzb3VyY2VzL3Nhc3MvY29tcG9uZW50cy9faGVhZGVyLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vcmVzb3VyY2VzL3Nhc3MvY29tcG9uZW50cy9fbG9naW4uc2NzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2dyaWQvX3Bvc2l0aW9uLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vcmVzb3VyY2VzL3Nhc3MvY29tcG9uZW50cy9fcGF5bWVudHMuc2NzcyIsIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvc2Fzcy9jb21wb25lbnRzL19wcm9kdWN0cy5zY3NzIiwid2VicGFjazovLy8uL3Jlc291cmNlcy9zYXNzL2NvbXBvbmVudHMvX3VwbG9hZC5zY3NzIiwid2VicGFjazovLy8uL3Jlc291cmNlcy9zYXNzL2NvbXBvbmVudHMvX3JlcG9ydC5zY3NzIiwid2VicGFjazovLy8uL3Jlc291cmNlcy9zYXNzL2NvbXBvbmVudHMvX3F1ZXN0aW9ubmFpcmUuc2NzcyIsIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvc2Fzcy9jb21wb25lbnRzL19kYXNoYm9hcmRzLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vcmVzb3VyY2VzL3Nhc3MvY29tcG9uZW50cy9fZm9ybXMuc2NzcyIsIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvc2Fzcy9jb21wb25lbnRzL19yZWdpc3RyYXRpb24uc2NzcyIsIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvc2Fzcy9jb21wb25lbnRzL19tZW51LnNjc3MiLCJ3ZWJwYWNrOi8vLy4vcmVzb3VyY2VzL3Nhc3MvY29tcG9uZW50cy9faW5wdXQuc2NzcyIsIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvc2Fzcy9jb21wb25lbnRzL19jYXRhbG9nLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vcmVzb3VyY2VzL3Nhc3MvY29tcG9uZW50cy9fY2FydC5zY3NzIiwid2VicGFjazovLy8uL3Jlc291cmNlcy9zYXNzL2NvbXBvbmVudHMvX2NoZWNrb3V0LnNjc3MiXSwic291cmNlc0NvbnRlbnQiOlsiLyohXG4gKiBcbiAqIFN1cGVyIHNpbXBsZSBXWVNJV1lHIGVkaXRvciB2MC44LjIwXG4gKiBodHRwczovL3N1bW1lcm5vdGUub3JnXG4gKlxuICpcbiAqIENvcHlyaWdodCAyMDEzLSBBbGFuIEhvbmcgYW5kIGNvbnRyaWJ1dG9yc1xuICogU3VtbWVybm90ZSBtYXkgYmUgZnJlZWx5IGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBNSVQgbGljZW5zZS5cbiAqXG4gKiBEYXRlOiAyMDIxLTEwLTE0VDIxOjE1WlxuICpcbiAqL1xuQGZvbnQtZmFjZSB7XG4gICAgZm9udC1mYW1pbHk6IFwic3VtbWVybm90ZVwiO1xuICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgICBmb250LXdlaWdodDogNDAwO1xuICAgIGZvbnQtZGlzcGxheTogYXV0bztcbiAgICBzcmM6IHVybChcIi4vZm9udC9zdW1tZXJub3RlLmVvdD8jaWVmaXhcIikgZm9ybWF0KFwiZW1iZWRkZWQtb3BlbnR5cGVcIiksIHVybChcIi4vZm9udC9zdW1tZXJub3RlLndvZmYyXCIpIGZvcm1hdChcIndvZmYyXCIpLCB1cmwoXCIuL2ZvbnQvc3VtbWVybm90ZS53b2ZmXCIpIGZvcm1hdChcIndvZmZcIiksIHVybChcIi4vZm9udC9zdW1tZXJub3RlLnR0ZlwiKSBmb3JtYXQoXCJ0cnVldHlwZVwiKTtcbn1cbltjbGFzc149bm90ZS1pY29uXTpiZWZvcmUsXG5bY2xhc3MqPVwiIG5vdGUtaWNvblwiXTpiZWZvcmUge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBmb250LWZhbWlseTogXCJzdW1tZXJub3RlXCI7XG4gICAgZm9udC1zdHlsZTogbm9ybWFsO1xuICAgIGZvbnQtc2l6ZTogaW5oZXJpdDtcbiAgICB0ZXh0LWRlY29yYXRpb246IGluaGVyaXQ7XG4gICAgdGV4dC1yZW5kZXJpbmc6IGF1dG87XG4gICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlO1xuICAgIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICAgIHNwZWFrOiBub25lO1xufVxuXG4ubm90ZS1pY29uLWZ3IHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgd2lkdGg6IDEuMjVlbTtcbn1cblxuLm5vdGUtaWNvbi1ib3JkZXIge1xuICAgIGJvcmRlcjogc29saWQgMC4wOGVtICNlZWU7XG4gICAgYm9yZGVyLXJhZGl1czogMC4xZW07XG4gICAgcGFkZGluZzogMC4yZW0gMC4yNWVtIDAuMTVlbTtcbn1cblxuLm5vdGUtaWNvbi1wdWxsLWxlZnQge1xuICAgIGZsb2F0OiBsZWZ0O1xufVxuXG4ubm90ZS1pY29uLXB1bGwtcmlnaHQge1xuICAgIGZsb2F0OiByaWdodDtcbn1cblxuLm5vdGUtaWNvbi5ub3RlLWljb24tcHVsbC1sZWZ0IHtcbiAgICBtYXJnaW4tcmlnaHQ6IDAuM2VtO1xufVxuLm5vdGUtaWNvbi5ub3RlLWljb24tcHVsbC1yaWdodCB7XG4gICAgbWFyZ2luLWxlZnQ6IDAuM2VtO1xufVxuXG4ubm90ZS1pY29uLWFsaWduOjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxlYTAxXCI7XG59XG5cbi5ub3RlLWljb24tYWxpZ24tY2VudGVyOjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxlYTAyXCI7XG59XG5cbi5ub3RlLWljb24tYWxpZ24taW5kZW50OjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxlYTAzXCI7XG59XG5cbi5ub3RlLWljb24tYWxpZ24tanVzdGlmeTo6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZWEwNFwiO1xufVxuXG4ubm90ZS1pY29uLWFsaWduLWxlZnQ6OmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGVhMDVcIjtcbn1cblxuLm5vdGUtaWNvbi1hbGlnbi1vdXRkZW50OjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxlYTA2XCI7XG59XG5cbi5ub3RlLWljb24tYWxpZ24tcmlnaHQ6OmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGVhMDdcIjtcbn1cblxuLm5vdGUtaWNvbi1hcnJvdy1jaXJjbGUtZG93bjo6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZWEwOFwiO1xufVxuXG4ubm90ZS1pY29uLWFycm93LWNpcmNsZS1sZWZ0OjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxlYTA5XCI7XG59XG5cbi5ub3RlLWljb24tYXJyb3ctY2lyY2xlLXJpZ2h0OjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxlYTBhXCI7XG59XG5cbi5ub3RlLWljb24tYXJyb3ctY2lyY2xlLXVwOjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxlYTBiXCI7XG59XG5cbi5ub3RlLWljb24tYXJyb3dzLWFsdDo6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZWEwY1wiO1xufVxuXG4ubm90ZS1pY29uLWFycm93cy1oOjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxlYTBkXCI7XG59XG5cbi5ub3RlLWljb24tYXJyb3dzLXY6OmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGVhMGVcIjtcbn1cblxuLm5vdGUtaWNvbi1ib2xkOjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxlYTBmXCI7XG59XG5cbi5ub3RlLWljb24tY2FyZXQ6OmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGVhMTBcIjtcbn1cblxuLm5vdGUtaWNvbi1jaGFpbi1icm9rZW46OmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGVhMTFcIjtcbn1cblxuLm5vdGUtaWNvbi1jaXJjbGU6OmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGVhMTJcIjtcbn1cblxuLm5vdGUtaWNvbi1jbG9zZTo6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZWExM1wiO1xufVxuXG4ubm90ZS1pY29uLWNvZGU6OmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGVhMTRcIjtcbn1cblxuLm5vdGUtaWNvbi1jb2wtYWZ0ZXI6OmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGVhMTVcIjtcbn1cblxuLm5vdGUtaWNvbi1jb2wtYmVmb3JlOjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxlYTE2XCI7XG59XG5cbi5ub3RlLWljb24tY29sLXJlbW92ZTo6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZWExN1wiO1xufVxuXG4ubm90ZS1pY29uLWVyYXNlcjo6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZWExOFwiO1xufVxuXG4ubm90ZS1pY29uLWZsb2F0LWxlZnQ6OmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGVhMTlcIjtcbn1cblxuLm5vdGUtaWNvbi1mbG9hdC1ub25lOjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxlYTFhXCI7XG59XG5cbi5ub3RlLWljb24tZmxvYXQtcmlnaHQ6OmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGVhMWJcIjtcbn1cblxuLm5vdGUtaWNvbi1mb250OjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxlYTFjXCI7XG59XG5cbi5ub3RlLWljb24tZnJhbWU6OmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGVhMWRcIjtcbn1cblxuLm5vdGUtaWNvbi1pdGFsaWM6OmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGVhMWVcIjtcbn1cblxuLm5vdGUtaWNvbi1saW5rOjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxlYTFmXCI7XG59XG5cbi5ub3RlLWljb24tbWFnaWM6OmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGVhMjBcIjtcbn1cblxuLm5vdGUtaWNvbi1tZW51LWNoZWNrOjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxlYTIxXCI7XG59XG5cbi5ub3RlLWljb24tbWludXM6OmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGVhMjJcIjtcbn1cblxuLm5vdGUtaWNvbi1vcmRlcmVkbGlzdDo6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZWEyM1wiO1xufVxuXG4ubm90ZS1pY29uLXBlbmNpbDo6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZWEyNFwiO1xufVxuXG4ubm90ZS1pY29uLXBpY3R1cmU6OmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGVhMjVcIjtcbn1cblxuLm5vdGUtaWNvbi1xdWVzdGlvbjo6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZWEyNlwiO1xufVxuXG4ubm90ZS1pY29uLXJlZG86OmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGVhMjdcIjtcbn1cblxuLm5vdGUtaWNvbi1yb2xsYmFjazo6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZWEyOFwiO1xufVxuXG4ubm90ZS1pY29uLXJvdy1hYm92ZTo6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZWEyOVwiO1xufVxuXG4ubm90ZS1pY29uLXJvdy1iZWxvdzo6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZWEyYVwiO1xufVxuXG4ubm90ZS1pY29uLXJvdy1yZW1vdmU6OmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGVhMmJcIjtcbn1cblxuLm5vdGUtaWNvbi1zcGVjaWFsLWNoYXJhY3Rlcjo6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZWEyY1wiO1xufVxuXG4ubm90ZS1pY29uLXNxdWFyZTo6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZWEyZFwiO1xufVxuXG4ubm90ZS1pY29uLXN0cmlrZXRocm91Z2g6OmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGVhMmVcIjtcbn1cblxuLm5vdGUtaWNvbi1zdWJzY3JpcHQ6OmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGVhMmZcIjtcbn1cblxuLm5vdGUtaWNvbi1zdW1tZXJub3RlOjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxlYTMwXCI7XG59XG5cbi5ub3RlLWljb24tc3VwZXJzY3JpcHQ6OmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGVhMzFcIjtcbn1cblxuLm5vdGUtaWNvbi10YWJsZTo6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZWEzMlwiO1xufVxuXG4ubm90ZS1pY29uLXRleHQtaGVpZ2h0OjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxlYTMzXCI7XG59XG5cbi5ub3RlLWljb24tdHJhc2g6OmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGVhMzRcIjtcbn1cblxuLm5vdGUtaWNvbi11bmRlcmxpbmU6OmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGVhMzVcIjtcbn1cblxuLm5vdGUtaWNvbi11bmRvOjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxlYTM2XCI7XG59XG5cbi5ub3RlLWljb24tdW5vcmRlcmVkbGlzdDo6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZWEzN1wiO1xufVxuXG4ubm90ZS1pY29uLXZpZGVvOjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxlYTM4XCI7XG59XG5cbi5ub3RlLWZyYW1lIHtcbiAgICAtbXMtYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIGNvbG9yOiAjMDAwO1xuICAgIGZvbnQtZmFtaWx5OiBzYW5zLXNlcmlmO1xuICAgIGJvcmRlci1yYWRpdXM6IDRweDtcbn1cblxuLm5vdGUtdG9vbGJhciB7XG4gICAgcGFkZGluZzogMTBweCA1cHg7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNlMmUyZTI7XG4gICAgY29sb3I6ICMzMzM7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2Y1ZjVmNTtcbiAgICBib3JkZXItY29sb3I6ICNkZGQ7XG4gICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogM3B4O1xuICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAzcHg7XG59XG5cbi5ub3RlLWJ0bi1ncm91cCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBtYXJnaW4tcmlnaHQ6IDhweDtcbn1cbi5ub3RlLWJ0bi1ncm91cCA+IC5ub3RlLWJ0bi1ncm91cCB7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xufVxuLm5vdGUtYnRuLWdyb3VwID4gLm5vdGUtYnRuOmZpcnN0LWNoaWxkIHtcbiAgICBtYXJnaW4tbGVmdDogMDtcbn1cbi5ub3RlLWJ0bi1ncm91cCAubm90ZS1idG4gKyAubm90ZS1idG4sXG4ubm90ZS1idG4tZ3JvdXAgLm5vdGUtYnRuICsgLm5vdGUtYnRuLWdyb3VwLFxuLm5vdGUtYnRuLWdyb3VwIC5ub3RlLWJ0bi1ncm91cCArIC5ub3RlLWJ0bixcbi5ub3RlLWJ0bi1ncm91cCAubm90ZS1idG4tZ3JvdXAgKyAubm90ZS1idG4tZ3JvdXAge1xuICAgIG1hcmdpbi1sZWZ0OiAtMXB4O1xufVxuLm5vdGUtYnRuLWdyb3VwID4gLm5vdGUtYnRuOm5vdCg6Zmlyc3QtY2hpbGQpLFxuLm5vdGUtYnRuLWdyb3VwID4gLm5vdGUtYnRuLWdyb3VwOm5vdCg6Zmlyc3QtY2hpbGQpID4gLm5vdGUtYnRuIHtcbiAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAwO1xuICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDA7XG59XG4ubm90ZS1idG4tZ3JvdXAgPiAubm90ZS1idG46bm90KDpsYXN0LWNoaWxkKTpub3QoLmRyb3Bkb3duLXRvZ2dsZSksXG4ubm90ZS1idG4tZ3JvdXAgPiAubm90ZS1idG4tZ3JvdXA6bm90KDpsYXN0LWNoaWxkKSA+IC5ub3RlLWJ0biB7XG4gICAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDA7XG4gICAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDA7XG59XG4ubm90ZS1idG4tZ3JvdXAub3BlbiA+IC5ub3RlLWRyb3Bkb3duIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbn1cblxuLm5vdGUtYnRuIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgIHRvdWNoLWFjdGlvbjogbWFuaXB1bGF0aW9uO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiBub25lO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICNkYWUwZTU7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICBvdXRsaW5lOiAwO1xuICAgIGNvbG9yOiAjMzMzO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gICAgYm9yZGVyLWNvbG9yOiAjZGFlMGU1O1xuICAgIHBhZGRpbmc6IDVweCAxMHB4O1xuICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICBsaW5lLWhlaWdodDogMS40O1xuICAgIGJvcmRlci1yYWRpdXM6IDNweDtcbiAgICAtd2Via2l0LXVzZXItc2VsZWN0OiBub25lO1xuICAgIC1tb3otdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgLW1zLXVzZXItc2VsZWN0OiBub25lO1xuICAgIHVzZXItc2VsZWN0OiBub25lO1xufVxuLm5vdGUtYnRuOmZvY3VzLCAubm90ZS1idG4uZm9jdXMge1xuICAgIGNvbG9yOiAjMzMzO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNlYmViZWI7XG4gICAgYm9yZGVyLWNvbG9yOiAjZGFlMGU1O1xufVxuLm5vdGUtYnRuOmhvdmVyIHtcbiAgICBjb2xvcjogIzMzMztcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWJlYmViO1xuICAgIGJvcmRlci1jb2xvcjogI2RhZTBlNTtcbn1cbi5ub3RlLWJ0bi5kaXNhYmxlZDpmb2N1cywgLm5vdGUtYnRuLmRpc2FibGVkLmZvY3VzLCAubm90ZS1idG5bZGlzYWJsZWRdOmZvY3VzLCAubm90ZS1idG5bZGlzYWJsZWRdLmZvY3VzLCBmaWVsZHNldFtkaXNhYmxlZF0gLm5vdGUtYnRuOmZvY3VzLCBmaWVsZHNldFtkaXNhYmxlZF0gLm5vdGUtYnRuLmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICAgIGJvcmRlci1jb2xvcjogI2RhZTBlNTtcbn1cbi5ub3RlLWJ0bjpob3ZlciwgLm5vdGUtYnRuOmZvY3VzLCAubm90ZS1idG4uZm9jdXMge1xuICAgIGNvbG9yOiAjMzMzO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjZGFlMGU1O1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNlYmViZWI7XG4gICAgb3V0bGluZTogMDtcbiAgICBib3JkZXItcmFkaXVzOiAxcHg7XG59XG4ubm90ZS1idG46YWN0aXZlLCAubm90ZS1idG4uYWN0aXZlIHtcbiAgICBvdXRsaW5lOiAwO1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7XG4gICAgY29sb3I6ICMzMzM7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICNkYWUwZTU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ViZWJlYjtcbiAgICBvdXRsaW5lOiAwO1xuICAgIGJvcmRlci1yYWRpdXM6IDFweDtcbiAgICBib3gtc2hhZG93OiBpbnNldCAwIDNweCA1cHggcmdiYSgwLCAwLCAwLCAwLjEyNSk7XG59XG4ubm90ZS1idG4uZGlzYWJsZWQsIC5ub3RlLWJ0bltkaXNhYmxlZF0sIGZpZWxkc2V0W2Rpc2FibGVkXSAubm90ZS1idG4ge1xuICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7XG4gICAgLXdlYmtpdC1vcGFjaXR5OiAwLjY1O1xuICAgIC1raHRtbC1vcGFjaXR5OiAwLjY1O1xuICAgIC1tb3otb3BhY2l0eTogMC42NTtcbiAgICBvcGFjaXR5OiAwLjY1O1xuICAgIC1tcy1maWx0ZXI6IHByb2dpZDpEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5BbHBoYShvcGFjaXR5PTY1KTtcbiAgICBmaWx0ZXI6IGFscGhhKG9wYWNpdHk9NjUpO1xuICAgIGJveC1zaGFkb3c6IG5vbmU7XG59XG4ubm90ZS1idG4gPiBzcGFuLm5vdGUtaWNvbi1jYXJldDpmaXJzdC1jaGlsZCB7XG4gICAgbWFyZ2luLWxlZnQ6IC0xcHg7XG59XG4ubm90ZS1idG4gPiBzcGFuLm5vdGUtaWNvbi1jYXJldDpudGgtY2hpbGQoMikge1xuICAgIHBhZGRpbmctbGVmdDogM3B4O1xuICAgIG1hcmdpbi1yaWdodDogLTVweDtcbn1cblxuLm5vdGUtYnRuLXByaW1hcnkge1xuICAgIGJhY2tncm91bmQ6ICNmYTYzNjI7XG4gICAgY29sb3I6ICNmZmY7XG59XG4ubm90ZS1idG4tcHJpbWFyeTpob3ZlciwgLm5vdGUtYnRuLXByaW1hcnk6Zm9jdXMsIC5ub3RlLWJ0bi1wcmltYXJ5LmZvY3VzIHtcbiAgICBjb2xvcjogI2ZmZjtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgYm9yZGVyOiAxcHggc29saWQgI2RhZTBlNTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmE2MzYyO1xuICAgIGJvcmRlci1yYWRpdXM6IDFweDtcbn1cblxuLm5vdGUtYnRuLWJsb2NrIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMTAwJTtcbn1cblxuLm5vdGUtYnRuLWJsb2NrICsgLm5vdGUtYnRuLWJsb2NrIHtcbiAgICBtYXJnaW4tdG9wOiA1cHg7XG59XG5cbmlucHV0W3R5cGU9c3VibWl0XS5ub3RlLWJ0bi1ibG9jayxcbmlucHV0W3R5cGU9cmVzZXRdLm5vdGUtYnRuLWJsb2NrLFxuaW5wdXRbdHlwZT1idXR0b25dLm5vdGUtYnRuLWJsb2NrIHtcbiAgICB3aWR0aDogMTAwJTtcbn1cblxuYnV0dG9uLmNsb3NlIHtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICBib3JkZXI6IDA7XG4gICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xufVxuXG4uY2xvc2Uge1xuICAgIGZsb2F0OiByaWdodDtcbiAgICBmb250LXNpemU6IDIxcHg7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgY29sb3I6ICMwMDA7XG4gICAgb3BhY2l0eTogMC4yO1xufVxuXG4uY2xvc2U6aG92ZXIge1xuICAgIC13ZWJraXQtb3BhY2l0eTogMTtcbiAgICAta2h0bWwtb3BhY2l0eTogMTtcbiAgICAtbW96LW9wYWNpdHk6IDE7XG4gICAgLW1zLWZpbHRlcjogYWxwaGEob3BhY2l0eT0xMDApO1xuICAgIGZpbHRlcjogYWxwaGEob3BhY2l0eT0xMDApO1xuICAgIG9wYWNpdHk6IDE7XG59XG5cbi5ub3RlLWRyb3Bkb3duIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi5ub3RlLWNvbG9yIC5kcm9wZG93bi10b2dnbGUge1xuICAgIHdpZHRoOiAzMHB4O1xuICAgIHBhZGRpbmctbGVmdDogNXB4O1xufVxuXG4ubm90ZS1kcm9wZG93bi1tZW51IHtcbiAgICBkaXNwbGF5OiBub25lO1xuICAgIG1pbi13aWR0aDogMTAwcHg7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMTAwJTtcbiAgICBsZWZ0OiAwO1xuICAgIHotaW5kZXg6IDEwMDA7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICBiYWNrZ3JvdW5kOiAjZmZmO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICNlMmUyZTI7XG4gICAgcGFkZGluZzogNXB4O1xuICAgIGJhY2tncm91bmQtY2xpcDogcGFkZGluZy1ib3g7XG4gICAgYm94LXNoYWRvdzogMCAxcHggMXB4IHJnYmEoMCwgMCwgMCwgMC4wNik7XG59XG4ubm90ZS1kcm9wZG93bi1tZW51ID4gKjpsYXN0LWNoaWxkIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG59XG5cbi5ub3RlLWJ0bi1ncm91cC5vcGVuIC5ub3RlLWRyb3Bkb3duLW1lbnUge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4ubm90ZS1kcm9wZG93bi1pdGVtIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbn1cbi5ub3RlLWRyb3Bkb3duLWl0ZW06aG92ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNlYmViZWI7XG59XG5cbmEubm90ZS1kcm9wZG93bi1pdGVtLFxuYS5ub3RlLWRyb3Bkb3duLWl0ZW06aG92ZXIge1xuICAgIG1hcmdpbjogNXB4IDA7XG4gICAgY29sb3I6ICMwMDA7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xufVxuXG4ubm90ZS1tb2RhbCB7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICAgIGxlZnQ6IDA7XG4gICAgcmlnaHQ6IDA7XG4gICAgdG9wOiAwO1xuICAgIGJvdHRvbTogMDtcbiAgICB6LWluZGV4OiAxMDUwO1xuICAgIC13ZWJraXQtb3BhY2l0eTogMTtcbiAgICAta2h0bWwtb3BhY2l0eTogMTtcbiAgICAtbW96LW9wYWNpdHk6IDE7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtbXMtZmlsdGVyOiBwcm9naWQ6RFhJbWFnZVRyYW5zZm9ybS5NaWNyb3NvZnQuQWxwaGEob3BhY2l0eT0xMDApO1xuICAgIGZpbHRlcjogYWxwaGEob3BhY2l0eT0xMDApO1xuICAgIGRpc3BsYXk6IG5vbmU7XG59XG4ubm90ZS1tb2RhbC5vcGVuIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbn1cblxuLm5vdGUtbW9kYWwtY29udGVudCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHdpZHRoOiBhdXRvO1xuICAgIG1hcmdpbjogMzBweCAyMHB4O1xuICAgIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMCwgMCwgMCwgMC4yKTtcbiAgICBiYWNrZ3JvdW5kOiAjZmZmO1xuICAgIGJhY2tncm91bmQtY2xpcDogYm9yZGVyLWJveDtcbiAgICBvdXRsaW5lOiAwO1xuICAgIGJvcmRlci1yYWRpdXM6IDVweDtcbiAgICBib3gtc2hhZG93OiAwIDNweCA5cHggcmdiYSgwLCAwLCAwLCAwLjUpO1xufVxuXG4ubm90ZS1tb2RhbC1oZWFkZXIge1xuICAgIHBhZGRpbmc6IDEwcHggMjBweDtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjZWRlZGVmO1xufVxuXG4ubm90ZS1tb2RhbC1ib2R5IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcGFkZGluZzogMjBweCAzMHB4O1xufVxuLm5vdGUtbW9kYWwtYm9keSBrYmQge1xuICAgIGJvcmRlci1yYWRpdXM6IDJweDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDAwO1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIHBhZGRpbmc6IDNweCA1cHg7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAtbXMtYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xufVxuXG4ubm90ZS1tb2RhbC1mb290ZXIge1xuICAgIGhlaWdodDogNDBweDtcbiAgICBwYWRkaW5nOiAxMHB4O1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuLm5vdGUtbW9kYWwtZm9vdGVyIGEge1xuICAgIGNvbG9yOiAjMzM3YWI3O1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbn1cblxuLm5vdGUtbW9kYWwtZm9vdGVyIGE6aG92ZXIsXG4ubm90ZS1tb2RhbC1mb290ZXIgYTpmb2N1cyB7XG4gICAgY29sb3I6ICMyMzUyN2M7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG59XG5cbi5ub3RlLW1vZGFsLWZvb3RlciAubm90ZS1idG4ge1xuICAgIGZsb2F0OiByaWdodDtcbn1cblxuLm5vdGUtbW9kYWwtdGl0bGUge1xuICAgIGZvbnQtc2l6ZTogMjBweDtcbiAgICBjb2xvcjogIzQyNTE1ZjtcbiAgICBtYXJnaW46IDA7XG4gICAgbGluZS1oZWlnaHQ6IDEuNDtcbn1cblxuLm5vdGUtbW9kYWwtYmFja2Ryb3Age1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICBsZWZ0OiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIGJvdHRvbTogMDtcbiAgICB0b3A6IDA7XG4gICAgei1pbmRleDogMTA0MDtcbiAgICBiYWNrZ3JvdW5kOiAjMDAwO1xuICAgIC13ZWJraXQtb3BhY2l0eTogMC41O1xuICAgIC1raHRtbC1vcGFjaXR5OiAwLjU7XG4gICAgLW1vei1vcGFjaXR5OiAwLjU7XG4gICAgb3BhY2l0eTogMC41O1xuICAgIC1tcy1maWx0ZXI6IHByb2dpZDpEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5BbHBoYShvcGFjaXR5PTUwKTtcbiAgICBmaWx0ZXI6IGFscGhhKG9wYWNpdHk9NTApO1xuICAgIGRpc3BsYXk6IG5vbmU7XG59XG4ubm90ZS1tb2RhbC1iYWNrZHJvcC5vcGVuIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgLm5vdGUtbW9kYWwtY29udGVudCB7XG4gICAgICAgIHdpZHRoOiA2MDBweDtcbiAgICAgICAgbWFyZ2luOiAzMHB4IGF1dG87XG4gICAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gICAgLm5vdGUtbW9kYWwtY29udGVudC1sYXJnZSB7XG4gICAgICAgIHdpZHRoOiA5MDBweDtcbiAgICB9XG59XG4ubm90ZS1tb2RhbCAubm90ZS1oZWxwLWJsb2NrIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBtYXJnaW4tdG9wOiA1cHg7XG4gICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgICBjb2xvcjogIzczNzM3Mztcbn1cbi5ub3RlLW1vZGFsIC5ub3RlLW5hdiB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbn1cbi5ub3RlLW1vZGFsIC5ub3RlLW5hdi1saW5rIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwYWRkaW5nOiAwLjVyZW0gMXJlbTtcbiAgICBjb2xvcjogIzAwN2JmZjtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgLXdlYmtpdC10ZXh0LWRlY29yYXRpb24tc2tpcDogb2JqZWN0cztcbn1cbi5ub3RlLW1vZGFsIC5ub3RlLW5hdi1saW5rOmZvY3VzLFxuLm5vdGUtbW9kYWwgLm5vdGUtbmF2LWxpbms6aG92ZXIge1xuICAgIGNvbG9yOiAjMDA1NmIzO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbn1cbi5ub3RlLW1vZGFsIC5ub3RlLW5hdi1saW5rLmRpc2FibGVkIHtcbiAgICBjb2xvcjogIzg2OGU5Njtcbn1cbi5ub3RlLW1vZGFsIC5ub3RlLW5hdi10YWJzIHtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2RkZDtcbn1cbi5ub3RlLW1vZGFsIC5ub3RlLW5hdi10YWJzIC5ub3RlLW5hdi1pdGVtIHtcbiAgICBtYXJnaW4tYm90dG9tOiAtMXB4O1xufVxuLm5vdGUtbW9kYWwgLm5vdGUtbmF2LXRhYnMgLm5vdGUtbmF2LWxpbmsge1xuICAgIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDAuMjVyZW07XG4gICAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDAuMjVyZW07XG59XG4ubm90ZS1tb2RhbCAubm90ZS1uYXYtdGFicyAubm90ZS1uYXYtbGluazpmb2N1cyxcbi5ub3RlLW1vZGFsIC5ub3RlLW5hdi10YWJzIC5ub3RlLW5hdi1saW5rOmhvdmVyIHtcbiAgICBib3JkZXItY29sb3I6ICNlOWVjZWYgI2U5ZWNlZiAjZGRkO1xufVxuLm5vdGUtbW9kYWwgLm5vdGUtbmF2LXRhYnMgLm5vdGUtbmF2LWxpbmsuZGlzYWJsZWQge1xuICAgIGNvbG9yOiAjODY4ZTk2O1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XG59XG4ubm90ZS1tb2RhbCAubm90ZS1uYXYtdGFicyAubm90ZS1uYXYtaXRlbS5zaG93IC5ub3RlLW5hdi1saW5rIHtcbiAgICBjb2xvcjogIzQ5NTA1NztcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICAgIGJvcmRlci1jb2xvcjogI2RkZCAjZGRkICNmZmY7XG59XG4ubm90ZS1tb2RhbCAubm90ZS10YWItY29udGVudCB7XG4gICAgbWFyZ2luOiAxNXB4IGF1dG87XG59XG4ubm90ZS1tb2RhbCAubm90ZS10YWItY29udGVudCA+IC5ub3RlLXRhYi1wYW5lOnRhcmdldCB+IC5ub3RlLXRhYi1wYW5lOmxhc3QtY2hpbGQsXG4ubm90ZS1tb2RhbCAubm90ZS10YWItY29udGVudCA+IC5ub3RlLXRhYi1wYW5lIHtcbiAgICBkaXNwbGF5OiBub25lO1xufVxuLm5vdGUtbW9kYWwgLm5vdGUtdGFiLWNvbnRlbnQgPiA6bGFzdC1jaGlsZCxcbi5ub3RlLW1vZGFsIC5ub3RlLXRhYi1jb250ZW50ID4gLm5vdGUtdGFiLXBhbmU6dGFyZ2V0IHtcbiAgICBkaXNwbGF5OiBibG9jaztcbn1cblxuLm5vdGUtZm9ybS1ncm91cCB7XG4gICAgcGFkZGluZy1ib3R0b206IDIwcHg7XG59XG5cbi5ub3RlLWZvcm0tZ3JvdXA6bGFzdC1jaGlsZCB7XG4gICAgcGFkZGluZy1ib3R0b206IDA7XG59XG5cbi5ub3RlLWZvcm0tbGFiZWwge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICBjb2xvcjogIzQyNTE1ZjtcbiAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG59XG5cbi5ub3RlLWlucHV0IHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjZWRlZGVmO1xuICAgIGJhY2tncm91bmQ6ICNmZmY7XG4gICAgb3V0bGluZTogMDtcbiAgICBwYWRkaW5nOiA2cHggNHB4O1xuICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICAtbXMtYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xufVxuXG4ubm90ZS1pbnB1dDo6LXdlYmtpdC1pbnB1dC1wbGFjZWhvbGRlciB7XG4gICAgY29sb3I6ICNlZWVlZWU7XG59XG5cbi5ub3RlLWlucHV0Oi1tb3otcGxhY2Vob2xkZXIge1xuICAgIC8qIEZpcmVmb3ggMTgtICovXG4gICAgY29sb3I6ICNlZWVlZWU7XG59XG5cbi5ub3RlLWlucHV0OjotbW96LXBsYWNlaG9sZGVyIHtcbiAgICAvKiBGaXJlZm94IDE5KyAqL1xuICAgIGNvbG9yOiAjZWVlZWVlO1xufVxuXG4ubm90ZS1pbnB1dDotbXMtaW5wdXQtcGxhY2Vob2xkZXIge1xuICAgIGNvbG9yOiAjZWVlZWVlO1xufVxuXG4ubm90ZS10b29sdGlwIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgei1pbmRleDogMTA3MDtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBmb250LXNpemU6IDEzcHg7XG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjE1cztcbiAgICAtd2Via2l0LW9wYWNpdHk6IDA7XG4gICAgLWtodG1sLW9wYWNpdHk6IDA7XG4gICAgLW1vei1vcGFjaXR5OiAwO1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLW1zLWZpbHRlcjogcHJvZ2lkOkRYSW1hZ2VUcmFuc2Zvcm0uTWljcm9zb2Z0LkFscGhhKG9wYWNpdHk9MCk7XG4gICAgZmlsdGVyOiBhbHBoYShvcGFjaXR5PTApO1xufVxuLm5vdGUtdG9vbHRpcC5pbiB7XG4gICAgLXdlYmtpdC1vcGFjaXR5OiAwLjk7XG4gICAgLWtodG1sLW9wYWNpdHk6IDAuOTtcbiAgICAtbW96LW9wYWNpdHk6IDAuOTtcbiAgICBvcGFjaXR5OiAwLjk7XG4gICAgLW1zLWZpbHRlcjogcHJvZ2lkOkRYSW1hZ2VUcmFuc2Zvcm0uTWljcm9zb2Z0LkFscGhhKG9wYWNpdHk9OTApO1xuICAgIGZpbHRlcjogYWxwaGEob3BhY2l0eT05MCk7XG59XG4ubm90ZS10b29sdGlwLnRvcCB7XG4gICAgbWFyZ2luLXRvcDogLTNweDtcbiAgICBwYWRkaW5nOiA1cHggMDtcbn1cbi5ub3RlLXRvb2x0aXAucmlnaHQge1xuICAgIG1hcmdpbi1sZWZ0OiAzcHg7XG4gICAgcGFkZGluZzogMCA1cHg7XG59XG4ubm90ZS10b29sdGlwLmJvdHRvbSB7XG4gICAgbWFyZ2luLXRvcDogM3B4O1xuICAgIHBhZGRpbmc6IDVweCAwO1xufVxuLm5vdGUtdG9vbHRpcC5sZWZ0IHtcbiAgICBtYXJnaW4tbGVmdDogLTNweDtcbiAgICBwYWRkaW5nOiAwIDVweDtcbn1cblxuLm5vdGUtdG9vbHRpcC5ib3R0b20gLm5vdGUtdG9vbHRpcC1hcnJvdyB7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDUwJTtcbiAgICBtYXJnaW4tbGVmdDogLTVweDtcbiAgICBib3JkZXItd2lkdGg6IDAgNXB4IDVweDtcbiAgICBib3JkZXItYm90dG9tLWNvbG9yOiAjMDAwO1xufVxuLm5vdGUtdG9vbHRpcC50b3AgLm5vdGUtdG9vbHRpcC1hcnJvdyB7XG4gICAgYm90dG9tOiAwO1xuICAgIGxlZnQ6IDUwJTtcbiAgICBtYXJnaW4tbGVmdDogLTVweDtcbiAgICBib3JkZXItd2lkdGg6IDVweCA1cHggMDtcbiAgICBib3JkZXItdG9wLWNvbG9yOiAjMDAwO1xufVxuLm5vdGUtdG9vbHRpcC5yaWdodCAubm90ZS10b29sdGlwLWFycm93IHtcbiAgICB0b3A6IDUwJTtcbiAgICBsZWZ0OiAwO1xuICAgIG1hcmdpbi10b3A6IC01cHg7XG4gICAgYm9yZGVyLXdpZHRoOiA1cHggNXB4IDVweCAwO1xuICAgIGJvcmRlci1yaWdodC1jb2xvcjogIzAwMDtcbn1cbi5ub3RlLXRvb2x0aXAubGVmdCAubm90ZS10b29sdGlwLWFycm93IHtcbiAgICB0b3A6IDUwJTtcbiAgICByaWdodDogMDtcbiAgICBtYXJnaW4tdG9wOiAtNXB4O1xuICAgIGJvcmRlci13aWR0aDogNXB4IDAgNXB4IDVweDtcbiAgICBib3JkZXItbGVmdC1jb2xvcjogIzAwMDtcbn1cblxuLm5vdGUtdG9vbHRpcC1hcnJvdyB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHdpZHRoOiAwO1xuICAgIGhlaWdodDogMDtcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG59XG5cbi5ub3RlLXRvb2x0aXAtY29udGVudCB7XG4gICAgbWF4LXdpZHRoOiAyMDBweDtcbiAgICBmb250LWZhbWlseTogc2Fucy1zZXJpZjtcbiAgICBwYWRkaW5nOiAzcHggOHB4O1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDAwO1xufVxuXG4ubm90ZS1wb3BvdmVyIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgei1pbmRleDogMTA2MDtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBmb250LXNpemU6IDEzcHg7XG4gICAgZm9udC1mYW1pbHk6IHNhbnMtc2VyaWY7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICBiYWNrZ3JvdW5kOiAjZmZmZmZmO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMCwgMCwgMCwgMC4yKTtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjY2NjO1xufVxuLm5vdGUtcG9wb3Zlci5pbiB7XG4gICAgZGlzcGxheTogYmxvY2s7XG59XG4ubm90ZS1wb3BvdmVyLnRvcCB7XG4gICAgbWFyZ2luLXRvcDogLTEwcHg7XG4gICAgcGFkZGluZzogNXB4IDA7XG59XG4ubm90ZS1wb3BvdmVyLnJpZ2h0IHtcbiAgICBtYXJnaW4tbGVmdDogMTBweDtcbiAgICBwYWRkaW5nOiAwIDVweDtcbn1cbi5ub3RlLXBvcG92ZXIuYm90dG9tIHtcbiAgICBtYXJnaW4tdG9wOiAxMHB4O1xuICAgIHBhZGRpbmc6IDVweCAwO1xufVxuLm5vdGUtcG9wb3Zlci5sZWZ0IHtcbiAgICBtYXJnaW4tbGVmdDogLTEwcHg7XG4gICAgcGFkZGluZzogMCA1cHg7XG59XG5cbi5ub3RlLXBvcG92ZXIuYm90dG9tIC5ub3RlLXBvcG92ZXItYXJyb3cge1xuICAgIHRvcDogLTExcHg7XG4gICAgbGVmdDogMjBweDtcbiAgICBtYXJnaW4tbGVmdDogLTEwcHg7XG4gICAgYm9yZGVyLXRvcC13aWR0aDogMDtcbiAgICBib3JkZXItYm90dG9tLWNvbG9yOiAjOTk5OTk5O1xuICAgIGJvcmRlci1ib3R0b20tY29sb3I6IHJnYmEoMCwgMCwgMCwgMC4yNSk7XG59XG4ubm90ZS1wb3BvdmVyLmJvdHRvbSAubm90ZS1wb3BvdmVyLWFycm93OjphZnRlciB7XG4gICAgdG9wOiAxcHg7XG4gICAgbWFyZ2luLWxlZnQ6IC0xMHB4O1xuICAgIGNvbnRlbnQ6IFwiXFwwMDIwXCI7XG4gICAgYm9yZGVyLXRvcC13aWR0aDogMDtcbiAgICBib3JkZXItYm90dG9tLWNvbG9yOiAjZmZmO1xufVxuLm5vdGUtcG9wb3Zlci50b3AgLm5vdGUtcG9wb3Zlci1hcnJvdyB7XG4gICAgYm90dG9tOiAtMTFweDtcbiAgICBsZWZ0OiAyMHB4O1xuICAgIG1hcmdpbi1sZWZ0OiAtMTBweDtcbiAgICBib3JkZXItYm90dG9tLXdpZHRoOiAwO1xuICAgIGJvcmRlci10b3AtY29sb3I6ICM5OTk5OTk7XG4gICAgYm9yZGVyLXRvcC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjI1KTtcbn1cbi5ub3RlLXBvcG92ZXIudG9wIC5ub3RlLXBvcG92ZXItYXJyb3c6OmFmdGVyIHtcbiAgICBib3R0b206IDFweDtcbiAgICBtYXJnaW4tbGVmdDogLTEwcHg7XG4gICAgY29udGVudDogXCJcXDAwMjBcIjtcbiAgICBib3JkZXItYm90dG9tLXdpZHRoOiAwO1xuICAgIGJvcmRlci10b3AtY29sb3I6ICNmZmY7XG59XG4ubm90ZS1wb3BvdmVyLnJpZ2h0IC5ub3RlLXBvcG92ZXItYXJyb3cge1xuICAgIHRvcDogNTAlO1xuICAgIGxlZnQ6IC0xMXB4O1xuICAgIG1hcmdpbi10b3A6IC0xMHB4O1xuICAgIGJvcmRlci1sZWZ0LXdpZHRoOiAwO1xuICAgIGJvcmRlci1yaWdodC1jb2xvcjogIzk5OTk5OTtcbiAgICBib3JkZXItcmlnaHQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMC4yNSk7XG59XG4ubm90ZS1wb3BvdmVyLnJpZ2h0IC5ub3RlLXBvcG92ZXItYXJyb3c6OmFmdGVyIHtcbiAgICBsZWZ0OiAxcHg7XG4gICAgbWFyZ2luLXRvcDogLTEwcHg7XG4gICAgY29udGVudDogXCJcXDAwMjBcIjtcbiAgICBib3JkZXItbGVmdC13aWR0aDogMDtcbiAgICBib3JkZXItcmlnaHQtY29sb3I6ICNmZmY7XG59XG4ubm90ZS1wb3BvdmVyLmxlZnQgLm5vdGUtcG9wb3Zlci1hcnJvdyB7XG4gICAgdG9wOiA1MCU7XG4gICAgcmlnaHQ6IC0xMXB4O1xuICAgIG1hcmdpbi10b3A6IC0xMHB4O1xuICAgIGJvcmRlci1yaWdodC13aWR0aDogMDtcbiAgICBib3JkZXItbGVmdC1jb2xvcjogIzk5OTk5OTtcbiAgICBib3JkZXItbGVmdC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjI1KTtcbn1cbi5ub3RlLXBvcG92ZXIubGVmdCAubm90ZS1wb3BvdmVyLWFycm93OjphZnRlciB7XG4gICAgcmlnaHQ6IDFweDtcbiAgICBtYXJnaW4tdG9wOiAtMTBweDtcbiAgICBjb250ZW50OiBcIlxcMDAyMFwiO1xuICAgIGJvcmRlci1yaWdodC13aWR0aDogMDtcbiAgICBib3JkZXItbGVmdC1jb2xvcjogI2ZmZjtcbn1cblxuLm5vdGUtcG9wb3Zlci1hcnJvdyB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHdpZHRoOiAwO1xuICAgIGhlaWdodDogMDtcbiAgICBib3JkZXI6IDExcHggc29saWQgdHJhbnNwYXJlbnQ7XG59XG4ubm90ZS1wb3BvdmVyLWFycm93OjphZnRlciB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAwO1xuICAgIGhlaWdodDogMDtcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgY29udGVudDogXCJcXDAwMjBcIjtcbiAgICBib3JkZXItd2lkdGg6IDEwcHg7XG59XG5cbi5ub3RlLXBvcG92ZXItY29udGVudCB7XG4gICAgLyptYXgtd2lkdGg6ICRwb3BvdmVyLW1heC13aWR0aDsqL1xuICAgIHBhZGRpbmc6IDNweCA4cHg7XG4gICAgY29sb3I6ICMwMDA7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gICAgbWluLXdpZHRoOiAxMDBweDtcbiAgICBtaW4taGVpZ2h0OiAzMHB4O1xufVxuXG4vKiBUaGVtZSBWYXJpYWJsZXNcbiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIExheW91dFxuIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLm5vdGUtZWRpdG9yIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG4ubm90ZS1lZGl0b3IgLm5vdGUtZHJvcHpvbmUge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBkaXNwbGF5OiBub25lO1xuICAgIHotaW5kZXg6IDEwMDtcbiAgICBjb2xvcjogbGlnaHRza3libHVlO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gICAgb3BhY2l0eTogMC45NTtcbn1cbi5ub3RlLWVkaXRvciAubm90ZS1kcm9wem9uZSAubm90ZS1kcm9wem9uZS1tZXNzYWdlIHtcbiAgICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGZvbnQtc2l6ZTogMjhweDtcbiAgICBmb250LXdlaWdodDogNzAwO1xufVxuLm5vdGUtZWRpdG9yIC5ub3RlLWRyb3B6b25lLmhvdmVyIHtcbiAgICBjb2xvcjogIzA5OGRkZjtcbn1cbi5ub3RlLWVkaXRvci5kcmFnb3ZlciAubm90ZS1kcm9wem9uZSB7XG4gICAgZGlzcGxheTogdGFibGU7XG59XG4ubm90ZS1lZGl0b3IgLm5vdGUtZWRpdGluZy1hcmVhIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG4ubm90ZS1lZGl0b3IgLm5vdGUtZWRpdGluZy1hcmVhIC5ub3RlLWVkaXRhYmxlIHtcbiAgICBvdXRsaW5lOiBub25lO1xufVxuLm5vdGUtZWRpdG9yIC5ub3RlLWVkaXRpbmctYXJlYSAubm90ZS1lZGl0YWJsZSBzdXAge1xuICAgIHZlcnRpY2FsLWFsaWduOiBzdXBlcjtcbn1cbi5ub3RlLWVkaXRvciAubm90ZS1lZGl0aW5nLWFyZWEgLm5vdGUtZWRpdGFibGUgc3ViIHtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogc3ViO1xufVxuLm5vdGUtZWRpdG9yIC5ub3RlLWVkaXRpbmctYXJlYSAubm90ZS1lZGl0YWJsZSBpbWcubm90ZS1mbG9hdC1sZWZ0IHtcbiAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7XG59XG4ubm90ZS1lZGl0b3IgLm5vdGUtZWRpdGluZy1hcmVhIC5ub3RlLWVkaXRhYmxlIGltZy5ub3RlLWZsb2F0LXJpZ2h0IHtcbiAgICBtYXJnaW4tbGVmdDogMTBweDtcbn1cblxuLyogRnJhbWUgbW9kZSBsYXlvdXRcbiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi5ub3RlLWVkaXRvci5ub3RlLWZyYW1lLFxuLm5vdGUtZWRpdG9yLm5vdGUtYWlyZnJhbWUge1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICMwMDAwMDAzMjtcbn1cbi5ub3RlLWVkaXRvci5ub3RlLWZyYW1lLmNvZGV2aWV3IC5ub3RlLWVkaXRpbmctYXJlYSAubm90ZS1lZGl0YWJsZSxcbi5ub3RlLWVkaXRvci5ub3RlLWFpcmZyYW1lLmNvZGV2aWV3IC5ub3RlLWVkaXRpbmctYXJlYSAubm90ZS1lZGl0YWJsZSB7XG4gICAgZGlzcGxheTogbm9uZTtcbn1cbi5ub3RlLWVkaXRvci5ub3RlLWZyYW1lLmNvZGV2aWV3IC5ub3RlLWVkaXRpbmctYXJlYSAubm90ZS1jb2RhYmxlLFxuLm5vdGUtZWRpdG9yLm5vdGUtYWlyZnJhbWUuY29kZXZpZXcgLm5vdGUtZWRpdGluZy1hcmVhIC5ub3RlLWNvZGFibGUge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xufVxuLm5vdGUtZWRpdG9yLm5vdGUtZnJhbWUgLm5vdGUtZWRpdGluZy1hcmVhLFxuLm5vdGUtZWRpdG9yLm5vdGUtYWlyZnJhbWUgLm5vdGUtZWRpdGluZy1hcmVhIHtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xufVxuLm5vdGUtZWRpdG9yLm5vdGUtZnJhbWUgLm5vdGUtZWRpdGluZy1hcmVhIC5ub3RlLWVkaXRhYmxlLFxuLm5vdGUtZWRpdG9yLm5vdGUtYWlyZnJhbWUgLm5vdGUtZWRpdGluZy1hcmVhIC5ub3RlLWVkaXRhYmxlIHtcbiAgICBwYWRkaW5nOiAxMHB4O1xuICAgIG92ZXJmbG93OiBhdXRvO1xuICAgIHdvcmQtd3JhcDogYnJlYWstd29yZDtcbn1cbi5ub3RlLWVkaXRvci5ub3RlLWZyYW1lIC5ub3RlLWVkaXRpbmctYXJlYSAubm90ZS1lZGl0YWJsZVtjb250ZW50ZWRpdGFibGU9ZmFsc2VdLFxuLm5vdGUtZWRpdG9yLm5vdGUtYWlyZnJhbWUgLm5vdGUtZWRpdGluZy1hcmVhIC5ub3RlLWVkaXRhYmxlW2NvbnRlbnRlZGl0YWJsZT1mYWxzZV0ge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICM4MDgwODAxZDtcbn1cbi5ub3RlLWVkaXRvci5ub3RlLWZyYW1lIC5ub3RlLWVkaXRpbmctYXJlYSAubm90ZS1jb2RhYmxlLFxuLm5vdGUtZWRpdG9yLm5vdGUtYWlyZnJhbWUgLm5vdGUtZWRpdGluZy1hcmVhIC5ub3RlLWNvZGFibGUge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgcGFkZGluZzogMTBweDtcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICBmb250LWZhbWlseTogTWVubG8sIE1vbmFjbywgbW9ub3NwYWNlLCBzYW5zLXNlcmlmO1xuICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICBjb2xvcjogI2NjYztcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMjIyO1xuICAgIHJlc2l6ZTogbm9uZTtcbiAgICBvdXRsaW5lOiBub25lO1xuICAgIC1tcy1ib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xufVxuLm5vdGUtZWRpdG9yLm5vdGUtZnJhbWUuZnVsbHNjcmVlbixcbi5ub3RlLWVkaXRvci5ub3RlLWFpcmZyYW1lLmZ1bGxzY3JlZW4ge1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICB3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuICAgIHotaW5kZXg6IDEwNTA7XG59XG4ubm90ZS1lZGl0b3Iubm90ZS1mcmFtZS5mdWxsc2NyZWVuIC5ub3RlLXJlc2l6ZWJhcixcbi5ub3RlLWVkaXRvci5ub3RlLWFpcmZyYW1lLmZ1bGxzY3JlZW4gLm5vdGUtcmVzaXplYmFyIHtcbiAgICBkaXNwbGF5OiBub25lO1xufVxuLm5vdGUtZWRpdG9yLm5vdGUtZnJhbWUgLm5vdGUtc3RhdHVzLW91dHB1dCxcbi5ub3RlLWVkaXRvci5ub3RlLWFpcmZyYW1lIC5ub3RlLXN0YXR1cy1vdXRwdXQge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICBsaW5lLWhlaWdodDogMS40Mjg1NzE0MztcbiAgICBoZWlnaHQ6IDIwcHg7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICBjb2xvcjogIzAwMDtcbiAgICBib3JkZXI6IDA7XG4gICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNlMmUyZTI7XG59XG4ubm90ZS1lZGl0b3Iubm90ZS1mcmFtZSAubm90ZS1zdGF0dXMtb3V0cHV0OmVtcHR5LFxuLm5vdGUtZWRpdG9yLm5vdGUtYWlyZnJhbWUgLm5vdGUtc3RhdHVzLW91dHB1dDplbXB0eSB7XG4gICAgaGVpZ2h0OiAwO1xuICAgIGJvcmRlci10b3A6IDAgc29saWQgdHJhbnNwYXJlbnQ7XG59XG4ubm90ZS1lZGl0b3Iubm90ZS1mcmFtZSAubm90ZS1zdGF0dXMtb3V0cHV0IC5wdWxsLXJpZ2h0LFxuLm5vdGUtZWRpdG9yLm5vdGUtYWlyZnJhbWUgLm5vdGUtc3RhdHVzLW91dHB1dCAucHVsbC1yaWdodCB7XG4gICAgZmxvYXQ6IHJpZ2h0ICFpbXBvcnRhbnQ7XG59XG4ubm90ZS1lZGl0b3Iubm90ZS1mcmFtZSAubm90ZS1zdGF0dXMtb3V0cHV0IC50ZXh0LW11dGVkLFxuLm5vdGUtZWRpdG9yLm5vdGUtYWlyZnJhbWUgLm5vdGUtc3RhdHVzLW91dHB1dCAudGV4dC1tdXRlZCB7XG4gICAgY29sb3I6ICM3Nzc7XG59XG4ubm90ZS1lZGl0b3Iubm90ZS1mcmFtZSAubm90ZS1zdGF0dXMtb3V0cHV0IC50ZXh0LXByaW1hcnksXG4ubm90ZS1lZGl0b3Iubm90ZS1haXJmcmFtZSAubm90ZS1zdGF0dXMtb3V0cHV0IC50ZXh0LXByaW1hcnkge1xuICAgIGNvbG9yOiAjMjg2MDkwO1xufVxuLm5vdGUtZWRpdG9yLm5vdGUtZnJhbWUgLm5vdGUtc3RhdHVzLW91dHB1dCAudGV4dC1zdWNjZXNzLFxuLm5vdGUtZWRpdG9yLm5vdGUtYWlyZnJhbWUgLm5vdGUtc3RhdHVzLW91dHB1dCAudGV4dC1zdWNjZXNzIHtcbiAgICBjb2xvcjogIzNjNzYzZDtcbn1cbi5ub3RlLWVkaXRvci5ub3RlLWZyYW1lIC5ub3RlLXN0YXR1cy1vdXRwdXQgLnRleHQtaW5mbyxcbi5ub3RlLWVkaXRvci5ub3RlLWFpcmZyYW1lIC5ub3RlLXN0YXR1cy1vdXRwdXQgLnRleHQtaW5mbyB7XG4gICAgY29sb3I6ICMzMTcwOGY7XG59XG4ubm90ZS1lZGl0b3Iubm90ZS1mcmFtZSAubm90ZS1zdGF0dXMtb3V0cHV0IC50ZXh0LXdhcm5pbmcsXG4ubm90ZS1lZGl0b3Iubm90ZS1haXJmcmFtZSAubm90ZS1zdGF0dXMtb3V0cHV0IC50ZXh0LXdhcm5pbmcge1xuICAgIGNvbG9yOiAjOGE2ZDNiO1xufVxuLm5vdGUtZWRpdG9yLm5vdGUtZnJhbWUgLm5vdGUtc3RhdHVzLW91dHB1dCAudGV4dC1kYW5nZXIsXG4ubm90ZS1lZGl0b3Iubm90ZS1haXJmcmFtZSAubm90ZS1zdGF0dXMtb3V0cHV0IC50ZXh0LWRhbmdlciB7XG4gICAgY29sb3I6ICNhOTQ0NDI7XG59XG4ubm90ZS1lZGl0b3Iubm90ZS1mcmFtZSAubm90ZS1zdGF0dXMtb3V0cHV0IC5hbGVydCxcbi5ub3RlLWVkaXRvci5ub3RlLWFpcmZyYW1lIC5ub3RlLXN0YXR1cy1vdXRwdXQgLmFsZXJ0IHtcbiAgICBtYXJnaW46IC03cHggMCAwIDA7XG4gICAgcGFkZGluZzogN3B4IDEwcHggMnB4IDEwcHg7XG4gICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICBjb2xvcjogIzAwMDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjVmNWY1O1xufVxuLm5vdGUtZWRpdG9yLm5vdGUtZnJhbWUgLm5vdGUtc3RhdHVzLW91dHB1dCAuYWxlcnQgLm5vdGUtaWNvbixcbi5ub3RlLWVkaXRvci5ub3RlLWFpcmZyYW1lIC5ub3RlLXN0YXR1cy1vdXRwdXQgLmFsZXJ0IC5ub3RlLWljb24ge1xuICAgIG1hcmdpbi1yaWdodDogNXB4O1xufVxuLm5vdGUtZWRpdG9yLm5vdGUtZnJhbWUgLm5vdGUtc3RhdHVzLW91dHB1dCAuYWxlcnQtc3VjY2Vzcyxcbi5ub3RlLWVkaXRvci5ub3RlLWFpcmZyYW1lIC5ub3RlLXN0YXR1cy1vdXRwdXQgLmFsZXJ0LXN1Y2Nlc3Mge1xuICAgIGNvbG9yOiAjM2M3NjNkICFpbXBvcnRhbnQ7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2RmZjBkOCAhaW1wb3J0YW50O1xufVxuLm5vdGUtZWRpdG9yLm5vdGUtZnJhbWUgLm5vdGUtc3RhdHVzLW91dHB1dCAuYWxlcnQtaW5mbyxcbi5ub3RlLWVkaXRvci5ub3RlLWFpcmZyYW1lIC5ub3RlLXN0YXR1cy1vdXRwdXQgLmFsZXJ0LWluZm8ge1xuICAgIGNvbG9yOiAjMzE3MDhmICFpbXBvcnRhbnQ7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2Q5ZWRmNyAhaW1wb3J0YW50O1xufVxuLm5vdGUtZWRpdG9yLm5vdGUtZnJhbWUgLm5vdGUtc3RhdHVzLW91dHB1dCAuYWxlcnQtd2FybmluZyxcbi5ub3RlLWVkaXRvci5ub3RlLWFpcmZyYW1lIC5ub3RlLXN0YXR1cy1vdXRwdXQgLmFsZXJ0LXdhcm5pbmcge1xuICAgIGNvbG9yOiAjOGE2ZDNiICFpbXBvcnRhbnQ7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZjZjhlMyAhaW1wb3J0YW50O1xufVxuLm5vdGUtZWRpdG9yLm5vdGUtZnJhbWUgLm5vdGUtc3RhdHVzLW91dHB1dCAuYWxlcnQtZGFuZ2VyLFxuLm5vdGUtZWRpdG9yLm5vdGUtYWlyZnJhbWUgLm5vdGUtc3RhdHVzLW91dHB1dCAuYWxlcnQtZGFuZ2VyIHtcbiAgICBjb2xvcjogI2E5NDQ0MiAhaW1wb3J0YW50O1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmMmRlZGUgIWltcG9ydGFudDtcbn1cbi5ub3RlLWVkaXRvci5ub3RlLWZyYW1lIC5ub3RlLXN0YXR1c2Jhcixcbi5ub3RlLWVkaXRvci5ub3RlLWFpcmZyYW1lIC5ub3RlLXN0YXR1c2JhciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzgwODA4MDFkO1xuICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDRweDtcbiAgICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogNHB4O1xuICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAjMDAwMDAwMzI7XG59XG4ubm90ZS1lZGl0b3Iubm90ZS1mcmFtZSAubm90ZS1zdGF0dXNiYXIgLm5vdGUtcmVzaXplYmFyLFxuLm5vdGUtZWRpdG9yLm5vdGUtYWlyZnJhbWUgLm5vdGUtc3RhdHVzYmFyIC5ub3RlLXJlc2l6ZWJhciB7XG4gICAgcGFkZGluZy10b3A6IDFweDtcbiAgICBoZWlnaHQ6IDlweDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBjdXJzb3I6IG5zLXJlc2l6ZTtcbn1cbi5ub3RlLWVkaXRvci5ub3RlLWZyYW1lIC5ub3RlLXN0YXR1c2JhciAubm90ZS1yZXNpemViYXIgLm5vdGUtaWNvbi1iYXIsXG4ubm90ZS1lZGl0b3Iubm90ZS1haXJmcmFtZSAubm90ZS1zdGF0dXNiYXIgLm5vdGUtcmVzaXplYmFyIC5ub3RlLWljb24tYmFyIHtcbiAgICB3aWR0aDogMjBweDtcbiAgICBtYXJnaW46IDFweCBhdXRvO1xuICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAjMDAwMDAwMzI7XG59XG4ubm90ZS1lZGl0b3Iubm90ZS1mcmFtZSAubm90ZS1zdGF0dXNiYXIubG9ja2VkIC5ub3RlLXJlc2l6ZWJhcixcbi5ub3RlLWVkaXRvci5ub3RlLWFpcmZyYW1lIC5ub3RlLXN0YXR1c2Jhci5sb2NrZWQgLm5vdGUtcmVzaXplYmFyIHtcbiAgICBjdXJzb3I6IGRlZmF1bHQ7XG59XG4ubm90ZS1lZGl0b3Iubm90ZS1mcmFtZSAubm90ZS1zdGF0dXNiYXIubG9ja2VkIC5ub3RlLXJlc2l6ZWJhciAubm90ZS1pY29uLWJhcixcbi5ub3RlLWVkaXRvci5ub3RlLWFpcmZyYW1lIC5ub3RlLXN0YXR1c2Jhci5sb2NrZWQgLm5vdGUtcmVzaXplYmFyIC5ub3RlLWljb24tYmFyIHtcbiAgICBkaXNwbGF5OiBub25lO1xufVxuLm5vdGUtZWRpdG9yLm5vdGUtZnJhbWUgLm5vdGUtcGxhY2Vob2xkZXIsXG4ubm90ZS1lZGl0b3Iubm90ZS1haXJmcmFtZSAubm90ZS1wbGFjZWhvbGRlciB7XG4gICAgcGFkZGluZzogMTBweDtcbn1cblxuLm5vdGUtZWRpdG9yLm5vdGUtYWlyZnJhbWUge1xuICAgIGJvcmRlcjogMDtcbn1cbi5ub3RlLWVkaXRvci5ub3RlLWFpcmZyYW1lIC5ub3RlLWVkaXRpbmctYXJlYSAubm90ZS1lZGl0YWJsZSB7XG4gICAgcGFkZGluZzogMDtcbn1cblxuLyogUG9wb3ZlclxuIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLm5vdGUtcG9wb3Zlci5wb3BvdmVyIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICAgIG1heC13aWR0aDogbm9uZTtcbn1cbi5ub3RlLXBvcG92ZXIucG9wb3ZlciAucG9wb3Zlci1jb250ZW50IGEge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBtYXgtd2lkdGg6IDIwMHB4O1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xufVxuLm5vdGUtcG9wb3Zlci5wb3BvdmVyIC5hcnJvdyB7XG4gICAgbGVmdDogMjBweCAhaW1wb3J0YW50O1xufVxuXG4vKiBQb3BvdmVyIGFuZCBUb29sYmFyIChCdXR0b24gY29udGFpbmVyKVxuIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLm5vdGUtdG9vbGJhciB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4ubm90ZS1wb3BvdmVyIC5wb3BvdmVyLWNvbnRlbnQsIC5ub3RlLWVkaXRvciAubm90ZS10b29sYmFyIHtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMCAwIDVweCA1cHg7XG59XG4ubm90ZS1wb3BvdmVyIC5wb3BvdmVyLWNvbnRlbnQgPiAubm90ZS1idG4tZ3JvdXAsIC5ub3RlLWVkaXRvciAubm90ZS10b29sYmFyID4gLm5vdGUtYnRuLWdyb3VwIHtcbiAgICBtYXJnaW4tdG9wOiA1cHg7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgbWFyZ2luLXJpZ2h0OiA1cHg7XG59XG4ubm90ZS1wb3BvdmVyIC5wb3BvdmVyLWNvbnRlbnQgLm5vdGUtYnRuLWdyb3VwIC5ub3RlLXRhYmxlLCAubm90ZS1lZGl0b3IgLm5vdGUtdG9vbGJhciAubm90ZS1idG4tZ3JvdXAgLm5vdGUtdGFibGUge1xuICAgIG1pbi13aWR0aDogMDtcbiAgICBwYWRkaW5nOiA1cHg7XG59XG4ubm90ZS1wb3BvdmVyIC5wb3BvdmVyLWNvbnRlbnQgLm5vdGUtYnRuLWdyb3VwIC5ub3RlLXRhYmxlIC5ub3RlLWRpbWVuc2lvbi1waWNrZXIsIC5ub3RlLWVkaXRvciAubm90ZS10b29sYmFyIC5ub3RlLWJ0bi1ncm91cCAubm90ZS10YWJsZSAubm90ZS1kaW1lbnNpb24tcGlja2VyIHtcbiAgICBmb250LXNpemU6IDE4cHg7XG59XG4ubm90ZS1wb3BvdmVyIC5wb3BvdmVyLWNvbnRlbnQgLm5vdGUtYnRuLWdyb3VwIC5ub3RlLXRhYmxlIC5ub3RlLWRpbWVuc2lvbi1waWNrZXIgLm5vdGUtZGltZW5zaW9uLXBpY2tlci1tb3VzZWNhdGNoZXIsIC5ub3RlLWVkaXRvciAubm90ZS10b29sYmFyIC5ub3RlLWJ0bi1ncm91cCAubm90ZS10YWJsZSAubm90ZS1kaW1lbnNpb24tcGlja2VyIC5ub3RlLWRpbWVuc2lvbi1waWNrZXItbW91c2VjYXRjaGVyIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGUgIWltcG9ydGFudDtcbiAgICB6LWluZGV4OiAzO1xuICAgIHdpZHRoOiAxMGVtO1xuICAgIGhlaWdodDogMTBlbTtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG59XG4ubm90ZS1wb3BvdmVyIC5wb3BvdmVyLWNvbnRlbnQgLm5vdGUtYnRuLWdyb3VwIC5ub3RlLXRhYmxlIC5ub3RlLWRpbWVuc2lvbi1waWNrZXIgLm5vdGUtZGltZW5zaW9uLXBpY2tlci11bmhpZ2hsaWdodGVkLCAubm90ZS1lZGl0b3IgLm5vdGUtdG9vbGJhciAubm90ZS1idG4tZ3JvdXAgLm5vdGUtdGFibGUgLm5vdGUtZGltZW5zaW9uLXBpY2tlciAubm90ZS1kaW1lbnNpb24tcGlja2VyLXVuaGlnaGxpZ2h0ZWQge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZSAhaW1wb3J0YW50O1xuICAgIHotaW5kZXg6IDE7XG4gICAgd2lkdGg6IDVlbTtcbiAgICBoZWlnaHQ6IDVlbTtcbiAgICBiYWNrZ3JvdW5kOiB1cmwoXCJkYXRhOmltYWdlL3BuZztiYXNlNjQsaVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQUJJQUFBQVNBZ01BQUFBcm9HYkVBQUFBQ1ZCTVZFVUFBSWo0K1BqcDZla0tsQXFqQUFBQUFYUlNUbE1BUU9iWVpnQUFBQUZpUzBkRUFJZ0ZIVWdBQUFBSmNFaFpjd0FBQ3hNQUFBc1RBUUNhbkJnQUFBQUhkRWxOUlFmWUFSMEJLaG1uYUp6UEFBQUFHMGxFUVZRSTEyTmdBQU90VmF0V01UQ29ob2FHVVkrRW1Ja0VBRXJ1RXpLMko3dHZBQUFBQUVsRlRrU3VRbUNDXCIpIHJlcGVhdDtcbn1cbi5ub3RlLXBvcG92ZXIgLnBvcG92ZXItY29udGVudCAubm90ZS1idG4tZ3JvdXAgLm5vdGUtdGFibGUgLm5vdGUtZGltZW5zaW9uLXBpY2tlciAubm90ZS1kaW1lbnNpb24tcGlja2VyLWhpZ2hsaWdodGVkLCAubm90ZS1lZGl0b3IgLm5vdGUtdG9vbGJhciAubm90ZS1idG4tZ3JvdXAgLm5vdGUtdGFibGUgLm5vdGUtZGltZW5zaW9uLXBpY2tlciAubm90ZS1kaW1lbnNpb24tcGlja2VyLWhpZ2hsaWdodGVkIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGUgIWltcG9ydGFudDtcbiAgICB6LWluZGV4OiAyO1xuICAgIHdpZHRoOiAxZW07XG4gICAgaGVpZ2h0OiAxZW07XG4gICAgYmFja2dyb3VuZDogdXJsKFwiZGF0YTppbWFnZS9wbmc7YmFzZTY0LGlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUFCSUFBQUFTQWdNQUFBQXJvR2JFQUFBQUNWQk1WRVVBQUlqZDZ2dkQyZjlMS0xXK0FBQUFBWFJTVGxNQVFPYllaZ0FBQUFGaVMwZEVBSWdGSFVnQUFBQUpjRWhaY3dBQUN4TUFBQXNUQVFDYW5CZ0FBQUFIZEVsTlJRZllBUjBCS3dOREVWVDBBQUFBRzBsRVFWUUkxMk5nQUFPdFZhdFdNVENvaG9hR1VZK0VtSWtFQUVydUV6SzJKN3R2QUFBQUFFbEZUa1N1UW1DQ1wiKSByZXBlYXQ7XG59XG4ubm90ZS1wb3BvdmVyIC5wb3BvdmVyLWNvbnRlbnQgLm5vdGUtc3R5bGUgLmRyb3Bkb3duLXN0eWxlIGJsb2NrcXVvdGUsIC5ub3RlLXBvcG92ZXIgLnBvcG92ZXItY29udGVudCAubm90ZS1zdHlsZSAuZHJvcGRvd24tc3R5bGUgcHJlLCAubm90ZS1lZGl0b3IgLm5vdGUtdG9vbGJhciAubm90ZS1zdHlsZSAuZHJvcGRvd24tc3R5bGUgYmxvY2txdW90ZSwgLm5vdGUtZWRpdG9yIC5ub3RlLXRvb2xiYXIgLm5vdGUtc3R5bGUgLmRyb3Bkb3duLXN0eWxlIHByZSB7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDVweCAxMHB4O1xufVxuLm5vdGUtcG9wb3ZlciAucG9wb3Zlci1jb250ZW50IC5ub3RlLXN0eWxlIC5kcm9wZG93bi1zdHlsZSBoMSwgLm5vdGUtcG9wb3ZlciAucG9wb3Zlci1jb250ZW50IC5ub3RlLXN0eWxlIC5kcm9wZG93bi1zdHlsZSBoMiwgLm5vdGUtcG9wb3ZlciAucG9wb3Zlci1jb250ZW50IC5ub3RlLXN0eWxlIC5kcm9wZG93bi1zdHlsZSBoMywgLm5vdGUtcG9wb3ZlciAucG9wb3Zlci1jb250ZW50IC5ub3RlLXN0eWxlIC5kcm9wZG93bi1zdHlsZSBoNCwgLm5vdGUtcG9wb3ZlciAucG9wb3Zlci1jb250ZW50IC5ub3RlLXN0eWxlIC5kcm9wZG93bi1zdHlsZSBoNSwgLm5vdGUtcG9wb3ZlciAucG9wb3Zlci1jb250ZW50IC5ub3RlLXN0eWxlIC5kcm9wZG93bi1zdHlsZSBoNiwgLm5vdGUtcG9wb3ZlciAucG9wb3Zlci1jb250ZW50IC5ub3RlLXN0eWxlIC5kcm9wZG93bi1zdHlsZSBwLCAubm90ZS1lZGl0b3IgLm5vdGUtdG9vbGJhciAubm90ZS1zdHlsZSAuZHJvcGRvd24tc3R5bGUgaDEsIC5ub3RlLWVkaXRvciAubm90ZS10b29sYmFyIC5ub3RlLXN0eWxlIC5kcm9wZG93bi1zdHlsZSBoMiwgLm5vdGUtZWRpdG9yIC5ub3RlLXRvb2xiYXIgLm5vdGUtc3R5bGUgLmRyb3Bkb3duLXN0eWxlIGgzLCAubm90ZS1lZGl0b3IgLm5vdGUtdG9vbGJhciAubm90ZS1zdHlsZSAuZHJvcGRvd24tc3R5bGUgaDQsIC5ub3RlLWVkaXRvciAubm90ZS10b29sYmFyIC5ub3RlLXN0eWxlIC5kcm9wZG93bi1zdHlsZSBoNSwgLm5vdGUtZWRpdG9yIC5ub3RlLXRvb2xiYXIgLm5vdGUtc3R5bGUgLmRyb3Bkb3duLXN0eWxlIGg2LCAubm90ZS1lZGl0b3IgLm5vdGUtdG9vbGJhciAubm90ZS1zdHlsZSAuZHJvcGRvd24tc3R5bGUgcCB7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG59XG4ubm90ZS1wb3BvdmVyIC5wb3BvdmVyLWNvbnRlbnQgLm5vdGUtY29sb3ItYWxsIC5ub3RlLWRyb3Bkb3duLW1lbnUsIC5ub3RlLWVkaXRvciAubm90ZS10b29sYmFyIC5ub3RlLWNvbG9yLWFsbCAubm90ZS1kcm9wZG93bi1tZW51IHtcbiAgICBtaW4td2lkdGg6IDMzN3B4O1xufVxuLm5vdGUtcG9wb3ZlciAucG9wb3Zlci1jb250ZW50IC5ub3RlLWNvbG9yIC5kcm9wZG93bi10b2dnbGUsIC5ub3RlLWVkaXRvciAubm90ZS10b29sYmFyIC5ub3RlLWNvbG9yIC5kcm9wZG93bi10b2dnbGUge1xuICAgIHdpZHRoOiAyMHB4O1xuICAgIHBhZGRpbmctbGVmdDogNXB4O1xufVxuLm5vdGUtcG9wb3ZlciAucG9wb3Zlci1jb250ZW50IC5ub3RlLWNvbG9yIC5ub3RlLWRyb3Bkb3duLW1lbnUgLm5vdGUtcGFsZXR0ZSwgLm5vdGUtZWRpdG9yIC5ub3RlLXRvb2xiYXIgLm5vdGUtY29sb3IgLm5vdGUtZHJvcGRvd24tbWVudSAubm90ZS1wYWxldHRlIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgbWFyZ2luOiAwO1xuICAgIHdpZHRoOiAxNjBweDtcbn1cbi5ub3RlLXBvcG92ZXIgLnBvcG92ZXItY29udGVudCAubm90ZS1jb2xvciAubm90ZS1kcm9wZG93bi1tZW51IC5ub3RlLXBhbGV0dGU6Zmlyc3QtY2hpbGQsIC5ub3RlLWVkaXRvciAubm90ZS10b29sYmFyIC5ub3RlLWNvbG9yIC5ub3RlLWRyb3Bkb3duLW1lbnUgLm5vdGUtcGFsZXR0ZTpmaXJzdC1jaGlsZCB7XG4gICAgbWFyZ2luOiAwIDVweDtcbn1cbi5ub3RlLXBvcG92ZXIgLnBvcG92ZXItY29udGVudCAubm90ZS1jb2xvciAubm90ZS1kcm9wZG93bi1tZW51IC5ub3RlLXBhbGV0dGUgLm5vdGUtcGFsZXR0ZS10aXRsZSwgLm5vdGUtZWRpdG9yIC5ub3RlLXRvb2xiYXIgLm5vdGUtY29sb3IgLm5vdGUtZHJvcGRvd24tbWVudSAubm90ZS1wYWxldHRlIC5ub3RlLXBhbGV0dGUtdGl0bGUge1xuICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICBtYXJnaW46IDJweCA3cHg7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZWVlO1xufVxuLm5vdGUtcG9wb3ZlciAucG9wb3Zlci1jb250ZW50IC5ub3RlLWNvbG9yIC5ub3RlLWRyb3Bkb3duLW1lbnUgLm5vdGUtcGFsZXR0ZSAubm90ZS1jb2xvci1yZXNldCxcbi5ub3RlLXBvcG92ZXIgLnBvcG92ZXItY29udGVudCAubm90ZS1jb2xvciAubm90ZS1kcm9wZG93bi1tZW51IC5ub3RlLXBhbGV0dGUgLm5vdGUtY29sb3Itc2VsZWN0LCAubm90ZS1lZGl0b3IgLm5vdGUtdG9vbGJhciAubm90ZS1jb2xvciAubm90ZS1kcm9wZG93bi1tZW51IC5ub3RlLXBhbGV0dGUgLm5vdGUtY29sb3ItcmVzZXQsXG4ubm90ZS1lZGl0b3IgLm5vdGUtdG9vbGJhciAubm90ZS1jb2xvciAubm90ZS1kcm9wZG93bi1tZW51IC5ub3RlLXBhbGV0dGUgLm5vdGUtY29sb3Itc2VsZWN0IHtcbiAgICBmb250LXNpemU6IDExcHg7XG4gICAgbWFyZ2luOiAzcHg7XG4gICAgcGFkZGluZzogMCAzcHg7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGJvcmRlci1yYWRpdXM6IDVweDtcbn1cbi5ub3RlLXBvcG92ZXIgLnBvcG92ZXItY29udGVudCAubm90ZS1jb2xvciAubm90ZS1kcm9wZG93bi1tZW51IC5ub3RlLXBhbGV0dGUgLm5vdGUtY29sb3ItcmVzZXQ6aG92ZXIsXG4ubm90ZS1wb3BvdmVyIC5wb3BvdmVyLWNvbnRlbnQgLm5vdGUtY29sb3IgLm5vdGUtZHJvcGRvd24tbWVudSAubm90ZS1wYWxldHRlIC5ub3RlLWNvbG9yLXNlbGVjdDpob3ZlciwgLm5vdGUtZWRpdG9yIC5ub3RlLXRvb2xiYXIgLm5vdGUtY29sb3IgLm5vdGUtZHJvcGRvd24tbWVudSAubm90ZS1wYWxldHRlIC5ub3RlLWNvbG9yLXJlc2V0OmhvdmVyLFxuLm5vdGUtZWRpdG9yIC5ub3RlLXRvb2xiYXIgLm5vdGUtY29sb3IgLm5vdGUtZHJvcGRvd24tbWVudSAubm90ZS1wYWxldHRlIC5ub3RlLWNvbG9yLXNlbGVjdDpob3ZlciB7XG4gICAgYmFja2dyb3VuZDogI2VlZTtcbn1cbi5ub3RlLXBvcG92ZXIgLnBvcG92ZXItY29udGVudCAubm90ZS1jb2xvciAubm90ZS1kcm9wZG93bi1tZW51IC5ub3RlLXBhbGV0dGUgLm5vdGUtY29sb3Itcm93LCAubm90ZS1lZGl0b3IgLm5vdGUtdG9vbGJhciAubm90ZS1jb2xvciAubm90ZS1kcm9wZG93bi1tZW51IC5ub3RlLXBhbGV0dGUgLm5vdGUtY29sb3Itcm93IHtcbiAgICBoZWlnaHQ6IDIwcHg7XG59XG4ubm90ZS1wb3BvdmVyIC5wb3BvdmVyLWNvbnRlbnQgLm5vdGUtY29sb3IgLm5vdGUtZHJvcGRvd24tbWVudSAubm90ZS1wYWxldHRlIC5ub3RlLWNvbG9yLXNlbGVjdC1idG4sIC5ub3RlLWVkaXRvciAubm90ZS10b29sYmFyIC5ub3RlLWNvbG9yIC5ub3RlLWRyb3Bkb3duLW1lbnUgLm5vdGUtcGFsZXR0ZSAubm90ZS1jb2xvci1zZWxlY3QtYnRuIHtcbiAgICBkaXNwbGF5OiBub25lO1xufVxuLm5vdGUtcG9wb3ZlciAucG9wb3Zlci1jb250ZW50IC5ub3RlLWNvbG9yIC5ub3RlLWRyb3Bkb3duLW1lbnUgLm5vdGUtcGFsZXR0ZSAubm90ZS1ob2xkZXItY3VzdG9tIC5ub3RlLWNvbG9yLWJ0biwgLm5vdGUtZWRpdG9yIC5ub3RlLXRvb2xiYXIgLm5vdGUtY29sb3IgLm5vdGUtZHJvcGRvd24tbWVudSAubm90ZS1wYWxldHRlIC5ub3RlLWhvbGRlci1jdXN0b20gLm5vdGUtY29sb3ItYnRuIHtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjZWVlO1xufVxuLm5vdGUtcG9wb3ZlciAucG9wb3Zlci1jb250ZW50IC5ub3RlLXBhcmEgLm5vdGUtZHJvcGRvd24tbWVudSwgLm5vdGUtZWRpdG9yIC5ub3RlLXRvb2xiYXIgLm5vdGUtcGFyYSAubm90ZS1kcm9wZG93bi1tZW51IHtcbiAgICBtaW4td2lkdGg6IDIyOHB4O1xuICAgIHBhZGRpbmc6IDVweDtcbn1cbi5ub3RlLXBvcG92ZXIgLnBvcG92ZXItY29udGVudCAubm90ZS1wYXJhIC5ub3RlLWRyb3Bkb3duLW1lbnUgPiBkaXYgKyBkaXYsIC5ub3RlLWVkaXRvciAubm90ZS10b29sYmFyIC5ub3RlLXBhcmEgLm5vdGUtZHJvcGRvd24tbWVudSA+IGRpdiArIGRpdiB7XG4gICAgbWFyZ2luLWxlZnQ6IDVweDtcbn1cbi5ub3RlLXBvcG92ZXIgLnBvcG92ZXItY29udGVudCAubm90ZS1kcm9wZG93bi1tZW51LCAubm90ZS1lZGl0b3IgLm5vdGUtdG9vbGJhciAubm90ZS1kcm9wZG93bi1tZW51IHtcbiAgICBtaW4td2lkdGg6IDE2MHB4O1xufVxuLm5vdGUtcG9wb3ZlciAucG9wb3Zlci1jb250ZW50IC5ub3RlLWRyb3Bkb3duLW1lbnUucmlnaHQsIC5ub3RlLWVkaXRvciAubm90ZS10b29sYmFyIC5ub3RlLWRyb3Bkb3duLW1lbnUucmlnaHQge1xuICAgIHJpZ2h0OiAwO1xuICAgIGxlZnQ6IGF1dG87XG59XG4ubm90ZS1wb3BvdmVyIC5wb3BvdmVyLWNvbnRlbnQgLm5vdGUtZHJvcGRvd24tbWVudS5yaWdodDo6YmVmb3JlLCAubm90ZS1lZGl0b3IgLm5vdGUtdG9vbGJhciAubm90ZS1kcm9wZG93bi1tZW51LnJpZ2h0OjpiZWZvcmUge1xuICAgIHJpZ2h0OiA5cHg7XG4gICAgbGVmdDogYXV0byAhaW1wb3J0YW50O1xufVxuLm5vdGUtcG9wb3ZlciAucG9wb3Zlci1jb250ZW50IC5ub3RlLWRyb3Bkb3duLW1lbnUucmlnaHQ6OmFmdGVyLCAubm90ZS1lZGl0b3IgLm5vdGUtdG9vbGJhciAubm90ZS1kcm9wZG93bi1tZW51LnJpZ2h0OjphZnRlciB7XG4gICAgcmlnaHQ6IDEwcHg7XG4gICAgbGVmdDogYXV0byAhaW1wb3J0YW50O1xufVxuLm5vdGUtcG9wb3ZlciAucG9wb3Zlci1jb250ZW50IC5ub3RlLWRyb3Bkb3duLW1lbnUubm90ZS1jaGVjayBhIGksIC5ub3RlLWVkaXRvciAubm90ZS10b29sYmFyIC5ub3RlLWRyb3Bkb3duLW1lbnUubm90ZS1jaGVjayBhIGkge1xuICAgIGNvbG9yOiBkZWVwc2t5Ymx1ZTtcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG59XG4ubm90ZS1wb3BvdmVyIC5wb3BvdmVyLWNvbnRlbnQgLm5vdGUtZHJvcGRvd24tbWVudS5ub3RlLWNoZWNrIGEuY2hlY2tlZCBpLCAubm90ZS1lZGl0b3IgLm5vdGUtdG9vbGJhciAubm90ZS1kcm9wZG93bi1tZW51Lm5vdGUtY2hlY2sgYS5jaGVja2VkIGkge1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG59XG4ubm90ZS1wb3BvdmVyIC5wb3BvdmVyLWNvbnRlbnQgLm5vdGUtZm9udHNpemUtMTAsIC5ub3RlLWVkaXRvciAubm90ZS10b29sYmFyIC5ub3RlLWZvbnRzaXplLTEwIHtcbiAgICBmb250LXNpemU6IDEwcHg7XG59XG4ubm90ZS1wb3BvdmVyIC5wb3BvdmVyLWNvbnRlbnQgLm5vdGUtY29sb3ItcGFsZXR0ZSwgLm5vdGUtZWRpdG9yIC5ub3RlLXRvb2xiYXIgLm5vdGUtY29sb3ItcGFsZXR0ZSB7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG59XG4ubm90ZS1wb3BvdmVyIC5wb3BvdmVyLWNvbnRlbnQgLm5vdGUtY29sb3ItcGFsZXR0ZSBkaXYgLm5vdGUtY29sb3ItYnRuLCAubm90ZS1lZGl0b3IgLm5vdGUtdG9vbGJhciAubm90ZS1jb2xvci1wYWxldHRlIGRpdiAubm90ZS1jb2xvci1idG4ge1xuICAgIHdpZHRoOiAyMHB4O1xuICAgIGhlaWdodDogMjBweDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIG1hcmdpbjogMDtcbiAgICBib3JkZXI6IDA7XG4gICAgYm9yZGVyLXJhZGl1czogMDtcbn1cbi5ub3RlLXBvcG92ZXIgLnBvcG92ZXItY29udGVudCAubm90ZS1jb2xvci1wYWxldHRlIGRpdiAubm90ZS1jb2xvci1idG46aG92ZXIsIC5ub3RlLWVkaXRvciAubm90ZS10b29sYmFyIC5ub3RlLWNvbG9yLXBhbGV0dGUgZGl2IC5ub3RlLWNvbG9yLWJ0bjpob3ZlciB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxLjIpO1xuICAgIHRyYW5zaXRpb246IGFsbCAwLjJzO1xufVxuXG4vKiBEaWFsb2dcbiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi5ub3RlLW1vZGFsIC5tb2RhbC1kaWFsb2cge1xuICAgIG91dGxpbmU6IDA7XG4gICAgYm9yZGVyLXJhZGl1czogNXB4O1xuICAgIGJveC1zaGFkb3c6IDAgM3B4IDlweCByZ2JhKDAsIDAsIDAsIDAuNSk7XG59XG4ubm90ZS1tb2RhbCAuZm9ybS1ncm91cCB7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xufVxuLm5vdGUtbW9kYWwgLm5vdGUtbW9kYWwtZm9ybSB7XG4gICAgbWFyZ2luOiAwO1xufVxuLm5vdGUtbW9kYWwgLm5vdGUtaW1hZ2UtZGlhbG9nIC5ub3RlLWRyb3B6b25lIHtcbiAgICBtaW4taGVpZ2h0OiAxMDBweDtcbiAgICBmb250LXNpemU6IDMwcHg7XG4gICAgbGluZS1oZWlnaHQ6IDQ7XG4gICAgY29sb3I6IGxpZ2h0Z3JheTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgYm9yZGVyOiA0cHggZGFzaGVkIGxpZ2h0Z3JheTtcbiAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xufVxuQC1tb3otZG9jdW1lbnQgdXJsLXByZWZpeCgpIHtcbiAgICAubm90ZS1tb2RhbCAubm90ZS1pbWFnZS1pbnB1dCB7XG4gICAgICAgIGhlaWdodDogYXV0bztcbiAgICB9XG59XG5cbi8qIFBsYWNlaG9sZGVyXG4gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4ubm90ZS1wbGFjZWhvbGRlciB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgY29sb3I6IGdyYXk7XG59XG5cbi8qIEhhbmRsZVxuIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLm5vdGUtaGFuZGxlIC5ub3RlLWNvbnRyb2wtc2VsZWN0aW9uIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjMDAwO1xufVxuLm5vdGUtaGFuZGxlIC5ub3RlLWNvbnRyb2wtc2VsZWN0aW9uID4gZGl2IHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG59XG4ubm90ZS1oYW5kbGUgLm5vdGUtY29udHJvbC1zZWxlY3Rpb24gLm5vdGUtY29udHJvbC1zZWxlY3Rpb24tYmcge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDAwO1xuICAgIC13ZWJraXQtb3BhY2l0eTogMC4zO1xuICAgIC1raHRtbC1vcGFjaXR5OiAwLjM7XG4gICAgLW1vei1vcGFjaXR5OiAwLjM7XG4gICAgb3BhY2l0eTogMC4zO1xuICAgIC1tcy1maWx0ZXI6IHByb2dpZDpEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5BbHBoYShvcGFjaXR5PTMwKTtcbiAgICBmaWx0ZXI6IGFscGhhKG9wYWNpdHk9MzApO1xufVxuLm5vdGUtaGFuZGxlIC5ub3RlLWNvbnRyb2wtc2VsZWN0aW9uIC5ub3RlLWNvbnRyb2wtaGFuZGxlLCAubm90ZS1oYW5kbGUgLm5vdGUtY29udHJvbC1zZWxlY3Rpb24gLm5vdGUtY29udHJvbC1zaXppbmcsIC5ub3RlLWhhbmRsZSAubm90ZS1jb250cm9sLXNlbGVjdGlvbiAubm90ZS1jb250cm9sLWhvbGRlciB7XG4gICAgd2lkdGg6IDdweDtcbiAgICBoZWlnaHQ6IDdweDtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjMDAwO1xufVxuLm5vdGUtaGFuZGxlIC5ub3RlLWNvbnRyb2wtc2VsZWN0aW9uIC5ub3RlLWNvbnRyb2wtc2l6aW5nIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDAwO1xufVxuLm5vdGUtaGFuZGxlIC5ub3RlLWNvbnRyb2wtc2VsZWN0aW9uIC5ub3RlLWNvbnRyb2wtbncge1xuICAgIHRvcDogLTVweDtcbiAgICBsZWZ0OiAtNXB4O1xuICAgIGJvcmRlci1yaWdodDogbm9uZTtcbiAgICBib3JkZXItYm90dG9tOiBub25lO1xufVxuLm5vdGUtaGFuZGxlIC5ub3RlLWNvbnRyb2wtc2VsZWN0aW9uIC5ub3RlLWNvbnRyb2wtbmUge1xuICAgIHRvcDogLTVweDtcbiAgICByaWdodDogLTVweDtcbiAgICBib3JkZXItYm90dG9tOiBub25lO1xuICAgIGJvcmRlci1sZWZ0OiBub25lO1xufVxuLm5vdGUtaGFuZGxlIC5ub3RlLWNvbnRyb2wtc2VsZWN0aW9uIC5ub3RlLWNvbnRyb2wtc3cge1xuICAgIGJvdHRvbTogLTVweDtcbiAgICBsZWZ0OiAtNXB4O1xuICAgIGJvcmRlci10b3A6IG5vbmU7XG4gICAgYm9yZGVyLXJpZ2h0OiBub25lO1xufVxuLm5vdGUtaGFuZGxlIC5ub3RlLWNvbnRyb2wtc2VsZWN0aW9uIC5ub3RlLWNvbnRyb2wtc2Uge1xuICAgIHJpZ2h0OiAtNXB4O1xuICAgIGJvdHRvbTogLTVweDtcbiAgICBjdXJzb3I6IHNlLXJlc2l6ZTtcbn1cbi5ub3RlLWhhbmRsZSAubm90ZS1jb250cm9sLXNlbGVjdGlvbiAubm90ZS1jb250cm9sLXNlLm5vdGUtY29udHJvbC1ob2xkZXIge1xuICAgIGN1cnNvcjogZGVmYXVsdDtcbiAgICBib3JkZXItdG9wOiBub25lO1xuICAgIGJvcmRlci1sZWZ0OiBub25lO1xufVxuLm5vdGUtaGFuZGxlIC5ub3RlLWNvbnRyb2wtc2VsZWN0aW9uIC5ub3RlLWNvbnRyb2wtc2VsZWN0aW9uLWluZm8ge1xuICAgIHJpZ2h0OiAwO1xuICAgIGJvdHRvbTogMDtcbiAgICBwYWRkaW5nOiA1cHg7XG4gICAgbWFyZ2luOiA1cHg7XG4gICAgY29sb3I6ICNmZmY7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzAwMDtcbiAgICBmb250LXNpemU6IDEycHg7XG4gICAgYm9yZGVyLXJhZGl1czogNXB4O1xuICAgIC13ZWJraXQtb3BhY2l0eTogMC43O1xuICAgIC1raHRtbC1vcGFjaXR5OiAwLjc7XG4gICAgLW1vei1vcGFjaXR5OiAwLjc7XG4gICAgb3BhY2l0eTogMC43O1xuICAgIC1tcy1maWx0ZXI6IHByb2dpZDpEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5BbHBoYShvcGFjaXR5PTcwKTtcbiAgICBmaWx0ZXI6IGFscGhhKG9wYWNpdHk9NzApO1xufVxuXG4ubm90ZS1oaW50LXBvcG92ZXIge1xuICAgIG1pbi13aWR0aDogMTAwcHg7XG4gICAgcGFkZGluZzogMnB4O1xufVxuLm5vdGUtaGludC1wb3BvdmVyIC5wb3BvdmVyLWNvbnRlbnQge1xuICAgIHBhZGRpbmc6IDNweDtcbiAgICBtYXgtaGVpZ2h0OiAxNTBweDtcbiAgICBvdmVyZmxvdzogYXV0bztcbn1cbi5ub3RlLWhpbnQtcG9wb3ZlciAucG9wb3Zlci1jb250ZW50IC5ub3RlLWhpbnQtZ3JvdXAgLm5vdGUtaGludC1pdGVtIHtcbiAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuICAgIHBhZGRpbmc6IDNweDtcbn1cbi5ub3RlLWhpbnQtcG9wb3ZlciAucG9wb3Zlci1jb250ZW50IC5ub3RlLWhpbnQtZ3JvdXAgLm5vdGUtaGludC1pdGVtLmFjdGl2ZSwgLm5vdGUtaGludC1wb3BvdmVyIC5wb3BvdmVyLWNvbnRlbnQgLm5vdGUtaGludC1ncm91cCAubm90ZS1oaW50LWl0ZW06aG92ZXIge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGNsZWFyOiBib3RoO1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgbGluZS1oZWlnaHQ6IDEuNDtcbiAgICBjb2xvcjogd2hpdGU7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzQyOGJjYTtcbiAgICBvdXRsaW5lOiAwO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbn1cblxuLyogSGFuZGxlXG4gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5odG1sIC5ub3RlLWZ1bGxzY3JlZW4tYm9keSwgYm9keSAubm90ZS1mdWxsc2NyZWVuLWJvZHkge1xuICAgIG92ZXJmbG93OiBoaWRkZW4gIWltcG9ydGFudDtcbn1cblxuLm5vdGUtZWRpdG9yIC5ub3RlLWVkaXRpbmctYXJlYSAubm90ZS1lZGl0YWJsZSB0YWJsZSB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgYm9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZTtcbn1cbi5ub3RlLWVkaXRvciAubm90ZS1lZGl0aW5nLWFyZWEgLm5vdGUtZWRpdGFibGUgdGFibGUgdGQsIC5ub3RlLWVkaXRvciAubm90ZS1lZGl0aW5nLWFyZWEgLm5vdGUtZWRpdGFibGUgdGFibGUgdGgge1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICNlY2VjZWM7XG4gICAgcGFkZGluZzogNXB4IDNweDtcbn1cbi5ub3RlLWVkaXRvciAubm90ZS1lZGl0aW5nLWFyZWEgLm5vdGUtZWRpdGFibGUgYSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogaW5oZXJpdDtcbiAgICB0ZXh0LWRlY29yYXRpb246IGluaGVyaXQ7XG4gICAgZm9udC1mYW1pbHk6IGluaGVyaXQ7XG4gICAgZm9udC13ZWlnaHQ6IGluaGVyaXQ7XG4gICAgY29sb3I6ICMzMzdhYjc7XG59XG4ubm90ZS1lZGl0b3IgLm5vdGUtZWRpdGluZy1hcmVhIC5ub3RlLWVkaXRhYmxlIGE6aG92ZXIsXG4ubm90ZS1lZGl0b3IgLm5vdGUtZWRpdGluZy1hcmVhIC5ub3RlLWVkaXRhYmxlIGE6Zm9jdXMge1xuICAgIGNvbG9yOiAjMjM1MjdjO1xuICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgIG91dGxpbmU6IDA7XG59XG4ubm90ZS1lZGl0b3IgLm5vdGUtZWRpdGluZy1hcmVhIC5ub3RlLWVkaXRhYmxlIGZpZ3VyZSB7XG4gICAgbWFyZ2luOiAwO1xufVxuXG4vKiBEaWFsb2dcbiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLm5vdGUtbW9kYWwgLm5vdGUtbW9kYWwtYm9keSBsYWJlbCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMnB4O1xuICAgIHBhZGRpbmc6IDJweCA1cHg7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xufVxuLm5vdGUtbW9kYWwgLm5vdGUtbW9kYWwtYm9keSAuaGVscC1saXN0LWl0ZW06aG92ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNlMGUwZTA7XG59XG5ALW1vei1kb2N1bWVudCB1cmwtcHJlZml4KCkge1xuICAgIC5ub3RlLW1vZGFsIC5ub3RlLWltYWdlLWlucHV0IHtcbiAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgIH1cbn1cblxuLmhlbHAtbGlzdC1pdGVtIGxhYmVsIHtcbiAgICBtYXJnaW4tYm90dG9tOiA1cHg7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xufVxuXG4vKiMgc291cmNlTWFwcGluZ1VSTD1zdW1tZXJub3RlLWxpdGUuY3NzLm1hcCovIiwiLy8gVmFyaWFibGVzXG5cbiRzbmktY3NzLXByZWZpeDogbm90ZS1pY29uICFkZWZhdWx0O1xuXG4vLyBQYXRoXG5cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogXCJzdW1tZXJub3RlXCI7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgZm9udC1kaXNwbGF5OiBhdXRvO1xuICBzcmM6IHVybChcIi4vZm9udC9zdW1tZXJub3RlLmVvdD8jaWVmaXhcIikgZm9ybWF0KFwiZW1iZWRkZWQtb3BlbnR5cGVcIiksIHVybChcIi4vZm9udC9zdW1tZXJub3RlLndvZmYyXCIpIGZvcm1hdChcIndvZmYyXCIpLCB1cmwoXCIuL2ZvbnQvc3VtbWVybm90ZS53b2ZmXCIpIGZvcm1hdChcIndvZmZcIiksIHVybChcIi4vZm9udC9zdW1tZXJub3RlLnR0ZlwiKSBmb3JtYXQoXCJ0cnVldHlwZVwiKTt9XG5cbi8vIENvcmVcblxuW2NsYXNzXj1cIiN7JHNuaS1jc3MtcHJlZml4fVwiXTpiZWZvcmUsXG5bY2xhc3MqPVwiICN7JHNuaS1jc3MtcHJlZml4fVwiXTpiZWZvcmUge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGZvbnQtZmFtaWx5OiBcInN1bW1lcm5vdGVcIjtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXNpemU6IGluaGVyaXQ7XG4gIHRleHQtZGVjb3JhdGlvbjogaW5oZXJpdDtcbiAgdGV4dC1yZW5kZXJpbmc6IGF1dG87XG4gIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlO1xuICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbiAgc3BlYWs6IG5vbmU7XG59XG5cbi8vIEV4dHJhc1xuXG4uI3skc25pLWNzcy1wcmVmaXh9LWZ3IHtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB3aWR0aDogMS4yNWVtO1xufVxuXG4uI3skc25pLWNzcy1wcmVmaXh9LWJvcmRlciB7XG4gIGJvcmRlcjogc29saWQgMC4wOGVtICNlZWU7XG4gIGJvcmRlci1yYWRpdXM6IDAuMWVtO1xuICBwYWRkaW5nOiAwLjJlbSAwLjI1ZW0gMC4xNWVtO1xufVxuXG4uI3skc25pLWNzcy1wcmVmaXh9LXB1bGwtbGVmdCB7XG4gIGZsb2F0OiBsZWZ0O1xufVxuXG4uI3skc25pLWNzcy1wcmVmaXh9LXB1bGwtcmlnaHQge1xuICBmbG9hdDogcmlnaHQ7XG59XG5cbi4jeyRzbmktY3NzLXByZWZpeH0ge1xuICAmLiN7JHNuaS1jc3MtcHJlZml4fS1wdWxsLWxlZnQge1xuICAgIG1hcmdpbi1yaWdodDogMC4zZW07XG4gIH1cbiAgJi4jeyRzbmktY3NzLXByZWZpeH0tcHVsbC1yaWdodCB7XG4gICAgbWFyZ2luLWxlZnQ6IDAuM2VtO1xuICB9XG59XG5cbi8vIEZ1bmN0aW9uc1xuXG5AZnVuY3Rpb24gY2hhcigkY2hhcmFjdGVyLWNvZGUpIHtcbiAgQGlmIGZ1bmN0aW9uLWV4aXN0cyhcInNlbGVjdG9yLWFwcGVuZFwiKSB7XG4gICAgQHJldHVybiB1bnF1b3RlKFwiXFxcIlxcXFwjeyRjaGFyYWN0ZXItY29kZX1cXFwiXCIpO1xuICB9XG5cbiAgQGlmIFwiXFxcXCN7J3gnfVwiID09IFwiXFxcXHhcIiB7XG4gICAgQHJldHVybiBzdHItc2xpY2UoXCJcXHhcIiwgMSwgMSkgKyAkY2hhcmFjdGVyLWNvZGU7XG4gIH1cbiAgQGVsc2Uge1xuICAgIEByZXR1cm4gI3tcIlxcXCJcXFxcXCJ9I3skY2hhcmFjdGVyLWNvZGUgKyBcIlxcXCJcIn07XG4gIH1cbn1cblxuLy8gSWNvbnNcblxuXG4ubm90ZS1pY29uLWFsaWduOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWEwMVwiO1xufVxuXG4ubm90ZS1pY29uLWFsaWduLWNlbnRlcjo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGVhMDJcIjtcbn1cblxuLm5vdGUtaWNvbi1hbGlnbi1pbmRlbnQ6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlYTAzXCI7XG59XG5cbi5ub3RlLWljb24tYWxpZ24tanVzdGlmeTo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGVhMDRcIjtcbn1cblxuLm5vdGUtaWNvbi1hbGlnbi1sZWZ0OjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWEwNVwiO1xufVxuXG4ubm90ZS1pY29uLWFsaWduLW91dGRlbnQ6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlYTA2XCI7XG59XG5cbi5ub3RlLWljb24tYWxpZ24tcmlnaHQ6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlYTA3XCI7XG59XG5cbi5ub3RlLWljb24tYXJyb3ctY2lyY2xlLWRvd246OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlYTA4XCI7XG59XG5cbi5ub3RlLWljb24tYXJyb3ctY2lyY2xlLWxlZnQ6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlYTA5XCI7XG59XG5cbi5ub3RlLWljb24tYXJyb3ctY2lyY2xlLXJpZ2h0OjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWEwYVwiO1xufVxuXG4ubm90ZS1pY29uLWFycm93LWNpcmNsZS11cDo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGVhMGJcIjtcbn1cblxuLm5vdGUtaWNvbi1hcnJvd3MtYWx0OjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWEwY1wiO1xufVxuXG4ubm90ZS1pY29uLWFycm93cy1oOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWEwZFwiO1xufVxuXG4ubm90ZS1pY29uLWFycm93cy12OjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWEwZVwiO1xufVxuXG4ubm90ZS1pY29uLWJvbGQ6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlYTBmXCI7XG59XG5cbi5ub3RlLWljb24tY2FyZXQ6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlYTEwXCI7XG59XG5cbi5ub3RlLWljb24tY2hhaW4tYnJva2VuOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWExMVwiO1xufVxuXG4ubm90ZS1pY29uLWNpcmNsZTo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGVhMTJcIjtcbn1cblxuLm5vdGUtaWNvbi1jbG9zZTo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGVhMTNcIjtcbn1cblxuLm5vdGUtaWNvbi1jb2RlOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWExNFwiO1xufVxuXG4ubm90ZS1pY29uLWNvbC1hZnRlcjo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGVhMTVcIjtcbn1cblxuLm5vdGUtaWNvbi1jb2wtYmVmb3JlOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWExNlwiO1xufVxuXG4ubm90ZS1pY29uLWNvbC1yZW1vdmU6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlYTE3XCI7XG59XG5cbi5ub3RlLWljb24tZXJhc2VyOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWExOFwiO1xufVxuXG4ubm90ZS1pY29uLWZsb2F0LWxlZnQ6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlYTE5XCI7XG59XG5cbi5ub3RlLWljb24tZmxvYXQtbm9uZTo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGVhMWFcIjtcbn1cblxuLm5vdGUtaWNvbi1mbG9hdC1yaWdodDo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGVhMWJcIjtcbn1cblxuLm5vdGUtaWNvbi1mb250OjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWExY1wiO1xufVxuXG4ubm90ZS1pY29uLWZyYW1lOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWExZFwiO1xufVxuXG4ubm90ZS1pY29uLWl0YWxpYzo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGVhMWVcIjtcbn1cblxuLm5vdGUtaWNvbi1saW5rOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWExZlwiO1xufVxuXG4ubm90ZS1pY29uLW1hZ2ljOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWEyMFwiO1xufVxuXG4ubm90ZS1pY29uLW1lbnUtY2hlY2s6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlYTIxXCI7XG59XG5cbi5ub3RlLWljb24tbWludXM6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlYTIyXCI7XG59XG5cbi5ub3RlLWljb24tb3JkZXJlZGxpc3Q6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlYTIzXCI7XG59XG5cbi5ub3RlLWljb24tcGVuY2lsOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWEyNFwiO1xufVxuXG4ubm90ZS1pY29uLXBpY3R1cmU6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlYTI1XCI7XG59XG5cbi5ub3RlLWljb24tcXVlc3Rpb246OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlYTI2XCI7XG59XG5cbi5ub3RlLWljb24tcmVkbzo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGVhMjdcIjtcbn1cblxuLm5vdGUtaWNvbi1yb2xsYmFjazo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGVhMjhcIjtcbn1cblxuLm5vdGUtaWNvbi1yb3ctYWJvdmU6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlYTI5XCI7XG59XG5cbi5ub3RlLWljb24tcm93LWJlbG93OjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWEyYVwiO1xufVxuXG4ubm90ZS1pY29uLXJvdy1yZW1vdmU6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlYTJiXCI7XG59XG5cbi5ub3RlLWljb24tc3BlY2lhbC1jaGFyYWN0ZXI6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlYTJjXCI7XG59XG5cbi5ub3RlLWljb24tc3F1YXJlOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWEyZFwiO1xufVxuXG4ubm90ZS1pY29uLXN0cmlrZXRocm91Z2g6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlYTJlXCI7XG59XG5cbi5ub3RlLWljb24tc3Vic2NyaXB0OjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWEyZlwiO1xufVxuXG4ubm90ZS1pY29uLXN1bW1lcm5vdGU6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlYTMwXCI7XG59XG5cbi5ub3RlLWljb24tc3VwZXJzY3JpcHQ6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlYTMxXCI7XG59XG5cbi5ub3RlLWljb24tdGFibGU6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlYTMyXCI7XG59XG5cbi5ub3RlLWljb24tdGV4dC1oZWlnaHQ6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlYTMzXCI7XG59XG5cbi5ub3RlLWljb24tdHJhc2g6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlYTM0XCI7XG59XG5cbi5ub3RlLWljb24tdW5kZXJsaW5lOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWEzNVwiO1xufVxuXG4ubm90ZS1pY29uLXVuZG86OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlYTM2XCI7XG59XG5cbi5ub3RlLWljb24tdW5vcmRlcmVkbGlzdDo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGVhMzdcIjtcbn1cblxuLm5vdGUtaWNvbi12aWRlbzo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGVhMzhcIjtcbn1cblxuIiwiLy8gQ29yZSB2YXJpYWJsZXMgYW5kIG1peGluc1xuQGltcG9ydCAnLi4vc3VtbWVybm90ZS9mb250LnNjc3MnO1xuQGltcG9ydCAnLi4vc3VtbWVybm90ZS9lbGVtZW50cy5zY3NzJztcbkBpbXBvcnQgXCJzY3NzL3ZhcmlhYmxlcy5zY3NzXCI7XG5AaW1wb3J0IFwic2Nzcy9taXhpbnMuc2Nzc1wiO1xuXG5AaW1wb3J0IFwic2Nzcy9jb21tb24uc2Nzc1wiO1xuQGltcG9ydCBcInNjc3MvdG9vbGJhci5zY3NzXCI7XG5AaW1wb3J0IFwic2Nzcy9idG4tZ3JvdXAuc2Nzc1wiO1xuQGltcG9ydCBcInNjc3MvYnV0dG9ucy5zY3NzXCI7XG5AaW1wb3J0IFwic2Nzcy9kcm9wZG93bi5zY3NzXCI7XG5AaW1wb3J0IFwic2Nzcy9tb2RhbC5zY3NzXCI7XG5AaW1wb3J0IFwic2Nzcy9mb3JtLnNjc3NcIjtcbkBpbXBvcnQgXCJzY3NzL3Rvb2x0aXAuc2Nzc1wiO1xuQGltcG9ydCBcInNjc3MvcG9wb3Zlci5zY3NzXCI7XG5cbkBpbXBvcnQgJy4uL3N1bW1lcm5vdGUvY29tbW9uLnNjc3MnO1xuXG4ubm90ZS1lZGl0b3Ige1xuICAubm90ZS1lZGl0aW5nLWFyZWEge1xuICAgIC5ub3RlLWVkaXRhYmxlIHtcbiAgICAgIHRhYmxlIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2U7XG5cbiAgICAgICAgIHRkLCB0aCB7XG4gICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgI2VjZWNlYztcbiAgICAgICAgICBwYWRkaW5nOiA1cHggM3B4O1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIGEge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBpbmhlcml0O1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IGluaGVyaXQ7XG4gICAgICAgIGZvbnQtZmFtaWx5OiBpbmhlcml0O1xuICAgICAgICBmb250LXdlaWdodDogaW5oZXJpdDtcbiAgICAgICAgY29sb3I6ICMzMzdhYjc7XG4gICAgICB9XG5cbiAgICAgIGE6aG92ZXIsXG4gICAgICBhOmZvY3VzIHtcbiAgICAgICAgY29sb3I6ICMyMzUyN2M7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgICAgICBvdXRsaW5lOiAwO1xuICAgICAgfVxuXG4gICAgICBmaWd1cmUge1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8qIERpYWxvZ1xuIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4ubm90ZS1tb2RhbCB7XG4gIC5ub3RlLW1vZGFsLWJvZHkge1xuICAgIGxhYmVsIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDJweDtcbiAgICAgIHBhZGRpbmc6IDJweCA1cHg7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgfVxuXG4gICAgIC5oZWxwLWxpc3QtaXRlbTpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTBlMGUwO1xuICAgIH1cbiAgfVxuXG4gICAvLyBbd29ya2Fyb3VuZF0gZmlyZWZveCBmaWxlaW5wdXRcbiAgQC1tb3otZG9jdW1lbnQgdXJsLXByZWZpeCgpIHtcbiAgICAubm90ZS1pbWFnZS1pbnB1dCB7XG4gICAgICBoZWlnaHQ6IGF1dG87XG4gICAgfVxuICB9XG59XG5cblxuLmhlbHAtbGlzdC1pdGVtIHtcbiAgbGFiZWwge1xuICAgIG1hcmdpbi1ib3R0b206NXB4O1xuICAgIGRpc3BsYXk6aW5saW5lLWJsb2NrO1xuICB9XG59XG4iLCIubm90ZS1mcmFtZSB7XG4gIEBpbmNsdWRlIGJveC1zaXppbmcoYm9yZGVyLWJveCk7XG4gIGNvbG9yOiAjMDAwO1xuICBmb250LWZhbWlseTogJGZvbnQtZmFtaWx5O1xuICBib3JkZXItcmFkaXVzOiA0cHg7XG59XG4iLCJAbWl4aW4gZ3JhZGllbnQoJGNvbG9yOiAjRjVGNUY1LCAkc3RhcnQ6ICNFRUUsICRzdG9wOiAjRkZGKSB7XG4gIGJhY2tncm91bmQ6ICRjb2xvcjtcbiAgYmFja2dyb3VuZDogLXdlYmtpdC1ncmFkaWVudChsaW5lYXIsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGVmdCBib3R0b20sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGVmdCB0b3AsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29sb3Itc3RvcCgwLCAkc3RhcnQpLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yLXN0b3AoMSwgJHN0b3ApKTtcbiAgYmFja2dyb3VuZDogLW1zLWxpbmVhci1ncmFkaWVudChib3R0b20sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJHN0YXJ0LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRzdG9wKTtcbiAgYmFja2dyb3VuZDogLW1vei1saW5lYXItZ3JhZGllbnQoY2VudGVyIGJvdHRvbSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJHN0YXJ0IDAlLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkc3RvcCAxMDAlKTtcbiAgYmFja2dyb3VuZDogLW8tbGluZWFyLWdyYWRpZW50KCRzdG9wLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJHN0YXJ0KTtcbiAgZmlsdGVyOiBwcm9naWQ6RFhJbWFnZVRyYW5zZm9ybS5NaWNyb3NvZnQuZ3JhZGllbnQoc3RhcnRDb2xvcnN0cj0nI3tpZS1oZXgtc3RyKCRzdG9wKX0nLCBlbmRDb2xvcnN0cj0nI3tpZS1oZXgtc3RyKCRzdGFydCl9JywgR3JhZGllbnRUeXBlPTApO1xufVxuQG1peGluIGJ3LWdyYWRpZW50KCRjb2xvcjogI0Y1RjVGNSwgJHN0YXJ0OiAwLCAkc3RvcDogMjU1KSB7XG4gIGJhY2tncm91bmQ6ICRjb2xvcjtcbiAgYmFja2dyb3VuZDogLXdlYmtpdC1ncmFkaWVudChsaW5lYXIsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGVmdCBib3R0b20sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGVmdCB0b3AsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29sb3Itc3RvcCgwLCByZ2IoJHN0YXJ0LCRzdGFydCwkc3RhcnQpKSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2xvci1zdG9wKDEsIHJnYigkc3RvcCwkc3RvcCwkc3RvcCkpKTtcbiAgYmFja2dyb3VuZDogLW1zLWxpbmVhci1ncmFkaWVudChib3R0b20sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmdiKCRzdGFydCwkc3RhcnQsJHN0YXJ0KSAwJSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZ2IoJHN0b3AsJHN0b3AsJHN0b3ApIDEwMCUpO1xuICBiYWNrZ3JvdW5kOiAtbW96LWxpbmVhci1ncmFkaWVudChjZW50ZXIgYm90dG9tLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZ2IoJHN0YXJ0LCRzdGFydCwkc3RhcnQpIDAlLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZ2IoJHN0b3AsJHN0b3AsJHN0b3ApIDEwMCUpO1xuICBiYWNrZ3JvdW5kOiAtby1saW5lYXItZ3JhZGllbnQocmdiKCRzdG9wLCRzdG9wLCRzdG9wKSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJnYigkc3RhcnQsJHN0YXJ0LCRzdGFydCkpO1xuICBmaWx0ZXI6IHByb2dpZDpEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5ncmFkaWVudChzdGFydENvbG9yc3RyPScje2llLWhleC1zdHIocmdiKCRzdG9wLCRzdG9wLCRzdG9wKSl9JywgZW5kQ29sb3JzdHI9JyN7aWUtaGV4LXN0cihyZ2IoJHN0YXJ0LCRzdGFydCwkc3RhcnQpKX0nLCBHcmFkaWVudFR5cGU9MCk7XG59XG5AbWl4aW4gYm9yZGVyZWQoJHRvcC1jb2xvcjogI0VFRSwgJHJpZ2h0LWNvbG9yOiAjRUVFLCAkYm90dG9tLWNvbG9yOiAjRUVFLCAkbGVmdC1jb2xvcjogI0VFRSkge1xuICBib3JkZXItdG9wOiBzb2xpZCAxcHggJHRvcC1jb2xvcjtcbiAgYm9yZGVyLWxlZnQ6IHNvbGlkIDFweCAkbGVmdC1jb2xvcjtcbiAgYm9yZGVyLXJpZ2h0OiBzb2xpZCAxcHggJHJpZ2h0LWNvbG9yO1xuICBib3JkZXItYm90dG9tOiBzb2xpZCAxcHggJGJvdHRvbS1jb2xvcjtcbn1cbkBtaXhpbiBkcm9wLXNoYWRvdygkeC1heGlzOiAwLCAkeS1heGlzOiAxcHgsICRibHVyOiAycHgsICRhbHBoYTogMC4xKSB7XG4gIC13ZWJraXQtYm94LXNoYWRvdzogJHgtYXhpcyAkeS1heGlzICRibHVyIHJnYmEoMCwgMCwgMCwgJGFscGhhKTtcbiAgLW1vei1ib3gtc2hhZG93OiAkeC1heGlzICR5LWF4aXMgJGJsdXIgcmdiYSgwLCAwLCAwLCAkYWxwaGEpO1xuICBib3gtc2hhZG93OiAkeC1heGlzICR5LWF4aXMgJGJsdXIgcmdiYSgwLCAwLCAwLCAkYWxwaGEpO1xufVxuQG1peGluIHJvdW5kZWQoJHJhZGl1czogMnB4KSB7XG4gIC13ZWJraXQtYm9yZGVyLXJhZGl1czogJHJhZGl1cztcbiAgLW1vei1ib3JkZXItcmFkaXVzOiAkcmFkaXVzO1xuICBib3JkZXItcmFkaXVzOiAkcmFkaXVzO1xufVxuQG1peGluIGJvcmRlci1yYWRpdXMoJHRvcHJpZ2h0OiAwLCAkYm90dG9tcmlnaHQ6IDAsICRib3R0b21sZWZ0OiAwLCAkdG9wbGVmdDogMCkge1xuICAtd2Via2l0LWJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAkdG9wcmlnaHQ7XG4gIC13ZWJraXQtYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6ICRib3R0b21yaWdodDtcbiAgLXdlYmtpdC1ib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAkYm90dG9tbGVmdDtcbiAgLXdlYmtpdC1ib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAkdG9wbGVmdDtcbiAgLW1vei1ib3JkZXItcmFkaXVzLXRvcHJpZ2h0OiAkdG9wcmlnaHQ7XG4gIC1tb3otYm9yZGVyLXJhZGl1cy1ib3R0b21yaWdodDogJGJvdHRvbXJpZ2h0O1xuICAtbW96LWJvcmRlci1yYWRpdXMtYm90dG9tbGVmdDogJGJvdHRvbWxlZnQ7XG4gIC1tb3otYm9yZGVyLXJhZGl1cy10b3BsZWZ0OiAkdG9wbGVmdDtcbiAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6ICR0b3ByaWdodDtcbiAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6ICRib3R0b21yaWdodDtcbiAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogJGJvdHRvbWxlZnQ7XG4gIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6ICR0b3BsZWZ0O1xuICBAaW5jbHVkZSBiYWNrZ3JvdW5kLWNsaXAocGFkZGluZy1ib3gpO1xufVxuQG1peGluIG9wYWNpdHkoJG9wYWNpdHk6IDAuNSkge1xuICAtd2Via2l0LW9wYWNpdHk6ICRvcGFjaXR5O1xuICAta2h0bWwtb3BhY2l0eTogJG9wYWNpdHk7XG4gIC1tb3otb3BhY2l0eTogJG9wYWNpdHk7XG4gIG9wYWNpdHk6ICRvcGFjaXR5O1xuICAkb3BwZXJjOiAkb3BhY2l0eSAqIDEwMDtcbiAgLW1zLWZpbHRlcjogcHJvZ2lkOkRYSW1hZ2VUcmFuc2Zvcm0uTWljcm9zb2Z0LkFscGhhKG9wYWNpdHk9I3skb3BwZXJjfSk7XG4gIGZpbHRlcjogYWxwaGEob3BhY2l0eT0kb3BwZXJjKTtcbn1cbkBtaXhpbiB0cmFuc2l0aW9uLWR1cmF0aW9uKCRkdXJhdGlvbjogMC4ycykge1xuICAtbW96LXRyYW5zaXRpb24tZHVyYXRpb246ICRkdXJhdGlvbjtcbiAgLXdlYmtpdC10cmFuc2l0aW9uLWR1cmF0aW9uOiAkZHVyYXRpb247XG4gIC1vLXRyYW5zaXRpb24tZHVyYXRpb246ICRkdXJhdGlvbjtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogJGR1cmF0aW9uO1xufVxuQG1peGluIHRyYW5zZm9ybSgkYXJndW1lbnRzLi4uKSB7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiAkYXJndW1lbnRzO1xuICAtbW96LXRyYW5zZm9ybTogJGFyZ3VtZW50cztcbiAgLW8tdHJhbnNmb3JtOiAkYXJndW1lbnRzO1xuICAtbXMtdHJhbnNmb3JtOiAkYXJndW1lbnRzO1xuICB0cmFuc2Zvcm06ICRhcmd1bWVudHM7XG59XG5AbWl4aW4gcm90YXRpb24oJGRlZzo1ZGVnKSB7XG4gIEBpbmNsdWRlIHRyYW5zZm9ybShyb3RhdGUoJGRlZykpO1xufVxuQG1peGluIHNjYWxlKCRyYXRpbzoxLjUpIHtcbiAgQGluY2x1ZGUgdHJhbnNmb3JtKHNjYWxlKCRyYXRpbykpO1xufVxuQG1peGluIHRyYW5zaXRpb24oJGR1cmF0aW9uOjAuMnMsICRlYXNlOmVhc2Utb3V0KSB7XG4gIC13ZWJraXQtdHJhbnNpdGlvbjogYWxsICRkdXJhdGlvbiAkZWFzZTtcbiAgLW1vei10cmFuc2l0aW9uOiBhbGwgJGR1cmF0aW9uICRlYXNlO1xuICAtby10cmFuc2l0aW9uOiBhbGwgJGR1cmF0aW9uICRlYXNlO1xuICB0cmFuc2l0aW9uOiBhbGwgJGR1cmF0aW9uICRlYXNlO1xufVxuQG1peGluIGlubmVyLXNoYWRvdygkaG9yaXpvbnRhbDowLCAkdmVydGljYWw6MXB4LCAkYmx1cjoycHgsICRhbHBoYTogMC40KSB7XG4gIC13ZWJraXQtYm94LXNoYWRvdzogaW5zZXQgJGhvcml6b250YWwgJHZlcnRpY2FsICRibHVyIHJnYmEoMCwgMCwgMCwgJGFscGhhKTtcbiAgLW1vei1ib3gtc2hhZG93OiBpbnNldCAkaG9yaXpvbnRhbCAkdmVydGljYWwgJGJsdXIgcmdiYSgwLCAwLCAwLCAkYWxwaGEpO1xuICBib3gtc2hhZG93OiBpbnNldCAkaG9yaXpvbnRhbCAkdmVydGljYWwgJGJsdXIgcmdiYSgwLCAwLCAwLCAkYWxwaGEpO1xufVxuQG1peGluIGJveC1zaGFkb3coJGFyZ3VtZW50cykge1xuICAtd2Via2l0LWJveC1zaGFkb3c6ICRhcmd1bWVudHM7XG4gIC1tb3otYm94LXNoYWRvdzogJGFyZ3VtZW50cztcbiAgYm94LXNoYWRvdzogJGFyZ3VtZW50cztcbn1cbkBtaXhpbiBib3gtc2l6aW5nKCRzaXppbmc6IGJvcmRlci1ib3gpIHtcbiAgLW1zLWJveC1zaXppbmc6ICRzaXppbmc7XG4gIC1tb3otYm94LXNpemluZzogJHNpemluZztcbiAgLXdlYmtpdC1ib3gtc2l6aW5nOiAkc2l6aW5nO1xuICBib3gtc2l6aW5nOiAkc2l6aW5nO1xufVxuQG1peGluIHVzZXItc2VsZWN0KCRhcmd1bWVudDogbm9uZSkge1xuICAtd2Via2l0LXVzZXItc2VsZWN0OiAkYXJndW1lbnQ7XG4gIC1tb3otdXNlci1zZWxlY3Q6ICRhcmd1bWVudDtcbiAgLW1zLXVzZXItc2VsZWN0OiAkYXJndW1lbnQ7XG4gIHVzZXItc2VsZWN0OiAkYXJndW1lbnQ7XG59XG5AbWl4aW4gY29sdW1ucygkY29sd2lkdGg6IDI1MHB4LCAkY29sY291bnQ6IDAsICRjb2xnYXA6IDUwcHgsICRjb2x1bW5SdWxlQ29sb3I6ICNFRUUsICRjb2x1bW5SdWxlU3R5bGU6IHNvbGlkLCAkY29sdW1uUnVsZVdpZHRoOiAxcHgpIHtcbiAgLW1vei1jb2x1bW4td2lkdGg6ICRjb2x3aWR0aDtcbiAgLW1vei1jb2x1bW4tY291bnQ6ICRjb2xjb3VudDtcbiAgLW1vei1jb2x1bW4tZ2FwOiAkY29sZ2FwO1xuICAtbW96LWNvbHVtbi1ydWxlLWNvbG9yOiAkY29sdW1uUnVsZUNvbG9yO1xuICAtbW96LWNvbHVtbi1ydWxlLXN0eWxlOiAkY29sdW1uUnVsZVN0eWxlO1xuICAtbW96LWNvbHVtbi1ydWxlLXdpZHRoOiAkY29sdW1uUnVsZVdpZHRoO1xuICAtd2Via2l0LWNvbHVtbi13aWR0aDogJGNvbHdpZHRoO1xuICAtd2Via2l0LWNvbHVtbi1jb3VudDogJGNvbGNvdW50O1xuICAtd2Via2l0LWNvbHVtbi1nYXA6ICRjb2xnYXA7XG4gIC13ZWJraXQtY29sdW1uLXJ1bGUtY29sb3I6ICRjb2x1bW5SdWxlQ29sb3I7XG4gIC13ZWJraXQtY29sdW1uLXJ1bGUtc3R5bGU6ICRjb2x1bW5SdWxlU3R5bGU7XG4gIC13ZWJraXQtY29sdW1uLXJ1bGUtd2lkdGg6ICRjb2x1bW5SdWxlV2lkdGg7XG4gIGNvbHVtbi13aWR0aDogJGNvbHdpZHRoO1xuICBjb2x1bW4tY291bnQ6ICRjb2xjb3VudDtcbiAgY29sdW1uLWdhcDogJGNvbGdhcDtcbiAgY29sdW1uLXJ1bGUtY29sb3I6ICRjb2x1bW5SdWxlQ29sb3I7XG4gIGNvbHVtbi1ydWxlLXN0eWxlOiAkY29sdW1uUnVsZVN0eWxlO1xuICBjb2x1bW4tcnVsZS13aWR0aDogJGNvbHVtblJ1bGVXaWR0aDtcbn1cbkBtaXhpbiB0cmFuc2xhdGUoJHg6MCwgJHk6MCkge1xuICBAaW5jbHVkZSB0cmFuc2Zvcm0odHJhbnNsYXRlKCR4LCAkeSkpO1xufVxuQG1peGluIGJhY2tncm91bmQtY2xpcCgkYXJndW1lbnQ6IHBhZGRpbmctYm94KSB7XG4gIC1tb3otYmFja2dyb3VuZC1jbGlwOiAkYXJndW1lbnQ7XG4gIC13ZWJraXQtYmFja2dyb3VuZC1jbGlwOiAkYXJndW1lbnQ7XG4gIGJhY2tncm91bmQtY2xpcDogJGFyZ3VtZW50O1xufVxuIiwiLm5vdGUtdG9vbGJhciB7XG4gIHBhZGRpbmc6IDEwcHggNXB4O1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2UyZTJlMjtcbiAgY29sb3I6ICMzMzM7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmNWY1ZjU7XG4gIGJvcmRlci1jb2xvcjogI2RkZDtcbiAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogM3B4O1xuICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogM3B4O1xufVxuIiwiLm5vdGUtYnRuLWdyb3VwIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIG1hcmdpbi1yaWdodDogOHB4O1xuXG4gID4gLm5vdGUtYnRuLWdyb3VwIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gIH1cblxuICA+IC5ub3RlLWJ0bjpmaXJzdC1jaGlsZCB7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gIH1cblxuICAubm90ZS1idG4gKyAubm90ZS1idG4sXG4gIC5ub3RlLWJ0biArIC5ub3RlLWJ0bi1ncm91cCxcbiAgLm5vdGUtYnRuLWdyb3VwICsgLm5vdGUtYnRuLFxuICAubm90ZS1idG4tZ3JvdXAgKyAubm90ZS1idG4tZ3JvdXAge1xuICAgIG1hcmdpbi1sZWZ0OiAtMXB4O1xuICB9XG5cbiAgPiAubm90ZS1idG46bm90KDpmaXJzdC1jaGlsZCksXG4gID4gLm5vdGUtYnRuLWdyb3VwOm5vdCg6Zmlyc3QtY2hpbGQpID4gLm5vdGUtYnRuIHtcbiAgICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDA7XG4gICAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAwO1xuICB9XG5cbiAgPiAubm90ZS1idG46bm90KDpsYXN0LWNoaWxkKTpub3QoLmRyb3Bkb3duLXRvZ2dsZSksXG4gID4gLm5vdGUtYnRuLWdyb3VwOm5vdCg6bGFzdC1jaGlsZCkgPiAubm90ZS1idG4ge1xuICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAwO1xuICAgIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAwO1xuICB9XG5cbiAgJi5vcGVuIHtcbiAgICA+IC5ub3RlLWRyb3Bkb3duIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cbiAgfVxufVxuIiwiLm5vdGUtYnRuIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBmb250LXdlaWdodDogNDAwO1xuICBtYXJnaW4tYm90dG9tOiAwO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIHRvdWNoLWFjdGlvbjogbWFuaXB1bGF0aW9uO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7XG4gIGJvcmRlcjogMXB4IHNvbGlkICRidG4tZGVmYXVsdC1ib3JkZXI7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIG91dGxpbmU6IDA7XG4gIEBpbmNsdWRlIGJ1dHRvbi1tYWtlcigkYnRuLWRlZmF1bHQtY29sb3IsICRidG4tZGVmYXVsdC1iZywgJGJ0bi1kZWZhdWx0LWhvdmVyLWJnLCAgJGJ0bi1kZWZhdWx0LWFjdGl2ZS1iZywgJGJ0bi1kZWZhdWx0LWJvcmRlcik7XG4gIEBpbmNsdWRlIGJ1dHRvbi1zaXplKCRwYWRkaW5nLWJhc2UtdmVydGljYWwsICRwYWRkaW5nLWJhc2UtaG9yaXpvbnRhbCwgJGZvbnQtc2l6ZSwgJGxpbmUtaGVpZ2h0LCAkYnRuLWJvcmRlci1yYWRpdXMtYmFzZSk7XG4gIEBpbmNsdWRlIHVzZXItc2VsZWN0KG5vbmUpO1xuXG4gICY6aG92ZXIsXG4gICY6Zm9jdXMsXG4gICYuZm9jdXMge1xuICAgIGNvbG9yOiAkYnRuLWRlZmF1bHQtY29sb3I7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICRidG4tZGVmYXVsdC1ib3JkZXI7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJ0bi1kZWZhdWx0LWhvdmVyLWJnO1xuICAgIG91dGxpbmU6IDA7XG4gICAgQGluY2x1ZGUgcm91bmRlZCgxcHgpO1xuICB9XG5cbiAgJjphY3RpdmUsXG4gICYuYWN0aXZlIHtcbiAgICBvdXRsaW5lOiAwO1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7XG4gICAgY29sb3I6ICMzMzM7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICNkYWUwZTU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ViZWJlYjtcbiAgICBvdXRsaW5lOiAwO1xuICAgIGJvcmRlci1yYWRpdXM6IDFweDtcbiAgICAtd2Via2l0LWJveC1zaGFkb3c6IGluc2V0IDAgM3B4IDVweCByZ2JhKDAsIDAsIDAsIC4xMjUpO1xuICAgIGJveC1zaGFkb3c6IGluc2V0IDAgM3B4IDVweCByZ2JhKDAsIDAsIDAsIC4xMjUpO1xuICB9XG5cbiAgJi5kaXNhYmxlZCxcbiAgJltkaXNhYmxlZF0sXG4gIGZpZWxkc2V0W2Rpc2FibGVkXSAmIHtcbiAgICBjdXJzb3I6ICRjdXJzb3ItZGlzYWJsZWQ7XG4gICAgQGluY2x1ZGUgb3BhY2l0eSguNjUpO1xuICAgIEBpbmNsdWRlIGJveC1zaGFkb3cobm9uZSk7XG4gIH1cblxuICAmID4gc3Bhbi5ub3RlLWljb24tY2FyZXQ6Zmlyc3QtY2hpbGQge1xuICAgIG1hcmdpbi1sZWZ0OiAtMXB4O1xuICB9XG5cbiAgJiA+IHNwYW4ubm90ZS1pY29uLWNhcmV0Om50aC1jaGlsZCgyKSB7XG4gICAgcGFkZGluZy1sZWZ0OiAzcHg7XG4gICAgbWFyZ2luLXJpZ2h0OiAtNXB4O1xuICB9XG59XG5cbi5ub3RlLWJ0bi1wcmltYXJ5IHtcbiAgYmFja2dyb3VuZDogI2ZhNjM2MjtcbiAgY29sb3I6ICNmZmY7XG5cbiAgJjpob3ZlcixcbiAgJjpmb2N1cyxcbiAgJi5mb2N1cyB7XG4gICAgY29sb3I6ICNmZmY7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICRidG4tZGVmYXVsdC1ib3JkZXI7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZhNjM2MjtcbiAgICBAaW5jbHVkZSByb3VuZGVkKDFweCk7XG4gIH1cblxufVxuXG4ubm90ZS1idG4tYmxvY2sge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDEwMCU7XG59XG5cbi5ub3RlLWJ0bi1ibG9jayArIC5ub3RlLWJ0bi1ibG9jayB7XG4gIG1hcmdpbi10b3A6NXB4O1xufVxuXG4vLyBTcGVjaWZpY2l0eSBvdmVycmlkZXNcbmlucHV0W3R5cGU9XCJzdWJtaXRcIl0sXG5pbnB1dFt0eXBlPVwicmVzZXRcIl0sXG5pbnB1dFt0eXBlPVwiYnV0dG9uXCJdIHtcbiAgJi5ub3RlLWJ0bi1ibG9jayB7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cbn1cblxuYnV0dG9uLmNsb3NlIHtcbiAgcGFkZGluZzogMDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgYm9yZGVyOiAwO1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG59XG5cbi5jbG9zZSB7XG4gIGZsb2F0OiByaWdodDtcbiAgZm9udC1zaXplOiAyMXB4O1xuICBsaW5lLWhlaWdodDogMTtcbiAgY29sb3I6ICMwMDA7XG4gIG9wYWNpdHk6IC4yO1xufVxuXG4uY2xvc2U6aG92ZXIge1xuICAtd2Via2l0LW9wYWNpdHk6IDE7XG4gICAta2h0bWwtb3BhY2l0eTogMTtcbiAgICAgLW1vei1vcGFjaXR5OiAxO1xuICAgICAgIC1tcy1maWx0ZXI6IGFscGhhKG9wYWNpdHk9MTAwKTtcbiAgICAgICAgICAgZmlsdGVyOiBhbHBoYShvcGFjaXR5PTEwMCk7XG4gICAgICAgICAgb3BhY2l0eTogMVxufVxuIiwiLy8gQnV0dG9uIHZhcmlhbnRzXG4vL1xuLy8gRWFzaWx5IHB1bXAgb3V0IGRlZmF1bHQgc3R5bGVzLCBhcyB3ZWxsIGFzIDpob3ZlciwgOmZvY3VzLCA6YWN0aXZlLFxuLy8gYW5kIGRpc2FibGVkIG9wdGlvbnMgZm9yIGFsbCBidXR0b25zXG5cbkBtaXhpbiBidXR0b24tbWFrZXIoJGNvbG9yLCAkYmFja2dyb3VuZCwgJGZvY3VzQmFja2dyb3VuZCwgJGFjdGl2ZUJhY2tncm91bmQsICRib3JkZXIpIHtcbiAgY29sb3I6ICRjb2xvcjtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGJhY2tncm91bmQ7XG4gIGJvcmRlci1jb2xvcjogJGJvcmRlcjtcblxuICAmOmZvY3VzLFxuICAmLmZvY3VzIHtcbiAgICBjb2xvcjogJGNvbG9yO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRmb2N1c0JhY2tncm91bmQ7XG4gICAgYm9yZGVyLWNvbG9yOiAkYm9yZGVyO1xuICB9XG4gICY6aG92ZXIge1xuICAgIGNvbG9yOiAkY29sb3I7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGZvY3VzQmFja2dyb3VuZDtcbiAgICBib3JkZXItY29sb3I6ICRib3JkZXI7XG4gIH1cblxuICAmLmRpc2FibGVkLFxuICAmW2Rpc2FibGVkXSxcbiAgZmllbGRzZXRbZGlzYWJsZWRdICYge1xuICAgICY6Zm9jdXMsXG4gICAgJi5mb2N1cyB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFja2dyb3VuZDtcbiAgICAgIGJvcmRlci1jb2xvcjogJGJvcmRlcjtcbiAgICB9XG4gIH1cbn1cblxuLy8gQnV0dG9uIHNpemVzXG5AbWl4aW4gYnV0dG9uLXNpemUoJHBhZGRpbmctdmVydGljYWwsICRwYWRkaW5nLWhvcml6b250YWwsICRmb250LXNpemUsICRsaW5lLWhlaWdodCwgJGJvcmRlci1yYWRpdXMpIHtcbiAgcGFkZGluZzogJHBhZGRpbmctdmVydGljYWwgJHBhZGRpbmctaG9yaXpvbnRhbDtcbiAgZm9udC1zaXplOiAkZm9udC1zaXplO1xuICBsaW5lLWhlaWdodDogJGxpbmUtaGVpZ2h0O1xuICBib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJhZGl1cztcbn1cbiIsIlxuJGdyYXktYmFzZTogICAjMDAwO1xuJGdyYXktZGFya2VyOiBsaWdodGVuKCRncmF5LWJhc2UsIDEzLjUlKTsgLy8gIzIyMlxuJGdyYXktZGFyazogICBsaWdodGVuKCRncmF5LWJhc2UsIDIwJSk7ICAgLy8gIzMzM1xuJGdyYXk6ICAgICAgICBsaWdodGVuKCRncmF5LWJhc2UsIDMzLjUlKTsgLy8gIzU1NVxuJGdyYXktbGlnaHQ6ICBsaWdodGVuKCRncmF5LWJhc2UsIDQ2LjclKTsgLy8gIzc3N1xuJGdyYXktbGlnaHRlcjpsaWdodGVuKCRncmF5LWJhc2UsIDkzLjUlKTsgLy8gI2VlZVxuXG4kZm9udC1mYW1pbHk6IHNhbnMtc2VyaWY7XG4kZm9udC1zaXplOiAxNHB4O1xuJGZvbnQtc2l6ZS1sYXJnZTogY2VpbCgoJGZvbnQtc2l6ZSAqIDEuMjUpKTtcbiRmb250LXNpemUtc21hbGw6IGNlaWwoKCRmb250LXNpemUgKiAwLjg1KSk7XG5cbiRsaW5lLWhlaWdodDogMS40O1xuJGxpbmUtaGVpZ2h0LWNvbXB1dGVkOiBmbG9vcigoJGxpbmUtaGVpZ2h0ICogJGZvbnQtc2l6ZSkpO1xuXG4kcGFkZGluZy1iYXNlLXZlcnRpY2FsOiA1cHg7XG4kcGFkZGluZy1iYXNlLWhvcml6b250YWw6IDEwcHg7XG5cbiRib3JkZXItcmFkaXVzLWJhc2U6IDNweDtcbiRidG4tYm9yZGVyLXJhZGl1cy1iYXNlOiAkYm9yZGVyLXJhZGl1cy1iYXNlO1xuXG4kaWNvbi1mb250LXBhdGg6IFwiLi4vZm9udHMvXCI7XG4kaWNvbi1mb250LW5hbWU6IFwic3VtbWVybm90ZVwiO1xuJGljb24tZm9udC1zdmctaWQ6IFwic3VtbWVybm90ZVwiO1xuXG4kYnRuLWZvbnQtd2VpZ2h0OiBub3JtYWw7XG4kYnRuLWRlZmF1bHQtY29sb3IgOiAjMzMzO1xuJGJ0bi1kZWZhdWx0LWJnOiAjZmZmO1xuJGJ0bi1kZWZhdWx0LWJvcmRlcjogI2RhZTBlNTtcbiRidG4tZGVmYXVsdC1ob3Zlci1iZzogI2ViZWJlYjtcbiRidG4tZGVmYXVsdC1hY3RpdmUtYmc6ICNmMGYwZjA7XG5cbiRpbnB1dC1iZzogI2ZmZjtcbiRpbnB1dC1iZy1kaXNhYmxlZDogJGdyYXktbGlnaHRlcjtcbiRpbnB1dC1jb2xvcjogJGdyYXk7XG4kaW5wdXQtYm9yZGVyOiAjY2NjO1xuXG4kaW5wdXQtYm9yZGVyLWZvY3VzOiAjNjZhZmU5O1xuJGlucHV0LWNvbG9yLXBsYWNlaG9sZGVyOiAjOTk5O1xuXG4kY3Vyc29yLWRpc2FibGVkOiBub3QtYWxsb3dlZDtcblxuJHppbmRleC1kcm9wZG93bjogICAgICAgICAgMTAwMDtcbiR6aW5kZXgtcG9wb3ZlcjoxMDYwO1xuJHppbmRleC10b29sdGlwOjEwNzA7XG4kemluZGV4LW1vZGFsLWJhY2tncm91bmQ6ICAxMDQwO1xuJHppbmRleC1tb2RhbDogIDEwNTA7XG5cbiRkcm9wZG93bi1jb2xvci1iZzogI2ZmZjtcbiRkcm9wZG93bi1jb2xvci1ib3JkZXI6ICNlMmUyZTI7XG5cbiR0b29sdGlwLW1heC13aWR0aDoyMDBweDtcbiR0b29sdGlwLWNvbG9yOiAgICAjZmZmO1xuJHRvb2x0aXAtYmc6ICAgICAgICMwMDA7XG4kdG9vbHRpcC1vcGFjaXR5OiAgLjk7XG4kdG9vbHRpcC1hcnJvdy13aWR0aDogICAgICAgICA1cHg7XG4kdG9vbHRpcC1hcnJvdy1jb2xvcjogICAgICAgICAkdG9vbHRpcC1iZztcblxuJHBvcG92ZXItYmc6ICAgICNmZmZmZmY7XG4kcG9wb3Zlci1jb2xvcjogIzAwMDtcbiRwb3BvdmVyLW1heC13aWR0aDogICAgICAgIDI3NnB4O1xuJHBvcG92ZXItYm9yZGVyLWNvbG9yOiAgICAgcmdiYSgwLDAsMCwuMik7XG4kcG9wb3Zlci1mYWxsYmFjay1ib3JkZXItY29sb3I6ICAgICAgICNjY2M7XG4kcG9wb3Zlci10aXRsZS1iZzogICAgICAgICBkYXJrZW4oJHBvcG92ZXItYmcsIDMlKTtcbiRwb3BvdmVyLWFycm93LXdpZHRoOiAgICAgIDEwcHg7XG4kcG9wb3Zlci1hcnJvdy1jb2xvcjogICAgICAkcG9wb3Zlci1iZztcbiRwb3BvdmVyLWFycm93LW91dGVyLXdpZHRoOigkcG9wb3Zlci1hcnJvdy13aWR0aCArIDEpO1xuJHBvcG92ZXItYXJyb3ctb3V0ZXItY29sb3I6ZmFkZS1pbigkcG9wb3Zlci1ib3JkZXItY29sb3IsIC4wNSk7XG4kcG9wb3Zlci1hcnJvdy1vdXRlci1mYWxsYmFjay1jb2xvcjogIGRhcmtlbigkcG9wb3Zlci1mYWxsYmFjay1ib3JkZXItY29sb3IsIDIwJSk7XG5cblxuJG1vZGFsLWlubmVyLXBhZGRpbmc6IDE1cHg7XG4kbW9kYWwtdGl0bGUtcGFkZGluZzogMTVweDtcbiRtb2RhbC10aXRsZS1saW5lLWhlaWdodDogJGxpbmUtaGVpZ2h0O1xuJG1vZGFsLWNvbnRlbnQtYmc6ICNmZmY7XG4kbW9kYWwtY29udGVudC1ib3JkZXItY29sb3I6IHJnYmEoMCwwLDAsLjIpO1xuJG1vZGFsLWNvbnRlbnQtZmFsbGJhY2stYm9yZGVyLWNvbG9yOiAjOTk5O1xuJG1vZGFsLWJhY2tkcm9wLWJnOiAjMDAwO1xuJG1vZGFsLWJhY2tkcm9wLW9wYWNpdHk6IC41O1xuJG1vZGFsLWhlYWRlci1ib3JkZXItY29sb3I6ICNlNWU1ZTU7XG4kbW9kYWwtZm9vdGVyLWJvcmRlci1jb2xvcjogJG1vZGFsLWhlYWRlci1ib3JkZXItY29sb3I7XG4iLCIubm90ZS1kcm9wZG93biB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxufVxuLm5vdGUtY29sb3Ige1xuICAuZHJvcGRvd24tdG9nZ2xlIHtcbiAgICB3aWR0aDogMzBweDtcbiAgICBwYWRkaW5nLWxlZnQ6IDVweDtcbiAgfVxufVxuLm5vdGUtZHJvcGRvd24tbWVudSB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIG1pbi13aWR0aDogMTAwcHg7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAxMDAlO1xuICBsZWZ0OiAwO1xuICB6LWluZGV4IDogJHppbmRleC1kcm9wZG93bjtcbiAgZmxvYXQ6IGxlZnQ7XG4gIHRleHQtYWxpZ246bGVmdDtcbiAgYmFja2dyb3VuZDogJGRyb3Bkb3duLWNvbG9yLWJnO1xuICBib3JkZXI6IDFweCBzb2xpZCAkZHJvcGRvd24tY29sb3ItYm9yZGVyO1xuICBwYWRkaW5nOiA1cHg7XG4gIGJhY2tncm91bmQtY2xpcDogcGFkZGluZy1ib3g7XG4gIEBpbmNsdWRlIGJveC1zaGFkb3coMCAxcHggMXB4IHJnYmEoMCwwLDAsLjA2KSk7XG5cbiAgPiAqOmxhc3QtY2hpbGQge1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgfVxufVxuXG4ubm90ZS1idG4tZ3JvdXAub3BlbiAubm90ZS1kcm9wZG93bi1tZW51IHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbi5ub3RlLWRyb3Bkb3duLWl0ZW0ge1xuICBkaXNwbGF5OiBibG9jaztcblxuICAmOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYnRuLWRlZmF1bHQtaG92ZXItYmc7XG4gIH1cbn1cblxuYS5ub3RlLWRyb3Bkb3duLWl0ZW0sXG5hLm5vdGUtZHJvcGRvd24taXRlbTpob3ZlciB7XG4gIG1hcmdpbjogNXB4IDA7XG4gIGNvbG9yOiAjMDAwO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG59XG4iLCIubm90ZS1tb2RhbCB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgbGVmdDogMDtcbiAgcmlnaHQ6IDA7XG4gIHRvcDogMDtcbiAgYm90dG9tOiAwO1xuICB6LWluZGV4OiAkemluZGV4LW1vZGFsO1xuICBAaW5jbHVkZSBvcGFjaXR5KDEpO1xuICBkaXNwbGF5OiBub25lO1xuXG4gICYub3BlbiB7XG4gICAgZGlzcGxheTpibG9jaztcbiAgfVxufVxuXG4ubm90ZS1tb2RhbC1jb250ZW50IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aWR0aDogYXV0bztcbiAgbWFyZ2luOiAzMHB4IDIwcHg7XG4gIGJvcmRlcjogMXB4IHNvbGlkICRtb2RhbC1jb250ZW50LWJvcmRlci1jb2xvcjtcbiAgYmFja2dyb3VuZDogJG1vZGFsLWNvbnRlbnQtYmc7XG4gIGJhY2tncm91bmQtY2xpcDogYm9yZGVyLWJveDtcbiAgb3V0bGluZTogMDtcbiAgYm9yZGVyLXJhZGl1czogNXB4O1xuICBAaW5jbHVkZSBib3gtc2hhZG93KDAgM3B4IDlweCByZ2JhKDAsMCwwLC41KSk7XG59XG5cbi5ub3RlLW1vZGFsLWhlYWRlciB7XG4gIHBhZGRpbmc6IDEwcHggMjBweDtcbiAgYm9yZGVyOiAxcHggc29saWQgI2VkZWRlZjtcbn1cblxuLm5vdGUtbW9kYWwtYm9keSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgcGFkZGluZzogMjBweCAzMHB4O1xuXG4gIC8vIHNob3J0Y3V0IHRleHQgc3R5bGVcbiAga2JkIHtcbiAgICBib3JkZXItcmFkaXVzOiAycHg7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzAwMDtcbiAgICBjb2xvcjogI2ZmZjtcbiAgICBwYWRkaW5nOiAzcHggNXB4O1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgQGluY2x1ZGUgYm94LXNpemluZygpO1xuICB9XG59XG5cbi5ub3RlLW1vZGFsLWZvb3RlciB7XG4gIGhlaWdodDogNDBweDtcbiAgcGFkZGluZzogMTBweDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG59XG5cbi5ub3RlLW1vZGFsLWZvb3RlciBhIHtcbiAgY29sb3I6ICMzMzdhYjc7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZVxufVxuXG4ubm90ZS1tb2RhbC1mb290ZXIgYTpob3Zlcixcbi5ub3RlLW1vZGFsLWZvb3RlciBhOmZvY3VzIHtcbiAgY29sb3I6ICMyMzUyN2M7XG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lXG59XG5cbi5ub3RlLW1vZGFsLWZvb3RlciAubm90ZS1idG4ge1xuICBmbG9hdDogcmlnaHRcbn1cblxuLm5vdGUtbW9kYWwtdGl0bGUge1xuICBmb250LXNpemU6IDIwcHg7XG4gIGNvbG9yOiAjNDI1MTVmO1xuICBtYXJnaW46IDA7XG4gIGxpbmUtaGVpZ2h0OiAxLjQ7XG59XG5cbi5ub3RlLW1vZGFsLWJhY2tkcm9wIHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICBsZWZ0OiAwO1xuICByaWdodDogMDtcbiAgYm90dG9tOiAwO1xuICB0b3A6IDA7XG4gIHotaW5kZXg6ICR6aW5kZXgtbW9kYWwtYmFja2dyb3VuZDtcbiAgYmFja2dyb3VuZDogJG1vZGFsLWJhY2tkcm9wLWJnO1xuICBAaW5jbHVkZSBvcGFjaXR5KDAuNSk7XG4gIGRpc3BsYXk6IG5vbmU7XG5cbiAgJi5vcGVuIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxufVxuXG5cbi8vIFNjYWxlIHVwIHRoZSBtb2RhbFxuQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC8vIEF1dG9tYXRpY2FsbHkgc2V0IG1vZGFsJ3Mgd2lkdGggZm9yIGxhcmdlciB2aWV3cG9ydHNcbiAgLm5vdGUtbW9kYWwtY29udGVudCB7XG4gICAgd2lkdGg6IDYwMHB4O1xuICAgIG1hcmdpbjogMzBweCBhdXRvO1xuICB9XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xuICAubm90ZS1tb2RhbC1jb250ZW50LWxhcmdlIHtcbiAgICB3aWR0aDogOTAwcHg7XG4gIH1cbn1cblxuLm5vdGUtbW9kYWwge1xuXG4gIC5ub3RlLWhlbHAtYmxvY2sge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG1hcmdpbi10b3A6IDVweDtcbiAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICAgIGNvbG9yOiAjNzM3MzczO1xuICB9XG5cbiAgLm5vdGUtbmF2IHtcbiAgICBkaXNwbGF5OiAtbXMtZmxleGJveDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIC1tcy1mbGV4LXdyYXA6IHdyYXA7XG4gICAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICB9XG5cbiAgLm5vdGUtbmF2LWxpbmsge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBhZGRpbmc6IDAuNXJlbSAxcmVtO1xuICAgIGNvbG9yOiAjMDA3YmZmO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAtd2Via2l0LXRleHQtZGVjb3JhdGlvbi1za2lwOiBvYmplY3RzO1xuICB9XG5cbiAgLm5vdGUtbmF2LWxpbms6Zm9jdXMsXG4gIC5ub3RlLW5hdi1saW5rOmhvdmVyIHtcbiAgICBjb2xvcjogIzAwNTZiMztcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIH1cblxuICAubm90ZS1uYXYtbGluay5kaXNhYmxlZCB7XG4gICAgY29sb3I6ICM4NjhlOTY7XG4gIH1cblxuICAubm90ZS1uYXYtdGFicyB7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNkZGQ7XG4gIH1cblxuICAubm90ZS1uYXYtdGFicyAubm90ZS1uYXYtaXRlbSB7XG4gICAgbWFyZ2luLWJvdHRvbTogLTFweDtcbiAgfVxuXG4gIC5ub3RlLW5hdi10YWJzIC5ub3RlLW5hdi1saW5rIHtcbiAgICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAwLjI1cmVtO1xuICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAwLjI1cmVtO1xuICB9XG5cbiAgLm5vdGUtbmF2LXRhYnMgLm5vdGUtbmF2LWxpbms6Zm9jdXMsXG4gIC5ub3RlLW5hdi10YWJzIC5ub3RlLW5hdi1saW5rOmhvdmVyIHtcbiAgICBib3JkZXItY29sb3I6ICNlOWVjZWYgI2U5ZWNlZiAjZGRkO1xuICB9XG5cbiAgLm5vdGUtbmF2LXRhYnMgLm5vdGUtbmF2LWxpbmsuZGlzYWJsZWQge1xuICAgIGNvbG9yOiAjODY4ZTk2O1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIH1cblxuICAubm90ZS1uYXYtdGFicyAubm90ZS1uYXYtaXRlbS5zaG93IC5ub3RlLW5hdi1saW5rIHtcbiAgICBjb2xvcjogIzQ5NTA1NztcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICAgIGJvcmRlci1jb2xvcjogI2RkZCAjZGRkICNmZmY7XG4gIH1cblxuICAubm90ZS10YWItY29udGVudCB7XG4gICAgbWFyZ2luOiAxNXB4IGF1dG87XG4gIH1cblxuICAubm90ZS10YWItY29udGVudCA+IC5ub3RlLXRhYi1wYW5lOnRhcmdldCB+IC5ub3RlLXRhYi1wYW5lOmxhc3QtY2hpbGQsXG4gIC5ub3RlLXRhYi1jb250ZW50ID4gLm5vdGUtdGFiLXBhbmUge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbiAgLm5vdGUtdGFiLWNvbnRlbnQgPiA6bGFzdC1jaGlsZCxcbiAgLm5vdGUtdGFiLWNvbnRlbnQgPiAubm90ZS10YWItcGFuZTp0YXJnZXQge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG59XG4iLCIubm90ZS1mb3JtLWdyb3VwIHtcbiAgcGFkZGluZy1ib3R0b206IDIwcHg7XG59XG5cbi5ub3RlLWZvcm0tZ3JvdXA6bGFzdC1jaGlsZCB7XG4gIHBhZGRpbmctYm90dG9tOiAwO1xufVxuXG4ubm90ZS1mb3JtLWxhYmVsIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAxMDAlO1xuICBmb250LXNpemU6IDE2cHg7XG4gIGNvbG9yOiAjNDI1MTVmO1xuICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICBmb250LXdlaWdodDogNzAwO1xufVxuXG4ubm90ZS1pbnB1dCB7XG4gIHdpZHRoOiAxMDAlO1xuICBkaXNwbGF5OiBibG9jaztcbiAgYm9yZGVyOiAxcHggc29saWQgI2VkZWRlZjtcbiAgYmFja2dyb3VuZDogI2ZmZjtcbiAgb3V0bGluZTogMDtcbiAgcGFkZGluZzogNnB4IDRweDtcbiAgZm9udC1zaXplOiAxNHB4O1xuICBAaW5jbHVkZSBib3gtc2l6aW5nKCk7XG59XG5cblxuLm5vdGUtaW5wdXQ6Oi13ZWJraXQtaW5wdXQtcGxhY2Vob2xkZXIge1xuICBjb2xvcjogJGdyYXktbGlnaHRlcjtcbn1cblxuLm5vdGUtaW5wdXQ6LW1vei1wbGFjZWhvbGRlciB7IC8qIEZpcmVmb3ggMTgtICovXG4gIGNvbG9yOiAkZ3JheS1saWdodGVyO1xufVxuXG4ubm90ZS1pbnB1dDo6LW1vei1wbGFjZWhvbGRlciB7ICAvKiBGaXJlZm94IDE5KyAqL1xuICBjb2xvcjogJGdyYXktbGlnaHRlcjtcbn1cblxuLm5vdGUtaW5wdXQ6LW1zLWlucHV0LXBsYWNlaG9sZGVyIHtcbiAgY29sb3I6ICRncmF5LWxpZ2h0ZXI7XG59XG4iLCIubm90ZS10b29sdGlwIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB6LWluZGV4OiAkemluZGV4LXRvb2x0aXA7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICAvLyBPdXIgcGFyZW50IGVsZW1lbnQgY2FuIGJlIGFyYml0cmFyeSBzaW5jZSB0b29sdGlwcyBhcmUgYnkgZGVmYXVsdCBpbnNlcnRlZCBhcyBhIHNpYmxpbmcgb2YgdGhlaXIgdGFyZ2V0IGVsZW1lbnQuXG4gIC8vIFNvIHJlc2V0IG91ciBmb250IGFuZCB0ZXh0IHByb3BlcnRpZXMgdG8gYXZvaWQgaW5oZXJpdGluZyB3ZWlyZCB2YWx1ZXMuXG4gIGZvbnQtc2l6ZTogMTNweDtcblxuICB0cmFuc2l0aW9uOiBvcGFjaXR5IC4xNXM7XG4gIEBpbmNsdWRlIG9wYWNpdHkoMCk7XG5cbiAgJi5pbiAgICAgeyBAaW5jbHVkZSBvcGFjaXR5KCR0b29sdGlwLW9wYWNpdHkpOyB9XG4gICYudG9wICAgIHsgbWFyZ2luLXRvcDogIC0zcHg7IHBhZGRpbmc6ICR0b29sdGlwLWFycm93LXdpZHRoIDA7IH1cbiAgJi5yaWdodCAgeyBtYXJnaW4tbGVmdDogIDNweDsgcGFkZGluZzogMCAkdG9vbHRpcC1hcnJvdy13aWR0aDsgfVxuICAmLmJvdHRvbSB7IG1hcmdpbi10b3A6ICAgM3B4OyBwYWRkaW5nOiAkdG9vbHRpcC1hcnJvdy13aWR0aCAwOyB9XG4gICYubGVmdCAgIHsgbWFyZ2luLWxlZnQ6IC0zcHg7IHBhZGRpbmc6IDAgJHRvb2x0aXAtYXJyb3ctd2lkdGg7IH1cbn1cblxuLm5vdGUtdG9vbHRpcCB7XG4gICYuYm90dG9tIC5ub3RlLXRvb2x0aXAtYXJyb3cge1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiA1MCU7XG4gICAgbWFyZ2luLWxlZnQ6IC0kdG9vbHRpcC1hcnJvdy13aWR0aDtcbiAgICBib3JkZXItd2lkdGg6IDAgJHRvb2x0aXAtYXJyb3ctd2lkdGggJHRvb2x0aXAtYXJyb3ctd2lkdGg7XG4gICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogJHRvb2x0aXAtYXJyb3ctY29sb3I7XG4gIH1cblxuICAmLnRvcCAubm90ZS10b29sdGlwLWFycm93IHtcbiAgICBib3R0b206IDA7XG4gICAgbGVmdDogNTAlO1xuICAgIG1hcmdpbi1sZWZ0OiAtJHRvb2x0aXAtYXJyb3ctd2lkdGg7XG4gICAgYm9yZGVyLXdpZHRoOiAkdG9vbHRpcC1hcnJvdy13aWR0aCAkdG9vbHRpcC1hcnJvdy13aWR0aCAwO1xuICAgIGJvcmRlci10b3AtY29sb3I6ICR0b29sdGlwLWFycm93LWNvbG9yO1xuICB9XG5cbiAgJi5yaWdodCAubm90ZS10b29sdGlwLWFycm93IHtcbiAgICB0b3A6IDUwJTtcbiAgICBsZWZ0OiAwO1xuICAgIG1hcmdpbi10b3A6IC0kdG9vbHRpcC1hcnJvdy13aWR0aDtcbiAgICBib3JkZXItd2lkdGg6ICR0b29sdGlwLWFycm93LXdpZHRoICR0b29sdGlwLWFycm93LXdpZHRoICR0b29sdGlwLWFycm93LXdpZHRoIDA7XG4gICAgYm9yZGVyLXJpZ2h0LWNvbG9yOiAkdG9vbHRpcC1hcnJvdy1jb2xvcjtcbiAgfVxuICAmLmxlZnQgLm5vdGUtdG9vbHRpcC1hcnJvdyB7XG4gICAgdG9wOiA1MCU7XG4gICAgcmlnaHQ6IDA7XG4gICAgbWFyZ2luLXRvcDogLSR0b29sdGlwLWFycm93LXdpZHRoO1xuICAgIGJvcmRlci13aWR0aDogJHRvb2x0aXAtYXJyb3ctd2lkdGggMCAkdG9vbHRpcC1hcnJvdy13aWR0aCAkdG9vbHRpcC1hcnJvdy13aWR0aDtcbiAgICBib3JkZXItbGVmdC1jb2xvcjogJHRvb2x0aXAtYXJyb3ctY29sb3I7XG4gIH1cbn1cblxuXG4ubm90ZS10b29sdGlwLWFycm93IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB3aWR0aDogMDtcbiAgaGVpZ2h0OiAwO1xuICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xuICBib3JkZXItc3R5bGU6IHNvbGlkO1xufVxuXG4ubm90ZS10b29sdGlwLWNvbnRlbnQge1xuICBtYXgtd2lkdGg6ICR0b29sdGlwLW1heC13aWR0aDtcbiAgZm9udC1mYW1pbHk6ICRmb250LWZhbWlseTtcbiAgcGFkZGluZzogM3B4IDhweDtcbiAgY29sb3I6ICR0b29sdGlwLWNvbG9yO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGJhY2tncm91bmQtY29sb3I6ICR0b29sdGlwLWJnO1xufVxuIiwiLm5vdGUtcG9wb3ZlciB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgei1pbmRleDogJHppbmRleC1wb3BvdmVyO1xuICBkaXNwbGF5OiBibG9jaztcbiAgLy8gT3VyIHBhcmVudCBlbGVtZW50IGNhbiBiZSBhcmJpdHJhcnkgc2luY2UgcG9wb3ZlcnMgYXJlIGJ5IGRlZmF1bHQgaW5zZXJ0ZWQgYXMgYSBzaWJsaW5nIG9mIHRoZWlyIHRhcmdldCBlbGVtZW50LlxuICAvLyBTbyByZXNldCBvdXIgZm9udCBhbmQgdGV4dCBwcm9wZXJ0aWVzIHRvIGF2b2lkIGluaGVyaXRpbmcgd2VpcmQgdmFsdWVzLlxuICBmb250LXNpemU6IDEzcHg7XG4gIGZvbnQtZmFtaWx5OiAkZm9udC1mYW1pbHk7XG5cbiAgZGlzcGxheTogbm9uZTtcbiAgYmFja2dyb3VuZDogJHBvcG92ZXItYmc7XG4gIGJvcmRlcjogMXB4IHNvbGlkICRwb3BvdmVyLWJvcmRlci1jb2xvcjtcbiAgYm9yZGVyOiAxcHggc29saWQgJHBvcG92ZXItZmFsbGJhY2stYm9yZGVyLWNvbG9yO1xuXG4gICYuaW4gICAgIHsgZGlzcGxheTogYmxvY2s7IH1cbiAgJi50b3AgICAgeyBtYXJnaW4tdG9wOiAgLTEwcHg7IHBhZGRpbmc6ICR0b29sdGlwLWFycm93LXdpZHRoIDA7IH1cbiAgJi5yaWdodCAgeyBtYXJnaW4tbGVmdDogIDEwcHg7IHBhZGRpbmc6IDAgJHRvb2x0aXAtYXJyb3ctd2lkdGg7IH1cbiAgJi5ib3R0b20geyBtYXJnaW4tdG9wOiAgIDEwcHg7IHBhZGRpbmc6ICR0b29sdGlwLWFycm93LXdpZHRoIDA7IH1cbiAgJi5sZWZ0ICAgeyBtYXJnaW4tbGVmdDogLTEwcHg7IHBhZGRpbmc6IDAgJHRvb2x0aXAtYXJyb3ctd2lkdGg7IH1cbn1cblxuLm5vdGUtcG9wb3ZlciB7XG4gICYuYm90dG9tIC5ub3RlLXBvcG92ZXItYXJyb3cge1xuICAgIHRvcDogLTExcHg7XG4gICAgbGVmdDogMjBweDtcbiAgICBtYXJnaW4tbGVmdDogLSRwb3BvdmVyLWFycm93LXdpZHRoO1xuICAgIGJvcmRlci10b3Atd2lkdGg6IDA7XG4gICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogJHBvcG92ZXItYXJyb3ctb3V0ZXItZmFsbGJhY2stY29sb3I7XG4gICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogJHBvcG92ZXItYXJyb3ctb3V0ZXItY29sb3I7XG5cbiAgICAmOjphZnRlciB7XG4gICAgICB0b3A6IDFweDtcbiAgICAgIG1hcmdpbi1sZWZ0OiAtMTBweDtcbiAgICAgIGNvbnRlbnQ6IFwiIFwiO1xuICAgICAgYm9yZGVyLXRvcC13aWR0aDogMDtcbiAgICAgIGJvcmRlci1ib3R0b20tY29sb3I6ICNmZmY7XG4gICAgfVxuICB9XG5cbiAgJi50b3AgLm5vdGUtcG9wb3Zlci1hcnJvdyB7XG4gICAgYm90dG9tOiAtMTFweDtcbiAgICBsZWZ0OiAyMHB4O1xuICAgIG1hcmdpbi1sZWZ0OiAtJHBvcG92ZXItYXJyb3ctd2lkdGg7XG4gICAgYm9yZGVyLWJvdHRvbS13aWR0aDogMDtcbiAgICBib3JkZXItdG9wLWNvbG9yOiAkcG9wb3Zlci1hcnJvdy1vdXRlci1mYWxsYmFjay1jb2xvcjtcbiAgICBib3JkZXItdG9wLWNvbG9yOiAkcG9wb3Zlci1hcnJvdy1vdXRlci1jb2xvcjtcblxuICAgICY6OmFmdGVyIHtcbiAgICAgIGJvdHRvbTogMXB4O1xuICAgICAgbWFyZ2luLWxlZnQ6IC0xMHB4O1xuICAgICAgY29udGVudDogXCIgXCI7XG4gICAgICBib3JkZXItYm90dG9tLXdpZHRoOiAwO1xuICAgICAgYm9yZGVyLXRvcC1jb2xvcjogI2ZmZjtcbiAgICB9XG4gIH1cblxuICAmLnJpZ2h0IC5ub3RlLXBvcG92ZXItYXJyb3cge1xuICAgIHRvcDogNTAlO1xuICAgIGxlZnQ6IC0xMXB4O1xuICAgIG1hcmdpbi10b3A6IC0kcG9wb3Zlci1hcnJvdy13aWR0aDtcbiAgICBib3JkZXItbGVmdC13aWR0aDogMDtcbiAgICBib3JkZXItcmlnaHQtY29sb3I6ICRwb3BvdmVyLWFycm93LW91dGVyLWZhbGxiYWNrLWNvbG9yO1xuICAgIGJvcmRlci1yaWdodC1jb2xvcjogJHBvcG92ZXItYXJyb3ctb3V0ZXItY29sb3I7XG5cbiAgICAmOjphZnRlciB7XG4gICAgICBsZWZ0OiAxcHg7XG4gICAgICBtYXJnaW4tdG9wOiAtMTBweDtcbiAgICAgIGNvbnRlbnQ6IFwiIFwiO1xuICAgICAgYm9yZGVyLWxlZnQtd2lkdGg6IDA7XG4gICAgICBib3JkZXItcmlnaHQtY29sb3I6ICNmZmY7XG4gICAgfVxuXG4gIH1cbiAgJi5sZWZ0IC5ub3RlLXBvcG92ZXItYXJyb3cge1xuICAgIHRvcDogNTAlO1xuICAgIHJpZ2h0OiAtMTFweDtcbiAgICBtYXJnaW4tdG9wOiAtJHBvcG92ZXItYXJyb3ctd2lkdGg7XG4gICAgYm9yZGVyLXJpZ2h0LXdpZHRoOiAwO1xuICAgIGJvcmRlci1sZWZ0LWNvbG9yOiAkcG9wb3Zlci1hcnJvdy1vdXRlci1mYWxsYmFjay1jb2xvcjtcbiAgICBib3JkZXItbGVmdC1jb2xvcjogJHBvcG92ZXItYXJyb3ctb3V0ZXItY29sb3I7XG5cbiAgICAmOjphZnRlciB7XG4gICAgICByaWdodDogMXB4O1xuICAgICAgbWFyZ2luLXRvcDogLTEwcHg7XG4gICAgICBjb250ZW50OiBcIiBcIjtcbiAgICAgIGJvcmRlci1yaWdodC13aWR0aDogMDtcbiAgICAgIGJvcmRlci1sZWZ0LWNvbG9yOiAjZmZmO1xuICAgIH1cbiAgfVxufVxuXG5cbi5ub3RlLXBvcG92ZXItYXJyb3cge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHdpZHRoOiAwO1xuICBoZWlnaHQ6IDA7XG4gIGJvcmRlcjogMTFweCBzb2xpZCB0cmFuc3BhcmVudDtcblxuICAmOjphZnRlciB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAwO1xuICAgIGhlaWdodDogMDtcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG5cblxuICAgIGNvbnRlbnQgOiAgXCIgXCI7XG4gICAgYm9yZGVyLXdpZHRoOiAxMHB4O1xuICB9XG5cbn1cblxuLm5vdGUtcG9wb3Zlci1jb250ZW50IHtcbiAgLyptYXgtd2lkdGg6ICRwb3BvdmVyLW1heC13aWR0aDsqL1xuICBwYWRkaW5nOiAzcHggOHB4O1xuICBjb2xvcjogJHBvcG92ZXItY29sb3I7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHBvcG92ZXItYmc7XG4gIG1pbi13aWR0aDogMTAwcHg7XG4gIG1pbi1oZWlnaHQ6IDMwcHg7XG59XG4iLCJAaW1wb3J0IFwiZWxlbWVudHMuc2Nzc1wiO1xuXG4vKiBUaGVtZSBWYXJpYWJsZXNcbiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbiRib3JkZXItY29sb3I6ICMwMDAwMDAzMjtcbiRiYWNrZ3JvdW5kLWNvbG9yOiAjODA4MDgwMWQ7XG5cbiRpbWctbWFyZ2luLWxlZnQ6IDEwcHg7XG4kaW1nLW1hcmdpbi1yaWdodDogMTBweDtcblxuLyogTGF5b3V0XG4gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4ubm90ZS1lZGl0b3Ige1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgLy8gZHJvcHpvbmVcbiAgJGRyb3B6b25lLWNvbG9yOiBsaWdodHNreWJsdWU7XG4gICRkcm9wem9uZS1hY3RpdmUtY29sb3I6IGRhcmtlbigkZHJvcHpvbmUtY29sb3IsIDMwKTtcbiAgLm5vdGUtZHJvcHpvbmUge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBkaXNwbGF5OiBub25lO1xuICAgIHotaW5kZXg6IDEwMDtcbiAgICBjb2xvcjogJGRyb3B6b25lLWNvbG9yO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gICAgb3BhY2l0eTogMC45NTtcblxuICAgIC5ub3RlLWRyb3B6b25lLW1lc3NhZ2Uge1xuICAgICAgZGlzcGxheTogdGFibGUtY2VsbDtcbiAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICBmb250LXNpemU6IDI4cHg7XG4gICAgICBmb250LXdlaWdodDogNzAwO1xuICAgIH1cblxuICAgICYuaG92ZXIge1xuICAgICAgY29sb3I6ICRkcm9wem9uZS1hY3RpdmUtY29sb3I7XG4gICAgfVxuICB9XG5cbiAgJi5kcmFnb3ZlciAubm90ZS1kcm9wem9uZSB7XG4gICAgZGlzcGxheTogdGFibGU7XG4gIH1cblxuICAubm90ZS1lZGl0aW5nLWFyZWEge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgIC5ub3RlLWVkaXRhYmxlIHtcbiAgICAgIG91dGxpbmU6IG5vbmU7XG5cbiAgICAgIHN1cCB7XG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiBzdXBlcjtcbiAgICAgIH1cblxuICAgICAgc3ViIHtcbiAgICAgICAgdmVydGljYWwtYWxpZ246IHN1YjtcbiAgICAgIH1cblxuICAgICAgaW1nLm5vdGUtZmxvYXQtbGVmdCB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogJGltZy1tYXJnaW4tcmlnaHQ7XG4gICAgICB9XG5cbiAgICAgIGltZy5ub3RlLWZsb2F0LXJpZ2h0IHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6ICRpbWctbWFyZ2luLWxlZnQ7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8qIEZyYW1lIG1vZGUgbGF5b3V0XG4gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4ubm90ZS1lZGl0b3Iubm90ZS1mcmFtZSxcbi5ub3RlLWVkaXRvci5ub3RlLWFpcmZyYW1lIHtcbiAgYm9yZGVyOiAxcHggc29saWQgJGJvcmRlci1jb2xvcjtcblxuICAvLyBjb2RldmlldyBtb2RlXG4gICYuY29kZXZpZXcge1xuICAgIC5ub3RlLWVkaXRpbmctYXJlYSB7XG4gICAgICAubm90ZS1lZGl0YWJsZSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICB9XG4gICAgICAubm90ZS1jb2RhYmxlIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLm5vdGUtZWRpdGluZy1hcmVhIHtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gICAgLy8gZWRpdGFibGVcbiAgICAubm90ZS1lZGl0YWJsZSB7XG4gICAgICBwYWRkaW5nOiAxMHB4O1xuICAgICAgb3ZlcmZsb3c6IGF1dG87XG4gICAgICB3b3JkLXdyYXA6IGJyZWFrLXdvcmQ7XG5cbiAgICAgICZbY29udGVudGVkaXRhYmxlPVwiZmFsc2VcIl0ge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFja2dyb3VuZC1jb2xvcjtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBjb2RlYWJsZVxuICAgIC5ub3RlLWNvZGFibGUge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgcGFkZGluZzogMTBweDtcbiAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgICBmb250LWZhbWlseTogTWVubG8sIE1vbmFjbywgbW9ub3NwYWNlLCBzYW5zLXNlcmlmO1xuICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgICAgY29sb3I6ICNjY2M7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMjIyO1xuICAgICAgcmVzaXplOiBub25lO1xuICAgICAgb3V0bGluZTogbm9uZTtcblxuICAgICAgLy8gb3ZlcnJpZGUgQlMyIGRlZmF1bHQgc3R5bGVcbiAgICAgIEBpbmNsdWRlIGJveC1zaXppbmcoYm9yZGVyLWJveCk7XG4gICAgICBAaW5jbHVkZSByb3VuZGVkKDApO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICB9XG4gIH1cblxuICAvLyBmdWxsc2NyZWVuIG1vZGVcbiAgJi5mdWxsc2NyZWVuIHtcbiAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcbiAgICB6LWluZGV4OiAxMDUwOyAvLyBiczMgbW9kYWwtYmFja2Ryb3A6IDEwMzAsIGJzMjogMTA0MFxuICAgIC5ub3RlLXJlc2l6ZWJhciB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgfVxuXG4gIC8vIE5vdGlmaWNhdGlvbnNcbiAgLm5vdGUtc3RhdHVzLW91dHB1dCB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgZm9udC1zaXplOiAxNHB4O1xuICAgIGxpbmUtaGVpZ2h0OiAxLjQyODU3MTQzO1xuICAgIGhlaWdodDogMjBweDtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIGNvbG9yOiAjMDAwO1xuICAgIGJvcmRlcjogMDtcbiAgICBib3JkZXItdG9wOiAxcHggc29saWQgI2UyZTJlMjtcbiAgfVxuXG4gIC5ub3RlLXN0YXR1cy1vdXRwdXQ6ZW1wdHkge1xuICAgIGhlaWdodDogMDtcbiAgICBib3JkZXItdG9wOiAwIHNvbGlkIHRyYW5zcGFyZW50O1xuICB9XG5cbiAgLm5vdGUtc3RhdHVzLW91dHB1dCAucHVsbC1yaWdodCB7XG4gICAgZmxvYXQ6IHJpZ2h0ICFpbXBvcnRhbnQ7XG4gIH1cblxuICAubm90ZS1zdGF0dXMtb3V0cHV0IC50ZXh0LW11dGVkIHtcbiAgICBjb2xvcjogIzc3NztcbiAgfVxuXG4gIC5ub3RlLXN0YXR1cy1vdXRwdXQgLnRleHQtcHJpbWFyeSB7XG4gICAgY29sb3I6ICMyODYwOTA7XG4gIH1cblxuICAubm90ZS1zdGF0dXMtb3V0cHV0IC50ZXh0LXN1Y2Nlc3Mge1xuICAgIGNvbG9yOiAjM2M3NjNkO1xuICB9XG5cbiAgLm5vdGUtc3RhdHVzLW91dHB1dCAudGV4dC1pbmZvIHtcbiAgICBjb2xvcjogIzMxNzA4ZjtcbiAgfVxuXG4gIC5ub3RlLXN0YXR1cy1vdXRwdXQgLnRleHQtd2FybmluZyB7XG4gICAgY29sb3I6ICM4YTZkM2I7XG4gIH1cblxuICAubm90ZS1zdGF0dXMtb3V0cHV0IC50ZXh0LWRhbmdlciB7XG4gICAgY29sb3I6ICNhOTQ0NDI7XG4gIH1cblxuICAubm90ZS1zdGF0dXMtb3V0cHV0IC5hbGVydCB7XG4gICAgbWFyZ2luOiAtN3B4IDAgMCAwO1xuICAgIHBhZGRpbmc6IDdweCAxMHB4IDJweCAxMHB4O1xuICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgY29sb3I6ICMwMDA7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2Y1ZjVmNTtcbiAgfVxuXG4gIC5ub3RlLXN0YXR1cy1vdXRwdXQgLmFsZXJ0IC5ub3RlLWljb24ge1xuICAgIG1hcmdpbi1yaWdodDogNXB4O1xuICB9XG5cbiAgLm5vdGUtc3RhdHVzLW91dHB1dCAuYWxlcnQtc3VjY2VzcyB7XG4gICAgY29sb3I6ICMzYzc2M2QgIWltcG9ydGFudDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZGZmMGQ4ICFpbXBvcnRhbnQ7XG4gIH1cblxuICAubm90ZS1zdGF0dXMtb3V0cHV0IC5hbGVydC1pbmZvIHtcbiAgICBjb2xvcjogIzMxNzA4ZiAhaW1wb3J0YW50O1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNkOWVkZjcgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5ub3RlLXN0YXR1cy1vdXRwdXQgLmFsZXJ0LXdhcm5pbmcge1xuICAgIGNvbG9yOiAjOGE2ZDNiICFpbXBvcnRhbnQ7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZjZjhlMyAhaW1wb3J0YW50O1xuICB9XG5cbiAgLm5vdGUtc3RhdHVzLW91dHB1dCAuYWxlcnQtZGFuZ2VyIHtcbiAgICBjb2xvcjogI2E5NDQ0MiAhaW1wb3J0YW50O1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmMmRlZGUgIWltcG9ydGFudDtcbiAgfVxuXG4gIC8vIHN0YXR1c2JhclxuICAubm90ZS1zdGF0dXNiYXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRiYWNrZ3JvdW5kLWNvbG9yO1xuICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDRweDtcbiAgICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogNHB4O1xuICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAkYm9yZGVyLWNvbG9yO1xuICAgIC5ub3RlLXJlc2l6ZWJhciB7XG4gICAgICBwYWRkaW5nLXRvcDogMXB4O1xuICAgICAgaGVpZ2h0OiA5cHg7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGN1cnNvcjogbnMtcmVzaXplO1xuICAgICAgLm5vdGUtaWNvbi1iYXIge1xuICAgICAgICB3aWR0aDogMjBweDtcbiAgICAgICAgbWFyZ2luOiAxcHggYXV0bztcbiAgICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICRib3JkZXItY29sb3I7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi5sb2NrZWQge1xuICAgICAgLm5vdGUtcmVzaXplYmFyIHtcbiAgICAgICAgY3Vyc29yOiBkZWZhdWx0O1xuICAgICAgICAubm90ZS1pY29uLWJhciB7XG4gICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuICAubm90ZS1wbGFjZWhvbGRlciB7XG4gICAgcGFkZGluZzogMTBweDtcbiAgfVxufVxuXG4ubm90ZS1lZGl0b3Iubm90ZS1haXJmcmFtZSB7XG4gIGJvcmRlcjogMDtcblxuICAubm90ZS1lZGl0aW5nLWFyZWEge1xuICAgIC5ub3RlLWVkaXRhYmxlIHtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgfVxuICB9XG59XG5cblxuLyogUG9wb3ZlclxuIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLm5vdGUtcG9wb3Zlci5wb3BvdmVyIHtcbiAgZGlzcGxheTogbm9uZTtcbiAgbWF4LXdpZHRoOiBub25lO1xuXG4gIC5wb3BvdmVyLWNvbnRlbnQge1xuICAgIGEge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgbWF4LXdpZHRoOiAyMDBweDtcbiAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7IC8vIGZvciBGRlxuICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsgLy8gZm9yIEZGXG4gICAgfVxuICB9XG4gIC5hcnJvdyB7XG4gICAgbGVmdDogMjBweCAhaW1wb3J0YW50O1xuICB9XG59XG5cbi8qIFBvcG92ZXIgYW5kIFRvb2xiYXIgKEJ1dHRvbiBjb250YWluZXIpXG4gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4ubm90ZS10b29sYmFyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4ubm90ZS1wb3BvdmVyIC5wb3BvdmVyLWNvbnRlbnQsIC5ub3RlLWVkaXRvciAubm90ZS10b29sYmFyIHtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwIDAgNXB4IDVweDtcblxuICAmID4gLm5vdGUtYnRuLWdyb3VwIHtcbiAgICBtYXJnaW4tdG9wOiA1cHg7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgbWFyZ2luLXJpZ2h0OiA1cHg7XG4gIH1cblxuICAubm90ZS1idG4tZ3JvdXAge1xuICAgIC5ub3RlLXRhYmxlIHtcbiAgICAgIG1pbi13aWR0aDogMDtcbiAgICAgIHBhZGRpbmc6IDVweDtcbiAgICAgIC5ub3RlLWRpbWVuc2lvbi1waWNrZXIge1xuICAgICAgICBmb250LXNpemU6IDE4cHg7XG4gICAgICAgIC5ub3RlLWRpbWVuc2lvbi1waWNrZXItbW91c2VjYXRjaGVyIHtcbiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGUgIWltcG9ydGFudDtcbiAgICAgICAgICB6LWluZGV4OiAzO1xuICAgICAgICAgIHdpZHRoOiAxMGVtO1xuICAgICAgICAgIGhlaWdodDogMTBlbTtcbiAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgIH1cbiAgICAgICAgLm5vdGUtZGltZW5zaW9uLXBpY2tlci11bmhpZ2hsaWdodGVkIHtcbiAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmUgIWltcG9ydGFudDtcbiAgICAgICAgICB6LWluZGV4OiAxO1xuICAgICAgICAgIHdpZHRoOiA1ZW07XG4gICAgICAgICAgaGVpZ2h0OiA1ZW07XG4gICAgICAgICAgYmFja2dyb3VuZDogdXJsKFwiZGF0YTppbWFnZS9wbmc7YmFzZTY0LGlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUFCSUFBQUFTQWdNQUFBQXJvR2JFQUFBQUNWQk1WRVVBQUlqNCtQanA2ZWtLbEFxakFBQUFBWFJTVGxNQVFPYllaZ0FBQUFGaVMwZEVBSWdGSFVnQUFBQUpjRWhaY3dBQUN4TUFBQXNUQVFDYW5CZ0FBQUFIZEVsTlJRZllBUjBCS2htbmFKelBBQUFBRzBsRVFWUUkxMk5nQUFPdFZhdFdNVENvaG9hR1VZK0VtSWtFQUVydUV6SzJKN3R2QUFBQUFFbEZUa1N1UW1DQ1wiKSByZXBlYXQ7XG4gICAgICAgIH1cbiAgICAgICAgLm5vdGUtZGltZW5zaW9uLXBpY2tlci1oaWdobGlnaHRlZCB7XG4gICAgICAgICAgcG9zaXRpb246IGFic29sdXRlICFpbXBvcnRhbnQ7XG4gICAgICAgICAgei1pbmRleDogMjtcbiAgICAgICAgICB3aWR0aDogMWVtO1xuICAgICAgICAgIGhlaWdodDogMWVtO1xuICAgICAgICAgIGJhY2tncm91bmQ6IHVybChcImRhdGE6aW1hZ2UvcG5nO2Jhc2U2NCxpVkJPUncwS0dnb0FBQUFOU1VoRVVnQUFBQklBQUFBU0FnTUFBQUFyb0diRUFBQUFDVkJNVkVVQUFJamQ2dnZEMmY5TEtMVytBQUFBQVhSU1RsTUFRT2JZWmdBQUFBRmlTMGRFQUlnRkhVZ0FBQUFKY0VoWmN3QUFDeE1BQUFzVEFRQ2FuQmdBQUFBSGRFbE5SUWZZQVIwQkt3TkRFVlQwQUFBQUcwbEVRVlFJMTJOZ0FBT3RWYXRXTVRDb2hvYUdVWStFbUlrRUFFcnVFeksySjd0dkFBQUFBRWxGVGtTdVFtQ0NcIikgcmVwZWF0O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLm5vdGUtc3R5bGUge1xuICAgIC5kcm9wZG93bi1zdHlsZSB7XG4gICAgICBibG9ja3F1b3RlLCBwcmUge1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIHBhZGRpbmc6IDVweCAxMHB4O1xuICAgICAgfVxuICAgICAgaDEsIGgyLCBoMywgaDQsIGg1LCBoNiwgcCB7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAubm90ZS1jb2xvci1hbGwge1xuICAgIC5ub3RlLWRyb3Bkb3duLW1lbnUge1xuICAgICAgbWluLXdpZHRoOiAzMzdweDtcbiAgICB9XG4gIH1cblxuICAubm90ZS1jb2xvciB7XG4gICAgLmRyb3Bkb3duLXRvZ2dsZSB7XG4gICAgICB3aWR0aDogMjBweDtcbiAgICAgIHBhZGRpbmctbGVmdDogNXB4O1xuICAgIH1cbiAgICAubm90ZS1kcm9wZG93bi1tZW51IHtcbiAgICAgIC5ub3RlLXBhbGV0dGUge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgd2lkdGg6IDE2MHB4O1xuICAgICAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgICBtYXJnaW46IDAgNXB4O1xuICAgICAgICB9XG5cbiAgICAgICAgLm5vdGUtcGFsZXR0ZS10aXRsZSB7XG4gICAgICAgICAgZm9udC1zaXplOiAxMnB4O1xuICAgICAgICAgIG1hcmdpbjogMnB4IDdweDtcbiAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNlZWU7XG4gICAgICAgIH1cblxuICAgICAgICAubm90ZS1jb2xvci1yZXNldCxcbiAgICAgICAgLm5vdGUtY29sb3Itc2VsZWN0IHtcbiAgICAgICAgICBmb250LXNpemU6IDExcHg7XG4gICAgICAgICAgbWFyZ2luOiAzcHg7XG4gICAgICAgICAgcGFkZGluZzogMCAzcHg7XG4gICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgIEBpbmNsdWRlIHJvdW5kZWQoNXB4KTtcblxuICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgYmFja2dyb3VuZDogI2VlZTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAubm90ZS1jb2xvci1yb3cge1xuICAgICAgICAgIGhlaWdodDogMjBweDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5ub3RlLWNvbG9yLXNlbGVjdC1idG4ge1xuICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cblxuICAgICAgICAubm90ZS1ob2xkZXItY3VzdG9tIHtcbiAgICAgICAgICAubm90ZS1jb2xvci1idG4ge1xuICAgICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgI2VlZTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAubm90ZS1wYXJhIHtcbiAgICAubm90ZS1kcm9wZG93bi1tZW51IHtcbiAgICAgIG1pbi13aWR0aDogMjI4cHg7XG4gICAgICBwYWRkaW5nOiA1cHg7XG4gICAgICAmID4gZGl2ICsgZGl2IHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDVweDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBkcm9wZG93bi1tZW51IGZvciB0b29sYmFyIGFuZCBwb3BvdmVyXG4gIC5ub3RlLWRyb3Bkb3duLW1lbnUge1xuICAgIG1pbi13aWR0aDogMTYwcHg7XG5cbiAgICAvLyBkcm9wZG93bi1tZW51IHJpZ2h0IHBvc2l0aW9uXG4gICAgLy8gaHR0cDovL2ZvcnJzdC5jb20vcG9zdHMvQm9vdHN0cmFwX3JpZ2h0X3Bvc2l0aW9uZWRfZHJvcGRvd24tMktCXG4gICAgJi5yaWdodCB7XG4gICAgICByaWdodDogMDtcbiAgICAgIGxlZnQ6IGF1dG87XG4gICAgICAmOjpiZWZvcmUge1xuICAgICAgICByaWdodDogOXB4O1xuICAgICAgICBsZWZ0OiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgICB9XG4gICAgICAmOjphZnRlciB7XG4gICAgICAgIHJpZ2h0OiAxMHB4O1xuICAgICAgICBsZWZ0OiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgICB9XG4gICAgfVxuICAgIC8vIGRyb3Bkb3duLW1lbnUgZm9yIHNlbGVjdGJveFxuICAgICYubm90ZS1jaGVjayB7XG4gICAgICBhIGkge1xuICAgICAgICBjb2xvcjogZGVlcHNreWJsdWU7XG4gICAgICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICAgIH1cbiAgICAgIGEuY2hlY2tlZCBpIHtcbiAgICAgICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAubm90ZS1mb250c2l6ZS0xMCB7XG4gICAgZm9udC1zaXplOiAxMHB4O1xuICB9XG5cbiAgLy8gY29sb3IgcGFsZXR0ZSBmb3IgdG9vbGJhciBhbmQgcG9wb3ZlclxuICAubm90ZS1jb2xvci1wYWxldHRlIHtcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgICBkaXYge1xuICAgICAgLm5vdGUtY29sb3ItYnRuIHtcbiAgICAgICAgd2lkdGg6IDIwcHg7XG4gICAgICAgIGhlaWdodDogMjBweDtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBib3JkZXI6IDA7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgICB9XG4gICAgICAubm90ZS1jb2xvci1idG46aG92ZXIge1xuICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMik7XG4gICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjJzO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vKiBEaWFsb2dcbiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi5ub3RlLW1vZGFsIHtcbiAgLm1vZGFsLWRpYWxvZyB7XG4gICAgb3V0bGluZTogMDtcbiAgICBib3JkZXItcmFkaXVzOiA1cHg7XG4gICAgQGluY2x1ZGUgYm94LXNoYWRvdygwIDNweCA5cHggcmdiYSgwLDAsMCwuNSkpO1xuICB9XG4gIC5mb3JtLWdyb3VwIHsgLy8gb3ZlcndyaXRlIEJTJ3MgZm9ybS1ob3Jpem9udGFsIG1pbnVzIG1hcmdpbnNcbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gIH1cbiAgLm5vdGUtbW9kYWwtZm9ybSB7XG4gICAgbWFyZ2luOiAwOyAvLyBvdmVyd3JpdGUgQlMyJ3MgZm9ybSBtYXJnaW4gYm90dG9tXG4gIH1cbiAgLm5vdGUtaW1hZ2UtZGlhbG9nIHtcbiAgICAubm90ZS1kcm9wem9uZSB7XG4gICAgICBtaW4taGVpZ2h0OiAxMDBweDtcbiAgICAgIGZvbnQtc2l6ZTogMzBweDtcbiAgICAgIGxpbmUtaGVpZ2h0OiA0OyAvLyB2ZXJ0aWNhbC1hbGlnblxuICAgICAgY29sb3I6IGxpZ2h0Z3JheTtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIGJvcmRlcjogNHB4IGRhc2hlZCBsaWdodGdyYXk7XG4gICAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICAgIH1cbiAgfVxuXG4gIC8vIFt3b3JrYXJvdW5kXSBmaXJlZm94IGZpbGVpbnB1dFxuICBALW1vei1kb2N1bWVudCB1cmwtcHJlZml4KCkge1xuICAgIC5ub3RlLWltYWdlLWlucHV0IHtcbiAgICAgIGhlaWdodDogYXV0bztcbiAgICB9XG4gIH1cbn1cblxuLyogUGxhY2Vob2xkZXJcbiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi5ub3RlLXBsYWNlaG9sZGVyIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBkaXNwbGF5OiBub25lO1xuICBjb2xvcjogZ3JheTtcbn1cblxuLyogSGFuZGxlXG4gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4ubm90ZS1oYW5kbGUge1xuICAvLyBjb250cm9sIHNlbGVjdGlvblxuICAubm90ZS1jb250cm9sLXNlbGVjdGlvbiB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgYm9yZGVyOiAxcHggc29saWQgIzAwMDtcbiAgICAmID4gZGl2IHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB9XG5cbiAgICAubm90ZS1jb250cm9sLXNlbGVjdGlvbi1iZyB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICMwMDA7XG4gICAgICBAaW5jbHVkZSBvcGFjaXR5KDAuMyk7XG4gICAgfVxuXG4gICAgLm5vdGUtY29udHJvbC1oYW5kbGUge1xuICAgICAgd2lkdGg6IDdweDtcbiAgICAgIGhlaWdodDogN3B4O1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgIzAwMDtcbiAgICB9XG5cbiAgICAubm90ZS1jb250cm9sLWhvbGRlciB7XG4gICAgICBAZXh0ZW5kIC5ub3RlLWNvbnRyb2wtaGFuZGxlO1xuICAgIH1cblxuICAgIC5ub3RlLWNvbnRyb2wtc2l6aW5nIHtcbiAgICAgIEBleHRlbmQgLm5vdGUtY29udHJvbC1oYW5kbGU7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDAwO1xuICAgIH1cblxuICAgIC5ub3RlLWNvbnRyb2wtbncge1xuICAgICAgdG9wOiAtNXB4O1xuICAgICAgbGVmdDogLTVweDtcbiAgICAgIGJvcmRlci1yaWdodDogbm9uZTtcbiAgICAgIGJvcmRlci1ib3R0b206IG5vbmU7XG4gICAgfVxuXG4gICAgLm5vdGUtY29udHJvbC1uZSB7XG4gICAgICB0b3A6IC01cHg7XG4gICAgICByaWdodDogLTVweDtcbiAgICAgIGJvcmRlci1ib3R0b206IG5vbmU7XG4gICAgICBib3JkZXItbGVmdDogbm9uZTtcbiAgICB9XG5cbiAgICAubm90ZS1jb250cm9sLXN3IHtcbiAgICAgIGJvdHRvbTogLTVweDtcbiAgICAgIGxlZnQ6IC01cHg7XG4gICAgICBib3JkZXItdG9wOiBub25lO1xuICAgICAgYm9yZGVyLXJpZ2h0OiBub25lO1xuICAgIH1cblxuICAgIC5ub3RlLWNvbnRyb2wtc2Uge1xuICAgICAgcmlnaHQ6IC01cHg7XG4gICAgICBib3R0b206IC01cHg7XG4gICAgICBjdXJzb3I6IHNlLXJlc2l6ZTtcbiAgICB9XG5cbiAgICAubm90ZS1jb250cm9sLXNlLm5vdGUtY29udHJvbC1ob2xkZXIge1xuICAgICAgY3Vyc29yOiBkZWZhdWx0O1xuICAgICAgYm9yZGVyLXRvcDogbm9uZTtcbiAgICAgIGJvcmRlci1sZWZ0OiBub25lO1xuICAgIH1cblxuICAgIC5ub3RlLWNvbnRyb2wtc2VsZWN0aW9uLWluZm8ge1xuICAgICAgcmlnaHQ6IDA7XG4gICAgICBib3R0b206IDA7XG4gICAgICBwYWRkaW5nOiA1cHg7XG4gICAgICBtYXJnaW46IDVweDtcbiAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzAwMDtcbiAgICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICAgIEBpbmNsdWRlIHJvdW5kZWQoNXB4KTtcbiAgICAgIEBpbmNsdWRlIG9wYWNpdHkoMC43KTtcbiAgICB9XG4gIH1cbn1cblxuLm5vdGUtaGludC1wb3BvdmVyIHtcbiAgbWluLXdpZHRoOiAxMDBweDtcbiAgcGFkZGluZzogMnB4O1xuXG4gIC5wb3BvdmVyLWNvbnRlbnQge1xuICAgIHBhZGRpbmc6IDNweDtcbiAgICBtYXgtaGVpZ2h0OiAxNTBweDtcbiAgICBvdmVyZmxvdzogYXV0bztcblxuICAgIC5ub3RlLWhpbnQtZ3JvdXAge1xuICAgICAgLm5vdGUtaGludC1pdGVtIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcbiAgICAgICAgcGFkZGluZzogM3B4O1xuXG4gICAgICAgICYuYWN0aXZlLCAmOmhvdmVyIHtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICBjbGVhcjogYm90aDtcbiAgICAgICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjQ7XG4gICAgICAgICAgY29sb3I6IHdoaXRlO1xuICAgICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICM0MjhiY2E7XG4gICAgICAgICAgb3V0bGluZTogMDtcbiAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLyogSGFuZGxlXG4gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5odG1sLCBib2R5IHtcbiAgLm5vdGUtZnVsbHNjcmVlbi1ib2R5IHtcbiAgICBvdmVyZmxvdzogaGlkZGVuICFpbXBvcnRhbnQ7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCB0eXBvZ3JhcGh5LWhlbHBlcnNcbi8vLy9cblxuLy8vIERlZmF1bHQgZm9udCBzaXplIGZvciBsZWFkIHBhcmFncmFwaHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kbGVhZC1mb250LXNpemU6ICRnbG9iYWwtZm9udC1zaXplICogMS4yNSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgbGluZSBoZWlnaHQgZm9yIGxlYWQgcGFyYWdyYXBocy5cbi8vLyBAdHlwZSBTdHJpbmdcbiRsZWFkLWxpbmVoZWlnaHQ6IDEuNiAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgbGluZSBoZWlnaHQgZm9yIHN1YmhlYWRlcnMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kc3ViaGVhZGVyLWxpbmVoZWlnaHQ6IDEuNCAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCBjb2xvciBmb3Igc3ViaGVhZGVycy5cbi8vLyBAdHlwZSBDb2xvclxuJHN1YmhlYWRlci1jb2xvcjogJGRhcmstZ3JheSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCB3ZWlnaHQgZm9yIHN1YmhlYWRlcnMuXG4vLy8gQHR5cGUgU3RyaW5nXG4kc3ViaGVhZGVyLWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ub3JtYWwgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHRvcCBtYXJnaW4gZm9yIHN1YmhlYWRlcnMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kc3ViaGVhZGVyLW1hcmdpbi10b3A6IDAuMnJlbSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYm90dG9tIG1hcmdpbiBmb3Igc3ViaGVhZGVycy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRzdWJoZWFkZXItbWFyZ2luLWJvdHRvbTogMC41cmVtICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmb250IHNpemUgZm9yIHN0YXRpc3RpYyBudW1iZXJzLlxuLy8vIEB0eXBlIE51bWJlclxuJHN0YXQtZm9udC1zaXplOiAyLjVyZW0gIWRlZmF1bHQ7XG5cbi8vLyBUZXh0IGNvbG9yIGZvciBgLmNpdGUtYmxvY2tgIGNvbXBvbmVudC5cbi8vLyBAdHlwZSBDb2xvclxuJGNpdGUtY29sb3I6ICRkYXJrLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBGb250IHNpemUgZm9yIGAuY2l0ZS1ibG9ja2AgY29tcG9uZW50LlxuLy8vIEB0eXBlIE51bWJlclxuJGNpdGUtZm9udC1zaXplOiByZW0tY2FsYygxMykgIWRlZmF1bHQ7XG5cbi8vLyBQc2V1ZG8gY29udGVudCBmb3IgYC5jaXRlLWJsb2NrYCBjb21wb25lbnQuXG4vLy8gQHR5cGUgU3RyaW5nXG4kY2l0ZS1wc2V1ZG8tY29udGVudDogJ1xcMjAxNCBcXDAwMjAnICFkZWZhdWx0O1xuXG4vLy8gVGV4dCBjb2xvciBvZiBgLmNvZGUtaW5saW5lYCBhbmQgYC5jb2RlLWJsb2NrYCBjb21wb25lbnRzLlxuLy8vIEB0eXBlIENvbG9yXG4kY29kZS1jb2xvcjogJGJsYWNrICFkZWZhdWx0O1xuXG4vLy8gRm9udCBmYW1pbHkgb2YgYC5jb2RlLWlubGluZWAgYW5kIGAuY29kZS1ibG9ja2AgY29tcG9uZW50cy5cbi8vLyBAdHlwZSBTdHJpbmcgfCBMaXN0XG4kY29kZS1mb250LWZhbWlseTogJGZvbnQtZmFtaWx5LW1vbm9zcGFjZSAhZGVmYXVsdDtcblxuLy8vIEZvbnQgd2VpZ2h0IG9mIHRleHQgaW4gYC5jb2RlLWlubGluZWAgYW5kIGAuY29kZS1ibG9ja2AgY29tcG9uZW50cy5cbi8vLyBAdHlwZSBTdHJpbmdcbiRjb2RlLWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ub3JtYWwgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIG9mIGAuY29kZS1pbmxpbmVgIGFuZCBgLmNvZGUtYmxvY2tgIGNvbXBvbmVudHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRjb2RlLWJhY2tncm91bmQ6ICRsaWdodC1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gQm9yZGVyIGFyb3VuZCBgLmNvZGUtaW5saW5lYCBhbmQgYC5jb2RlLWJsb2NrYCBjb21wb25lbnRzLlxuLy8vIEB0eXBlIExpc3RcbiRjb2RlLWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8vIFBhZGRpbmcgYXJvdW5kIHRleHQgb2YgdGhlIGAuY29kZS1pbmxpbmVgIGNvbXBvbmVudC5cbi8vLyBAdHlwZSBOdW1iZXIgfCBMaXN0XG4kY29kZS1wYWRkaW5nOiByZW0tY2FsYygyIDUgMSkgIWRlZmF1bHQ7XG5cbi8vLyBQYWRkaW5nIGFyb3VuZCB0ZXh0IG9mIHRoZSBgLmNvZGUtYmxvY2tgIGNvbXBvbmVudC5cbi8vLyBAdHlwZSBOdW1iZXIgfCBMaXN0XG4kY29kZS1ibG9jay1wYWRkaW5nOiAxcmVtICFkZWZhdWx0O1xuXG4vLy8gTWFyZ2luIHVuZGVyIHRoZSBgLmNvZGUtYmxvY2tgIGNvbXBvbmVudC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRjb2RlLWJsb2NrLW1hcmdpbi1ib3R0b206IDEuNXJlbSAhZGVmYXVsdDtcblxuQG1peGluIGNpdGUtYmxvY2sge1xuICBkaXNwbGF5OiBibG9jaztcbiAgY29sb3I6ICRjaXRlLWNvbG9yO1xuICBmb250LXNpemU6ICRjaXRlLWZvbnQtc2l6ZTtcblxuICAmOmJlZm9yZSB7XG4gICAgY29udGVudDogJGNpdGUtcHNldWRvLWNvbnRlbnQ7XG4gIH1cbn1cblxuLy8vIEFkZCBiYXNpYyBzdHlsZXMgZm9yIGEgY29kZSBoZWxwZXIuXG4vLy8gU2VlIGBjb2RlLWlubGluZWAgYW5kIGBjb2RlLWJsb2NrYCBtaXhpbnMuXG5AbWl4aW4gY29kZS1zdHlsZSB7XG4gIGJvcmRlcjogJGNvZGUtYm9yZGVyO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29kZS1iYWNrZ3JvdW5kO1xuXG4gIGZvbnQtZmFtaWx5OiAkY29kZS1mb250LWZhbWlseTtcbiAgZm9udC13ZWlnaHQ6ICRjb2RlLWZvbnQtd2VpZ2h0O1xuICBjb2xvcjogJGNvZGUtY29sb3I7XG59XG5cbi8vLyBNYWtlIGNvZGUgaGVscGVyIGZyb20gdGhlIGBjb2RlLXN0eWxlYCBtaXhpbiBpbmxpbmUuXG4vLy8gVXNlZCB0byBnZW5lcmF0ZSBgLmNvZGUtaW5saW5lYFxuQG1peGluIGNvZGUtaW5saW5lIHtcbiAgZGlzcGxheTogaW5saW5lO1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIHdvcmQtd3JhcDogYnJlYWstd29yZDtcblxuICBwYWRkaW5nOiAkY29kZS1wYWRkaW5nO1xufVxuXG4vLy8gTWFrZSBjb2RlIGhlbHBlciBmcm9tIHRoZSBgY29kZS1zdHlsZWAgbWl4aW4gYSBibG9jay5cbi8vLyBVc2VkIHRvIGdlbmVyYXRlIGAuY29kZS1ibG9ja2BcbkBtaXhpbiBjb2RlLWJsb2NrIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG92ZXJmbG93OiBhdXRvO1xuICB3aGl0ZS1zcGFjZTogcHJlO1xuXG4gIHBhZGRpbmc6ICRjb2RlLWJsb2NrLXBhZGRpbmc7XG4gIG1hcmdpbi1ib3R0b206ICRjb2RlLWJsb2NrLW1hcmdpbi1ib3R0b207XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLXR5cG9ncmFwaHktaGVscGVycyB7XG4gIC8vIFVzZSB0byBjcmVhdGUgYSBzdWJoZWFkaW5nIHVuZGVyIGEgbWFpbiBoZWFkZXJcbiAgLy8gTWFrZSBzdXJlIHlvdSBwYWlyIHRoZSB0d28gZWxlbWVudHMgaW4gYSA8aGVhZGVyPiBlbGVtZW50LCBsaWtlIHRoaXM6XG4gIC8vIDxoZWFkZXI+XG4gIC8vICAgPGgxPkhlYWRpbmc8L2gxPlxuICAvLyAgIDxoMj5TdWJoZWFkaW5nPC9oMj5cbiAgLy8gPC9oZWFkZXI+XG4gIC5zdWJoZWFkZXIge1xuICAgIG1hcmdpbi10b3A6ICRzdWJoZWFkZXItbWFyZ2luLXRvcDtcbiAgICBtYXJnaW4tYm90dG9tOiAkc3ViaGVhZGVyLW1hcmdpbi1ib3R0b207XG5cbiAgICBmb250LXdlaWdodDogJHN1YmhlYWRlci1mb250LXdlaWdodDtcbiAgICBsaW5lLWhlaWdodDogJHN1YmhlYWRlci1saW5laGVpZ2h0O1xuICAgIGNvbG9yOiAkc3ViaGVhZGVyLWNvbG9yO1xuICB9XG5cbiAgLy8gVXNlIHRvIHN0eWxlIGFuIGludHJvZHVjdG9yeSBsZWFkLCBkZWNrLCBibHVyYiwgZXRjLlxuICAubGVhZCB7XG4gICAgZm9udC1zaXplOiAkbGVhZC1mb250LXNpemU7XG4gICAgbGluZS1oZWlnaHQ6ICRsZWFkLWxpbmVoZWlnaHQ7XG4gIH1cblxuICAvLyBVc2UgdG8gc3R5bGUgYSBsYXJnZSBudW1iZXIgdG8gZGlzcGxheSBhIHN0YXRpc3RpY1xuICAuc3RhdCB7XG4gICAgZm9udC1zaXplOiAkc3RhdC1mb250LXNpemU7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG5cbiAgICBwICsgJiB7XG4gICAgICBtYXJnaW4tdG9wOiAtMXJlbTtcbiAgICB9XG4gIH1cblxuICB1bCwgb2wge1xuICAgIC8vIFVzZSB0byByZW1vdmUgbnVtYmVycyBmcm9tIG9yZGVyZWQgbGlzdCAmIGJ1bGxldHMgZnJvbSB1bm9yZGVyZWQgbGlzdFxuICAgICYubm8tYnVsbGV0IHtcbiAgICAgIG1hcmdpbi0jeyRnbG9iYWwtbGVmdH06IDA7XG4gICAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIH1cbiAgfVxuXG4gICVjaXRlLWJsb2NrIHtcbiAgICBAaW5jbHVkZSBjaXRlLWJsb2NrO1xuICB9XG5cbiAgLmNpdGUtYmxvY2sge1xuICAgIEBleHRlbmQgJWNpdGUtYmxvY2s7XG4gIH1cblxuICAlY29kZS1pbmxpbmUge1xuICAgIEBpbmNsdWRlIGNvZGUtc3R5bGU7XG4gICAgQGluY2x1ZGUgY29kZS1pbmxpbmU7XG4gIH1cblxuICAuY29kZS1pbmxpbmUge1xuICAgIEBleHRlbmQgJWNvZGUtaW5saW5lO1xuICB9XG5cbiAgLmNvZGUtYmxvY2sge1xuICAgIEBpbmNsdWRlIGNvZGUtc3R5bGU7XG4gICAgQGluY2x1ZGUgY29kZS1ibG9jaztcbiAgfVxufVxuIiwiLy8gRm9udHNcbkBpbXBvcnQgdXJsKCdodHRwczovL2ZvbnRzLmdvb2dsZWFwaXMuY29tL2Nzcz9mYW1pbHk9T3BlbitTYW5zOjQwMCw0MDBpfE1vbnRzZXJyYXQ6NDAwLDgwMCZkaXNwbGF5PXN3YXAnKTtcblxuLy8gRm91bmRhdGlvblxuQGltcG9ydCAnfmZvdW5kYXRpb24tc2l0ZXMvYXNzZXRzL2ZvdW5kYXRpb24nO1xuQGltcG9ydCBcInNldHRpbmdzXCI7XG5AaW1wb3J0ICd+Zm91bmRhdGlvbi1zaXRlcy9zY3NzL3V0aWwvdXRpbCc7XG5cbkBpbmNsdWRlIGZvdW5kYXRpb24tZXZlcnl0aGluZztcblxuLy8gQ3VzdG9tIENvbXBvbmVudHNcbkBpbXBvcnQgJ2dsb2JhbC9idXR0b25zJztcbkBpbXBvcnQgJ2dsb2JhbC9lbGVtZW50cyc7XG5AaW1wb3J0ICdnbG9iYWwvdHlwb2dyYXBoeSc7XG5AaW1wb3J0ICdnbG9iYWwvdGFibGUnO1xuQGltcG9ydCAnZ2xvYmFsL190cmFuc2l0aW9ucyc7XG5AaW1wb3J0ICdnbG9iYWwvX2Jvb3RzdHJhcC1hdXRvY29tcGxldGUtZHJvcGRvd24nO1xuQGltcG9ydCAnY29tcG9uZW50cy9mb290ZXInO1xuQGltcG9ydCAnY29tcG9uZW50cy9oZWFkZXInO1xuQGltcG9ydCAnY29tcG9uZW50cy9sb2dpbic7XG5AaW1wb3J0ICdjb21wb25lbnRzL3BheW1lbnRzJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvcHJvZHVjdHMnO1xuQGltcG9ydCAnY29tcG9uZW50cy91cGxvYWQnO1xuQGltcG9ydCAnY29tcG9uZW50cy9yZXBvcnQnO1xuQGltcG9ydCAnY29tcG9uZW50cy9xdWVzdGlvbm5haXJlJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvZGFzaGJvYXJkcyc7XG5AaW1wb3J0ICdjb21wb25lbnRzL2Zvcm1zJztcblxuLy8gU3VtbWVybm90ZVxuQGltcG9ydCBcIn5zdW1tZXJub3RlL2Rpc3Qvc3VtbWVybm90ZS1saXRlLmNzc1wiO1xuXG5AaW1wb3J0ICdjb21wb25lbnRzL3JlZ2lzdHJhdGlvbic7XG5AaW1wb3J0ICdjb21wb25lbnRzL21lbnUnO1xuQGltcG9ydCAnY29tcG9uZW50cy9pbnB1dCc7XG5AaW1wb3J0IFwiY29tcG9uZW50cy9jYXRhbG9nXCI7XG5AaW1wb3J0IFwiY29tcG9uZW50cy9jYXJ0XCI7XG5AaW1wb3J0IFwiY29tcG9uZW50cy9jaGVja291dFwiO1xuQGltcG9ydCBcImNvbXBvbmVudHMvY2hlY2tvdXRcIjtcblxuLndhcm5pbmcge1xuICAgIGNvbG9yOiAjMjIyO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmViM2I7XG59XG5cbi5uYXZiYXItbGFyYXZlbCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgICBib3gtc2hhZG93OiAwIDJweCA0cHggcmdiYSgwLCAwLCAwLCAwLjA0KTtcbn1cblxubGFiZWxbZm9yPVwicmF3LWRhdGFcIl0ge1xuICAgIGNvbG9yOiAjMTc3OWJhO1xuICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICBkaXNwbGF5OiBpbmxpbmU7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xufVxuXG5zcGFuLmludmFsaWQtZmVlZGJhY2ssIC5lcnJvciB7XG4gICAgY29sb3I6ICNFRjQ1MzM7XG59XG5cbi5sb2dpbl9saW5rIHtcbiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbn1cblxuc3Bhbi5tdWx0aXNlbGVjdF9fdGFnIHtcbiAgICBiYWNrZ3JvdW5kOiAkYmx1ZTtcbn1cblxuLm11bHRpc2VsZWN0X190YWctaWNvbjphZnRlciB7XG4gICAgY29udGVudDogXCJcXDI3MTZcIiAhaW1wb3J0YW50O1xuICAgIGNvbG9yOiAjZGVkZWRlICFpbXBvcnRhbnQ7XG59XG5cbnNlbGVjdCB7XG4gICAgYm9yZGVyOiAxcHggc29saWQgI2RlZGVkZTtcbn1cblxuLnBsdXMtaWNvbiB7XG4gICAgZm9udC1zaXplOiAxcmVtO1xufVxuXG4ubm8tanMge1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgICAgICAudG9wLWJhciB7XG4gICAgICAgICAgICAvLyBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgICAgLnRpdGxlLWJhciB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG4gICAgfVxufVxuXG5cbkBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgLnRpdGxlLWJhciB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxufVxuXG4uY2FsbG91dC5zdWNjZXNzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjYTBkZTU3Yzk7XG59XG5cbi5jYWxsb3V0LnVubGlua2VkIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2VlZTsgLy8gI2RlYTA1Nzg4O1xufVxuXG4uY2FsbG91dC5saW5rZWQge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjYTBkZTU3Yzk7XG59XG5cbi5jYWxsb3V0LnByaW1hcnkge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMzNmIwZmY7XG4gICAgLy8gICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQocmdiYSgxNzEsIDIyMCwgMjU1LCAwLjgpLCByZ2JhKDE3MSwgMjIwLCAyNTUsIDAuOCkpLHVybCgnL3N0b3JhZ2UvaW1nL2JhY2tncm91bmQtdGV4dHVyZS5wbmcnKTtcbiAgICAvLyAgIGhlaWdodDogMTAwJTtcbn1cblxuLnBhZ2luZyB0aCB7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xufVxuXG4ucGFnaW5hdGlvbiB7XG4gICAgLmN1cnJlbnQge1xuICAgICAgICBhIHtcbiAgICAgICAgICAgIGNvbG9yOiAjRkZGO1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICAgICAgfVxuICAgIH1cbn1cblxucC50aXRsZSB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG59XG5cbi50ZXh0LXN1Y2Nlc3Mge1xuICAgIGNvbG9yOiAjMDgwO1xufVxuXG4udGV4dC1jZW50ZXIge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuLnRleHQtcmVkIHtcbiAgICBjb2xvcjogI0M1MjExRjtcbn1cblxuLm1sLTAge1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xufVxuXG4ubWwtMSB7XG4gICAgbWFyZ2luLWxlZnQ6IDAuMjVyZW07XG59XG5cbi5tbC0yIHtcbiAgICBtYXJnaW4tbGVmdDogMC41cmVtO1xufVxuXG4ubWwtMyB7XG4gICAgbWFyZ2luLWxlZnQ6IDAuNzVyZW07XG59XG5cbi5tbC00IHtcbiAgICBtYXJnaW4tbGVmdDogMXJlbTtcbn1cblxuLm1sLTUge1xuICAgIG1hcmdpbi1sZWZ0OiAxLjI1cmVtO1xufVxuXG4ubWwtNiB7XG4gICAgbWFyZ2luLWxlZnQ6IDEuNXJlbTtcbn1cblxuLm1sLTgge1xuICAgIGxlZnQ6IDJyZW07XG59XG5cbi5tdC0wIHtcbiAgICBtYXJnaW4tdG9wOiAwO1xufVxuXG4ubXQtMSB7XG4gICAgbWFyZ2luLXRvcDogMC4yNXJlbTtcbn1cblxuLm10LTIge1xuICAgIG1hcmdpbi10b3A6IDAuNXJlbTtcbn1cblxuLm10LTQge1xuICAgIG1hcmdpbi10b3A6IDFyZW07XG59XG5cbi5tdC04IHtcbiAgICBtYXJnaW4tdG9wOiAycmVtO1xufVxuXG4ubXQtMTIge1xuICAgIG1hcmdpbi10b3A6IDNyZW07XG59XG5cbi5tYi0wIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xufVxuXG4ubWItMSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMC4yNXJlbTtcbn1cblxuLm1iLTIge1xuICAgIG1hcmdpbi1ib3R0b206IDAuNXJlbTtcbn1cblxuLm1iLTQge1xuICAgIG1hcmdpbi1ib3R0b206IDFyZW07XG59XG5cbi5tYi04IHtcbiAgICBtYXJnaW4tYm90dG9tOiAycmVtO1xufVxuXG4ubWItMTIge1xuICAgIG1hcmdpbi1ib3R0b206IDNyZW07XG59XG5cbi5tci0wIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG59XG5cbi5tci0xIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDAuMjVyZW07XG59XG5cbi5tci0yIHtcbiAgICBtYXJnaW4tcmlnaHQ6IC41cmVtO1xufVxuXG4ubXItMyB7XG4gICAgbWFyZ2luLXJpZ2h0OiAuNzVyZW07XG59XG5cbi5tci00IHtcbiAgICBtYXJnaW4tcmlnaHQ6IDFyZW07XG59XG5cbi5tci02IHtcbiAgICBtYXJnaW4tcmlnaHQ6IDEuNXJlbTtcbn1cblxuLm1yLTgge1xuICAgIG1hcmdpbi1yaWdodDogMnJlbTtcbn1cblxuLnAtMSB7XG4gICAgcGFkZGluZzogMC4yNXJlbTtcbn1cblxuLnAtMiB7XG4gICAgcGFkZGluZzogMC41cmVtO1xufVxuXG4ucC0zIHtcbiAgICBwYWRkaW5nOiAwLjc1cmVtO1xufVxuXG4ucC00IHtcbiAgICBwYWRkaW5nOiAxcmVtO1xufVxuXG4ucHItMSB7XG4gICAgcGFkZGluZy1yaWdodDogMC4yNXJlbTtcbn1cblxuLnByLTIge1xuICAgIHBhZGRpbmctcmlnaHQ6IDAuNXJlbTtcbn1cblxuLnByLTMge1xuICAgIHBhZGRpbmctcmlnaHQ6IDAuNzVyZW07XG59XG5cbi5wci00IHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAxcmVtO1xufVxuXG4ucGwtMSB7XG4gICAgcGFkZGluZy1sZWZ0OiAwLjI1cmVtO1xufVxuXG4ucGwtMiB7XG4gICAgcGFkZGluZy1sZWZ0OiAwLjVyZW07XG59XG5cbi5wbC0zIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDAuNzVyZW07XG59XG5cbi5wbC00IHtcbiAgICBwYWRkaW5nLWxlZnQ6IDFyZW07XG59XG5cbi50ZXh0LWJvbGQge1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xufVxuXG4udGVybXMtYm94IHtcbiAgICBwYWRkaW5nOiAxNXB4O1xuICAgIGJvcmRlcjogc29saWQgMXB4ICNjY2M7XG4gICAgYm9yZGVyLXJhZGl1czogNXB4O1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmMGYwZjA7XG4gICAgb3ZlcmZsb3c6IHNjcm9sbDtcbn1cblxuLmQtdHIge1xuICAgIGRpc3BsYXk6IHRhYmxlLXJvdztcbn1cblxuLmQtdGQge1xuICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7XG59XG5cbmlucHV0W3R5cGU9XCJlbWFpbFwiXSwgaW5wdXRbdHlwZT1cInBhc3N3b3JkXCJdLCBpbnB1dFt0eXBlPVwidGV4dFwiXSwgLmZvcm0taW5wdXQge1xuICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsYWNrO1xuICAgIGJvcmRlci1yYWRpdXM6IDAgIWltcG9ydGFudDtcbiAgICBib3gtc2hhZG93OiBub25lO1xufVxuXG4ucHJpbWFyeSB7XG4gICAgYmFja2dyb3VuZDogIzM2YjBmZjtcbiAgICAvLyBoZWlnaHQ6IDEwMCU7XG4gICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICBwYWRkaW5nOiA1cHggNDBweCAxMHB4IDQwcHg7XG59XG5cbi5jYWxsb3V0IGxhYmVsIHtcbiAgICBmb250LXNpemU6IDE3cHg7XG4gICAgbWFyZ2luLWJvdHRvbTogNXB4O1xufVxuXG4uY2FsbG91dCAuYnV0dG9uIHtcbiAgICBmbG9hdDogbm9uZTtcbiAgICBtYXJnaW46IDAgYXV0bztcbiAgICBkaXNwbGF5OiBibG9jaztcbn1cblxuLmRlbGV0ZS1kYXRhIHtcbiAgICBib3JkZXI6IDNweCBzb2xpZCAjYzUyMTFmO1xuICAgIHBhZGRpbmc6IDQwcHggNTBweDtcbiAgICBtYXgtd2lkdGg6IDgwMHB4O1xuICAgIGZsb2F0OiBub25lO1xuICAgIG1hcmdpbjogMjBweCBhdXRvIDMwcHg7XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYzOXB4KSB7XG4gICAgLmRlbGV0ZS1kYXRhIHtcbiAgICAgICAgbWF4LXdpZHRoOiBjYWxjKDEwMHZ3IC0gMS4yNXJlbSk7XG4gICAgfVxufVxuXG4uZGVsZXRlLWRhdGEgLmg1IHtcbiAgICBjb2xvcjogI2M1MjExZjtcbiAgICBtYXJnaW4tYm90dG9tOiAyNXB4O1xufVxuXG4udGV4dC1sb2FkaW5nIHtcbiAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgbGVmdDogNTAlO1xuICAgIHRvcDogNTAlO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xuICAgIGZvbnQtZmFtaWx5OiAnTW9udHNlcnJhdCc7XG4gICAgZm9udC1zaXplOiA1cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgIGNvbG9yOiAjZWVlO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB0ZXh0LXNoYWRvdzogM3B4IDNweCAjNjY2O1xuICAgIHotaW5kZXg6IDk5OTtcbn1cblxuLnNldHRpbmdzLXByaWNlLWlucHV0IHtcbiAgICBib3JkZXI6IDFweCBzb2xpZCBibGFjaztcbiAgICBib3JkZXItcmFkaXVzOiAwICFpbXBvcnRhbnQ7XG4gICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICBmb250LXNpemU6IDEuMjVyZW07XG59XG5cbi5ncmlkIHtcbiAgICBkaXNwbGF5OiBncmlkO1xufVxuXG4uaW5saW5lLWdyaWQge1xuICAgIGRpc3BsYXk6IGlubGluZS1ncmlkO1xufVxuXG4uZ3JpZC1jb2xzLTEge1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDEsIG1pbm1heCgwLCAxZnIpKVxufVxuXG4uZ3JpZC1jb2xzLTIge1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDIsIG1pbm1heCgwLCAxZnIpKVxufVxuXG4uZ3JpZC1jb2xzLTMge1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDMsIG1pbm1heCgwLCAxZnIpKVxufVxuXG4uZ3JpZC1jb2xzLTQge1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDQsIG1pbm1heCgwLCAxZnIpKVxufVxuXG4uZ3JpZC1jb2xzLTUge1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDUsIG1pbm1heCgwLCAxZnIpKVxufVxuXG4uZ3JpZC1jb2xzLTYge1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDYsIG1pbm1heCgwLCAxZnIpKVxufVxuXG4uZ3JpZC1jb2xzLTcge1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDcsIG1pbm1heCgwLCAxZnIpKVxufVxuXG4uZ3JpZC1jb2xzLTgge1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDgsIG1pbm1heCgwLCAxZnIpKVxufVxuXG4uZ3JpZC1jb2xzLTkge1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDksIG1pbm1heCgwLCAxZnIpKVxufVxuXG4uZ3JpZC1jb2xzLTEwIHtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgxMCwgbWlubWF4KDAsIDFmcikpXG59XG5cbi5ncmlkLXJvd3MtMSB7XG4gICAgZ3JpZC10ZW1wbGF0ZS1yb3dzOiByZXBlYXQoMSwgbWlubWF4KDAsIDFmcikpXG59XG5cbi5ncmlkLXJvd3MtMiB7XG4gICAgZ3JpZC10ZW1wbGF0ZS1yb3dzOiByZXBlYXQoMiwgbWlubWF4KDAsIDFmcikpXG59XG5cbi5ncmlkLXJvd3MtMyB7XG4gICAgZ3JpZC10ZW1wbGF0ZS1yb3dzOiByZXBlYXQoMywgbWlubWF4KDAsIDFmcikpXG59XG5cbi5ncmlkLXJvd3MtNCB7XG4gICAgZ3JpZC10ZW1wbGF0ZS1yb3dzOiByZXBlYXQoNCwgbWlubWF4KDAsIDFmcikpXG59XG5cbi5ncmlkLXJvd3MtNSB7XG4gICAgZ3JpZC10ZW1wbGF0ZS1yb3dzOiByZXBlYXQoNSwgbWlubWF4KDAsIDFmcikpXG59XG5cbi5ncmlkLXJvd3MtNiB7XG4gICAgZ3JpZC10ZW1wbGF0ZS1yb3dzOiByZXBlYXQoNiwgbWlubWF4KDAsIDFmcikpXG59XG5cbi5ncmlkLXJvd3MtNyB7XG4gICAgZ3JpZC10ZW1wbGF0ZS1yb3dzOiByZXBlYXQoNywgbWlubWF4KDAsIDFmcikpXG59XG5cbi5ncmlkLXJvd3MtOCB7XG4gICAgZ3JpZC10ZW1wbGF0ZS1yb3dzOiByZXBlYXQoOCwgbWlubWF4KDAsIDFmcikpXG59XG5cbi5ncmlkLXJvd3MtOSB7XG4gICAgZ3JpZC10ZW1wbGF0ZS1yb3dzOiByZXBlYXQoOSwgbWlubWF4KDAsIDFmcikpXG59XG5cbi5ncmlkLXJvd3MtMTAge1xuICAgIGdyaWQtdGVtcGxhdGUtcm93czogcmVwZWF0KDEwLCBtaW5tYXgoMCwgMWZyKSlcbn1cblxuLmdyaWQtZmxvdy1jb2wge1xuICAgIGdyaWQtYXV0by1mbG93OiBjb2x1bW47XG59XG5cbi5nYXAtMSB7XG4gICAgZ2FwOiAwLjI1cmVtO1xufVxuXG4uZ2FwLTIge1xuICAgIGdhcDogMC41cmVtO1xufVxuXG4uZ2FwLTMge1xuICAgIGdhcDogMC43NXJlbTtcbn1cblxuLmdhcC00IHtcbiAgICBnYXA6IDFyZW07XG59XG5cbi5nYXAteC0xIHtcbiAgICBjb2x1bW4tZ2FwOiAwLjI1cmVtO1xufVxuXG4uZ2FwLXgtMiB7XG4gICAgY29sdW1uLWdhcDogMC41cmVtO1xufVxuXG4uZ2FwLXgtMyB7XG4gICAgY29sdW1uLWdhcDogMC43NXJlbTtcbn1cblxuLmdhcC14LTQge1xuICAgIGNvbHVtbi1nYXA6IDFyZW07XG59XG5cbi5nYXAteS0xIHtcbiAgICByb3ctZ2FwOiAwLjI1cmVtO1xufVxuXG4uZ2FwLXktMiB7XG4gICAgcm93LWdhcDogMC41cmVtO1xufVxuXG4uZ2FwLXktMyB7XG4gICAgcm93LWdhcDogMC43NXJlbTtcbn1cblxuLmdhcC15LTQge1xuICAgIHJvdy1nYXA6IDFyZW07XG59XG5cbi5pdGVtcy1jZW50ZXIge1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG59XG5cbi5zbWFsbC1idXR0b24ge1xuICAgIHBhZGRpbmc6IDAuNzVyZW07XG4gICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMzk2ZDlkO1xuICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICBjb2xvcjogI2ZmZjtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZS1pbi1vdXQ7XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZDogIzgxYTFiZTtcbiAgICB9XG59XG5cbi5jb2xsYXBzZS10aXRsZSB7XG4gICAgJjo6YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogJ1xcZjI4Mic7XG4gICAgICAgIGZvbnQtZmFtaWx5OiAnYm9vdHN0cmFwLWljb25zJztcbiAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDIwcHg7XG4gICAgICAgIGZvbnQtc2l6ZTogMjBweDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDQzcHg7XG4gICAgfVxuXG4gICAgJi5jb2xsYXBzZWQ6OmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6ICdcXGYyODUnO1xuICAgIH1cbn1cblxuLmNvbGxhcHNlIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2l0aW9uLXByb3BlcnR5OiBhbGw7XG4gICAgLW8tdHJhbnNpdGlvbi1wcm9wZXJ0eTogYWxsO1xuICAgIHRyYW5zaXRpb24tcHJvcGVydHk6IGFsbDtcbiAgICAtd2Via2l0LXRyYW5zaXRpb24tZHVyYXRpb246IC4zNXM7XG4gICAgLW8tdHJhbnNpdGlvbi1kdXJhdGlvbjogLjM1cztcbiAgICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAuMzVzO1xuICAgIC13ZWJraXQtdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2U7XG4gICAgLW8tdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2U7XG4gICAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2U7XG5cbiAgICAmLnNob3cge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICB9XG59XG5cbi5jaGVja291dC1jb250YWluZXIge1xuICAgIHdpZHRoOiA3NSU7XG4gICAgbWluLXdpZHRoOiA3NjhweDtcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gICAgJiA+IHAge1xuICAgICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIH1cbn1cblxubGkuZGlzY2xhaW1lcl9hZ3JlZW1lbnQge1xuICAgIC8vIGRpc3BsYXk6IGJsb2NrO1xuICAgIG1hcmdpbjogMDtcbiAgICBmb250LXNpemU6IDAuODc1cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgbGluZS1oZWlnaHQ6IDEuODtcbiAgICBjb2xvcjogIzRkNGQ0ZDtcblxuICAgICYudGV4dC1yZWQge1xuICAgICAgICBjb2xvcjogI0M1MjExRjtcbiAgICB9XG59XG5cbi5jYXJ0LXBhZ2UtY29udHJvbHMge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDtcblxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc2OHB4KSB7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICAgIH1cblxuICAgIGZvcm0ge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgICAgICAgZ2FwOiAyNXB4O1xuXG4gICAgICAgIGlucHV0W3R5cGU9XCJ0ZXh0XCJdIHtcbiAgICAgICAgICAgIGhlaWdodDogNDhweDtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgIH1cblxuICAgICAgICBzbWFsbCB7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBhIHtcbiAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY4cHgpIHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDI1cHg7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBicmVha3BvaW50c1xuLy8vL1xuXG4vLy8gUGF0Y2ggdG8gZml4IGlzc3VlICMxMjA4MFxuJC16Zi1zaXplOiBudWxsO1xuXG4vLy8gQSBsaXN0IG9mIG5hbWVkIGJyZWFrcG9pbnRzLiBZb3UgY2FuIHVzZSB0aGVzZSB3aXRoIHRoZSBgYnJlYWtwb2ludCgpYCBtaXhpbiB0byBxdWlja2x5IGNyZWF0ZSBtZWRpYSBxdWVyaWVzLlxuLy8vIEB0eXBlIE1hcFxuJGJyZWFrcG9pbnRzOiAoXG4gIHNtYWxsOiAwLFxuICBtZWRpdW06IDY0MHB4LFxuICBsYXJnZTogMTAyNHB4LFxuICB4bGFyZ2U6IDEyMDBweCxcbiAgeHhsYXJnZTogMTQ0MHB4LFxuKSAhZGVmYXVsdDtcblxuLy8vIEEgbGlzdCBvZiBuYW1lZCBIaURQSSBicmVha3BvaW50cy4gWW91IGNhbiB1c2UgdGhlc2Ugd2l0aCB0aGUgYGJyZWFrcG9pbnQoKWAgbWl4aW4gdG8gcXVpY2tseSBjcmVhdGUgbWVkaWEgcXVlcmllcyBmb3IgcmVzb2x1dGlvbnMuXG4vLy8gVmFsdWVzIG11c3QgcmVwcmVzZW50IHRoZSBkZXZpY2UgcGl4ZWxzIC8gd2ViIHBpeGVscyByYXRpb24gYW5kIGJlIHVuaXRsZXNzIG9yIGluIERQUFguXG4vLy8gQHR5cGUgTWFwXG4kYnJlYWtwb2ludHMtaGlkcGk6IChcbiAgaGlkcGktMTogMSxcbiAgaGlkcGktMS01OiAxLjUsXG4gIGhpZHBpLTI6IDIsXG4gIHJldGluYTogMixcbiAgaGlkcGktMzogM1xuKSAhZGVmYXVsdDtcblxuLy8vIFRoZSBsYXJnZXN0IG5hbWVkIGJyZWFrcG9pbnQgaW4gd2hpY2ggdG8gaW5jbHVkZSBwcmludCBhcyBhIG1lZGlhIHR5cGVcbi8vLyBAdHlwZSBLZXl3b3JkXG4kcHJpbnQtYnJlYWtwb2ludDogbGFyZ2UgIWRlZmF1bHQ7XG5cbiQtemYtemVyby1icmVha3BvaW50OiBzbWFsbCAhZGVmYXVsdDtcblxuJC16Zi1icmVha3BvaW50cy1rZXlzOiBtYXAtdG8tbGlzdCgkYnJlYWtwb2ludHMsICdrZXlzJyk7XG5cbkBpZiBudGgobWFwLXZhbHVlcygkYnJlYWtwb2ludHMpLCAxKSAhPSAwIHtcbiAgQGVycm9yICdUaGUgZmlyc3Qga2V5IGluIHRoZSAkYnJlYWtwb2ludHMgbWFwIG11c3QgaGF2ZSBhIHZhbHVlIG9mIFwiMFwiLic7XG59XG5AZWxzZSB7XG4gICQtemYtemVyby1icmVha3BvaW50OiBudGgobWFwLWtleXMoJGJyZWFrcG9pbnRzKSwgMSk7XG59XG5cbi8vLyBBbGwgb2YgdGhlIG5hbWVzIGluIHRoaXMgbGlzdCB3aWxsIGJlIG91dHB1dCBhcyBjbGFzc2VzIGluIHlvdXIgQ1NTLCBsaWtlIGAuc21hbGwtMTJgLCBgLm1lZGl1bS02YCwgYW5kIHNvIG9uLiBFYWNoIHZhbHVlIGluIHRoaXMgbGlzdCBtdXN0IGFsc28gYmUgaW4gdGhlIGAkYnJlYWtwb2ludHNgIG1hcC5cbi8vLyBAdHlwZSBMaXN0XG4kYnJlYWtwb2ludC1jbGFzc2VzOiAoc21hbGwgbWVkaXVtIGxhcmdlKSAhZGVmYXVsdDtcblxuLy8vIEdlbmVyYXRlcyBhIG1lZGlhIHF1ZXJ5IHN0cmluZyBtYXRjaGluZyB0aGUgaW5wdXQgdmFsdWUuIFJlZmVyIHRvIHRoZSBkb2N1bWVudGF0aW9uIGZvciB0aGUgYGJyZWFrcG9pbnQoKWAgbWl4aW4gdG8gc2VlIHdoYXQgdGhlIHBvc3NpYmxlIGlucHV0cyBhcmUuXG4vLy9cbi8vLyBAcGFyYW0ge0tleXdvcmR8TnVtYmVyfSAkdmFsIFtzbWFsbF0gLSBCcmVha3BvaW50IG5hbWUsIG9yIHB4LCByZW0sIG9yIGVtIHZhbHVlIHRvIHByb2Nlc3MuXG5AZnVuY3Rpb24gYnJlYWtwb2ludCgkdmFsOiAkLXpmLXplcm8tYnJlYWtwb2ludCkge1xuICAvLyBXZWIgc3RhbmRhcmQgUGl4ZWxzIHBlciBpbmNoLiAoMWRkcHggLyAkc3RkLXdlYi1kcGkpID0gMWRwaVxuICAvLyBTZWUgaHR0cHM6Ly93d3cudzMub3JnL1RSL2Nzcy12YWx1ZXMtMy8jYWJzb2x1dGUtbGVuZ3Roc1xuICAkc3RkLXdlYi1kcGk6IDk2O1xuXG4gIC8vIFNpemUgb3Iga2V5d29yZFxuICAkYnA6IG50aCgkdmFsLCAxKTtcbiAgLy8gVmFsdWUgb2YgdGhlIGZvbGxvd2luZyBicmVha3BvaW50XG4gICRicC1uZXh0OiBudWxsO1xuICAvLyBWYWx1ZSBmb3IgbWF4LXdpZHRoIG1lZGlhIHF1ZXJpZXNcbiAgJGJwLW1pbjogbnVsbDtcbiAgLy8gVmFsdWUgZm9yIG1pbi13aWR0aCBtZWRpYSBxdWVyaWVzXG4gICRicC1tYXg6IG51bGw7XG4gIC8vIERpcmVjdGlvbiBvZiBtZWRpYSBxdWVyeSAodXAsIGRvd24sIG9yIG9ubHkpXG4gICRkaXI6IGlmKGxlbmd0aCgkdmFsKSA+IDEsIG50aCgkdmFsLCAyKSwgdXApO1xuICAvLyBJZiBuYW1lZCwgbmFtZSBvZiB0aGUgYnJlYWtwb2ludFxuICAkbmFtZTogbnVsbDtcbiAgLy8gSWYgdGhlIGJyZWFrcG9pbnQgaXMgYSBIaURQSSBicmVha3BvaW50XG4gICRoaWRwaTogZmFsc2U7XG5cbiAgLy8gT3JpZW50YXRpb24gbWVkaWEgcXVlcmllcyBoYXZlIGEgdW5pcXVlIHN5bnRheFxuICBAaWYgJGJwID09ICdsYW5kc2NhcGUnIG9yICRicCA9PSAncG9ydHJhaXQnIHtcbiAgICBAcmV0dXJuICcob3JpZW50YXRpb246ICN7JGJwfSknO1xuICB9XG5cbiAgLy8gSWYgYSBicmVha3BvaW50IG5hbWUgaXMgZ2l2ZW4sIGdldCBpdHMgdmFsdWUgZnJvbSB0aGUgJGJyZWFrcG9pbnRzLyRicmVha3BvaW50cy1oaWRwaSBtYXAuXG4gIEBpZiB0eXBlLW9mKCRicCkgPT0gJ3N0cmluZycge1xuICAgIEBpZiBtYXAtaGFzLWtleSgkYnJlYWtwb2ludHMsICRicCkge1xuICAgICAgJG5hbWU6ICRicDtcbiAgICAgICRicDogbWFwLWdldCgkYnJlYWtwb2ludHMsICRuYW1lKTtcbiAgICAgICRicC1uZXh0OiAtemYtbWFwLW5leHQoJGJyZWFrcG9pbnRzLCAkbmFtZSk7XG4gICAgfVxuICAgIEBlbHNlIGlmIG1hcC1oYXMta2V5KCRicmVha3BvaW50cy1oaWRwaSwgJGJwKSB7XG4gICAgICAkbmFtZTogJGJwO1xuICAgICAgJGJwOiBtYXAtZ2V0KCRicmVha3BvaW50cy1oaWRwaSwgJG5hbWUpO1xuICAgICAgJGJwLW5leHQ6IC16Zi1tYXAtbmV4dC1udW1iZXIoJGJyZWFrcG9pbnRzLWhpZHBpLCAkYnApO1xuICAgICAgJGhpZHBpOiB0cnVlO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICAkYnA6IDA7XG4gICAgICBAd2FybiAnYnJlYWtwb2ludCgpOiBcIiN7JHZhbH1cIiBpcyBub3QgZGVmaW5lZCBpbiB5b3VyIGAkYnJlYWtwb2ludHNgIG9yIGAkYnJlYWtwb2ludHMtaGlkcGlgIHNldHRpbmcuJztcbiAgICB9XG4gIH1cblxuICBAaWYgbm90ICRuYW1lIGFuZCAkZGlyID09ICdvbmx5JyB7XG4gICAgQHdhcm4gJ2JyZWFrcG9pbnQoKTogT25seSBuYW1lZCBtZWRpYSBxdWVyaWVzIGNhbiBoYXZlIGFuIGBvbmx5YCByYW5nZS4nO1xuICAgIEByZXR1cm4gbnVsbDtcbiAgfVxuXG4gIC8vIE9ubHkgJ29ubHknIGFuZCAndXAnIGhhdmUgYSBtaW4gbGltaXQuXG4gIEBpZiAkZGlyID09ICdvbmx5JyBvciAkZGlyID09ICd1cCcge1xuICAgICRicC1taW46IGlmKCRoaWRwaSwgc3RyaXAtdW5pdCgkYnApLCAtemYtYnAtdG8tZW0oJGJwKSk7XG4gIH1cbiAgLy8gT25seSAnb25seScgYW5kICdkb3duJyBoYXZlIGEgbWF4IGxpbWl0LlxuICBAaWYgJGRpciA9PSAnb25seScgb3IgJGRpciA9PSAnZG93bicge1xuICAgIC8vIElmIHRoZSBicmVha3BvaW50IGlzIGEgdmFsdWUsIHVzZSBpdCBhcyBtYXggbGltaXQuXG4gICAgQGlmIG5vdCAkbmFtZSB7XG4gICAgICAkYnAtbWF4OiBpZigkaGlkcGksIHN0cmlwLXVuaXQoJGJwKSwgLXpmLWJwLXRvLWVtKCRicCkpO1xuICAgIH1cbiAgICAvLyBJZiB0aGUgYnJlYWtwb2ludCBpcyBuYW1lZCwgdGhlIG1heCBsaW1pdCBpcyB0aGUgZm9sbG93aW5nIGJyZWFrcG9pbnQgLSAxcHguXG4gICAgQGVsc2UgaWYgJGJwLW5leHQge1xuICAgICAgLy8gTWF4IHZhbHVlIGlzIDAuMnB4IHVuZGVyIHRoZSBuZXh0IGJyZWFrcG9pbnQgKDAuMDIgLyAxNiA9IDAuMDAxMjUpLlxuICAgICAgLy8gVXNlIGEgcHJlY2lzaW9uIHVuZGVyIDFweCB0byBzdXBwb3J0IGJyb3dzZXIgem9vbSwgYnV0IG5vdCB0byBsb3cgdG8gYXZvaWQgcm91bmRpbmcuXG4gICAgICAvLyBTZWUgaHR0cHM6Ly9naXRodWIuY29tL2ZvdW5kYXRpb24vZm91bmRhdGlvbi1zaXRlcy9pc3N1ZXMvMTEzMTNcbiAgICAgICRicC1tYXg6IGlmKCRoaWRwaSwgJGJwLW5leHQgLSBkaXZpZGUoMSwgJHN0ZC13ZWItZHBpKSwgLXpmLWJwLXRvLWVtKCRicC1uZXh0KSAtIDAuMDAxMjUpO1xuICAgIH1cbiAgfVxuXG4gIC8vIEdlbmVyYXRlIHRoZSBtZWRpYSBxdWVyeSBzdHJpbmcgZnJvbSBtaW4gYW5kIG1heCBsaW1pdHMuXG4gIEBpZiAkaGlkcGkge1xuICAgIC8vIEdlbmVyYXRlIHZhbHVlcyBpbiBEUEkgaW5zdGVhZCBvZiBEUFBYIGZvciBhbiBJRTktMTEvT3BlcmEgbWluaSBjb21wYXRpYmlsaXR5LlxuICAgIC8vIFNlZSBodHRwczovL2Nhbml1c2UuY29tLyNmZWF0PWNzcy1tZWRpYS1yZXNvbHV0aW9uXG4gICAgJGJwLW1pbi1kcGk6IGlmKCRicC1taW4sICRicC1taW4gKiAkc3RkLXdlYi1kcGkgKiAxZHBpLCAkYnAtbWluKTtcbiAgICAkYnAtbWF4LWRwaTogaWYoJGJwLW1heCwgJGJwLW1heCAqICRzdGQtd2ViLWRwaSAqIDFkcGksICRicC1tYXgpO1xuICAgIEByZXR1cm4gemYtc3RyLWpvaW4oXG4gICAgICAtemYtYnAtam9pbigkYnAtbWluLCAkYnAtbWF4LCAnLXdlYmtpdC1taW4tZGV2aWNlLXBpeGVsLXJhdGlvJywgJy13ZWJraXQtbWF4LWRldmljZS1waXhlbC1yYXRpbycpLFxuICAgICAgLXpmLWJwLWpvaW4oJGJwLW1pbi1kcGksICRicC1tYXgtZHBpLCAnbWluLXJlc29sdXRpb24nLCAnbWF4LXJlc29sdXRpb24nKSxcbiAgICAgICcsICcpO1xuICB9XG4gIEBlbHNlIHtcbiAgICBAcmV0dXJuIC16Zi1icC1qb2luKCRicC1taW4sICRicC1tYXgpO1xuICB9XG59XG5cbi8vLyBXcmFwcyBhIG1lZGlhIHF1ZXJ5IGFyb3VuZCB0aGUgY29udGVudCB5b3UgcHV0IGluc2lkZSB0aGUgbWl4aW4uIFRoaXMgbWl4aW4gYWNjZXB0cyBhIG51bWJlciBvZiB2YWx1ZXM6XG4vLy8gIC0gSWYgYSBzdHJpbmcgaXMgcGFzc2VkLCB0aGUgbWl4aW4gd2lsbCBsb29rIGZvciBpdCBpbiB0aGUgYCRicmVha3BvaW50c2AgYW5kIGAkYnJlYWtwb2ludHMtaGlkcGlgIG1hcHMsIGFuZCB1c2UgYSBtZWRpYSBxdWVyeSB0aGVyZS5cbi8vLyAgLSBJZiBhIHBpeGVsIHZhbHVlIGlzIHBhc3NlZCwgaXQgd2lsbCBiZSBjb252ZXJ0ZWQgdG8gYW4gZW0gdmFsdWUgdXNpbmcgYCRnbG9iYWwtZm9udC1zaXplYCBhcyB0aGUgYmFzZS5cbi8vLyAgLSBJZiBhIHJlbSB2YWx1ZSBpcyBwYXNzZWQsIHRoZSB1bml0IHdpbGwgYmUgY2hhbmdlZCB0byBlbS5cbi8vLyAgLSBJZiBhbiBlbSB2YWx1ZSBpcyBwYXNzZWQsIHRoZSB2YWx1ZSB3aWxsIGJlIHVzZWQgYXMtaXMuXG4vLy9cbi8vLyBJZiBtdWx0aXBsZSB2YWx1ZXMgYXJlIHBhc3NlZCwgdGhlIG1peGluIHdpbGwgZ2VuZXJhdGUgYSBtZWRpYSBxdWVyeSBmb3IgZWFjaCBvZiB0aGVtIGFzIGRlc2NyaWJlZCBhYm92ZS5cbi8vLyBTaW5jZSB0aGUgY29udGVudCBpcyBkdXBsaWNhdGVkIGZvciBlYWNoIGJyZWFrcG9pbnQsIHRoaXMgbWl4aW4gc2hvdWxkIG9ubHkgYmUgdXNlZCB3aXRoIHByb3BlcnRpZXMgdGhhdFxuLy8vIGNoYW5nZSBhY3Jvc3MgYnJlYWtwb2ludHMuXG4vLy9cbi8vLyBAcGFyYW0ge0tleXdvcmR8TnVtYmVyfSAkdmFsdWVzLi4uIC0gQnJlYWtwb2ludCBuYW1lIG9yIHB4L3JlbS9lbSB2YWx1ZSB0byBwcm9jZXNzLlxuLy8vXG4vLy8gQG91dHB1dCBJZiB0aGUgYnJlYWtwb2ludCBpcyBcIjBweCBhbmQgbGFyZ2VyXCIsIG91dHB1dHMgdGhlIGNvbnRlbnQgYXMtaXMuIE90aGVyd2lzZSwgb3V0cHV0cyB0aGUgY29udGVudCB3cmFwcGVkIGluIGEgbWVkaWEgcXVlcnkuXG5AbWl4aW4gYnJlYWtwb2ludCgkdmFsdWVzLi4uKSB7XG4gIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggbGVuZ3RoKCR2YWx1ZXMpIHtcbiAgICAkdmFsdWU6IG50aCgkdmFsdWVzLCAkaSk7XG4gICAgJHN0cjogYnJlYWtwb2ludCgkdmFsdWUpO1xuICAgICRicDogaW5kZXgoJC16Zi1icmVha3BvaW50cy1rZXlzLCBudGgoJHZhbHVlLCAxKSk7XG4gICAgJHBicDogaW5kZXgoJC16Zi1icmVha3BvaW50cy1rZXlzLCAkcHJpbnQtYnJlYWtwb2ludCk7XG4gICAgLy8gRGlyZWN0aW9uIG9mIG1lZGlhIHF1ZXJ5ICh1cCwgZG93biwgb3Igb25seSlcbiAgICAkZGlyOiBpZihsZW5ndGgoJHZhbHVlKSA+IDEsIG50aCgkdmFsdWUsIDIpLCB1cCk7XG5cbiAgICAkb2xkLXpmLXNpemU6IG51bGw7XG5cbiAgICAvLyBNYWtlIGJyZWFrcG9pbnQgc2l6ZSBhdmFpbGFibGUgYXMgYSB2YXJpYWJsZVxuICAgIEBpZiBnbG9iYWwtdmFyaWFibGUtZXhpc3RzKC16Zi1zaXplKSB7XG4gICAgICAkb2xkLXpmLXNpemU6ICQtemYtc2l6ZTtcbiAgICB9XG4gICAgJC16Zi1zaXplOiBudGgoJHZhbHVlLCAxKSAhZ2xvYmFsOyAvLyBnZXQgdGhlIGZpcnN0IHZhbHVlIHRvIGFjY291bnQgZm9yIGBvbmx5YCBhbmQgYGRvd25gIGtleXdvcmRzXG5cbiAgICAvLyBJZiAkc3RyIGlzIHN0aWxsIGFuIGVtcHR5IHN0cmluZywgbm8gbWVkaWEgcXVlcnkgaXMgbmVlZGVkXG4gICAgQGlmICRzdHIgPT0gJycge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuXG4gICAgLy8gT3RoZXJ3aXNlLCB3cmFwIHRoZSBjb250ZW50IGluIGEgbWVkaWEgcXVlcnlcbiAgICBAZWxzZSB7XG4gICAgICAvLyBGb3IgbmFtZWQgYnJlYWtwb2ludHMgbGVzcyB0aGFuIG9yIGVxdWFsIHRvICRwcmludC1icmVha3BvaW50LCBhZGQgcHJpbnQgdG8gdGhlIG1lZGlhIHR5cGVzXG4gICAgICAvLyBnZW5lcmF0ZSBwcmludCBpZiB0aGUgYnJlYWtwb2ludCBhZmZlY3RzIHRoZSBwcmludC1icmVha3BvaW50IChvciBzbWFsbGVyKS5cbiAgICAgIC8vIFRoaXMgbWVhbnMgdGhlIGN1cnJlbnQgY29uZGl0aW9uIG9ubHkgbmVlZHMgdG8gYmUgZXh0ZW5kZWQgc28gJ2Rvd24nIGFsd2F5cyBnZW5lcmF0ZXMgcHJpbnQuXG4gICAgICBAaWYgJGJwICE9IG51bGwgYW5kICgkYnAgPD0gJHBicCBvciAkZGlyID09IGRvd24pIHtcbiAgICAgICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kICN7JHN0cn0ge1xuICAgICAgICAgIEBjb250ZW50O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICBAZWxzZSB7XG4gICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kICN7JHN0cn0ge1xuICAgICAgICAgIEBjb250ZW50O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgJC16Zi1zaXplOiAkb2xkLXpmLXNpemUgIWdsb2JhbDtcbiAgfVxufVxuXG4vLy8gQ29udmVydHMgdGhlIGJyZWFrcG9pbnRzIG1hcCB0byBhIFVSTC1lbmNvZGVkIHN0cmluZywgbGlrZSB0aGlzOiBga2V5MT12YWx1ZTEma2V5Mj12YWx1ZTJgLiBUaGUgdmFsdWUgaXMgdGhlbiBkcm9wcGVkIGludG8gdGhlIENTUyBmb3IgYSBzcGVjaWFsIGA8bWV0YT5gIHRhZywgd2hpY2ggaXMgcmVhZCBieSB0aGUgRm91bmRhdGlvbiBKYXZhU2NyaXB0LiBUaGlzIGlzIGhvdyB3ZSB0cmFuc2ZlciB2YWx1ZXMgZnJvbSBTYXNzIHRvIEphdmFTY3JpcHQsIHNvIHRoZXkgY2FuIGJlIGRlZmluZWQgaW4gb25lIHBsYWNlLlxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vXG4vLy8gQHBhcmFtIHtNYXB9ICRtYXAgLSBNYXAgdG8gY29udmVydC5cbi8vL1xuLy8vIEByZXR1cm5zIHtTdHJpbmd9IEEgc3RyaW5nIGNvbnRhaW5pbmcgdGhlIG1hcCdzIGNvbnRlbnRzLlxuQGZ1bmN0aW9uIC16Zi1icC1zZXJpYWxpemUoJG1hcCkge1xuICAkc3RyOiAnJztcbiAgQGVhY2ggJGtleSwgJHZhbHVlIGluICRtYXAge1xuICAgICRzdHI6ICRzdHIgKyAka2V5ICsgJz0nICsgLXpmLWJwLXRvLWVtKCR2YWx1ZSkgKyAnJic7XG4gIH1cbiAgJHN0cjogc3RyLXNsaWNlKCRzdHIsIDEsIC0yKTtcblxuICBAcmV0dXJuICRzdHI7XG59XG5cbi8vLyBGaW5kIHRoZSBuZXh0IGtleSBpbiBhIG1hcC5cbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vL1xuLy8vIEBwYXJhbSB7TWFwfSAkbWFwIC0gTWFwIHRvIHRyYXZlcnNlLlxuLy8vIEBwYXJhbSB7TWl4ZWR9ICRrZXkgLSBLZXkgdG8gdXNlIGFzIGEgc3RhcnRpbmcgcG9pbnQuXG4vLy9cbi8vLyBAcmV0dXJucyB7TWl4ZWR9IFRoZSB2YWx1ZSBmb3IgdGhlIGtleSBhZnRlciBgJGtleWAsIGlmIGAka2V5YCB3YXMgZm91bmQuIElmIGAka2V5YCB3YXMgbm90IGZvdW5kLCBvciBgJGtleWAgd2FzIHRoZSBsYXN0IHZhbHVlIGluIHRoZSBtYXAsIHJldHVybnMgYG51bGxgLlxuQGZ1bmN0aW9uIC16Zi1tYXAtbmV4dCgkbWFwLCAka2V5KSB7XG5cbiAgLy8gU3RvcmUgdGhlIGtleXMgb2YgdGhlIG1hcCBhcyBhIGxpc3RcbiAgJHZhbHVlczogbWFwLWtleXMoJG1hcCk7XG5cbiAgJGk6IDA7XG5cbiAgLy8gSWYgdGhlIEtleSBFeGlzdHMsIEdldCB0aGUgaW5kZXggb2YgdGhlIGtleSB3aXRoaW4gdGhlIG1hcCBhbmQgYWRkIDEgdG8gaXQgZm9yIHRoZSBuZXh0IGJyZWFrcG9pbnQgaW4gdGhlIG1hcFxuICBAaWYgKG1hcC1oYXMta2V5KCRtYXAsICRrZXkpKSB7XG4gICAgJGk6IGluZGV4KCR2YWx1ZXMsICRrZXkpICsgMTtcbiAgfVxuXG4gIC8vIElmIHRoZSBrZXkgZG9lc24ndCBleGlzdCwgb3IgaXQncyB0aGUgbGFzdCBrZXkgaW4gdGhlIG1hcCwgcmV0dXJuIG51bGxcbiAgQGlmICgkaSA+IGxlbmd0aCgkbWFwKSBvciAkaSA9PSAwKSB7XG4gICAgQHJldHVybiBudWxsO1xuICB9XG4gIC8vIE90aGVyd2lzZSwgcmV0dXJuIHRoZSB2YWx1ZVxuICBAZWxzZSB7XG4gICAgQHJldHVybiBtYXAtZ2V0KCRtYXAsIG50aCgkdmFsdWVzLCAkaSkpO1xuICB9XG5cbn1cblxuLy8vIEZpbmQgdGhlIG5leHQgbnVtYmVyIGluIGEgbWFwLlxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vXG4vLy8gQHBhcmFtIHtNYXB9ICRtYXAgLSBNYXAgdG8gdHJhdmVyc2UuXG4vLy8gQHBhcmFtIHtNaXhlZH0gJG51bWJlciAtIE51bWJlciB0byB1c2UgYXMgYSBzdGFydGluZyBwb2ludC5cbi8vL1xuLy8vIEByZXR1cm5zIHtNaXhlZH0gVGhlIG51bWJlciBmb2xsb3dpbmcgYCRudW1iZXJgLCBpZiBgJG51bWJlcmAgd2FzIGZvdW5kLiBJZiBgJG51bWJlcmAgd2FzIG5vdCBmb3VuZCwgb3IgYCRudW1iZXJgIHdhcyB0aGUgYmlnZ2VzdCBudW1iZXIgaW4gdGhlIG1hcCwgcmV0dXJucyBgbnVsbGAuXG5AZnVuY3Rpb24gLXpmLW1hcC1uZXh0LW51bWJlcigkbWFwLCAkbnVtYmVyKSB7XG5cbiAgJG5leHQtbnVtYmVyOiBudWxsO1xuXG4gIEBlYWNoICRrLCAkdiBpbiAkbWFwIHtcbiAgICBAaWYgdHlwZS1vZigkdikgPT0gJ251bWJlcicgYW5kICR2ID4gJG51bWJlciBhbmQgKCRuZXh0LW51bWJlciA9PSBudWxsIG9yICR2IDwgJG5leHQtbnVtYmVyKSB7XG4gICAgICAkbmV4dC1udW1iZXI6ICR2O1xuICAgIH1cbiAgfVxuXG4gIEByZXR1cm4gJG5leHQtbnVtYmVyO1xufVxuXG4vLy8gUmV0dXJuIGEgbGlzdCBvZiBvdXIgbmFtZWQgYnJlYWtwb2ludHMgbGVzcyB0aGFuICRrZXkuIFVzZWZ1bCBmb3IgZGVhbGluZyB3aXRoXG4vLy8gcmVzcG9uc2l2ZSBndXR0ZXJzIGZvciB0aGUgZ3JpZC5cbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vL1xuLy8vIEBwYXJhbSB7U3RyaW5nfSAka2V5IC0gS2V5IHRvIHVzZSBhcyBsYXN0IGJyZWFrcG9pbnQuXG4vLy9cbi8vLyBAcmV0dXJucyB7QXJyYXl9IFRoZSBsaXN0IG9mIGJyZWFrcG9pbnRzIHVwIHRvIGFuZC4gSWYgJGtleSBpcyBhdXRvLCByZXR1cm5zIGJyZWFrcG9pbnRzIGFib3ZlIHRoZSB6ZXJvXG5AZnVuY3Rpb24gLXpmLWJyZWFrcG9pbnRzLWxlc3MtdGhhbigka2V5KSB7XG4gICRsaXN0OiAoKTtcbiAgJGZvdW5kLWtleTogZmFsc2U7XG5cbiAgQGVhY2ggJG5hbWUgaW4gJC16Zi1icmVha3BvaW50cy1rZXlzIHtcbiAgICBAaWYgKCRuYW1lID09ICRrZXkpIHtcbiAgICAgICRmb3VuZC1rZXk6IHRydWU7XG4gICAgfVxuICAgIEBpZiBub3QgJGZvdW5kLWtleSB7XG4gICAgICAkbGlzdDogYXBwZW5kKCRsaXN0LCAkbmFtZSk7XG4gICAgfVxuICB9XG4gIEByZXR1cm4gJGxpc3Q7XG59XG5cbi8vLyBSZXR1cm4gYSBsaXN0IG9mIG91ciBuYW1lZCBicmVha3BvaW50cyBsZXNzIHRoYW4gJGtleS4gVXNlZnVsIGZvciBkZWFsaW5nIHdpdGhcbi8vLyByZXNwb25zaXZlIGd1dHRlcnMgZm9yIHRoZSBncmlkLlxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRicmVha3BvaW50IC0gYSBuYW1lZCBvciBub24tbmFtZWQgYnJlYWtwb2ludC5cbi8vL1xuLy8vIEByZXR1cm5zIHtBcnJheX0gVGhlIGxpc3Qgb2YgYnJlYWtwb2ludHMgdXAgdG8gYW5kLiBJZiAka2V5IGlzIGF1dG8sIHJldHVybnMgYnJlYWtwb2ludHMgYWJvdmUgdGhlIHplcm9cbkBmdW5jdGlvbiAtemYtY2xvc2VzdC1uYW1lZC1icmVha3BvaW50KCRicmVha3BvaW50KSB7XG4gICRsYXN0OiAkLXpmLXplcm8tYnJlYWtwb2ludDtcbiAgJGZvdW5kOiBmYWxzZTtcblxuICAkdmFsdWU6IHVuaXRsZXNzLWNhbGMoJGJyZWFrcG9pbnQsIDFweCk7XG4gIEBlYWNoICRrZXksICR2YWwgaW4gJGJyZWFrcG9pbnRzIHtcbiAgICBAaWYgbm90ICRmb3VuZCB7XG4gICAgICBAaWYgdW5pdGxlc3MtY2FsYygkdmFsKSA+ICR2YWx1ZSB7XG4gICAgICAgICRmb3VuZDogdHJ1ZTtcbiAgICAgIH0gQGVsc2Uge1xuICAgICAgICAkbGFzdDogJGtleTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBAcmV0dXJuICRsYXN0O1xufVxuXG4vLy8gR2V0IGEgdmFsdWUgZm9yIGEgYnJlYWtwb2ludCBmcm9tIGEgcmVzcG9uc2l2ZSBjb25maWcgbWFwIG9yIHNpbmdsZSB2YWx1ZS5cbi8vLyAtIElmIHRoZSBjb25maWcgaXMgYSBzaW5nbGUgdmFsdWUsIHJldHVybiBpdCByZWdhcmRsZXNzIG9mIGAkdmFsdWVgLlxuLy8vIC0gSWYgdGhlIGNvbmZpZyBpcyBhIG1hcCBhbmQgaGFzIHRoZSBrZXkgYCR2YWx1ZWAsIHRoZSBleGFjdCBicmVha3BvaW50IHZhbHVlIGlzIHJldHVybmVkLlxuLy8vIC0gSWYgdGhlIGNvbmZpZyBpcyBhIG1hcCBhbmQgZG9lcyAqbm90KiBoYXZlIHRoZSBicmVha3BvaW50LCB0aGUgdmFsdWUgbWF0Y2hpbmcgdGhlIG5leHQgbG93ZXN0IGJyZWFrcG9pbnQgaW4gdGhlIGNvbmZpZyBtYXAgaXMgcmV0dXJuZWQuXG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcnxNYXB9ICRtYXAgLSBSZXNwb25zaXZlIGNvbmZpZyBtYXAgb3Igc2luZ2xlIHZhbHVlLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHZhbHVlIC0gQnJlYWtwb2ludCBuYW1lIHRvIHVzZS5cbi8vL1xuLy8vIEByZXR1cm4ge01peGVkfSBUaGUgY29ycmVzcG9uZGluZyBicmVha3BvaW50IHZhbHVlLlxuQGZ1bmN0aW9uIC16Zi1nZXQtYnAtdmFsKCRtYXAsICR2YWx1ZSkge1xuICAvLyBJZiB0aGUgZ2l2ZW4gbWFwIGlzIGEgc2luZ2xlIHZhbHVlLCByZXR1cm4gaXRcbiAgQGlmIHR5cGUtb2YoJG1hcCkgPT0gJ251bWJlcicge1xuICAgIEByZXR1cm4gJG1hcDtcbiAgfVxuXG5cbiAgLy8gQ2hlY2sgaWYgdGhlIGJyZWFrcG9pbnQgbmFtZSBleGlzdHMgZ2xvYmFsbHlcbiAgQGlmIG5vdCBtYXAtaGFzLWtleSgkYnJlYWtwb2ludHMsICR2YWx1ZSkge1xuICAgIEBpZiB0eXBlLW9mKCR2YWx1ZSkgPT0gJ251bWJlcicge1xuICAgICAgJHZhbHVlOiAtemYtY2xvc2VzdC1uYW1lZC1icmVha3BvaW50KCR2YWx1ZSk7XG4gICAgfSBAZWxzZSB7XG4gICAgICBAcmV0dXJuIG51bGw7XG4gICAgfVxuICB9XG4gIC8vIENoZWNrIGlmIHRoZSBicmVha3BvaW50IG5hbWUgZXhpc3RzIGluIHRoZSBsb2NhbCBjb25maWcgbWFwXG4gIEBlbHNlIGlmIG1hcC1oYXMta2V5KCRtYXAsICR2YWx1ZSkge1xuICAgIC8vIElmIGl0IGRvZXMsIGp1c3QgcmV0dXJuIHRoZSB2YWx1ZVxuICAgIEByZXR1cm4gbWFwLWdldCgkbWFwLCAkdmFsdWUpO1xuICB9XG4gIC8vIE90aGVyd2lzZSwgZmluZCB0aGUgbmV4dCBsb3dlc3QgYnJlYWtwb2ludCBhbmQgcmV0dXJuIHRoYXQgdmFsdWVcbiAgQGVsc2Uge1xuICAgICRhbmNob3I6IG51bGw7XG4gICAgJGZvdW5kOiBmYWxzZTtcblxuICAgIEBlYWNoICRrZXksICR2YWwgaW4gJGJyZWFrcG9pbnRzIHtcbiAgICAgIEBpZiBub3QgJGZvdW5kIHtcbiAgICAgICAgQGlmIG1hcC1oYXMta2V5KCRtYXAsICRrZXkpIHtcbiAgICAgICAgICAkYW5jaG9yOiAka2V5O1xuICAgICAgICB9XG4gICAgICAgIEBpZiAka2V5ID09ICR2YWx1ZSB7XG4gICAgICAgICAgJGZvdW5kOiB0cnVlO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgQHJldHVybiBtYXAtZ2V0KCRtYXAsICRhbmNob3IpO1xuICB9XG59XG5cbi8vLyBSZXR1cm4gdGhlIGJlc3QgYnJlYWtwb2ludCB0byB1c2UgYWNjb3JkaW5nIHRvIHRoZSBjYWxsaW5nIGNvbnRleHQuIEl0IHJldHVybnMgaW4gb3JkZXI6XG4vLy8gMS4gdGhlIGdpdmVuIGAkdmFsdWVgIGFyZ3VtZW50IGlmIGl0IGlzIG5vdCBudWxsLlxuLy8vIDIuIHRoZSBnbG9iYWwgYnJlYWtwb2ludCBjb250ZXh0IGAkLXpmLXNpemVgIGlmIGl0IGlzIG5vdCBudWxsIChsaWtlIGlmIGNhbGxlZCBpbnNpZGUgdGhlbiBgYnJlYWtwb2ludCgpYCBtaXhpbilcbi8vLyAzLiB0aGUgZ2l2ZW4gYCRkZWZhdWx0YCBhcmd1bWVudC5cbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vL1xuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHZhbHVlIFtudWxsXSAtIEJyZWFrcG9pbnQgdG8gdXNlIGluIHByaW9yaXR5IGlmIG5vbi1udWxsLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGRlZmF1bHQgW251bGxdIC0gQnJlYWtwb2ludCB0byB1c2UgYnkgZGVmYXVsdCBpZiBubyBvdGhlciB2YWx1ZSBjYW4gYmUgdXNlZC5cbi8vL1xuLy8vIEByZXR1cm4ge0tleXdvcmR9IFRoZSByZXNvbHZlZCBicmVha3BvaW50LlxuQGZ1bmN0aW9uIC16Zi1jdXJyZW50LWJyZWFrcG9pbnQoJHZhbHVlOiBudWxsLCAkZGVmYXVsdDogbnVsbCkge1xuICBAaWYgKCR2YWx1ZSAhPSBudWxsKSB7XG4gICAgQHJldHVybiAkdmFsdWU7XG4gIH1cbiAgQGVsc2UgaWYgKHZhcmlhYmxlLWV4aXN0cygtemYtc2l6ZSkgYW5kIHR5cGUtb2YoJC16Zi1zaXplKSAhPSAnbnVtYmVyJykgYW5kICQtemYtc2l6ZSAhPSBudWxsIHtcbiAgICBAcmV0dXJuICQtemYtc2l6ZTtcbiAgfVxuICBAZWxzZSB7XG4gICAgQHJldHVybiAkZGVmYXVsdDtcbiAgfVxufVxuXG4vLy8gUmV0dXJuIG1lZGlhIHF1ZXJ5IHN0cmluZyBmcm9tIHRoZSBnaXZlbiBtaW4gYW5kL29yIG1heCBsaW1pdHMuXG4vLy8gSWYgYSBsaW1pdCBpcyBlcXVhbCB0byBgbnVsbGAgb3IgYDBgLCBpdCBpcyBpZ25vcmVkLlxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRtaW4gWzBdIC0gTWluIG1lZGlhIHF1ZXJ5IGxpbWl0LlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkbWF4IFswXSAtIE1heCBtZWRpYSBxdWVyeSBsaW1pdC5cbi8vLyBAcGFyYW0ge1N0cmluZ30gJG1pbi1uYW1lIFsnbWluLXdpZHRoJ10gLSBOYW1lIG9mIHRoZSBtaW4gbWVkaWEgcXVlcnkgbGltaXQuXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRkZWxpbWl0ZXIgWydtYXgtd2lkdGgnXSAtIE5hbWUgb2YgdGhlIG1heCBtZWRpYSBxdWVyeSBsaW1pdC5cbi8vL1xuLy8vIEByZXR1cm5zIHtTdHJpbmd9IE1lZGlhIFF1ZXJ5IHN0cmluZy5cbkBmdW5jdGlvbiAtemYtYnAtam9pbihcbiAgJG1pbjogMCxcbiAgJG1heDogMCxcbiAgJG1pbi1uYW1lOiAnbWluLXdpZHRoJyxcbiAgJG1heC1uYW1lOiAnbWF4LXdpZHRoJ1xuKSB7XG4gIEByZXR1cm4gemYtc3RyLWpvaW4oXG4gICAgaWYoJG1pbiBhbmQgJG1pbiA+IDAsICcoI3skbWluLW5hbWV9OiAjeyRtaW59KScsIG51bGwpLFxuICAgIGlmKCRtYXggYW5kICRtYXggPiAwLCAnKCN7JG1heC1uYW1lfTogI3skbWF4fSknLCBudWxsKSxcbiAgICAnIGFuZCAnKTtcbn1cblxuJHNtYWxsLXVwOiAnJztcbiRzbWFsbC1vbmx5OiAnJztcblxuQGlmIG1hcC1oYXMta2V5KCRicmVha3BvaW50cywgc21hbGwpIHtcbiAgJHNtYWxsLXVwOiBzY3JlZW47XG4gICRzbWFsbC1vbmx5OiB1bnF1b3RlKCdzY3JlZW4gYW5kICN7YnJlYWtwb2ludChzbWFsbCBvbmx5KX0nKTtcbn1cblxuJG1lZGl1bS11cDogJyc7XG4kbWVkaXVtLW9ubHk6ICcnO1xuXG5AaWYgbWFwLWhhcy1rZXkoJGJyZWFrcG9pbnRzLCBtZWRpdW0pIHtcbiAgJG1lZGl1bS11cDogdW5xdW90ZSgnc2NyZWVuIGFuZCAje2JyZWFrcG9pbnQobWVkaXVtKX0nKTtcbiAgJG1lZGl1bS1vbmx5OiB1bnF1b3RlKCdzY3JlZW4gYW5kICN7YnJlYWtwb2ludChtZWRpdW0gb25seSl9Jyk7XG59XG5cbiRsYXJnZS11cDogJyc7XG4kbGFyZ2Utb25seTogJyc7XG5cbkBpZiBtYXAtaGFzLWtleSgkYnJlYWtwb2ludHMsIGxhcmdlKSB7XG4gICRsYXJnZS11cDogdW5xdW90ZSgnc2NyZWVuIGFuZCAje2JyZWFrcG9pbnQobGFyZ2UpfScpO1xuICAkbGFyZ2Utb25seTogdW5xdW90ZSgnc2NyZWVuIGFuZCAje2JyZWFrcG9pbnQobGFyZ2Ugb25seSl9Jyk7XG59XG5cbiR4bGFyZ2UtdXA6ICcnO1xuJHhsYXJnZS1vbmx5OiAnJztcblxuQGlmIG1hcC1oYXMta2V5KCRicmVha3BvaW50cywgeGxhcmdlKSB7XG4gICR4bGFyZ2UtdXA6IHVucXVvdGUoJ3NjcmVlbiBhbmQgI3ticmVha3BvaW50KHhsYXJnZSl9Jyk7XG4gICR4bGFyZ2Utb25seTogdW5xdW90ZSgnc2NyZWVuIGFuZCAje2JyZWFrcG9pbnQoeGxhcmdlIG9ubHkpfScpO1xufVxuXG4keHhsYXJnZS11cDogJyc7XG5cbkBpZiBtYXAtaGFzLWtleSgkYnJlYWtwb2ludHMsIHh4bGFyZ2UpIHtcbiAgJHh4bGFyZ2UtdXA6IHVucXVvdGUoJ3NjcmVlbiBhbmQgI3ticmVha3BvaW50KHh4bGFyZ2UpfScpO1xufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHJldmVhbFxuLy8vL1xuXG4vLy8gRGVmYXVsdCBiYWNrZ3JvdW5kIGNvbG9yIG9mIGEgbW9kYWwuXG4vLy8gQHR5cGUgQ29sb3JcbiRyZXZlYWwtYmFja2dyb3VuZDogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCB3aWR0aCBvZiBhIG1vZGFsLCB3aXRoIG5vIGNsYXNzIGFwcGxpZWQuXG4vLy8gQHR5cGUgTnVtYmVyXG4kcmV2ZWFsLXdpZHRoOiA2MDBweCAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgbWF4aW11bSB3aWR0aCBvZiBhIG1vZGFsLlxuLy8vIEB0eXBlIE51bWJlclxuJHJldmVhbC1tYXgtd2lkdGg6ICRnbG9iYWwtd2lkdGggIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHBhZGRpbmcgaW5zaWRlIGEgbW9kYWwuXG4vLy8gQHR5cGUgTnVtYmVyXG4kcmV2ZWFsLXBhZGRpbmc6ICRnbG9iYWwtcGFkZGluZyAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYm9yZGVyIGFyb3VuZCBhIG1vZGFsLlxuLy8vIEB0eXBlIE51bWJlclxuJHJldmVhbC1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHJhZGl1cyBmb3IgbW9kYWwuXG4vLy8gQHR5cGUgTnVtYmVyXG4kcmV2ZWFsLXJhZGl1czogJGdsb2JhbC1yYWRpdXMgIWRlZmF1bHQ7XG5cbi8vLyB6LWluZGV4IGZvciBtb2RhbHMuIFRoZSBvdmVybGF5IHVzZXMgdGhpcyB2YWx1ZSwgd2hpbGUgdGhlIG1vZGFsIGl0c2VsZiB1c2VzIHRoaXMgdmFsdWUgcGx1cyBvbmUuXG4vLy8gQHR5cGUgTnVtYmVyXG4kcmV2ZWFsLXppbmRleDogMTAwNSAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3Igb2YgbW9kYWwgb3ZlcmxheXMuXG4vLy8gQHR5cGUgQ29sb3JcbiRyZXZlYWwtb3ZlcmxheS1iYWNrZ3JvdW5kOiByZ2JhKCRibGFjaywgMC40NSkgIWRlZmF1bHQ7XG5cblxuLy8gUGxhY2Vob2xkZXIgc2VsZWN0b3IgZm9yIG1lZGl1bS1hbmQtdXAgbW9kYWxzXG4vLyBQcmV2ZW50cyBkdXBsaWNhdGUgQ1NTIHdoZW4gZGVmaW5pbmcgbXVsdGlwbGUgUmV2ZWFsIHNpemVzXG4vLyBUaGlzIHNob3VsZCBiZSBpbiB0aGUgc2FtZSBicmVha3BvaW50IHRoZW4gYEBtaXhpbiByZXZlYWwtbW9kYWwtd2lkdGhgXG5AaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAlcmV2ZWFsLWNlbnRlcmVkIHtcbiAgICByaWdodDogYXV0bztcbiAgICBsZWZ0OiBhdXRvO1xuICAgIG1hcmdpbjogMCBhdXRvO1xuICB9XG59XG5cblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhIG1vZGFsIG92ZXJsYXkuXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGJhY2tncm91bmQgWyRyZXZlYWwtb3ZlcmxheS1iYWNrZ3JvdW5kXSAtIEJhY2tncm91bmQgY29sb3Igb2YgdGhlIG92ZXJsYXkuXG5AbWl4aW4gcmV2ZWFsLW92ZXJsYXkoJGJhY2tncm91bmQ6ICRyZXZlYWwtb3ZlcmxheS1iYWNrZ3JvdW5kKSB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgdG9wOiAwO1xuICByaWdodDogMDtcbiAgYm90dG9tOiAwO1xuICBsZWZ0OiAwO1xuICB6LWluZGV4OiAkcmV2ZWFsLXppbmRleDtcblxuICBkaXNwbGF5OiBub25lO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFja2dyb3VuZDtcbiAgb3ZlcmZsb3cteTogYXV0bztcbiAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoO1xufVxuXG4vLy8gQWRkcyBiYXNlIHN0eWxlcyBmb3IgYSBtb2RhbC5cbkBtaXhpbiByZXZlYWwtbW9kYWwtYmFzZSB7XG4gIEBpbmNsdWRlIGRpc2FibGUtbW91c2Utb3V0bGluZTtcbiAgei1pbmRleDogJHJldmVhbC16aW5kZXggKyAxO1xuICAvLyBXb3JrYXJvdW5kIGFuZHJvaWQgYnJvd3NlciB6LWluZGV4IGJ1Z1xuICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG5cbiAgZGlzcGxheTogbm9uZTtcbiAgcGFkZGluZzogJHJldmVhbC1wYWRkaW5nO1xuXG4gIGJvcmRlcjogJHJldmVhbC1ib3JkZXI7XG4gIGJvcmRlci1yYWRpdXM6ICRyZXZlYWwtcmFkaXVzO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkcmV2ZWFsLWJhY2tncm91bmQ7XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICBtaW4taGVpZ2h0OiAwO1xuICB9XG5cbiAgLy8gTWFrZSBzdXJlIHJvd3MgZG9uJ3QgaGF2ZSBhIG1pbi13aWR0aCBvbiB0aGVtXG4gIC5jb2x1bW4ge1xuICAgIG1pbi13aWR0aDogMDtcbiAgfVxuXG4gIC8vIFN0cmlwIG1hcmdpbnMgZnJvbSB0aGUgbGFzdCBpdGVtIGluIHRoZSBtb2RhbFxuICA+IDpsYXN0LWNoaWxkIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICB9XG59XG5cbi8vLyBBZGp1c3RzIHRoZSB3aWR0aCBvZiBhIG1vZGFsLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkd2lkdGggLSBXaWR0aCBvZiB0aGUgbW9kYWwuIEdlbmVyYWxseSBhIHBlcmNlbnRhZ2UuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRtYXgtd2lkdGggWyRyZXZlYWwtbWF4LXdpZHRoXSAtIE1heGltdW0gd2lkdGggb2YgdGhlIG1vZGFsLlxuQG1peGluIHJldmVhbC1tb2RhbC13aWR0aChcbiAgJHdpZHRoOiAkcmV2ZWFsLXdpZHRoLFxuICAkbWF4LXdpZHRoOiAkcmV2ZWFsLW1heC13aWR0aFxuKSB7XG4gIC8vIEV4dGVuZHMgbXVzdCBiZSBtYWRlIG91dHNpZGUgb2YgYnJlYWtwb2ludHMgZm9yIGNvbXBhdGliaWxpdHkgd2l0aCBuZXdlciBTYXNzIHZlcnNpb25zIChsaWJzYXNzIHYzLjUpXG4gIEBleHRlbmQgJXJldmVhbC1jZW50ZXJlZDtcbiAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICB3aWR0aDogJHdpZHRoO1xuICAgIG1heC13aWR0aDogJG1heC13aWR0aDtcbiAgfVxufVxuXG4vLy8gQ3JlYXRlcyBhIGZ1bGwtc2NyZWVuIG1vZGFsLCB3aGljaCBzdHJldGNoZXMgdGhlIGZ1bGwgd2lkdGggYW5kIGhlaWdodCBvZiB0aGUgd2luZG93LlxuQG1peGluIHJldmVhbC1tb2RhbC1mdWxsc2NyZWVuIHtcbiAgdG9wOiAwO1xuICByaWdodDogMDtcbiAgYm90dG9tOiAwO1xuICBsZWZ0OiAwO1xuXG4gIHdpZHRoOiAxMDAlO1xuICBtYXgtd2lkdGg6IG5vbmU7XG4gIGhlaWdodDogMTAwJTtcbiAgbWluLWhlaWdodDogMTAwJTtcbiAgbWFyZ2luLWxlZnQ6IDA7XG5cbiAgYm9yZGVyOiAwO1xuICBib3JkZXItcmFkaXVzOiAwO1xufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1yZXZlYWwge1xuXG4gIC8vLyBEaXNhYmxlcyB0aGUgc2Nyb2xsIHdoZW4gUmV2ZWFsIGlzIHNob3duIHRvIHByZXZlbnQgdGhlIGJhY2tncm91bmQgZnJvbSBzaGlmdGluZ1xuICBodG1sLmlzLXJldmVhbC1vcGVuIHtcbiAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgb3ZlcmZsb3cteTogaGlkZGVuO1xuXG4gICAgJi56Zi1oYXMtc2Nyb2xsIHtcbiAgICAgIG92ZXJmbG93LXk6IHNjcm9sbDtcbiAgICAgIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcbiAgICB9XG5cbiAgICBib2R5IHsgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSBuby1xdWFsaWZ5aW5nLWVsZW1lbnRzXG4gICAgICBvdmVyZmxvdy15OiBoaWRkZW47XG4gICAgfVxuICB9XG5cbiAgLy8gT3ZlcmxheVxuICAucmV2ZWFsLW92ZXJsYXkge1xuICAgIEBpbmNsdWRlIHJldmVhbC1vdmVybGF5O1xuICB9XG5cbiAgLy8gTW9kYWwgY29udGFpbmVyXG4gIC5yZXZlYWwge1xuICAgIEBpbmNsdWRlIHJldmVhbC1tb2RhbC1iYXNlO1xuICAgIEBpbmNsdWRlIHJldmVhbC1tb2RhbC13aWR0aCgkcmV2ZWFsLXdpZHRoKTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdG9wOiAxMDBweDtcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgb3ZlcmZsb3cteTogYXV0bztcbiAgICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7XG5cbiAgICAvLyBSZW1vdmUgcGFkZGluZ1xuICAgICYuY29sbGFwc2Uge1xuICAgICAgcGFkZGluZzogMDtcbiAgICB9XG5cbiAgICAvLyBTaXppbmcgY2xhc3Nlc1xuICAgICYudGlueSAgeyBAaW5jbHVkZSByZXZlYWwtbW9kYWwtd2lkdGgoMzAlKTsgfVxuICAgICYuc21hbGwgeyBAaW5jbHVkZSByZXZlYWwtbW9kYWwtd2lkdGgoNTAlKTsgfVxuICAgICYubGFyZ2UgeyBAaW5jbHVkZSByZXZlYWwtbW9kYWwtd2lkdGgoOTAlKTsgfVxuXG4gICAgLy8gRnVsbC1zY3JlZW4gbW9kZVxuICAgICYuZnVsbCB7XG4gICAgICBAaW5jbHVkZSByZXZlYWwtbW9kYWwtZnVsbHNjcmVlbjtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KCQtemYtemVyby1icmVha3BvaW50IG9ubHkpIHtcbiAgICAgIEBpbmNsdWRlIHJldmVhbC1tb2RhbC1mdWxsc2NyZWVuO1xuICAgIH1cblxuICAgICYud2l0aG91dC1vdmVybGF5IHtcbiAgICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIHNhc3MtbGludDpkaXNhYmxlIG5vLXZlbmRvci1wcmVmaXhlc1xuXG5AbWl4aW4gZm91bmRhdGlvbi1ub3JtYWxpemUoKSB7XG4gIC8qISBub3JtYWxpemUuY3NzIHY4LjAuMCB8IE1JVCBMaWNlbnNlIHwgZ2l0aHViLmNvbS9uZWNvbGFzL25vcm1hbGl6ZS5jc3MgKi9cblxuICAvLyBEb2N1bWVudFxuICAvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4gIC8vIDEuIENvcnJlY3QgdGhlIGxpbmUgaGVpZ2h0IGluIGFsbCBicm93c2Vycy5cbiAgLy8gMi4gUHJldmVudCBhZGp1c3RtZW50cyBvZiBmb250IHNpemUgYWZ0ZXIgb3JpZW50YXRpb24gY2hhbmdlcyBpbiBpT1MuXG5cbiAgaHRtbCB7XG4gICAgbGluZS1oZWlnaHQ6IDEuMTU7IC8vIDFcbiAgICAtd2Via2l0LXRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7IC8vIDJcbiAgfVxuXG4gIC8vIFNlY3Rpb25zXG4gIC8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiAgLy8gUmVtb3ZlIHRoZSBtYXJnaW4gaW4gYWxsIGJyb3dzZXJzLlxuXG4gIGJvZHkge1xuICAgIG1hcmdpbjogMDtcbiAgfVxuXG4gIC8vIENvcnJlY3QgdGhlIGZvbnQgc2l6ZSBhbmQgbWFyZ2luIG9uIGBoMWAgZWxlbWVudHMgd2l0aGluIGBzZWN0aW9uYCBhbmRcbiAgLy8gYGFydGljbGVgIGNvbnRleHRzIGluIENocm9tZSwgRmlyZWZveCwgYW5kIFNhZmFyaS5cblxuICBoMSB7XG4gICAgZm9udC1zaXplOiAyZW07XG4gICAgbWFyZ2luOiAwLjY3ZW0gMDtcbiAgfVxuXG4gIC8vIEdyb3VwaW5nIGNvbnRlbnRcbiAgLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuICAvLyAxLiBBZGQgdGhlIGNvcnJlY3QgYm94IHNpemluZyBpbiBGaXJlZm94LlxuICAvLyAyLiBTaG93IHRoZSBvdmVyZmxvdyBpbiBFZGdlIGFuZCBJRS5cblxuICBociB7XG4gICAgYm94LXNpemluZzogY29udGVudC1ib3g7IC8vIDFcbiAgICBoZWlnaHQ6IDA7IC8vIDFcbiAgICBvdmVyZmxvdzogdmlzaWJsZTsgLy8gMlxuICB9XG5cbiAgLy8gMS4gQ29ycmVjdCB0aGUgaW5oZXJpdGFuY2UgYW5kIHNjYWxpbmcgb2YgZm9udCBzaXplIGluIGFsbCBicm93c2Vycy5cbiAgLy8gMi4gQ29ycmVjdCB0aGUgb2RkIGBlbWAgZm9udCBzaXppbmcgaW4gYWxsIGJyb3dzZXJzLlxuXG4gIHByZSB7XG4gICAgZm9udC1mYW1pbHk6IG1vbm9zcGFjZSwgbW9ub3NwYWNlOyAvLyAxXG4gICAgZm9udC1zaXplOiAxZW07IC8vIDJcbiAgfVxuXG4gIC8vIFRleHQtbGV2ZWwgc2VtYW50aWNzXG4gIC8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiAgLy8gUmVtb3ZlIHRoZSBncmF5IGJhY2tncm91bmQgb24gYWN0aXZlIGxpbmtzIGluIElFIDEwLlxuXG4gIGEge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICB9XG5cbiAgLy8gMS4gUmVtb3ZlIHRoZSBib3R0b20gYm9yZGVyIGluIENocm9tZSA1Ny1cbiAgLy8gMi4gQWRkIHRoZSBjb3JyZWN0IHRleHQgZGVjb3JhdGlvbiBpbiBDaHJvbWUsIEVkZ2UsIElFLCBPcGVyYSwgYW5kIFNhZmFyaS5cblxuICBhYmJyW3RpdGxlXSB7XG4gICAgYm9yZGVyLWJvdHRvbTogMDsgLy8gMVxuICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lIGRvdHRlZDsgLy8gMlxuICB9XG5cbiAgLy8gQWRkIHRoZSBjb3JyZWN0IGZvbnQgd2VpZ2h0IGluIENocm9tZSwgRWRnZSwgYW5kIFNhZmFyaS5cblxuICBiLFxuICBzdHJvbmcge1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkZXI7XG4gIH1cblxuICAvLyAxLiBDb3JyZWN0IHRoZSBpbmhlcml0YW5jZSBhbmQgc2NhbGluZyBvZiBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzLlxuICAvLyAyLiBDb3JyZWN0IHRoZSBvZGQgYGVtYCBmb250IHNpemluZyBpbiBhbGwgYnJvd3NlcnMuXG5cbiAgY29kZSxcbiAga2JkLFxuICBzYW1wIHtcbiAgICBmb250LWZhbWlseTogbW9ub3NwYWNlLCBtb25vc3BhY2U7IC8vIDFcbiAgICBmb250LXNpemU6IDFlbTsgLy8gMlxuICB9XG5cbiAgLy8gQWRkIHRoZSBjb3JyZWN0IGZvbnQgc2l6ZSBpbiBhbGwgYnJvd3NlcnMuXG5cbiAgc21hbGwge1xuICAgIGZvbnQtc2l6ZTogODAlO1xuICB9XG5cbiAgLy8gUHJldmVudCBgc3ViYCBhbmQgYHN1cGAgZWxlbWVudHMgZnJvbSBhZmZlY3RpbmcgdGhlIGxpbmUgaGVpZ2h0IGluXG4gIC8vIGFsbCBicm93c2Vycy5cblxuICBzdWIsXG4gIHN1cCB7XG4gICAgZm9udC1zaXplOiA3NSU7XG4gICAgbGluZS1oZWlnaHQ6IDA7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbiAgfVxuXG4gIHN1YiB7XG4gICAgYm90dG9tOiAtMC4yNWVtO1xuICB9XG5cbiAgc3VwIHtcbiAgICB0b3A6IC0wLjVlbTtcbiAgfVxuXG4gIC8vIEVtYmVkZGVkIGNvbnRlbnRcbiAgLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuICAvLyBSZW1vdmUgdGhlIGJvcmRlciBvbiBpbWFnZXMgaW5zaWRlIGxpbmtzIGluIElFIDEwLlxuXG4gIGltZyB7XG4gICAgYm9yZGVyLXN0eWxlOiBub25lO1xuICB9XG5cbiAgLy8gRm9ybXNcbiAgLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuICAvLyAxLiBDaGFuZ2UgdGhlIGZvbnQgc3R5bGVzIGluIGFsbCBicm93c2Vycy5cbiAgLy8gMi4gUmVtb3ZlIHRoZSBtYXJnaW4gaW4gRmlyZWZveCBhbmQgU2FmYXJpLlxuXG4gIGJ1dHRvbixcbiAgaW5wdXQsXG4gIG9wdGdyb3VwLFxuICBzZWxlY3QsXG4gIHRleHRhcmVhIHtcbiAgICBmb250LWZhbWlseTogaW5oZXJpdDsgLy8gMVxuICAgIGZvbnQtc2l6ZTogMTAwJTsgLy8gMVxuICAgIGxpbmUtaGVpZ2h0OiAxLjE1OyAvLyAxXG4gICAgbWFyZ2luOiAwOyAvLyAyXG4gIH1cblxuICAvLyBTaG93IHRoZSBvdmVyZmxvdyBpbiBJRS5cbiAgLy8gMS4gU2hvdyB0aGUgb3ZlcmZsb3cgaW4gRWRnZS5cblxuICBidXR0b24sXG4gIGlucHV0IHsgLy8gMVxuICAgIG92ZXJmbG93OiB2aXNpYmxlO1xuICB9XG5cbiAgLy8gUmVtb3ZlIHRoZSBpbmhlcml0YW5jZSBvZiB0ZXh0IHRyYW5zZm9ybSBpbiBFZGdlLCBGaXJlZm94LCBhbmQgSUUuXG4gIC8vIDEuIFJlbW92ZSB0aGUgaW5oZXJpdGFuY2Ugb2YgdGV4dCB0cmFuc2Zvcm0gaW4gRmlyZWZveC5cblxuICBidXR0b24sXG4gIHNlbGVjdCB7IC8vIDFcbiAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgfVxuXG4gIC8vIENvcnJlY3QgdGhlIGluYWJpbGl0eSB0byBzdHlsZSBjbGlja2FibGUgdHlwZXMgaW4gaU9TIGFuZCBTYWZhcmkuXG5cbiAgYnV0dG9uLFxuICBbdHlwZT1cImJ1dHRvblwiXSxcbiAgW3R5cGU9XCJyZXNldFwiXSxcbiAgW3R5cGU9XCJzdWJtaXRcIl0ge1xuICAgIC13ZWJraXQtYXBwZWFyYW5jZTogYnV0dG9uO1xuICB9XG5cbiAgLy8gUmVtb3ZlIHRoZSBpbm5lciBib3JkZXIgYW5kIHBhZGRpbmcgaW4gRmlyZWZveC5cblxuICBidXR0b246Oi1tb3otZm9jdXMtaW5uZXIsXG4gIFt0eXBlPVwiYnV0dG9uXCJdOjotbW96LWZvY3VzLWlubmVyLFxuICBbdHlwZT1cInJlc2V0XCJdOjotbW96LWZvY3VzLWlubmVyLFxuICBbdHlwZT1cInN1Ym1pdFwiXTo6LW1vei1mb2N1cy1pbm5lciB7XG4gICAgYm9yZGVyLXN0eWxlOiBub25lO1xuICAgIHBhZGRpbmc6IDA7XG4gIH1cblxuICAvLyBSZXN0b3JlIHRoZSBmb2N1cyBzdHlsZXMgdW5zZXQgYnkgdGhlIHByZXZpb3VzIHJ1bGUuXG5cbiAgYnV0dG9uOi1tb3otZm9jdXNyaW5nLFxuICBbdHlwZT1cImJ1dHRvblwiXTotbW96LWZvY3VzcmluZyxcbiAgW3R5cGU9XCJyZXNldFwiXTotbW96LWZvY3VzcmluZyxcbiAgW3R5cGU9XCJzdWJtaXRcIl06LW1vei1mb2N1c3Jpbmcge1xuICAgIG91dGxpbmU6IDFweCBkb3R0ZWQgQnV0dG9uVGV4dDtcbiAgfVxuXG4gIC8vIENvcnJlY3QgdGhlIHBhZGRpbmcgaW4gRmlyZWZveC5cblxuICBmaWVsZHNldCB7XG4gICAgcGFkZGluZzogMC4zNWVtIDAuNzVlbSAwLjYyNWVtO1xuICB9XG5cbiAgLy8gMS4gQ29ycmVjdCB0aGUgdGV4dCB3cmFwcGluZyBpbiBFZGdlIGFuZCBJRS5cbiAgLy8gMi4gQ29ycmVjdCB0aGUgY29sb3IgaW5oZXJpdGFuY2UgZnJvbSBgZmllbGRzZXRgIGVsZW1lbnRzIGluIElFLlxuICAvLyAzLiBSZW1vdmUgdGhlIHBhZGRpbmcgc28gZGV2ZWxvcGVycyBhcmUgbm90IGNhdWdodCBvdXQgd2hlbiB0aGV5IHplcm8gb3V0XG4gIC8vICAgIGBmaWVsZHNldGAgZWxlbWVudHMgaW4gYWxsIGJyb3dzZXJzLlxuXG4gIGxlZ2VuZCB7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDsgLy8gMVxuICAgIGNvbG9yOiBpbmhlcml0OyAvLyAyXG4gICAgZGlzcGxheTogdGFibGU7IC8vIDFcbiAgICBtYXgtd2lkdGg6IDEwMCU7IC8vIDFcbiAgICBwYWRkaW5nOiAwOyAvLyAzXG4gICAgd2hpdGUtc3BhY2U6IG5vcm1hbDsgLy8gMVxuICB9XG5cbiAgLy8gQWRkIHRoZSBjb3JyZWN0IHZlcnRpY2FsIGFsaWdubWVudCBpbiBDaHJvbWUsIEZpcmVmb3gsIGFuZCBPcGVyYS5cblxuICBwcm9ncmVzcyB7XG4gICAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xuICB9XG5cbiAgLy8gUmVtb3ZlIHRoZSBkZWZhdWx0IHZlcnRpY2FsIHNjcm9sbGJhciBpbiBJRSAxMCsuXG5cbiAgdGV4dGFyZWEge1xuICAgIG92ZXJmbG93OiBhdXRvO1xuICB9XG5cbiAgLy8gMS4gQWRkIHRoZSBjb3JyZWN0IGJveCBzaXppbmcgaW4gSUUgMTAuXG4gIC8vIDIuIFJlbW92ZSB0aGUgcGFkZGluZyBpbiBJRSAxMC5cblxuICBbdHlwZT1cImNoZWNrYm94XCJdLFxuICBbdHlwZT1cInJhZGlvXCJdIHtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94OyAvLyAxXG4gICAgcGFkZGluZzogMDsgLy8gMlxuICB9XG5cbiAgLy8gQ29ycmVjdCB0aGUgY3Vyc29yIHN0eWxlIG9mIGluY3JlbWVudCBhbmQgZGVjcmVtZW50IGJ1dHRvbnMgaW4gQ2hyb21lLlxuXG4gIFt0eXBlPVwibnVtYmVyXCJdOjotd2Via2l0LWlubmVyLXNwaW4tYnV0dG9uLFxuICBbdHlwZT1cIm51bWJlclwiXTo6LXdlYmtpdC1vdXRlci1zcGluLWJ1dHRvbiB7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICB9XG5cbiAgLy8gMS4gQ29ycmVjdCB0aGUgb2RkIGFwcGVhcmFuY2UgaW4gQ2hyb21lIGFuZCBTYWZhcmkuXG4gIC8vIDIuIENvcnJlY3QgdGhlIG91dGxpbmUgc3R5bGUgaW4gU2FmYXJpLlxuXG4gIFt0eXBlPVwic2VhcmNoXCJdIHtcbiAgICAtd2Via2l0LWFwcGVhcmFuY2U6IHRleHRmaWVsZDsgLy8gMVxuICAgIG91dGxpbmUtb2Zmc2V0OiAtMnB4OyAvLyAyXG4gIH1cblxuICAvLyBSZW1vdmUgdGhlIGlubmVyIHBhZGRpbmcgaW4gQ2hyb21lIGFuZCBTYWZhcmkgb24gbWFjT1MuXG5cbiAgW3R5cGU9XCJzZWFyY2hcIl06Oi13ZWJraXQtc2VhcmNoLWRlY29yYXRpb24ge1xuICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgfVxuXG4gIC8vIDEuIENvcnJlY3QgdGhlIGluYWJpbGl0eSB0byBzdHlsZSBjbGlja2FibGUgdHlwZXMgaW4gaU9TIGFuZCBTYWZhcmkuXG4gIC8vIDIuIENoYW5nZSBmb250IHByb3BlcnRpZXMgdG8gYGluaGVyaXRgIGluIFNhZmFyaS5cblxuICA6Oi13ZWJraXQtZmlsZS11cGxvYWQtYnV0dG9uIHtcbiAgICAtd2Via2l0LWFwcGVhcmFuY2U6IGJ1dHRvbjsgLy8gMVxuICAgIGZvbnQ6IGluaGVyaXQ7IC8vIDJcbiAgfVxuXG4gIC8vIEludGVyYWN0aXZlXG4gIC8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiAgLy8gQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gRWRnZSwgSUUgMTArLCBhbmQgRmlyZWZveC5cblxuICBkZXRhaWxzIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxuXG4gIC8vIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIGFsbCBicm93c2Vycy5cblxuICBzdW1tYXJ5IHtcbiAgICBkaXNwbGF5OiBsaXN0LWl0ZW07XG4gIH1cblxuICAvLyBNaXNjXG4gIC8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiAgLy8gQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgMTArLlxuXG4gIHRlbXBsYXRlIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG5cbiAgLy8gQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgMTAuXG5cbiAgW2hpZGRlbl0ge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cblxuICAvLyBEaXNhYmxlIG91dGxpbmUgd2hlbiBpbnRlbnQgaXMgY2xlYXJseSBtb3VzZSBhbmQgdG91Y2hcbiAgW2RhdGEtd2hhdGludGVudD1cIm1vdXNlXCJdLFxuICBbZGF0YS13aGF0aW50ZW50PVwidG91Y2hcIl0sXG4gIFtkYXRhLXdoYXRpbnB1dD1cIm1vdXNlXCJdLFxuICBbZGF0YS13aGF0aW5wdXQ9XCJ0b3VjaFwiXSB7XG4gICAgKiwgKjpmb2N1cyB7XG4gICAgICBvdXRsaW5lOiBub25lO1xuICAgIH1cbiAgfVxuXG4gIC8vIERpc2FibGUgaU9TIGNhbGxvdXRzIHdoZW4gZHJhZ2dhYmxlIGlzIGZhbHNlXG4gIFtkcmFnZ2FibGU9ZmFsc2VdIHtcbiAgICAtd2Via2l0LXRvdWNoLWNhbGxvdXQ6IG5vbmU7XG4gICAgLXdlYmtpdC11c2VyLXNlbGVjdDogbm9uZTtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLyBzYXNzLWxpbnQ6ZGlzYWJsZSBuby1jb2xvci1saXRlcmFscywgbm8tcXVhbGlmeWluZy1lbGVtZW50c1xuXG4vLy8vXG4vLy8gQGdyb3VwIGdsb2JhbFxuLy8vL1xuXG5AaW1wb3J0ICd1dGlsL3V0aWwnO1xuXG4vLy8gRm9udCBzaXplIGF0dHJpYnV0ZSBhcHBsaWVkIHRvIGA8aHRtbD5gIGFuZCBgPGJvZHk+YC4gV2UgdXNlIDEwMCUgYnkgZGVmYXVsdCBzbyB0aGUgdmFsdWUgaXMgaW5oZXJpdGVkIGZyb20gdGhlIHVzZXIncyBicm93c2VyIHNldHRpbmdzLlxuLy8vIEB0eXBlIE51bWJlclxuJGdsb2JhbC1mb250LXNpemU6IDEwMCUgIWRlZmF1bHQ7XG5cbi8vLyBHbG9iYWwgd2lkdGggb2YgeW91ciBzaXRlLiBVc2VkIGJ5IHRoZSBncmlkIHRvIGRldGVybWluZSByb3cgd2lkdGguXG4vLy8gQHR5cGUgTnVtYmVyXG4kZ2xvYmFsLXdpZHRoOiByZW0tY2FsYygxMjAwKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgbGluZSBoZWlnaHQgZm9yIGFsbCB0eXBlLiBgJGdsb2JhbC1saW5laGVpZ2h0YCBpcyAyNHB4IHdoaWxlIGAkZ2xvYmFsLWZvbnQtc2l6ZWAgaXMgMTZweFxuLy8vIEB0eXBlIE51bWJlclxuJGdsb2JhbC1saW5laGVpZ2h0OiAxLjUgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvcnMgdXNlZCBmb3IgYnV0dG9ucywgY2FsbG91dHMsIGxpbmtzLCBldGMuIFRoZXJlIG11c3QgYWx3YXlzIGJlIGEgY29sb3IgY2FsbGVkIGBwcmltYXJ5YC5cbi8vLyBAdHlwZSBNYXBcbiRmb3VuZGF0aW9uLXBhbGV0dGU6IChcbiAgcHJpbWFyeTogIzE3NzliYSxcbiAgc2Vjb25kYXJ5OiAjNzY3Njc2LFxuICBzdWNjZXNzOiAjM2FkYjc2LFxuICB3YXJuaW5nOiAjZmZhZTAwLFxuICBhbGVydDogI2NjNGIzNyxcbikgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciB1c2VkIGZvciBsaWdodCBncmF5IFVJIGl0ZW1zLlxuLy8vIEB0eXBlIENvbG9yXG4kbGlnaHQtZ3JheTogI2U2ZTZlNiAhZGVmYXVsdDtcblxuLy8vIENvbG9yIHVzZWQgZm9yIG1lZGl1bSBncmF5IFVJIGl0ZW1zLlxuLy8vIEB0eXBlIENvbG9yXG4kbWVkaXVtLWdyYXk6ICNjYWNhY2EgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciB1c2VkIGZvciBkYXJrIGdyYXkgVUkgaXRlbXMuXG4vLy8gQHR5cGUgQ29sb3JcbiRkYXJrLWdyYXk6ICM4YThhOGEgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciB1c2VkIGZvciBibGFjayB1aSBpdGVtcy5cbi8vLyBAdHlwZSBDb2xvclxuJGJsYWNrOiAjMGEwYTBhICFkZWZhdWx0O1xuXG4vLy8gQ29sb3IgdXNlZCBmb3Igd2hpdGUgdWkgaXRlbXMuXG4vLy8gQHR5cGUgQ29sb3JcbiR3aGl0ZTogI2ZlZmVmZSAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3Igb2YgdGhlIGJvZHkuXG4vLy8gQHR5cGUgQ29sb3JcbiRib2R5LWJhY2tncm91bmQ6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIFRleHQgY29sb3Igb2YgdGhlIGJvZHkuXG4vLy8gQHR5cGUgQ29sb3JcbiRib2R5LWZvbnQtY29sb3I6ICRibGFjayAhZGVmYXVsdDtcblxuLy8vIEZvbnQgc3RhY2sgb2YgdGhlIGJvZHkuXG4vLy8gQHR5cGUgTGlzdFxuJGJvZHktZm9udC1mYW1pbHk6ICdIZWx2ZXRpY2EgTmV1ZScsIEhlbHZldGljYSwgUm9ib3RvLCBBcmlhbCwgc2Fucy1zZXJpZiAhZGVmYXVsdDtcblxuLy8vIFNldCB0byBgdHJ1ZWAgdG8gZW5hYmxlIHNhZmUgcGFkZGluZyBvbiB0aGUgYm9keSBmb3Igbm9uLXJlY3Rhbmd1bGFyIGRldmljZXMgKGkuZS4gcGhvbmVzIHdpdGggbm90Y2hlcylcbi8vLyBAdHlwZSBCb29sZWFuXG4kYm9keS1zYWZlLXBhZGRpbmc6IGZhbHNlICFkZWZhdWx0O1xuXG4vLy8gU2V0IHRvIGB0cnVlYCB0byBlbmFibGUgYW50aWFsaWFzZWQgdHlwZSwgdXNpbmcgdGhlIGAtd2Via2l0LWZvbnQtc21vb3RoaW5nYCBhbmQgYC1tb3otb3N4LWZvbnQtc21vb3RoaW5nYCBDU1MgcHJvcGVydGllcy5cbi8vLyBAdHlwZSBCb29sZWFuXG4kYm9keS1hbnRpYWxpYXNlZDogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIEdsb2JhbCB2YWx1ZSB1c2VkIGZvciBtYXJnaW4gb24gY29tcG9uZW50cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRnbG9iYWwtbWFyZ2luOiAxcmVtICFkZWZhdWx0O1xuXG4vLy8gR2xvYmFsIHZhbHVlIHVzZWQgZm9yIHBhZGRpbmcgb24gY29tcG9uZW50cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRnbG9iYWwtcGFkZGluZzogMXJlbSAhZGVmYXVsdDtcblxuLy8vIEdsb2JhbCB2YWx1ZSB1c2VkIGZvciBwb3NpdGlvbmluZyBvbiBjb21wb25lbnRzLlxuLy8vIEB0eXBlIE51bWJlclxuJGdsb2JhbC1wb3NpdGlvbjogMXJlbSAhZGVmYXVsdDtcblxuLy8vIEdsb2JhbCBmb250IHdlaWdodCB1c2VkIGZvciBub3JtYWwgdHlwZS5cbi8vLyBAdHlwZSBLZXl3b3JkIHwgTnVtYmVyXG4kZ2xvYmFsLXdlaWdodC1ub3JtYWw6IG5vcm1hbCAhZGVmYXVsdDtcblxuLy8vIEdsb2JhbCBmb250IHdlaWdodCB1c2VkIGZvciBib2xkIHR5cGUuXG4vLy8gQHR5cGUgS2V5d29yZCB8IE51bWJlclxuJGdsb2JhbC13ZWlnaHQtYm9sZDogYm9sZCAhZGVmYXVsdDtcblxuLy8vIEdsb2JhbCB2YWx1ZSB1c2VkIGZvciBhbGwgZWxlbWVudHMgdGhhdCBoYXZlIGEgYm9yZGVyIHJhZGl1cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRnbG9iYWwtcmFkaXVzOiAwICFkZWZhdWx0O1xuXG4vLy8gR2xvYmFsIHZhbHVlIHVzZWQgZm9yIGFsbCBtZW51IHN0eWxlcy4gQ2FuIGJlIG92ZXJ3cml0dGVuIGF0IGluZGl2aWR1YWwgbWVudSBjb21wb25lbnQgbGV2ZWwuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZ2xvYmFsLW1lbnUtcGFkZGluZzogMC43cmVtIDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBHbG9iYWwgdmFsdWUgdXNlZCBmb3IgYWxsIG1lbnUgc3R5bGVzLiBOZXN0ZWQgbWFyZ2luIGZvciBzdWJtZW51LlxuJGdsb2JhbC1tZW51LW5lc3RlZC1tYXJnaW46IDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBTZXRzIHRoZSB0ZXh0IGRpcmVjdGlvbiBvZiB0aGUgQ1NTLiBDYW4gYmUgZWl0aGVyIGBsdHJgIG9yIGBydGxgLlxuLy8vIEB0eXBlIEtleXdvcmRcbiRnbG9iYWwtdGV4dC1kaXJlY3Rpb246IGx0ciAhZGVmYXVsdDtcblxuLy8vIEVuYWJsZXMgZmxleGJveCBmb3IgY29tcG9uZW50cyB0aGF0IHN1cHBvcnQgaXQuXG4vLy8gQHR5cGUgQm9vbGVhblxuJGdsb2JhbC1mbGV4Ym94OiB0cnVlICFkZWZhdWx0O1xuXG4vLy8gRW5hYmxlZCByZXNwb25zaXZlIGJyZWFrcG9pbnRzIGZvciBwcm90b3R5cGVzIGlmIGFwcGxpY2FibGVcbi8vLyBAdHlwZSBCb29sZWFuXG4kZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50czogZmFsc2UgIWRlZmF1bHQ7XG5cbi8vLyBCdXR0b24gY3Vyc29yJ3MgdmFsdWUsIGBhdXRvYCBieSBkZWZhdWx0XG4vLy8gQHR5cGUgS2V5d29yZFxuJGdsb2JhbC1idXR0b24tY3Vyc29yOiBhdXRvICFkZWZhdWx0O1xuXG5AaWYgbm90IG1hcC1oYXMta2V5KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHByaW1hcnkpIHtcbiAgQGVycm9yICdJbiAkZm91bmRhdGlvbi1wYWxldHRlLCB5b3UgbXVzdCBoYXZlIGEgY29sb3IgbmFtZWQgXCJwcmltYXJ5XCIuJztcbn1cblxuLy8gSW50ZXJuYWwgdmFyaWFibGVzIHVzZWQgZm9yIHRleHQgZGlyZWN0aW9uXG4kZ2xvYmFsLWxlZnQ6IGlmKCRnbG9iYWwtdGV4dC1kaXJlY3Rpb24gPT0gcnRsLCByaWdodCwgbGVmdCk7XG4kZ2xvYmFsLXJpZ2h0OiBpZigkZ2xvYmFsLXRleHQtZGlyZWN0aW9uID09IHJ0bCwgbGVmdCwgcmlnaHQpO1xuXG4vLyBJbnRlcm5hbCB2YXJpYWJsZSB0aGF0IGNvbnRhaW5zIHRoZSBmbGV4IGp1c3RpZnlpbmcgb3B0aW9uc1xuJC16Zi1mbGV4LWp1c3RpZnk6IC16Zi1mbGV4LWp1c3RpZnkoJGdsb2JhbC10ZXh0LWRpcmVjdGlvbik7XG5cbi8vLyBHbG9iYWwgdG9sZXJhbmNlIGZvciBjb2xvciBwaWNrIGNvbnRyYXN0LlxuLy8vIEB0eXBlIE51bWJlclxuJGdsb2JhbC1jb2xvci1waWNrLWNvbnRyYXN0LXRvbGVyYW5jZTogMCAhZGVmYXVsdDtcblxuLy8gSW50ZXJuYWwgdmFyaWFibGVzIHVzZWQgZm9yIGNvbG9yc1xuQGluY2x1ZGUgYWRkLWZvdW5kYXRpb24tY29sb3JzO1xuXG5AbWl4aW4gZm91bmRhdGlvbi1nbG9iYWwtc3R5bGVzIHtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1ub3JtYWxpemU7XG5cbiAgLy8gVGhlc2Ugc3R5bGVzIGFyZSBhcHBsaWVkIHRvIGEgPG1ldGE+IHRhZywgd2hpY2ggaXMgcmVhZCBieSB0aGUgRm91bmRhdGlvbiBKYXZhU2NyaXB0XG4gIC5mb3VuZGF0aW9uLW1xIHtcbiAgICBmb250LWZhbWlseTogJyN7LXpmLWJwLXNlcmlhbGl6ZSgkYnJlYWtwb2ludHMpfSc7XG4gIH1cblxuICBodG1sIHtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIGZvbnQtc2l6ZTogJGdsb2JhbC1mb250LXNpemU7XG4gIH1cblxuICAvLyBTZXQgYm94LXNpemluZyBnbG9iYWxseSB0byBoYW5kbGUgcGFkZGluZyBhbmQgYm9yZGVyIHdpZHRoc1xuICAqLFxuICAqOjpiZWZvcmUsXG4gICo6OmFmdGVyIHtcbiAgICBib3gtc2l6aW5nOiBpbmhlcml0O1xuICB9XG5cbiAgLy8gRGVmYXVsdCBib2R5IHN0eWxlc1xuICBib2R5IHtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcblxuICAgIEBpZiAoJGJvZHktc2FmZS1wYWRkaW5nKSB7XG4gICAgICAvLyB1c2luZyBlbnZpcm9ubWVudCB2YXJpYWJsZXMgdG8gYWNjb3VudCBmb3Igbm9uLXJlY3Rhbmd1bGFyIGRpc3BsYXlzIGUuZy4gcGhvbmVzIHdpdGggbm90Y2hlc1xuICAgICAgcGFkZGluZy10b3A6IGVudihzYWZlLWFyZWEtaW5zZXQtdG9wKTtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IGVudihzYWZlLWFyZWEtaW5zZXQtcmlnaHQpO1xuICAgICAgcGFkZGluZy1ib3R0b206IGVudihzYWZlLWFyZWEtaW5zZXQtYm90dG9tKTtcbiAgICAgIHBhZGRpbmctbGVmdDogZW52KHNhZmUtYXJlYS1pbnNldC1sZWZ0KTtcbiAgICB9XG5cbiAgICBiYWNrZ3JvdW5kOiAkYm9keS1iYWNrZ3JvdW5kO1xuXG4gICAgZm9udC1mYW1pbHk6ICRib2R5LWZvbnQtZmFtaWx5O1xuICAgIGZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ub3JtYWw7XG4gICAgbGluZS1oZWlnaHQ6ICRnbG9iYWwtbGluZWhlaWdodDtcbiAgICBjb2xvcjogJGJvZHktZm9udC1jb2xvcjtcblxuICAgIEBpZiAoJGJvZHktYW50aWFsaWFzZWQpIHtcbiAgICAgIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkOyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIG5vLXZlbmRvci1wcmVmaXhlc1xuICAgICAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTsgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSBuby12ZW5kb3ItcHJlZml4ZXNcbiAgICB9XG4gIH1cblxuICBpbWcge1xuICAgIC8vIEdldCByaWQgb2YgZ2FwIHVuZGVyIGltYWdlcyBieSBtYWtpbmcgdGhlbSBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IGJ5IGRlZmF1bHRcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcblxuICAgIC8vIEdyaWQgZGVmYXVsdHMgdG8gZ2V0IGltYWdlcyBhbmQgZW1iZWRzIHRvIHdvcmsgcHJvcGVybHlcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIC1tcy1pbnRlcnBvbGF0aW9uLW1vZGU6IGJpY3ViaWM7XG4gIH1cblxuICAvLyBNYWtlIHN1cmUgdGV4dGFyZWEgdGFrZXMgb24gaGVpZ2h0IGF1dG9tYXRpY2FsbHlcbiAgdGV4dGFyZWEge1xuICAgIGhlaWdodDogYXV0bztcbiAgICBtaW4taGVpZ2h0OiA1MHB4O1xuICAgIGJvcmRlci1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuICB9XG5cbiAgLy8gTWFrZSBzZWxlY3QgZWxlbWVudHMgYXJlIDEwMCUgd2lkdGggYnkgZGVmYXVsdFxuICBzZWxlY3Qge1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgYm9yZGVyLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4gIH1cblxuICAvLyBTdHlsZXMgR29vZ2xlIE1hcHMgYW5kIE1hcFF1ZXN0IGVtYmVkcyBwcm9wZXJseVxuICAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIG5vLWlkc1xuICAubWFwX2NhbnZhcyxcbiAgLm1xYS1kaXNwbGF5IHtcbiAgICBpbWcsXG4gICAgZW1iZWQsXG4gICAgb2JqZWN0IHtcbiAgICAgIG1heC13aWR0aDogbm9uZSAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxuXG4gIC8vIFJlc2V0IDxidXR0b24+IHN0eWxlcyBjcmVhdGVkIGJ5IG1vc3QgYnJvd3NlcnNcbiAgYnV0dG9uIHtcbiAgICBAaW5jbHVkZSBkaXNhYmxlLW1vdXNlLW91dGxpbmU7XG4gICAgcGFkZGluZzogMDtcbiAgICBhcHBlYXJhbmNlOiBub25lO1xuICAgIGJvcmRlcjogMDtcbiAgICBib3JkZXItcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgICBjdXJzb3I6ICRnbG9iYWwtYnV0dG9uLWN1cnNvcjtcbiAgfVxuXG4gIC8vIFByZXZlbnQgdGV4dCBvdmVyZmxvdyBvbiBwcmVcbiAgcHJlIHtcbiAgICBvdmVyZmxvdzogYXV0bztcbiAgICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7XG4gIH1cblxuICAvLyBNYWtlIHJlc2V0IGluaGVyaXQgZm9udC1mYW1pbHkgaW5zdGVhZCBvZiBzZXR0aW5ncyBzYW5zLXNlcmlmXG4gIGJ1dHRvbixcbiAgaW5wdXQsXG4gIG9wdGdyb3VwLFxuICBzZWxlY3QsXG4gIHRleHRhcmVhIHtcbiAgICBmb250LWZhbWlseTogaW5oZXJpdDtcbiAgfVxuXG4gIC8vIEludGVybmFsIGNsYXNzZXMgdG8gc2hvdy9oaWRlIGVsZW1lbnRzIGluIEphdmFTY3JpcHRcbiAgLmlzLXZpc2libGUge1xuICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG4gIH1cblxuICAuaXMtaGlkZGVuIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBmb3Jtc1xuLy8vL1xuXG4vLy8gRm9udCBjb2xvciBvZiB0ZXh0IGlucHV0cy5cbi8vLyBAdHlwZSBDb2xvclxuJGlucHV0LWNvbG9yOiAkYmxhY2sgIWRlZmF1bHQ7XG5cbi8vLyBGb250IGNvbG9yIG9mIHBsYWNlaG9sZGVyIHRleHQgd2l0aGluIHRleHQgaW5wdXRzLlxuLy8vIEB0eXBlIENvbG9yXG4kaW5wdXQtcGxhY2Vob2xkZXItY29sb3I6ICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8vIEZvbnQgZmFtaWx5IG9mIHRleHQgaW5wdXRzLlxuLy8vIEB0eXBlIEZvbnRcbiRpbnB1dC1mb250LWZhbWlseTogaW5oZXJpdCAhZGVmYXVsdDtcblxuLy8vIEZvbnQgc2l6ZSBvZiB0ZXh0IGlucHV0cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRpbnB1dC1mb250LXNpemU6IHJlbS1jYWxjKDE2KSAhZGVmYXVsdDtcblxuLy8vIEZvbnQgd2VpZ2h0IG9mIHRleHQgaW5wdXRzLlxuLy8vIEB0eXBlIEtleXdvcmRcbiRpbnB1dC1mb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtbm9ybWFsICFkZWZhdWx0O1xuXG4vLy8gTGluZSBoZWlnaHQgb2YgdGV4dCBpbnB1dHMuXG4vLy8gQHR5cGUgS2V5d29yZFxuJGlucHV0LWxpbmUtaGVpZ2h0OiAkZ2xvYmFsLWxpbmVoZWlnaHQgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIG9mIHRleHQgaW5wdXRzLlxuLy8vIEB0eXBlIENvbG9yXG4kaW5wdXQtYmFja2dyb3VuZDogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBvZiBmb2N1c2VkIG9mIHRleHQgaW5wdXRzLlxuLy8vIEB0eXBlIENvbG9yXG4kaW5wdXQtYmFja2dyb3VuZC1mb2N1czogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBvZiBkaXNhYmxlZCB0ZXh0IGlucHV0cy5cbi8vLyBAdHlwZSBDb2xvclxuJGlucHV0LWJhY2tncm91bmQtZGlzYWJsZWQ6ICRsaWdodC1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gQm9yZGVyIGFyb3VuZCB0ZXh0IGlucHV0cy5cbi8vLyBAdHlwZSBCb3JkZXJcbiRpbnB1dC1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBCb3JkZXIgYXJvdW5kIGZvY3VzZWQgdGV4dCBpbnB1dHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRpbnB1dC1ib3JkZXItZm9jdXM6IDFweCBzb2xpZCAkZGFyay1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gUGFkZGluZyBvZiB0ZXh0IGlucHV0cy5cbi8vLyBAdHlwZSBDb2xvclxuJGlucHV0LXBhZGRpbmc6ICRmb3JtLXNwYWNpbmcgKiAwLjUgIWRlZmF1bHQ7XG5cbi8vLyBCb3ggc2hhZG93IGluc2lkZSB0ZXh0IGlucHV0cyB3aGVuIG5vdCBmb2N1c2VkLlxuLy8vIEB0eXBlIFNoYWRvd1xuJGlucHV0LXNoYWRvdzogaW5zZXQgMCAxcHggMnB4IHJnYmEoJGJsYWNrLCAwLjEpICFkZWZhdWx0O1xuXG4vLy8gQm94IHNoYWRvdyBvdXRzaWRlIHRleHQgaW5wdXRzIHdoZW4gZm9jdXNlZC5cbi8vLyBAdHlwZSBTaGFkb3dcbiRpbnB1dC1zaGFkb3ctZm9jdXM6IDAgMCA1cHggJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gQ3Vyc29yIHRvIHVzZSB3aGVuIGhvdmVyaW5nIG92ZXIgYSBkaXNhYmxlZCB0ZXh0IGlucHV0LlxuLy8vIEB0eXBlIEN1cnNvclxuJGlucHV0LWN1cnNvci1kaXNhYmxlZDogbm90LWFsbG93ZWQgIWRlZmF1bHQ7XG5cbi8vLyBQcm9wZXJ0aWVzIHRvIHRyYW5zaXRpb24gb24gdGV4dCBpbnB1dHMuXG4vLy8gQHR5cGUgVHJhbnNpdGlvblxuJGlucHV0LXRyYW5zaXRpb246IGJveC1zaGFkb3cgMC41cywgYm9yZGVyLWNvbG9yIDAuMjVzIGVhc2UtaW4tb3V0ICFkZWZhdWx0O1xuXG4vLy8gRW5hYmxlcyB0aGUgdXAvZG93biBidXR0b25zIHRoYXQgQ2hyb21lIGFuZCBGaXJlZm94IGFkZCB0byBgPGlucHV0IHR5cGU9J251bWJlcic+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBCb29sZWFuXG4kaW5wdXQtbnVtYmVyLXNwaW5uZXJzOiB0cnVlICFkZWZhdWx0O1xuXG4vLy8gUmFkaXVzIGZvciB0ZXh0IGlucHV0cy5cbi8vLyBAdHlwZSBCb3JkZXJcbiRpbnB1dC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICFkZWZhdWx0O1xuXG4vLy8gQm9yZGVyIHJhZGl1cyBmb3IgZm9ybSBidXR0b25zLCBkZWZhdWx0ZWQgdG8gZ2xvYmFsLXJhZGl1cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRmb3JtLWJ1dHRvbi1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICFkZWZhdWx0O1xuXG5AbWl4aW4gZm9ybS1lbGVtZW50IHtcbiAgJGhlaWdodDogKCRpbnB1dC1mb250LXNpemUgKiB1bml0bGVzcy1jYWxjKCRpbnB1dC1saW5lLWhlaWdodCkpICsgKGdldC1zaWRlKCRpbnB1dC1wYWRkaW5nLCAndG9wJykgKyBnZXQtc2lkZSgkaW5wdXQtcGFkZGluZywgJ2JvdHRvbScpKSAtIHJlbS1jYWxjKDEpO1xuXG4gIGRpc3BsYXk6IGJsb2NrO1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAkaGVpZ2h0O1xuICBtYXJnaW46IDAgMCAkZm9ybS1zcGFjaW5nO1xuICBwYWRkaW5nOiAkaW5wdXQtcGFkZGluZztcblxuICBib3JkZXI6ICRpbnB1dC1ib3JkZXI7XG4gIGJvcmRlci1yYWRpdXM6ICRpbnB1dC1yYWRpdXM7XG4gIGJhY2tncm91bmQtY29sb3I6ICRpbnB1dC1iYWNrZ3JvdW5kO1xuICBib3gtc2hhZG93OiAkaW5wdXQtc2hhZG93O1xuXG4gIGZvbnQtZmFtaWx5OiAkaW5wdXQtZm9udC1mYW1pbHk7XG4gIGZvbnQtc2l6ZTogJGlucHV0LWZvbnQtc2l6ZTtcbiAgZm9udC13ZWlnaHQ6ICRpbnB1dC1mb250LXdlaWdodDtcbiAgbGluZS1oZWlnaHQ6ICRpbnB1dC1saW5lLWhlaWdodDtcbiAgY29sb3I6ICRpbnB1dC1jb2xvcjtcblxuICBAaWYgaGFzLXZhbHVlKCRpbnB1dC10cmFuc2l0aW9uKSB7XG4gICAgdHJhbnNpdGlvbjogJGlucHV0LXRyYW5zaXRpb247XG4gIH1cblxuICAvLyBGb2N1cyBzdGF0ZVxuICAmOmZvY3VzIHtcbiAgICBvdXRsaW5lOiBub25lO1xuICAgIGJvcmRlcjogJGlucHV0LWJvcmRlci1mb2N1cztcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaW5wdXQtYmFja2dyb3VuZC1mb2N1cztcbiAgICBib3gtc2hhZG93OiAkaW5wdXQtc2hhZG93LWZvY3VzO1xuXG4gICAgQGlmIGhhcy12YWx1ZSgkaW5wdXQtdHJhbnNpdGlvbikge1xuICAgICAgdHJhbnNpdGlvbjogJGlucHV0LXRyYW5zaXRpb247XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWZvcm0tdGV4dCB7XG4gIC8vIFRleHQgaW5wdXRzXG4gICN7dGV4dC1pbnB1dHMoKX0sXG4gIHRleHRhcmVhIHtcbiAgICBAaW5jbHVkZSBmb3JtLWVsZW1lbnQ7XG4gICAgYXBwZWFyYW5jZTogbm9uZTtcbiAgfVxuXG4gIC8vIFRleHQgYXJlYXNcbiAgdGV4dGFyZWEge1xuICAgIG1heC13aWR0aDogMTAwJTtcblxuICAgICZbcm93c10ge1xuICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgIH1cbiAgfVxuXG4gIGlucHV0LFxuICB0ZXh0YXJlYSB7XG4gICAgLy8gRGlzYWJsZWQvcmVhZG9ubHkgc3RhdGVcbiAgICAmOmRpc2FibGVkLFxuICAgICZbcmVhZG9ubHldIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRpbnB1dC1iYWNrZ3JvdW5kLWRpc2FibGVkO1xuICAgICAgY3Vyc29yOiAkaW5wdXQtY3Vyc29yLWRpc2FibGVkO1xuICAgIH1cbiAgfVxuXG4gIC8vIFJlc2V0IHN0eWxlcyBvbiBidXR0b24tbGlrZSBpbnB1dHNcbiAgW3R5cGU9J3N1Ym1pdCddLFxuICBbdHlwZT0nYnV0dG9uJ10ge1xuICAgIGFwcGVhcmFuY2U6IG5vbmU7XG4gICAgYm9yZGVyLXJhZGl1czogJGZvcm0tYnV0dG9uLXJhZGl1cztcbiAgfVxuXG4gIC8vIFJlc2V0IE5vcm1hbGl6ZSBzZXR0aW5nIGNvbnRlbnQtYm94IHRvIHNlYXJjaCBlbGVtZW50c1xuICBpbnB1dFt0eXBlPSdzZWFyY2gnXSB7IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgbm8tcXVhbGlmeWluZy1lbGVtZW50c1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIH1cblxuICAvLyBOdW1iZXIgaW5wdXQgc3R5bGVzXG4gIFt0eXBlPSdudW1iZXInXSB7XG4gICAgQGlmIG5vdCAkaW5wdXQtbnVtYmVyLXNwaW5uZXJzIHtcbiAgICAgIC1tb3otYXBwZWFyYW5jZTogdGV4dGZpZWxkOyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIG5vLXZlbmRvci1wcmVmaXhlc1xuXG4gICAgICAmOjotd2Via2l0LWlubmVyLXNwaW4tYnV0dG9uLFxuICAgICAgJjo6LXdlYmtpdC1vdXRlci1zcGluLWJ1dHRvbiB7XG4gICAgICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTsgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSBuby12ZW5kb3ItcHJlZml4ZXNcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIFBsYWNlaG9sZGVyIHRleHRcbiAgOjpwbGFjZWhvbGRlciB7XG4gICAgY29sb3I6ICRpbnB1dC1wbGFjZWhvbGRlci1jb2xvcjtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGZvcm1zXG4vLy8vXG5cbi8vLyBDb2xvciBmb3IgZm9ybSBsYWJlbHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRmb3JtLWxhYmVsLWNvbG9yOiAkYmxhY2sgIWRlZmF1bHQ7XG5cbi8vLyBGb250IHNpemUgZm9yIGZvcm0gbGFiZWxzLlxuLy8vIEB0eXBlIE51bWJlclxuJGZvcm0tbGFiZWwtZm9udC1zaXplOiByZW0tY2FsYygxNCkgIWRlZmF1bHQ7XG5cbi8vLyBGb250IHdlaWdodCBmb3IgZm9ybSBsYWJlbHMuXG4vLy8gQHR5cGUgS2V5d29yZFxuJGZvcm0tbGFiZWwtZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LW5vcm1hbCAhZGVmYXVsdDtcblxuLy8vIExpbmUgaGVpZ2h0IGZvciBmb3JtIGxhYmVscy4gVGhlIGhpZ2hlciB0aGUgbnVtYmVyLCB0aGUgbW9yZSBzcGFjZSBiZXR3ZWVuIHRoZSBsYWJlbCBhbmQgaXRzIGlucHV0IGZpZWxkLlxuLy8vIEB0eXBlIE51bWJlclxuJGZvcm0tbGFiZWwtbGluZS1oZWlnaHQ6IDEuOCAhZGVmYXVsdDtcblxuQG1peGluIGZvcm0tbGFiZWwge1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luOiAwO1xuXG4gIGZvbnQtc2l6ZTogJGZvcm0tbGFiZWwtZm9udC1zaXplO1xuICBmb250LXdlaWdodDogJGZvcm0tbGFiZWwtZm9udC13ZWlnaHQ7XG4gIGxpbmUtaGVpZ2h0OiAkZm9ybS1sYWJlbC1saW5lLWhlaWdodDtcbiAgY29sb3I6ICRmb3JtLWxhYmVsLWNvbG9yO1xufVxuXG5AbWl4aW4gZm9ybS1sYWJlbC1taWRkbGUge1xuICAkaW5wdXQtYm9yZGVyLXdpZHRoOiBnZXQtYm9yZGVyLXZhbHVlKCRpbnB1dC1ib3JkZXIsIHdpZHRoKTtcblxuICBtYXJnaW46IDAgMCAkZm9ybS1zcGFjaW5nO1xuICBsaW5lLWhlaWdodDogJGdsb2JhbC1saW5laGVpZ2h0O1xuICBwYWRkaW5nOiAoJGZvcm0tc3BhY2luZyAqIDAuNSArIHJlbS1jYWxjKCRpbnB1dC1ib3JkZXItd2lkdGgpKSAwO1xufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1mb3JtLWxhYmVsIHtcbiAgbGFiZWwge1xuICAgIEBpbmNsdWRlIGZvcm0tbGFiZWw7XG5cbiAgICAmLm1pZGRsZSB7XG4gICAgICBAaW5jbHVkZSBmb3JtLWxhYmVsLW1pZGRsZTtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBmb3Jtc1xuLy8vL1xuXG4vLy8gRGVmYXVsdCBjb2xvciBmb3IgaGVscCB0ZXh0LlxuLy8vIEB0eXBlIENvbG9yXG4kaGVscHRleHQtY29sb3I6ICRibGFjayAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCBzaXplIGZvciBoZWxwIHRleHQuXG4vLy8gQHR5cGUgTnVtYmVyXG4kaGVscHRleHQtZm9udC1zaXplOiByZW0tY2FsYygxMykgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZvbnQgc3R5bGUgZm9yIGhlbHAgdGV4dC5cbi8vLyBAdHlwZSBLZXl3b3JkXG4kaGVscHRleHQtZm9udC1zdHlsZTogaXRhbGljICFkZWZhdWx0O1xuXG5AbWl4aW4gZm91bmRhdGlvbi1mb3JtLWhlbHB0ZXh0IHtcbiAgLmhlbHAtdGV4dCB7XG4gICAgJG1hcmdpbi10b3A6ICgkZm9ybS1zcGFjaW5nICogMC41KSAqIC0xO1xuXG4gICAgbWFyZ2luLXRvcDogJG1hcmdpbi10b3A7XG4gICAgZm9udC1zaXplOiAkaGVscHRleHQtZm9udC1zaXplO1xuICAgIGZvbnQtc3R5bGU6ICRoZWxwdGV4dC1mb250LXN0eWxlO1xuICAgIGNvbG9yOiAkaGVscHRleHQtY29sb3I7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBmb3Jtc1xuLy8vL1xuXG4vLy8gQ29sb3Igb2YgbGFiZWxzIHByZWZpeGVkIHRvIGFuIGlucHV0LlxuLy8vIEB0eXBlIENvbG9yXG4kaW5wdXQtcHJlZml4LWNvbG9yOiAkYmxhY2sgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIG9mIGxhYmVscyBwcmVmaXhlZCB0byBhbiBpbnB1dC5cbi8vLyBAdHlwZSBDb2xvclxuJGlucHV0LXByZWZpeC1iYWNrZ3JvdW5kOiAkbGlnaHQtZ3JheSAhZGVmYXVsdDtcblxuLy8vIEJvcmRlciBhcm91bmQgbGFiZWxzIHByZWZpeGVkIHRvIGFuIGlucHV0LlxuLy8vIEB0eXBlIEJvcmRlclxuJGlucHV0LXByZWZpeC1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBMZWZ0L3JpZ2h0IHBhZGRpbmcgb2YgYW4gcHJlL3Bvc3RmaXhlZCBpbnB1dCBsYWJlbFxuJGlucHV0LXByZWZpeC1wYWRkaW5nOiAxcmVtICFkZWZhdWx0O1xuXG5AbWl4aW4gZm91bmRhdGlvbi1mb3JtLXByZXBvc3RmaXgge1xuICAkaGVpZ2h0OiAoJGlucHV0LWZvbnQtc2l6ZSAqICRpbnB1dC1saW5lLWhlaWdodCkgKyAoZ2V0LXNpZGUoJGlucHV0LXBhZGRpbmcsICd0b3AnKSArIGdldC1zaWRlKCRpbnB1dC1wYWRkaW5nLCAnYm90dG9tJykpIC0gcmVtLWNhbGMoMSk7XG5cbiAgLmlucHV0LWdyb3VwIHtcbiAgICBkaXNwbGF5OiBpZigkZ2xvYmFsLWZsZXhib3gsIGZsZXgsIHRhYmxlKTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXJnaW4tYm90dG9tOiAkZm9ybS1zcGFjaW5nO1xuXG4gICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICBhbGlnbi1pdGVtczogc3RyZXRjaDtcbiAgICB9XG5cbiAgICA+IDpmaXJzdC1jaGlsZCB7XG4gICAgICAmLCAmLmlucHV0LWdyb3VwLWJ1dHRvbiA+ICoge1xuICAgICAgICBib3JkZXItcmFkaXVzOiBpZigkZ2xvYmFsLXRleHQtZGlyZWN0aW9uID09IHJ0bCwgMCAkaW5wdXQtcmFkaXVzICRpbnB1dC1yYWRpdXMgMCwgJGlucHV0LXJhZGl1cyAwIDAgJGlucHV0LXJhZGl1cyk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgPiA6bGFzdC1jaGlsZCB7XG4gICAgICAmLCAmLmlucHV0LWdyb3VwLWJ1dHRvbiA+ICoge1xuICAgICAgICBib3JkZXItcmFkaXVzOiBpZigkZ2xvYmFsLXRleHQtZGlyZWN0aW9uID09IHJ0bCwgJGlucHV0LXJhZGl1cyAwIDAgJGlucHV0LXJhZGl1cywgMCAkaW5wdXQtcmFkaXVzICRpbnB1dC1yYWRpdXMgMCk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJWlucHV0LWdyb3VwLWNoaWxkIHtcbiAgICBtYXJnaW46IDA7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcblxuICAgIEBpZiBub3QgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgIH1cbiAgfVxuXG4gIC5pbnB1dC1ncm91cC1sYWJlbCB7XG4gICAgQGV4dGVuZCAlaW5wdXQtZ3JvdXAtY2hpbGQ7XG4gICAgcGFkZGluZzogMCAkaW5wdXQtcHJlZml4LXBhZGRpbmc7XG4gICAgYm9yZGVyOiAkaW5wdXQtcHJlZml4LWJvcmRlcjtcbiAgICBiYWNrZ3JvdW5kOiAkaW5wdXQtcHJlZml4LWJhY2tncm91bmQ7XG5cbiAgICBjb2xvcjogJGlucHV0LXByZWZpeC1jb2xvcjtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcblxuICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgd2lkdGg6IDElO1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgIH1cblxuICAgIEBpZiBoYXMtdmFsdWUoJGlucHV0LXByZWZpeC1ib3JkZXIpIHtcbiAgICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICBib3JkZXItI3skZ2xvYmFsLXJpZ2h0fTogMDtcbiAgICAgIH1cblxuICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgYm9yZGVyLSN7JGdsb2JhbC1sZWZ0fTogMDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAuaW5wdXQtZ3JvdXAtZmllbGQge1xuICAgIEBleHRlbmQgJWlucHV0LWdyb3VwLWNoaWxkO1xuICAgIGJvcmRlci1yYWRpdXM6IDA7XG5cbiAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgIGZsZXg6IDEgMSAwcHg7IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgemVyby11bml0XG4gICAgICBtaW4td2lkdGg6IDA7XG4gICAgfVxuICB9XG5cbiAgLmlucHV0LWdyb3VwLWJ1dHRvbiB7XG4gICAgQGV4dGVuZCAlaW5wdXQtZ3JvdXAtY2hpbGQ7XG4gICAgcGFkZGluZy10b3A6IDA7XG4gICAgcGFkZGluZy1ib3R0b206IDA7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleDogMCAwIGF1dG87XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIHdpZHRoOiAxJTtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICB9XG5cbiAgICBhLFxuICAgIGlucHV0LFxuICAgIGJ1dHRvbixcbiAgICBsYWJlbCB7XG4gICAgICBAZXh0ZW5kICVpbnB1dC1ncm91cC1jaGlsZDtcblxuICAgICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICAgIGFsaWduLXNlbGY6IHN0cmV0Y2g7XG4gICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgIH1cbiAgICAgIEBlbHNlIHtcbiAgICAgICAgaGVpZ2h0OiAkaGVpZ2h0O1xuICAgICAgfVxuICAgICAgcGFkZGluZy10b3A6IDA7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgICAgIGZvbnQtc2l6ZTogJGlucHV0LWZvbnQtc2l6ZTtcbiAgICB9XG4gIH1cblxuICAvLyBTcGVjaWZpY2l0eSBidW1wIG5lZWRlZCB0byBwcmV2ZW50IG92ZXJyaWRlIGJ5IGJ1dHRvbnNcbiAgQGlmIG5vdCAkZ2xvYmFsLWZsZXhib3gge1xuICAgIC5pbnB1dC1ncm91cCB7XG4gICAgICAuaW5wdXQtZ3JvdXAtYnV0dG9uIHtcbiAgICAgICAgZGlzcGxheTogdGFibGUtY2VsbDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBmb3Jtc1xuLy8vL1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBmb3Igc2VsZWN0IG1lbnVzLlxuLy8vIEB0eXBlIENvbG9yXG4kc2VsZWN0LWJhY2tncm91bmQ6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIENvbG9yIG9mIHRoZSBkcm9wZG93biB0cmlhbmdsZSBpbnNpZGUgc2VsZWN0IG1lbnVzLiBTZXQgdG8gYHRyYW5zcGFyZW50YCB0byByZW1vdmUgaXQgZW50aXJlbHkuXG4vLy8gQHR5cGUgQ29sb3JcbiRzZWxlY3QtdHJpYW5nbGUtY29sb3I6ICRkYXJrLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHJhZGl1cyBmb3Igc2VsZWN0IG1lbnVzLlxuLy8vIEB0eXBlIENvbG9yXG4kc2VsZWN0LXJhZGl1czogJGdsb2JhbC1yYWRpdXMgIWRlZmF1bHQ7XG5cbkBtaXhpbiBmb3JtLXNlbGVjdCB7XG4gICRoZWlnaHQ6ICgkaW5wdXQtZm9udC1zaXplICogdW5pdGxlc3MtY2FsYygkaW5wdXQtbGluZS1oZWlnaHQpKSArIChnZXQtc2lkZSgkaW5wdXQtcGFkZGluZywgJ3RvcCcpICsgZ2V0LXNpZGUoJGlucHV0LXBhZGRpbmcsICdib3R0b20nKSkgLSByZW0tY2FsYygxKTtcblxuICBoZWlnaHQ6ICRoZWlnaHQ7XG4gIG1hcmdpbjogMCAwICRmb3JtLXNwYWNpbmc7XG4gIHBhZGRpbmc6ICRpbnB1dC1wYWRkaW5nO1xuXG4gIGFwcGVhcmFuY2U6IG5vbmU7XG4gIGJvcmRlcjogJGlucHV0LWJvcmRlcjtcbiAgYm9yZGVyLXJhZGl1czogJHNlbGVjdC1yYWRpdXM7XG4gIGJhY2tncm91bmQtY29sb3I6ICRzZWxlY3QtYmFja2dyb3VuZDtcblxuICBmb250LWZhbWlseTogJGlucHV0LWZvbnQtZmFtaWx5O1xuICBmb250LXNpemU6ICRpbnB1dC1mb250LXNpemU7XG4gIGZvbnQtd2VpZ2h0OiAkaW5wdXQtZm9udC13ZWlnaHQ7XG4gIGxpbmUtaGVpZ2h0OiAkaW5wdXQtbGluZS1oZWlnaHQ7XG4gIGNvbG9yOiAkaW5wdXQtY29sb3I7XG5cbiAgQGlmICRzZWxlY3QtdHJpYW5nbGUtY29sb3IgIT0gdHJhbnNwYXJlbnQge1xuICAgIEBpbmNsdWRlIGJhY2tncm91bmQtdHJpYW5nbGUoJHNlbGVjdC10cmlhbmdsZS1jb2xvcik7XG4gICAgYmFja2dyb3VuZC1vcmlnaW46IGNvbnRlbnQtYm94O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246ICRnbG9iYWwtcmlnaHQgKC0kZm9ybS1zcGFjaW5nKSBjZW50ZXI7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IDlweCA2cHg7XG5cbiAgICBwYWRkaW5nLSN7JGdsb2JhbC1yaWdodH06ICgkZm9ybS1zcGFjaW5nICogMS41KTtcbiAgfVxuXG4gIEBpZiBoYXMtdmFsdWUoJGlucHV0LXRyYW5zaXRpb24pIHtcbiAgICB0cmFuc2l0aW9uOiAkaW5wdXQtdHJhbnNpdGlvbjtcbiAgfVxuXG4gIC8vIEZvY3VzIHN0YXRlXG4gICY6Zm9jdXMge1xuICAgIG91dGxpbmU6IG5vbmU7XG4gICAgYm9yZGVyOiAkaW5wdXQtYm9yZGVyLWZvY3VzO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRpbnB1dC1iYWNrZ3JvdW5kLWZvY3VzO1xuICAgIGJveC1zaGFkb3c6ICRpbnB1dC1zaGFkb3ctZm9jdXM7XG5cbiAgICBAaWYgaGFzLXZhbHVlKCRpbnB1dC10cmFuc2l0aW9uKSB7XG4gICAgICB0cmFuc2l0aW9uOiAkaW5wdXQtdHJhbnNpdGlvbjtcbiAgICB9XG4gIH1cblxuICAvLyBEaXNhYmxlZCBzdGF0ZVxuICAmOmRpc2FibGVkIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaW5wdXQtYmFja2dyb3VuZC1kaXNhYmxlZDtcbiAgICBjdXJzb3I6ICRpbnB1dC1jdXJzb3ItZGlzYWJsZWQ7XG4gIH1cblxuICAvLyBIaWRlIHRoZSBkcm9wZG93biBhcnJvdyBzaG93biBpbiBuZXdlciBJRSB2ZXJzaW9uc1xuICAmOjotbXMtZXhwYW5kIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG5cbiAgJlttdWx0aXBsZV0ge1xuICAgIGhlaWdodDogYXV0bztcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiBub25lO1xuICB9XG4gICY6bm90KFttdWx0aXBsZV0pIHtcbiAgICBwYWRkaW5nLXRvcDogMDtcbiAgICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1mb3JtLXNlbGVjdCB7XG4gIHNlbGVjdCB7XG4gICAgQGluY2x1ZGUgZm9ybS1zZWxlY3Q7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBmdW5jdGlvbnNcbi8vLy9cblxuLy8gUGF0Y2ggdG8gZml4IGlzc3VlICMxMjA4MFxuJC16Zi1wYi12YWx1ZTogbnVsbDtcblxuLy8vIENyZWF0ZXMgYW4gaW5uZXIgYm94LXNoYWRvdyBmb3Igb25seSBvbmUgc2lkZVxuLy8vXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkc2lkZSAtIFNpZGUgdGhlIHNoYWRvdyBpcyBzdXBwb3NlZCB0byBhcHBlYXIuIENhbiBiZSBgdG9wYCwgYGxlZnRgLCBgcmlnaHRgIG9yIGBib3R0b21gLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkc2l6ZSAtIFdpZHRoIGZvciB0aGUgdGFyZ2V0IHNpZGUuXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yIC0gQ29sb3Igb2YgdGhlIHNoYWRvdy5cbkBtaXhpbiBpbm5lci1zaWRlLXNoYWRvdyhcbiAgJHNpZGU6IGJvdHRvbSxcbiAgJHNpemU6IDIwcHgsXG4gICRjb2xvcjogcmdiYSgkYmxhY2ssIDAuMjUpXG4pIHtcblxuICAkaGVscGVyOiByb3VuZCgkc2l6ZSAqIDAuNjUpO1xuXG4gIEBpZiAoJHNpZGUgPT0gdG9wKSB7XG4gICAgYm94LXNoYWRvdzogaW5zZXQgMCAkaGVscGVyICRzaXplICgtMSkqJGhlbHBlciAkY29sb3I7XG4gIH0gQGVsc2UgaWYgKCRzaWRlID09IGxlZnQpIHtcbiAgICBib3gtc2hhZG93OiBpbnNldCAkaGVscGVyIDAgJHNpemUgKC0xKSokaGVscGVyICRjb2xvcjtcbiAgfSBAZWxzZSBpZiAoJHNpZGUgPT0gcmlnaHQpIHtcbiAgICBib3gtc2hhZG93OiBpbnNldCAoLTEpKiRoZWxwZXIgMCAkc2l6ZSAoLTEpKiRoZWxwZXIgJGNvbG9yO1xuICB9IEBlbHNlIGlmICgkc2lkZSA9PSBib3R0b20pIHtcbiAgICBib3gtc2hhZG93OiBpbnNldCAwICgtMSkqJGhlbHBlciAkc2l6ZSAoLTEpKiRoZWxwZXIgJGNvbG9yO1xuICB9XG59XG5cbi8vLyBDcmVhdGVzIGEgQ1NTIHRyaWFuZ2xlLCB3aGljaCBjYW4gYmUgdXNlZCBmb3IgZHJvcGRvd24gYXJyb3dzLCBkcm9wZG93biBwaXBzLCBhbmQgbW9yZS4gVXNlIHRoaXMgbWl4aW4gaW5zaWRlIGEgYCY6OmJlZm9yZWAgb3IgYCY6OmFmdGVyYCBzZWxlY3RvciwgdG8gYXR0YWNoIHRoZSB0cmlhbmdsZSB0byBhbiBleGlzdGluZyBlbGVtZW50LlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICR0cmlhbmdsZS1zaXplIC0gV2lkdGggb2YgdGhlIHRyaWFuZ2xlLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICR0cmlhbmdsZS1jb2xvciAtIENvbG9yIG9mIHRoZSB0cmlhbmdsZS5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICR0cmlhbmdsZS1kaXJlY3Rpb24gLSBEaXJlY3Rpb24gdGhlIHRyaWFuZ2xlIHBvaW50cy4gQ2FuIGJlIGB1cGAsIGByaWdodGAsIGBkb3duYCwgb3IgYGxlZnRgLlxuQG1peGluIGNzcy10cmlhbmdsZShcbiAgJHRyaWFuZ2xlLXNpemUsXG4gICR0cmlhbmdsZS1jb2xvcixcbiAgJHRyaWFuZ2xlLWRpcmVjdGlvblxuKSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMDtcbiAgaGVpZ2h0OiAwO1xuXG4gIGJvcmRlci1zdHlsZTogc29saWQ7XG4gIGJvcmRlci13aWR0aDogJHRyaWFuZ2xlLXNpemU7XG5cbiAgY29udGVudDogJyc7XG5cbiAgQGlmICgkdHJpYW5nbGUtZGlyZWN0aW9uID09IGRvd24pIHtcbiAgICBib3JkZXItYm90dG9tLXdpZHRoOiAwO1xuICAgIGJvcmRlci1jb2xvcjogJHRyaWFuZ2xlLWNvbG9yIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50O1xuICB9XG4gIEBpZiAoJHRyaWFuZ2xlLWRpcmVjdGlvbiA9PSB1cCkge1xuICAgIGJvcmRlci10b3Atd2lkdGg6IDA7XG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCAkdHJpYW5nbGUtY29sb3I7XG4gIH1cbiAgQGlmICgkdHJpYW5nbGUtZGlyZWN0aW9uID09IHJpZ2h0KSB7XG4gICAgYm9yZGVyLXJpZ2h0LXdpZHRoOiAwO1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgJHRyaWFuZ2xlLWNvbG9yO1xuICB9XG4gIEBpZiAoJHRyaWFuZ2xlLWRpcmVjdGlvbiA9PSBsZWZ0KSB7XG4gICAgYm9yZGVyLWxlZnQtd2lkdGg6IDA7XG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCAkdHJpYW5nbGUtY29sb3IgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7XG4gIH1cbn1cblxuLy8vIENyZWF0ZXMgYSBtZW51IGljb24gd2l0aCBhIHNldCB3aWR0aCwgaGVpZ2h0LCBudW1iZXIgb2YgYmFycywgYW5kIGNvbG9ycy4gVGhlIG1peGluIHVzZXMgdGhlIGhlaWdodCBvZiB0aGUgaWNvbiBhbmQgdGhlIHdlaWdodCBvZiB0aGUgYmFycyB0byBkZXRlcm1pbmUgc3BhY2luZy4gPGRpdiBjbGFzcz1cImRvY3MtZXhhbXBsZS1idXJnZXJcIj48L2Rpdj5cbi8vL1xuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvciBbJGJsYWNrXSAtIENvbG9yIHRvIHVzZSBmb3IgdGhlIGljb24uXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yLWhvdmVyIFskZGFyay1ncmF5XSAtIENvbG9yIHRvIHVzZSB3aGVuIHRoZSBpY29uIGlzIGhvdmVyZWQgb3Zlci5cbi8vLyBAcGFyYW0ge051bWJlcn0gJHdpZHRoIFsyMHB4XSAtIFdpZHRoIG9mIHRoZSBpY29uLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkaGVpZ2h0IFsxNnB4XSAtIEhlaWdodCBvZiB0aGUgaWNvbi5cbi8vLyBAcGFyYW0ge051bWJlcn0gJHdlaWdodCBbMnB4XSAtIEhlaWdodCBvZiBpbmRpdmlkdWFsIGJhcnMgaW4gdGhlIGljb24uXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRiYXJzIFszXSAtIE51bWJlciBvZiBiYXJzIGluIHRoZSBpY29uLlxuQG1peGluIGhhbWJ1cmdlcihcbiAgJGNvbG9yOiAkYmxhY2ssXG4gICRjb2xvci1ob3ZlcjogJGRhcmstZ3JheSxcbiAgJHdpZHRoOiAyMHB4LFxuICAkaGVpZ2h0OiAxNnB4LFxuICAkd2VpZ2h0OiAycHgsXG4gICRiYXJzOiAzXG4pIHtcbiAgLy8gYm94LXNoYWRvdyBDU1Mgb3V0cHV0XG4gICRzaGFkb3c6ICgpO1xuICAkaG92ZXItc2hhZG93OiAoKTtcblxuICAvLyBTcGFjaW5nIGJldHdlZW4gYmFycyBpcyBjYWxjdWxhdGVkIGJhc2VkIG9uIHRoZSB0b3RhbCBoZWlnaHQgb2YgdGhlIGljb24gYW5kIHRoZSB3ZWlnaHQgb2YgZWFjaCBiYXJcbiAgJHNwYWNpbmc6IGRpdmlkZSgkaGVpZ2h0IC0gKCR3ZWlnaHQgKiAkYmFycyksICRiYXJzIC0gMSk7XG5cbiAgQGlmIHVuaXQoJHNwYWNpbmcpID09ICdweCcge1xuICAgICRzcGFjaW5nOiBmbG9vcigkc3BhY2luZyk7XG4gIH1cblxuICBAZm9yICRpIGZyb20gMiB0aHJvdWdoICRiYXJzIHtcbiAgICAkb2Zmc2V0OiAoJHdlaWdodCArICRzcGFjaW5nKSAqICgkaSAtIDEpO1xuICAgICRzaGFkb3c6IGFwcGVuZCgkc2hhZG93LCAwICRvZmZzZXQgMCAkY29sb3IsIGNvbW1hKTtcbiAgfVxuXG4gIC8vIEljb24gY29udGFpbmVyXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICB3aWR0aDogJHdpZHRoO1xuICBoZWlnaHQ6ICRoZWlnaHQ7XG4gIGN1cnNvcjogcG9pbnRlcjtcblxuICAvLyBJY29uIGJhcnNcbiAgJjo6YWZ0ZXIge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcblxuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogJHdlaWdodDtcblxuICAgIGJhY2tncm91bmQ6ICRjb2xvcjtcbiAgICBib3gtc2hhZG93OiAkc2hhZG93O1xuXG4gICAgY29udGVudDogJyc7XG4gIH1cblxuICAvLyBIb3ZlciBzdGF0ZVxuICBAaWYgJGNvbG9yLWhvdmVyIHtcbiAgICAvLyBHZW5lcmF0ZSBDU1NcbiAgICBAZm9yICRpIGZyb20gMiB0aHJvdWdoICRiYXJzIHtcbiAgICAgICRvZmZzZXQ6ICgkd2VpZ2h0ICsgJHNwYWNpbmcpICogKCRpIC0gMSk7XG4gICAgICAkaG92ZXItc2hhZG93OiBhcHBlbmQoJGhvdmVyLXNoYWRvdywgMCAkb2Zmc2V0IDAgJGNvbG9yLWhvdmVyLCBjb21tYSk7XG4gICAgfVxuXG4gICAgJjpob3Zlcjo6YWZ0ZXIge1xuICAgICAgYmFja2dyb3VuZDogJGNvbG9yLWhvdmVyO1xuICAgICAgYm94LXNoYWRvdzogJGhvdmVyLXNoYWRvdztcbiAgICB9XG4gIH1cbn1cblxuLy8vIEFkZHMgYSBkb3dud2FyZC1mYWNpbmcgdHJpYW5nbGUgYXMgYSBiYWNrZ3JvdW5kIGltYWdlIHRvIGFuIGVsZW1lbnQuIFRoZSBpbWFnZSBpcyBmb3JtYXR0ZWQgYXMgYW4gU1ZHLCBtYWtpbmcgaXQgZWFzeSB0byBjaGFuZ2UgdGhlIGNvbG9yLiBCZWNhdXNlIEludGVybmV0IEV4cGxvcmVyIGRvZXNuJ3Qgc3VwcG9ydCBlbmNvZGVkIFNWR3MgYXMgYmFja2dyb3VuZCBpbWFnZXMsIGEgUE5HIGZhbGxiYWNrIGlzIGFsc28gaW5jbHVkZWQuXG4vLy8gVGhlcmUgYXJlIHR3byBQTkcgZmFsbGJhY2tzOiBhIGJsYWNrIHRyaWFuZ2xlIGFuZCBhIHdoaXRlIHRyaWFuZ2xlLiBUaGUgb25lIHVzZWQgZGVwZW5kcyBvbiB0aGUgbGlnaHRuZXNzIG9mIHRoZSBpbnB1dCBjb2xvci5cbi8vL1xuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvciBbJGJsYWNrXSAtIENvbG9yIHRvIHVzZSBmb3IgdGhlIHRyaWFuZ2xlLlxuQG1peGluIGJhY2tncm91bmQtdHJpYW5nbGUoJGNvbG9yOiAkYmxhY2spIHtcbiAgJHJnYjogJ3JnYiUyOCN7cm91bmQocmVkKCRjb2xvcikpfSwgI3tyb3VuZChncmVlbigkY29sb3IpKX0sICN7cm91bmQoYmx1ZSgkY29sb3IpKX0lMjknO1xuXG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnZGF0YTppbWFnZS9zdmcreG1sO3V0ZjgsPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgdmVyc2lvbj1cIjEuMVwiIHdpZHRoPVwiMzJcIiBoZWlnaHQ9XCIyNFwiIHZpZXdCb3g9XCIwIDAgMzIgMjRcIj48cG9seWdvbiBwb2ludHM9XCIwLDAgMzIsMCAxNiwyNFwiIHN0eWxlPVwiZmlsbDogI3skcmdifVwiPjwvcG9seWdvbj48L3N2Zz4nKTtcblxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAwXFwwKSB7XG4gICAgQGlmIGxpZ2h0bmVzcygkY29sb3IpIDwgNjAlIHtcbiAgICAgIC8vIFdoaXRlIHRyaWFuZ2xlXG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJ2RhdGE6aW1hZ2UvcG5nO2Jhc2U2NCxpVkJPUncwS0dnb0FBQUFOU1VoRVVnQUFBQ0FBQUFBWUNBWUFBQUNiVS84MEFBQUFHWFJGV0hSVGIyWjBkMkZ5WlFCQlpHOWlaU0JKYldGblpWSmxZV1I1Y2NsbFBBQUFBSXBKUkVGVWVOckVrY2tOZ0RBTUJCZlJrRXQwT2JSQkJkc0dYVURnbVFmSzRYaEgybThjelFBQXkyN1IzdHN3NFFmZTJ4OHVPTzZvWUxiNkdsT29yM0dGK3N3VVJBT21VSitSd3RFSnM5V3ZUR0VZeEJYcUkxTVFBWmhDZlVRS1J6RE1WaitUd3JBSVY2anZTVUVrWUFyMUxTa2N5VEJiL1YrS1lmWDd4QWV1c3Ezc0xEdEdIM2tFR0FDUFdJZmxOWmZoUlFBQUFBQkpSVTVFcmtKZ2dnPT0nKTtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgLy8gQmxhY2sgdHJpYW5nbGVcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnZGF0YTppbWFnZS9wbmc7YmFzZTY0LGlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUFDQUFBQUFZQ0FZQUFBQ2JVLzgwQUFBQUdYUkZXSFJUYjJaMGQyRnlaUUJCWkc5aVpTQkpiV0ZuWlZKbFlXUjVjY2xsUEFBQUFNQkpSRUZVZU5yRWxsc09oQ0FNUlZzekM5SWx6VTdLQ21WSFRKc29NV1lNVXRweXY5QmdidVhRQjVaU2RnQllZWTR5Y2dCaXZrOEtZRnNRTWZNaVRUQlA0bzNuVXpDS3pPYWJMSmJMeTIvZzMxZXZHa0FnaW5SNC9aZWdLSDVxWDNiSkNzY0EzdDB4M2tnTzV0UUZ5aGhGZjUweFJxRkxieU1VTkpRemd5akdTL3dnQ3B2S3FrUkJwdVdyRTRWOWQrMUU0ZFBVWHFJZzEwN1NRT0UvMkRSUXhNd1REeWdJSW5WREVUOVQzbENvai82ai9WQ21HalpPbDJsS3BaOEFBd0RRUDd6SWltREdGUUFBQUFCSlJVNUVya0pnZ2c9PScpO1xuICAgIH1cbiAgfVxufVxuXG4vLy8gQXBwbGllcyB0aGUgbWljcm8gY2xlYXJmaXggaGFjayBwb3B1bGFyaXplZCBieSBOaWNvbGFzIEdhbGxhZ2hlci4gSW5jbHVkZSB0aGlzIG1peGluIG9uIGEgY29udGFpbmVyIGlmIGl0cyBjaGlsZHJlbiBhcmUgYWxsIGZsb2F0ZWQsIHRvIGdpdmUgdGhlIGNvbnRhaW5lciBhIHByb3BlciBoZWlnaHQuXG4vLy8gVGhlIGNsZWFyZml4IGlzIGF1Z21lbnRlZCB3aXRoIHNwZWNpZmljIHN0eWxlcyB0byBwcmV2ZW50IGJvcmRlcnMgaW4gZmxleGJveCBlbnZpcm9ubWVudHNcbi8vLyBAbGluayBodHRwOi8vbmljb2xhc2dhbGxhZ2hlci5jb20vbWljcm8tY2xlYXJmaXgtaGFjay8gTWljcm8gQ2xlYXJmaXggSGFja1xuLy8vIEBsaW5rIGh0dHA6Ly9kYW5pc2FkZXNpZ25lci5jb20vYmxvZy9mbGV4Ym94LWNsZWFyLWZpeC1wc2V1ZG8tZWxlbWVudHMvIEZsZXhib3ggZml4XG5AbWl4aW4gY2xlYXJmaXgge1xuICAmOjpiZWZvcmUsXG4gICY6OmFmdGVyIHtcbiAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICBjb250ZW50OiAnICc7XG5cbiAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgIGZsZXgtYmFzaXM6IDA7XG4gICAgICBvcmRlcjogMTtcbiAgICB9XG4gIH1cblxuICAmOjphZnRlciB7XG4gICAgY2xlYXI6IGJvdGg7XG4gIH1cbn1cblxuLy8vIEFkZHMgQ1NTIGZvciBhIFwicXVhbnRpdHkgcXVlcnlcIiBzZWxlY3RvciB0aGF0IGF1dG9tYXRpY2FsbHkgc2l6ZXMgZWxlbWVudHMgYmFzZWQgb24gaG93IG1hbnkgdGhlcmUgYXJlIGluc2lkZSBhIGNvbnRhaW5lci5cbi8vLyBAbGluayBodHRwOi8vYWxpc3RhcGFydC5jb20vYXJ0aWNsZS9xdWFudGl0eS1xdWVyaWVzLWZvci1jc3MgUXVhbnRpdHkgUXVlcmllcyBmb3IgQ1NTXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJG1heCAtIE1heGltdW0gbnVtYmVyIG9mIGl0ZW1zIHRvIGRldGVjdC4gVGhlIGhpZ2hlciB0aGlzIG51bWJlciBpcywgdGhlIG1vcmUgQ1NTIHRoYXQncyByZXF1aXJlZCB0byBjb3ZlciBlYWNoIG51bWJlciBvZiBpdGVtcy5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRlbGVtIFtsaV0gLSBUYWcgdG8gdXNlIGZvciBzaWJsaW5nIHNlbGVjdG9ycy5cbkBtaXhpbiBhdXRvLXdpZHRoKCRtYXgsICRlbGVtOiBsaSkge1xuICBAZm9yICRpIGZyb20gMiB0aHJvdWdoICRtYXgge1xuICAgICY6bnRoLWxhc3QtY2hpbGQoI3skaX0pOmZpcnN0LWNoaWxkLFxuICAgICY6bnRoLWxhc3QtY2hpbGQoI3skaX0pOmZpcnN0LWNoaWxkIH4gI3skZWxlbX0ge1xuICAgICAgd2lkdGg6IHBlcmNlbnRhZ2UoZGl2aWRlKDEsICRpKSk7XG4gICAgfVxuICB9XG59XG5cbi8vLyBSZW1vdmVzIHRoZSBmb2N1cyByaW5nIGFyb3VuZCBhbiBlbGVtZW50IHdoZW4gYSBtb3VzZSBpbnB1dCBpcyBkZXRlY3RlZC5cbkBtaXhpbiBkaXNhYmxlLW1vdXNlLW91dGxpbmUge1xuICBbZGF0YS13aGF0aW5wdXQ9J21vdXNlJ10gJiB7XG4gICAgb3V0bGluZTogMDtcbiAgfVxufVxuXG4vLy8gTWFrZXMgYW4gZWxlbWVudCB2aXN1YWxseSBoaWRkZW4sIGJ1dCBzdGlsbCBhY2Nlc3NpYmxlIHRvIGtleWJvYXJkcyBhbmQgYXNzaXN0aXZlIGRldmljZXMuXG4vLy8gQGxpbmsgaHR0cDovL3Nub29rLmNhL2FyY2hpdmVzL2h0bWxfYW5kX2Nzcy9oaWRpbmctY29udGVudC1mb3ItYWNjZXNzaWJpbGl0eSBIaWRpbmcgQ29udGVudCBmb3IgQWNjZXNzaWJpbGl0eVxuLy8vIEBsaW5rIGh0dHA6Ly9odWdvZ2lyYXVkZWwuY29tLzIwMTYvMTAvMTMvY3NzLWhpZGUtYW5kLXNlZWsvXG4vLy9cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRlbmZvcmNlIC0gSWYgYHRydWVgLCB1c2UgYCFpbXBvcnRhbnRgIG9uIGFwcGxpZWQgcHJvcGVydGllc1xuQG1peGluIGVsZW1lbnQtaW52aXNpYmxlKFxuICAkZW5mb3JjZTogdHJ1ZVxuKSB7XG4gICRpbXBvcnRhbnQ6IGlmKCRlbmZvcmNlLCAnIWltcG9ydGFudCcsIG51bGwpO1xuXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZSAjeyRpbXBvcnRhbnR9O1xuICB3aWR0aDogMXB4ICN7JGltcG9ydGFudH07XG4gIGhlaWdodDogMXB4ICN7JGltcG9ydGFudH07XG4gIHBhZGRpbmc6IDAgI3skaW1wb3J0YW50fTtcbiAgb3ZlcmZsb3c6IGhpZGRlbiAjeyRpbXBvcnRhbnR9O1xuICBjbGlwOiByZWN0KDAsIDAsIDAsIDApICN7JGltcG9ydGFudH07XG4gIHdoaXRlLXNwYWNlOiBub3dyYXAgI3skaW1wb3J0YW50fTtcbiAgYm9yZGVyOiAwICN7JGltcG9ydGFudH07XG59XG5cbi8vLyBSZXZlcnNlcyB0aGUgQ1NTIG91dHB1dCBjcmVhdGVkIGJ5IHRoZSBgZWxlbWVudC1pbnZpc2libGUoKWAgbWl4aW4uXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkZW5mb3JjZSAtIElmIGB0cnVlYCwgdXNlIGAhaW1wb3J0YW50YCBvbiBhcHBsaWVkIHByb3BlcnRpZXNcbkBtaXhpbiBlbGVtZW50LWludmlzaWJsZS1vZmYoXG4gICRlbmZvcmNlOiB0cnVlXG4pIHtcbiAgJGltcG9ydGFudDogaWYoJGVuZm9yY2UsICchaW1wb3J0YW50JywgbnVsbCk7XG5cbiAgcG9zaXRpb246IHN0YXRpYyAjeyRpbXBvcnRhbnR9O1xuICB3aWR0aDogYXV0byAjeyRpbXBvcnRhbnR9O1xuICBoZWlnaHQ6IGF1dG8gI3skaW1wb3J0YW50fTtcbiAgb3ZlcmZsb3c6IHZpc2libGUgI3skaW1wb3J0YW50fTtcbiAgY2xpcDogYXV0byAjeyRpbXBvcnRhbnR9O1xuICB3aGl0ZS1zcGFjZTogbm9ybWFsICN7JGltcG9ydGFudH07XG59XG5cbi8vLyBWZXJ0aWNhbGx5IGNlbnRlcnMgdGhlIGVsZW1lbnQgaW5zaWRlIG9mIGl0cyBmaXJzdCBub24tc3RhdGljIHBhcmVudCxcbi8vLyBAbGluayBodHRwOi8vd3d3LnNpdGVwb2ludC5jb20vY2VudGVyaW5nLXdpdGgtc2Fzcy8gQ2VudGVyaW5nIFdpdGggU2Fzc1xuQG1peGluIHZlcnRpY2FsLWNlbnRlciB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA1MCU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbn1cblxuLy8vIEhvcml6b250YWxseSBjZW50ZXJzIHRoZSBlbGVtZW50IGluc2lkZSBvZiBpdHMgZmlyc3Qgbm9uLXN0YXRpYyBwYXJlbnQsXG4vLy8gQGxpbmsgaHR0cDovL3d3dy5zaXRlcG9pbnQuY29tL2NlbnRlcmluZy13aXRoLXNhc3MvIENlbnRlcmluZyBXaXRoIFNhc3NcbkBtaXhpbiBob3Jpem9udGFsLWNlbnRlciB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbGVmdDogNTAlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG59XG5cbi8vLyBBYnNvbHV0ZWx5IGNlbnRlcnMgdGhlIGVsZW1lbnQgaW5zaWRlIG9mIGl0cyBmaXJzdCBub24tc3RhdGljIHBhcmVudCxcbi8vLyBAbGluayBodHRwOi8vd3d3LnNpdGVwb2ludC5jb20vY2VudGVyaW5nLXdpdGgtc2Fzcy8gQ2VudGVyaW5nIFdpdGggU2Fzc1xuQG1peGluIGFic29sdXRlLWNlbnRlciB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA1MCU7XG4gIGxlZnQ6IDUwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG59XG5cbi8vLyBJdGVyYXRlcyB0aHJvdWdoIGJyZWFrcG9pbnRzIGRlZmluZWQgaW4gYCRicmVha3BvaW50LWNsYXNzZXNgIGFuZCBwcmludHMgdGhlIENTUyBpbnNpZGUgdGhlIG1peGluIGF0IGVhY2ggYnJlYWtwb2ludCdzIG1lZGlhIHF1ZXJ5LiBVc2UgdGhpcyB3aXRoIHRoZSBncmlkLCBvciBhbnkgb3RoZXIgY29tcG9uZW50IHRoYXQgaGFzIHJlc3BvbnNpdmUgY2xhc3Nlcy5cbi8vL1xuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJHNtYWxsIFt0cnVlXSAtIElmIGBmYWxzZWAsIHRoZSBtaXhpbiB3aWxsIHNraXAgdGhlIGBzbWFsbGAgYnJlYWtwb2ludC4gVXNlIHRoaXMgd2l0aCBjb21wb25lbnRzIHRoYXQgZG9uJ3QgcHJlZml4IGNsYXNzZXMgd2l0aCBgc21hbGwtYCwgb25seSBgbWVkaXVtLWAgYW5kIHVwLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJGF1dG8taW5zZXJ0LWJyZWFrcG9pbnRzIFt0cnVlXSAtIElmIGBmYWxzZWAsIHRoZSBtaXhpbiB3aWxsIGl0ZXJhdGUgb3ZlciBicmVha3BvaW50cyB3aXRob3V0IGRvaW5nIHRoZSBtZWRpYSBxdWVyeSBpdHNlbGYuIFVzZWZ1bCBmb3IgbW9yZSBjb21wbGV4IG1lZGlhIHF1ZXJ5IGdlbmVyYXRpb24gYXMgaW4gdGhlIG1hcmdpbiBncmlkLlxuQG1peGluIC16Zi1lYWNoLWJyZWFrcG9pbnQoXG4gICRzbWFsbDogdHJ1ZSxcbiAgJGF1dG8taW5zZXJ0LWJyZWFrcG9pbnRzOiB0cnVlXG4pIHtcbiAgQGluY2x1ZGUgLXpmLWVhY2gtYnJlYWtwb2ludC1pbihhdXRvLCAtemYtYm9vbCgkc21hbGwpLCAtemYtYm9vbCgkYXV0by1pbnNlcnQtYnJlYWtwb2ludHMpKSB7XG4gICAgQGNvbnRlbnRcbiAgfTtcbn1cblxuLy8vIEl0ZXJhdGVzIHdpdGggYEBjb250ZW50YCB0aHJvdWdoIHRoZSBnaXZlbiBsaXN0IG9mIGJyZWFrcG9pbnRzIGAkYnJlYWtwb2ludHNgLlxuLy8vXG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy9cbi8vLyBAcGFyYW0ge0tleXdvcmR8TGlzdH0gJGJyZWFrcG9pbnRzIFthdXRvXSAtIEJyZWFrcG9pbnRzIHRvIGl0ZXJhdGVzIG9uLiBJdCBjYW4gYmUgYSBicmVha3BvaW50IG5hbWUsIGxpc3Qgb2YgYnJlYWtwb2ludHMgb3IgYGF1dG9gIGZvciBhbGwgYnJlYWtwb2ludHMuXG4vLy8gQHBhcmFtIHtCb29sZWFufE51bGx9ICR6ZXJvLWJyZWFrcG9pbnQgW251bGxdIC0gV2hldGhlciB0aGUgemVyby1icmVha3BvaW50IChvZnRlbiBgc21hbGxgKSBtdXN0IGJlIGluY2x1ZGVkLiBJZiBgdHJ1ZWAsIGl0IHdpbGwgYWx3YXlzIGJlIGFkZGVkIHRvIHRoZSBsaXN0IGlmIG5vdCBhbHJlYWR5IHRoZXJlLiBJZiBgZmFsc2VgLCBpdCB3aWxsIGFsd2F5cyBiZSByZW1vdmVkLiBEb2VzIG5vdGhpbmcgYnkgZGVmYXVsdC5cbi8vLyBAcGFyYW0ge0Jvb2xlYW58S2V5d29yZH0gJG1lZGlhLXF1ZXJpZXMgW3RydWVdIC0gV2hldGhlciBtZWRpYS1xdWVyaWVzIG11c3QgYmUgZ2VuZXJhdGVkLiBJZiBgZm9yLWxpc3RzYCwgb25seSBnZW5lcmF0ZSBtZWRpYS1xdWVyaWVzIHdoZW4gYCRicmVha3BvaW50c2AgaXMgYSBsaXN0LlxuQG1peGluIC16Zi1lYWNoLWJyZWFrcG9pbnQtaW4oXG4gICRicmVha3BvaW50czogYXV0byxcbiAgJHplcm8tYnJlYWtwb2ludDogbnVsbCxcbiAgJG1lZGlhLXF1ZXJpZXM6IHRydWVcbikge1xuICAkLWxpc3Q6ICgpO1xuICAkLWJyZWFrcG9pbnRzLWlzLWEtbGlzdDogdHJ1ZTtcblxuICAvLyBSZXRyaWV2ZSB0aGUgbGlzdCBvZiBicmVha3BvaW50KHMpIHRvIGl0ZXJhdGUgb24uXG4gIEBpZiAkYnJlYWtwb2ludHMgPT0gYXV0byB7XG4gICAgJC1saXN0OiAkYnJlYWtwb2ludC1jbGFzc2VzO1xuICB9XG4gIEBlbHNlIGlmIHR5cGUtb2YoJGJyZWFrcG9pbnRzKSA9PSAnbGlzdCcge1xuICAgICQtbGlzdDogJGJyZWFrcG9pbnRzO1xuICB9XG4gIEBlbHNlIGlmIHR5cGUtb2YoJGJyZWFrcG9pbnRzKSA9PSAnc3RyaW5nJyB7XG4gICAgJC1saXN0OiAoJGJyZWFrcG9pbnRzKTtcbiAgICAkLWJyZWFrcG9pbnRzLWlzLWEtbGlzdDogZmFsc2U7XG4gIH1cbiAgQGVsc2Uge1xuICAgIEBlcnJvciAnV3Jvbmcgc3ludGF4IGZvciBcIiRicmVha3BvaW50c1wiIGluIFwiLXpmLWVhY2gtYnJlYWtwb2ludC1pbigpXCIuIEdvdCBcIiN7JGJyZWFrcG9pbnRzfVwiICgje3R5cGUtb2YoJGJyZWFrcG9pbnRzKX0pLiBFeHBlY3RlZCBhIGJyZWFrcG9pbnQgbmFtZSwgYSBsaXN0IG9mIGJyZWFrcG9pbnRzIG9yIFwiYXV0b1wiJztcbiAgfVxuXG4gIC8vIEFkZCBvciByZW1vdmUgdGhlIHplcm8gYnJlYWtwb2ludCBhY2NvcmRpbmcgdG8gYCR6ZXJvLWJyZWFrcG9pbnRgXG4gIEBpZiAkemVyby1icmVha3BvaW50ID09IHRydWUge1xuICAgICQtbGlzdDogam9pbigoJC16Zi16ZXJvLWJyZWFrcG9pbnQpLCBzbC1yZW1vdmUoJC1saXN0LCAkLXpmLXplcm8tYnJlYWtwb2ludCkpO1xuICB9XG4gIEBlbHNlIGlmICR6ZXJvLWJyZWFrcG9pbnQgPT0gZmFsc2Uge1xuICAgICQtbGlzdDogc2wtcmVtb3ZlKCQtbGlzdCwgJC16Zi16ZXJvLWJyZWFrcG9pbnQpO1xuICB9XG5cbiAgLy8gSXRlcmF0ZSBvbiBicmVha3BvaW50KHMpXG4gIEBlYWNoICRicCBpbiAkLWxpc3Qge1xuICAgICRvbGQtemYtc2l6ZTogbnVsbDtcbiAgICBAaWYgZ2xvYmFsLXZhcmlhYmxlLWV4aXN0cygtemYtc2l6ZSkge1xuICAgICAgJG9sZC16Zi1zaXplOiAkLXpmLXNpemU7XG4gICAgfVxuICAgICQtemYtc2l6ZTogJGJwICFnbG9iYWw7XG5cbiAgICBAaWYgKCRtZWRpYS1xdWVyaWVzID09IHRydWUgb3IgKCRtZWRpYS1xdWVyaWVzID09ICdmb3ItbGlzdHMnIGFuZCAkLWJyZWFrcG9pbnRzLWlzLWEtbGlzdCkpIHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGJwKSB7XG4gICAgICAgIEBjb250ZW50O1xuICAgICAgfVxuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG5cbiAgICAkLXpmLXNpemU6ICRvbGQtemYtc2l6ZSAhZ2xvYmFsO1xuICB9XG59XG5cbi8vLyBHZW5lcmF0ZSB0aGUgYEBjb250ZW50YCBwYXNzZWQgdG8gdGhlIG1peGluIHdpdGggYSB2YWx1ZSBgJC16Zi1icC12YWx1ZWAgcmVsYXRlZCB0byBhIGJyZWFrcG9pbnQsIGRlcGVuZGluZyBvbiB0aGUgYCRuYW1lYCBwYXJhbWV0ZXI6XG4vLy8gLSBGb3IgYSBzaW5nbGUgdmFsdWUsIGAkLXpmLWJwLXZhbHVlYCBpcyB0aGlzIHZhbHVlLlxuLy8vIC0gRm9yIGEgYnJlYWtwb2ludCBuYW1lLCBgJC16Zi1icC12YWx1ZWAgaXMgdGhlIGNvcnJlc3BvbmRpbmcgYnJlYWtwb2ludCB2YWx1ZSBpbiBgJG1hcGAuXG4vLy8gLSBGb3IgXCJhdXRvXCIsIGAkLXpmLWJwLXZhbHVlYCBpcyB0aGUgY29ycmVzcG9uZGluZyBicmVha3BvaW50IHZhbHVlIGluIGAkbWFwYCBhbmQgaXMgcGFzc2VkIHRvIGBAY29udGVudGAsIHdoaWNoIGlzIG1hZGUgcmVzcG9uc2l2ZSBmb3IgZWFjaCBicmVha3BvaW50IG9mIGAkbWFwYC5cbi8vLyBAcGFyYW0ge051bWJlcnxBcnJheXxLZXl3b3JkfSAkbmFtZSBbYXV0b10gLSBTaW5nbGUgdmFsdWUsIGJyZWFrcG9pbnQgbmFtZSwgb3IgbGlzdCBvZiBicmVha3BvaW50IG5hbWVzIHRvIHVzZS4gXCJhdXRvXCIgYnkgZGVmYXVsdC5cbi8vLyBAcGFyYW0ge051bWJlcnxNYXB9ICRtYXAgLSBNYXAgb2YgYnJlYWtwb2ludHMgYW5kIHZhbHVlcyBvciBzaW5nbGUgdmFsdWUgdG8gdXNlLlxuQG1peGluIC16Zi1icmVha3BvaW50LXZhbHVlKFxuICAkbmFtZTogYXV0byxcbiAgJG1hcDogbnVsbFxuKSB7XG4gIEBpZiAkbmFtZSA9PSBhdXRvIGFuZCB0eXBlLW9mKCRtYXApID09ICdtYXAnIHtcbiAgICAvLyBcImF1dG9cIlxuICAgIEBlYWNoICRrLCAkdiBpbiAkbWFwIHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGspIHtcbiAgICAgICAgQGluY2x1ZGUgLXpmLWJyZWFrcG9pbnQtdmFsdWUoJHYsICRtYXApIHtcbiAgICAgICAgICBAY29udGVudDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuICBAZWxzZSB7XG4gICAgLy8gYnJlYWtwb2ludCBuYW1lXG4gICAgQGlmIHR5cGUtb2YoJG5hbWUpID09ICdzdHJpbmcnIHtcbiAgICAgICRicC12YWx1ZTogLXpmLWdldC1icC12YWwoJG1hcCwgJG5hbWUpO1xuICAgICAgQGlmICRicC12YWx1ZSAhPSBudWxsIHtcbiAgICAgICAgJG5hbWU6ICRicC12YWx1ZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBicmVha3BvaW50IHZhbHVlXG4gICAgJC16Zi1icC12YWx1ZTogJG5hbWUgIWdsb2JhbDtcbiAgICBAY29udGVudDtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHR5cG9ncmFwaHktYmFzZVxuLy8vL1xuXG4vLyBCYXNlIFR5cG9ncmFwaHlcbi8vIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtXG4vLyBUaGVzZSBhcmUgc3R5bGVzIGFwcGxpZWQgdG8gYmFzaWMgSFRNTCB0YWdzLCBpbmNsdWRpbmc6XG4vLyAgIC0gUGFyYWdyYXBocyA8cD5cbi8vICAgLSBCb2xkL2l0YWxpY3MgPGI+IDxzdHJvbmc+IDxpPiA8ZW0+XG4vLyAgIC0gU21hbGwgdGV4dCA8c21hbGw+XG4vLyAgIC0gSGVhZGluZ3MgPGgxPi08aDY+XG4vLyAgIC0gQW5jaG9ycyA8YT5cbi8vICAgLSBEaXZpZGVycyA8aHI+XG4vLyAgIC0gTGlzdHMgPHVsPiA8b2w+IDxkbD5cbi8vICAgLSBCbG9ja3F1b3RlcyA8YmxvY2txdW90ZT5cbi8vICAgLSBDb2RlIGJsb2NrcyA8Y29kZT5cbi8vICAgLSBBYmJyZXZpYXRpb25zIDxhYmJyPlxuLy8gICAtIENpdGF0aW9ucyA8Y2l0ZT5cbi8vICAgLSBLZXlzdHJva2VzIDxrYmQ+XG5cbi8vLyBGb250IGZhbWlseSBmb3IgaGVhZGVyIGVsZW1lbnRzLlxuLy8vIEB0eXBlIFN0cmluZyB8IExpc3RcbiRoZWFkZXItZm9udC1mYW1pbHk6ICRib2R5LWZvbnQtZmFtaWx5ICFkZWZhdWx0O1xuXG4vLy8gRm9udCB3ZWlnaHQgb2YgaGVhZGVycy5cbi8vLyBAdHlwZSBTdHJpbmdcbiRoZWFkZXItZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LW5vcm1hbCAhZGVmYXVsdDtcblxuLy8vIEZvbnQgc3R5bGUgKGUuZy4gaXRhbGljaXplZCkgb2YgaGVhZGVycy5cbi8vLyBAdHlwZSBTdHJpbmdcbiRoZWFkZXItZm9udC1zdHlsZTogbm9ybWFsICFkZWZhdWx0O1xuXG4vLy8gRm9udCBzdGFjayB1c2VkIGZvciBlbGVtZW50cyB0aGF0IHVzZSBtb25vc3BhY2VkIHR5cGUsIHN1Y2ggYXMgY29kZSBzYW1wbGVzXG4vLy8gQHR5cGUgU3RyaW5nIHwgTGlzdFxuJGZvbnQtZmFtaWx5LW1vbm9zcGFjZTogQ29uc29sYXMsICdMaWJlcmF0aW9uIE1vbm8nLCBDb3VyaWVyLCBtb25vc3BhY2UgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciBvZiBoZWFkZXJzLlxuLy8vIEB0eXBlIENvbG9yXG4kaGVhZGVyLWNvbG9yOiBpbmhlcml0ICFkZWZhdWx0O1xuXG4vLy8gTGluZSBoZWlnaHQgb2YgaGVhZGVycy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRoZWFkZXItbGluZWhlaWdodDogMS40ICFkZWZhdWx0O1xuXG4vLy8gQm90dG9tIG1hcmdpbiBvZiBoZWFkZXJzLlxuLy8vIEB0eXBlIE51bWJlclxuJGhlYWRlci1tYXJnaW4tYm90dG9tOiAwLjVyZW0gIWRlZmF1bHQ7XG5cbi8vLyBTdHlsZXMgZm9yIGhlYWRpbmdzIGF0IHZhcmlvdXMgc2NyZWVuIHNpemVzLiBFYWNoIGtleSBpcyBhIGJyZWFrcG9pbnQsIGFuZCBlYWNoIHZhbHVlIGlzIGEgbWFwIG9mIGhlYWRpbmcgc3R5bGVzLlxuLy8vIEB0eXBlIE1hcFxuJGhlYWRlci1zdHlsZXM6IChcbiAgc21hbGw6IChcbiAgICAnaDEnOiAoJ2ZvbnQtc2l6ZSc6IDI0KSxcbiAgICAnaDInOiAoJ2ZvbnQtc2l6ZSc6IDIwKSxcbiAgICAnaDMnOiAoJ2ZvbnQtc2l6ZSc6IDE5KSxcbiAgICAnaDQnOiAoJ2ZvbnQtc2l6ZSc6IDE4KSxcbiAgICAnaDUnOiAoJ2ZvbnQtc2l6ZSc6IDE3KSxcbiAgICAnaDYnOiAoJ2ZvbnQtc2l6ZSc6IDE2KSxcbiAgKSxcbiAgbWVkaXVtOiAoXG4gICAgJ2gxJzogKCdmb250LXNpemUnOiA0OCksXG4gICAgJ2gyJzogKCdmb250LXNpemUnOiA0MCksXG4gICAgJ2gzJzogKCdmb250LXNpemUnOiAzMSksXG4gICAgJ2g0JzogKCdmb250LXNpemUnOiAyNSksXG4gICAgJ2g1JzogKCdmb250LXNpemUnOiAyMCksXG4gICAgJ2g2JzogKCdmb250LXNpemUnOiAxNiksXG4gICksXG4pICFkZWZhdWx0O1xuXG4vLyAkaGVhZGVyLXN0eWxlcyBtYXAgaXMgYnVpbHQgZnJvbSAkaGVhZGVyLXNpemVzIGluIG9yZGVyIHRvIGVuc3VyZSBkb3dud2FyZCBjb21wYXRpYmlsaXR5XG4vLyB3aGVuICRoZWFkZXItc2l6ZXMgaXMgZGVwcmVjaWF0ZWQsICRoZWFkZXItc3R5bGVzIG5lZWRzIHRvIGdldCAhZGVmYXVsdCB2YWx1ZXMgbGlrZSBzZXR0aW5ncy5zY3NzXG5AZnVuY3Rpb24gYnVpbGQtZnJvbS1oZWFkZXItc2l6ZXMoJGhlYWRlci1zaXplcykge1xuICBAd2FybiAnTm90ZSwgdGhhdCAkaGVhZGVyLXNpemVzIGhhcyBiZWVuIHJlcGxhY2VkIHdpdGggJGhlYWRlci1zdHlsZXMuICRoZWFkZXItc2l6ZXMgc3RpbGwgd29ya3MsIGJ1dCBpdCBpcyBnb2luZyB0byBiZSBkZXByZWNpYXRlZC4nO1xuICAkaGVhZGVyLXN0eWxlczogKCk7XG4gIEBlYWNoICRzaXplLCAkaGVhZGVycyBpbiAkaGVhZGVyLXNpemVzIHtcbiAgICAkaGVhZGVyLW1hcDogKCk7XG4gICAgQGVhY2ggJGhlYWRlciwgJGZvbnQtc2l6ZSBpbiAkaGVhZGVycyB7XG4gICAgICAkaGVhZGVyLW1hcDogbWFwLW1lcmdlKCRoZWFkZXItbWFwLCAoJGhlYWRlcjogKCdmb250LXNpemUnOiAkZm9udC1zaXplKSkpO1xuICAgIH1cbiAgICAkaGVhZGVyLXN0eWxlczogbWFwLW1lcmdlKCRoZWFkZXItc3R5bGVzLCAoJHNpemU6ICRoZWFkZXItbWFwKSk7XG4gIH1cbiAgQHJldHVybiAkaGVhZGVyLXN0eWxlcztcbn1cblxuLy8gSWYgaXQgZXhpc3RzICRoZWFkZXJzLXNpemVzIGlzIHVzZWQgdG8gYnVpbGQgJGhlYWRlci1zdHlsZXMuIFNlZSB0aGUgZG9jdW1lbnRhdGlvbi5cbkBpZiB2YXJpYWJsZS1leGlzdHMoaGVhZGVyLXNpemVzKSB7XG4gICRoZWFkZXItc3R5bGVzOiBidWlsZC1mcm9tLWhlYWRlci1zaXplcygkaGVhZGVyLXNpemVzKTtcbn1cblxuLy8vIFRleHQgcmVuZGVyaW5nIG1ldGhvZCBvZiBoZWFkZXJzLlxuLy8vIEB0eXBlIFN0cmluZ1xuJGhlYWRlci10ZXh0LXJlbmRlcmluZzogb3B0aW1pemVMZWdpYmlsaXR5ICFkZWZhdWx0O1xuXG4vLy8gRm9udCBzaXplIG9mIGA8c21hbGw+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRzbWFsbC1mb250LXNpemU6IDgwJSAhZGVmYXVsdDtcblxuLy8vIENvbG9yIG9mIGA8c21hbGw+YCBlbGVtZW50cyB3aGVuIHBsYWNlZCBpbnNpZGUgaGVhZGVycy5cbi8vLyBAdHlwZSBDb2xvclxuJGhlYWRlci1zbWFsbC1mb250LWNvbG9yOiAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBMaW5lIGhlaWdodCBvZiB0ZXh0IGluc2lkZSBgPHA+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRwYXJhZ3JhcGgtbGluZWhlaWdodDogMS42ICFkZWZhdWx0O1xuXG4vLy8gQm90dG9tIG1hcmdpbiBvZiBwYXJhZ3JhcGhzLlxuLy8vIEB0eXBlIE51bWJlclxuJHBhcmFncmFwaC1tYXJnaW4tYm90dG9tOiAxcmVtICFkZWZhdWx0O1xuXG4vLy8gVGV4dCByZW5kZXJpbmcgbWV0aG9kIGZvciBwYXJhZ3JhcGggdGV4dC5cbi8vLyBAdHlwZSBTdHJpbmdcbiRwYXJhZ3JhcGgtdGV4dC1yZW5kZXJpbmc6IG9wdGltaXplTGVnaWJpbGl0eSAhZGVmYXVsdDtcblxuLy8vIFVzZSB0aGUgYC5jb2RlLWlubGluZWAgY29tcG9uZW50IGFzIGRlZmF1bHQgZm9yIGA8Y29kZT5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRlbmFibGUtY29kZS1pbmxpbmU6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGNvbG9yIGZvciBsaW5rcy5cbi8vLyBAdHlwZSBDb2xvclxuJGFuY2hvci1jb2xvcjogJHByaW1hcnktY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGNvbG9yIGZvciBsaW5rcyBvbiBob3Zlci5cbi8vLyBAdHlwZSBDb2xvclxuJGFuY2hvci1jb2xvci1ob3Zlcjogc2NhbGUtY29sb3IoJGFuY2hvci1jb2xvciwgJGxpZ2h0bmVzczogLTE0JSkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHRleHQgZGVjb3JhdGlvbiBmb3IgbGlua3MuXG4vLy8gQHR5cGUgU3RyaW5nXG4kYW5jaG9yLXRleHQtZGVjb3JhdGlvbjogbm9uZSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgdGV4dCBkZWNvcmF0aW9uIGZvciBsaW5rcyBvbiBob3Zlci5cbi8vLyBAdHlwZSBTdHJpbmdcbiRhbmNob3ItdGV4dC1kZWNvcmF0aW9uLWhvdmVyOiBub25lICFkZWZhdWx0O1xuXG4vLy8gTWF4aW11bSB3aWR0aCBvZiBhIGRpdmlkZXIuXG4vLy8gQHR5cGUgTnVtYmVyXG4kaHItd2lkdGg6ICRnbG9iYWwtd2lkdGggIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJvcmRlciBmb3IgYSBkaXZpZGVyLlxuLy8vIEB0eXBlIExpc3RcbiRoci1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IG1hcmdpbiBmb3IgYSBkaXZpZGVyLlxuLy8vIEB0eXBlIE51bWJlciB8IExpc3RcbiRoci1tYXJnaW46IHJlbS1jYWxjKDIwKSBhdXRvICFkZWZhdWx0O1xuXG4vLy8gTGluZSBoZWlnaHQgZm9yIGl0ZW1zIGluIGEgbGlzdC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRsaXN0LWxpbmVoZWlnaHQ6ICRwYXJhZ3JhcGgtbGluZWhlaWdodCAhZGVmYXVsdDtcblxuLy8vIEJvdHRvbSBtYXJnaW4gZm9yIGl0ZW1zIGluIGEgbGlzdC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRsaXN0LW1hcmdpbi1ib3R0b206ICRwYXJhZ3JhcGgtbWFyZ2luLWJvdHRvbSAhZGVmYXVsdDtcblxuLy8vIEJ1bGxldCB0eXBlIHRvIHVzZSBmb3IgdW5vcmRlcmVkIGxpc3RzIChlLmcuLCBgc3F1YXJlYCwgYGNpcmNsZWAsIGBkaXNjYCkuXG4vLy8gQHR5cGUgU3RyaW5nXG4kbGlzdC1zdHlsZS10eXBlOiBkaXNjICFkZWZhdWx0O1xuXG4vLy8gUG9zaXRpb25pbmcgZm9yIGJ1bGxldHMgb24gdW5vcmRlcmVkIGxpc3QgaXRlbXMuXG4vLy8gQHR5cGUgU3RyaW5nXG4kbGlzdC1zdHlsZS1wb3NpdGlvbjogb3V0c2lkZSAhZGVmYXVsdDtcblxuLy8vIExlZnQgKG9yIHJpZ2h0KSBtYXJnaW4gZm9yIGxpc3RzLlxuLy8vIEB0eXBlIE51bWJlclxuJGxpc3Qtc2lkZS1tYXJnaW46IDEuMjVyZW0gIWRlZmF1bHQ7XG5cbi8vLyBMZWZ0IChvciByaWdodCkgbWFyZ2luIGZvciBhIGxpc3QgaW5zaWRlIGEgbGlzdC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRsaXN0LW5lc3RlZC1zaWRlLW1hcmdpbjogMS4yNXJlbSAhZGVmYXVsdDtcblxuLy8vIEJvdHRvbSBtYXJnaW4gZm9yIGA8ZGw+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRkZWZubGlzdC1tYXJnaW4tYm90dG9tOiAxcmVtICFkZWZhdWx0O1xuXG4vLy8gRm9udCB3ZWlnaHQgZm9yIGA8ZHQ+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBTdHJpbmdcbiRkZWZubGlzdC10ZXJtLXdlaWdodDogJGdsb2JhbC13ZWlnaHQtYm9sZCAhZGVmYXVsdDtcblxuLy8vIFNwYWNpbmcgYmV0d2VlbiBgPGR0PmAgYW5kIGA8ZGQ+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRkZWZubGlzdC10ZXJtLW1hcmdpbi1ib3R0b206IDAuM3JlbSAhZGVmYXVsdDtcblxuLy8vIFRleHQgY29sb3Igb2YgYDxibG9ja3F1b3RlPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRibG9ja3F1b3RlLWNvbG9yOiAkZGFyay1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gUGFkZGluZyBpbnNpZGUgYSBgPGJsb2NrcXVvdGU+YCBlbGVtZW50LlxuLy8vIEB0eXBlIE51bWJlciB8IExpc3RcbiRibG9ja3F1b3RlLXBhZGRpbmc6IHJlbS1jYWxjKDkgMjAgMCAxOSkgIWRlZmF1bHQ7XG5cbi8vLyBTaWRlIGJvcmRlciBmb3IgYDxibG9ja3F1b3RlPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgTGlzdFxuJGJsb2NrcXVvdGUtYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gVXNlIHRoZSBgLmNpdGUtYmxvY2tgIGNvbXBvbmVudCBhcyBkZWZhdWx0IGZvciBgPGNpdGU+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBCb29sZWFuXG4kZW5hYmxlLWNpdGUtYmxvY2s6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLyBGb250IGZhbWlseSBmb3IgYDxrYmQ+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBTdHJpbmcgfCBMaXN0XG4ka2V5c3Ryb2tlLWZvbnQ6ICRmb250LWZhbWlseS1tb25vc3BhY2UgIWRlZmF1bHQ7XG5cbi8vLyBUZXh0IGNvbG9yIGZvciBgPGtiZD5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIENvbG9yXG4ka2V5c3Ryb2tlLWNvbG9yOiAkYmxhY2sgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIGZvciBgPGtiZD5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIENvbG9yXG4ka2V5c3Ryb2tlLWJhY2tncm91bmQ6ICRsaWdodC1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gUGFkZGluZyBmb3IgYDxrYmQ+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBOdW1iZXIgfCBMaXN0XG4ka2V5c3Ryb2tlLXBhZGRpbmc6IHJlbS1jYWxjKDIgNCAwKSAhZGVmYXVsdDtcblxuLy8vIEJvcmRlciByYWRpdXMgZm9yIGA8a2JkPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgTnVtYmVyIHwgTGlzdFxuJGtleXN0cm9rZS1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICFkZWZhdWx0O1xuXG4vLy8gQm90dG9tIGJvcmRlciBzdHlsZSBmb3IgYDxhYmJyPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgTGlzdFxuJGFiYnItdW5kZXJsaW5lOiAxcHggZG90dGVkICRibGFjayAhZGVmYXVsdDtcblxuQG1peGluIGZvdW5kYXRpb24tdHlwb2dyYXBoeS1iYXNlIHtcbiAgLy8gVHlwb2dyYXBoeSByZXNldHNcbiAgZGl2LFxuICBkbCxcbiAgZHQsXG4gIGRkLFxuICB1bCxcbiAgb2wsXG4gIGxpLFxuICBoMSxcbiAgaDIsXG4gIGgzLFxuICBoNCxcbiAgaDUsXG4gIGg2LFxuICBwcmUsXG4gIGZvcm0sXG4gIHAsXG4gIGJsb2NrcXVvdGUsXG4gIHRoLFxuICB0ZCB7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gIH1cblxuICAvLyBQYXJhZ3JhcGhzXG4gIHAge1xuICAgIG1hcmdpbi1ib3R0b206ICRwYXJhZ3JhcGgtbWFyZ2luLWJvdHRvbTtcblxuICAgIGZvbnQtc2l6ZTogaW5oZXJpdDtcbiAgICBsaW5lLWhlaWdodDogJHBhcmFncmFwaC1saW5laGVpZ2h0O1xuICAgIHRleHQtcmVuZGVyaW5nOiAkcGFyYWdyYXBoLXRleHQtcmVuZGVyaW5nO1xuICB9XG5cbiAgLy8gRW1waGFzaXplZCB0ZXh0XG4gIGVtLFxuICBpIHtcbiAgICBmb250LXN0eWxlOiBpdGFsaWM7XG4gICAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XG4gIH1cblxuICAvLyBTdHJvbmcgdGV4dFxuICBzdHJvbmcsXG4gIGIge1xuICAgIGZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ib2xkO1xuICAgIGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xuICB9XG5cbiAgLy8gU21hbGwgdGV4dFxuICBzbWFsbCB7XG4gICAgZm9udC1zaXplOiAkc21hbGwtZm9udC1zaXplO1xuICAgIGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xuICB9XG5cbiAgLy8gSGVhZGluZ3NcbiAgaDEsIC5oMSxcbiAgaDIsIC5oMixcbiAgaDMsIC5oMyxcbiAgaDQsIC5oNCxcbiAgaDUsIC5oNSxcbiAgaDYsIC5oNiB7XG4gICAgZm9udC1mYW1pbHk6ICRoZWFkZXItZm9udC1mYW1pbHk7XG4gICAgZm9udC1zdHlsZTogJGhlYWRlci1mb250LXN0eWxlO1xuICAgIGZvbnQtd2VpZ2h0OiAkaGVhZGVyLWZvbnQtd2VpZ2h0O1xuICAgIGNvbG9yOiAkaGVhZGVyLWNvbG9yO1xuICAgIHRleHQtcmVuZGVyaW5nOiAkaGVhZGVyLXRleHQtcmVuZGVyaW5nO1xuXG4gICAgc21hbGwge1xuICAgICAgbGluZS1oZWlnaHQ6IDA7XG4gICAgICBjb2xvcjogJGhlYWRlci1zbWFsbC1mb250LWNvbG9yO1xuICAgIH1cbiAgfVxuXG4gIC8vIEhlYWRpbmcgc3R5bGVzXG4gIEBlYWNoICRzaXplLCAkaGVhZGVycyBpbiAkaGVhZGVyLXN0eWxlcyB7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkc2l6ZSkge1xuICAgICAgQGVhY2ggJGhlYWRlciwgJGhlYWRlci1kZWZzIGluICRoZWFkZXJzIHtcbiAgICAgICAgJGZvbnQtc2l6ZS10ZW1wOiAxcmVtO1xuICAgICAgICAjeyRoZWFkZXJ9LCAuI3skaGVhZGVyfSB7XG5cbiAgICAgICAgICBAaWYgbWFwLWhhcy1rZXkoJGhlYWRlci1kZWZzLCBmb250LXNpemUpIHtcbiAgICAgICAgICAgICRmb250LXNpemUtdGVtcDogcmVtLWNhbGMobWFwLWdldCgkaGVhZGVyLWRlZnMsIGZvbnQtc2l6ZSkpO1xuICAgICAgICAgICAgZm9udC1zaXplOiAkZm9udC1zaXplLXRlbXA7XG4gICAgICAgICAgfSBAZWxzZSBpZiBtYXAtaGFzLWtleSgkaGVhZGVyLWRlZnMsIGZzKSB7XG4gICAgICAgICAgICAkZm9udC1zaXplLXRlbXA6IHJlbS1jYWxjKG1hcC1nZXQoJGhlYWRlci1kZWZzLCBmcykpO1xuICAgICAgICAgICAgZm9udC1zaXplOiAkZm9udC1zaXplLXRlbXA7XG4gICAgICAgICAgfSBAZWxzZSBpZiAkc2l6ZSA9PSAkLXpmLXplcm8tYnJlYWtwb2ludCB7XG4gICAgICAgICAgICBmb250LXNpemU6ICRmb250LXNpemUtdGVtcDtcbiAgICAgICAgICB9XG4gICAgICAgICAgQGlmIG1hcC1oYXMta2V5KCRoZWFkZXItZGVmcywgbGluZS1oZWlnaHQpIHtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiB1bml0bGVzcy1jYWxjKG1hcC1nZXQoJGhlYWRlci1kZWZzLCBsaW5lLWhlaWdodCksICRmb250LXNpemUtdGVtcCk7XG4gICAgICAgICAgfSBAZWxzZSBpZiBtYXAtaGFzLWtleSgkaGVhZGVyLWRlZnMsIGxoKSB7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogdW5pdGxlc3MtY2FsYyhtYXAtZ2V0KCRoZWFkZXItZGVmcywgbGgpLCAkZm9udC1zaXplLXRlbXApO1xuICAgICAgICAgIH0gQGVsc2UgaWYgJHNpemUgPT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQge1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IHVuaXRsZXNzLWNhbGMoJGhlYWRlci1saW5laGVpZ2h0LCAkZm9udC1zaXplLXRlbXApO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIEBpZiBtYXAtaGFzLWtleSgkaGVhZGVyLWRlZnMsIG1hcmdpbi10b3ApIHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IHJlbS1jYWxjKG1hcC1nZXQoJGhlYWRlci1kZWZzLCBtYXJnaW4tdG9wKSk7XG4gICAgICAgICAgfSBAZWxzZSBpZiBtYXAtaGFzLWtleSgkaGVhZGVyLWRlZnMsIG10KSB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiByZW0tY2FsYyhtYXAtZ2V0KCRoZWFkZXItZGVmcywgbXQpKTtcbiAgICAgICAgICB9IEBlbHNlIGlmICRzaXplID09ICQtemYtemVyby1icmVha3BvaW50IHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICAgICAgfVxuICAgICAgICAgIEBpZiBtYXAtaGFzLWtleSgkaGVhZGVyLWRlZnMsIG1hcmdpbi1ib3R0b20pIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKG1hcC1nZXQoJGhlYWRlci1kZWZzLCBtYXJnaW4tYm90dG9tKSk7XG4gICAgICAgICAgfSBAZWxzZSBpZiBtYXAtaGFzLWtleSgkaGVhZGVyLWRlZnMsIG1iKSB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYyhtYXAtZ2V0KCRoZWFkZXItZGVmcywgbWIpKTtcbiAgICAgICAgICB9IEBlbHNlIGlmICRzaXplID09ICQtemYtemVyby1icmVha3BvaW50IHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKCRoZWFkZXItbWFyZ2luLWJvdHRvbSk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gTGlua3NcbiAgYSB7XG4gICAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XG4gICAgY29sb3I6ICRhbmNob3ItY29sb3I7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiAkYW5jaG9yLXRleHQtZGVjb3JhdGlvbjtcblxuICAgIGN1cnNvcjogcG9pbnRlcjtcblxuICAgICY6aG92ZXIsXG4gICAgJjpmb2N1cyB7XG4gICAgICBjb2xvcjogJGFuY2hvci1jb2xvci1ob3ZlcjtcbiAgICAgIEBpZiAkYW5jaG9yLXRleHQtZGVjb3JhdGlvbi1ob3ZlciAhPSAkYW5jaG9yLXRleHQtZGVjb3JhdGlvbiB7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogJGFuY2hvci10ZXh0LWRlY29yYXRpb24taG92ZXI7XG4gICAgICB9XG4gICAgfVxuXG4gICAgaW1nIHtcbiAgICAgIGJvcmRlcjogMDtcbiAgICB9XG4gIH1cblxuICAvLyBIb3Jpem9udGFsIHJ1bGVcbiAgaHIge1xuICAgIGNsZWFyOiBib3RoO1xuXG4gICAgbWF4LXdpZHRoOiAkaHItd2lkdGg7XG4gICAgaGVpZ2h0OiAwO1xuICAgIG1hcmdpbjogJGhyLW1hcmdpbjtcblxuICAgIGJvcmRlci10b3A6IDA7XG4gICAgYm9yZGVyLXJpZ2h0OiAwO1xuICAgIGJvcmRlci1ib3R0b206ICRoci1ib3JkZXI7XG4gICAgYm9yZGVyLWxlZnQ6IDA7XG4gIH1cblxuICAvLyBMaXN0c1xuICB1bCxcbiAgb2wsXG4gIGRsIHtcbiAgICBtYXJnaW4tYm90dG9tOiAkbGlzdC1tYXJnaW4tYm90dG9tO1xuICAgIGxpc3Qtc3R5bGUtcG9zaXRpb246ICRsaXN0LXN0eWxlLXBvc2l0aW9uO1xuICAgIGxpbmUtaGVpZ2h0OiAkbGlzdC1saW5laGVpZ2h0O1xuICB9XG5cbiAgLy8gTGlzdCBpdGVtc1xuICBsaSB7XG4gICAgZm9udC1zaXplOiBpbmhlcml0O1xuICB9XG5cbiAgLy8gVW5vcmRlcmVkIGxpc3RzXG4gIHVsIHtcbiAgICBtYXJnaW4tI3skZ2xvYmFsLWxlZnR9OiAkbGlzdC1zaWRlLW1hcmdpbjtcbiAgICBsaXN0LXN0eWxlLXR5cGU6ICRsaXN0LXN0eWxlLXR5cGU7XG4gIH1cblxuICAvLyBPcmRlcmVkIGxpc3RzXG4gIG9sIHtcbiAgICBtYXJnaW4tI3skZ2xvYmFsLWxlZnR9OiAkbGlzdC1zaWRlLW1hcmdpbjtcbiAgfVxuXG4gIC8vIE5lc3RlZCB1bm9yZGVyZWQvb3JkZXJlZCBsaXN0c1xuICB1bCwgb2wge1xuICAgICYgJiB7XG4gICAgICBtYXJnaW4tI3skZ2xvYmFsLWxlZnR9OiAkbGlzdC1uZXN0ZWQtc2lkZS1tYXJnaW47XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIH1cbiAgfVxuXG4gIC8vIERlZmluaXRpb24gbGlzdHNcbiAgZGwge1xuICAgIG1hcmdpbi1ib3R0b206ICRkZWZubGlzdC1tYXJnaW4tYm90dG9tO1xuXG4gICAgZHQge1xuICAgICAgbWFyZ2luLWJvdHRvbTogJGRlZm5saXN0LXRlcm0tbWFyZ2luLWJvdHRvbTtcbiAgICAgIGZvbnQtd2VpZ2h0OiAkZGVmbmxpc3QtdGVybS13ZWlnaHQ7XG4gICAgfVxuICB9XG5cbiAgLy8gQmxvY2txdW90ZXNcbiAgYmxvY2txdW90ZSB7XG4gICAgbWFyZ2luOiAwIDAgJHBhcmFncmFwaC1tYXJnaW4tYm90dG9tO1xuICAgIHBhZGRpbmc6ICRibG9ja3F1b3RlLXBhZGRpbmc7XG4gICAgYm9yZGVyLSN7JGdsb2JhbC1sZWZ0fTogJGJsb2NrcXVvdGUtYm9yZGVyO1xuXG4gICAgJiwgcCB7XG4gICAgICBsaW5lLWhlaWdodDogJHBhcmFncmFwaC1saW5laGVpZ2h0O1xuICAgICAgY29sb3I6ICRibG9ja3F1b3RlLWNvbG9yO1xuICAgIH1cbiAgfVxuXG4gIC8vIElubGluZSBDaXRhdGlvbnNcbiAgQGlmICgkZW5hYmxlLWNpdGUtYmxvY2sgPT0gdHJ1ZSkge1xuICAgIGNpdGUge1xuICAgICAgLy8gRXh0ZW5kaW5nIGEgY2xhc3MgaXMgbm90IHJlY29tbWVuZGVkLlxuICAgICAgLy8gVE9ETzogQnJlYWsgdGhlIHR5cG9ncmFwaHktYmFzZS90eXBvZ3JhcGh5LWhlbHBlcnMgc2VwYXJhdGlvblxuICAgICAgQGV4dGVuZCAlY2l0ZS1ibG9jaztcbiAgICB9XG4gIH1cblxuICAvLyBBYmJyZXZpYXRpb25zXG4gIGFiYnIsIGFiYnJbdGl0bGVdIHtcbiAgICBib3JkZXItYm90dG9tOiAkYWJici11bmRlcmxpbmU7XG4gICAgY3Vyc29yOiBoZWxwO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgfVxuXG4gIC8vIEZpZ3VyZXNcbiAgZmlndXJlIHtcbiAgICBtYXJnaW46IDA7XG4gIH1cblxuICAvLyBDb2RlXG4gIEBpZiAoJGVuYWJsZS1jb2RlLWlubGluZSA9PSB0cnVlKSB7XG4gICAgY29kZSB7XG4gICAgICBAZXh0ZW5kICVjb2RlLWlubGluZTtcbiAgICB9XG4gIH1cblxuICAvLyBLZXlzdHJva2VzXG4gIGtiZCB7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6ICRrZXlzdHJva2UtcGFkZGluZztcblxuICAgIGJhY2tncm91bmQtY29sb3I6ICRrZXlzdHJva2UtYmFja2dyb3VuZDtcblxuICAgIGZvbnQtZmFtaWx5OiAka2V5c3Ryb2tlLWZvbnQ7XG4gICAgY29sb3I6ICRrZXlzdHJva2UtY29sb3I7XG5cbiAgICBAaWYgaGFzLXZhbHVlKCRrZXlzdHJva2UtcmFkaXVzKSB7XG4gICAgICBib3JkZXItcmFkaXVzOiAka2V5c3Ryb2tlLXJhZGl1cztcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vIElmIGB0cnVlYCwgYWxsIGVsZW1lbnRzIHdpbGwgaGF2ZSB0cmFuc3BhcmVudCBiYWNrZ3JvdW5kcyB3aGVuIHByaW50ZWQsIHRvIHNhdmUgb24gaW5rLlxuLy8vIEB0eXBlIEJvb2xlYW5cbi8vLyBAZ3JvdXAgZ2xvYmFsXG4kcHJpbnQtdHJhbnNwYXJlbnQtYmFja2dyb3VuZHM6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLyBJZiBgdHJ1ZWAsIGRpc3BsYXlzIG5leHQgdG8gYWxsIGxpbmtzIHRoZWlyIFwiaHJlZlwiIHdoZW4gcHJpbnRlZC5cbi8vLyBAdHlwZSBCb29sZWFuXG4vLy8gQGdyb3VwIGdsb2JhbFxuJHByaW50LWhyZWZzOiB0cnVlICFkZWZhdWx0O1xuXG4vLyBzYXNzLWxpbnQ6ZGlzYWJsZS1hbGxcblxuQG1peGluIGZvdW5kYXRpb24tcHJpbnQtc3R5bGVzIHtcbiAgLnNob3ctZm9yLXByaW50IHsgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XG5cbiAgQG1lZGlhIHByaW50IHtcbiAgICAqIHtcbiAgICAgIC8vIEVuc3VyZSBhIFwiYmxhY2stb24td2hpdGVcIiBwcmludCBieSByZW1vdmluZyBiYWNrZ3JvdW5kcyxcbiAgICAgIC8vIHVzaW5nIGJsYWNrIHRleHQgZXZlcnl3aGVyZSBhbmQgZm9yY2luZyB0aGUgYnJvd3NlciB0byBlY29ub21pemUgaW5rLlxuICAgICAgQGlmICRwcmludC10cmFuc3BhcmVudC1iYWNrZ3JvdW5kcyB7XG4gICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG4gICAgICAgIGNvbG9yOiBibGFjayAhaW1wb3J0YW50OyAvLyBCbGFjayBwcmludHMgZmFzdGVyOiBoNWJwLmNvbS9zXG4gICAgICAgIGNvbG9yLWFkanVzdDogZWNvbm9teTtcbiAgICAgIH1cbiAgICAgIC8vIE90aGVyd2lzZSwgcHJldmVudCBhbnkgZWNvbm9teSBieSB0aGUgYnJvd3Nlci5cbiAgICAgIEBlbHNlIHtcbiAgICAgICAgY29sb3ItYWRqdXN0OiBleGFjdDtcbiAgICAgIH1cblxuICAgICAgYm94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xuICAgICAgdGV4dC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICAuc2hvdy1mb3ItcHJpbnQgeyBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50OyB9XG4gICAgLmhpZGUtZm9yLXByaW50IHsgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XG5cbiAgICB0YWJsZS5zaG93LWZvci1wcmludCB7IGRpc3BsYXk6IHRhYmxlICFpbXBvcnRhbnQ7IH1cbiAgICB0aGVhZC5zaG93LWZvci1wcmludCB7IGRpc3BsYXk6IHRhYmxlLWhlYWRlci1ncm91cCAhaW1wb3J0YW50OyB9XG4gICAgdGJvZHkuc2hvdy1mb3ItcHJpbnQgeyBkaXNwbGF5OiB0YWJsZS1yb3ctZ3JvdXAgIWltcG9ydGFudDsgfVxuICAgIHRyLnNob3ctZm9yLXByaW50IHsgZGlzcGxheTogdGFibGUtcm93ICFpbXBvcnRhbnQ7IH1cbiAgICB0ZC5zaG93LWZvci1wcmludCB7IGRpc3BsYXk6IHRhYmxlLWNlbGwgIWltcG9ydGFudDsgfVxuICAgIHRoLnNob3ctZm9yLXByaW50IHsgZGlzcGxheTogdGFibGUtY2VsbCAhaW1wb3J0YW50OyB9XG5cbiAgICAvLyBEaXNwbGF5IHRoZSBVUkwgb2YgYSBsaW5rIGFmdGVyIHRoZSB0ZXh0XG4gICAgYSxcbiAgICBhOnZpc2l0ZWQgeyB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTt9XG4gICAgQGlmICRwcmludC1ocmVmcyB7XG4gICAgICBhW2hyZWZdOmFmdGVyIHsgY29udGVudDogJyAoJyBhdHRyKGhyZWYpICcpJzsgfVxuICAgIH1cblxuICAgIC8vIERvbid0IGRpc3BsYXkgdGhlIFVSTCBmb3IgaW1hZ2VzIG9yIEphdmFTY3JpcHQvaW50ZXJuYWwgbGlua3NcbiAgICAuaXIgYTphZnRlcixcbiAgICBhW2hyZWZePSdqYXZhc2NyaXB0OiddOmFmdGVyLFxuICAgIGFbaHJlZl49JyMnXTphZnRlciB7IGNvbnRlbnQ6ICcnOyB9XG5cbiAgICAvLyBEaXNwbGF5IHdoYXQgYW4gYWJicmV2aWF0aW9uIHN0YW5kcyBmb3IgYWZ0ZXIgdGhlIHRleHRcbiAgICBhYmJyW3RpdGxlXTphZnRlciB7IGNvbnRlbnQ6ICcgKCcgYXR0cih0aXRsZSkgJyknOyB9XG5cbiAgICAvLyBQcmV2ZW50IHBhZ2UgYnJlYWtzIGluIHRoZSBtaWRkbGUgb2YgYSBibG9ja3F1b3RlIG9yIHByZWZvcm1hdHRlZCB0ZXh0IGJsb2NrXG4gICAgcHJlLFxuICAgIGJsb2NrcXVvdGUge1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgJGRhcmstZ3JheTtcbiAgICAgIHBhZ2UtYnJlYWstaW5zaWRlOiBhdm9pZDtcbiAgICB9XG5cbiAgICAvLyBoNWJwLmNvbS90XG4gICAgdGhlYWQgeyBkaXNwbGF5OiB0YWJsZS1oZWFkZXItZ3JvdXA7IH1cblxuICAgIHRyLFxuICAgIGltZyB7IHBhZ2UtYnJlYWstaW5zaWRlOiBhdm9pZDsgfVxuXG4gICAgaW1nIHsgbWF4LXdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7IH1cblxuICAgIEBwYWdlIHsgbWFyZ2luOiAwLjVjbTsgfVxuXG4gICAgcCxcbiAgICBoMixcbiAgICBoMyB7XG4gICAgICBvcnBoYW5zOiAzO1xuICAgICAgd2lkb3dzOiAzO1xuICAgIH1cblxuICAgIC8vIEF2b2lkIHBhZ2UgYnJlYWtzIGFmdGVyIGEgaGVhZGluZ1xuICAgIGgyLFxuICAgIGgzIHsgcGFnZS1icmVhay1hZnRlcjogYXZvaWQ7IH1cblxuICAgIC8vIEhlbHBlciB0byByZS1hbGxvdyBwYWdlIGJyZWFrcyBpbiB0aGUgbWlkZGxlIG9mIGNlcnRhaW4gZWxlbWVudHMgKGUuZy4gcHJlLCBibG9ja3F1b3RlLCB0cilcbiAgICAucHJpbnQtYnJlYWstaW5zaWRlIHtcbiAgICAgIHBhZ2UtYnJlYWstaW5zaWRlOiBhdXRvO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGJ1dHRvblxuLy8vL1xuXG4vLy8gRm9udCBmYW1pbHkgZm9yIGJ1dHRvbiBlbGVtZW50cy5cbi8vLyBAdHlwZSBGb250XG4kYnV0dG9uLWZvbnQtZmFtaWx5OiBpbmhlcml0ICFkZWZhdWx0O1xuXG4vLy8gRm9udCB3ZWlnaHQgZm9yIGJ1dHRvbiBlbGVtZW50cy5cbi8vLyBJZ25vcmVkIGlmIG51bGwgKGRlZmF1bHQpXG4vLy8gQHR5cGUgRm9udC1XZWlnaHRcbiRidXR0b24tZm9udC13ZWlnaHQ6IG51bGwgIWRlZmF1bHQ7XG5cbi8vLyBQYWRkaW5nIGluc2lkZSBidXR0b25zLlxuLy8vIEB0eXBlIExpc3RcbiRidXR0b24tcGFkZGluZzogMC44NWVtIDFlbSAhZGVmYXVsdDtcblxuLy8vIE1hcmdpbiBhcm91bmQgYnV0dG9ucy5cbi8vLyBAdHlwZSBMaXN0XG4kYnV0dG9uLW1hcmdpbjogMCAwICRnbG9iYWwtbWFyZ2luIDAgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZpbGwgZm9yIGJ1dHRvbnMuIENhbiBlaXRoZXIgYmUgYHNvbGlkYCBvciBgaG9sbG93YC5cbi8vLyBAdHlwZSBLZXl3b3JkXG4kYnV0dG9uLWZpbGw6IHNvbGlkICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBiYWNrZ3JvdW5kIGNvbG9yIGZvciBidXR0b25zLlxuLy8vIEB0eXBlIENvbG9yXG4kYnV0dG9uLWJhY2tncm91bmQ6ICRwcmltYXJ5LWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBvbiBob3ZlciBmb3IgYnV0dG9ucy5cbi8vLyBAdHlwZSBDb2xvclxuJGJ1dHRvbi1iYWNrZ3JvdW5kLWhvdmVyOiBzY2FsZS1jb2xvcigkYnV0dG9uLWJhY2tncm91bmQsICRsaWdodG5lc3M6IC0xNSUpICFkZWZhdWx0O1xuXG4vLy8gRm9udCBjb2xvciBmb3IgYnV0dG9ucy5cbi8vLyBAdHlwZSBMaXN0XG4kYnV0dG9uLWNvbG9yOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBBbHRlcm5hdGl2ZSBmb250IGNvbG9yIGZvciBidXR0b25zLlxuLy8vIEB0eXBlIExpc3RcbiRidXR0b24tY29sb3ItYWx0OiAkYmxhY2sgIWRlZmF1bHQ7XG5cbi8vLyBCb3JkZXIgcmFkaXVzIGZvciBidXR0b25zLCBkZWZhdWx0ZWQgdG8gZ2xvYmFsLXJhZGl1cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRidXR0b24tcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAhZGVmYXVsdDtcblxuLy8vIEJvcmRlciBmb3IgYnV0dG9ucywgdHJhbnNwYXJlbnQgYnkgZGVmYXVsdFxuLy8vIEB0eXBlIExpc3RcbiRidXR0b24tYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQgIWRlZmF1bHQ7XG5cbi8vLyBCb3JkZXIgd2lkdGggZm9yIGhvbGxvdyBvdXRsaW5lIGJ1dHRvbnNcbi8vLyBAdHlwZSBOdW1iZXJcbiRidXR0b24taG9sbG93LWJvcmRlci13aWR0aDogMXB4ICFkZWZhdWx0O1xuXG4vLy8gU2l6ZXMgZm9yIGJ1dHRvbnMuXG4vLy8gQHR5cGUgTWFwXG4kYnV0dG9uLXNpemVzOiAoXG4gIHRpbnk6IDAuNnJlbSxcbiAgc21hbGw6IDAuNzVyZW0sXG4gIGRlZmF1bHQ6IDAuOXJlbSxcbiAgbGFyZ2U6IDEuMjVyZW0sXG4pICFkZWZhdWx0O1xuXG4vLy8gQ29sb3JpbmcgY2xhc3Nlcy4gQSBtYXAgb2YgY2xhc3NlcyB0byBvdXRwdXQgaW4geW91ciBDU1MsIGxpa2UgYC5zZWNvbmRhcnlgLCBgLnN1Y2Nlc3NgLCBhbmQgc28gb24uXG4vLy8gQHR5cGUgTWFwXG4kYnV0dG9uLXBhbGV0dGU6ICRmb3VuZGF0aW9uLXBhbGV0dGUgIWRlZmF1bHQ7XG5cbi8vLyBvcGFjaXR5IGZvciBhIGRpc2FibGVkIGJ1dHRvbi5cbi8vLyBAdHlwZSBMaXN0XG4kYnV0dG9uLW9wYWNpdHktZGlzYWJsZWQ6IDAuMjUgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIGxpZ2h0bmVzcyBvbiBob3ZlciBmb3IgYnV0dG9ucy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRidXR0b24tYmFja2dyb3VuZC1ob3Zlci1saWdodG5lc3M6IC0yMCUgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciBsaWdodG5lc3Mgb24gaG92ZXIgZm9yIGhvbGxvdyBidXR0b25zLlxuLy8vIEB0eXBlIE51bWJlclxuJGJ1dHRvbi1ob2xsb3ctaG92ZXItbGlnaHRuZXNzOiAtNTAlICFkZWZhdWx0O1xuXG4vLyBJbnRlcm5hbDogZmxpcCBmcm9tIG1hcmdpbi1yaWdodCB0byBtYXJnaW4tbGVmdCBmb3IgZGVmYXVsdHNcbkBpZiAkZ2xvYmFsLXRleHQtZGlyZWN0aW9uID09ICdydGwnIHtcbiAgJGJ1dHRvbi1tYXJnaW46IDAgMCAkZ2xvYmFsLW1hcmdpbiAkZ2xvYmFsLW1hcmdpbiAhZGVmYXVsdDtcbn1cblxuLy8vIHRyYW5zaXRpb25zIGZvciBidXR0b25zLlxuLy8vIEB0eXBlIExpc3RcbiRidXR0b24tdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjI1cyBlYXNlLW91dCwgY29sb3IgMC4yNXMgZWFzZS1vdXQgIWRlZmF1bHQ7XG5cbi8vLyBBZGRpdGlvbmFsIHJlc3BvbnNpdmUgY2xhc3NlcyBmb3IgLmV4cGFuZGVkXG4vLy8gQHR5cGUgQm9vbGVhblxuJGJ1dHRvbi1yZXNwb25zaXZlLWV4cGFuZGVkOiBmYWxzZSAhZGVmYXVsdDtcblxuLy8gVE9ETzogRG9jdW1lbnQgYnV0dG9uLWJhc2UoKSBtaXhpblxuQG1peGluIGJ1dHRvbi1iYXNlIHtcbiAgQGluY2x1ZGUgZGlzYWJsZS1tb3VzZS1vdXRsaW5lO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIG1hcmdpbjogJGJ1dHRvbi1tYXJnaW47XG5cbiAgQGlmICh0eXBlLW9mKCRidXR0b24tcGFkZGluZykgPT0gJ21hcCcpIHtcbiAgICBAZWFjaCAkc2l6ZSwgJHBhZGRpbmcgaW4gJGJ1dHRvbi1wYWRkaW5nIHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHNpemUpIHtcbiAgICAgICAgcGFkZGluZzogJHBhZGRpbmc7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEBlbHNlIHtcbiAgICBwYWRkaW5nOiAkYnV0dG9uLXBhZGRpbmc7XG4gIH1cblxuICBib3JkZXI6ICRidXR0b24tYm9yZGVyO1xuICBib3JkZXItcmFkaXVzOiAkYnV0dG9uLXJhZGl1cztcbiAgdHJhbnNpdGlvbjogJGJ1dHRvbi10cmFuc2l0aW9uO1xuICBmb250LWZhbWlseTogJGJ1dHRvbi1mb250LWZhbWlseTtcbiAgZm9udC1zaXplOiBtYXAtZ2V0KCRidXR0b24tc2l6ZXMsIGRlZmF1bHQpO1xuICBmb250LXdlaWdodDogJGJ1dHRvbi1mb250LXdlaWdodDtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lOyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIG5vLXZlbmRvci1wcmVmaXhlc1xuICBsaW5lLWhlaWdodDogMTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG5cbi8vLyBFeHBhbmRzIGEgYnV0dG9uIHRvIG1ha2UgaXQgZnVsbC13aWR0aC5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRleHBhbmQgW3RydWVdIC0gU2V0IHRvIGB0cnVlYCB0byBlbmFibGUgdGhlIGV4cGFuZCBiZWhhdmlvci4gU2V0IHRvIGBmYWxzZWAgdG8gcmV2ZXJzZSB0aGlzIGJlaGF2aW9yLlxuQG1peGluIGJ1dHRvbi1leHBhbmQoJGV4cGFuZDogdHJ1ZSkge1xuICBAaWYgJGV4cGFuZCB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICB9XG4gIEBlbHNlIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgd2lkdGg6IGF1dG87XG4gICAgbWFyZ2luOiAkYnV0dG9uLW1hcmdpbjtcbiAgfVxufVxuXG4vLy8gU2V0cyB0aGUgYmFzZSBzdHlsZXMgb2YgYSBob2xsb3cgb3IgY2xlYXIgYnV0dG9uIGZpbGxpbmcgYWNjb3JkaW5nIHRvIGAkZmlsbGAuXG4vLy8gU2VlIG1peGluIGBidXR0b24tZmlsbC1zdHlsZWAgZm9yIHRoZSBmaWxsaW5nIHN0eWxlcy5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRmaWxsIFskYnV0dG9uLWZpbGxdIC0gVHlwZSBvZiBmaWxsaW5nIGJldHdlZW4gYGhvbGxvd2AgYW5kIGBjbGVhcmAuIGBzb2xpZGAgaGFzIG5vIGVmZmVjdHMuXG5AbWl4aW4gYnV0dG9uLWZpbGwoXG4gICRmaWxsOiAkYnV0dG9uLWZpbGxcbikge1xuICBAaWYgJGZpbGwgPT0gaG9sbG93IHtcbiAgICBAaW5jbHVkZSBidXR0b24taG9sbG93O1xuICB9XG4gIEBlbHNlIGlmICRmaWxsID09IGNsZWFyIHtcbiAgICBAaW5jbHVkZSBidXR0b24tY2xlYXI7XG4gIH1cbn1cblxuLy8vIFNldHMgdGhlIHZpc3VhbCBzdHlsZXMgb2YgYSBzb2xpZC9ob2xsb3cvY2xlYXIgYnV0dG9uIGZpbGxpbmcgYWNjb3JkaW5nIHRvIGAkZmlsbGAuXG4vLy8gU2VlIG1peGlucyBgYnV0dG9uLXN0eWxlYCwgYGJ1dHRvbi1ob2xsb3ctc3R5bGVgIGFuZCBgYnV0dG9uLWNsZWFyLXN0eWxlYCBmb3IgZWZmZWN0cyBvZiB2aXN1YWwgc3R5bGluZyBwYXJhbWV0ZXJzLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGZpbGwgWyRidXR0b24tZmlsbF0gLSBUeXBlIG9mIGZpbGxpbmcgYmV0d2VlbiBgaG9sbG93YCBhbmQgYGNsZWFyYC5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkYmFja2dyb3VuZCBbJGJ1dHRvbi1iYWNrZ3JvdW5kXSAtIC1cbi8vLyBAcGFyYW0ge0NvbG9yfSAkYmFja2dyb3VuZC1ob3ZlciBbJGJ1dHRvbi1iYWNrZ3JvdW5kLWhvdmVyXSAtIC1cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IgWyRidXR0b24tY29sb3JdIC0gLVxuQG1peGluIGJ1dHRvbi1maWxsLXN0eWxlKFxuICAkZmlsbDogJGJ1dHRvbi1maWxsLFxuICAkYmFja2dyb3VuZDogJGJ1dHRvbi1iYWNrZ3JvdW5kLFxuICAkYmFja2dyb3VuZC1ob3ZlcjogJGJ1dHRvbi1iYWNrZ3JvdW5kLWhvdmVyLFxuICAkY29sb3I6ICRidXR0b24tY29sb3Jcbikge1xuICBAaWYgJGZpbGwgPT0gc29saWQge1xuICAgIEBpbmNsdWRlIGJ1dHRvbi1zdHlsZSgkYmFja2dyb3VuZCwgJGJhY2tncm91bmQtaG92ZXIsICRjb2xvcik7XG4gIH1cbiAgQGVsc2UgaWYgJGZpbGwgPT0gaG9sbG93IHtcbiAgICBAaW5jbHVkZSBidXR0b24taG9sbG93LXN0eWxlKCRiYWNrZ3JvdW5kKTtcbiAgfVxuICBAZWxzZSBpZiAkZmlsbCA9PSBjbGVhciB7XG4gICAgQGluY2x1ZGUgYnV0dG9uLWNsZWFyLXN0eWxlKCRiYWNrZ3JvdW5kKTtcbiAgfVxufVxuXG4vLy8gU2V0cyB0aGUgdmlzdWFsIHN0eWxlIG9mIGEgYnV0dG9uLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRiYWNrZ3JvdW5kIFskYnV0dG9uLWJhY2tncm91bmRdIC0gQmFja2dyb3VuZCBjb2xvciBvZiB0aGUgYnV0dG9uLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRiYWNrZ3JvdW5kLWhvdmVyIFskYnV0dG9uLWJhY2tncm91bmQtaG92ZXJdIC0gQmFja2dyb3VuZCBjb2xvciBvZiB0aGUgYnV0dG9uIG9uIGhvdmVyLiBTZXQgdG8gYGF1dG9gIHRvIGhhdmUgdGhlIG1peGluIGF1dG9tYXRpY2FsbHkgZ2VuZXJhdGUgYSBob3ZlciBjb2xvci5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IgWyRidXR0b24tY29sb3JdIC0gVGV4dCBjb2xvciBvZiB0aGUgYnV0dG9uLiBTZXQgdG8gYGF1dG9gIHRvIGF1dG9tYXRpY2FsbHkgZ2VuZXJhdGUgYSBjb2xvciBiYXNlZCBvbiB0aGUgYmFja2dyb3VuZCBjb2xvci5cbkBtaXhpbiBidXR0b24tc3R5bGUoXG4gICRiYWNrZ3JvdW5kOiAkYnV0dG9uLWJhY2tncm91bmQsXG4gICRiYWNrZ3JvdW5kLWhvdmVyOiAkYnV0dG9uLWJhY2tncm91bmQtaG92ZXIsXG4gICRjb2xvcjogJGJ1dHRvbi1jb2xvcixcbiAgJGJhY2tncm91bmQtaG92ZXItbGlnaHRuZXNzOiAkYnV0dG9uLWJhY2tncm91bmQtaG92ZXItbGlnaHRuZXNzXG4pIHtcbiAgQGlmICRjb2xvciA9PSBhdXRvIHtcbiAgICAkY29sb3I6IGNvbG9yLXBpY2stY29udHJhc3QoJGJhY2tncm91bmQsICgkYnV0dG9uLWNvbG9yLCAkYnV0dG9uLWNvbG9yLWFsdCkpO1xuICB9XG5cbiAgQGlmICRiYWNrZ3JvdW5kLWhvdmVyID09IGF1dG8ge1xuICAgICRiYWNrZ3JvdW5kLWhvdmVyOiBzY2FsZS1jb2xvcigkYmFja2dyb3VuZCwgJGxpZ2h0bmVzczogJGJhY2tncm91bmQtaG92ZXItbGlnaHRuZXNzKTtcbiAgfVxuXG4gIC8vIERlZmF1bHQgYW5kIGRpc2FibGVkIHN0YXRlc1xuICAmLFxuICAmLmRpc2FibGVkLCAmW2Rpc2FibGVkXSxcbiAgJi5kaXNhYmxlZDpob3ZlciwgJltkaXNhYmxlZF06aG92ZXIsXG4gICYuZGlzYWJsZWQ6Zm9jdXMsICZbZGlzYWJsZWRdOmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFja2dyb3VuZDtcbiAgICBjb2xvcjogJGNvbG9yO1xuICB9XG5cbiAgJjpob3ZlciwgJjpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJhY2tncm91bmQtaG92ZXI7XG4gICAgY29sb3I6ICRjb2xvcjtcbiAgfVxufVxuXG4vLy8gU2V0cyB0aGUgYmFzZSBzdHlsZXMgb2YgYSBob2xsb3cgYnV0dG9uLlxuLy8vIFNlZSBtaXhpbiBgYnV0dG9uLWhvbGxvdy1zdHlsZWAgZm9yIHRoZSBmaWxsaW5nIHN0eWxlcy5cbkBtaXhpbiBidXR0b24taG9sbG93IHtcbiAgJiwgJi5kaXNhYmxlZCwgJltkaXNhYmxlZF0ge1xuICAgICYsICY6aG92ZXIsICY6Zm9jdXMge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgfVxuICB9XG59XG5cbi8vLyBTZXRzIHRoZSB2aXN1YWwgc3R5bGUgb2YgYSBob2xsb3cgYnV0dG9uLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvciBbJGJ1dHRvbi1iYWNrZ3JvdW5kXSAtIFRleHQgYW5kIGJvcmRlciBjb2xvciBvZiB0aGUgYnV0dG9uLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRob3Zlci1saWdodG5lc3MgWyRidXR0b24taG9sbG93LWhvdmVyLWxpZ2h0bmVzc10gLSBDb2xvciBsaWdodG5lc3Mgb24gaG92ZXIuXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGJvcmRlci13aWR0aCBbJGJ1dHRvbi1ob2xsb3ctYm9yZGVyLXdpZHRoXSAtIEJvcmRlciB3aWR0aCBvZiB0aGUgYnV0dG9uLlxuQG1peGluIGJ1dHRvbi1ob2xsb3ctc3R5bGUoXG4gICRjb2xvcjogJGJ1dHRvbi1iYWNrZ3JvdW5kLFxuICAkaG92ZXItbGlnaHRuZXNzOiAkYnV0dG9uLWhvbGxvdy1ob3Zlci1saWdodG5lc3MsXG4gICRib3JkZXItd2lkdGg6ICRidXR0b24taG9sbG93LWJvcmRlci13aWR0aFxuKSB7XG4gICRjb2xvci1ob3Zlcjogc2NhbGUtY29sb3IoJGNvbG9yLCAkbGlnaHRuZXNzOiAkaG92ZXItbGlnaHRuZXNzKTtcblxuICAvLyBEZWZhdWx0IGFuZCBkaXNhYmxlZCBzdGF0ZXNcbiAgJixcbiAgJi5kaXNhYmxlZCwgJltkaXNhYmxlZF0sXG4gICYuZGlzYWJsZWQ6aG92ZXIsICZbZGlzYWJsZWRdOmhvdmVyLFxuICAmLmRpc2FibGVkOmZvY3VzLCAmW2Rpc2FibGVkXTpmb2N1cyB7XG4gICAgYm9yZGVyOiAkYm9yZGVyLXdpZHRoIHNvbGlkICRjb2xvcjtcbiAgICBjb2xvcjogJGNvbG9yO1xuICB9XG5cbiAgJjpob3ZlciwgJjpmb2N1cyB7XG4gICAgYm9yZGVyLWNvbG9yOiAkY29sb3ItaG92ZXI7XG4gICAgY29sb3I6ICRjb2xvci1ob3ZlcjtcbiAgfVxufVxuXG4vLy8gU2V0cyB0aGUgYmFzZSBzdHlsZXMgb2YgYSBjbGVhciBidXR0b24uXG4vLy8gU2VlIG1peGluIGBidXR0b24tY2xlYXItc3R5bGVgIGZvciB0aGUgZmlsbGluZyBzdHlsZXMuXG5AbWl4aW4gYnV0dG9uLWNsZWFyIHtcbiAgJiwgJi5kaXNhYmxlZCwgJltkaXNhYmxlZF0ge1xuICAgICYsICY6aG92ZXIsICY6Zm9jdXMge1xuICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIH1cbiAgfVxufVxuXG4vLy8gU2V0cyB0aGUgdmlzdWFsIHN0eWxlIG9mIGEgY2xlYXIgYnV0dG9uLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvciBbJGJ1dHRvbi1iYWNrZ3JvdW5kXSAtIFRleHQgY29sb3Igb2YgdGhlIGJ1dHRvbi5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkaG92ZXItbGlnaHRuZXNzIFskYnV0dG9uLWhvbGxvdy1ob3Zlci1saWdodG5lc3NdIC0gQ29sb3IgbGlnaHRuZXNzIG9uIGhvdmVyLlxuQG1peGluIGJ1dHRvbi1jbGVhci1zdHlsZShcbiAgJGNvbG9yOiAkYnV0dG9uLWJhY2tncm91bmQsXG4gICRob3Zlci1saWdodG5lc3M6ICRidXR0b24taG9sbG93LWhvdmVyLWxpZ2h0bmVzc1xuKSB7XG4gICRjb2xvci1ob3Zlcjogc2NhbGUtY29sb3IoJGNvbG9yLCAkbGlnaHRuZXNzOiAkaG92ZXItbGlnaHRuZXNzKTtcblxuICAvLyBEZWZhdWx0IGFuZCBkaXNhYmxlZCBzdGF0ZXNcbiAgJixcbiAgJi5kaXNhYmxlZCwgJltkaXNhYmxlZF0sXG4gICYuZGlzYWJsZWQ6aG92ZXIsICZbZGlzYWJsZWRdOmhvdmVyLFxuICAmLmRpc2FibGVkOmZvY3VzLCAmW2Rpc2FibGVkXTpmb2N1cyB7XG4gICAgY29sb3I6ICRjb2xvcjtcbiAgfVxuXG4gICY6aG92ZXIsICY6Zm9jdXMge1xuICAgIGNvbG9yOiAkY29sb3ItaG92ZXI7XG4gIH1cbn1cblxuLy8vIEFkZHMgZGlzYWJsZWQgc3R5bGVzIHRvIGEgYnV0dG9uIGJ5IGZhZGluZyB0aGUgZWxlbWVudCBhbmQgcmVzZXRpbmcgdGhlIGN1cnNvci5cbi8vLyBAcGFyYW0ge051bWJlcn0gJG9wYWNpdHkgWyRidXR0b24tb3BhY2l0eS1kaXNhYmxlZF0gLSBPcGFjaXR5IG9mIHRoZSBkaXNhYmxlZCBidXR0b24uXG5AbWl4aW4gYnV0dG9uLWRpc2FibGVkKFxuICAkb3BhY2l0eTogJGJ1dHRvbi1vcGFjaXR5LWRpc2FibGVkXG4pIHtcbiAgb3BhY2l0eTogJGJ1dHRvbi1vcGFjaXR5LWRpc2FibGVkO1xuICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xufVxuXG4vLy8gQWRkcyBhIGRyb3Bkb3duIGFycm93IHRvIGEgYnV0dG9uLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkc2l6ZSBbMC40ZW1dIC0gU2l6ZSBvZiB0aGUgYXJyb3cuIFdlIHJlY29tbWVuZCB1c2luZyBhbiBgZW1gIHZhbHVlIHNvIHRoZSB0cmlhbmdsZSBzY2FsZXMgd2hlbiB1c2VkIGluc2lkZSBkaWZmZXJlbnQgc2l6ZXMgb2YgYnV0dG9ucy5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IgW3doaXRlXSAtIENvbG9yIG9mIHRoZSBhcnJvdy5cbi8vLyBAcGFyYW0ge051bWJlcn0gJG9mZnNldCBbJGJ1dHRvbi1wYWRkaW5nXSAtIERpc3RhbmNlIGJldHdlZW4gdGhlIGFycm93IGFuZCB0aGUgdGV4dCBvZiB0aGUgYnV0dG9uLiBEZWZhdWx0cyB0byB3aGF0ZXZlciB0aGUgcmlnaHQgcGFkZGluZyBvZiBhIGJ1dHRvbiBpcy5cbkBtaXhpbiBidXR0b24tZHJvcGRvd24oXG4gICRzaXplOiAwLjRlbSxcbiAgJGNvbG9yOiAkd2hpdGUsXG4gICRvZmZzZXQ6IGdldC1zaWRlKCRidXR0b24tcGFkZGluZywgcmlnaHQpXG4pIHtcbiAgJjo6YWZ0ZXIge1xuICAgIEBpbmNsdWRlIGNzcy10cmlhbmdsZSgkc2l6ZSwgJGNvbG9yLCBkb3duKTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdG9wOiAwLjRlbTsgLy8gQWxpZ25zIHRoZSBhcnJvdyB3aXRoIHRoZSB0ZXh0IG9mIHRoZSBidXR0b25cblxuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBmbG9hdDogI3skZ2xvYmFsLXJpZ2h0fTtcbiAgICBtYXJnaW4tI3skZ2xvYmFsLWxlZnR9OiAkb2Zmc2V0O1xuICB9XG59XG5cbi8vLyBBZGRzIGFsbCBzdHlsZXMgZm9yIGEgYnV0dG9uLiBGb3IgbW9yZSBncmFudWxhciBjb250cm9sIG92ZXIgc3R5bGVzLCB1c2UgdGhlIGluZGl2aWR1YWwgYnV0dG9uIG1peGlucy5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRleHBhbmQgW2ZhbHNlXSAtIFNldCB0byBgdHJ1ZWAgdG8gbWFrZSB0aGUgYnV0dG9uIGZ1bGwtd2lkdGguXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGJhY2tncm91bmQgWyRidXR0b24tYmFja2dyb3VuZF0gLSBCYWNrZ3JvdW5kIGNvbG9yIG9mIHRoZSBidXR0b24uXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGJhY2tncm91bmQtaG92ZXIgWyRidXR0b24tYmFja2dyb3VuZC1ob3Zlcl0gLSBCYWNrZ3JvdW5kIGNvbG9yIG9mIHRoZSBidXR0b24gb24gaG92ZXIuIFNldCB0byBgYXV0b2AgdG8gaGF2ZSB0aGUgbWl4aW4gYXV0b21hdGljYWxseSBnZW5lcmF0ZSBhIGhvdmVyIGNvbG9yLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvciBbJGJ1dHRvbi1jb2xvcl0gLSBUZXh0IGNvbG9yIG9mIHRoZSBidXR0b24uIFNldCB0byBgYXV0b2AgdG8gYXV0b21hdGljYWxseSBnZW5lcmF0ZSBhIGNvbG9yIGJhc2VkIG9uIHRoZSBiYWNrZ3JvdW5kIGNvbG9yLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHN0eWxlIFtzb2xpZF0gLSBTZXQgdG8gYGhvbGxvd2AgdG8gY3JlYXRlIGEgaG9sbG93IGJ1dHRvbi4gVGhlIGNvbG9yIGRlZmluZWQgaW4gYCRiYWNrZ3JvdW5kYCB3aWxsIGJlIHVzZWQgYXMgdGhlIHByaW1hcnkgY29sb3Igb2YgdGhlIGJ1dHRvbi5cbkBtaXhpbiBidXR0b24oXG4gICRleHBhbmQ6IGZhbHNlLFxuICAkYmFja2dyb3VuZDogJGJ1dHRvbi1iYWNrZ3JvdW5kLFxuICAkYmFja2dyb3VuZC1ob3ZlcjogJGJ1dHRvbi1iYWNrZ3JvdW5kLWhvdmVyLFxuICAkY29sb3I6ICRidXR0b24tY29sb3IsXG4gICRzdHlsZTogJGJ1dHRvbi1maWxsXG4pIHtcbiAgQGluY2x1ZGUgYnV0dG9uLWJhc2U7XG4gIEBpbmNsdWRlIGJ1dHRvbi1maWxsKCRzdHlsZSk7XG4gIEBpbmNsdWRlIGJ1dHRvbi1maWxsLXN0eWxlKCRzdHlsZSwgJGJhY2tncm91bmQsICRiYWNrZ3JvdW5kLWhvdmVyLCAkY29sb3IpO1xuXG4gIEBpZiAkZXhwYW5kIHtcbiAgICBAaW5jbHVkZSBidXR0b24tZXhwYW5kO1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWJ1dHRvbiB7XG4gIC5idXR0b24ge1xuICAgIEBpbmNsdWRlIGJ1dHRvbigkc3R5bGU6IG5vbmUpO1xuXG4gICAgLy8gU2l6ZXNcbiAgICBAZWFjaCAkc2l6ZSwgJHZhbHVlIGluIG1hcC1yZW1vdmUoJGJ1dHRvbi1zaXplcywgZGVmYXVsdCkge1xuICAgICAgJi4jeyRzaXplfSB7XG4gICAgICAgIGZvbnQtc2l6ZTogJHZhbHVlO1xuICAgICAgfVxuICAgIH1cblxuICAgICYuZXhwYW5kZWQgeyBAaW5jbHVkZSBidXR0b24tZXhwYW5kOyB9XG5cbiAgICBAaWYgJGJ1dHRvbi1yZXNwb25zaXZlLWV4cGFuZGVkIHtcbiAgICAgIEBlYWNoICRzaXplIGluICRicmVha3BvaW50LWNsYXNzZXMge1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCN7JHNpemV9IG9ubHkpIHtcbiAgICAgICAgICAmLiN7JHNpemV9LW9ubHktZXhwYW5kZWQge1xuICAgICAgICAgICAgQGluY2x1ZGUgYnV0dG9uLWV4cGFuZDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgQGlmICRzaXplICE9ICQtemYtemVyby1icmVha3BvaW50IHtcbiAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCN7JHNpemV9IGRvd24pIHtcbiAgICAgICAgICAgICYuI3skc2l6ZX0tZG93bi1leHBhbmRlZCB7XG4gICAgICAgICAgICAgIEBpbmNsdWRlIGJ1dHRvbi1leHBhbmQ7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgjeyRzaXplfSkge1xuICAgICAgICAgICAgJi4jeyRzaXplfS1leHBhbmRlZCB7XG4gICAgICAgICAgICAgIEBpbmNsdWRlIGJ1dHRvbi1leHBhbmQ7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gU29saWQsIGhvbGxvdyAmIGNsZWFyIHN0eWxlc1xuICAgIEBlYWNoICRmaWxsaW5nIGluIChzb2xpZCBob2xsb3cgY2xlYXIpIHtcbiAgICAgICRzZWxlY3RvcjogaWYoJGJ1dHRvbi1maWxsID09ICRmaWxsaW5nLCBudWxsLCAnLiN7JGZpbGxpbmd9Jyk7XG5cbiAgICAgICYjeyRzZWxlY3Rvcn0ge1xuICAgICAgICBAaW5jbHVkZSBidXR0b24tZmlsbCgkZmlsbGluZyk7XG4gICAgICAgIEBpbmNsdWRlIGJ1dHRvbi1maWxsLXN0eWxlKCRmaWxsaW5nKTtcblxuICAgICAgICBAZWFjaCAkbmFtZSwgJGNvbG9yIGluICRidXR0b24tcGFsZXR0ZSB7XG4gICAgICAgICAgJi4jeyRuYW1lfSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBidXR0b24tZmlsbC1zdHlsZSgkZmlsbGluZywgJGNvbG9yLCBhdXRvLCBhdXRvKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBEaXNhYmxlZCBzdGF0ZVxuICAgICYuZGlzYWJsZWQsICZbZGlzYWJsZWRdIHtcbiAgICAgIEBpbmNsdWRlIGJ1dHRvbi1kaXNhYmxlZDtcbiAgICB9XG5cbiAgICAvLyBEcm9wZG93biBhcnJvd1xuICAgICYuZHJvcGRvd24ge1xuICAgICAgQGluY2x1ZGUgYnV0dG9uLWRyb3Bkb3duO1xuXG4gICAgICBAaWYgJGJ1dHRvbi1maWxsID09IGhvbGxvdyB7XG4gICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICBib3JkZXItdG9wLWNvbG9yOiAkYnV0dG9uLWJhY2tncm91bmQ7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgJi5ob2xsb3csICYuY2xlYXIge1xuICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgYm9yZGVyLXRvcC1jb2xvcjogJGJ1dHRvbi1iYWNrZ3JvdW5kO1xuICAgICAgICB9XG5cbiAgICAgICAgQGVhY2ggJG5hbWUsICRjb2xvciBpbiAkYnV0dG9uLXBhbGV0dGUge1xuICAgICAgICAgICYuI3skbmFtZX0ge1xuICAgICAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgICAgICBib3JkZXItdG9wLWNvbG9yOiAkY29sb3I7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gQnV0dG9uIHdpdGggZHJvcGRvd24gYXJyb3cgb25seVxuICAgICYuYXJyb3ctb25seTo6YWZ0ZXIge1xuICAgICAgdG9wOiAtMC4xZW07XG4gICAgICBmbG9hdDogbm9uZTtcbiAgICAgIG1hcmdpbi0jeyRnbG9iYWwtbGVmdH06IDA7XG4gICAgfVxuICB9XG5cbiAgYS5idXR0b24geyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIG5vLXF1YWxpZnlpbmctZWxlbWVudHNcbiAgICAmOmhvdmVyLFxuICAgICY6Zm9jdXMge1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGNsb3NlLWJ1dHRvblxuLy8vL1xuXG4vLy8gRGVmYXVsdCBwb3NpdGlvbiBvZiB0aGUgY2xvc2UgYnV0dG9uLiBUaGUgZmlyc3QgdmFsdWUgc2hvdWxkIGJlIGByaWdodGAgb3IgYGxlZnRgLCBhbmQgdGhlIHNlY29uZCB2YWx1ZSBzaG91bGQgYmUgYHRvcGAgb3IgYGJvdHRvbWAuXG4vLy8gQHR5cGUgTGlzdFxuJGNsb3NlYnV0dG9uLXBvc2l0aW9uOiByaWdodCB0b3AgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHotaW5kZXggZm9yIGEgY2xvc2UgYnV0dG9uLlxuLy8vIEB0eXBlIE51bWJlclxuJGNsb3NlYnV0dG9uLXotaW5kZXg6IDEwICFkZWZhdWx0O1xuXG4vLy8gQnV0dG9uIHNpemUgdG8gdXNlIGFzIGRlZmF1bHRcbi8vLyBAdHlwZSBTdHJpbmdcbi8vLyBAc2VlICRjbG9zZWJ1dHRvbi1zaXplXG4vLy8gQHNlZSAkY2xvc2VidXR0b24tb2Zmc2V0LWhvcml6b250YWxcbi8vLyBAc2VlICRjbG9zZWJ1dHRvbi1vZmZzZXQtdmVydGljYWxcbiRjbG9zZWJ1dHRvbi1kZWZhdWx0LXNpemU6IG1lZGl1bSAhZGVmYXVsdDtcblxuLy8vIFJpZ2h0IChvciBsZWZ0KSBvZmZzZXQocykgZm9yIGEgY2xvc2UgYnV0dG9uLlxuLy8vIEB0eXBlIE51bWJlcnxNYXBcbiRjbG9zZWJ1dHRvbi1vZmZzZXQtaG9yaXpvbnRhbDogKFxuICBzbWFsbDogMC42NnJlbSxcbiAgbWVkaXVtOiAxcmVtLFxuKSAhZGVmYXVsdDtcblxuLy8vIFRvcCAob3IgYm90dG9tKSBvZmZzZXQocykgZm9yIGEgY2xvc2UgYnV0dG9uLlxuLy8vIEB0eXBlIE51bWJlcnxNYXBcbiRjbG9zZWJ1dHRvbi1vZmZzZXQtdmVydGljYWw6IChcbiAgc21hbGw6IDAuMzNlbSxcbiAgbWVkaXVtOiAwLjVyZW0sXG4pICFkZWZhdWx0O1xuXG4vLy8gU2l6ZShzKSBvZiB0aGUgY2xvc2UgYnV0dG9uLiBVc2VkIHRvIGdlbmVyYXRlIHNpemluZyBtb2RpZmllcnMuXG4vLy8gQHR5cGUgTnVtYmVyfE1hcFxuJGNsb3NlYnV0dG9uLXNpemU6IChcbiAgc21hbGw6IDEuNWVtLFxuICBtZWRpdW06IDJlbSxcbikgIWRlZmF1bHQ7XG5cbi8vLyBUaGUgbGluZS1oZWlnaHQgb2YgdGhlIGNsb3NlIGJ1dHRvbi4gSXQgYWZmZWN0cyB0aGUgc3BhY2luZyBvZiB0aGUgZWxlbWVudC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRjbG9zZWJ1dHRvbi1saW5laGVpZ2h0OiAxICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBjb2xvciBvZiB0aGUgY2xvc2UgYnV0dG9uLlxuLy8vIEB0eXBlIENvbG9yXG4kY2xvc2VidXR0b24tY29sb3I6ICRkYXJrLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGNvbG9yIG9mIHRoZSBjbG9zZSBidXR0b24gd2hlbiBiZWluZyBob3ZlcmVkIG9uLlxuLy8vIEB0eXBlIENvbG9yXG4kY2xvc2VidXR0b24tY29sb3ItaG92ZXI6ICRibGFjayAhZGVmYXVsdDtcblxuXG4vLy8gR2V0IHRoZSBzaXplIGFuZCBwb3NpdGlvbiBmb3IgYSBjbG9zZSBidXR0b24uIElmIHRoZSBpbnB1dCB2YWx1ZSBpcyBhIG51bWJlciwgdGhlIG51bWJlciBpcyByZXR1cm5lZC4gSWYgdGhlIGlucHV0IHZhbHVlIGlzIGEgY29uZmlnIG1hcCBhbmQgdGhlIG1hcCBoYXMgdGhlIGtleSBgJHNpemVgLCB0aGUgdmFsdWUgaXMgcmV0dXJuZWQuXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcnxNYXB9ICR2YWx1ZSAtIEEgbnVtYmVyIG9yIG1hcCB0aGF0IHJlcHJlc2VudHMgdGhlIHNpemUgb3IgcG9zaXRpb24gdmFsdWUocykgb2YgdGhlIGNsb3NlIGJ1dHRvbi5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRzaXplIC0gVGhlIHNpemUgb2YgdGhlIGNsb3NlIGJ1dHRvbiB0byB1c2UuXG4vLy9cbi8vLyBAcmV0dXJuIHtOdW1iZXJ9IFRoZSBnaXZlbiBudW1iZXIgb3IgdGhlIHZhbHVlIGZvdW5kIGluIHRoZSBtYXAuXG5AZnVuY3Rpb24gLXpmLWdldC1zaXplLXZhbCgkdmFsdWUsICRzaXplKSB7XG4gIC8vIENoZWNrIGlmIHRoZSB2YWx1ZSBpcyBhIG51bWJlclxuICBAaWYgdHlwZS1vZigkdmFsdWUpID09ICdudW1iZXInIHtcbiAgICAvLyBJZiBpdCBpcywganVzdCByZXR1cm4gdGhlIG51bWJlclxuICAgIEByZXR1cm4gJHZhbHVlO1xuICB9XG5cbiAgLy8gQ2hlY2sgaWYgdGhlIHNpemUgbmFtZSBleGlzdHMgaW4gdGhlIHZhbHVlIG1hcFxuICBAZWxzZSBpZiBtYXAtaGFzLWtleSgkdmFsdWUsICRzaXplKSB7XG4gICAgLy8gSWYgaXQgZG9lcywgcmV0dXJuIHRoZSB2YWx1ZVxuICAgIEByZXR1cm4gbWFwLWdldCgkdmFsdWUsICRzaXplKTtcbiAgfVxufVxuXG4vLy8gU2V0cyB0aGUgc2l6ZSBhbmQgcG9zaXRpb24gb2YgYSBjbG9zZSBidXR0b24uXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkc2l6ZSBbbWVkaXVtXSAtIFRoZSBzaXplIHRvIHVzZS4gU2V0IHRvIGBzbWFsbGAgdG8gY3JlYXRlIGEgc21hbGwgY2xvc2UgYnV0dG9uLiBUaGUgJ21lZGl1bScgdmFsdWVzIGRlZmluZWQgaW4gYCRjbG9zZWJ1dHRvbi0qYCB2YXJpYWJsZXMgd2lsbCBiZSB1c2VkIGFzIHRoZSBkZWZhdWx0IHNpemUgYW5kIHBvc2l0aW9uIG9mIHRoZSBjbG9zZSBidXR0b24uXG5AbWl4aW4gY2xvc2UtYnV0dG9uLXNpemUoJHNpemUpIHtcbiAgJHg6IG50aCgkY2xvc2VidXR0b24tcG9zaXRpb24sIDEpO1xuICAkeTogbnRoKCRjbG9zZWJ1dHRvbi1wb3NpdGlvbiwgMik7XG5cbiAgI3skeH06IC16Zi1nZXQtc2l6ZS12YWwoJGNsb3NlYnV0dG9uLW9mZnNldC1ob3Jpem9udGFsLCAkc2l6ZSk7XG4gICN7JHl9OiAtemYtZ2V0LXNpemUtdmFsKCRjbG9zZWJ1dHRvbi1vZmZzZXQtdmVydGljYWwsICRzaXplKTtcbiAgZm9udC1zaXplOiAtemYtZ2V0LXNpemUtdmFsKCRjbG9zZWJ1dHRvbi1zaXplLCAkc2l6ZSk7XG4gIGxpbmUtaGVpZ2h0OiAtemYtZ2V0LXNpemUtdmFsKCRjbG9zZWJ1dHRvbi1saW5laGVpZ2h0LCAkc2l6ZSk7XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYSBjbG9zZSBidXR0b24sIHVzaW5nIHRoZSBzdHlsZXMgaW4gdGhlIHNldHRpbmdzIHZhcmlhYmxlcy5cbkBtaXhpbiBjbG9zZS1idXR0b24ge1xuICAkeDogbnRoKCRjbG9zZWJ1dHRvbi1wb3NpdGlvbiwgMSk7XG4gICR5OiBudGgoJGNsb3NlYnV0dG9uLXBvc2l0aW9uLCAyKTtcblxuICBAaW5jbHVkZSBkaXNhYmxlLW1vdXNlLW91dGxpbmU7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgei1pbmRleDogJGNsb3NlYnV0dG9uLXotaW5kZXg7XG4gIGNvbG9yOiAkY2xvc2VidXR0b24tY29sb3I7XG4gIGN1cnNvcjogcG9pbnRlcjtcblxuICAmOmhvdmVyLFxuICAmOmZvY3VzIHtcbiAgICBjb2xvcjogJGNsb3NlYnV0dG9uLWNvbG9yLWhvdmVyO1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWNsb3NlLWJ1dHRvbiB7XG4gIC5jbG9zZS1idXR0b24ge1xuICAgIC8vIFVzZSBieSBkZWZhdWx0IHRoZSBwbGFjZWhvbGRlciBvZiB0aGUgZGVmYXVsdCBzaXplXG4gICAgQGV4dGVuZCAlemYtY2xvc2UtYnV0dG9uLS0jeyRjbG9zZWJ1dHRvbi1kZWZhdWx0LXNpemV9O1xuXG4gICAgQGluY2x1ZGUgY2xvc2UtYnV0dG9uO1xuXG4gICAgLy8gR2VuZXJhdGUgYSBwbGFjZWhvbGRlciBhbmQgYSBjbGFzcyBmb3IgZWFjaCBzaXplXG4gICAgQGVhY2ggJG5hbWUsICRzaXplIGluICRjbG9zZWJ1dHRvbi1zaXplIHtcbiAgICAgIEBhdC1yb290IHtcbiAgICAgICAgJXpmLWNsb3NlLWJ1dHRvbi0tI3skbmFtZX0ge1xuICAgICAgICAgIEBpbmNsdWRlIGNsb3NlLWJ1dHRvbi1zaXplKCRuYW1lKTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAmLiN7JG5hbWV9IHtcbiAgICAgICAgQGV4dGVuZCAlemYtY2xvc2UtYnV0dG9uLS0jeyRuYW1lfTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBsYWJlbFxuLy8vL1xuXG4vLy8gRGVmYXVsdCBiYWNrZ3JvdW5kIGNvbG9yIGZvciBsYWJlbHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRsYWJlbC1iYWNrZ3JvdW5kOiAkcHJpbWFyeS1jb2xvciAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgdGV4dCBjb2xvciBmb3IgbGFiZWxzLlxuLy8vIEB0eXBlIENvbG9yXG4kbGFiZWwtY29sb3I6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIEFsdGVybmF0ZSB0ZXh0IGNvbG9yIGZvciBsYWJlbHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRsYWJlbC1jb2xvci1hbHQ6ICRibGFjayAhZGVmYXVsdDtcblxuLy8vIENvbG9yaW5nIGNsYXNzZXMuIEEgbWFwIG9mIGNsYXNzZXMgdG8gb3V0cHV0IGluIHlvdXIgQ1NTLCBsaWtlIGAuc2Vjb25kYXJ5YCwgYC5zdWNjZXNzYCwgYW5kIHNvIG9uLlxuLy8vIEB0eXBlIE1hcFxuJGxhYmVsLXBhbGV0dGU6ICRmb3VuZGF0aW9uLXBhbGV0dGUgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZvbnQgc2l6ZSBmb3IgbGFiZWxzLlxuLy8vIEB0eXBlIE51bWJlclxuJGxhYmVsLWZvbnQtc2l6ZTogMC44cmVtICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBwYWRkaW5nIGluc2lkZSBsYWJlbHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kbGFiZWwtcGFkZGluZzogMC4zMzMzM3JlbSAwLjVyZW0gIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHJhZGl1cyBvZiBsYWJlbHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kbGFiZWwtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAhZGVmYXVsdDtcblxuLy8vIEdlbmVyYXRlcyBiYXNlIHN0eWxlcyBmb3IgYSBsYWJlbC5cbkBtaXhpbiBsYWJlbCB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgcGFkZGluZzogJGxhYmVsLXBhZGRpbmc7XG5cbiAgYm9yZGVyLXJhZGl1czogJGxhYmVsLXJhZGl1cztcblxuICBmb250LXNpemU6ICRsYWJlbC1mb250LXNpemU7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICBjdXJzb3I6IGRlZmF1bHQ7XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWxhYmVsIHtcbiAgLmxhYmVsIHtcbiAgICBAaW5jbHVkZSBsYWJlbDtcblxuICAgIGJhY2tncm91bmQ6ICRsYWJlbC1iYWNrZ3JvdW5kO1xuICAgIGNvbG9yOiAkbGFiZWwtY29sb3I7XG5cbiAgICBAZWFjaCAkbmFtZSwgJGNvbG9yIGluICRsYWJlbC1wYWxldHRlIHtcbiAgICAgICYuI3skbmFtZX0ge1xuICAgICAgICBiYWNrZ3JvdW5kOiAkY29sb3I7XG4gICAgICAgIGNvbG9yOiBjb2xvci1waWNrLWNvbnRyYXN0KCRjb2xvciwgKCRsYWJlbC1jb2xvciwgJGxhYmVsLWNvbG9yLWFsdCkpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGEgcHJvZ3Jlc3MgYmFyIGNvbnRhaW5lci5cbkBtaXhpbiBwcm9ncmVzcy1jb250YWluZXIge1xuICBoZWlnaHQ6ICRwcm9ncmVzcy1oZWlnaHQ7XG4gIG1hcmdpbi1ib3R0b206ICRwcm9ncmVzcy1tYXJnaW4tYm90dG9tO1xuICBib3JkZXItcmFkaXVzOiAkcHJvZ3Jlc3MtcmFkaXVzO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkcHJvZ3Jlc3MtYmFja2dyb3VuZDtcbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciB0aGUgaW5uZXIgbWV0ZXIgb2YgYSBwcm9ncmVzcyBiYXIuXG5AbWl4aW4gcHJvZ3Jlc3MtbWV0ZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHByb2dyZXNzLW1ldGVyLWJhY2tncm91bmQ7XG5cbiAgQGlmIGhhcy12YWx1ZSgkcHJvZ3Jlc3MtcmFkaXVzKSB7XG4gICAgYm9yZGVyLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4gIH1cbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciB0ZXh0IGluIHRoZSBwcm9ncmVzcyBtZXRlci5cbkBtaXhpbiBwcm9ncmVzcy1tZXRlci10ZXh0IHtcbiAgQGluY2x1ZGUgYWJzb2x1dGUtY2VudGVyO1xuICBtYXJnaW46IDA7XG4gIGZvbnQtc2l6ZTogMC43NXJlbTtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIGNvbG9yOiAkd2hpdGU7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG5cbiAgQGlmIGhhcy12YWx1ZSgkcHJvZ3Jlc3MtcmFkaXVzKSB7XG4gICAgYm9yZGVyLXJhZGl1czogJHByb2dyZXNzLXJhZGl1cztcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1wcm9ncmVzcy1iYXIge1xuICAvLyBQcm9ncmVzcyBiYXJcbiAgLnByb2dyZXNzIHtcbiAgICBAaW5jbHVkZSBwcm9ncmVzcy1jb250YWluZXI7XG5cbiAgICBAZWFjaCAkbmFtZSwgJGNvbG9yIGluICRmb3VuZGF0aW9uLXBhbGV0dGUge1xuICAgICAgJi4jeyRuYW1lfSB7XG4gICAgICAgIC5wcm9ncmVzcy1tZXRlciB7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gSW5uZXIgbWV0ZXJcbiAgLnByb2dyZXNzLW1ldGVyIHtcbiAgICBAaW5jbHVkZSBwcm9ncmVzcy1tZXRlcjtcbiAgfVxuXG4gIC8vIElubmVyIG1ldGVyIHRleHRcbiAgLnByb2dyZXNzLW1ldGVyLXRleHQge1xuICAgIEBpbmNsdWRlIHByb2dyZXNzLW1ldGVyLXRleHQ7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8gW1RPRE9dIENoZWNrIGhvdyBwbHVnaW4gY29uZmlybXMgZGlzYWJsZWQgb3IgdmVydGljYWwgc3RhdHVzXG4vLyBbVE9ET10gQ2hlY2sgaWYgdHJhbnNpdGlvbjogYWxsOyBpcyBuZWNlc3NhcnlcblxuLy8vL1xuLy8vIEBncm91cCBzbGlkZXJcbi8vLy9cblxuLy8vIERlZmF1bHQgc2xpZGVyIHdpZHRoIG9mIGEgdmVydGljYWwgc2xpZGVyLiAoRG9lc24ndCBhcHBseSB0byB0aGUgbmF0aXZlIHNsaWRlci4pXG4vLy8gQHR5cGUgTnVtYmVyXG4kc2xpZGVyLXdpZHRoLXZlcnRpY2FsOiAwLjVyZW0gIWRlZmF1bHQ7XG5cbi8vLyBUcmFuc2l0aW9uIHByb3BlcnRpZXMgdG8gYXBwbHkgdG8gdGhlIHNsaWRlciBoYW5kbGUgYW5kIGZpbGwuIChEb2Vzbid0IGFwcGx5IHRvIHRoZSBuYXRpdmUgc2xpZGVyLilcbi8vLyBAdHlwZSBUcmFuc2l0aW9uXG4kc2xpZGVyLXRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2UtaW4tb3V0ICFkZWZhdWx0O1xuXG4vLy8gQWRkcyB0aGUgZ2VuZXJhbCBzdHlsZXMgZm9yIHNsaWRlcnMuXG5AbWl4aW4gc2xpZGVyLWNvbnRhaW5lciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgaGVpZ2h0OiAkc2xpZGVyLWhlaWdodDtcbiAgbWFyZ2luLXRvcDogMS4yNXJlbTtcbiAgbWFyZ2luLWJvdHRvbTogMi4yNXJlbTtcblxuICBiYWNrZ3JvdW5kLWNvbG9yOiAkc2xpZGVyLWJhY2tncm91bmQ7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gIHRvdWNoLWFjdGlvbjogbm9uZTtcbn1cblxuLy8vIEFkZHMgdGhlIGdlbmVyYWwgc3R5bGVzIGZvciBhY3RpdmUgZmlsbCBmb3Igc2xpZGVycy5cbkBtaXhpbiBzbGlkZXItZmlsbCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuXG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6ICRzbGlkZXItaGVpZ2h0O1xuXG4gIGJhY2tncm91bmQtY29sb3I6ICRzbGlkZXItZmlsbC1iYWNrZ3JvdW5kO1xuICB0cmFuc2l0aW9uOiAkc2xpZGVyLXRyYW5zaXRpb247XG5cbiAgJi5pcy1kcmFnZ2luZyB7XG4gICAgdHJhbnNpdGlvbjogYWxsIDBzIGxpbmVhcjtcbiAgfVxufVxuXG4vLy8gQWRkcyB0aGUgZ2VuZXJhbCBzdHlsZXMgZm9yIHRoZSBzbGlkZXIgaGFuZGxlcy5cbkBtaXhpbiBzbGlkZXItaGFuZGxlIHtcbiAgQGluY2x1ZGUgZGlzYWJsZS1tb3VzZS1vdXRsaW5lO1xuICBAaW5jbHVkZSB2ZXJ0aWNhbC1jZW50ZXI7XG4gIGxlZnQ6IDA7XG4gIHotaW5kZXg6IDE7XG4gIGN1cnNvcjogZ3JhYjtcblxuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHdpZHRoOiAkc2xpZGVyLWhhbmRsZS13aWR0aDtcbiAgaGVpZ2h0OiAkc2xpZGVyLWhhbmRsZS1oZWlnaHQ7XG5cbiAgYm9yZGVyLXJhZGl1czogJHNsaWRlci1yYWRpdXM7XG4gIGJhY2tncm91bmQtY29sb3I6ICRzbGlkZXItaGFuZGxlLWJhY2tncm91bmQ7XG4gIHRyYW5zaXRpb246ICRzbGlkZXItdHJhbnNpdGlvbjtcbiAgdG91Y2gtYWN0aW9uOiBtYW5pcHVsYXRpb247XG5cbiAgJjpob3ZlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogc2NhbGUtY29sb3IoJHNsaWRlci1oYW5kbGUtYmFja2dyb3VuZCwgJGxpZ2h0bmVzczogLTE1JSk7XG4gIH1cblxuICAmLmlzLWRyYWdnaW5nIHtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMHMgbGluZWFyO1xuICAgIGN1cnNvcjogZ3JhYmJpbmc7XG4gIH1cbn1cblxuQG1peGluIHNsaWRlci1kaXNhYmxlZCB7XG4gIG9wYWNpdHk6ICRzbGlkZXItb3BhY2l0eS1kaXNhYmxlZDtcbiAgY3Vyc29yOiBub3QtYWxsb3dlZDtcbn1cblxuQG1peGluIHNsaWRlci12ZXJ0aWNhbCB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgd2lkdGg6ICRzbGlkZXItd2lkdGgtdmVydGljYWw7XG4gIGhlaWdodDogMTIuNXJlbTtcbiAgbWFyZ2luOiAwIDEuMjVyZW07XG4gIHRyYW5zZm9ybTogc2NhbGUoMSwgLTEpO1xuXG4gIC5zbGlkZXItZmlsbCB7XG4gICAgdG9wOiAwO1xuICAgIHdpZHRoOiAkc2xpZGVyLXdpZHRoLXZlcnRpY2FsO1xuICAgIG1heC1oZWlnaHQ6IDEwMCU7XG4gIH1cblxuICAuc2xpZGVyLWhhbmRsZSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiA1MCU7XG4gICAgd2lkdGg6ICRzbGlkZXItaGFuZGxlLWhlaWdodDtcbiAgICBoZWlnaHQ6ICRzbGlkZXItaGFuZGxlLXdpZHRoO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1zbGlkZXIge1xuICAvLyBDb250YWluZXJcbiAgLnNsaWRlciB7XG4gICAgQGluY2x1ZGUgc2xpZGVyLWNvbnRhaW5lcjtcbiAgfVxuXG4gIC8vIEZpbGwgYXJlYVxuICAuc2xpZGVyLWZpbGwge1xuICAgIEBpbmNsdWRlIHNsaWRlci1maWxsO1xuICB9XG5cbiAgLy8gRHJhZ2dhYmxlIGhhbmRsZVxuICAuc2xpZGVyLWhhbmRsZSB7XG4gICAgQGluY2x1ZGUgc2xpZGVyLWhhbmRsZTtcbiAgfVxuXG4gIC8vIERpc2FibGVkIHN0YXRlXG4gIC5zbGlkZXIuZGlzYWJsZWQsXG4gIC5zbGlkZXJbZGlzYWJsZWRdIHtcbiAgICBAaW5jbHVkZSBzbGlkZXItZGlzYWJsZWQ7XG4gIH1cblxuICAvLyBWZXJ0aWNhbCBzbGlkZXJcbiAgLnNsaWRlci52ZXJ0aWNhbCB7XG4gICAgQGluY2x1ZGUgc2xpZGVyLXZlcnRpY2FsO1xuICB9XG5cbiAgLy8gUlRMIHN1cHBvcnRcbiAgQGlmICRnbG9iYWwtdGV4dC1kaXJlY3Rpb24gPT0gcnRsIHtcbiAgICAuc2xpZGVyOm5vdCgudmVydGljYWwpIHtcbiAgICAgIHRyYW5zZm9ybTogc2NhbGUoLTEsIDEpO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG5AaW1wb3J0ICdtYXRoJztcblxuJGNvbnRyYXN0LXdhcm5pbmdzOiB0cnVlICFkZWZhdWx0O1xuXG4vLy8gUGF0Y2ggdG8gZml4IGlzc3VlICMxMjA4MFxuJHByaW1hcnktY29sb3I6IG51bGwgIWRlZmF1bHQ7XG4kc2Vjb25kYXJ5LWNvbG9yOiBudWxsICFkZWZhdWx0O1xuJHdhcm5pbmctY29sb3I6IG51bGwgIWRlZmF1bHQ7XG4kYWxlcnQtY29sb3I6IG51bGwgIWRlZmF1bHQ7XG4kc3VjY2Vzcy1jb2xvcjogbnVsbCAhZGVmYXVsdDtcblxuLy8vL1xuLy8vIEBncm91cCBmdW5jdGlvbnNcbi8vLy9cblxuLy8vIENoZWNrcyB0aGUgbHVtaW5hbmNlIG9mIGAkY29sb3JgLlxuLy8vXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yIC0gQ29sb3IgdG8gY2hlY2sgdGhlIGx1bWluYW5jZSBvZi5cbi8vL1xuLy8vIEByZXR1cm5zIHtOdW1iZXJ9IFRoZSBsdW1pbmFuY2Ugb2YgYCRjb2xvcmAuXG5AZnVuY3Rpb24gY29sb3ItbHVtaW5hbmNlKCRjb2xvcikge1xuICAvLyBBZGFwdGVkIGZyb206IGh0dHBzOi8vZ2l0aHViLmNvbS9MZWFWZXJvdS9jb250cmFzdC1yYXRpby9ibG9iL2doLXBhZ2VzL2NvbG9yLmpzXG4gIC8vIEZvcm11bGE6IGh0dHA6Ly93d3cudzMub3JnL1RSLzIwMDgvUkVDLVdDQUcyMC0yMDA4MTIxMS8jcmVsYXRpdmVsdW1pbmFuY2VkZWZcbiAgJHJnYmE6IHJlZCgkY29sb3IpLCBncmVlbigkY29sb3IpLCBibHVlKCRjb2xvcik7XG4gICRyZ2JhMjogKCk7XG5cbiAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAzIHtcbiAgICAkcmdiOiBudGgoJHJnYmEsICRpKTtcbiAgICAkcmdiOiBkaXZpZGUoJHJnYiwgMjU1KTtcblxuICAgICRyZ2I6IGlmKCRyZ2IgPCAwLjAzOTI4LCBkaXZpZGUoJHJnYiwgMTIuOTIpLCBwb3coZGl2aWRlKCRyZ2IgKyAwLjA1NSwgMS4wNTUpLCAyLjQpKTtcblxuICAgICRyZ2JhMjogYXBwZW5kKCRyZ2JhMiwgJHJnYik7XG4gIH1cblxuICBAcmV0dXJuIDAuMjEyNiAqIG50aCgkcmdiYTIsIDEpICsgMC43MTUyICogbnRoKCRyZ2JhMiwgMikgKyAwLjA3MjIgKiBudGgoJHJnYmEyLCAzKTtcbn1cblxuLy8vIENoZWNrcyB0aGUgY29udHJhc3QgcmF0aW8gb2YgdHdvIGNvbG9ycy5cbi8vL1xuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvcjEgLSBGaXJzdCBjb2xvciB0byBjb21wYXJlLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvcjIgLSBTZWNvbmQgY29sb3IgdG8gY29tcGFyZS5cbi8vL1xuLy8vIEByZXR1cm5zIHtOdW1iZXJ9IFRoZSBjb250cmFzdCByYXRpbyBvZiB0aGUgY29tcGFyZWQgY29sb3JzLlxuQGZ1bmN0aW9uIGNvbG9yLWNvbnRyYXN0KCRjb2xvcjEsICRjb2xvcjIpIHtcbiAgLy8gQWRhcHRlZCBmcm9tOiBodHRwczovL2dpdGh1Yi5jb20vTGVhVmVyb3UvY29udHJhc3QtcmF0aW8vYmxvYi9naC1wYWdlcy9jb2xvci5qc1xuICAvLyBGb3JtdWxhOiBodHRwOi8vd3d3LnczLm9yZy9UUi8yMDA4L1JFQy1XQ0FHMjAtMjAwODEyMTEvI2NvbnRyYXN0LXJhdGlvZGVmXG4gICRsdW1pbmFuY2UxOiBjb2xvci1sdW1pbmFuY2UoJGNvbG9yMSkgKyAwLjA1O1xuICAkbHVtaW5hbmNlMjogY29sb3ItbHVtaW5hbmNlKCRjb2xvcjIpICsgMC4wNTtcbiAgJHJhdGlvOiBkaXZpZGUoJGx1bWluYW5jZTEsICRsdW1pbmFuY2UyKTtcblxuICBAaWYgJGx1bWluYW5jZTIgPiAkbHVtaW5hbmNlMSB7XG4gICAgJHJhdGlvOiBkaXZpZGUoMSwgJHJhdGlvKTtcbiAgfVxuXG4gICRyYXRpbzogcm91bmQoJHJhdGlvICogMTApICogMC4xO1xuXG4gIEByZXR1cm4gJHJhdGlvO1xufVxuXG4vLy8gQ2hlY2tzIHRoZSBsdW1pbmFuY2Ugb2YgYCRiYXNlYCwgYW5kIHJldHVybnMgdGhlIGNvbG9yIGZyb20gYCRjb2xvcnNgIChsaXN0IG9mIGNvbG9ycykgdGhhdCBoYXMgdGhlIG1vc3QgY29udHJhc3QuXG4vLy9cbi8vLyBAcGFyYW0ge0NvbG9yfSAkYmFzZSAtIENvbG9yIHRvIGNoZWNrIGx1bWluYW5jZS5cbi8vLyBAcGFyYW0ge0xpc3R9ICRjb2xvcnMgWygkd2hpdGUsICRibGFjayldIC0gQ29sb3JzIHRvIGNvbXBhcmUuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICR0b2xlcmFuY2UgWyRnbG9iYWwtY29sb3ItcGljay1jb250cmFzdC10b2xlcmFuY2VdIC0gQ29udHJhc3QgdG9sZXJhbmNlLlxuLy8vXG4vLy8gQHJldHVybnMge0NvbG9yfSB0aGUgY29sb3IgZnJvbSBgJGNvbG9yc2AgKGxpc3Qgb2YgY29sb3JzKSB0aGF0IGhhcyB0aGUgbW9zdCBjb250cmFzdC5cbkBmdW5jdGlvbiBjb2xvci1waWNrLWNvbnRyYXN0KCRiYXNlLCAkY29sb3JzOiAoJHdoaXRlLCAkYmxhY2spLCAkdG9sZXJhbmNlOiAkZ2xvYmFsLWNvbG9yLXBpY2stY29udHJhc3QtdG9sZXJhbmNlKSB7XG4gICRjb250cmFzdDogY29sb3ItY29udHJhc3QoJGJhc2UsIG50aCgkY29sb3JzLCAxKSk7XG4gICRiZXN0OiBudGgoJGNvbG9ycywgMSk7XG5cbiAgQGZvciAkaSBmcm9tIDIgdGhyb3VnaCBsZW5ndGgoJGNvbG9ycykge1xuICAgICRjdXJyZW50LWNvbnRyYXN0OiBjb2xvci1jb250cmFzdCgkYmFzZSwgbnRoKCRjb2xvcnMsICRpKSk7XG4gICAgQGlmICgkY3VycmVudC1jb250cmFzdCAtICRjb250cmFzdCA+ICR0b2xlcmFuY2UpIHtcbiAgICAgICRjb250cmFzdDogY29sb3ItY29udHJhc3QoJGJhc2UsIG50aCgkY29sb3JzLCAkaSkpO1xuICAgICAgJGJlc3Q6IG50aCgkY29sb3JzLCAkaSk7XG4gICAgfVxuICB9XG5cbiAgQGlmICgkY29udHJhc3Qtd2FybmluZ3MgYW5kICRjb250cmFzdCA8IDMpIHtcbiAgICBAd2FybiAnQ29udHJhc3QgcmF0aW8gb2YgI3skYmVzdH0gb24gI3skYmFzZX0gaXMgcHJldHR5IGJhZCwganVzdCAjeyRjb250cmFzdH0nO1xuICB9XG5cbiAgQHJldHVybiAkYmVzdDtcbn1cblxuLy8vIFNjYWxlcyBhIGNvbG9yIHRvIGJlIGRhcmtlciBpZiBpdCdzIGxpZ2h0LCBvciBsaWdodGVyIGlmIGl0J3MgZGFyay4gVXNlIHRoaXMgZnVuY3Rpb24gdG8gdGludCBhIGNvbG9yIGFwcHJvcHJpYXRlIHRvIGl0cyBsaWdodG5lc3MuXG4vLy9cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IgLSBDb2xvciB0byBzY2FsZS5cbi8vLyBAcGFyYW0ge1BlcmNlbnRhZ2V9ICRzY2FsZSBbNSVdIC0gQW1vdW50IHRvIHNjYWxlIHVwIG9yIGRvd24uXG4vLy8gQHBhcmFtIHtQZXJjZW50YWdlfSAkdGhyZXNob2xkIFs0MCVdIC0gVGhyZXNob2xkIG9mIGxpZ2h0bmVzcyB0byBjaGVjayBhZ2FpbnN0LlxuLy8vXG4vLy8gQHJldHVybnMge0NvbG9yfSBBIHNjYWxlZCBjb2xvci5cbkBmdW5jdGlvbiBzbWFydC1zY2FsZSgkY29sb3IsICRzY2FsZTogNSUsICR0aHJlc2hvbGQ6IDQwJSkge1xuICBAaWYgbGlnaHRuZXNzKCRjb2xvcikgPiAkdGhyZXNob2xkIHtcbiAgICAkc2NhbGU6IC0kc2NhbGU7XG4gIH1cbiAgQHJldHVybiBzY2FsZS1jb2xvcigkY29sb3IsICRsaWdodG5lc3M6ICRzY2FsZSk7XG59XG5cbi8vLyBHZXQgY29sb3IgZnJvbSBmb3VuZGF0aW9uLXBhbGV0dGVcbi8vL1xuLy8vIEBwYXJhbSB7a2V5fSBjb2xvciBrZXkgZnJvbSBmb3VuZGF0aW9uLXBhbGV0dGVcbi8vL1xuLy8vIEByZXR1cm5zIHtDb2xvcn0gY29sb3IgZnJvbSBmb3VuZGF0aW9uLXBhbGV0dGVcbkBmdW5jdGlvbiBnZXQtY29sb3IoJGtleSkge1xuICBAaWYgbWFwLWhhcy1rZXkoJGZvdW5kYXRpb24tcGFsZXR0ZSwgJGtleSkge1xuICAgIEByZXR1cm4gbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCAka2V5KTtcbiAgfVxuICBAZWxzZSB7XG4gICAgQGVycm9yICdnaXZlbiAka2V5IGlzIG5vdCBhdmFpbGFibGUgaW4gJGZvdW5kYXRpb24tcGFsZXR0ZSc7XG4gIH1cbn1cblxuLy8vIFRyYW5zZmVycyB0aGUgY29sb3JzIGluIHRoZSBgJGZvdW5kYXRpb24tcGFsZXR0ZWAgbWFwIGludG8gdmFyaWFibGVzLCBzdWNoIGFzIGAkcHJpbWFyeS1jb2xvcmAgYW5kIGAkc2Vjb25kYXJ5LWNvbG9yYC4gQ2FsbCB0aGlzIG1peGluIGJlbG93IHRoZSBHbG9iYWwgc2VjdGlvbiBvZiB5b3VyIHNldHRpbmdzIGZpbGUgdG8gcHJvcGVybHkgbWlncmF0ZSB5b3VyIGNvZGViYXNlLlxuQG1peGluIGFkZC1mb3VuZGF0aW9uLWNvbG9ycygpIHtcbiAgQGlmIG1hcC1oYXMta2V5KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHByaW1hcnkpIHtcbiAgICAkcHJpbWFyeS1jb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBwcmltYXJ5KSAhZ2xvYmFsO1xuICB9IEBlbHNlIHtcbiAgICAkcHJpbWFyeS1jb2xvcjogIzE3NzliYSAhZ2xvYmFsO1xuICB9XG4gIEBpZiBtYXAtaGFzLWtleSgkZm91bmRhdGlvbi1wYWxldHRlLCBzZWNvbmRhcnkpIHtcbiAgICAkc2Vjb25kYXJ5LWNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHNlY29uZGFyeSkgIWdsb2JhbDtcbiAgfSBAZWxzZSB7XG4gICAgJHNlY29uZGFyeS1jb2xvcjogIzc2NzY3NiAhZ2xvYmFsO1xuICB9XG4gIEBpZiBtYXAtaGFzLWtleSgkZm91bmRhdGlvbi1wYWxldHRlLCBzdWNjZXNzKSB7XG4gICAgJHN1Y2Nlc3MtY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgc3VjY2VzcykgIWdsb2JhbDtcbiAgfSBAZWxzZSB7XG4gICAgJHN1Y2Nlc3MtY29sb3I6ICMzYWRiNzYgIWdsb2JhbDtcbiAgfVxuICBAaWYgbWFwLWhhcy1rZXkoJGZvdW5kYXRpb24tcGFsZXR0ZSwgd2FybmluZykge1xuICAgICR3YXJuaW5nLWNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHdhcm5pbmcpICFnbG9iYWw7XG4gIH0gQGVsc2Uge1xuICAgICR3YXJuaW5nLWNvbG9yOiAjZmZhZTAwICFnbG9iYWw7XG4gIH1cbiAgQGlmIG1hcC1oYXMta2V5KCRmb3VuZGF0aW9uLXBhbGV0dGUsIGFsZXJ0KSB7XG4gICAgJGFsZXJ0LWNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIGFsZXJ0KSAhZ2xvYmFsO1xuICB9IEBlbHNlIHtcbiAgICAkYWxlcnQtY29sb3I6ICNjYzRiMzcgIWdsb2JhbDtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHN3aXRjaFxuLy8vL1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBvZiBhIHN3aXRjaC5cbi8vLyBAdHlwZSBDb2xvclxuJHN3aXRjaC1iYWNrZ3JvdW5kOiAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGFjdGl2ZSBjb2xvciBvZiBhIHN3aXRjaC5cbi8vLyBAdHlwZSBDb2xvclxuJHN3aXRjaC1iYWNrZ3JvdW5kLWFjdGl2ZTogJHByaW1hcnktY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBIZWlnaHQgb2YgYSBzd2l0Y2gsIHdpdGggbm8gY2xhc3MgYXBwbGllZC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRzd2l0Y2gtaGVpZ2h0OiAycmVtICFkZWZhdWx0O1xuXG4vLy8gSGVpZ2h0IG9mIGEgc3dpdGNoIHdpdGggLnRpbnkgY2xhc3MuXG4vLy8gQHR5cGUgTnVtYmVyXG4kc3dpdGNoLWhlaWdodC10aW55OiAxLjVyZW0gIWRlZmF1bHQ7XG5cbi8vLyBIZWlnaHQgb2YgYSBzd2l0Y2ggd2l0aCAuc21hbGwgY2xhc3MuXG4vLy8gQHR5cGUgTnVtYmVyXG4kc3dpdGNoLWhlaWdodC1zbWFsbDogMS43NXJlbSAhZGVmYXVsdDtcblxuLy8vIEhlaWdodCBvZiBhIHN3aXRjaCB3aXRoIC5sYXJnZSBjbGFzcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRzd2l0Y2gtaGVpZ2h0LWxhcmdlOiAyLjVyZW0gIWRlZmF1bHQ7XG5cbi8vLyBCb3JkZXIgcmFkaXVzIG9mIHRoZSBzd2l0Y2hcbi8vLyBAdHlwZSBOdW1iZXJcbiRzd2l0Y2gtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAhZGVmYXVsdDtcblxuLy8vIGJvcmRlciBhcm91bmQgYSBtb2RhbC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRzd2l0Y2gtbWFyZ2luOiAkZ2xvYmFsLW1hcmdpbiAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3IgZm9yIHRoZSBzd2l0Y2ggY29udGFpbmVyIGFuZCBwYWRkbGUuXG4vLy8gQHR5cGUgQ29sb3JcbiRzd2l0Y2gtcGFkZGxlLWJhY2tncm91bmQ6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIFNwYWNpbmcgYmV0d2VlbiBhIHN3aXRjaCBwYWRkbGUgYW5kIHRoZSBlZGdlIG9mIHRoZSBib2R5LlxuLy8vIEB0eXBlIE51bWJlclxuJHN3aXRjaC1wYWRkbGUtb2Zmc2V0OiAwLjI1cmVtICFkZWZhdWx0O1xuXG4vLy8gYm9yZGVyIHJhZGl1cyBvZiB0aGUgc3dpdGNoIHBhZGRsZVxuLy8vIEB0eXBlIE51bWJlclxuJHN3aXRjaC1wYWRkbGUtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAhZGVmYXVsdDtcblxuLy8vIHN3aXRjaCB0cmFuc2l0aW9uLlxuLy8vIEB0eXBlIE51bWJlclxuJHN3aXRjaC1wYWRkbGUtdHJhbnNpdGlvbjogYWxsIDAuMjVzIGVhc2Utb3V0ICFkZWZhdWx0O1xuXG4vLy8gT3BhY2l0eSBvZiBhIGRpc2FibGVkIHN3aXRjaC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRzd2l0Y2gtb3BhY2l0eS1kaXNhYmxlZDogMC41ICFkZWZhdWx0O1xuXG4vLy8gQ3Vyc29yIGZvciBhIGRpc2FibGVkIHN3aXRjaC5cbi8vLyBAdHlwZSBDdXJzb3JcbiRzd2l0Y2gtY3Vyc29yLWRpc2FibGVkOiBub3QtYWxsb3dlZCAhZGVmYXVsdDtcblxuLy8gbWFrZSB0aGVtIHZhcmlhYmxlc1xuLy8gYXNrIGFib3V0IGFjY2Vzc2liaWxpdHkgb24gbGFiZWxcbi8vIGNoYW5nZSBjbGFzcyBuYW1lIGZvciB0ZXh0XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYSBzd2l0Y2ggY29udGFpbmVyLiBBcHBseSB0aGlzIHRvIGEgY29udGFpbmVyIGNsYXNzLlxuQG1peGluIHN3aXRjaC1jb250YWluZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1hcmdpbi1ib3R0b206ICRzd2l0Y2gtbWFyZ2luO1xuICBvdXRsaW5lOiAwO1xuXG4gIC8vIFRoZXNlIHByb3BlcnRpZXMgY2FzY2FkZSBkb3duIHRvIHRoZSBzd2l0Y2ggdGV4dFxuICBmb250LXNpemU6IHJlbS1jYWxjKDE0KTtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIGNvbG9yOiAkd2hpdGU7XG5cbiAgdXNlci1zZWxlY3Q6IG5vbmU7XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYSBzd2l0Y2ggaW5wdXQuIEFwcGx5IHRoaXMgdG8gYW4gYDxpbnB1dD5gIHdpdGhpbiBhIHN3aXRjaC5cbkBtaXhpbiBzd2l0Y2gtaW5wdXQge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIG1hcmdpbi1ib3R0b206IDA7XG4gIG9wYWNpdHk6IDA7XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgdGhlIGJhY2tncm91bmQgYW5kIHBhZGRsZSBvZiBhIHN3aXRjaC4gQXBwbHkgdGhpcyB0byBhIGA8bGFiZWw+YCB3aXRoaW4gYSBzd2l0Y2guXG5AbWl4aW4gc3dpdGNoLXBhZGRsZSB7XG4gICRzd2l0Y2gtd2lkdGg6ICRzd2l0Y2gtaGVpZ2h0ICogMjtcbiAgJHBhZGRsZS1oZWlnaHQ6ICRzd2l0Y2gtaGVpZ2h0IC0gKCRzd2l0Y2gtcGFkZGxlLW9mZnNldCAqIDIpO1xuICAkcGFkZGxlLXdpZHRoOiAkc3dpdGNoLWhlaWdodCAtICgkc3dpdGNoLXBhZGRsZS1vZmZzZXQgKiAyKTtcbiAgJHBhZGRsZS1hY3RpdmUtb2ZmZXN0OiAkc3dpdGNoLXdpZHRoIC0gJHBhZGRsZS13aWR0aCAtICRzd2l0Y2gtcGFkZGxlLW9mZnNldDtcblxuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogJHN3aXRjaC13aWR0aDtcbiAgaGVpZ2h0OiAkc3dpdGNoLWhlaWdodDtcblxuICBib3JkZXItcmFkaXVzOiAkc3dpdGNoLXJhZGl1cztcbiAgYmFja2dyb3VuZDogJHN3aXRjaC1iYWNrZ3JvdW5kO1xuICB0cmFuc2l0aW9uOiAkc3dpdGNoLXBhZGRsZS10cmFuc2l0aW9uO1xuXG4gIC8vIFJlc2V0dGluZyB0aGVzZSA8bGFiZWw+IHByZXNldHMgc28gdHlwZSBzdHlsZXMgY2FzY2FkZSBkb3duXG4gIGZvbnQtd2VpZ2h0OiBpbmhlcml0O1xuICBjb2xvcjogaW5oZXJpdDtcblxuICBjdXJzb3I6IHBvaW50ZXI7XG5cbiAgLy8gTmVlZGVkIHRvIG92ZXJyaWRlIHNwZWNpZmljaXR5XG4gIGlucHV0ICsgJiB7XG4gICAgbWFyZ2luOiAwO1xuICB9XG5cbiAgLy8gVGhlIHBhZGRsZSBpdHNlbGZcbiAgJjo6YWZ0ZXIge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6ICRzd2l0Y2gtcGFkZGxlLW9mZnNldDtcbiAgICAjeyRnbG9iYWwtbGVmdH06ICRzd2l0Y2gtcGFkZGxlLW9mZnNldDtcblxuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAkcGFkZGxlLXdpZHRoO1xuICAgIGhlaWdodDogJHBhZGRsZS1oZWlnaHQ7XG5cbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIGJvcmRlci1yYWRpdXM6ICRzd2l0Y2gtcGFkZGxlLXJhZGl1cztcbiAgICBiYWNrZ3JvdW5kOiAkc3dpdGNoLXBhZGRsZS1iYWNrZ3JvdW5kO1xuICAgIHRyYW5zaXRpb246ICRzd2l0Y2gtcGFkZGxlLXRyYW5zaXRpb247XG4gICAgY29udGVudDogJyc7XG4gIH1cblxuICAvLyBDaGFuZ2UgdGhlIHZpc3VhbCBzdHlsZSB3aGVuIHRoZSBzd2l0Y2ggaXMgYWN0aXZlXG4gIGlucHV0OmNoZWNrZWQgfiAmIHtcbiAgICBiYWNrZ3JvdW5kOiAkc3dpdGNoLWJhY2tncm91bmQtYWN0aXZlO1xuXG4gICAgJjo6YWZ0ZXIge1xuICAgICAgI3skZ2xvYmFsLWxlZnR9OiAkcGFkZGxlLWFjdGl2ZS1vZmZlc3Q7XG4gICAgfVxuICB9XG5cbiAgLy8gaW5kaWNhdGUgYSBkaXNhYmxlZCBzd2l0Y2hcbiAgaW5wdXQ6ZGlzYWJsZWQgfiAmIHtcbiAgICBjdXJzb3I6ICRzd2l0Y2gtY3Vyc29yLWRpc2FibGVkO1xuICAgIG9wYWNpdHk6ICRzd2l0Y2gtb3BhY2l0eS1kaXNhYmxlZDtcbiAgfVxuXG4gIGlucHV0OmZvY3VzIH4gJiB7XG4gICAgQGluY2x1ZGUgZGlzYWJsZS1tb3VzZS1vdXRsaW5lO1xuICB9XG59XG5cbi8vLyBBZGRzIGJhc2Ugc3R5bGVzIGZvciBhY3RpdmUvaW5hY3RpdmUgdGV4dCBpbnNpZGUgYSBzd2l0Y2guIEFwcGx5IHRoaXMgdG8gdGV4dCBlbGVtZW50cyBpbnNpZGUgdGhlIHN3aXRjaCBgPGxhYmVsPmAuXG5AbWl4aW4gc3dpdGNoLXRleHQge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogNTAlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgdGhlIGFjdGl2ZSBzdGF0ZSB0ZXh0IHdpdGhpbiBhIHN3aXRjaC5cbkBtaXhpbiBzd2l0Y2gtdGV4dC1hY3RpdmUge1xuICAjeyRnbG9iYWwtbGVmdH06IDglO1xuICBkaXNwbGF5OiBub25lO1xuXG4gIGlucHV0OmNoZWNrZWQgKyBsYWJlbCA+ICYge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgdGhlIGluYWN0aXZlIHN0YXRlIHRleHQgd2l0aGluIGEgc3dpdGNoLlxuQG1peGluIHN3aXRjaC10ZXh0LWluYWN0aXZlIHtcbiAgI3skZ2xvYmFsLXJpZ2h0fTogMTUlO1xuXG4gIGlucHV0OmNoZWNrZWQgKyBsYWJlbCA+ICYge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cblxuLy8vIENoYW5nZXMgdGhlIHNpemUgb2YgYSBzd2l0Y2ggYnkgbW9kaWZ5aW5nIHRoZSBzaXplIG9mIHRoZSBib2R5IGFuZCBwYWRkbGUuIEFwcGx5IHRoaXMgdG8gYSBzd2l0Y2ggY29udGFpbmVyLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkZm9udC1zaXplIFsxcmVtXSAtIEZvbnQgc2l6ZSBvZiBsYWJlbCB0ZXh0IHdpdGhpbiB0aGUgc3dpdGNoLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkc3dpdGNoLWhlaWdodCBbMnJlbV0gLSBIZWlnaHQgb2YgdGhlIHN3aXRjaCBib2R5LlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkcGFkZGxlLW9mZnNldCBbMC4yNXJlbV0gLSBTcGFjaW5nIGJldHdlZW4gdGhlIHN3aXRjaCBwYWRkbGUgYW5kIHRoZSBlZGdlIG9mIHRoZSBzd2l0Y2ggYm9keS5cbkBtaXhpbiBzd2l0Y2gtc2l6ZShcbiAgJGZvbnQtc2l6ZTogMXJlbSxcbiAgJHN3aXRjaC1oZWlnaHQ6IDJyZW0sXG4gICRwYWRkbGUtb2Zmc2V0OiAwLjI1cmVtXG4pIHtcblxuICAkc3dpdGNoLXdpZHRoOiAkc3dpdGNoLWhlaWdodCAqIDI7XG4gICRwYWRkbGUtd2lkdGg6ICRzd2l0Y2gtaGVpZ2h0IC0gKCRwYWRkbGUtb2Zmc2V0ICogMik7XG4gICRwYWRkbGUtaGVpZ2h0OiAkc3dpdGNoLWhlaWdodCAtICgkcGFkZGxlLW9mZnNldCAqIDIpO1xuICAkcGFkZGxlLWFjdGl2ZS1vZmZlc3Q6ICRzd2l0Y2gtd2lkdGggLSAkcGFkZGxlLXdpZHRoIC0gJHBhZGRsZS1vZmZzZXQ7XG5cbiAgaGVpZ2h0OiAkc3dpdGNoLWhlaWdodDtcblxuICAuc3dpdGNoLXBhZGRsZSB7XG4gICAgd2lkdGg6ICRzd2l0Y2gtd2lkdGg7XG4gICAgaGVpZ2h0OiAkc3dpdGNoLWhlaWdodDtcbiAgICBmb250LXNpemU6ICRmb250LXNpemU7XG4gIH1cblxuICAuc3dpdGNoLXBhZGRsZTo6YWZ0ZXIge1xuICAgIHRvcDogJHBhZGRsZS1vZmZzZXQ7XG4gICAgI3skZ2xvYmFsLWxlZnR9OiAkcGFkZGxlLW9mZnNldDtcbiAgICB3aWR0aDogJHBhZGRsZS13aWR0aDtcbiAgICBoZWlnaHQ6ICRwYWRkbGUtaGVpZ2h0O1xuICB9XG5cbiAgaW5wdXQ6Y2hlY2tlZCB+IC5zd2l0Y2gtcGFkZGxlOjphZnRlciB7XG4gICAgI3skZ2xvYmFsLWxlZnR9OiAkcGFkZGxlLWFjdGl2ZS1vZmZlc3Q7XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tc3dpdGNoIHtcbiAgLy8gQ29udGFpbmVyIGNsYXNzXG4gIC5zd2l0Y2gge1xuICAgIEBpbmNsdWRlIHN3aXRjaC1jb250YWluZXI7XG4gICAgaGVpZ2h0OiAkc3dpdGNoLWhlaWdodDtcbiAgfVxuXG4gIC8vIDxpbnB1dD4gZWxlbWVudFxuICAuc3dpdGNoLWlucHV0IHtcbiAgICBAaW5jbHVkZSBzd2l0Y2gtaW5wdXQ7XG4gIH1cblxuICAvLyA8bGFiZWw+IGVsZW1lbnRcbiAgLnN3aXRjaC1wYWRkbGUge1xuICAgIEBpbmNsdWRlIHN3aXRjaC1wYWRkbGU7XG4gIH1cblxuICAvLyBCYXNlIGxhYmVsIHRleHQgc3R5bGVzXG4gICVzd2l0Y2gtdGV4dCB7XG4gICAgQGluY2x1ZGUgc3dpdGNoLXRleHQ7XG4gIH1cblxuICAvLyBBY3RpdmUgbGFiZWwgdGV4dCBzdHlsZXNcbiAgLnN3aXRjaC1hY3RpdmUge1xuICAgIEBleHRlbmQgJXN3aXRjaC10ZXh0O1xuICAgIEBpbmNsdWRlIHN3aXRjaC10ZXh0LWFjdGl2ZTtcbiAgfVxuXG4gIC8vIEluYWN0aXZlIGxhYmVsIHRleHQgc3R5bGVzXG4gIC5zd2l0Y2gtaW5hY3RpdmUge1xuICAgIEBleHRlbmQgJXN3aXRjaC10ZXh0O1xuICAgIEBpbmNsdWRlIHN3aXRjaC10ZXh0LWluYWN0aXZlO1xuICB9XG5cbiAgLy8gU3dpdGNoIHNpemVzXG4gIC5zd2l0Y2gudGlueSB7XG4gICAgQGluY2x1ZGUgc3dpdGNoLXNpemUocmVtLWNhbGMoMTApLCAkc3dpdGNoLWhlaWdodC10aW55LCAkc3dpdGNoLXBhZGRsZS1vZmZzZXQpO1xuICB9XG5cbiAgLnN3aXRjaC5zbWFsbCB7XG4gICAgQGluY2x1ZGUgc3dpdGNoLXNpemUocmVtLWNhbGMoMTIpLCAkc3dpdGNoLWhlaWdodC1zbWFsbCwgJHN3aXRjaC1wYWRkbGUtb2Zmc2V0KTtcbiAgfVxuXG4gIC5zd2l0Y2gubGFyZ2Uge1xuICAgIEBpbmNsdWRlIHN3aXRjaC1zaXplKHJlbS1jYWxjKDE2KSwgJHN3aXRjaC1oZWlnaHQtbGFyZ2UsICRzd2l0Y2gtcGFkZGxlLW9mZnNldCk7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8gc2Fzcy1saW50OmRpc2FibGUgbm8tcXVhbGlmeWluZy1lbGVtZW50c1xuXG4vLy8vXG4vLy8gQGdyb3VwIHRhYmxlXG4vLy8vXG5cbi8vLyBEZWZhdWx0IGNvbG9yIGZvciB0YWJsZSBiYWNrZ3JvdW5kLlxuLy8vIEB0eXBlIENvbG9yXG4kdGFibGUtYmFja2dyb3VuZDogJHdoaXRlICAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgc2NhbGUgZm9yIGRhcmtlbmluZyB0aGUgc3RyaXBlZCB0YWJsZSByb3dzIGFuZCB0aGUgdGFibGUgYm9yZGVyLlxuLy8vIEB0eXBlIE51bWJlclxuJHRhYmxlLWNvbG9yLXNjYWxlOiA1JSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgc3R5bGUgZm9yIHRhYmxlIGJvcmRlci5cbi8vLyBAdHlwZSBMaXN0XG4kdGFibGUtYm9yZGVyOiAxcHggc29saWQgc21hcnQtc2NhbGUoJHRhYmxlLWJhY2tncm91bmQsICR0YWJsZS1jb2xvci1zY2FsZSkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHBhZGRpbmcgZm9yIHRhYmxlLlxuLy8vIEB0eXBlIE51bWJlclxuJHRhYmxlLXBhZGRpbmc6IHJlbS1jYWxjKDggMTAgMTApICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBzY2FsZSBmb3IgZGFya2VuaW5nIHRoZSB0YWJsZSByb3dzIG9uIGhvdmVyLlxuLy8vIEB0eXBlIE51bWJlclxuJHRhYmxlLWhvdmVyLXNjYWxlOiAyJSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgY29sb3Igb2Ygc3RhbmRhcmQgcm93cyBvbiBob3Zlci5cbi8vLyBAdHlwZSBMaXN0XG4kdGFibGUtcm93LWhvdmVyOiBkYXJrZW4oJHRhYmxlLWJhY2tncm91bmQsICR0YWJsZS1ob3Zlci1zY2FsZSkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGNvbG9yIG9mIHN0cmlwZWQgcm93cyBvbiBob3Zlci5cbi8vLyBAdHlwZSBMaXN0XG4kdGFibGUtcm93LXN0cmlwZS1ob3ZlcjogZGFya2VuKCR0YWJsZS1iYWNrZ3JvdW5kLCAkdGFibGUtY29sb3Itc2NhbGUgKyAkdGFibGUtaG92ZXItc2NhbGUpICFkZWZhdWx0O1xuXG4vLy8gSWYgYHRydWVgLCB0YWJsZXMgYXJlIHN0cmlwZWQgYnkgZGVmYXVsdCBhbmQgYW4gLnVuc3RyaXBlZCBjbGFzcyBpcyBjcmVhdGVkLiBJZiBgZmFsc2VgLCBhIC5zdHJpcGVkIGNsYXNzIGlzIGNyZWF0ZWQuXG4vLy8gQHR5cGUgQm9vbGVhblxuJHRhYmxlLWlzLXN0cmlwZWQ6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJhY2tncm91bmQgY29sb3IgZm9yIHN0cmlwZWQgcm93cy5cbi8vLyBAdHlwZSBDb2xvclxuJHRhYmxlLXN0cmlwZWQtYmFja2dyb3VuZDogc21hcnQtc2NhbGUoJHRhYmxlLWJhY2tncm91bmQsICR0YWJsZS1jb2xvci1zY2FsZSkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHZhbHVlIGZvciBzaG93aW5nIHRoZSBzdHJpcGUgb24gcm93cyBvZiB0aGUgdGFibGVzLCBleGNsdWRpbmcgdGhlIGhlYWRlciBhbmQgZm9vdGVyLiBJZiBldmVuLCB0aGUgZXZlbiByb3dzIHdpbGwgaGF2ZSBhIGJhY2tncm91bmQgY29sb3IuIElmIG9kZCwgdGhlIG9kZCByb3dzIHdpbGwgaGF2ZSBhIGJhY2tncm91bmQgY29sb3IuIElmIGVtcHR5LCBvciBhbnkgb3RoZXIgdmFsdWUsIHRoZSB0YWJsZSByb3dzIHdpbGwgaGF2ZSBubyBzdHJpcGluZy5cbi8vLyBAdHlwZSBLZXl3b3JkXG4kdGFibGUtc3RyaXBlOiBldmVuICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBjb2xvciBmb3IgaGVhZGVyIGJhY2tncm91bmQuXG4vLy8gQHR5cGUgQ29sb3JcbiR0YWJsZS1oZWFkLWJhY2tncm91bmQ6IHNtYXJ0LXNjYWxlKCR0YWJsZS1iYWNrZ3JvdW5kLCAkdGFibGUtY29sb3Itc2NhbGUgKiAwLjUpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBjb2xvciBvZiBoZWFkZXIgcm93cyBvbiBob3Zlci5cbi8vLyBAdHlwZSBMaXN0XG4kdGFibGUtaGVhZC1yb3ctaG92ZXI6IGRhcmtlbigkdGFibGUtaGVhZC1iYWNrZ3JvdW5kLCAkdGFibGUtaG92ZXItc2NhbGUpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBjb2xvciBmb3IgZm9vdGVyIGJhY2tncm91bmQuXG4vLy8gQHR5cGUgQ29sb3JcbiR0YWJsZS1mb290LWJhY2tncm91bmQ6IHNtYXJ0LXNjYWxlKCR0YWJsZS1iYWNrZ3JvdW5kLCAkdGFibGUtY29sb3Itc2NhbGUpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBjb2xvciBvZiBmb290ZXIgcm93cyBvbiBob3Zlci5cbi8vLyBAdHlwZSBMaXN0XG4kdGFibGUtZm9vdC1yb3ctaG92ZXI6IGRhcmtlbigkdGFibGUtZm9vdC1iYWNrZ3JvdW5kLCAkdGFibGUtaG92ZXItc2NhbGUpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmb250IGNvbG9yIGZvciBoZWFkZXIuXG4vLy8gQHR5cGUgQ29sb3JcbiR0YWJsZS1oZWFkLWZvbnQtY29sb3I6ICRib2R5LWZvbnQtY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZvbnQgY29sb3IgZm9yIGZvb3Rlci5cbi8vLyBAdHlwZSBDb2xvclxuJHRhYmxlLWZvb3QtZm9udC1jb2xvcjogJGJvZHktZm9udC1jb2xvciAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgdmFsdWUgZm9yIHNob3dpbmcgdGhlIGhlYWRlciB3aGVuIHVzaW5nIHN0YWNrZWQgdGFibGVzLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRzaG93LWhlYWRlci1mb3Itc3RhY2tlZDogZmFsc2UgIWRlZmF1bHQ7XG5cbi8vLyBCcmVha3BvaW50IGF0IHdoaWNoIHN0YWNrZWQgdGFibGUgc3dpdGNoZXMgZnJvbSBtb2JpbGUgdG8gZGVza3RvcCB2aWV3LlxuLy8vIEB0eXBlIEJyZWFrcG9pbnRcbiR0YWJsZS1zdGFjay1icmVha3BvaW50OiBtZWRpdW0gIWRlZmF1bHQ7XG5cbkBtaXhpbiAtemYtdGFibGUtc3RyaXBlKCRzdHJpcGU6ICR0YWJsZS1zdHJpcGUpIHtcbiAgdHIge1xuICAgIC8vIElmIHN0cmlwZSBpcyBzZXQgdG8gZXZlbiwgZGFya2VuIHRoZSBldmVuIHJvd3MuXG4gICAgQGlmICRzdHJpcGUgPT0gZXZlbiB7XG4gICAgICAmOm50aC1jaGlsZChldmVuKSB7XG4gICAgICAgIGJvcmRlci1ib3R0b206IDA7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR0YWJsZS1zdHJpcGVkLWJhY2tncm91bmQ7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gSWYgc3RyaXBlIGlzIHNldCB0byBvZGQsIGRhcmtlbiB0aGUgb2RkIHJvd3MuXG4gICAgQGVsc2UgaWYgJHN0cmlwZSA9PSBvZGQge1xuICAgICAgJjpudGgtY2hpbGQob2RkKSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR0YWJsZS1zdHJpcGVkLWJhY2tncm91bmQ7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiAtemYtdGFibGUtdW5zdHJpcGUoKSB7XG4gIHRyIHtcbiAgICBib3JkZXItYm90dG9tOiAkdGFibGUtYm9yZGVyO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICR0YWJsZS1iYWNrZ3JvdW5kO1xuICB9XG59XG5cbkBtaXhpbiAtemYtdGFibGUtY2hpbGRyZW4tc3R5bGVzKCRzdHJpcGU6ICR0YWJsZS1zdHJpcGUsICRpcy1zdHJpcGVkOiAkdGFibGUtaXMtc3RyaXBlZCkge1xuICB0aGVhZCxcbiAgdGJvZHksXG4gIHRmb290IHtcbiAgICBib3JkZXI6ICR0YWJsZS1ib3JkZXI7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHRhYmxlLWJhY2tncm91bmQ7XG4gIH1cblxuICAvLyBDYXB0aW9uXG4gIGNhcHRpb24ge1xuICAgIHBhZGRpbmc6ICR0YWJsZS1wYWRkaW5nO1xuICAgIGZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ib2xkO1xuICB9XG5cbiAgLy8gVGFibGUgaGVhZFxuICB0aGVhZCB7XG4gICAgYmFja2dyb3VuZDogJHRhYmxlLWhlYWQtYmFja2dyb3VuZDtcbiAgICBjb2xvcjogJHRhYmxlLWhlYWQtZm9udC1jb2xvcjtcbiAgfVxuXG4gIC8vIFRhYmxlIGZvb3RcbiAgdGZvb3Qge1xuICAgIGJhY2tncm91bmQ6ICR0YWJsZS1mb290LWJhY2tncm91bmQ7XG4gICAgY29sb3I6ICR0YWJsZS1mb290LWZvbnQtY29sb3I7XG4gIH1cblxuICAvLyBUYWJsZSBoZWFkIGFuZCBmb290XG4gIHRoZWFkLFxuICB0Zm9vdCB7XG4gICAgLy8gUm93cyB3aXRoaW4gaGVhZCBhbmQgZm9vdFxuICAgIHRyIHtcbiAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgIH1cblxuICAgIC8vIENlbGxzIHdpdGhpbiBoZWFkIGFuZCBmb290XG4gICAgdGgsXG4gICAgdGQge1xuICAgICAgcGFkZGluZzogJHRhYmxlLXBhZGRpbmc7XG4gICAgICBmb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtYm9sZDtcbiAgICAgIHRleHQtYWxpZ246ICN7JGdsb2JhbC1sZWZ0fTtcbiAgICB9XG4gIH1cblxuICAvLyBUYWJsZSByb3dzXG4gIHRib2R5IHtcbiAgICB0aCxcbiAgICB0ZCB7XG4gICAgICBwYWRkaW5nOiAkdGFibGUtcGFkZGluZztcbiAgICB9XG4gIH1cblxuICAvLyBJZiB0YWJsZXMgYXJlIHN0cmlwZWRcbiAgQGlmICRpcy1zdHJpcGVkID09IHRydWUge1xuICAgIHRib2R5IHtcbiAgICAgIEBpbmNsdWRlIC16Zi10YWJsZS1zdHJpcGUoJHN0cmlwZSk7XG4gICAgfVxuXG4gICAgJi51bnN0cmlwZWQge1xuICAgICAgdGJvZHkge1xuICAgICAgICBAaW5jbHVkZSAtemYtdGFibGUtdW5zdHJpcGUoKTtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHRhYmxlLWJhY2tncm91bmQ7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gSWYgdGFibGVzIGFyZSBub3Qgc3RyaXBlZFxuICBAZWxzZSBpZiAkaXMtc3RyaXBlZCA9PSBmYWxzZSB7XG4gICAgdGJvZHkge1xuICAgICAgQGluY2x1ZGUgLXpmLXRhYmxlLXVuc3RyaXBlKCk7XG4gICAgfVxuXG4gICAgJi5zdHJpcGVkIHtcbiAgICAgIHRib2R5IHtcbiAgICAgICAgQGluY2x1ZGUgLXpmLXRhYmxlLXN0cmlwZSgkc3RyaXBlKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8vIEFkZHMgdGhlIGdlbmVyYWwgc3R5bGVzIGZvciB0YWJsZXMuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkc3RyaXBlIFskdGFibGUtc3RyaXBlXSAtIFVzZXMga2V5d29yZHMgZXZlbiwgb2RkLCBvciBub25lIHRvIGRhcmtlbiByb3dzIG9mIHRoZSB0YWJsZS4gVGhlIGRlZmF1bHQgdmFsdWUgaXMgZXZlbi5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRuZXN0IFtmYWxzZV0gLSBOZWVkZWQgaWYgeW91IG9ubHkgd2FudCB0byBhcHBseSB0aGlzIHRvIGEgc3BlY2lmaWMgdGFibGUuXG5AbWl4aW4gdGFibGUoXG4gICRzdHJpcGU6ICR0YWJsZS1zdHJpcGUsXG4gICRuZXN0OiBmYWxzZVxuKSB7XG4gIGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2U7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXJnaW4tYm90dG9tOiAkZ2xvYmFsLW1hcmdpbjtcbiAgYm9yZGVyLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG5cbiAgQGlmICRuZXN0IHtcbiAgICBAaW5jbHVkZSAtemYtdGFibGUtY2hpbGRyZW4tc3R5bGVzKCRzdHJpcGUpO1xuICB9XG4gIEBlbHNlIHtcbiAgICBAYXQtcm9vdCB7XG4gICAgICBAaW5jbHVkZSAtemYtdGFibGUtY2hpbGRyZW4tc3R5bGVzKCRzdHJpcGUpO1xuICAgIH1cbiAgfVxufVxuXG4vLy8gQWRkcyB0aGUgYWJpbGl0eSB0byBob3Jpem9udGFsbHkgc2Nyb2xsIHRoZSB0YWJsZSB3aGVuIHRoZSBjb250ZW50IG92ZXJmbG93cyBob3Jpem9udGFsbHkuXG5AbWl4aW4gdGFibGUtc2Nyb2xsIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAxMDAlO1xuICBvdmVyZmxvdy14OiBhdXRvO1xufVxuXG4vLy8gU2xpZ2h0bHkgZGFya2VucyB0aGUgdGFibGUgcm93cyBvbiBob3Zlci5cbkBtaXhpbiB0YWJsZS1ob3ZlciB7XG4gIHRoZWFkIHRyIHtcbiAgICAvL0RhcmtlbnMgdGhlIHRhYmxlIGhlYWRlciByb3dzIG9uIGhvdmVyLlxuICAgICY6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHRhYmxlLWhlYWQtcm93LWhvdmVyO1xuICAgIH1cbiAgfVxuXG4gIHRmb290IHRyIHtcbiAgICAvL0RhcmtlbnMgdGhlIHRhYmxlIGZvb3RlciByb3dzIG9uIGhvdmVyLlxuICAgICY6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHRhYmxlLWZvb3Qtcm93LWhvdmVyO1xuICAgIH1cbiAgfVxuXG4gIHRib2R5IHRyIHtcbiAgICAvL0RhcmtlbnMgdGhlIG5vbi1zdHJpcGVkIHRhYmxlIHJvd3Mgb24gaG92ZXIuXG4gICAgJjpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGFibGUtcm93LWhvdmVyO1xuICAgIH1cbiAgfVxuXG4gIEBpZiAkdGFibGUtaXMtc3RyaXBlZCA9PSB0cnVlIHtcbiAgICAvLyBEYXJrZW5zIHRoZSBldmVuIHN0cmlwZWQgdGFibGUgcm93cy5cbiAgICBAaWYoJHRhYmxlLXN0cmlwZSA9PSBldmVuKSB7XG4gICAgICAmOm5vdCgudW5zdHJpcGVkKSB0cjpudGgtb2YtdHlwZShldmVuKTpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR0YWJsZS1yb3ctc3RyaXBlLWhvdmVyO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIERhcmtlbnMgdGhlIG9kZCBzdHJpcGVkIHRhYmxlIHJvd3MuXG4gICAgQGVsc2UgaWYoJHRhYmxlLXN0cmlwZSA9PSBvZGQpIHtcbiAgICAgICY6bm90KC51bnN0cmlwZWQpIHRyOm50aC1vZi10eXBlKG9kZCk6aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGFibGUtcm93LXN0cmlwZS1ob3ZlcjtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBAZWxzZSBpZiAkdGFibGUtaXMtc3RyaXBlZCA9PSBmYWxzZSB7XG4gICAgLy8gRGFya2VucyB0aGUgZXZlbiBzdHJpcGVkIHRhYmxlIHJvd3MuXG4gICAgQGlmKCR0YWJsZS1zdHJpcGUgPT0gZXZlbikge1xuICAgICAgJi5zdHJpcGVkIHRyOm50aC1vZi10eXBlKGV2ZW4pOmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHRhYmxlLXJvdy1zdHJpcGUtaG92ZXI7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gRGFya2VucyB0aGUgb2RkIHN0cmlwZWQgdGFibGUgcm93cy5cbiAgICBAZWxzZSBpZigkdGFibGUtc3RyaXBlID09IG9kZCkge1xuICAgICAgJi5zdHJpcGVkIHRyOm50aC1vZi10eXBlKG9kZCk6aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGFibGUtcm93LXN0cmlwZS1ob3ZlcjtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhIHN0YWNrZWQgdGFibGUuIFVzZWZ1bCBmb3Igc21hbGwtc2NyZWVuIGxheW91dHMuXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkaGVhZGVyIFskc2hvdy1oZWFkZXItZm9yLXN0YWNrZWRdIC0gU2hvdyB0aGUgZmlyc3QgdGggb2YgaGVhZGVyIHdoZW4gc3RhY2tlZC5cbkBtaXhpbiB0YWJsZS1zdGFjaygkaGVhZGVyOiAkc2hvdy1oZWFkZXItZm9yLXN0YWNrZWQpIHtcbiAgQGlmICRoZWFkZXIge1xuICAgIHRoZWFkIHtcbiAgICAgIHRoIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEBlbHNlIHtcbiAgICB0aGVhZCB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgfVxuXG4gIHRmb290IHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG5cbiAgdHIsXG4gIHRoLFxuICB0ZCB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cblxuICB0ZCB7XG4gICAgYm9yZGVyLXRvcDogMDtcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi10YWJsZSgkbmVzdDogZmFsc2UpIHtcbiAgdGFibGUge1xuICAgIEBpbmNsdWRlIHRhYmxlKCRuZXN0OiAkbmVzdCk7XG4gIH1cblxuICB0YWJsZS5zdGFjayB7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkdGFibGUtc3RhY2stYnJlYWtwb2ludCBkb3duKSB7XG4gICAgICBAaW5jbHVkZSB0YWJsZS1zdGFjaztcbiAgICB9XG4gIH1cblxuICB0YWJsZS5zY3JvbGwge1xuICAgIEBpbmNsdWRlIHRhYmxlLXNjcm9sbDtcbiAgfVxuXG4gIHRhYmxlLmhvdmVyIHtcbiAgICBAaW5jbHVkZSB0YWJsZS1ob3ZlcjtcbiAgfVxuXG4gIC50YWJsZS1zY3JvbGwge1xuICAgIG92ZXJmbG93LXg6IGF1dG87XG5cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGJhZGdlXG4vLy8vXG5cbi8vLyBEZWZhdWx0IGJhY2tncm91bmQgY29sb3IgZm9yIGJhZGdlcy5cbi8vLyBAdHlwZSBDb2xvclxuJGJhZGdlLWJhY2tncm91bmQ6ICRwcmltYXJ5LWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCB0ZXh0IGNvbG9yIGZvciBiYWRnZXMuXG4vLy8gQHR5cGUgQ29sb3JcbiRiYWRnZS1jb2xvcjogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gQWx0ZXJuYXRlIHRleHQgY29sb3IgZm9yIGJhZGdlcy5cbi8vLyBAdHlwZSBDb2xvclxuJGJhZGdlLWNvbG9yLWFsdDogJGJsYWNrICFkZWZhdWx0O1xuXG4vLy8gQ29sb3JpbmcgY2xhc3Nlcy4gQSBtYXAgb2YgY2xhc3NlcyB0byBvdXRwdXQgaW4geW91ciBDU1MsIGxpa2UgYC5zZWNvbmRhcnlgLCBgLnN1Y2Nlc3NgLCBhbmQgc28gb24uXG4vLy8gQHR5cGUgTWFwXG4kYmFkZ2UtcGFsZXR0ZTogJGZvdW5kYXRpb24tcGFsZXR0ZSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcGFkZGluZyBpbnNpZGUgYmFkZ2VzLlxuLy8vIEB0eXBlIE51bWJlclxuJGJhZGdlLXBhZGRpbmc6IDAuM2VtICFkZWZhdWx0O1xuXG4vLy8gTWluaW11bSB3aWR0aCBvZiBhIGJhZGdlLlxuLy8vIEB0eXBlIE51bWJlclxuJGJhZGdlLW1pbndpZHRoOiAyLjFlbSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCBzaXplIGZvciBiYWRnZXMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kYmFkZ2UtZm9udC1zaXplOiAwLjZyZW0gIWRlZmF1bHQ7XG5cbi8vLyBHZW5lcmF0ZXMgdGhlIGJhc2Ugc3R5bGVzIGZvciBhIGJhZGdlLlxuQG1peGluIGJhZGdlIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBtaW4td2lkdGg6ICRiYWRnZS1taW53aWR0aDtcbiAgcGFkZGluZzogJGJhZGdlLXBhZGRpbmc7XG5cbiAgYm9yZGVyLXJhZGl1czogNTAlO1xuXG4gIGZvbnQtc2l6ZTogJGJhZGdlLWZvbnQtc2l6ZTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1iYWRnZSB7XG4gIC5iYWRnZSB7XG4gICAgQGluY2x1ZGUgYmFkZ2U7XG5cbiAgICBiYWNrZ3JvdW5kOiAkYmFkZ2UtYmFja2dyb3VuZDtcbiAgICBjb2xvcjogJGJhZGdlLWNvbG9yO1xuXG4gICAgQGVhY2ggJG5hbWUsICRjb2xvciBpbiAkYmFkZ2UtcGFsZXR0ZSB7XG4gICAgICAmLiN7JG5hbWV9IHtcbiAgICAgICAgYmFja2dyb3VuZDogJGNvbG9yO1xuICAgICAgICBjb2xvcjogY29sb3ItcGljay1jb250cmFzdCgkY29sb3IsICgkYmFkZ2UtY29sb3IsICRiYWRnZS1jb2xvci1hbHQpKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBicmVhZGNydW1ic1xuLy8vL1xuXG4vLy8gTWFyZ2luIGFyb3VuZCBhIGJyZWFkY3J1bWJzIGNvbnRhaW5lci5cbi8vLyBAdHlwZSBOdW1iZXJcbiRicmVhZGNydW1icy1tYXJnaW46IDAgMCAkZ2xvYmFsLW1hcmdpbiAwICFkZWZhdWx0O1xuXG4vLy8gRm9udCBzaXplIG9mIGJyZWFkY3J1bWIgbGlua3MuXG4vLy8gQHR5cGUgTnVtYmVyXG4kYnJlYWRjcnVtYnMtaXRlbS1mb250LXNpemU6IHJlbS1jYWxjKDExKSAhZGVmYXVsdDtcblxuLy8vIENvbG9yIG9mIGJyZWFkY3J1bWIgbGlua3MuXG4vLy8gQHR5cGUgQ29sb3JcbiRicmVhZGNydW1icy1pdGVtLWNvbG9yOiAkcHJpbWFyeS1jb2xvciAhZGVmYXVsdDtcblxuLy8vIENvbG9yIG9mIHRoZSBhY3RpdmUgYnJlYWRjcnVtYiBsaW5rLlxuLy8vIEB0eXBlIENvbG9yXG4kYnJlYWRjcnVtYnMtaXRlbS1jb2xvci1jdXJyZW50OiAkYmxhY2sgIWRlZmF1bHQ7XG5cbi8vLyBPcGFjaXR5IG9mIGRpc2FibGVkIGJyZWFkY3J1bWIgbGlua3MuXG4vLy8gQHR5cGUgTnVtYmVyXG4kYnJlYWRjcnVtYnMtaXRlbS1jb2xvci1kaXNhYmxlZDogJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gTWFyZ2luIGJldHdlZW4gYnJlYWRjcnVtYiBpdGVtcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRicmVhZGNydW1icy1pdGVtLW1hcmdpbjogMC43NXJlbSAhZGVmYXVsdDtcblxuLy8vIElmIGB0cnVlYCwgbWFrZXMgYnJlYWRjcnVtYiBsaW5rcyB1cHBlcmNhc2UuXG4vLy8gQHR5cGUgQm9vbGVhblxuJGJyZWFkY3J1bWJzLWl0ZW0tdXBwZXJjYXNlOiB0cnVlICFkZWZhdWx0O1xuXG4vLy8gSWYgYHRydWVgLCBhZGRzIGEgc2VwZXJhdG9yIGJldHdlZW4gYnJlYWRjcnVtYiBsaW5rcy5cbi8vLyBAdHlwZSBCb29sZWFuXG4kYnJlYWRjcnVtYnMtaXRlbS1zZXBhcmF0b3I6IHRydWUgIWRlZmF1bHQ7XG5cbi8vIElmIGl0IGV4aXN0cyAkYnJlYWRjcnVtYnMtaXRlbS1zbGFzaCBpcyB1c2VkIHRvIGJ1aWxkICRicmVhZGNydW1icy1pdGVtLXNlcGFyYXRvci4gU2VlIHRoZSBkb2N1bWVudGF0aW9uLlxuQGlmIHZhcmlhYmxlLWV4aXN0cyhicmVhZGNydW1icy1pdGVtLXNsYXNoKSB7XG4gICRicmVhZGNydW1icy1pdGVtLXNlcGFyYXRvcjogJGJyZWFkY3J1bWJzLWl0ZW0tc2xhc2g7XG59XG5cbi8vLyBVc2VkIGNoYXJhY3RlciBmb3IgdGhlIGJyZWFkY3J1bWIgc2VwYXJhdG9yLlxuLy8vIEB0eXBlIENvbnRlbnRcbiRicmVhZGNydW1icy1pdGVtLXNlcGFyYXRvci1pdGVtOiAnLycgIWRlZmF1bHQ7XG5cbi8vLyBVc2VkIGNoYXJhY3RlciBmb3IgdGhlIGJyZWFkY3J1bWIgc2VwYXJhdG9yIGluIHJ0bCBtb2RlLlxuLy8vIEB0eXBlIENvbnRlbnRcbiRicmVhZGNydW1icy1pdGVtLXNlcGFyYXRvci1pdGVtLXJ0bDogJ1xcXFwnICFkZWZhdWx0O1xuXG4vLy8gQ29sb3Igb2YgYnJlYWRjcnVtYiBpdGVtLlxuLy8vIEB0eXBlIENvbG9yXG4kYnJlYWRjcnVtYnMtaXRlbS1zZXBhcmF0b3ItY29sb3I6ICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8gSWYgaXQgZXhpc3RzICRicmVhZGNydW1icy1pdGVtLXNsYXNoLWNvbG9yIGlzIHVzZWQgdG8gYnVpbGQgJGJyZWFkY3J1bWJzLWl0ZW0tc2VwYXJhdG9yLWNvbG9yLiBTZWUgdGhlIGRvY3VtZW50YXRpb24uXG5AaWYgdmFyaWFibGUtZXhpc3RzKGJyZWFkY3J1bWJzLWl0ZW0tc2xhc2gtY29sb3IpIHtcbiAgJGJyZWFkY3J1bWJzLWl0ZW0tc2VwYXJhdG9yLWNvbG9yOiAkYnJlYWRjcnVtYnMtaXRlbS1zbGFzaC1jb2xvcjtcbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhIGJyZWFkY3J1bWJzIGNvbnRhaW5lciwgYWxvbmcgd2l0aCB0aGUgc3R5bGVzIGZvciB0aGUgYDxsaT5gIGFuZCBgPGE+YCBlbGVtZW50cyBpbnNpZGUgb2YgaXQuXG5AbWl4aW4gYnJlYWRjcnVtYnMtY29udGFpbmVyIHtcbiAgQGluY2x1ZGUgY2xlYXJmaXg7XG4gIG1hcmdpbjogJGJyZWFkY3J1bWJzLW1hcmdpbjtcbiAgbGlzdC1zdHlsZTogbm9uZTtcblxuICAvLyBJdGVtIHdyYXBwZXJcbiAgbGkge1xuICAgIGZsb2F0OiAjeyRnbG9iYWwtbGVmdH07XG5cbiAgICBmb250LXNpemU6ICRicmVhZGNydW1icy1pdGVtLWZvbnQtc2l6ZTtcbiAgICBjb2xvcjogJGJyZWFkY3J1bWJzLWl0ZW0tY29sb3ItY3VycmVudDtcbiAgICBjdXJzb3I6IGRlZmF1bHQ7XG5cbiAgICBAaWYgJGJyZWFkY3J1bWJzLWl0ZW0tdXBwZXJjYXNlIHtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgfVxuXG4gICAgQGlmICRicmVhZGNydW1icy1pdGVtLXNlcGFyYXRvciB7XG4gICAgICAvLyBOZWVkIHRvIGVzY2FwZSB0aGUgYmFja3NsYXNoXG4gICAgICAkc2VwYXJhdG9yOiBpZigkZ2xvYmFsLXRleHQtZGlyZWN0aW9uID09ICdsdHInLCAkYnJlYWRjcnVtYnMtaXRlbS1zZXBhcmF0b3ItaXRlbSwgJGJyZWFkY3J1bWJzLWl0ZW0tc2VwYXJhdG9yLWl0ZW0tcnRsKTtcblxuICAgICAgJjpub3QoOmxhc3QtY2hpbGQpIHtcbiAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICBtYXJnaW46IDAgJGJyZWFkY3J1bWJzLWl0ZW0tbWFyZ2luO1xuICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgICAgY29udGVudDogJHNlcGFyYXRvcjtcbiAgICAgICAgICBjb2xvcjogJGJyZWFkY3J1bWJzLWl0ZW0tc2VwYXJhdG9yLWNvbG9yO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIG1hcmdpbi0jeyRnbG9iYWwtcmlnaHR9OiAkYnJlYWRjcnVtYnMtaXRlbS1tYXJnaW47XG4gICAgfVxuICB9XG5cbiAgLy8gUGFnZSBsaW5rc1xuICBhIHtcbiAgICBjb2xvcjogJGJyZWFkY3J1bWJzLWl0ZW0tY29sb3I7XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1icmVhZGNydW1icyB7XG4gIC5icmVhZGNydW1icyB7XG4gICAgQGluY2x1ZGUgYnJlYWRjcnVtYnMtY29udGFpbmVyO1xuXG4gICAgLmRpc2FibGVkIHtcbiAgICAgIGNvbG9yOiAkYnJlYWRjcnVtYnMtaXRlbS1jb2xvci1kaXNhYmxlZDtcbiAgICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlc1xuLy8gaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgY2FsbG91dFxuLy8vL1xuXG4vLy8gRGVmYXVsdCBiYWNrZ3JvdW5kIGNvbG9yLlxuLy8vIEB0eXBlIENvbG9yXG4kY2FsbG91dC1iYWNrZ3JvdW5kOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZhZGUgdmFsdWUgZm9yIGNhbGxvdXQgYmFja2dyb3VuZHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kY2FsbG91dC1iYWNrZ3JvdW5kLWZhZGU6IDg1JSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYm9yZGVyIHN0eWxlIGZvciBjYWxsb3V0cy5cbi8vLyBAdHlwZSBMaXN0XG4kY2FsbG91dC1ib3JkZXI6IDFweCBzb2xpZCByZ2JhKCRibGFjaywgMC4yNSkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJvdHRvbSBtYXJnaW4gZm9yIGNhbGxvdXRzLlxuLy8vIEB0eXBlIE51bWJlclxuJGNhbGxvdXQtbWFyZ2luOiAwIDAgMXJlbSAwICFkZWZhdWx0O1xuXG4vLy8gU2l6ZXMgZm9yIENhbGxvdXQgcGFkZGluZ3MuXG4vLy8gQHR5cGUgTWFwXG4kY2FsbG91dC1zaXplczogKFxuICBzbWFsbDogMC41cmVtLFxuICBkZWZhdWx0OiAxcmVtLFxuICBsYXJnZTogM3JlbSxcbikgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZvbnQgY29sb3IgZm9yIGNhbGxvdXRzLlxuLy8vIEB0eXBlIENvbG9yXG4kY2FsbG91dC1mb250LWNvbG9yOiAkYm9keS1mb250LWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmb250IGNvbG9yIGZvciBjYWxsb3V0cywgaWYgdGhlIGNhbGxvdXQgaGFzIGEgZGFyayBiYWNrZ3JvdW5kLlxuLy8vIEB0eXBlIENvbG9yXG4kY2FsbG91dC1mb250LWNvbG9yLWFsdDogJGJvZHktYmFja2dyb3VuZCAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYm9yZGVyIHJhZGl1cyBmb3IgY2FsbG91dHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRjYWxsb3V0LXJhZGl1czogJGdsb2JhbC1yYWRpdXMgIWRlZmF1bHQ7XG5cbi8vLyBBbW91bnQgdG8gdGludCBsaW5rcyB1c2VkIHdpdGhpbiBjb2xvcmVkIHBhbmVscy4gU2V0IHRvIGBmYWxzZWAgdG8gZGlzYWJsZSB0aGlzIGZlYXR1cmUuXG4vLy8gQHR5cGUgTnVtYmVyIHwgQm9vbGVhblxuJGNhbGxvdXQtbGluay10aW50OiAzMCUgIWRlZmF1bHQ7XG5cbi8vLyBBZGRzIGJhc2ljIHN0eWxlcyBmb3IgYSBjYWxsb3V0LCBpbmNsdWRpbmcgcGFkZGluZyBhbmQgbWFyZ2luLlxuQG1peGluIGNhbGxvdXQtYmFzZSgpIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtYXJnaW46ICRjYWxsb3V0LW1hcmdpbjtcbiAgcGFkZGluZzogbWFwLWdldCgkY2FsbG91dC1zaXplcywgZGVmYXVsdCk7XG5cbiAgYm9yZGVyOiAkY2FsbG91dC1ib3JkZXI7XG4gIGJvcmRlci1yYWRpdXM6ICRjYWxsb3V0LXJhZGl1cztcblxuICAvLyBSZXNwZWN0IHRoZSBwYWRkaW5nLCBmb29sLlxuICA+IDpmaXJzdC1jaGlsZCB7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgfVxuXG4gID4gOmxhc3QtY2hpbGQge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gIH1cbn1cblxuLy8vIEdlbmVyYXRlIHF1aWNrIHN0eWxlcyBmb3IgYSBjYWxsb3V0IHVzaW5nIGEgc2luZ2xlIGNvbG9yIGFzIGEgYmFzZWxpbmUuXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yIFskY2FsbG91dC1iYWNrZ3JvdW5kXSAtIENvbG9yIHRvIHVzZS5cbkBtaXhpbiBjYWxsb3V0LXN0eWxlKCRjb2xvcjogJGNhbGxvdXQtYmFja2dyb3VuZCkge1xuICAkYmFja2dyb3VuZDogc2NhbGUtY29sb3IoJGNvbG9yLCAkbGlnaHRuZXNzOiAkY2FsbG91dC1iYWNrZ3JvdW5kLWZhZGUpO1xuXG4gIGJhY2tncm91bmQtY29sb3I6ICRiYWNrZ3JvdW5kO1xuICBjb2xvcjogY29sb3ItcGljay1jb250cmFzdCgkYmFja2dyb3VuZCwgKCRjYWxsb3V0LWZvbnQtY29sb3IsICRjYWxsb3V0LWZvbnQtY29sb3ItYWx0KSk7XG59XG5cbkBtaXhpbiBjYWxsb3V0LXNpemUoJHBhZGRpbmcpIHtcbiAgcGFkZGluZy10b3A6ICRwYWRkaW5nO1xuICBwYWRkaW5nLXJpZ2h0OiAkcGFkZGluZztcbiAgcGFkZGluZy1ib3R0b206ICRwYWRkaW5nO1xuICBwYWRkaW5nLWxlZnQ6ICRwYWRkaW5nO1xufVxuXG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYSBjYWxsb3V0LlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvciBbJGNhbGxvdXQtYmFja2dyb3VuZF0gLSBDb2xvciB0byB1c2UuXG5AbWl4aW4gY2FsbG91dCgkY29sb3I6ICRjYWxsb3V0LWJhY2tncm91bmQpIHtcbiAgQGluY2x1ZGUgY2FsbG91dC1iYXNlO1xuICBAaW5jbHVkZSBjYWxsb3V0LXN0eWxlKCRjb2xvcik7XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWNhbGxvdXQge1xuICAuY2FsbG91dCB7XG4gICAgQGluY2x1ZGUgY2FsbG91dDtcblxuICAgIEBlYWNoICRuYW1lLCAkY29sb3IgaW4gJGZvdW5kYXRpb24tcGFsZXR0ZSB7XG4gICAgICAmLiN7JG5hbWV9IHtcbiAgICAgICAgQGluY2x1ZGUgY2FsbG91dC1zdHlsZSgkY29sb3IpO1xuICAgICAgfVxuICAgIH1cblxuICAgIEBlYWNoICRzaXplLCAkcGFkZGluZyBpbiBtYXAtcmVtb3ZlKCRjYWxsb3V0LXNpemVzLCBkZWZhdWx0KSB7XG4gICAgICAmLiN7JHNpemV9IHtcbiAgICAgICAgQGluY2x1ZGUgY2FsbG91dC1zaXplKCRwYWRkaW5nKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBjYXJkXG4vLy8vXG5cbi8vLyBEZWZhdWx0IGJhY2tncm91bmQgY29sb3IuXG4vLy8gQHR5cGUgQ29sb3JcbiRjYXJkLWJhY2tncm91bmQ6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCBjb2xvciBmb3IgY2FyZHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRjYXJkLWZvbnQtY29sb3I6ICRib2R5LWZvbnQtY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJhY2tncm91bmQuXG4vLy8gQHR5cGUgQ29sb3JcbiRjYXJkLWRpdmlkZXItYmFja2dyb3VuZDogJGxpZ2h0LWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJvcmRlciBzdHlsZS5cbi8vLyBAdHlwZSBMaXN0XG4kY2FyZC1ib3JkZXI6IDFweCBzb2xpZCAkbGlnaHQtZ3JheSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgY2FyZCBzaGFkb3cuXG4vLy8gQHR5cGUgTGlzdFxuJGNhcmQtc2hhZG93OiBub25lICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBib3JkZXIgcmFkaXVzLlxuLy8vIEB0eXBlIExpc3RcbiRjYXJkLWJvcmRlci1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBwYWRkaW5nLlxuLy8vIEB0eXBlIE51bWJlclxuJGNhcmQtcGFkZGluZzogJGdsb2JhbC1wYWRkaW5nICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBib3R0b20gbWFyZ2luLlxuLy8vIEB0eXBlIG51bWJlclxuJGNhcmQtbWFyZ2luLWJvdHRvbTogJGdsb2JhbC1tYXJnaW4gIWRlZmF1bHQ7XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYSBjYXJkIGNvbnRhaW5lci5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkYmFja2dyb3VuZCAtIEJhY2tncm91bmQgY29sb3Igb2YgdGhlIGNhcmQuXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yIC0gZm9udCBjb2xvciBvZiB0aGUgY2FyZC5cbi8vLyBAcGFyYW0ge051bWJlcn0gJG1hcmdpbiAtIEJvdHRvbSBtYXJnaW4gb2YgdGhlIGNhcmQuXG4vLy8gQHBhcmFtIHtMaXN0fSAkYm9yZGVyIC0gQm9yZGVyIGFyb3VuZCB0aGUgY2FyZC5cbi8vLyBAcGFyYW0ge0xpc3R9ICRyYWRpdXMgLSBib3JkZXIgcmFkaXVzIG9mIHRoZSBjYXJkLlxuLy8vIEBwYXJhbSB7TGlzdH0gJHNoYWRvdyAtIGJveCBzaGFkb3cgb2YgdGhlIGNhcmQuXG5AbWl4aW4gY2FyZC1jb250YWluZXIoXG4gICRiYWNrZ3JvdW5kOiAkY2FyZC1iYWNrZ3JvdW5kLFxuICAkY29sb3I6ICRjYXJkLWZvbnQtY29sb3IsXG4gICRtYXJnaW46ICRjYXJkLW1hcmdpbi1ib3R0b20sXG4gICRib3JkZXI6ICRjYXJkLWJvcmRlcixcbiAgJHJhZGl1czogJGNhcmQtYm9yZGVyLXJhZGl1cyxcbiAgJHNoYWRvdzogJGNhcmQtc2hhZG93XG4pIHtcbiAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGZsZXgtZ3JvdzogMTtcbiAgfVxuXG4gIG1hcmdpbi1ib3R0b206ICRtYXJnaW47XG5cbiAgYm9yZGVyOiAkYm9yZGVyO1xuICBib3JkZXItcmFkaXVzOiAkcmFkaXVzO1xuXG4gIGJhY2tncm91bmQ6ICRiYWNrZ3JvdW5kO1xuICBib3gtc2hhZG93OiAkc2hhZG93O1xuXG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGNvbG9yOiAkY29sb3I7XG5cbiAgJiA+IDpsYXN0LWNoaWxkIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICB9XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYSBjYXJkIGRpdmlkZXIuXG5AbWl4aW4gY2FyZC1kaXZpZGVyKFxuICAkYmFja2dyb3VuZDogJGNhcmQtZGl2aWRlci1iYWNrZ3JvdW5kLFxuICAkcGFkZGluZzogJGNhcmQtcGFkZGluZ1xuKSB7XG4gIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleDogMCAxIGF1dG87XG4gIH1cblxuICBwYWRkaW5nOiAkcGFkZGluZztcbiAgYmFja2dyb3VuZDogJGJhY2tncm91bmQ7XG5cbiAgJiA+IDpsYXN0LWNoaWxkIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICB9XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYSBjYXJkIHNlY3Rpb24uXG5AbWl4aW4gY2FyZC1zZWN0aW9uKFxuICAkcGFkZGluZzogJGNhcmQtcGFkZGluZ1xuKSB7XG4gIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgIGZsZXg6IDEgMCBhdXRvO1xuICB9XG5cbiAgcGFkZGluZzogJHBhZGRpbmc7XG5cbiAgJiA+IDpsYXN0LWNoaWxkIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWNhcmQge1xuICAuY2FyZCB7XG4gICAgQGluY2x1ZGUgY2FyZC1jb250YWluZXI7XG4gIH1cblxuICAuY2FyZC1kaXZpZGVyIHtcbiAgICBAaW5jbHVkZSBjYXJkLWRpdmlkZXI7XG4gIH1cblxuICAuY2FyZC1zZWN0aW9uIHtcbiAgICBAaW5jbHVkZSBjYXJkLXNlY3Rpb247XG4gIH1cblxuICAvLyBGb3IgSUUgMTEgLSBGbGV4YnVnXG4gIC8vIGh0dHBzOi8vZ2l0aHViLmNvbS9waGlsaXB3YWx0b24vZmxleGJ1Z3MvaXNzdWVzLzc1XG4gIC5jYXJkLWltYWdlIHtcbiAgICBtaW4taGVpZ2h0OiAxcHg7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBkcm9wZG93blxuLy8vL1xuXG4vLy8gUGFkZGluZyBmb3IgZHJvcGRvd24gcGFuZXMuXG4vLy8gQHR5cGUgTGlzdFxuJGRyb3Bkb3duLXBhZGRpbmc6IDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGZvciBkcm9wZG93biBwYW5lcy5cbi8vLyBAdHlwZSBDb2xvclxuJGRyb3Bkb3duLWJhY2tncm91bmQ6ICRib2R5LWJhY2tncm91bmQgIWRlZmF1bHQ7XG5cbi8vLyBCb3JkZXIgZm9yIGRyb3Bkb3duIHBhbmVzLlxuLy8vIEB0eXBlIExpc3RcbiRkcm9wZG93bi1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBGb250IHNpemUgZm9yIGRyb3Bkb3duIHBhbmVzLlxuLy8vIEB0eXBlIExpc3RcbiRkcm9wZG93bi1mb250LXNpemU6IDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBXaWR0aCBmb3IgZHJvcGRvd24gcGFuZXMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZHJvcGRvd24td2lkdGg6IDMwMHB4ICFkZWZhdWx0O1xuXG4vLy8gQm9yZGVyIHJhZGl1cyBkcm9wZG93biBwYW5lcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRkcm9wZG93bi1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICFkZWZhdWx0O1xuXG4vLy8gU2l6ZXMgZm9yIGRyb3Bkb3duIHBhbmVzLiBFYWNoIHNpemUgaXMgYSBDU1MgY2xhc3MgeW91IGNhbiBhcHBseS5cbi8vLyBAdHlwZSBNYXBcbiRkcm9wZG93bi1zaXplczogKFxuICB0aW55OiAxMDBweCxcbiAgc21hbGw6IDIwMHB4LFxuICBsYXJnZTogNDAwcHgsXG4pICFkZWZhdWx0O1xuXG4vLy8gQXBwbGllcyBzdHlsZXMgZm9yIGEgYmFzaWMgZHJvcGRvd24uXG5AbWl4aW4gZHJvcGRvd24tY29udGFpbmVyIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB6LWluZGV4OiAxMDtcblxuICBkaXNwbGF5OiBub25lO1xuXG4gIHdpZHRoOiAkZHJvcGRvd24td2lkdGg7XG4gIHBhZGRpbmc6ICRkcm9wZG93bi1wYWRkaW5nO1xuXG4gIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgYm9yZGVyOiAkZHJvcGRvd24tYm9yZGVyO1xuICBib3JkZXItcmFkaXVzOiAkZHJvcGRvd24tcmFkaXVzO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkZHJvcGRvd24tYmFja2dyb3VuZDtcblxuICBmb250LXNpemU6ICRkcm9wZG93bi1mb250LXNpemU7XG5cblxuICAvLyBBbGxvdyBhbiBpbnRlcm1pdHRlbnQgc3RhdGUgdG8gZG8gcG9zaXRpb25pbmcgYmVmb3JlIG1ha2luZyB2aXNpYmxlLlxuICAmLmlzLW9wZW5pbmcge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG5cbiAgJi5pcy1vcGVuIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWRyb3Bkb3duIHtcbiAgLmRyb3Bkb3duLXBhbmUge1xuICAgIEBpbmNsdWRlIGRyb3Bkb3duLWNvbnRhaW5lcjtcbiAgfVxuXG4gIEBlYWNoICRuYW1lLCAkc2l6ZSBpbiAkZHJvcGRvd24tc2l6ZXMge1xuICAgIC5kcm9wZG93bi1wYW5lIHtcbiAgICAgICYuI3skbmFtZX0ge1xuICAgICAgICB3aWR0aDogJHNpemU7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlc1xuLy8gaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgcGFnaW5hdGlvblxuLy8vL1xuXG4vLy8gRm9udCBzaXplIG9mIHBhZ2luYXRpb24gaXRlbXMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kcGFnaW5hdGlvbi1mb250LXNpemU6IHJlbS1jYWxjKDE0KSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYm90dG9tIG1hcmdpbiBvZiB0aGUgcGFnaW5hdGlvbiBvYmplY3QuXG4vLy8gQHR5cGUgTnVtYmVyXG4kcGFnaW5hdGlvbi1tYXJnaW4tYm90dG9tOiAkZ2xvYmFsLW1hcmdpbiAhZGVmYXVsdDtcblxuLy8vIFRleHQgY29sb3Igb2YgcGFnaW5hdGlvbiBpdGVtcy5cbi8vLyBAdHlwZSBDb2xvclxuJHBhZ2luYXRpb24taXRlbS1jb2xvcjogJGJsYWNrICFkZWZhdWx0O1xuXG4vLy8gUGFkZGluZyBpbnNpZGUgb2YgcGFnaW5hdGlvbiBpdGVtcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRwYWdpbmF0aW9uLWl0ZW0tcGFkZGluZzogcmVtLWNhbGMoMyAxMCkgIWRlZmF1bHQ7XG5cbi8vLyBSaWdodCBtYXJnaW4gdG8gc2VwYXJhdGUgcGFnaW5hdGlvbiBpdGVtcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRwYWdpbmF0aW9uLWl0ZW0tc3BhY2luZzogcmVtLWNhbGMoMSkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHJhZGl1cyBmb3IgcGFnaW5hdGlvbiBpdGVtcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRwYWdpbmF0aW9uLXJhZGl1czogJGdsb2JhbC1yYWRpdXMgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIG9mIHBhZ2luYXRpb24gaXRlbXMgb24gaG92ZXIuXG4vLy8gQHR5cGUgQ29sb3JcbiRwYWdpbmF0aW9uLWl0ZW0tYmFja2dyb3VuZC1ob3ZlcjogJGxpZ2h0LWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIG9mIHBhZ2luYXRpb24gaXRlbSBmb3IgdGhlIGN1cnJlbnQgcGFnZS5cbi8vLyBAdHlwZSBDb2xvclxuJHBhZ2luYXRpb24taXRlbS1iYWNrZ3JvdW5kLWN1cnJlbnQ6ICRwcmltYXJ5LWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gVGV4dCBjb2xvciBvZiB0aGUgcGFnaW5hdGlvbiBpdGVtIGZvciB0aGUgY3VycmVudCBwYWdlLlxuLy8vIEB0eXBlIENvbG9yXG4kcGFnaW5hdGlvbi1pdGVtLWNvbG9yLWN1cnJlbnQ6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIFRleHQgY29sb3Igb2YgYSBkaXNhYmxlZCBwYWdpbmF0aW9uIGl0ZW0uXG4vLy8gQHR5cGUgQ29sb3JcbiRwYWdpbmF0aW9uLWl0ZW0tY29sb3ItZGlzYWJsZWQ6ICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8vIENvbG9yIG9mIHRoZSBlbGxpcHNpcyBpbiBhIHBhZ2luYXRpb24gbWVudS5cbi8vLyBAdHlwZSBDb2xvclxuJHBhZ2luYXRpb24tZWxsaXBzaXMtY29sb3I6ICRibGFjayAhZGVmYXVsdDtcblxuLy8vIElmIGBmYWxzZWAsIGRvbid0IGRpc3BsYXkgcGFnZSBudW1iZXIgbGlua3Mgb24gbW9iaWxlLCBvbmx5IG5leHQvcHJldmlvdXMgbGlua3Ncbi8vLyBhbmQgb3B0aW9uYWxseSBjdXJyZW50IHBhZ2UgbnVtYmVyLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRwYWdpbmF0aW9uLW1vYmlsZS1pdGVtczogZmFsc2UgIWRlZmF1bHQ7XG5cbi8vLyBJZiBgdHJ1ZWAsIGRpc3BsYXkgdGhlIGN1cnJlbnQgcGFnZSBudW1iZXIgb24gbW9iaWxlIGV2ZW4gaWYgYCRwYWdpbmF0aW9uLW1vYmlsZS1pdGVtc2AgaXMgc2V0IHRvIGBmYWxzZWAuXG4vLy8gVGhpcyBwYXJhbWV0ZXIgd2lsbCBvbmx5IG92ZXJyaWRlIHRoZSB2aXNpYmlsaXR5IHNldHRpbmcgb2YgdGhlIGN1cnJlbnQgaXRlbSBmb3IgYCRwYWdpbmF0aW9uLW1vYmlsZS1pdGVtczogZmFsc2U7YCxcbi8vLyBpdCB3aWxsIG5vdCBhZmZlY3QgdGhlIGN1cnJlbnQgcGFnZSBudW1iZXIgdmlzaWJpbGl0eSB3aGVuIGAkcGFnaW5hdGlvbi1tb2JpbGUtaXRlbXNgIGlzIHNldCB0byBgdHJ1ZWAuXG4vLy8gQHR5cGUgQm9vbGVhblxuJHBhZ2luYXRpb24tbW9iaWxlLWN1cnJlbnQtaXRlbTogZmFsc2UgIWRlZmF1bHQ7XG5cbi8vLyBJZiBgdHJ1ZWAsIGFycm93cyBhcmUgYWRkZWQgdG8gdGhlIG5leHQgYW5kIHByZXZpb3VzIGxpbmtzIG9mIHBhZ2luYXRpb24uXG4vLy8gQHR5cGUgQm9vbGVhblxuJHBhZ2luYXRpb24tYXJyb3dzOiB0cnVlICFkZWZhdWx0O1xuXG4vLy8gQ29udGVudCBmb3IgdGhlIHByZXZpb3VzIGFycm93IHdoZW4gYCRwYWdpbmF0aW9uLWFycm93c2AgaXMgYHRydWVgXG4vLy8gQHR5cGUgU3RyaW5nXG4kcGFnaW5hdGlvbi1hcnJvdy1wcmV2aW91czogJ1xcMDBBQicgIWRlZmF1bHQ7XG5cbi8vLyBDb250ZW50IGZvciB0aGUgbmV4dCBhcnJvdyB3aGVuIGAkcGFnaW5hdGlvbi1hcnJvd3NgIGlzIGB0cnVlYFxuLy8vIEB0eXBlIFN0cmluZ1xuJHBhZ2luYXRpb24tYXJyb3ctbmV4dDogJ1xcMDBCQicgIWRlZmF1bHQ7XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYSBwYWdpbmF0aW9uIGNvbnRhaW5lci4gQXBwbHkgdGhpcyB0byBhIGA8dWw+YC5cbkBtaXhpbiBwYWdpbmF0aW9uLWNvbnRhaW5lciAoXG4gICRtYXJnaW4tYm90dG9tOiAkcGFnaW5hdGlvbi1tYXJnaW4tYm90dG9tLFxuICAkZm9udC1zaXplOiAkcGFnaW5hdGlvbi1mb250LXNpemUsXG4gICRzcGFjaW5nOiAkcGFnaW5hdGlvbi1pdGVtLXNwYWNpbmcsXG4gICRyYWRpdXM6ICRwYWdpbmF0aW9uLXJhZGl1cyxcbiAgJGNvbG9yOiAkcGFnaW5hdGlvbi1pdGVtLWNvbG9yLFxuICAkcGFkZGluZzogJHBhZ2luYXRpb24taXRlbS1wYWRkaW5nLFxuICAkYmFja2dyb3VuZC1ob3ZlcjogJHBhZ2luYXRpb24taXRlbS1iYWNrZ3JvdW5kLWhvdmVyXG4pIHtcbiAgQGluY2x1ZGUgY2xlYXJmaXg7XG4gIG1hcmdpbi0jeyRnbG9iYWwtbGVmdH06IDA7XG4gIG1hcmdpbi1ib3R0b206ICRtYXJnaW4tYm90dG9tO1xuXG4gIC8vIExpc3QgaXRlbVxuICBsaSB7XG4gICAgbWFyZ2luLSN7JGdsb2JhbC1yaWdodH06ICRzcGFjaW5nO1xuICAgIGJvcmRlci1yYWRpdXM6ICRyYWRpdXM7XG4gICAgZm9udC1zaXplOiAkZm9udC1zaXplO1xuXG4gICAgQGlmICRwYWdpbmF0aW9uLW1vYmlsZS1pdGVtcyB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG5cbiAgICAgICY6bGFzdC1jaGlsZCxcbiAgICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICB9XG5cbiAgICAgIEBpZiAkcGFnaW5hdGlvbi1tb2JpbGUtY3VycmVudC1pdGVtIHtcbiAgICAgICAgJi5jdXJyZW50IHtcbiAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIFBhZ2UgbGlua3NcbiAgYSxcbiAgYnV0dG9uIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwYWRkaW5nOiAkcGFkZGluZztcbiAgICBib3JkZXItcmFkaXVzOiAkcmFkaXVzO1xuICAgIGNvbG9yOiAkY29sb3I7XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQ6ICRiYWNrZ3JvdW5kLWhvdmVyO1xuICAgIH1cbiAgfVxufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIHRoZSBjdXJyZW50IHBhZ2luYXRpb24gaXRlbS4gQXBwbHkgdGhpcyB0byBhbiBgPGE+YC5cbkBtaXhpbiBwYWdpbmF0aW9uLWl0ZW0tY3VycmVudCAoXG4gICRwYWRkaW5nOiAkcGFnaW5hdGlvbi1pdGVtLXBhZGRpbmcsXG4gICRiYWNrZ3JvdW5kLWN1cnJlbnQ6ICRwYWdpbmF0aW9uLWl0ZW0tYmFja2dyb3VuZC1jdXJyZW50LFxuICAkY29sb3ItY3VycmVudDogJHBhZ2luYXRpb24taXRlbS1jb2xvci1jdXJyZW50XG4pIHtcbiAgcGFkZGluZzogJHBhZGRpbmc7XG4gIGJhY2tncm91bmQ6ICRiYWNrZ3JvdW5kLWN1cnJlbnQ7XG4gIGNvbG9yOiAkY29sb3ItY3VycmVudDtcbiAgY3Vyc29yOiBkZWZhdWx0O1xufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGEgZGlzYWJsZWQgcGFnaW5hdGlvbiBpdGVtLiBBcHBseSB0aGlzIHRvIGFuIGA8YT5gLlxuQG1peGluIHBhZ2luYXRpb24taXRlbS1kaXNhYmxlZCAoXG4gICRwYWRkaW5nOiAkcGFnaW5hdGlvbi1pdGVtLXBhZGRpbmcsXG4gICRjb2xvcjogJHBhZ2luYXRpb24taXRlbS1jb2xvci1kaXNhYmxlZFxuKSB7XG4gIHBhZGRpbmc6ICRwYWRkaW5nO1xuICBjb2xvcjogJGNvbG9yO1xuICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xuXG4gICY6aG92ZXIge1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICB9XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYW4gZWxsaXBzaXMgZm9yIHVzZSBpbiBhIHBhZ2luYXRpb24gbGlzdC5cbkBtaXhpbiBwYWdpbmF0aW9uLWVsbGlwc2lzIChcbiAgJHBhZGRpbmc6ICRwYWdpbmF0aW9uLWl0ZW0tcGFkZGluZyxcbiAgJGNvbG9yOiAkcGFnaW5hdGlvbi1lbGxpcHNpcy1jb2xvclxuKSB7XG4gIHBhZGRpbmc6ICRwYWRkaW5nO1xuICBjb250ZW50OiAnXFwyMDI2JztcbiAgY29sb3I6ICRjb2xvcjtcbn1cblxuQG1peGluIGZvdW5kYXRpb24tcGFnaW5hdGlvbiB7XG4gIC5wYWdpbmF0aW9uIHtcbiAgICBAaW5jbHVkZSBwYWdpbmF0aW9uLWNvbnRhaW5lcjtcblxuICAgIC5jdXJyZW50IHtcbiAgICAgIEBpbmNsdWRlIHBhZ2luYXRpb24taXRlbS1jdXJyZW50O1xuICAgIH1cblxuICAgIC5kaXNhYmxlZCB7XG4gICAgICBAaW5jbHVkZSBwYWdpbmF0aW9uLWl0ZW0tZGlzYWJsZWQ7XG4gICAgfVxuXG4gICAgLmVsbGlwc2lzOjphZnRlciB7XG4gICAgICBAaW5jbHVkZSBwYWdpbmF0aW9uLWVsbGlwc2lzO1xuICAgIH1cbiAgfVxuXG4gIEBpZiAkcGFnaW5hdGlvbi1hcnJvd3Mge1xuICAgIC5wYWdpbmF0aW9uLXByZXZpb3VzIGE6OmJlZm9yZSxcbiAgICAucGFnaW5hdGlvbi1wcmV2aW91cy5kaXNhYmxlZDo6YmVmb3JlIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIG1hcmdpbi0jeyRnbG9iYWwtcmlnaHR9OiAwLjVyZW07XG4gICAgICBjb250ZW50OiAkcGFnaW5hdGlvbi1hcnJvdy1wcmV2aW91cztcbiAgICB9XG5cbiAgICAucGFnaW5hdGlvbi1uZXh0IGE6OmFmdGVyLFxuICAgIC5wYWdpbmF0aW9uLW5leHQuZGlzYWJsZWQ6OmFmdGVyIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIG1hcmdpbi0jeyRnbG9iYWwtbGVmdH06IDAuNXJlbTtcbiAgICAgIGNvbnRlbnQ6ICRwYWdpbmF0aW9uLWFycm93LW5leHQ7XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlc1xuLy8gaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgdG9vbHRpcFxuLy8vL1xuXG4vLy8gRGVmYXVsdCBjdXJzb3Igb2YgdGhlIGRlZmluZWQgdGVybS5cbi8vLyBAdHlwZSBLZXl3b3JkXG4kaGFzLXRpcC1jdXJzb3I6IGhlbHAgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZvbnQgd2VpZ2h0IG9mIHRoZSBkZWZpbmVkIHRlcm0uXG4vLy8gQHR5cGUgS2V5d29yZCB8IE51bWJlclxuJGhhcy10aXAtZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LWJvbGQgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJvcmRlciBib3R0b20gb2YgdGhlIGRlZmluZWQgdGVybS5cbi8vLyBAdHlwZSBMaXN0XG4kaGFzLXRpcC1ib3JkZXItYm90dG9tOiBkb3R0ZWQgMXB4ICRkYXJrLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGNvbG9yIG9mIHRoZSB0b29sdGlwIGJhY2tncm91bmQuXG4vLy8gQHR5cGUgQ29sb3JcbiR0b29sdGlwLWJhY2tncm91bmQtY29sb3I6ICRibGFjayAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgY29sb3Igb2YgdGhlIHRvb2x0aXAgZm9udC5cbi8vLyBAdHlwZSBDb2xvclxuJHRvb2x0aXAtY29sb3I6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcGFkZGluZyBvZiB0aGUgdG9vbHRpcCBiYWNrZ3JvdW5kLlxuLy8vIEB0eXBlIE51bWJlclxuJHRvb2x0aXAtcGFkZGluZzogMC43NXJlbSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgbWF4IHdpZHRoIGZvciB0b29sdGlwcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiR0b29sdGlwLW1heC13aWR0aDogMTByZW0gIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZvbnQgc2l6ZSBvZiB0aGUgdG9vbHRpcCB0ZXh0LiBCeSBkZWZhdWx0LCB3ZSByZWNvbW1lbmQgYSBzbWFsbGVyIGZvbnQgc2l6ZSB0aGFuIHRoZSBib2R5IGNvcHkuXG4vLy8gQHR5cGUgTnVtYmVyXG4kdG9vbHRpcC1mb250LXNpemU6ICRzbWFsbC1mb250LXNpemUgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHBpcCB3aWR0aCBmb3IgdG9vbHRpcHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kdG9vbHRpcC1waXAtd2lkdGg6IDAuNzVyZW0gIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHBpcCBoZWlnaHQgZm9yIHRvb2x0aXBzLiBUaGlzIGlzIGhlbHBmdWwgZm9yIGNhbGN1bGF0aW5nIHRoZSBkaXN0YW5jZSBvZiB0aGUgdG9vbHRpcCBmcm9tIHRoZSB0b29sdGlwIHdvcmQuXG4vLy8gQHR5cGUgTnVtYmVyXG4kdG9vbHRpcC1waXAtaGVpZ2h0OiAkdG9vbHRpcC1waXAtd2lkdGggKiAwLjg2NiAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcmFkaXVzIGZvciB0b29sdGlwcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiR0b29sdGlwLXJhZGl1czogJGdsb2JhbC1yYWRpdXMgIWRlZmF1bHQ7XG5cbkBtaXhpbiBoYXMtdGlwIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cbiAgYm9yZGVyLWJvdHRvbTogJGhhcy10aXAtYm9yZGVyLWJvdHRvbTtcbiAgZm9udC13ZWlnaHQ6ICRoYXMtdGlwLWZvbnQtd2VpZ2h0O1xuICBjdXJzb3I6ICRoYXMtdGlwLWN1cnNvcjtcbn1cblxuQG1peGluIHRvb2x0aXAge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogY2FsYygxMDAlICsgI3skdG9vbHRpcC1waXAtaGVpZ2h0fSk7XG4gIHotaW5kZXg6IDEyMDA7XG5cbiAgbWF4LXdpZHRoOiAkdG9vbHRpcC1tYXgtd2lkdGg7XG4gIHBhZGRpbmc6ICR0b29sdGlwLXBhZGRpbmc7XG5cbiAgYm9yZGVyLXJhZGl1czogJHRvb2x0aXAtcmFkaXVzO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkdG9vbHRpcC1iYWNrZ3JvdW5kLWNvbG9yO1xuICBmb250LXNpemU6ICR0b29sdGlwLWZvbnQtc2l6ZTtcbiAgY29sb3I6ICR0b29sdGlwLWNvbG9yO1xuXG4gICY6OmJlZm9yZSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICB9XG5cbiAgJi5ib3R0b20ge1xuICAgICY6OmJlZm9yZSB7XG4gICAgICBAaW5jbHVkZSBjc3MtdHJpYW5nbGUoJHRvb2x0aXAtcGlwLXdpZHRoLCAkdG9vbHRpcC1iYWNrZ3JvdW5kLWNvbG9yLCB1cCk7XG4gICAgICBib3R0b206IDEwMCU7XG4gICAgfVxuXG4gICAgJi5hbGlnbi1jZW50ZXI6OmJlZm9yZSB7XG4gICAgICBsZWZ0OiA1MCU7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG4gICAgfVxuICB9XG5cbiAgJi50b3Age1xuICAgICY6OmJlZm9yZSB7XG4gICAgICBAaW5jbHVkZSBjc3MtdHJpYW5nbGUoJHRvb2x0aXAtcGlwLXdpZHRoLCAkdG9vbHRpcC1iYWNrZ3JvdW5kLWNvbG9yLCBkb3duKTtcbiAgICAgIHRvcDogMTAwJTtcbiAgICAgIGJvdHRvbTogYXV0bztcbiAgICB9XG5cbiAgICAmLmFsaWduLWNlbnRlcjo6YmVmb3JlIHtcbiAgICAgIGxlZnQ6IDUwJTtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbiAgICB9XG4gIH1cblxuICAmLmxlZnQge1xuICAgICY6OmJlZm9yZSB7XG4gICAgICBAaW5jbHVkZSBjc3MtdHJpYW5nbGUoJHRvb2x0aXAtcGlwLXdpZHRoLCAkdG9vbHRpcC1iYWNrZ3JvdW5kLWNvbG9yLCByaWdodCk7XG4gICAgICBsZWZ0OiAxMDAlO1xuICAgIH1cblxuICAgICYuYWxpZ24tY2VudGVyOjpiZWZvcmUge1xuICAgICAgYm90dG9tOiBhdXRvO1xuICAgICAgdG9wOiA1MCU7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gICAgfVxuICB9XG5cbiAgJi5yaWdodCB7XG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIEBpbmNsdWRlIGNzcy10cmlhbmdsZSgkdG9vbHRpcC1waXAtd2lkdGgsICR0b29sdGlwLWJhY2tncm91bmQtY29sb3IsIGxlZnQpO1xuICAgICAgcmlnaHQ6IDEwMCU7XG4gICAgICBsZWZ0OiBhdXRvO1xuICAgIH1cblxuICAgICYuYWxpZ24tY2VudGVyOjpiZWZvcmUge1xuICAgICAgYm90dG9tOiBhdXRvO1xuICAgICAgdG9wOiA1MCU7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gICAgfVxuICB9XG5cbiAgJi5hbGlnbi10b3A6OmJlZm9yZSB7XG4gICAgYm90dG9tOiBhdXRvO1xuICAgIHRvcDogMTAlO1xuICB9XG5cbiAgJi5hbGlnbi1ib3R0b206OmJlZm9yZSB7XG4gICAgYm90dG9tOiAxMCU7XG4gICAgdG9wOiBhdXRvO1xuICB9XG5cbiAgJi5hbGlnbi1sZWZ0OjpiZWZvcmUge1xuICAgIGxlZnQ6IDEwJTtcbiAgICByaWdodDogYXV0bztcbiAgfVxuXG4gICYuYWxpZ24tcmlnaHQ6OmJlZm9yZSB7XG4gICAgbGVmdDogYXV0bztcbiAgICByaWdodDogMTAlO1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLXRvb2x0aXAge1xuICAuaGFzLXRpcCB7XG4gICAgQGluY2x1ZGUgaGFzLXRpcDtcbiAgfVxuXG4gIC50b29sdGlwIHtcbiAgICBAaW5jbHVkZSB0b29sdGlwO1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlc1xuLy8gaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgYWNjb3JkaW9uXG4vLy8vXG5cbi8vLyBEZWZhdWx0IGJhY2tncm91bmQgY29sb3Igb2YgYW4gYWNjb3JkaW9uIGdyb3VwLlxuLy8vIEB0eXBlIENvbG9yXG4kYWNjb3JkaW9uLWJhY2tncm91bmQ6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIElmIGB0cnVlYCwgYWRkcyBwbHVzIGFuZCBtaW51cyBpY29ucyB0byB0aGUgc2lkZSBvZiBlYWNoIGFjY29yZGlvbiB0aXRsZS5cbi8vLyBAdHlwZSBCb29sZWFuXG4kYWNjb3JkaW9uLXBsdXNtaW51czogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIENvbnRlbnQgZm9yIHRoZSBwbHVzIGljb24gd2hlbiBgJGFjY29yZGlvbi1wbHVzbWludXNgIGlzIGB0cnVlYFxuLy8vIEB0eXBlIFN0cmluZ1xuJGFjY29yZGlvbi1wbHVzLWNvbnRlbnQ6ICdcXDAwMkInICFkZWZhdWx0O1xuXG4vLy8gQ29udGVudCBmb3IgdGhlIG1pbnVzIGljb24gd2hlbiBgJGFjY29yZGlvbi1wbHVzbWludXNgIGlzIGB0cnVlYFxuLy8vIEB0eXBlIFN0cmluZ1xuJGFjY29yZGlvbi1taW51cy1jb250ZW50OiAnXFwyMDEzJyAhZGVmYXVsdDtcblxuLy8vIEZvbnQgc2l6ZSBvZiBhY2NvcmRpb24gdGl0bGVzLlxuLy8vIEB0eXBlIE51bWJlclxuJGFjY29yZGlvbi10aXRsZS1mb250LXNpemU6IHJlbS1jYWxjKDEyKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgdGV4dCBjb2xvciBmb3IgaXRlbXMgaW4gYSBNZW51LlxuLy8vIEB0eXBlIENvbG9yXG4kYWNjb3JkaW9uLWl0ZW0tY29sb3I6ICRwcmltYXJ5LWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBiYWNrZ3JvdW5kIGNvbG9yIG9uIGhvdmVyIGZvciBpdGVtcyBpbiBhIE1lbnUuXG4vLy8gQHR5cGUgQ29sb3JcbiRhY2NvcmRpb24taXRlbS1iYWNrZ3JvdW5kLWhvdmVyOiAkbGlnaHQtZ3JheSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcGFkZGluZyBvZiBhbiBhY2NvcmRpb24gaXRlbS5cbi8vLyBAdHlwZSBOdW1iZXIgfCBMaXN0XG4kYWNjb3JkaW9uLWl0ZW0tcGFkZGluZzogMS4yNXJlbSAxcmVtICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBiYWNrZ3JvdW5kIGNvbG9yIG9mIHRhYiBjb250ZW50LlxuLy8vIEB0eXBlIENvbG9yXG4kYWNjb3JkaW9uLWNvbnRlbnQtYmFja2dyb3VuZDogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBib3JkZXIgY29sb3Igb2YgdGFiIGNvbnRlbnQuXG4vLy8gQHR5cGUgQ29sb3JcbiRhY2NvcmRpb24tY29udGVudC1ib3JkZXI6IDFweCBzb2xpZCAkbGlnaHQtZ3JheSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgdGV4dCBjb2xvciBvZiB0YWIgY29udGVudC5cbi8vLyBAdHlwZSBDb2xvclxuJGFjY29yZGlvbi1jb250ZW50LWNvbG9yOiAkYm9keS1mb250LWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBwYWRkaW5nIGZvciB0YWIgY29udGVudC5cbi8vLyBAdHlwZSBOdW1iZXIgfCBMaXN0XG4kYWNjb3JkaW9uLWNvbnRlbnQtcGFkZGluZzogMXJlbSAhZGVmYXVsdDtcblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhbiBhY2NvcmRpb24gY29udGFpbmVyLiBBcHBseSB0aGlzIHRvIHRoZSBzYW1lIGVsZW1lbnQgdGhhdCBnZXRzIGBkYXRhLWFjY29yZGlvbmAuXG5AbWl4aW4gYWNjb3JkaW9uLWNvbnRhaW5lciAoXG4gICRiYWNrZ3JvdW5kOiAkYWNjb3JkaW9uLWJhY2tncm91bmRcbikge1xuICBtYXJnaW4tI3skZ2xvYmFsLWxlZnR9OiAwO1xuICBiYWNrZ3JvdW5kOiAkYmFja2dyb3VuZDtcbiAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xuXG4gICZbZGlzYWJsZWRdIHtcbiAgICAuYWNjb3JkaW9uLXRpdGxlIHtcbiAgICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7XG4gICAgfVxuICB9XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgdGhlIGFjY29yZGlvbiBpdGVtLiBBcHBseSB0aGlzIHRvIHRoZSBsaXN0IGl0ZW0gd2l0aGluIGFuIGFjY29yZGlvbiB1bC5cbkBtaXhpbiBhY2NvcmRpb24taXRlbSB7XG4gICY6Zmlyc3QtY2hpbGQgPiA6Zmlyc3QtY2hpbGQge1xuICAgIGJvcmRlci1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICRnbG9iYWwtcmFkaXVzIDAgMDtcbiAgfVxuXG4gICY6bGFzdC1jaGlsZCA+IDpsYXN0LWNoaWxkIHtcbiAgICBib3JkZXItcmFkaXVzOiAwIDAgJGdsb2JhbC1yYWRpdXMgJGdsb2JhbC1yYWRpdXM7XG4gIH1cbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciB0aGUgdGl0bGUgb2YgYW4gYWNjb3JkaW9uIGl0ZW0uIEFwcGx5IHRoaXMgdG8gdGhlIGxpbmsgd2l0aGluIGFuIGFjY29yZGlvbiBpdGVtLlxuQG1peGluIGFjY29yZGlvbi10aXRsZSAoXG4gICRwYWRkaW5nOiAkYWNjb3JkaW9uLWl0ZW0tcGFkZGluZyxcbiAgJGZvbnQtc2l6ZTogJGFjY29yZGlvbi10aXRsZS1mb250LXNpemUsXG4gICRjb2xvcjogJGFjY29yZGlvbi1pdGVtLWNvbG9yLFxuICAkYm9yZGVyOiAkYWNjb3JkaW9uLWNvbnRlbnQtYm9yZGVyLFxuICAkYmFja2dyb3VuZC1ob3ZlcjogJGFjY29yZGlvbi1pdGVtLWJhY2tncm91bmQtaG92ZXJcbikge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwYWRkaW5nOiAkcGFkZGluZztcblxuICBib3JkZXI6ICRib3JkZXI7XG4gIGJvcmRlci1ib3R0b206IDA7XG5cbiAgZm9udC1zaXplOiAkZm9udC1zaXplO1xuICBsaW5lLWhlaWdodDogMTtcbiAgY29sb3I6ICRjb2xvcjtcblxuICA6bGFzdC1jaGlsZDpub3QoLmlzLWFjdGl2ZSkgPiAmIHtcbiAgICBib3JkZXItYm90dG9tOiAkYm9yZGVyO1xuICAgIGJvcmRlci1yYWRpdXM6IDAgMCAkZ2xvYmFsLXJhZGl1cyAkZ2xvYmFsLXJhZGl1cztcbiAgfVxuXG4gICY6aG92ZXIsXG4gICY6Zm9jdXMge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRiYWNrZ3JvdW5kLWhvdmVyO1xuICB9XG5cbiAgQGlmICRhY2NvcmRpb24tcGx1c21pbnVzIHtcbiAgICAmOjpiZWZvcmUge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiA1MCU7XG4gICAgICAjeyRnbG9iYWwtcmlnaHR9OiAxcmVtO1xuICAgICAgbWFyZ2luLXRvcDogLTAuNXJlbTtcbiAgICAgIGNvbnRlbnQ6ICRhY2NvcmRpb24tcGx1cy1jb250ZW50O1xuICAgIH1cblxuICAgIC5pcy1hY3RpdmUgPiAmOjpiZWZvcmUge1xuICAgICAgY29udGVudDogJGFjY29yZGlvbi1taW51cy1jb250ZW50O1xuICAgIH1cbiAgfVxufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGFjY29yZGlvbiBjb250ZW50LiBBcHBseSB0aGlzIHRvIHRoZSBjb250ZW50IHBhbmUgYmVsb3cgYW4gYWNjb3JkaW9uIGl0ZW0ncyB0aXRsZS5cbkBtaXhpbiBhY2NvcmRpb24tY29udGVudCAoXG4gICRwYWRkaW5nOiAkYWNjb3JkaW9uLWNvbnRlbnQtcGFkZGluZyxcbiAgJGJvcmRlcjogJGFjY29yZGlvbi1jb250ZW50LWJvcmRlcixcbiAgJGJhY2tncm91bmQ6ICRhY2NvcmRpb24tY29udGVudC1iYWNrZ3JvdW5kLFxuICAkY29sb3I6ICRhY2NvcmRpb24tY29udGVudC1jb2xvclxuKSB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIHBhZGRpbmc6ICRwYWRkaW5nO1xuXG4gIGJvcmRlcjogJGJvcmRlcjtcbiAgYm9yZGVyLWJvdHRvbTogMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGJhY2tncm91bmQ7XG5cbiAgY29sb3I6ICRjb2xvcjtcblxuICA6bGFzdC1jaGlsZCA+ICY6bGFzdC1jaGlsZCB7XG4gICAgYm9yZGVyLWJvdHRvbTogJGJvcmRlcjtcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1hY2NvcmRpb24ge1xuICAuYWNjb3JkaW9uIHtcbiAgICBAaW5jbHVkZSBhY2NvcmRpb24tY29udGFpbmVyO1xuICB9XG5cbiAgLmFjY29yZGlvbi1pdGVtIHtcbiAgICBAaW5jbHVkZSBhY2NvcmRpb24taXRlbTtcbiAgfVxuXG4gIC5hY2NvcmRpb24tdGl0bGUge1xuICAgIEBpbmNsdWRlIGFjY29yZGlvbi10aXRsZTtcbiAgfVxuXG4gIC5hY2NvcmRpb24tY29udGVudCB7XG4gICAgQGluY2x1ZGUgYWNjb3JkaW9uLWNvbnRlbnQ7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBvcmJpdFxuLy8vL1xuXG4vLy8gRGVmYXVsdCBjb2xvciBmb3IgT3JiaXQncyBidWxsZXRzLlxuLy8vIEB0eXBlIENvbG9yXG4kb3JiaXQtYnVsbGV0LWJhY2tncm91bmQ6ICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYWN0aXZlIGNvbG9yIGZvciBPcmJpdCdzIGJ1bGxldHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRvcmJpdC1idWxsZXQtYmFja2dyb3VuZC1hY3RpdmU6ICRkYXJrLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGRpYW1ldGVyIGZvciBPcmJpdCdzIGJ1bGxldHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kb3JiaXQtYnVsbGV0LWRpYW1ldGVyOiAxLjJyZW0gIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IG1hcmdpbiBiZXR3ZWVuIE9yYml0J3MgYnVsbGV0cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRvcmJpdC1idWxsZXQtbWFyZ2luOiAwLjFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGRpc3RhbmNlIGZyb20gc2xpZGUgcmVnaW9uIGZvciBPcmJpdCdzIGJ1bGxldHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kb3JiaXQtYnVsbGV0LW1hcmdpbi10b3A6IDAuOHJlbSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYm90dG9tIG1hcmdpbiBmcm9tIE9yYml0J3MgYnVsbGV0cyB0byB3aGF0ZXZlciBjb250ZW50IG1heSBsdXJrIGJlbG93IGl0LlxuLy8vIEB0eXBlIE51bWJlclxuJG9yYml0LWJ1bGxldC1tYXJnaW4tYm90dG9tOiAwLjhyZW0gIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJhY2tncm91bmQgY29sb3IgZm9yIE9yYml0J3MgY2FwdGlvbi5cbi8vLyBAdHlwZSBDb2xvclxuJG9yYml0LWNhcHRpb24tYmFja2dyb3VuZDogcmdiYSgkYmxhY2ssIDAuNSkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHBhZGRpbmcgZm9yIE9yYml0J3MgY2FwdGlvbi5cbi8vLyBAdHlwZSBOdW1iZXJcbiRvcmJpdC1jYXB0aW9uLXBhZGRpbmc6IDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJhY2tncm91bmQgY29sb3IgZm9yIE9yYml0J3MgY29udHJvbHMgd2hlbiBob3ZlcmVkLlxuLy8vIEB0eXBlIENvbG9yXG4kb3JiaXQtY29udHJvbC1iYWNrZ3JvdW5kLWhvdmVyOiByZ2JhKCRibGFjaywgMC41KSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcGFkZGluZyBmb3IgT3JiaXQncyBjb250cm9scy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRvcmJpdC1jb250cm9sLXBhZGRpbmc6IDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHotaW5kZXggZm9yIE9yYml0J3MgY29udHJvbHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kb3JiaXQtY29udHJvbC16aW5kZXg6IDEwICFkZWZhdWx0O1xuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIHRoZSBvdXRlciBPcmJpdCB3cmFwcGVyLiBUaGVzZSBzdHlsZXMgYXJlIHVzZWQgb24gdGhlIGAub3JiaXRgIGNsYXNzLlxuQG1peGluIG9yYml0LXdyYXBwZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgdGhlIGlubmVyIE9yYml0IHNsaWRlIGNvbnRhaW5lci4gVGhlc2Ugc3R5bGVzIGFyZSB1c2VkIG9uIHRoZSBgLm9yYml0LWNvbnRhaW5lcmAgY2xhc3MuXG5AbWl4aW4gb3JiaXQtY29udGFpbmVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBoZWlnaHQ6IDA7IC8vIFByZXZlbnQgRk9VQyBieSBub3Qgc2hvd2luZyB1bnRpbCBKUyBzZXRzIGhlaWdodFxuICBtYXJnaW46IDA7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIG92ZXJmbG93OiBoaWRkZW47XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgdGhlIGluZGl2aWR1YWwgc2xpZGVzIG9mIGFuIE9yYml0IHNsaWRlci4gVGhlc2Ugc3R5bGVzIGFyZSB1c2VkIG9uIHRoZSBgLm9yYml0LXNsaWRlYCBjbGFzcy5cbkBtaXhpbiBvcmJpdC1zbGlkZSB7XG4gIHdpZHRoOiAxMDAlO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG5cbiAgJi5uby1tb3Rpb251aSB7XG4gICAgJi5pcy1hY3RpdmUge1xuICAgICAgdG9wOiAwO1xuICAgICAgbGVmdDogMDtcbiAgICB9XG4gIH1cbn1cblxuQG1peGluIG9yYml0LWZpZ3VyZSB7XG4gIG1hcmdpbjogMDtcbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhIHNsaWRlIGNvbnRhaW5pbmcgYW4gaW1hZ2UuIFRoZXNlIHN0eWxlcyBhcmUgdXNlZCBvbiB0aGUgYC5vcmJpdC1pbWFnZWAgY2xhc3MuXG5AbWl4aW4gb3JiaXQtaW1hZ2Uge1xuICB3aWR0aDogMTAwJTtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBtYXJnaW46IDA7XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYW4gb3JiaXQgc2xpZGUgY2FwdGlvbi4gVGhlc2Ugc3R5bGVzIGFyZSB1c2VkIG9uIHRoZSBgLm9yYml0LWNhcHRpb25gIGNsYXNzLlxuQG1peGluIG9yYml0LWNhcHRpb24ge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGJvdHRvbTogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIG1hcmdpbi1ib3R0b206IDA7XG4gIHBhZGRpbmc6ICRvcmJpdC1jYXB0aW9uLXBhZGRpbmc7XG5cbiAgYmFja2dyb3VuZC1jb2xvcjogJG9yYml0LWNhcHRpb24tYmFja2dyb3VuZDtcbiAgY29sb3I6IGNvbG9yLXBpY2stY29udHJhc3QoJG9yYml0LWNhcHRpb24tYmFja2dyb3VuZCk7XG59XG5cbi8vLyBBZGRzIGJhc2Ugc3R5bGVzIGZvciB0aGUgbmV4dC9wcmV2aW91cyBidXR0b25zIGluIGFuIE9yYml0IHNsaWRlci4gVGhlc2Ugc3R5bGVzIGFyZSBzaGFyZWQgYmV0d2VlbiB0aGUgYC5vcmJpdC1uZXh0YCBhbmQgYC5vcmJpdC1wcmV2aW91c2AgY2xhc3NlcyBpbiB0aGUgZGVmYXVsdCBDU1MuXG5AbWl4aW4gb3JiaXQtY29udHJvbCB7XG4gIEBpbmNsdWRlIGRpc2FibGUtbW91c2Utb3V0bGluZTtcbiAgQGluY2x1ZGUgdmVydGljYWwtY2VudGVyO1xuICB6LWluZGV4OiAkb3JiaXQtY29udHJvbC16aW5kZXg7XG4gIHBhZGRpbmc6ICRvcmJpdC1jb250cm9sLXBhZGRpbmc7XG4gIGNvbG9yOiAkd2hpdGU7XG5cbiAgJjpob3ZlcixcbiAgJjphY3RpdmUsXG4gICY6Zm9jdXMge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRvcmJpdC1jb250cm9sLWJhY2tncm91bmQtaG92ZXI7XG4gIH1cbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciB0aGUgT3JiaXQgcHJldmlvdXMgYnV0dG9uLiBUaGVzZSBzdHlsZXMgYXJlIHVzZWQgb24gdGhlIGAub3JiaXQtcHJldmlvdXNgIGNsYXNzLlxuQG1peGluIG9yYml0LXByZXZpb3VzIHtcbiAgI3skZ2xvYmFsLWxlZnR9OiAwO1xufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIHRoZSBPcmJpdCBuZXh0IGJ1dHRvbi4gVGhlc2Ugc3R5bGVzIGFyZSB1c2VkIG9uIHRoZSBgLm9yYml0LW5leHRgIGNsYXNzLlxuQG1peGluIG9yYml0LW5leHQge1xuICAjeyRnbG9iYWwtbGVmdH06IGF1dG87XG4gICN7JGdsb2JhbC1yaWdodH06IDA7XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYSBjb250YWluZXIgb2YgT3JiaXQgYnVsbGV0cy4gLy8vIEFkZHMgc3R5bGVzIGZvciB0aGUgT3JiaXQgcHJldmlvdXMgYnV0dG9uLiBUaGVzZSBzdHlsZXMgYXJlIHVzZWQgb24gdGhlIGAub3JiaXQtYnVsbGV0c2AgY2xhc3MuXG5AbWl4aW4gb3JiaXQtYnVsbGV0cyB7XG4gIEBpbmNsdWRlIGRpc2FibGUtbW91c2Utb3V0bGluZTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtYXJnaW4tdG9wOiAkb3JiaXQtYnVsbGV0LW1hcmdpbi10b3A7XG4gIG1hcmdpbi1ib3R0b206ICRvcmJpdC1idWxsZXQtbWFyZ2luLWJvdHRvbTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gIGJ1dHRvbiB7XG4gICAgd2lkdGg6ICRvcmJpdC1idWxsZXQtZGlhbWV0ZXI7XG4gICAgaGVpZ2h0OiAkb3JiaXQtYnVsbGV0LWRpYW1ldGVyO1xuICAgIG1hcmdpbjogJG9yYml0LWJ1bGxldC1tYXJnaW47XG5cbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJG9yYml0LWJ1bGxldC1iYWNrZ3JvdW5kO1xuXG4gICAgJjpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkb3JiaXQtYnVsbGV0LWJhY2tncm91bmQtYWN0aXZlO1xuICAgIH1cblxuICAgICYuaXMtYWN0aXZlIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRvcmJpdC1idWxsZXQtYmFja2dyb3VuZC1hY3RpdmU7XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLW9yYml0IHtcbiAgLm9yYml0IHtcbiAgICBAaW5jbHVkZSBvcmJpdC13cmFwcGVyO1xuICB9XG5cbiAgLm9yYml0LWNvbnRhaW5lciB7XG4gICAgQGluY2x1ZGUgb3JiaXQtY29udGFpbmVyO1xuICB9XG5cbiAgLm9yYml0LXNsaWRlIHtcbiAgICBAaW5jbHVkZSBvcmJpdC1zbGlkZTtcbiAgfVxuXG4gIC5vcmJpdC1maWd1cmUge1xuICAgIEBpbmNsdWRlIG9yYml0LWZpZ3VyZTtcbiAgfVxuXG4gIC5vcmJpdC1pbWFnZSB7XG4gICAgQGluY2x1ZGUgb3JiaXQtaW1hZ2U7XG4gIH1cblxuICAub3JiaXQtY2FwdGlvbiB7XG4gICAgQGluY2x1ZGUgb3JiaXQtY2FwdGlvbjtcbiAgfVxuXG4gICVvcmJpdC1jb250cm9sIHtcbiAgICBAaW5jbHVkZSBvcmJpdC1jb250cm9sO1xuICB9XG5cbiAgLm9yYml0LXByZXZpb3VzIHtcbiAgICBAZXh0ZW5kICVvcmJpdC1jb250cm9sO1xuICAgIEBpbmNsdWRlIG9yYml0LXByZXZpb3VzO1xuICB9XG5cbiAgLm9yYml0LW5leHQge1xuICAgIEBleHRlbmQgJW9yYml0LWNvbnRyb2w7XG4gICAgQGluY2x1ZGUgb3JiaXQtbmV4dDtcbiAgfVxuXG4gIC5vcmJpdC1idWxsZXRzIHtcbiAgICBAaW5jbHVkZSBvcmJpdC1idWxsZXRzO1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlc1xuLy8gaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgdGFic1xuLy8vL1xuXG4vLy8gRGVmYXVsdCBtYXJnaW4gb2YgdGhlIHRhYiBiYXIuXG4vLy8gQHR5cGUgTnVtYmVyXG4kdGFiLW1hcmdpbjogMCAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYmFja2dyb3VuZCBjb2xvciBvZiBhIHRhYiBiYXIuXG4vLy8gQHR5cGUgQ29sb3JcbiR0YWItYmFja2dyb3VuZDogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gRm9udCBjb2xvciBvZiB0YWIgaXRlbS5cbi8vLyBAdHlwZSBDb2xvclxuJHRhYi1jb2xvcjogJHByaW1hcnktY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBBY3RpdmUgYmFja2dyb3VuZCBjb2xvciBvZiBhIHRhYiBiYXIuXG4vLy8gQHR5cGUgQ29sb3JcbiR0YWItYmFja2dyb3VuZC1hY3RpdmU6ICRsaWdodC1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gQWN0aXZlIGZvbnQgY29sb3Igb2YgdGFiIGl0ZW0uXG4vLy8gQHR5cGUgQ29sb3JcbiR0YWItYWN0aXZlLWNvbG9yOiAkcHJpbWFyeS1jb2xvciAhZGVmYXVsdDtcblxuLy8vIEZvbnQgc2l6ZSBvZiB0YWIgaXRlbXMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kdGFiLWl0ZW0tZm9udC1zaXplOiByZW0tY2FsYygxMikgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJhY2tncm91bmQgY29sb3Igb24gaG92ZXIgZm9yIGl0ZW1zIGluIGEgTWVudS5cbiR0YWItaXRlbS1iYWNrZ3JvdW5kLWhvdmVyOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHBhZGRpbmcgb2YgYSB0YWIgaXRlbS5cbi8vLyBAdHlwZSBOdW1iZXJcbiR0YWItaXRlbS1wYWRkaW5nOiAxLjI1cmVtIDEuNXJlbSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYmFja2dyb3VuZCBjb2xvciBvZiB0YWIgY29udGVudC5cbi8vLyBAdHlwZSBDb2xvclxuJHRhYi1jb250ZW50LWJhY2tncm91bmQ6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYm9yZGVyIGNvbG9yIG9mIHRhYiBjb250ZW50LlxuLy8vIEB0eXBlIENvbG9yXG4kdGFiLWNvbnRlbnQtYm9yZGVyOiAkbGlnaHQtZ3JheSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgdGV4dCBjb2xvciBvZiB0YWIgY29udGVudC5cbi8vLyBAdHlwZSBDb2xvclxuJHRhYi1jb250ZW50LWNvbG9yOiAkYm9keS1mb250LWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBwYWRkaW5nIGZvciB0YWIgY29udGVudC5cbi8vLyBAdHlwZSBOdW1iZXIgfCBMaXN0XG4kdGFiLWNvbnRlbnQtcGFkZGluZzogMXJlbSAhZGVmYXVsdDtcblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhIHRhYiBjb250YWluZXIuIEFwcGx5IHRoaXMgdG8gYSBgPHVsPmAuXG5AbWl4aW4gdGFicy1jb250YWluZXIgKFxuICAkbWFyZ2luOiAkdGFiLW1hcmdpbixcbiAgJGJhY2tncm91bmQ6ICR0YWItYmFja2dyb3VuZCxcbiAgJGJvcmRlci1jb2xvcjogJHRhYi1jb250ZW50LWJvcmRlclxuKSB7XG4gIEBpbmNsdWRlIGNsZWFyZml4O1xuICBtYXJnaW46ICRtYXJnaW47XG4gIGJvcmRlcjogMXB4IHNvbGlkICRib3JkZXItY29sb3I7XG4gIGJhY2tncm91bmQ6ICRiYWNrZ3JvdW5kO1xuICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG59XG5cbi8vLyBBdWdtZW50cyBhIHRhYiBjb250YWluZXIgdG8gaGF2ZSB2ZXJ0aWNhbCB0YWJzLiBVc2UgdGhpcyBpbiBjb25qdW5jdGlvbiB3aXRoIGB0YWJzLWNvbnRhaW5lcigpYC5cbkBtaXhpbiB0YWJzLWNvbnRhaW5lci12ZXJ0aWNhbCB7XG4gID4gbGkge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGZsb2F0OiBub25lO1xuICAgIHdpZHRoOiBhdXRvO1xuICB9XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgdGhlIGxpbmtzIHdpdGhpbiBhIHRhYiBjb250YWluZXIuIEFwcGx5IHRoaXMgdG8gdGhlIGA8bGk+YCBlbGVtZW50cyBpbnNpZGUgYSB0YWIgY29udGFpbmVyLlxuQG1peGluIHRhYnMtdGl0bGUgKFxuICAkcGFkZGluZzogJHRhYi1pdGVtLXBhZGRpbmcsXG4gICRmb250LXNpemU6ICR0YWItaXRlbS1mb250LXNpemUsXG4gICRjb2xvcjogJHRhYi1jb2xvcixcbiAgJGNvbG9yLWFjdGl2ZTogJHRhYi1hY3RpdmUtY29sb3IsXG4gICRiYWNrZ3JvdW5kLWhvdmVyOiAkdGFiLWl0ZW0tYmFja2dyb3VuZC1ob3ZlcixcbiAgJGJhY2tncm91bmQtYWN0aXZlOiAkdGFiLWJhY2tncm91bmQtYWN0aXZlXG4pIHtcbiAgZmxvYXQ6ICN7JGdsb2JhbC1sZWZ0fTtcblxuICA+IGEge1xuICAgIEBpbmNsdWRlIGRpc2FibGUtbW91c2Utb3V0bGluZTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwYWRkaW5nOiAkcGFkZGluZztcbiAgICBmb250LXNpemU6ICRmb250LXNpemU7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgY29sb3I6ICRjb2xvcjtcblxuICAgICY6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZDogJGJhY2tncm91bmQtaG92ZXI7XG4gICAgICBjb2xvcjogc2NhbGUtY29sb3IoJGNvbG9yLCAkbGlnaHRuZXNzOiAtMTQlKTtcbiAgICB9XG5cbiAgICAmOmZvY3VzLFxuICAgICZbYXJpYS1zZWxlY3RlZD0ndHJ1ZSddIHtcbiAgICAgIGJhY2tncm91bmQ6ICRiYWNrZ3JvdW5kLWFjdGl2ZTtcbiAgICAgIGNvbG9yOiAkY29sb3ItYWN0aXZlO1xuICAgIH1cbiAgfVxufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIHRoZSB3cmFwcGVyIHRoYXQgc3Vycm91bmRzIGEgdGFiIGdyb3VwJ3MgY29udGVudCBwYW5lcy5cbkBtaXhpbiB0YWJzLWNvbnRlbnQgKFxuICAkYmFja2dyb3VuZDogJHRhYi1jb250ZW50LWJhY2tncm91bmQsXG4gICRjb2xvcjogJHRhYi1jb250ZW50LWNvbG9yLFxuICAkYm9yZGVyLWNvbG9yOiAkdGFiLWNvbnRlbnQtYm9yZGVyXG4pIHtcbiAgYm9yZGVyOiAxcHggc29saWQgJGJvcmRlci1jb2xvcjtcbiAgYm9yZGVyLXRvcDogMDtcbiAgYmFja2dyb3VuZDogJGJhY2tncm91bmQ7XG4gIGNvbG9yOiAkY29sb3I7XG4gIHRyYW5zaXRpb246IGFsbCAwLjVzIGVhc2U7XG59XG5cbi8vLyBBdWdtZW50cyBhIHRhYiBjb250ZW50IGNvbnRhaW5lciB0byBoYXZlIGEgdmVydGljYWwgc3R5bGUsIGJ5IHNoaWZ0aW5nIHRoZSBib3JkZXIgYXJvdW5kLiBVc2UgdGhpcyBpbiBjb25qdW5jdGlvbiB3aXRoIGB0YWJzLWNvbnRlbnQoKWAuXG5AbWl4aW4gdGFicy1jb250ZW50LXZlcnRpY2FsIChcbiAgJGJvcmRlci1jb2xvcjogJHRhYi1jb250ZW50LWJvcmRlclxuKSB7XG4gIGJvcmRlcjogMXB4IHNvbGlkICRib3JkZXItY29sb3I7XG4gIGJvcmRlci0jeyRnbG9iYWwtbGVmdH06IDA7XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYW4gaW5kaXZpZHVhbCB0YWIgY29udGVudCBwYW5lbCB3aXRoaW4gdGhlIHRhYiBjb250ZW50IGNvbnRhaW5lci5cbkBtaXhpbiB0YWJzLXBhbmVsIChcbiAgJHBhZGRpbmc6ICR0YWItY29udGVudC1wYWRkaW5nXG4pIHtcbiAgZGlzcGxheTogbm9uZTtcbiAgcGFkZGluZzogJHBhZGRpbmc7XG5cbiAgJi5pcy1hY3RpdmUge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLXRhYnMge1xuICAudGFicyB7XG4gICAgQGluY2x1ZGUgdGFicy1jb250YWluZXI7XG4gIH1cblxuICAvLyBWZXJ0aWNhbFxuICAudGFicy52ZXJ0aWNhbCB7XG4gICAgQGluY2x1ZGUgdGFicy1jb250YWluZXItdmVydGljYWw7XG4gIH1cblxuICAvLyBTaW1wbGVcbiAgLnRhYnMuc2ltcGxlIHtcbiAgICA+IGxpID4gYSB7XG4gICAgICBwYWRkaW5nOiAwO1xuXG4gICAgICAmOmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gUHJpbWFyeSBjb2xvclxuICAudGFicy5wcmltYXJ5IHtcbiAgICBiYWNrZ3JvdW5kOiAkcHJpbWFyeS1jb2xvcjtcblxuICAgID4gbGkgPiBhIHtcbiAgICAgIGNvbG9yOiBjb2xvci1waWNrLWNvbnRyYXN0KCRwcmltYXJ5LWNvbG9yKTtcblxuICAgICAgJjpob3ZlcixcbiAgICAgICY6Zm9jdXMge1xuICAgICAgICBiYWNrZ3JvdW5kOiBzbWFydC1zY2FsZSgkcHJpbWFyeS1jb2xvcik7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLnRhYnMtdGl0bGUge1xuICAgIEBpbmNsdWRlIHRhYnMtdGl0bGU7XG4gIH1cblxuICAudGFicy1jb250ZW50IHtcbiAgICBAaW5jbHVkZSB0YWJzLWNvbnRlbnQ7XG4gIH1cblxuICAudGFicy1jb250ZW50LnZlcnRpY2FsIHtcbiAgICBAaW5jbHVkZSB0YWJzLWNvbnRlbnQtdmVydGljYWw7XG4gIH1cblxuICAudGFicy1wYW5lbCB7XG4gICAgQGluY2x1ZGUgdGFicy1wYW5lbDtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHRodW1ibmFpbFxuLy8vL1xuXG4vLy8gQm9yZGVyIGFyb3VuZCB0aHVtYm5haWwgaW1hZ2VzLlxuLy8vIEB0eXBlIEJvcmRlclxuJHRodW1ibmFpbC1ib3JkZXI6IDRweCBzb2xpZCAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBCb3R0b20gbWFyZ2luIGZvciB0aHVtYm5haWwgaW1hZ2VzLlxuLy8vIEB0eXBlIExlbmd0aFxuJHRodW1ibmFpbC1tYXJnaW4tYm90dG9tOiAkZ2xvYmFsLW1hcmdpbiAhZGVmYXVsdDtcblxuLy8vIEJveCBzaGFkb3cgdW5kZXIgdGh1bWJuYWlsIGltYWdlcy5cbi8vLyBAdHlwZSBTaGFkb3dcbiR0aHVtYm5haWwtc2hhZG93OiAwIDAgMCAxcHggcmdiYSgkYmxhY2ssIDAuMikgIWRlZmF1bHQ7XG5cbi8vLyBCb3ggc2hhZG93IHVuZGVyIHRodW1ibmFpbCBpbWFnZXMuXG4vLy8gQHR5cGUgU2hhZG93XG4kdGh1bWJuYWlsLXNoYWRvdy1ob3ZlcjogMCAwIDZweCAxcHggcmdiYSgkcHJpbWFyeS1jb2xvciwgMC41KSAhZGVmYXVsdDtcblxuLy8vIFRyYW5zaXRpb24gcHJvcHJ0aWVzIGZvciB0aHVtYm5haWwgaW1hZ2VzLlxuLy8vIEB0eXBlIFRyYW5zaXRpb25cbiR0aHVtYm5haWwtdHJhbnNpdGlvbjogYm94LXNoYWRvdyAyMDBtcyBlYXNlLW91dCAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcmFkaXVzIGZvciB0aHVtYm5haWwgaW1hZ2VzLlxuLy8vIEB0eXBlIE51bWJlclxuJHRodW1ibmFpbC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICFkZWZhdWx0O1xuXG4vLy8gQWRkcyB0aHVtYm5haWwgc3R5bGVzIHRvIGFuIGVsZW1lbnQuXG5AbWl4aW4gdGh1bWJuYWlsIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIG1hcmdpbi1ib3R0b206ICR0aHVtYm5haWwtbWFyZ2luLWJvdHRvbTtcblxuICBib3JkZXI6ICR0aHVtYm5haWwtYm9yZGVyO1xuICBib3JkZXItcmFkaXVzOiAkdGh1bWJuYWlsLXJhZGl1cztcbiAgYm94LXNoYWRvdzogJHRodW1ibmFpbC1zaGFkb3c7XG5cbiAgbGluZS1oZWlnaHQ6IDA7XG59XG5cbkBtaXhpbiB0aHVtYm5haWwtbGluayB7XG4gIHRyYW5zaXRpb246ICR0aHVtYm5haWwtdHJhbnNpdGlvbjtcblxuICAmOmhvdmVyLFxuICAmOmZvY3VzIHtcbiAgICBib3gtc2hhZG93OiAkdGh1bWJuYWlsLXNoYWRvdy1ob3ZlcjtcbiAgfVxuXG4gIGltYWdlIHtcbiAgICBib3gtc2hhZG93OiBub25lO1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLXRodW1ibmFpbCB7XG4gIC50aHVtYm5haWwge1xuICAgIEBpbmNsdWRlIHRodW1ibmFpbDtcbiAgfVxuXG4gIGEudGh1bWJuYWlsIHtcbiAgICBAaW5jbHVkZSB0aHVtYm5haWwtbGluaztcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIG1lbnVcbi8vLy9cblxuLy8vIE1hcmdpbiBvZiBhIG1lbnUuXG4vLy8gQHR5cGUgTnVtYmVyXG4kbWVudS1tYXJnaW46IDAgIWRlZmF1bHQ7XG5cbi8vLyBMZWZ0LWhhbmQgbWFyZ2luIG9mIGEgbmVzdGVkIG1lbnUuXG4vLy8gQHR5cGUgTnVtYmVyXG4kbWVudS1uZXN0ZWQtbWFyZ2luOiAkZ2xvYmFsLW1lbnUtbmVzdGVkLW1hcmdpbiAhZGVmYXVsdDtcblxuLy8vIFBhZGRpbmcgZm9yIGl0ZW1zIGluIGEgcGlsbCBtZW51LlxuLy8vIEB0eXBlIE51bWJlclxuJG1lbnUtaXRlbXMtcGFkZGluZzogJGdsb2JhbC1tZW51LXBhZGRpbmcgIWRlZmF1bHQ7XG5cbi8vLyBtYXJnaW4gZm9yIGl0ZW1zIGluIGEgc2ltcGxlIG1lbnUuXG4vLy8gQHR5cGUgTnVtYmVyXG4kbWVudS1zaW1wbGUtbWFyZ2luOiAxcmVtICFkZWZhdWx0O1xuXG4vLy8gVGV4dCBjb2xvciBvZiBhbiBhY3RpdmUgbWVudSBpdGVtLlxuLy8vIEB0eXBlIENvbG9yXG4kbWVudS1pdGVtLWNvbG9yLWFjdGl2ZTogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gQWx0ZXJuYXRpdmUgdGV4dCBjb2xvciBvZiBhbiBhY3RpdmUgbWVudSBpdGVtLi5cbi8vLyBAdHlwZSBDb2xvclxuJG1lbnUtaXRlbS1jb2xvci1hbHQtYWN0aXZlOiAkYmxhY2sgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIG9mIGFuIGFjdGl2ZSBtZW51IGl0ZW0uXG4vLy8gQHR5cGUgQ29sb3JcbiRtZW51LWl0ZW0tYmFja2dyb3VuZC1hY3RpdmU6IGdldC1jb2xvcihwcmltYXJ5KSAhZGVmYXVsdDtcblxuLy8vIFNwYWNpbmcgYmV0d2VlbiBhbiBpY29uIGFuZCB0ZXh0IGluIGEgbWVudSBpdGVtLlxuLy8vIEB0eXBlIE51bWJlclxuJG1lbnUtaWNvbi1zcGFjaW5nOiAwLjI1cmVtICFkZWZhdWx0O1xuXG4vLy8gQmFja3dhcmQgY29tcGF0aWJpbGl0eSBmb3IgbWVudSBzdGF0ZS4gSWYgdHJ1ZSwgdGhpcyBkdXBsaWNhdGUgYGFjdGl2ZWAgd2l0aCBgaXMtYWN0aXZlYC5cbi8vLyBCdXQgcGxlYXNlIG5vdGUgdGhhdCBgYWN0aXZlYCB3aWxsIGJlIHJlbW92ZWQgaW4gdXBjb21pbmcgdmVyc2lvbnMuXG4vLy8gQHR5cGUgQm9vbGVhblxuJG1lbnUtc3RhdGUtYmFjay1jb21wYXQ6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrd2FyZCBjb21wYXRpYmlsaXR5IGZvciBtZW51IGNlbnRlcmVkLiBJZiB0cnVlLCB0aGlzIGR1cGxpY2F0ZSBgLm1lbnUtY2VudGVyZWQgPiAubWVudWAgd2l0aCBgLm1lbnUuYWxpZ24tY2VudGVyYC5cbi8vLyBCdXQgcGxlYXNlIG5vdGUgdGhhdCBgbWVudS1jZW50ZXJlZGAgd2lsbCBiZSByZW1vdmVkIGluIHVwY29taW5nIHZlcnNpb25zLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRtZW51LWNlbnRlcmVkLWJhY2stY29tcGF0OiB0cnVlICFkZWZhdWx0O1xuXG4vLy8gQmFja3dhcmQgY29tcGF0aWJpbGl0eSBmb3IgdXNpbmcgYGljb24tKmAgY2xhc3NlcyB3aXRob3V0IGAuaWNvbnNgIGNsYXNzZXNcbi8vLyBCdXQgcGxlYXNlIG5vdGUgdGhhdCB0aGlzIGJhY2t3YXJkIGNvbXBhdGliaWxpdHkgd2lsbCBiZSByZW1vdmVkIGluIHVwY29taW5nIHZlcnNpb25zLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRtZW51LWljb25zLWJhY2stY29tcGF0OiB0cnVlICFkZWZhdWx0O1xuXG4vLy8gQ3JlYXRlcyB0aGUgYmFzZSBzdHlsZXMgZm9yIGEgTWVudS5cbkBtaXhpbiBtZW51LWJhc2Uge1xuICBwYWRkaW5nOiAwO1xuICBtYXJnaW46IDA7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgfVxuXG4gIGxpIHtcbiAgICBAaW5jbHVkZSBkaXNhYmxlLW1vdXNlLW91dGxpbmU7XG4gIH1cblxuICBhLFxuICAuYnV0dG9uIHtcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcGFkZGluZzogJG1lbnUtaXRlbXMtcGFkZGluZztcbiAgfVxuXG4gIC8vIFJlc2V0IHN0eWxlcyBvZiBpbm5lciBlbGVtZW50c1xuICBpbnB1dCxcbiAgc2VsZWN0LFxuICBhLFxuICBidXR0b24ge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gIH1cblxuICBpbnB1dCB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB9XG59XG5cbi8vLyBFeHBhbmRzIHRoZSBpdGVtcyBvZiBhIE1lbnUsIHNvIGVhY2ggaXRlbSBpcyB0aGUgc2FtZSB3aWR0aC5cbkBtaXhpbiBtZW51LWV4cGFuZCB7XG4gIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgIGxpIHtcbiAgICAgIGZsZXg6IDEgMSAwcHg7IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgemVyby11bml0XG4gICAgfVxuICB9XG4gIEBlbHNlIHtcbiAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICB3aWR0aDogMTAwJTtcblxuICAgID4gbGkge1xuICAgICAgZGlzcGxheTogdGFibGUtY2VsbDtcbiAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgfVxuICB9XG59XG5cbi8vLyBBbGlnbiBtZW51IGl0ZW1zLlxuQG1peGluIG1lbnUtYWxpZ24oJGFsaWdubWVudCkge1xuICBAaWYgJGFsaWdubWVudCA9PSBsZWZ0IHtcbiAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgdGV4dC1hbGlnbjogJGdsb2JhbC1sZWZ0O1xuICAgIH1cbiAgfVxuICBAZWxzZSBpZiAkYWxpZ25tZW50ID09IHJpZ2h0IHtcbiAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgIGxpIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcblxuICAgICAgICAuc3VibWVudSBsaSB7XG4gICAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgICYudmVydGljYWwgbGkge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgdGV4dC1hbGlnbjogJGdsb2JhbC1yaWdodDtcblxuICAgICAgICAuc3VibWVudSBsaSB7XG4gICAgICAgICAgdGV4dC1hbGlnbjogJGdsb2JhbC1yaWdodDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICB0ZXh0LWFsaWduOiAkZ2xvYmFsLXJpZ2h0O1xuXG4gICAgICAuc3VibWVudSBsaSB7XG4gICAgICAgIHRleHQtYWxpZ246ICRnbG9iYWwtbGVmdDtcbiAgICAgIH1cblxuICAgICAgJi52ZXJ0aWNhbCB7XG4gICAgICAgIC5zdWJtZW51IGxpIHtcbiAgICAgICAgICB0ZXh0LWFsaWduOiAkZ2xvYmFsLXJpZ2h0O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEBlbHNlIGlmICRhbGlnbm1lbnQgPT0gY2VudGVyIHtcbiAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgIGxpIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cbiAgICAgICAgLnN1Ym1lbnUgbGkge1xuICAgICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgICAgIC5zdWJtZW51IGxpIHtcbiAgICAgICAgdGV4dC1hbGlnbjogJGdsb2JhbC1sZWZ0O1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLy8gU2V0cyB0aGUgZGlyZWN0aW9uIG9mIGEgTWVudS5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRkaXIgW2hvcml6b250YWxdIC0gRGlyZWN0aW9uIG9mIHRoZSBNZW51LiBDYW4gYmUgYGhvcml6b250YWxgIG9yIGB2ZXJ0aWNhbGAuXG5AbWl4aW4gbWVudS1kaXJlY3Rpb24oJGRpcjogaG9yaXpvbnRhbCkge1xuICBAaWYgJGRpciA9PSBob3Jpem9udGFsIHtcbiAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIGxpIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICBAZWxzZSBpZiAkZGlyID09IHZlcnRpY2FsIHtcbiAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgbGkge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQGVsc2Uge1xuICAgIEB3YXJuICdUaGUgZGlyZWN0aW9uIHVzZWQgZm9yIG1lbnUtZGlyZWN0aW9uKCkgbXVzdCBiZSBob3Jpem9udGFsIG9yIHZlcnRpY2FsLic7XG4gIH1cbn1cblxuLy8vIENyZWF0ZXMgYSBzaW1wbGUgTWVudSwgd2hpY2ggaGFzIG5vIHBhZGRpbmcgb3IgaG92ZXIgc3RhdGUuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkZGlyIFskZ2xvYmFsLWxlZnRdIC0gRGlyZWN0aW9uIG9mIHRoZSBtZW51LiBUaGlzIGVmZmVjdHMgdGhlIHNpZGUgb2YgdGhlIGA8bGk+YCB0aGF0IHJlY2VpdmVzIHRoZSBtYXJnaW4uXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRtYXJnaW4gWyRtZW51LXNpbXBsZS1tYXJnaW5dIC0gVGhlIG1hcmdpbiB0byBhcHBseSB0byBlYWNoIGA8bGk+YC5cbkBtaXhpbiBtZW51LXNpbXBsZSgkZGlyOiAkZ2xvYmFsLWxlZnQsICRtYXJnaW46ICRtZW51LXNpbXBsZS1tYXJnaW4pIHtcbiAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgfVxuXG4gIGxpICsgbGkge1xuICAgIG1hcmdpbi0jeyRkaXJ9OiAkbWFyZ2luO1xuICB9XG5cbiAgYSB7XG4gICAgcGFkZGluZzogMDtcbiAgfVxufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGEgbmVzdGVkIE1lbnUsIGJ5IGFkZGluZyBgbWFyZ2luLWxlZnRgIHRvIHRoZSBtZW51LlxuLy8vIEBwYXJhbSB7S2V5d29yZHxOdW1iZXJ9ICRtYXJnaW4gWyRtZW51LW5lc3RlZC1tYXJnaW5dIC0gTGVuZ3RoIG9mIHRoZSBtYXJnaW4uXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkbmVzdGVkLWFsaWdubWVudCBbbGVmdF0gLSBBbGlnbm1lbnQgb2YgdGhlIG5lc3RlZCBjbGFzc1xuQG1peGluIG1lbnUtbmVzdGVkKFxuICAkbWFyZ2luOiAkbWVudS1uZXN0ZWQtbWFyZ2luLFxuICAkbmVzdGVkLWFsaWdubWVudDogbGVmdFxuKSB7XG4gIEBpZiAkbmVzdGVkLWFsaWdubWVudCA9PSByaWdodCB7XG4gICAgbWFyZ2luLSN7JGdsb2JhbC1yaWdodH06ICRtYXJnaW47XG4gICAgbWFyZ2luLSN7JGdsb2JhbC1sZWZ0fTogMDtcbiAgfVxuICBAZWxzZSB7XG4gICAgbWFyZ2luLSN7JGdsb2JhbC1yaWdodH06IDA7XG4gICAgbWFyZ2luLSN7JGdsb2JhbC1sZWZ0fTogJG1hcmdpbjtcbiAgfVxuXG59XG5cbi8vLyBBZGRzIGJhc2ljIHN0eWxlcyBmb3IgaWNvbnMgaW4gbWVudXMuXG5AbWl4aW4gbWVudS1pY29ucygpIHtcbiAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgYSB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgIH1cbiAgfVxuICBAZWxzZSB7XG4gICAgaW1nLFxuICAgIGksXG4gICAgc3ZnIHtcbiAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG5cbiAgICAgICsgc3BhbiB7XG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vLyBBbGlnbiB0b3AvYm90dG9tIGljb25zIHdpdGhpbiBhIG1lbnUuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkYWxpZ25tZW50IFtjZW50ZXJdIC0gQWxpZ25tZW50IG9mIHRoZSBpY29uXG5AbWl4aW4gbWVudS1pY29uLWFsaWdubWVudCgkYWxpZ25tZW50OiBjZW50ZXIpIHtcbiAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgJi5pY29uLXRvcCxcbiAgICAmLmljb24tYm90dG9tIHtcbiAgICAgIGxpIGEge1xuICAgICAgICBpbWcsXG4gICAgICAgIGksXG4gICAgICAgIHN2ZyB7XG4gICAgICAgICAgQGlmICRhbGlnbm1lbnQgPT0gbGVmdCB7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgICAgIH1cblxuICAgICAgICAgIEBlbHNlIGlmICRhbGlnbm1lbnQgPT0gcmlnaHQge1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgQGVsc2Uge1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLy8gQWRkcyBwb3NpdGlvbiBjbGFzc2VzIGZvciBpY29ucyB3aXRoaW4gYSBtZW51LlxuQG1peGluIG1lbnUtaWNvbi1wb3NpdGlvbigkcG9zaXRpb246IGxlZnQsICRzcGFjaW5nOiAkbWVudS1pY29uLXNwYWNpbmcpIHtcbiAgQGlmICRwb3NpdGlvbiA9PSBsZWZ0IHtcbiAgICBsaSBhIHtcbiAgICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgICBmbGV4LWZsb3c6IHJvdyBub3dyYXA7XG4gICAgICB9XG5cbiAgICAgIGltZyxcbiAgICAgIGksXG4gICAgICBzdmcge1xuICAgICAgICBtYXJnaW4tI3skZ2xvYmFsLXJpZ2h0fTogJHNwYWNpbmc7XG5cbiAgICAgICAgQGlmIG5vdCAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuICBAZWxzZSBpZiAkcG9zaXRpb24gPT0gcmlnaHQge1xuICAgIGxpIGEge1xuICAgICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICAgIGZsZXgtZmxvdzogcm93IG5vd3JhcDtcbiAgICAgIH1cblxuICAgICAgaW1nLFxuICAgICAgaSxcbiAgICAgIHN2ZyB7XG4gICAgICAgIG1hcmdpbi0jeyRnbG9iYWwtbGVmdH06ICRzcGFjaW5nO1xuXG4gICAgICAgIEBpZiBub3QgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQGVsc2UgaWYgJHBvc2l0aW9uID09IHRvcCB7XG4gICAgbGkgYSB7XG4gICAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgICAgZmxleC1mbG93OiBjb2x1bW4gbm93cmFwO1xuICAgICAgfVxuICAgICAgQGVsc2Uge1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICB9XG5cbiAgICAgIGltZyxcbiAgICAgIGksXG4gICAgICBzdmcge1xuICAgICAgICBAaWYgbm90ICRnbG9iYWwtZmxleGJveCB7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgbWFyZ2luOiAwIGF1dG8gJHNwYWNpbmc7XG4gICAgICAgIH1cbiAgICAgICAgQGVsc2Uge1xuICAgICAgICAgIGFsaWduLXNlbGY6IHN0cmV0Y2g7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogJHNwYWNpbmc7XG4gICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEBlbHNlIGlmICRwb3NpdGlvbiA9PSBib3R0b20ge1xuICAgIGxpIGEge1xuICAgICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICAgIGZsZXgtZmxvdzogY29sdW1uIG5vd3JhcDtcbiAgICAgIH1cbiAgICAgIEBlbHNlIHtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgfVxuXG4gICAgICBpbWcsXG4gICAgICBpLFxuICAgICAgc3ZnIHtcbiAgICAgICAgQGlmIG5vdCAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgIG1hcmdpbjogJHNwYWNpbmcgYXV0byAwO1xuICAgICAgICB9XG4gICAgICAgIEBlbHNlIHtcbiAgICAgICAgICBhbGlnbi1zZWxmOiBzdHJldGNoO1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206ICRzcGFjaW5nO1xuICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gbWVudS10ZXh0IHtcbiAgcGFkZGluZzogJGdsb2JhbC1tZW51LXBhZGRpbmc7XG5cbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBjb2xvcjogaW5oZXJpdDtcbn1cblxuQG1peGluIG1lbnUtc3RhdGUtYWN0aXZlIHtcbiAgYmFja2dyb3VuZDogJG1lbnUtaXRlbS1iYWNrZ3JvdW5kLWFjdGl2ZTtcbiAgY29sb3I6IGNvbG9yLXBpY2stY29udHJhc3QoJG1lbnUtaXRlbS1iYWNrZ3JvdW5kLWFjdGl2ZSwgKCRtZW51LWl0ZW0tY29sb3ItYWN0aXZlLCAkbWVudS1pdGVtLWNvbG9yLWFsdC1hY3RpdmUpKTtcbn1cblxuQG1peGluIGZvdW5kYXRpb24tbWVudSB7XG4gIC5tZW51IHtcbiAgICBAaW5jbHVkZSBtZW51LWJhc2U7XG5cbiAgICAvLyBEZWZhdWx0IG9yaWVudGF0aW9uOiBob3Jpem9udGFsXG4gICAgJiwgJi5ob3Jpem9udGFsIHtcbiAgICAgIEBpbmNsdWRlIG1lbnUtZGlyZWN0aW9uKGhvcml6b250YWwpO1xuICAgIH1cblxuICAgIC8vIFZlcnRpY2FsIG9yaWVudGF0aW9uIG1vZGlmaWVyXG4gICAgJi52ZXJ0aWNhbCB7XG4gICAgICBAaW5jbHVkZSBtZW51LWRpcmVjdGlvbih2ZXJ0aWNhbCk7XG4gICAgICBAaW5jbHVkZSBtZW51LWljb24tYWxpZ25tZW50KGxlZnQpO1xuICAgIH1cblxuICAgIC8vIEV2ZW4td2lkdGggbW9kaWZpZXIgZm9yIGhvcml6b250YWwgb3JpZW50YXRpb25cbiAgICAmLmV4cGFuZGVkIHtcbiAgICAgIEBpbmNsdWRlIG1lbnUtZXhwYW5kO1xuICAgICAgQGluY2x1ZGUgbWVudS1pY29uLWFsaWdubWVudChsZWZ0KTtcbiAgICB9XG5cbiAgICAvLyBTaW1wbGVcbiAgICAmLnNpbXBsZSB7XG4gICAgICBAaW5jbHVkZSBtZW51LXNpbXBsZTtcbiAgICB9XG5cbiAgICAvLyBCcmVha3BvaW50IHNwZWNpZmljIHZlcnNpb25zXG4gICAgQGluY2x1ZGUgLXpmLWVhY2gtYnJlYWtwb2ludCgkc21hbGw6IGZhbHNlKSB7XG4gICAgICAmLiN7JC16Zi1zaXplfS1ob3Jpem9udGFsIHtcbiAgICAgICAgQGluY2x1ZGUgbWVudS1kaXJlY3Rpb24oaG9yaXpvbnRhbCk7XG4gICAgICB9XG5cbiAgICAgICYuI3skLXpmLXNpemV9LXZlcnRpY2FsIHtcbiAgICAgICAgQGluY2x1ZGUgbWVudS1kaXJlY3Rpb24odmVydGljYWwpO1xuICAgICAgfVxuXG4gICAgICAmLiN7JC16Zi1zaXplfS1leHBhbmRlZCB7XG4gICAgICAgIEBpbmNsdWRlIG1lbnUtZXhwYW5kO1xuICAgICAgfVxuXG4gICAgICAmLiN7JC16Zi1zaXplfS1zaW1wbGUge1xuICAgICAgICBAaW5jbHVkZSBtZW51LWV4cGFuZDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBOZXN0aW5nXG4gICAgJi5uZXN0ZWQge1xuICAgICAgQGluY2x1ZGUgbWVudS1uZXN0ZWQ7XG4gICAgfVxuXG4gICAgLy8gSWNvbiBCYXNlIFN0eWxlc1xuICAgICYuaWNvbnMge1xuICAgICAgQGluY2x1ZGUgbWVudS1pY29ucztcbiAgICB9XG5cbiAgICAvLyBCYWNrd2FyZCBDb21wYXRpYmlsaXR5IGZvciBhY3RpdmUgc3RhdGVcbiAgICBAaWYgJG1lbnUtaWNvbnMtYmFjay1jb21wYXQge1xuICAgICAgJi5pY29uLXRvcCxcbiAgICAgICYuaWNvbi1yaWdodCxcbiAgICAgICYuaWNvbi1ib3R0b20sXG4gICAgICAmLmljb24tbGVmdCB7XG4gICAgICAgIEBpbmNsdWRlIG1lbnUtaWNvbnM7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gTWVudSBpY29uIHBvc2l0aW9uXG4gICAgLy8gSW5jbHVkZXMgc3BlY2lmaWNpdHkgdG8gbmVzdGVkIGljb25zIHdpdGggYSBkaWZmZXJlbnQgcG9zaXRpb25cbiAgICAmLFxuICAgICYubmVzdGVkIHtcbiAgICAgIC8vIEljb24gTGVmdFxuICAgICAgJi5pY29uLWxlZnQge1xuICAgICAgICBAaW5jbHVkZSBtZW51LWljb24tcG9zaXRpb24obGVmdCk7XG4gICAgICB9XG5cbiAgICAgIC8vIEljb24gUmlnaHRcbiAgICAgICYuaWNvbi1yaWdodCB7XG4gICAgICAgIEBpbmNsdWRlIG1lbnUtaWNvbi1wb3NpdGlvbihyaWdodCk7XG4gICAgICB9XG5cbiAgICAgIC8vIEljb24gVG9wXG4gICAgICAmLmljb24tdG9wIHtcbiAgICAgICAgQGluY2x1ZGUgbWVudS1pY29uLXBvc2l0aW9uKHRvcCk7XG4gICAgICB9XG5cbiAgICAgIC8vIEljb24gQm90dG9tXG4gICAgICAmLmljb24tYm90dG9tIHtcbiAgICAgICAgQGluY2x1ZGUgbWVudS1pY29uLXBvc2l0aW9uKGJvdHRvbSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gQWN0aXZlIHN0YXRlXG4gICAgLmlzLWFjdGl2ZSA+IGEge1xuICAgICAgQGluY2x1ZGUgbWVudS1zdGF0ZS1hY3RpdmU7XG4gICAgfVxuXG4gICAgLy8gQmFja3dhcmQgQ29tcGF0aWJpbGl0eSBmb3IgYWN0aXZlIHN0YXRlXG4gICAgQGlmICRtZW51LXN0YXRlLWJhY2stY29tcGF0IHtcbiAgICAgIC5hY3RpdmUgPiBhIHtcbiAgICAgICAgQGluY2x1ZGUgbWVudS1zdGF0ZS1hY3RpdmU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gQWxpZ24gbGVmdFxuICAgICYuYWxpZ24tI3skZ2xvYmFsLWxlZnR9IHtcbiAgICAgIEBpbmNsdWRlIG1lbnUtYWxpZ24obGVmdCk7XG4gICAgfVxuXG4gICAgLy8gQWxpZ24gcmlnaHRcbiAgICAmLmFsaWduLSN7JGdsb2JhbC1yaWdodH0ge1xuICAgICAgQGluY2x1ZGUgbWVudS1hbGlnbihyaWdodCk7XG4gICAgICBAaW5jbHVkZSBtZW51LWljb24tYWxpZ25tZW50KHJpZ2h0KTtcblxuICAgICAgLm5lc3RlZCB7XG4gICAgICAgIEBpbmNsdWRlIG1lbnUtbmVzdGVkKCRuZXN0ZWQtYWxpZ25tZW50OiByaWdodCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gQWxpZ24gY2VudGVyXG4gICAgJi5hbGlnbi1jZW50ZXIge1xuICAgICAgQGluY2x1ZGUgbWVudS1hbGlnbihjZW50ZXIpO1xuICAgIH1cblxuICAgIC5tZW51LXRleHQge1xuICAgICAgQGluY2x1ZGUgbWVudS10ZXh0O1xuICAgIH1cbiAgfVxuXG4gIEBpZiAkbWVudS1jZW50ZXJlZC1iYWNrLWNvbXBhdCB7XG4gICAgLm1lbnUtY2VudGVyZWQge1xuICAgICAgPiAubWVudSB7XG4gICAgICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgbWVudS1hbGlnbihjZW50ZXIpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIFByZXZlbnQgRk9VQyB3aGVuIHVzaW5nIHRoZSBSZXNwb25zaXZlIE1lbnUgcGx1Z2luXG4gIC5uby1qcyBbZGF0YS1yZXNwb25zaXZlLW1lbnVdIHVsIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG4iLCIvLy8vXG4vLy8gQGdyb3VwIGFjY29yZGlvbi1tZW51XG4vLy8vXG5cbi8vLyBTZXRzIGFjY29yZGlvbiBtZW51IHBhZGRpbmcuXG4vLy8gQHR5cGUgTnVtYmVyXG4kYWNjb3JkaW9ubWVudS1wYWRkaW5nOiAkZ2xvYmFsLW1lbnUtcGFkZGluZyAhZGVmYXVsdDtcblxuLy8vIFNldHMgYWNjb3JkaW9uIG1lbnUgbmVzdGVkIG1hcmdpblxuLy8vIEB0eXBlIE51bWJlclxuJGFjY29yZGlvbm1lbnUtbmVzdGVkLW1hcmdpbjogJGdsb2JhbC1tZW51LW5lc3RlZC1tYXJnaW4gIWRlZmF1bHQ7XG5cbi8vLyBTZXRzIGFjY29yZGlvbiBtZW51IHN1Ym1lbnUgcGFkZGluZy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRhY2NvcmRpb25tZW51LXN1Ym1lbnUtcGFkZGluZzogJGFjY29yZGlvbm1lbnUtcGFkZGluZyAhZGVmYXVsdDtcblxuLy8vIFNldHMgaWYgYWNjb3JkaW9uIG1lbnVzIGhhdmUgdGhlIGRlZmF1bHQgYXJyb3cgc3R5bGVzLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRhY2NvcmRpb25tZW51LWFycm93czogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIFNldHMgYWNjb3JkaW9uIG1lbnUgYXJyb3cgY29sb3IgaWYgYXJyb3cgaXMgdXNlZC5cbi8vLyBAdHlwZSBDb2xvclxuJGFjY29yZGlvbm1lbnUtYXJyb3ctY29sb3I6ICRwcmltYXJ5LWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gU2V0cyBhY2NvcmRpb24gbWVudSBpdGVtIHBhZGRpbmcuXG4vLy8gQHR5cGUgQ29sb3JcbiRhY2NvcmRpb25tZW51LWl0ZW0tYmFja2dyb3VuZDogbnVsbCAhZGVmYXVsdDtcblxuLy8vIFNldHMgYWNjb3JkaW9uIG1lbnUgaXRlbSBib3JkZXIuXG4vLy8gQHR5cGUgQ29sb3JcbiRhY2NvcmRpb25tZW51LWJvcmRlcjogbnVsbCAhZGVmYXVsdDtcblxuLy8vIFNldHMgYWNjb3JkaW9uIG1lbnUgaXRlbSBwYWRkaW5nLlxuLy8vIEB0eXBlIENvbG9yXG4kYWNjb3JkaW9ubWVudS1zdWJtZW51LXRvZ2dsZS1iYWNrZ3JvdW5kOiBudWxsICFkZWZhdWx0O1xuXG4vLy8gU2V0cyBhY2NvcmRpb24gbWVudSBpdGVtIHBhZGRpbmcuXG4vLy8gQHR5cGUgTGlzdFxuJGFjY29yZGlvbi1zdWJtZW51LXRvZ2dsZS1ib3JkZXI6ICRhY2NvcmRpb25tZW51LWJvcmRlciAhZGVmYXVsdDtcblxuLy8vIFNldHMgYWNjb3JkaW9uIG1lbnUgc3VibWVudSB0b2dnbGUgYmFja2dyb3VuZCB3aWR0aC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRhY2NvcmRpb25tZW51LXN1Ym1lbnUtdG9nZ2xlLXdpZHRoOiA0MHB4ICFkZWZhdWx0O1xuXG4vLy8gU2V0cyBhY2NvcmRpb24gbWVudSBzdWJtZW51IHRvZ2dsZSBiYWNrZ3JvdW5kIGhlaWdodC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRhY2NvcmRpb25tZW51LXN1Ym1lbnUtdG9nZ2xlLWhlaWdodDogJGFjY29yZGlvbm1lbnUtc3VibWVudS10b2dnbGUtd2lkdGggIWRlZmF1bHQ7XG5cbi8vLyBTZXRzIGFjY29yZGlvbiBtZW51IGFycm93IHNpemUgaWYgYXJyb3cgaXMgdXNlZC5cbi8vLyBAdHlwZSBMZW5ndGhcbiRhY2NvcmRpb25tZW51LWFycm93LXNpemU6IDZweCAhZGVmYXVsdDtcblxuQG1peGluIHpmLWFjY29yZGlvbi1tZW51LWxlZnQtcmlnaHQtYXJyb3dzIHtcbiAgLmlzLWFjY29yZGlvbi1zdWJtZW51LXBhcmVudDpub3QoLmhhcy1zdWJtZW51LXRvZ2dsZSkgPiBhIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAmOjphZnRlciB7XG4gICAgICBAaW5jbHVkZSBjc3MtdHJpYW5nbGUoJGFjY29yZGlvbm1lbnUtYXJyb3ctc2l6ZSwgJGFjY29yZGlvbm1lbnUtYXJyb3ctY29sb3IsIGRvd24pO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiA1MCU7XG4gICAgICBtYXJnaW4tdG9wOiAtMSAqICgkYWNjb3JkaW9ubWVudS1hcnJvdy1zaXplICogMC41KTtcbiAgICAgICN7JGdsb2JhbC1yaWdodH06IDFyZW07XG4gICAgfVxuICB9XG5cbiAgJi5hbGlnbi1sZWZ0IC5pcy1hY2NvcmRpb24tc3VibWVudS1wYXJlbnQgPiBhOjphZnRlciB7XG4gICAgcmlnaHQ6IDFyZW07XG4gICAgbGVmdDogYXV0bztcbiAgfVxuXG4gICYuYWxpZ24tcmlnaHQgLmlzLWFjY29yZGlvbi1zdWJtZW51LXBhcmVudCA+IGE6OmFmdGVyIHtcbiAgICByaWdodDogYXV0bztcbiAgICBsZWZ0OiAxcmVtO1xuICB9XG59XG5AbWl4aW4gZm91bmRhdGlvbi1hY2NvcmRpb24tbWVudSB7XG5cbiAgLmFjY29yZGlvbi1tZW51IHtcbiAgICBAaWYgJGFjY29yZGlvbm1lbnUtYm9yZGVyIHtcbiAgICAgIGJvcmRlci1ib3R0b206ICRhY2NvcmRpb25tZW51LWJvcmRlcjtcbiAgICB9XG5cbiAgICBsaSB7XG4gICAgICBAaWYgJGFjY29yZGlvbm1lbnUtYm9yZGVyIHtcbiAgICAgICAgYm9yZGVyLXRvcDogJGFjY29yZGlvbm1lbnUtYm9yZGVyO1xuICAgICAgICBib3JkZXItcmlnaHQ6ICRhY2NvcmRpb25tZW51LWJvcmRlcjtcbiAgICAgICAgYm9yZGVyLWxlZnQ6ICRhY2NvcmRpb25tZW51LWJvcmRlcjtcbiAgICAgIH1cbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cblxuICAgIGEge1xuICAgICAgQGlmICRhY2NvcmRpb25tZW51LWl0ZW0tYmFja2dyb3VuZCB7XG4gICAgICAgIGJhY2tncm91bmQ6ICRhY2NvcmRpb25tZW51LWl0ZW0tYmFja2dyb3VuZDtcbiAgICAgIH1cbiAgICAgIHBhZGRpbmc6ICRhY2NvcmRpb25tZW51LXBhZGRpbmc7XG4gICAgfVxuXG4gICAgLmlzLWFjY29yZGlvbi1zdWJtZW51IGEge1xuICAgICAgcGFkZGluZzogJGFjY29yZGlvbm1lbnUtc3VibWVudS1wYWRkaW5nO1xuICAgIH1cblxuICAgIC5uZXN0ZWQuaXMtYWNjb3JkaW9uLXN1Ym1lbnUge1xuICAgICAgQGluY2x1ZGUgbWVudS1uZXN0ZWQoJGFjY29yZGlvbm1lbnUtbmVzdGVkLW1hcmdpbik7XG4gICAgfVxuXG4gICAgJi5hbGlnbi0jeyRnbG9iYWwtcmlnaHR9IHtcbiAgICAgIC5uZXN0ZWQuaXMtYWNjb3JkaW9uLXN1Ym1lbnUge1xuICAgICAgICBAaW5jbHVkZSBtZW51LW5lc3RlZCgkYWNjb3JkaW9ubWVudS1uZXN0ZWQtbWFyZ2luLCByaWdodCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgQGlmICRhY2NvcmRpb25tZW51LWFycm93cyB7XG4gICAgICBAaW5jbHVkZSB6Zi1hY2NvcmRpb24tbWVudS1sZWZ0LXJpZ2h0LWFycm93cztcblxuICAgICAgLmlzLWFjY29yZGlvbi1zdWJtZW51LXBhcmVudFthcmlhLWV4cGFuZGVkPSd0cnVlJ10gPiBhOjphZnRlciB7XG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDE4MGRlZyk7XG4gICAgICAgIHRyYW5zZm9ybS1vcmlnaW46IDUwJSA1MCU7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLmlzLWFjY29yZGlvbi1zdWJtZW51IGxpIHtcbiAgICBAaWYgJGFjY29yZGlvbm1lbnUtYm9yZGVyIHtcbiAgICAgIGJvcmRlci1yaWdodDogMDtcbiAgICAgIGJvcmRlci1sZWZ0OiAwO1xuICAgIH1cbiAgfVxuXG4gIC5pcy1hY2NvcmRpb24tc3VibWVudS1wYXJlbnQge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgfVxuXG4gIC5oYXMtc3VibWVudS10b2dnbGUgPiBhIHtcbiAgICBtYXJnaW4tI3skZ2xvYmFsLXJpZ2h0fTogJGFjY29yZGlvbm1lbnUtc3VibWVudS10b2dnbGUtd2lkdGg7XG4gIH1cblxuICAvLyBTdWJtZW51IHRvZ2dsZVxuICAuc3VibWVudS10b2dnbGUge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgI3skZ2xvYmFsLXJpZ2h0fTogMDtcblxuICAgIHdpZHRoOiAkYWNjb3JkaW9ubWVudS1zdWJtZW51LXRvZ2dsZS13aWR0aDtcbiAgICBoZWlnaHQ6ICRhY2NvcmRpb25tZW51LXN1Ym1lbnUtdG9nZ2xlLWhlaWdodDtcblxuICAgIGN1cnNvcjogcG9pbnRlcjtcblxuICAgIGJvcmRlci0jeyRnbG9iYWwtbGVmdH06ICRhY2NvcmRpb24tc3VibWVudS10b2dnbGUtYm9yZGVyO1xuXG4gICAgQGlmICRhY2NvcmRpb25tZW51LXN1Ym1lbnUtdG9nZ2xlLWJhY2tncm91bmQge1xuICAgICAgYmFja2dyb3VuZDogJGFjY29yZGlvbm1lbnUtc3VibWVudS10b2dnbGUtYmFja2dyb3VuZDtcbiAgICB9XG5cbiAgICAvLyBBZGQgdGhlIGFycm93IHRvIHRoZSB0b2dnbGVcbiAgICAmOjphZnRlciB7XG4gICAgICBAaW5jbHVkZSBjc3MtdHJpYW5nbGUoJGFjY29yZGlvbm1lbnUtYXJyb3ctc2l6ZSwgJGFjY29yZGlvbm1lbnUtYXJyb3ctY29sb3IsIGRvd24pO1xuXG4gICAgICB0b3A6IDA7XG4gICAgICBib3R0b206IDA7XG4gICAgICBtYXJnaW46IGF1dG87XG4gICAgfVxuICB9XG5cbiAgLy8gUm90YXRlIHRoZSBhcnJvdyB3aGVuIG1lbnUgaXMgb3BlblxuICAuc3VibWVudS10b2dnbGVbYXJpYS1leHBhbmRlZD0ndHJ1ZSddOjphZnRlciB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZVkoLTEpO1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IDUwJSA1MCU7XG4gIH1cblxuICAuc3VibWVudS10b2dnbGUtdGV4dCB7XG4gICAgQGluY2x1ZGUgZWxlbWVudC1pbnZpc2libGU7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBkcmlsbGRvd25cbi8vLy9cblxuLy8vIFRyYW5zaXRpb24gcHJvcGVydHkgdG8gdXNlIGZvciBhbmltYXRpbmcgbWVudXMuXG4vLy8gQHR5cGUgVHJhbnNpdGlvblxuJGRyaWxsZG93bi10cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4xNXMgbGluZWFyICFkZWZhdWx0O1xuXG4vLy8gQWRkcyBhcnJvd3MgdG8gZHJpbGxkb3duIGl0ZW1zIHdpdGggc3VibWVudXMsIGFzIHdlbGwgYXMgdGhlIGJhY2sgYnV0dG9uLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRkcmlsbGRvd24tYXJyb3dzOiB0cnVlICFkZWZhdWx0O1xuXG4vLy8gU2V0cyBkcmlsbGRvd24gbWVudSBpdGVtIHBhZGRpbmcuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZHJpbGxkb3duLXBhZGRpbmc6ICRnbG9iYWwtbWVudS1wYWRkaW5nICFkZWZhdWx0O1xuXG4vLy8gU2V0cyBkcmlsbGRvd24gbWVudSBuZXN0ZWQgbWFyZ2luXG4vLy8gQHR5cGUgTnVtYmVyXG4kZHJpbGxkb3duLW5lc3RlZC1tYXJnaW46IDAgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIGZvciBkcmlsbGRvd24gdG9wIGxldmVsIGl0ZW1zLlxuLy8vIEB0eXBlIENvbG9yXG4kZHJpbGxkb3duLWJhY2tncm91bmQ6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIFNldHMgZHJpbGxkb3duIG1lbnUgaXRlbSBwYWRkaW5nIGluIHRoZSBzdWJtZW51LlxuLy8vIEB0eXBlIE51bWJlclxuJGRyaWxsZG93bi1zdWJtZW51LXBhZGRpbmc6ICRkcmlsbGRvd24tcGFkZGluZyAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3IgZm9yIGRyaWxsZG93biBzdWJtZW51cy5cbi8vLyBAdHlwZSBDb2xvclxuJGRyaWxsZG93bi1zdWJtZW51LWJhY2tncm91bmQ6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIFNldHMgZHJpbGxkb3duIGFycm93IGNvbG9yIGlmIGFycm93IGlzIHVzZWQuXG4vLy8gQHR5cGUgQ29sb3JcbiRkcmlsbGRvd24tYXJyb3ctY29sb3I6ICRwcmltYXJ5LWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gU2V0cyBkcmlsbGRvd24gYXJyb3cgc2l6ZSBpZiBhcnJvdyBpcyB1c2VkLlxuLy8vIEB0eXBlIExlbmd0aFxuJGRyaWxsZG93bi1hcnJvdy1zaXplOiA2cHggIWRlZmF1bHQ7XG5cbkBtaXhpbiB6Zi1kcmlsbGRvd24tbGVmdC1yaWdodC1hcnJvd3Mge1xuICAuaXMtZHJpbGxkb3duLXN1Ym1lbnUtcGFyZW50ID4gYSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgJjo6YWZ0ZXIge1xuICAgICAgQGluY2x1ZGUgY3NzLXRyaWFuZ2xlKCRkcmlsbGRvd24tYXJyb3ctc2l6ZSwgJGRyaWxsZG93bi1hcnJvdy1jb2xvciwgJGdsb2JhbC1yaWdodCk7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDUwJTtcbiAgICAgIG1hcmdpbi10b3A6IC0xICogJGRyaWxsZG93bi1hcnJvdy1zaXplO1xuICAgICAgI3skZ2xvYmFsLXJpZ2h0fTogMXJlbTtcbiAgICB9XG4gIH1cblxuICAmLmFsaWduLWxlZnQgLmlzLWRyaWxsZG93bi1zdWJtZW51LXBhcmVudCA+IGE6OmFmdGVyIHtcbiAgICBAaW5jbHVkZSBjc3MtdHJpYW5nbGUoJGRyb3Bkb3dubWVudS1hcnJvdy1zaXplLCAkZHJvcGRvd25tZW51LWFycm93LWNvbG9yLCByaWdodCk7XG4gICAgcmlnaHQ6IDFyZW07XG4gICAgbGVmdDogYXV0bztcbiAgfVxuXG4gICYuYWxpZ24tcmlnaHQgLmlzLWRyaWxsZG93bi1zdWJtZW51LXBhcmVudCA+IGE6OmFmdGVyIHtcbiAgICBAaW5jbHVkZSBjc3MtdHJpYW5nbGUoJGRyb3Bkb3dubWVudS1hcnJvdy1zaXplLCAkZHJvcGRvd25tZW51LWFycm93LWNvbG9yLCBsZWZ0KTtcbiAgICByaWdodDogYXV0bztcbiAgICBsZWZ0OiAxcmVtO1xuICB9XG5cbn1cblxuQG1peGluIGZvdW5kYXRpb24tZHJpbGxkb3duLW1lbnUge1xuICAvLyBBcHBsaWVkIHRvIHRoZSBNZW51IGNvbnRhaW5lclxuICAuaXMtZHJpbGxkb3duIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICAgIGxpIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cblxuICAgICYuYW5pbWF0ZS1oZWlnaHQge1xuICAgICAgdHJhbnNpdGlvbjogaGVpZ2h0IDAuNXM7XG4gICAgfVxuICB9XG5cbiAgLy8gVGhlIHRvcCBsZXZlbCA8dWw+XG4gIC5kcmlsbGRvd24ge1xuICAgIGEge1xuICAgICAgcGFkZGluZzogJGRyaWxsZG93bi1wYWRkaW5nO1xuICAgICAgYmFja2dyb3VuZDogJGRyaWxsZG93bi1iYWNrZ3JvdW5kO1xuICAgIH1cblxuICAgIC8vIEFwcGxpZWQgdG8gc3VibWVudSA8dWw+c1xuICAgIC5pcy1kcmlsbGRvd24tc3VibWVudSB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDA7XG4gICAgICAjeyRnbG9iYWwtbGVmdH06IDEwMCU7XG4gICAgICB6LWluZGV4OiAtMTtcblxuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBiYWNrZ3JvdW5kOiAkZHJpbGxkb3duLXN1Ym1lbnUtYmFja2dyb3VuZDtcbiAgICAgIHRyYW5zaXRpb246ICRkcmlsbGRvd24tdHJhbnNpdGlvbjtcblxuICAgICAgJi5pcy1hY3RpdmUge1xuICAgICAgICB6LWluZGV4OiAxO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKGlmKCRnbG9iYWwtdGV4dC1kaXJlY3Rpb24gPT0gbHRyLCAtMTAwJSwgMTAwJSkpO1xuICAgICAgfVxuXG4gICAgICAmLmlzLWNsb3Npbmcge1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoaWYoJGdsb2JhbC10ZXh0LWRpcmVjdGlvbiA9PSBsdHIsIDEwMCUsIC0xMDAlKSk7XG4gICAgICB9XG5cbiAgICAgIC8vIFN1Ym1lbnUgaXRlbSBwYWRkaW5nXG4gICAgICBhIHtcbiAgICAgICAgcGFkZGluZzogJGRyaWxsZG93bi1zdWJtZW51LXBhZGRpbmc7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLm5lc3RlZC5pcy1kcmlsbGRvd24tc3VibWVudSB7XG4gICAgICBAaW5jbHVkZSBtZW51LW5lc3RlZCgkZHJpbGxkb3duLW5lc3RlZC1tYXJnaW4pO1xuICAgIH1cblxuICAgIC5kcmlsbGRvd24tc3VibWVudS1jb3Zlci1wcmV2aW91cyB7XG4gICAgICBtaW4taGVpZ2h0OiAxMDAlO1xuICAgIH1cblxuICAgIEBpZiAkZHJpbGxkb3duLWFycm93cyB7XG4gICAgICBAaW5jbHVkZSB6Zi1kcmlsbGRvd24tbGVmdC1yaWdodC1hcnJvd3M7XG5cbiAgICAgIC5qcy1kcmlsbGRvd24tYmFjayA+IGE6OmJlZm9yZSB7XG4gICAgICAgIEBpbmNsdWRlIGNzcy10cmlhbmdsZSgkZHJpbGxkb3duLWFycm93LXNpemUsICRkcmlsbGRvd24tYXJyb3ctY29sb3IsICRnbG9iYWwtbGVmdCk7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAgICAgbWFyZ2luLSN7JGdsb2JhbC1yaWdodH06IDAuNzVyZW07IC8vIENyZWF0ZXMgc3BhY2UgYmV0d2VlbiB0aGUgYXJyb3cgYW5kIHRoZSB0ZXh0XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlc1xuLy8gaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZHJvcGRvd24tbWVudVxuLy8vL1xuXG4vLy8gRW5hYmxlcyBhcnJvd3MgZm9yIGl0ZW1zIHdpdGggZHJvcGRvd24gbWVudXMuXG4vLy8gQHR5cGUgQm9vbGVhblxuJGRyb3Bkb3dubWVudS1hcnJvd3M6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLyBTZXRzIGRyb3Bkb3duIG1lbnUgYXJyb3cgY29sb3IgaWYgYXJyb3cgaXMgdXNlZC5cbi8vLyBAdHlwZSBDb2xvclxuJGRyb3Bkb3dubWVudS1hcnJvdy1jb2xvcjogJGFuY2hvci1jb2xvciAhZGVmYXVsdDtcblxuLy8vIFNldHMgZHJvcGRvd24gbWVudSBhcnJvdyBzaXplIGlmIGFycm93IGlzIHVzZWQuXG4vLy8gQHR5cGUgTGVuZ3RoXG4kZHJvcGRvd25tZW51LWFycm93LXNpemU6IDZweCAhZGVmYXVsdDtcblxuLy8vIFNldHMgZHJvcGRvd24gbWVudSBhcnJvdyBwYWRkaW5nIGZvciBhbGlnbmluZyB0aGUgYXJyb3cgY29ycmVjdGx5LlxuLy8vIEB0eXBlIExlbmd0aFxuJGRyb3Bkb3dubWVudS1hcnJvdy1wYWRkaW5nOiAxLjVyZW0gIWRlZmF1bHQ7XG5cbi8vLyBNaW5pbXVtIHdpZHRoIG9mIGRyb3Bkb3duIHN1Yi1tZW51cy5cbi8vLyBAdHlwZSBMZW5ndGhcbiRkcm9wZG93bm1lbnUtbWluLXdpZHRoOiAyMDBweCAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3IgZm9yIHRvcCBsZXZlbCBpdGVtcy5cbi8vLyBAdHlwZSBDb2xvclxuJGRyb3Bkb3dubWVudS1iYWNrZ3JvdW5kOiBudWxsICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBmb3IgZHJvcGRvd25zLlxuLy8vIEB0eXBlIENvbG9yXG4kZHJvcGRvd25tZW51LXN1Ym1lbnUtYmFja2dyb3VuZDogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gUGFkZGluZyBmb3IgdG9wIGxldmVsIGl0ZW1zLlxuLy8vIEB0eXBlIE51bWJlclxuJGRyb3Bkb3dubWVudS1wYWRkaW5nOiAkZ2xvYmFsLW1lbnUtcGFkZGluZyAhZGVmYXVsdDtcblxuLy8vIFNldHMgZHJvcGRvd24gbWVudSBuZXN0ZWQgbWFyZ2luXG4vLy8gQHR5cGUgTnVtYmVyXG4kZHJvcGRvd25tZW51LW5lc3RlZC1tYXJnaW46IDAgIWRlZmF1bHQ7XG5cbi8vLyBQYWRkaW5nIGZvciBzdWItbWVudSBpdGVtcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRkcm9wZG93bm1lbnUtc3VibWVudS1wYWRkaW5nOiAkZHJvcGRvd25tZW51LXBhZGRpbmcgIWRlZmF1bHQ7XG5cbi8vLyBCb3JkZXIgZm9yIGRyb3Bkb3duIHN1Yi1tZW51cy5cbi8vLyBAdHlwZSBMaXN0XG4kZHJvcGRvd25tZW51LWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8gQm9yZGVyIHdpZHRoIGZvciBkcm9wZG93biBzdWItbWVudXMuXG4vLyBVc2VkIHRvIGFkanVzdCB0b3AgbWFyZ2luIG9mIGEgc3ViLW1lbnUgaWYgYSBib3JkZXIgaXMgdXNlZC5cbi8vIEB0eXBlIExlbmd0aFxuJGRyb3Bkb3dubWVudS1ib3JkZXItd2lkdGg6IG50aCgkZHJvcGRvd25tZW51LWJvcmRlciwgMSk7XG5cbi8vLyBUZXh0IGNvbG9yIG9mIGFuIGFjdGl2ZSBkcm9wZG93biBtZW51IGl0ZW0uIEV4cGxpY2l0IG92ZXJyaWRlIGZvciBtZW51IGRlZmF1bHRzXG4vLy8gQHR5cGUgQ29sb3JcbiRkcm9wZG93bi1tZW51LWl0ZW0tY29sb3ItYWN0aXZlOiBnZXQtY29sb3IocHJpbWFyeSkgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIG9mIGFuIGFjdGl2ZSBkcm9wZG93biBtZW51IGl0ZW0uIEV4cGxpY2l0IG92ZXJyaWRlIGZvciBtZW51IGRlZmF1bHRzXG4vLy8gQHR5cGUgQ29sb3JcbiRkcm9wZG93bi1tZW51LWl0ZW0tYmFja2dyb3VuZC1hY3RpdmU6IHRyYW5zcGFyZW50ICFkZWZhdWx0O1xuXG5AbWl4aW4gemYtZHJvcGRvd24tbGVmdC1yaWdodC1hcnJvd3Mge1xuICA+IGE6OmFmdGVyIHtcbiAgICAjeyRnbG9iYWwtcmlnaHR9OiAxNHB4O1xuICB9XG5cbiAgJi5vcGVucy1sZWZ0ID4gYTo6YWZ0ZXIge1xuICAgIEBpbmNsdWRlIGNzcy10cmlhbmdsZSgkZHJvcGRvd25tZW51LWFycm93LXNpemUsICRkcm9wZG93bm1lbnUtYXJyb3ctY29sb3IsIGxlZnQpO1xuICAgIHJpZ2h0OiBhdXRvO1xuICAgIGxlZnQ6IDVweDtcbiAgfVxuXG4gICYub3BlbnMtcmlnaHQgPiBhOjphZnRlciB7XG4gICAgQGluY2x1ZGUgY3NzLXRyaWFuZ2xlKCRkcm9wZG93bm1lbnUtYXJyb3ctc2l6ZSwgJGRyb3Bkb3dubWVudS1hcnJvdy1jb2xvciwgcmlnaHQpO1xuICB9XG59XG5cbkBtaXhpbiBkcm9wZG93bi1tZW51LWRpcmVjdGlvbigkZGlyOiBob3Jpem9udGFsKSB7XG4gIEBpZiAkZGlyID09IGhvcml6b250YWwge1xuICAgID4gbGkub3BlbnMtbGVmdCB7IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgbm8tcXVhbGlmeWluZy1lbGVtZW50c1xuICAgICAgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgICAgIHRvcDogMTAwJTtcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIGxlZnQ6IGF1dG87XG4gICAgICB9XG4gICAgfVxuXG4gICAgPiBsaS5vcGVucy1yaWdodCB7IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgbm8tcXVhbGlmeWluZy1lbGVtZW50c1xuICAgICAgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgICAgIHRvcDogMTAwJTtcbiAgICAgICAgcmlnaHQ6IGF1dG87XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICB9XG4gICAgfVxuXG4gICAgQGlmICRkcm9wZG93bm1lbnUtYXJyb3dzIHtcbiAgICAgID4gbGkuaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQgPiBhIHsgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSBuby1xdWFsaWZ5aW5nLWVsZW1lbnRzXG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgcGFkZGluZy0jeyRnbG9iYWwtcmlnaHR9OiAkZHJvcGRvd25tZW51LWFycm93LXBhZGRpbmc7XG4gICAgICB9XG5cbiAgICAgID4gbGkuaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQgPiBhOjphZnRlciB7IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgbm8tcXVhbGlmeWluZy1lbGVtZW50c1xuICAgICAgICBAaW5jbHVkZSBjc3MtdHJpYW5nbGUoJGRyb3Bkb3dubWVudS1hcnJvdy1zaXplLCAkZHJvcGRvd25tZW51LWFycm93LWNvbG9yLCBkb3duKTtcbiAgICAgICAgI3skZ2xvYmFsLXJpZ2h0fTogNXB4O1xuICAgICAgICAjeyRnbG9iYWwtbGVmdH06IGF1dG87XG4gICAgICAgIG1hcmdpbi10b3A6IC0xICogKCRkcm9wZG93bm1lbnUtYXJyb3ctc2l6ZSAqIDAuNSk7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEBlbHNlIGlmICRkaXIgPT0gdmVydGljYWwge1xuICAgID4gbGkge1xuICAgICAgLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgICAgICB0b3A6IDA7XG4gICAgICB9XG5cbiAgICAgICYub3BlbnMtbGVmdCB7XG4gICAgICAgID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICByaWdodDogMTAwJTtcbiAgICAgICAgICBsZWZ0OiBhdXRvO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgICYub3BlbnMtcmlnaHQge1xuICAgICAgICA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICAgICAgICByaWdodDogYXV0bztcbiAgICAgICAgICBsZWZ0OiAxMDAlO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIEBpZiAkZHJvcGRvd25tZW51LWFycm93cyB7XG4gICAgICAgIEBpbmNsdWRlIHpmLWRyb3Bkb3duLWxlZnQtcmlnaHQtYXJyb3dzO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICBAZWxzZSB7XG4gICAgQHdhcm4gJ1RoZSBkaXJlY3Rpb24gdXNlZCBmb3IgZHJvcGRvd24tbWVudS1kaXJlY3Rpb24oKSBtdXN0IGJlIGhvcml6b250YWwgb3IgdmVydGljYWwuJztcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1kcm9wZG93bi1tZW51IHtcbiAgLmRyb3Bkb3duLm1lbnUge1xuICAgIEBpbmNsdWRlIGRyb3Bkb3duLW1lbnUtZGlyZWN0aW9uKGhvcml6b250YWwpO1xuXG4gICAgYSB7XG4gICAgICBAaW5jbHVkZSBkaXNhYmxlLW1vdXNlLW91dGxpbmU7XG4gICAgfVxuXG4gICAgLy8gVG9wLWxldmVsIGl0ZW1cbiAgICA+IGxpID4gYSB7XG4gICAgICBiYWNrZ3JvdW5kOiAkZHJvcGRvd25tZW51LWJhY2tncm91bmQ7XG4gICAgICBwYWRkaW5nOiAkZHJvcGRvd25tZW51LXBhZGRpbmc7XG4gICAgfVxuXG4gICAgLy8gVG9wLWxldmVsIGl0ZW0gYWN0aXZlIHN0YXRlXG4gICAgPiBsaS5pcy1hY3RpdmUgPiBhIHtcbiAgICAgIGJhY2tncm91bmQ6ICRkcm9wZG93bi1tZW51LWl0ZW0tYmFja2dyb3VuZC1hY3RpdmU7XG4gICAgICBjb2xvcjogJGRyb3Bkb3duLW1lbnUtaXRlbS1jb2xvci1hY3RpdmU7XG4gICAgfVxuXG4gICAgLm5vLWpzICYgdWwge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG5cbiAgICAubmVzdGVkLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgICAgQGluY2x1ZGUgbWVudS1uZXN0ZWQoJGRyb3Bkb3dubWVudS1uZXN0ZWQtbWFyZ2luKTtcbiAgICB9XG5cbiAgICAmLnZlcnRpY2FsIHtcbiAgICAgIEBpbmNsdWRlIGRyb3Bkb3duLW1lbnUtZGlyZWN0aW9uKHZlcnRpY2FsKTtcbiAgICB9XG5cbiAgICBAZWFjaCAkc2l6ZSBpbiAkYnJlYWtwb2ludC1jbGFzc2VzIHtcbiAgICAgIEBpZiAkc2l6ZSAhPSAkLXpmLXplcm8tYnJlYWtwb2ludCB7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHNpemUpIHtcbiAgICAgICAgICAmLiN7JHNpemV9LWhvcml6b250YWwge1xuICAgICAgICAgICAgQGluY2x1ZGUgZHJvcGRvd24tbWVudS1kaXJlY3Rpb24oaG9yaXpvbnRhbCk7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgJi4jeyRzaXplfS12ZXJ0aWNhbCB7XG4gICAgICAgICAgICBAaW5jbHVkZSBkcm9wZG93bi1tZW51LWRpcmVjdGlvbih2ZXJ0aWNhbCk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi5hbGlnbi1yaWdodCB7XG4gICAgICAuaXMtZHJvcGRvd24tc3VibWVudS5maXJzdC1zdWIge1xuICAgICAgICB0b3A6IDEwMCU7XG4gICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICBsZWZ0OiBhdXRvO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5pcy1kcm9wZG93bi1tZW51LnZlcnRpY2FsIHtcbiAgICB3aWR0aDogMTAwcHg7XG5cbiAgICAmLmFsaWduLXJpZ2h0IHtcbiAgICAgIGZsb2F0OiByaWdodDtcbiAgICB9XG4gIH1cblxuICAuaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgIGE6OmFmdGVyIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogNTAlO1xuICAgICAgI3skZ2xvYmFsLXJpZ2h0fTogNXB4O1xuICAgICAgI3skZ2xvYmFsLWxlZnR9OiBhdXRvO1xuICAgICAgbWFyZ2luLXRvcDogLTEgKiAkZHJvcGRvd25tZW51LWFycm93LXNpemU7XG4gICAgfVxuXG4gICAgJi5vcGVucy1pbm5lciA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcblxuICAgICAgdG9wOiAxMDAlO1xuICAgICAgQGlmICRnbG9iYWwtdGV4dC1kaXJlY3Rpb24gPT0gJ3J0bCcge1xuICAgICAgICByaWdodDogYXV0bztcbiAgICAgIH1cbiAgICAgIEBlbHNlIHtcbiAgICAgICAgbGVmdDogYXV0bztcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLm9wZW5zLWxlZnQgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgICByaWdodDogMTAwJTtcbiAgICAgIGxlZnQ6IGF1dG87XG4gICAgfVxuXG4gICAgJi5vcGVucy1yaWdodCA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICAgIHJpZ2h0OiBhdXRvO1xuICAgICAgbGVmdDogMTAwJTtcbiAgICB9XG4gIH1cblxuICAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICAjeyRnbG9iYWwtbGVmdH06IDEwMCU7XG4gICAgei1pbmRleDogMTtcblxuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgbWluLXdpZHRoOiAkZHJvcGRvd25tZW51LW1pbi13aWR0aDtcblxuICAgIGJvcmRlcjogJGRyb3Bkb3dubWVudS1ib3JkZXI7XG4gICAgYmFja2dyb3VuZDogJGRyb3Bkb3dubWVudS1zdWJtZW51LWJhY2tncm91bmQ7XG5cbiAgICAuZHJvcGRvd24gJiBhIHtcbiAgICAgIHBhZGRpbmc6ICRkcm9wZG93bm1lbnUtc3VibWVudS1wYWRkaW5nO1xuICAgIH1cblxuICAgIC5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudCB7XG4gICAgICBAaWYgJGRyb3Bkb3dubWVudS1hcnJvd3Mge1xuICAgICAgICBAaW5jbHVkZSB6Zi1kcm9wZG93bi1sZWZ0LXJpZ2h0LWFycm93cztcbiAgICAgIH1cbiAgICB9XG5cbiAgICBAaWYgKHR5cGUtb2YoJGRyb3Bkb3dubWVudS1ib3JkZXItd2lkdGgpID09ICdudW1iZXInKSB7XG4gICAgICAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgICAgIG1hcmdpbi10b3A6ICgtJGRyb3Bkb3dubWVudS1ib3JkZXItd2lkdGgpO1xuICAgICAgfVxuICAgIH1cblxuICAgID4gbGkge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuXG4gICAgLy8gW1RPRE9dIEN1dCBiYWNrIHNwZWNpZmljaXR5XG4gICAgLy8mOm5vdCguanMtZHJvcGRvd24tbm9ob3ZlcikgPiAuaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQ6aG92ZXIgPiAmLCAvLyB3aHkgaXMgdGhpcyBsaW5lIG5lZWRlZD8gT3BlbmluZyBpcyBoYW5kbGVkIGJ5IEpTIGFuZCB0aGlzIGNhdXNlcyBzb21lIHVnbHkgZmxpY2tlcmluZyB3aGVuIHRoZSBzdWIgaXMgcmUtcG9zaXRpb25lZCBhdXRvbWF0aWNhbGx5Li4uXG4gICAgJi5qcy1kcm9wZG93bi1hY3RpdmUge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlc1xuLy8gaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgb2ZmLWNhbnZhc1xuLy8vL1xuXG4vLy8gV2lkdGggbWFwIG9mIGEgbGVmdC9yaWdodCBvZmYtY2FudmFzIHBhbmVsLlxuLy8vIEB0eXBlIE1hcFxuJG9mZmNhbnZhcy1zaXplczogKFxuICBzbWFsbDogMjUwcHgsXG4pICFkZWZhdWx0O1xuXG4vLy8gSGVpZ2h0IG1hcCBvZiBhIHRvcC9ib3R0b20gb2ZmLWNhbnZhcyBwYW5lbC5cbi8vLyBAdHlwZSBNYXBcbiRvZmZjYW52YXMtdmVydGljYWwtc2l6ZXM6IChcbiAgc21hbGw6IDI1MHB4LFxuKSAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3Igb2YgYW4gb2ZmLWNhbnZhcyBwYW5lbC5cbi8vLyBAdHlwZSBDb2xvclxuJG9mZmNhbnZhcy1iYWNrZ3JvdW5kOiAkbGlnaHQtZ3JheSAhZGVmYXVsdDtcblxuLy8vIEJveCBzaGFkb3cgZm9yIHRoZSBvZmYtY2FudmFzIG92ZXJsYXAgcGFuZWwuXG4vLy8gQHR5cGUgU2hhZG93XG4kb2ZmY2FudmFzLXNoYWRvdzogMCAwIDEwcHggcmdiYSgkYmxhY2ssIDAuNykgIWRlZmF1bHQ7XG5cbi8vLyBJbm5lciBib3ggc2hhZG93IHNpemUgZm9yIHRoZSBvZmYtY2FudmFzIHB1c2ggcGFuZWwuXG4vLy8gQHR5cGUgTnVtYmVyXG4kb2ZmY2FudmFzLWlubmVyLXNoYWRvdy1zaXplOiAyMHB4ICFkZWZhdWx0O1xuXG4vLy8gSW5uZXIgYm94IHNoYWRvdyBjb2xvciBmb3IgdGhlIG9mZi1jYW52YXMgcHVzaCBwYW5lbC5cbi8vLyBAdHlwZSBDb2xvclxuJG9mZmNhbnZhcy1pbm5lci1zaGFkb3ctY29sb3I6IHJnYmEoJGJsYWNrLCAwLjI1KSAhZGVmYXVsdDtcblxuLy8vIFotaW5kZXggb2YgYW4gb2ZmLWNhbnZhcyBjb250ZW50IG92ZXJsYXkuXG4vLy8gQHR5cGUgTnVtYmVyXG4kb2ZmY2FudmFzLW92ZXJsYXktemluZGV4OiAxMSAhZGVmYXVsdDtcblxuLy8vIFotaW5kZXggb2YgYW4gb2ZmLWNhbnZhcyBwYW5lbCB3aXRoIHRoZSBgcHVzaGAgdHJhbnNpdGlvbi5cbi8vLyBAdHlwZSBOdW1iZXJcbiRvZmZjYW52YXMtcHVzaC16aW5kZXg6IDEyICFkZWZhdWx0O1xuXG4vLy8gWi1pbmRleCBvZiBhbiBvZmYtY2FudmFzIHBhbmVsIHdpdGggdGhlIGBvdmVybGFwYCB0cmFuc2l0aW9uLlxuLy8vIEB0eXBlIE51bWJlclxuJG9mZmNhbnZhcy1vdmVybGFwLXppbmRleDogMTMgIWRlZmF1bHQ7XG5cbi8vLyBaLWluZGV4IG9mIGFuIG9mZi1jYW52YXMgcGFuZWwgdXNpbmcgdGhlIGByZXZlYWwtZm9yLSpgIGNsYXNzZXMgb3IgbWl4aW4uXG4vLy8gQHR5cGUgTnVtYmVyXG4kb2ZmY2FudmFzLXJldmVhbC16aW5kZXg6IDEyICFkZWZhdWx0O1xuXG4vLy8gTGVuZ3RoIG9mIHRoZSBhbmltYXRpb24gb24gYW4gb2ZmLWNhbnZhcyBwYW5lbC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRvZmZjYW52YXMtdHJhbnNpdGlvbi1sZW5ndGg6IDAuNXMgIWRlZmF1bHQ7XG5cbi8vLyBUaW1pbmcgZnVuY3Rpb24gb2YgdGhlIGFuaW1hdGlvbiBvbiBhbiBvZmYtY2FudmFzIHBhbmVsLlxuLy8vIEB0eXBlIEtleXdvcmRcbiRvZmZjYW52YXMtdHJhbnNpdGlvbi10aW1pbmc6IGVhc2UgIWRlZmF1bHQ7XG5cbi8vLyBJZiBgdHJ1ZWAsIGEgcmV2ZWFsZWQgb2ZmLWNhbnZhcyB3aWxsIGJlIGZpeGVkLXBvc2l0aW9uLCBhbmQgc2Nyb2xsIHdpdGggdGhlIHNjcmVlbi5cbi8vLyBAdHlwZSBCb29sXG4kb2ZmY2FudmFzLWZpeGVkLXJldmVhbDogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3IgZm9yIHRoZSBvdmVybGF5IHRoYXQgYXBwZWFycyB3aGVuIGFuIG9mZi1jYW52YXMgcGFuZWwgaXMgb3Blbi5cbi8vLyBAdHlwZSBDb2xvclxuJG9mZmNhbnZhcy1leGl0LWJhY2tncm91bmQ6IHJnYmEoJHdoaXRlLCAwLjI1KSAhZGVmYXVsdDtcblxuLy8vIENTUyBjbGFzcyB1c2VkIGZvciB0aGUgbWFpbiBjb250ZW50IGFyZWEuIFRoZSBvZmYtY2FudmFzIG1peGlucyB1c2UgdGhpcyB0byB0YXJnZXQgdGhlIHBhZ2UgY29udGVudC5cbiRtYWluY29udGVudC1jbGFzczogJ29mZi1jYW52YXMtY29udGVudCcgIWRlZmF1bHQ7XG5cbi8vLyBBZGRzIGJhc2VsaW5lIHN0eWxlcyBmb3Igb2ZmLWNhbnZhcy4gVGhpcyBDU1MgaXMgcmVxdWlyZWQgdG8gbWFrZSB0aGUgb3RoZXIgcGllY2VzIHdvcmsuXG5AbWl4aW4gb2ZmLWNhbnZhcy1iYXNpY3Mge1xuXG4gIC8vLyBUcmFuc2Zvcm0gZGVwcmVjYXRlZCBzaXplIHNldHRpbmdzIGludG8gbWFwICYgc2hvdyB3YXJuaW5nXG4gIEBpZiB2YXJpYWJsZS1leGlzdHMob2ZmY2FudmFzLXNpemUpIHtcbiAgICAkb2ZmY2FudmFzLXNpemVzOiAoc21hbGw6ICRvZmZjYW52YXMtc2l6ZSwgbWVkaXVtOiAkb2ZmY2FudmFzLXNpemUpICFnbG9iYWw7XG4gICAgQHdhcm4gJyRvZmZjYW52YXMtc2l6ZSBpcyBkZXByZWNhdGVkIGFuZCBub3QgdXNlZCBhbnltb3JlISBQbGVhc2UgdXBkYXRlIHlvdXIgc2V0dGluZ3MgYW5kIHVzZSB0aGUgbWFwICRvZmZjYW52YXMtc2l6ZXMgaW5zdGVhZCc7XG4gIH1cbiAgQGlmIHZhcmlhYmxlLWV4aXN0cyhvZmZjYW52YXMtdmVydGljYWwtc2l6ZSkge1xuICAgICRvZmZjYW52YXMtdmVydGljYWwtc2l6ZXM6IChzbWFsbDogJG9mZmNhbnZhcy12ZXJ0aWNhbC1zaXplLCBtZWRpdW06ICRvZmZjYW52YXMtdmVydGljYWwtc2l6ZSkgIWdsb2JhbDtcbiAgICBAd2FybiAnJG9mZmNhbnZhcy12ZXJ0aWNhbC1zaXplIGlzIGRlcHJlY2F0ZWQgYW5kIG5vdCB1c2VkIGFueW1vcmUhIFBsZWFzZSB1cGRhdGUgeW91ciBzZXR0aW5ncyBhbmQgdXNlIHRoZSBtYXAgJG9mZmNhbnZhcy12ZXJ0aWNhbC1zaXplcyBpbnN0ZWFkJztcbiAgfVxuXG4gIC8vIENoZWNrcyB0aGUgei1pbmRleGVzIGFuZCBpbmNyZWFzZSB0aGVtIGR1ZSB0byBiYWNrd2FyZHMgY29tcGF0aWJpbGl0eS5cbiAgLy8gVGhpcyBpcyBuZWNlc3NhcnkgYmVjYXVzZSB0aGUgb3ZlcmxheSdzIHotaW5kZXggaXMgbmV3IHNpbmNlIHY2LjQgYW5kIG1heSBiZSBpZGVudGljYWwgdG8gdGhlIHVzZXIgY3VzdG9tIHNldHRpbmdzIG9mIHRoZSBwdXNoIHotaW5kZXguXG4gIEBpZiAkb2ZmY2FudmFzLXB1c2gtemluZGV4IDw9ICRvZmZjYW52YXMtb3ZlcmxheS16aW5kZXggeyAkb2ZmY2FudmFzLXB1c2gtemluZGV4OiAkb2ZmY2FudmFzLW92ZXJsYXktemluZGV4ICsgMSAhZ2xvYmFsOyB9XG4gIEBpZiAkb2ZmY2FudmFzLW92ZXJsYXAtemluZGV4IDw9ICRvZmZjYW52YXMtcHVzaC16aW5kZXggeyAkb2ZmY2FudmFzLW92ZXJsYXAtemluZGV4OiAkb2ZmY2FudmFzLXB1c2gtemluZGV4ICsgMSAhZ2xvYmFsOyB9XG4gIEBpZiAkb2ZmY2FudmFzLXJldmVhbC16aW5kZXggPD0gJG9mZmNhbnZhcy1vdmVybGF5LXppbmRleCB7ICRvZmZjYW52YXMtcmV2ZWFsLXppbmRleDogJG9mZmNhbnZhcy1vdmVybGF5LXppbmRleCArIDEgIWdsb2JhbDsgfVxuXG4gIC8vIEhpZGVzIG92ZXJmbG93IG9uIGJvZHkgd2hlbiBhbiBvZmYtY2FudmFzIHBhbmVsIGlzIG9wZW4uXG4gIC5pcy1vZmYtY2FudmFzLW9wZW4ge1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gIH1cblxuICAvLyBPZmYtY2FudmFzIG92ZXJsYXkgKGdlbmVyYXRlZCBieSBKYXZhU2NyaXB0KVxuICAuanMtb2ZmLWNhbnZhcy1vdmVybGF5IHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgei1pbmRleDogJG9mZmNhbnZhcy1vdmVybGF5LXppbmRleDtcblxuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcblxuICAgIHRyYW5zaXRpb246IG9wYWNpdHkgJG9mZmNhbnZhcy10cmFuc2l0aW9uLWxlbmd0aCAkb2ZmY2FudmFzLXRyYW5zaXRpb24tdGltaW5nLCB2aXNpYmlsaXR5ICRvZmZjYW52YXMtdHJhbnNpdGlvbi1sZW5ndGggJG9mZmNhbnZhcy10cmFuc2l0aW9uLXRpbWluZztcblxuICAgIGJhY2tncm91bmQ6ICRvZmZjYW52YXMtZXhpdC1iYWNrZ3JvdW5kO1xuXG4gICAgb3BhY2l0eTogMDtcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG5cbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gICAgJi5pcy12aXNpYmxlIHtcbiAgICAgIG9wYWNpdHk6IDE7XG4gICAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgIH1cblxuICAgICYuaXMtY2xvc2FibGUge1xuICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIH1cblxuICAgICYuaXMtb3ZlcmxheS1hYnNvbHV0ZSB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgfVxuXG4gICAgJi5pcy1vdmVybGF5LWZpeGVkIHtcbiAgICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICB9XG4gIH1cbn1cblxuLy8gQWRkcyBiYXNpYyBzdHlsZXMgZm9yIGFuIG9mZi1jYW52YXMgd3JhcHBlci5cbkBtaXhpbiBvZmYtY2FudmFzLXdyYXBwZXIoKSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuLy8vIEFkZHMgYmFzaWMgc3R5bGVzIGZvciBhbiBvZmYtY2FudmFzIHBhbmVsLlxuQG1peGluIG9mZi1jYW52YXMtYmFzZShcbiAgJGJhY2tncm91bmQ6ICRvZmZjYW52YXMtYmFja2dyb3VuZCxcbiAgJHRyYW5zaXRpb246ICRvZmZjYW52YXMtdHJhbnNpdGlvbi1sZW5ndGggJG9mZmNhbnZhcy10cmFuc2l0aW9uLXRpbWluZyxcbiAgJGZpeGVkOiB0cnVlXG4pIHtcbiAgQGluY2x1ZGUgZGlzYWJsZS1tb3VzZS1vdXRsaW5lO1xuXG4gIEBpZiAkZml4ZWQgPT0gdHJ1ZSB7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICB9XG4gIEBlbHNlIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIH1cblxuICAvLyBTZXQgdGhlIG9mZi1jYW52YXMgei1pbmRleC5cbiAgei1pbmRleDogJG9mZmNhbnZhcy1wdXNoLXppbmRleDtcblxuICAvLyBJbmNyZWFzZSBDU1Mgc3BlY2lmaWNpdHlcbiAgJi5pcy10cmFuc2l0aW9uLXB1c2gge1xuICAgIHotaW5kZXg6ICRvZmZjYW52YXMtcHVzaC16aW5kZXg7XG4gIH1cblxuICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gJHRyYW5zaXRpb247XG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcblxuICBiYWNrZ3JvdW5kOiAkYmFja2dyb3VuZDtcblxuICAvLyBIaWRlIGluYWN0aXZlIG9mZi1jYW52YXMgd2l0aGluIHRoZSBjb250ZW50IHRoYXQgaGF2ZSB0aGUgc2FtZSBwb3NpdGlvblxuICAmLmlzLWNsb3NlZCB7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICB9XG5cbiAgLy8gT3ZlcmxhcCBvbmx5IHN0eWxlcy5cbiAgJi5pcy10cmFuc2l0aW9uLW92ZXJsYXAge1xuICAgIHotaW5kZXg6ICRvZmZjYW52YXMtb3ZlcmxhcC16aW5kZXg7XG5cbiAgICAmLmlzLW9wZW4ge1xuICAgICAgYm94LXNoYWRvdzogJG9mZmNhbnZhcy1zaGFkb3c7XG4gICAgfVxuICB9XG5cbiAgLy8gU2V0cyB0cmFuc2Zvcm0gdG8gMCB0byBzaG93IGFuIG9mZi1jYW52YXMgcGFuZWwuXG4gICYuaXMtb3BlbiB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgMCk7XG4gIH1cbn1cblxuLy8vIEFkZHMgc3R5bGVzIHRvIHBvc2l0aW9uIGFuIG9mZi1jYW52YXMgcGFuZWwgdG8gdGhlIGxlZnQvcmlnaHQvdG9wL2JvdHRvbS5cbkBtaXhpbiBvZmYtY2FudmFzLXBvc2l0aW9uKFxuICAkcG9zaXRpb246IGxlZnQsXG4gICRvcmllbnRhdGlvbjogaG9yaXpvbnRhbCxcbiAgJHNpemVzOiBpZigkb3JpZW50YXRpb24gPT0gaG9yaXpvbnRhbCwgJG9mZmNhbnZhcy1zaXplcywgJG9mZmNhbnZhcy12ZXJ0aWNhbC1zaXplcylcbikge1xuICBAaWYgJHBvc2l0aW9uID09IGxlZnQge1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBvdmVyZmxvdy15OiBhdXRvO1xuICAgIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcblxuICAgIEBlYWNoICRuYW1lLCAkc2l6ZSBpbiAkc2l6ZXMge1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkbmFtZSkge1xuICAgICAgICB3aWR0aDogJHNpemU7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtJHNpemUpO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIFNldHMgdGhlIHBvc2l0aW9uIGZvciBuZXN0ZWQgb2ZmLWNhbnZhcyBlbGVtZW50XG4gICAgQGF0LXJvb3QgLiN7JG1haW5jb250ZW50LWNsYXNzfSAub2ZmLWNhbnZhcy5wb3NpdGlvbi0jeyRwb3NpdGlvbn0ge1xuXG4gICAgICBAZWFjaCAkbmFtZSwgJHNpemUgaW4gJHNpemVzIHtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkbmFtZSkge1xuICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtJHNpemUpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICAmLmlzLXRyYW5zaXRpb24tb3ZlcmxhcC5pcy1vcGVuIHtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgMCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gU2V0cyB0aGUgb3BlbiBwb3NpdGlvbiBmb3IgdGhlIGNvbnRlbnRcbiAgICBAYXQtcm9vdCAuI3skbWFpbmNvbnRlbnQtY2xhc3N9LmlzLW9wZW4tI3skcG9zaXRpb259IHtcbiAgICAgICYuaGFzLXRyYW5zaXRpb24tcHVzaCB7XG4gICAgICAgIEBlYWNoICRuYW1lLCAkc2l6ZSBpbiAkc2l6ZXMge1xuICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJG5hbWUpIHtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgkc2l6ZSk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEBlbHNlIGlmICRwb3NpdGlvbiA9PSByaWdodCB7XG4gICAgdG9wOiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBvdmVyZmxvdy15OiBhdXRvO1xuICAgIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcblxuICAgIEBlYWNoICRuYW1lLCAkc2l6ZSBpbiAkc2l6ZXMge1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkbmFtZSkge1xuICAgICAgICB3aWR0aDogJHNpemU7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgkc2l6ZSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gU2V0cyB0aGUgcG9zaXRpb24gZm9yIG5lc3RlZCBvZmYtY2FudmFzIGVsZW1lbnRcbiAgICBAYXQtcm9vdCAuI3skbWFpbmNvbnRlbnQtY2xhc3N9IC5vZmYtY2FudmFzLnBvc2l0aW9uLSN7JHBvc2l0aW9ufSB7XG5cbiAgICAgIEBlYWNoICRuYW1lLCAkc2l6ZSBpbiAkc2l6ZXMge1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRuYW1lKSB7XG4gICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKCRzaXplKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgJi5pcy10cmFuc2l0aW9uLW92ZXJsYXAuaXMtb3BlbiB7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIDApO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIFNldHMgdGhlIG9wZW4gcG9zaXRpb24gZm9yIHRoZSBjb250ZW50XG4gICAgQGF0LXJvb3QgLiN7JG1haW5jb250ZW50LWNsYXNzfS5pcy1vcGVuLSN7JHBvc2l0aW9ufSB7XG4gICAgICAmLmhhcy10cmFuc2l0aW9uLXB1c2gge1xuICAgICAgICBAZWFjaCAkbmFtZSwgJHNpemUgaW4gJHNpemVzIHtcbiAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRuYW1lKSB7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLSRzaXplKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQGVsc2UgaWYgJHBvc2l0aW9uID09IHRvcCB7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgb3ZlcmZsb3cteDogYXV0bztcbiAgICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7XG5cbiAgICBAZWFjaCAkbmFtZSwgJHNpemUgaW4gJHNpemVzIHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJG5hbWUpIHtcbiAgICAgICAgaGVpZ2h0OiAkc2l6ZTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0kc2l6ZSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gU2V0cyB0aGUgcG9zaXRpb24gZm9yIG5lc3RlZCBvZmYtY2FudmFzIGVsZW1lbnRcbiAgICBAYXQtcm9vdCAuI3skbWFpbmNvbnRlbnQtY2xhc3N9IC5vZmYtY2FudmFzLnBvc2l0aW9uLSN7JHBvc2l0aW9ufSB7XG4gICAgICBAZWFjaCAkbmFtZSwgJHNpemUgaW4gJHNpemVzIHtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkbmFtZSkge1xuICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtJHNpemUpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICAmLmlzLXRyYW5zaXRpb24tb3ZlcmxhcC5pcy1vcGVuIHtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgMCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gU2V0cyB0aGUgb3BlbiBwb3NpdGlvbiBmb3IgdGhlIGNvbnRlbnRcbiAgICBAYXQtcm9vdCAuI3skbWFpbmNvbnRlbnQtY2xhc3N9LmlzLW9wZW4tI3skcG9zaXRpb259IHtcbiAgICAgICYuaGFzLXRyYW5zaXRpb24tcHVzaCB7XG4gICAgICAgIEBlYWNoICRuYW1lLCAkc2l6ZSBpbiAkc2l6ZXMge1xuICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJG5hbWUpIHtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgkc2l6ZSk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEBlbHNlIGlmICRwb3NpdGlvbiA9PSBib3R0b20ge1xuICAgIGJvdHRvbTogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG92ZXJmbG93LXg6IGF1dG87XG4gICAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoO1xuXG4gICAgQGVhY2ggJG5hbWUsICRzaXplIGluICRzaXplcyB7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRuYW1lKSB7XG4gICAgICAgIGhlaWdodDogJHNpemU7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgkc2l6ZSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gU2V0cyB0aGUgcG9zaXRpb24gZm9yIG5lc3RlZCBvZmYtY2FudmFzIGVsZW1lbnRcbiAgICBAYXQtcm9vdCAuI3skbWFpbmNvbnRlbnQtY2xhc3N9IC5vZmYtY2FudmFzLnBvc2l0aW9uLSN7JHBvc2l0aW9ufSB7XG4gICAgICBAZWFjaCAkbmFtZSwgJHNpemUgaW4gJHNpemVzIHtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkbmFtZSkge1xuICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgkc2l6ZSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgICYuaXMtdHJhbnNpdGlvbi1vdmVybGFwLmlzLW9wZW4ge1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAwKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBTZXRzIHRoZSBvcGVuIHBvc2l0aW9uIGZvciB0aGUgY29udGVudFxuICAgIEBhdC1yb290IC4jeyRtYWluY29udGVudC1jbGFzc30uaXMtb3Blbi0jeyRwb3NpdGlvbn0ge1xuICAgICAgJi5oYXMtdHJhbnNpdGlvbi1wdXNoIHtcbiAgICAgICAgQGVhY2ggJG5hbWUsICRzaXplIGluICRzaXplcyB7XG4gICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkbmFtZSkge1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0kc2l6ZSk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gSWYgJG9mZmNhbnZhcy1pbm5lci1zaGFkb3ctc2l6ZSBpcyBzZXQsIGFkZCBpbm5lciBib3gtc2hhZG93LlxuICAvLyBUaGlzIG1pbWljcyB0aGUgb2ZmLWNhbnZhcyBwYW5lbCBoYXZpbmcgYSBsb3dlciB6LWluZGV4LCB3aXRob3V0IGhhdmluZyB0byBoYXZlIG9uZS5cbiAgQGlmICRvZmZjYW52YXMtaW5uZXItc2hhZG93LXNpemUge1xuICAgICYuaXMtdHJhbnNpdGlvbi1wdXNoIHtcbiAgICAgIEBpZiAkcG9zaXRpb24gPT0gbGVmdCB7XG4gICAgICAgIEBpbmNsdWRlIGlubmVyLXNpZGUtc2hhZG93KHJpZ2h0LCAkb2ZmY2FudmFzLWlubmVyLXNoYWRvdy1zaXplLCAkb2ZmY2FudmFzLWlubmVyLXNoYWRvdy1jb2xvcik7XG4gICAgICB9XG4gICAgICBAZWxzZSBpZiAkcG9zaXRpb24gPT0gcmlnaHQge1xuICAgICAgICBAaW5jbHVkZSBpbm5lci1zaWRlLXNoYWRvdyhsZWZ0LCAkb2ZmY2FudmFzLWlubmVyLXNoYWRvdy1zaXplLCAkb2ZmY2FudmFzLWlubmVyLXNoYWRvdy1jb2xvcik7XG4gICAgICB9XG4gICAgICBAZWxzZSBpZiAkcG9zaXRpb24gPT0gdG9wIHtcbiAgICAgICAgQGluY2x1ZGUgaW5uZXItc2lkZS1zaGFkb3coYm90dG9tLCAkb2ZmY2FudmFzLWlubmVyLXNoYWRvdy1zaXplLCAkb2ZmY2FudmFzLWlubmVyLXNoYWRvdy1jb2xvcik7XG4gICAgICB9XG4gICAgICBAZWxzZSBpZiAkcG9zaXRpb24gPT0gYm90dG9tIHtcbiAgICAgICAgQGluY2x1ZGUgaW5uZXItc2lkZS1zaGFkb3codG9wLCAkb2ZmY2FudmFzLWlubmVyLXNoYWRvdy1zaXplLCAkb2ZmY2FudmFzLWlubmVyLXNoYWRvdy1jb2xvcik7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbn1cblxuLy8vIFNldHMgdGhlIHN0eWxlcyBmb3IgdGhlIGNvbnRlbnQgY29udGFpbmVyLlxuQG1peGluIG9mZi1jYW52YXMtY29udGVudCgpIHtcbiAgdHJhbnNmb3JtOiBub25lO1xuICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG5cbiAgLy8gQmluZCB0byBoYXMtdHJhbnNpdGlvbi1YIGNsYXNzIHRvIHByZXZlbnQgdHJhbnNpdGlvbiBmb3IgdHJhbnNmb3JtOm5vbmVcbiAgJi5oYXMtdHJhbnNpdGlvbi1vdmVybGFwLFxuICAmLmhhcy10cmFuc2l0aW9uLXB1c2gge1xuICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAkb2ZmY2FudmFzLXRyYW5zaXRpb24tbGVuZ3RoICRvZmZjYW52YXMtdHJhbnNpdGlvbi10aW1pbmc7XG4gIH1cblxuICAvLyBUcmFuc2Zvcm0gc2NvcGUgdW50aWwgdGhlIGVsZW1lbnQgaXMgY2xvc2VkIChtYWtlcyBzdXJlIHRyYW5zaXRpb25lbmQgZ2V0cyB0cmlnZ2VyZWQpXG4gICYuaGFzLXRyYW5zaXRpb24tcHVzaCB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgMCk7XG4gIH1cblxuICAvLyBDb25zaWRlciBlbGVtZW50ICYgY29udGVudCwgbmVzdGVkIGluIGFub3RoZXIgY29udGVudFxuICAub2ZmLWNhbnZhcy5pcy1vcGVuIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAwKTtcbiAgfVxufVxuXG4vLy8gQWRkcyBzdHlsZXMgdGhhdCByZXZlYWwgYW4gb2ZmLWNhbnZhcyBwYW5lbC5cbkBtaXhpbiBvZmYtY2FudmFzLXJldmVhbChcbiAgJHBvc2l0aW9uOiBsZWZ0LFxuICAkemluZGV4OiAkb2ZmY2FudmFzLXJldmVhbC16aW5kZXgsXG4gICRjb250ZW50OiAkbWFpbmNvbnRlbnQtY2xhc3MsXG4gICRicmVha3BvaW50OiBzbWFsbFxuKSB7XG4gIHRyYW5zZm9ybTogbm9uZTtcbiAgei1pbmRleDogJHppbmRleDtcbiAgdHJhbnNpdGlvbjogbm9uZTtcbiAgdmlzaWJpbGl0eTogdmlzaWJsZTtcblxuICBAaWYgbm90ICRvZmZjYW52YXMtZml4ZWQtcmV2ZWFsIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIH1cblxuICAuY2xvc2UtYnV0dG9uIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG5cbiAgLy8gQ29uc2lkZXIgcmV2ZWFsZWQgZWxlbWVudCBpcyBuZXN0ZWQgaW4gY29udGVudFxuICAuI3skbWFpbmNvbnRlbnQtY2xhc3N9ICYge1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgfVxuXG4gIEBhdC1yb290IC4jeyRjb250ZW50fS5oYXMtcmV2ZWFsLSN7JHBvc2l0aW9ufSB7XG4gICAgbWFyZ2luLSN7JHBvc2l0aW9ufTogLXpmLWdldC1icC12YWwoJG9mZmNhbnZhcy1zaXplcywgJGJyZWFrcG9pbnQpO1xuICB9XG5cbiAgLy8gYmFja3dhcmRzIGNvbXBhdGliaWxpdHkgKHByaW9yIHRvIHY2LjQpXG4gICYgfiAuI3skY29udGVudH0ge1xuICAgIG1hcmdpbi0jeyRwb3NpdGlvbn06IC16Zi1nZXQtYnAtdmFsKCRvZmZjYW52YXMtc2l6ZXMsICRicmVha3BvaW50KTtcbiAgfVxufVxuXG4vLy8gT3ZlcnJpZGVzIHRoZSBvZmYtY2FudmFzIHN0eWxlc1xuQG1peGluIGluLWNhbnZhcygpIHtcbiAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgaGVpZ2h0OiBhdXRvO1xuICBwb3NpdGlvbjogc3RhdGljO1xuICBiYWNrZ3JvdW5kOiBub25lO1xuICB3aWR0aDogYXV0bztcbiAgb3ZlcmZsb3c6IHZpc2libGU7XG4gIHRyYW5zaXRpb246IG5vbmU7XG5cbiAgLy8gSW5jcmVhc2UgQ1NTIHNwZWNpZmljaXR5XG4gICYucG9zaXRpb24tbGVmdCxcbiAgJi5wb3NpdGlvbi1yaWdodCxcbiAgJi5wb3NpdGlvbi10b3AsXG4gICYucG9zaXRpb24tYm90dG9tIHtcbiAgICBib3gtc2hhZG93OiBub25lO1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgfVxuXG4gIC5jbG9zZS1idXR0b24ge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tb2ZmLWNhbnZhcyB7XG4gIEBpbmNsdWRlIG9mZi1jYW52YXMtYmFzaWNzO1xuXG4gIC8vIE9mZi1jYW52YXMgd3JhcHBlclxuICAub2ZmLWNhbnZhcy13cmFwcGVyIHtcbiAgICBAaW5jbHVkZSBvZmYtY2FudmFzLXdyYXBwZXI7XG4gIH1cblxuICAvLyBPZmYtY2FudmFzIGNvbnRhaW5lclxuICAub2ZmLWNhbnZhcyB7XG4gICAgQGluY2x1ZGUgb2ZmLWNhbnZhcy1iYXNlO1xuXG4gICAgLy8gRm9yY2UgcG9zaXRpb24gYWJzb2x1dGUgZm9yIG5lc3RlZCBvZmYtY2FudmFzIGJlY2F1c2UgZml4ZWQgZG9lc24ndCB3b3JrIGZvciBwdXNoIHRyYW5zaXRpb24gd2l0aGluIHRoZSB0cmFuc2Zvcm0gc2NvcGUuXG4gICAgLy8gQGF0LXJvb3QgLiN7JG1haW5jb250ZW50LWNsYXNzfSAmIHtcbiAgICAvLyAgIC8vIE5PVEU6IHNpbmNlIG92ZXJsYXAgdHJhbnNpdGlvbiBpcyBjdXJyZW50bHkgZm9yY2VkIGlmIG5lc3RlZCwgdGhlcmUncyBubyBuZWVkIHRvIGZvcmNlIHBvc2l0aW9uIGFic29sdXRlIHVudGlsIG5lc3RlZCBwdXNoIHRyYW5zaXRpb24gaXMgc3VwcG9ydGVkLlxuICAgIC8vICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIC8vIH1cbiAgfVxuXG4gIC8vIE9mZi1jYW52YXMgY29udGFpbmVyIHdpdGggYWJzb2x1dGUgcG9zaXRpb25cbiAgLm9mZi1jYW52YXMtYWJzb2x1dGUge1xuICAgIEBpbmNsdWRlIG9mZi1jYW52YXMtYmFzZSgkZml4ZWQ6IGZhbHNlKTtcbiAgfVxuXG4gIC8vIE9mZi1jYW52YXMgcG9zaXRpb24gY2xhc3Nlc1xuICAucG9zaXRpb24tbGVmdCAgICB7IEBpbmNsdWRlIG9mZi1jYW52YXMtcG9zaXRpb24obGVmdCwgICBob3Jpem9udGFsKTsgfVxuICAucG9zaXRpb24tcmlnaHQgICB7IEBpbmNsdWRlIG9mZi1jYW52YXMtcG9zaXRpb24ocmlnaHQsICBob3Jpem9udGFsKTsgfVxuICAucG9zaXRpb24tdG9wICAgICB7IEBpbmNsdWRlIG9mZi1jYW52YXMtcG9zaXRpb24odG9wLCAgICB2ZXJ0aWNhbCk7IH1cbiAgLnBvc2l0aW9uLWJvdHRvbSAgeyBAaW5jbHVkZSBvZmYtY2FudmFzLXBvc2l0aW9uKGJvdHRvbSwgdmVydGljYWwpOyB9XG5cbiAgLm9mZi1jYW52YXMtY29udGVudCB7XG4gICAgQGluY2x1ZGUgb2ZmLWNhbnZhcy1jb250ZW50O1xuICB9XG5cbiAgLy8gUmV2ZWFsIG9mZi1jYW52YXMgcGFuZWwgb24gbGFyZ2VyIHNjcmVlbnNcbiAgQGVhY2ggJG5hbWUsICR2YWx1ZSBpbiAkYnJlYWtwb2ludC1jbGFzc2VzIHtcbiAgICBAaWYgJG5hbWUgIT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQge1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkbmFtZSkge1xuICAgICAgICAucG9zaXRpb24tbGVmdC5yZXZlYWwtZm9yLSN7JG5hbWV9IHtcbiAgICAgICAgICBAaW5jbHVkZSBvZmYtY2FudmFzLXJldmVhbChsZWZ0LCAkb2ZmY2FudmFzLXJldmVhbC16aW5kZXgsICRtYWluY29udGVudC1jbGFzcywgJG5hbWUpO1xuICAgICAgICB9XG5cbiAgICAgICAgLnBvc2l0aW9uLXJpZ2h0LnJldmVhbC1mb3ItI3skbmFtZX0ge1xuICAgICAgICAgIEBpbmNsdWRlIG9mZi1jYW52YXMtcmV2ZWFsKHJpZ2h0LCAkb2ZmY2FudmFzLXJldmVhbC16aW5kZXgsICRtYWluY29udGVudC1jbGFzcywgJG5hbWUpO1xuICAgICAgICB9XG5cbiAgICAgICAgLnBvc2l0aW9uLXRvcC5yZXZlYWwtZm9yLSN7JG5hbWV9IHtcbiAgICAgICAgICBAaW5jbHVkZSBvZmYtY2FudmFzLXJldmVhbCh0b3AsICRvZmZjYW52YXMtcmV2ZWFsLXppbmRleCwgJG1haW5jb250ZW50LWNsYXNzLCAkbmFtZSk7XG4gICAgICAgIH1cblxuICAgICAgICAucG9zaXRpb24tYm90dG9tLnJldmVhbC1mb3ItI3skbmFtZX0ge1xuICAgICAgICAgIEBpbmNsdWRlIG9mZi1jYW52YXMtcmV2ZWFsKGJvdHRvbSwgJG9mZmNhbnZhcy1yZXZlYWwtemluZGV4LCAkbWFpbmNvbnRlbnQtY2xhc3MsICRuYW1lKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIE1vdmUgaW4tY2FudmFzIGZvciBsYXJnZXIgc2NyZWVuc1xuICBAZWFjaCAkbmFtZSwgJHZhbHVlIGluICRicmVha3BvaW50LWNsYXNzZXMge1xuICAgIEBpZiAkbmFtZSAhPSAkLXpmLXplcm8tYnJlYWtwb2ludCB7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRuYW1lKSB7XG4gICAgICAgIC5vZmYtY2FudmFzLmluLWNhbnZhcy1mb3ItI3skbmFtZX0ge1xuICAgICAgICAgIEBpbmNsdWRlIGluLWNhbnZhcztcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlc1xuLy8gaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgdGl0bGUtYmFyXG4vLy8vXG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIG9mIGEgdGl0bGUgYmFyLlxuLy8vIEB0eXBlIENvbG9yXG4kdGl0bGViYXItYmFja2dyb3VuZDogJGJsYWNrICFkZWZhdWx0O1xuXG4vLy8gQ29sb3Igb2YgdGV4dCBpbnNpZGUgYSB0aXRsZSBiYXIuXG4vLy8gQHR5cGUgQ29sb3JcbiR0aXRsZWJhci1jb2xvcjogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gUGFkZGluZyBpbnNpZGUgYSB0aXRsZSBiYXIuXG4vLy8gQHR5cGUgTGVuZ3RoXG4kdGl0bGViYXItcGFkZGluZzogMC41cmVtICFkZWZhdWx0O1xuXG4vLy8gRm9udCB3ZWlnaHQgb2YgdGV4dCBpbnNpZGUgYSB0aXRsZSBiYXIuXG4vLy8gQHR5cGUgV2VpZ2h0XG4kdGl0bGViYXItdGV4dC1mb250LXdlaWdodDogYm9sZCAhZGVmYXVsdDtcblxuLy8vIENvbG9yIG9mIG1lbnUgaWNvbnMgaW5zaWRlIGEgdGl0bGUgYmFyLlxuLy8vIEB0eXBlIENvbG9yXG4kdGl0bGViYXItaWNvbi1jb2xvcjogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gQ29sb3Igb2YgbWVudSBpY29ucyBpbnNpZGUgYSB0aXRsZSBiYXIgb24gaG92ZXIuXG4vLy8gQHR5cGUgQ29sb3JcbiR0aXRsZWJhci1pY29uLWNvbG9yLWhvdmVyOiAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBTcGFjaW5nIGJldHdlZW4gdGhlIG1lbnUgaWNvbiBhbmQgdGV4dCBpbnNpZGUgYSB0aXRsZSBiYXIuXG4vLy8gQHR5cGUgTGVuZ3RoXG4kdGl0bGViYXItaWNvbi1zcGFjaW5nOiAwLjI1cmVtICFkZWZhdWx0O1xuXG5AbWl4aW4gZm91bmRhdGlvbi10aXRsZS1iYXIge1xuICAudGl0bGUtYmFyIHtcbiAgICBwYWRkaW5nOiAkdGl0bGViYXItcGFkZGluZztcbiAgICBiYWNrZ3JvdW5kOiAkdGl0bGViYXItYmFja2dyb3VuZDtcbiAgICBjb2xvcjogJHRpdGxlYmFyLWNvbG9yO1xuXG4gICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgQGluY2x1ZGUgY2xlYXJmaXg7XG4gICAgfVxuXG4gICAgLm1lbnUtaWNvbiB7XG4gICAgICBtYXJnaW4tI3skZ2xvYmFsLWxlZnR9OiAkdGl0bGViYXItaWNvbi1zcGFjaW5nO1xuICAgICAgbWFyZ2luLSN7JGdsb2JhbC1yaWdodH06ICR0aXRsZWJhci1pY29uLXNwYWNpbmc7XG4gICAgfVxuICB9XG5cbiAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgLnRpdGxlLWJhci1sZWZ0LFxuICAgIC50aXRsZS1iYXItcmlnaHQge1xuICAgICAgZmxleDogMSAxIDBweDsgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSB6ZXJvLXVuaXRcbiAgICB9XG5cbiAgICAudGl0bGUtYmFyLXJpZ2h0IHtcbiAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgIH1cbiAgfVxuICBAZWxzZSB7XG4gICAgLnRpdGxlLWJhci1sZWZ0IHtcbiAgICAgIGZsb2F0OiBsZWZ0O1xuICAgIH1cblxuICAgIC50aXRsZS1iYXItcmlnaHQge1xuICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgfVxuICB9XG5cbiAgLnRpdGxlLWJhci10aXRsZSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgZm9udC13ZWlnaHQ6ICR0aXRsZWJhci10ZXh0LWZvbnQtd2VpZ2h0O1xuICB9XG59XG4iLCIvLyAgRm91bmRhdGlvbiBmb3IgU2l0ZXMgU2V0dGluZ3Ncbi8vICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy9cbi8vICBUYWJsZSBvZiBDb250ZW50czpcbi8vXG4vLyAgIDEuIEdsb2JhbFxuLy8gICAyLiBCcmVha3BvaW50c1xuLy8gICAzLiBUaGUgR3JpZFxuLy8gICA0LiBCYXNlIFR5cG9ncmFwaHlcbi8vICAgNS4gVHlwb2dyYXBoeSBIZWxwZXJzXG4vLyAgIDYuIEFiaWRlXG4vLyAgIDcuIEFjY29yZGlvblxuLy8gICA4LiBBY2NvcmRpb24gTWVudVxuLy8gICA5LiBCYWRnZVxuLy8gIDEwLiBCcmVhZGNydW1ic1xuLy8gIDExLiBCdXR0b25cbi8vICAxMi4gQnV0dG9uIEdyb3VwXG4vLyAgMTMuIENhbGxvdXRcbi8vICAxNC4gQ2FyZFxuLy8gIDE1LiBDbG9zZSBCdXR0b25cbi8vICAxNi4gRHJpbGxkb3duXG4vLyAgMTcuIERyb3Bkb3duXG4vLyAgMTguIERyb3Bkb3duIE1lbnVcbi8vICAxOS4gRmxleGJveCBVdGlsaXRpZXNcbi8vICAyMC4gRm9ybXNcbi8vICAyMS4gTGFiZWxcbi8vICAyMi4gTWVkaWEgT2JqZWN0XG4vLyAgMjMuIE1lbnVcbi8vICAyNC4gTWV0ZXJcbi8vICAyNS4gT2ZmLWNhbnZhc1xuLy8gIDI2LiBPcmJpdFxuLy8gIDI3LiBQYWdpbmF0aW9uXG4vLyAgMjguIFByb2dyZXNzIEJhclxuLy8gIDI5LiBQcm90b3R5cGUgQXJyb3dcbi8vICAzMC4gUHJvdG90eXBlIEJvcmRlci1Cb3hcbi8vICAzMS4gUHJvdG90eXBlIEJvcmRlci1Ob25lXG4vLyAgMzIuIFByb3RvdHlwZSBCb3JkZXJlZFxuLy8gIDMzLiBQcm90b3R5cGUgRGlzcGxheVxuLy8gIDM0LiBQcm90b3R5cGUgRm9udC1TdHlsaW5nXG4vLyAgMzUuIFByb3RvdHlwZSBMaXN0LVN0eWxlLVR5cGVcbi8vICAzNi4gUHJvdG90eXBlIE92ZXJmbG93XG4vLyAgMzcuIFByb3RvdHlwZSBQb3NpdGlvblxuLy8gIDM4LiBQcm90b3R5cGUgUm91bmRlZFxuLy8gIDM5LiBQcm90b3R5cGUgU2VwYXJhdG9yXG4vLyAgNDAuIFByb3RvdHlwZSBTaGFkb3dcbi8vICA0MS4gUHJvdG90eXBlIFNpemluZ1xuLy8gIDQyLiBQcm90b3R5cGUgU3BhY2luZ1xuLy8gIDQzLiBQcm90b3R5cGUgVGV4dC1EZWNvcmF0aW9uXG4vLyAgNDQuIFByb3RvdHlwZSBUZXh0LVRyYW5zZm9ybWF0aW9uXG4vLyAgNDUuIFByb3RvdHlwZSBUZXh0LVV0aWxpdGllc1xuLy8gIDQ2LiBSZXNwb25zaXZlIEVtYmVkXG4vLyAgNDcuIFJldmVhbFxuLy8gIDQ4LiBTbGlkZXJcbi8vICA0OS4gU3dpdGNoXG4vLyAgNTAuIFRhYmxlXG4vLyAgNTEuIFRhYnNcbi8vICA1Mi4gVGh1bWJuYWlsXG4vLyAgNTMuIFRpdGxlIEJhclxuLy8gIDU0LiBUb29sdGlwXG4vLyAgNTUuIFRvcCBCYXJcbi8vICA1Ni4gWHkgR3JpZFxuXG4vLyBAaW1wb3J0ICd1dGlsL3V0aWwnO1xuXG4vLyAxLiBHbG9iYWxcbi8vIC0tLS0tLS0tLVxuXG4kZ2xvYmFsLWZvbnQtc2l6ZTogMTAwJTtcbiRnbG9iYWwtd2lkdGg6IHJlbS1jYWxjKDEyMDApO1xuJGdsb2JhbC1saW5laGVpZ2h0OiAxLjU7XG4kZm91bmRhdGlvbi1wYWxldHRlOiAoXG4gIHByaW1hcnk6ICMzOTZkOWQsXG4gIHNlY29uZGFyeTogIzc2NzY3NixcbiAgc3VjY2VzczogIzNhZGI3NixcbiAgd2FybmluZzogcmdiKDI1NSwgMjM1LCA1OSksXG4gIGFsZXJ0OiAjY2M0YjM3LFxuKTtcbiRibHVlOiAjMzk2ZDlkO1xuJGxpZ2h0LWJsdWU6ICM5YmQ4ZmI7XG4kZ3JlZW46ICNhMGRlNTc7XG4keWVsbG93OiAjRkRGNEFDO1xuJGxpZ2h0LXllbGxvdzogcmdiYSgyNTUsIDI1MCwgMjExLCAwLjUpO1xuJHJlZDogcmdiKDE5NywgMzMsIDMxKTtcbiRsaWdodC1yZWQ6ICNGREU0RTI7XG4kbGlnaHQtZ3JheTogI2U2ZTZlNjtcbiRtZWRpdW0tZ3JheTogI2FhYWFhYTtcbiRkYXJrLWdyYXk6ICM2NjY2NjY7XG4kYmxhY2s6ICM0ZDRkNGQ7XG4kd2hpdGU6ICNmZWZlZmU7XG4kYm9keS1iYWNrZ3JvdW5kOiAkd2hpdGU7XG4kYm9keS1mb250LWNvbG9yOiAkYmxhY2s7XG4kYm9keS1mb250LWZhbWlseTogJ09wZW4gU2FucycsIFJvYm90bywgQXJpYWwsIHNhbnMtc2VyaWY7XG4kYm9keS1hbnRpYWxpYXNlZDogdHJ1ZTtcbiRnbG9iYWwtbWFyZ2luOiAxcmVtO1xuJGdsb2JhbC1wYWRkaW5nOiAxcmVtO1xuJGdsb2JhbC1wb3NpdGlvbjogMXJlbTtcbiRnbG9iYWwtd2VpZ2h0LW5vcm1hbDogbm9ybWFsO1xuJGdsb2JhbC13ZWlnaHQtYm9sZDogODAwO1xuJGdsb2JhbC1yYWRpdXM6IDVweDtcbiRnbG9iYWwtbWVudS1wYWRkaW5nOiAwLjdyZW0gMXJlbTtcbiRnbG9iYWwtbWVudS1uZXN0ZWQtbWFyZ2luOiAxcmVtO1xuJGdsb2JhbC10ZXh0LWRpcmVjdGlvbjogbHRyO1xuJGdsb2JhbC1mbGV4Ym94OiB0cnVlO1xuJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHM6IGZhbHNlO1xuJGdsb2JhbC1idXR0b24tY3Vyc29yOiBhdXRvO1xuJGdsb2JhbC1jb2xvci1waWNrLWNvbnRyYXN0LXRvbGVyYW5jZTogMDtcbiRwcmludC10cmFuc3BhcmVudC1iYWNrZ3JvdW5kczogdHJ1ZTtcblxuQGluY2x1ZGUgYWRkLWZvdW5kYXRpb24tY29sb3JzO1xuJHByaW50LWhyZWZzOiB0cnVlO1xuXG4vLyAyLiBCcmVha3BvaW50c1xuLy8gLS0tLS0tLS0tLS0tLS1cblxuJGJyZWFrcG9pbnRzOiAoXG4gIHNtYWxsOiAwLFxuICBtZWRpdW06IDY0MHB4LFxuICBsYXJnZTogMTAyNHB4LFxuICB4bGFyZ2U6IDEyMDBweCxcbiAgeHhsYXJnZTogMTQ0MHB4LFxuKTtcbiRwcmludC1icmVha3BvaW50OiBsYXJnZTtcbiRicmVha3BvaW50LWNsYXNzZXM6IChzbWFsbCBtZWRpdW0gbGFyZ2UpO1xuXG4vLyAzLiBUaGUgR3JpZFxuLy8gLS0tLS0tLS0tLS1cblxuJGdyaWQtcm93LXdpZHRoOiAkZ2xvYmFsLXdpZHRoO1xuJGdyaWQtY29sdW1uLWNvdW50OiAxMjtcbiRncmlkLWNvbHVtbi1ndXR0ZXI6IChcbiAgc21hbGw6IDIwcHgsXG4gIG1lZGl1bTogMzBweCxcbik7XG4kZ3JpZC1jb2x1bW4tYWxpZ24tZWRnZTogdHJ1ZTtcbiRncmlkLWNvbHVtbi1hbGlhczogJ2NvbHVtbnMnO1xuJGJsb2NrLWdyaWQtbWF4OiA4O1xuXG4vLyA0LiBCYXNlIFR5cG9ncmFwaHlcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kaGVhZGVyLWZvbnQtZmFtaWx5OiAnTW9udHNlcnJhdCcsIHNlcmlmO1xuJGhlYWRlci1mb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtYm9sZDtcbiRoZWFkZXItZm9udC1zdHlsZTogbm9ybWFsO1xuJGZvbnQtZmFtaWx5LW1vbm9zcGFjZTogQ29uc29sYXMsICdMaWJlcmF0aW9uIE1vbm8nLCBDb3VyaWVyLCBtb25vc3BhY2U7XG4kaGVhZGVyLWNvbG9yOiBpbmhlcml0O1xuJGhlYWRlci1saW5laGVpZ2h0OiAxLjQ7XG4kaGVhZGVyLW1hcmdpbi1ib3R0b206IDAuNXJlbTtcbiRoZWFkZXItc3R5bGVzOiAoXG4gIHNtYWxsOiAoXG4gICAgJ2gxJzogKCdmb250LXNpemUnOiAyNCksXG4gICAgJ2gyJzogKCdmb250LXNpemUnOiAyMCksXG4gICAgJ2gzJzogKCdmb250LXNpemUnOiAxOCksXG4gICAgJ2g0JzogKCdmb250LXNpemUnOiAxNiksXG4gICAgJ2g1JzogKCdmb250LXNpemUnOiAxNiksXG4gICAgJ2g2JzogKCdmb250LXNpemUnOiAxNiksXG4gICksXG4gIG1lZGl1bTogKFxuICAgICdoMSc6ICgnZm9udC1zaXplJzogNDApLFxuICAgICdoMic6ICgnZm9udC1zaXplJzogMzEpLFxuICAgICdoMyc6ICgnZm9udC1zaXplJzogMjUpLFxuICAgICdoNCc6ICgnZm9udC1zaXplJzogMjApLFxuICAgICdoNSc6ICgnZm9udC1zaXplJzogMTgpLFxuICAgICdoNic6ICgnZm9udC1zaXplJzogMTYpLFxuICApLFxuKTtcbiRoZWFkZXItdGV4dC1yZW5kZXJpbmc6IG9wdGltaXplTGVnaWJpbGl0eTtcbiRzbWFsbC1mb250LXNpemU6IDgwJTtcbiRoZWFkZXItc21hbGwtZm9udC1jb2xvcjogJGRhcmstZ3JheTtcbiRwYXJhZ3JhcGgtbGluZWhlaWdodDogMS42O1xuJHBhcmFncmFwaC1tYXJnaW4tYm90dG9tOiAxcmVtO1xuJHBhcmFncmFwaC10ZXh0LXJlbmRlcmluZzogb3B0aW1pemVMZWdpYmlsaXR5O1xuJGNvZGUtY29sb3I6ICRibGFjaztcbiRjb2RlLWZvbnQtZmFtaWx5OiAkZm9udC1mYW1pbHktbW9ub3NwYWNlO1xuJGNvZGUtZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LW5vcm1hbDtcbiRjb2RlLWJhY2tncm91bmQ6ICRsaWdodC1ncmF5O1xuJGNvZGUtYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5O1xuJGNvZGUtcGFkZGluZzogcmVtLWNhbGMoMiA1IDEpO1xuJGFuY2hvci1jb2xvcjogJHByaW1hcnktY29sb3I7XG4kYW5jaG9yLWNvbG9yLWhvdmVyOiBzY2FsZS1jb2xvcigkYW5jaG9yLWNvbG9yLCAkbGlnaHRuZXNzOiAtMTQlKTtcbiRhbmNob3ItdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuJGFuY2hvci10ZXh0LWRlY29yYXRpb24taG92ZXI6IG5vbmU7XG4kaHItd2lkdGg6ICRnbG9iYWwtd2lkdGg7XG4kaHItYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5O1xuJGhyLW1hcmdpbjogcmVtLWNhbGMoMjApIGF1dG87XG4kbGlzdC1saW5laGVpZ2h0OiAkcGFyYWdyYXBoLWxpbmVoZWlnaHQ7XG4kbGlzdC1tYXJnaW4tYm90dG9tOiAkcGFyYWdyYXBoLW1hcmdpbi1ib3R0b207XG4kbGlzdC1zdHlsZS10eXBlOiBkaXNjO1xuJGxpc3Qtc3R5bGUtcG9zaXRpb246IG91dHNpZGU7XG4kbGlzdC1zaWRlLW1hcmdpbjogMS4yNXJlbTtcbiRsaXN0LW5lc3RlZC1zaWRlLW1hcmdpbjogMS4yNXJlbTtcbiRkZWZubGlzdC1tYXJnaW4tYm90dG9tOiAxcmVtO1xuJGRlZm5saXN0LXRlcm0td2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ib2xkO1xuJGRlZm5saXN0LXRlcm0tbWFyZ2luLWJvdHRvbTogMC4zcmVtO1xuJGJsb2NrcXVvdGUtY29sb3I6ICRkYXJrLWdyYXk7XG4kYmxvY2txdW90ZS1wYWRkaW5nOiByZW0tY2FsYyg5IDIwIDAgMTkpO1xuJGJsb2NrcXVvdGUtYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5O1xuJGNpdGUtZm9udC1zaXplOiByZW0tY2FsYygxMyk7XG4kY2l0ZS1jb2xvcjogJGRhcmstZ3JheTtcbiRjaXRlLXBzZXVkby1jb250ZW50OiAnXFwyMDE0IFxcMDAyMCc7XG4ka2V5c3Ryb2tlLWZvbnQ6ICRmb250LWZhbWlseS1tb25vc3BhY2U7XG4ka2V5c3Ryb2tlLWNvbG9yOiAkYmxhY2s7XG4ka2V5c3Ryb2tlLWJhY2tncm91bmQ6ICRsaWdodC1ncmF5O1xuJGtleXN0cm9rZS1wYWRkaW5nOiByZW0tY2FsYygyIDQgMCk7XG4ka2V5c3Ryb2tlLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4kYWJici11bmRlcmxpbmU6IDFweCBkb3R0ZWQgJGJsYWNrO1xuXG4vLyA1LiBUeXBvZ3JhcGh5IEhlbHBlcnNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kbGVhZC1mb250LXNpemU6ICRnbG9iYWwtZm9udC1zaXplICogMS4yNTtcbiRsZWFkLWxpbmVoZWlnaHQ6IDEuNjtcbiRzdWJoZWFkZXItbGluZWhlaWdodDogMS40O1xuJHN1YmhlYWRlci1jb2xvcjogJGRhcmstZ3JheTtcbiRzdWJoZWFkZXItZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LW5vcm1hbDtcbiRzdWJoZWFkZXItbWFyZ2luLXRvcDogMC4ycmVtO1xuJHN1YmhlYWRlci1tYXJnaW4tYm90dG9tOiAwLjVyZW07XG4kc3RhdC1mb250LXNpemU6IDIuNXJlbTtcblxuLy8gNi4gQWJpZGVcbi8vIC0tLS0tLS0tXG5cbiRhYmlkZS1pbnB1dHM6IHRydWU7XG4kYWJpZGUtbGFiZWxzOiB0cnVlO1xuJGlucHV0LWJhY2tncm91bmQtaW52YWxpZDogZ2V0LWNvbG9yKGFsZXJ0KTtcbiRmb3JtLWxhYmVsLWNvbG9yLWludmFsaWQ6IGdldC1jb2xvcihhbGVydCk7XG4kaW5wdXQtZXJyb3ItY29sb3I6IGdldC1jb2xvcihhbGVydCk7XG4kaW5wdXQtZXJyb3ItZm9udC1zaXplOiByZW0tY2FsYygxMik7XG4kaW5wdXQtZXJyb3ItZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LWJvbGQ7XG5cbi8vIDcuIEFjY29yZGlvblxuLy8gLS0tLS0tLS0tLS0tXG5cbiRhY2NvcmRpb24tYmFja2dyb3VuZDogJHdoaXRlO1xuJGFjY29yZGlvbi1wbHVzbWludXM6IHRydWU7XG4kYWNjb3JkaW9uLXRpdGxlLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTIpO1xuJGFjY29yZGlvbi1pdGVtLWNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcbiRhY2NvcmRpb24taXRlbS1iYWNrZ3JvdW5kLWhvdmVyOiAkbGlnaHQtZ3JheTtcbiRhY2NvcmRpb24taXRlbS1wYWRkaW5nOiAxLjI1cmVtIDFyZW07XG4kYWNjb3JkaW9uLWNvbnRlbnQtYmFja2dyb3VuZDogJHdoaXRlO1xuJGFjY29yZGlvbi1jb250ZW50LWJvcmRlcjogMXB4IHNvbGlkICRsaWdodC1ncmF5O1xuJGFjY29yZGlvbi1jb250ZW50LWNvbG9yOiAkYm9keS1mb250LWNvbG9yO1xuJGFjY29yZGlvbi1jb250ZW50LXBhZGRpbmc6IDFyZW07XG5cbi8vIDguIEFjY29yZGlvbiBNZW51XG4vLyAtLS0tLS0tLS0tLS0tLS0tLVxuXG4kYWNjb3JkaW9ubWVudS1wYWRkaW5nOiAkZ2xvYmFsLW1lbnUtcGFkZGluZztcbiRhY2NvcmRpb25tZW51LW5lc3RlZC1tYXJnaW46ICRnbG9iYWwtbWVudS1uZXN0ZWQtbWFyZ2luO1xuJGFjY29yZGlvbm1lbnUtc3VibWVudS1wYWRkaW5nOiAkYWNjb3JkaW9ubWVudS1wYWRkaW5nO1xuJGFjY29yZGlvbm1lbnUtYXJyb3dzOiB0cnVlO1xuJGFjY29yZGlvbm1lbnUtYXJyb3ctY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xuJGFjY29yZGlvbm1lbnUtaXRlbS1iYWNrZ3JvdW5kOiBudWxsO1xuJGFjY29yZGlvbm1lbnUtYm9yZGVyOiBudWxsO1xuJGFjY29yZGlvbm1lbnUtc3VibWVudS10b2dnbGUtYmFja2dyb3VuZDogbnVsbDtcbiRhY2NvcmRpb24tc3VibWVudS10b2dnbGUtYm9yZGVyOiAkYWNjb3JkaW9ubWVudS1ib3JkZXI7XG4kYWNjb3JkaW9ubWVudS1zdWJtZW51LXRvZ2dsZS13aWR0aDogNDBweDtcbiRhY2NvcmRpb25tZW51LXN1Ym1lbnUtdG9nZ2xlLWhlaWdodDogJGFjY29yZGlvbm1lbnUtc3VibWVudS10b2dnbGUtd2lkdGg7XG4kYWNjb3JkaW9ubWVudS1hcnJvdy1zaXplOiA2cHg7XG5cbi8vIDkuIEJhZGdlXG4vLyAtLS0tLS0tLVxuXG4kYmFkZ2UtYmFja2dyb3VuZDogJHByaW1hcnktY29sb3I7XG4kYmFkZ2UtY29sb3I6ICR3aGl0ZTtcbiRiYWRnZS1jb2xvci1hbHQ6ICRibGFjaztcbiRiYWRnZS1wYWxldHRlOiAkZm91bmRhdGlvbi1wYWxldHRlO1xuJGJhZGdlLXBhZGRpbmc6IDAuM2VtO1xuJGJhZGdlLW1pbndpZHRoOiAyLjFlbTtcbiRiYWRnZS1mb250LXNpemU6IDAuNnJlbTtcblxuLy8gMTAuIEJyZWFkY3J1bWJzXG4vLyAtLS0tLS0tLS0tLS0tLS1cblxuJGJyZWFkY3J1bWJzLW1hcmdpbjogMCAwICRnbG9iYWwtbWFyZ2luIDA7XG4kYnJlYWRjcnVtYnMtaXRlbS1mb250LXNpemU6IHJlbS1jYWxjKDExKTtcbiRicmVhZGNydW1icy1pdGVtLWNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcbiRicmVhZGNydW1icy1pdGVtLWNvbG9yLWN1cnJlbnQ6ICRibGFjaztcbiRicmVhZGNydW1icy1pdGVtLWNvbG9yLWRpc2FibGVkOiAkbWVkaXVtLWdyYXk7XG4kYnJlYWRjcnVtYnMtaXRlbS1tYXJnaW46IDAuNzVyZW07XG4kYnJlYWRjcnVtYnMtaXRlbS11cHBlcmNhc2U6IHRydWU7XG4kYnJlYWRjcnVtYnMtaXRlbS1zZXBhcmF0b3I6IHRydWU7XG4kYnJlYWRjcnVtYnMtaXRlbS1zZXBhcmF0b3ItaXRlbTogJy8nO1xuJGJyZWFkY3J1bWJzLWl0ZW0tc2VwYXJhdG9yLWl0ZW0tcnRsOiAnXFxcXCc7XG4kYnJlYWRjcnVtYnMtaXRlbS1zZXBhcmF0b3ItY29sb3I6ICRtZWRpdW0tZ3JheTtcblxuLy8gMTEuIEJ1dHRvblxuLy8gLS0tLS0tLS0tLVxuXG4kYnV0dG9uLWZvbnQtZmFtaWx5OiBpbmhlcml0O1xuJGJ1dHRvbi1wYWRkaW5nOiAwLjg1ZW0gMWVtO1xuJGJ1dHRvbi1tYXJnaW46IDAgMCAkZ2xvYmFsLW1hcmdpbiAwO1xuJGJ1dHRvbi1maWxsOiBzb2xpZDtcbiRidXR0b24tYmFja2dyb3VuZDogJHByaW1hcnktY29sb3I7XG4kYnV0dG9uLWJhY2tncm91bmQtaG92ZXI6IHNjYWxlLWNvbG9yKCRidXR0b24tYmFja2dyb3VuZCwgJGxpZ2h0bmVzczogMTUlKTtcbiRidXR0b24tY29sb3I6ICR3aGl0ZTtcbiRidXR0b24tY29sb3ItYWx0OiAkYmxhY2s7XG4kYnV0dG9uLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4kYnV0dG9uLWhvbGxvdy1ib3JkZXItd2lkdGg6IDFweDtcbiRidXR0b24tc2l6ZXM6IChcbiAgdGlueTogMC42cmVtLFxuICBzbWFsbDogMC43NXJlbSxcbiAgZGVmYXVsdDogMC45cmVtLFxuICBsYXJnZTogMS4yNXJlbSxcbik7XG4kYnV0dG9uLXBhbGV0dGU6ICRmb3VuZGF0aW9uLXBhbGV0dGU7XG4kYnV0dG9uLW9wYWNpdHktZGlzYWJsZWQ6IDAuMjU7XG4kYnV0dG9uLWJhY2tncm91bmQtaG92ZXItbGlnaHRuZXNzOiAtMjAlO1xuJGJ1dHRvbi1ob2xsb3ctaG92ZXItbGlnaHRuZXNzOiAtNTAlO1xuJGJ1dHRvbi10cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuMjVzIGVhc2Utb3V0LCBjb2xvciAwLjI1cyBlYXNlLW91dDtcbiRidXR0b24tcmVzcG9uc2l2ZS1leHBhbmRlZDogZmFsc2U7XG5cbi8vIDEyLiBCdXR0b24gR3JvdXBcbi8vIC0tLS0tLS0tLS0tLS0tLS1cblxuJGJ1dHRvbmdyb3VwLW1hcmdpbjogMXJlbTtcbiRidXR0b25ncm91cC1zcGFjaW5nOiAxcHg7XG4kYnV0dG9uZ3JvdXAtY2hpbGQtc2VsZWN0b3I6ICcuYnV0dG9uJztcbiRidXR0b25ncm91cC1leHBhbmQtbWF4OiA2O1xuJGJ1dHRvbmdyb3VwLXJhZGl1cy1vbi1lYWNoOiB0cnVlO1xuXG4vLyAxMy4gQ2FsbG91dFxuLy8gLS0tLS0tLS0tLS1cblxuJGNhbGxvdXQtYmFja2dyb3VuZDogJHdoaXRlO1xuJGNhbGxvdXQtYmFja2dyb3VuZC1mYWRlOiA4NSU7XG4kY2FsbG91dC1ib3JkZXI6IG5vbmU7XG4kY2FsbG91dC1tYXJnaW46IDAgMCAxcmVtIDA7XG4kY2FsbG91dC1wYWRkaW5nOiAxcmVtO1xuJGNhbGxvdXQtZm9udC1jb2xvcjogJGJvZHktZm9udC1jb2xvcjtcbiRjYWxsb3V0LWZvbnQtY29sb3ItYWx0OiAkYm9keS1iYWNrZ3JvdW5kO1xuJGNhbGxvdXQtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiRjYWxsb3V0LWxpbmstdGludDogMzAlO1xuXG4vLyAxNC4gQ2FyZFxuLy8gLS0tLS0tLS1cblxuJGNhcmQtYmFja2dyb3VuZDogJHdoaXRlO1xuJGNhcmQtZm9udC1jb2xvcjogJGJvZHktZm9udC1jb2xvcjtcbiRjYXJkLWRpdmlkZXItYmFja2dyb3VuZDogJGxpZ2h0LWdyYXk7XG4kY2FyZC1ib3JkZXI6IDFweCBzb2xpZCAkbGlnaHQtZ3JheTtcbiRjYXJkLXNoYWRvdzogbm9uZTtcbiRjYXJkLWJvcmRlci1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuJGNhcmQtcGFkZGluZzogJGdsb2JhbC1wYWRkaW5nO1xuJGNhcmQtbWFyZ2luLWJvdHRvbTogJGdsb2JhbC1tYXJnaW47XG5cbi8vIDE1LiBDbG9zZSBCdXR0b25cbi8vIC0tLS0tLS0tLS0tLS0tLS1cblxuJGNsb3NlYnV0dG9uLXBvc2l0aW9uOiByaWdodCB0b3A7XG4kY2xvc2VidXR0b24tb2Zmc2V0LWhvcml6b250YWw6IChcbiAgc21hbGw6IDAuNjZyZW0sXG4gIG1lZGl1bTogMXJlbSxcbik7XG4kY2xvc2VidXR0b24tb2Zmc2V0LXZlcnRpY2FsOiAoXG4gIHNtYWxsOiAwLjMzZW0sXG4gIG1lZGl1bTogMC41cmVtLFxuKTtcbiRjbG9zZWJ1dHRvbi1zaXplOiAoXG4gIHNtYWxsOiAxLjVlbSxcbiAgbWVkaXVtOiAyZW0sXG4pO1xuJGNsb3NlYnV0dG9uLWxpbmVoZWlnaHQ6IDE7XG4kY2xvc2VidXR0b24tY29sb3I6ICRkYXJrLWdyYXk7XG4kY2xvc2VidXR0b24tY29sb3ItaG92ZXI6ICRibGFjaztcblxuLy8gMTYuIERyaWxsZG93blxuLy8gLS0tLS0tLS0tLS0tLVxuXG4kZHJpbGxkb3duLXRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjE1cyBsaW5lYXI7XG4kZHJpbGxkb3duLWFycm93czogdHJ1ZTtcbiRkcmlsbGRvd24tcGFkZGluZzogJGdsb2JhbC1tZW51LXBhZGRpbmc7XG4kZHJpbGxkb3duLW5lc3RlZC1tYXJnaW46IDA7XG4kZHJpbGxkb3duLWJhY2tncm91bmQ6ICR3aGl0ZTtcbiRkcmlsbGRvd24tc3VibWVudS1wYWRkaW5nOiAkZHJpbGxkb3duLXBhZGRpbmc7XG4kZHJpbGxkb3duLXN1Ym1lbnUtYmFja2dyb3VuZDogJHdoaXRlO1xuJGRyaWxsZG93bi1hcnJvdy1jb2xvcjogJHByaW1hcnktY29sb3I7XG4kZHJpbGxkb3duLWFycm93LXNpemU6IDZweDtcblxuLy8gMTcuIERyb3Bkb3duXG4vLyAtLS0tLS0tLS0tLS1cblxuJGRyb3Bkb3duLXBhZGRpbmc6IDFyZW07XG4kZHJvcGRvd24tYmFja2dyb3VuZDogJGJvZHktYmFja2dyb3VuZDtcbiRkcm9wZG93bi1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXk7XG4kZHJvcGRvd24tZm9udC1zaXplOiAxcmVtO1xuJGRyb3Bkb3duLXdpZHRoOiAzMDBweDtcbiRkcm9wZG93bi1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuJGRyb3Bkb3duLXNpemVzOiAoXG4gIHRpbnk6IDEwMHB4LFxuICBzbWFsbDogMjAwcHgsXG4gIGxhcmdlOiA0MDBweCxcbik7XG5cbi8vIDE4LiBEcm9wZG93biBNZW51XG4vLyAtLS0tLS0tLS0tLS0tLS0tLVxuXG4kZHJvcGRvd25tZW51LWFycm93czogdHJ1ZTtcbiRkcm9wZG93bm1lbnUtYXJyb3ctY29sb3I6ICRhbmNob3ItY29sb3I7XG4kZHJvcGRvd25tZW51LWFycm93LXNpemU6IDZweDtcbiRkcm9wZG93bm1lbnUtYXJyb3ctcGFkZGluZzogMS41cmVtO1xuJGRyb3Bkb3dubWVudS1taW4td2lkdGg6IDIwMHB4O1xuJGRyb3Bkb3dubWVudS1iYWNrZ3JvdW5kOiBudWxsO1xuJGRyb3Bkb3dubWVudS1zdWJtZW51LWJhY2tncm91bmQ6ICR3aGl0ZTtcbiRkcm9wZG93bm1lbnUtcGFkZGluZzogJGdsb2JhbC1tZW51LXBhZGRpbmc7XG4kZHJvcGRvd25tZW51LW5lc3RlZC1tYXJnaW46IDA7XG4kZHJvcGRvd25tZW51LXN1Ym1lbnUtcGFkZGluZzogJGRyb3Bkb3dubWVudS1wYWRkaW5nO1xuJGRyb3Bkb3dubWVudS1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXk7XG4kZHJvcGRvd24tbWVudS1pdGVtLWNvbG9yLWFjdGl2ZTogZ2V0LWNvbG9yKHByaW1hcnkpO1xuJGRyb3Bkb3duLW1lbnUtaXRlbS1iYWNrZ3JvdW5kLWFjdGl2ZTogdHJhbnNwYXJlbnQ7XG5cbi8vIDE5LiBGbGV4Ym94IFV0aWxpdGllc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRmbGV4LXNvdXJjZS1vcmRlcmluZy1jb3VudDogNjtcbiRmbGV4Ym94LXJlc3BvbnNpdmUtYnJlYWtwb2ludHM6IHRydWU7XG5cbi8vIDIwLiBGb3Jtc1xuLy8gLS0tLS0tLS0tXG5cbiRmaWVsZHNldC1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXk7XG4kZmllbGRzZXQtcGFkZGluZzogcmVtLWNhbGMoMjApO1xuJGZpZWxkc2V0LW1hcmdpbjogcmVtLWNhbGMoMTggMCk7XG4kbGVnZW5kLXBhZGRpbmc6IHJlbS1jYWxjKDAgMyk7XG4kZm9ybS1zcGFjaW5nOiByZW0tY2FsYygxNik7XG4kaGVscHRleHQtY29sb3I6ICRibGFjaztcbiRoZWxwdGV4dC1mb250LXNpemU6IHJlbS1jYWxjKDEzKTtcbiRoZWxwdGV4dC1mb250LXN0eWxlOiBpdGFsaWM7XG4kaW5wdXQtcHJlZml4LWNvbG9yOiAkYmxhY2s7XG4kaW5wdXQtcHJlZml4LWJhY2tncm91bmQ6ICRsaWdodC1ncmF5O1xuJGlucHV0LXByZWZpeC1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXk7XG4kaW5wdXQtcHJlZml4LXBhZGRpbmc6IDFyZW07XG4kZm9ybS1sYWJlbC1jb2xvcjogJGJsYWNrO1xuJGZvcm0tbGFiZWwtZm9udC1zaXplOiByZW0tY2FsYygxNCk7XG4kZm9ybS1sYWJlbC1mb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtbm9ybWFsO1xuJGZvcm0tbGFiZWwtbGluZS1oZWlnaHQ6IDEuODtcbiRzZWxlY3QtYmFja2dyb3VuZDogJHdoaXRlO1xuJHNlbGVjdC10cmlhbmdsZS1jb2xvcjogJGRhcmstZ3JheTtcbiRzZWxlY3QtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiRpbnB1dC1jb2xvcjogJGJsYWNrO1xuJGlucHV0LXBsYWNlaG9sZGVyLWNvbG9yOiAkbWVkaXVtLWdyYXk7XG4kaW5wdXQtZm9udC1mYW1pbHk6IGluaGVyaXQ7XG4kaW5wdXQtZm9udC1zaXplOiByZW0tY2FsYygxNik7XG4kaW5wdXQtZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LW5vcm1hbDtcbiRpbnB1dC1saW5lLWhlaWdodDogJGdsb2JhbC1saW5laGVpZ2h0O1xuJGlucHV0LWJhY2tncm91bmQ6ICR3aGl0ZTtcbiRpbnB1dC1iYWNrZ3JvdW5kLWZvY3VzOiAkd2hpdGU7XG4kaW5wdXQtYmFja2dyb3VuZC1kaXNhYmxlZDogJGxpZ2h0LWdyYXk7XG4kaW5wdXQtYm9yZGVyOiAwcHggc29saWQgJGRhcmstZ3JheTtcbiRpbnB1dC1ib3JkZXItZm9jdXM6IDFweCBzb2xpZCAkbGlnaHQtcmVkO1xuJGlucHV0LXBhZGRpbmc6ICRmb3JtLXNwYWNpbmcgLyAyO1xuJGlucHV0LXNoYWRvdzogaW5zZXQgMXB4IDFweCAzcHggcmdiYSgkYmxhY2ssIDAuNSk7XG4kaW5wdXQtc2hhZG93LWZvY3VzOiAwIDAgNXB4ICRtZWRpdW0tZ3JheTtcbiRpbnB1dC1jdXJzb3ItZGlzYWJsZWQ6IG5vdC1hbGxvd2VkO1xuJGlucHV0LXRyYW5zaXRpb246IGJveC1zaGFkb3cgMC41cywgYm9yZGVyLWNvbG9yIDAuMjVzIGVhc2UtaW4tb3V0O1xuJGlucHV0LW51bWJlci1zcGlubmVyczogdHJ1ZTtcbiRpbnB1dC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuJGZvcm0tYnV0dG9uLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG5cbi8vIDIxLiBMYWJlbFxuLy8gLS0tLS0tLS0tXG5cbiRsYWJlbC1iYWNrZ3JvdW5kOiAkcHJpbWFyeS1jb2xvcjtcbiRsYWJlbC1jb2xvcjogJHdoaXRlO1xuJGxhYmVsLWNvbG9yLWFsdDogJGJsYWNrO1xuJGxhYmVsLXBhbGV0dGU6ICRmb3VuZGF0aW9uLXBhbGV0dGU7XG4kbGFiZWwtZm9udC1zaXplOiAwLjhyZW07XG4kbGFiZWwtcGFkZGluZzogMC4zMzMzM3JlbSAwLjVyZW07XG4kbGFiZWwtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcblxuLy8gMjIuIE1lZGlhIE9iamVjdFxuLy8gLS0tLS0tLS0tLS0tLS0tLVxuXG4kbWVkaWFvYmplY3QtbWFyZ2luLWJvdHRvbTogJGdsb2JhbC1tYXJnaW47XG4kbWVkaWFvYmplY3Qtc2VjdGlvbi1wYWRkaW5nOiAkZ2xvYmFsLXBhZGRpbmc7XG4kbWVkaWFvYmplY3QtaW1hZ2Utd2lkdGgtc3RhY2tlZDogMTAwJTtcblxuLy8gMjMuIE1lbnVcbi8vIC0tLS0tLS0tXG5cbiRtZW51LW1hcmdpbjogMDtcbiRtZW51LW5lc3RlZC1tYXJnaW46ICRnbG9iYWwtbWVudS1uZXN0ZWQtbWFyZ2luO1xuJG1lbnUtaXRlbXMtcGFkZGluZzogJGdsb2JhbC1tZW51LXBhZGRpbmc7XG4kbWVudS1zaW1wbGUtbWFyZ2luOiAxcmVtO1xuJG1lbnUtaXRlbS1jb2xvci1hY3RpdmU6ICR3aGl0ZTtcbiRtZW51LWl0ZW0tYmFja2dyb3VuZC1hY3RpdmU6IGdldC1jb2xvcihwcmltYXJ5KTtcbiRtZW51LWljb24tc3BhY2luZzogMC4yNXJlbTtcbiRtZW51LXN0YXRlLWJhY2stY29tcGF0OiB0cnVlO1xuJG1lbnUtY2VudGVyZWQtYmFjay1jb21wYXQ6IHRydWU7XG4kbWVudS1pY29ucy1iYWNrLWNvbXBhdDogdHJ1ZTtcblxuLy8gMjQuIE1ldGVyXG4vLyAtLS0tLS0tLS1cblxuJG1ldGVyLWhlaWdodDogMXJlbTtcbiRtZXRlci1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuJG1ldGVyLWJhY2tncm91bmQ6ICRtZWRpdW0tZ3JheTtcbiRtZXRlci1maWxsLWdvb2Q6ICRzdWNjZXNzLWNvbG9yO1xuJG1ldGVyLWZpbGwtbWVkaXVtOiAkd2FybmluZy1jb2xvcjtcbiRtZXRlci1maWxsLWJhZDogJGFsZXJ0LWNvbG9yO1xuXG4vLyAyNS4gT2ZmLWNhbnZhc1xuLy8gLS0tLS0tLS0tLS0tLS1cblxuJG9mZmNhbnZhcy1zaXplczogKFxuICBzbWFsbDogMjUwcHgsXG4pO1xuJG9mZmNhbnZhcy12ZXJ0aWNhbC1zaXplczogKFxuICBzbWFsbDogMjUwcHgsXG4pO1xuJG9mZmNhbnZhcy1iYWNrZ3JvdW5kOiAkbGlnaHQtZ3JheTtcbiRvZmZjYW52YXMtc2hhZG93OiAwIDAgMTBweCByZ2JhKCRibGFjaywgMC43KTtcbiRvZmZjYW52YXMtaW5uZXItc2hhZG93LXNpemU6IDIwcHg7XG4kb2ZmY2FudmFzLWlubmVyLXNoYWRvdy1jb2xvcjogcmdiYSgkYmxhY2ssIDAuMjUpO1xuJG9mZmNhbnZhcy1vdmVybGF5LXppbmRleDogMTE7XG4kb2ZmY2FudmFzLXB1c2gtemluZGV4OiAxMjtcbiRvZmZjYW52YXMtb3ZlcmxhcC16aW5kZXg6IDEzO1xuJG9mZmNhbnZhcy1yZXZlYWwtemluZGV4OiAxMjtcbiRvZmZjYW52YXMtdHJhbnNpdGlvbi1sZW5ndGg6IDAuNXM7XG4kb2ZmY2FudmFzLXRyYW5zaXRpb24tdGltaW5nOiBlYXNlO1xuJG9mZmNhbnZhcy1maXhlZC1yZXZlYWw6IHRydWU7XG4kb2ZmY2FudmFzLWV4aXQtYmFja2dyb3VuZDogcmdiYSgkd2hpdGUsIDAuMjUpO1xuJG1haW5jb250ZW50LWNsYXNzOiAnb2ZmLWNhbnZhcy1jb250ZW50JztcblxuLy8gMjYuIE9yYml0XG4vLyAtLS0tLS0tLS1cblxuJG9yYml0LWJ1bGxldC1iYWNrZ3JvdW5kOiAkbWVkaXVtLWdyYXk7XG4kb3JiaXQtYnVsbGV0LWJhY2tncm91bmQtYWN0aXZlOiAkZGFyay1ncmF5O1xuJG9yYml0LWJ1bGxldC1kaWFtZXRlcjogMS4ycmVtO1xuJG9yYml0LWJ1bGxldC1tYXJnaW46IDAuMXJlbTtcbiRvcmJpdC1idWxsZXQtbWFyZ2luLXRvcDogMC44cmVtO1xuJG9yYml0LWJ1bGxldC1tYXJnaW4tYm90dG9tOiAwLjhyZW07XG4kb3JiaXQtY2FwdGlvbi1iYWNrZ3JvdW5kOiByZ2JhKCRibGFjaywgMC41KTtcbiRvcmJpdC1jYXB0aW9uLXBhZGRpbmc6IDFyZW07XG4kb3JiaXQtY29udHJvbC1iYWNrZ3JvdW5kLWhvdmVyOiByZ2JhKCRibGFjaywgMC41KTtcbiRvcmJpdC1jb250cm9sLXBhZGRpbmc6IDFyZW07XG4kb3JiaXQtY29udHJvbC16aW5kZXg6IDEwO1xuXG4vLyAyNy4gUGFnaW5hdGlvblxuLy8gLS0tLS0tLS0tLS0tLS1cblxuJHBhZ2luYXRpb24tZm9udC1zaXplOiByZW0tY2FsYygxNCk7XG4kcGFnaW5hdGlvbi1tYXJnaW4tYm90dG9tOiAkZ2xvYmFsLW1hcmdpbjtcbiRwYWdpbmF0aW9uLWl0ZW0tY29sb3I6ICRibGFjaztcbiRwYWdpbmF0aW9uLWl0ZW0tcGFkZGluZzogcmVtLWNhbGMoMyAxMCk7XG4kcGFnaW5hdGlvbi1pdGVtLXNwYWNpbmc6IHJlbS1jYWxjKDEpO1xuJHBhZ2luYXRpb24tcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiRwYWdpbmF0aW9uLWl0ZW0tYmFja2dyb3VuZC1ob3ZlcjogJGxpZ2h0LWdyYXk7XG4kcGFnaW5hdGlvbi1pdGVtLWJhY2tncm91bmQtY3VycmVudDogJHByaW1hcnktY29sb3I7XG4kcGFnaW5hdGlvbi1pdGVtLWNvbG9yLWN1cnJlbnQ6ICR3aGl0ZTtcbiRwYWdpbmF0aW9uLWl0ZW0tY29sb3ItZGlzYWJsZWQ6ICRtZWRpdW0tZ3JheTtcbiRwYWdpbmF0aW9uLWVsbGlwc2lzLWNvbG9yOiAkYmxhY2s7XG4kcGFnaW5hdGlvbi1tb2JpbGUtaXRlbXM6IGZhbHNlO1xuJHBhZ2luYXRpb24tbW9iaWxlLWN1cnJlbnQtaXRlbTogZmFsc2U7XG4kcGFnaW5hdGlvbi1hcnJvd3M6IHRydWU7XG5cbi8vIDI4LiBQcm9ncmVzcyBCYXJcbi8vIC0tLS0tLS0tLS0tLS0tLS1cblxuJHByb2dyZXNzLWhlaWdodDogMXJlbTtcbiRwcm9ncmVzcy1iYWNrZ3JvdW5kOiAkd2hpdGU7XG4kcHJvZ3Jlc3MtbWFyZ2luLWJvdHRvbTogJGdsb2JhbC1tYXJnaW47XG4kcHJvZ3Jlc3MtbWV0ZXItYmFja2dyb3VuZDogJHllbGxvdztcbiRwcm9ncmVzcy1yYWRpdXM6IDVweDtcblxuLy8gMjkuIFByb3RvdHlwZSBBcnJvd1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kcHJvdG90eXBlLWFycm93LWRpcmVjdGlvbnM6IChcbiAgZG93bixcbiAgdXAsXG4gIHJpZ2h0LFxuICBsZWZ0XG4pO1xuJHByb3RvdHlwZS1hcnJvdy1zaXplOiAwLjQzNzVyZW07XG4kcHJvdG90eXBlLWFycm93LWNvbG9yOiAkYmxhY2s7XG5cbi8vIDMwLiBQcm90b3R5cGUgQm9yZGVyLUJveFxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRwcm90b3R5cGUtYm9yZGVyLWJveC1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHM7XG5cbi8vIDMxLiBQcm90b3R5cGUgQm9yZGVyLU5vbmVcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuJHByb3RvdHlwZS1ib3JkZXItbm9uZS1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHM7XG5cbi8vIDMyLiBQcm90b3R5cGUgQm9yZGVyZWRcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuJHByb3RvdHlwZS1ib3JkZXJlZC1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHM7XG4kcHJvdG90eXBlLWJvcmRlci13aWR0aDogcmVtLWNhbGMoMSk7XG4kcHJvdG90eXBlLWJvcmRlci10eXBlOiBzb2xpZDtcbiRwcm90b3R5cGUtYm9yZGVyLWNvbG9yOiAkbWVkaXVtLWdyYXk7XG5cbi8vIDMzLiBQcm90b3R5cGUgRGlzcGxheVxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRwcm90b3R5cGUtZGlzcGxheS1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHM7XG4kcHJvdG90eXBlLWRpc3BsYXk6IChcbiAgaW5saW5lLFxuICBpbmxpbmUtYmxvY2ssXG4gIGJsb2NrLFxuICB0YWJsZSxcbiAgdGFibGUtY2VsbFxuKTtcblxuLy8gMzQuIFByb3RvdHlwZSBGb250LVN0eWxpbmdcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRwcm90b3R5cGUtZm9udC1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHM7XG4kcHJvdG90eXBlLXdpZGUtbGV0dGVyLXNwYWNpbmc6IHJlbS1jYWxjKDQpO1xuJHByb3RvdHlwZS1mb250LW5vcm1hbDogJGdsb2JhbC13ZWlnaHQtbm9ybWFsO1xuJHByb3RvdHlwZS1mb250LWJvbGQ6ICRnbG9iYWwtd2VpZ2h0LWJvbGQ7XG5cbi8vIDM1LiBQcm90b3R5cGUgTGlzdC1TdHlsZS1UeXBlXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kcHJvdG90eXBlLWxpc3QtYnJlYWtwb2ludHM6ICRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzO1xuJHByb3RvdHlwZS1zdHlsZS10eXBlLXVub3JkZXJlZDogKFxuICBkaXNjLFxuICBjaXJjbGUsXG4gIHNxdWFyZVxuKTtcbiRwcm90b3R5cGUtc3R5bGUtdHlwZS1vcmRlcmVkOiAoXG4gIGRlY2ltYWwsXG4gIGxvd2VyLWFscGhhLFxuICBsb3dlci1sYXRpbixcbiAgbG93ZXItcm9tYW4sXG4gIHVwcGVyLWFscGhhLFxuICB1cHBlci1sYXRpbixcbiAgdXBwZXItcm9tYW5cbik7XG5cbi8vIDM2LiBQcm90b3R5cGUgT3ZlcmZsb3dcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuJHByb3RvdHlwZS1vdmVyZmxvdy1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHM7XG4kcHJvdG90eXBlLW92ZXJmbG93OiAoXG4gIHZpc2libGUsXG4gIGhpZGRlbixcbiAgc2Nyb2xsXG4pO1xuXG4vLyAzNy4gUHJvdG90eXBlIFBvc2l0aW9uXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRwcm90b3R5cGUtcG9zaXRpb24tYnJlYWtwb2ludHM6ICRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzO1xuJHByb3RvdHlwZS1wb3NpdGlvbjogKFxuICBzdGF0aWMsXG4gIHJlbGF0aXZlLFxuICBhYnNvbHV0ZSxcbiAgZml4ZWRcbik7XG4kcHJvdG90eXBlLXBvc2l0aW9uLXotaW5kZXg6IDk3NTtcblxuLy8gMzguIFByb3RvdHlwZSBSb3VuZGVkXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuJHByb3RvdHlwZS1yb3VuZGVkLWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cztcbiRwcm90b3R5cGUtYm9yZGVyLXJhZGl1czogcmVtLWNhbGMoMyk7XG5cbi8vIDM5LiBQcm90b3R5cGUgU2VwYXJhdG9yXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kcHJvdG90eXBlLXNlcGFyYXRvci1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHM7XG4kcHJvdG90eXBlLXNlcGFyYXRvci1hbGlnbjogY2VudGVyO1xuJHByb3RvdHlwZS1zZXBhcmF0b3ItaGVpZ2h0OiByZW0tY2FsYygyKTtcbiRwcm90b3R5cGUtc2VwYXJhdG9yLXdpZHRoOiAzcmVtO1xuJHByb3RvdHlwZS1zZXBhcmF0b3ItYmFja2dyb3VuZDogJHByaW1hcnktY29sb3I7XG4kcHJvdG90eXBlLXNlcGFyYXRvci1tYXJnaW4tdG9wOiAkZ2xvYmFsLW1hcmdpbjtcblxuLy8gNDAuIFByb3RvdHlwZSBTaGFkb3dcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRwcm90b3R5cGUtc2hhZG93LWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cztcbiRwcm90b3R5cGUtYm94LXNoYWRvdzogMCAycHggNXB4IDAgcmdiYSgwLDAsMCwuMTYpLFxuICAgICAgICAgICAgICAgICAgICAgICAwIDJweCAxMHB4IDAgcmdiYSgwLDAsMCwuMTIpO1xuXG4vLyA0MS4gUHJvdG90eXBlIFNpemluZ1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuJHByb3RvdHlwZS1zaXppbmctYnJlYWtwb2ludHM6ICRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzO1xuJHByb3RvdHlwZS1zaXppbmc6IChcbiAgd2lkdGgsXG4gIGhlaWdodFxuKTtcbiRwcm90b3R5cGUtc2l6ZXM6IChcbiAgMjU6IDI1JSxcbiAgNTA6IDUwJSxcbiAgNzU6IDc1JSxcbiAgMTAwOiAxMDAlXG4pO1xuXG4vLyA0Mi4gUHJvdG90eXBlIFNwYWNpbmdcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kcHJvdG90eXBlLXNwYWNpbmctYnJlYWtwb2ludHM6ICRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzO1xuJHByb3RvdHlwZS1zcGFjZXJzLWNvdW50OiAzO1xuXG4vLyA0My4gUHJvdG90eXBlIFRleHQtRGVjb3JhdGlvblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuJHByb3RvdHlwZS1kZWNvcmF0aW9uLWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cztcbiRwcm90b3R5cGUtdGV4dC1kZWNvcmF0aW9uOiAoXG4gIG92ZXJsaW5lLFxuICB1bmRlcmxpbmUsXG4gIGxpbmUtdGhyb3VnaCxcbik7XG5cbi8vIDQ0LiBQcm90b3R5cGUgVGV4dC1UcmFuc2Zvcm1hdGlvblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRwcm90b3R5cGUtdHJhbnNmb3JtYXRpb24tYnJlYWtwb2ludHM6ICRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzO1xuJHByb3RvdHlwZS10ZXh0LXRyYW5zZm9ybWF0aW9uOiAoXG4gIGxvd2VyY2FzZSxcbiAgdXBwZXJjYXNlLFxuICBjYXBpdGFsaXplXG4pO1xuXG4vLyA0NS4gUHJvdG90eXBlIFRleHQtVXRpbGl0aWVzXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRwcm90b3R5cGUtdXRpbGl0aWVzLWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cztcbiRwcm90b3R5cGUtdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG5cbi8vIDQ2LiBSZXNwb25zaXZlIEVtYmVkXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kcmVzcG9uc2l2ZS1lbWJlZC1tYXJnaW4tYm90dG9tOiByZW0tY2FsYygxNik7XG4kcmVzcG9uc2l2ZS1lbWJlZC1yYXRpb3M6IChcbiAgZGVmYXVsdDogNCBieSAzLFxuICB3aWRlc2NyZWVuOiAxNiBieSA5LFxuKTtcblxuLy8gNDcuIFJldmVhbFxuLy8gLS0tLS0tLS0tLVxuXG4kcmV2ZWFsLWJhY2tncm91bmQ6ICR3aGl0ZTtcbiRyZXZlYWwtd2lkdGg6IDYwMHB4O1xuJHJldmVhbC1tYXgtd2lkdGg6ICRnbG9iYWwtd2lkdGg7XG4kcmV2ZWFsLXBhZGRpbmc6ICRnbG9iYWwtcGFkZGluZztcbiRyZXZlYWwtYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5O1xuJHJldmVhbC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuJHJldmVhbC16aW5kZXg6IDEwMDU7XG4kcmV2ZWFsLW92ZXJsYXktYmFja2dyb3VuZDogcmdiYSgkYmxhY2ssIDAuNDUpO1xuXG4vLyA0OC4gU2xpZGVyXG4vLyAtLS0tLS0tLS0tXG5cbiRzbGlkZXItd2lkdGgtdmVydGljYWw6IDAuNXJlbTtcbiRzbGlkZXItdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZS1pbi1vdXQ7XG4kc2xpZGVyLWhlaWdodDogMC41cmVtO1xuJHNsaWRlci1iYWNrZ3JvdW5kOiAkbGlnaHQtZ3JheTtcbiRzbGlkZXItZmlsbC1iYWNrZ3JvdW5kOiAkbWVkaXVtLWdyYXk7XG4kc2xpZGVyLWhhbmRsZS1oZWlnaHQ6IDEuNHJlbTtcbiRzbGlkZXItaGFuZGxlLXdpZHRoOiAxLjRyZW07XG4kc2xpZGVyLWhhbmRsZS1iYWNrZ3JvdW5kOiAkcHJpbWFyeS1jb2xvcjtcbiRzbGlkZXItb3BhY2l0eS1kaXNhYmxlZDogMC4yNTtcbiRzbGlkZXItcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcblxuLy8gNDkuIFN3aXRjaFxuLy8gLS0tLS0tLS0tLVxuXG4kc3dpdGNoLWJhY2tncm91bmQ6ICRtZWRpdW0tZ3JheTtcbiRzd2l0Y2gtYmFja2dyb3VuZC1hY3RpdmU6ICRwcmltYXJ5LWNvbG9yO1xuJHN3aXRjaC1oZWlnaHQ6IDJyZW07XG4kc3dpdGNoLWhlaWdodC10aW55OiAxLjVyZW07XG4kc3dpdGNoLWhlaWdodC1zbWFsbDogMS43NXJlbTtcbiRzd2l0Y2gtaGVpZ2h0LWxhcmdlOiAyLjVyZW07XG4kc3dpdGNoLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4kc3dpdGNoLW1hcmdpbjogJGdsb2JhbC1tYXJnaW47XG4kc3dpdGNoLXBhZGRsZS1iYWNrZ3JvdW5kOiAkd2hpdGU7XG4kc3dpdGNoLXBhZGRsZS1vZmZzZXQ6IDAuMjVyZW07XG4kc3dpdGNoLXBhZGRsZS1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuJHN3aXRjaC1wYWRkbGUtdHJhbnNpdGlvbjogYWxsIDAuMjVzIGVhc2Utb3V0O1xuXG4vLyA1MC4gVGFibGVcbi8vIC0tLS0tLS0tLVxuXG4kdGFibGUtYmFja2dyb3VuZDogJHdoaXRlO1xuJHRhYmxlLWNvbG9yLXNjYWxlOiA1JTtcbiR0YWJsZS1ib3JkZXI6IDFweCBzb2xpZCBzbWFydC1zY2FsZSgkdGFibGUtYmFja2dyb3VuZCwgJHRhYmxlLWNvbG9yLXNjYWxlKTtcbiR0YWJsZS1wYWRkaW5nOiByZW0tY2FsYyg4IDEwIDEwKTtcbiR0YWJsZS1ob3Zlci1zY2FsZTogMiU7XG4kdGFibGUtcm93LWhvdmVyOiBkYXJrZW4oJHRhYmxlLWJhY2tncm91bmQsICR0YWJsZS1ob3Zlci1zY2FsZSk7XG4kdGFibGUtcm93LXN0cmlwZS1ob3ZlcjogZGFya2VuKCR0YWJsZS1iYWNrZ3JvdW5kLCAkdGFibGUtY29sb3Itc2NhbGUgKyAkdGFibGUtaG92ZXItc2NhbGUpO1xuJHRhYmxlLWlzLXN0cmlwZWQ6IHRydWU7XG4kdGFibGUtc3RyaXBlZC1iYWNrZ3JvdW5kOiBzbWFydC1zY2FsZSgkdGFibGUtYmFja2dyb3VuZCwgJHRhYmxlLWNvbG9yLXNjYWxlKTtcbiR0YWJsZS1zdHJpcGU6IGV2ZW47XG4kdGFibGUtaGVhZC1iYWNrZ3JvdW5kOiBzbWFydC1zY2FsZSgkdGFibGUtYmFja2dyb3VuZCwgJHRhYmxlLWNvbG9yLXNjYWxlIC8gMik7XG4kdGFibGUtaGVhZC1yb3ctaG92ZXI6IGRhcmtlbigkdGFibGUtaGVhZC1iYWNrZ3JvdW5kLCAkdGFibGUtaG92ZXItc2NhbGUpO1xuJHRhYmxlLWZvb3QtYmFja2dyb3VuZDogc21hcnQtc2NhbGUoJHRhYmxlLWJhY2tncm91bmQsICR0YWJsZS1jb2xvci1zY2FsZSk7XG4kdGFibGUtZm9vdC1yb3ctaG92ZXI6IGRhcmtlbigkdGFibGUtZm9vdC1iYWNrZ3JvdW5kLCAkdGFibGUtaG92ZXItc2NhbGUpO1xuJHRhYmxlLWhlYWQtZm9udC1jb2xvcjogJGJvZHktZm9udC1jb2xvcjtcbiR0YWJsZS1mb290LWZvbnQtY29sb3I6ICRib2R5LWZvbnQtY29sb3I7XG4kc2hvdy1oZWFkZXItZm9yLXN0YWNrZWQ6IGZhbHNlO1xuJHRhYmxlLXN0YWNrLWJyZWFrcG9pbnQ6IG1lZGl1bTtcblxuLy8gNTEuIFRhYnNcbi8vIC0tLS0tLS0tXG5cbiR0YWItbWFyZ2luOiAwO1xuJHRhYi1iYWNrZ3JvdW5kOiAkd2hpdGU7XG4kdGFiLWNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcbiR0YWItYmFja2dyb3VuZC1hY3RpdmU6ICRsaWdodC1ncmF5O1xuJHRhYi1hY3RpdmUtY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xuJHRhYi1pdGVtLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTIpO1xuJHRhYi1pdGVtLWJhY2tncm91bmQtaG92ZXI6ICR3aGl0ZTtcbiR0YWItaXRlbS1wYWRkaW5nOiAxLjI1cmVtIDEuNXJlbTtcbiR0YWItY29udGVudC1iYWNrZ3JvdW5kOiAkd2hpdGU7XG4kdGFiLWNvbnRlbnQtYm9yZGVyOiAkbGlnaHQtZ3JheTtcbiR0YWItY29udGVudC1jb2xvcjogJGJvZHktZm9udC1jb2xvcjtcbiR0YWItY29udGVudC1wYWRkaW5nOiAxcmVtO1xuXG4vLyA1Mi4gVGh1bWJuYWlsXG4vLyAtLS0tLS0tLS0tLS0tXG5cbiR0aHVtYm5haWwtYm9yZGVyOiA0cHggc29saWQgJHdoaXRlO1xuJHRodW1ibmFpbC1tYXJnaW4tYm90dG9tOiAkZ2xvYmFsLW1hcmdpbjtcbiR0aHVtYm5haWwtc2hhZG93OiAwIDAgMCAxcHggcmdiYSgkYmxhY2ssIDAuMik7XG4kdGh1bWJuYWlsLXNoYWRvdy1ob3ZlcjogMCAwIDZweCAxcHggcmdiYSgkcHJpbWFyeS1jb2xvciwgMC41KTtcbiR0aHVtYm5haWwtdHJhbnNpdGlvbjogYm94LXNoYWRvdyAyMDBtcyBlYXNlLW91dDtcbiR0aHVtYm5haWwtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcblxuLy8gNTMuIFRpdGxlIEJhclxuLy8gLS0tLS0tLS0tLS0tLVxuXG4kdGl0bGViYXItYmFja2dyb3VuZDogJGJsYWNrO1xuJHRpdGxlYmFyLWNvbG9yOiAkd2hpdGU7XG4kdGl0bGViYXItcGFkZGluZzogMC41cmVtO1xuJHRpdGxlYmFyLXRleHQtZm9udC13ZWlnaHQ6IGJvbGQ7XG4kdGl0bGViYXItaWNvbi1jb2xvcjogJHdoaXRlO1xuJHRpdGxlYmFyLWljb24tY29sb3ItaG92ZXI6ICRtZWRpdW0tZ3JheTtcbiR0aXRsZWJhci1pY29uLXNwYWNpbmc6IDAuMjVyZW07XG5cbi8vIDU0LiBUb29sdGlwXG4vLyAtLS0tLS0tLS0tLVxuXG4kaGFzLXRpcC1jdXJzb3I6IGhlbHA7XG4kaGFzLXRpcC1mb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtYm9sZDtcbiRoYXMtdGlwLWJvcmRlci1ib3R0b206IGRvdHRlZCAxcHggJGRhcmstZ3JheTtcbiR0b29sdGlwLWJhY2tncm91bmQtY29sb3I6ICRibGFjaztcbiR0b29sdGlwLWNvbG9yOiAkd2hpdGU7XG4kdG9vbHRpcC1wYWRkaW5nOiAwLjc1cmVtO1xuJHRvb2x0aXAtbWF4LXdpZHRoOiAxMHJlbTtcbiR0b29sdGlwLWZvbnQtc2l6ZTogJHNtYWxsLWZvbnQtc2l6ZTtcbiR0b29sdGlwLXBpcC13aWR0aDogMC43NXJlbTtcbiR0b29sdGlwLXBpcC1oZWlnaHQ6ICR0b29sdGlwLXBpcC13aWR0aCAqIDAuODY2O1xuJHRvb2x0aXAtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcblxuLy8gNTUuIFRvcCBCYXJcbi8vIC0tLS0tLS0tLS0tXG5cbiR0b3BiYXItcGFkZGluZzogMC41cmVtO1xuJHRvcGJhci1iYWNrZ3JvdW5kOiAkbGlnaHQtZ3JheTtcbiR0b3BiYXItc3VibWVudS1iYWNrZ3JvdW5kOiAkdG9wYmFyLWJhY2tncm91bmQ7XG4kdG9wYmFyLXRpdGxlLXNwYWNpbmc6IDAuNXJlbSAxcmVtIDAuNXJlbSAwO1xuJHRvcGJhci1pbnB1dC13aWR0aDogMjAwcHg7XG4kdG9wYmFyLXVuc3RhY2stYnJlYWtwb2ludDogbWVkaXVtO1xuXG4vLyA1Ni4gWHkgR3JpZFxuLy8gLS0tLS0tLS0tLS1cblxuJHh5LWdyaWQ6IHRydWU7XG4kZ3JpZC1jb250YWluZXI6ICRnbG9iYWwtd2lkdGg7XG4kZ3JpZC1jb2x1bW5zOiAxMjtcbiRncmlkLW1hcmdpbi1ndXR0ZXJzOiAoXG4gIHNtYWxsOiAyMHB4LFxuICBtZWRpdW06IDMwcHhcbik7XG4kZ3JpZC1wYWRkaW5nLWd1dHRlcnM6ICRncmlkLW1hcmdpbi1ndXR0ZXJzO1xuJGdyaWQtY29udGFpbmVyLXBhZGRpbmc6ICRncmlkLXBhZGRpbmctZ3V0dGVycztcbiRncmlkLWNvbnRhaW5lci1tYXg6ICRnbG9iYWwtd2lkdGg7XG4keHktYmxvY2stZ3JpZC1tYXg6IDg7IiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGZvcm1zXG4vLy8vXG5cbkBtaXhpbiBmb3VuZGF0aW9uLWZvcm0tY2hlY2tib3gge1xuICBbdHlwZT0nZmlsZSddLFxuICBbdHlwZT0nY2hlY2tib3gnXSxcbiAgW3R5cGU9J3JhZGlvJ10ge1xuICAgIG1hcmdpbjogMCAwICRmb3JtLXNwYWNpbmc7XG4gIH1cblxuICAvLyBTdHlsZXMgZm9yIGlucHV0L2xhYmVsIHNpYmxpbmdzXG4gIFt0eXBlPSdjaGVja2JveCddICsgbGFiZWwsXG4gIFt0eXBlPSdyYWRpbyddICsgbGFiZWwge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG5cbiAgICBtYXJnaW4tI3skZ2xvYmFsLWxlZnR9OiAkZm9ybS1zcGFjaW5nICogMC41O1xuICAgIG1hcmdpbi0jeyRnbG9iYWwtcmlnaHR9OiAkZm9ybS1zcGFjaW5nO1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG5cbiAgICAmW2Zvcl0ge1xuICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIH1cbiAgfVxuXG4gIC8vIFN0eWxlcyBmb3IgaW5wdXRzIGluc2lkZSBsYWJlbHNcbiAgbGFiZWwgPiBbdHlwZT0nY2hlY2tib3gnXSxcbiAgbGFiZWwgPiBbdHlwZT0ncmFkaW8nXSB7XG4gICAgbWFyZ2luLSN7JGdsb2JhbC1yaWdodH06ICRmb3JtLXNwYWNpbmcgKiAwLjU7XG4gIH1cblxuICAvLyBOb3JtYWxpemUgZmlsZSBpbnB1dCB3aWR0aFxuICBbdHlwZT0nZmlsZSddIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGZvcm1zXG4vLy8vXG5cbi8vLyBEZWZhdWx0IGJvcmRlciBhcm91bmQgY3VzdG9tIGZpZWxkc2V0cy5cbi8vLyBAdHlwZSBCb3JkZXJcbiRmaWVsZHNldC1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHBhZGRpbmcgaW5zaWRlIGN1c3RvbSBmaWVsZHNldHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZmllbGRzZXQtcGFkZGluZzogcmVtLWNhbGMoMjApICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBtYXJnaW4gYXJvdW5kIGN1c3RvbSBmaWVsZHNldHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZmllbGRzZXQtbWFyZ2luOiByZW0tY2FsYygxOCAwKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcGFkZGluZyBiZXR3ZWVuIHRoZSBsZWdlbmQgdGV4dCBhbmQgZmllbGRzZXQgYm9yZGVyLlxuLy8vIEB0eXBlIE51bWJlclxuJGxlZ2VuZC1wYWRkaW5nOiByZW0tY2FsYygwIDMpICFkZWZhdWx0O1xuXG5AbWl4aW4gZmllbGRzZXQge1xuICBtYXJnaW46ICRmaWVsZHNldC1tYXJnaW47XG4gIHBhZGRpbmc6ICRmaWVsZHNldC1wYWRkaW5nO1xuICBib3JkZXI6ICRmaWVsZHNldC1ib3JkZXI7XG5cbiAgbGVnZW5kIHtcbiAgICAvLyBDb3ZlcnMgdXAgdGhlIGZpZWxkc2V0J3MgYm9yZGVyIHRvIGNyZWF0ZSBhcnRpZmljaWFsIHBhZGRpbmdcbiAgICBtYXJnaW46IDA7XG4gICAgbWFyZ2luLSN7JGdsb2JhbC1sZWZ0fTogcmVtLWNhbGMoLTMpO1xuICAgIHBhZGRpbmc6ICRsZWdlbmQtcGFkZGluZztcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1mb3JtLWZpZWxkc2V0IHtcbiAgZmllbGRzZXQge1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGJvcmRlcjogMDtcbiAgfVxuXG4gIGxlZ2VuZCB7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbi1ib3R0b206ICRmb3JtLXNwYWNpbmcgKiAwLjU7XG4gIH1cblxuICAuZmllbGRzZXQge1xuICAgIEBpbmNsdWRlIGZpZWxkc2V0O1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlc1xuLy8gaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgYWJpZGVcbi8vLy9cblxuLy8vIFNldHMgaWYgZXJyb3Igc3R5bGVzIHNob3VsZCBiZSBhZGRlZCB0byBpbnB1dHMuXG4vLy8gQHR5cGUgQm9vbGVhblxuJGFiaWRlLWlucHV0czogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIFNldHMgaWYgZXJyb3Igc3R5bGVzIHNob3VsZCBiZSBhZGRlZCB0byBsYWJlbHMuXG4vLy8gQHR5cGUgQm9vbGVhblxuJGFiaWRlLWxhYmVsczogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3IgdG8gdXNlIGZvciBpbnZhbGlkIHRleHQgaW5wdXRzLlxuLy8vIEB0eXBlIENvbG9yXG4kaW5wdXQtYmFja2dyb3VuZC1pbnZhbGlkOiBnZXQtY29sb3IoYWxlcnQpICFkZWZhdWx0O1xuXG4vLy8gQ29sb3IgdG8gdXNlIGZvciBsYWJlbHMgb2YgaW52YWxpZCBpbnB1dHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRmb3JtLWxhYmVsLWNvbG9yLWludmFsaWQ6IGdldC1jb2xvcihhbGVydCkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZvbnQgY29sb3IgZm9yIGZvcm0gZXJyb3IgdGV4dC5cbi8vLyBAdHlwZSBDb2xvclxuJGlucHV0LWVycm9yLWNvbG9yOiBnZXQtY29sb3IoYWxlcnQpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmb250IHNpemUgZm9yIGZvcm0gZXJyb3IgdGV4dC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRpbnB1dC1lcnJvci1mb250LXNpemU6IHJlbS1jYWxjKDEyKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCB3ZWlnaHQgZm9yIGZvcm0gZXJyb3IgdGV4dC5cbi8vLyBAdHlwZSBLZXl3b3JkXG4kaW5wdXQtZXJyb3ItZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LWJvbGQgIWRlZmF1bHQ7XG5cbi8vLyBTdHlsZXMgdGhlIGJhY2tncm91bmQgYW5kIGJvcmRlciBvZiBhbiBpbnB1dCBmaWVsZCB0byBoYXZlIGFuIGVycm9yIHN0YXRlLlxuLy8vXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGJhY2tncm91bmQgWyRhbGVydC1jb2xvcl0gLSBDb2xvciB0byB1c2UgZm9yIHRoZSBiYWNrZ3JvdW5kIGFuZCBib3JkZXIuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRiYWNrZ3JvdW5kLWxpZ2h0ZW4gWzEwJV0gLSBMaWdodG5lc3MgbGV2ZWwgb2YgdGhlIGJhY2tncm91bmQgY29sb3IuXG5AbWl4aW4gZm9ybS1pbnB1dC1lcnJvcihcbiAgJGJhY2tncm91bmQ6ICRpbnB1dC1iYWNrZ3JvdW5kLWludmFsaWQsXG4gICRiYWNrZ3JvdW5kLWxpZ2h0ZW46IDEwJVxuKSB7XG4gICY6bm90KDpmb2N1cykge1xuICAgIGJvcmRlci1jb2xvcjogJGJhY2tncm91bmQ7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogbWl4KCRiYWNrZ3JvdW5kLCAkd2hpdGUsICRiYWNrZ3JvdW5kLWxpZ2h0ZW4pO1xuXG4gICAgJjo6cGxhY2Vob2xkZXIge1xuICAgICAgY29sb3I6ICRiYWNrZ3JvdW5kO1xuICAgIH1cbiAgfVxufVxuXG4vLy8gQWRkcyBlcnJvciBzdHlsZXMgdG8gYSBmb3JtIGVsZW1lbnQsIHVzaW5nIHRoZSB2YWx1ZXMgaW4gdGhlIHNldHRpbmdzIGZpbGUuXG5AbWl4aW4gZm9ybS1lcnJvciB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIG1hcmdpbi10b3A6ICRmb3JtLXNwYWNpbmcgKiAtMC41O1xuICBtYXJnaW4tYm90dG9tOiAkZm9ybS1zcGFjaW5nO1xuXG4gIGZvbnQtc2l6ZTogJGlucHV0LWVycm9yLWZvbnQtc2l6ZTtcbiAgZm9udC13ZWlnaHQ6ICRpbnB1dC1lcnJvci1mb250LXdlaWdodDtcbiAgY29sb3I6ICRpbnB1dC1lcnJvci1jb2xvcjtcbn1cblxuQG1peGluIGZvdW5kYXRpb24tZm9ybS1lcnJvciB7XG4gIEBpZiAkYWJpZGUtaW5wdXRzIHtcbiAgICAvLyBFcnJvciBjbGFzcyBmb3IgaW52YWxpZCBpbnB1dHNcbiAgICAuaXMtaW52YWxpZC1pbnB1dCB7XG4gICAgICBAaW5jbHVkZSBmb3JtLWlucHV0LWVycm9yO1xuICAgIH1cbiAgfVxuXG4gIEBpZiAkYWJpZGUtbGFiZWxzIHtcbiAgICAvLyBFcnJvciBjbGFzcyBmb3IgbGFiZWxzIG9mIGludmFsaWQgb3V0cHV0c1xuICAgIC5pcy1pbnZhbGlkLWxhYmVsIHtcbiAgICAgIGNvbG9yOiAkZm9ybS1sYWJlbC1jb2xvci1pbnZhbGlkO1xuICAgIH1cbiAgfVxuXG4gIC8vIEZvcm0gZXJyb3IgZWxlbWVudFxuICAuZm9ybS1lcnJvciB7XG4gICAgQGluY2x1ZGUgZm9ybS1lcnJvcjtcblxuICAgICYuaXMtdmlzaWJsZSB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuQG1peGluIGZvdW5kYXRpb24tdGV4dC1hbGlnbm1lbnQge1xuICBAZWFjaCAkc2l6ZSBpbiAkYnJlYWtwb2ludC1jbGFzc2VzIHtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KCRzaXplKSB7XG4gICAgICBAZWFjaCAkYWxpZ24gaW4gKGxlZnQsIHJpZ2h0LCBjZW50ZXIsIGp1c3RpZnkpIHtcbiAgICAgICAgQGlmICRzaXplICE9ICQtemYtemVyby1icmVha3BvaW50IHtcbiAgICAgICAgICAuI3skc2l6ZX0tdGV4dC0jeyRhbGlnbn0ge1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogJGFsaWduO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBAZWxzZSB7XG4gICAgICAgICAgLnRleHQtI3skYWxpZ259IHtcbiAgICAgICAgICAgIHRleHQtYWxpZ246ICRhbGlnbjtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCB4eS1ncmlkXG4vLy8vXG5cbi8vIE1hcmdpbiBHcmlkIGNsYXNzZXNcbkBtaXhpbiB4eS1iYXNlLWdyaWQtY2xhc3NlcyB7XG5cbiAgLy8gR3JpZCBDb250YWluZXJcbiAgLmdyaWQtY29udGFpbmVyIHtcbiAgICBAaW5jbHVkZSB4eS1ncmlkLWNvbnRhaW5lcjtcblxuICAgICYuZmx1aWQge1xuICAgICAgQGluY2x1ZGUgeHktZ3JpZC1jb250YWluZXIoMTAwJSk7XG4gICAgfVxuXG4gICAgJi5mdWxsIHtcbiAgICAgIEBpbmNsdWRlIHh5LWdyaWQtY29udGFpbmVyKDEwMCUsIDApO1xuICAgIH1cbiAgfVxuXG4gIC8vIEJhc2UgZ3JpZCBzdHlsZXNcbiAgLmdyaWQteCB7XG4gICAgQGluY2x1ZGUgeHktZ3JpZDtcbiAgfVxuXG4gIC5jZWxsIHtcbiAgICBAaW5jbHVkZSB4eS1jZWxsKGZ1bGwsICRndXR0ZXItdHlwZTogbm9uZSk7XG5cbiAgICAmLmF1dG8ge1xuICAgICAgQGluY2x1ZGUgeHktY2VsbC1iYXNlKGF1dG8pO1xuICAgIH1cblxuICAgICYuc2hyaW5rIHtcbiAgICAgIEBpbmNsdWRlIHh5LWNlbGwtYmFzZShzaHJpbmspO1xuICAgIH1cblxuICB9XG4gIC5ncmlkLXgge1xuICAgID4gLmF1dG8ge1xuICAgICAgQGluY2x1ZGUgeHktY2VsbC1zaXplKGF1dG8sICRndXR0ZXItdHlwZTogbm9uZSk7XG4gICAgfVxuXG4gICAgPiAuc2hyaW5rIHtcbiAgICAgIEBpbmNsdWRlIHh5LWNlbGwtc2l6ZShzaHJpbmssICRndXR0ZXItdHlwZTogbm9uZSk7XG4gICAgfVxuICB9XG5cbiAgLy8gQXV0byB3aWR0aFxuICBAaW5jbHVkZSAtemYtZWFjaC1icmVha3BvaW50KCkge1xuICAgIC8vIFRoaXMgaXMgYSBiaXQgb2YgYSBoYWNrL3dvcmthcm91bmQsIHNlZSB0aGVzZSBpc3N1ZXMgJiBQUnMgZm9yIHRoZSBiYWNrc3Rvcnk6XG4gICAgLy8gaHR0cHM6Ly9naXRodWIuY29tL2ZvdW5kYXRpb24vZm91bmRhdGlvbi1zaXRlcy9pc3N1ZXMvMTAyNDRcbiAgICAvLyBodHRwczovL2dpdGh1Yi5jb20vZm91bmRhdGlvbi9mb3VuZGF0aW9uLXNpdGVzL3B1bGwvMTAyMjIgYW5kXG4gICAgLy8gaHR0cHM6Ly9naXRodWIuY29tL2ZvdW5kYXRpb24vZm91bmRhdGlvbi1zaXRlcy9wdWxsLzEwMTY0XG4gICAgLmdyaWQteCB7XG4gICAgICAkc3RyOiBcIj4gLiN7JC16Zi1zaXplfS1zaHJpbmssID4gLiN7JC16Zi1zaXplfS1mdWxsXCI7XG4gICAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICRncmlkLWNvbHVtbnMge1xuICAgICAgICAkc3RyOiAkc3RyICsgXCIsID4gLiN7JC16Zi1zaXplfS0jeyRpfVwiO1xuICAgICAgfVxuICAgICAgI3skc3RyfSB7XG4gICAgICAgIGZsZXgtYmFzaXM6IGF1dG87XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgLXpmLWVhY2gtYnJlYWtwb2ludCgpIHtcbiAgICAvLyBSZXNwb25zaXZlIFwiYXV0b1wiIG1vZGlmaWVyXG4gICAgQGlmIG5vdCgkLXpmLXNpemUgPT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQpIHtcbiAgICAgIC5ncmlkLXggPiAuI3skLXpmLXNpemV9LWF1dG8ge1xuICAgICAgICBAaW5jbHVkZSB4eS1jZWxsKGF1dG8sICRndXR0ZXItdHlwZTogbm9uZSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJS14eS1jZWxsLWJhc2Utc2hyaW5rLWhvcml6b250YWwtI3skLXpmLXNpemV9IHtcbiAgICAgIEBpbmNsdWRlIHh5LWNlbGwtYmFzZShzaHJpbmspO1xuICAgIH1cblxuICAgIC8vIFJlc3BvbnNpdmUgXCJzaHJpbmtcIiBtb2RpZmllclxuICAgIEBpZiBub3QoJC16Zi1zaXplID09ICQtemYtemVyby1icmVha3BvaW50KSB7XG4gICAgICAuZ3JpZC14ID4gLiN7JC16Zi1zaXplfS1zaHJpbmsge1xuICAgICAgICBAZXh0ZW5kICUteHktY2VsbC1iYXNlLXNocmluay1ob3Jpem9udGFsLSN7JC16Zi1zaXplfTtcbiAgICAgICAgQGluY2x1ZGUgeHktY2VsbC1zaXplKHNocmluaywgJGd1dHRlci10eXBlOiBub25lKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBSZXNwb25zaXZlIHdpZHRoIG1vZGlmaWVyc1xuICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJGdyaWQtY29sdW1ucyB7XG4gICAgICAvLyBTaXppbmcgKHBlcmNlbnRhZ2UpXG4gICAgICAuZ3JpZC14ID4gLiN7JC16Zi1zaXplfS0jeyRpfSB7XG4gICAgICAgIEBleHRlbmQgJS14eS1jZWxsLWJhc2Utc2hyaW5rLWhvcml6b250YWwtI3skLXpmLXNpemV9O1xuICAgICAgICBAaW5jbHVkZSB4eS1jZWxsLXNpemUoJGksICRndXR0ZXItdHlwZTogbm9uZSk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gUmVzZXQgd2lkdGggd2hlbiB1c2luZyBgLmdyaWQtbWFyZ2luLXhgIG5vdCBvbiBgLmdyaWQteGBcbiAgLmdyaWQtbWFyZ2luLXg6bm90KC5ncmlkLXgpID4gLmNlbGwge1xuICAgIHdpZHRoOiBhdXRvO1xuICB9XG5cbiAgLy8gUmVzZXQgaGVpZ2h0IHdoZW4gdXNpbmcgYC5ncmlkLW1hcmdpbi15YCBub3Qgb24gYC5ncmlkLXlgXG4gIC5ncmlkLW1hcmdpbi15Om5vdCguZ3JpZC15KSA+IC5jZWxsIHtcbiAgICBoZWlnaHQ6IGF1dG87XG4gIH1cbn1cblxuQG1peGluIC14eS1icmVha3BvaW50LWNlbGwtY2xhc3NlcygkY2xhc3MtYnJlYWtwb2ludCwgJGd1dHRlci1icmVha3BvaW50LCAkdmVydGljYWwpIHtcbiAgJHByZWZpeDogaWYoJGNsYXNzLWJyZWFrcG9pbnQgPT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQsICcnLCAnI3skY2xhc3MtYnJlYWtwb2ludH0tJyk7XG4gID4gLiN7JHByZWZpeH1hdXRvIHtcbiAgICBAaW5jbHVkZSB4eS1jZWxsLXNpemUoYXV0bywgJHZlcnRpY2FsOiAkdmVydGljYWwpO1xuICB9XG5cbiAgPiAuI3skcHJlZml4fXNocmluayB7XG4gICAgQGluY2x1ZGUgeHktY2VsbC1zaXplKHNocmluaywgJHZlcnRpY2FsOiAkdmVydGljYWwpO1xuICB9XG5cbiAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkZ3JpZC1jb2x1bW5zIHtcbiAgICAvLyBTaXppbmcgKHBlcmNlbnRhZ2UpXG4gICAgJGNsYXNzbmFtZTogaWYoJHZlcnRpY2FsLCAnLiN7JGNsYXNzLWJyZWFrcG9pbnR9LSN7JGl9JywgJy4jeyRjbGFzcy1icmVha3BvaW50fS0jeyRpfScpO1xuXG4gICAgPiAjeyRjbGFzc25hbWV9IHtcbiAgICAgIEBpbmNsdWRlIHh5LWNlbGwtc2l6ZSgkaSwgJHZlcnRpY2FsOiAkdmVydGljYWwpO1xuICAgIH1cbiAgfVxufVxuXG4vLyBNYXJnaW4gR3JpZCBjbGFzc2VzXG5AbWl4aW4geHktbWFyZ2luLWdyaWQtY2xhc3NlcyhcbiAgJGd1dHRlci1wb3NpdGlvbjogbGVmdCByaWdodCxcbiAgJHZlcnRpY2FsOiBmYWxzZSxcbiAgJHdyYXBwaW5nLXNlbGVjdG9yOiAnLmdyaWQtbWFyZ2luLXgnXG4pe1xuICAjeyR3cmFwcGluZy1zZWxlY3Rvcn0ge1xuICAgIEBpbmNsdWRlIHh5LWd1dHRlcnMoJG5lZ2F0aXZlOiB0cnVlLCAkZ3V0dGVyLXBvc2l0aW9uOiAkZ3V0dGVyLXBvc2l0aW9uKTtcblxuICAgIC8vIEJhc2UgY2VsbCBzdHlsZXNcbiAgICA+IC5jZWxsIHtcbiAgICAgIEBpbmNsdWRlIHh5LWNlbGwoJHZlcnRpY2FsOiAkdmVydGljYWwsICRvdXRwdXQ6IChzaXplIGd1dHRlcnMpKTtcbiAgICB9XG5cbiAgICAvLyBiYXNlIHN0eWxlcyBuZWVkIHRvIGFsbCBiZSBiZWZvcmUgdGhlIGF1dG8gYW5kIHNocmluayBzdHlsZXNcbiAgICBAaW5jbHVkZSAtemYtZWFjaC1icmVha3BvaW50KCkge1xuICAgICAgQGlmKHR5cGUtb2YoJGdyaWQtbWFyZ2luLWd1dHRlcnMpID09ICdtYXAnIGFuZCBtYXAtaGFzLWtleSgkZ3JpZC1tYXJnaW4tZ3V0dGVycywgJC16Zi1zaXplKSBhbmQgJC16Zi1zaXplICE9ICQtemYtemVyby1icmVha3BvaW50KSB7XG4gICAgICAgID4gLmNlbGwge1xuICAgICAgICAgIEBpbmNsdWRlIHh5LWNlbGwoJHZlcnRpY2FsOiAkdmVydGljYWwsICRvdXRwdXQ6IChzaXplIGd1dHRlcnMpKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIEBpbmNsdWRlIC16Zi1lYWNoLWJyZWFrcG9pbnQoKSB7XG5cbiAgICAgIC8vIFRoaXMgaXMgcHVyZWx5IGZvciByZXNwb25zaXZlIGd1dHRlcnMgLSB0aGUgbWFyZ2luIGdyaWQgaGFzIHRvIGdvIGJhY2sgYW5kIGFkanVzdCB3aWR0aHMgKG9yIGhlaWdodHMpXG4gICAgICAvLyBmb3IgYWxsIHByaW9yIGJyZWFrcG9pbnRzLlxuICAgICAgLy8gQXMgdGhlaXIgZ3V0dGVyIGlzIGRlZmluZWQgd2l0aCB0aGVpciB3aWR0aC9oZWlnaHQsIGV2ZW4gYnJlYWtwb2ludCB3aXRob3V0IGEgbmV3IG1hcmdpbiBtdXN0IGJlXG4gICAgICAvLyBnZW5lcmF0ZWQgdG8gbm90IGhhdmluZyB0aGVpciB3aWR0aC9oZWlnaHQgb3ZlcnJpZGVkIGJ5IHJlLWFkanVzdGVkIHNtYWxsZXIgYnJlYWtwb2ludHMuXG4gICAgICBAaWYodHlwZS1vZigkZ3JpZC1tYXJnaW4tZ3V0dGVycykgPT0gJ21hcCcgYW5kIG1hcC1oYXMta2V5KCRncmlkLW1hcmdpbi1ndXR0ZXJzLCAkLXpmLXNpemUpKSB7XG4gICAgICAgIEBlYWNoICRicCBpbiAtemYtYnJlYWtwb2ludHMtbGVzcy10aGFuKCQtemYtc2l6ZSkge1xuICAgICAgICAgIEBpbmNsdWRlIC14eS1icmVha3BvaW50LWNlbGwtY2xhc3NlcygkYnAsICQtemYtc2l6ZSwgJHZlcnRpY2FsKTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBAaW5jbHVkZSAteHktYnJlYWtwb2ludC1jZWxsLWNsYXNzZXMoJC16Zi1zaXplLCAkLXpmLXNpemUsICR2ZXJ0aWNhbCk7XG4gICAgfVxuICB9XG59XG5cbi8vIFBhZGRpbmcgR3JpZCBjbGFzc2VzXG5AbWl4aW4geHktcGFkZGluZy1ncmlkLWNsYXNzZXMge1xuICAuZ3JpZC1wYWRkaW5nLXgge1xuXG4gICAgLy8gTmVnYXRpdmUgbWFyZ2luIGZvciBuZXN0ZWQgZ3JpZHNcbiAgICAuZ3JpZC1wYWRkaW5nLXgge1xuICAgICAgQGluY2x1ZGUgeHktZ3V0dGVycygkbmVnYXRpdmU6IHRydWUpO1xuICAgIH1cblxuICAgIC8vIE5lZ2F0aXZlIG1hcmdpbiBmb3IgZ3JpZHMgd2l0aGluIGBncmlkLWNvbnRhaW5lci9ncmlkLWNvbnRhaW5lci5mbHVpZGBcbiAgICAvLyBUaGlzIGFsbG93cyBtYXJnaW4gYW5kIHBhZGRpbmcgZ3JpZHMgdG8gbGluZSB1cCB3aXRoIGVhY2hvdGhlclxuICAgIC5ncmlkLWNvbnRhaW5lcjpub3QoLmZ1bGwpID4gJiB7XG4gICAgICBAaW5jbHVkZSB4eS1ndXR0ZXJzKCRuZWdhdGl2ZTogdHJ1ZSk7XG4gICAgfVxuXG4gICAgLy8gQmFzZSBjZWxsIHN0eWxlc1xuICAgID4gLmNlbGwge1xuICAgICAgQGluY2x1ZGUgeHktZ3V0dGVycygkZ3V0dGVyczogJGdyaWQtcGFkZGluZy1ndXR0ZXJzLCAkZ3V0dGVyLXR5cGU6IHBhZGRpbmcpO1xuICAgIH1cbiAgfVxufVxuXG4vLyBCbG9jayBHcmlkIGNsYXNzZXNcbkBtaXhpbiB4eS1ibG9jay1ncmlkLWNsYXNzZXMoJG1hcmdpbi1ncmlkOiB0cnVlLCAkcGFkZGluZy1ncmlkOiB0cnVlKSB7XG4gIEBpZiAkcGFkZGluZy1ncmlkIHtcbiAgICBAaW5jbHVkZSAtemYtZWFjaC1icmVha3BvaW50IHtcbiAgICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJHh5LWJsb2NrLWdyaWQtbWF4IHtcbiAgICAgICAgLiN7JC16Zi1zaXplfS11cC0jeyRpfSB7XG4gICAgICAgICAgQGluY2x1ZGUgeHktZ3JpZC1sYXlvdXQoJG46ICRpLCAkc2VsZWN0b3I6ICcuY2VsbCcsICRndXR0ZXItdHlwZTogcGFkZGluZywgJG91dHB1dDogKHNpemUpKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIEBpZiAkbWFyZ2luLWdyaWQge1xuICAgIEBpbmNsdWRlIC16Zi1lYWNoLWJyZWFrcG9pbnQge1xuICAgICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkeHktYmxvY2stZ3JpZC1tYXgge1xuICAgICAgICAvLyBUaGlzIGlzIHB1cmVseSBmb3IgcmVzcG9uc2l2ZSBndXR0ZXJzIC0gdGhlIG1hcmdpbiBncmlkIGhhcyB0byBnbyBiYWNrIGFuZCBhZGp1c3Qgd2lkdGhzIChvciBoZWlnaHRzKVxuICAgICAgICAvLyBmb3IgcHJpb3IgYnJlYWtwb2ludHMgYmFzZWQgb24gdGhlIHJlc3BvbnNpdmUgZ3V0dGVyLlxuICAgICAgICBAaWYodHlwZS1vZigkZ3JpZC1tYXJnaW4tZ3V0dGVycykgPT0gJ21hcCcgYW5kIG1hcC1oYXMta2V5KCRncmlkLW1hcmdpbi1ndXR0ZXJzLCAkLXpmLXNpemUpKSB7XG4gICAgICAgICAgQGVhY2ggJGJwIGluIC16Zi1icmVha3BvaW50cy1sZXNzLXRoYW4oJC16Zi1zaXplKSB7XG4gICAgICAgICAgICBAaWYobWFwLWhhcy1rZXkoJGdyaWQtbWFyZ2luLWd1dHRlcnMsICRicCkpIHtcbiAgICAgICAgICAgICAgLmdyaWQtbWFyZ2luLXguI3skYnB9LXVwLSN7JGl9IHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSB4eS1ncmlkLWxheW91dCgkbjogJGksICRzZWxlY3RvcjogJy5jZWxsJywgJGd1dHRlci10eXBlOiBtYXJnaW4sICRvdXRwdXQ6IChzaXplKSk7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJHh5LWJsb2NrLWdyaWQtbWF4IHtcbiAgICAgICAgLmdyaWQtbWFyZ2luLXguI3skLXpmLXNpemV9LXVwLSN7JGl9IHtcbiAgICAgICAgICBAaW5jbHVkZSB4eS1ncmlkLWxheW91dCgkbjogJGksICRzZWxlY3RvcjogJy5jZWxsJywgJGd1dHRlci10eXBlOiBtYXJnaW4sICRvdXRwdXQ6IChzaXplKSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8gQ29sbGFwc2UgY2xhc3Nlc1xuQG1peGluIHh5LWNvbGxhcHNlLWdyaWQtY2xhc3NlcygkbWFyZ2luLWdyaWQ6IHRydWUsICRwYWRkaW5nLWdyaWQ6IHRydWUpIHtcbiAgQGVhY2ggJGJwIGluICRicmVha3BvaW50LWNsYXNzZXMge1xuICAgIEBpZiAkbWFyZ2luLWdyaWQge1xuICAgICAgLiN7JGJwfS1tYXJnaW4tY29sbGFwc2Uge1xuICAgICAgICBAaW5jbHVkZSB4eS1ncmlkLWNvbGxhcHNlKCRndXR0ZXItdHlwZTogbWFyZ2luLCAkbWluLWJyZWFrcG9pbnQ6ICRicCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgQGlmICRwYWRkaW5nLWdyaWQge1xuICAgICAgLiN7JGJwfS1wYWRkaW5nLWNvbGxhcHNlIHtcbiAgICAgICAgQGluY2x1ZGUgeHktZ3JpZC1jb2xsYXBzZSgkZ3V0dGVyLXR5cGU6IHBhZGRpbmcsICRtaW4tYnJlYWtwb2ludDogJGJwKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8gT2Zmc2V0IGNsYXNzZXNcbkBtaXhpbiB4eS1vZmZzZXQtY2VsbC1jbGFzc2VzIHtcbiAgQGluY2x1ZGUgLXpmLWVhY2gtYnJlYWtwb2ludCB7XG4gICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkZ3JpZC1jb2x1bW5zIHtcbiAgICAgIC8vIE9mZnNldHNcbiAgICAgICRvOiAkaSAtIDE7XG5cbiAgICAgIC4jeyQtemYtc2l6ZX0tb2Zmc2V0LSN7JG99IHtcbiAgICAgICAgQGluY2x1ZGUgeHktY2VsbC1vZmZzZXQoJG8sICRndXR0ZXJzOiAkZ3JpZC1wYWRkaW5nLWd1dHRlcnMsICRndXR0ZXItdHlwZTogcGFkZGluZyk7XG4gICAgICB9XG5cbiAgICAgIC5ncmlkLW1hcmdpbi14ID4gLiN7JC16Zi1zaXplfS1vZmZzZXQtI3skb30ge1xuICAgICAgICBAaW5jbHVkZSB4eS1jZWxsLW9mZnNldCgkbyk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vIFZlcnRpY2FsIEdyaWQgY2xhc3Nlc1xuQG1peGluIHh5LXZlcnRpY2FsLWdyaWQtY2xhc3NlcyhcbiAgJG1hcmdpbi1ncmlkOiB0cnVlLFxuICAkcGFkZGluZy1ncmlkOiB0cnVlXG4pIHtcblxuICAvLyBAaW5jbHVkZSAtemYtZWFjaC1icmVha3BvaW50KCkge1xuICAvLyAgIEBpZiBub3QoJC16Zi1zaXplID09ICQtemYtemVyby1icmVha3BvaW50KSB7XG4gIC8vICAgfVxuICAvLyB9XG5cbiAgLmdyaWQteSB7XG4gICAgQGluY2x1ZGUgeHktZ3JpZCh2ZXJ0aWNhbCwgZmFsc2UpO1xuXG5cbiAgICA+IC5jZWxsIHtcbiAgICAgIEBpbmNsdWRlIHh5LWNlbGwtcmVzZXQoKTtcbiAgICB9XG5cbiAgICA+IC5hdXRvIHtcbiAgICAgIEBpbmNsdWRlIHh5LWNlbGwtc2l6ZShhdXRvLCAkZ3V0dGVyLXR5cGU6IG5vbmUsICR2ZXJ0aWNhbDogdHJ1ZSk7XG4gICAgfVxuXG4gICAgPiAuc2hyaW5rIHtcbiAgICAgIEBpbmNsdWRlIHh5LWNlbGwtc2l6ZShzaHJpbmssICRndXR0ZXItdHlwZTogbm9uZSwgJHZlcnRpY2FsOiB0cnVlKTtcbiAgICB9XG5cblxuICAgIEBpbmNsdWRlIC16Zi1lYWNoLWJyZWFrcG9pbnQoKSB7XG4gICAgICAvLyBUaGlzIGlzIGEgYml0IG9mIGEgaGFjay93b3JrYXJvdW5kLCBzZWUgdGhlc2UgaXNzdWVzIGFuZCBQUnMgZm9yIHRoZSBiYWNrc3Rvcnk6XG4gICAgICAvLyBodHRwczovL2dpdGh1Yi5jb20vZm91bmRhdGlvbi9mb3VuZGF0aW9uLXNpdGVzL2lzc3Vlcy8xMDI0NFxuICAgICAgLy8gaHR0cHM6Ly9naXRodWIuY29tL2ZvdW5kYXRpb24vZm91bmRhdGlvbi1zaXRlcy9wdWxsLzEwMjIyIGFuZFxuICAgICAgLy8gaHR0cHM6Ly9naXRodWIuY29tL2ZvdW5kYXRpb24vZm91bmRhdGlvbi1zaXRlcy9wdWxsLzEwMTY0XG4gICAgICAkc3RyOiBcIj4gLiN7JC16Zi1zaXplfS1zaHJpbmssID4gLiN7JC16Zi1zaXplfS1mdWxsXCI7XG4gICAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICRncmlkLWNvbHVtbnMge1xuICAgICAgICAkc3RyOiAkc3RyICsgXCIsID4gLiN7JC16Zi1zaXplfS0jeyRpfVwiO1xuICAgICAgfVxuICAgICAgI3skc3RyfSB7XG4gICAgICAgIGZsZXgtYmFzaXM6IGF1dG87XG4gICAgICB9XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgLXpmLWVhY2gtYnJlYWtwb2ludCgpIHtcbiAgICAgIC8vIFJlc3BvbnNpdmUgXCJhdXRvXCIgbW9kaWZpZXJcbiAgICAgIEBpZiBub3QoJC16Zi1zaXplID09ICQtemYtemVyby1icmVha3BvaW50KSB7XG4gICAgICAgID4gLiN7JC16Zi1zaXplfS1hdXRvIHtcbiAgICAgICAgICBAaW5jbHVkZSB4eS1jZWxsKGF1dG8sICRndXR0ZXItdHlwZTogbm9uZSwgJHZlcnRpY2FsOiB0cnVlKTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAlLXh5LWNlbGwtYmFzZS1zaHJpbmstdmVydGljYWwtI3skLXpmLXNpemV9IHtcbiAgICAgICAgQGluY2x1ZGUgeHktY2VsbC1iYXNlKHNocmluayk7XG4gICAgICB9XG5cbiAgICAgIC8vIFJlc3BvbnNpdmUgXCJzaHJpbmtcIiBtb2RpZmllclxuICAgICAgQGlmIG5vdCgkLXpmLXNpemUgPT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQpIHtcbiAgICAgICAgPiAuI3skLXpmLXNpemV9LXNocmluayB7XG4gICAgICAgICAgQGV4dGVuZCAlLXh5LWNlbGwtYmFzZS1zaHJpbmstdmVydGljYWwtI3skLXpmLXNpemV9O1xuICAgICAgICAgIEBpbmNsdWRlIHh5LWNlbGwtc2l6ZShzaHJpbmssICRndXR0ZXItdHlwZTogbm9uZSwgJHZlcnRpY2FsOiB0cnVlKTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAvLyBSZXNwb25zaXZlIHdpZHRoIG1vZGlmaWVyc1xuICAgICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkZ3JpZC1jb2x1bW5zIHtcbiAgICAgICAgLy8gU2l6aW5nIChwZXJjZW50YWdlKVxuICAgICAgICA+IC4jeyQtemYtc2l6ZX0tI3skaX0ge1xuICAgICAgICAgIEBleHRlbmQgJS14eS1jZWxsLWJhc2Utc2hyaW5rLXZlcnRpY2FsLSN7JC16Zi1zaXplfTtcbiAgICAgICAgICBAaW5jbHVkZSB4eS1jZWxsLXNpemUoJGksICRndXR0ZXItdHlwZTogbm9uZSwgJHZlcnRpY2FsOiB0cnVlKTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgfVxuICB9XG5cbiAgQGlmICRwYWRkaW5nLWdyaWQge1xuICAgIC5ncmlkLXBhZGRpbmcteSB7XG4gICAgICAvLyBOZWdhdGl2ZSBtYXJnaW4gZm9yIG5lc3RlZCBncmlkc1xuICAgICAgLmdyaWQtcGFkZGluZy15IHtcbiAgICAgICAgQGluY2x1ZGUgeHktZ3V0dGVycygkbmVnYXRpdmU6IHRydWUsICRndXR0ZXItcG9zaXRpb246IHRvcCBib3R0b20pO1xuICAgICAgfVxuXG4gICAgICAvLyBCYXNlIGNlbGwgc3R5bGVzXG4gICAgICA+IC5jZWxsIHtcbiAgICAgICAgQGluY2x1ZGUgeHktZ3V0dGVycygkZ3V0dGVyczogJGdyaWQtcGFkZGluZy1ndXR0ZXJzLCAkZ3V0dGVyLXR5cGU6IHBhZGRpbmcsICRndXR0ZXItcG9zaXRpb246IHRvcCBib3R0b20pO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIEBpZiAkbWFyZ2luLWdyaWQge1xuICAgIEBpbmNsdWRlIHh5LW1hcmdpbi1ncmlkLWNsYXNzZXModG9wIGJvdHRvbSwgdHJ1ZSwgJy5ncmlkLW1hcmdpbi15Jyk7XG4gIH1cblxufVxuXG5AbWl4aW4geHktZnJhbWUtZ3JpZC1jbGFzc2VzKCR2ZXJ0aWNhbC1ncmlkOiB0cnVlLCAkbWFyZ2luLWdyaWQ6IHRydWUpIHtcbiAgLy8gRnJhbWVkIGdyaWQgc3R5bGVzXG4gIC5ncmlkLWZyYW1lIHtcbiAgICBAaW5jbHVkZSB4eS1ncmlkLWZyYW1lO1xuICB9XG5cbiAgLmNlbGwgLmdyaWQtZnJhbWUge1xuICAgIHdpZHRoOiAxMDAlOyAvLyBTYW1lIGFzIGluY2x1ZGUgd2l0aCAkbmVzdGVkLCBidXQgd2l0aCBsZXNzIGNzc1xuICB9XG5cbiAgLmNlbGwtYmxvY2sge1xuICAgIEBpbmNsdWRlIHh5LWNlbGwtYmxvY2soKTtcbiAgfVxuXG4gIC5jZWxsLWJsb2NrLXkge1xuICAgIEBpbmNsdWRlIHh5LWNlbGwtYmxvY2sodHJ1ZSk7XG4gIH1cblxuXG4gIC5jZWxsLWJsb2NrLWNvbnRhaW5lciB7XG4gICAgQGluY2x1ZGUgeHktY2VsbC1ibG9jay1jb250YWluZXIoKTtcbiAgfVxuXG5cbiAgQGluY2x1ZGUgLXpmLWVhY2gtYnJlYWtwb2ludChmYWxzZSkge1xuXG4gICAgLiN7JC16Zi1zaXplfS1ncmlkLWZyYW1lIHtcbiAgICAgIEBpbmNsdWRlIHh5LWdyaWQtZnJhbWU7XG4gICAgfVxuXG4gICAgLmNlbGwgLiN7JC16Zi1zaXplfS1ncmlkLWZyYW1lIHtcbiAgICAgIHdpZHRoOiAxMDAlOyAvLyBTYW1lIGFzIGluY2x1ZGUgd2l0aCAkbmVzdGVkLCBidXQgd2l0aCBsZXNzIGNzc1xuICAgIH1cblxuICAgIC4jeyQtemYtc2l6ZX0tY2VsbC1ibG9jayB7XG4gICAgICBAaW5jbHVkZSB4eS1jZWxsLWJsb2NrKCk7XG4gICAgfVxuXG4gICAgLiN7JC16Zi1zaXplfS1jZWxsLWJsb2NrLWNvbnRhaW5lciB7XG4gICAgICBAaW5jbHVkZSB4eS1jZWxsLWJsb2NrLWNvbnRhaW5lcigpO1xuICAgIH1cblxuICAgIC4jeyQtemYtc2l6ZX0tY2VsbC1ibG9jay15IHtcbiAgICAgIEBpbmNsdWRlIHh5LWNlbGwtYmxvY2sodHJ1ZSk7XG4gICAgfVxuICB9XG5cbiAgQGlmICR2ZXJ0aWNhbC1ncmlkIHtcbiAgICAuZ3JpZC15IHtcbiAgICAgICYuZ3JpZC1mcmFtZSB7XG4gICAgICAgIEBpbmNsdWRlIHh5LWdyaWQtZnJhbWUodHJ1ZSk7XG4gICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgfVxuXG4gICAgICBAaW5jbHVkZSAtemYtZWFjaC1icmVha3BvaW50KGZhbHNlKSB7XG4gICAgICAgICYuI3skLXpmLXNpemV9LWdyaWQtZnJhbWUge1xuICAgICAgICAgIEBpbmNsdWRlIHh5LWdyaWQtZnJhbWUodHJ1ZSk7XG4gICAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgIH1cblxuICAgICAgfVxuICAgIH1cbiAgICAuY2VsbCB7XG4gICAgICAuZ3JpZC15LmdyaWQtZnJhbWUge1xuICAgICAgICBoZWlnaHQ6IDEwMCU7IC8vIFNhbWUgYXMgaW5jbHVkZSB3aXRoICRuZXN0ZWQsIGJ1dCB3aXRoIGxlc3MgY3NzXG4gICAgICB9XG4gICAgICBAaW5jbHVkZSAtemYtZWFjaC1icmVha3BvaW50KGZhbHNlKSB7XG4gICAgICAgIC5ncmlkLXkuI3skLXpmLXNpemV9LWdyaWQtZnJhbWUge1xuICAgICAgICAgIGhlaWdodDogMTAwJTsgLy8gU2FtZSBhcyBpbmNsdWRlIHdpdGggJG5lc3RlZCwgYnV0IHdpdGggbGVzcyBjc3NcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuICBAaWYgJG1hcmdpbi1ncmlkIHtcbiAgICBAaW5jbHVkZSB4eS1tYXJnaW4tZ3JpZC1jbGFzc2VzKHRvcCBib3R0b20sIHRydWUsICcuZ3JpZC1tYXJnaW4teScpO1xuICAgIC5ncmlkLWZyYW1lLmdyaWQtbWFyZ2luLXkge1xuICAgICAgQGluY2x1ZGUgeHktZ3JpZC1mcmFtZSh0cnVlLCBmYWxzZSwgJGdyaWQtbWFyZ2luLWd1dHRlcnMsICRpbmNsdWRlLWJhc2U6IGZhbHNlKTtcbiAgICB9XG4gICAgQGluY2x1ZGUgLXpmLWVhY2gtYnJlYWtwb2ludChmYWxzZSkge1xuICAgICAgLmdyaWQtbWFyZ2luLXkuI3skLXpmLXNpemV9LWdyaWQtZnJhbWUge1xuICAgICAgICBAaW5jbHVkZSB4eS1ncmlkLWZyYW1lKHRydWUsIGZhbHNlLCAkZ3JpZC1tYXJnaW4tZ3V0dGVycywgJC16Zi1zaXplLCBmYWxzZSk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vIEZpbmFsIGNsYXNzZXNcbkBtaXhpbiBmb3VuZGF0aW9uLXh5LWdyaWQtY2xhc3NlcyhcbiAgJGJhc2UtZ3JpZDogdHJ1ZSxcbiAgJG1hcmdpbi1ncmlkOiB0cnVlLFxuICAkcGFkZGluZy1ncmlkOiB0cnVlLFxuICAkYmxvY2stZ3JpZDogdHJ1ZSxcbiAgJGNvbGxhcHNlOiB0cnVlLFxuICAkb2Zmc2V0OiB0cnVlLFxuICAkdmVydGljYWwtZ3JpZDogdHJ1ZSxcbiAgJGZyYW1lLWdyaWQ6IHRydWVcbikge1xuXG4gIC8vIEJhc2UgZ3JpZCBzdHlsZXNcbiAgQGlmKCRiYXNlLWdyaWQpIHtcbiAgICBAaW5jbHVkZSB4eS1iYXNlLWdyaWQtY2xhc3NlcygpO1xuICB9XG5cbiAgLy8gTWFyZ2luIGdyaWRcbiAgQGlmKCRtYXJnaW4tZ3JpZCkge1xuICAgIEBpbmNsdWRlIHh5LW1hcmdpbi1ncmlkLWNsYXNzZXMoKTtcbiAgfVxuXG4gIC8vIFBhZGRpbmcgZ3JpZFxuICBAaWYoJHBhZGRpbmctZ3JpZCkge1xuICAgIEBpbmNsdWRlIHh5LXBhZGRpbmctZ3JpZC1jbGFzc2VzKCk7XG4gIH1cblxuICAvLyBCbG9jayBncmlkXG4gIEBpZigkYmxvY2stZ3JpZCkge1xuICAgIEBpbmNsdWRlIHh5LWJsb2NrLWdyaWQtY2xhc3NlcygkbWFyZ2luLWdyaWQsICRwYWRkaW5nLWdyaWQpO1xuICB9XG5cbiAgLy8gQ29sbGFwc2UgZ3V0dGVyc1xuICBAaWYoJGNvbGxhcHNlKSB7XG4gICAgQGluY2x1ZGUgeHktY29sbGFwc2UtZ3JpZC1jbGFzc2VzKCRtYXJnaW4tZ3JpZCwgJHBhZGRpbmctZ3JpZCk7XG4gIH1cblxuICAvLyBPZmZzZXQgZ3V0dGVyc1xuICBAaWYoJG9mZnNldCkge1xuICAgIEBpbmNsdWRlIHh5LW9mZnNldC1jZWxsLWNsYXNzZXMoKTtcbiAgfVxuXG4gIC8vIFZlcnRpY2FsIGdyaWRcbiAgQGlmKCR2ZXJ0aWNhbC1ncmlkKSB7XG4gICAgQGluY2x1ZGUgeHktdmVydGljYWwtZ3JpZC1jbGFzc2VzKCRtYXJnaW4tZ3JpZCwgJHBhZGRpbmctZ3JpZCk7XG4gIH1cblxuICBAaWYgKCRmcmFtZS1ncmlkKSB7XG4gICAgQGluY2x1ZGUgeHktZnJhbWUtZ3JpZC1jbGFzc2VzKCR2ZXJ0aWNhbC1ncmlkLCAkbWFyZ2luLWdyaWQpXG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCB4eS1ncmlkXG4vLy8vXG5cbi8vLyBDcmVhdGVzIGEgbWF4IHdpZHRoIGNvbnRhaW5lciwgZGVzaWduZWQgdG8gaG91c2UgeW91ciBncmlkIGNvbnRlbnQuXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJHdpZHRoIFskZ3JpZC1jb250YWluZXJdIC0gYSB3aWR0aCB0byBsaW1pdCB0aGUgY29udGFpbmVyIHRvLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkcGFkZGluZyBbJGdyaWQtY29udGFpbmVyLXBhZGRpbmddIC0gcGFkZGluZ3Mgb2YgdGhlIGNvbnRhaW5lci5cbkBtaXhpbiB4eS1ncmlkLWNvbnRhaW5lcihcbiAgJHdpZHRoOiAkZ3JpZC1jb250YWluZXIsXG4gICRwYWRkaW5nOiAkZ3JpZC1jb250YWluZXItcGFkZGluZ1xuKSB7XG4gIEBpbmNsdWRlIHh5LWd1dHRlcnMoJGd1dHRlcnM6ICRwYWRkaW5nLCAkZ3V0dGVyLXR5cGU6IHBhZGRpbmcpO1xuXG4gIG1heC13aWR0aDogJHdpZHRoO1xuICBtYXJnaW4tbGVmdDogYXV0bztcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xufVxuXG4vLy8gQ3JlYXRlcyBhIGNvbnRhaW5lciBmb3IgeW91ciBmbGV4IGNlbGxzLlxuLy8vXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkZGlyZWN0aW9uIFtob3Jpem9udGFsXSAtIEVpdGhlciBob3Jpem9udGFsIG9yIHZlcnRpY2FsIGRpcmVjdGlvbiBvZiBjZWxscyB3aXRoaW4uXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkd3JhcCBbdHJ1ZV0gLSBJZiB0aGUgY2VsbHMgd2l0aGluIHNob3VsZCB3cmFwIG9yIG5vdC5cbkBtaXhpbiB4eS1ncmlkKFxuICAkZGlyZWN0aW9uOiBob3Jpem9udGFsLFxuICAkd3JhcDogdHJ1ZVxuKSB7XG4gICRkaXJlY3Rpb246IGlmKCRkaXJlY3Rpb24gPT0gJ2hvcml6b250YWwnLCByb3csIGNvbHVtbik7XG4gICR3cmFwOiBpZigkd3JhcCwgd3JhcCwgbm93cmFwKTtcblxuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWZsb3c6ICRkaXJlY3Rpb24gJHdyYXA7XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlc1xuLy8gaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgeHktZ3JpZFxuLy8vL1xuXG4vLy8gQ3JlYXRlIGd1dHRlcnMgZm9yIGEgY2VsbC9jb250YWluZXIuXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcnxNYXB9ICRndXR0ZXJzIFskZ3JpZC1tYXJnaW4tZ3V0dGVyc10gLSBNYXAgb3Igc2luZ2xlIHZhbHVlIGZvciBndXR0ZXJzLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGd1dHRlci10eXBlIFttYXJnaW5dIC0gVHlwZSBvZiBndXR0ZXIgdG8gb3V0cHV0LiBBY2NlcHRzIGVpdGhlciBtYXJnaW4gb3IgcGFkZGluZy5cbi8vLyBAcGFyYW0ge0xpc3R9ICRndXR0ZXItcG9zaXRpb24gW3JpZ2h0IGxlZnRdIC0gVGhlIHBvc2l0aW9uIHRvIGFwcGx5IGd1dHRlcnMgdG8uIEFjY2VwdHMgYHRvcGAsIGBib3R0b21gLCBgbGVmdGAsIGByaWdodGAgaW4gYW55IGNvbWJpbmF0aW9uLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJG5lZ2F0aXZlIFtmYWxzZV0gLSBXaGV0aGVyIHRvIGFwcGx5IHRoZSBndXR0ZXIgYXMgYSBuZWdhdGl2ZSB2YWx1ZS4gQ29tbW9ubHkgdXNlZCBmb3IgbmVzdGVkIGdyaWRzLlxuQG1peGluIHh5LWd1dHRlcnMoXG4gICRndXR0ZXJzOiAkZ3JpZC1tYXJnaW4tZ3V0dGVycyxcbiAgJGd1dHRlci10eXBlOiBtYXJnaW4sXG4gICRndXR0ZXItcG9zaXRpb246IHJpZ2h0IGxlZnQsXG4gICRuZWdhdGl2ZTogZmFsc2Vcbikge1xuICAkb3BlcmF0b3I6IGlmKCRuZWdhdGl2ZSwgJy0nLCAnJyk7XG5cbiAgLy8gSWYgd2UgaGF2ZSBkZWNsYXJlZCBuZWdhdGl2ZSBndXR0ZXJzLCBmb3JjZSB0eXBlIHRvIGBtYXJnaW4uXG4gICRndXR0ZXItdHlwZTogaWYoJG5lZ2F0aXZlLCAnbWFyZ2luJywgJGd1dHRlci10eXBlKTtcblxuICAvLyBPdXRwdXQgb3VyIG1hcmdpbiBndXR0ZXJzLlxuICBAaWYgKHR5cGUtb2YoJGd1dHRlcnMpID09ICdtYXAnKSB7XG4gICAgQGluY2x1ZGUgLXpmLWJyZWFrcG9pbnQtdmFsdWUoYXV0bywgJGd1dHRlcnMpIHtcbiAgICAgICRndXR0ZXI6IHJlbS1jYWxjKCQtemYtYnAtdmFsdWUpICogMC41O1xuXG4gICAgICAvLyBMb29wIHRocm91Z2ggZWFjaCBndXR0ZXIgcG9zaXRpb25cbiAgICAgIEBlYWNoICR2YWx1ZSBpbiAkZ3V0dGVyLXBvc2l0aW9uIHtcbiAgICAgICAgI3skZ3V0dGVyLXR5cGV9LSN7JHZhbHVlfTogdW5xdW90ZShcIiN7JG9wZXJhdG9yfSN7JGd1dHRlcn1cIik7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEBlbHNlIGlmICh0eXBlLW9mKCRndXR0ZXJzKSA9PSAnbnVtYmVyJykge1xuICAgICRndXR0ZXI6IHJlbS1jYWxjKCRndXR0ZXJzKSAqIDAuNTtcblxuICAgIC8vIExvb3AgdGhyb3VnaCBlYWNoIGd1dHRlciBwb3NpdGlvblxuICAgIEBlYWNoICR2YWx1ZSBpbiAkZ3V0dGVyLXBvc2l0aW9uIHtcbiAgICAgICN7JGd1dHRlci10eXBlfS0jeyR2YWx1ZX06IHVucXVvdGUoXCIjeyRvcGVyYXRvcn0jeyRndXR0ZXJ9XCIpO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHh5LWdyaWRcbi8vLy9cblxuLy8vIFJldHVybnMgdGhlIGFwcHJvcHJpYXRlIENTUyBmbGV4IHZhbHVlIGZvciBhIGNlbGwgYmFzZS5cbi8vL1xuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHNpemUgW2Z1bGxdIC0gVGhlIHNpemUgb2YgeW91ciBjZWxsLiBBY2NlcHRzIGBmdWxsYCwgYGF1dG9gLCBgc2hyaW5rYCwgYGdyb3dgLCBvciBhbnkgb3RoZXIgdmFsdWUgcmVwcmVzZW50aW5nIGEgY2VsbCBzaXplIChpdCB3aWxsIGJlIHRyZWF0ZWQgYXMgYHNocmlua2ApLlxuLy8vXG4vLy8gQHJldHVybnMge0xpc3R9IFRoZSBjZWxsIGZsZXggcHJvcGVydHkgdmFsdWUuXG5AZnVuY3Rpb24geHktY2VsbC1iYXNlKCRzaXplOiBmdWxsKSB7XG4gIEBpZiAoJHNpemUgPT0gJ2F1dG8nKSB7XG4gICAgQHJldHVybiAxIDEgMDtcbiAgfVxuICBAZWxzZSBpZiAoJHNpemUgPT0gJ2dyb3cnKSB7XG4gICAgQHJldHVybiAxIDAgYXV0bztcbiAgfVxuICBAZWxzZSBpZiAoJHNpemUgPT0gJ3Nocmluaycgb3IgJHNpemUgPT0gJ2Z1bGwnIG9yIHpmLWlzLWZyYWN0aW9uKCRzaXplLCAkYWxsb3ctbm8tZGVub21pbmF0b3I6IHRydWUpKSB7XG4gICAgQHJldHVybiAwIDAgYXV0bztcbiAgfVxuICBAcmV0dXJuIG51bGw7XG59XG5cbi8vLyBDYWxjdWxhdGUgdGhlIHNpemUgb2YgYSBjZWxsIGd1dHRlcnMuXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcnxNYXB9ICRndXR0ZXJzIFskZ3JpZC1tYXJnaW4tZ3V0dGVyc10gLSBNYXAgb3Igc2luZ2xlIHZhbHVlIGZvciBndXR0ZXJzLlxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkYnJlYWtwb2ludCBbbnVsbF0gLSBUaGUgbmFtZSBvZiB0aGUgYnJlYWtwb2ludCBzaXplIGluIHlvdXIgZ3V0dGVycyBtYXAgdG8gZ2V0IHRoZSBzaXplIGZyb20uIElmIGBhdXRvYCwgcmV0dXJucyB0aGUgcmVzcG9uc2l2ZSBndXR0ZXJzIG1hcCBgJGd1dHRlcnNgLiBJZiB1c2luZyB3aXRoIHRoZSBgYnJlYWtwb2ludCgpYCBtaXhpbiB0aGlzIHdpbGwgYmUgc2V0IGF1dG9tYXRpY2FsbHkgdW5sZXNzIG1hbnVhbGx5IGVudGVyZWQuXG4vLy9cbi8vLyBAcmV0dXJucyB7TnVtYmVyfE1hcH0gVGhlIGNlbGwgZ3V0dGVyIHNpemUgb3IgdGhlIHJlc3BvbnNpdmUgZ3V0dGVycyBtYXAuXG5AZnVuY3Rpb24geHktY2VsbC1ndXR0ZXJzKFxuICAkZ3V0dGVyczogJGdyaWQtbWFyZ2luLWd1dHRlcnMsXG4gICRicmVha3BvaW50OiBudWxsXG4pIHtcbiAgLy8gRm9yIGBhdXRvYCwgcmV0dXJucyB0aGUgcmVzcG9uc2l2ZSBtYXAgYCRndXR0ZXJzYC5cbiAgQGlmICgkYnJlYWtwb2ludCA9PSAnYXV0bycpIHtcbiAgICBAcmV0dXJuICRndXR0ZXJzO1xuICB9XG5cbiAgLy8gVXNlIHRoZSBjb250ZXh0dWFsIGJyZWFrcG9pbnQgYnkgZGVmYXVsdC5cbiAgJGJyZWFrcG9pbnQ6IC16Zi1jdXJyZW50LWJyZWFrcG9pbnQoJGJyZWFrcG9pbnQpO1xuXG4gIEBpZiAoJGJyZWFrcG9pbnQpIHtcbiAgICBAcmV0dXJuIC16Zi1nZXQtYnAtdmFsKCRndXR0ZXJzLCAkYnJlYWtwb2ludCk7XG4gIH1cbiAgQGVsc2Uge1xuICAgIEByZXR1cm4gLXpmLWdldC1icC12YWwoJGd1dHRlcnMsICQtemYtemVyby1icmVha3BvaW50KSBvciAwO1xuICB9XG59XG5cbi8vLyBSZXR1cm5zIHRoZSBwZXJjZW50YWdlIHNpemUgb2YgYSBjZWxsLlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TGlzdH0gJHNpemUgWyRncmlkLWNvbHVtbnNdIC0gU2l6ZSB0byBtYWtlIHRoZSBjZWxsLiBZb3UgY2FuIHBhc3MgYSB2YWx1ZSBpbiBtdWx0aXBsZSBmb3JtYXRzLCBzdWNoIGFzIGA2YCwgYDUwJWAsIGAxIG9mIDJgIG9yIGAxLzNgLlxuLy8vXG4vLy8gQHJldHVybnMge051bWJlcn0gU2l6ZSBvZiB0aGUgY2VsbCAoaW4gcGVyY2VudCkuXG5AZnVuY3Rpb24geHktY2VsbC1zaXplKFxuICAkc2l6ZTogJGdyaWQtY29sdW1uc1xuKSB7XG4gIEByZXR1cm4gZnJhY3Rpb24tdG8tcGVyY2VudGFnZSgkc2l6ZSwgJGRlbm9taW5hdG9yOiAkZ3JpZC1jb2x1bW5zKTtcbn1cblxuLy8vIFJldHVybnMgdGhlIGFwcHJvcHJpYXRlIENTUyB2YWx1ZSBmb3IgYSBjZWxsIHNpemUuXG4vLy9cbi8vLyBHdXR0ZXJzLXJlbGF0ZWQgYXJndW1lbnRzIGFyZSByZXF1aXJlZCBmb3IgY2VsbHMgd2l0aCBtYXJnaW4gZ3V0dGVycyAoYnkgZGVmYXVsdCkgYXMgdGhlIGd1dHRlciBpcyBpbmNsdWRlZCBpbiB0aGUgd2lkdGguXG4vLy9cbi8vLyBAcGFyYW0ge0tleXdvcmR8TnVtYmVyfSAkc2l6ZSBbZnVsbF0gLSBUaGUgc2l6ZSBvZiB5b3VyIGNlbGwuIENhbiBiZSBgZnVsbGAsIGBhdXRvYCwgYHNocmlua2Agb3IgYW55IGZyYWN0aW9uIGxpa2UgYDZgLCBgNTAlYCwgYDEgb2YgMmAgb3IgYDEvMmAuXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TWFwfSAkZ3V0dGVycyBbJGdyaWQtbWFyZ2luLWd1dHRlcnNdIC0gTWFwIG9yIHNpbmdsZSB2YWx1ZSBmb3IgZ3V0dGVycy5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRndXR0ZXItdHlwZSBbbWFyZ2luXSAtIFR5cGUgb2YgZ3V0dGVyIHRvIG91dHB1dC4gQWNjZXB0cyBgbWFyZ2luYCwgYHBhZGRpbmdgIG9yIGBub25lYC5cbi8vLyBAcGFyYW0ge1N0cmluZ30gJGJyZWFrcG9pbnQgW251bGxdIC0gVGhlIG5hbWUgb2YgdGhlIGJyZWFrcG9pbnQgc2l6ZSBpbiB5b3VyIGd1dHRlcnMgbWFwIHRvIGdldCB0aGUgc2l6ZSBmcm9tLiBJZiBgYXV0b2AsIHJldHVybnMgYSBtYXAgb2Ygc2l6ZXMgYWRhcHRlZCB0byByZXNwb25zaXZlIGd1dHRlcnMuIElmIHVzaW5nIHdpdGggdGhlIGBicmVha3BvaW50KClgIG1peGluIHRoaXMgd2lsbCBiZSBzZXQgYXV0b21hdGljYWxseSB1bmxlc3MgbWFudWFsbHkgZW50ZXJlZC5cbi8vL1xuLy8vIEByZXR1cm5zIHtOdW1iZXJ8U3RyaW5nfE1hcH0gVGhlIGNlbGwgc2l6aW5nIHByb3BlcnR5IHZhbHVlLCBvciBhIHJlc3BvbnNpdmUgbWFwIG9mIHRoZW0uXG5AZnVuY3Rpb24geHktY2VsbC1zaXplLWNzcyhcbiAgJHNpemU6IGZ1bGwsXG4gICRndXR0ZXJzOiAkZ3JpZC1tYXJnaW4tZ3V0dGVycyxcbiAgJGd1dHRlci10eXBlOiBtYXJnaW4sXG4gICRicmVha3BvaW50OiBudWxsXG4pIHtcbiAgJG1hcmdpbi1ndXR0ZXI6IDA7XG5cbiAgQGlmICgkc2l6ZSA9PSAnYXV0bycgb3IgJHNpemUgPT0gJ3NocmluaycpIHtcbiAgICBAcmV0dXJuIGF1dG87XG4gIH1cblxuICAvLyBGb3IgY2VsbHMgd2l0aCBtYXJnaW4gZ3V0dGVycywgdGhlIGd1dHRlciBpcyBpbmNsdWRlZCBpbiB0aGUgd2lkdGguXG4gIEBpZiAoJGd1dHRlci10eXBlID09ICdtYXJnaW4nKSB7XG4gICAgJG1hcmdpbi1ndXR0ZXI6IHh5LWNlbGwtZ3V0dGVycygkZ3V0dGVycywgJGJyZWFrcG9pbnQpO1xuICAgIEBpZiAoJG1hcmdpbi1ndXR0ZXIgPT0gbnVsbCkge1xuICAgICAgQGVycm9yICd4eS1jZWxsLXNpemU6IG5vIGd1dHRlcnMgd2VyZSBmb3VuZCBpbiBgJGd1dHRlcnNgIGZvciBcIiRicmVha3BvaW50OiAjeyRicmVha3BvaW50fVwiJztcbiAgICB9XG4gIH1cblxuICAvLyBDYWxjdWxhdGUgdGhlIGNlbGwgc2l6ZSAobnVtYmVyKVxuICAkc2l6ZS1yYXc6IGlmKCRzaXplID09ICdmdWxsJywgMTAwJSwgeHktY2VsbC1zaXplKCRzaXplKSk7XG5cbiAgLy8gQ2FsY3VsYXRlIHRoZSBjZWxsIENTUyBzaXplIGluY2x1ZGluZyBndXR0ZXJzIChzdHJpbmcpXG4gIC8vIElmIHRoZSBjZWxsIGhhcyByZXNwb25zaXZlIG1hcmdpbiBndXR0ZXJzLCByZXR1cm4gYSByZXNwb25zaXZlIG1hcCBvZiBzaXplcy5cbiAgQGlmIHR5cGUtb2YoJG1hcmdpbi1ndXR0ZXIpID09ICdtYXAnIHtcbiAgICAkcmVzcG9uc2l2ZS1jc3Mtc2l6ZXM6ICgpO1xuXG4gICAgQGVhY2ggJGJwLCAkbWcgaW4gJG1hcmdpbi1ndXR0ZXIge1xuICAgICAgJHNpemUtY3NzOiBpZigkbWcgPT0gMCwgJHNpemUtcmF3LCBjYWxjKCN7JHNpemUtcmF3fSAtICN7cmVtLWNhbGMoJG1nKX0pKTtcbiAgICAgICRyZXNwb25zaXZlLWNzcy1zaXplczogbWFwLW1lcmdlKCRyZXNwb25zaXZlLWNzcy1zaXplcywgKCRicDogJHNpemUtY3NzKSk7XG4gICAgfVxuXG4gICAgQHJldHVybiAkcmVzcG9uc2l2ZS1jc3Mtc2l6ZXM7XG4gIH1cbiAgLy8gT3RoZXJ3aXNlLCByZXR1cm4gYSBzaW5nbGUgQ1NTIHNpemUuXG4gIEBlbHNlIHtcbiAgICAkY3NzLXNpemU6IGlmKCRtYXJnaW4tZ3V0dGVyID09IDAsICRzaXplLXJhdywgY2FsYygjeyRzaXplLXJhd30gLSAje3JlbS1jYWxjKCRtYXJnaW4tZ3V0dGVyKX0pKTtcbiAgICBAcmV0dXJuICRjc3Mtc2l6ZTtcbiAgfVxufVxuXG4vLy8gU2V0cyBiYXNlIGZsZXggcHJvcGVydGllcyBmb3IgY2VsbHMuXG4vLy9cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRzaXplIFtmdWxsXSAtIFRoZSBzaXplIG9mIHlvdXIgY2VsbC4gQWNjZXB0cyBgZnVsbGAsIGBhdXRvYCwgYHNocmlua2AsIGBncm93YCwgb3IgYW55IG90aGVyIHZhbHVlIHJlcHJlc2VudGluZyBhIGNlbGwgc2l6ZSAoaXQgd2lsbCBiZSB0cmVhdGVkIGFzIGBzaHJpbmtgKS5cbkBtaXhpbiB4eS1jZWxsLWJhc2UoJHNpemU6IGZ1bGwpIHtcbiAgJGJhc2U6IHh5LWNlbGwtYmFzZSgkc2l6ZSk7XG5cbiAgZmxleDogI3skYmFzZX07XG5cbiAgLy8gU2V0IGJhc2Ugc3R5bGVzIGZvciBcImZ1bGxcIiBvbmx5XG4gIEBpZigkc2l6ZSA9PSAnZnVsbCcpIHtcbiAgICBtaW4taGVpZ2h0OiAwO1xuICAgIG1pbi13aWR0aDogMDtcbiAgfVxufVxuXG4vLy8gUmVzZXRzIGEgY2VsbHMgd2lkdGggKG9yIGhlaWdodCBpZiB2ZXJ0aWNhbCBpcyB0cnVlKSBhcyB3ZWxsIGFzIHN0cmlwcyBpdHMgZ3V0dGVycy5cbi8vL1xuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJHZlcnRpY2FsIFtmYWxzZV0gLSBTZXQgdG8gdHJ1ZSB0byBvdXRwdXQgdmVydGljYWwgKGhlaWdodCkgc3R5bGVzIHJhdGhlciB0aGFuIHdpZHRocy5cbkBtaXhpbiB4eS1jZWxsLXJlc2V0KCR2ZXJ0aWNhbDogdHJ1ZSkge1xuICAkZGlyZWN0aW9uOiBpZigkdmVydGljYWwgPT0gdHJ1ZSwgaGVpZ2h0LCB3aWR0aCk7XG4gICN7JGRpcmVjdGlvbn06IGF1dG87XG4gIG1heC0jeyRkaXJlY3Rpb259OiBub25lO1xufVxuXG4vLy8gU2V0cyBzaXppbmcgcHJvcGVydGllcyBmb3IgY2VsbHMuXG4vLy9cbi8vLyBHdXR0ZXJzLXJlbGF0ZWQgYXJndW1lbnRzIGFyZSByZXF1aXJlZCBmb3IgY2VsbHMgd2l0aCBtYXJnaW4gZ3V0dGVycyAoYnkgZGVmYXVsdCkgYXMgdGhlIGd1dHRlciBpcyBpbmNsdWRlZCBpbiB0aGUgd2lkdGguXG4vLy9cbi8vLyBAcGFyYW0ge0tleXdvcmR8TnVtYmVyfSAkc2l6ZSBbZnVsbF0gLSBUaGUgc2l6ZSBvZiB5b3VyIGNlbGwuIENhbiBiZSBgZnVsbGAgKDEwMCUgd2lkdGgpLCBgYXV0b2AgKHVzZSBhbGwgYXZhaWxhYmxlIHNwYWNlKSwgYHNocmlua2AgKHVzZSBvbmx5IHRoZSByZXF1aXJlZCBzcGFjZSkgb3IgYW55IGZyYWN0aW9uIChgNmAsIGA1MCVgLCBgMSBvZiAyYCBvciBgMS8yYC4uLikuXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TWFwfSAkZ3V0dGVycyBbJGdyaWQtbWFyZ2luLWd1dHRlcnNdIC0gTWFwIG9yIHNpbmdsZSB2YWx1ZSBmb3IgZ3V0dGVycy5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRndXR0ZXItdHlwZSBbbWFyZ2luXSAtIFR5cGUgb2YgZ3V0dGVyIHRvIG91dHB1dC4gQWNjZXB0cyBgbWFyZ2luYCwgYHBhZGRpbmdgIG9yIGBub25lYC5cbi8vLyBAcGFyYW0ge1N0cmluZ30gJGJyZWFrcG9pbnQgW251bGxdIC0gVGhlIG5hbWUgb2YgdGhlIGJyZWFrcG9pbnQgc2l6ZSBpbiB5b3VyIGd1dHRlcnMgbWFwIHRvIGdldCB0aGUgc2l6ZSBmcm9tLiBJZiBgYXV0b2AsIGdlbmVyYXRlcyBzaXplcyBhZGFwdGVkIGZvciByZXNwb25zaXZlIGd1dHRlcnMuIElmIHVzaW5nIHdpdGggdGhlIGBicmVha3BvaW50KClgIG1peGluIHRoaXMgd2lsbCBiZSBzZXQgYXV0b21hdGljYWxseSB1bmxlc3MgbWFudWFsbHkgZW50ZXJlZC5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICR2ZXJ0aWNhbCBbZmFsc2VdIC0gU2V0IHRvIHRydWUgdG8gb3V0cHV0IHZlcnRpY2FsIChoZWlnaHQpIHN0eWxlcyByYXRoZXIgdGhhbiB3aWR0aHMuXG5AbWl4aW4geHktY2VsbC1zaXplKFxuICAkc2l6ZTogZnVsbCxcbiAgJGd1dHRlcnM6ICRncmlkLW1hcmdpbi1ndXR0ZXJzLFxuICAkZ3V0dGVyLXR5cGU6IG1hcmdpbixcbiAgJGJyZWFrcG9pbnQ6IG51bGwsXG4gICR2ZXJ0aWNhbDogZmFsc2Vcbikge1xuICAkc2l6ZXM6IHh5LWNlbGwtc2l6ZS1jc3MoJHNpemUsICRndXR0ZXJzLCAkZ3V0dGVyLXR5cGUsICRicmVha3BvaW50KTtcbiAgJGRpcmVjdGlvbjogaWYoJHZlcnRpY2FsID09IHRydWUsIGhlaWdodCwgd2lkdGgpO1xuXG4gIEBpZiAodHlwZS1vZigkc2l6ZXMpID09ICdtYXAnKSB7XG4gICAgQGluY2x1ZGUgLXpmLWJyZWFrcG9pbnQtdmFsdWUoYXV0bywgJHNpemVzKSB7XG4gICAgICAjeyRkaXJlY3Rpb259OiAkLXpmLWJwLXZhbHVlO1xuICAgIH1cbiAgfVxuICBAZWxzZSB7XG4gICAgI3skZGlyZWN0aW9ufTogJHNpemVzO1xuICB9XG59XG5cbi8vLyBTZXRzIGd1dHRlcnMgcHJvcGVydGllcyBmb3IgY2VsbHMuXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcnxNYXB9ICRndXR0ZXJzIFskZ3JpZC1tYXJnaW4tZ3V0dGVyc10gLSBNYXAgb3Igc2luZ2xlIHZhbHVlIGZvciBndXR0ZXJzLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGd1dHRlci10eXBlIFttYXJnaW5dIC0gVHlwZSBvZiBndXR0ZXIgdG8gb3V0cHV0LiBBY2NlcHRzIGBtYXJnaW5gLCBgcGFkZGluZ2Agb3IgYG5vbmVgLlxuLy8vIEBwYXJhbSB7TGlzdH0gJGd1dHRlci1wb3NpdGlvbiBbbnVsbF0gLSBUaGUgcG9zaXRpb24gdG8gYXBwbHkgZ3V0dGVycyB0by4gQWNjZXB0cyBgdG9wYCwgYGJvdHRvbWAsIGBsZWZ0YCwgYHJpZ2h0YCBpbiBhbnkgY29tYmluYXRpb24uIEJ5IGRlZmF1bHQgYHJpZ2h0IGxlZnRgIGZvciBob3Jpem9udGFsIGNlbGxzIGFuZCBgdG9wIGJvdHRvbWAgZm9yIHZlcnRpY2FsIGNlbGxzLlxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkYnJlYWtwb2ludCBbbnVsbF0gLSBUaGUgbmFtZSBvZiB0aGUgYnJlYWtwb2ludCBzaXplIGluIHlvdXIgZ3V0dGVycyBtYXAgdG8gZ2V0IHRoZSBzaXplIGZyb20uIElmIGBhdXRvYCwgZ2VuZXJhdGVzIHJlc3BvbnNpdmUgZ3V0dGVycy4gSWYgdXNpbmcgd2l0aCB0aGUgYGJyZWFrcG9pbnQoKWAgbWl4aW4gdGhpcyB3aWxsIGJlIHNldCBhdXRvbWF0aWNhbGx5IHVubGVzcyBtYW51YWxseSBlbnRlcmVkLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJHZlcnRpY2FsIFtmYWxzZV0gLSBEaXJlY3Rpb24gb2YgdGhlIGd1dHRlcnMgdG8gb3V0cHV0LiBTZWUgYCRndXR0ZXItcG9zaXRpb25gLlxuQG1peGluIHh5LWNlbGwtZ3V0dGVycyhcbiAgJGd1dHRlcnM6ICRncmlkLW1hcmdpbi1ndXR0ZXJzLFxuICAkZ3V0dGVyLXR5cGU6IG1hcmdpbixcbiAgJGd1dHRlci1wb3NpdGlvbjogbnVsbCxcbiAgJGJyZWFrcG9pbnQ6IG51bGwsXG4gICR2ZXJ0aWNhbDogZmFsc2Vcbikge1xuICAvLyBHZXQgdGhlIGRlZmF1bHQgZ3V0dGVyIHBvc2l0aW9uIGFjY29yZGluZyB0byBjZWxsIGRpcmVjdGlvblxuICBAaWYoJGd1dHRlci1wb3NpdGlvbiA9PSBudWxsKSB7XG4gICAgJGd1dHRlci1wb3NpdGlvbjogaWYoJHZlcnRpY2FsID09IHRydWUsIHRvcCBib3R0b20sIGxlZnQgcmlnaHQpO1xuICB9XG5cbiAgLy8gR2V0IHRoZSBndXR0ZXIgd2lkdGggZm9yIHRoaXMgYnJlYWtwb2ludFxuICAkZ3V0dGVyLXdpZHRoOiB4eS1jZWxsLWd1dHRlcnMoJGd1dHRlcnMsICRicmVha3BvaW50KTtcbiAgQGlmICgkZ3V0dGVyLXdpZHRoID09IG51bGwpIHtcbiAgICBAZXJyb3IgJ3h5LWNlbGwtZ3V0dGVyczogbm8gZ3V0dGVycyB3ZXJlIGZvdW5kIGluIGAkZ3V0dGVyc2AgZm9yIFwiJGJyZWFrcG9pbnQ6ICN7JGJyZWFrcG9pbnR9XCInO1xuICB9XG5cbiAgQGlmICgkZ3V0dGVyLXR5cGUgYW5kICRndXR0ZXItdHlwZSAhPSBub25lKSB7XG4gICAgQGluY2x1ZGUgeHktZ3V0dGVycygkZ3V0dGVyLXdpZHRoLCAkZ3V0dGVyLXR5cGUsICRndXR0ZXItcG9zaXRpb24pO1xuICB9XG59XG5cbi8vLyBDcmVhdGVzIGEgY2VsbCBmb3IgeW91ciBncmlkLlxuLy8vXG4vLy8gQHBhcmFtIHtLZXl3b3JkfE51bWJlcn0gJHNpemUgW2Z1bGxdIC0gVGhlIHNpemUgb2YgeW91ciBjZWxsLiBDYW4gYmUgYGZ1bGxgICgxMDAlIHdpZHRoKSwgYGF1dG9gICh1c2UgYWxsIGF2YWlsYWJsZSBzcGFjZSksIGBzaHJpbmtgICh1c2Ugb25seSB0aGUgcmVxdWlyZWQgc3BhY2UpIG9yIGFueSBmcmFjdGlvbiAoYDZgLCBgNTAlYCwgYDEgb2YgMmAgb3IgYDEvMmAuLi4pLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJGd1dHRlci1vdXRwdXQgW251bGxdIC0gW0RFUFJFQ0FURURdIFdoZXRoZXIgb3Igbm90IHRvIG91dHB1dCBndXR0ZXJzLlxuLy8vIEBwYXJhbSB7TnVtYmVyfE1hcH0gJGd1dHRlcnMgWyRncmlkLW1hcmdpbi1ndXR0ZXJzXSAtIE1hcCBvciBzaW5nbGUgdmFsdWUgZm9yIGd1dHRlcnMuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkZ3V0dGVyLXR5cGUgW21hcmdpbl0gLSBUeXBlIG9mIGd1dHRlciB0byBvdXRwdXQuIEFjY2VwdHMgYG1hcmdpbmAsIGBwYWRkaW5nYCBvciBgbm9uZWAuXG4vLy8gQHBhcmFtIHtMaXN0fSAkZ3V0dGVyLXBvc2l0aW9uIFtudWxsXSAtIFRoZSBwb3NpdGlvbiB0byBhcHBseSBndXR0ZXJzIHRvLiBBY2NlcHRzIGB0b3BgLCBgYm90dG9tYCwgYGxlZnRgLCBgcmlnaHRgIGluIGFueSBjb21iaW5hdGlvbi4gQnkgZGVmYXVsdCBgcmlnaHQgbGVmdGAgZm9yIGhvcml6b250YWwgY2VsbHMgYW5kIGB0b3AgYm90dG9tYCBmb3IgdmVydGljYWwgY2VsbHMuXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRicmVha3BvaW50IFtudWxsXSAtIFRoZSBuYW1lIG9mIHRoZSBicmVha3BvaW50IHNpemUgaW4geW91ciBndXR0ZXJzIG1hcCB0byBnZXQgdGhlIHNpemUgZnJvbS4gSWYgYGF1dG9gLCBnZW5lcmF0ZXMgcmVzcG9uc2l2ZSBndXR0ZXJzLiBJZiB1c2luZyB3aXRoIHRoZSBgYnJlYWtwb2ludCgpYCBtaXhpbiB0aGlzIHdpbGwgYmUgc2V0IGF1dG9tYXRpY2FsbHkgdW5sZXNzIG1hbnVhbGx5IGVudGVyZWQuXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkdmVydGljYWwgW2ZhbHNlXSAtIFNldCB0byB0cnVlIHRvIG91dHB1dCB2ZXJ0aWNhbCAoaGVpZ2h0KSBzdHlsZXMgcmF0aGVyIHRoYW4gd2lkdGhzLlxuLy8vIEBwYXJhbSB7TGlzdH0gJG91dHB1dCBbKGJhc2Ugc2l6ZSBndXR0ZXJzKV0gLSBDZWxsIHBhcnRzIHRvIG91dHB1dC4gWW91IHdpbGwgbmVlZCB0byBnZW5lcmF0ZSBvdGhlcnMgcGFydHMgb2YgdGhlIGNlbGwgc2VwZXJhdGVseSwgaXQgbWF5IG5vdCB3b3JrIHByb3Blcmx5IG90aGVyd2lzZS5cbkBtaXhpbiB4eS1jZWxsKFxuICAkc2l6ZTogZnVsbCxcbiAgJGd1dHRlci1vdXRwdXQ6IG51bGwsXG4gICRndXR0ZXJzOiAkZ3JpZC1tYXJnaW4tZ3V0dGVycyxcbiAgJGd1dHRlci10eXBlOiBtYXJnaW4sXG4gICRndXR0ZXItcG9zaXRpb246IG51bGwsXG4gICRicmVha3BvaW50OiBudWxsLFxuICAkdmVydGljYWw6IGZhbHNlLFxuICAkb3V0cHV0OiAoYmFzZSBzaXplIGd1dHRlcnMpXG4pIHtcbiAgLy8gRGVmYXVsdCBmb3IgJGd1dHRlci1vdXRwdXRcbiAgQGlmICgkZ3V0dGVyLW91dHB1dCAhPSBudWxsKSB7XG4gICAgQHdhcm4gJ3h5LWNlbGw6ICRndXR0ZXItb3V0cHV0IGlzIGRlcHJlY2F0ZWQgYW5kIHdpbGwgYmUgcmVtb3ZlZC4gU2VlIG1pZ3JhdGlvbiBub3RlcyBhdCBodHRwczovL2dpdC5pby9mb3VuZGF0aW9uLTYtNi0wJztcbiAgICBAaWYgKCRndXR0ZXItb3V0cHV0ID09IGZhbHNlKSB7XG4gICAgICAkb3V0cHV0OiBzbC1yZW1vdmUoJG91dHB1dCwgZ3V0dGVycyk7XG4gICAgfVxuICB9XG5cbiAgQGlmIChpbmRleCgkb3V0cHV0LCBiYXNlKSkge1xuICAgIEBpbmNsdWRlIHh5LWNlbGwtYmFzZSgkc2l6ZSk7XG4gIH1cbiAgQGlmIChpbmRleCgkb3V0cHV0LCBzaXplKSkge1xuICAgIEBpbmNsdWRlIHh5LWNlbGwtc2l6ZSgkc2l6ZSwgJGd1dHRlcnMsICRndXR0ZXItdHlwZSwgJGJyZWFrcG9pbnQsICR2ZXJ0aWNhbCk7XG4gIH1cbiAgQGlmIChpbmRleCgkb3V0cHV0LCBndXR0ZXJzKSkge1xuICAgIEBpbmNsdWRlIHh5LWNlbGwtZ3V0dGVycygkZ3V0dGVycywgJGd1dHRlci10eXBlLCAkZ3V0dGVyLXBvc2l0aW9uLCAkYnJlYWtwb2ludCwgJHZlcnRpY2FsKTtcbiAgfVxufVxuXG4vLy8gQ3JlYXRlcyBhIHNpbmdsZSBicmVha3BvaW50IHNpemVkIGdyaWQuIFVzZWQgdG8gZ2VuZXJhdGUgb3VyIGdyaWQgY2xhc3Nlcy5cbi8vL1xuLy8vIGB4eS1jZWxsLXN0YXRpYygpYCBpcyBkZXByZWNhdGVkIGFuZCB3aWxsIGJlIHJlbW92ZWQuXG4vLy8gVXNlIGB4eS1jZWxsKClgIGluc3RlYWQgd2l0aCBgJG91dHB1dDogKHNpemUgZ3V0dGVycylgIHRvIG5vdCBnZW5lcmF0ZSB0aGUgY2VsbCBiYXNlLlxuLy8vIFNlZSBtaWdyYXRpb24gbm90ZXMgYXQgaHR0cHM6Ly9naXQuaW8vZm91bmRhdGlvbi02LTYtMFxuLy8vXG4vLy8gQGRlcHJlY2F0ZWQgdjYuNi4wXG4vLy9cbi8vLyBAcGFyYW0ge0tleXdvcmR8TnVtYmVyfSAkc2l6ZSBbZnVsbF0gLSBUaGUgc2l6ZSBvZiB5b3VyIGNlbGwuIENhbiBiZSBgZnVsbGAgKDEwMCUgd2lkdGgpLCBgYXV0b2AgKHVzZSBhbGwgYXZhaWxhYmxlIHNwYWNlKSwgYHNocmlua2AgKHVzZSBvbmx5IHRoZSByZXF1aXJlZCBzcGFjZSkgb3IgYW55IGZyYWN0aW9uIChgNmAsIGA1MCVgLCBgMSBvZiAyYCBvciBgMS8yYC4uLikuXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkZ3V0dGVyLW91dHB1dCBbdHJ1ZV0gLSBXaGV0aGVyIG9yIG5vdCB0byBvdXRwdXQgZ3V0dGVycy4gQWx3YXlzIGB0cnVlYCBmb3IgbWFyZ2luIGd1dHRlcnMuXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TWFwfSAkZ3V0dGVycyBbJGdyaWQtbWFyZ2luLWd1dHRlcnNdIC0gTWFwIG9yIHNpbmdsZSB2YWx1ZSBmb3IgZ3V0dGVycy5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRndXR0ZXItdHlwZSBbbWFyZ2luXSAtIE1hcCBvciBzaW5nbGUgdmFsdWUgZm9yIGd1dHRlcnMuXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRicmVha3BvaW50IFtudWxsXSAtIFRoZSBuYW1lIG9mIHRoZSBicmVha3BvaW50IHNpemUgaW4geW91ciBndXR0ZXJzIG1hcCB0byBnZXQgdGhlIHNpemUgZnJvbS4gSWYgdXNpbmcgd2l0aCB0aGUgYGJyZWFrcG9pbnQoKWAgbWl4aW4gdGhpcyB3aWxsIGJlIHNldCBhdXRvbWF0aWNhbGx5IHVubGVzcyBtYW51YWxseSBlbnRlcmVkLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJHZlcnRpY2FsIFtmYWxzZV0gLSBTZXQgdG8gdHJ1ZSB0byBvdXRwdXQgdmVydGljYWwgKGhlaWdodCkgc3R5bGVzIHJhdGhlciB0aGFuIHdpZHRocy5cbkBtaXhpbiB4eS1jZWxsLXN0YXRpYyhcbiAgJHNpemU6IGZ1bGwsXG4gICRndXR0ZXItb3V0cHV0OiB0cnVlLFxuICAkZ3V0dGVyczogJGdyaWQtbWFyZ2luLWd1dHRlcnMsXG4gICRndXR0ZXItdHlwZTogbWFyZ2luLFxuICAkYnJlYWtwb2ludDogJC16Zi16ZXJvLWJyZWFrcG9pbnQsXG4gICR2ZXJ0aWNhbDogZmFsc2Vcbikge1xuICBAd2FybiAneHktY2VsbC1zdGF0aWMoKSBtaXhpbiBpcyBkZXByZWNhdGVkIGFuZCB3aWxsIGJlIHJlbW92ZWQuIFVzZSBcInh5LWNlbGwoKVwiIGluc3RlYWQuIFNlZSBtaWdyYXRpb24gbm90ZXMgYXQgaHR0cHM6Ly9naXQuaW8vZm91bmRhdGlvbi02LTYtMCc7XG5cbiAgJGd1dHRlcjogLXpmLWdldC1icC12YWwoJGd1dHRlcnMsICRicmVha3BvaW50KTtcbiAgJGd1dHRlci1wb3NpdGlvbjogaWYoJHZlcnRpY2FsID09IHRydWUsIHRvcCBib3R0b20sIGxlZnQgcmlnaHQpO1xuXG4gICQtZ3V0dGVyLW91dHB1dDogaWYoJGd1dHRlci10eXBlID09ICdtYXJnaW4nLCB0cnVlLCAkZ3V0dGVyLW91dHB1dCk7XG4gICQtZ3V0dGVyLW1hcmdpbjogaWYoJGd1dHRlci10eXBlID09ICdtYXJnaW4nLCAkZ3V0dGVyLCAwKTtcblxuICBAaW5jbHVkZSAteHktY2VsbC1wcm9wZXJ0aWVzKCRzaXplLCAkLWd1dHRlci1tYXJnaW4sICR2ZXJ0aWNhbCk7XG4gIEBpZiAoJC1ndXR0ZXItb3V0cHV0KSB7XG4gICAgQGluY2x1ZGUgeHktZ3V0dGVycygkZ3V0dGVyLCAkZ3V0dGVyLXR5cGUsICRndXR0ZXItcG9zaXRpb24pO1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlc1xuLy8gaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgeHktZ3JpZFxuLy8vL1xuXG4vLy8gU2l6ZXMgY2hpbGQgZWxlbWVudHMgc28gdGhhdCBgJG5gIG51bWJlciBvZiBpdGVtcyBhcHBlYXIgb24gZWFjaCByb3cuXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJG4gLSBOdW1iZXIgb2YgZWxlbWVudHMgdG8gZGlzcGxheSBwZXIgcm93LlxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkc2VsZWN0b3IgWycuY2VsbCddIC0gU2VsZWN0b3IocykgdG8gdXNlIGZvciBjaGlsZCBlbGVtZW50cy5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRndXR0ZXItb3V0cHV0IFtudWxsXSAtIFtERVBSRUNBVEVEXSBXaGV0aGVyIG9yIG5vdCB0byBvdXRwdXQgZ3V0dGVycy5cbi8vLyBAcGFyYW0ge051bWJlcnxNYXB9ICRndXR0ZXJzIFskZ3JpZC1tYXJnaW4tZ3V0dGVyc10gLSBNYXAgb3Igc2luZ2xlIHZhbHVlIGZvciBndXR0ZXJzLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGd1dHRlci10eXBlIFttYXJnaW5dIC0gVHlwZSBvZiBndXR0ZXIgdG8gb3V0cHV0LiBBY2NlcHRzIGBtYXJnaW5gLCBgcGFkZGluZ2Agb3IgYG5vbmVgLlxuLy8vIEBwYXJhbSB7TGlzdH0gJGd1dHRlci1wb3NpdGlvbiBbbnVsbF0gLSBUaGUgcG9zaXRpb24gdG8gYXBwbHkgZ3V0dGVycyB0by4gQWNjZXB0cyBgdG9wYCwgYGJvdHRvbWAsIGBsZWZ0YCwgYHJpZ2h0YCBpbiBhbnkgY29tYmluYXRpb24uIEJ5IGRlZmF1bHQgYHJpZ2h0IGxlZnRgIGZvciBob3Jpem9udGFsIGNlbGxzIGFuZCBgdG9wIGJvdHRvbWAgZm9yIHZlcnRpY2FsIGNlbGxzLlxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkYnJlYWtwb2ludCBbbnVsbF0gLSBUaGUgYnJlYWtwb2ludCB0byB1c2UgZm9yIHRoZSBjZWxsIGdlbmVyYXRpb24uIElmIHVzaW5nIHdpdGggdGhlIGBicmVha3BvaW50KClgIG1peGluIHRoaXMgd2lsbCBiZSBzZXQgYXV0b21hdGljYWxseSB1bmxlc3MgbWFudWFsbHkgZW50ZXJlZC5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICR2ZXJ0aWNhbCBbZmFsc2VdIC0gU2V0IHRvIHRydWUgdG8gb3V0cHV0IHZlcnRpY2FsIChoZWlnaHQpIHN0eWxlcyByYXRoZXIgdGhhbiB3aWR0aHMuXG4vLy8gQHBhcmFtIHtMaXN0fSAkb3V0cHV0IFsoYmFzZSBzaXplIGd1dHRlcnMpXSAtIENlbGwgcGFydHMgdG8gb3V0cHV0LiBZb3Ugd2lsbCBuZWVkIHRvIGdlbmVyYXRlIG90aGVycyBwYXJ0cyBvZiB0aGUgY2VsbCBzZXBlcmF0ZWx5LCBpdCBtYXkgbm90IHdvcmsgY29ycmVjdGx5IG90aGVyd2lzZS5cbkBtaXhpbiB4eS1ncmlkLWxheW91dChcbiAgJG4sXG4gICRzZWxlY3RvcjogJy5jZWxsJyxcbiAgJGd1dHRlci1vdXRwdXQ6IG51bGwsXG4gICRndXR0ZXJzOiAkZ3JpZC1tYXJnaW4tZ3V0dGVycyxcbiAgJGd1dHRlci10eXBlOiBtYXJnaW4sXG4gICRndXR0ZXItcG9zaXRpb246IG51bGwsXG4gICRicmVha3BvaW50OiBudWxsLFxuICAkdmVydGljYWw6IGZhbHNlLFxuICAkb3V0cHV0OiAoYmFzZSBzaXplIGd1dHRlcnMpXG4pIHtcbiAgJHNpemU6IHBlcmNlbnRhZ2UoZGl2aWRlKDEsICRuKSk7XG5cbiAgJiA+ICN7JHNlbGVjdG9yfSB7XG4gICAgQGluY2x1ZGUgeHktY2VsbCgkc2l6ZSwgJGd1dHRlci1vdXRwdXQsICRndXR0ZXJzLCAkZ3V0dGVyLXR5cGUsICRndXR0ZXItcG9zaXRpb24sICRicmVha3BvaW50LCAkdmVydGljYWwsICRvdXRwdXQpO1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlc1xuLy8gaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgeHktZ3JpZFxuLy8vL1xuXG4vLy8gQ29sbGFwc2VzIHRoZSBncmlkIGEgY2VsbHMgd2l0aGluIGl0LlxuLy8vXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRzZWxlY3RvciBbLmNlbGxdIC0gVGhlIGNoaWxkIGVsZW1lbnQgdG8gcmVtb3ZlIHRoZSBndXR0ZXIgZnJvbS5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRndXR0ZXItdHlwZSBbbWFyZ2luXSAtIFRoZSB0eXBlIG9mIGd1dHRlciB0byByZW1vdmUuXG4vLy8gQHBhcmFtIHtMaXN0fSAkZ3V0dGVyLXBvc2l0aW9uIFtyaWdodCBsZWZ0XSAtIFRoZSBwb3NpdGlvbnMgdG8gcmVtb3ZlIGd1dHRlcnMgZnJvbS4gQWNjZXB0cyBgdG9wYCwgYGJvdHRvbWAsIGBsZWZ0YCwgYHJpZ2h0YCBpbiBhbnkgY29tYmluYXRpb24uXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkbWluLWJyZWFrcG9pbnQgWyQtemYtemVyby1icmVha3BvaW50XSAtIE1pbmltdW0gYnJlYWtwb2ludCBpbiBgJGJyZWFrcG9pbnQtY2xhc3Nlc2AgZm9yIHdoaWNoIHRvIGNvbGxhcHNlIHRoZSBndXR0ZXIuXG5AbWl4aW4geHktZ3JpZC1jb2xsYXBzZShcbiAgJHNlbGVjdG9yOiAnLmNlbGwnLFxuICAkZ3V0dGVyLXR5cGU6IG1hcmdpbixcbiAgJGd1dHRlci1wb3NpdGlvbjogcmlnaHQgbGVmdCxcbiAgJG1pbi1icmVha3BvaW50OiAkLXpmLXplcm8tYnJlYWtwb2ludFxuKSB7XG4gIC8vIEZpcnN0LCBsZXRzIG5lZ2F0ZSBhbnkgbWFyZ2lucyBvbiB0aGUgdG9wIGxldmVsXG4gIEBpZiAoJGd1dHRlci10eXBlID09ICdtYXJnaW4nKSB7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KCRtaW4tYnJlYWtwb2ludCkge1xuICAgICAgQGVhY2ggJHZhbHVlIGluICRndXR0ZXItcG9zaXRpb24ge1xuICAgICAgICBtYXJnaW4tI3skdmFsdWV9OiAwO1xuICAgICAgfVxuXG4gICAgICA+ICN7JHNlbGVjdG9yfSB7XG4gICAgICAgIEBlYWNoICR2YWx1ZSBpbiAkZ3V0dGVyLXBvc2l0aW9uIHtcbiAgICAgICAgICBtYXJnaW4tI3skdmFsdWV9OiAwO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgJGV4Y2x1ZGVkLWJwczogLXpmLWJyZWFrcG9pbnRzLWxlc3MtdGhhbigkbWluLWJyZWFrcG9pbnQpO1xuXG4gICAgLy8gT3V0cHV0IG5ldyB3aWR0aHMgdG8gbm90IGluY2x1ZGUgZ3V0dGVyc1xuICAgIEBlYWNoICRicCBpbiAkYnJlYWtwb2ludC1jbGFzc2VzIHtcbiAgICAgIEBpZihzbC1jb250YWluKCRleGNsdWRlZC1icHMsICRicCkpIHtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkbWluLWJyZWFrcG9pbnQpIHtcbiAgICAgICAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICRncmlkLWNvbHVtbnMge1xuICAgICAgICAgICAgLy8gU2l6aW5nIChwZXJjZW50YWdlKVxuICAgICAgICAgICAgPiAuI3skYnB9LSN7JGl9IHtcbiAgICAgICAgICAgICAgQGluY2x1ZGUgeHktY2VsbC1zaXplKCRpLCAkZ3V0dGVyLXR5cGU6IG5vbmUpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfSBAZWxzZSB7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGJwKSB7XG4gICAgICAgICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkZ3JpZC1jb2x1bW5zIHtcbiAgICAgICAgICAgIC8vIFNpemluZyAocGVyY2VudGFnZSlcbiAgICAgICAgICAgID4gLiN7JGJwfS0jeyRpfSB7XG4gICAgICAgICAgICAgIEBpbmNsdWRlIHh5LWNlbGwtc2l6ZSgkaSwgJGd1dHRlci10eXBlOiBub25lKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQGVsc2Uge1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkbWluLWJyZWFrcG9pbnQpIHtcbiAgICAgIEBlYWNoICR2YWx1ZSBpbiAkZ3V0dGVyLXBvc2l0aW9uIHtcbiAgICAgICAgbWFyZ2luLSN7JHZhbHVlfTogMDtcbiAgICAgIH1cblxuICAgICAgPiAjeyRzZWxlY3Rvcn0ge1xuICAgICAgICBAZWFjaCAkdmFsdWUgaW4gJGd1dHRlci1wb3NpdGlvbiB7XG4gICAgICAgICAgcGFkZGluZy0jeyR2YWx1ZX06IDA7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCB4eS1ncmlkXG4vLy8vXG5cbi8vLyBSZXR1cm5zIHRoZSBhcHByb3ByaWF0ZSBDU1MgdmFsdWUgdG8gb2Zmc2V0IGEgY2VsbC5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfExpc3R9ICRuIC0gU2l6ZSB0byBvZmZzZXQgYnkuIFlvdSBjYW4gcGFzcyBpbiBhbnkgdmFsdWUgYWNjZXB0ZWQgYnkgdGhlIGB4eS1jZWxsKClgIG1peGluLCBzdWNoIGFzIGA2YCwgYDUwJWAsIG9yIGAxIG9mIDJgLlxuLy8vIEBwYXJhbSB7TnVtYmVyfE1hcH0gJGd1dHRlcnMgWyRncmlkLW1hcmdpbi1ndXR0ZXJzXSBNYXAgb2YgZ3V0dGVycyBvciBzaW5nbGUgdmFsdWUgdG8gdXNlIGZvciByZXNwb25zaXZlIGd1dHRlcnMuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkZ3V0dGVyLXR5cGUgW21hcmdpbl0gVGhlIHR5cGUgb2YgZ3V0dGVyIHRvIHVzZS4gQ2FuIGJlIGBtYXJnaW5gIG9yIGBwYWRkaW5nYFxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkYnJlYWtwb2ludCBbbnVsbF0gLSBUaGUgbmFtZSBvZiB0aGUgYnJlYWtwb2ludCBzaXplIGluIHlvdXIgZ3V0dGVycyBtYXAgdG8gZ2V0IHRoZSBzaXplIGZyb20uIElmIHVzaW5nIHdpdGggdGhlIGBicmVha3BvaW50KClgIG1peGluIHRoaXMgd2lsbCBiZSBzZXQgYXV0b21hdGljYWxseSB1bmxlc3MgbWFudWFsbHkgZW50ZXJlZC5cbi8vL1xuLy8vIEByZXR1cm5zIHtOdW1iZXJ8U3RyaW5nfSBUaGUgY2VsbCBvZmZzZXQgcHJvcGVydHkgdmFsdWUuXG5AZnVuY3Rpb24geHktY2VsbC1vZmZzZXQoXG4gICRuLFxuICAkZ3V0dGVyczogJGdyaWQtbWFyZ2luLWd1dHRlcnMsXG4gICRndXR0ZXItdHlwZTogbWFyZ2luLFxuICAkYnJlYWtwb2ludDogbnVsbFxuKSB7XG4gICRicmVha3BvaW50OiAtemYtY3VycmVudC1icmVha3BvaW50KCRicmVha3BvaW50LCAkZGVmYXVsdDogJC16Zi16ZXJvLWJyZWFrcG9pbnQpO1xuICAkc2l6ZTogeHktY2VsbC1zaXplKCRuKTtcblxuICAkb2Zmc2V0OiAkc2l6ZTtcbiAgQGlmICgkZ3V0dGVyLXR5cGUgPT0gJ21hcmdpbicpIHtcbiAgICAkZ3V0dGVyOiByZW0tY2FsYyh4eS1jZWxsLWd1dHRlcnMoJGd1dHRlcnMsICRicmVha3BvaW50KSk7XG4gICAgJG9mZnNldDogaWYoJGd1dHRlciA9PSAwLCAkc2l6ZSwgY2FsYygjeyRzaXplfSArICN7JGd1dHRlcn0gLyAyKSk7XG4gIH1cbiAgQHJldHVybiAkb2Zmc2V0O1xufVxuXG4vLy8gT2Zmc2V0cyBhIGNvbHVtbiB0byB0aGUgcmlnaHQvYm90dG9tIGJ5IGAkbmAgY29sdW1ucy5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfExpc3R9ICRuIC0gU2l6ZSB0byBvZmZzZXQgYnkuIFlvdSBjYW4gcGFzcyBpbiBhbnkgdmFsdWUgYWNjZXB0ZWQgYnkgdGhlIGB4eS1jZWxsKClgIG1peGluLCBzdWNoIGFzIGA2YCwgYDUwJWAsIG9yIGAxIG9mIDJgLlxuLy8vIEBwYXJhbSB7TnVtYmVyfE1hcH0gJGd1dHRlcnMgWyRncmlkLW1hcmdpbi1ndXR0ZXJzXSBNYXAgb2YgZ3V0dGVycyBvciBzaW5nbGUgdmFsdWUgdG8gdXNlIGZvciByZXNwb25zaXZlIGd1dHRlcnMuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkZ3V0dGVyLXR5cGUgW21hcmdpbl0gVGhlIHR5cGUgb2YgZ3V0dGVyIHRvIHVzZS4gQ2FuIGJlIGBtYXJnaW5gIG9yIGBwYWRkaW5nYFxuLy8vIEBwYXJhbSB7TnVtYmVyfEFycmF5fEtleXdvcmR9ICRicmVha3BvaW50IFtudWxsXSAtIEJyZWFrcG9pbnQgdG8gdXNlIGZvciBgJGd1dHRlcnNgLiBJdCBjYW4gYmUgYSBicmVha3BvaW50IG5hbWUsIGxpc3Qgb2YgYnJlYWtwb2ludHMgb3IgYGF1dG9gIGZvciBhbGwgYnJlYWtwb2ludHMuIElmIGEgbGlzdCBpcyBnaXZlbiwgbWVkaWEtcXVlcmllcyB3aWxsIGJlIGdlbmVyYXRlZC4gSWYgdXNpbmcgd2l0aCB0aGUgYGJyZWFrcG9pbnQoKWAgbWl4aW4gdGhpcyB3aWxsIGJlIHNldCBhdXRvbWF0aWNhbGx5IHVubGVzcyBtYW51YWxseSBlbnRlcmVkLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJHZlcnRpY2FsIFtmYWxzZV0gU2V0cyB0aGUgZGlyZWN0aW9uIG9mIHRoZSBvZmZzZXQuIElmIHNldCB0byB0cnVlIHdpbGwgYXBwbHkgbWFyZ2luLXRvcCBpbnN0ZWFkLlxuQG1peGluIHh5LWNlbGwtb2Zmc2V0KFxuICAkbixcbiAgJGd1dHRlcnM6ICRncmlkLW1hcmdpbi1ndXR0ZXJzLFxuICAkZ3V0dGVyLXR5cGU6IG1hcmdpbixcbiAgJGJyZWFrcG9pbnQ6IG51bGwsXG4gICR2ZXJ0aWNhbDogZmFsc2Vcbikge1xuICAkYnJlYWtwb2ludDogLXpmLWN1cnJlbnQtYnJlYWtwb2ludCgkYnJlYWtwb2ludCwgJGRlZmF1bHQ6ICQtemYtemVyby1icmVha3BvaW50KTtcbiAgJGRpcmVjdGlvbjogaWYoJHZlcnRpY2FsLCAndG9wJywgJGdsb2JhbC1sZWZ0KTtcblxuICBAaW5jbHVkZSAtemYtZWFjaC1icmVha3BvaW50LWluKCRicmVha3BvaW50LCAkbWVkaWEtcXVlcmllczogJ2Zvci1saXN0cycpIHtcbiAgICAkb2Zmc2V0OiB4eS1jZWxsLW9mZnNldCgkbiwgJGd1dHRlcnMsICRndXR0ZXItdHlwZSk7XG4gICAgbWFyZ2luLSN7JGRpcmVjdGlvbn06ICN7JG9mZnNldH07XG4gIH1cbn1cbiIsIi8vIHNhc3MtbGludDpkaXNhYmxlIG5vLXZlbmRvci1wcmVmaXhlc1xuXG4vLy8gTW9kaWZpZXMgYSBncmlkIHRvIGdpdmUgaXQgXCJmcmFtZVwiIGJlaGF2aW9yIChubyBvdmVyZmxvdywgbm8gd3JhcCwgc3RyZXRjaCBiZWhhdmlvcilcbi8vL1xuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJHZlcnRpY2FsIFtmYWxzZV0gLSBJcyBncmlkIHZlcnRpY2FsIG9yIGhvcml6b250YWwuIFNob3VsZCBtYXRjaCBncmlkLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJG5lc3RlZCBbZmFsc2VdIC0gSXMgZ3JpZCBuZXN0ZWQgb3Igbm90LiBJZiBuZXN0ZWQgaXMgdHJ1ZSB0aGlzIHNldHMgdGhlIGZyYW1lIHRvIDEwMCUgaGVpZ2h0LCBvdGhlcndpc2Ugd2lsbCBiZSAxMDB2aC5cbi8vLyBAcGFyYW0ge051bWJlcnxNYXB9ICRndXR0ZXJzIFtudWxsXSAtIE1hcCBvciBzaW5nbGUgdmFsdWUgZm9yIGd1dHRlcnMuXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRicmVha3BvaW50IFtudWxsXSAtIFRoZSBuYW1lIG9mIHRoZSBicmVha3BvaW50IHNpemUgaW4geW91ciBndXR0ZXJzIG1hcCB0byBnZXQgdGhlIHNpemUgZnJvbS5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRpbmNsdWRlLWJhc2UgW3RydWVdIC0gSW5jbHVkZSB0aGUgYmFzZSBzdHlsZXMgdGhhdCBkb24ndCB2YXJ5IHBlciBicmVha3BvaW50LlxuQG1peGluIHh5LWdyaWQtZnJhbWUoXG4gICR2ZXJ0aWNhbDogZmFsc2UsXG4gICRuZXN0ZWQ6IGZhbHNlLFxuICAkZ3V0dGVyczogbnVsbCxcbiAgJGJyZWFrcG9pbnQ6IG51bGwsXG4gICRpbmNsdWRlLWJhc2U6IHRydWVcbikge1xuXG4gIEBpZiAkaW5jbHVkZS1iYXNlIHtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgICBhbGlnbi1pdGVtczogc3RyZXRjaDtcbiAgfVxuXG4gIEBpZiAkYnJlYWtwb2ludCA9PSBudWxsIGFuZCB0eXBlLW9mKCRndXR0ZXJzKSA9PSAnbWFwJyB7XG4gICAgQGluY2x1ZGUgLXpmLWVhY2gtYnJlYWtwb2ludCgpIHtcbiAgICAgIEBpbmNsdWRlIHh5LWdyaWQtZnJhbWUoJHZlcnRpY2FsLCAkbmVzdGVkLCAkZ3V0dGVycywgJC16Zi1zaXplLCBmYWxzZSk7XG4gICAgfVxuICB9IEBlbHNlIHtcbiAgICAvLyBHZXQgb3VyIGd1dHRlcnMgaWYgYXBwbGljYWJsZVxuICAgICRndXR0ZXI6IC16Zi1nZXQtYnAtdmFsKCRndXR0ZXJzLCAkYnJlYWtwb2ludCk7XG5cbiAgICAvLyBJZiB3ZSBoYXZlIGEgZ3V0dGVyLCBhZGQgaXQgdG8gdGhlIHdpZHRoL2hlaWdodFxuICAgIEBpZiAkZ3V0dGVyIHtcbiAgICAgIEBpZiAkdmVydGljYWwgPT0gdHJ1ZSB7XG4gICAgICAgICR1bml0OiBpZigkbmVzdGVkID09IHRydWUsIDEwMCUsIDEwMHZoKTtcbiAgICAgICAgJGd1dHRlcjogcmVtLWNhbGMoJGd1dHRlcik7XG4gICAgICAgIGhlaWdodDogY2FsYygjeyR1bml0fSArICN7JGd1dHRlcn0pO1xuICAgICAgfSBAZWxzZSB7XG4gICAgICAgICR1bml0OiBpZigkbmVzdGVkID09IHRydWUsIDEwMCUsIDEwMHZ3KTtcbiAgICAgICAgJGd1dHRlcjogcmVtLWNhbGMoJGd1dHRlcik7XG4gICAgICAgIHdpZHRoOiBjYWxjKCN7JHVuaXR9ICsgI3skZ3V0dGVyfSk7XG4gICAgICB9XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIEBpZiAkdmVydGljYWwgPT0gdHJ1ZSB7XG4gICAgICAgIGhlaWdodDogaWYoJG5lc3RlZCA9PSB0cnVlLCAxMDAlLCAxMDB2aCk7XG4gICAgICB9IEBlbHNlIHtcbiAgICAgICAgd2lkdGg6IGlmKCRuZXN0ZWQgPT0gdHJ1ZSwgMTAwJSwgMTAwdncpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLy8gTW9kaWZpZXMgYSBjZWxsIHRvIGdpdmUgaXQgXCJibG9ja1wiIGJlaGF2aW9yIChvdmVyZmxvdyBhdXRvLCBpbmVydGlhbCBzY3JvbGxpbmcpXG4vLy9cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICR2ZXJ0aWNhbCBbZmFsc2VdIC0gSXMgZ3JpZCB2ZXJ0aWNhbCBvciBob3Jpem9udGFsLiBTaG91bGQgbWF0Y2ggZ3JpZC5cbkBtaXhpbiB4eS1jZWxsLWJsb2NrKFxuICAkdmVydGljYWw6IGZhbHNlXG4pIHtcbiAgJHByb3BlcnR5OiBpZigkdmVydGljYWwgPT0gdHJ1ZSwgJ292ZXJmbG93LXknLCAnb3ZlcmZsb3cteCcpO1xuXG4gIEBpZiAkdmVydGljYWwgPT0gdHJ1ZSB7XG4gICAgb3ZlcmZsb3cteTogYXV0bztcbiAgICBtYXgtaGVpZ2h0OiAxMDAlO1xuICAgIG1pbi1oZWlnaHQ6IDEwMCU7XG4gIH0gQGVsc2Uge1xuICAgIG92ZXJmbG93LXg6IGF1dG87XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICB9XG5cbiAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoO1xuICAtbXMtb3ZlcmZsb3ctc3R5bGU6IC1tcy1hdXRvaGlkaW5nLXNjcm9sbGJhcjtcbn1cblxuLy8vIENvbnRhaW5lciBmb3IgaW5zaWRlIGEgZ3JpZCBmcmFtZSBjb250YWluaW5nIG11bHRpcGxlIGJsb2Nrcy4gVHlwaWNhbGx5IHVzZWRcbi8vLyBhcyBhIG1vZGlmaWVyIGZvciBhIGAuY2VsbGAgdG8gYWxsb3cgdGhlIGNlbGwgdG8gcGFzcyBhbG9uZyBmbGV4IHNpemluZ1xuLy8vIGNvbnN0cmFpbnRzIC8gZnJvbSBwYXJlbnRzIHRvIGNoaWxkcmVuLlxuQG1peGluIHh5LWNlbGwtYmxvY2stY29udGFpbmVyKCkge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBtYXgtaGVpZ2h0OiAxMDAlO1xuXG4gID4gLmdyaWQteCB7XG4gICAgbWF4LWhlaWdodDogMTAwJTtcbiAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGJ1dHRvbi1ncm91cFxuLy8vL1xuXG4vLy8gTWFyZ2luIGZvciBidXR0b24gZ3JvdXBzLlxuLy8vIEB0eXBlIE51bWJlclxuJGJ1dHRvbmdyb3VwLW1hcmdpbjogMXJlbSAhZGVmYXVsdDtcblxuLy8vIE1hcmdpbiBiZXR3ZWVuIGJ1dHRvbnMgaW4gYSBidXR0b24gZ3JvdXAuXG4vLy8gQHR5cGUgTnVtYmVyXG4kYnV0dG9uZ3JvdXAtc3BhY2luZzogMXB4ICFkZWZhdWx0O1xuXG4vLy8gU2VsZWN0b3IgZm9yIHRoZSBidXR0b25zIGluc2lkZSBhIGJ1dHRvbiBncm91cC5cbi8vLyBAdHlwZSBTdHJpbmdcbiRidXR0b25ncm91cC1jaGlsZC1zZWxlY3RvcjogJy5idXR0b24nICFkZWZhdWx0O1xuXG4vLy8gTWF4aW11bSBudW1iZXIgb2YgYnV0dG9ucyB0aGF0IGNhbiBiZSBpbiBhbiBldmVuLXdpZHRoIGJ1dHRvbiBncm91cC4gKE9ubHkgbmVlZGVkIHdoZW4gJGdsb2JhbC1mbGV4Ym94OiBmYWxzZTspXG4vLy8gQHR5cGUgTnVtYmVyXG4kYnV0dG9uZ3JvdXAtZXhwYW5kLW1heDogNiAhZGVmYXVsdDtcblxuLy8vIERldGVybWluZXMgaWYgJGJ1dHRvbi1yYWRpdXMgaXMgYXBwbGllZCB0byBlYWNoIGJ1dHRvbiBvciB0aGUgYnV0dG9uIGdyb3VwIGFzIGEgd2hvbGUuIFVzZSAkZ2xvYmFsLXJhZGl1cyBpbiBfc2V0dGluZ3Muc2NzcyB0byBjaGFuZ2UgcmFkaXVzLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRidXR0b25ncm91cC1yYWRpdXMtb24tZWFjaDogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIEFkZCBzdHlsZXMgZm9yIGEgYnV0dG9uIGdyb3VwIGNvbnRhaW5lci5cbi8vLyBAcGFyYW0ge1N0cmluZ30gJGNoaWxkLXNlbGVjdG9yIFskYnV0dG9uZ3JvdXAtY2hpbGQtc2VsZWN0b3JdIC0gU2VsZWN0b3IgZm9yIHRoZSBidXR0b25zIGluc2lkZSBhIGJ1dHRvbiBncm91cC5cbi8vLyBAcGFyYW0ge051bWJlcn0gJHNwYWNpbmcgWyRidXR0b25ncm91cC1zcGFjaW5nXSAtIFNwYWNpbmcgYmV0d2VlbiBidXR0b25zIGluIGEgYnV0dG9uIGdyb3VwLlxuQG1peGluIGJ1dHRvbi1ncm91cChcbiAgJGNoaWxkLXNlbGVjdG9yOiAkYnV0dG9uZ3JvdXAtY2hpbGQtc2VsZWN0b3IsXG4gICRzcGFjaW5nOiAkYnV0dG9uZ3JvdXAtc3BhY2luZ1xuKSB7XG4gIEBpbmNsdWRlIGNsZWFyZml4O1xuICBtYXJnaW4tYm90dG9tOiAkYnV0dG9uZ3JvdXAtbWFyZ2luO1xuXG4gIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xuICAgIGZsZXgtZ3JvdzogMTtcblxuICAgICY6OmJlZm9yZSxcbiAgICAmOjphZnRlciB7XG4gICAgICBkaXNwbGF5OiBub25lOyAvLyBEaXNhYmxlIGNsZWFyZml4XG4gICAgfVxuICB9XG4gIEBlbHNlIHtcbiAgICBmb250LXNpemU6IDA7XG4gIH1cblxuICAjeyRjaGlsZC1zZWxlY3Rvcn0ge1xuICAgIG1hcmdpbjogMDtcbiAgICBtYXJnaW4tI3skZ2xvYmFsLXJpZ2h0fTogJHNwYWNpbmc7XG4gICAgbWFyZ2luLWJvdHRvbTogJHNwYWNpbmc7XG4gICAgZm9udC1zaXplOiBtYXAtZ2V0KCRidXR0b24tc2l6ZXMsIGRlZmF1bHQpO1xuXG4gICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICBmbGV4OiAwIDAgYXV0bztcbiAgICB9XG5cbiAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgbWFyZ2luLSN7JGdsb2JhbC1yaWdodH06IDA7XG4gICAgfVxuXG4gICAgQGlmIG5vdCAkYnV0dG9uZ3JvdXAtcmFkaXVzLW9uLWVhY2gge1xuICAgICAgYm9yZGVyLXJhZGl1czogMDtcblxuICAgICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAgIGJvcmRlci10b3AtI3skZ2xvYmFsLWxlZnR9LXJhZGl1czogJGJ1dHRvbi1yYWRpdXM7XG4gICAgICAgIGJvcmRlci1ib3R0b20tI3skZ2xvYmFsLWxlZnR9LXJhZGl1czogJGJ1dHRvbi1yYWRpdXM7XG4gICAgICB9XG5cbiAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgIGJvcmRlci10b3AtI3skZ2xvYmFsLXJpZ2h0fS1yYWRpdXM6ICRidXR0b24tcmFkaXVzO1xuICAgICAgICBib3JkZXItYm90dG9tLSN7JGdsb2JhbC1yaWdodH0tcmFkaXVzOiAkYnV0dG9uLXJhZGl1cztcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8vIE1ha2UgYnV0dG9ucyBib25kZWQgd2l0aG91dCBnYXAgYmV0d2VlbiB0aGVtLiBCb3JkZXJzIGJldHdlZW4gYnV0dG9ucyBhcmUgbWVyZ2VkXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRzZWxlY3RvciBbJGJ1dHRvbmdyb3VwLWNoaWxkLXNlbGVjdG9yXSAtIFNlbGVjdG9yIGZvciB0aGUgYnV0dG9ucyBpbnNpZGUgYSBidXR0b24gZ3JvdXAuXG5AbWl4aW4gYnV0dG9uLWdyb3VwLW5vLWdhcHMoXG4gICRzZWxlY3RvcjogJGJ1dHRvbmdyb3VwLWNoaWxkLXNlbGVjdG9yLFxuICAkYm9yZGVyLXdpZHRoOiAkYnV0dG9uLWhvbGxvdy1ib3JkZXItd2lkdGhcbikge1xuICAjeyRzZWxlY3Rvcn0ge1xuICAgIG1hcmdpbi0jeyRnbG9iYWwtcmlnaHR9OiByZW0tY2FsYygtJGJvcmRlci13aWR0aCk7XG5cbiAgICArICN7JHNlbGVjdG9yfSB7XG4gICAgICBib3JkZXItI3skZ2xvYmFsLWxlZnR9LWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICB9XG4gIH1cbn1cblxuLy8vIENyZWF0ZXMgYSBmdWxsLXdpZHRoIGJ1dHRvbiBncm91cCwgbWFraW5nIGVhY2ggYnV0dG9uIGVxdWFsIHdpZHRoLlxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkc2VsZWN0b3IgWyRidXR0b25ncm91cC1jaGlsZC1zZWxlY3Rvcl0gLSBTZWxlY3RvciBmb3IgdGhlIGJ1dHRvbnMgaW5zaWRlIGEgYnV0dG9uIGdyb3VwLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkc3BhY2luZyBbJGJ1dHRvbmdyb3VwLXNwYWNpbmddIC0gU3BhY2luZyBiZXR3ZWVuIGJ1dHRvbnMgaW4gYSBidXR0b24gZ3JvdXAuXG5AbWl4aW4gYnV0dG9uLWdyb3VwLWV4cGFuZChcbiAgJHNlbGVjdG9yOiAkYnV0dG9uZ3JvdXAtY2hpbGQtc2VsZWN0b3IsXG4gICRzcGFjaW5nOiAkYnV0dG9uZ3JvdXAtc3BhY2luZyxcbiAgJGNvdW50OiBudWxsXG4pIHtcbiAgQGlmIG5vdCAkZ2xvYmFsLWZsZXhib3gge1xuICAgIG1hcmdpbi0jeyRnbG9iYWwtcmlnaHR9OiAtJHNwYWNpbmc7XG5cbiAgICAmOjpiZWZvcmUsXG4gICAgJjo6YWZ0ZXIge1xuICAgICAgZGlzcGxheTogbm9uZTsgLy8gRGlzYWJsZSBjbGVhcmZpeFxuICAgIH1cbiAgfVxuXG4gICN7JHNlbGVjdG9yfSB7XG4gICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICBmbGV4OiAxIDEgMHB4OyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIHplcm8tdW5pdFxuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICAvLyBPbmUgY2hpbGRcbiAgICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAjeyRzcGFjaW5nfSk7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLy8gVHdvIG9yIG1vcmUgY2hpbGRyZWVuXG4gICAgICBAZm9yICRpIGZyb20gMiB0aHJvdWdoICRidXR0b25ncm91cC1leHBhbmQtbWF4IHtcbiAgICAgICAgJjpmaXJzdC1jaGlsZDpudGgtbGFzdC1jaGlsZCgjeyRpfSkge1xuICAgICAgICAgICYsICY6Zmlyc3QtY2hpbGQ6bnRoLWxhc3QtY2hpbGQoI3skaX0pIH4gI3skc2VsZWN0b3J9IHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgIHdpZHRoOiBjYWxjKCN7cGVyY2VudGFnZShkaXZpZGUoMSwgJGkpKX0gLSAjeyRzcGFjaW5nfSk7XG4gICAgICAgICAgICBtYXJnaW4tI3skZ2xvYmFsLXJpZ2h0fTogJHNwYWNpbmc7XG5cbiAgICAgICAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgICAgIG1hcmdpbi0jeyRnbG9iYWwtcmlnaHR9OiAkc3BhY2luZyAqIC0kYnV0dG9uZ3JvdXAtZXhwYW5kLW1heDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8vIFN0YWNrcyB0aGUgYnV0dG9ucyBpbiBhIGJ1dHRvbiBncm91cC5cbi8vLyBAcGFyYW0ge1N0cmluZ30gJHNlbGVjdG9yIFskYnV0dG9uZ3JvdXAtY2hpbGQtc2VsZWN0b3JdIC0gU2VsZWN0b3IgZm9yIHRoZSBidXR0b25zIGluc2lkZSB0aGUgYnV0dG9uIGdyb3VwLlxuQG1peGluIGJ1dHRvbi1ncm91cC1zdGFjayhcbiAgJHNlbGVjdG9yOiAkYnV0dG9uZ3JvdXAtY2hpbGQtc2VsZWN0b3Jcbikge1xuICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gIH1cblxuICAjeyRzZWxlY3Rvcn0ge1xuICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgZmxleDogMCAwIDEwMCU7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cblxuICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIH1cblxuICAgIEBpZiBub3QgJGJ1dHRvbmdyb3VwLXJhZGl1cy1vbi1lYWNoIHtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDA7XG5cbiAgICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICBib3JkZXItdG9wLSN7JGdsb2JhbC1sZWZ0fS1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuICAgICAgICBib3JkZXItdG9wLSN7JGdsb2JhbC1yaWdodH0tcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiAgICAgIH1cblxuICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgYm9yZGVyLWJvdHRvbS0jeyRnbG9iYWwtbGVmdH0tcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiAgICAgICAgYm9yZGVyLWJvdHRvbS0jeyRnbG9iYWwtcmlnaHR9LXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vLyBVbi1zdGFja3MgdGhlIGJ1dHRvbnMgaW4gYSBidXR0b24gZ3JvdXAuXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRzZWxlY3RvciBbJGJ1dHRvbmdyb3VwLWNoaWxkLXNlbGVjdG9yXSAtIFNlbGVjdG9yIGZvciB0aGUgYnV0dG9ucyBpbnNpZGUgdGhlIGJ1dHRvbiBncm91cC5cbkBtaXhpbiBidXR0b24tZ3JvdXAtdW5zdGFjayhcbiAgJHNlbGVjdG9yOiAkYnV0dG9uZ3JvdXAtY2hpbGQtc2VsZWN0b3Jcbikge1xuICAjeyRzZWxlY3Rvcn0ge1xuICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgZmxleDogMCAwIGF1dG87XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIHdpZHRoOiBhdXRvO1xuICAgIH1cbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuXG4gICAgQGlmIG5vdCAkYnV0dG9uZ3JvdXAtcmFkaXVzLW9uLWVhY2gge1xuICAgICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAgIGJvcmRlci10b3AtI3skZ2xvYmFsLWxlZnR9LXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4gICAgICAgIGJvcmRlci10b3AtI3skZ2xvYmFsLXJpZ2h0fS1yYWRpdXM6IDA7XG4gICAgICAgIGJvcmRlci1ib3R0b20tI3skZ2xvYmFsLWxlZnR9LXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4gICAgICB9XG5cbiAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgIGJvcmRlci10b3AtI3skZ2xvYmFsLXJpZ2h0fS1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuICAgICAgICBib3JkZXItYm90dG9tLSN7JGdsb2JhbC1yaWdodH0tcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiAgICAgICAgYm9yZGVyLWJvdHRvbS0jeyRnbG9iYWwtbGVmdH0tcmFkaXVzOiAwO1xuICAgICAgfVxuICAgIH1cblxuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWJ1dHRvbi1ncm91cCB7XG4gIC5idXR0b24tZ3JvdXAge1xuICAgIEBpbmNsdWRlIGJ1dHRvbi1ncm91cDtcblxuICAgIC8vIFNpemVzXG4gICAgQGVhY2ggJHNpemUsICR2YWx1ZSBpbiBtYXAtcmVtb3ZlKCRidXR0b24tc2l6ZXMsIGRlZmF1bHQpIHtcbiAgICAgICYuI3skc2l6ZX0gI3skYnV0dG9uZ3JvdXAtY2hpbGQtc2VsZWN0b3J9IHtcbiAgICAgICAgZm9udC1zaXplOiAkdmFsdWU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gRXZlbi13aWR0aCBHcm91cFxuICAgICYuZXhwYW5kZWQge1xuICAgICAgQGluY2x1ZGUgYnV0dG9uLWdyb3VwLWV4cGFuZDtcbiAgICB9XG5cbiAgICAvLyBTb2xpZCwgaG9sbG93ICYgY2xlYXIgc3R5bGVzXG4gICAgQGVhY2ggJGZpbGxpbmcgaW4gKHNvbGlkIGhvbGxvdyBjbGVhcikge1xuICAgICAgJGJhc2Utc2VsZWN0b3I6IGlmKCRidXR0b24tZmlsbCA9PSAkZmlsbGluZywgbnVsbCwgJy4jeyRmaWxsaW5nfScpO1xuXG4gICAgICAmI3skYmFzZS1zZWxlY3Rvcn0ge1xuICAgICAgICAvLyBEbyBub3QgZ2VuZXJhdGUgYnV0dG9uIGJhc2Ugc3R5bGVzIGZvciB0aGUgZGVmYXVsdCBmaWxsaW5nXG4gICAgICAgIEBpZigkYnV0dG9uLWZpbGwgIT0gJGZpbGxpbmcpIHtcbiAgICAgICAgICAjeyRidXR0b25ncm91cC1jaGlsZC1zZWxlY3Rvcn0ge1xuICAgICAgICAgICAgQGluY2x1ZGUgYnV0dG9uLWZpbGwoJGZpbGxpbmcpO1xuICAgICAgICAgICAgQGluY2x1ZGUgYnV0dG9uLWZpbGwtc3R5bGUoJGZpbGxpbmcpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIEBlYWNoICRuYW1lLCAkY29sb3IgaW4gJGJ1dHRvbi1wYWxldHRlIHtcbiAgICAgICAgICAkaW5kaXZpZHVhbC1zZWxlY3RvcjogaWYoJGJ1dHRvbi1maWxsID09ICRmaWxsaW5nLCBudWxsLCAnICN7JGJ1dHRvbmdyb3VwLWNoaWxkLXNlbGVjdG9yfS4jeyRuYW1lfScpO1xuXG4gICAgICAgICAgJi4jeyRuYW1lfSAjeyRidXR0b25ncm91cC1jaGlsZC1zZWxlY3Rvcn0sICN7JGluZGl2aWR1YWwtc2VsZWN0b3J9IHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJ1dHRvbi1maWxsLXN0eWxlKCRmaWxsaW5nLCAkY29sb3IsIGF1dG8sIGF1dG8pO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgfVxuXG4gICAgJi5uby1nYXBzIHtcbiAgICAgIEBpbmNsdWRlIGJ1dHRvbi1ncm91cC1uby1nYXBzO1xuICAgIH1cblxuICAgICYuc3RhY2tlZCxcbiAgICAmLnN0YWNrZWQtZm9yLXNtYWxsLFxuICAgICYuc3RhY2tlZC1mb3ItbWVkaXVtIHtcbiAgICAgIEBpbmNsdWRlIGJ1dHRvbi1ncm91cC1zdGFjaztcblxuICAgICAgJi5leHBhbmRlZCB7XG4gICAgICAgIEBpbmNsdWRlIGJ1dHRvbi1ncm91cC1leHBhbmQ7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi5zdGFja2VkLWZvci1zbWFsbCB7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgICBAaW5jbHVkZSBidXR0b24tZ3JvdXAtdW5zdGFjaztcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLnN0YWNrZWQtZm9yLW1lZGl1bSB7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICAgIEBpbmNsdWRlIGJ1dHRvbi1ncm91cC11bnN0YWNrO1xuICAgICAgfVxuICAgIH1cblxuICAgICYuc3RhY2tlZC1mb3Itc21hbGwuZXhwYW5kZWQge1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuXG4gICAgICAgICN7JGJ1dHRvbmdyb3VwLWNoaWxkLXNlbGVjdG9yfSB7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgbWFyZ2luLSN7JGdsb2JhbC1yaWdodH06IDA7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLnN0YWNrZWQtZm9yLW1lZGl1bS5leHBhbmRlZCB7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuXG4gICAgICAgICN7JGJ1dHRvbmdyb3VwLWNoaWxkLXNlbGVjdG9yfSB7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgbWFyZ2luLSN7JGdsb2JhbC1yaWdodH06IDA7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBtZWRpYS1vYmplY3Rcbi8vLy9cblxuLy8vIEJvdHRvbSBtYXJnaW4gb2YgYSBtZWRpYSBvYmplY3QuXG4vLy8gQHR5cGUgTnVtYmVyXG4kbWVkaWFvYmplY3QtbWFyZ2luLWJvdHRvbTogJGdsb2JhbC1tYXJnaW4gIWRlZmF1bHQ7XG5cbi8vLyBMZWZ0IGFuZCByaWdodCBwYWRkaW5nIG9uIHNlY3Rpb25zIHdpdGhpbiBhIG1lZGlhIG9iamVjdC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRtZWRpYW9iamVjdC1zZWN0aW9uLXBhZGRpbmc6ICRnbG9iYWwtcGFkZGluZyAhZGVmYXVsdDtcblxuLy8vIFdpZHRoIG9mIGltYWdlcyB3aXRoaW4gYSBtZWRpYSBvYmplY3QsIHdoZW4gdGhlIG9iamVjdCBpcyBzdGFja2VkIHZlcnRpY2FsbHkuIFNldCB0byAnYXV0bycgdG8gdXNlIHRoZSBpbWFnZSdzIG5hdHVyYWwgd2lkdGguXG4vLy8gQHR5cGUgTnVtYmVyXG4kbWVkaWFvYmplY3QtaW1hZ2Utd2lkdGgtc3RhY2tlZDogMTAwJSAhZGVmYXVsdDtcblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhIG1lZGlhIG9iamVjdCBjb250YWluZXIuXG5AbWl4aW4gbWVkaWEtb2JqZWN0LWNvbnRhaW5lciB7XG4gIGRpc3BsYXk6IGlmKCRnbG9iYWwtZmxleGJveCwgZmxleCwgYmxvY2spO1xuICBtYXJnaW4tYm90dG9tOiAkbWVkaWFvYmplY3QtbWFyZ2luLWJvdHRvbTtcblxuICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgfVxuXG4gIGltZyB7XG4gICAgbWF4LXdpZHRoOiBub25lO1xuICB9XG5cbiAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgJi5zdGFjay1mb3ItI3skLXpmLXplcm8tYnJlYWtwb2ludH0ge1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkLXpmLXplcm8tYnJlYWtwb2ludCBvbmx5KSB7XG4gICAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciBzZWN0aW9ucyB3aXRoaW4gYSBtZWRpYSBvYmplY3QuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRwYWRkaW5nIFskbWVkaWFvYmplY3Qtc2VjdGlvbi1wYWRkaW5nXSAtIFBhZGRpbmcgYmV0d2VlbiBzZWN0aW9ucy5cbkBtaXhpbiBtZWRpYS1vYmplY3Qtc2VjdGlvbigkcGFkZGluZzogJG1lZGlhb2JqZWN0LXNlY3Rpb24tcGFkZGluZykge1xuICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICBmbGV4OiAwIDEgYXV0bztcbiAgfVxuICBAZWxzZSB7XG4gICAgZGlzcGxheTogdGFibGUtY2VsbDtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICB9XG5cbiAgJjpmaXJzdC1jaGlsZCB7XG4gICAgcGFkZGluZy0jeyRnbG9iYWwtcmlnaHR9OiAkcGFkZGluZztcbiAgfVxuXG4gICY6bGFzdC1jaGlsZDpub3QoOm50aC1jaGlsZCgyKSkge1xuICAgIHBhZGRpbmctI3skZ2xvYmFsLWxlZnR9OiAkcGFkZGluZztcbiAgfVxuXG4gID4gOmxhc3QtY2hpbGQge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gIH1cblxuICAuc3RhY2stZm9yLSN7JC16Zi16ZXJvLWJyZWFrcG9pbnR9ICYge1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJC16Zi16ZXJvLWJyZWFrcG9pbnQgb25seSkge1xuICAgICAgQGluY2x1ZGUgbWVkaWEtb2JqZWN0LXN0YWNrO1xuICAgIH1cbiAgfVxuXG4gIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICYubWFpbi1zZWN0aW9uIHtcbiAgICAgIGZsZXg6IDEgMSAwcHg7IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgemVyby11bml0XG4gICAgfVxuICB9XG4gIEBlbHNlIHtcbiAgICAmLm1pZGRsZSB7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgIH1cblxuICAgICYuYm90dG9tIHtcbiAgICAgIHZlcnRpY2FsLWFsaWduOiBib3R0b207XG4gICAgfVxuICB9XG59XG5cbi8vLyBBZGRzIHN0eWxlcyB0byBzdGFjayBzZWN0aW9ucyBvZiBhIG1lZGlhIG9iamVjdC4gQXBwbHkgdGhpcyB0byB0aGUgc2VjdGlvbiBlbGVtZW50cywgbm90IHRoZSBjb250YWluZXIuXG5AbWl4aW4gbWVkaWEtb2JqZWN0LXN0YWNrIHtcbiAgcGFkZGluZzogMDtcbiAgcGFkZGluZy1ib3R0b206ICRtZWRpYW9iamVjdC1zZWN0aW9uLXBhZGRpbmc7XG5cbiAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgZmxleC1iYXNpczogMTAwJTtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gIH1cbiAgQGVsc2Uge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG5cbiAgaW1nIHtcbiAgICB3aWR0aDogJG1lZGlhb2JqZWN0LWltYWdlLXdpZHRoLXN0YWNrZWQ7XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tbWVkaWEtb2JqZWN0IHtcbiAgLm1lZGlhLW9iamVjdCB7XG4gICAgQGluY2x1ZGUgbWVkaWEtb2JqZWN0LWNvbnRhaW5lcjtcbiAgfVxuXG4gIC5tZWRpYS1vYmplY3Qtc2VjdGlvbiB7XG4gICAgQGluY2x1ZGUgbWVkaWEtb2JqZWN0LXNlY3Rpb247XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCByZXNwb25zaXZlLWVtYmVkXG4vLy8vXG5cbi8vLyBNYXJnaW4gYmVsb3cgYSByZXNwb25zaXZlIGVtYmVkIGNvbnRhaW5lci5cbi8vLyBAdHlwZSBOdW1iZXJcbiRyZXNwb25zaXZlLWVtYmVkLW1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDE2KSAhZGVmYXVsdDtcblxuLy8vIEFzcGVjdCByYXRpb3MgdXNlZCB0byBkZXRlcm1pbmUgcGFkZGluZy1ib3R0b20gb2YgcmVzcG9uc2l2ZSBlbWJlZCBjb250YWluZXJzLlxuLy8vIEB0eXBlIE1hcFxuJHJlc3BvbnNpdmUtZW1iZWQtcmF0aW9zOiAoXG4gIGRlZmF1bHQ6IDQgYnkgMyxcbiAgd2lkZXNjcmVlbjogMTYgYnkgOSxcbikgIWRlZmF1bHQ7XG5cbi8vLyBDcmVhdGVzIGEgcmVzcG9uc2l2ZSBlbWJlZCBjb250YWluZXIuXG4vLy8gQHBhcmFtIHtTdHJpbmd8TGlzdH0gJHJhdGlvIFtkZWZhdWx0XSAtIFJhdGlvIG9mIHRoZSBjb250YWluZXIuIENhbiBiZSBhIGtleSBmcm9tIHRoZSBgJHJlc3BvbnNpdmUtZW1iZWQtcmF0aW9zYCBtYXAgb3IgYSBsaXN0IGZvcm1hdHRlZCBhcyBgeCBieSB5YC5cbkBtaXhpbiByZXNwb25zaXZlLWVtYmVkKCRyYXRpbzogZGVmYXVsdCkge1xuICBAaWYgdHlwZS1vZigkcmF0aW8pID09ICdzdHJpbmcnIHtcbiAgICAkcmF0aW86IG1hcC1nZXQoJHJlc3BvbnNpdmUtZW1iZWQtcmF0aW9zLCAkcmF0aW8pO1xuICB9XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgaGVpZ2h0OiAwO1xuICBtYXJnaW4tYm90dG9tOiAkcmVzcG9uc2l2ZS1lbWJlZC1tYXJnaW4tYm90dG9tO1xuICBwYWRkaW5nLWJvdHRvbTogcmF0aW8tdG8tcGVyY2VudGFnZSgkcmF0aW8pO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gIGlmcmFtZSxcbiAgb2JqZWN0LFxuICBlbWJlZCxcbiAgdmlkZW8ge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgI3skZ2xvYmFsLWxlZnR9OiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1yZXNwb25zaXZlLWVtYmVkIHtcbiAgLnJlc3BvbnNpdmUtZW1iZWQsXG4gIC5mbGV4LXZpZGVvIHtcbiAgICBAaW5jbHVkZSByZXNwb25zaXZlLWVtYmVkKCRyYXRpbzogZGVmYXVsdCk7XG5cbiAgICAkcmF0aW9zOiBtYXAtcmVtb3ZlKCRyZXNwb25zaXZlLWVtYmVkLXJhdGlvcywgZGVmYXVsdCk7XG5cbiAgICBAZWFjaCAkbmFtZSwgJHJhdGlvIGluICRyYXRpb3Mge1xuICAgICAgJi4jeyRuYW1lfSB7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiByYXRpby10by1wZXJjZW50YWdlKCRyYXRpbyk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCJAbWl4aW4gZm91bmRhdGlvbi1tZW51LWljb24ge1xuICAubWVudS1pY29uIHtcbiAgICBAaW5jbHVkZSBoYW1idXJnZXIoJGNvbG9yOiAkdGl0bGViYXItaWNvbi1jb2xvciwgJGNvbG9yLWhvdmVyOiAkdGl0bGViYXItaWNvbi1jb2xvci1ob3Zlcik7XG4gIH1cblxuICAubWVudS1pY29uLmRhcmsge1xuICAgIEBpbmNsdWRlIGhhbWJ1cmdlcjtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG5AbWl4aW4gZm91bmRhdGlvbi1zdGlja3kge1xuICAuc3RpY2t5LWNvbnRhaW5lciB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB9XG5cbiAgLnN0aWNreSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHotaW5kZXg6IDA7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgfVxuXG4gIC5zdGlja3kuaXMtc3R1Y2sge1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICB6LWluZGV4OiA1O1xuICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgJi5pcy1hdC10b3Age1xuICAgICAgdG9wOiAwO1xuICAgIH1cblxuICAgICYuaXMtYXQtYm90dG9tIHtcbiAgICAgIGJvdHRvbTogMDtcbiAgICB9XG4gIH1cblxuICAuc3RpY2t5LmlzLWFuY2hvcmVkIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcmlnaHQ6IGF1dG87XG4gICAgbGVmdDogYXV0bztcblxuICAgICYuaXMtYXQtYm90dG9tIHtcbiAgICAgIGJvdHRvbTogMDtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCB0b3AtYmFyXG4vLy8vXG5cbi8vLyBQYWRkaW5nIGZvciB0aGUgdG9wIGJhci5cbi8vLyBAdHlwZSBOdW1iZXJcbiR0b3BiYXItcGFkZGluZzogMC41cmVtICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBmb3IgdGhlIHRvcCBiYXIuIFRoaXMgY29sb3IgYWxzbyBjYXNjYWRlcyB0byBtZW51cyB3aXRoaW4gdGhlIHRvcCBiYXIuXG4vLy8gQHR5cGUgQ29sb3JcbiR0b3BiYXItYmFja2dyb3VuZDogJGxpZ2h0LWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIHN1Ym1lbnVzIHdpdGhpbiB0aGUgdG9wIGJhci4gVXNlZnVsbCBpZiAkdG9wYmFyLWJhY2tncm91bmQgaXMgdHJhbnNwYXJlbnQuXG4vLy8gQHR5cGUgQ29sb3JcbiR0b3BiYXItc3VibWVudS1iYWNrZ3JvdW5kOiAkdG9wYmFyLWJhY2tncm91bmQgIWRlZmF1bHQ7XG5cbi8vLyBTcGFjaW5nIGZvciB0aGUgdG9wIGJhciB0aXRsZS5cbi8vLyBAdHlwZSBOdW1iZXJcbiR0b3BiYXItdGl0bGUtc3BhY2luZzogMC41cmVtIDFyZW0gMC41cmVtIDAgIWRlZmF1bHQ7XG5cbi8vLyBNYXhpbXVtIHdpZHRoIG9mIGA8aW5wdXQ+YCBlbGVtZW50cyBpbnNpZGUgdGhlIHRvcCBiYXIuXG4vLy8gQHR5cGUgTnVtYmVyXG4kdG9wYmFyLWlucHV0LXdpZHRoOiAyMDBweCAhZGVmYXVsdDtcblxuLy8vIEJyZWFrcG9pbnQgYXQgd2hpY2ggdG9wIGJhciBzd2l0Y2hlcyBmcm9tIG1vYmlsZSB0byBkZXNrdG9wIHZpZXcuXG4vLy8gQHR5cGUgQnJlYWtwb2ludFxuJHRvcGJhci11bnN0YWNrLWJyZWFrcG9pbnQ6IG1lZGl1bSAhZGVmYXVsdDtcblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhIHRvcCBiYXIgY29udGFpbmVyLlxuQG1peGluIHRvcC1iYXItY29udGFpbmVyIHtcbiAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgfVxuICBAZWxzZSB7XG4gICAgQGluY2x1ZGUgY2xlYXJmaXg7XG4gIH1cblxuICBwYWRkaW5nOiAkdG9wYmFyLXBhZGRpbmc7XG5cbiAgJixcbiAgdWwge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICR0b3BiYXItYmFja2dyb3VuZDtcbiAgfVxuXG4gIC8vIENoZWNrIGlmICR0b3BiYXItYmFja2dyb3VuZCBpcyBkaWZmZXJudCBmcm9tICR0b3BiYXItYmFja2dyb3VuZC1zdWJtZW51XG4gIEBpZiAoJHRvcGJhci1iYWNrZ3JvdW5kICE9ICR0b3BiYXItc3VibWVudS1iYWNrZ3JvdW5kKSB7XG4gICAgdWwgdWwge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHRvcGJhci1zdWJtZW51LWJhY2tncm91bmQ7XG4gICAgfVxuICB9XG5cbiAgLy8gUmVzdHJhaW4gd2lkdGggb2YgaW5wdXRzIGJ5IGRlZmF1bHQgdG8gbWFrZSB0aGVtIGVhc2llciB0byBhcnJhbmdlXG4gIGlucHV0IHtcbiAgICBtYXgtd2lkdGg6ICR0b3BiYXItaW5wdXQtd2lkdGg7XG4gICAgbWFyZ2luLSN7JGdsb2JhbC1yaWdodH06IDFyZW07XG4gIH1cblxuICAvLyBUaGUgYWJvdmUgc3R5bGVzIHNob3VsZG4ndCBhcHBseSB0byBpbnB1dCBncm91cCBmaWVsZHNcbiAgLmlucHV0LWdyb3VwLWZpZWxkIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXJnaW4tI3skZ2xvYmFsLXJpZ2h0fTogMDtcbiAgfVxuXG4gIGlucHV0LmJ1dHRvbiB7IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgbm8tcXVhbGlmeWluZy1lbGVtZW50c1xuICAgIHdpZHRoOiBhdXRvO1xuICB9XG59XG5cbi8vLyBNYWtlcyBzZWN0aW9ucyBvZiBhIHRvcCBiYXIgc3RhY2sgb24gdG9wIG9mIGVhY2ggb3RoZXIuXG5AbWl4aW4gdG9wLWJhci1zdGFja2VkIHtcbiAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuXG4gICAgLy8gU3ViLXNlY3Rpb25zXG4gICAgLnRvcC1iYXItbGVmdCxcbiAgICAudG9wLWJhci1yaWdodCB7XG4gICAgICBmbGV4OiAwIDAgMTAwJTtcbiAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICB9XG4gIH1cbiAgQGVsc2Uge1xuICAgIC8vIFN1Yi1zZWN0aW9uc1xuICAgIC50b3AtYmFyLWxlZnQsXG4gICAgLnRvcC1iYXItcmlnaHQge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuICB9XG59XG5cbi8vLyBVbmRvZXMgdGhlIENTUyBhcHBsaWVkIGJ5IHRoZSBgdG9wLWJhci1zdGFja2VkKClgIG1peGluLlxuQG1peGluIHRvcC1iYXItdW5zdGFjayB7XG4gIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgIGZsZXgtd3JhcDogbm93cmFwO1xuXG4gICAgLnRvcC1iYXItbGVmdCB7XG4gICAgICBmbGV4OiAxIDEgYXV0bztcbiAgICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICB9XG5cbiAgICAudG9wLWJhci1yaWdodCB7XG4gICAgICBmbGV4OiAwIDEgYXV0bztcbiAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgIH1cbiAgfVxuICBAZWxzZSB7XG4gICAgLnRvcC1iYXItbGVmdCxcbiAgICAudG9wLWJhci1yaWdodCB7XG4gICAgICB3aWR0aDogYXV0bztcbiAgICB9XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tdG9wLWJhciB7XG4gIC8vIFRvcCBiYXIgY29udGFpbmVyXG4gIC50b3AtYmFyIHtcbiAgICBAaW5jbHVkZSB0b3AtYmFyLWNvbnRhaW5lcjtcblxuICAgIC8vIFN0YWNrIG9uIHNtYWxsIHNjcmVlbnMgYnkgZGVmYXVsdFxuICAgIEBpbmNsdWRlIHRvcC1iYXItc3RhY2tlZDtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHRvcGJhci11bnN0YWNrLWJyZWFrcG9pbnQpIHtcbiAgICAgIEBpbmNsdWRlIHRvcC1iYXItdW5zdGFjaztcbiAgICB9XG5cbiAgICAvLyBHZW5lcmF0ZSBjbGFzc2VzIGZvciBzdGFja2luZyBvbiBlYWNoIHNjcmVlbiBzaXplIChkZWZpbmVkIGluICRicmVha3BvaW50LWNsYXNzZXMpXG4gICAgQGVhY2ggJHNpemUgaW4gJGJyZWFrcG9pbnQtY2xhc3NlcyB7XG4gICAgICBAaWYgJHNpemUgIT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQge1xuICAgICAgICAmLnN0YWNrZWQtZm9yLSN7JHNpemV9IHtcbiAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRzaXplIGRvd24pIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIHRvcC1iYXItc3RhY2tlZDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBTdWItc2VjdGlvbnNcbiAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgLnRvcC1iYXItdGl0bGUge1xuICAgICAgZmxleDogMCAwIGF1dG87XG4gICAgICBtYXJnaW46ICR0b3BiYXItdGl0bGUtc3BhY2luZztcbiAgICB9XG5cbiAgICAudG9wLWJhci1sZWZ0LFxuICAgIC50b3AtYmFyLXJpZ2h0IHtcbiAgICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgIH1cbiAgfVxuICBAZWxzZSB7XG4gICAgLnRvcC1iYXItdGl0bGUge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICBwYWRkaW5nOiAkdG9wYmFyLXRpdGxlLXNwYWNpbmc7XG5cbiAgICAgIC5tZW51LWljb24ge1xuICAgICAgICBib3R0b206IDJweDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAudG9wLWJhci1sZWZ0IHtcbiAgICAgIGZsb2F0OiBsZWZ0O1xuICAgIH1cblxuICAgIC50b3AtYmFyLXJpZ2h0IHtcbiAgICAgIGZsb2F0OiByaWdodDtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBmbG9hdFxuLy8vL1xuXG5AbWl4aW4gZm91bmRhdGlvbi1mbG9hdC1jbGFzc2VzIHtcbiAgLmZsb2F0LWxlZnQge1xuICAgIGZsb2F0OiBsZWZ0ICFpbXBvcnRhbnQ7XG4gIH1cblxuICAuZmxvYXQtcmlnaHQge1xuICAgIGZsb2F0OiByaWdodCAhaW1wb3J0YW50O1xuICB9XG5cbiAgLmZsb2F0LWNlbnRlciB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICB9XG5cbiAgLmNsZWFyZml4IHtcbiAgICBAaW5jbHVkZSBjbGVhcmZpeDtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIEZsZXhib3ggVXRpbGl0aWVzXG4vLy8vXG4vL1xuLy8vIERlZmF1bHQgdmFsdWUgZm9yIHRoZSBjb3VudCBvZiBzb3VyY2Ugb3JkZXJpbmdgXG4vLy8gQHR5cGUgTnVtYmVyXG4kZmxleC1zb3VyY2Utb3JkZXJpbmctY291bnQ6IDYgIWRlZmF1bHQ7XG5cbi8vLyBRdWlja2x5IGRpc2FibGUvZW5hYmxlIFJlc3BvbnNpdmUgYnJlYWtwb2ludHMgZm9yIFZhbmlsbGEgRmxleCBIZWxwZXJzLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRmbGV4Ym94LXJlc3BvbnNpdmUtYnJlYWtwb2ludHM6IHRydWUgIWRlZmF1bHQ7XG5cbkBtaXhpbiBmbGV4LWhlbHBlcnMge1xuICAuZmxleC1jb250YWluZXIge1xuICAgIEBpbmNsdWRlIGZsZXg7XG4gIH1cblxuICAuZmxleC1jaGlsZC1hdXRvIHtcbiAgICBmbGV4OiAxIDEgYXV0bztcbiAgfVxuXG4gIC5mbGV4LWNoaWxkLWdyb3cge1xuICAgIGZsZXg6IDEgMCBhdXRvO1xuICB9XG5cbiAgLmZsZXgtY2hpbGQtc2hyaW5rIHtcbiAgICBmbGV4OiAwIDEgYXV0bztcbiAgfVxuXG4gIEBlYWNoICRkaXIsICRwcm9wIGluICQtemYtZmxleC1kaXJlY3Rpb24ge1xuICAgIC5mbGV4LWRpci0jeyRkaXJ9IHtcbiAgICAgIEBpbmNsdWRlIGZsZXgtZGlyZWN0aW9uKCRwcm9wKTtcbiAgICB9XG4gIH1cblxuICBAaWYgKCRmbGV4Ym94LXJlc3BvbnNpdmUtYnJlYWtwb2ludHMpIHtcbiAgICAvLyBMb29wIHRocm91Z2ggUmVzcG9uc2l2ZSBCcmVha3BvaW50c1xuICAgIEBlYWNoICRzaXplIGluICRicmVha3BvaW50LWNsYXNzZXMge1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkc2l6ZSkge1xuICAgICAgICBAaWYgJHNpemUgIT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQge1xuICAgICAgICAgIC4jeyRzaXplfS1mbGV4LWNvbnRhaW5lciB7XG4gICAgICAgICAgICBAaW5jbHVkZSBmbGV4O1xuICAgICAgICAgIH1cblxuICAgICAgICAgIC4jeyRzaXplfS1mbGV4LWNoaWxkLWF1dG8ge1xuICAgICAgICAgICAgZmxleDogMSAxIGF1dG87XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgLiN7JHNpemV9LWZsZXgtY2hpbGQtZ3JvdyB7XG4gICAgICAgICAgICBmbGV4OiAxIDAgYXV0bztcbiAgICAgICAgICB9XG5cbiAgICAgICAgICAuI3skc2l6ZX0tZmxleC1jaGlsZC1zaHJpbmsge1xuICAgICAgICAgICAgZmxleDogMCAxIGF1dG87XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgQGVhY2ggJGRpciwgJHByb3AgaW4gJC16Zi1mbGV4LWRpcmVjdGlvbiB7XG4gICAgICAgICAgICAuI3skc2l6ZX0tZmxleC1kaXItI3skZGlyfSB7XG4gICAgICAgICAgICAgIEBpbmNsdWRlIGZsZXgtZGlyZWN0aW9uKCRwcm9wKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tZmxleC1jbGFzc2VzIHtcbiAgLy8gSG9yaXpvbnRhbCBhbGlnbm1lbnQgdXNpbmcganVzdGlmeS1jb250ZW50XG4gIEBlYWNoICRoZGlyLCAkcHJvcCBpbiAkLXpmLWZsZXgtanVzdGlmeSB7XG4gICAgLmFsaWduLSN7JGhkaXJ9IHtcbiAgICAgIEBpbmNsdWRlIGZsZXgtYWxpZ24oJHg6ICRoZGlyKTtcbiAgICB9XG4gIH1cbiAgXG4gIC8vIEhvcml6b250YWwgYWxpZ25tZW50IFNwZWNpZmljYWxseSBmb3IgVmVydGljYWwgTWVudVxuICBAZWFjaCAkaGRpciwgJHByb3AgaW4gbWFwLXJlbW92ZSgkLXpmLWZsZXgtanVzdGlmeSwgJ2p1c3RpZnknLCAnc3BhY2VkJykge1xuICAgIC5hbGlnbi0jeyRoZGlyfSB7XG4gICAgICAmLnZlcnRpY2FsIHtcbiAgICAgICAgJi5tZW51ID4gbGkgPiBhIHtcbiAgICAgICAgICBAaW5jbHVkZSBmbGV4LWFsaWduKCR4OiAkaGRpcik7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBWZXJ0aWNhbCBhbGlnbm1lbnQgdXNpbmcgYWxpZ24taXRlbXMgYW5kIGFsaWduLXNlbGZcbiAgQGVhY2ggJHZkaXIsICRwcm9wIGluICQtemYtZmxleC1hbGlnbiB7XG4gICAgLmFsaWduLSN7JHZkaXJ9IHtcbiAgICAgIEBpbmNsdWRlIGZsZXgtYWxpZ24oJHk6ICR2ZGlyKTtcbiAgICB9XG5cbiAgICAuYWxpZ24tc2VsZi0jeyR2ZGlyfSB7XG4gICAgICBAaW5jbHVkZSBmbGV4LWFsaWduLXNlbGYoJHk6ICR2ZGlyKTtcbiAgICB9XG4gIH1cblxuICAvLyBDZW50cmFsIGFsaWdubWVudCBvZiBjb250ZW50XG4gIC5hbGlnbi1jZW50ZXItbWlkZGxlIHtcbiAgICBAaW5jbHVkZSBmbGV4LWFsaWduKCR4OiBjZW50ZXIsICR5OiBtaWRkbGUpO1xuICAgIGFsaWduLWNvbnRlbnQ6IGNlbnRlcjtcbiAgfVxuXG4gIC8vIFNvdXJjZSBvcmRlcmluZ1xuICBAaW5jbHVkZSAtemYtZWFjaC1icmVha3BvaW50IHtcbiAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICRmbGV4LXNvdXJjZS1vcmRlcmluZy1jb3VudCB7XG4gICAgICAuI3skLXpmLXNpemV9LW9yZGVyLSN7JGl9IHtcbiAgICAgICAgQGluY2x1ZGUgZmxleC1vcmRlcigkaSk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gVmFuaWxsYSBGbGV4Ym94IEhlbHBlcnNcbiAgQGluY2x1ZGUgZmxleC1oZWxwZXJzO1xufVxuIiwiQGZ1bmN0aW9uIC16Zi1mbGV4LWp1c3RpZnkoJHRleHQtZGlyZWN0aW9uKSB7XG4gICQtemYtZmxleC1qdXN0aWZ5OiAoXG4gICAgJ2xlZnQnOiBpZigkdGV4dC1kaXJlY3Rpb24gPT0gcnRsLCBmbGV4LWVuZCwgZmxleC1zdGFydCksXG4gICAgJ3JpZ2h0JzogaWYoJHRleHQtZGlyZWN0aW9uID09IHJ0bCwgZmxleC1zdGFydCwgZmxleC1lbmQpLFxuICAgICdjZW50ZXInOiBjZW50ZXIsXG4gICAgJ2p1c3RpZnknOiBzcGFjZS1iZXR3ZWVuLFxuICAgICdzcGFjZWQnOiBzcGFjZS1hcm91bmQsXG4gICk7XG5cbiAgQHJldHVybiAkLXpmLWZsZXgtanVzdGlmeTtcbn1cblxuXG4kLXpmLWZsZXgtYWxpZ246IChcbiAgJ3RvcCc6IGZsZXgtc3RhcnQsXG4gICdib3R0b20nOiBmbGV4LWVuZCxcbiAgJ21pZGRsZSc6IGNlbnRlcixcbiAgJ3N0cmV0Y2gnOiBzdHJldGNoLFxuKTtcblxuJC16Zi1mbGV4LWRpcmVjdGlvbjogKFxuICAncm93Jzogcm93LFxuICAncm93LXJldmVyc2UnOiByb3ctcmV2ZXJzZSxcbiAgJ2NvbHVtbic6IGNvbHVtbixcbiAgJ2NvbHVtbi1yZXZlcnNlJzogY29sdW1uLXJldmVyc2UsXG4pO1xuXG4vLy8gRW5hYmxlcyBmbGV4Ym94IGJ5IGFkZGluZyBgZGlzcGxheTogZmxleGAgdG8gdGhlIGVsZW1lbnQuXG5AbWl4aW4gZmxleCB7XG4gIGRpc3BsYXk6IGZsZXg7XG59XG5cbi8vLyBIb3Jpem9udGFsbHkgb3IgdmVydGljYWxseSBhbGlnbnMgdGhlIGl0ZW1zIHdpdGhpbiBhIGZsZXggY29udGFpbmVyLlxuLy8vXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkeCBbbnVsbF0gLSBIb3Jpem9udGFsIGFsaWdubWVudCB0byB1c2UuIENhbiBiZSBgbGVmdGAsIGByaWdodGAsIGBjZW50ZXJgLCBganVzdGlmeWAsIG9yIGBzcGFjZWRgLiBPciwgc2V0IGl0IHRvIGBudWxsYCAodGhlIGRlZmF1bHQpIHRvIG5vdCBzZXQgaG9yaXpvbnRhbCBhbGlnbm1lbnQuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkeSBbbnVsbF0gLSBWZXJ0aWNhbCBhbGlnbm1lbnQgdG8gdXNlLiBDYW4gYmUgYHRvcGAsIGBib3R0b21gLCBgbWlkZGxlYCwgb3IgYHN0cmV0Y2hgLiBPciwgc2V0IGl0IHRvIGBudWxsYCAodGhlIGRlZmF1bHQpIHRvIG5vdCBzZXQgdmVydGljYWwgYWxpZ25tZW50LlxuQG1peGluIGZsZXgtYWxpZ24oJHg6IG51bGwsICR5OiBudWxsKSB7XG4gIEBpZiAkeCB7XG4gICAgQGlmIG1hcC1oYXMta2V5KCQtemYtZmxleC1qdXN0aWZ5LCAkeCkge1xuICAgICAgJHg6IG1hcC1nZXQoJC16Zi1mbGV4LWp1c3RpZnksICR4KTtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgQHdhcm4gJ2ZsZXgtZ3JpZC1yb3ctYWxpZ24oKTogI3skeH0gaXMgbm90IGEgdmFsaWQgdmFsdWUgZm9yIGhvcml6b250YWwgYWxpZ25tZW50LiBVc2UgbGVmdCwgcmlnaHQsIGNlbnRlciwganVzdGlmeSwgb3Igc3BhY2VkLic7XG4gICAgfVxuICB9XG5cbiAgQGlmICR5IHtcbiAgICBAaWYgbWFwLWhhcy1rZXkoJC16Zi1mbGV4LWFsaWduLCAkeSkge1xuICAgICAgJHk6IG1hcC1nZXQoJC16Zi1mbGV4LWFsaWduLCAkeSk7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIEB3YXJuICdmbGV4LWdyaWQtcm93LWFsaWduKCk6ICN7JHl9IGlzIG5vdCBhIHZhbGlkIHZhbHVlIGZvciB2ZXJ0aWNhbCBhbGlnbm1lbnQuIFVzZSB0b3AsIGJvdHRvbSwgbWlkZGxlLCBvciBzdHJldGNoLic7XG4gICAgfVxuICB9XG5cbiAganVzdGlmeS1jb250ZW50OiAkeDtcbiAgYWxpZ24taXRlbXM6ICR5O1xufVxuXG4vLy8gVmVydGljYWxseSBhbGlnbiBhIHNpbmdsZSBjb2x1bW4gd2l0aGluIGEgZmxleCByb3cuIEFwcGx5IHRoaXMgbWl4aW4gdG8gYSBmbGV4IGNvbHVtbi5cbi8vL1xuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHkgW251bGxdIC0gVmVydGljYWwgYWxpZ25tZW50IHRvIHVzZS4gQ2FuIGJlIGB0b3BgLCBgYm90dG9tYCwgYG1pZGRsZWAsIG9yIGBzdHJldGNoYC4gT3IsIHNldCBpdCB0byBgbnVsbGAgKHRoZSBkZWZhdWx0KSB0byBub3Qgc2V0IHZlcnRpY2FsIGFsaWdubWVudC5cbkBtaXhpbiBmbGV4LWFsaWduLXNlbGYoJHk6IG51bGwpIHtcbiAgQGlmICR5IHtcbiAgICBAaWYgbWFwLWhhcy1rZXkoJC16Zi1mbGV4LWFsaWduLCAkeSkge1xuICAgICAgJHk6IG1hcC1nZXQoJC16Zi1mbGV4LWFsaWduLCAkeSk7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIEB3YXJuICdmbGV4LWdyaWQtY29sdW1uLWFsaWduKCk6ICN7JHl9IGlzIG5vdCBhIHZhbGlkIHZhbHVlIGZvciBhbGlnbm1lbnQuIFVzZSB0b3AsIGJvdHRvbSwgbWlkZGxlLCBvciBzdHJldGNoLic7XG4gICAgfVxuICB9XG5cbiAgYWxpZ24tc2VsZjogJHk7XG59XG5cbi8vLyBDaGFuZ2VzIHRoZSBzb3VyY2Ugb3JkZXIgb2YgYSBmbGV4IGNoaWxkLiBDaGlsZHJlbiB3aXRoIGxvd2VyIG51bWJlcnMgYXBwZWFyIGZpcnN0IGluIHRoZSBsYXlvdXQuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRvcmRlciBbMF0gLSBPcmRlciBudW1iZXIgdG8gYXBwbHkuXG5AbWl4aW4gZmxleC1vcmRlcigkb3JkZXI6IDApIHtcbiAgb3JkZXI6ICRvcmRlcjtcbn1cblxuLy8vIENoYW5nZSBmbGV4LWRpcmVjdGlvblxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGRpcmVjdGlvbiBbcm93XSAtIEZsZXggZGlyZWN0aW9uIHRvIHVzZS4gQ2FuIGJlXG4vLy8gICAtIHJvdyAoZGVmYXVsdCk6IHNhbWUgYXMgdGV4dCBkaXJlY3Rpb25cbi8vLyAgIC0gcm93LXJldmVyc2U6IG9wcG9zaXRlIHRvIHRleHQgZGlyZWN0aW9uXG4vLy8gICAtIGNvbHVtbjogc2FtZSBhcyByb3cgYnV0IHRvcCB0byBib3R0b21cbi8vLyAgIC0gY29sdW1uLXJldmVyc2U6IHNhbWUgYXMgcm93LXJldmVyc2UgdG9wIHRvIGJvdHRvbVxuQG1peGluIGZsZXgtZGlyZWN0aW9uKCRkaXJlY3Rpb246IHJvdykge1xuICBmbGV4LWRpcmVjdGlvbjogJGRpcmVjdGlvbjtcbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vIEhpZGUgYW4gZWxlbWVudCBieSBkZWZhdWx0LCBvbmx5IGRpc3BsYXlpbmcgaXQgYWJvdmUgYSBjZXJ0YWluIHNjcmVlbiBzaXplLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHNpemUgLSBCcmVha3BvaW50IHRvIHVzZS4gKipNdXN0IGJlIGEgYnJlYWtwb2ludCBkZWZpbmVkIGluIGAkYnJlYWtwb2ludHNgLioqXG5AbWl4aW4gc2hvdy1mb3IoJHNpemUpIHtcbiAgJHNpemU6IG1hcC1nZXQoJGJyZWFrcG9pbnRzLCAkc2l6ZSk7XG4gIC8vIE1heCB2YWx1ZSBpcyAwLjJweCB1bmRlciB0aGUgbmV4dCBicmVha3BvaW50ICgwLjAyIC8gMTYgPSAwLjAwMTI1KS5cbiAgLy8gVXNlIGEgcHJlY2lzaW9uIHVuZGVyIDFweCB0byBzdXBwb3J0IGJyb3dzZXIgem9vbSwgYnV0IG5vdCB0byBsb3cgdG8gYXZvaWQgcm91bmRpbmcuXG4gIC8vIFNlZSBodHRwczovL2dpdGh1Yi5jb20vZm91bmRhdGlvbi9mb3VuZGF0aW9uLXNpdGVzL2lzc3Vlcy8xMTMxM1xuICAkc2l6ZTogLXpmLWJwLXRvLWVtKCRzaXplKSAtIDAuMDAxMjU7XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludCgkc2l6ZSBkb3duKSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59XG5cbi8vLyBIaWRlIGFuIGVsZW1lbnQgYnkgZGVmYXVsdCwgb25seSBkaXNwbGF5aW5nIGl0IHdpdGhpbiBhIGNlcnRhaW4gYnJlYWtwb2ludC5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRzaXplIC0gQnJlYWtwb2ludCB0byB1c2UuICoqTXVzdCBiZSBhIGJyZWFrcG9pbnQgZGVmaW5lZCBpbiBgJGJyZWFrcG9pbnRzYC4qKlxuQG1peGluIHNob3ctZm9yLW9ubHkoJHNpemUpIHtcbiAgJGxvd2VyLWJvdW5kLXNpemU6IG1hcC1nZXQoJGJyZWFrcG9pbnRzLCAkc2l6ZSk7XG4gICR1cHBlci1ib3VuZC1zaXplOiAtemYtbWFwLW5leHQoJGJyZWFrcG9pbnRzLCAkc2l6ZSk7XG5cbiAgLy8gbW9yZSBvZnRlbiB0aGFuIG5vdCB0aGlzIHdpbGwgYmUgY29ycmVjdCwganVzdCBvbmUgdGltZSByb3VuZCB0aGUgbG9vcCBpdCB3b24ndCBzbyBzZXQgaW4gc2NvcGUgaGVyZVxuICAkbG93ZXItYm91bmQ6IC16Zi1icC10by1lbSgkbG93ZXItYm91bmQtc2l6ZSkgLSAwLjAwMTI1O1xuICAvLyB0ZXN0IGFjdHVhbCBsb3dlci1ib3VuZC1zaXplLCBpZiAwIHNldCBpdCB0byAwZW1cbiAgQGlmIHN0cmlwLXVuaXQoJGxvd2VyLWJvdW5kLXNpemUpID09IDAge1xuICAgICRsb3dlci1ib3VuZDogLXpmLWJwLXRvLWVtKCRsb3dlci1ib3VuZC1zaXplKTtcbiAgfVxuXG4gIEBpZiAkdXBwZXItYm91bmQtc2l6ZSA9PSBudWxsIHtcbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAkbG93ZXItYm91bmQpIHtcbiAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgICB9XG4gIH1cbiAgQGVsc2Uge1xuICAgICR1cHBlci1ib3VuZDogLXpmLWJwLXRvLWVtKCR1cHBlci1ib3VuZC1zaXplKTtcblxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICRsb3dlci1ib3VuZCksIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogJHVwcGVyLWJvdW5kKSB7XG4gICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG59XG5cblxuLy8vIFNob3cgYW4gZWxlbWVudCBieSBkZWZhdWx0LCBhbmQgaGlkZSBpdCBhYm92ZSBhIGNlcnRhaW4gc2NyZWVuIHNpemUuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkc2l6ZSAtIEJyZWFrcG9pbnQgdG8gdXNlLiAqKk11c3QgYmUgYSBicmVha3BvaW50IGRlZmluZWQgaW4gYCRicmVha3BvaW50c2AuKipcbkBtaXhpbiBoaWRlLWZvcigkc2l6ZSkge1xuICBAaW5jbHVkZSBicmVha3BvaW50KCRzaXplKSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59XG5cbi8vLyBTaG93IGFuIGVsZW1lbnQgYnkgZGVmYXVsdCwgYW5kIGhpZGUgaXQgYWJvdmUgYSBjZXJ0YWluIHNjcmVlbiBzaXplLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHNpemUgLSBCcmVha3BvaW50IHRvIHVzZS4gKipNdXN0IGJlIGEgYnJlYWtwb2ludCBkZWZpbmVkIGluIGAkYnJlYWtwb2ludHNgLioqXG5AbWl4aW4gaGlkZS1mb3Itb25seSgkc2l6ZSkge1xuICBAaW5jbHVkZSBicmVha3BvaW50KCRzaXplIG9ubHkpIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tdmlzaWJpbGl0eS1jbGFzc2VzIHtcbiAgLy8gQmFzaWMgaGlkaW5nIGNsYXNzZXNcbiAgLmhpZGUge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5pbnZpc2libGUge1xuICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgfVxuICAudmlzaWJsZSB7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgfVxuXG4gIC8vIFJlc3BvbnNpdmUgdmlzaWJpbGl0eSBjbGFzc2VzXG4gIEBlYWNoICRzaXplIGluICRicmVha3BvaW50LWNsYXNzZXMge1xuICAgIEBpZiAkc2l6ZSAhPSAkLXpmLXplcm8tYnJlYWtwb2ludCB7XG4gICAgICAuaGlkZS1mb3ItI3skc2l6ZX0ge1xuICAgICAgICBAaW5jbHVkZSBoaWRlLWZvcigkc2l6ZSk7XG4gICAgICB9XG5cbiAgICAgIC5zaG93LWZvci0jeyRzaXplfSB7XG4gICAgICAgIEBpbmNsdWRlIHNob3ctZm9yKCRzaXplKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAuaGlkZS1mb3ItI3skc2l6ZX0tb25seSB7XG4gICAgICBAaW5jbHVkZSBoaWRlLWZvci1vbmx5KCRzaXplKTtcbiAgICB9XG5cbiAgICAuc2hvdy1mb3ItI3skc2l6ZX0tb25seSB7XG4gICAgICBAaW5jbHVkZSBzaG93LWZvci1vbmx5KCRzaXplKTtcbiAgICB9XG4gIH1cblxuICAvLyBTY3JlZW4gcmVhZGVyIHZpc2liaWxpdHkgY2xhc3Nlc1xuICAvLyBOZWVkIGEgXCJoaWRlLWZvci1zclwiIGNsYXNzPyBBZGQgYXJpYS1oaWRkZW49J3RydWUnIHRvIHRoZSBlbGVtZW50XG4gIC5zaG93LWZvci1zcixcbiAgLnNob3ctb24tZm9jdXMge1xuICAgIEBpbmNsdWRlIGVsZW1lbnQtaW52aXNpYmxlO1xuICB9XG5cbiAgLy8gT25seSBkaXNwbGF5IHRoZSBlbGVtZW50IHdoZW4gaXQncyBmb2N1c2VkXG4gIC5zaG93LW9uLWZvY3VzIHtcbiAgICAmOmFjdGl2ZSxcbiAgICAmOmZvY3VzIHtcbiAgICAgIEBpbmNsdWRlIGVsZW1lbnQtaW52aXNpYmxlLW9mZjtcbiAgICB9XG4gIH1cblxuICAvLyBMYW5kc2NhcGUgYW5kIHBvcnRyYWl0IHZpc2liaWxpdHlcbiAgLnNob3ctZm9yLWxhbmRzY2FwZSxcbiAgLmhpZGUtZm9yLXBvcnRyYWl0IHtcbiAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYW5kc2NhcGUpIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChwb3J0cmFpdCkge1xuICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxuXG4gIC5oaWRlLWZvci1sYW5kc2NhcGUsXG4gIC5zaG93LWZvci1wb3J0cmFpdCB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYW5kc2NhcGUpIHtcbiAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHBvcnRyYWl0KSB7XG4gICAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxuXG4gIC8vIERhcmsgTW9kZSBWaXNpYmlsaXR5XG4gIC5zaG93LWZvci1kYXJrLW1vZGUge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbiAgLmhpZGUtZm9yLWRhcmstbW9kZSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKHByZWZlcnMtY29sb3Itc2NoZW1lOiBkYXJrKSB7XG4gICAgLnNob3ctZm9yLWRhcmstbW9kZSB7XG4gICAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuICAgIH1cbiAgICAuaGlkZS1mb3ItZGFyay1tb2RlIHtcbiAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgICB9XG4gIH1cblxuICAvLyBJRTEwKyBWaXNpYmlsaXR5XG4gIC5zaG93LWZvci1pZSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuICBAbWVkaWEgYWxsIGFuZCAoLW1zLWhpZ2gtY29udHJhc3Q6IG5vbmUpLCAoLW1zLWhpZ2gtY29udHJhc3Q6IGFjdGl2ZSkge1xuICAgIC5zaG93LWZvci1pZSB7XG4gICAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuICAgIH1cbiAgICAuaGlkZS1mb3ItaWUge1xuICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxuXG4gIC8vIFN0aWNreSBWaXNpYmlsaXR5XG4gIC5zaG93LWZvci1zdGlja3kge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbiAgLmlzLXN0dWNrIC5zaG93LWZvci1zdGlja3kge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG4gIC5pcy1zdHVjayAuaGlkZS1mb3Itc3RpY2t5IHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG4iLCIuYnV0dG9uIHtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlLWluLW91dDtcbiAgICBmb250LXNpemU6IDE3cHg7XG4gICAgbWluLXdpZHRoOiAxNDJweDtcbiAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgICY6aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kOiAjODFBMUJFO1xuICAgIH1cbn1cblxuLmJ1dHRvbi1yZWQge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRyZWQ7XG59XG5cbiIsImRpdi53cmFwcGVyIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgaGVpZ2h0OiAxMDB2aDtcbn1cbi5wYWdlLWhlYWRlciwgLnBhZ2UtZm9vdGVyIHtcbiAgICBmbGV4LXNocmluazogMDtcbn1cblxuLnBhZ2UtY29udGVudCB7XG4gICAgZmxleC1ncm93OiAxO1xuICAgIG1hcmdpbi10b3A6IDJlbTtcbn1cblxudGgge1xuICAgIGNvbG9yOiAjMzMzMzMzO1xufVxuXG4uY2FyZC1kaXZpZGVyIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWJmNmZmO1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgIGZvbnQtc2l6ZTogMS43NXJlbTtcbn1cblxuLmltcG9ydGFudC1iYW5uZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmNWY1ZjU7XG4gICAgYm9yZGVyOiAxcHggc29saWQgI2VmNDYzNDtcbiAgICBib3JkZXItcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiAgICBtYXJnaW46IDAgYXV0bztcbiAgICBwYWRkaW5nLWxlZnQ6IDAuNXJlbTtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwLjVyZW07XG59XG5cbi5hZHZhbmNlZC10ZXJtcyB7XG4gICAgbGFiZWwge1xuICAgICAgICBtYXgtd2lkdGg6IDgwJTtcbiAgICB9XG5cbiAgICBbdHlwZT1jaGVja2JveF0ge1xuICAgICAgICBtYXJnaW46IDAgMCAxcmVtO1xuICAgICAgICB3aWR0aDogNTBweDtcbiAgICB9XG59XG5cbi5jYW5jZWwtbGlua1xue1xuICAgIG1hcmdpbi1sZWZ0OiAuNXJlbTtcbn1cblxuLm5vdC1mb3VuZCB7XG4gICAgbWF4LXdpZHRoOiA4MDBweDtcbiAgICBtYXJnaW46IDAgYXV0bztcbn1cblxuLnN1bW1lcm5vdGVfd3lzaXd5ZyB7XG4gICAgbWFyZ2luLWJvdHRvbTogMTZweDtcbn1cbiIsIi5ibHVlIHtcbiAgICBjb2xvcjogJHByaW1hcnktY29sb3I7XG59XG5cbi5yZWQge1xuICAgIGNvbG9yOiAkcmVkO1xufSIsInRoIHtcbiAgICBmb250LXNpemU6IDEuMmVtO1xufVxuXG4vLyBUaGlzIGlzIHRoZSAnYWN0aXZlJyBjbGFzcyB0aGF0IGRlbm90ZXMgdGhlIGN1cnJlbnQgcGFnZSBpbiBhIHRhYmxlIHRoYXRcbi8vIGlzIHBhZ2luYXRlZCBieSB2dWV0YWJsZS0yXG4uYWN0aXZlIHtcbiAgICBiYWNrZ3JvdW5kOiAjY2NjO1xufVxuIiwiLyogVnVlIFRyYW5zaXRpb25zIGZpbGUgKi9cblxuLy8gRmFkZVxuLmZhZGUtZW50ZXItYWN0aXZlLCAuZmFkZS1sZWF2ZS1hY3RpdmUge1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IC41cztcbn1cbi5mYWRlLWVudGVyLCAuZmFkZS1sZWF2ZS10byAvKiAuZmFkZS1sZWF2ZS1hY3RpdmUgYmVsb3cgdmVyc2lvbiAyLjEuOCAqLyB7XG4gIG9wYWNpdHk6IDA7XG59XG5cblxuXG4vLyBCb3VuY2Vcbi5ib3VuY2UtZW50ZXItYWN0aXZlIHtcbiAgYW5pbWF0aW9uOiBib3VuY2UtaW4gLjVzO1xufVxuLmJvdW5jZS1sZWF2ZS1hY3RpdmUge1xuICBhbmltYXRpb246IGJvdW5jZS1pbiAuNXMgcmV2ZXJzZTtcbn1cbkBrZXlmcmFtZXMgYm91bmNlLWluIHtcbiAgMCUge1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMCk7XG4gIH1cbiAgNTAlIHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEuNSk7XG4gIH1cbiAgMTAwJSB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgfVxufVxuIiwiLmJvb3RzdHJhcC1hdXRvY29tcGxldGUge1xuXHQvLyBUaGUgZHJvcGRvd24gbWVudVxuXHQmLmRyb3Bkb3duLW1lbnUge1xuXHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHR0b3A6IDEwMCU7XG5cdFx0bGVmdDogMDtcblx0XHR6LWluZGV4OiAxMDAwO1xuXHRcdGRpc3BsYXk6IG5vbmU7XG5cdFx0ZmxvYXQ6IGxlZnQ7XG5cdFx0bWluLXdpZHRoOiAxMHJlbTtcblx0XHRwYWRkaW5nOiAwLjVyZW0gMDtcblx0XHRtYXJnaW46IDAuMTI1cmVtIDAgMDtcblx0XHRmb250LXNpemU6IDFyZW07XG5cdFx0Y29sb3I6ICMyMTI1Mjk7XG5cdFx0dGV4dC1hbGlnbjogbGVmdDtcblx0XHRsaXN0LXN0eWxlOiBub25lO1xuXHRcdGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG5cdFx0YmFja2dyb3VuZC1jbGlwOiBwYWRkaW5nLWJveDtcblx0XHRib3JkZXI6IDFweCBzb2xpZCByZ2JhKDAsMCwwLC4xNSk7XG5cdFx0Ym9yZGVyLXJhZGl1czogMC4yNXJlbTtcblx0fVxuXG5cdC8vIExpbmtzLCBidXR0b25zLCBhbmQgbW9yZSB3aXRoaW4gdGhlIGRyb3Bkb3duIG1lbnVcblx0Ly9cblx0Ly8gYDxidXR0b24+YC1zcGVjaWZpYyBzdHlsZXMgYXJlIGRlbm90ZWQgd2l0aCBgLy8gRm9yIDxidXR0b24+c2Bcblx0LmRyb3Bkb3duLWl0ZW0ge1xuXHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdHdpZHRoOiAxMDAlO1xuXHRcdHBhZGRpbmc6IDAuMjVyZW0gMS41cmVtO1xuXHRcdGNsZWFyOiBib3RoO1xuXHRcdGZvbnQtd2VpZ2h0OiA0MDA7XG5cdFx0Y29sb3I6ICMyMTI1Mjk7XG5cdFx0dGV4dC1hbGlnbjogaW5oZXJpdDtcblx0XHR3aGl0ZS1zcGFjZTogbm93cmFwO1xuXHRcdGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuXHRcdGJvcmRlcjogMDtcblxuXHRcdCYuYWN0aXZlLFxuXHRcdCY6YWN0aXZlIHtcblx0XHRcdGNvbG9yOiAjZmZmO1xuXHRcdFx0dGV4dC1kZWNvcmF0aW9uOiBub25lO1xuXHRcdFx0YmFja2dyb3VuZC1jb2xvcjogIzAwN2JmZjtcblx0XHR9XG5cdH1cblxuXHQmLmRyb3Bkb3duLW1lbnUuc2hvdyB7XG5cdFx0ZGlzcGxheTogYmxvY2s7XG5cdH1cbn1cblxuIiwiJGZvb3Rlci1iZzogJHdoaXRlO1xuXG4ucGFnZS1mb290ZXIge1xuICBtYXJnaW4tdG9wOiAzcmVtO1xufVxuXG4vLyBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4NTBweCkge1xuLy8gICAucGFnZS1oZWFkZXIge1xuLy8gICAgIG1pbi13aWR0aDogNjAwcHg7XG4vLyAgIH1cblxuLy8gICAucGFnZS1mb290ZXIge1xuLy8gICAgIG1pbi13aWR0aDogNjAwcHg7XG4vLyAgIH1cbi8vIH1cblxuZm9vdGVyIHtcbiAgcG9zaXRpb246IHN0aWNreTtcbn1cblxuLmZvb3RlciB7XG4gIGJhY2tncm91bmQ6ICRmb290ZXItYmc7XG4gIGNvbG9yOiAkZGFyay1ncmF5O1xuICBib3gtc2hhZG93OiAwIDJweCA2cHggJGRhcmstZ3JheTtcblxuICAuZm9vdGVyLW1lbnUtc29jaWFsIGEge1xuICAgIGNvbG9yOiAkZ3JlZW47XG4gIH1cblxuICAuY29sdW1uLWJsb2NrIHtcbiAgICBtYXJnaW4tYm90dG9tOiAzMHB4O1xuICB9XG5cbiAgPi5yb3cge1xuICAgIG1hcmdpbi1ib3R0b206IDFyZW07XG4gIH1cblxuICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcbiAgICAuY29sdW1ucyB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAycmVtO1xuICAgIH1cbiAgfVxufVxuXG4uZGlzY2xhaW1lciB7XG4gIGxpbmUtaGVpZ2h0OiAxLjE1O1xufVxuXG4uZm9vdGVyLXRpdGxlIHtcbiAgY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xuICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICBmb250LXNpemU6IDEuMjVyZW07XG59XG5cbi5mb290ZXItYmxvY2sge1xuICBkaXNwbGF5OiBmbGV4O1xuICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuXG4gIC5mYSB7XG4gICAgZm9udC1zaXplOiAycmVtO1xuICAgIGNvbG9yOiBkYXJrZW4oJGZvb3Rlci1iZywgMjAlKTtcbiAgfVxuXG4gIHAge1xuICAgIG1hcmdpbi1sZWZ0OiAxcmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjEyNXJlbTtcbiAgfVxufVxuXG4uZm9vdGVyLWJvdHRvbSB7XG4gIGJhY2tncm91bmQ6ICRwcmltYXJ5LWNvbG9yO1xuICBwYWRkaW5nOiAxcmVtIDA7XG4gIGNvbG9yOiAkbGlnaHQteWVsbG93O1xuICBmb250LXNpemU6IC43NWVtO1xuXG4gIHAsXG4gIC5tZW51IHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICB9XG5cbiAgYSB7XG4gICAgY29sb3I6IGxpZ2h0ZW4oJHllbGxvdywgMzAlKTtcblxuICAgICY6aG92ZXIge1xuICAgICAgY29sb3I6ICR5ZWxsb3c7XG4gICAgfVxuICB9XG5cbiAgLmZvb3Rlci1ib3R0b20tbGlua3Mge1xuICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICB9XG4gIH1cblxuICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB9XG59IiwiJHRvcGJhci1yZXNwb25zaXZlLWJnOiAkd2hpdGU7XG4kdG9wYmFyLXJlc3BvbnNpdmUtYW5pbWF0aW9uLXR5cGU6IGZhZGUtaW47IC8vIG9yIHVzZSBzbGlkZS1kb3duIG9yIG5vbmVcblxuLnRvcGJhci1yZXNwb25zaXZlIHtcbiAgYmFja2dyb3VuZDogJHRvcGJhci1yZXNwb25zaXZlLWJnO1xuICBwYWRkaW5nOiAwcmVtIDEuNXJlbTtcbiAgYm94LXNoYWRvdzogMCAycHggNnB4ICRkYXJrLWdyYXk7XG5cbiAgLnRvcGJhci1yZXNwb25zaXZlLWxvZ28ge1xuICAgIGNvbG9yOiAkbGlnaHQteWVsbG93O1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG5cbiAgICBpbWcge1xuICAgICAgbWF4LXdpZHRoOiAyMDBweDtcbiAgICB9XG4gIH1cblxuICAudG9wYmFyLXRpdGxlIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcblxuICB9XG5cbiAgLnRpdGxlLWJhciB7XG4gICAgYmFja2dyb3VuZDogI2ZmZmZmZjtcbiAgICBjb2xvcjogIzIyMjIyMjtcblxuICAgIC50aXRsZS1iYXItdGl0bGUge1xuICAgICAgY29sb3I6ICRibHVlO1xuICAgICAgbWFyZ2luLWxlZnQ6IDIwcHg7XG5cbiAgICAgICY6aG92ZXIge1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAuY3RhIHtcbiAgICBtYXJnaW4tdG9wOiAxcmVtO1xuICB9XG5cbiAgLm1lbnUtaWNvbjo6YWZ0ZXIge1xuICAgIGxlZnQ6IC0yM3B4O1xuICAgIHdpZHRoOiA4MCU7XG4gICAgYmFja2dyb3VuZDogIzEwNzJjMTtcbiAgICBib3gtc2hhZG93OiAwIDdweCAwICMxMDcyYzEsIDAgMTRweCAwICMxMDcyYzE7XG4gIH1cblxuICAubWVudSB7XG4gICAgYmFja2dyb3VuZDogJHRvcGJhci1yZXNwb25zaXZlLWJnO1xuXG4gICAgLmxvZ2luLWxpbmsge1xuICAgICAgY29sb3I6IHNjYWxlLWNvbG9yKCRyZWQsICRsaWdodG5lc3M6IC0zMCUpO1xuICAgIH1cblxuICAgIGxpOmxhc3Qtb2YtdHlwZSB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgfVxuXG4gICAgYSB7XG4gICAgICBjb2xvcjogIzM3MzczNztcbiAgICAgIGZvbnQtd2VpZ2h0OiA4MDA7XG4gICAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjE1cyBlYXNlLWluO1xuXG4gICAgICAmOmhvdmVyIHtcbiAgICAgICAgY29sb3I6IGxpZ2h0ZW4oJGJsYWNrLCA0MCUpO1xuICAgICAgfVxuXG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45Mzc1ZW0pIHtcbiAgICAgICAgcGFkZGluZzogMC41cmVtO1xuICAgICAgfVxuICAgIH1cblxuICAgIC50b3BiYXItcmVzcG9uc2l2ZS1idXR0b24ge1xuICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgIHBhZGRpbmc6IC43NXJlbTtcblxuICAgICAgJjpob3ZlciB7XG4gICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IGRhcmtlbigkcmVkLCAxMCUpO1xuICAgICAgfVxuXG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45Mzc1ZW0pIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIG1hcmdpbjogMC44NzVyZW0gMDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45Mzc1ZW0pIHtcbiAgICBwYWRkaW5nOiAwLjc1cmVtO1xuXG4gICAgLnRvcC1iYXItdGl0bGUge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgd2lkdGg6IDEwMCU7XG5cbiAgICAgIHNwYW4ge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAkbGlnaHQteWVsbG93O1xuICAgICAgICBib3JkZXItcmFkaXVzOiA1cHg7XG4gICAgICAgIHBhZGRpbmc6IDAuMjVyZW0gMC40NXJlbTtcbiAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcblxuICAgICAgICAubWVudS1pY29uIHtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiA0cHg7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuQGtleWZyYW1lcyBmYWRlSW4ge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG5cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cbn1cblxuQGtleWZyYW1lcyBzbGlkZURvd24ge1xuICAwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xMDAlKTtcbiAgfVxuXG4gIDEwMCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwJSk7XG4gIH1cbn1cblxuQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG4gIC50b3BiYXItcmVzcG9uc2l2ZS1saW5rcyB7XG4gICAgYW5pbWF0aW9uLWZpbGwtbW9kZTogYm90aDtcbiAgICBhbmltYXRpb24tZHVyYXRpb246IDAuNXM7XG4gICAgd2lkdGg6IDEwMCU7XG5cbiAgICBAaWYgJHRvcGJhci1yZXNwb25zaXZlLWFuaW1hdGlvbi10eXBlID09c2xpZGUtZG93biB7XG4gICAgICBhbmltYXRpb246IHNsaWRlRG93biAxcyBlYXNlLWluO1xuICAgIH1cblxuICAgIEBlbHNlIGlmICR0b3BiYXItcmVzcG9uc2l2ZS1hbmltYXRpb24tdHlwZSA9PWZhZGUtaW4ge1xuICAgICAgYW5pbWF0aW9uOiBmYWRlSW4gMXMgZWFzZS1pbjtcbiAgICB9XG5cbiAgICBAZWxzZSB7XG4gICAgICBhbmltYXRpb246IG5vbmU7XG4gICAgfVxuICB9XG59XG5cblxucC5hY2NvdW50LXR5cGUge1xuICBtYXJnaW4tYm90dG9tOiAwO1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgZm9udC1zaXplOiAyMHB4O1xufVxuXG4ucHJhY3RpdGlvbmVyLWNvZGUsXG4ucHJhY3RpdGlvbmVyLW5hbWUge1xuICBtYXJnaW4tYm90dG9tOiAwO1xufVxuXG4uYWNjb3VudC10eXBlLW5hbWUge1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgZm9udC1zaXplOiAyMnB4O1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBjb2xvcjogIzM5NmQ5ZDtcbn1cblxuLm5hdi1hdXRoLWluZm8ge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDEwMCU7XG4gIGZsb2F0OiByaWdodDtcbiAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gIHBhZGRpbmctYm90dG9tOiAxNXB4O1xufVxuXG4udG9wLWJhciB7XG4gIGZsZXgtd3JhcDogd3JhcDtcbn1cblxuLm1lbnUge1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xufVxuXG4vLyAudG9wYmFyLXJlc3BvbnNpdmUgLnRvcGJhci10aXRsZSB7XG4vLyAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbi8vICAgdG9wOiAxMHB4O1xuLy8gICBsZWZ0OiAxMHB4O1xuLy8gfVxuXG4udG9wYmFyLXJlc3BvbnNpdmUge1xuICBib3gtc2hhZG93OiBub25lO1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgYmxhY2s7XG4gIG1pbi1oZWlnaHQ6IDkwcHg7XG59XG5cbi5tZW51IHtcbiAgZmxleC13cmFwOiBub3dyYXA7XG4gIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gIGRpc3BsYXk6IC13ZWJraXQtaW5saW5lLWJveDtcbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogODQwcHgpIHtcbiAgLm1lbnUge1xuICAgIG92ZXJmbG93OiBzY3JvbGw7XG4gICAgZmxleC13cmFwOiBub3dyYXA7XG4gICAgLy8gZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgfVxuXG4gIC5tZW51IGxpIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDEwcHg7XG4gICAgcGFkZGluZy1yaWdodDogMTBweDtcbiAgfVxufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2NDBweCkge1xuICAjbWFpbi1uYXYge1xuICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG4gIH1cbn0iLCIubG9naW4uY2FsbG91dCB7XG4gICAgYmFja2dyb3VuZDogJGxpZ2h0LXllbGxvdztcbiAgICBiYWNrZ3JvdW5kOiByYWRpYWwtZ3JhZGllbnQoY2lyY2xlLCByZ2JhKDI1NCwyNTAsMjI1LDEpIDIwJSwgcmdiYSgyNTUsMjUwLDIxMCwxKSA0NSUsIHJnYmEoMjU0LDI0NywxOTgsMSkgNjglKTtcbiAgICBwYWRkaW5nLXRvcDogMS41ZW07XG59XG5cbi5mb3Jnb3QtbGluayB7XG4gICAgbWFyZ2luLWJvdHRvbTogLjVyZW07XG59XG5cbmRpdi5yZXNldC1kaWFsb2cge1xuICAgIEBpbmNsdWRlIGdyaWQtY29sdW1uLXBvc2l0aW9uKGNlbnRlcik7XG59XG5cbi5wYXNzd29yZC1pbnB1dCB7XG4gICAgbWFyZ2luLWJvdHRvbTogNXB4O1xufVxuXG4uYnV0dG9uLWRpdiB7XG4gICAgbWFyZ2luLXRvcDogMXJlbTtcbn1cblxuI2NyZWF0ZS1hY2NvdW50LW1vZGFse1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG59XG5cbiNjcmVhdGUtYWNjb3VudC1tb2RhbCA+IGZvcm0ge1xuICAgIHdpZHRoOiA1MCU7XG5cbn1cblxuI2NyZWF0ZS1hY2NvdW50LW1vZGFsID4gZm9ybSA+IGRpdi5jYWxsb3V0Om50aC1jaGlsZCgyKSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjojYThkYmZlO1xufVxuXG4ubG9naW4tdGl0bGUge1xuICAgIGZvbnQtc2l6ZTogNDBweDtcbiAgICBjb2xvcjogcmdiKDc3LCA3NywgNzcpO1xufVxuXG4uZW50ZXItY3RhIHtcbiAgICBmb250LXNpemU6IDE3cHg7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICBtYXJnaW4tYm90dG9tOiA1cHg7XG59XG5cblxuLmNyZWF0ZS1jdGEge1xuICAgIGZvbnQtc2l6ZTogMTdweDtcbiAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIG1hcmdpbi1ib3R0b206IDI1cHg7XG4gICAgY29sb3I6ICRibGFjaztcbiAgICBmb250LWZhbWlseTogJ09wZW4gU2Fucyc7XG4gICAgYSB7XG4gICAgICAgIGNvbG9yOiAkYmxhY2s7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuXG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgY29sb3I6IHNjYWxlLWNvbG9yKCRyZWQsICRsaWdodG5lc3M6IC0xNSUpO1xuICAgICAgICB9XG4gICAgfVxuXG59XG5cbi5sb2dpbi1jYWxsb3V0IHtcbiAgICBiYWNrZ3JvdW5kOiAjMzZiMGZmO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgIHBhZGRpbmc6IDI1cHggMjVweCAxMHB4IDI1cHg7XG59XG5cbi5sb2dpbi1jYWxsb3V0IGxhYmVsIHtcbiAgICBmb250LXNpemU6IDE3cHg7XG4gICAgbWFyZ2luLWJvdHRvbTogNXB4O1xufVxuXG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMjRweCkge1xuICAgIC5lbnRlci1jdGEsIC5jdGEtZGl2IHtcbiAgICAgICAgbWFyZ2luOiAwcHggLTIwcHg7XG4gICAgfVxuXG4gICAgI21haW4tbG9naW4ge1xuICAgICAgICBiYWNrZ3JvdW5kOiB1cmwoXCIvc3RvcmFnZS9pbWcvbWhnLWRuYWNoYXJhY3Rlci1wYWRkZWQxLnBuZ1wiKTtcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogYm90dG9tIGxlZnQ7XG4gICAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGdyaWRcbi8vLy9cblxuLy8vIFJlcG9zaXRpb24gYSBjb2x1bW4uXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcnxLZXl3b3JkfSAkcG9zaXRpb24gLSBJdCBjYW4gYmU6XG4vLy8gICAqIEEgbnVtYmVyOiBUaGUgY29sdW1uIHdpbGwgbW92ZSBlcXVhbCB0byB0aGUgd2lkdGggb2YgdGhlIGNvbHVtbiBjb3VudFxuLy8vICAgICBzcGVjaWZpZWQuIEEgcG9zaXRpdmUgbnVtYmVyIHdpbGwgcHVzaCB0aGUgY29sdW1uIHRvIHRoZSByaWdodCwgd2hpbGVcbi8vLyAgICAgYSBuZWdhdGl2ZSBudW1iZXIgd2lsbCBwdWxsIGl0IHRvIHRoZSBsZWZ0LlxuLy8vICAgKiBgY2VudGVyYDogQ29sdW1uIHdpbGwgYmUgY2VudGVyZWRcbi8vLyAgICogYGF1dG9gOiBDb2x1bW4gd2lsbCBiZSBwdXNoZWQgdG8gdGhlIGxlZnQgKG9yIHRvIHRoZSByaWdodCBmb3IgdGhlIGxhc3QgY29sdW1uKS5cbkBtaXhpbiBncmlkLWNvbHVtbi1wb3NpdGlvbigkcG9zaXRpb24pIHtcbiAgLy8gQXV0byBwb3NpdGlvbmluZ1xuICBAaWYgJHBvc2l0aW9uID09IGF1dG8ge1xuICAgICYsICY6bGFzdC1jaGlsZDpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgICBmbG9hdDogJGdsb2JhbC1sZWZ0O1xuICAgICAgY2xlYXI6IG5vbmU7XG4gICAgfVxuXG4gICAgLy8gTGFzdCBjb2x1bW4gYWxpZ25tZW50XG4gICAgQGlmICRncmlkLWNvbHVtbi1hbGlnbi1lZGdlIHtcbiAgICAgICY6bGFzdC1jaGlsZDpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgICAgIGZsb2F0OiAkZ2xvYmFsLXJpZ2h0O1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIFB1c2gvcHVsbFxuICBAZWxzZSBpZiB0eXBlLW9mKCRwb3NpdGlvbikgPT0gJ251bWJlcicge1xuICAgICRvZmZzZXQ6IHBlcmNlbnRhZ2UoZGl2aWRlKCRwb3NpdGlvbiwgJGdyaWQtY29sdW1uLWNvdW50KSk7XG5cbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgI3skZ2xvYmFsLWxlZnR9OiAkb2Zmc2V0O1xuICB9XG5cbiAgLy8gQ2VudGVyIHBvc2l0aW9uaW5nXG4gIEBlbHNlIGlmICRwb3NpdGlvbiA9PSBjZW50ZXIge1xuICAgICYsICY6bGFzdC1jaGlsZDpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgICBmbG9hdDogbm9uZTtcbiAgICAgIGNsZWFyOiBib3RoO1xuICAgIH1cbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIH1cblxuICBAZWxzZSB7XG4gICAgQHdhcm4gJ1dyb25nIHN5bnRheCBmb3IgZ3JpZC1jb2x1bW4tcG9zaXRpb24oKS4gRW50ZXIgYSBwb3NpdGl2ZSBvciBuZWdhdGl2ZSBudW1iZXIsIFwiY2VudGVyXCIgb3IgXCJhdXRvXCIuJztcbiAgfVxufVxuXG4vLy8gUmVzZXQgYSBwb3NpdGlvbiBkZWZpbml0aW9uLlxuQG1peGluIGdyaWQtY29sdW1uLXVucG9zaXRpb24ge1xuICBAaW5jbHVkZSBncmlkLWNvbHVtbi1wb3NpdGlvbihhdXRvKTtcbiAgcG9zaXRpb246IHN0YXRpYztcbiAgbWFyZ2luLXJpZ2h0OiAwO1xuICBtYXJnaW4tbGVmdDogMDtcbn1cblxuLy8vIE9mZnNldHMgYSBjb2x1bW4gdG8gdGhlIHJpZ2h0IGJ5IGAkbmAgY29sdW1ucy5cbi8vLyBAcGFyYW0ge051bWJlcnxMaXN0fSAkbiAtIFdpZHRoIHRvIG9mZnNldCBieS4gWW91IGNhbiBwYXNzIGluIGFueSB2YWx1ZSBhY2NlcHRlZCBieSB0aGUgYGdyaWQtY29sdW1uKClgIG1peGluLCBzdWNoIGFzIGA2YCwgYDUwJWAsIG9yIGAxIG9mIDJgLlxuQG1peGluIGdyaWQtY29sdW1uLW9mZnNldCgkbikge1xuICBtYXJnaW4tI3skZ2xvYmFsLWxlZnR9OiBncmlkLWNvbHVtbigkbik7XG59XG5cbi8vLyBEaXNhYmxlIHRoZSBkZWZhdWx0IGJlaGF2aW9yIG9mIHRoZSBsYXN0IGNvbHVtbiBpbiBhIHJvdyBhbGlnbmluZyB0byB0aGUgb3Bwb3NpdGUgZWRnZS5cbkBtaXhpbiBncmlkLWNvbHVtbi1lbmQge1xuICAvLyBUaGlzIGV4dHJhIHNwZWNpZmljaXR5IGlzIHJlcXVpcmVkIGZvciB0aGUgcHJvcGVydHkgdG8gYmUgYXBwbGllZFxuICAmOmxhc3QtY2hpbGQ6bGFzdC1jaGlsZCB7XG4gICAgZmxvYXQ6ICRnbG9iYWwtbGVmdDtcbiAgfVxufVxuXG4vLy8gU2hvcnRoYW5kIGZvciBgZ3JpZC1jb2x1bW4tcG9zaXRpb24oKWAuXG4vLy8gQGFsaWFzIGdyaWQtY29sdW1uLXBvc2l0aW9uXG5AbWl4aW4gZ3JpZC1jb2wtcG9zKCRwb3NpdGlvbikge1xuICBAaW5jbHVkZSBncmlkLWNvbHVtbi1wb3NpdGlvbigkcG9zaXRpb24pO1xufVxuXG4vLy8gU2hvcnRoYW5kIGZvciBgZ3JpZC1jb2x1bW4tdW5wb3NpdGlvbigpYC5cbi8vLyBAYWxpYXMgZ3JpZC1jb2x1bW4tdW5wb3NpdGlvblxuQG1peGluIGdyaWQtY29sLXVucG9zIHtcbiAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4tdW5wb3NpdGlvbjtcbn1cblxuLy8vIFNob3J0aGFuZCBmb3IgYGdyaWQtY29sdW1uLW9mZnNldCgpYC5cbi8vLyBAYWxpYXMgZ3JpZC1jb2x1bW4tb2Zmc2V0XG5AbWl4aW4gZ3JpZC1jb2wtb2ZmKCRuKSB7XG4gIEBpbmNsdWRlIGdyaWQtY29sdW1uLW9mZnNldCgkbik7XG59XG5cbi8vLyBTaG9ydGhhbmQgZm9yIGBncmlkLWNvbHVtbi1lbmQoKWAuXG4vLy8gQGFsaWFzIGdyaWQtY29sdW1uLWVuZFxuQG1peGluIGdyaWQtY29sLWVuZCB7XG4gIEBpbmNsdWRlIGdyaWQtY29sdW1uLWVuZDtcbn1cbiIsIi5wYXltZW50cy1wYWdlID4gLmdyaWQteCA+IC5jZWxsIHtcbiAgICBAaW5jbHVkZSBncmlkLWNvbHVtbi1wb3NpdGlvbihjZW50ZXIpO1xufVxuXG4ucGF5bWVudHMtcGFnZSB7XG4gICAgLmF1dGgtYnV0dG9uIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMXJlbTtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDFyZW07XG4gICAgfVxuXG4gICAgLmNjLFxuICAgICNjY251bSxcbiAgICAubW9udGgsXG4gICAgLnllYXIsXG4gICAgLmN2diB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB9XG5cbiAgICAubW9udGgsXG4gICAgLnllYXIsXG4gICAgLmN2diB7XG4gICAgICAgIG1heC13aWR0aDogNHJlbTtcbiAgICB9XG5cbiAgICAjY25hbWUge1xuICAgICAgICBtYXgtd2lkdGg6IDQwMHB4O1xuICAgIH1cblxuICAgIC5kbmEtcmVnaXN0cmF0aW9uLWhlYWRpbmcge1xuICAgICAgICBjb2xvcjogI2E2YTZhNTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuMTtcbiAgICB9XG5cbiAgICAjZG5hLXNlcmlhbC1udW1iZXJzIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMXJlbTtcbiAgICB9XG5cbiAgICAuY2VsbCAubWVkaXVtLTggaDQge1xuICAgICAgICBjb2xvcjogI2E2YTZhNTtcbiAgICB9XG5cbiAgICAuZG5hLWlucHV0LXdyYXAge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWZsb3c6IHJvdyBub3dyYXA7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGJhc2VsaW5lO1xuICAgICAgICBtYXJnaW4tdG9wOiAxcmVtO1xuICAgIH1cblxuICAgIC5ib3JkZXItcmFkaXVzIHtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMzBweDtcbiAgICAgICAgcGFkZGluZzogMTBweCAyMHB4O1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjYjBkN2ZmO1xuICAgIH1cblxuICAgIC5kbmEtaW5wdXQtd3JhcCBpbnB1dCB7XG4gICAgICAgIGZsZXg6IDAgMCAzMHB4O1xuICAgICAgICBtYXgtd2lkdGg6IDMwcHg7XG4gICAgICAgIG1hcmdpbjogMCA1cHg7XG4gICAgfVxuXG4gICAgLmRuYS1pbnB1dC13cmFwIGlucHV0OmZvY3VzIHtcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgI2IwZDdmZjtcbiAgICB9XG5cbiAgICAuZG5hLWtpdC1pbWFnZSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDE1cHg7XG4gICAgfVxuXG4gICAgLmRuYS1raXQtaW1hZ2UgaW1nIHtcbiAgICAgICAgaGVpZ2h0OiAzMDBweDtcbiAgICB9XG5cbiAgICAuZG5hLWlucHV0LWxlYWQge1xuICAgICAgICBjb2xvcjogI2E2YTZhNTtcbiAgICAgICAgZm9udC1zaXplOiAxLjVyZW07XG4gICAgICAgIGFsaWduLXNlbGY6IGZsZXgtZW5kO1xuICAgIH1cblxuICAgIC5lcnJvciB7XG4gICAgICAgIGNvbG9yOiByZWQ7XG4gICAgICAgIHBhZGRpbmc6IDEwcHg7XG4gICAgICAgIGZvbnQtc2l6ZTogMS4yNXJlbTtcbiAgICB9XG5cbiAgICAuZGlnaXRzIHtcbiAgICAgICAgZm9udC1zaXplOiAxLjI1cmVtO1xuICAgICAgICB3aWR0aDogMTdyZW07XG4gICAgfVxuXG4gICAgLmFscmVhZHktcmVnaXN0ZXJlZCB7XG4gICAgICAgIHdpZHRoOiAzMnJlbTtcbiAgICB9XG5cbiAgICAubnVtZXJpYyB7XG4gICAgICAgIHdpZHRoOiAyNnJlbTtcbiAgICB9XG5cbiAgICAuc3BhY2VyIHtcbiAgICAgICAgZmxleDogMCAxIDE2JTtcbiAgICB9XG5cbiAgICAud2hlcmUtY2FuLWkge1xuICAgICAgICBjb2xvcjogIzU1YTZmZjtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICB9XG5cbiAgICBoMy5zcGFjZXIge1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgfVxuXG4gICAgLmltYWdlLXdyYXAsXG4gICAgLmltYWdlLXRleHQtd3JhcCB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZmxvdzogcm93IG5vd3JhcDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIG1hcmdpbi10b3A6IDJyZW07XG4gICAgfVxuXG4gICAgLmltYWdlLXdyYXAgaW1nIHtcbiAgICAgICAgcGFkZGluZzogMCAxJTtcbiAgICB9XG5cbiAgICAuYm94IHtcbiAgICAgICAgLy8gcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBib3R0b206IDlweDtcbiAgICAgICAgcmlnaHQ6IDI3JTtcbiAgICB9XG5cbiAgICAud29ya2luZy13aXRoLWRvY3RvciB7XG4gICAgICAgIG1hcmdpbi10b3A6IDJyZW07XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZmxvdzogcm93IG5vd3JhcDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgZm9udC1zaXplOiAxLjI1cmVtO1xuICAgIH1cblxuICAgIC53b3JraW5nLXdpdGgtZG9jdG9yIGxhYmVsLFxuICAgIC5wYXltZW50LWJpbGxpbmcgbGFiZWwge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDE1cHg7XG4gICAgICAgIGZvbnQtc2l6ZTogMS4yNXJlbTtcbiAgICB9XG5cbiAgICAud29ya2luZy13aXRoLWRvY3RvciBpbnB1dCB7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgZm9udC1zaXplOiAxLjI1cmVtO1xuICAgIH1cbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZChtYXgtd2lkdGg6IDEyMDBweCkge1xuICAgIC5wYXltZW50cy1wYWdlIHtcbiAgICAgICAgLmltYWdlLXdyYXAge1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGZsZXgtZmxvdzogY29sdW1uIG5vd3JhcDtcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gICAgICAgICAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgICAgICAgICAgIGhlaWdodDogNDEwcHg7XG4gICAgICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICBwb3NpdGlvbjogdW5zZXQ7XG5cbiAgICAgICAgICAgIGltZzpmaXJzdC1vZi10eXBlIHtcbiAgICAgICAgICAgICAgICBhbGlnbi1zZWxmOiBjZW50ZXI7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGltZzpsYXN0LW9mLXR5cGUge1xuICAgICAgICAgICAgICAgIGFsaWduLXNlbGY6IGNlbnRlcjtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLmJveCB7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IHVuc2V0O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLnNwYWNlciB7XG4gICAgICAgICAgICBhbGlnbi1zZWxmOiBjZW50ZXI7XG4gICAgICAgICAgICBmbGV4OiAwIDEgMTQlO1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogYXV0bztcbiAgICAgICAgfVxuXG4gICAgICAgIC53b3JraW5nLXdpdGgtZG9jdG9yIHtcbiAgICAgICAgICAgIGZsZXgtZmxvdzogcm93IHdyYXA7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAxcmVtO1xuICAgICAgICB9XG5cbiAgICAgICAgLmVycm9yIHtcbiAgICAgICAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMC45cmVtO1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5pbXBvcnRhbnQtYmFubmVyIHtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAzLjVyZW07XG4gICAgICAgIH1cbiAgICB9XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTAyM3B4KSB7XG4gICAgLmltcG9ydGFudC1iYW5uZXIge1xuICAgICAgICBtYXgtd2lkdGg6IGNhbGMoMTAwdncgLSAxLjI1cmVtKTtcbiAgICB9XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogODAwcHgpIHtcbiAgICAuaW1hZ2Utd3JhcCB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZmxvdzogY29sdW1uIG5vd3JhcDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgICAgICAgaGVpZ2h0OiB1bnNldDtcbiAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgICBwb3NpdGlvbjogdW5zZXQ7XG4gICAgfVxuXG4gICAgLnBheW1lbnRzLXBhZ2UgLnNwYWNlciB7XG4gICAgICAgIG1hcmdpbi10b3A6IDIwcHggIWltcG9ydGFudDtcbiAgICB9XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQobWF4LXdpZHRoOiA2MDBweCkge1xuICAgIC5wYXltZW50cy1wYWdlIHtcbiAgICAgICAgLmRuYS1pbnB1dC13cmFwIHtcbiAgICAgICAgICAgIGZsZXgtZmxvdzogcm93IHdyYXA7XG5cbiAgICAgICAgICAgIGlucHV0IHtcbiAgICAgICAgICAgICAgICBmbGV4OiAwIDEgMjNweDtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDAuOHJlbTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5hdXRoLWJ1dHRvbi5idXR0b24uYm9yZGVyLXJhZGl1cyB7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIi5wcm9kdWN0cy1jb250YWluZXIgYS5idXR0b24ge1xuICAgIGZvbnQtc2l6ZTogMS41cmVtO1xufVxuXG4ucHJvZHVjdC1uYW1lLCAucmVwb3J0LW5hbWUge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGU7XG4gICAgY29sb3I6ICRibHVlO1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgIC8vIHRleHQtc2hhZG93OiAxcHggMXB4IDJweCAkZGFyay1ncmF5O1xuICAgIGJvcmRlci1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuICAgIHBhZGRpbmc6IC4yNXJlbTtcbiAgICBmb250LXNpemU6IDEuNzVyZW07XG59XG5cbi5wcm9kdWN0LWRlc2Mge1xuICAgIGZvbnQtc2l6ZTogbGFyZ2U7XG59XG5cbi5yZXBvcnQtbmFtZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgZm9udC1zaXplOiAxLjVlbTtcbiAgICBjb2xvcjogJGJsYWNrO1xufVxuXG4ucHJpY2UtYm94IHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgY29sb3I6ICR3aGl0ZTtcbiAgICBmb250LXNpemU6IDIuMnJlbTtcbiAgICBmb250LXdlaWdodDogOTAwO1xuICAgIHRleHQtc2hhZG93OiAzcHggM3B4IDZweCAkYmx1ZTtcbiAgICBib3JkZXItcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiAgICBzcGFuLnByaWNlIHtcbiAgICAgICAgZm9udC1zaXplOiAzcmVtO1xuICAgIH1cbn1cblxudWwuZmVhdHVyZXMtbGlzdCB7XG4gICAgZm9udC1zaXplOiAxOHB4O1xuICAgIC8vIGxpc3Qtc3R5bGU6IHVybCgnc3RvcmFnZS9pbWcvbG9nby1kbmEtb25seUA1MGgucG5nJyk7XG4gICAgbGlzdC1zdHlsZTpub25lOyBcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGU7XG4gICAgcGFkZGluZzogMDtcbiAgICBib3JkZXItcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiAgICBtYXJnaW46IDFyZW0gMC41cmVtO1xuICAgIGxpIHtcbiAgICAgICAgcGFkZGluZzogMTBweDtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMnB4IGRhc2hlZCAkZ3JlZW47XG4gICAgfVxuICAgIGxpOmxhc3QtY2hpbGQge1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMTVweDtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbiAgICB9XG59IiwiZGl2LnVwbG9hZC1ncmlkIHtcbiAgICBAaW5jbHVkZSBncmlkLWNvbHVtbi1wb3NpdGlvbihjZW50ZXIpO1xufVxuXG4udXBsb2FkLWRpYWxvZyB7XG4gICAgbWluLWhlaWdodDogNTB2aDtcbn1cblxuLnVwbG9hZC1ib3gge1xuICAgIGJvcmRlcjogNXB4IGRhc2hlZCAjMTY1OWE5O1xuICAgIGJvcmRlci1yYWRpdXM6IDEwcHg7XG4gICAgbWluLWhlaWdodDogMTAwcHg7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2Q2ZWFmYjtcbiAgICBwIGxhYmVsIHtcbiAgICAgICAgYWxpZ24tc2VsZjogY2VudGVyO1xuICAgICAgICBjb2xvcjogJGJsYWNrO1xuICAgICAgICBmb250LXNpemU6IDE4cHg7XG4gICAgfVxufVxuXG4uY3VzdG9tLXNwaW5uZXIubG9hZGVyIHtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHotaW5kZXg6IDEwMDtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNjUpO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAmID4gc3BhbiB7XG4gICAgICAgIHRvcDogY2FsYyg1MHZoIC0gMjBweCk7XG4gICAgICAgIGxlZnQ6IGNhbGMoNTB2dyAtIDg4cHgpO1xuICAgICAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgICAgIGZvbnQtc2l6ZTogMjhweDtcbiAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICAgIGNvbG9yOiAjNjY2NjY2O1xuICAgIH1cbn1cblxuY2FudmFzLmxvYWRlciB7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB6LWluZGV4OiAxMDA7XG4gICAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjY1KTtcbn1cblxuY2FudmFzLmxvYWRlci5zcGlubmVyLXRleHQge1xuICAgIGJhY2tncm91bmQ6IG5vbmU7XG59XG5cbi5yZXBvcnQtbGFiZWwtYm94IHtcbiAgICAvLyBoMi5zbWFsbCB7XG4gICAgLy8gICAgIGZvbnQtc2l6ZTogMS41cmVtO1xuICAgIC8vIH1cbiAgICBpbnB1dFt0eXBlPVwidGV4dFwiXSB7XG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMTU4LCAxNTgsIDE1OCwgMC40Nyk7XG4gICAgICAgIG1heC13aWR0aDogNTAlO1xuICAgICAgICBtYXJnaW46IDFyZW07XG4gICAgfVxufVxuXG4uZG5hLXVwbG9hZC13cmFwIGgyLnNtYWxsIHtcbiAgICBmb250LXNpemU6IDEuNXJlbTtcbn1cblxuc3Bhbi5zdGVwcyB7XG4gICAgZm9udC1zaXplOiAxLjc1cmVtO1xuICAgIGNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcbn0iLCIkcmVwb3J0LWdyZWVuOiAjYTBkZTU3O1xuJHJlcG9ydC15ZWxsb3c6ICNmZmViM2I7XG4kcmVwb3J0LXJlZDogI2ZiNWY4NDtcblxuXG4ucmVwb3J0LXBhZ2Uge1xuICAgIC8vVmVyeSBpbXBvcnRhbnQgZm9yIHRoZSBQREYgdmVyc2lvblxuICAgIG1pbi13aWR0aDogODEwcHg7XG5cbiAgICAucGFnZS1icmVhayB7XG4gICAgICAgIHBhZ2UtYnJlYWstYWZ0ZXI6IGFsd2F5cztcbiAgICB9XG5cbiAgICAudGl0bGUtc2xpZGVyLWJveCB7XG4gICAgICAgIHBhZ2UtYnJlYWstaW5zaWRlOiBhdm9pZDtcbiAgICB9XG4gICAgZGl2LnRyYWl0IHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI0ZGRjtcbiAgICAgICAgbWFyZ2luOiAxZW07XG4gICAgICAgIHBhZGRpbmc6IDJlbTtcblxuXG4gICAgICAgIC5wcm9ncmVzcyB7XG4gICAgICAgICAgICAvLyBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0IWltcG9ydGFudDtcbiAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IC1vLWxpbmVhci1ncmFkaWVudChsZWZ0LCAkcmVwb3J0LWdyZWVuIDAlLCAkcmVwb3J0LXllbGxvdyA1MCUsICRyZXBvcnQtcmVkIDEwMCUpO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LCAkcmVwb3J0LWdyZWVuIDAlLCAkcmVwb3J0LXllbGxvdyA1MCUsICRyZXBvcnQtcmVkIDEwMCUpO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogLXdlYmtpdC1saW5lYXItZ3JhZGllbnQobGVmdCwgJHJlcG9ydC1ncmVlbiAwJSwgJHJlcG9ydC15ZWxsb3cgNTAlLCAkcmVwb3J0LXJlZCAxMDAlKTtcblxuICAgICAgICAgICAgbWFyZ2luOiAxLjVyZW0gYXV0bztcbiAgICAgICAgICAgIC5wcm9ncmVzcy1tZXRlciB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMHB4O1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLnByb2dyZXNzLW1ldGVyOmFmdGVyIHtcbiAgICAgICAgICAgICAgICBjb250ZW50OiBcIlxcMjFFOVwiO1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICByaWdodDogMHB4O1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMnJlbTtcbiAgICAgICAgICAgICAgICBib3R0b206IDEwcHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAubWhnLXJlcC1wZGYge1xuICAgICAgICBtYXJnaW46IDBlbSAhaW1wb3J0YW50O1xuICAgICAgICBwYWRkaW5nOiAwZW0gIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICAubWhnLXJlcC1wZGYgLm1ldGVyIHtcbiAgICAgICAgcGFkZGluZzogLjVyZW0gMXJlbSAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIC50cmFpdC10aXRsZSB7XG4gICAgICAgIHBhZGRpbmc6IDAuMjVlbTtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgIH1cblxuICAgIC5rZXktaW5kaWNhdG9yIHtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDEwcHg7XG4gICAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICB9XG5cbiAgICAubG93LXNwYW4ge1xuICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAxMHB4O1xuICAgIH1cblxuICAgIC5oaWdoLXNwYW4ge1xuICAgICAgICBmbG9hdDogcmlnaHQ7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDEwcHg7XG4gICAgfVxuXG4gICAgLm1ldGVyLCAucXVpei1yZXN1bHRzIHtcbiAgICAgICAgcGFkZGluZzogMnJlbSAxcmVtO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbGlnaHQtYmx1ZTtcbiAgICAgICAgYm94LXNoYWRvdzogMHB4IDBweCAzcHggcmdiYSgwLCAwLCAwLCAwLjMpO1xuICAgICAgICBib3JkZXItcmFkaXVzOiA1cHg7XG4gICAgICAgIG1hcmdpbjogMWVtIGF1dG87XG4gICAgICAgIGNvbG9yOiAjMjcyNzI3O1xuICAgICAgICBtYXgtd2lkdGg6IDc1JTtcbiAgICB9XG4gICAgLnF1aXotcmVzdWx0cyB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDJyZW07XG4gICAgICAgIHAge1xuICAgICAgICAgICAgZm9udC1zdHlsZTogaXRhbGljO1xuICAgICAgICB9XG4gICAgICAgIC5oNCB7XG4gICAgICAgICAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICAgICAgICAgIHRleHQtc2hhZG93OiByZ2JhKDAsIDAsIDAsIDAuNzQpIDJweCAycHggMnB4O1xuICAgICAgICB9XG4gICAgfVxuICAgIC5tZXRlciBoNiB7XG4gICAgICAgIHRleHQtc2hhZG93OiByZ2JhKDAsIDAsIDAsIDAuNzQpIDJweCAycHggMnB4O1xuICAgICAgICBjb2xvcjogd2hpdGU7XG4gICAgfVxuICAgIC5pbmhlcml0ZWQtbWVzc2FnZSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMC44cmVtO1xuICAgICAgICBmb250LXN0eWxlOiBpdGFsaWM7XG4gICAgICAgIHBhZGRpbmc6IDAgMCAuNWVtO1xuXG4gICAgICAgIHNwYW4ubWV0ZXItcmVkIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IGxpZ2h0ZW4oJHJlcG9ydC1yZWQsIDE1JSk7XG4gICAgICAgIH1cbiAgICAgICAgc3Bhbi5tZXRlci1ncmVlbiB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBsaWdodGVuKCRyZXBvcnQtZ3JlZW4sIDE1JSk7XG4gICAgICAgIH1cbiAgICAgICAgc3Bhbi5tZXRlci15ZWxsb3cge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbGlnaHRlbigkcmVwb3J0LXllbGxvdywgMTUlKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5taGctaW5oZXJpdGVkLW1lc3NhZ2Uge1xuICAgICAgICBtYXJnaW4tbGVmdDogNjVweDtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiA2NXB4O1xuICAgICAgICBmb250LXNpemU6IDE4cHg7XG4gICAgfVxuXG4gICAgLm1oZy1pbmhlcml0ZWQtbWVzc2FnZS1wZGYge1xuICAgICAgICBmb250LXNpemU6IDE4cHg7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAxNXB4O1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDkwcHg7XG4gICAgfVxuXG4gICAgLmFzc29jLWdlbmVzIHtcbiAgICAgICAgY29sb3I6IHJnYigxNywgMTE0LCAxOTMpO1xuICAgICAgICBmb250LXNpemU6IC45ZW07XG4gICAgfVxuXG4gICAgdGQuZ3JlZW4ge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcmVwb3J0LWdyZWVuO1xuICAgICAgICBjb2xvcjogIzAwMDAwMDtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgICAgZm9udC1zaXplOiAxLjJlbTtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICB9XG5cbiAgICB0ZC55ZWxsb3cge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcmVwb3J0LXllbGxvdztcbiAgICAgICAgY29sb3I6ICMwMDAwMDA7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICAgIGZvbnQtc2l6ZTogMS4yZW07XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgfVxuXG4gICAgdGQucmVkIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHJlcG9ydC1yZWQ7XG4gICAgICAgIGNvbG9yOiAjMDAwMDAwO1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgICBmb250LXNpemU6IDEuMmVtO1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgIH1cblxuICAgIHRoZWFkIHtcbiAgICAgICAgcG9zaXRpb246IHN0aWNreTtcbiAgICAgICAgcG9zaXRpb246IC13ZWJraXQtc3RpY2t5O1xuICAgICAgICB0b3A6IC0xcHg7XG4gICAgICAgIGJhY2tncm91bmQ6ICRsaWdodC1ibHVlO1xuICAgICAgICB0aCB7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAkbGlnaHQtZ3JheTtcbiAgICAgICAgfVxuICAgICAgICAucmVwb3J0LXN1bW1hcnkgdGg6aG92ZXIge1xuICAgICAgICAgICAgY3Vyc29yOiBoZWxwO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLm5hbWUge1xuICAgICAgICBjb2xvcjogJGRhcmstZ3JheTtcbiAgICAgICAgZm9udC1zdHlsZTogaXRhbGljO1xuICAgIH1cblxuICAgIC50aXRsZSB7XG4gICAgICAgIGNvbG9yOiAkYmx1ZTtcbiAgICAgICAgdmVydGljYWwtYWxpZ246IGJvdHRvbTtcbiAgICAgICAgZm9udC1zaXplOiAxLjM1ZW07XG4gICAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgICAgICBtYXgtd2lkdGg6IDUwJTtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIH1cblxuICAgIC5uYW1lLWJsb2NrIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgQGluY2x1ZGUgZmxleC1hbGlnbihyaWdodCxib3R0b20pO1xuICAgIH1cblxuICAgIGRpdi50cmFpdCA+IHAuZGVzY3JpcHRpb24ge1xuICAgICAgICB3aGl0ZS1zcGFjZTogcHJlLWxpbmU7XG4gICAgfVxuXG4gICAgaHRtbC5pcy1yZXZlYWwtb3BlbiBib2R5IHtcbiAgICAgICAgb3ZlcmZsb3c6IGluaXRpYWw7XG4gICAgfVxuXG4gICAgLnBkZi1oZWFkZXItYmxvY2sge1xuICAgICAgICAvLyBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAvLyBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICAgIC8vIG1hcmdpbi1yaWdodDogMDtcbiAgICAgICAgbWF4LXdpZHRoOiA4MTBweDtcbiAgICAgICAgcC50aXRsZSB7XG4gICAgICAgICAgICAvL2ZsZXg6IDEgMCBhdXRvO1xuICAgICAgICAgICAgLy8gbWFyZ2luLWxlZnQ6IDE4MHB4O1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgICAgICAgICBmbG9hdDogcmlnaHQ7XG4gICAgICAgIH1cbiAgICAgICAgaW1nIHtcbiAgICAgICAgICAgIG1heC13aWR0aDogMjAwcHg7XG4gICAgICAgICAgICAvL2ZsZXg6IDEgMCBhdXRvO1xuICAgICAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwLnJlcG9ydC1pbnRybyB7XG4gICAgICAgIGZsb2F0OiBjbGVhcjtcbiAgICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4NTBweCkge1xuICAgIC5yZXBvcnQtcGFnZSB7XG4gICAgICAgIG1pbi13aWR0aDogOTB2dztcbiAgICAgICAgZGl2LnRyYWl0IHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIH1cbiAgICAgICAgLm1ldGVyIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IC41MXJlbTtcbiAgICAgICAgICAgIG1hcmdpbjogLjUxZW0gYXV0bztcbiAgICAgICAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuXG5cbi8qIGRlZmF1bHQgaW1hZ2VzICovXG4uaGVhbHRoeS1yZXBvcnQgLnRyYWl0LWltYWdlLWJlZm9yZSwgLmhlYWx0aHktcmVwb3J0IC50cmFpdC1pbWFnZS1hZnRlciB7XG4gICAgYmFja2dyb3VuZDogdXJsKFwiL3N0b3JhZ2UvaW1nL3RyYWl0LWltYWdlcy9kZWZhdWx0LmpwZ1wiKTtcbn1cblxuLmdlbmV0aWMtcmVwb3J0IC50cmFpdC1pbWFnZS1iZWZvcmUsIC5nZW5ldGljLXJlcG9ydCAudHJhaXQtaW1hZ2UtYWZ0ZXIge1xuICAgIGJhY2tncm91bmQ6IHVybChcIi9zdG9yYWdlL2ltZy90cmFpdC1pbWFnZXMvZGVmYXVsdC5qcGdcIik7XG59XG4vKiBlbmQgZGVmYXVsdCAqL1xuXG4uZGF0ZS1sYWJlbCB7XG4gICAgbWFyZ2luLXRvcDogMCAhaW1wb3J0YW50O1xuICAgIG1hcmdpbi1ib3R0b206IDAgIWltcG9ydGFudDtcbiAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICBjb2xvcjogIzJjNmJiMTtcbiAgICBmbG9hdDogcmlnaHQ7XG59XG5cbi5kbmEtdmVuZG9yLWxhYmVsIHtcbiAgICBtYXJnaW4tdG9wOiAwICFpbXBvcnRhbnQ7XG4gICAgbWFyZ2luLWJvdHRvbTogMCAhaW1wb3J0YW50O1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgIGNvbG9yOiAjMmM2YmIxO1xuICAgIGZsb2F0OiByaWdodDtcbiAgICBjbGVhcjogcmlnaHQ7XG59XG5cbi51bnN0eWxlZC1kYXRlLWxhYmVsLCAudW5zdHlsZWQtZG5hLXZlbmRvci1sYWJlbCB7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgY29sb3I6ICMyYzZiYjE7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgcGFkZGluZy1ib3R0b206IDEwcHg7XG4gICAgbWFyZ2luLXRvcDogLThweDtcbn1cblxuLmdlbmV0aWMtcmVwb3J0IHtcbiAgICBtaW4td2lkdGg6IDgxMHB4O1xuICAgIG1heC13aWR0aDogMTAwJTtcbn1cblxuLmdlbmV0aWMtcmVwb3J0IC5wYWdlLWJyZWFrIHtcbiAgICBwYWdlLWJyZWFrLWFmdGVyOiBhbHdheXM7XG59XG5cbi5nZW5ldGljLXJlcG9ydCAudGl0bGUtc2xpZGVyLWJveCB7XG4gICAgcGFnZS1icmVhay1pbnNpZGU6IGF2b2lkO1xufVxuXG4uZ2VuZXRpYy1yZXBvcnQgZGl2LnRyYWl0IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRkZGO1xuICAgIG1hcmdpbjogMWVtIDA7XG4gICAgcGFkZGluZzogMmVtIDA7XG59XG5cbiNteWhlYWx0aHlnZW5lc3JlcG9ydCBkaXYudHJhaXQge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNGRkY7XG4gICAgbWFyZ2luOiAxZW0gIWltcG9ydGFudDtcbiAgICBwYWRkaW5nOiAuNXJlbSAhaW1wb3J0YW50O1xufVxuXG4uZ2VuZXRpYy1yZXBvcnQgZGl2LnRyYWl0IC5wcm9ncmVzcyB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LCAjNkM5RjNFIDAlLCAjRkZENjUxIDUwJSwgI0NDMTUxOSAxMDAlKTtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiAtd2Via2l0LWxpbmVhci1ncmFkaWVudChsZWZ0LCAjNkM5RjNFIDAlLCAjRkZENjUxIDUwJSwgI0NDMTUxOSAxMDAlKTtcbiAgICBtYXJnaW46IDEuNXJlbSBhdXRvO1xufVxuXG4uZ2VuZXRpYy1yZXBvcnQgZGl2LnRyYWl0IC5wcm9ncmVzcyAucHJvZ3Jlc3MtbWV0ZXIge1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgIGJvcmRlci1yYWRpdXM6IDBweDtcbn1cblxuLmdlbmV0aWMtcmVwb3J0IGRpdi50cmFpdCAucHJvZ3Jlc3MgLnByb2dyZXNzLW1ldGVyOmFmdGVyIHtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICByaWdodDogMHB4O1xuICAgIHdpZHRoOiA4cHg7XG4gICAgYm9yZGVyLXJhZGl1czogMTBweDtcbiAgICBmb250LXNpemU6IDJyZW07XG4gICAgYm90dG9tOiAtNnB4O1xuICAgIGJhY2tncm91bmQ6IGJsYWNrO1xuICAgIGhlaWdodDogNDBweDtcbn1cblxuLmdlbmV0aWMtcmVwb3J0IC5pbmhlcml0ZWQtbWVzc2FnZSB7XG4gICAgY29sb3I6ICM3MDcwNzAgIWltcG9ydGFudDtcbiAgICBmb250LXNpemU6IDE4cHggIWltcG9ydGFudDtcbiAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICBmb250LXN0eWxlOiBub3JtYWwgIWltcG9ydGFudDtcbn1cblxuLmdlbmV0aWMtcmVwb3J0IC5pbmhlcml0ZWQtbWVzc2FnZTo6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgZmxvYXQ6IG5vbmU7XG4gICAgbWFyZ2luOiAwIGF1dG87XG4gICAgYmFja2dyb3VuZDogIzE0NUFBODtcbiAgICBoZWlnaHQ6IDVweDtcbiAgICBtYXgtd2lkdGg6IDQwMHB4O1xuICAgIG1hcmdpbi10b3A6IDMwcHg7XG59XG5cbi5nZW5ldGljLXJlcG9ydCAucHJvZ3Jlc3Mge1xuICAgIGhlaWdodDogMzBweDtcbn1cblxuLmdlbmV0aWMtcmVwb3J0IC50cmFpdC10aXRsZSB7XG4gICAgbWFyZ2luOiAwO1xuICAgIGZvbnQtc2l6ZTogMjJweDtcbiAgICBjb2xvcjogIzE0NUFBODtcbiAgICBwYWRkaW5nLWJvdHRvbTogMTVweDtcbn1cblxuLmdlbmV0aWMtcmVwb3J0ICNkbmEtYmFubmVyIHtcbiAgICBtYXJnaW4tdG9wOiAxMHB4O1xuICAgIG1hcmdpbi1ib3R0b206IDMwcHg7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyICFpbXBvcnRhbnQ7XG4gICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcbiAgICBmbG9hdDogbm9uZSAhaW1wb3J0YW50O1xuICAgIG1hcmdpbjogMCBhdXRvO1xuICAgIG1hcmdpbi10b3A6IDIwcHg7XG4gICAgbWFyZ2luLWJvdHRvbTogMjBweDtcbn1cblxuLmdlbmV0aWMtcmVwb3J0IC5rZXktaW5kaWNhdG9yIHtcbiAgICAvKiBwYWRkaW5nLWJvdHRvbTogMTBweDsgKi9cbiAgICBmb250LXNpemU6IDE0cHg7XG4gICAgY29sb3I6IHdoaXRlXG59XG5cbi5nZW5ldGljLXJlcG9ydCAucHJvZ3Jlc3Mtd3JhcHBlciB7XG4gICAgYmFja2dyb3VuZDogIzE0NUFBODtcbiAgICBwYWRkaW5nOiAxNXB4O1xuICAgIGhlaWdodDogMTAwcHg7XG4gICAgYWxpZ24tY29udGVudDogY2VudGVyO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZGlzcGxheTogZmxleDtcbn1cblxuLmdlbmV0aWMtcmVwb3J0IC5wZXJjZW50IHtcbiAgICBtaW4td2lkdGg6IDEzJSAhaW1wb3J0YW50O1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBmbG9hdDogbGVmdDtcbiAgICBiYWNrZ3JvdW5kOiAjMTY0NjdCO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBjb2xvcjogd2hpdGU7XG4gICAgZm9udC1zaXplOiAzMnB4O1xuICAgIHBhZGRpbmc6IDEwcHg7XG59XG5cbi5nZW5ldGljLXJlcG9ydCAuaW5kaWNhdG9yLWNvbXBvbmVudHMge1xuICAgIHdpZHRoOiA4NSU7XG4gICAgZmxvYXQ6IHJpZ2h0O1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBwYWRkaW5nLWxlZnQ6IDIwcHg7XG59XG5cbi5nZW5ldGljLXJlcG9ydCAubG93LXNwYW4ge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIHBhZGRpbmctbGVmdDogMTBweDtcbn1cblxuLmdlbmV0aWMtcmVwb3J0IC5oaWdoLXNwYW4ge1xuICAgIGZsb2F0OiByaWdodDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAxMHB4O1xufVxuXG4uZ2VuZXRpYy1yZXBvcnQgLm1ldGVyLFxuLmdlbmV0aWMtcmVwb3J0IC5xdWl6LXJlc3VsdHMge1xuICAgIHBhZGRpbmc6IDRyZW0gMnJlbTtcbiAgICBiYWNrZ3JvdW5kOiB1cmwoXCIvc3RvcmFnZS9pbWcvZG5hLWJhY2tncm91bmQucG5nXCIpO1xuICAgIG1hcmdpbjogMWVtIGF1dG87XG4gICAgY29sb3I6ICMyNzI3Mjc7XG4gICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbn1cblxuLmdlbmV0aWMtcmVwb3J0IC5xdWl6LXJlc3VsdHMge1xuICAgIG1hcmdpbi1ib3R0b206IDJyZW07XG59XG5cbi5nZW5ldGljLXJlcG9ydCAucXVpei1yZXN1bHRzIHAge1xuICAgIGZvbnQtc3R5bGU6IGl0YWxpYztcbn1cblxuLmdlbmV0aWMtcmVwb3J0IC5xdWl6LXJlc3VsdHMgLmg0IHtcbiAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICB0ZXh0LXNoYWRvdzogcmdiYSgwLCAwLCAwLCAwLjc0KSAycHggMnB4IDJweDtcbn1cblxuLmdlbmV0aWMtcmVwb3J0IC5tZXRlciBoNiB7XG4gICAgdGV4dC1zaGFkb3c6IHJnYmEoMCwgMCwgMCwgMC43NCkgMnB4IDJweCAycHg7XG4gICAgY29sb3I6IHdoaXRlO1xufVxuXG4uZ2VuZXRpYy1yZXBvcnQgLmluaGVyaXRlZC1tZXNzYWdlIHtcbiAgICBmb250LXNpemU6IDAuOHJlbTtcbiAgICBmb250LXN0eWxlOiBpdGFsaWM7XG4gICAgcGFkZGluZzogMCAwIDAuNWVtO1xufVxuXG4uZ2VuZXRpYy1yZXBvcnQgLmluaGVyaXRlZC1tZXNzYWdlIHNwYW4ubWV0ZXItcmVkIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmRhYWJkO1xufVxuXG4uZ2VuZXRpYy1yZXBvcnQgLmluaGVyaXRlZC1tZXNzYWdlIHNwYW4ubWV0ZXItZ3JlZW4ge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNjNGViOTc7XG59XG5cbi5nZW5ldGljLXJlcG9ydCAuaW5oZXJpdGVkLW1lc3NhZ2Ugc3Bhbi5tZXRlci15ZWxsb3cge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmYzODg7XG59XG5cbi5nZW5ldGljLXJlcG9ydCAuYXNzb2MtZ2VuZXMge1xuICAgIGNvbG9yOiAjMTE3MmMxO1xuICAgIGZvbnQtc2l6ZTogMC45ZW07XG59XG5cbi5nZW5ldGljLXJlcG9ydCB0ZC5ncmVlbiB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2EwZGU1NztcbiAgICBjb2xvcjogIzAwMDAwMDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgZm9udC1zaXplOiAxLjJlbTtcbiAgICBwYWRkaW5nOiAwO1xufVxuXG4uZ2VuZXRpYy1yZXBvcnQgdGQueWVsbG93IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZlYjNiO1xuICAgIGNvbG9yOiAjMDAwMDAwO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICBmb250LXNpemU6IDEuMmVtO1xuICAgIHBhZGRpbmc6IDA7XG59XG5cbi5nZW5ldGljLXJlcG9ydCB0ZC5yZWQge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmYjVmODQ7XG4gICAgY29sb3I6ICMwMDAwMDA7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgIGZvbnQtc2l6ZTogMS4yZW07XG4gICAgcGFkZGluZzogMDtcbn1cblxuLmdlbmV0aWMtcmVwb3J0IHRoZWFkIHtcbiAgICBwb3NpdGlvbjogc3RpY2t5O1xuICAgIHBvc2l0aW9uOiAtd2Via2l0LXN0aWNreTtcbiAgICB0b3A6IC0xcHg7XG4gICAgYmFja2dyb3VuZDogIzliZDhmYjtcbn1cblxuLmdlbmV0aWMtcmVwb3J0IHRoZWFkIHRoIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgYm9yZGVyOiAxcHggc29saWQgI2U2ZTZlNjtcbn1cblxuLmdlbmV0aWMtcmVwb3J0IHRoZWFkIC5yZXBvcnQtc3VtbWFyeSB0aDpob3ZlciB7XG4gICAgY3Vyc29yOiBoZWxwO1xufVxuXG4uZ2VuZXRpYy1yZXBvcnQgLm5hbWUge1xuICAgIGNvbG9yOiAjMTQ1QUE4O1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgIHRleHQtdHJhbnNmb3JtOiBjYXBpdGFsaXplO1xuICAgIGZvbnQtc2l6ZTogMjRweDtcbiAgICBmb250LWZhbWlseTogJ01vbnRzZXJyYXQnO1xuICAgIG1hcmdpbi1ib3R0b206IC0xcmVtO1xufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAyMDAwcHgpIHtcbiAgICAuZ2VuZXRpYy1yZXBvcnQgLmludHJvZHVjdGlvbiAuaW50cm8tdGV4dCB7XG4gICAgICAgIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG4gICAgfVxufVxuXG4ubWhnLXByZS1sb2dvIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbi53eXNpd3lnLWNvbnRhaW5lci1uZXcge1xuICAgIHBhZGRpbmc6IDMwcHg7XG59XG5cbi5nZW5ldGljLXJlcG9ydCAuaW50cm9kdWN0aW9uIC5pbnRyby10ZXh0LWNvbnRhaW5lciB7XG4gICAgLy8gbWFyZ2luLWxlZnQ6IC02NXB4O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBtYXJnaW4tdG9wOiA2MHB4O1xuICAgIG1hcmdpbi1ib3R0b206IDYwcHg7XG59XG5cblxuLmdlbmV0aWMtcmVwb3J0IC5pbnRyb2R1Y3Rpb24gLmludHJvLWJhbm5lcjo6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgYmFja2dyb3VuZDogIzE0NUFBODtcbiAgICBoZWlnaHQ6IDczMHB4O1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIHdpZHRoOiAzNTBweDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgbGVmdDogLTIwcHg7XG4gICAgdG9wOiAtMjVweDtcbiAgICB6LWluZGV4OiAtMTtcbn1cblxuLmdlbmV0aWMtcmVwb3J0IC5pbnRyb2R1Y3Rpb24gLmludHJvLXRleHQge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGZsb2F0OiBub25lO1xufVxuXG4uZ2VuZXRpYy1yZXBvcnQgLmludHJvZHVjdGlvbiAuaW50cm8tdGV4dCBoMyB7XG4gICAgY29sb3I6ICMxNDVBQTg7XG4gICAgZm9udC1mYW1pbHk6ICdNb250c2VycmF0JztcbiAgICBmb250LXNpemU6IDI2cHg7XG59XG5cbi5nZW5ldGljLXJlcG9ydCAuaW50cm9kdWN0aW9uIC5pbnRyby10ZXh0IHAge1xuICAgIG1hcmdpbi1ib3R0b206IDMwcHg7XG59XG5cbi5nZW5ldGljLXJlcG9ydCAuaW50cm9kdWN0aW9uIGlmcmFtZSB7XG4gICAgd2lkdGg6IDEwMCU7XG59XG5cbi5nZW5ldGljLXJlcG9ydCBoMiB7XG4gICAgZm9udC1zaXplOiA0M3B4O1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgIGNvbG9yOiAjMTQ1QUE4O1xuICAgIGZvbnQtZmFtaWx5OiAnTW9udHNlcnJhdCc7XG4gICAgbWFyZ2luLWJvdHRvbTogNDBweDtcbn1cblxuLmdlbmV0aWMtcmVwb3J0IGgyOjphZnRlciB7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBiYWNrZ3JvdW5kOiAjMTQ1QUE4O1xuICAgIGhlaWdodDogNXB4O1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIHdpZHRoOiAyMDBweDtcbiAgICBtYXJnaW4tdG9wOiAxMHB4O1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbn1cblxuLmJvdHRvbS1iYW5uZXIge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGJhY2tncm91bmQ6ICNmZmZmZmZhYjtcbiAgICBjb2xvcjogd2hpdGU7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGxlZnQ6IDA7XG4gICAgYm90dG9tOiAwO1xuICAgIGhlaWdodDogMTUwcHg7XG59XG5cbi5ib3R0b20tYmFubmVyIGltZyB7XG4gICAgbWF4LXdpZHRoOiAzMDBweDtcbiAgICBmbG9hdDogcmlnaHQ7XG4gICAgbWFyZ2luLXRvcDogMThweDtcbiAgICBtYXJnaW4tcmlnaHQ6IDMwcHg7XG59XG5cbi5nZW5ldGljLXJlcG9ydCAudGl0bGUge1xuICAgIGNvbG9yOiAjMTQ1QUE4O1xuICAgIGZvbnQtc2l6ZTogNjJweDtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgZm9udC1mYW1pbHk6ICdNb250c2VycmF0Jztcbn1cblxuLmdlbmV0aWMtcmVwb3J0IC5uYW1lLWJsb2NrIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDQwcHg7XG4gICAgcGFkZGluZy1yaWdodDogNDBweDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBiYWNrZ3JvdW5kOiB0ZWFsO1xuICAgIGhlaWdodDogODAwcHg7XG4gICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlciAhaW1wb3J0YW50O1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIHRvcDtcbiAgICBiYWNrZ3JvdW5kOiB1cmwoXCIvc3RvcmFnZS9pbWcvZ2VuZXRpYy1oZWFkZXIucG5nXCIpO1xufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMDAwcHgpIHtcbiAgICAuZ2VuZXRpYy1yZXBvcnQgLm5hbWUtYmxvY2sgLnRpdGxlIHtcbiAgICAgICAgZm9udC1zaXplOiA0OHB4O1xuICAgICAgICBsaW5lLWhlaWdodDogNjBweDtcbiAgICAgICAgbWFyZ2luLXRvcDogMTBweDtcbiAgICB9XG5cblxuICAgIC5nZW5ldGljLXJlcG9ydCAuaW50cm9kdWN0aW9uIC5pbnRyby10ZXh0LWNvbnRhaW5lciB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAwcHg7XG4gICAgfVxuXG4gICAgLmdlbmV0aWMtcmVwb3J0IC5pbnRyb2R1Y3Rpb24gLmludHJvLWJhbm5lcjo6YWZ0ZXIge1xuICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICBiYWNrZ3JvdW5kOiAjMTQ1QUE4O1xuICAgICAgICBoZWlnaHQ6IDE1MHB4O1xuICAgICAgICBmbG9hdDogbm9uZTtcbiAgICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogLTE1cHg7XG4gICAgICAgIHotaW5kZXg6IC0xO1xuICAgIH1cblxuXG4gICAgLmdlbmV0aWMtcmVwb3J0IC5pbnRyb2R1Y3Rpb24gLmludHJvLXRleHQge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgbWFyZ2luLXRvcDogMjBweDtcbiAgICAgICAgZmxvYXQ6IG5vbmU7XG4gICAgfVxuXG4gICAgLmdlbmV0aWMtcmVwb3J0IGgyIHtcbiAgICAgICAgZm9udC1zaXplOiAzMHB4O1xuICAgIH1cblxufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4MDBweCkge1xuICAgIC5nZW5ldGljLXJlcG9ydCAudHJhaXQtaW1hZ2UtYmVmb3JlLCAuZ2VuZXRpYy1yZXBvcnQgLnRyYWl0LWltYWdlLWFmdGVyIHtcbiAgICAgICAgd2lkdGg6IDI1JTtcbiAgICB9XG5cbiAgICAuZ2VuZXRpYy1yZXBvcnQgLmNhbGxvdXQge1xuICAgICAgICB3aWR0aDogNzUlO1xuICAgIH1cblxuICAgIC5nZW5ldGljLXJlcG9ydCAucGRmLWNhbGxvdXQge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgaGVpZ2h0OiAxMDB2aDtcbiAgICB9XG5cbiAgICAuZ2VuZXRpYy1yZXBvcnQgLmdyaWQteD4uc21hbGwtMTEge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG5cblxuICAgIC5nZW5ldGljLXJlcG9ydCAubWV0ZXIge1xuICAgICAgICBwYWRkaW5nOiAycmVtIDFyZW07XG4gICAgfVxuXG4gICAgLmdlbmV0aWMtcmVwb3J0IC5wZXJjZW50IHtcbiAgICAgICAgZm9udC1zaXplOiAyMnB4O1xuICAgICAgICBwYWRkaW5nOiAxMHB4O1xuICAgIH1cblxuXG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYwMHB4KSB7XG4gICAgLmdlbmV0aWMtcmVwb3J0IC5tZXRlciB7XG4gICAgICAgIHBhZGRpbmc6IDAuNTFyZW07XG4gICAgICAgIG1hcmdpbjogMC41MWVtIGF1dG87XG4gICAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICB9XG59XG5cbi5nZW5ldGljLXJlcG9ydCAudHJhaXQtd3JhcHBlciB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgZGlzcGxheTogZmxleDtcbn1cblxuLmdlbmV0aWMtcmVwb3J0IC50cmFpdC1pbWFnZS1iZWZvcmUsIC5nZW5ldGljLXJlcG9ydCAudHJhaXQtaW1hZ2UtYWZ0ZXIge1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciBjZW50ZXIgIWltcG9ydGFudDtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0ICFpbXBvcnRhbnQ7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgb2JqZWN0LWZpdDogY29udGFpbjtcbn1cblxuLnRyYWl0LWJsb2NrIHtcbiAgICBkaXNwbGF5OiBncmlkO1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMzUlIDFmcjtcbiAgICBncmlkLWdhcDogM3JlbTtcblxuICAgIGltZyB7XG4gICAgICAgIG1hcmdpbjogMWVtIDA7XG4gICAgICAgIHBhZGRpbmc6IDJlbSAwO1xuICAgIH1cblxuICAgICYudHJhaXQtYmxvY2tfX2V2ZW4ge1xuICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmciAzNSU7XG4gICAgICAgIGltZyB7XG4gICAgICAgICAgICBvcmRlcjogMTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuXG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDg1MHB4KSB7XG4gICAgLmdlbmV0aWMtcmVwb3J0IC50cmFpdC1pbWFnZS1iZWZvcmUsIC5nZW5ldGljLXJlcG9ydCAudHJhaXQtaW1hZ2UtYWZ0ZXIge1xuICAgICAgICBoZWlnaHQ6IHVuc2V0O1xuICAgIH1cblxuICAgIC5oZWFsdGh5LXJlcG9ydCAudHJhaXQtaW1hZ2UtYmVmb3JlLCAuaGVhbHRoeS1yZXBvcnQgLnRyYWl0LWltYWdlLWFmdGVyIHtcbiAgICAgICAgaGVpZ2h0OiB1bnNldCAhaW1wb3J0YW50O1xuICAgIH1cbn1cblxuLnRyYWl0LWltZ3RhZy1hZnRlciB7XG4gICAgaGVpZ2h0OiA0MDBweDtcbiAgICB3aWR0aDogNTAlO1xuICAgIGZsb2F0OiBub25lO1xuICAgIG1hcmdpbjogMCBhdXRvO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuLyogLmdlbmV0aWMtcmVwb3J0IC50cmFpdC1jZWxscyAudHJhaXQtd3JhcHBlcjpudGgtb2YtdHlwZShvZGQpIC50cmFpdC1pbWd0YWctYmVmb3Jle1xuICAgIGRpc3BsYXk6IGlubGluZTtcbn1cblxuLmdlbmV0aWMtcmVwb3J0IC50cmFpdC1jZWxscyAudHJhaXQtd3JhcHBlcjpudGgtb2YtdHlwZShvZGQpIC50cmFpdC1pbWd0YWctYWZ0ZXIge1xuICAgIGRpc3BsYXk6IG5vbmU7XG59XG5cbi5nZW5ldGljLXJlcG9ydCAudHJhaXQtY2VsbHMgLnRyYWl0LXdyYXBwZXI6bnRoLW9mLXR5cGUoZXZlbikgLnRyYWl0LWltZ3RhZy1hZnRlciB7XG4gICAgZGlzcGxheTogaW5saW5lO1xufVxuXG4uZ2VuZXRpYy1yZXBvcnQgLnRyYWl0LWNlbGxzIC50cmFpdC13cmFwcGVyOm50aC1vZi10eXBlKGV2ZW4pIC50cmFpdC1pbWd0YWctYmVmb3Jle1xuICAgIGRpc3BsYXk6IG5vbmU7XG59ICovXG5cbi5nZW5ldGljLXJlcG9ydCAudHJhaXQtY2VsbHMgLnRyYWl0LXdyYXBwZXI6bnRoLW9mLXR5cGUob2RkKSAudHJhaXQtaW1hZ2UtYmVmb3JlIHtcbiAgICBkaXNwbGF5OiBpbmxpbmU7XG59XG5cbi5nZW5ldGljLXJlcG9ydCAudHJhaXQtY2VsbHMgLnRyYWl0LXdyYXBwZXI6bnRoLW9mLXR5cGUob2RkKSAudHJhaXQtaW1hZ2UtYWZ0ZXIge1xuICAgIGRpc3BsYXk6IG5vbmU7XG59XG5cbi5nZW5ldGljLXJlcG9ydCAudHJhaXQtY2VsbHMgLnRyYWl0LXdyYXBwZXI6bnRoLW9mLXR5cGUoZXZlbikgLnRyYWl0LWltYWdlLWFmdGVyIHtcbiAgICBkaXNwbGF5OiBpbmxpbmU7XG59XG5cbi5nZW5ldGljLXJlcG9ydCAudHJhaXQtY2VsbHMgLnRyYWl0LXdyYXBwZXI6bnRoLW9mLXR5cGUoZXZlbikgLnRyYWl0LWltYWdlLWJlZm9yZSB7XG4gICAgZGlzcGxheTogbm9uZTtcbn1cblxuLmdlbmV0aWMtcmVwb3J0IC5hZGRpY3Rpb24tcmlzay1hbGNvaG9sIHtcbiAgICBiYWNrZ3JvdW5kOiB1cmwoXCIvc3RvcmFnZS9pbWcvYWxjb2hvbC1hZGRpY3Rpb24tcmlzay5qcGdcIik7XG59XG5cbi5nZW5ldGljLXJlcG9ydCAuYW5nZXItYWdncmVzc2lvbi1hbmQtaXJyaXRhYmlsaXR5IHtcbiAgICBiYWNrZ3JvdW5kOiB1cmwoXCIvc3RvcmFnZS9pbWcvdHJhaXQtaW1hZ2VzL2FuZ2VyLWlycml0YWJpbGl0eS0xLmpwZ1wiKTtcbn1cblxuLmdlbmV0aWMtcmVwb3J0IC5ob3Jtb25lLXJlbGF0ZWQtbW9vZC1zd2luZ3MtaW4td29tZW4ge1xuICAgIGJhY2tncm91bmQ6IHVybChcIi9zdG9yYWdlL2ltZy9zdHJlc3NlZC13b21hbi5qcGdcIik7XG59XG5cbi5nZW5ldGljLXJlcG9ydCAuYW54aWV0eS1hbmQtc3RyZXNzLWltYmFsYW5jZXMge1xuICAgIGJhY2tncm91bmQ6IHVybChcIi9zdG9yYWdlL2ltZy9hbnhpZXR5LnBuZ1wiKTtcbn1cblxuLmdlbmV0aWMtcmVwb3J0IC5hdHRlbnRpb24tYW5kLWZvY3VzLWlzc3VlcyB7XG4gICAgYmFja2dyb3VuZDogdXJsKFwiL3N0b3JhZ2UvaW1nL2F0dGVudGlvbi5wbmdcIik7XG59XG5cbi5nZW5ldGljLXJlcG9ydCAuYnJhaW4tZnVuY3Rpb24taW1iYWxhbmNlLXRob3VnaHQtZGlzb3JkZXJzIHtcbiAgICBiYWNrZ3JvdW5kOiB1cmwoXCIvc3RvcmFnZS9pbWcvdHJhaXQtaW1hZ2VzL3Rob3VnaHQtYnJhaW4tZGlzLmpwZ1wiKTtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xufVxuXG4vLyAuZ2VuZXRpYy1yZXBvcnQgLmRlcHJlc3Npb25tb2RlcmF0ZS10by1zZXZlcmUge1xuLy8gICAgIGJhY2tncm91bmQ6IHVybChcIi9zdG9yYWdlL2ltZy90cmFpdC1pbWFnZXMvZGVwcmVzc2lvbi1zZXZlcmUucG5nXCIpO1xuLy8gfVxuXG4uZ2VuZXRpYy1yZXBvcnQgLmRlcHJlc3Npb25tb2RlcmF0ZS10by1zZXZlcmUge1xuICAgIGJhY2tncm91bmQ6IHVybChcIi9zdG9yYWdlL2ltZy90cmFpdC1pbWFnZXMvRGVwcmVzc2VkX01hbi5qcGdcIik7XG4gICAgYmFja2dyb3VuZC1zaXplOiAxMDAlIGF1dG8gIWltcG9ydGFudDtcbn1cblxuLy8gLmdlbmV0aWMtcmVwb3J0IC5kZXByZXNzaW9uLW9yLXNhZG5lc3MtbWlsZCB7XG4vLyAgICAgYmFja2dyb3VuZDogdXJsKFwiL3N0b3JhZ2UvaW1nL3RyYWl0LWltYWdlcy9taWxkLXNhZG5lc3MuanBnXCIpO1xuLy8gfVxuXG4uZ2VuZXRpYy1yZXBvcnQgLmRlcHJlc3Npb24tb3Itc2FkbmVzcy1taWxkIHtcbiAgICBiYWNrZ3JvdW5kOiB1cmwoXCIvc3RvcmFnZS9pbWcvdHJhaXQtaW1hZ2VzL0RlcHJlc3Npb25fTWlsZC5qcGdcIik7XG4gICAgYmFja2dyb3VuZC1zaXplOiAxMDAlIGF1dG8gIWltcG9ydGFudDtcbn1cblxuLmdlbmV0aWMtcmVwb3J0IC5kaWZmaWN1bHRpZXMtd2l0aC1zb2NpYWwtaW50ZXJhY3Rpb24tYW5kLWNvbW11bmljYXRpb24ge1xuICAgIGJhY2tncm91bmQ6IHVybChcIi9zdG9yYWdlL2ltZy90cmFpdC1pbWFnZXMvc29jaWFsLWludGVyYWN0aW9uLmpwZ1wiKTtcbn1cblxuLmdlbmV0aWMtcmVwb3J0IC5kaWZmaWN1bHR5LWZvcm1pbmctcmVsYXRpb25zaGlwcy1zaHluZXNzLWludHJvdmVyc2lvbiB7XG4gICAgYmFja2dyb3VuZDogdXJsKFwiL3N0b3JhZ2UvaW1nL3RyYWl0LWltYWdlcy9mb3JtaW5nLXJlbGF0aW9uc2hpcHMucG5nXCIpO1xufVxuXG4uZ2VuZXRpYy1yZXBvcnQgLmxhY2stb2YtZW1wYXRoeS1hbmQtZW1vdGlvbmFsLWJvbmRpbmcge1xuICAgIGJhY2tncm91bmQ6IHVybChcIi9zdG9yYWdlL2ltZy90cmFpdC1pbWFnZXMvZm9ybWluZy1yZWxhdGlvbnNoaXBzLnBuZ1wiKTtcbn1cblxuLmdlbmV0aWMtcmVwb3J0IC5lbnRyZXByZW5ldXJpYWwtdGVuZGVuY2llcy0tYW1iaXRpb3VzbmVzcyB7XG4gICAgYmFja2dyb3VuZDogdXJsKFwiL3N0b3JhZ2UvaW1nL3RyYWl0LWltYWdlcy9lbnRyZXBlbmV1ci10ZW5kaWVzLmpwZ1wiKTtcbn1cblxuLmdlbmV0aWMtcmVwb3J0IC5hZGRpY3Rpb25zLWdlbmVyYWwtdGVuZGVuY3kge1xuICAgIGJhY2tncm91bmQ6IHVybChcIi9zdG9yYWdlL2ltZy90cmFpdC1pbWFnZXMvYWRkaWN0aW9uLmpwZ1wiKTtcbn1cblxuLmdlbmV0aWMtcmVwb3J0IC5ob3Jtb25lLXJlbGF0ZWQtbW9vZC1zd2luZ3Mge1xuICAgIGJhY2tncm91bmQ6IHVybChcIi9zdG9yYWdlL2ltZy90cmFpdC1pbWFnZXMvbW9vZC1zd2luZy5qcGdcIik7XG59XG5cbi5nZW5ldGljLXJlcG9ydCAubGVhcm5pbmctZGlmZmljdWx0aWVzIHtcbiAgICBiYWNrZ3JvdW5kOiB1cmwoXCIvc3RvcmFnZS9pbWcvdHJhaXQtaW1hZ2VzL2xlYXJuaW5nLWRpZmZpY3VsdGllcy5qcGdcIik7XG59XG5cbi5nZW5ldGljLXJlcG9ydCAubW9vZC1zd2luZ3Mge1xuICAgIGJhY2tncm91bmQ6IHVybChcIi9zdG9yYWdlL2ltZy90cmFpdC1pbWFnZXMvbW9vZC1zd2luZy5qcGdcIik7XG59XG5cbi5nZW5ldGljLXJlcG9ydCAucmlzay1vZi1sb25nLXRlcm0tZWZmZWN0cy1mcm9tLXRyYXVtYXRpYy1vci1zdHJlc3NmdWwtZXZlbnRzLXAtdC1zLWQge1xuICAgIGJhY2tncm91bmQ6IHVybChcIi9zdG9yYWdlL2ltZy90cmFpdC1pbWFnZXMvcHRzZC1taWxpdGFyeS5qcGdcIik7XG59XG5cbi5nZW5ldGljLXJlcG9ydCAubm92ZWx0eS1zZWVraW5nLWltcHVsc2l2aXR5IHtcbiAgICBiYWNrZ3JvdW5kOiB1cmwoXCIvc3RvcmFnZS9pbWcvdHJhaXQtaW1hZ2VzL25vdmVsdHktc2Vla2luZy1pbXB1bHNpdml0eS5qcGdcIik7XG59XG5cbi5nZW5ldGljLXJlcG9ydCAucGVyZmVjdGlvbmlzdC10ZW5kZW5jaWVzIHtcbiAgICBiYWNrZ3JvdW5kOiB1cmwoXCIvc3RvcmFnZS9pbWcvdHJhaXQtaW1hZ2VzL3BlcmZlY3Rpb25pc3QuanBnXCIpO1xufVxuXG4uZ2VuZXRpYy1yZXBvcnQgLnJpc2stb2YtbG9uZy10ZXJtLWVmZmVjdHMtZnJvbS10cmF1bWF0aWMtb3Itc3RyZXNzZnVsLWV2ZW50cyB7XG4gICAgYmFja2dyb3VuZDogdXJsKFwiL3N0b3JhZ2UvaW1nL3RyYWl0LWltYWdlcy9wdHNkLW1pbGl0YXJ5LmpwZ1wiKTtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xufVxuXG4uZ2VuZXRpYy1yZXBvcnQgLnJpc2stb2YtbG9uZy10ZXJtLWVmZmVjdHMtZnJvbS10cmF1bWF0aWMtb3Itc3RyZXNzZnVsLWV2ZW50cy1wLXQtcy1kIHtcbiAgICBiYWNrZ3JvdW5kOiB1cmwoXCIvc3RvcmFnZS9pbWcvdHJhaXQtaW1hZ2VzL3B0c2QtbWlsaXRhcnkuanBnXCIpO1xuICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG59XG5cbi5nZW5ldGljLXJlcG9ydCAuYWRkaWN0aW9uLXJpc2stb3Bpb2lkIHtcbiAgICBiYWNrZ3JvdW5kOiB1cmwoXCIvc3RvcmFnZS9pbWcvdHJhaXQtaW1hZ2VzL29waW9kLWFkZGljdGlvbi5qcGdcIik7XG59XG5cbi8vIC5nZW5ldGljLXJlcG9ydCAuZGVwcmVzc2lvbi1zZWFzb25hbCB7XG4vLyAgICAgYmFja2dyb3VuZDogdXJsKFwiL3N0b3JhZ2UvaW1nL3RyYWl0LWltYWdlcy9zZWFzb25hbC1kZXByZXNzaW9uLmpwZ1wiKTtcbi8vIH1cblxuLmdlbmV0aWMtcmVwb3J0IC5kZXByZXNzaW9uLXNlYXNvbmFsIHtcbiAgICBiYWNrZ3JvdW5kOiB1cmwoXCIvc3RvcmFnZS9pbWcvdHJhaXQtaW1hZ2VzL0RlcHJlc3NlZF9TQUQuanBnXCIpO1xuICAgIGJhY2tncm91bmQtc2l6ZTogMTAwJSBhdXRvICFpbXBvcnRhbnQ7XG59XG5cbi5nZW5ldGljLXJlcG9ydCAuc2Vhc29uYWwtZGVwcmVzc2lvbiB7XG4gICAgYmFja2dyb3VuZDogdXJsKFwiL3N0b3JhZ2UvaW1nL3RyYWl0LWltYWdlcy9EZXByZXNzZWRfU0FELmpwZ1wiKTtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IDEwMCUgYXV0byAhaW1wb3J0YW50O1xufVxuXG4vLyAuZ2VuZXRpYy1yZXBvcnQgLnNlYXNvbmFsLWRlcHJlc3Npb24ge1xuLy8gICAgIGJhY2tncm91bmQ6IHVybChcIi9zdG9yYWdlL2ltZy90cmFpdC1pbWFnZXMvc2Vhc29uYWwtZGVwcmVzc2lvbi5qcGdcIik7XG4vLyB9XG5cbi5nZW5ldGljLXJlcG9ydCAuc2xlZXAtZGlzb3JkZXItb3ItZGlmZmljdWx0aWVzbm90LWFwbmVhIHtcbiAgICBiYWNrZ3JvdW5kOiB1cmwoXCIvc3RvcmFnZS9pbWcvdHJhaXQtaW1hZ2VzL3NsZWVwLmpwZ1wiKTtcbn1cblxuLmdlbmV0aWMtcmVwb3J0IC5hZGRpY3Rpb24tcmlzay1uaWNvdGluZSB7XG4gICAgYmFja2dyb3VuZDogdXJsKFwiL3N0b3JhZ2UvaW1nL3RyYWl0LWltYWdlcy9uaWNvdGluZS5qcGdcIik7XG59XG5cbi5nZW5ldGljLXJlcG9ydCAuZW50cmVwcmVuZXVyaWFsLXRlbmRlbmNpZXMge1xuICAgIGJhY2tncm91bmQ6IHVybChcIi9zdG9yYWdlL2ltZy90cmFpdC1pbWFnZXMvZW50cmVwZW5ldXItdGVuZGllcy5qcGdcIik7XG59XG5cbi5nZW5ldGljLXJlcG9ydCAudHJhaXQtaW1hZ2UtYWZ0ZXIgLmVudHJlcHJlbmV1cmlhbC10ZW5kZW5jaWVzIHtcbiAgICBiYWNrZ3JvdW5kOiB1cmwoXCIvc3RvcmFnZS9pbWcvdHJhaXQtaW1hZ2VzL2VudHJlcGVuZXVyLXRlbmRpZXMuanBnXCIpO1xufVxuXG4uZ2VuZXRpYy1yZXBvcnQgLmNhbGxvdXQge1xuICAgIC8vZmxvYXQ6IHJpZ2h0O1xuICAgIC8vd2lkdGg6IDYwJTtcbiAgICAvL2Rpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBwYWRkaW5nLXRvcDogMDtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICAgIG1hcmdpbi1ib3R0b206IDExMHB4O1xufVxuXG4uZ2VuZXRpYy1yZXBvcnQgLnBkZi1jYWxsb3V0IHtcbiAgICAvKiBmbG9hdDogcmlnaHQ7ICovXG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDB2aDtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwYWRkaW5nLXRvcDogMDtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICAgIC8qIG1hcmdpbi1ib3R0b206IDExMHB4OyAqL1xufVxuXG4uZ2VuZXRpYy1yZXBvcnQgZGl2LnRyYWl0PnAuZGVzY3JpcHRpb24ge1xuICAgIHdoaXRlLXNwYWNlOiBwcmUtbGluZTtcbn1cblxuLmdlbmV0aWMtcmVwb3J0IGh0bWwuaXMtcmV2ZWFsLW9wZW4gYm9keSB7XG4gICAgb3ZlcmZsb3c6IGluaXRpYWw7XG59XG5cbi5nZW5ldGljLXJlcG9ydCAucGRmLWhlYWRlci1ibG9jayB7XG4gICAgbWF4LXdpZHRoOiA4MTBweDtcbn1cblxuLmdlbmV0aWMtcmVwb3J0IC5wZGYtaGVhZGVyLWJsb2NrIHAudGl0bGUge1xuICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgIGZsb2F0OiByaWdodDtcbn1cblxuLmdlbmV0aWMtcmVwb3J0IC5wZGYtaGVhZGVyLWJsb2NrIGltZyB7XG4gICAgbWF4LXdpZHRoOiAyMDBweDtcbiAgICBmbG9hdDogbGVmdDtcbn1cblxuLmdlbmV0aWMtcmVwb3J0IHAucmVwb3J0LWludHJvIHtcbiAgICBmbG9hdDogY2xlYXI7XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDg1MHB4KSB7XG4gICAgLmdlbmV0aWMtcmVwb3J0IHtcbiAgICAgICAgLy8gbWluLXdpZHRoOiA5MHZ3O1xuICAgICAgICBtaW4td2lkdGg6IDYwMHB4O1xuICAgICAgICBvdmVyZmxvdzogc2Nyb2xsO1xuICAgIH1cbiAgICAuZ2VuZXRpYy1yZXBvcnQgZGl2LnRyYWl0IHtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICB9XG4gICAgLyogLmdlbmV0aWMtcmVwb3J0IC5tZXRlciB7XG4gICAgICAgIHBhZGRpbmc6IDAuNTFyZW07XG4gICAgICAgIG1hcmdpbjogMC41MWVtIGF1dG87XG4gICAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICB9ICovXG59XG5cblxuXG5cblxuXG5cblxuXG5cblxuLmhlYWx0aHktcmVwb3J0IHtcbiAgICBtaW4td2lkdGg6IDgxMHB4O1xuICAgIG1heC13aWR0aDogMTAwJTtcbn1cblxuLmhlYWx0aHktcmVwb3J0IC5wYWdlLWJyZWFrIHtcbiAgICBwYWdlLWJyZWFrLWFmdGVyOiBhbHdheXM7XG59XG5cbi5oZWFsdGh5LXJlcG9ydCAudGl0bGUtc2xpZGVyLWJveCB7XG4gICAgcGFnZS1icmVhay1pbnNpZGU6IGF2b2lkO1xufVxuXG4uaGVhbHRoeS1yZXBvcnQgZGl2LnRyYWl0IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRkZGO1xuICAgIG1hcmdpbjogMWVtO1xuICAgIHBhZGRpbmc6IDJlbTtcbn1cblxuLmhlYWx0aHktcmVwb3J0IGRpdi50cmFpdCAucHJvZ3Jlc3Mge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCh0byByaWdodCwgIzZDOUYzRSAwJSwgI0ZGRDY1MSA1MCUsICNDQzE1MTkgMTAwJSk7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogLXdlYmtpdC1saW5lYXItZ3JhZGllbnQobGVmdCwgIzZDOUYzRSAwJSwgI0ZGRDY1MSA1MCUsICNDQzE1MTkgMTAwJSk7XG4gICAgbWFyZ2luOiAxLjVyZW0gYXV0bztcbn1cblxuLmhlYWx0aHktcmVwb3J0IGRpdi50cmFpdCAucHJvZ3Jlc3MgLnByb2dyZXNzLW1ldGVyIHtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICBib3JkZXItcmFkaXVzOiAwcHg7XG59XG5cbi5oZWFsdGh5LXJlcG9ydCBkaXYudHJhaXQgLnByb2dyZXNzIC5wcm9ncmVzcy1tZXRlcjphZnRlciB7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgcmlnaHQ6IDBweDtcbiAgICB3aWR0aDogOHB4O1xuICAgIGJvcmRlci1yYWRpdXM6IDEwcHg7XG4gICAgZm9udC1zaXplOiAycmVtO1xuICAgIGJvdHRvbTogLTZweDtcbiAgICBiYWNrZ3JvdW5kOiBibGFjaztcbiAgICBoZWlnaHQ6IDQwcHg7XG59XG5cbi5oZWFsdGh5LXJlcG9ydCAuaW5oZXJpdGVkLW1lc3NhZ2Uge1xuICAgIGNvbG9yOiAjNzA3MDcwICFpbXBvcnRhbnQ7XG4gICAgZm9udC1zaXplOiAxOHB4ICFpbXBvcnRhbnQ7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgZm9udC1zdHlsZTogbm9ybWFsICFpbXBvcnRhbnQ7XG59XG5cbi5oZWFsdGh5LXJlcG9ydCAuaW5oZXJpdGVkLW1lc3NhZ2U6OmFmdGVyIHtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGZsb2F0OiBub25lO1xuICAgIG1hcmdpbjogMCBhdXRvO1xuICAgIGJhY2tncm91bmQ6ICMxNDVBQTg7XG4gICAgaGVpZ2h0OiA1cHg7XG4gICAgbWF4LXdpZHRoOiA0MDBweDtcbiAgICBtYXJnaW4tdG9wOiAzMHB4O1xufVxuXG4uaGVhbHRoeS1yZXBvcnQgLnByb2dyZXNzIHtcbiAgICBoZWlnaHQ6IDMwcHg7XG59XG5cblxuXG4uYmlvY2hlbS1yZXBvcnQgZGl2LnRyYWl0IC5wcm9ncmVzcywgLm1oZy1uZXctcmVwb3J0IGRpdi50cmFpdCAucHJvZ3Jlc3Mge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCh0byByaWdodCwgIzZDOUYzRSAwJSwgI0ZGRDY1MSA1MCUsICNDQzE1MTkgMTAwJSk7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogLXdlYmtpdC1saW5lYXItZ3JhZGllbnQobGVmdCwgIzZDOUYzRSAwJSwgI0ZGRDY1MSA1MCUsICNDQzE1MTkgMTAwJSk7XG4gICAgbWFyZ2luOiAxLjVyZW0gYXV0bztcbn1cblxuLmJpb2NoZW0tcmVwb3J0IGRpdi50cmFpdCAucHJvZ3Jlc3MgLnByb2dyZXNzLW1ldGVyLCAubWhnLW5ldy1yZXBvcnQgZGl2LnRyYWl0IC5wcm9ncmVzcyAucHJvZ3Jlc3MtbWV0ZXIge1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgIGJvcmRlci1yYWRpdXM6IDBweDtcbn1cblxuLmJpb2NoZW0tcmVwb3J0IGRpdi50cmFpdCAucHJvZ3Jlc3MgLnByb2dyZXNzLW1ldGVyOmFmdGVyLCAubWhnLW5ldy1yZXBvcnQgZGl2LnRyYWl0IC5wcm9ncmVzcyAucHJvZ3Jlc3MtbWV0ZXI6YWZ0ZXIgIHtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICByaWdodDogMHB4O1xuICAgIHdpZHRoOiA4cHg7XG4gICAgYm9yZGVyLXJhZGl1czogMTBweDtcbiAgICBmb250LXNpemU6IDJyZW07XG4gICAgYm90dG9tOiAtNnB4O1xuICAgIGJhY2tncm91bmQ6IGJsYWNrO1xuICAgIGhlaWdodDogNDBweDtcbn1cblxuLmJpb2NoZW0tcmVwb3J0IC5pbmhlcml0ZWQtbWVzc2FnZSwgLm1oZy1uZXctcmVwb3J0IC5pbmhlcml0ZWQtbWVzc2FnZSB7XG4gICAgY29sb3I6ICM3MDcwNzAgIWltcG9ydGFudDtcbiAgICBmb250LXNpemU6IDE4cHggIWltcG9ydGFudDtcbiAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICBmb250LXN0eWxlOiBub3JtYWwgIWltcG9ydGFudDtcbn1cblxuLmJpb2NoZW0tcmVwb3J0IC5pbmhlcml0ZWQtbWVzc2FnZTo6YWZ0ZXIsIC5taGctbmV3LXJlcG9ydCAuaW5oZXJpdGVkLW1lc3NhZ2U6OmFmdGVyIHtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGZsb2F0OiBub25lO1xuICAgIG1hcmdpbjogMCBhdXRvO1xuICAgIGJhY2tncm91bmQ6ICMxNDVBQTg7XG4gICAgaGVpZ2h0OiA1cHg7XG4gICAgbWF4LXdpZHRoOiA0MDBweDtcbiAgICBtYXJnaW4tdG9wOiAzMHB4O1xufVxuXG4uYmlvY2hlbS1yZXBvcnQgLnByb2dyZXNzLCAubWhnLW5ldy1yZXBvcnQgLnByb2dyZXNzIHtcbiAgICBoZWlnaHQ6IDMwcHg7XG59XG5cbi5oZWFsdGh5LXJlcG9ydCAudHJhaXQtdGl0bGUge1xuICAgIG1hcmdpbjogMDtcbiAgICBmb250LXNpemU6IDIycHg7XG4gICAgY29sb3I6ICMxNDVBQTg7XG4gICAgcGFkZGluZy1ib3R0b206IDE1cHg7XG59XG5cbi5oZWFsdGh5LXJlcG9ydCAjZG5hLWJhbm5lciB7XG4gICAgbWFyZ2luLXRvcDogMTBweDtcbiAgICBtYXJnaW4tYm90dG9tOiAzMHB4O1xuICAgIHRleHQtYWxpZ246IGNlbnRlciAhaW1wb3J0YW50O1xuICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG4gICAgZmxvYXQ6IG5vbmUgIWltcG9ydGFudDtcbiAgICBtYXJnaW46IDAgYXV0bztcbiAgICBtYXJnaW4tdG9wOiAyMHB4O1xuICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG59XG5cbi5oZWFsdGh5LXJlcG9ydCAua2V5LWluZGljYXRvciB7XG4gICAgLyogcGFkZGluZy1ib3R0b206IDEwcHg7ICovXG4gICAgZm9udC1zaXplOiAxNHB4O1xuICAgIGNvbG9yOiB3aGl0ZVxufVxuXG4uYmlvY2hlbS1yZXBvcnQgLmtleS1pbmRpY2F0b3IsIC5taGctbmV3LXJlcG9ydCAua2V5LWluZGljYXRvciB7XG4gICAgLyogcGFkZGluZy1ib3R0b206IDEwcHg7ICovXG4gICAgZm9udC1zaXplOiAxNHB4O1xuICAgIGNvbG9yOiB3aGl0ZVxufVxuXG4uaGVhbHRoeS1yZXBvcnQgLnByb2dyZXNzLXdyYXBwZXIge1xuICAgIGJhY2tncm91bmQ6ICMxNDVBQTg7XG4gICAgcGFkZGluZzogMTVweDtcbiAgICBoZWlnaHQ6IDEwMHB4O1xuICAgIGFsaWduLWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGRpc3BsYXk6IGZsZXg7XG59XG5cbi5iaW9jaGVtLXJlcG9ydCAucHJvZ3Jlc3Mtd3JhcHBlciwgLm1oZy1uZXctcmVwb3J0IC5wcm9ncmVzcy13cmFwcGVyIHtcbiAgICBiYWNrZ3JvdW5kOiAjMTQ1QUE4O1xuICAgIHBhZGRpbmc6IDE1cHg7XG4gICAgaGVpZ2h0OiAxMDBweDtcbiAgICBhbGlnbi1jb250ZW50OiBjZW50ZXI7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBkaXNwbGF5OiBmbGV4O1xufVxuXG4uYmlvY2hlbS1yZXBvcnQgLnBlcmNlbnQsIC5taGctbmV3LXJlcG9ydCAucGVyY2VudCB7XG4gICAgbWluLXdpZHRoOiAxMyUgIWltcG9ydGFudDtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgYmFja2dyb3VuZDogIzE2NDY3QjtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgY29sb3I6IHdoaXRlO1xuICAgIGZvbnQtc2l6ZTogMjhweDtcbiAgICBwYWRkaW5nOiAxMHB4O1xufVxuXG4uaGVhbHRoeS1yZXBvcnQgLnBlcmNlbnQge1xuICAgIG1pbi13aWR0aDogMTMlICFpbXBvcnRhbnQ7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIGJhY2tncm91bmQ6ICMxNjQ2N0I7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGNvbG9yOiB3aGl0ZTtcbiAgICBmb250LXNpemU6IDMycHg7XG4gICAgcGFkZGluZzogMTBweDtcbn1cblxuLmhlYWx0aHktcmVwb3J0IC5pbmRpY2F0b3ItY29tcG9uZW50cyB7XG4gICAgd2lkdGg6IDg1JTtcbiAgICBmbG9hdDogcmlnaHQ7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHBhZGRpbmctbGVmdDogMjBweDtcbn1cblxuLmJpb2NoZW0tcmVwb3J0IC5pbmRpY2F0b3ItY29tcG9uZW50cywgLm1oZy1uZXctcmVwb3J0IC5pbmRpY2F0b3ItY29tcG9uZW50cyB7XG4gICAgd2lkdGg6IDg1JTtcbiAgICBmbG9hdDogcmlnaHQ7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHBhZGRpbmctbGVmdDogMjBweDtcbn1cblxuLmJpb2NoZW0tcmVwb3J0IC5sb3ctc3BhbiwgLm1oZy1uZXctcmVwb3J0IC5sb3ctc3BhbiB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgcGFkZGluZy1sZWZ0OiAxMHB4O1xufVxuXG4uYmlvY2hlbS1yZXBvcnQgLmhpZ2gtc3BhbiwgLm1oZy1uZXctcmVwb3J0IC5oaWdoLXNwYW4ge1xuICAgIGZsb2F0OiByaWdodDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAxMHB4O1xufVxuXG4uaGVhbHRoeS1yZXBvcnQgLmxvdy1zcGFuIHtcbiAgICBmbG9hdDogbGVmdDtcbiAgICBwYWRkaW5nLWxlZnQ6IDEwcHg7XG59XG5cbi5oZWFsdGh5LXJlcG9ydCAuaGlnaC1zcGFuIHtcbiAgICBmbG9hdDogcmlnaHQ7XG4gICAgcGFkZGluZy1yaWdodDogMTBweDtcbn1cblxuLmhlYWx0aHktcmVwb3J0IC5tZXRlcixcbi5oZWFsdGh5LXJlcG9ydCAucXVpei1yZXN1bHRzIHtcbiAgICBwYWRkaW5nOiA0cmVtIDJyZW0gIWltcG9ydGFudDtcbiAgICBiYWNrZ3JvdW5kOiB1cmwoXCIvc3RvcmFnZS9pbWcvZG5hLWJhY2tncm91bmQucG5nXCIpO1xuICAgIG1hcmdpbjogMWVtIGF1dG87XG4gICAgY29sb3I6ICMyNzI3Mjc7XG4gICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbn1cblxuLmJpb2NoZW0tcmVwb3J0IC5tZXRlcixcbi5iaW9jaGVtLXJlcG9ydCAucXVpei1yZXN1bHRzLFxuLm1oZy1uZXctcmVwb3J0IC5tZXRlcixcbi5taGctbmV3LXJlcG9ydCAucXVpei1yZXN1bHRzIHtcbiAgICBwYWRkaW5nOiAycmVtIDJyZW07XG4gICAgYmFja2dyb3VuZDogdXJsKFwiL3N0b3JhZ2UvaW1nL2RuYS1iYWNrZ3JvdW5kLnBuZ1wiKTtcbiAgICBtYXJnaW46IDFlbSBhdXRvO1xuICAgIGNvbG9yOiAjMjcyNzI3O1xuICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG59XG5cbi5oZWFsdGh5LXJlcG9ydCAucXVpei1yZXN1bHRzIHtcbiAgICBtYXJnaW4tYm90dG9tOiAycmVtO1xufVxuXG4uaGVhbHRoeS1yZXBvcnQgLnF1aXotcmVzdWx0cyBwIHtcbiAgICBmb250LXN0eWxlOiBpdGFsaWM7XG59XG5cbi5oZWFsdGh5LXJlcG9ydCAucXVpei1yZXN1bHRzIC5oNCB7XG4gICAgY29sb3I6ICNmZmZmZmY7XG4gICAgdGV4dC1zaGFkb3c6IHJnYmEoMCwgMCwgMCwgMC43NCkgMnB4IDJweCAycHg7XG59XG5cbi5oZWFsdGh5LXJlcG9ydCAubWV0ZXIgaDYge1xuICAgIHRleHQtc2hhZG93OiByZ2JhKDAsIDAsIDAsIDAuNzQpIDJweCAycHggMnB4O1xuICAgIGNvbG9yOiB3aGl0ZTtcbn1cblxuLmhlYWx0aHktcmVwb3J0IC5pbmhlcml0ZWQtbWVzc2FnZSB7XG4gICAgZm9udC1zaXplOiAwLjhyZW07XG4gICAgZm9udC1zdHlsZTogaXRhbGljO1xuICAgIHBhZGRpbmc6IDAgMCAwLjVlbTtcbn1cblxuLmhlYWx0aHktcmVwb3J0IC5pbmhlcml0ZWQtbWVzc2FnZSBzcGFuLm1ldGVyLXJlZCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZkYWFiZDtcbn1cblxuLmhlYWx0aHktcmVwb3J0IC5pbmhlcml0ZWQtbWVzc2FnZSBzcGFuLm1ldGVyLWdyZWVuIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjYzRlYjk3O1xufVxuXG4uaGVhbHRoeS1yZXBvcnQgLmluaGVyaXRlZC1tZXNzYWdlIHNwYW4ubWV0ZXIteWVsbG93IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmMzg4O1xufVxuXG4uaGVhbHRoeS1yZXBvcnQgLmFzc29jLWdlbmVzIHtcbiAgICBjb2xvcjogIzExNzJjMTtcbiAgICBmb250LXNpemU6IDAuOWVtO1xufVxuXG4uaGVhbHRoeS1yZXBvcnQgdGQuZ3JlZW4ge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNhMGRlNTc7XG4gICAgY29sb3I6ICMwMDAwMDA7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgIGZvbnQtc2l6ZTogMS4yZW07XG4gICAgcGFkZGluZzogMDtcbn1cblxuLmhlYWx0aHktcmVwb3J0IHRkLnllbGxvdyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZWIzYjtcbiAgICBjb2xvcjogIzAwMDAwMDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgZm9udC1zaXplOiAxLjJlbTtcbiAgICBwYWRkaW5nOiAwO1xufVxuXG4uaGVhbHRoeS1yZXBvcnQgdGQucmVkIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmI1Zjg0O1xuICAgIGNvbG9yOiAjMDAwMDAwO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICBmb250LXNpemU6IDEuMmVtO1xuICAgIHBhZGRpbmc6IDA7XG59XG5cbi5oZWFsdGh5LXJlcG9ydCB0aGVhZCB7XG4gICAgcG9zaXRpb246IHN0aWNreTtcbiAgICBwb3NpdGlvbjogLXdlYmtpdC1zdGlja3k7XG4gICAgdG9wOiAtMXB4O1xuICAgIGJhY2tncm91bmQ6ICM5YmQ4ZmI7XG59XG5cbi5oZWFsdGh5LXJlcG9ydCB0aGVhZCB0aCB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICNlNmU2ZTY7XG59XG5cbi5oZWFsdGh5LXJlcG9ydCB0aGVhZCAucmVwb3J0LXN1bW1hcnkgdGg6aG92ZXIge1xuICAgIGN1cnNvcjogaGVscDtcbn1cblxuLmhlYWx0aHktcmVwb3J0IC5uYW1lIHtcbiAgICBjb2xvcjogIzE0NUFBODtcbiAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogY2FwaXRhbGl6ZTtcbiAgICBmb250LXNpemU6IDI0cHg7XG4gICAgZm9udC1mYW1pbHk6ICdNb250c2VycmF0JztcbiAgICBtYXJnaW4tYm90dG9tOiAtMXJlbTtcbn1cblxuLmhlYWx0aHktcmVwb3J0IC5pbnRyb2R1Y3Rpb24gLmludHJvLXRleHQtY29udGFpbmVyIHtcbiAgICBtYXJnaW4tbGVmdDogLTY1cHg7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIG1hcmdpbi10b3A6IDYwcHg7XG4gICAgbWFyZ2luLWJvdHRvbTogNjBweDtcbn1cblxuLmhlYWx0aHktcmVwb3J0IC5pbnRyb2R1Y3Rpb24gLmludHJvLWJhbm5lciB7XG4gICAgd2lkdGg6IDQwJTtcbiAgICBmbG9hdDogbGVmdDtcbn1cblxuLmhlYWx0aHktcmVwb3J0IC5pbnRyb2R1Y3Rpb24gLmludHJvLWJhbm5lcjo6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgYmFja2dyb3VuZDogIzE0NUFBODtcbiAgICBoZWlnaHQ6IDczMHB4O1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIHdpZHRoOiAzNTBweDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgbGVmdDogLTIwcHg7XG4gICAgdG9wOiAtMjVweDtcbiAgICB6LWluZGV4OiAtMTtcbn1cblxuLmhlYWx0aHktcmVwb3J0IC5pbnRyb2R1Y3Rpb24gLmludHJvLXRleHQge1xuICAgIHdpZHRoOiA2MCU7XG4gICAgZmxvYXQ6IHJpZ2h0O1xufVxuXG4uaGVhbHRoeS1yZXBvcnQgLmludHJvZHVjdGlvbiAuaW50cm8tdGV4dCBoMyB7XG4gICAgY29sb3I6ICMxNDVBQTg7XG4gICAgZm9udC1mYW1pbHk6ICdNb250c2VycmF0JztcbiAgICBmb250LXNpemU6IDI2cHg7XG59XG5cbi5oZWFsdGh5LXJlcG9ydCAuaW50cm9kdWN0aW9uIC5pbnRyby10ZXh0IHAge1xuICAgIG1hcmdpbi1ib3R0b206IDMwcHg7XG59XG5cbi5oZWFsdGh5LXJlcG9ydCAuaW50cm9kdWN0aW9uIGlmcmFtZSB7XG4gICAgd2lkdGg6IDEwMCU7XG59XG5cbi5oZWFsdGh5LXJlcG9ydCBoMiB7XG4gICAgZm9udC1zaXplOiA0M3B4O1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgIGNvbG9yOiAjMTQ1QUE4O1xuICAgIGZvbnQtZmFtaWx5OiAnTW9udHNlcnJhdCc7XG4gICAgbWFyZ2luLWJvdHRvbTogNDBweDtcbn1cblxuLmhlYWx0aHktcmVwb3J0IGgyOjphZnRlciB7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBiYWNrZ3JvdW5kOiAjMTQ1QUE4O1xuICAgIGhlaWdodDogNXB4O1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIHdpZHRoOiAyMDBweDtcbiAgICBtYXJnaW4tdG9wOiAxMHB4O1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbn1cblxuLmhlYWx0aHktcmVwb3J0IC50aXRsZSB7XG4gICAgY29sb3I6ICMxNDVBQTg7XG4gICAgZm9udC1zaXplOiA2MnB4O1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBmb250LWZhbWlseTogJ01vbnRzZXJyYXQnO1xufVxuXG4uaGVhbHRoeS1yZXBvcnQgLm5hbWUtYmxvY2sge1xuICAgIHBhZGRpbmctbGVmdDogNDBweDtcbiAgICBwYWRkaW5nLXJpZ2h0OiA0MHB4O1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGJhY2tncm91bmQ6IHRlYWw7XG4gICAgaGVpZ2h0OiA4MDBweDtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyICFpbXBvcnRhbnQ7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgdG9wO1xuICAgIGJhY2tncm91bmQ6IHVybChcIi9zdG9yYWdlL2ltZy9oZWFsdGh5LWhlYWRlci5wbmdcIik7XG59XG5cbi5oZWFsdGh5LXJlcG9ydCAucGRmLW5hbWUtYmxvY2sge1xuICAgIHBhZGRpbmctbGVmdDogNDBweDtcbiAgICBwYWRkaW5nLXJpZ2h0OiA0MHB4O1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGJhY2tncm91bmQ6IHRlYWw7XG4gICAgaGVpZ2h0OiA4MDBweDtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyICFpbXBvcnRhbnQ7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBsZWZ0O1xuICAgIGJhY2tncm91bmQ6IHVybChcIi9zdG9yYWdlL2ltZy9oZWFsdGh5LWhlYWRlci1yZXZlcnNlLnBuZ1wiKTtcbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTAwMHB4KSB7XG4gICAgLmhlYWx0aHktcmVwb3J0IC5uYW1lLWJsb2NrIC50aXRsZSB7XG4gICAgICAgIGZvbnQtc2l6ZTogNDhweDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDYwcHg7XG4gICAgICAgIG1hcmdpbi10b3A6IDEwcHg7XG4gICAgfVxuXG4gICAgLmhlYWx0aHktcmVwb3J0IC5pbnRyb2R1Y3Rpb24gLmludHJvLWJhbm5lciB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBmbG9hdDogbm9uZTtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIH1cblxuICAgIC5oZWFsdGh5LXJlcG9ydCAuaW50cm9kdWN0aW9uIC5pbnRyby10ZXh0LWNvbnRhaW5lciB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAwcHg7XG4gICAgfVxuXG4gICAgLmhlYWx0aHktcmVwb3J0IC5pbnRyb2R1Y3Rpb24gLmludHJvLWJhbm5lcjo6YWZ0ZXIge1xuICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICBiYWNrZ3JvdW5kOiAjMTQ1QUE4O1xuICAgICAgICBoZWlnaHQ6IDE1MHB4O1xuICAgICAgICBmbG9hdDogbm9uZTtcbiAgICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogLTE1cHg7XG4gICAgICAgIHotaW5kZXg6IC0xO1xuICAgIH1cblxuICAgIC5oZWFsdGh5LXJlcG9ydCAuaW50cm9kdWN0aW9uIC5pbnRyby1iYW5uZXIgaW1nIHtcbiAgICAgICAgd2lkdGg6IDMwLjUlO1xuICAgIH1cblxuICAgIC5oZWFsdGh5LXJlcG9ydCAuaW50cm9kdWN0aW9uIC5pbnRyby10ZXh0IHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIG1hcmdpbi10b3A6IDIwcHg7XG4gICAgICAgIGZsb2F0OiByaWdodDtcbiAgICB9XG5cbiAgICAuaGVhbHRoeS1yZXBvcnQgaDIge1xuICAgICAgICBmb250LXNpemU6IDMwcHg7XG4gICAgfVxuXG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDgwMHB4KSB7XG4gICAgLmhlYWx0aHktcmVwb3J0IC50cmFpdC1pbWFnZS1iZWZvcmUsIC5oZWFsdGh5LXJlcG9ydCAudHJhaXQtaW1hZ2UtYWZ0ZXIge1xuICAgICAgICB3aWR0aDogMjUlO1xuICAgIH1cblxuICAgIC8qIC50cmFpdC1pbWd0YWctYWZ0ZXIge1xuICAgICAgICB3aWR0aDogMjUlO1xuICAgIH0gKi9cblxuICAgIC5oZWFsdGh5LXJlcG9ydCAuY2FsbG91dCB7XG4gICAgICAgIHdpZHRoOiA3NSU7XG4gICAgfVxuXG4gICAgLmhlYWx0aHktcmVwb3J0IC5wZGYtY2FsbG91dCB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cblxuICAgIC5oZWFsdGh5LXJlcG9ydCAuZ3JpZC14Pi5zbWFsbC0xMSB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cblxuICAgIC5oZWFsdGh5LXJlcG9ydCAuaW50cm8tdGV4dC1jb250YWluZXIge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cblxuICAgIC5oZWFsdGh5LXJlcG9ydCAubWV0ZXIge1xuICAgICAgICBwYWRkaW5nOiAycmVtIDFyZW07XG4gICAgfVxuXG4gICAgLmhlYWx0aHktcmVwb3J0IC5wZXJjZW50IHtcbiAgICAgICAgZm9udC1zaXplOiAyMnB4O1xuICAgICAgICBwYWRkaW5nOiAxMHB4O1xuICAgIH1cblxuXG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYwMHB4KSB7XG4gICAgLmhlYWx0aHktcmVwb3J0IC5tZXRlciB7XG4gICAgICAgIHBhZGRpbmc6IDAuNTFyZW07XG4gICAgICAgIG1hcmdpbjogMC41MWVtIGF1dG87XG4gICAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICB9XG59XG5cbi5oZWFsdGh5LXJlcG9ydCAudHJhaXQtd3JhcHBlciB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgZGlzcGxheTogZmxleDtcbn1cblxuLmhlYWx0aHktcmVwb3J0IC50cmFpdC1pbWFnZS1iZWZvcmUsIC5oZWFsdGh5LXJlcG9ydCAudHJhaXQtaW1hZ2UtYWZ0ZXIge1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciBjZW50ZXIgIWltcG9ydGFudDtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0ICFpbXBvcnRhbnQ7XG4gICAgLyogZmxvYXQ6IGxlZnQ7ICovXG4gICAgZGlzcGxheTogaW5saW5lO1xuICAgIGhlaWdodDogODAwcHg7XG4gICAgd2lkdGg6IDM1JTtcbn1cblxuLyogLnRyYWl0LWltZ3RhZy1hZnRlciB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgaGVpZ2h0OiA0MDBweDtcbiAgICB3aWR0aDogMTAwJTtcbn0gKi9cblxuLmhlYWx0aHktcmVwb3J0IC50cmFpdC1jZWxscyAudHJhaXQtd3JhcHBlcjpudGgtb2YtdHlwZShvZGQpIC50cmFpdC1pbWFnZS1iZWZvcmUge1xuICAgIGRpc3BsYXk6IGlubGluZTtcbn1cblxuLmhlYWx0aHktcmVwb3J0IC50cmFpdC1jZWxscyAudHJhaXQtd3JhcHBlcjpudGgtb2YtdHlwZShvZGQpIC50cmFpdC1pbWFnZS1hZnRlciB7XG4gICAgZGlzcGxheTogbm9uZTtcbn1cblxuLmhlYWx0aHktcmVwb3J0IC50cmFpdC1jZWxscyAudHJhaXQtd3JhcHBlcjpudGgtb2YtdHlwZShldmVuKSAudHJhaXQtaW1hZ2UtYWZ0ZXIge1xuICAgIGRpc3BsYXk6IGlubGluZTtcbn1cblxuLmhlYWx0aHktcmVwb3J0IC50cmFpdC1jZWxscyAudHJhaXQtd3JhcHBlcjpudGgtb2YtdHlwZShldmVuKSAudHJhaXQtaW1hZ2UtYmVmb3JlIHtcbiAgICBkaXNwbGF5OiBub25lO1xufVxuXG4uaGVhbHRoeS1yZXBvcnQgLmFsY29ob2wtaW5hYmlsaXR5LXRvLXByb2Nlc3MtYW5kLWRldG94aWZ5LWxvdy10b2xlcmFuY2Uge1xuICAgIGJhY2tncm91bmQ6IHVybChcIi9zdG9yYWdlL2ltZy90cmFpdC1pbWFnZXMvYWxjb2hvbC1kZXRveC5qcGdcIik7XG59XG5cbi5oZWFsdGh5LXJlcG9ydCAuYWxjb2hvbCB7XG4gICAgYmFja2dyb3VuZDogdXJsKFwiL3N0b3JhZ2UvaW1nL3RyYWl0LWltYWdlcy9hbGNvaG9sLWRldG94LmpwZ1wiKTtcbn1cblxuLmhlYWx0aHktcmVwb3J0IC50eXJhbWluZS1jb250YWluaW5nLWZvb2RzIHtcbiAgICBiYWNrZ3JvdW5kOiB1cmwoXCIvc3RvcmFnZS9pbWcvdHJhaXQtaW1hZ2VzL2NoZWVzZS13aW5lLWNob2MucG5nXCIpO1xuICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG59XG5cbi5oZWFsdGh5LXJlcG9ydCAuY2FmZmVpbmUtaW5hYmlsaXR5LXRvLXByb2Nlc3Mge1xuICAgIGJhY2tncm91bmQ6IHVybChcIi9zdG9yYWdlL2ltZy90cmFpdC1pbWFnZXMvY29mZmVlLmpwZ1wiKTtcbn1cblxuLmhlYWx0aHktcmVwb3J0IC5jYWZmZWluZSB7XG4gICAgYmFja2dyb3VuZDogdXJsKFwiL3N0b3JhZ2UvaW1nL3RyYWl0LWltYWdlcy9jb2ZmZWUuanBnXCIpO1xufVxuXG4uaGVhbHRoeS1yZXBvcnQgLmNhcmJvaHlkcmF0ZS1pbmFiaWxpdHktdG8tY29udmVydC10by1lbmVyZ3ktZWZmaWNpZW50bHkge1xuICAgIGJhY2tncm91bmQ6IHVybChcIi9zdG9yYWdlL2ltZy90cmFpdC1pbWFnZXMvY2FyYi5qcGdcIik7XG59XG5cbi5oZWFsdGh5LXJlcG9ydCAuZGlldGFyeS1mYXQtaW5hYmlsaXR5LXRvLWJ1cm4tYXMtYS1mdWVsLWVmZmljaWVudGx5IHtcbiAgICBiYWNrZ3JvdW5kOiB1cmwoXCIvc3RvcmFnZS9pbWcvdHJhaXQtaW1hZ2VzL2RpZXRhcnktZmF0LmpwZ1wiKTtcbn1cblxuLmhlYWx0aHktcmVwb3J0IC5kaWV0YXJ5LXByb3RlaW4taW5hYmlsaXR5LXRvLWRpZ2VzdC1hbmQtYWJzb3JiLWFtaW5vLWFjaWRzIHtcbiAgICBiYWNrZ3JvdW5kOiB1cmwoXCIvc3RvcmFnZS9pbWcvdHJhaXQtaW1hZ2VzL2RpZXRhcnktcHJvdGVpbi5qcGdcIik7XG59XG5cbi5oZWFsdGh5LXJlcG9ydCAuZmVybWVudGVkLWZvb2Qtc2Vuc2l0aXZpdHkge1xuICAgIGJhY2tncm91bmQ6IHVybChcIi9zdG9yYWdlL2ltZy90cmFpdC1pbWFnZXMvcGlja2xlcy5qcGdcIik7XG59XG5cbi5oZWFsdGh5LXJlcG9ydCAuZmVybWVudGVkLWZvb2RzIHtcbiAgICBiYWNrZ3JvdW5kOiB1cmwoXCIvc3RvcmFnZS9pbWcvdHJhaXQtaW1hZ2VzL3BpY2tsZXMuanBnXCIpO1xufVxuXG4uaGVhbHRoeS1yZXBvcnQgLmdsdXRlbi1zZW5zaXRpdml0eS1vci1pbnRvbGVyYW5jZSB7XG4gICAgYmFja2dyb3VuZDogdXJsKFwiL3N0b3JhZ2UvaW1nL3RyYWl0LWltYWdlcy9nbHV0ZW4uanBnXCIpO1xufVxuXG4uaGVhbHRoeS1yZXBvcnQgLmdsdXRlbi13aGVhdC1yeWUtb2F0cy1iYXJsZXkge1xuICAgIGJhY2tncm91bmQ6IHVybChcIi9zdG9yYWdlL2ltZy90cmFpdC1pbWFnZXMvZ2x1dGVuLmpwZ1wiKTtcbn1cblxuLmhlYWx0aHktcmVwb3J0IC5oaXN0YW1pbmUtZm9vZC1zZW5zaXRpdml0eSB7XG4gICAgYmFja2dyb3VuZDogdXJsKFwiL3N0b3JhZ2UvaW1nL3RyYWl0LWltYWdlcy9hdm9jYWRvLmpwZ1wiKTtcbn1cblxuLmhlYWx0aHktcmVwb3J0IC5oaXN0YW1pbmUtZm9vZHMge1xuICAgIGJhY2tncm91bmQ6IHVybChcIi9zdG9yYWdlL2ltZy90cmFpdC1pbWFnZXMvYXZvY2Fkby5qcGdcIik7XG59XG5cbi5oZWFsdGh5LXJlcG9ydCAuaW50ZXJtaXR0ZW50LWZhc3RpbmctaW50b2xlcmFuY2Uge1xuICAgIGJhY2tncm91bmQ6IHVybChcIi9zdG9yYWdlL2ltZy90cmFpdC1pbWFnZXMvZmFzdGluZy5qcGdcIik7XG59XG5cbi5oZWFsdGh5LXJlcG9ydCAuaW50ZXJtaXR0ZW50LWZhc3Rpbmcge1xuICAgIGJhY2tncm91bmQ6IHVybChcIi9zdG9yYWdlL2ltZy90cmFpdC1pbWFnZXMvZmFzdGluZy5qcGdcIik7XG59XG5cbi8vIC5oZWFsdGh5LXJlcG9ydCAubmlnaHRzaGFkZS1mb29kcy10b21hdG9lcy1wb3RhdG9lcy1lZ2dwbGFudC1wZXBwZXJzLXRvYmFjY28ge1xuXG4vLyB9XG5cbi5oZWFsdGh5LXJlcG9ydCAubGFjdG9zZS1pbnRvbGVyYW5jZSB7XG4gICAgYmFja2dyb3VuZDogdXJsKFwiL3N0b3JhZ2UvaW1nL3RyYWl0LWltYWdlcy9sYWN0b3NlLmpwZ1wiKTtcbn1cblxuLmhlYWx0aHktcmVwb3J0IC5sYWN0b3NlLW1pbGstc3VnYXIge1xuICAgIGJhY2tncm91bmQ6IHVybChcIi9zdG9yYWdlL2ltZy90cmFpdC1pbWFnZXMvbGFjdG9zZS5qcGdcIik7XG59XG5cbi5oZWFsdGh5LXJlcG9ydCAubW9ub3NvZGl1bS1nbHV0YW1hdGUtbS1zLWctaW50b2xlcmFuY2Uge1xuICAgIGJhY2tncm91bmQ6IHVybChcIi9zdG9yYWdlL2ltZy90cmFpdC1pbWFnZXMvbXNnLmpwZ1wiKTtcbn1cblxuLmhlYWx0aHktcmVwb3J0IC5tb25vc29kaXVtLWdsdXRhbWF0ZS1tLXMtZyB7XG4gICAgYmFja2dyb3VuZDogdXJsKFwiL3N0b3JhZ2UvaW1nL3RyYWl0LWltYWdlcy9tc2cuanBnXCIpO1xufVxuXG4uaGVhbHRoeS1yZXBvcnQgLnNhbHQtaW50b2xlcmFuY2Uge1xuICAgIGJhY2tncm91bmQ6IHVybChcIi9zdG9yYWdlL2ltZy90cmFpdC1pbWFnZXMvbXNnLWludG9sLmpwZ1wiKTtcbn1cblxuLmhlYWx0aHktcmVwb3J0IC5zYWx0IHtcbiAgICBiYWNrZ3JvdW5kOiB1cmwoXCIvc3RvcmFnZS9pbWcvdHJhaXQtaW1hZ2VzL21zZy1pbnRvbC5qcGdcIik7XG59XG5cbi5oZWFsdGh5LXJlcG9ydCAuc2Vyb3RvbmluLWFuZC10cnlwdG9waGFuLWludG9sZXJhbmNlIHtcbiAgICBiYWNrZ3JvdW5kOiB1cmwoXCIvc3RvcmFnZS9pbWcvdHJhaXQtaW1hZ2VzL25ldy10dXJrZXktZGlubmVyLmpwZ1wiKTtcbn1cblxuLmhlYWx0aHktcmVwb3J0IC5zZXJvdG9uaW4tYW5kLXRyeXB0b3BoYW4ge1xuICAgIGJhY2tncm91bmQ6IHVybChcIi9zdG9yYWdlL2ltZy90cmFpdC1pbWFnZXMvbmV3LXR1cmtleS1kaW5uZXIuanBnXCIpO1xufVxuXG4uaGVhbHRoeS1yZXBvcnQgLnNveS1pbnRvbGVyYW5jZSB7XG4gICAgYmFja2dyb3VuZDogdXJsKFwiL3N0b3JhZ2UvaW1nL3RyYWl0LWltYWdlcy9zb3kuanBnXCIpO1xufVxuXG4uaGVhbHRoeS1yZXBvcnQgLnNveS1mb29kcy1zb3liZWFucy10b2Z1LWVkYW1hbWUtZXRjIHtcbiAgICBiYWNrZ3JvdW5kOiB1cmwoXCIvc3RvcmFnZS9pbWcvdHJhaXQtaW1hZ2VzL3NveS5qcGdcIik7XG59XG5cblxuLmhlYWx0aHktcmVwb3J0IC5zdWxmdXItaW50b2xlcmFuY2Uge1xuICAgIGJhY2tncm91bmQ6IHVybChcIi9zdG9yYWdlL2ltZy90cmFpdC1pbWFnZXMvc3VsZnVyLWludG9sLmpwZ1wiKTtcbn1cblxuLmhlYWx0aHktcmVwb3J0IC5zdWxmdXItZm9vZHMtb25pb25zLWdhcmxpYy1lZ2dzLXdpbmUtYmVlci1icm9jY29saS1icnVzc2Vscy1zcHJvdXRzLWNhdWxpZmxvd2VyLWV0YyB7XG4gICAgYmFja2dyb3VuZDogdXJsKFwiL3N0b3JhZ2UvaW1nL3RyYWl0LWltYWdlcy9zdWxmdXItaW50b2wuanBnXCIpO1xufVxuXG4uaGVhbHRoeS1yZXBvcnQgLnN1bGZ1ci1mb29kcyB7XG4gICAgYmFja2dyb3VuZDogdXJsKFwiL3N0b3JhZ2UvaW1nL3RyYWl0LWltYWdlcy9zdWxmdXItaW50b2wuanBnXCIpO1xufVxuXG4uaGVhbHRoeS1yZXBvcnQgLmZvb2QtYWxsZXJneS1zdXNjZXB0aWJpbGl0eSB7XG4gICAgYmFja2dyb3VuZDogdXJsKFwiL3N0b3JhZ2UvaW1nL3RyYWl0LWltYWdlcy9mb29kLWFsbGVyZ3kuanBnXCIpO1xufVxuXG4uaGVhbHRoeS1yZXBvcnQgLm5pZ2h0c2hhZGUtZm9vZC1zZW5zaXRpdml0eSB7XG4gICAgYmFja2dyb3VuZDogdXJsKFwiL3N0b3JhZ2UvaW1nL3RyYWl0LWltYWdlcy9uaWdodHNoYWRlLmpwZ1wiKTtcbn1cblxuLmhlYWx0aHktcmVwb3J0IC5uaWdodHNoYWRlLWZvb2RzLXRvbWF0b2VzLXBvdGF0b2VzLWVnZ3BsYW50LXBlcHBlcnMtdG9iYWNjbyB7XG4gICAgYmFja2dyb3VuZDogdXJsKFwiL3N0b3JhZ2UvaW1nL3RyYWl0LWltYWdlcy9uaWdodHNoYWRlLmpwZ1wiKTtcbn1cblxuLmhlYWx0aHktcmVwb3J0IC55b3VyLWJlc3QtZGlldC1sb3ctY2FyYm9oeWRyYXRlLWRpZXQge1xuICAgIGJhY2tncm91bmQ6IHVybChcIi9zdG9yYWdlL2ltZy90cmFpdC1pbWFnZXMvZG9udXRzLWNhcmJvaHlkcmF0ZXMuanBnXCIpO1xufVxuXG4uaGVhbHRoeS1yZXBvcnQgLnlvdXItaGVhbHRoeS1kaWV0LWNvbXBsZXgtY2FyYm9oeWRyYXRlLWRpZXQge1xuICAgIGJhY2tncm91bmQ6IHVybChcIi9zdG9yYWdlL2ltZy90cmFpdC1pbWFnZXMvY29tcGxleC1jYXJiby5qcGdcIilcbn1cblxuLmhlYWx0aHktcmVwb3J0IC55b3VyLWhlYWx0aHktZGlldC1oaWdoLWZhdC1kaWV0IHtcbiAgICBiYWNrZ3JvdW5kOiB1cmwoXCIvc3RvcmFnZS9pbWcvdHJhaXQtaW1hZ2VzL2tldG8uanBnXCIpXG59XG5cbi5oZWFsdGh5LXJlcG9ydCAueW91ci1oZWFsdGh5LWRpZXQtaGlnaC1wcm90ZWluLWRpZXQge1xuICAgIGJhY2tncm91bmQ6IHVybChcIi9zdG9yYWdlL2ltZy90cmFpdC1pbWFnZXMvcHJvdGVpbnMuanBnXCIpXG59XG5cblxuLmhlYWx0aHktcmVwb3J0IC5jYWxsb3V0IHtcbiAgICBmbG9hdDogcmlnaHQ7XG4gICAgd2lkdGg6IDYwJTtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgcGFkZGluZy10b3A6IDA7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgICBtYXJnaW4tYm90dG9tOiAxMTBweDtcbn1cblxuLmhlYWx0aHktcmVwb3J0IC5wZGYtY2FsbG91dCB7XG4gICAgLyogZmxvYXQ6IHJpZ2h0OyAqL1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBhZGRpbmctdG9wOiAwO1xuICAgIG1hcmdpbi10b3A6IDA7XG4gICAgLyogbWFyZ2luLWJvdHRvbTogMTEwcHg7ICovXG59XG5cbi5oZWFsdGh5LXJlcG9ydCBkaXYudHJhaXQ+cC5kZXNjcmlwdGlvbiB7XG4gICAgd2hpdGUtc3BhY2U6IHByZS1saW5lO1xufVxuXG4uaGVhbHRoeS1yZXBvcnQgaHRtbC5pcy1yZXZlYWwtb3BlbiBib2R5IHtcbiAgICBvdmVyZmxvdzogaW5pdGlhbDtcbn1cblxuLmhlYWx0aHktcmVwb3J0IC5wZGYtaGVhZGVyLWJsb2NrIHtcbiAgICBtYXgtd2lkdGg6IDgxMHB4O1xufVxuXG4uaGVhbHRoeS1yZXBvcnQgLnBkZi1oZWFkZXItYmxvY2sgcC50aXRsZSB7XG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgZmxvYXQ6IHJpZ2h0O1xufVxuXG4uaGVhbHRoeS1yZXBvcnQgLnBkZi1oZWFkZXItYmxvY2sgaW1nIHtcbiAgICBtYXgtd2lkdGg6IDIwMHB4O1xuICAgIGZsb2F0OiBsZWZ0O1xufVxuXG4uaGVhbHRoeS1yZXBvcnQgcC5yZXBvcnQtaW50cm8ge1xuICAgIGZsb2F0OiBjbGVhcjtcbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogODUwcHgpIHtcbiAgICAuaGVhbHRoeS1yZXBvcnQge1xuICAgICAgICBtaW4td2lkdGg6IDYwMHB4O1xuICAgICAgICBvdmVyZmxvdzogc2Nyb2xsO1xuICAgIH1cblxuICAgIC5oZWFsdGh5LXJlcG9ydCBkaXYudHJhaXQge1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgIH1cbiAgICAvKiAuaGVhbHRoeS1yZXBvcnQgLm1ldGVyIHtcbiAgICAgICAgcGFkZGluZzogMC41MXJlbTtcbiAgICAgICAgbWFyZ2luOiAwLjUxZW0gYXV0bztcbiAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIH0gKi9cbn1cbiIsIi5xdWVzdGlvbm5haXJlIHtcbiAgICBtYXJnaW4tYm90dG9tOiAycmVtO1xufVxuXG4uc3ltcHRvbXMge1xuICAgIHBhZGRpbmc6IDFyZW07XG4gICAgcCB7XG4gICAgICAgIG1hcmdpbjogMCAxcmVtIDFyZW07XG4gICAgICAgIGNvbG9yOiAkbWVkaXVtLWdyYXk7XG4gICAgICAgIGZvbnQtc2l6ZTogMnJlbTtcbiAgICAgICAgZm9udC1zdHlsZTogaXRhbGljO1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogbG93ZXJjYXNlO1xuICAgIH1cbiAgICAuY3VycmVudCB7XG4gICAgICAgIGNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcbiAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgfVxufVxuXG4ucHJvZ3Jlc3MtbWV0ZXIgcCB7XG4gICAgZm9udC1zaXplOiAuOGVtO1xuICAgIHBhZGRpbmc6IDVweDtcbiAgICBjb2xvcjogJHByaW1hcnktY29sb3I7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbn1cblxuLnByb2dyZXNzLW1ldGVyIHtcbiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMC4yNXR1cm4sICR5ZWxsb3csICRyZWQpO1xuICAgIGJvcmRlci1yYWRpdXM6IDIwcHg7XG59XG5cbi5wcm9ncmVzcy1jb3VudCB7XG4gICAgLy8gbWFyZ2luLWJvdHRvbTogMDtcbiAgICBmb250LXNpemU6IDAuODVyZW07XG4gICAgY29sb3I6ICMzMzMzMzM7XG59XG5cbi5wcm9ncmVzcyB7XG4gICAgaGVpZ2h0OiA0MHB4O1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNlNmU2ZTY7XG4gICAgYm9yZGVyLXJhZGl1czogMjBweDtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xufVxuXG4ucXVlc3Rpb25uYWlyZSAuZm9ybSB7XG4gICAgcGFkZGluZzogMnJlbTtcbiAgICBib3gtc2hhZG93OiAycHggMnB4IDEwcHggIzMzMzMzMztcbiAgICBib3JkZXItcmFkaXVzOiA1cHg7XG5cbn1cblxuXG4ubW9jay1idXR0b24ge1xuICAgIGhlaWdodDogMmVtO1xuICAgIHdpZHRoOiAyZW07XG4gICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgIGJhY2tncm91bmQ6ICMwOEI4QTk7XG4gICAgY29sb3I6ICNmZmZmZmY7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1hcm91bmQ7XG4gICAgYWxpZ24tY29udGVudDogY2VudGVyO1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgIGZvbnQtc2l6ZTogMmVtO1xufVxuXG5cblxuLy8gUmVzdHlsZSB0aGUgcmFkaW8gYnV0dG9uIGlucHV0IGZpZWxkcyBidXQga2VlcCBhY2Nlc3NpYmxlLlxuLy8gQ29kZSBpbnNwaXJlZCBieSBodHRwczovL3d3dy5zaXRlcG9pbnQuY29tL3JlcGxhY2luZy1yYWRpby1idXR0b25zLXdpdGhvdXQtcmVwbGFjaW5nLXJhZGlvLWJ1dHRvbnMvXG5cbi5xdWVzdGlvbm5haXJlIGZpZWxkc2V0IHtcbiAgICBwYWRkaW5nOiAyZW07XG4gICAgYm9yZGVyLXJhZGl1czogMC41ZW07XG5cbiAgICBsZWdlbmQge1xuICAgICAgICBiYWNrZ3JvdW5kOiAkbGlnaHQtZ3JheTtcbiAgICAgICAgcGFkZGluZzogMWVtO1xuICAgICAgICBib3JkZXItcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiAgICAgICAgY29sb3I6IGJsYWNrO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIH1cblxuICAgIHNwYW4uaW5mbyB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgYm90dG9tOiAxcmVtO1xuICAgICAgICBmb250LXdlaWdodDogMTAwO1xuICAgICAgICBmb250LXN0eWxlOiBpdGFsaWM7XG4gICAgfVxufVxuXG4ucXVlc3Rpb25uYWlyZSBbdHlwZT1cInJhZGlvXCJdIHtcbiAgICBib3JkZXI6IDA7XG4gICAgY2xpcDogcmVjdCgwIDAgMCAwKTtcbiAgICBoZWlnaHQ6IDFweDtcbiAgICBtYXJnaW46IC0xcHg7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBwYWRkaW5nOiAwO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB3aWR0aDogMXB4O1xuICB9XG5cbiAgLnF1ZXN0aW9ubmFpcmUgZmllbGRzZXQgbGFiZWwge1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgIG1hcmdpbjogMDtcbiAgICBmb250LXNpemU6IDAuODc1cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgbGluZS1oZWlnaHQ6IDEuODtcbiAgICBjb2xvcjogIzExMTExMTtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuXG4gICAgc3BhbiB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ncmlkO1xuICAgICAgICBtYXJnaW46IDAuNWVtO1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICB9XG59XG5cblxuLnF1ZXN0aW9ubmFpcmUgW3R5cGU9XCJyYWRpb1wiXSArIHNwYW46OmJlZm9yZSB7XG4gICAgY29udGVudDogJyc7XG4gICAgY29sb3I6ICR3aGl0ZTtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgd2lkdGg6IDJlbTtcbiAgICBoZWlnaHQ6IDJlbTtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogLTAuMjVlbTtcbiAgICBib3JkZXItcmFkaXVzOiAyZW07XG4gICAgLy8gYm9yZGVyOiAwLjEyNWVtIHNvbGlkICNmZmY7XG4gICAgYm94LXNoYWRvdzogMCAwIDAgMC4xNWVtICRkYXJrLWdyYXk7XG4gICAgLy8gbWFyZ2luLXJpZ2h0OiAwLjc1ZW07XG4gICAgYm9yZGVyOiAycHggc29saWQgJGxpZ2h0LWdyYXk7XG4gICAgdHJhbnNpdGlvbjogMC41cyBlYXNlIGFsbDtcbiAgfVxuXG4gIC5xdWVzdGlvbm5haXJlIFt0eXBlPVwicmFkaW9cIl06Y2hlY2tlZCArIHNwYW46OmJlZm9yZSB7XG4gICAgYmFja2dyb3VuZDogJHJlZDtcbiAgICAvLyBib3gtc2hhZG93OiAwIDAgMCAwLjI1ZW0gIzAwMDtcbiAgICAvLyBib3JkZXI6IDFweCBzb2xpZCAkcHJpbWFyeS1jb2xvcjtcbiAgfVxuICAucXVlc3Rpb25uYWlyZSBbdHlwZT1cInJhZGlvXCJdOmNoZWNrZWQgKyBzcGFuIHtcbiAgICAgIG1hcmdpbi10b3A6IDA7XG4gIH1cblxuXG4gIC8vZm9jdXMgc3R5bGUgc28gdGhhdCBrZXlib2FyZCB1c2VycyBjYW4gc2VlIHdoaWNoIGVsZW1lbnQgaXMgaW4gdGhlaXIgY29udHJvbFxuICAucXVlc3Rpb25uYWlyZSBbdHlwZT1cInJhZGlvXCJdOmNoZWNrZWQgKyBzcGFuOjphZnRlciB7XG4gICAgY29udGVudDogJ1xcMjE5MSc7XG4gICAgZm9udC1zaXplOiAxLjVlbTtcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogLTAuMTI1ZW07XG4gICAgY29sb3I6ICRyZWQ7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIH1cblxuXG4gIC5xdWVzdGlvbm5haXJlIC5mb3JtIC5idXR0b25zIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG5cbiAgICAgIC51bnN0eWxlZC5idXR0b24ge1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gICAgICAgICAgY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xuICAgICAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG5cbiAgICAgICAgICAmOmZvY3VzIHtcbiAgICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgICAgICAgfVxuXG4gICAgICB9XG4gIH1cblxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4MjBweCkge1xuICAgIC5xdWVzdGlvbm5haXJlIGZpZWxkc2V0IHtwYWRkaW5nOiAwO31cbiAgICAuc3ltcHRvbXMge3BhZGRpbmc6IDFyZW07IC5jdXJyZW50IHtmb250LXNpemU6IDEuNnJlbTt9fVxuICAgIC5xdWVzdGlvbm5haXJlIGZpZWxkc2V0IHNwYW4uaW5mbyB7Zm9udC1zaXplOiAwLjhlbTt9XG4gICAgLnF1ZXN0aW9ubmFpcmUgW3R5cGU9cmFkaW9dICsgc3Bhbjo6YmVmb3JlIHsgXG4gICAgICAgIHdpZHRoOiAxZW07XG4gICAgICAgIGhlaWdodDogMWVtO31cbiAgfSIsIi51c2VyLWRhc2hib2FyZCB7XG4gICAgLnppcCxcbiAgICAuc3RhdGUge1xuICAgICAgICBwYWRkaW5nOiAwLjVlbTtcbiAgICB9XG4gICAgcC5zbWFsbCB7XG4gICAgICAgIGZvbnQtc2l6ZTogMC44cmVtO1xuICAgIH1cbiAgICBoMiB7XG4gICAgICAgIGZvbnQtc2l6ZTogMnJlbTtcbiAgICB9XG4gICAgYTpob3ZlciB7XG4gICAgICAgIGNvbG9yOiAkYmxhY2s7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgIH1cbiAgICAuYWRtaW4tZWRpdC1saW5rIHtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDI7XG4gICAgICAgIGNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcbiAgICAgICAgZm9udC1zaXplOiAxLjJlbTtcbiAgICAgICAgJi5kaXNhYmxlZCB7XG4gICAgICAgICAgICBjb2xvcjogJG1lZGl1bS1ncmF5O1xuICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lIWltcG9ydGFudDtcbiAgICAgICAgICAgIGN1cnNvcjogbm9uZTtcbiAgICAgICAgfVxuICAgIH1cbiAgICAub3B0aW9uLWJ1dHRvbnMge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1ldmVubHk7XG4gICAgfVxuICAgIC5wYXN0LW9yZGVycyB7XG4gICAgICAgIHRhYmxlIGEge1xuICAgICAgICAgICAgZm9udC1zaXplOiAwLjllbTtcbiAgICAgICAgfVxuICAgICAgICB0aCB7XG4gICAgICAgICAgICBmb250LXNpemU6IDFlbTtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgICAgIH1cbiAgICB9XG4gICAgLnJlZC10ZXh0IHtcbiAgICAgICAgY29sb3I6ICNjNTIxMWY7XG4gICAgfVxufVxuXG4jY29tYmluZS1kbmEtbW9kYWwsXG4jbGluay1wcmFjdGl0aW9uZXItbW9kYWwge1xuICAgIC5yZWQtdGV4dCB7XG4gICAgICAgIGNvbG9yOiAjYzUyMTFmO1xuICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogNXB4O1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIH1cbn1cblxuLnVzZXItZGFzaGJvYXJkLnByb2Nlc3Npbmcge1xuICAgIGgyLFxuICAgIHAsXG4gICAgaDYsXG4gICAgYSxcbiAgICB0YWJsZSxcbiAgICBoMyxcbiAgICAuaDQge1xuICAgICAgICBvcGFjaXR5OiAwLjU7XG4gICAgfVxufVxuXG4udXNlci1kYXNoYm9hcmQucHJvY2Vzc2luZyBoMSB7XG4gICAgb3BhY2l0eTogMTtcbn1cblxuLnVzZXItZGFzaGJvYXJkLnByb2Nlc3Npbmcge1xuICAgIC5zdGF0dXMtbWVzc2FnZSB7XG4gICAgICAgIGJvcmRlcjogMnB4IHNvbGlkICNjNTIxMWY7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgaDEge1xuICAgICAgICAgICAgcGFkZGluZzogMWVtIC4yNWVtO1xuICAgICAgICAgICAgY29sb3I6IHJlZDtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLnJldmVhbCAuY2FuY2VsLWJ1dHRvbiB7XG4gICAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgICBtYXJnaW4tbGVmdDogLjVyZW07XG59XG5cbi5kZWxldGUtZGF0YSB7XG4gICAgYm9yZGVyOiAxcHggc29saWQgJHJlZDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbi5kZWxldGUtbGluayB7XG4gICAgcGFkZGluZzogMXJlbTtcbn1cblxuLmRpc2FibGVkX2xpbmtzIHtcbiAgICBjb2xvcjogaW5oZXJpdDtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG59XG5cbi5yZXBvcnRzLWxpc3Qge1xuICAgIGZvbnQtc2l6ZTogMXJlbTtcbn1cblxuLnJlcG9ydC1kYXRlLFxuLnJlcG9ydC1sYWJlbCB7XG4gICAgdmVydGljYWwtYWxpZ246IHRvcDtcbn1cblxuLnJlcG9ydC1sYWJlbCB7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgY29sb3I6IGJsYWNrO1xufVxuXG50aGVhZCB7XG4gICAgcG9zaXRpb246IHN0aWNreTtcbiAgICBwb3NpdGlvbjogLXdlYmtpdC1zdGlja3k7XG4gICAgdG9wOiAtMXB4O1xuICAgIGJhY2tncm91bmQ6ICRsaWdodC1ibHVlO1xuICAgIHRoIHtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAkbGlnaHQtZ3JheTtcbiAgICB9XG59XG5cbi5yZWNlbnQtbGFiZWwge1xuICAgIGZvbnQtc3R5bGU6IGl0YWxpYztcbn1cblxuLnJlY2VudC1yZXBvcnQtbGlzdCB7XG4gICAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1ldmVubHk7XG4gICAgbGkge1xuICAgICAgICBtaW4td2lkdGg6IDIwJTtcbiAgICB9XG4gICAgLnRha2UtcXVpei1saW5rIGEge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcmVkO1xuICAgIH1cbiAgICBhLmJ1dHRvbi5ob2xsb3cge1xuICAgICAgICBwYWRkaW5nOiAxcmVtO1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIC8vIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIC8vIGp1c3RpZnktY29udGVudDogc3BhY2UtZXZlbmx5O1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgY29sb3I6ICRibGFjaztcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGxpZ2h0LWJsdWU7XG4gICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICB9XG4gICAgLmljb24gaW1nIHtcbiAgICAgICAgbWF4LWhlaWdodDogMTgwcHg7XG4gICAgICAgIG1hcmdpbjogMTBweCAwO1xuICAgIH1cbiAgICAubm8tcXVpeiB7XG4gICAgICAgIC5pY29uIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgbWFyZ2luOiAuNzVyZW0gYXV0bztcbiAgICAgICAgICAgIGZpbHRlcjogb3BhY2l0eSgwLjUpO1xuICAgICAgICB9XG4gICAgICAgIC5tZXNzYWdlIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICAgICAgICAgIGZpbHRlcjogb3BhY2l0eSgwLjYpO1xuICAgICAgICB9XG4gICAgfVxuICAgIC5uYW1lLFxuICAgIC5kYXRlIHtcbiAgICAgICAgZm9udC1zaXplOiAxLjVyZW07XG4gICAgICAgIGNvbG9yOiAkYmxhY2s7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDFyZW07XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cbiAgICAuZGF0ZSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICB9XG59XG5cbi5taGctdGFibGUgdGgge1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICBmb250LXNpemU6IDIycHg7XG4gICAgY29sb3I6IHJnYig3NyA3NyA3Nyk7XG59XG5cbi5taGctdGFibGUgLm5hbWUge1xuICAgIGZvbnQtc2l6ZTogMjJweDtcbn1cblxuLmFjdGlvbnMge1xuICAgIHBhZGRpbmctbGVmdDogMzBweDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAzMHB4O1xufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3MjVweCkge1xuICAgIC5taGctdGFibGUgLm1oZy10YWJsZS1hY3Rpb25zIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG5cbiAgICAuYWN0aW9ucyB7XG4gICAgICAgIHBhZGRpbmctdG9wOiAzMHB4O1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMzBweDtcbiAgICB9XG5cbiAgICAubmFtZSB7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB9XG5cbiAgICAuZGF0ZS1sYWJlbCB7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgZmxvYXQ6IG5vbmU7XG4gICAgICAgIG1hcmdpbjogMjBweCAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIC5ib3R0b20tYmFubmVyIGltZyB7XG4gICAgICAgIGZsb2F0OiBub25lO1xuICAgIH1cblxufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3MDBweCkge1xuICAgIC5kZXRhaWxzIHtcbiAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDIwcHg7XG4gICAgfVxufVxuIiwiLnNldHRpbmdzLWZvcm0ge1xuICAgIC5hZHZhbmNlZCB7XG4gICAgICAgIG1hcmdpbi10b3A6IDJyZW07XG4gICAgfVxuXG4gICAgbGFiZWwge1xuICAgICAgICBmb250LXNpemU6IDEuMjVlbTtcbiAgICAgICAgbWFyZ2luLXRvcDogMWVtO1xuICAgICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgICAgY29sb3I6ICRibHVlO1xuICAgIH1cblxuICAgIC5ub3RlLWVkaXRvci5ub3RlLWZyYW1lIHtcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgI2U2ZTZlNjtcbiAgICB9XG59XG5cblxuLmFsZ29yaXRobS1mb3JtIHtcblxuICAgIGlucHV0I3Bvc2l0aXZlLXNjb3JlLCBpbnB1dCNuZWdhdGl2ZS1zY29yZSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMS41cmVtO1xuICAgIH1cblxuICAgIC5zY29yaW5nIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMXJlbTtcbiAgICAgICAgZmxleC1mbG93OiBjb2x1bW47XG4gICAgICAgIHBhZGRpbmc6IC41cmVtO1xuICAgICAgICBsYWJlbCB7XG4gICAgICAgICAgICBmb250LXNpemU6IDFyZW07XG4gICAgICAgICAgICBwYWRkaW5nOiAwLjVyZW0gMC41cmVtIDAgMC41cmVtO1xuICAgICAgICAgICAgfVxuICAgIH1cbn1cbiIsIi5yZWdpc3Rlci1mb3JtLWZpZWxkcyB7XG4gICAgZGlzcGxheTogZ3JpZDtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgyLCAxZnIpO1xuICAgIGdhcDogMTVweDtcbiAgICBwYWRkaW5nOiAwIDAuNjI1cmVtO1xuXG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY4cHgpIHtcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnI7XG4gICAgfVxufVxuIiwiaGVhZGVye1xuICAgICNtYWluLW5hdiB1bCB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7IFxuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgfVxufSIsImZvcm0ge1xuICAgIGlucHV0LmlzLWludmFsaWQge1xuICAgICAgICBib3JkZXItY29sb3I6ICNFRjQ1MzM7XG4gICAgfVxufVxuIiwiLnByb2R1Y3QtaXRlbSAge1xuICAgICZfX2Rlc2NyaXB0aW9uIHtcbiAgICAgICAgZGlzcGxheTogZ3JpZDtcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAzMDBweCAxZnI7XG4gICAgICAgIGdyaWQtY29sdW1uLWdhcDogM3JlbTtcblxuICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjhweCkge1xuICAgICAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnI7XG4gICAgICAgIH1cblxuICAgICAgICAuZGVzY3JpcHRpb24ge1xuICAgICAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAgICAgICAgICAgICBncmlkLWNvbHVtbjogMSAvIHNwYW4gMjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIi5jYXJ0LWRlc2t0b3Age1xuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc2OHB4KSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxufVxuXG4uY2FydC1tb2JpbGUge1xuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2N3B4KSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuXG4gICAgdGJvZHkgdHI6bGFzdC1vZi10eXBlIHtcbiAgICAgICAgYm9yZGVyLXRvcDogMnB4IHNvbGlkO1xuICAgIH1cblxuICAgIC5jYXJ0LWl0ZW0tcHJvZHVjdCB7XG4gICAgICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMjAwcHggMWZyO1xuICAgICAgICBnYXA6IDE1cHg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cbiAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNTY3cHgpIHtcbiAgICAgICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyO1xuICAgICAgICAgICAgaW1nIHtcbiAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IDE3MHB4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmNhcnQtaXRlbS1jb250cm9scyB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgfVxufVxuXG5cbiIsIiNjaGVja291dEZvcm0ge1xuICAgIGxhYmVsLmludmFsaWQge1xuICAgICAgICBzcGFuICsgc3BhbiB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgfVxuICAgIH1cbn1cbiJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==*/