/**
 * Minified by jsDelivr using clean-css v4.1.9.
 * Original file: /npm/bootstrap-grid-only@1.0.0/bootstrap.css
 * 
 * Do NOT use SRI with dynamically generated files! More information: https://www.jsdelivr.com/using-sri-with-dynamic-files
 */
/*!
 * Bootstrap v3.3.5 (http://getbootstrap.com)
 * Copyright 2011-2016 Twitter, Inc.
 * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
 */
/*!
 * Generated using the Bootstrap Customizer (http://getbootstrap.com/customize/?id=dd756061b99b30782a31)
 * Config saved to config.json and https://gist.github.com/dd756061b99b30782a31
 */
/*!
 * Bootstrap v3.3.6 (http://getbootstrap.com)
 * Copyright 2011-2015 Twitter, Inc.
 * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
 */
/*! normalize.css v3.0.3 | MIT License | github.com/necolas/normalize.css */
body{margin:0}.container{margin-right:auto;margin-left:auto;padding-left:15px;padding-right:15px}@media (min-width:768px){.container{width:750px}}@media (min-width:992px){.container{width:970px}}@media (min-width:1200px){.container{width:1170px}}.container-fluid{margin-right:auto;margin-left:auto}.row{width:100%}.col-lg-1,.col-lg-10,.col-lg-11,.col-lg-12,.col-lg-2,.col-lg-3,.col-lg-4,.col-lg-5,.col-lg-6,.col-lg-7,.col-lg-8,.col-lg-9,.col-md-1,.col-md-10,.col-md-11,.col-md-12,.col-md-2,.col-md-3,.col-md-4,.col-md-5,.col-md-6,.col-md-7,.col-md-8,.col-md-9,.col-sm-1,.col-sm-10,.col-sm-11,.col-sm-12,.col-sm-2,.col-sm-3,.col-sm-4,.col-sm-5,.col-sm-6,.col-sm-7,.col-sm-8,.col-sm-9,.col-xs-1,.col-xs-10,.col-xs-11,.col-xs-12,.col-xs-2,.col-xs-3,.col-xs-4,.col-xs-5,.col-xs-6,.col-xs-7,.col-xs-8,.col-xs-9{position:relative;min-height:1px}.col-xs-1,.col-xs-10,.col-xs-11,.col-xs-12,.col-xs-2,.col-xs-3,.col-xs-4,.col-xs-5,.col-xs-6,.col-xs-7,.col-xs-8,.col-xs-9{float:left}.col-xs-12{width:100%}.col-xs-11{width:91.66666667%}.col-xs-10{width:83.33333333%}.col-xs-9{width:75%}.col-xs-8{width:66.66666667%}.col-xs-7{width:58.33333333%}.col-xs-6{width:50%}.col-xs-5{width:41.66666667%}.col-xs-4{width:33.33333333%}.col-xs-3{width:25%}.col-xs-2{width:16.66666667%}.col-xs-1{width:8.33333333%}.col-xs-pull-12{right:100%}.col-xs-pull-11{right:91.66666667%}.col-xs-pull-10{right:83.33333333%}.col-xs-pull-9{right:75%}.col-xs-pull-8{right:66.66666667%}.col-xs-pull-7{right:58.33333333%}.col-xs-pull-6{right:50%}.col-xs-pull-5{right:41.66666667%}.col-xs-pull-4{right:33.33333333%}.col-xs-pull-3{right:25%}.col-xs-pull-2{right:16.66666667%}.col-xs-pull-1{right:8.33333333%}.col-xs-pull-0{right:auto}.col-xs-push-12{left:100%}.col-xs-push-11{left:91.66666667%}.col-xs-push-10{left:83.33333333%}.col-xs-push-9{left:75%}.col-xs-push-8{left:66.66666667%}.col-xs-push-7{left:58.33333333%}.col-xs-push-6{left:50%}.col-xs-push-5{left:41.66666667%}.col-xs-push-4{left:33.33333333%}.col-xs-push-3{left:25%}.col-xs-push-2{left:16.66666667%}.col-xs-push-1{left:8.33333333%}.col-xs-push-0{left:auto}.col-xs-offset-12{margin-left:100%}.col-xs-offset-11{margin-left:91.66666667%}.col-xs-offset-10{margin-left:83.33333333%}.col-xs-offset-9{margin-left:75%}.col-xs-offset-8{margin-left:66.66666667%}.col-xs-offset-7{margin-left:58.33333333%}.col-xs-offset-6{margin-left:50%}.col-xs-offset-5{margin-left:41.66666667%}.col-xs-offset-4{margin-left:33.33333333%}.col-xs-offset-3{margin-left:25%}.col-xs-offset-2{margin-left:16.66666667%}.col-xs-offset-1{margin-left:8.33333333%}.col-xs-offset-0{margin-left:0}@media (min-width:768px){.col-sm-1,.col-sm-10,.col-sm-11,.col-sm-12,.col-sm-2,.col-sm-3,.col-sm-4,.col-sm-5,.col-sm-6,.col-sm-7,.col-sm-8,.col-sm-9{float:left}.col-sm-12{width:100%}.col-sm-11{width:91.66666667%}.col-sm-10{width:83.33333333%}.col-sm-9{width:75%}.col-sm-8{width:66.66666667%}.col-sm-7{width:58.33333333%}.col-sm-6{width:50%}.col-sm-5{width:41.66666667%}.col-sm-4{width:33.33333333%}.col-sm-3{width:25%}.col-sm-2{width:16.66666667%}.col-sm-1{width:8.33333333%}.col-sm-pull-12{right:100%}.col-sm-pull-11{right:91.66666667%}.col-sm-pull-10{right:83.33333333%}.col-sm-pull-9{right:75%}.col-sm-pull-8{right:66.66666667%}.col-sm-pull-7{right:58.33333333%}.col-sm-pull-6{right:50%}.col-sm-pull-5{right:41.66666667%}.col-sm-pull-4{right:33.33333333%}.col-sm-pull-3{right:25%}.col-sm-pull-2{right:16.66666667%}.col-sm-pull-1{right:8.33333333%}.col-sm-pull-0{right:auto}.col-sm-push-12{left:100%}.col-sm-push-11{left:91.66666667%}.col-sm-push-10{left:83.33333333%}.col-sm-push-9{left:75%}.col-sm-push-8{left:66.66666667%}.col-sm-push-7{left:58.33333333%}.col-sm-push-6{left:50%}.col-sm-push-5{left:41.66666667%}.col-sm-push-4{left:33.33333333%}.col-sm-push-3{left:25%}.col-sm-push-2{left:16.66666667%}.col-sm-push-1{left:8.33333333%}.col-sm-push-0{left:auto}.col-sm-offset-12{margin-left:100%}.col-sm-offset-11{margin-left:91.66666667%}.col-sm-offset-10{margin-left:83.33333333%}.col-sm-offset-9{margin-left:75%}.col-sm-offset-8{margin-left:66.66666667%}.col-sm-offset-7{margin-left:58.33333333%}.col-sm-offset-6{margin-left:50%}.col-sm-offset-5{margin-left:41.66666667%}.col-sm-offset-4{margin-left:33.33333333%}.col-sm-offset-3{margin-left:25%}.col-sm-offset-2{margin-left:16.66666667%}.col-sm-offset-1{margin-left:8.33333333%}.col-sm-offset-0{margin-left:0}}@media (min-width:992px){.col-md-1,.col-md-10,.col-md-11,.col-md-12,.col-md-2,.col-md-3,.col-md-4,.col-md-5,.col-md-6,.col-md-7,.col-md-8,.col-md-9{float:left}.col-md-12{width:100%}.col-md-11{width:91.66666667%}.col-md-10{width:83.33333333%}.col-md-9{width:75%}.col-md-8{width:66.66666667%}.col-md-7{width:58.33333333%}.col-md-6{width:50%}.col-md-5{width:41.66666667%}.col-md-4{width:33.33333333%}.col-md-3{width:25%}.col-md-2{width:16.66666667%}.col-md-1{width:8.33333333%}.col-md-pull-12{right:100%}.col-md-pull-11{right:91.66666667%}.col-md-pull-10{right:83.33333333%}.col-md-pull-9{right:75%}.col-md-pull-8{right:66.66666667%}.col-md-pull-7{right:58.33333333%}.col-md-pull-6{right:50%}.col-md-pull-5{right:41.66666667%}.col-md-pull-4{right:33.33333333%}.col-md-pull-3{right:25%}.col-md-pull-2{right:16.66666667%}.col-md-pull-1{right:8.33333333%}.col-md-pull-0{right:auto}.col-md-push-12{left:100%}.col-md-push-11{left:91.66666667%}.col-md-push-10{left:83.33333333%}.col-md-push-9{left:75%}.col-md-push-8{left:66.66666667%}.col-md-push-7{left:58.33333333%}.col-md-push-6{left:50%}.col-md-push-5{left:41.66666667%}.col-md-push-4{left:33.33333333%}.col-md-push-3{left:25%}.col-md-push-2{left:16.66666667%}.col-md-push-1{left:8.33333333%}.col-md-push-0{left:auto}.col-md-offset-12{margin-left:100%}.col-md-offset-11{margin-left:91.66666667%}.col-md-offset-10{margin-left:83.33333333%}.col-md-offset-9{margin-left:75%}.col-md-offset-8{margin-left:66.66666667%}.col-md-offset-7{margin-left:58.33333333%}.col-md-offset-6{margin-left:50%}.col-md-offset-5{margin-left:41.66666667%}.col-md-offset-4{margin-left:33.33333333%}.col-md-offset-3{margin-left:25%}.col-md-offset-2{margin-left:16.66666667%}.col-md-offset-1{margin-left:8.33333333%}.col-md-offset-0{margin-left:0}}@media (min-width:1200px){.col-lg-1,.col-lg-10,.col-lg-11,.col-lg-12,.col-lg-2,.col-lg-3,.col-lg-4,.col-lg-5,.col-lg-6,.col-lg-7,.col-lg-8,.col-lg-9{float:left}.col-lg-12{width:100%}.col-lg-11{width:91.66666667%}.col-lg-10{width:83.33333333%}.col-lg-9{width:75%}.col-lg-8{width:66.66666667%}.col-lg-7{width:58.33333333%}.col-lg-6{width:50%}.col-lg-5{width:41.66666667%}.col-lg-4{width:33.33333333%}.col-lg-3{width:25%}.col-lg-2{width:16.66666667%}.col-lg-1{width:8.33333333%}.col-lg-pull-12{right:100%}.col-lg-pull-11{right:91.66666667%}.col-lg-pull-10{right:83.33333333%}.col-lg-pull-9{right:75%}.col-lg-pull-8{right:66.66666667%}.col-lg-pull-7{right:58.33333333%}.col-lg-pull-6{right:50%}.col-lg-pull-5{right:41.66666667%}.col-lg-pull-4{right:33.33333333%}.col-lg-pull-3{right:25%}.col-lg-pull-2{right:16.66666667%}.col-lg-pull-1{right:8.33333333%}.col-lg-pull-0{right:auto}.col-lg-push-12{left:100%}.col-lg-push-11{left:91.66666667%}.col-lg-push-10{left:83.33333333%}.col-lg-push-9{left:75%}.col-lg-push-8{left:66.66666667%}.col-lg-push-7{left:58.33333333%}.col-lg-push-6{left:50%}.col-lg-push-5{left:41.66666667%}.col-lg-push-4{left:33.33333333%}.col-lg-push-3{left:25%}.col-lg-push-2{left:16.66666667%}.col-lg-push-1{left:8.33333333%}.col-lg-push-0{left:auto}.col-lg-offset-12{margin-left:100%}.col-lg-offset-11{margin-left:91.66666667%}.col-lg-offset-10{margin-left:83.33333333%}.col-lg-offset-9{margin-left:75%}.col-lg-offset-8{margin-left:66.66666667%}.col-lg-offset-7{margin-left:58.33333333%}.col-lg-offset-6{margin-left:50%}.col-lg-offset-5{margin-left:41.66666667%}.col-lg-offset-4{margin-left:33.33333333%}.col-lg-offset-3{margin-left:25%}.col-lg-offset-2{margin-left:16.66666667%}.col-lg-offset-1{margin-left:8.33333333%}.col-lg-offset-0{margin-left:0}}.clearfix:after,.clearfix:before,.container-fluid:after,.container-fluid:before,.container:after,.container:before,.row:after,.row:before{content:" ";display:table}.clearfix:after,.container-fluid:after,.container:after,.row:after{clear:both}.center-block{display:block;margin-left:auto;margin-right:auto}.pull-right{float:right!important}.pull-left{float:left!important}.hide{display:none!important}.show{display:block!important}.invisible{visibility:hidden}.text-hide{font:0/0 a;color:transparent;text-shadow:none;background-color:transparent;border:0}.hidden{display:none!important}.affix{position:fixed}@-ms-viewport{width:device-width}.visible-lg,.visible-md,.visible-sm,.visible-xs{display:none!important}.visible-lg-block,.visible-lg-inline,.visible-lg-inline-block,.visible-md-block,.visible-md-inline,.visible-md-inline-block,.visible-sm-block,.visible-sm-inline,.visible-sm-inline-block,.visible-xs-block,.visible-xs-inline,.visible-xs-inline-block{display:none!important}@media (max-width:767px){.visible-xs{display:block!important}table.visible-xs{display:table!important}tr.visible-xs{display:table-row!important}td.visible-xs,th.visible-xs{display:table-cell!important}}@media (max-width:767px){.visible-xs-block{display:block!important}}@media (max-width:767px){.visible-xs-inline{display:inline!important}}@media (max-width:767px){.visible-xs-inline-block{display:inline-block!important}}@media (min-width:768px) and (max-width:991px){.visible-sm{display:block!important}table.visible-sm{display:table!important}tr.visible-sm{display:table-row!important}td.visible-sm,th.visible-sm{display:table-cell!important}}@media (min-width:768px) and (max-width:991px){.visible-sm-block{display:block!important}}@media (min-width:768px) and (max-width:991px){.visible-sm-inline{display:inline!important}}@media (min-width:768px) and (max-width:991px){.visible-sm-inline-block{display:inline-block!important}}@media (min-width:992px) and (max-width:1199px){.visible-md{display:block!important}table.visible-md{display:table!important}tr.visible-md{display:table-row!important}td.visible-md,th.visible-md{display:table-cell!important}}@media (min-width:992px) and (max-width:1199px){.visible-md-block{display:block!important}}@media (min-width:992px) and (max-width:1199px){.visible-md-inline{display:inline!important}}@media (min-width:992px) and (max-width:1199px){.visible-md-inline-block{display:inline-block!important}}@media (min-width:1200px){.visible-lg{display:block!important}table.visible-lg{display:table!important}tr.visible-lg{display:table-row!important}td.visible-lg,th.visible-lg{display:table-cell!important}}@media (min-width:1200px){.visible-lg-block{display:block!important}}@media (min-width:1200px){.visible-lg-inline{display:inline!important}}@media (min-width:1200px){.visible-lg-inline-block{display:inline-block!important}}@media (max-width:767px){.hidden-xs{display:none!important}}@media (min-width:768px) and (max-width:991px){.hidden-sm{display:none!important}}@media (min-width:992px) and (max-width:1199px){.hidden-md{display:none!important}}@media (min-width:1200px){.hidden-lg{display:none!important}}.visible-print{display:none!important}@media print{.visible-print{display:block!important}table.visible-print{display:table!important}tr.visible-print{display:table-row!important}td.visible-print,th.visible-print{display:table-cell!important}}.visible-print-block{display:none!important}@media print{.visible-print-block{display:block!important}}.visible-print-inline{display:none!important}@media print{.visible-print-inline{display:inline!important}}.visible-print-inline-block{display:none!important}@media print{.visible-print-inline-block{display:inline-block!important}}@media print{.hidden-print{display:none!important}}
/*# sourceMappingURL=/sm/fe674635f7481d2fa4acee3e9b00c350abe2944bc688e7eb754063ea6804ea13.map *//*
formBuilder - https://formbuilder.online/
Version: 1.24.2
Author: Kevin Chappell <kevin.b.chappell@gmail.com>
*/
@charset "UTF-8";
@font-face {
    font-family: 'form-builder-font';
    src: url(data:application/vnd.ms-fontobject;base64,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FAUBAgEMFA4YAQQEGg0REAQFDE7EAgIGDLJODAYCDBYOGAEEBBoNERAEBQ1N/fJCDAYEEhAOGAAAAQAA/7ECyQMLACsALkArHQgCAQIBRwACAAEAAmUDAQEBbgAEAAAEVAAEBABYAAAEAEw9MxM4IwUFGSsBFRQGIyIHBgcGFREUBisBIiY1ESMRFAYrASImNREmJyYnJjU0Njc2MyEyFgLJFA4cAg8DAhQOPA4UUBIQPA4UUjdGJSRjQz6rAQsOFALpKRAkAQMOBh79fQ4UFA4CqP1YDhQUDgEVBxohQ0FQXIUXFRQAAAACAAD/agNrA1IAGwAfAEdARAQCAgAPEA0DBQYABV4ODAIGCwkCBwgGB14DAQEBDEgKAQgIDQhJAAAfHh0cABsAGxoZGBcWFRQTEREREREREREREQUdKwE1IzcjByM3IwcjFTMHIxUzBzM3MwczNzM1IzcHIzczA2ucH30f+h99H9vLH6ycH30f+h99H9vLH5z6H/oB2336+vr6ffp9+vr6+n36+voAAAABAAAAAQAAH+a/t18PPPUACwPoAAAAANOqshAAAAAA06qyEAAA/2oD6ANSAAAACAACAAAAAAAAAAEAAANS/2oAAAPoAAD//wPoAAEAAAAAAAAAAAAAAAAAAAATA+gAAAPoAAADoAAAA+gAAAPoAAAD6AAAA+gAAAPoAAAD6AAAA+gAAANZAAAD6AAAA+gAAAGsAAAD6AAAAxEAAAPoAAACygAAA2sAAAAAAAABygK4AxQDhgSMBuIH6giCCOwJcAmyCpgK4AxCDLgNjA3kDjcAAQAAABMAiAAWAAAAAAACAI4AngBzAAABWwtwAAAAAAAAABIA3gABAAAAAAAAADUAAAABAAAAAAABABEANQABAAAAAAACAAcARgABAAAAAAADABEATQABAAAAAAAEABEAXgABAAAAAAAFAAsAbwABAAAAAAAGABEAegABAAAAAAAKACsAiwABAAAAAAALABMAtgADAAEECQAAAGoAyQADAAEECQABACIBMwADAAEECQACAA4BVQADAAEECQADACIBYwADAAEECQAEACIBhQADAAEECQAFABYBpwADAAEECQAGACIBvQADAAEECQAKAFYB3wADAAEECQALACYCNUNvcHlyaWdodCAoQykgMjAxNiBieSBvcmlnaW5hbCBhdXRob3Jz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);
    src: url(data:application/vnd.ms-fontobject;base64,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FAUBAgEMFA4YAQQEGg0REAQFDE7EAgIGDLJODAYCDBYOGAEEBBoNERAEBQ1N/fJCDAYEEhAOGAAAAQAA/7ECyQMLACsALkArHQgCAQIBRwACAAEAAmUDAQEBbgAEAAAEVAAEBABYAAAEAEw9MxM4IwUFGSsBFRQGIyIHBgcGFREUBisBIiY1ESMRFAYrASImNREmJyYnJjU0Njc2MyEyFgLJFA4cAg8DAhQOPA4UUBIQPA4UUjdGJSRjQz6rAQsOFALpKRAkAQMOBh79fQ4UFA4CqP1YDhQUDgEVBxohQ0FQXIUXFRQAAAACAAD/agNrA1IAGwAfAEdARAQCAgAPEA0DBQYABV4ODAIGCwkCBwgGB14DAQEBDEgKAQgIDQhJAAAfHh0cABsAGxoZGBcWFRQTEREREREREREREQUdKwE1IzcjByM3IwcjFTMHIxUzBzM3MwczNzM1IzcHIzczA2ucH30f+h99H9vLH6ycH30f+h99H9vLH5z6H/oB2336+vr6ffp9+vr6+n36+voAAAABAAAAAQAAH+a/t18PPPUACwPoAAAAANOqshAAAAAA06qyEAAA/2oD6ANSAAAACAACAAAAAAAAAAEAAANS/2oAAAPoAAD//wPoAAEAAAAAAAAAAAAAAAAAAAATA+gAAAPoAAADoAAAA+gAAAPoAAAD6AAAA+gAAAPoAAAD6AAAA+gAAANZAAAD6AAAA+gAAAGsAAAD6AAAAxEAAAPoAAACygAAA2sAAAAAAAABygK4AxQDhgSMBuIH6giCCOwJcAmyCpgK4AxCDLgNjA3kDjcAAQAAABMAiAAWAAAAAAACAI4AngBzAAABWwtwAAAAAAAAABIA3gABAAAAAAAAADUAAAABAAAAAAABABEANQABAAAAAAACAAcARgABAAAAAAADABEATQABAAAAAAAEABEAXgABAAAAAAAFAAsAbwABAAAAAAAGABEAegABAAAAAAAKACsAiwABAAAAAAALABMAtgADAAEECQAAAGoAyQADAAEECQABACIBMwADAAEECQACAA4BVQADAAEECQADACIBYwADAAEECQAEACIBhQADAAEECQAFABYBpwADAAEECQAGACIBvQADAAEECQAKAFYB3wADAAEECQALACYCNUNvcHlyaWdodCAoQykgMjAxNiBieSBvcmlnaW5hbCBhdXRob3Jz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) format("embedded-opentype"), url(data:application/octet-stream;base64,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) format("woff2"), url(data:application/font-woff;base64,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) format("woff"), url(data:application/x-font-ttf;base64,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fQ4UFA4CqP1YDhQUDgEVBxohQ0FQXIUXFRQAAAACAAD/agNrA1IAGwAfAEdARAQCAgAPEA0DBQYABV4ODAIGCwkCBwgGB14DAQEBDEgKAQgIDQhJAAAfHh0cABsAGxoZGBcWFRQTEREREREREREREQUdKwE1IzcjByM3IwcjFTMHIxUzBzM3MwczNzM1IzcHIzczA2ucH30f+h99H9vLH6ycH30f+h99H9vLH5z6H/oB2336+vr6ffp9+vr6+n36+voAAAABAAAAAQAAH+a/t18PPPUACwPoAAAAANOqshAAAAAA06qyEAAA/2oD6ANSAAAACAACAAAAAAAAAAEAAANS/2oAAAPoAAD//wPoAAEAAAAAAAAAAAAAAAAAAAATA+gAAAPoAAADoAAAA+gAAAPoAAAD6AAAA+gAAAPoAAAD6AAAA+gAAANZAAAD6AAAA+gAAAGsAAAD6AAAAxEAAAPoAAACygAAA2sAAAAAAAABygK4AxQDhgSMBuIH6giCCOwJcAmyCpgK4AxCDLgNjA3kDjcAAQAAABMAiAAWAAAAAAACAI4AngBzAAABWwtwAAAAAAAAABIA3gABAAAAAAAAADUAAAABAAAAAAABABEANQABAAAAAAACAAcARgABAAAAAAADABEATQABAAAAAAAEABEAXgABAAAAAAAFAAsAbwABAAAAAAAGABEAegABAAAAAAAKACsAiwABAAAAAAALABMAtgADAAEECQAAAGoAyQADAAEECQABACIBMwADAAEECQACAA4BVQADAAEECQADACIBYwADAAEECQAEACIBhQADAAEECQAFABYBpwADAAEECQAGACIBvQADAAEECQAKAFYB3wADAAEECQALACYCNUNvcHlyaWdodCAoQykgMjAxNiBieSBvcmlnaW5hbCBhdXRob3JzIEAgZm9udGVsbG8uY29tZm9ybS1idWlsZGVyLWZvbnRSZWd1bGFyZm9ybS1idWlsZGVyLWZvbnRmb3JtLWJ1aWxkZXItZm9udFZlcnNpb24gMS4wZm9ybS1idWlsZGVyLWZvbnRHZW5lcmF0ZWQgYnkgc3ZnMnR0ZiBmcm9tIEZvbnRlbGxvIHByb2plY3QuaHR0cDovL2ZvbnRlbGxvLmNvbQBDAG8AcAB5AHIAaQBnAGgAdAAgACgAQwApACAAMgAwADEANgAgAGIA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) format("truetype"), url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBzdGFuZGFsb25lPSJubyI/Pgo8IURPQ1RZUEUgc3ZnIFBVQkxJQyAiLS8vVzNDLy9EVEQgU1ZHIDEuMS8vRU4iICJodHRwOi8vd3d3LnczLm9yZy9HcmFwaGljcy9TVkcvMS4xL0RURC9zdmcxMS5kdGQiPgo8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CjxtZXRhZGF0YT5Db3B5cmlnaHQgKEMpIDIwMTYgYnkgb3JpZ2luYWwgYXV0aG9ycyBAIGZvbnRlbGxvLmNvbTwvbWV0YWRhdGE+CjxkZWZzPgo8Zm9udCBpZD0iZm9ybS1idWlsZGVyLWZvbnQiIGhvcml6LWFkdi14PSIxMDAwIiA+Cjxmb250LWZhY2UgZm9udC1mYW1pbHk9ImZvcm0tYnVpbGRlci1mb250IiBmb250LXdlaWdodD0iNDAwIiBmb250LXN0cmV0Y2g9Im5vcm1hbCIgdW5pdHMtcGVyLWVtPSIxMDAwIiBhc2NlbnQ9Ijg1MCIgZGVzY2VudD0iLTE1MCIgLz4KPG1pc3NpbmctZ2x5cGggaG9yaXotYWR2LXg9IjEwMDAiIC8+CjxnbHlwaCBnbHlwaC1uYW1lPSJhdXRvY29tcGxldGUiIHVuaWNvZGU9IiYjeGU4MDA7IiBkPSJNMzc1IDUzOGg2M3YtNjNoLTYzdjYzeiBtLTEyNSA2MmgtNjJ2LTYyaDYydjYyeiBtMTI1IDBoLTYydi02Mmg2MnY2MnogbS0yNTAtNjJ2LTYzaDYzdjYzaC02M3ogbTYzLTEyNWg2MnY2MmgtNjJ2LTYyeiBtMTI1IDBoNjJ2NjJoLTYydi02MnogbS02MyAxMjV2LTYzaDYzdjYzaC02M3ogbS0xMjUtNTYzaDYzdjYzaC02M3YtNjN6IG0xMjUgMGg2M3Y2M2gtNjN2LTYzeiBtMTI1IDBoNjN2NjNoLTYzdi02M3ogbTE4OCA2M2gtNjN2LTYzaDYzdjYzeiBtNDM3IDU5M3YtMjUwYzAtNTAtNDQtOTMtOTQtOTNoLTMxdi0xODgtMTg4YzAtMzctMjUtNjItNjItNjJoLTc1MGMtMzggMC02MyAyNS02MyA2MnY3MTljMCA1MCA0NCA5NCA5NCA5NGgxODcgMjE5djMxIDMyaC02Mi02M3YzMSAzMWgxNTYgMTU3di0zMS0zMWgtNjMtNjJ2LTMyLTMxaDE4NyAxNTZjNTAgMCA5NC00NCA5NC05NHogbS0xODctNTMxaC0zNzUtMzc1di0xODhoNzUwdjE4OHogbS02MjUgNjN2NjJoLTYzdi02Mmg2M3ogbTEyNSAwdjYyaC02M3YtNjJoNjN6IG02MjUgNDY4YzAgMTktMTMgMzItMzIgMzJoLTM0M3YtMTU3LTE1NmgtMzItMzF2MzEgMzJoLTYydjYyaDYydjMxIDMyaC02MnY2Mmg2MnYzMSAzMmgtNDA2Yy0xOSAwLTMxLTEzLTMxLTMydi0yNTBjMC0xOCAxMi0zMSAzMS0zMWg0MDZ2LTYyaC0xMjV2LTMyLTMxaDE1NiAxNTd2MzEgMzJoLTEyNXY2MmgzNDNjMTkgMCAzMiAxMyAzMiAzMXYyNTB6IiBob3Jpei1hZHYteD0iMTAwMCIgLz4KCjxnbHlwaCBnbHlwaC1uYW1lPSJjYWxlbmRhciIgdW5pY29kZT0iJiN4ZTgwMTsiIGQ9Ik03MS03OWgxNjF2MTYxaC0xNjF2LTE2MXogbTE5NyAwaDE3OHYxNjFoLTE3OHYtMTYxeiBtLTE5NyAxOTdoMTYxdjE3OGgtMTYxdi0xNzh6IG0xOTcgMGgxNzh2MTc4aC0xNzh2LTE3OHogbS0xOTcgMjE0aDE2MXYxNjFoLTE2MXYtMTYxeiBtNDExLTQxMWgxNzl2MTYxaC0xNzl2LTE2MXogbS0yMTQgNDExaDE3OHYxNjFoLTE3OHYtMTYxeiBtNDI4LTQxMWgxNjF2MTYxaC0xNjF2LTE2MXogbS0yMTQgMTk3aDE3OXYxNzhoLTE3OXYtMTc4eiBtLTE5NiA0ODJ2MTYxcTAgNy02IDEydC0xMiA2aC0zNnEtNyAwLTEyLTZ0LTYtMTJ2LTE2MXEwLTcgNi0xM3QxMi01aDM2cTcgMCAxMiA1dDYgMTN6IG00MTAtNDgyaDE2MXYxNzhoLTE2MXYtMTc4eiBtLTIxNCAyMTRoMTc5djE2MWgtMTc5di0xNjF6IG0yMTQgMGgxNjF2MTYxaC0xNjF2LTE2MXogbTE4IDI2OHYxNjFxMCA3LTUgMTJ0LTEzIDZoLTM1cS04IDAtMTMtNnQtNS0xMnYtMTYxcTAtNyA1LTEzdDEzLTVoMzVxOCAwIDEzIDV0NSAxM3ogbTIxNSAzNnYtNzE1cTAtMjktMjItNTB0LTUwLTIxaC03ODZxLTI5IDAtNTAgMjF0LTIxIDUwdjcxNXEwIDI5IDIxIDUwdDUwIDIxaDcydjU0cTAgMzcgMjYgNjN0NjMgMjZoMzZxMzcgMCA2My0yNnQyNi02M3YtNTRoMjE0djU0cTAgMzcgMjcgNjN0NjMgMjZoMzVxMzcgMCA2My0yNnQyNy02M3YtNTRoNzFxMjkgMCA1MC0yMXQyMi01MHoiIGhvcml6LWFkdi14PSI5MjguNiIgLz4KCjxnbHlwaCBnbHlwaC1uYW1lPSJjaGVja2JveCIgdW5pY29kZT0iJiN4ZTgwMjsiIGQ9Ik04NDQgNTM4di01MDBjMC01MS00NC05NC05NC05NGgtNTYyYy01MCAwLTk0IDQzLTk0IDk0djU2MmMwIDUwIDQ0IDk0IDk0IDk0aDU2MmM0NCAwIDgxLTMxIDk0LTc1bDE1MCA4Ny0xNTAtMTY4eiBtLTYzLTc1bC0zMDAtMzYzLTMwNiA0MDYgMzA2LTEwMCAzMDAgMTgydjEyYzAgMTktMTIgMzEtMzEgMzFoLTU2MmMtMTkgMC0zMi0xMi0zMi0zMXYtNTYyYzAtMTkgMTMtMzIgMzItMzJoNTYyYzE5IDAgMzEgMTMgMzEgMzJ2NDI1eiIgaG9yaXotYWR2LXg9IjEwMDAiIC8+Cgo8Z2x5cGggZ2x5cGgtbmFtZT0iY2hlY2tib3gtZ3JvdXAiIHVuaWNvZGU9IiYjeGU4MDM7IiBkPSJNMCA3ODhoMTAwMHY2MmgtMTAwMHYtNjJ6IG0wLTEyNWgxMDAwdjYyaC0xMDAwdi02MnogbTM3NS0xMjV2LTYzaDU2M3Y2M2gtNTYzeiBtNTYzLTU2M3Y2M2gtNTYzdi02M2g1NjN6IG0tNTYzIDI1MGg1NjN2NjNoLTU2M3YtNjN6IG0tMTI1LTEyNWwtMTU2LTk0LTk0IDMyIDk0LTEyNiAxNTYgMTg4eiBtMCAyNTBsLTE1Ni05NC05NCAzMiA5NC0xMjUgMTU2IDE4N3ogbTAgMjUwbC0xNTYtOTQtOTQgMzIgOTQtMTI1IDE1NiAxODd6IiBob3Jpei1hZHYteD0iMTAwMCIgLz4KCjxnbHlwaCBnbHlwaC1uYW1lPSJyYWRpby1ncm91cCIgdW5pY29kZT0iJiN4ZTgwNDsiIGQ9Ik0wIDc4OGgxMDAwdjYyaC0xMDAwdi02MnogbTAtMTI1aDEwMDB2NjJoLTEwMDB2LTYyeiBtMzEzLTE4OGg2MjV2NjNoLTYyNXYtNjN6IG02MjUtMTg3aC02MjV2LTYzaDYyNXY2M3ogbTAtMzEzdjYzaC02MjV2LTYzaDYyNXogbS04NDQgNDM4Yy01MCAwLTk0IDQzLTk0IDkzczQ0IDk0IDk0IDk0IDk0LTQ0IDk0LTk0LTQ0LTkzLTk0LTkzeiBtMCAxMjVjLTE5IDAtMzEtMTMtMzEtMzJzMTItMzEgMzEtMzEgMzEgMTMgMzEgMzEtMTIgMzItMzEgMzJ6IG0wLTM4MmMtNTAgMC05NCA0NC05NCA5NHM0NCA5NCA5NCA5NCA5NC0zOCA5NC05NC00NC05NC05NC05NHogbTAgMTI1Yy0xOSAwLTMxLTEyLTMxLTMxczEyLTMxIDMxLTMxIDMxIDE5IDMxIDMxLTEyIDMxLTMxIDMxeiBtMC0zNjljLTUwIDAtOTQgNDQtOTQgOTRzNDQgOTQgOTQgOTQgOTQtNDQgOTQtOTQtNDQtOTQtOTQtOTR6IG0wIDEyNmMtMTkgMC0zMS0xMy0zMS0zMnMxMi0zMSAzMS0zMSAzMSAxMiAzMSAzMS0xMiAzMi0zMSAzMnoiIGhvcml6LWFkdi14PSIxMDAwIiAvPgoKPGdseXBoIGdseXBoLW5hbWU9InJpY2gtdGV4dCIgdW5pY29kZT0iJiN4ZTgwNTsiIGQ9Ik05MzggNzg4aC04NzVjLTM4IDAtNjMtMjUtNjMtNjN2LTc1MGMwLTM4IDI1LTYzIDYzLTYzaDg3NWMzNyAwIDYyIDI1IDYyIDYzdjc1MGMwIDM4LTI1IDYzLTYyIDYzeiBtLTg3NS0xMzJoNTB2LTE4aC01MHYxOHogbTAtMzFoNTB2LTE5aC01MHYxOXogbTg3NS02NTBoLTg3NXY1NTZoODc1di01NTZ6IG0wIDU2OWgtODc1djE5aDg3NXYtMTl6IG0wIDMxaC04NzV2MTloNTB2LTEzaDkzdjEzaDgydi0xM2g4N3YxM2g4MXYtMTNoOTR2MTNoNzV2LTEzaDk0djEzaDgxdi0xM2g5NHYxM2g0NHYtMTl6IG0tNjU3IDUwdi0xOWgtNzV2MTloNzV6IG0tNzUgMTN2MThoODJ2LTE4aC04MnogbTI1MC0xM3YtMTloLTgxdjE5aDgxeiBtLTgxIDEzdjE4aDgxdi0xOGgtODF6IG0yNTAtMTN2LTE5aC03NXYxOWg3NXogbS03NSAxM3YxOGg3NXYtMThoLTc1eiBtMjUwLTEzdi0xOWgtODF2MTloODF6IG0tODEgMTN2MThoODF2LTE4aC04MXogbTIxOS0zMmgtNTB2MTloNTB2LTE5eiBtMCAzMmgtNTB2MThoNTB2LTE4eiBtMCAzMWgtNTB2NmgtOTR2LTEyaC04MXYxMmgtODh2LTEyaC03NXYxMmgtOTR2LTEyaC04MXYxMmgtOTR2LTEyaC03NXYxMmgtOTN2LTEyaC01MHYyNWg4NzV2LTE5eiBtMCAzMWgtODc1djE5aDg3NXYtMTl6IG0tNzUwLTYwMHY2M2g2MjV2LTYzaC02MjV6IG02MjUgMTI1aC02MjV2NjNoNjI1di02M3ogbS0xMjUgMTI1aC01MDB2NjNoNTAwdi02M3oiIGhvcml6LWFkdi14PSIxMDAwIiAvPgoKPGdseXBoIGdseXBoLW5hbWU9InNlbGVjdCIgdW5pY29kZT0iJiN4ZTgwNjsiIGQ9Ik0wIDg1MHYtODc1aDBjMC0zOCAyNS02MyA2My02M2g2MjVjMzcgMCA2MiAyNSA2MiA2M2gwdjU2M2gyNTB2MzEyaC0xMDAweiBtNjMtNjJoNjI1di0xODhoLTYyNXYxODh6IG0wLTM3NWg2MjV2LTE4OGgtNjI1djE4OHogbTAtNDM4djE4OGg2MjV2LTE4OGgtNjI1eiBtODc1IDYyNWgtMTg4djE4OGgxODh2LTE4OHogbS04MTMgMTI1aDYzdi02MmgtNjN2NjJ6IG0wLTYyNWg2M3YtNjJoLTYzdjYyeiBtMTI1IDBoNjN2LTYyaC02M3Y2MnogbTEyNSAwaDYzdi02MmgtNjN2NjJ6IG0xODggMHYtNjJoLTYzdjYyaDYzeiBtLTQzOCAyNTBoNjN2LTYyaC02M3Y2MnogbTEyNSAwaDYzdi02MmgtNjN2NjJ6IG0xMjUgMGg2M3YtNjJoLTYzdjYyeiBtNDY5IDMwNmwtNjMgNjloMTE5bC01Ni02OXogbS03MTktMTgxdjYzaDYzdi02M2gtNjNsMCAweiBtMTI1IDB2NjNoNjN2LTYzaC02M2wwIDB6IiBob3Jpei1hZHYteD0iMTAwMCIgLz4KCjxnbHlwaCBnbHlwaC1uYW1lPSJ0ZXh0LWFyZWEiIHVuaWNvZGU9IiYjeGU4MDc7IiBkPSJNMTg4IDE2M3Y2Mmg1MDB2LTYyaC01MDBsMCAweiBtMCAyNTBoNjI1djYyaC02MjV2LTYybDAgMHogbTAtNjN2LTYyaDYyNXY2MmgtNjI1bDAgMHogbTYyNSAyNTBoLTYyNXYtNjJoNjI1djYybDAgMHogbTE4Ny02MjV2NzUwYzAgMzgtMjUgNjMtNjIgNjNoLTg3NWMtMzggMC02My0yNS02My02M3YtNzUwYzAtMzggMjUtNjMgNjMtNjNoODc1YzM3IDAgNjIgMjUgNjIgNjN6IG0tNjIgNzUwdi03NTBoLTg3NXY3NTBoODc1eiIgaG9yaXotYWR2LXg9IjEwMDAiIC8+Cgo8Z2x5cGggZ2x5cGgtbmFtZT0idGV4dC1pbnB1dCIgdW5pY29kZT0iJiN4ZTgwODsiIGQ9Ik05MzggNjAwaC02NTd2NjNoOTR2NjJoLTk0LTYyLTk0di02Mmg5NHYtNjNoLTE1NmMtMzggMC02My0zMS02My02MnYtMzc1YzAtMzggMjUtNjMgNjMtNjNoMTU2di02MmgtOTR2LTYzaDI1MHY2M2gtOTR2NjJoNjU3YzM3IDAgNjIgMjUgNjIgNjN2Mzc1YzAgMzEtMjUgNjItNjIgNjJ6IG0tODc1LTQzN3YzNzVoMTU2di0zNzVoLTE1NnogbTg3NSAwaC02NTd2Mzc1aDY1N3YtMzc1eiIgaG9yaXotYWR2LXg9IjEwMDAiIC8+Cgo8Z2x5cGggZ2x5cGgtbmFtZT0icGVuY2lsIiB1bmljb2RlPSImI3hlODA5OyIgZD0iTTIwMy03bDUwIDUxLTEzMSAxMzEtNTEtNTF2LTYwaDcydi03MWg2MHogbTI5MSA1MThxMCAxMi0xMiAxMi01IDAtOS00bC0zMDMtMzAycS00LTQtNC0xMCAwLTEyIDEzLTEyIDUgMCA5IDRsMzAzIDMwMnEzIDQgMyAxMHogbS0zMCAxMDdsMjMyLTIzMi00NjQtNDY1aC0yMzJ2MjMzeiBtMzgxLTU0cTAtMjktMjAtNTBsLTkzLTkzLTIzMiAyMzMgOTMgOTJxMjAgMjEgNTAgMjEgMjkgMCA1MS0yMWwxMzEtMTMxcTIwLTIyIDIwLTUxeiIgaG9yaXotYWR2LXg9Ijg1Ny4xIiAvPgoKPGdseXBoIGdseXBoLW5hbWU9ImZpbGUtaW5wdXQiIHVuaWNvZGU9IiYjeGU4MGE7IiBkPSJNNDY5IDE2M2gtNDY5di0yNTFoOTM4djI1MWgtNDY5eiBtNDA2LTEyNWgtMTI1djYyaDEyNXYtNjJ6IG0tNjU2IDUwMGwyNTAgMjUwIDI1MC0yNTBoLTE1NnYtMzEzaC0xODh2MzEzeiIgaG9yaXotYWR2LXg9IjEwMDAiIC8+Cgo8Z2x5cGggZ2x5cGgtbmFtZT0iaGlkZGVuLWlucHV0IiB1bmljb2RlPSImI3hlODBiOyIgZD0iTTYzIDUzOGw2MiAwIDAgNjItNjIgMHogbTEyNSAwbDYyIDAgMCA2Mi02MiAweiBtMTI1IDBsNjIgMCAwIDYyLTYyIDB6IG0xMjUgMGw2MiAwIDAgNjItNjIgMHogbTEyNSAwbDYyIDAgMCA2Mi02MiAweiBtMTI1IDBsNjIgMCAwIDYyLTYyIDB6IG0xMjUgMGw2MiAwIDAgNjItNjIgMHogbS04MTMtNjNsNjMgMCAwIDYzLTYzIDB6IG05MzgtNjJsNjIgMCAwIDYyLTYyIDB6IG0tOTM4LTYzbDYzIDAgMCA2My02MyAweiBtOTM4LTYybDYyIDAgMCA2Mi02MiAweiBtLTkzOC02M2w2MyAwIDAgNjMtNjMgMHogbTkzOC02Mmw2MiAwIDAgNjItNjIgMHogbS04MTMtNjNsNjMgMCAwIDYzLTYzIDB6IG0xMjUgMGw2MyAwIDAgNjMtNjMgMHogbTEyNSAwbDYzIDAgMCA2My02MyAweiBtMTI1IDBsNjMgMCAwIDYzLTYzIDB6IG0xMjUgMGw2MyAwIDAgNjMtNjMgMHogbTEyNSAwbDYzIDAgMCA2My02MyAweiBtMTI1IDBsNjMgMCAwIDYzLTYzIDB6IG02MyA0MzhsNjIgMCAwIDYyLTYyIDB6IG0tOTM4LTQzOGw2MyAwIDAgNjMtNjMgMHoiIGhvcml6LWFkdi14PSIxMDAwIiAvPgoKPGdseXBoIGdseXBoLW5hbWU9InJlc2l6ZS12ZXJ0aWNhbCIgdW5pY29kZT0iJiN4ZTgwYzsiIGQ9Ik0zOTMgNjcxcTAtMTQtMTEtMjV0LTI1LTEwaC03MXYtNTcyaDcxcTE1IDAgMjUtMTB0MTEtMjUtMTEtMjZsLTE0My0xNDJxLTEwLTExLTI1LTExdC0yNSAxMWwtMTQzIDE0MnEtMTAgMTEtMTAgMjZ0MTAgMjUgMjUgMTBoNzJ2NTcyaC03MnEtMTQgMC0yNSAxMHQtMTAgMjUgMTAgMjZsMTQzIDE0MnExMSAxMSAyNSAxMXQyNS0xMWwxNDMtMTQycTExLTExIDExLTI2eiIgaG9yaXotYWR2LXg9IjQyOC42IiAvPgoKPGdseXBoIGdseXBoLW5hbWU9ImJ1dHRvbi1pbnB1dCIgdW5pY29kZT0iJiN4ZTgwZDsiIGQ9Ik02MiA1MzhsODc1IDAgMCA2Mi04NzUgMHogbS02Mi0zNzVsNjMgMCAwIDM3NS02MyAweiBtNjMtNjNsODc1IDAgMCA2My04NzUgMHogbTg3NSA2M2w2MiAwIDAgMzc1LTYyIDB6IG0tNTUyIDI4MHEtMzQgMC01NC0yNS0xOS0yNS0xOS02OCAwLTQzIDE5LTY4IDIwLTI1IDU0LTI1IDMzIDAgNTMgMjUgMTkgMjUgMTkgNjggMCA0My0xOSA2OC0yMCAyNS01MyAyNXogbTAgMjVxNDggMCA3Ni0zMiAyOS0zMiAyOS04NiAwLTU0LTI5LTg2LTI4LTMyLTc2LTMyLTQ4IDAtNzcgMzItMjkgMzItMjkgODYgMCA1NCAyOSA4NiAyOSAzMiA3NyAzMnogbTE1My00bDMxIDAgMC05NiAxMDIgOTYgNDAgMC0xMTMtMTA2IDEyMS0xMjItNDEgMC0xMDkgMTEwIDAtMTEwLTMxIDAgMCAyMjh6IiBob3Jpei1hZHYteD0iMTAwMCIgLz4KCjxnbHlwaCBnbHlwaC1uYW1lPSJhdHRhY2giIHVuaWNvZGU9IiYjeGU4MGU7IiBkPSJNNzgzIDc3cTAtNjUtNDQtMTA5dC0xMDktNDRxLTc1IDAtMTMxIDU1bC00MzQgNDM0cS02MyA2NC02MyAxNTEgMCA4OCA2MiAxNTB0MTUwIDYycTg4IDAgMTUyLTYzbDMzOC0zMzhxNS01IDUtMTIgMC05LTE3LTI2dC0yNi0xN3EtNyAwLTEzIDVsLTMzOCAzMzlxLTQ0IDQzLTEwMSA0My01OSAwLTEwMC00MnQtNDAtMTAxcTAtNTggNDItMTAxbDQzMy00MzNxMzUtMzYgODEtMzYgMzYgMCA1OSAyNHQyNCA1OXEwIDQ2LTM2IDgxbC0zMjQgMzI0cS0xNCAxNC0zMyAxNC0xNiAwLTI3LTExdC0xMS0yN3EwLTE4IDE0LTMzbDIyOS0yMjhxNi02IDYtMTMgMC05LTE4LTI2dC0yNi0xN3EtNyAwLTEyIDVsLTIyOSAyMjlxLTM1IDM0LTM1IDgzIDAgNDYgMzIgNzh0NzcgMzJxNDkgMCA4My0zNmwzMjUtMzI0cTU1LTU0IDU1LTEzMXoiIGhvcml6LWFkdi14PSI3ODUuNyIgLz4KCjxnbHlwaCBnbHlwaC1uYW1lPSJoZWFkZXIiIHVuaWNvZGU9IiYjeGU4MGY7IiBkPSJNOTM5LTc5cS0yNSAwLTc0IDJ0LTc1IDJxLTI0IDAtNzMtMnQtNzQtMnEtMTQgMC0yMSAxMnQtNyAyNXEwIDE3IDkgMjZ0MjIgOSAyOSA0IDI1IDlxMTggMTEgMTggNzhsMCAyMThxMCAxMi0xIDE3LTcgMy0yOCAzaC0zNzZxLTIyIDAtMjktMyAwLTUgMC0xN2wtMS0yMDdxMC03OSAyMS05MiA5LTUgMjYtN3QzMi0yIDI1LTggMTEtMjZxMC0xNC03LTI2dC0yMC0xM3EtMjYgMC03OCAydC03NyAycS0yNCAwLTcxLTJ0LTcxLTJxLTEzIDAtMjAgMTJ0LTcgMjVxMCAxNyA5IDI1dDIwIDEwIDI2IDQgMjQgOXExOCAxMyAxOCA4MGwtMSAzMXY0NTRxMCAyIDEgMTR0MCAyMS0xIDIxLTIgMjQtNCAyMC02IDE4LTkgMTBxLTggNS0yNSA2dC0yOSAyLTIzIDctMTAgMjZxMCAxNCA2IDI2dDIwIDEzcTI2IDAgNzgtMnQ3Ny0ycTIzIDAgNzEgMnQ3MCAycTE0IDAgMjEtMTN0Ny0yNnEwLTE3LTktMjV0LTIyLTgtMjgtMi0yNC03cS0xOS0xMi0xOS05MGwxLTE3OHEwLTEyIDAtMTggNy0yIDIyLTJoMzkwcTE0IDAgMjEgMiAxIDYgMSAxOGwwIDE3OHEwIDc4LTE5IDkwLTEwIDYtMzMgN3QtMzcgNy0xNCAyOHEwIDE0IDcgMjZ0MjEgMTNxMjQgMCA3NC0ydDczLTJxMjQgMCA3MiAydDcyIDJxMTQgMCAyMS0xM3Q3LTI2cTAtMTctMTAtMjV0LTIyLTgtMjktMi0yNC03cS0yMC0xMy0yMC05MGwxLTUyNnEwLTY2IDE5LTc4IDktNiAyNS04dDMwLTIgMjMtOSAxMC0yNXEwLTE0LTYtMjZ0LTIwLTEzeiIgaG9yaXotYWR2LXg9IjEwMDAiIC8+Cgo8Z2x5cGggZ2x5cGgtbmFtZT0icGFyYWdyYXBoIiB1bmljb2RlPSImI3hlODEwOyIgZD0iTTcxMyA3NDV2LTQxcTAtMTYtMTAtMzR0LTI0LTE4cS0yOCAwLTMwLTEtMTUtMy0xOC0xNy0yLTYtMi0zNnYtNjQzcTAtMTQtMTAtMjR0LTI0LTEwaC02MHEtMTQgMC0yNCAxMHQtMTAgMjR2NjgwaC04MHYtNjgwcTAtMTQtOS0yNHQtMjUtMTBoLTYwcS0xNCAwLTI0IDEwdC0xMCAyNHYyNzdxLTgyIDctMTM3IDMzLTcwIDMzLTEwNyAxMDAtMzYgNjUtMzYgMTQ1IDAgOTIgNTAgMTU5IDQ5IDY2IDExNiA4OSA2MiAyMSAyMzMgMjFoMjY3cTE0IDAgMjQtMTB0MTAtMjR6IiBob3Jpei1hZHYteD0iNzE0LjMiIC8+Cgo8Z2x5cGggZ2x5cGgtbmFtZT0ibnVtYmVyIiB1bmljb2RlPSImI3hlODExOyIgZD0iTTg3NSA0NzV2MTI1aC0xNTZsMzEgMjUwaC0xMjVsLTMxLTI1MGgtMjUwbDMxIDI1MGgtMTI1bC0zMS0yNTBoLTIxOXYtMTI1aDIwM2wtMzEtMjUwaC0xNzJ2LTEyNWgxNTZsLTMxLTI1MGgxMjVsMzEgMjUwaDI1MGwtMzEtMjUwaDEyNWwzMSAyNTBoMjE5djEyNWgtMjAzbDMxIDI1MGgxNzJ6IG0tMzI4LTI1MGgtMjUwbDMxIDI1MGgyNTBsLTMxLTI1MHoiIGhvcml6LWFkdi14PSI4NzUiIC8+CjwvZm9udD4KPC9kZWZzPgo8L3N2Zz4=) format("svg");
    font-weight: normal;
    font-style: normal;
}

/* Chrome hack: SVG is rendered more smooth in Windozze. 100% magic, uncomment if you need it. */
/* Note, that will break hinting! In other OS-es font will be not as sharp as it could be */
/*
@media screen and (-webkit-min-device-pixel-ratio:0) {
  @font-face {
    font-family: 'form-builder-font';
    src: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBzdGFuZGFsb25lPSJubyI/Pgo8IURPQ1RZUEUgc3ZnIFBVQkxJQyAiLS8vVzNDLy9EVEQgU1ZHIDEuMS8vRU4iICJodHRwOi8vd3d3LnczLm9yZy9HcmFwaGljcy9TVkcvMS4xL0RURC9zdmcxMS5kdGQiPgo8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CjxtZXRhZGF0YT5Db3B5cmlnaHQgKEMpIDIwMTYgYnkgb3JpZ2luYWwgYXV0aG9ycyBAIGZvbnRlbGxvLmNvbTwvbWV0YWRhdGE+CjxkZWZzPgo8Zm9udCBpZD0iZm9ybS1idWlsZGVyLWZvbnQiIGhvcml6LWFkdi14PSIxMDAwIiA+Cjxmb250LWZhY2UgZm9udC1mYW1pbHk9ImZvcm0tYnVpbGRlci1mb250IiBmb250LXdlaWdodD0iNDAwIiBmb250LXN0cmV0Y2g9Im5vcm1hbCIgdW5pdHMtcGVyLWVtPSIxMDAwIiBhc2NlbnQ9Ijg1MCIgZGVzY2VudD0iLTE1MCIgLz4KPG1pc3NpbmctZ2x5cGggaG9yaXotYWR2LXg9IjEwMDAiIC8+CjxnbHlwaCBnbHlwaC1uYW1lPSJhdXRvY29tcGxldGUiIHVuaWNvZGU9IiYjeGU4MDA7IiBkPSJNMzc1IDUzOGg2M3YtNjNoLTYzdjYzeiBtLTEyNSA2MmgtNjJ2LTYyaDYydjYyeiBtMTI1IDBoLTYydi02Mmg2MnY2MnogbS0yNTAtNjJ2LTYzaDYzdjYzaC02M3ogbTYzLTEyNWg2MnY2MmgtNjJ2LTYyeiBtMTI1IDBoNjJ2NjJoLTYydi02MnogbS02MyAxMjV2LTYzaDYzdjYzaC02M3ogbS0xMjUtNTYzaDYzdjYzaC02M3YtNjN6IG0xMjUgMGg2M3Y2M2gtNjN2LTYzeiBtMTI1IDBoNjN2NjNoLTYzdi02M3ogbTE4OCA2M2gtNjN2LTYzaDYzdjYzeiBtNDM3IDU5M3YtMjUwYzAtNTAtNDQtOTMtOTQtOTNoLTMxdi0xODgtMTg4YzAtMzctMjUtNjItNjItNjJoLTc1MGMtMzggMC02MyAyNS02MyA2MnY3MTljMCA1MCA0NCA5NCA5NCA5NGgxODcgMjE5djMxIDMyaC02Mi02M3YzMSAzMWgxNTYgMTU3di0zMS0zMWgtNjMtNjJ2LTMyLTMxaDE4NyAxNTZjNTAgMCA5NC00NCA5NC05NHogbS0xODctNTMxaC0zNzUtMzc1di0xODhoNzUwdjE4OHogbS02MjUgNjN2NjJoLTYzdi02Mmg2M3ogbTEyNSAwdjYyaC02M3YtNjJoNjN6IG02MjUgNDY4YzAgMTktMTMgMzItMzIgMzJoLTM0M3YtMTU3LTE1NmgtMzItMzF2MzEgMzJoLTYydjYyaDYydjMxIDMyaC02MnY2Mmg2MnYzMSAzMmgtNDA2Yy0xOSAwLTMxLTEzLTMxLTMydi0yNTBjMC0xOCAxMi0zMSAzMS0zMWg0MDZ2LTYyaC0xMjV2LTMyLTMxaDE1NiAxNTd2MzEgMzJoLTEyNXY2MmgzNDNjMTkgMCAzMiAxMyAzMiAzMXYyNTB6IiBob3Jpei1hZHYteD0iMTAwMCIgLz4KCjxnbHlwaCBnbHlwaC1uYW1lPSJjYWxlbmRhciIgdW5pY29kZT0iJiN4ZTgwMTsiIGQ9Ik03MS03OWgxNjF2MTYxaC0xNjF2LTE2MXogbTE5NyAwaDE3OHYxNjFoLTE3OHYtMTYxeiBtLTE5NyAxOTdoMTYxdjE3OGgtMTYxdi0xNzh6IG0xOTcgMGgxNzh2MTc4aC0xNzh2LTE3OHogbS0xOTcgMjE0aDE2MXYxNjFoLTE2MXYtMTYxeiBtNDExLTQxMWgxNzl2MTYxaC0xNzl2LTE2MXogbS0yMTQgNDExaDE3OHYxNjFoLTE3OHYtMTYxeiBtNDI4LTQxMWgxNjF2MTYxaC0xNjF2LTE2MXogbS0yMTQgMTk3aDE3OXYxNzhoLTE3OXYtMTc4eiBtLTE5NiA0ODJ2MTYxcTAgNy02IDEydC0xMiA2aC0zNnEtNyAwLTEyLTZ0LTYtMTJ2LTE2MXEwLTcgNi0xM3QxMi01aDM2cTcgMCAxMiA1dDYgMTN6IG00MTAtNDgyaDE2MXYxNzhoLTE2MXYtMTc4eiBtLTIxNCAyMTRoMTc5djE2MWgtMTc5di0xNjF6IG0yMTQgMGgxNjF2MTYxaC0xNjF2LTE2MXogbTE4IDI2OHYxNjFxMCA3LTUgMTJ0LTEzIDZoLTM1cS04IDAtMTMtNnQtNS0xMnYtMTYxcTAtNyA1LTEzdDEzLTVoMzVxOCAwIDEzIDV0NSAxM3ogbTIxNSAzNnYtNzE1cTAtMjktMjItNTB0LTUwLTIxaC03ODZxLTI5IDAtNTAgMjF0LTIxIDUwdjcxNXEwIDI5IDIxIDUwdDUwIDIxaDcydjU0cTAgMzcgMjYgNjN0NjMgMjZoMzZxMzcgMCA2My0yNnQyNi02M3YtNTRoMjE0djU0cTAgMzcgMjcgNjN0NjMgMjZoMzVxMzcgMCA2My0yNnQyNy02M3YtNTRoNzFxMjkgMCA1MC0yMXQyMi01MHoiIGhvcml6LWFkdi14PSI5MjguNiIgLz4KCjxnbHlwaCBnbHlwaC1uYW1lPSJjaGVja2JveCIgdW5pY29kZT0iJiN4ZTgwMjsiIGQ9Ik04NDQgNTM4di01MDBjMC01MS00NC05NC05NC05NGgtNTYyYy01MCAwLTk0IDQzLTk0IDk0djU2MmMwIDUwIDQ0IDk0IDk0IDk0aDU2MmM0NCAwIDgxLTMxIDk0LTc1bDE1MCA4Ny0xNTAtMTY4eiBtLTYzLTc1bC0zMDAtMzYzLTMwNiA0MDYgMzA2LTEwMCAzMDAgMTgydjEyYzAgMTktMTIgMzEtMzEgMzFoLTU2MmMtMTkgMC0zMi0xMi0zMi0zMXYtNTYyYzAtMTkgMTMtMzIgMzItMzJoNTYyYzE5IDAgMzEgMTMgMzEgMzJ2NDI1eiIgaG9yaXotYWR2LXg9IjEwMDAiIC8+Cgo8Z2x5cGggZ2x5cGgtbmFtZT0iY2hlY2tib3gtZ3JvdXAiIHVuaWNvZGU9IiYjeGU4MDM7IiBkPSJNMCA3ODhoMTAwMHY2MmgtMTAwMHYtNjJ6IG0wLTEyNWgxMDAwdjYyaC0xMDAwdi02MnogbTM3NS0xMjV2LTYzaDU2M3Y2M2gtNTYzeiBtNTYzLTU2M3Y2M2gtNTYzdi02M2g1NjN6IG0tNTYzIDI1MGg1NjN2NjNoLTU2M3YtNjN6IG0tMTI1LTEyNWwtMTU2LTk0LTk0IDMyIDk0LTEyNiAxNTYgMTg4eiBtMCAyNTBsLTE1Ni05NC05NCAzMiA5NC0xMjUgMTU2IDE4N3ogbTAgMjUwbC0xNTYtOTQtOTQgMzIgOTQtMTI1IDE1NiAxODd6IiBob3Jpei1hZHYteD0iMTAwMCIgLz4KCjxnbHlwaCBnbHlwaC1uYW1lPSJyYWRpby1ncm91cCIgdW5pY29kZT0iJiN4ZTgwNDsiIGQ9Ik0wIDc4OGgxMDAwdjYyaC0xMDAwdi02MnogbTAtMTI1aDEwMDB2NjJoLTEwMDB2LTYyeiBtMzEzLTE4OGg2MjV2NjNoLTYyNXYtNjN6IG02MjUtMTg3aC02MjV2LTYzaDYyNXY2M3ogbTAtMzEzdjYzaC02MjV2LTYzaDYyNXogbS04NDQgNDM4Yy01MCAwLTk0IDQzLTk0IDkzczQ0IDk0IDk0IDk0IDk0LTQ0IDk0LTk0LTQ0LTkzLTk0LTkzeiBtMCAxMjVjLTE5IDAtMzEtMTMtMzEtMzJzMTItMzEgMzEtMzEgMzEgMTMgMzEgMzEtMTIgMzItMzEgMzJ6IG0wLTM4MmMtNTAgMC05NCA0NC05NCA5NHM0NCA5NCA5NCA5NCA5NC0zOCA5NC05NC00NC05NC05NC05NHogbTAgMTI1Yy0xOSAwLTMxLTEyLTMxLTMxczEyLTMxIDMxLTMxIDMxIDE5IDMxIDMxLTEyIDMxLTMxIDMxeiBtMC0zNjljLTUwIDAtOTQgNDQtOTQgOTRzNDQgOTQgOTQgOTQgOTQtNDQgOTQtOTQtNDQtOTQtOTQtOTR6IG0wIDEyNmMtMTkgMC0zMS0xMy0zMS0zMnMxMi0zMSAzMS0zMSAzMSAxMiAzMSAzMS0xMiAzMi0zMSAzMnoiIGhvcml6LWFkdi14PSIxMDAwIiAvPgoKPGdseXBoIGdseXBoLW5hbWU9InJpY2gtdGV4dCIgdW5pY29kZT0iJiN4ZTgwNTsiIGQ9Ik05MzggNzg4aC04NzVjLTM4IDAtNjMtMjUtNjMtNjN2LTc1MGMwLTM4IDI1LTYzIDYzLTYzaDg3NWMzNyAwIDYyIDI1IDYyIDYzdjc1MGMwIDM4LTI1IDYzLTYyIDYzeiBtLTg3NS0xMzJoNTB2LTE4aC01MHYxOHogbTAtMzFoNTB2LTE5aC01MHYxOXogbTg3NS02NTBoLTg3NXY1NTZoODc1di01NTZ6IG0wIDU2OWgtODc1djE5aDg3NXYtMTl6IG0wIDMxaC04NzV2MTloNTB2LTEzaDkzdjEzaDgydi0xM2g4N3YxM2g4MXYtMTNoOTR2MTNoNzV2LTEzaDk0djEzaDgxdi0xM2g5NHYxM2g0NHYtMTl6IG0tNjU3IDUwdi0xOWgtNzV2MTloNzV6IG0tNzUgMTN2MThoODJ2LTE4aC04MnogbTI1MC0xM3YtMTloLTgxdjE5aDgxeiBtLTgxIDEzdjE4aDgxdi0xOGgtODF6IG0yNTAtMTN2LTE5aC03NXYxOWg3NXogbS03NSAxM3YxOGg3NXYtMThoLTc1eiBtMjUwLTEzdi0xOWgtODF2MTloODF6IG0tODEgMTN2MThoODF2LTE4aC04MXogbTIxOS0zMmgtNTB2MTloNTB2LTE5eiBtMCAzMmgtNTB2MThoNTB2LTE4eiBtMCAzMWgtNTB2NmgtOTR2LTEyaC04MXYxMmgtODh2LTEyaC03NXYxMmgtOTR2LTEyaC04MXYxMmgtOTR2LTEyaC03NXYxMmgtOTN2LTEyaC01MHYyNWg4NzV2LTE5eiBtMCAzMWgtODc1djE5aDg3NXYtMTl6IG0tNzUwLTYwMHY2M2g2MjV2LTYzaC02MjV6IG02MjUgMTI1aC02MjV2NjNoNjI1di02M3ogbS0xMjUgMTI1aC01MDB2NjNoNTAwdi02M3oiIGhvcml6LWFkdi14PSIxMDAwIiAvPgoKPGdseXBoIGdseXBoLW5hbWU9InNlbGVjdCIgdW5pY29kZT0iJiN4ZTgwNjsiIGQ9Ik0wIDg1MHYtODc1aDBjMC0zOCAyNS02MyA2My02M2g2MjVjMzcgMCA2MiAyNSA2MiA2M2gwdjU2M2gyNTB2MzEyaC0xMDAweiBtNjMtNjJoNjI1di0xODhoLTYyNXYxODh6IG0wLTM3NWg2MjV2LTE4OGgtNjI1djE4OHogbTAtNDM4djE4OGg2MjV2LTE4OGgtNjI1eiBtODc1IDYyNWgtMTg4djE4OGgxODh2LTE4OHogbS04MTMgMTI1aDYzdi02MmgtNjN2NjJ6IG0wLTYyNWg2M3YtNjJoLTYzdjYyeiBtMTI1IDBoNjN2LTYyaC02M3Y2MnogbTEyNSAwaDYzdi02MmgtNjN2NjJ6IG0xODggMHYtNjJoLTYzdjYyaDYzeiBtLTQzOCAyNTBoNjN2LTYyaC02M3Y2MnogbTEyNSAwaDYzdi02MmgtNjN2NjJ6IG0xMjUgMGg2M3YtNjJoLTYzdjYyeiBtNDY5IDMwNmwtNjMgNjloMTE5bC01Ni02OXogbS03MTktMTgxdjYzaDYzdi02M2gtNjNsMCAweiBtMTI1IDB2NjNoNjN2LTYzaC02M2wwIDB6IiBob3Jpei1hZHYteD0iMTAwMCIgLz4KCjxnbHlwaCBnbHlwaC1uYW1lPSJ0ZXh0LWFyZWEiIHVuaWNvZGU9IiYjeGU4MDc7IiBkPSJNMTg4IDE2M3Y2Mmg1MDB2LTYyaC01MDBsMCAweiBtMCAyNTBoNjI1djYyaC02MjV2LTYybDAgMHogbTAtNjN2LTYyaDYyNXY2MmgtNjI1bDAgMHogbTYyNSAyNTBoLTYyNXYtNjJoNjI1djYybDAgMHogbTE4Ny02MjV2NzUwYzAgMzgtMjUgNjMtNjIgNjNoLTg3NWMtMzggMC02My0yNS02My02M3YtNzUwYzAtMzggMjUtNjMgNjMtNjNoODc1YzM3IDAgNjIgMjUgNjIgNjN6IG0tNjIgNzUwdi03NTBoLTg3NXY3NTBoODc1eiIgaG9yaXotYWR2LXg9IjEwMDAiIC8+Cgo8Z2x5cGggZ2x5cGgtbmFtZT0idGV4dC1pbnB1dCIgdW5pY29kZT0iJiN4ZTgwODsiIGQ9Ik05MzggNjAwaC02NTd2NjNoOTR2NjJoLTk0LTYyLTk0di02Mmg5NHYtNjNoLTE1NmMtMzggMC02My0zMS02My02MnYtMzc1YzAtMzggMjUtNjMgNjMtNjNoMTU2di02MmgtOTR2LTYzaDI1MHY2M2gtOTR2NjJoNjU3YzM3IDAgNjIgMjUgNjIgNjN2Mzc1YzAgMzEtMjUgNjItNjIgNjJ6IG0tODc1LTQzN3YzNzVoMTU2di0zNzVoLTE1NnogbTg3NSAwaC02NTd2Mzc1aDY1N3YtMzc1eiIgaG9yaXotYWR2LXg9IjEwMDAiIC8+Cgo8Z2x5cGggZ2x5cGgtbmFtZT0icGVuY2lsIiB1bmljb2RlPSImI3hlODA5OyIgZD0iTTIwMy03bDUwIDUxLTEzMSAxMzEtNTEtNTF2LTYwaDcydi03MWg2MHogbTI5MSA1MThxMCAxMi0xMiAxMi01IDAtOS00bC0zMDMtMzAycS00LTQtNC0xMCAwLTEyIDEzLTEyIDUgMCA5IDRsMzAzIDMwMnEzIDQgMyAxMHogbS0zMCAxMDdsMjMyLTIzMi00NjQtNDY1aC0yMzJ2MjMzeiBtMzgxLTU0cTAtMjktMjAtNTBsLTkzLTkzLTIzMiAyMzMgOTMgOTJxMjAgMjEgNTAgMjEgMjkgMCA1MS0yMWwxMzEtMTMxcTIwLTIyIDIwLTUxeiIgaG9yaXotYWR2LXg9Ijg1Ny4xIiAvPgoKPGdseXBoIGdseXBoLW5hbWU9ImZpbGUtaW5wdXQiIHVuaWNvZGU9IiYjeGU4MGE7IiBkPSJNNDY5IDE2M2gtNDY5di0yNTFoOTM4djI1MWgtNDY5eiBtNDA2LTEyNWgtMTI1djYyaDEyNXYtNjJ6IG0tNjU2IDUwMGwyNTAgMjUwIDI1MC0yNTBoLTE1NnYtMzEzaC0xODh2MzEzeiIgaG9yaXotYWR2LXg9IjEwMDAiIC8+Cgo8Z2x5cGggZ2x5cGgtbmFtZT0iaGlkZGVuLWlucHV0IiB1bmljb2RlPSImI3hlODBiOyIgZD0iTTYzIDUzOGw2MiAwIDAgNjItNjIgMHogbTEyNSAwbDYyIDAgMCA2Mi02MiAweiBtMTI1IDBsNjIgMCAwIDYyLTYyIDB6IG0xMjUgMGw2MiAwIDAgNjItNjIgMHogbTEyNSAwbDYyIDAgMCA2Mi02MiAweiBtMTI1IDBsNjIgMCAwIDYyLTYyIDB6IG0xMjUgMGw2MiAwIDAgNjItNjIgMHogbS04MTMtNjNsNjMgMCAwIDYzLTYzIDB6IG05MzgtNjJsNjIgMCAwIDYyLTYyIDB6IG0tOTM4LTYzbDYzIDAgMCA2My02MyAweiBtOTM4LTYybDYyIDAgMCA2Mi02MiAweiBtLTkzOC02M2w2MyAwIDAgNjMtNjMgMHogbTkzOC02Mmw2MiAwIDAgNjItNjIgMHogbS04MTMtNjNsNjMgMCAwIDYzLTYzIDB6IG0xMjUgMGw2MyAwIDAgNjMtNjMgMHogbTEyNSAwbDYzIDAgMCA2My02MyAweiBtMTI1IDBsNjMgMCAwIDYzLTYzIDB6IG0xMjUgMGw2MyAwIDAgNjMtNjMgMHogbTEyNSAwbDYzIDAgMCA2My02MyAweiBtMTI1IDBsNjMgMCAwIDYzLTYzIDB6IG02MyA0MzhsNjIgMCAwIDYyLTYyIDB6IG0tOTM4LTQzOGw2MyAwIDAgNjMtNjMgMHoiIGhvcml6LWFkdi14PSIxMDAwIiAvPgoKPGdseXBoIGdseXBoLW5hbWU9InJlc2l6ZS12ZXJ0aWNhbCIgdW5pY29kZT0iJiN4ZTgwYzsiIGQ9Ik0zOTMgNjcxcTAtMTQtMTEtMjV0LTI1LTEwaC03MXYtNTcyaDcxcTE1IDAgMjUtMTB0MTEtMjUtMTEtMjZsLTE0My0xNDJxLTEwLTExLTI1LTExdC0yNSAxMWwtMTQzIDE0MnEtMTAgMTEtMTAgMjZ0MTAgMjUgMjUgMTBoNzJ2NTcyaC03MnEtMTQgMC0yNSAxMHQtMTAgMjUgMTAgMjZsMTQzIDE0MnExMSAxMSAyNSAxMXQyNS0xMWwxNDMtMTQycTExLTExIDExLTI2eiIgaG9yaXotYWR2LXg9IjQyOC42IiAvPgoKPGdseXBoIGdseXBoLW5hbWU9ImJ1dHRvbi1pbnB1dCIgdW5pY29kZT0iJiN4ZTgwZDsiIGQ9Ik02MiA1MzhsODc1IDAgMCA2Mi04NzUgMHogbS02Mi0zNzVsNjMgMCAwIDM3NS02MyAweiBtNjMtNjNsODc1IDAgMCA2My04NzUgMHogbTg3NSA2M2w2MiAwIDAgMzc1LTYyIDB6IG0tNTUyIDI4MHEtMzQgMC01NC0yNS0xOS0yNS0xOS02OCAwLTQzIDE5LTY4IDIwLTI1IDU0LTI1IDMzIDAgNTMgMjUgMTkgMjUgMTkgNjggMCA0My0xOSA2OC0yMCAyNS01MyAyNXogbTAgMjVxNDggMCA3Ni0zMiAyOS0zMiAyOS04NiAwLTU0LTI5LTg2LTI4LTMyLTc2LTMyLTQ4IDAtNzcgMzItMjkgMzItMjkgODYgMCA1NCAyOSA4NiAyOSAzMiA3NyAzMnogbTE1My00bDMxIDAgMC05NiAxMDIgOTYgNDAgMC0xMTMtMTA2IDEyMS0xMjItNDEgMC0xMDkgMTEwIDAtMTEwLTMxIDAgMCAyMjh6IiBob3Jpei1hZHYteD0iMTAwMCIgLz4KCjxnbHlwaCBnbHlwaC1uYW1lPSJhdHRhY2giIHVuaWNvZGU9IiYjeGU4MGU7IiBkPSJNNzgzIDc3cTAtNjUtNDQtMTA5dC0xMDktNDRxLTc1IDAtMTMxIDU1bC00MzQgNDM0cS02MyA2NC02MyAxNTEgMCA4OCA2MiAxNTB0MTUwIDYycTg4IDAgMTUyLTYzbDMzOC0zMzhxNS01IDUtMTIgMC05LTE3LTI2dC0yNi0xN3EtNyAwLTEzIDVsLTMzOCAzMzlxLTQ0IDQzLTEwMSA0My01OSAwLTEwMC00MnQtNDAtMTAxcTAtNTggNDItMTAxbDQzMy00MzNxMzUtMzYgODEtMzYgMzYgMCA1OSAyNHQyNCA1OXEwIDQ2LTM2IDgxbC0zMjQgMzI0cS0xNCAxNC0zMyAxNC0xNiAwLTI3LTExdC0xMS0yN3EwLTE4IDE0LTMzbDIyOS0yMjhxNi02IDYtMTMgMC05LTE4LTI2dC0yNi0xN3EtNyAwLTEyIDVsLTIyOSAyMjlxLTM1IDM0LTM1IDgzIDAgNDYgMzIgNzh0NzcgMzJxNDkgMCA4My0zNmwzMjUtMzI0cTU1LTU0IDU1LTEzMXoiIGhvcml6LWFkdi14PSI3ODUuNyIgLz4KCjxnbHlwaCBnbHlwaC1uYW1lPSJoZWFkZXIiIHVuaWNvZGU9IiYjeGU4MGY7IiBkPSJNOTM5LTc5cS0yNSAwLTc0IDJ0LTc1IDJxLTI0IDAtNzMtMnQtNzQtMnEtMTQgMC0yMSAxMnQtNyAyNXEwIDE3IDkgMjZ0MjIgOSAyOSA0IDI1IDlxMTggMTEgMTggNzhsMCAyMThxMCAxMi0xIDE3LTcgMy0yOCAzaC0zNzZxLTIyIDAtMjktMyAwLTUgMC0xN2wtMS0yMDdxMC03OSAyMS05MiA5LTUgMjYtN3QzMi0yIDI1LTggMTEtMjZxMC0xNC03LTI2dC0yMC0xM3EtMjYgMC03OCAydC03NyAycS0yNCAwLTcxLTJ0LTcxLTJxLTEzIDAtMjAgMTJ0LTcgMjVxMCAxNyA5IDI1dDIwIDEwIDI2IDQgMjQgOXExOCAxMyAxOCA4MGwtMSAzMXY0NTRxMCAyIDEgMTR0MCAyMS0xIDIxLTIgMjQtNCAyMC02IDE4LTkgMTBxLTggNS0yNSA2dC0yOSAyLTIzIDctMTAgMjZxMCAxNCA2IDI2dDIwIDEzcTI2IDAgNzgtMnQ3Ny0ycTIzIDAgNzEgMnQ3MCAycTE0IDAgMjEtMTN0Ny0yNnEwLTE3LTktMjV0LTIyLTgtMjgtMi0yNC03cS0xOS0xMi0xOS05MGwxLTE3OHEwLTEyIDAtMTggNy0yIDIyLTJoMzkwcTE0IDAgMjEgMiAxIDYgMSAxOGwwIDE3OHEwIDc4LTE5IDkwLTEwIDYtMzMgN3QtMzcgNy0xNCAyOHEwIDE0IDcgMjZ0MjEgMTNxMjQgMCA3NC0ydDczLTJxMjQgMCA3MiAydDcyIDJxMTQgMCAyMS0xM3Q3LTI2cTAtMTctMTAtMjV0LTIyLTgtMjktMi0yNC03cS0yMC0xMy0yMC05MGwxLTUyNnEwLTY2IDE5LTc4IDktNiAyNS04dDMwLTIgMjMtOSAxMC0yNXEwLTE0LTYtMjZ0LTIwLTEzeiIgaG9yaXotYWR2LXg9IjEwMDAiIC8+Cgo8Z2x5cGggZ2x5cGgtbmFtZT0icGFyYWdyYXBoIiB1bmljb2RlPSImI3hlODEwOyIgZD0iTTcxMyA3NDV2LTQxcTAtMTYtMTAtMzR0LTI0LTE4cS0yOCAwLTMwLTEtMTUtMy0xOC0xNy0yLTYtMi0zNnYtNjQzcTAtMTQtMTAtMjR0LTI0LTEwaC02MHEtMTQgMC0yNCAxMHQtMTAgMjR2NjgwaC04MHYtNjgwcTAtMTQtOS0yNHQtMjUtMTBoLTYwcS0xNCAwLTI0IDEwdC0xMCAyNHYyNzdxLTgyIDctMTM3IDMzLTcwIDMzLTEwNyAxMDAtMzYgNjUtMzYgMTQ1IDAgOTIgNTAgMTU5IDQ5IDY2IDExNiA4OSA2MiAyMSAyMzMgMjFoMjY3cTE0IDAgMjQtMTB0MTAtMjR6IiBob3Jpei1hZHYteD0iNzE0LjMiIC8+Cgo8Z2x5cGggZ2x5cGgtbmFtZT0ibnVtYmVyIiB1bmljb2RlPSImI3hlODExOyIgZD0iTTg3NSA0NzV2MTI1aC0xNTZsMzEgMjUwaC0xMjVsLTMxLTI1MGgtMjUwbDMxIDI1MGgtMTI1bC0zMS0yNTBoLTIxOXYtMTI1aDIwM2wtMzEtMjUwaC0xNzJ2LTEyNWgxNTZsLTMxLTI1MGgxMjVsMzEgMjUwaDI1MGwtMzEtMjUwaDEyNWwzMSAyNTBoMjE5djEyNWgtMjAzbDMxIDI1MGgxNzJ6IG0tMzI4LTI1MGgtMjUwbDMxIDI1MGgyNTBsLTMxLTI1MHoiIGhvcml6LWFkdi14PSI4NzUiIC8+CjwvZm9udD4KPC9kZWZzPgo8L3N2Zz4=) format('svg');
  }
}
*/
.form-builder-wrap [class^="icon-"]:before,
.form-builder-wrap [class*=" icon-"]:before,
.amform-form [class^="icon-"]:before,
.amform-form [class*=" icon-"]:before {
    font-family: "form-builder-font";
    font-style: normal;
    font-weight: normal;
    speak: none;
    display: inline-block;
    text-decoration: inherit;
    width: 1em;
    margin-right: .2em;
    text-align: center;
    /* opacity: .8; */
    /* For safety - reset parent styles, that can break glyph codes*/
    font-variant: normal;
    text-transform: none;
    /* fix buttons height, for twitter bootstrap */
    line-height: 1em;
    /* Animation center compensation - margins should be symmetric */
    /* remove if not needed */
    margin-left: .2em;
    /* you can be more comfortable with increased icons size */
    /* font-size: 120%; */
    /* Font smoothing. That was taken from TWBS */
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    /* Uncomment for 3D effect */
    /* text-shadow: 1px 1px 1px rgba(127, 127, 127, 0.3); */
}

.icon-autocomplete:before {
    content: '\e800';
}

/* '' */
.icon-calendar:before {
    content: '\e801';
}

/* '' */
.icon-checkbox:before {
    content: '\e802';
}

/* '' */
.icon-checkbox-group:before {
    content: '\e803';
}

/* '' */
.icon-radio-group:before {
    content: '\e804';
}

/* '' */
.icon-rich-text:before {
    content: '\e805';
}

/* '' */
.icon-select:before {
    content: '\e806';
}

/* '' */
.icon-text-area:before {
    content: '\e807';
}

/* '' */
.icon-text-input:before {
    content: '\e808';
}

/* '' */
.icon-pencil:before {
    content: '\e809';
}

/* '' */
.icon-file-input:before {
    content: '\e80a';
}

/* '' */
.icon-hidden-input:before {
    content: '\e80b';
}

/* '' */
.icon-resize-vertical:before {
    content: '\e80c';
}

/* '' */
.icon-button-input:before {
    content: '\e80d';
}

/* '' */
.icon-attach:before {
    content: '\e80e';
}

/* '' */
.icon-header:before {
    content: '\e80f';
}

/* '' */
.icon-paragraph:before {
    content: '\e810';
}

/* '' */
.icon-number:before {
    content: '\e811';
}

/* '' */
/*
  Mixins
*/
/*
  Animations
*/
@-webkit-keyframes PLACEHOLDER {
    0% {
        height: 1px;
    }
    100% {
        height: 15px;
    }
}

@keyframes PLACEHOLDER {
    0% {
        height: 1px;
    }
    100% {
        height: 15px;
    }
}

.cb-wrap {
    float: right;
    width: 50%;
    -webkit-transition: -webkit-transform 250ms;
    transition: -webkit-transform 250ms;
    transition: transform 250ms;
    transition: transform 250ms, -webkit-transform 250ms;
    /* smartphones, Android phones, landscape iPhone */
}

.cb-wrap.pull-left .form-actions {
    float: left;
}

.cb-wrap h4 {
    margin-top: 0;
    color: #666;
}

.cb-wrap .save:hover {
    color: #08fe00;
}

@media (max-width: 481px) {
    .cb-wrap {
        width: 64px;
    }

    .cb-wrap h4 {
        display: none;
    }
}

.frmb-control.sort-enabled li.ui-state-highlight {
    box-shadow: none;
    height: 0;
    width: 100%;
    background: -webkit-radial-gradient(center ellipse, #545454 0%, transparent 75%);
    background: radial-gradient(ellipse at center, #545454 0%, transparent 75%);
    border: 0 none;
    -webkit-clip-path: polygon(50% 0%, 100% 50%, 50% 100%, 0% 50%);
    clip-path: polygon(50% 0%, 100% 50%, 50% 100%, 0% 50%);
    visibility: visible;
    overflow: hidden;
    margin: 1px 0 3px;
    -webkit-animation: PLACEHOLDER 250ms forwards;
    animation: PLACEHOLDER 250ms forwards;
}

.frmb-control li {
    cursor: move;
    list-style: none;
    box-shadow: 0 0 1px 0 inset;
    padding: 10px;
    text-align: left;
    background: #fff;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
    /* smartphones, Android phones, landscape iPhone */
}

.frmb-control li:hover {
    background-color: #f2f2f2;
}

.frmb-control li.ui-sortable-helper {
    border-radius: 5px;
    -webkit-transition: box-shadow 250ms;
    transition: box-shadow 250ms;
    box-shadow: 2px 2px 6px 0 #666;
    border: 1px solid #fff;
}

.frmb-control li.ui-state-highlight {
    width: 0;
    overflow: hidden;
    padding: 0;
    margin: 0;
    border: 0 none;
}

.frmb-control li.moving {
    opacity: 0.6;
}

.frmb-control li.fb-separator {
    background-color: transparent;
    box-shadow: none;
    padding: 0;
    cursor: default;
}

@media (max-width: 481px) {
    .frmb-control li:before {
        font-size: 30px;
    }

    .frmb-control li span {
        display: none;
    }
}

.frmb-control {
    margin: 0;
    padding: 0;
}

.fb-mobile .form-actions {
    width: 100%;
}

.fb-mobile .form-actions button {
    width: 100%;
    font-size: .85em !important;
    display: block !important;
    border-radius: 0 !important;
    margin-top: -1px;
    margin-left: 0 !important;
}

.fb-mobile .form-actions button:first-child {
    border-radius: 5px 5px 0 0 !important;
    margin-top: 0 !important;
    border-bottom: 0 none;
}

.fb-mobile .form-actions button:last-child {
    border-radius: 0 0 5px 5px !important;
}

.form-actions {
    float: right;
    margin-top: 5px;
    /* smartphones, Android phones, landscape iPhone */
}

.form-actions .clear-all:hover {
    color: #fff !important;
}

[id^='frmb-'][id$='-form-wrap'] {
    /*   ------------   TOOLTIP   ------------   */
}

[id^='frmb-'][id$='-form-wrap'] .empty .frmb {
    border: 3px dashed #ccc;
    margin-right: 5px;
    background-color: rgba(255, 255, 255, 0.25);
}

[id^='frmb-'][id$='-form-wrap'] .stage-wrap {
    position: relative;
    float: left;
    width: 49%;
    margin-right: 1%;
    /* smartphones, Android phones, landscape iPhone */
}

[id^='frmb-'][id$='-form-wrap'] .stage-wrap.pull-right .frmb {
    margin: 0 0 0 6px;
}

@media (max-width: 481px) {
    [id^='frmb-'][id$='-form-wrap'] .stage-wrap {
        width: calc(100% - 64px);
    }
}

[id^='frmb-'][id$='-form-wrap'] .stage-wrap .action-links {
    width: calc(100% - 141px);
    display: none;
    float: right;
    overflow: hidden;
    text-align: right;
}

[id^='frmb-'][id$='-form-wrap'] .stage-wrap.empty:after {
    content: attr(data-content);
    position: absolute;
    text-align: center;
    top: 50%;
    left: 0;
    width: 100%;
    margin-top: -1em;
}

[id^='frmb-'][id$='-form-wrap'] .stage-wrap .action-links .active {
    font-weight: 700;
    color: #000;
}

.field-label-container {
    min-height: 20px;
}

li.editing .field-label-container {
    background-color: #41475d;
    min-height: 40px;
    color: white;
    padding: 10px 15px;
    font-weight: bold;
    border-top-right-radius: 5px;
    border-top-left-radius: 5px;
}

li.editing .field-actions {
    display: none !important;
}

[id^='frmb-'][id$='-form-wrap'] .frmb {
    list-style-type: none;
    min-height: 200px;
    margin: 0 6px 0 0;
    padding: 0;
    -webkit-transition: background-color 500ms ease-in-out;
    transition: background-color 500ms ease-in-out;
}

[id^='frmb-'][id$='-form-wrap'] .frmb.removing {
    overflow: hidden;
}

[id^='frmb-'][id$='-form-wrap'] .frmb li {
    position: relative;
    padding: 0;
    min-height: 33px;
    clear: both;
    margin-left: 0;
    margin-bottom: 3px;
    background-color: #fff;
    -webkit-transition: background-color 250ms ease-in-out, margin-top 400ms;
    transition: background-color 250ms ease-in-out, margin-top 400ms;
}

[id^='frmb-'][id$='-form-wrap'] .frmb li:hover .field-actions {
    opacity: 1;
}

[id^='frmb-'][id$='-form-wrap'] .frmb li.hidden-field {
    background-color: rgba(255, 255, 255, 0.6);
}

[id^='frmb-'][id$='-form-wrap'] .frmb li:first-child {
    border-top-right-radius: 5px;
    border-top-left-radius: 5px;
}

[id^='frmb-'][id$='-form-wrap'] .frmb li:first-child .field-actions .btn:last-child {
    border-radius: 0 5px 0 0;
}

[id^='frmb-'][id$='-form-wrap'] .frmb li:last-child {
    border-bottom-right-radius: 5px;
    border-bottom-left-radius: 5px;
}

[id^='frmb-'][id$='-form-wrap'] .frmb li:hover {
    border-color: #66afe9;
    outline: 0;
    box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 8px rgba(102, 175, 233, 0.6);
}

[id^='frmb-'][id$='-form-wrap'] .frmb li:hover li :hover {
    background-color: #fefefe;
}

[id^='frmb-'][id$='-form-wrap'] .frmb li.no-fields label {
    font-weight: 400;
}

@keyframes PLACEHOLDER {
    0% {
        height: 0;
    }
    100% {
        height: 15px;
    }
}

[id^='frmb-'][id$='-form-wrap'] .frmb li.frmb-placeholder, [id^='frmb-'][id$='-form-wrap'] .frmb li.ui-state-highlight {
    height: 0;
    padding: 0;
    background: -webkit-radial-gradient(center ellipse, #545454 0%, transparent 75%);
    background: radial-gradient(ellipse at center, #545454 0%, transparent 75%);
    border: 0 none;
    -webkit-clip-path: polygon(50% 0%, 100% 50%, 50% 100%, 0% 50%);
    clip-path: polygon(50% 0%, 100% 50%, 50% 100%, 0% 50%);
    visibility: visible;
    overflow: hidden;
    margin-bottom: 3px;
    -webkit-animation: PLACEHOLDER 250ms forwards;
    animation: PLACEHOLDER 250ms forwards;
}

[id^='frmb-'][id$='-form-wrap'] .frmb li.moving, [id^='frmb-'][id$='-form-wrap'] .frmb li.ui-sortable-helper {
    -webkit-transition: box-shadow 500ms ease-in-out;
    transition: box-shadow 500ms ease-in-out;
    box-shadow: 2px 2px 6px 0 #666;
    border: 1px solid #fff;
    border-radius: 5px;
}

[id^='frmb-'][id$='-form-wrap'] .frmb li.disabled {
    z-index: 1;
}

[id^='frmb-'][id$='-form-wrap'] .frmb li.disabled [type=checkbox] {
    float: left;
    margin-right: 10px;
}

[id^='frmb-'][id$='-form-wrap'] .frmb li.disabled h2 {
    border-bottom: 0 none;
}

[id^='frmb-'][id$='-form-wrap'] .frmb li.disabled label {
    font-size: 12px;
    font-weight: 400;
    color: #666;
}

[id^='frmb-'][id$='-form-wrap'] .frmb li.disabled .prev-holder {
    cursor: default;
    line-height: 28px;
    padding-left: 5px;
}

.frmb li .top-close-field{
    display: none;
}

.frmb li.editing .top-close-field{
    color: white;
    border: 1px solid white;
    position: absolute;
    top: 10px;
    right: 10px;
    display: inline-block;
    width: 20px;
    padding: 0 5px 2px;
    cursor: pointer;
    border-radius: 1px;
}

[id^='frmb-'][id$='-form-wrap'] .frmb li .form-elements .close-field {
    position: absolute;
    padding: 5px 20px;
    background-color: #1f8295;
    color: white;
    font-size: larger;
    left: 50%;
    bottom: 12px;
    border-top: 1px solid #d7d7d7;
    border-left: 1px solid #d7d7d7;
    border-right: 1px solid #D7D7D7;
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
    border-top-right-radius: 3px;
    border-top-left-radius: 3px;
    cursor: pointer;
    -webkit-transition: background-color 250ms ease-in-out;
    transition: background-color 250ms ease-in-out;
    -webkit-border-radius: 3;
    -moz-border-radius: 3;
    border-radius: 3px;
}

[id^='frmb-'][id$='-form-wrap'] .frmb li .form-elements .close-field:hover {
    background: #2a9cb0;
    text-decoration: none;
}

[id^='frmb-'][id$='-form-wrap'] .frmb li .close-field:hover {
    text-decoration: none;
}

[id^='frmb-'][id$='-form-wrap'] .frmb li.button-field h1,
[id^='frmb-'][id$='-form-wrap'] .frmb li.button-field h2,
[id^='frmb-'][id$='-form-wrap'] .frmb li.button-field h3,
[id^='frmb-'][id$='-form-wrap'] .frmb li.button-field p,
[id^='frmb-'][id$='-form-wrap'] .frmb li.button-field canvas,
[id^='frmb-'][id$='-form-wrap'] .frmb li.button-field output,
[id^='frmb-'][id$='-form-wrap'] .frmb li.button-field address,
[id^='frmb-'][id$='-form-wrap'] .frmb li.button-field blockquote,
[id^='frmb-'][id$='-form-wrap'] .frmb li.button-field .prev-holder, [id^='frmb-'][id$='-form-wrap'] .frmb li.header-field h1,
[id^='frmb-'][id$='-form-wrap'] .frmb li.header-field h2,
[id^='frmb-'][id$='-form-wrap'] .frmb li.header-field h3,
[id^='frmb-'][id$='-form-wrap'] .frmb li.header-field p,
[id^='frmb-'][id$='-form-wrap'] .frmb li.header-field canvas,
[id^='frmb-'][id$='-form-wrap'] .frmb li.header-field output,
[id^='frmb-'][id$='-form-wrap'] .frmb li.header-field address,
[id^='frmb-'][id$='-form-wrap'] .frmb li.header-field blockquote,
[id^='frmb-'][id$='-form-wrap'] .frmb li.header-field .prev-holder, [id^='frmb-'][id$='-form-wrap'] .frmb li.paragraph-field h1,
[id^='frmb-'][id$='-form-wrap'] .frmb li.paragraph-field h2,
[id^='frmb-'][id$='-form-wrap'] .frmb li.paragraph-field h3,
[id^='frmb-'][id$='-form-wrap'] .frmb li.paragraph-field p,
[id^='frmb-'][id$='-form-wrap'] .frmb li.paragraph-field canvas,
[id^='frmb-'][id$='-form-wrap'] .frmb li.paragraph-field output,
[id^='frmb-'][id$='-form-wrap'] .frmb li.paragraph-field address,
[id^='frmb-'][id$='-form-wrap'] .frmb li.paragraph-field blockquote,
[id^='frmb-'][id$='-form-wrap'] .frmb li.paragraph-field .prev-holder {
    margin: 0;
}

[id^='frmb-'][id$='-form-wrap'] .frmb li.button-field .field-label, [id^='frmb-'][id$='-form-wrap'] .frmb li.header-field .field-label, [id^='frmb-'][id$='-form-wrap'] .frmb li.paragraph-field .field-label {
    display: none;
}

[id^='frmb-'][id$='-form-wrap'] .frmb li.button-field.editing .field-label, [id^='frmb-'][id$='-form-wrap'] .frmb li.header-field.editing .field-label, [id^='frmb-'][id$='-form-wrap'] .frmb li.paragraph-field.editing .field-label {
    display: block;
}

[id^='frmb-'][id$='-form-wrap'] .frmb li.paragraph-field .fld-label {
    min-height: 150px;
}

[id^='frmb-'][id$='-form-wrap'] .frmb li.deleting,
[id^='frmb-'][id$='-form-wrap'] .frmb li.delete:hover,
[id^='frmb-'][id$='-form-wrap'] .frmb li:hover li.delete:hover {
    background-color: #fdd;
}

[id^='frmb-'][id$='-form-wrap'] .frmb li.deleting .close-field,
[id^='frmb-'][id$='-form-wrap'] .frmb li.delete:hover .close-field,
[id^='frmb-'][id$='-form-wrap'] .frmb li:hover li.delete:hover .close-field {
    background-color: #fdd;
}

[id^='frmb-'][id$='-form-wrap'] .frmb li.deleting {
    z-index: 20;
    pointer-events: none;
}

[id^='frmb-'][id$='-form-wrap'] .frmb.disabled {
    padding: 0 5px;
}

[id^='frmb-'][id$='-form-wrap'] .frmb.disabled :hover {
    border-color: transparent;
}

[id^='frmb-'][id$='-form-wrap'] .frmb.disabled .form-element {
    float: none;
    margin-bottom: 10px;
    overflow: visible;
    padding: 5px 0;
    position: relative;
}

[id^='frmb-'][id$='-form-wrap'] .frmb .frm-holder {
    display: none;
    position: relative;
    top: -12px;
}

[id^='frmb-'][id$='-form-wrap'] .frmb .tooltip {
    left: 20px;
}

[id^='frmb-'][id$='-form-wrap'] .frmb .prev-holder {
    display: block;
    margin-top: 12px;
}

[id^='frmb-'][id$='-form-wrap'] .frmb .prev-holder .form-group > label{
    display: none;
}

[id^='frmb-'][id$='-form-wrap'] .frmb .prev-holder input[type='color'] {
    width: 60px;
    padding: 2px;
    display: inline-block;
}

[id^='frmb-'][id$='-form-wrap'] .frmb .prev-holder input[type='date'] {
    width: auto;
}

[id^='frmb-'][id$='-form-wrap'] .frmb .prev-holder select[multiple] {
    height: auto;
    overflow: auto;
}

[id^='frmb-'][id$='-form-wrap'] .frmb .prev-holder label {
    font-weight: normal;
}

[id^='frmb-'][id$='-form-wrap'] .frmb .prev-holder input[type='number'] {
    width: auto;
}

[id^='frmb-'][id$='-form-wrap'] .frmb .prev-holder input[type='checkbox'],
[id^='frmb-'][id$='-form-wrap'] .frmb .prev-holder input[type='radio'] {
    margin-right: 5px;
}

[id^='frmb-'][id$='-form-wrap'] .frmb .prev-holder input[type='color'] {
    width: 60px;
    padding: 2px;
    display: inline-block;
}

[id^='frmb-'][id$='-form-wrap'] .frmb .required-asterisk {
    display: none;
}

[id^='frmb-'][id$='-form-wrap'] .frmb .legend {
    color: #666;
    margin-bottom: 5px;
}

[id^='frmb-'][id$='-form-wrap'] .frmb .disabled .field-label {
    display: block;
}

[id^='frmb-'][id$='-form-wrap'] .frmb .field-actions {
    position: absolute;
    top: 0;
    right: 0;
    opacity: 0;
}

[id^='frmb-'][id$='-form-wrap'] .frmb .field-actions a:hover {
    text-decoration: none;
    color: #000;
}

[id^='frmb-'][id$='-form-wrap'] .frmb .field-actions .btn {
    display: inline-block;
    width: 32px;
    height: 32px;
    padding: 0;
    border-radius: 0;
    border-color: #b3b3b3;
    background-color: rgba(255, 255, 255, 0.75);
    color: #b3b3b3;
    line-height: 32px;
    font-size: 16px;
    border-width: 0 0 1px 1px;
}

[id^='frmb-'][id$='-form-wrap'] .frmb .field-actions .btn:first-child {
    border-bottom-left-radius: 5px;
}

[id^='frmb-'][id$='-form-wrap'] .frmb .field-actions .toggle-form {
    font-size: .85em;
}

[id^='frmb-'][id$='-form-wrap'] .frmb .field-actions .toggle-form:hover {
    background-color: #65aac6;
    color: #fff;
}

[id^='frmb-'][id$='-form-wrap'] .frmb .field-actions .copy-button:hover {
    background-color: #6fc665;
    color: #fff;
}

[id^='frmb-'][id$='-form-wrap'] .frmb .field-actions .del-button:hover {
    background-color: #c66865;
    color: #fff;
}

[id^='frmb-'][id$='-form-wrap'] .frmb .option-actions {
    text-align: left;
    margin-top: 10px;
    width: 99%;
    margin-left: 11px;
}

[id^='frmb-'][id$='-form-wrap'] .frmb .option-actions button,
[id^='frmb-'][id$='-form-wrap'] .frmb .option-actions a {
    background: #fff;
    padding: 5px 10px;
    border: 1px solid #b3b3b3;
    font-size: 14px;
    border-radius: 5px;
    cursor: pointer;
    color: black;
}

[id^='frmb-'][id$='-form-wrap'] .frmb .option-actions button:hover,
[id^='frmb-'][id$='-form-wrap'] .frmb .option-actions a:hover {
    background: #f1f1f1;
}

[id^='frmb-'][id$='-form-wrap'] .frmb .option-actions a:hover {
    text-decoration: none;
}

[id^='frmb-'][id$='-form-wrap'] .frmb .sortable-options-wrap {
    width: 74%;
    display: inline-block;
    /* smartphones, Android phones, landscape iPhone */
}

[id^='frmb-'][id$='-form-wrap'] .frmb .sortable-options-wrap label {
    font-weight: normal;
}

@media (max-width: 481px) {
    [id^='frmb-'][id$='-form-wrap'] .frmb .sortable-options-wrap {
        display: block;
        width: 100%;
    }
}

[id^='frmb-'][id$='-form-wrap'] .frmb ol.sortable-options {
    display: inline-block;
    width: 99%;
    max-height: 500px;
    overflow-y: auto;
    margin-left: 11px;
    background: #b3b3b3;
    margin-bottom: 0;
    border-radius: 5px;
    list-style: none;
    padding: 0;
}

[id^='frmb-'][id$='-form-wrap'] .frmb ol.sortable-options li:not(.touch-disabled) {
    cursor: move;
    margin: 1px;
}

.touch-disabled {
    cursor: default;
}

[id^='frmb-'][id$='-form-wrap'] .frmb ol.sortable-options li:nth-child(1) .remove {
    display: none;
}

[id^='frmb-'][id$='-form-wrap'] .frmb ol.sortable-options li.dependent-field .remove {
    display: block;
}

[id^='frmb-'][id$='-form-wrap'] .frmb ol.sortable-options li .remove {
    position: absolute;
    opacity: 1;
    right: 7px;
    height: 17px;
    width: 17px;
    line-height: 17px;
    text-align: center;
    top: 8px;
    font-size: 18px;
    padding: 0;
    color: #C10000;
}

[id^='frmb-'][id$='-form-wrap'] .frmb ol.sortable-options li .remove:hover {
    background-color: #C10000;
    text-decoration: none;
    color: #fff;
}

[id^='frmb-'][id$='-form-wrap'] .frmb ol.sortable-options input[type=checkbox],
[id^='frmb-'][id$='-form-wrap'] .frmb ol.sortable-options input[type=radio] {
    margin: 0 0 3px 3px;
    width: 5%;
}

[id^='frmb-'][id$='-form-wrap'] .frmb ol.sortable-options input[type='text'] {
    width: calc(44.5% - 17px);
    margin: 0 1%;
    float: none;
}

[id^='frmb-'][id$='-form-wrap'] .frmb .form-field .form-group {
    width: 100%;
    clear: left;
    float: none;
}

[id^='frmb-'][id$='-form-wrap'] .frmb .form-elements .field-options .add-area .add {
    clear: both;
}

[id^='frmb-'][id$='-form-wrap'] .frmb .col-md-6 .form-elements,
[id^='frmb-'][id$='-form-wrap'] .frmb .col-md-8 .form-elements {
    width: 100%;
}

[id^='frmb-'][id$='-form-wrap'] .frmb .field-options .add-area .add {
    clear: both;
}

[id^='frmb-'][id$='-form-wrap'] .frmb .form-elements {
    padding: 10px 10px 40px;
    background: #f7f7f7;
    border-radius: 3px;
    margin: 12px 0 0;
    border: 1px solid #d7d7d7;
    /* smartphones, Android phones, landscape iPhone */
}

[id^='frmb-'][id$='-form-wrap'] .frmb .form-elements .input-wrap {
    width: 73%;
    margin-left: 2%;
    float: left;
}

[id^='frmb-'][id$='-form-wrap'] .frmb .form-elements .input-wrap > input[type=checkbox] {
    margin-top: 8px;
}

[id^='frmb-'][id$='-form-wrap'] .frmb .form-elements .btn-group {
    margin-left: 2%;
}

[id^='frmb-'][id$='-form-wrap'] .frmb .form-elements input[type='text'],
[id^='frmb-'][id$='-form-wrap'] .frmb .form-elements input[type='number'],
[id^='frmb-'][id$='-form-wrap'] .frmb .form-elements input[type='date'],
[id^='frmb-'][id$='-form-wrap'] .frmb .form-elements input[type='color'],
[id^='frmb-'][id$='-form-wrap'] .frmb .form-elements textarea,
[id^='frmb-'][id$='-form-wrap'] .frmb .form-elements select {
    -webkit-transition: background 250ms ease-in-out;
    transition: background 250ms ease-in-out;
    padding: 6px 12px;
    border: 1px solid #AFAFAB;
    background-color: #fff;
}

@media (max-width: 481px) {
    [id^='frmb-'][id$='-form-wrap'] .frmb .form-elements .input-wrap {
        width: 100%;
        margin-left: 0;
        float: none;
    }
}

[id^='frmb-'][id$='-form-wrap'] .frmb .form-elements input[type='number'] {
    width: auto;
}

[id^='frmb-'][id$='-form-wrap'] .frmb .form-elements .btn-group {
    margin-left: 2%;
}

.col-md-6 [id^='frmb-'][id$='-form-wrap'] .frmb .form-elements .false-label,
.col-md-8 [id^='frmb-'][id$='-form-wrap'] .frmb .form-elements .false-label, .col-md-6
[id^='frmb-'][id$='-form-wrap'] .frmb .form-elements label,
.col-md-8
[id^='frmb-'][id$='-form-wrap'] .frmb .form-elements label {
    display: block;
}

[id^='frmb-'][id$='-form-wrap'] .frmb .form-elements .false-label:first-child,
[id^='frmb-'][id$='-form-wrap'] .frmb .form-elements label:first-child {
    width: 25%;
    padding-top: 7px;
    margin-bottom: 0;
    text-align: right;
    font-weight: 700;
    float: left;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    text-transform: capitalize;
    /* smartphones, Android phones, landscape iPhone */
}

@media (max-width: 481px) {
    [id^='frmb-'][id$='-form-wrap'] .frmb .form-elements .false-label:first-child,
    [id^='frmb-'][id$='-form-wrap'] .frmb .form-elements label:first-child {
        display: block;
        width: auto;
        float: none;
        text-align: left;
    }

    [id^='frmb-'][id$='-form-wrap'] .frmb .form-elements .false-label:first-child.empty-label,
    [id^='frmb-'][id$='-form-wrap'] .frmb .form-elements label:first-child.empty-label {
        display: none;
    }
}

[id^='frmb-'][id$='-form-wrap'] .frmb .form-elements .false-label.multiple, [id^='frmb-'][id$='-form-wrap'] .frmb .form-elements .false-label.required-label, [id^='frmb-'][id$='-form-wrap'] .frmb .form-elements .false-label.toggle-label, [id^='frmb-'][id$='-form-wrap'] .frmb .form-elements .false-label.roles-label, [id^='frmb-'][id$='-form-wrap'] .frmb .form-elements .false-label.other-label,
[id^='frmb-'][id$='-form-wrap'] .frmb .form-elements label.multiple,
[id^='frmb-'][id$='-form-wrap'] .frmb .form-elements label.required-label,
[id^='frmb-'][id$='-form-wrap'] .frmb .form-elements label.toggle-label,
[id^='frmb-'][id$='-form-wrap'] .frmb .form-elements label.roles-label,
[id^='frmb-'][id$='-form-wrap'] .frmb .form-elements label.other-label {
    text-align: left;
    float: none;
    margin-bottom: -3px;
    font-weight: 400;
    width: calc(81.3333% - 23px);
}

[id^='frmb-'][id$='-form-wrap'].fb-mobile .field-actions {
    opacity: 1;
}

[id^='frmb-'][id$='-form-wrap'] *[tooltip] {
    position: relative;
}

[id^='frmb-'][id$='-form-wrap'] *[tooltip]:hover:after {
    background: #262626;
    background: rgba(0, 0, 0, 0.9);
    border-radius: 5px 5px 5px 0;
    bottom: 23px;
    color: #fff;
    content: attr(tooltip);
    padding: 10px 5px;
    position: absolute;
    z-index: 98;
    left: 2px;
    width: 230px;
    text-shadow: none;
    font-size: 12px;
    line-height: 1.5em;
    cursor: default;
}

[id^='frmb-'][id$='-form-wrap'] *[tooltip]:hover:before {
    border: solid;
    border-color: #222 transparent;
    border-width: 6px 6px 0 6px;
    bottom: 17px;
    content: '';
    left: 2px;
    position: absolute;
    z-index: 99;
    cursor: default;
}

[id^='frmb-'][id$='-form-wrap'] .tooltip-element {
    display: inline;
    visibility: visible;
    color: #fff;
    background: #000;
    width: 16px;
    height: 16px;
    border-radius: 8px;
    display: inline-block;
    text-align: center;
    line-height: 16px;
    margin: 0 5px;
    font-size: 12px;
    cursor: default;
}

.kc-toggle {
    position: relative;
    margin: 4px 0 0 2px;
    width: 60px;
    height: 21px;
    border-radius: 3px;
    cursor: pointer;
    overflow: hidden;
    display: inline-block;
    background: #e9e9e9;
    border: 1px solid #cbcbcb;
    vertical-align: bottom;
    -webkit-touch-callout: none;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
}

.kc-toggle .kct-inner {
    position: absolute;
    top: 0;
    left: -28px;
    width: 115px;
    height: 100%;
    -webkit-transition: left 150ms ease;
    transition: left 150ms ease;
}

.kc-toggle.on .kct-inner {
    background: #e2e2e2;
    background: -webkit-linear-gradient(top, #e2e2e2 0%, #ffffff 100%);
    background: linear-gradient(to bottom, #e2e2e2 0%, #ffffff 100%);
    left: 0;
}

.kc-toggle input {
    display: none;
    position: absolute;
    z-index: -1;
    opacity: 0;
    margin: 0;
    padding: 0;
    width: 100%;
    height: 100%;
}

.kc-toggle .kct-on {
    color: #0e880e;
}

.kct-off {
    color: #666;
}

.kct-on, .kct-off, .kct-handle {
    width: 28px;
    height: 100%;
    font-family: Arial, Tahoma, sans-serif;
    font-size: 12px;
    text-align: center;
    line-height: 22px;
    font-weight: bold;
    float: left;
}

.kct-on, .kct-off {
    position: relative;
}

.kct-handle {
    position: relative;
    height: 17px;
    background: #ffffff;
    background: -webkit-linear-gradient(top, #ffffff 0%, #cecece 100%);
    background: linear-gradient(to bottom, #ffffff 0%, #cecece 100%);
    border: 1px solid #999;
    font-weight: 100;
    color: #4b4b4b;
    text-shadow: none;
    border-radius: 3px;
    margin: 1px;
}

[id^='frmb-'][id$='-form-wrap'] * {
    box-sizing: border-box;
}

[id^='frmb-'][id$='-form-wrap'] button,
[id^='frmb-'][id$='-form-wrap'] input,
[id^='frmb-'][id$='-form-wrap'] select,
[id^='frmb-'][id$='-form-wrap'] textarea {
    font-family: inherit;
    font-size: inherit;
    line-height: inherit;
}

[id^='frmb-'][id$='-form-wrap'] input {
    line-height: normal;
}

[id^='frmb-'][id$='-form-wrap'] button,
[id^='frmb-'][id$='-form-wrap'] input,
[id^='frmb-'][id$='-form-wrap'] optgroup,
[id^='frmb-'][id$='-form-wrap'] select,
[id^='frmb-'][id$='-form-wrap'] textarea {
    margin: 0;
    font: inherit;
    color: inherit;
}

[id^='frmb-'][id$='-form-wrap'] textarea {
    overflow: auto;
}

[id^='frmb-'][id$='-form-wrap'] button,
[id^='frmb-'][id$='-form-wrap'] input,
[id^='frmb-'][id$='-form-wrap'] select,
[id^='frmb-'][id$='-form-wrap'] textarea {
    font-family: inherit;
    font-size: inherit;
    line-height: inherit;
}

[id^='frmb-'][id$='-form-wrap'] textarea {

    width: 400px;
}

[id^='frmb-'][id$='-form-wrap'] .btn-group {
    position: relative;
    display: inline-block;
    vertical-align: middle;
}

[id^='frmb-'][id$='-form-wrap'] .btn-group > .btn {
    position: relative;
    float: left;
}

[id^='frmb-'][id$='-form-wrap'] .btn-group > .btn:first-child:not(:last-child):not(.dropdown-toggle) {
    border-top-right-radius: 0;
    border-bottom-right-radius: 0;
}

[id^='frmb-'][id$='-form-wrap'] .btn-group > .btn:not(:first-child):not(:last-child):not(.dropdown-toggle) {
    border-radius: 0;
}

[id^='frmb-'][id$='-form-wrap'] .btn-group .btn + .btn,
[id^='frmb-'][id$='-form-wrap'] .btn-group .btn + .btn-group,
[id^='frmb-'][id$='-form-wrap'] .btn-group .btn-group + .btn,
[id^='frmb-'][id$='-form-wrap'] .btn-group .btn-group + .btn-group {
    margin-left: -1px;
}

[id^='frmb-'][id$='-form-wrap'] .btn-group > .btn:last-child:not(:first-child),
[id^='frmb-'][id$='-form-wrap'] .btn-group > .dropdown-toggle:not(:first-child),
[id^='frmb-'][id$='-form-wrap'] .btn-group .input-group .form-control:last-child,
[id^='frmb-'][id$='-form-wrap'] .btn-group .input-group-addon:last-child,
[id^='frmb-'][id$='-form-wrap'] .btn-group .input-group-btn:first-child > .btn-group:not(:first-child) > .btn,
[id^='frmb-'][id$='-form-wrap'] .btn-group .input-group-btn:first-child > .btn:not(:first-child),
[id^='frmb-'][id$='-form-wrap'] .btn-group .input-group-btn:last-child > .btn,
[id^='frmb-'][id$='-form-wrap'] .btn-group .input-group-btn:last-child > .btn-group > .btn, [id^='frmb-'][id$='-form-wrap'] .btn-group .input-group-btn:last-child > .dropdown-toggle {
    border-top-left-radius: 0;
    border-bottom-left-radius: 0;
}

[id^='frmb-'][id$='-form-wrap'] .btn-group > .btn.active,
[id^='frmb-'][id$='-form-wrap'] .btn-group > .btn:active,
[id^='frmb-'][id$='-form-wrap'] .btn-group > .btn:focus,
[id^='frmb-'][id$='-form-wrap'] .btn-group > .btn:hover {
    z-index: 2;
}

[id^='frmb-'][id$='-form-wrap'] .btn {
    color: #fff;
    display: inline-block;
    padding: 6px 12px;
    margin-bottom: 0;
    font-size: 14px;
    font-weight: 400;
    line-height: 1.42857143;
    text-align: center;
    white-space: nowrap;
    vertical-align: middle;
    -ms-touch-action: manipulation;
    touch-action: manipulation;
    cursor: pointer;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
    background-image: none;
    border: 1px solid transparent;
    border-radius: 4px;
}

[id^='frmb-'][id$='-form-wrap'] .btn.btn-default {
    color: #333;
    background-color: #fff;
    border-color: #ccc;
}

[id^='frmb-'][id$='-form-wrap'] .btn.btn-lg {
    padding: 10px 16px;
    font-size: 18px;
    line-height: 1.3333333;
    border-radius: 6px;
}

[id^='frmb-'][id$='-form-wrap'] .btn.btn-sm {
    padding: 5px 10px;
    font-size: 12px;
    line-height: 1.5;
    border-radius: 3px;
}

[id^='frmb-'][id$='-form-wrap'] .btn.btn-xs {
    padding: 1px 5px;
    font-size: 12px;
    line-height: 1.5;
    border-radius: 3px;
}

[id^='frmb-'][id$='-form-wrap'] .btn.active, [id^='frmb-'][id$='-form-wrap'] .btn.btn-active, [id^='frmb-'][id$='-form-wrap'] .btn:active {
    background-image: none;
}

[id^='frmb-'][id$='-form-wrap'] .btn-primary {
    background-color: #337ab7;
    border-color: #2e6da4;
}

[id^='frmb-'][id$='-form-wrap'] .btn-primary:hover, [id^='frmb-'][id$='-form-wrap'] .btn-primary:active, [id^='frmb-'][id$='-form-wrap'] .btn-primary.active, [id^='frmb-'][id$='-form-wrap'] .btn-primary.btn-active {
    background-color: #286090;
    border-color: #204d74;
}

[id^='frmb-'][id$='-form-wrap'] .btn-danger {
    background-color: #d9534f;
    border-color: #d43f3a;
}

[id^='frmb-'][id$='-form-wrap'] .btn-danger:hover, [id^='frmb-'][id$='-form-wrap'] .form-actions .clear-all:hover, .form-actions [id^='frmb-'][id$='-form-wrap'] .clear-all:hover {
    background-color: #c9302c;
    border-color: #ac2925;
}

[id^='frmb-'][id$='-form-wrap'] .btn-default {
    background-color: #fff;
    border-color: #ccc;
}

[id^='frmb-'][id$='-form-wrap'] .btn-success {
    background-color: #5cb85c;
    border-color: #4cae4c;
}

[id^='frmb-'][id$='-form-wrap'] .btn-success:hover {
    background-color: #449d44;
    border-color: #398439;
}

[id^='frmb-'][id$='-form-wrap'] .btn-info {
    background-color: #5bc0de;
    border-color: #46b8da;
}

[id^='frmb-'][id$='-form-wrap'] .btn-info:hover {
    background-color: #31b0d5;
    border-color: #269abc;
}

[id^='frmb-'][id$='-form-wrap'] .btn-warning {
    background-color: #f0ad4e;
    border-color: #eea236;
}

[id^='frmb-'][id$='-form-wrap'] .btn-warning:hover {
    background-color: #ec971f;
    border-color: #d58512;
}

[id^='frmb-'][id$='-form-wrap'] .input-group .form-control:last-child,
[id^='frmb-'][id$='-form-wrap'] .input-group-addon:last-child,
[id^='frmb-'][id$='-form-wrap'] .input-group-btn:first-child > .btn-group:not(:first-child) > .btn,
[id^='frmb-'][id$='-form-wrap'] .input-group-btn:first-child > .btn:not(:first-child),
[id^='frmb-'][id$='-form-wrap'] .input-group-btn:last-child > .btn,
[id^='frmb-'][id$='-form-wrap'] .input-group-btn:last-child > .btn-group > .btn,
[id^='frmb-'][id$='-form-wrap'] .input-group-btn:last-child > .dropdown-toggle {
    border-top-left-radius: 0;
    border-bottom-left-radius: 0;
}

[id^='frmb-'][id$='-form-wrap'] .input-group .form-control,
[id^='frmb-'][id$='-form-wrap'] .input-group-addon,
[id^='frmb-'][id$='-form-wrap'] .input-group-btn {
    display: table-cell;
}

[id^='frmb-'][id$='-form-wrap'] .input-group-lg > .form-control,
[id^='frmb-'][id$='-form-wrap'] .input-group-lg > .input-group-addon,
[id^='frmb-'][id$='-form-wrap'] .input-group-lg > .input-group-btn > .btn {
    height: 46px;
    padding: 10px 16px;
    font-size: 18px;
    line-height: 1.3333333;
    border-radius: 6px;
}

[id^='frmb-'][id$='-form-wrap'] .input-group .form-control {
    position: relative;
    z-index: 2;
    float: left;
    width: 100%;
    margin-bottom: 0;
}

[id^='frmb-'][id$='-form-wrap'] .input-group {
    position: relative;
    display: table;
    border-collapse: separate;
}

[id^='frmb-'][id$='-form-wrap'] .form-control,
[id^='frmb-'][id$='-form-wrap'] output {
    font-size: 14px;
    line-height: 1.42857143;
    color: #555;
    display: block;
}

[id^='frmb-'][id$='-form-wrap'] textarea.form-control {
    height: auto;
}

[id^='frmb-'][id$='-form-wrap'] .form-control {
    min-height: 34px;
    display: inline-block;
    width: 100%;
    padding: 6px 12px;
    font-size: 14px;
    line-height: 1.42857143;
    color: #555;
    background-color: #fff;
    border: 1px solid #ccc;
    border-radius: 4px;
    box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
    -webkit-transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s;
    transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s;
}

[id^='frmb-'][id$='-form-wrap'] li.dependent-field .form-control {
    display: inline-block;
    width: 50%;
}

[id^='frmb-'][id$='-form-wrap'] .form-control:focus {
    border-color: #66afe9;
    outline: 0;
    box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 8px rgba(102, 175, 233, 0.6);
}

[id^='frmb-'][id$='-form-wrap'] .form-group {
    margin-bottom: 15px;
}

[id^='frmb-'][id$='-form-wrap'] .btn,
[id^='frmb-'][id$='-form-wrap'] .form-control:not(select) {
    background-image: none;
}

[id^='frmb-'][id$='-form-wrap'] .pull-right {
    float: right !important;
}

[id^='frmb-'][id$='-form-wrap'] .pull-left {
    float: left !important;
}

textarea.idea-template {
    display: none;
    width: 617px;
    color: #fefefe;
    font: 13px/19px courier;
    padding-left: 40px;
    height: 1055px;
}

.template-textarea-wrap {
    display: none;
}

.form-wrap {
    position: relative;
}

.form-wrap:after {
    content: '';
    display: table;
    clear: both;
}

.cb-wrap,
.stage-wrap {
    vertical-align: top;
}

.action-links .action-links-inner {
    overflow: hidden;
    width: 0;
    height: 20px;
    -webkit-transition: width 250ms;
    transition: width 250ms;
}

.action-links .dev-mode-link {
    -webkit-transition: color 250ms;
    transition: color 250ms;
    color: #666;
    cursor: pointer;
    padding-right: 2px;
}

.stage-wrap h4 {
    margin-top: 0;
    color: #666;
}

.action-links a.clear-all:hover,
.del-button:hover,
ul.frmb span.required {
    color: #C10000;
}

.action-links a {
    color: #666;
}

.form-elements input[type=text].error {
    border-radius: 0;
    border: 1px solid #C10000;
}

.form-elements input[type=text].fld-maxlength {
    width: 10%;
}

.form-elements input.field-error {
    background: #fefefe;
    border: 1px solid #afafab;
}

.form-elements label em {
    display: block;
    font-weight: 400;
    font-size: .75em;
}

.form-elements label.maxlength-label {
    line-height: 1em;
}

.form-group .available-roles {
    display: none;
    padding: 10px;
    margin: 10px 0;
    background: #e6e6e6;
    box-shadow: inset 0 0 2px 0 #999;
    /* smartphones, Android phones, landscape iPhone */
}

@media (max-width: 481px) {
    .form-group .available-roles {
        margin-left: 0;
    }
}

.form-elements .available-roles label {
    font-weight: 400;
    width: auto;
    float: none;
    display: inline;
}

.form-elements .available-roles input {
    display: inline;
    top: auto;
}

.form-elements,
.form-group,
.multi-row span,
textarea {
    display: block;
}

.form-elements:after,
.form-group:after {
    content: '.';
    display: block;
    height: 0;
    clear: both;
    visibility: hidden;
}

.form-elements .field-options div:hover,
.frmb .legend,
.frmb .field-label-container {
    cursor: move;
}

.frmb-tt {
    position: absolute;
    border: 1px solid #262626;
    background-color: #666;
    border-radius: 5px;
    padding: 5px;
    color: #fff;
    z-index: 20;
    text-align: left;
    font-size: 12px;
    pointer-events: none;
}

.frmb-tt:before {
    border-color: #262626 transparent;
    bottom: -11px;
}

.frmb-tt:before, .frmb-tt:after {
    content: '';
    position: absolute;
    border-style: solid;
    border-width: 10px 10px 0;
    border-color: #666 transparent;
    display: block;
    width: 0;
    z-index: 1;
    margin-left: -10px;
    bottom: -10px;
    left: 20px;
}

.frmb-tt a {
    text-decoration: underline;
    color: #fff;
}

.frmb li:hover .del-button,
.frmb li:hover .toggle-form,
.fb-mobile .frmb li .del-button,
.fb-mobile .frmb li .toggle-form {
    opacity: 1;
}

.fresh .frmb .legend .element-info {
    display: inline-block;
    visibility: visible;
    line-height: 12px;
    margin-left: 6px;
}

.frmb-xml pre.ui-dialog-content {
    white-space: pre-wrap;
    white-space: -moz-pre-wrap;
    white-space: -pre-wrap;
    white-space: -o-pre-wrap;
    word-wrap: break-word;
    font-size: 12px;
    padding: 0 30px;
    margin-top: 0;
}

.action-links a.export-xml:hover,
.toggle-form.closed:hover {
    color: #6fc245;
}

a.btn.toggle-form {
    margin-left: 5px;
    opacity: 0;
}

a.btn.toggle-form:hover {
    border-color: #cccccc;
}

a.btn.toggle-form:before {
    margin: 0;
}

.formb-field-vars .copy-var {
    display: inline-block;
    width: 24px;
    height: 24px;
    background: #999;
    text-indent: -9999px;
}

.ite-warning {
    box-shadow: 1px 1px 4px 0 rgba(50, 50, 50, 0.5);
    border-radius: 0;
    border: 1px solid #ddd;
}

.ite-warning .ui-dialog-buttonpane {
    height: 27px;
}

.ite-warning button {
    color: #4479B9;
    margin: 0;
}

.ite-warning button:focus {
    outline: 0;
    font-weight: 700;
}

.ite-warning button.cancel:before {
    content: '|';
    margin-right: 15px;
    padding: 0;
}

.ite-warning .ui-dialog-content {
    padding: 0 15px 10px;
}

.ite-warning .ui-dialog-titlebar-close {
    display: none;
}

.ite-warning .ui-widget-header {
    height: 15px;
}

.ite-warning {
    font-size: 12px;
    line-height: 1.5em;
}

.ite-warning h3 {
    color: #666;
    margin-bottom: 10px;
}

.ite-warning button {
    background: 0 0;
    padding: 2px 5px;
}

.required-asterisk {
    display: none;
    color: #C10000;
}

.ui-button .ui-button-text {
    line-height: 0;
}

.form-builder-overlay {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.5);
    display: none;
    z-index: 10;
}

.form-builder-overlay.visible {
    display: block;
}

.form-builder-dialog {
    position: absolute;
    border-radius: 5px;
    background: #fff;
    z-index: 20;
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    top: 0;
    left: 0;
    padding: 10px;
    box-shadow: 0 3px 10px #000;
}

.form-builder-dialog h3 {
    margin-top: 0;
}

.form-builder-dialog.data-dialog {
    width: 65%;
    background-color: #23241f;
}

.form-builder-dialog.data-dialog pre {
    background: none;
    border: 0 none;
    box-shadow: none;
    margin: 0;
    color: #f2f2f2;
}

.form-builder-dialog.positioned {
    -webkit-transform: translate(-50%, -100%);
    transform: translate(-50%, -100%);
}

.form-builder-dialog.positioned .button-wrap:before {
    content: '';
    width: 0;
    height: 0;
    border-left: 15px solid transparent;
    border-right: 15px solid transparent;
    border-top: 10px solid #fff;
    position: absolute;
    left: 50%;
    top: 100%;
    -webkit-transform: translate(-50%, 10px);
    transform: translate(-50%, 10px);
}

.form-builder-dialog .button-wrap {
    position: relative;
    margin-top: 10px;
    text-align: right;
    clear: both;
}

.form-builder-dialog .button-wrap .btn {
    margin-left: 10px;
}

.admin__scope-old li select:not([multiple]):focus {
    background-image: none;
}

[id^='frmb-'][id$='-form-wrap'] .frmb ol.sortable-options li.dependent-field {
    padding-right: 34px;
}

.amform-layout-two:not(.editing),
.amform-layout-three:not(.editing) {
    width: 100%;
}

.amelement-content .title {
    margin: 0;
}

.frmb .amform-layout-two:not(.editing),
.frmb .amform-layout-three:not(.editing) {
    display: inline-block;
    margin-right: 2%;
    vertical-align: top;
}

.frmb .field-label-container .field-label {
    font-weight: 600;
}
/*phpcs:ignoreFile*/
/*
formBuilder - https://formbuilder.online/
Version: 1.24.2
Author: Kevin Chappell <kevin.b.chappell@gmail.com>
*/
.kc-toggle {
  position: relative;
  margin: 4px 0 0 2px;
  width: 60px;
  height: 21px;
  border-radius: 3px;
  cursor: pointer;
  overflow: hidden;
  display: inline-block;
  background: #e9e9e9;
  border: 1px solid #cbcbcb;
  vertical-align: bottom;
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none; }
  .kc-toggle .kct-inner {
    position: absolute;
    top: 0;
    left: -28px;
    width: 115px;
    height: 100%;
    -webkit-transition: left 150ms ease;
    transition: left 150ms ease; }
  .kc-toggle.on .kct-inner {
    background: #e2e2e2;
    background: -webkit-linear-gradient(top, #e2e2e2 0%, #ffffff 100%);
    background: linear-gradient(to bottom, #e2e2e2 0%, #ffffff 100%);
    left: 0; }

.kc-toggle input {
  display: none;
  position: absolute;
  z-index: -1;
  opacity: 0;
  margin: 0;
  padding: 0;
  width: 100%;
  height: 100%; }

.kc-toggle
.kct-on {
  color: #0e880e;
}

.kct-off {
  color: #666; }

.kct-on, .kct-off, .kct-handle {
  width: 28px;
  height: 100%;
  font-family: Arial, Tahoma, sans-serif;
  font-size: 12px;
  text-align: center;
  line-height: 22px;
  font-weight: bold;
  float: left; }

.kct-on, .kct-off {
  position: relative; }

.kct-handle {
  position: relative;
  height: 17px;
  background: #ffffff;
  background: -webkit-linear-gradient(top, #ffffff 0%, #cecece 100%);
  background: linear-gradient(to bottom, #ffffff 0%, #cecece 100%);
  border: 1px solid #999;
  font-weight: 100;
  color: #4b4b4b;
  text-shadow: none;
  border-radius: 3px;
  margin: 1px; }

.rendered-form * {
  box-sizing: border-box; }

.rendered-form button,
.rendered-form input,
.rendered-form select,
.rendered-form textarea {
  font-family: inherit;
  font-size: inherit;
  line-height: inherit; }

.rendered-form input {
  line-height: normal; }

.rendered-form button,
.rendered-form input,
.rendered-form optgroup,
.rendered-form select,
.rendered-form textarea {
  margin: 0;
  font: inherit;
  color: inherit; }

.rendered-form textarea {
  overflow: auto; }

.rendered-form button,
.rendered-form input,
.rendered-form select,
.rendered-form textarea {
  font-family: inherit;
  font-size: inherit;
  line-height: inherit; }

.rendered-form .btn-group {
  position: relative;
  display: inline-block;
  vertical-align: middle; }
  .rendered-form .btn-group > .btn {
    position: relative;
    float: left; }
  .rendered-form .btn-group > .btn:first-child:not(:last-child):not(.dropdown-toggle) {
    border-top-right-radius: 0;
    border-bottom-right-radius: 0; }
  .rendered-form .btn-group > .btn:not(:first-child):not(:last-child):not(.dropdown-toggle) {
    border-radius: 0; }
  .rendered-form .btn-group .btn + .btn,
  .rendered-form .btn-group .btn + .btn-group,
  .rendered-form .btn-group .btn-group + .btn,
  .rendered-form .btn-group .btn-group + .btn-group {
    margin-left: -1px; }
  .rendered-form .btn-group > .btn:last-child:not(:first-child),
  .rendered-form .btn-group > .dropdown-toggle:not(:first-child),
  .rendered-form .btn-group .input-group .form-control:last-child,
  .rendered-form .btn-group .input-group-addon:last-child,
  .rendered-form .btn-group .input-group-btn:first-child > .btn-group:not(:first-child) > .btn,
  .rendered-form .btn-group .input-group-btn:first-child > .btn:not(:first-child),
  .rendered-form .btn-group .input-group-btn:last-child > .btn,
  .rendered-form .btn-group .input-group-btn:last-child > .btn-group > .btn, .rendered-form .btn-group .input-group-btn:last-child > .dropdown-toggle {
    border-top-left-radius: 0;
    border-bottom-left-radius: 0; }
  .rendered-form .btn-group > .btn.active,
  .rendered-form .btn-group > .btn:active,
  .rendered-form .btn-group > .btn:focus,
  .rendered-form .btn-group > .btn:hover {
    z-index: 2; }

.rendered-form .btn {
  color: #fff;
  display: inline-block;
  padding: 6px 12px;
  margin-bottom: 0;
  font-size: 14px;
  font-weight: 400;
  line-height: 1.42857143;
  text-align: center;
  white-space: nowrap;
  vertical-align: middle;
  -ms-touch-action: manipulation;
  touch-action: manipulation;
  cursor: pointer;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  background-image: none;
  border: 1px solid transparent;
  border-radius: 4px; }
  .rendered-form .btn.btn-default {
    color: #333;
    background-color: #fff;
    border-color: #ccc; }
  .rendered-form .btn.btn-lg {
    padding: 10px 16px;
    font-size: 18px;
    line-height: 1.3333333;
    border-radius: 6px; }
  .rendered-form .btn.btn-sm {
    padding: 5px 10px;
    font-size: 12px;
    line-height: 1.5;
    border-radius: 3px; }
  .rendered-form .btn.btn-xs {
    padding: 1px 5px;
    font-size: 12px;
    line-height: 1.5;
    border-radius: 3px; }
  .rendered-form .btn.active, .rendered-form .btn.btn-active, .rendered-form .btn:active {
    background-image: none; }

.rendered-form .btn-primary {
  background-color: #337ab7;
  border-color: #2e6da4; }
  .rendered-form .btn-primary:hover, .rendered-form .btn-primary:active, .rendered-form .btn-primary.active, .rendered-form .btn-primary.btn-active {
    background-color: #286090;
    border-color: #204d74; }

.rendered-form .btn-danger {
  background-color: #d9534f;
  border-color: #d43f3a; }
  .rendered-form .btn-danger:hover {
    background-color: #c9302c;
    border-color: #ac2925; }

.rendered-form .btn-default {
  background-color: #fff;
  border-color: #ccc; }

.rendered-form .btn-success {
  background-color: #5cb85c;
  border-color: #4cae4c; }
  .rendered-form .btn-success:hover {
    background-color: #449d44;
    border-color: #398439; }

.rendered-form .btn-info {
  background-color: #5bc0de;
  border-color: #46b8da; }
  .rendered-form .btn-info:hover {
    background-color: #31b0d5;
    border-color: #269abc; }

.rendered-form .btn-warning {
  background-color: #f0ad4e;
  border-color: #eea236; }
  .rendered-form .btn-warning:hover {
    background-color: #ec971f;
    border-color: #d58512; }

.rendered-form .input-group .form-control:last-child,
.rendered-form .input-group-addon:last-child,
.rendered-form .input-group-btn:first-child > .btn-group:not(:first-child) > .btn,
.rendered-form .input-group-btn:first-child > .btn:not(:first-child),
.rendered-form .input-group-btn:last-child > .btn,
.rendered-form .input-group-btn:last-child > .btn-group > .btn,
.rendered-form .input-group-btn:last-child > .dropdown-toggle {
  border-top-left-radius: 0;
  border-bottom-left-radius: 0; }

.rendered-form .input-group .form-control,
.rendered-form .input-group-addon,
.rendered-form .input-group-btn {
  display: table-cell; }

.rendered-form .input-group-lg > .form-control,
.rendered-form .input-group-lg > .input-group-addon,
.rendered-form .input-group-lg > .input-group-btn > .btn {
  height: 46px;
  padding: 10px 16px;
  font-size: 18px;
  line-height: 1.3333333;
  border-radius: 6px; }

.rendered-form .input-group .form-control {
  position: relative;
  z-index: 2;
  float: left;
  width: 100%;
  margin-bottom: 0; }

.rendered-form .input-group {
  position: relative;
  display: table;
  border-collapse: separate; }

.rendered-form .form-control,
.rendered-form output {
  font-size: 14px;
  line-height: 1.42857143;
  color: #555;
  display: block;
}

.rendered-form textarea.form-control {
  height: auto; }

/*
.rendered-form .form-control {
  height: 34px;
  display: block;
  width: 100%;
  padding: 6px 12px;
  font-size: 14px;
  line-height: 1.42857143;
  color: #555;
  background-color: #fff;
  background-image: none;
  border: 1px solid #ccc;
  border-radius: 4px;
  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
  -webkit-transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s;
  transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s; }
  .rendered-form .form-control:focus {
    border-color: #66afe9;
    outline: 0;
    box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 8px rgba(102, 175, 233, 0.6); }*/

.rendered-form .fieldset .fields .field.form-group {
  margin-bottom: 15px;
}

.rendered-form .btn {
  background-image: none;
}

.rendered-form .pull-right {
  float: right !important;
}

.rendered-form .pull-left {
  float: left !important;
}

.form-group .required {
  color: #C10000;
}

.form-control.number {
  width: auto;
}

/*   ------------   TOOLTIP   ------------   */
*[tooltip] {
  position: relative;
}

*[tooltip]:hover:after {
  background: #262626;
  background: rgba(0, 0, 0, 0.9);
  border-radius: 5px 5px 5px 0;
  bottom: 23px;
  color: #fff;
  content: attr(tooltip);
  padding: 10px 5px;
  position: absolute;
  z-index: 98;
  left: 2px;
  width: 230px;
  text-shadow: none;
  font-size: 12px;
  line-height: 1.5em; }

*[tooltip]:hover:before {
  border: solid;
  border-color: #222 transparent;
  border-width: 6px 6px 0 6px;
  bottom: 17px;
  content: '';
  left: 2px;
  position: absolute;
  z-index: 99;
}

.tooltip-element {
  color: #fff;
  background: #000;
  width: 16px;
  height: 16px;
  border-radius: 8px;
  display: inline-block;
  text-align: center;
  line-height: 16px;
  margin: 0 5px;
  font-size: 12px;
}

.form-control[type='color'] {
  width: 60px;
  padding: 2px;
  display: inline-block;
}

.form-control[multiple] {
    height: auto;
    background: none;
}

.amform-form .am-customform-depend {
  display: none;
}

.amform-rating-container {
    display: inline-block;
    font-size: 1rem;
}

.amform-rating-container .amform-versiontwo-label {
    float: right;
    width: 30px;
    height: 30px;
    padding: 0;
    margin: 0;
    cursor: pointer;
    color: #ffb300;
    background: url('data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+CjwhRE9DVFlQRSBzdmcgUFVCTElDICItLy9XM0MvL0RURCBTVkcgMS4xLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL0dyYXBoaWNzL1NWRy8xLjEvRFREL3N2ZzExLmR0ZCI+CjxzdmcgdmVyc2lvbj0iMS4xIiBpZD0iTGF5ZXJfMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgeD0iMHB4IiB5PSIwcHgiIHdpZHRoPSIyMDBweCIgaGVpZ2h0PSIyMDBweCIgdmlld0JveD0iMCAwIDIwMCAyMDAiIGVuYWJsZS1iYWNrZ3JvdW5kPSJuZXcgMCAwIDIwMCAyMDAiIHhtbDpzcGFjZT0icHJlc2VydmUiPiAgPGltYWdlIGlkPSJpbWFnZTAiIHdpZHRoPSIyMDAiIGhlaWdodD0iMjAwIiB4PSIwIiB5PSIwIgogICAgeGxpbms6aHJlZj0iZGF0YTppbWFnZS9wbmc7YmFzZTY0LGlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUFNZ0FBQURJQ0FRQUFBQUhVV1lWQUFBQUJHZEJUVUVBQUxHUEMveGhCUUFBQUNCalNGSk4KQUFCNkpnQUFnSVFBQVBvQUFBQ0E2QUFBZFRBQUFPcGdBQUE2bUFBQUYzQ2N1bEU4QUFBQUFtSkxSMFFBLzRlUHpMOEFBQUFIZEVsTgpSUWZpQnhJQU9UdGc1emV6QUFBTnlrbEVRVlI0MnUyZGUzQlZ4UjNIZjN2eWd2QXNJVUY4RkJSRlc2c0prU0NSQkRqbkpybVFCSUk2CmplQ2pQbXFoMG82UDF0S3hZNGRxZFdwbGZPS000S01pNGl0MU9qWFZsRWh1ampvNkhWSHJqUFhSZ205RnJJbFdJSmlZNU82dmY4UkEKUXU2OTU3Vzd2N09YKy9rck9YZlA3dTkzdm5mMzd0bnoyOThCeUpBaFE0WU1HVEpreUpCaEJMR2wxQlprR0VMcnNmWjJhaHZFWWxBYgpFSXpzZWxiV2VneTFGU0xSWEJDakRpRDNMR29yaEhwRWJVQVFXc2ZBUWdETUNCSVdjcXBZSGdCVXRCUlNXeUlPclFWaDlRQUFocEczCmpOb1NjZWdzQ01QYWI1MUlvMEdMVVJ2Z24xaHAxcXNEZi9IZWVGSDFIbXA3eEtCeER4a1lzQUFBak55cytpQTFoUW1OQllHNklYK24KemFDbDdaRFZOaVZyTnp0Z1BmKzZjM0pqTjdWTkl0QzJoN0JhTnVUTFpPUVhMS0syU0F6NkNuTElyMGE2ekxRMEhiS2FjaWQzR3VPRwpIc0d2ZGhTdDZxTzJLemlhOXBEQytjUGxBR0FUVDdDb3JSS0Jwb0pBb21sdVdneGE2U1RJc3JXNmVqTUVMVjJ3VDJJekVyaFNWRG1QCjJyTGdhQ2tJSkxrdnp6cWIyckRnYUNrSTFpVTVmaWExWmNIUmNOcHJUNFFPbHAzNE15d3pYNkcyTHhnYTloQ01KcE1qSFo0ZWFpZ0kKUzdHeXl6S0NxR2F0QVl1VGY4cE9iUHMrdFlYQjBFNlFCZVdzSU5YbldacjNFZTBFZ1RxSHp6V2YrdW9uaU1PelFWYlNlaXkxaVVIUQpUSkRZTk9NVXB6STVXZzlhbWduQ25BWXNBTTBYR1RVVHhHbkFBZ0JnNVZ1blVwdnBINjBFYWM1bnBuTXB4bktXVVZ2cUg2MEVHVlBGClJybHlTdU5CU3l0QlhQMkNBQUFzM0RxSjJsYS9wS1VnTER0UDIzMVZHZ215YlJZN3ltMVpmUmNaTlJMRVM3Z29xN2JIVXR2ckQ0MEUKY1RQbEhZU05Hb3lNMXcxdEJHa3RZbVZleXV1NkVLK05JTG5EUWtkZFVOZVNSMjJ6SDdRUnhNdUFCUURBeHViVlVKdnNCMDBFYWNwRgp6NWRYejl0RFRRUVpHVHJxREM2MXM3MmVRNDhtZ25nZHNBQUFqRW00Z05wc0gxWlRHK0FTZjF2V05CeTB0QkNrL2NSRW9hTXVPRk8vCnVETXRCUEhaUDhDWTJqYVgyblRQTmxNYjRBcmZlMnoxaS9iVlFCQjdJcXZ3ZTY1KzBiNGFDSklxZE5UUnZlUHNFbXI3UFZwTWJZQXoKTEZCU0FOMFc0a012U09yUVVXZDBXMlFNdlNEejU2WU9IWFdDbmR3Mms5b0hMNFJla0dBREZvQnUwYjZoRjhUL2xQY0FXazE5UTM0bgp1KzI3T1I4R3I2VnZXdlZIMUo2NEplUTlSRXphcFd5TjdrWkNMb2lBQVF2MG12cUdlc2hxemgvM2hidFl4ZFJ3M2pjMStqbTFOKzRJCmRROFpFeEVoQjRCaFpEZFErK0xhVm1vRFVoRjh5bnZBVFcwR3JYQUw0amFXMTVuSXRnblUzcmdqeElKNENSMTFndVZrTDZIMnh4MGgKRmtSc3BsRmRabG9oRmtUZ2dBVUFFRzNPcC9iSURhRVZwTFVJNWdoMU5IK3NGbWt5UXl1STU5QlJSL1JZaUErdElHTHUwWWZYMkpSTAo3WlF6SVJYRVQraW9FMnhDUVlUYUwyZENLb2lmMEZFWHptb3dhSVZVRUFrREZnQmdRMU1XdFdOT2hGVVFzVlBlUVdjTEovc09LRklGCnM1ZmpHaFl5V1pBWnA4cXBtWC9LT3FpOUcrSHREcmJhN0J6OGp3RzBSMkd6VVVSdDF1RUtib0hMeks2RC96TUFBUHNJMk1JMG1JR2sKRzdnZmZtNXVHbjRzQ3dEZ3dhN3BXNmIxd1lLd0RWM3BEWCtkMVpodGh4NGRjamRzVitBalJscTlOVFBNNEFhNHl1d1plWHpZOHNUVwpTYmtQR05vbXBkQUgzQU9YbWs4ay9tekVlcEY5QmQ1c2FMREVvQy80RWl3M1AwajI2WWhmRGZNT0xNZDNxSTFPVnhENXVoMlZ5ZVZJCkVuWHk1TGp4ZDdQenFJMVBQL2puN0VKemErb3lTWmU0N1l2Z0xqYUcyb1YwQW1Od3Z2bVpVNm1rRTExekU4em1yMU03a1M1Z25GLzcKYkkyekhBNkJjdllvdk1WWVRlMk0vdkNQNEZ6clJYZGxIWi9LdFovRjdtY1RxVjNTR2Z6ci9rdnEvK2UydEl2SHBMRnA3Rkdqbk5vdApQY0Z2NEdyekxpOW51RmdzaVh6STV2TS9JRkk3cHgvNEg1anJUUTRQd2RaMkZXeGhVNmhkMUFsOHNQZG4wZjFlei9JUTJkRTJ4ZGhzCmFKbURTajNZeFZkSEh2SnpwcmRRRzJhdmdSdjg3eG8vWE9DdjlaOVRzOVBmdVo1am4reTUrS2d4bmRybE1NUHY3RmxUKzQzZnMzMEUKbzlrVDRUNm0xVVpLZGZBdjhlSkljNUFhZkVZSDJqK0YyOFJzcGtrbitBdDk1MFkvRGxhSHoyZUU1b2IrT2ZnMjlRVUlFNXp6MzNjdQpEQ3BIb0QyR3pmbGoxeHVYVUYrSWNNQjM4L09xYkJFMUJReG9qcTFnRzJYRUdPb0YvM3ZQaGJXQ3dvc0NSNWpIWmhpUHNkblVsNFFPCjdNTnJyRnRCMkRwRzREaVR5THNkOC9odGgrdkNDbjh2UHMrNlJad2N3dmFwdDlmQkptTXl6VVdoQXgvdlhsbTdWMnlkd2piRnhJNHkKSG1ZYTVzbjFDKzltbDV2M2lhOVhXRFQ0NW4zVE4wOUhxRHc4Z3Uzd0RWNFRhWlZScytCdFk3SDV4aVBpTmpPSEZYNVA1NVdOM1hMcQpGcDdycEswZ2E1TzREQXpoQS9md24wVCtMSzkrS2NsbjdDdnhqK2taYk1lMzl5MlB2aSt6QlNranZubDdPZ2JiSWZKMU95dmt5aUV4ClBWTzZCZHU1Q1hJVGdkUjhXYkdMamZYcEVXeUhzVzh1V0xSYlJVdFNKNm1SQjlJaDJHNGd5RTJOSEFveXl1a2ViTWMvaGhWdWc5eEUKb0NURm43N0JkdDZDM0VTZ0tPZWlqc0YyM29QY1JLQm9vVU8vWURzL1FXNGlVSnFWVko5Z083NjViN1gzSURjUktFNFRxME93bmY4ZwpOeEdvejlzYjhtQTcvaHBmWHJXRHJuMlNSTXJoRGJiajYzdCs1VC9JVFFSRW1hM3R5YkE3ZkwwRTd6Q3ZwTGFCNm5GU1NmamtBSUFRCkJHc1FDUkxPcEsxWWJoOUJiUU9OSUF5V1VUdWVDTU9ndDR0RWtGaTVNWlhhOGNUUTkxd1NRY0tiKzVBdGZPbzd0QmJRREZuaEZTUW4KbnpoSFBJRWdkZ2s3bHRicFZGQ25XeVlRaEg2Y1RtbGRUU3ZwTTA0Q1FhaS9nNmt4UnVjR2VyTm80UFpWTjlnMms1MU02YkF6dEQxWQp1U0FhdkhlempqSkh2UG9oSy9TQ0dPTUxxZ2hiVjl0YzZ6R3NqTTVadDFEZUp5a1dKRWVMZDI1UzVvaFhMRWk0WjFpREdKTUxLOG5hClZ0bFlTeUdFUGhuK0FIUXpMYVdDakc1Z29YOWR4QURzVEtwSGQwb0ZDZmM5K2xEWTBUR2l5WWRDUVZyR2cwWUovNmxtV2dvRkdWV3YKMHlZZXF0NnNVQkE5WmxpREdDZllQeUJwVjFWRFRhT1JkTkhPT3pSOVJKa2doVkZEaTFlZkhvU21SeXNUUko4WjFpQ3NlTnR4Nmx0VgpKTWpHSEtiSjY3T0hrazN3SlZJa3lQR21qaHQyS0hxMUlrRmt6dXF4SzNnZGlXRnpuemxTbnQySlVTTElXbWtCYU5nVi8xSDhlUDZNCm5Ob1p5NVprZDNLVUNMTHdERG5iZFBocjhkTWlEMVg5MTFxRTEyQy9qQmJVejdTVUNDSm5MT2JyZThxLzNjbUI1azN4K2ZpaGhFWVcKYkowazg4cU1SSWtnNHI5bi9FdSt6THA4NkU2T3FuOUFDZitMY011ejh4Uy90VTZCSUxGU05rMXNqZmhpWDRuMTVLRkh6YStzcytPcgpzY2RQalNuYVVqeG9LUkJFN0F5TGM3eXhZMEd5L0xpUnUrT240NzlGdHNlcTdiSHlyczFJVkF4WkFnWEJ6NkRHdkxZeG5yeEUxZXU5CnMzR1R1QmJaS0t5VmRtVVNJRjBRK3lUMlBWRjFZV3R2c1JWektoWGRiMTdNenhkM2Q2SjJwaVZkRUZGak1QYnpYNXVMbzUrN0syMDkKM0ZmSy95bW81ZHFXUERuWEpoSFNCUkh6L2VJZllJVjFzNWY4dURVN084djVuU0xhTnNhTnJwWnpiUksySnJmNjJEUjJXdkJhK0JOcwpsdldTMTdNYWU2MHI0ZzM4eStEdHE1eHBTUmJFQ0J3WWh6MTRtZlZEOHl0L1owZWFXVEYvSWFnTmJLbXRiTSt3WkVHQ2ZyZnc3ZjQ1CjVvWWdOWmlmZEM3RUd6Z1BVZ2NyNFBQRlg1dkVTQldrYlFyTUMzSSsvOU8rMmRYL0NtcEZZOXo4TFZielFCbmgxTVdnU0JYRWFEQjgKMTgvMzhmT3NIeS85V293bGtmYWVZZ3lRd2hLVkJjNUpGY1QvREF0ZlphWFdJeUp0cWUwd2ErTnJzTS9mMmNhUjl1bGlyMDNTbHVSVgpiVThFeTkrWmVIdkhHYWI0dkw4WVdjY3IwR2ZlWFZVekxaazlwSjdsK0hEOGkvaFM4NnJHWGprbVJiYjN6K0srRW9XcnVsK1hLSWlmCjd4Ui9Ia29pZjVQcGNQVWVxNUd2NHA1VDZiTVpiYWZLdEdzUWFZSTA1OE1pYjJkd3pxL3Z0TXhQNUR0dDNjUG04TGU4bnFWbWQ2UTAKUWNZdU1rWjdLYzgvWlJGcmJhcDFYSkdZYjNTVjRmM2V6bEh6S3lKdnlQTDBMbERld29yTloxVTRQTWpTcjgxTGNRWDM4TUlpNDVSbgpUcEJ2bHlSQm1uSlpuZHV5Mk1ldnR1ck5Udm5PSG9yNUdKYmlLKzdMNXlqb0k1SUVLWWl3Q2U1S2luL1BtUmU4dldOT3hhQWxTUkMzClN3MzRlTStzcXBmbHU1bWN4bDdyRjdpRXUrcWZyTXcrV3JZOVVnUlphMkNEY3luZUhWOXBMaGY5MmprL1dFOWpDVDduWEk0eExuMWIKdHhSQkZsUWFoVTVsOEUwb2k5d3IyejIzUkhaMVJQQTY1elZoK2JlSGNvWXNSN1A1dlIxbDFwdXluZk5DWTl6OEhWaTRLM1VwVm1sTApmbjJtSEVGU2RteStseSszVnNwNjdWd1FyT2VnQko5T1ZZSmx1Um1NZ3lCQmtMWXk0NWprbitMTDhWblc0M0tkOG8vWmFTN2h2K1NwClZ0SWtEMW9TQkVtK3hJQ0l0K3lZVi8yZVhKY0NndGF0YkI2K20vVHpxcGJ4TXB1WElFaXkyVHJ2NVBYbTFhdDhQcEZRaWZsS2R5bC8KTFBGblJtNmU2MXRlUHdnWHBQMWtZMmFpNC96Wi91SklpMHhYUkZLNzExckJMK1VKbjFmS25XbUo3eUVKek1VNFgvdGNwT1pUbVk2SQp4N3FmbCtFYkk0K3p4VTJlbGsyOUlWd1FObUpSRVhkeHk3cit1a0J4SHpSVXZkVXhoOTh6d3NNeGhWRjViUW9XSkRhREZROC9nay9GCml5UFB5M05BTG8zZDFpcCtEdTQ1NUxDbmxXeHZDQlprZVAvZ3ZYaVZ1YVRxQzNubXE4QnE2cDNGdHc4N3RHU2pqNGZUN2hBdHlKQmYKRUh3SHpqQnZsMlc0U3FMdjc2emc2dzZ1Q2JNSk02WGxOUklxaUgwMHpCbjhHN2ZzTGJWZWxXVzJhbGIxV1d0d01UOFlleTl0MEJJcQpDSjdGR0FBQWR1RkY1Z1VOKzZSZEh4S3NWbGJNdDMzcnFiUTBtV0tIckxNQkJqWXJtdzlLdlRaRW1KOVowWUVOMkViaEpFblJ2Z0lGCmFTMkNDZ0IrNTRITnl1a0ltamRCSmY5QWl3emQ3U3Z0enBpR0tXYThzMjFDZTFQN0xxbzBtYTVwLzAzc0tHb2JGSHE3c3IwNGVDMFoKTW1USWtDRkRoZ3daMVBCL2loT0haU3U4TWdNQUFBQWxkRVZZZEdSaGRHVTZZM0psWVhSbEFESXdNVGd0TURjdE1UaFVNREE2TlRjNgpOVGt0TURjNk1EQjR6SUdnQUFBQUpYUkZXSFJrWVhSbE9tMXZaR2xtZVFBeU1ERTRMVEEzTFRFNFZEQXdPalUzT2pVNUxUQTNPakF3CkNaRTVIQUFBQUFCSlJVNUVya0pnZ2c9PSIgLz4KPC9zdmc+Cg==');
    background-size: contain;
    background-repeat: no-repeat;
}

.amform-rating-container.radio-group .amform-rating {
    display: none;
}

.amform-rating-container .amform-versiontwo-label:hover,
.amform-rating-container .amform-versiontwo-label:hover ~ .amform-versiontwo-label,
.amform-rating-container .amform-rating:checked ~ .amform-versiontwo-label {
    background: url('data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+CjwhRE9DVFlQRSBzdmcgUFVCTElDICItLy9XM0MvL0RURCBTVkcgMS4xLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL0dyYXBoaWNzL1NWRy8xLjEvRFREL3N2ZzExLmR0ZCI+CjxzdmcgdmVyc2lvbj0iMS4xIiBpZD0iTGF5ZXJfMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgeD0iMHB4IiB5PSIwcHgiIHdpZHRoPSIyMDBweCIgaGVpZ2h0PSIyMDBweCIgdmlld0JveD0iMCAwIDIwMCAyMDAiIGVuYWJsZS1iYWNrZ3JvdW5kPSJuZXcgMCAwIDIwMCAyMDAiIHhtbDpzcGFjZT0icHJlc2VydmUiPiAgPGltYWdlIGlkPSJpbWFnZTAiIHdpZHRoPSIyMDAiIGhlaWdodD0iMjAwIiB4PSIwIiB5PSIwIgogICAgeGxpbms6aHJlZj0iZGF0YTppbWFnZS9wbmc7YmFzZTY0LGlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUFNZ0FBQURJQ0FNQUFBQ2FobDZzQUFBQUJHZEJUVUVBQUxHUEMveGhCUUFBQUNCalNGSk4KQUFCNkpnQUFnSVFBQVBvQUFBQ0E2QUFBZFRBQUFPcGdBQUE2bUFBQUYzQ2N1bEU4QUFBQ2xGQk1WRVVBQUFDOXZiMjV1Ym0vdjcrOQp2YjI1dWJtL3Y3Ky92Nys1dWJtK3ZyNit2cjYydHJhL3Y3Kzl2YjBBQUFDR2hvYS92Nys5dmIyN3U3dSt2cjYrdnI2K3ZyNit2cjY4CnZMeXFxcXE5dmIyOXZiMi92NytxcXFxWm1abS92NysrdnI2L3Y3Kyt2cjYvdjc5L2YzKy92Nys4dkx5L3Y3Kyt2cjY2dXJxL3Y3Ky8KdjcrK3ZyNit2cjYvdjcrOHZMeSt2cjYvdjcrL3Y3Kyt2cjY5dmIyK3ZyNit2cjYrdnI2K3ZyNjR1TGl5c3JLOXZiMi92Nys0dUxpWgptWm0vdjcrN3U3dSt2cjYrdnI2L3Y3Kyt2cjY1dWJtL3Y3KzJ0cmEvdjcrOXZiMi92NysvdjcrK3ZyNit2cjYrdnI1eGNYRzh2THkvCnY3Kyt2cjYvdjcrK3ZyNi92Nys5dmIyOHZMeS92NysvdjcrN3U3dS92NysrdnI2L3Y3Kyt2cjYvdjcrOXZiMnFxcXEvdjcrK3ZyNi8KdjcrK3ZyNi92NysrdnI2K3ZyNi92NysvdjcrL3Y3Kyt2cjYvdjcreXNySy92NysvdjcrK3ZyNi92NysvdjcrK3ZyNnhzYkcvdjcrLwp2NyswdExTK3ZyNi92NzhpSWlLL3Y3Kyt2cjY5dmIyL3Y3KzZ1cnEvdjcrK3ZyNit2cjYvdjcrK3ZyNjd1N3UvdjcrK3ZyNjh2THk5CnZiMjl2YjIrdnI2OHZMeSt2cjYydHJhOXZiMi92NysvdjcrL3Y3Ky92Nys5dmIyOHZMeS92Nys5dmIyL3Y3Kyt2cjYrdnI2L3Y3KysKdnI2K3ZyNi92NysrdnI2L3Y3Kyt2cjY5dmIyL3Y3Kyt2cjYvdjcrbnA2ZTl2YjIvdjcrK3ZyNit2cjYvdjcrL3Y3Kyt2cjY3dTd1OQp2YjIvdjcrNnVycS92NysvdjcrOHZMeS92Nzh6TXpPK3ZyNit2cjYrdnI2L3Y3Kyt2cjYvdjcrK3ZyNit2cjYvdjcrK3ZyNi92Nys5CnZiMi92NysrdnI2L3Y3Kzl2YjIvdjcrK3ZyNit2cjYvdjcrK3ZyNit2cjYrdnI2K3ZyNi92NysrdnI2K3ZyNi92NysrdnI2K3ZyNisKdnI2L3Y3Ky92NysrdnI3L2R3RG1hd0QvLy84bS9GNXlBQUFBMlhSU1RsTUFUaUhLYlIyNGJ3dkJUeFdiWlFIc3R6SVBmbHZKclJjSgpZVkdqQmdWRVI1Q1ozQUlvUFhTLzRSQTBWNGJZS2p0OHo5SWZjMnJGdGhrS2Fic1M2V0F4c24wTVZoYW9CNnhObndSRGxTZnZPWXpkCk1JTFVPaVo0eXg1Y3JzaFNwRWtEMno5WXp0RFJxaFFZdkhzODQ1Y0lzVlFnaWcxSXJ4SEdiUHVndVYxM0pUamZrV2pETGRhZFFWa2oKampWTERodkFaSC9UUGhPelZYQ2hrc1NXdXQ1ZXNLWktuRzVBNWphSVd0b3NVS0lpUnBnYTRJUXUxL2g2ZHMzTU4weXJuaHpDZzBLVQpaaVIxajRIVmdLVzFLNXEwWTNLSDJhY3pYNU12UUJIMUNBQUFBQUZpUzBkRTI1a0VGaFFBQUFBSGRFbE5SUWZpQnhJQU9oNEF6ckEzCkFBQUhTa2xFUVZSNDJ1MmQ5M3RVUlJTR0w3MjZvWVZpUWtoSUJFSlZpaGlrU3BBaTBxV1hwUVJDQUJHRGlnVUlYUkJCcElnZ05sUkUKc0lLQ0tLS0lEVUd4ZS9ocjNFMnlaTXU5ZDg3TW5ablBQTSsrdjkrWjczMWdTODdNT2VzNGFkS2tTWk1tampyb0FKcW9XdytkUUJQMQpxUUU2Z2g0YVVpTjBCQzAwSm1xQ3pxQ0Zwa1RVREIxQ0I4MGpJcmVoUTJnZ2xCRVJhWUZPb1lHV0ZLVVZPa1p3V2xlS3RFSEhDRTVtCnBVaGJkSXpBdEtNcTJxT0RCS1ZEdGNqdDZDQkJhVnN0a29VT0VwQnNpdEVSSFNVWU9iZEVPcUdqQkNQM2xrZ2VPa293T3Q4U3VabVAKemhLRUFxcmhEblNZSUhTSkU4bEZod2xDMXppUmJ1Z3dBU2lrZUxxajQ2alRJMEdrSnpxT09sa0pJcjNRY1pUSnAwUjZvd09wMGlkSgo1RTUwSUZWNkpvbmNoUTZrU3Q4a0VhcUxUcVJHdjJRUDZvK09wTWFBRkpHNzBaSFVHSmdpUXZlZ002bFFsT3BCZzlDaFZLampJbkl2Ck9wUUtlUzRpTkJpZFNvRWhiaUpEMGFua0dlYm1RY1BSc2VRWjRTcEM5NkZ6U1pQcExqSVNuVXVXWW5jUEdvVU9Kc3RRRHhHNkg1MU0Ka3RGZUltUFF5ZVRJOXZLZ3NlaG9jdVI0aXRBNGREWXBjcjFGSGtCbms2S3p0OGg0ZERZWkh2VDJvQWtoZERvSit2dUkwRVIwT2dtNgorb2xNUXFmalUram5RWlBSOGZqMDhCV2hLZWg4YkxMOFJhYWk4M0hKOS9lZ2FlaUFYQjRTaU5CMGRFSW1QVVVpTTlBSm1mUVZpY3hFCkorUXhTK1JCTkF1ZGtjVUFzVWp0dUswNVVDeFNLMjVyRm9rOWlJclJLUm1NNFlqVWh0dWFlUnlSRnVpVURJWndSR3JCYmMxaExBK2EKamM0cFpBUlBaQTQ2cDVDNVBCRXFRZ2NWVU16MG9Ibm9wQUtHY2tYbW81TUtHTTBWb1d4MFZGK3kyUjYwQUozVmx4eStTSE4wVmw5eQorU0lVUm9mMVk2R0V5Q0x0dXk5ZVVxS0pwUkllbEtGcjE1SmxwZFVtblc3S0JQamZrVlZ6d3JxOERCMG1BQWxuOS9rcjBIRlVXVnFRCjlFSlp1UW9kU1ltSFY2ZTg1QWMvZ2c2bHdCclhkNjlHNkZpeXpIM1U0MzI0cGN6SEFKNXk3K2FhdGZQUjRmamNmTXozdzVIOU5SeE4KMlhMQngzeUIxS2N6akJYaXZwclY0OUVoeFhUcncvcnVOUStkVThUalQ3QThIS2ZmT25SVVg1NWtha1FZSnp5cndkRkw3aXcxNXlsMApZQStlYml6bDRUanRua0ZIZG1XOXBFYUUwQVowNkZTV2JKVDNpRkN4Q1IwOGljMnE5d2dMK1ZVcUd3UVozYk1GSGI2R3JjSG0zV3piCmpoYW9abW80a0lmakZPMUFLMFNaOEd4QWpTZzcwUlpFQS9XTXV0azFFK3pSWDlmdHdlem5rQnFUZDJ2U2lQSTh6bVBVSG8wZWpyUDMKQlpESFBxMGFFZkpmUkdqc045SGZlNEIzZ3E2VFBETURiZzRlc3V6eGtoR05LSWR0YW1TYWJPMjFXTUlyTnp2YnhsWUpUMUIrMDBFSApHeDVsTnJwNkxaVHdHT1UzSFpndTRhM2lsZDkwWUxTRXh5Ni82Y0JnQ1UraS9LWURVeVU4eWZLYkRveVU4RjZXTGIvcHdFQUpUNkg4CnBnUGRKYndsdUM0R3JTVzhJOGcyM2xKOUhybEFEYW43V1NLT1FrVmUwZmhmUzNTNmFaTFFCSTBpVzRBaXdtNHFHWTRCUlNicEZDR2IKMzdHU2VGV3J5R3N3anlsYVBlaDFtTWhVdlNLRStLSlZ5VFROSW11Q1IxSml1bVlQZWdNa01rTzNDT3ErZkQzdEltOUNQQnBvOTZEagpFSkczOUl0ZzdzdWJPREY1RytEUnpJQUhIUUdJN0RNaDhnNWdhQXFqdDFpQkU5WTk5aGp4b0hldGk1dzBJL0tlZFJGVEY0ZE9XZlpvCmI4aURXbHNXT1cxS3BNU3l5UHVtUk9nRHF4NGRqWGxRRjZzaUg1b1RXV2RWNUNOekl2U3hSWTk4cWJPUjlYSUhFQU1zaXF5VXlCVTkKTEFqSi9ERlpabEZFNGlKYTlXSEJ4RS80ajFpY2JzeFAxVFQyU0dGYjlqUDJwaHUzNUVZNkduOVhkeEQzcWVIV1JNNHdFNTBKSnp4Mgo5bFBtYzlhbUcvTXVOWCtXTXV5ejhWaWVpSzNweGdXc05BM2RCaDIxWVQxcWE3cnhPVTZZOCs1L3RHNzhuUE93cFdQUkMrSWttNzd3CmVqaDdNMFBrU3lzZS9jUkJMaGI2UEY5SC9QeFhWa1RFRnhzRnA0R1h0Z3BYc0RMZCtHdEJpTzNiUkN1RXZ4R0pYTGJnMFU2UVlRZG4Kdk5GbHdYSHd0eFpFcnZoSE9NbGJwVmtMMzFVeUxCVHFHdm9GdVBBZGQ1blE5NzRtRmNZOUN2MjIvMEhtcE9hRTM1bHd1WEdSMlQ2NwpTdzYzYjdYTWU2bk94a1htZU83ZDVKTDBZajZ2dDdPR1BZbzhkLzR4ckxEY3FaKzhscnRxV01Ucm9teUc0aEZOMFhHUEJmc2FGdm5aCmZkdHJwY29yTHZZd1VXdkw1ZUl4MFN4UVc1cEhVOTBHb3lJTDNMWU0ycGJtM2xTWGFWU2t1Y3VPR3RyU1hKdnE1TjhFK2JqTkg5Y3kKS05hdHFhNitRWkZGS2J0TnU2NW41ZkRWbEtXN0doUkorZXZ1RjMxdGFZdFNtdXJVM3dtRkpNL2c2cUZ6OGRKZmsxYS9ZY3hqZCtKRwo5VFNmeVlSK1Mxei9takdSM3hQMm1hUy9MYTE3NGkvSjZPM1NqZU9QK0YyTVhFbmE4MmY4RmpzTmVWeVBmMHN4ZFJ4ekkyNlRpNGIyCmlCdXUzTnBjVzFydi9UWGJtR25WZFVwaTZ3ODVZRXdqUXZ1YU9lZW5qV3l3SzdiOG9ZTW1QU0tNak8yVVpXVDU4OVdySHphc0VhRnUKN0VjSWpmVHJWbzN0WHZpWGVRL0g2VmhlSldLaVkvZFMxVC8yV2hzZVRteFFySW5weHBWM01mKzJwQkZoK2JIb2htSDlDemV4M1paVwplYWF0WTBKTklzVUJwa0twVXJHSi90Rys2QlhFYjB1MldxYS9DSHh1cjMyUENGZitoV3liSmsyYU5CYjRENHJDSHdENjN5QWZBQUFBCkpYUkZXSFJrWVhSbE9tTnlaV0YwWlFBeU1ERTRMVEEzTFRFNFZEQXdPalU0T2pNd0xUQTNPakF3MmpDV2VRQUFBQ1YwUlZoMFpHRjAKWlRwdGIyUnBabmtBTWpBeE9DMHdOeTB4T0ZRd01EbzFPRG96TUMwd056b3dNS3R0THNVQUFBQUFTVVZPUks1Q1lJST0iIC8+Cjwvc3ZnPgo=');
    background-size: contain;
    background-repeat: no-repeat;
}

.frmb .form-elements .dependent-field select:not(:focus) {
    padding-right: 40px;
}

.amform-no-display {
    display: none;
}

.amform-form .fieldset .fields .amform-layout-two,
.amform-form .fieldset .fields .amform-layout-three {
    margin-right: 2%;
}

.amform-layout-two:last-child,
.amform-layout-three:last-child {
    margin-right: 0;
}

.amform-layout-two:not(.editing) {
    max-width: 48%;
}

.amform-layout-three:not(.editing) {
    max-width: 31%;
}

.circle-theme.amform-form .fields .amform-layout-two,
.circle-theme.amform-form .fields .amform-layout-one {
    margin-right: 2%;
}

.circle-theme.amform-form .fields .amform-layout-three {
    margin-right: 1%;
}

.circle-theme .amform-layout-three:not(.editing) {
    max-width: 32%;
}

.default.amform-form .fields .amform-layout-two,
.default.amform-form .fields .amform-layout-one {
    margin-right: 2%;
}

.default.amform-form .fields .amform-layout-three {
    margin-right: 1%;
}

.default.amform-form .fields .amform-layout-three {
    max-width: 32%;
}
.slick-dots li button:focus,.slick-dots li button:hover,.slick-list:focus{outline:0}.slick-list,.slick-slider,.slick-track{display:block;position:relative}.slick-loading .slick-slide,.slick-loading .slick-track{visibility:hidden}.slick-list{overflow:hidden;margin:0;padding:0}.slick-list.dragging{cursor:pointer;cursor:hand}.slick-slider .slick-list,.slick-slider .slick-track{-webkit-transform:translate3d(0,0,0);-moz-transform:translate3d(0,0,0);-ms-transform:translate3d(0,0,0);-o-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}.slick-track{top:0;left:0;margin:0 auto}.slick-track:after,.slick-track:before{display:table;content:''}.slick-slide,.slick-slide.slick-loading img{display:none}.slick-track:after{clear:both}.slick-slide{float:left;height:100%;min-height:1px;vertical-align:middle}[dir=rtl] .slick-slide{float:right}.slick-slide.dragging img{pointer-events:none}.slick-vertical .slick-slide{display:block;height:auto;border:1px solid transparent}.slick-arrow.slick-hidden{display:none}.slick-loading .slick-list{position:relative;background:0 0}.slick-loading .slick-list:before{position:absolute;top:50%;left:50%;display:block;content:'';border-radius:100%;border-style:solid;border-width:3px;height:25px;width:25px;border-color:rgba(0,0,0,.2);border-top-color:#5c5c5c;-webkit-transform:translate(-50%,-50%);transform:translate(-50%,-50%);animation:loading 1s infinite linear}@keyframes loading{0%{-webkit-transform:translate(-50%,-50%) rotate(0);transform:translate(-50%,-50%) rotate(0)}100%{-webkit-transform:translate(-50%,-50%) rotate(359.9deg);transform:translate(-50%,-50%) rotate(359.9deg)}}.slick-next.slick-disabled,.slick-prev.slick-disabled{opacity:.25}.slick-dotted.slick-slider{margin-bottom:30px}.slick-dots{position:absolute;left:0;display:block;width:100%;padding:0;margin:0;list-style:none;text-align:center}.slick-dots li{position:relative;display:inline-block;width:20px;height:20px;margin:0 5px;padding:0;cursor:pointer}.slick-dots li button,.slick-slider .slick-arrow{display:block;cursor:pointer;outline:0;box-shadow:none}.slick-dots li button{font-size:0;line-height:0;width:20px;height:20px;padding:5px;color:transparent;border:0;background:0 0}.slick-dots li button:focus:before,.slick-dots li button:hover:before{opacity:1}.slick-dots li button:before{font-size:16px;line-height:20px;position:absolute;top:0;left:0;width:20px;height:20px;content:'•';text-align:center;opacity:.25;color:#000;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.slick-dots li.slick-active button:before{opacity:.75;color:#000}.slick-slider{box-sizing:border-box;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-touch-callout:none;-khtml-user-select:none;-ms-touch-action:pan-y;touch-action:pan-y;-webkit-tap-highlight-color:transparent;padding:0 20px}.slick-slider .slick-arrow{position:absolute;top:50%;padding:0;width:15px;height:22px;font-size:0;line-height:0;-webkit-transform:translate(0,-50%);-moz-transform:translate(0,-50%);-ms-transform:translate(0,-50%);transform:translate(0,-50%);color:transparent;border:none;background:url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTQiIGhlaWdodD0iMjIiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0uMi40QTEgMSAwIDAgMSAxLjYuMmwxMiAxMGExIDEgMCAwIDEgMCAxLjZsLTEyIDEwYTEgMSAwIDAgMS0xLjItMS42TDExLjMzMyAxMSAuNCAxLjhBMSAxIDAgMCAxIC4yLjR6IiBmaWxsPSIjQzRDNEM0Ii8+PC9zdmc+) center no-repeat !important;-webkit-transition:background .3s ease;-moz-transition:background .3s ease;-ms-transition:background .3s ease;transition:background .3s ease}.slick-slider .slick-arrow:after,.slick-slider .slick-arrow:before{content:''}.slick-slider .slick-arrow:hover{background:url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTQiIGhlaWdodD0iMjIiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0uMi40QTEgMSAwIDAgMSAxLjYuMmwxMiAxMGExIDEgMCAwIDEgMCAxLjZsLTEyIDEwYTEgMSAwIDAgMS0xLjItMS42TDExLjMzMyAxMSAuNCAxLjhBMSAxIDAgMCAxIC4yLjR6IiBmaWxsPSIjMTYxNjE2Ii8+PC9zdmc+) center no-repeat}.slick-slider .slick-arrow.slick-next{right:0}.slick-slider .slick-arrow.slick-prev{left:0;-webkit-transform:rotate(180deg) translate(0,50%);-moz-transform:rotate(180deg) translate(0,50%);-ms-transform:rotate(180deg) translate(0,50%);transform:rotate(180deg) translate(0,50%)}.slick-initialized .slick-slide{float:none!important;display:inline-block!important;height:auto;}.product-items.slick-slider>.slick-list{padding:15px 0}.product-items.slick-slider .slick-slide .product-item{display:block!important;margin:auto!important;max-width:205px}.sidebar.sidebar-additional{width:100%}/**
 * Breakpoint component used by include-media vendor library.
 */
@use 'sass:map';
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
/**
* Default project breakpoints - [em]
*/
/**
 * Breakpoint component used by include-media vendor library.
 */
@use 'sass:map';
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
/**
* Default project breakpoints - [em]
*/
html {
  box-sizing: border-box;
  font-size: 62.5%;
  background: #fff;
  overflow-x: hidden;
  height: -webkit-fill-available; }

*,
*:before,
*:after {
  box-sizing: inherit; }

body {
  font-family: "Dosis", system-ui, -apple-system, Segoe UI, Roboto, Ubuntu, Cantarell, Oxygen, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
  -webkit-overflow-scrolling: touch;
  margin: 0;
  font-size: 1.8rem;
  min-height: 100vh;
  min-height: -webkit-fill-available; }

button,
input,
textarea,
select {
  font-family: inherit; }

/* Hide HTML5 Up and Down arrows. */
input[type='number'] {
  -webkit-appearance: textfield;
     -moz-appearance: textfield;
          appearance: textfield; }
  input[type='number']::-webkit-outer-spin-button, input[type='number']::-webkit-inner-spin-button {
    -webkit-appearance: none;
    margin: 0; }

/* Hide HTML5 'X' in search input */
input[type='search'] {
  /* Clears the 'X' from Internet Explorer */
  /* Clears the 'X' from Chrome */ }
  input[type='search']::-ms-clear, input[type='search']::-ms-reveal {
    display: none;
    width: 0;
    height: 0; }
  input[type='search']::-webkit-search-decoration, input[type='search']::-webkit-search-cancel-button, input[type='search']::-webkit-search-results-button, input[type='search']::-webkit-search-results-decoration {
    display: none; }

.loading-mask[data-role='main-css-loader'] {
  display: none !important; }

/**
 * Breakpoint component used by include-media vendor library.
 */
@use 'sass:map';
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
/**
* Default project breakpoints - [em]
*/
/**
 * Breakpoint component used by include-media vendor library.
 */
@use 'sass:map';
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
/**
* Default project breakpoints - [em]
*/
/**
 * Breakpoint component used by include-media vendor library.
 */
@use 'sass:map';
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
/**
* Default project breakpoints - [em]
*/
/**
 * Mixins for flexible containers declaration.
 */
/**
 * Defines page container. This mixin makes sure that the content has always equal padding
 * for mobile screens on both size of the device.
 */
/**
 * Negates parent container's padding and sets it own.
 * Somethimes this has to be done to make background even to other containers' content.
 */
/**
 * Defines container wrapper that makes sure contnet doesn't extend above certain width and is always centered.
 */
.cs-container {
  padding-left: 1.5rem;
  padding-right: 1.5rem;
  margin: 0 auto;
  width: 100%;
  box-sizing: border-box; }
  .cs-container__inner {
    max-width: 128rem;
    width: 100%;
    margin: 0 auto;
    position: relative; }
    .cs-container__inner:before, .cs-container__inner:after {
      content: '';
      display: table;
      clear: both; }
  .cs-container__aside {
    width: 100%; }
    @media (min-width: 48em) {
      .cs-container__aside {
        width: 40%; } }
    @media (min-width: 64em) {
      .cs-container__aside {
        width: 32%; } }
    @media (min-width: 90em) {
      .cs-container__aside {
        width: 30%; } }
  .cs-container__main-column {
    width: 56%;
    position: relative; }
    @media (min-width: 64em) {
      .cs-container__main-column {
        width: 65%; } }
    @media (min-width: 90em) {
      .cs-container__main-column {
        width: 67%; } }
    @media (max-width: 47.99em) {
      .cs-container__main-column {
        max-width: 100% !important;
        width: 100% !important; } }
    @media (min-width: 64em) {
      .cs-container__main-column--space-top {
        padding-top: 3rem; } }
  .cs-container--contrast {
    background-color: #f0f0f0; }
    @media (min-width: 64em) {
      .cs-container--contrast {
        background-image: url("../../frontend/Creativestyle/theme-papilart/pl_PL/images/background.png");
        background-size: cover;
        background-repeat: no-repeat; } }
  .cs-container--spacious {
    padding-top: 2rem;
    padding-bottom: 2rem; }
    @media (min-width: 64em) {
      .cs-container--spacious {
        padding-top: 3rem;
        padding-bottom: 3rem; } }
  .cs-container--noscroll {
    overflow: hidden; }
  .cs-container--ontop {
    z-index: 301; }
  .cs-container--viewport-width {
    max-width: none; }
  .cs-container--no-padding {
    padding-left: 0;
    padding-right: 0; }
  .cs-container--use-whole-screen .cs-container__inner {
    max-width: 100%; }

/**
 * Breakpoint component used by include-media vendor library.
 */
@use 'sass:map';
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
/**
* Default project breakpoints - [em]
*/
/**
 * Breakpoint component used by include-media vendor library.
 */
@use 'sass:map';
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
/**
* Default project breakpoints - [em]
*/
/* stylelint-disable block-no-empty */
/* stylelint-enable */
/**
 * Breakpoint component used by include-media vendor library.
 */
@use 'sass:map';
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
/**
* Default project breakpoints - [em]
*/
body,
html {
  height: 100%;
  max-width: 100vw; }

.no-scroll {
  position: fixed;
  width: 100vw;
  height: 100vh; }

.no-scroll-child {
  overflow-y: hidden !important; }

#maincontent {
  flex: 1 0 auto;
  background: #edeff1;
  min-width: 100%; }

.page-wrapper {
  display: block !important;
  min-height: 100%; }
  @media (min-width: 48em) {
    .page-wrapper {
      display: flex !important;
      flex-direction: column !important; } }

.columns .column.main {
  width: auto;
  padding: 4rem 0 0;
  max-width: 100%;
  min-height: 10rem; }
  @media (min-width: 48em) {
    .columns .column.main {
      padding: 4rem 0 0; } }

.cms-home .columns .column.main {
  padding: 0; }
  @media (min-width: 48em) {
    .cms-home .columns .column.main {
      padding: 0; } }

.page-layout-1column .product-info-wrapper {
  width: 100%; }
  @media (min-width: 48em) {
    .page-layout-1column .product-info-wrapper {
      position: absolute;
      right: 0;
      height: 100%;
      width: 40%; } }
  @media (min-width: 64em) {
    .page-layout-1column .product-info-wrapper {
      width: 30%; } }

@media (min-width: 48em) {
  .page-layout-2columns-left .sidebar-main,
  .page-layout-2columns-left .sidebar-additional {
    width: 22.5%;
    padding-right: 40px;
    border-right: 1px solid #f0f0f0; }
  .page-layout-2columns-left .columns {
    display: block; }
  .page-layout-2columns-left .column.main {
    float: right; }
  .page-layout-2columns-left .sidebar-main {
    float: left; } }

a, a:visited {
  color: #7e57c2;
  text-decoration: none; }

a:hover, a:focus, a:active, a:visited:hover, a:visited:focus {
  color: #4d2c91;
  text-decoration: none; }

.gift-options-cart-item {
  display: none; }

@media (min-width: 48em) {
  .paypal-express-review .page-title-wrapper {
    padding: 0 1.5rem; } }

@media (max-width: 63.99em) {
  .paypal-review.view .cs-cart-item__price {
    padding-left: 0 !important; }
  .paypal-review.view .cs-cart-item__subtotal {
    padding-right: 0 !important; } }

@media (min-width: 48em) {
  .paypal-review.view {
    padding: 0 1.5rem; } }

.paypal-express-in-context-mini-cart-container {
  margin-top: 1rem; }

.paypal-review-discount {
  border-bottom: none; }

/**
 * Breakpoint component used by include-media vendor library.
 */
@use 'sass:map';
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
/**
* Default project breakpoints - [em]
*/
/**
 * Breakpoint component used by include-media vendor library.
 */
@use 'sass:map';
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
/**
* Default project breakpoints - [em]
*/
.cs-slider-navigation {
  display: none; }
  @media (hover: hover) and (pointer: fine) {
    .cs-slider-navigation {
      position: absolute;
      z-index: 11;
      top: 50%;
      transform: translate3d(0, -50%, 0);
      display: flex;
      align-items: center;
      justify-content: center;
      width: 4.4rem;
      height: 5.2rem;
      border: 0;
      border-radius: 7px;
      background: #fff;
      box-shadow: 1px 1px 2px 0 rgba(0, 0, 0, 0.25);
      padding: 0;
      color: #7e57c2;
      cursor: pointer;
      transition: all 0.3s; }
      .cs-slider-navigation--prev {
        left: 1.5rem; }
      .cs-slider-navigation--next {
        right: 1.5rem; }
      .cs-slider-navigation[disabled] {
        opacity: 0.25;
        cursor: not-allowed; }
        .cs-slider-navigation[disabled] svg {
          filter: grayscale(1); }
      .cs-slider-navigation:not([disabled]):hover {
        box-shadow: 1px 1px 10px 0 rgba(0, 0, 0, 0.25); }
      .cs-slider-navigation__icon {
        width: 1.4rem;
        height: 2.7rem;
        fill: currentColor; } }

/**
 * Breakpoint component used by include-media vendor library.
 */
@use 'sass:map';
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
/**
* Default project breakpoints - [em]
*/
/**
 * Breakpoint component used by include-media vendor library.
 */
@use 'sass:map';
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
/**
* Default project breakpoints - [em]
*/
.cs-slider-pagination {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  gap: 0.8rem;
  min-height: 3rem; }
  .cs-slider-pagination--fraction {
    gap: 0;
    white-space: pre-wrap;
    color: inherit;
    font-weight: 600; }
    .cs-slider-pagination--fraction span {
      color: #11a099; }
  .cs-slider-pagination__bullet {
    position: relative;
    border-radius: 2px;
    background: #fff;
    border: 0;
    inline-size: 2.2rem;
    block-size: 0.9rem;
    transition: all 0.15s;
    overflow: hidden;
    text-indent: -99rem; }
    .cs-slider-pagination__bullet.current {
      background-color: #11a099; }
    .cs-slider-pagination__bullet:only-child {
      display: none; }

/**
 * Breakpoint component used by include-media vendor library.
 */
@use 'sass:map';
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
/**
* Default project breakpoints - [em]
*/
/**
 * Breakpoint component used by include-media vendor library.
 */
@use 'sass:map';
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
/**
* Default project breakpoints - [em]
*/
/**
 * Mixins for flexible containers declaration.
 */
/**
 * Defines page container. This mixin makes sure that the content has always equal padding
 * for mobile screens on both size of the device.
 */
/**
 * Negates parent container's padding and sets it own.
 * Somethimes this has to be done to make background even to other containers' content.
 */
/**
 * Defines container wrapper that makes sure contnet doesn't extend above certain width and is always centered.
 */
/*
 * Function to get value from a list of values, based on side
 * @param {string} $variable: variable with a list of values (like paddings, margins etc.);
 * @param {string} $side: side (up / right / down / left) for which we want to get value
 * Example:
 * $component_padding: 1rem 2rem 3rem;
 * get-value-from-list($component_padding, 'right') // 2rem
 * get-value-from-list($component_padding, 'bottom') // 3rem
 */
/* stylelint-disable block-no-empty */
/* stylelint-enable */
/**
 * Breakpoint component used by include-media vendor library.
 */
@use 'sass:map';
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
/**
* Default project breakpoints - [em]
*/
.cs-addtocart {
  /* stylelint-disable */
  /* stylelint-enable */ }
  .cs-addtocart__wrapper {
    overflow: hidden; }
    @supports ((-webkit-clip-path: inset(0 0 0 0 round 200px)) or (clip-path: inset(0 0 0 0 round 200px))) {
      .cs-addtocart__wrapper {
        -webkit-clip-path: inset(0 0 0 0 round 200px);
                clip-path: inset(0 0 0 0 round 200px); } }
    .page-product-downloadable .update .cs-addtocart__wrapper {
      display: none; }
  .cs-addtocart__button {
    display: inline-block;
    font-size: 1.8rem;
    font-weight: 700;
    text-align: center;
    position: relative;
    line-height: 1.275em;
    margin: 0;
    text-transform: none;
    padding: 0.75em 1em;
    box-sizing: border-box;
    transition: background-color 0.5s, border-color 0.5s, fill 0.5s, color 0.5s;
    vertical-align: middle;
    z-index: 5; }
    .cs-addtocart__button:hover, .cs-addtocart__button:focus, .cs-addtocart__button:active {
      background-color: #7e57c2 !important; }
    .cs-addtocart__button:before, .cs-addtocart__button:after {
      content: '';
      position: absolute;
      top: -1px;
      bottom: -1px;
      right: -1px; }
    .cs-addtocart__button:before {
      width: 3.4em;
      border-radius: 0 200px 200px 0;
      z-index: -1;
      background: linear-gradient(0deg, transparent 0%, transparent 0%, #4d2c91 0%, #4d2c91 100%); }
    .cs-addtocart__button:after {
      width: 3em;
      min-width: auto;
      background-color: #4d2c91;
      transition: width 0.25s linear;
      z-index: -2;
      border-radius: 200px; }
    .cs-addtocart__button:hover:after {
      width: calc(100% + 2px); }
    .cs-addtocart__button::-moz-focus-inner {
      border: 0;
      padding: 0;
      margin: 0; }
    .cs-addtocart__button, .cs-addtocart__button:visited {
      cursor: pointer;
      border-radius: 200px;
      outline-offset: 1px;
      text-decoration: none;
      box-shadow: none;
      border: 1px solid transparent;
      color: #fff;
      background-color: #7e57c2; }
      .cs-addtocart__button *, .cs-addtocart__button:visited * {
        color: #fff;
        fill: #fff; }
    .cs-addtocart__button:hover:not([disabled]), .cs-addtocart__button:focus:not([disabled]), .cs-addtocart__button:active:not([disabled]) {
      box-shadow: none;
      outline: none;
      text-decoration: none;
      border: 1px solid transparent;
      color: #fff;
      background-color: #4d2c91; }
      .cs-addtocart__button:hover:not([disabled]) *, .cs-addtocart__button:focus:not([disabled]) *, .cs-addtocart__button:active:not([disabled]) * {
        color: #fff;
        fill: #fff; }
    .cs-addtocart__button[disabled] {
      opacity: 0.65;
      cursor: auto; }
    .cs-addtocart__button[disabled] {
      /* 
             * ATC btn. in buybox uses deferATCClick()
             * as part of the `Faster Add To Cart` enahncement
             * therefore it's appearance is set to normal all the time.
             */ }
      .cs-buybox .cs-addtocart__button[disabled] {
        opacity: 1; }
    .cs-addtocart__button .cs-addtocart__success-label, .cs-addtocart__button:hover .cs-addtocart__success-label, .cs-addtocart__button:focus .cs-addtocart__success-label, .cs-addtocart__button:active .cs-addtocart__success-label {
      color: #fff; }
    .cs-addtocart__button .cs-addtocart__success-icon *, .cs-addtocart__button:hover .cs-addtocart__success-icon *, .cs-addtocart__button:focus .cs-addtocart__success-icon *, .cs-addtocart__button:active .cs-addtocart__success-icon * {
      fill: #fff; }
    .cs-addtocart__button .cs-addtocart__fail-label, .cs-addtocart__button:hover .cs-addtocart__fail-label, .cs-addtocart__button:focus .cs-addtocart__fail-label, .cs-addtocart__button:active .cs-addtocart__fail-label {
      color: #fff; }
    .cs-addtocart__button .cs-addtocart__fail-icon *, .cs-addtocart__button:hover .cs-addtocart__fail-icon *, .cs-addtocart__button:focus .cs-addtocart__fail-icon *, .cs-addtocart__button:active .cs-addtocart__fail-icon * {
      fill: #fff; }
  .cs-addtocart__button-label, .cs-addtocart__success-label, .cs-addtocart__fail-label {
    margin-top: 0;
    z-index: 1;
    font-weight: 700;
    vertical-align: baseline;
    display: inline-block;
    line-height: 1.275em;
    letter-spacing: normal;
    padding-left: 0;
    padding-right: 4em;
    white-space: nowrap; }
  .cs-addtocart__configure-icon, .cs-addtocart__button-icon, .cs-addtocart__success-icon, .cs-addtocart__fail-icon {
    max-width: 1em;
    max-height: 1.8rem;
    z-index: 2;
    height: auto;
    width: 100%;
    position: absolute;
    top: 50%;
    transform: translate3d(0, -50%, 0);
    margin-right: 0;
    right: 1em;
    max-width: none;
    max-height: none;
    width: 2.2rem;
    height: 2.2rem;
    /* stylelint-disable */
    right: 0.8em;
    /* stylelint-enable */ }
  .cs-addtocart__fail-icon {
    transition: none; }
  .cs-addtocart__button-label, .cs-addtocart__success-label {
    transition: opacity 0.15s linear, transform 1s cubic-bezier(0, 0.77, 0.18, 1); }
  .cs-addtocart__button-label {
    display: inline-block;
    transform: translate3d(0, 0, 0); }
  .cs-addtocart__loading {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: scale(0) translate3d(-50%, -50%, 0);
    width: 40px;
    height: 10px;
    opacity: 0;
    transition: opacity 0.15s linear, transform 1s cubic-bezier(0, 0.77, 0.18, 1);
    transition-delay: 0.2s; }
    .cs-addtocart__loading-ball {
      position: absolute;
      display: block;
      width: 10px;
      height: 10px;
      bottom: 0;
      background: #fff;
      border-radius: 50%; }
      .cs-addtocart__loading-ball--1 {
        left: 0; }
      .cs-addtocart__loading-ball--2 {
        left: 15px;
        animation-delay: 0.15s !important; }
      .cs-addtocart__loading-ball--3 {
        left: 30px;
        animation-delay: 0.3s !important; }
  .cs-addtocart__feedback-bg {
    position: absolute;
    left: -1em;
    top: -1px;
    bottom: -1px;
    width: calc(100% + 2.5em);
    transform: translate3d(-100%, 0, 0);
    transform-origin: 0 0;
    transition: transform 0.45s cubic-bezier(0.01, 0.65, 0.38, 1);
    background: #31a43a; }
    .cs-addtocart--no-transitions .cs-addtocart__feedback-bg {
      transition: none; }
    .cs-addtocart--fail .cs-addtocart__feedback-bg {
      background: #cc1c10; }
  .cs-addtocart__success-label, .cs-addtocart__success-icon, .cs-addtocart__fail-label, .cs-addtocart__fail-icon {
    opacity: 0; }
  .cs-addtocart__success-icon, .cs-addtocart__fail-icon {
    height: 1.725em;
    transition-delay: 0.2s; }
  .cs-addtocart__success-label, .cs-addtocart__fail-label {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate3d(-50%, -50%, 0) translateX(-2em);
    transition-delay: 0.2s;
    white-space: nowrap;
    padding-right: 3.5rem; }
  .cs-addtocart__minicart {
    width: 100%;
    text-align: center; }
    .cs-addtocart__minicart--sticky, .cs-addtocart__minicart--unstick {
      max-width: 128rem;
      width: 100%;
      margin: 0 auto;
      width: 100%;
      position: fixed;
      top: 0;
      left: 50%;
      transform: translate3d(-50%, 0, 0);
      z-index: 400;
      padding: 0;
      text-align: right;
      display: flex;
      justify-content: flex-end; }
      .cs-addtocart__minicart--sticky .ui-dialog, .cs-addtocart__minicart--unstick .ui-dialog {
        right: 0 !important; }
      .cs-addtocart__minicart--sticky .block-minicart:after, .cs-addtocart__minicart--unstick .block-minicart:after {
        right: 3.2rem !important; }
  .cs-addtocart__minicart--sticky .cs-addtocart__minicart-link,
  .cs-addtocart__minicart--unstick .cs-addtocart__minicart-link {
    text-align: center;
    padding: 2.5rem 1rem;
    background: #fff;
    box-shadow: 1px 3px 4.5rem 0 rgba(30, 48, 67, 0.34);
    animation: minicart-in 1s cubic-bezier(0, 0.77, 0.18, 1);
    position: relative; }
  .cs-addtocart__minicart--unstick .cs-addtocart__minicart-link {
    animation: minicart-out 0.5s cubic-bezier(0.55, 0.2, 0.89, 0.45); }
  .cs-addtocart__minicart-link:before {
    content: none !important; }
  .cs-addtocart__minicart-qty-badge-wrapper {
    position: absolute;
    opacity: 0;
    z-index: 600;
    transition: top 0.9s cubic-bezier(0.42, 0.31, 0.34, 0.93), left 0.9s cubic-bezier(0.42, 0.31, 0.34, 0.93);
    pointer-events: none; }
    .cs-addtocart__minicart-qty-badge-wrapper--animating {
      animation: move-qty-badge 1.2s cubic-bezier(0.42, 0.31, 0.34, 0.93);
      position: fixed;
      top: 0.5rem; }
      @media (min-width: 48em) {
        .cs-addtocart__minicart-qty-badge-wrapper--animating {
          top: 1.3rem; } }
      @media (min-width: 64em) {
        .cs-addtocart__minicart-qty-badge-wrapper--animating {
          position: absolute;
          top: 5.3rem; } }
      .cs-addtocart__minicart-qty-badge-wrapper--animating.cs-addtocart__minicart-qty-badge-wrapper--minicart-sticky {
        position: fixed;
        top: 1.8rem; }
    .cs-addtocart__minicart-qty-badge-wrapper .cs-addtocart__minicart-qty-badge {
      position: static;
      visibility: visible; }
  .cs-addtocart--loading .cs-addtocart__button-label, .cs-addtocart--done .cs-addtocart__button-label {
    opacity: 0;
    transform: translate3d(2em, 0, 0); }
  .cs-addtocart--loading .cs-addtocart__loading {
    opacity: 1;
    transform: scale(1) translate3d(-50%, -50%, 0) translateX(-1.25em); }
    .cs-addtocart--loading .cs-addtocart__loading-ball {
      animation: ball-in 1s infinite; }
  .cs-addtocart--done .cs-addtocart__button-icon {
    opacity: 0; }
  .cs-addtocart--done .cs-addtocart__feedback-bg {
    transform: translate3d(0, 0, 0); }
    .cs-addtocart--done .cs-addtocart__feedback-bg:after {
      transform: translate3d(-5.3rem, 0, 0); }
  .cs-addtocart--success .cs-addtocart__success-icon {
    opacity: 1; }
  .cs-addtocart--success .cs-addtocart__success-label {
    opacity: 1;
    transform: translate3d(-50%, -50%, 0); }
  .cs-addtocart--fail .cs-addtocart__fail-icon {
    opacity: 1; }
  .cs-addtocart--fail .cs-addtocart__fail-label {
    opacity: 1;
    transform: translate3d(-50%, -50%, 0); }
  .cs-addtocart--animation-done .cs-addtocart__button-label,
  .cs-addtocart--animation-done .cs-addtocart__button-icon {
    transition-delay: 0.5s; }
  .cs-addtocart--animation-done .cs-addtocart__feedback-bg {
    transition-delay: 0.2s; }
    .cs-addtocart--animation-done .cs-addtocart__feedback-bg, .cs-addtocart--animation-done .cs-addtocart__feedback-bg:after {
      transition: transform 0.4s cubic-bezier(0.86, 0.01, 0.83, 0.51); }
    .cs-addtocart--animation-done .cs-addtocart__feedback-bg:after {
      transition-delay: 0; }
  .cs-addtocart--animation-done .cs-addtocart__success-label,
  .cs-addtocart--animation-done .cs-addtocart__fail-icon {
    transition: opacity 0.6s linear, transform 0.6s cubic-bezier(0.86, 0.01, 0.83, 0.51);
    transition-delay: 0; }
  .cs-addtocart--animation-done .cs-addtocart__success-icon,
  .cs-addtocart--animation-done .cs-addtocart__fail-icon {
    transition-delay: 0; }

@keyframes ball-in {
  0% {
    opacity: 0; }
  50% {
    opacity: 1; }
  100% {
    opacity: 0; } }

@keyframes minicart-in {
  0% {
    transform: translate3d(0, -100%, 0); }
  100% {
    transform: translate3d(0, 0, 0); } }

@keyframes minicart-out {
  0% {
    transform: translate3d(0, 0, 0); }
  100% {
    transform: translate3d(0, -100%, 0); } }

@keyframes move-qty-badge {
  0% {
    opacity: 1; }
  15% {
    transform: scale(1); }
  80% {
    opacity: 1;
    transform: scale(1.5); }
  100% {
    opacity: 0;
    transform: scale(1); } }
  .cs-addtocart .block-minicart {
    margin-bottom: 0; }

/**
 * Breakpoint component used by include-media vendor library.
 */
@use 'sass:map';
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
/**
* Default project breakpoints - [em]
*/
/**
 * Breakpoint component used by include-media vendor library.
 */
@use 'sass:map';
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
/**
* Default project breakpoints - [em]
*/
/**
 * Breakpoint component used by include-media vendor library.
 */
@use 'sass:map';
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
/**
* Default project breakpoints - [em]
*/
/* stylelint-disable block-no-empty */
/* stylelint-enable */
/**
 * Breakpoint component used by include-media vendor library.
 */
@use 'sass:map';
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
/**
* Default project breakpoints - [em]
*/
.cs-authorization-link {
  display: flex;
  align-items: center;
  position: relative;
  margin-left: 0.9rem;
  padding: 0 0 0 0.3rem; }
  @media (min-width: 64em) {
    .cs-authorization-link {
      padding: 0 0 0 1.3rem;
      margin-left: 1.7rem; } }
  .cs-authorization-link:before {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    content: '';
    border-left: 0.2rem solid #fff; }
  .cs-authorization-link__link {
    display: flex;
    align-items: center; }
    .cs-authorization-link__link, .cs-authorization-link__link:visited {
      color: #7e57c2;
      text-decoration: none; }
    .cs-authorization-link__link:hover, .cs-authorization-link__link:focus, .cs-authorization-link__link:active, .cs-authorization-link__link:visited:hover, .cs-authorization-link__link:visited:focus {
      color: #4d2c91;
      text-decoration: none; }
    .cs-authorization-link__link:hover .cs-authorization-link__icon path {
      fill: #888; }
  .cs-authorization-link__icon {
    width: 1.8rem;
    height: 1rem;
    padding-right: 0.5rem; }
    .cs-authorization-link__icon path {
      fill: #888; }

/**
 * Breakpoint component used by include-media vendor library.
 */
@use 'sass:map';
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
/**
* Default project breakpoints - [em]
*/
/**
 * Breakpoint component used by include-media vendor library.
 */
@use 'sass:map';
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
/**
* Default project breakpoints - [em]
*/
/**
 * Breakpoint component used by include-media vendor library.
 */
@use 'sass:map';
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
/**
* Default project breakpoints - [em]
*/
/* stylelint-disable block-no-empty */
/* stylelint-enable */
/*
 * Because price-box is used in multiple components like tile, buybox etc,
 * we need to move variables to separate file to have possibility to include them
 * in each component without generate price-box component styles multiple times
*/
.cs-autocomplete {
  width: 100%;
  top: 100%;
  left: 0;
  box-sizing: border-box;
  background-color: #fff;
  border-radius: 3px;
  box-shadow: 0 0 10px 0 rgba(69, 90, 100, 0.17);
  z-index: 200;
  margin-top: -1px; }
  .cs-autocomplete .autocomplete-list dd, .cs-autocomplete__item {
    background: #fff;
    padding: 0.5rem 1rem;
    margin: 0;
    border-bottom: 1px solid #dcdcdc;
    display: flex;
    align-items: center;
    transition: background-color 0.15s linear;
    font-size: 1.29rem; }

@media (min-width: 48em) and (max-width: 63.99em) {
  .cs-autocomplete .autocomplete-list dd, .cs-autocomplete__item {
    padding: 1rem; } }
    .cs-autocomplete .autocomplete-list dd:hover, .cs-autocomplete .autocomplete-list dd.selected, .cs-autocomplete__item:hover, .cs-autocomplete__item.selected {
      background-color: #f0f0f0;
      cursor: pointer; }
    .cs-autocomplete .autocomplete-list dd:last-child, .cs-autocomplete__item:last-child {
      border-bottom: none; }
    .cs-autocomplete .autocomplete-list dd-image-container, .cs-autocomplete__item-image-container {
      padding: 0;
      margin-right: 1rem;
      flex-shrink: 0;
      display: flex;
      align-items: center;
      justify-content: center; }
    .cs-autocomplete .autocomplete-list dd-image, .cs-autocomplete__item-image {
      width: 3.6rem;
      height: 4.5rem; }
    .cs-autocomplete .autocomplete-list dd-details, .cs-autocomplete__item-details {
      flex: 1 1 100%;
      margin: 0; }
      .cs-autocomplete .autocomplete-list dd-details .f-fix, .cs-autocomplete__item-details .f-fix {
        height: 5.8rem;
        display: flex;
        flex-direction: column;
        justify-content: center; }
      .cs-autocomplete .autocomplete-list dd-details img, .cs-autocomplete__item-details img {
        display: block; }
    .cs-autocomplete .autocomplete-list dd-brand, .cs-autocomplete__item-brand {
      font-size: 1.2rem;
      color: #888; }
    .cs-autocomplete .autocomplete-list dd-name, .cs-autocomplete__item-name {
      font-size: 1.29rem;
      color: #455a64;
      font-weight: 700; }
    .cs-autocomplete .autocomplete-list dd-price, .cs-autocomplete__item-price {
      margin: 0.3rem 0 0; }
  .cs-autocomplete .price-box {
    display: flex; }
    .cs-autocomplete .price-box > .price {
      color: #324dcf;
      font-size: 1.5rem;
      font-weight: 700;
      margin-right: 0; }
    .cs-autocomplete .price-box .old-price > .price {
      text-decoration: line-through;
      color: #a8b1b7;
      font-size: 1.5rem;
      font-weight: 700; }
    .cs-autocomplete .price-box .special-price > .price {
      color: #e41f12;
      font-size: 1.5rem;
      font-weight: 700; }
    .cs-autocomplete .price-box .minimal-price-link {
      display: none; }
    .cs-autocomplete .price-box .old-price {
      order: -1; }
      .cs-autocomplete .price-box .old-price .price {
        margin-right: 1rem; }
  .cs-autocomplete__badges {
    display: inline-flex;
    flex-direction: column;
    align-items: flex-end;
    margin-left: 1rem; }
  .cs-autocomplete__badge {
    display: inline-flex;
    justify-content: center;
    align-items: center;
    position: relative;
    background-color: #7e57c2;
    color: #fff;
    border: 0;
    border-radius: 7px;
    padding: 0 0.7rem;
    font-size: 1.1rem;
    font-weight: 700;
    min-height: 2em;
    text-transform: uppercase; }
    .cs-autocomplete__badge + .cs-autocomplete__badge {
      margin-top: 0.5rem; }
    .cs-autocomplete__badge--popular {
      background-color: #37b841;
      color: #fff; }
      .cs-autocomplete__badge--popular .cs-autocomplete__badge-text {
        line-height: normal; }
        .cs-autocomplete__badge--popular .cs-autocomplete__badge-text + .cs-autocomplete__badge--popular .cs-autocomplete__badge-text {
          margin-left: 0.5rem; }
    .cs-autocomplete__badge--free-shipping {
      background-color: #37b841;
      color: #fff; }
      .cs-autocomplete__badge--free-shipping .cs-autocomplete__badge-text {
        line-height: normal; }
        .cs-autocomplete__badge--free-shipping .cs-autocomplete__badge-text + .cs-autocomplete__badge--free-shipping .cs-autocomplete__badge-text {
          margin-left: 0.5rem; }
  .cs-autocomplete__badge-text {
    line-height: normal; }
    .cs-autocomplete__badge-text + .cs-autocomplete__badge-text {
      margin-left: 0.5rem; }
    @media (min-width: 23.125em) {
      .cs-autocomplete__badge-text {
        white-space: nowrap; } }

.autocomplete-list {
  margin: -1px 0 1rem;
  border-top: 1px solid #dcdcdc; }
  .autocomplete-list:first-child {
    border-top: 0; }
  .autocomplete-list:last-child {
    margin-bottom: 0; }
  .autocomplete-list .amount {
    color: #888;
    font-size: 1.29rem;
    font-weight: 700;
    margin-left: 0.5rem; }
    .autocomplete-list .amount:not(:empty):after {
      content: ')'; }
    .autocomplete-list .amount:not(:empty):before {
      content: '('; }

.autocomplete-list-title {
  padding: 1.2rem 3rem 1rem 1rem;
  border-bottom: none;
  color: #888;
  font-weight: 700;
  text-transform: uppercase;
  font-size: 1.29rem;
  letter-spacing: 1px;
  margin: 0; }
  .autocomplete-list-title:hover, .autocomplete-list-title.selected {
    background-color: transparent; }
  .autocomplete-list-title:not(:empty):first-child {
    border-top: transparent; }

@media (hover: none) {
  html.autocomplete-dropdown-visible {
    overflow-y: hidden; } }

@media (hover: none) {
  html.autocomplete-dropdown-visible body {
    overflow-y: hidden; } }

/**
 * Breakpoint component used by include-media vendor library.
 */
@use 'sass:map';
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
/**
* Default project breakpoints - [em]
*/
/**
 * Breakpoint component used by include-media vendor library.
 */
@use 'sass:map';
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
/**
* Default project breakpoints - [em]
*/
/***
 * Remove browser's margins, paddings and list style rules
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
.cs-breadcrumbs {
  padding-top: 1.3rem;
  padding-bottom: 1.3rem;
  font-weight: 400; }
  .cs-breadcrumbs__list {
    margin: 0;
    padding: 0;
    list-style: none; }
  .cs-breadcrumbs__item {
    position: relative;
    display: inline-block;
    margin: 0;
    padding: 0 1.95em 0 0;
    cursor: pointer;
    font-size: 1.6rem; }
    .cs-breadcrumbs__item:last-child {
      padding: 0;
      color: #11a099;
      cursor: default; }
    .cs-breadcrumbs__item:not(:last-child):after {
      position: absolute;
      top: 50%;
      right: 0.8em;
      content: ">";
      transform: translateY(-50%);
      line-height: 1;
      color: #888; }
  .cs-breadcrumbs__link {
    position: relative;
    display: inline-block;
    color: #888; }
    .cs-breadcrumbs__link:visited {
      color: #888; }
    .cs-breadcrumbs__link:hover {
      text-decoration: none;
      color: #455a64; }
  .cs-breadcrumbs__separator-icon {
    position: absolute;
    top: 50%;
    right: 0.5em;
    transform: translateY(-50%);
    width: 0.8em;
    height: 0.8em;
    fill: #888; }

.cs-container--breadcrumbs {
  max-width: none;
  display: none;
  background: #edeff1; }
  @media (min-width: 48em) {
    .cs-container--breadcrumbs {
      display: block;
      background: #edeff1; } }

/**
 * Breakpoint component used by include-media vendor library.
 */
@use 'sass:map';
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
/**
* Default project breakpoints - [em]
*/
/**
 * Breakpoint component used by include-media vendor library.
 */
@use 'sass:map';
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
/**
* Default project breakpoints - [em]
*/
/**
 * Breakpoint component used by include-media vendor library.
 */
@use 'sass:map';
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
/**
* Default project breakpoints - [em]
*/
/**
 * Breakpoint component used by include-media vendor library.
 */
@use 'sass:map';
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
/**
* Default project breakpoints - [em]
*/
/*
 * Function to get value from a list of values, based on side
 * @param {string} $variable: variable with a list of values (like paddings, margins etc.);
 * @param {string} $side: side (up / right / down / left) for which we want to get value
 * Example:
 * $component_padding: 1rem 2rem 3rem;
 * get-value-from-list($component_padding, 'right') // 2rem
 * get-value-from-list($component_padding, 'bottom') // 3rem
 */
/* stylelint-disable block-no-empty */
/* stylelint-enable */
.cs-button {
  display: inline-block;
  font-size: 1.8rem;
  font-weight: 700;
  text-align: center;
  position: relative;
  line-height: 1.275em;
  margin: 0;
  text-transform: none;
  padding: 0.75em 1em;
  box-sizing: border-box;
  transition: background-color 0.5s, border-color 0.5s, fill 0.5s, color 0.5s;
  vertical-align: middle;
  z-index: 5; }
  .cs-button:hover, .cs-button:focus, .cs-button:active {
    background-color: #7e57c2 !important; }
  .cs-button:before, .cs-button:after {
    content: '';
    position: absolute;
    top: -1px;
    bottom: -1px;
    right: -1px; }
  .cs-button:before {
    width: 3.4em;
    border-radius: 0 200px 200px 0;
    z-index: -1;
    background: linear-gradient(0deg, transparent 0%, transparent 0%, #4d2c91 0%, #4d2c91 100%); }
  .cs-button:after {
    width: 3em;
    min-width: auto;
    background-color: #4d2c91;
    transition: width 0.25s linear;
    z-index: -2;
    border-radius: 200px; }
  .cs-button:hover:after {
    width: calc(100% + 2px); }
  .cs-button::-moz-focus-inner {
    border: 0;
    padding: 0;
    margin: 0; }
  .cs-button, .cs-button:visited {
    cursor: pointer;
    border-radius: 200px;
    outline-offset: 1px;
    text-decoration: none;
    box-shadow: none;
    border: 1px solid transparent;
    color: #fff;
    background-color: #7e57c2; }
    .cs-button *, .cs-button:visited * {
      color: #fff;
      fill: #fff; }
  .cs-button:hover:not([disabled]), .cs-button:focus:not([disabled]), .cs-button:active:not([disabled]) {
    box-shadow: none;
    outline: none;
    text-decoration: none;
    border: 1px solid transparent;
    color: #fff;
    background-color: #4d2c91; }
    .cs-button:hover:not([disabled]) *, .cs-button:focus:not([disabled]) *, .cs-button:active:not([disabled]) * {
      color: #fff;
      fill: #fff; }
  .cs-button[disabled] {
    opacity: 0.65;
    cursor: auto; }
  .cs-button__span {
    margin-top: 0;
    z-index: 1;
    font-weight: 700;
    vertical-align: baseline;
    display: inline-block;
    line-height: 1.275em;
    letter-spacing: normal;
    padding-left: 0;
    padding-right: 4em; }
  .cs-button__icon {
    max-width: 1em;
    max-height: 1.8rem;
    z-index: 2;
    height: auto;
    width: 100%;
    position: absolute;
    top: 50%;
    transform: translate3d(0, -50%, 0);
    margin-right: 0;
    right: 1em; }

.cs-button-component {
  display: inline-block;
  font-size: 1.8rem;
  font-weight: 700;
  text-align: center;
  position: relative;
  line-height: 1.275em;
  margin: 0;
  text-transform: none;
  padding: 0.75em 1em;
  box-sizing: border-box;
  transition: background-color 0.5s, border-color 0.5s, fill 0.5s, color 0.5s;
  vertical-align: middle;
  z-index: 5;
  margin: 0 0 3rem;
  position: relative;
  left: 50%;
  transform: translateX(-50%); }
  .cs-button-component:hover, .cs-button-component:focus, .cs-button-component:active {
    background-color: #7e57c2 !important; }
  .cs-button-component:before, .cs-button-component:after {
    content: '';
    position: absolute;
    top: -1px;
    bottom: -1px;
    right: -1px; }
  .cs-button-component:before {
    width: 3.4em;
    border-radius: 0 200px 200px 0;
    z-index: -1;
    background: linear-gradient(0deg, transparent 0%, transparent 0%, #4d2c91 0%, #4d2c91 100%); }
  .cs-button-component:after {
    width: 3em;
    min-width: auto;
    background-color: #4d2c91;
    transition: width 0.25s linear;
    z-index: -2;
    border-radius: 200px; }
  .cs-button-component:hover:after {
    width: calc(100% + 2px); }
  .cs-button-component::-moz-focus-inner {
    border: 0;
    padding: 0;
    margin: 0; }
  .cs-button-component, .cs-button-component:visited {
    cursor: pointer;
    border-radius: 200px;
    outline-offset: 1px;
    text-decoration: none;
    box-shadow: none;
    border: 1px solid transparent;
    color: #fff;
    background-color: #7e57c2; }
    .cs-button-component *, .cs-button-component:visited * {
      color: #fff;
      fill: #fff; }
  .cs-button-component:hover:not([disabled]), .cs-button-component:focus:not([disabled]), .cs-button-component:active:not([disabled]) {
    box-shadow: none;
    outline: none;
    text-decoration: none;
    border: 1px solid transparent;
    color: #fff;
    background-color: #4d2c91; }
    .cs-button-component:hover:not([disabled]) *, .cs-button-component:focus:not([disabled]) *, .cs-button-component:active:not([disabled]) * {
      color: #fff;
      fill: #fff; }
  .cs-button-component[disabled] {
    opacity: 0.65;
    cursor: auto; }
  @media (min-width: 48em) {
    .cs-button-component {
      margin: 0 0 4rem; } }
  .cs-button-component--skip-spacing {
    margin: 0; }
  .cs-button-component__span {
    margin-top: 0;
    z-index: 1;
    font-weight: 700;
    vertical-align: baseline;
    display: inline-block;
    line-height: 1.275em;
    letter-spacing: normal;
    padding-left: 0;
    padding-right: 4em; }
  .cs-button-component__icon {
    max-width: 1em;
    max-height: 1.8rem;
    z-index: 2;
    height: auto;
    width: 100%;
    position: absolute;
    top: 50%;
    transform: translate3d(0, -50%, 0);
    margin-right: 0;
    right: 1em; }
  .cs-button-component__amount:before {
    content: '('; }
  .cs-button-component__amount:after {
    content: ')'; }

/**
 * Breakpoint component used by include-media vendor library.
 */
@use 'sass:map';
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
/**
* Default project breakpoints - [em]
*/
/**
 * Breakpoint component used by include-media vendor library.
 */
@use 'sass:map';
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
/**
* Default project breakpoints - [em]
*/
/**
 * Breakpoint component used by include-media vendor library.
 */
@use 'sass:map';
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
/**
* Default project breakpoints - [em]
*/
/**
 * Mixins for flexible containers declaration.
 */
/**
 * Defines page container. This mixin makes sure that the content has always equal padding
 * for mobile screens on both size of the device.
 */
/**
 * Negates parent container's padding and sets it own.
 * Somethimes this has to be done to make background even to other containers' content.
 */
/**
 * Defines container wrapper that makes sure contnet doesn't extend above certain width and is always centered.
 */
.cs-container {
  padding-left: 1.5rem;
  padding-right: 1.5rem;
  margin: 0 auto;
  width: 100%;
  box-sizing: border-box; }
  .cs-container__inner {
    max-width: 128rem;
    width: 100%;
    margin: 0 auto;
    position: relative; }
    .cs-container__inner:before, .cs-container__inner:after {
      content: '';
      display: table;
      clear: both; }
  .cs-container__aside {
    width: 100%; }
    @media (min-width: 48em) {
      .cs-container__aside {
        width: 40%; } }
    @media (min-width: 64em) {
      .cs-container__aside {
        width: 32%; } }
    @media (min-width: 90em) {
      .cs-container__aside {
        width: 30%; } }
  .cs-container__main-column {
    width: 56%;
    position: relative; }
    @media (min-width: 64em) {
      .cs-container__main-column {
        width: 65%; } }
    @media (min-width: 90em) {
      .cs-container__main-column {
        width: 67%; } }
    @media (max-width: 47.99em) {
      .cs-container__main-column {
        max-width: 100% !important;
        width: 100% !important; } }
    @media (min-width: 64em) {
      .cs-container__main-column--space-top {
        padding-top: 3rem; } }
  .cs-container--contrast {
    background-color: #f0f0f0; }
    @media (min-width: 64em) {
      .cs-container--contrast {
        background-image: url("../../frontend/Creativestyle/theme-papilart/pl_PL/images/background.png");
        background-size: cover;
        background-repeat: no-repeat; } }
  .cs-container--spacious {
    padding-top: 2rem;
    padding-bottom: 2rem; }
    @media (min-width: 64em) {
      .cs-container--spacious {
        padding-top: 3rem;
        padding-bottom: 3rem; } }
  .cs-container--noscroll {
    overflow: hidden; }
  .cs-container--ontop {
    z-index: 301; }
  .cs-container--viewport-width {
    max-width: none; }
  .cs-container--no-padding {
    padding-left: 0;
    padding-right: 0; }
  .cs-container--use-whole-screen .cs-container__inner {
    max-width: 100%; }

/**
 * Breakpoint component used by include-media vendor library.
 */
@use 'sass:map';
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
/**
* Default project breakpoints - [em]
*/
/**
 * Breakpoint component used by include-media vendor library.
 */
@use 'sass:map';
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
/**
* Default project breakpoints - [em]
*/
/*
 * Function to get value from a list of values, based on side
 * @param {string} $variable: variable with a list of values (like paddings, margins etc.);
 * @param {string} $side: side (up / right / down / left) for which we want to get value
 * Example:
 * $component_padding: 1rem 2rem 3rem;
 * get-value-from-list($component_padding, 'right') // 2rem
 * get-value-from-list($component_padding, 'bottom') // 3rem
 */
/* stylelint-disable block-no-empty */
/* stylelint-enable */
/**
 * Breakpoint component used by include-media vendor library.
 */
@use 'sass:map';
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
/**
* Default project breakpoints - [em]
*/
/* stylelint-disable block-no-empty */
/* stylelint-enable */
/**
 * Breakpoint component used by include-media vendor library.
 */
@use 'sass:map';
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
/**
* Default project breakpoints - [em]
*/
.cs-cookie-message {
  position: fixed;
  bottom: 0;
  left: 0;
  width: 100%;
  margin: 0 auto;
  box-sizing: border-box;
  padding: 1.2rem;
  background-color: #fff;
  color: #455a64;
  box-shadow: 0 -0.3rem 0.5rem 0 rgba(0, 0, 0, 0.15);
  font-size: 85%;
  z-index: 98;
  transform: translate3d(0, 110%, 0);
  opacity: 0;
  transition: transform 0.25s ease-out, opacity 0.18s linear;
  display: flex;
  justify-content: center;
  align-items: center; }
  .cs-cookie-message--shown {
    z-index: 202;
    transform: translate3d(0, 0, 0);
    opacity: 1; }
  .cs-cookie-message__inner {
    display: flex;
    justify-content: center;
    flex-direction: column;
    align-items: center;
    position: relative;
    padding-left: 8rem; }
    @media (min-width: 48em) {
      .cs-cookie-message__inner {
        flex-direction: row; } }
  .cs-cookie-message__button-wrapper {
    align-self: flex-start; }
    @media (min-width: 48em) {
      .cs-cookie-message__button-wrapper {
        align-self: unset; } }
  .cs-cookie-message__text {
    position: relative;
    margin: 0; }
    .cs-cookie-message__text .block-cms-link.widget,
    .cs-cookie-message__text p {
      margin: 0;
      display: inline; }
    .cs-cookie-message__text a, .cs-cookie-message__text a:visited {
      color: #7e57c2;
      text-decoration: none; }
    .cs-cookie-message__text a:hover, .cs-cookie-message__text a:focus, .cs-cookie-message__text a:active, .cs-cookie-message__text a:visited:hover, .cs-cookie-message__text a:visited:focus {
      color: #4d2c91;
      text-decoration: none; }
  .cs-cookie-message__icon {
    position: absolute;
    left: 0.5rem;
    width: 5.5rem;
    height: 5.5rem;
    top: 50%;
    transform: translateY(-50%); }
    @media (min-width: 48em) {
      .cs-cookie-message__icon {
        top: -3.5rem;
        transform: translateY(0); } }
  .cs-cookie-message__button {
    display: inline-block;
    font-size: 1.8rem;
    font-weight: 700;
    text-align: center;
    position: relative;
    line-height: 1.275em;
    margin: 0;
    text-transform: none;
    padding: 0.75em 1em;
    box-sizing: border-box;
    transition: background-color 0.5s, border-color 0.5s, fill 0.5s, color 0.5s;
    vertical-align: middle;
    z-index: 5;
    white-space: nowrap;
    margin-top: 1.2rem; }
    .cs-cookie-message__button:hover, .cs-cookie-message__button:focus, .cs-cookie-message__button:active {
      background-color: #7e57c2 !important; }
    .cs-cookie-message__button:before, .cs-cookie-message__button:after {
      content: '';
      position: absolute;
      top: -1px;
      bottom: -1px;
      right: -1px; }
    .cs-cookie-message__button:before {
      width: 3.4em;
      border-radius: 0 200px 200px 0;
      z-index: -1;
      background: linear-gradient(0deg, transparent 0%, transparent 0%, #4d2c91 0%, #4d2c91 100%); }
    .cs-cookie-message__button:after {
      width: 3em;
      min-width: auto;
      background-color: #4d2c91;
      transition: width 0.25s linear;
      z-index: -2;
      border-radius: 200px; }
    .cs-cookie-message__button:hover:after {
      width: calc(100% + 2px); }
    .cs-cookie-message__button::-moz-focus-inner {
      border: 0;
      padding: 0;
      margin: 0; }
    .cs-cookie-message__button, .cs-cookie-message__button:visited {
      cursor: pointer;
      border-radius: 200px;
      outline-offset: 1px;
      text-decoration: none;
      box-shadow: none;
      border: 1px solid transparent;
      color: #fff;
      background-color: #7e57c2; }
      .cs-cookie-message__button *, .cs-cookie-message__button:visited * {
        color: #fff;
        fill: #fff; }
    .cs-cookie-message__button:hover:not([disabled]), .cs-cookie-message__button:focus:not([disabled]), .cs-cookie-message__button:active:not([disabled]) {
      box-shadow: none;
      outline: none;
      text-decoration: none;
      border: 1px solid transparent;
      color: #fff;
      background-color: #4d2c91; }
      .cs-cookie-message__button:hover:not([disabled]) *, .cs-cookie-message__button:focus:not([disabled]) *, .cs-cookie-message__button:active:not([disabled]) * {
        color: #fff;
        fill: #fff; }
    .cs-cookie-message__button[disabled] {
      opacity: 0.65;
      cursor: auto; }
    @media (min-width: 48em) {
      .cs-cookie-message__button {
        margin-top: 0;
        margin-left: 1.2rem; } }
  .cs-cookie-message__button-span {
    margin-top: 0;
    z-index: 1;
    font-weight: 700;
    vertical-align: baseline;
    display: inline-block;
    line-height: 1.275em;
    letter-spacing: normal;
    padding-left: 0;
    padding-right: 4em; }
  .cs-cookie-message__button-icon {
    max-width: 1em;
    max-height: 1.8rem;
    z-index: 2;
    height: auto;
    width: 100%;
    position: absolute;
    top: 50%;
    transform: translate3d(0, -50%, 0);
    margin-right: 0;
    right: 1em; }

/**
 * Breakpoint component used by include-media vendor library.
 */
@use 'sass:map';
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
/**
* Default project breakpoints - [em]
*/
/**
 * Breakpoint component used by include-media vendor library.
 */
@use 'sass:map';
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
/**
* Default project breakpoints - [em]
*/
/**
 * Breakpoint component used by include-media vendor library.
 */
@use 'sass:map';
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
/**
* Default project breakpoints - [em]
*/
.cs-dailydeal {
  display: none; }
  .cs-dailydeal__header {
    display: flex;
    width: 100%;
    margin: 0 0 0.5rem;
    font-size: 1.2rem;
    justify-content: space-between;
    align-items: flex-start; }
  .cs-dailydeal__title {
    margin: 0;
    text-transform: uppercase;
    font-weight: 600; }
  .cs-dailydeal__items-amount {
    font-weight: 600; }
  .cs-dailydeal__countdown {
    display: flex;
    margin: 0;
    justify-content: stretch;
    align-items: stretch; }
  .cs-dailydeal__countdown-element {
    position: relative;
    z-index: 3;
    width: 100%;
    padding: 0.3rem 0.5rem;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    line-height: 1;
    background: none;
    border-radius: 7px; }
    .cs-dailydeal__countdown-element--special {
      width: 50%;
      background: #e41f12;
      z-index: 5; }
    .cs-dailydeal--teaser .cs-dailydeal__countdown-element {
      min-height: 4rem; }
  .cs-dailydeal__countdown-icon {
    width: 1.9rem;
    height: 2.4rem;
    fill: #fff; }
  .cs-dailydeal__countdown-value {
    display: block;
    font-size: 1.5rem;
    font-weight: 600;
    color: #e41f12;
    padding: 2px 0 0; }
  .cs-dailydeal__countdown-label {
    display: block;
    font-size: 1.1rem;
    font-weight: inherit;
    color: #888;
    padding: 2px 0 0; }
  .cs-dailydeal--tile {
    position: absolute;
    left: 0;
    bottom: 0;
    width: 100%;
    z-index: 3; }
    .cs-dailydeal--tile .cs-dailydeal__availability {
      position: relative;
      background: #888;
      font-size: 1rem;
      color: #fff;
      padding: 2px 4px;
      z-index: 4;
      font-weight: 300;
      border-radius: 7px; }
    @media (max-width: 599px) {
      .cs-dailydeal--tile .cs-dailydeal__countdown-element {
        margin-left: 0;
        margin-right: 0; }
        .cs-dailydeal--tile .cs-dailydeal__countdown-element:last-child:not(:only-child) {
          margin-left: 0; }
        .cs-dailydeal--tile .cs-dailydeal__countdown-element:last-child .cs-dailydeal__countdown-value:after {
          content: none; }
        .cs-dailydeal--tile .cs-dailydeal__countdown-element--special {
          width: auto; }
        .cs-dailydeal--tile .cs-dailydeal__countdown-element:not(.cs-dailydeal__countdown-element--special) {
          border-radius: 0;
          width: auto;
          padding: 0; }
          .cs-dailydeal--tile .cs-dailydeal__countdown-element:not(.cs-dailydeal__countdown-element--special):before {
            transform: none; }
          .cs-dailydeal--tile .cs-dailydeal__countdown-element:not(.cs-dailydeal__countdown-element--special):nth-child(2) {
            padding-left: 1.8rem;
            margin-left: -1rem !important; }
          .cs-dailydeal--tile .cs-dailydeal__countdown-element:not(.cs-dailydeal__countdown-element--special):last-child {
            padding-right: 0.8rem;
            border-radius: 0 7px 7px 0; }
      .cs-dailydeal--tile .cs-dailydeal__countdown-value {
        font-size: 1.3rem; }
        .cs-dailydeal--tile .cs-dailydeal__countdown-value:after {
          content: ':'; }
      .cs-dailydeal--tile .cs-dailydeal__countdown-label {
        display: none; } }
  .cs-dailydeal__badge-pdp-icon {
    width: 1.5rem;
    height: 1.5rem;
    z-index: 10;
    fill: #fff; }

/**
 * Breakpoint component used by include-media vendor library.
 */
@use 'sass:map';
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
/**
* Default project breakpoints - [em]
*/
/**
 * Breakpoint component used by include-media vendor library.
 */
@use 'sass:map';
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
/**
* Default project breakpoints - [em]
*/
@media (max-width: 47.99em) {
  .cs-display-controller--hidden-mobile {
    display: none; } }

@media (min-width: 48em) {
  .cs-display-controller--hidden-desktop {
    display: none; } }

/**
 * Breakpoint component used by include-media vendor library.
 */
@use 'sass:map';
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
/**
* Default project breakpoints - [em]
*/
/**
 * Breakpoint component used by include-media vendor library.
 */
@use 'sass:map';
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
/**
* Default project breakpoints - [em]
*/
/***
 * Remove browser's margins, paddings and list style rules
 */
/**
 * Breakpoint component used by include-media vendor library.
 */
@use 'sass:map';
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
/**
* Default project breakpoints - [em]
*/
/* stylelint-disable block-no-empty */
/* stylelint-enable */
.cs-dropdown-switcher {
  white-space: nowrap;
  cursor: pointer;
  width: 100%; }
  @media (min-width: 64em) {
    .cs-dropdown-switcher {
      position: relative;
      display: inline-flex;
      align-items: center;
      flex-shrink: 0; }
      .cs-dropdown-switcher:before {
        position: absolute;
        top: 0;
        bottom: 0;
        left: 1.3rem;
        content: '';
        border-left: 0.2rem solid #fff;
        display: block; } }
  @media (min-width: 64em) {
    .cs-dropdown-switcher--stores:before {
      display: none; } }
  .cs-dropdown-switcher__option-icon {
    min-width: 1.5rem;
    height: 1.5rem;
    margin-right: 0.6rem;
    margin-bottom: 0.2rem;
    display: inline-block; }
    @media (min-width: 64em) {
      .cs-dropdown-switcher--language .cs-dropdown-switcher__option-icon {
        width: 1.5rem; } }
  @media (min-width: 64em) {
    .cs-dropdown-switcher .switcher-options {
      display: flex; } }
  .cs-dropdown-switcher__trigger {
    padding: 2.4rem 2rem;
    font-size: 1.4rem;
    font-weight: 700;
    border-bottom: 1px #dcdcdc solid;
    position: relative;
    position: relative; }
    .cs-dropdown-switcher__trigger:before, .cs-dropdown-switcher__trigger:after {
      content: '';
      position: absolute;
      top: 50%;
      width: 0.7rem;
      height: 0.1rem;
      left: auto;
      background-color: #7e57c2;
      transition: transform 0.15s linear, right 0.15s linear, background-color 0.15s linear;
      backface-visibility: hidden; }
    .cs-dropdown-switcher__trigger:before {
      transform: rotate(45deg) translate3d(0, 0, 0);
      right: 3rem; }
    .cs-dropdown-switcher__trigger:after {
      transform: rotate(-45deg) translate3d(0, 0, 0);
      right: 2.5rem; }
    .cs-dropdown-switcher__trigger.active:before {
      transform: rotate(-45deg); }
    .cs-dropdown-switcher__trigger.active:after {
      transform: rotate(45deg); }
    @media (min-width: 64em) {
      .cs-dropdown-switcher__trigger {
        height: 100%;
        display: inline-flex;
        align-items: center;
        margin-left: 2rem;
        font-size: 1.1rem;
        font-weight: 400;
        padding: 0 1.5rem 0 0;
        border-bottom: none;
        position: relative; }
        .cs-dropdown-switcher__trigger:before, .cs-dropdown-switcher__trigger:after {
          content: '';
          position: absolute;
          top: 50%;
          width: 0.7rem;
          height: 0.1rem;
          left: auto;
          background-color: #000;
          transition: transform 0.15s linear, right 0.15s linear, background-color 0.15s linear;
          backface-visibility: hidden; }
        .cs-dropdown-switcher__trigger:before {
          transform: rotate(45deg) translate3d(0, 0, 0);
          right: 0.5rem; }
        .cs-dropdown-switcher__trigger:after {
          transform: rotate(-45deg) translate3d(0, 0, 0);
          right: 0; }
        .cs-dropdown-switcher__trigger.active:before {
          transform: rotate(-45deg); }
        .cs-dropdown-switcher__trigger.active:after {
          transform: rotate(45deg); } }
    .active .cs-dropdown-switcher__trigger {
      background: transparent;
      border-top-left-radius: 3px;
      border-top-right-radius: 3px;
      border: none;
      position: relative;
      width: 100%; }
      @media (max-width: 63.99em) {
        .active .cs-dropdown-switcher__trigger {
          padding: 2.4rem 2rem;
          border-style: none; } }
    .cs-dropdown-switcher__trigger-span {
      display: flex;
      align-items: center; }
  .cs-dropdown-switcher__list {
    margin: 0;
    padding: 0;
    list-style: none;
    display: none;
    list-style: none;
    font-size: 1.1rem;
    border-bottom-left-radius: 3px;
    border-bottom-right-radius: 3px;
    border-color: #f0f0f0;
    border-style: solid;
    border-width: 0 1px 1px;
    width: 100%; }
    @media (min-width: 64em) {
      .cs-dropdown-switcher__list {
        background: #fff;
        min-width: 100%;
        position: absolute;
        top: 100%;
        right: -1rem;
        left: 1rem; } }
    .cs-dropdown-switcher__list .cs-dropdown-switcher--currency {
      right: -1rem; }
    .active .cs-dropdown-switcher__list {
      display: block; }
    .cs-dropdown-switcher__list-item {
      margin: 0;
      white-space: nowrap; }
    .cs-dropdown-switcher__list-item-link {
      width: 100%;
      color: #455a64 !important;
      display: flex;
      align-items: center; }
      .cs-dropdown-switcher__list-item-link:hover {
        background-color: #f0f0f0;
        text-decoration: none; }
      @media (max-width: 63.99em) {
        .cs-dropdown-switcher__list-item-link {
          padding: 1.4rem 2rem;
          font-size: 1.4rem; } }
      @media (min-width: 64em) {
        .cs-dropdown-switcher__list-item-link {
          padding: 0.6rem 1.8rem;
          font-size: 1.1rem; } }

/**
 * Breakpoint component used by include-media vendor library.
 */
@use 'sass:map';
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
/**
* Default project breakpoints - [em]
*/
/*
 * Function to get value from a list of values, based on side
 * @param {string} $variable: variable with a list of values (like paddings, margins etc.);
 * @param {string} $side: side (up / right / down / left) for which we want to get value
 * Example:
 * $component_padding: 1rem 2rem 3rem;
 * get-value-from-list($component_padding, 'right') // 2rem
 * get-value-from-list($component_padding, 'bottom') // 3rem
 */
/* stylelint-disable block-no-empty */
/* stylelint-enable */
/* stylelint-disable block-no-empty */
/* stylelint-enable */
/* Radio and checkbox styling */
/* stylelint-disable no-descending-specificity */
.cs-field,
.cs-input {
  font-size: 1.8rem;
  display: flex;
  flex-wrap: wrap;
  align-content: flex-start;
  align-items: center;
  border: 0;
  padding: 0;
  margin: 0;
  width: 100%; }
  .cs-field._editing .field-error,
  .cs-input._editing .field-error {
    display: none; }
  .cs-field__control,
  .cs-input__control {
    width: 100%; }
  .cs-field__label,
  .cs-input__label {
    font-weight: 700;
    font-size: 0.85em;
    width: 100%;
    text-transform: none;
    color: inherit;
    padding-bottom: 0.5rem; }
    .required .cs-field__label:after, .required
    .cs-input__label:after {
      content: ' *';
      color: #e41f12; }
  .cs-field__input, .cs-field__textarea,
  .cs-input__input,
  .cs-input__textarea {
    font-size: 1em;
    line-height: 1.275em;
    padding: 0.75em 1em;
    color: #455a64;
    background: #fff;
    border-radius: 200px;
    border: 2px solid #dcdcdc;
    box-shadow: none;
    transition: border-color 0.5s;
    margin: 0 0 0.2em;
    width: 100%;
    background-clip: padding-box;
    font-family: inherit; }
    .cs-field__input:hover:not([disabled]), .cs-field__input:focus:not([disabled]), .cs-field__textarea:hover:not([disabled]), .cs-field__textarea:focus:not([disabled]),
    .cs-input__input:hover:not([disabled]),
    .cs-input__input:focus:not([disabled]),
    .cs-input__textarea:hover:not([disabled]),
    .cs-input__textarea:focus:not([disabled]) {
      border: 2px solid #7e57c2;
      box-shadow: none; }
    .cs-field__input::-moz-placeholder, .cs-field__textarea::-moz-placeholder, .cs-input__input::-moz-placeholder, .cs-input__textarea::-moz-placeholder {
      opacity: 1;
      color: #888; }
    .cs-field__input::placeholder, .cs-field__textarea::placeholder,
    .cs-input__input::placeholder,
    .cs-input__textarea::placeholder {
      opacity: 1;
      color: #888; }
    .cs-field__input[disabled], .cs-field__textarea[disabled],
    .cs-input__input[disabled],
    .cs-input__textarea[disabled] {
      opacity: 0.65; }
    .cs-field__input.mage-error, .cs-field__input.mage-error:hover:not(:focus), .cs-field__textarea.mage-error, .cs-field__textarea.mage-error:hover:not(:focus),
    .cs-input__input.mage-error,
    .cs-input__input.mage-error:hover:not(:focus),
    .cs-input__textarea.mage-error,
    .cs-input__textarea.mage-error:hover:not(:focus) {
      border: 2px solid #e41f12; }
  .cs-field__select,
  .cs-input__select {
    display: block;
    font-size: 1em;
    line-height: 1.275em;
    padding: 0.75em 1em;
    padding-right: 2.3em;
    color: #455a64;
    border-radius: 200px;
    border: 2px solid #dcdcdc;
    box-shadow: none;
    width: 100%;
    max-width: 100%;
    margin: 0 0 0.2em;
    outline: 0;
    -webkit-appearance: none;
       -moz-appearance: none;
            appearance: none;
    background-color: #fff;
    background-image: url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 9' fill='%23dcdcdc'%3e%3cpath d='M0 1.2C0 .5.6 0 1.2 0c.3 0 .6.1.8.3l6 5.9 6-5.9c.5-.4 1.2-.3 1.7.1.4.4.4 1.1 0 1.5L8.9 8.7c-.5.4-1.2.4-1.7 0L.4 2a.9.9 0 0 1-.4-.8z'/%3e%3c/svg%3e"), linear-gradient(0deg, transparent 0%, transparent 100%);
    background-repeat: no-repeat, repeat;
    background-position: right 0.8em top 52%, 0 0;
    background-size: 0.7em auto, 100%;
    transition: border-color 0.5s; }
    .cs-field__select:-moz-focusring, .cs-field__select::-moz-focus-inner,
    .cs-input__select:-moz-focusring,
    .cs-input__select::-moz-focus-inner {
      color: transparent !important;
      text-shadow: 0 0 0 #000 !important; }
    .cs-field__select:hover:not([disabled]), .cs-field__select:focus:not([disabled]),
    .cs-input__select:hover:not([disabled]),
    .cs-input__select:focus:not([disabled]) {
      border: 2px solid #7e57c2;
      box-shadow: none;
      background-image: url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 9' fill='%237e57c2'%3e%3cpath d='M0 1.2C0 .5.6 0 1.2 0c.3 0 .6.1.8.3l6 5.9 6-5.9c.5-.4 1.2-.3 1.7.1.4.4.4 1.1 0 1.5L8.9 8.7c-.5.4-1.2.4-1.7 0L.4 2a.9.9 0 0 1-.4-.8z'/%3e%3c/svg%3e"), linear-gradient(0deg, transparent 0%, transparent 100%); }
    .cs-field__select[disabled],
    .cs-input__select[disabled] {
      opacity: 0.65; }
    .cs-field__select option,
    .cs-input__select option {
      font-weight: 500;
      padding: 0;
      color: initial; }
  .cs-field__radio,
  .cs-input__radio {
    display: inline-block;
    height: 1em;
    width: 1em;
    margin: -0.0625em calc(0.5em + 1px) 0 0;
    font-size: 1em;
    overflow: hidden;
    vertical-align: middle;
    -webkit-appearance: none;
       -moz-appearance: none;
            appearance: none;
    flex: 0 0 auto;
    cursor: pointer;
    border: 2px solid #dcdcdc;
    box-shadow: none;
    background-color: transparent;
    background-repeat: no-repeat;
    background-position: 50% 50%;
    background-size: 1em 1em;
    outline: 0;
    border-radius: 50%;
    transition: background-color 0.5s, border-color 0.5s; }
    .cs-field__radio::-moz-focus-inner, .cs-field__radio:-moz-focusring,
    .cs-input__radio::-moz-focus-inner,
    .cs-input__radio:-moz-focusring {
      color: transparent !important;
      text-shadow: 0 0 0 #000 !important; }
    .cs-field__radio:hover:not([disabled]), .cs-field__radio:focus:not([disabled]),
    .cs-input__radio:hover:not([disabled]),
    .cs-input__radio:focus:not([disabled]) {
      border: 2px solid #4d2c91;
      box-shadow: none;
      background-color: transparent; }
    .cs-field__radio:checked,
    .cs-input__radio:checked {
      background-image: url("data:image/svg+xml;charset=UTF-8,%3csvg width='14' height='14' xmlns='http://www.w3.org/2000/svg'%3e%3ccircle fill='%237e57c2' r='4' cy='7' cx='7'/%3e%3c/svg%3e"); }
      .cs-field__radio:checked, .cs-field__radio:checked:hover, .cs-field__radio:checked:focus,
      .cs-input__radio:checked,
      .cs-input__radio:checked:hover,
      .cs-input__radio:checked:focus {
        border: 2px solid #7e57c2;
        background-color: transparent;
        box-shadow: none; }
    .cs-field__radio[disabled],
    .cs-field__radio[disabled] + .label,
    .cs-field__radio[disabled] + .cs-input__label,
    .cs-input__radio[disabled],
    .cs-input__radio[disabled] + .label,
    .cs-input__radio[disabled] + .cs-input__label {
      opacity: 0.65; }
  .cs-field__checkbox,
  .cs-input__checkbox {
    display: inline-block;
    height: 1em;
    width: 1em;
    margin: -0.0625em calc(0.5em + 1px) 0 0;
    font-size: 1em;
    overflow: hidden;
    vertical-align: middle;
    -webkit-appearance: none;
       -moz-appearance: none;
            appearance: none;
    flex: 0 0 auto;
    cursor: pointer;
    border: 2px solid #dcdcdc;
    box-shadow: none;
    background-color: transparent;
    background-repeat: no-repeat;
    background-position: 50% 50%;
    background-size: 1em 1em;
    outline: 0;
    border-radius: 50%;
    transition: background-color 0.5s, border-color 0.5s;
    border-radius: 7px;
    background-size: 1em 1em;
    border-color: #7e57c2; }
    .cs-field__checkbox::-moz-focus-inner, .cs-field__checkbox:-moz-focusring,
    .cs-input__checkbox::-moz-focus-inner,
    .cs-input__checkbox:-moz-focusring {
      color: transparent !important;
      text-shadow: 0 0 0 #000 !important; }
    .cs-field__checkbox:hover:not([disabled]), .cs-field__checkbox:focus:not([disabled]),
    .cs-input__checkbox:hover:not([disabled]),
    .cs-input__checkbox:focus:not([disabled]) {
      border: 2px solid #4d2c91;
      box-shadow: none;
      background-color: transparent; }
    .cs-field__checkbox:checked,
    .cs-input__checkbox:checked {
      background-image: url("data:image/svg+xml;charset=UTF-8,%3csvg width='14' height='14' xmlns='http://www.w3.org/2000/svg'%3e%3ccircle fill='%237e57c2' r='4' cy='7' cx='7'/%3e%3c/svg%3e"); }
      .cs-field__checkbox:checked, .cs-field__checkbox:checked:hover, .cs-field__checkbox:checked:focus,
      .cs-input__checkbox:checked,
      .cs-input__checkbox:checked:hover,
      .cs-input__checkbox:checked:focus {
        border: 2px solid #7e57c2;
        background-color: transparent;
        box-shadow: none; }
    .cs-field__checkbox[disabled],
    .cs-field__checkbox[disabled] + .label,
    .cs-field__checkbox[disabled] + .cs-input__label,
    .cs-input__checkbox[disabled],
    .cs-input__checkbox[disabled] + .label,
    .cs-input__checkbox[disabled] + .cs-input__label {
      opacity: 0.65; }
    .cs-field__checkbox:checked,
    .cs-input__checkbox:checked {
      background-image: url("data:image/svg+xml;charset=UTF-8,%3csvg width='14' height='14' xmlns='http://www.w3.org/2000/svg'%3e%3cpath fill='%237e57c2' d='M5.313 10.108H5.24a1.064 1.005 0 0 1-.75-.41l-1.947-2.55a1.064 1.005 0 0 1 1.723-1.175L5.463 7.56 9.06 4.19a1.064 1.005 0 0 1 .75-.297h.846a1.064 1.005 0 0 1 0 2.004h-.45L6.064 9.81a1.064 1.005 0 0 1-.75.298z'/%3e%3c/svg%3e"); }
    .cs-field__checkbox.mage-error, .cs-field__checkbox.mage-error:hover:not(:focus),
    .cs-input__checkbox.mage-error,
    .cs-input__checkbox.mage-error:hover:not(:focus) {
      border: 2px solid #e41f12; }
  .cs-field__icon,
  .cs-input__icon {
    position: absolute;
    width: 1.3em;
    height: 1.3em;
    right: 0.8em;
    top: 0.8em;
    display: none; }
  .cs-field__note,
  .cs-input__note {
    display: block;
    font-size: 0.85em;
    padding: 0.3em 0 0;
    color: #696969; }
  .cs-field__error,
  .cs-input__error {
    display: block;
    font-size: 0.85em;
    padding: 0.3em 0 0;
    color: #696969;
    color: #e41f12; }

.field {
  font-size: 1.8rem;
  display: flex;
  flex-wrap: wrap;
  align-content: flex-start;
  align-items: center;
  border: 0;
  padding: 0;
  margin: 0;
  width: 100%; }
  .field._editing .field-error {
    display: none; }
  .field._success:not(._warn) .control {
    position: relative; }
    .field._success:not(._warn) .control:after {
      position: absolute;
      width: 1.3em;
      height: 1.3em;
      right: 0.8em;
      top: 0.8em;
      display: none;
      background: url("../../frontend/Creativestyle/theme-papilart/pl_PL/images/check-green.svg") no-repeat center center/contain;
      content: ''; }
  .field .control {
    width: 100%; }
    .field .control > textarea {
      font-size: 1em;
      line-height: 1.275em;
      padding: 0.75em 1em;
      color: #455a64;
      background: #fff;
      border-radius: 200px;
      border: 2px solid #dcdcdc;
      box-shadow: none;
      transition: border-color 0.5s;
      margin: 0 0 0.2em;
      width: 100%;
      background-clip: padding-box;
      font-family: inherit; }
      .field .control > textarea:hover:not([disabled]), .field .control > textarea:focus:not([disabled]) {
        border: 2px solid #7e57c2;
        box-shadow: none; }
      .field .control > textarea::-moz-placeholder {
        opacity: 1;
        color: #888; }
      .field .control > textarea::placeholder {
        opacity: 1;
        color: #888; }
      .field .control > textarea[disabled] {
        opacity: 0.65; }
    .field .control .nested {
      display: flex;
      align-items: center;
      justify-content: space-between; }
      .field .control .nested .field {
        max-width: 48%; }
  .field .label {
    font-weight: 700;
    font-size: 0.85em;
    width: 100%;
    text-transform: none;
    color: inherit;
    padding-bottom: 0.5rem; }
  .field.choice label.label {
    width: auto;
    margin-bottom: 0; }
  .field.required > .label:after, .field._required > .label:after {
    content: ' *';
    color: #e41f12; }
  .field.required ._required > .label:after {
    display: none; }
  .field .input-text {
    font-size: 1em;
    line-height: 1.275em;
    padding: 0.75em 1em;
    color: #455a64;
    background: #fff;
    border-radius: 200px;
    border: 2px solid #dcdcdc;
    box-shadow: none;
    transition: border-color 0.5s;
    margin: 0 0 0.2em;
    width: 100%;
    background-clip: padding-box;
    font-family: inherit; }
    .field .input-text:hover:not([disabled]), .field .input-text:focus:not([disabled]) {
      border: 2px solid #7e57c2;
      box-shadow: none; }
    .field .input-text::-moz-placeholder {
      opacity: 1;
      color: #888; }
    .field .input-text::placeholder {
      opacity: 1;
      color: #888; }
    .field .input-text[disabled] {
      opacity: 0.65; }
    .field .input-text.mage-error, .field .input-text.mage-error:hover:not(:focus) {
      border: 2px solid #e41f12; }
    .field .input-text.required-entry {
      margin-bottom: 1rem; }
  .field .select {
    display: block;
    font-size: 1em;
    line-height: 1.275em;
    padding: 0.75em 1em;
    padding-right: 2.3em;
    color: #455a64;
    border-radius: 200px;
    border: 2px solid #dcdcdc;
    box-shadow: none;
    width: 100%;
    max-width: 100%;
    margin: 0 0 0.2em;
    outline: 0;
    -webkit-appearance: none;
       -moz-appearance: none;
            appearance: none;
    background-color: #fff;
    background-image: url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 9' fill='%23dcdcdc'%3e%3cpath d='M0 1.2C0 .5.6 0 1.2 0c.3 0 .6.1.8.3l6 5.9 6-5.9c.5-.4 1.2-.3 1.7.1.4.4.4 1.1 0 1.5L8.9 8.7c-.5.4-1.2.4-1.7 0L.4 2a.9.9 0 0 1-.4-.8z'/%3e%3c/svg%3e"), linear-gradient(0deg, transparent 0%, transparent 100%);
    background-repeat: no-repeat, repeat;
    background-position: right 0.8em top 52%, 0 0;
    background-size: 0.7em auto, 100%;
    transition: border-color 0.5s; }
    .field .select:-moz-focusring, .field .select::-moz-focus-inner {
      color: transparent !important;
      text-shadow: 0 0 0 #000 !important; }
    .field .select:hover:not([disabled]), .field .select:focus:not([disabled]) {
      border: 2px solid #7e57c2;
      box-shadow: none;
      background-image: url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 9' fill='%237e57c2'%3e%3cpath d='M0 1.2C0 .5.6 0 1.2 0c.3 0 .6.1.8.3l6 5.9 6-5.9c.5-.4 1.2-.3 1.7.1.4.4.4 1.1 0 1.5L8.9 8.7c-.5.4-1.2.4-1.7 0L.4 2a.9.9 0 0 1-.4-.8z'/%3e%3c/svg%3e"), linear-gradient(0deg, transparent 0%, transparent 100%); }
    .field .select[disabled] {
      opacity: 0.65; }
    .field .select option {
      font-weight: 500;
      padding: 0;
      color: initial; }
  .field .checkbox {
    display: inline-block;
    height: 1em;
    width: 1em;
    margin: -0.0625em calc(0.5em + 1px) 0 0;
    font-size: 1em;
    overflow: hidden;
    vertical-align: middle;
    -webkit-appearance: none;
       -moz-appearance: none;
            appearance: none;
    flex: 0 0 auto;
    cursor: pointer;
    border: 2px solid #dcdcdc;
    box-shadow: none;
    background-color: transparent;
    background-repeat: no-repeat;
    background-position: 50% 50%;
    background-size: 1em 1em;
    outline: 0;
    border-radius: 50%;
    transition: background-color 0.5s, border-color 0.5s;
    border-radius: 7px;
    background-size: 1em 1em;
    border-color: #7e57c2; }
    .field .checkbox::-moz-focus-inner, .field .checkbox:-moz-focusring {
      color: transparent !important;
      text-shadow: 0 0 0 #000 !important; }
    .field .checkbox:hover:not([disabled]), .field .checkbox:focus:not([disabled]) {
      border: 2px solid #4d2c91;
      box-shadow: none;
      background-color: transparent; }
    .field .checkbox:checked {
      background-image: url("data:image/svg+xml;charset=UTF-8,%3csvg width='14' height='14' xmlns='http://www.w3.org/2000/svg'%3e%3ccircle fill='%237e57c2' r='4' cy='7' cx='7'/%3e%3c/svg%3e"); }
      .field .checkbox:checked, .field .checkbox:checked:hover, .field .checkbox:checked:focus {
        border: 2px solid #7e57c2;
        background-color: transparent;
        box-shadow: none; }
    .field .checkbox[disabled],
    .field .checkbox[disabled] + .label,
    .field .checkbox[disabled] + .cs-input__label {
      opacity: 0.65; }
    .field .checkbox:checked {
      background-image: url("data:image/svg+xml;charset=UTF-8,%3csvg width='14' height='14' xmlns='http://www.w3.org/2000/svg'%3e%3cpath fill='%237e57c2' d='M5.313 10.108H5.24a1.064 1.005 0 0 1-.75-.41l-1.947-2.55a1.064 1.005 0 0 1 1.723-1.175L5.463 7.56 9.06 4.19a1.064 1.005 0 0 1 .75-.297h.846a1.064 1.005 0 0 1 0 2.004h-.45L6.064 9.81a1.064 1.005 0 0 1-.75.298z'/%3e%3c/svg%3e"); }
    .field .checkbox.mage-error, .field .checkbox.mage-error:hover:not(:focus) {
      border: 2px solid #e41f12; }
  .field .radio {
    display: inline-block;
    height: 1em;
    width: 1em;
    margin: -0.0625em calc(0.5em + 1px) 0 0;
    font-size: 1em;
    overflow: hidden;
    vertical-align: middle;
    -webkit-appearance: none;
       -moz-appearance: none;
            appearance: none;
    flex: 0 0 auto;
    cursor: pointer;
    border: 2px solid #dcdcdc;
    box-shadow: none;
    background-color: transparent;
    background-repeat: no-repeat;
    background-position: 50% 50%;
    background-size: 1em 1em;
    outline: 0;
    border-radius: 50%;
    transition: background-color 0.5s, border-color 0.5s; }
    .field .radio::-moz-focus-inner, .field .radio:-moz-focusring {
      color: transparent !important;
      text-shadow: 0 0 0 #000 !important; }
    .field .radio:hover:not([disabled]), .field .radio:focus:not([disabled]) {
      border: 2px solid #4d2c91;
      box-shadow: none;
      background-color: transparent; }
    .field .radio:checked {
      background-image: url("data:image/svg+xml;charset=UTF-8,%3csvg width='14' height='14' xmlns='http://www.w3.org/2000/svg'%3e%3ccircle fill='%237e57c2' r='4' cy='7' cx='7'/%3e%3c/svg%3e"); }
      .field .radio:checked, .field .radio:checked:hover, .field .radio:checked:focus {
        border: 2px solid #7e57c2;
        background-color: transparent;
        box-shadow: none; }
    .field .radio[disabled],
    .field .radio[disabled] + .label,
    .field .radio[disabled] + .cs-input__label {
      opacity: 0.65; }
  .field.customer-name-prefix select {
    display: block;
    font-size: 1em;
    line-height: 1.275em;
    padding: 0.75em 1em;
    padding-right: 2.3em;
    color: #455a64;
    border-radius: 200px;
    border: 2px solid #dcdcdc;
    box-shadow: none;
    width: 100%;
    max-width: 100%;
    margin: 0 0 0.2em;
    outline: 0;
    -webkit-appearance: none;
       -moz-appearance: none;
            appearance: none;
    background-color: #fff;
    background-image: url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 9' fill='%23dcdcdc'%3e%3cpath d='M0 1.2C0 .5.6 0 1.2 0c.3 0 .6.1.8.3l6 5.9 6-5.9c.5-.4 1.2-.3 1.7.1.4.4.4 1.1 0 1.5L8.9 8.7c-.5.4-1.2.4-1.7 0L.4 2a.9.9 0 0 1-.4-.8z'/%3e%3c/svg%3e"), linear-gradient(0deg, transparent 0%, transparent 100%);
    background-repeat: no-repeat, repeat;
    background-position: right 0.8em top 52%, 0 0;
    background-size: 0.7em auto, 100%;
    transition: border-color 0.5s; }
    .field.customer-name-prefix select:-moz-focusring, .field.customer-name-prefix select::-moz-focus-inner {
      color: transparent !important;
      text-shadow: 0 0 0 #000 !important; }
    .field.customer-name-prefix select:hover:not([disabled]), .field.customer-name-prefix select:focus:not([disabled]) {
      border: 2px solid #7e57c2;
      box-shadow: none;
      background-image: url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 9' fill='%237e57c2'%3e%3cpath d='M0 1.2C0 .5.6 0 1.2 0c.3 0 .6.1.8.3l6 5.9 6-5.9c.5-.4 1.2-.3 1.7.1.4.4.4 1.1 0 1.5L8.9 8.7c-.5.4-1.2.4-1.7 0L.4 2a.9.9 0 0 1-.4-.8z'/%3e%3c/svg%3e"), linear-gradient(0deg, transparent 0%, transparent 100%); }
    .field.customer-name-prefix select[disabled] {
      opacity: 0.65; }
    .field.customer-name-prefix select option {
      font-weight: 500;
      padding: 0;
      color: initial; }
  .field.field-dob input {
    font-size: 1em;
    line-height: 1.275em;
    padding: 0.75em 1em;
    color: #455a64;
    background: #fff;
    border-radius: 200px;
    border: 2px solid #dcdcdc;
    box-shadow: none;
    transition: border-color 0.5s;
    margin: 0 0 0.2em;
    width: 100%;
    background-clip: padding-box;
    font-family: inherit; }
    .field.field-dob input:hover:not([disabled]), .field.field-dob input:focus:not([disabled]) {
      border: 2px solid #7e57c2;
      box-shadow: none; }
    .field.field-dob input::-moz-placeholder {
      opacity: 1;
      color: #888; }
    .field.field-dob input::placeholder {
      opacity: 1;
      color: #888; }
    .field.field-dob input[disabled] {
      opacity: 0.65; }
    .field.field-dob input.mage-error, .field.field-dob input.mage-error:hover:not(:focus) {
      border: 2px solid #e41f12; }
  .field.field-dob button {
    display: inline-block;
    font-size: 1.8rem;
    font-weight: 700;
    text-align: center;
    position: relative;
    line-height: 1.275em;
    margin: 0;
    text-transform: none;
    padding: 0.75em 1em;
    box-sizing: border-box;
    transition: background-color 0.5s, border-color 0.5s, fill 0.5s, color 0.5s;
    vertical-align: middle;
    z-index: 5; }
    .field.field-dob button::before, .field.field-dob button::after {
      content: none; }
    .field.field-dob button::-moz-focus-inner {
      border: 0;
      padding: 0;
      margin: 0; }
    .field.field-dob button, .field.field-dob button:visited {
      cursor: pointer;
      border-radius: 200px;
      outline-offset: 1px;
      text-decoration: none;
      box-shadow: none;
      border: 1px solid #7e57c2;
      color: #7e57c2;
      background-color: #fff; }
      .field.field-dob button *, .field.field-dob button:visited * {
        color: #7e57c2;
        fill: #7e57c2; }
    .field.field-dob button:hover:not([disabled]), .field.field-dob button:focus:not([disabled]), .field.field-dob button:active:not([disabled]) {
      box-shadow: none;
      outline: none;
      text-decoration: none;
      border: 1px solid #4d2c91;
      color: #fff;
      background-color: #4d2c91; }
      .field.field-dob button:hover:not([disabled]) *, .field.field-dob button:focus:not([disabled]) *, .field.field-dob button:active:not([disabled]) * {
        color: #fff;
        fill: #fff; }
    .field.field-dob button[disabled] {
      opacity: 0.65;
      cursor: auto; }
    .field.field-dob button span {
      margin-top: 0;
      z-index: 1;
      font-weight: 700;
      vertical-align: baseline;
      display: inline-block;
      line-height: 1.275em;
      letter-spacing: normal;
      padding-left: 0;
      padding-right: 4em; }
  .field._error .input-text, .field._error .input-text:hover:not(:focus),
  .field._error .checkbox,
  .field._error .checkbox:hover:not(:focus) {
    border: 2px solid #e41f12; }
  .field .control._with-tooltip input {
    width: 100%;
    margin-right: 0; }
  .field .field-tooltip {
    position: static; }
    .field .field-tooltip .label,
    .field .field-tooltip .field-tooltip-action {
      display: none; }
    .field .field-tooltip .field-tooltip-content {
      position: static;
      background: none;
      border: none;
      display: block;
      font-size: 0.85em;
      padding: 0.3em 0 0;
      color: #696969; }
      .field .field-tooltip .field-tooltip-content:before, .field .field-tooltip .field-tooltip-content:after {
        display: none; }
  .field .note {
    display: block;
    font-size: 0.85em;
    padding: 0.3em 0 0;
    color: #696969; }

.field:not(.choice):not(.limiter):not(.terms):not(.cs-pagination__page-provider) {
  position: relative; }
  .field:not(.choice):not(.limiter):not(.terms):not(.cs-pagination__page-provider) .label {
    position: absolute;
    top: -10px;
    left: 20px;
    z-index: 3;
    font-weight: normal;
    padding: 0 5px;
    background: white;
    width: auto; }
    .field:not(.choice):not(.limiter):not(.terms):not(.cs-pagination__page-provider) .label .fieldset .fullname .field .label {
      padding: 0 5px;
      width: auto !important; }

input[name="faktura_elektroniczna"] + label {
  top: 2px !important; }

.field[name="amastyPaymentAttributes.faktura_elektroniczna"] > label {
  top: 2px !important;
  display: none; }

.customer-address-form .field.street .label {
  top: 10px; }

.field.terms .label {
  top: -3px !important;
  left: 24px !important; }

.cs-dashboard .field {
  margin-bottom: 2rem !important; }

.fieldset .fullname .field .label {
  padding: 0 5px;
  width: auto !important; }

div.mage-error:not(._editing),
div.field-error:not(._editing) {
  display: block;
  font-size: 0.85em;
  padding: 0.3em 0 0;
  color: #696969;
  color: #e41f12; }

/* stylelint-enable */

/**
 * Footer component customization.
 * @see /Magento_Theme/templates/footer/columns.phtml for templates.
 */
/**
 * Breakpoint component used by include-media vendor library.
 */
@use 'sass:map';
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
/**
* Default project breakpoints - [em]
*/
/**
 * Breakpoint component used by include-media vendor library.
 */
@use 'sass:map';
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
/**
* Default project breakpoints - [em]
*/
/***
 * Hide only visually, but have it available for screen readers:
 * https://snook.ca/archives/html_and_css/hiding-content-for-accessibility
 *
 * 1. For long content, line feeds are not interpreted as spaces and small width
 *    causes content to wrap 1 word per line:
 *    https://medium.com/@jessebeach/beware-smushed-off-screen-accessible-text-5952a4c2cbfe
 *
 * @see https://github.com/h5bp/html5-boilerplate/blob/master/src/css/main.css#L130
 */
/**
 * Breakpoint component used by include-media vendor library.
 */
@use 'sass:map';
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
/**
* Default project breakpoints - [em]
*/
/* stylelint-disable block-no-empty */
/* stylelint-enable */
/**
 * Breakpoint component used by include-media vendor library.
 */
@use 'sass:map';
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
/**
* Default project breakpoints - [em]
*/
/* stylelint-disable block-no-empty */
/* stylelint-enable */
/**
 * Breakpoint component used by include-media vendor library.
 */
@use 'sass:map';
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
/**
* Default project breakpoints - [em]
*/
.cs-footer {
  font-size: 1rem;
  color: #455a64;
  background: #fff;
  overflow: hidden;
  padding: 0 0 2rem;
  padding-bottom: 2rem; }
  .cs-footer h3 {
    color: #455a64;
    display: flex;
    margin-top: 0;
    margin-bottom: 0;
    padding-bottom: 2rem;
    min-height: 40px;
    font-size: 2.4rem;
    text-transform: none; }
  .cs-footer p {
    color: #455a64;
    display: grid;
    font-size: 16px; }
    @media (max-width: 47.99em) {
      .cs-footer p {
        justify-content: center; } }
  @media (min-width: 48em) {
    .cs-footer {
      padding: 0 1.5rem; } }
  .cs-footer__content {
    padding: 0; }
    @media (min-width: 48em) {
      .cs-footer__content {
        /*display: flex;*/
        flex-wrap: wrap;
        padding-top: 4rem;
        padding-bottom: 2.5rem; } }
    @media (min-width: 64em) {
      .cs-footer__content {
        flex-wrap: nowrap; } }
  @media (min-width: 64em) {
    .cs-footer__item {
      flex: 1 1; } }
  .cs-footer__item--promo {
    flex-basis: 100%; }
    @media (max-width: 47.99em) {
      .cs-footer__item--promo {
        display: none; } }
    @media (max-width: 63.99em) {
      .cs-footer__item--promo {
        margin-bottom: 1.5rem; } }
    @media (min-width: 64em) {
      .cs-footer__item--promo {
        flex-basis: auto;
        flex-grow: 1; } }
  @media (max-width: 47.99em) {
    .cs-footer__item--links {
      margin-top: 2rem; } }
  @media (min-width: 48em) {
    .cs-footer__item--links {
      display: flex;
      flex-basis: 100%;
      margin-top: 2em;
      justify-content: center; } }
  @media (min-width: 48em) {
    .cs-footer__item--links {
      margin-top: 0; } }
  @media (min-width: 64em) {
    .cs-footer__item--links {
      flex-basis: auto;
      flex-grow: 5; } }
  @media (min-width: 48em) {
    .cs-footer__item--extras {
      display: flex;
      flex-basis: 100%; } }
  @media (min-width: 64em) {
    .cs-footer__item--extras {
      display: block;
      flex-basis: 25%;
      flex-grow: 2; } }
  @media (min-width: 48em) {
    .cs-footer__section {
      flex: 1 1; } }
  @media (min-width: 48em) {
    .cs-footer__section--newsletter {
      flex-grow: 2; } }
  @media (min-width: 64em) {
    .cs-footer__section--socials {
      margin-top: 4rem; } }
  @media (min-width: 64em) {
    .cs-footer__section--stores-switcher {
      margin-top: 4rem;
      max-width: 20rem; } }
  .cs-footer__section .content {
    display: flex;
    flex-direction: column; }
    .cs-footer__section .content .phone {
      font-size: 2rem;
      margin-bottom: 1rem; }
    .cs-footer__section .content .small {
      font-size: 1.3rem;
      font-weight: 700; }
    .cs-footer__section .content .mail {
      margin-top: 1rem;
      font-size: 2rem;
      display: flex;
      padding-left: 4rem;
      position: relative; }
      .cs-footer__section .content .mail:before {
        content: url("../../frontend/Creativestyle/theme-papilart/pl_PL/images/icons/mail-logo.svg");
        display: block;
        width: 30px;
        height: 18px;
        position: absolute;
        left: 0px; }
  @media (max-width: 47.99em) {
    .cs-footer__section--collapsible {
      width: 96%;
      margin-left: auto;
      margin-right: auto;
      margin-bottom: 10px;
      padding: 8px 30px 10px;
      border-radius: 23px;
      border: 1px solid #888; } }
  .cs-footer__section-title,
  .cs-footer [data-role='title'] {
    font-family: "Dosis", system-ui, -apple-system, Segoe UI, Roboto, Ubuntu, Cantarell, Oxygen, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
    font-size: 1.5rem;
    line-height: 1.1;
    color: #455a64;
    font-weight: 700;
    text-transform: none;
    margin: 1rem 0 2rem;
    position: relative;
    margin: 0;
    color: #455a64;
    font-size: 2rem;
    font-weight: 700;
    text-transform: none; }
    @media (max-width: 47.99em) {
      .cs-footer__section--collapsible .cs-footer__section-title, .cs-footer__section--collapsible
      .cs-footer [data-role='title'] {
        cursor: pointer;
        position: relative; }
        .cs-footer__section--collapsible .cs-footer__section-title:before, .cs-footer__section--collapsible .cs-footer__section-title:after, .cs-footer__section--collapsible
        .cs-footer [data-role='title']:before, .cs-footer__section--collapsible
        .cs-footer [data-role='title']:after {
          content: '';
          position: absolute;
          top: 50%;
          width: 1.2rem;
          height: 0.2rem;
          left: auto;
          background-color: #888;
          transition: transform 0.3s ease-out, opacity 0.15s ease-out, background-color 0.15s linear;
          backface-visibility: hidden; }
        .cs-footer__section--collapsible .cs-footer__section-title:before, .cs-footer__section--collapsible .cs-footer__section-title:after, .cs-footer__section--collapsible
        .cs-footer [data-role='title']:before, .cs-footer__section--collapsible
        .cs-footer [data-role='title']:after {
          right: 1.5rem;
          transform: translate3d(0, -50%, 0) !important; }
        .cs-footer__section--collapsible .cs-footer__section-title:after, .cs-footer__section--collapsible
        .cs-footer [data-role='title']:after {
          transform: translate3d(0, -50%, 0) rotate(90deg) !important; }
        .cs-footer__section--collapsible .cs-footer__section-title[aria-expanded="true"]:before, .cs-footer__section--collapsible
        .cs-footer [data-role='title'][aria-expanded="true"]:before {
          transform: translate3d(0, -50%, 0) rotate(-90deg) !important;
          opacity: 0; }
        .cs-footer__section--collapsible .cs-footer__section-title[aria-expanded="true"]:after, .cs-footer__section--collapsible
        .cs-footer [data-role='title'][aria-expanded="true"]:after {
          transform: translate3d(0, -50%, 0) rotate(0) !important; }
      .cs-footer__section--socials .cs-footer__section-title, .cs-footer__section--socials
      .cs-footer [data-role='title'] {
        border: 0;
        clip: rect(0 0 0 0);
        height: 1px;
        margin: -1px;
        overflow: hidden;
        padding: 0;
        position: absolute;
        width: 1px;
        white-space: nowrap;
        /* 1 */ } }
    @media (min-width: 48em) {
      .cs-footer__section-title,
      .cs-footer [data-role='title'] {
        margin-bottom: 2rem;
        border-top: none;
        padding-left: 0; } }
    @media (min-width: 64em) {
      .cs-footer__section-title,
      .cs-footer [data-role='title'] {
        padding-top: 0;
        padding-right: 0; } }
  .cs-footer__section-content,
  .cs-footer [data-role='content'] {
    padding: 1rem;
    font-size: 1.2em; }
    @media (max-width: 47.99em) {
      .cs-footer__section--collapsible .cs-footer__section-content, .cs-footer__section--collapsible
      .cs-footer [data-role='content'] {
        display: none; } }
    @media (min-width: 48em) {
      .cs-footer__section-content,
      .cs-footer [data-role='content'] {
        padding-left: 0; } }
    @media (min-width: 64em) {
      .cs-footer__section-content,
      .cs-footer [data-role='content'] {
        padding-right: 0;
        padding-bottom: 0; } }
  .cs-footer__shop-logo {
    display: block;
    width: 13.5em;
    height: 2.3em;
    min-width: 13.5em;
    max-width: 100%;
    max-height: 100%; }

.cs-container--footer {
  max-width: none; }

.cs-container--footer-usps .cs-image-teaser__content {
  margin: 0 !important; }

.cs-footer__content .cs-footer__item.cs-footer__item--credentials {
  margin: 2rem 0;
  display: flex;
  justify-content: space-around;
  align-items: center; }
  @media (max-width: 47.99em) {
    .cs-footer__content .cs-footer__item.cs-footer__item--credentials {
      flex-direction: column; } }
  .cs-footer__content .cs-footer__item.cs-footer__item--credentials .copyright,
  .cs-footer__content .cs-footer__item.cs-footer__item--credentials .author {
    font-size: 16px;
    color: #b0b0b0; }
    .cs-footer__content .cs-footer__item.cs-footer__item--credentials .copyright a,
    .cs-footer__content .cs-footer__item.cs-footer__item--credentials .author a {
      color: #b0b0b0 !important;
      text-decoration: none; }
  .cs-footer__content .cs-footer__item.cs-footer__item--credentials .socials {
    padding: 8px 30px;
    border: 1px solid #b0b0b0;
    border-radius: 200px; }
    @media (max-width: 47.99em) {
      .cs-footer__content .cs-footer__item.cs-footer__item--credentials .socials {
        order: -1;
        border: unset; } }
    .cs-footer__content .cs-footer__item.cs-footer__item--credentials .socials .instagram {
      margin-right: 1rem; }

.cs-footer__content .cs-footer__item.cs-footer__item--links > .cs-footer__section {
  max-width: 100%;
  padding: 1.5rem; }

/**
 * Breakpoint component used by include-media vendor library.
 */
@use 'sass:map';
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
/**
* Default project breakpoints - [em]
*/
/**
 * Breakpoint component used by include-media vendor library.
 */
@use 'sass:map';
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
/**
* Default project breakpoints - [em]
*/
/***
 * Remove browser's margins, paddings and list style rules
 */
/**
 * Breakpoint component used by include-media vendor library.
 */
@use 'sass:map';
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
/**
* Default project breakpoints - [em]
*/
/* stylelint-disable block-no-empty */
/* stylelint-enable */
/**
 * Breakpoint component used by include-media vendor library.
 */
@use 'sass:map';
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
/**
* Default project breakpoints - [em]
*/
.cs-footer-links {
  margin: 0;
  padding: 0;
  list-style: none; }
  .cs-footer-links__item {
    margin: 0 0 0.3em; }
  .cs-footer-links a, .cs-footer-links a:visited {
    color: #455a64;
    text-decoration: none; }
  .cs-footer-links a:hover, .cs-footer-links a:focus, .cs-footer-links a:active, .cs-footer-links a:visited:hover, .cs-footer-links a:visited:focus {
    color: #4d2c91;
    text-decoration: none; }
  .cs-footer-links a, .cs-footer-links a:visited {
    display: block;
    padding: 0px;
    font-size: 2rem; }
    @media (min-width: 48em) {
      .cs-footer-links a, .cs-footer-links a:visited {
        padding: 0px;
        display: inline-block; } }

/**
 * Breakpoint component used by include-media vendor library.
 */
@use 'sass:map';
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
/**
* Default project breakpoints - [em]
*/
/**
 * Breakpoint component used by include-media vendor library.
 */
@use 'sass:map';
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
/**
* Default project breakpoints - [em]
*/
/* stylelint-disable block-no-empty */
/* stylelint-enable */
/**
 * Breakpoint component used by include-media vendor library.
 */
@use 'sass:map';
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
/**
* Default project breakpoints - [em]
*/
.cs-google-recaptcha {
  margin: 1rem 0; }
  .cs-google-recaptcha__badge--invisible .grecaptcha-badge {
    visibility: hidden;
    height: 0 !important;
    width: 0 !important;
    overflow: hidden; }
  .cs-google-recaptcha__note {
    display: inline-block;
    margin: 0;
    font-size: 1.2rem;
    color: #696969; }
    .cs-google-recaptcha__note a, .cs-google-recaptcha__note a:visited {
      color: #7e57c2;
      text-decoration: none; }
    .cs-google-recaptcha__note a:hover, .cs-google-recaptcha__note a:focus, .cs-google-recaptcha__note a:active, .cs-google-recaptcha__note a:visited:hover, .cs-google-recaptcha__note a:visited:focus {
      color: #4d2c91;
      text-decoration: none; }
  .cs-google-recaptcha--newsletter {
    display: none;
    margin: 1rem 0; }
    .cs-google-recaptcha--newsletter .cs-google-recaptcha__note {
      margin: 0;
      font-size: 1.2rem;
      color: #fff; }
      .cs-google-recaptcha--newsletter .cs-google-recaptcha__note a, .cs-google-recaptcha--newsletter .cs-google-recaptcha__note a:visited {
        color: #fff;
        text-decoration: none; }
      .cs-google-recaptcha--newsletter .cs-google-recaptcha__note a:hover, .cs-google-recaptcha--newsletter .cs-google-recaptcha__note a:focus, .cs-google-recaptcha--newsletter .cs-google-recaptcha__note a:active, .cs-google-recaptcha--newsletter .cs-google-recaptcha__note a:visited:hover, .cs-google-recaptcha--newsletter .cs-google-recaptcha__note a:visited:focus {
        color: #fff;
        text-decoration: underline; }
  .cs-google-recaptcha--customer_create {
    margin-top: -2rem; }
  .cs-google-recaptcha--customer_login .g-recaptcha {
    margin-bottom: 0 !important; }

/**
 * Breakpoint component used by include-media vendor library.
 */
@use 'sass:map';
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
/**
* Default project breakpoints - [em]
*/
/**
 * Breakpoint component used by include-media vendor library.
 */
@use 'sass:map';
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
/**
* Default project breakpoints - [em]
*/
/**
 * Breakpoint component used by include-media vendor library.
 */
@use 'sass:map';
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
/**
* Default project breakpoints - [em]
*/
/**
 * Mixins for flexible containers declaration.
 */
/**
 * Defines page container. This mixin makes sure that the content has always equal padding
 * for mobile screens on both size of the device.
 */
/**
 * Negates parent container's padding and sets it own.
 * Somethimes this has to be done to make background even to other containers' content.
 */
/**
 * Defines container wrapper that makes sure contnet doesn't extend above certain width and is always centered.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
/**
 * Variables related to sticky header and topbar on mobile devices.
 * to prevent page jumping when offacnvas (fixed positioned) is opened
 * If you have more elements on top, you have to include their height.
 */
@media (max-width: 63.99em) {
  .cs-container--header {
    padding-left: 0;
    padding-right: 0; } }

/**
     * Styles related to sticky header and topbar on mobile devices.
     * to prevent page jumping when offacnvas (fixed positioned) is opened
     */
@media (max-width: 63.99em) {
  .navigation-offcanvas-open .page-wrapper.no-scroll-child {
    padding-top: 8.3rem; } }

@media (max-width: 47.99em) {
  .navigation-offcanvas-open .page-wrapper.no-scroll-child {
    padding-top: 5rem; } }

@media (max-width: 63.99em) {
  .cs-container--header {
    position: sticky;
    z-index: 800;
    top: 0;
    /**
                 * Fixed positioning required to work with offcanvas elements.
                 */ }
    .navigation-offcanvas-open.no-scroll .cs-container--header {
      position: fixed; } }

@media (max-width: 47.99em) {
  .cs-container--header {
    top: 0; } }

.cs-header {
  font-size: 1rem;
  height: 5rem; }
  @media (min-width: 48em) {
    .cs-header {
      height: 8.3rem; } }
  @media (min-width: 80em) {
    .cs-header {
      height: 10rem; } }
  .cs-header__content {
    height: 5rem;
    z-index: 300;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    background-color: #fff;
    position: relative;
    max-width: 100vw; }
    @media (min-width: 48em) {
      .cs-header__content {
        height: 8.3rem; } }
    @media (min-width: 64em) {
      .cs-header__content {
        border-bottom: unset;
        flex-wrap: nowrap; } }
    @media (min-width: 80em) {
      .cs-header__content {
        height: 10rem; } }
  .cs-header__offcanvas-toggle {
    height: 100%;
    flex: 0 1 4rem; }
    .cs-header__offcanvas-toggle path.st0 {
      fill: #7e57c2 !important; }
    @media (min-width: 64em) {
      .cs-header__offcanvas-toggle {
        display: none; } }
  .cs-header__logo {
    display: flex;
    flex: 1 1;
    margin-bottom: 0;
    height: 100%;
    padding: 0.7rem 0 0.7rem 0rem; }
    @media (min-width: 23.125em) {
      .cs-header__logo {
        padding: 0.7rem 0 0.7rem 0rem; } }
    @media (min-width: 48em) {
      .cs-header__logo {
        flex: 0 1 auto;
        padding: 0; } }
    .page-print .cs-header__logo {
      max-width: 128rem;
      width: 100%;
      margin: 0 auto;
      position: relative;
      height: auto;
      padding: 2rem 0; }
      .page-print .cs-header__logo:after {
        content: '';
        display: table;
        clear: both; }
  .cs-header__search {
    display: none;
    width: 100%;
    background-color: #fff;
    padding: 1rem;
    position: absolute;
    left: 0;
    right: 0;
    z-index: 300;
    top: 100%; }
    @media (min-width: 64em) {
      .cs-header__search {
        flex-grow: 1;
        width: auto;
        padding: 0;
        position: initial;
        margin-left: 2rem !important;
        justify-content: center; } }
    .cs-header__search--active {
      display: flex; }
    @media (min-width: 64em) {
      .cs-header__search {
        display: flex; } }
    @media (min-width: 64em) {
      .cs-header__search {
        position: relative;
        padding: 0;
        top: initial; } }
  .cs-header__user-nav {
    display: flex;
    justify-content: space-between;
    flex: 0 1 30%; }
    @media (min-width: 64em) {
      .cs-header__user-nav {
        flex: 0 1 25%; } }
  .cs-header__back-button {
    border-right: 1px solid #dcdcdc;
    height: 100%;
    display: flex;
    padding: 0 1rem;
    align-items: center;
    justify-content: center;
    min-width: 4rem; }
    @media (min-width: 23.125em) {
      .cs-header__back-button {
        padding: 0 1.5rem; } }
    @media (min-width: 48em) {
      .cs-header__back-button {
        display: none; } }
  .cs-header__back-button-icon {
    fill: #888;
    height: 2.5rem; }
    @media (max-width: 23.115em) {
      .cs-header__back-button-icon {
        height: 2rem; } }

/**
 * Breakpoint component used by include-media vendor library.
 */
@use 'sass:map';
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
/**
* Default project breakpoints - [em]
*/
/**
 * Breakpoint component used by include-media vendor library.
 */
@use 'sass:map';
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
/**
* Default project breakpoints - [em]
*/
/***
 * Hide only visually, but have it available for screen readers:
 * https://snook.ca/archives/html_and_css/hiding-content-for-accessibility
 *
 * 1. For long content, line feeds are not interpreted as spaces and small width
 *    causes content to wrap 1 word per line:
 *    https://medium.com/@jessebeach/beware-smushed-off-screen-accessible-text-5952a4c2cbfe
 *
 * @see https://github.com/h5bp/html5-boilerplate/blob/master/src/css/main.css#L130
 */
/**
 * Breakpoint component used by include-media vendor library.
 */
@use 'sass:map';
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
/**
* Default project breakpoints - [em]
*/
/*
 * Function to get value from a list of values, based on side
 * @param {string} $variable: variable with a list of values (like paddings, margins etc.);
 * @param {string} $side: side (up / right / down / left) for which we want to get value
 * Example:
 * $component_padding: 1rem 2rem 3rem;
 * get-value-from-list($component_padding, 'right') // 2rem
 * get-value-from-list($component_padding, 'bottom') // 3rem
 */
/* stylelint-disable block-no-empty */
/* stylelint-enable */
/* stylelint-disable block-no-empty */
/* stylelint-enable */
/* Radio and checkbox styling */
/*
 * Function to get value from a list of values, based on side
 * @param {string} $variable: variable with a list of values (like paddings, margins etc.);
 * @param {string} $side: side (up / right / down / left) for which we want to get value
 * Example:
 * $component_padding: 1rem 2rem 3rem;
 * get-value-from-list($component_padding, 'right') // 2rem
 * get-value-from-list($component_padding, 'bottom') // 3rem
 */
/* stylelint-disable block-no-empty */
/* stylelint-enable */
.cs-header-search {
  width: 100%; }
  @media (min-width: 64em) {
    .cs-header-search {
      width: 60%; } }
  .cs-header-search--in-offcanvas {
    position: relative; }
  .cs-header-search__label {
    border: 0;
    clip: rect(0 0 0 0);
    height: 1px;
    margin: -1px;
    overflow: hidden;
    padding: 0;
    position: absolute;
    width: 1px;
    white-space: nowrap;
    /* 1 */ }
  .cs-header-search__field {
    position: relative; }
    .cs-header-search__field:before, .cs-header-search__field:after {
      content: '';
      position: absolute;
      opacity: 0;
      transition: opacity 0.3s;
      left: -0.5rem;
      right: -0.5rem;
      background: #fff; }
    .cs-header-search__field:before {
      content: '';
      position: absolute;
      box-shadow: unset;
      top: -0.5rem;
      bottom: -0.5rem;
      border-radius: 5px 5px 0 0; }
    .cs-header-search__field:after {
      content: '';
      position: absolute;
      bottom: -1rem;
      top: 100%;
      z-index: 209; }
    .active-popup .cs-header-search__field:before, .active-popup .cs-header-search__field:after {
      opacity: 1; }
  .cs-header-search__input {
    font-size: 1em;
    line-height: 1.275em;
    padding: 0.75em 1em;
    color: #455a64;
    background: #fff;
    border-radius: 200px;
    border: 2px solid #dcdcdc;
    box-shadow: none;
    transition: border-color 0.5s;
    margin: 0 0 0.2em;
    width: 100%;
    background-clip: padding-box;
    font-family: inherit;
    border-color: #7e57c2;
    font-size: 1.6rem;
    position: relative;
    z-index: 210;
    margin: 0;
    -webkit-appearance: none; }
    .cs-header-search__input:hover:not([disabled]), .cs-header-search__input:focus:not([disabled]) {
      border: 2px solid #7e57c2;
      box-shadow: none; }
    .cs-header-search__input::-moz-placeholder {
      opacity: 1;
      color: #888; }
    .cs-header-search__input::placeholder {
      opacity: 1;
      color: #888; }
    .cs-header-search__input[disabled] {
      opacity: 0.65; }
    @media (min-width: 30em) {
      .cs-header-search__input {
        font-size: 1.6rem; } }
    .ajax-loading .cs-header-search__input:focus + .cs-header-search__action .cs-header-search__button-container--search {
      transform: translateX(100%);
      opacity: 0; }
    .ajax-loading .cs-header-search__input:focus + .cs-header-search__action .cs-header-search__button-container--loader {
      transform: translateX(0);
      opacity: 1; }
  .cs-header-search__action {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    z-index: 220;
    overflow: hidden;
    display: flex;
    justify-content: space-between;
    align-items: center;
    border-top-right-radius: 200px;
    border-bottom-right-radius: 200px; }
  .cs-header-search__close-icon {
    width: 1.5rem;
    height: 1.5rem;
    margin-right: 1rem;
    display: block;
    opacity: 0.6;
    transition: opacity 0.3s linear; }
    .cs-header-search__close-icon:hover {
      cursor: pointer;
      opacity: 1; }
    @media (min-width: 64em) {
      .cs-header-search__close-icon {
        display: none; } }
    .cs-header-search__close-icon path {
      fill: #888; }
  .cs-header-search__close-label {
    border: 0;
    clip: rect(0 0 0 0);
    height: 1px;
    margin: -1px;
    overflow: hidden;
    padding: 0;
    position: absolute;
    width: 1px;
    white-space: nowrap;
    /* 1 */ }
  .cs-header-search__button-container {
    position: absolute;
    top: 0;
    left: 0;
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    height: 100%;
    transition: transform 0.5s cubic-bezier(0, 0.66, 0.32, 0.99), opacity 0.15s linear; }
    .cs-header-search__button-container--search {
      transform: translateX(0); }
    .cs-header-search__button-container--loader {
      transform: translateX(100%); }
  .cs-header-search__button {
    display: inline-block;
    font-size: 1.8rem;
    font-weight: 700;
    text-align: center;
    position: relative;
    line-height: 1.275em;
    margin: 0;
    text-transform: none;
    padding: 0.75em 1em;
    box-sizing: border-box;
    transition: background-color 0.5s, border-color 0.5s, fill 0.5s, color 0.5s;
    vertical-align: middle;
    z-index: 5;
    width: 5rem;
    height: 100%;
    overflow: hidden;
    position: relative;
    border-radius: 200px;
    backface-visibility: hidden;
    transform: translateX(0.7rem);
    background-color: transparent !important; }
    .cs-header-search__button::-moz-focus-inner {
      border: 0;
      padding: 0;
      margin: 0; }
    .cs-header-search__button, .cs-header-search__button:visited {
      cursor: pointer;
      border-radius: 200px;
      outline-offset: 1px;
      text-decoration: none;
      box-shadow: none;
      border: 1px solid transparent;
      color: #fff;
      background-color: #7e57c2; }
      .cs-header-search__button *, .cs-header-search__button:visited * {
        color: #fff;
        fill: #fff; }
    .cs-header-search__button:hover:not([disabled]), .cs-header-search__button:focus:not([disabled]), .cs-header-search__button:active:not([disabled]) {
      box-shadow: none;
      outline: none;
      text-decoration: none;
      border: 1px solid transparent;
      color: #fff;
      background-color: #4d2c91; }
      .cs-header-search__button:hover:not([disabled]) *, .cs-header-search__button:focus:not([disabled]) *, .cs-header-search__button:active:not([disabled]) * {
        color: #fff;
        fill: #fff; }
    .cs-header-search__button[disabled] {
      opacity: 0.65;
      cursor: auto; }
    .cs-header-search__button[disabled] {
      opacity: 1; }
  .cs-header-search__button-icon {
    transform: translateX(-0.3rem); }
    .cs-header-search__button-icon--search {
      width: 2rem;
      height: 2rem; }
      .cs-header-search__button-icon--search path {
        fill: #7e57c2 !important; }
    .cs-header-search__button-icon--loader {
      stroke: #7e57c2;
      width: 3.2rem;
      height: 3.2rem; }
  .cs-header-search__button-label {
    border: 0;
    clip: rect(0 0 0 0);
    height: 1px;
    margin: -1px;
    overflow: hidden;
    padding: 0;
    position: absolute;
    width: 1px;
    white-space: nowrap;
    /* 1 */ }
  .cs-header-search__autocomplete {
    width: calc(100% - 1rem);
    left: 0.5rem;
    right: 0.5rem; }
    @media (max-width: 47.99em) {
      .cs-header-search__autocomplete {
        max-height: calc(100vh - 5rem - 1.275em - 7rem);
        overflow-y: auto; } }
    @media (min-width: 64em) {
      .cs-header-search__autocomplete {
        margin-top: 0.5rem;
        left: 50%;
        transform: translateX(-50%);
        box-shadow: 0 4px 10px 0 rgba(0, 0, 0, 0.17);
        border: 0;
        width: 60%; } }

@charset "UTF-8";
/**
 * Breakpoint component used by include-media vendor library.
 */
@use 'sass:map';
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
/**
* Default project breakpoints - [em]
*/
/**
 * Breakpoint component used by include-media vendor library.
 */
@use 'sass:map';
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
/**
* Default project breakpoints - [em]
*/
/***
 * Hide only visually, but have it available for screen readers:
 * https://snook.ca/archives/html_and_css/hiding-content-for-accessibility
 *
 * 1. For long content, line feeds are not interpreted as spaces and small width
 *    causes content to wrap 1 word per line:
 *    https://medium.com/@jessebeach/beware-smushed-off-screen-accessible-text-5952a4c2cbfe
 *
 * @see https://github.com/h5bp/html5-boilerplate/blob/master/src/css/main.css#L130
 */
/**
 * Breakpoint component used by include-media vendor library.
 */
@use 'sass:map';
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
/**
* Default project breakpoints - [em]
*/
/* stylelint-disable block-no-empty */
/* stylelint-enable */
.cs-header-user-nav {
  list-style: none;
  margin: 0;
  padding: 0 1.5rem;
  height: 100%; }
  @media (max-width: 23.115em) {
    .cs-header-user-nav {
      padding: 0 0.7rem; } }
  @media (min-width: 64em) {
    .cs-header-user-nav {
      padding: 0; } }
  .cs-header-user-nav__item {
    margin-bottom: 0;
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0;
    flex: 1 1 25%; }
    @media (min-width: 64em) {
      .cs-header-user-nav__item {
        flex: 0 0 33.33333%; } }
    @media (min-width: 64em) {
      .cs-header-user-nav__item--search {
        display: none; } }
    .cs-header-user-nav__item--account a {
      max-width: 160px; }
      @media (min-width: 48.01em) {
        .cs-header-user-nav__item--account a {
          min-width: 145px; } }
  .cs-header-user-nav .minicart-wrapper > .cs-header-user-nav__link {
    padding: 0.5rem 1rem;
    border: 2px solid #7e57c2;
    border-radius: 200px; }
  .cs-header-user-nav__link {
    display: flex;
    align-items: center;
    justify-content: space-evenly;
    flex-direction: row;
    position: relative;
    width: 100%;
    padding: 0rem; }
    .cs-header-user-nav__link:hover {
      text-decoration: none; }
      .cs-header-user-nav__link:hover .cs-header-user-nav__icon path {
        fill: #7e57c2; }
      .cs-header-user-nav__link:hover .cs-header-user-nav__label {
        color: #4d2c91; }
    .cs-header-user-nav__link--search {
      display: none; }
      @media (min-width: 48em) {
        .cs-header-user-nav__link--search {
          display: flex; } }
      .cs-header-user-nav__link--search:hover {
        cursor: pointer; }
  .cs-header-user-nav__icon-wrapper {
    position: relative;
    margin-left: 10px;
    margin-right: 10px; }
  .cs-header-user-nav__icon {
    width: 2.6rem;
    height: 2.6rem;
    display: block;
    margin: 0 auto; }
    .cs-header-user-nav__icon path {
      fill: #7e57c2; }
  .cs-header-user-nav__label {
    text-transform: unset;
    font-size: 1.6rem;
    font-weight: 700;
    margin-top: 0.3rem;
    color: #455a64;
    text-decoration: none;
    border: 0;
    clip: rect(0 0 0 0);
    height: 1px;
    margin: -1px;
    overflow: hidden;
    padding: 0;
    position: absolute;
    width: 1px;
    white-space: nowrap;
    /* 1 */ }
    @media (min-width: 48em) {
      .cs-header-user-nav__label {
        clip: auto;
        height: auto;
        margin: 0;
        overflow: visible;
        padding: 0;
        position: static;
        width: auto;
        white-space: normal;
        margin-top: 0.3rem; } }
  .cs-header-user-nav__qty-counter {
    display: inline-flex;
    background-color: #7e57c2;
    color: #fff;
    border: 0;
    border-radius: 50px;
    padding: 0 0.9rem;
    position: relative;
    justify-content: center;
    align-items: center;
    font-size: 1.4rem;
    line-height: 100%;
    font-weight: 700;
    height: 1.8em;
    opacity: 1;
    transition: opacity 0.3s; }
    .cs-header-user-nav__qty-counter--wishlist {
      background-color: #11a099;
      color: #455a64;
      transition: top 0.9s cubic-bezier(0.42, 0.31, 0.34, 0.93), left 0.9s cubic-bezier(0.42, 0.31, 0.34, 0.93); }
    .cs-header-user-nav__qty-counter--minicart {
      background-color: #fcb739;
      color: #fff; }
    .cs-header-user-nav__qty-counter--compare {
      background-color: #11a099;
      color: #455a64; }
    .cs-header-user-nav__qty-counter--have-items {
      opacity: 1; }
    .cs-header-user-nav__qty-counter--empty::before {
      content: '0';
      width: 0; }
    .cs-header-user-nav__qty-counter--wishlist-cloned {
      position: fixed;
      z-index: 1200;
      right: auto;
      opacity: 1;
      transition: top 1.2s cubic-bezier(0.42, 0.31, 0.34, 0.93), left 1.2s cubic-bezier(0.42, 0.31, 0.34, 0.93); }
    .cs-header-user-nav__qty-counter--wishlist-animating {
      animation: move-qty-badge 1.2s cubic-bezier(0.42, 0.31, 0.34, 0.93);
      top: 0.5rem; }
      @media (min-width: 48em) {
        .cs-header-user-nav__qty-counter--wishlist-animating {
          top: 1.3rem; } }
      @media (min-width: 64em) {
        .cs-header-user-nav__qty-counter--wishlist-animating {
          top: 3.5rem; } }

@keyframes move-qty-badge {
  0% {
    opacity: 1; }
  15% {
    transform: scale(1); }
  85% {
    opacity: 1;
    transform: scale(1.5); }
  95% {
    opacity: 1; }
  100% {
    opacity: 0;
    transform: scale(1); } }
  .cs-header-user-nav__qty-counter-span {
    min-width: 1ch; }
  .cs-header-user-nav .minicart-amount-wrapper > .minicart-amount-text {
    font-size: 1.4rem;
    font-weight: 700;
    min-width: 40px;
    display: inline-block; }
    .cs-header-user-nav .minicart-amount-wrapper > .minicart-amount-text .minicart-amount-text--empty::before {
      content: '0,00 zł'; }

/**
 * Breakpoint component used by include-media vendor library.
 */
@use 'sass:map';
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
/**
* Default project breakpoints - [em]
*/
/**
 * Breakpoint component used by include-media vendor library.
 */
@use 'sass:map';
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
/**
* Default project breakpoints - [em]
*/
/**
 * Breakpoint component used by include-media vendor library.
 */
@use 'sass:map';
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
/**
* Default project breakpoints - [em]
*/
/**
 * Breakpoint component used by include-media vendor library.
 */
@use 'sass:map';
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
/**
* Default project breakpoints - [em]
*/
/**
 * Breakpoint component used by include-media vendor library.
 */
@use 'sass:map';
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
/**
* Default project breakpoints - [em]
*/
/**
 * Breakpoint component used by include-media vendor library.
 */
@use 'sass:map';
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
/**
* Default project breakpoints - [em]
*/
/**
 * Breakpoint component used by include-media vendor library.
 */
@use 'sass:map';
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
/**
* Default project breakpoints - [em]
*/
/* stylelint-disable block-no-empty */
/* stylelint-enable */
.cs-headline {
  font-size: 1rem;
  clear: both;
  padding: 0 0 2em 0;
  margin: 0 0 2em 0;
  margin: 0;
  padding: 0;
  margin: 0 0 3rem; }
  @media (min-width: 48em) {
    .cs-headline {
      margin: 0 0 4rem; } }
  .cs-headline--skip-spacing {
    margin: 0; }
  .cs-headline__title {
    display: block;
    text-align: center;
    align-items: center;
    margin: 0;
    font-size: 2.6em;
    font-weight: 700;
    color: #455a64;
    text-transform: uppercase; }
    @media (min-width: 48em) {
      .cs-headline__title {
        display: flex; } }
    .cs-headline__title:before, .cs-headline__title:after {
      content: '';
      display: none;
      height: 1px;
      flex-grow: 1;
      background-color: #dcdcdc; }
      @media (min-width: 48em) {
        .cs-headline__title:before, .cs-headline__title:after {
          display: flex; } }
    .cs-headline__title:before {
      margin-right: 0.6em; }
    .cs-headline__title:after {
      margin-left: 0.6em; }
  .cs-headline__subtitle {
    color: #888;
    font-size: 2em;
    font-weight: 400;
    text-transform: none;
    margin: 0;
    padding: 2rem 0;
    display: none;
    text-align: center; }
    @media (min-width: 48em) {
      .cs-headline__subtitle {
        display: block; } }

.lazyload,
.lazyloading,
.swiper-lazy {
  opacity: 0.001; }

.lazyload[data-bg] {
  opacity: 1; }

.lazyloaded,
.swiper-lazy-loaded {
  opacity: 1;
  transition: opacity 0.2s; }

.cs-image-teaser__image.lazyload:not(.lazyloaded) {
  height: 1px; }

/**
 * Breakpoint component used by include-media vendor library.
 */
@use 'sass:map';
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
/**
* Default project breakpoints - [em]
*/
.cs-links-block-addto {
  margin: 0;
  padding: 0;
  list-style: none;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  width: 100%; }
  .page-product-bundle .cs-links-block-addto {
    margin-top: 1rem; }
  .cs-product-tile__addon .cs-links-block-addto {
    padding-top: 0; }
  .cs-links-block-addto--centered {
    justify-content: center; }
  .cs-links-block-addto__item {
    margin: 0; }
    .cs-links-block-addto__item + .cs-links-block-addto__item {
      margin-left: 0.5rem; }
      .cs-product-tile--list .cs-links-block-addto__item + .cs-links-block-addto__item {
        margin-left: 0;
        margin-top: 0.5rem; }
  .cs-links-block-addto__link {
    display: flex;
    align-items: center;
    font-size: 1.2rem;
    color: #4d2c91;
    transition: color 0.15s linear; }
    .cs-links-block-addto__link:hover {
      color: #4d2c91;
      text-decoration: none; }
  .cs-links-block-addto__icon {
    width: 1.375em;
    height: 1.375em;
    margin-right: 0.4rem; }
    .cs-links-block-addto__icon path {
      fill: #888; }
    .cs-links-block-addto__icon--wishlist path {
      fill: #e41f12; }
    .cs-links-block-addto__icon--compare path {
      fill: #7e57c2; }

/**
 * Breakpoint component used by include-media vendor library.
 */
@use 'sass:map';
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
/**
* Default project breakpoints - [em]
*/
/**
 * Breakpoint component used by include-media vendor library.
 */
@use 'sass:map';
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
/**
* Default project breakpoints - [em]
*/
.cs-logo {
  height: 100%; }
  .cs-logo__image {
    height: 100%; }
    .cs-logo__image--desktop {
      display: none; }
      .checkout-index-index .cs-logo__image--desktop {
        display: block; }
      @media (min-width: 48em) {
        .cs-logo__image--desktop {
          display: block; } }
    .cs-logo__image--mobile {
      display: block; }
      @media (min-width: 48em) {
        .cs-logo__image--mobile {
          display: none; } }
      .checkout-index-index .cs-logo__image--mobile {
        display: none; }

/**
 * Breakpoint component used by include-media vendor library.
 */
@use 'sass:map';
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
/**
* Default project breakpoints - [em]
*/
/**
 * Breakpoint component used by include-media vendor library.
 */
@use 'sass:map';
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
/**
* Default project breakpoints - [em]
*/
.messages {
  max-width: 128rem;
  margin: 0 auto; }

.cs-messages__message,
.message {
  margin: 1rem 0;
  padding: 1.2rem 1rem 1rem;
  border-radius: 7px;
  background-repeat: no-repeat;
  background-position: 1.2rem center;
  background-size: 2rem 2rem;
  padding-left: 4.3rem; }

.message.global.demo {
  text-align: center;
  font-size: 2.4rem;
  font-weight: bold;
  color: white;
  background: red;
  padding: 2rem 1rem;
  border-radius: 0; }

.cs-messages__message--success,
.message.success {
  background-color: #d5efd7;
  background-image: url("../../frontend/Creativestyle/theme-papilart/pl_PL/images/icons/messages/icon-success.svg");
  border: none; }

.cs-messages__message--notice,
.message.warning {
  background-color: #fdf4ca;
  background-image: url("../../frontend/Creativestyle/theme-papilart/pl_PL/images/icons/messages/icon-warning.svg");
  border: none; }

.cs-messages__message--info,
.message.info,
.message.notice {
  background-color: #fdf4ca;
  background-image: url("../../frontend/Creativestyle/theme-papilart/pl_PL/images/icons/messages/icon-info.svg");
  border: none; }

.cs-messages__message--error,
.message.error {
  background-color: #f8d0ce;
  background-image: url("../../frontend/Creativestyle/theme-papilart/pl_PL/images/icons/messages/icon-error.svg");
  border: none; }

.cs-messages__text,
.message span {
  color: #696969;
  font-size: 1.4rem; }

.cs-messages--space-top {
  margin-top: 1.5rem; }

/**
 * Breakpoint component used by include-media vendor library.
 */
@use 'sass:map';
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
/**
* Default project breakpoints - [em]
*/
/**
 * Breakpoint component used by include-media vendor library.
 */
@use 'sass:map';
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
/**
* Default project breakpoints - [em]
*/
/*
 * Function to get value from a list of values, based on side
 * @param {string} $variable: variable with a list of values (like paddings, margins etc.);
 * @param {string} $side: side (up / right / down / left) for which we want to get value
 * Example:
 * $component_padding: 1rem 2rem 3rem;
 * get-value-from-list($component_padding, 'right') // 2rem
 * get-value-from-list($component_padding, 'bottom') // 3rem
 */
/* stylelint-disable block-no-empty */
/* stylelint-enable */
/**
 * Breakpoint component used by include-media vendor library.
 */
@use 'sass:map';
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
/**
* Default project breakpoints - [em]
*/
/*
 * Function to get value from a list of values, based on side
 * @param {string} $variable: variable with a list of values (like paddings, margins etc.);
 * @param {string} $side: side (up / right / down / left) for which we want to get value
 * Example:
 * $component_padding: 1rem 2rem 3rem;
 * get-value-from-list($component_padding, 'right') // 2rem
 * get-value-from-list($component_padding, 'bottom') // 3rem
 */
/* stylelint-disable block-no-empty */
/* stylelint-enable */
/* stylelint-disable block-no-empty */
/* stylelint-enable */
/* Radio and checkbox styling */
/***
 * Hide only visually, but have it available for screen readers:
 * https://snook.ca/archives/html_and_css/hiding-content-for-accessibility
 *
 * 1. For long content, line feeds are not interpreted as spaces and small width
 *    causes content to wrap 1 word per line:
 *    https://medium.com/@jessebeach/beware-smushed-off-screen-accessible-text-5952a4c2cbfe
 *
 * @see https://github.com/h5bp/html5-boilerplate/blob/master/src/css/main.css#L130
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
.cs-minicart-product {
  display: flex; }
  .cs-minicart-product__image-container {
    flex-shrink: 0;
    margin-right: 1rem; }
    .cs-minicart-product__image-container img {
      width: auto !important;
      height: auto !important; }
  .cs-minicart-product__image {
    max-height: 100%;
    width: auto; }
  .cs-minicart-product__overview {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: baseline; }
  .cs-minicart-product__details {
    width: 100%; }
  .cs-minicart-product__brand-wrapper {
    text-align: left; }
  .cs-minicart-product__brand {
    font-size: 1.2rem;
    color: #888; }
  .cs-minicart-product__name-wrapper {
    flex-basis: 55%;
    padding-bottom: 1.2rem;
    text-align: left;
    font-size: 1.3rem;
    flex-basis: 100% !important; }
    @media (min-width: 30em) {
      .cs-minicart-product__name-wrapper {
        flex-basis: 70%; } }
  .cs-minicart-product__name {
    width: 100%;
    padding: 0;
    margin-top: 0;
    font-size: inherit;
    text-decoration: none;
    color: #455a64;
    font-weight: 600;
    font-weight: 700;
    font-size: 1.4rem; }
    .cs-minicart-product__name:visited, .cs-minicart-product__name:hover {
      text-decoration: none;
      color: #455a64; }
  .cs-minicart-product__item-pricing {
    order: 3; }
    .cs-minicart-product__item-pricing--with-special {
      text-align: left; }
      .cs-minicart-product__item-pricing--with-special .old-price .price {
        font-size: 1.3rem;
        color: #a8b1b7; }
      .cs-minicart-product__item-pricing--with-special .cs-minicart-product__price .price {
        color: #e41f12; }
  .cs-minicart-product__price .price {
    font-size: 1.3rem;
    font-weight: 700;
    color: #455a64; }
  .cs-minicart-product__price .price-including-tax,
  .cs-minicart-product__price .price-excluding-tax {
    font-size: 1.3rem; }
  .cs-minicart-product__price .price {
    font-weight: 400; }
  .cs-minicart-product__price-label, .cs-minicart-product__options-subtitle {
    display: none; }
  .cs-minicart-product__options-title {
    font-size: 1.2rem;
    color: #484848;
    cursor: pointer;
    font-size: 1.3rem;
    color: #455a64; }
    .cs-minicart-product__options-title[aria-expanded='true'] > .cs-minicart-product__options-title-svg {
      transform: rotate(180deg);
      vertical-align: initial; }
  .cs-minicart-product__options-title-svg {
    width: 1rem;
    height: 1rem;
    margin-left: 0.5rem;
    transition: transform 0.3s cubic-bezier(0, 0.66, 0.32, 0.99);
    vertical-align: middle; }
  .cs-minicart-product__options-wrapper {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    text-align: left;
    margin-top: -0.4rem;
    flex-basis: 100%;
    padding-bottom: 1.2rem; }
  .cs-minicart-product__options-group {
    margin: 0;
    width: 100%;
    display: flex;
    align-items: center; }
    .cs-minicart-product__options-group--qty {
      margin-top: 0.5rem; }
      .cs-minicart-product__options-wrapper + .cs-minicart-product__options-group--qty {
        margin-top: 1.5rem; }
  .cs-minicart-product__options-content {
    width: 100%;
    padding-top: 0.5rem; }
  .cs-minicart-product__options-label {
    font-size: 1.2rem;
    color: #888;
    font-weight: 400;
    margin-bottom: 0;
    text-align: left;
    padding-right: 0.5rem;
    font-size: 1.1rem;
    font-weight: 700;
    color: #455a64;
    text-transform: uppercase; }
    .cs-minicart-product__options-label:after {
      content: ':'; }
  .cs-minicart-product__options-value {
    font-size: 1.2rem;
    color: #888;
    margin-bottom: 0;
    width: 100%; }
    .cs-minicart-product__options-value__value {
      display: flex;
      justify-content: space-between;
      width: 100%; }
      .cs-minicart-product__options-value__value .price {
        color: #455a64; }
  .cs-minicart-product__actions {
    display: flex;
    justify-content: space-between;
    align-items: center;
    width: 100%;
    padding-top: 1.2rem; }
  .cs-minicart-product__action-wrapper {
    margin-left: 1rem; }
  .cs-minicart-product__qty,
  .cs-minicart-product .cs-qty-increment {
    display: flex;
    flex: 1 0 9rem;
    flex-wrap: nowrap; }
  .cs-minicart-product__qty-label {
    display: none; }
  .cs-minicart-product__qty-input {
    font-size: 1em;
    line-height: 1.275em;
    padding: 0.75em 1em;
    color: #455a64;
    background: #fff;
    border-radius: 200px;
    border: 2px solid #dcdcdc;
    box-shadow: none;
    transition: border-color 0.5s;
    margin: 0 0 0.2em;
    width: 100%;
    background-clip: padding-box;
    font-family: inherit;
    padding: 0;
    text-align: center;
    box-sizing: border-box;
    margin-bottom: 0;
    height: 3rem;
    width: 4rem;
    max-width: 4rem;
    font-size: 1.2rem; }
    .cs-minicart-product__qty-input:hover:not([disabled]), .cs-minicart-product__qty-input:focus:not([disabled]) {
      border: 2px solid #7e57c2;
      box-shadow: none; }
    .cs-minicart-product__qty-input::-moz-placeholder {
      opacity: 1;
      color: #888; }
    .cs-minicart-product__qty-input::placeholder {
      opacity: 1;
      color: #888; }
    .cs-minicart-product__qty-input[disabled] {
      opacity: 0.65; }
  .cs-minicart-product__qty-button {
    display: inline-block;
    font-size: 1.8rem;
    font-weight: 700;
    text-align: center;
    position: relative;
    line-height: 1.275em;
    margin: 0;
    text-transform: none;
    padding: 0.75em 1em;
    box-sizing: border-box;
    transition: background-color 0.5s, border-color 0.5s, fill 0.5s, color 0.5s;
    vertical-align: middle;
    z-index: 5;
    padding: 0;
    width: 3rem;
    height: 3rem;
    margin-left: 0.5rem; }
    .cs-minicart-product__qty-button::-moz-focus-inner {
      border: 0;
      padding: 0;
      margin: 0; }
    .cs-minicart-product__qty-button, .cs-minicart-product__qty-button:visited {
      cursor: pointer;
      border-radius: 200px;
      outline-offset: 1px;
      text-decoration: none;
      box-shadow: none;
      border: 1px solid transparent;
      color: #fff;
      background-color: #7e57c2; }
      .cs-minicart-product__qty-button *, .cs-minicart-product__qty-button:visited * {
        color: #fff;
        fill: #fff; }
    .cs-minicart-product__qty-button:hover:not([disabled]), .cs-minicart-product__qty-button:focus:not([disabled]), .cs-minicart-product__qty-button:active:not([disabled]) {
      box-shadow: none;
      outline: none;
      text-decoration: none;
      border: 1px solid transparent;
      color: #fff;
      background-color: #4d2c91; }
      .cs-minicart-product__qty-button:hover:not([disabled]) *, .cs-minicart-product__qty-button:focus:not([disabled]) *, .cs-minicart-product__qty-button:active:not([disabled]) * {
        color: #fff;
        fill: #fff; }
    .cs-minicart-product__qty-button[disabled] {
      opacity: 0.65;
      cursor: auto; }
  .cs-minicart-product__qty-button-span {
    margin-top: 0;
    z-index: 1;
    font-weight: 700;
    vertical-align: baseline;
    display: inline-block;
    line-height: 1.275em;
    letter-spacing: normal;
    display: none; }
  .cs-minicart-product__qty-button-icon {
    max-width: 1em;
    max-height: 1.8rem;
    z-index: 2;
    height: auto;
    width: 100%;
    position: relative;
    top: 0.1em; }
  .cs-minicart-product__action:hover .cs-minicart-product__options-title-svg *,
  .cs-minicart-product__action:hover .cs-minicart-product__action-icon *, .cs-minicart-product__options-title:hover .cs-minicart-product__options-title-svg *,
  .cs-minicart-product__options-title:hover .cs-minicart-product__action-icon * {
    fill: #4d2c91; }
  .cs-minicart-product__action-icon {
    width: 1.6rem;
    height: 1.6rem;
    width: 2rem;
    height: 2rem; }
  .cs-minicart-product__action-icon *, .cs-minicart-product__options-title-svg * {
    fill: #7e57c2; }
  .cs-minicart-product__action-label {
    border: 0;
    clip: rect(0 0 0 0);
    height: 1px;
    margin: -1px;
    overflow: hidden;
    padding: 0;
    position: absolute;
    width: 1px;
    white-space: nowrap;
    /* 1 */ }
  .cs-minicart-product__options-title:hover .cs-minicart-product__options-title-svg * {
    fill: #455a64; }
  .cs-minicart-product__options-title-svg * {
    fill: #455a64; }

/**
 * Breakpoint component used by include-media vendor library.
 */
@use 'sass:map';
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
/**
* Default project breakpoints - [em]
*/
/**
 * Breakpoint component used by include-media vendor library.
 */
@use 'sass:map';
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
/**
* Default project breakpoints - [em]
*/
/*
 * Function to get value from a list of values, based on side
 * @param {string} $variable: variable with a list of values (like paddings, margins etc.);
 * @param {string} $side: side (up / right / down / left) for which we want to get value
 * Example:
 * $component_padding: 1rem 2rem 3rem;
 * get-value-from-list($component_padding, 'right') // 2rem
 * get-value-from-list($component_padding, 'bottom') // 3rem
 */
/* stylelint-disable block-no-empty */
/* stylelint-enable */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
/**
 * Breakpoint component used by include-media vendor library.
 */
@use 'sass:map';
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
/**
* Default project breakpoints - [em]
*/
/* stylelint-disable block-no-empty */
/* stylelint-enable */
/**
 * Breakpoint component used by include-media vendor library.
 */
@use 'sass:map';
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
/**
* Default project breakpoints - [em]
*/
/***
 * Remove browser's margins, paddings and list style rules
 */
/***
 * Hide native browser's scrollbar
 */
/**
 * Breakpoint component used by include-media vendor library.
 */
@use 'sass:map';
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
/**
* Default project breakpoints - [em]
*/
/* stylelint-disable block-no-empty */
/* stylelint-enable */
/**
 * Breakpoint component used by include-media vendor library.
 */
@use 'sass:map';
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
/**
* Default project breakpoints - [em]
*/
/* prettier-ignore */
.cs-minicart__close {
  display: inline-block;
  background: none;
  box-sizing: content-box;
  border: 0;
  box-shadow: none;
  line-height: inherit;
  margin: 0;
  padding: 0;
  text-decoration: none;
  text-shadow: none;
  font-weight: 400;
  position: absolute;
  right: -1.5rem;
  width: 5rem;
  height: 5rem;
  top: 50%;
  transform: translateY(-50%);
  cursor: pointer;
  right: 0.5rem; }
  .cs-minicart__close:focus, .cs-minicart__close:active, .cs-minicart__close:hover {
    background: transparent;
    border: none;
    color: inherit; }

.cs-minicart__close-icon {
  position: relative;
  transform: rotate(45deg);
  width: 100%;
  height: 100%;
  display: inline-block; }
  .cs-minicart__close-icon:before, .cs-minicart__close-icon:after {
    content: '';
    position: absolute;
    top: 50%;
    width: 2rem;
    height: 0.2rem;
    left: auto;
    background-color: #484848;
    transition: transform 0.3s ease-out, opacity 0.15s ease-out, background-color 0.15s linear;
    backface-visibility: hidden; }
  .cs-minicart__close-icon:hover:before, .cs-minicart__close-icon:hover:after {
    background-color: #696969; }
  .cs-minicart__close-icon[aria-expanded="true"]:before, .cs-minicart__close-icon[aria-expanded="true"]:after {
    background-color: #888; }
  .cs-minicart__close-icon:before, .cs-minicart__close-icon:after {
    right: 1.5rem;
    transform: translate3d(0, -50%, 0) !important; }
  .cs-minicart__close-icon:after {
    transform: translate3d(0, -50%, 0) rotate(90deg) !important; }
  .cs-minicart__close-icon[aria-expanded="true"]:before {
    transform: translate3d(0, -50%, 0) rotate(-90deg) !important;
    opacity: 0; }
  .cs-minicart__close-icon[aria-expanded="true"]:after {
    transform: translate3d(0, -50%, 0) rotate(0) !important; }

.cs-minicart__close-text {
  border: 0;
  clip: rect(0, 0, 0, 0);
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute;
  width: 1px; }

.cs-minicart__title-wrapper {
  position: relative;
  padding: 2rem 0;
  display: flex;
  color: #455a64;
  font-weight: 700;
  font-size: 1.8rem;
  margin: 0;
  padding: 1rem 2rem;
  font-size: 2.1rem;
  text-transform: uppercase;
  border-bottom: 1px solid #dcdcdc; }

.cs-minicart__items-total {
  margin-left: 0.5rem;
  color: #696969;
  font-weight: 400; }
  .cs-minicart__items-total:not(.cs-minicart__items-total--empty):before {
    content: '('; }
  .cs-minicart__items-total:not(.cs-minicart__items-total--empty):after {
    content: ')'; }
  .cs-minicart__items-total--empty .count {
    display: none; }

.cs-minicart__edit-link {
  font-weight: 700; }
  .cs-minicart__edit-link .cs-link__icon {
    padding: 0 0 0 1rem; }

.cs-minicart__content {
  height: auto !important;
  background-color: #fff;
  position: relative; }
  .cs-minicart__content .load.indicator:before {
    height: unset; }

.cs-minicart__list {
  padding: 0;
  list-style: none;
  margin-bottom: 0; }
  .cs-minicart__list--scroll {
    height: auto !important;
    max-height: calc(100vh - 36rem);
    overflow-y: auto; }
    @media (min-width: 48em) {
      .cs-minicart__list--scroll {
        max-height: calc(100vh - 43rem); } }
    @media (min-width: 64em) {
      .cs-minicart__list--scroll {
        max-height: calc(100vh - 38rem); } }

.cs-minicart__list-item {
  padding: 1.5rem;
  border-bottom: 1px solid #dcdcdc;
  margin-bottom: 0;
  padding: 1.5rem 2rem; }
  .cs-minicart__list-item:last-child {
    border-bottom: none; }

.cs-minicart__actions-wrapper {
  padding: 2rem 0;
  position: relative;
  padding: 1.5rem 2rem;
  box-shadow: 0 -5px 5px -5px rgba(0, 0, 0, 0.27); }

.cs-minicart__actions {
  margin-top: 1rem; }
  .cs-minicart__actions:first-child {
    margin-top: 0; }

.cs-minicart__empty {
  padding: 2rem 0;
  display: inline-block;
  font-size: 1.4rem;
  text-align: center; }

.cs-minicart__subtotal {
  font-weight: 700;
  font-size: 1.5rem;
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 1.2rem; }

.cs-minicart__subtotal-price .price {
  font-weight: 700;
  font-size: 1.5rem !important;
  font-size: 2.1rem !important; }

.cs-minicart__button-checkout {
  display: inline-block;
  font-size: 1.8rem;
  font-weight: 700;
  text-align: center;
  position: relative;
  line-height: 1.275em;
  margin: 0;
  text-transform: none;
  padding: 0.75em 1em;
  box-sizing: border-box;
  transition: background-color 0.5s, border-color 0.5s, fill 0.5s, color 0.5s;
  vertical-align: middle;
  z-index: 5;
  width: 100%; }
  .cs-minicart__button-checkout:hover, .cs-minicart__button-checkout:focus, .cs-minicart__button-checkout:active {
    background-color: #7e57c2 !important; }
  .cs-minicart__button-checkout:before, .cs-minicart__button-checkout:after {
    content: '';
    position: absolute;
    top: -1px;
    bottom: -1px;
    right: -1px; }
  .cs-minicart__button-checkout:before {
    width: 3.4em;
    border-radius: 0 200px 200px 0;
    z-index: -1;
    background: linear-gradient(0deg, transparent 0%, transparent 0%, #4d2c91 0%, #4d2c91 100%); }
  .cs-minicart__button-checkout:after {
    width: 3em;
    min-width: auto;
    background-color: #4d2c91;
    transition: width 0.25s linear;
    z-index: -2;
    border-radius: 200px; }
  .cs-minicart__button-checkout:hover:after {
    width: calc(100% + 2px); }
  .cs-minicart__button-checkout::-moz-focus-inner {
    border: 0;
    padding: 0;
    margin: 0; }
  .cs-minicart__button-checkout, .cs-minicart__button-checkout:visited {
    cursor: pointer;
    border-radius: 200px;
    outline-offset: 1px;
    text-decoration: none;
    box-shadow: none;
    border: 1px solid transparent;
    color: #fff;
    background-color: #7e57c2; }
    .cs-minicart__button-checkout *, .cs-minicart__button-checkout:visited * {
      color: #fff;
      fill: #fff; }
  .cs-minicart__button-checkout:hover:not([disabled]), .cs-minicart__button-checkout:focus:not([disabled]), .cs-minicart__button-checkout:active:not([disabled]) {
    box-shadow: none;
    outline: none;
    text-decoration: none;
    border: 1px solid transparent;
    color: #fff;
    background-color: #4d2c91; }
    .cs-minicart__button-checkout:hover:not([disabled]) *, .cs-minicart__button-checkout:focus:not([disabled]) *, .cs-minicart__button-checkout:active:not([disabled]) * {
      color: #fff;
      fill: #fff; }
  .cs-minicart__button-checkout[disabled] {
    opacity: 0.65;
    cursor: auto; }
  .cs-minicart__button-checkout-span {
    margin-top: 0;
    z-index: 1;
    font-weight: 700;
    vertical-align: baseline;
    display: inline-block;
    line-height: 1.275em;
    letter-spacing: normal;
    padding-left: 0;
    padding-right: 4em;
    /* stylelint-disable-next-line */ }
  .cs-minicart__button-checkout-icon {
    max-width: 1em;
    max-height: 1.8rem;
    z-index: 2;
    height: auto;
    width: 100%;
    position: absolute;
    top: 50%;
    transform: translate3d(0, -50%, 0);
    margin-right: 0;
    right: 1em;
    /* stylelint-disable-next-line */ }

.cs-minicart__button-viewcart {
  display: inline-block;
  font-size: 1.8rem;
  font-weight: 700;
  text-align: center;
  position: relative;
  line-height: 1.275em;
  margin: 0;
  text-transform: none;
  padding: 0.75em 1em;
  box-sizing: border-box;
  transition: background-color 0.5s, border-color 0.5s, fill 0.5s, color 0.5s;
  vertical-align: middle;
  z-index: 5;
  width: 100%; }
  .cs-minicart__button-viewcart::before, .cs-minicart__button-viewcart::after {
    content: none; }
  .cs-minicart__button-viewcart::-moz-focus-inner {
    border: 0;
    padding: 0;
    margin: 0; }
  .cs-minicart__button-viewcart, .cs-minicart__button-viewcart:visited {
    cursor: pointer;
    border-radius: 200px;
    outline-offset: 1px;
    text-decoration: none;
    box-shadow: none;
    border: 1px solid #7e57c2;
    color: #7e57c2;
    background-color: #fff; }
    .cs-minicart__button-viewcart *, .cs-minicart__button-viewcart:visited * {
      color: #7e57c2;
      fill: #7e57c2; }
  .cs-minicart__button-viewcart:hover:not([disabled]), .cs-minicart__button-viewcart:focus:not([disabled]), .cs-minicart__button-viewcart:active:not([disabled]) {
    box-shadow: none;
    outline: none;
    text-decoration: none;
    border: 1px solid #4d2c91;
    color: #fff;
    background-color: #4d2c91; }
    .cs-minicart__button-viewcart:hover:not([disabled]) *, .cs-minicart__button-viewcart:focus:not([disabled]) *, .cs-minicart__button-viewcart:active:not([disabled]) * {
      color: #fff;
      fill: #fff; }
  .cs-minicart__button-viewcart[disabled] {
    opacity: 0.65;
    cursor: auto; }
  .cs-minicart__button-viewcart-span {
    margin-top: 0;
    z-index: 1;
    font-weight: 700;
    vertical-align: baseline;
    display: inline-block;
    line-height: 1.275em;
    letter-spacing: normal;
    padding-left: 0;
    padding-right: 4em;
    /* stylelint-disable-next-line */ }
  .cs-minicart__button-viewcart-icon {
    max-width: 1em;
    max-height: 1.8rem;
    z-index: 2;
    height: auto;
    width: 100%;
    position: absolute;
    top: 50%;
    transform: translate3d(0, -50%, 0);
    margin-right: 0;
    right: 1em;
    /* stylelint-disable-next-line */ }

.cs-minicart__button-carousel {
  display: inline-block;
  font-size: 1.8rem;
  font-weight: 700;
  text-align: center;
  position: relative;
  line-height: 1.275em;
  margin: 0;
  text-transform: none;
  padding: 0.75em 1em;
  box-sizing: border-box;
  transition: background-color 0.5s, border-color 0.5s, fill 0.5s, color 0.5s;
  vertical-align: middle;
  z-index: 5; }
  .cs-minicart__button-carousel-wrapper {
    display: flex;
    justify-content: center;
    padding-top: 3rem;
    margin: 3rem 0;
    border-top: 1px solid #dcdcdc; }
  .cs-minicart__button-carousel::before, .cs-minicart__button-carousel::after {
    content: none; }
  .cs-minicart__button-carousel::-moz-focus-inner {
    border: 0;
    padding: 0;
    margin: 0; }
  .cs-minicart__button-carousel, .cs-minicart__button-carousel:visited {
    cursor: pointer;
    border-radius: 200px;
    outline-offset: 1px;
    text-decoration: none;
    box-shadow: none;
    border: 1px solid #7e57c2;
    color: #7e57c2;
    background-color: #fff; }
    .cs-minicart__button-carousel *, .cs-minicart__button-carousel:visited * {
      color: #7e57c2;
      fill: #7e57c2; }
  .cs-minicart__button-carousel:hover:not([disabled]), .cs-minicart__button-carousel:focus:not([disabled]), .cs-minicart__button-carousel:active:not([disabled]) {
    box-shadow: none;
    outline: none;
    text-decoration: none;
    border: 1px solid #4d2c91;
    color: #fff;
    background-color: #4d2c91; }
    .cs-minicart__button-carousel:hover:not([disabled]) *, .cs-minicart__button-carousel:focus:not([disabled]) *, .cs-minicart__button-carousel:active:not([disabled]) * {
      color: #fff;
      fill: #fff; }
  .cs-minicart__button-carousel[disabled] {
    opacity: 0.65;
    cursor: auto; }
  .cs-minicart__button-carousel-span {
    margin-top: 0;
    z-index: 1;
    font-weight: 700;
    vertical-align: baseline;
    display: inline-block;
    line-height: 1.275em;
    letter-spacing: normal;
    padding-left: 0;
    padding-right: 4em;
    /* stylelint-disable-next-line */ }
  .cs-minicart__button-carousel-icon {
    max-width: 1em;
    max-height: 1.8rem;
    z-index: 2;
    height: auto;
    width: 100%;
    position: absolute;
    top: 50%;
    transform: translate3d(0, -50%, 0);
    margin-right: 0;
    right: 1em;
    /* stylelint-disable-next-line */ }

.cs-minicart__messages {
  padding: 0 2rem; }

.cs-minicart-offcanvas__wrapper {
  padding: 0; }

/* prettier-ignore */
.cs-minicart__carousel {
  position: relative;
  z-index: 10; }
  .cs-minicart__carousel-container {
    opacity: 0;
    transition: opacity 0.3s ease-in;
    background: #fff; }
    .cs-minicart__carousel-wrapper--ready .cs-minicart__carousel-container {
      opacity: 1; }
  .cs-minicart__carousel-wrapper {
    display: none;
    visibility: hidden;
    pointer-events: none;
    top: 50%;
    right: calc(40rem + 2rem);
    transform: translateY(-50%);
    width: calc(100vw - (40rem + (2 * 2rem)));
    max-width: 120rem;
    padding: 0;
    margin: 0;
    background: transparent; }
    .cs-minicart__carousel-wrapper--loading, .cs-minicart__carousel-wrapper--ready {
      visibility: visible;
      pointer-events: auto; }
    .drawer--visible .cs-minicart__carousel-wrapper {
      position: absolute; }
    @media (min-width: 64em) {
      .minicart-offcanvas-open .cs-minicart__carousel-wrapper {
        display: block; } }
    @media (min-width: 80em) {
      .cs-minicart__carousel-wrapper {
        right: calc(40rem + (2 * 2rem));
        width: calc(100vw - (40rem + (4 * 2rem))); } }
    .cs-minicart__carousel-wrapper .cs-headline {
      margin: 0 0 2rem;
      padding: 2rem 0 0; }
    .cs-minicart__carousel-wrapper .cs-headline__title {
      font-family: "Dosis", system-ui, -apple-system, Segoe UI, Roboto, Ubuntu, Cantarell, Oxygen, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
      font-size: 1.8rem;
      line-height: 1.1;
      color: #455a64;
      font-weight: 700;
      text-transform: none;
      margin: 1rem 0 2rem; }
  .cs-minicart__carousel-spinner {
    opacity: 0;
    position: absolute;
    top: 50%;
    left: 50%;
    width: 11rem;
    height: 11rem;
    padding: 2rem 0;
    transform: translate3d(-50%, -50%, 0);
    transition: opacity 0.3s ease-in; }
    .cs-minicart__carousel-wrapper--loading .cs-minicart__carousel-spinner {
      opacity: 1;
      z-index: 10; }
  .cs-minicart__carousel .cs-products-carousel {
    --gap: 0.8rem;
    --base-size: calc(100% - 0.8rem);
    --size: var(--base-size);
    /**
     * class-based columns config relates to classnames, like '--items-in-row-4'
     * which are added to elements, depending on the CC Components configuration.
     */
    --size: calc(
            var(--base-size) /
                2 -
                1 *
                var(--gap) /
                2
        );
    /*  container padding fix  */
    margin: 0;
    background: #fff; }
    @media (min-width: 81.875em) {
      .cs-minicart__carousel .cs-products-carousel.cs-minicart__carousel .cs-products-carousel--container-width {
        --base-size: calc(128rem - 0.8rem); }
      .cs-minicart__carousel .cs-products-carousel.cs-minicart__carousel .cs-products-carousel--use-whole-screen {
        --base-size: 100%;
        max-width: 100%; }
        .cs-minicart__carousel .cs-products-carousel.cs-minicart__carousel .cs-products-carousel--use-whole-screen .cs-minicart__carousel .cs-products-carousel__slides {
          scroll-snap-type: x proximity;
          padding-left: calc((100% - 128rem) / 2);
          padding-right: calc((100% - 128rem) / 2);
          scroll-padding-left: calc((100% - 128rem) / 2);
          scroll-padding-right: calc((100% - 128rem) / 2);
          scroll-margin-left: calc((100vw - 128rem) / 2);
          scroll-margin-right: calc((100vw - 128rem) / 2); } }
    @media (hover: hover) and (pointer: fine) and (min-width: 81.875em) {
      .cs-minicart__carousel .cs-products-carousel.cs-minicart__carousel .cs-products-carousel--container-width {
        --base-size: 128rem; } }
    @media (min-width: 48em) {
      .cs-minicart__carousel .cs-products-carousel {
        --gap: 0.8rem; } }
    @media (min-width: 23.125em) {
      .cs-minicart__carousel .cs-products-carousel {
        --size: calc(
                    var(--base-size) / 2 - ((
                                    1 * var(--gap)
                                ) / 2)
                ); } }
    @media (min-width: 30em) {
      .cs-minicart__carousel .cs-products-carousel {
        --size: calc(
                    var(--base-size) / 2 - ((
                                    1 * var(--gap)
                                ) / 2)
                ); } }
    @media (min-width: 48em) {
      .cs-minicart__carousel .cs-products-carousel {
        --size: calc(
                    var(--base-size) / 2 - ((
                                    1 * var(--gap)
                                ) / 2)
                ); } }
    @media (min-width: 64em) {
      .cs-minicart__carousel .cs-products-carousel {
        --size: calc(
                    var(--base-size) / 3 - ((
                                    2 * var(--gap)
                                ) / 3)
                ); } }
    @media (min-width: 80em) {
      .cs-minicart__carousel .cs-products-carousel {
        --size: calc(
                    var(--base-size) / 3 - ((
                                    2 * var(--gap)
                                ) / 3)
                ); } }
    @media (min-width: 90em) {
      .cs-minicart__carousel .cs-products-carousel {
        --size: calc(
                    var(--base-size) / 4 - ((
                                    3 * var(--gap)
                                ) / 4)
                ); } }
    @media (min-width: 120em) {
      .cs-minicart__carousel .cs-products-carousel {
        --size: calc(
                    var(--base-size) / 4 - ((
                                    3 * var(--gap)
                                ) / 4)
                ); } }
    @media (max-width: 81.8125em) {
      .cs-minicart__carousel .cs-products-carousel.cs-minicart__carousel .cs-products-carousel--container-width .cs-minicart__carousel .cs-products-carousel__slides {
        padding-left: 1.5rem;
        padding-right: 1.5rem;
        scroll-padding-left: 1.5rem;
        scroll-padding-right: 1.5rem; } }
    @media (prefers-reduced-motion: no-preference) {
      .cs-minicart__carousel .cs-products-carousel .cs-minicart__carousel .cs-products-carousel__slides {
        scroll-behavior: smooth; } }
    .cs-minicart__carousel .cs-products-carousel .cs-minicart__carousel .cs-products-carousel__slides-wrapper {
      position: relative; }
    .cs-minicart__carousel .cs-products-carousel .cs-minicart__carousel .cs-products-carousel__slides {
      margin: 0;
      padding: 0;
      list-style: none;
      display: flex;
      flex: 0 0 100%;
      gap: 0;
      flex-wrap: nowrap;
      padding: var(--gap) 0;
      overflow-x: auto;
      overscroll-behavior-inline: contain;
      scrollbar-width: thin; }
      @supports (scroll-behavior: smooth) {
        .cs-minicart__carousel .cs-products-carousel .cs-minicart__carousel .cs-products-carousel__slides {
          scroll-snap-type: x mandatory; } }
      @media (min-width: 48em) {
        .cs-minicart__carousel .cs-products-carousel .cs-minicart__carousel .cs-products-carousel__slides {
          overflow: -moz-scrollbars-none;
          scrollbar-width: none; }
          .cs-minicart__carousel .cs-products-carousel .cs-minicart__carousel .cs-products-carousel__slides::-webkit-scrollbar {
            display: none;
            width: 0;
            height: 0;
            background: transparent; }
          .cs-minicart__carousel .cs-products-carousel .cs-minicart__carousel .cs-products-carousel__slides::-webkit-scrollbar-thumb {
            background: transparent;
            width: 0;
            height: 0; } }
    .cs-minicart__carousel .cs-products-carousel .cs-minicart__carousel .cs-products-carousel__slide {
      margin: 0;
      padding: 0;
      list-style: none;
      display: inline-block;
      flex: 0 0 var(--size);
      margin-right: var(--gap);
      scroll-snap-align: start;
      min-width: 0; }
      .cs-minicart__carousel .cs-products-carousel .cs-minicart__carousel .cs-products-carousel__slide:last-of-type {
        margin-right: 0; }
    .cs-minicart__carousel .cs-products-carousel .cs-minicart__carousel .cs-products-carousel__image {
      display: block; }

.minicart-wrapper .ui-dialog {
  display: block !important; }

/**
 * Breakpoint component used by include-media vendor library.
 */
@use 'sass:map';
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
/**
* Default project breakpoints - [em]
*/
/**
 * Breakpoint component used by include-media vendor library.
 */
@use 'sass:map';
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
/**
* Default project breakpoints - [em]
*/
/* stylelint-disable block-no-empty */
/* stylelint-enable */
/**
 * Breakpoint component used by include-media vendor library.
 */
@use 'sass:map';
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
/**
* Default project breakpoints - [em]
*/
/*
 * Function to get value from a list of values, based on side
 * @param {string} $variable: variable with a list of values (like paddings, margins etc.);
 * @param {string} $side: side (up / right / down / left) for which we want to get value
 * Example:
 * $component_padding: 1rem 2rem 3rem;
 * get-value-from-list($component_padding, 'right') // 2rem
 * get-value-from-list($component_padding, 'bottom') // 3rem
 */
/* stylelint-disable block-no-empty */
/* stylelint-enable */
/***
 * Hide only visually, but have it available for screen readers:
 * https://snook.ca/archives/html_and_css/hiding-content-for-accessibility
 *
 * 1. For long content, line feeds are not interpreted as spaces and small width
 *    causes content to wrap 1 word per line:
 *    https://medium.com/@jessebeach/beware-smushed-off-screen-accessible-text-5952a4c2cbfe
 *
 * @see https://github.com/h5bp/html5-boilerplate/blob/master/src/css/main.css#L130
 */
/**
 * Breakpoint component used by include-media vendor library.
 */
@use 'sass:map';
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
/**
* Default project breakpoints - [em]
*/
/* stylelint-disable no-descending-specificity */
.modal-slide.confirm .modal-inner-wrap,
.modal-popup.confirm .modal-inner-wrap,
.modal-custom.confirm .modal-inner-wrap {
  max-width: 50rem; }

.modal-slide .modal-inner-wrap,
.modal-popup .modal-inner-wrap,
.modal-custom .modal-inner-wrap {
  background: #fff;
  box-shadow: none;
  border-radius: 0;
  border: none; }

.modal-slide .modal-content,
.modal-popup .modal-content,
.modal-custom .modal-content {
  padding-top: 2rem;
  padding-bottom: 2rem;
  font-size: 1.4rem; }

.modal-slide .modal-header,
.modal-popup .modal-header,
.modal-custom .modal-header {
  padding: 0;
  margin: 0; }

.modal-slide .action-close,
.modal-popup .action-close,
.modal-custom .action-close {
  background: none;
  border: none;
  position: absolute;
  right: 0;
  top: 0;
  margin: 1.5rem;
  background-image: url("../../frontend/Creativestyle/theme-papilart/pl_PL/images/icons/close.svg");
  background-repeat: no-repeat;
  background-position: center;
  background-size: 1rem 1rem;
  width: 3rem;
  height: 3rem;
  z-index: 1; }
  .modal-slide .action-close span,
  .modal-popup .action-close span,
  .modal-custom .action-close span {
    border: 0;
    clip: rect(0 0 0 0);
    height: 1px;
    margin: -1px;
    overflow: hidden;
    padding: 0;
    position: absolute;
    width: 1px;
    white-space: nowrap;
    /* 1 */ }
  .modal-slide .action-close:before,
  .modal-popup .action-close:before,
  .modal-custom .action-close:before {
    content: none; }

.modal-slide .modal-footer,
.modal-popup .modal-footer,
.modal-custom .modal-footer {
  padding: 2rem;
  border-top: 1px solid #dcdcdc;
  display: flex;
  justify-content: space-between; }
  @media (max-width: 29.99em) {
    .modal-slide .modal-footer,
    .modal-popup .modal-footer,
    .modal-custom .modal-footer {
      flex-wrap: wrap; } }
  .modal-slide .modal-footer .action-primary,
  .modal-slide .modal-footer .primary,
  .modal-popup .modal-footer .action-primary,
  .modal-popup .modal-footer .primary,
  .modal-custom .modal-footer .action-primary,
  .modal-custom .modal-footer .primary {
    display: inline-block;
    font-size: 1.8rem;
    font-weight: 700;
    text-align: center;
    position: relative;
    line-height: 1.275em;
    margin: 0;
    text-transform: none;
    padding: 0.75em 1em;
    box-sizing: border-box;
    transition: background-color 0.5s, border-color 0.5s, fill 0.5s, color 0.5s;
    vertical-align: middle;
    z-index: 5;
    min-width: 12rem; }
    .modal-slide .modal-footer .action-primary::-moz-focus-inner,
    .modal-slide .modal-footer .primary::-moz-focus-inner,
    .modal-popup .modal-footer .action-primary::-moz-focus-inner,
    .modal-popup .modal-footer .primary::-moz-focus-inner,
    .modal-custom .modal-footer .action-primary::-moz-focus-inner,
    .modal-custom .modal-footer .primary::-moz-focus-inner {
      border: 0;
      padding: 0;
      margin: 0; }
    .modal-slide .modal-footer .action-primary, .modal-slide .modal-footer .action-primary:visited,
    .modal-slide .modal-footer .primary,
    .modal-slide .modal-footer .primary:visited,
    .modal-popup .modal-footer .action-primary,
    .modal-popup .modal-footer .action-primary:visited,
    .modal-popup .modal-footer .primary,
    .modal-popup .modal-footer .primary:visited,
    .modal-custom .modal-footer .action-primary,
    .modal-custom .modal-footer .action-primary:visited,
    .modal-custom .modal-footer .primary,
    .modal-custom .modal-footer .primary:visited {
      cursor: pointer;
      border-radius: 200px;
      outline-offset: 1px;
      text-decoration: none;
      box-shadow: none;
      border: 1px solid transparent;
      color: #fff;
      background-color: #7e57c2; }
      .modal-slide .modal-footer .action-primary *, .modal-slide .modal-footer .action-primary:visited *,
      .modal-slide .modal-footer .primary *,
      .modal-slide .modal-footer .primary:visited *,
      .modal-popup .modal-footer .action-primary *,
      .modal-popup .modal-footer .action-primary:visited *,
      .modal-popup .modal-footer .primary *,
      .modal-popup .modal-footer .primary:visited *,
      .modal-custom .modal-footer .action-primary *,
      .modal-custom .modal-footer .action-primary:visited *,
      .modal-custom .modal-footer .primary *,
      .modal-custom .modal-footer .primary:visited * {
        color: #fff;
        fill: #fff; }
    .modal-slide .modal-footer .action-primary:hover:not([disabled]), .modal-slide .modal-footer .action-primary:focus:not([disabled]), .modal-slide .modal-footer .action-primary:active:not([disabled]),
    .modal-slide .modal-footer .primary:hover:not([disabled]),
    .modal-slide .modal-footer .primary:focus:not([disabled]),
    .modal-slide .modal-footer .primary:active:not([disabled]),
    .modal-popup .modal-footer .action-primary:hover:not([disabled]),
    .modal-popup .modal-footer .action-primary:focus:not([disabled]),
    .modal-popup .modal-footer .action-primary:active:not([disabled]),
    .modal-popup .modal-footer .primary:hover:not([disabled]),
    .modal-popup .modal-footer .primary:focus:not([disabled]),
    .modal-popup .modal-footer .primary:active:not([disabled]),
    .modal-custom .modal-footer .action-primary:hover:not([disabled]),
    .modal-custom .modal-footer .action-primary:focus:not([disabled]),
    .modal-custom .modal-footer .action-primary:active:not([disabled]),
    .modal-custom .modal-footer .primary:hover:not([disabled]),
    .modal-custom .modal-footer .primary:focus:not([disabled]),
    .modal-custom .modal-footer .primary:active:not([disabled]) {
      box-shadow: none;
      outline: none;
      text-decoration: none;
      border: 1px solid transparent;
      color: #fff;
      background-color: #4d2c91; }
      .modal-slide .modal-footer .action-primary:hover:not([disabled]) *, .modal-slide .modal-footer .action-primary:focus:not([disabled]) *, .modal-slide .modal-footer .action-primary:active:not([disabled]) *,
      .modal-slide .modal-footer .primary:hover:not([disabled]) *,
      .modal-slide .modal-footer .primary:focus:not([disabled]) *,
      .modal-slide .modal-footer .primary:active:not([disabled]) *,
      .modal-popup .modal-footer .action-primary:hover:not([disabled]) *,
      .modal-popup .modal-footer .action-primary:focus:not([disabled]) *,
      .modal-popup .modal-footer .action-primary:active:not([disabled]) *,
      .modal-popup .modal-footer .primary:hover:not([disabled]) *,
      .modal-popup .modal-footer .primary:focus:not([disabled]) *,
      .modal-popup .modal-footer .primary:active:not([disabled]) *,
      .modal-custom .modal-footer .action-primary:hover:not([disabled]) *,
      .modal-custom .modal-footer .action-primary:focus:not([disabled]) *,
      .modal-custom .modal-footer .action-primary:active:not([disabled]) *,
      .modal-custom .modal-footer .primary:hover:not([disabled]) *,
      .modal-custom .modal-footer .primary:focus:not([disabled]) *,
      .modal-custom .modal-footer .primary:active:not([disabled]) * {
        color: #fff;
        fill: #fff; }
    .modal-slide .modal-footer .action-primary[disabled],
    .modal-slide .modal-footer .primary[disabled],
    .modal-popup .modal-footer .action-primary[disabled],
    .modal-popup .modal-footer .primary[disabled],
    .modal-custom .modal-footer .action-primary[disabled],
    .modal-custom .modal-footer .primary[disabled] {
      opacity: 0.65;
      cursor: auto; }
    @media (max-width: 29.99em) {
      .modal-slide .modal-footer .action-primary,
      .modal-slide .modal-footer .primary,
      .modal-popup .modal-footer .action-primary,
      .modal-popup .modal-footer .primary,
      .modal-custom .modal-footer .action-primary,
      .modal-custom .modal-footer .primary {
        width: 100%; } }
    .modal-slide .modal-footer .action-primary span,
    .modal-slide .modal-footer .primary span,
    .modal-popup .modal-footer .action-primary span,
    .modal-popup .modal-footer .primary span,
    .modal-custom .modal-footer .action-primary span,
    .modal-custom .modal-footer .primary span {
      margin-top: 0;
      z-index: 1;
      font-weight: 700;
      vertical-align: baseline;
      display: inline-block;
      line-height: 1.275em;
      letter-spacing: normal; }
  .modal-slide .modal-footer .action-secondary,
  .modal-slide .modal-footer .secondary,
  .modal-popup .modal-footer .action-secondary,
  .modal-popup .modal-footer .secondary,
  .modal-custom .modal-footer .action-secondary,
  .modal-custom .modal-footer .secondary {
    display: inline-block;
    font-size: 1.8rem;
    font-weight: 700;
    text-align: center;
    position: relative;
    line-height: 1.275em;
    margin: 0;
    text-transform: none;
    padding: 0.75em 1em;
    box-sizing: border-box;
    transition: background-color 0.5s, border-color 0.5s, fill 0.5s, color 0.5s;
    vertical-align: middle;
    z-index: 5;
    min-width: 12rem; }
    .modal-slide .modal-footer .action-secondary::-moz-focus-inner,
    .modal-slide .modal-footer .secondary::-moz-focus-inner,
    .modal-popup .modal-footer .action-secondary::-moz-focus-inner,
    .modal-popup .modal-footer .secondary::-moz-focus-inner,
    .modal-custom .modal-footer .action-secondary::-moz-focus-inner,
    .modal-custom .modal-footer .secondary::-moz-focus-inner {
      border: 0;
      padding: 0;
      margin: 0; }
    .modal-slide .modal-footer .action-secondary, .modal-slide .modal-footer .action-secondary:visited,
    .modal-slide .modal-footer .secondary,
    .modal-slide .modal-footer .secondary:visited,
    .modal-popup .modal-footer .action-secondary,
    .modal-popup .modal-footer .action-secondary:visited,
    .modal-popup .modal-footer .secondary,
    .modal-popup .modal-footer .secondary:visited,
    .modal-custom .modal-footer .action-secondary,
    .modal-custom .modal-footer .action-secondary:visited,
    .modal-custom .modal-footer .secondary,
    .modal-custom .modal-footer .secondary:visited {
      cursor: pointer;
      border-radius: 200px;
      outline-offset: 1px;
      text-decoration: none;
      box-shadow: none;
      border: 1px solid #7e57c2;
      color: #7e57c2;
      background-color: #fff; }
      .modal-slide .modal-footer .action-secondary *, .modal-slide .modal-footer .action-secondary:visited *,
      .modal-slide .modal-footer .secondary *,
      .modal-slide .modal-footer .secondary:visited *,
      .modal-popup .modal-footer .action-secondary *,
      .modal-popup .modal-footer .action-secondary:visited *,
      .modal-popup .modal-footer .secondary *,
      .modal-popup .modal-footer .secondary:visited *,
      .modal-custom .modal-footer .action-secondary *,
      .modal-custom .modal-footer .action-secondary:visited *,
      .modal-custom .modal-footer .secondary *,
      .modal-custom .modal-footer .secondary:visited * {
        color: #7e57c2;
        fill: #7e57c2; }
    .modal-slide .modal-footer .action-secondary:hover:not([disabled]), .modal-slide .modal-footer .action-secondary:focus:not([disabled]), .modal-slide .modal-footer .action-secondary:active:not([disabled]),
    .modal-slide .modal-footer .secondary:hover:not([disabled]),
    .modal-slide .modal-footer .secondary:focus:not([disabled]),
    .modal-slide .modal-footer .secondary:active:not([disabled]),
    .modal-popup .modal-footer .action-secondary:hover:not([disabled]),
    .modal-popup .modal-footer .action-secondary:focus:not([disabled]),
    .modal-popup .modal-footer .action-secondary:active:not([disabled]),
    .modal-popup .modal-footer .secondary:hover:not([disabled]),
    .modal-popup .modal-footer .secondary:focus:not([disabled]),
    .modal-popup .modal-footer .secondary:active:not([disabled]),
    .modal-custom .modal-footer .action-secondary:hover:not([disabled]),
    .modal-custom .modal-footer .action-secondary:focus:not([disabled]),
    .modal-custom .modal-footer .action-secondary:active:not([disabled]),
    .modal-custom .modal-footer .secondary:hover:not([disabled]),
    .modal-custom .modal-footer .secondary:focus:not([disabled]),
    .modal-custom .modal-footer .secondary:active:not([disabled]) {
      box-shadow: none;
      outline: none;
      text-decoration: none;
      border: 1px solid #4d2c91;
      color: #fff;
      background-color: #4d2c91; }
      .modal-slide .modal-footer .action-secondary:hover:not([disabled]) *, .modal-slide .modal-footer .action-secondary:focus:not([disabled]) *, .modal-slide .modal-footer .action-secondary:active:not([disabled]) *,
      .modal-slide .modal-footer .secondary:hover:not([disabled]) *,
      .modal-slide .modal-footer .secondary:focus:not([disabled]) *,
      .modal-slide .modal-footer .secondary:active:not([disabled]) *,
      .modal-popup .modal-footer .action-secondary:hover:not([disabled]) *,
      .modal-popup .modal-footer .action-secondary:focus:not([disabled]) *,
      .modal-popup .modal-footer .action-secondary:active:not([disabled]) *,
      .modal-popup .modal-footer .secondary:hover:not([disabled]) *,
      .modal-popup .modal-footer .secondary:focus:not([disabled]) *,
      .modal-popup .modal-footer .secondary:active:not([disabled]) *,
      .modal-custom .modal-footer .action-secondary:hover:not([disabled]) *,
      .modal-custom .modal-footer .action-secondary:focus:not([disabled]) *,
      .modal-custom .modal-footer .action-secondary:active:not([disabled]) *,
      .modal-custom .modal-footer .secondary:hover:not([disabled]) *,
      .modal-custom .modal-footer .secondary:focus:not([disabled]) *,
      .modal-custom .modal-footer .secondary:active:not([disabled]) * {
        color: #fff;
        fill: #fff; }
    .modal-slide .modal-footer .action-secondary[disabled],
    .modal-slide .modal-footer .secondary[disabled],
    .modal-popup .modal-footer .action-secondary[disabled],
    .modal-popup .modal-footer .secondary[disabled],
    .modal-custom .modal-footer .action-secondary[disabled],
    .modal-custom .modal-footer .secondary[disabled] {
      opacity: 0.65;
      cursor: auto; }
    @media (max-width: 29.99em) {
      .modal-slide .modal-footer .action-secondary,
      .modal-slide .modal-footer .secondary,
      .modal-popup .modal-footer .action-secondary,
      .modal-popup .modal-footer .secondary,
      .modal-custom .modal-footer .action-secondary,
      .modal-custom .modal-footer .secondary {
        width: 100%;
        margin-bottom: 1.5rem !important; } }
    .modal-slide .modal-footer .action-secondary span,
    .modal-slide .modal-footer .secondary span,
    .modal-popup .modal-footer .action-secondary span,
    .modal-popup .modal-footer .secondary span,
    .modal-custom .modal-footer .action-secondary span,
    .modal-custom .modal-footer .secondary span {
      margin-top: 0;
      z-index: 1;
      font-weight: 700;
      vertical-align: baseline;
      display: inline-block;
      line-height: 1.275em;
      letter-spacing: normal; }
    body.checkout-index-index .modal-slide .modal-footer .action-secondary, body.checkout-index-index
    .modal-slide .modal-footer .secondary, body.checkout-index-index
    .modal-popup .modal-footer .action-secondary, body.checkout-index-index
    .modal-popup .modal-footer .secondary, body.checkout-index-index
    .modal-custom .modal-footer .action-secondary, body.checkout-index-index
    .modal-custom .modal-footer .secondary {
      display: inline-block;
      font-size: 1.8rem;
      font-weight: 700;
      text-align: center;
      position: relative;
      line-height: 1.275em;
      margin: 0;
      text-transform: none;
      padding: 0.75em 1em;
      box-sizing: border-box;
      transition: background-color 0.5s, border-color 0.5s, fill 0.5s, color 0.5s;
      vertical-align: middle;
      z-index: 5;
      min-width: 12rem; }
      body.checkout-index-index .modal-slide .modal-footer .action-secondary::-moz-focus-inner, body.checkout-index-index
      .modal-slide .modal-footer .secondary::-moz-focus-inner, body.checkout-index-index
      .modal-popup .modal-footer .action-secondary::-moz-focus-inner, body.checkout-index-index
      .modal-popup .modal-footer .secondary::-moz-focus-inner, body.checkout-index-index
      .modal-custom .modal-footer .action-secondary::-moz-focus-inner, body.checkout-index-index
      .modal-custom .modal-footer .secondary::-moz-focus-inner {
        border: 0;
        padding: 0;
        margin: 0; }
      body.checkout-index-index .modal-slide .modal-footer .action-secondary, body.checkout-index-index .modal-slide .modal-footer .action-secondary:visited, body.checkout-index-index
      .modal-slide .modal-footer .secondary, body.checkout-index-index
      .modal-slide .modal-footer .secondary:visited, body.checkout-index-index
      .modal-popup .modal-footer .action-secondary, body.checkout-index-index
      .modal-popup .modal-footer .action-secondary:visited, body.checkout-index-index
      .modal-popup .modal-footer .secondary, body.checkout-index-index
      .modal-popup .modal-footer .secondary:visited, body.checkout-index-index
      .modal-custom .modal-footer .action-secondary, body.checkout-index-index
      .modal-custom .modal-footer .action-secondary:visited, body.checkout-index-index
      .modal-custom .modal-footer .secondary, body.checkout-index-index
      .modal-custom .modal-footer .secondary:visited {
        cursor: pointer;
        border-radius: 200px;
        outline-offset: 1px;
        text-decoration: none;
        box-shadow: none;
        border: 1px solid #7e57c2;
        color: #7e57c2;
        background-color: #fff; }
        body.checkout-index-index .modal-slide .modal-footer .action-secondary *, body.checkout-index-index .modal-slide .modal-footer .action-secondary:visited *, body.checkout-index-index
        .modal-slide .modal-footer .secondary *, body.checkout-index-index
        .modal-slide .modal-footer .secondary:visited *, body.checkout-index-index
        .modal-popup .modal-footer .action-secondary *, body.checkout-index-index
        .modal-popup .modal-footer .action-secondary:visited *, body.checkout-index-index
        .modal-popup .modal-footer .secondary *, body.checkout-index-index
        .modal-popup .modal-footer .secondary:visited *, body.checkout-index-index
        .modal-custom .modal-footer .action-secondary *, body.checkout-index-index
        .modal-custom .modal-footer .action-secondary:visited *, body.checkout-index-index
        .modal-custom .modal-footer .secondary *, body.checkout-index-index
        .modal-custom .modal-footer .secondary:visited * {
          color: #7e57c2;
          fill: #7e57c2; }
      body.checkout-index-index .modal-slide .modal-footer .action-secondary:hover:not([disabled]), body.checkout-index-index .modal-slide .modal-footer .action-secondary:focus:not([disabled]), body.checkout-index-index .modal-slide .modal-footer .action-secondary:active:not([disabled]), body.checkout-index-index
      .modal-slide .modal-footer .secondary:hover:not([disabled]), body.checkout-index-index
      .modal-slide .modal-footer .secondary:focus:not([disabled]), body.checkout-index-index
      .modal-slide .modal-footer .secondary:active:not([disabled]), body.checkout-index-index
      .modal-popup .modal-footer .action-secondary:hover:not([disabled]), body.checkout-index-index
      .modal-popup .modal-footer .action-secondary:focus:not([disabled]), body.checkout-index-index
      .modal-popup .modal-footer .action-secondary:active:not([disabled]), body.checkout-index-index
      .modal-popup .modal-footer .secondary:hover:not([disabled]), body.checkout-index-index
      .modal-popup .modal-footer .secondary:focus:not([disabled]), body.checkout-index-index
      .modal-popup .modal-footer .secondary:active:not([disabled]), body.checkout-index-index
      .modal-custom .modal-footer .action-secondary:hover:not([disabled]), body.checkout-index-index
      .modal-custom .modal-footer .action-secondary:focus:not([disabled]), body.checkout-index-index
      .modal-custom .modal-footer .action-secondary:active:not([disabled]), body.checkout-index-index
      .modal-custom .modal-footer .secondary:hover:not([disabled]), body.checkout-index-index
      .modal-custom .modal-footer .secondary:focus:not([disabled]), body.checkout-index-index
      .modal-custom .modal-footer .secondary:active:not([disabled]) {
        box-shadow: none;
        outline: none;
        text-decoration: none;
        border: 1px solid #4d2c91;
        color: #fff;
        background-color: #4d2c91; }
        body.checkout-index-index .modal-slide .modal-footer .action-secondary:hover:not([disabled]) *, body.checkout-index-index .modal-slide .modal-footer .action-secondary:focus:not([disabled]) *, body.checkout-index-index .modal-slide .modal-footer .action-secondary:active:not([disabled]) *, body.checkout-index-index
        .modal-slide .modal-footer .secondary:hover:not([disabled]) *, body.checkout-index-index
        .modal-slide .modal-footer .secondary:focus:not([disabled]) *, body.checkout-index-index
        .modal-slide .modal-footer .secondary:active:not([disabled]) *, body.checkout-index-index
        .modal-popup .modal-footer .action-secondary:hover:not([disabled]) *, body.checkout-index-index
        .modal-popup .modal-footer .action-secondary:focus:not([disabled]) *, body.checkout-index-index
        .modal-popup .modal-footer .action-secondary:active:not([disabled]) *, body.checkout-index-index
        .modal-popup .modal-footer .secondary:hover:not([disabled]) *, body.checkout-index-index
        .modal-popup .modal-footer .secondary:focus:not([disabled]) *, body.checkout-index-index
        .modal-popup .modal-footer .secondary:active:not([disabled]) *, body.checkout-index-index
        .modal-custom .modal-footer .action-secondary:hover:not([disabled]) *, body.checkout-index-index
        .modal-custom .modal-footer .action-secondary:focus:not([disabled]) *, body.checkout-index-index
        .modal-custom .modal-footer .action-secondary:active:not([disabled]) *, body.checkout-index-index
        .modal-custom .modal-footer .secondary:hover:not([disabled]) *, body.checkout-index-index
        .modal-custom .modal-footer .secondary:focus:not([disabled]) *, body.checkout-index-index
        .modal-custom .modal-footer .secondary:active:not([disabled]) * {
          color: #fff;
          fill: #fff; }
      body.checkout-index-index .modal-slide .modal-footer .action-secondary[disabled], body.checkout-index-index
      .modal-slide .modal-footer .secondary[disabled], body.checkout-index-index
      .modal-popup .modal-footer .action-secondary[disabled], body.checkout-index-index
      .modal-popup .modal-footer .secondary[disabled], body.checkout-index-index
      .modal-custom .modal-footer .action-secondary[disabled], body.checkout-index-index
      .modal-custom .modal-footer .secondary[disabled] {
        opacity: 0.65;
        cursor: auto; }
      body.checkout-index-index .modal-slide .modal-footer .action-secondary span, body.checkout-index-index
      .modal-slide .modal-footer .secondary span, body.checkout-index-index
      .modal-popup .modal-footer .action-secondary span, body.checkout-index-index
      .modal-popup .modal-footer .secondary span, body.checkout-index-index
      .modal-custom .modal-footer .action-secondary span, body.checkout-index-index
      .modal-custom .modal-footer .secondary span {
        margin-top: 0;
        z-index: 1;
        font-weight: 700;
        vertical-align: baseline;
        display: inline-block;
        line-height: 1.275em;
        letter-spacing: normal; }
  .modal-slide .modal-footer button:only-child,
  .modal-popup .modal-footer button:only-child,
  .modal-custom .modal-footer button:only-child {
    display: inline-block;
    font-size: 1.8rem;
    font-weight: 700;
    text-align: center;
    position: relative;
    line-height: 1.275em;
    margin: 0;
    text-transform: none;
    padding: 0.75em 1em;
    box-sizing: border-box;
    transition: background-color 0.5s, border-color 0.5s, fill 0.5s, color 0.5s;
    vertical-align: middle;
    z-index: 5;
    min-width: 12rem; }
    .modal-slide .modal-footer button:only-child::-moz-focus-inner,
    .modal-popup .modal-footer button:only-child::-moz-focus-inner,
    .modal-custom .modal-footer button:only-child::-moz-focus-inner {
      border: 0;
      padding: 0;
      margin: 0; }
    .modal-slide .modal-footer button:only-child, .modal-slide .modal-footer button:only-child:visited,
    .modal-popup .modal-footer button:only-child,
    .modal-popup .modal-footer button:only-child:visited,
    .modal-custom .modal-footer button:only-child,
    .modal-custom .modal-footer button:only-child:visited {
      cursor: pointer;
      border-radius: 200px;
      outline-offset: 1px;
      text-decoration: none;
      box-shadow: none;
      border: 1px solid transparent;
      color: #fff;
      background-color: #7e57c2; }
      .modal-slide .modal-footer button:only-child *, .modal-slide .modal-footer button:only-child:visited *,
      .modal-popup .modal-footer button:only-child *,
      .modal-popup .modal-footer button:only-child:visited *,
      .modal-custom .modal-footer button:only-child *,
      .modal-custom .modal-footer button:only-child:visited * {
        color: #fff;
        fill: #fff; }
    .modal-slide .modal-footer button:only-child:hover:not([disabled]), .modal-slide .modal-footer button:only-child:focus:not([disabled]), .modal-slide .modal-footer button:only-child:active:not([disabled]),
    .modal-popup .modal-footer button:only-child:hover:not([disabled]),
    .modal-popup .modal-footer button:only-child:focus:not([disabled]),
    .modal-popup .modal-footer button:only-child:active:not([disabled]),
    .modal-custom .modal-footer button:only-child:hover:not([disabled]),
    .modal-custom .modal-footer button:only-child:focus:not([disabled]),
    .modal-custom .modal-footer button:only-child:active:not([disabled]) {
      box-shadow: none;
      outline: none;
      text-decoration: none;
      border: 1px solid transparent;
      color: #fff;
      background-color: #4d2c91; }
      .modal-slide .modal-footer button:only-child:hover:not([disabled]) *, .modal-slide .modal-footer button:only-child:focus:not([disabled]) *, .modal-slide .modal-footer button:only-child:active:not([disabled]) *,
      .modal-popup .modal-footer button:only-child:hover:not([disabled]) *,
      .modal-popup .modal-footer button:only-child:focus:not([disabled]) *,
      .modal-popup .modal-footer button:only-child:active:not([disabled]) *,
      .modal-custom .modal-footer button:only-child:hover:not([disabled]) *,
      .modal-custom .modal-footer button:only-child:focus:not([disabled]) *,
      .modal-custom .modal-footer button:only-child:active:not([disabled]) * {
        color: #fff;
        fill: #fff; }
    .modal-slide .modal-footer button:only-child[disabled],
    .modal-popup .modal-footer button:only-child[disabled],
    .modal-custom .modal-footer button:only-child[disabled] {
      opacity: 0.65;
      cursor: auto; }
    .modal-slide .modal-footer button:only-child span,
    .modal-popup .modal-footer button:only-child span,
    .modal-custom .modal-footer button:only-child span {
      margin-top: 0;
      z-index: 1;
      font-weight: 700;
      vertical-align: baseline;
      display: inline-block;
      line-height: 1.275em;
      letter-spacing: normal; }

.modal-slide .modal-title,
.modal-popup .modal-title,
.modal-custom .modal-title {
  font-family: "Dosis", system-ui, -apple-system, Segoe UI, Roboto, Ubuntu, Cantarell, Oxygen, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
  font-size: 1.8rem;
  line-height: 1.1;
  color: #455a64;
  font-weight: 700;
  text-transform: none;
  margin: 1rem 0 2rem;
  padding: 2rem;
  border-bottom: 1px solid #dcdcdc;
  margin: 0; }

@media (max-width: 47.99em) {
  .modal-popup.modal-slide .modal-inner-wrap[class] {
    background-color: #fff; } }

@media (max-width: 29.99em) {
  .modal-slide .modal-footer {
    flex-wrap: wrap; } }

@media (max-width: 29.99em) {
  .modal-slide .modal-footer .action-primary,
  .modal-slide .modal-footer .primary {
    width: 100%; } }

@media (max-width: 29.99em) {
  .modal-slide .modal-footer .action-secondary,
  .modal-slide .modal-footer .secondary {
    width: 100%;
    margin-bottom: 1.5rem !important; } }

.modal-popup {
  pointer-events: none;
  touch-action: none; }

.page-layout-checkout .modal-popup:not(._inner-scroll) {
  pointer-events: auto; }

@media (min-width: 48em) {
  .page-layout-checkout .modal-slide {
    width: 80%;
    max-width: 65rem;
    left: 50%;
    transform: translateX(-50%); } }

.modals-overlay {
  background-color: rgba(0, 0, 0, 0.7); }

body._has-modal.modal-no-scroll {
  position: fixed;
  width: 100vw;
  height: 100vh;
  overflow: initial; }

/* stylelint-enable */

/**
 * Breakpoint component used by include-media vendor library.
 */
@use 'sass:map';
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
/**
* Default project breakpoints - [em]
*/
/***
 * Using psuedo elements to maintain an elements aspect ratio, even as it scales
 * It's using only for IE11 and Edge (version which doesn't support native CSS grid) browsers
 * For browsers which support native CSS grid, we are using mixins contain `reset` in mixin name
 * to override default mixins (progressive enhancement)
 * https://css-tricks.com/snippets/sass/maintain-aspect-ratio-mixin/
 * @param {number} $width: width of the element;
 * @param {number} $height: height of the element;
 * @param {string} $contentClass: class of the direct child element to be positioned absolutely;
 * @param {boolean} $autoposition: tells if item shall take 100% of parent size or if it can be wider/higher if needed;
 */
/**
 * Breakpoint component used by include-media vendor library.
 */
@use 'sass:map';
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
/**
* Default project breakpoints - [em]
*/
.cs-navigation {
  box-sizing: border-box;
  font-size: 1.2rem; }
  .cs-navigation__list {
    list-style: none;
    padding: 0;
    margin: 0; }
    .cs-navigation__list--main {
      position: relative;
      display: flex;
      flex-wrap: nowrap;
      justify-content: center; }
      .cs-navigation__list--main .cs-navigation__item--main:nth-child(6) a {
        color: #7e57c2; }
        .cs-navigation__list--main .cs-navigation__item--main:nth-child(6) a::before {
          content: url("../../frontend/Creativestyle/theme-papilart/pl_PL/images/icons/pdf.svg");
          display: inline-block;
          width: 14px;
          height: 14px;
          margin-right: 4px; }
      .cs-navigation__list--main .cs-navigation__item--main:nth-child(7) a {
        color: #7B9643; }
        .cs-navigation__list--main .cs-navigation__item--main:nth-child(7) a::before {
          content: url("../../frontend/Creativestyle/theme-papilart/pl_PL/images/icons/pdf-green.svg");
          display: inline-block;
          width: 14px;
          height: 14px;
          margin-right: 4px; }
        .cs-navigation__list--main .cs-navigation__item--main:nth-child(7) a:hover {
          color: #7B9643; }
    .cs-navigation__list--all-categories {
      width: 100%;
      -moz-columns: auto 1;
           columns: auto 1;
      -moz-column-gap: 0;
           column-gap: 0;
      flex: 1 0 auto; }
    .cs-navigation__list--level_1 {
      width: 100%;
      -moz-columns: auto 1;
           columns: auto 1;
      -moz-column-gap: 0;
           column-gap: 0;
      flex: 1 0 auto; }
    .cs-navigation__list--level_2 {
      flex-wrap: wrap; }
    .cs-navigation__list--hidden {
      display: none; }
      .cs-navigation__list--hidden + .cs-navigation__extras {
        display: none; }
    .cs-navigation__list .cs-navigation__item--no-children:nth-child(2) {
      padding-top: 1rem; }
    .cs-navigation__list .cs-navigation__item--no-children:last-of-type {
      padding-bottom: 1rem; }
  .cs-navigation__item {
    font-size: 1.2rem;
    margin: 0;
    width: 100%; }
    .cs-navigation__item--active:not([data-category-identifier='all-categories']) > .cs-navigation__link, .cs-navigation__item.active:not([data-category-identifier='all-categories']) > .cs-navigation__link, .cs-navigation__item:hover:not([data-category-identifier='all-categories']) > .cs-navigation__link {
      color: #7e57c2; }
    .cs-navigation__item--main {
      width: auto;
      font-size: 1.6em; }
      .cs-navigation__item--main:first-of-type > .cs-navigation__link:not(.cs-navigation__link--with-icon) {
        padding-left: 0; }
      .cs-navigation__item--main:last-of-type > .cs-navigation__link {
        padding-right: 0; }
    .cs-navigation__item--all-categories {
      padding: 1rem;
      page-break-inside: avoid;
      /* Theoretically FF 20+ */
      -moz-column-break-inside: avoid;
           break-inside: avoid-column;
      /* IE 11 */
      display: table; }
    .cs-navigation__item--level_1 {
      padding: 1rem;
      page-break-inside: avoid;
      /* Theoretically FF 20+ */
      -moz-column-break-inside: avoid;
           break-inside: avoid-column;
      /* IE 11 */
      display: table; }
    .cs-navigation__item--hidden {
      display: none; }
  .cs-navigation__link {
    display: block;
    text-transform: none;
    padding: 1rem 4rem;
    width: 100%; }
    .cs-navigation__link, .cs-navigation__link:visited {
      color: #455a64; }
    .cs-navigation__link:hover {
      text-decoration: none;
      color: #7e57c2; }
      .cs-navigation__link:hover .cs-navigation__link-icon--svg path {
        fill: #7e57c2; }
    .cs-navigation__link--main {
      font-weight: 700; }
    .cs-navigation__link--all-categories {
      font-weight: 700;
      margin: 0;
      border-bottom: 1px solid #dcdcdc;
      padding-bottom: 1.6em; }
    .cs-navigation__link--level_1 {
      font-weight: 700;
      margin: 0;
      border-bottom: 1px solid #dcdcdc;
      padding-bottom: 0.5rem;
      padding-left: 1rem;
      padding-right: 1rem;
      font-size: 1.4rem; }
    .cs-navigation__link--level_2 {
      text-transform: none;
      font-size: 1.4rem;
      padding-left: 1rem;
      padding-right: 1rem; }
    .cs-navigation__link--with-icon {
      position: relative;
      padding-left: 3rem; }
    .cs-navigation__link-icon-wrapper {
      position: absolute;
      width: 2rem;
      height: 2rem;
      top: 0;
      left: 0;
      margin-top: 0.8em; }
    .cs-navigation__link-icon {
      position: absolute;
      top: 50%;
      left: 50%;
      transform: translate3d(-50%, -50%, 0);
      height: 2rem;
      width: 2rem; }
      .cs-navigation__link--category .cs-navigation__link-icon {
        margin-top: -0.5rem; }
      .cs-navigation__link-icon--svg path {
        fill: #484848; }
    .cs-navigation__link-products-qty:before {
      content: '('; }
    .cs-navigation__link-products-qty:after {
      content: ')'; }
  .cs-navigation .cs-navigation__item--no-children {
    padding: 0; }
  .cs-navigation .cs-navigation__item--no-children > .cs-navigation__link--level_1 {
    text-transform: none;
    font-size: 1.12em;
    font-weight: 400;
    padding: 0.9em 1.5em;
    border: none;
    color: #455a64; }
  .cs-navigation__flyout {
    position: absolute;
    display: none;
    background: #fff;
    left: 0;
    backface-visibility: hidden;
    z-index: 1001;
    box-shadow: 2px 2px 5px rgba(0, 0, 0, 0.15);
    margin-top: -1px; }
    .cs-navigation__flyout--visible {
      display: flex; }
    .cs-navigation__flyout svg {
      pointer-events: none; }
    @supports (-ms-ime-align: auto) {
      .cs-navigation__flyout li {
        list-style: none;
        list-style-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mNkYAAAAAYAAjCB0C8AAAAASUVORK5CYII=);
        list-style-type: none; } }
  .cs-navigation__extras {
    margin: 0; }
  .cs-navigation__teaser {
    max-height: 100%;
    padding: 1em 0;
    margin-bottom: 0 !important; }
    .cs-navigation__teaser--hidden {
      display: none; }
  .cs-navigation__products {
    padding: 0.5em 1em;
    min-width: 24rem; }
    .cs-navigation__products-header {
      display: block;
      color: #455a64;
      text-transform: uppercase;
      width: 100%;
      font-weight: 700;
      margin: 0;
      border-bottom: 1px solid #dcdcdc;
      padding: 1.1em 1.05em 1.55em;
      font-size: 0.9em; }
    .cs-navigation__products-list {
      margin: 0;
      padding: 0;
      list-style: none; }
  .cs-navigation__product {
    position: relative; }
    .cs-navigation__product:before {
      display: block;
      content: '';
      width: 100%;
      padding-top: 116.66667%; }
    .cs-navigation__product .cs-product-tile {
      position: absolute;
      top: 0;
      left: 0;
      right: 0;
      bottom: 0; }
  .cs-navigation__overlay {
    display: none;
    position: absolute;
    z-index: 1000;
    background-color: #000;
    opacity: 0;
    left: 0;
    width: 100%;
    height: 0;
    transform: translate3d(0, 3rem, 0);
    transition: opacity 0.15s linear, transform 0.2s cubic-bezier(0, 0.97, 0.05, 0.99); }
    .cs-navigation__overlay--visible {
      opacity: 0.8;
      transform: translate3d(0, 0, 0); }
  .page-print .cs-navigation {
    display: none; }
  @supports (display: grid) and (grid-auto-flow: row) {
    .cs-navigation__product {
      position: relative; }
      .cs-navigation__product:before {
        content: none; }
      .cs-navigation__product .cs-product-tile {
        position: relative;
        top: auto;
        left: auto;
        right: auto;
        bottom: auto; } }

.cs-container--navigation {
  display: none; }
  @media (min-width: 64em) {
    .cs-container--navigation {
      display: block; } }

/**
 * Breakpoint component used by include-media vendor library.
 */
@use 'sass:map';
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
/**
* Default project breakpoints - [em]
*/
/**
 * Breakpoint component used by include-media vendor library.
 */
@use 'sass:map';
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
/**
* Default project breakpoints - [em]
*/
/***
 * Hide only visually, but have it available for screen readers:
 * https://snook.ca/archives/html_and_css/hiding-content-for-accessibility
 *
 * 1. For long content, line feeds are not interpreted as spaces and small width
 *    causes content to wrap 1 word per line:
 *    https://medium.com/@jessebeach/beware-smushed-off-screen-accessible-text-5952a4c2cbfe
 *
 * @see https://github.com/h5bp/html5-boilerplate/blob/master/src/css/main.css#L130
 */
/**
 * Breakpoint component used by include-media vendor library.
 */
@use 'sass:map';
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
/**
* Default project breakpoints - [em]
*/
/*
 * Function to get value from a list of values, based on side
 * @param {string} $variable: variable with a list of values (like paddings, margins etc.);
 * @param {string} $side: side (up / right / down / left) for which we want to get value
 * Example:
 * $component_padding: 1rem 2rem 3rem;
 * get-value-from-list($component_padding, 'right') // 2rem
 * get-value-from-list($component_padding, 'bottom') // 3rem
 */
/* stylelint-disable block-no-empty */
/* stylelint-enable */
/* stylelint-disable block-no-empty */
/* stylelint-enable */
/* Radio and checkbox styling */
/*
 * Function to get value from a list of values, based on side
 * @param {string} $variable: variable with a list of values (like paddings, margins etc.);
 * @param {string} $side: side (up / right / down / left) for which we want to get value
 * Example:
 * $component_padding: 1rem 2rem 3rem;
 * get-value-from-list($component_padding, 'right') // 2rem
 * get-value-from-list($component_padding, 'bottom') // 3rem
 */
/* stylelint-disable block-no-empty */
/* stylelint-enable */
.cs-newsletter {
  margin: 0;
  width: 100%; }
  @media (max-width: 47.99em) {
    .cs-newsletter {
      padding: 0 1.5rem; } }
  .cs-newsletter__form {
    position: relative;
    display: flex;
    flex-wrap: wrap;
    overflow: hidden; }
    @media (min-width: 48em) {
      .cs-newsletter__form {
        max-width: 34rem; } }
    @media (min-width: 64em) {
      .cs-newsletter__form {
        max-width: 100%; } }
  .cs-newsletter__form-wrapper {
    display: flex;
    flex-basis: 100%; }
  .cs-newsletter__field {
    flex-basis: 100%; }
  .cs-newsletter__input {
    margin-top: 0 !important;
    border-top-right-radius: 0 !important;
    border-bottom-right-radius: 0 !important; }
  .cs-newsletter__label {
    border: 0;
    clip: rect(0 0 0 0);
    height: 1px;
    margin: -1px;
    overflow: hidden;
    padding: 0;
    position: absolute;
    width: 1px;
    white-space: nowrap;
    /* 1 */ }
  .cs-newsletter__actions {
    display: flex;
    align-items: stretch;
    height: 4rem; }
  .cs-newsletter__button {
    display: inline-block;
    font-size: 1.8rem;
    font-weight: 700;
    text-align: center;
    position: relative;
    line-height: 1.275em;
    margin: 0;
    text-transform: none;
    padding: 0.75em 1em;
    box-sizing: border-box;
    transition: background-color 0.5s, border-color 0.5s, fill 0.5s, color 0.5s;
    vertical-align: middle;
    z-index: 5;
    border-top-left-radius: 0 !important;
    border-bottom-left-radius: 0 !important; }
    .cs-newsletter__button::-moz-focus-inner {
      border: 0;
      padding: 0;
      margin: 0; }
    .cs-newsletter__button, .cs-newsletter__button:visited {
      cursor: pointer;
      border-radius: 200px;
      outline-offset: 1px;
      text-decoration: none;
      box-shadow: none;
      border: 1px solid transparent;
      color: #fff;
      background-color: #7e57c2; }
      .cs-newsletter__button *, .cs-newsletter__button:visited * {
        color: #fff;
        fill: #fff; }
    .cs-newsletter__button:hover:not([disabled]), .cs-newsletter__button:focus:not([disabled]), .cs-newsletter__button:active:not([disabled]) {
      box-shadow: none;
      outline: none;
      text-decoration: none;
      border: 1px solid transparent;
      color: #fff;
      background-color: #4d2c91; }
      .cs-newsletter__button:hover:not([disabled]) *, .cs-newsletter__button:focus:not([disabled]) *, .cs-newsletter__button:active:not([disabled]) * {
        color: #fff;
        fill: #fff; }
    .cs-newsletter__button[disabled] {
      opacity: 0.65;
      cursor: auto; }
  .cs-newsletter__button-icon {
    max-width: 1em;
    max-height: 1.8rem;
    z-index: 2;
    height: auto;
    width: 100%;
    position: relative;
    top: 0.1em;
    width: 0.8em;
    height: 0.8em;
    margin-right: 0; }

/**
 * Breakpoint component used by include-media vendor library.
 */
@use 'sass:map';
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
/**
* Default project breakpoints - [em]
*/
/**
 * Breakpoint component used by include-media vendor library.
 */
@use 'sass:map';
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
/**
* Default project breakpoints - [em]
*/
/*
 * Function to get value from a list of values, based on side
 * @param {string} $variable: variable with a list of values (like paddings, margins etc.);
 * @param {string} $side: side (up / right / down / left) for which we want to get value
 * Example:
 * $component_padding: 1rem 2rem 3rem;
 * get-value-from-list($component_padding, 'right') // 2rem
 * get-value-from-list($component_padding, 'bottom') // 3rem
 */
/**
 * Breakpoint component used by include-media vendor library.
 */
@use 'sass:map';
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
/**
* Default project breakpoints - [em]
*/
/* stylelint-disable block-no-empty */
/* stylelint-enable */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
.cs-offcanvas-navigation {
  position: relative;
  width: 100%;
  height: 100%;
  overflow: hidden;
  overflow-y: scroll;
  background: #fff; }
  .cs-offcanvas-navigation__list {
    z-index: 1;
    width: 100%;
    min-width: 100%;
    list-style: none;
    padding: 0;
    margin: 0;
    background-color: #fff;
    overflow-y: hidden;
    overflow-x: hidden;
    height: 100%;
    -webkit-overflow-scrolling: touch;
    display: none; }
    .cs-offcanvas-navigation__list--level_0:last-child a[data-category-id="293"] {
      color: #7e57c2; }
      .cs-offcanvas-navigation__list--level_0:last-child a[data-category-id="293"]::before {
        content: url("../../frontend/Creativestyle/theme-papilart/pl_PL/images/icons/pdf.svg");
        display: inline-block;
        width: 14px;
        height: 14px;
        margin-right: 4px; }
    .cs-offcanvas-navigation__list--level_0, .cs-offcanvas-navigation__list--level_1, .cs-offcanvas-navigation__list--current, .cs-offcanvas-navigation__list--active {
      display: block; }
    .cs-offcanvas-navigation__list--level_0, .cs-offcanvas-navigation__list--level_1, .cs-offcanvas-navigation__list--current {
      overflow-y: auto; }
    .cs-offcanvas-navigation__list--current > .cs-offcanvas-navigation__item > .cs-offcanvas-navigation__list {
      display: block; }
    .cs-offcanvas-navigation__list .cs-offcanvas-navigation__list {
      position: absolute;
      left: 105%;
      height: 100%;
      top: 0;
      transition: transform 0.3s;
      top: 14%; }
      .cs-offcanvas-navigation__list .cs-offcanvas-navigation__list--active {
        transform: translateX(-105%);
        transform: translate3d(-105%, 0, 0); }
  .cs-offcanvas-navigation__item {
    width: 100%;
    display: flex;
    overflow: hidden;
    margin: 0; }
    .cs-offcanvas-navigation__item + .cs-offcanvas-navigation__item {
      border-top: 1px #dcdcdc solid; }
    .cs-offcanvas-navigation__item:last-of-type {
      border-bottom: 1px #dcdcdc solid; }
    .cs-offcanvas-navigation__item--with-icon .cs-offcanvas-navigation__text {
      position: relative;
      padding-left: 2rem; }
  .cs-offcanvas-navigation__link {
    min-width: 100%;
    width: 100%;
    display: flex;
    padding: 2.4rem 2rem;
    font-size: 1.4rem;
    align-items: center;
    text-transform: uppercase;
    font-weight: 700;
    position: relative; }
    .cs-offcanvas-navigation__link, .cs-offcanvas-navigation__link:visited {
      color: #455a64; }
    .cs-offcanvas-navigation__link:hover {
      color: #455a64; }
    .cs-offcanvas-navigation__link--sign-in, .cs-offcanvas-navigation__link--sign-out {
      padding-right: 5rem; }
      .cs-offcanvas-navigation__link--sign-in, .cs-offcanvas-navigation__link--sign-in:visited, .cs-offcanvas-navigation__link--sign-out, .cs-offcanvas-navigation__link--sign-out:visited {
        color: #7e57c2; }
      .cs-offcanvas-navigation__link--sign-in:hover, .cs-offcanvas-navigation__link--sign-out:hover {
        color: #7e57c2; }
        .cs-offcanvas-navigation__link--sign-in:hover .cs-offcanvas-navigation__icon path, .cs-offcanvas-navigation__link--sign-out:hover .cs-offcanvas-navigation__icon path {
          fill: #7e57c2; }
      .cs-offcanvas-navigation__link--sign-in .cs-offcanvas-navigation__icon, .cs-offcanvas-navigation__link--sign-out .cs-offcanvas-navigation__icon {
        width: 2.3rem;
        height: 2.7rem;
        right: 2rem; }
        .cs-offcanvas-navigation__link--sign-in .cs-offcanvas-navigation__icon path, .cs-offcanvas-navigation__link--sign-out .cs-offcanvas-navigation__icon path {
          fill: #7e57c2; }
    .cs-offcanvas-navigation__link--parent .cs-offcanvas-navigation__icon, .cs-offcanvas-navigation__link--return .cs-offcanvas-navigation__icon {
      width: 0.7rem;
      height: 0.1rem; }
    .cs-offcanvas-navigation__link--parent {
      padding-right: 5rem; }
      .cs-offcanvas-navigation__link--parent .cs-offcanvas-navigation__icon {
        right: 2rem; }
    .cs-offcanvas-navigation__link--return {
      padding-left: 5rem; }
      .cs-offcanvas-navigation__link--return .cs-offcanvas-navigation__icon {
        left: 2rem; }
    .cs-offcanvas-navigation__link--next {
      position: relative; }
      .cs-offcanvas-navigation__link--next:before, .cs-offcanvas-navigation__link--next:after {
        content: '';
        position: absolute;
        top: 50%;
        width: 0.7rem;
        height: 0.1rem;
        left: auto;
        background-color: #7e57c2;
        backface-visibility: hidden; }
      .cs-offcanvas-navigation__link--next[aria-expanded="true"]:before, .cs-offcanvas-navigation__link--next[aria-expanded="true"]:after {
        background-color: #888; }
      .cs-offcanvas-navigation__link--next:before {
        transform: rotate(135deg) translate3d(50%, 0, 0);
        right: 2rem; }
      .cs-offcanvas-navigation__link--next:after {
        right: 2rem;
        transform: rotate(-135deg) translate3d(50%, 0, 0); }
      .cs-offcanvas-navigation__link--next[aria-expanded="true"]:before {
        transform: rotate(225deg) translate3d(0, 0, 0);
        right: 0; }
      .cs-offcanvas-navigation__link--next[aria-expanded="true"]:after {
        transform: rotate(-45deg) translate3d(0, 0, 0);
        right: 2rem; }
    .cs-offcanvas-navigation__link--prev {
      position: relative; }
      .cs-offcanvas-navigation__link--prev:before, .cs-offcanvas-navigation__link--prev:after {
        content: '';
        position: absolute;
        top: 50%;
        width: 0.7rem;
        height: 0.1rem;
        left: auto;
        background-color: #7e57c2;
        backface-visibility: hidden; }
      .cs-offcanvas-navigation__link--prev[aria-expanded="true"]:before, .cs-offcanvas-navigation__link--prev[aria-expanded="true"]:after {
        background-color: #888; }
      .cs-offcanvas-navigation__link--prev:before {
        transform: rotate(45deg) translate3d(50%, -50%, 0);
        right: 0; }
      .cs-offcanvas-navigation__link--prev:after {
        right: 0;
        transform: rotate(-45deg) translate3d(50%, 50%, 0); }
      .cs-offcanvas-navigation__link--prev[aria-expanded="true"]:before {
        transform: rotate(-45deg) translate3d(0, 0, 0);
        right: auto; }
      .cs-offcanvas-navigation__link--prev[aria-expanded="true"]:after {
        transform: rotate(-135deg) translate3d(0, 0, 0);
        right: 0; }
      .cs-offcanvas-navigation__link--prev:before, .cs-offcanvas-navigation__link--prev:after {
        left: 2rem; }
  .cs-offcanvas-navigation .active > .cs-offcanvas-navigation__link {
    color: #7e57c2; }
  .cs-offcanvas-navigation__icon {
    position: absolute;
    top: 50%;
    transform: translateY(-50%); }
    .cs-offcanvas-navigation__icon path {
      fill: #7e57c2; }
  .cs-offcanvas-navigation__category-icon-wrapper {
    position: relative;
    width: 2rem;
    margin-right: 1rem; }
  .cs-offcanvas-navigation__category-icon {
    position: absolute;
    top: 50%;
    left: 0;
    transform: translate3d(0, -50%, 0);
    max-height: 2rem; }
  .cs-offcanvas-navigation__search {
    position: relative;
    padding: 2.4rem 2rem;
    border-bottom: 1px #dcdcdc solid; }
    @media (min-width: 48em) {
      .cs-offcanvas-navigation__search {
        display: none; } }

@charset "UTF-8";
/**
 * Breakpoint component used by include-media vendor library.
 */
@use 'sass:map';
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
/**
* Default project breakpoints - [em]
*/
/**
 * Breakpoint component used by include-media vendor library.
 */
@use 'sass:map';
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
/**
* Default project breakpoints - [em]
*/
/**
 * Breakpoint component used by include-media vendor library.
 */
@use 'sass:map';
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
/**
* Default project breakpoints - [em]
*/
/**
 * Breakpoint component used by include-media vendor library.
 */
@use 'sass:map';
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
/**
* Default project breakpoints - [em]
*/
/***
 * Hide only visually, but have it available for screen readers:
 * https://snook.ca/archives/html_and_css/hiding-content-for-accessibility
 *
 * 1. For long content, line feeds are not interpreted as spaces and small width
 *    causes content to wrap 1 word per line:
 *    https://medium.com/@jessebeach/beware-smushed-off-screen-accessible-text-5952a4c2cbfe
 *
 * @see https://github.com/h5bp/html5-boilerplate/blob/master/src/css/main.css#L130
 */
/**
 * Breakpoint component used by include-media vendor library.
 */
@use 'sass:map';
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
/**
* Default project breakpoints - [em]
*/
/* stylelint-disable block-no-empty */
/* stylelint-enable */
.cs-header-user-nav {
  list-style: none;
  margin: 0;
  padding: 0 1.5rem;
  height: 100%; }
  @media (max-width: 23.115em) {
    .cs-header-user-nav {
      padding: 0 0.7rem; } }
  @media (min-width: 64em) {
    .cs-header-user-nav {
      padding: 0; } }
  .cs-header-user-nav__item {
    margin-bottom: 0;
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0;
    flex: 1 1 25%; }
    @media (min-width: 64em) {
      .cs-header-user-nav__item {
        flex: 0 0 33.33333%; } }
    @media (min-width: 64em) {
      .cs-header-user-nav__item--search {
        display: none; } }
    .cs-header-user-nav__item--account a {
      max-width: 160px; }
      @media (min-width: 48.01em) {
        .cs-header-user-nav__item--account a {
          min-width: 145px; } }
  .cs-header-user-nav .minicart-wrapper > .cs-header-user-nav__link {
    padding: 0.5rem 1rem;
    border: 2px solid #7e57c2;
    border-radius: 200px; }
  .cs-header-user-nav__link {
    display: flex;
    align-items: center;
    justify-content: space-evenly;
    flex-direction: row;
    position: relative;
    width: 100%;
    padding: 0rem; }
    .cs-header-user-nav__link:hover {
      text-decoration: none; }
      .cs-header-user-nav__link:hover .cs-header-user-nav__icon path {
        fill: #7e57c2; }
      .cs-header-user-nav__link:hover .cs-header-user-nav__label {
        color: #4d2c91; }
    .cs-header-user-nav__link--search {
      display: none; }
      @media (min-width: 48em) {
        .cs-header-user-nav__link--search {
          display: flex; } }
      .cs-header-user-nav__link--search:hover {
        cursor: pointer; }
  .cs-header-user-nav__icon-wrapper {
    position: relative;
    margin-left: 10px;
    margin-right: 10px; }
  .cs-header-user-nav__icon {
    width: 2.6rem;
    height: 2.6rem;
    display: block;
    margin: 0 auto; }
    .cs-header-user-nav__icon path {
      fill: #7e57c2; }
  .cs-header-user-nav__label {
    text-transform: unset;
    font-size: 1.6rem;
    font-weight: 700;
    margin-top: 0.3rem;
    color: #455a64;
    text-decoration: none;
    border: 0;
    clip: rect(0 0 0 0);
    height: 1px;
    margin: -1px;
    overflow: hidden;
    padding: 0;
    position: absolute;
    width: 1px;
    white-space: nowrap;
    /* 1 */ }
    @media (min-width: 48em) {
      .cs-header-user-nav__label {
        clip: auto;
        height: auto;
        margin: 0;
        overflow: visible;
        padding: 0;
        position: static;
        width: auto;
        white-space: normal;
        margin-top: 0.3rem; } }
  .cs-header-user-nav__qty-counter {
    display: inline-flex;
    background-color: #7e57c2;
    color: #fff;
    border: 0;
    border-radius: 50px;
    padding: 0 0.9rem;
    position: relative;
    justify-content: center;
    align-items: center;
    font-size: 1.4rem;
    line-height: 100%;
    font-weight: 700;
    height: 1.8em;
    opacity: 1;
    transition: opacity 0.3s; }
    .cs-header-user-nav__qty-counter--wishlist {
      background-color: #11a099;
      color: #455a64;
      transition: top 0.9s cubic-bezier(0.42, 0.31, 0.34, 0.93), left 0.9s cubic-bezier(0.42, 0.31, 0.34, 0.93); }
    .cs-header-user-nav__qty-counter--minicart {
      background-color: #fcb739;
      color: #fff; }
    .cs-header-user-nav__qty-counter--compare {
      background-color: #11a099;
      color: #455a64; }
    .cs-header-user-nav__qty-counter--have-items {
      opacity: 1; }
    .cs-header-user-nav__qty-counter--empty::before {
      content: '0';
      width: 0; }
    .cs-header-user-nav__qty-counter--wishlist-cloned {
      position: fixed;
      z-index: 1200;
      right: auto;
      opacity: 1;
      transition: top 1.2s cubic-bezier(0.42, 0.31, 0.34, 0.93), left 1.2s cubic-bezier(0.42, 0.31, 0.34, 0.93); }
    .cs-header-user-nav__qty-counter--wishlist-animating {
      animation: move-qty-badge 1.2s cubic-bezier(0.42, 0.31, 0.34, 0.93);
      top: 0.5rem; }
      @media (min-width: 48em) {
        .cs-header-user-nav__qty-counter--wishlist-animating {
          top: 1.3rem; } }
      @media (min-width: 64em) {
        .cs-header-user-nav__qty-counter--wishlist-animating {
          top: 3.5rem; } }

@keyframes move-qty-badge {
  0% {
    opacity: 1; }
  15% {
    transform: scale(1); }
  85% {
    opacity: 1;
    transform: scale(1.5); }
  95% {
    opacity: 1; }
  100% {
    opacity: 0;
    transform: scale(1); } }
  .cs-header-user-nav__qty-counter-span {
    min-width: 1ch; }
  .cs-header-user-nav .minicart-amount-wrapper > .minicart-amount-text {
    font-size: 1.4rem;
    font-weight: 700;
    min-width: 40px;
    display: inline-block; }
    .cs-header-user-nav .minicart-amount-wrapper > .minicart-amount-text .minicart-amount-text--empty::before {
      content: '0,00 zł'; }

.cs-offcanvas-toggle {
  position: relative;
  display: flex;
  border: 0;
  align-items: center;
  justify-content: center;
  padding: 1.5rem;
  align-self: stretch;
  height: 100%;
  width: 100%;
  width: 5.5rem; }
  @media (min-width: 48em) {
    .cs-offcanvas-toggle {
      width: auto; } }
  .cs-offcanvas-toggle, .cs-offcanvas-toggle:active, .cs-offcanvas-toggle:focus, .cs-offcanvas-toggle:hover {
    border: 0;
    background: transparent;
    box-shadow: none;
    border-radius: 0; }
  .cs-offcanvas-toggle:after {
    content: '';
    position: absolute;
    height: 2px;
    width: 100%;
    transform: scale(0);
    background: #7e57c2;
    transition: transform 0.3s;
    bottom: 0;
    left: 0;
    transform-origin: left; }
  .cs-offcanvas-toggle--active, .cs-offcanvas-toggle--active:active, .cs-offcanvas-toggle--active:focus, .cs-offcanvas-toggle--active:hover {
    background: #7e57c2; }
  .cs-offcanvas-toggle--active:after {
    transform: scale(1); }
  .cs-offcanvas-toggle--active .cs-offcanvas-toggle__icon {
    transform: rotate(-45deg); }
    .cs-offcanvas-toggle--active .cs-offcanvas-toggle__icon, .cs-offcanvas-toggle--active .cs-offcanvas-toggle__icon:before, .cs-offcanvas-toggle--active .cs-offcanvas-toggle__icon:after {
      background: #fff; }
    .cs-offcanvas-toggle--active .cs-offcanvas-toggle__icon:before, .cs-offcanvas-toggle--active .cs-offcanvas-toggle__icon:after {
      transform: rotate(90deg); }
  .cs-offcanvas-toggle__icon {
    padding: 0;
    margin: 0;
    position: relative;
    display: none; }
    .cs-offcanvas-toggle__icon, .cs-offcanvas-toggle__icon:before, .cs-offcanvas-toggle__icon:after {
      width: 1.8rem;
      height: 0.2rem;
      background: #7e57c2;
      transition: background-color 0.3s, transform 0.3s; }
    .cs-offcanvas-toggle__icon:before, .cs-offcanvas-toggle__icon:after {
      content: '';
      display: block;
      position: absolute; }
    .cs-offcanvas-toggle__icon:before {
      transform: translateY(-250%);
      transform: translate3d(0, -250%, 0); }
    .cs-offcanvas-toggle__icon:after {
      transform: translateY(250%);
      transform: translate3d(0, 250%, 0); }
    @media (min-width: 48em) {
      .cs-offcanvas-toggle__icon {
        display: block; } }
    .cs-offcanvas-toggle--active .cs-offcanvas-toggle__icon {
      display: block; }
  .cs-offcanvas-toggle__text {
    position: absolute;
    bottom: 0.5rem;
    left: 0;
    width: 100%;
    text-align: center;
    font-size: 0.8rem;
    color: #455a64;
    text-transform: uppercase;
    transition: color 0.3s; }
    .cs-offcanvas-toggle--active .cs-offcanvas-toggle__text {
      color: #fff; }
    @media (min-width: 48em) {
      .cs-offcanvas-toggle__text {
        bottom: 2rem; } }
  .cs-offcanvas-toggle__menu-search-icon {
    fill: #7e57c2;
    width: 2.6rem;
    height: 2.6rem; }
    @media (min-width: 48em) {
      .cs-offcanvas-toggle__menu-search-icon {
        display: none; } }
    .cs-offcanvas-toggle__menu-search-icon:hover {
      fill: #7e57c2; }
    .cs-offcanvas-toggle--active .cs-offcanvas-toggle__menu-search-icon {
      display: none; }

/**
 * Breakpoint component used by include-media vendor library.
 */
@use 'sass:map';
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
/**
* Default project breakpoints - [em]
*/
/**
 * Breakpoint component used by include-media vendor library.
 */
@use 'sass:map';
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
/**
* Default project breakpoints - [em]
*/
.cs-offcanvas {
  position: relative;
  z-index: 300; }
  .cs-offcanvas__drawer, .cs-offcanvas__overlay {
    position: fixed;
    left: 0;
    top: 0;
    bottom: 0;
    top: 5rem; }
    @media (min-width: 48em) {
      .cs-offcanvas__drawer, .cs-offcanvas__overlay {
        top: 8.3rem;
        bottom: 0; } }
    @media (min-width: 64em) {
      .cs-offcanvas__drawer, .cs-offcanvas__overlay {
        display: none; } }
    .cs-offcanvas--mini-cart .cs-offcanvas__drawer, .cs-offcanvas--mini-cart .cs-offcanvas__overlay {
      display: block;
      top: 0; }
  .cs-offcanvas__overlay {
    width: 100%;
    height: calc(100% - 5rem);
    background-color: transparent;
    transition: background-color 0.3s, transform 1ms 0.3s;
    transform: scale(0);
    cursor: pointer; }
    @media (min-width: 48em) {
      .cs-offcanvas__overlay {
        height: 100%; } }
    .cs-offcanvas--mini-cart .cs-offcanvas__overlay {
      height: 100%; }
  .cs-offcanvas .overlay--visible {
    transform: scale(1);
    background: rgba(0, 0, 0, 0.7);
    transition: background-color 0.3s; }
  .cs-offcanvas__drawer {
    position: fixed;
    background: #fff;
    transition: transform 0.3s;
    width: 90%;
    max-width: 40rem; }
    .cs-offcanvas--side_left .cs-offcanvas__drawer {
      left: 0;
      right: auto;
      transform: translate3d(-105%, 0, 0); }
    .cs-offcanvas--side_right .cs-offcanvas__drawer {
      left: auto;
      right: 0;
      transform: translate3d(105%, 0, 0); }
    .cs-offcanvas__drawer--navigation {
      left: 0;
      right: auto;
      transform: translate3d(-105%, 0, 0); }
  .cs-offcanvas .drawer--visible {
    transform: translate3d(0, 0, 0) !important; }
  .cs-offcanvas__spinner {
    position: absolute;
    width: 6rem;
    height: 6rem;
    left: 50%;
    top: 20%;
    margin-left: -3rem; }

/**
 * Breakpoint component used by include-media vendor library.
 */
@use 'sass:map';
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
/**
* Default project breakpoints - [em]
*/
/**
 * Breakpoint component used by include-media vendor library.
 */
@use 'sass:map';
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
/**
* Default project breakpoints - [em]
*/
.cs-page-bottom {
  padding: 1.5rem 0;
  width: 100%;
  display: flex;
  justify-content: center;
  align-items: center; }
  @media (min-width: 48em) {
    .cs-page-bottom {
      flex-wrap: wrap;
      justify-content: flex-start; } }
  @media (min-width: 64em) {
    .cs-page-bottom {
      flex-wrap: nowrap;
      justify-content: space-between; } }
  .page-print .cs-page-bottom {
    display: none; }
  .cs-page-bottom__image {
    height: 3rem;
    width: auto; }
    .cs-page-bottom__image--circle {
      width: 4.7rem;
      height: 4.7rem;
      min-width: 4.7rem;
      min-height: 4.7rem;
      margin-right: 1rem; }
  .cs-page-bottom__text {
    font-size: 1.2rem;
    color: #696969;
    margin-bottom: 0;
    margin-right: 0.6rem; }
    .cs-page-bottom__text--small {
      font-size: 1rem; }
  .cs-page-bottom__group {
    display: flex;
    align-items: center;
    flex-grow: 1;
    flex-shrink: 1;
    justify-content: space-between; }
    @media (min-width: 48em) {
      .cs-page-bottom__group {
        width: 100%;
        padding: 1rem 0; } }
    @media (min-width: 64em) {
      .cs-page-bottom__group {
        width: auto;
        padding: 0; } }
    .cs-page-bottom__group--info {
      display: none;
      flex-direction: row-reverse; }
      @media (min-width: 48em) {
        .cs-page-bottom__group--info {
          display: flex;
          flex-basis: 40%;
          justify-content: flex-end;
          padding-right: 1.5rem; }
          .cs-page-bottom__group--info .cs-page-bottom__text {
            max-width: 20rem; } }
      @media (min-width: 64em) {
        .cs-page-bottom__group--info {
          flex-basis: 17%;
          padding-right: 0; }
          .cs-page-bottom__group--info .cs-page-bottom__text {
            max-width: 100%; } }
    .cs-page-bottom__group--shipping {
      display: none; }
      @media (min-width: 48em) {
        .cs-page-bottom__group--shipping {
          display: flex;
          flex-basis: 55%;
          padding-left: 1.5rem; } }
      @media (min-width: 64em) {
        .cs-page-bottom__group--shipping {
          flex-basis: 33%;
          padding-left: 4rem; } }
    .cs-page-bottom__group--payment {
      flex-basis: 50%; }
      @media (max-width: 47.99em) {
        .cs-page-bottom__group--payment .cs-page-bottom__text {
          display: none; } }

@media (min-width: 48em) and (max-width: 63.99em) {
  .cs-page-bottom__group--payment {
    flex-basis: 100%; } }
      @media (min-width: 64em) {
        .cs-page-bottom__group--payment {
          padding-left: 4rem; } }
    @media (min-width: 64em) {
      .cs-page-bottom__group--shipping, .cs-page-bottom__group--payment {
        position: relative; }
        .cs-page-bottom__group--shipping:before, .cs-page-bottom__group--payment:before {
          margin: 0 1rem;
          content: '';
          position: absolute;
          left: 1rem;
          top: 50%;
          width: 0.2rem;
          height: 2rem;
          background: #dcdcdc;
          transform: translateY(-50%); } }
  .cs-page-bottom__logo {
    display: flex;
    flex-shrink: 1;
    height: 2rem; }
    @media (max-width: 63.99em) {
      .cs-page-bottom__logo {
        width: auto; } }
    .cs-page-bottom__logo--hermes {
      width: 12.2rem; }
    .cs-page-bottom__logo--dhl {
      height: auto;
      max-height: 2rem;
      min-width: 8.6rem;
      padding-left: 10px; }
    .cs-page-bottom__logo--paypal {
      width: 6.2rem; }
    .cs-page-bottom__logo--visa {
      height: auto;
      max-height: 2rem;
      min-width: 5.5rem; }
    .cs-page-bottom__logo--mastercard {
      width: 3.3rem; }
    .cs-page-bottom__logo--klarna-sofort {
      height: auto;
      max-height: 2.5rem;
      min-height: 2.5rem; }
    .cs-page-bottom__logo--klarna {
      width: 7rem; }
    .cs-page-bottom__logo--gls {
      width: 5rem; }
    .cs-page-bottom__logo--giropay {
      width: 4.8rem; }
    .cs-page-bottom__logo--ec {
      width: 1.8rem; }
    .cs-page-bottom__logo--paydirekt {
      width: 6rem; }
    .cs-page-bottom__logo--lastschrift {
      width: 6.15rem; }
    .cs-page-bottom__logo--vorkasse {
      width: 8.3rem; }
    .cs-page-bottom__logo--rechnung {
      width: 6.15rem; }
    .cs-page-bottom__logo:not(:last-child) {
      margin-right: 0.5rem; }

.cs-container--page-bottom {
  max-width: none; }

/**
 * Breakpoint component used by include-media vendor library.
 */
@use 'sass:map';
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
/**
* Default project breakpoints - [em]
*/
/**
 * Breakpoint component used by include-media vendor library.
 */
@use 'sass:map';
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
/**
* Default project breakpoints - [em]
*/
/* stylelint-disable block-no-empty */
/* stylelint-enable */
/**
 * Breakpoint component used by include-media vendor library.
 */
@use 'sass:map';
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
/**
* Default project breakpoints - [em]
*/
.page-title {
  font-family: "Dosis", system-ui, -apple-system, Segoe UI, Roboto, Ubuntu, Cantarell, Oxygen, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
  font-size: 2.6rem;
  line-height: 1.1;
  color: #455a64;
  font-weight: 700;
  text-transform: none;
  margin: 1rem 0 2rem;
  padding-bottom: 1rem;
  text-transform: none;
  font-weight: 600; }
  .page-title__headline {
    margin: 0;
    padding: 0;
    font-size: inherit;
    font-weight: inherit;
    font-family: inherit;
    display: inline; }
  .page-title__span {
    color: #696969;
    font-weight: 300;
    padding: 0; }

/**
 * Breakpoint component used by include-media vendor library.
 */
@use 'sass:map';
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
/**
* Default project breakpoints - [em]
*/
/*
 * Because price-box is used in multiple components like tile, buybox etc,
 * we need to move variables to separate file to have possibility to include them
 * in each component without generate price-box component styles multiple times
*/
/***
 * Hide only visually, but have it available for screen readers:
 * https://snook.ca/archives/html_and_css/hiding-content-for-accessibility
 *
 * 1. For long content, line feeds are not interpreted as spaces and small width
 *    causes content to wrap 1 word per line:
 *    https://medium.com/@jessebeach/beware-smushed-off-screen-accessible-text-5952a4c2cbfe
 *
 * @see https://github.com/h5bp/html5-boilerplate/blob/master/src/css/main.css#L130
 */
.price-box {
  display: inline-block; }
  .price-box .price {
    font-weight: 700;
    white-space: nowrap; }
    .price-box .price-label {
      display: none; }
  .price-box .old-price .price {
    font-size: 0.65rem;
    text-decoration: line-through; }
  .price-box .old-price.no-display {
    display: none; }
  .price-box .special-price .price {
    padding-left: 0.4em; }
  .price-box .price {
    color: #7e57c2;
    font-size: 1.5rem;
    font-weight: 700;
    margin: 0; }
    .price-box .price-label {
      color: #324dcf;
      display: none;
      font-size: 1.1rem;
      font-weight: 700;
      text-transform: uppercase;
      margin: 0 0.3rem 0.3rem 0; }
      .price-box .price-label:after {
        content: ':'; }
      body
p
.price-box .price-label {
        border: 0;
        clip: rect(0 0 0 0);
        height: 1px;
        margin: -1px;
        overflow: hidden;
        padding: 0;
        position: absolute;
        width: 1px;
        white-space: nowrap;
        /* 1 */ }
  .price-box .normal-price .price-label {
    display: inline; }
  .price-box .price-wrapper {
    display: flex; }
  .price-box .price-from,
  .price-box .price-to {
    display: inline-block;
    margin: 0;
    padding: 0; }
    .price-box .price-from > .price-container,
    .price-box .price-to > .price-container {
      font-size: 1.1rem; }
    .price-box .price-from .price-label,
    .price-box .price-to .price-label {
      display: inline-block;
      padding: 0; }
  .price-box .old-price .price {
    text-decoration: line-through;
    color: #a8b1b7;
    font-size: 1.5rem;
    font-weight: 700; }
  .price-box .special-price .price {
    padding-left: 0;
    color: #e41f12;
    font-size: 1.5rem;
    font-weight: 700; }
  .price-box .special-price.active .price {
    color: #e41f12; }
  .price-box .price-from {
    margin-right: 1rem; }
  .cs-price--pdp_dailydeal-countdown .price-box:not(.price-final_price_without_daily_deal) {
    display: none; }
  .price-box .price-container.price-final_price:not(:only-child) .price {
    color: #e41f12; }

.cs-bundle-box__add .price-as-configured {
  margin: 1rem 0 0; }

.minimal-price-link {
  margin-top: 0 !important;
  margin-right: 1.5rem;
  position: relative; }
  .minimal-price-link:after {
    color: #324dcf;
    display: block;
    content: '-';
    right: -1rem;
    top: 0;
    position: absolute; }

/**
 * Breakpoint component used by include-media vendor library.
 */
@use 'sass:map';
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
/**
* Default project breakpoints - [em]
*/
/**
 * Breakpoint component used by include-media vendor library.
 */
@use 'sass:map';
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
/**
* Default project breakpoints - [em]
*/
/**
 * Breakpoint component used by include-media vendor library.
 */
@use 'sass:map';
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
/**
* Default project breakpoints - [em]
*/
/* stylelint-disable block-no-empty */
/* stylelint-enable */
/*
 * Because price-box is used in multiple components like tile, buybox etc,
 * we need to move variables to separate file to have possibility to include them
 * in each component without generate price-box component styles multiple times
*/
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
/**
 * String to number converter
 * https://www.sassmeister.com/gist/9fa19d254864f33d4a80
 * @author Hugo Giraudel
 * @param {String | Number} $value - Value to be parsed
 * @return {Number}
 */
/***
 * Remove browser's margins, paddings and list style rules
 */
/***
 * Hide only visually, but have it available for screen readers:
 * https://snook.ca/archives/html_and_css/hiding-content-for-accessibility
 *
 * 1. For long content, line feeds are not interpreted as spaces and small width
 *    causes content to wrap 1 word per line:
 *    https://medium.com/@jessebeach/beware-smushed-off-screen-accessible-text-5952a4c2cbfe
 *
 * @see https://github.com/h5bp/html5-boilerplate/blob/master/src/css/main.css#L130
 */
.cs-product-tile {
  width: 100%;
  height: 100%;
  position: relative;
  border-radius: 7px;
  background-color: #fff;
  border: 1px solid transparent;
  transition: border-color 0.3s;
  aspect-ratio: 300/400; }
  @media (min-width: 48em) {
    .cs-product-tile {
      aspect-ratio: 300/350; } }
  @media (hover: hover) and (pointer: fine) {
    .cs-product-tile:hover {
      border: 1px solid #4d2c91; } }
  .cs-product-tile--clickable:hover {
    cursor: pointer; }
  .cs-product-tile--hidden .cs-product-tile__main {
    visibility: hidden !important; }
  .cs-product-tile__container {
    height: 100%;
    width: 100%;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    justify-content: space-around;
    position: relative;
    padding: 1.5rem; }
  .cs-product-tile__link {
    display: block;
    height: 100%; }
  .cs-product-tile__thumbnail {
    padding: 0;
    min-height: 0; }
  .cs-product-tile__thumbnail-link {
    display: block;
    position: relative;
    overflow: hidden;
    width: 100%;
    height: 100%; }
    .cs-product-tile__thumbnail-link:hover, .cs-product-tile__thumbnail-link:visited {
      color: inherit;
      text-decoration: inherit; }
  .cs-product-tile__figure {
    margin: 0;
    padding: 0;
    height: 100%;
    width: 100%;
    text-align: center; }
  .cs-product-tile__image {
    width: auto;
    height: auto;
    max-width: 100%;
    max-height: 100%;
    margin: auto; }
  .cs-product-tile__img {
    width: auto;
    height: auto;
    max-width: 100%;
    max-height: 100%; }
    .cs-product-tile__img[src*='placeholder'] {
      min-width: 70%;
      margin-top: 2rem; }
  .cs-product-tile__content {
    width: 100%;
    background-color: rgba(255, 255, 255, 0.8); }
  .cs-product-tile__main {
    height: 100%;
    display: grid;
    grid-template-columns: minmax(0, 1fr) 4rem;
    grid-template-areas: 'badges addto' 'swatches swatches' 'brand brand' 'name name' 'description description' 'price price' 'review  addtocart' 'stock addtocart' 'wishlist-icons wishlist-icons'; }
  .cs-product-tile__swatches {
    grid-area: swatches;
    display: flex;
    margin: 2rem 0 1rem;
    min-height: 2.6rem; }
    .cs-product-tile__swatches,
    .cs-product-tile__swatches .swatch-attribute-options {
      justify-content: center; }
  .cs-product-tile__brand {
    grid-area: brand;
    height: 2rem;
    margin-top: 1.5rem;
    text-align: left; }
    .cs-product-tile__brand--empty {
      height: 0; }
  .cs-product-tile__brand-text {
    font-size: 1.2rem;
    color: #888; }
  .cs-product-tile__name {
    grid-area: name;
    line-height: 2rem;
    font-weight: 400;
    font-size: 1.8rem;
    overflow: hidden;
    width: 100%;
    height: 4.2rem;
    margin: 0 0 0.5rem;
    text-align: left; }
  .cs-product-tile__name-link {
    color: #455a64;
    /* disabled because autoprefixer can't build this */
    /* stylelint-disable value-no-vendor-prefix */
    /* stylelint-disable property-no-vendor-prefix */
    /* autoprefixer: ignore next */
    display: -webkit-box;
    /* autoprefixer: ignore next */
    -webkit-box-orient: vertical;
    /* autoprefixer: ignore next */
    -webkit-line-clamp: 2;
    /* autoprefixer: ignore next */
    line-clamp: 2;
    max-width: 100%;
    /* stylelint-enable value-no-vendor-prefix */
    /* stylelint-enable property-no-vendor-prefix */ }
    .cs-product-tile__name-link:visited {
      color: #455a64; }
    .cs-product-tile__name-link:hover {
      color: #455a64;
      text-decoration: none; }
  .cs-product-tile__price {
    grid-area: price;
    line-height: 1.2; }
    .cs-product-tile__price .price-box {
      display: flex;
      margin: 0;
      align-items: center;
      justify-content: flex-start; }
      .cs-product-tile__price .price-box .price {
        font-size: 1.8rem;
        font-weight: 700;
        color: #455a64; }
      .cs-product-tile__price .price-box .old-price .price {
        font-size: 1.8rem;
        font-weight: 700;
        color: #a8b1b7;
        text-decoration: line-through; }
      .cs-product-tile__price .price-box .special-price .price {
        font-size: 1.8rem;
        font-weight: 700;
        color: #e41f12; }
      .cs-product-tile__price .price-box .minimal-price {
        margin: 0;
        display: flex; }
      .cs-product-tile__price .price-box .old-price {
        order: -1; }
      .cs-product-tile__price .price-box .minimal-price {
        align-items: center; }
      .cs-product-tile__price .price-box .old-price .price {
        margin-right: 1rem; }
    .cs-product-tile__price--dailydeal-countdown .price-box:not(.price-final_price_without_daily_deal) {
      display: none; }
    .cs-product-tile__price--dailydeal-countdown .price-box.price-box--visible {
      display: flex; }
  .cs-product-tile__review {
    grid-area: review;
    margin: 1rem 0 0; }
    .cs-product-tile__review:empty {
      margin: 0 !important; }
  .cs-product-tile__stock {
    grid-area: stock;
    display: inline-block;
    white-space: nowrap;
    font-size: 1.3rem;
    margin: 0;
    padding-bottom: 1.1rem;
    text-align: left; }
    .cs-product-tile__stock--in {
      color: #37b841; }
    .cs-product-tile__stock--out {
      color: #e41f12; }
  .cs-product-tile__addtocart {
    grid-area: addtocart;
    margin: 0 0 0; }
    .cs-product-tile:not(.cs-product-tile--list) .cs-product-tile__addtocart .cs-addtocart__button {
      min-height: 4rem; }
      .cs-product-tile:not(.cs-product-tile--list) .cs-product-tile__addtocart .cs-addtocart__button::before, .cs-product-tile:not(.cs-product-tile--list) .cs-product-tile__addtocart .cs-addtocart__button::after {
        border: 0;
        clip: rect(0 0 0 0);
        height: 1px;
        margin: -1px;
        overflow: hidden;
        padding: 0;
        position: absolute;
        width: 1px;
        white-space: nowrap;
        /* 1 */ }
    .cs-product-tile:not(.cs-product-tile--list) .cs-product-tile__addtocart .cs-addtocart__button-label, .cs-product-tile:not(.cs-product-tile--list) .cs-product-tile__addtocart .cs-addtocart__success-label, .cs-product-tile:not(.cs-product-tile--list) .cs-product-tile__addtocart .cs-addtocart__fail-label {
      border: 0;
      clip: rect(0 0 0 0);
      height: 1px;
      margin: -1px;
      overflow: hidden;
      padding: 0;
      position: absolute;
      width: 1px;
      white-space: nowrap;
      /* 1 */ }
    .cs-product-tile:not(.cs-product-tile--list) .cs-product-tile__addtocart .cs-addtocart__button-icon, .cs-product-tile:not(.cs-product-tile--list) .cs-product-tile__addtocart .cs-addtocart__configure-icon {
      right: auto;
      left: 50%;
      transform: translate3d(-50%, -50%, 0); }
    .cs-product-tile:not(.cs-product-tile--list) .cs-product-tile__addtocart.cs-addtocart--loading .cs-addtocart__loading {
      transform: scale(1) translate3d(-50%, -50%, 0); }
    .cs-product-tile:not(.cs-product-tile--list) .cs-product-tile__addtocart.cs-addtocart--loading .cs-addtocart__button-icon,
    .cs-product-tile:not(.cs-product-tile--list) .cs-product-tile__addtocart.cs-addtocart--loading .cs-addtocart__configure-icon {
      display: none; }
  .cs-product-tile__addtocart-button {
    width: 4rem; }
  .cs-product-tile__addto {
    grid-area: addto;
    width: auto;
    margin: 1rem 0 0;
    position: absolute;
    top: 1.5rem;
    right: 1.5rem; }
    .cs-product-tile__addto .cs-links-block-addto__link {
      font-size: 1.3rem; }
    .cs-dashboard__bottom-wishlist .cs-product-tile__addto,
    .cs-dashboard__wishlist-products-grid .cs-product-tile__addto {
      display: none; }
    .cs-product-tile__addto:empty {
      margin: 0 !important; }
    .cs-product-tile__addto .cs-links-block-addto__link-label {
      border: 0;
      clip: rect(0 0 0 0);
      height: 1px;
      margin: -1px;
      overflow: hidden;
      padding: 0;
      position: absolute;
      width: 1px;
      white-space: nowrap;
      /* 1 */ }
  .cs-product-tile__badges {
    margin: 0;
    padding: 0;
    list-style: none;
    grid-area: badges;
    display: flex;
    flex-wrap: wrap;
    position: absolute;
    z-index: 2;
    top: 2rem;
    left: 2rem;
    flex-direction: column; }
  .cs-product-tile__badge {
    display: inline-flex;
    justify-content: center;
    align-items: center;
    position: relative;
    background-color: #7e57c2;
    color: #fff;
    border: 0;
    border-radius: 7px;
    padding: 0 0.7rem;
    font-size: 1.1rem;
    font-weight: 700;
    min-height: 2em;
    text-transform: uppercase;
    grid-area: badge; }

@media (min-width: 23.125em) and (max-width: 29.99em) {
  .cs-product-tile__badge {
    font-size: 0.9rem; } }
    .cs-product-tile__badge--discount {
      background-color: #e41f12;
      color: #fff; }
      .cs-product-tile__badge--discount .cs-product-tile__badge-text {
        line-height: normal; }
        .cs-product-tile__badge--discount .cs-product-tile__badge-text + .cs-product-tile__badge--discount .cs-product-tile__badge-text {
          margin-left: 0.5rem; }
    .cs-product-tile__badge--new {
      background-color: #11a099;
      color: #fff; }
      .cs-product-tile__badge--new .cs-product-tile__badge-text {
        line-height: normal; }
        .cs-product-tile__badge--new .cs-product-tile__badge-text + .cs-product-tile__badge--new .cs-product-tile__badge-text {
          margin-left: 0.5rem; }
    .cs-product-tile__badge--free-shipping {
      background-color: #37b841;
      color: #fff; }
      .cs-product-tile__badge--free-shipping .cs-product-tile__badge-text {
        line-height: normal; }
        .cs-product-tile__badge--free-shipping .cs-product-tile__badge-text + .cs-product-tile__badge--free-shipping .cs-product-tile__badge-text {
          margin-left: 0.5rem; }
    .cs-product-tile__badge--popular {
      background-color: #37b841;
      color: #fff;
      /**
            * Initially hide popular badge on category products list. 
            * The logic for showing the badge is placed in magesuite-product-positive-indicators/view/frontend/web/js/tile-badge-shower.js
            */ }
      .cs-product-tile__badge--popular .cs-product-tile__badge-text {
        line-height: normal; }
        .cs-product-tile__badge--popular .cs-product-tile__badge-text + .cs-product-tile__badge--popular .cs-product-tile__badge-text {
          margin-left: 0.5rem; }
      .product-items .cs-product-tile__badge--popular:not(.visible) {
        border: 0;
        clip: rect(0 0 0 0);
        height: 1px;
        margin: -1px;
        overflow: hidden;
        padding: 0;
        position: absolute;
        width: 1px;
        white-space: nowrap;
        /* 1 */ }
    .cs-product-tile__badge--dailydeal {
      background-color: #e41f12;
      color: #fff; }
      .cs-product-tile__badge--dailydeal .cs-product-tile__badge-text {
        line-height: normal; }
        .cs-product-tile__badge--dailydeal .cs-product-tile__badge-text + .cs-product-tile__badge--dailydeal .cs-product-tile__badge-text {
          margin-left: 0.5rem; }
  .cs-product-tile__badge-item {
    display: flex; }
    .cs-product-tile--grid .cs-product-tile__badge-item {
      margin: 0 0 0.5rem;
      width: 100%; }
    .cs-product-tile__badge-item:empty {
      display: none; }
  .cs-product-tile__badge-text {
    line-height: normal; }
    .cs-product-tile__badge-text + .cs-product-tile__badge-text {
      margin-left: 0.5rem; }
  .cs-product-tile__dailydeal {
    grid-area: dailydeal;
    margin: 0; }
  .cs-product-tile__qty {
    grid-area: qty;
    margin-bottom: 1rem;
    width: 11rem;
    margin-left: auto; }
  .cs-product-tile__description {
    grid-area: description;
    font-size: 1.3rem;
    font-weight: 400;
    line-height: 1.4;
    color: #696969;
    margin: 0 0 1rem; }
  .cs-product-tile__wishlist-remove-icon {
    position: absolute;
    top: 0;
    right: 0;
    background: #fff;
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 1.5rem; }
    @media (pointer: fine) {
      .cs-product-tile__wishlist-remove-icon {
        display: none; } }
  .cs-product-tile__wishlist-remove-icon-image {
    width: 1.2rem;
    height: 1.2rem;
    fill: #888; }
  .cs-product-tile__wishlist-comment {
    border: 0;
    clip: rect(0 0 0 0);
    height: 1px;
    margin: -1px;
    overflow: hidden;
    padding: 0;
    position: absolute;
    width: 1px;
    white-space: nowrap;
    /* 1 */ }
  .cs-product-tile__wishlist-actions {
    grid-area: wishlist-icons;
    margin: 1rem 0 0;
    display: flex;
    justify-content: space-between; }

/**
 * Breakpoint component used by include-media vendor library.
 */
@use 'sass:map';
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
/**
* Default project breakpoints - [em]
*/
/***
 * Remove browser's margins, paddings and list style rules
 */
/**
 * Breakpoint component used by include-media vendor library.
 */
@use 'sass:map';
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
/**
* Default project breakpoints - [em]
*/
.cs-products-list {
  margin: 0;
  padding: 0;
  list-style: none; }
  .cs-products-list__item {
    margin: 0; }
  .cs-products-list:not(.cs-products-list--carousel) .cs-products-list__item {
    border-bottom: 1px solid #f0f0f0;
    padding: 0; }
    .cs-products-list:not(.cs-products-list--carousel) .cs-products-list__item:last-child {
      border-bottom: 0; }
  @media (min-width: 48em) {
    .cs-products-list--carousel .cs-products-list__item {
      border-bottom: 1px solid #f0f0f0;
      padding: 0; }
      .cs-products-list--carousel .cs-products-list__item:last-child {
        border-bottom: 0; } }

/**
 * Breakpoint component used by include-media vendor library.
 */
@use 'sass:map';
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
/**
* Default project breakpoints - [em]
*/
/**
 * Breakpoint component used by include-media vendor library.
 */
@use 'sass:map';
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
/**
* Default project breakpoints - [em]
*/
/**
 * Breakpoint component used by include-media vendor library.
 */
@use 'sass:map';
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
/**
* Default project breakpoints - [em]
*/
/*
 * Function to get value from a list of values, based on side
 * @param {string} $variable: variable with a list of values (like paddings, margins etc.);
 * @param {string} $side: side (up / right / down / left) for which we want to get value
 * Example:
 * $component_padding: 1rem 2rem 3rem;
 * get-value-from-list($component_padding, 'right') // 2rem
 * get-value-from-list($component_padding, 'bottom') // 3rem
 */
/* stylelint-disable block-no-empty */
/* stylelint-enable */
/* stylelint-disable block-no-empty */
/* stylelint-enable */
/* Radio and checkbox styling */
/***
 * Hide only visually, but have it available for screen readers:
 * https://snook.ca/archives/html_and_css/hiding-content-for-accessibility
 *
 * 1. For long content, line feeds are not interpreted as spaces and small width
 *    causes content to wrap 1 word per line:
 *    https://medium.com/@jessebeach/beware-smushed-off-screen-accessible-text-5952a4c2cbfe
 *
 * @see https://github.com/h5bp/html5-boilerplate/blob/master/src/css/main.css#L130
 */
.cs-qty-increment {
  position: relative;
  display: flex;
  flex-wrap: wrap; }
  .cs-qty-increment--wishlist {
    border: 0;
    clip: rect(0 0 0 0);
    height: 1px;
    margin: -1px;
    overflow: hidden;
    padding: 0;
    position: absolute;
    width: 1px;
    white-space: nowrap;
    /* 1 */ }
  .cs-qty-increment__label {
    border: 0;
    clip: rect(0 0 0 0);
    height: 1px;
    margin: -1px;
    overflow: hidden;
    padding: 0;
    position: absolute;
    width: 1px;
    white-space: nowrap;
    /* 1 */ }
  .cs-qty-increment__input {
    font-size: 1em;
    line-height: 1.275em;
    padding: 0.75em 1em;
    color: #455a64;
    background: #fff;
    border-radius: 200px;
    border: 2px solid #dcdcdc;
    box-shadow: none;
    transition: border-color 0.5s;
    margin: 0 0 0.2em;
    width: 100%;
    background-clip: padding-box;
    font-family: inherit;
    border-width: 1px;
    font-size: inherit;
    text-align: center;
    margin: 0;
    padding-left: 0.5em;
    padding-right: 0.5em;
    border-radius: 0;
    width: 0;
    min-width: 2ch;
    flex: 1 1;
    order: 2; }
    .cs-qty-increment__input:hover:not([disabled]), .cs-qty-increment__input:focus:not([disabled]) {
      border: 2px solid #7e57c2;
      box-shadow: none; }
    .cs-qty-increment__input::-moz-placeholder {
      opacity: 1;
      color: #888; }
    .cs-qty-increment__input::placeholder {
      opacity: 1;
      color: #888; }
    .cs-qty-increment__input[disabled] {
      opacity: 0.65; }
    .cs-qty-increment__input, .cs-qty-increment__input:hover:not([disabled]), .cs-qty-increment__input:focus:not([disabled]) {
      border-left-width: 0;
      border-right-width: 0;
      border-color: #dcdcdc; }
    .cs-qty-increment__input.mage-error {
      border-color: #e41f12 !important; }
      .cs-qty-increment__input.mage-error ~ .cs-qty-increment__button {
        border-color: #e41f12 !important; }
    .cs-qty-increment__input + .mage-error {
      order: 3;
      width: 100%; }
  .cs-qty-increment__button {
    transition: background-color 0.5s, border-color 0.5s, fill 0.5s;
    max-width: 3rem;
    background-color: transparent;
    flex: 1 1 2rem;
    position: relative;
    padding-left: 0.5em;
    padding-right: 0.5em;
    border-radius: 200px; }
    .cs-qty-increment__button, .cs-qty-increment__button:visited, .cs-qty-increment__button:focus {
      background-color: transparent;
      border: 1px solid #dcdcdc; }
      .cs-qty-increment__button *, .cs-qty-increment__button:visited *, .cs-qty-increment__button:focus * {
        fill: #7e57c2; }
    .cs-qty-increment__button:hover, .cs-qty-increment__button:active {
      background-color: #7e57c2;
      border: 1px solid #7e57c2;
      cursor: pointer; }
      .cs-qty-increment__button:hover *, .cs-qty-increment__button:active * {
        fill: #fff; }
    .cs-qty-increment__button--decrement {
      order: 1;
      border-top-right-radius: 0;
      border-bottom-right-radius: 0;
      border-right: 0; }
    .cs-qty-increment__button--increment {
      order: 2;
      border-top-left-radius: 0;
      border-bottom-left-radius: 0;
      border-left: 0; }
    .cs-qty-increment__button--disabled {
      opacity: 1; }
      .cs-qty-increment__button--disabled, .cs-qty-increment__button--disabled:hover, .cs-qty-increment__button--disabled:visited, .cs-qty-increment__button--disabled:focus {
        background-color: transparent;
        border: 1px solid #dcdcdc;
        cursor: not-allowed; }
        .cs-qty-increment__button--disabled *, .cs-qty-increment__button--disabled:hover *, .cs-qty-increment__button--disabled:visited *, .cs-qty-increment__button--disabled:focus * {
          fill: #dcdcdc; }
  .cs-qty-increment__icon {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%); }
    .cs-qty-increment__icon--decrement {
      width: 1.2rem;
      height: 0.3rem; }
    .cs-qty-increment__icon--increment {
      width: 1.2rem;
      height: 1.2rem; }

/**
 * Breakpoint component used by include-media vendor library.
 */
@use 'sass:map';
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
/**
* Default project breakpoints - [em]
*/
/**
 * Breakpoint component used by include-media vendor library.
 */
@use 'sass:map';
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
/**
* Default project breakpoints - [em]
*/
/***
 * Remove browser's margins, paddings and list style rules
 */
.cs-social-media-list {
  margin: 0;
  padding: 0;
  list-style: none;
  display: flex;
  padding: 1.5rem 0 1.5rem;
  justify-content: center;
  align-items: center; }
  @media (min-width: 48em) {
    .cs-social-media-list {
      justify-content: flex-start; } }
  @media (min-width: 48em) {
    .cs-social-media-list {
      padding-bottom: 0;
      padding-top: 0; } }
  .cs-social-media-list__item {
    margin: 0 0.4em;
    padding: 0; }
  .cs-social-media-list__link {
    display: flex;
    position: relative;
    height: 3.5em;
    min-width: 4em;
    background: #212121;
    color: inherit;
    border-radius: 7px;
    transition: background-color 0.15s linear; }
    .cs-social-media-list__link:hover {
      background: #4d2c91; }
  .cs-social-media-list__icon {
    position: absolute;
    transform: translate3d(-55%, -55%, 0);
    top: 50%;
    left: 55%; }
    .cs-social-media-list__item--fb .cs-social-media-list__icon {
      width: 0.9em;
      height: 1.8em; }
    .cs-social-media-list__item--tw .cs-social-media-list__icon {
      width: 2.5em;
      height: 2em; }
    .cs-social-media-list__item--yt .cs-social-media-list__icon {
      width: 1.8em;
      height: 2.1em; }
    .cs-social-media-list__item--gp .cs-social-media-list__icon {
      width: 2em;
      height: 2em;
      margin-top: 0.1em; }

/**
 * Breakpoint component used by include-media vendor library.
 */
@use 'sass:map';
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
/**
* Default project breakpoints - [em]
*/
/**
 * Breakpoint component used by include-media vendor library.
 */
@use 'sass:map';
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
/**
* Default project breakpoints - [em]
*/
/***
 * Hide only visually, but have it available for screen readers:
 * https://snook.ca/archives/html_and_css/hiding-content-for-accessibility
 *
 * 1. For long content, line feeds are not interpreted as spaces and small width
 *    causes content to wrap 1 word per line:
 *    https://medium.com/@jessebeach/beware-smushed-off-screen-accessible-text-5952a4c2cbfe
 *
 * @see https://github.com/h5bp/html5-boilerplate/blob/master/src/css/main.css#L130
 */
.cs-star-rating {
  display: flex;
  align-items: center; }
  .cs-star-rating__stars {
    display: inline-flex;
    padding: 0;
    width: 7.2rem;
    justify-content: space-between; }
    .cs-star-rating--summary .cs-star-rating__stars {
      width: 10rem;
      padding: 0; }
    .cs-star-rating--review .cs-star-rating__stars {
      width: 7.2rem;
      padding: 0; }
  .cs-star-rating__star {
    display: flex;
    width: 1.5rem;
    height: 100%;
    fill: #888; }
    .cs-star-rating__star--active {
      fill: #fcb739; }
    .cs-star-rating__star--half-active .star-left {
      fill: #fcb739; }
    .cs-star-rating__star--half-active .star-rigth {
      fill: #888; }
    .cs-star-rating--summary .cs-star-rating__star {
      width: 2rem; }
    .cs-star-rating--review .cs-star-rating__star {
      width: 1.5rem; }
    .cs-star-rating__star path {
      fill-opacity: 1;
      fill: inherit; }
  .cs-star-rating img {
    width: 1.5rem;
    height: 100%; }
  .cs-star-rating__form-stars {
    display: inline-flex;
    padding: 0; }
  .cs-star-rating__form-star {
    opacity: 1;
    fill: #888;
    width: 100%; }
    .cs-star-rating__form-star--active {
      fill: #fcb739; }
    .cs-star-rating__form-star path {
      fill-opacity: 1;
      fill: inherit; }
    .cs-star-rating__form-star:nth-last-of-type() {
      padding-right: 0; }
    .cs-star-rating__form-stars:hover .cs-star-rating__form-star {
      fill: #fcb739; }
    .cs-star-rating__form-stars label:hover ~ label .cs-star-rating__form-star {
      fill: #888; }
  .cs-star-rating__text {
    display: inline-block;
    color: #696969;
    padding-left: 0.5em;
    line-height: 1;
    padding-top: calc(1.5rem * 0.1); }
    .cs-star-rating__text--count:before {
      content: '('; }
    .cs-star-rating__text--count:after {
      content: ')'; }
    .cs-star-rating__text--empty {
      padding-left: 0; }
  .cs-star-rating__text-annotation {
    display: inline;
    line-height: 1; }
    .cs-product-tile .cs-star-rating__text-annotation {
      display: none; }
  .cs-star-rating__label {
    color: #455a64;
    font-size: 0.75em;
    font-weight: 700;
    text-transform: uppercase;
    padding-top: calc(1.5rem * 0.2); }

.review-control-vote {
  overflow: hidden; }
  .review-control-vote .rating-1 {
    z-index: 1; }
    .review-control-vote .rating-1:before {
      content: none; }
  .review-control-vote .rating-2 {
    z-index: 2; }
    .review-control-vote .rating-2:before {
      content: none; }
  .review-control-vote .rating-3 {
    z-index: 3; }
    .review-control-vote .rating-3:before {
      content: none; }
  .review-control-vote .rating-4 {
    z-index: 4; }
    .review-control-vote .rating-4:before {
      content: none; }
  .review-control-vote .rating-5 {
    z-index: 5; }
    .review-control-vote .rating-5:before {
      content: none; }
  .review-control-vote:before {
    content: none; }
  .review-control-vote label {
    position: static;
    cursor: pointer;
    display: block;
    width: 3rem;
    padding-right: 1rem;
    line-height: 0; }
    @media (min-width: 48em) {
      .review-control-vote label {
        width: 2.6rem;
        padding-right: 0.6rem; } }
    .review-control-vote label:last-child {
      width: 2rem;
      padding-right: 0; }
    .review-control-vote label span {
      clip: auto;
      height: auto;
      margin: 0;
      overflow: visible;
      padding: 0;
      position: static;
      width: auto;
      white-space: normal; }

/**
 * Breakpoint component used by include-media vendor library.
 */
@use 'sass:map';
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
/**
* Default project breakpoints - [em]
*/
/***
 * Hide only visually, but have it available for screen readers:
 * https://snook.ca/archives/html_and_css/hiding-content-for-accessibility
 *
 * 1. For long content, line feeds are not interpreted as spaces and small width
 *    causes content to wrap 1 word per line:
 *    https://medium.com/@jessebeach/beware-smushed-off-screen-accessible-text-5952a4c2cbfe
 *
 * @see https://github.com/h5bp/html5-boilerplate/blob/master/src/css/main.css#L130
 */
/**
 * Breakpoint component used by include-media vendor library.
 */
@use 'sass:map';
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
/**
* Default project breakpoints - [em]
*/
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
/*
 * Function to get value from a list of values, based on side
 * @param {string} $variable: variable with a list of values (like paddings, margins etc.);
 * @param {string} $side: side (up / right / down / left) for which we want to get value
 * Example:
 * $component_padding: 1rem 2rem 3rem;
 * get-value-from-list($component_padding, 'right') // 2rem
 * get-value-from-list($component_padding, 'bottom') // 3rem
 */
/* stylelint-disable block-no-empty */
/* stylelint-enable */
/*
 * Function to get value from a list of values, based on side
 * @param {string} $variable: variable with a list of values (like paddings, margins etc.);
 * @param {string} $side: side (up / right / down / left) for which we want to get value
 * Example:
 * $component_padding: 1rem 2rem 3rem;
 * get-value-from-list($component_padding, 'right') // 2rem
 * get-value-from-list($component_padding, 'bottom') // 3rem
 */
.swatch-attribute {
  display: flex;
  width: 100%;
  overflow: hidden;
  align-items: center !important;
  flex-wrap: wrap; }
  .swatch-attribute.swatch-layered {
    font-size: 0.8em; }
  .swatch-attribute + .swatch-attribute {
    margin-top: 0.8em; }
  .swatch-attribute:has(.swatch-option.selected) .mage-error {
    display: none; }

.swatch-attribute-label {
  text-transform: uppercase;
  line-height: calc( 2.8em - 6px + 0.1em);
  font-weight: 700;
  font-size: 1.1em;
  width: 10rem;
  margin-right: 1.5rem; }
  @media (min-width: 64em) {
    .swatch-attribute-label {
      width: 11rem; } }
  .swatch-attribute-label:after {
    content: ': ';
    line-height: calc( 2.8em - 6px + 0.1em); }

.swatch-attribute-selected-option {
  border: 0;
  clip: rect(0 0 0 0);
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute;
  width: 1px;
  white-space: nowrap;
  /* 1 */ }

.swatch-attribute-options {
  display: flex;
  flex-wrap: wrap;
  margin-left: -0.2em;
  margin-bottom: -0.4em;
  min-width: 100%;
  justify-content: center; }
  .swatch-attribute-options:focus {
    box-shadow: none; }
  .swatch-opt .swatch-attribute-options {
    min-width: 0;
    justify-content: flex-start;
    max-width: calc( 100% - 1.5rem - 10rem); }
    @media (min-width: 64em) {
      .swatch-opt .swatch-attribute-options {
        max-width: calc( 100% - 1.5rem - 11rem); } }

.swatch-option-link-layered {
  font-size: 1em; }
  .swatch-option-link-layered:hover {
    text-decoration: none; }

.swatch-option {
  font-weight: normal;
  position: relative;
  min-width: 3.2em;
  height: 2.8em;
  padding: 0 0.35em;
  margin: 1px calc( 1px + 0.2em) calc(1px + 0.4em);
  border-radius: 7px;
  background-color: #f0f0f0;
  border: 3px solid #f0f0f0;
  color: #696969;
  cursor: pointer;
  line-height: calc( 2.8em - 6px + 0.1em);
  text-align: center;
  transition: background-color 0.3s, border-color 0.3s, opacity 0.3s, color 0.3s;
  display: block !important; }
  .swatch-option:before {
    content: '';
    position: absolute;
    top: -4px;
    left: -4px;
    right: -4px;
    bottom: -4px;
    border: 1px solid #dcdcdc;
    border-radius: 7px;
    transition: border-color 0.3s; }
  .swatch-option:after {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    border-radius: 50%;
    background: url(../../frontend/Creativestyle/theme-papilart/pl_PL/images/icons/swatches/disabled.svg) rgba(220, 220, 220, 0.5) center no-repeat;
    transform: translate(-50%, -50%);
    width: calc(2.8em - 1.2em);
    height: calc(2.8em - 1.2em);
    background-size: 0.6em;
    transition: opacity 0.3s;
    opacity: 0; }
  .swatch-option.selected, .swatch-option.bis-selected {
    border: 3px solid #fff;
    background: #fff; }
    .swatch-option.selected:before, .swatch-option.bis-selected:before {
      border: 1px solid #4d2c91; }
  .swatch-option.disabled:not(.back-in-stock-alert), .swatch-option[disabled]:not(.back-in-stock-alert) {
    cursor: not-allowed; }
    .swatch-option.disabled:not(.back-in-stock-alert).text, .swatch-option[disabled]:not(.back-in-stock-alert).text {
      opacity: 0.65;
      color: #888;
      background: #fff; }
      .swatch-option.disabled:not(.back-in-stock-alert).text:before, .swatch-option[disabled]:not(.back-in-stock-alert).text:before {
        border: 1px solid #dcdcdc; }
    .swatch-option.disabled:not(.back-in-stock-alert).image:after, .swatch-option.disabled:not(.back-in-stock-alert).color:after, .swatch-option[disabled]:not(.back-in-stock-alert).image:after, .swatch-option[disabled]:not(.back-in-stock-alert).color:after {
      opacity: 1; }
  .swatch-option:not(.disabled):not(.selected):not([disabled]):hover, .swatch-option.back-in-stock-alert:hover {
    border: 3px solid #fff;
    background: #fff; }
    .swatch-option:not(.disabled):not(.selected):not([disabled]):hover:before, .swatch-option.back-in-stock-alert:hover:before {
      border: 1px solid #7e57c2; }

.swatch-input {
  border: 0;
  clip: rect(0 0 0 0);
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute;
  width: 1px;
  white-space: nowrap;
  /* 1 */
  left: -1000px;
  position: absolute;
  visibility: hidden; }

.swatch-more {
  display: none; }

.swatch-option-tooltip,
.swatch-option-tooltip-layered {
  display: none;
  position: absolute;
  margin: 0;
  z-index: 999;
  background: #fff;
  border-radius: 0.5rem;
  color: #888;
  font-size: 1.3rem;
  font-weight: 400;
  padding: 0.5rem;
  text-align: center;
  min-width: 2rem;
  border: 0.1rem solid #dcdcdc; }
  .swatch-option-tooltip .image,
  .swatch-option-tooltip-layered .image {
    display: block;
    margin: 0 auto;
    width: 110px;
    height: 110px; }
  .swatch-option-tooltip .corner:after,
  .swatch-option-tooltip-layered .corner:after {
    content: '';
    position: absolute;
    top: 100%;
    display: block;
    width: 1rem;
    height: 1rem;
    background-color: #fff;
    left: 50%;
    transform: translateX(-50%) rotate(45deg);
    border-bottom: 0.1rem solid #dcdcdc;
    border-right: 0.1rem solid #dcdcdc;
    margin-top: calc( -0.5rem + 0.1rem); }

.swatch-option-tooltip {
  pointer-events: none; }

.missing-swatches-modal {
  max-width: 40rem;
  margin-left: auto; }
  .missing-swatches-modal .mage-error {
    padding-top: 0.8rem; }
  .missing-swatches-modal .swatch-attribute + .swatch-attribute {
    margin-top: 2rem; }

@media (hover: none) {
  .missing-swatches-modal-visible .swatch-option-tooltip {
    display: none !important; } }

.swatch-opt {
  font-size: 0.9em; }
  .swatch-opt .swatch-option.back-in-stock-alert:after {
    background: rgba(220, 220, 220, 0.55) url(../../frontend/Creativestyle/theme-papilart/pl_PL/images/icons/notification-panel/icon_notification-outline.svg) center/64% no-repeat;
    opacity: 1; }
  .swatch-opt .swatch-option.back-in-stock-alert.text {
    padding-right: 2em; }
    .swatch-opt .swatch-option.back-in-stock-alert.text:after {
      left: auto;
      right: 0.35em;
      background-color: transparent;
      transform: translateY(-50%); }
  .swatch-opt .mage-error {
    font-size: 1em;
    width: 100%;
    margin-left: calc(10rem + 1.5rem); }
    @media (min-width: 64em) {
      .swatch-opt .mage-error {
        margin-left: calc( 11rem + 1.5rem); } }

[class^='swatch-opt-'] {
  font-size: 0.45em;
  min-height: calc( 1 * (2.8em + 8px));
  opacity: 1;
  transition: opacity 0.3s;
  pointer-events: none; }
  @media (min-width: 48.01em) {
    [class^='swatch-opt-'] {
      pointer-events: auto; } }
  [class^='swatch-opt-'] .swatch-option.disabled.back-in-stock-alert, [class^='swatch-opt-'] .swatch-option[disabled].back-in-stock-alert {
    cursor: not-allowed; }
    [class^='swatch-opt-'] .swatch-option.disabled.back-in-stock-alert.text, [class^='swatch-opt-'] .swatch-option[disabled].back-in-stock-alert.text {
      opacity: 0.65;
      color: #888;
      background: #fff; }
      [class^='swatch-opt-'] .swatch-option.disabled.back-in-stock-alert.text:before, [class^='swatch-opt-'] .swatch-option[disabled].back-in-stock-alert.text:before {
        border: 1px solid #dcdcdc; }
    [class^='swatch-opt-'] .swatch-option.disabled.back-in-stock-alert.image:after, [class^='swatch-opt-'] .swatch-option.disabled.back-in-stock-alert.color:after, [class^='swatch-opt-'] .swatch-option[disabled].back-in-stock-alert.image:after, [class^='swatch-opt-'] .swatch-option[disabled].back-in-stock-alert.color:after {
      opacity: 1; }
  [class^='swatch-opt-']:empty {
    opacity: 0; }

/**
 * Breakpoint component used by include-media vendor library.
 */
@use 'sass:map';
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
/**
* Default project breakpoints - [em]
*/
/**
 * Breakpoint component used by include-media vendor library.
 */
@use 'sass:map';
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
/**
* Default project breakpoints - [em]
*/
/**
 * Breakpoint component used by include-media vendor library.
 */
@use 'sass:map';
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
/**
* Default project breakpoints - [em]
*/
/* stylelint-disable block-no-empty */
/* stylelint-enable */
/**
 * Breakpoint component used by include-media vendor library.
 */
@use 'sass:map';
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
/**
* Default project breakpoints - [em]
*/
/***
 * Remove browser's margins, paddings and list style rules
 */
.cs-topbar {
  background: transparent;
  display: none;
  width: 100%;
  font-size: 1.6rem;
  padding-top: 0.5rem; }
  @media (min-width: 64em) {
    .cs-topbar {
      display: flex;
      z-index: 302; } }
  .cs-topbar__wrapper {
    display: flex;
    flex-wrap: wrap;
    flex-grow: 1;
    align-items: center;
    justify-content: space-between;
    height: 2.7rem; }
    @media (min-width: 64em) {
      .cs-topbar__wrapper {
        flex-wrap: nowrap; } }
  .cs-topbar__item {
    color: #212121;
    display: flex;
    flex: 0 0 auto;
    white-space: nowrap;
    height: 100%; }
    .cs-topbar__item--usps {
      margin-right: auto;
      display: none; }
      @media (min-width: 80em) {
        .cs-topbar__item--usps {
          display: flex; } }
    .cs-topbar__item--hotline {
      align-items: center;
      flex: 1 1;
      justify-content: flex-start; }
    .cs-topbar__item--language {
      height: 100%; }
    .cs-topbar__item--links .cs-topbar__links {
      display: flex;
      align-items: center; }
      .cs-topbar__item--links .cs-topbar__links a {
        font-size: 1.6rem;
        font-weight: 700;
        color: #455a64;
        margin: 0.5rem 2rem; }
      .cs-topbar__item--links .cs-topbar__links a:first-child {
        margin: 0.5rem 2rem 0.5rem 0rem; }
      .cs-topbar__item--links .cs-topbar__links a:last-child {
        margin: 0.5rem 0rem 0.5rem 2rem; }
  .cs-topbar__list,
  .cs-topbar__item > ul {
    margin: 0;
    padding: 0;
    list-style: none;
    display: flex;
    flex-wrap: wrap;
    align-items: center; }
  .cs-topbar__list-item {
    margin-bottom: 0;
    height: 2.7rem;
    display: flex;
    align-items: center;
    position: relative; }
    .cs-topbar__list-item:not(:last-child) {
      padding-right: 1.3rem; }
    .cs-topbar__list-item:not(:last-child) {
      margin-right: 1.3rem; }
      .cs-topbar__list-item:not(:last-child):before {
        position: absolute;
        top: 0;
        bottom: 0;
        right: 0;
        content: '';
        border-right: 0.2rem solid #fff; }
  .cs-topbar__text {
    color: #212121; }
  .cs-topbar__link {
    margin-right: 0.9rem; }
    .cs-topbar__link, .cs-topbar__link:visited {
      color: #7e57c2;
      text-decoration: none; }
    .cs-topbar__link:hover, .cs-topbar__link:focus, .cs-topbar__link:active, .cs-topbar__link:visited:hover, .cs-topbar__link:visited:focus {
      color: #4d2c91;
      text-decoration: none; }
  .cs-topbar__hotline {
    display: flex;
    align-items: center; }
  .cs-topbar__phone-number {
    font-weight: 700;
    margin-right: 0.9rem; }
    .cs-topbar__phone-number, .cs-topbar__phone-number:visited {
      color: #000;
      text-decoration: none; }
    .cs-topbar__phone-number:hover, .cs-topbar__phone-number:focus, .cs-topbar__phone-number:active, .cs-topbar__phone-number:visited:hover, .cs-topbar__phone-number:visited:focus {
      color: #000;
      text-decoration: none; }
  .cs-topbar .cs-toolbar__item--limiter > .limiter.cs-limiter .control.cs-limiter__control {
    margin-right: 1rem; }

.cs-container--top-bar {
  background-color: #fff;
  max-width: none; }

/**
 * Breakpoint component used by include-media vendor library.
 */
@use 'sass:map';
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
/**
* Default project breakpoints - [em]
*/
/**
 * Breakpoint component used by include-media vendor library.
 */
@use 'sass:map';
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
/**
* Default project breakpoints - [em]
*/
/* stylelint-disable block-no-empty */
/* stylelint-enable */
/**
 * Breakpoint component used by include-media vendor library.
 */
@use 'sass:map';
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
/**
* Default project breakpoints - [em]
*/
h1 {
  font-family: "Dosis", system-ui, -apple-system, Segoe UI, Roboto, Ubuntu, Cantarell, Oxygen, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
  font-size: 2.6rem;
  line-height: 1.1;
  color: #455a64;
  font-weight: 700;
  text-transform: none;
  margin: 1rem 0 2rem; }

h2 {
  font-family: "Dosis", system-ui, -apple-system, Segoe UI, Roboto, Ubuntu, Cantarell, Oxygen, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
  font-size: 2.6rem;
  line-height: 1.1;
  color: #455a64;
  font-weight: 700;
  text-transform: none;
  margin: 1rem 0 2rem; }

h3 {
  font-family: "Dosis", system-ui, -apple-system, Segoe UI, Roboto, Ubuntu, Cantarell, Oxygen, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
  font-size: 1.8rem;
  line-height: 1.1;
  color: #455a64;
  font-weight: 700;
  text-transform: none;
  margin: 1rem 0 2rem; }

h4 {
  font-family: "Dosis", system-ui, -apple-system, Segoe UI, Roboto, Ubuntu, Cantarell, Oxygen, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
  font-size: 1.5rem;
  line-height: 1.1;
  color: #455a64;
  font-weight: 700;
  text-transform: none;
  margin: 1rem 0 2rem; }

h5 {
  font-family: "Dosis", system-ui, -apple-system, Segoe UI, Roboto, Ubuntu, Cantarell, Oxygen, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
  font-size: 1.1rem;
  line-height: 1.1;
  color: #455a64;
  font-weight: 700;
  text-transform: none;
  margin: 1rem 0 2rem; }

h6 {
  font-family: "Dosis", system-ui, -apple-system, Segoe UI, Roboto, Ubuntu, Cantarell, Oxygen, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
  font-size: 1rem;
  line-height: 1.1;
  color: #455a64;
  font-weight: 700;
  text-transform: none;
  margin: 1rem 0 2rem; }

a, a:visited {
  color: #7e57c2;
  text-decoration: none; }

a:hover, a:focus, a:active, a:visited:hover, a:visited:focus {
  color: #4d2c91;
  text-decoration: none; }

ul,
ol {
  margin: 0 0 2.5rem;
  padding: 0 0 0 4rem; }
  ul > li,
  ol > li {
    margin: 0 0 1rem; }

body {
  color: #455a64; }

/**
 * Breakpoint component used by include-media vendor library.
 */
@use 'sass:map';
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
/**
* Default project breakpoints - [em]
*/
.cs-image-teaser__slide--has-video-teaser .cs-image-teaser__picture {
  position: relative; }

.cs-image-teaser__slide--has-video-teaser .cs-image-teaser__content,
.cs-image-teaser__slide--has-video-teaser .cs-image-teaser__overlay,
.cs-image-teaser__slide--has-video-teaser .cs-image-teaser__gradient,
.cs-image-teaser__slide--has-video-teaser .cs-image-teaser__optimizer-container {
  z-index: 1; }

.cs-image-teaser [data-video-teaser] {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  overflow: hidden;
  z-index: 1; }
  .cs-image-teaser [data-video-teaser]:empty {
    display: none; }

.cs-image-teaser [id^='video-teaser'] {
  width: 100%;
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  pointer-events: none; }

@charset "UTF-8";
/**
 * Breakpoint component used by include-media vendor library.
 */
@use 'sass:map';
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
/**
* Default project breakpoints - [em]
*/
/***
 * Hide only visually, but have it available for screen readers:
 * https://snook.ca/archives/html_and_css/hiding-content-for-accessibility
 *
 * 1. For long content, line feeds are not interpreted as spaces and small width
 *    causes content to wrap 1 word per line:
 *    https://medium.com/@jessebeach/beware-smushed-off-screen-accessible-text-5952a4c2cbfe
 *
 * @see https://github.com/h5bp/html5-boilerplate/blob/master/src/css/main.css#L130
 */
/**
 * Breakpoint component used by include-media vendor library.
 */
@use 'sass:map';
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
/**
* Default project breakpoints - [em]
*/
.body {
  align-items: center;
  background: #E3E3E3;
  display: flex;
  justify-content: center; }

@keyframes scroll {
  0% {
    transform: translateX(0); }
  100% {
    transform: translateX(calc(-250px * 7)); } }

.slider {
  background: #eceff1;
  box-shadow: 0 10px 20px -5px rgba(0, 0, 0, 0.125);
  height: 140px;
  margin: auto;
  overflow: hidden;
  position: relative;
  width: 174rem; }
  .slider::before, .slider::after {
    background: linear-gradient(to right, white 0%, rgba(255, 255, 255, 0) 100%);
    content: "";
    height: 140px;
    position: absolute;
    width: 200px;
    z-index: 2; }
  .slider::after {
    right: 0;
    top: 0;
    transform: rotateZ(180deg); }
  .slider::before {
    left: 0;
    top: 0; }
  .slider .slide-track {
    animation: scroll 40s linear infinite;
    display: flex;
    width: calc(256px * 14); }
  .slider .slide {
    height: 100px;
    width: 250px;
    padding: 10px; }

.cs-products-carousel .cs-products-carousel__slides {
  -ms-overflow-style: none;
  /* for Internet Explorer, Edge */
  scrollbar-width: none;
  /* for Firefox */
  overflow-y: scroll; }
  .cs-products-carousel .cs-products-carousel__slides::-webkit-scrollbar {
    display: none; }

.checkout-cart-index button#update-cart-button,
.checkout-cart-index button#empty_cart_button {
  display: none; }

@media (max-width: 47.99em) {
  .page-with-filter .fast-delivery-box {
    display: none; } }

.cs-limiter__control {
  display: none !important; }

li.cs-links-block-addto__item.cs-links-block-addto__item--compare {
  display: none; }

.cs-checkout .table-checkout-shipping-method .col.col-price::before {
  content: "już od "; }

.cs-products-carousel__slides-wrapper > .cs-products-carousel__slides > .cs-products-carousel__slide > .cs-products-carousel__product-tile > .cs-product-tile {
  min-height: 300px; }

.cs-offcanvas-navigation > .cs-offcanvas-navigation__list.cs-offcanvas-navigation__list--level_0 .cs-offcanvas-navigation__list.cs-offcanvas-navigation__list--level_1.cs-offcanvas-navigation__list--active {
  top: 100px !important; }

.cs-offcanvas-navigation > .cs-offcanvas-navigation__list.cs-offcanvas-navigation__list--level_0 .cs-offcanvas-navigation__list.cs-offcanvas-navigation__list--level_1 .cs-offcanvas-navigation__list.cs-offcanvas-navigation__list--level_2.cs-offcanvas-navigation__list--active {
  top: 0px !important; }

/**
 * Breakpoint component used by include-media vendor library.
 */
@use 'sass:map';
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
/**
* Default project breakpoints - [em]
*/
/**
 * Breakpoint component used by include-media vendor library.
 */
@use 'sass:map';
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
/**
* Default project breakpoints - [em]
*/
.page-product-grouped .cs-buybox__price {
  display: none; }

.page-product-grouped .table-wrapper.grouped,
.catalog-product-view .table-wrapper.grouped {
  background: #edeff1;
  padding: 2rem 1.5rem; }
  .page-product-grouped .table-wrapper.grouped .available-count-notice,
  .catalog-product-view .table-wrapper.grouped .available-count-notice {
    max-width: 128rem;
    margin: 0 auto; }
    .page-product-grouped .table-wrapper.grouped .available-count-notice h3,
    .catalog-product-view .table-wrapper.grouped .available-count-notice h3 {
      font-size: 2.9rem;
      text-transform: none;
      color: #455a64; }
      .page-product-grouped .table-wrapper.grouped .available-count-notice h3 .counter,
      .catalog-product-view .table-wrapper.grouped .available-count-notice h3 .counter {
        color: #7e57c2;
        text-decoration: underline; }

.page-product-grouped table.grouped,
.catalog-product-view table.grouped {
  max-width: 128rem;
  margin: 0 auto;
  width: 100%;
  table-layout: fixed;
  overflow-wrap: break-word; }
  .page-product-grouped table.grouped thead tr .col.item,
  .catalog-product-view table.grouped thead tr .col.item {
    width: 100%; }
  .page-product-grouped table.grouped .associated-product,
  .catalog-product-view table.grouped .associated-product {
    min-height: 75px;
    padding: 1rem;
    display: flex;
    flex-direction: column;
    width: 100%;
    margin-bottom: 1rem;
    background: white !important;
    border-radius: 7px; }
    @media (max-width: 48em) {
      .page-product-grouped table.grouped .associated-product,
      .catalog-product-view table.grouped .associated-product {
        flex-direction: column; } }
    .page-product-grouped table.grouped .associated-product > td,
    .catalog-product-view table.grouped .associated-product > td {
      flex-direction: column;
      display: flex;
      justify-content: space-between;
      border-bottom: unset !important; }
      @media (min-width: 64em) {
        .page-product-grouped table.grouped .associated-product > td,
        .catalog-product-view table.grouped .associated-product > td {
          flex-direction: row; } }
    .page-product-grouped table.grouped .associated-product .row-tier-price,
    .catalog-product-view table.grouped .associated-product .row-tier-price {
      display: flex;
      justify-content: flex-end;
      padding-top: 0px; }
      .page-product-grouped table.grouped .associated-product .row-tier-price .box-tier-price,
      .catalog-product-view table.grouped .associated-product .row-tier-price .box-tier-price {
        display: flex;
        flex-direction: column;
        align-items: flex-end; }
      .page-product-grouped table.grouped .associated-product .row-tier-price .prices-tier.items,
      .catalog-product-view table.grouped .associated-product .row-tier-price .prices-tier.items {
        margin: 0px;
        display: flex;
        flex-direction: column;
        align-items: flex-end; }
      .page-product-grouped table.grouped .associated-product .row-tier-price .prices-tier.items > .item,
      .catalog-product-view table.grouped .associated-product .row-tier-price .prices-tier.items > .item {
        margin: 0px; }
      .page-product-grouped table.grouped .associated-product .row-tier-price .btn-link,
      .catalog-product-view table.grouped .associated-product .row-tier-price .btn-link {
        border: 2px solid #7e57c2;
        border-radius: 200px;
        font-weight: bold;
        padding: 0.5rem 2rem;
        display: inline-block;
        margin-top: 1rem; }
    .page-product-grouped table.grouped .associated-product .col,
    .catalog-product-view table.grouped .associated-product .col {
      padding: 0;
      margin: 0; }
    .page-product-grouped table.grouped .associated-product .col.item,
    .catalog-product-view table.grouped .associated-product .col.item {
      width: 100%;
      display: flex;
      flex-direction: column;
      align-items: center;
      border: unset; }
      @media (min-width: 48.01em) {
        .page-product-grouped table.grouped .associated-product .col.item,
        .catalog-product-view table.grouped .associated-product .col.item {
          flex-direction: row; } }
      .page-product-grouped table.grouped .associated-product .col.item *,
      .catalog-product-view table.grouped .associated-product .col.item * {
        color: #455a64; }
      .page-product-grouped table.grouped .associated-product .col.item .text-content,
      .catalog-product-view table.grouped .associated-product .col.item .text-content {
        display: flex;
        flex-direction: row;
        align-items: center;
        min-width: 380px;
        max-width: 380px; }
        @media (max-width: 48em) {
          .page-product-grouped table.grouped .associated-product .col.item .text-content,
          .catalog-product-view table.grouped .associated-product .col.item .text-content {
            min-width: 100%; } }
        .page-product-grouped table.grouped .associated-product .col.item .text-content .product-item-name,
        .catalog-product-view table.grouped .associated-product .col.item .text-content .product-item-name {
          font-size: 2rem; }
        .page-product-grouped table.grouped .associated-product .col.item .text-content .text-content__name,
        .catalog-product-view table.grouped .associated-product .col.item .text-content .text-content__name {
          display: flex;
          flex-direction: column; }
        .page-product-grouped table.grouped .associated-product .col.item .text-content .text-content__img,
        .catalog-product-view table.grouped .associated-product .col.item .text-content .text-content__img {
          padding-right: 1rem; }
      .page-product-grouped table.grouped .associated-product .col.item .product-attribute,
      .catalog-product-view table.grouped .associated-product .col.item .product-attribute {
        margin: 0 1rem;
        width: 100%; }
        @media (min-width: 48.01em) {
          .page-product-grouped table.grouped .associated-product .col.item .product-attribute,
          .catalog-product-view table.grouped .associated-product .col.item .product-attribute {
            width: auto; } }
        .page-product-grouped table.grouped .associated-product .col.item .product-attribute .value,
        .catalog-product-view table.grouped .associated-product .col.item .product-attribute .value {
          font-weight: 700;
          background: #edeff1;
          padding: 0.5rem;
          text-align: center;
          border-radius: 7px;
          font-size: 1.7rem; }
      .page-product-grouped table.grouped .associated-product .col.item .product-price-block,
      .catalog-product-view table.grouped .associated-product .col.item .product-price-block {
        margin-left: auto;
        display: flex; }
        .page-product-grouped table.grouped .associated-product .col.item .product-price-block .product-price-inner,
        .catalog-product-view table.grouped .associated-product .col.item .product-price-block .product-price-inner {
          height: 100%;
          display: flex;
          align-items: flex-end;
          padding: 0;
          flex-direction: column; }
          .page-product-grouped table.grouped .associated-product .col.item .product-price-block .product-price-inner .sale-badge-wrapper,
          .catalog-product-view table.grouped .associated-product .col.item .product-price-block .product-price-inner .sale-badge-wrapper {
            margin-top: 6px; }
            .page-product-grouped table.grouped .associated-product .col.item .product-price-block .product-price-inner .sale-badge-wrapper .sale-badge,
            .catalog-product-view table.grouped .associated-product .col.item .product-price-block .product-price-inner .sale-badge-wrapper .sale-badge {
              background: #fe1644;
              color: white;
              padding: 0.8rem 0.2rem;
              letter-spacing: 2px;
              border-radius: 4px;
              font-size: 2rem; }
        .page-product-grouped table.grouped .associated-product .col.item .product-price-block .omnibus-wrapper > span,
        .catalog-product-view table.grouped .associated-product .col.item .product-price-block .omnibus-wrapper > span {
          color: #a8b1b7; }
        .page-product-grouped table.grouped .associated-product .col.item .product-price-block .price-box,
        .catalog-product-view table.grouped .associated-product .col.item .product-price-block .price-box {
          order: 9;
          padding: 2rem 0;
          display: flex;
          flex-direction: column-reverse; }
          .page-product-grouped table.grouped .associated-product .col.item .product-price-block .price-box .price-container,
          .catalog-product-view table.grouped .associated-product .col.item .product-price-block .price-box .price-container {
            margin: 0 1rem;
            display: block; }
            .page-product-grouped table.grouped .associated-product .col.item .product-price-block .price-box .price-container .price,
            .catalog-product-view table.grouped .associated-product .col.item .product-price-block .price-box .price-container .price {
              font-weight: 700;
              font-size: 2rem; }
          .page-product-grouped table.grouped .associated-product .col.item .product-price-block .price-box .special-price .price,
          .catalog-product-view table.grouped .associated-product .col.item .product-price-block .price-box .special-price .price {
            color: #fe1644; }
          .page-product-grouped table.grouped .associated-product .col.item .product-price-block .price-box .old-price .price,
          .catalog-product-view table.grouped .associated-product .col.item .product-price-block .price-box .old-price .price {
            font-size: 1.5rem;
            color: #a8b1b7;
            font-weight: 400; }
          .page-product-grouped table.grouped .associated-product .col.item .product-price-block .price-box .old-price .price-wrapper,
          .catalog-product-view table.grouped .associated-product .col.item .product-price-block .price-box .old-price .price-wrapper {
            flex-direction: row-reverse; }
    .page-product-grouped table.grouped .associated-product .box-price-qty,
    .catalog-product-view table.grouped .associated-product .box-price-qty {
      padding-top: 1rem; }
      @media (min-width: 48.01em) {
        .page-product-grouped table.grouped .associated-product .box-price-qty,
        .catalog-product-view table.grouped .associated-product .box-price-qty {
          padding-top: 0; } }
      .page-product-grouped table.grouped .associated-product .box-price-qty .product-price-block,
      .catalog-product-view table.grouped .associated-product .box-price-qty .product-price-block {
        margin-left: auto;
        display: flex;
        align-items: center;
        justify-content: flex-end;
        padding-bottom: 0.5rem; }
        .page-product-grouped table.grouped .associated-product .box-price-qty .product-price-block .product-price-inner,
        .catalog-product-view table.grouped .associated-product .box-price-qty .product-price-block .product-price-inner {
          height: 100%;
          display: flex;
          align-items: center;
          padding: 0;
          flex-direction: row; }
          .page-product-grouped table.grouped .associated-product .box-price-qty .product-price-block .product-price-inner .sale-badge-wrapper,
          .catalog-product-view table.grouped .associated-product .box-price-qty .product-price-block .product-price-inner .sale-badge-wrapper {
            margin-top: 2px; }
            .page-product-grouped table.grouped .associated-product .box-price-qty .product-price-block .product-price-inner .sale-badge-wrapper .sale-badge,
            .catalog-product-view table.grouped .associated-product .box-price-qty .product-price-block .product-price-inner .sale-badge-wrapper .sale-badge {
              background: #fe1644;
              color: white;
              padding: 0.6rem 0.2rem;
              letter-spacing: 2px;
              border-radius: 4px;
              font-size: 2rem;
              margin-left: 1rem; }
          .page-product-grouped table.grouped .associated-product .box-price-qty .product-price-block .product-price-inner .hint,
          .catalog-product-view table.grouped .associated-product .box-price-qty .product-price-block .product-price-inner .hint {
            position: relative;
            display: inline-block;
            margin-left: 0.25rem;
            cursor: pointer; }
            .page-product-grouped table.grouped .associated-product .box-price-qty .product-price-block .product-price-inner .hint .icon,
            .catalog-product-view table.grouped .associated-product .box-price-qty .product-price-block .product-price-inner .hint .icon {
              vertical-align: middle; }
            .page-product-grouped table.grouped .associated-product .box-price-qty .product-price-block .product-price-inner .hint .icon-help::before,
            .catalog-product-view table.grouped .associated-product .box-price-qty .product-price-block .product-price-inner .hint .icon-help::before {
              content: '?';
              width: 15px;
              height: 15px;
              font-size: 10px;
              font-weight: bold;
              color: #455a64;
              line-height: 1;
              display: flex;
              align-items: center;
              justify-content: center;
              border: solid 1px;
              padding: 0;
              border-radius: 50%; }
            .page-product-grouped table.grouped .associated-product .box-price-qty .product-price-block .product-price-inner .hint .hint__content,
            .catalog-product-view table.grouped .associated-product .box-price-qty .product-price-block .product-price-inner .hint .hint__content {
              position: absolute;
              display: none;
              right: -0.25rem;
              top: calc(100% + 10px);
              font-size: 13px;
              line-height: 1.5em;
              z-index: 5;
              min-width: 258px;
              padding: 1rem;
              text-align: left;
              background-color: #fff;
              box-shadow: 0 0 15px 0 rgba(0, 0, 0, 0.2);
              border-radius: 3px;
              color: #455a64; }
              .page-product-grouped table.grouped .associated-product .box-price-qty .product-price-block .product-price-inner .hint .hint__content::after,
              .catalog-product-view table.grouped .associated-product .box-price-qty .product-price-block .product-price-inner .hint .hint__content::after {
                content: '';
                display: block;
                position: absolute;
                top: -14px;
                right: 4px;
                border-width: 7px;
                border-style: solid;
                border-color: transparent transparent #fff transparent; }
            .page-product-grouped table.grouped .associated-product .box-price-qty .product-price-block .product-price-inner .hint:hover .hint__content,
            .catalog-product-view table.grouped .associated-product .box-price-qty .product-price-block .product-price-inner .hint:hover .hint__content {
              display: block; }
        .page-product-grouped table.grouped .associated-product .box-price-qty .product-price-block .omnibus-wrapper > span,
        .catalog-product-view table.grouped .associated-product .box-price-qty .product-price-block .omnibus-wrapper > span {
          color: #a8b1b7; }
        .page-product-grouped table.grouped .associated-product .box-price-qty .product-price-block .price-box,
        .catalog-product-view table.grouped .associated-product .box-price-qty .product-price-block .price-box {
          order: 9;
          padding: 0;
          display: flex;
          flex-direction: column-reverse; }
          .page-product-grouped table.grouped .associated-product .box-price-qty .product-price-block .price-box .price-container,
          .catalog-product-view table.grouped .associated-product .box-price-qty .product-price-block .price-box .price-container {
            margin: 0 1rem;
            margin-right: 0;
            display: block; }
            .page-product-grouped table.grouped .associated-product .box-price-qty .product-price-block .price-box .price-container .price,
            .catalog-product-view table.grouped .associated-product .box-price-qty .product-price-block .price-box .price-container .price {
              font-weight: 700;
              font-size: 2rem;
              color: #455a64;
              line-height: 1; }
          .page-product-grouped table.grouped .associated-product .box-price-qty .product-price-block .price-box .special-price .price,
          .catalog-product-view table.grouped .associated-product .box-price-qty .product-price-block .price-box .special-price .price {
            color: #fe1644; }
          .page-product-grouped table.grouped .associated-product .box-price-qty .product-price-block .price-box .old-price .price,
          .catalog-product-view table.grouped .associated-product .box-price-qty .product-price-block .price-box .old-price .price {
            font-size: 1.5rem;
            color: #a8b1b7;
            font-weight: 400; }
          .page-product-grouped table.grouped .associated-product .box-price-qty .product-price-block .price-box .old-price .price-wrapper,
          .catalog-product-view table.grouped .associated-product .box-price-qty .product-price-block .price-box .old-price .price-wrapper {
            flex-direction: row-reverse; }
      .page-product-grouped table.grouped .associated-product .box-price-qty .amxnotif-block,
      .catalog-product-view table.grouped .associated-product .box-price-qty .amxnotif-block {
        display: flex;
        align-items: center;
        flex-direction: row;
        margin-bottom: 0;
        margin-left: auto; }
        @media (max-width: 63.99em) {
          .page-product-grouped table.grouped .associated-product .box-price-qty .amxnotif-block,
          .catalog-product-view table.grouped .associated-product .box-price-qty .amxnotif-block {
            flex-direction: column;
            padding: 1.5rem; } }
        .page-product-grouped table.grouped .associated-product .box-price-qty .amxnotif-block .label,
        .catalog-product-view table.grouped .associated-product .box-price-qty .amxnotif-block .label {
          font-size: 1.7rem;
          font-weight: 400; }
        .page-product-grouped table.grouped .associated-product .box-price-qty .amxnotif-block .notification-container,
        .catalog-product-view table.grouped .associated-product .box-price-qty .amxnotif-block .notification-container {
          margin-left: 1rem;
          display: flex;
          align-items: center;
          flex-direction: row;
          justify-content: flex-end;
          border: 1px solid #edeff1;
          border-radius: 200px; }
          .page-product-grouped table.grouped .associated-product .box-price-qty .amxnotif-block .notification-container:hover button,
          .catalog-product-view table.grouped .associated-product .box-price-qty .amxnotif-block .notification-container:hover button {
            background: #11a099; }
          .page-product-grouped table.grouped .associated-product .box-price-qty .amxnotif-block .notification-container .input-text,
          .catalog-product-view table.grouped .associated-product .box-price-qty .amxnotif-block .notification-container .input-text {
            min-width: 150px;
            font-size: 1.4rem;
            border: unset;
            box-shadow: unset; }
          .page-product-grouped table.grouped .associated-product .box-price-qty .amxnotif-block .notification-container button,
          .catalog-product-view table.grouped .associated-product .box-price-qty .amxnotif-block .notification-container button {
            border-radius: 200px;
            background: #17c8c0;
            padding: 1rem;
            font-weight: 700; }
            .page-product-grouped table.grouped .associated-product .box-price-qty .amxnotif-block .notification-container button span,
            .catalog-product-view table.grouped .associated-product .box-price-qty .amxnotif-block .notification-container button span {
              color: white; }
          .page-product-grouped table.grouped .associated-product .box-price-qty .amxnotif-block .notification-container *,
          .catalog-product-view table.grouped .associated-product .box-price-qty .amxnotif-block .notification-container * {
            border: none; }
          .page-product-grouped table.grouped .associated-product .box-price-qty .amxnotif-block .notification-container .actions-toolbar,
          .catalog-product-view table.grouped .associated-product .box-price-qty .amxnotif-block .notification-container .actions-toolbar {
            min-width: unset; }
    .page-product-grouped table.grouped .associated-product .col.qty,
    .catalog-product-view table.grouped .associated-product .col.qty {
      display: flex;
      align-items: center;
      justify-content: flex-end;
      border: unset;
      margin-left: 1rem; }
      .page-product-grouped table.grouped .associated-product .col.qty .control.qty,
      .catalog-product-view table.grouped .associated-product .col.qty .control.qty {
        border: 1px solid #edeff1;
        border-radius: 200px;
        display: flex;
        align-items: center;
        justify-content: center; }
      .page-product-grouped table.grouped .associated-product .col.qty .control.qty > form,
      .catalog-product-view table.grouped .associated-product .col.qty .control.qty > form {
        display: flex;
        flex-direction: row;
        align-items: center; }
      .page-product-grouped table.grouped .associated-product .col.qty .cs-qty-increment,
      .catalog-product-view table.grouped .associated-product .col.qty .cs-qty-increment {
        flex-wrap: nowrap; }
        .page-product-grouped table.grouped .associated-product .col.qty .cs-qty-increment .cs-qty-increment__input,
        .catalog-product-view table.grouped .associated-product .col.qty .cs-qty-increment .cs-qty-increment__input {
          min-width: 25px;
          max-width: 75px;
          width: auto;
          border: none;
          color: #455a64; }
        .page-product-grouped table.grouped .associated-product .col.qty .cs-qty-increment span,
        .catalog-product-view table.grouped .associated-product .col.qty .cs-qty-increment span {
          border: none; }
          .page-product-grouped table.grouped .associated-product .col.qty .cs-qty-increment span:hover,
          .catalog-product-view table.grouped .associated-product .col.qty .cs-qty-increment span:hover {
            background: white; }
            .page-product-grouped table.grouped .associated-product .col.qty .cs-qty-increment span:hover *,
            .catalog-product-view table.grouped .associated-product .col.qty .cs-qty-increment span:hover * {
              fill: #4d2c91; }
      .page-product-grouped table.grouped .associated-product .col.qty .addtocart,
      .catalog-product-view table.grouped .associated-product .col.qty .addtocart {
        white-space: nowrap;
        background-color: #7e57c2;
        border: none;
        border-radius: 100px;
        width: 40px;
        height: 40px;
        padding: 1rem;
        transition: background-color 0.3s ease; }
        .page-product-grouped table.grouped .associated-product .col.qty .addtocart:hover,
        .catalog-product-view table.grouped .associated-product .col.qty .addtocart:hover {
          background-color: #4d2c91;
          cursor: pointer; }
  .page-product-grouped table.grouped .associated-product.out-of-stock .box-price-qty .product-price-block .price-box,
  .catalog-product-view table.grouped .associated-product.out-of-stock .box-price-qty .product-price-block .price-box {
    display: none; }

/**
 * Breakpoint component used by include-media vendor library.
 */
@use 'sass:map';
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
/**
* Default project breakpoints - [em]
*/
/**
 * Breakpoint component used by include-media vendor library.
 */
@use 'sass:map';
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
/**
* Default project breakpoints - [em]
*/
.catalog-product-view .cs-buybox__section.cs-buybox__section--product-form .available-count-notice h3 {
  font-size: 2.9rem;
  text-transform: none;
  color: #455a64; }
  .catalog-product-view .cs-buybox__section.cs-buybox__section--product-form .available-count-notice h3 .counter {
    color: #7e57c2;
    text-decoration: underline; }

.catalog-product-view .product-add-form.simple-product .cs-buybox__addtocart .text-content {
  display: flex;
  flex-direction: column;
  min-width: 300px; }
  .catalog-product-view .product-add-form.simple-product .cs-buybox__addtocart .text-content .product-item-name {
    font-size: 2rem; }
  .catalog-product-view .product-add-form.simple-product .cs-buybox__addtocart .text-content .product-sku {
    font-size: 1.4rem; }

.catalog-product-view .product-add-form.simple-product .cs-buybox__addtocart .product-attribute {
  margin: 0 1rem;
  width: 100%; }
  @media (min-width: 64em) {
    .catalog-product-view .product-add-form.simple-product .cs-buybox__addtocart .product-attribute {
      width: auto; } }
  .catalog-product-view .product-add-form.simple-product .cs-buybox__addtocart .product-attribute .label {
    color: #455a64;
    font-size: 1.4rem; }
  .catalog-product-view .product-add-form.simple-product .cs-buybox__addtocart .product-attribute .value {
    font-weight: 700;
    background: #edeff1;
    padding: 0.5rem;
    text-align: center;
    border-radius: 7px;
    font-size: 1.7rem; }

.catalog-product-view .product-add-form.simple-product .cs-buybox__addtocart .price > .product-item-price > .price-box .price-container {
  margin: 0 1rem;
  display: block; }
  .catalog-product-view .product-add-form.simple-product .cs-buybox__addtocart .price > .product-item-price > .price-box .price-container .price-wrapper > .price {
    font-weight: 700;
    font-size: 2rem;
    color: #455a64;
    padding: 2rem 0; }

.catalog-product-view .product-add-form.simple-product .cs-buybox__addtocart .control.qty {
  border: 1px solid #edeff1;
  border-radius: 200px;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-right: 0;
  margin-left: auto; }
  @media (min-width: 64em) {
    .catalog-product-view .product-add-form.simple-product .cs-buybox__addtocart .control.qty {
      margin-left: 0; } }
  .catalog-product-view .product-add-form.simple-product .cs-buybox__addtocart .control.qty .cs-qty-increment * {
    border: none; }
  .catalog-product-view .product-add-form.simple-product .cs-buybox__addtocart .control.qty .cs-addtocart .cs-addtocart__wrapper {
    border-radius: 100px; }
    .catalog-product-view .product-add-form.simple-product .cs-buybox__addtocart .control.qty .cs-addtocart .cs-addtocart__wrapper .tocart.primary.cs-addtocart__button.cs-buybox__addtocart-button {
      height: 40px;
      width: 40px;
      border: unset; }
      .catalog-product-view .product-add-form.simple-product .cs-buybox__addtocart .control.qty .cs-addtocart .cs-addtocart__wrapper .tocart.primary.cs-addtocart__button.cs-buybox__addtocart-button .cs-addtocart__button-icon {
        position: absolute;
        left: 50%;
        top: 50%;
        transform: translate(-50%, -50%);
        width: 2rem;
        height: 2rem; }
      .catalog-product-view .product-add-form.simple-product .cs-buybox__addtocart .control.qty .cs-addtocart .cs-addtocart__wrapper .tocart.primary.cs-addtocart__button.cs-buybox__addtocart-button::before {
        background: unset; }
      .catalog-product-view .product-add-form.simple-product .cs-buybox__addtocart .control.qty .cs-addtocart .cs-addtocart__wrapper .tocart.primary.cs-addtocart__button.cs-buybox__addtocart-button::after {
        background: unset; }
      .catalog-product-view .product-add-form.simple-product .cs-buybox__addtocart .control.qty .cs-addtocart .cs-addtocart__wrapper .tocart.primary.cs-addtocart__button.cs-buybox__addtocart-button:hover {
        background-color: #4d2c91 !important; }

.catalog-product-view .product-add-form.simple-product .row-tier-price {
  display: flex;
  justify-content: flex-end;
  padding: 1rem 0;
  font-size: 1.4rem; }
  .catalog-product-view .product-add-form.simple-product .row-tier-price .box-tier-price {
    display: flex;
    flex-direction: column;
    align-items: flex-end; }
  .catalog-product-view .product-add-form.simple-product .row-tier-price .prices-tier.items {
    margin: 0px;
    display: flex;
    flex-direction: column;
    align-items: flex-end; }
  .catalog-product-view .product-add-form.simple-product .row-tier-price .prices-tier.items > .item {
    margin: 1px 0px; }

.catalog-product-view .product-add-form.simple-product .col.item {
  width: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
  border: unset; }
  @media (min-width: 48.01em) {
    .catalog-product-view .product-add-form.simple-product .col.item {
      flex-direction: row; } }
  .catalog-product-view .product-add-form.simple-product .col.item * {
    color: #455a64; }
  .catalog-product-view .product-add-form.simple-product .col.item .text-content {
    display: flex;
    flex-direction: row;
    align-items: center;
    min-width: 380px;
    max-width: 380px; }
    @media (max-width: 48em) {
      .catalog-product-view .product-add-form.simple-product .col.item .text-content {
        min-width: 100%; } }
    .catalog-product-view .product-add-form.simple-product .col.item .text-content .product-item-name {
      font-size: 2rem; }
    .catalog-product-view .product-add-form.simple-product .col.item .text-content .text-content__name {
      display: flex;
      flex-direction: column; }
    .catalog-product-view .product-add-form.simple-product .col.item .text-content .text-content__img {
      padding-right: 1rem; }
  .catalog-product-view .product-add-form.simple-product .col.item .product-attribute {
    margin: 0 1rem;
    width: 100%; }
    @media (min-width: 48.01em) {
      .catalog-product-view .product-add-form.simple-product .col.item .product-attribute {
        width: auto; } }
    .catalog-product-view .product-add-form.simple-product .col.item .product-attribute .value {
      font-weight: 700;
      background: #edeff1;
      padding: 0.5rem;
      text-align: center;
      border-radius: 7px;
      font-size: 1.7rem; }

.catalog-product-view .product-add-form.simple-product .box-price-qty {
  padding-top: 1rem; }
  @media (min-width: 48.01em) {
    .catalog-product-view .product-add-form.simple-product .box-price-qty {
      padding-top: 0; } }
  @media (min-width: 64em) {
    .catalog-product-view .product-add-form.simple-product .box-price-qty {
      min-width: 333px; } }
  .catalog-product-view .product-add-form.simple-product .box-price-qty .product-price-block {
    margin-left: auto;
    display: flex;
    align-items: center;
    justify-content: flex-end; }
    .catalog-product-view .product-add-form.simple-product .box-price-qty .product-price-block .product-price-inner {
      height: 100%;
      display: flex;
      align-items: center;
      padding: 0;
      flex-direction: row; }
      .catalog-product-view .product-add-form.simple-product .box-price-qty .product-price-block .product-price-inner .sale-badge-wrapper {
        margin-top: 6px; }
        .catalog-product-view .product-add-form.simple-product .box-price-qty .product-price-block .product-price-inner .sale-badge-wrapper .sale-badge {
          background: #fe1644;
          color: white;
          padding: 0.8rem 0.2rem;
          letter-spacing: 2px;
          border-radius: 4px;
          font-size: 2rem;
          margin-left: 1rem; }
      .catalog-product-view .product-add-form.simple-product .box-price-qty .product-price-block .product-price-inner .hint {
        position: relative;
        display: inline-block;
        margin-left: 0.25rem;
        cursor: pointer; }
        .catalog-product-view .product-add-form.simple-product .box-price-qty .product-price-block .product-price-inner .hint .icon {
          vertical-align: middle; }
        .catalog-product-view .product-add-form.simple-product .box-price-qty .product-price-block .product-price-inner .hint .icon-help::before {
          content: '?';
          width: 15px;
          height: 15px;
          font-size: 10px;
          font-weight: bold;
          color: #455a64;
          line-height: 1;
          display: flex;
          align-items: center;
          justify-content: center;
          border: solid 1px;
          padding: 0;
          border-radius: 50%; }
        .catalog-product-view .product-add-form.simple-product .box-price-qty .product-price-block .product-price-inner .hint .hint__content {
          position: absolute;
          display: none;
          right: -0.25rem;
          top: calc(100% + 10px);
          font-size: 13px;
          line-height: 1.5em;
          z-index: 5;
          min-width: 258px;
          padding: 1rem;
          text-align: left;
          background-color: #fff;
          box-shadow: 0 0 15px 0 rgba(0, 0, 0, 0.2);
          border-radius: 3px;
          color: #455a64; }
          .catalog-product-view .product-add-form.simple-product .box-price-qty .product-price-block .product-price-inner .hint .hint__content::after {
            content: '';
            display: block;
            position: absolute;
            top: -14px;
            right: 4px;
            border-width: 7px;
            border-style: solid;
            border-color: transparent transparent #fff transparent; }
        .catalog-product-view .product-add-form.simple-product .box-price-qty .product-price-block .product-price-inner .hint:hover .hint__content {
          display: block; }
    .catalog-product-view .product-add-form.simple-product .box-price-qty .product-price-block .omnibus-wrapper > span {
      color: #a8b1b7;
      font-size: 1.4rem;
      line-height: 1; }
    .catalog-product-view .product-add-form.simple-product .box-price-qty .product-price-block .price-box {
      order: 9;
      padding: 0;
      display: flex;
      flex-direction: column-reverse; }
      .catalog-product-view .product-add-form.simple-product .box-price-qty .product-price-block .price-box .price-container {
        margin: 0 1rem;
        margin-right: 0;
        display: block; }
        .catalog-product-view .product-add-form.simple-product .box-price-qty .product-price-block .price-box .price-container .price {
          font-weight: 700;
          font-size: 2rem;
          color: #455a64; }
      .catalog-product-view .product-add-form.simple-product .box-price-qty .product-price-block .price-box .special-price .price {
        color: #fe1644; }
      .catalog-product-view .product-add-form.simple-product .box-price-qty .product-price-block .price-box .old-price .price {
        font-size: 1.5rem;
        color: #a8b1b7;
        font-weight: 400; }
      .catalog-product-view .product-add-form.simple-product .box-price-qty .product-price-block .price-box .old-price .price-wrapper {
        flex-direction: row-reverse; }
  .catalog-product-view .product-add-form.simple-product .box-price-qty .amxnotif-block {
    display: flex;
    align-items: center;
    flex-direction: row;
    margin-bottom: 0;
    margin-left: auto; }
    @media (max-width: 63.99em) {
      .catalog-product-view .product-add-form.simple-product .box-price-qty .amxnotif-block {
        flex-direction: column;
        padding: 1.5rem; } }
    .catalog-product-view .product-add-form.simple-product .box-price-qty .amxnotif-block .label {
      font-size: 1.7rem;
      font-weight: 400; }
    .catalog-product-view .product-add-form.simple-product .box-price-qty .amxnotif-block .notification-container {
      margin-left: 1rem;
      display: flex;
      align-items: center;
      flex-direction: row;
      justify-content: flex-end;
      border: 1px solid #edeff1;
      border-radius: 200px; }
      .catalog-product-view .product-add-form.simple-product .box-price-qty .amxnotif-block .notification-container:hover button {
        background: #11a099; }
      .catalog-product-view .product-add-form.simple-product .box-price-qty .amxnotif-block .notification-container .input-text {
        min-width: 150px;
        font-size: 1.4rem;
        border: unset;
        box-shadow: unset; }
      .catalog-product-view .product-add-form.simple-product .box-price-qty .amxnotif-block .notification-container button {
        border-radius: 200px;
        background: #17c8c0;
        padding: 1rem;
        font-weight: 700; }
        .catalog-product-view .product-add-form.simple-product .box-price-qty .amxnotif-block .notification-container button span {
          color: white; }
      .catalog-product-view .product-add-form.simple-product .box-price-qty .amxnotif-block .notification-container * {
        border: none; }
      .catalog-product-view .product-add-form.simple-product .box-price-qty .amxnotif-block .notification-container .actions-toolbar {
        min-width: unset; }
  .catalog-product-view .product-add-form.simple-product .box-price-qty .col.qty {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    border: unset;
    margin-left: 1rem; }
    .catalog-product-view .product-add-form.simple-product .box-price-qty .col.qty .control.qty {
      border: 1px solid #edeff1;
      border-radius: 200px;
      display: flex;
      align-items: center;
      justify-content: center; }
    .catalog-product-view .product-add-form.simple-product .box-price-qty .col.qty .control.qty > form {
      display: flex;
      flex-direction: row;
      align-items: center; }
    .catalog-product-view .product-add-form.simple-product .box-price-qty .col.qty .cs-qty-increment {
      flex-wrap: nowrap; }
      .catalog-product-view .product-add-form.simple-product .box-price-qty .col.qty .cs-qty-increment .cs-qty-increment__input {
        min-width: 25px;
        max-width: 75px;
        width: auto;
        border: none;
        color: #455a64; }
      .catalog-product-view .product-add-form.simple-product .box-price-qty .col.qty .cs-qty-increment span {
        border: none; }
        .catalog-product-view .product-add-form.simple-product .box-price-qty .col.qty .cs-qty-increment span:hover {
          background: white; }
          .catalog-product-view .product-add-form.simple-product .box-price-qty .col.qty .cs-qty-increment span:hover * {
            fill: #4d2c91; }
    .catalog-product-view .product-add-form.simple-product .box-price-qty .col.qty .addtocart {
      white-space: nowrap;
      background-color: #7e57c2;
      border: none;
      border-radius: 100px;
      width: 40px;
      height: 40px;
      padding: 1rem;
      transition: background-color 0.3s ease; }
      .catalog-product-view .product-add-form.simple-product .box-price-qty .col.qty .addtocart:hover {
        background-color: #4d2c91;
        cursor: pointer; }

@media (max-width: 63.99em) {
  .catalog-product-view .cs-buybox__addtocart-fieldset {
    align-items: flex-end; } }

/**
 * Breakpoint component used by include-media vendor library.
 */
@use 'sass:map';
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
/**
* Default project breakpoints - [em]
*/
/**
 * Breakpoint component used by include-media vendor library.
 */
@use 'sass:map';
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
/**
* Default project breakpoints - [em]
*/
.take-me-top {
  opacity: 0.7;
  background-color: #fa7013;
  width: 50px;
  height: 50px;
  transition: 0.5s;
  position: fixed;
  right: 20px;
  bottom: 20px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center; }
  .take-me-top:hover {
    opacity: 1; }
  .take-me-top::before {
    content: url("../../frontend/Creativestyle/theme-papilart/pl_PL/images/icons/arrow_up_white.svg");
    display: block;
    width: 30px;
    height: 18px; }

.take-me-top.hidden {
  opacity: 0;
  display: none; }

/**
 * Breakpoint component used by include-media vendor library.
 */
@use 'sass:map';
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
/**
* Default project breakpoints - [em]
*/
/**
 * Breakpoint component used by include-media vendor library.
 */
@use 'sass:map';
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
/**
* Default project breakpoints - [em]
*/
.catalog-product-view .columns > .column.main .cs-container--page-pdp-top {
  background-color: #edeff1; }
  .catalog-product-view .columns > .column.main .cs-container--page-pdp-top .cs-page-product__top {
    background-color: #fff; }

.main {
  background: #edeff1; }

/**
 * Breakpoint component used by include-media vendor library.
 */
@use 'sass:map';
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
/**
* Default project breakpoints - [em]
*/
/**
 * Breakpoint component used by include-media vendor library.
 */
@use 'sass:map';
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
/**
* Default project breakpoints - [em]
*/
.catalog-product-view .columns > .column.main {
  padding-top: 0px !important; }

.product.alert.alert.stock.link-stock-alert > .action.alert {
  display: flex;
  align-items: center;
  flex-direction: row; }

/**
 * Breakpoint component used by include-media vendor library.
 */
@use 'sass:map';
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
/**
* Default project breakpoints - [em]
*/
/**
 * Breakpoint component used by include-media vendor library.
 */
@use 'sass:map';
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
/**
* Default project breakpoints - [em]
*/
.buybox__section-sign-in {
  display: flex;
  flex-direction: column;
  align-items: flex-end; }
  .buybox__section-sign-in p {
    padding-top: 3rem;
    padding-right: 1rem;
    border-top: 1px solid #b0b0b0;
    text-align: justify;
    font-size: 1.6rem; }
  .buybox__section-sign-in .btn-outlined {
    border: 2px solid #7e57c2;
    border-radius: 200px;
    font-weight: bold;
    padding: 1rem 2rem; }

/**
 * Breakpoint component used by include-media vendor library.
 */
@use 'sass:map';
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
/**
* Default project breakpoints - [em]
*/
/**
 * Breakpoint component used by include-media vendor library.
 */
@use 'sass:map';
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
/**
* Default project breakpoints - [em]
*/
.newsletter-redingo {
  background-color: #455a64;
  color: #fff;
  padding: 4rem 1rem;
  margin: 3rem auto 5rem auto; }
  @media (min-width: 48em) {
    .newsletter-redingo {
      border-radius: 7px; } }
  .newsletter-redingo .newsletter__btn-container {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 60px; }
    .newsletter-redingo .newsletter__btn-container .newsletter__btn {
      background-color: #7e57c2 !important;
      border-radius: 50px !important;
      border: solid 2px #7e57c2;
      padding: 1rem 3rem !important;
      color: #fff;
      font-size: 2rem;
      font-weight: bold !important;
      white-space: nowrap;
      letter-spacing: 1px;
      height: 40px !important;
      line-height: 1 !important;
      cursor: pointer; }
      .newsletter-redingo .newsletter__btn-container .newsletter__btn:hover {
        color: #fff;
        background-color: #4d2c91 !important;
        border: solid 2px #4d2c91; }
  .newsletter-redingo .newsletter__title-container {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    min-height: 150px; }
    .newsletter-redingo .newsletter__title-container .newsletter__title {
      display: inline-block;
      font-size: 3rem;
      padding: 5rem 1rem 1rem 1rem;
      position: relative;
      color: #fff;
      text-align: center; }
      .newsletter-redingo .newsletter__title-container .newsletter__title::before {
        position: absolute;
        top: 10px;
        left: 50%;
        transform: translateX(-50%);
        content: url(../../frontend/Creativestyle/theme-papilart/pl_PL/images/icons/newsletter-orange.svg); }
  .newsletter-redingo .comment {
    font-size: 1.3rem; }

@media (min-width: 48em) {
  .newsletter-redingo .newsletter__title-container .newsletter__title {
    padding: 1rem 2rem 1rem 5rem;
    text-align: justify; }
    .newsletter-redingo .newsletter__title-container .newsletter__title::before {
      top: 14px;
      left: 0px;
      transform: translateX(0%); } }

/**
 * Breakpoint component used by include-media vendor library.
 */
@use 'sass:map';
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
/**
* Default project breakpoints - [em]
*/
/**
 * Breakpoint component used by include-media vendor library.
 */
@use 'sass:map';
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
/**
* Default project breakpoints - [em]
*/
.cs-image-teaser--slider.cs-image-teaser__slides {
  max-height: 414px !important;
  border-radius: 7px; }

.section-wrapper-slider {
  padding-bottom: 3rem; }
  @media (min-width: 64em) {
    .section-wrapper-slider {
      margin-left: -0.5rem;
      margin-right: -1rem;
      width: calc(100% + 1rem) !important; } }
  @media (min-width: 64em) {
    .section-wrapper-slider .home-top-slider {
      padding: 0.5rem; } }
  .section-wrapper-slider .home-top-slider .home-slider-box {
    background: #fff; }
  .section-wrapper-slider .box {
    padding: 0.5rem 0; }
    @media (min-width: 64em) {
      .section-wrapper-slider .box {
        padding: 0.5rem; } }
  .section-wrapper-slider .newsletter-redingo {
    padding: 0.5rem 1.5rem;
    border-radius: 7px;
    margin: 0.5rem 0;
    min-height: 300px; }
    @media (min-width: 64em) {
      .section-wrapper-slider .newsletter-redingo {
        margin: 0.5rem; } }
    .section-wrapper-slider .newsletter-redingo .newsletter__btn-container {
      min-height: 80px; }
      @media (min-width: 64em) {
        .section-wrapper-slider .newsletter-redingo .newsletter__btn-container {
          min-height: 50px; } }
    .section-wrapper-slider .newsletter-redingo .newsletter__title-container {
      min-height: 95px;
      flex-direction: column;
      min-height: 300px; }
      .section-wrapper-slider .newsletter-redingo .newsletter__title-container .newsletter__title {
        font-size: 2rem;
        text-align: left;
        padding-bottom: 0; }
  .section-wrapper-slider .home-slider-slick {
    background: #fff;
    border-radius: 7px; }
    .section-wrapper-slider .home-slider-slick .content {
      background: #fff;
      padding: 2rem 1.5rem;
      min-height: 300px; }
      .section-wrapper-slider .home-slider-slick .content .title {
        font-size: 2.5rem;
        padding-bottom: 1rem; }
        @media (min-width: 90em) {
          .section-wrapper-slider .home-slider-slick .content .title {
            font-size: 3rem; } }
      .section-wrapper-slider .home-slider-slick .content .subtitle {
        padding-bottom: 2rem; }
    .section-wrapper-slider .home-slider-slick .btn {
      background-color: #7e57c2;
      border-radius: 50px;
      padding: 1rem 2.5rem;
      color: #fff;
      font-size: 1.8rem;
      font-weight: bold;
      white-space: nowrap;
      letter-spacing: 1px;
      margin-top: 2rem; }
      .section-wrapper-slider .home-slider-slick .btn:hover {
        color: #fff;
        background-color: #4d2c91; }
      .section-wrapper-slider .home-slider-slick .btn:hover {
        color: #fff;
        background-color: #4d2c91; }
  .section-wrapper-slider .slick-slide {
    margin-bottom: -1.5rem; }
  .section-wrapper-slider .slick-slider {
    padding: 0; }
  .section-wrapper-slider .slick-dotted.slick-slider {
    margin-bottom: 0; }
  .section-wrapper-slider .slick-slide img {
    max-width: 100%;
    border-top-left-radius: 7px;
    border-top-right-radius: 7px; }
    @media (min-width: 48em) {
      .section-wrapper-slider .slick-slide img {
        border-top-right-radius: 0;
        border-bottom-left-radius: 7px; } }
    @media (min-width: 64em) {
      .section-wrapper-slider .slick-slide img {
        max-height: 433px;
        aspect-ratio: 460/235;
        min-height: 408px; } }
  .section-wrapper-slider .slick-dots {
    bottom: 20px; }
    @media (min-width: 48em) {
      .section-wrapper-slider .slick-dots {
        text-align: right;
        padding-right: 4rem; } }
    .section-wrapper-slider .slick-dots li button::before {
      content: "\002D";
      font-size: 4rem; }

.fast-delivery-box, .discounts-box {
  display: flex;
  align-items: center;
  justify-content: space-around;
  flex-direction: column;
  text-align: center;
  border-radius: 7px;
  padding: 1rem 2rem;
  height: 100%;
  min-height: 200px; }
  .fast-delivery-box a, .fast-delivery-box a:hover, .discounts-box a, .discounts-box a:hover {
    color: #455a64; }
  .fast-delivery-box .title, .discounts-box .title {
    font-size: 2rem;
    padding: 1rem 0;
    margin: 0; }
    @media (min-width: 90em) {
      .fast-delivery-box .title, .discounts-box .title {
        font-size: 2.4rem; } }
  .fast-delivery-box .subtitle, .discounts-box .subtitle {
    font-size: 1.5rem;
    max-width: 210px; }

.fast-delivery-box {
  background: #17c8c0;
  color: #fff;
  margin-bottom: -2rem; }
  @media (min-width: 48em) {
    .fast-delivery-box {
      margin-right: 1rem; } }
  @media (min-width: 64em) {
    .fast-delivery-box {
      margin-right: auto; } }
  .fast-delivery-box .title {
    color: #fff; }

/* .fast-delivery-box::before{
    content: 'paczka';
} */
.discounts-box {
  background: #fff; }

/* .discounts-box::before{
    content: 'koszyk';
} */
.section-wrapper-covid {
  display: flex;
  align-items: stretch;
  flex-wrap: wrap;
  padding-top: 0;
  padding-bottom: 2rem;
  margin-left: -0.5rem;
  margin-right: -0.5rem; }
  .section-wrapper-covid .item > * {
    min-height: 368px; }
  .section-wrapper-covid .item > *,
  .section-wrapper-covid .item > * > *,
  .section-wrapper-covid .item > * > * > *,
  .section-wrapper-covid .item > * > * > * > * {
    height: 100%; }
  .section-wrapper-covid .p-2 {
    padding: 0.5rem; }
    .section-wrapper-covid .p-2 .btn {
      background-color: #7e57c2;
      border-radius: 50px;
      padding: 1rem 2.5rem;
      color: #fff;
      font-size: 1.8rem;
      font-weight: bold;
      white-space: nowrap;
      letter-spacing: 1px;
      margin-top: 1rem; }
      .section-wrapper-covid .p-2 .btn:hover {
        color: #fff;
        background-color: #4d2c91; }
  .section-wrapper-covid .free-2-1-box {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    background: #17c8c0;
    color: #fff;
    border-radius: 7px;
    padding: 1.5rem 3rem;
    text-align: center;
    height: 100%;
    margin-bottom: -20px;
    min-height: 460px; }
    .section-wrapper-covid .free-2-1-box .free-2_title {
      font-size: 5rem;
      font-weight: bold;
      display: flex;
      flex-direction: column;
      line-height: 1;
      padding-bottom: 3rem;
      padding-top: 3rem; }
    .section-wrapper-covid .free-2-1-box .title-big {
      font-size: 13rem; }
    .section-wrapper-covid .free-2-1-box .title {
      font-size: 2.5rem;
      color: #fff; }
    .section-wrapper-covid .free-2-1-box .title-small {
      font-size: 1.6rem; }
  .section-wrapper-covid .new-in-accessories-box {
    background: #fff;
    border-radius: 7px;
    height: 100%;
    min-height: 460px; }
    .section-wrapper-covid .new-in-accessories-box .content {
      padding: 1.5rem 3rem; }
    .section-wrapper-covid .new-in-accessories-box .title {
      font-size: 2.5rem; }
    .section-wrapper-covid .new-in-accessories-box .subtitle {
      font-size: 1.6rem;
      color: #455a64; }
    .section-wrapper-covid .new-in-accessories-box img {
      border-top-left-radius: 7px;
      border-top-right-radius: 7px; }
  .section-wrapper-covid .covid-box {
    display: flex;
    align-items: flex-start;
    justify-content: flex-end;
    flex-direction: column;
    padding: 3rem;
    color: #fff;
    border-radius: 7px;
    height: 100%;
    min-height: 460px;
    background: linear-gradient(rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0.5)), url("https://images.unsplash.com/photo-1613119719948-d53865658a88?ixlib=rb-4.0.3&ixid=MnwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8&auto=format&fit=crop&w=1771&q=80"); }
    .section-wrapper-covid .covid-box .title {
      font-size: 3.2rem;
      color: #fff; }
    .section-wrapper-covid .covid-box .subtitle {
      font-size: 2.5rem;
      max-width: 380px; }
  .section-wrapper-covid .covid-box-cms .cs-image-teaser__picture {
    min-height: 460px; }
  .section-wrapper-covid .covid-box-cms .cs-image-teaser__figure {
    max-height: 400px;
    min-height: 460px;
    border-radius: 7px;
    margin-right: -1.5rem;
    margin-left: -1.5rem; }
    @media (min-width: 64em) {
      .section-wrapper-covid .covid-box-cms .cs-image-teaser__figure {
        max-height: 460px; } }
    .section-wrapper-covid .covid-box-cms .cs-image-teaser__figure .cs-image-teaser__description {
      max-width: 100%; }

.section-wrapper-season-is-on {
  display: flex;
  align-items: stretch;
  flex-wrap: wrap;
  padding-bottom: 3rem; }
  .section-wrapper-season-is-on .season-is-on-box {
    display: flex;
    align-items: flex-start;
    justify-content: flex-end;
    flex-direction: column;
    padding: 3rem 1.5rem;
    color: #fff;
    border-radius: 7px;
    height: 100%;
    min-height: 300px;
    background: linear-gradient(rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0.5)), url("https://images.unsplash.com/photo-1613119719948-d53865658a88?ixlib=rb-4.0.3&ixid=MnwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8&auto=format&fit=crop&w=1771&q=80"); }
    .section-wrapper-season-is-on .season-is-on-box .title {
      font-size: 3.2rem;
      color: #fff;
      max-width: 360px; }
  .section-wrapper-season-is-on .season-is-on-box-cms .cs-image-teaser__picture {
    min-height: 400px; }
  .section-wrapper-season-is-on .season-is-on-box-cms .cs-image-teaser__figure {
    height: 100%;
    min-height: 300px;
    max-height: 400px;
    border-radius: 7px;
    margin-right: -1.5rem;
    margin-left: -1.5rem; }
    @media (min-width: 64em) {
      .section-wrapper-season-is-on .season-is-on-box-cms .cs-image-teaser__figure {
        max-height: 300px; } }
    .section-wrapper-season-is-on .season-is-on-box-cms .cs-image-teaser__figure .cs-image-teaser__slogan {
      font-size: 3.2rem;
      color: #fff;
      max-width: 360px; }
  @media (max-width: 63.99em) {
    .section-wrapper-season-is-on .season-is-on-slider {
      margin-left: -1.5rem;
      margin-right: -1.5rem; } }
  .section-wrapper-season-is-on .season-is-on-slider .cs-slider-pagination {
    display: none; }
  .section-wrapper-season-is-on .season-is-on-slider .cs-products-carousel {
    margin-bottom: 0; }
  .section-wrapper-season-is-on .season-is-on-slider .block-static-block.widget {
    margin-bottom: 0; }
  @media (min-width: 64em) {
    .section-wrapper-season-is-on .season-is-on-slider .cs-container.cs-container--products-carousel {
      padding-right: 0; } }
  .section-wrapper-season-is-on .cs-product-tile__container {
    min-height: 300px; }

.section-job-offers {
  margin-bottom: 5rem; }
  .section-job-offers .box {
    background: #fff;
    border-radius: 7px;
    padding: 2rem;
    margin-bottom: 2rem; }
    .section-job-offers .box .title {
      font-size: 2rem; }
    .section-job-offers .box .subtitle {
      font-size: 2rem; }
  .section-job-offers .box-offer {
    margin-top: -3rem; }
  .section-job-offers .item-city {
    display: flex;
    justify-content: flex-end; }
    .section-job-offers .item-city p {
      position: relative; }
      .section-job-offers .item-city p::before {
        position: absolute;
        content: url(../../frontend/Creativestyle/theme-papilart/pl_PL/images/icons/geo-orange.svg);
        left: -20px; }
  .section-job-offers .item-btn,
  .section-job-offers .item-btn-send {
    display: flex;
    justify-content: flex-end;
    align-items: center; }
    .section-job-offers .item-btn .btn,
    .section-job-offers .item-btn-send .btn {
      background-color: #7e57c2;
      border-radius: 50px;
      padding: 1rem 2.5rem;
      color: #fff;
      font-size: 1.8rem;
      font-weight: bold;
      white-space: nowrap;
      letter-spacing: 1px;
      text-align: center;
      width: 100%; }
      .section-job-offers .item-btn .btn:hover,
      .section-job-offers .item-btn-send .btn:hover {
        color: #fff;
        background-color: #4d2c91; }
      @media (min-width: 48em) {
        .section-job-offers .item-btn .btn,
        .section-job-offers .item-btn-send .btn {
          width: auto; } }
  .section-job-offers .item-btn-send {
    justify-content: center;
    padding: 3rem 2rem; }

.cms-home-test .home-top-slider .block-static-block.widget, .cms-home-test .home-top-slider .block-cms-link.widget {
  margin-bottom: 0.5rem; }

.cms-home-test .cs-image-teaser--slider.cs-image-teaser--container-width {
  width: 100%; }

.cms-home-test .cs-image-teaser__content-wrapper--over {
  padding-bottom: 4rem; }

.cms-home-test .cs-image-teaser--slider.cs-image-teaser--container-width .cs-image-teaser__slides {
  padding: 0;
  -ms-overflow-style: none;
  /* for Internet Explorer, Edge */
  scrollbar-width: none;
  /* for Firefox */
  overflow-y: scroll; }
  .cms-home-test .cs-image-teaser--slider.cs-image-teaser--container-width .cs-image-teaser__slides::-webkit-scrollbar {
    display: none; }
  @media (min-width: 64em) {
    .cms-home-test .cs-image-teaser--slider.cs-image-teaser--container-width .cs-image-teaser__slides {
      min-height: 520px; } }

.cms-home-test .cs-image-teaser--slider .cs-image-teaser__slides {
  max-height: 395px;
  padding: 0;
  border-radius: 7px; }
  .cms-home-test .cs-image-teaser--slider .cs-image-teaser__slides .cs-image-teaser__picture {
    min-height: 400px; }
    @media (min-width: 64em) {
      .cms-home-test .cs-image-teaser--slider .cs-image-teaser__slides .cs-image-teaser__picture {
        min-height: 520px; } }

.cms-home-test .cs-slider-pagination {
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%); }

.cms-home-test .cs-container--image-teaser {
  margin: 0; }

.cms-home-test .cs-image-teaser__figure {
  overflow: hidden; }

.cms-home-test .cs-image-teaser--slider.cs-image-teaser--container-width {
  --base-size: 100%; }
  @media (min-width: 64em) {
    .cms-home-test .cs-image-teaser--slider.cs-image-teaser--container-width {
      min-height: 395px; } }

@media (min-width: 64em) {
  .cms-home-test .cs-image-teaser--slider .cs-image-teaser__slides-wrapper {
    min-height: 395px; } }

@media (max-width: 23.125em) {
  .cms-home-test .cs-image-teaser__slogan {
    font-size: 3.5rem; } }

.cms-home-test .cs-image-teaser__description {
  font-size: 2rem;
  max-width: 85%;
  margin: 1rem auto; }
  @media (min-width: 23.125em) {
    .cms-home-test .cs-image-teaser__description {
      font-size: 2.4rem; } }

.cms-home-test .cs-image-teaser__slide--scheme-light .cs-image-teaser__cta,
.cms-home-test .cs-image-teaser__slide--scheme-light .cs-image-teaser__cta:visited {
  background-color: #7e57c2;
  color: #fff; }

.cms-home-test .cs-image-teaser__slide--scheme-light .cs-image-teaser__cta-span {
  padding-right: 3em; }

.cms-home-test .cs-image-teaser__slide--scheme-light .cs-image-teaser__cta-span,
.cms-home-test .cs-image-teaser__slide--scheme-light .cs-image-teaser__cta *,
.cms-home-test .cs-image-teaser__slide--scheme-light .cs-image-teaser__cta:visited * {
  color: #fff;
  fill: #fff; }

/**
 * Breakpoint component used by include-media vendor library.
 */
@use 'sass:map';
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
/**
* Default project breakpoints - [em]
*/
/**
 * Breakpoint component used by include-media vendor library.
 */
@use 'sass:map';
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
/**
* Default project breakpoints - [em]
*/
.blog-page #maincontent .cs-container__inner,
.blog-post-view #maincontent .cs-container__inner {
  max-width: 114rem; }

.blog-page .block-categories .block-title,
.blog-post-view .block-categories .block-title {
  display: none; }

.blog-page .accordion,
.blog-post-view .accordion {
  display: flex;
  margin-top: -5rem; }
  .blog-page .accordion .item,
  .blog-post-view .accordion .item {
    padding: 2rem 0; }
    .blog-page .accordion .item a,
    .blog-post-view .accordion .item a {
      color: #455a64;
      padding-right: 2rem; }
      .blog-page .accordion .item a:hover,
      .blog-post-view .accordion .item a:hover {
        color: #17c8c0; }

.blog-page .post-list-wrapper,
.blog-post-view .post-list-wrapper {
  margin-right: -1.5rem;
  margin-left: -1.5rem; }
  .blog-page .post-list-wrapper .post-list,
  .blog-post-view .post-list-wrapper .post-list {
    display: flex;
    flex-wrap: wrap; }
    .blog-page .post-list-wrapper .post-list .post-list-item,
    .blog-post-view .post-list-wrapper .post-list .post-list-item {
      max-width: 360px;
      margin: 0 auto; }
    .blog-page .post-list-wrapper .post-list .post-description,
    .blog-post-view .post-list-wrapper .post-list .post-description {
      padding: 1rem 2rem 0 2rem; }
    .blog-page .post-list-wrapper .post-list .post-title,
    .blog-post-view .post-list-wrapper .post-list .post-title {
      text-transform: none;
      font-size: 2rem; }
      .blog-page .post-list-wrapper .post-list .post-title a,
      .blog-post-view .post-list-wrapper .post-list .post-title a {
        color: #455a64; }
    .blog-page .post-list-wrapper .post-list .post-holder,
    .blog-post-view .post-list-wrapper .post-list .post-holder {
      border-bottom: none;
      padding: 1.5rem;
      height: 100%;
      margin-bottom: 0;
      max-width: 360px; }
    .blog-page .post-list-wrapper .post-list .post-content,
    .blog-post-view .post-list-wrapper .post-list .post-content {
      background-color: #fff;
      border-radius: 7px;
      height: 100%; }
      .blog-page .post-list-wrapper .post-list .post-content img,
      .blog-post-view .post-list-wrapper .post-list .post-content img {
        border-top-right-radius: 7px;
        border-top-left-radius: 7px; }

.blog-page .post-list-wrapper.blog-widget-recent .post-list-item,
.blog-post-view .post-list-wrapper.blog-widget-recent .post-list-item {
  padding: 1.5rem; }

.blog-page .post-list-wrapper.blog-widget-recent .post-holder,
.blog-post-view .post-list-wrapper.blog-widget-recent .post-holder {
  padding: 0;
  min-height: 300px; }

.blog-page .post-list-wrapper.blog-widget-recent .post-description,
.blog-post-view .post-list-wrapper.blog-widget-recent .post-description {
  margin-bottom: 0; }

.blog-page .post-list-wrapper.blog-widget-recent .item.post-posed-date,
.blog-post-view .post-list-wrapper.blog-widget-recent .item.post-posed-date {
  top: 10px;
  right: 10px; }

.post-bottom .post-list-wrapper.blog-widget-recent:not(.blog-widget-recent-masonry) .post-holder {
  min-height: 100%; }

.blog-page .item.post-posed-date {
  position: absolute;
  top: 25px;
  right: 30px;
  background: #fff;
  padding: 0.5rem 1rem;
  border-radius: 200px;
  font-size: 1.2rem; }

.blog-page .pages.cs-pagination .cs-pagination__content {
  display: flex;
  flex-direction: row;
  justify-content: center; }
  .blog-page .pages.cs-pagination .cs-pagination__content svg {
    height: 10px;
    margin: 0px 10px; }
  .blog-page .pages.cs-pagination .cs-pagination__content .pages-items {
    display: flex;
    flex-direction: row; }
  .blog-page .pages.cs-pagination .cs-pagination__content .cs-pagination__number--current > .label {
    display: none !important; }
  .blog-page .pages.cs-pagination .cs-pagination__content .pages-items .cs-pagination__item {
    margin: 0px 10px; }

/**
 * Breakpoint component used by include-media vendor library.
 */
@use 'sass:map';
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
/**
* Default project breakpoints - [em]
*/
/**
 * Breakpoint component used by include-media vendor library.
 */
@use 'sass:map';
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
/**
* Default project breakpoints - [em]
*/
.checkout-cart-index #maincontent {
  background: #edeff1; }

.checkout-cart-index .cs-cart-item.item-info {
  background-color: #fff; }

.checkout-cart-index .action.continue {
  border: solid;
  padding: 1rem 2rem;
  border-radius: 200px;
  display: inline-block;
  margin-bottom: 3rem; }

.checkout-cart-index .field .input-text {
  border-radius: 200px; }

.checkout-cart-index .field .label {
  padding: 0 0 1rem 0;
  font-size: 1.6rem; }

.checkout-cart-index .cs-container__cart-coupons {
  padding: 4rem 0; }
  .checkout-cart-index .cs-container__cart-coupons .cs-discount {
    border-top: solid 1px #888; }
  .checkout-cart-index .cs-container__cart-coupons .cs-discount__title-text {
    color: #212121;
    font-size: 1.5rem; }

/**
 * Breakpoint component used by include-media vendor library.
 */
@use 'sass:map';
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
/**
* Default project breakpoints - [em]
*/
/**
 * Breakpoint component used by include-media vendor library.
 */
@use 'sass:map';
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
/**
* Default project breakpoints - [em]
*/
.redingo-categories {
  padding-top: 2rem;
  display: flex;
  flex-wrap: wrap; }
  .redingo-categories .category {
    padding: 0 1rem 1rem 1rem; }
    .redingo-categories .category .wrapper {
      background-color: white;
      border-radius: 7px;
      padding: 1rem;
      font-size: 1.5rem;
      min-height: 103px;
      display: flex;
      flex-direction: column;
      justify-content: center; }
      @media (min-width: 48em) {
        .redingo-categories .category .wrapper {
          min-height: 280px; } }
      @media (min-width: 64em) {
        .redingo-categories .category .wrapper {
          padding: 2rem; } }
      @media (max-width: 64em) {
        .redingo-categories .category .wrapper .sub-category-wrapper {
          display: none; } }
    .redingo-categories .category .category-content {
      display: flex;
      flex-direction: column; }
      .redingo-categories .category .category-content img {
        margin: 0 auto; }
        @media (max-width: 48em) {
          .redingo-categories .category .category-content img {
            display: none; } }
      .redingo-categories .category .category-content .category-name {
        font-size: 1.7rem;
        font-weight: 700;
        margin: 0.5rem 1rem;
        color: #455a64; }
        @media (min-width: 64em) {
          .redingo-categories .category .category-content .category-name {
            margin: 0.5rem 2rem; } }
    .redingo-categories .category .sub-category-wrapper ul {
      margin: 0px;
      list-style: none;
      padding: 0px;
      padding: 0.5rem 2rem; }
      .redingo-categories .category .sub-category-wrapper ul li {
        margin: 0px;
        padding: 0.2rem 0; }
        .redingo-categories .category .sub-category-wrapper ul li a {
          color: #455a64; }
    .redingo-categories .category .all-categories {
      display: flex;
      padding: 0.5rem 2rem;
      position: relative;
      font-weight: bold;
      color: #455a64; }
      @media (max-width: 64em) {
        .redingo-categories .category .all-categories {
          display: none; } }
      .redingo-categories .category .all-categories::after {
        content: '\276F';
        padding-left: 7px; }

/**
 * Breakpoint component used by include-media vendor library.
 */
@use 'sass:map';
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
/**
* Default project breakpoints - [em]
*/
/**
 * Breakpoint component used by include-media vendor library.
 */
@use 'sass:map';
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
/**
* Default project breakpoints - [em]
*/
.section-wrapper-about-us {
  background: #fff;
  padding-bottom: 4rem;
  margin-bottom: 4rem;
  border-radius: 7px; }
  .section-wrapper-about-us ul {
    list-style: none;
    padding-left: 0; }
    .section-wrapper-about-us ul li {
      position: relative;
      padding-left: 2rem; }
      .section-wrapper-about-us ul li::before {
        content: '';
        width: 8px;
        height: 8px;
        border-radius: 50%;
        background-color: orange;
        display: inline-block;
        position: absolute;
        top: 9px;
        left: 0; }
  .section-wrapper-about-us img {
    border-radius: 7px; }
  .section-wrapper-about-us .page-title {
    font-size: 4rem;
    color: #fff;
    font-weight: normal;
    margin-bottom: 0;
    padding-bottom: 0; }
  .section-wrapper-about-us .page-subtitle {
    font-size: 3rem; }
  .section-wrapper-about-us .btn {
    background-color: #7e57c2;
    border-radius: 50px;
    padding: 1rem 2.5rem;
    color: #fff;
    font-size: 1.8rem;
    font-weight: bold;
    white-space: nowrap;
    letter-spacing: 1px; }
    .section-wrapper-about-us .btn:hover {
      color: #fff;
      background-color: #4d2c91; }
  .section-wrapper-about-us .content {
    padding: 1.5rem; }
    @media (min-width: 64em) {
      .section-wrapper-about-us .content {
        padding: 2rem 6rem; } }
  .section-wrapper-about-us .section-wrapper {
    display: flex;
    flex-wrap: wrap;
    justify-content: center; }
    .section-wrapper-about-us .section-wrapper .item-col {
      padding: 1.5rem 0;
      display: flex;
      align-items: center;
      justify-content: center; }
      @media (min-width: 48em) {
        .section-wrapper-about-us .section-wrapper .item-col {
          padding: 1.5rem; } }
      @media (min-width: 64em) {
        .section-wrapper-about-us .section-wrapper .item-col {
          justify-content: flex-end; } }
  .section-wrapper-about-us .section-row-offer .item-col {
    justify-content: start; }
  .section-wrapper-about-us .box-with-bg-img {
    min-height: 300px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 2rem;
    margin: 2rem auto;
    color: #fff;
    background: linear-gradient(rgba(126, 87, 194, 0.4), rgba(126, 87, 194, 0.4)), url("../../../../media/wysiwyg/o_nas/o-nas.jpg");
    background-size: cover;
    background-position: center;
    border-radius: 7px; }
    @media (min-width: 48em) {
      .section-wrapper-about-us .box-with-bg-img {
        min-height: 800px; } }
    .section-wrapper-about-us .box-with-bg-img .title {
      font-size: 3rem;
      color: #fff;
      text-align: center;
      margin-bottom: 0; }
      @media (min-width: 48em) {
        .section-wrapper-about-us .box-with-bg-img .title {
          font-size: 7rem; } }
    .section-wrapper-about-us .box-with-bg-img .subtitle {
      font-size: 2rem;
      color: #fff;
      text-align: center;
      font-weight: normal; }
      @media (min-width: 48em) {
        .section-wrapper-about-us .box-with-bg-img .subtitle {
          font-size: 4rem; } }
  .section-wrapper-about-us .box-ecological-packaging {
    background: linear-gradient(rgba(126, 87, 194, 0.4), rgba(126, 87, 194, 0.4)), url("../../../../media/wysiwyg/o_nas/o-nas2.jpg");
    background-size: cover;
    background-position: center; }

/**
 * Breakpoint component used by include-media vendor library.
 */
@use 'sass:map';
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
/**
* Default project breakpoints - [em]
*/
/**
 * Breakpoint component used by include-media vendor library.
 */
@use 'sass:map';
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
/**
* Default project breakpoints - [em]
*/
.b2c-b2b_box {
  display: flex;
  align-items: center;
  justify-content: center;
  border: solid 1px #ddd;
  background: #fff;
  padding: 0.5rem;
  border-radius: 200px;
  line-height: 1;
  min-height: 30px; }
  .b2c-b2b_box .b2c-b2b_item {
    padding: 0.2rem 2rem;
    display: flex;
    border-radius: 200px;
    font-weight: bold; }
  .b2c-b2b_box .b2c_box {
    background: #17c8c0;
    color: #fff; }
  .b2c-b2b_box .b2b_box a {
    color: #455a64; }
    .b2c-b2b_box .b2b_box a:hover {
      color: #17c8c0; }

/**
 * Breakpoint component used by include-media vendor library.
 */
@use 'sass:map';
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
/**
* Default project breakpoints - [em]
*/
/**
 * Breakpoint component used by include-media vendor library.
 */
@use 'sass:map';
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
/**
* Default project breakpoints - [em]
*/
.partners-slider-slick .slick-track {
  display: flex; }

.partners-box {
  padding-bottom: 0;
  overflow: hidden; }
  .partners-box h2 {
    padding-top: 2rem; }
  .partners-box img {
    border-radius: 7px;
    padding-right: 0.5rem;
    width: 97%; }
  .partners-box .slick-slider .slick-dots {
    list-style: none;
    display: flex;
    justify-content: center;
    padding: 1rem 0 0 0;
    margin: 0; }
    .partners-box .slick-slider .slick-dots li {
      width: 20px;
      margin-right: 5px; }
      @media (min-width: 30em) {
        .partners-box .slick-slider .slick-dots li {
          width: 40px; } }
      .partners-box .slick-slider .slick-dots li button {
        width: 20px;
        height: 5px;
        border: none;
        border-radius: 200px;
        background: #7e57c2;
        color: transparent;
        cursor: pointer; }
        @media (min-width: 30em) {
          .partners-box .slick-slider .slick-dots li button {
            width: 40px; } }
        .partners-box .slick-slider .slick-dots li button::before {
          content: '';
          background: #7e57c2;
          width: 20px;
          height: 4px;
          border-radius: 200px;
          opacity: 1; }
          @media (min-width: 30em) {
            .partners-box .slick-slider .slick-dots li button::before {
              width: 40px; } }
    .partners-box .slick-slider .slick-dots .slick-active button {
      background: #17c8c0;
      opacity: 1; }
      .partners-box .slick-slider .slick-dots .slick-active button::before {
        content: '';
        background: #17c8c0;
        opacity: 1; }

/**
 * Breakpoint component used by include-media vendor library.
 */
@use 'sass:map';
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
/**
* Default project breakpoints - [em]
*/
/**
 * Breakpoint component used by include-media vendor library.
 */
@use 'sass:map';
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
/**
* Default project breakpoints - [em]
*/
.cms-strefa-dla-firm .column:not(.sidebar-main) .form.contact,
.cms-konwersja-b2b .column:not(.sidebar-main) .form.contact {
  float: none;
  width: 100%; }

.cms-strefa-dla-firm .column:not(.sidebar-additional) .form.contact,
.cms-konwersja-b2b .column:not(.sidebar-additional) .form.contact {
  float: none;
  width: 100%;
  clear: both;
  padding: 4rem 2rem;
  border-radius: 7px;
  background: #fff; }
  @media (min-width: 48em) {
    .cms-strefa-dla-firm .column:not(.sidebar-additional) .form.contact,
    .cms-konwersja-b2b .column:not(.sidebar-additional) .form.contact {
      min-width: 60rem; } }

.cms-strefa-dla-firm .cs-dashboard .fieldset,
.cms-konwersja-b2b .cs-dashboard .fieldset {
  max-width: 100% !important; }

.cms-strefa-dla-firm .cs-dashboard .legend,
.cms-konwersja-b2b .cs-dashboard .legend {
  padding: 0;
  margin: 0; }
  .cms-strefa-dla-firm .cs-dashboard .legend h2,
  .cms-konwersja-b2b .cs-dashboard .legend h2 {
    padding: 0;
    margin: 0; }

.cms-strefa-dla-firm #maincontent,
.cms-konwersja-b2b #maincontent {
  background: #edeff1; }

.cms-strefa-dla-firm .section-wrapper,
.cms-konwersja-b2b .section-wrapper {
  padding: 3rem 0;
  margin-left: -1rem;
  margin-right: -1rem; }
  .cms-strefa-dla-firm .section-wrapper .contact-box,
  .cms-konwersja-b2b .section-wrapper .contact-box {
    background: #fff;
    padding: 2rem;
    border-radius: 7px;
    margin: 1rem;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    min-width: 250px; }
    @media (min-width: 64em) {
      .cms-strefa-dla-firm .section-wrapper .contact-box,
      .cms-konwersja-b2b .section-wrapper .contact-box {
        min-height: 347px; } }
    .cms-strefa-dla-firm .section-wrapper .contact-box .contact-btn,
    .cms-konwersja-b2b .section-wrapper .contact-box .contact-btn {
      border: solid 2px;
      border-radius: 60px;
      padding: 0.5rem 1rem 0.5rem 3.5rem;
      display: inline-block;
      margin: 0.5rem 0.5rem 0.5rem 0;
      min-width: 200px;
      text-align: center;
      position: relative; }
      .cms-strefa-dla-firm .section-wrapper .contact-box .contact-btn::before,
      .cms-konwersja-b2b .section-wrapper .contact-box .contact-btn::before {
        content: url("../../frontend/Creativestyle/theme-papilart/pl_PL/images/icons/telephone-purple.svg");
        position: absolute;
        left: 1.5rem;
        top: 53%;
        transform: translateY(-50%);
        line-height: 1; }
    .cms-strefa-dla-firm .section-wrapper .contact-box .contact-btn-mail::before,
    .cms-konwersja-b2b .section-wrapper .contact-box .contact-btn-mail::before {
      content: url("../../frontend/Creativestyle/theme-papilart/pl_PL/images/icons/mail-purple.svg"); }
    .cms-strefa-dla-firm .section-wrapper .contact-box .contact-box-hours,
    .cms-konwersja-b2b .section-wrapper .contact-box .contact-box-hours {
      padding: 1rem;
      display: inline-block;
      padding-left: 2.3rem;
      position: relative; }
      .cms-strefa-dla-firm .section-wrapper .contact-box .contact-box-hours::before,
      .cms-konwersja-b2b .section-wrapper .contact-box .contact-box-hours::before {
        content: url("../../frontend/Creativestyle/theme-papilart/pl_PL/images/icons/clock-purple.svg");
        position: absolute;
        left: 0;
        top: 53%;
        line-height: 1;
        transform: translateY(-50%); }
  .cms-strefa-dla-firm .section-wrapper .contact-box-personal-collection,
  .cms-konwersja-b2b .section-wrapper .contact-box-personal-collection {
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 2.5rem;
    min-height: auto;
    padding: 3rem 2rem;
    margin-top: 3rem;
    border: solid 2px #fa7013; }
    .cms-strefa-dla-firm .section-wrapper .contact-box-personal-collection p,
    .cms-konwersja-b2b .section-wrapper .contact-box-personal-collection p {
      margin: 0;
      position: relative; }
      @media (min-width: 30em) {
        .cms-strefa-dla-firm .section-wrapper .contact-box-personal-collection p,
        .cms-konwersja-b2b .section-wrapper .contact-box-personal-collection p {
          padding-left: 7rem; }
          .cms-strefa-dla-firm .section-wrapper .contact-box-personal-collection p::before,
          .cms-konwersja-b2b .section-wrapper .contact-box-personal-collection p::before {
            content: url(../../frontend/Creativestyle/theme-papilart/pl_PL/images/icons/exclamation-triangle-orange.svg);
            position: absolute;
            top: 50%;
            transform: translateY(-50%);
            left: 0; } }

.cms-strefa-dla-firm .contact-row-tab9,
.cms-konwersja-b2b .contact-row-tab9 {
  margin-right: -1rem;
  margin-left: -1rem; }
  .cms-strefa-dla-firm .contact-row-tab9 .section-tab-title,
  .cms-konwersja-b2b .contact-row-tab9 .section-tab-title {
    padding: 0 1rem 1rem 1rem;
    margin-bottom: 0; }
  .cms-strefa-dla-firm .contact-row-tab9 .title-tabs-box,
  .cms-konwersja-b2b .contact-row-tab9 .title-tabs-box {
    display: flex;
    padding: 1rem;
    flex-wrap: wrap; }
    .cms-strefa-dla-firm .contact-row-tab9 .title-tabs-box .item.title,
    .cms-konwersja-b2b .contact-row-tab9 .title-tabs-box .item.title {
      padding: 1rem 0; }
      .cms-strefa-dla-firm .contact-row-tab9 .title-tabs-box .item.title .switch,
      .cms-konwersja-b2b .contact-row-tab9 .title-tabs-box .item.title .switch {
        color: #455a64;
        padding: 1rem 3rem; }
    .cms-strefa-dla-firm .contact-row-tab9 .title-tabs-box .item.title.active > .switch,
    .cms-strefa-dla-firm .contact-row-tab9 .title-tabs-box .product.data.items > .item.title.active > .switch:focus,
    .cms-strefa-dla-firm .contact-row-tab9 .title-tabs-box .product.data.items > .item.title.active > .switch:hover,
    .cms-konwersja-b2b .contact-row-tab9 .title-tabs-box .item.title.active > .switch,
    .cms-konwersja-b2b .contact-row-tab9 .title-tabs-box .product.data.items > .item.title.active > .switch:focus,
    .cms-konwersja-b2b .contact-row-tab9 .title-tabs-box .product.data.items > .item.title.active > .switch:hover {
      border-bottom: solid;
      padding-bottom: 0.8rem;
      color: #17c8c0; }

.cms-strefa-dla-firm .section-contact-tabs,
.cms-konwersja-b2b .section-contact-tabs {
  margin-bottom: 8rem; }
  .cms-strefa-dla-firm .section-contact-tabs .content-tab-box,
  .cms-konwersja-b2b .section-contact-tabs .content-tab-box {
    display: flex;
    flex-direction: column;
    background: #fff;
    padding: 2rem;
    margin: 1rem;
    border-radius: 7px; }
    .cms-strefa-dla-firm .section-contact-tabs .content-tab-box .tab-name,
    .cms-konwersja-b2b .section-contact-tabs .content-tab-box .tab-name {
      font-weight: bold;
      padding-bottom: 1rem;
      font-size: 2rem; }
    .cms-strefa-dla-firm .section-contact-tabs .content-tab-box .tab-link,
    .cms-konwersja-b2b .section-contact-tabs .content-tab-box .tab-link {
      padding-bottom: 1rem;
      padding-left: 4rem; }
    .cms-strefa-dla-firm .section-contact-tabs .content-tab-box .tab-phone,
    .cms-konwersja-b2b .section-contact-tabs .content-tab-box .tab-phone {
      position: relative; }
      .cms-strefa-dla-firm .section-contact-tabs .content-tab-box .tab-phone::before,
      .cms-konwersja-b2b .section-contact-tabs .content-tab-box .tab-phone::before {
        content: url("../../frontend/Creativestyle/theme-papilart/pl_PL/images/icons/telephone-gray.svg");
        position: absolute;
        left: 0;
        top: 50%;
        transform: translateY(-50%); }
    .cms-strefa-dla-firm .section-contact-tabs .content-tab-box .tab-mail,
    .cms-konwersja-b2b .section-contact-tabs .content-tab-box .tab-mail {
      position: relative; }
      .cms-strefa-dla-firm .section-contact-tabs .content-tab-box .tab-mail::before,
      .cms-konwersja-b2b .section-contact-tabs .content-tab-box .tab-mail::before {
        content: url("../../frontend/Creativestyle/theme-papilart/pl_PL/images/icons/mail-gray.svg");
        position: absolute;
        left: 0;
        top: 50%;
        transform: translateY(-50%); }

.cms-strefa-dla-firm .form.contact .field .control > textarea,
.cms-konwersja-b2b .form.contact .field .control > textarea {
  border-radius: 15px;
  min-height: 354px; }

@media (min-width: 64em) {
  .cms-strefa-dla-firm .form.contact .field.comment.required,
  .cms-konwersja-b2b .form.contact .field.comment.required {
    padding-right: 2rem;
    padding-left: 2rem; } }

@media (min-width: 80em) {
  .cms-strefa-dla-firm .form.contact .box-items-input,
  .cms-konwersja-b2b .form.contact .box-items-input {
    padding-right: 2rem; } }

.cms-strefa-dla-firm .form.contact .field.terms,
.cms-konwersja-b2b .form.contact .field.terms {
  padding: 1rem 0 0 0; }
  .cms-strefa-dla-firm .form.contact .field.terms .label,
  .cms-konwersja-b2b .form.contact .field.terms .label {
    width: calc(100% - 30px);
    padding-bottom: 0; }

.cms-strefa-dla-firm .form.contact .actions-toolbar,
.cms-konwersja-b2b .form.contact .actions-toolbar {
  display: flex;
  justify-content: flex-end; }

.cms-strefa-dla-firm .form.contact .box-item-terms,
.cms-konwersja-b2b .form.contact .box-item-terms {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  padding-top: 2rem; }
  @media (min-width: 80em) {
    .cms-strefa-dla-firm .form.contact .box-item-terms,
    .cms-konwersja-b2b .form.contact .box-item-terms {
      min-height: 370px; } }

@media (max-width: 23.115em) {
  .cms-strefa-dla-firm .cs-image-teaser__slogan,
  .cms-konwersja-b2b .cs-image-teaser__slogan {
    font-size: 3rem; } }

.cms-strefa-dla-firm .cs-image-teaser__picture,
.cms-konwersja-b2b .cs-image-teaser__picture {
  min-height: 420px; }
  @media (max-width: 23.115em) {
    .cms-strefa-dla-firm .cs-image-teaser__picture,
    .cms-konwersja-b2b .cs-image-teaser__picture {
      aspect-ratio: 1/1 !important; } }
  @media (min-width: 48em) {
    .cms-strefa-dla-firm .cs-image-teaser__picture,
    .cms-konwersja-b2b .cs-image-teaser__picture {
      max-height: 400px; } }

.cms-strefa-dla-firm .cs-image-teaser__description,
.cms-konwersja-b2b .cs-image-teaser__description {
  font-size: 2rem;
  max-width: 900px; }

/**
 * Breakpoint component used by include-media vendor library.
 */
@use 'sass:map';
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
/**
* Default project breakpoints - [em]
*/
/**
 * Breakpoint component used by include-media vendor library.
 */
@use 'sass:map';
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
/**
* Default project breakpoints - [em]
*/
.cs-header-user-nav__item--account.cs-header-user-nav__item--logged-in .cs-header-user-nav__link {
  position: relative; }

.user-dropdown-menu {
  display: none;
  position: absolute;
  top: 100%;
  left: 0px;
  background: white;
  list-style: none;
  padding: 5px;
  width: 100%;
  text-align: center;
  box-shadow: 2px 2px 5px rgba(0, 0, 0, 0.15);
  border-radius: 7px; }
  .user-dropdown-menu li {
    background: white; }
  .user-dropdown-menu a {
    font-size: 1.6rem;
    font-weight: 700;
    color: #455a64;
    margin: 0.5rem 2rem;
    font-weight: normal;
    text-align: left; }

@media (min-width: 64.01em) {
  .cs-header-user-nav__item--account.cs-header-user-nav__item--logged-in:hover .user-dropdown-menu {
    display: block; } }

@media (min-width: 64.01em) {
  .cs-header-user-nav__item--account.cs-header-user-nav__item--logged-in .cs-header-user-nav__link::after {
    content: '\276F';
    rotate: 90deg;
    font-size: 2rem; }
  .cs-header-user-nav__item--account.cs-header-user-nav__item--logged-in .cs-header-user-nav__link:hover::after {
    rotate: 270deg; }
  .cs-header-user-nav__label {
    min-width: 80px; } }

/**
 * Breakpoint component used by include-media vendor library.
 */
@use 'sass:map';
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
/**
* Default project breakpoints - [em]
*/
/**
 * Breakpoint component used by include-media vendor library.
 */
@use 'sass:map';
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
/**
* Default project breakpoints - [em]
*/
.custom-modal-open {
  cursor: pointer; }

.custom-modal {
  display: none;
  z-index: -1;
  opacity: 0;
  height: 0px;
  width: 0px; }
  .custom-modal .content {
    z-index: -1;
    position: relative; }
  .custom-modal .custom-modal-close {
    background-color: #7e57c2;
    padding: 1rem 2rem;
    margin: 1rem;
    border: none;
    border-radius: 200px;
    width: -moz-fit-content;
    width: fit-content;
    color: white;
    font-size: 1.7rem;
    font-weight: 700;
    text-transform: uppercase;
    margin: 1rem auto;
    cursor: pointer;
    position: absolute;
    top: 0;
    right: 2%; }

.custom-modal.open {
  z-index: 997;
  opacity: 1;
  position: fixed;
  left: 0;
  top: 0;
  width: 100vw;
  height: 100vh;
  display: flex;
  justify-content: center;
  align-items: center; }
  .custom-modal.open .content {
    border-radius: 7px;
    background-color: #fff;
    color: #455a64;
    padding: 2rem;
    z-index: 999;
    max-width: 95vw;
    max-height: 95vh;
    min-width: 300px;
    min-height: 300px;
    overflow: auto;
    margin: 0 auto;
    width: 800px;
    height: -moz-fit-content;
    height: fit-content; }
  .custom-modal.open .overlay {
    z-index: 998;
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    bottom: 0;
    background-color: #000000b3; }

.newsletter-popup-content {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  padding: 2rem;
  font-size: 2.8rem; }
  .newsletter-popup-content h3 {
    font-size: 4rem; }
  .newsletter-popup-content h3, .newsletter-popup-content p {
    text-align: center; }
  .newsletter-popup-content p {
    padding-bottom: 2rem; }
  .newsletter-popup-content .popup-box-input {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column; }
    @media (min-width: 48em) {
      .newsletter-popup-content .popup-box-input {
        flex-direction: row; } }
    .newsletter-popup-content .popup-box-input .field {
      margin-bottom: 0 !important; }
  .newsletter-popup-content .popup-comment {
    font-size: 1.6rem; }
  .newsletter-popup-content .newsletter__btn {
    background: #fa7013;
    color: #fff;
    border-radius: 200px;
    cursor: pointer;
    border: solid 2px #fa7013;
    font-size: 2rem;
    width: 100%;
    line-height: 1.275em;
    padding: 1.2rem 3rem; }
    @media (min-width: 48em) {
      .newsletter-popup-content .newsletter__btn {
        width: 40%;
        margin-left: 2rem; } }
  .newsletter-popup-content .amform-form {
    width: 100%;
    max-width: 500px;
    padding: 0; }
  .newsletter-popup-content .amform-form .action.primary, .newsletter-popup-content .amform-parent .action.primary {
    margin-top: 0;
    cursor: pointer; }
  .newsletter-popup-content .cs-newsletter__actions {
    height: 5.4rem;
    width: 70px; }
    .newsletter-popup-content .cs-newsletter__actions .cs-newsletter__button {
      width: 100%; }
      .newsletter-popup-content .cs-newsletter__actions .cs-newsletter__button::before {
        content: ">"; }

/**
 * Breakpoint component used by include-media vendor library.
 */
@use 'sass:map';
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
/**
* Default project breakpoints - [em]
*/
/**
 * Breakpoint component used by include-media vendor library.
 */
@use 'sass:map';
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
/**
* Default project breakpoints - [em]
*/
.rendered-form button,
.rendered-form input,
.rendered-form select,
.rendered-form textarea {
  font-size: 1em;
  line-height: 1.275em;
  padding: 0.75em 1em;
  color: #455a64;
  background: #fff;
  border-radius: 200px;
  border: 2px solid #dcdcdc;
  box-shadow: none;
  transition: border-color 0.5s;
  margin: 0 0 0.2em;
  width: 100%;
  background-clip: padding-box;
  font-family: inherit; }

.rendered-form input.amform-checkbox {
  width: auto; }

.amcform-page-wrap {
  justify-content: flex-end; }

.amform-form {
  margin: 0 auto 10px;
  max-width: 700px;
  background: white;
  border-radius: 7px;
  padding: 3rem 1.5rem; }

.amform-versiontwo-label {
  font-size: 0.85em; }

.rendered-form .checkbox-group {
  border: 2px solid #dcdcdc;
  border-radius: 40px;
  padding: 2rem 4rem; }

.rendered-form .form-control:not([name="document"]), .rendered-form output {
  font-size: 1em;
  line-height: 1.275em;
  padding: 0.75em 1em;
  color: #455a64;
  background: #fff;
  border-radius: 200px;
  border: 2px solid #dcdcdc;
  box-shadow: none;
  transition: border-color 0.5s;
  margin: 0 0 0.2em;
  width: 100%;
  background-clip: padding-box;
  font-family: inherit; }

.rendered-form .fieldset .fields .field.form-group {
  margin-bottom: 3rem; }

.rendered-form .fieldset .fields .field .input-text:hover:not([disabled]), .rendered-form .fieldset .fields .field .input-text:focus:not([disabled]) {
  border: 2px solid #7e57c2 !important;
  box-shadow: none !important; }

.amform-form .action.primary, .amform-parent .action.primary {
  background: #7e57c2;
  border-radius: 50px;
  padding: 1rem 2.5rem;
  margin-top: 4rem;
  color: #fff;
  font-size: 1.8rem;
  font-weight: bold;
  white-space: nowrap;
  letter-spacing: 1px;
  border: none;
  width: 100%; }
  .amform-form .action.primary:hover, .amform-parent .action.primary:hover {
    color: #fff;
    background-color: #4d2c91; }
  @media (min-width: 48em) {
    .amform-form .action.primary, .amform-parent .action.primary {
      width: auto;
      position: relative; } }

.amform-form .amcform-toolbar {
  display: flex;
  justify-content: flex-end; }

/**
 * Breakpoint component used by include-media vendor library.
 */
@use 'sass:map';
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
/**
* Default project breakpoints - [em]
*/
/**
 * Breakpoint component used by include-media vendor library.
 */
@use 'sass:map';
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
/**
* Default project breakpoints - [em]
*/
.redingo-unit-price-wrapper {
  display: flex;
  justify-content: flex-end;
  align-items: center;
  padding: 0 0 0.5rem 0;
  font-size: 1.4rem; }

/**
 * Breakpoint component used by include-media vendor library.
 */
@use 'sass:map';
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
/**
* Default project breakpoints - [em]
*/
/**
 * Breakpoint component used by include-media vendor library.
 */
@use 'sass:map';
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
/**
* Default project breakpoints - [em]
*/
.wishlist .cs-header-user-nav__qty-counter--wishlist {
  color: #fff;
  background-color: #17c8c0;
  top: -5px;
  right: -8px;
  padding: 0.8rem;
  width: 15px;
  height: 15px;
  position: absolute; }
  .wishlist .cs-header-user-nav__qty-counter--wishlist::before {
    content: none; }
  .wishlist .cs-header-user-nav__qty-counter--wishlist .cs-header-user-nav__qty-counter-span {
    min-width: 15px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1rem; }

.cs-buybox__section--extras {
  padding-top: 1.5rem !important;
  padding-bottom: 1.5rem !important;
  width: 100%; }
  @media (min-width: 48em) {
    .cs-buybox__section--extras {
      padding-top: 0 !important; } }
  .cs-buybox__section--extras .cs-buybox__addto-list {
    justify-content: flex-start; }
  .cs-buybox__section--extras .cs-buybox__addto-item--wishlist .cs-buybox__addto-icon--wishlist {
    width: 2rem;
    height: 2rem; }

/**
 * Breakpoint component used by include-media vendor library.
 */
@use 'sass:map';
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
/**
* Default project breakpoints - [em]
*/
/**
 * Breakpoint component used by include-media vendor library.
 */
@use 'sass:map';
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
/**
* Default project breakpoints - [em]
*/
@media (max-width: 47.99em) {
  .pagebuilder-mobile-only {
    display: inline-block; } }

.pagebuilder-mobile-hidden {
  display: none; }


/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3NzL2Ntcy5jc3MiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9bbmFtZV0vLi9zcmMvY29uZmlnL2JyZWFrcG9pbnRzLnNjc3MiLCJ3ZWJwYWNrOi8vW25hbWVdL2Jhc2Uuc2NzcyIsIndlYnBhY2s6Ly9bbmFtZV0vLi4vdGhlbWUtY3JlYXRpdmVzaG9wL3NyYy91dGlscy9kZWVwLWdldC9kZWVwLWdldC5zY3NzIiwid2VicGFjazovL1tuYW1lXS8uL3NyYy9jb25maWcvYmFzZS5zY3NzIiwid2VicGFjazovL1tuYW1lXS8uLi90aGVtZS1jcmVhdGl2ZXNob3Avc3JjL3V0aWxzL2ZvbnQtZmFtaWx5LnNjc3MiLCJ3ZWJwYWNrOi8vW25hbWVdL19sYXlvdXQuc2NzcyIsIndlYnBhY2s6Ly9bbmFtZV0vLi4vdGhlbWUtY3JlYXRpdmVzaG9wL3NyYy9jb21wb25lbnRzL2NvbnRhaW5lci9taXhpbi5zY3NzIiwid2VicGFjazovL1tuYW1lXS8uLi90aGVtZS1jcmVhdGl2ZXNob3Avc3JjL2NvbXBvbmVudHMvY29udGFpbmVyL2NvbnRhaW5lci5zY3NzIiwid2VicGFjazovL1tuYW1lXS8uL25vZGVfbW9kdWxlcy9pbmNsdWRlLW1lZGlhL2Rpc3QvX2luY2x1ZGUtbWVkaWEuc2NzcyIsIndlYnBhY2s6Ly9bbmFtZV0vLi4vdGhlbWUtY3JlYXRpdmVzaG9wL3NyYy9jb21wb25lbnRzL3R5cG9ncmFwaHkvaG9vay5zY3NzIiwid2VicGFjazovL1tuYW1lXS8uL3NyYy9NYWdlbnRvX1RoZW1lL3dlYi9jc3Mvc291cmNlL19sYXlvdXQuc2NzcyIsIndlYnBhY2s6Ly9bbmFtZV0vLi9zcmMvY29tcG9uZW50cy90eXBvZ3JhcGh5L21peGluLnNjc3MiLCJ3ZWJwYWNrOi8vW25hbWVdL25hdmlnYXRpb24uc2NzcyIsIndlYnBhY2s6Ly9bbmFtZV0vLi4vdGhlbWUtY3JlYXRpdmVzaG9wL3NyYy9jb21wb25lbnRzL19zbGlkZXIvbmF2aWdhdGlvbi9uYXZpZ2F0aW9uLnNjc3MiLCJ3ZWJwYWNrOi8vW25hbWVdLy4uL3RoZW1lLWNyZWF0aXZlc2hvcC9zcmMvY29tcG9uZW50cy9fc2xpZGVyL25hdmlnYXRpb24vbWl4aW4uc2NzcyIsIndlYnBhY2s6Ly9bbmFtZV0vcGFnaW5hdGlvbi5zY3NzIiwid2VicGFjazovL1tuYW1lXS8uLi90aGVtZS1jcmVhdGl2ZXNob3Avc3JjL2NvbXBvbmVudHMvX3NsaWRlci9wYWdpbmF0aW9uL3BhZ2luYXRpb24uc2NzcyIsIndlYnBhY2s6Ly9bbmFtZV0vLi9zcmMvY29tcG9uZW50cy9fc2xpZGVyL3BhZ2luYXRpb24vbWl4aW4uc2NzcyIsIndlYnBhY2s6Ly9bbmFtZV0vYWRkdG9jYXJ0LnNjc3MiLCJ3ZWJwYWNrOi8vW25hbWVdLy4uL3RoZW1lLWNyZWF0aXZlc2hvcC9zcmMvdXRpbHMvZ2V0LXZhbHVlLWZyb20tbGlzdC5zY3NzIiwid2VicGFjazovL1tuYW1lXS8uLi90aGVtZS1jcmVhdGl2ZXNob3Avc3JjL2NvbXBvbmVudHMvYnV0dG9uL2hvb2suc2NzcyIsIndlYnBhY2s6Ly9bbmFtZV0vLi9zcmMvY29tcG9uZW50cy9hZGR0b2NhcnQvYWRkdG9jYXJ0LnNjc3MiLCJ3ZWJwYWNrOi8vW25hbWVdLy4vc3JjL2NvbXBvbmVudHMvYnV0dG9uL21peGluLnNjc3MiLCJ3ZWJwYWNrOi8vW25hbWVdLy4uL3RoZW1lLWNyZWF0aXZlc2hvcC9zcmMvY29tcG9uZW50cy9idXR0b24vYW5pbWF0aW9uLnNjc3MiLCJ3ZWJwYWNrOi8vW25hbWVdL2F1dGhvcml6YXRpb24tbGluay5zY3NzIiwid2VicGFjazovL1tuYW1lXS8uLi90aGVtZS1jcmVhdGl2ZXNob3Avc3JjL2NvbXBvbmVudHMvYXV0aG9yaXphdGlvbi1saW5rL2F1dGhvcml6YXRpb24tbGluay5zY3NzIiwid2VicGFjazovL1tuYW1lXS9hdXRvY29tcGxldGUuc2NzcyIsIndlYnBhY2s6Ly9bbmFtZV0vLi4vdGhlbWUtY3JlYXRpdmVzaG9wL3NyYy9jb21wb25lbnRzL2JhZGdlL2hvb2suc2NzcyIsIndlYnBhY2s6Ly9bbmFtZV0vLi4vdGhlbWUtY3JlYXRpdmVzaG9wL3NyYy9jb21wb25lbnRzL3ByaWNlLWJveC92YXJpYWJsZXMuc2NzcyIsIndlYnBhY2s6Ly9bbmFtZV0vLi4vdGhlbWUtY3JlYXRpdmVzaG9wL3NyYy9jb21wb25lbnRzL2F1dG9jb21wbGV0ZS9hdXRvY29tcGxldGUuc2NzcyIsIndlYnBhY2s6Ly9bbmFtZV0vLi9zcmMvY29tcG9uZW50cy9iYWRnZS9taXhpbi5zY3NzIiwid2VicGFjazovL1tuYW1lXS9icmVhZGNydW1icy5zY3NzIiwid2VicGFjazovL1tuYW1lXS8uLi90aGVtZS1jcmVhdGl2ZXNob3Avc3JjL3V0aWxzL3Jlc2V0LWxpc3Qtc3R5bGUuc2NzcyIsIndlYnBhY2s6Ly9bbmFtZV0vLi9zcmMvY29tcG9uZW50cy9icmVhZGNydW1icy9icmVhZGNydW1icy5zY3NzIiwid2VicGFjazovL1tuYW1lXS9idXR0b24uc2NzcyIsIndlYnBhY2s6Ly9bbmFtZV0vLi4vdGhlbWUtY3JlYXRpdmVzaG9wL3NyYy9jb21wb25lbnRzL2J1dHRvbi9idXR0b24uc2NzcyIsIndlYnBhY2s6Ly9bbmFtZV0vLi4vdGhlbWUtY3JlYXRpdmVzaG9wL3NyYy91dGlscy9jb21wb25lbnQtc3BhY2luZy5zY3NzIiwid2VicGFjazovL1tuYW1lXS9jb250YWluZXIuc2NzcyIsIndlYnBhY2s6Ly9bbmFtZV0vY29va2llLW1lc3NhZ2Uuc2NzcyIsIndlYnBhY2s6Ly9bbmFtZV0vLi4vdGhlbWUtY3JlYXRpdmVzaG9wL3NyYy9jb21wb25lbnRzL2Nvb2tpZS1tZXNzYWdlL2Nvb2tpZS1tZXNzYWdlLnNjc3MiLCJ3ZWJwYWNrOi8vW25hbWVdL2RhaWx5ZGVhbC5zY3NzIiwid2VicGFjazovL1tuYW1lXS8uLi90aGVtZS1jcmVhdGl2ZXNob3Avc3JjL2NvbXBvbmVudHMvZGFpbHlkZWFsL2RhaWx5ZGVhbC5zY3NzIiwid2VicGFjazovL1tuYW1lXS9kaXNwbGF5LWNvbnRyb2xsZXIuc2NzcyIsIndlYnBhY2s6Ly9bbmFtZV0vLi4vdGhlbWUtY3JlYXRpdmVzaG9wL3NyYy9jb21wb25lbnRzL2Rpc3BsYXktY29udHJvbGxlci9kaXNwbGF5LWNvbnRyb2xsZXIuc2NzcyIsIndlYnBhY2s6Ly9bbmFtZV0vZHJvcGRvd24tc3dpdGNoZXIuc2NzcyIsIndlYnBhY2s6Ly9bbmFtZV0vLi4vdGhlbWUtY3JlYXRpdmVzaG9wL3NyYy9jb21wb25lbnRzL3BzZXVkb2ljb24vaG9vay5zY3NzIiwid2VicGFjazovL1tuYW1lXS8uLi90aGVtZS1jcmVhdGl2ZXNob3Avc3JjL2NvbXBvbmVudHMvZHJvcGRvd24tc3dpdGNoZXIvZHJvcGRvd24tc3dpdGNoZXIuc2NzcyIsIndlYnBhY2s6Ly9bbmFtZV0vLi4vdGhlbWUtY3JlYXRpdmVzaG9wL3NyYy9jb21wb25lbnRzL3BzZXVkb2ljb24vbWl4aW4uc2NzcyIsIndlYnBhY2s6Ly9bbmFtZV0vZmllbGQuc2NzcyIsIndlYnBhY2s6Ly9bbmFtZV0vLi4vdGhlbWUtY3JlYXRpdmVzaG9wL3NyYy9jb21wb25lbnRzL2ZpZWxkL2hvb2suc2NzcyIsIndlYnBhY2s6Ly9bbmFtZV0vLi9zcmMvY29tcG9uZW50cy9maWVsZC9taXhpbi5zY3NzIiwid2VicGFjazovL1tuYW1lXS8uL3NyYy9jb21wb25lbnRzL2ZpZWxkL2ZpZWxkLnNjc3MiLCJ3ZWJwYWNrOi8vW25hbWVdLy4vc3JjL2NvbXBvbmVudHMvZm9vdGVyL2Zvb3Rlci5zY3NzIiwid2VicGFjazovL1tuYW1lXS9mb290ZXIuc2NzcyIsIndlYnBhY2s6Ly9bbmFtZV0vLi4vdGhlbWUtY3JlYXRpdmVzaG9wL3NyYy91dGlscy92aXN1YWxseS1oaWRkZW4uc2NzcyIsIndlYnBhY2s6Ly9bbmFtZV0vZm9vdGVyLWxpbmtzLnNjc3MiLCJ3ZWJwYWNrOi8vW25hbWVdLy4vc3JjL2NvbXBvbmVudHMvZm9vdGVyL2Zvb3Rlci1saW5rcy5zY3NzIiwid2VicGFjazovL1tuYW1lXS9nb29nbGUtcmVjYXB0Y2hhLnNjc3MiLCJ3ZWJwYWNrOi8vW25hbWVdLy4uL3RoZW1lLWNyZWF0aXZlc2hvcC9zcmMvY29tcG9uZW50cy9nb29nbGUtcmVjYXB0Y2hhL2dvb2dsZS1yZWNhcHRjaGEuc2NzcyIsIndlYnBhY2s6Ly9bbmFtZV0vaGVhZGVyLnNjc3MiLCJ3ZWJwYWNrOi8vW25hbWVdLy4vc3JjL2NvbXBvbmVudHMvaGVhZGVyL2hlYWRlci5zY3NzIiwid2VicGFjazovL1tuYW1lXS9zZWFyY2guc2NzcyIsIndlYnBhY2s6Ly9bbmFtZV0vLi9zcmMvY29tcG9uZW50cy9oZWFkZXIvc2VhcmNoL3NlYXJjaC5zY3NzIiwid2VicGFjazovL1tuYW1lXS91c2VyLW5hdi5zY3NzIiwid2VicGFjazovL1tuYW1lXS8uLi90aGVtZS1jcmVhdGl2ZXNob3Avc3JjL2NvbXBvbmVudHMvcXR5LWNvdW50ZXIvaG9vay5zY3NzIiwid2VicGFjazovL1tuYW1lXS8uL3NyYy9jb21wb25lbnRzL2hlYWRlci91c2VyLW5hdi91c2VyLW5hdi5zY3NzIiwid2VicGFjazovL1tuYW1lXS8uL3NyYy9jb21wb25lbnRzL3F0eS1jb3VudGVyL21peGluLnNjc3MiLCJ3ZWJwYWNrOi8vW25hbWVdL2hlYWRsaW5lLnNjc3MiLCJ3ZWJwYWNrOi8vW25hbWVdLy4uL3RoZW1lLWNyZWF0aXZlc2hvcC9zcmMvY29tcG9uZW50cy9oZWFkbGluZS9ob29rLnNjc3MiLCJ3ZWJwYWNrOi8vW25hbWVdLy4uL3RoZW1lLWNyZWF0aXZlc2hvcC9zcmMvY29tcG9uZW50cy9oZWFkbGluZS9oZWFkbGluZS5zY3NzIiwid2VicGFjazovL1tuYW1lXS8uL3NyYy9jb21wb25lbnRzL2hlYWRsaW5lL21peGluLnNjc3MiLCJ3ZWJwYWNrOi8vW25hbWVdLy4uL3RoZW1lLWNyZWF0aXZlc2hvcC9zcmMvY29tcG9uZW50cy9sYXp5bG9hZC9sYXp5bG9hZC5zY3NzIiwid2VicGFjazovL1tuYW1lXS9saW5rcy1ibG9jay1hZGR0by5zY3NzIiwid2VicGFjazovL1tuYW1lXS8uLi90aGVtZS1jcmVhdGl2ZXNob3Avc3JjL2NvbXBvbmVudHMvbGlua3MtYmxvY2stYWRkdG8vbGlua3MtYmxvY2stYWRkdG8uc2NzcyIsIndlYnBhY2s6Ly9bbmFtZV0vbG9nby5zY3NzIiwid2VicGFjazovL1tuYW1lXS8uLi90aGVtZS1jcmVhdGl2ZXNob3Avc3JjL2NvbXBvbmVudHMvbG9nby9sb2dvLnNjc3MiLCJ3ZWJwYWNrOi8vW25hbWVdL21lc3NhZ2VzLnNjc3MiLCJ3ZWJwYWNrOi8vW25hbWVdLy4vc3JjL2NvbXBvbmVudHMvbWVzc2FnZXMvbWVzc2FnZXMuc2NzcyIsIndlYnBhY2s6Ly9bbmFtZV0vbWluaWNhcnQtcHJvZHVjdC5zY3NzIiwid2VicGFjazovL1tuYW1lXS8uLi90aGVtZS1jcmVhdGl2ZXNob3Avc3JjL2NvbXBvbmVudHMvbWluaWNhcnQtcHJvZHVjdC9taW5pY2FydC1wcm9kdWN0LnNjc3MiLCJ3ZWJwYWNrOi8vW25hbWVdL21pbmljYXJ0LnNjc3MiLCJ3ZWJwYWNrOi8vW25hbWVdLy4uL3RoZW1lLWNyZWF0aXZlc2hvcC9zcmMvdXRpbHMvaGlkZS1zY3JvbGxiYXIuc2NzcyIsIndlYnBhY2s6Ly9bbmFtZV0vLi4vdGhlbWUtY3JlYXRpdmVzaG9wL3NyYy9jb21wb25lbnRzL21pbmljYXJ0L21pbmljYXJ0LnNjc3MiLCJ3ZWJwYWNrOi8vW25hbWVdLy4uL3RoZW1lLWNyZWF0aXZlc2hvcC9zcmMvY29tcG9uZW50cy9fc2xpZGVyL21peGluLnNjc3MiLCJ3ZWJwYWNrOi8vW25hbWVdL21vZGFsLnNjc3MiLCJ3ZWJwYWNrOi8vW25hbWVdLy4uL3RoZW1lLWNyZWF0aXZlc2hvcC9zcmMvY29tcG9uZW50cy9tb2RhbC9tb2RhbC5zY3NzIiwid2VicGFjazovL1tuYW1lXS8uLi90aGVtZS1jcmVhdGl2ZXNob3Avc3JjL3V0aWxzL2FzcGVjdC1yYXRpby5zY3NzIiwid2VicGFjazovL1tuYW1lXS8uL3NyYy9jb21wb25lbnRzL25hdmlnYXRpb24vbmF2aWdhdGlvbi5zY3NzIiwid2VicGFjazovL1tuYW1lXS9uZXdzbGV0dGVyLnNjc3MiLCJ3ZWJwYWNrOi8vW25hbWVdLy4uL3RoZW1lLWNyZWF0aXZlc2hvcC9zcmMvY29tcG9uZW50cy9uZXdzbGV0dGVyL25ld3NsZXR0ZXIuc2NzcyIsIndlYnBhY2s6Ly9bbmFtZV0vb2ZmY2FudmFzLW5hdmlnYXRpb24uc2NzcyIsIndlYnBhY2s6Ly9bbmFtZV0vLi9zcmMvY29tcG9uZW50cy9vZmZjYW52YXMtbmF2aWdhdGlvbi9vZmZjYW52YXMtbmF2aWdhdGlvbi5zY3NzIiwid2VicGFjazovL1tuYW1lXS9vZmZjYW52YXMtdG9nZ2xlLnNjc3MiLCJ3ZWJwYWNrOi8vW25hbWVdLy4uL3RoZW1lLWNyZWF0aXZlc2hvcC9zcmMvY29tcG9uZW50cy9vZmZjYW52YXMtdG9nZ2xlL29mZmNhbnZhcy10b2dnbGUuc2NzcyIsIndlYnBhY2s6Ly9bbmFtZV0vb2ZmY2FudmFzLnNjc3MiLCJ3ZWJwYWNrOi8vW25hbWVdLy4uL3RoZW1lLWNyZWF0aXZlc2hvcC9zcmMvY29tcG9uZW50cy9vZmZjYW52YXMvb2ZmY2FudmFzLnNjc3MiLCJ3ZWJwYWNrOi8vW25hbWVdL3BhZ2UtYm90dG9tLnNjc3MiLCJ3ZWJwYWNrOi8vW25hbWVdLy4uL3RoZW1lLWNyZWF0aXZlc2hvcC9zcmMvY29tcG9uZW50cy9wYWdlLWJvdHRvbS9wYWdlLWJvdHRvbS5zY3NzIiwid2VicGFjazovL1tuYW1lXS9wYWdlLXRpdGxlLnNjc3MiLCJ3ZWJwYWNrOi8vW25hbWVdLy4uL3RoZW1lLWNyZWF0aXZlc2hvcC9zcmMvY29tcG9uZW50cy9wYWdlLXRpdGxlL3BhZ2UtdGl0bGUuc2NzcyIsIndlYnBhY2s6Ly9bbmFtZV0vcHJpY2UtYm94LnNjc3MiLCJ3ZWJwYWNrOi8vW25hbWVdLy4vc3JjL2NvbXBvbmVudHMvcHJpY2UtYm94L3ByaWNlLWJveC5zY3NzIiwid2VicGFjazovL1tuYW1lXS8uLi90aGVtZS1jcmVhdGl2ZXNob3Avc3JjL2NvbXBvbmVudHMvcHJpY2UtYm94L21peGluLnNjc3MiLCJ3ZWJwYWNrOi8vW25hbWVdL3Byb2R1Y3QtdGlsZS5zY3NzIiwid2VicGFjazovL1tuYW1lXS8uLi90aGVtZS1jcmVhdGl2ZXNob3Avc3JjL3V0aWxzL3N0cmluZy10by1udW1iZXIuc2NzcyIsIndlYnBhY2s6Ly9bbmFtZV0vLi9zcmMvY29tcG9uZW50cy9wcm9kdWN0LXRpbGUvcHJvZHVjdC10aWxlLnNjc3MiLCJ3ZWJwYWNrOi8vW25hbWVdL3Byb2R1Y3RzLWxpc3Quc2NzcyIsIndlYnBhY2s6Ly9bbmFtZV0vLi4vdGhlbWUtY3JlYXRpdmVzaG9wL3NyYy9jb21wb25lbnRzL3Byb2R1Y3RzLWxpc3QvcHJvZHVjdHMtbGlzdC5zY3NzIiwid2VicGFjazovL1tuYW1lXS9xdHktaW5jcmVtZW50LnNjc3MiLCJ3ZWJwYWNrOi8vW25hbWVdLy4vc3JjL2NvbXBvbmVudHMvcXR5LWluY3JlbWVudC9xdHktaW5jcmVtZW50LnNjc3MiLCJ3ZWJwYWNrOi8vW25hbWVdL3NvY2lhbC1tZWRpYS1saXN0LnNjc3MiLCJ3ZWJwYWNrOi8vW25hbWVdLy4uL3RoZW1lLWNyZWF0aXZlc2hvcC9zcmMvY29tcG9uZW50cy9zb2NpYWwtbWVkaWEtbGlzdC9zb2NpYWwtbWVkaWEtbGlzdC5zY3NzIiwid2VicGFjazovL1tuYW1lXS9zdGFyLXJhdGluZy5zY3NzIiwid2VicGFjazovL1tuYW1lXS8uLi90aGVtZS1jcmVhdGl2ZXNob3Avc3JjL2NvbXBvbmVudHMvc3Rhci1yYXRpbmcvc3Rhci1yYXRpbmcuc2NzcyIsIndlYnBhY2s6Ly9bbmFtZV0vc3dhdGNoZXMuc2NzcyIsIndlYnBhY2s6Ly9bbmFtZV0vLi4vdGhlbWUtY3JlYXRpdmVzaG9wL3NyYy9jb21wb25lbnRzL3N3YXRjaGVzL3N3YXRjaGVzLnNjc3MiLCJ3ZWJwYWNrOi8vW25hbWVdL3RvcGJhci5zY3NzIiwid2VicGFjazovL1tuYW1lXS8uL3NyYy9jb21wb25lbnRzL3RvcGJhci90b3BiYXIuc2NzcyIsIndlYnBhY2s6Ly9bbmFtZV0vdHlwb2dyYXBoeS5zY3NzIiwid2VicGFjazovL1tuYW1lXS8uL3NyYy9jb21wb25lbnRzL3R5cG9ncmFwaHkvdHlwb2dyYXBoeS5zY3NzIiwid2VicGFjazovL1tuYW1lXS92aWRlby10ZWFzZXIuc2NzcyIsIndlYnBhY2s6Ly9bbmFtZV0vLi4vdGhlbWUtY3JlYXRpdmVzaG9wL3NyYy9jb21wb25lbnRzL3ZpZGVvLXRlYXNlci92aWRlby10ZWFzZXIuc2NzcyIsIndlYnBhY2s6Ly9bbmFtZV0vdmlzdWFsbHktaGlkZGVuLnNjc3MiLCJ3ZWJwYWNrOi8vW25hbWVdLy4vc3JjL2NvbXBvbmVudHMvdmlzdWFsbHktaGlkZGVuL3Zpc3VhbGx5LWhpZGRlbi5zY3NzIiwid2VicGFjazovL1tuYW1lXS9ncm91cGVkLXRhYmxlLnNjc3MiLCJ3ZWJwYWNrOi8vW25hbWVdLy4vc3JjL2NvbXBvbmVudHMvdmlzdWFsbHktaGlkZGVuL2dyb3VwZWQtdGFibGUuc2NzcyIsIndlYnBhY2s6Ly9bbmFtZV0vc2ltcGxlLXRhYmxlLnNjc3MiLCJ3ZWJwYWNrOi8vW25hbWVdLy4vc3JjL2NvbXBvbmVudHMvdmlzdWFsbHktaGlkZGVuL3NpbXBsZS10YWJsZS5zY3NzIiwid2VicGFjazovL1tuYW1lXS9nby10b3Auc2NzcyIsIndlYnBhY2s6Ly9bbmFtZV0vLi9zcmMvY29tcG9uZW50cy92aXN1YWxseS1oaWRkZW4vZ28tdG9wLnNjc3MiLCJ3ZWJwYWNrOi8vW25hbWVdL2JhY2tncm91bmRzLnNjc3MiLCJ3ZWJwYWNrOi8vW25hbWVdLy4vc3JjL2NvbXBvbmVudHMvdmlzdWFsbHktaGlkZGVuL2JhY2tncm91bmRzLnNjc3MiLCJ3ZWJwYWNrOi8vW25hbWVdL3Byb2R1Y3QtbW9kLnNjc3MiLCJ3ZWJwYWNrOi8vW25hbWVdLy4vc3JjL2NvbXBvbmVudHMvdmlzdWFsbHktaGlkZGVuL3Byb2R1Y3QtbW9kLnNjc3MiLCJ3ZWJwYWNrOi8vW25hbWVdL2J1eWJveC1zaWduLWluLnNjc3MiLCJ3ZWJwYWNrOi8vW25hbWVdLy4vc3JjL2NvbXBvbmVudHMvdmlzdWFsbHktaGlkZGVuL2J1eWJveC1zaWduLWluLnNjc3MiLCJ3ZWJwYWNrOi8vW25hbWVdLy4vc3JjL2NvbXBvbmVudHMvdmlzdWFsbHktaGlkZGVuL25ld3NsZXR0ZXIuc2NzcyIsIndlYnBhY2s6Ly9bbmFtZV0vaG9tZS5zY3NzIiwid2VicGFjazovL1tuYW1lXS8uL3NyYy9jb21wb25lbnRzL3Zpc3VhbGx5LWhpZGRlbi9ob21lLnNjc3MiLCJ3ZWJwYWNrOi8vW25hbWVdL2Jsb2cuc2NzcyIsIndlYnBhY2s6Ly9bbmFtZV0vLi9zcmMvY29tcG9uZW50cy92aXN1YWxseS1oaWRkZW4vYmxvZy5zY3NzIiwid2VicGFjazovL1tuYW1lXS9jaGVja291dC1jYXJ0LnNjc3MiLCJ3ZWJwYWNrOi8vW25hbWVdLy4vc3JjL2NvbXBvbmVudHMvdmlzdWFsbHktaGlkZGVuL2NoZWNrb3V0LWNhcnQuc2NzcyIsIndlYnBhY2s6Ly9bbmFtZV0vc3ViY2F0ZWdvcmllcy5zY3NzIiwid2VicGFjazovL1tuYW1lXS8uL3NyYy9jb21wb25lbnRzL3Zpc3VhbGx5LWhpZGRlbi9zdWJjYXRlZ29yaWVzLnNjc3MiLCJ3ZWJwYWNrOi8vW25hbWVdL2Fib3V0LXVzLnNjc3MiLCJ3ZWJwYWNrOi8vW25hbWVdLy4vc3JjL2NvbXBvbmVudHMvdmlzdWFsbHktaGlkZGVuL2Fib3V0LXVzLnNjc3MiLCJ3ZWJwYWNrOi8vW25hbWVdL2IyYy1iMmIuc2NzcyIsIndlYnBhY2s6Ly9bbmFtZV0vLi9zcmMvY29tcG9uZW50cy92aXN1YWxseS1oaWRkZW4vYjJjLWIyYi5zY3NzIiwid2VicGFjazovL1tuYW1lXS9wYXJ0bmVycy5zY3NzIiwid2VicGFjazovL1tuYW1lXS8uL3NyYy9jb21wb25lbnRzL3Zpc3VhbGx5LWhpZGRlbi9wYXJ0bmVycy5zY3NzIiwid2VicGFjazovL1tuYW1lXS9iMmItcGFnZS5zY3NzIiwid2VicGFjazovL1tuYW1lXS8uL3NyYy9jb21wb25lbnRzL3Zpc3VhbGx5LWhpZGRlbi9iMmItcGFnZS5zY3NzIiwid2VicGFjazovL1tuYW1lXS9oZWFkZXItdXNlci1hY2NvdW50LWRyb3Bkb3duLnNjc3MiLCJ3ZWJwYWNrOi8vW25hbWVdLy4vc3JjL2NvbXBvbmVudHMvdmlzdWFsbHktaGlkZGVuL2hlYWRlci11c2VyLWFjY291bnQtZHJvcGRvd24uc2NzcyIsIndlYnBhY2s6Ly9bbmFtZV0vY3VzdG9tLW1vZGFsLnNjc3MiLCJ3ZWJwYWNrOi8vW25hbWVdLy4vc3JjL2NvbXBvbmVudHMvdmlzdWFsbHktaGlkZGVuL2N1c3RvbS1tb2RhbC5zY3NzIiwid2VicGFjazovL1tuYW1lXS9mb3JtLXJlbmRlci5zY3NzIiwid2VicGFjazovL1tuYW1lXS8uL3NyYy9jb21wb25lbnRzL3Zpc3VhbGx5LWhpZGRlbi9mb3JtLXJlbmRlci5zY3NzIiwid2VicGFjazovL1tuYW1lXS91bml0LXByaWNlLnNjc3MiLCJ3ZWJwYWNrOi8vW25hbWVdLy4vc3JjL2NvbXBvbmVudHMvdmlzdWFsbHktaGlkZGVuL3VuaXQtcHJpY2Uuc2NzcyIsIndlYnBhY2s6Ly9bbmFtZV0vd2lzaGxpc3Quc2NzcyIsIndlYnBhY2s6Ly9bbmFtZV0vLi9zcmMvY29tcG9uZW50cy92aXN1YWxseS1oaWRkZW4vd2lzaGxpc3Quc2NzcyIsIndlYnBhY2s6Ly9bbmFtZV0vcGFnZWJ1aWxkZXIuc2NzcyIsIndlYnBhY2s6Ly9bbmFtZV0vLi9zcmMvY29tcG9uZW50cy92aXN1YWxseS1oaWRkZW4vcGFnZWJ1aWxkZXIuc2NzcyJdLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEJyZWFrcG9pbnQgY29tcG9uZW50IHVzZWQgYnkgaW5jbHVkZS1tZWRpYSB2ZW5kb3IgbGlicmFyeS5cbiAqL1xuQHVzZSAnc2FzczptYXAnO1xuQGltcG9ydCAnZXRjL3ZpZXcuc2Nzcyc7XG5AaW1wb3J0ICd1dGlscy9kZWVwLWdldC9kZWVwLWdldC5zY3NzJztcblxuLy8gQnJlYWtwb2ludHMgaW1wb3J0IGZyb20gdmlldy54bWwgW3B4XVxuJGJyZWFrcG9pbnRzX3B4OiBkZWVwLWdldCgkdmlldy14bWwsIHZhcnMsIE1hZ2VudG9fVGhlbWUsIGJyZWFrcG9pbnRzKTtcbiRicmVha3BvaW50c19lbTogKCk7XG5cbkBmdW5jdGlvbiBjYWxjdWxhdGUtYnJlYWtwb2ludHMoJGJyZWFrcG9pbnRzX2VtLCAkYnJlYWtwb2ludHNfcHgpIHtcbiAgICAkcmVzdWx0OiAkYnJlYWtwb2ludHNfZW07XG4gICAgQGVhY2ggJGtleSwgJHZhbHVlIGluICRicmVha3BvaW50c19weCB7XG4gICAgICAgICRyZXN1bHQ6IG1hcC1tZXJnZShcbiAgICAgICAgICAgICRyZXN1bHQsXG4gICAgICAgICAgICAoXG4gICAgICAgICAgICAgICAgdW5xdW90ZSgka2V5KTogJHZhbHVlIC8gMTYgKiAxZW0sXG4gICAgICAgICAgICApXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgQHJldHVybiAkcmVzdWx0O1xufVxuXG4vKipcbiogRGVmYXVsdCBwcm9qZWN0IGJyZWFrcG9pbnRzIC0gW2VtXVxuKi9cblxuJGJyZWFrcG9pbnRzOiBjYWxjdWxhdGUtYnJlYWtwb2ludHMoJGJyZWFrcG9pbnRzX2VtLCAkYnJlYWtwb2ludHNfcHgpICFkZWZhdWx0O1xuXG4vLyBwaG9uZTogMjMuMTI1ZW0gLSAzNzBweFxuLy8gcGhvbmVMZzogMzBlbSAtIDQ4MHB4LFxuLy8gdGFibGV0OiA0OGVtIC0gNzY4cHgsXG4vLyBsYXB0b3A6IDY0ZW0gLSAxMDI0cHgsXG4vLyBsYXB0b3BMZzogODBlbSAtIDEyODBweCxcbi8vIGRlc2t0b3A6IDkwZW0gLSAxNDQwcHgsXG4vLyB0djogMTIwZW0gLSAxOTIwcHgsXG4iLCIvKipcbiAqIEJyZWFrcG9pbnQgY29tcG9uZW50IHVzZWQgYnkgaW5jbHVkZS1tZWRpYSB2ZW5kb3IgbGlicmFyeS5cbiAqL1xuQHVzZSAnc2FzczptYXAnO1xuLyoqXG4gKiBFeHRyYWN0cyBuZXN0ZWQga2V5cyBmcm9tIGdpdmVuIG1hcC5cbiAqIEV4YW1wbGU6IGRlZXAtZ2V0KCRzb21lLW1hcCwgc29tZSwgbmVzdGVkLCBrZXlzKTtcbiAqL1xuLyoqXG4qIERlZmF1bHQgcHJvamVjdCBicmVha3BvaW50cyAtIFtlbV1cbiovXG4vKipcbiAqIEJyZWFrcG9pbnQgY29tcG9uZW50IHVzZWQgYnkgaW5jbHVkZS1tZWRpYSB2ZW5kb3IgbGlicmFyeS5cbiAqL1xuQHVzZSAnc2FzczptYXAnO1xuLyoqXG4gKiBFeHRyYWN0cyBuZXN0ZWQga2V5cyBmcm9tIGdpdmVuIG1hcC5cbiAqIEV4YW1wbGU6IGRlZXAtZ2V0KCRzb21lLW1hcCwgc29tZSwgbmVzdGVkLCBrZXlzKTtcbiAqL1xuLyoqXG4qIERlZmF1bHQgcHJvamVjdCBicmVha3BvaW50cyAtIFtlbV1cbiovXG5odG1sIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgZm9udC1zaXplOiA2Mi41JTtcbiAgYmFja2dyb3VuZDogI2ZmZjtcbiAgb3ZlcmZsb3cteDogaGlkZGVuO1xuICBoZWlnaHQ6IC13ZWJraXQtZmlsbC1hdmFpbGFibGU7IH1cblxuKixcbio6YmVmb3JlLFxuKjphZnRlciB7XG4gIGJveC1zaXppbmc6IGluaGVyaXQ7IH1cblxuYm9keSB7XG4gIGZvbnQtZmFtaWx5OiBcIkRvc2lzXCIsIHN5c3RlbS11aSwgLWFwcGxlLXN5c3RlbSwgU2Vnb2UgVUksIFJvYm90bywgVWJ1bnR1LCBDYW50YXJlbGwsIE94eWdlbiwgc2Fucy1zZXJpZiwgXCJBcHBsZSBDb2xvciBFbW9qaVwiLCBcIlNlZ29lIFVJIEVtb2ppXCIsIFwiU2Vnb2UgVUkgU3ltYm9sXCIsIFwiTm90byBDb2xvciBFbW9qaVwiO1xuICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7XG4gIG1hcmdpbjogMDtcbiAgZm9udC1zaXplOiAxLjhyZW07XG4gIG1pbi1oZWlnaHQ6IDEwMHZoO1xuICBtaW4taGVpZ2h0OiAtd2Via2l0LWZpbGwtYXZhaWxhYmxlOyB9XG5cbmJ1dHRvbixcbmlucHV0LFxudGV4dGFyZWEsXG5zZWxlY3Qge1xuICBmb250LWZhbWlseTogaW5oZXJpdDsgfVxuXG4vKiBIaWRlIEhUTUw1IFVwIGFuZCBEb3duIGFycm93cy4gKi9cbmlucHV0W3R5cGU9J251bWJlciddIHtcbiAgYXBwZWFyYW5jZTogdGV4dGZpZWxkOyB9XG4gIGlucHV0W3R5cGU9J251bWJlciddOjotd2Via2l0LW91dGVyLXNwaW4tYnV0dG9uLCBpbnB1dFt0eXBlPSdudW1iZXInXTo6LXdlYmtpdC1pbm5lci1zcGluLWJ1dHRvbiB7XG4gICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICAgIG1hcmdpbjogMDsgfVxuXG4vKiBIaWRlIEhUTUw1ICdYJyBpbiBzZWFyY2ggaW5wdXQgKi9cbmlucHV0W3R5cGU9J3NlYXJjaCddIHtcbiAgLyogQ2xlYXJzIHRoZSAnWCcgZnJvbSBJbnRlcm5ldCBFeHBsb3JlciAqL1xuICAvKiBDbGVhcnMgdGhlICdYJyBmcm9tIENocm9tZSAqLyB9XG4gIGlucHV0W3R5cGU9J3NlYXJjaCddOjotbXMtY2xlYXIsIGlucHV0W3R5cGU9J3NlYXJjaCddOjotbXMtcmV2ZWFsIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICAgIHdpZHRoOiAwO1xuICAgIGhlaWdodDogMDsgfVxuICBpbnB1dFt0eXBlPSdzZWFyY2gnXTo6LXdlYmtpdC1zZWFyY2gtZGVjb3JhdGlvbiwgaW5wdXRbdHlwZT0nc2VhcmNoJ106Oi13ZWJraXQtc2VhcmNoLWNhbmNlbC1idXR0b24sIGlucHV0W3R5cGU9J3NlYXJjaCddOjotd2Via2l0LXNlYXJjaC1yZXN1bHRzLWJ1dHRvbiwgaW5wdXRbdHlwZT0nc2VhcmNoJ106Oi13ZWJraXQtc2VhcmNoLXJlc3VsdHMtZGVjb3JhdGlvbiB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuXG4ubG9hZGluZy1tYXNrW2RhdGEtcm9sZT0nbWFpbi1jc3MtbG9hZGVyJ10ge1xuICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cbiIsIi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbkBmdW5jdGlvbiBkZWVwLWdldCgkbWFwLCAka2V5cy4uLikge1xuICAgIEBlYWNoICRrZXkgaW4gJGtleXMge1xuICAgICAgICAkbWFwOiBtYXAtZ2V0KCRtYXAsICRrZXkpO1xuICAgIH1cbiAgICBAcmV0dXJuICRtYXA7XG59XG4iLCJAaW1wb3J0ICdjb25maWcvdmFyaWFibGVzJztcbkBpbXBvcnQgJ3V0aWxzL2ZvbnQtZmFtaWx5JztcblxuJGlucHV0X3JlbW92ZS1udW1iZXItYXBwZWFyYW5jZTogdHJ1ZSAhZGVmYXVsdDtcbiRpbnB1dF9yZW1vdmUtc2VhcmNoLWFwcGVhcmFuY2U6IHRydWUgIWRlZmF1bHQ7XG5cbmh0bWwge1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgZm9udC1zaXplOiA2Mi41JTtcbiAgICBiYWNrZ3JvdW5kOiAkcGFnZV9iYWNrZ3JvdW5kO1xuICAgIC8vIGJhY2tncm91bmQ6ICRjb2xvcl9wYXBpbGFydF9iZztcbiAgICBvdmVyZmxvdy14OiBoaWRkZW47IC8vIGhpZGVzIGhvcml6b250YWwgc2Nyb2xsYmFyIG9uIEVkZ2UgYW5kIElFXG4gICAgaGVpZ2h0OiAtd2Via2l0LWZpbGwtYXZhaWxhYmxlO1xufVxuXG4qLFxuKjpiZWZvcmUsXG4qOmFmdGVyIHtcbiAgICBib3gtc2l6aW5nOiBpbmhlcml0O1xufVxuXG5ib2R5IHtcbiAgICBAaW5jbHVkZSBmb250LWZhbWlseSgkZm9udF9mYW1pbHktcHJpbWFyeSk7XG4gICAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoO1xuICAgIG1hcmdpbjogMDtcbiAgICBmb250LXNpemU6IDEuOHJlbTtcbiAgICBtaW4taGVpZ2h0OiAxMDB2aDtcbiAgICBtaW4taGVpZ2h0OiAtd2Via2l0LWZpbGwtYXZhaWxhYmxlO1xufVxuXG5idXR0b24sXG5pbnB1dCxcbnRleHRhcmVhLFxuc2VsZWN0IHtcbiAgICBmb250LWZhbWlseTogaW5oZXJpdDtcbn1cblxuLyogSGlkZSBIVE1MNSBVcCBhbmQgRG93biBhcnJvd3MuICovXG5AaWYgJGlucHV0X3JlbW92ZS1udW1iZXItYXBwZWFyYW5jZSB7XG4gICAgaW5wdXRbdHlwZT0nbnVtYmVyJ10ge1xuICAgICAgICBhcHBlYXJhbmNlOiB0ZXh0ZmllbGQ7XG5cbiAgICAgICAgJjo6LXdlYmtpdC1vdXRlci1zcGluLWJ1dHRvbixcbiAgICAgICAgJjo6LXdlYmtpdC1pbm5lci1zcGluLWJ1dHRvbiB7XG4gICAgICAgICAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi8qIEhpZGUgSFRNTDUgJ1gnIGluIHNlYXJjaCBpbnB1dCAqL1xuQGlmICRpbnB1dF9yZW1vdmUtc2VhcmNoLWFwcGVhcmFuY2Uge1xuICAgIGlucHV0W3R5cGU9J3NlYXJjaCddIHtcblxuICAgICAgICAvKiBDbGVhcnMgdGhlICdYJyBmcm9tIEludGVybmV0IEV4cGxvcmVyICovXG4gICAgICAgICY6Oi1tcy1jbGVhcixcbiAgICAgICAgJjo6LW1zLXJldmVhbCB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgd2lkdGg6IDA7XG4gICAgICAgICAgICBoZWlnaHQ6IDA7XG4gICAgICAgIH1cblxuICAgICAgICAvKiBDbGVhcnMgdGhlICdYJyBmcm9tIENocm9tZSAqL1xuICAgICAgICAmOjotd2Via2l0LXNlYXJjaC1kZWNvcmF0aW9uLFxuICAgICAgICAmOjotd2Via2l0LXNlYXJjaC1jYW5jZWwtYnV0dG9uLFxuICAgICAgICAmOjotd2Via2l0LXNlYXJjaC1yZXN1bHRzLWJ1dHRvbixcbiAgICAgICAgJjo6LXdlYmtpdC1zZWFyY2gtcmVzdWx0cy1kZWNvcmF0aW9uIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5sb2FkaW5nLW1hc2sge1xuICAgICZbZGF0YS1yb2xlPSdtYWluLWNzcy1sb2FkZXInXSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgICB9XG59XG4iLCJAaW1wb3J0ICdjb25maWcvdmFyaWFibGVzJztcblxuQG1peGluIGZvbnQtZmFtaWx5KCRmb250cy4uLikge1xuICAgIEBpZiAkZm9udHMge1xuICAgICAgICBmb250LWZhbWlseTogJGZvbnRzLCAkZm9udC1mYW1pbHktZmFsbGJhY2s7XG4gICAgfSBAZWxzZSB7XG4gICAgICAgIGZvbnQtZmFtaWx5OiAkZm9udC1mYW1pbHktZmFsbGJhY2s7XG4gICAgfVxufVxuIiwiLyoqXG4gKiBCcmVha3BvaW50IGNvbXBvbmVudCB1c2VkIGJ5IGluY2x1ZGUtbWVkaWEgdmVuZG9yIGxpYnJhcnkuXG4gKi9cbkB1c2UgJ3Nhc3M6bWFwJztcbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuLyoqXG4gKiBCcmVha3BvaW50IGNvbXBvbmVudCB1c2VkIGJ5IGluY2x1ZGUtbWVkaWEgdmVuZG9yIGxpYnJhcnkuXG4gKi9cbkB1c2UgJ3Nhc3M6bWFwJztcbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuLyoqXG4gKiBCcmVha3BvaW50IGNvbXBvbmVudCB1c2VkIGJ5IGluY2x1ZGUtbWVkaWEgdmVuZG9yIGxpYnJhcnkuXG4gKi9cbkB1c2UgJ3Nhc3M6bWFwJztcbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuLyoqXG4gKiBNaXhpbnMgZm9yIGZsZXhpYmxlIGNvbnRhaW5lcnMgZGVjbGFyYXRpb24uXG4gKi9cbi8qKlxuICogRGVmaW5lcyBwYWdlIGNvbnRhaW5lci4gVGhpcyBtaXhpbiBtYWtlcyBzdXJlIHRoYXQgdGhlIGNvbnRlbnQgaGFzIGFsd2F5cyBlcXVhbCBwYWRkaW5nXG4gKiBmb3IgbW9iaWxlIHNjcmVlbnMgb24gYm90aCBzaXplIG9mIHRoZSBkZXZpY2UuXG4gKi9cbi8qKlxuICogTmVnYXRlcyBwYXJlbnQgY29udGFpbmVyJ3MgcGFkZGluZyBhbmQgc2V0cyBpdCBvd24uXG4gKiBTb21ldGhpbWVzIHRoaXMgaGFzIHRvIGJlIGRvbmUgdG8gbWFrZSBiYWNrZ3JvdW5kIGV2ZW4gdG8gb3RoZXIgY29udGFpbmVycycgY29udGVudC5cbiAqL1xuLyoqXG4gKiBEZWZpbmVzIGNvbnRhaW5lciB3cmFwcGVyIHRoYXQgbWFrZXMgc3VyZSBjb250bmV0IGRvZXNuJ3QgZXh0ZW5kIGFib3ZlIGNlcnRhaW4gd2lkdGggYW5kIGlzIGFsd2F5cyBjZW50ZXJlZC5cbiAqL1xuLmNzLWNvbnRhaW5lciB7XG4gIHBhZGRpbmctbGVmdDogMS41cmVtO1xuICBwYWRkaW5nLXJpZ2h0OiAxLjVyZW07XG4gIG1hcmdpbjogMCBhdXRvO1xuICB3aWR0aDogMTAwJTtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDsgfVxuICAuY3MtY29udGFpbmVyX19pbm5lciB7XG4gICAgbWF4LXdpZHRoOiAxMjhyZW07XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luOiAwIGF1dG87XG4gICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gICAgLmNzLWNvbnRhaW5lcl9faW5uZXI6YmVmb3JlLCAuY3MtY29udGFpbmVyX19pbm5lcjphZnRlciB7XG4gICAgICBjb250ZW50OiAnJztcbiAgICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgICAgY2xlYXI6IGJvdGg7IH1cbiAgLmNzLWNvbnRhaW5lcl9fYXNpZGUge1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgIC5jcy1jb250YWluZXJfX2FzaWRlIHtcbiAgICAgICAgd2lkdGg6IDQwJTsgfSB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgIC5jcy1jb250YWluZXJfX2FzaWRlIHtcbiAgICAgICAgd2lkdGg6IDMyJTsgfSB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDkwZW0pIHtcbiAgICAgIC5jcy1jb250YWluZXJfX2FzaWRlIHtcbiAgICAgICAgd2lkdGg6IDMwJTsgfSB9XG4gIC5jcy1jb250YWluZXJfX21haW4tY29sdW1uIHtcbiAgICB3aWR0aDogNTYlO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAuY3MtY29udGFpbmVyX19tYWluLWNvbHVtbiB7XG4gICAgICAgIHdpZHRoOiA2NSU7IH0gfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA5MGVtKSB7XG4gICAgICAuY3MtY29udGFpbmVyX19tYWluLWNvbHVtbiB7XG4gICAgICAgIHdpZHRoOiA2NyU7IH0gfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA0Ny45OWVtKSB7XG4gICAgICAuY3MtY29udGFpbmVyX19tYWluLWNvbHVtbiB7XG4gICAgICAgIG1heC13aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuICAgICAgICB3aWR0aDogMTAwJSAhaW1wb3J0YW50OyB9IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgLmNzLWNvbnRhaW5lcl9fbWFpbi1jb2x1bW4tLXNwYWNlLXRvcCB7XG4gICAgICAgIHBhZGRpbmctdG9wOiAzcmVtOyB9IH1cbiAgLmNzLWNvbnRhaW5lci0tY29udHJhc3Qge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmMGYwZjA7IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgLmNzLWNvbnRhaW5lci0tY29udHJhc3Qge1xuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWFnZXMvYmFja2dyb3VuZC5wbmdcIik7XG4gICAgICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gICAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7IH0gfVxuICAuY3MtY29udGFpbmVyLS1zcGFjaW91cyB7XG4gICAgcGFkZGluZy10b3A6IDJyZW07XG4gICAgcGFkZGluZy1ib3R0b206IDJyZW07IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgLmNzLWNvbnRhaW5lci0tc3BhY2lvdXMge1xuICAgICAgICBwYWRkaW5nLXRvcDogM3JlbTtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDNyZW07IH0gfVxuICAuY3MtY29udGFpbmVyLS1ub3Njcm9sbCB7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuICAuY3MtY29udGFpbmVyLS1vbnRvcCB7XG4gICAgei1pbmRleDogMzAxOyB9XG4gIC5jcy1jb250YWluZXItLXZpZXdwb3J0LXdpZHRoIHtcbiAgICBtYXgtd2lkdGg6IG5vbmU7IH1cbiAgLmNzLWNvbnRhaW5lci0tbm8tcGFkZGluZyB7XG4gICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgIHBhZGRpbmctcmlnaHQ6IDA7IH1cbiAgLmNzLWNvbnRhaW5lci0tdXNlLXdob2xlLXNjcmVlbiAuY3MtY29udGFpbmVyX19pbm5lciB7XG4gICAgbWF4LXdpZHRoOiAxMDAlOyB9XG5cbi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG5AdXNlICdzYXNzOm1hcCc7XG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG4vKipcbiogRGVmYXVsdCBwcm9qZWN0IGJyZWFrcG9pbnRzIC0gW2VtXVxuKi9cbi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG5AdXNlICdzYXNzOm1hcCc7XG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG4vKipcbiogRGVmYXVsdCBwcm9qZWN0IGJyZWFrcG9pbnRzIC0gW2VtXVxuKi9cbi8qIHN0eWxlbGludC1kaXNhYmxlIGJsb2NrLW5vLWVtcHR5ICovXG4vKiBzdHlsZWxpbnQtZW5hYmxlICovXG4vKipcbiAqIEJyZWFrcG9pbnQgY29tcG9uZW50IHVzZWQgYnkgaW5jbHVkZS1tZWRpYSB2ZW5kb3IgbGlicmFyeS5cbiAqL1xuQHVzZSAnc2FzczptYXAnO1xuLyoqXG4gKiBFeHRyYWN0cyBuZXN0ZWQga2V5cyBmcm9tIGdpdmVuIG1hcC5cbiAqIEV4YW1wbGU6IGRlZXAtZ2V0KCRzb21lLW1hcCwgc29tZSwgbmVzdGVkLCBrZXlzKTtcbiAqL1xuLyoqXG4qIERlZmF1bHQgcHJvamVjdCBicmVha3BvaW50cyAtIFtlbV1cbiovXG5ib2R5LFxuaHRtbCB7XG4gIGhlaWdodDogMTAwJTtcbiAgbWF4LXdpZHRoOiAxMDB2dzsgfVxuXG4ubm8tc2Nyb2xsIHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB3aWR0aDogMTAwdnc7XG4gIGhlaWdodDogMTAwdmg7IH1cblxuLm5vLXNjcm9sbC1jaGlsZCB7XG4gIG92ZXJmbG93LXk6IGhpZGRlbiAhaW1wb3J0YW50OyB9XG5cbiNtYWluY29udGVudCB7XG4gIGZsZXg6IDEgMCBhdXRvO1xuICBiYWNrZ3JvdW5kOiAjZWRlZmYxO1xuICBtaW4td2lkdGg6IDEwMCU7IH1cblxuLnBhZ2Utd3JhcHBlciB7XG4gIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG4gIG1pbi1oZWlnaHQ6IDEwMCU7IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAucGFnZS13cmFwcGVyIHtcbiAgICAgIGRpc3BsYXk6IGZsZXggIWltcG9ydGFudDtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW4gIWltcG9ydGFudDsgfSB9XG5cbi5jb2x1bW5zIC5jb2x1bW4ubWFpbiB7XG4gIHdpZHRoOiBhdXRvO1xuICBwYWRkaW5nOiA0cmVtIDAgMDtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBtaW4taGVpZ2h0OiAxMHJlbTsgfVxuICBAbWVkaWEgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC5jb2x1bW5zIC5jb2x1bW4ubWFpbiB7XG4gICAgICBwYWRkaW5nOiA0cmVtIDAgMDsgfSB9XG5cbi5jbXMtaG9tZSAuY29sdW1ucyAuY29sdW1uLm1haW4ge1xuICBwYWRkaW5nOiAwOyB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgLmNtcy1ob21lIC5jb2x1bW5zIC5jb2x1bW4ubWFpbiB7XG4gICAgICBwYWRkaW5nOiAwOyB9IH1cblxuLnBhZ2UtbGF5b3V0LTFjb2x1bW4gLnByb2R1Y3QtaW5mby13cmFwcGVyIHtcbiAgd2lkdGg6IDEwMCU7IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAucGFnZS1sYXlvdXQtMWNvbHVtbiAucHJvZHVjdC1pbmZvLXdyYXBwZXIge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgcmlnaHQ6IDA7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICB3aWR0aDogNDAlOyB9IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAucGFnZS1sYXlvdXQtMWNvbHVtbiAucHJvZHVjdC1pbmZvLXdyYXBwZXIge1xuICAgICAgd2lkdGg6IDMwJTsgfSB9XG5cbkBtZWRpYSAobWluLXdpZHRoOiA0OGVtKSB7XG4gIC5wYWdlLWxheW91dC0yY29sdW1ucy1sZWZ0IC5zaWRlYmFyLW1haW4sXG4gIC5wYWdlLWxheW91dC0yY29sdW1ucy1sZWZ0IC5zaWRlYmFyLWFkZGl0aW9uYWwge1xuICAgIHdpZHRoOiAyMi41JTtcbiAgICBwYWRkaW5nLXJpZ2h0OiA0MHB4O1xuICAgIGJvcmRlci1yaWdodDogMXB4IHNvbGlkICNmMGYwZjA7IH1cbiAgLnBhZ2UtbGF5b3V0LTJjb2x1bW5zLWxlZnQgLmNvbHVtbnMge1xuICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gIC5wYWdlLWxheW91dC0yY29sdW1ucy1sZWZ0IC5jb2x1bW4ubWFpbiB7XG4gICAgZmxvYXQ6IHJpZ2h0OyB9XG4gIC5wYWdlLWxheW91dC0yY29sdW1ucy1sZWZ0IC5zaWRlYmFyLW1haW4ge1xuICAgIGZsb2F0OiBsZWZ0OyB9IH1cblxuYSwgYTp2aXNpdGVkIHtcbiAgY29sb3I6ICM3ZTU3YzI7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfVxuXG5hOmhvdmVyLCBhOmZvY3VzLCBhOmFjdGl2ZSwgYTp2aXNpdGVkOmhvdmVyLCBhOnZpc2l0ZWQ6Zm9jdXMge1xuICBjb2xvcjogIzRkMmM5MTtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9XG5cbi5naWZ0LW9wdGlvbnMtY2FydC1pdGVtIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNDhlbSkge1xuICAucGF5cGFsLWV4cHJlc3MtcmV2aWV3IC5wYWdlLXRpdGxlLXdyYXBwZXIge1xuICAgIHBhZGRpbmc6IDAgMS41cmVtOyB9IH1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDYzLjk5ZW0pIHtcbiAgLnBheXBhbC1yZXZpZXcudmlldyAuY3MtY2FydC1pdGVtX19wcmljZSB7XG4gICAgcGFkZGluZy1sZWZ0OiAwICFpbXBvcnRhbnQ7IH1cbiAgLnBheXBhbC1yZXZpZXcudmlldyAuY3MtY2FydC1pdGVtX19zdWJ0b3RhbCB7XG4gICAgcGFkZGluZy1yaWdodDogMCAhaW1wb3J0YW50OyB9IH1cblxuQG1lZGlhIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgLnBheXBhbC1yZXZpZXcudmlldyB7XG4gICAgcGFkZGluZzogMCAxLjVyZW07IH0gfVxuXG4ucGF5cGFsLWV4cHJlc3MtaW4tY29udGV4dC1taW5pLWNhcnQtY29udGFpbmVyIHtcbiAgbWFyZ2luLXRvcDogMXJlbTsgfVxuXG4ucGF5cGFsLXJldmlldy1kaXNjb3VudCB7XG4gIGJvcmRlci1ib3R0b206IG5vbmU7IH1cbiIsIkBpbXBvcnQgJ2NvbmZpZy92YXJpYWJsZXMnO1xuXG4vKipcbiAqIE1peGlucyBmb3IgZmxleGlibGUgY29udGFpbmVycyBkZWNsYXJhdGlvbi5cbiAqL1xuXG4vKipcbiAqIERlZmluZXMgcGFnZSBjb250YWluZXIuIFRoaXMgbWl4aW4gbWFrZXMgc3VyZSB0aGF0IHRoZSBjb250ZW50IGhhcyBhbHdheXMgZXF1YWwgcGFkZGluZ1xuICogZm9yIG1vYmlsZSBzY3JlZW5zIG9uIGJvdGggc2l6ZSBvZiB0aGUgZGV2aWNlLlxuICovXG5AbWl4aW4gY29udGFpbmVyKCRob3Jpem9udGFsLXBhZGRpbmc6ICRwYWdlX2VkZ2UtZ3V0dGVyKSB7XG4gICAgcGFkZGluZy1sZWZ0OiAkaG9yaXpvbnRhbC1wYWRkaW5nO1xuICAgIHBhZGRpbmctcmlnaHQ6ICRob3Jpem9udGFsLXBhZGRpbmc7XG59XG5cbi8qKlxuICogTmVnYXRlcyBwYXJlbnQgY29udGFpbmVyJ3MgcGFkZGluZyBhbmQgc2V0cyBpdCBvd24uXG4gKiBTb21ldGhpbWVzIHRoaXMgaGFzIHRvIGJlIGRvbmUgdG8gbWFrZSBiYWNrZ3JvdW5kIGV2ZW4gdG8gb3RoZXIgY29udGFpbmVycycgY29udGVudC5cbiAqL1xuQG1peGluIGNvbnRhaW5lci1uZWdhdGVkKCRob3Jpem9udGFsLXBhZGRpbmc6ICRwYWdlX2VkZ2UtZ3V0dGVyKSB7XG4gICAgQGluY2x1ZGUgY29udGFpbmVyKCRob3Jpem9udGFsLXBhZGRpbmcpO1xuICAgIG1hcmdpbi1sZWZ0OiAtJGhvcml6b250YWwtcGFkZGluZztcbiAgICBtYXJnaW4tcmlnaHQ6IC0kaG9yaXpvbnRhbC1wYWRkaW5nO1xufVxuXG4vKipcbiAqIERlZmluZXMgY29udGFpbmVyIHdyYXBwZXIgdGhhdCBtYWtlcyBzdXJlIGNvbnRuZXQgZG9lc24ndCBleHRlbmQgYWJvdmUgY2VydGFpbiB3aWR0aCBhbmQgaXMgYWx3YXlzIGNlbnRlcmVkLlxuICovXG5AbWl4aW4gY29udGFpbmVyLXdyYXBwZXIoJG1heC13aWR0aDogJHBhZ2VfbWF4LXdpZHRoKSB7XG4gICAgbWF4LXdpZHRoOiAkbWF4LXdpZHRoO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbjogMCBhdXRvO1xufVxuIiwiQGltcG9ydCAnY29uZmlnL3ZhcmlhYmxlcyc7XG5AaW1wb3J0ICd2ZW5kb3JzL2luY2x1ZGUtbWVkaWEnO1xuQGltcG9ydCAnY29tcG9uZW50cy9jb250YWluZXIvbWl4aW4nO1xuXG4uI3skbnN9Y29udGFpbmVyIHtcbiAgICAkcm9vdDogJjtcblxuICAgIEBpbmNsdWRlIGNvbnRhaW5lcigpO1xuICAgIG1hcmdpbjogMCBhdXRvO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG5cbiAgICAmX19pbm5lciB7XG4gICAgICAgIEBpbmNsdWRlIGNvbnRhaW5lci13cmFwcGVyKCk7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgICAmOmJlZm9yZSxcbiAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgICAgICAgICAgY2xlYXI6IGJvdGg7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19hc2lkZSB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PXRhYmxldCcpIHtcbiAgICAgICAgICAgIHdpZHRoOiA0MCU7XG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPj1sYXB0b3AnKSB7XG4gICAgICAgICAgICB3aWR0aDogMzIlO1xuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz49ZGVza3RvcCcpIHtcbiAgICAgICAgICAgIHdpZHRoOiAzMCU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19tYWluLWNvbHVtbiB7XG4gICAgICAgIHdpZHRoOiA1NiU7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPj1sYXB0b3AnKSB7XG4gICAgICAgICAgICB3aWR0aDogNjUlO1xuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz49ZGVza3RvcCcpIHtcbiAgICAgICAgICAgIHdpZHRoOiA2NyU7XG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPHRhYmxldCcpIHtcbiAgICAgICAgICAgIG1heC13aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuICAgICAgICAgICAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcbiAgICAgICAgfVxuXG4gICAgICAgICYtLXNwYWNlLXRvcCB7XG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPj1sYXB0b3AnKSB7XG4gICAgICAgICAgICAgICAgcGFkZGluZy10b3A6IDNyZW07XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmLS1jb250cmFzdCB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvcl9nYWxsZXJ5O1xuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PWxhcHRvcCcpIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnLi4vaW1hZ2VzL2JhY2tncm91bmQucG5nJyk7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICYtLXNwYWNpb3VzIHtcbiAgICAgICAgcGFkZGluZy10b3A6IDJyZW07XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAycmVtO1xuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PWxhcHRvcCcpIHtcbiAgICAgICAgICAgIHBhZGRpbmctdG9wOiAzcmVtO1xuICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IDNyZW07XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmLS1ub3Njcm9sbCB7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgfVxuXG4gICAgJi0tb250b3Age1xuICAgICAgICB6LWluZGV4OiAzMDE7XG4gICAgfVxuXG4gICAgJi0tdmlld3BvcnQtd2lkdGgge1xuICAgICAgICBtYXgtd2lkdGg6IG5vbmU7XG4gICAgfVxuXG4gICAgJi0tbm8tcGFkZGluZyB7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMDtcbiAgICB9XG5cbiAgICAmLS11c2Utd2hvbGUtc2NyZWVuIHtcbiAgICAgICAgI3skcm9vdH1fX2lubmVyIHtcbiAgICAgICAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIkBjaGFyc2V0IFwiVVRGLThcIjtcblxuLy8gICAgIF8gICAgICAgICAgICBfICAgICAgICAgICBfICAgICAgICAgICAgICAgICAgICAgICAgICAgXyBfXG4vLyAgICAoXykgICAgICAgICAgfCB8ICAgICAgICAgfCB8ICAgICAgICAgICAgICAgICAgICAgICAgIHwgKF8pXG4vLyAgICAgXyBfIF9fICAgX19ffCB8XyAgIF8gIF9ffCB8IF9fXyAgIF8gX18gX19fICAgX19fICBfX3wgfF8gIF9fIF9cbi8vICAgIHwgfCAnXyBcXCAvIF9ffCB8IHwgfCB8LyBfYCB8LyBfIFxcIHwgJ18gYCBfIFxcIC8gXyBcXC8gX2AgfCB8LyBfYCB8XG4vLyAgICB8IHwgfCB8IHwgKF9ffCB8IHxffCB8IChffCB8ICBfXy8gfCB8IHwgfCB8IHwgIF9fLyAoX3wgfCB8IChffCB8XG4vLyAgICB8X3xffCB8X3xcXF9fX3xffFxcX18sX3xcXF9fLF98XFxfX198IHxffCB8X3wgfF98XFxfX198XFxfXyxffF98XFxfXyxffFxuLy9cbi8vICAgICAgU2ltcGxlLCBlbGVnYW50IGFuZCBtYWludGFpbmFibGUgbWVkaWEgcXVlcmllcyBpbiBTYXNzXG4vLyAgICAgICAgICAgICAgICAgICAgICAgIHYxLjQuOVxuLy9cbi8vICAgICAgICBodHRwczovL2VkdWFyZG9ib3VjYXMuZ2l0aHViLmlvL2luY2x1ZGUtbWVkaWFcbi8vXG4vLyAgICAgICAgIEF1dGhvcnM6IEVkdWFyZG8gQm91Y2FzIChAZWR1YXJkb2JvdWNhcylcbi8vICAgICAgICAgICAgICAgICAgS2l0dHkgR2lyYXVkZWwgKEBraXR0eWdpcmF1ZGVsKVxuLy9cbi8vICAgICAgVGhpcyBwcm9qZWN0IGlzIGxpY2Vuc2VkIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgTUlUIGxpY2Vuc2Vcbi8vLy9cbi8vLyBpbmNsdWRlLW1lZGlhIGxpYnJhcnkgcHVibGljIGNvbmZpZ3VyYXRpb25cbi8vLyBAYXV0aG9yIEVkdWFyZG8gQm91Y2FzXG4vLy8gQGFjY2VzcyBwdWJsaWNcbi8vLy9cblxuXG4vLy9cbi8vLyBDcmVhdGVzIGEgbGlzdCBvZiBnbG9iYWwgYnJlYWtwb2ludHNcbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBDcmVhdGVzIGEgc2luZ2xlIGJyZWFrcG9pbnQgd2l0aCB0aGUgbGFiZWwgYHBob25lYFxuLy8vICAkYnJlYWtwb2ludHM6ICgncGhvbmUnOiAzMjBweCk7XG4vLy9cbiRicmVha3BvaW50czogKFxuICAncGhvbmUnOiAzMjBweCxcbiAgJ3RhYmxldCc6IDc2OHB4LFxuICAnZGVza3RvcCc6IDEwMjRweFxuKSAhZGVmYXVsdDtcblxuXG4vLy9cbi8vLyBDcmVhdGVzIGEgbGlzdCBvZiBzdGF0aWMgZXhwcmVzc2lvbnMgb3IgbWVkaWEgdHlwZXNcbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBDcmVhdGVzIGEgc2luZ2xlIG1lZGlhIHR5cGUgKHNjcmVlbilcbi8vLyAgJG1lZGlhLWV4cHJlc3Npb25zOiAoJ3NjcmVlbic6ICdzY3JlZW4nKTtcbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBDcmVhdGVzIGEgc3RhdGljIGV4cHJlc3Npb24gd2l0aCBsb2dpY2FsIGRpc2p1bmN0aW9uIChPUiBvcGVyYXRvcilcbi8vLyAgJG1lZGlhLWV4cHJlc3Npb25zOiAoXG4vLy8gICAgJ3JldGluYTJ4JzogJygtd2Via2l0LW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDIpLCAobWluLXJlc29sdXRpb246IDE5MmRwaSknXG4vLy8gICk7XG4vLy9cbiRtZWRpYS1leHByZXNzaW9uczogKFxuICAnc2NyZWVuJzogJ3NjcmVlbicsXG4gICdwcmludCc6ICdwcmludCcsXG4gICdoYW5kaGVsZCc6ICdoYW5kaGVsZCcsXG4gICdsYW5kc2NhcGUnOiAnKG9yaWVudGF0aW9uOiBsYW5kc2NhcGUpJyxcbiAgJ3BvcnRyYWl0JzogJyhvcmllbnRhdGlvbjogcG9ydHJhaXQpJyxcbiAgJ3JldGluYTJ4JzogJygtd2Via2l0LW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDIpLCAobWluLXJlc29sdXRpb246IDE5MmRwaSksIChtaW4tcmVzb2x1dGlvbjogMmRwcHgpJyxcbiAgJ3JldGluYTN4JzogJygtd2Via2l0LW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDMpLCAobWluLXJlc29sdXRpb246IDM1MGRwaSksIChtaW4tcmVzb2x1dGlvbjogM2RwcHgpJ1xuKSAhZGVmYXVsdDtcblxuXG4vLy9cbi8vLyBEZWZpbmVzIGEgbnVtYmVyIHRvIGJlIGFkZGVkIG9yIHN1YnRyYWN0ZWQgZnJvbSBlYWNoIHVuaXQgd2hlbiBkZWNsYXJpbmcgYnJlYWtwb2ludHMgd2l0aCBleGNsdXNpdmUgaW50ZXJ2YWxzXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gSW50ZXJ2YWwgZm9yIHBpeGVscyBpcyBkZWZpbmVkIGFzIGAxYCBieSBkZWZhdWx0XG4vLy8gIEBpbmNsdWRlIG1lZGlhKCc+MTI4cHgnKSB7fVxuLy8vXG4vLy8gIC8qIEdlbmVyYXRlczogKi9cbi8vLyAgQG1lZGlhIChtaW4td2lkdGg6IDEyOXB4KSB7fVxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIEludGVydmFsIGZvciBlbXMgaXMgZGVmaW5lZCBhcyBgMC4wMWAgYnkgZGVmYXVsdFxuLy8vICBAaW5jbHVkZSBtZWRpYSgnPjIwZW0nKSB7fVxuLy8vXG4vLy8gIC8qIEdlbmVyYXRlczogKi9cbi8vLyAgQG1lZGlhIChtaW4td2lkdGg6IDIwLjAxZW0pIHt9XG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gSW50ZXJ2YWwgZm9yIHJlbXMgaXMgZGVmaW5lZCBhcyBgMC4xYCBieSBkZWZhdWx0LCB0byBiZSB1c2VkIHdpdGggYGZvbnQtc2l6ZTogNjIuNSU7YFxuLy8vICBAaW5jbHVkZSBtZWRpYSgnPjIuMHJlbScpIHt9XG4vLy9cbi8vLyAgLyogR2VuZXJhdGVzOiAqL1xuLy8vICBAbWVkaWEgKG1pbi13aWR0aDogMi4xcmVtKSB7fVxuLy8vXG4kdW5pdC1pbnRlcnZhbHM6IChcbiAgJ3B4JzogMSxcbiAgJ2VtJzogMC4wMSxcbiAgJ3JlbSc6IDAuMSxcbiAgJyc6IDBcbikgIWRlZmF1bHQ7XG5cbi8vL1xuLy8vIERlZmluZXMgd2hldGhlciBzdXBwb3J0IGZvciBtZWRpYSBxdWVyaWVzIGlzIGF2YWlsYWJsZSwgdXNlZnVsIGZvciBjcmVhdGluZyBzZXBhcmF0ZSBzdHlsZXNoZWV0c1xuLy8vIGZvciBicm93c2VycyB0aGF0IGRvbid0IHN1cHBvcnQgbWVkaWEgcXVlcmllcy5cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBEaXNhYmxlcyBzdXBwb3J0IGZvciBtZWRpYSBxdWVyaWVzXG4vLy8gICRpbS1tZWRpYS1zdXBwb3J0OiBmYWxzZTtcbi8vLyAgQGluY2x1ZGUgbWVkaWEoJz49dGFibGV0Jykge1xuLy8vICAgIC5mb28ge1xuLy8vICAgICAgY29sb3I6IHRvbWF0bztcbi8vLyAgICB9XG4vLy8gIH1cbi8vL1xuLy8vICAvKiBHZW5lcmF0ZXM6ICovXG4vLy8gIC5mb28ge1xuLy8vICAgIGNvbG9yOiB0b21hdG87XG4vLy8gIH1cbi8vL1xuJGltLW1lZGlhLXN1cHBvcnQ6IHRydWUgIWRlZmF1bHQ7XG5cbi8vL1xuLy8vIFNlbGVjdHMgd2hpY2ggYnJlYWtwb2ludCB0byBlbXVsYXRlIHdoZW4gc3VwcG9ydCBmb3IgbWVkaWEgcXVlcmllcyBpcyBkaXNhYmxlZC4gTWVkaWEgcXVlcmllcyB0aGF0IHN0YXJ0IGF0IG9yXG4vLy8gaW50ZXJjZXB0IHRoZSBicmVha3BvaW50IHdpbGwgYmUgZGlzcGxheWVkLCBhbnkgb3RoZXJzIHdpbGwgYmUgaWdub3JlZC5cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBUaGlzIG1lZGlhIHF1ZXJ5IHdpbGwgc2hvdyBiZWNhdXNlIGl0IGludGVyY2VwdHMgdGhlIHN0YXRpYyBicmVha3BvaW50XG4vLy8gICRpbS1tZWRpYS1zdXBwb3J0OiBmYWxzZTtcbi8vLyAgJGltLW5vLW1lZGlhLWJyZWFrcG9pbnQ6ICdkZXNrdG9wJztcbi8vLyAgQGluY2x1ZGUgbWVkaWEoJz49dGFibGV0Jykge1xuLy8vICAgIC5mb28ge1xuLy8vICAgICAgY29sb3I6IHRvbWF0bztcbi8vLyAgICB9XG4vLy8gIH1cbi8vL1xuLy8vICAvKiBHZW5lcmF0ZXM6ICovXG4vLy8gIC5mb28ge1xuLy8vICAgIGNvbG9yOiB0b21hdG87XG4vLy8gIH1cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBUaGlzIG1lZGlhIHF1ZXJ5IHdpbGwgTk9UIHNob3cgYmVjYXVzZSBpdCBkb2VzIG5vdCBpbnRlcmNlcHQgdGhlIGRlc2t0b3AgYnJlYWtwb2ludFxuLy8vICAkaW0tbWVkaWEtc3VwcG9ydDogZmFsc2U7XG4vLy8gICRpbS1uby1tZWRpYS1icmVha3BvaW50OiAndGFibGV0Jztcbi8vLyAgQGluY2x1ZGUgbWVkaWEoJz49ZGVza3RvcCcpIHtcbi8vLyAgICAuZm9vIHtcbi8vLyAgICAgIGNvbG9yOiB0b21hdG87XG4vLy8gICAgfVxuLy8vICB9XG4vLy9cbi8vLyAgLyogTm8gb3V0cHV0ICovXG4vLy9cbiRpbS1uby1tZWRpYS1icmVha3BvaW50OiAnZGVza3RvcCcgIWRlZmF1bHQ7XG5cbi8vL1xuLy8vIFNlbGVjdHMgd2hpY2ggbWVkaWEgZXhwcmVzc2lvbnMgYXJlIGFsbG93ZWQgaW4gYW4gZXhwcmVzc2lvbiBmb3IgaXQgdG8gYmUgdXNlZCB3aGVuIG1lZGlhIHF1ZXJpZXNcbi8vLyBhcmUgbm90IHN1cHBvcnRlZC5cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBUaGlzIG1lZGlhIHF1ZXJ5IHdpbGwgc2hvdyBiZWNhdXNlIGl0IGludGVyY2VwdHMgdGhlIHN0YXRpYyBicmVha3BvaW50IGFuZCBjb250YWlucyBvbmx5IGFjY2VwdGVkIG1lZGlhIGV4cHJlc3Npb25zXG4vLy8gICRpbS1tZWRpYS1zdXBwb3J0OiBmYWxzZTtcbi8vLyAgJGltLW5vLW1lZGlhLWJyZWFrcG9pbnQ6ICdkZXNrdG9wJztcbi8vLyAgJGltLW5vLW1lZGlhLWV4cHJlc3Npb25zOiAoJ3NjcmVlbicpO1xuLy8vICBAaW5jbHVkZSBtZWRpYSgnPj10YWJsZXQnLCAnc2NyZWVuJykge1xuLy8vICAgIC5mb28ge1xuLy8vICAgICAgY29sb3I6IHRvbWF0bztcbi8vLyAgICB9XG4vLy8gIH1cbi8vL1xuLy8vICAgLyogR2VuZXJhdGVzOiAqL1xuLy8vICAgLmZvbyB7XG4vLy8gICAgIGNvbG9yOiB0b21hdG87XG4vLy8gICB9XG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gVGhpcyBtZWRpYSBxdWVyeSB3aWxsIE5PVCBzaG93IGJlY2F1c2UgaXQgaW50ZXJjZXB0cyB0aGUgc3RhdGljIGJyZWFrcG9pbnQgYnV0IGNvbnRhaW5zIGEgbWVkaWEgZXhwcmVzc2lvbiB0aGF0IGlzIG5vdCBhY2NlcHRlZFxuLy8vICAkaW0tbWVkaWEtc3VwcG9ydDogZmFsc2U7XG4vLy8gICRpbS1uby1tZWRpYS1icmVha3BvaW50OiAnZGVza3RvcCc7XG4vLy8gICRpbS1uby1tZWRpYS1leHByZXNzaW9uczogKCdzY3JlZW4nKTtcbi8vLyAgQGluY2x1ZGUgbWVkaWEoJz49dGFibGV0JywgJ3JldGluYTJ4Jykge1xuLy8vICAgIC5mb28ge1xuLy8vICAgICAgY29sb3I6IHRvbWF0bztcbi8vLyAgICB9XG4vLy8gIH1cbi8vL1xuLy8vICAvKiBObyBvdXRwdXQgKi9cbi8vL1xuJGltLW5vLW1lZGlhLWV4cHJlc3Npb25zOiAoJ3NjcmVlbicsICdwb3J0cmFpdCcsICdsYW5kc2NhcGUnKSAhZGVmYXVsdDtcblxuLy8vL1xuLy8vIENyb3NzLWVuZ2luZSBsb2dnaW5nIGVuZ2luZVxuLy8vIEBhdXRob3IgS2l0dHkgR2lyYXVkZWxcbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vLy9cblxuXG4vLy9cbi8vLyBMb2cgYSBtZXNzYWdlIGVpdGhlciB3aXRoIGBAZXJyb3JgIGlmIHN1cHBvcnRlZFxuLy8vIGVsc2Ugd2l0aCBgQHdhcm5gLCB1c2luZyBgZmVhdHVyZS1leGlzdHMoJ2F0LWVycm9yJylgXG4vLy8gdG8gZGV0ZWN0IHN1cHBvcnQuXG4vLy9cbi8vLyBAcGFyYW0ge1N0cmluZ30gJG1lc3NhZ2UgLSBNZXNzYWdlIHRvIGxvZ1xuLy8vXG5AZnVuY3Rpb24gaW0tbG9nKCRtZXNzYWdlKSB7XG4gIEBpZiBmZWF0dXJlLWV4aXN0cygnYXQtZXJyb3InKSB7XG4gICAgQGVycm9yICRtZXNzYWdlO1xuICB9IEBlbHNlIHtcbiAgICBAd2FybiAkbWVzc2FnZTtcbiAgICAkXzogbm9vcCgpO1xuICB9XG5cbiAgQHJldHVybiAkbWVzc2FnZTtcbn1cblxuXG4vLy9cbi8vLyBXcmFwcGVyIG1peGluIGZvciB0aGUgbG9nIGZ1bmN0aW9uIHNvIGl0IGNhbiBiZSB1c2VkIHdpdGggYSBtb3JlIGZyaWVuZGx5XG4vLy8gQVBJIHRoYW4gYEBpZiBpbS1sb2coJy4uJykge31gIG9yIGAkXzogaW0tbG9nKCcuLicpYC4gQmFzaWNhbGx5LCB1c2UgdGhlIGZ1bmN0aW9uXG4vLy8gd2l0aGluIGZ1bmN0aW9ucyBiZWNhdXNlIGl0IGlzIG5vdCBwb3NzaWJsZSB0byBpbmNsdWRlIGEgbWl4aW4gaW4gYSBmdW5jdGlvblxuLy8vIGFuZCB1c2UgdGhlIG1peGluIGV2ZXJ5d2hlcmUgZWxzZSBiZWNhdXNlIGl0J3MgbXVjaCBtb3JlIGVsZWdhbnQuXG4vLy9cbi8vLyBAcGFyYW0ge1N0cmluZ30gJG1lc3NhZ2UgLSBNZXNzYWdlIHRvIGxvZ1xuLy8vXG5AbWl4aW4gbG9nKCRtZXNzYWdlKSB7XG4gIEBpZiBpbS1sb2coJG1lc3NhZ2UpIHt9XG59XG5cblxuLy8vXG4vLy8gRnVuY3Rpb24gd2l0aCBubyBgQHJldHVybmAgY2FsbGVkIG5leHQgdG8gYEB3YXJuYCBpbiBTYXNzIDMuM1xuLy8vIHRvIHRyaWdnZXIgYSBjb21waWxpbmcgZXJyb3IgYW5kIHN0b3AgdGhlIHByb2Nlc3MuXG4vLy9cbkBmdW5jdGlvbiBub29wKCkge31cblxuLy8vXG4vLy8gRGV0ZXJtaW5lcyB3aGV0aGVyIGEgbGlzdCBvZiBjb25kaXRpb25zIGlzIGludGVyY2VwdGVkIGJ5IHRoZSBzdGF0aWMgYnJlYWtwb2ludC5cbi8vL1xuLy8vIEBwYXJhbSB7QXJnbGlzdH0gICAkY29uZGl0aW9ucyAgLSBNZWRpYSBxdWVyeSBjb25kaXRpb25zXG4vLy9cbi8vLyBAcmV0dXJuIHtCb29sZWFufSAtIFJldHVybnMgdHJ1ZSBpZiB0aGUgY29uZGl0aW9ucyBhcmUgaW50ZXJjZXB0ZWQgYnkgdGhlIHN0YXRpYyBicmVha3BvaW50XG4vLy9cbkBmdW5jdGlvbiBpbS1pbnRlcmNlcHRzLXN0YXRpYy1icmVha3BvaW50KCRjb25kaXRpb25zLi4uKSB7XG4gICRuby1tZWRpYS1icmVha3BvaW50LXZhbHVlOiBtYXAtZ2V0KCRicmVha3BvaW50cywgJGltLW5vLW1lZGlhLWJyZWFrcG9pbnQpO1xuXG4gIEBpZiBub3QgJG5vLW1lZGlhLWJyZWFrcG9pbnQtdmFsdWUge1xuICAgIEBpZiBpbS1sb2coJ2AjeyRpbS1uby1tZWRpYS1icmVha3BvaW50fWAgaXMgbm90IGEgdmFsaWQgYnJlYWtwb2ludC4nKSB7fVxuICB9XG5cbiAgQGVhY2ggJGNvbmRpdGlvbiBpbiAkY29uZGl0aW9ucyB7XG4gICAgQGlmIG5vdCBtYXAtaGFzLWtleSgkbWVkaWEtZXhwcmVzc2lvbnMsICRjb25kaXRpb24pIHtcbiAgICAgICRvcGVyYXRvcjogZ2V0LWV4cHJlc3Npb24tb3BlcmF0b3IoJGNvbmRpdGlvbik7XG4gICAgICAkcHJlZml4OiBnZXQtZXhwcmVzc2lvbi1wcmVmaXgoJG9wZXJhdG9yKTtcbiAgICAgICR2YWx1ZTogZ2V0LWV4cHJlc3Npb24tdmFsdWUoJGNvbmRpdGlvbiwgJG9wZXJhdG9yKTtcblxuICAgICAgQGlmICgkcHJlZml4ID09ICdtYXgnIGFuZCAkdmFsdWUgPD0gJG5vLW1lZGlhLWJyZWFrcG9pbnQtdmFsdWUpIG9yXG4gICAgICAgICAgKCRwcmVmaXggPT0gJ21pbicgYW5kICR2YWx1ZSA+ICRuby1tZWRpYS1icmVha3BvaW50LXZhbHVlKSB7XG4gICAgICAgIEByZXR1cm4gZmFsc2U7XG4gICAgICB9XG4gICAgfSBAZWxzZSBpZiBub3QgaW5kZXgoJGltLW5vLW1lZGlhLWV4cHJlc3Npb25zLCAkY29uZGl0aW9uKSB7XG4gICAgICBAcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgfVxuXG4gIEByZXR1cm4gdHJ1ZTtcbn1cblxuLy8vL1xuLy8vIFBhcnNpbmcgZW5naW5lXG4vLy8gQGF1dGhvciBLaXR0eSBHaXJhdWRlbFxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vL1xuXG5cbi8vL1xuLy8vIEdldCBvcGVyYXRvciBvZiBhbiBleHByZXNzaW9uXG4vLy9cbi8vLyBAcGFyYW0ge1N0cmluZ30gJGV4cHJlc3Npb24gLSBFeHByZXNzaW9uIHRvIGV4dHJhY3Qgb3BlcmF0b3IgZnJvbVxuLy8vXG4vLy8gQHJldHVybiB7U3RyaW5nfSAtIEFueSBvZiBgPj1gLCBgPmAsIGA8PWAsIGA8YCwgYOKJpWAsIGDiiaRgXG4vLy9cbkBmdW5jdGlvbiBnZXQtZXhwcmVzc2lvbi1vcGVyYXRvcigkZXhwcmVzc2lvbikge1xuICBAZWFjaCAkb3BlcmF0b3IgaW4gKCc+PScsICc+JywgJzw9JywgJzwnLCAn4omlJywgJ+KJpCcpIHtcbiAgICBAaWYgc3RyLWluZGV4KCRleHByZXNzaW9uLCAkb3BlcmF0b3IpIHtcbiAgICAgIEByZXR1cm4gJG9wZXJhdG9yO1xuICAgIH1cbiAgfVxuXG4gIC8vIEl0IGlzIG5vdCBwb3NzaWJsZSB0byBpbmNsdWRlIGEgbWl4aW4gaW5zaWRlIGEgZnVuY3Rpb24sIHNvIHdlIGhhdmUgdG9cbiAgLy8gcmVseSBvbiB0aGUgYGltLWxvZyguLilgIGZ1bmN0aW9uIHJhdGhlciB0aGFuIHRoZSBgbG9nKC4uKWAgbWl4aW4uIEJlY2F1c2VcbiAgLy8gZnVuY3Rpb25zIGNhbm5vdCBiZSBjYWxsZWQgYW55d2hlcmUgaW4gU2Fzcywgd2UgbmVlZCB0byBoYWNrIHRoZSBjYWxsIGluXG4gIC8vIGEgZHVtbXkgdmFyaWFibGUsIHN1Y2ggYXMgYCRfYC4gSWYgYW55Ym9keSBldmVyIHJhaXNlIGEgc2NvcGluZyBpc3N1ZSB3aXRoXG4gIC8vIFNhc3MgMy4zLCBjaGFuZ2UgdGhpcyBsaW5lIGluIGBAaWYgaW0tbG9nKC4uKSB7fWAgaW5zdGVhZC5cbiAgJF86IGltLWxvZygnTm8gb3BlcmF0b3IgZm91bmQgaW4gYCN7JGV4cHJlc3Npb259YC4nKTtcbn1cblxuXG4vLy9cbi8vLyBHZXQgZGltZW5zaW9uIG9mIGFuIGV4cHJlc3Npb24sIGJhc2VkIG9uIGEgZm91bmQgb3BlcmF0b3Jcbi8vL1xuLy8vIEBwYXJhbSB7U3RyaW5nfSAkZXhwcmVzc2lvbiAtIEV4cHJlc3Npb24gdG8gZXh0cmFjdCBkaW1lbnNpb24gZnJvbVxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkb3BlcmF0b3IgLSBPcGVyYXRvciBmcm9tIGAkZXhwcmVzc2lvbmBcbi8vL1xuLy8vIEByZXR1cm4ge1N0cmluZ30gLSBgd2lkdGhgIG9yIGBoZWlnaHRgIChvciBwb3RlbnRpYWxseSBhbnl0aGluZyBlbHNlKVxuLy8vXG5AZnVuY3Rpb24gZ2V0LWV4cHJlc3Npb24tZGltZW5zaW9uKCRleHByZXNzaW9uLCAkb3BlcmF0b3IpIHtcbiAgJG9wZXJhdG9yLWluZGV4OiBzdHItaW5kZXgoJGV4cHJlc3Npb24sICRvcGVyYXRvcik7XG4gICRwYXJzZWQtZGltZW5zaW9uOiBzdHItc2xpY2UoJGV4cHJlc3Npb24sIDAsICRvcGVyYXRvci1pbmRleCAtIDEpO1xuICAkZGltZW5zaW9uOiAnd2lkdGgnO1xuXG4gIEBpZiBzdHItbGVuZ3RoKCRwYXJzZWQtZGltZW5zaW9uKSA+IDAge1xuICAgICRkaW1lbnNpb246ICRwYXJzZWQtZGltZW5zaW9uO1xuICB9XG5cbiAgQHJldHVybiAkZGltZW5zaW9uO1xufVxuXG5cbi8vL1xuLy8vIEdldCBkaW1lbnNpb24gcHJlZml4IGJhc2VkIG9uIGFuIG9wZXJhdG9yXG4vLy9cbi8vLyBAcGFyYW0ge1N0cmluZ30gJG9wZXJhdG9yIC0gT3BlcmF0b3Jcbi8vL1xuLy8vIEByZXR1cm4ge1N0cmluZ30gLSBgbWluYCBvciBgbWF4YFxuLy8vXG5AZnVuY3Rpb24gZ2V0LWV4cHJlc3Npb24tcHJlZml4KCRvcGVyYXRvcikge1xuICBAcmV0dXJuIGlmKGluZGV4KCgnPCcsICc8PScsICfiiaQnKSwgJG9wZXJhdG9yKSwgJ21heCcsICdtaW4nKTtcbn1cblxuXG4vLy9cbi8vLyBHZXQgdmFsdWUgb2YgYW4gZXhwcmVzc2lvbiwgYmFzZWQgb24gYSBmb3VuZCBvcGVyYXRvclxuLy8vXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRleHByZXNzaW9uIC0gRXhwcmVzc2lvbiB0byBleHRyYWN0IHZhbHVlIGZyb21cbi8vLyBAcGFyYW0ge1N0cmluZ30gJG9wZXJhdG9yIC0gT3BlcmF0b3IgZnJvbSBgJGV4cHJlc3Npb25gXG4vLy9cbi8vLyBAcmV0dXJuIHtOdW1iZXJ9IC0gQSBudW1lcmljIHZhbHVlXG4vLy9cbkBmdW5jdGlvbiBnZXQtZXhwcmVzc2lvbi12YWx1ZSgkZXhwcmVzc2lvbiwgJG9wZXJhdG9yKSB7XG4gICRvcGVyYXRvci1pbmRleDogc3RyLWluZGV4KCRleHByZXNzaW9uLCAkb3BlcmF0b3IpO1xuICAkdmFsdWU6IHN0ci1zbGljZSgkZXhwcmVzc2lvbiwgJG9wZXJhdG9yLWluZGV4ICsgc3RyLWxlbmd0aCgkb3BlcmF0b3IpKTtcblxuICBAaWYgbWFwLWhhcy1rZXkoJGJyZWFrcG9pbnRzLCAkdmFsdWUpIHtcbiAgICAkdmFsdWU6IG1hcC1nZXQoJGJyZWFrcG9pbnRzLCAkdmFsdWUpO1xuICB9IEBlbHNlIHtcbiAgICAkdmFsdWU6IHRvLW51bWJlcigkdmFsdWUpO1xuICB9XG5cbiAgJGludGVydmFsOiBtYXAtZ2V0KCR1bml0LWludGVydmFscywgdW5pdCgkdmFsdWUpKTtcblxuICBAaWYgbm90ICRpbnRlcnZhbCB7XG4gICAgLy8gSXQgaXMgbm90IHBvc3NpYmxlIHRvIGluY2x1ZGUgYSBtaXhpbiBpbnNpZGUgYSBmdW5jdGlvbiwgc28gd2UgaGF2ZSB0b1xuICAgIC8vIHJlbHkgb24gdGhlIGBpbS1sb2coLi4pYCBmdW5jdGlvbiByYXRoZXIgdGhhbiB0aGUgYGxvZyguLilgIG1peGluLiBCZWNhdXNlXG4gICAgLy8gZnVuY3Rpb25zIGNhbm5vdCBiZSBjYWxsZWQgYW55d2hlcmUgaW4gU2Fzcywgd2UgbmVlZCB0byBoYWNrIHRoZSBjYWxsIGluXG4gICAgLy8gYSBkdW1teSB2YXJpYWJsZSwgc3VjaCBhcyBgJF9gLiBJZiBhbnlib2R5IGV2ZXIgcmFpc2UgYSBzY29waW5nIGlzc3VlIHdpdGhcbiAgICAvLyBTYXNzIDMuMywgY2hhbmdlIHRoaXMgbGluZSBpbiBgQGlmIGltLWxvZyguLikge31gIGluc3RlYWQuXG4gICAgJF86IGltLWxvZygnVW5rbm93biB1bml0IGAje3VuaXQoJHZhbHVlKX1gLicpO1xuICB9XG5cbiAgQGlmICRvcGVyYXRvciA9PSAnPicge1xuICAgICR2YWx1ZTogJHZhbHVlICsgJGludGVydmFsO1xuICB9IEBlbHNlIGlmICRvcGVyYXRvciA9PSAnPCcge1xuICAgICR2YWx1ZTogJHZhbHVlIC0gJGludGVydmFsO1xuICB9XG5cbiAgQHJldHVybiAkdmFsdWU7XG59XG5cblxuLy8vXG4vLy8gUGFyc2UgYW4gZXhwcmVzc2lvbiB0byByZXR1cm4gYSB2YWxpZCBtZWRpYS1xdWVyeSBleHByZXNzaW9uXG4vLy9cbi8vLyBAcGFyYW0ge1N0cmluZ30gJGV4cHJlc3Npb24gLSBFeHByZXNzaW9uIHRvIHBhcnNlXG4vLy9cbi8vLyBAcmV0dXJuIHtTdHJpbmd9IC0gVmFsaWQgbWVkaWEgcXVlcnlcbi8vL1xuQGZ1bmN0aW9uIHBhcnNlLWV4cHJlc3Npb24oJGV4cHJlc3Npb24pIHtcbiAgLy8gSWYgaXQgaXMgcGFydCBvZiAkbWVkaWEtZXhwcmVzc2lvbnMsIGl0IGhhcyBubyBvcGVyYXRvclxuICAvLyB0aGVuIHRoZXJlIGlzIG5vIG5lZWQgdG8gZ28gYW55IGZ1cnRoZXIsIGp1c3QgcmV0dXJuIHRoZSB2YWx1ZVxuICBAaWYgbWFwLWhhcy1rZXkoJG1lZGlhLWV4cHJlc3Npb25zLCAkZXhwcmVzc2lvbikge1xuICAgIEByZXR1cm4gbWFwLWdldCgkbWVkaWEtZXhwcmVzc2lvbnMsICRleHByZXNzaW9uKTtcbiAgfVxuXG4gICRvcGVyYXRvcjogZ2V0LWV4cHJlc3Npb24tb3BlcmF0b3IoJGV4cHJlc3Npb24pO1xuICAkZGltZW5zaW9uOiBnZXQtZXhwcmVzc2lvbi1kaW1lbnNpb24oJGV4cHJlc3Npb24sICRvcGVyYXRvcik7XG4gICRwcmVmaXg6IGdldC1leHByZXNzaW9uLXByZWZpeCgkb3BlcmF0b3IpO1xuICAkdmFsdWU6IGdldC1leHByZXNzaW9uLXZhbHVlKCRleHByZXNzaW9uLCAkb3BlcmF0b3IpO1xuXG4gIEByZXR1cm4gJygjeyRwcmVmaXh9LSN7JGRpbWVuc2lvbn06ICN7JHZhbHVlfSknO1xufVxuXG4vLy9cbi8vLyBTbGljZSBgJGxpc3RgIGJldHdlZW4gYCRzdGFydGAgYW5kIGAkZW5kYCBpbmRleGVzXG4vLy9cbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vL1xuLy8vIEBwYXJhbSB7TGlzdH0gJGxpc3QgLSBMaXN0IHRvIHNsaWNlXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRzdGFydCBbMV0gLSBTdGFydCBpbmRleFxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkZW5kIFtsZW5ndGgoJGxpc3QpXSAtIEVuZCBpbmRleFxuLy8vXG4vLy8gQHJldHVybiB7TGlzdH0gU2xpY2VkIGxpc3Rcbi8vL1xuQGZ1bmN0aW9uIHNsaWNlKCRsaXN0LCAkc3RhcnQ6IDEsICRlbmQ6IGxlbmd0aCgkbGlzdCkpIHtcbiAgQGlmIGxlbmd0aCgkbGlzdCkgPCAxIG9yICRzdGFydCA+ICRlbmQge1xuICAgIEByZXR1cm4gKCk7XG4gIH1cblxuICAkcmVzdWx0OiAoKTtcblxuICBAZm9yICRpIGZyb20gJHN0YXJ0IHRocm91Z2ggJGVuZCB7XG4gICAgJHJlc3VsdDogYXBwZW5kKCRyZXN1bHQsIG50aCgkbGlzdCwgJGkpKTtcbiAgfVxuXG4gIEByZXR1cm4gJHJlc3VsdDtcbn1cblxuLy8vL1xuLy8vIFN0cmluZyB0byBudW1iZXIgY29udmVydGVyXG4vLy8gQGF1dGhvciBLaXR0eSBHaXJhdWRlbFxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vL1xuXG5cbi8vL1xuLy8vIENhc3RzIGEgc3RyaW5nIGludG8gYSBudW1iZXJcbi8vL1xuLy8vIEBwYXJhbSB7U3RyaW5nIHwgTnVtYmVyfSAkdmFsdWUgLSBWYWx1ZSB0byBiZSBwYXJzZWRcbi8vL1xuLy8vIEByZXR1cm4ge051bWJlcn1cbi8vL1xuQGZ1bmN0aW9uIHRvLW51bWJlcigkdmFsdWUpIHtcbiAgQGlmIHR5cGUtb2YoJHZhbHVlKSA9PSAnbnVtYmVyJyB7XG4gICAgQHJldHVybiAkdmFsdWU7XG4gIH0gQGVsc2UgaWYgdHlwZS1vZigkdmFsdWUpICE9ICdzdHJpbmcnIHtcbiAgICAkXzogaW0tbG9nKCdWYWx1ZSBmb3IgYHRvLW51bWJlcmAgc2hvdWxkIGJlIGEgbnVtYmVyIG9yIGEgc3RyaW5nLicpO1xuICB9XG5cbiAgJGZpcnN0LWNoYXJhY3Rlcjogc3RyLXNsaWNlKCR2YWx1ZSwgMSwgMSk7XG4gICRyZXN1bHQ6IDA7XG4gICRkaWdpdHM6IDA7XG4gICRtaW51czogKCRmaXJzdC1jaGFyYWN0ZXIgPT0gJy0nKTtcbiAgJG51bWJlcnM6ICgnMCc6IDAsICcxJzogMSwgJzInOiAyLCAnMyc6IDMsICc0JzogNCwgJzUnOiA1LCAnNic6IDYsICc3JzogNywgJzgnOiA4LCAnOSc6IDkpO1xuXG4gIC8vIFJlbW92ZSArLy0gc2lnbiBpZiBwcmVzZW50IGF0IGZpcnN0IGNoYXJhY3RlclxuICBAaWYgKCRmaXJzdC1jaGFyYWN0ZXIgPT0gJysnIG9yICRmaXJzdC1jaGFyYWN0ZXIgPT0gJy0nKSB7XG4gICAgJHZhbHVlOiBzdHItc2xpY2UoJHZhbHVlLCAyKTtcbiAgfVxuXG4gIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggc3RyLWxlbmd0aCgkdmFsdWUpIHtcbiAgICAkY2hhcmFjdGVyOiBzdHItc2xpY2UoJHZhbHVlLCAkaSwgJGkpO1xuXG4gICAgQGlmIG5vdCAoaW5kZXgobWFwLWtleXMoJG51bWJlcnMpLCAkY2hhcmFjdGVyKSBvciAkY2hhcmFjdGVyID09ICcuJykge1xuICAgICAgQHJldHVybiB0by1sZW5ndGgoaWYoJG1pbnVzLCAtJHJlc3VsdCwgJHJlc3VsdCksIHN0ci1zbGljZSgkdmFsdWUsICRpKSlcbiAgICB9XG5cbiAgICBAaWYgJGNoYXJhY3RlciA9PSAnLicge1xuICAgICAgJGRpZ2l0czogMTtcbiAgICB9IEBlbHNlIGlmICRkaWdpdHMgPT0gMCB7XG4gICAgICAkcmVzdWx0OiAkcmVzdWx0ICogMTAgKyBtYXAtZ2V0KCRudW1iZXJzLCAkY2hhcmFjdGVyKTtcbiAgICB9IEBlbHNlIHtcbiAgICAgICRkaWdpdHM6ICRkaWdpdHMgKiAxMDtcbiAgICAgICRyZXN1bHQ6ICRyZXN1bHQgKyBtYXAtZ2V0KCRudW1iZXJzLCAkY2hhcmFjdGVyKSAvICRkaWdpdHM7XG4gICAgfVxuICB9XG5cbiAgQHJldHVybiBpZigkbWludXMsIC0kcmVzdWx0LCAkcmVzdWx0KTtcbn1cblxuXG4vLy9cbi8vLyBBZGQgYCR1bml0YCB0byBgJHZhbHVlYFxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICR2YWx1ZSAtIFZhbHVlIHRvIGFkZCB1bml0IHRvXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICR1bml0IC0gU3RyaW5nIHJlcHJlc2VudGF0aW9uIG9mIHRoZSB1bml0XG4vLy9cbi8vLyBAcmV0dXJuIHtOdW1iZXJ9IC0gYCR2YWx1ZWAgZXhwcmVzc2VkIGluIGAkdW5pdGBcbi8vL1xuQGZ1bmN0aW9uIHRvLWxlbmd0aCgkdmFsdWUsICR1bml0KSB7XG4gICR1bml0czogKCdweCc6IDFweCwgJ2NtJzogMWNtLCAnbW0nOiAxbW0sICclJzogMSUsICdjaCc6IDFjaCwgJ3BjJzogMXBjLCAnaW4nOiAxaW4sICdlbSc6IDFlbSwgJ3JlbSc6IDFyZW0sICdwdCc6IDFwdCwgJ2V4JzogMWV4LCAndncnOiAxdncsICd2aCc6IDF2aCwgJ3ZtaW4nOiAxdm1pbiwgJ3ZtYXgnOiAxdm1heCk7XG5cbiAgQGlmIG5vdCBpbmRleChtYXAta2V5cygkdW5pdHMpLCAkdW5pdCkge1xuICAgICRfOiBpbS1sb2coJ0ludmFsaWQgdW5pdCBgI3skdW5pdH1gLicpO1xuICB9XG5cbiAgQHJldHVybiAkdmFsdWUgKiBtYXAtZ2V0KCR1bml0cywgJHVuaXQpO1xufVxuXG4vLy9cbi8vLyBUaGlzIG1peGluIGFpbXMgYXQgcmVkZWZpbmluZyB0aGUgY29uZmlndXJhdGlvbiBqdXN0IGZvciB0aGUgc2NvcGUgb2Zcbi8vLyB0aGUgY2FsbC4gSXQgaXMgaGVscGZ1bCB3aGVuIGhhdmluZyBhIGNvbXBvbmVudCBuZWVkaW5nIGFuIGV4dGVuZGVkXG4vLy8gY29uZmlndXJhdGlvbiBzdWNoIGFzIGN1c3RvbSBicmVha3BvaW50cyAocmVmZXJyZWQgdG8gYXMgdHdlYWtwb2ludHMpXG4vLy8gZm9yIGluc3RhbmNlLlxuLy8vXG4vLy8gQGF1dGhvciBLaXR0eSBHaXJhdWRlbFxuLy8vXG4vLy8gQHBhcmFtIHtNYXB9ICR0d2Vha3BvaW50cyBbKCldIC0gTWFwIG9mIHR3ZWFrcG9pbnRzIHRvIGJlIG1lcmdlZCB3aXRoIGAkYnJlYWtwb2ludHNgXG4vLy8gQHBhcmFtIHtNYXB9ICR0d2Vhay1tZWRpYS1leHByZXNzaW9ucyBbKCldIC0gTWFwIG9mIHR3ZWFrZWQgbWVkaWEgZXhwcmVzc2lvbnMgdG8gYmUgbWVyZ2VkIHdpdGggYCRtZWRpYS1leHByZXNzaW9uYFxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIEV4dGVuZCB0aGUgZ2xvYmFsIGJyZWFrcG9pbnRzIHdpdGggYSB0d2Vha3BvaW50XG4vLy8gIEBpbmNsdWRlIG1lZGlhLWNvbnRleHQoKCdjdXN0b20nOiA2NzhweCkpIHtcbi8vLyAgICAuZm9vIHtcbi8vLyAgICAgIEBpbmNsdWRlIG1lZGlhKCc+cGhvbmUnLCAnPD1jdXN0b20nKSB7XG4vLy8gICAgICAgLy8gLi4uXG4vLy8gICAgICB9XG4vLy8gICAgfVxuLy8vICB9XG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gRXh0ZW5kIHRoZSBnbG9iYWwgbWVkaWEgZXhwcmVzc2lvbnMgd2l0aCBhIGN1c3RvbSBvbmVcbi8vLyAgQGluY2x1ZGUgbWVkaWEtY29udGV4dCgkdHdlYWstbWVkaWEtZXhwcmVzc2lvbnM6ICgnYWxsJzogJ2FsbCcpKSB7XG4vLy8gICAgLmZvbyB7XG4vLy8gICAgICBAaW5jbHVkZSBtZWRpYSgnYWxsJywgJz5waG9uZScpIHtcbi8vLyAgICAgICAvLyAuLi5cbi8vLyAgICAgIH1cbi8vLyAgICB9XG4vLy8gIH1cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBFeHRlbmQgYm90aCBjb25maWd1cmF0aW9uIG1hcHNcbi8vLyAgQGluY2x1ZGUgbWVkaWEtY29udGV4dCgoJ2N1c3RvbSc6IDY3OHB4KSwgKCdhbGwnOiAnYWxsJykpIHtcbi8vLyAgICAuZm9vIHtcbi8vLyAgICAgIEBpbmNsdWRlIG1lZGlhKCdhbGwnLCAnPnBob25lJywgJzw9Y3VzdG9tJykge1xuLy8vICAgICAgIC8vIC4uLlxuLy8vICAgICAgfVxuLy8vICAgIH1cbi8vLyAgfVxuLy8vXG5AbWl4aW4gbWVkaWEtY29udGV4dCgkdHdlYWtwb2ludHM6ICgpLCAkdHdlYWstbWVkaWEtZXhwcmVzc2lvbnM6ICgpKSB7XG4gIC8vIFNhdmUgZ2xvYmFsIGNvbmZpZ3VyYXRpb25cbiAgJGdsb2JhbC1icmVha3BvaW50czogJGJyZWFrcG9pbnRzO1xuICAkZ2xvYmFsLW1lZGlhLWV4cHJlc3Npb25zOiAkbWVkaWEtZXhwcmVzc2lvbnM7XG5cbiAgLy8gVXBkYXRlIGdsb2JhbCBjb25maWd1cmF0aW9uXG4gICRicmVha3BvaW50czogbWFwLW1lcmdlKCRicmVha3BvaW50cywgJHR3ZWFrcG9pbnRzKSAhZ2xvYmFsO1xuICAkbWVkaWEtZXhwcmVzc2lvbnM6IG1hcC1tZXJnZSgkbWVkaWEtZXhwcmVzc2lvbnMsICR0d2Vhay1tZWRpYS1leHByZXNzaW9ucykgIWdsb2JhbDtcblxuICBAY29udGVudDtcblxuICAvLyBSZXN0b3JlIGdsb2JhbCBjb25maWd1cmF0aW9uXG4gICRicmVha3BvaW50czogJGdsb2JhbC1icmVha3BvaW50cyAhZ2xvYmFsO1xuICAkbWVkaWEtZXhwcmVzc2lvbnM6ICRnbG9iYWwtbWVkaWEtZXhwcmVzc2lvbnMgIWdsb2JhbDtcbn1cblxuLy8vL1xuLy8vIGluY2x1ZGUtbWVkaWEgcHVibGljIGV4cG9zZWQgQVBJXG4vLy8gQGF1dGhvciBFZHVhcmRvIEJvdWNhc1xuLy8vIEBhY2Nlc3MgcHVibGljXG4vLy8vXG5cblxuLy8vXG4vLy8gR2VuZXJhdGVzIGEgbWVkaWEgcXVlcnkgYmFzZWQgb24gYSBsaXN0IG9mIGNvbmRpdGlvbnNcbi8vL1xuLy8vIEBwYXJhbSB7QXJnbGlzdH0gICAkY29uZGl0aW9ucyAgLSBNZWRpYSBxdWVyeSBjb25kaXRpb25zXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gV2l0aCBhIHNpbmdsZSBzZXQgYnJlYWtwb2ludFxuLy8vICBAaW5jbHVkZSBtZWRpYSgnPnBob25lJykgeyB9XG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gV2l0aCB0d28gc2V0IGJyZWFrcG9pbnRzXG4vLy8gIEBpbmNsdWRlIG1lZGlhKCc+cGhvbmUnLCAnPD10YWJsZXQnKSB7IH1cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBXaXRoIGN1c3RvbSB2YWx1ZXNcbi8vLyAgQGluY2x1ZGUgbWVkaWEoJz49MzU4cHgnLCAnPDg1MHB4JykgeyB9XG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gV2l0aCBzZXQgYnJlYWtwb2ludHMgd2l0aCBjdXN0b20gdmFsdWVzXG4vLy8gIEBpbmNsdWRlIG1lZGlhKCc+ZGVza3RvcCcsICc8PTEzNTBweCcpIHsgfVxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFdpdGggYSBzdGF0aWMgZXhwcmVzc2lvblxuLy8vICBAaW5jbHVkZSBtZWRpYSgncmV0aW5hMngnKSB7IH1cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBNaXhpbmcgZXZlcnl0aGluZ1xuLy8vICBAaW5jbHVkZSBtZWRpYSgnPj0zNTBweCcsICc8dGFibGV0JywgJ3JldGluYTN4JykgeyB9XG4vLy9cbkBtaXhpbiBtZWRpYSgkY29uZGl0aW9ucy4uLikge1xuICBAaWYgKCRpbS1tZWRpYS1zdXBwb3J0IGFuZCBsZW5ndGgoJGNvbmRpdGlvbnMpID09IDApIG9yXG4gICAgICAobm90ICRpbS1tZWRpYS1zdXBwb3J0IGFuZCBpbS1pbnRlcmNlcHRzLXN0YXRpYy1icmVha3BvaW50KCRjb25kaXRpb25zLi4uKSkge1xuICAgIEBjb250ZW50O1xuICB9IEBlbHNlIGlmICgkaW0tbWVkaWEtc3VwcG9ydCBhbmQgbGVuZ3RoKCRjb25kaXRpb25zKSA+IDApIHtcbiAgICBAbWVkaWEgI3t1bnF1b3RlKHBhcnNlLWV4cHJlc3Npb24obnRoKCRjb25kaXRpb25zLCAxKSkpfSB7XG4gICAgICAvLyBSZWN1cnNpdmUgY2FsbFxuICAgICAgQGluY2x1ZGUgbWVkaWEoc2xpY2UoJGNvbmRpdGlvbnMsIDIpLi4uKSB7XG4gICAgICAgIEBjb250ZW50O1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLyogc3R5bGVsaW50LWRpc2FibGUgYmxvY2stbm8tZW1wdHkgKi9cbkBtaXhpbiBoZWFkbGluZV9ob29rKCRsZXZlbCkge1xufVxuXG5AbWl4aW4gbGlua19ob29rKCkge1xufVxuXG5AbWl4aW4gbGlzdF9ob29rKCkge1xufVxuXG5AbWl4aW4gbGlzdC1pdGVtX2hvb2soKSB7XG59XG4vKiBzdHlsZWxpbnQtZW5hYmxlICovXG4iLCJAaW1wb3J0ICdjb21wb25lbnRzL2NvbnRhaW5lci9jb250YWluZXInO1xuQGltcG9ydCAnY29uZmlnL3ZhcmlhYmxlcyc7XG5AaW1wb3J0ICdjb21wb25lbnRzL3R5cG9ncmFwaHkvbWl4aW4nO1xuXG4kbnM6ICdjcy0nO1xuXG5ib2R5LFxuaHRtbCB7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIG1heC13aWR0aDogMTAwdnc7XG59XG5cbi5uby1zY3JvbGwge1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICB3aWR0aDogMTAwdnc7XG4gICAgaGVpZ2h0OiAxMDB2aDtcbn1cblxuLm5vLXNjcm9sbC1jaGlsZCB7XG4gICAgb3ZlcmZsb3cteTogaGlkZGVuICFpbXBvcnRhbnQ7IC8vIE92ZXJmbG93IGhhcyBiZWVuIG1vdmVkIHRvIGNoaWxkIGVsZW1lbnQgaW4gb3JkZXIgdG8gbWFpbnRhaW4gdmlzaWJpbGl0eSBvZiBpdGVtcyBpbiB0aGUgYmFja2dyb3VuZFxufVxuXG4jbWFpbmNvbnRlbnQge1xuICAgIGZsZXg6IDEgMCBhdXRvO1xuICAgIGJhY2tncm91bmQ6ICRjb2xvcl9wYXBpbGFydF9iZztcbiAgICBtaW4td2lkdGg6IDEwMCU7XG59XG5cbi5wYWdlLXdyYXBwZXIge1xuICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG4gICAgbWluLWhlaWdodDogMTAwJTtcblxuICAgIEBpbmNsdWRlIG1lZGlhKCc+PXRhYmxldCcpIHtcbiAgICAgICAgZGlzcGxheTogZmxleCAhaW1wb3J0YW50O1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgQGlmICgkZ2xvYmFsX2hlYWRlci1pcy1ib3R0b20tb24tbW9iaWxlKSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206ICRnbG9iYWxfaGVhZGVyLWhlaWdodC1tb2JpbGU7XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz49dGFibGV0Jykge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLmNvbHVtbnMgLmNvbHVtbi5tYWluIHtcbiAgICB3aWR0aDogYXV0bztcbiAgICBwYWRkaW5nOiAkbWFpbi1jb2x1bW5fcGFkZGluZy1tb2JpbGU7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIG1pbi1oZWlnaHQ6IDEwcmVtO1xuXG4gICAgQGluY2x1ZGUgbWVkaWEoJz49dGFibGV0Jykge1xuICAgICAgICBwYWRkaW5nOiAkbWFpbi1jb2x1bW5fcGFkZGluZztcbiAgICB9XG59XG5cbi5jbXMtaG9tZSAuY29sdW1ucyAuY29sdW1uLm1haW4ge1xuICAgIHBhZGRpbmc6ICRob21lcGFnZS1tYWluLWNvbHVtbl9wYWRkaW5nLW1vYmlsZTtcblxuICAgIEBpbmNsdWRlIG1lZGlhKCc+PXRhYmxldCcpIHtcbiAgICAgICAgcGFkZGluZzogJGhvbWVwYWdlLW1haW4tY29sdW1uX3BhZGRpbmc7XG4gICAgfVxufVxuXG4ucGFnZS1sYXlvdXQtMWNvbHVtbiB7XG4gICAgLnByb2R1Y3QtaW5mby13cmFwcGVyIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz49dGFibGV0Jykge1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgICB3aWR0aDogNDAlO1xuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz49bGFwdG9wJykge1xuICAgICAgICAgICAgd2lkdGg6IDMwJTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuQGluY2x1ZGUgbWVkaWEoJz49dGFibGV0Jykge1xuICAgIC5wYWdlLWxheW91dC0yY29sdW1ucy1sZWZ0IHtcbiAgICAgICAgLnNpZGViYXItbWFpbixcbiAgICAgICAgLnNpZGViYXItYWRkaXRpb25hbCB7XG4gICAgICAgICAgICB3aWR0aDogMjIuNSU7XG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiA0MHB4O1xuICAgICAgICAgICAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgJGNvbG9yX2dhbGxlcnk7XG4gICAgICAgIH1cblxuICAgICAgICAuY29sdW1ucyB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgfVxuXG4gICAgICAgIC5jb2x1bW4ubWFpbiB7XG4gICAgICAgICAgICBmbG9hdDogcmlnaHQ7XG4gICAgICAgIH1cblxuICAgICAgICAuc2lkZWJhci1tYWluIHtcbiAgICAgICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICB9XG4gICAgfVxufVxuXG5hIHtcbiAgICBAaW5jbHVkZSBsaW5rKFxuICAgICAgICAkY29sb3I6ICRsaW5rLWNvbG9yX2Jhc2UsXG4gICAgICAgICRjb2xvci1ob3ZlcjogJGxpbmstY29sb3JfYmFzZS1ob3ZlclxuICAgICk7XG59XG5cbi5naWZ0LW9wdGlvbnMtY2FydC1pdGVtIHtcbiAgICBkaXNwbGF5OiBub25lO1xufVxuXG4vL1BheXBhbCBtb2R1bGVcbi5wYXlwYWwtZXhwcmVzcy1yZXZpZXcgLnBhZ2UtdGl0bGUtd3JhcHBlciB7XG4gICAgQGluY2x1ZGUgbWVkaWEoJz49dGFibGV0Jykge1xuICAgICAgICBwYWRkaW5nOiAwIDEuNXJlbTtcbiAgICB9XG59XG5cbi5wYXlwYWwtcmV2aWV3LnZpZXcge1xuICAgIEBpbmNsdWRlIG1lZGlhKCc8bGFwdG9wJykge1xuICAgICAgICAuI3skbnN9Y2FydC1pdGVtX19wcmljZSB7XG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDAgIWltcG9ydGFudDtcbiAgICAgICAgfVxuXG4gICAgICAgIC4jeyRuc31jYXJ0LWl0ZW1fX3N1YnRvdGFsIHtcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDAgIWltcG9ydGFudDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIEBpbmNsdWRlIG1lZGlhKCc+PXRhYmxldCcpIHtcbiAgICAgICAgcGFkZGluZzogMCAxLjVyZW07XG4gICAgfVxufVxuXG4ucGF5cGFsLWV4cHJlc3MtaW4tY29udGV4dC1taW5pLWNhcnQtY29udGFpbmVyIHtcbiAgICBtYXJnaW4tdG9wOiAxcmVtO1xufVxuXG4ucGF5cGFsLXJldmlldy1kaXNjb3VudCB7XG4gICAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbn1cbiIsIkBpbXBvcnQgJ2NvbmZpZy92YXJpYWJsZXMnO1xuQGltcG9ydCAnY29tcG9uZW50cy90eXBvZ3JhcGh5L2hvb2snO1xuQGltcG9ydCAndXRpbHMvZm9udC1mYW1pbHknO1xuXG4kdHlwb2dyYXBoeV9oZWFkbGluZS1mb250LWZhbWlseTogJGZvbnRfZmFtaWx5LXByaW1hcnkgIWRlZmF1bHQ7XG4kdHlwb2dyYXBoeV9oZWFkbGluZS1mb250LXdlaWdodDogNzAwICFkZWZhdWx0O1xuJHR5cG9ncmFwaHlfaGVhZGxpbmUtY29sb3I6ICRjb2xvcl90ZXh0LTkwMCAhZGVmYXVsdDtcbiR0eXBvZ3JhcGh5X2hlYWRsaW5lLXRleHQtdHJhbnNmb3JtOiBub25lICFkZWZhdWx0O1xuJHR5cG9ncmFwaHlfaGVhZGxpbmUtbWFyZ2luczogMXJlbSAwIDJyZW0gIWRlZmF1bHQ7XG5cbiR0eXBvZ3JhcGh5X2xpbmstY29sb3I6ICRsaW5rLWNvbG9yX2Jhc2UgIWRlZmF1bHQ7XG4kdHlwb2dyYXBoeV9saW5rLS1ob3Zlci1jb2xvcjogJGxpbmstY29sb3JfYmFzZS1ob3ZlciAhZGVmYXVsdDtcbiR0eXBvZ3JhcGh5X2xpbmstdGV4dC1kZWNvcmF0aW9uOiBub25lICFkZWZhdWx0O1xuJHR5cG9ncmFwaHlfbGluay0taG92ZXItdGV4dC1kZWNvcmF0aW9uOiAkdHlwb2dyYXBoeV9saW5rLXRleHQtZGVjb3JhdGlvbiAhZGVmYXVsdDtcblxuJHR5cG9ncmFwaHlfbGlzdC1tYXJnaW46IDAgMCAyLjVyZW0gIWRlZmF1bHQ7XG4kdHlwb2dyYXBoeV9saXN0LXBhZGRpbmc6IDAgMCAwIDRyZW0gIWRlZmF1bHQ7XG5cbiR0eXBvZ3JhcGh5X2xpc3QtaXRlbS1tYXJnaW46IDAgMCAxcmVtICFkZWZhdWx0O1xuXG5AbWl4aW4gaGVhZGxpbmUoJGxldmVsOiAkZm9udC1zaXplX2hlYWRsaW5lLTIpIHtcbiAgICBAaW5jbHVkZSBmb250LWZhbWlseSgkdHlwb2dyYXBoeV9oZWFkbGluZS1mb250LWZhbWlseSk7XG5cbiAgICBmb250LXNpemU6ICRsZXZlbDtcbiAgICBsaW5lLWhlaWdodDogMS4xO1xuICAgIGNvbG9yOiAkdHlwb2dyYXBoeV9oZWFkbGluZS1jb2xvcjtcbiAgICBmb250LXdlaWdodDogJHR5cG9ncmFwaHlfaGVhZGxpbmUtZm9udC13ZWlnaHQ7XG4gICAgdGV4dC10cmFuc2Zvcm06ICR0eXBvZ3JhcGh5X2hlYWRsaW5lLXRleHQtdHJhbnNmb3JtO1xuICAgIG1hcmdpbjogJHR5cG9ncmFwaHlfaGVhZGxpbmUtbWFyZ2lucztcblxuICAgIEBpbmNsdWRlIGhlYWRsaW5lX2hvb2soJGxldmVsKTtcbn1cblxuQG1peGluIGxpbmsoJGNvbG9yOiAkdHlwb2dyYXBoeV9saW5rLWNvbG9yLFxuICAgICRjb2xvci1ob3ZlcjogJHR5cG9ncmFwaHlfbGluay0taG92ZXItY29sb3IsXG4gICAgJGRlY29yYXRpb246ICR0eXBvZ3JhcGh5X2xpbmstdGV4dC1kZWNvcmF0aW9uLFxuICAgICRkZWNvcmF0aW9uLWhvdmVyOiAkdHlwb2dyYXBoeV9saW5rLS1ob3Zlci10ZXh0LWRlY29yYXRpb24pIHtcblxuICAgICYsXG4gICAgJjp2aXNpdGVkIHtcbiAgICAgICAgY29sb3I6ICRjb2xvcjtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiAkZGVjb3JhdGlvbjtcbiAgICB9XG5cbiAgICAmOmhvdmVyLFxuICAgICY6Zm9jdXMsXG4gICAgJjphY3RpdmUsXG4gICAgJjp2aXNpdGVkOmhvdmVyLFxuICAgICY6dmlzaXRlZDpmb2N1cyB7XG4gICAgICAgIGNvbG9yOiAkY29sb3ItaG92ZXI7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogJGRlY29yYXRpb24taG92ZXI7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbGlua19ob29rKCk7XG59XG5cbkBtaXhpbiBsaXN0KCkge1xuICAgIG1hcmdpbjogJHR5cG9ncmFwaHlfbGlzdC1tYXJnaW47XG4gICAgcGFkZGluZzogJHR5cG9ncmFwaHlfbGlzdC1wYWRkaW5nO1xuXG4gICAgQGluY2x1ZGUgbGlzdF9ob29rKCk7XG59XG5cbkBtaXhpbiBsaXN0LWl0ZW0oKSB7XG4gICAgbWFyZ2luOiAkdHlwb2dyYXBoeV9saXN0LWl0ZW0tbWFyZ2luO1xuXG4gICAgQGluY2x1ZGUgbGlzdC1pdGVtX2hvb2soKTtcbn0iLCIvKipcbiAqIEJyZWFrcG9pbnQgY29tcG9uZW50IHVzZWQgYnkgaW5jbHVkZS1tZWRpYSB2ZW5kb3IgbGlicmFyeS5cbiAqL1xuQHVzZSAnc2FzczptYXAnO1xuLyoqXG4gKiBFeHRyYWN0cyBuZXN0ZWQga2V5cyBmcm9tIGdpdmVuIG1hcC5cbiAqIEV4YW1wbGU6IGRlZXAtZ2V0KCRzb21lLW1hcCwgc29tZSwgbmVzdGVkLCBrZXlzKTtcbiAqL1xuLyoqXG4qIERlZmF1bHQgcHJvamVjdCBicmVha3BvaW50cyAtIFtlbV1cbiovXG4vKipcbiAqIEJyZWFrcG9pbnQgY29tcG9uZW50IHVzZWQgYnkgaW5jbHVkZS1tZWRpYSB2ZW5kb3IgbGlicmFyeS5cbiAqL1xuQHVzZSAnc2FzczptYXAnO1xuLyoqXG4gKiBFeHRyYWN0cyBuZXN0ZWQga2V5cyBmcm9tIGdpdmVuIG1hcC5cbiAqIEV4YW1wbGU6IGRlZXAtZ2V0KCRzb21lLW1hcCwgc29tZSwgbmVzdGVkLCBrZXlzKTtcbiAqL1xuLyoqXG4qIERlZmF1bHQgcHJvamVjdCBicmVha3BvaW50cyAtIFtlbV1cbiovXG4uY3Mtc2xpZGVyLW5hdmlnYXRpb24ge1xuICBkaXNwbGF5OiBub25lOyB9XG4gIEBtZWRpYSAoaG92ZXI6IGhvdmVyKSBhbmQgKHBvaW50ZXI6IGZpbmUpIHtcbiAgICAuY3Mtc2xpZGVyLW5hdmlnYXRpb24ge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgei1pbmRleDogMTE7XG4gICAgICB0b3A6IDUwJTtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTUwJSwgMCk7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgd2lkdGg6IDQuNHJlbTtcbiAgICAgIGhlaWdodDogNS4ycmVtO1xuICAgICAgYm9yZGVyOiAwO1xuICAgICAgYm9yZGVyLXJhZGl1czogN3B4O1xuICAgICAgYmFja2dyb3VuZDogI2ZmZjtcbiAgICAgIGJveC1zaGFkb3c6IDFweCAxcHggMnB4IDAgcmdiYSgwLCAwLCAwLCAwLjI1KTtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgICBjb2xvcjogIzdlNTdjMjtcbiAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgIHRyYW5zaXRpb246IGFsbCAwLjNzOyB9XG4gICAgICAuY3Mtc2xpZGVyLW5hdmlnYXRpb24tLXByZXYge1xuICAgICAgICBsZWZ0OiAxLjVyZW07IH1cbiAgICAgIC5jcy1zbGlkZXItbmF2aWdhdGlvbi0tbmV4dCB7XG4gICAgICAgIHJpZ2h0OiAxLjVyZW07IH1cbiAgICAgIC5jcy1zbGlkZXItbmF2aWdhdGlvbltkaXNhYmxlZF0ge1xuICAgICAgICBvcGFjaXR5OiAwLjI1O1xuICAgICAgICBjdXJzb3I6IG5vdC1hbGxvd2VkOyB9XG4gICAgICAgIC5jcy1zbGlkZXItbmF2aWdhdGlvbltkaXNhYmxlZF0gc3ZnIHtcbiAgICAgICAgICBmaWx0ZXI6IGdyYXlzY2FsZSgxKTsgfVxuICAgICAgLmNzLXNsaWRlci1uYXZpZ2F0aW9uOm5vdChbZGlzYWJsZWRdKTpob3ZlciB7XG4gICAgICAgIGJveC1zaGFkb3c6IDFweCAxcHggMTBweCAwIHJnYmEoMCwgMCwgMCwgMC4yNSk7IH1cbiAgICAgIC5jcy1zbGlkZXItbmF2aWdhdGlvbl9faWNvbiB7XG4gICAgICAgIHdpZHRoOiAxLjRyZW07XG4gICAgICAgIGhlaWdodDogMi43cmVtO1xuICAgICAgICBmaWxsOiBjdXJyZW50Q29sb3I7IH0gfVxuIiwiQGltcG9ydCAnY29uZmlnL3ZhcmlhYmxlcyc7XG5AaW1wb3J0ICdjb21wb25lbnRzL19zbGlkZXIvbmF2aWdhdGlvbi9taXhpbic7XG5cbi4jeyRuc31zbGlkZXItbmF2aWdhdGlvbiB7XG4gICAgZGlzcGxheTogbm9uZTtcblxuICAgIEBtZWRpYSAoaG92ZXI6IGhvdmVyKSBhbmQgKHBvaW50ZXI6IGZpbmUpIHtcbiAgICAgICAgQGluY2x1ZGUgc2xpZGVyLW5hdmlnYXRpb24oKTtcbiAgICB9XG59XG4iLCJAaW1wb3J0ICdjb25maWcvdmFyaWFibGVzJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvX3NsaWRlci9ob29rcyc7XG5cbiR0cmlnZ2VyX3dpZHRoOiA0LjRyZW0gIWRlZmF1bHQ7XG4kdHJpZ2dlcl9oZWlnaHQ6IDUuMnJlbSAhZGVmYXVsdDtcbiR0cmlnZ2VyX2VkZ2Utb2Zmc2V0OiAxLjVyZW0gIWRlZmF1bHQ7XG4kdHJpZ2dlcl9ib3JkZXI6IDAgIWRlZmF1bHQ7XG4kdHJpZ2dlcl9yYWRpdXM6ICRib3JkZXItcmFkaXVzX2Jhc2UgIWRlZmF1bHQ7XG4kdHJpZ2dlcl9iYWNrZ3JvdW5kOiAkY29sb3JfYmFja2dyb3VuZC0yMDAgIWRlZmF1bHQ7XG4kdHJpZ2dlcl9zaGFkb3c6IDFweCAxcHggMnB4IDAgcmdiYSgkY29sb3JfYmxhY2ssIDAuMjUpICFkZWZhdWx0O1xuJHRyaWdnZXJfc2hhZG93LS1ob3ZlcjogMXB4IDFweCAxMHB4IDAgcmdiYSgkY29sb3JfYmxhY2ssIDAuMjUpICFkZWZhdWx0O1xuJHRyaWdnZXJfY29sb3I6ICRjb2xvcl9wcmltYXJ5LTUwMCAhZGVmYXVsdDsgLy8gaWNvbiBjb2xvciBpbmhlcml0c1xuJHRyaWdnZXItLWRpc2FibGVkLW9wYWNpdHk6IDAuMjUgIWRlZmF1bHQ7XG4kdHJpZ2dlci0tZGlzYWJsZWQtZ3JheW91dDogdHJ1ZSAhZGVmYXVsdDtcblxuJHRyaWdnZXItaWNvbl93aWR0aDogMS40cmVtICFkZWZhdWx0O1xuJHRyaWdnZXItaWNvbl9oZWlnaHQ6IDIuN3JlbSAhZGVmYXVsdDtcblxuQG1peGluIHNsaWRlci1uYXZpZ2F0aW9uKCkge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB6LWluZGV4OiAxMTtcbiAgICB0b3A6IDUwJTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC01MCUsIDApO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICB3aWR0aDogJHRyaWdnZXJfd2lkdGg7XG4gICAgaGVpZ2h0OiAkdHJpZ2dlcl9oZWlnaHQ7XG4gICAgYm9yZGVyOiAkdHJpZ2dlcl9ib3JkZXI7XG4gICAgYm9yZGVyLXJhZGl1czogJHRyaWdnZXJfcmFkaXVzO1xuICAgIGJhY2tncm91bmQ6ICR0cmlnZ2VyX2JhY2tncm91bmQ7XG4gICAgYm94LXNoYWRvdzogJHRyaWdnZXJfc2hhZG93O1xuICAgIHBhZGRpbmc6IDA7XG4gICAgY29sb3I6ICR0cmlnZ2VyX2NvbG9yO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICB0cmFuc2l0aW9uOiBhbGwgJHRyYW5zaXRpb24tZGVmYXVsdC10aW1lO1xuXG4gICAgJi0tcHJldiB7XG4gICAgICAgIGxlZnQ6ICR0cmlnZ2VyX2VkZ2Utb2Zmc2V0O1xuICAgIH1cblxuICAgICYtLW5leHQge1xuICAgICAgICByaWdodDogJHRyaWdnZXJfZWRnZS1vZmZzZXQ7XG4gICAgfVxuXG4gICAgJltkaXNhYmxlZF0ge1xuICAgICAgICBvcGFjaXR5OiAkdHJpZ2dlci0tZGlzYWJsZWQtb3BhY2l0eTtcbiAgICAgICAgY3Vyc29yOiBub3QtYWxsb3dlZDtcblxuICAgICAgICBAaWYgKCR0cmlnZ2VyLS1kaXNhYmxlZC1ncmF5b3V0ID09IHRydWUpIHtcbiAgICAgICAgICAgIHN2ZyB7XG4gICAgICAgICAgICAgICAgZmlsdGVyOiBncmF5c2NhbGUoMSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmOm5vdChbZGlzYWJsZWRdKTpob3ZlciB7XG4gICAgICAgIGJveC1zaGFkb3c6ICR0cmlnZ2VyX3NoYWRvdy0taG92ZXI7XG4gICAgfVxuXG4gICAgJl9faWNvbiB7XG4gICAgICAgIHdpZHRoOiAkdHJpZ2dlci1pY29uX3dpZHRoO1xuICAgICAgICBoZWlnaHQ6ICR0cmlnZ2VyLWljb25faGVpZ2h0O1xuICAgICAgICBmaWxsOiBjdXJyZW50Q29sb3I7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgc2xpZGVyLW5hdmlnYXRpb24taG9vaygpO1xufVxuIiwiLyoqXG4gKiBCcmVha3BvaW50IGNvbXBvbmVudCB1c2VkIGJ5IGluY2x1ZGUtbWVkaWEgdmVuZG9yIGxpYnJhcnkuXG4gKi9cbkB1c2UgJ3Nhc3M6bWFwJztcbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuLyoqXG4gKiBCcmVha3BvaW50IGNvbXBvbmVudCB1c2VkIGJ5IGluY2x1ZGUtbWVkaWEgdmVuZG9yIGxpYnJhcnkuXG4gKi9cbkB1c2UgJ3Nhc3M6bWFwJztcbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuLmNzLXNsaWRlci1wYWdpbmF0aW9uIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB3cmFwO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZ2FwOiAwLjhyZW07XG4gIG1pbi1oZWlnaHQ6IDNyZW07IH1cbiAgLmNzLXNsaWRlci1wYWdpbmF0aW9uLS1mcmFjdGlvbiB7XG4gICAgZ2FwOiAwO1xuICAgIHdoaXRlLXNwYWNlOiBwcmUtd3JhcDtcbiAgICBjb2xvcjogaW5oZXJpdDtcbiAgICBmb250LXdlaWdodDogNjAwOyB9XG4gICAgLmNzLXNsaWRlci1wYWdpbmF0aW9uLS1mcmFjdGlvbiBzcGFuIHtcbiAgICAgIGNvbG9yOiAjMTFhMDk5OyB9XG4gIC5jcy1zbGlkZXItcGFnaW5hdGlvbl9fYnVsbGV0IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgYm9yZGVyLXJhZGl1czogMnB4O1xuICAgIGJhY2tncm91bmQ6ICNmZmY7XG4gICAgYm9yZGVyOiAwO1xuICAgIGlubGluZS1zaXplOiAyLjJyZW07XG4gICAgYmxvY2stc2l6ZTogMC45cmVtO1xuICAgIHRyYW5zaXRpb246IGFsbCAwLjE1cztcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHRleHQtaW5kZW50OiAtOTlyZW07IH1cbiAgICAuY3Mtc2xpZGVyLXBhZ2luYXRpb25fX2J1bGxldC5jdXJyZW50IHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICMxMWEwOTk7IH1cbiAgICAuY3Mtc2xpZGVyLXBhZ2luYXRpb25fX2J1bGxldDpvbmx5LWNoaWxkIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiIsIkBpbXBvcnQgJ2NvbmZpZy92YXJpYWJsZXMnO1xuQGltcG9ydCAnY29tcG9uZW50cy9fc2xpZGVyL3BhZ2luYXRpb24vbWl4aW4nO1xuXG4uI3skbnN9c2xpZGVyLXBhZ2luYXRpb24ge1xuICAgIEBpbmNsdWRlIHNsaWRlci1wYWdpbmF0aW9uKCk7XG59XG4iLCJAaW1wb3J0ICdjb25maWcvdmFyaWFibGVzJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvX3NsaWRlci9ob29rcyc7XG5cbiRzbGlkZXItcGFnaW5hdGlvbl9idWxsZXRzLWdhcDogMC44cmVtICFkZWZhdWx0O1xuJHNsaWRlci1wYWdpbmF0aW9uX2J1bGxldC1ib3JkZXI6IDAgIWRlZmF1bHQ7XG4kc2xpZGVyLXBhZ2luYXRpb25fYnVsbGV0LXJhZGl1czogMnB4ICFkZWZhdWx0O1xuJHNsaWRlci1wYWdpbmF0aW9uX2J1bGxldC1iZzogJGNvbG9yX3doaXRlICFkZWZhdWx0O1xuJHNsaWRlci1wYWdpbmF0aW9uX2J1bGxldC1iZy0tY3VycmVudDogJGNvbG9yX3NlY29uZGFyeS01MDAgIWRlZmF1bHQ7XG5cbiRzbGlkZXItcGFnaW5hdGlvbl9idWxsZXQtd2lkdGg6IDIuMnJlbSAhZGVmYXVsdDtcbiRzbGlkZXItcGFnaW5hdGlvbl9idWxsZXQtaGVpZ2h0OiAwLjlyZW0gIWRlZmF1bHQ7XG5cbiRzbGlkZXItcGFnaW5hdGlvbi0tZnJhY3Rpb25fY29sb3I6IGluaGVyaXQgIWRlZmF1bHQ7XG4kc2xpZGVyLXBhZ2luYXRpb24tLWZyYWN0aW9uX2ZvbnQtd2VpZ2h0OiA2MDAgIWRlZmF1bHQ7XG4kc2xpZGVyLXBhZ2luYXRpb24tLWZyYWN0aW9uX2N1cnJlbnQtY29sb3I6ICRjb2xvcl9zZWNvbmRhcnktNTAwICFkZWZhdWx0O1xuXG5AbWl4aW4gc2xpZGVyLXBhZ2luYXRpb24oKSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBnYXA6ICRzbGlkZXItcGFnaW5hdGlvbl9idWxsZXRzLWdhcDtcbiAgICBtaW4taGVpZ2h0OiAzcmVtO1xuXG4gICAgJi0tZnJhY3Rpb24ge1xuICAgICAgICBnYXA6IDA7XG4gICAgICAgIHdoaXRlLXNwYWNlOiBwcmUtd3JhcDtcbiAgICAgICAgY29sb3I6ICRzbGlkZXItcGFnaW5hdGlvbi0tZnJhY3Rpb25fY29sb3I7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiAkc2xpZGVyLXBhZ2luYXRpb24tLWZyYWN0aW9uX2ZvbnQtd2VpZ2h0O1xuXG4gICAgICAgIHNwYW4ge1xuICAgICAgICAgICAgY29sb3I6ICRzbGlkZXItcGFnaW5hdGlvbi0tZnJhY3Rpb25fY3VycmVudC1jb2xvcjtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2J1bGxldCB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogJHNsaWRlci1wYWdpbmF0aW9uX2J1bGxldC1yYWRpdXM7XG4gICAgICAgIGJhY2tncm91bmQ6ICRzbGlkZXItcGFnaW5hdGlvbl9idWxsZXQtYmc7XG4gICAgICAgIGJvcmRlcjogJHNsaWRlci1wYWdpbmF0aW9uX2J1bGxldC1ib3JkZXI7XG4gICAgICAgIGlubGluZS1zaXplOiAkc2xpZGVyLXBhZ2luYXRpb25fYnVsbGV0LXdpZHRoO1xuICAgICAgICBibG9jay1zaXplOiAkc2xpZGVyLXBhZ2luYXRpb25fYnVsbGV0LWhlaWdodDtcbiAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuMTVzO1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICB0ZXh0LWluZGVudDogLTk5cmVtO1xuXG4gICAgICAgICYuY3VycmVudCB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkc2xpZGVyLXBhZ2luYXRpb25fYnVsbGV0LWJnLS1jdXJyZW50O1xuICAgICAgICB9XG5cbiAgICAgICAgJjpvbmx5LWNoaWxkIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBAaW5jbHVkZSBzbGlkZXItcGFnaW5hdGlvbi1ob29rKCk7XG59IiwiLyoqXG4gKiBCcmVha3BvaW50IGNvbXBvbmVudCB1c2VkIGJ5IGluY2x1ZGUtbWVkaWEgdmVuZG9yIGxpYnJhcnkuXG4gKi9cbkB1c2UgJ3Nhc3M6bWFwJztcbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuLyoqXG4gKiBCcmVha3BvaW50IGNvbXBvbmVudCB1c2VkIGJ5IGluY2x1ZGUtbWVkaWEgdmVuZG9yIGxpYnJhcnkuXG4gKi9cbkB1c2UgJ3Nhc3M6bWFwJztcbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuLyoqXG4gKiBNaXhpbnMgZm9yIGZsZXhpYmxlIGNvbnRhaW5lcnMgZGVjbGFyYXRpb24uXG4gKi9cbi8qKlxuICogRGVmaW5lcyBwYWdlIGNvbnRhaW5lci4gVGhpcyBtaXhpbiBtYWtlcyBzdXJlIHRoYXQgdGhlIGNvbnRlbnQgaGFzIGFsd2F5cyBlcXVhbCBwYWRkaW5nXG4gKiBmb3IgbW9iaWxlIHNjcmVlbnMgb24gYm90aCBzaXplIG9mIHRoZSBkZXZpY2UuXG4gKi9cbi8qKlxuICogTmVnYXRlcyBwYXJlbnQgY29udGFpbmVyJ3MgcGFkZGluZyBhbmQgc2V0cyBpdCBvd24uXG4gKiBTb21ldGhpbWVzIHRoaXMgaGFzIHRvIGJlIGRvbmUgdG8gbWFrZSBiYWNrZ3JvdW5kIGV2ZW4gdG8gb3RoZXIgY29udGFpbmVycycgY29udGVudC5cbiAqL1xuLyoqXG4gKiBEZWZpbmVzIGNvbnRhaW5lciB3cmFwcGVyIHRoYXQgbWFrZXMgc3VyZSBjb250bmV0IGRvZXNuJ3QgZXh0ZW5kIGFib3ZlIGNlcnRhaW4gd2lkdGggYW5kIGlzIGFsd2F5cyBjZW50ZXJlZC5cbiAqL1xuLypcbiAqIEZ1bmN0aW9uIHRvIGdldCB2YWx1ZSBmcm9tIGEgbGlzdCBvZiB2YWx1ZXMsIGJhc2VkIG9uIHNpZGVcbiAqIEBwYXJhbSB7c3RyaW5nfSAkdmFyaWFibGU6IHZhcmlhYmxlIHdpdGggYSBsaXN0IG9mIHZhbHVlcyAobGlrZSBwYWRkaW5ncywgbWFyZ2lucyBldGMuKTtcbiAqIEBwYXJhbSB7c3RyaW5nfSAkc2lkZTogc2lkZSAodXAgLyByaWdodCAvIGRvd24gLyBsZWZ0KSBmb3Igd2hpY2ggd2Ugd2FudCB0byBnZXQgdmFsdWVcbiAqIEV4YW1wbGU6XG4gKiAkY29tcG9uZW50X3BhZGRpbmc6IDFyZW0gMnJlbSAzcmVtO1xuICogZ2V0LXZhbHVlLWZyb20tbGlzdCgkY29tcG9uZW50X3BhZGRpbmcsICdyaWdodCcpIC8vIDJyZW1cbiAqIGdldC12YWx1ZS1mcm9tLWxpc3QoJGNvbXBvbmVudF9wYWRkaW5nLCAnYm90dG9tJykgLy8gM3JlbVxuICovXG4vKiBzdHlsZWxpbnQtZGlzYWJsZSBibG9jay1uby1lbXB0eSAqL1xuLyogc3R5bGVsaW50LWVuYWJsZSAqL1xuLyoqXG4gKiBCcmVha3BvaW50IGNvbXBvbmVudCB1c2VkIGJ5IGluY2x1ZGUtbWVkaWEgdmVuZG9yIGxpYnJhcnkuXG4gKi9cbkB1c2UgJ3Nhc3M6bWFwJztcbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuLmNzLWFkZHRvY2FydCB7XG4gIC8qIHN0eWxlbGludC1kaXNhYmxlICovXG4gIC8qIHN0eWxlbGludC1lbmFibGUgKi8gfVxuICAuY3MtYWRkdG9jYXJ0X193cmFwcGVyIHtcbiAgICBvdmVyZmxvdzogaGlkZGVuOyB9XG4gICAgQHN1cHBvcnRzIChjbGlwLXBhdGg6IGluc2V0KDAgMCAwIDAgcm91bmQgMjAwcHgpKSB7XG4gICAgICAuY3MtYWRkdG9jYXJ0X193cmFwcGVyIHtcbiAgICAgICAgY2xpcC1wYXRoOiBpbnNldCgwIDAgMCAwIHJvdW5kIDIwMHB4KTsgfSB9XG4gICAgLnBhZ2UtcHJvZHVjdC1kb3dubG9hZGFibGUgLnVwZGF0ZSAuY3MtYWRkdG9jYXJ0X193cmFwcGVyIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgLmNzLWFkZHRvY2FydF9fYnV0dG9uIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgZm9udC1zaXplOiAxLjhyZW07XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjI3NWVtO1xuICAgIG1hcmdpbjogMDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgICBwYWRkaW5nOiAwLjc1ZW0gMWVtO1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjVzLCBib3JkZXItY29sb3IgMC41cywgZmlsbCAwLjVzLCBjb2xvciAwLjVzO1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgei1pbmRleDogNTsgfVxuICAgIC5jcy1hZGR0b2NhcnRfX2J1dHRvbjpob3ZlciwgLmNzLWFkZHRvY2FydF9fYnV0dG9uOmZvY3VzLCAuY3MtYWRkdG9jYXJ0X19idXR0b246YWN0aXZlIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICM3ZTU3YzIgIWltcG9ydGFudDsgfVxuICAgIC5jcy1hZGR0b2NhcnRfX2J1dHRvbjpiZWZvcmUsIC5jcy1hZGR0b2NhcnRfX2J1dHRvbjphZnRlciB7XG4gICAgICBjb250ZW50OiAnJztcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogLTFweDtcbiAgICAgIGJvdHRvbTogLTFweDtcbiAgICAgIHJpZ2h0OiAtMXB4OyB9XG4gICAgLmNzLWFkZHRvY2FydF9fYnV0dG9uOmJlZm9yZSB7XG4gICAgICB3aWR0aDogMy40ZW07XG4gICAgICBib3JkZXItcmFkaXVzOiAwIDIwMHB4IDIwMHB4IDA7XG4gICAgICB6LWluZGV4OiAtMTtcbiAgICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgwZGVnLCB0cmFuc3BhcmVudCAwJSwgdHJhbnNwYXJlbnQgMCUsICM0ZDJjOTEgMCUsICM0ZDJjOTEgMTAwJSk7IH1cbiAgICAuY3MtYWRkdG9jYXJ0X19idXR0b246YWZ0ZXIge1xuICAgICAgd2lkdGg6IDNlbTtcbiAgICAgIG1pbi13aWR0aDogYXV0bztcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICM0ZDJjOTE7XG4gICAgICB0cmFuc2l0aW9uOiB3aWR0aCAwLjI1cyBsaW5lYXI7XG4gICAgICB6LWluZGV4OiAtMjtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDIwMHB4OyB9XG4gICAgLmNzLWFkZHRvY2FydF9fYnV0dG9uOmhvdmVyOmFmdGVyIHtcbiAgICAgIHdpZHRoOiBjYWxjKDEwMCUgKyAycHgpOyB9XG4gICAgLmNzLWFkZHRvY2FydF9fYnV0dG9uOjotbW96LWZvY3VzLWlubmVyIHtcbiAgICAgIGJvcmRlcjogMDtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgICBtYXJnaW46IDA7IH1cbiAgICAuY3MtYWRkdG9jYXJ0X19idXR0b24sIC5jcy1hZGR0b2NhcnRfX2J1dHRvbjp2aXNpdGVkIHtcbiAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDIwMHB4O1xuICAgICAgb3V0bGluZS1vZmZzZXQ6IDFweDtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzdlNTdjMjsgfVxuICAgICAgLmNzLWFkZHRvY2FydF9fYnV0dG9uICosIC5jcy1hZGR0b2NhcnRfX2J1dHRvbjp2aXNpdGVkICoge1xuICAgICAgICBjb2xvcjogI2ZmZjtcbiAgICAgICAgZmlsbDogI2ZmZjsgfVxuICAgIC5jcy1hZGR0b2NhcnRfX2J1dHRvbjpob3Zlcjpub3QoW2Rpc2FibGVkXSksIC5jcy1hZGR0b2NhcnRfX2J1dHRvbjpmb2N1czpub3QoW2Rpc2FibGVkXSksIC5jcy1hZGR0b2NhcnRfX2J1dHRvbjphY3RpdmU6bm90KFtkaXNhYmxlZF0pIHtcbiAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgICBvdXRsaW5lOiBub25lO1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgICBjb2xvcjogI2ZmZjtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICM0ZDJjOTE7IH1cbiAgICAgIC5jcy1hZGR0b2NhcnRfX2J1dHRvbjpob3Zlcjpub3QoW2Rpc2FibGVkXSkgKiwgLmNzLWFkZHRvY2FydF9fYnV0dG9uOmZvY3VzOm5vdChbZGlzYWJsZWRdKSAqLCAuY3MtYWRkdG9jYXJ0X19idXR0b246YWN0aXZlOm5vdChbZGlzYWJsZWRdKSAqIHtcbiAgICAgICAgY29sb3I6ICNmZmY7XG4gICAgICAgIGZpbGw6ICNmZmY7IH1cbiAgICAuY3MtYWRkdG9jYXJ0X19idXR0b25bZGlzYWJsZWRdIHtcbiAgICAgIG9wYWNpdHk6IDAuNjU7XG4gICAgICBjdXJzb3I6IGF1dG87IH1cbiAgICAuY3MtYWRkdG9jYXJ0X19idXR0b25bZGlzYWJsZWRdIHtcbiAgICAgIC8qIFxuICAgICAgICAgICAgICogQVRDIGJ0bi4gaW4gYnV5Ym94IHVzZXMgZGVmZXJBVENDbGljaygpXG4gICAgICAgICAgICAgKiBhcyBwYXJ0IG9mIHRoZSBgRmFzdGVyIEFkZCBUbyBDYXJ0YCBlbmFobmNlbWVudFxuICAgICAgICAgICAgICogdGhlcmVmb3JlIGl0J3MgYXBwZWFyYW5jZSBpcyBzZXQgdG8gbm9ybWFsIGFsbCB0aGUgdGltZS5cbiAgICAgICAgICAgICAqLyB9XG4gICAgICAuY3MtYnV5Ym94IC5jcy1hZGR0b2NhcnRfX2J1dHRvbltkaXNhYmxlZF0ge1xuICAgICAgICBvcGFjaXR5OiAxOyB9XG4gICAgLmNzLWFkZHRvY2FydF9fYnV0dG9uIC5jcy1hZGR0b2NhcnRfX3N1Y2Nlc3MtbGFiZWwsIC5jcy1hZGR0b2NhcnRfX2J1dHRvbjpob3ZlciAuY3MtYWRkdG9jYXJ0X19zdWNjZXNzLWxhYmVsLCAuY3MtYWRkdG9jYXJ0X19idXR0b246Zm9jdXMgLmNzLWFkZHRvY2FydF9fc3VjY2Vzcy1sYWJlbCwgLmNzLWFkZHRvY2FydF9fYnV0dG9uOmFjdGl2ZSAuY3MtYWRkdG9jYXJ0X19zdWNjZXNzLWxhYmVsIHtcbiAgICAgIGNvbG9yOiAjZmZmOyB9XG4gICAgLmNzLWFkZHRvY2FydF9fYnV0dG9uIC5jcy1hZGR0b2NhcnRfX3N1Y2Nlc3MtaWNvbiAqLCAuY3MtYWRkdG9jYXJ0X19idXR0b246aG92ZXIgLmNzLWFkZHRvY2FydF9fc3VjY2Vzcy1pY29uICosIC5jcy1hZGR0b2NhcnRfX2J1dHRvbjpmb2N1cyAuY3MtYWRkdG9jYXJ0X19zdWNjZXNzLWljb24gKiwgLmNzLWFkZHRvY2FydF9fYnV0dG9uOmFjdGl2ZSAuY3MtYWRkdG9jYXJ0X19zdWNjZXNzLWljb24gKiB7XG4gICAgICBmaWxsOiAjZmZmOyB9XG4gICAgLmNzLWFkZHRvY2FydF9fYnV0dG9uIC5jcy1hZGR0b2NhcnRfX2ZhaWwtbGFiZWwsIC5jcy1hZGR0b2NhcnRfX2J1dHRvbjpob3ZlciAuY3MtYWRkdG9jYXJ0X19mYWlsLWxhYmVsLCAuY3MtYWRkdG9jYXJ0X19idXR0b246Zm9jdXMgLmNzLWFkZHRvY2FydF9fZmFpbC1sYWJlbCwgLmNzLWFkZHRvY2FydF9fYnV0dG9uOmFjdGl2ZSAuY3MtYWRkdG9jYXJ0X19mYWlsLWxhYmVsIHtcbiAgICAgIGNvbG9yOiAjZmZmOyB9XG4gICAgLmNzLWFkZHRvY2FydF9fYnV0dG9uIC5jcy1hZGR0b2NhcnRfX2ZhaWwtaWNvbiAqLCAuY3MtYWRkdG9jYXJ0X19idXR0b246aG92ZXIgLmNzLWFkZHRvY2FydF9fZmFpbC1pY29uICosIC5jcy1hZGR0b2NhcnRfX2J1dHRvbjpmb2N1cyAuY3MtYWRkdG9jYXJ0X19mYWlsLWljb24gKiwgLmNzLWFkZHRvY2FydF9fYnV0dG9uOmFjdGl2ZSAuY3MtYWRkdG9jYXJ0X19mYWlsLWljb24gKiB7XG4gICAgICBmaWxsOiAjZmZmOyB9XG4gIC5jcy1hZGR0b2NhcnRfX2J1dHRvbi1sYWJlbCwgLmNzLWFkZHRvY2FydF9fc3VjY2Vzcy1sYWJlbCwgLmNzLWFkZHRvY2FydF9fZmFpbC1sYWJlbCB7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgICB6LWluZGV4OiAxO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBsaW5lLWhlaWdodDogMS4yNzVlbTtcbiAgICBsZXR0ZXItc3BhY2luZzogbm9ybWFsO1xuICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICBwYWRkaW5nLXJpZ2h0OiA0ZW07XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDsgfVxuICAuY3MtYWRkdG9jYXJ0X19jb25maWd1cmUtaWNvbiwgLmNzLWFkZHRvY2FydF9fYnV0dG9uLWljb24sIC5jcy1hZGR0b2NhcnRfX3N1Y2Nlc3MtaWNvbiwgLmNzLWFkZHRvY2FydF9fZmFpbC1pY29uIHtcbiAgICBtYXgtd2lkdGg6IDFlbTtcbiAgICBtYXgtaGVpZ2h0OiAxLjhyZW07XG4gICAgei1pbmRleDogMjtcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogNTAlO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTUwJSwgMCk7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIHJpZ2h0OiAxZW07XG4gICAgbWF4LXdpZHRoOiBub25lO1xuICAgIG1heC1oZWlnaHQ6IG5vbmU7XG4gICAgd2lkdGg6IDIuMnJlbTtcbiAgICBoZWlnaHQ6IDIuMnJlbTtcbiAgICAvKiBzdHlsZWxpbnQtZGlzYWJsZSAqL1xuICAgIHJpZ2h0OiAwLjhlbTtcbiAgICAvKiBzdHlsZWxpbnQtZW5hYmxlICovIH1cbiAgLmNzLWFkZHRvY2FydF9fZmFpbC1pY29uIHtcbiAgICB0cmFuc2l0aW9uOiBub25lOyB9XG4gIC5jcy1hZGR0b2NhcnRfX2J1dHRvbi1sYWJlbCwgLmNzLWFkZHRvY2FydF9fc3VjY2Vzcy1sYWJlbCB7XG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjE1cyBsaW5lYXIsIHRyYW5zZm9ybSAxcyBjdWJpYy1iZXppZXIoMCwgMC43NywgMC4xOCwgMSk7IH1cbiAgLmNzLWFkZHRvY2FydF9fYnV0dG9uLWxhYmVsIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTsgfVxuICAuY3MtYWRkdG9jYXJ0X19sb2FkaW5nIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiA1MCU7XG4gICAgbGVmdDogNTAlO1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMCkgdHJhbnNsYXRlM2QoLTUwJSwgLTUwJSwgMCk7XG4gICAgd2lkdGg6IDQwcHg7XG4gICAgaGVpZ2h0OiAxMHB4O1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjE1cyBsaW5lYXIsIHRyYW5zZm9ybSAxcyBjdWJpYy1iZXppZXIoMCwgMC43NywgMC4xOCwgMSk7XG4gICAgdHJhbnNpdGlvbi1kZWxheTogMC4yczsgfVxuICAgIC5jcy1hZGR0b2NhcnRfX2xvYWRpbmctYmFsbCB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHdpZHRoOiAxMHB4O1xuICAgICAgaGVpZ2h0OiAxMHB4O1xuICAgICAgYm90dG9tOiAwO1xuICAgICAgYmFja2dyb3VuZDogI2ZmZjtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTsgfVxuICAgICAgLmNzLWFkZHRvY2FydF9fbG9hZGluZy1iYWxsLS0xIHtcbiAgICAgICAgbGVmdDogMDsgfVxuICAgICAgLmNzLWFkZHRvY2FydF9fbG9hZGluZy1iYWxsLS0yIHtcbiAgICAgICAgbGVmdDogMTVweDtcbiAgICAgICAgYW5pbWF0aW9uLWRlbGF5OiAwLjE1cyAhaW1wb3J0YW50OyB9XG4gICAgICAuY3MtYWRkdG9jYXJ0X19sb2FkaW5nLWJhbGwtLTMge1xuICAgICAgICBsZWZ0OiAzMHB4O1xuICAgICAgICBhbmltYXRpb24tZGVsYXk6IDAuM3MgIWltcG9ydGFudDsgfVxuICAuY3MtYWRkdG9jYXJ0X19mZWVkYmFjay1iZyB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGxlZnQ6IC0xZW07XG4gICAgdG9wOiAtMXB4O1xuICAgIGJvdHRvbTogLTFweDtcbiAgICB3aWR0aDogY2FsYygxMDAlICsgMi41ZW0pO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwMCUsIDAsIDApO1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IDAgMDtcbiAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC40NXMgY3ViaWMtYmV6aWVyKDAuMDEsIDAuNjUsIDAuMzgsIDEpO1xuICAgIGJhY2tncm91bmQ6ICMzMWE0M2E7IH1cbiAgICAuY3MtYWRkdG9jYXJ0LS1uby10cmFuc2l0aW9ucyAuY3MtYWRkdG9jYXJ0X19mZWVkYmFjay1iZyB7XG4gICAgICB0cmFuc2l0aW9uOiBub25lOyB9XG4gICAgLmNzLWFkZHRvY2FydC0tZmFpbCAuY3MtYWRkdG9jYXJ0X19mZWVkYmFjay1iZyB7XG4gICAgICBiYWNrZ3JvdW5kOiAjY2MxYzEwOyB9XG4gIC5jcy1hZGR0b2NhcnRfX3N1Y2Nlc3MtbGFiZWwsIC5jcy1hZGR0b2NhcnRfX3N1Y2Nlc3MtaWNvbiwgLmNzLWFkZHRvY2FydF9fZmFpbC1sYWJlbCwgLmNzLWFkZHRvY2FydF9fZmFpbC1pY29uIHtcbiAgICBvcGFjaXR5OiAwOyB9XG4gIC5jcy1hZGR0b2NhcnRfX3N1Y2Nlc3MtaWNvbiwgLmNzLWFkZHRvY2FydF9fZmFpbC1pY29uIHtcbiAgICBoZWlnaHQ6IDEuNzI1ZW07XG4gICAgdHJhbnNpdGlvbi1kZWxheTogMC4yczsgfVxuICAuY3MtYWRkdG9jYXJ0X19zdWNjZXNzLWxhYmVsLCAuY3MtYWRkdG9jYXJ0X19mYWlsLWxhYmVsIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiA1MCU7XG4gICAgbGVmdDogNTAlO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTUwJSwgLTUwJSwgMCkgdHJhbnNsYXRlWCgtMmVtKTtcbiAgICB0cmFuc2l0aW9uLWRlbGF5OiAwLjJzO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgcGFkZGluZy1yaWdodDogMy41cmVtOyB9XG4gIC5jcy1hZGR0b2NhcnRfX21pbmljYXJ0IHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgICAuY3MtYWRkdG9jYXJ0X19taW5pY2FydC0tc3RpY2t5LCAuY3MtYWRkdG9jYXJ0X19taW5pY2FydC0tdW5zdGljayB7XG4gICAgICBtYXgtd2lkdGg6IDEyOHJlbTtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICAgIHRvcDogMDtcbiAgICAgIGxlZnQ6IDUwJTtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTUwJSwgMCwgMCk7XG4gICAgICB6LWluZGV4OiA0MDA7XG4gICAgICBwYWRkaW5nOiAwO1xuICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDsgfVxuICAgICAgLmNzLWFkZHRvY2FydF9fbWluaWNhcnQtLXN0aWNreSAudWktZGlhbG9nLCAuY3MtYWRkdG9jYXJ0X19taW5pY2FydC0tdW5zdGljayAudWktZGlhbG9nIHtcbiAgICAgICAgcmlnaHQ6IDAgIWltcG9ydGFudDsgfVxuICAgICAgLmNzLWFkZHRvY2FydF9fbWluaWNhcnQtLXN0aWNreSAuYmxvY2stbWluaWNhcnQ6YWZ0ZXIsIC5jcy1hZGR0b2NhcnRfX21pbmljYXJ0LS11bnN0aWNrIC5ibG9jay1taW5pY2FydDphZnRlciB7XG4gICAgICAgIHJpZ2h0OiAzLjJyZW0gIWltcG9ydGFudDsgfVxuICAuY3MtYWRkdG9jYXJ0X19taW5pY2FydC0tc3RpY2t5IC5jcy1hZGR0b2NhcnRfX21pbmljYXJ0LWxpbmssXG4gIC5jcy1hZGR0b2NhcnRfX21pbmljYXJ0LS11bnN0aWNrIC5jcy1hZGR0b2NhcnRfX21pbmljYXJ0LWxpbmsge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBwYWRkaW5nOiAyLjVyZW0gMXJlbTtcbiAgICBiYWNrZ3JvdW5kOiAjZmZmO1xuICAgIGJveC1zaGFkb3c6IDFweCAzcHggNC41cmVtIDAgcmdiYSgzMCwgNDgsIDY3LCAwLjM0KTtcbiAgICBhbmltYXRpb246IG1pbmljYXJ0LWluIDFzIGN1YmljLWJlemllcigwLCAwLjc3LCAwLjE4LCAxKTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgLmNzLWFkZHRvY2FydF9fbWluaWNhcnQtLXVuc3RpY2sgLmNzLWFkZHRvY2FydF9fbWluaWNhcnQtbGluayB7XG4gICAgYW5pbWF0aW9uOiBtaW5pY2FydC1vdXQgMC41cyBjdWJpYy1iZXppZXIoMC41NSwgMC4yLCAwLjg5LCAwLjQ1KTsgfVxuICAuY3MtYWRkdG9jYXJ0X19taW5pY2FydC1saW5rOmJlZm9yZSB7XG4gICAgY29udGVudDogbm9uZSAhaW1wb3J0YW50OyB9XG4gIC5jcy1hZGR0b2NhcnRfX21pbmljYXJ0LXF0eS1iYWRnZS13cmFwcGVyIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgb3BhY2l0eTogMDtcbiAgICB6LWluZGV4OiA2MDA7XG4gICAgdHJhbnNpdGlvbjogdG9wIDAuOXMgY3ViaWMtYmV6aWVyKDAuNDIsIDAuMzEsIDAuMzQsIDAuOTMpLCBsZWZ0IDAuOXMgY3ViaWMtYmV6aWVyKDAuNDIsIDAuMzEsIDAuMzQsIDAuOTMpO1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lOyB9XG4gICAgLmNzLWFkZHRvY2FydF9fbWluaWNhcnQtcXR5LWJhZGdlLXdyYXBwZXItLWFuaW1hdGluZyB7XG4gICAgICBhbmltYXRpb246IG1vdmUtcXR5LWJhZGdlIDEuMnMgY3ViaWMtYmV6aWVyKDAuNDIsIDAuMzEsIDAuMzQsIDAuOTMpO1xuICAgICAgcG9zaXRpb246IGZpeGVkO1xuICAgICAgdG9wOiAwLjVyZW07IH1cbiAgICAgIEBtZWRpYSAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAgIC5jcy1hZGR0b2NhcnRfX21pbmljYXJ0LXF0eS1iYWRnZS13cmFwcGVyLS1hbmltYXRpbmcge1xuICAgICAgICAgIHRvcDogMS4zcmVtOyB9IH1cbiAgICAgIEBtZWRpYSAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAgIC5jcy1hZGR0b2NhcnRfX21pbmljYXJ0LXF0eS1iYWRnZS13cmFwcGVyLS1hbmltYXRpbmcge1xuICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICB0b3A6IDUuM3JlbTsgfSB9XG4gICAgICAuY3MtYWRkdG9jYXJ0X19taW5pY2FydC1xdHktYmFkZ2Utd3JhcHBlci0tYW5pbWF0aW5nLmNzLWFkZHRvY2FydF9fbWluaWNhcnQtcXR5LWJhZGdlLXdyYXBwZXItLW1pbmljYXJ0LXN0aWNreSB7XG4gICAgICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICAgICAgdG9wOiAxLjhyZW07IH1cbiAgICAuY3MtYWRkdG9jYXJ0X19taW5pY2FydC1xdHktYmFkZ2Utd3JhcHBlciAuY3MtYWRkdG9jYXJ0X19taW5pY2FydC1xdHktYmFkZ2Uge1xuICAgICAgcG9zaXRpb246IHN0YXRpYztcbiAgICAgIHZpc2liaWxpdHk6IHZpc2libGU7IH1cbiAgLmNzLWFkZHRvY2FydC0tbG9hZGluZyAuY3MtYWRkdG9jYXJ0X19idXR0b24tbGFiZWwsIC5jcy1hZGR0b2NhcnQtLWRvbmUgLmNzLWFkZHRvY2FydF9fYnV0dG9uLWxhYmVsIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMmVtLCAwLCAwKTsgfVxuICAuY3MtYWRkdG9jYXJ0LS1sb2FkaW5nIC5jcy1hZGR0b2NhcnRfX2xvYWRpbmcge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxKSB0cmFuc2xhdGUzZCgtNTAlLCAtNTAlLCAwKSB0cmFuc2xhdGVYKC0xLjI1ZW0pOyB9XG4gICAgLmNzLWFkZHRvY2FydC0tbG9hZGluZyAuY3MtYWRkdG9jYXJ0X19sb2FkaW5nLWJhbGwge1xuICAgICAgYW5pbWF0aW9uOiBiYWxsLWluIDFzIGluZmluaXRlOyB9XG4gIC5jcy1hZGR0b2NhcnQtLWRvbmUgLmNzLWFkZHRvY2FydF9fYnV0dG9uLWljb24ge1xuICAgIG9wYWNpdHk6IDA7IH1cbiAgLmNzLWFkZHRvY2FydC0tZG9uZSAuY3MtYWRkdG9jYXJ0X19mZWVkYmFjay1iZyB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTsgfVxuICAgIC5jcy1hZGR0b2NhcnQtLWRvbmUgLmNzLWFkZHRvY2FydF9fZmVlZGJhY2stYmc6YWZ0ZXIge1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtNS4zcmVtLCAwLCAwKTsgfVxuICAuY3MtYWRkdG9jYXJ0LS1zdWNjZXNzIC5jcy1hZGR0b2NhcnRfX3N1Y2Nlc3MtaWNvbiB7XG4gICAgb3BhY2l0eTogMTsgfVxuICAuY3MtYWRkdG9jYXJ0LS1zdWNjZXNzIC5jcy1hZGR0b2NhcnRfX3N1Y2Nlc3MtbGFiZWwge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtNTAlLCAtNTAlLCAwKTsgfVxuICAuY3MtYWRkdG9jYXJ0LS1mYWlsIC5jcy1hZGR0b2NhcnRfX2ZhaWwtaWNvbiB7XG4gICAgb3BhY2l0eTogMTsgfVxuICAuY3MtYWRkdG9jYXJ0LS1mYWlsIC5jcy1hZGR0b2NhcnRfX2ZhaWwtbGFiZWwge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtNTAlLCAtNTAlLCAwKTsgfVxuICAuY3MtYWRkdG9jYXJ0LS1hbmltYXRpb24tZG9uZSAuY3MtYWRkdG9jYXJ0X19idXR0b24tbGFiZWwsXG4gIC5jcy1hZGR0b2NhcnQtLWFuaW1hdGlvbi1kb25lIC5jcy1hZGR0b2NhcnRfX2J1dHRvbi1pY29uIHtcbiAgICB0cmFuc2l0aW9uLWRlbGF5OiAwLjVzOyB9XG4gIC5jcy1hZGR0b2NhcnQtLWFuaW1hdGlvbi1kb25lIC5jcy1hZGR0b2NhcnRfX2ZlZWRiYWNrLWJnIHtcbiAgICB0cmFuc2l0aW9uLWRlbGF5OiAwLjJzOyB9XG4gICAgLmNzLWFkZHRvY2FydC0tYW5pbWF0aW9uLWRvbmUgLmNzLWFkZHRvY2FydF9fZmVlZGJhY2stYmcsIC5jcy1hZGR0b2NhcnQtLWFuaW1hdGlvbi1kb25lIC5jcy1hZGR0b2NhcnRfX2ZlZWRiYWNrLWJnOmFmdGVyIHtcbiAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjRzIGN1YmljLWJlemllcigwLjg2LCAwLjAxLCAwLjgzLCAwLjUxKTsgfVxuICAgIC5jcy1hZGR0b2NhcnQtLWFuaW1hdGlvbi1kb25lIC5jcy1hZGR0b2NhcnRfX2ZlZWRiYWNrLWJnOmFmdGVyIHtcbiAgICAgIHRyYW5zaXRpb24tZGVsYXk6IDA7IH1cbiAgLmNzLWFkZHRvY2FydC0tYW5pbWF0aW9uLWRvbmUgLmNzLWFkZHRvY2FydF9fc3VjY2Vzcy1sYWJlbCxcbiAgLmNzLWFkZHRvY2FydC0tYW5pbWF0aW9uLWRvbmUgLmNzLWFkZHRvY2FydF9fZmFpbC1pY29uIHtcbiAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuNnMgbGluZWFyLCB0cmFuc2Zvcm0gMC42cyBjdWJpYy1iZXppZXIoMC44NiwgMC4wMSwgMC44MywgMC41MSk7XG4gICAgdHJhbnNpdGlvbi1kZWxheTogMDsgfVxuICAuY3MtYWRkdG9jYXJ0LS1hbmltYXRpb24tZG9uZSAuY3MtYWRkdG9jYXJ0X19zdWNjZXNzLWljb24sXG4gIC5jcy1hZGR0b2NhcnQtLWFuaW1hdGlvbi1kb25lIC5jcy1hZGR0b2NhcnRfX2ZhaWwtaWNvbiB7XG4gICAgdHJhbnNpdGlvbi1kZWxheTogMDsgfVxuXG5Aa2V5ZnJhbWVzIGJhbGwtaW4ge1xuICAwJSB7XG4gICAgb3BhY2l0eTogMDsgfVxuICA1MCUge1xuICAgIG9wYWNpdHk6IDE7IH1cbiAgMTAwJSB7XG4gICAgb3BhY2l0eTogMDsgfSB9XG5cbkBrZXlmcmFtZXMgbWluaWNhcnQtaW4ge1xuICAwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMTAwJSwgMCk7IH1cbiAgMTAwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTsgfSB9XG5cbkBrZXlmcmFtZXMgbWluaWNhcnQtb3V0IHtcbiAgMCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7IH1cbiAgMTAwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMTAwJSwgMCk7IH0gfVxuXG5Aa2V5ZnJhbWVzIG1vdmUtcXR5LWJhZGdlIHtcbiAgMCUge1xuICAgIG9wYWNpdHk6IDE7IH1cbiAgMTUlIHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEpOyB9XG4gIDgwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEuNSk7IH1cbiAgMTAwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEpOyB9IH1cbiAgLmNzLWFkZHRvY2FydCAuYmxvY2stbWluaWNhcnQge1xuICAgIG1hcmdpbi1ib3R0b206IDA7IH1cbiIsIi8qXG4gKiBGdW5jdGlvbiB0byBnZXQgdmFsdWUgZnJvbSBhIGxpc3Qgb2YgdmFsdWVzLCBiYXNlZCBvbiBzaWRlXG4gKiBAcGFyYW0ge3N0cmluZ30gJHZhcmlhYmxlOiB2YXJpYWJsZSB3aXRoIGEgbGlzdCBvZiB2YWx1ZXMgKGxpa2UgcGFkZGluZ3MsIG1hcmdpbnMgZXRjLik7XG4gKiBAcGFyYW0ge3N0cmluZ30gJHNpZGU6IHNpZGUgKHVwIC8gcmlnaHQgLyBkb3duIC8gbGVmdCkgZm9yIHdoaWNoIHdlIHdhbnQgdG8gZ2V0IHZhbHVlXG4gKiBFeGFtcGxlOlxuICogJGNvbXBvbmVudF9wYWRkaW5nOiAxcmVtIDJyZW0gM3JlbTtcbiAqIGdldC12YWx1ZS1mcm9tLWxpc3QoJGNvbXBvbmVudF9wYWRkaW5nLCAncmlnaHQnKSAvLyAycmVtXG4gKiBnZXQtdmFsdWUtZnJvbS1saXN0KCRjb21wb25lbnRfcGFkZGluZywgJ2JvdHRvbScpIC8vIDNyZW1cbiAqL1xuXG5AZnVuY3Rpb24gZ2V0LXZhbHVlLWZyb20tbGlzdCgkdmFyaWFibGUsICRzaWRlKSB7XG4gICAgJGxlbmd0aDogbGVuZ3RoKCR2YXJpYWJsZSk7XG5cbiAgICBAaWYgKCRsZW5ndGggPT0gMSkge1xuICAgICAgICBAcmV0dXJuIG50aCgkdmFyaWFibGUsIDEpO1xuICAgIH0gQGVsc2UgaWYgKCRsZW5ndGggPT0gMikge1xuICAgICAgICBAaWYgKCRzaWRlID09ICd1cCcpIE9SICgkc2lkZSA9PSAnZG93bicpIHtcbiAgICAgICAgICAgIEByZXR1cm4gbnRoKCR2YXJpYWJsZSwgMSk7XG4gICAgICAgIH0gQGVsc2UgaWYgKCRzaWRlID09ICdsZWZ0JykgT1IgKCRzaWRlID09ICdyaWdodCcpIHtcbiAgICAgICAgICAgIEByZXR1cm4gbnRoKCR2YXJpYWJsZSwgMik7XG4gICAgICAgIH1cbiAgICB9IEBlbHNlIGlmICgkbGVuZ3RoID09IDMpIHtcbiAgICAgICAgQGlmICgkc2lkZSA9PSAnbGVmdCcpIE9SICgkc2lkZSA9PSAncmlnaHQnKSB7XG4gICAgICAgICAgICBAcmV0dXJuIG50aCgkdmFyaWFibGUsIDIpO1xuICAgICAgICB9IEBlbHNlIGlmICgkc2lkZSA9PSAndXAnKSB7XG4gICAgICAgICAgICBAcmV0dXJuIG50aCgkdmFyaWFibGUsIDEpO1xuICAgICAgICB9IEBlbHNlIGlmICgkc2lkZSA9PSAnZG93bicpIHtcbiAgICAgICAgICAgIEByZXR1cm4gbnRoKCR2YXJpYWJsZSwgMyk7XG4gICAgICAgIH1cbiAgICB9IEBlbHNlIGlmICgkbGVuZ3RoID09IDQpIHtcbiAgICAgICAgQGlmICgkc2lkZSA9PSAndXAnKSB7XG4gICAgICAgICAgICBAcmV0dXJuIG50aCgkdmFyaWFibGUsIDEpO1xuICAgICAgICB9IEBlbHNlIGlmICgkc2lkZSA9PSAncmlnaHQnKSB7XG4gICAgICAgICAgICBAcmV0dXJuIG50aCgkdmFyaWFibGUsIDIpO1xuICAgICAgICB9IEBlbHNlIGlmICgkc2lkZSA9PSAnZG93bicpIHtcbiAgICAgICAgICAgIEByZXR1cm4gbnRoKCR2YXJpYWJsZSwgMyk7XG4gICAgICAgIH0gQGVsc2UgaWYgKCRzaWRlID09ICdsZWZ0Jykge1xuICAgICAgICAgICAgQHJldHVybiBudGgoJHZhcmlhYmxlLCA0KTtcbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIi8qIHN0eWxlbGludC1kaXNhYmxlIGJsb2NrLW5vLWVtcHR5ICovXG5AbWl4aW4gYnV0dG9uLWhvb2soJHR5cGUsICRpY29uX3Bvcykge1xufVxuXG5AbWl4aW4gYnV0dG9uX3NwYW4taG9vaygkdHlwZSwgJGljb25fcG9zKSB7XG59XG5cbkBtaXhpbiBidXR0b25faWNvbi1ob29rKCR0eXBlLCAkaWNvbl9wb3MpIHtcbn1cbi8qIHN0eWxlbGludC1lbmFibGUgKi9cbiIsIkBpbXBvcnQgJ2NvbmZpZy92YXJpYWJsZXMnO1xuQGltcG9ydCAnY29tcG9uZW50cy9jb250YWluZXIvbWl4aW4nO1xuQGltcG9ydCAnY29tcG9uZW50cy9idXR0b24vbWl4aW4nO1xuQGltcG9ydCAndmVuZG9ycy9pbmNsdWRlLW1lZGlhJztcblxuJGFkZHRvY2FydF9idXR0b24tdHlwZTogJGJ1dHRvbl9kZWZhdWx0LXR5cGUgIWRlZmF1bHQ7XG4kYWRkdG9jYXJ0X2J1dHRvbi1pY29uLXBvc2l0aW9uOiAkYnV0dG9uX2RlZmF1bHQtaWNvbi1wb3MgIWRlZmF1bHQ7XG5cbiRhZGR0b2NhcnRfYnV0dG9uLWljb24td2lkdGg6IDIuMnJlbSAhZGVmYXVsdDtcbiRhZGR0b2NhcnRfYnV0dG9uLWljb24taGVpZ2h0OiAkYWRkdG9jYXJ0X2J1dHRvbi1pY29uLXdpZHRoICFkZWZhdWx0O1xuJGFkZHRvY2FydF9idXR0b24taWNvbi1lZGdlLWd1dHRlcjogMC44ZW0gIWRlZmF1bHQ7XG5cbiRhZGR0b2NhcnRfYnV0dG9uLXNrZXdlZC1iYWNrZ3JvdW5kLXdpZHRoOiA1LjFyZW0gIWRlZmF1bHQ7XG4kYWRkdG9jYXJ0X2J1dHRvbi1wYWRkaW5nLWxlZnQ6IDFyZW0gIWRlZmF1bHQ7XG4kYWRkdG9jYXJ0X2J1dHRvbi1wYWRkaW5nLXJpZ2h0OiA0LjVyZW0gIWRlZmF1bHQ7XG5cbiRhZGR0b2NhcnRfbG9hZGluZy1pbmRpY2F0b3ItYmFsbC1jb2xvcjogJGNvbG9yX3RleHQtMjAwICFkZWZhdWx0O1xuJGFkZHRvY2FydF9sb2FkaW5nLWluZGljYXRvci1iYWxsLXNpemU6IDEwcHggIWRlZmF1bHQ7XG5cbiRhZGR0b2NhcnRfYWpheC1zdWNjZXNzLWJnLXByaW1hcnk6ICRjb2xvcl9zdWNjZXNzLTUwMCAhZGVmYXVsdDtcbiRhZGR0b2NhcnRfYWpheC1zdWNjZXNzLWJnLXNlY29uZGFyeTogJGNvbG9yX3N1Y2Nlc3MtNjAwICFkZWZhdWx0O1xuJGFkZHRvY2FydF9hamF4LXN1Y2Nlc3MtY29sb3I6ICRjb2xvcl93aGl0ZSAhZGVmYXVsdDtcbiRhZGR0b2NhcnRfYWpheC1zdWNjZXNzLWZpbGw6ICRhZGR0b2NhcnRfYWpheC1zdWNjZXNzLWNvbG9yICFkZWZhdWx0O1xuXG4kYWRkdG9jYXJ0X2FqYXgtZmFpbC1iZy1wcmltYXJ5OiAkY29sb3JfZXJyb3ItNTAwICFkZWZhdWx0O1xuJGFkZHRvY2FydF9hamF4LWZhaWwtYmctc2Vjb25kYXJ5OiAkY29sb3JfZXJyb3ItNjAwICFkZWZhdWx0O1xuJGFkZHRvY2FydF9hamF4LWZhaWwtY29sb3I6ICRjb2xvcl93aGl0ZSAhZGVmYXVsdDtcbiRhZGR0b2NhcnRfYWpheC1mYWlsLWZpbGw6ICRhZGR0b2NhcnRfYWpheC1mYWlsLWNvbG9yICFkZWZhdWx0O1xuXG4uI3skbnN9YWRkdG9jYXJ0IHtcbiAgICAkcm9vdDogJjtcblxuICAgICZfX3dyYXBwZXIge1xuICAgICAgICAvLyBiZWNhdXNlIGJ1dHRvbiBjYW4ndCBoYXZlIG92ZXJmbG93LCB3ZSBuZWVkIHRvIGFkZCBpdCBvbiBidXR0b24gd3JhcHBlclxuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gICAgICAgIEBpZiAoJGJ1dHRvbl9ib3JkZXItcmFkaXVzID4gMCkge1xuICAgICAgICAgICAgQHN1cHBvcnRzIChjbGlwLXBhdGg6IGluc2V0KDAgMCAwIDAgcm91bmQgJGJ1dHRvbl9ib3JkZXItcmFkaXVzKSkge1xuICAgICAgICAgICAgICAgIGNsaXAtcGF0aDogaW5zZXQoMCAwIDAgMCByb3VuZCAkYnV0dG9uX2JvcmRlci1yYWRpdXMpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLy8gSGlkZSB1bm5lY2Vzc2FyeSBhZGQgdG8gY2FydCBidXR0b24gb24gZG93bmxvYWRhYmxlIHByb2R1Y3QgdXBkYXRlIHBkcFxuICAgICAgICAucGFnZS1wcm9kdWN0LWRvd25sb2FkYWJsZSAudXBkYXRlICYge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2J1dHRvbiB7XG4gICAgICAgIEBpbmNsdWRlIGJ1dHRvbigkdHlwZTogJGFkZHRvY2FydF9idXR0b24tdHlwZSxcbiAgICAgICAgICAgICRpY29uX3BvczogJGFkZHRvY2FydF9idXR0b24taWNvbi1wb3NpdGlvbiApO1xuXG4gICAgICAgICZbZGlzYWJsZWRdIHtcblxuICAgICAgICAgICAgLyogXG4gICAgICAgICAgICAgKiBBVEMgYnRuLiBpbiBidXlib3ggdXNlcyBkZWZlckFUQ0NsaWNrKClcbiAgICAgICAgICAgICAqIGFzIHBhcnQgb2YgdGhlIGBGYXN0ZXIgQWRkIFRvIENhcnRgIGVuYWhuY2VtZW50XG4gICAgICAgICAgICAgKiB0aGVyZWZvcmUgaXQncyBhcHBlYXJhbmNlIGlzIHNldCB0byBub3JtYWwgYWxsIHRoZSB0aW1lLlxuICAgICAgICAgICAgICovXG4gICAgICAgICAgICAuI3skbnN9YnV5Ym94ICYge1xuICAgICAgICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmLFxuICAgICAgICAmOmhvdmVyLFxuICAgICAgICAmOmZvY3VzLFxuICAgICAgICAmOmFjdGl2ZSB7XG4gICAgICAgICAgICAjeyRyb290fV9fc3VjY2Vzcy1sYWJlbCB7XG4gICAgICAgICAgICAgICAgY29sb3I6ICRhZGR0b2NhcnRfYWpheC1zdWNjZXNzLWNvbG9yO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAjeyRyb290fV9fc3VjY2Vzcy1pY29uIHtcbiAgICAgICAgICAgICAgICAqIHtcbiAgICAgICAgICAgICAgICAgICAgZmlsbDogJGFkZHRvY2FydF9hamF4LXN1Y2Nlc3MtZmlsbDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICN7JHJvb3R9X19mYWlsLWxhYmVsIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogJGFkZHRvY2FydF9hamF4LWZhaWwtY29sb3I7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICN7JHJvb3R9X19mYWlsLWljb24ge1xuICAgICAgICAgICAgICAgICoge1xuICAgICAgICAgICAgICAgICAgICBmaWxsOiAkYWRkdG9jYXJ0X2FqYXgtZmFpbC1maWxsO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2J1dHRvbi1sYWJlbCxcbiAgICAmX19zdWNjZXNzLWxhYmVsLFxuICAgICZfX2ZhaWwtbGFiZWwge1xuICAgICAgICBAaW5jbHVkZSBidXR0b25fc3BhbigkdHlwZTogJGFkZHRvY2FydF9idXR0b24tdHlwZSxcbiAgICAgICAgICAgICRpY29uX3BvczogJGFkZHRvY2FydF9idXR0b24taWNvbi1wb3NpdGlvbiApO1xuICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIH1cblxuICAgICZfX2NvbmZpZ3VyZS1pY29uLFxuICAgICZfX2J1dHRvbi1pY29uLFxuICAgICZfX3N1Y2Nlc3MtaWNvbixcbiAgICAmX19mYWlsLWljb24ge1xuICAgICAgICBAaW5jbHVkZSBidXR0b25faWNvbigkdHlwZTogJGFkZHRvY2FydF9idXR0b24tdHlwZSxcbiAgICAgICAgICAgICRpY29uX3BvczogJGFkZHRvY2FydF9idXR0b24taWNvbi1wb3NpdGlvbiApO1xuICAgICAgICBtYXgtd2lkdGg6IG5vbmU7XG4gICAgICAgIG1heC1oZWlnaHQ6IG5vbmU7XG4gICAgICAgIHdpZHRoOiAkYWRkdG9jYXJ0X2J1dHRvbi1pY29uLXdpZHRoO1xuICAgICAgICBoZWlnaHQ6ICRhZGR0b2NhcnRfYnV0dG9uLWljb24taGVpZ2h0O1xuXG4gICAgICAgIC8qIHN0eWxlbGludC1kaXNhYmxlICovXG4gICAgICAgIEBpZiAoJGFkZHRvY2FydF9idXR0b24taWNvbi1wb3NpdGlvbiA9PSdyaWdodCcpIG9yICgkYWRkdG9jYXJ0X2J1dHRvbi1pY29uLXBvc2l0aW9uID09J2xlZnQnKSB7XG4gICAgICAgICAgICAjeyRhZGR0b2NhcnRfYnV0dG9uLWljb24tcG9zaXRpb259OiAkYWRkdG9jYXJ0X2J1dHRvbi1pY29uLWVkZ2UtZ3V0dGVyO1xuICAgICAgICB9XG5cbiAgICAgICAgLyogc3R5bGVsaW50LWVuYWJsZSAqL1xuICAgIH1cblxuICAgICZfX2ZhaWwtaWNvbiB7XG4gICAgICAgIHRyYW5zaXRpb246IG5vbmU7XG4gICAgfVxuXG4gICAgJl9fYnV0dG9uLWxhYmVsLFxuICAgICZfX3N1Y2Nlc3MtbGFiZWwge1xuICAgICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuMTVzIGxpbmVhcixcbiAgICAgICAgICAgIHRyYW5zZm9ybSAxcyBjdWJpYy1iZXppZXIoMCwgMC43NywgMC4xOCwgMSk7XG4gICAgfVxuXG4gICAgJl9fYnV0dG9uLWxhYmVsIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIH1cblxuICAgICZfX2xvYWRpbmcge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogNTAlO1xuICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMCkgdHJhbnNsYXRlM2QoLTUwJSwgLTUwJSwgMCk7XG4gICAgICAgIHdpZHRoOiAkYWRkdG9jYXJ0X2xvYWRpbmctaW5kaWNhdG9yLWJhbGwtc2l6ZSAqIDQ7XG4gICAgICAgIGhlaWdodDogJGFkZHRvY2FydF9sb2FkaW5nLWluZGljYXRvci1iYWxsLXNpemU7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC4xNXMgbGluZWFyLFxuICAgICAgICAgICAgdHJhbnNmb3JtIDFzIGN1YmljLWJlemllcigwLCAwLjc3LCAwLjE4LCAxKTtcbiAgICAgICAgdHJhbnNpdGlvbi1kZWxheTogMC4ycztcblxuICAgICAgICAmLWJhbGwge1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICB3aWR0aDogJGFkZHRvY2FydF9sb2FkaW5nLWluZGljYXRvci1iYWxsLXNpemU7XG4gICAgICAgICAgICBoZWlnaHQ6ICRhZGR0b2NhcnRfbG9hZGluZy1pbmRpY2F0b3ItYmFsbC1zaXplO1xuICAgICAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICAgICAgYmFja2dyb3VuZDogJGFkZHRvY2FydF9sb2FkaW5nLWluZGljYXRvci1iYWxsLWNvbG9yO1xuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xuXG4gICAgICAgICAgICAmLS0xIHtcbiAgICAgICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmLS0yIHtcbiAgICAgICAgICAgICAgICBsZWZ0OiAxNXB4O1xuICAgICAgICAgICAgICAgIGFuaW1hdGlvbi1kZWxheTogMC4xNXMgIWltcG9ydGFudDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJi0tMyB7XG4gICAgICAgICAgICAgICAgbGVmdDogMzBweDtcbiAgICAgICAgICAgICAgICBhbmltYXRpb24tZGVsYXk6IDAuM3MgIWltcG9ydGFudDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2ZlZWRiYWNrLWJnIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBsZWZ0OiAtMWVtO1xuICAgICAgICB0b3A6IC0jeyRidXR0b25fYm9yZGVyLXNpemV9O1xuICAgICAgICBib3R0b206IC0jeyRidXR0b25fYm9yZGVyLXNpemV9O1xuICAgICAgICB3aWR0aDogY2FsYygxMDAlICsgMi41ZW0pO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMDAlLCAwLCAwKTtcbiAgICAgICAgdHJhbnNmb3JtLW9yaWdpbjogMCAwO1xuICAgICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC40NXMgY3ViaWMtYmV6aWVyKDAuMDEsIDAuNjUsIDAuMzgsIDEpO1xuICAgICAgICBiYWNrZ3JvdW5kOiAkYWRkdG9jYXJ0X2FqYXgtc3VjY2Vzcy1iZy1zZWNvbmRhcnk7XG5cbiAgICAgICAgI3skcm9vdH0tLW5vLXRyYW5zaXRpb25zICYge1xuICAgICAgICAgICAgdHJhbnNpdGlvbjogbm9uZTtcbiAgICAgICAgfVxuXG4gICAgICAgICN7JHJvb3R9LS1mYWlsICYge1xuICAgICAgICAgICAgYmFja2dyb3VuZDogJGFkZHRvY2FydF9hamF4LWZhaWwtYmctc2Vjb25kYXJ5O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fc3VjY2Vzcy1sYWJlbCxcbiAgICAmX19zdWNjZXNzLWljb24sXG4gICAgJl9fZmFpbC1sYWJlbCxcbiAgICAmX19mYWlsLWljb24ge1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgIH1cblxuICAgICZfX3N1Y2Nlc3MtaWNvbixcbiAgICAmX19mYWlsLWljb24ge1xuICAgICAgICBoZWlnaHQ6IDEuNzI1ZW07XG4gICAgICAgIHRyYW5zaXRpb24tZGVsYXk6IDAuMnM7XG4gICAgfVxuXG4gICAgJl9fc3VjY2Vzcy1sYWJlbCxcbiAgICAmX19mYWlsLWxhYmVsIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgbGVmdDogNTAlO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC01MCUsIC01MCUsIDApIHRyYW5zbGF0ZVgoLTJlbSk7IC8vIGNhbGMoKSBkb2Vzbid0IHdvcmsgaW4gSUUgc28gaSBoYWQgdG8gZHVwbGljYXRlIHRyYW5zbGF0ZVgoKSB0cmFuc2Zvcm0gdG8gYWRqdXN0IFggcG9zaXRpb25cbiAgICAgICAgdHJhbnNpdGlvbi1kZWxheTogMC4ycztcbiAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICAgICAgcGFkZGluZy1yaWdodDogI3skYWRkdG9jYXJ0X2J1dHRvbi1wYWRkaW5nLXJpZ2h0IC1cbiAkYWRkdG9jYXJ0X2J1dHRvbi1wYWRkaW5nLWxlZnRcbiAgICB9XG5cbiAgICA7XG59XG5cbiZfX21pbmljYXJ0IHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgICAmLS1zdGlja3ksXG4gICAgJi0tdW5zdGljayB7XG4gICAgICAgIEBpbmNsdWRlIGNvbnRhaW5lci13cmFwcGVyKCk7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgbGVmdDogNTAlO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC01MCUsIDAsIDApO1xuICAgICAgICB6LWluZGV4OiA0MDA7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuXG4gICAgICAgIC51aS1kaWFsb2cge1xuICAgICAgICAgICAgcmlnaHQ6IDAgIWltcG9ydGFudDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5ibG9jay1taW5pY2FydCB7XG4gICAgICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgICAgICByaWdodDogMy4ycmVtICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbiZfX21pbmljYXJ0LWxpbmsge1xuXG4gICAgI3skcm9vdH1fX21pbmljYXJ0LS1zdGlja3kgJixcbiAgICAjeyRyb290fV9fbWluaWNhcnQtLXVuc3RpY2sgJiB7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgcGFkZGluZzogMi41cmVtIDFyZW07XG4gICAgICAgIGJhY2tncm91bmQ6ICRjb2xvcl9iYWNrZ3JvdW5kLTIwMDtcbiAgICAgICAgYm94LXNoYWRvdzogMXB4IDNweCA0LjVyZW0gMCByZ2JhKDMwLCA0OCwgNjcsIDAuMzQpO1xuICAgICAgICBhbmltYXRpb246IG1pbmljYXJ0LWluIDFzIGN1YmljLWJlemllcigwLCAwLjc3LCAwLjE4LCAxKTtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIH1cblxuICAgICN7JHJvb3R9X19taW5pY2FydC0tdW5zdGljayAmIHtcbiAgICAgICAgYW5pbWF0aW9uOiBtaW5pY2FydC1vdXQgMC41cyBjdWJpYy1iZXppZXIoMC41NSwgMC4yLCAwLjg5LCAwLjQ1KTtcbiAgICB9XG5cbiAgICAmOmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6IG5vbmUgIWltcG9ydGFudDtcbiAgICB9XG59XG5cbiZfX21pbmljYXJ0LXF0eS1iYWRnZS13cmFwcGVyIHtcbiAgICAkYmFkZ2Utd3JhcHBlcjogJjtcblxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHotaW5kZXg6IDYwMDtcbiAgICB0cmFuc2l0aW9uOiB0b3AgMC45cyBjdWJpYy1iZXppZXIoMC40MiwgMC4zMSwgMC4zNCwgMC45MyksXG4gICAgICAgIGxlZnQgMC45cyBjdWJpYy1iZXppZXIoMC40MiwgMC4zMSwgMC4zNCwgMC45Myk7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG5cbiAgICAmLS1hbmltYXRpbmcge1xuICAgICAgICBhbmltYXRpb246IG1vdmUtcXR5LWJhZGdlIDEuMnMgY3ViaWMtYmV6aWVyKDAuNDIsIDAuMzEsIDAuMzQsIDAuOTMpO1xuICAgICAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgICAgIHRvcDogMC41cmVtO1xuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PXRhYmxldCcpIHtcbiAgICAgICAgICAgIHRvcDogMS4zcmVtO1xuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz49bGFwdG9wJykge1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgdG9wOiA1LjNyZW07XG4gICAgICAgIH1cblxuICAgICAgICAmI3skYmFkZ2Utd3JhcHBlcn0tLW1pbmljYXJ0LXN0aWNreSB7XG4gICAgICAgICAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgICAgICAgICB0b3A6IDEuOHJlbTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICN7JHJvb3R9X19taW5pY2FydC1xdHktYmFkZ2Uge1xuICAgICAgICBwb3NpdGlvbjogc3RhdGljO1xuICAgICAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgIH1cbn1cblxuJi0tbG9hZGluZyxcbiYtLWRvbmUge1xuICAgICN7JHJvb3R9X19idXR0b24tbGFiZWwge1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDJlbSwgMCwgMCk7XG4gICAgfVxufVxuXG4mLS1sb2FkaW5nIHtcbiAgICAjeyRyb290fV9fbG9hZGluZyB7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMSkgdHJhbnNsYXRlM2QoLTUwJSwgLTUwJSwgMCkgdHJhbnNsYXRlWCgtMS4yNWVtKTsgLy8gY2FsYygpIGRvZXNuJ3Qgd29yayBpbiBJRSBzbyBpIGhhZCB0byBkdXBsaWNhdGUgdHJhbnNsYXRlWCgpIHRyYW5zZm9ybSB0byBhZGp1c3QgWCBwb3NpdGlvblxuXG4gICAgICAgICYtYmFsbCB7XG4gICAgICAgICAgICBhbmltYXRpb246IGJhbGwtaW4gMXMgaW5maW5pdGU7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbiYtLWRvbmUge1xuICAgICN7JHJvb3R9X19idXR0b24taWNvbiB7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgfVxuXG4gICAgI3skcm9vdH1fX2ZlZWRiYWNrLWJnIHtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcblxuICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLSN7JGFkZHRvY2FydF9idXR0b24tc2tld2VkLWJhY2tncm91bmQtd2lkdGggKyAwLjJ9LFxuICAgICAgICAgICAgICAgIDAsXG4gICAgICAgICAgICAgICAgMCk7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbiYtLXN1Y2Nlc3Mge1xuICAgICN7JHJvb3R9X19zdWNjZXNzLWljb24ge1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgIH1cblxuICAgICN7JHJvb3R9X19zdWNjZXNzLWxhYmVsIHtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtNTAlLCAtNTAlLCAwKTtcbiAgICB9XG59XG5cbiYtLWZhaWwge1xuICAgICN7JHJvb3R9X19mYWlsLWljb24ge1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgIH1cblxuICAgICN7JHJvb3R9X19mYWlsLWxhYmVsIHtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtNTAlLCAtNTAlLCAwKTtcbiAgICB9XG59XG5cbiYtLWFuaW1hdGlvbi1kb25lIHtcblxuICAgICN7JHJvb3R9X19idXR0b24tbGFiZWwsXG4gICAgI3skcm9vdH1fX2J1dHRvbi1pY29uIHtcbiAgICAgICAgdHJhbnNpdGlvbi1kZWxheTogMC41cztcbiAgICB9XG5cbiAgICAjeyRyb290fV9fZmVlZGJhY2stYmcge1xuICAgICAgICB0cmFuc2l0aW9uLWRlbGF5OiAwLjJzO1xuXG4gICAgICAgICYsXG4gICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuNHMgY3ViaWMtYmV6aWVyKDAuODYsIDAuMDEsIDAuODMsIDAuNTEpO1xuICAgICAgICB9XG5cbiAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICB0cmFuc2l0aW9uLWRlbGF5OiAwO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgI3skcm9vdH1fX3N1Y2Nlc3MtbGFiZWwsXG4gICAgI3skcm9vdH1fX2ZhaWwtaWNvbiB7XG4gICAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC42cyBsaW5lYXIsXG4gICAgICAgICAgICB0cmFuc2Zvcm0gMC42cyBjdWJpYy1iZXppZXIoMC44NiwgMC4wMSwgMC44MywgMC41MSk7XG4gICAgICAgIHRyYW5zaXRpb24tZGVsYXk6IDA7XG4gICAgfVxuXG4gICAgI3skcm9vdH1fX3N1Y2Nlc3MtaWNvbixcbiAgICAjeyRyb290fV9fZmFpbC1pY29uIHtcbiAgICAgICAgdHJhbnNpdGlvbi1kZWxheTogMDtcbiAgICB9XG59XG5cbi8qIHN0eWxlbGludC1kaXNhYmxlICovXG5Aa2V5ZnJhbWVzIGJhbGwtaW4ge1xuICAgIDAlIHtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICB9XG5cbiAgICA1MCUge1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgIH1cblxuICAgIDEwMCUge1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgIH1cbn1cblxuQGtleWZyYW1lcyBtaW5pY2FydC1pbiB7XG4gICAgMCUge1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0xMDAlLCAwKTtcbiAgICB9XG5cbiAgICAxMDAlIHtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICB9XG59XG5cbkBrZXlmcmFtZXMgbWluaWNhcnQtb3V0IHtcbiAgICAwJSB7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgfVxuXG4gICAgMTAwJSB7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTEwMCUsIDApO1xuICAgIH1cbn1cblxuQGtleWZyYW1lcyBtb3ZlLXF0eS1iYWRnZSB7XG4gICAgMCUge1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgIH1cblxuICAgIDE1JSB7XG4gICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7XG4gICAgfVxuXG4gICAgODAlIHtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxLjUpO1xuICAgIH1cblxuICAgIDEwMCUge1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xuICAgIH1cbn1cblxuLyogc3R5bGVsaW50LWVuYWJsZSAqL1xuXG4uYmxvY2stbWluaWNhcnQge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG59XG59IiwiQGltcG9ydCAndXRpbHMvZ2V0LXZhbHVlLWZyb20tbGlzdCc7XG5AaW1wb3J0ICdjb21wb25lbnRzL2J1dHRvbi9hbmltYXRpb24nO1xuQGltcG9ydCAnY29tcG9uZW50cy9idXR0b24vaG9vayc7XG5cbi8vIERlZmluZSBkZWZhdWx0IHR5cGUgZm9yIGJ1dHRvbnMuIFlvdSBjYW4gb3ZlcnJpZGUgaXQgaW5kaXZpZHVhbGx5IHBlciBidXR0b24gaW4gZWFjaCBjb21wb25lbnRcbi8vIFZhcmlhbnRzOiBwcmltYXJ5IHwgc2Vjb25kYXJ5IHwgbGluayB8IHN1Y2Nlc3MgfCBlcnJvclxuJGJ1dHRvbl9kZWZhdWx0LXR5cGU6ICdwcmltYXJ5JyAhZGVmYXVsdDtcblxuLy8gRGVmaW5lIGRlZmF1bHQgcG9zaXRpb24gZm9yIGljb25zIGluIGJ1dHRvbi4gWW91IGNhbiBvdmVycmlkZSBpdCBpbmRpdmlkdWFsbHkgcGVyIGJ1dHRvbiBpbiBlYWNoIGNvbXBvbmVudFxuLy8gVmFyaWFudHM6IGxlZnQgfCByaWdodCB8IG5vLWljb24gfCBvbmx5LWljb25cbiRidXR0b25fZGVmYXVsdC1pY29uLXBvczogJ3JpZ2h0JyAhZGVmYXVsdDtcblxuLy8gR2VuZXJhbCBzdHlsZXMgZm9yIGJ1dHRvbnNcbiRidXR0b25fZm9udC1zaXplOiAxLjhyZW0gIWRlZmF1bHQ7XG4kYnV0dG9uX2ZvbnQtd2VpZ2h0OiA3MDAgIWRlZmF1bHQ7XG4kYnV0dG9uX2JvcmRlci1zaXplOiAxcHggIWRlZmF1bHQ7XG4kYnV0dG9uX3BhZGRpbmc6IDAuNzVlbSAxZW0gIWRlZmF1bHQ7XG4kYnV0dG9uX3BhZGRpbmctd2hlbi1pY29uOiAzZW0gIWRlZmF1bHQ7XG4kYnV0dG9uX2xpbmUtaGVpZ2h0OiAxLjI3NWVtICFkZWZhdWx0O1xuJGJ1dHRvbl9ib3JkZXItcmFkaXVzOiAyMDBweCAhZGVmYXVsdDtcbiRidXR0b25fYW5pbWF0aW9uLXRpbWU6IDAuNXMgIWRlZmF1bHQ7XG4kYnV0dG9uX2FuaW1hdGlvbi1iZWZvcmUtd2lkdGg6IDMuNGVtICFkZWZhdWx0O1xuJGJ1dHRvbl9hbmltYXRpb24tYWZ0ZXItd2lkdGg6IDNlbSAhZGVmYXVsdDtcbiRidXR0b25fdGV4dC10cmFuc2Zvcm06IG5vbmUgIWRlZmF1bHQ7XG4kYnV0dG9uX3RleHQtbGV0dGVyLXNwYWNpbmc6IG5vcm1hbCAhZGVmYXVsdDtcbiRidXR0b25fdGV4dC1hbGlnbjogY2VudGVyICFkZWZhdWx0O1xuXG4vLyBTdHlsZXMgZm9yIGBwcmltYXJ5YCBidXR0b24gdHlwZVxuJGJ1dHRvbl9wcmltYXJ5LWJvcmRlcjogJGJ1dHRvbl9ib3JkZXItc2l6ZSBzb2xpZCB0cmFuc3BhcmVudCAhZGVmYXVsdDtcbiRidXR0b25fcHJpbWFyeS0taG92ZXItYm9yZGVyOiAkYnV0dG9uX2JvcmRlci1zaXplIHNvbGlkIHRyYW5zcGFyZW50ICFkZWZhdWx0O1xuJGJ1dHRvbl9wcmltYXJ5LWJhY2tncm91bmQ6ICRjb2xvcl9wcmltYXJ5LTUwMCAhZGVmYXVsdDtcbiRidXR0b25fcHJpbWFyeS0taG92ZXItYmFja2dyb3VuZDogJGNvbG9yX3ByaW1hcnktODAwICFkZWZhdWx0O1xuJGJ1dHRvbl9wcmltYXJ5LWNvbG9yOiAkY29sb3JfdGV4dC0yMDAgIWRlZmF1bHQ7XG4kYnV0dG9uX3ByaW1hcnktLWhvdmVyLWNvbG9yOiAkY29sb3JfdGV4dC0yMDAgIWRlZmF1bHQ7XG4kYnV0dG9uX3ByaW1hcnktZmlsbDogJGNvbG9yX3RleHQtMjAwICFkZWZhdWx0O1xuJGJ1dHRvbl9wcmltYXJ5LS1ob3Zlci1maWxsOiAkY29sb3JfdGV4dC0yMDAgIWRlZmF1bHQ7XG4kYnV0dG9uX3ByaW1hcnktZW5hYmxlLWFuaW1hdGlvbjogdHJ1ZSAhZGVmYXVsdDtcblxuLy8gU3R5bGVzIGZvciBgc2Vjb25kYXJ5YCBidXR0b24gdHlwZVxuJGJ1dHRvbl9zZWNvbmRhcnktYm9yZGVyOiAkYnV0dG9uX2JvcmRlci1zaXplIHNvbGlkICRjb2xvcl9wcmltYXJ5LTUwMCAhZGVmYXVsdDtcbiRidXR0b25fc2Vjb25kYXJ5LS1ob3Zlci1ib3JkZXI6ICRidXR0b25fYm9yZGVyLXNpemUgc29saWQgJGNvbG9yX3ByaW1hcnktODAwICFkZWZhdWx0O1xuJGJ1dHRvbl9zZWNvbmRhcnktYmFja2dyb3VuZDogJGNvbG9yX3doaXRlICFkZWZhdWx0O1xuJGJ1dHRvbl9zZWNvbmRhcnktLWhvdmVyLWJhY2tncm91bmQ6ICRjb2xvcl9wcmltYXJ5LTgwMCAhZGVmYXVsdDtcbiRidXR0b25fc2Vjb25kYXJ5LWNvbG9yOiAkY29sb3JfcHJpbWFyeS01MDAgIWRlZmF1bHQ7XG4kYnV0dG9uX3NlY29uZGFyeS0taG92ZXItY29sb3I6ICRjb2xvcl90ZXh0LTIwMCAhZGVmYXVsdDtcbiRidXR0b25fc2Vjb25kYXJ5LWZpbGw6ICRjb2xvcl9wcmltYXJ5LTUwMCAhZGVmYXVsdDtcbiRidXR0b25fc2Vjb25kYXJ5LS1ob3Zlci1maWxsOiAkY29sb3JfdGV4dC0yMDAgIWRlZmF1bHQ7XG4kYnV0dG9uX3NlY29uZGFyeS1lbmFibGUtYW5pbWF0aW9uOiBmYWxzZSAhZGVmYXVsdDtcblxuLy8gU3R5bGUgZm9yIGBsaW5rYCBidXR0b24gdHlwZVxuJGJ1dHRvbl9saW5rLWNvbG9yOiAkY29sb3JfcHJpbWFyeS01MDAgIWRlZmF1bHQ7XG4kYnV0dG9uX2xpbmstLWhvdmVyLWNvbG9yOiAkY29sb3JfcHJpbWFyeS04MDAgIWRlZmF1bHQ7XG4kYnV0dG9uX2xpbmstaWNvbi1wYWRkaW5nOiAycmVtICFkZWZhdWx0O1xuXG4vLyBTdHlsZXMgZm9yIGBzdWNjZXNzYCBidXR0b24gdHlwZVxuJGJ1dHRvbl9zdWNjZXNzLWJvcmRlcjogJGJ1dHRvbl9ib3JkZXItc2l6ZSBzb2xpZCB0cmFuc3BhcmVudCAhZGVmYXVsdDtcbiRidXR0b25fc3VjY2Vzcy0taG92ZXItYm9yZGVyOiAkYnV0dG9uX2JvcmRlci1zaXplIHNvbGlkIHRyYW5zcGFyZW50ICFkZWZhdWx0O1xuJGJ1dHRvbl9zdWNjZXNzLWJhY2tncm91bmQ6ICRjb2xvcl9zdWNjZXNzLTUwMCAhZGVmYXVsdDtcbiRidXR0b25fc3VjY2Vzcy0taG92ZXItYmFja2dyb3VuZDogJGNvbG9yX3N1Y2Nlc3MtNjAwICFkZWZhdWx0O1xuJGJ1dHRvbl9zdWNjZXNzLWNvbG9yOiAkY29sb3JfdGV4dC0yMDAgIWRlZmF1bHQ7XG4kYnV0dG9uX3N1Y2Nlc3MtLWhvdmVyLWNvbG9yOiAkY29sb3JfdGV4dC0yMDAgIWRlZmF1bHQ7XG4kYnV0dG9uX3N1Y2Nlc3MtZmlsbDogJGNvbG9yX3RleHQtMjAwICFkZWZhdWx0O1xuJGJ1dHRvbl9zdWNjZXNzLS1ob3Zlci1maWxsOiAkY29sb3JfdGV4dC0yMDAgIWRlZmF1bHQ7XG4kYnV0dG9uX3N1Y2Nlc3MtZW5hYmxlLWFuaW1hdGlvbjogZmFsc2UgIWRlZmF1bHQ7XG5cbi8vIFN0eWxlcyBmb3IgYGVycm9yYCBidXR0b24gdHlwZVxuJGJ1dHRvbl9lcnJvci1ib3JkZXI6ICRidXR0b25fYm9yZGVyLXNpemUgc29saWQgdHJhbnNwYXJlbnQgIWRlZmF1bHQ7XG4kYnV0dG9uX2Vycm9yLS1ob3Zlci1ib3JkZXI6ICRidXR0b25fYm9yZGVyLXNpemUgc29saWQgdHJhbnNwYXJlbnQgIWRlZmF1bHQ7XG4kYnV0dG9uX2Vycm9yLWJhY2tncm91bmQ6ICRjb2xvcl9lcnJvci01MDAgIWRlZmF1bHQ7XG4kYnV0dG9uX2Vycm9yLS1ob3Zlci1iYWNrZ3JvdW5kOiAkY29sb3JfZXJyb3ItNjAwICFkZWZhdWx0O1xuJGJ1dHRvbl9lcnJvci1jb2xvcjogJGNvbG9yX3RleHQtMjAwICFkZWZhdWx0O1xuJGJ1dHRvbl9lcnJvci0taG92ZXItY29sb3I6ICRjb2xvcl90ZXh0LTIwMCAhZGVmYXVsdDtcbiRidXR0b25fZXJyb3ItZmlsbDogJGNvbG9yX3RleHQtMjAwICFkZWZhdWx0O1xuJGJ1dHRvbl9lcnJvci0taG92ZXItZmlsbDogJGNvbG9yX3RleHQtMjAwICFkZWZhdWx0O1xuJGJ1dHRvbl9lcnJvci1lbmFibGUtYW5pbWF0aW9uOiBmYWxzZSAhZGVmYXVsdDtcblxuLy8gRGVmaW5lcyBob3cgbXVjaCBidXR0b24gaWNvbiBzaG91bGQgYmUgcHVsbGVkIHZlcnRpY2FsbHkgdG8gY2VudGVyIGl0LlxuLy8gU2hvdWxkIGJlIGRlZmluZWQgaW4gZW0gdG8gbWFrZSBpdCByZWxhdGl2ZSB0byBidXR0b24ncyBmb250IHNpemUuXG4kYnV0dG9uX3NwYW4tZm9udC1vZmZzZXQ6IDAgIWRlZmF1bHQ7XG5cbi8vIERlZmluZXMgaG93IG11Y2ggYnV0dG9uIGljb24gc2hvdWxkIGJlIHB1bGxlZCB2ZXJ0aWNhbGx5IHRvIGNlbnRlciBpdCBvbiBpY29uIGJ1dHRvbi5cbi8vIFNob3VsZCBiZSBkZWZpbmVkIGluIGVtIHRvIG1ha2UgaXQgcmVsYXRpdmUgdG8gYnV0dG9uJ3MgZm9udCBzaXplLlxuJGJ1dHRvbl9pY29uLW9mZnNldDogMC4xZW0gIWRlZmF1bHQ7XG5cbi8vIHN0eWxlbGludC1kaXNhYmxlIGZ1bmN0aW9uLWNhbGMtbm8tdW5zcGFjZWQtb3BlcmF0b3JcblxuQG1peGluIGJ1dHRvbigkdHlwZTogJGJ1dHRvbl9kZWZhdWx0LXR5cGUsXG4gICAgJGljb25fcG9zOiAkYnV0dG9uX2RlZmF1bHQtaWNvbi1wb3MpIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgZm9udC1zaXplOiAkYnV0dG9uX2ZvbnQtc2l6ZTtcbiAgICBmb250LXdlaWdodDogJGJ1dHRvbl9mb250LXdlaWdodDtcbiAgICB0ZXh0LWFsaWduOiAkYnV0dG9uX3RleHQtYWxpZ247XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxpbmUtaGVpZ2h0OiAkYnV0dG9uX2xpbmUtaGVpZ2h0O1xuICAgIG1hcmdpbjogMDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogJGJ1dHRvbl90ZXh0LXRyYW5zZm9ybTtcblxuICAgIEBpZiAoJHR5cGUgIT0nbGluaycpIHtcbiAgICAgICAgcGFkZGluZzogJGJ1dHRvbl9wYWRkaW5nO1xuICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yICRidXR0b25fYW5pbWF0aW9uLXRpbWUsXG4gICAgICAgICAgICBib3JkZXItY29sb3IgJGJ1dHRvbl9hbmltYXRpb24tdGltZSwgZmlsbCAkYnV0dG9uX2FuaW1hdGlvbi10aW1lLFxuICAgICAgICAgICAgY29sb3IgJGJ1dHRvbl9hbmltYXRpb24tdGltZTtcbiAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAgICAgei1pbmRleDogNTtcbiAgICB9XG5cbiAgICBAaWYgKCR0eXBlID09J3ByaW1hcnknKSB7XG4gICAgICAgIEBpZiAoJGJ1dHRvbl9wcmltYXJ5LWVuYWJsZS1hbmltYXRpb24pIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJ1dHRvbl9hbmltYXRpb24oJHR5cGU6ICdwcmltYXJ5JyxcbiAgICAgICAgICAgICAgICAkY29sb3Jfc3RhcnQ6ICRidXR0b25fcHJpbWFyeS1iYWNrZ3JvdW5kLFxuICAgICAgICAgICAgICAgICRjb2xvcl9lbmQ6ICRidXR0b25fcHJpbWFyeS0taG92ZXItYmFja2dyb3VuZCxcbiAgICAgICAgICAgICAgICAkaWNvbl9wb3M6ICRpY29uX3BvcyApO1xuICAgICAgICB9XG5cbiAgICAgICAgQGVsc2Uge1xuICAgICAgICAgICAgQGlmICgkaWNvbl9wb3MgPT0ncmlnaHQnKSBvciAoJGljb25fcG9zID09J2xlZnQnKSB7XG5cbiAgICAgICAgICAgICAgICAmOjpiZWZvcmUsXG4gICAgICAgICAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgICAgICAgICAgICBjb250ZW50OiBub25lO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIEBpZiAoJHR5cGUgPT0nc2Vjb25kYXJ5Jykge1xuICAgICAgICBAaWYgKCRidXR0b25fc2Vjb25kYXJ5LWVuYWJsZS1hbmltYXRpb24pIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJ1dHRvbl9hbmltYXRpb24oJHR5cGU6ICdzZWNvbmRhcnknLFxuICAgICAgICAgICAgICAgICRjb2xvcl9zdGFydDogJGJ1dHRvbl9zZWNvbmRhcnktYmFja2dyb3VuZCxcbiAgICAgICAgICAgICAgICAkY29sb3JfZW5kOiAkYnV0dG9uX3NlY29uZGFyeS0taG92ZXItYmFja2dyb3VuZCxcbiAgICAgICAgICAgICAgICAkaWNvbl9wb3M6ICRpY29uX3BvcyApO1xuICAgICAgICB9XG5cbiAgICAgICAgQGVsc2Uge1xuICAgICAgICAgICAgQGlmICgkaWNvbl9wb3MgPT0ncmlnaHQnKSBvciAoJGljb25fcG9zID09J2xlZnQnKSB7XG5cbiAgICAgICAgICAgICAgICAmOjpiZWZvcmUsXG4gICAgICAgICAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgICAgICAgICAgICBjb250ZW50OiBub25lO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIEBpZiAoJHR5cGUgPT0nbGluaycpIHtcbiAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgJGJ1dHRvbl9hbmltYXRpb24tdGltZSwgZmlsbCAkYnV0dG9uX2FuaW1hdGlvbi10aW1lO1xuXG4gICAgICAgICoge1xuICAgICAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgJGJ1dHRvbl9hbmltYXRpb24tdGltZSxcbiAgICAgICAgICAgICAgICBmaWxsICRidXR0b25fYW5pbWF0aW9uLXRpbWU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBAaWYgKCR0eXBlID09J3N1Y2Nlc3MnKSB7XG4gICAgICAgIEBpZiAoJGJ1dHRvbl9zdWNjZXNzLWVuYWJsZS1hbmltYXRpb24pIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJ1dHRvbl9hbmltYXRpb24oJHR5cGU6ICdzdWNjZXNzJyxcbiAgICAgICAgICAgICAgICAkY29sb3Jfc3RhcnQ6ICRidXR0b25fc3VjY2Vzcy1iYWNrZ3JvdW5kLFxuICAgICAgICAgICAgICAgICRjb2xvcl9lbmQ6ICRidXR0b25fc3VjY2Vzcy0taG92ZXItYmFja2dyb3VuZCxcbiAgICAgICAgICAgICAgICAkaWNvbl9wb3M6ICRpY29uX3BvcyApO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgQGlmICgkdHlwZSA9PSdlcnJvcicpIHtcbiAgICAgICAgQGlmICgkYnV0dG9uX2Vycm9yLWVuYWJsZS1hbmltYXRpb24pIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJ1dHRvbl9hbmltYXRpb24oJHR5cGU6ICdlcnJvcicsXG4gICAgICAgICAgICAgICAgJGNvbG9yX3N0YXJ0OiAkYnV0dG9uX2Vycm9yLWJhY2tncm91bmQsXG4gICAgICAgICAgICAgICAgJGNvbG9yX2VuZDogJGJ1dHRvbl9lcnJvci0taG92ZXItYmFja2dyb3VuZCxcbiAgICAgICAgICAgICAgICAkaWNvbl9wb3M6ICRpY29uX3BvcyApO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLy8gc3R5bGVsaW50LWRpc2FibGUgbm8tZGVzY2VuZGluZy1zcGVjaWZpY2l0eVxuICAgICY6Oi1tb3otZm9jdXMtaW5uZXIge1xuICAgICAgICBib3JkZXI6IDA7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICB9XG5cbiAgICAmLFxuICAgICY6dmlzaXRlZCB7XG4gICAgICAgIEBpZiAoJHR5cGUgIT0nbGluaycpIHtcbiAgICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6ICRidXR0b25fYm9yZGVyLXJhZGl1cztcbiAgICAgICAgICAgIG91dGxpbmUtb2Zmc2V0OiAxcHg7XG4gICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgICAgICBib3gtc2hhZG93OiBub25lO1xuICAgICAgICB9XG5cbiAgICAgICAgQGlmICgkdHlwZSA9PSdwcmltYXJ5Jykge1xuICAgICAgICAgICAgYm9yZGVyOiAkYnV0dG9uX3ByaW1hcnktYm9yZGVyO1xuICAgICAgICAgICAgY29sb3I6ICRidXR0b25fcHJpbWFyeS1jb2xvcjtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRidXR0b25fcHJpbWFyeS1iYWNrZ3JvdW5kO1xuXG4gICAgICAgICAgICAqIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogJGJ1dHRvbl9wcmltYXJ5LWNvbG9yO1xuICAgICAgICAgICAgICAgIGZpbGw6ICRidXR0b25fcHJpbWFyeS1maWxsO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgQGlmICgkdHlwZSA9PSdzZWNvbmRhcnknKSB7XG4gICAgICAgICAgICBib3JkZXI6ICRidXR0b25fc2Vjb25kYXJ5LWJvcmRlcjtcbiAgICAgICAgICAgIGNvbG9yOiAkYnV0dG9uX3NlY29uZGFyeS1jb2xvcjtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRidXR0b25fc2Vjb25kYXJ5LWJhY2tncm91bmQ7XG5cbiAgICAgICAgICAgICoge1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkYnV0dG9uX3NlY29uZGFyeS1jb2xvcjtcbiAgICAgICAgICAgICAgICBmaWxsOiAkYnV0dG9uX3NlY29uZGFyeS1maWxsO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgQGlmICgkdHlwZSA9PSdsaW5rJykge1xuICAgICAgICAgICAgY29sb3I6ICRidXR0b25fbGluay1jb2xvcjtcblxuICAgICAgICAgICAgKiB7XG4gICAgICAgICAgICAgICAgY29sb3I6ICRidXR0b25fbGluay1jb2xvcjtcbiAgICAgICAgICAgICAgICBmaWxsOiAkYnV0dG9uX2xpbmstY29sb3I7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBAaWYgKCR0eXBlID09J3N1Y2Nlc3MnKSB7XG4gICAgICAgICAgICBib3JkZXI6ICRidXR0b25fc3VjY2Vzcy1ib3JkZXI7XG4gICAgICAgICAgICBjb2xvcjogJGJ1dHRvbl9zdWNjZXNzLWNvbG9yO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGJ1dHRvbl9zdWNjZXNzLWJhY2tncm91bmQ7XG5cbiAgICAgICAgICAgICoge1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkYnV0dG9uX3N1Y2Nlc3MtY29sb3I7XG4gICAgICAgICAgICAgICAgZmlsbDogJGJ1dHRvbl9zdWNjZXNzLWZpbGw7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBAaWYgKCR0eXBlID09J2Vycm9yJykge1xuICAgICAgICAgICAgYm9yZGVyOiAkYnV0dG9uX2Vycm9yLWJvcmRlcjtcbiAgICAgICAgICAgIGNvbG9yOiAkYnV0dG9uX2Vycm9yLWNvbG9yO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGJ1dHRvbl9lcnJvci1iYWNrZ3JvdW5kO1xuXG4gICAgICAgICAgICAqIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogJGJ1dHRvbl9lcnJvci1jb2xvcjtcbiAgICAgICAgICAgICAgICBmaWxsOiAkYnV0dG9uX2Vycm9yLWZpbGw7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBzdHlsZWxpbnQtZW5hYmxlIG5vLWRlc2NlbmRpbmctc3BlY2lmaWNpdHlcblxuICAgICY6aG92ZXIsXG4gICAgJjpmb2N1cyxcbiAgICAmOmFjdGl2ZSB7XG4gICAgICAgICY6bm90KFtkaXNhYmxlZF0pIHtcbiAgICAgICAgICAgIEBpZiAoJHR5cGUgIT0nbGluaycpIHtcbiAgICAgICAgICAgICAgICBib3gtc2hhZG93OiBub25lO1xuICAgICAgICAgICAgICAgIG91dGxpbmU6IG5vbmU7XG4gICAgICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBAaWYgKCR0eXBlID09J3ByaW1hcnknKSB7XG4gICAgICAgICAgICAgICAgYm9yZGVyOiAkYnV0dG9uX3ByaW1hcnktLWhvdmVyLWJvcmRlcjtcbiAgICAgICAgICAgICAgICBjb2xvcjogJGJ1dHRvbl9wcmltYXJ5LS1ob3Zlci1jb2xvcjtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYnV0dG9uX3ByaW1hcnktLWhvdmVyLWJhY2tncm91bmQ7XG5cbiAgICAgICAgICAgICAgICAqIHtcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRidXR0b25fcHJpbWFyeS0taG92ZXItY29sb3I7XG4gICAgICAgICAgICAgICAgICAgIGZpbGw6ICRidXR0b25fcHJpbWFyeS0taG92ZXItZmlsbDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIEBpZiAoJHR5cGUgPT0nc2Vjb25kYXJ5Jykge1xuICAgICAgICAgICAgICAgIGJvcmRlcjogJGJ1dHRvbl9zZWNvbmRhcnktLWhvdmVyLWJvcmRlcjtcbiAgICAgICAgICAgICAgICBjb2xvcjogJGJ1dHRvbl9zZWNvbmRhcnktLWhvdmVyLWNvbG9yO1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRidXR0b25fc2Vjb25kYXJ5LS1ob3Zlci1iYWNrZ3JvdW5kO1xuXG4gICAgICAgICAgICAgICAgKiB7XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkYnV0dG9uX3NlY29uZGFyeS0taG92ZXItY29sb3I7XG4gICAgICAgICAgICAgICAgICAgIGZpbGw6ICRidXR0b25fc2Vjb25kYXJ5LS1ob3Zlci1maWxsO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgQGlmICgkdHlwZSA9PSdsaW5rJykge1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkYnV0dG9uX2xpbmstLWhvdmVyLWNvbG9yO1xuXG4gICAgICAgICAgICAgICAgKiB7XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkYnV0dG9uX2xpbmstLWhvdmVyLWNvbG9yO1xuICAgICAgICAgICAgICAgICAgICBmaWxsOiAkYnV0dG9uX2xpbmstLWhvdmVyLWNvbG9yO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgQGlmICgkdHlwZSA9PSdzdWNjZXNzJykge1xuICAgICAgICAgICAgICAgIGJvcmRlcjogJGJ1dHRvbl9zdWNjZXNzLS1ob3Zlci1ib3JkZXI7XG4gICAgICAgICAgICAgICAgY29sb3I6ICRidXR0b25fc3VjY2Vzcy0taG92ZXItY29sb3I7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGJ1dHRvbl9zdWNjZXNzLS1ob3Zlci1iYWNrZ3JvdW5kO1xuXG4gICAgICAgICAgICAgICAgKiB7XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkYnV0dG9uX3N1Y2Nlc3MtLWhvdmVyLWNvbG9yO1xuICAgICAgICAgICAgICAgICAgICBmaWxsOiAkYnV0dG9uX3N1Y2Nlc3MtLWhvdmVyLWZpbGw7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBAaWYgKCR0eXBlID09J2Vycm9yJykge1xuICAgICAgICAgICAgICAgIGJvcmRlcjogJGJ1dHRvbl9lcnJvci0taG92ZXItYm9yZGVyO1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkYnV0dG9uX2Vycm9yLS1ob3Zlci1jb2xvcjtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYnV0dG9uX2Vycm9yLS1ob3Zlci1iYWNrZ3JvdW5kO1xuXG4gICAgICAgICAgICAgICAgKiB7XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkYnV0dG9uX2Vycm9yLS1ob3Zlci1jb2xvcjtcbiAgICAgICAgICAgICAgICAgICAgZmlsbDogJGJ1dHRvbl9lcnJvci0taG92ZXItZmlsbDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmW2Rpc2FibGVkXSB7XG4gICAgICAgIG9wYWNpdHk6IDAuNjU7XG4gICAgICAgIGN1cnNvcjogYXV0bztcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBidXR0b24taG9vaygkdHlwZSwgJGljb25fcG9zKTtcbn1cblxuQG1peGluIGJ1dHRvbl9zcGFuKCR0eXBlOiAkYnV0dG9uX2RlZmF1bHQtdHlwZSxcbiAgICAkaWNvbl9wb3M6ICRidXR0b25fZGVmYXVsdC1pY29uLXBvcykge1xuICAgIG1hcmdpbi10b3A6ICRidXR0b25fc3Bhbi1mb250LW9mZnNldDtcbiAgICB6LWluZGV4OiAxO1xuICAgIGZvbnQtd2VpZ2h0OiAkYnV0dG9uX2ZvbnQtd2VpZ2h0O1xuICAgIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgbGluZS1oZWlnaHQ6ICRidXR0b25fbGluZS1oZWlnaHQ7XG4gICAgbGV0dGVyLXNwYWNpbmc6ICRidXR0b25fdGV4dC1sZXR0ZXItc3BhY2luZztcblxuICAgIEBpZiAoJGljb25fcG9zID09J3JpZ2h0Jykge1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7XG5cbiAgICAgICAgQGlmICgkdHlwZSA9PSdsaW5rJykge1xuICAgICAgICAgICAgcGFkZGluZy1yaWdodDogJGJ1dHRvbl9saW5rLWljb24tcGFkZGluZztcbiAgICAgICAgfVxuXG4gICAgICAgIEBlbHNlIHtcblxuICAgICAgICAgICAgQGlmICh1bml0KCRidXR0b25fcGFkZGluZy13aGVuLWljb24pPT11bml0KGdldC12YWx1ZS1mcm9tLWxpc3QoJHZhcmlhYmxlOiAkYnV0dG9uX3BhZGRpbmcsXG4gICAgICAgICAgICAgICAgICAgICAgICAkc2lkZTogJGljb25fcG9zICkpKSB7XG4gICAgICAgICAgICAgICAgcGFkZGluZy1yaWdodDogJGJ1dHRvbl9wYWRkaW5nLXdoZW4taWNvbiArIGdldC12YWx1ZS1mcm9tLWxpc3QoJHZhcmlhYmxlOiAkYnV0dG9uX3BhZGRpbmcsXG4gICAgICAgICAgICAgICAgICAgICAgICAkc2lkZTogJGljb25fcG9zICk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIEBlbHNlIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiBjYWxjKCN7JGJ1dHRvbl9wYWRkaW5nLXdoZW4taWNvbn0gKyAje2dldC12YWx1ZS1mcm9tLWxpc3QoXG4gJHZhcmlhYmxlOiAkYnV0dG9uX3BhZGRpbmcsXG4gICAgICAgICAgICAgICAgICAgICRzaWRlOiAkaWNvbl9wb3MgKVxuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbkBlbHNlIGlmICgkaWNvbl9wb3MgPT0nbGVmdCcpIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuXG4gICAgQGlmICgkdHlwZSA9PSdsaW5rJykge1xuICAgICAgICBwYWRkaW5nLWxlZnQ6ICRidXR0b25fbGluay1pY29uLXBhZGRpbmc7XG4gICAgfVxuXG4gICAgQGVsc2Uge1xuXG4gICAgICAgIEBpZiAodW5pdCgkYnV0dG9uX3BhZGRpbmctd2hlbi1pY29uKT09dW5pdChnZXQtdmFsdWUtZnJvbS1saXN0KCR2YXJpYWJsZTogJGJ1dHRvbl9wYWRkaW5nLFxuICAgICAgICAgICAgICAgICAgICAkc2lkZTogJGljb25fcG9zICkpKSB7XG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6ICRidXR0b25fcGFkZGluZy13aGVuLWljb24gKyBnZXQtdmFsdWUtZnJvbS1saXN0KCR2YXJpYWJsZTogJGJ1dHRvbl9wYWRkaW5nLFxuICAgICAgICAgICAgICAgICAgICAkc2lkZTogJGljb25fcG9zICk7XG4gICAgICAgIH1cblxuICAgICAgICBAZWxzZSB7XG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IGNhbGMoI3skYnV0dG9uX3BhZGRpbmctd2hlbi1pY29ufSArICN7Z2V0LXZhbHVlLWZyb20tbGlzdChcbiAkdmFyaWFibGU6ICRidXR0b25fcGFkZGluZyxcbiAgICAgICAgICAgICAgICAkc2lkZTogJGljb25fcG9zIClcbiAgICAgICAgfSk7XG4gICAgfVxufVxufVxuXG5AZWxzZSBpZiAoJGljb25fcG9zID09J29ubHktaWNvbicpIHtcbiAgICBkaXNwbGF5OiBub25lO1xufVxuXG5AaW5jbHVkZSBidXR0b25fc3Bhbi1ob29rKCR0eXBlLCAkaWNvbl9wb3MpO1xufVxuXG5AbWl4aW4gYnV0dG9uX2ljb24oJHR5cGU6ICRidXR0b25fZGVmYXVsdC10eXBlLFxuICAgICRpY29uX3BvczogJGJ1dHRvbl9kZWZhdWx0LWljb24tcG9zKSB7XG4gICAgbWF4LXdpZHRoOiAxZW07XG4gICAgbWF4LWhlaWdodDogJGJ1dHRvbl9mb250LXNpemU7XG4gICAgei1pbmRleDogMjtcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgd2lkdGg6IDEwMCU7XG5cbiAgICBAaWYgKCRpY29uX3BvcyA9PSdyaWdodCcpIG9yICgkaWNvbl9wb3MgPT0nbGVmdCcpIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtNTAlLCAwKTtcbiAgICB9XG5cbiAgICBAaWYgKCRpY29uX3BvcyA9PSdvbmx5LWljb24nKSB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgdG9wOiAkYnV0dG9uX2ljb24tb2Zmc2V0O1xuXG4gICAgICAgIEBpZiAoJHR5cGUgPT0nbGluaycpIHtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAkYnV0dG9uX2xpbmstaWNvbi1wYWRkaW5nIC8gMjtcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogJGJ1dHRvbl9saW5rLWljb24tcGFkZGluZyAvIDI7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBAZWxzZSBpZiAoJGljb25fcG9zID09J3JpZ2h0Jykge1xuICAgICAgICBAaWYgKCR0eXBlID09J2xpbmsnKSB7XG4gICAgICAgICAgICByaWdodDogMDtcbiAgICAgICAgfVxuXG4gICAgICAgIEBlbHNlIHtcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgICAgICAgIHJpZ2h0OiBnZXQtdmFsdWUtZnJvbS1saXN0KCR2YXJpYWJsZTogJGJ1dHRvbl9wYWRkaW5nLFxuICAgICAgICAgICAgICAgICAgICAkc2lkZTogJGljb25fcG9zICk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBAZWxzZSBpZiAoJGljb25fcG9zID09J2xlZnQnKSB7XG4gICAgICAgIEBpZiAoJHR5cGUgPT0nbGluaycpIHtcbiAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIH1cblxuICAgICAgICBAZWxzZSB7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgICAgICAgIGxlZnQ6IGdldC12YWx1ZS1mcm9tLWxpc3QoJHZhcmlhYmxlOiAkYnV0dG9uX3BhZGRpbmcsXG4gICAgICAgICAgICAgICAgICAgICRzaWRlOiAkaWNvbl9wb3MgKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIEBlbHNlIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBidXR0b25faWNvbi1ob29rKCR0eXBlLCAkaWNvbl9wb3MpO1xufSIsIi8vIEluIHRoaXMgbWl4aW4geW91IGNhbiBkZWZpbmUgeW91ciBjdXN0b20gYW5pbWF0aW9uIGZvciBidXR0b25zXG4vLyBZb3UgY2FuIGNoZWNrIGV4YW1wbGVzIG9mIGFuaW1hdGlvbnMgaW4gaHR0cDovL2lhbmx1bm4uZ2l0aHViLmlvL0hvdmVyLyBsaWJyYXJ5XG5cbkBtaXhpbiBidXR0b25fYW5pbWF0aW9uKFxuICAgICR0eXBlOiAkYnV0dG9uX2RlZmF1bHQtdHlwZSxcbiAgICAkY29sb3Jfc3RhcnQ6ICRidXR0b25fcHJpbWFyeS1iYWNrZ3JvdW5kLFxuICAgICRjb2xvcl9lbmQ6ICRidXR0b25fcHJpbWFyeS0taG92ZXItYmFja2dyb3VuZCxcbiAgICAkaWNvbl9wb3M6ICRidXR0b25fZGVmYXVsdC1pY29uLXBvc1xuKSB7XG4gICAgQGlmICgkdHlwZSA9PSAncHJpbWFyeScpIGFuZFxuICAgICAgICAoKCRpY29uX3BvcyA9PSAncmlnaHQnKSBvciAoJGljb25fcG9zID09ICdsZWZ0JykpXG4gICAge1xuICAgICAgICAmOmhvdmVyLFxuICAgICAgICAmOmZvY3VzLFxuICAgICAgICAmOmFjdGl2ZSB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3Jfc3RhcnQgIWltcG9ydGFudDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICY6YmVmb3JlLFxuICAgICY6YWZ0ZXIge1xuICAgICAgICBAaWYgKCRpY29uX3BvcyA9PSAncmlnaHQnKSBvciAoJGljb25fcG9zID09ICdsZWZ0Jykge1xuICAgICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICB0b3A6IC0jeyRidXR0b25fYm9yZGVyLXNpemV9O1xuICAgICAgICAgICAgYm90dG9tOiAtI3skYnV0dG9uX2JvcmRlci1zaXplfTtcbiAgICAgICAgfVxuXG4gICAgICAgIEBpZiAoJGljb25fcG9zID09ICdyaWdodCcpIHtcbiAgICAgICAgICAgIHJpZ2h0OiAtI3skYnV0dG9uX2JvcmRlci1zaXplfTtcbiAgICAgICAgfVxuXG4gICAgICAgIEBpZiAoJGljb25fcG9zID09ICdsZWZ0Jykge1xuICAgICAgICAgICAgbGVmdDogLSN7JGJ1dHRvbl9ib3JkZXItc2l6ZX07XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmOmJlZm9yZSB7XG4gICAgICAgIEBpZiAoJGljb25fcG9zID09ICdyaWdodCcpIG9yICgkaWNvbl9wb3MgPT0gJ2xlZnQnKSB7XG4gICAgICAgICAgICB3aWR0aDogJGJ1dHRvbl9hbmltYXRpb24tYmVmb3JlLXdpZHRoO1xuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMCAkYnV0dG9uX2JvcmRlci1yYWRpdXMgJGJ1dHRvbl9ib3JkZXItcmFkaXVzIDA7XG4gICAgICAgICAgICB6LWluZGV4OiAtMTtcbiAgICAgICAgfVxuXG4gICAgICAgIEBpZiAoJGljb25fcG9zID09ICdyaWdodCcpIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudChcbiAgICAgICAgICAgICAgICAwZGVnLFxuICAgICAgICAgICAgICAgIHRyYW5zcGFyZW50IDAlLFxuICAgICAgICAgICAgICAgIHRyYW5zcGFyZW50IDAlLFxuICAgICAgICAgICAgICAgICRjb2xvcl9lbmQgMCUsXG4gICAgICAgICAgICAgICAgJGNvbG9yX2VuZCAxMDAlXG4gICAgICAgICAgICApO1xuICAgICAgICB9XG5cbiAgICAgICAgQGlmICgkaWNvbl9wb3MgPT0gJ2xlZnQnKSB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoXG4gICAgICAgICAgICAgICAgMGRlZyxcbiAgICAgICAgICAgICAgICAkY29sb3JfZW5kIDAlLFxuICAgICAgICAgICAgICAgICRjb2xvcl9lbmQgODUlLFxuICAgICAgICAgICAgICAgIHRyYW5zcGFyZW50IDEwMCUsXG4gICAgICAgICAgICAgICAgdHJhbnNwYXJlbnQgMTAwJVxuICAgICAgICAgICAgKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICY6YWZ0ZXIge1xuICAgICAgICBAaWYgKCRpY29uX3BvcyA9PSAncmlnaHQnKSBvciAoJGljb25fcG9zID09ICdsZWZ0Jykge1xuICAgICAgICAgICAgd2lkdGg6ICRidXR0b25fYW5pbWF0aW9uLWFmdGVyLXdpZHRoO1xuICAgICAgICAgICAgbWluLXdpZHRoOiBhdXRvO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yX2VuZDtcbiAgICAgICAgICAgIHRyYW5zaXRpb246IHdpZHRoIDAuMjVzIGxpbmVhcjtcbiAgICAgICAgICAgIHotaW5kZXg6IC0yO1xuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogJGJ1dHRvbl9ib3JkZXItcmFkaXVzO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJjpob3ZlciB7XG4gICAgICAgIEBpZiAoJGljb25fcG9zID09ICdyaWdodCcpIG9yICgkaWNvbl9wb3MgPT0gJ2xlZnQnKSB7XG4gICAgICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgICAgICBAaWYgKCRidXR0b25fYm9yZGVyLXNpemUgPiAwKSB7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiBjYWxjKDEwMCUgKyAjezIgKiAkYnV0dG9uX2JvcmRlci1zaXplfSk7XG4gICAgICAgICAgICAgICAgfSBAZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG5AdXNlICdzYXNzOm1hcCc7XG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG4vKipcbiogRGVmYXVsdCBwcm9qZWN0IGJyZWFrcG9pbnRzIC0gW2VtXVxuKi9cbi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG5AdXNlICdzYXNzOm1hcCc7XG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG4vKipcbiogRGVmYXVsdCBwcm9qZWN0IGJyZWFrcG9pbnRzIC0gW2VtXVxuKi9cbi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG5AdXNlICdzYXNzOm1hcCc7XG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG4vKipcbiogRGVmYXVsdCBwcm9qZWN0IGJyZWFrcG9pbnRzIC0gW2VtXVxuKi9cbi8qIHN0eWxlbGludC1kaXNhYmxlIGJsb2NrLW5vLWVtcHR5ICovXG4vKiBzdHlsZWxpbnQtZW5hYmxlICovXG4vKipcbiAqIEJyZWFrcG9pbnQgY29tcG9uZW50IHVzZWQgYnkgaW5jbHVkZS1tZWRpYSB2ZW5kb3IgbGlicmFyeS5cbiAqL1xuQHVzZSAnc2FzczptYXAnO1xuLyoqXG4gKiBFeHRyYWN0cyBuZXN0ZWQga2V5cyBmcm9tIGdpdmVuIG1hcC5cbiAqIEV4YW1wbGU6IGRlZXAtZ2V0KCRzb21lLW1hcCwgc29tZSwgbmVzdGVkLCBrZXlzKTtcbiAqL1xuLyoqXG4qIERlZmF1bHQgcHJvamVjdCBicmVha3BvaW50cyAtIFtlbV1cbiovXG4uY3MtYXV0aG9yaXphdGlvbi1saW5rIHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtYXJnaW4tbGVmdDogMC45cmVtO1xuICBwYWRkaW5nOiAwIDAgMCAwLjNyZW07IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAuY3MtYXV0aG9yaXphdGlvbi1saW5rIHtcbiAgICAgIHBhZGRpbmc6IDAgMCAwIDEuM3JlbTtcbiAgICAgIG1hcmdpbi1sZWZ0OiAxLjdyZW07IH0gfVxuICAuY3MtYXV0aG9yaXphdGlvbi1saW5rOmJlZm9yZSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBib3R0b206IDA7XG4gICAgbGVmdDogMDtcbiAgICBjb250ZW50OiAnJztcbiAgICBib3JkZXItbGVmdDogMC4ycmVtIHNvbGlkICNmZmY7IH1cbiAgLmNzLWF1dGhvcml6YXRpb24tbGlua19fbGluayB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyOyB9XG4gICAgLmNzLWF1dGhvcml6YXRpb24tbGlua19fbGluaywgLmNzLWF1dGhvcml6YXRpb24tbGlua19fbGluazp2aXNpdGVkIHtcbiAgICAgIGNvbG9yOiAjN2U1N2MyO1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9XG4gICAgLmNzLWF1dGhvcml6YXRpb24tbGlua19fbGluazpob3ZlciwgLmNzLWF1dGhvcml6YXRpb24tbGlua19fbGluazpmb2N1cywgLmNzLWF1dGhvcml6YXRpb24tbGlua19fbGluazphY3RpdmUsIC5jcy1hdXRob3JpemF0aW9uLWxpbmtfX2xpbms6dmlzaXRlZDpob3ZlciwgLmNzLWF1dGhvcml6YXRpb24tbGlua19fbGluazp2aXNpdGVkOmZvY3VzIHtcbiAgICAgIGNvbG9yOiAjNGQyYzkxO1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9XG4gICAgLmNzLWF1dGhvcml6YXRpb24tbGlua19fbGluazpob3ZlciAuY3MtYXV0aG9yaXphdGlvbi1saW5rX19pY29uIHBhdGgge1xuICAgICAgZmlsbDogIzg4ODsgfVxuICAuY3MtYXV0aG9yaXphdGlvbi1saW5rX19pY29uIHtcbiAgICB3aWR0aDogMS44cmVtO1xuICAgIGhlaWdodDogMXJlbTtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwLjVyZW07IH1cbiAgICAuY3MtYXV0aG9yaXphdGlvbi1saW5rX19pY29uIHBhdGgge1xuICAgICAgZmlsbDogIzg4ODsgfVxuIiwiQGltcG9ydCAnY29uZmlnL3ZhcmlhYmxlcyc7XG5AaW1wb3J0ICd2ZW5kb3JzL2luY2x1ZGUtbWVkaWEnO1xuQGltcG9ydCAnY29tcG9uZW50cy90eXBvZ3JhcGh5L21peGluJztcblxuJGF1dGhvcml6YXRpb24tbGlua19pdGVtLWJvcmRlcjogMC4ycmVtIHNvbGlkICRjb2xvcl9ib3JkZXItMTAwICFkZWZhdWx0O1xuJGF1dGhvcml6YXRpb24tbGlua19jb2xvcjogJGNvbG9yX3ByaW1hcnktNTAwICFkZWZhdWx0O1xuJGF1dGhvcml6YXRpb24tbGlua19jb2xvci1ob3ZlcjogJGNvbG9yX3ByaW1hcnktODAwICFkZWZhdWx0O1xuJGF1dGhvcml6YXRpb24tbGlua19kZWNvcmF0aW9uOiBub25lICFkZWZhdWx0O1xuJGF1dGhvcml6YXRpb24tbGlua19ob3Zlci1kZWNvcmF0aW9uOiAkYXV0aG9yaXphdGlvbi1saW5rX2RlY29yYXRpb24gIWRlZmF1bHQ7XG4kYXV0aG9yaXphdGlvbi1saW5rX2ljb24tY29sb3I6ICRjb2xvcl90ZXh0LTQwMCAhZGVmYXVsdDtcbiRhdXRob3JpemF0aW9uLWxpbmtfaWNvbi1jb2xvci1ob3ZlcjogJGNvbG9yX3RleHQtNDAwICFkZWZhdWx0O1xuXG4uI3skbnN9YXV0aG9yaXphdGlvbi1saW5rIHtcbiAgICAkcm9vdDogJjtcblxuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbWFyZ2luLWxlZnQ6IDAuOXJlbTtcbiAgICBwYWRkaW5nOiAwIDAgMCAwLjNyZW07XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgnPj1sYXB0b3AnKSB7XG4gICAgICAgIHBhZGRpbmc6IDAgMCAwIDEuM3JlbTtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDEuN3JlbTtcbiAgICB9XG5cbiAgICAmOmJlZm9yZSB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICBib3R0b206IDA7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICBib3JkZXItbGVmdDogJGF1dGhvcml6YXRpb24tbGlua19pdGVtLWJvcmRlcjtcbiAgICB9XG5cbiAgICAmX19saW5rIHtcbiAgICAgICAgQGluY2x1ZGUgbGluayhcbiAgICAgICAgICAgICRjb2xvcjogJGF1dGhvcml6YXRpb24tbGlua19jb2xvcixcbiAgICAgICAgICAgICRjb2xvci1ob3ZlcjogJGF1dGhvcml6YXRpb24tbGlua19jb2xvci1ob3ZlcixcbiAgICAgICAgICAgICRkZWNvcmF0aW9uOiAkYXV0aG9yaXphdGlvbi1saW5rX2RlY29yYXRpb24sXG4gICAgICAgICAgICAkZGVjb3JhdGlvbi1ob3ZlcjogJGF1dGhvcml6YXRpb24tbGlua19ob3Zlci1kZWNvcmF0aW9uXG4gICAgICAgICk7XG5cbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcblxuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICN7JHJvb3R9X19pY29uIHtcbiAgICAgICAgICAgICAgICBwYXRoIHtcbiAgICAgICAgICAgICAgICAgICAgZmlsbDogJGF1dGhvcml6YXRpb24tbGlua19pY29uLWNvbG9yLWhvdmVyO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2ljb24ge1xuICAgICAgICB3aWR0aDogMS44cmVtO1xuICAgICAgICBoZWlnaHQ6IDFyZW07XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDAuNXJlbTtcblxuICAgICAgICBwYXRoIHtcbiAgICAgICAgICAgIGZpbGw6ICRhdXRob3JpemF0aW9uLWxpbmtfaWNvbi1jb2xvcjtcbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG5AdXNlICdzYXNzOm1hcCc7XG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG4vKipcbiogRGVmYXVsdCBwcm9qZWN0IGJyZWFrcG9pbnRzIC0gW2VtXVxuKi9cbi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG5AdXNlICdzYXNzOm1hcCc7XG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG4vKipcbiogRGVmYXVsdCBwcm9qZWN0IGJyZWFrcG9pbnRzIC0gW2VtXVxuKi9cbi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG5AdXNlICdzYXNzOm1hcCc7XG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG4vKipcbiogRGVmYXVsdCBwcm9qZWN0IGJyZWFrcG9pbnRzIC0gW2VtXVxuKi9cbi8qIHN0eWxlbGludC1kaXNhYmxlIGJsb2NrLW5vLWVtcHR5ICovXG4vKiBzdHlsZWxpbnQtZW5hYmxlICovXG4vKlxuICogQmVjYXVzZSBwcmljZS1ib3ggaXMgdXNlZCBpbiBtdWx0aXBsZSBjb21wb25lbnRzIGxpa2UgdGlsZSwgYnV5Ym94IGV0YyxcbiAqIHdlIG5lZWQgdG8gbW92ZSB2YXJpYWJsZXMgdG8gc2VwYXJhdGUgZmlsZSB0byBoYXZlIHBvc3NpYmlsaXR5IHRvIGluY2x1ZGUgdGhlbVxuICogaW4gZWFjaCBjb21wb25lbnQgd2l0aG91dCBnZW5lcmF0ZSBwcmljZS1ib3ggY29tcG9uZW50IHN0eWxlcyBtdWx0aXBsZSB0aW1lc1xuKi9cbi5jcy1hdXRvY29tcGxldGUge1xuICB3aWR0aDogMTAwJTtcbiAgdG9wOiAxMDAlO1xuICBsZWZ0OiAwO1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICBib3JkZXItcmFkaXVzOiAzcHg7XG4gIGJveC1zaGFkb3c6IDAgMCAxMHB4IDAgcmdiYSg2OSwgOTAsIDEwMCwgMC4xNyk7XG4gIHotaW5kZXg6IDIwMDtcbiAgbWFyZ2luLXRvcDogLTFweDsgfVxuICAuY3MtYXV0b2NvbXBsZXRlIC5hdXRvY29tcGxldGUtbGlzdCBkZCwgLmNzLWF1dG9jb21wbGV0ZV9faXRlbSB7XG4gICAgYmFja2dyb3VuZDogI2ZmZjtcbiAgICBwYWRkaW5nOiAwLjVyZW0gMXJlbTtcbiAgICBtYXJnaW46IDA7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNkY2RjZGM7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4xNXMgbGluZWFyO1xuICAgIGZvbnQtc2l6ZTogMS4yOXJlbTsgfVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNDhlbSkgYW5kIChtYXgtd2lkdGg6IDYzLjk5ZW0pIHtcbiAgLmNzLWF1dG9jb21wbGV0ZSAuYXV0b2NvbXBsZXRlLWxpc3QgZGQsIC5jcy1hdXRvY29tcGxldGVfX2l0ZW0ge1xuICAgIHBhZGRpbmc6IDFyZW07IH0gfVxuICAgIC5jcy1hdXRvY29tcGxldGUgLmF1dG9jb21wbGV0ZS1saXN0IGRkOmhvdmVyLCAuY3MtYXV0b2NvbXBsZXRlIC5hdXRvY29tcGxldGUtbGlzdCBkZC5zZWxlY3RlZCwgLmNzLWF1dG9jb21wbGV0ZV9faXRlbTpob3ZlciwgLmNzLWF1dG9jb21wbGV0ZV9faXRlbS5zZWxlY3RlZCB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjBmMGYwO1xuICAgICAgY3Vyc29yOiBwb2ludGVyOyB9XG4gICAgLmNzLWF1dG9jb21wbGV0ZSAuYXV0b2NvbXBsZXRlLWxpc3QgZGQ6bGFzdC1jaGlsZCwgLmNzLWF1dG9jb21wbGV0ZV9faXRlbTpsYXN0LWNoaWxkIHtcbiAgICAgIGJvcmRlci1ib3R0b206IG5vbmU7IH1cbiAgICAuY3MtYXV0b2NvbXBsZXRlIC5hdXRvY29tcGxldGUtbGlzdCBkZC1pbWFnZS1jb250YWluZXIsIC5jcy1hdXRvY29tcGxldGVfX2l0ZW0taW1hZ2UtY29udGFpbmVyIHtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDFyZW07XG4gICAgICBmbGV4LXNocmluazogMDtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IH1cbiAgICAuY3MtYXV0b2NvbXBsZXRlIC5hdXRvY29tcGxldGUtbGlzdCBkZC1pbWFnZSwgLmNzLWF1dG9jb21wbGV0ZV9faXRlbS1pbWFnZSB7XG4gICAgICB3aWR0aDogMy42cmVtO1xuICAgICAgaGVpZ2h0OiA0LjVyZW07IH1cbiAgICAuY3MtYXV0b2NvbXBsZXRlIC5hdXRvY29tcGxldGUtbGlzdCBkZC1kZXRhaWxzLCAuY3MtYXV0b2NvbXBsZXRlX19pdGVtLWRldGFpbHMge1xuICAgICAgZmxleDogMSAxIDEwMCU7XG4gICAgICBtYXJnaW46IDA7IH1cbiAgICAgIC5jcy1hdXRvY29tcGxldGUgLmF1dG9jb21wbGV0ZS1saXN0IGRkLWRldGFpbHMgLmYtZml4LCAuY3MtYXV0b2NvbXBsZXRlX19pdGVtLWRldGFpbHMgLmYtZml4IHtcbiAgICAgICAgaGVpZ2h0OiA1LjhyZW07XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOyB9XG4gICAgICAuY3MtYXV0b2NvbXBsZXRlIC5hdXRvY29tcGxldGUtbGlzdCBkZC1kZXRhaWxzIGltZywgLmNzLWF1dG9jb21wbGV0ZV9faXRlbS1kZXRhaWxzIGltZyB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gICAgLmNzLWF1dG9jb21wbGV0ZSAuYXV0b2NvbXBsZXRlLWxpc3QgZGQtYnJhbmQsIC5jcy1hdXRvY29tcGxldGVfX2l0ZW0tYnJhbmQge1xuICAgICAgZm9udC1zaXplOiAxLjJyZW07XG4gICAgICBjb2xvcjogIzg4ODsgfVxuICAgIC5jcy1hdXRvY29tcGxldGUgLmF1dG9jb21wbGV0ZS1saXN0IGRkLW5hbWUsIC5jcy1hdXRvY29tcGxldGVfX2l0ZW0tbmFtZSB7XG4gICAgICBmb250LXNpemU6IDEuMjlyZW07XG4gICAgICBjb2xvcjogIzQ1NWE2NDtcbiAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7IH1cbiAgICAuY3MtYXV0b2NvbXBsZXRlIC5hdXRvY29tcGxldGUtbGlzdCBkZC1wcmljZSwgLmNzLWF1dG9jb21wbGV0ZV9faXRlbS1wcmljZSB7XG4gICAgICBtYXJnaW46IDAuM3JlbSAwIDA7IH1cbiAgLmNzLWF1dG9jb21wbGV0ZSAucHJpY2UtYm94IHtcbiAgICBkaXNwbGF5OiBmbGV4OyB9XG4gICAgLmNzLWF1dG9jb21wbGV0ZSAucHJpY2UtYm94ID4gLnByaWNlIHtcbiAgICAgIGNvbG9yOiAjMzI0ZGNmO1xuICAgICAgZm9udC1zaXplOiAxLjVyZW07XG4gICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwOyB9XG4gICAgLmNzLWF1dG9jb21wbGV0ZSAucHJpY2UtYm94IC5vbGQtcHJpY2UgPiAucHJpY2Uge1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBsaW5lLXRocm91Z2g7XG4gICAgICBjb2xvcjogI2E4YjFiNztcbiAgICAgIGZvbnQtc2l6ZTogMS41cmVtO1xuICAgICAgZm9udC13ZWlnaHQ6IDcwMDsgfVxuICAgIC5jcy1hdXRvY29tcGxldGUgLnByaWNlLWJveCAuc3BlY2lhbC1wcmljZSA+IC5wcmljZSB7XG4gICAgICBjb2xvcjogI2U0MWYxMjtcbiAgICAgIGZvbnQtc2l6ZTogMS41cmVtO1xuICAgICAgZm9udC13ZWlnaHQ6IDcwMDsgfVxuICAgIC5jcy1hdXRvY29tcGxldGUgLnByaWNlLWJveCAubWluaW1hbC1wcmljZS1saW5rIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAuY3MtYXV0b2NvbXBsZXRlIC5wcmljZS1ib3ggLm9sZC1wcmljZSB7XG4gICAgICBvcmRlcjogLTE7IH1cbiAgICAgIC5jcy1hdXRvY29tcGxldGUgLnByaWNlLWJveCAub2xkLXByaWNlIC5wcmljZSB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMXJlbTsgfVxuICAuY3MtYXV0b2NvbXBsZXRlX19iYWRnZXMge1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgYWxpZ24taXRlbXM6IGZsZXgtZW5kO1xuICAgIG1hcmdpbi1sZWZ0OiAxcmVtOyB9XG4gIC5jcy1hdXRvY29tcGxldGVfX2JhZGdlIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjN2U1N2MyO1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIGJvcmRlcjogMDtcbiAgICBib3JkZXItcmFkaXVzOiA3cHg7XG4gICAgcGFkZGluZzogMCAwLjdyZW07XG4gICAgZm9udC1zaXplOiAxLjFyZW07XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBtaW4taGVpZ2h0OiAyZW07XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgfVxuICAgIC5jcy1hdXRvY29tcGxldGVfX2JhZGdlICsgLmNzLWF1dG9jb21wbGV0ZV9fYmFkZ2Uge1xuICAgICAgbWFyZ2luLXRvcDogMC41cmVtOyB9XG4gICAgLmNzLWF1dG9jb21wbGV0ZV9fYmFkZ2UtLXBvcHVsYXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzM3Yjg0MTtcbiAgICAgIGNvbG9yOiAjZmZmOyB9XG4gICAgICAuY3MtYXV0b2NvbXBsZXRlX19iYWRnZS0tcG9wdWxhciAuY3MtYXV0b2NvbXBsZXRlX19iYWRnZS10ZXh0IHtcbiAgICAgICAgbGluZS1oZWlnaHQ6IG5vcm1hbDsgfVxuICAgICAgICAuY3MtYXV0b2NvbXBsZXRlX19iYWRnZS0tcG9wdWxhciAuY3MtYXV0b2NvbXBsZXRlX19iYWRnZS10ZXh0ICsgLmNzLWF1dG9jb21wbGV0ZV9fYmFkZ2UtLXBvcHVsYXIgLmNzLWF1dG9jb21wbGV0ZV9fYmFkZ2UtdGV4dCB7XG4gICAgICAgICAgbWFyZ2luLWxlZnQ6IDAuNXJlbTsgfVxuICAgIC5jcy1hdXRvY29tcGxldGVfX2JhZGdlLS1mcmVlLXNoaXBwaW5nIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICMzN2I4NDE7XG4gICAgICBjb2xvcjogI2ZmZjsgfVxuICAgICAgLmNzLWF1dG9jb21wbGV0ZV9fYmFkZ2UtLWZyZWUtc2hpcHBpbmcgLmNzLWF1dG9jb21wbGV0ZV9fYmFkZ2UtdGV4dCB7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiBub3JtYWw7IH1cbiAgICAgICAgLmNzLWF1dG9jb21wbGV0ZV9fYmFkZ2UtLWZyZWUtc2hpcHBpbmcgLmNzLWF1dG9jb21wbGV0ZV9fYmFkZ2UtdGV4dCArIC5jcy1hdXRvY29tcGxldGVfX2JhZGdlLS1mcmVlLXNoaXBwaW5nIC5jcy1hdXRvY29tcGxldGVfX2JhZGdlLXRleHQge1xuICAgICAgICAgIG1hcmdpbi1sZWZ0OiAwLjVyZW07IH1cbiAgLmNzLWF1dG9jb21wbGV0ZV9fYmFkZ2UtdGV4dCB7XG4gICAgbGluZS1oZWlnaHQ6IG5vcm1hbDsgfVxuICAgIC5jcy1hdXRvY29tcGxldGVfX2JhZGdlLXRleHQgKyAuY3MtYXV0b2NvbXBsZXRlX19iYWRnZS10ZXh0IHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwLjVyZW07IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogMjMuMTI1ZW0pIHtcbiAgICAgIC5jcy1hdXRvY29tcGxldGVfX2JhZGdlLXRleHQge1xuICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwOyB9IH1cblxuLmF1dG9jb21wbGV0ZS1saXN0IHtcbiAgbWFyZ2luOiAtMXB4IDAgMXJlbTtcbiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNkY2RjZGM7IH1cbiAgLmF1dG9jb21wbGV0ZS1saXN0OmZpcnN0LWNoaWxkIHtcbiAgICBib3JkZXItdG9wOiAwOyB9XG4gIC5hdXRvY29tcGxldGUtbGlzdDpsYXN0LWNoaWxkIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gIC5hdXRvY29tcGxldGUtbGlzdCAuYW1vdW50IHtcbiAgICBjb2xvcjogIzg4ODtcbiAgICBmb250LXNpemU6IDEuMjlyZW07XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBtYXJnaW4tbGVmdDogMC41cmVtOyB9XG4gICAgLmF1dG9jb21wbGV0ZS1saXN0IC5hbW91bnQ6bm90KDplbXB0eSk6YWZ0ZXIge1xuICAgICAgY29udGVudDogJyknOyB9XG4gICAgLmF1dG9jb21wbGV0ZS1saXN0IC5hbW91bnQ6bm90KDplbXB0eSk6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6ICcoJzsgfVxuXG4uYXV0b2NvbXBsZXRlLWxpc3QtdGl0bGUge1xuICBwYWRkaW5nOiAxLjJyZW0gM3JlbSAxcmVtIDFyZW07XG4gIGJvcmRlci1ib3R0b206IG5vbmU7XG4gIGNvbG9yOiAjODg4O1xuICBmb250LXdlaWdodDogNzAwO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBmb250LXNpemU6IDEuMjlyZW07XG4gIGxldHRlci1zcGFjaW5nOiAxcHg7XG4gIG1hcmdpbjogMDsgfVxuICAuYXV0b2NvbXBsZXRlLWxpc3QtdGl0bGU6aG92ZXIsIC5hdXRvY29tcGxldGUtbGlzdC10aXRsZS5zZWxlY3RlZCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cbiAgLmF1dG9jb21wbGV0ZS1saXN0LXRpdGxlOm5vdCg6ZW1wdHkpOmZpcnN0LWNoaWxkIHtcbiAgICBib3JkZXItdG9wOiB0cmFuc3BhcmVudDsgfVxuXG5AbWVkaWEgKGhvdmVyOiBub25lKSB7XG4gIGh0bWwuYXV0b2NvbXBsZXRlLWRyb3Bkb3duLXZpc2libGUge1xuICAgIG92ZXJmbG93LXk6IGhpZGRlbjsgfSB9XG5cbkBtZWRpYSAoaG92ZXI6IG5vbmUpIHtcbiAgaHRtbC5hdXRvY29tcGxldGUtZHJvcGRvd24tdmlzaWJsZSBib2R5IHtcbiAgICBvdmVyZmxvdy15OiBoaWRkZW47IH0gfVxuIiwiLyogc3R5bGVsaW50LWRpc2FibGUgYmxvY2stbm8tZW1wdHkgKi9cbkBtaXhpbiBiYWRnZV9ob29rKCR0eXBlKSB7XG59XG5cbkBtaXhpbiBiYWRnZV90eXBlLWhvb2soJHR5cGUpIHtcbn1cblxuQG1peGluIGJhZGdlX3NwYW4taG9vaygkdHlwZSkge1xufVxuLyogc3R5bGVsaW50LWVuYWJsZSAqL1xuIiwiLypcbiAqIEJlY2F1c2UgcHJpY2UtYm94IGlzIHVzZWQgaW4gbXVsdGlwbGUgY29tcG9uZW50cyBsaWtlIHRpbGUsIGJ1eWJveCBldGMsXG4gKiB3ZSBuZWVkIHRvIG1vdmUgdmFyaWFibGVzIHRvIHNlcGFyYXRlIGZpbGUgdG8gaGF2ZSBwb3NzaWJpbGl0eSB0byBpbmNsdWRlIHRoZW1cbiAqIGluIGVhY2ggY29tcG9uZW50IHdpdGhvdXQgZ2VuZXJhdGUgcHJpY2UtYm94IGNvbXBvbmVudCBzdHlsZXMgbXVsdGlwbGUgdGltZXNcbiovXG5cbiRwcmljZS1ib3hfbm9ybWFsLXByaWNlLWNvbG9yOiAkcHJpY2VfY29sb3IgIWRlZmF1bHQ7XG4kcHJpY2UtYm94X25vcm1hbC1wcmljZS1mb250LXNpemU6IDEuNXJlbSAhZGVmYXVsdDtcbiRwcmljZS1ib3hfbm9ybWFsLXByaWNlLWZvbnQtd2VpZ2h0OiA3MDAgIWRlZmF1bHQ7XG5cbiRwcmljZS1ib3hfc3BlY2lhbC1wcmljZS1jb2xvcjogJHByaWNlX3NwZWNpYWwtY29sb3IgIWRlZmF1bHQ7XG4kcHJpY2UtYm94X3NwZWNpYWwtcHJpY2UtZm9udC1zaXplOiAkcHJpY2UtYm94X25vcm1hbC1wcmljZS1mb250LXNpemUgIWRlZmF1bHQ7XG4kcHJpY2UtYm94X3NwZWNpYWwtcHJpY2UtZm9udC13ZWlnaHQ6ICRwcmljZS1ib3hfbm9ybWFsLXByaWNlLWZvbnQtd2VpZ2h0ICFkZWZhdWx0O1xuXG4kcHJpY2UtYm94X29sZC1wcmljZS1jb2xvcjogJHByaWNlX29sZC1jb2xvciAhZGVmYXVsdDtcbiRwcmljZS1ib3hfb2xkLXByaWNlLWZvbnQtc2l6ZTogJHByaWNlLWJveF9ub3JtYWwtcHJpY2UtZm9udC1zaXplICFkZWZhdWx0O1xuJHByaWNlLWJveF9vbGQtcHJpY2UtZm9udC13ZWlnaHQ6ICRwcmljZS1ib3hfbm9ybWFsLXByaWNlLWZvbnQtd2VpZ2h0ICFkZWZhdWx0O1xuJHByaWNlLWJveF9vbGQtcHJpY2UtdGV4dC1kZWNvcmF0aW9uOiBsaW5lLXRocm91Z2ggIWRlZmF1bHQ7XG5cbiRwcmljZS1ib3hfbGFiZWwtY29sb3I6ICRwcmljZV9jb2xvciAhZGVmYXVsdDtcbiRwcmljZS1ib3hfbGFiZWwtZm9udC1zaXplOiAxLjFyZW0gIWRlZmF1bHQ7XG4kcHJpY2UtYm94X2xhYmVsLWZvbnQtd2VpZ2h0OiAkcHJpY2UtYm94X25vcm1hbC1wcmljZS1mb250LXdlaWdodCAhZGVmYXVsdDtcbiRwcmljZS1ib3hfbGFiZWwtZGlzcGxheS1jb2xvbjogdHJ1ZSAhZGVmYXVsdDtcbiRwcmljZS1ib3hfbGFiZWwtbWFyZ2luOiAwLjNyZW0gIWRlZmF1bHQ7XG5cbiRwcmljZS1ib3hfc3BhY2UtYmV0d2Vlbi1wcmljZXM6IDFyZW0gIWRlZmF1bHQ7XG4iLCJAaW1wb3J0ICdjb25maWcvdmFyaWFibGVzJztcbkBpbXBvcnQgJ3ZlbmRvcnMvaW5jbHVkZS1tZWRpYSc7XG5cbkBpbXBvcnQgJ2NvbXBvbmVudHMvYmFkZ2UvbWl4aW4nO1xuQGltcG9ydCAnY29tcG9uZW50cy9wcmljZS1ib3gvdmFyaWFibGVzJztcblxuJGF1dG9jb21wbGV0ZV9saXN0LWJhY2tncm91bmQ6ICRjb2xvcl90ZXh0LTIwMCAhZGVmYXVsdDtcbiRhdXRvY29tcGxldGVfbGlzdC1ib3JkZXItcmFkaXVzOiAzcHggIWRlZmF1bHQ7XG4kYXV0b2NvbXBsZXRlX2xpc3QtYm9yZGVyOiAxcHggc29saWQgJGNvbG9yX2JvcmRlci01MDAgIWRlZmF1bHQ7XG4kYXV0b2NvbXBsZXRlX2xpc3QtYm94LXNoYWRvdzogMCAwIDEwcHggMCByZ2JhKCRjb2xvcl90ZXh0LTkwMCwgMC4xNykgIWRlZmF1bHQ7XG5cbiRhdXRvY29tcGxldGVfdGl0bGUtcGFkZGluZzogMS4ycmVtIDNyZW0gMXJlbSAxcmVtICFkZWZhdWx0O1xuJGF1dG9jb21wbGV0ZV90aXRsZS1tYXJnaW46IDAgIWRlZmF1bHQ7XG4kYXV0b2NvbXBsZXRlX3RpdGxlLWJvcmRlcjogbm9uZSAhZGVmYXVsdDtcbiRhdXRvY29tcGxldGVfdGl0bGUtY29sb3I6ICRjb2xvcl90ZXh0LTQwMCAhZGVmYXVsdDtcbiRhdXRvY29tcGxldGVfdGl0bGUtZm9udC1zaXplOiAxLjI5cmVtICFkZWZhdWx0O1xuJGF1dG9jb21wbGV0ZV90aXRsZS1mb250LXdlaWdodDogNzAwICFkZWZhdWx0O1xuXG4kYXV0b2NvbXBsZXRlX2l0ZW0taGVpZ2h0OiA1LjhyZW0gIWRlZmF1bHQ7XG4kYXV0b2NvbXBsZXRlX2l0ZW0tcGFkZGluZzogMC41cmVtIDFyZW0gIWRlZmF1bHQ7XG4kYXV0b2NvbXBsZXRlX2l0ZW0tbWFyZ2luOiAwICFkZWZhdWx0O1xuJGF1dG9jb21wbGV0ZV9pdGVtLWJvcmRlcjogMXB4IHNvbGlkICRjb2xvcl9ib3JkZXItNTAwICFkZWZhdWx0O1xuJGF1dG9jb21wbGV0ZV9pdGVtLWJhY2tncm91bmQ6ICRhdXRvY29tcGxldGVfbGlzdC1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJGF1dG9jb21wbGV0ZV9pdGVtLWJhY2tncm91bmQtaG92ZXI6ICRjb2xvcl9iYWNrZ3JvdW5kLTUwMCAhZGVmYXVsdDtcbiRhdXRvY29tcGxldGVfaXRlbS10aHVtYm5haWwtd2lkdGg6IDMuNnJlbSAhZGVmYXVsdDtcbiRhdXRvY29tcGxldGVfaXRlbS10aHVtYm5haWwtaGVpZ2h0OiA0LjVyZW0gIWRlZmF1bHQ7XG4kYXV0b2NvbXBsZXRlX2l0ZW0tZm9udC1zaXplOiAxLjI5cmVtICFkZWZhdWx0O1xuJGF1dG9jb21wbGV0ZV9pdGVtLWZvbnQtd2VpZ2h0OiA3MDAgIWRlZmF1bHQ7XG4kYXV0b2NvbXBsZXRlX2l0ZW0tbmFtZS1jb2xvcjogJGNvbG9yX3RleHQtOTAwICFkZWZhdWx0O1xuXG4kYXV0b2NvbXBsZXRlX2l0ZW1fYnJhbmQtZm9udC1zaXplOiAxLjJyZW0gIWRlZmF1bHQ7XG4kYXV0b2NvbXBsZXRlX2l0ZW1fYnJhbmQtY29sb3I6ICRjb2xvcl90ZXh0LTQwMCAhZGVmYXVsdDtcblxuJGF1dG9jb21wbGV0ZV9pdGVtLXByaWNlLWNvbG9yOiAkY29sb3JfcHJpbWFyeS01MDAgIWRlZmF1bHQ7XG4kYXV0b2NvbXBsZXRlX2l0ZW0tcHJpY2UtZm9udC13ZWlnaHQ6ICRhdXRvY29tcGxldGVfaXRlbS1mb250LXdlaWdodCAhZGVmYXVsdDtcbiRhdXRvY29tcGxldGVfaXRlbS1xdWFudGl0eS1jb2xvcjogJGNvbG9yX3RleHQtNDAwICFkZWZhdWx0O1xuXG4kYXV0b2NvbXBsZXRlX2l0ZW1fZGlzcGxheS1vbGQtcHJpY2UtZmlyc3Q6IHRydWUgIWRlZmF1bHQ7XG4kYXV0b2NvbXBsZXRlX2l0ZW0tbm9ybWFsLXByaWNlLWNvbG9yOiAkcHJpY2UtYm94X25vcm1hbC1wcmljZS1jb2xvciAhZGVmYXVsdDtcbiRhdXRvY29tcGxldGVfaXRlbS1ub3JtYWwtcHJpY2UtZm9udC1zaXplOiAkcHJpY2UtYm94X25vcm1hbC1wcmljZS1mb250LXNpemUgIWRlZmF1bHQ7XG4kYXV0b2NvbXBsZXRlX2l0ZW0tbm9ybWFsLXByaWNlLWZvbnQtd2VpZ2h0OiAkcHJpY2UtYm94X25vcm1hbC1wcmljZS1mb250LXdlaWdodCAhZGVmYXVsdDtcbiRhdXRvY29tcGxldGVfaXRlbS1vbGQtcHJpY2UtY29sb3I6ICRwcmljZS1ib3hfb2xkLXByaWNlLWNvbG9yICFkZWZhdWx0O1xuJGF1dG9jb21wbGV0ZV9pdGVtLW9sZC1wcmljZS1mb250LXNpemU6ICRwcmljZS1ib3hfb2xkLXByaWNlLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRhdXRvY29tcGxldGVfaXRlbS1vbGQtcHJpY2UtZm9udC13ZWlnaHQ6ICRwcmljZS1ib3hfb2xkLXByaWNlLWZvbnQtd2VpZ2h0ICFkZWZhdWx0O1xuJGF1dG9jb21wbGV0ZV9pdGVtLW9sZC1wcmljZS10ZXh0LWRlY29yYXRpb246ICRwcmljZS1ib3hfb2xkLXByaWNlLXRleHQtZGVjb3JhdGlvbiAhZGVmYXVsdDtcbiRhdXRvY29tcGxldGVfaXRlbS1zcGVjaWFsLXByaWNlLWNvbG9yOiAkcHJpY2UtYm94X3NwZWNpYWwtcHJpY2UtY29sb3IgIWRlZmF1bHQ7XG4kYXV0b2NvbXBsZXRlX2l0ZW0tc3BlY2lhbC1wcmljZS1mb250LXNpemU6ICRwcmljZS1ib3hfc3BlY2lhbC1wcmljZS1mb250LXNpemUgIWRlZmF1bHQ7XG4kYXV0b2NvbXBsZXRlX2l0ZW0tc3BlY2lhbC1wcmljZS1mb250LXdlaWdodDogJHByaWNlLWJveF9zcGVjaWFsLXByaWNlLWZvbnQtd2VpZ2h0ICFkZWZhdWx0O1xuXG4uI3skbnN9YXV0b2NvbXBsZXRlIHtcbiAgICAkcm9vdDogJjtcblxuICAgIHdpZHRoOiAxMDAlO1xuICAgIHRvcDogMTAwJTtcbiAgICBsZWZ0OiAwO1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGF1dG9jb21wbGV0ZV9saXN0LWJhY2tncm91bmQ7XG4gICAgYm9yZGVyLXJhZGl1czogJGF1dG9jb21wbGV0ZV9saXN0LWJvcmRlci1yYWRpdXM7XG4gICAgYm94LXNoYWRvdzogJGF1dG9jb21wbGV0ZV9saXN0LWJveC1zaGFkb3c7XG4gICAgei1pbmRleDogMjAwO1xuICAgIG1hcmdpbi10b3A6IC0xcHg7XG5cbiAgICBAaWYgKCRnbG9iYWxfaGVhZGVyLWlzLWJvdHRvbS1vbi1tb2JpbGUpIHtcbiAgICAgICAgQGlmIG5vdCAkZ2xvYmFsX2hlYWRlci1tb2JpbGUtc2VhcmNoLWluLW9mZmNhbnZhcyB7XG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYShcbiAgICAgICAgICAgICAgICAnPCN7JGdsb2JhbF9oZWFkZXItbW9iaWxlLXNlYXJjaC1pbi1vZmZjYW52YXMtYnJlYWtwb2ludH0nXG4gICAgICAgICAgICApIHtcbiAgICAgICAgICAgICAgICB0b3A6IGF1dG87XG4gICAgICAgICAgICAgICAgYm90dG9tOiAxMDAlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmF1dG9jb21wbGV0ZS1saXN0IGRkLFxuICAgICZfX2l0ZW0ge1xuICAgICAgICBiYWNrZ3JvdW5kOiAkYXV0b2NvbXBsZXRlX2l0ZW0tYmFja2dyb3VuZDtcbiAgICAgICAgcGFkZGluZzogJGF1dG9jb21wbGV0ZV9pdGVtLXBhZGRpbmc7XG4gICAgICAgIG1hcmdpbjogJGF1dG9jb21wbGV0ZV9pdGVtLW1hcmdpbjtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogJGF1dG9jb21wbGV0ZV9pdGVtLWJvcmRlcjtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjE1cyBsaW5lYXI7XG4gICAgICAgIGZvbnQtc2l6ZTogJGF1dG9jb21wbGV0ZV9pdGVtLWZvbnQtc2l6ZTtcblxuICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPj10YWJsZXQnLCAnPGxhcHRvcCcpIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDFyZW07XG4gICAgICAgIH1cblxuICAgICAgICAmOmhvdmVyLFxuICAgICAgICAmLnNlbGVjdGVkIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRhdXRvY29tcGxldGVfaXRlbS1iYWNrZ3JvdW5kLWhvdmVyO1xuICAgICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICB9XG5cbiAgICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b206IG5vbmU7XG4gICAgICAgIH1cblxuICAgICAgICAmLWltYWdlLWNvbnRhaW5lciB7XG4gICAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAxcmVtO1xuICAgICAgICAgICAgZmxleC1zaHJpbms6IDA7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICB9XG5cbiAgICAgICAgJi1pbWFnZSB7XG4gICAgICAgICAgICB3aWR0aDogJGF1dG9jb21wbGV0ZV9pdGVtLXRodW1ibmFpbC13aWR0aDtcbiAgICAgICAgICAgIGhlaWdodDogJGF1dG9jb21wbGV0ZV9pdGVtLXRodW1ibmFpbC1oZWlnaHQ7XG4gICAgICAgIH1cblxuICAgICAgICAmLWRldGFpbHMge1xuICAgICAgICAgICAgZmxleDogMSAxIDEwMCU7XG4gICAgICAgICAgICBtYXJnaW46IDA7XG5cbiAgICAgICAgICAgIC5mLWZpeCB7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAkYXV0b2NvbXBsZXRlX2l0ZW0taGVpZ2h0O1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgaW1nIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICYtYnJhbmQge1xuICAgICAgICAgICAgZm9udC1zaXplOiAkYXV0b2NvbXBsZXRlX2l0ZW1fYnJhbmQtZm9udC1zaXplO1xuICAgICAgICAgICAgY29sb3I6ICRhdXRvY29tcGxldGVfaXRlbV9icmFuZC1jb2xvcjtcbiAgICAgICAgfVxuXG4gICAgICAgICYtbmFtZSB7XG4gICAgICAgICAgICBmb250LXNpemU6ICRhdXRvY29tcGxldGVfaXRlbS1mb250LXNpemU7XG4gICAgICAgICAgICBjb2xvcjogJGF1dG9jb21wbGV0ZV9pdGVtLW5hbWUtY29sb3I7XG4gICAgICAgICAgICBmb250LXdlaWdodDogJGF1dG9jb21wbGV0ZV9pdGVtLWZvbnQtd2VpZ2h0O1xuICAgICAgICB9XG5cbiAgICAgICAgJi1wcmljZSB7XG4gICAgICAgICAgICBtYXJnaW46IDAuM3JlbSAwIDA7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAucHJpY2UtYm94IHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcblxuICAgICAgICA+IC5wcmljZSB7XG4gICAgICAgICAgICBjb2xvcjogJGF1dG9jb21wbGV0ZV9pdGVtLW5vcm1hbC1wcmljZS1jb2xvcjtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogJGF1dG9jb21wbGV0ZV9pdGVtLW5vcm1hbC1wcmljZS1mb250LXNpemU7XG4gICAgICAgICAgICBmb250LXdlaWdodDogJGF1dG9jb21wbGV0ZV9pdGVtLXByaWNlLWZvbnQtd2VpZ2h0O1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgICB9XG5cbiAgICAgICAgLm9sZC1wcmljZSB7XG4gICAgICAgICAgICA+IC5wcmljZSB7XG4gICAgICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiAkYXV0b2NvbXBsZXRlX2l0ZW0tb2xkLXByaWNlLXRleHQtZGVjb3JhdGlvbjtcbiAgICAgICAgICAgICAgICBjb2xvcjogJGF1dG9jb21wbGV0ZV9pdGVtLW9sZC1wcmljZS1jb2xvcjtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6ICRhdXRvY29tcGxldGVfaXRlbS1vbGQtcHJpY2UtZm9udC1zaXplO1xuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiAkYXV0b2NvbXBsZXRlX2l0ZW0tb2xkLXByaWNlLWZvbnQtd2VpZ2h0O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLnNwZWNpYWwtcHJpY2Uge1xuICAgICAgICAgICAgPiAucHJpY2Uge1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkYXV0b2NvbXBsZXRlX2l0ZW0tc3BlY2lhbC1wcmljZS1jb2xvcjtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6ICRhdXRvY29tcGxldGVfaXRlbS1zcGVjaWFsLXByaWNlLWZvbnQtc2l6ZTtcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogJGF1dG9jb21wbGV0ZV9pdGVtLXNwZWNpYWwtcHJpY2UtZm9udC13ZWlnaHQ7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAubWluaW1hbC1wcmljZS1saW5rIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cblxuICAgICAgICBAaWYgKCRhdXRvY29tcGxldGVfaXRlbV9kaXNwbGF5LW9sZC1wcmljZS1maXJzdCkge1xuICAgICAgICAgICAgLm9sZC1wcmljZSB7XG4gICAgICAgICAgICAgICAgb3JkZXI6IC0xO1xuXG4gICAgICAgICAgICAgICAgLnByaWNlIHtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAkcHJpY2UtYm94X3NwYWNlLWJldHdlZW4tcHJpY2VzO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfSBAZWxzZSB7XG4gICAgICAgICAgICAuc3BlY2lhbC1wcmljZSB7XG4gICAgICAgICAgICAgICAgLnByaWNlIHtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAkcHJpY2UtYm94X3NwYWNlLWJldHdlZW4tcHJpY2VzO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2JhZGdlcyB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICBhbGlnbi1pdGVtczogZmxleC1lbmQ7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAxcmVtO1xuICAgIH1cblxuICAgICZfX2JhZGdlIHtcbiAgICAgICAgQGluY2x1ZGUgYmFkZ2UoKTtcblxuICAgICAgICAmICsgJiB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAwLjVyZW07XG4gICAgICAgIH1cblxuICAgICAgICAmLS1wb3B1bGFyIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJhZGdlX3R5cGUoJ3BvcHVsYXInKTtcblxuICAgICAgICAgICAgI3skcm9vdH1fX2JhZGdlLXRleHQge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJhZGdlX3NwYW4oJ3BvcHVsYXInKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICYtLWZyZWUtc2hpcHBpbmcge1xuICAgICAgICAgICAgQGluY2x1ZGUgYmFkZ2VfdHlwZSgnZnJlZS1zaGlwcGluZycpO1xuXG4gICAgICAgICAgICAjeyRyb290fV9fYmFkZ2UtdGV4dCB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYmFkZ2Vfc3BhbignZnJlZS1zaGlwcGluZycpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fYmFkZ2UtdGV4dCB7XG4gICAgICAgIEBpbmNsdWRlIGJhZGdlX3NwYW4oKTtcblxuICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPj1waG9uZScpIHtcbiAgICAgICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5hdXRvY29tcGxldGUtbGlzdCB7XG4gICAgbWFyZ2luOiAtMXB4IDAgMXJlbTtcbiAgICBib3JkZXItdG9wOiAkYXV0b2NvbXBsZXRlX2xpc3QtYm9yZGVyO1xuXG4gICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAgIGJvcmRlci10b3A6IDA7XG4gICAgfVxuXG4gICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICB9XG5cbiAgICAuYW1vdW50IHtcbiAgICAgICAgY29sb3I6ICRhdXRvY29tcGxldGVfaXRlbS1xdWFudGl0eS1jb2xvcjtcbiAgICAgICAgZm9udC1zaXplOiAkYXV0b2NvbXBsZXRlX2l0ZW0tZm9udC1zaXplO1xuICAgICAgICBmb250LXdlaWdodDogJGF1dG9jb21wbGV0ZV9pdGVtLWZvbnQtd2VpZ2h0O1xuICAgICAgICBtYXJnaW4tbGVmdDogMC41cmVtO1xuXG4gICAgICAgICY6bm90KDplbXB0eSkge1xuICAgICAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICAgICAgY29udGVudDogJyknO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgY29udGVudDogJygnO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG4uYXV0b2NvbXBsZXRlLWxpc3QtdGl0bGUge1xuICAgIHBhZGRpbmc6ICRhdXRvY29tcGxldGVfdGl0bGUtcGFkZGluZztcbiAgICBib3JkZXItYm90dG9tOiAkYXV0b2NvbXBsZXRlX3RpdGxlLWJvcmRlcjtcbiAgICBjb2xvcjogJGF1dG9jb21wbGV0ZV90aXRsZS1jb2xvcjtcbiAgICBmb250LXdlaWdodDogJGF1dG9jb21wbGV0ZV90aXRsZS1mb250LXdlaWdodDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIGZvbnQtc2l6ZTogJGF1dG9jb21wbGV0ZV90aXRsZS1mb250LXNpemU7XG4gICAgbGV0dGVyLXNwYWNpbmc6IDFweDtcbiAgICBtYXJnaW46ICRhdXRvY29tcGxldGVfdGl0bGUtbWFyZ2luO1xuXG4gICAgJjpob3ZlcixcbiAgICAmLnNlbGVjdGVkIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgfVxuXG4gICAgJjpub3QoOmVtcHR5KSB7XG4gICAgICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICAgICAgYm9yZGVyLXRvcDogdHJhbnNwYXJlbnQ7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbmh0bWwuYXV0b2NvbXBsZXRlLWRyb3Bkb3duLXZpc2libGUge1xuICAgIEBtZWRpYSAoaG92ZXI6IG5vbmUpIHtcbiAgICAgICAgb3ZlcmZsb3cteTogaGlkZGVuO1xuICAgIH1cblxuICAgIGJvZHkge1xuICAgICAgICBAbWVkaWEgKGhvdmVyOiBub25lKSB7XG4gICAgICAgICAgICBvdmVyZmxvdy15OiBoaWRkZW47XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCJAaW1wb3J0ICdjb25maWcvdmFyaWFibGVzJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvYmFkZ2UvaG9vayc7XG5cbiRiYWRnZV9mb250LXNpemU6IDEuMXJlbSAhZGVmYXVsdDtcbiRiYWRnZV9mb250LXdlaWdodDogNzAwICFkZWZhdWx0O1xuJGJhZGdlX2hlaWdodDogMmVtICFkZWZhdWx0O1xuJGJhZGdlX3BhZGRpbmc6IDAgMC43cmVtICFkZWZhdWx0O1xuJGJhZGdlX2JvcmRlcjogMCAhZGVmYXVsdDtcbiRiYWRnZV9ib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJhZGl1c19iYXNlICFkZWZhdWx0O1xuJGJhZGdlX3RleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2UgIWRlZmF1bHQ7XG5cbiRiYWRnZS0tZGVmYXVsdC1iYWNrZ3JvdW5kOiAkY29sb3JfcHJpbWFyeS01MDAgIWRlZmF1bHQ7XG4kYmFkZ2UtLWRlZmF1bHQtY29sb3I6ICRjb2xvcl90ZXh0LTIwMCAhZGVmYXVsdDtcblxuJGJhZGdlLS1uZXctYmFja2dyb3VuZDogJGNvbG9yX3NlY29uZGFyeS01MDAgIWRlZmF1bHQ7XG4kYmFkZ2UtLW5ldy1jb2xvcjogJGNvbG9yX3RleHQtMjAwICFkZWZhdWx0O1xuXG4kYmFkZ2UtLWRpc2NvdW50LWJhY2tncm91bmQ6ICRjb2xvcl9lcnJvci01MDAgIWRlZmF1bHQ7XG4kYmFkZ2UtLWRpc2NvdW50LWNvbG9yOiAkY29sb3JfdGV4dC0yMDAgIWRlZmF1bHQ7XG5cbiRiYWRnZS0tZnJlZS1iYWNrZ3JvdW5kOiAkY29sb3Jfc3VjY2Vzcy01MDAgIWRlZmF1bHQ7XG4kYmFkZ2UtLWZyZWUtY29sb3I6ICRjb2xvcl90ZXh0LTIwMCAhZGVmYXVsdDtcblxuJGJhZGdlLS1mcmVlLXNoaXBwaW5nLWJhY2tncm91bmQ6ICRjb2xvcl9zdWNjZXNzLTUwMCAhZGVmYXVsdDtcbiRiYWRnZS0tZnJlZS1zaGlwcGluZy1jb2xvcjogJGNvbG9yX3RleHQtMjAwICFkZWZhdWx0O1xuXG4kYmFkZ2UtLXBvcHVsYXItYmFja2dyb3VuZDogJGNvbG9yX3N1Y2Nlc3MtNTAwICFkZWZhdWx0O1xuJGJhZGdlLS1wb3B1bGFyLWNvbG9yOiAkY29sb3JfdGV4dC0yMDAgIWRlZmF1bHQ7XG5cbiRiYWRnZS0tcmVjZW50bHktYm91Z2h0LWJhY2tncm91bmQ6ICRjb2xvcl9zdWNjZXNzLTUwMCAhZGVmYXVsdDtcbiRiYWRnZS0tcmVjZW50bHktYm91Z2h0LWNvbG9yOiAkY29sb3JfdGV4dC0yMDAgIWRlZmF1bHQ7XG5cbiRiYWRnZS0tZGFpbHlkZWFsLWJhY2tncm91bmQ6ICRjb2xvcl9lcnJvci01MDAgIWRlZmF1bHQ7XG4kYmFkZ2UtLWRhaWx5ZGVhbC1jb2xvcjogJGNvbG9yX3RleHQtMjAwICFkZWZhdWx0O1xuXG4kYmFkZ2UtLXRvcC1iYWNrZ3JvdW5kOiAkY29sb3JfcHJpbWFyeS01MDAgIWRlZmF1bHQ7XG4kYmFkZ2UtLXRvcC1jb2xvcjogJGNvbG9yX3RleHQtMjAwICFkZWZhdWx0O1xuXG5AbWl4aW4gYmFkZ2UoJHR5cGU6ICdkZWZhdWx0Jykge1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRiYWRnZS0tZGVmYXVsdC1iYWNrZ3JvdW5kO1xuICAgIGNvbG9yOiAkYmFkZ2UtLWRlZmF1bHQtY29sb3I7XG4gICAgYm9yZGVyOiAkYmFkZ2VfYm9yZGVyO1xuICAgIGJvcmRlci1yYWRpdXM6ICRiYWRnZV9ib3JkZXItcmFkaXVzO1xuICAgIHBhZGRpbmc6ICRiYWRnZV9wYWRkaW5nO1xuICAgIGZvbnQtc2l6ZTogJGJhZGdlX2ZvbnQtc2l6ZTtcbiAgICBmb250LXdlaWdodDogJGJhZGdlX2ZvbnQtd2VpZ2h0O1xuICAgIG1pbi1oZWlnaHQ6ICRiYWRnZV9oZWlnaHQ7XG4gICAgdGV4dC10cmFuc2Zvcm06ICRiYWRnZV90ZXh0LXRyYW5zZm9ybTtcblxuICAgIEBpbmNsdWRlIGJhZGdlX2hvb2soJHR5cGUpO1xufVxuXG5AbWl4aW4gYmFkZ2VfdHlwZSgkdHlwZTogJ2RlZmF1bHQnKSB7XG4gICAgQGlmICgkdHlwZSA9PSduZXcnKSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRiYWRnZS0tbmV3LWJhY2tncm91bmQ7XG4gICAgICAgIGNvbG9yOiAkYmFkZ2UtLW5ldy1jb2xvcjtcbiAgICB9XG5cbiAgICBAaWYgKCR0eXBlID09J2ZyZWUnKSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRiYWRnZS0tZnJlZS1iYWNrZ3JvdW5kO1xuICAgICAgICBjb2xvcjogJGJhZGdlLS1mcmVlLWNvbG9yO1xuICAgIH1cblxuICAgIEBpZiAoJHR5cGUgPT0nZnJlZS1zaGlwcGluZycpIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGJhZGdlLS1mcmVlLXNoaXBwaW5nLWJhY2tncm91bmQ7XG4gICAgICAgIGNvbG9yOiAkYmFkZ2UtLWZyZWUtc2hpcHBpbmctY29sb3I7XG4gICAgfVxuXG4gICAgQGlmICgkdHlwZSA9PSdwb3B1bGFyJykge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFkZ2UtLXBvcHVsYXItYmFja2dyb3VuZDtcbiAgICAgICAgY29sb3I6ICRiYWRnZS0tcG9wdWxhci1jb2xvcjtcbiAgICB9XG5cbiAgICBAaWYgKCR0eXBlID09J2Rpc2NvdW50Jykge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFkZ2UtLWRpc2NvdW50LWJhY2tncm91bmQ7XG4gICAgICAgIGNvbG9yOiAkYmFkZ2UtLWRpc2NvdW50LWNvbG9yO1xuICAgIH1cblxuICAgIEBpZiAoJHR5cGUgPT0ncmVjZW50bHktYm91Z2h0Jykge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFkZ2UtLXJlY2VudGx5LWJvdWdodC1iYWNrZ3JvdW5kO1xuICAgICAgICBjb2xvcjogJGJhZGdlLS1yZWNlbnRseS1ib3VnaHQtY29sb3I7XG4gICAgfVxuXG4gICAgQGlmICgkdHlwZSA9PSdkYWlseWRlYWwnKSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRiYWRnZS0tZGFpbHlkZWFsLWJhY2tncm91bmQ7XG4gICAgICAgIGNvbG9yOiAkYmFkZ2UtLWRhaWx5ZGVhbC1jb2xvcjtcbiAgICB9XG5cbiAgICBAaWYgKCR0eXBlID09J2RhaWx5ZGVhbC1wZHAnKSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRiYWRnZS0tZGFpbHlkZWFsLWJhY2tncm91bmQ7XG4gICAgICAgIGNvbG9yOiAkYmFkZ2UtLWRhaWx5ZGVhbC1jb2xvcjtcbiAgICB9XG5cbiAgICBAaWYgKCR0eXBlID09J3RvcCcpIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGJhZGdlLS10b3AtYmFja2dyb3VuZDtcbiAgICAgICAgY29sb3I6ICRiYWRnZS0tdG9wLWNvbG9yO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIGJhZGdlX3R5cGUtaG9vaygkdHlwZSk7XG59XG5cbkBtaXhpbiBiYWRnZV9zcGFuKCR0eXBlOiAnZGVmYXVsdCcpIHtcbiAgICBsaW5lLWhlaWdodDogbm9ybWFsO1xuXG4gICAgJismIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDAuNXJlbTtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBiYWRnZV9zcGFuLWhvb2soJHR5cGUpO1xufSIsIi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG5AdXNlICdzYXNzOm1hcCc7XG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG4vKipcbiogRGVmYXVsdCBwcm9qZWN0IGJyZWFrcG9pbnRzIC0gW2VtXVxuKi9cbi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG5AdXNlICdzYXNzOm1hcCc7XG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG4vKipcbiogRGVmYXVsdCBwcm9qZWN0IGJyZWFrcG9pbnRzIC0gW2VtXVxuKi9cbi8qKipcbiAqIFJlbW92ZSBicm93c2VyJ3MgbWFyZ2lucywgcGFkZGluZ3MgYW5kIGxpc3Qgc3R5bGUgcnVsZXNcbiAqL1xuLyoqXG4gKiBFeHRyYWN0cyBuZXN0ZWQga2V5cyBmcm9tIGdpdmVuIG1hcC5cbiAqIEV4YW1wbGU6IGRlZXAtZ2V0KCRzb21lLW1hcCwgc29tZSwgbmVzdGVkLCBrZXlzKTtcbiAqL1xuLmNzLWJyZWFkY3J1bWJzIHtcbiAgcGFkZGluZy10b3A6IDEuM3JlbTtcbiAgcGFkZGluZy1ib3R0b206IDEuM3JlbTtcbiAgZm9udC13ZWlnaHQ6IDQwMDsgfVxuICAuY3MtYnJlYWRjcnVtYnNfX2xpc3Qge1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7IH1cbiAgLmNzLWJyZWFkY3J1bWJzX19pdGVtIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwIDEuOTVlbSAwIDA7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIGZvbnQtc2l6ZTogMS42cmVtOyB9XG4gICAgLmNzLWJyZWFkY3J1bWJzX19pdGVtOmxhc3QtY2hpbGQge1xuICAgICAgcGFkZGluZzogMDtcbiAgICAgIGNvbG9yOiAjMTFhMDk5O1xuICAgICAgY3Vyc29yOiBkZWZhdWx0OyB9XG4gICAgLmNzLWJyZWFkY3J1bWJzX19pdGVtOm5vdCg6bGFzdC1jaGlsZCk6YWZ0ZXIge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiA1MCU7XG4gICAgICByaWdodDogMC44ZW07XG4gICAgICBjb250ZW50OiBcIj5cIjtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgICAgY29sb3I6ICM4ODg7IH1cbiAgLmNzLWJyZWFkY3J1bWJzX19saW5rIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGNvbG9yOiAjODg4OyB9XG4gICAgLmNzLWJyZWFkY3J1bWJzX19saW5rOnZpc2l0ZWQge1xuICAgICAgY29sb3I6ICM4ODg7IH1cbiAgICAuY3MtYnJlYWRjcnVtYnNfX2xpbms6aG92ZXIge1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgY29sb3I6ICM0NTVhNjQ7IH1cbiAgLmNzLWJyZWFkY3J1bWJzX19zZXBhcmF0b3ItaWNvbiB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogNTAlO1xuICAgIHJpZ2h0OiAwLjVlbTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gICAgd2lkdGg6IDAuOGVtO1xuICAgIGhlaWdodDogMC44ZW07XG4gICAgZmlsbDogIzg4ODsgfVxuXG4uY3MtY29udGFpbmVyLS1icmVhZGNydW1icyB7XG4gIG1heC13aWR0aDogbm9uZTtcbiAgZGlzcGxheTogbm9uZTtcbiAgYmFja2dyb3VuZDogI2VkZWZmMTsgfVxuICBAbWVkaWEgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC5jcy1jb250YWluZXItLWJyZWFkY3J1bWJzIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgYmFja2dyb3VuZDogI2VkZWZmMTsgfSB9XG4iLCIvKioqXG4gKiBSZW1vdmUgYnJvd3NlcidzIG1hcmdpbnMsIHBhZGRpbmdzIGFuZCBsaXN0IHN0eWxlIHJ1bGVzXG4gKi9cblxuQG1peGluIHJlc2V0LWxpc3Qtc3R5bGUge1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG59XG4iLCJAaW1wb3J0ICdjb25maWcvdmFyaWFibGVzJztcbkBpbXBvcnQgJ3ZlbmRvcnMvaW5jbHVkZS1tZWRpYSc7XG5AaW1wb3J0ICd1dGlscy9yZXNldC1saXN0LXN0eWxlJztcbkBpbXBvcnQgJ2V0Yy92aWV3LnNjc3MnO1xuQGltcG9ydCAndXRpbHMvZGVlcC1nZXQvZGVlcC1nZXQuc2Nzcyc7XG5cbiRicmVhZGNydW1ic19zZXBhcmF0b3ItY3VzdG9tLXNob3c6IGRlZXAtZ2V0KCR2aWV3LXhtbCxcbiAgICAgICAgdmFycyxcbiAgICAgICAgTWFnZW50b19UaGVtZSxcbiAgICAgICAgYnJlYWRjcnVtYnMsXG4gICAgICAgIGN1c3RvbV9zZXBhcmF0b3IsXG4gICAgICAgIGRpc3BsYXkpICFkZWZhdWx0O1xuXG4kYnJlYWRjcnVtYnNfYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yX3BhcGlsYXJ0X2JnICFkZWZhdWx0O1xuJGJyZWFkY3J1bWJzX2JhY2tncm91bmQtaW1hZ2U6IHVybCgnLi4vaW1hZ2VzL2JyZWFkY3J1bWJzLnBuZycpICFkZWZhdWx0O1xuJGJyZWFkY3J1bWJzX2JhY2tncm91bmQ6ICRicmVhZGNydW1ic19iYWNrZ3JvdW5kLWNvbG9yICFkZWZhdWx0O1xuXG4kYnJlYWRjcnVtYnNfaXRlbS1mb250LXNpemU6IDEuNnJlbSAhZGVmYXVsdDtcbiRicmVhZGNydW1ic19pdGVtLWNvbG9yOiAkY29sb3JfdGV4dC00MDAgIWRlZmF1bHQ7XG4kYnJlYWRjcnVtYnNfaXRlbS1ob3Zlci1jb2xvcjogJGNvbG9yX3RleHQtODAwICFkZWZhdWx0O1xuJGJyZWFkY3J1bWJzX2l0ZW0tdmlzaXRlZC1jb2xvcjogJGJyZWFkY3J1bWJzX2l0ZW0tY29sb3IgIWRlZmF1bHQ7XG4kYnJlYWRjcnVtYnNfbGFzdC1pdGVtLWNvbG9yOiAkY29sb3Jfc2Vjb25kYXJ5LTUwMCAhZGVmYXVsdDtcblxuJGJyZWFkY3J1bWJzX3NlcGFyYXRvci1jb2xvcjogJGJyZWFkY3J1bWJzX2l0ZW0tY29sb3IgIWRlZmF1bHQ7XG4kYnJlYWRjcnVtYnNfc2VwYXJhdG9yLWNvbnRlbnQ6ICc+JyAhZGVmYXVsdDtcblxuJGJyZWFkY3J1bWJzX3ZlcnRpY2FsLXNwYWNlOiAxLjNyZW0gIWRlZmF1bHQ7XG5cbi4jeyRuc31icmVhZGNydW1icyB7XG4gICAgJHJvb3Q6ICY7XG4gICAgcGFkZGluZy10b3A6ICRicmVhZGNydW1ic192ZXJ0aWNhbC1zcGFjZTtcbiAgICBwYWRkaW5nLWJvdHRvbTogJGJyZWFkY3J1bWJzX3ZlcnRpY2FsLXNwYWNlO1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG5cbiAgICAmX19saXN0IHtcbiAgICAgICAgQGluY2x1ZGUgcmVzZXQtbGlzdC1zdHlsZSgpO1xuICAgIH1cblxuICAgICZfX2l0ZW0ge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBwYWRkaW5nOiAwIDEuOTVlbSAwIDA7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgZm9udC1zaXplOiAkYnJlYWRjcnVtYnNfaXRlbS1mb250LXNpemU7XG5cbiAgICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgICAgICBjb2xvcjogJGJyZWFkY3J1bWJzX2xhc3QtaXRlbS1jb2xvcjtcbiAgICAgICAgICAgIGN1cnNvcjogZGVmYXVsdDtcbiAgICAgICAgfVxuXG4gICAgICAgICY6bm90KDpsYXN0LWNoaWxkKTphZnRlciB7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgICAgIHJpZ2h0OiAwLjhlbTtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICRicmVhZGNydW1ic19zZXBhcmF0b3ItY29udGVudDtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgICAgICAgICAgY29sb3I6ICRicmVhZGNydW1ic19zZXBhcmF0b3ItY29sb3I7XG4gICAgICAgIH1cblxuICAgICAgICBAaWYgKCRicmVhZGNydW1ic19zZXBhcmF0b3ItY3VzdG9tLXNob3cpIHtcbiAgICAgICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19saW5rIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIGNvbG9yOiAkYnJlYWRjcnVtYnNfaXRlbS1jb2xvcjtcblxuICAgICAgICAmOnZpc2l0ZWQge1xuICAgICAgICAgICAgY29sb3I6ICRicmVhZGNydW1ic19pdGVtLXZpc2l0ZWQtY29sb3I7XG4gICAgICAgIH1cblxuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgICAgIGNvbG9yOiAkYnJlYWRjcnVtYnNfaXRlbS1ob3Zlci1jb2xvcjtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX3NlcGFyYXRvci1pY29uIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgcmlnaHQ6IDAuNWVtO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gICAgICAgIHdpZHRoOiAwLjhlbTtcbiAgICAgICAgaGVpZ2h0OiAwLjhlbTtcbiAgICAgICAgZmlsbDogJGJyZWFkY3J1bWJzX3NlcGFyYXRvci1jb2xvcjtcbiAgICB9XG59XG5cbi5jcy1jb250YWluZXIge1xuICAgICYtLWJyZWFkY3J1bWJzIHtcbiAgICAgICAgbWF4LXdpZHRoOiBub25lO1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICBiYWNrZ3JvdW5kOiAkYnJlYWRjcnVtYnNfYmFja2dyb3VuZC1jb2xvcjtcblxuICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPj10YWJsZXQnKSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICRicmVhZGNydW1ic19iYWNrZ3JvdW5kO1xuICAgICAgICB9XG4gICAgfVxufSIsIi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG5AdXNlICdzYXNzOm1hcCc7XG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG4vKipcbiogRGVmYXVsdCBwcm9qZWN0IGJyZWFrcG9pbnRzIC0gW2VtXVxuKi9cbi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG5AdXNlICdzYXNzOm1hcCc7XG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG4vKipcbiogRGVmYXVsdCBwcm9qZWN0IGJyZWFrcG9pbnRzIC0gW2VtXVxuKi9cbi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG5AdXNlICdzYXNzOm1hcCc7XG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG4vKipcbiogRGVmYXVsdCBwcm9qZWN0IGJyZWFrcG9pbnRzIC0gW2VtXVxuKi9cbi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG5AdXNlICdzYXNzOm1hcCc7XG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG4vKipcbiogRGVmYXVsdCBwcm9qZWN0IGJyZWFrcG9pbnRzIC0gW2VtXVxuKi9cbi8qXG4gKiBGdW5jdGlvbiB0byBnZXQgdmFsdWUgZnJvbSBhIGxpc3Qgb2YgdmFsdWVzLCBiYXNlZCBvbiBzaWRlXG4gKiBAcGFyYW0ge3N0cmluZ30gJHZhcmlhYmxlOiB2YXJpYWJsZSB3aXRoIGEgbGlzdCBvZiB2YWx1ZXMgKGxpa2UgcGFkZGluZ3MsIG1hcmdpbnMgZXRjLik7XG4gKiBAcGFyYW0ge3N0cmluZ30gJHNpZGU6IHNpZGUgKHVwIC8gcmlnaHQgLyBkb3duIC8gbGVmdCkgZm9yIHdoaWNoIHdlIHdhbnQgdG8gZ2V0IHZhbHVlXG4gKiBFeGFtcGxlOlxuICogJGNvbXBvbmVudF9wYWRkaW5nOiAxcmVtIDJyZW0gM3JlbTtcbiAqIGdldC12YWx1ZS1mcm9tLWxpc3QoJGNvbXBvbmVudF9wYWRkaW5nLCAncmlnaHQnKSAvLyAycmVtXG4gKiBnZXQtdmFsdWUtZnJvbS1saXN0KCRjb21wb25lbnRfcGFkZGluZywgJ2JvdHRvbScpIC8vIDNyZW1cbiAqL1xuLyogc3R5bGVsaW50LWRpc2FibGUgYmxvY2stbm8tZW1wdHkgKi9cbi8qIHN0eWxlbGludC1lbmFibGUgKi9cbi5jcy1idXR0b24ge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGZvbnQtc2l6ZTogMS44cmVtO1xuICBmb250LXdlaWdodDogNzAwO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbGluZS1oZWlnaHQ6IDEuMjc1ZW07XG4gIG1hcmdpbjogMDtcbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gIHBhZGRpbmc6IDAuNzVlbSAxZW07XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC41cywgYm9yZGVyLWNvbG9yIDAuNXMsIGZpbGwgMC41cywgY29sb3IgMC41cztcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgei1pbmRleDogNTsgfVxuICAuY3MtYnV0dG9uOmhvdmVyLCAuY3MtYnV0dG9uOmZvY3VzLCAuY3MtYnV0dG9uOmFjdGl2ZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzdlNTdjMiAhaW1wb3J0YW50OyB9XG4gIC5jcy1idXR0b246YmVmb3JlLCAuY3MtYnV0dG9uOmFmdGVyIHtcbiAgICBjb250ZW50OiAnJztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAtMXB4O1xuICAgIGJvdHRvbTogLTFweDtcbiAgICByaWdodDogLTFweDsgfVxuICAuY3MtYnV0dG9uOmJlZm9yZSB7XG4gICAgd2lkdGg6IDMuNGVtO1xuICAgIGJvcmRlci1yYWRpdXM6IDAgMjAwcHggMjAwcHggMDtcbiAgICB6LWluZGV4OiAtMTtcbiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMGRlZywgdHJhbnNwYXJlbnQgMCUsIHRyYW5zcGFyZW50IDAlLCAjNGQyYzkxIDAlLCAjNGQyYzkxIDEwMCUpOyB9XG4gIC5jcy1idXR0b246YWZ0ZXIge1xuICAgIHdpZHRoOiAzZW07XG4gICAgbWluLXdpZHRoOiBhdXRvO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICM0ZDJjOTE7XG4gICAgdHJhbnNpdGlvbjogd2lkdGggMC4yNXMgbGluZWFyO1xuICAgIHotaW5kZXg6IC0yO1xuICAgIGJvcmRlci1yYWRpdXM6IDIwMHB4OyB9XG4gIC5jcy1idXR0b246aG92ZXI6YWZ0ZXIge1xuICAgIHdpZHRoOiBjYWxjKDEwMCUgKyAycHgpOyB9XG4gIC5jcy1idXR0b246Oi1tb3otZm9jdXMtaW5uZXIge1xuICAgIGJvcmRlcjogMDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIG1hcmdpbjogMDsgfVxuICAuY3MtYnV0dG9uLCAuY3MtYnV0dG9uOnZpc2l0ZWQge1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBib3JkZXItcmFkaXVzOiAyMDBweDtcbiAgICBvdXRsaW5lLW9mZnNldDogMXB4O1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBib3gtc2hhZG93OiBub25lO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICM3ZTU3YzI7IH1cbiAgICAuY3MtYnV0dG9uICosIC5jcy1idXR0b246dmlzaXRlZCAqIHtcbiAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgZmlsbDogI2ZmZjsgfVxuICAuY3MtYnV0dG9uOmhvdmVyOm5vdChbZGlzYWJsZWRdKSwgLmNzLWJ1dHRvbjpmb2N1czpub3QoW2Rpc2FibGVkXSksIC5jcy1idXR0b246YWN0aXZlOm5vdChbZGlzYWJsZWRdKSB7XG4gICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICBvdXRsaW5lOiBub25lO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICBjb2xvcjogI2ZmZjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNGQyYzkxOyB9XG4gICAgLmNzLWJ1dHRvbjpob3Zlcjpub3QoW2Rpc2FibGVkXSkgKiwgLmNzLWJ1dHRvbjpmb2N1czpub3QoW2Rpc2FibGVkXSkgKiwgLmNzLWJ1dHRvbjphY3RpdmU6bm90KFtkaXNhYmxlZF0pICoge1xuICAgICAgY29sb3I6ICNmZmY7XG4gICAgICBmaWxsOiAjZmZmOyB9XG4gIC5jcy1idXR0b25bZGlzYWJsZWRdIHtcbiAgICBvcGFjaXR5OiAwLjY1O1xuICAgIGN1cnNvcjogYXV0bzsgfVxuICAuY3MtYnV0dG9uX19zcGFuIHtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICAgIHotaW5kZXg6IDE7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjI3NWVtO1xuICAgIGxldHRlci1zcGFjaW5nOiBub3JtYWw7XG4gICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgIHBhZGRpbmctcmlnaHQ6IDRlbTsgfVxuICAuY3MtYnV0dG9uX19pY29uIHtcbiAgICBtYXgtd2lkdGg6IDFlbTtcbiAgICBtYXgtaGVpZ2h0OiAxLjhyZW07XG4gICAgei1pbmRleDogMjtcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogNTAlO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTUwJSwgMCk7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIHJpZ2h0OiAxZW07IH1cblxuLmNzLWJ1dHRvbi1jb21wb25lbnQge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGZvbnQtc2l6ZTogMS44cmVtO1xuICBmb250LXdlaWdodDogNzAwO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbGluZS1oZWlnaHQ6IDEuMjc1ZW07XG4gIG1hcmdpbjogMDtcbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gIHBhZGRpbmc6IDAuNzVlbSAxZW07XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC41cywgYm9yZGVyLWNvbG9yIDAuNXMsIGZpbGwgMC41cywgY29sb3IgMC41cztcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgei1pbmRleDogNTtcbiAgbWFyZ2luOiAwIDAgM3JlbTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBsZWZ0OiA1MCU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTsgfVxuICAuY3MtYnV0dG9uLWNvbXBvbmVudDpob3ZlciwgLmNzLWJ1dHRvbi1jb21wb25lbnQ6Zm9jdXMsIC5jcy1idXR0b24tY29tcG9uZW50OmFjdGl2ZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzdlNTdjMiAhaW1wb3J0YW50OyB9XG4gIC5jcy1idXR0b24tY29tcG9uZW50OmJlZm9yZSwgLmNzLWJ1dHRvbi1jb21wb25lbnQ6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IC0xcHg7XG4gICAgYm90dG9tOiAtMXB4O1xuICAgIHJpZ2h0OiAtMXB4OyB9XG4gIC5jcy1idXR0b24tY29tcG9uZW50OmJlZm9yZSB7XG4gICAgd2lkdGg6IDMuNGVtO1xuICAgIGJvcmRlci1yYWRpdXM6IDAgMjAwcHggMjAwcHggMDtcbiAgICB6LWluZGV4OiAtMTtcbiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMGRlZywgdHJhbnNwYXJlbnQgMCUsIHRyYW5zcGFyZW50IDAlLCAjNGQyYzkxIDAlLCAjNGQyYzkxIDEwMCUpOyB9XG4gIC5jcy1idXR0b24tY29tcG9uZW50OmFmdGVyIHtcbiAgICB3aWR0aDogM2VtO1xuICAgIG1pbi13aWR0aDogYXV0bztcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNGQyYzkxO1xuICAgIHRyYW5zaXRpb246IHdpZHRoIDAuMjVzIGxpbmVhcjtcbiAgICB6LWluZGV4OiAtMjtcbiAgICBib3JkZXItcmFkaXVzOiAyMDBweDsgfVxuICAuY3MtYnV0dG9uLWNvbXBvbmVudDpob3ZlcjphZnRlciB7XG4gICAgd2lkdGg6IGNhbGMoMTAwJSArIDJweCk7IH1cbiAgLmNzLWJ1dHRvbi1jb21wb25lbnQ6Oi1tb3otZm9jdXMtaW5uZXIge1xuICAgIGJvcmRlcjogMDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIG1hcmdpbjogMDsgfVxuICAuY3MtYnV0dG9uLWNvbXBvbmVudCwgLmNzLWJ1dHRvbi1jb21wb25lbnQ6dmlzaXRlZCB7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIGJvcmRlci1yYWRpdXM6IDIwMHB4O1xuICAgIG91dGxpbmUtb2Zmc2V0OiAxcHg7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgY29sb3I6ICNmZmY7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzdlNTdjMjsgfVxuICAgIC5jcy1idXR0b24tY29tcG9uZW50ICosIC5jcy1idXR0b24tY29tcG9uZW50OnZpc2l0ZWQgKiB7XG4gICAgICBjb2xvcjogI2ZmZjtcbiAgICAgIGZpbGw6ICNmZmY7IH1cbiAgLmNzLWJ1dHRvbi1jb21wb25lbnQ6aG92ZXI6bm90KFtkaXNhYmxlZF0pLCAuY3MtYnV0dG9uLWNvbXBvbmVudDpmb2N1czpub3QoW2Rpc2FibGVkXSksIC5jcy1idXR0b24tY29tcG9uZW50OmFjdGl2ZTpub3QoW2Rpc2FibGVkXSkge1xuICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgY29sb3I6ICNmZmY7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzRkMmM5MTsgfVxuICAgIC5jcy1idXR0b24tY29tcG9uZW50OmhvdmVyOm5vdChbZGlzYWJsZWRdKSAqLCAuY3MtYnV0dG9uLWNvbXBvbmVudDpmb2N1czpub3QoW2Rpc2FibGVkXSkgKiwgLmNzLWJ1dHRvbi1jb21wb25lbnQ6YWN0aXZlOm5vdChbZGlzYWJsZWRdKSAqIHtcbiAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgZmlsbDogI2ZmZjsgfVxuICAuY3MtYnV0dG9uLWNvbXBvbmVudFtkaXNhYmxlZF0ge1xuICAgIG9wYWNpdHk6IDAuNjU7XG4gICAgY3Vyc29yOiBhdXRvOyB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgLmNzLWJ1dHRvbi1jb21wb25lbnQge1xuICAgICAgbWFyZ2luOiAwIDAgNHJlbTsgfSB9XG4gIC5jcy1idXR0b24tY29tcG9uZW50LS1za2lwLXNwYWNpbmcge1xuICAgIG1hcmdpbjogMDsgfVxuICAuY3MtYnV0dG9uLWNvbXBvbmVudF9fc3BhbiB7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgICB6LWluZGV4OiAxO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBsaW5lLWhlaWdodDogMS4yNzVlbTtcbiAgICBsZXR0ZXItc3BhY2luZzogbm9ybWFsO1xuICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICBwYWRkaW5nLXJpZ2h0OiA0ZW07IH1cbiAgLmNzLWJ1dHRvbi1jb21wb25lbnRfX2ljb24ge1xuICAgIG1heC13aWR0aDogMWVtO1xuICAgIG1heC1oZWlnaHQ6IDEuOHJlbTtcbiAgICB6LWluZGV4OiAyO1xuICAgIGhlaWdodDogYXV0bztcbiAgICB3aWR0aDogMTAwJTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiA1MCU7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtNTAlLCAwKTtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgcmlnaHQ6IDFlbTsgfVxuICAuY3MtYnV0dG9uLWNvbXBvbmVudF9fYW1vdW50OmJlZm9yZSB7XG4gICAgY29udGVudDogJygnOyB9XG4gIC5jcy1idXR0b24tY29tcG9uZW50X19hbW91bnQ6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6ICcpJzsgfVxuIiwiQGltcG9ydCAnY29uZmlnL3ZhcmlhYmxlcyc7XG5AaW1wb3J0ICd1dGlscy9jb21wb25lbnQtc3BhY2luZyc7XG5AaW1wb3J0ICdjb21wb25lbnRzL2J1dHRvbi9taXhpbic7XG5cbiRidXR0b24tZmFsbGJhY2tfdHlwZTogJGJ1dHRvbl9kZWZhdWx0LXR5cGUgIWRlZmF1bHQ7XG4kYnV0dG9uLWZhbGxiYWNrX2ljb24tcG9zOiAkYnV0dG9uX2RlZmF1bHQtaWNvbi1wb3MgIWRlZmF1bHQ7XG5cbiRidXR0b24tY29tcG9uZW50X3R5cGU6ICRidXR0b25fZGVmYXVsdC10eXBlICFkZWZhdWx0O1xuJGJ1dHRvbi1jb21wb25lbnRfaWNvbi1wb3M6ICRidXR0b25fZGVmYXVsdC1pY29uLXBvcyAhZGVmYXVsdDtcbiRidXR0b24tY29tcG9uZW50X2hvcml6b250YWwtcG9zaXRpb246IDUwJSAhZGVmYXVsdDtcbiRidXR0b24tY29tcG9uZW50X2hvcml6b250YWwtdHJhbnNsYXRpb246IHRyYW5zbGF0ZVgoLTUwJSkgIWRlZmF1bHQ7XG5cbi4jeyRuc31idXR0b24ge1xuICAgIEBpbmNsdWRlIGJ1dHRvbihcbiAgICAgICAgJHR5cGU6ICRidXR0b24tZmFsbGJhY2tfdHlwZSxcbiAgICAgICAgJGljb25fcG9zOiAkYnV0dG9uLWZhbGxiYWNrX2ljb24tcG9zXG4gICAgKTtcblxuICAgICZfX3NwYW4ge1xuICAgICAgICBAaW5jbHVkZSBidXR0b25fc3BhbihcbiAgICAgICAgICAgICR0eXBlOiAkYnV0dG9uLWZhbGxiYWNrX3R5cGUsXG4gICAgICAgICAgICAkaWNvbl9wb3M6ICRidXR0b24tZmFsbGJhY2tfaWNvbi1wb3NcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICAmX19pY29uIHtcbiAgICAgICAgQGluY2x1ZGUgYnV0dG9uX2ljb24oXG4gICAgICAgICAgICAkdHlwZTogJGJ1dHRvbi1mYWxsYmFja190eXBlLFxuICAgICAgICAgICAgJGljb25fcG9zOiAkYnV0dG9uLWZhbGxiYWNrX2ljb24tcG9zXG4gICAgICAgICk7XG4gICAgfVxufVxuXG4uI3skbnN9YnV0dG9uLWNvbXBvbmVudCB7XG4gICAgQGluY2x1ZGUgYnV0dG9uKFxuICAgICAgICAkdHlwZTogJGJ1dHRvbi1jb21wb25lbnRfdHlwZSxcbiAgICAgICAgJGljb25fcG9zOiAkYnV0dG9uLWNvbXBvbmVudF9pY29uLXBvc1xuICAgICk7XG4gICAgQGluY2x1ZGUgY29tcG9uZW50LXNwYWNpbmcoKTtcblxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiAkYnV0dG9uLWNvbXBvbmVudF9ob3Jpem9udGFsLXBvc2l0aW9uO1xuICAgIHRyYW5zZm9ybTogJGJ1dHRvbi1jb21wb25lbnRfaG9yaXpvbnRhbC10cmFuc2xhdGlvbjtcblxuICAgICZfX3NwYW4ge1xuICAgICAgICBAaW5jbHVkZSBidXR0b25fc3BhbihcbiAgICAgICAgICAgICR0eXBlOiAkYnV0dG9uLWNvbXBvbmVudF90eXBlLFxuICAgICAgICAgICAgJGljb25fcG9zOiAkYnV0dG9uLWNvbXBvbmVudF9pY29uLXBvc1xuICAgICAgICApO1xuICAgIH1cblxuICAgICZfX2ljb24ge1xuICAgICAgICBAaW5jbHVkZSBidXR0b25faWNvbihcbiAgICAgICAgICAgICR0eXBlOiAkYnV0dG9uLWNvbXBvbmVudF90eXBlLFxuICAgICAgICAgICAgJGljb25fcG9zOiAkYnV0dG9uLWNvbXBvbmVudF9pY29uLXBvc1xuICAgICAgICApO1xuICAgIH1cblxuICAgICZfX2Ftb3VudCB7XG4gICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICcoJztcbiAgICAgICAgfVxuICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICcpJztcbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIkBpbXBvcnQgJ2NvbmZpZy92YXJpYWJsZXMnO1xuQGltcG9ydCAnY29uZmlnL2JyZWFrcG9pbnRzJztcbkBpbXBvcnQgJ3ZlbmRvcnMvaW5jbHVkZS1tZWRpYSc7XG5cbkBtaXhpbiBjb21wb25lbnQtc3BhY2luZygkbWFyZ2lucy1jb25maWc6ICRjb21wb25lbnQtc3BhY2luZy1jb25maWd1cmF0aW9uKSB7XG4gICAgQGlmIG1hcC1oYXMta2V5KCRtYXJnaW5zLWNvbmZpZywgZGVmYXVsdCkge1xuICAgICAgICBtYXJnaW46IG1hcC1nZXQoJG1hcmdpbnMtY29uZmlnLCBkZWZhdWx0KTtcbiAgICB9IEBlbHNlIHtcbiAgICAgICAgLy8gRGVmYXVsdCBjb21wb25lbnQgbWFyZ2luIHZhbHVlXG4gICAgICAgIG1hcmdpbjogMCAwIDNyZW07XG4gICAgfVxuXG4gICAgQGlmIG1hcC1oYXMta2V5KCRtYXJnaW5zLWNvbmZpZywgcmVzcG9uc2l2ZSkge1xuICAgICAgICAvLyBBZGRpbmcgbWFyZ2luIHJ1bGVzIGZvciBlYWNoIHBhc3NlZCBicmVha3BvaW50XG4gICAgICAgIEBlYWNoICRicmVha3BvaW50LCAkbWFyZ2luIGluIG1hcC1nZXQoJG1hcmdpbnMtY29uZmlnLCByZXNwb25zaXZlKSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgjeyRicmVha3BvaW50fSkge1xuICAgICAgICAgICAgICAgIG1hcmdpbjogJG1hcmdpbjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgICYtLXNraXAtc3BhY2luZyB7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICB9XG59XG4iLCIvKipcbiAqIEJyZWFrcG9pbnQgY29tcG9uZW50IHVzZWQgYnkgaW5jbHVkZS1tZWRpYSB2ZW5kb3IgbGlicmFyeS5cbiAqL1xuQHVzZSAnc2FzczptYXAnO1xuLyoqXG4gKiBFeHRyYWN0cyBuZXN0ZWQga2V5cyBmcm9tIGdpdmVuIG1hcC5cbiAqIEV4YW1wbGU6IGRlZXAtZ2V0KCRzb21lLW1hcCwgc29tZSwgbmVzdGVkLCBrZXlzKTtcbiAqL1xuLyoqXG4qIERlZmF1bHQgcHJvamVjdCBicmVha3BvaW50cyAtIFtlbV1cbiovXG4vKipcbiAqIEJyZWFrcG9pbnQgY29tcG9uZW50IHVzZWQgYnkgaW5jbHVkZS1tZWRpYSB2ZW5kb3IgbGlicmFyeS5cbiAqL1xuQHVzZSAnc2FzczptYXAnO1xuLyoqXG4gKiBFeHRyYWN0cyBuZXN0ZWQga2V5cyBmcm9tIGdpdmVuIG1hcC5cbiAqIEV4YW1wbGU6IGRlZXAtZ2V0KCRzb21lLW1hcCwgc29tZSwgbmVzdGVkLCBrZXlzKTtcbiAqL1xuLyoqXG4qIERlZmF1bHQgcHJvamVjdCBicmVha3BvaW50cyAtIFtlbV1cbiovXG4vKipcbiAqIEJyZWFrcG9pbnQgY29tcG9uZW50IHVzZWQgYnkgaW5jbHVkZS1tZWRpYSB2ZW5kb3IgbGlicmFyeS5cbiAqL1xuQHVzZSAnc2FzczptYXAnO1xuLyoqXG4gKiBFeHRyYWN0cyBuZXN0ZWQga2V5cyBmcm9tIGdpdmVuIG1hcC5cbiAqIEV4YW1wbGU6IGRlZXAtZ2V0KCRzb21lLW1hcCwgc29tZSwgbmVzdGVkLCBrZXlzKTtcbiAqL1xuLyoqXG4qIERlZmF1bHQgcHJvamVjdCBicmVha3BvaW50cyAtIFtlbV1cbiovXG4vKipcbiAqIE1peGlucyBmb3IgZmxleGlibGUgY29udGFpbmVycyBkZWNsYXJhdGlvbi5cbiAqL1xuLyoqXG4gKiBEZWZpbmVzIHBhZ2UgY29udGFpbmVyLiBUaGlzIG1peGluIG1ha2VzIHN1cmUgdGhhdCB0aGUgY29udGVudCBoYXMgYWx3YXlzIGVxdWFsIHBhZGRpbmdcbiAqIGZvciBtb2JpbGUgc2NyZWVucyBvbiBib3RoIHNpemUgb2YgdGhlIGRldmljZS5cbiAqL1xuLyoqXG4gKiBOZWdhdGVzIHBhcmVudCBjb250YWluZXIncyBwYWRkaW5nIGFuZCBzZXRzIGl0IG93bi5cbiAqIFNvbWV0aGltZXMgdGhpcyBoYXMgdG8gYmUgZG9uZSB0byBtYWtlIGJhY2tncm91bmQgZXZlbiB0byBvdGhlciBjb250YWluZXJzJyBjb250ZW50LlxuICovXG4vKipcbiAqIERlZmluZXMgY29udGFpbmVyIHdyYXBwZXIgdGhhdCBtYWtlcyBzdXJlIGNvbnRuZXQgZG9lc24ndCBleHRlbmQgYWJvdmUgY2VydGFpbiB3aWR0aCBhbmQgaXMgYWx3YXlzIGNlbnRlcmVkLlxuICovXG4uY3MtY29udGFpbmVyIHtcbiAgcGFkZGluZy1sZWZ0OiAxLjVyZW07XG4gIHBhZGRpbmctcmlnaHQ6IDEuNXJlbTtcbiAgbWFyZ2luOiAwIGF1dG87XG4gIHdpZHRoOiAxMDAlO1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94OyB9XG4gIC5jcy1jb250YWluZXJfX2lubmVyIHtcbiAgICBtYXgtd2lkdGg6IDEyOHJlbTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXJnaW46IDAgYXV0bztcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgICAuY3MtY29udGFpbmVyX19pbm5lcjpiZWZvcmUsIC5jcy1jb250YWluZXJfX2lubmVyOmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgZGlzcGxheTogdGFibGU7XG4gICAgICBjbGVhcjogYm90aDsgfVxuICAuY3MtY29udGFpbmVyX19hc2lkZSB7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgLmNzLWNvbnRhaW5lcl9fYXNpZGUge1xuICAgICAgICB3aWR0aDogNDAlOyB9IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgLmNzLWNvbnRhaW5lcl9fYXNpZGUge1xuICAgICAgICB3aWR0aDogMzIlOyB9IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogOTBlbSkge1xuICAgICAgLmNzLWNvbnRhaW5lcl9fYXNpZGUge1xuICAgICAgICB3aWR0aDogMzAlOyB9IH1cbiAgLmNzLWNvbnRhaW5lcl9fbWFpbi1jb2x1bW4ge1xuICAgIHdpZHRoOiA1NiU7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgIC5jcy1jb250YWluZXJfX21haW4tY29sdW1uIHtcbiAgICAgICAgd2lkdGg6IDY1JTsgfSB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDkwZW0pIHtcbiAgICAgIC5jcy1jb250YWluZXJfX21haW4tY29sdW1uIHtcbiAgICAgICAgd2lkdGg6IDY3JTsgfSB9XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDQ3Ljk5ZW0pIHtcbiAgICAgIC5jcy1jb250YWluZXJfX21haW4tY29sdW1uIHtcbiAgICAgICAgbWF4LXdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG4gICAgICAgIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7IH0gfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAuY3MtY29udGFpbmVyX19tYWluLWNvbHVtbi0tc3BhY2UtdG9wIHtcbiAgICAgICAgcGFkZGluZy10b3A6IDNyZW07IH0gfVxuICAuY3MtY29udGFpbmVyLS1jb250cmFzdCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2YwZjBmMDsgfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAuY3MtY29udGFpbmVyLS1jb250cmFzdCB7XG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltYWdlcy9iYWNrZ3JvdW5kLnBuZ1wiKTtcbiAgICAgICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDsgfSB9XG4gIC5jcy1jb250YWluZXItLXNwYWNpb3VzIHtcbiAgICBwYWRkaW5nLXRvcDogMnJlbTtcbiAgICBwYWRkaW5nLWJvdHRvbTogMnJlbTsgfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAuY3MtY29udGFpbmVyLS1zcGFjaW91cyB7XG4gICAgICAgIHBhZGRpbmctdG9wOiAzcmVtO1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogM3JlbTsgfSB9XG4gIC5jcy1jb250YWluZXItLW5vc2Nyb2xsIHtcbiAgICBvdmVyZmxvdzogaGlkZGVuOyB9XG4gIC5jcy1jb250YWluZXItLW9udG9wIHtcbiAgICB6LWluZGV4OiAzMDE7IH1cbiAgLmNzLWNvbnRhaW5lci0tdmlld3BvcnQtd2lkdGgge1xuICAgIG1heC13aWR0aDogbm9uZTsgfVxuICAuY3MtY29udGFpbmVyLS1uby1wYWRkaW5nIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgcGFkZGluZy1yaWdodDogMDsgfVxuICAuY3MtY29udGFpbmVyLS11c2Utd2hvbGUtc2NyZWVuIC5jcy1jb250YWluZXJfX2lubmVyIHtcbiAgICBtYXgtd2lkdGg6IDEwMCU7IH1cbiIsIi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG5AdXNlICdzYXNzOm1hcCc7XG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG4vKipcbiogRGVmYXVsdCBwcm9qZWN0IGJyZWFrcG9pbnRzIC0gW2VtXVxuKi9cbi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG5AdXNlICdzYXNzOm1hcCc7XG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG4vKipcbiogRGVmYXVsdCBwcm9qZWN0IGJyZWFrcG9pbnRzIC0gW2VtXVxuKi9cbi8qXG4gKiBGdW5jdGlvbiB0byBnZXQgdmFsdWUgZnJvbSBhIGxpc3Qgb2YgdmFsdWVzLCBiYXNlZCBvbiBzaWRlXG4gKiBAcGFyYW0ge3N0cmluZ30gJHZhcmlhYmxlOiB2YXJpYWJsZSB3aXRoIGEgbGlzdCBvZiB2YWx1ZXMgKGxpa2UgcGFkZGluZ3MsIG1hcmdpbnMgZXRjLik7XG4gKiBAcGFyYW0ge3N0cmluZ30gJHNpZGU6IHNpZGUgKHVwIC8gcmlnaHQgLyBkb3duIC8gbGVmdCkgZm9yIHdoaWNoIHdlIHdhbnQgdG8gZ2V0IHZhbHVlXG4gKiBFeGFtcGxlOlxuICogJGNvbXBvbmVudF9wYWRkaW5nOiAxcmVtIDJyZW0gM3JlbTtcbiAqIGdldC12YWx1ZS1mcm9tLWxpc3QoJGNvbXBvbmVudF9wYWRkaW5nLCAncmlnaHQnKSAvLyAycmVtXG4gKiBnZXQtdmFsdWUtZnJvbS1saXN0KCRjb21wb25lbnRfcGFkZGluZywgJ2JvdHRvbScpIC8vIDNyZW1cbiAqL1xuLyogc3R5bGVsaW50LWRpc2FibGUgYmxvY2stbm8tZW1wdHkgKi9cbi8qIHN0eWxlbGludC1lbmFibGUgKi9cbi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG5AdXNlICdzYXNzOm1hcCc7XG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG4vKipcbiogRGVmYXVsdCBwcm9qZWN0IGJyZWFrcG9pbnRzIC0gW2VtXVxuKi9cbi8qIHN0eWxlbGludC1kaXNhYmxlIGJsb2NrLW5vLWVtcHR5ICovXG4vKiBzdHlsZWxpbnQtZW5hYmxlICovXG4vKipcbiAqIEJyZWFrcG9pbnQgY29tcG9uZW50IHVzZWQgYnkgaW5jbHVkZS1tZWRpYSB2ZW5kb3IgbGlicmFyeS5cbiAqL1xuQHVzZSAnc2FzczptYXAnO1xuLyoqXG4gKiBFeHRyYWN0cyBuZXN0ZWQga2V5cyBmcm9tIGdpdmVuIG1hcC5cbiAqIEV4YW1wbGU6IGRlZXAtZ2V0KCRzb21lLW1hcCwgc29tZSwgbmVzdGVkLCBrZXlzKTtcbiAqL1xuLyoqXG4qIERlZmF1bHQgcHJvamVjdCBicmVha3BvaW50cyAtIFtlbV1cbiovXG4uY3MtY29va2llLW1lc3NhZ2Uge1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIGJvdHRvbTogMDtcbiAgbGVmdDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIG1hcmdpbjogMCBhdXRvO1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBwYWRkaW5nOiAxLjJyZW07XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gIGNvbG9yOiAjNDU1YTY0O1xuICBib3gtc2hhZG93OiAwIC0wLjNyZW0gMC41cmVtIDAgcmdiYSgwLCAwLCAwLCAwLjE1KTtcbiAgZm9udC1zaXplOiA4NSU7XG4gIHotaW5kZXg6IDk4O1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDExMCUsIDApO1xuICBvcGFjaXR5OiAwO1xuICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4yNXMgZWFzZS1vdXQsIG9wYWNpdHkgMC4xOHMgbGluZWFyO1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjsgfVxuICAuY3MtY29va2llLW1lc3NhZ2UtLXNob3duIHtcbiAgICB6LWluZGV4OiAyMDI7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICBvcGFjaXR5OiAxOyB9XG4gIC5jcy1jb29raWUtbWVzc2FnZV9faW5uZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBwYWRkaW5nLWxlZnQ6IDhyZW07IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgLmNzLWNvb2tpZS1tZXNzYWdlX19pbm5lciB7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7IH0gfVxuICAuY3MtY29va2llLW1lc3NhZ2VfX2J1dHRvbi13cmFwcGVyIHtcbiAgICBhbGlnbi1zZWxmOiBmbGV4LXN0YXJ0OyB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgIC5jcy1jb29raWUtbWVzc2FnZV9fYnV0dG9uLXdyYXBwZXIge1xuICAgICAgICBhbGlnbi1zZWxmOiB1bnNldDsgfSB9XG4gIC5jcy1jb29raWUtbWVzc2FnZV9fdGV4dCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIG1hcmdpbjogMDsgfVxuICAgIC5jcy1jb29raWUtbWVzc2FnZV9fdGV4dCAuYmxvY2stY21zLWxpbmsud2lkZ2V0LFxuICAgIC5jcy1jb29raWUtbWVzc2FnZV9fdGV4dCBwIHtcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIGRpc3BsYXk6IGlubGluZTsgfVxuICAgIC5jcy1jb29raWUtbWVzc2FnZV9fdGV4dCBhLCAuY3MtY29va2llLW1lc3NhZ2VfX3RleHQgYTp2aXNpdGVkIHtcbiAgICAgIGNvbG9yOiAjN2U1N2MyO1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9XG4gICAgLmNzLWNvb2tpZS1tZXNzYWdlX190ZXh0IGE6aG92ZXIsIC5jcy1jb29raWUtbWVzc2FnZV9fdGV4dCBhOmZvY3VzLCAuY3MtY29va2llLW1lc3NhZ2VfX3RleHQgYTphY3RpdmUsIC5jcy1jb29raWUtbWVzc2FnZV9fdGV4dCBhOnZpc2l0ZWQ6aG92ZXIsIC5jcy1jb29raWUtbWVzc2FnZV9fdGV4dCBhOnZpc2l0ZWQ6Zm9jdXMge1xuICAgICAgY29sb3I6ICM0ZDJjOTE7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH1cbiAgLmNzLWNvb2tpZS1tZXNzYWdlX19pY29uIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgbGVmdDogMC41cmVtO1xuICAgIHdpZHRoOiA1LjVyZW07XG4gICAgaGVpZ2h0OiA1LjVyZW07XG4gICAgdG9wOiA1MCU7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpOyB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgIC5jcy1jb29raWUtbWVzc2FnZV9faWNvbiB7XG4gICAgICAgIHRvcDogLTMuNXJlbTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApOyB9IH1cbiAgLmNzLWNvb2tpZS1tZXNzYWdlX19idXR0b24ge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBmb250LXNpemU6IDEuOHJlbTtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGluZS1oZWlnaHQ6IDEuMjc1ZW07XG4gICAgbWFyZ2luOiAwO1xuICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICAgIHBhZGRpbmc6IDAuNzVlbSAxZW07XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuNXMsIGJvcmRlci1jb2xvciAwLjVzLCBmaWxsIDAuNXMsIGNvbG9yIDAuNXM7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICB6LWluZGV4OiA1O1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgbWFyZ2luLXRvcDogMS4ycmVtOyB9XG4gICAgLmNzLWNvb2tpZS1tZXNzYWdlX19idXR0b246aG92ZXIsIC5jcy1jb29raWUtbWVzc2FnZV9fYnV0dG9uOmZvY3VzLCAuY3MtY29va2llLW1lc3NhZ2VfX2J1dHRvbjphY3RpdmUge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzdlNTdjMiAhaW1wb3J0YW50OyB9XG4gICAgLmNzLWNvb2tpZS1tZXNzYWdlX19idXR0b246YmVmb3JlLCAuY3MtY29va2llLW1lc3NhZ2VfX2J1dHRvbjphZnRlciB7XG4gICAgICBjb250ZW50OiAnJztcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogLTFweDtcbiAgICAgIGJvdHRvbTogLTFweDtcbiAgICAgIHJpZ2h0OiAtMXB4OyB9XG4gICAgLmNzLWNvb2tpZS1tZXNzYWdlX19idXR0b246YmVmb3JlIHtcbiAgICAgIHdpZHRoOiAzLjRlbTtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDAgMjAwcHggMjAwcHggMDtcbiAgICAgIHotaW5kZXg6IC0xO1xuICAgICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDBkZWcsIHRyYW5zcGFyZW50IDAlLCB0cmFuc3BhcmVudCAwJSwgIzRkMmM5MSAwJSwgIzRkMmM5MSAxMDAlKTsgfVxuICAgIC5jcy1jb29raWUtbWVzc2FnZV9fYnV0dG9uOmFmdGVyIHtcbiAgICAgIHdpZHRoOiAzZW07XG4gICAgICBtaW4td2lkdGg6IGF1dG87XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNGQyYzkxO1xuICAgICAgdHJhbnNpdGlvbjogd2lkdGggMC4yNXMgbGluZWFyO1xuICAgICAgei1pbmRleDogLTI7XG4gICAgICBib3JkZXItcmFkaXVzOiAyMDBweDsgfVxuICAgIC5jcy1jb29raWUtbWVzc2FnZV9fYnV0dG9uOmhvdmVyOmFmdGVyIHtcbiAgICAgIHdpZHRoOiBjYWxjKDEwMCUgKyAycHgpOyB9XG4gICAgLmNzLWNvb2tpZS1tZXNzYWdlX19idXR0b246Oi1tb3otZm9jdXMtaW5uZXIge1xuICAgICAgYm9yZGVyOiAwO1xuICAgICAgcGFkZGluZzogMDtcbiAgICAgIG1hcmdpbjogMDsgfVxuICAgIC5jcy1jb29raWUtbWVzc2FnZV9fYnV0dG9uLCAuY3MtY29va2llLW1lc3NhZ2VfX2J1dHRvbjp2aXNpdGVkIHtcbiAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDIwMHB4O1xuICAgICAgb3V0bGluZS1vZmZzZXQ6IDFweDtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzdlNTdjMjsgfVxuICAgICAgLmNzLWNvb2tpZS1tZXNzYWdlX19idXR0b24gKiwgLmNzLWNvb2tpZS1tZXNzYWdlX19idXR0b246dmlzaXRlZCAqIHtcbiAgICAgICAgY29sb3I6ICNmZmY7XG4gICAgICAgIGZpbGw6ICNmZmY7IH1cbiAgICAuY3MtY29va2llLW1lc3NhZ2VfX2J1dHRvbjpob3Zlcjpub3QoW2Rpc2FibGVkXSksIC5jcy1jb29raWUtbWVzc2FnZV9fYnV0dG9uOmZvY3VzOm5vdChbZGlzYWJsZWRdKSwgLmNzLWNvb2tpZS1tZXNzYWdlX19idXR0b246YWN0aXZlOm5vdChbZGlzYWJsZWRdKSB7XG4gICAgICBib3gtc2hhZG93OiBub25lO1xuICAgICAgb3V0bGluZTogbm9uZTtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgY29sb3I6ICNmZmY7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNGQyYzkxOyB9XG4gICAgICAuY3MtY29va2llLW1lc3NhZ2VfX2J1dHRvbjpob3Zlcjpub3QoW2Rpc2FibGVkXSkgKiwgLmNzLWNvb2tpZS1tZXNzYWdlX19idXR0b246Zm9jdXM6bm90KFtkaXNhYmxlZF0pICosIC5jcy1jb29raWUtbWVzc2FnZV9fYnV0dG9uOmFjdGl2ZTpub3QoW2Rpc2FibGVkXSkgKiB7XG4gICAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgICBmaWxsOiAjZmZmOyB9XG4gICAgLmNzLWNvb2tpZS1tZXNzYWdlX19idXR0b25bZGlzYWJsZWRdIHtcbiAgICAgIG9wYWNpdHk6IDAuNjU7XG4gICAgICBjdXJzb3I6IGF1dG87IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgLmNzLWNvb2tpZS1tZXNzYWdlX19idXR0b24ge1xuICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgICBtYXJnaW4tbGVmdDogMS4ycmVtOyB9IH1cbiAgLmNzLWNvb2tpZS1tZXNzYWdlX19idXR0b24tc3BhbiB7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgICB6LWluZGV4OiAxO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBsaW5lLWhlaWdodDogMS4yNzVlbTtcbiAgICBsZXR0ZXItc3BhY2luZzogbm9ybWFsO1xuICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICBwYWRkaW5nLXJpZ2h0OiA0ZW07IH1cbiAgLmNzLWNvb2tpZS1tZXNzYWdlX19idXR0b24taWNvbiB7XG4gICAgbWF4LXdpZHRoOiAxZW07XG4gICAgbWF4LWhlaWdodDogMS44cmVtO1xuICAgIHotaW5kZXg6IDI7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDUwJTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC01MCUsIDApO1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICByaWdodDogMWVtOyB9XG4iLCJAaW1wb3J0ICdjb25maWcvdmFyaWFibGVzJztcbkBpbXBvcnQgJ3ZlbmRvcnMvaW5jbHVkZS1tZWRpYSc7XG5cbkBpbXBvcnQgJ2NvbXBvbmVudHMvYnV0dG9uL21peGluJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvdHlwb2dyYXBoeS9taXhpbic7XG5cbiRjb29raWUtbWVzc2FnZV9iYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3JfYmFja2dyb3VuZC0yMDAgIWRlZmF1bHQ7XG4kY29va2llLW1lc3NhZ2VfZm9udC1zaXplOiA4NSUgIWRlZmF1bHQ7XG4kY29va2llLW1lc3NhZ2VfZm9udC1jb2xvcjogJGNvbG9yX3RleHQtOTAwICFkZWZhdWx0O1xuJGNvb2tpZS1tZXNzYWdlX2xpbmstY29sb3I6ICRjb2xvcl9wcmltYXJ5LTUwMCAhZGVmYXVsdDtcbiRjb29raWUtbWVzc2FnZV9saW5rLWNvbG9yLS1ob3ZlcjogJGNvbG9yX3ByaW1hcnktODAwICFkZWZhdWx0O1xuXG4kY29va2llLW1lc3NhZ2VfYnV0dG9uLXR5cGU6ICRidXR0b25fZGVmYXVsdC10eXBlICFkZWZhdWx0O1xuJGNvb2tpZS1tZXNzYWdlX2ljb24tcG9zOiAkYnV0dG9uX2RlZmF1bHQtaWNvbi1wb3MgIWRlZmF1bHQ7XG5cbiRjb29raWUtbWVzc2FnZV9idXR0b24tcG9zLWJyZWFrcG9pbnQ6ICd0YWJsZXQnICFkZWZhdWx0O1xuJGNvb2tpZS1tZXNzYWdlX2J1dHRvbi1wb3MtYWxpZ246IGZsZXgtc3RhcnQgIWRlZmF1bHQ7XG5cbi4jeyRuc31jb29raWUtbWVzc2FnZSB7XG4gICAgJHJvb3Q6ICY7XG5cbiAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgYm90dG9tOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luOiAwIGF1dG87XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICBwYWRkaW5nOiAxLjJyZW07XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGNvb2tpZS1tZXNzYWdlX2JhY2tncm91bmQtY29sb3I7XG4gICAgY29sb3I6ICRjb29raWUtbWVzc2FnZV9mb250LWNvbG9yO1xuICAgIGJveC1zaGFkb3c6IDAgLTAuM3JlbSAwLjVyZW0gMCByZ2JhKDAsIDAsIDAsIDAuMTUpO1xuICAgIGZvbnQtc2l6ZTogJGNvb2tpZS1tZXNzYWdlX2ZvbnQtc2l6ZTtcbiAgICB6LWluZGV4OiA5ODtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDExMCUsIDApO1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuMjVzIGVhc2Utb3V0LCBvcGFjaXR5IDAuMThzIGxpbmVhcjtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cbiAgICBAaWYgKCRnbG9iYWxfaGVhZGVyLWlzLWJvdHRvbS1vbi1tb2JpbGUpIHtcbiAgICAgICAgYm90dG9tOiAkZ2xvYmFsX2hlYWRlci1oZWlnaHQtbW9iaWxlO1xuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PXRhYmxldCcpIHtcbiAgICAgICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICYtLXNob3duIHtcbiAgICAgICAgei1pbmRleDogMjAyO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgIH1cblxuICAgICZfX2lubmVyIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiA4cmVtO1xuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PSN7JGNvb2tpZS1tZXNzYWdlX2J1dHRvbi1wb3MtYnJlYWtwb2ludH0nKSB7XG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fYnV0dG9uLXdyYXBwZXIge1xuICAgICAgICBhbGlnbi1zZWxmOiAkY29va2llLW1lc3NhZ2VfYnV0dG9uLXBvcy1hbGlnbjtcblxuICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPj0jeyRjb29raWUtbWVzc2FnZV9idXR0b24tcG9zLWJyZWFrcG9pbnR9Jykge1xuICAgICAgICAgICAgYWxpZ24tc2VsZjogdW5zZXQ7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX190ZXh0IHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBtYXJnaW46IDA7XG5cbiAgICAgICAgLmJsb2NrLWNtcy1saW5rLndpZGdldCxcbiAgICAgICAgcCB7XG4gICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmU7XG4gICAgICAgIH1cblxuICAgICAgICBhIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGxpbmsoXG4gICAgICAgICAgICAgICAgJGNvbG9yOiAkY29va2llLW1lc3NhZ2VfbGluay1jb2xvcixcbiAgICAgICAgICAgICAgICAkY29sb3ItaG92ZXI6ICRjb29raWUtbWVzc2FnZV9saW5rLWNvbG9yLS1ob3ZlclxuICAgICAgICAgICAgKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2ljb24ge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGxlZnQ6IDAuNXJlbTtcbiAgICAgICAgd2lkdGg6IDUuNXJlbTtcbiAgICAgICAgaGVpZ2h0OiA1LjVyZW07XG4gICAgICAgIHRvcDogNTAlO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz49I3skY29va2llLW1lc3NhZ2VfYnV0dG9uLXBvcy1icmVha3BvaW50fScpIHtcbiAgICAgICAgICAgIHRvcDogLTMuNXJlbTtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2J1dHRvbiB7XG4gICAgICAgIEBpbmNsdWRlIGJ1dHRvbihcbiAgICAgICAgICAgICR0eXBlOiAkY29va2llLW1lc3NhZ2VfYnV0dG9uLXR5cGUsXG4gICAgICAgICAgICAkaWNvbl9wb3M6ICRjb29raWUtbWVzc2FnZV9pY29uLXBvc1xuICAgICAgICApO1xuXG4gICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgICAgIG1hcmdpbi10b3A6IDEuMnJlbTtcblxuICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPj0jeyRjb29raWUtbWVzc2FnZV9idXR0b24tcG9zLWJyZWFrcG9pbnR9Jykge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAxLjJyZW07XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19idXR0b24tc3BhbiB7XG4gICAgICAgIEBpbmNsdWRlIGJ1dHRvbl9zcGFuKFxuICAgICAgICAgICAgJHR5cGU6ICRjb29raWUtbWVzc2FnZV9idXR0b24tdHlwZSxcbiAgICAgICAgICAgICRpY29uX3BvczogJGNvb2tpZS1tZXNzYWdlX2ljb24tcG9zXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgJl9fYnV0dG9uLWljb24ge1xuICAgICAgICBAaW5jbHVkZSBidXR0b25faWNvbihcbiAgICAgICAgICAgICR0eXBlOiAkY29va2llLW1lc3NhZ2VfYnV0dG9uLXR5cGUsXG4gICAgICAgICAgICAkaWNvbl9wb3M6ICRjb29raWUtbWVzc2FnZV9pY29uLXBvc1xuICAgICAgICApO1xuICAgIH1cbn1cbiIsIi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG5AdXNlICdzYXNzOm1hcCc7XG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG4vKipcbiogRGVmYXVsdCBwcm9qZWN0IGJyZWFrcG9pbnRzIC0gW2VtXVxuKi9cbi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG5AdXNlICdzYXNzOm1hcCc7XG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG4vKipcbiogRGVmYXVsdCBwcm9qZWN0IGJyZWFrcG9pbnRzIC0gW2VtXVxuKi9cbi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG5AdXNlICdzYXNzOm1hcCc7XG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG4vKipcbiogRGVmYXVsdCBwcm9qZWN0IGJyZWFrcG9pbnRzIC0gW2VtXVxuKi9cbi5jcy1kYWlseWRlYWwge1xuICBkaXNwbGF5OiBub25lOyB9XG4gIC5jcy1kYWlseWRlYWxfX2hlYWRlciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXJnaW46IDAgMCAwLjVyZW07XG4gICAgZm9udC1zaXplOiAxLjJyZW07XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0OyB9XG4gIC5jcy1kYWlseWRlYWxfX3RpdGxlIHtcbiAgICBtYXJnaW46IDA7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBmb250LXdlaWdodDogNjAwOyB9XG4gIC5jcy1kYWlseWRlYWxfX2l0ZW1zLWFtb3VudCB7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDsgfVxuICAuY3MtZGFpbHlkZWFsX19jb3VudGRvd24ge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgbWFyZ2luOiAwO1xuICAgIGp1c3RpZnktY29udGVudDogc3RyZXRjaDtcbiAgICBhbGlnbi1pdGVtczogc3RyZXRjaDsgfVxuICAuY3MtZGFpbHlkZWFsX19jb3VudGRvd24tZWxlbWVudCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHotaW5kZXg6IDM7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgcGFkZGluZzogMC4zcmVtIDAuNXJlbTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgIGJvcmRlci1yYWRpdXM6IDdweDsgfVxuICAgIC5jcy1kYWlseWRlYWxfX2NvdW50ZG93bi1lbGVtZW50LS1zcGVjaWFsIHtcbiAgICAgIHdpZHRoOiA1MCU7XG4gICAgICBiYWNrZ3JvdW5kOiAjZTQxZjEyO1xuICAgICAgei1pbmRleDogNTsgfVxuICAgIC5jcy1kYWlseWRlYWwtLXRlYXNlciAuY3MtZGFpbHlkZWFsX19jb3VudGRvd24tZWxlbWVudCB7XG4gICAgICBtaW4taGVpZ2h0OiA0cmVtOyB9XG4gIC5jcy1kYWlseWRlYWxfX2NvdW50ZG93bi1pY29uIHtcbiAgICB3aWR0aDogMS45cmVtO1xuICAgIGhlaWdodDogMi40cmVtO1xuICAgIGZpbGw6ICNmZmY7IH1cbiAgLmNzLWRhaWx5ZGVhbF9fY291bnRkb3duLXZhbHVlIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBmb250LXNpemU6IDEuNXJlbTtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIGNvbG9yOiAjZTQxZjEyO1xuICAgIHBhZGRpbmc6IDJweCAwIDA7IH1cbiAgLmNzLWRhaWx5ZGVhbF9fY291bnRkb3duLWxhYmVsIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBmb250LXNpemU6IDEuMXJlbTtcbiAgICBmb250LXdlaWdodDogaW5oZXJpdDtcbiAgICBjb2xvcjogIzg4ODtcbiAgICBwYWRkaW5nOiAycHggMCAwOyB9XG4gIC5jcy1kYWlseWRlYWwtLXRpbGUge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBsZWZ0OiAwO1xuICAgIGJvdHRvbTogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICB6LWluZGV4OiAzOyB9XG4gICAgLmNzLWRhaWx5ZGVhbC0tdGlsZSAuY3MtZGFpbHlkZWFsX19hdmFpbGFiaWxpdHkge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgYmFja2dyb3VuZDogIzg4ODtcbiAgICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgcGFkZGluZzogMnB4IDRweDtcbiAgICAgIHotaW5kZXg6IDQ7XG4gICAgICBmb250LXdlaWdodDogMzAwO1xuICAgICAgYm9yZGVyLXJhZGl1czogN3B4OyB9XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDU5OXB4KSB7XG4gICAgICAuY3MtZGFpbHlkZWFsLS10aWxlIC5jcy1kYWlseWRlYWxfX2NvdW50ZG93bi1lbGVtZW50IHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMDsgfVxuICAgICAgICAuY3MtZGFpbHlkZWFsLS10aWxlIC5jcy1kYWlseWRlYWxfX2NvdW50ZG93bi1lbGVtZW50Omxhc3QtY2hpbGQ6bm90KDpvbmx5LWNoaWxkKSB7XG4gICAgICAgICAgbWFyZ2luLWxlZnQ6IDA7IH1cbiAgICAgICAgLmNzLWRhaWx5ZGVhbC0tdGlsZSAuY3MtZGFpbHlkZWFsX19jb3VudGRvd24tZWxlbWVudDpsYXN0LWNoaWxkIC5jcy1kYWlseWRlYWxfX2NvdW50ZG93bi12YWx1ZTphZnRlciB7XG4gICAgICAgICAgY29udGVudDogbm9uZTsgfVxuICAgICAgICAuY3MtZGFpbHlkZWFsLS10aWxlIC5jcy1kYWlseWRlYWxfX2NvdW50ZG93bi1lbGVtZW50LS1zcGVjaWFsIHtcbiAgICAgICAgICB3aWR0aDogYXV0bzsgfVxuICAgICAgICAuY3MtZGFpbHlkZWFsLS10aWxlIC5jcy1kYWlseWRlYWxfX2NvdW50ZG93bi1lbGVtZW50Om5vdCguY3MtZGFpbHlkZWFsX19jb3VudGRvd24tZWxlbWVudC0tc3BlY2lhbCkge1xuICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgICAgcGFkZGluZzogMDsgfVxuICAgICAgICAgIC5jcy1kYWlseWRlYWwtLXRpbGUgLmNzLWRhaWx5ZGVhbF9fY291bnRkb3duLWVsZW1lbnQ6bm90KC5jcy1kYWlseWRlYWxfX2NvdW50ZG93bi1lbGVtZW50LS1zcGVjaWFsKTpiZWZvcmUge1xuICAgICAgICAgICAgdHJhbnNmb3JtOiBub25lOyB9XG4gICAgICAgICAgLmNzLWRhaWx5ZGVhbC0tdGlsZSAuY3MtZGFpbHlkZWFsX19jb3VudGRvd24tZWxlbWVudDpub3QoLmNzLWRhaWx5ZGVhbF9fY291bnRkb3duLWVsZW1lbnQtLXNwZWNpYWwpOm50aC1jaGlsZCgyKSB7XG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDEuOHJlbTtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAtMXJlbSAhaW1wb3J0YW50OyB9XG4gICAgICAgICAgLmNzLWRhaWx5ZGVhbC0tdGlsZSAuY3MtZGFpbHlkZWFsX19jb3VudGRvd24tZWxlbWVudDpub3QoLmNzLWRhaWx5ZGVhbF9fY291bnRkb3duLWVsZW1lbnQtLXNwZWNpYWwpOmxhc3QtY2hpbGQge1xuICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMC44cmVtO1xuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMCA3cHggN3B4IDA7IH1cbiAgICAgIC5jcy1kYWlseWRlYWwtLXRpbGUgLmNzLWRhaWx5ZGVhbF9fY291bnRkb3duLXZhbHVlIHtcbiAgICAgICAgZm9udC1zaXplOiAxLjNyZW07IH1cbiAgICAgICAgLmNzLWRhaWx5ZGVhbC0tdGlsZSAuY3MtZGFpbHlkZWFsX19jb3VudGRvd24tdmFsdWU6YWZ0ZXIge1xuICAgICAgICAgIGNvbnRlbnQ6ICc6JzsgfVxuICAgICAgLmNzLWRhaWx5ZGVhbC0tdGlsZSAuY3MtZGFpbHlkZWFsX19jb3VudGRvd24tbGFiZWwge1xuICAgICAgICBkaXNwbGF5OiBub25lOyB9IH1cbiAgLmNzLWRhaWx5ZGVhbF9fYmFkZ2UtcGRwLWljb24ge1xuICAgIHdpZHRoOiAxLjVyZW07XG4gICAgaGVpZ2h0OiAxLjVyZW07XG4gICAgei1pbmRleDogMTA7XG4gICAgZmlsbDogI2ZmZjsgfVxuIiwiQGltcG9ydCAnY29uZmlnL3ZhcmlhYmxlcyc7XG5AaW1wb3J0ICdjb25maWcvYnJlYWtwb2ludHMnO1xuQGltcG9ydCAndmVuZG9ycy9pbmNsdWRlLW1lZGlhJztcblxuJGRhaWx5ZGVhbC0tdGlsZS1wb3NpdGlvbjogYWJzb2x1dGUgIWRlZmF1bHQ7XG4kZGFpbHlkZWFsLS10aWxlLWJvdHRvbTogMCAhZGVmYXVsdDtcbiRkYWlseWRlYWwtLXRpbGUtbGVmdDogMCAhZGVmYXVsdDtcblxuJGRhaWx5ZGVhbF9oZWFkZXItZGlzcGxheTogZmxleCAhZGVmYXVsdDtcbiRkYWlseWRlYWxfaGVhZGVyLWp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbiAhZGVmYXVsdDtcbiRkYWlseWRlYWxfaGVhZGVyLWFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0ICFkZWZhdWx0O1xuJGRhaWx5ZGVhbF9oZWFkZXItZm9udC1zaXplOiAxLjJyZW0gIWRlZmF1bHQ7XG4kZGFpbHlkZWFsX2hlYWRlci1tYXJnaW46IDAgMCAwLjVyZW0gIWRlZmF1bHQ7XG5cbiRkYWlseWRlYWxfdGl0bGUtdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZSAhZGVmYXVsdDtcbiRkYWlseWRlYWxfdGl0bGUtZm9udC13ZWlnaHQ6IDYwMCAhZGVmYXVsdDtcblxuJGRhaWx5ZGVhbC0tdGlsZS1hdmFpbGFiaWxpdHktZm9udC1zaXplOiAxcmVtICFkZWZhdWx0O1xuJGRhaWx5ZGVhbC0tdGlsZS1hdmFpbGFiaWxpdHktY29sb3I6ICRjb2xvcl93aGl0ZSAhZGVmYXVsdDtcbiRkYWlseWRlYWwtLXRpbGUtYXZhaWxhYmlsaXR5LWJhY2tncm91bmQ6ICRjb2xvcl9ncmF5ICFkZWZhdWx0O1xuJGRhaWx5ZGVhbC0tdGlsZS1hdmFpbGFiaWxpdHktcGFkZGluZzogMnB4IDRweCAhZGVmYXVsdDtcbiRkYWlseWRlYWwtLXRpbGUtYXZhaWxhYmlsaXR5LWZvbnQtd2VpZ2h0OiAzMDAgIWRlZmF1bHQ7XG4kZGFpbHlkZWFsLS10aWxlLWF2YWlsYWJpbGl0eS1ib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJhZGl1c19iYXNlICFkZWZhdWx0O1xuXG4kZGFpbHlkZWFsX2l0ZW1zLWFtb3VudC1mb250LXdlaWdodDogNjAwICFkZWZhdWx0O1xuXG4kZGFpbHlkZWFsX2NvdW50ZG93bi1kaXNwbGF5OiBmbGV4ICFkZWZhdWx0O1xuJGRhaWx5ZGVhbF9jb3VudGRvd24tanVzdGlmeS1jb250ZW50OiBzdHJldGNoICFkZWZhdWx0O1xuJGRhaWx5ZGVhbF9jb3VudGRvd24tYWxpZ24taXRlbXM6IHN0cmV0Y2ggIWRlZmF1bHQ7XG4kZGFpbHlkZWFsX2NvdW50ZG93bi1tYXJnaW46IDAgIWRlZmF1bHQ7XG5cbiRkYWlseWRlYWxfY291bnRkb3duLWVsZW1lbnQtbWFyZ2luLWZhY3RvcjogM3B4ICFkZWZhdWx0O1xuJGRhaWx5ZGVhbF9jb3VudGRvd24tZWxlbWVudC0tdGlsZS1tYXJnaW4tZmFjdG9yOiAxcHggIWRlZmF1bHQ7XG4kZGFpbHlkZWFsX2NvdW50ZG93bi1lbGVtZW50LWRpc3BsYXk6IGZsZXggIWRlZmF1bHQ7XG4kZGFpbHlkZWFsX2NvdW50ZG93bi1lbGVtZW50LWZsZXgtZGlyZWN0aW9uOiBjb2x1bW4gIWRlZmF1bHQ7XG4kZGFpbHlkZWFsX2NvdW50ZG93bi1lbGVtZW50LXdpZHRoOiAxMDAlICFkZWZhdWx0O1xuJGRhaWx5ZGVhbF9jb3VudGRvd24tZWxlbWVudC1wYWRkaW5nOiAwLjNyZW0gMC41cmVtICFkZWZhdWx0O1xuJGRhaWx5ZGVhbF9jb3VudGRvd24tZWxlbWVudC1saW5lLWhlaWdodDogMSAhZGVmYXVsdDtcbiRkYWlseWRlYWxfY291bnRkb3duLWVsZW1lbnQtYmFja2dyb3VuZDogbm9uZSAhZGVmYXVsdDtcbiRkYWlseWRlYWxfY291bnRkb3duLWVsZW1lbnQtYm9yZGVyLXJhZGl1czogJGJvcmRlci1yYWRpdXNfYmFzZSAhZGVmYXVsdDtcbiRkYWlseWRlYWxfY291bnRkb3duLWVsZW1lbnQtLXNwZWNpYWwtd2lkdGg6IDUwJSAhZGVmYXVsdDtcbiRkYWlseWRlYWxfY291bnRkb3duLWVsZW1lbnQtLXNwZWNpYWwtYmFja2dyb3VuZDogJGNvbG9yX2NyaW1zb24gIWRlZmF1bHQ7XG5cbiRkYWlseWRlYWxfY291bnRkb3duLWljb24td2lkdGg6IDEuOXJlbSAhZGVmYXVsdDtcbiRkYWlseWRlYWxfY291bnRkb3duLWljb24taGVpZ2h0OiAyLjRyZW0gIWRlZmF1bHQ7XG4kZGFpbHlkZWFsX2NvdW50ZG93bi1pY29uLWZpbGw6ICRjb2xvcl93aGl0ZSAhZGVmYXVsdDtcblxuJGRhaWx5ZGVhbF9jb3VudGRvd24tdmFsdWUtZGlzcGxheTogYmxvY2sgIWRlZmF1bHQ7XG4kZGFpbHlkZWFsX2NvdW50ZG93bi12YWx1ZS1mb250LXNpemU6IDEuNXJlbSAhZGVmYXVsdDtcbiRkYWlseWRlYWxfY291bnRkb3duLXZhbHVlLWZvbnQtd2VpZ2h0OiA2MDAgIWRlZmF1bHQ7XG4kZGFpbHlkZWFsX2NvdW50ZG93bi12YWx1ZS1jb2xvcjogJGNvbG9yX2NyaW1zb24gIWRlZmF1bHQ7XG4kZGFpbHlkZWFsX2NvdW50ZG93bi12YWx1ZS1wYWRkaW5nOiAycHggMCAwICFkZWZhdWx0O1xuXG4kZGFpbHlkZWFsX2NvdW50ZG93bi1sYWJlbC1kaXNwbGF5OiBibG9jayAhZGVmYXVsdDtcbiRkYWlseWRlYWxfY291bnRkb3duLWxhYmVsLWZvbnQtc2l6ZTogMS4xcmVtICFkZWZhdWx0O1xuJGRhaWx5ZGVhbF9jb3VudGRvd24tbGFiZWwtZm9udC13ZWlnaHQ6IGluaGVyaXQgIWRlZmF1bHQ7XG4kZGFpbHlkZWFsX2NvdW50ZG93bi1sYWJlbC1jb2xvcjogJGNvbG9yX2dyYXkgIWRlZmF1bHQ7XG4kZGFpbHlkZWFsX2NvdW50ZG93bi1sYWJlbC1wYWRkaW5nOiAkZGFpbHlkZWFsX2NvdW50ZG93bi12YWx1ZS1wYWRkaW5nICFkZWZhdWx0O1xuXG4kZGFpbHlkZWFsX2NvdW50ZG93bi1sYWJlbC1kaXNwbGF5OiBibG9jayAhZGVmYXVsdDtcblxuJGRhaWx5LWRlYWwtdGVhc2VyX3Byb2R1Y3QtZGQtY291bnRlci1taW4taGVpZ2h0OiA0cmVtICFkZWZhdWx0O1xuXG4kZGFpbHlkZWFsX3BkcC1iYWRnZS1pY29uLXdpZHRoOiAxLjVyZW0gIWRlZmF1bHQ7XG4kZGFpbHlkZWFsX3BkcC1iYWRnZS1pY29uLWhlaWdodDogMS41cmVtICFkZWZhdWx0O1xuJGRhaWx5ZGVhbF9wZHAtYmFkZ2UtaWNvbi1maWxsLWNvbG9yOiAkY29sb3JfYmFja2dyb3VuZC0yMDAgIWRlZmF1bHQ7XG5cbi8vIEJlY2F1c2UgdGhlcmUgaXNuJ3QgZW5vdWdoIHNwYWNlIGZvciBkaXNwbGF5IGZ1bGwgY291bnRlciBvbiBtb2JpbGUgKGRlcGVuZHMgb24gZGVzaW5nKSwgd2UgY2FuIGRpc3BsYXkgY291bnRlciBpbiBsaWdodGVyIHZlcnNpb24gKG9ubHkgb24gdGlsZSlcbi8vIFNldCBgZmFsc2VgIHRvIGlnbm9yZSBsaWdodGVyIHZlcnNpb25cbiRkYWlseWRlYWxfZnVsbC1jb3VudGVyLWxpZ2h0ZXItdmVyc2lvbi1icmVha3BvaW50OiAnPDYwMHB4JyAhZGVmYXVsdDtcblxuLiN7JG5zfWRhaWx5ZGVhbCB7XG4gICAgJHJvb3Q6ICY7XG4gICAgZGlzcGxheTogbm9uZTtcblxuICAgICZfX2hlYWRlciB7XG4gICAgICAgIGRpc3BsYXk6ICRkYWlseWRlYWxfaGVhZGVyLWRpc3BsYXk7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBtYXJnaW46ICRkYWlseWRlYWxfaGVhZGVyLW1hcmdpbjtcbiAgICAgICAgZm9udC1zaXplOiAkZGFpbHlkZWFsX2hlYWRlci1mb250LXNpemU7XG5cbiAgICAgICAgQGlmICRkYWlseWRlYWxfaGVhZGVyLWRpc3BsYXkgPT1cbiAgICAgICAgICAgIGZsZXggb3JcbiAgICAgICAgICAgICRkYWlseWRlYWxfaGVhZGVyLWRpc3BsYXkgPT1cbiAgICAgICAgICAgIGlubGluZS1mbGV4XG4gICAgICAgIHtcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogJGRhaWx5ZGVhbF9oZWFkZXItanVzdGlmeS1jb250ZW50O1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6ICRkYWlseWRlYWxfaGVhZGVyLWFsaWduLWl0ZW1zO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fdGl0bGUge1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiAkZGFpbHlkZWFsX3RpdGxlLXRleHQtdHJhbnNmb3JtO1xuICAgICAgICBmb250LXdlaWdodDogJGRhaWx5ZGVhbF90aXRsZS1mb250LXdlaWdodDtcbiAgICB9XG5cbiAgICAmX19pdGVtcy1hbW91bnQge1xuICAgICAgICBmb250LXdlaWdodDogJGRhaWx5ZGVhbF9pdGVtcy1hbW91bnQtZm9udC13ZWlnaHQ7XG4gICAgfVxuXG4gICAgJl9fY291bnRkb3duIHtcbiAgICAgICAgZGlzcGxheTogJGRhaWx5ZGVhbF9jb3VudGRvd24tZGlzcGxheTtcbiAgICAgICAgbWFyZ2luOiAkZGFpbHlkZWFsX2NvdW50ZG93bi1tYXJnaW47XG5cbiAgICAgICAgQGlmICRkYWlseWRlYWxfY291bnRkb3duLWRpc3BsYXkgPT1cbiAgICAgICAgICAgIGZsZXggb3JcbiAgICAgICAgICAgICRkYWlseWRlYWxfY291bnRkb3duLWRpc3BsYXkgPT1cbiAgICAgICAgICAgIGlubGluZS1mbGV4XG4gICAgICAgIHtcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogJGRhaWx5ZGVhbF9jb3VudGRvd24tanVzdGlmeS1jb250ZW50O1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6ICRkYWlseWRlYWxfY291bnRkb3duLWFsaWduLWl0ZW1zO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fY291bnRkb3duLWVsZW1lbnQge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHotaW5kZXg6IDM7XG4gICAgICAgIHdpZHRoOiAkZGFpbHlkZWFsX2NvdW50ZG93bi1lbGVtZW50LXdpZHRoO1xuICAgICAgICBwYWRkaW5nOiAkZGFpbHlkZWFsX2NvdW50ZG93bi1lbGVtZW50LXBhZGRpbmc7XG4gICAgICAgIGRpc3BsYXk6ICRkYWlseWRlYWxfY291bnRkb3duLWVsZW1lbnQtZGlzcGxheTtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246ICRkYWlseWRlYWxfY291bnRkb3duLWVsZW1lbnQtZmxleC1kaXJlY3Rpb247XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICBsaW5lLWhlaWdodDogJGRhaWx5ZGVhbF9jb3VudGRvd24tZWxlbWVudC1saW5lLWhlaWdodDtcbiAgICAgICAgYmFja2dyb3VuZDogJGRhaWx5ZGVhbF9jb3VudGRvd24tZWxlbWVudC1iYWNrZ3JvdW5kO1xuICAgICAgICBib3JkZXItcmFkaXVzOiAkZGFpbHlkZWFsX2NvdW50ZG93bi1lbGVtZW50LWJvcmRlci1yYWRpdXM7XG5cbiAgICAgICAgJi0tc3BlY2lhbCB7XG4gICAgICAgICAgICB3aWR0aDogJGRhaWx5ZGVhbF9jb3VudGRvd24tZWxlbWVudC0tc3BlY2lhbC13aWR0aDtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICRkYWlseWRlYWxfY291bnRkb3duLWVsZW1lbnQtLXNwZWNpYWwtYmFja2dyb3VuZDtcbiAgICAgICAgICAgIHotaW5kZXg6IDU7XG4gICAgICAgIH1cblxuICAgICAgICAjeyRyb290fS0tdGVhc2VyICYge1xuICAgICAgICAgICAgbWluLWhlaWdodDogJGRhaWx5LWRlYWwtdGVhc2VyX3Byb2R1Y3QtZGQtY291bnRlci1taW4taGVpZ2h0O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fY291bnRkb3duLWljb24ge1xuICAgICAgICB3aWR0aDogJGRhaWx5ZGVhbF9jb3VudGRvd24taWNvbi13aWR0aDtcbiAgICAgICAgaGVpZ2h0OiAkZGFpbHlkZWFsX2NvdW50ZG93bi1pY29uLWhlaWdodDtcbiAgICAgICAgZmlsbDogJGRhaWx5ZGVhbF9jb3VudGRvd24taWNvbi1maWxsO1xuICAgIH1cblxuICAgICZfX2NvdW50ZG93bi12YWx1ZSB7XG4gICAgICAgIGRpc3BsYXk6ICRkYWlseWRlYWxfY291bnRkb3duLXZhbHVlLWRpc3BsYXk7XG4gICAgICAgIGZvbnQtc2l6ZTogJGRhaWx5ZGVhbF9jb3VudGRvd24tdmFsdWUtZm9udC1zaXplO1xuICAgICAgICBmb250LXdlaWdodDogJGRhaWx5ZGVhbF9jb3VudGRvd24tdmFsdWUtZm9udC13ZWlnaHQ7XG4gICAgICAgIGNvbG9yOiAkZGFpbHlkZWFsX2NvdW50ZG93bi12YWx1ZS1jb2xvcjtcbiAgICAgICAgcGFkZGluZzogJGRhaWx5ZGVhbF9jb3VudGRvd24tdmFsdWUtcGFkZGluZztcbiAgICB9XG5cbiAgICAmX19jb3VudGRvd24tbGFiZWwge1xuICAgICAgICBkaXNwbGF5OiAkZGFpbHlkZWFsX2NvdW50ZG93bi1sYWJlbC1kaXNwbGF5O1xuICAgICAgICBmb250LXNpemU6ICRkYWlseWRlYWxfY291bnRkb3duLWxhYmVsLWZvbnQtc2l6ZTtcbiAgICAgICAgZm9udC13ZWlnaHQ6ICRkYWlseWRlYWxfY291bnRkb3duLWxhYmVsLWZvbnQtd2VpZ2h0O1xuICAgICAgICBjb2xvcjogJGRhaWx5ZGVhbF9jb3VudGRvd24tbGFiZWwtY29sb3I7XG4gICAgICAgIHBhZGRpbmc6ICRkYWlseWRlYWxfY291bnRkb3duLWxhYmVsLXBhZGRpbmc7XG4gICAgfVxuXG4gICAgJi0tdGlsZSB7XG4gICAgICAgIHBvc2l0aW9uOiAkZGFpbHlkZWFsLS10aWxlLXBvc2l0aW9uO1xuICAgICAgICBsZWZ0OiAkZGFpbHlkZWFsLS10aWxlLWxlZnQ7XG4gICAgICAgIGJvdHRvbTogJGRhaWx5ZGVhbC0tdGlsZS1ib3R0b207XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICB6LWluZGV4OiAzO1xuXG4gICAgICAgICN7JHJvb3R9X19hdmFpbGFiaWxpdHkge1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgYmFja2dyb3VuZDogJGRhaWx5ZGVhbC0tdGlsZS1hdmFpbGFiaWxpdHktYmFja2dyb3VuZDtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogJGRhaWx5ZGVhbC0tdGlsZS1hdmFpbGFiaWxpdHktZm9udC1zaXplO1xuICAgICAgICAgICAgY29sb3I6ICRkYWlseWRlYWwtLXRpbGUtYXZhaWxhYmlsaXR5LWNvbG9yO1xuICAgICAgICAgICAgcGFkZGluZzogJGRhaWx5ZGVhbC0tdGlsZS1hdmFpbGFiaWxpdHktcGFkZGluZztcbiAgICAgICAgICAgIHotaW5kZXg6IDQ7XG4gICAgICAgICAgICBmb250LXdlaWdodDogJGRhaWx5ZGVhbC0tdGlsZS1hdmFpbGFiaWxpdHktZm9udC13ZWlnaHQ7XG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiAkZGFpbHlkZWFsLS10aWxlLWF2YWlsYWJpbGl0eS1ib3JkZXItcmFkaXVzO1xuICAgICAgICB9XG5cbiAgICAgICAgQGlmICgkZGFpbHlkZWFsX2Z1bGwtY291bnRlci1saWdodGVyLXZlcnNpb24tYnJlYWtwb2ludCkge1xuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoXG4gICAgICAgICAgICAgICAgJGRhaWx5ZGVhbF9mdWxsLWNvdW50ZXItbGlnaHRlci12ZXJzaW9uLWJyZWFrcG9pbnQuLi5cbiAgICAgICAgICAgICkge1xuICAgICAgICAgICAgICAgICN7JHJvb3R9X19jb3VudGRvd24tZWxlbWVudCB7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XG5cbiAgICAgICAgICAgICAgICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICY6bm90KDpvbmx5LWNoaWxkKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICN7JHJvb3R9X19jb3VudGRvd24tdmFsdWUge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb250ZW50OiBub25lO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgICYtLXNwZWNpYWwge1xuICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAmOm5vdCguY3MtZGFpbHlkZWFsX19jb3VudGRvd24tZWxlbWVudC0tc3BlY2lhbCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAgICAgJjpudGgtY2hpbGQoMikge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMS44cmVtO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAtMXJlbSAhaW1wb3J0YW50O1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDAuOHJlbTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiAwXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRkYWlseWRlYWxfY291bnRkb3duLWVsZW1lbnQtYm9yZGVyLXJhZGl1c1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZGFpbHlkZWFsX2NvdW50ZG93bi1lbGVtZW50LWJvcmRlci1yYWRpdXMgMDtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICN7JHJvb3R9X19jb3VudGRvd24tdmFsdWUge1xuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDEuM3JlbTtcblxuICAgICAgICAgICAgICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6ICc6JztcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICN7JHJvb3R9X19jb3VudGRvd24tbGFiZWwge1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8vIFBEUFxuICAgICZfX2JhZGdlLXBkcC1pY29uIHtcbiAgICAgICAgd2lkdGg6ICRkYWlseWRlYWxfcGRwLWJhZGdlLWljb24td2lkdGg7XG4gICAgICAgIGhlaWdodDogJGRhaWx5ZGVhbF9wZHAtYmFkZ2UtaWNvbi1oZWlnaHQ7XG4gICAgICAgIHotaW5kZXg6IDEwO1xuICAgICAgICBmaWxsOiAkZGFpbHlkZWFsX3BkcC1iYWRnZS1pY29uLWZpbGwtY29sb3I7XG4gICAgfVxufVxuIiwiLyoqXG4gKiBCcmVha3BvaW50IGNvbXBvbmVudCB1c2VkIGJ5IGluY2x1ZGUtbWVkaWEgdmVuZG9yIGxpYnJhcnkuXG4gKi9cbkB1c2UgJ3Nhc3M6bWFwJztcbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuLyoqXG4gKiBCcmVha3BvaW50IGNvbXBvbmVudCB1c2VkIGJ5IGluY2x1ZGUtbWVkaWEgdmVuZG9yIGxpYnJhcnkuXG4gKi9cbkB1c2UgJ3Nhc3M6bWFwJztcbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuQG1lZGlhIChtYXgtd2lkdGg6IDQ3Ljk5ZW0pIHtcbiAgLmNzLWRpc3BsYXktY29udHJvbGxlci0taGlkZGVuLW1vYmlsZSB7XG4gICAgZGlzcGxheTogbm9uZTsgfSB9XG5cbkBtZWRpYSAobWluLXdpZHRoOiA0OGVtKSB7XG4gIC5jcy1kaXNwbGF5LWNvbnRyb2xsZXItLWhpZGRlbi1kZXNrdG9wIHtcbiAgICBkaXNwbGF5OiBub25lOyB9IH1cbiIsIkBpbXBvcnQgJ2NvbmZpZy92YXJpYWJsZXMnO1xuQGltcG9ydCAndmVuZG9ycy9pbmNsdWRlLW1lZGlhJztcblxuLiN7JG5zfWRpc3BsYXktY29udHJvbGxlciB7XG4gICAgJi0taGlkZGVuLW1vYmlsZSB7XG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCc8dGFibGV0Jykge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICYtLWhpZGRlbi1kZXNrdG9wIHtcbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz49dGFibGV0Jykge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG5AdXNlICdzYXNzOm1hcCc7XG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG4vKipcbiogRGVmYXVsdCBwcm9qZWN0IGJyZWFrcG9pbnRzIC0gW2VtXVxuKi9cbi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG5AdXNlICdzYXNzOm1hcCc7XG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG4vKipcbiogRGVmYXVsdCBwcm9qZWN0IGJyZWFrcG9pbnRzIC0gW2VtXVxuKi9cbi8qKipcbiAqIFJlbW92ZSBicm93c2VyJ3MgbWFyZ2lucywgcGFkZGluZ3MgYW5kIGxpc3Qgc3R5bGUgcnVsZXNcbiAqL1xuLyoqXG4gKiBCcmVha3BvaW50IGNvbXBvbmVudCB1c2VkIGJ5IGluY2x1ZGUtbWVkaWEgdmVuZG9yIGxpYnJhcnkuXG4gKi9cbkB1c2UgJ3Nhc3M6bWFwJztcbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuLyogc3R5bGVsaW50LWRpc2FibGUgYmxvY2stbm8tZW1wdHkgKi9cbi8qIHN0eWxlbGludC1lbmFibGUgKi9cbi5jcy1kcm9wZG93bi1zd2l0Y2hlciB7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgd2lkdGg6IDEwMCU7IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAuY3MtZHJvcGRvd24tc3dpdGNoZXIge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgZmxleC1zaHJpbms6IDA7IH1cbiAgICAgIC5jcy1kcm9wZG93bi1zd2l0Y2hlcjpiZWZvcmUge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICBsZWZ0OiAxLjNyZW07XG4gICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICBib3JkZXItbGVmdDogMC4ycmVtIHNvbGlkICNmZmY7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrOyB9IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAuY3MtZHJvcGRvd24tc3dpdGNoZXItLXN0b3JlczpiZWZvcmUge1xuICAgICAgZGlzcGxheTogbm9uZTsgfSB9XG4gIC5jcy1kcm9wZG93bi1zd2l0Y2hlcl9fb3B0aW9uLWljb24ge1xuICAgIG1pbi13aWR0aDogMS41cmVtO1xuICAgIGhlaWdodDogMS41cmVtO1xuICAgIG1hcmdpbi1yaWdodDogMC42cmVtO1xuICAgIG1hcmdpbi1ib3R0b206IDAuMnJlbTtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgLmNzLWRyb3Bkb3duLXN3aXRjaGVyLS1sYW5ndWFnZSAuY3MtZHJvcGRvd24tc3dpdGNoZXJfX29wdGlvbi1pY29uIHtcbiAgICAgICAgd2lkdGg6IDEuNXJlbTsgfSB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLmNzLWRyb3Bkb3duLXN3aXRjaGVyIC5zd2l0Y2hlci1vcHRpb25zIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7IH0gfVxuICAuY3MtZHJvcGRvd24tc3dpdGNoZXJfX3RyaWdnZXIge1xuICAgIHBhZGRpbmc6IDIuNHJlbSAycmVtO1xuICAgIGZvbnQtc2l6ZTogMS40cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4ICNkY2RjZGMgc29saWQ7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAgIC5jcy1kcm9wZG93bi1zd2l0Y2hlcl9fdHJpZ2dlcjpiZWZvcmUsIC5jcy1kcm9wZG93bi1zd2l0Y2hlcl9fdHJpZ2dlcjphZnRlciB7XG4gICAgICBjb250ZW50OiAnJztcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogNTAlO1xuICAgICAgd2lkdGg6IDAuN3JlbTtcbiAgICAgIGhlaWdodDogMC4xcmVtO1xuICAgICAgbGVmdDogYXV0bztcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICM3ZTU3YzI7XG4gICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4xNXMgbGluZWFyLCByaWdodCAwLjE1cyBsaW5lYXIsIGJhY2tncm91bmQtY29sb3IgMC4xNXMgbGluZWFyO1xuICAgICAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuOyB9XG4gICAgLmNzLWRyb3Bkb3duLXN3aXRjaGVyX190cmlnZ2VyOmJlZm9yZSB7XG4gICAgICB0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZykgdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgICByaWdodDogM3JlbTsgfVxuICAgIC5jcy1kcm9wZG93bi1zd2l0Y2hlcl9fdHJpZ2dlcjphZnRlciB7XG4gICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpIHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgICAgcmlnaHQ6IDIuNXJlbTsgfVxuICAgIC5jcy1kcm9wZG93bi1zd2l0Y2hlcl9fdHJpZ2dlci5hY3RpdmU6YmVmb3JlIHtcbiAgICAgIHRyYW5zZm9ybTogcm90YXRlKC00NWRlZyk7IH1cbiAgICAuY3MtZHJvcGRvd24tc3dpdGNoZXJfX3RyaWdnZXIuYWN0aXZlOmFmdGVyIHtcbiAgICAgIHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTsgfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAuY3MtZHJvcGRvd24tc3dpdGNoZXJfX3RyaWdnZXIge1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBtYXJnaW4tbGVmdDogMnJlbTtcbiAgICAgICAgZm9udC1zaXplOiAxLjFyZW07XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICAgIHBhZGRpbmc6IDAgMS41cmVtIDAgMDtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gICAgICAgIC5jcy1kcm9wZG93bi1zd2l0Y2hlcl9fdHJpZ2dlcjpiZWZvcmUsIC5jcy1kcm9wZG93bi1zd2l0Y2hlcl9fdHJpZ2dlcjphZnRlciB7XG4gICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgIHRvcDogNTAlO1xuICAgICAgICAgIHdpZHRoOiAwLjdyZW07XG4gICAgICAgICAgaGVpZ2h0OiAwLjFyZW07XG4gICAgICAgICAgbGVmdDogYXV0bztcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDAwO1xuICAgICAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjE1cyBsaW5lYXIsIHJpZ2h0IDAuMTVzIGxpbmVhciwgYmFja2dyb3VuZC1jb2xvciAwLjE1cyBsaW5lYXI7XG4gICAgICAgICAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuOyB9XG4gICAgICAgIC5jcy1kcm9wZG93bi1zd2l0Y2hlcl9fdHJpZ2dlcjpiZWZvcmUge1xuICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKSB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICAgICAgICByaWdodDogMC41cmVtOyB9XG4gICAgICAgIC5jcy1kcm9wZG93bi1zd2l0Y2hlcl9fdHJpZ2dlcjphZnRlciB7XG4gICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKSB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICAgICAgICByaWdodDogMDsgfVxuICAgICAgICAuY3MtZHJvcGRvd24tc3dpdGNoZXJfX3RyaWdnZXIuYWN0aXZlOmJlZm9yZSB7XG4gICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTsgfVxuICAgICAgICAuY3MtZHJvcGRvd24tc3dpdGNoZXJfX3RyaWdnZXIuYWN0aXZlOmFmdGVyIHtcbiAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7IH0gfVxuICAgIC5hY3RpdmUgLmNzLWRyb3Bkb3duLXN3aXRjaGVyX190cmlnZ2VyIHtcbiAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogM3B4O1xuICAgICAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDNweDtcbiAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgICBAbWVkaWEgKG1heC13aWR0aDogNjMuOTllbSkge1xuICAgICAgICAuYWN0aXZlIC5jcy1kcm9wZG93bi1zd2l0Y2hlcl9fdHJpZ2dlciB7XG4gICAgICAgICAgcGFkZGluZzogMi40cmVtIDJyZW07XG4gICAgICAgICAgYm9yZGVyLXN0eWxlOiBub25lOyB9IH1cbiAgICAuY3MtZHJvcGRvd24tc3dpdGNoZXJfX3RyaWdnZXItc3BhbiB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsgfVxuICAuY3MtZHJvcGRvd24tc3dpdGNoZXJfX2xpc3Qge1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIGZvbnQtc2l6ZTogMS4xcmVtO1xuICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDNweDtcbiAgICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogM3B4O1xuICAgIGJvcmRlci1jb2xvcjogI2YwZjBmMDtcbiAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci13aWR0aDogMCAxcHggMXB4O1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgIC5jcy1kcm9wZG93bi1zd2l0Y2hlcl9fbGlzdCB7XG4gICAgICAgIGJhY2tncm91bmQ6ICNmZmY7XG4gICAgICAgIG1pbi13aWR0aDogMTAwJTtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDEwMCU7XG4gICAgICAgIHJpZ2h0OiAtMXJlbTtcbiAgICAgICAgbGVmdDogMXJlbTsgfSB9XG4gICAgLmNzLWRyb3Bkb3duLXN3aXRjaGVyX19saXN0IC5jcy1kcm9wZG93bi1zd2l0Y2hlci0tY3VycmVuY3kge1xuICAgICAgcmlnaHQ6IC0xcmVtOyB9XG4gICAgLmFjdGl2ZSAuY3MtZHJvcGRvd24tc3dpdGNoZXJfX2xpc3Qge1xuICAgICAgZGlzcGxheTogYmxvY2s7IH1cbiAgICAuY3MtZHJvcGRvd24tc3dpdGNoZXJfX2xpc3QtaXRlbSB7XG4gICAgICBtYXJnaW46IDA7XG4gICAgICB3aGl0ZS1zcGFjZTogbm93cmFwOyB9XG4gICAgLmNzLWRyb3Bkb3duLXN3aXRjaGVyX19saXN0LWl0ZW0tbGluayB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGNvbG9yOiAjNDU1YTY0ICFpbXBvcnRhbnQ7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsgfVxuICAgICAgLmNzLWRyb3Bkb3duLXN3aXRjaGVyX19saXN0LWl0ZW0tbGluazpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmMGYwZjA7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfVxuICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IDYzLjk5ZW0pIHtcbiAgICAgICAgLmNzLWRyb3Bkb3duLXN3aXRjaGVyX19saXN0LWl0ZW0tbGluayB7XG4gICAgICAgICAgcGFkZGluZzogMS40cmVtIDJyZW07XG4gICAgICAgICAgZm9udC1zaXplOiAxLjRyZW07IH0gfVxuICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgICAgLmNzLWRyb3Bkb3duLXN3aXRjaGVyX19saXN0LWl0ZW0tbGluayB7XG4gICAgICAgICAgcGFkZGluZzogMC42cmVtIDEuOHJlbTtcbiAgICAgICAgICBmb250LXNpemU6IDEuMXJlbTsgfSB9XG4iLCIvKiBzdHlsZWxpbnQtZGlzYWJsZSBibG9jay1uby1lbXB0eSAqL1xuQG1peGluIHBzZXVkb2ljb25fYmVmb3JlLWhvb2soJHR5cGUpIHtcbn1cblxuQG1peGluIHBzZXVkb2ljb25fYWZ0ZXItaG9vaygkdHlwZSkge1xufVxuLyogc3R5bGVsaW50LWVuYWJsZSAqL1xuIiwiQGltcG9ydCAnY29uZmlnL3ZhcmlhYmxlcyc7XG5AaW1wb3J0ICd2ZW5kb3JzL2luY2x1ZGUtbWVkaWEnO1xuQGltcG9ydCAndXRpbHMvcmVzZXQtbGlzdC1zdHlsZSc7XG5AaW1wb3J0ICdjb21wb25lbnRzL3BzZXVkb2ljb24vbWl4aW4nO1xuXG4kZHJvcGRvd24tc3dpdGNoZXJfYmFja2dyb3VuZDogdHJhbnNwYXJlbnQgIWRlZmF1bHQ7XG5cbiRkcm9wZG93bi1zd2l0Y2hlcl9vZmZjYW52YXMtYm90dG9tLWJvcmRlcjogMXB4ICRjb2xvcl9ib3JkZXItNTAwIHNvbGlkICFkZWZhdWx0O1xuXG4vLyBPZmZjYW52YXMgdHJpZ2dlciBvcHRpb25zXG4kZHJvcGRvd24tc3dpdGNoZXJfb2ZmY2FudmFzLXRyaWdnZXItZW5hYmxlZDogdHJ1ZSAhZGVmYXVsdDtcbiRkcm9wZG93bi1zd2l0Y2hlcl9vZmZjYW52YXMtdHJpZ2dlci1jb2xvcjogJGNvbG9yX3ByaW1hcnktNTAwICFkZWZhdWx0O1xuJGRyb3Bkb3duLXN3aXRjaGVyX29mZmNhbnZhcy10cmlnZ2VyLWNvbG9yLS1ob3ZlcjogJGRyb3Bkb3duLXN3aXRjaGVyX29mZmNhbnZhcy10cmlnZ2VyLWNvbG9yICFkZWZhdWx0O1xuJGRyb3Bkb3duLXN3aXRjaGVyX29mZmNhbnZhcy10cmlnZ2VyLWNvbG9yLS1hY3RpdmU6ICRkcm9wZG93bi1zd2l0Y2hlcl9vZmZjYW52YXMtdHJpZ2dlci1jb2xvciAhZGVmYXVsdDtcbiRkcm9wZG93bi1zd2l0Y2hlcl9vZmZjYW52YXMtdHJpZ2dlci10eXBlOiAnYXJyb3cnICFkZWZhdWx0O1xuJGRyb3Bkb3duLXN3aXRjaGVyX29mZmNhbnZhcy10cmlnZ2VyLWFycm93LWRlZmF1bHQ6ICdkb3duJyAhZGVmYXVsdDtcbiRkcm9wZG93bi1zd2l0Y2hlcl9vZmZjYW52YXMtdHJpZ2dlci1hcnJvdy1hY3RpdmU6ICd1cCcgIWRlZmF1bHQ7XG4kZHJvcGRvd24tc3dpdGNoZXJfb2ZmY2FudmFzLXRyaWdnZXItd2lkdGg6IDAuN3JlbSAhZGVmYXVsdDtcbiRkcm9wZG93bi1zd2l0Y2hlcl9vZmZjYW52YXMtdHJpZ2dlci1oZWlnaHQ6IDAuMXJlbSAhZGVmYXVsdDtcbiRkcm9wZG93bi1zd2l0Y2hlcl9vZmZjYW52YXMtdHJpZ2dlci1hcnJvdy1vZmZzZXQ6IDNyZW0gIWRlZmF1bHQ7XG4kZHJvcGRvd24tc3dpdGNoZXJfb2ZmY2FudmFzLXRyaWdnZXItcG9zaXRpb24tc2lkZS1vZmZzZXQ6IDIuNXJlbSAhZGVmYXVsdDtcblxuLy8gRHJvcGRvd24gdHJpZ2dlciBvcHRpb25zXG4kZHJvcGRvd24tc3dpdGNoZXJfdHJpZ2dlci1lbmFibGVkOiB0cnVlICFkZWZhdWx0O1xuJGRyb3Bkb3duLXN3aXRjaGVyX3RyaWdnZXItY29sb3I6ICRjb2xvcl9iYWNrZ3JvdW5kLTgwMCAhZGVmYXVsdDtcbiRkcm9wZG93bi1zd2l0Y2hlcl90cmlnZ2VyLWNvbG9yLS1ob3ZlcjogJGRyb3Bkb3duLXN3aXRjaGVyX3RyaWdnZXItY29sb3IgIWRlZmF1bHQ7XG4kZHJvcGRvd24tc3dpdGNoZXJfdHJpZ2dlci1jb2xvci0tYWN0aXZlOiAkZHJvcGRvd24tc3dpdGNoZXJfdHJpZ2dlci1jb2xvciAhZGVmYXVsdDtcbiRkcm9wZG93bi1zd2l0Y2hlcl90cmlnZ2VyLXR5cGU6ICdhcnJvdycgIWRlZmF1bHQ7XG4kZHJvcGRvd24tc3dpdGNoZXJfdHJpZ2dlci1hcnJvdy1kZWZhdWx0OiAnZG93bicgIWRlZmF1bHQ7XG4kZHJvcGRvd24tc3dpdGNoZXJfdHJpZ2dlci1hcnJvdy1hY3RpdmU6ICd1cCcgIWRlZmF1bHQ7XG4kZHJvcGRvd24tc3dpdGNoZXJfdHJpZ2dlci13aWR0aDogMC43cmVtICFkZWZhdWx0O1xuJGRyb3Bkb3duLXN3aXRjaGVyX3RyaWdnZXItaGVpZ2h0OiAwLjFyZW0gIWRlZmF1bHQ7XG4kZHJvcGRvd24tc3dpdGNoZXJfdHJpZ2dlci1hcnJvdy1vZmZzZXQ6IDAuNXJlbSAhZGVmYXVsdDtcbiRkcm9wZG93bi1zd2l0Y2hlcl90cmlnZ2VyLXBvc2l0aW9uLXNpZGUtb2Zmc2V0OiAwICFkZWZhdWx0O1xuXG4kZHJvcGRvd24tc3dpdGNoZXJfbGlzdC1ib3JkZXItY29sb3I6ICRjb2xvcl9ib3JkZXItMjAwICFkZWZhdWx0O1xuJGRyb3Bkb3duLXN3aXRjaGVyX2xpc3QtYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yX2JhY2tncm91bmQtMjAwICFkZWZhdWx0O1xuJGRyb3Bkb3duLXN3aXRjaGVyX2xpc3QtaXRlbS1jb2xvcjogJGNvbG9yX3RleHQtODAwICFkZWZhdWx0O1xuXG4kZHJvcGRvd24tc3dpdGNoZXJfaG92ZXItYmFja2dyb3VuZDogJGNvbG9yX2JhY2tncm91bmQtNTAwICFkZWZhdWx0O1xuXG4kZHJvcGRvd24tc3dpdGNoZXJfdG9wYmFyLXNlcGFyYXRvci1ib3JkZXI6IDAuMnJlbSBzb2xpZCAkY29sb3JfYm9yZGVyLTEwMCAhZGVmYXVsdDtcblxuJGRyb3Bkb3duLXN3aXRjaGVyX2JvcmRlci1yYWRpdXM6IDNweCAhZGVmYXVsdDtcbiRkcm9wZG93bi1zd2l0Y2hlcl9sYW5ndWFnZS1mbGFnLXdpZHRoOiAxLjVyZW0gIWRlZmF1bHQ7XG4kZHJvcGRvd24tc3dpdGNoZXJfbGFuZ3VhZ2UtZmxhZy1oZWlnaHQ6IDEuNXJlbSAhZGVmYXVsdDtcblxuJGRyb3Bkb3duLXN3aXRjaGVyX2ZvbnQtc2l6ZS1wcmltYXJ5OiAxLjRyZW0gIWRlZmF1bHQ7XG4kZHJvcGRvd24tc3dpdGNoZXJfZm9udC1zaXplLXNlY29uZGFyeTogMS4xcmVtICFkZWZhdWx0O1xuXG4uI3skbnN9ZHJvcGRvd24tc3dpdGNoZXIge1xuICAgICRyb290OiAmO1xuXG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgd2lkdGg6IDEwMCU7XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgnPj1sYXB0b3AnKSB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGZsZXgtc2hyaW5rOiAwO1xuXG4gICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgICAgIGxlZnQ6IDEuM3JlbTtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgICAgYm9yZGVyLWxlZnQ6ICRkcm9wZG93bi1zd2l0Y2hlcl90b3BiYXItc2VwYXJhdG9yLWJvcmRlcjtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJi0tc3RvcmVzIHtcbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz49bGFwdG9wJykge1xuICAgICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19vcHRpb24ge1xuICAgICAgICAmLWljb24ge1xuICAgICAgICAgICAgbWluLXdpZHRoOiAkZHJvcGRvd24tc3dpdGNoZXJfbGFuZ3VhZ2UtZmxhZy13aWR0aDtcbiAgICAgICAgICAgIGhlaWdodDogJGRyb3Bkb3duLXN3aXRjaGVyX2xhbmd1YWdlLWZsYWctaGVpZ2h0O1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAwLjZyZW07XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwLjJyZW07XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cbiAgICAgICAgICAgICN7JHJvb3R9LS1sYW5ndWFnZSAmIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPj1sYXB0b3AnKSB7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAkZHJvcGRvd24tc3dpdGNoZXJfbGFuZ3VhZ2UtZmxhZy13aWR0aDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuc3dpdGNoZXItb3B0aW9ucyB7XG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PWxhcHRvcCcpIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX190cmlnZ2VyIHtcbiAgICAgICAgcGFkZGluZzogMi40cmVtIDJyZW07XG4gICAgICAgIGZvbnQtc2l6ZTogJGRyb3Bkb3duLXN3aXRjaGVyX2ZvbnQtc2l6ZS1wcmltYXJ5O1xuICAgICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgICBib3JkZXItYm90dG9tOiAkZHJvcGRvd24tc3dpdGNoZXJfb2ZmY2FudmFzLWJvdHRvbS1ib3JkZXI7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgICBAaWYgJGRyb3Bkb3duLXN3aXRjaGVyX29mZmNhbnZhcy10cmlnZ2VyLWVuYWJsZWQge1xuICAgICAgICAgICAgQGluY2x1ZGUgcHNldWRvaWNvbihcbiAgICAgICAgICAgICAgICAkdHlwZTogJGRyb3Bkb3duLXN3aXRjaGVyX29mZmNhbnZhcy10cmlnZ2VyLXR5cGUsXG4gICAgICAgICAgICAgICAgJGFycm93LWRlZmF1bHQ6XG4gICAgICAgICAgICAgICAgICAgICRkcm9wZG93bi1zd2l0Y2hlcl9vZmZjYW52YXMtdHJpZ2dlci1hcnJvdy1kZWZhdWx0LFxuICAgICAgICAgICAgICAgICRhcnJvdy1hY3RpdmU6ICRkcm9wZG93bi1zd2l0Y2hlcl9vZmZjYW52YXMtdHJpZ2dlci1hcnJvdy1hY3RpdmUsXG4gICAgICAgICAgICAgICAgJHdpZHRoOiAkZHJvcGRvd24tc3dpdGNoZXJfb2ZmY2FudmFzLXRyaWdnZXItd2lkdGgsXG4gICAgICAgICAgICAgICAgJGhlaWdodDogJGRyb3Bkb3duLXN3aXRjaGVyX29mZmNhbnZhcy10cmlnZ2VyLWhlaWdodCxcbiAgICAgICAgICAgICAgICAkYXJyb3ctb2Zmc2V0OiAkZHJvcGRvd24tc3dpdGNoZXJfb2ZmY2FudmFzLXRyaWdnZXItYXJyb3ctb2Zmc2V0LFxuICAgICAgICAgICAgICAgICRwb3NpdGlvbi1zaWRlLW9mZnNldDpcbiAgICAgICAgICAgICAgICAgICAgJGRyb3Bkb3duLXN3aXRjaGVyX29mZmNhbnZhcy10cmlnZ2VyLXBvc2l0aW9uLXNpZGUtb2Zmc2V0LFxuICAgICAgICAgICAgICAgICRjb2xvcjogJGRyb3Bkb3duLXN3aXRjaGVyX29mZmNhbnZhcy10cmlnZ2VyLWNvbG9yLFxuICAgICAgICAgICAgICAgICRjb2xvci1ob3ZlcjogJGRyb3Bkb3duLXN3aXRjaGVyX29mZmNhbnZhcy10cmlnZ2VyLWNvbG9yLS1ob3ZlcixcbiAgICAgICAgICAgICAgICAkY29sb3ItZXhwYW5kZWQ6XG4gICAgICAgICAgICAgICAgICAgICRkcm9wZG93bi1zd2l0Y2hlcl9vZmZjYW52YXMtdHJpZ2dlci1jb2xvci0tYWN0aXZlLFxuICAgICAgICAgICAgICAgICRhY3RpdmUtc2VsZWN0b3I6ICcmLmFjdGl2ZSdcbiAgICAgICAgICAgICk7XG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPj1sYXB0b3AnKSB7XG4gICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogMnJlbTtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogJGRyb3Bkb3duLXN3aXRjaGVyX2ZvbnQtc2l6ZS1zZWNvbmRhcnk7XG4gICAgICAgICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgICAgICAgcGFkZGluZzogMCAxLjVyZW0gMCAwO1xuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogbm9uZTtcblxuICAgICAgICAgICAgQGlmICRkcm9wZG93bi1zd2l0Y2hlcl90cmlnZ2VyLWVuYWJsZWQge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIHBzZXVkb2ljb24oXG4gICAgICAgICAgICAgICAgICAgICR0eXBlOiAkZHJvcGRvd24tc3dpdGNoZXJfdHJpZ2dlci10eXBlLFxuICAgICAgICAgICAgICAgICAgICAkYXJyb3ctZGVmYXVsdDogJGRyb3Bkb3duLXN3aXRjaGVyX3RyaWdnZXItYXJyb3ctZGVmYXVsdCxcbiAgICAgICAgICAgICAgICAgICAgJGFycm93LWFjdGl2ZTogJGRyb3Bkb3duLXN3aXRjaGVyX3RyaWdnZXItYXJyb3ctYWN0aXZlLFxuICAgICAgICAgICAgICAgICAgICAkd2lkdGg6ICRkcm9wZG93bi1zd2l0Y2hlcl90cmlnZ2VyLXdpZHRoLFxuICAgICAgICAgICAgICAgICAgICAkaGVpZ2h0OiAkZHJvcGRvd24tc3dpdGNoZXJfdHJpZ2dlci1oZWlnaHQsXG4gICAgICAgICAgICAgICAgICAgICRhcnJvdy1vZmZzZXQ6ICRkcm9wZG93bi1zd2l0Y2hlcl90cmlnZ2VyLWFycm93LW9mZnNldCxcbiAgICAgICAgICAgICAgICAgICAgJHBvc2l0aW9uLXNpZGUtb2Zmc2V0OlxuICAgICAgICAgICAgICAgICAgICAgICAgJGRyb3Bkb3duLXN3aXRjaGVyX3RyaWdnZXItcG9zaXRpb24tc2lkZS1vZmZzZXQsXG4gICAgICAgICAgICAgICAgICAgICRjb2xvcjogJGRyb3Bkb3duLXN3aXRjaGVyX3RyaWdnZXItY29sb3IsXG4gICAgICAgICAgICAgICAgICAgICRjb2xvci1ob3ZlcjogJGRyb3Bkb3duLXN3aXRjaGVyLXRyaWdnZXItY29sb3ItLWhvdmVyLFxuICAgICAgICAgICAgICAgICAgICAkY29sb3ItZXhwYW5kZWQ6ICRkcm9wZG93bi1zd2l0Y2hlcl90cmlnZ2VyLWNvbG9yLS1hY3RpdmUsXG4gICAgICAgICAgICAgICAgICAgICRhY3RpdmUtc2VsZWN0b3I6ICcmLmFjdGl2ZSdcbiAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgfSBAZWxzZSB7XG4gICAgICAgICAgICAgICAgJjpiZWZvcmUsXG4gICAgICAgICAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLmFjdGl2ZSAmIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICRkcm9wZG93bi1zd2l0Y2hlcl9iYWNrZ3JvdW5kO1xuICAgICAgICAgICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogJGRyb3Bkb3duLXN3aXRjaGVyX2JvcmRlci1yYWRpdXM7XG4gICAgICAgICAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogJGRyb3Bkb3duLXN3aXRjaGVyX2JvcmRlci1yYWRpdXM7XG4gICAgICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcblxuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJzxsYXB0b3AnKSB7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogMi40cmVtIDJyZW07XG4gICAgICAgICAgICAgICAgYm9yZGVyLXN0eWxlOiBub25lO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJi1zcGFuIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fbGlzdCB7XG4gICAgICAgIEBpbmNsdWRlIHJlc2V0LWxpc3Qtc3R5bGUoKTtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICAgICAgZm9udC1zaXplOiAkZHJvcGRvd24tc3dpdGNoZXJfZm9udC1zaXplLXNlY29uZGFyeTtcbiAgICAgICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogJGRyb3Bkb3duLXN3aXRjaGVyX2JvcmRlci1yYWRpdXM7XG4gICAgICAgIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAkZHJvcGRvd24tc3dpdGNoZXJfYm9yZGVyLXJhZGl1cztcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAkZHJvcGRvd24tc3dpdGNoZXJfbGlzdC1ib3JkZXItY29sb3I7XG4gICAgICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgICAgIGJvcmRlci13aWR0aDogMCAxcHggMXB4O1xuICAgICAgICB3aWR0aDogMTAwJTtcblxuICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPj1sYXB0b3AnKSB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAkZHJvcGRvd24tc3dpdGNoZXJfbGlzdC1iYWNrZ3JvdW5kLWNvbG9yO1xuICAgICAgICAgICAgbWluLXdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgdG9wOiAxMDAlO1xuICAgICAgICAgICAgcmlnaHQ6IC0xcmVtO1xuICAgICAgICAgICAgbGVmdDogMXJlbTtcbiAgICAgICAgfVxuXG4gICAgICAgICN7JHJvb3R9LS1jdXJyZW5jeSB7XG4gICAgICAgICAgICByaWdodDogLTFyZW07XG4gICAgICAgIH1cblxuICAgICAgICAuYWN0aXZlICYge1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIH1cblxuICAgICAgICAmLWl0ZW0ge1xuICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICAgICAgfVxuXG4gICAgICAgICYtaXRlbS1saW5rIHtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgY29sb3I6ICRkcm9wZG93bi1zd2l0Y2hlcl9saXN0LWl0ZW0tY29sb3IgIWltcG9ydGFudDtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuXG4gICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZHJvcGRvd24tc3dpdGNoZXJfaG92ZXItYmFja2dyb3VuZDtcbiAgICAgICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKCc8bGFwdG9wJykge1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDEuNHJlbSAycmVtO1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogJGRyb3Bkb3duLXN3aXRjaGVyX2ZvbnQtc2l6ZS1wcmltYXJ5O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPj1sYXB0b3AnKSB7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogMC42cmVtIDEuOHJlbTtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6ICRkcm9wZG93bi1zd2l0Y2hlcl9mb250LXNpemUtc2Vjb25kYXJ5O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuIiwiQGltcG9ydCAnY29uZmlnL3ZhcmlhYmxlcyc7XG5AaW1wb3J0ICdjb21wb25lbnRzL3BzZXVkb2ljb24vaG9vayc7XG5cbiRwc2V1ZG9pY29uLXR5cGU6ICdwbHVzJyAhZGVmYXVsdDsgLy8gcGx1cyAoZGVmYXVsdCkgb3IgYXJyb3dcbi8vIEFuaW1hdGlvbiBmb3IgYXJyb3dzIHdvcmtzIG9ubHkgaWYgZGVmYXVsdCBhbmQgYWN0aXZlIGRpcmVjdGlvbiBhcmUgb3Bwb3NpdGVcbiRwc2V1ZG9pY29uLWFuaW1hdGU6IHRydWUgIWRlZmF1bHQ7XG4kcHNldWRvaWNvbi1hbmltYXRpb24tdGltZTogMC4xNXMgIWRlZmF1bHQ7XG4kcHNldWRvaWNvbi1jb2xvcjogJGNvbG9yX2JvcmRlci03MDAgIWRlZmF1bHQ7XG4kcHNldWRvaWNvbi1ob3Zlci1jb2xvcjogJGNvbG9yX2JvcmRlci03MDAgIWRlZmF1bHQ7XG4kcHNldWRvaWNvbi1leHBhbmRlZC1jb2xvcjogJGNvbG9yX2JvcmRlci03MDAgIWRlZmF1bHQ7XG4kcHNldWRvaWNvbi13aWR0aDogMS4ycmVtICFkZWZhdWx0O1xuJHBzZXVkb2ljb24taGVpZ2h0OiAwLjJyZW0gIWRlZmF1bHQ7XG4kcHNldWRvaWNvbi1wb3NpdGlvbi1zaWRlLW9mZnNldDogJHBhZ2VfZWRnZS1ndXR0ZXIgIWRlZmF1bHQ7XG5cbi8vIEFkZGl0aW9uYWwgc2V0dGluZ3MgZm9yIGFycm93c1xuJHBzZXVkb2ljb24tYXJyb3ctZGVmYXVsdC1kaXJlY3Rpb246ICd1cCcgIWRlZmF1bHQ7XG4kcHNldWRvaWNvbi1hcnJvdy1hY3RpdmUtZGlyZWN0aW9uOiAnZG93bicgIWRlZmF1bHQ7XG4vLyBJbiBzb21lIGNhc2VzIChpdCBkZXBlbmRzIG9uICRwc2V1ZG9pY29uLXdpZHRoL2hlaWdodCB2YWx1ZSksIHdlIG5lZWQgdG8gZml4IG9mZnNldCBmb3IgbGVmdCBwYXJ0IG9mIGljb25cbiRwc2V1ZG9pY29uLWFycm93LWxlZnQtb2Zmc2V0OiBjYWxjKFxuICAgICN7JHBzZXVkb2ljb24tcG9zaXRpb24tc2lkZS1vZmZzZXR9ICsgI3skcHNldWRvaWNvbi13aWR0aH0gLSAjezIgKlxuICAgICAgICAkcHNldWRvaWNvbi1oZWlnaHR9XG4pICFkZWZhdWx0O1xuXG4kcHNldWRvaWNvbi1hY3RpdmUtc2VsZWN0b3I6ICcmW2FyaWEtZXhwYW5kZWQ9XCJ0cnVlXCJdJyAhZGVmYXVsdDtcblxuQG1peGluIHBzZXVkb2ljb24oXG4gICAgJHR5cGU6ICRwc2V1ZG9pY29uLXR5cGUsXG4gICAgJGFuaW1hdGVkOiAkcHNldWRvaWNvbi1hbmltYXRlLFxuICAgICRhbmltYXRpb24tdGltZTogJHBzZXVkb2ljb24tYW5pbWF0aW9uLXRpbWUsXG4gICAgJGNvbG9yOiAkcHNldWRvaWNvbi1jb2xvcixcbiAgICAkY29sb3ItaG92ZXI6ICRwc2V1ZG9pY29uLWhvdmVyLWNvbG9yLFxuICAgICRjb2xvci1leHBhbmRlZDogJHBzZXVkb2ljb24tZXhwYW5kZWQtY29sb3IsXG4gICAgJHdpZHRoOiAkcHNldWRvaWNvbi13aWR0aCxcbiAgICAkaGVpZ2h0OiAkcHNldWRvaWNvbi1oZWlnaHQsXG4gICAgJHBvc2l0aW9uLXNpZGUtb2Zmc2V0OiAkcHNldWRvaWNvbi1wb3NpdGlvbi1zaWRlLW9mZnNldCxcbiAgICAkYXJyb3ctZGVmYXVsdDogJHBzZXVkb2ljb24tYXJyb3ctZGVmYXVsdC1kaXJlY3Rpb24sXG4gICAgJGFycm93LWFjdGl2ZTogJHBzZXVkb2ljb24tYXJyb3ctYWN0aXZlLWRpcmVjdGlvbixcbiAgICAkYXJyb3ctb2Zmc2V0OiAkcHNldWRvaWNvbi1hcnJvdy1sZWZ0LW9mZnNldCxcbiAgICAkYWN0aXZlLXNlbGVjdG9yOiAkcHNldWRvaWNvbi1hY3RpdmUtc2VsZWN0b3Jcbikge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICY6YmVmb3JlLFxuICAgICY6YWZ0ZXIge1xuICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgd2lkdGg6ICR3aWR0aDtcbiAgICAgICAgaGVpZ2h0OiAkaGVpZ2h0O1xuICAgICAgICBsZWZ0OiBhdXRvO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3I7XG5cbiAgICAgICAgQGlmICgkYW5pbWF0ZWQpIHtcbiAgICAgICAgICAgIEBpZiAoJHR5cGUgPT0gJ2Fycm93Jykge1xuICAgICAgICAgICAgICAgIEBpZiAoKCRhcnJvdy1kZWZhdWx0ID09ICd1cCcpIGFuZCAoJGFycm93LWFjdGl2ZSA9PSAnZG93bicpKSBvclxuICAgICAgICAgICAgICAgICAgICAoKCRhcnJvdy1kZWZhdWx0ID09ICdkb3duJykgYW5kICgkYXJyb3ctYWN0aXZlID09ICd1cCcpKSBvclxuICAgICAgICAgICAgICAgICAgICAoXG4gICAgICAgICAgICAgICAgICAgICAgICAoJGFycm93LWRlZmF1bHQgPT0gJ2xlZnQnKSBhbmRcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAoJGFycm93LWFjdGl2ZSA9PSAncmlnaHQnKVxuICAgICAgICAgICAgICAgICAgICApIG9yXG4gICAgICAgICAgICAgICAgICAgICgoJGFycm93LWRlZmF1bHQgPT0gJ3JpZ2h0JykgYW5kICgkYXJyb3ctYWN0aXZlID09ICdsZWZ0JykpXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gJGFuaW1hdGlvbi10aW1lIGxpbmVhcixcbiAgICAgICAgICAgICAgICAgICAgICAgIHJpZ2h0ICRhbmltYXRpb24tdGltZSBsaW5lYXIsXG4gICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yICRhbmltYXRpb24tdGltZSBsaW5lYXI7XG4gICAgICAgICAgICAgICAgfSBAZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgJGFuaW1hdGlvbi10aW1lIGxpbmVhcjtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9IEBlbHNlIHtcbiAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gKDIgKiAkYW5pbWF0aW9uLXRpbWUpIGVhc2Utb3V0LFxuICAgICAgICAgICAgICAgICAgICBvcGFjaXR5ICRhbmltYXRpb24tdGltZSBlYXNlLW91dCxcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvciAkYW5pbWF0aW9uLXRpbWUgbGluZWFyO1xuICAgICAgICAgICAgfVxuICAgICAgICB9IEBlbHNlIHtcbiAgICAgICAgICAgIEBpZiAoJGNvbG9yLWhvdmVyICE9ICRjb2xvcikge1xuICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgJGFuaW1hdGlvbi10aW1lIGxpbmVhcjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICB9XG5cbiAgICBAaWYgKCRjb2xvci1ob3ZlciAhPSAkY29sb3IpIHtcbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAmOmJlZm9yZSxcbiAgICAgICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvci1ob3ZlcjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgICN7JGFjdGl2ZS1zZWxlY3Rvcn0ge1xuICAgICAgICAmOmJlZm9yZSxcbiAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICBAaWYgKCRjb2xvci1leHBhbmRlZCAhPSAkY29sb3IpIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItZXhwYW5kZWQ7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBAaWYgKCR0eXBlID09ICdhcnJvdycpIHtcbiAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgQGlmICgkYXJyb3ctZGVmYXVsdCA9PSAncmlnaHQnKSB7XG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMTM1ZGVnKSB0cmFuc2xhdGUzZCg1MCUsIDAsIDApO1xuICAgICAgICAgICAgICAgIHJpZ2h0OiAkcG9zaXRpb24tc2lkZS1vZmZzZXQ7XG4gICAgICAgICAgICB9IEBlbHNlIGlmICgkYXJyb3ctZGVmYXVsdCA9PSAnZG93bicpIHtcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZykgdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgICAgICAgICAgICAgcmlnaHQ6ICRhcnJvdy1vZmZzZXQ7XG4gICAgICAgICAgICB9IEBlbHNlIGlmICgkYXJyb3ctZGVmYXVsdCA9PSAnbGVmdCcpIHtcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZykgdHJhbnNsYXRlM2QoNTAlLCAtNTAlLCAwKTtcbiAgICAgICAgICAgICAgICByaWdodDogJGFycm93LW9mZnNldDtcbiAgICAgICAgICAgIH0gQGVsc2UgaWYgKCRhcnJvdy1kZWZhdWx0ID09ICd1cCcpIHtcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpIHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgICAgICAgICAgICAgIHJpZ2h0OiAkYXJyb3ctb2Zmc2V0O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICBAaWYgKCRhcnJvdy1kZWZhdWx0ID09ICdyaWdodCcpIHtcbiAgICAgICAgICAgICAgICByaWdodDogJHBvc2l0aW9uLXNpZGUtb2Zmc2V0O1xuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKC0xMzVkZWcpIHRyYW5zbGF0ZTNkKDUwJSwgMCwgMCk7XG4gICAgICAgICAgICB9IEBlbHNlIGlmICgkYXJyb3ctZGVmYXVsdCA9PSAnZG93bicpIHtcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpIHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgICAgICAgICAgICAgIHJpZ2h0OiAkcG9zaXRpb24tc2lkZS1vZmZzZXQ7XG4gICAgICAgICAgICB9IEBlbHNlIGlmICgkYXJyb3ctZGVmYXVsdCA9PSAnbGVmdCcpIHtcbiAgICAgICAgICAgICAgICByaWdodDogJGFycm93LW9mZnNldDtcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpIHRyYW5zbGF0ZTNkKDUwJSwgNTAlLCAwKTtcbiAgICAgICAgICAgIH0gQGVsc2UgaWYgKCRhcnJvdy1kZWZhdWx0ID09ICd1cCcpIHtcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZykgdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgICAgICAgICAgICAgcmlnaHQ6ICRwb3NpdGlvbi1zaWRlLW9mZnNldDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICN7JGFjdGl2ZS1zZWxlY3Rvcn0ge1xuICAgICAgICAgICAgQGlmICgkYXJyb3ctZGVmYXVsdCA9PSAncmlnaHQnKSB7XG4gICAgICAgICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgICAgICAgICBAaWYgKCRhcnJvdy1hY3RpdmUgPT0gJ2Rvd24nKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgyMjVkZWcpIHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgICAgICAgICAgICAgICAgICAgICAgcmlnaHQ6ICRhcnJvdy1vZmZzZXQ7XG4gICAgICAgICAgICAgICAgICAgIH0gQGVsc2UgaWYgKCRhcnJvdy1hY3RpdmUgPT0gJ2xlZnQnKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZykgdHJhbnNsYXRlM2QoNTAlLCAwLCAwKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJpZ2h0OiAkYXJyb3ctb2Zmc2V0O1xuICAgICAgICAgICAgICAgICAgICB9IEBlbHNlIGlmICgkYXJyb3ctYWN0aXZlID09ICd1cCcpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKSB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJpZ2h0OiAkcG9zaXRpb24tc2lkZS1vZmZzZXQ7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgICAgICAgICAgQGlmICgkYXJyb3ctYWN0aXZlID09ICdkb3duJykge1xuICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKSB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJpZ2h0OiAkcG9zaXRpb24tc2lkZS1vZmZzZXQ7XG4gICAgICAgICAgICAgICAgICAgIH0gQGVsc2UgaWYgKCRhcnJvdy1hY3RpdmUgPT0gJ2xlZnQnKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpIHRyYW5zbGF0ZTNkKDUwJSwgMCwgMCk7XG4gICAgICAgICAgICAgICAgICAgICAgICByaWdodDogJGFycm93LW9mZnNldDtcbiAgICAgICAgICAgICAgICAgICAgfSBAZWxzZSBpZiAoJGFycm93LWFjdGl2ZSA9PSAndXAnKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtMjI1ZGVnKSB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJpZ2h0OiAkYXJyb3ctb2Zmc2V0O1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBAaWYgKCRhcnJvdy1kZWZhdWx0ID09ICdkb3duJykge1xuICAgICAgICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICAgICAgQGlmICgkYXJyb3ctYWN0aXZlID09ICdyaWdodCcpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKC00NWRlZykgdHJhbnNsYXRlM2QoLTUwJSwgMCwgMCk7XG4gICAgICAgICAgICAgICAgICAgICAgICByaWdodDogJHBvc2l0aW9uLXNpZGUtb2Zmc2V0O1xuICAgICAgICAgICAgICAgICAgICB9IEBlbHNlIGlmICgkYXJyb3ctYWN0aXZlID09ICdsZWZ0Jykge1xuICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMTM1ZGVnKSB0cmFuc2xhdGUzZCgtNTAlLCAwLCAwKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJpZ2h0OiAkYXJyb3ctb2Zmc2V0O1xuICAgICAgICAgICAgICAgICAgICB9IEBlbHNlIGlmICgkYXJyb3ctYWN0aXZlID09ICd1cCcpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKC00NWRlZyk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgICAgICAgICAgQGlmICgkYXJyb3ctYWN0aXZlID09ICdyaWdodCcpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKC0xMzVkZWcpIHRyYW5zbGF0ZTNkKDUwJSwgMCwgMCk7XG4gICAgICAgICAgICAgICAgICAgICAgICByaWdodDogJHBvc2l0aW9uLXNpZGUtb2Zmc2V0O1xuICAgICAgICAgICAgICAgICAgICB9IEBlbHNlIGlmICgkYXJyb3ctYWN0aXZlID09ICdsZWZ0Jykge1xuICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpIHRyYW5zbGF0ZTNkKDUwJSwgMCwgMCk7XG4gICAgICAgICAgICAgICAgICAgICAgICByaWdodDogJGFycm93LW9mZnNldDtcbiAgICAgICAgICAgICAgICAgICAgfSBAZWxzZSBpZiAoJGFycm93LWFjdGl2ZSA9PSAndXAnKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIEBpZiAoJGFycm93LWRlZmF1bHQgPT0gJ2xlZnQnKSB7XG4gICAgICAgICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgICAgICAgICBAaWYgKCRhcnJvdy1hY3RpdmUgPT0gJ3JpZ2h0Jykge1xuICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMTM1ZGVnKSB0cmFuc2xhdGUzZCg1MCUsIDAsIDApO1xuICAgICAgICAgICAgICAgICAgICAgICAgcmlnaHQ6ICRwb3NpdGlvbi1zaWRlLW9mZnNldDtcbiAgICAgICAgICAgICAgICAgICAgfSBAZWxzZSBpZiAoJGFycm93LWFjdGl2ZSA9PSAnZG93bicpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKC00NWRlZykgdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgICAgICAgICAgICAgICAgICAgICByaWdodDogJHBvc2l0aW9uLXNpZGUtb2Zmc2V0O1xuICAgICAgICAgICAgICAgICAgICB9IEBlbHNlIGlmICgkYXJyb3ctYWN0aXZlID09ICd1cCcpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDEzNWRlZykgdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgICAgICAgICAgICAgICAgICAgICByaWdodDogJGFycm93LW9mZnNldDtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgICAgICAgICBAaWYgKCRhcnJvdy1hY3RpdmUgPT0gJ3JpZ2h0Jykge1xuICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoLTEzNWRlZykgdHJhbnNsYXRlM2QoNTAlLCAwLCAwKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJpZ2h0OiAkcG9zaXRpb24tc2lkZS1vZmZzZXQ7XG4gICAgICAgICAgICAgICAgICAgIH0gQGVsc2UgaWYgKCRhcnJvdy1hY3RpdmUgPT0gJ2Rvd24nKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtMTM1ZGVnKSB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJpZ2h0OiAkYXJyb3ctb2Zmc2V0O1xuICAgICAgICAgICAgICAgICAgICB9IEBlbHNlIGlmICgkYXJyb3ctYWN0aXZlID09ICd1cCcpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKSB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJpZ2h0OiAkcG9zaXRpb24tc2lkZS1vZmZzZXQ7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIEBpZiAoJGFycm93LWRlZmF1bHQgPT0gJ3VwJykge1xuICAgICAgICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICAgICAgQGlmICgkYXJyb3ctYWN0aXZlID09ICdyaWdodCcpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKSB0cmFuc2xhdGUzZCgtNTAlLCAwLCAwKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJpZ2h0OiAkcG9zaXRpb24tc2lkZS1vZmZzZXQ7XG4gICAgICAgICAgICAgICAgICAgIH0gQGVsc2UgaWYgKCRhcnJvdy1hY3RpdmUgPT0gJ2Rvd24nKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7XG4gICAgICAgICAgICAgICAgICAgIH0gQGVsc2UgaWYgKCRhcnJvdy1hY3RpdmUgPT0gJ2xlZnQnKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtMTM1ZGVnKSB0cmFuc2xhdGUzZCgtNTAlLCAwLCAwKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJpZ2h0OiAkYXJyb3ctb2Zmc2V0O1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICAgICAgICAgIEBpZiAoJGFycm93LWFjdGl2ZSA9PSAncmlnaHQnKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgxMzVkZWcpIHRyYW5zbGF0ZTNkKDUwJSwgMCwgMCk7XG4gICAgICAgICAgICAgICAgICAgIH0gQGVsc2UgaWYgKCRhcnJvdy1hY3RpdmUgPT0gJ2Rvd24nKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpO1xuICAgICAgICAgICAgICAgICAgICB9IEBlbHNlIGlmICgkYXJyb3ctYWN0aXZlID09ICdsZWZ0Jykge1xuICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKSB0cmFuc2xhdGUzZCg1MCUsIDAsIDApO1xuICAgICAgICAgICAgICAgICAgICAgICAgcmlnaHQ6ICRhcnJvdy1vZmZzZXQ7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9IEBlbHNlIHtcbiAgICAgICAgJjpiZWZvcmUsXG4gICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgcmlnaHQ6ICRwb3NpdGlvbi1zaWRlLW9mZnNldDtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTUwJSwgMCkgIWltcG9ydGFudDtcbiAgICAgICAgfVxuXG4gICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtNTAlLCAwKSByb3RhdGUoOTBkZWcpICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cblxuICAgICAgICAjeyRhY3RpdmUtc2VsZWN0b3J9IHtcbiAgICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC01MCUsIDApIHJvdGF0ZSgtOTBkZWcpICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtNTAlLCAwKSByb3RhdGUoMCkgIWltcG9ydGFudDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgICY6YmVmb3JlIHtcbiAgICAgICAgQGluY2x1ZGUgcHNldWRvaWNvbl9iZWZvcmUtaG9vaygkdHlwZSk7XG4gICAgfVxuXG4gICAgJjphZnRlciB7XG4gICAgICAgIEBpbmNsdWRlIHBzZXVkb2ljb25fYWZ0ZXItaG9vaygkdHlwZSk7XG4gICAgfVxufVxuIiwiLyoqXG4gKiBCcmVha3BvaW50IGNvbXBvbmVudCB1c2VkIGJ5IGluY2x1ZGUtbWVkaWEgdmVuZG9yIGxpYnJhcnkuXG4gKi9cbkB1c2UgJ3Nhc3M6bWFwJztcbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuLypcbiAqIEZ1bmN0aW9uIHRvIGdldCB2YWx1ZSBmcm9tIGEgbGlzdCBvZiB2YWx1ZXMsIGJhc2VkIG9uIHNpZGVcbiAqIEBwYXJhbSB7c3RyaW5nfSAkdmFyaWFibGU6IHZhcmlhYmxlIHdpdGggYSBsaXN0IG9mIHZhbHVlcyAobGlrZSBwYWRkaW5ncywgbWFyZ2lucyBldGMuKTtcbiAqIEBwYXJhbSB7c3RyaW5nfSAkc2lkZTogc2lkZSAodXAgLyByaWdodCAvIGRvd24gLyBsZWZ0KSBmb3Igd2hpY2ggd2Ugd2FudCB0byBnZXQgdmFsdWVcbiAqIEV4YW1wbGU6XG4gKiAkY29tcG9uZW50X3BhZGRpbmc6IDFyZW0gMnJlbSAzcmVtO1xuICogZ2V0LXZhbHVlLWZyb20tbGlzdCgkY29tcG9uZW50X3BhZGRpbmcsICdyaWdodCcpIC8vIDJyZW1cbiAqIGdldC12YWx1ZS1mcm9tLWxpc3QoJGNvbXBvbmVudF9wYWRkaW5nLCAnYm90dG9tJykgLy8gM3JlbVxuICovXG4vKiBzdHlsZWxpbnQtZGlzYWJsZSBibG9jay1uby1lbXB0eSAqL1xuLyogc3R5bGVsaW50LWVuYWJsZSAqL1xuLyogc3R5bGVsaW50LWRpc2FibGUgYmxvY2stbm8tZW1wdHkgKi9cbi8qIHN0eWxlbGludC1lbmFibGUgKi9cbi8qIFJhZGlvIGFuZCBjaGVja2JveCBzdHlsaW5nICovXG4vKiBzdHlsZWxpbnQtZGlzYWJsZSBuby1kZXNjZW5kaW5nLXNwZWNpZmljaXR5ICovXG4uY3MtZmllbGQsXG4uY3MtaW5wdXQge1xuICBmb250LXNpemU6IDEuOHJlbTtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB3cmFwO1xuICBhbGlnbi1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBib3JkZXI6IDA7XG4gIHBhZGRpbmc6IDA7XG4gIG1hcmdpbjogMDtcbiAgd2lkdGg6IDEwMCU7IH1cbiAgLmNzLWZpZWxkLl9lZGl0aW5nIC5maWVsZC1lcnJvcixcbiAgLmNzLWlucHV0Ll9lZGl0aW5nIC5maWVsZC1lcnJvciB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuICAuY3MtZmllbGRfX2NvbnRyb2wsXG4gIC5jcy1pbnB1dF9fY29udHJvbCB7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgLmNzLWZpZWxkX19sYWJlbCxcbiAgLmNzLWlucHV0X19sYWJlbCB7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBmb250LXNpemU6IDAuODVlbTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgICBjb2xvcjogaW5oZXJpdDtcbiAgICBwYWRkaW5nLWJvdHRvbTogMC41cmVtOyB9XG4gICAgLnJlcXVpcmVkIC5jcy1maWVsZF9fbGFiZWw6YWZ0ZXIsIC5yZXF1aXJlZFxuICAgIC5jcy1pbnB1dF9fbGFiZWw6YWZ0ZXIge1xuICAgICAgY29udGVudDogJyAqJztcbiAgICAgIGNvbG9yOiAjZTQxZjEyOyB9XG4gIC5jcy1maWVsZF9faW5wdXQsIC5jcy1maWVsZF9fdGV4dGFyZWEsXG4gIC5jcy1pbnB1dF9faW5wdXQsXG4gIC5jcy1pbnB1dF9fdGV4dGFyZWEge1xuICAgIGZvbnQtc2l6ZTogMWVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjI3NWVtO1xuICAgIHBhZGRpbmc6IDAuNzVlbSAxZW07XG4gICAgY29sb3I6ICM0NTVhNjQ7XG4gICAgYmFja2dyb3VuZDogI2ZmZjtcbiAgICBib3JkZXItcmFkaXVzOiAyMDBweDtcbiAgICBib3JkZXI6IDJweCBzb2xpZCAjZGNkY2RjO1xuICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgdHJhbnNpdGlvbjogYm9yZGVyLWNvbG9yIDAuNXM7XG4gICAgbWFyZ2luOiAwIDAgMC4yZW07XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgYmFja2dyb3VuZC1jbGlwOiBwYWRkaW5nLWJveDtcbiAgICBmb250LWZhbWlseTogaW5oZXJpdDsgfVxuICAgIC5jcy1maWVsZF9faW5wdXQ6aG92ZXI6bm90KFtkaXNhYmxlZF0pLCAuY3MtZmllbGRfX2lucHV0OmZvY3VzOm5vdChbZGlzYWJsZWRdKSwgLmNzLWZpZWxkX190ZXh0YXJlYTpob3Zlcjpub3QoW2Rpc2FibGVkXSksIC5jcy1maWVsZF9fdGV4dGFyZWE6Zm9jdXM6bm90KFtkaXNhYmxlZF0pLFxuICAgIC5jcy1pbnB1dF9faW5wdXQ6aG92ZXI6bm90KFtkaXNhYmxlZF0pLFxuICAgIC5jcy1pbnB1dF9faW5wdXQ6Zm9jdXM6bm90KFtkaXNhYmxlZF0pLFxuICAgIC5jcy1pbnB1dF9fdGV4dGFyZWE6aG92ZXI6bm90KFtkaXNhYmxlZF0pLFxuICAgIC5jcy1pbnB1dF9fdGV4dGFyZWE6Zm9jdXM6bm90KFtkaXNhYmxlZF0pIHtcbiAgICAgIGJvcmRlcjogMnB4IHNvbGlkICM3ZTU3YzI7XG4gICAgICBib3gtc2hhZG93OiBub25lOyB9XG4gICAgLmNzLWZpZWxkX19pbnB1dDo6cGxhY2Vob2xkZXIsIC5jcy1maWVsZF9fdGV4dGFyZWE6OnBsYWNlaG9sZGVyLFxuICAgIC5jcy1pbnB1dF9faW5wdXQ6OnBsYWNlaG9sZGVyLFxuICAgIC5jcy1pbnB1dF9fdGV4dGFyZWE6OnBsYWNlaG9sZGVyIHtcbiAgICAgIG9wYWNpdHk6IDE7XG4gICAgICBjb2xvcjogIzg4ODsgfVxuICAgIC5jcy1maWVsZF9faW5wdXRbZGlzYWJsZWRdLCAuY3MtZmllbGRfX3RleHRhcmVhW2Rpc2FibGVkXSxcbiAgICAuY3MtaW5wdXRfX2lucHV0W2Rpc2FibGVkXSxcbiAgICAuY3MtaW5wdXRfX3RleHRhcmVhW2Rpc2FibGVkXSB7XG4gICAgICBvcGFjaXR5OiAwLjY1OyB9XG4gICAgLmNzLWZpZWxkX19pbnB1dC5tYWdlLWVycm9yLCAuY3MtZmllbGRfX2lucHV0Lm1hZ2UtZXJyb3I6aG92ZXI6bm90KDpmb2N1cyksIC5jcy1maWVsZF9fdGV4dGFyZWEubWFnZS1lcnJvciwgLmNzLWZpZWxkX190ZXh0YXJlYS5tYWdlLWVycm9yOmhvdmVyOm5vdCg6Zm9jdXMpLFxuICAgIC5jcy1pbnB1dF9faW5wdXQubWFnZS1lcnJvcixcbiAgICAuY3MtaW5wdXRfX2lucHV0Lm1hZ2UtZXJyb3I6aG92ZXI6bm90KDpmb2N1cyksXG4gICAgLmNzLWlucHV0X190ZXh0YXJlYS5tYWdlLWVycm9yLFxuICAgIC5jcy1pbnB1dF9fdGV4dGFyZWEubWFnZS1lcnJvcjpob3Zlcjpub3QoOmZvY3VzKSB7XG4gICAgICBib3JkZXI6IDJweCBzb2xpZCAjZTQxZjEyOyB9XG4gIC5jcy1maWVsZF9fc2VsZWN0LFxuICAuY3MtaW5wdXRfX3NlbGVjdCB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgZm9udC1zaXplOiAxZW07XG4gICAgbGluZS1oZWlnaHQ6IDEuMjc1ZW07XG4gICAgcGFkZGluZzogMC43NWVtIDFlbTtcbiAgICBwYWRkaW5nLXJpZ2h0OiAyLjNlbTtcbiAgICBjb2xvcjogIzQ1NWE2NDtcbiAgICBib3JkZXItcmFkaXVzOiAyMDBweDtcbiAgICBib3JkZXI6IDJweCBzb2xpZCAjZGNkY2RjO1xuICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbjogMCAwIDAuMmVtO1xuICAgIG91dGxpbmU6IDA7XG4gICAgYXBwZWFyYW5jZTogbm9uZTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PVVURi04LCUzY3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCAxNiA5JyBmaWxsPSclMjNkY2RjZGMnJTNlJTNjcGF0aCBkPSdNMCAxLjJDMCAuNS42IDAgMS4yIDBjLjMgMCAuNi4xLjguM2w2IDUuOSA2LTUuOWMuNS0uNCAxLjItLjMgMS43LjEuNC40LjQgMS4xIDAgMS41TDguOSA4LjdjLS41LjQtMS4yLjQtMS43IDBMLjQgMmEuOS45IDAgMCAxLS40LS44eicvJTNlJTNjL3N2ZyUzZVwiKSwgbGluZWFyLWdyYWRpZW50KDBkZWcsIHRyYW5zcGFyZW50IDAlLCB0cmFuc3BhcmVudCAxMDAlKTtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0LCByZXBlYXQ7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogcmlnaHQgMC44ZW0gdG9wIDUyJSwgMCAwO1xuICAgIGJhY2tncm91bmQtc2l6ZTogMC43ZW0gYXV0bywgMTAwJTtcbiAgICB0cmFuc2l0aW9uOiBib3JkZXItY29sb3IgMC41czsgfVxuICAgIC5jcy1maWVsZF9fc2VsZWN0Oi1tb3otZm9jdXNyaW5nLCAuY3MtZmllbGRfX3NlbGVjdDo6LW1vei1mb2N1cy1pbm5lcixcbiAgICAuY3MtaW5wdXRfX3NlbGVjdDotbW96LWZvY3VzcmluZyxcbiAgICAuY3MtaW5wdXRfX3NlbGVjdDo6LW1vei1mb2N1cy1pbm5lciB7XG4gICAgICBjb2xvcjogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbiAgICAgIHRleHQtc2hhZG93OiAwIDAgMCAjMDAwICFpbXBvcnRhbnQ7IH1cbiAgICAuY3MtZmllbGRfX3NlbGVjdDpob3Zlcjpub3QoW2Rpc2FibGVkXSksIC5jcy1maWVsZF9fc2VsZWN0OmZvY3VzOm5vdChbZGlzYWJsZWRdKSxcbiAgICAuY3MtaW5wdXRfX3NlbGVjdDpob3Zlcjpub3QoW2Rpc2FibGVkXSksXG4gICAgLmNzLWlucHV0X19zZWxlY3Q6Zm9jdXM6bm90KFtkaXNhYmxlZF0pIHtcbiAgICAgIGJvcmRlcjogMnB4IHNvbGlkICM3ZTU3YzI7XG4gICAgICBib3gtc2hhZG93OiBub25lO1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9VVRGLTgsJTNjc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgdmlld0JveD0nMCAwIDE2IDknIGZpbGw9JyUyMzdlNTdjMiclM2UlM2NwYXRoIGQ9J00wIDEuMkMwIC41LjYgMCAxLjIgMGMuMyAwIC42LjEuOC4zbDYgNS45IDYtNS45Yy41LS40IDEuMi0uMyAxLjcuMS40LjQuNCAxLjEgMCAxLjVMOC45IDguN2MtLjUuNC0xLjIuNC0xLjcgMEwuNCAyYS45LjkgMCAwIDEtLjQtLjh6Jy8lM2UlM2Mvc3ZnJTNlXCIpLCBsaW5lYXItZ3JhZGllbnQoMGRlZywgdHJhbnNwYXJlbnQgMCUsIHRyYW5zcGFyZW50IDEwMCUpOyB9XG4gICAgLmNzLWZpZWxkX19zZWxlY3RbZGlzYWJsZWRdLFxuICAgIC5jcy1pbnB1dF9fc2VsZWN0W2Rpc2FibGVkXSB7XG4gICAgICBvcGFjaXR5OiAwLjY1OyB9XG4gICAgLmNzLWZpZWxkX19zZWxlY3Qgb3B0aW9uLFxuICAgIC5jcy1pbnB1dF9fc2VsZWN0IG9wdGlvbiB7XG4gICAgICBmb250LXdlaWdodDogNTAwO1xuICAgICAgcGFkZGluZzogMDtcbiAgICAgIGNvbG9yOiBpbml0aWFsOyB9XG4gIC5jcy1maWVsZF9fcmFkaW8sXG4gIC5jcy1pbnB1dF9fcmFkaW8ge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBoZWlnaHQ6IDFlbTtcbiAgICB3aWR0aDogMWVtO1xuICAgIG1hcmdpbjogLTAuMDYyNWVtIGNhbGMoMC41ZW0gKyAxcHgpIDAgMDtcbiAgICBmb250LXNpemU6IDFlbTtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgYXBwZWFyYW5jZTogbm9uZTtcbiAgICBmbGV4OiAwIDAgYXV0bztcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgYm9yZGVyOiAycHggc29saWQgI2RjZGNkYztcbiAgICBib3gtc2hhZG93OiBub25lO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogNTAlIDUwJTtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IDFlbSAxZW07XG4gICAgb3V0bGluZTogMDtcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjVzLCBib3JkZXItY29sb3IgMC41czsgfVxuICAgIC5jcy1maWVsZF9fcmFkaW86Oi1tb3otZm9jdXMtaW5uZXIsIC5jcy1maWVsZF9fcmFkaW86LW1vei1mb2N1c3JpbmcsXG4gICAgLmNzLWlucHV0X19yYWRpbzo6LW1vei1mb2N1cy1pbm5lcixcbiAgICAuY3MtaW5wdXRfX3JhZGlvOi1tb3otZm9jdXNyaW5nIHtcbiAgICAgIGNvbG9yOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuICAgICAgdGV4dC1zaGFkb3c6IDAgMCAwICMwMDAgIWltcG9ydGFudDsgfVxuICAgIC5jcy1maWVsZF9fcmFkaW86aG92ZXI6bm90KFtkaXNhYmxlZF0pLCAuY3MtZmllbGRfX3JhZGlvOmZvY3VzOm5vdChbZGlzYWJsZWRdKSxcbiAgICAuY3MtaW5wdXRfX3JhZGlvOmhvdmVyOm5vdChbZGlzYWJsZWRdKSxcbiAgICAuY3MtaW5wdXRfX3JhZGlvOmZvY3VzOm5vdChbZGlzYWJsZWRdKSB7XG4gICAgICBib3JkZXI6IDJweCBzb2xpZCAjNGQyYzkxO1xuICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyB9XG4gICAgLmNzLWZpZWxkX19yYWRpbzpjaGVja2VkLFxuICAgIC5jcy1pbnB1dF9fcmFkaW86Y2hlY2tlZCB7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD1VVEYtOCwlM2Nzdmcgd2lkdGg9JzE0JyBoZWlnaHQ9JzE0JyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnJTNlJTNjY2lyY2xlIGZpbGw9JyUyMzdlNTdjMicgcj0nNCcgY3k9JzcnIGN4PSc3Jy8lM2UlM2Mvc3ZnJTNlXCIpOyB9XG4gICAgICAuY3MtZmllbGRfX3JhZGlvOmNoZWNrZWQsIC5jcy1maWVsZF9fcmFkaW86Y2hlY2tlZDpob3ZlciwgLmNzLWZpZWxkX19yYWRpbzpjaGVja2VkOmZvY3VzLFxuICAgICAgLmNzLWlucHV0X19yYWRpbzpjaGVja2VkLFxuICAgICAgLmNzLWlucHV0X19yYWRpbzpjaGVja2VkOmhvdmVyLFxuICAgICAgLmNzLWlucHV0X19yYWRpbzpjaGVja2VkOmZvY3VzIHtcbiAgICAgICAgYm9yZGVyOiAycHggc29saWQgIzdlNTdjMjtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgIGJveC1zaGFkb3c6IG5vbmU7IH1cbiAgICAuY3MtZmllbGRfX3JhZGlvW2Rpc2FibGVkXSxcbiAgICAuY3MtZmllbGRfX3JhZGlvW2Rpc2FibGVkXSArIC5sYWJlbCxcbiAgICAuY3MtZmllbGRfX3JhZGlvW2Rpc2FibGVkXSArIC5jcy1pbnB1dF9fbGFiZWwsXG4gICAgLmNzLWlucHV0X19yYWRpb1tkaXNhYmxlZF0sXG4gICAgLmNzLWlucHV0X19yYWRpb1tkaXNhYmxlZF0gKyAubGFiZWwsXG4gICAgLmNzLWlucHV0X19yYWRpb1tkaXNhYmxlZF0gKyAuY3MtaW5wdXRfX2xhYmVsIHtcbiAgICAgIG9wYWNpdHk6IDAuNjU7IH1cbiAgLmNzLWZpZWxkX19jaGVja2JveCxcbiAgLmNzLWlucHV0X19jaGVja2JveCB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGhlaWdodDogMWVtO1xuICAgIHdpZHRoOiAxZW07XG4gICAgbWFyZ2luOiAtMC4wNjI1ZW0gY2FsYygwLjVlbSArIDFweCkgMCAwO1xuICAgIGZvbnQtc2l6ZTogMWVtO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICBhcHBlYXJhbmNlOiBub25lO1xuICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBib3JkZXI6IDJweCBzb2xpZCAjZGNkY2RjO1xuICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiA1MCUgNTAlO1xuICAgIGJhY2tncm91bmQtc2l6ZTogMWVtIDFlbTtcbiAgICBvdXRsaW5lOiAwO1xuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuNXMsIGJvcmRlci1jb2xvciAwLjVzO1xuICAgIGJvcmRlci1yYWRpdXM6IDdweDtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IDFlbSAxZW07XG4gICAgYm9yZGVyLWNvbG9yOiAjN2U1N2MyOyB9XG4gICAgLmNzLWZpZWxkX19jaGVja2JveDo6LW1vei1mb2N1cy1pbm5lciwgLmNzLWZpZWxkX19jaGVja2JveDotbW96LWZvY3VzcmluZyxcbiAgICAuY3MtaW5wdXRfX2NoZWNrYm94OjotbW96LWZvY3VzLWlubmVyLFxuICAgIC5jcy1pbnB1dF9fY2hlY2tib3g6LW1vei1mb2N1c3Jpbmcge1xuICAgICAgY29sb3I6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG4gICAgICB0ZXh0LXNoYWRvdzogMCAwIDAgIzAwMCAhaW1wb3J0YW50OyB9XG4gICAgLmNzLWZpZWxkX19jaGVja2JveDpob3Zlcjpub3QoW2Rpc2FibGVkXSksIC5jcy1maWVsZF9fY2hlY2tib3g6Zm9jdXM6bm90KFtkaXNhYmxlZF0pLFxuICAgIC5jcy1pbnB1dF9fY2hlY2tib3g6aG92ZXI6bm90KFtkaXNhYmxlZF0pLFxuICAgIC5jcy1pbnB1dF9fY2hlY2tib3g6Zm9jdXM6bm90KFtkaXNhYmxlZF0pIHtcbiAgICAgIGJvcmRlcjogMnB4IHNvbGlkICM0ZDJjOTE7XG4gICAgICBib3gtc2hhZG93OiBub25lO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cbiAgICAuY3MtZmllbGRfX2NoZWNrYm94OmNoZWNrZWQsXG4gICAgLmNzLWlucHV0X19jaGVja2JveDpjaGVja2VkIHtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PVVURi04LCUzY3N2ZyB3aWR0aD0nMTQnIGhlaWdodD0nMTQnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyclM2UlM2NjaXJjbGUgZmlsbD0nJTIzN2U1N2MyJyByPSc0JyBjeT0nNycgY3g9JzcnLyUzZSUzYy9zdmclM2VcIik7IH1cbiAgICAgIC5jcy1maWVsZF9fY2hlY2tib3g6Y2hlY2tlZCwgLmNzLWZpZWxkX19jaGVja2JveDpjaGVja2VkOmhvdmVyLCAuY3MtZmllbGRfX2NoZWNrYm94OmNoZWNrZWQ6Zm9jdXMsXG4gICAgICAuY3MtaW5wdXRfX2NoZWNrYm94OmNoZWNrZWQsXG4gICAgICAuY3MtaW5wdXRfX2NoZWNrYm94OmNoZWNrZWQ6aG92ZXIsXG4gICAgICAuY3MtaW5wdXRfX2NoZWNrYm94OmNoZWNrZWQ6Zm9jdXMge1xuICAgICAgICBib3JkZXI6IDJweCBzb2xpZCAjN2U1N2MyO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgYm94LXNoYWRvdzogbm9uZTsgfVxuICAgIC5jcy1maWVsZF9fY2hlY2tib3hbZGlzYWJsZWRdLFxuICAgIC5jcy1maWVsZF9fY2hlY2tib3hbZGlzYWJsZWRdICsgLmxhYmVsLFxuICAgIC5jcy1maWVsZF9fY2hlY2tib3hbZGlzYWJsZWRdICsgLmNzLWlucHV0X19sYWJlbCxcbiAgICAuY3MtaW5wdXRfX2NoZWNrYm94W2Rpc2FibGVkXSxcbiAgICAuY3MtaW5wdXRfX2NoZWNrYm94W2Rpc2FibGVkXSArIC5sYWJlbCxcbiAgICAuY3MtaW5wdXRfX2NoZWNrYm94W2Rpc2FibGVkXSArIC5jcy1pbnB1dF9fbGFiZWwge1xuICAgICAgb3BhY2l0eTogMC42NTsgfVxuICAgIC5jcy1maWVsZF9fY2hlY2tib3g6Y2hlY2tlZCxcbiAgICAuY3MtaW5wdXRfX2NoZWNrYm94OmNoZWNrZWQge1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9VVRGLTgsJTNjc3ZnIHdpZHRoPScxNCcgaGVpZ2h0PScxNCcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyUzZSUzY3BhdGggZmlsbD0nJTIzN2U1N2MyJyBkPSdNNS4zMTMgMTAuMTA4SDUuMjRhMS4wNjQgMS4wMDUgMCAwIDEtLjc1LS40MWwtMS45NDctMi41NWExLjA2NCAxLjAwNSAwIDAgMSAxLjcyMy0xLjE3NUw1LjQ2MyA3LjU2IDkuMDYgNC4xOWExLjA2NCAxLjAwNSAwIDAgMSAuNzUtLjI5N2guODQ2YTEuMDY0IDEuMDA1IDAgMCAxIDAgMi4wMDRoLS40NUw2LjA2NCA5LjgxYTEuMDY0IDEuMDA1IDAgMCAxLS43NS4yOTh6Jy8lM2UlM2Mvc3ZnJTNlXCIpOyB9XG4gICAgLmNzLWZpZWxkX19jaGVja2JveC5tYWdlLWVycm9yLCAuY3MtZmllbGRfX2NoZWNrYm94Lm1hZ2UtZXJyb3I6aG92ZXI6bm90KDpmb2N1cyksXG4gICAgLmNzLWlucHV0X19jaGVja2JveC5tYWdlLWVycm9yLFxuICAgIC5jcy1pbnB1dF9fY2hlY2tib3gubWFnZS1lcnJvcjpob3Zlcjpub3QoOmZvY3VzKSB7XG4gICAgICBib3JkZXI6IDJweCBzb2xpZCAjZTQxZjEyOyB9XG4gIC5jcy1maWVsZF9faWNvbixcbiAgLmNzLWlucHV0X19pY29uIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgd2lkdGg6IDEuM2VtO1xuICAgIGhlaWdodDogMS4zZW07XG4gICAgcmlnaHQ6IDAuOGVtO1xuICAgIHRvcDogMC44ZW07XG4gICAgZGlzcGxheTogbm9uZTsgfVxuICAuY3MtZmllbGRfX25vdGUsXG4gIC5jcy1pbnB1dF9fbm90ZSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgZm9udC1zaXplOiAwLjg1ZW07XG4gICAgcGFkZGluZzogMC4zZW0gMCAwO1xuICAgIGNvbG9yOiAjNjk2OTY5OyB9XG4gIC5jcy1maWVsZF9fZXJyb3IsXG4gIC5jcy1pbnB1dF9fZXJyb3Ige1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGZvbnQtc2l6ZTogMC44NWVtO1xuICAgIHBhZGRpbmc6IDAuM2VtIDAgMDtcbiAgICBjb2xvcjogIzY5Njk2OTtcbiAgICBjb2xvcjogI2U0MWYxMjsgfVxuXG4uZmllbGQge1xuICBmb250LXNpemU6IDEuOHJlbTtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB3cmFwO1xuICBhbGlnbi1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBib3JkZXI6IDA7XG4gIHBhZGRpbmc6IDA7XG4gIG1hcmdpbjogMDtcbiAgd2lkdGg6IDEwMCU7IH1cbiAgLmZpZWxkLl9lZGl0aW5nIC5maWVsZC1lcnJvciB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuICAuZmllbGQuX3N1Y2Nlc3M6bm90KC5fd2FybikgLmNvbnRyb2wge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAgIC5maWVsZC5fc3VjY2Vzczpub3QoLl93YXJuKSAuY29udHJvbDphZnRlciB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB3aWR0aDogMS4zZW07XG4gICAgICBoZWlnaHQ6IDEuM2VtO1xuICAgICAgcmlnaHQ6IDAuOGVtO1xuICAgICAgdG9wOiAwLjhlbTtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICBiYWNrZ3JvdW5kOiB1cmwoXCIuLi9pbWFnZXMvY2hlY2stZ3JlZW4uc3ZnXCIpIG5vLXJlcGVhdCBjZW50ZXIgY2VudGVyL2NvbnRhaW47XG4gICAgICBjb250ZW50OiAnJzsgfVxuICAuZmllbGQgLmNvbnRyb2wge1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgLmZpZWxkIC5jb250cm9sID4gdGV4dGFyZWEge1xuICAgICAgZm9udC1zaXplOiAxZW07XG4gICAgICBsaW5lLWhlaWdodDogMS4yNzVlbTtcbiAgICAgIHBhZGRpbmc6IDAuNzVlbSAxZW07XG4gICAgICBjb2xvcjogIzQ1NWE2NDtcbiAgICAgIGJhY2tncm91bmQ6ICNmZmY7XG4gICAgICBib3JkZXItcmFkaXVzOiAyMDBweDtcbiAgICAgIGJvcmRlcjogMnB4IHNvbGlkICNkY2RjZGM7XG4gICAgICBib3gtc2hhZG93OiBub25lO1xuICAgICAgdHJhbnNpdGlvbjogYm9yZGVyLWNvbG9yIDAuNXM7XG4gICAgICBtYXJnaW46IDAgMCAwLjJlbTtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgYmFja2dyb3VuZC1jbGlwOiBwYWRkaW5nLWJveDtcbiAgICAgIGZvbnQtZmFtaWx5OiBpbmhlcml0OyB9XG4gICAgICAuZmllbGQgLmNvbnRyb2wgPiB0ZXh0YXJlYTpob3Zlcjpub3QoW2Rpc2FibGVkXSksIC5maWVsZCAuY29udHJvbCA+IHRleHRhcmVhOmZvY3VzOm5vdChbZGlzYWJsZWRdKSB7XG4gICAgICAgIGJvcmRlcjogMnB4IHNvbGlkICM3ZTU3YzI7XG4gICAgICAgIGJveC1zaGFkb3c6IG5vbmU7IH1cbiAgICAgIC5maWVsZCAuY29udHJvbCA+IHRleHRhcmVhOjpwbGFjZWhvbGRlciB7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIGNvbG9yOiAjODg4OyB9XG4gICAgICAuZmllbGQgLmNvbnRyb2wgPiB0ZXh0YXJlYVtkaXNhYmxlZF0ge1xuICAgICAgICBvcGFjaXR5OiAwLjY1OyB9XG4gICAgLmZpZWxkIC5jb250cm9sIC5uZXN0ZWQge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47IH1cbiAgICAgIC5maWVsZCAuY29udHJvbCAubmVzdGVkIC5maWVsZCB7XG4gICAgICAgIG1heC13aWR0aDogNDglOyB9XG4gIC5maWVsZCAubGFiZWwge1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgZm9udC1zaXplOiAwLjg1ZW07XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gICAgY29sb3I6IGluaGVyaXQ7XG4gICAgcGFkZGluZy1ib3R0b206IDAuNXJlbTsgfVxuICAuZmllbGQuY2hvaWNlIGxhYmVsLmxhYmVsIHtcbiAgICB3aWR0aDogYXV0bztcbiAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gIC5maWVsZC5yZXF1aXJlZCA+IC5sYWJlbDphZnRlciwgLmZpZWxkLl9yZXF1aXJlZCA+IC5sYWJlbDphZnRlciB7XG4gICAgY29udGVudDogJyAqJztcbiAgICBjb2xvcjogI2U0MWYxMjsgfVxuICAuZmllbGQucmVxdWlyZWQgLl9yZXF1aXJlZCA+IC5sYWJlbDphZnRlciB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuICAuZmllbGQgLmlucHV0LXRleHQge1xuICAgIGZvbnQtc2l6ZTogMWVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjI3NWVtO1xuICAgIHBhZGRpbmc6IDAuNzVlbSAxZW07XG4gICAgY29sb3I6ICM0NTVhNjQ7XG4gICAgYmFja2dyb3VuZDogI2ZmZjtcbiAgICBib3JkZXItcmFkaXVzOiAyMDBweDtcbiAgICBib3JkZXI6IDJweCBzb2xpZCAjZGNkY2RjO1xuICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgdHJhbnNpdGlvbjogYm9yZGVyLWNvbG9yIDAuNXM7XG4gICAgbWFyZ2luOiAwIDAgMC4yZW07XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgYmFja2dyb3VuZC1jbGlwOiBwYWRkaW5nLWJveDtcbiAgICBmb250LWZhbWlseTogaW5oZXJpdDsgfVxuICAgIC5maWVsZCAuaW5wdXQtdGV4dDpob3Zlcjpub3QoW2Rpc2FibGVkXSksIC5maWVsZCAuaW5wdXQtdGV4dDpmb2N1czpub3QoW2Rpc2FibGVkXSkge1xuICAgICAgYm9yZGVyOiAycHggc29saWQgIzdlNTdjMjtcbiAgICAgIGJveC1zaGFkb3c6IG5vbmU7IH1cbiAgICAuZmllbGQgLmlucHV0LXRleHQ6OnBsYWNlaG9sZGVyIHtcbiAgICAgIG9wYWNpdHk6IDE7XG4gICAgICBjb2xvcjogIzg4ODsgfVxuICAgIC5maWVsZCAuaW5wdXQtdGV4dFtkaXNhYmxlZF0ge1xuICAgICAgb3BhY2l0eTogMC42NTsgfVxuICAgIC5maWVsZCAuaW5wdXQtdGV4dC5tYWdlLWVycm9yLCAuZmllbGQgLmlucHV0LXRleHQubWFnZS1lcnJvcjpob3Zlcjpub3QoOmZvY3VzKSB7XG4gICAgICBib3JkZXI6IDJweCBzb2xpZCAjZTQxZjEyOyB9XG4gICAgLmZpZWxkIC5pbnB1dC10ZXh0LnJlcXVpcmVkLWVudHJ5IHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDFyZW07IH1cbiAgLmZpZWxkIC5zZWxlY3Qge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGZvbnQtc2l6ZTogMWVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjI3NWVtO1xuICAgIHBhZGRpbmc6IDAuNzVlbSAxZW07XG4gICAgcGFkZGluZy1yaWdodDogMi4zZW07XG4gICAgY29sb3I6ICM0NTVhNjQ7XG4gICAgYm9yZGVyLXJhZGl1czogMjAwcHg7XG4gICAgYm9yZGVyOiAycHggc29saWQgI2RjZGNkYztcbiAgICBib3gtc2hhZG93OiBub25lO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICBtYXJnaW46IDAgMCAwLjJlbTtcbiAgICBvdXRsaW5lOiAwO1xuICAgIGFwcGVhcmFuY2U6IG5vbmU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD1VVEYtOCwlM2NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2aWV3Qm94PScwIDAgMTYgOScgZmlsbD0nJTIzZGNkY2RjJyUzZSUzY3BhdGggZD0nTTAgMS4yQzAgLjUuNiAwIDEuMiAwYy4zIDAgLjYuMS44LjNsNiA1LjkgNi01LjljLjUtLjQgMS4yLS4zIDEuNy4xLjQuNC40IDEuMSAwIDEuNUw4LjkgOC43Yy0uNS40LTEuMi40LTEuNyAwTC40IDJhLjkuOSAwIDAgMS0uNC0uOHonLyUzZSUzYy9zdmclM2VcIiksIGxpbmVhci1ncmFkaWVudCgwZGVnLCB0cmFuc3BhcmVudCAwJSwgdHJhbnNwYXJlbnQgMTAwJSk7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdCwgcmVwZWF0O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IHJpZ2h0IDAuOGVtIHRvcCA1MiUsIDAgMDtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IDAuN2VtIGF1dG8sIDEwMCU7XG4gICAgdHJhbnNpdGlvbjogYm9yZGVyLWNvbG9yIDAuNXM7IH1cbiAgICAuZmllbGQgLnNlbGVjdDotbW96LWZvY3VzcmluZywgLmZpZWxkIC5zZWxlY3Q6Oi1tb3otZm9jdXMtaW5uZXIge1xuICAgICAgY29sb3I6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG4gICAgICB0ZXh0LXNoYWRvdzogMCAwIDAgIzAwMCAhaW1wb3J0YW50OyB9XG4gICAgLmZpZWxkIC5zZWxlY3Q6aG92ZXI6bm90KFtkaXNhYmxlZF0pLCAuZmllbGQgLnNlbGVjdDpmb2N1czpub3QoW2Rpc2FibGVkXSkge1xuICAgICAgYm9yZGVyOiAycHggc29saWQgIzdlNTdjMjtcbiAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD1VVEYtOCwlM2NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2aWV3Qm94PScwIDAgMTYgOScgZmlsbD0nJTIzN2U1N2MyJyUzZSUzY3BhdGggZD0nTTAgMS4yQzAgLjUuNiAwIDEuMiAwYy4zIDAgLjYuMS44LjNsNiA1LjkgNi01LjljLjUtLjQgMS4yLS4zIDEuNy4xLjQuNC40IDEuMSAwIDEuNUw4LjkgOC43Yy0uNS40LTEuMi40LTEuNyAwTC40IDJhLjkuOSAwIDAgMS0uNC0uOHonLyUzZSUzYy9zdmclM2VcIiksIGxpbmVhci1ncmFkaWVudCgwZGVnLCB0cmFuc3BhcmVudCAwJSwgdHJhbnNwYXJlbnQgMTAwJSk7IH1cbiAgICAuZmllbGQgLnNlbGVjdFtkaXNhYmxlZF0ge1xuICAgICAgb3BhY2l0eTogMC42NTsgfVxuICAgIC5maWVsZCAuc2VsZWN0IG9wdGlvbiB7XG4gICAgICBmb250LXdlaWdodDogNTAwO1xuICAgICAgcGFkZGluZzogMDtcbiAgICAgIGNvbG9yOiBpbml0aWFsOyB9XG4gIC5maWVsZCAuY2hlY2tib3gge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBoZWlnaHQ6IDFlbTtcbiAgICB3aWR0aDogMWVtO1xuICAgIG1hcmdpbjogLTAuMDYyNWVtIGNhbGMoMC41ZW0gKyAxcHgpIDAgMDtcbiAgICBmb250LXNpemU6IDFlbTtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgYXBwZWFyYW5jZTogbm9uZTtcbiAgICBmbGV4OiAwIDAgYXV0bztcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgYm9yZGVyOiAycHggc29saWQgI2RjZGNkYztcbiAgICBib3gtc2hhZG93OiBub25lO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogNTAlIDUwJTtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IDFlbSAxZW07XG4gICAgb3V0bGluZTogMDtcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjVzLCBib3JkZXItY29sb3IgMC41cztcbiAgICBib3JkZXItcmFkaXVzOiA3cHg7XG4gICAgYmFja2dyb3VuZC1zaXplOiAxZW0gMWVtO1xuICAgIGJvcmRlci1jb2xvcjogIzdlNTdjMjsgfVxuICAgIC5maWVsZCAuY2hlY2tib3g6Oi1tb3otZm9jdXMtaW5uZXIsIC5maWVsZCAuY2hlY2tib3g6LW1vei1mb2N1c3Jpbmcge1xuICAgICAgY29sb3I6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG4gICAgICB0ZXh0LXNoYWRvdzogMCAwIDAgIzAwMCAhaW1wb3J0YW50OyB9XG4gICAgLmZpZWxkIC5jaGVja2JveDpob3Zlcjpub3QoW2Rpc2FibGVkXSksIC5maWVsZCAuY2hlY2tib3g6Zm9jdXM6bm90KFtkaXNhYmxlZF0pIHtcbiAgICAgIGJvcmRlcjogMnB4IHNvbGlkICM0ZDJjOTE7XG4gICAgICBib3gtc2hhZG93OiBub25lO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cbiAgICAuZmllbGQgLmNoZWNrYm94OmNoZWNrZWQge1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9VVRGLTgsJTNjc3ZnIHdpZHRoPScxNCcgaGVpZ2h0PScxNCcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyUzZSUzY2NpcmNsZSBmaWxsPSclMjM3ZTU3YzInIHI9JzQnIGN5PSc3JyBjeD0nNycvJTNlJTNjL3N2ZyUzZVwiKTsgfVxuICAgICAgLmZpZWxkIC5jaGVja2JveDpjaGVja2VkLCAuZmllbGQgLmNoZWNrYm94OmNoZWNrZWQ6aG92ZXIsIC5maWVsZCAuY2hlY2tib3g6Y2hlY2tlZDpmb2N1cyB7XG4gICAgICAgIGJvcmRlcjogMnB4IHNvbGlkICM3ZTU3YzI7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICBib3gtc2hhZG93OiBub25lOyB9XG4gICAgLmZpZWxkIC5jaGVja2JveFtkaXNhYmxlZF0sXG4gICAgLmZpZWxkIC5jaGVja2JveFtkaXNhYmxlZF0gKyAubGFiZWwsXG4gICAgLmZpZWxkIC5jaGVja2JveFtkaXNhYmxlZF0gKyAuY3MtaW5wdXRfX2xhYmVsIHtcbiAgICAgIG9wYWNpdHk6IDAuNjU7IH1cbiAgICAuZmllbGQgLmNoZWNrYm94OmNoZWNrZWQge1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9VVRGLTgsJTNjc3ZnIHdpZHRoPScxNCcgaGVpZ2h0PScxNCcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyUzZSUzY3BhdGggZmlsbD0nJTIzN2U1N2MyJyBkPSdNNS4zMTMgMTAuMTA4SDUuMjRhMS4wNjQgMS4wMDUgMCAwIDEtLjc1LS40MWwtMS45NDctMi41NWExLjA2NCAxLjAwNSAwIDAgMSAxLjcyMy0xLjE3NUw1LjQ2MyA3LjU2IDkuMDYgNC4xOWExLjA2NCAxLjAwNSAwIDAgMSAuNzUtLjI5N2guODQ2YTEuMDY0IDEuMDA1IDAgMCAxIDAgMi4wMDRoLS40NUw2LjA2NCA5LjgxYTEuMDY0IDEuMDA1IDAgMCAxLS43NS4yOTh6Jy8lM2UlM2Mvc3ZnJTNlXCIpOyB9XG4gICAgLmZpZWxkIC5jaGVja2JveC5tYWdlLWVycm9yLCAuZmllbGQgLmNoZWNrYm94Lm1hZ2UtZXJyb3I6aG92ZXI6bm90KDpmb2N1cykge1xuICAgICAgYm9yZGVyOiAycHggc29saWQgI2U0MWYxMjsgfVxuICAuZmllbGQgLnJhZGlvIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgaGVpZ2h0OiAxZW07XG4gICAgd2lkdGg6IDFlbTtcbiAgICBtYXJnaW46IC0wLjA2MjVlbSBjYWxjKDAuNWVtICsgMXB4KSAwIDA7XG4gICAgZm9udC1zaXplOiAxZW07XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgIGFwcGVhcmFuY2U6IG5vbmU7XG4gICAgZmxleDogMCAwIGF1dG87XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIGJvcmRlcjogMnB4IHNvbGlkICNkY2RjZGM7XG4gICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IDUwJSA1MCU7XG4gICAgYmFja2dyb3VuZC1zaXplOiAxZW0gMWVtO1xuICAgIG91dGxpbmU6IDA7XG4gICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC41cywgYm9yZGVyLWNvbG9yIDAuNXM7IH1cbiAgICAuZmllbGQgLnJhZGlvOjotbW96LWZvY3VzLWlubmVyLCAuZmllbGQgLnJhZGlvOi1tb3otZm9jdXNyaW5nIHtcbiAgICAgIGNvbG9yOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuICAgICAgdGV4dC1zaGFkb3c6IDAgMCAwICMwMDAgIWltcG9ydGFudDsgfVxuICAgIC5maWVsZCAucmFkaW86aG92ZXI6bm90KFtkaXNhYmxlZF0pLCAuZmllbGQgLnJhZGlvOmZvY3VzOm5vdChbZGlzYWJsZWRdKSB7XG4gICAgICBib3JkZXI6IDJweCBzb2xpZCAjNGQyYzkxO1xuICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyB9XG4gICAgLmZpZWxkIC5yYWRpbzpjaGVja2VkIHtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PVVURi04LCUzY3N2ZyB3aWR0aD0nMTQnIGhlaWdodD0nMTQnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyclM2UlM2NjaXJjbGUgZmlsbD0nJTIzN2U1N2MyJyByPSc0JyBjeT0nNycgY3g9JzcnLyUzZSUzYy9zdmclM2VcIik7IH1cbiAgICAgIC5maWVsZCAucmFkaW86Y2hlY2tlZCwgLmZpZWxkIC5yYWRpbzpjaGVja2VkOmhvdmVyLCAuZmllbGQgLnJhZGlvOmNoZWNrZWQ6Zm9jdXMge1xuICAgICAgICBib3JkZXI6IDJweCBzb2xpZCAjN2U1N2MyO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgYm94LXNoYWRvdzogbm9uZTsgfVxuICAgIC5maWVsZCAucmFkaW9bZGlzYWJsZWRdLFxuICAgIC5maWVsZCAucmFkaW9bZGlzYWJsZWRdICsgLmxhYmVsLFxuICAgIC5maWVsZCAucmFkaW9bZGlzYWJsZWRdICsgLmNzLWlucHV0X19sYWJlbCB7XG4gICAgICBvcGFjaXR5OiAwLjY1OyB9XG4gIC5maWVsZC5jdXN0b21lci1uYW1lLXByZWZpeCBzZWxlY3Qge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGZvbnQtc2l6ZTogMWVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjI3NWVtO1xuICAgIHBhZGRpbmc6IDAuNzVlbSAxZW07XG4gICAgcGFkZGluZy1yaWdodDogMi4zZW07XG4gICAgY29sb3I6ICM0NTVhNjQ7XG4gICAgYm9yZGVyLXJhZGl1czogMjAwcHg7XG4gICAgYm9yZGVyOiAycHggc29saWQgI2RjZGNkYztcbiAgICBib3gtc2hhZG93OiBub25lO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICBtYXJnaW46IDAgMCAwLjJlbTtcbiAgICBvdXRsaW5lOiAwO1xuICAgIGFwcGVhcmFuY2U6IG5vbmU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD1VVEYtOCwlM2NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2aWV3Qm94PScwIDAgMTYgOScgZmlsbD0nJTIzZGNkY2RjJyUzZSUzY3BhdGggZD0nTTAgMS4yQzAgLjUuNiAwIDEuMiAwYy4zIDAgLjYuMS44LjNsNiA1LjkgNi01LjljLjUtLjQgMS4yLS4zIDEuNy4xLjQuNC40IDEuMSAwIDEuNUw4LjkgOC43Yy0uNS40LTEuMi40LTEuNyAwTC40IDJhLjkuOSAwIDAgMS0uNC0uOHonLyUzZSUzYy9zdmclM2VcIiksIGxpbmVhci1ncmFkaWVudCgwZGVnLCB0cmFuc3BhcmVudCAwJSwgdHJhbnNwYXJlbnQgMTAwJSk7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdCwgcmVwZWF0O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IHJpZ2h0IDAuOGVtIHRvcCA1MiUsIDAgMDtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IDAuN2VtIGF1dG8sIDEwMCU7XG4gICAgdHJhbnNpdGlvbjogYm9yZGVyLWNvbG9yIDAuNXM7IH1cbiAgICAuZmllbGQuY3VzdG9tZXItbmFtZS1wcmVmaXggc2VsZWN0Oi1tb3otZm9jdXNyaW5nLCAuZmllbGQuY3VzdG9tZXItbmFtZS1wcmVmaXggc2VsZWN0OjotbW96LWZvY3VzLWlubmVyIHtcbiAgICAgIGNvbG9yOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuICAgICAgdGV4dC1zaGFkb3c6IDAgMCAwICMwMDAgIWltcG9ydGFudDsgfVxuICAgIC5maWVsZC5jdXN0b21lci1uYW1lLXByZWZpeCBzZWxlY3Q6aG92ZXI6bm90KFtkaXNhYmxlZF0pLCAuZmllbGQuY3VzdG9tZXItbmFtZS1wcmVmaXggc2VsZWN0OmZvY3VzOm5vdChbZGlzYWJsZWRdKSB7XG4gICAgICBib3JkZXI6IDJweCBzb2xpZCAjN2U1N2MyO1xuICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PVVURi04LCUzY3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCAxNiA5JyBmaWxsPSclMjM3ZTU3YzInJTNlJTNjcGF0aCBkPSdNMCAxLjJDMCAuNS42IDAgMS4yIDBjLjMgMCAuNi4xLjguM2w2IDUuOSA2LTUuOWMuNS0uNCAxLjItLjMgMS43LjEuNC40LjQgMS4xIDAgMS41TDguOSA4LjdjLS41LjQtMS4yLjQtMS43IDBMLjQgMmEuOS45IDAgMCAxLS40LS44eicvJTNlJTNjL3N2ZyUzZVwiKSwgbGluZWFyLWdyYWRpZW50KDBkZWcsIHRyYW5zcGFyZW50IDAlLCB0cmFuc3BhcmVudCAxMDAlKTsgfVxuICAgIC5maWVsZC5jdXN0b21lci1uYW1lLXByZWZpeCBzZWxlY3RbZGlzYWJsZWRdIHtcbiAgICAgIG9wYWNpdHk6IDAuNjU7IH1cbiAgICAuZmllbGQuY3VzdG9tZXItbmFtZS1wcmVmaXggc2VsZWN0IG9wdGlvbiB7XG4gICAgICBmb250LXdlaWdodDogNTAwO1xuICAgICAgcGFkZGluZzogMDtcbiAgICAgIGNvbG9yOiBpbml0aWFsOyB9XG4gIC5maWVsZC5maWVsZC1kb2IgaW5wdXQge1xuICAgIGZvbnQtc2l6ZTogMWVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjI3NWVtO1xuICAgIHBhZGRpbmc6IDAuNzVlbSAxZW07XG4gICAgY29sb3I6ICM0NTVhNjQ7XG4gICAgYmFja2dyb3VuZDogI2ZmZjtcbiAgICBib3JkZXItcmFkaXVzOiAyMDBweDtcbiAgICBib3JkZXI6IDJweCBzb2xpZCAjZGNkY2RjO1xuICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgdHJhbnNpdGlvbjogYm9yZGVyLWNvbG9yIDAuNXM7XG4gICAgbWFyZ2luOiAwIDAgMC4yZW07XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgYmFja2dyb3VuZC1jbGlwOiBwYWRkaW5nLWJveDtcbiAgICBmb250LWZhbWlseTogaW5oZXJpdDsgfVxuICAgIC5maWVsZC5maWVsZC1kb2IgaW5wdXQ6aG92ZXI6bm90KFtkaXNhYmxlZF0pLCAuZmllbGQuZmllbGQtZG9iIGlucHV0OmZvY3VzOm5vdChbZGlzYWJsZWRdKSB7XG4gICAgICBib3JkZXI6IDJweCBzb2xpZCAjN2U1N2MyO1xuICAgICAgYm94LXNoYWRvdzogbm9uZTsgfVxuICAgIC5maWVsZC5maWVsZC1kb2IgaW5wdXQ6OnBsYWNlaG9sZGVyIHtcbiAgICAgIG9wYWNpdHk6IDE7XG4gICAgICBjb2xvcjogIzg4ODsgfVxuICAgIC5maWVsZC5maWVsZC1kb2IgaW5wdXRbZGlzYWJsZWRdIHtcbiAgICAgIG9wYWNpdHk6IDAuNjU7IH1cbiAgICAuZmllbGQuZmllbGQtZG9iIGlucHV0Lm1hZ2UtZXJyb3IsIC5maWVsZC5maWVsZC1kb2IgaW5wdXQubWFnZS1lcnJvcjpob3Zlcjpub3QoOmZvY3VzKSB7XG4gICAgICBib3JkZXI6IDJweCBzb2xpZCAjZTQxZjEyOyB9XG4gIC5maWVsZC5maWVsZC1kb2IgYnV0dG9uIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgZm9udC1zaXplOiAxLjhyZW07XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjI3NWVtO1xuICAgIG1hcmdpbjogMDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgICBwYWRkaW5nOiAwLjc1ZW0gMWVtO1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjVzLCBib3JkZXItY29sb3IgMC41cywgZmlsbCAwLjVzLCBjb2xvciAwLjVzO1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgei1pbmRleDogNTsgfVxuICAgIC5maWVsZC5maWVsZC1kb2IgYnV0dG9uOjpiZWZvcmUsIC5maWVsZC5maWVsZC1kb2IgYnV0dG9uOjphZnRlciB7XG4gICAgICBjb250ZW50OiBub25lOyB9XG4gICAgLmZpZWxkLmZpZWxkLWRvYiBidXR0b246Oi1tb3otZm9jdXMtaW5uZXIge1xuICAgICAgYm9yZGVyOiAwO1xuICAgICAgcGFkZGluZzogMDtcbiAgICAgIG1hcmdpbjogMDsgfVxuICAgIC5maWVsZC5maWVsZC1kb2IgYnV0dG9uLCAuZmllbGQuZmllbGQtZG9iIGJ1dHRvbjp2aXNpdGVkIHtcbiAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDIwMHB4O1xuICAgICAgb3V0bGluZS1vZmZzZXQ6IDFweDtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAjN2U1N2MyO1xuICAgICAgY29sb3I6ICM3ZTU3YzI7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmOyB9XG4gICAgICAuZmllbGQuZmllbGQtZG9iIGJ1dHRvbiAqLCAuZmllbGQuZmllbGQtZG9iIGJ1dHRvbjp2aXNpdGVkICoge1xuICAgICAgICBjb2xvcjogIzdlNTdjMjtcbiAgICAgICAgZmlsbDogIzdlNTdjMjsgfVxuICAgIC5maWVsZC5maWVsZC1kb2IgYnV0dG9uOmhvdmVyOm5vdChbZGlzYWJsZWRdKSwgLmZpZWxkLmZpZWxkLWRvYiBidXR0b246Zm9jdXM6bm90KFtkaXNhYmxlZF0pLCAuZmllbGQuZmllbGQtZG9iIGJ1dHRvbjphY3RpdmU6bm90KFtkaXNhYmxlZF0pIHtcbiAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgICBvdXRsaW5lOiBub25lO1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgIzRkMmM5MTtcbiAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzRkMmM5MTsgfVxuICAgICAgLmZpZWxkLmZpZWxkLWRvYiBidXR0b246aG92ZXI6bm90KFtkaXNhYmxlZF0pICosIC5maWVsZC5maWVsZC1kb2IgYnV0dG9uOmZvY3VzOm5vdChbZGlzYWJsZWRdKSAqLCAuZmllbGQuZmllbGQtZG9iIGJ1dHRvbjphY3RpdmU6bm90KFtkaXNhYmxlZF0pICoge1xuICAgICAgICBjb2xvcjogI2ZmZjtcbiAgICAgICAgZmlsbDogI2ZmZjsgfVxuICAgIC5maWVsZC5maWVsZC1kb2IgYnV0dG9uW2Rpc2FibGVkXSB7XG4gICAgICBvcGFjaXR5OiAwLjY1O1xuICAgICAgY3Vyc29yOiBhdXRvOyB9XG4gICAgLmZpZWxkLmZpZWxkLWRvYiBidXR0b24gc3BhbiB7XG4gICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgei1pbmRleDogMTtcbiAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBsaW5lLWhlaWdodDogMS4yNzVlbTtcbiAgICAgIGxldHRlci1zcGFjaW5nOiBub3JtYWw7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiA0ZW07IH1cbiAgLmZpZWxkLl9lcnJvciAuaW5wdXQtdGV4dCwgLmZpZWxkLl9lcnJvciAuaW5wdXQtdGV4dDpob3Zlcjpub3QoOmZvY3VzKSxcbiAgLmZpZWxkLl9lcnJvciAuY2hlY2tib3gsXG4gIC5maWVsZC5fZXJyb3IgLmNoZWNrYm94OmhvdmVyOm5vdCg6Zm9jdXMpIHtcbiAgICBib3JkZXI6IDJweCBzb2xpZCAjZTQxZjEyOyB9XG4gIC5maWVsZCAuY29udHJvbC5fd2l0aC10b29sdGlwIGlucHV0IHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7IH1cbiAgLmZpZWxkIC5maWVsZC10b29sdGlwIHtcbiAgICBwb3NpdGlvbjogc3RhdGljOyB9XG4gICAgLmZpZWxkIC5maWVsZC10b29sdGlwIC5sYWJlbCxcbiAgICAuZmllbGQgLmZpZWxkLXRvb2x0aXAgLmZpZWxkLXRvb2x0aXAtYWN0aW9uIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAuZmllbGQgLmZpZWxkLXRvb2x0aXAgLmZpZWxkLXRvb2x0aXAtY29udGVudCB7XG4gICAgICBwb3NpdGlvbjogc3RhdGljO1xuICAgICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgZm9udC1zaXplOiAwLjg1ZW07XG4gICAgICBwYWRkaW5nOiAwLjNlbSAwIDA7XG4gICAgICBjb2xvcjogIzY5Njk2OTsgfVxuICAgICAgLmZpZWxkIC5maWVsZC10b29sdGlwIC5maWVsZC10b29sdGlwLWNvbnRlbnQ6YmVmb3JlLCAuZmllbGQgLmZpZWxkLXRvb2x0aXAgLmZpZWxkLXRvb2x0aXAtY29udGVudDphZnRlciB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgLmZpZWxkIC5ub3RlIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBmb250LXNpemU6IDAuODVlbTtcbiAgICBwYWRkaW5nOiAwLjNlbSAwIDA7XG4gICAgY29sb3I6ICM2OTY5Njk7IH1cblxuLmZpZWxkOm5vdCguY2hvaWNlKTpub3QoLmxpbWl0ZXIpOm5vdCgudGVybXMpOm5vdCguY3MtcGFnaW5hdGlvbl9fcGFnZS1wcm92aWRlcikge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgLmZpZWxkOm5vdCguY2hvaWNlKTpub3QoLmxpbWl0ZXIpOm5vdCgudGVybXMpOm5vdCguY3MtcGFnaW5hdGlvbl9fcGFnZS1wcm92aWRlcikgLmxhYmVsIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAtMTBweDtcbiAgICBsZWZ0OiAyMHB4O1xuICAgIHotaW5kZXg6IDM7XG4gICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICBwYWRkaW5nOiAwIDVweDtcbiAgICBiYWNrZ3JvdW5kOiB3aGl0ZTtcbiAgICB3aWR0aDogYXV0bzsgfVxuICAgIC5maWVsZDpub3QoLmNob2ljZSk6bm90KC5saW1pdGVyKTpub3QoLnRlcm1zKTpub3QoLmNzLXBhZ2luYXRpb25fX3BhZ2UtcHJvdmlkZXIpIC5sYWJlbCAuZmllbGRzZXQgLmZ1bGxuYW1lIC5maWVsZCAubGFiZWwge1xuICAgICAgcGFkZGluZzogMCA1cHg7XG4gICAgICB3aWR0aDogYXV0byAhaW1wb3J0YW50OyB9XG5cbmlucHV0W25hbWU9XCJmYWt0dXJhX2VsZWt0cm9uaWN6bmFcIl0gKyBsYWJlbCB7XG4gIHRvcDogMnB4ICFpbXBvcnRhbnQ7IH1cblxuLmZpZWxkW25hbWU9XCJhbWFzdHlQYXltZW50QXR0cmlidXRlcy5mYWt0dXJhX2VsZWt0cm9uaWN6bmFcIl0gPiBsYWJlbCB7XG4gIHRvcDogMnB4ICFpbXBvcnRhbnQ7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuLmN1c3RvbWVyLWFkZHJlc3MtZm9ybSAuZmllbGQuc3RyZWV0IC5sYWJlbCB7XG4gIHRvcDogMTBweDsgfVxuXG4uZmllbGQudGVybXMgLmxhYmVsIHtcbiAgdG9wOiAtM3B4ICFpbXBvcnRhbnQ7XG4gIGxlZnQ6IDI0cHggIWltcG9ydGFudDsgfVxuXG4uY3MtZGFzaGJvYXJkIC5maWVsZCB7XG4gIG1hcmdpbi1ib3R0b206IDJyZW0gIWltcG9ydGFudDsgfVxuXG4uZmllbGRzZXQgLmZ1bGxuYW1lIC5maWVsZCAubGFiZWwge1xuICBwYWRkaW5nOiAwIDVweDtcbiAgd2lkdGg6IGF1dG8gIWltcG9ydGFudDsgfVxuXG5kaXYubWFnZS1lcnJvcjpub3QoLl9lZGl0aW5nKSxcbmRpdi5maWVsZC1lcnJvcjpub3QoLl9lZGl0aW5nKSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBmb250LXNpemU6IDAuODVlbTtcbiAgcGFkZGluZzogMC4zZW0gMCAwO1xuICBjb2xvcjogIzY5Njk2OTtcbiAgY29sb3I6ICNlNDFmMTI7IH1cblxuLyogc3R5bGVsaW50LWVuYWJsZSAqL1xuIiwiLyogc3R5bGVsaW50LWRpc2FibGUgYmxvY2stbm8tZW1wdHkgKi9cbkBtaXhpbiBmaWVsZC1ob29rKCkge1xufVxuXG5AbWl4aW4gZmllbGQtZXJyb3ItaG9vaygpIHtcbn1cblxuQG1peGluIGZpZWxkLWxhYmVsLWhvb2soKSB7XG59XG5cbkBtaXhpbiBmaWVsZC1sYWJlbC1yZXF1aXJlZC1ob29rKCkge1xufVxuXG5AbWl4aW4gZmllbGQtY29udHJvbC1ob29rKCkge1xufVxuXG5AbWl4aW4gZmllbGQtaW5wdXQtaG9vaygpIHtcbn1cblxuQG1peGluIGZpZWxkLWlucHV0LWVycm9yLWhvb2soKSB7XG59XG5cbkBtaXhpbiBmaWVsZC1pY29uLWhvb2soJHR5cGU6ICcnKSB7XG59XG5cbkBtaXhpbiBmaWVsZC1ub3RlLWhvb2soKSB7XG59XG5cbkBtaXhpbiBmaWVsZC1lcnJvci1ob29rKCkge1xufVxuXG5AbWl4aW4gZmllbGQtd2FybmluZy1ob29rKCkge1xufVxuXG5AbWl4aW4gZmllbGQtc2VsZWN0LWhvb2soKSB7XG59XG5cbkBtaXhpbiBmaWVsZC1yYWRpby1ob29rKCkge1xufVxuXG5AbWl4aW4gZmllbGQtcmFkaW8tbGFiZWwtaG9vaygpIHtcbn1cblxuQG1peGluIGZpZWxkLWNoZWNrYm94LWhvb2soKSB7XG59XG5cbkBtaXhpbiBmaWVsZC1jaGVja2JveC1sYWJlbC1ob29rKCkge1xufVxuXG5AbWl4aW4gZmllbGQtZG9iLWhvb2soKSB7XG59XG4vKiBzdHlsZWxpbnQtZW5hYmxlICovXG4iLCJAaW1wb3J0ICdjb25maWcvdmFyaWFibGVzJztcbkBpbXBvcnQgJ3V0aWxzL3VyaS1mcmllbmRseS1oZXgnO1xuQGltcG9ydCAnY29tcG9uZW50cy9idXR0b24vbWl4aW4nO1xuQGltcG9ydCAnY29tcG9uZW50cy9maWVsZC9ob29rJztcblxuJGZpZWxkX2ZvbnQtc2l6ZTogMS44cmVtICFkZWZhdWx0O1xuJGZpZWxkX3RyYW5zaXRpb24tdGltZTogMC41cyAhZGVmYXVsdDtcblxuJGZpZWxkX2xhYmVsLWZvbnQtd2VpZ2h0OiA3MDAgIWRlZmF1bHQ7XG4kZmllbGRfbGFiZWwtZm9udC1zaXplOiAwLjg1ZW0gIWRlZmF1bHQ7XG4kZmllbGRfbGFiZWwtY29sb3I6IGluaGVyaXQgIWRlZmF1bHQ7XG4kZmllbGRfbGFiZWwtdGV4dC10cmFuc2Zvcm06IG5vbmUgIWRlZmF1bHQ7XG4kZmllbGRfbGFiZWwtcGFkZGluZy1ib3RvbTogMC41cmVtICFkZWZhdWx0O1xuXG4kZmllbGRfaW5wdXQtZm9udC1zaXplOiAxZW0gIWRlZmF1bHQ7XG4kZmllbGRfaW5wdXQtbGluZS1oZWlnaHQ6ICRidXR0b25fbGluZS1oZWlnaHQgIWRlZmF1bHQ7XG4kZmllbGRfaW5wdXQtcGFkZGluZzogJGJ1dHRvbl9wYWRkaW5nICFkZWZhdWx0O1xuJGZpZWxkX2lucHV0LWNvbG9yOiAkY29sb3JfdGV4dC04MDAgIWRlZmF1bHQ7XG4kZmllbGRfaW5wdXQtYmFja2dyb3VuZDogJGNvbG9yX2JhY2tncm91bmQtMjAwICFkZWZhdWx0O1xuJGZpZWxkX2lucHV0LWJvcmRlcjogMnB4IHNvbGlkICRjb2xvcl9ib3JkZXItNTAwICFkZWZhdWx0O1xuJGZpZWxkX2lucHV0LWJvcmRlci1hY3RpdmU6IDJweCBzb2xpZCAkY29sb3ItcHJpbWFyeS01MDAgIWRlZmF1bHQ7XG4kZmllbGRfaW5wdXQtYm9yZGVyLXJhZGl1czogMjAwcHggIWRlZmF1bHQ7XG4kZmllbGRfaW5wdXQtYm94LXNoYWRvdzogbm9uZSAhZGVmYXVsdDtcbiRmaWVsZF9pbnB1dC1ib3gtc2hhZG93LWFjdGl2ZTogbm9uZSAhZGVmYXVsdDtcbiRmaWVsZF9pbnB1dC1kaXNhYmxlZC1vcGFjaXR5OiAwLjY1ICFkZWZhdWx0O1xuJGZpZWxkX2lucHV0LXBsYWNlaG9sZGVyLWNvbG9yOiAkY29sb3JfdGV4dC00MDAgIWRlZmF1bHQ7XG5cbiRmaWVsZF9lcnJvci1mb250LXNpemU6ICRmaWVsZF9sYWJlbC1mb250LXNpemUgIWRlZmF1bHQ7XG4kZmllbGRfZXJyb3ItaW5wdXQtYm9yZGVyOiAycHggc29saWQgJGNvbG9yX2Vycm9yLTUwMCAhZGVmYXVsdDtcblxuJGZpZWxkX25vdGUtZm9udC1zaXplOiAkZmllbGRfbGFiZWwtZm9udC1zaXplICFkZWZhdWx0O1xuJGZpZWxkX25vdGUtY29sb3I6ICRjb2xvcl90ZXh0LTUwMCAhZGVmYXVsdDtcblxuJGZpZWxkX2Vycm9yLWNvbG9yOiAkY29sb3JfZXJyb3ItNTAwICFkZWZhdWx0O1xuXG4kZmllbGRfd2FybmluZy1jb2xvcjogJGNvbG9yX3dhcm5pbmctNTAwICFkZWZhdWx0O1xuLy8gQmFzZWQgb24gaHR0cHM6Ly93d3cuZmlsYW1lbnRncm91cC5jb20vbGFiL3NlbGVjdC1jc3MuaHRtbFxuJGZpZWxkX3NlbGVjdC1mb250LXNpemU6ICRmaWVsZF9pbnB1dC1mb250LXNpemUgIWRlZmF1bHQ7XG4kZmllbGRfc2VsZWN0LWxpbmUtaGVpZ2h0OiAkZmllbGRfaW5wdXQtbGluZS1oZWlnaHQgIWRlZmF1bHQ7XG4kZmllbGRfc2VsZWN0LXBhZGRpbmc6ICRmaWVsZF9pbnB1dC1wYWRkaW5nICFkZWZhdWx0O1xuJGZpZWxkX3NlbGVjdC1wYWRkaW5nLXJpZ2h0OiAyLjNlbSAhZGVmYXVsdDtcbiRmaWVsZF9zZWxlY3QtY29sb3I6ICRjb2xvcl90ZXh0LTgwMCAhZGVmYXVsdDtcblxuJGZpZWxkX3NlbGVjdC1iYWNrZ3JvdW5kLXBvc2l0aW9uOiByaWdodCAwLjhlbSB0b3AgNTIlLCAwIDAgIWRlZmF1bHQ7XG4kZmllbGRfc2VsZWN0LWJhY2tncm91bmQtc2l6ZTogMC43ZW0gYXV0bywgMTAwJSAhZGVmYXVsdDtcblxuLy8gTm90ZSB0aGF0IHNlbGVjdCBiYWNrZ3JvdW5kIG5lZWRzIHRvIGJlIGRlZmluZWQgYXMgYmFja2dyb3VuZC1pbWFnZSB0byBwcmV2ZW50XG4vLyBvcHRpb24gZWxlbWVudHMgZnJvbSBpbmhlcml0aW5nIGl0IG9uIHNvbWUgYnJvd3NlcnMuXG4kZmllbGRfc2VsZWN0LWljb24tZmlsbDogJGNvbG9yX2JvcmRlci01MDAgIWRlZmF1bHQ7XG4kZmllbGRfc2VsZWN0LWljb24tZmlsbC1hY3RpdmU6ICRjb2xvcl9wcmltYXJ5LTUwMCAhZGVmYXVsdDtcbiRmaWVsZF9zZWxlY3QtYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9VVRGLTgsJTNjc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgdmlld0JveD0nMCAwIDE2IDknIGZpbGw9JyN7dXJpLWZyaWVuZGx5LWhleCgkZmllbGRfc2VsZWN0LWljb24tZmlsbCl9JyUzZSUzY3BhdGggZD0nTTAgMS4yQzAgLjUuNiAwIDEuMiAwYy4zIDAgLjYuMS44LjNsNiA1LjkgNi01LjljLjUtLjQgMS4yLS4zIDEuNy4xLjQuNC40IDEuMSAwIDEuNUw4LjkgOC43Yy0uNS40LTEuMi40LTEuNyAwTC40IDJhLjkuOSAwIDAgMS0uNC0uOHonLyUzZSUzYy9zdmclM2VcIiksXG4gICAgbGluZWFyLWdyYWRpZW50KDBkZWcsIHRyYW5zcGFyZW50IDAlLCB0cmFuc3BhcmVudCAxMDAlKSAhZGVmYXVsdDtcbiRmaWVsZF9zZWxlY3QtYmFja2dyb3VuZC1hY3RpdmU6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PVVURi04LCUzY3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCAxNiA5JyBmaWxsPScje3VyaS1mcmllbmRseS1oZXgoJGZpZWxkX3NlbGVjdC1pY29uLWZpbGwtYWN0aXZlKX0nJTNlJTNjcGF0aCBkPSdNMCAxLjJDMCAuNS42IDAgMS4yIDBjLjMgMCAuNi4xLjguM2w2IDUuOSA2LTUuOWMuNS0uNCAxLjItLjMgMS43LjEuNC40LjQgMS4xIDAgMS41TDguOSA4LjdjLS41LjQtMS4yLjQtMS43IDBMLjQgMmEuOS45IDAgMCAxLS40LS44eicvJTNlJTNjL3N2ZyUzZVwiKSxcbiAgICBsaW5lYXItZ3JhZGllbnQoMGRlZywgdHJhbnNwYXJlbnQgMCUsIHRyYW5zcGFyZW50IDEwMCUpICFkZWZhdWx0O1xuXG4kZmllbGRfc2VsZWN0LWJvcmRlcjogMnB4IHNvbGlkICRjb2xvcl9ib3JkZXItNTAwICFkZWZhdWx0O1xuJGZpZWxkX3NlbGVjdC1ib3JkZXItYWN0aXZlOiAycHggc29saWQgJGNvbG9yX3ByaW1hcnktNTAwICFkZWZhdWx0O1xuJGZpZWxkX3NlbGVjdC1ib3JkZXItcmFkaXVzOiAyMDBweCAhZGVmYXVsdDtcbiRmaWVsZF9zZWxlY3QtYm94LXNoYWRvdzogbm9uZSAhZGVmYXVsdDtcbiRmaWVsZF9zZWxlY3QtYm94LXNoYWRvdy1hY3RpdmU6IG5vbmUgIWRlZmF1bHQ7XG4kZmllbGRfc2VsZWN0LWJhY2tncm91bmQtY29sb3I6ICRmaWVsZF9pbnB1dC1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJGZpZWxkX3NlbGVjdC1kaXNhYmxlZC1vcGFjaXR5OiAkZmllbGRfaW5wdXQtZGlzYWJsZWQtb3BhY2l0eSAhZGVmYXVsdDtcblxuLyogUmFkaW8gYW5kIGNoZWNrYm94IHN0eWxpbmcgKi9cbiRmaWVsZF9yYWRpby1mb250LXNpemU6IDFlbSAhZGVmYXVsdDtcbiRmaWVsZF9yYWRpby1zaXplOiAxZW0gIWRlZmF1bHQ7XG4vLyBMZXRzIHlvdSBhZGp1c3QgYm90aCByYWRpbyBhbmQgY2hlY2tib3ggYWxpZ25tZW50IGJhc2VkIG9uIGZvbnQgeW91J3ZlIGNob3Nlbi5cbiRmaWVsZF9yYWRpby1vZmZzZXQ6IC0wLjA2MjVlbSAhZGVmYXVsdDtcbi8vIEFsaWduaW5nIGFueXRoaW5nIHRoYXQgY29tZXMgYWZ0ZXIgd2l0aCBpbnB1dCBwYWRkaW5ncywgdGhpcyAxcHggc3RhbmRzIGZvciBpbnB1dCdzIGJvcmRlciB3aWR0aC5cbiRmaWVsZF9yYWRpby1tYXJnaW46ICRmaWVsZF9yYWRpby1vZmZzZXQgY2FsYygjezEuNWVtIC0gJGZpZWxkLXJhZGlvLXNpemV9ICsgMXB4KSAwIDAgIWRlZmF1bHQ7XG5cbiRmaWVsZF9yYWRpby1iYWNrZ3JvdW5kLXNpemU6IDFlbSAxZW0gIWRlZmF1bHQ7XG4kZmllbGRfcmFkaW8tYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQgIWRlZmF1bHQ7XG4kZmllbGRfcmFkaW8tYmFja2dyb3VuZC1jb2xvci1hY3RpdmU6IHRyYW5zcGFyZW50ICFkZWZhdWx0O1xuJGZpZWxkX3JhZGlvLWJhY2tncm91bmQtY29sb3ItY2hlY2tlZDogdHJhbnNwYXJlbnQgIWRlZmF1bHQ7XG4kZmllbGRfcmFkaW8taWNvbi1maWxsOiAkY29sb3JfcHJpbWFyeS01MDAgIWRlZmF1bHQ7XG4kZmllbGRfcmFkaW8tYmFja2dyb3VuZC1pbWFnZS1jaGVja2VkOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD1VVEYtOCwlM2Nzdmcgd2lkdGg9JzE0JyBoZWlnaHQ9JzE0JyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnJTNlJTNjY2lyY2xlIGZpbGw9JyN7dXJpLWZyaWVuZGx5LWhleCgkZmllbGRfcmFkaW8taWNvbi1maWxsKX0nIHI9JzQnIGN5PSc3JyBjeD0nNycvJTNlJTNjL3N2ZyUzZVwiKSAhZGVmYXVsdDtcblxuJGZpZWxkX3JhZGlvLWJvcmRlcjogMnB4IHNvbGlkICRjb2xvcl9ib3JkZXItNTAwICFkZWZhdWx0O1xuJGZpZWxkX3JhZGlvLWJvcmRlci1hY3RpdmU6IDJweCBzb2xpZCAkY29sb3ItcHJpbWFyeS04MDAgIWRlZmF1bHQ7XG4kZmllbGRfcmFkaW8tYm9yZGVyLWNoZWNrZWQ6IDJweCBzb2xpZCAkY29sb3JfcHJpbWFyeS01MDAgIWRlZmF1bHQ7XG4kZmllbGRfcmFkaW8tYm94LXNoYWRvdzogbm9uZSAhZGVmYXVsdDtcbiRmaWVsZF9yYWRpby1ib3gtc2hhZG93LWFjdGl2ZTogbm9uZSAhZGVmYXVsdDtcbiRmaWVsZF9yYWRpby1ib3gtc2hhZG93LWNoZWNrZWQ6IG5vbmUgIWRlZmF1bHQ7XG4kZmllbGRfcmFkaW8tZGlzYWJsZWQtb3BhY2l0eTogJGZpZWxkX2lucHV0LWRpc2FibGVkLW9wYWNpdHkgIWRlZmF1bHQ7XG5cbiRmaWVsZF9jaGVja2JveC1ib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJhZGl1c19iYXNlICFkZWZhdWx0O1xuJGZpZWxkX2NoZWNrYm94LWJhY2tncm91bmQtc2l6ZTogMWVtIDFlbSAhZGVmYXVsdDtcbiRmaWVsZF9jaGVja2JveC1pY29uLWZpbGw6ICRjb2xvcl9wcmltYXJ5LTUwMCAhZGVmYXVsdDtcbiRmaWVsZF9jaGVja2JveC1iYWNrZ3JvdW5kLWltYWdlLWNoZWNrZWQ6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PVVURi04LCUzY3N2ZyB3aWR0aD0nMTQnIGhlaWdodD0nMTQnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyclM2UlM2NwYXRoIGZpbGw9JyN7dXJpLWZyaWVuZGx5LWhleCgkZmllbGRfY2hlY2tib3gtaWNvbi1maWxsKX0nIGQ9J001LjMxMyAxMC4xMDhINS4yNGExLjA2NCAxLjAwNSAwIDAgMS0uNzUtLjQxbC0xLjk0Ny0yLjU1YTEuMDY0IDEuMDA1IDAgMCAxIDEuNzIzLTEuMTc1TDUuNDYzIDcuNTYgOS4wNiA0LjE5YTEuMDY0IDEuMDA1IDAgMCAxIC43NS0uMjk3aC44NDZhMS4wNjQgMS4wMDUgMCAwIDEgMCAyLjAwNGgtLjQ1TDYuMDY0IDkuODFhMS4wNjQgMS4wMDUgMCAwIDEtLjc1LjI5OHonLyUzZSUzYy9zdmclM2VcIikgIWRlZmF1bHQ7XG5cbiRmaWVsZF9pY29uLXdpZHRoOiAxLjNlbSAhZGVmYXVsdDtcbiRmaWVsZF9pY29uLWhlaWdodDogMS4zZW0gIWRlZmF1bHQ7XG4kZmllbGRfaWNvbi1zdWNjZXNzLWJhY2tncm91bmQ6IHVybCgnLi4vaW1hZ2VzL2NoZWNrLWdyZWVuLnN2ZycpIG5vLXJlcGVhdCBjZW50ZXIgY2VudGVyIC8gY29udGFpbiAhZGVmYXVsdDtcblxuJGZpZWxkX2RvYi1idXR0b24tdHlwZTogJ3NlY29uZGFyeScgIWRlZmF1bHQ7XG4kZmllbGRfZG9iLWJ1dHRvbi1pY29uLXBvczogJGJ1dHRvbl9kZWZhdWx0LWljb24tcG9zICFkZWZhdWx0O1xuXG5AbWl4aW4gZmllbGQoKSB7XG4gICAgZm9udC1zaXplOiAkZmllbGRfZm9udC1zaXplO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIGFsaWduLWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBib3JkZXI6IDA7XG4gICAgcGFkZGluZzogMDtcbiAgICBtYXJnaW46IDA7XG4gICAgd2lkdGg6IDEwMCU7XG5cbiAgICAmLl9lZGl0aW5nIHtcbiAgICAgICAgLmZpZWxkLWVycm9yIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBAaW5jbHVkZSBmaWVsZC1ob29rKCk7XG59XG5cbkBtaXhpbiBmaWVsZC1lcnJvcigpIHtcbiAgICBmb250LXNpemU6ICRmaWVsZF9lcnJvci1mb250LXNpemU7XG4gICAgY29sb3I6ICRjb2xvcl9lcnJvci01MDA7XG4gICAgbWFyZ2luLXRvcDogMC4yZW07XG5cbiAgICBAaW5jbHVkZSBmaWVsZC1lcnJvci1ob29rKCk7XG59XG5cbkBtaXhpbiBmaWVsZC1sYWJlbCgpIHtcbiAgICBmb250LXdlaWdodDogJGZpZWxkX2xhYmVsLWZvbnQtd2VpZ2h0O1xuICAgIGZvbnQtc2l6ZTogJGZpZWxkX2xhYmVsLWZvbnQtc2l6ZTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICB0ZXh0LXRyYW5zZm9ybTogJGZpZWxkX2xhYmVsLXRleHQtdHJhbnNmb3JtO1xuICAgIGNvbG9yOiAkZmllbGRfbGFiZWwtY29sb3I7XG4gICAgcGFkZGluZy1ib3R0b206ICRmaWVsZF9sYWJlbC1wYWRkaW5nLWJvdG9tO1xuXG4gICAgQGluY2x1ZGUgZmllbGQtbGFiZWwtaG9vaygpO1xufVxuXG5AbWl4aW4gZmllbGQtbGFiZWwtcmVxdWlyZWQoKSB7XG4gICAgJjphZnRlciB7XG4gICAgICAgIGNvbnRlbnQ6ICcgKic7XG4gICAgICAgIGNvbG9yOiAkY29sb3JfZXJyb3ItNTAwO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIGZpZWxkLWxhYmVsLXJlcXVpcmVkLWhvb2soKTtcbn1cblxuQG1peGluIGZpZWxkLWNvbnRyb2woKSB7XG4gICAgd2lkdGg6IDEwMCU7XG5cbiAgICBAaW5jbHVkZSBmaWVsZC1jb250cm9sLWhvb2soKTtcbn1cblxuQG1peGluIGZpZWxkLWlucHV0KCkge1xuICAgIGZvbnQtc2l6ZTogJGZpZWxkX2lucHV0LWZvbnQtc2l6ZTtcbiAgICBsaW5lLWhlaWdodDogJGZpZWxkX2lucHV0LWxpbmUtaGVpZ2h0O1xuICAgIHBhZGRpbmc6ICRmaWVsZF9pbnB1dC1wYWRkaW5nO1xuICAgIGNvbG9yOiAkZmllbGRfaW5wdXQtY29sb3I7XG4gICAgYmFja2dyb3VuZDogJGZpZWxkX2lucHV0LWJhY2tncm91bmQ7XG4gICAgYm9yZGVyLXJhZGl1czogJGZpZWxkX2lucHV0LWJvcmRlci1yYWRpdXM7XG4gICAgYm9yZGVyOiAkZmllbGRfaW5wdXQtYm9yZGVyO1xuICAgIGJveC1zaGFkb3c6ICRmaWVsZF9pbnB1dC1ib3gtc2hhZG93O1xuICAgIHRyYW5zaXRpb246IGJvcmRlci1jb2xvciAkZmllbGRfdHJhbnNpdGlvbi10aW1lO1xuICAgIG1hcmdpbjogMCAwIDAuMmVtOyAvLyBBZGQgc3BhY2luZyB1bmRlciBsYWJlbC4gVGhpcyBjYW4ndCBiZSBhZGRlZCB0byBsYWJlbCBpdHNlbGYgYmVjYXVzZSB0aGV5IGFyZSBzb21ldGltZXMgcmVuZGVyZWQgZW1wdHkuXG4gICAgd2lkdGg6IDEwMCU7XG4gICAgYmFja2dyb3VuZC1jbGlwOiBwYWRkaW5nLWJveDsgLy8gUmVtb3ZlcyBkcm9wIHNoYWRvdyBmcm9tIGlucHV0cyBvbiBpT1MuXG4gICAgZm9udC1mYW1pbHk6IGluaGVyaXQ7XG5cbiAgICAmOmhvdmVyLFxuICAgICY6Zm9jdXMge1xuICAgICAgICAmOm5vdChbZGlzYWJsZWRdKSB7XG4gICAgICAgICAgICBib3JkZXI6ICRmaWVsZF9pbnB1dC1ib3JkZXItYWN0aXZlO1xuICAgICAgICAgICAgYm94LXNoYWRvdzogJGZpZWxkX2lucHV0LWJveC1zaGFkb3ctYWN0aXZlO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJjo6cGxhY2Vob2xkZXIge1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICBjb2xvcjogJGZpZWxkX2lucHV0LXBsYWNlaG9sZGVyLWNvbG9yO1xuICAgIH1cblxuICAgICZbZGlzYWJsZWRdIHtcbiAgICAgICAgb3BhY2l0eTogJGZpZWxkX2lucHV0LWRpc2FibGVkLW9wYWNpdHk7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgZmllbGQtaW5wdXQtaG9vaygpO1xufVxuXG5AbWl4aW4gZmllbGQtaW5wdXQtZXJyb3IoKSB7XG5cbiAgICAmLFxuICAgICY6aG92ZXI6bm90KDpmb2N1cykge1xuICAgICAgICBib3JkZXI6ICRmaWVsZF9lcnJvci1pbnB1dC1ib3JkZXI7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgZmllbGQtaW5wdXQtZXJyb3ItaG9vaygpO1xufVxuXG5AbWl4aW4gZmllbGQtaWNvbigkdHlwZTogJycpIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgd2lkdGg6ICRmaWVsZF9pY29uLXdpZHRoO1xuICAgIGhlaWdodDogJGZpZWxkX2ljb24taGVpZ2h0O1xuICAgIHJpZ2h0OiAwLjhlbTtcbiAgICB0b3A6IDAuOGVtO1xuICAgIGRpc3BsYXk6IG5vbmU7XG5cbiAgICBAaWYgKCR0eXBlID09J3N1Y2Nlc3MnKSB7XG4gICAgICAgIGJhY2tncm91bmQ6ICRmaWVsZF9pY29uLXN1Y2Nlc3MtYmFja2dyb3VuZDtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBmaWVsZC1pY29uLWhvb2soJHR5cGUpO1xufVxuXG5AbWl4aW4gZmllbGQtbm90ZSgpIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBmb250LXNpemU6ICRmaWVsZF9ub3RlLWZvbnQtc2l6ZTtcbiAgICBwYWRkaW5nOiAwLjNlbSAwIDA7XG4gICAgY29sb3I6ICRmaWVsZF9ub3RlLWNvbG9yO1xuXG4gICAgQGluY2x1ZGUgZmllbGQtbm90ZS1ob29rKCk7XG59XG5cbkBtaXhpbiBmaWVsZC1lcnJvcigpIHtcbiAgICBAaW5jbHVkZSBmaWVsZC1ub3RlKCk7XG5cbiAgICBjb2xvcjogJGZpZWxkX2Vycm9yLWNvbG9yO1xuXG4gICAgQGluY2x1ZGUgZmllbGQtZXJyb3ItaG9vaygpO1xufVxuXG5AbWl4aW4gZmllbGQtd2FybmluZygpIHtcbiAgICBAaW5jbHVkZSBmaWVsZC1ub3RlKCk7XG5cbiAgICBjb2xvcjogJGZpZWxkX3dhcm5pbmctY29sb3I7XG5cbiAgICBAaW5jbHVkZSBmaWVsZC13YXJuaW5nLWhvb2soKTtcbn1cblxuQG1peGluIGZpZWxkLXNlbGVjdCgpIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBmb250LXNpemU6ICRmaWVsZF9zZWxlY3QtZm9udC1zaXplO1xuICAgIGxpbmUtaGVpZ2h0OiAkZmllbGRfc2VsZWN0LWxpbmUtaGVpZ2h0O1xuICAgIHBhZGRpbmc6ICRmaWVsZF9zZWxlY3QtcGFkZGluZztcbiAgICBwYWRkaW5nLXJpZ2h0OiAkZmllbGRfc2VsZWN0LXBhZGRpbmctcmlnaHQ7XG4gICAgY29sb3I6ICRmaWVsZF9zZWxlY3QtY29sb3I7XG4gICAgYm9yZGVyLXJhZGl1czogJGZpZWxkX3NlbGVjdC1ib3JkZXItcmFkaXVzO1xuICAgIGJvcmRlcjogJGZpZWxkX3NlbGVjdC1ib3JkZXI7XG4gICAgYm94LXNoYWRvdzogJGZpZWxkX3NlbGVjdC1ib3gtc2hhZG93O1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICBtYXJnaW46IDAgMCAwLjJlbTsgLy8gQWRkIHNwYWNpbmcgdW5kZXIgbGFiZWwuIFRoaXMgY2FuJ3QgYmUgYWRkZWQgdG8gbGFiZWwgaXRzZWxmIGJlY2F1c2UgdGhleSBhcmUgc29tZXRpbWVzIHJlbmRlcmVkIGVtcHR5LlxuICAgIG91dGxpbmU6IDA7XG4gICAgYXBwZWFyYW5jZTogbm9uZTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZmllbGRfc2VsZWN0LWJhY2tncm91bmQtY29sb3I7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogJGZpZWxkX3NlbGVjdC1iYWNrZ3JvdW5kLWltYWdlO1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQsIHJlcGVhdDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAkZmllbGRfc2VsZWN0LWJhY2tncm91bmQtcG9zaXRpb247XG4gICAgYmFja2dyb3VuZC1zaXplOiAkZmllbGRfc2VsZWN0LWJhY2tncm91bmQtc2l6ZTtcbiAgICB0cmFuc2l0aW9uOiBib3JkZXItY29sb3IgJGZpZWxkX3RyYW5zaXRpb24tdGltZTtcblxuICAgIC8vIHN0eWxlbGludC1kaXNhYmxlIG5vLWRlc2NlbmRpbmctc3BlY2lmaWNpdHlcbiAgICAmOi1tb3otZm9jdXNyaW5nLFxuICAgICY6Oi1tb3otZm9jdXMtaW5uZXIge1xuICAgICAgICBjb2xvcjogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbiAgICAgICAgdGV4dC1zaGFkb3c6IDAgMCAwICMwMDAgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICAmOmhvdmVyLFxuICAgICY6Zm9jdXMge1xuICAgICAgICAmOm5vdChbZGlzYWJsZWRdKSB7XG4gICAgICAgICAgICBib3JkZXI6ICRmaWVsZF9zZWxlY3QtYm9yZGVyLWFjdGl2ZTtcbiAgICAgICAgICAgIGJveC1zaGFkb3c6ICRmaWVsZF9zZWxlY3QtYm94LXNoYWRvdy1hY3RpdmU7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiAkZmllbGRfc2VsZWN0LWJhY2tncm91bmQtYWN0aXZlO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJltkaXNhYmxlZF0ge1xuICAgICAgICBvcGFjaXR5OiAkZmllbGRfc2VsZWN0LWRpc2FibGVkLW9wYWNpdHk7XG4gICAgfVxuXG4gICAgb3B0aW9uIHtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgY29sb3I6IGluaXRpYWw7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgZmllbGQtc2VsZWN0LWhvb2soKTtcbn1cblxuQG1peGluIGZpZWxkLXJhZGlvLWxhYmVsKCkge1xuICAgIEBpbmNsdWRlIGZpZWxkLXJhZGlvLWxhYmVsLWhvb2soKTtcbn1cblxuQG1peGluIGZpZWxkLXJhZGlvKCkge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBoZWlnaHQ6ICRmaWVsZF9yYWRpby1zaXplO1xuICAgIHdpZHRoOiAkZmllbGRfcmFkaW8tc2l6ZTtcbiAgICBtYXJnaW46ICRmaWVsZF9yYWRpby1tYXJnaW47XG4gICAgZm9udC1zaXplOiAkZmllbGRfcmFkaW8tZm9udC1zaXplO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICBhcHBlYXJhbmNlOiBub25lO1xuICAgIGZsZXg6IDAgMCBhdXRvOyAvLyBQcmV2ZW50IGZsZXggcGFyZW50IGZyb20gYnJlYWtpbmcgZGltZW5zaW9ucy5cbiAgICBjdXJzb3I6IHBvaW50ZXI7XG5cbiAgICBib3JkZXI6ICRmaWVsZF9yYWRpby1ib3JkZXI7XG4gICAgYm94LXNoYWRvdzogJGZpZWxkX3JhZGlvLWJveC1zaGFkb3c7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGZpZWxkX3JhZGlvLWJhY2tncm91bmQtY29sb3I7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiA1MCUgNTAlO1xuICAgIGJhY2tncm91bmQtc2l6ZTogJGZpZWxkX3JhZGlvLWJhY2tncm91bmQtc2l6ZTtcbiAgICBvdXRsaW5lOiAwO1xuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yICRmaWVsZF90cmFuc2l0aW9uLXRpbWUsXG4gICAgICAgIGJvcmRlci1jb2xvciAkZmllbGRfdHJhbnNpdGlvbi10aW1lO1xuXG4gICAgJjo6LW1vei1mb2N1cy1pbm5lcixcbiAgICAmOi1tb3otZm9jdXNyaW5nIHtcbiAgICAgICAgY29sb3I6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG4gICAgICAgIHRleHQtc2hhZG93OiAwIDAgMCAjMDAwICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgJjpob3ZlcixcbiAgICAmOmZvY3VzIHtcbiAgICAgICAgJjpub3QoW2Rpc2FibGVkXSkge1xuICAgICAgICAgICAgYm9yZGVyOiAkZmllbGRfcmFkaW8tYm9yZGVyLWFjdGl2ZTtcbiAgICAgICAgICAgIGJveC1zaGFkb3c6ICRmaWVsZF9yYWRpby1ib3gtc2hhZG93LWFjdGl2ZTtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRmaWVsZF9yYWRpby1iYWNrZ3JvdW5kLWNvbG9yLWFjdGl2ZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICY6Y2hlY2tlZCB7XG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6ICRmaWVsZF9yYWRpby1iYWNrZ3JvdW5kLWltYWdlLWNoZWNrZWQ7XG5cbiAgICAgICAgJixcbiAgICAgICAgJjpob3ZlcixcbiAgICAgICAgJjpmb2N1cyB7XG4gICAgICAgICAgICBib3JkZXI6ICRmaWVsZF9yYWRpby1ib3JkZXItY2hlY2tlZDtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRmaWVsZF9yYWRpby1iYWNrZ3JvdW5kLWNvbG9yLWNoZWNrZWQ7XG4gICAgICAgICAgICBib3gtc2hhZG93OiAkZmllbGRfcmFkaW8tYm94LXNoYWRvdy1jaGVja2VkO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJltkaXNhYmxlZF0sXG4gICAgJltkaXNhYmxlZF0rLmxhYmVsLFxuICAgICZbZGlzYWJsZWRdKy5jcy1pbnB1dF9fbGFiZWwge1xuICAgICAgICBvcGFjaXR5OiAkZmllbGRfcmFkaW8tZGlzYWJsZWQtb3BhY2l0eTtcbiAgICB9XG5cbiAgICAvLyBzdHlsZWxpbnQtZW5hYmxlIG5vLWRlc2NlbmRpbmctc3BlY2lmaWNpdHlcblxuICAgIEBpbmNsdWRlIGZpZWxkLXJhZGlvLWhvb2soKTtcbn1cblxuQG1peGluIGZpZWxkLWNoZWNrYm94LWxhYmVsKCkge1xuICAgIEBpbmNsdWRlIGZpZWxkLWNoZWNrYm94LWxhYmVsLWhvb2soKTtcbn1cblxuQG1peGluIGZpZWxkLWNoZWNrYm94KCkge1xuICAgIEBpbmNsdWRlIGZpZWxkLXJhZGlvKCk7XG5cbiAgICBib3JkZXItcmFkaXVzOiAkZmllbGRfY2hlY2tib3gtYm9yZGVyLXJhZGl1cztcbiAgICBiYWNrZ3JvdW5kLXNpemU6ICRmaWVsZF9jaGVja2JveC1iYWNrZ3JvdW5kLXNpemU7XG4gICAgYm9yZGVyLWNvbG9yOiAkY29sb3JfcGFwaWxhcnRfcHVycGxlO1xuXG4gICAgJjpjaGVja2VkIHtcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogJGZpZWxkX2NoZWNrYm94LWJhY2tncm91bmQtaW1hZ2UtY2hlY2tlZDtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBmaWVsZC1jaGVja2JveC1ob29rKCk7XG59XG5cbkBtaXhpbiBmaWVsZC1kb2IoKSB7XG4gICAgaW5wdXQge1xuICAgICAgICBAaW5jbHVkZSBmaWVsZC1pbnB1dCgpO1xuXG4gICAgICAgICYubWFnZS1lcnJvciB7XG4gICAgICAgICAgICBAaW5jbHVkZSBmaWVsZC1pbnB1dC1lcnJvcigpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgYnV0dG9uIHtcbiAgICAgICAgQGluY2x1ZGUgYnV0dG9uKCR0eXBlOiAkZmllbGRfZG9iLWJ1dHRvbi10eXBlLFxuICAgICAgICAgICAgJGljb25fcG9zOiAkZmllbGRfZG9iLWJ1dHRvbi1pY29uLXBvcyApO1xuXG4gICAgICAgIHNwYW4ge1xuICAgICAgICAgICAgQGluY2x1ZGUgYnV0dG9uX3NwYW4oJHR5cGU6ICRmaWVsZF9kb2ItYnV0dG9uLXR5cGUsXG4gICAgICAgICAgICAgICAgJGljb25fcG9zOiAkZmllbGRfZG9iLWJ1dHRvbi1pY29uLXBvcyApO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgZmllbGQtZG9iLWhvb2soKTtcbn0iLCJAaW1wb3J0ICdjb21wb25lbnRzL2ZpZWxkL21peGluJztcblxuLyogc3R5bGVsaW50LWRpc2FibGUgbm8tZGVzY2VuZGluZy1zcGVjaWZpY2l0eSAqL1xuXG4vLyBPdXIgQkVNIGNvbXBvbmVudC5cbi5jcy1maWVsZCxcbi8vIExlZnQgZm9yIG5vdyBmb3IgY29tcGF0aWJpbGl0eSBzYWtlLlxuLmNzLWlucHV0IHtcbiAgICBAaW5jbHVkZSBmaWVsZCgpO1xuXG4gICAgJl9fY29udHJvbCB7XG4gICAgICAgIEBpbmNsdWRlIGZpZWxkLWNvbnRyb2woKTtcbiAgICB9XG5cbiAgICAmX19sYWJlbCB7XG4gICAgICAgIEBpbmNsdWRlIGZpZWxkLWxhYmVsKCk7XG5cbiAgICAgICAgLnJlcXVpcmVkICYge1xuICAgICAgICAgICAgQGluY2x1ZGUgZmllbGQtbGFiZWwtcmVxdWlyZWQoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2lucHV0LFxuICAgICZfX3RleHRhcmVhIHtcbiAgICAgICAgQGluY2x1ZGUgZmllbGQtaW5wdXQoKTtcblxuICAgICAgICAmLm1hZ2UtZXJyb3Ige1xuICAgICAgICAgICAgQGluY2x1ZGUgZmllbGQtaW5wdXQtZXJyb3IoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX3NlbGVjdCB7XG4gICAgICAgIEBpbmNsdWRlIGZpZWxkLXNlbGVjdCgpO1xuICAgIH1cblxuICAgICZfX3JhZGlvIHtcbiAgICAgICAgQGluY2x1ZGUgZmllbGQtcmFkaW8oKTtcblxuICAgICAgICAvLyBUbyByZXdyaXRlIHRvIHByb3BlciBzY3NzIHN5bnRheCBhZnRlciBnZXR0aW5nIHJpZCBvZiAuY3MtaW5wdXQgY2xhc3NcbiAgICAgICAgJiArIC5jcy1pbnB1dF9fbGFiZWwsXG4gICAgICAgICYgKyAuY3MtZmllbGRfX2xhYmVsIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZpZWxkLXJhZGlvLWxhYmVsKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19jaGVja2JveCB7XG4gICAgICAgIEBpbmNsdWRlIGZpZWxkLWNoZWNrYm94KCk7XG5cbiAgICAgICAgJi5tYWdlLWVycm9yIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZpZWxkLWlucHV0LWVycm9yKCk7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBUbyByZXdyaXRlIHRvIHByb3BlciBzY3NzIHN5bnRheCBhZnRlciBnZXR0aW5nIHJpZCBvZiAuY3MtaW5wdXQgY2xhc3NcbiAgICAgICAgJiArIC5jcy1pbnB1dF9fbGFiZWwsXG4gICAgICAgICYgKyAuY3MtZmllbGRfX2xhYmVsIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZpZWxkLWNoZWNrYm94LWxhYmVsKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19pY29uIHtcbiAgICAgICAgQGluY2x1ZGUgZmllbGQtaWNvbigpO1xuICAgIH1cblxuICAgICZfX25vdGUge1xuICAgICAgICBAaW5jbHVkZSBmaWVsZC1ub3RlKCk7XG4gICAgfVxuXG4gICAgJl9fZXJyb3Ige1xuICAgICAgICBAaW5jbHVkZSBmaWVsZC1lcnJvcigpO1xuICAgIH1cbn1cbi8vIE1hZ2VudG8gY2xhc3NlcyB1c2VkIGluIGNoZWNrb3V0LCBsb2dpbi9yZWdpc3RlciBmb3JtcyBldGMuXG4uZmllbGQge1xuICAgIEBpbmNsdWRlIGZpZWxkKCk7XG4gICAgLy8gY3VzdG9tIGxhYmVsXG4gICAgLy8gcG9zaXRpb246IHJlbGF0aXZlO1xuXG5cbiAgICAmLl9zdWNjZXNzOm5vdCguX3dhcm4pIHtcbiAgICAgICAgLmNvbnRyb2wge1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBmaWVsZC1pY29uKCdzdWNjZXNzJyk7XG4gICAgICAgICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuY29udHJvbCB7XG4gICAgICAgIEBpbmNsdWRlIGZpZWxkLWNvbnRyb2woKTtcblxuICAgICAgICA+IHRleHRhcmVhIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZpZWxkLWlucHV0KCk7XG4gICAgICAgIH1cblxuICAgICAgICAubmVzdGVke1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG5cbiAgICAgICAgICAgIC5maWVsZHtcbiAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IDQ4JTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5sYWJlbCB7XG4gICAgICAgIEBpbmNsdWRlIGZpZWxkLWxhYmVsKCk7XG4gICAgICAgIFxuICAgIH1cblxuICAgICYuY2hvaWNlIGxhYmVsLmxhYmVsIHtcbiAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgfVxuXG4gICAgJi5yZXF1aXJlZCxcbiAgICAmLl9yZXF1aXJlZCB7XG4gICAgICAgID4gLmxhYmVsIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZpZWxkLWxhYmVsLXJlcXVpcmVkKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmLnJlcXVpcmVkIHtcbiAgICAgICAgLl9yZXF1aXJlZCB7XG4gICAgICAgICAgICA+IC5sYWJlbCB7XG4gICAgICAgICAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICAgICAgICAgIC8vIEhpZGUgYXN0ZXJpc2tzIGZvciBsYWJlbHMgaW5zaWRlIGZpZWxkc2V0cyBhcyB0aGV5IGFyZSB1c3VhbGx5IHJlbmRlcmVkIGVtcHR5LlxuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5pbnB1dC10ZXh0IHtcbiAgICAgICAgQGluY2x1ZGUgZmllbGQtaW5wdXQoKTtcblxuICAgICAgICAmLm1hZ2UtZXJyb3Ige1xuICAgICAgICAgICAgQGluY2x1ZGUgZmllbGQtaW5wdXQtZXJyb3IoKTtcbiAgICAgICAgfVxuXG4gICAgICAgICYucmVxdWlyZWQtZW50cnkge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5zZWxlY3Qge1xuICAgICAgICBAaW5jbHVkZSBmaWVsZC1zZWxlY3QoKTtcbiAgICB9XG5cbiAgICAuY2hlY2tib3gge1xuICAgICAgICBAaW5jbHVkZSBmaWVsZC1jaGVja2JveCgpO1xuXG4gICAgICAgICYubWFnZS1lcnJvciB7XG4gICAgICAgICAgICBAaW5jbHVkZSBmaWVsZC1pbnB1dC1lcnJvcigpO1xuICAgICAgICB9XG5cbiAgICAgICAgJiArIC5sYWJlbCB7XG4gICAgICAgICAgICBAaW5jbHVkZSBmaWVsZC1jaGVja2JveC1sYWJlbCgpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnJhZGlvIHtcbiAgICAgICAgQGluY2x1ZGUgZmllbGQtcmFkaW8oKTtcblxuICAgICAgICAmICsgLmxhYmVsIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZpZWxkLXJhZGlvLWxhYmVsKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmLmN1c3RvbWVyLW5hbWUtcHJlZml4IHtcbiAgICAgICAgc2VsZWN0IHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZpZWxkLXNlbGVjdCgpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJi5maWVsZC1kb2Ige1xuICAgICAgICBAaW5jbHVkZSBmaWVsZC1kb2IoKTtcbiAgICB9XG5cbiAgICAmLl9lcnJvciB7XG4gICAgICAgIC5pbnB1dC10ZXh0LFxuICAgICAgICAuY2hlY2tib3gge1xuICAgICAgICAgICAgQGluY2x1ZGUgZmllbGQtaW5wdXQtZXJyb3IoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8vIFJldmVydGluZyBzdHlsZXMgZm9yIGlucHV0IHdpdGggdG9vbHRpcC5cbiAgICAuY29udHJvbC5fd2l0aC10b29sdGlwIGlucHV0IHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICB9XG4gICAgLy8gUmV2ZXJ0aW5nIGluZm8gdG9vbHRpcCBzdHlsZXMgdG8gbWFrZSBpdCBhcHBlYXIgYXMgbm90ZSBiZWxvdyB0aGUgaW5wdXQuXG4gICAgLmZpZWxkLXRvb2x0aXAge1xuICAgICAgICBwb3NpdGlvbjogc3RhdGljO1xuXG4gICAgICAgIC5sYWJlbCxcbiAgICAgICAgLmZpZWxkLXRvb2x0aXAtYWN0aW9uIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cblxuICAgICAgICAuZmllbGQtdG9vbHRpcC1jb250ZW50IHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBzdGF0aWM7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgICAgICAgICAgYm9yZGVyOiBub25lO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBmaWVsZC1ub3RlKCk7XG5cbiAgICAgICAgICAgICY6YmVmb3JlLFxuICAgICAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5ub3RlIHtcbiAgICAgICAgQGluY2x1ZGUgZmllbGQtbm90ZSgpO1xuICAgIH1cbn1cblxuLmZpZWxkOm5vdCguY2hvaWNlKTpub3QoLmxpbWl0ZXIpOm5vdCgudGVybXMpOm5vdCguY3MtcGFnaW5hdGlvbl9fcGFnZS1wcm92aWRlcil7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIFxuICAgIC5sYWJlbHtcbiAgICAgICAgLy9jdXN0b20gbGFiZWxcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IC0xMHB4O1xuICAgICAgICBsZWZ0OiAyMHB4O1xuICAgICAgICB6LWluZGV4OiAzO1xuICAgICAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgICAgICBwYWRkaW5nOiAwIDVweDtcbiAgICAgICAgYmFja2dyb3VuZDogd2hpdGU7XG4gICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICAuZmllbGRzZXQgLmZ1bGxuYW1lIC5maWVsZCAubGFiZWx7XG4gICAgICAgICAgICBwYWRkaW5nOiAwIDVweDtcbiAgICAgICAgICAgIHdpZHRoOiBhdXRvIWltcG9ydGFudDtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuaW5wdXRbbmFtZT1cImZha3R1cmFfZWxla3Ryb25pY3puYVwiXStsYWJlbCB7XG4gICAgdG9wOiAycHghaW1wb3J0YW50O1xufVxuLmZpZWxkW25hbWU9XCJhbWFzdHlQYXltZW50QXR0cmlidXRlcy5mYWt0dXJhX2VsZWt0cm9uaWN6bmFcIl0+bGFiZWx7XG4gICAgdG9wOiAycHghaW1wb3J0YW50O1xuICAgIGRpc3BsYXk6IG5vbmU7XG59XG5cbi5jdXN0b21lci1hZGRyZXNzLWZvcm17XG4gICAgLmZpZWxkLnN0cmVldHtcbiAgICAgICAgLmxhYmVse1xuICAgICAgICAgICAgdG9wOiAxMHB4O1xuICAgICAgICB9XG4gICAgfVxufVxuXG4uZmllbGQudGVybXN7XG4gICAgLmxhYmVse1xuICAgICAgICB0b3A6IC0zcHghaW1wb3J0YW50O1xuICAgICAgICBsZWZ0OiAyNHB4IWltcG9ydGFudDtcbiAgICB9XG59XG4uY3MtZGFzaGJvYXJkIC5maWVsZHtcbiAgICBtYXJnaW4tYm90dG9tOiAycmVtIWltcG9ydGFudDtcbn1cblxuLmZpZWxkc2V0IC5mdWxsbmFtZSAuZmllbGQgLmxhYmVse1xuICAgIHBhZGRpbmc6IDAgNXB4O1xuICAgIHdpZHRoOiBhdXRvIWltcG9ydGFudDtcbn1cblxuLy8gSGFzIHRvIGJlIHNjb3BlZCB0byBkaXYsIG90aGVyd2lzZSBpdCBjb2xsaWRlcyB3aXRoIGlucHV0IGNsYXNzLlxuZGl2Lm1hZ2UtZXJyb3I6bm90KC5fZWRpdGluZyksXG5kaXYuZmllbGQtZXJyb3I6bm90KC5fZWRpdGluZykge1xuICAgIEBpbmNsdWRlIGZpZWxkLWVycm9yKCk7XG59XG4vKiBzdHlsZWxpbnQtZW5hYmxlICovXG5cblxuLy8gY3VzdG9tIHN0eWxlXG4vLyAuZmllbGQuc3RyZWV0IC5maWVsZCAubGFiZWx7XG4vLyAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuLy8gICAgIHBhZGRpbmctYm90dG9tOiAwLjVyZW07XG4vLyAgICAgcGFkZGluZy10b3A6IDZweDtcbi8vICAgICB3aWR0aDogMTAwJTtcbi8vICAgICBoZWlnaHQ6IGF1dG87XG4vLyB9XG5cbiIsIi8qKlxuICogRm9vdGVyIGNvbXBvbmVudCBjdXN0b21pemF0aW9uLlxuICogQHNlZSAvTWFnZW50b19UaGVtZS90ZW1wbGF0ZXMvZm9vdGVyL2NvbHVtbnMucGh0bWwgZm9yIHRlbXBsYXRlcy5cbiAqL1xuQGltcG9ydCAnY29uZmlnL3ZhcmlhYmxlcyc7XG5AaW1wb3J0ICd2ZW5kb3JzL2luY2x1ZGUtbWVkaWEnO1xuQGltcG9ydCAndXRpbHMvdmlzdWFsbHktaGlkZGVuJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvcHNldWRvaWNvbi9taXhpbic7XG5AaW1wb3J0ICdjb21wb25lbnRzL3R5cG9ncmFwaHkvbWl4aW4nO1xuXG4kZm9vdGVyX3RleHQtY29sb3I6ICRjb2xvcl90ZXh0LTIwMCAhZGVmYXVsdDtcbiRmb290ZXJfYmFja2dyb3VuZDogJGNvbG9yX2JhY2tncm91bmQtMjAwICFkZWZhdWx0O1xuJGZvb3Rlcl9lZGdlLWd1dHRlcjogJHBhZ2VfZWRnZS1ndXR0ZXIgIWRlZmF1bHQ7XG5cbiRmb290ZXJfc2VjdGlvbi1lZGdlLWd1dHRlcjogJHBhZ2VfZWRnZS1ndXR0ZXIgIWRlZmF1bHQ7XG4kZm9vdGVyX3NlY3Rpb24tdmVydGljYWwtb2Zmc2V0OiAyZW0gIWRlZmF1bHQ7XG5cbiRmb290ZXJfc2VjdGlvbi1zZXBhcmF0b3ItYm9yZGVyOiAxcHggc29saWQgJGNvbG9yX2dyYXkgIWRlZmF1bHQ7XG5cbiRmb290ZXJfc2VjdGlvbi10aXRsZS1oZWFkbGluZS1sZXZlbDogJGZvbnQtc2l6ZV9oZWFkbGluZS00ICFkZWZhdWx0O1xuJGZvb3Rlcl9zZWN0aW9uLXRpdGxlLXBhZGRpbmc6ICRmb290ZXJfc2VjdGlvbi12ZXJ0aWNhbC1vZmZzZXQgJGZvb3Rlcl9zZWN0aW9uLWVkZ2UtZ3V0dGVyICFkZWZhdWx0O1xuJGZvb3Rlcl9zZWN0aW9uLXRpdGxlLWNvbG9yOiAkY29sb3JfcGFwaWxhcnRfZ3JheWdyZWVuICFkZWZhdWx0O1xuJGZvb3Rlcl9zZWN0aW9uLXRpdGxlLWZvbnQtc2l6ZTogMnJlbSAhZGVmYXVsdDtcbiRmb290ZXJfc2VjdGlvbi10aXRsZS10cmFuc2Zvcm06IG5vbmUgIWRlZmF1bHQ7XG5cbiRmb290ZXJfc2VjdGlvbi1wc2V1ZG9pY29uLWluY2x1ZGU6IHRydWUgIWRlZmF1bHQ7XG5cbiRmb290ZXJfcHJvbW8tZGlzcGxheS1vbi1tb2JpbGU6IGZhbHNlICFkZWZhdWx0O1xuJGZvb3Rlcl9sb2dvLWRpc3BsYXk6IGJsb2NrICFkZWZhdWx0O1xuJGZvb3Rlcl9sb2dvLXdpZHRoOiAxMy41ZW0gIWRlZmF1bHQ7XG4kZm9vdGVyX2xvZ28taGVpZ2h0OiAyLjNlbSAhZGVmYXVsdDtcblxuLiN7JG5zfWZvb3RlciB7XG4gICAgJHJvb3Q6ICY7XG4gICAgZm9udC1zaXplOiAxcmVtO1xuICAgIGNvbG9yOiAkY29sb3JfcGFwaWxhcnRfZ3JheWdyZWVuO1xuICAgIGJhY2tncm91bmQ6ICRmb290ZXJfYmFja2dyb3VuZDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHBhZGRpbmc6IDAgMCAycmVtO1xuICAgIHBhZGRpbmctYm90dG9tOiAycmVtO1xuXG4gICAgaDMge1xuICAgICAgICBjb2xvcjogJGNvbG9yX3BhcGlsYXJ0X2dyYXlncmVlbjtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDJyZW07XG4gICAgICAgIG1pbi1oZWlnaHQ6IDQwcHg7XG4gICAgICAgIGZvbnQtc2l6ZTogMi40cmVtO1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcblxuICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPHRhYmxldCcpIHtcbiAgICAgICAgICAgIC8vIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcCB7XG4gICAgICAgIGNvbG9yOiAkY29sb3JfcGFwaWxhcnRfZ3JheWdyZWVuO1xuICAgICAgICBkaXNwbGF5OiBncmlkO1xuICAgICAgICBmb250LXNpemU6IDE2cHg7XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJzx0YWJsZXQnKSB7XG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgfVxuICAgIH1cblxuXG4gICAgQGluY2x1ZGUgbWVkaWEoJz49dGFibGV0Jykge1xuICAgICAgICBwYWRkaW5nOiAwICRmb290ZXJfZWRnZS1ndXR0ZXI7XG4gICAgfVxuXG4gICAgJl9fY29udGVudCB7XG4gICAgICAgIHBhZGRpbmc6IDA7XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz49dGFibGV0Jykge1xuICAgICAgICAgICAgLypkaXNwbGF5OiBmbGV4OyovXG4gICAgICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICAgICAgICBwYWRkaW5nLXRvcDogNHJlbTtcbiAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAyLjVyZW07XG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPj1sYXB0b3AnKSB7XG4gICAgICAgICAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2l0ZW0ge1xuICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPj1sYXB0b3AnKSB7XG4gICAgICAgICAgICBmbGV4OiAxO1xuICAgICAgICB9XG5cbiAgICAgICAgJi0tcHJvbW8ge1xuICAgICAgICAgICAgQGlmICRmb290ZXJfcHJvbW8tZGlzcGxheS1vbi1tb2JpbGUgPT1mYWxzZSB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJzx0YWJsZXQnKSB7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBmbGV4LWJhc2lzOiAxMDAlO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPGxhcHRvcCcpIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxLjVyZW07XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PWxhcHRvcCcpIHtcbiAgICAgICAgICAgICAgICBmbGV4LWJhc2lzOiBhdXRvO1xuICAgICAgICAgICAgICAgIGZsZXgtZ3JvdzogMTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICYtLWxpbmtzIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKCc8dGFibGV0Jykge1xuICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDJyZW07XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PXRhYmxldCcpIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgICAgIGZsZXgtYmFzaXM6IDEwMCU7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogJGZvb3Rlcl9zZWN0aW9uLXZlcnRpY2FsLW9mZnNldDtcbiAgICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz49dGFibGV0Jykge1xuICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PWxhcHRvcCcpIHtcbiAgICAgICAgICAgICAgICBmbGV4LWJhc2lzOiBhdXRvO1xuICAgICAgICAgICAgICAgIGZsZXgtZ3JvdzogNTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICYtLWV4dHJhcyB7XG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPj10YWJsZXQnKSB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgICAgICBmbGV4LWJhc2lzOiAxMDAlO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPj1sYXB0b3AnKSB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgZmxleC1iYXNpczogMjUlO1xuICAgICAgICAgICAgICAgIGZsZXgtZ3JvdzogMjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX3NlY3Rpb24ge1xuICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPj10YWJsZXQnKSB7XG4gICAgICAgICAgICBmbGV4OiAxO1xuICAgICAgICB9XG5cbiAgICAgICAgJi0tbmV3c2xldHRlciB7XG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPj10YWJsZXQnKSB7XG4gICAgICAgICAgICAgICAgZmxleC1ncm93OiAyO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJi0tc29jaWFscyB7XG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPj1sYXB0b3AnKSB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogNHJlbTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICYtLXN0b3Jlcy1zd2l0Y2hlciB7XG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPj1sYXB0b3AnKSB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogNHJlbTtcbiAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IDIwcmVtO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLmNvbnRlbnQge1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cbiAgICAgICAgICAgIC5waG9uZSB7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAycmVtO1xuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDFyZW07XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5zbWFsbCB7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAxLjNyZW07XG4gICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLm1haWwge1xuICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDFyZW07XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAycmVtO1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiA0cmVtO1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICAgICAgY29udGVudDogdXJsKCcuLi9pbWFnZXMvaWNvbnMvbWFpbC1sb2dvLnN2ZycpO1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDMwcHg7XG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogMThweDtcbiAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgICAgICBsZWZ0OiAwcHg7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fc2VjdGlvbi0tY29sbGFwc2libGUge1xuICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPHRhYmxldCcpIHtcbiAgICAgICAgICAgIHdpZHRoOiA5NiU7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gICAgICAgICAgICBwYWRkaW5nOiA4cHggMzBweCAxMHB4O1xuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMjNweDtcbiAgICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICM4ODg7XG4gICAgICAgIH1cbiAgICB9XG5cblxuICAgICZfX3NlY3Rpb24tdGl0bGUsXG4gICAgW2RhdGEtcm9sZT0ndGl0bGUnXSB7XG4gICAgICAgIEBpZiAkZm9vdGVyX3NlY3Rpb24tdGl0bGUtaGVhZGxpbmUtbGV2ZWwgIT0nbm9uZScge1xuICAgICAgICAgICAgQGluY2x1ZGUgaGVhZGxpbmUoJGxldmVsOiAkZm9vdGVyX3NlY3Rpb24tdGl0bGUtaGVhZGxpbmUtbGV2ZWwpO1xuICAgICAgICB9XG5cbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIGNvbG9yOiAkZm9vdGVyX3NlY3Rpb24tdGl0bGUtY29sb3I7XG4gICAgICAgIGZvbnQtc2l6ZTogJGZvb3Rlcl9zZWN0aW9uLXRpdGxlLWZvbnQtc2l6ZTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06ICRmb290ZXJfc2VjdGlvbi10aXRsZS10cmFuc2Zvcm07XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJzx0YWJsZXQnKSB7XG4gICAgICAgICAgICAjeyRyb290fV9fc2VjdGlvbi0tY29sbGFwc2libGUgJiB7XG4gICAgICAgICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuXG4gICAgICAgICAgICAgICAgQGlmICRmb290ZXJfc2VjdGlvbi1wc2V1ZG9pY29uLWluY2x1ZGUge1xuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBwc2V1ZG9pY29uKCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAjeyRyb290fV9fc2VjdGlvbi0tc29jaWFscyAmIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSB2aXN1YWxseS1oaWRkZW4oKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PXRhYmxldCcpIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDJyZW07XG4gICAgICAgICAgICBib3JkZXItdG9wOiBub25lO1xuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz49bGFwdG9wJykge1xuICAgICAgICAgICAgcGFkZGluZy10b3A6IDA7XG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fc2VjdGlvbi1jb250ZW50LFxuICAgIFtkYXRhLXJvbGU9J2NvbnRlbnQnXSB7XG4gICAgICAgIHBhZGRpbmc6IDFyZW07XG4gICAgICAgIGZvbnQtc2l6ZTogMS4yZW07XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJzx0YWJsZXQnKSB7XG4gICAgICAgICAgICAjeyRyb290fV9fc2VjdGlvbi0tY29sbGFwc2libGUgJiB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PXRhYmxldCcpIHtcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PWxhcHRvcCcpIHtcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX3Nob3AtbG9nbyB7XG4gICAgICAgIGRpc3BsYXk6ICRmb290ZXJfbG9nby1kaXNwbGF5O1xuICAgICAgICB3aWR0aDogJGZvb3Rlcl9sb2dvLXdpZHRoO1xuICAgICAgICBoZWlnaHQ6ICRmb290ZXJfbG9nby1oZWlnaHQ7XG4gICAgICAgIG1pbi13aWR0aDogJGZvb3Rlcl9sb2dvLXdpZHRoO1xuICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICAgIG1heC1oZWlnaHQ6IDEwMCU7XG4gICAgfVxufVxuXG4uI3skbnN9Y29udGFpbmVyIHtcbiAgICAmLS1mb290ZXIge1xuICAgICAgICBtYXgtd2lkdGg6IG5vbmU7XG4gICAgfVxuXG4gICAgJi0tZm9vdGVyLXVzcHMge1xuICAgICAgICAuI3skbnN9aW1hZ2UtdGVhc2VyX19jb250ZW50IHtcbiAgICAgICAgICAgIG1hcmdpbjogMCAhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgfVxufVxuXG4uY3MtZm9vdGVyX19jb250ZW50IHtcbiAgICAuY3MtZm9vdGVyX19pdGVtLmNzLWZvb3Rlcl9faXRlbS0tY3JlZGVudGlhbHMge1xuICAgICAgICBtYXJnaW46IDJyZW0gMDtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1hcm91bmQ7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJzx0YWJsZXQnKSB7XG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICB9XG5cbiAgICAgICAgLmNvcHlyaWdodCxcbiAgICAgICAgLmF1dGhvciB7XG4gICAgICAgICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgICAgICAgICBjb2xvcjogJGNvbG9yX3NpbHZlci1jaGFsaWNlO1xuXG4gICAgICAgICAgICBhIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogJGNvbG9yX3NpbHZlci1jaGFsaWNlICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLnNvY2lhbHMge1xuICAgICAgICAgICAgcGFkZGluZzogOHB4IDMwcHg7XG4gICAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAkY29sb3Jfc2lsdmVyLWNoYWxpY2U7XG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiAyMDBweDtcblxuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJzx0YWJsZXQnKSB7XG4gICAgICAgICAgICAgICAgb3JkZXI6IC0xO1xuICAgICAgICAgICAgICAgIGJvcmRlcjogdW5zZXQ7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5pbnN0YWdyYW0ge1xuICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMXJlbTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5jcy1mb290ZXJfX2l0ZW0uY3MtZm9vdGVyX19pdGVtLS1saW5rcz4uY3MtZm9vdGVyX19zZWN0aW9uIHtcbiAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgICBwYWRkaW5nOiAxLjVyZW07XG4gICAgfVxuXG4gICAgLy8gLmNzLWZvb3Rlcl9faXRlbS5jcy1mb290ZXJfX2l0ZW0tLWxpbmtzPi5jcy1mb290ZXJfX3NlY3Rpb24uY3MtZm9vdGVyX19zZWN0aW9uLS1jb2xsYXBzaWJsZSB7XG4gICAgLy8gICAgIC8vIG1heC13aWR0aDogMjAwcHg7XG4gICAgLy8gfVxufSIsIi8qKlxuICogRm9vdGVyIGNvbXBvbmVudCBjdXN0b21pemF0aW9uLlxuICogQHNlZSAvTWFnZW50b19UaGVtZS90ZW1wbGF0ZXMvZm9vdGVyL2NvbHVtbnMucGh0bWwgZm9yIHRlbXBsYXRlcy5cbiAqL1xuLyoqXG4gKiBCcmVha3BvaW50IGNvbXBvbmVudCB1c2VkIGJ5IGluY2x1ZGUtbWVkaWEgdmVuZG9yIGxpYnJhcnkuXG4gKi9cbkB1c2UgJ3Nhc3M6bWFwJztcbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuLyoqXG4gKiBCcmVha3BvaW50IGNvbXBvbmVudCB1c2VkIGJ5IGluY2x1ZGUtbWVkaWEgdmVuZG9yIGxpYnJhcnkuXG4gKi9cbkB1c2UgJ3Nhc3M6bWFwJztcbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuLyoqKlxuICogSGlkZSBvbmx5IHZpc3VhbGx5LCBidXQgaGF2ZSBpdCBhdmFpbGFibGUgZm9yIHNjcmVlbiByZWFkZXJzOlxuICogaHR0cHM6Ly9zbm9vay5jYS9hcmNoaXZlcy9odG1sX2FuZF9jc3MvaGlkaW5nLWNvbnRlbnQtZm9yLWFjY2Vzc2liaWxpdHlcbiAqXG4gKiAxLiBGb3IgbG9uZyBjb250ZW50LCBsaW5lIGZlZWRzIGFyZSBub3QgaW50ZXJwcmV0ZWQgYXMgc3BhY2VzIGFuZCBzbWFsbCB3aWR0aFxuICogICAgY2F1c2VzIGNvbnRlbnQgdG8gd3JhcCAxIHdvcmQgcGVyIGxpbmU6XG4gKiAgICBodHRwczovL21lZGl1bS5jb20vQGplc3NlYmVhY2gvYmV3YXJlLXNtdXNoZWQtb2ZmLXNjcmVlbi1hY2Nlc3NpYmxlLXRleHQtNTk1MmE0YzJjYmZlXG4gKlxuICogQHNlZSBodHRwczovL2dpdGh1Yi5jb20vaDVicC9odG1sNS1ib2lsZXJwbGF0ZS9ibG9iL21hc3Rlci9zcmMvY3NzL21haW4uY3NzI0wxMzBcbiAqL1xuLyoqXG4gKiBCcmVha3BvaW50IGNvbXBvbmVudCB1c2VkIGJ5IGluY2x1ZGUtbWVkaWEgdmVuZG9yIGxpYnJhcnkuXG4gKi9cbkB1c2UgJ3Nhc3M6bWFwJztcbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuLyogc3R5bGVsaW50LWRpc2FibGUgYmxvY2stbm8tZW1wdHkgKi9cbi8qIHN0eWxlbGludC1lbmFibGUgKi9cbi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG5AdXNlICdzYXNzOm1hcCc7XG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG4vKipcbiogRGVmYXVsdCBwcm9qZWN0IGJyZWFrcG9pbnRzIC0gW2VtXVxuKi9cbi8qIHN0eWxlbGludC1kaXNhYmxlIGJsb2NrLW5vLWVtcHR5ICovXG4vKiBzdHlsZWxpbnQtZW5hYmxlICovXG4vKipcbiAqIEJyZWFrcG9pbnQgY29tcG9uZW50IHVzZWQgYnkgaW5jbHVkZS1tZWRpYSB2ZW5kb3IgbGlicmFyeS5cbiAqL1xuQHVzZSAnc2FzczptYXAnO1xuLyoqXG4gKiBFeHRyYWN0cyBuZXN0ZWQga2V5cyBmcm9tIGdpdmVuIG1hcC5cbiAqIEV4YW1wbGU6IGRlZXAtZ2V0KCRzb21lLW1hcCwgc29tZSwgbmVzdGVkLCBrZXlzKTtcbiAqL1xuLyoqXG4qIERlZmF1bHQgcHJvamVjdCBicmVha3BvaW50cyAtIFtlbV1cbiovXG4uY3MtZm9vdGVyIHtcbiAgZm9udC1zaXplOiAxcmVtO1xuICBjb2xvcjogIzQ1NWE2NDtcbiAgYmFja2dyb3VuZDogI2ZmZjtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgcGFkZGluZzogMCAwIDJyZW07XG4gIHBhZGRpbmctYm90dG9tOiAycmVtOyB9XG4gIC5jcy1mb290ZXIgaDMge1xuICAgIGNvbG9yOiAjNDU1YTY0O1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIHBhZGRpbmctYm90dG9tOiAycmVtO1xuICAgIG1pbi1oZWlnaHQ6IDQwcHg7XG4gICAgZm9udC1zaXplOiAyLjRyZW07XG4gICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7IH1cbiAgLmNzLWZvb3RlciBwIHtcbiAgICBjb2xvcjogIzQ1NWE2NDtcbiAgICBkaXNwbGF5OiBncmlkO1xuICAgIGZvbnQtc2l6ZTogMTZweDsgfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA0Ny45OWVtKSB7XG4gICAgICAuY3MtZm9vdGVyIHAge1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgfSB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgLmNzLWZvb3RlciB7XG4gICAgICBwYWRkaW5nOiAwIDEuNXJlbTsgfSB9XG4gIC5jcy1mb290ZXJfX2NvbnRlbnQge1xuICAgIHBhZGRpbmc6IDA7IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgLmNzLWZvb3Rlcl9fY29udGVudCB7XG4gICAgICAgIC8qZGlzcGxheTogZmxleDsqL1xuICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICAgIHBhZGRpbmctdG9wOiA0cmVtO1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMi41cmVtOyB9IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgLmNzLWZvb3Rlcl9fY29udGVudCB7XG4gICAgICAgIGZsZXgtd3JhcDogbm93cmFwOyB9IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAuY3MtZm9vdGVyX19pdGVtIHtcbiAgICAgIGZsZXg6IDE7IH0gfVxuICAuY3MtZm9vdGVyX19pdGVtLS1wcm9tbyB7XG4gICAgZmxleC1iYXNpczogMTAwJTsgfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA0Ny45OWVtKSB7XG4gICAgICAuY3MtZm9vdGVyX19pdGVtLS1wcm9tbyB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7IH0gfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA2My45OWVtKSB7XG4gICAgICAuY3MtZm9vdGVyX19pdGVtLS1wcm9tbyB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDEuNXJlbTsgfSB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgIC5jcy1mb290ZXJfX2l0ZW0tLXByb21vIHtcbiAgICAgICAgZmxleC1iYXNpczogYXV0bztcbiAgICAgICAgZmxleC1ncm93OiAxOyB9IH1cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDQ3Ljk5ZW0pIHtcbiAgICAuY3MtZm9vdGVyX19pdGVtLS1saW5rcyB7XG4gICAgICBtYXJnaW4tdG9wOiAycmVtOyB9IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAuY3MtZm9vdGVyX19pdGVtLS1saW5rcyB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleC1iYXNpczogMTAwJTtcbiAgICAgIG1hcmdpbi10b3A6IDJlbTtcbiAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOyB9IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAuY3MtZm9vdGVyX19pdGVtLS1saW5rcyB7XG4gICAgICBtYXJnaW4tdG9wOiAwOyB9IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAuY3MtZm9vdGVyX19pdGVtLS1saW5rcyB7XG4gICAgICBmbGV4LWJhc2lzOiBhdXRvO1xuICAgICAgZmxleC1ncm93OiA1OyB9IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAuY3MtZm9vdGVyX19pdGVtLS1leHRyYXMge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXgtYmFzaXM6IDEwMCU7IH0gfVxuICBAbWVkaWEgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5jcy1mb290ZXJfX2l0ZW0tLWV4dHJhcyB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGZsZXgtYmFzaXM6IDI1JTtcbiAgICAgIGZsZXgtZ3JvdzogMjsgfSB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgLmNzLWZvb3Rlcl9fc2VjdGlvbiB7XG4gICAgICBmbGV4OiAxOyB9IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAuY3MtZm9vdGVyX19zZWN0aW9uLS1uZXdzbGV0dGVyIHtcbiAgICAgIGZsZXgtZ3JvdzogMjsgfSB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLmNzLWZvb3Rlcl9fc2VjdGlvbi0tc29jaWFscyB7XG4gICAgICBtYXJnaW4tdG9wOiA0cmVtOyB9IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAuY3MtZm9vdGVyX19zZWN0aW9uLS1zdG9yZXMtc3dpdGNoZXIge1xuICAgICAgbWFyZ2luLXRvcDogNHJlbTtcbiAgICAgIG1heC13aWR0aDogMjByZW07IH0gfVxuICAuY3MtZm9vdGVyX19zZWN0aW9uIC5jb250ZW50IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IH1cbiAgICAuY3MtZm9vdGVyX19zZWN0aW9uIC5jb250ZW50IC5waG9uZSB7XG4gICAgICBmb250LXNpemU6IDJyZW07XG4gICAgICBtYXJnaW4tYm90dG9tOiAxcmVtOyB9XG4gICAgLmNzLWZvb3Rlcl9fc2VjdGlvbiAuY29udGVudCAuc21hbGwge1xuICAgICAgZm9udC1zaXplOiAxLjNyZW07XG4gICAgICBmb250LXdlaWdodDogNzAwOyB9XG4gICAgLmNzLWZvb3Rlcl9fc2VjdGlvbiAuY29udGVudCAubWFpbCB7XG4gICAgICBtYXJnaW4tdG9wOiAxcmVtO1xuICAgICAgZm9udC1zaXplOiAycmVtO1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIHBhZGRpbmctbGVmdDogNHJlbTtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAgICAgLmNzLWZvb3Rlcl9fc2VjdGlvbiAuY29udGVudCAubWFpbDpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiB1cmwoXCIuLi9pbWFnZXMvaWNvbnMvbWFpbC1sb2dvLnN2Z1wiKTtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHdpZHRoOiAzMHB4O1xuICAgICAgICBoZWlnaHQ6IDE4cHg7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgbGVmdDogMHB4OyB9XG4gIEBtZWRpYSAobWF4LXdpZHRoOiA0Ny45OWVtKSB7XG4gICAgLmNzLWZvb3Rlcl9fc2VjdGlvbi0tY29sbGFwc2libGUge1xuICAgICAgd2lkdGg6IDk2JTtcbiAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgICAgIHBhZGRpbmc6IDhweCAzMHB4IDEwcHg7XG4gICAgICBib3JkZXItcmFkaXVzOiAyM3B4O1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgIzg4ODsgfSB9XG4gIC5jcy1mb290ZXJfX3NlY3Rpb24tdGl0bGUsXG4gIC5jcy1mb290ZXIgW2RhdGEtcm9sZT0ndGl0bGUnXSB7XG4gICAgZm9udC1mYW1pbHk6IFwiRG9zaXNcIiwgc3lzdGVtLXVpLCAtYXBwbGUtc3lzdGVtLCBTZWdvZSBVSSwgUm9ib3RvLCBVYnVudHUsIENhbnRhcmVsbCwgT3h5Z2VuLCBzYW5zLXNlcmlmLCBcIkFwcGxlIENvbG9yIEVtb2ppXCIsIFwiU2Vnb2UgVUkgRW1vamlcIiwgXCJTZWdvZSBVSSBTeW1ib2xcIiwgXCJOb3RvIENvbG9yIEVtb2ppXCI7XG4gICAgZm9udC1zaXplOiAxLjVyZW07XG4gICAgbGluZS1oZWlnaHQ6IDEuMTtcbiAgICBjb2xvcjogIzQ1NWE2NDtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICAgIG1hcmdpbjogMXJlbSAwIDJyZW07XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIG1hcmdpbjogMDtcbiAgICBjb2xvcjogIzQ1NWE2NDtcbiAgICBmb250LXNpemU6IDJyZW07XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTsgfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA0Ny45OWVtKSB7XG4gICAgICAuY3MtZm9vdGVyX19zZWN0aW9uLS1jb2xsYXBzaWJsZSAuY3MtZm9vdGVyX19zZWN0aW9uLXRpdGxlLCAuY3MtZm9vdGVyX19zZWN0aW9uLS1jb2xsYXBzaWJsZVxuICAgICAgLmNzLWZvb3RlciBbZGF0YS1yb2xlPSd0aXRsZSddIHtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgICAgICAgLmNzLWZvb3Rlcl9fc2VjdGlvbi0tY29sbGFwc2libGUgLmNzLWZvb3Rlcl9fc2VjdGlvbi10aXRsZTpiZWZvcmUsIC5jcy1mb290ZXJfX3NlY3Rpb24tLWNvbGxhcHNpYmxlIC5jcy1mb290ZXJfX3NlY3Rpb24tdGl0bGU6YWZ0ZXIsIC5jcy1mb290ZXJfX3NlY3Rpb24tLWNvbGxhcHNpYmxlXG4gICAgICAgIC5jcy1mb290ZXIgW2RhdGEtcm9sZT0ndGl0bGUnXTpiZWZvcmUsIC5jcy1mb290ZXJfX3NlY3Rpb24tLWNvbGxhcHNpYmxlXG4gICAgICAgIC5jcy1mb290ZXIgW2RhdGEtcm9sZT0ndGl0bGUnXTphZnRlciB7XG4gICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgIHRvcDogNTAlO1xuICAgICAgICAgIHdpZHRoOiAxLjJyZW07XG4gICAgICAgICAgaGVpZ2h0OiAwLjJyZW07XG4gICAgICAgICAgbGVmdDogYXV0bztcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjODg4O1xuICAgICAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjNzIGVhc2Utb3V0LCBvcGFjaXR5IDAuMTVzIGVhc2Utb3V0LCBiYWNrZ3JvdW5kLWNvbG9yIDAuMTVzIGxpbmVhcjtcbiAgICAgICAgICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47IH1cbiAgICAgICAgLmNzLWZvb3Rlcl9fc2VjdGlvbi0tY29sbGFwc2libGUgLmNzLWZvb3Rlcl9fc2VjdGlvbi10aXRsZTpiZWZvcmUsIC5jcy1mb290ZXJfX3NlY3Rpb24tLWNvbGxhcHNpYmxlIC5jcy1mb290ZXJfX3NlY3Rpb24tdGl0bGU6YWZ0ZXIsIC5jcy1mb290ZXJfX3NlY3Rpb24tLWNvbGxhcHNpYmxlXG4gICAgICAgIC5jcy1mb290ZXIgW2RhdGEtcm9sZT0ndGl0bGUnXTpiZWZvcmUsIC5jcy1mb290ZXJfX3NlY3Rpb24tLWNvbGxhcHNpYmxlXG4gICAgICAgIC5jcy1mb290ZXIgW2RhdGEtcm9sZT0ndGl0bGUnXTphZnRlciB7XG4gICAgICAgICAgcmlnaHQ6IDEuNXJlbTtcbiAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC01MCUsIDApICFpbXBvcnRhbnQ7IH1cbiAgICAgICAgLmNzLWZvb3Rlcl9fc2VjdGlvbi0tY29sbGFwc2libGUgLmNzLWZvb3Rlcl9fc2VjdGlvbi10aXRsZTphZnRlciwgLmNzLWZvb3Rlcl9fc2VjdGlvbi0tY29sbGFwc2libGVcbiAgICAgICAgLmNzLWZvb3RlciBbZGF0YS1yb2xlPSd0aXRsZSddOmFmdGVyIHtcbiAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC01MCUsIDApIHJvdGF0ZSg5MGRlZykgIWltcG9ydGFudDsgfVxuICAgICAgICAuY3MtZm9vdGVyX19zZWN0aW9uLS1jb2xsYXBzaWJsZSAuY3MtZm9vdGVyX19zZWN0aW9uLXRpdGxlW2FyaWEtZXhwYW5kZWQ9XCJ0cnVlXCJdOmJlZm9yZSwgLmNzLWZvb3Rlcl9fc2VjdGlvbi0tY29sbGFwc2libGVcbiAgICAgICAgLmNzLWZvb3RlciBbZGF0YS1yb2xlPSd0aXRsZSddW2FyaWEtZXhwYW5kZWQ9XCJ0cnVlXCJdOmJlZm9yZSB7XG4gICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtNTAlLCAwKSByb3RhdGUoLTkwZGVnKSAhaW1wb3J0YW50O1xuICAgICAgICAgIG9wYWNpdHk6IDA7IH1cbiAgICAgICAgLmNzLWZvb3Rlcl9fc2VjdGlvbi0tY29sbGFwc2libGUgLmNzLWZvb3Rlcl9fc2VjdGlvbi10aXRsZVthcmlhLWV4cGFuZGVkPVwidHJ1ZVwiXTphZnRlciwgLmNzLWZvb3Rlcl9fc2VjdGlvbi0tY29sbGFwc2libGVcbiAgICAgICAgLmNzLWZvb3RlciBbZGF0YS1yb2xlPSd0aXRsZSddW2FyaWEtZXhwYW5kZWQ9XCJ0cnVlXCJdOmFmdGVyIHtcbiAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC01MCUsIDApIHJvdGF0ZSgwKSAhaW1wb3J0YW50OyB9XG4gICAgICAuY3MtZm9vdGVyX19zZWN0aW9uLS1zb2NpYWxzIC5jcy1mb290ZXJfX3NlY3Rpb24tdGl0bGUsIC5jcy1mb290ZXJfX3NlY3Rpb24tLXNvY2lhbHNcbiAgICAgIC5jcy1mb290ZXIgW2RhdGEtcm9sZT0ndGl0bGUnXSB7XG4gICAgICAgIGJvcmRlcjogMDtcbiAgICAgICAgY2xpcDogcmVjdCgwIDAgMCAwKTtcbiAgICAgICAgaGVpZ2h0OiAxcHg7XG4gICAgICAgIG1hcmdpbjogLTFweDtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB3aWR0aDogMXB4O1xuICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgICAgICAvKiAxICovIH0gfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAuY3MtZm9vdGVyX19zZWN0aW9uLXRpdGxlLFxuICAgICAgLmNzLWZvb3RlciBbZGF0YS1yb2xlPSd0aXRsZSddIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMnJlbTtcbiAgICAgICAgYm9yZGVyLXRvcDogbm9uZTtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAwOyB9IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgLmNzLWZvb3Rlcl9fc2VjdGlvbi10aXRsZSxcbiAgICAgIC5jcy1mb290ZXIgW2RhdGEtcm9sZT0ndGl0bGUnXSB7XG4gICAgICAgIHBhZGRpbmctdG9wOiAwO1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwOyB9IH1cbiAgLmNzLWZvb3Rlcl9fc2VjdGlvbi1jb250ZW50LFxuICAuY3MtZm9vdGVyIFtkYXRhLXJvbGU9J2NvbnRlbnQnXSB7XG4gICAgcGFkZGluZzogMXJlbTtcbiAgICBmb250LXNpemU6IDEuMmVtOyB9XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDQ3Ljk5ZW0pIHtcbiAgICAgIC5jcy1mb290ZXJfX3NlY3Rpb24tLWNvbGxhcHNpYmxlIC5jcy1mb290ZXJfX3NlY3Rpb24tY29udGVudCwgLmNzLWZvb3Rlcl9fc2VjdGlvbi0tY29sbGFwc2libGVcbiAgICAgIC5jcy1mb290ZXIgW2RhdGEtcm9sZT0nY29udGVudCddIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTsgfSB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgIC5jcy1mb290ZXJfX3NlY3Rpb24tY29udGVudCxcbiAgICAgIC5jcy1mb290ZXIgW2RhdGEtcm9sZT0nY29udGVudCddIHtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAwOyB9IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgLmNzLWZvb3Rlcl9fc2VjdGlvbi1jb250ZW50LFxuICAgICAgLmNzLWZvb3RlciBbZGF0YS1yb2xlPSdjb250ZW50J10ge1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMDsgfSB9XG4gIC5jcy1mb290ZXJfX3Nob3AtbG9nbyB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDEzLjVlbTtcbiAgICBoZWlnaHQ6IDIuM2VtO1xuICAgIG1pbi13aWR0aDogMTMuNWVtO1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICBtYXgtaGVpZ2h0OiAxMDAlOyB9XG5cbi5jcy1jb250YWluZXItLWZvb3RlciB7XG4gIG1heC13aWR0aDogbm9uZTsgfVxuXG4uY3MtY29udGFpbmVyLS1mb290ZXItdXNwcyAuY3MtaW1hZ2UtdGVhc2VyX19jb250ZW50IHtcbiAgbWFyZ2luOiAwICFpbXBvcnRhbnQ7IH1cblxuLmNzLWZvb3Rlcl9fY29udGVudCAuY3MtZm9vdGVyX19pdGVtLmNzLWZvb3Rlcl9faXRlbS0tY3JlZGVudGlhbHMge1xuICBtYXJnaW46IDJyZW0gMDtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1hcm91bmQ7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7IH1cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDQ3Ljk5ZW0pIHtcbiAgICAuY3MtZm9vdGVyX19jb250ZW50IC5jcy1mb290ZXJfX2l0ZW0uY3MtZm9vdGVyX19pdGVtLS1jcmVkZW50aWFscyB7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyB9IH1cbiAgLmNzLWZvb3Rlcl9fY29udGVudCAuY3MtZm9vdGVyX19pdGVtLmNzLWZvb3Rlcl9faXRlbS0tY3JlZGVudGlhbHMgLmNvcHlyaWdodCxcbiAgLmNzLWZvb3Rlcl9fY29udGVudCAuY3MtZm9vdGVyX19pdGVtLmNzLWZvb3Rlcl9faXRlbS0tY3JlZGVudGlhbHMgLmF1dGhvciB7XG4gICAgZm9udC1zaXplOiAxNnB4O1xuICAgIGNvbG9yOiAjYjBiMGIwOyB9XG4gICAgLmNzLWZvb3Rlcl9fY29udGVudCAuY3MtZm9vdGVyX19pdGVtLmNzLWZvb3Rlcl9faXRlbS0tY3JlZGVudGlhbHMgLmNvcHlyaWdodCBhLFxuICAgIC5jcy1mb290ZXJfX2NvbnRlbnQgLmNzLWZvb3Rlcl9faXRlbS5jcy1mb290ZXJfX2l0ZW0tLWNyZWRlbnRpYWxzIC5hdXRob3IgYSB7XG4gICAgICBjb2xvcjogI2IwYjBiMCAhaW1wb3J0YW50O1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9XG4gIC5jcy1mb290ZXJfX2NvbnRlbnQgLmNzLWZvb3Rlcl9faXRlbS5jcy1mb290ZXJfX2l0ZW0tLWNyZWRlbnRpYWxzIC5zb2NpYWxzIHtcbiAgICBwYWRkaW5nOiA4cHggMzBweDtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjYjBiMGIwO1xuICAgIGJvcmRlci1yYWRpdXM6IDIwMHB4OyB9XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDQ3Ljk5ZW0pIHtcbiAgICAgIC5jcy1mb290ZXJfX2NvbnRlbnQgLmNzLWZvb3Rlcl9faXRlbS5jcy1mb290ZXJfX2l0ZW0tLWNyZWRlbnRpYWxzIC5zb2NpYWxzIHtcbiAgICAgICAgb3JkZXI6IC0xO1xuICAgICAgICBib3JkZXI6IHVuc2V0OyB9IH1cbiAgICAuY3MtZm9vdGVyX19jb250ZW50IC5jcy1mb290ZXJfX2l0ZW0uY3MtZm9vdGVyX19pdGVtLS1jcmVkZW50aWFscyAuc29jaWFscyAuaW5zdGFncmFtIHtcbiAgICAgIG1hcmdpbi1yaWdodDogMXJlbTsgfVxuXG4uY3MtZm9vdGVyX19jb250ZW50IC5jcy1mb290ZXJfX2l0ZW0uY3MtZm9vdGVyX19pdGVtLS1saW5rcyA+IC5jcy1mb290ZXJfX3NlY3Rpb24ge1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIHBhZGRpbmc6IDEuNXJlbTsgfVxuIiwiLyoqKlxuICogSGlkZSBvbmx5IHZpc3VhbGx5LCBidXQgaGF2ZSBpdCBhdmFpbGFibGUgZm9yIHNjcmVlbiByZWFkZXJzOlxuICogaHR0cHM6Ly9zbm9vay5jYS9hcmNoaXZlcy9odG1sX2FuZF9jc3MvaGlkaW5nLWNvbnRlbnQtZm9yLWFjY2Vzc2liaWxpdHlcbiAqXG4gKiAxLiBGb3IgbG9uZyBjb250ZW50LCBsaW5lIGZlZWRzIGFyZSBub3QgaW50ZXJwcmV0ZWQgYXMgc3BhY2VzIGFuZCBzbWFsbCB3aWR0aFxuICogICAgY2F1c2VzIGNvbnRlbnQgdG8gd3JhcCAxIHdvcmQgcGVyIGxpbmU6XG4gKiAgICBodHRwczovL21lZGl1bS5jb20vQGplc3NlYmVhY2gvYmV3YXJlLXNtdXNoZWQtb2ZmLXNjcmVlbi1hY2Nlc3NpYmxlLXRleHQtNTk1MmE0YzJjYmZlXG4gKlxuICogQHNlZSBodHRwczovL2dpdGh1Yi5jb20vaDVicC9odG1sNS1ib2lsZXJwbGF0ZS9ibG9iL21hc3Rlci9zcmMvY3NzL21haW4uY3NzI0wxMzBcbiAqL1xuXG5AbWl4aW4gdmlzdWFsbHktaGlkZGVuIHtcbiAgICBib3JkZXI6IDA7XG4gICAgY2xpcDogcmVjdCgwIDAgMCAwKTtcbiAgICBoZWlnaHQ6IDFweDtcbiAgICBtYXJnaW46IC0xcHg7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBwYWRkaW5nOiAwO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB3aWR0aDogMXB4O1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7IC8qIDEgKi9cbn1cblxuQG1peGluIHZpc3VhbGx5LXZpc2libGUge1xuICAgIGNsaXA6IGF1dG87XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIG1hcmdpbjogMDtcbiAgICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgICBwYWRkaW5nOiAwO1xuICAgIHBvc2l0aW9uOiBzdGF0aWM7XG4gICAgd2lkdGg6IGF1dG87XG4gICAgd2hpdGUtc3BhY2U6IG5vcm1hbDtcbn1cbiIsIi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG5AdXNlICdzYXNzOm1hcCc7XG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG4vKipcbiogRGVmYXVsdCBwcm9qZWN0IGJyZWFrcG9pbnRzIC0gW2VtXVxuKi9cbi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG5AdXNlICdzYXNzOm1hcCc7XG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG4vKipcbiogRGVmYXVsdCBwcm9qZWN0IGJyZWFrcG9pbnRzIC0gW2VtXVxuKi9cbi8qKipcbiAqIFJlbW92ZSBicm93c2VyJ3MgbWFyZ2lucywgcGFkZGluZ3MgYW5kIGxpc3Qgc3R5bGUgcnVsZXNcbiAqL1xuLyoqXG4gKiBCcmVha3BvaW50IGNvbXBvbmVudCB1c2VkIGJ5IGluY2x1ZGUtbWVkaWEgdmVuZG9yIGxpYnJhcnkuXG4gKi9cbkB1c2UgJ3Nhc3M6bWFwJztcbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuLyogc3R5bGVsaW50LWRpc2FibGUgYmxvY2stbm8tZW1wdHkgKi9cbi8qIHN0eWxlbGludC1lbmFibGUgKi9cbi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG5AdXNlICdzYXNzOm1hcCc7XG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG4vKipcbiogRGVmYXVsdCBwcm9qZWN0IGJyZWFrcG9pbnRzIC0gW2VtXVxuKi9cbi5jcy1mb290ZXItbGlua3Mge1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7IH1cbiAgLmNzLWZvb3Rlci1saW5rc19faXRlbSB7XG4gICAgbWFyZ2luOiAwIDAgMC4zZW07IH1cbiAgLmNzLWZvb3Rlci1saW5rcyBhLCAuY3MtZm9vdGVyLWxpbmtzIGE6dmlzaXRlZCB7XG4gICAgY29sb3I6ICM0NTVhNjQ7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9XG4gIC5jcy1mb290ZXItbGlua3MgYTpob3ZlciwgLmNzLWZvb3Rlci1saW5rcyBhOmZvY3VzLCAuY3MtZm9vdGVyLWxpbmtzIGE6YWN0aXZlLCAuY3MtZm9vdGVyLWxpbmtzIGE6dmlzaXRlZDpob3ZlciwgLmNzLWZvb3Rlci1saW5rcyBhOnZpc2l0ZWQ6Zm9jdXMge1xuICAgIGNvbG9yOiAjNGQyYzkxO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfVxuICAuY3MtZm9vdGVyLWxpbmtzIGEsIC5jcy1mb290ZXItbGlua3MgYTp2aXNpdGVkIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwYWRkaW5nOiAwcHg7XG4gICAgZm9udC1zaXplOiAycmVtOyB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgIC5jcy1mb290ZXItbGlua3MgYSwgLmNzLWZvb3Rlci1saW5rcyBhOnZpc2l0ZWQge1xuICAgICAgICBwYWRkaW5nOiAwcHg7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsgfSB9XG4iLCJAaW1wb3J0ICdjb25maWcvdmFyaWFibGVzJztcbkBpbXBvcnQgJ3ZlbmRvcnMvaW5jbHVkZS1tZWRpYSc7XG5AaW1wb3J0ICd1dGlscy9yZXNldC1saXN0LXN0eWxlJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvdHlwb2dyYXBoeS9taXhpbic7XG5cbiRmb290ZXItbGlua3NfbGlzdC1pdGVtLW1hcmdpbjogMCAwIDAuM2VtICFkZWZhdWx0O1xuXG4kZm9vdGVyLWxpbmtzX2xpbmstZm9udC1zaXplOiAycmVtICFkZWZhdWx0O1xuJGZvb3Rlci1saW5rc19saW5rLWNvbG9yOiAjNDU1YTY0ICFkZWZhdWx0O1xuJGZvb3Rlci1saW5rc19saW5rLWhvdmVyLWNvbG9yOiAjNGQyYzkxICFkZWZhdWx0O1xuJGZvb3Rlci1saW5rc19saW5rLWRlY29yYXRpb246IG5vbmUgIWRlZmF1bHQ7XG4kZm9vdGVyLWxpbmtzX2xpbmstaG92ZXItZGVjb3JhdGlvbjogbm9uZSAhZGVmYXVsdDtcbiRmb290ZXItbGlua3NfbGluay1wYWRkaW5nLW1vYmlsZTogMHB4ICFkZWZhdWx0O1xuJGZvb3Rlci1saW5rc19saW5rLXBhZGRpbmctZGVza3RvcDogMHB4ICFkZWZhdWx0O1xuXG4uI3skbnN9Zm9vdGVyLWxpbmtzIHtcbiAgICAkcm9vdDogJjtcblxuICAgIEBpbmNsdWRlIHJlc2V0LWxpc3Qtc3R5bGUoKTtcblxuICAgICZfX2l0ZW0ge1xuICAgICAgICBtYXJnaW46ICRmb290ZXItbGlua3NfbGlzdC1pdGVtLW1hcmdpbjtcbiAgICB9XG5cbiAgICBhIHtcbiAgICAgICAgQGluY2x1ZGUgbGluaygkY29sb3I6ICRmb290ZXItbGlua3NfbGluay1jb2xvcixcbiAgICAgICAgICAgICRjb2xvci1ob3ZlcjogJGZvb3Rlci1saW5rc19saW5rLWhvdmVyLWNvbG9yLFxuICAgICAgICAgICAgJGRlY29yYXRpb246ICRmb290ZXItbGlua3NfbGluay1kZWNvcmF0aW9uLFxuICAgICAgICAgICAgJGRlY29yYXRpb24taG92ZXI6ICRmb290ZXItbGlua3NfbGluay1ob3Zlci1kZWNvcmF0aW9uICk7XG5cbiAgICAgICAgJixcbiAgICAgICAgJjp2aXNpdGVkIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgcGFkZGluZzogJGZvb3Rlci1saW5rc19saW5rLXBhZGRpbmctbW9iaWxlO1xuICAgICAgICAgICAgZm9udC1zaXplOiAkZm9vdGVyLWxpbmtzX2xpbmstZm9udC1zaXplO1xuXG5cbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PXRhYmxldCcpIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAkZm9vdGVyLWxpbmtzX2xpbmstcGFkZGluZy1kZXNrdG9wO1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn0iLCIvKipcbiAqIEJyZWFrcG9pbnQgY29tcG9uZW50IHVzZWQgYnkgaW5jbHVkZS1tZWRpYSB2ZW5kb3IgbGlicmFyeS5cbiAqL1xuQHVzZSAnc2FzczptYXAnO1xuLyoqXG4gKiBFeHRyYWN0cyBuZXN0ZWQga2V5cyBmcm9tIGdpdmVuIG1hcC5cbiAqIEV4YW1wbGU6IGRlZXAtZ2V0KCRzb21lLW1hcCwgc29tZSwgbmVzdGVkLCBrZXlzKTtcbiAqL1xuLyoqXG4qIERlZmF1bHQgcHJvamVjdCBicmVha3BvaW50cyAtIFtlbV1cbiovXG4vKipcbiAqIEJyZWFrcG9pbnQgY29tcG9uZW50IHVzZWQgYnkgaW5jbHVkZS1tZWRpYSB2ZW5kb3IgbGlicmFyeS5cbiAqL1xuQHVzZSAnc2FzczptYXAnO1xuLyoqXG4gKiBFeHRyYWN0cyBuZXN0ZWQga2V5cyBmcm9tIGdpdmVuIG1hcC5cbiAqIEV4YW1wbGU6IGRlZXAtZ2V0KCRzb21lLW1hcCwgc29tZSwgbmVzdGVkLCBrZXlzKTtcbiAqL1xuLyoqXG4qIERlZmF1bHQgcHJvamVjdCBicmVha3BvaW50cyAtIFtlbV1cbiovXG4vKiBzdHlsZWxpbnQtZGlzYWJsZSBibG9jay1uby1lbXB0eSAqL1xuLyogc3R5bGVsaW50LWVuYWJsZSAqL1xuLyoqXG4gKiBCcmVha3BvaW50IGNvbXBvbmVudCB1c2VkIGJ5IGluY2x1ZGUtbWVkaWEgdmVuZG9yIGxpYnJhcnkuXG4gKi9cbkB1c2UgJ3Nhc3M6bWFwJztcbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuLmNzLWdvb2dsZS1yZWNhcHRjaGEge1xuICBtYXJnaW46IDFyZW0gMDsgfVxuICAuY3MtZ29vZ2xlLXJlY2FwdGNoYV9fYmFkZ2UtLWludmlzaWJsZSAuZ3JlY2FwdGNoYS1iYWRnZSB7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgIGhlaWdodDogMCAhaW1wb3J0YW50O1xuICAgIHdpZHRoOiAwICFpbXBvcnRhbnQ7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuICAuY3MtZ29vZ2xlLXJlY2FwdGNoYV9fbm90ZSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIG1hcmdpbjogMDtcbiAgICBmb250LXNpemU6IDEuMnJlbTtcbiAgICBjb2xvcjogIzY5Njk2OTsgfVxuICAgIC5jcy1nb29nbGUtcmVjYXB0Y2hhX19ub3RlIGEsIC5jcy1nb29nbGUtcmVjYXB0Y2hhX19ub3RlIGE6dmlzaXRlZCB7XG4gICAgICBjb2xvcjogIzdlNTdjMjtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfVxuICAgIC5jcy1nb29nbGUtcmVjYXB0Y2hhX19ub3RlIGE6aG92ZXIsIC5jcy1nb29nbGUtcmVjYXB0Y2hhX19ub3RlIGE6Zm9jdXMsIC5jcy1nb29nbGUtcmVjYXB0Y2hhX19ub3RlIGE6YWN0aXZlLCAuY3MtZ29vZ2xlLXJlY2FwdGNoYV9fbm90ZSBhOnZpc2l0ZWQ6aG92ZXIsIC5jcy1nb29nbGUtcmVjYXB0Y2hhX19ub3RlIGE6dmlzaXRlZDpmb2N1cyB7XG4gICAgICBjb2xvcjogIzRkMmM5MTtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfVxuICAuY3MtZ29vZ2xlLXJlY2FwdGNoYS0tbmV3c2xldHRlciB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICBtYXJnaW46IDFyZW0gMDsgfVxuICAgIC5jcy1nb29nbGUtcmVjYXB0Y2hhLS1uZXdzbGV0dGVyIC5jcy1nb29nbGUtcmVjYXB0Y2hhX19ub3RlIHtcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIGZvbnQtc2l6ZTogMS4ycmVtO1xuICAgICAgY29sb3I6ICNmZmY7IH1cbiAgICAgIC5jcy1nb29nbGUtcmVjYXB0Y2hhLS1uZXdzbGV0dGVyIC5jcy1nb29nbGUtcmVjYXB0Y2hhX19ub3RlIGEsIC5jcy1nb29nbGUtcmVjYXB0Y2hhLS1uZXdzbGV0dGVyIC5jcy1nb29nbGUtcmVjYXB0Y2hhX19ub3RlIGE6dmlzaXRlZCB7XG4gICAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH1cbiAgICAgIC5jcy1nb29nbGUtcmVjYXB0Y2hhLS1uZXdzbGV0dGVyIC5jcy1nb29nbGUtcmVjYXB0Y2hhX19ub3RlIGE6aG92ZXIsIC5jcy1nb29nbGUtcmVjYXB0Y2hhLS1uZXdzbGV0dGVyIC5jcy1nb29nbGUtcmVjYXB0Y2hhX19ub3RlIGE6Zm9jdXMsIC5jcy1nb29nbGUtcmVjYXB0Y2hhLS1uZXdzbGV0dGVyIC5jcy1nb29nbGUtcmVjYXB0Y2hhX19ub3RlIGE6YWN0aXZlLCAuY3MtZ29vZ2xlLXJlY2FwdGNoYS0tbmV3c2xldHRlciAuY3MtZ29vZ2xlLXJlY2FwdGNoYV9fbm90ZSBhOnZpc2l0ZWQ6aG92ZXIsIC5jcy1nb29nbGUtcmVjYXB0Y2hhLS1uZXdzbGV0dGVyIC5jcy1nb29nbGUtcmVjYXB0Y2hhX19ub3RlIGE6dmlzaXRlZDpmb2N1cyB7XG4gICAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgfVxuICAuY3MtZ29vZ2xlLXJlY2FwdGNoYS0tY3VzdG9tZXJfY3JlYXRlIHtcbiAgICBtYXJnaW4tdG9wOiAtMnJlbTsgfVxuICAuY3MtZ29vZ2xlLXJlY2FwdGNoYS0tY3VzdG9tZXJfbG9naW4gLmctcmVjYXB0Y2hhIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwICFpbXBvcnRhbnQ7IH1cbiIsIkBpbXBvcnQgJ2NvbmZpZy92YXJpYWJsZXMnO1xuQGltcG9ydCAnY29tcG9uZW50cy90eXBvZ3JhcGh5L21peGluJztcblxuJGdvb2dsZS1yZWNhcHRjaGFfbWFyZ2luOiAxcmVtIDAgIWRlZmF1bHQ7XG4kZ29vZ2xlLXJlY2FwdGNoYV90ZXh0LW1hcmdpbjogMCAhZGVmYXVsdDtcbiRnb29nbGUtcmVjYXB0Y2hhX3RleHQtY29sb3I6ICRjb2xvcl90ZXh0LTUwMCAhZGVmYXVsdDtcbiRnb29nbGUtcmVjYXB0Y2hhX3RleHQtZm9udC1zaXplOiAxLjJyZW0gIWRlZmF1bHQ7XG4kZ29vZ2xlLXJlY2FwdGNoYV9saW5rLWNvbG9yOiAkbGluay1jb2xvcl9iYXNlICFkZWZhdWx0O1xuJGdvb2dsZS1yZWNhcHRjaGFfbGluay1jb2xvci1ob3ZlcjogJGxpbmstY29sb3JfYmFzZS1ob3ZlciAhZGVmYXVsdDtcbiRnb29nbGUtcmVjYXB0Y2hhX2xpbmstZGVjb3JhdGlvbjogbm9uZSAhZGVmYXVsdDtcbiRnb29nbGUtcmVjYXB0Y2hhX2xpbmstZGVjb3JhdGlvbi1ob3Zlcjogbm9uZSAhZGVmYXVsdDtcblxuLy8gbmV3c2xldHRlclxuJGdvb2dsZS1yZWNhcHRjaGFfbmV3c2xldHRlci1tYXJnaW46IDFyZW0gMCAhZGVmYXVsdDtcbiRnb29nbGUtcmVjYXB0Y2hhX25ld3NsZXR0ZXItdGV4dC1tYXJnaW46IDAgIWRlZmF1bHQ7XG4kZ29vZ2xlLXJlY2FwdGNoYV9uZXdzbGV0dGVyLXRleHQtY29sb3I6ICRjb2xvcl90ZXh0LTIwMCAhZGVmYXVsdDtcbiRnb29nbGUtcmVjYXB0Y2hhX25ld3NsZXR0ZXItdGV4dC1mb250LXNpemU6IDEuMnJlbSAhZGVmYXVsdDtcbiRnb29nbGUtcmVjYXB0Y2hhX25ld3NsZXR0ZXItbGluay1jb2xvcjogJGNvbG9yX3doaXRlICFkZWZhdWx0O1xuJGdvb2dsZS1yZWNhcHRjaGFfbmV3c2xldHRlci1saW5rLWNvbG9yLWhvdmVyOiAkY29sb3Jfd2hpdGUgIWRlZmF1bHQ7XG4kZ29vZ2xlLXJlY2FwdGNoYV9uZXdzbGV0dGVyLWxpbmstZGVjb3JhdGlvbjogbm9uZSAhZGVmYXVsdDtcbiRnb29nbGUtcmVjYXB0Y2hhX25ld3NsZXR0ZXItbGluay1kZWNvcmF0aW9uLWhvdmVyOiB1bmRlcmxpbmUgIWRlZmF1bHQ7XG5cbi4jeyRuc31nb29nbGUtcmVjYXB0Y2hhIHtcbiAgICAkcm9vdDogJjtcblxuICAgIG1hcmdpbjogJGdvb2dsZS1yZWNhcHRjaGFfbWFyZ2luO1xuXG4gICAgJl9fYmFkZ2Uge1xuICAgICAgICAmLS1pbnZpc2libGUge1xuICAgICAgICAgICAgLmdyZWNhcHRjaGEtYmFkZ2Uge1xuICAgICAgICAgICAgICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDAgIWltcG9ydGFudDtcbiAgICAgICAgICAgICAgICB3aWR0aDogMCAhaW1wb3J0YW50O1xuICAgICAgICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19ub3RlIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBtYXJnaW46ICRnb29nbGUtcmVjYXB0Y2hhX3RleHQtbWFyZ2luO1xuICAgICAgICBmb250LXNpemU6ICRnb29nbGUtcmVjYXB0Y2hhX3RleHQtZm9udC1zaXplO1xuICAgICAgICBjb2xvcjogJGdvb2dsZS1yZWNhcHRjaGFfdGV4dC1jb2xvcjtcblxuICAgICAgICBhIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGxpbmsoXG4gICAgICAgICAgICAgICAgJGNvbG9yOiAkZ29vZ2xlLXJlY2FwdGNoYV9saW5rLWNvbG9yLFxuICAgICAgICAgICAgICAgICRjb2xvci1ob3ZlcjogJGdvb2dsZS1yZWNhcHRjaGFfbGluay1jb2xvci1ob3ZlcixcbiAgICAgICAgICAgICAgICAkZGVjb3JhdGlvbjogJGdvb2dsZS1yZWNhcHRjaGFfbGluay1kZWNvcmF0aW9uLFxuICAgICAgICAgICAgICAgICRkZWNvcmF0aW9uLWhvdmVyOiAkZ29vZ2xlLXJlY2FwdGNoYV9saW5rLWRlY29yYXRpb24taG92ZXJcbiAgICAgICAgICAgICk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmLS1uZXdzbGV0dGVyIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgbWFyZ2luOiAkZ29vZ2xlLXJlY2FwdGNoYV9uZXdzbGV0dGVyLW1hcmdpbjtcblxuICAgICAgICAjeyRyb290fV9fbm90ZSB7XG4gICAgICAgICAgICBtYXJnaW46ICRnb29nbGUtcmVjYXB0Y2hhX25ld3NsZXR0ZXItdGV4dC1tYXJnaW47XG4gICAgICAgICAgICBmb250LXNpemU6ICRnb29nbGUtcmVjYXB0Y2hhX25ld3NsZXR0ZXItdGV4dC1mb250LXNpemU7XG4gICAgICAgICAgICBjb2xvcjogJGdvb2dsZS1yZWNhcHRjaGFfbmV3c2xldHRlci10ZXh0LWNvbG9yO1xuXG4gICAgICAgICAgICBhIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBsaW5rKFxuICAgICAgICAgICAgICAgICAgICAkY29sb3I6ICRnb29nbGUtcmVjYXB0Y2hhX25ld3NsZXR0ZXItbGluay1jb2xvcixcbiAgICAgICAgICAgICAgICAgICAgJGNvbG9yLWhvdmVyOiAkZ29vZ2xlLXJlY2FwdGNoYV9uZXdzbGV0dGVyLWxpbmstY29sb3ItaG92ZXIsXG4gICAgICAgICAgICAgICAgICAgICRkZWNvcmF0aW9uOiAkZ29vZ2xlLXJlY2FwdGNoYV9uZXdzbGV0dGVyLWxpbmstZGVjb3JhdGlvbixcbiAgICAgICAgICAgICAgICAgICAgJGRlY29yYXRpb24taG92ZXI6XG4gICAgICAgICAgICAgICAgICAgICAgICAkZ29vZ2xlLXJlY2FwdGNoYV9uZXdzbGV0dGVyLWxpbmstZGVjb3JhdGlvbi1ob3ZlclxuICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmLS1jdXN0b21lcl9jcmVhdGUge1xuICAgICAgICBtYXJnaW4tdG9wOiAtMnJlbTtcbiAgICB9XG5cbiAgICAmLS1jdXN0b21lcl9sb2dpbiB7XG4gICAgICAgIC5nLXJlY2FwdGNoYSB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCIvKipcbiAqIEJyZWFrcG9pbnQgY29tcG9uZW50IHVzZWQgYnkgaW5jbHVkZS1tZWRpYSB2ZW5kb3IgbGlicmFyeS5cbiAqL1xuQHVzZSAnc2FzczptYXAnO1xuLyoqXG4gKiBFeHRyYWN0cyBuZXN0ZWQga2V5cyBmcm9tIGdpdmVuIG1hcC5cbiAqIEV4YW1wbGU6IGRlZXAtZ2V0KCRzb21lLW1hcCwgc29tZSwgbmVzdGVkLCBrZXlzKTtcbiAqL1xuLyoqXG4qIERlZmF1bHQgcHJvamVjdCBicmVha3BvaW50cyAtIFtlbV1cbiovXG4vKipcbiAqIEJyZWFrcG9pbnQgY29tcG9uZW50IHVzZWQgYnkgaW5jbHVkZS1tZWRpYSB2ZW5kb3IgbGlicmFyeS5cbiAqL1xuQHVzZSAnc2FzczptYXAnO1xuLyoqXG4gKiBFeHRyYWN0cyBuZXN0ZWQga2V5cyBmcm9tIGdpdmVuIG1hcC5cbiAqIEV4YW1wbGU6IGRlZXAtZ2V0KCRzb21lLW1hcCwgc29tZSwgbmVzdGVkLCBrZXlzKTtcbiAqL1xuLyoqXG4qIERlZmF1bHQgcHJvamVjdCBicmVha3BvaW50cyAtIFtlbV1cbiovXG4vKipcbiAqIEJyZWFrcG9pbnQgY29tcG9uZW50IHVzZWQgYnkgaW5jbHVkZS1tZWRpYSB2ZW5kb3IgbGlicmFyeS5cbiAqL1xuQHVzZSAnc2FzczptYXAnO1xuLyoqXG4gKiBFeHRyYWN0cyBuZXN0ZWQga2V5cyBmcm9tIGdpdmVuIG1hcC5cbiAqIEV4YW1wbGU6IGRlZXAtZ2V0KCRzb21lLW1hcCwgc29tZSwgbmVzdGVkLCBrZXlzKTtcbiAqL1xuLyoqXG4qIERlZmF1bHQgcHJvamVjdCBicmVha3BvaW50cyAtIFtlbV1cbiovXG4vKipcbiAqIE1peGlucyBmb3IgZmxleGlibGUgY29udGFpbmVycyBkZWNsYXJhdGlvbi5cbiAqL1xuLyoqXG4gKiBEZWZpbmVzIHBhZ2UgY29udGFpbmVyLiBUaGlzIG1peGluIG1ha2VzIHN1cmUgdGhhdCB0aGUgY29udGVudCBoYXMgYWx3YXlzIGVxdWFsIHBhZGRpbmdcbiAqIGZvciBtb2JpbGUgc2NyZWVucyBvbiBib3RoIHNpemUgb2YgdGhlIGRldmljZS5cbiAqL1xuLyoqXG4gKiBOZWdhdGVzIHBhcmVudCBjb250YWluZXIncyBwYWRkaW5nIGFuZCBzZXRzIGl0IG93bi5cbiAqIFNvbWV0aGltZXMgdGhpcyBoYXMgdG8gYmUgZG9uZSB0byBtYWtlIGJhY2tncm91bmQgZXZlbiB0byBvdGhlciBjb250YWluZXJzJyBjb250ZW50LlxuICovXG4vKipcbiAqIERlZmluZXMgY29udGFpbmVyIHdyYXBwZXIgdGhhdCBtYWtlcyBzdXJlIGNvbnRuZXQgZG9lc24ndCBleHRlbmQgYWJvdmUgY2VydGFpbiB3aWR0aCBhbmQgaXMgYWx3YXlzIGNlbnRlcmVkLlxuICovXG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG4vKipcbiAqIFZhcmlhYmxlcyByZWxhdGVkIHRvIHN0aWNreSBoZWFkZXIgYW5kIHRvcGJhciBvbiBtb2JpbGUgZGV2aWNlcy5cbiAqIHRvIHByZXZlbnQgcGFnZSBqdW1waW5nIHdoZW4gb2ZmYWNudmFzIChmaXhlZCBwb3NpdGlvbmVkKSBpcyBvcGVuZWRcbiAqIElmIHlvdSBoYXZlIG1vcmUgZWxlbWVudHMgb24gdG9wLCB5b3UgaGF2ZSB0byBpbmNsdWRlIHRoZWlyIGhlaWdodC5cbiAqL1xuQG1lZGlhIChtYXgtd2lkdGg6IDYzLjk5ZW0pIHtcbiAgLmNzLWNvbnRhaW5lci0taGVhZGVyIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgcGFkZGluZy1yaWdodDogMDsgfSB9XG5cbi8qKlxuICAgICAqIFN0eWxlcyByZWxhdGVkIHRvIHN0aWNreSBoZWFkZXIgYW5kIHRvcGJhciBvbiBtb2JpbGUgZGV2aWNlcy5cbiAgICAgKiB0byBwcmV2ZW50IHBhZ2UganVtcGluZyB3aGVuIG9mZmFjbnZhcyAoZml4ZWQgcG9zaXRpb25lZCkgaXMgb3BlbmVkXG4gICAgICovXG5AbWVkaWEgKG1heC13aWR0aDogNjMuOTllbSkge1xuICAubmF2aWdhdGlvbi1vZmZjYW52YXMtb3BlbiAucGFnZS13cmFwcGVyLm5vLXNjcm9sbC1jaGlsZCB7XG4gICAgcGFkZGluZy10b3A6IDguM3JlbTsgfSB9XG5cbkBtZWRpYSAobWF4LXdpZHRoOiA0Ny45OWVtKSB7XG4gIC5uYXZpZ2F0aW9uLW9mZmNhbnZhcy1vcGVuIC5wYWdlLXdyYXBwZXIubm8tc2Nyb2xsLWNoaWxkIHtcbiAgICBwYWRkaW5nLXRvcDogNXJlbTsgfSB9XG5cbkBtZWRpYSAobWF4LXdpZHRoOiA2My45OWVtKSB7XG4gIC5jcy1jb250YWluZXItLWhlYWRlciB7XG4gICAgcG9zaXRpb246IHN0aWNreTtcbiAgICB6LWluZGV4OiA4MDA7XG4gICAgdG9wOiAwO1xuICAgIC8qKlxuICAgICAgICAgICAgICAgICAqIEZpeGVkIHBvc2l0aW9uaW5nIHJlcXVpcmVkIHRvIHdvcmsgd2l0aCBvZmZjYW52YXMgZWxlbWVudHMuXG4gICAgICAgICAgICAgICAgICovIH1cbiAgICAubmF2aWdhdGlvbi1vZmZjYW52YXMtb3Blbi5uby1zY3JvbGwgLmNzLWNvbnRhaW5lci0taGVhZGVyIHtcbiAgICAgIHBvc2l0aW9uOiBmaXhlZDsgfSB9XG5cbkBtZWRpYSAobWF4LXdpZHRoOiA0Ny45OWVtKSB7XG4gIC5jcy1jb250YWluZXItLWhlYWRlciB7XG4gICAgdG9wOiAwOyB9IH1cblxuLmNzLWhlYWRlciB7XG4gIGZvbnQtc2l6ZTogMXJlbTtcbiAgaGVpZ2h0OiA1cmVtOyB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgLmNzLWhlYWRlciB7XG4gICAgICBoZWlnaHQ6IDguM3JlbTsgfSB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA4MGVtKSB7XG4gICAgLmNzLWhlYWRlciB7XG4gICAgICBoZWlnaHQ6IDEwcmVtOyB9IH1cbiAgLmNzLWhlYWRlcl9fY29udGVudCB7XG4gICAgaGVpZ2h0OiA1cmVtO1xuICAgIHotaW5kZXg6IDMwMDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBtYXgtd2lkdGg6IDEwMHZ3OyB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgIC5jcy1oZWFkZXJfX2NvbnRlbnQge1xuICAgICAgICBoZWlnaHQ6IDguM3JlbTsgfSB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgIC5jcy1oZWFkZXJfX2NvbnRlbnQge1xuICAgICAgICBib3JkZXItYm90dG9tOiB1bnNldDtcbiAgICAgICAgZmxleC13cmFwOiBub3dyYXA7IH0gfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA4MGVtKSB7XG4gICAgICAuY3MtaGVhZGVyX19jb250ZW50IHtcbiAgICAgICAgaGVpZ2h0OiAxMHJlbTsgfSB9XG4gIC5jcy1oZWFkZXJfX29mZmNhbnZhcy10b2dnbGUge1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBmbGV4OiAwIDEgNHJlbTsgfVxuICAgIC5jcy1oZWFkZXJfX29mZmNhbnZhcy10b2dnbGUgcGF0aC5zdDAge1xuICAgICAgZmlsbDogIzdlNTdjMiAhaW1wb3J0YW50OyB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgIC5jcy1oZWFkZXJfX29mZmNhbnZhcy10b2dnbGUge1xuICAgICAgICBkaXNwbGF5OiBub25lOyB9IH1cbiAgLmNzLWhlYWRlcl9fbG9nbyB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4OiAxIDE7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgcGFkZGluZzogMC43cmVtIDAgMC43cmVtIDByZW07IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogMjMuMTI1ZW0pIHtcbiAgICAgIC5jcy1oZWFkZXJfX2xvZ28ge1xuICAgICAgICBwYWRkaW5nOiAwLjdyZW0gMCAwLjdyZW0gMHJlbTsgfSB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgIC5jcy1oZWFkZXJfX2xvZ28ge1xuICAgICAgICBmbGV4OiAwIDEgYXV0bztcbiAgICAgICAgcGFkZGluZzogMDsgfSB9XG4gICAgLnBhZ2UtcHJpbnQgLmNzLWhlYWRlcl9fbG9nbyB7XG4gICAgICBtYXgtd2lkdGg6IDEyOHJlbTtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICBwYWRkaW5nOiAycmVtIDA7IH1cbiAgICAgIC5wYWdlLXByaW50IC5jcy1oZWFkZXJfX2xvZ286YWZ0ZXIge1xuICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgZGlzcGxheTogdGFibGU7XG4gICAgICAgIGNsZWFyOiBib3RoOyB9XG4gIC5jcy1oZWFkZXJfX3NlYXJjaCB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICAgIHBhZGRpbmc6IDFyZW07XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGxlZnQ6IDA7XG4gICAgcmlnaHQ6IDA7XG4gICAgei1pbmRleDogMzAwO1xuICAgIHRvcDogMTAwJTsgfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAuY3MtaGVhZGVyX19zZWFyY2gge1xuICAgICAgICBmbGV4LWdyb3c6IDE7XG4gICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICBwb3NpdGlvbjogaW5pdGlhbDtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDJyZW0gIWltcG9ydGFudDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IH0gfVxuICAgIC5jcy1oZWFkZXJfX3NlYXJjaC0tYWN0aXZlIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgLmNzLWhlYWRlcl9fc2VhcmNoIHtcbiAgICAgICAgZGlzcGxheTogZmxleDsgfSB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgIC5jcy1oZWFkZXJfX3NlYXJjaCB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgdG9wOiBpbml0aWFsOyB9IH1cbiAgLmNzLWhlYWRlcl9fdXNlci1uYXYge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgIGZsZXg6IDAgMSAzMCU7IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgLmNzLWhlYWRlcl9fdXNlci1uYXYge1xuICAgICAgICBmbGV4OiAwIDEgMjUlOyB9IH1cbiAgLmNzLWhlYWRlcl9fYmFjay1idXR0b24ge1xuICAgIGJvcmRlci1yaWdodDogMXB4IHNvbGlkICNkY2RjZGM7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgcGFkZGluZzogMCAxcmVtO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgbWluLXdpZHRoOiA0cmVtOyB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDIzLjEyNWVtKSB7XG4gICAgICAuY3MtaGVhZGVyX19iYWNrLWJ1dHRvbiB7XG4gICAgICAgIHBhZGRpbmc6IDAgMS41cmVtOyB9IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgLmNzLWhlYWRlcl9fYmFjay1idXR0b24ge1xuICAgICAgICBkaXNwbGF5OiBub25lOyB9IH1cbiAgLmNzLWhlYWRlcl9fYmFjay1idXR0b24taWNvbiB7XG4gICAgZmlsbDogIzg4ODtcbiAgICBoZWlnaHQ6IDIuNXJlbTsgfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiAyMy4xMTVlbSkge1xuICAgICAgLmNzLWhlYWRlcl9fYmFjay1idXR0b24taWNvbiB7XG4gICAgICAgIGhlaWdodDogMnJlbTsgfSB9XG4iLCJAaW1wb3J0ICdjb25maWcvdmFyaWFibGVzJztcbkBpbXBvcnQgJ3ZlbmRvcnMvaW5jbHVkZS1tZWRpYSc7XG5AaW1wb3J0ICdjb21wb25lbnRzL2NvbnRhaW5lci9taXhpbic7XG5AaW1wb3J0ICd1dGlscy9kZWVwLWdldC9kZWVwLWdldC5zY3NzJztcblxuJGhlYWRlcl9mb250LXNpemU6IDFyZW0gIWRlZmF1bHQ7XG4vLyAkaGVhZGVyX2JvcmRlci1ib3R0b206IDFweCBzb2xpZCAkY29sb3JfYm9yZGVyLTIwMCAhZGVmYXVsdDtcbiRoZWFkZXJfYm9yZGVyLWJvdHRvbTogdW5zZXQgIWRlZmF1bHQ7XG5cbiRoZWFkZXJfYmFja2dyb3VuZDogJGNvbG9yX2JhY2tncm91bmQtMjAwICFkZWZhdWx0O1xuXG4vLyBIb3Jpem9udGFsIGFsaWduIG9mIHRoZSBzZWFyY2hib3ggaWYgaXQncyBkaXNwbGF5ZWQgYXMgYSBsYXllciAtIGAkZ2xvYmFsX2hlYWRlci1zZWFyY2hib3gtYXMtbGF5ZXItYnJlYWtwb2ludGBcbiRoZWFkZXJfc2VhcmNoYm94LWp1c3RpZnktY29udGVudDogY2VudGVyICFkZWZhdWx0O1xuXG4vLyBJZiB5b3Ugd2FudCB0byBjb3ZlciAnc2VhcmNoJyBpdGVtIGluIGhlYWRlciBieSBzZWFyY2hib3gsIHByb3ZpZGUgcHJvcGVyIG5lZ2F0aXZlIG1hcmdpbiBiYXNlZCBvbiB5b3VyIGRlc2lnblxuLy8gSXQgd29ya3Mgb25seSBpZiAnJGdsb2JhbF9oZWFkZXItc2VhcmNoYm94LWFzLWxheWVyLWJyZWFrcG9pbnQnIGhhcyB2YWxpZCBicmVha3BvaW50IGFuZCBgJGhlYWRlcl9zZWFyY2hib3gtanVzdGlmeS1jb250ZW50YCA9IGZsZXgtZW5kXG4kaGVhZGVyX3NlYXJjaGJveC1tYXJnaW4tdG8tY292ZXItc2VhcmNoLWl0ZW06IC02LjhyZW0gIWRlZmF1bHQ7XG5cbi8vIENoYW5nZSBpbiBldGMvdmlldy54bWwgaWYgbmVjZXNzYXJ5XG4kaGVhZGVyX2lzLXN0aWNreS1vbi1tb2JpbGU6IGRlZXAtZ2V0KCR2aWV3LXhtbCxcbiAgICAgICAgdmFycyxcbiAgICAgICAgTWFnZW50b19UaGVtZSxcbiAgICAgICAgaGVhZGVyLFxuICAgICAgICBtb2JpbGVfaXNfc3RpY2t5KSAhZGVmYXVsdDtcblxuJGhlYWRlcl9zdGlja3ktdG9wLXBvc2l0aW9uLW1vYmlsZTogMCAhZGVmYXVsdDtcbiRoZWFkZXJfc3RpY2t5LXRvcC1wb3NpdGlvbi10YWJsZXQ6ICRoZWFkZXJfc3RpY2t5LXRvcC1wb3NpdGlvbi1tb2JpbGUgIWRlZmF1bHQ7XG5cbi8qKlxuICogVmFyaWFibGVzIHJlbGF0ZWQgdG8gc3RpY2t5IGhlYWRlciBhbmQgdG9wYmFyIG9uIG1vYmlsZSBkZXZpY2VzLlxuICogdG8gcHJldmVudCBwYWdlIGp1bXBpbmcgd2hlbiBvZmZhY252YXMgKGZpeGVkIHBvc2l0aW9uZWQpIGlzIG9wZW5lZFxuICogSWYgeW91IGhhdmUgbW9yZSBlbGVtZW50cyBvbiB0b3AsIHlvdSBoYXZlIHRvIGluY2x1ZGUgdGhlaXIgaGVpZ2h0LlxuICovXG4kc3RpY2t5LWhlYWRlci1wYWdlLXdyYXBwZXItb2Zmc2V0LW1vYmlsZTogJGdsb2JhbF9oZWFkZXItaGVpZ2h0LW1vYmlsZSAhZGVmYXVsdDtcbiRzdGlja3ktaGVhZGVyLXBhZ2Utd3JhcHBlci1vZmZzZXQtdGFibGV0OiAkZ2xvYmFsX2hlYWRlci1oZWlnaHQtdGFibGV0ICFkZWZhdWx0O1xuXG4uI3skbnN9Y29udGFpbmVyIHtcbiAgICAmLS1oZWFkZXIge1xuICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPGxhcHRvcCcpIHtcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbkBpZiAoJGhlYWRlcl9pcy1zdGlja3ktb24tbW9iaWxlIGFuZCAkZ2xvYmFsX2hlYWRlci1pcy1ib3R0b20tb24tbW9iaWxlICE9dHJ1ZSkge1xuXG4gICAgLyoqXG4gICAgICogU3R5bGVzIHJlbGF0ZWQgdG8gc3RpY2t5IGhlYWRlciBhbmQgdG9wYmFyIG9uIG1vYmlsZSBkZXZpY2VzLlxuICAgICAqIHRvIHByZXZlbnQgcGFnZSBqdW1waW5nIHdoZW4gb2ZmYWNudmFzIChmaXhlZCBwb3NpdGlvbmVkKSBpcyBvcGVuZWRcbiAgICAgKi9cbiAgICAubmF2aWdhdGlvbi1vZmZjYW52YXMtb3BlbiAucGFnZS13cmFwcGVyLm5vLXNjcm9sbC1jaGlsZCB7XG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCc8bGFwdG9wJykge1xuICAgICAgICAgICAgcGFkZGluZy10b3A6ICRzdGlja3ktaGVhZGVyLXBhZ2Utd3JhcHBlci1vZmZzZXQtdGFibGV0O1xuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJzx0YWJsZXQnKSB7XG4gICAgICAgICAgICBwYWRkaW5nLXRvcDogJHN0aWNreS1oZWFkZXItcGFnZS13cmFwcGVyLW9mZnNldC1tb2JpbGU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuI3skbnN9Y29udGFpbmVyIHtcbiAgICAgICAgJi0taGVhZGVyIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKCc8bGFwdG9wJykge1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBzdGlja3k7XG4gICAgICAgICAgICAgICAgei1pbmRleDogODAwO1xuICAgICAgICAgICAgICAgIHRvcDogJGhlYWRlcl9zdGlja3ktdG9wLXBvc2l0aW9uLXRhYmxldDtcblxuICAgICAgICAgICAgICAgIC8qKlxuICAgICAgICAgICAgICAgICAqIEZpeGVkIHBvc2l0aW9uaW5nIHJlcXVpcmVkIHRvIHdvcmsgd2l0aCBvZmZjYW52YXMgZWxlbWVudHMuXG4gICAgICAgICAgICAgICAgICovXG4gICAgICAgICAgICAgICAgLm5hdmlnYXRpb24tb2ZmY2FudmFzLW9wZW4ubm8tc2Nyb2xsICYge1xuICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPHRhYmxldCcpIHtcbiAgICAgICAgICAgICAgICB0b3A6ICRoZWFkZXJfc3RpY2t5LXRvcC1wb3NpdGlvbi1tb2JpbGU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi4jeyRuc31oZWFkZXIge1xuICAgICRyb290OiAmO1xuXG4gICAgZm9udC1zaXplOiAkaGVhZGVyX2ZvbnQtc2l6ZTtcblxuICAgIEBpZiAoJGhlYWRlcl9pcy1zdGlja3ktb24tbW9iaWxlKSB7XG4gICAgICAgIEBpZiAoJGdsb2JhbF9oZWFkZXItaXMtYm90dG9tLW9uLW1vYmlsZSkge1xuICAgICAgICAgICAgaGVpZ2h0OiAwO1xuICAgICAgICB9XG5cbiAgICAgICAgQGVsc2Uge1xuICAgICAgICAgICAgaGVpZ2h0OiAkZ2xvYmFsX2hlYWRlci1oZWlnaHQtbW9iaWxlO1xuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz49dGFibGV0Jykge1xuICAgICAgICAgICAgaGVpZ2h0OiAkZ2xvYmFsX2hlYWRlci1oZWlnaHQtdGFibGV0O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbWVkaWEoJz49bGFwdG9wTGcnKSB7XG4gICAgICAgIGhlaWdodDogJGdsb2JhbF9oZWFkZXItaGVpZ2h0LWRlc2t0b3A7XG4gICAgfVxuXG4gICAgJl9fY29udGVudCB7XG4gICAgICAgIGhlaWdodDogJGdsb2JhbF9oZWFkZXItaGVpZ2h0LW1vYmlsZTtcbiAgICAgICAgei1pbmRleDogMzAwO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGhlYWRlcl9iYWNrZ3JvdW5kO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIG1heC13aWR0aDogMTAwdnc7XG5cbiAgICAgICAgQGlmICgkZ2xvYmFsX2hlYWRlci1pcy1ib3R0b20tb24tbW9iaWxlKSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPHRhYmxldCcpIHtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgICAgICByaWdodDogMDtcbiAgICAgICAgICAgICAgICBib3R0b206IDA7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPj10YWJsZXQnKSB7XG4gICAgICAgICAgICBoZWlnaHQ6ICRnbG9iYWxfaGVhZGVyLWhlaWdodC10YWJsZXQ7XG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPj1sYXB0b3AnKSB7XG4gICAgICAgICAgICBib3JkZXItYm90dG9tOiAkaGVhZGVyX2JvcmRlci1ib3R0b207XG4gICAgICAgICAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PWxhcHRvcExnJykge1xuICAgICAgICAgICAgaGVpZ2h0OiAkZ2xvYmFsX2hlYWRlci1oZWlnaHQtZGVza3RvcDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX29mZmNhbnZhcy10b2dnbGUge1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIGZsZXg6IDAgMSA0cmVtO1xuICAgICAgICBcbiAgICAgICAgcGF0aC5zdDAge1xuICAgICAgICAgICAgZmlsbDogJGNvbG9yX3ByaW1hcnktNTAwIWltcG9ydGFudDtcbiAgICAgICAgfVxuXG4gICAgICAgIEBpZiAoJGdsb2JhbF9oZWFkZXItbW9iaWxlLW1lbnUtaXMtcmlnaHQpIHtcbiAgICAgICAgICAgIG9yZGVyOiA0O1xuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz49bGFwdG9wJykge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2xvZ28ge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4OiAxIDE7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgcGFkZGluZzogMC43cmVtIDAgMC43cmVtIDByZW07XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz49cGhvbmUnKSB7XG4gICAgICAgICAgICBwYWRkaW5nOiAwLjdyZW0gMCAwLjdyZW0gMHJlbTtcbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PXRhYmxldCcpIHtcbiAgICAgICAgICAgIGZsZXg6IDAgMSBhdXRvO1xuICAgICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5wYWdlLXByaW50ICYge1xuICAgICAgICAgICAgQGluY2x1ZGUgY29udGFpbmVyLXdyYXBwZXIoKTtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgICAgIHBhZGRpbmc6IDJyZW0gMDtcblxuICAgICAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogdGFibGU7XG4gICAgICAgICAgICAgICAgY2xlYXI6IGJvdGg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19zZWFyY2gge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGhlYWRlcl9iYWNrZ3JvdW5kO1xuICAgICAgICBwYWRkaW5nOiAxcmVtO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICB6LWluZGV4OiAzMDA7XG5cbiAgICAgICAgQGlmICgkZ2xvYmFsX2hlYWRlci1pcy1ib3R0b20tb24tbW9iaWxlKSB7XG4gICAgICAgICAgICBib3R0b206ICRnbG9iYWxfaGVhZGVyLWhlaWdodC1tb2JpbGU7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PXRhYmxldCcpIHtcbiAgICAgICAgICAgICAgICBib3R0b206IGF1dG87XG4gICAgICAgICAgICAgICAgdG9wOiAxMDAlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgQGVsc2Uge1xuICAgICAgICAgICAgdG9wOiAxMDAlO1xuICAgICAgICB9XG5cbiAgICAgICAgQGlmICgkZ2xvYmFsX2hlYWRlci1zZWFyY2hib3gtYXMtbGF5ZXItYnJlYWtwb2ludCkge1xuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJGdsb2JhbF9oZWFkZXItc2VhcmNoYm94LWFzLWxheWVyLWJyZWFrcG9pbnQpIHtcbiAgICAgICAgICAgICAgICBmbGV4LWdyb3c6IDE7XG4gICAgICAgICAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogaW5pdGlhbDtcbiAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogMnJlbSAhaW1wb3J0YW50O1xuICAgICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogJGhlYWRlcl9zZWFyY2hib3gtanVzdGlmeS1jb250ZW50O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgQGVsc2Uge1xuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz49bGFwdG9wJykge1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDFyZW0gMDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz49bGFwdG9wTGcnKSB7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogMS41cmVtIDA7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmLS1hY3RpdmUge1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgfVxuXG4gICAgICAgIEBpZiAoJGdsb2JhbF9oZWFkZXItaGlkZS1zZWFyY2gtaXRlbS10cmlnZ2VyLWJyZWFrcG9pbnQpIHtcbiAgICAgICAgICAgIEBpZiAoJGdsb2JhbF9oZWFkZXItaGlkZS1zZWFyY2gtaXRlbS10cmlnZ2VyLWJyZWFrcG9pbnQgPT10cnVlKSB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgQGVsc2Uge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKCRnbG9iYWxfaGVhZGVyLWhpZGUtc2VhcmNoLWl0ZW0tdHJpZ2dlci1icmVha3BvaW50ICkge1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIEBpZiAoJGdsb2JhbF9oZWFkZXItc2VhcmNoYm94LWFzLWxheWVyLWJyZWFrcG9pbnQpIHtcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJGdsb2JhbF9oZWFkZXItc2VhcmNoYm94LWFzLWxheWVyLWJyZWFrcG9pbnQgKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICAgICAgICAgICAgICAgICAgdG9wOiBpbml0aWFsO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgQGlmICgkZ2xvYmFsX2hlYWRlci1oaWRlLXNlYXJjaC1pdGVtLXRyaWdnZXItYnJlYWtwb2ludCBhbmQgJGhlYWRlcl9zZWFyY2hib3gtanVzdGlmeS1jb250ZW50ID09J2ZsZXgtZW5kJ1xuXG4gICAgICAgICkge1xuICAgICAgICAgICAgQGlmICgkZ2xvYmFsX2hlYWRlci1oaWRlLXNlYXJjaC1pdGVtLXRyaWdnZXItYnJlYWtwb2ludCA9PXRydWUpIHtcbiAgICAgICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIEBlbHNlIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6ICRoZWFkZXJfc2VhcmNoYm94LW1hcmdpbi10by1jb3Zlci1zZWFyY2gtaXRlbTtcblxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKCRnbG9iYWxfaGVhZGVyLWhpZGUtc2VhcmNoLWl0ZW0tdHJpZ2dlci1icmVha3BvaW50ICkge1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgQGVsc2Uge1xuICAgICAgICAgICAgQGlmICgkaGVhZGVyX3NlYXJjaGJveC1qdXN0aWZ5LWNvbnRlbnQgPT0nZmxleC1lbmQnKSB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAkaGVhZGVyX3NlYXJjaGJveC1tYXJnaW4tdG8tY292ZXItc2VhcmNoLWl0ZW07XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX191c2VyLW5hdiB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIC8vIGp1c3RpZnktY29udGVudDogc3BhY2UtYXJvdW5kO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICAgIGZsZXg6IDAgMSAzMCU7XG5cbiAgICAgICAgQGlmICgkZ2xvYmFsX2hlYWRlci1oaWRlLXNlYXJjaC1pdGVtLXRyaWdnZXItYnJlYWtwb2ludCkge1xuICAgICAgICAgICAgQGlmICgkZ2xvYmFsX2hlYWRlci1oaWRlLXNlYXJjaC1pdGVtLXRyaWdnZXItYnJlYWtwb2ludCA9PXRydWUpIHtcbiAgICAgICAgICAgICAgICBmbGV4OiAwIDEgMjUlO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBAZWxzZSB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJGdsb2JhbF9oZWFkZXItaGlkZS1zZWFyY2gtaXRlbS10cmlnZ2VyLWJyZWFrcG9pbnQgKSB7XG4gICAgICAgICAgICAgICAgICAgIGZsZXg6IDAgMSAyNSU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fYmFjay1idXR0b24ge1xuICAgICAgICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCAkY29sb3JfYm9yZGVyLTUwMDtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBwYWRkaW5nOiAwIDFyZW07XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICBtaW4td2lkdGg6IDRyZW07XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz49cGhvbmUnKSB7XG4gICAgICAgICAgICBwYWRkaW5nOiAwIDEuNXJlbTtcbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PXRhYmxldCcpIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19iYWNrLWJ1dHRvbi1pY29uIHtcbiAgICAgICAgZmlsbDogJGNvbG9yX2JvcmRlci03MDA7XG4gICAgICAgIGhlaWdodDogMi41cmVtO1xuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCc8cGhvbmUnKSB7XG4gICAgICAgICAgICBoZWlnaHQ6IDJyZW07XG4gICAgICAgIH1cbiAgICB9XG59IiwiLyoqXG4gKiBCcmVha3BvaW50IGNvbXBvbmVudCB1c2VkIGJ5IGluY2x1ZGUtbWVkaWEgdmVuZG9yIGxpYnJhcnkuXG4gKi9cbkB1c2UgJ3Nhc3M6bWFwJztcbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuLyoqXG4gKiBCcmVha3BvaW50IGNvbXBvbmVudCB1c2VkIGJ5IGluY2x1ZGUtbWVkaWEgdmVuZG9yIGxpYnJhcnkuXG4gKi9cbkB1c2UgJ3Nhc3M6bWFwJztcbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuLyoqKlxuICogSGlkZSBvbmx5IHZpc3VhbGx5LCBidXQgaGF2ZSBpdCBhdmFpbGFibGUgZm9yIHNjcmVlbiByZWFkZXJzOlxuICogaHR0cHM6Ly9zbm9vay5jYS9hcmNoaXZlcy9odG1sX2FuZF9jc3MvaGlkaW5nLWNvbnRlbnQtZm9yLWFjY2Vzc2liaWxpdHlcbiAqXG4gKiAxLiBGb3IgbG9uZyBjb250ZW50LCBsaW5lIGZlZWRzIGFyZSBub3QgaW50ZXJwcmV0ZWQgYXMgc3BhY2VzIGFuZCBzbWFsbCB3aWR0aFxuICogICAgY2F1c2VzIGNvbnRlbnQgdG8gd3JhcCAxIHdvcmQgcGVyIGxpbmU6XG4gKiAgICBodHRwczovL21lZGl1bS5jb20vQGplc3NlYmVhY2gvYmV3YXJlLXNtdXNoZWQtb2ZmLXNjcmVlbi1hY2Nlc3NpYmxlLXRleHQtNTk1MmE0YzJjYmZlXG4gKlxuICogQHNlZSBodHRwczovL2dpdGh1Yi5jb20vaDVicC9odG1sNS1ib2lsZXJwbGF0ZS9ibG9iL21hc3Rlci9zcmMvY3NzL21haW4uY3NzI0wxMzBcbiAqL1xuLyoqXG4gKiBCcmVha3BvaW50IGNvbXBvbmVudCB1c2VkIGJ5IGluY2x1ZGUtbWVkaWEgdmVuZG9yIGxpYnJhcnkuXG4gKi9cbkB1c2UgJ3Nhc3M6bWFwJztcbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuLypcbiAqIEZ1bmN0aW9uIHRvIGdldCB2YWx1ZSBmcm9tIGEgbGlzdCBvZiB2YWx1ZXMsIGJhc2VkIG9uIHNpZGVcbiAqIEBwYXJhbSB7c3RyaW5nfSAkdmFyaWFibGU6IHZhcmlhYmxlIHdpdGggYSBsaXN0IG9mIHZhbHVlcyAobGlrZSBwYWRkaW5ncywgbWFyZ2lucyBldGMuKTtcbiAqIEBwYXJhbSB7c3RyaW5nfSAkc2lkZTogc2lkZSAodXAgLyByaWdodCAvIGRvd24gLyBsZWZ0KSBmb3Igd2hpY2ggd2Ugd2FudCB0byBnZXQgdmFsdWVcbiAqIEV4YW1wbGU6XG4gKiAkY29tcG9uZW50X3BhZGRpbmc6IDFyZW0gMnJlbSAzcmVtO1xuICogZ2V0LXZhbHVlLWZyb20tbGlzdCgkY29tcG9uZW50X3BhZGRpbmcsICdyaWdodCcpIC8vIDJyZW1cbiAqIGdldC12YWx1ZS1mcm9tLWxpc3QoJGNvbXBvbmVudF9wYWRkaW5nLCAnYm90dG9tJykgLy8gM3JlbVxuICovXG4vKiBzdHlsZWxpbnQtZGlzYWJsZSBibG9jay1uby1lbXB0eSAqL1xuLyogc3R5bGVsaW50LWVuYWJsZSAqL1xuLyogc3R5bGVsaW50LWRpc2FibGUgYmxvY2stbm8tZW1wdHkgKi9cbi8qIHN0eWxlbGludC1lbmFibGUgKi9cbi8qIFJhZGlvIGFuZCBjaGVja2JveCBzdHlsaW5nICovXG4vKlxuICogRnVuY3Rpb24gdG8gZ2V0IHZhbHVlIGZyb20gYSBsaXN0IG9mIHZhbHVlcywgYmFzZWQgb24gc2lkZVxuICogQHBhcmFtIHtzdHJpbmd9ICR2YXJpYWJsZTogdmFyaWFibGUgd2l0aCBhIGxpc3Qgb2YgdmFsdWVzIChsaWtlIHBhZGRpbmdzLCBtYXJnaW5zIGV0Yy4pO1xuICogQHBhcmFtIHtzdHJpbmd9ICRzaWRlOiBzaWRlICh1cCAvIHJpZ2h0IC8gZG93biAvIGxlZnQpIGZvciB3aGljaCB3ZSB3YW50IHRvIGdldCB2YWx1ZVxuICogRXhhbXBsZTpcbiAqICRjb21wb25lbnRfcGFkZGluZzogMXJlbSAycmVtIDNyZW07XG4gKiBnZXQtdmFsdWUtZnJvbS1saXN0KCRjb21wb25lbnRfcGFkZGluZywgJ3JpZ2h0JykgLy8gMnJlbVxuICogZ2V0LXZhbHVlLWZyb20tbGlzdCgkY29tcG9uZW50X3BhZGRpbmcsICdib3R0b20nKSAvLyAzcmVtXG4gKi9cbi8qIHN0eWxlbGludC1kaXNhYmxlIGJsb2NrLW5vLWVtcHR5ICovXG4vKiBzdHlsZWxpbnQtZW5hYmxlICovXG4uY3MtaGVhZGVyLXNlYXJjaCB7XG4gIHdpZHRoOiAxMDAlOyB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLmNzLWhlYWRlci1zZWFyY2gge1xuICAgICAgd2lkdGg6IDYwJTsgfSB9XG4gIC5jcy1oZWFkZXItc2VhcmNoLS1pbi1vZmZjYW52YXMge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAuY3MtaGVhZGVyLXNlYXJjaF9fbGFiZWwge1xuICAgIGJvcmRlcjogMDtcbiAgICBjbGlwOiByZWN0KDAgMCAwIDApO1xuICAgIGhlaWdodDogMXB4O1xuICAgIG1hcmdpbjogLTFweDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHdpZHRoOiAxcHg7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICAvKiAxICovIH1cbiAgLmNzLWhlYWRlci1zZWFyY2hfX2ZpZWxkIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgICAuY3MtaGVhZGVyLXNlYXJjaF9fZmllbGQ6YmVmb3JlLCAuY3MtaGVhZGVyLXNlYXJjaF9fZmllbGQ6YWZ0ZXIge1xuICAgICAgY29udGVudDogJyc7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBvcGFjaXR5OiAwO1xuICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjNzO1xuICAgICAgbGVmdDogLTAuNXJlbTtcbiAgICAgIHJpZ2h0OiAtMC41cmVtO1xuICAgICAgYmFja2dyb3VuZDogI2ZmZjsgfVxuICAgIC5jcy1oZWFkZXItc2VhcmNoX19maWVsZDpiZWZvcmUge1xuICAgICAgY29udGVudDogJyc7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBib3gtc2hhZG93OiB1bnNldDtcbiAgICAgIHRvcDogLTAuNXJlbTtcbiAgICAgIGJvdHRvbTogLTAuNXJlbTtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDVweCA1cHggMCAwOyB9XG4gICAgLmNzLWhlYWRlci1zZWFyY2hfX2ZpZWxkOmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgYm90dG9tOiAtMXJlbTtcbiAgICAgIHRvcDogMTAwJTtcbiAgICAgIHotaW5kZXg6IDIwOTsgfVxuICAgIC5hY3RpdmUtcG9wdXAgLmNzLWhlYWRlci1zZWFyY2hfX2ZpZWxkOmJlZm9yZSwgLmFjdGl2ZS1wb3B1cCAuY3MtaGVhZGVyLXNlYXJjaF9fZmllbGQ6YWZ0ZXIge1xuICAgICAgb3BhY2l0eTogMTsgfVxuICAuY3MtaGVhZGVyLXNlYXJjaF9faW5wdXQge1xuICAgIGZvbnQtc2l6ZTogMWVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjI3NWVtO1xuICAgIHBhZGRpbmc6IDAuNzVlbSAxZW07XG4gICAgY29sb3I6ICM0NTVhNjQ7XG4gICAgYmFja2dyb3VuZDogI2ZmZjtcbiAgICBib3JkZXItcmFkaXVzOiAyMDBweDtcbiAgICBib3JkZXI6IDJweCBzb2xpZCAjZGNkY2RjO1xuICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgdHJhbnNpdGlvbjogYm9yZGVyLWNvbG9yIDAuNXM7XG4gICAgbWFyZ2luOiAwIDAgMC4yZW07XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgYmFja2dyb3VuZC1jbGlwOiBwYWRkaW5nLWJveDtcbiAgICBmb250LWZhbWlseTogaW5oZXJpdDtcbiAgICBib3JkZXItY29sb3I6ICM3ZTU3YzI7XG4gICAgZm9udC1zaXplOiAxLjZyZW07XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHotaW5kZXg6IDIxMDtcbiAgICBtYXJnaW46IDA7XG4gICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lOyB9XG4gICAgLmNzLWhlYWRlci1zZWFyY2hfX2lucHV0OmhvdmVyOm5vdChbZGlzYWJsZWRdKSwgLmNzLWhlYWRlci1zZWFyY2hfX2lucHV0OmZvY3VzOm5vdChbZGlzYWJsZWRdKSB7XG4gICAgICBib3JkZXI6IDJweCBzb2xpZCAjN2U1N2MyO1xuICAgICAgYm94LXNoYWRvdzogbm9uZTsgfVxuICAgIC5jcy1oZWFkZXItc2VhcmNoX19pbnB1dDo6cGxhY2Vob2xkZXIge1xuICAgICAgb3BhY2l0eTogMTtcbiAgICAgIGNvbG9yOiAjODg4OyB9XG4gICAgLmNzLWhlYWRlci1zZWFyY2hfX2lucHV0W2Rpc2FibGVkXSB7XG4gICAgICBvcGFjaXR5OiAwLjY1OyB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDMwZW0pIHtcbiAgICAgIC5jcy1oZWFkZXItc2VhcmNoX19pbnB1dCB7XG4gICAgICAgIGZvbnQtc2l6ZTogMS42cmVtOyB9IH1cbiAgICAuYWpheC1sb2FkaW5nIC5jcy1oZWFkZXItc2VhcmNoX19pbnB1dDpmb2N1cyArIC5jcy1oZWFkZXItc2VhcmNoX19hY3Rpb24gLmNzLWhlYWRlci1zZWFyY2hfX2J1dHRvbi1jb250YWluZXItLXNlYXJjaCB7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTAwJSk7XG4gICAgICBvcGFjaXR5OiAwOyB9XG4gICAgLmFqYXgtbG9hZGluZyAuY3MtaGVhZGVyLXNlYXJjaF9faW5wdXQ6Zm9jdXMgKyAuY3MtaGVhZGVyLXNlYXJjaF9fYWN0aW9uIC5jcy1oZWFkZXItc2VhcmNoX19idXR0b24tY29udGFpbmVyLS1sb2FkZXIge1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xuICAgICAgb3BhY2l0eTogMTsgfVxuICAuY3MtaGVhZGVyLXNlYXJjaF9fYWN0aW9uIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIGJvdHRvbTogMDtcbiAgICB6LWluZGV4OiAyMjA7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAyMDBweDtcbiAgICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogMjAwcHg7IH1cbiAgLmNzLWhlYWRlci1zZWFyY2hfX2Nsb3NlLWljb24ge1xuICAgIHdpZHRoOiAxLjVyZW07XG4gICAgaGVpZ2h0OiAxLjVyZW07XG4gICAgbWFyZ2luLXJpZ2h0OiAxcmVtO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG9wYWNpdHk6IDAuNjtcbiAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuM3MgbGluZWFyOyB9XG4gICAgLmNzLWhlYWRlci1zZWFyY2hfX2Nsb3NlLWljb246aG92ZXIge1xuICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgb3BhY2l0eTogMTsgfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAuY3MtaGVhZGVyLXNlYXJjaF9fY2xvc2UtaWNvbiB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7IH0gfVxuICAgIC5jcy1oZWFkZXItc2VhcmNoX19jbG9zZS1pY29uIHBhdGgge1xuICAgICAgZmlsbDogIzg4ODsgfVxuICAuY3MtaGVhZGVyLXNlYXJjaF9fY2xvc2UtbGFiZWwge1xuICAgIGJvcmRlcjogMDtcbiAgICBjbGlwOiByZWN0KDAgMCAwIDApO1xuICAgIGhlaWdodDogMXB4O1xuICAgIG1hcmdpbjogLTFweDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHdpZHRoOiAxcHg7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICAvKiAxICovIH1cbiAgLmNzLWhlYWRlci1zZWFyY2hfX2J1dHRvbi1jb250YWluZXIge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjVzIGN1YmljLWJlemllcigwLCAwLjY2LCAwLjMyLCAwLjk5KSwgb3BhY2l0eSAwLjE1cyBsaW5lYXI7IH1cbiAgICAuY3MtaGVhZGVyLXNlYXJjaF9fYnV0dG9uLWNvbnRhaW5lci0tc2VhcmNoIHtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTsgfVxuICAgIC5jcy1oZWFkZXItc2VhcmNoX19idXR0b24tY29udGFpbmVyLS1sb2FkZXIge1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDEwMCUpOyB9XG4gIC5jcy1oZWFkZXItc2VhcmNoX19idXR0b24ge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBmb250LXNpemU6IDEuOHJlbTtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGluZS1oZWlnaHQ6IDEuMjc1ZW07XG4gICAgbWFyZ2luOiAwO1xuICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICAgIHBhZGRpbmc6IDAuNzVlbSAxZW07XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuNXMsIGJvcmRlci1jb2xvciAwLjVzLCBmaWxsIDAuNXMsIGNvbG9yIDAuNXM7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICB6LWluZGV4OiA1O1xuICAgIHdpZHRoOiA1cmVtO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBib3JkZXItcmFkaXVzOiAyMDBweDtcbiAgICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDAuN3JlbSk7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQgIWltcG9ydGFudDsgfVxuICAgIC5jcy1oZWFkZXItc2VhcmNoX19idXR0b246Oi1tb3otZm9jdXMtaW5uZXIge1xuICAgICAgYm9yZGVyOiAwO1xuICAgICAgcGFkZGluZzogMDtcbiAgICAgIG1hcmdpbjogMDsgfVxuICAgIC5jcy1oZWFkZXItc2VhcmNoX19idXR0b24sIC5jcy1oZWFkZXItc2VhcmNoX19idXR0b246dmlzaXRlZCB7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICBib3JkZXItcmFkaXVzOiAyMDBweDtcbiAgICAgIG91dGxpbmUtb2Zmc2V0OiAxcHg7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICBib3gtc2hhZG93OiBub25lO1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgICBjb2xvcjogI2ZmZjtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICM3ZTU3YzI7IH1cbiAgICAgIC5jcy1oZWFkZXItc2VhcmNoX19idXR0b24gKiwgLmNzLWhlYWRlci1zZWFyY2hfX2J1dHRvbjp2aXNpdGVkICoge1xuICAgICAgICBjb2xvcjogI2ZmZjtcbiAgICAgICAgZmlsbDogI2ZmZjsgfVxuICAgIC5jcy1oZWFkZXItc2VhcmNoX19idXR0b246aG92ZXI6bm90KFtkaXNhYmxlZF0pLCAuY3MtaGVhZGVyLXNlYXJjaF9fYnV0dG9uOmZvY3VzOm5vdChbZGlzYWJsZWRdKSwgLmNzLWhlYWRlci1zZWFyY2hfX2J1dHRvbjphY3RpdmU6bm90KFtkaXNhYmxlZF0pIHtcbiAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgICBvdXRsaW5lOiBub25lO1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgICBjb2xvcjogI2ZmZjtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICM0ZDJjOTE7IH1cbiAgICAgIC5jcy1oZWFkZXItc2VhcmNoX19idXR0b246aG92ZXI6bm90KFtkaXNhYmxlZF0pICosIC5jcy1oZWFkZXItc2VhcmNoX19idXR0b246Zm9jdXM6bm90KFtkaXNhYmxlZF0pICosIC5jcy1oZWFkZXItc2VhcmNoX19idXR0b246YWN0aXZlOm5vdChbZGlzYWJsZWRdKSAqIHtcbiAgICAgICAgY29sb3I6ICNmZmY7XG4gICAgICAgIGZpbGw6ICNmZmY7IH1cbiAgICAuY3MtaGVhZGVyLXNlYXJjaF9fYnV0dG9uW2Rpc2FibGVkXSB7XG4gICAgICBvcGFjaXR5OiAwLjY1O1xuICAgICAgY3Vyc29yOiBhdXRvOyB9XG4gICAgLmNzLWhlYWRlci1zZWFyY2hfX2J1dHRvbltkaXNhYmxlZF0ge1xuICAgICAgb3BhY2l0eTogMTsgfVxuICAuY3MtaGVhZGVyLXNlYXJjaF9fYnV0dG9uLWljb24ge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMC4zcmVtKTsgfVxuICAgIC5jcy1oZWFkZXItc2VhcmNoX19idXR0b24taWNvbi0tc2VhcmNoIHtcbiAgICAgIHdpZHRoOiAycmVtO1xuICAgICAgaGVpZ2h0OiAycmVtOyB9XG4gICAgICAuY3MtaGVhZGVyLXNlYXJjaF9fYnV0dG9uLWljb24tLXNlYXJjaCBwYXRoIHtcbiAgICAgICAgZmlsbDogIzdlNTdjMiAhaW1wb3J0YW50OyB9XG4gICAgLmNzLWhlYWRlci1zZWFyY2hfX2J1dHRvbi1pY29uLS1sb2FkZXIge1xuICAgICAgc3Ryb2tlOiAjN2U1N2MyO1xuICAgICAgd2lkdGg6IDMuMnJlbTtcbiAgICAgIGhlaWdodDogMy4ycmVtOyB9XG4gIC5jcy1oZWFkZXItc2VhcmNoX19idXR0b24tbGFiZWwge1xuICAgIGJvcmRlcjogMDtcbiAgICBjbGlwOiByZWN0KDAgMCAwIDApO1xuICAgIGhlaWdodDogMXB4O1xuICAgIG1hcmdpbjogLTFweDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHdpZHRoOiAxcHg7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICAvKiAxICovIH1cbiAgLmNzLWhlYWRlci1zZWFyY2hfX2F1dG9jb21wbGV0ZSB7XG4gICAgd2lkdGg6IGNhbGMoMTAwJSAtIDFyZW0pO1xuICAgIGxlZnQ6IDAuNXJlbTtcbiAgICByaWdodDogMC41cmVtOyB9XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDQ3Ljk5ZW0pIHtcbiAgICAgIC5jcy1oZWFkZXItc2VhcmNoX19hdXRvY29tcGxldGUge1xuICAgICAgICBtYXgtaGVpZ2h0OiBjYWxjKDEwMHZoIC0gNXJlbSAtIDEuMjc1ZW0gLSA3cmVtKTtcbiAgICAgICAgb3ZlcmZsb3cteTogYXV0bzsgfSB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgIC5jcy1oZWFkZXItc2VhcmNoX19hdXRvY29tcGxldGUge1xuICAgICAgICBtYXJnaW4tdG9wOiAwLjVyZW07XG4gICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuICAgICAgICBib3gtc2hhZG93OiAwIDRweCAxMHB4IDAgcmdiYSgwLCAwLCAwLCAwLjE3KTtcbiAgICAgICAgYm9yZGVyOiAwO1xuICAgICAgICB3aWR0aDogNjAlOyB9IH1cbiIsIkBpbXBvcnQgJ2NvbmZpZy92YXJpYWJsZXMnO1xuQGltcG9ydCAndmVuZG9ycy9pbmNsdWRlLW1lZGlhJztcbkBpbXBvcnQgJ3V0aWxzL3Zpc3VhbGx5LWhpZGRlbic7XG5cbkBpbXBvcnQgJ2NvbXBvbmVudHMvZmllbGQvbWl4aW4nO1xuQGltcG9ydCAnY29tcG9uZW50cy9idXR0b24vbWl4aW4nO1xuXG4kaGVhZGVyLXNlYXJjaF9mb250LXNpemU6IDEuNnJlbSAhZGVmYXVsdDtcbi8vIE9uIGlPUyB0aGUgc2VhcmNoIGlucHV0IGhhcyB0byBiZSBhdCBsZWFzdCAxNnB4IGxhcmdlLFxuLy8gb3RoZXJ3aXNlIGl0IHdpbGwgbmVlZGxlc3NseSB0cmlnZ2VyIHBhZ2Ugem9vbSBvbmNlIHRoZSBpbnB1dCBpcyBmb2N1c2VkLlxuLy8gLSBodHRwczovL3N0YWNrb3ZlcmZsb3cuY29tL3F1ZXN0aW9ucy8yOTg5MjYzL2Rpc2FibGUtYXV0by16b29tLWluLWlucHV0LXRleHQtdGFnLXNhZmFyaS1vbi1pcGhvbmVcbi8vIC0gaHR0cHM6Ly93d3cud2FycmVuY2hhbmRsZXIuY29tLzIwMTkvMDQvMDIvc3RvcC1pcGhvbmVzLWZyb20tem9vbWluZy1pbi1vbi1mb3JtLWZpZWxkcy9cbiRoZWFkZXItc2VhcmNoX2ZvbnQtc2l6ZS1tb2JpbGU6IDEuNnJlbSAhZGVmYXVsdDtcblxuLy8gV2lkdGggb2YgdGhlIHNlYXJjaCBmaWVsZC4gV29ya3Mgb25seSBmb3IgYCRnbG9iYWxfaGVhZGVyLXNlYXJjaGJveC1hcy1sYXllci1icmVha3BvaW50YCBicmVha3BvaW50LCBpbiBvdGhlciBjYXNlIGl0J3MgYWx3YXlzIDEwMCVcbiRoZWFkZXItc2VhcmNoLXdpZHRoLWFzLWxheWVyOiA2MCUgIWRlZmF1bHQ7XG5cbiRoZWFkZXItc2VhcmNoX2Nsb3NlLWNvbG9yOiAkY29sb3JfdGV4dC00MDAgIWRlZmF1bHQ7XG5cbiRoZWFkZXItc2VhcmNoX2J1dHRvbi10eXBlOiAkYnV0dG9uX2RlZmF1bHQtdHlwZSAhZGVmYXVsdDtcbiRoZWFkZXItc2VhcmNoX2J1dHRvbi13aWR0aDogNXJlbSAhZGVmYXVsdDtcbiRoZWFkZXItc2VhcmNoX2J1dHRvbi1ib3JkZXItcmFkaXVzOiAyMDBweCAhZGVmYXVsdDtcbiRoZWFkZXItc2VhcmNoX2J1dHRvbi10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMC43cmVtKSAhZGVmYXVsdDtcblxuJGhlYWRlci1zZWFyY2hfaWNvbi1zZWFyY2gtY29sb3I6ICRjb2xvcl9wYXBpbGFydF9wdXJwbGUgIWRlZmF1bHQ7XG4kaGVhZGVyLXNlYXJjaF9pY29uLXNlYXJjaC1jb2xvci1ob3ZlcjogJGNvbG9yX3BhcGlsYXJ0X3B1cnBsZS1kYXJrICFkZWZhdWx0O1xuJGhlYWRlci1zZWFyY2hfaWNvbi1sb2FkZXItY29sb3I6ICRjb2xvcl9wYXBpbGFydF9wdXJwbGUgIWRlZmF1bHQ7XG4kaGVhZGVyLXNlYXJjaF9pY29uLXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMC4zcmVtKSAhZGVmYXVsdDtcblxuJGhlYWRlci1zZWFyY2hfYnV0dG9uLWNvbnRhaW5lci10cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC41cyAkdHJhbnNpdGlvbi1lYXNpbmdfc2xvd2Rvd24tOTAwLFxuICAgIG9wYWNpdHkgMC4xNXMgbGluZWFyICFkZWZhdWx0O1xuXG4kaGVhZGVyLXNlYXJjaF9hdXRvY29tcGxldGUtYm94LXNoYWRvdzogMCA0cHggMTBweCAwIHJnYmEoMCwgMCwgMCwgMC4xNykgIWRlZmF1bHQ7XG4kaGVhZGVyLXNlYXJjaF9hdXRvY29tcGxldGUtYmFja2dyb3VuZDogJGNvbG9yX2JhY2tncm91bmQtMjAwICFkZWZhdWx0O1xuXG4uI3skbnN9aGVhZGVyLXNlYXJjaCB7XG4gICAgJHJvb3Q6ICY7XG5cbiAgICB3aWR0aDogMTAwJTtcblxuICAgIEBpZiAoJGdsb2JhbF9oZWFkZXItc2VhcmNoYm94LWFzLWxheWVyLWJyZWFrcG9pbnQpIHtcbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJGdsb2JhbF9oZWFkZXItc2VhcmNoYm94LWFzLWxheWVyLWJyZWFrcG9pbnQpIHtcbiAgICAgICAgICAgIHdpZHRoOiAkaGVhZGVyLXNlYXJjaC13aWR0aC1hcy1sYXllcjtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICYtLWluLW9mZmNhbnZhcyB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB9XG5cbiAgICAmX19sYWJlbCB7XG4gICAgICAgIEBpbmNsdWRlIHZpc3VhbGx5LWhpZGRlbigpO1xuICAgIH1cblxuICAgICZfX2ZpZWxkIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICAgICY6YmVmb3JlLFxuICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC4zcztcbiAgICAgICAgICAgIGxlZnQ6IC0wLjVyZW07XG4gICAgICAgICAgICByaWdodDogLTAuNXJlbTtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICRoZWFkZXItc2VhcmNoX2F1dG9jb21wbGV0ZS1iYWNrZ3JvdW5kO1xuICAgICAgICB9XG5cbiAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICBib3gtc2hhZG93OiB1bnNldDtcbiAgICAgICAgICAgIHRvcDogLTAuNXJlbTtcbiAgICAgICAgICAgIGJvdHRvbTogLTAuNXJlbTtcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDVweCA1cHggMCAwO1xuICAgICAgICB9XG5cbiAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIGJvdHRvbTogLTFyZW07XG4gICAgICAgICAgICB0b3A6IDEwMCU7XG4gICAgICAgICAgICB6LWluZGV4OiAyMDk7XG4gICAgICAgIH1cblxuICAgICAgICBAaWYgKCRnbG9iYWxfaGVhZGVyLXNlYXJjaGJveC1hcy1sYXllci1icmVha3BvaW50KSB7XG4gICAgICAgICAgICAuYWN0aXZlLXBvcHVwICYge1xuXG4gICAgICAgICAgICAgICAgJjpiZWZvcmUsXG4gICAgICAgICAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9faW5wdXQge1xuICAgICAgICBAaW5jbHVkZSBmaWVsZC1pbnB1dCgpO1xuICAgICAgICBib3JkZXItY29sb3I6ICRjb2xvcl9wYXBpbGFydF9wdXJwbGU7XG5cbiAgICAgICAgZm9udC1zaXplOiAkaGVhZGVyLXNlYXJjaF9mb250LXNpemUtbW9iaWxlO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHotaW5kZXg6IDIxMDtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz49cGhvbmVMZycpIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogJGhlYWRlci1zZWFyY2hfZm9udC1zaXplO1xuICAgICAgICB9XG5cbiAgICAgICAgJjpmb2N1cyB7XG4gICAgICAgICAgICArI3skcm9vdH1fX2FjdGlvbiB7XG4gICAgICAgICAgICAgICAgLmFqYXgtbG9hZGluZyAmIHtcbiAgICAgICAgICAgICAgICAgICAgI3skcm9vdH1fX2J1dHRvbi1jb250YWluZXItLXNlYXJjaCB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTAwJSk7XG4gICAgICAgICAgICAgICAgICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgI3skcm9vdH1fX2J1dHRvbi1jb250YWluZXItLWxvYWRlciB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XG4gICAgICAgICAgICAgICAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fYWN0aW9uIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICBib3R0b206IDA7XG4gICAgICAgIHotaW5kZXg6IDIyMDtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogJGhlYWRlci1zZWFyY2hfYnV0dG9uLWJvcmRlci1yYWRpdXM7XG4gICAgICAgIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAkaGVhZGVyLXNlYXJjaF9idXR0b24tYm9yZGVyLXJhZGl1cztcbiAgICB9XG5cbiAgICAmX19jbG9zZS1pY29uIHtcbiAgICAgICAgd2lkdGg6IDEuNXJlbTtcbiAgICAgICAgaGVpZ2h0OiAxLjVyZW07XG4gICAgICAgIG1hcmdpbi1yaWdodDogMXJlbTtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIG9wYWNpdHk6IDAuNjtcbiAgICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjNzIGxpbmVhcjtcblxuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIH1cblxuICAgICAgICBAaWYgKCRnbG9iYWxfaGVhZGVyLWhpZGUtc2VhcmNoLWl0ZW0tdHJpZ2dlci1icmVha3BvaW50KSB7XG4gICAgICAgICAgICBAaWYgKCRnbG9iYWxfaGVhZGVyLWhpZGUtc2VhcmNoLWl0ZW0tdHJpZ2dlci1icmVha3BvaW50ID09dHJ1ZSkge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIEBlbHNlIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgkZ2xvYmFsX2hlYWRlci1oaWRlLXNlYXJjaC1pdGVtLXRyaWdnZXItYnJlYWtwb2ludCApIHtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBwYXRoIHtcbiAgICAgICAgICAgIGZpbGw6ICRoZWFkZXItc2VhcmNoX2Nsb3NlLWNvbG9yO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fY2xvc2UtbGFiZWwge1xuICAgICAgICBAaW5jbHVkZSB2aXN1YWxseS1oaWRkZW4oKTtcbiAgICB9XG5cbiAgICAmX19idXR0b24tY29udGFpbmVyIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICB0cmFuc2l0aW9uOiAkaGVhZGVyLXNlYXJjaF9idXR0b24tY29udGFpbmVyLXRyYW5zaXRpb247XG5cbiAgICAgICAgJi0tc2VhcmNoIHtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcbiAgICAgICAgfVxuXG4gICAgICAgICYtLWxvYWRlciB7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTAwJSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19idXR0b24ge1xuICAgICAgICBAaW5jbHVkZSBidXR0b24oJHR5cGU6ICRoZWFkZXItc2VhcmNoX2J1dHRvbi10eXBlLFxuICAgICAgICAgICAgJGljb25fcG9zOiAnb25seS1pY29uJ1xuICAgICAgICApO1xuXG4gICAgICAgIHdpZHRoOiAkaGVhZGVyLXNlYXJjaF9idXR0b24td2lkdGg7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBib3JkZXItcmFkaXVzOiAkaGVhZGVyLXNlYXJjaF9idXR0b24tYm9yZGVyLXJhZGl1cztcbiAgICAgICAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgICAgICB0cmFuc2Zvcm06ICRoZWFkZXItc2VhcmNoX2J1dHRvbi10cmFuc2Zvcm07XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG5cbiAgICAgICAgJltkaXNhYmxlZF0ge1xuICAgICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgfVxuXG4gICAgfVxuXG4gICAgJl9fYnV0dG9uLWljb24ge1xuICAgICAgICB0cmFuc2Zvcm06ICRoZWFkZXItc2VhcmNoX2ljb24tdHJhbnNmb3JtO1xuXG4gICAgICAgICYtLXNlYXJjaCB7XG4gICAgICAgICAgICB3aWR0aDogMnJlbTtcbiAgICAgICAgICAgIGhlaWdodDogMnJlbTtcblxuICAgICAgICAgICAgcGF0aCB7XG4gICAgICAgICAgICAgICAgZmlsbDogJGhlYWRlci1zZWFyY2hfaWNvbi1zZWFyY2gtY29sb3IgIWltcG9ydGFudDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICYtLWxvYWRlciB7XG4gICAgICAgICAgICBzdHJva2U6ICRoZWFkZXItc2VhcmNoX2ljb24tbG9hZGVyLWNvbG9yO1xuICAgICAgICAgICAgd2lkdGg6IDMuMnJlbTtcbiAgICAgICAgICAgIGhlaWdodDogMy4ycmVtO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fYnV0dG9uLWxhYmVsIHtcbiAgICAgICAgQGluY2x1ZGUgdmlzdWFsbHktaGlkZGVuKCk7XG4gICAgfVxuXG4gICAgJl9fYXV0b2NvbXBsZXRlIHtcbiAgICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtIDFyZW0pO1xuICAgICAgICBsZWZ0OiAwLjVyZW07XG4gICAgICAgIHJpZ2h0OiAwLjVyZW07XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJzx0YWJsZXQnKSB7XG4gICAgICAgICAgICBtYXgtaGVpZ2h0OiBjYWxjKDEwMHZoIC0gI3skZ2xvYmFsX2hlYWRlci1oZWlnaHQtbW9iaWxlfSAtICN7JGZpZWxkX3NlbGVjdC1saW5lLWhlaWdodH0gLSA3cmVtKTtcbiAgICAgICAgICAgIG92ZXJmbG93LXk6IGF1dG87XG4gICAgICAgIH1cblxuICAgICAgICBAaWYgKCRnbG9iYWxfaGVhZGVyLXNlYXJjaGJveC1hcy1sYXllci1icmVha3BvaW50KSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgkZ2xvYmFsX2hlYWRlci1zZWFyY2hib3gtYXMtbGF5ZXItYnJlYWtwb2ludCkge1xuICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDAuNXJlbTtcbiAgICAgICAgICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuICAgICAgICAgICAgICAgIGJveC1zaGFkb3c6ICRoZWFkZXItc2VhcmNoX2F1dG9jb21wbGV0ZS1ib3gtc2hhZG93O1xuICAgICAgICAgICAgICAgIGJvcmRlcjogMDtcbiAgICAgICAgICAgICAgICB3aWR0aDogNjAlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufSIsIkBjaGFyc2V0IFwiVVRGLThcIjtcbi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG5AdXNlICdzYXNzOm1hcCc7XG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG4vKipcbiogRGVmYXVsdCBwcm9qZWN0IGJyZWFrcG9pbnRzIC0gW2VtXVxuKi9cbi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG5AdXNlICdzYXNzOm1hcCc7XG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG4vKipcbiogRGVmYXVsdCBwcm9qZWN0IGJyZWFrcG9pbnRzIC0gW2VtXVxuKi9cbi8qKipcbiAqIEhpZGUgb25seSB2aXN1YWxseSwgYnV0IGhhdmUgaXQgYXZhaWxhYmxlIGZvciBzY3JlZW4gcmVhZGVyczpcbiAqIGh0dHBzOi8vc25vb2suY2EvYXJjaGl2ZXMvaHRtbF9hbmRfY3NzL2hpZGluZy1jb250ZW50LWZvci1hY2Nlc3NpYmlsaXR5XG4gKlxuICogMS4gRm9yIGxvbmcgY29udGVudCwgbGluZSBmZWVkcyBhcmUgbm90IGludGVycHJldGVkIGFzIHNwYWNlcyBhbmQgc21hbGwgd2lkdGhcbiAqICAgIGNhdXNlcyBjb250ZW50IHRvIHdyYXAgMSB3b3JkIHBlciBsaW5lOlxuICogICAgaHR0cHM6Ly9tZWRpdW0uY29tL0BqZXNzZWJlYWNoL2Jld2FyZS1zbXVzaGVkLW9mZi1zY3JlZW4tYWNjZXNzaWJsZS10ZXh0LTU5NTJhNGMyY2JmZVxuICpcbiAqIEBzZWUgaHR0cHM6Ly9naXRodWIuY29tL2g1YnAvaHRtbDUtYm9pbGVycGxhdGUvYmxvYi9tYXN0ZXIvc3JjL2Nzcy9tYWluLmNzcyNMMTMwXG4gKi9cbi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG5AdXNlICdzYXNzOm1hcCc7XG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG4vKipcbiogRGVmYXVsdCBwcm9qZWN0IGJyZWFrcG9pbnRzIC0gW2VtXVxuKi9cbi8qIHN0eWxlbGludC1kaXNhYmxlIGJsb2NrLW5vLWVtcHR5ICovXG4vKiBzdHlsZWxpbnQtZW5hYmxlICovXG4uY3MtaGVhZGVyLXVzZXItbmF2IHtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwIDEuNXJlbTtcbiAgaGVpZ2h0OiAxMDAlOyB9XG4gIEBtZWRpYSAobWF4LXdpZHRoOiAyMy4xMTVlbSkge1xuICAgIC5jcy1oZWFkZXItdXNlci1uYXYge1xuICAgICAgcGFkZGluZzogMCAwLjdyZW07IH0gfVxuICBAbWVkaWEgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5jcy1oZWFkZXItdXNlci1uYXYge1xuICAgICAgcGFkZGluZzogMDsgfSB9XG4gIC5jcy1oZWFkZXItdXNlci1uYXZfX2l0ZW0ge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGZsZXg6IDEgMSAyNSU7IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgLmNzLWhlYWRlci11c2VyLW5hdl9faXRlbSB7XG4gICAgICAgIGZsZXg6IDAgMCAzMy4zMzMzMyU7IH0gfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAuY3MtaGVhZGVyLXVzZXItbmF2X19pdGVtLS1zZWFyY2gge1xuICAgICAgICBkaXNwbGF5OiBub25lOyB9IH1cbiAgICAuY3MtaGVhZGVyLXVzZXItbmF2X19pdGVtLS1hY2NvdW50IGEge1xuICAgICAgbWF4LXdpZHRoOiAxNjBweDsgfVxuICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDQ4LjAxZW0pIHtcbiAgICAgICAgLmNzLWhlYWRlci11c2VyLW5hdl9faXRlbS0tYWNjb3VudCBhIHtcbiAgICAgICAgICBtaW4td2lkdGg6IDE0NXB4OyB9IH1cbiAgLmNzLWhlYWRlci11c2VyLW5hdiAubWluaWNhcnQtd3JhcHBlciA+IC5jcy1oZWFkZXItdXNlci1uYXZfX2xpbmsge1xuICAgIHBhZGRpbmc6IDAuNXJlbSAxcmVtO1xuICAgIGJvcmRlcjogMnB4IHNvbGlkICM3ZTU3YzI7XG4gICAgYm9yZGVyLXJhZGl1czogMjAwcHg7IH1cbiAgLmNzLWhlYWRlci11c2VyLW5hdl9fbGluayB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtZXZlbmx5O1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHBhZGRpbmc6IDByZW07IH1cbiAgICAuY3MtaGVhZGVyLXVzZXItbmF2X19saW5rOmhvdmVyIHtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfVxuICAgICAgLmNzLWhlYWRlci11c2VyLW5hdl9fbGluazpob3ZlciAuY3MtaGVhZGVyLXVzZXItbmF2X19pY29uIHBhdGgge1xuICAgICAgICBmaWxsOiAjN2U1N2MyOyB9XG4gICAgICAuY3MtaGVhZGVyLXVzZXItbmF2X19saW5rOmhvdmVyIC5jcy1oZWFkZXItdXNlci1uYXZfX2xhYmVsIHtcbiAgICAgICAgY29sb3I6ICM0ZDJjOTE7IH1cbiAgICAuY3MtaGVhZGVyLXVzZXItbmF2X19saW5rLS1zZWFyY2gge1xuICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgICAgLmNzLWhlYWRlci11c2VyLW5hdl9fbGluay0tc2VhcmNoIHtcbiAgICAgICAgICBkaXNwbGF5OiBmbGV4OyB9IH1cbiAgICAgIC5jcy1oZWFkZXItdXNlci1uYXZfX2xpbmstLXNlYXJjaDpob3ZlciB7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjsgfVxuICAuY3MtaGVhZGVyLXVzZXItbmF2X19pY29uLXdyYXBwZXIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBtYXJnaW4tbGVmdDogMTBweDtcbiAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7IH1cbiAgLmNzLWhlYWRlci11c2VyLW5hdl9faWNvbiB7XG4gICAgd2lkdGg6IDIuNnJlbTtcbiAgICBoZWlnaHQ6IDIuNnJlbTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBtYXJnaW46IDAgYXV0bzsgfVxuICAgIC5jcy1oZWFkZXItdXNlci1uYXZfX2ljb24gcGF0aCB7XG4gICAgICBmaWxsOiAjN2U1N2MyOyB9XG4gIC5jcy1oZWFkZXItdXNlci1uYXZfX2xhYmVsIHtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdW5zZXQ7XG4gICAgZm9udC1zaXplOiAxLjZyZW07XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBtYXJnaW4tdG9wOiAwLjNyZW07XG4gICAgY29sb3I6ICM0NTVhNjQ7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIGJvcmRlcjogMDtcbiAgICBjbGlwOiByZWN0KDAgMCAwIDApO1xuICAgIGhlaWdodDogMXB4O1xuICAgIG1hcmdpbjogLTFweDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHdpZHRoOiAxcHg7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICAvKiAxICovIH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgLmNzLWhlYWRlci11c2VyLW5hdl9fbGFiZWwge1xuICAgICAgICBjbGlwOiBhdXRvO1xuICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgb3ZlcmZsb3c6IHZpc2libGU7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIHBvc2l0aW9uOiBzdGF0aWM7XG4gICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICB3aGl0ZS1zcGFjZTogbm9ybWFsO1xuICAgICAgICBtYXJnaW4tdG9wOiAwLjNyZW07IH0gfVxuICAuY3MtaGVhZGVyLXVzZXItbmF2X19xdHktY291bnRlciB7XG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzdlNTdjMjtcbiAgICBjb2xvcjogI2ZmZjtcbiAgICBib3JkZXI6IDA7XG4gICAgYm9yZGVyLXJhZGl1czogNTBweDtcbiAgICBwYWRkaW5nOiAwIDAuOXJlbTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBmb250LXNpemU6IDEuNHJlbTtcbiAgICBsaW5lLWhlaWdodDogMTAwJTtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIGhlaWdodDogMS44ZW07XG4gICAgb3BhY2l0eTogMTtcbiAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuM3M7IH1cbiAgICAuY3MtaGVhZGVyLXVzZXItbmF2X19xdHktY291bnRlci0td2lzaGxpc3Qge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzExYTA5OTtcbiAgICAgIGNvbG9yOiAjNDU1YTY0O1xuICAgICAgdHJhbnNpdGlvbjogdG9wIDAuOXMgY3ViaWMtYmV6aWVyKDAuNDIsIDAuMzEsIDAuMzQsIDAuOTMpLCBsZWZ0IDAuOXMgY3ViaWMtYmV6aWVyKDAuNDIsIDAuMzEsIDAuMzQsIDAuOTMpOyB9XG4gICAgLmNzLWhlYWRlci11c2VyLW5hdl9fcXR5LWNvdW50ZXItLW1pbmljYXJ0IHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmY2I3Mzk7XG4gICAgICBjb2xvcjogI2ZmZjsgfVxuICAgIC5jcy1oZWFkZXItdXNlci1uYXZfX3F0eS1jb3VudGVyLS1jb21wYXJlIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICMxMWEwOTk7XG4gICAgICBjb2xvcjogIzQ1NWE2NDsgfVxuICAgIC5jcy1oZWFkZXItdXNlci1uYXZfX3F0eS1jb3VudGVyLS1oYXZlLWl0ZW1zIHtcbiAgICAgIG9wYWNpdHk6IDE7IH1cbiAgICAuY3MtaGVhZGVyLXVzZXItbmF2X19xdHktY291bnRlci0tZW1wdHk6OmJlZm9yZSB7XG4gICAgICBjb250ZW50OiAnMCc7XG4gICAgICB3aWR0aDogMDsgfVxuICAgIC5jcy1oZWFkZXItdXNlci1uYXZfX3F0eS1jb3VudGVyLS13aXNobGlzdC1jbG9uZWQge1xuICAgICAgcG9zaXRpb246IGZpeGVkO1xuICAgICAgei1pbmRleDogMTIwMDtcbiAgICAgIHJpZ2h0OiBhdXRvO1xuICAgICAgb3BhY2l0eTogMTtcbiAgICAgIHRyYW5zaXRpb246IHRvcCAxLjJzIGN1YmljLWJlemllcigwLjQyLCAwLjMxLCAwLjM0LCAwLjkzKSwgbGVmdCAxLjJzIGN1YmljLWJlemllcigwLjQyLCAwLjMxLCAwLjM0LCAwLjkzKTsgfVxuICAgIC5jcy1oZWFkZXItdXNlci1uYXZfX3F0eS1jb3VudGVyLS13aXNobGlzdC1hbmltYXRpbmcge1xuICAgICAgYW5pbWF0aW9uOiBtb3ZlLXF0eS1iYWRnZSAxLjJzIGN1YmljLWJlemllcigwLjQyLCAwLjMxLCAwLjM0LCAwLjkzKTtcbiAgICAgIHRvcDogMC41cmVtOyB9XG4gICAgICBAbWVkaWEgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgICAuY3MtaGVhZGVyLXVzZXItbmF2X19xdHktY291bnRlci0td2lzaGxpc3QtYW5pbWF0aW5nIHtcbiAgICAgICAgICB0b3A6IDEuM3JlbTsgfSB9XG4gICAgICBAbWVkaWEgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgICAuY3MtaGVhZGVyLXVzZXItbmF2X19xdHktY291bnRlci0td2lzaGxpc3QtYW5pbWF0aW5nIHtcbiAgICAgICAgICB0b3A6IDMuNXJlbTsgfSB9XG5cbkBrZXlmcmFtZXMgbW92ZS1xdHktYmFkZ2Uge1xuICAwJSB7XG4gICAgb3BhY2l0eTogMTsgfVxuICAxNSUge1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7IH1cbiAgODUlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMS41KTsgfVxuICA5NSUge1xuICAgIG9wYWNpdHk6IDE7IH1cbiAgMTAwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEpOyB9IH1cbiAgLmNzLWhlYWRlci11c2VyLW5hdl9fcXR5LWNvdW50ZXItc3BhbiB7XG4gICAgbWluLXdpZHRoOiAxY2g7IH1cbiAgLmNzLWhlYWRlci11c2VyLW5hdiAubWluaWNhcnQtYW1vdW50LXdyYXBwZXIgPiAubWluaWNhcnQtYW1vdW50LXRleHQge1xuICAgIGZvbnQtc2l6ZTogMS40cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgbWluLXdpZHRoOiA0MHB4O1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsgfVxuICAgIC5jcy1oZWFkZXItdXNlci1uYXYgLm1pbmljYXJ0LWFtb3VudC13cmFwcGVyID4gLm1pbmljYXJ0LWFtb3VudC10ZXh0IC5taW5pY2FydC1hbW91bnQtdGV4dC0tZW1wdHk6OmJlZm9yZSB7XG4gICAgICBjb250ZW50OiAnMCwwMCB6xYInOyB9XG4iLCIvKiBzdHlsZWxpbnQtZGlzYWJsZSBibG9jay1uby1lbXB0eSAqL1xuQG1peGluIHF0eS1jb3VudGVyX2hvb2soJHR5cGUpIHtcbn1cblxuQG1peGluIHF0eS1jb3VudGVyX3R5cGUtaG9vaygkdHlwZSkge1xufVxuXG5AbWl4aW4gcXR5LWNvdW50ZXJfc3Bhbi1ob29rKCR0eXBlKSB7XG59XG4vKiBzdHlsZWxpbnQtZW5hYmxlICovXG4iLCJAaW1wb3J0ICdjb25maWcvdmFyaWFibGVzJztcbkBpbXBvcnQgJ3ZlbmRvcnMvaW5jbHVkZS1tZWRpYSc7XG5AaW1wb3J0ICd1dGlscy92aXN1YWxseS1oaWRkZW4nO1xuXG5AaW1wb3J0ICdjb21wb25lbnRzL3F0eS1jb3VudGVyL21peGluJztcblxuJGhlYWRlci11c2VyLW5hdl9pdGVtczogMyAhZGVmYXVsdDsgLy8gbnVtYmVyIG9mIGl0ZW1zIGluIGhlYWRlciB1c2VyIG5hdiAod2l0aG91dCBzZWFyY2ggaXRlbSlcblxuJGhlYWRlci11c2VyLW5hdl9pY29uLWNvbG9yOiAkY29sb3JfcHJpbWFyeS01MDAgIWRlZmF1bHQ7XG4kaGVhZGVyLXVzZXItbmF2X2ljb24tY29sb3ItaG92ZXI6ICRjb2xvcl9wcmltYXJ5LTUwMCAhZGVmYXVsdDtcbiRoZWFkZXItdXNlci1uYXZfaWNvbi13aWR0aDogMi42cmVtICFkZWZhdWx0O1xuJGhlYWRlci11c2VyLW5hdl9pY29uLWhlaWdodDogJGhlYWRlci11c2VyLW5hdl9pY29uLXdpZHRoICFkZWZhdWx0O1xuXG4vLyBTZXQgdXAgd2hlbiBsYWJlbCBpbiBoZWFkZXIgdXNlciBuYXYgc2hvdWxkIGJlIHZpc2libGVcbi8vIFN1cHBvcnRlZCB2YWx1ZXM6IHRydWUgKGFsd2F5cykgfCBmYWxzZSAobmV2ZXIpIHwgYnJlYWtwb2ludFxuJGhlYWRlci11c2VyLW5hdl9sYWJlbC12aXNpYmxlOiAnPj10YWJsZXQnICFkZWZhdWx0O1xuJGhlYWRlci11c2VyLW5hdl9sYWJlbC1mb250LXNpemU6IDEuNnJlbSAhZGVmYXVsdDtcbiRoZWFkZXItdXNlci1uYXZfbGFiZWwtZm9udC13ZWlnaHQ6IDcwMCAhZGVmYXVsdDtcbiRoZWFkZXItdXNlci1uYXZfbGFiZWwtdGV4dC10cmFuc2Zvcm06IHVuc2V0ICFkZWZhdWx0O1xuJGhlYWRlci11c2VyLW5hdl9sYWJlbC1jb2xvcjogJGNvbG9yX3RleHQtOTAwICFkZWZhdWx0O1xuJGhlYWRlci11c2VyLW5hdl9sYWJlbC1jb2xvci1ob3ZlcjogJGNvbG9yX3ByaW1hcnktODAwICFkZWZhdWx0O1xuJGhlYWRlci11c2VyLW5hdl9sYWJlbC1tYXJnaW4tdG9wOiAwLjNyZW0gIWRlZmF1bHQ7XG5cbiRoZWFkZXItdXNlci1uYXZfcXR5LWNvdW50ZXItY29tcGFyZS1zaG93LWVtcHR5OiBmYWxzZSAhZGVmYXVsdDtcbiRoZWFkZXItdXNlci1uYXZfcXR5LWNvdW50ZXItd2lzaGxpc3Qtc2hvdy1lbXB0eTogZmFsc2UgIWRlZmF1bHQ7XG4kaGVhZGVyLXVzZXItbmF2X3F0eS1jb3VudGVyLW1pbmljYXJ0LXNob3ctZW1wdHk6IGZhbHNlICFkZWZhdWx0O1xuJGhlYWRlci11c2VyLW5hdl9xdHktY291bnRlci1hbmltYXRpb24tc2hvdzogdHJ1ZSAhZGVmYXVsdDtcbiRoZWFkZXItdXNlci1uYXZfcXR5LWNvdW50ZXItYW5pbWF0aW9uLXRpbWU6ICR0cmFuc2l0aW9uLWRlZmF1bHQtdGltZSAhZGVmYXVsdDtcblxuJGhlYWRlci11c2VyLW5hdl9xdHktY291bnRlci10b3Atb2Zmc2V0OiAtMC41cmVtICFkZWZhdWx0O1xuJGhlYWRlci11c2VyLW5hdl9xdHktY291bnRlci1yaWdodC1vZmZzZXQtbW9iaWxlOiAtMC41cmVtICFkZWZhdWx0O1xuJGhlYWRlci11c2VyLW5hdl9xdHktY291bnRlci1yaWdodC1vZmZzZXQtdGFibGV0OiAtMXJlbSAhZGVmYXVsdDtcbiRoZWFkZXItdXNlci1uYXZfcXR5LWNvdW50ZXItcmlnaHQtb2Zmc2V0LWRlc2t0b3A6IC0xcmVtICFkZWZhdWx0O1xuXG4uI3skbnN9aGVhZGVyLXVzZXItbmF2IHtcbiAgICAkcm9vdDogJjtcblxuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDAgMS41cmVtO1xuICAgIFxuICAgIGhlaWdodDogMTAwJTtcblxuICAgIEBpbmNsdWRlIG1lZGlhKCc8cGhvbmUnKSB7XG4gICAgICAgIHBhZGRpbmc6IDAgMC43cmVtO1xuICAgIH1cbiAgICBAaW5jbHVkZSBtZWRpYSgnPj1sYXB0b3AnKSB7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgfVxuXG4gICAgJl9faXRlbSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgIHBhZGRpbmc6IDA7XG5cbiAgICAgICAgQGlmICgkZ2xvYmFsX2hlYWRlci1oaWRlLXNlYXJjaC1pdGVtLXRyaWdnZXItYnJlYWtwb2ludCA9PXRydWUpIHtcbiAgICAgICAgICAgIGZsZXg6IDEgMSAoMTAwJSAvICRoZWFkZXItdXNlci1uYXZfaXRlbXMpO1xuICAgICAgICB9XG5cbiAgICAgICAgQGVsc2UgaWYgKCRnbG9iYWxfaGVhZGVyLWhpZGUtc2VhcmNoLWl0ZW0tdHJpZ2dlci1icmVha3BvaW50ID09ZmFsc2UpIHtcbiAgICAgICAgICAgIGZsZXg6IDEgMSAoMTAwJSAvICgkaGVhZGVyLXVzZXItbmF2X2l0ZW1zICsgMSkpO1xuICAgICAgICB9XG5cbiAgICAgICAgQGVsc2Uge1xuICAgICAgICAgICAgZmxleDogMSAxICgxMDAlIC8gKCRoZWFkZXItdXNlci1uYXZfaXRlbXMgKyAxKSk7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKCN7JGdsb2JhbF9oZWFkZXItaGlkZS1zZWFyY2gtaXRlbS10cmlnZ2VyLWJyZWFrcG9pbnR9KSB7XG4gICAgICAgICAgICAgICAgZmxleDogMCAwICgxMDAlIC8gJGhlYWRlci11c2VyLW5hdl9pdGVtcyk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmLS1zZWFyY2gge1xuICAgICAgICAgICAgQGlmICgkZ2xvYmFsX2hlYWRlci1oaWRlLXNlYXJjaC1pdGVtLXRyaWdnZXItYnJlYWtwb2ludCkge1xuICAgICAgICAgICAgICAgIEBpZiAoJGdsb2JhbF9oZWFkZXItaGlkZS1zZWFyY2gtaXRlbS10cmlnZ2VyLWJyZWFrcG9pbnQgPT10cnVlKSB7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgQGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgkZ2xvYmFsX2hlYWRlci1oaWRlLXNlYXJjaC1pdGVtLXRyaWdnZXItYnJlYWtwb2ludCApIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgJi0tYWNjb3VudCB7XG4gICAgICAgICAgICBhe1xuICAgICAgICAgICAgICAgIG1heC13aWR0aDogMTYwcHg7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz50YWJsZXQnKSB7XG4gICAgICAgICAgICAgICAgICAgIG1pbi13aWR0aDogMTQ1cHg7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLm1pbmljYXJ0LXdyYXBwZXI+LmNzLWhlYWRlci11c2VyLW5hdl9fbGluayB7XG4gICAgICAgIHBhZGRpbmc6IDAuNXJlbSAxcmVtO1xuICAgICAgICBib3JkZXI6IDJweCBzb2xpZCAkY29sb3JfcGFwaWxhcnRfcHVycGxlO1xuICAgICAgICBib3JkZXItcmFkaXVzOiAyMDBweDtcbiAgICB9XG5cbiAgICAmX19saW5rIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1ldmVubHk7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIHBhZGRpbmc6IDByZW07XG5cbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cbiAgICAgICAgICAgICN7JHJvb3R9X19pY29uIHtcbiAgICAgICAgICAgICAgICBwYXRoIHtcbiAgICAgICAgICAgICAgICAgICAgZmlsbDogJGhlYWRlci11c2VyLW5hdl9pY29uLWNvbG9yLWhvdmVyO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgI3skcm9vdH1fX2xhYmVsIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogJGhlYWRlci11c2VyLW5hdl9sYWJlbC1jb2xvci1ob3ZlcjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICYtLXNlYXJjaCB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz49dGFibGV0Jykge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19pY29uLXdyYXBwZXIge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAxMHB4O1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7XG4gICAgfVxuXG4gICAgJl9faWNvbiB7XG4gICAgICAgIHdpZHRoOiAkaGVhZGVyLXVzZXItbmF2X2ljb24td2lkdGg7XG4gICAgICAgIGhlaWdodDogJGhlYWRlci11c2VyLW5hdl9pY29uLWhlaWdodDtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIG1hcmdpbjogMCBhdXRvO1xuXG4gICAgICAgIHBhdGgge1xuICAgICAgICAgICAgZmlsbDogJGhlYWRlci11c2VyLW5hdl9pY29uLWNvbG9yO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fbGFiZWwge1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogJGhlYWRlci11c2VyLW5hdl9sYWJlbC10ZXh0LXRyYW5zZm9ybTtcbiAgICAgICAgZm9udC1zaXplOiAkaGVhZGVyLXVzZXItbmF2X2xhYmVsLWZvbnQtc2l6ZTtcbiAgICAgICAgZm9udC13ZWlnaHQ6ICRoZWFkZXItdXNlci1uYXZfbGFiZWwtZm9udC13ZWlnaHQ7XG4gICAgICAgIG1hcmdpbi10b3A6ICRoZWFkZXItdXNlci1uYXZfbGFiZWwtbWFyZ2luLXRvcDtcbiAgICAgICAgY29sb3I6ICRoZWFkZXItdXNlci1uYXZfbGFiZWwtY29sb3I7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblxuICAgICAgICBAaWYgKCRoZWFkZXItdXNlci1uYXZfbGFiZWwtdmlzaWJsZSA9PXRydWUpIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB9XG5cbiAgICAgICAgQGVsc2UgaWYgKCRoZWFkZXItdXNlci1uYXZfbGFiZWwtdmlzaWJsZSA9PWZhbHNlKSB7XG4gICAgICAgICAgICBAaW5jbHVkZSB2aXN1YWxseS1oaWRkZW4oKTsgLy8gTGFiZWwgaXMgbm90IGRpc3BsYXllZCBvbiBzY3JlZW4gYnV0IGFjY2Vzc2libGUgZm9yIHNjcmVlbiByZWFkZXJzXG4gICAgICAgIH1cblxuICAgICAgICBAZWxzZSB7XG4gICAgICAgICAgICBAaW5jbHVkZSB2aXN1YWxseS1oaWRkZW4oKTtcblxuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoI3skaGVhZGVyLXVzZXItbmF2X2xhYmVsLXZpc2libGV9KSB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgdmlzdWFsbHktdmlzaWJsZSgpO1xuXG4gICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogJGhlYWRlci11c2VyLW5hdl9sYWJlbC1tYXJnaW4tdG9wO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fcXR5LWNvdW50ZXIge1xuICAgICAgICBAaW5jbHVkZSBxdHktY291bnRlcigpO1xuXG4gICAgICAgIG9wYWNpdHk6IDE7XG5cbiAgICAgICAgQGlmICgkaGVhZGVyLXVzZXItbmF2X3F0eS1jb3VudGVyLWFuaW1hdGlvbi1zaG93KSB7XG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5ICRoZWFkZXItdXNlci1uYXZfcXR5LWNvdW50ZXItYW5pbWF0aW9uLXRpbWU7XG4gICAgICAgIH1cblxuICAgICAgICAmLS13aXNobGlzdCB7XG4gICAgICAgICAgICBAaW5jbHVkZSBxdHktY291bnRlcl90eXBlKCd3aXNobGlzdCcpO1xuXG4gICAgICAgICAgICB0cmFuc2l0aW9uOiB0b3AgMC45cyBjdWJpYy1iZXppZXIoMC40MiwgMC4zMSwgMC4zNCwgMC45MyksXG4gICAgICAgICAgICAgICAgbGVmdCAwLjlzIGN1YmljLWJlemllcigwLjQyLCAwLjMxLCAwLjM0LCAwLjkzKTtcbiAgICAgICAgfVxuXG4gICAgICAgICYtLW1pbmljYXJ0IHtcbiAgICAgICAgICAgIEBpbmNsdWRlIHF0eS1jb3VudGVyX3R5cGUoJ21pbmljYXJ0Jyk7XG4gICAgICAgIH1cblxuICAgICAgICAmLS1jb21wYXJlIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIHF0eS1jb3VudGVyX3R5cGUoJ2NvbXBhcmUnKTtcbiAgICAgICAgfVxuXG4gICAgICAgICYtLWhhdmUtaXRlbXMge1xuICAgICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgfVxuXG4gICAgICAgICYtLWVtcHR5IHtcbiAgICAgICAgICAgICYjeyRyb290fV9fcXR5LWNvdW50ZXItLXdpc2hsaXN0IHtcbiAgICAgICAgICAgICAgICBAaWYgKCRoZWFkZXItdXNlci1uYXZfcXR5LWNvdW50ZXItd2lzaGxpc3Qtc2hvdy1lbXB0eSkge1xuICAgICAgICAgICAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJiN7JHJvb3R9X19xdHktY291bnRlci0tbWluaWNhcnQge1xuICAgICAgICAgICAgICAgIEBpZiAoJGhlYWRlci11c2VyLW5hdl9xdHktY291bnRlci1taW5pY2FydC1zaG93LWVtcHR5KSB7XG4gICAgICAgICAgICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmI3skcm9vdH1fX3F0eS1jb3VudGVyLS1jb21wYXJlIHtcbiAgICAgICAgICAgICAgICBAaWYgKCRoZWFkZXItdXNlci1uYXZfcXR5LWNvdW50ZXItY29tcGFyZS1zaG93LWVtcHR5KSB7XG4gICAgICAgICAgICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmOjpiZWZvcmV7XG4gICAgICAgICAgICAgICAgY29udGVudDogJzAnO1xuICAgICAgICAgICAgICAgIHdpZHRoOiAwO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgIH1cblxuICAgICAgICAmLS13aXNobGlzdC1jbG9uZWQge1xuICAgICAgICAgICAgcG9zaXRpb246IGZpeGVkO1xuICAgICAgICAgICAgei1pbmRleDogMTIwMDtcbiAgICAgICAgICAgIHJpZ2h0OiBhdXRvO1xuICAgICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgICAgIHRyYW5zaXRpb246IHRvcCAxLjJzIGN1YmljLWJlemllcigwLjQyLCAwLjMxLCAwLjM0LCAwLjkzKSxcbiAgICAgICAgICAgICAgICBsZWZ0IDEuMnMgY3ViaWMtYmV6aWVyKDAuNDIsIDAuMzEsIDAuMzQsIDAuOTMpO1xuICAgICAgICB9XG5cbiAgICAgICAgJi0td2lzaGxpc3QtYW5pbWF0aW5nIHtcbiAgICAgICAgICAgIGFuaW1hdGlvbjogbW92ZS1xdHktYmFkZ2UgMS4ycyBjdWJpYy1iZXppZXIoMC40MiwgMC4zMSwgMC4zNCwgMC45Myk7XG4gICAgICAgICAgICB0b3A6IDAuNXJlbTtcblxuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz49dGFibGV0Jykge1xuICAgICAgICAgICAgICAgIHRvcDogMS4zcmVtO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPj1sYXB0b3AnKSB7XG4gICAgICAgICAgICAgICAgdG9wOiAzLjVyZW07XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBAa2V5ZnJhbWVzIG1vdmUtcXR5LWJhZGdlIHtcbiAgICAgICAgMCUge1xuICAgICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgfVxuXG4gICAgICAgIDE1JSB7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xuICAgICAgICB9XG5cbiAgICAgICAgODUlIHtcbiAgICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDEuNSk7XG4gICAgICAgIH1cblxuICAgICAgICA5NSUge1xuICAgICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgfVxuXG4gICAgICAgIDEwMCUge1xuICAgICAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19xdHktY291bnRlci1zcGFuIHtcbiAgICAgICAgQGluY2x1ZGUgcXR5LWNvdW50ZXJfc3BhbigpO1xuICAgIH1cblxuICAgIC5taW5pY2FydC1hbW91bnQtd3JhcHBlcj4ubWluaWNhcnQtYW1vdW50LXRleHQge1xuICAgICAgICBmb250LXNpemU6IDEuNHJlbTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgICAgbWluLXdpZHRoOiA0MHB4O1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cbiAgICAgICAgLm1pbmljYXJ0LWFtb3VudC10ZXh0LS1lbXB0eSB7XG4gICAgICAgICAgICAmOjpiZWZvcmV7XG4gICAgICAgICAgICAgICAgY29udGVudDogJzAsMDAgesWCJztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbiAgICBcbn0iLCJAaW1wb3J0ICdjb25maWcvdmFyaWFibGVzJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvcXR5LWNvdW50ZXIvaG9vayc7XG5cbiRxdHktY291bnRlcl9mb250LXNpemU6IDEuNHJlbSAhZGVmYXVsdDtcbiRxdHktY291bnRlcl9mb250LXdlaWdodDogNzAwICFkZWZhdWx0O1xuJHF0eS1jb3VudGVyX2hlaWdodDogMS44ZW0gIWRlZmF1bHQ7XG4kcXR5LWNvdW50ZXJfcGFkZGluZzogMCAwLjlyZW0gIWRlZmF1bHQ7XG4kcXR5LWNvdW50ZXJfYm9yZGVyOiAwICFkZWZhdWx0O1xuJHF0eS1jb3VudGVyX2JvcmRlci1yYWRpdXM6IDUwcHggIWRlZmF1bHQ7XG5cbiRxdHktY291bnRlci0tZGVmYXVsdC1iYWNrZ3JvdW5kOiAkY29sb3JfcHJpbWFyeS01MDAgIWRlZmF1bHQ7XG4kcXR5LWNvdW50ZXItLWRlZmF1bHQtY29sb3I6ICRjb2xvcl90ZXh0LTIwMCAhZGVmYXVsdDtcblxuJHF0eS1jb3VudGVyLS1taW5pY2FydC1iYWNrZ3JvdW5kOiAkY29sb3JfeWVsbG93LW9yYW5nZSAhZGVmYXVsdDtcbiRxdHktY291bnRlci0tbWluaWNhcnQtY29sb3I6ICRjb2xvcl90ZXh0LTIwMCAhZGVmYXVsdDtcblxuJHF0eS1jb3VudGVyLS1jb21wYXJlLWJhY2tncm91bmQ6ICRjb2xvcl9zZWNvbmRhcnktNTAwICFkZWZhdWx0O1xuJHF0eS1jb3VudGVyLS1jb21wYXJlLWNvbG9yOiAkY29sb3JfdGV4dC05MDAgIWRlZmF1bHQ7XG5cbiRxdHktY291bnRlci0td2lzaGxpc3QtYmFja2dyb3VuZDogJGNvbG9yX3NlY29uZGFyeS01MDAgIWRlZmF1bHQ7XG4kcXR5LWNvdW50ZXItLXdpc2hsaXN0LWNvbG9yOiAkY29sb3JfdGV4dC05MDAgIWRlZmF1bHQ7XG5cbkBtaXhpbiBxdHktY291bnRlcigkdHlwZTogJ2RlZmF1bHQnKSB7XG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHF0eS1jb3VudGVyLS1kZWZhdWx0LWJhY2tncm91bmQ7XG4gICAgY29sb3I6ICRxdHktY291bnRlci0tZGVmYXVsdC1jb2xvcjtcbiAgICBib3JkZXI6ICRxdHktY291bnRlcl9ib3JkZXI7XG4gICAgYm9yZGVyLXJhZGl1czogJHF0eS1jb3VudGVyX2JvcmRlci1yYWRpdXM7XG4gICAgcGFkZGluZzogJHF0eS1jb3VudGVyX3BhZGRpbmc7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZm9udC1zaXplOiAkcXR5LWNvdW50ZXJfZm9udC1zaXplO1xuICAgIGxpbmUtaGVpZ2h0OiAxMDAlO1xuICAgIGZvbnQtd2VpZ2h0OiAkcXR5LWNvdW50ZXJfZm9udC13ZWlnaHQ7XG4gICAgaGVpZ2h0OiAkcXR5LWNvdW50ZXJfaGVpZ2h0O1xuXG4gICAgQGluY2x1ZGUgcXR5LWNvdW50ZXJfaG9vaygkdHlwZSk7XG59XG5cbkBtaXhpbiBxdHktY291bnRlcl90eXBlKCR0eXBlOiAnZGVmYXVsdCcpIHtcbiAgICBAaWYgKCR0eXBlID09J3dpc2hsaXN0Jykge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcXR5LWNvdW50ZXItLXdpc2hsaXN0LWJhY2tncm91bmQ7XG4gICAgICAgIGNvbG9yOiAkcXR5LWNvdW50ZXItLXdpc2hsaXN0LWNvbG9yO1xuICAgIH1cblxuICAgIEBpZiAoJHR5cGUgPT0nbWluaWNhcnQnKSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRxdHktY291bnRlci0tbWluaWNhcnQtYmFja2dyb3VuZDtcbiAgICAgICAgY29sb3I6ICRxdHktY291bnRlci0tbWluaWNhcnQtY29sb3I7XG4gICAgfVxuXG4gICAgQGlmICgkdHlwZSA9PSdjb21wYXJlJykge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcXR5LWNvdW50ZXItLWNvbXBhcmUtYmFja2dyb3VuZDtcbiAgICAgICAgY29sb3I6ICRxdHktY291bnRlci0tY29tcGFyZS1jb2xvcjtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBxdHktY291bnRlcl90eXBlLWhvb2soJHR5cGUpO1xufVxuXG5AbWl4aW4gcXR5LWNvdW50ZXJfc3BhbigkdHlwZTogJ2RlZmF1bHQnKSB7XG4gICAgbWluLXdpZHRoOiAxY2g7XG5cbiAgICBAaW5jbHVkZSBxdHktY291bnRlcl9zcGFuLWhvb2soJHR5cGUpO1xufSIsIi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG5AdXNlICdzYXNzOm1hcCc7XG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG4vKipcbiogRGVmYXVsdCBwcm9qZWN0IGJyZWFrcG9pbnRzIC0gW2VtXVxuKi9cbi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG5AdXNlICdzYXNzOm1hcCc7XG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG4vKipcbiogRGVmYXVsdCBwcm9qZWN0IGJyZWFrcG9pbnRzIC0gW2VtXVxuKi9cbi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG5AdXNlICdzYXNzOm1hcCc7XG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG4vKipcbiogRGVmYXVsdCBwcm9qZWN0IGJyZWFrcG9pbnRzIC0gW2VtXVxuKi9cbi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG5AdXNlICdzYXNzOm1hcCc7XG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG4vKipcbiogRGVmYXVsdCBwcm9qZWN0IGJyZWFrcG9pbnRzIC0gW2VtXVxuKi9cbi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG5AdXNlICdzYXNzOm1hcCc7XG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG4vKipcbiogRGVmYXVsdCBwcm9qZWN0IGJyZWFrcG9pbnRzIC0gW2VtXVxuKi9cbi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG5AdXNlICdzYXNzOm1hcCc7XG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG4vKipcbiogRGVmYXVsdCBwcm9qZWN0IGJyZWFrcG9pbnRzIC0gW2VtXVxuKi9cbi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG5AdXNlICdzYXNzOm1hcCc7XG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG4vKipcbiogRGVmYXVsdCBwcm9qZWN0IGJyZWFrcG9pbnRzIC0gW2VtXVxuKi9cbi8qIHN0eWxlbGludC1kaXNhYmxlIGJsb2NrLW5vLWVtcHR5ICovXG4vKiBzdHlsZWxpbnQtZW5hYmxlICovXG4uY3MtaGVhZGxpbmUge1xuICBmb250LXNpemU6IDFyZW07XG4gIGNsZWFyOiBib3RoO1xuICBwYWRkaW5nOiAwIDAgMmVtIDA7XG4gIG1hcmdpbjogMCAwIDJlbSAwO1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7XG4gIG1hcmdpbjogMCAwIDNyZW07IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAuY3MtaGVhZGxpbmUge1xuICAgICAgbWFyZ2luOiAwIDAgNHJlbTsgfSB9XG4gIC5jcy1oZWFkbGluZS0tc2tpcC1zcGFjaW5nIHtcbiAgICBtYXJnaW46IDA7IH1cbiAgLmNzLWhlYWRsaW5lX190aXRsZSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgbWFyZ2luOiAwO1xuICAgIGZvbnQtc2l6ZTogMi42ZW07XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBjb2xvcjogIzQ1NWE2NDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgIC5jcy1oZWFkbGluZV9fdGl0bGUge1xuICAgICAgICBkaXNwbGF5OiBmbGV4OyB9IH1cbiAgICAuY3MtaGVhZGxpbmVfX3RpdGxlOmJlZm9yZSwgLmNzLWhlYWRsaW5lX190aXRsZTphZnRlciB7XG4gICAgICBjb250ZW50OiAnJztcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICBoZWlnaHQ6IDFweDtcbiAgICAgIGZsZXgtZ3JvdzogMTtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNkY2RjZGM7IH1cbiAgICAgIEBtZWRpYSAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAgIC5jcy1oZWFkbGluZV9fdGl0bGU6YmVmb3JlLCAuY3MtaGVhZGxpbmVfX3RpdGxlOmFmdGVyIHtcbiAgICAgICAgICBkaXNwbGF5OiBmbGV4OyB9IH1cbiAgICAuY3MtaGVhZGxpbmVfX3RpdGxlOmJlZm9yZSB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDAuNmVtOyB9XG4gICAgLmNzLWhlYWRsaW5lX190aXRsZTphZnRlciB7XG4gICAgICBtYXJnaW4tbGVmdDogMC42ZW07IH1cbiAgLmNzLWhlYWRsaW5lX19zdWJ0aXRsZSB7XG4gICAgY29sb3I6ICM4ODg7XG4gICAgZm9udC1zaXplOiAyZW07XG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMnJlbSAwO1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgIC5jcy1oZWFkbGluZV9fc3VidGl0bGUge1xuICAgICAgICBkaXNwbGF5OiBibG9jazsgfSB9XG4iLCIvKiBzdHlsZWxpbnQtZGlzYWJsZSBibG9jay1uby1lbXB0eSAqL1xuQG1peGluIGhlYWRsaW5lLWhvb2soKSB7XG59XG5cbkBtaXhpbiBoZWFkbGluZS10aXRsZS1ob29rKCkge1xufVxuXG5AbWl4aW4gaGVhZGxpbmUtc3VidGl0bGUtaG9vaygpIHtcbn1cbi8qIHN0eWxlbGludC1lbmFibGUgKi9cbiIsIkBpbXBvcnQgJ2NvbmZpZy92YXJpYWJsZXMnO1xuQGltcG9ydCAndmVuZG9ycy9pbmNsdWRlLW1lZGlhJztcbkBpbXBvcnQgJ3V0aWxzL2NvbXBvbmVudC1zcGFjaW5nJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvaGVhZGxpbmUvbWl4aW4nO1xuXG4uI3skbnN9aGVhZGxpbmUge1xuICAgIEBpbmNsdWRlIGhlYWRsaW5lKCk7XG5cbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcblxuICAgIEBpbmNsdWRlIGNvbXBvbmVudC1zcGFjaW5nKCk7XG5cbiAgICAmX190aXRsZSB7XG4gICAgICAgIEBpbmNsdWRlIGhlYWRsaW5lLXRpdGxlKCk7XG4gICAgfVxuXG4gICAgJl9fc3VidGl0bGUge1xuICAgICAgICBAaW5jbHVkZSBoZWFkbGluZS1zdWJ0aXRsZSgpO1xuICAgIH1cbn1cbiIsIkBpbXBvcnQgJ2NvbmZpZy92YXJpYWJsZXMnO1xuQGltcG9ydCAndmVuZG9ycy9pbmNsdWRlLW1lZGlhJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvaGVhZGxpbmUvaG9vayc7XG5cbiRoZWFkbGluZV90aXRsZS1jb2xvcjogJGNvbG9yX3RleHQtODAwICFkZWZhdWx0O1xuJGhlYWRsaW5lX3RpdGxlLWZvbnQtc2l6ZTogMi42ZW0gIWRlZmF1bHQ7XG4kaGVhZGxpbmVfdGl0bGUtZm9udC13ZWlnaHQ6IDcwMCAhZGVmYXVsdDtcbiRoZWFkbGluZV90aXRsZS10ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlICFkZWZhdWx0O1xuLy8gU2hvdyBmbGV4aWJsZSBkZWNvcmF0aW9uIGxpbmVzIGF0IHRoZSBzaWRlcyBvZiB0aGUgdGl0bGUuXG4kaGVhZGxpbmVfdGl0bGUtbGluZXMtZW5hYmxlZDogdHJ1ZSAhZGVmYXVsdDtcbiRoZWFkbGluZV90aXRsZS1saW5lcy1jb2xvcjogJGNvbG9yX2JvcmRlci01MDAgIWRlZmF1bHQ7XG5cbiRoZWFkbGluZV9zdWJ0aXRsZS1jb2xvcjogJGNvbG9yX2JvcmRlci03MDAgIWRlZmF1bHQ7XG4kaGVhZGxpbmVfc3VidGl0bGUtZm9udC1zaXplOiAyZW0gIWRlZmF1bHQ7XG4kaGVhZGxpbmVfc3VidGl0bGUtZm9udC13ZWlnaHQ6IDQwMCAhZGVmYXVsdDtcbiRoZWFkbGluZV9zdWJ0aXRsZS10ZXh0LXRyYW5zZm9ybTogbm9uZSAhZGVmYXVsdDtcbiRoZWFkbGluZV9zdWJ0aXRsZS1tYXJnaW46IDAgIWRlZmF1bHQ7XG4kaGVhZGxpbmVfc3VidGl0bGUtcGFkZGluZzogMnJlbSAwICFkZWZhdWx0O1xuXG5AbWl4aW4gaGVhZGxpbmUge1xuICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICBjbGVhcjogYm90aDtcbiAgICBwYWRkaW5nOiAwIDAgMmVtIDA7XG4gICAgbWFyZ2luOiAwIDAgMmVtIDA7XG5cbiAgICBAaW5jbHVkZSBoZWFkbGluZS1ob29rKCk7XG59XG5cbkBtaXhpbiBoZWFkbGluZS10aXRsZShcbiAgICAkY29sb3I6ICRoZWFkbGluZV90aXRsZS1jb2xvcixcbiAgICAkZm9udC1zaXplOiAkaGVhZGxpbmVfdGl0bGUtZm9udC1zaXplLFxuICAgICRmb250LXdlaWdodDogJGhlYWRsaW5lX3RpdGxlLWZvbnQtd2VpZ2h0LFxuICAgICR0ZXh0LXRyYW5zZm9ybTogJGhlYWRsaW5lX3RpdGxlLXRleHQtdHJhbnNmb3JtLFxuICAgICRsaW5lcy1lbmFibGVkOiAkaGVhZGxpbmVfdGl0bGUtbGluZXMtZW5hYmxlZCxcbiAgICAkbGluZXMtY29sb3I6ICRoZWFkbGluZV90aXRsZS1saW5lcy1jb2xvclxuKSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgbWFyZ2luOiAwO1xuICAgIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZTtcbiAgICBmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0O1xuICAgIGNvbG9yOiAkY29sb3I7XG4gICAgdGV4dC10cmFuc2Zvcm06ICR0ZXh0LXRyYW5zZm9ybTtcblxuICAgIEBpbmNsdWRlIG1lZGlhKCc+PXRhYmxldCcpIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICB9XG5cbiAgICBAaWYgJGxpbmVzLWVuYWJsZWQge1xuICAgICAgICAmOmJlZm9yZSxcbiAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICBoZWlnaHQ6IDFweDtcbiAgICAgICAgICAgIGZsZXgtZ3JvdzogMTtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRsaW5lcy1jb2xvcjtcblxuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz49dGFibGV0Jykge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDAuNmVtO1xuICAgICAgICB9XG5cbiAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogMC42ZW07XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBAaW5jbHVkZSBoZWFkbGluZS10aXRsZS1ob29rKCk7XG59XG5cbkBtaXhpbiBoZWFkbGluZS1zdWJ0aXRsZShcbiAgICAkY29sb3I6ICRoZWFkbGluZV9zdWJ0aXRsZS1jb2xvcixcbiAgICAkZm9udC1zaXplOiAkaGVhZGxpbmVfc3VidGl0bGUtZm9udC1zaXplLFxuICAgICRmb250LXdlaWdodDogJGhlYWRsaW5lX3N1YnRpdGxlLWZvbnQtd2VpZ2h0LFxuICAgICR0ZXh0LXRyYW5zZm9ybTogJGhlYWRsaW5lX3N1YnRpdGxlLXRleHQtdHJhbnNmb3JtXG4gICAgXG4pIHtcbiAgICBjb2xvcjogJGNvbG9yO1xuICAgIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZTtcbiAgICBmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0O1xuICAgIHRleHQtdHJhbnNmb3JtOiAkdGV4dC10cmFuc2Zvcm07XG4gICAgbWFyZ2luOiAkaGVhZGxpbmVfc3VidGl0bGUtbWFyZ2luO1xuICAgIHBhZGRpbmc6ICRoZWFkbGluZV9zdWJ0aXRsZS1wYWRkaW5nO1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gICAgQGluY2x1ZGUgbWVkaWEoJz49dGFibGV0Jykge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBoZWFkbGluZS1zdWJ0aXRsZS1ob29rKCk7XG59XG4iLCIubGF6eWxvYWQsXG4ubGF6eWxvYWRpbmcsXG4uc3dpcGVyLWxhenkge1xuICAgIC8vIEFkZGVkIHRvIHByZXZlbnQgbGF6eVNpemVzIGZyb20gZGVsYXlpbmcgaW1hZ2VzIGxvYWQuXG4gICAgb3BhY2l0eTogMC4wMDE7XG59XG5cbi5sYXp5bG9hZFtkYXRhLWJnXSB7XG4gICAgb3BhY2l0eTogMTtcbn1cblxuLmxhenlsb2FkZWQsXG4uc3dpcGVyLWxhenktbG9hZGVkIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC4ycztcbn1cblxuLy8gSW1hZ2UgdGVhc2VyIGltYWdlcyBnZXQgMTAwJSBldmVuIGJlZm9yZSBsb2FkaW5nLFxuLy8gd2hpY2ggcmVzdWx0cyBpbiBiaWcgcGxhY2Vob2xkZXIgaW1hZ2UgYW5kIGVtcHR5IHNwYWNlIGJlbG93IHRlYXNlclxuLy8gVG8gcHJldmVudCBiaWcgcGxhY2Vob2xkZXIgaW1hZ2VzIDFweCBoZWlnaHQgaXMgZm9yY2VkIG9uIG5vdCB5ZXN0IGxvYWRlZCBpbWFnZXNcbi5jcy1pbWFnZS10ZWFzZXJfX2ltYWdlLmxhenlsb2FkOm5vdCgubGF6eWxvYWRlZCkge1xuICAgIGhlaWdodDogMXB4O1xufVxuIiwiLyoqXG4gKiBCcmVha3BvaW50IGNvbXBvbmVudCB1c2VkIGJ5IGluY2x1ZGUtbWVkaWEgdmVuZG9yIGxpYnJhcnkuXG4gKi9cbkB1c2UgJ3Nhc3M6bWFwJztcbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuLmNzLWxpbmtzLWJsb2NrLWFkZHRvIHtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwO1xuICBsaXN0LXN0eWxlOiBub25lO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgd2lkdGg6IDEwMCU7IH1cbiAgLnBhZ2UtcHJvZHVjdC1idW5kbGUgLmNzLWxpbmtzLWJsb2NrLWFkZHRvIHtcbiAgICBtYXJnaW4tdG9wOiAxcmVtOyB9XG4gIC5jcy1wcm9kdWN0LXRpbGVfX2FkZG9uIC5jcy1saW5rcy1ibG9jay1hZGR0byB7XG4gICAgcGFkZGluZy10b3A6IDA7IH1cbiAgLmNzLWxpbmtzLWJsb2NrLWFkZHRvLS1jZW50ZXJlZCB7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IH1cbiAgLmNzLWxpbmtzLWJsb2NrLWFkZHRvX19pdGVtIHtcbiAgICBtYXJnaW46IDA7IH1cbiAgICAuY3MtbGlua3MtYmxvY2stYWRkdG9fX2l0ZW0gKyAuY3MtbGlua3MtYmxvY2stYWRkdG9fX2l0ZW0ge1xuICAgICAgbWFyZ2luLWxlZnQ6IDAuNXJlbTsgfVxuICAgICAgLmNzLXByb2R1Y3QtdGlsZS0tbGlzdCAuY3MtbGlua3MtYmxvY2stYWRkdG9fX2l0ZW0gKyAuY3MtbGlua3MtYmxvY2stYWRkdG9fX2l0ZW0ge1xuICAgICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgICAgbWFyZ2luLXRvcDogMC41cmVtOyB9XG4gIC5jcy1saW5rcy1ibG9jay1hZGR0b19fbGluayB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGZvbnQtc2l6ZTogMS4ycmVtO1xuICAgIGNvbG9yOiAjNGQyYzkxO1xuICAgIHRyYW5zaXRpb246IGNvbG9yIDAuMTVzIGxpbmVhcjsgfVxuICAgIC5jcy1saW5rcy1ibG9jay1hZGR0b19fbGluazpob3ZlciB7XG4gICAgICBjb2xvcjogIzRkMmM5MTtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfVxuICAuY3MtbGlua3MtYmxvY2stYWRkdG9fX2ljb24ge1xuICAgIHdpZHRoOiAxLjM3NWVtO1xuICAgIGhlaWdodDogMS4zNzVlbTtcbiAgICBtYXJnaW4tcmlnaHQ6IDAuNHJlbTsgfVxuICAgIC5jcy1saW5rcy1ibG9jay1hZGR0b19faWNvbiBwYXRoIHtcbiAgICAgIGZpbGw6ICM4ODg7IH1cbiAgICAuY3MtbGlua3MtYmxvY2stYWRkdG9fX2ljb24tLXdpc2hsaXN0IHBhdGgge1xuICAgICAgZmlsbDogI2U0MWYxMjsgfVxuICAgIC5jcy1saW5rcy1ibG9jay1hZGR0b19faWNvbi0tY29tcGFyZSBwYXRoIHtcbiAgICAgIGZpbGw6ICM3ZTU3YzI7IH1cbiIsIkBpbXBvcnQgJ2NvbmZpZy92YXJpYWJsZXMnO1xuXG4kbGlua3MtYmxvY2stYWRkdG9fd2lzaGxpc3QtaWNvbi1jb2xvcjogJGNvbG9yX2Vycm9yLTUwMCAhZGVmYXVsdDtcbiRsaW5rcy1ibG9jay1hZGR0b19jb21wYXJlLWljb24tY29sb3I6ICRsaW5rLWNvbG9yX2Jhc2UgIWRlZmF1bHQ7XG4kbGlua3MtYmxvY2stYWRkdG9fY29sb3I6ICRjb2xvcl90ZXh0LTUwMCAhZGVmYXVsdDtcbiRsaW5rcy1ibG9jay1hZGR0b19ob3Zlci1jb2xvcjogJGxpbmstY29sb3JfYmFzZS1ob3ZlciAhZGVmYXVsdDtcbiRsaW5rcy1ibG9jay1hZGR0b19mb250LXNpemU6IDEuMnJlbSAhZGVmYXVsdDtcbiRsaW5rcy1ibG9jay1hZGR0b19pY29uLXdpZHRoOiAxLjM3NWVtICFkZWZhdWx0O1xuJGxpbmtzLWJsb2NrLWFkZHRvX2ljb24taGVpZ2h0OiAxLjM3NWVtICFkZWZhdWx0O1xuXG4uI3skbnN9bGlua3MtYmxvY2stYWRkdG8ge1xuICAgICRyb290OiAmO1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgLnBhZ2UtcHJvZHVjdC1idW5kbGUgJiB7XG4gICAgICAgIG1hcmdpbi10b3A6IDFyZW07XG4gICAgfVxuXG4gICAgLiN7JG5zfXByb2R1Y3QtdGlsZV9fYWRkb24gJiB7XG4gICAgICAgIHBhZGRpbmctdG9wOiAwO1xuICAgIH1cblxuICAgICYtLWNlbnRlcmVkIHtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgfVxuXG4gICAgJl9faXRlbSB7XG4gICAgICAgIG1hcmdpbjogMDtcblxuICAgICAgICArICN7JHJvb3R9X19pdGVtIHtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAwLjVyZW07XG5cbiAgICAgICAgICAgIC4jeyRuc31wcm9kdWN0LXRpbGUtLWxpc3QgJiB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogMC41cmVtO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fbGluayB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGZvbnQtc2l6ZTogJGxpbmtzLWJsb2NrLWFkZHRvX2ZvbnQtc2l6ZTtcbiAgICAgICAgY29sb3I6ICRsaW5rcy1ibG9jay1hZGR0b19ob3Zlci1jb2xvcjtcbiAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgMC4xNXMgbGluZWFyO1xuXG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgY29sb3I6ICRsaW5rcy1ibG9jay1hZGR0b19ob3Zlci1jb2xvcjtcbiAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2ljb24ge1xuICAgICAgICB3aWR0aDogJGxpbmtzLWJsb2NrLWFkZHRvX2ljb24td2lkdGg7XG4gICAgICAgIGhlaWdodDogJGxpbmtzLWJsb2NrLWFkZHRvX2ljb24taGVpZ2h0O1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDAuNHJlbTtcblxuICAgICAgICBwYXRoIHtcbiAgICAgICAgICAgIGZpbGw6ICRjb2xvcl9ncmF5O1xuICAgICAgICB9XG5cbiAgICAgICAgJi0td2lzaGxpc3Qge1xuICAgICAgICAgICAgcGF0aCB7XG4gICAgICAgICAgICAgICAgZmlsbDogJGxpbmtzLWJsb2NrLWFkZHRvX3dpc2hsaXN0LWljb24tY29sb3I7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmLS1jb21wYXJlIHtcbiAgICAgICAgICAgIHBhdGgge1xuICAgICAgICAgICAgICAgIGZpbGw6ICRsaW5rcy1ibG9jay1hZGR0b19jb21wYXJlLWljb24tY29sb3I7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCIvKipcbiAqIEJyZWFrcG9pbnQgY29tcG9uZW50IHVzZWQgYnkgaW5jbHVkZS1tZWRpYSB2ZW5kb3IgbGlicmFyeS5cbiAqL1xuQHVzZSAnc2FzczptYXAnO1xuLyoqXG4gKiBFeHRyYWN0cyBuZXN0ZWQga2V5cyBmcm9tIGdpdmVuIG1hcC5cbiAqIEV4YW1wbGU6IGRlZXAtZ2V0KCRzb21lLW1hcCwgc29tZSwgbmVzdGVkLCBrZXlzKTtcbiAqL1xuLyoqXG4qIERlZmF1bHQgcHJvamVjdCBicmVha3BvaW50cyAtIFtlbV1cbiovXG4vKipcbiAqIEJyZWFrcG9pbnQgY29tcG9uZW50IHVzZWQgYnkgaW5jbHVkZS1tZWRpYSB2ZW5kb3IgbGlicmFyeS5cbiAqL1xuQHVzZSAnc2FzczptYXAnO1xuLyoqXG4gKiBFeHRyYWN0cyBuZXN0ZWQga2V5cyBmcm9tIGdpdmVuIG1hcC5cbiAqIEV4YW1wbGU6IGRlZXAtZ2V0KCRzb21lLW1hcCwgc29tZSwgbmVzdGVkLCBrZXlzKTtcbiAqL1xuLyoqXG4qIERlZmF1bHQgcHJvamVjdCBicmVha3BvaW50cyAtIFtlbV1cbiovXG4uY3MtbG9nbyB7XG4gIGhlaWdodDogMTAwJTsgfVxuICAuY3MtbG9nb19faW1hZ2Uge1xuICAgIGhlaWdodDogMTAwJTsgfVxuICAgIC5jcy1sb2dvX19pbWFnZS0tZGVza3RvcCB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgICAuY2hlY2tvdXQtaW5kZXgtaW5kZXggLmNzLWxvZ29fX2ltYWdlLS1kZXNrdG9wIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7IH1cbiAgICAgIEBtZWRpYSAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAgIC5jcy1sb2dvX19pbWFnZS0tZGVza3RvcCB7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7IH0gfVxuICAgIC5jcy1sb2dvX19pbWFnZS0tbW9iaWxlIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gICAgICBAbWVkaWEgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgICAuY3MtbG9nb19faW1hZ2UtLW1vYmlsZSB7XG4gICAgICAgICAgZGlzcGxheTogbm9uZTsgfSB9XG4gICAgICAuY2hlY2tvdXQtaW5kZXgtaW5kZXggLmNzLWxvZ29fX2ltYWdlLS1tb2JpbGUge1xuICAgICAgICBkaXNwbGF5OiBub25lOyB9XG4iLCJAaW1wb3J0ICdjb25maWcvdmFyaWFibGVzJztcbkBpbXBvcnQgJ3ZlbmRvcnMvaW5jbHVkZS1tZWRpYSc7XG5cbi4jeyRuc31sb2dvIHtcbiAgICBoZWlnaHQ6IDEwMCU7XG5cbiAgICAmX19pbWFnZSB7XG4gICAgICAgIGhlaWdodDogMTAwJTsgLy8gRml4ZXMgaGVpZ2h0OiBhdXRvIGJ1ZyBvbiBjaHJvbWUuXG5cbiAgICAgICAgJi0tZGVza3RvcCB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuXG4gICAgICAgICAgICAuY2hlY2tvdXQtaW5kZXgtaW5kZXggJiB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PXRhYmxldCcpIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICYtLW1vYmlsZSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcblxuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz49dGFibGV0Jykge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5jaGVja291dC1pbmRleC1pbmRleCAmIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuIiwiLyoqXG4gKiBCcmVha3BvaW50IGNvbXBvbmVudCB1c2VkIGJ5IGluY2x1ZGUtbWVkaWEgdmVuZG9yIGxpYnJhcnkuXG4gKi9cbkB1c2UgJ3Nhc3M6bWFwJztcbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuLyoqXG4gKiBCcmVha3BvaW50IGNvbXBvbmVudCB1c2VkIGJ5IGluY2x1ZGUtbWVkaWEgdmVuZG9yIGxpYnJhcnkuXG4gKi9cbkB1c2UgJ3Nhc3M6bWFwJztcbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuLm1lc3NhZ2VzIHtcbiAgbWF4LXdpZHRoOiAxMjhyZW07XG4gIG1hcmdpbjogMCBhdXRvOyB9XG5cbi5jcy1tZXNzYWdlc19fbWVzc2FnZSxcbi5tZXNzYWdlIHtcbiAgbWFyZ2luOiAxcmVtIDA7XG4gIHBhZGRpbmc6IDEuMnJlbSAxcmVtIDFyZW07XG4gIGJvcmRlci1yYWRpdXM6IDdweDtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogMS4ycmVtIGNlbnRlcjtcbiAgYmFja2dyb3VuZC1zaXplOiAycmVtIDJyZW07XG4gIHBhZGRpbmctbGVmdDogNC4zcmVtOyB9XG5cbi5tZXNzYWdlLmdsb2JhbC5kZW1vIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBmb250LXNpemU6IDIuNHJlbTtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIGNvbG9yOiB3aGl0ZTtcbiAgYmFja2dyb3VuZDogcmVkO1xuICBwYWRkaW5nOiAycmVtIDFyZW07XG4gIGJvcmRlci1yYWRpdXM6IDA7IH1cblxuLmNzLW1lc3NhZ2VzX19tZXNzYWdlLS1zdWNjZXNzLFxuLm1lc3NhZ2Uuc3VjY2VzcyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNkNWVmZDc7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltYWdlcy9pY29ucy9tZXNzYWdlcy9pY29uLXN1Y2Nlc3Muc3ZnXCIpO1xuICBib3JkZXI6IG5vbmU7IH1cblxuLmNzLW1lc3NhZ2VzX19tZXNzYWdlLS1ub3RpY2UsXG4ubWVzc2FnZS53YXJuaW5nIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZkZjRjYTtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1hZ2VzL2ljb25zL21lc3NhZ2VzL2ljb24td2FybmluZy5zdmdcIik7XG4gIGJvcmRlcjogbm9uZTsgfVxuXG4uY3MtbWVzc2FnZXNfX21lc3NhZ2UtLWluZm8sXG4ubWVzc2FnZS5pbmZvLFxuLm1lc3NhZ2Uubm90aWNlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZkZjRjYTtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1hZ2VzL2ljb25zL21lc3NhZ2VzL2ljb24taW5mby5zdmdcIik7XG4gIGJvcmRlcjogbm9uZTsgfVxuXG4uY3MtbWVzc2FnZXNfX21lc3NhZ2UtLWVycm9yLFxuLm1lc3NhZ2UuZXJyb3Ige1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjhkMGNlO1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWFnZXMvaWNvbnMvbWVzc2FnZXMvaWNvbi1lcnJvci5zdmdcIik7XG4gIGJvcmRlcjogbm9uZTsgfVxuXG4uY3MtbWVzc2FnZXNfX3RleHQsXG4ubWVzc2FnZSBzcGFuIHtcbiAgY29sb3I6ICM2OTY5Njk7XG4gIGZvbnQtc2l6ZTogMS40cmVtOyB9XG5cbi5jcy1tZXNzYWdlcy0tc3BhY2UtdG9wIHtcbiAgbWFyZ2luLXRvcDogMS41cmVtOyB9XG4iLCJAaW1wb3J0ICdjb25maWcvdmFyaWFibGVzJztcbkBpbXBvcnQgJ3ZlbmRvcnMvaW5jbHVkZS1tZWRpYSc7XG5cbiRtZXNzYWdlc19zdWNjZXNzLWJhY2tncm91bmQtY29sb3I6ICRjb2xvcl9zdWNjZXNzLTIwMCAhZGVmYXVsdDtcbiRtZXNzYWdlc19pbmZvLWJhY2tncm91bmQtY29sb3I6ICRjb2xvcl93YXJuaW5nLTIwMCAhZGVmYXVsdDtcbiRtZXNzYWdlc19ub3RpY2UtYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yX3dhcm5pbmctMjAwICFkZWZhdWx0O1xuJG1lc3NhZ2VzX2Vycm9yLWJhY2tncm91bmQtY29sb3I6ICRjb2xvcl9lcnJvci0yMDAgIWRlZmF1bHQ7XG5cbiRtZXNzYWdlc19zdWNjZXNzLWJvcmRlcjogbm9uZSAhZGVmYXVsdDtcbiRtZXNzYWdlc19pbmZvLWJvcmRlcjogbm9uZSAhZGVmYXVsdDtcbiRtZXNzYWdlc19ub3RpY2UtYm9yZGVyOiBub25lICFkZWZhdWx0O1xuJG1lc3NhZ2VzX2Vycm9yLWJvcmRlcjogbm9uZSAhZGVmYXVsdDtcblxuJG1lc3NhZ2VzX2JvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzX2Jhc2UgIWRlZmF1bHQ7XG4kbWVzc2FnZXNfcGFkZGluZzogMS4ycmVtIDFyZW0gMXJlbSAhZGVmYXVsdDtcbiRtZXNzYWdlc190ZXh0LWNvbG9yOiAkY29sb3JfdGV4dC01MDAgIWRlZmF1bHQ7XG4kbWVzc2FnZV9pY29uLXdpZHRoOiAycmVtICFkZWZhdWx0O1xuJG1lc3NhZ2VfaWNvbi1oZWlnaHQ6ICRtZXNzYWdlX2ljb24td2lkdGggIWRlZmF1bHQ7XG5cbi5tZXNzYWdlcyB7XG4gICAgbWF4LXdpZHRoOiAkcGFnZV9tYXgtd2lkdGg7XG4gICAgbWFyZ2luOiAwIGF1dG87XG59XG5cbi4jeyRuc31tZXNzYWdlc19fbWVzc2FnZSxcbi5tZXNzYWdlIHtcbiAgICBtYXJnaW46IDFyZW0gMDtcbiAgICBwYWRkaW5nOiAkbWVzc2FnZXNfcGFkZGluZztcbiAgICBib3JkZXItcmFkaXVzOiAkbWVzc2FnZXNfYm9yZGVyLXJhZGl1cztcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IDEuMnJlbSBjZW50ZXI7XG4gICAgYmFja2dyb3VuZC1zaXplOiAkbWVzc2FnZV9pY29uLXdpZHRoICRtZXNzYWdlX2ljb24taGVpZ2h0O1xuICAgIHBhZGRpbmctbGVmdDogNC4zcmVtO1xufVxuLm1lc3NhZ2UuZ2xvYmFsLmRlbW97XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGZvbnQtc2l6ZTogMi40cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgIGNvbG9yOiB3aGl0ZTtcbiAgICBiYWNrZ3JvdW5kOiByZWQ7XG4gICAgcGFkZGluZzogMnJlbSAxcmVtO1xuICAgIGJvcmRlci1yYWRpdXM6IDA7XG59XG5cbi4jeyRuc31tZXNzYWdlc19fbWVzc2FnZS0tc3VjY2Vzcyxcbi5tZXNzYWdlLnN1Y2Nlc3Mge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRtZXNzYWdlc19zdWNjZXNzLWJhY2tncm91bmQtY29sb3I7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcuLi9pbWFnZXMvaWNvbnMvbWVzc2FnZXMvaWNvbi1zdWNjZXNzLnN2ZycpO1xuICAgIGJvcmRlcjogJG1lc3NhZ2VzX3N1Y2Nlc3MtYm9yZGVyO1xufVxuXG4uI3skbnN9bWVzc2FnZXNfX21lc3NhZ2UtLW5vdGljZSxcbi5tZXNzYWdlLndhcm5pbmcge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRtZXNzYWdlc19ub3RpY2UtYmFja2dyb3VuZC1jb2xvcjtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy4uL2ltYWdlcy9pY29ucy9tZXNzYWdlcy9pY29uLXdhcm5pbmcuc3ZnJyk7XG4gICAgYm9yZGVyOiAkbWVzc2FnZXNfbm90aWNlLWJvcmRlcjtcbn1cblxuLiN7JG5zfW1lc3NhZ2VzX19tZXNzYWdlLS1pbmZvLFxuLm1lc3NhZ2UuaW5mbyxcbi5tZXNzYWdlLm5vdGljZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJG1lc3NhZ2VzX2luZm8tYmFja2dyb3VuZC1jb2xvcjtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy4uL2ltYWdlcy9pY29ucy9tZXNzYWdlcy9pY29uLWluZm8uc3ZnJyk7XG4gICAgYm9yZGVyOiAkbWVzc2FnZXNfaW5mby1ib3JkZXI7XG59XG5cbi4jeyRuc31tZXNzYWdlc19fbWVzc2FnZS0tZXJyb3IsXG4ubWVzc2FnZS5lcnJvciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJG1lc3NhZ2VzX2Vycm9yLWJhY2tncm91bmQtY29sb3I7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcuLi9pbWFnZXMvaWNvbnMvbWVzc2FnZXMvaWNvbi1lcnJvci5zdmcnKTtcbiAgICBib3JkZXI6ICRtZXNzYWdlc19lcnJvci1ib3JkZXI7XG59XG5cbi4jeyRuc31tZXNzYWdlc19fdGV4dCxcbi5tZXNzYWdlIHNwYW4ge1xuICAgIGNvbG9yOiAkbWVzc2FnZXNfdGV4dC1jb2xvcjtcbiAgICBmb250LXNpemU6IDEuNHJlbTtcbn1cblxuLiN7JG5zfW1lc3NhZ2VzIHtcbiAgICAkcm9vdDogJjtcblxuICAgICYtLXNwYWNlLXRvcCB7XG4gICAgICAgIG1hcmdpbi10b3A6IDEuNXJlbTtcbiAgICB9XG59XG4iLCIvKipcbiAqIEJyZWFrcG9pbnQgY29tcG9uZW50IHVzZWQgYnkgaW5jbHVkZS1tZWRpYSB2ZW5kb3IgbGlicmFyeS5cbiAqL1xuQHVzZSAnc2FzczptYXAnO1xuLyoqXG4gKiBFeHRyYWN0cyBuZXN0ZWQga2V5cyBmcm9tIGdpdmVuIG1hcC5cbiAqIEV4YW1wbGU6IGRlZXAtZ2V0KCRzb21lLW1hcCwgc29tZSwgbmVzdGVkLCBrZXlzKTtcbiAqL1xuLyoqXG4qIERlZmF1bHQgcHJvamVjdCBicmVha3BvaW50cyAtIFtlbV1cbiovXG4vKipcbiAqIEJyZWFrcG9pbnQgY29tcG9uZW50IHVzZWQgYnkgaW5jbHVkZS1tZWRpYSB2ZW5kb3IgbGlicmFyeS5cbiAqL1xuQHVzZSAnc2FzczptYXAnO1xuLyoqXG4gKiBFeHRyYWN0cyBuZXN0ZWQga2V5cyBmcm9tIGdpdmVuIG1hcC5cbiAqIEV4YW1wbGU6IGRlZXAtZ2V0KCRzb21lLW1hcCwgc29tZSwgbmVzdGVkLCBrZXlzKTtcbiAqL1xuLyoqXG4qIERlZmF1bHQgcHJvamVjdCBicmVha3BvaW50cyAtIFtlbV1cbiovXG4vKlxuICogRnVuY3Rpb24gdG8gZ2V0IHZhbHVlIGZyb20gYSBsaXN0IG9mIHZhbHVlcywgYmFzZWQgb24gc2lkZVxuICogQHBhcmFtIHtzdHJpbmd9ICR2YXJpYWJsZTogdmFyaWFibGUgd2l0aCBhIGxpc3Qgb2YgdmFsdWVzIChsaWtlIHBhZGRpbmdzLCBtYXJnaW5zIGV0Yy4pO1xuICogQHBhcmFtIHtzdHJpbmd9ICRzaWRlOiBzaWRlICh1cCAvIHJpZ2h0IC8gZG93biAvIGxlZnQpIGZvciB3aGljaCB3ZSB3YW50IHRvIGdldCB2YWx1ZVxuICogRXhhbXBsZTpcbiAqICRjb21wb25lbnRfcGFkZGluZzogMXJlbSAycmVtIDNyZW07XG4gKiBnZXQtdmFsdWUtZnJvbS1saXN0KCRjb21wb25lbnRfcGFkZGluZywgJ3JpZ2h0JykgLy8gMnJlbVxuICogZ2V0LXZhbHVlLWZyb20tbGlzdCgkY29tcG9uZW50X3BhZGRpbmcsICdib3R0b20nKSAvLyAzcmVtXG4gKi9cbi8qIHN0eWxlbGludC1kaXNhYmxlIGJsb2NrLW5vLWVtcHR5ICovXG4vKiBzdHlsZWxpbnQtZW5hYmxlICovXG4vKipcbiAqIEJyZWFrcG9pbnQgY29tcG9uZW50IHVzZWQgYnkgaW5jbHVkZS1tZWRpYSB2ZW5kb3IgbGlicmFyeS5cbiAqL1xuQHVzZSAnc2FzczptYXAnO1xuLyoqXG4gKiBFeHRyYWN0cyBuZXN0ZWQga2V5cyBmcm9tIGdpdmVuIG1hcC5cbiAqIEV4YW1wbGU6IGRlZXAtZ2V0KCRzb21lLW1hcCwgc29tZSwgbmVzdGVkLCBrZXlzKTtcbiAqL1xuLyoqXG4qIERlZmF1bHQgcHJvamVjdCBicmVha3BvaW50cyAtIFtlbV1cbiovXG4vKlxuICogRnVuY3Rpb24gdG8gZ2V0IHZhbHVlIGZyb20gYSBsaXN0IG9mIHZhbHVlcywgYmFzZWQgb24gc2lkZVxuICogQHBhcmFtIHtzdHJpbmd9ICR2YXJpYWJsZTogdmFyaWFibGUgd2l0aCBhIGxpc3Qgb2YgdmFsdWVzIChsaWtlIHBhZGRpbmdzLCBtYXJnaW5zIGV0Yy4pO1xuICogQHBhcmFtIHtzdHJpbmd9ICRzaWRlOiBzaWRlICh1cCAvIHJpZ2h0IC8gZG93biAvIGxlZnQpIGZvciB3aGljaCB3ZSB3YW50IHRvIGdldCB2YWx1ZVxuICogRXhhbXBsZTpcbiAqICRjb21wb25lbnRfcGFkZGluZzogMXJlbSAycmVtIDNyZW07XG4gKiBnZXQtdmFsdWUtZnJvbS1saXN0KCRjb21wb25lbnRfcGFkZGluZywgJ3JpZ2h0JykgLy8gMnJlbVxuICogZ2V0LXZhbHVlLWZyb20tbGlzdCgkY29tcG9uZW50X3BhZGRpbmcsICdib3R0b20nKSAvLyAzcmVtXG4gKi9cbi8qIHN0eWxlbGludC1kaXNhYmxlIGJsb2NrLW5vLWVtcHR5ICovXG4vKiBzdHlsZWxpbnQtZW5hYmxlICovXG4vKiBzdHlsZWxpbnQtZGlzYWJsZSBibG9jay1uby1lbXB0eSAqL1xuLyogc3R5bGVsaW50LWVuYWJsZSAqL1xuLyogUmFkaW8gYW5kIGNoZWNrYm94IHN0eWxpbmcgKi9cbi8qKipcbiAqIEhpZGUgb25seSB2aXN1YWxseSwgYnV0IGhhdmUgaXQgYXZhaWxhYmxlIGZvciBzY3JlZW4gcmVhZGVyczpcbiAqIGh0dHBzOi8vc25vb2suY2EvYXJjaGl2ZXMvaHRtbF9hbmRfY3NzL2hpZGluZy1jb250ZW50LWZvci1hY2Nlc3NpYmlsaXR5XG4gKlxuICogMS4gRm9yIGxvbmcgY29udGVudCwgbGluZSBmZWVkcyBhcmUgbm90IGludGVycHJldGVkIGFzIHNwYWNlcyBhbmQgc21hbGwgd2lkdGhcbiAqICAgIGNhdXNlcyBjb250ZW50IHRvIHdyYXAgMSB3b3JkIHBlciBsaW5lOlxuICogICAgaHR0cHM6Ly9tZWRpdW0uY29tL0BqZXNzZWJlYWNoL2Jld2FyZS1zbXVzaGVkLW9mZi1zY3JlZW4tYWNjZXNzaWJsZS10ZXh0LTU5NTJhNGMyY2JmZVxuICpcbiAqIEBzZWUgaHR0cHM6Ly9naXRodWIuY29tL2g1YnAvaHRtbDUtYm9pbGVycGxhdGUvYmxvYi9tYXN0ZXIvc3JjL2Nzcy9tYWluLmNzcyNMMTMwXG4gKi9cbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbi5jcy1taW5pY2FydC1wcm9kdWN0IHtcbiAgZGlzcGxheTogZmxleDsgfVxuICAuY3MtbWluaWNhcnQtcHJvZHVjdF9faW1hZ2UtY29udGFpbmVyIHtcbiAgICBmbGV4LXNocmluazogMDtcbiAgICBtYXJnaW4tcmlnaHQ6IDFyZW07IH1cbiAgICAuY3MtbWluaWNhcnQtcHJvZHVjdF9faW1hZ2UtY29udGFpbmVyIGltZyB7XG4gICAgICB3aWR0aDogYXV0byAhaW1wb3J0YW50O1xuICAgICAgaGVpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7IH1cbiAgLmNzLW1pbmljYXJ0LXByb2R1Y3RfX2ltYWdlIHtcbiAgICBtYXgtaGVpZ2h0OiAxMDAlO1xuICAgIHdpZHRoOiBhdXRvOyB9XG4gIC5jcy1taW5pY2FydC1wcm9kdWN0X19vdmVydmlldyB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgIGFsaWduLWl0ZW1zOiBiYXNlbGluZTsgfVxuICAuY3MtbWluaWNhcnQtcHJvZHVjdF9fZGV0YWlscyB7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgLmNzLW1pbmljYXJ0LXByb2R1Y3RfX2JyYW5kLXdyYXBwZXIge1xuICAgIHRleHQtYWxpZ246IGxlZnQ7IH1cbiAgLmNzLW1pbmljYXJ0LXByb2R1Y3RfX2JyYW5kIHtcbiAgICBmb250LXNpemU6IDEuMnJlbTtcbiAgICBjb2xvcjogIzg4ODsgfVxuICAuY3MtbWluaWNhcnQtcHJvZHVjdF9fbmFtZS13cmFwcGVyIHtcbiAgICBmbGV4LWJhc2lzOiA1NSU7XG4gICAgcGFkZGluZy1ib3R0b206IDEuMnJlbTtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIGZvbnQtc2l6ZTogMS4zcmVtO1xuICAgIGZsZXgtYmFzaXM6IDEwMCUgIWltcG9ydGFudDsgfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiAzMGVtKSB7XG4gICAgICAuY3MtbWluaWNhcnQtcHJvZHVjdF9fbmFtZS13cmFwcGVyIHtcbiAgICAgICAgZmxleC1iYXNpczogNzAlOyB9IH1cbiAgLmNzLW1pbmljYXJ0LXByb2R1Y3RfX25hbWUge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgICBmb250LXNpemU6IGluaGVyaXQ7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIGNvbG9yOiAjNDU1YTY0O1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBmb250LXNpemU6IDEuNHJlbTsgfVxuICAgIC5jcy1taW5pY2FydC1wcm9kdWN0X19uYW1lOnZpc2l0ZWQsIC5jcy1taW5pY2FydC1wcm9kdWN0X19uYW1lOmhvdmVyIHtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgIGNvbG9yOiAjNDU1YTY0OyB9XG4gIC5jcy1taW5pY2FydC1wcm9kdWN0X19pdGVtLXByaWNpbmcge1xuICAgIG9yZGVyOiAzOyB9XG4gICAgLmNzLW1pbmljYXJ0LXByb2R1Y3RfX2l0ZW0tcHJpY2luZy0td2l0aC1zcGVjaWFsIHtcbiAgICAgIHRleHQtYWxpZ246IGxlZnQ7IH1cbiAgICAgIC5jcy1taW5pY2FydC1wcm9kdWN0X19pdGVtLXByaWNpbmctLXdpdGgtc3BlY2lhbCAub2xkLXByaWNlIC5wcmljZSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMS4zcmVtO1xuICAgICAgICBjb2xvcjogI2E4YjFiNzsgfVxuICAgICAgLmNzLW1pbmljYXJ0LXByb2R1Y3RfX2l0ZW0tcHJpY2luZy0td2l0aC1zcGVjaWFsIC5jcy1taW5pY2FydC1wcm9kdWN0X19wcmljZSAucHJpY2Uge1xuICAgICAgICBjb2xvcjogI2U0MWYxMjsgfVxuICAuY3MtbWluaWNhcnQtcHJvZHVjdF9fcHJpY2UgLnByaWNlIHtcbiAgICBmb250LXNpemU6IDEuM3JlbTtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIGNvbG9yOiAjNDU1YTY0OyB9XG4gIC5jcy1taW5pY2FydC1wcm9kdWN0X19wcmljZSAucHJpY2UtaW5jbHVkaW5nLXRheCxcbiAgLmNzLW1pbmljYXJ0LXByb2R1Y3RfX3ByaWNlIC5wcmljZS1leGNsdWRpbmctdGF4IHtcbiAgICBmb250LXNpemU6IDEuM3JlbTsgfVxuICAuY3MtbWluaWNhcnQtcHJvZHVjdF9fcHJpY2UgLnByaWNlIHtcbiAgICBmb250LXdlaWdodDogNDAwOyB9XG4gIC5jcy1taW5pY2FydC1wcm9kdWN0X19wcmljZS1sYWJlbCwgLmNzLW1pbmljYXJ0LXByb2R1Y3RfX29wdGlvbnMtc3VidGl0bGUge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgLmNzLW1pbmljYXJ0LXByb2R1Y3RfX29wdGlvbnMtdGl0bGUge1xuICAgIGZvbnQtc2l6ZTogMS4ycmVtO1xuICAgIGNvbG9yOiAjNDg0ODQ4O1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBmb250LXNpemU6IDEuM3JlbTtcbiAgICBjb2xvcjogIzQ1NWE2NDsgfVxuICAgIC5jcy1taW5pY2FydC1wcm9kdWN0X19vcHRpb25zLXRpdGxlW2FyaWEtZXhwYW5kZWQ9J3RydWUnXSA+IC5jcy1taW5pY2FydC1wcm9kdWN0X19vcHRpb25zLXRpdGxlLXN2ZyB7XG4gICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpO1xuICAgICAgdmVydGljYWwtYWxpZ246IGluaXRpYWw7IH1cbiAgLmNzLW1pbmljYXJ0LXByb2R1Y3RfX29wdGlvbnMtdGl0bGUtc3ZnIHtcbiAgICB3aWR0aDogMXJlbTtcbiAgICBoZWlnaHQ6IDFyZW07XG4gICAgbWFyZ2luLWxlZnQ6IDAuNXJlbTtcbiAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4zcyBjdWJpYy1iZXppZXIoMCwgMC42NiwgMC4zMiwgMC45OSk7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsgfVxuICAuY3MtbWluaWNhcnQtcHJvZHVjdF9fb3B0aW9ucy13cmFwcGVyIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICBtYXJnaW4tdG9wOiAtMC40cmVtO1xuICAgIGZsZXgtYmFzaXM6IDEwMCU7XG4gICAgcGFkZGluZy1ib3R0b206IDEuMnJlbTsgfVxuICAuY3MtbWluaWNhcnQtcHJvZHVjdF9fb3B0aW9ucy1ncm91cCB7XG4gICAgbWFyZ2luOiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjsgfVxuICAgIC5jcy1taW5pY2FydC1wcm9kdWN0X19vcHRpb25zLWdyb3VwLS1xdHkge1xuICAgICAgbWFyZ2luLXRvcDogMC41cmVtOyB9XG4gICAgICAuY3MtbWluaWNhcnQtcHJvZHVjdF9fb3B0aW9ucy13cmFwcGVyICsgLmNzLW1pbmljYXJ0LXByb2R1Y3RfX29wdGlvbnMtZ3JvdXAtLXF0eSB7XG4gICAgICAgIG1hcmdpbi10b3A6IDEuNXJlbTsgfVxuICAuY3MtbWluaWNhcnQtcHJvZHVjdF9fb3B0aW9ucy1jb250ZW50IHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBwYWRkaW5nLXRvcDogMC41cmVtOyB9XG4gIC5jcy1taW5pY2FydC1wcm9kdWN0X19vcHRpb25zLWxhYmVsIHtcbiAgICBmb250LXNpemU6IDEuMnJlbTtcbiAgICBjb2xvcjogIzg4ODtcbiAgICBmb250LXdlaWdodDogNDAwO1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwLjVyZW07XG4gICAgZm9udC1zaXplOiAxLjFyZW07XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBjb2xvcjogIzQ1NWE2NDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyB9XG4gICAgLmNzLW1pbmljYXJ0LXByb2R1Y3RfX29wdGlvbnMtbGFiZWw6YWZ0ZXIge1xuICAgICAgY29udGVudDogJzonOyB9XG4gIC5jcy1taW5pY2FydC1wcm9kdWN0X19vcHRpb25zLXZhbHVlIHtcbiAgICBmb250LXNpemU6IDEuMnJlbTtcbiAgICBjb2xvcjogIzg4ODtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgLmNzLW1pbmljYXJ0LXByb2R1Y3RfX29wdGlvbnMtdmFsdWVfX3ZhbHVlIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICB3aWR0aDogMTAwJTsgfVxuICAgICAgLmNzLW1pbmljYXJ0LXByb2R1Y3RfX29wdGlvbnMtdmFsdWVfX3ZhbHVlIC5wcmljZSB7XG4gICAgICAgIGNvbG9yOiAjNDU1YTY0OyB9XG4gIC5jcy1taW5pY2FydC1wcm9kdWN0X19hY3Rpb25zIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHBhZGRpbmctdG9wOiAxLjJyZW07IH1cbiAgLmNzLW1pbmljYXJ0LXByb2R1Y3RfX2FjdGlvbi13cmFwcGVyIHtcbiAgICBtYXJnaW4tbGVmdDogMXJlbTsgfVxuICAuY3MtbWluaWNhcnQtcHJvZHVjdF9fcXR5LFxuICAuY3MtbWluaWNhcnQtcHJvZHVjdCAuY3MtcXR5LWluY3JlbWVudCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4OiAxIDAgOXJlbTtcbiAgICBmbGV4LXdyYXA6IG5vd3JhcDsgfVxuICAuY3MtbWluaWNhcnQtcHJvZHVjdF9fcXR5LWxhYmVsIHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG4gIC5jcy1taW5pY2FydC1wcm9kdWN0X19xdHktaW5wdXQge1xuICAgIGZvbnQtc2l6ZTogMWVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjI3NWVtO1xuICAgIHBhZGRpbmc6IDAuNzVlbSAxZW07XG4gICAgY29sb3I6ICM0NTVhNjQ7XG4gICAgYmFja2dyb3VuZDogI2ZmZjtcbiAgICBib3JkZXItcmFkaXVzOiAyMDBweDtcbiAgICBib3JkZXI6IDJweCBzb2xpZCAjZGNkY2RjO1xuICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgdHJhbnNpdGlvbjogYm9yZGVyLWNvbG9yIDAuNXM7XG4gICAgbWFyZ2luOiAwIDAgMC4yZW07XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgYmFja2dyb3VuZC1jbGlwOiBwYWRkaW5nLWJveDtcbiAgICBmb250LWZhbWlseTogaW5oZXJpdDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgaGVpZ2h0OiAzcmVtO1xuICAgIHdpZHRoOiA0cmVtO1xuICAgIG1heC13aWR0aDogNHJlbTtcbiAgICBmb250LXNpemU6IDEuMnJlbTsgfVxuICAgIC5jcy1taW5pY2FydC1wcm9kdWN0X19xdHktaW5wdXQ6aG92ZXI6bm90KFtkaXNhYmxlZF0pLCAuY3MtbWluaWNhcnQtcHJvZHVjdF9fcXR5LWlucHV0OmZvY3VzOm5vdChbZGlzYWJsZWRdKSB7XG4gICAgICBib3JkZXI6IDJweCBzb2xpZCAjN2U1N2MyO1xuICAgICAgYm94LXNoYWRvdzogbm9uZTsgfVxuICAgIC5jcy1taW5pY2FydC1wcm9kdWN0X19xdHktaW5wdXQ6OnBsYWNlaG9sZGVyIHtcbiAgICAgIG9wYWNpdHk6IDE7XG4gICAgICBjb2xvcjogIzg4ODsgfVxuICAgIC5jcy1taW5pY2FydC1wcm9kdWN0X19xdHktaW5wdXRbZGlzYWJsZWRdIHtcbiAgICAgIG9wYWNpdHk6IDAuNjU7IH1cbiAgLmNzLW1pbmljYXJ0LXByb2R1Y3RfX3F0eS1idXR0b24ge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBmb250LXNpemU6IDEuOHJlbTtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGluZS1oZWlnaHQ6IDEuMjc1ZW07XG4gICAgbWFyZ2luOiAwO1xuICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICAgIHBhZGRpbmc6IDAuNzVlbSAxZW07XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuNXMsIGJvcmRlci1jb2xvciAwLjVzLCBmaWxsIDAuNXMsIGNvbG9yIDAuNXM7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICB6LWluZGV4OiA1O1xuICAgIHBhZGRpbmc6IDA7XG4gICAgd2lkdGg6IDNyZW07XG4gICAgaGVpZ2h0OiAzcmVtO1xuICAgIG1hcmdpbi1sZWZ0OiAwLjVyZW07IH1cbiAgICAuY3MtbWluaWNhcnQtcHJvZHVjdF9fcXR5LWJ1dHRvbjo6LW1vei1mb2N1cy1pbm5lciB7XG4gICAgICBib3JkZXI6IDA7XG4gICAgICBwYWRkaW5nOiAwO1xuICAgICAgbWFyZ2luOiAwOyB9XG4gICAgLmNzLW1pbmljYXJ0LXByb2R1Y3RfX3F0eS1idXR0b24sIC5jcy1taW5pY2FydC1wcm9kdWN0X19xdHktYnV0dG9uOnZpc2l0ZWQge1xuICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgYm9yZGVyLXJhZGl1czogMjAwcHg7XG4gICAgICBvdXRsaW5lLW9mZnNldDogMXB4O1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgY29sb3I6ICNmZmY7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjN2U1N2MyOyB9XG4gICAgICAuY3MtbWluaWNhcnQtcHJvZHVjdF9fcXR5LWJ1dHRvbiAqLCAuY3MtbWluaWNhcnQtcHJvZHVjdF9fcXR5LWJ1dHRvbjp2aXNpdGVkICoge1xuICAgICAgICBjb2xvcjogI2ZmZjtcbiAgICAgICAgZmlsbDogI2ZmZjsgfVxuICAgIC5jcy1taW5pY2FydC1wcm9kdWN0X19xdHktYnV0dG9uOmhvdmVyOm5vdChbZGlzYWJsZWRdKSwgLmNzLW1pbmljYXJ0LXByb2R1Y3RfX3F0eS1idXR0b246Zm9jdXM6bm90KFtkaXNhYmxlZF0pLCAuY3MtbWluaWNhcnQtcHJvZHVjdF9fcXR5LWJ1dHRvbjphY3RpdmU6bm90KFtkaXNhYmxlZF0pIHtcbiAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgICBvdXRsaW5lOiBub25lO1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgICBjb2xvcjogI2ZmZjtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICM0ZDJjOTE7IH1cbiAgICAgIC5jcy1taW5pY2FydC1wcm9kdWN0X19xdHktYnV0dG9uOmhvdmVyOm5vdChbZGlzYWJsZWRdKSAqLCAuY3MtbWluaWNhcnQtcHJvZHVjdF9fcXR5LWJ1dHRvbjpmb2N1czpub3QoW2Rpc2FibGVkXSkgKiwgLmNzLW1pbmljYXJ0LXByb2R1Y3RfX3F0eS1idXR0b246YWN0aXZlOm5vdChbZGlzYWJsZWRdKSAqIHtcbiAgICAgICAgY29sb3I6ICNmZmY7XG4gICAgICAgIGZpbGw6ICNmZmY7IH1cbiAgICAuY3MtbWluaWNhcnQtcHJvZHVjdF9fcXR5LWJ1dHRvbltkaXNhYmxlZF0ge1xuICAgICAgb3BhY2l0eTogMC42NTtcbiAgICAgIGN1cnNvcjogYXV0bzsgfVxuICAuY3MtbWluaWNhcnQtcHJvZHVjdF9fcXR5LWJ1dHRvbi1zcGFuIHtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICAgIHotaW5kZXg6IDE7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjI3NWVtO1xuICAgIGxldHRlci1zcGFjaW5nOiBub3JtYWw7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuICAuY3MtbWluaWNhcnQtcHJvZHVjdF9fcXR5LWJ1dHRvbi1pY29uIHtcbiAgICBtYXgtd2lkdGg6IDFlbTtcbiAgICBtYXgtaGVpZ2h0OiAxLjhyZW07XG4gICAgei1pbmRleDogMjtcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRvcDogMC4xZW07IH1cbiAgLmNzLW1pbmljYXJ0LXByb2R1Y3RfX2FjdGlvbjpob3ZlciAuY3MtbWluaWNhcnQtcHJvZHVjdF9fb3B0aW9ucy10aXRsZS1zdmcgKixcbiAgLmNzLW1pbmljYXJ0LXByb2R1Y3RfX2FjdGlvbjpob3ZlciAuY3MtbWluaWNhcnQtcHJvZHVjdF9fYWN0aW9uLWljb24gKiwgLmNzLW1pbmljYXJ0LXByb2R1Y3RfX29wdGlvbnMtdGl0bGU6aG92ZXIgLmNzLW1pbmljYXJ0LXByb2R1Y3RfX29wdGlvbnMtdGl0bGUtc3ZnICosXG4gIC5jcy1taW5pY2FydC1wcm9kdWN0X19vcHRpb25zLXRpdGxlOmhvdmVyIC5jcy1taW5pY2FydC1wcm9kdWN0X19hY3Rpb24taWNvbiAqIHtcbiAgICBmaWxsOiAjNGQyYzkxOyB9XG4gIC5jcy1taW5pY2FydC1wcm9kdWN0X19hY3Rpb24taWNvbiB7XG4gICAgd2lkdGg6IDEuNnJlbTtcbiAgICBoZWlnaHQ6IDEuNnJlbTtcbiAgICB3aWR0aDogMnJlbTtcbiAgICBoZWlnaHQ6IDJyZW07IH1cbiAgLmNzLW1pbmljYXJ0LXByb2R1Y3RfX2FjdGlvbi1pY29uICosIC5jcy1taW5pY2FydC1wcm9kdWN0X19vcHRpb25zLXRpdGxlLXN2ZyAqIHtcbiAgICBmaWxsOiAjN2U1N2MyOyB9XG4gIC5jcy1taW5pY2FydC1wcm9kdWN0X19hY3Rpb24tbGFiZWwge1xuICAgIGJvcmRlcjogMDtcbiAgICBjbGlwOiByZWN0KDAgMCAwIDApO1xuICAgIGhlaWdodDogMXB4O1xuICAgIG1hcmdpbjogLTFweDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHdpZHRoOiAxcHg7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICAvKiAxICovIH1cbiAgLmNzLW1pbmljYXJ0LXByb2R1Y3RfX29wdGlvbnMtdGl0bGU6aG92ZXIgLmNzLW1pbmljYXJ0LXByb2R1Y3RfX29wdGlvbnMtdGl0bGUtc3ZnICoge1xuICAgIGZpbGw6ICM0NTVhNjQ7IH1cbiAgLmNzLW1pbmljYXJ0LXByb2R1Y3RfX29wdGlvbnMtdGl0bGUtc3ZnICoge1xuICAgIGZpbGw6ICM0NTVhNjQ7IH1cbiIsIkBpbXBvcnQgJ2NvbmZpZy92YXJpYWJsZXMnO1xuQGltcG9ydCAndmVuZG9ycy9pbmNsdWRlLW1lZGlhJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvYnV0dG9uL21peGluJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvZmllbGQvbWl4aW4nO1xuQGltcG9ydCAndXRpbHMvdmlzdWFsbHktaGlkZGVuJztcbkBpbXBvcnQgJ2V0Yy92aWV3LnNjc3MnO1xuQGltcG9ydCAndXRpbHMvZGVlcC1nZXQvZGVlcC1nZXQuc2Nzcyc7XG5cbiRtaW5pY2FydC1vZmZjYW52YXM6IGRlZXAtZ2V0KFxuICAgICR2aWV3LXhtbCxcbiAgICB2YXJzLFxuICAgIE1hZ2VudG9fQ2hlY2tvdXQsXG4gICAgbWluaWNhcnRfb2ZmY2FudmFzLFxuICAgIGVuYWJsZWRcbikgIWRlZmF1bHQ7XG5cbiRtaW5pY2FydC1wcm9kdWN0X2FjdGlvbi1pY29uLWNvbG9yOiAkY29sb3JfcHJpbWFyeS01MDAgIWRlZmF1bHQ7XG4kbWluaWNhcnQtcHJvZHVjdF9hY3Rpb24taWNvbi1jb2xvci1ob3ZlcjogJGNvbG9yX3ByaW1hcnktODAwICFkZWZhdWx0O1xuXG4kbWluaWNhcnQtb2ZmY2FudmFzLXByb2R1Y3RfYWN0aW9uLWljb24tY29sb3I6ICRjb2xvcl90ZXh0LTgwMCAhZGVmYXVsdDtcbiRtaW5pY2FydC1vZmZjYW52YXMtcHJvZHVjdF9hY3Rpb24taWNvbi1jb2xvci0taG92ZXI6ICRtaW5pY2FydC1vZmZjYW52YXMtcHJvZHVjdF9hY3Rpb24taWNvbi1jb2xvciAhZGVmYXVsdDtcblxuJG1pbmljYXJ0LXByb2R1Y3RfYnJhbmQtZm9udC1zaXplOiAxLjJyZW0gIWRlZmF1bHQ7XG4kbWluaWNhcnQtcHJvZHVjdF9icmFuZC1jb2xvcjogJGNvbG9yX3RleHQtNDAwICFkZWZhdWx0O1xuJG1pbmljYXJ0LXByb2R1Y3RfYnJhbmQtYWxpZ25tZW50OiBsZWZ0ICFkZWZhdWx0O1xuXG4kbWluaWNhcnQtcHJvZHVjdF9vdmVydmlldy1mb250LXNpemU6IDEuM3JlbSAhZGVmYXVsdDtcbiRtaW5pY2FydC1wcm9kdWN0X25hbWUtY29sb3I6ICRjb2xvcl90ZXh0LTgwMCAhZGVmYXVsdDtcbiRtaW5pY2FydC1wcm9kdWN0X25hbWUtY29sb3ItaG92ZXI6ICRjb2xvcl90ZXh0LTgwMCAhZGVmYXVsdDtcbiRtaW5pY2FydC1wcm9kdWN0X25hbWUtcGFkZGluZzogMS4ycmVtICFkZWZhdWx0O1xuJG1pbmljYXJ0LXByb2R1Y3RfbmFtZS1mb250LXdlaWdodDogNjAwICFkZWZhdWx0O1xuXG4kbWluaWNhcnQtcHJvZHVjdC1vcHRpb25zLXRpdGxlLWNvbG9yOiAkY29sb3JfdGV4dC02MDAgIWRlZmF1bHQ7XG4kbWluaWNhcnQtcHJvZHVjdF9vcHRpb25zLWZvbnQtc2l6ZTogMS4ycmVtICFkZWZhdWx0O1xuJG1pbmljYXJ0LXByb2R1Y3Rfb3B0aW9ucy1sYWJlbC1jb2xvcjogJGNvbG9yX3RleHQtNDAwICFkZWZhdWx0O1xuJG1pbmljYXJ0LXByb2R1Y3Rfb3B0aW9ucy12YWx1ZS1jb2xvcjogJGNvbG9yX3RleHQtNDAwICFkZWZhdWx0O1xuJG1pbmljYXJ0LXByb2R1Y3Rfb3B0aW9uc190b2dnbGUtcGFkZGluZzogMS4ycmVtICFkZWZhdWx0O1xuJG1pbmljYXJ0LXByb2R1Y3Qtb3B0aW9uc190b2dnbGUtZGlzYWJsZTogZmFsc2UgIWRlZmF1bHQ7XG5cbiRtaW5pY2FydC1vZmZjYW52YXMtcHJvZHVjdC1vcHRpb25zLXRpdGxlLWNvbG9yOiAkY29sb3JfdGV4dC04MDAgIWRlZmF1bHQ7XG4kbWluaWNhcnQtb2ZmY2FudmFzLXByb2R1Y3Rfb3B0aW9ucy10aXRsZS1mb250LXNpemU6IDEuM3JlbSAhZGVmYXVsdDtcbiRtaW5pY2FydC1vZmZjYW52YXMtcHJvZHVjdF9vcHRpb25zLWxhYmVsLWZvbnQtc2l6ZTogMS4xcmVtICFkZWZhdWx0O1xuJG1pbmljYXJ0LW9mZmNhbnZhcy1wcm9kdWN0LW9wdGlvbnMtbGFiZWwtY29sb3I6ICRjb2xvcl90ZXh0LTgwMCAhZGVmYXVsdDtcbiRtaW5pY2FydC1vZmZjYW52YXMtcHJvZHVjdC1vcHRpb25zLWxhYmVsLWZvbnQtd2VpZ2h0OiA3MDAgIWRlZmF1bHQ7XG5cbiRtaW5pY2FydC1vZmZjYW52YXMtcHJvZHVjdF9hY3Rpb24taWNvbi1zaXplOiAycmVtICFkZWZhdWx0O1xuXG4kbWluaWNhcnQtcHJvZHVjdF9wcmljZS1jb2xvcjogJGNvbG9yX3RleHQtODAwICFkZWZhdWx0O1xuJG1pbmljYXJ0LXByb2R1Y3Rfc2hvdy1zcGVjaWFsLXByaWNlOiB0cnVlICFkZWZhdWx0O1xuXG4kbWluaWNhcnQtcHJvZHVjdF9xdHktZW5hYmxlOiB0cnVlICFkZWZhdWx0O1xuJG1pbmljYXJ0LXByb2R1Y3RfcXR5LWhlaWdodDogM3JlbSAhZGVmYXVsdDtcbiRtaW5pY2FydC1wcm9kdWN0X3F0eS1mb250LXNpemU6IDEuMnJlbSAhZGVmYXVsdDtcbiRtaW5pY2FydC1wcm9kdWN0X3F0eS1idXR0b24tdHlwZTogJGJ1dHRvbl9kZWZhdWx0LXR5cGUgIWRlZmF1bHQ7XG4kbWluaWNhcnQtcHJvZHVjdF9xdHktYnV0dG9uLWljb24tcG9zOiAnb25seS1pY29uJyAhZGVmYXVsdDtcblxuLiN7JG5zfW1pbmljYXJ0LXByb2R1Y3Qge1xuICAgICRyb290OiAmO1xuXG4gICAgZGlzcGxheTogZmxleDtcblxuICAgICZfX2ltYWdlLWNvbnRhaW5lciB7XG4gICAgICAgIGZsZXgtc2hyaW5rOiAwO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDFyZW07XG5cbiAgICAgICAgaW1nIHtcbiAgICAgICAgICAgIHdpZHRoOiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICBoZWlnaHQ6IGF1dG8gIWltcG9ydGFudDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2ltYWdlIHtcbiAgICAgICAgbWF4LWhlaWdodDogMTAwJTtcbiAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgfVxuXG4gICAgJl9fb3ZlcnZpZXcge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAgICAgYWxpZ24taXRlbXM6IGJhc2VsaW5lO1xuICAgIH1cblxuICAgICZfX2RldGFpbHMge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG5cbiAgICAmX19icmFuZC13cmFwcGVyIHtcbiAgICAgICAgdGV4dC1hbGlnbjogJG1pbmljYXJ0LXByb2R1Y3RfYnJhbmQtYWxpZ25tZW50O1xuICAgIH1cblxuICAgICZfX2JyYW5kIHtcbiAgICAgICAgZm9udC1zaXplOiAkbWluaWNhcnQtcHJvZHVjdF9icmFuZC1mb250LXNpemU7XG4gICAgICAgIGNvbG9yOiAkbWluaWNhcnQtcHJvZHVjdF9icmFuZC1jb2xvcjtcbiAgICB9XG5cbiAgICAmX19uYW1lLXdyYXBwZXIge1xuICAgICAgICBmbGV4LWJhc2lzOiA1NSU7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAkbWluaWNhcnQtcHJvZHVjdF9uYW1lLXBhZGRpbmc7XG4gICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICAgIGZvbnQtc2l6ZTogJG1pbmljYXJ0LXByb2R1Y3Rfb3ZlcnZpZXctZm9udC1zaXplO1xuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PXBob25lTGcnKSB7XG4gICAgICAgICAgICBmbGV4LWJhc2lzOiA3MCU7XG4gICAgICAgIH1cblxuICAgICAgICBAaWYgJG1pbmljYXJ0LW9mZmNhbnZhcyB7XG4gICAgICAgICAgICBmbGV4LWJhc2lzOiAxMDAlICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19uYW1lIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICAgIGZvbnQtc2l6ZTogaW5oZXJpdDtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICBjb2xvcjogJG1pbmljYXJ0LXByb2R1Y3RfbmFtZS1jb2xvcjtcbiAgICAgICAgZm9udC13ZWlnaHQ6ICRtaW5pY2FydC1wcm9kdWN0X25hbWUtZm9udC13ZWlnaHQ7XG5cbiAgICAgICAgJjp2aXNpdGVkLFxuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgICAgIGNvbG9yOiAkbWluaWNhcnQtcHJvZHVjdF9uYW1lLWNvbG9yLWhvdmVyO1xuICAgICAgICB9XG5cbiAgICAgICAgQGlmICRtaW5pY2FydC1vZmZjYW52YXMge1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMS40cmVtO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9faXRlbS1wcmljaW5nIHtcbiAgICAgICAgQGlmICRtaW5pY2FydC1vZmZjYW52YXMge1xuICAgICAgICAgICAgb3JkZXI6IDM7XG4gICAgICAgIH1cblxuICAgICAgICBAaWYgJG1pbmljYXJ0LXByb2R1Y3Rfc2hvdy1zcGVjaWFsLXByaWNlIHtcbiAgICAgICAgICAgICYtLXdpdGgtc3BlY2lhbCB7XG4gICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcblxuICAgICAgICAgICAgICAgIC5vbGQtcHJpY2Uge1xuICAgICAgICAgICAgICAgICAgICAucHJpY2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAkbWluaWNhcnQtcHJvZHVjdF9vdmVydmlldy1mb250LXNpemU7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogJHByaWNlX29sZC1jb2xvcjtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICN7JHJvb3R9X19wcmljZSB7XG4gICAgICAgICAgICAgICAgICAgIC5wcmljZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogJHByaWNlX3NwZWNpYWwtY29sb3I7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBAaWYgbm90ICRtaW5pY2FydC1wcm9kdWN0X3Nob3ctc3BlY2lhbC1wcmljZSB7XG4gICAgICAgICAgICAub2xkLXByaWNlIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fcHJpY2Uge1xuICAgICAgICAucHJpY2Uge1xuICAgICAgICAgICAgZm9udC1zaXplOiAkbWluaWNhcnQtcHJvZHVjdF9vdmVydmlldy1mb250LXNpemU7XG4gICAgICAgICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgICAgICAgY29sb3I6ICRtaW5pY2FydC1wcm9kdWN0X3ByaWNlLWNvbG9yO1xuICAgICAgICB9XG5cbiAgICAgICAgQGlmICRtaW5pY2FydC1vZmZjYW52YXMge1xuICAgICAgICAgICAgLnByaWNlLWluY2x1ZGluZy10YXgsXG4gICAgICAgICAgICAucHJpY2UtZXhjbHVkaW5nLXRheCB7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAkbWluaWNhcnQtcHJvZHVjdF9vdmVydmlldy1mb250LXNpemU7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5wcmljZSB7XG4gICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX3ByaWNlLWxhYmVsLFxuICAgICZfX29wdGlvbnMtc3VidGl0bGUge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cblxuICAgICZfX29wdGlvbnMtdGl0bGUge1xuICAgICAgICBAaWYgKCRtaW5pY2FydC1wcm9kdWN0LW9wdGlvbnNfdG9nZ2xlLWRpc2FibGUpIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH0gQGVsc2Uge1xuICAgICAgICAgICAgZm9udC1zaXplOiAkbWluaWNhcnQtcHJvZHVjdF9vcHRpb25zLWZvbnQtc2l6ZTtcbiAgICAgICAgICAgIGNvbG9yOiAkbWluaWNhcnQtcHJvZHVjdC1vcHRpb25zLXRpdGxlLWNvbG9yO1xuICAgICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuXG4gICAgICAgICAgICAmW2FyaWEtZXhwYW5kZWQ9J3RydWUnXSB7XG4gICAgICAgICAgICAgICAgPiAjeyRyb290fV9fb3B0aW9ucy10aXRsZS1zdmcge1xuICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpO1xuICAgICAgICAgICAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogaW5pdGlhbDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBAaWYgJG1pbmljYXJ0LW9mZmNhbnZhcyB7XG4gICAgICAgICAgICBmb250LXNpemU6ICRtaW5pY2FydC1vZmZjYW52YXMtcHJvZHVjdF9vcHRpb25zLXRpdGxlLWZvbnQtc2l6ZTtcbiAgICAgICAgICAgIGNvbG9yOiAkbWluaWNhcnQtb2ZmY2FudmFzLXByb2R1Y3Qtb3B0aW9ucy10aXRsZS1jb2xvcjtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX29wdGlvbnMtdGl0bGUtc3ZnIHtcbiAgICAgICAgd2lkdGg6IDFyZW07XG4gICAgICAgIGhlaWdodDogMXJlbTtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDAuNXJlbTtcbiAgICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtICR0cmFuc2l0aW9uLWRlZmF1bHQtdGltZVxuICAgICAgICAgICAgJHRyYW5zaXRpb24tZWFzaW5nX3Nsb3dkb3duLTkwMDtcbiAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICB9XG5cbiAgICAmX19vcHRpb25zLXdyYXBwZXIge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgICAgbWFyZ2luLXRvcDogLTAuNHJlbTtcbiAgICAgICAgZmxleC1iYXNpczogMTAwJTtcblxuICAgICAgICBAaWYgJG1pbmljYXJ0LW9mZmNhbnZhcyB7XG4gICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogJG1pbmljYXJ0LXByb2R1Y3Rfb3B0aW9uc190b2dnbGUtcGFkZGluZztcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX29wdGlvbnMtZ3JvdXAge1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuXG4gICAgICAgICYtLXF0eSB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAwLjVyZW07XG5cbiAgICAgICAgICAgICN7JHJvb3R9X19vcHRpb25zLXdyYXBwZXIgKyAmIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAxLjVyZW07XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19vcHRpb25zLWNvbnRlbnQge1xuICAgICAgICB3aWR0aDogMTAwJTtcblxuICAgICAgICBAaWYgKCRtaW5pY2FydC1wcm9kdWN0LW9wdGlvbnNfdG9nZ2xlLWRpc2FibGUpIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cblxuICAgICAgICBAaWYgJG1pbmljYXJ0LW9mZmNhbnZhcyB7XG4gICAgICAgICAgICBwYWRkaW5nLXRvcDogMC41cmVtO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fb3B0aW9ucy1sYWJlbCB7XG4gICAgICAgIGZvbnQtc2l6ZTogJG1pbmljYXJ0LXByb2R1Y3Rfb3B0aW9ucy1mb250LXNpemU7XG4gICAgICAgIGNvbG9yOiAkbWluaWNhcnQtcHJvZHVjdF9vcHRpb25zLWxhYmVsLWNvbG9yO1xuICAgICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwLjVyZW07XG5cbiAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICBjb250ZW50OiAnOic7XG4gICAgICAgIH1cblxuICAgICAgICBAaWYgJG1pbmljYXJ0LW9mZmNhbnZhcyB7XG4gICAgICAgICAgICBmb250LXNpemU6ICRtaW5pY2FydC1vZmZjYW52YXMtcHJvZHVjdF9vcHRpb25zLWxhYmVsLWZvbnQtc2l6ZTtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiAkbWluaWNhcnQtb2ZmY2FudmFzLXByb2R1Y3Qtb3B0aW9ucy1sYWJlbC1mb250LXdlaWdodDtcbiAgICAgICAgICAgIGNvbG9yOiAkbWluaWNhcnQtb2ZmY2FudmFzLXByb2R1Y3Qtb3B0aW9ucy1sYWJlbC1jb2xvcjtcbiAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19vcHRpb25zLXZhbHVlIHtcbiAgICAgICAgZm9udC1zaXplOiAkbWluaWNhcnQtcHJvZHVjdF9vcHRpb25zLWZvbnQtc2l6ZTtcbiAgICAgICAgY29sb3I6ICRtaW5pY2FydC1wcm9kdWN0X29wdGlvbnMtdmFsdWUtY29sb3I7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgICAgICZfX3ZhbHVlIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcblxuICAgICAgICAgICAgLnByaWNlIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogJG1pbmljYXJ0LXByb2R1Y3RfcHJpY2UtY29sb3I7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19hY3Rpb25zIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgcGFkZGluZy10b3A6ICRtaW5pY2FydC1wcm9kdWN0X29wdGlvbnNfdG9nZ2xlLXBhZGRpbmc7XG4gICAgfVxuXG4gICAgJl9fYWN0aW9uLXdyYXBwZXIge1xuICAgICAgICBtYXJnaW4tbGVmdDogMXJlbTtcbiAgICB9XG5cbiAgICBAaWYgKCRtaW5pY2FydC1wcm9kdWN0X3F0eS1lbmFibGUpIHtcbiAgICAgICAgJl9fcXR5LFxuICAgICAgICAuY3MtcXR5LWluY3JlbWVudCB7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgZmxleDogMSAwIDlyZW07XG4gICAgICAgICAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgICAgICAgfVxuXG4gICAgICAgICZfX3F0eS1sYWJlbCB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG5cbiAgICAgICAgJl9fcXR5LWlucHV0IHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZpZWxkLWlucHV0KCk7XG5cbiAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgICAgIGhlaWdodDogJG1pbmljYXJ0LXByb2R1Y3RfcXR5LWhlaWdodDtcbiAgICAgICAgICAgIHdpZHRoOiA0cmVtO1xuICAgICAgICAgICAgbWF4LXdpZHRoOiA0cmVtO1xuICAgICAgICAgICAgZm9udC1zaXplOiAkbWluaWNhcnQtcHJvZHVjdF9xdHktZm9udC1zaXplO1xuICAgICAgICB9XG5cbiAgICAgICAgJl9fcXR5LWJ1dHRvbiB7XG4gICAgICAgICAgICBAaW5jbHVkZSBidXR0b24oXG4gICAgICAgICAgICAgICAgJHR5cGU6ICRtaW5pY2FydC1wcm9kdWN0X3F0eS1idXR0b24tdHlwZSxcbiAgICAgICAgICAgICAgICAkaWNvbl9wb3M6ICRtaW5pY2FydC1wcm9kdWN0X3F0eS1idXR0b24taWNvbi1wb3NcbiAgICAgICAgICAgICk7XG5cbiAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgICAgICB3aWR0aDogM3JlbTtcbiAgICAgICAgICAgIGhlaWdodDogJG1pbmljYXJ0LXByb2R1Y3RfcXR5LWhlaWdodDtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAwLjVyZW07XG4gICAgICAgIH1cblxuICAgICAgICAmX19xdHktYnV0dG9uLXNwYW4ge1xuICAgICAgICAgICAgQGluY2x1ZGUgYnV0dG9uX3NwYW4oXG4gICAgICAgICAgICAgICAgJHR5cGU6ICRtaW5pY2FydC1wcm9kdWN0X3F0eS1idXR0b24tdHlwZSxcbiAgICAgICAgICAgICAgICAkaWNvbl9wb3M6ICRtaW5pY2FydC1wcm9kdWN0X3F0eS1idXR0b24taWNvbi1wb3NcbiAgICAgICAgICAgICk7XG4gICAgICAgIH1cblxuICAgICAgICAmX19xdHktYnV0dG9uLWljb24ge1xuICAgICAgICAgICAgQGluY2x1ZGUgYnV0dG9uX2ljb24oXG4gICAgICAgICAgICAgICAgJHR5cGU6ICRtaW5pY2FydC1wcm9kdWN0X3F0eS1idXR0b24tdHlwZSxcbiAgICAgICAgICAgICAgICAkaWNvbl9wb3M6ICRtaW5pY2FydC1wcm9kdWN0X3F0eS1idXR0b24taWNvbi1wb3NcbiAgICAgICAgICAgICk7XG4gICAgICAgIH1cbiAgICB9IEBlbHNlIHtcbiAgICAgICAgJl9fcXR5LFxuICAgICAgICAuY3MtcXR5LWluY3JlbWVudCB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fYWN0aW9uLFxuICAgICZfX29wdGlvbnMtdGl0bGUge1xuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICN7JHJvb3R9X19vcHRpb25zLXRpdGxlLXN2ZyxcbiAgICAgICAgICAgICN7JHJvb3R9X19hY3Rpb24taWNvbiB7XG4gICAgICAgICAgICAgICAgKiB7XG4gICAgICAgICAgICAgICAgICAgIGZpbGw6ICRtaW5pY2FydC1wcm9kdWN0X2FjdGlvbi1pY29uLWNvbG9yLWhvdmVyO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2FjdGlvbi1pY29uIHtcbiAgICAgICAgd2lkdGg6IDEuNnJlbTtcbiAgICAgICAgaGVpZ2h0OiAxLjZyZW07XG5cbiAgICAgICAgQGlmICRtaW5pY2FydC1vZmZjYW52YXMge1xuICAgICAgICAgICAgd2lkdGg6ICRtaW5pY2FydC1vZmZjYW52YXMtcHJvZHVjdF9hY3Rpb24taWNvbi1zaXplO1xuICAgICAgICAgICAgaGVpZ2h0OiAkbWluaWNhcnQtb2ZmY2FudmFzLXByb2R1Y3RfYWN0aW9uLWljb24tc2l6ZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2FjdGlvbi1pY29uLFxuICAgICZfX29wdGlvbnMtdGl0bGUtc3ZnIHtcbiAgICAgICAgKiB7XG4gICAgICAgICAgICBmaWxsOiAkbWluaWNhcnQtcHJvZHVjdF9hY3Rpb24taWNvbi1jb2xvcjtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2FjdGlvbi1sYWJlbCB7XG4gICAgICAgIEBpbmNsdWRlIHZpc3VhbGx5LWhpZGRlbigpO1xuICAgIH1cblxuICAgIEBpZiAkbWluaWNhcnQtb2ZmY2FudmFzIHtcbiAgICAgICAgJl9fb3B0aW9ucy10aXRsZSB7XG4gICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICAjeyRyb290fV9fb3B0aW9ucy10aXRsZS1zdmcge1xuICAgICAgICAgICAgICAgICAgICAqIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGZpbGw6ICRtaW5pY2FydC1vZmZjYW52YXMtcHJvZHVjdF9hY3Rpb24taWNvbi1jb2xvci0taG92ZXI7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmX19vcHRpb25zLXRpdGxlLXN2ZyB7XG4gICAgICAgICAgICAqIHtcbiAgICAgICAgICAgICAgICBmaWxsOiAkbWluaWNhcnQtb2ZmY2FudmFzLXByb2R1Y3RfYWN0aW9uLWljb24tY29sb3I7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCIvKipcbiAqIEJyZWFrcG9pbnQgY29tcG9uZW50IHVzZWQgYnkgaW5jbHVkZS1tZWRpYSB2ZW5kb3IgbGlicmFyeS5cbiAqL1xuQHVzZSAnc2FzczptYXAnO1xuLyoqXG4gKiBFeHRyYWN0cyBuZXN0ZWQga2V5cyBmcm9tIGdpdmVuIG1hcC5cbiAqIEV4YW1wbGU6IGRlZXAtZ2V0KCRzb21lLW1hcCwgc29tZSwgbmVzdGVkLCBrZXlzKTtcbiAqL1xuLyoqXG4qIERlZmF1bHQgcHJvamVjdCBicmVha3BvaW50cyAtIFtlbV1cbiovXG4vKipcbiAqIEJyZWFrcG9pbnQgY29tcG9uZW50IHVzZWQgYnkgaW5jbHVkZS1tZWRpYSB2ZW5kb3IgbGlicmFyeS5cbiAqL1xuQHVzZSAnc2FzczptYXAnO1xuLyoqXG4gKiBFeHRyYWN0cyBuZXN0ZWQga2V5cyBmcm9tIGdpdmVuIG1hcC5cbiAqIEV4YW1wbGU6IGRlZXAtZ2V0KCRzb21lLW1hcCwgc29tZSwgbmVzdGVkLCBrZXlzKTtcbiAqL1xuLyoqXG4qIERlZmF1bHQgcHJvamVjdCBicmVha3BvaW50cyAtIFtlbV1cbiovXG4vKlxuICogRnVuY3Rpb24gdG8gZ2V0IHZhbHVlIGZyb20gYSBsaXN0IG9mIHZhbHVlcywgYmFzZWQgb24gc2lkZVxuICogQHBhcmFtIHtzdHJpbmd9ICR2YXJpYWJsZTogdmFyaWFibGUgd2l0aCBhIGxpc3Qgb2YgdmFsdWVzIChsaWtlIHBhZGRpbmdzLCBtYXJnaW5zIGV0Yy4pO1xuICogQHBhcmFtIHtzdHJpbmd9ICRzaWRlOiBzaWRlICh1cCAvIHJpZ2h0IC8gZG93biAvIGxlZnQpIGZvciB3aGljaCB3ZSB3YW50IHRvIGdldCB2YWx1ZVxuICogRXhhbXBsZTpcbiAqICRjb21wb25lbnRfcGFkZGluZzogMXJlbSAycmVtIDNyZW07XG4gKiBnZXQtdmFsdWUtZnJvbS1saXN0KCRjb21wb25lbnRfcGFkZGluZywgJ3JpZ2h0JykgLy8gMnJlbVxuICogZ2V0LXZhbHVlLWZyb20tbGlzdCgkY29tcG9uZW50X3BhZGRpbmcsICdib3R0b20nKSAvLyAzcmVtXG4gKi9cbi8qIHN0eWxlbGludC1kaXNhYmxlIGJsb2NrLW5vLWVtcHR5ICovXG4vKiBzdHlsZWxpbnQtZW5hYmxlICovXG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG4vKipcbiAqIEJyZWFrcG9pbnQgY29tcG9uZW50IHVzZWQgYnkgaW5jbHVkZS1tZWRpYSB2ZW5kb3IgbGlicmFyeS5cbiAqL1xuQHVzZSAnc2FzczptYXAnO1xuLyoqXG4gKiBFeHRyYWN0cyBuZXN0ZWQga2V5cyBmcm9tIGdpdmVuIG1hcC5cbiAqIEV4YW1wbGU6IGRlZXAtZ2V0KCRzb21lLW1hcCwgc29tZSwgbmVzdGVkLCBrZXlzKTtcbiAqL1xuLyoqXG4qIERlZmF1bHQgcHJvamVjdCBicmVha3BvaW50cyAtIFtlbV1cbiovXG4vKiBzdHlsZWxpbnQtZGlzYWJsZSBibG9jay1uby1lbXB0eSAqL1xuLyogc3R5bGVsaW50LWVuYWJsZSAqL1xuLyoqXG4gKiBCcmVha3BvaW50IGNvbXBvbmVudCB1c2VkIGJ5IGluY2x1ZGUtbWVkaWEgdmVuZG9yIGxpYnJhcnkuXG4gKi9cbkB1c2UgJ3Nhc3M6bWFwJztcbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuLyoqKlxuICogUmVtb3ZlIGJyb3dzZXIncyBtYXJnaW5zLCBwYWRkaW5ncyBhbmQgbGlzdCBzdHlsZSBydWxlc1xuICovXG4vKioqXG4gKiBIaWRlIG5hdGl2ZSBicm93c2VyJ3Mgc2Nyb2xsYmFyXG4gKi9cbi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG5AdXNlICdzYXNzOm1hcCc7XG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG4vKipcbiogRGVmYXVsdCBwcm9qZWN0IGJyZWFrcG9pbnRzIC0gW2VtXVxuKi9cbi8qIHN0eWxlbGludC1kaXNhYmxlIGJsb2NrLW5vLWVtcHR5ICovXG4vKiBzdHlsZWxpbnQtZW5hYmxlICovXG4vKipcbiAqIEJyZWFrcG9pbnQgY29tcG9uZW50IHVzZWQgYnkgaW5jbHVkZS1tZWRpYSB2ZW5kb3IgbGlicmFyeS5cbiAqL1xuQHVzZSAnc2FzczptYXAnO1xuLyoqXG4gKiBFeHRyYWN0cyBuZXN0ZWQga2V5cyBmcm9tIGdpdmVuIG1hcC5cbiAqIEV4YW1wbGU6IGRlZXAtZ2V0KCRzb21lLW1hcCwgc29tZSwgbmVzdGVkLCBrZXlzKTtcbiAqL1xuLyoqXG4qIERlZmF1bHQgcHJvamVjdCBicmVha3BvaW50cyAtIFtlbV1cbiovXG4vKiBwcmV0dGllci1pZ25vcmUgKi9cbi5jcy1taW5pY2FydF9fY2xvc2Uge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGJhY2tncm91bmQ6IG5vbmU7XG4gIGJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xuICBib3JkZXI6IDA7XG4gIGJveC1zaGFkb3c6IG5vbmU7XG4gIGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgdGV4dC1zaGFkb3c6IG5vbmU7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgcmlnaHQ6IC0xLjVyZW07XG4gIHdpZHRoOiA1cmVtO1xuICBoZWlnaHQ6IDVyZW07XG4gIHRvcDogNTAlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgcmlnaHQ6IDAuNXJlbTsgfVxuICAuY3MtbWluaWNhcnRfX2Nsb3NlOmZvY3VzLCAuY3MtbWluaWNhcnRfX2Nsb3NlOmFjdGl2ZSwgLmNzLW1pbmljYXJ0X19jbG9zZTpob3ZlciB7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyOiBub25lO1xuICAgIGNvbG9yOiBpbmhlcml0OyB9XG5cbi5jcy1taW5pY2FydF9fY2xvc2UtaWNvbiB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH1cbiAgLmNzLW1pbmljYXJ0X19jbG9zZS1pY29uOmJlZm9yZSwgLmNzLW1pbmljYXJ0X19jbG9zZS1pY29uOmFmdGVyIHtcbiAgICBjb250ZW50OiAnJztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiA1MCU7XG4gICAgd2lkdGg6IDJyZW07XG4gICAgaGVpZ2h0OiAwLjJyZW07XG4gICAgbGVmdDogYXV0bztcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNDg0ODQ4O1xuICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjNzIGVhc2Utb3V0LCBvcGFjaXR5IDAuMTVzIGVhc2Utb3V0LCBiYWNrZ3JvdW5kLWNvbG9yIDAuMTVzIGxpbmVhcjtcbiAgICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47IH1cbiAgLmNzLW1pbmljYXJ0X19jbG9zZS1pY29uOmhvdmVyOmJlZm9yZSwgLmNzLW1pbmljYXJ0X19jbG9zZS1pY29uOmhvdmVyOmFmdGVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNjk2OTY5OyB9XG4gIC5jcy1taW5pY2FydF9fY2xvc2UtaWNvblthcmlhLWV4cGFuZGVkPVwidHJ1ZVwiXTpiZWZvcmUsIC5jcy1taW5pY2FydF9fY2xvc2UtaWNvblthcmlhLWV4cGFuZGVkPVwidHJ1ZVwiXTphZnRlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzg4ODsgfVxuICAuY3MtbWluaWNhcnRfX2Nsb3NlLWljb246YmVmb3JlLCAuY3MtbWluaWNhcnRfX2Nsb3NlLWljb246YWZ0ZXIge1xuICAgIHJpZ2h0OiAxLjVyZW07XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtNTAlLCAwKSAhaW1wb3J0YW50OyB9XG4gIC5jcy1taW5pY2FydF9fY2xvc2UtaWNvbjphZnRlciB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtNTAlLCAwKSByb3RhdGUoOTBkZWcpICFpbXBvcnRhbnQ7IH1cbiAgLmNzLW1pbmljYXJ0X19jbG9zZS1pY29uW2FyaWEtZXhwYW5kZWQ9XCJ0cnVlXCJdOmJlZm9yZSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtNTAlLCAwKSByb3RhdGUoLTkwZGVnKSAhaW1wb3J0YW50O1xuICAgIG9wYWNpdHk6IDA7IH1cbiAgLmNzLW1pbmljYXJ0X19jbG9zZS1pY29uW2FyaWEtZXhwYW5kZWQ9XCJ0cnVlXCJdOmFmdGVyIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC01MCUsIDApIHJvdGF0ZSgwKSAhaW1wb3J0YW50OyB9XG5cbi5jcy1taW5pY2FydF9fY2xvc2UtdGV4dCB7XG4gIGJvcmRlcjogMDtcbiAgY2xpcDogcmVjdCgwLCAwLCAwLCAwKTtcbiAgaGVpZ2h0OiAxcHg7XG4gIG1hcmdpbjogLTFweDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgcGFkZGluZzogMDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB3aWR0aDogMXB4OyB9XG5cbi5jcy1taW5pY2FydF9fdGl0bGUtd3JhcHBlciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgcGFkZGluZzogMnJlbSAwO1xuICBkaXNwbGF5OiBmbGV4O1xuICBjb2xvcjogIzQ1NWE2NDtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgZm9udC1zaXplOiAxLjhyZW07XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMXJlbSAycmVtO1xuICBmb250LXNpemU6IDIuMXJlbTtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNkY2RjZGM7IH1cblxuLmNzLW1pbmljYXJ0X19pdGVtcy10b3RhbCB7XG4gIG1hcmdpbi1sZWZ0OiAwLjVyZW07XG4gIGNvbG9yOiAjNjk2OTY5O1xuICBmb250LXdlaWdodDogNDAwOyB9XG4gIC5jcy1taW5pY2FydF9faXRlbXMtdG90YWw6bm90KC5jcy1taW5pY2FydF9faXRlbXMtdG90YWwtLWVtcHR5KTpiZWZvcmUge1xuICAgIGNvbnRlbnQ6ICcoJzsgfVxuICAuY3MtbWluaWNhcnRfX2l0ZW1zLXRvdGFsOm5vdCguY3MtbWluaWNhcnRfX2l0ZW1zLXRvdGFsLS1lbXB0eSk6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6ICcpJzsgfVxuICAuY3MtbWluaWNhcnRfX2l0ZW1zLXRvdGFsLS1lbXB0eSAuY291bnQge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cblxuLmNzLW1pbmljYXJ0X19lZGl0LWxpbmsge1xuICBmb250LXdlaWdodDogNzAwOyB9XG4gIC5jcy1taW5pY2FydF9fZWRpdC1saW5rIC5jcy1saW5rX19pY29uIHtcbiAgICBwYWRkaW5nOiAwIDAgMCAxcmVtOyB9XG5cbi5jcy1taW5pY2FydF9fY29udGVudCB7XG4gIGhlaWdodDogYXV0byAhaW1wb3J0YW50O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgLmNzLW1pbmljYXJ0X19jb250ZW50IC5sb2FkLmluZGljYXRvcjpiZWZvcmUge1xuICAgIGhlaWdodDogdW5zZXQ7IH1cblxuLmNzLW1pbmljYXJ0X19saXN0IHtcbiAgcGFkZGluZzogMDtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICAuY3MtbWluaWNhcnRfX2xpc3QtLXNjcm9sbCB7XG4gICAgaGVpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgbWF4LWhlaWdodDogY2FsYygxMDB2aCAtIDM2cmVtKTtcbiAgICBvdmVyZmxvdy15OiBhdXRvOyB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgIC5jcy1taW5pY2FydF9fbGlzdC0tc2Nyb2xsIHtcbiAgICAgICAgbWF4LWhlaWdodDogY2FsYygxMDB2aCAtIDQzcmVtKTsgfSB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgIC5jcy1taW5pY2FydF9fbGlzdC0tc2Nyb2xsIHtcbiAgICAgICAgbWF4LWhlaWdodDogY2FsYygxMDB2aCAtIDM4cmVtKTsgfSB9XG5cbi5jcy1taW5pY2FydF9fbGlzdC1pdGVtIHtcbiAgcGFkZGluZzogMS41cmVtO1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2RjZGNkYztcbiAgbWFyZ2luLWJvdHRvbTogMDtcbiAgcGFkZGluZzogMS41cmVtIDJyZW07IH1cbiAgLmNzLW1pbmljYXJ0X19saXN0LWl0ZW06bGFzdC1jaGlsZCB7XG4gICAgYm9yZGVyLWJvdHRvbTogbm9uZTsgfVxuXG4uY3MtbWluaWNhcnRfX2FjdGlvbnMtd3JhcHBlciB7XG4gIHBhZGRpbmc6IDJyZW0gMDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBwYWRkaW5nOiAxLjVyZW0gMnJlbTtcbiAgYm94LXNoYWRvdzogMCAtNXB4IDVweCAtNXB4IHJnYmEoMCwgMCwgMCwgMC4yNyk7IH1cblxuLmNzLW1pbmljYXJ0X19hY3Rpb25zIHtcbiAgbWFyZ2luLXRvcDogMXJlbTsgfVxuICAuY3MtbWluaWNhcnRfX2FjdGlvbnM6Zmlyc3QtY2hpbGQge1xuICAgIG1hcmdpbi10b3A6IDA7IH1cblxuLmNzLW1pbmljYXJ0X19lbXB0eSB7XG4gIHBhZGRpbmc6IDJyZW0gMDtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBmb250LXNpemU6IDEuNHJlbTtcbiAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG5cbi5jcy1taW5pY2FydF9fc3VidG90YWwge1xuICBmb250LXdlaWdodDogNzAwO1xuICBmb250LXNpemU6IDEuNXJlbTtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBtYXJnaW4tYm90dG9tOiAxLjJyZW07IH1cblxuLmNzLW1pbmljYXJ0X19zdWJ0b3RhbC1wcmljZSAucHJpY2Uge1xuICBmb250LXdlaWdodDogNzAwO1xuICBmb250LXNpemU6IDEuNXJlbSAhaW1wb3J0YW50O1xuICBmb250LXNpemU6IDIuMXJlbSAhaW1wb3J0YW50OyB9XG5cbi5jcy1taW5pY2FydF9fYnV0dG9uLWNoZWNrb3V0IHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBmb250LXNpemU6IDEuOHJlbTtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGxpbmUtaGVpZ2h0OiAxLjI3NWVtO1xuICBtYXJnaW46IDA7XG4gIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICBwYWRkaW5nOiAwLjc1ZW0gMWVtO1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuNXMsIGJvcmRlci1jb2xvciAwLjVzLCBmaWxsIDAuNXMsIGNvbG9yIDAuNXM7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIHotaW5kZXg6IDU7XG4gIHdpZHRoOiAxMDAlOyB9XG4gIC5jcy1taW5pY2FydF9fYnV0dG9uLWNoZWNrb3V0OmhvdmVyLCAuY3MtbWluaWNhcnRfX2J1dHRvbi1jaGVja291dDpmb2N1cywgLmNzLW1pbmljYXJ0X19idXR0b24tY2hlY2tvdXQ6YWN0aXZlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjN2U1N2MyICFpbXBvcnRhbnQ7IH1cbiAgLmNzLW1pbmljYXJ0X19idXR0b24tY2hlY2tvdXQ6YmVmb3JlLCAuY3MtbWluaWNhcnRfX2J1dHRvbi1jaGVja291dDphZnRlciB7XG4gICAgY29udGVudDogJyc7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogLTFweDtcbiAgICBib3R0b206IC0xcHg7XG4gICAgcmlnaHQ6IC0xcHg7IH1cbiAgLmNzLW1pbmljYXJ0X19idXR0b24tY2hlY2tvdXQ6YmVmb3JlIHtcbiAgICB3aWR0aDogMy40ZW07XG4gICAgYm9yZGVyLXJhZGl1czogMCAyMDBweCAyMDBweCAwO1xuICAgIHotaW5kZXg6IC0xO1xuICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgwZGVnLCB0cmFuc3BhcmVudCAwJSwgdHJhbnNwYXJlbnQgMCUsICM0ZDJjOTEgMCUsICM0ZDJjOTEgMTAwJSk7IH1cbiAgLmNzLW1pbmljYXJ0X19idXR0b24tY2hlY2tvdXQ6YWZ0ZXIge1xuICAgIHdpZHRoOiAzZW07XG4gICAgbWluLXdpZHRoOiBhdXRvO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICM0ZDJjOTE7XG4gICAgdHJhbnNpdGlvbjogd2lkdGggMC4yNXMgbGluZWFyO1xuICAgIHotaW5kZXg6IC0yO1xuICAgIGJvcmRlci1yYWRpdXM6IDIwMHB4OyB9XG4gIC5jcy1taW5pY2FydF9fYnV0dG9uLWNoZWNrb3V0OmhvdmVyOmFmdGVyIHtcbiAgICB3aWR0aDogY2FsYygxMDAlICsgMnB4KTsgfVxuICAuY3MtbWluaWNhcnRfX2J1dHRvbi1jaGVja291dDo6LW1vei1mb2N1cy1pbm5lciB7XG4gICAgYm9yZGVyOiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbWFyZ2luOiAwOyB9XG4gIC5jcy1taW5pY2FydF9fYnV0dG9uLWNoZWNrb3V0LCAuY3MtbWluaWNhcnRfX2J1dHRvbi1jaGVja291dDp2aXNpdGVkIHtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgYm9yZGVyLXJhZGl1czogMjAwcHg7XG4gICAgb3V0bGluZS1vZmZzZXQ6IDFweDtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICBjb2xvcjogI2ZmZjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjN2U1N2MyOyB9XG4gICAgLmNzLW1pbmljYXJ0X19idXR0b24tY2hlY2tvdXQgKiwgLmNzLW1pbmljYXJ0X19idXR0b24tY2hlY2tvdXQ6dmlzaXRlZCAqIHtcbiAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgZmlsbDogI2ZmZjsgfVxuICAuY3MtbWluaWNhcnRfX2J1dHRvbi1jaGVja291dDpob3Zlcjpub3QoW2Rpc2FibGVkXSksIC5jcy1taW5pY2FydF9fYnV0dG9uLWNoZWNrb3V0OmZvY3VzOm5vdChbZGlzYWJsZWRdKSwgLmNzLW1pbmljYXJ0X19idXR0b24tY2hlY2tvdXQ6YWN0aXZlOm5vdChbZGlzYWJsZWRdKSB7XG4gICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICBvdXRsaW5lOiBub25lO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICBjb2xvcjogI2ZmZjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNGQyYzkxOyB9XG4gICAgLmNzLW1pbmljYXJ0X19idXR0b24tY2hlY2tvdXQ6aG92ZXI6bm90KFtkaXNhYmxlZF0pICosIC5jcy1taW5pY2FydF9fYnV0dG9uLWNoZWNrb3V0OmZvY3VzOm5vdChbZGlzYWJsZWRdKSAqLCAuY3MtbWluaWNhcnRfX2J1dHRvbi1jaGVja291dDphY3RpdmU6bm90KFtkaXNhYmxlZF0pICoge1xuICAgICAgY29sb3I6ICNmZmY7XG4gICAgICBmaWxsOiAjZmZmOyB9XG4gIC5jcy1taW5pY2FydF9fYnV0dG9uLWNoZWNrb3V0W2Rpc2FibGVkXSB7XG4gICAgb3BhY2l0eTogMC42NTtcbiAgICBjdXJzb3I6IGF1dG87IH1cbiAgLmNzLW1pbmljYXJ0X19idXR0b24tY2hlY2tvdXQtc3BhbiB7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgICB6LWluZGV4OiAxO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBsaW5lLWhlaWdodDogMS4yNzVlbTtcbiAgICBsZXR0ZXItc3BhY2luZzogbm9ybWFsO1xuICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICBwYWRkaW5nLXJpZ2h0OiA0ZW07XG4gICAgLyogc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lICovIH1cbiAgLmNzLW1pbmljYXJ0X19idXR0b24tY2hlY2tvdXQtaWNvbiB7XG4gICAgbWF4LXdpZHRoOiAxZW07XG4gICAgbWF4LWhlaWdodDogMS44cmVtO1xuICAgIHotaW5kZXg6IDI7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDUwJTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC01MCUsIDApO1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICByaWdodDogMWVtO1xuICAgIC8qIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSAqLyB9XG5cbi5jcy1taW5pY2FydF9fYnV0dG9uLXZpZXdjYXJ0IHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBmb250LXNpemU6IDEuOHJlbTtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGxpbmUtaGVpZ2h0OiAxLjI3NWVtO1xuICBtYXJnaW46IDA7XG4gIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICBwYWRkaW5nOiAwLjc1ZW0gMWVtO1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuNXMsIGJvcmRlci1jb2xvciAwLjVzLCBmaWxsIDAuNXMsIGNvbG9yIDAuNXM7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIHotaW5kZXg6IDU7XG4gIHdpZHRoOiAxMDAlOyB9XG4gIC5jcy1taW5pY2FydF9fYnV0dG9uLXZpZXdjYXJ0OjpiZWZvcmUsIC5jcy1taW5pY2FydF9fYnV0dG9uLXZpZXdjYXJ0OjphZnRlciB7XG4gICAgY29udGVudDogbm9uZTsgfVxuICAuY3MtbWluaWNhcnRfX2J1dHRvbi12aWV3Y2FydDo6LW1vei1mb2N1cy1pbm5lciB7XG4gICAgYm9yZGVyOiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbWFyZ2luOiAwOyB9XG4gIC5jcy1taW5pY2FydF9fYnV0dG9uLXZpZXdjYXJ0LCAuY3MtbWluaWNhcnRfX2J1dHRvbi12aWV3Y2FydDp2aXNpdGVkIHtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgYm9yZGVyLXJhZGl1czogMjAwcHg7XG4gICAgb3V0bGluZS1vZmZzZXQ6IDFweDtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjN2U1N2MyO1xuICAgIGNvbG9yOiAjN2U1N2MyO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7IH1cbiAgICAuY3MtbWluaWNhcnRfX2J1dHRvbi12aWV3Y2FydCAqLCAuY3MtbWluaWNhcnRfX2J1dHRvbi12aWV3Y2FydDp2aXNpdGVkICoge1xuICAgICAgY29sb3I6ICM3ZTU3YzI7XG4gICAgICBmaWxsOiAjN2U1N2MyOyB9XG4gIC5jcy1taW5pY2FydF9fYnV0dG9uLXZpZXdjYXJ0OmhvdmVyOm5vdChbZGlzYWJsZWRdKSwgLmNzLW1pbmljYXJ0X19idXR0b24tdmlld2NhcnQ6Zm9jdXM6bm90KFtkaXNhYmxlZF0pLCAuY3MtbWluaWNhcnRfX2J1dHRvbi12aWV3Y2FydDphY3RpdmU6bm90KFtkaXNhYmxlZF0pIHtcbiAgICBib3gtc2hhZG93OiBub25lO1xuICAgIG91dGxpbmU6IG5vbmU7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICM0ZDJjOTE7XG4gICAgY29sb3I6ICNmZmY7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzRkMmM5MTsgfVxuICAgIC5jcy1taW5pY2FydF9fYnV0dG9uLXZpZXdjYXJ0OmhvdmVyOm5vdChbZGlzYWJsZWRdKSAqLCAuY3MtbWluaWNhcnRfX2J1dHRvbi12aWV3Y2FydDpmb2N1czpub3QoW2Rpc2FibGVkXSkgKiwgLmNzLW1pbmljYXJ0X19idXR0b24tdmlld2NhcnQ6YWN0aXZlOm5vdChbZGlzYWJsZWRdKSAqIHtcbiAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgZmlsbDogI2ZmZjsgfVxuICAuY3MtbWluaWNhcnRfX2J1dHRvbi12aWV3Y2FydFtkaXNhYmxlZF0ge1xuICAgIG9wYWNpdHk6IDAuNjU7XG4gICAgY3Vyc29yOiBhdXRvOyB9XG4gIC5jcy1taW5pY2FydF9fYnV0dG9uLXZpZXdjYXJ0LXNwYW4ge1xuICAgIG1hcmdpbi10b3A6IDA7XG4gICAgei1pbmRleDogMTtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgbGluZS1oZWlnaHQ6IDEuMjc1ZW07XG4gICAgbGV0dGVyLXNwYWNpbmc6IG5vcm1hbDtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgcGFkZGluZy1yaWdodDogNGVtO1xuICAgIC8qIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSAqLyB9XG4gIC5jcy1taW5pY2FydF9fYnV0dG9uLXZpZXdjYXJ0LWljb24ge1xuICAgIG1heC13aWR0aDogMWVtO1xuICAgIG1heC1oZWlnaHQ6IDEuOHJlbTtcbiAgICB6LWluZGV4OiAyO1xuICAgIGhlaWdodDogYXV0bztcbiAgICB3aWR0aDogMTAwJTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiA1MCU7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtNTAlLCAwKTtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgcmlnaHQ6IDFlbTtcbiAgICAvKiBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgKi8gfVxuXG4uY3MtbWluaWNhcnRfX2J1dHRvbi1jYXJvdXNlbCB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgZm9udC1zaXplOiAxLjhyZW07XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBsaW5lLWhlaWdodDogMS4yNzVlbTtcbiAgbWFyZ2luOiAwO1xuICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgcGFkZGluZzogMC43NWVtIDFlbTtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjVzLCBib3JkZXItY29sb3IgMC41cywgZmlsbCAwLjVzLCBjb2xvciAwLjVzO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICB6LWluZGV4OiA1OyB9XG4gIC5jcy1taW5pY2FydF9fYnV0dG9uLWNhcm91c2VsLXdyYXBwZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgcGFkZGluZy10b3A6IDNyZW07XG4gICAgbWFyZ2luOiAzcmVtIDA7XG4gICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNkY2RjZGM7IH1cbiAgLmNzLW1pbmljYXJ0X19idXR0b24tY2Fyb3VzZWw6OmJlZm9yZSwgLmNzLW1pbmljYXJ0X19idXR0b24tY2Fyb3VzZWw6OmFmdGVyIHtcbiAgICBjb250ZW50OiBub25lOyB9XG4gIC5jcy1taW5pY2FydF9fYnV0dG9uLWNhcm91c2VsOjotbW96LWZvY3VzLWlubmVyIHtcbiAgICBib3JkZXI6IDA7XG4gICAgcGFkZGluZzogMDtcbiAgICBtYXJnaW46IDA7IH1cbiAgLmNzLW1pbmljYXJ0X19idXR0b24tY2Fyb3VzZWwsIC5jcy1taW5pY2FydF9fYnV0dG9uLWNhcm91c2VsOnZpc2l0ZWQge1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBib3JkZXItcmFkaXVzOiAyMDBweDtcbiAgICBvdXRsaW5lLW9mZnNldDogMXB4O1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBib3gtc2hhZG93OiBub25lO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICM3ZTU3YzI7XG4gICAgY29sb3I6ICM3ZTU3YzI7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjsgfVxuICAgIC5jcy1taW5pY2FydF9fYnV0dG9uLWNhcm91c2VsICosIC5jcy1taW5pY2FydF9fYnV0dG9uLWNhcm91c2VsOnZpc2l0ZWQgKiB7XG4gICAgICBjb2xvcjogIzdlNTdjMjtcbiAgICAgIGZpbGw6ICM3ZTU3YzI7IH1cbiAgLmNzLW1pbmljYXJ0X19idXR0b24tY2Fyb3VzZWw6aG92ZXI6bm90KFtkaXNhYmxlZF0pLCAuY3MtbWluaWNhcnRfX2J1dHRvbi1jYXJvdXNlbDpmb2N1czpub3QoW2Rpc2FibGVkXSksIC5jcy1taW5pY2FydF9fYnV0dG9uLWNhcm91c2VsOmFjdGl2ZTpub3QoW2Rpc2FibGVkXSkge1xuICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgYm9yZGVyOiAxcHggc29saWQgIzRkMmM5MTtcbiAgICBjb2xvcjogI2ZmZjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNGQyYzkxOyB9XG4gICAgLmNzLW1pbmljYXJ0X19idXR0b24tY2Fyb3VzZWw6aG92ZXI6bm90KFtkaXNhYmxlZF0pICosIC5jcy1taW5pY2FydF9fYnV0dG9uLWNhcm91c2VsOmZvY3VzOm5vdChbZGlzYWJsZWRdKSAqLCAuY3MtbWluaWNhcnRfX2J1dHRvbi1jYXJvdXNlbDphY3RpdmU6bm90KFtkaXNhYmxlZF0pICoge1xuICAgICAgY29sb3I6ICNmZmY7XG4gICAgICBmaWxsOiAjZmZmOyB9XG4gIC5jcy1taW5pY2FydF9fYnV0dG9uLWNhcm91c2VsW2Rpc2FibGVkXSB7XG4gICAgb3BhY2l0eTogMC42NTtcbiAgICBjdXJzb3I6IGF1dG87IH1cbiAgLmNzLW1pbmljYXJ0X19idXR0b24tY2Fyb3VzZWwtc3BhbiB7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgICB6LWluZGV4OiAxO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBsaW5lLWhlaWdodDogMS4yNzVlbTtcbiAgICBsZXR0ZXItc3BhY2luZzogbm9ybWFsO1xuICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICBwYWRkaW5nLXJpZ2h0OiA0ZW07XG4gICAgLyogc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lICovIH1cbiAgLmNzLW1pbmljYXJ0X19idXR0b24tY2Fyb3VzZWwtaWNvbiB7XG4gICAgbWF4LXdpZHRoOiAxZW07XG4gICAgbWF4LWhlaWdodDogMS44cmVtO1xuICAgIHotaW5kZXg6IDI7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDUwJTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC01MCUsIDApO1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICByaWdodDogMWVtO1xuICAgIC8qIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSAqLyB9XG5cbi5jcy1taW5pY2FydF9fbWVzc2FnZXMge1xuICBwYWRkaW5nOiAwIDJyZW07IH1cblxuLmNzLW1pbmljYXJ0LW9mZmNhbnZhc19fd3JhcHBlciB7XG4gIHBhZGRpbmc6IDA7IH1cblxuLyogcHJldHRpZXItaWdub3JlICovXG4uY3MtbWluaWNhcnRfX2Nhcm91c2VsIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB6LWluZGV4OiAxMDsgfVxuICAuY3MtbWluaWNhcnRfX2Nhcm91c2VsLWNvbnRhaW5lciB7XG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuM3MgZWFzZS1pbjtcbiAgICBiYWNrZ3JvdW5kOiAjZmZmOyB9XG4gICAgLmNzLW1pbmljYXJ0X19jYXJvdXNlbC13cmFwcGVyLS1yZWFkeSAuY3MtbWluaWNhcnRfX2Nhcm91c2VsLWNvbnRhaW5lciB7XG4gICAgICBvcGFjaXR5OiAxOyB9XG4gIC5jcy1taW5pY2FydF9fY2Fyb3VzZWwtd3JhcHBlciB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgdG9wOiA1MCU7XG4gICAgcmlnaHQ6IGNhbGMoNDByZW0gKyAycmVtKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gICAgd2lkdGg6IGNhbGMoMTAwdncgLSAoNDByZW0gKyAoMiAqIDJyZW0pKSk7XG4gICAgbWF4LXdpZHRoOiAxMjByZW07XG4gICAgcGFkZGluZzogMDtcbiAgICBtYXJnaW46IDA7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7IH1cbiAgICAuY3MtbWluaWNhcnRfX2Nhcm91c2VsLXdyYXBwZXItLWxvYWRpbmcsIC5jcy1taW5pY2FydF9fY2Fyb3VzZWwtd3JhcHBlci0tcmVhZHkge1xuICAgICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgICAgIHBvaW50ZXItZXZlbnRzOiBhdXRvOyB9XG4gICAgLmRyYXdlci0tdmlzaWJsZSAuY3MtbWluaWNhcnRfX2Nhcm91c2VsLXdyYXBwZXIge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlOyB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgIC5taW5pY2FydC1vZmZjYW52YXMtb3BlbiAuY3MtbWluaWNhcnRfX2Nhcm91c2VsLXdyYXBwZXIge1xuICAgICAgICBkaXNwbGF5OiBibG9jazsgfSB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDgwZW0pIHtcbiAgICAgIC5jcy1taW5pY2FydF9fY2Fyb3VzZWwtd3JhcHBlciB7XG4gICAgICAgIHJpZ2h0OiBjYWxjKDQwcmVtICsgKDIgKiAycmVtKSk7XG4gICAgICAgIHdpZHRoOiBjYWxjKDEwMHZ3IC0gKDQwcmVtICsgKDQgKiAycmVtKSkpOyB9IH1cbiAgICAuY3MtbWluaWNhcnRfX2Nhcm91c2VsLXdyYXBwZXIgLmNzLWhlYWRsaW5lIHtcbiAgICAgIG1hcmdpbjogMCAwIDJyZW07XG4gICAgICBwYWRkaW5nOiAycmVtIDAgMDsgfVxuICAgIC5jcy1taW5pY2FydF9fY2Fyb3VzZWwtd3JhcHBlciAuY3MtaGVhZGxpbmVfX3RpdGxlIHtcbiAgICAgIGZvbnQtZmFtaWx5OiBcIkRvc2lzXCIsIHN5c3RlbS11aSwgLWFwcGxlLXN5c3RlbSwgU2Vnb2UgVUksIFJvYm90bywgVWJ1bnR1LCBDYW50YXJlbGwsIE94eWdlbiwgc2Fucy1zZXJpZiwgXCJBcHBsZSBDb2xvciBFbW9qaVwiLCBcIlNlZ29lIFVJIEVtb2ppXCIsIFwiU2Vnb2UgVUkgU3ltYm9sXCIsIFwiTm90byBDb2xvciBFbW9qaVwiO1xuICAgICAgZm9udC1zaXplOiAxLjhyZW07XG4gICAgICBsaW5lLWhlaWdodDogMS4xO1xuICAgICAgY29sb3I6ICM0NTVhNjQ7XG4gICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gICAgICBtYXJnaW46IDFyZW0gMCAycmVtOyB9XG4gIC5jcy1taW5pY2FydF9fY2Fyb3VzZWwtc3Bpbm5lciB7XG4gICAgb3BhY2l0eTogMDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiA1MCU7XG4gICAgbGVmdDogNTAlO1xuICAgIHdpZHRoOiAxMXJlbTtcbiAgICBoZWlnaHQ6IDExcmVtO1xuICAgIHBhZGRpbmc6IDJyZW0gMDtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC01MCUsIC01MCUsIDApO1xuICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC4zcyBlYXNlLWluOyB9XG4gICAgLmNzLW1pbmljYXJ0X19jYXJvdXNlbC13cmFwcGVyLS1sb2FkaW5nIC5jcy1taW5pY2FydF9fY2Fyb3VzZWwtc3Bpbm5lciB7XG4gICAgICBvcGFjaXR5OiAxO1xuICAgICAgei1pbmRleDogMTA7IH1cbiAgLmNzLW1pbmljYXJ0X19jYXJvdXNlbCAuY3MtcHJvZHVjdHMtY2Fyb3VzZWwge1xuICAgIC0tZ2FwOiAwLjhyZW07XG4gICAgLS1iYXNlLXNpemU6IGNhbGMoMTAwJSAtIDAuOHJlbSk7XG4gICAgLS1zaXplOiB2YXIoLS1iYXNlLXNpemUpO1xuICAgIC8qKlxuICAgICAqIGNsYXNzLWJhc2VkIGNvbHVtbnMgY29uZmlnIHJlbGF0ZXMgdG8gY2xhc3NuYW1lcywgbGlrZSAnLS1pdGVtcy1pbi1yb3ctNCdcbiAgICAgKiB3aGljaCBhcmUgYWRkZWQgdG8gZWxlbWVudHMsIGRlcGVuZGluZyBvbiB0aGUgQ0MgQ29tcG9uZW50cyBjb25maWd1cmF0aW9uLlxuICAgICAqL1xuICAgIC0tc2l6ZTogY2FsYyhcbiAgICAgICAgICAgIHZhcigtLWJhc2Utc2l6ZSkgL1xuICAgICAgICAgICAgICAgIDIgLVxuICAgICAgICAgICAgICAgIDEgKlxuICAgICAgICAgICAgICAgIHZhcigtLWdhcCkgL1xuICAgICAgICAgICAgICAgIDJcbiAgICAgICAgKTtcbiAgICAvKiAgY29udGFpbmVyIHBhZGRpbmcgZml4ICAqL1xuICAgIG1hcmdpbjogMDtcbiAgICBiYWNrZ3JvdW5kOiAjZmZmOyB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDgxLjg3NWVtKSB7XG4gICAgICAuY3MtbWluaWNhcnRfX2Nhcm91c2VsIC5jcy1wcm9kdWN0cy1jYXJvdXNlbC5jcy1taW5pY2FydF9fY2Fyb3VzZWwgLmNzLXByb2R1Y3RzLWNhcm91c2VsLS1jb250YWluZXItd2lkdGgge1xuICAgICAgICAtLWJhc2Utc2l6ZTogY2FsYygxMjhyZW0gLSAwLjhyZW0pOyB9XG4gICAgICAuY3MtbWluaWNhcnRfX2Nhcm91c2VsIC5jcy1wcm9kdWN0cy1jYXJvdXNlbC5jcy1taW5pY2FydF9fY2Fyb3VzZWwgLmNzLXByb2R1Y3RzLWNhcm91c2VsLS11c2Utd2hvbGUtc2NyZWVuIHtcbiAgICAgICAgLS1iYXNlLXNpemU6IDEwMCU7XG4gICAgICAgIG1heC13aWR0aDogMTAwJTsgfVxuICAgICAgICAuY3MtbWluaWNhcnRfX2Nhcm91c2VsIC5jcy1wcm9kdWN0cy1jYXJvdXNlbC5jcy1taW5pY2FydF9fY2Fyb3VzZWwgLmNzLXByb2R1Y3RzLWNhcm91c2VsLS11c2Utd2hvbGUtc2NyZWVuIC5jcy1taW5pY2FydF9fY2Fyb3VzZWwgLmNzLXByb2R1Y3RzLWNhcm91c2VsX19zbGlkZXMge1xuICAgICAgICAgIHNjcm9sbC1zbmFwLXR5cGU6IHggcHJveGltaXR5O1xuICAgICAgICAgIHBhZGRpbmctbGVmdDogY2FsYygoMTAwJSAtIDEyOHJlbSkgLyAyKTtcbiAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiBjYWxjKCgxMDAlIC0gMTI4cmVtKSAvIDIpO1xuICAgICAgICAgIHNjcm9sbC1wYWRkaW5nLWxlZnQ6IGNhbGMoKDEwMCUgLSAxMjhyZW0pIC8gMik7XG4gICAgICAgICAgc2Nyb2xsLXBhZGRpbmctcmlnaHQ6IGNhbGMoKDEwMCUgLSAxMjhyZW0pIC8gMik7XG4gICAgICAgICAgc2Nyb2xsLW1hcmdpbi1sZWZ0OiBjYWxjKCgxMDB2dyAtIDEyOHJlbSkgLyAyKTtcbiAgICAgICAgICBzY3JvbGwtbWFyZ2luLXJpZ2h0OiBjYWxjKCgxMDB2dyAtIDEyOHJlbSkgLyAyKTsgfSB9XG4gICAgQG1lZGlhIChob3ZlcjogaG92ZXIpIGFuZCAocG9pbnRlcjogZmluZSkgYW5kIChtaW4td2lkdGg6IDgxLjg3NWVtKSB7XG4gICAgICAuY3MtbWluaWNhcnRfX2Nhcm91c2VsIC5jcy1wcm9kdWN0cy1jYXJvdXNlbC5jcy1taW5pY2FydF9fY2Fyb3VzZWwgLmNzLXByb2R1Y3RzLWNhcm91c2VsLS1jb250YWluZXItd2lkdGgge1xuICAgICAgICAtLWJhc2Utc2l6ZTogMTI4cmVtOyB9IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgLmNzLW1pbmljYXJ0X19jYXJvdXNlbCAuY3MtcHJvZHVjdHMtY2Fyb3VzZWwge1xuICAgICAgICAtLWdhcDogMC44cmVtOyB9IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogMjMuMTI1ZW0pIHtcbiAgICAgIC5jcy1taW5pY2FydF9fY2Fyb3VzZWwgLmNzLXByb2R1Y3RzLWNhcm91c2VsIHtcbiAgICAgICAgLS1zaXplOiBjYWxjKFxuICAgICAgICAgICAgICAgICAgICB2YXIoLS1iYXNlLXNpemUpIC8gMiAtICgoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAxICogdmFyKC0tZ2FwKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApIC8gMilcbiAgICAgICAgICAgICAgICApOyB9IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogMzBlbSkge1xuICAgICAgLmNzLW1pbmljYXJ0X19jYXJvdXNlbCAuY3MtcHJvZHVjdHMtY2Fyb3VzZWwge1xuICAgICAgICAtLXNpemU6IGNhbGMoXG4gICAgICAgICAgICAgICAgICAgIHZhcigtLWJhc2Utc2l6ZSkgLyAyIC0gKChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDEgKiB2YXIoLS1nYXApXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICkgLyAyKVxuICAgICAgICAgICAgICAgICk7IH0gfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAuY3MtbWluaWNhcnRfX2Nhcm91c2VsIC5jcy1wcm9kdWN0cy1jYXJvdXNlbCB7XG4gICAgICAgIC0tc2l6ZTogY2FsYyhcbiAgICAgICAgICAgICAgICAgICAgdmFyKC0tYmFzZS1zaXplKSAvIDIgLSAoKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMSAqIHZhcigtLWdhcClcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSAvIDIpXG4gICAgICAgICAgICAgICAgKTsgfSB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgIC5jcy1taW5pY2FydF9fY2Fyb3VzZWwgLmNzLXByb2R1Y3RzLWNhcm91c2VsIHtcbiAgICAgICAgLS1zaXplOiBjYWxjKFxuICAgICAgICAgICAgICAgICAgICB2YXIoLS1iYXNlLXNpemUpIC8gMyAtICgoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAyICogdmFyKC0tZ2FwKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApIC8gMylcbiAgICAgICAgICAgICAgICApOyB9IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogODBlbSkge1xuICAgICAgLmNzLW1pbmljYXJ0X19jYXJvdXNlbCAuY3MtcHJvZHVjdHMtY2Fyb3VzZWwge1xuICAgICAgICAtLXNpemU6IGNhbGMoXG4gICAgICAgICAgICAgICAgICAgIHZhcigtLWJhc2Utc2l6ZSkgLyAzIC0gKChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDIgKiB2YXIoLS1nYXApXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICkgLyAzKVxuICAgICAgICAgICAgICAgICk7IH0gfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA5MGVtKSB7XG4gICAgICAuY3MtbWluaWNhcnRfX2Nhcm91c2VsIC5jcy1wcm9kdWN0cy1jYXJvdXNlbCB7XG4gICAgICAgIC0tc2l6ZTogY2FsYyhcbiAgICAgICAgICAgICAgICAgICAgdmFyKC0tYmFzZS1zaXplKSAvIDQgLSAoKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMyAqIHZhcigtLWdhcClcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSAvIDQpXG4gICAgICAgICAgICAgICAgKTsgfSB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDEyMGVtKSB7XG4gICAgICAuY3MtbWluaWNhcnRfX2Nhcm91c2VsIC5jcy1wcm9kdWN0cy1jYXJvdXNlbCB7XG4gICAgICAgIC0tc2l6ZTogY2FsYyhcbiAgICAgICAgICAgICAgICAgICAgdmFyKC0tYmFzZS1zaXplKSAvIDQgLSAoKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMyAqIHZhcigtLWdhcClcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSAvIDQpXG4gICAgICAgICAgICAgICAgKTsgfSB9XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDgxLjgxMjVlbSkge1xuICAgICAgLmNzLW1pbmljYXJ0X19jYXJvdXNlbCAuY3MtcHJvZHVjdHMtY2Fyb3VzZWwuY3MtbWluaWNhcnRfX2Nhcm91c2VsIC5jcy1wcm9kdWN0cy1jYXJvdXNlbC0tY29udGFpbmVyLXdpZHRoIC5jcy1taW5pY2FydF9fY2Fyb3VzZWwgLmNzLXByb2R1Y3RzLWNhcm91c2VsX19zbGlkZXMge1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDEuNXJlbTtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMS41cmVtO1xuICAgICAgICBzY3JvbGwtcGFkZGluZy1sZWZ0OiAxLjVyZW07XG4gICAgICAgIHNjcm9sbC1wYWRkaW5nLXJpZ2h0OiAxLjVyZW07IH0gfVxuICAgIEBtZWRpYSAocHJlZmVycy1yZWR1Y2VkLW1vdGlvbjogbm8tcHJlZmVyZW5jZSkge1xuICAgICAgLmNzLW1pbmljYXJ0X19jYXJvdXNlbCAuY3MtcHJvZHVjdHMtY2Fyb3VzZWwgLmNzLW1pbmljYXJ0X19jYXJvdXNlbCAuY3MtcHJvZHVjdHMtY2Fyb3VzZWxfX3NsaWRlcyB7XG4gICAgICAgIHNjcm9sbC1iZWhhdmlvcjogc21vb3RoOyB9IH1cbiAgICAuY3MtbWluaWNhcnRfX2Nhcm91c2VsIC5jcy1wcm9kdWN0cy1jYXJvdXNlbCAuY3MtbWluaWNhcnRfX2Nhcm91c2VsIC5jcy1wcm9kdWN0cy1jYXJvdXNlbF9fc2xpZGVzLXdyYXBwZXIge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gICAgLmNzLW1pbmljYXJ0X19jYXJvdXNlbCAuY3MtcHJvZHVjdHMtY2Fyb3VzZWwgLmNzLW1pbmljYXJ0X19jYXJvdXNlbCAuY3MtcHJvZHVjdHMtY2Fyb3VzZWxfX3NsaWRlcyB7XG4gICAgICBtYXJnaW46IDA7XG4gICAgICBwYWRkaW5nOiAwO1xuICAgICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4OiAwIDAgMTAwJTtcbiAgICAgIGdhcDogMDtcbiAgICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICAgICAgcGFkZGluZzogdmFyKC0tZ2FwKSAwO1xuICAgICAgb3ZlcmZsb3cteDogYXV0bztcbiAgICAgIG92ZXJzY3JvbGwtYmVoYXZpb3ItaW5saW5lOiBjb250YWluO1xuICAgICAgc2Nyb2xsYmFyLXdpZHRoOiB0aGluOyB9XG4gICAgICBAc3VwcG9ydHMgKHNjcm9sbC1iZWhhdmlvcjogc21vb3RoKSB7XG4gICAgICAgIC5jcy1taW5pY2FydF9fY2Fyb3VzZWwgLmNzLXByb2R1Y3RzLWNhcm91c2VsIC5jcy1taW5pY2FydF9fY2Fyb3VzZWwgLmNzLXByb2R1Y3RzLWNhcm91c2VsX19zbGlkZXMge1xuICAgICAgICAgIHNjcm9sbC1zbmFwLXR5cGU6IHggbWFuZGF0b3J5OyB9IH1cbiAgICAgIEBtZWRpYSAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAgIC5jcy1taW5pY2FydF9fY2Fyb3VzZWwgLmNzLXByb2R1Y3RzLWNhcm91c2VsIC5jcy1taW5pY2FydF9fY2Fyb3VzZWwgLmNzLXByb2R1Y3RzLWNhcm91c2VsX19zbGlkZXMge1xuICAgICAgICAgIG92ZXJmbG93OiAtbW96LXNjcm9sbGJhcnMtbm9uZTtcbiAgICAgICAgICBzY3JvbGxiYXItd2lkdGg6IG5vbmU7IH1cbiAgICAgICAgICAuY3MtbWluaWNhcnRfX2Nhcm91c2VsIC5jcy1wcm9kdWN0cy1jYXJvdXNlbCAuY3MtbWluaWNhcnRfX2Nhcm91c2VsIC5jcy1wcm9kdWN0cy1jYXJvdXNlbF9fc2xpZGVzOjotd2Via2l0LXNjcm9sbGJhciB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgd2lkdGg6IDA7XG4gICAgICAgICAgICBoZWlnaHQ6IDA7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDsgfVxuICAgICAgICAgIC5jcy1taW5pY2FydF9fY2Fyb3VzZWwgLmNzLXByb2R1Y3RzLWNhcm91c2VsIC5jcy1taW5pY2FydF9fY2Fyb3VzZWwgLmNzLXByb2R1Y3RzLWNhcm91c2VsX19zbGlkZXM6Oi13ZWJraXQtc2Nyb2xsYmFyLXRodW1iIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgd2lkdGg6IDA7XG4gICAgICAgICAgICBoZWlnaHQ6IDA7IH0gfVxuICAgIC5jcy1taW5pY2FydF9fY2Fyb3VzZWwgLmNzLXByb2R1Y3RzLWNhcm91c2VsIC5jcy1taW5pY2FydF9fY2Fyb3VzZWwgLmNzLXByb2R1Y3RzLWNhcm91c2VsX19zbGlkZSB7XG4gICAgICBtYXJnaW46IDA7XG4gICAgICBwYWRkaW5nOiAwO1xuICAgICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIGZsZXg6IDAgMCB2YXIoLS1zaXplKTtcbiAgICAgIG1hcmdpbi1yaWdodDogdmFyKC0tZ2FwKTtcbiAgICAgIHNjcm9sbC1zbmFwLWFsaWduOiBzdGFydDtcbiAgICAgIG1pbi13aWR0aDogMDsgfVxuICAgICAgLmNzLW1pbmljYXJ0X19jYXJvdXNlbCAuY3MtcHJvZHVjdHMtY2Fyb3VzZWwgLmNzLW1pbmljYXJ0X19jYXJvdXNlbCAuY3MtcHJvZHVjdHMtY2Fyb3VzZWxfX3NsaWRlOmxhc3Qtb2YtdHlwZSB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMDsgfVxuICAgIC5jcy1taW5pY2FydF9fY2Fyb3VzZWwgLmNzLXByb2R1Y3RzLWNhcm91c2VsIC5jcy1taW5pY2FydF9fY2Fyb3VzZWwgLmNzLXByb2R1Y3RzLWNhcm91c2VsX19pbWFnZSB7XG4gICAgICBkaXNwbGF5OiBibG9jazsgfVxuXG4ubWluaWNhcnQtd3JhcHBlciAudWktZGlhbG9nIHtcbiAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDsgfVxuIiwiLyoqKlxuICogSGlkZSBuYXRpdmUgYnJvd3NlcidzIHNjcm9sbGJhclxuICovXG5cbkBtaXhpbiBoaWRlLXNjcm9sbGJhciB7XG4gICAgb3ZlcmZsb3c6IC1tb3otc2Nyb2xsYmFycy1ub25lO1xuICAgIHNjcm9sbGJhci13aWR0aDogbm9uZTtcblxuICAgICY6Oi13ZWJraXQtc2Nyb2xsYmFyIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgd2lkdGg6IDA7XG4gICAgICAgIGhlaWdodDogMDtcbiAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgfVxuXG4gICAgJjo6LXdlYmtpdC1zY3JvbGxiYXItdGh1bWIge1xuICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICAgICAgd2lkdGg6IDA7XG4gICAgICAgIGhlaWdodDogMDtcbiAgICB9XG59XG4iLCJAaW1wb3J0ICdjb25maWcvdmFyaWFibGVzJztcbkBpbXBvcnQgJ3ZlbmRvcnMvaW5jbHVkZS1tZWRpYSc7XG5AaW1wb3J0ICdjb21wb25lbnRzL2J1dHRvbi9taXhpbic7XG5AaW1wb3J0ICdldGMvdmlldy5zY3NzJztcbkBpbXBvcnQgJ3V0aWxzL2RlZXAtZ2V0L2RlZXAtZ2V0LnNjc3MnO1xuQGltcG9ydCAnY29tcG9uZW50cy9wc2V1ZG9pY29uL21peGluJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvX3NsaWRlci9taXhpbic7XG5AaW1wb3J0ICdjb21wb25lbnRzL3R5cG9ncmFwaHkvbWl4aW4nO1xuXG4kbWluaWNhcnQtb2ZmY2FudmFzOiBkZWVwLWdldChcbiAgICAkdmlldy14bWwsXG4gICAgdmFycyxcbiAgICBNYWdlbnRvX0NoZWNrb3V0LFxuICAgIG1pbmljYXJ0X29mZmNhbnZhcyxcbiAgICBlbmFibGVkXG4pICFkZWZhdWx0O1xuXG4kbWluaWNhcnRfb2ZmY2FudmFzLXdyYXBwZXI6IDAgIWRlZmF1bHQ7XG4kbWluaWNhcnRfb2ZmY2FudmFzLXBhZGRpbmc6IDEuNXJlbSAycmVtICFkZWZhdWx0O1xuJG1pbmljYXJ0X29mZmNhbnZhcy10aXRsZS1wYWRkaW5nOiAxcmVtIDJyZW0gIWRlZmF1bHQ7XG4kbWluaWNhcnRfb2ZmY2FudmFzLWl0ZW0tcGFkZGluZzogMS41cmVtIDJyZW0gIWRlZmF1bHQ7XG4kbWluaWNhcnRfb2ZmY2FudmFzLWZyZWUtc2hpcHBpbmctaW5kaWNhdG9yOiBmYWxzZSAhZGVmYXVsdDtcbiRtaW5pY2FydF9vZmZjYW52YXMtb2Zmc2V0LWlwaG9uZS1maXg6IDQwcmVtICFkZWZhdWx0O1xuXG4kbWluaWNhcnRfX2Nsb3NlLWluY2x1ZGUtcHNldWRvaWNvbjogdHJ1ZSAhZGVmYXVsdDtcbiRtaW5pY2FydF9fY2xvc2UtcHNldWRvaWNvbi10eXBlOiAncGx1cycgIWRlZmF1bHQ7XG4kbWluaWNhcnRfX2Nsb3NlLXdpZHRoOiAycmVtICFkZWZhdWx0O1xuJG1pbmljYXJ0X19jbG9zZS1saW5lLXdpZHRoOiAwLjJyZW0gIWRlZmF1bHQ7XG4kbWluaWNhcnRfX2Nsb3NlLWNvbG9yOiAkY29sb3JfdGV4dC02MDAgIWRlZmF1bHQ7XG4kbWluaWNhcnRfX2Nsb3NlLWNvbG9yLWhvdmVyOiAkY29sb3JfdGV4dC01MDAgIWRlZmF1bHQ7XG5cbiRtaW5pY2FydF9vZmZjYW52YXMtY2Fyb3VzZWwtYmFja2dyb3VuZDogJGNvbG9yX2JhY2tncm91bmQtMjAwICFkZWZhdWx0O1xuJG1pbmljYXJ0X29mZmNhbnZhcy1jYXJvdXNlbC1zcGFjaW5nOiAycmVtICFkZWZhdWx0O1xuJG1pbmljYXJ0X29mZmNhbnZhcy1jYXJvdXNlbC1wb3NpdGlvbjogJ2NlbnRlcicgIWRlZmF1bHQ7IC8vIERlZmF1bHQgdmFsdWU6IGNlbnRlci4gUG9zc2libGUgdmFsdWVzOiBjZW50ZXIgLyB0b3AgLyBib3R0b21cbiRtaW5pY2FydF9vZmZjYW52YXMtY2Fyb3VzZWwtcG9zaXRpb24tb2Zmc2V0OiAkbWluaWNhcnRfb2ZmY2FudmFzLWNhcm91c2VsLXNwYWNpbmcgIWRlZmF1bHQ7XG4kbWluaWNhcnRfb2ZmY2FudmFzLWNhcm91c2VsLWJ1dHRvbi1wb3NpdGlvbjogJ2NlbnRlcicgIWRlZmF1bHQ7IC8vIERlZmF1bHQgdmFsdWU6IGNlbnRlci4gUG9zc2libGUgdmFsdWVzOiBjZW50ZXIgLyBsZWZ0IC8gcmlnaHRcbiRtaW5pY2FydF9vZmZjYW52YXMtY2Fyb3VzZWwtYnV0dG9uLWJvcmRlcjogMXB4IHNvbGlkICRjb2xvcl9ib3JkZXItNTAwICFkZWZhdWx0O1xuJG1pbmljYXJ0X29mZmNhbnZhcy1jYXJvdXNlbC1idXR0b24tc3BhY2luZzogM3JlbSAhZGVmYXVsdDtcbi8qIHByZXR0aWVyLWlnbm9yZSAqL1xuJG1pbmljYXJ0X29mZmNhbnZhcy1jYXJvdXNlbC10cmFuc2l0aW9uOiBvcGFjaXR5ICR0cmFuc2l0aW9uLWRlZmF1bHQtdGltZSBlYXNlLWluICFkZWZhdWx0O1xuJG1pbmljYXJ0X29mZmNhbnZhcy1jYXJvdXNlbC1zcGlubmVyLXNpemU6IDExcmVtICFkZWZhdWx0O1xuJG1pbmljYXJ0X29mZmNhbnZhcy1jYXJvdXNlbC1zaG93LWJyZWFrcG9pbnQ6ICc+PWxhcHRvcCcgIWRlZmF1bHQ7XG5cbiRtaW5pY2FydF9wYWRkaW5nOiAycmVtIDAgIWRlZmF1bHQ7XG5cbiRtaW5pY2FydF9jbG9zZS1idXR0b24tY29sb3I6ICRjb2xvcl90ZXh0LTIwMCAhZGVmYXVsdDtcblxuJG1pbmljYXJ0X2l0ZW0tYm9yZGVyOiAxcHggc29saWQgJGNvbG9yX2JvcmRlci01MDAgIWRlZmF1bHQ7XG4kbWluaWNhcnRfaXRlbS1oZWFkbGluZS1jb2xvcjogJGNvbG9yX3RleHQtODAwICFkZWZhdWx0O1xuJG1pbmljYXJ0X2l0ZW0tcGFkZGluZzogMS41cmVtICFkZWZhdWx0O1xuXG4kbWluaWNhcnRfYmFja2dyb3VuZDogJGNvbG9yX2JhY2tncm91bmQtNTAwICFkZWZhdWx0O1xuJG1pbmljYXJ0X2JveC1zaGFkb3c6IDAgMCAyMXB4IDAgcmdiYSgkY29sb3JfYmFja2dyb3VuZC04MDAsIDAuMjcpICFkZWZhdWx0O1xuXG4kbWluaWNhcnRfd2lkdGg6IDQwcmVtICFkZWZhdWx0O1xuXG4kbWluaWNhcnRfY29udGVudC1iYWNrZ3JvdW5kOiAkY29sb3JfYmFja2dyb3VuZC0yMDAgIWRlZmF1bHQ7XG4kbWluaWNhcnRfYWN0aW9uLXdyYXBwZXJfYm94LXNoYWRvdzogMCAtNXB4IDVweCAtNXB4XG4gICAgcmdiYSgkY29sb3JfYmFja2dyb3VuZC04MDAsIDAuMjcpICFkZWZhdWx0O1xuXG4kbWluaWNhcnQtb2ZmY2FudmFzLWNhcm91c2VsOiBkZWVwLWdldChcbiAgICAkdmlldy14bWwsXG4gICAgdmFycyxcbiAgICBNYWdlbnRvX0NoZWNrb3V0LFxuICAgIG1pbmljYXJ0X29mZmNhbnZhcyxcbiAgICBwcm9kdWN0c19jYXJvdXNlbCxcbiAgICBlbmFibGVkXG4pICFkZWZhdWx0O1xuXG4kbWluaWNhcnQtb2ZmY2FudmFzLWNhcm91c2VsX2l0ZW0tcGVyLXJvdzogZGVlcC1nZXQoXG4gICAgJHZpZXcteG1sLFxuICAgIHZhcnMsXG4gICAgTWFnZW50b19DaGVja291dCxcbiAgICBtaW5pY2FydF9vZmZjYW52YXMsXG4gICAgcHJvZHVjdHNfY2Fyb3VzZWwsXG4gICAganMsXG4gICAgY29sdW1uc0NvbmZpZ1xuKSAhZGVmYXVsdDtcblxuJG1pbmljYXJ0X21lc3NhZ2UtdHlwZTogZGVlcC1nZXQoXG4gICAgJHZpZXcteG1sLFxuICAgIHZhcnMsXG4gICAgTWFnZW50b19DaGVja291dCxcbiAgICBtaW5pY2FydF9tZXNzYWdlc1xuKSAhZGVmYXVsdDtcblxuJG1pbmljYXJ0LW9mZmNhbnZhcy1jYXJvdXNlbF9tb2JpbGUtZ2FwOiAwLjhyZW0gIWRlZmF1bHQ7XG4kbWluaWNhcnQtb2ZmY2FudmFzLWNhcm91c2VsX2Rlc2t0b3AtZ2FwOiAwLjhyZW0gIWRlZmF1bHQ7XG4kbWluaWNhcnQtb2ZmY2FudmFzLWNhcm91c2VsX25leHQtc2xpZGUtdmlzaWJsZTogMC44cmVtICFkZWZhdWx0O1xuXG4kbWluaWNhcnRfYnV0dG9uLWNoZWNrb3V0LXR5cGU6ICRidXR0b25fZGVmYXVsdC10eXBlICFkZWZhdWx0O1xuJG1pbmljYXJ0X2J1dHRvbi1jaGVja291dC1pY29uLXBvczogJGJ1dHRvbl9kZWZhdWx0LWljb24tcG9zICFkZWZhdWx0O1xuXG4kbWluaWNhcnRfYnV0dG9uLXZpZXdjYXJ0LXR5cGU6ICdzZWNvbmRhcnknICFkZWZhdWx0O1xuJG1pbmljYXJ0X2J1dHRvbi12aWV3Y2FydC1pY29uLXBvczogJGJ1dHRvbl9kZWZhdWx0LWljb24tcG9zICFkZWZhdWx0O1xuXG4kbWluaWNhcnRfYnV0dG9uLWNhcm91c2VsLXR5cGU6ICdzZWNvbmRhcnknICFkZWZhdWx0O1xuJG1pbmljYXJ0X2J1dHRvbi1jYXJvdXNlbC1pY29uLXBvczogJGJ1dHRvbl9kZWZhdWx0LWljb24tcG9zICFkZWZhdWx0O1xuXG4uI3skbnN9bWluaWNhcnQge1xuICAgICRyb290OiAmO1xuXG4gICAgJl9fY2xvc2Uge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgICAgIGJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xuICAgICAgICBib3JkZXI6IDA7XG4gICAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgdGV4dC1zaGFkb3c6IG5vbmU7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgcmlnaHQ6IC0xLjVyZW07XG4gICAgICAgIHdpZHRoOiA1cmVtO1xuICAgICAgICBoZWlnaHQ6IDVyZW07XG4gICAgICAgIHRvcDogNTAlO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcblxuICAgICAgICAmOmZvY3VzLFxuICAgICAgICAmOmFjdGl2ZSxcbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgICAgIGNvbG9yOiBpbmhlcml0O1xuICAgICAgICB9XG5cbiAgICAgICAgQGlmICRtaW5pY2FydC1vZmZjYW52YXMge1xuICAgICAgICAgICAgcmlnaHQ6IDAuNXJlbTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2Nsb3NlLWljb24ge1xuICAgICAgICBAaWYgKCRtaW5pY2FydF9fY2xvc2UtaW5jbHVkZS1wc2V1ZG9pY29uKSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBwc2V1ZG9pY29uKFxuICAgICAgICAgICAgICAgICR0eXBlOiAkbWluaWNhcnRfX2Nsb3NlLXBzZXVkb2ljb24tdHlwZSxcbiAgICAgICAgICAgICAgICAkY29sb3I6ICRtaW5pY2FydF9fY2xvc2UtY29sb3IsXG4gICAgICAgICAgICAgICAgJGNvbG9yLWhvdmVyOiAkbWluaWNhcnRfX2Nsb3NlLWNvbG9yLWhvdmVyLFxuICAgICAgICAgICAgICAgICR3aWR0aDogJG1pbmljYXJ0X19jbG9zZS13aWR0aCxcbiAgICAgICAgICAgICAgICAkaGVpZ2h0OiAkbWluaWNhcnRfX2Nsb3NlLWxpbmUtd2lkdGhcbiAgICAgICAgICAgICk7XG4gICAgICAgIH1cblxuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB9XG5cbiAgICAmX19jbG9zZS10ZXh0IHtcbiAgICAgICAgYm9yZGVyOiAwO1xuICAgICAgICBjbGlwOiByZWN0KDAsIDAsIDAsIDApO1xuICAgICAgICBoZWlnaHQ6IDFweDtcbiAgICAgICAgbWFyZ2luOiAtMXB4O1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHdpZHRoOiAxcHg7XG4gICAgfVxuXG4gICAgJl9fdGl0bGUtd3JhcHBlciB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgcGFkZGluZzogJG1pbmljYXJ0X3BhZGRpbmc7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGNvbG9yOiAkbWluaWNhcnRfaXRlbS1oZWFkbGluZS1jb2xvcjtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgICAgZm9udC1zaXplOiAxLjhyZW07XG4gICAgICAgIG1hcmdpbjogMDtcblxuICAgICAgICBAaWYgJG1pbmljYXJ0LW9mZmNhbnZhcyB7XG4gICAgICAgICAgICBwYWRkaW5nOiAkbWluaWNhcnRfb2ZmY2FudmFzLXRpdGxlLXBhZGRpbmc7XG4gICAgICAgICAgICBmb250LXNpemU6IDIuMXJlbTtcbiAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgICAgICBib3JkZXItYm90dG9tOiAkbWluaWNhcnRfaXRlbS1ib3JkZXI7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19pdGVtcy10b3RhbCB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAwLjVyZW07XG5cbiAgICAgICAgJjpub3QoI3skcm9vdH1fX2l0ZW1zLXRvdGFsLS1lbXB0eSkge1xuICAgICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgICAgIGNvbnRlbnQ6ICcoJztcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICAgICAgY29udGVudDogJyknO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJi0tZW1wdHkge1xuICAgICAgICAgICAgLmNvdW50IHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgQGlmICRtaW5pY2FydC1vZmZjYW52YXMge1xuICAgICAgICAgICAgY29sb3I6ICRjb2xvcl90ZXh0LTUwMDtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19lZGl0LWxpbmsge1xuICAgICAgICBmb250LXdlaWdodDogNzAwO1xuXG4gICAgICAgIC4jeyRuc31saW5rX19pY29uIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDAgMCAwIDFyZW07XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19jb250ZW50IHtcbiAgICAgICAgaGVpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRtaW5pY2FydF9jb250ZW50LWJhY2tncm91bmQ7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgICAubG9hZC5pbmRpY2F0b3I6YmVmb3JlIHtcbiAgICAgICAgICAgIGhlaWdodDogdW5zZXQ7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19saXN0IHtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcblxuICAgICAgICAmLS1zY3JvbGwge1xuICAgICAgICAgICAgaGVpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICBtYXgtaGVpZ2h0OiBjYWxjKDEwMHZoIC0gMzZyZW0pO1xuICAgICAgICAgICAgb3ZlcmZsb3cteTogYXV0bztcblxuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz49dGFibGV0Jykge1xuICAgICAgICAgICAgICAgIG1heC1oZWlnaHQ6IGNhbGMoMTAwdmggLSA0M3JlbSk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PWxhcHRvcCcpIHtcbiAgICAgICAgICAgICAgICBtYXgtaGVpZ2h0OiBjYWxjKDEwMHZoIC0gMzhyZW0pO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBAaWYgJG1pbmljYXJ0X29mZmNhbnZhcy1mcmVlLXNoaXBwaW5nLWluZGljYXRvciB7XG4gICAgICAgICAgICAgICAgLyogaVBob25lIFggYW5kIFhzIE1heCAqL1xuICAgICAgICAgICAgICAgIC8qIHByZXR0aWVyLWlnbm9yZSAqL1xuICAgICAgICAgICAgICAgIEBtZWRpYSBvbmx5IHNjcmVlblxuICAgICAgICAgICAgICAgIGFuZCAobWluLWRldmljZS13aWR0aDogMzc1cHgpXG4gICAgICAgICAgICAgICAgYW5kIChtaW4tZGV2aWNlLWhlaWdodDogODEycHgpXG4gICAgICAgICAgICAgICAgYW5kICgtd2Via2l0LWRldmljZS1waXhlbC1yYXRpbzogMylcbiAgICAgICAgICAgICAgICBhbmQgKG9yaWVudGF0aW9uOiBwb3J0cmFpdCkge1xuICAgICAgICAgICAgICAgICAgICBtYXgtaGVpZ2h0OiBjYWxjKDEwMHZoIC0gI3skbWluaWNhcnRfb2ZmY2FudmFzLW9mZnNldC1pcGhvbmUtZml4fSkgIWltcG9ydGFudDtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAvKiBpUGhvbmUgWFIgKi9cbiAgICAgICAgICAgICAgICAvKiBwcmV0dGllci1pZ25vcmUgKi9cbiAgICAgICAgICAgICAgICBAbWVkaWEgb25seSBzY3JlZW5cbiAgICAgICAgICAgICAgICBhbmQgKG1pbi1kZXZpY2Utd2lkdGg6IDQxNHB4KVxuICAgICAgICAgICAgICAgIGFuZCAobWluLWRldmljZS1oZWlnaHQ6IDg5NnB4KVxuICAgICAgICAgICAgICAgIGFuZCAoLXdlYmtpdC1kZXZpY2UtcGl4ZWwtcmF0aW86IDIpXG4gICAgICAgICAgICAgICAgYW5kIChvcmllbnRhdGlvbjogcG9ydHJhaXQpIHtcbiAgICAgICAgICAgICAgICAgICAgbWF4LWhlaWdodDogY2FsYygxMDB2aCAtICN7JG1pbmljYXJ0X29mZmNhbnZhcy1vZmZzZXQtaXBob25lLWZpeH0pICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fbGlzdC1pdGVtIHtcbiAgICAgICAgcGFkZGluZzogJG1pbmljYXJ0X2l0ZW0tcGFkZGluZztcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogJG1pbmljYXJ0X2l0ZW0tYm9yZGVyO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuXG4gICAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgICBib3JkZXItYm90dG9tOiBub25lO1xuICAgICAgICB9XG5cbiAgICAgICAgQGlmICRtaW5pY2FydC1vZmZjYW52YXMge1xuICAgICAgICAgICAgcGFkZGluZzogJG1pbmljYXJ0X29mZmNhbnZhcy1pdGVtLXBhZGRpbmc7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19hY3Rpb25zLXdyYXBwZXIge1xuICAgICAgICBwYWRkaW5nOiAkbWluaWNhcnRfcGFkZGluZztcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICAgIEBpZiAkbWluaWNhcnQtb2ZmY2FudmFzIHtcbiAgICAgICAgICAgIHBhZGRpbmc6ICRtaW5pY2FydF9vZmZjYW52YXMtcGFkZGluZztcbiAgICAgICAgICAgIGJveC1zaGFkb3c6ICRtaW5pY2FydF9hY3Rpb24td3JhcHBlcl9ib3gtc2hhZG93O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fYWN0aW9ucyB7XG4gICAgICAgIG1hcmdpbi10b3A6IDFyZW07XG5cbiAgICAgICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fZW1wdHkge1xuICAgICAgICBwYWRkaW5nOiAkbWluaWNhcnRfcGFkZGluZztcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBmb250LXNpemU6IDEuNHJlbTtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIH1cblxuICAgICZfX3N1YnRvdGFsIHtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgICAgZm9udC1zaXplOiAxLjVyZW07XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMS4ycmVtO1xuICAgIH1cblxuICAgICZfX3N1YnRvdGFsLXByaWNlIHtcbiAgICAgICAgLnByaWNlIHtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICAgICAgICBmb250LXNpemU6IDEuNXJlbSAhaW1wb3J0YW50O1xuXG4gICAgICAgICAgICBAaWYgJG1pbmljYXJ0LW9mZmNhbnZhcyB7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAyLjFyZW0gIWltcG9ydGFudDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2J1dHRvbi1jaGVja291dCB7XG4gICAgICAgIEBpbmNsdWRlIGJ1dHRvbihcbiAgICAgICAgICAgICR0eXBlOiAkbWluaWNhcnRfYnV0dG9uLWNoZWNrb3V0LXR5cGUsXG4gICAgICAgICAgICAkaWNvbl9wb3M6ICRtaW5pY2FydF9idXR0b24tY2hlY2tvdXQtaWNvbi1wb3NcbiAgICAgICAgKTtcblxuICAgICAgICB3aWR0aDogMTAwJTtcblxuICAgICAgICAmLXNwYW4ge1xuICAgICAgICAgICAgQGluY2x1ZGUgYnV0dG9uX3NwYW4oXG4gICAgICAgICAgICAgICAgJHR5cGU6ICRtaW5pY2FydF9idXR0b24tY2hlY2tvdXQtdHlwZSxcbiAgICAgICAgICAgICAgICAkaWNvbl9wb3M6ICRtaW5pY2FydF9idXR0b24tY2hlY2tvdXQtaWNvbi1wb3NcbiAgICAgICAgICAgICk7XG4gICAgICAgICAgICAvKiBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgKi9cbiAgICAgICAgfVxuXG4gICAgICAgICYtaWNvbiB7XG4gICAgICAgICAgICBAaW5jbHVkZSBidXR0b25faWNvbihcbiAgICAgICAgICAgICAgICAkdHlwZTogJG1pbmljYXJ0X2J1dHRvbi1jaGVja291dC10eXBlLFxuICAgICAgICAgICAgICAgICRpY29uX3BvczogJG1pbmljYXJ0X2J1dHRvbi1jaGVja291dC1pY29uLXBvc1xuICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIC8qIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSAqL1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fYnV0dG9uLXZpZXdjYXJ0IHtcbiAgICAgICAgQGluY2x1ZGUgYnV0dG9uKFxuICAgICAgICAgICAgJHR5cGU6ICRtaW5pY2FydF9idXR0b24tdmlld2NhcnQtdHlwZSxcbiAgICAgICAgICAgICRpY29uX3BvczogJG1pbmljYXJ0X2J1dHRvbi12aWV3Y2FydC1pY29uLXBvc1xuICAgICAgICApO1xuXG4gICAgICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgICAgICYtc3BhbiB7XG4gICAgICAgICAgICBAaW5jbHVkZSBidXR0b25fc3BhbihcbiAgICAgICAgICAgICAgICAkdHlwZTogJG1pbmljYXJ0X2J1dHRvbi12aWV3Y2FydC10eXBlLFxuICAgICAgICAgICAgICAgICRpY29uX3BvczogJG1pbmljYXJ0X2J1dHRvbi12aWV3Y2FydC1pY29uLXBvc1xuICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIC8qIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSAqL1xuICAgICAgICB9XG5cbiAgICAgICAgJi1pY29uIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJ1dHRvbl9pY29uKFxuICAgICAgICAgICAgICAgICR0eXBlOiAkbWluaWNhcnRfYnV0dG9uLXZpZXdjYXJ0LXR5cGUsXG4gICAgICAgICAgICAgICAgJGljb25fcG9zOiAkbWluaWNhcnRfYnV0dG9uLXZpZXdjYXJ0LWljb24tcG9zXG4gICAgICAgICAgICApO1xuICAgICAgICAgICAgLyogc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lICovXG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19idXR0b24tY2Fyb3VzZWwge1xuICAgICAgICAmLXdyYXBwZXIge1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICAgICAgcGFkZGluZy10b3A6ICRtaW5pY2FydF9vZmZjYW52YXMtY2Fyb3VzZWwtYnV0dG9uLXNwYWNpbmc7XG4gICAgICAgICAgICBtYXJnaW46ICRtaW5pY2FydF9vZmZjYW52YXMtY2Fyb3VzZWwtYnV0dG9uLXNwYWNpbmcgMDtcbiAgICAgICAgICAgIGJvcmRlci10b3A6ICRtaW5pY2FydF9vZmZjYW52YXMtY2Fyb3VzZWwtYnV0dG9uLWJvcmRlcjtcblxuICAgICAgICAgICAgQGlmICRtaW5pY2FydF9vZmZjYW52YXMtY2Fyb3VzZWwtYnV0dG9uLXBvc2l0aW9uID09ICdsZWZ0JyB7XG4gICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICAgICAgICAgICAgfSBAZWxzZSBpZiAkbWluaWNhcnRfb2ZmY2FudmFzLWNhcm91c2VsLWJ1dHRvbi1wb3NpdGlvbiA9PSAncmlnaHQnIHtcbiAgICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgYnV0dG9uKFxuICAgICAgICAgICAgJHR5cGU6ICRtaW5pY2FydF9idXR0b24tY2Fyb3VzZWwtdHlwZSxcbiAgICAgICAgICAgICRpY29uX3BvczogJG1pbmljYXJ0X2J1dHRvbi1jYXJvdXNlbC1pY29uLXBvc1xuICAgICAgICApO1xuXG4gICAgICAgICYtc3BhbiB7XG4gICAgICAgICAgICBAaW5jbHVkZSBidXR0b25fc3BhbihcbiAgICAgICAgICAgICAgICAkdHlwZTogJG1pbmljYXJ0X2J1dHRvbi1jYXJvdXNlbC10eXBlLFxuICAgICAgICAgICAgICAgICRpY29uX3BvczogJG1pbmljYXJ0X2J1dHRvbi1jYXJvdXNlbC1pY29uLXBvc1xuICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIC8qIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSAqL1xuICAgICAgICB9XG5cbiAgICAgICAgJi1pY29uIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJ1dHRvbl9pY29uKFxuICAgICAgICAgICAgICAgICR0eXBlOiAkbWluaWNhcnRfYnV0dG9uLWNhcm91c2VsLXR5cGUsXG4gICAgICAgICAgICAgICAgJGljb25fcG9zOiAkbWluaWNhcnRfYnV0dG9uLWNhcm91c2VsLWljb24tcG9zXG4gICAgICAgICAgICApO1xuICAgICAgICAgICAgLyogc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lICovXG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19tZXNzYWdlcyB7XG4gICAgICAgIHBhZGRpbmc6IDAgMnJlbTtcblxuICAgICAgICBAaWYgKCRtaW5pY2FydF9tZXNzYWdlLXR5cGUgPT0gJ2hpZGRlbicpIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgICAgICAgfVxuXG4gICAgICAgIEBpZiAoJG1pbmljYXJ0X21lc3NhZ2UtdHlwZSA9PSAnZml4ZWQnKSB7XG4gICAgICAgICAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgICAgICAgICB0b3A6IDRyZW07XG4gICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgei1pbmRleDogOTk5OTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICYtb2ZmY2FudmFzX193cmFwcGVyIHtcbiAgICAgICAgcGFkZGluZzogJG1pbmljYXJ0X29mZmNhbnZhcy13cmFwcGVyO1xuICAgIH1cbn1cblxuQGlmICRtaW5pY2FydC1vZmZjYW52YXMgYW5kICRtaW5pY2FydC1vZmZjYW52YXMtY2Fyb3VzZWwge1xuICAgIC8qIHByZXR0aWVyLWlnbm9yZSAqL1xuICAgIC4jeyRuc31taW5pY2FydF9fY2Fyb3VzZWwge1xuICAgICAgICAkcm9vdDogJjtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICB6LWluZGV4OiAxMDtcblxuICAgICAgICAmLWNvbnRhaW5lciB7XG4gICAgICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICAgICAgdHJhbnNpdGlvbjogJG1pbmljYXJ0X29mZmNhbnZhcy1jYXJvdXNlbC10cmFuc2l0aW9uO1xuICAgICAgICAgICAgYmFja2dyb3VuZDogJG1pbmljYXJ0X29mZmNhbnZhcy1jYXJvdXNlbC1iYWNrZ3JvdW5kO1xuXG4gICAgICAgICAgICAjeyRyb290fS13cmFwcGVyLS1yZWFkeSAmIHtcbiAgICAgICAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJi13cmFwcGVyIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICAgICAgICAgIHRvcDogNTAlO1xuICAgICAgICAgICAgcmlnaHQ6IGNhbGMoI3skbWluaWNhcnRfd2lkdGh9ICsgI3skbWluaWNhcnRfb2ZmY2FudmFzLWNhcm91c2VsLXNwYWNpbmd9KTtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgICAgICAgICAgIHdpZHRoOiBjYWxjKDEwMHZ3IC0gKCN7JG1pbmljYXJ0X3dpZHRofSArICgyICogI3skbWluaWNhcnRfb2ZmY2FudmFzLWNhcm91c2VsLXNwYWNpbmd9KSkpO1xuICAgICAgICAgICAgbWF4LXdpZHRoOiAxMjByZW07XG4gICAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG5cbiAgICAgICAgICAgICYtLWxvYWRpbmcsXG4gICAgICAgICAgICAmLS1yZWFkeSB7XG4gICAgICAgICAgICAgICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgICAgICAgICAgICAgICBwb2ludGVyLWV2ZW50czogYXV0bztcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgQGF0LXJvb3QgLmRyYXdlci0tdmlzaWJsZSAmIHtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5taW5pY2FydC1vZmZjYW52YXMtb3BlbiAmIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBtZWRpYShcbiAgICAgICAgICAgICAgICAgICAgJyN7JG1pbmljYXJ0X29mZmNhbnZhcy1jYXJvdXNlbC1zaG93LWJyZWFrcG9pbnR9J1xuICAgICAgICAgICAgICAgICkge1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PWxhcHRvcExnJykge1xuICAgICAgICAgICAgICAgIHJpZ2h0OiBjYWxjKCN7JG1pbmljYXJ0X3dpZHRofSArICgyICogI3skbWluaWNhcnRfb2ZmY2FudmFzLWNhcm91c2VsLXNwYWNpbmd9KSk7XG4gICAgICAgICAgICAgICAgd2lkdGg6IGNhbGMoMTAwdncgLSAoI3skbWluaWNhcnRfd2lkdGh9ICsgKDQgKiAjeyRtaW5pY2FydF9vZmZjYW52YXMtY2Fyb3VzZWwtc3BhY2luZ30pKSk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIEBpZiAkbWluaWNhcnRfb2ZmY2FudmFzLWNhcm91c2VsLXBvc2l0aW9uID09ICd0b3AnIHtcbiAgICAgICAgICAgICAgICB0b3A6ICRtaW5pY2FydF9vZmZjYW52YXMtY2Fyb3VzZWwtcG9zaXRpb24tb2Zmc2V0O1xuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwJSk7XG4gICAgICAgICAgICB9IEBlbHNlIGlmICRtaW5pY2FydF9vZmZjYW52YXMtY2Fyb3VzZWwtcG9zaXRpb24gPT0gJ2JvdHRvbScge1xuICAgICAgICAgICAgICAgIHRvcDogYXV0bztcbiAgICAgICAgICAgICAgICBib3R0b206ICRtaW5pY2FydF9vZmZjYW52YXMtY2Fyb3VzZWwtcG9zaXRpb24tb2Zmc2V0O1xuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwJSk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC4jeyRuc31oZWFkbGluZSB7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwIDAgJG1pbmljYXJ0X29mZmNhbnZhcy1jYXJvdXNlbC1zcGFjaW5nO1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6ICRtaW5pY2FydF9vZmZjYW52YXMtY2Fyb3VzZWwtc3BhY2luZyAwIDA7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC4jeyRuc31oZWFkbGluZV9fdGl0bGUge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGhlYWRsaW5lKCRsZXZlbDogJGZvbnQtc2l6ZV9oZWFkbGluZS0zKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICYtc3Bpbm5lciB7XG4gICAgICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgICAgICB3aWR0aDogJG1pbmljYXJ0X29mZmNhbnZhcy1jYXJvdXNlbC1zcGlubmVyLXNpemU7XG4gICAgICAgICAgICBoZWlnaHQ6ICRtaW5pY2FydF9vZmZjYW52YXMtY2Fyb3VzZWwtc3Bpbm5lci1zaXplO1xuICAgICAgICAgICAgcGFkZGluZzogJG1pbmljYXJ0X29mZmNhbnZhcy1jYXJvdXNlbC1zcGFjaW5nIDA7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC01MCUsIC01MCUsIDApO1xuICAgICAgICAgICAgdHJhbnNpdGlvbjogJG1pbmljYXJ0X29mZmNhbnZhcy1jYXJvdXNlbC10cmFuc2l0aW9uO1xuXG4gICAgICAgICAgICAjeyRyb290fS13cmFwcGVyLS1sb2FkaW5nICYge1xuICAgICAgICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgICAgICAgICAgei1pbmRleDogMTA7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuI3skbnN9cHJvZHVjdHMtY2Fyb3VzZWwge1xuICAgICAgICAgICAgJHJvb3Q6ICY7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIHNsaWRlcihcbiAgICAgICAgICAgICAgICAkY29sdW1ucy1jb25maWc6ICRtaW5pY2FydC1vZmZjYW52YXMtY2Fyb3VzZWxfaXRlbS1wZXItcm93LFxuICAgICAgICAgICAgICAgICRtLWdhcDogJG1pbmljYXJ0LW9mZmNhbnZhcy1jYXJvdXNlbF9tb2JpbGUtZ2FwLFxuICAgICAgICAgICAgICAgICRkLWdhcDogJG1pbmljYXJ0LW9mZmNhbnZhcy1jYXJvdXNlbF9kZXNrdG9wLWdhcCxcbiAgICAgICAgICAgICAgICAkbmV4dC12aXNpYmxlOiAkbWluaWNhcnQtb2ZmY2FudmFzLWNhcm91c2VsX25leHQtc2xpZGUtdmlzaWJsZSxcbiAgICAgICAgICAgICAgICAkcm9vdDogJHJvb3RcbiAgICAgICAgICAgICk7XG5cbiAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICRtaW5pY2FydF9vZmZjYW52YXMtY2Fyb3VzZWwtYmFja2dyb3VuZDtcbiAgICAgICAgfVxuICAgIH1cbn0gQGVsc2Uge1xuICAgIC4jeyRuc31taW5pY2FydF9fY2Fyb3VzZWwge1xuICAgICAgICAmLXNwaW5uZXIge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuQGlmICRtaW5pY2FydC1vZmZjYW52YXMgIT0gdHJ1ZSB7XG4gICAgLm1pbmljYXJ0LXdyYXBwZXIge1xuICAgICAgICAudWktZGlhbG9nIHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHRvcDogMTAwJTtcbiAgICAgICAgICAgIHJpZ2h0OiAwLjVyZW07XG4gICAgICAgICAgICB6LWluZGV4OiA5OTk5OTtcblxuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz49bGFwdG9wJykge1xuICAgICAgICAgICAgICAgIHJpZ2h0OiAtMXJlbTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgQGlmICgkZ2xvYmFsX2hlYWRlci1oZWlnaHQtZGVza3RvcCA+ICRnbG9iYWxfaGVhZGVyLWhlaWdodC10YWJsZXQpIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPj1sYXB0b3BMZycpIHtcbiAgICAgICAgICAgICAgICAgICAgdG9wOiBjYWxjKFxuICAgICAgICAgICAgICAgICAgICAgICAgMTAwJSAtXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgI3skZ2xvYmFsX2hlYWRlci1oZWlnaHQtZGVza3RvcH0gLSAjeyRnbG9iYWxfaGVhZGVyLWhlaWdodC10YWJsZXR9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApIC8gMlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuYmxvY2stbWluaWNhcnQge1xuICAgICAgICAgICAgYmFja2dyb3VuZDogJG1pbmljYXJ0X2JhY2tncm91bmQ7XG4gICAgICAgICAgICBib3gtc2hhZG93OiAkbWluaWNhcnRfYm94LXNoYWRvdztcbiAgICAgICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgICAgIHdpZHRoOiAzMXJlbTtcbiAgICAgICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgcGFkZGluZzogMCAycmVtO1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPj1waG9uZUxnJykge1xuICAgICAgICAgICAgICAgIHdpZHRoOiAkbWluaWNhcnRfd2lkdGg7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDEuNXJlbTtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDEuNXJlbTtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAkbWluaWNhcnRfYmFja2dyb3VuZDtcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7XG4gICAgICAgICAgICAgICAgdG9wOiAtMC44cmVtO1xuICAgICAgICAgICAgICAgIHJpZ2h0OiAxLjVyZW07XG4gICAgICAgICAgICAgICAgbGVmdDogYXV0bztcblxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PWxhcHRvcCcpIHtcbiAgICAgICAgICAgICAgICAgICAgcmlnaHQ6IDQuNXJlbTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59IEBlbHNlIHtcbiAgICAubWluaWNhcnQtd3JhcHBlciB7XG4gICAgICAgIC51aS1kaWFsb2cge1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIkBpbXBvcnQgJ2NvbmZpZy92YXJpYWJsZXMnO1xuQGltcG9ydCAndXRpbHMvcmVzZXQtbGlzdC1zdHlsZSc7XG5AaW1wb3J0ICd1dGlscy9zdHJpcC11bml0JztcbkBpbXBvcnQgJ3V0aWxzL2hpZGUtc2Nyb2xsYmFyJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvX3NsaWRlci9ob29rcyc7XG5cbi8vIENhbGN1bGF0ZSBjb250YWluZXIgYnJlYWtwb2ludCArIDIgKiBlZGdlIGd1dHRlciBhbmQgdHJhbnNmb3JtIHRvICdlbScgdW5pdCBmb3IgbWVkaWEgcXVlcnlcbiRjb250YWluZXJCcmVha3BvaW50UHg6IChcbiAgICAgICAgc3RyaXAtdW5pdCgkcGFnZV9tYXgtd2lkdGgpICsgMiAqIHN0cmlwLXVuaXQoJHBhZ2VfZWRnZS1ndXR0ZXIpXG4gICAgKSAqIDEwO1xuJGNvbnRhaW5lckJyZWFrcG9pbnRFbTogJGNvbnRhaW5lckJyZWFrcG9pbnRQeCAvIDE2ICogMWVtO1xuJHRvQ29udGFpbmVyQnJlYWtwb2ludEVtOiAoJGNvbnRhaW5lckJyZWFrcG9pbnRQeCAtIDEpIC8gMTYgKiAxZW07XG5cbkBtaXhpbiBpdC1ncmlkKCRtLWdhcDogMC44cmVtLCAkZC1nYXA6IDAuOHJlbSkge1xuICAgICRyb290OiAmO1xuICAgIC0tZ2FwOiAjeyRtLWdhcH07XG5cbiAgICAmOm5vdCguI3skbnN9Y29udGFpbmVyLS11c2Utd2hvbGUtd2lkdGgpICYge1xuICAgICAgICAmI3skcm9vdH0tLWNvbnRhaW5lci13aWR0aCB7XG4gICAgICAgICAgICAjeyRyb290fV9fc2xpZGVzLXdyYXBwZXIge1xuICAgICAgICAgICAgICAgIG1heC13aWR0aDogJHBhZ2VfbWF4LXdpZHRoO1xuICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX3NsaWRlcyB7XG4gICAgICAgIC0tY29sdW1uczogMTtcblxuICAgICAgICBkaXNwbGF5OiBncmlkO1xuICAgICAgICBnYXA6IHZhcigtLWdhcCk7XG4gICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KHZhcigtLWNvbHVtbnMpLCBtaW5tYXgoMCwgMWZyKSk7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgcGFkZGluZzogMDtcblxuICAgICAgICAjeyRyb290fS0taXRlbXMtaW4tcm93LW1vYmlsZS0yICYge1xuICAgICAgICAgICAgLS1jb2x1bW5zOiAyO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fc2xpZGUge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICB9XG5cbiAgICAmX19saW5rIHtcbiAgICAgICAgb3V0bGluZS1vZmZzZXQ6IGNhbGModmFyKC0tZ2FwKSAvIDIgKyAyKTtcblxuICAgICAgICAmOmZvY3VzIHtcbiAgICAgICAgICAgIG91dGxpbmUtb2Zmc2V0OiAwLjRyZW07XG4gICAgICAgIH1cblxuICAgICAgICBAbWVkaWEgKHByZWZlcnMtcmVkdWNlZC1tb3Rpb246IG5vLXByZWZlcmVuY2UpIHtcbiAgICAgICAgICAgIHRyYW5zaXRpb246IG91dGxpbmUtb2Zmc2V0IDAuMjVzIGVhc2U7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19waWN0dXJlIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHVzZXItc2VsZWN0OiBub25lO1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgaGVpZ2h0OiBhdXRvO1xuXG4gICAgICAgIC8qIHN0eWxlbGludC1kaXNhYmxlIC0tIHN0eWxlbGludCBkb2Vzbid0IGtub3cgdGhpcyBtZWRpYSBxdWVyeSB5ZXQuICovXG4gICAgICAgIEBtZWRpYSAocHJlZmVycy1yZWR1Y2VkLWRhdGE6IHJlZHVjZSkge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuICAgICAgICAvKiBzdHlsZWxpbnQtZW5hYmxlICovXG4gICAgfVxuXG4gICAgJl9faW1hZ2Uge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgb2JqZWN0LWZpdDogY292ZXI7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvcl9iYWNrZ3JvdW5kLTUwMDtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgnPj10YWJsZXQnKSB7XG4gICAgICAgIC0tZ2FwOiAjeyRkLWdhcH07XG5cbiAgICAgICAgQGZvciAkaSBmcm9tIDIgdGhyb3VnaCA4IHtcbiAgICAgICAgICAgICYtLWl0ZW1zLWluLXJvdy0jeyRpfSAjeyRyb290fV9fc2xpZGVzIHtcbiAgICAgICAgICAgICAgICAtLWNvbHVtbnM6ICN7JGl9O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbWVkaWEoJz49dGFibGV0JywgJzxsYXB0b3AnKSB7XG4gICAgICAgICYtLWl0ZW1zLWluLXJvdy00Om5vdCgjeyRyb290fS0taWNvbikgI3skcm9vdH1fX3NsaWRlcyB7XG4gICAgICAgICAgICAtLWNvbHVtbnM6IDI7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBAaW5jbHVkZSBpdC1ncmlkLWhvb2soJG0tZ2FwLCAkZC1nYXApO1xufVxuXG5AbWl4aW4gc2xpZGVyLWVzc2VudGlhbHMoJHJvb3Q6ICRyb290KSB7XG4gICAgI3skcm9vdH1fX3NsaWRlcy13cmFwcGVyIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIH1cblxuICAgICN7JHJvb3R9X19zbGlkZXMge1xuICAgICAgICBAaW5jbHVkZSByZXNldC1saXN0LXN0eWxlKCk7XG5cbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleDogMCAwIDEwMCU7XG4gICAgICAgIGdhcDogMDtcbiAgICAgICAgZmxleC13cmFwOiBub3dyYXA7XG4gICAgICAgIHBhZGRpbmc6IHZhcigtLWdhcCkgMDtcbiAgICAgICAgb3ZlcmZsb3cteDogYXV0bztcbiAgICAgICAgb3ZlcnNjcm9sbC1iZWhhdmlvci1pbmxpbmU6IGNvbnRhaW47XG4gICAgICAgIHNjcm9sbGJhci13aWR0aDogdGhpbjtcblxuICAgICAgICBAc3VwcG9ydHMgKHNjcm9sbC1iZWhhdmlvcjogc21vb3RoKSB7XG4gICAgICAgICAgICBzY3JvbGwtc25hcC10eXBlOiB4IG1hbmRhdG9yeTtcbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PXRhYmxldCcpIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGhpZGUtc2Nyb2xsYmFyKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAjeyRyb290fV9fc2xpZGUge1xuICAgICAgICBAaW5jbHVkZSByZXNldC1saXN0LXN0eWxlKCk7XG5cbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBmbGV4OiAwIDAgdmFyKC0tc2l6ZSk7XG4gICAgICAgIG1hcmdpbi1yaWdodDogdmFyKC0tZ2FwKTtcbiAgICAgICAgc2Nyb2xsLXNuYXAtYWxpZ246IHN0YXJ0O1xuICAgICAgICBtaW4td2lkdGg6IDA7XG5cbiAgICAgICAgJjpsYXN0LW9mLXR5cGUge1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgI3skcm9vdH1fX2ltYWdlIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgc2xpZGVyLWVzc2VudGlhbHMtaG9vaygkcm9vdCk7XG59XG5cbkBtaXhpbiBzbGlkZXIoXG4gICAgJGNvbHVtbnMtY29uZmlnOiAnY2xhc3MtYmFzZWQnLFxuICAgICRtLWdhcDogMC44cmVtLFxuICAgICRkLWdhcDogMC44cmVtLFxuICAgICRuZXh0LXZpc2libGU6IDMuMnJlbSxcbiAgICAkcm9vdDogJyYnXG4pIHtcbiAgICAtLWdhcDogI3skbS1nYXB9O1xuICAgIC0tYmFzZS1zaXplOiBjYWxjKDEwMCUgLSAjeyRuZXh0LXZpc2libGV9KTtcblxuICAgIEBtZWRpYSAobWluLXdpZHRoOiAjeyRjb250YWluZXJCcmVha3BvaW50RW19KSB7XG4gICAgICAgICYjeyRyb290fS0tY29udGFpbmVyLXdpZHRoIHtcbiAgICAgICAgICAgIC0tYmFzZS1zaXplOiBjYWxjKCN7JHBhZ2VfbWF4LXdpZHRofSAtICN7JG5leHQtdmlzaWJsZX0pO1xuICAgICAgICB9XG5cbiAgICAgICAgJiN7JHJvb3R9LS11c2Utd2hvbGUtc2NyZWVuOm5vdCgjeyRyb290fS0tZnVsbC13aWR0aC1zbGlkZXIpIHtcbiAgICAgICAgICAgIC0tYmFzZS1zaXplOiAxMDAlO1xuXG4gICAgICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XG5cbiAgICAgICAgICAgICN7JHJvb3R9X19zbGlkZXMge1xuICAgICAgICAgICAgICAgIHNjcm9sbC1zbmFwLXR5cGU6IHggcHJveGltaXR5O1xuICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogY2FsYygoMTAwJSAtICN7JHBhZ2VfbWF4LXdpZHRofSkgLyAyKTtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiBjYWxjKCgxMDAlIC0gI3skcGFnZV9tYXgtd2lkdGh9KSAvIDIpO1xuICAgICAgICAgICAgICAgIHNjcm9sbC1wYWRkaW5nLWxlZnQ6IGNhbGMoKDEwMCUgLSAjeyRwYWdlX21heC13aWR0aH0pIC8gMik7XG4gICAgICAgICAgICAgICAgc2Nyb2xsLXBhZGRpbmctcmlnaHQ6IGNhbGMoKDEwMCUgLSAjeyRwYWdlX21heC13aWR0aH0pIC8gMik7XG4gICAgICAgICAgICAgICAgc2Nyb2xsLW1hcmdpbi1sZWZ0OiBjYWxjKCgxMDB2dyAtICN7JHBhZ2VfbWF4LXdpZHRofSkgLyAyKTtcbiAgICAgICAgICAgICAgICBzY3JvbGwtbWFyZ2luLXJpZ2h0OiBjYWxjKCgxMDB2dyAtICN7JHBhZ2VfbWF4LXdpZHRofSkgLyAyKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIEBtZWRpYSAoaG92ZXI6IGhvdmVyKSBhbmQgKHBvaW50ZXI6IGZpbmUpIGFuZCAobWluLXdpZHRoOiAjeyRjb250YWluZXJCcmVha3BvaW50RW19KSB7XG4gICAgICAgICYjeyRyb290fS0tY29udGFpbmVyLXdpZHRoIHtcbiAgICAgICAgICAgIC0tYmFzZS1zaXplOiAjeyRwYWdlX21heC13aWR0aH07XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAtLXNpemU6IHZhcigtLWJhc2Utc2l6ZSk7XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgnPj10YWJsZXQnKSB7XG4gICAgICAgIC0tZ2FwOiAjeyRkLWdhcH07XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogY2xhc3MtYmFzZWQgY29sdW1ucyBjb25maWcgcmVsYXRlcyB0byBjbGFzc25hbWVzLCBsaWtlICctLWl0ZW1zLWluLXJvdy00J1xuICAgICAqIHdoaWNoIGFyZSBhZGRlZCB0byBlbGVtZW50cywgZGVwZW5kaW5nIG9uIHRoZSBDQyBDb21wb25lbnRzIGNvbmZpZ3VyYXRpb24uXG4gICAgICovXG4gICAgQGlmICRjb2x1bW5zLWNvbmZpZyA9PSAnY2xhc3MtYmFzZWQnIHtcbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz49dGFibGV0Jykge1xuICAgICAgICAgICAgQGZvciAkaSBmcm9tIDIgdGhyb3VnaCA4IHtcbiAgICAgICAgICAgICAgICAmI3skcm9vdH0tLWl0ZW1zLWluLXJvdy0jeyRpfSB7XG4gICAgICAgICAgICAgICAgICAgIC0tc2l6ZTogY2FsYyhcbiAgICAgICAgICAgICAgICAgICAgICAgIHZhcigtLWJhc2Utc2l6ZSkgL1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICN7JGl9IC1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKCN7JGkgLSAxfSAqIHZhcigtLWdhcCkpIC8gI3skaX0pXG4gICAgICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz49dGFibGV0JywgJzxsYXB0b3AnKSB7XG4gICAgICAgICAgICAmI3skcm9vdH0tLWl0ZW1zLWluLXJvdy00Om5vdCgjeyRyb290fS0taWNvbikge1xuICAgICAgICAgICAgICAgIC0tc2l6ZTogY2FsYyh2YXIoLS1iYXNlLXNpemUpIC8gMiAtICgxICogdmFyKC0tZ2FwKSAvIDIpKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH0gQGVsc2Uge1xuICAgICAgICAkYmFzZUl0ZW1zUGVyUm93OiBtYXAtZ2V0KCRjb2x1bW5zLWNvbmZpZywgJ3Bob25lJyk7XG4gICAgICAgIC0tc2l6ZTogY2FsYyhcbiAgICAgICAgICAgIHZhcigtLWJhc2Utc2l6ZSkgL1xuICAgICAgICAgICAgICAgICN7JGJhc2VJdGVtc1BlclJvd30gLVxuICAgICAgICAgICAgICAgICN7JGJhc2VJdGVtc1BlclJvdyAtXG4gICAgICAgICAgICAgICAgMX0gKlxuICAgICAgICAgICAgICAgIHZhcigtLWdhcCkgL1xuICAgICAgICAgICAgICAgICN7JGJhc2VJdGVtc1BlclJvd31cbiAgICAgICAgKTtcblxuICAgICAgICBAZWFjaCAkYnJlYWtwb2ludCwgJGl0ZW1zUGVyUm93IGluICRjb2x1bW5zLWNvbmZpZyB7XG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPj0jeyRicmVha3BvaW50fScpIHtcbiAgICAgICAgICAgICAgICAtLXNpemU6IGNhbGMoXG4gICAgICAgICAgICAgICAgICAgIHZhcigtLWJhc2Utc2l6ZSkgLyAjeyRpdGVtc1BlclJvd30gLSAoKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgI3skaXRlbXNQZXJSb3cgLSAxfSAqIHZhcigtLWdhcClcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSAvICN7JGl0ZW1zUGVyUm93fSlcbiAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyogIGNvbnRhaW5lciBwYWRkaW5nIGZpeCAgKi9cbiAgICBAbWVkaWEgKG1heC13aWR0aDogI3skdG9Db250YWluZXJCcmVha3BvaW50RW19KSB7XG4gICAgICAgICYjeyRyb290fS0tY29udGFpbmVyLXdpZHRoIHtcbiAgICAgICAgICAgICN7JHJvb3R9X19zbGlkZXMge1xuICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogJHBhZ2VfZWRnZS1ndXR0ZXI7XG4gICAgICAgICAgICAgICAgcGFkZGluZy1yaWdodDogJHBhZ2VfZWRnZS1ndXR0ZXI7XG4gICAgICAgICAgICAgICAgc2Nyb2xsLXBhZGRpbmctbGVmdDogJHBhZ2VfZWRnZS1ndXR0ZXI7XG4gICAgICAgICAgICAgICAgc2Nyb2xsLXBhZGRpbmctcmlnaHQ6ICRwYWdlX2VkZ2UtZ3V0dGVyO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgQG1lZGlhIChwcmVmZXJzLXJlZHVjZWQtbW90aW9uOiBuby1wcmVmZXJlbmNlKSB7XG4gICAgICAgICN7JHJvb3R9X19zbGlkZXMge1xuICAgICAgICAgICAgc2Nyb2xsLWJlaGF2aW9yOiBzbW9vdGg7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBAaW5jbHVkZSBzbGlkZXItZXNzZW50aWFscygkcm9vdCk7XG5cbiAgICBAaW5jbHVkZSBzbGlkZXItaG9vaygkY29sdW1ucy1jb25maWcsICRtLWdhcCwgJGQtZ2FwLCAkbmV4dC12aXNpYmxlLCAkcm9vdCk7XG59XG5cbkBtaXhpbiBzbGlkZXItbW9iaWxlKCRtLWdhcDogMC44cmVtLCAkbmV4dC12aXNpYmxlOiAzLjJyZW0sICRyb290OiAnJicpIHtcbiAgICAtLWdhcDogI3skbS1nYXB9O1xuICAgIC0tYmFzZS1zaXplOiBjYWxjKDEwMCUgLSAjeyRuZXh0LXZpc2libGV9KTtcbiAgICAtLXNpemU6IHZhcigtLWJhc2Utc2l6ZSk7XG5cbiAgICAmI3skcm9vdH0tLWNvbnRhaW5lci13aWR0aCB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAtI3skcGFnZV9lZGdlLWd1dHRlcn07XG4gICAgICAgIG1hcmdpbi1yaWdodDogLSN7JHBhZ2VfZWRnZS1ndXR0ZXJ9O1xuXG4gICAgICAgICN7JHJvb3R9X19zbGlkZXMge1xuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAkcGFnZV9lZGdlLWd1dHRlcjtcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6ICRwYWdlX2VkZ2UtZ3V0dGVyO1xuICAgICAgICAgICAgc2Nyb2xsLXBhZGRpbmctbGVmdDogJHBhZ2VfZWRnZS1ndXR0ZXI7XG4gICAgICAgICAgICBzY3JvbGwtcGFkZGluZy1yaWdodDogJHBhZ2VfZWRnZS1ndXR0ZXI7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBAbWVkaWEgKHByZWZlcnMtcmVkdWNlZC1tb3Rpb246IG5vLXByZWZlcmVuY2UpIHtcbiAgICAgICAgI3skcm9vdH1fX3NsaWRlcyB7XG4gICAgICAgICAgICBzY3JvbGwtYmVoYXZpb3I6IHNtb290aDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIEBpbmNsdWRlIHNsaWRlci1lc3NlbnRpYWxzKCRyb290KTtcblxuICAgIEBpbmNsdWRlIHNsaWRlci1tb2JpbGUtaG9vaygkbS1nYXAsICRuZXh0LXZpc2libGUsICRyb290KTtcbn1cbiIsIi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG5AdXNlICdzYXNzOm1hcCc7XG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG4vKipcbiogRGVmYXVsdCBwcm9qZWN0IGJyZWFrcG9pbnRzIC0gW2VtXVxuKi9cbi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG5AdXNlICdzYXNzOm1hcCc7XG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG4vKipcbiogRGVmYXVsdCBwcm9qZWN0IGJyZWFrcG9pbnRzIC0gW2VtXVxuKi9cbi8qIHN0eWxlbGludC1kaXNhYmxlIGJsb2NrLW5vLWVtcHR5ICovXG4vKiBzdHlsZWxpbnQtZW5hYmxlICovXG4vKipcbiAqIEJyZWFrcG9pbnQgY29tcG9uZW50IHVzZWQgYnkgaW5jbHVkZS1tZWRpYSB2ZW5kb3IgbGlicmFyeS5cbiAqL1xuQHVzZSAnc2FzczptYXAnO1xuLyoqXG4gKiBFeHRyYWN0cyBuZXN0ZWQga2V5cyBmcm9tIGdpdmVuIG1hcC5cbiAqIEV4YW1wbGU6IGRlZXAtZ2V0KCRzb21lLW1hcCwgc29tZSwgbmVzdGVkLCBrZXlzKTtcbiAqL1xuLyoqXG4qIERlZmF1bHQgcHJvamVjdCBicmVha3BvaW50cyAtIFtlbV1cbiovXG4vKlxuICogRnVuY3Rpb24gdG8gZ2V0IHZhbHVlIGZyb20gYSBsaXN0IG9mIHZhbHVlcywgYmFzZWQgb24gc2lkZVxuICogQHBhcmFtIHtzdHJpbmd9ICR2YXJpYWJsZTogdmFyaWFibGUgd2l0aCBhIGxpc3Qgb2YgdmFsdWVzIChsaWtlIHBhZGRpbmdzLCBtYXJnaW5zIGV0Yy4pO1xuICogQHBhcmFtIHtzdHJpbmd9ICRzaWRlOiBzaWRlICh1cCAvIHJpZ2h0IC8gZG93biAvIGxlZnQpIGZvciB3aGljaCB3ZSB3YW50IHRvIGdldCB2YWx1ZVxuICogRXhhbXBsZTpcbiAqICRjb21wb25lbnRfcGFkZGluZzogMXJlbSAycmVtIDNyZW07XG4gKiBnZXQtdmFsdWUtZnJvbS1saXN0KCRjb21wb25lbnRfcGFkZGluZywgJ3JpZ2h0JykgLy8gMnJlbVxuICogZ2V0LXZhbHVlLWZyb20tbGlzdCgkY29tcG9uZW50X3BhZGRpbmcsICdib3R0b20nKSAvLyAzcmVtXG4gKi9cbi8qIHN0eWxlbGludC1kaXNhYmxlIGJsb2NrLW5vLWVtcHR5ICovXG4vKiBzdHlsZWxpbnQtZW5hYmxlICovXG4vKioqXG4gKiBIaWRlIG9ubHkgdmlzdWFsbHksIGJ1dCBoYXZlIGl0IGF2YWlsYWJsZSBmb3Igc2NyZWVuIHJlYWRlcnM6XG4gKiBodHRwczovL3Nub29rLmNhL2FyY2hpdmVzL2h0bWxfYW5kX2Nzcy9oaWRpbmctY29udGVudC1mb3ItYWNjZXNzaWJpbGl0eVxuICpcbiAqIDEuIEZvciBsb25nIGNvbnRlbnQsIGxpbmUgZmVlZHMgYXJlIG5vdCBpbnRlcnByZXRlZCBhcyBzcGFjZXMgYW5kIHNtYWxsIHdpZHRoXG4gKiAgICBjYXVzZXMgY29udGVudCB0byB3cmFwIDEgd29yZCBwZXIgbGluZTpcbiAqICAgIGh0dHBzOi8vbWVkaXVtLmNvbS9AamVzc2ViZWFjaC9iZXdhcmUtc211c2hlZC1vZmYtc2NyZWVuLWFjY2Vzc2libGUtdGV4dC01OTUyYTRjMmNiZmVcbiAqXG4gKiBAc2VlIGh0dHBzOi8vZ2l0aHViLmNvbS9oNWJwL2h0bWw1LWJvaWxlcnBsYXRlL2Jsb2IvbWFzdGVyL3NyYy9jc3MvbWFpbi5jc3MjTDEzMFxuICovXG4vKipcbiAqIEJyZWFrcG9pbnQgY29tcG9uZW50IHVzZWQgYnkgaW5jbHVkZS1tZWRpYSB2ZW5kb3IgbGlicmFyeS5cbiAqL1xuQHVzZSAnc2FzczptYXAnO1xuLyoqXG4gKiBFeHRyYWN0cyBuZXN0ZWQga2V5cyBmcm9tIGdpdmVuIG1hcC5cbiAqIEV4YW1wbGU6IGRlZXAtZ2V0KCRzb21lLW1hcCwgc29tZSwgbmVzdGVkLCBrZXlzKTtcbiAqL1xuLyoqXG4qIERlZmF1bHQgcHJvamVjdCBicmVha3BvaW50cyAtIFtlbV1cbiovXG4vKiBzdHlsZWxpbnQtZGlzYWJsZSBuby1kZXNjZW5kaW5nLXNwZWNpZmljaXR5ICovXG4ubW9kYWwtc2xpZGUuY29uZmlybSAubW9kYWwtaW5uZXItd3JhcCxcbi5tb2RhbC1wb3B1cC5jb25maXJtIC5tb2RhbC1pbm5lci13cmFwLFxuLm1vZGFsLWN1c3RvbS5jb25maXJtIC5tb2RhbC1pbm5lci13cmFwIHtcbiAgbWF4LXdpZHRoOiA1MHJlbTsgfVxuXG4ubW9kYWwtc2xpZGUgLm1vZGFsLWlubmVyLXdyYXAsXG4ubW9kYWwtcG9wdXAgLm1vZGFsLWlubmVyLXdyYXAsXG4ubW9kYWwtY3VzdG9tIC5tb2RhbC1pbm5lci13cmFwIHtcbiAgYmFja2dyb3VuZDogI2ZmZjtcbiAgYm94LXNoYWRvdzogbm9uZTtcbiAgYm9yZGVyLXJhZGl1czogMDtcbiAgYm9yZGVyOiBub25lOyB9XG5cbi5tb2RhbC1zbGlkZSAubW9kYWwtY29udGVudCxcbi5tb2RhbC1wb3B1cCAubW9kYWwtY29udGVudCxcbi5tb2RhbC1jdXN0b20gLm1vZGFsLWNvbnRlbnQge1xuICBwYWRkaW5nLXRvcDogMnJlbTtcbiAgcGFkZGluZy1ib3R0b206IDJyZW07XG4gIGZvbnQtc2l6ZTogMS40cmVtOyB9XG5cbi5tb2RhbC1zbGlkZSAubW9kYWwtaGVhZGVyLFxuLm1vZGFsLXBvcHVwIC5tb2RhbC1oZWFkZXIsXG4ubW9kYWwtY3VzdG9tIC5tb2RhbC1oZWFkZXIge1xuICBwYWRkaW5nOiAwO1xuICBtYXJnaW46IDA7IH1cblxuLm1vZGFsLXNsaWRlIC5hY3Rpb24tY2xvc2UsXG4ubW9kYWwtcG9wdXAgLmFjdGlvbi1jbG9zZSxcbi5tb2RhbC1jdXN0b20gLmFjdGlvbi1jbG9zZSB7XG4gIGJhY2tncm91bmQ6IG5vbmU7XG4gIGJvcmRlcjogbm9uZTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICByaWdodDogMDtcbiAgdG9wOiAwO1xuICBtYXJnaW46IDEuNXJlbTtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1hZ2VzL2ljb25zL2Nsb3NlLnN2Z1wiKTtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICBiYWNrZ3JvdW5kLXNpemU6IDFyZW0gMXJlbTtcbiAgd2lkdGg6IDNyZW07XG4gIGhlaWdodDogM3JlbTtcbiAgei1pbmRleDogMTsgfVxuICAubW9kYWwtc2xpZGUgLmFjdGlvbi1jbG9zZSBzcGFuLFxuICAubW9kYWwtcG9wdXAgLmFjdGlvbi1jbG9zZSBzcGFuLFxuICAubW9kYWwtY3VzdG9tIC5hY3Rpb24tY2xvc2Ugc3BhbiB7XG4gICAgYm9yZGVyOiAwO1xuICAgIGNsaXA6IHJlY3QoMCAwIDAgMCk7XG4gICAgaGVpZ2h0OiAxcHg7XG4gICAgbWFyZ2luOiAtMXB4O1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgcGFkZGluZzogMDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgd2lkdGg6IDFweDtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIC8qIDEgKi8gfVxuICAubW9kYWwtc2xpZGUgLmFjdGlvbi1jbG9zZTpiZWZvcmUsXG4gIC5tb2RhbC1wb3B1cCAuYWN0aW9uLWNsb3NlOmJlZm9yZSxcbiAgLm1vZGFsLWN1c3RvbSAuYWN0aW9uLWNsb3NlOmJlZm9yZSB7XG4gICAgY29udGVudDogbm9uZTsgfVxuXG4ubW9kYWwtc2xpZGUgLm1vZGFsLWZvb3Rlcixcbi5tb2RhbC1wb3B1cCAubW9kYWwtZm9vdGVyLFxuLm1vZGFsLWN1c3RvbSAubW9kYWwtZm9vdGVyIHtcbiAgcGFkZGluZzogMnJlbTtcbiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNkY2RjZGM7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsgfVxuICBAbWVkaWEgKG1heC13aWR0aDogMjkuOTllbSkge1xuICAgIC5tb2RhbC1zbGlkZSAubW9kYWwtZm9vdGVyLFxuICAgIC5tb2RhbC1wb3B1cCAubW9kYWwtZm9vdGVyLFxuICAgIC5tb2RhbC1jdXN0b20gLm1vZGFsLWZvb3RlciB7XG4gICAgICBmbGV4LXdyYXA6IHdyYXA7IH0gfVxuICAubW9kYWwtc2xpZGUgLm1vZGFsLWZvb3RlciAuYWN0aW9uLXByaW1hcnksXG4gIC5tb2RhbC1zbGlkZSAubW9kYWwtZm9vdGVyIC5wcmltYXJ5LFxuICAubW9kYWwtcG9wdXAgLm1vZGFsLWZvb3RlciAuYWN0aW9uLXByaW1hcnksXG4gIC5tb2RhbC1wb3B1cCAubW9kYWwtZm9vdGVyIC5wcmltYXJ5LFxuICAubW9kYWwtY3VzdG9tIC5tb2RhbC1mb290ZXIgLmFjdGlvbi1wcmltYXJ5LFxuICAubW9kYWwtY3VzdG9tIC5tb2RhbC1mb290ZXIgLnByaW1hcnkge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBmb250LXNpemU6IDEuOHJlbTtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGluZS1oZWlnaHQ6IDEuMjc1ZW07XG4gICAgbWFyZ2luOiAwO1xuICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICAgIHBhZGRpbmc6IDAuNzVlbSAxZW07XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuNXMsIGJvcmRlci1jb2xvciAwLjVzLCBmaWxsIDAuNXMsIGNvbG9yIDAuNXM7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICB6LWluZGV4OiA1O1xuICAgIG1pbi13aWR0aDogMTJyZW07IH1cbiAgICAubW9kYWwtc2xpZGUgLm1vZGFsLWZvb3RlciAuYWN0aW9uLXByaW1hcnk6Oi1tb3otZm9jdXMtaW5uZXIsXG4gICAgLm1vZGFsLXNsaWRlIC5tb2RhbC1mb290ZXIgLnByaW1hcnk6Oi1tb3otZm9jdXMtaW5uZXIsXG4gICAgLm1vZGFsLXBvcHVwIC5tb2RhbC1mb290ZXIgLmFjdGlvbi1wcmltYXJ5OjotbW96LWZvY3VzLWlubmVyLFxuICAgIC5tb2RhbC1wb3B1cCAubW9kYWwtZm9vdGVyIC5wcmltYXJ5OjotbW96LWZvY3VzLWlubmVyLFxuICAgIC5tb2RhbC1jdXN0b20gLm1vZGFsLWZvb3RlciAuYWN0aW9uLXByaW1hcnk6Oi1tb3otZm9jdXMtaW5uZXIsXG4gICAgLm1vZGFsLWN1c3RvbSAubW9kYWwtZm9vdGVyIC5wcmltYXJ5OjotbW96LWZvY3VzLWlubmVyIHtcbiAgICAgIGJvcmRlcjogMDtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgICBtYXJnaW46IDA7IH1cbiAgICAubW9kYWwtc2xpZGUgLm1vZGFsLWZvb3RlciAuYWN0aW9uLXByaW1hcnksIC5tb2RhbC1zbGlkZSAubW9kYWwtZm9vdGVyIC5hY3Rpb24tcHJpbWFyeTp2aXNpdGVkLFxuICAgIC5tb2RhbC1zbGlkZSAubW9kYWwtZm9vdGVyIC5wcmltYXJ5LFxuICAgIC5tb2RhbC1zbGlkZSAubW9kYWwtZm9vdGVyIC5wcmltYXJ5OnZpc2l0ZWQsXG4gICAgLm1vZGFsLXBvcHVwIC5tb2RhbC1mb290ZXIgLmFjdGlvbi1wcmltYXJ5LFxuICAgIC5tb2RhbC1wb3B1cCAubW9kYWwtZm9vdGVyIC5hY3Rpb24tcHJpbWFyeTp2aXNpdGVkLFxuICAgIC5tb2RhbC1wb3B1cCAubW9kYWwtZm9vdGVyIC5wcmltYXJ5LFxuICAgIC5tb2RhbC1wb3B1cCAubW9kYWwtZm9vdGVyIC5wcmltYXJ5OnZpc2l0ZWQsXG4gICAgLm1vZGFsLWN1c3RvbSAubW9kYWwtZm9vdGVyIC5hY3Rpb24tcHJpbWFyeSxcbiAgICAubW9kYWwtY3VzdG9tIC5tb2RhbC1mb290ZXIgLmFjdGlvbi1wcmltYXJ5OnZpc2l0ZWQsXG4gICAgLm1vZGFsLWN1c3RvbSAubW9kYWwtZm9vdGVyIC5wcmltYXJ5LFxuICAgIC5tb2RhbC1jdXN0b20gLm1vZGFsLWZvb3RlciAucHJpbWFyeTp2aXNpdGVkIHtcbiAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDIwMHB4O1xuICAgICAgb3V0bGluZS1vZmZzZXQ6IDFweDtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzdlNTdjMjsgfVxuICAgICAgLm1vZGFsLXNsaWRlIC5tb2RhbC1mb290ZXIgLmFjdGlvbi1wcmltYXJ5ICosIC5tb2RhbC1zbGlkZSAubW9kYWwtZm9vdGVyIC5hY3Rpb24tcHJpbWFyeTp2aXNpdGVkICosXG4gICAgICAubW9kYWwtc2xpZGUgLm1vZGFsLWZvb3RlciAucHJpbWFyeSAqLFxuICAgICAgLm1vZGFsLXNsaWRlIC5tb2RhbC1mb290ZXIgLnByaW1hcnk6dmlzaXRlZCAqLFxuICAgICAgLm1vZGFsLXBvcHVwIC5tb2RhbC1mb290ZXIgLmFjdGlvbi1wcmltYXJ5ICosXG4gICAgICAubW9kYWwtcG9wdXAgLm1vZGFsLWZvb3RlciAuYWN0aW9uLXByaW1hcnk6dmlzaXRlZCAqLFxuICAgICAgLm1vZGFsLXBvcHVwIC5tb2RhbC1mb290ZXIgLnByaW1hcnkgKixcbiAgICAgIC5tb2RhbC1wb3B1cCAubW9kYWwtZm9vdGVyIC5wcmltYXJ5OnZpc2l0ZWQgKixcbiAgICAgIC5tb2RhbC1jdXN0b20gLm1vZGFsLWZvb3RlciAuYWN0aW9uLXByaW1hcnkgKixcbiAgICAgIC5tb2RhbC1jdXN0b20gLm1vZGFsLWZvb3RlciAuYWN0aW9uLXByaW1hcnk6dmlzaXRlZCAqLFxuICAgICAgLm1vZGFsLWN1c3RvbSAubW9kYWwtZm9vdGVyIC5wcmltYXJ5ICosXG4gICAgICAubW9kYWwtY3VzdG9tIC5tb2RhbC1mb290ZXIgLnByaW1hcnk6dmlzaXRlZCAqIHtcbiAgICAgICAgY29sb3I6ICNmZmY7XG4gICAgICAgIGZpbGw6ICNmZmY7IH1cbiAgICAubW9kYWwtc2xpZGUgLm1vZGFsLWZvb3RlciAuYWN0aW9uLXByaW1hcnk6aG92ZXI6bm90KFtkaXNhYmxlZF0pLCAubW9kYWwtc2xpZGUgLm1vZGFsLWZvb3RlciAuYWN0aW9uLXByaW1hcnk6Zm9jdXM6bm90KFtkaXNhYmxlZF0pLCAubW9kYWwtc2xpZGUgLm1vZGFsLWZvb3RlciAuYWN0aW9uLXByaW1hcnk6YWN0aXZlOm5vdChbZGlzYWJsZWRdKSxcbiAgICAubW9kYWwtc2xpZGUgLm1vZGFsLWZvb3RlciAucHJpbWFyeTpob3Zlcjpub3QoW2Rpc2FibGVkXSksXG4gICAgLm1vZGFsLXNsaWRlIC5tb2RhbC1mb290ZXIgLnByaW1hcnk6Zm9jdXM6bm90KFtkaXNhYmxlZF0pLFxuICAgIC5tb2RhbC1zbGlkZSAubW9kYWwtZm9vdGVyIC5wcmltYXJ5OmFjdGl2ZTpub3QoW2Rpc2FibGVkXSksXG4gICAgLm1vZGFsLXBvcHVwIC5tb2RhbC1mb290ZXIgLmFjdGlvbi1wcmltYXJ5OmhvdmVyOm5vdChbZGlzYWJsZWRdKSxcbiAgICAubW9kYWwtcG9wdXAgLm1vZGFsLWZvb3RlciAuYWN0aW9uLXByaW1hcnk6Zm9jdXM6bm90KFtkaXNhYmxlZF0pLFxuICAgIC5tb2RhbC1wb3B1cCAubW9kYWwtZm9vdGVyIC5hY3Rpb24tcHJpbWFyeTphY3RpdmU6bm90KFtkaXNhYmxlZF0pLFxuICAgIC5tb2RhbC1wb3B1cCAubW9kYWwtZm9vdGVyIC5wcmltYXJ5OmhvdmVyOm5vdChbZGlzYWJsZWRdKSxcbiAgICAubW9kYWwtcG9wdXAgLm1vZGFsLWZvb3RlciAucHJpbWFyeTpmb2N1czpub3QoW2Rpc2FibGVkXSksXG4gICAgLm1vZGFsLXBvcHVwIC5tb2RhbC1mb290ZXIgLnByaW1hcnk6YWN0aXZlOm5vdChbZGlzYWJsZWRdKSxcbiAgICAubW9kYWwtY3VzdG9tIC5tb2RhbC1mb290ZXIgLmFjdGlvbi1wcmltYXJ5OmhvdmVyOm5vdChbZGlzYWJsZWRdKSxcbiAgICAubW9kYWwtY3VzdG9tIC5tb2RhbC1mb290ZXIgLmFjdGlvbi1wcmltYXJ5OmZvY3VzOm5vdChbZGlzYWJsZWRdKSxcbiAgICAubW9kYWwtY3VzdG9tIC5tb2RhbC1mb290ZXIgLmFjdGlvbi1wcmltYXJ5OmFjdGl2ZTpub3QoW2Rpc2FibGVkXSksXG4gICAgLm1vZGFsLWN1c3RvbSAubW9kYWwtZm9vdGVyIC5wcmltYXJ5OmhvdmVyOm5vdChbZGlzYWJsZWRdKSxcbiAgICAubW9kYWwtY3VzdG9tIC5tb2RhbC1mb290ZXIgLnByaW1hcnk6Zm9jdXM6bm90KFtkaXNhYmxlZF0pLFxuICAgIC5tb2RhbC1jdXN0b20gLm1vZGFsLWZvb3RlciAucHJpbWFyeTphY3RpdmU6bm90KFtkaXNhYmxlZF0pIHtcbiAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgICBvdXRsaW5lOiBub25lO1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgICBjb2xvcjogI2ZmZjtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICM0ZDJjOTE7IH1cbiAgICAgIC5tb2RhbC1zbGlkZSAubW9kYWwtZm9vdGVyIC5hY3Rpb24tcHJpbWFyeTpob3Zlcjpub3QoW2Rpc2FibGVkXSkgKiwgLm1vZGFsLXNsaWRlIC5tb2RhbC1mb290ZXIgLmFjdGlvbi1wcmltYXJ5OmZvY3VzOm5vdChbZGlzYWJsZWRdKSAqLCAubW9kYWwtc2xpZGUgLm1vZGFsLWZvb3RlciAuYWN0aW9uLXByaW1hcnk6YWN0aXZlOm5vdChbZGlzYWJsZWRdKSAqLFxuICAgICAgLm1vZGFsLXNsaWRlIC5tb2RhbC1mb290ZXIgLnByaW1hcnk6aG92ZXI6bm90KFtkaXNhYmxlZF0pICosXG4gICAgICAubW9kYWwtc2xpZGUgLm1vZGFsLWZvb3RlciAucHJpbWFyeTpmb2N1czpub3QoW2Rpc2FibGVkXSkgKixcbiAgICAgIC5tb2RhbC1zbGlkZSAubW9kYWwtZm9vdGVyIC5wcmltYXJ5OmFjdGl2ZTpub3QoW2Rpc2FibGVkXSkgKixcbiAgICAgIC5tb2RhbC1wb3B1cCAubW9kYWwtZm9vdGVyIC5hY3Rpb24tcHJpbWFyeTpob3Zlcjpub3QoW2Rpc2FibGVkXSkgKixcbiAgICAgIC5tb2RhbC1wb3B1cCAubW9kYWwtZm9vdGVyIC5hY3Rpb24tcHJpbWFyeTpmb2N1czpub3QoW2Rpc2FibGVkXSkgKixcbiAgICAgIC5tb2RhbC1wb3B1cCAubW9kYWwtZm9vdGVyIC5hY3Rpb24tcHJpbWFyeTphY3RpdmU6bm90KFtkaXNhYmxlZF0pICosXG4gICAgICAubW9kYWwtcG9wdXAgLm1vZGFsLWZvb3RlciAucHJpbWFyeTpob3Zlcjpub3QoW2Rpc2FibGVkXSkgKixcbiAgICAgIC5tb2RhbC1wb3B1cCAubW9kYWwtZm9vdGVyIC5wcmltYXJ5OmZvY3VzOm5vdChbZGlzYWJsZWRdKSAqLFxuICAgICAgLm1vZGFsLXBvcHVwIC5tb2RhbC1mb290ZXIgLnByaW1hcnk6YWN0aXZlOm5vdChbZGlzYWJsZWRdKSAqLFxuICAgICAgLm1vZGFsLWN1c3RvbSAubW9kYWwtZm9vdGVyIC5hY3Rpb24tcHJpbWFyeTpob3Zlcjpub3QoW2Rpc2FibGVkXSkgKixcbiAgICAgIC5tb2RhbC1jdXN0b20gLm1vZGFsLWZvb3RlciAuYWN0aW9uLXByaW1hcnk6Zm9jdXM6bm90KFtkaXNhYmxlZF0pICosXG4gICAgICAubW9kYWwtY3VzdG9tIC5tb2RhbC1mb290ZXIgLmFjdGlvbi1wcmltYXJ5OmFjdGl2ZTpub3QoW2Rpc2FibGVkXSkgKixcbiAgICAgIC5tb2RhbC1jdXN0b20gLm1vZGFsLWZvb3RlciAucHJpbWFyeTpob3Zlcjpub3QoW2Rpc2FibGVkXSkgKixcbiAgICAgIC5tb2RhbC1jdXN0b20gLm1vZGFsLWZvb3RlciAucHJpbWFyeTpmb2N1czpub3QoW2Rpc2FibGVkXSkgKixcbiAgICAgIC5tb2RhbC1jdXN0b20gLm1vZGFsLWZvb3RlciAucHJpbWFyeTphY3RpdmU6bm90KFtkaXNhYmxlZF0pICoge1xuICAgICAgICBjb2xvcjogI2ZmZjtcbiAgICAgICAgZmlsbDogI2ZmZjsgfVxuICAgIC5tb2RhbC1zbGlkZSAubW9kYWwtZm9vdGVyIC5hY3Rpb24tcHJpbWFyeVtkaXNhYmxlZF0sXG4gICAgLm1vZGFsLXNsaWRlIC5tb2RhbC1mb290ZXIgLnByaW1hcnlbZGlzYWJsZWRdLFxuICAgIC5tb2RhbC1wb3B1cCAubW9kYWwtZm9vdGVyIC5hY3Rpb24tcHJpbWFyeVtkaXNhYmxlZF0sXG4gICAgLm1vZGFsLXBvcHVwIC5tb2RhbC1mb290ZXIgLnByaW1hcnlbZGlzYWJsZWRdLFxuICAgIC5tb2RhbC1jdXN0b20gLm1vZGFsLWZvb3RlciAuYWN0aW9uLXByaW1hcnlbZGlzYWJsZWRdLFxuICAgIC5tb2RhbC1jdXN0b20gLm1vZGFsLWZvb3RlciAucHJpbWFyeVtkaXNhYmxlZF0ge1xuICAgICAgb3BhY2l0eTogMC42NTtcbiAgICAgIGN1cnNvcjogYXV0bzsgfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiAyOS45OWVtKSB7XG4gICAgICAubW9kYWwtc2xpZGUgLm1vZGFsLWZvb3RlciAuYWN0aW9uLXByaW1hcnksXG4gICAgICAubW9kYWwtc2xpZGUgLm1vZGFsLWZvb3RlciAucHJpbWFyeSxcbiAgICAgIC5tb2RhbC1wb3B1cCAubW9kYWwtZm9vdGVyIC5hY3Rpb24tcHJpbWFyeSxcbiAgICAgIC5tb2RhbC1wb3B1cCAubW9kYWwtZm9vdGVyIC5wcmltYXJ5LFxuICAgICAgLm1vZGFsLWN1c3RvbSAubW9kYWwtZm9vdGVyIC5hY3Rpb24tcHJpbWFyeSxcbiAgICAgIC5tb2RhbC1jdXN0b20gLm1vZGFsLWZvb3RlciAucHJpbWFyeSB7XG4gICAgICAgIHdpZHRoOiAxMDAlOyB9IH1cbiAgICAubW9kYWwtc2xpZGUgLm1vZGFsLWZvb3RlciAuYWN0aW9uLXByaW1hcnkgc3BhbixcbiAgICAubW9kYWwtc2xpZGUgLm1vZGFsLWZvb3RlciAucHJpbWFyeSBzcGFuLFxuICAgIC5tb2RhbC1wb3B1cCAubW9kYWwtZm9vdGVyIC5hY3Rpb24tcHJpbWFyeSBzcGFuLFxuICAgIC5tb2RhbC1wb3B1cCAubW9kYWwtZm9vdGVyIC5wcmltYXJ5IHNwYW4sXG4gICAgLm1vZGFsLWN1c3RvbSAubW9kYWwtZm9vdGVyIC5hY3Rpb24tcHJpbWFyeSBzcGFuLFxuICAgIC5tb2RhbC1jdXN0b20gLm1vZGFsLWZvb3RlciAucHJpbWFyeSBzcGFuIHtcbiAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICB6LWluZGV4OiAxO1xuICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjI3NWVtO1xuICAgICAgbGV0dGVyLXNwYWNpbmc6IG5vcm1hbDsgfVxuICAubW9kYWwtc2xpZGUgLm1vZGFsLWZvb3RlciAuYWN0aW9uLXNlY29uZGFyeSxcbiAgLm1vZGFsLXNsaWRlIC5tb2RhbC1mb290ZXIgLnNlY29uZGFyeSxcbiAgLm1vZGFsLXBvcHVwIC5tb2RhbC1mb290ZXIgLmFjdGlvbi1zZWNvbmRhcnksXG4gIC5tb2RhbC1wb3B1cCAubW9kYWwtZm9vdGVyIC5zZWNvbmRhcnksXG4gIC5tb2RhbC1jdXN0b20gLm1vZGFsLWZvb3RlciAuYWN0aW9uLXNlY29uZGFyeSxcbiAgLm1vZGFsLWN1c3RvbSAubW9kYWwtZm9vdGVyIC5zZWNvbmRhcnkge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBmb250LXNpemU6IDEuOHJlbTtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGluZS1oZWlnaHQ6IDEuMjc1ZW07XG4gICAgbWFyZ2luOiAwO1xuICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICAgIHBhZGRpbmc6IDAuNzVlbSAxZW07XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuNXMsIGJvcmRlci1jb2xvciAwLjVzLCBmaWxsIDAuNXMsIGNvbG9yIDAuNXM7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICB6LWluZGV4OiA1O1xuICAgIG1pbi13aWR0aDogMTJyZW07IH1cbiAgICAubW9kYWwtc2xpZGUgLm1vZGFsLWZvb3RlciAuYWN0aW9uLXNlY29uZGFyeTo6LW1vei1mb2N1cy1pbm5lcixcbiAgICAubW9kYWwtc2xpZGUgLm1vZGFsLWZvb3RlciAuc2Vjb25kYXJ5OjotbW96LWZvY3VzLWlubmVyLFxuICAgIC5tb2RhbC1wb3B1cCAubW9kYWwtZm9vdGVyIC5hY3Rpb24tc2Vjb25kYXJ5OjotbW96LWZvY3VzLWlubmVyLFxuICAgIC5tb2RhbC1wb3B1cCAubW9kYWwtZm9vdGVyIC5zZWNvbmRhcnk6Oi1tb3otZm9jdXMtaW5uZXIsXG4gICAgLm1vZGFsLWN1c3RvbSAubW9kYWwtZm9vdGVyIC5hY3Rpb24tc2Vjb25kYXJ5OjotbW96LWZvY3VzLWlubmVyLFxuICAgIC5tb2RhbC1jdXN0b20gLm1vZGFsLWZvb3RlciAuc2Vjb25kYXJ5OjotbW96LWZvY3VzLWlubmVyIHtcbiAgICAgIGJvcmRlcjogMDtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgICBtYXJnaW46IDA7IH1cbiAgICAubW9kYWwtc2xpZGUgLm1vZGFsLWZvb3RlciAuYWN0aW9uLXNlY29uZGFyeSwgLm1vZGFsLXNsaWRlIC5tb2RhbC1mb290ZXIgLmFjdGlvbi1zZWNvbmRhcnk6dmlzaXRlZCxcbiAgICAubW9kYWwtc2xpZGUgLm1vZGFsLWZvb3RlciAuc2Vjb25kYXJ5LFxuICAgIC5tb2RhbC1zbGlkZSAubW9kYWwtZm9vdGVyIC5zZWNvbmRhcnk6dmlzaXRlZCxcbiAgICAubW9kYWwtcG9wdXAgLm1vZGFsLWZvb3RlciAuYWN0aW9uLXNlY29uZGFyeSxcbiAgICAubW9kYWwtcG9wdXAgLm1vZGFsLWZvb3RlciAuYWN0aW9uLXNlY29uZGFyeTp2aXNpdGVkLFxuICAgIC5tb2RhbC1wb3B1cCAubW9kYWwtZm9vdGVyIC5zZWNvbmRhcnksXG4gICAgLm1vZGFsLXBvcHVwIC5tb2RhbC1mb290ZXIgLnNlY29uZGFyeTp2aXNpdGVkLFxuICAgIC5tb2RhbC1jdXN0b20gLm1vZGFsLWZvb3RlciAuYWN0aW9uLXNlY29uZGFyeSxcbiAgICAubW9kYWwtY3VzdG9tIC5tb2RhbC1mb290ZXIgLmFjdGlvbi1zZWNvbmRhcnk6dmlzaXRlZCxcbiAgICAubW9kYWwtY3VzdG9tIC5tb2RhbC1mb290ZXIgLnNlY29uZGFyeSxcbiAgICAubW9kYWwtY3VzdG9tIC5tb2RhbC1mb290ZXIgLnNlY29uZGFyeTp2aXNpdGVkIHtcbiAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDIwMHB4O1xuICAgICAgb3V0bGluZS1vZmZzZXQ6IDFweDtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAjN2U1N2MyO1xuICAgICAgY29sb3I6ICM3ZTU3YzI7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmOyB9XG4gICAgICAubW9kYWwtc2xpZGUgLm1vZGFsLWZvb3RlciAuYWN0aW9uLXNlY29uZGFyeSAqLCAubW9kYWwtc2xpZGUgLm1vZGFsLWZvb3RlciAuYWN0aW9uLXNlY29uZGFyeTp2aXNpdGVkICosXG4gICAgICAubW9kYWwtc2xpZGUgLm1vZGFsLWZvb3RlciAuc2Vjb25kYXJ5ICosXG4gICAgICAubW9kYWwtc2xpZGUgLm1vZGFsLWZvb3RlciAuc2Vjb25kYXJ5OnZpc2l0ZWQgKixcbiAgICAgIC5tb2RhbC1wb3B1cCAubW9kYWwtZm9vdGVyIC5hY3Rpb24tc2Vjb25kYXJ5ICosXG4gICAgICAubW9kYWwtcG9wdXAgLm1vZGFsLWZvb3RlciAuYWN0aW9uLXNlY29uZGFyeTp2aXNpdGVkICosXG4gICAgICAubW9kYWwtcG9wdXAgLm1vZGFsLWZvb3RlciAuc2Vjb25kYXJ5ICosXG4gICAgICAubW9kYWwtcG9wdXAgLm1vZGFsLWZvb3RlciAuc2Vjb25kYXJ5OnZpc2l0ZWQgKixcbiAgICAgIC5tb2RhbC1jdXN0b20gLm1vZGFsLWZvb3RlciAuYWN0aW9uLXNlY29uZGFyeSAqLFxuICAgICAgLm1vZGFsLWN1c3RvbSAubW9kYWwtZm9vdGVyIC5hY3Rpb24tc2Vjb25kYXJ5OnZpc2l0ZWQgKixcbiAgICAgIC5tb2RhbC1jdXN0b20gLm1vZGFsLWZvb3RlciAuc2Vjb25kYXJ5ICosXG4gICAgICAubW9kYWwtY3VzdG9tIC5tb2RhbC1mb290ZXIgLnNlY29uZGFyeTp2aXNpdGVkICoge1xuICAgICAgICBjb2xvcjogIzdlNTdjMjtcbiAgICAgICAgZmlsbDogIzdlNTdjMjsgfVxuICAgIC5tb2RhbC1zbGlkZSAubW9kYWwtZm9vdGVyIC5hY3Rpb24tc2Vjb25kYXJ5OmhvdmVyOm5vdChbZGlzYWJsZWRdKSwgLm1vZGFsLXNsaWRlIC5tb2RhbC1mb290ZXIgLmFjdGlvbi1zZWNvbmRhcnk6Zm9jdXM6bm90KFtkaXNhYmxlZF0pLCAubW9kYWwtc2xpZGUgLm1vZGFsLWZvb3RlciAuYWN0aW9uLXNlY29uZGFyeTphY3RpdmU6bm90KFtkaXNhYmxlZF0pLFxuICAgIC5tb2RhbC1zbGlkZSAubW9kYWwtZm9vdGVyIC5zZWNvbmRhcnk6aG92ZXI6bm90KFtkaXNhYmxlZF0pLFxuICAgIC5tb2RhbC1zbGlkZSAubW9kYWwtZm9vdGVyIC5zZWNvbmRhcnk6Zm9jdXM6bm90KFtkaXNhYmxlZF0pLFxuICAgIC5tb2RhbC1zbGlkZSAubW9kYWwtZm9vdGVyIC5zZWNvbmRhcnk6YWN0aXZlOm5vdChbZGlzYWJsZWRdKSxcbiAgICAubW9kYWwtcG9wdXAgLm1vZGFsLWZvb3RlciAuYWN0aW9uLXNlY29uZGFyeTpob3Zlcjpub3QoW2Rpc2FibGVkXSksXG4gICAgLm1vZGFsLXBvcHVwIC5tb2RhbC1mb290ZXIgLmFjdGlvbi1zZWNvbmRhcnk6Zm9jdXM6bm90KFtkaXNhYmxlZF0pLFxuICAgIC5tb2RhbC1wb3B1cCAubW9kYWwtZm9vdGVyIC5hY3Rpb24tc2Vjb25kYXJ5OmFjdGl2ZTpub3QoW2Rpc2FibGVkXSksXG4gICAgLm1vZGFsLXBvcHVwIC5tb2RhbC1mb290ZXIgLnNlY29uZGFyeTpob3Zlcjpub3QoW2Rpc2FibGVkXSksXG4gICAgLm1vZGFsLXBvcHVwIC5tb2RhbC1mb290ZXIgLnNlY29uZGFyeTpmb2N1czpub3QoW2Rpc2FibGVkXSksXG4gICAgLm1vZGFsLXBvcHVwIC5tb2RhbC1mb290ZXIgLnNlY29uZGFyeTphY3RpdmU6bm90KFtkaXNhYmxlZF0pLFxuICAgIC5tb2RhbC1jdXN0b20gLm1vZGFsLWZvb3RlciAuYWN0aW9uLXNlY29uZGFyeTpob3Zlcjpub3QoW2Rpc2FibGVkXSksXG4gICAgLm1vZGFsLWN1c3RvbSAubW9kYWwtZm9vdGVyIC5hY3Rpb24tc2Vjb25kYXJ5OmZvY3VzOm5vdChbZGlzYWJsZWRdKSxcbiAgICAubW9kYWwtY3VzdG9tIC5tb2RhbC1mb290ZXIgLmFjdGlvbi1zZWNvbmRhcnk6YWN0aXZlOm5vdChbZGlzYWJsZWRdKSxcbiAgICAubW9kYWwtY3VzdG9tIC5tb2RhbC1mb290ZXIgLnNlY29uZGFyeTpob3Zlcjpub3QoW2Rpc2FibGVkXSksXG4gICAgLm1vZGFsLWN1c3RvbSAubW9kYWwtZm9vdGVyIC5zZWNvbmRhcnk6Zm9jdXM6bm90KFtkaXNhYmxlZF0pLFxuICAgIC5tb2RhbC1jdXN0b20gLm1vZGFsLWZvb3RlciAuc2Vjb25kYXJ5OmFjdGl2ZTpub3QoW2Rpc2FibGVkXSkge1xuICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICAgIG91dGxpbmU6IG5vbmU7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAjNGQyYzkxO1xuICAgICAgY29sb3I6ICNmZmY7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNGQyYzkxOyB9XG4gICAgICAubW9kYWwtc2xpZGUgLm1vZGFsLWZvb3RlciAuYWN0aW9uLXNlY29uZGFyeTpob3Zlcjpub3QoW2Rpc2FibGVkXSkgKiwgLm1vZGFsLXNsaWRlIC5tb2RhbC1mb290ZXIgLmFjdGlvbi1zZWNvbmRhcnk6Zm9jdXM6bm90KFtkaXNhYmxlZF0pICosIC5tb2RhbC1zbGlkZSAubW9kYWwtZm9vdGVyIC5hY3Rpb24tc2Vjb25kYXJ5OmFjdGl2ZTpub3QoW2Rpc2FibGVkXSkgKixcbiAgICAgIC5tb2RhbC1zbGlkZSAubW9kYWwtZm9vdGVyIC5zZWNvbmRhcnk6aG92ZXI6bm90KFtkaXNhYmxlZF0pICosXG4gICAgICAubW9kYWwtc2xpZGUgLm1vZGFsLWZvb3RlciAuc2Vjb25kYXJ5OmZvY3VzOm5vdChbZGlzYWJsZWRdKSAqLFxuICAgICAgLm1vZGFsLXNsaWRlIC5tb2RhbC1mb290ZXIgLnNlY29uZGFyeTphY3RpdmU6bm90KFtkaXNhYmxlZF0pICosXG4gICAgICAubW9kYWwtcG9wdXAgLm1vZGFsLWZvb3RlciAuYWN0aW9uLXNlY29uZGFyeTpob3Zlcjpub3QoW2Rpc2FibGVkXSkgKixcbiAgICAgIC5tb2RhbC1wb3B1cCAubW9kYWwtZm9vdGVyIC5hY3Rpb24tc2Vjb25kYXJ5OmZvY3VzOm5vdChbZGlzYWJsZWRdKSAqLFxuICAgICAgLm1vZGFsLXBvcHVwIC5tb2RhbC1mb290ZXIgLmFjdGlvbi1zZWNvbmRhcnk6YWN0aXZlOm5vdChbZGlzYWJsZWRdKSAqLFxuICAgICAgLm1vZGFsLXBvcHVwIC5tb2RhbC1mb290ZXIgLnNlY29uZGFyeTpob3Zlcjpub3QoW2Rpc2FibGVkXSkgKixcbiAgICAgIC5tb2RhbC1wb3B1cCAubW9kYWwtZm9vdGVyIC5zZWNvbmRhcnk6Zm9jdXM6bm90KFtkaXNhYmxlZF0pICosXG4gICAgICAubW9kYWwtcG9wdXAgLm1vZGFsLWZvb3RlciAuc2Vjb25kYXJ5OmFjdGl2ZTpub3QoW2Rpc2FibGVkXSkgKixcbiAgICAgIC5tb2RhbC1jdXN0b20gLm1vZGFsLWZvb3RlciAuYWN0aW9uLXNlY29uZGFyeTpob3Zlcjpub3QoW2Rpc2FibGVkXSkgKixcbiAgICAgIC5tb2RhbC1jdXN0b20gLm1vZGFsLWZvb3RlciAuYWN0aW9uLXNlY29uZGFyeTpmb2N1czpub3QoW2Rpc2FibGVkXSkgKixcbiAgICAgIC5tb2RhbC1jdXN0b20gLm1vZGFsLWZvb3RlciAuYWN0aW9uLXNlY29uZGFyeTphY3RpdmU6bm90KFtkaXNhYmxlZF0pICosXG4gICAgICAubW9kYWwtY3VzdG9tIC5tb2RhbC1mb290ZXIgLnNlY29uZGFyeTpob3Zlcjpub3QoW2Rpc2FibGVkXSkgKixcbiAgICAgIC5tb2RhbC1jdXN0b20gLm1vZGFsLWZvb3RlciAuc2Vjb25kYXJ5OmZvY3VzOm5vdChbZGlzYWJsZWRdKSAqLFxuICAgICAgLm1vZGFsLWN1c3RvbSAubW9kYWwtZm9vdGVyIC5zZWNvbmRhcnk6YWN0aXZlOm5vdChbZGlzYWJsZWRdKSAqIHtcbiAgICAgICAgY29sb3I6ICNmZmY7XG4gICAgICAgIGZpbGw6ICNmZmY7IH1cbiAgICAubW9kYWwtc2xpZGUgLm1vZGFsLWZvb3RlciAuYWN0aW9uLXNlY29uZGFyeVtkaXNhYmxlZF0sXG4gICAgLm1vZGFsLXNsaWRlIC5tb2RhbC1mb290ZXIgLnNlY29uZGFyeVtkaXNhYmxlZF0sXG4gICAgLm1vZGFsLXBvcHVwIC5tb2RhbC1mb290ZXIgLmFjdGlvbi1zZWNvbmRhcnlbZGlzYWJsZWRdLFxuICAgIC5tb2RhbC1wb3B1cCAubW9kYWwtZm9vdGVyIC5zZWNvbmRhcnlbZGlzYWJsZWRdLFxuICAgIC5tb2RhbC1jdXN0b20gLm1vZGFsLWZvb3RlciAuYWN0aW9uLXNlY29uZGFyeVtkaXNhYmxlZF0sXG4gICAgLm1vZGFsLWN1c3RvbSAubW9kYWwtZm9vdGVyIC5zZWNvbmRhcnlbZGlzYWJsZWRdIHtcbiAgICAgIG9wYWNpdHk6IDAuNjU7XG4gICAgICBjdXJzb3I6IGF1dG87IH1cbiAgICBAbWVkaWEgKG1heC13aWR0aDogMjkuOTllbSkge1xuICAgICAgLm1vZGFsLXNsaWRlIC5tb2RhbC1mb290ZXIgLmFjdGlvbi1zZWNvbmRhcnksXG4gICAgICAubW9kYWwtc2xpZGUgLm1vZGFsLWZvb3RlciAuc2Vjb25kYXJ5LFxuICAgICAgLm1vZGFsLXBvcHVwIC5tb2RhbC1mb290ZXIgLmFjdGlvbi1zZWNvbmRhcnksXG4gICAgICAubW9kYWwtcG9wdXAgLm1vZGFsLWZvb3RlciAuc2Vjb25kYXJ5LFxuICAgICAgLm1vZGFsLWN1c3RvbSAubW9kYWwtZm9vdGVyIC5hY3Rpb24tc2Vjb25kYXJ5LFxuICAgICAgLm1vZGFsLWN1c3RvbSAubW9kYWwtZm9vdGVyIC5zZWNvbmRhcnkge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMS41cmVtICFpbXBvcnRhbnQ7IH0gfVxuICAgIC5tb2RhbC1zbGlkZSAubW9kYWwtZm9vdGVyIC5hY3Rpb24tc2Vjb25kYXJ5IHNwYW4sXG4gICAgLm1vZGFsLXNsaWRlIC5tb2RhbC1mb290ZXIgLnNlY29uZGFyeSBzcGFuLFxuICAgIC5tb2RhbC1wb3B1cCAubW9kYWwtZm9vdGVyIC5hY3Rpb24tc2Vjb25kYXJ5IHNwYW4sXG4gICAgLm1vZGFsLXBvcHVwIC5tb2RhbC1mb290ZXIgLnNlY29uZGFyeSBzcGFuLFxuICAgIC5tb2RhbC1jdXN0b20gLm1vZGFsLWZvb3RlciAuYWN0aW9uLXNlY29uZGFyeSBzcGFuLFxuICAgIC5tb2RhbC1jdXN0b20gLm1vZGFsLWZvb3RlciAuc2Vjb25kYXJ5IHNwYW4ge1xuICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgIHotaW5kZXg6IDE7XG4gICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgbGluZS1oZWlnaHQ6IDEuMjc1ZW07XG4gICAgICBsZXR0ZXItc3BhY2luZzogbm9ybWFsOyB9XG4gICAgYm9keS5jaGVja291dC1pbmRleC1pbmRleCAubW9kYWwtc2xpZGUgLm1vZGFsLWZvb3RlciAuYWN0aW9uLXNlY29uZGFyeSwgYm9keS5jaGVja291dC1pbmRleC1pbmRleFxuICAgIC5tb2RhbC1zbGlkZSAubW9kYWwtZm9vdGVyIC5zZWNvbmRhcnksIGJvZHkuY2hlY2tvdXQtaW5kZXgtaW5kZXhcbiAgICAubW9kYWwtcG9wdXAgLm1vZGFsLWZvb3RlciAuYWN0aW9uLXNlY29uZGFyeSwgYm9keS5jaGVja291dC1pbmRleC1pbmRleFxuICAgIC5tb2RhbC1wb3B1cCAubW9kYWwtZm9vdGVyIC5zZWNvbmRhcnksIGJvZHkuY2hlY2tvdXQtaW5kZXgtaW5kZXhcbiAgICAubW9kYWwtY3VzdG9tIC5tb2RhbC1mb290ZXIgLmFjdGlvbi1zZWNvbmRhcnksIGJvZHkuY2hlY2tvdXQtaW5kZXgtaW5kZXhcbiAgICAubW9kYWwtY3VzdG9tIC5tb2RhbC1mb290ZXIgLnNlY29uZGFyeSB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBmb250LXNpemU6IDEuOHJlbTtcbiAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBsaW5lLWhlaWdodDogMS4yNzVlbTtcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICAgICAgcGFkZGluZzogMC43NWVtIDFlbTtcbiAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuNXMsIGJvcmRlci1jb2xvciAwLjVzLCBmaWxsIDAuNXMsIGNvbG9yIDAuNXM7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgICAgei1pbmRleDogNTtcbiAgICAgIG1pbi13aWR0aDogMTJyZW07IH1cbiAgICAgIGJvZHkuY2hlY2tvdXQtaW5kZXgtaW5kZXggLm1vZGFsLXNsaWRlIC5tb2RhbC1mb290ZXIgLmFjdGlvbi1zZWNvbmRhcnk6Oi1tb3otZm9jdXMtaW5uZXIsIGJvZHkuY2hlY2tvdXQtaW5kZXgtaW5kZXhcbiAgICAgIC5tb2RhbC1zbGlkZSAubW9kYWwtZm9vdGVyIC5zZWNvbmRhcnk6Oi1tb3otZm9jdXMtaW5uZXIsIGJvZHkuY2hlY2tvdXQtaW5kZXgtaW5kZXhcbiAgICAgIC5tb2RhbC1wb3B1cCAubW9kYWwtZm9vdGVyIC5hY3Rpb24tc2Vjb25kYXJ5OjotbW96LWZvY3VzLWlubmVyLCBib2R5LmNoZWNrb3V0LWluZGV4LWluZGV4XG4gICAgICAubW9kYWwtcG9wdXAgLm1vZGFsLWZvb3RlciAuc2Vjb25kYXJ5OjotbW96LWZvY3VzLWlubmVyLCBib2R5LmNoZWNrb3V0LWluZGV4LWluZGV4XG4gICAgICAubW9kYWwtY3VzdG9tIC5tb2RhbC1mb290ZXIgLmFjdGlvbi1zZWNvbmRhcnk6Oi1tb3otZm9jdXMtaW5uZXIsIGJvZHkuY2hlY2tvdXQtaW5kZXgtaW5kZXhcbiAgICAgIC5tb2RhbC1jdXN0b20gLm1vZGFsLWZvb3RlciAuc2Vjb25kYXJ5OjotbW96LWZvY3VzLWlubmVyIHtcbiAgICAgICAgYm9yZGVyOiAwO1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICBtYXJnaW46IDA7IH1cbiAgICAgIGJvZHkuY2hlY2tvdXQtaW5kZXgtaW5kZXggLm1vZGFsLXNsaWRlIC5tb2RhbC1mb290ZXIgLmFjdGlvbi1zZWNvbmRhcnksIGJvZHkuY2hlY2tvdXQtaW5kZXgtaW5kZXggLm1vZGFsLXNsaWRlIC5tb2RhbC1mb290ZXIgLmFjdGlvbi1zZWNvbmRhcnk6dmlzaXRlZCwgYm9keS5jaGVja291dC1pbmRleC1pbmRleFxuICAgICAgLm1vZGFsLXNsaWRlIC5tb2RhbC1mb290ZXIgLnNlY29uZGFyeSwgYm9keS5jaGVja291dC1pbmRleC1pbmRleFxuICAgICAgLm1vZGFsLXNsaWRlIC5tb2RhbC1mb290ZXIgLnNlY29uZGFyeTp2aXNpdGVkLCBib2R5LmNoZWNrb3V0LWluZGV4LWluZGV4XG4gICAgICAubW9kYWwtcG9wdXAgLm1vZGFsLWZvb3RlciAuYWN0aW9uLXNlY29uZGFyeSwgYm9keS5jaGVja291dC1pbmRleC1pbmRleFxuICAgICAgLm1vZGFsLXBvcHVwIC5tb2RhbC1mb290ZXIgLmFjdGlvbi1zZWNvbmRhcnk6dmlzaXRlZCwgYm9keS5jaGVja291dC1pbmRleC1pbmRleFxuICAgICAgLm1vZGFsLXBvcHVwIC5tb2RhbC1mb290ZXIgLnNlY29uZGFyeSwgYm9keS5jaGVja291dC1pbmRleC1pbmRleFxuICAgICAgLm1vZGFsLXBvcHVwIC5tb2RhbC1mb290ZXIgLnNlY29uZGFyeTp2aXNpdGVkLCBib2R5LmNoZWNrb3V0LWluZGV4LWluZGV4XG4gICAgICAubW9kYWwtY3VzdG9tIC5tb2RhbC1mb290ZXIgLmFjdGlvbi1zZWNvbmRhcnksIGJvZHkuY2hlY2tvdXQtaW5kZXgtaW5kZXhcbiAgICAgIC5tb2RhbC1jdXN0b20gLm1vZGFsLWZvb3RlciAuYWN0aW9uLXNlY29uZGFyeTp2aXNpdGVkLCBib2R5LmNoZWNrb3V0LWluZGV4LWluZGV4XG4gICAgICAubW9kYWwtY3VzdG9tIC5tb2RhbC1mb290ZXIgLnNlY29uZGFyeSwgYm9keS5jaGVja291dC1pbmRleC1pbmRleFxuICAgICAgLm1vZGFsLWN1c3RvbSAubW9kYWwtZm9vdGVyIC5zZWNvbmRhcnk6dmlzaXRlZCB7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMjAwcHg7XG4gICAgICAgIG91dGxpbmUtb2Zmc2V0OiAxcHg7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgIzdlNTdjMjtcbiAgICAgICAgY29sb3I6ICM3ZTU3YzI7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7IH1cbiAgICAgICAgYm9keS5jaGVja291dC1pbmRleC1pbmRleCAubW9kYWwtc2xpZGUgLm1vZGFsLWZvb3RlciAuYWN0aW9uLXNlY29uZGFyeSAqLCBib2R5LmNoZWNrb3V0LWluZGV4LWluZGV4IC5tb2RhbC1zbGlkZSAubW9kYWwtZm9vdGVyIC5hY3Rpb24tc2Vjb25kYXJ5OnZpc2l0ZWQgKiwgYm9keS5jaGVja291dC1pbmRleC1pbmRleFxuICAgICAgICAubW9kYWwtc2xpZGUgLm1vZGFsLWZvb3RlciAuc2Vjb25kYXJ5ICosIGJvZHkuY2hlY2tvdXQtaW5kZXgtaW5kZXhcbiAgICAgICAgLm1vZGFsLXNsaWRlIC5tb2RhbC1mb290ZXIgLnNlY29uZGFyeTp2aXNpdGVkICosIGJvZHkuY2hlY2tvdXQtaW5kZXgtaW5kZXhcbiAgICAgICAgLm1vZGFsLXBvcHVwIC5tb2RhbC1mb290ZXIgLmFjdGlvbi1zZWNvbmRhcnkgKiwgYm9keS5jaGVja291dC1pbmRleC1pbmRleFxuICAgICAgICAubW9kYWwtcG9wdXAgLm1vZGFsLWZvb3RlciAuYWN0aW9uLXNlY29uZGFyeTp2aXNpdGVkICosIGJvZHkuY2hlY2tvdXQtaW5kZXgtaW5kZXhcbiAgICAgICAgLm1vZGFsLXBvcHVwIC5tb2RhbC1mb290ZXIgLnNlY29uZGFyeSAqLCBib2R5LmNoZWNrb3V0LWluZGV4LWluZGV4XG4gICAgICAgIC5tb2RhbC1wb3B1cCAubW9kYWwtZm9vdGVyIC5zZWNvbmRhcnk6dmlzaXRlZCAqLCBib2R5LmNoZWNrb3V0LWluZGV4LWluZGV4XG4gICAgICAgIC5tb2RhbC1jdXN0b20gLm1vZGFsLWZvb3RlciAuYWN0aW9uLXNlY29uZGFyeSAqLCBib2R5LmNoZWNrb3V0LWluZGV4LWluZGV4XG4gICAgICAgIC5tb2RhbC1jdXN0b20gLm1vZGFsLWZvb3RlciAuYWN0aW9uLXNlY29uZGFyeTp2aXNpdGVkICosIGJvZHkuY2hlY2tvdXQtaW5kZXgtaW5kZXhcbiAgICAgICAgLm1vZGFsLWN1c3RvbSAubW9kYWwtZm9vdGVyIC5zZWNvbmRhcnkgKiwgYm9keS5jaGVja291dC1pbmRleC1pbmRleFxuICAgICAgICAubW9kYWwtY3VzdG9tIC5tb2RhbC1mb290ZXIgLnNlY29uZGFyeTp2aXNpdGVkICoge1xuICAgICAgICAgIGNvbG9yOiAjN2U1N2MyO1xuICAgICAgICAgIGZpbGw6ICM3ZTU3YzI7IH1cbiAgICAgIGJvZHkuY2hlY2tvdXQtaW5kZXgtaW5kZXggLm1vZGFsLXNsaWRlIC5tb2RhbC1mb290ZXIgLmFjdGlvbi1zZWNvbmRhcnk6aG92ZXI6bm90KFtkaXNhYmxlZF0pLCBib2R5LmNoZWNrb3V0LWluZGV4LWluZGV4IC5tb2RhbC1zbGlkZSAubW9kYWwtZm9vdGVyIC5hY3Rpb24tc2Vjb25kYXJ5OmZvY3VzOm5vdChbZGlzYWJsZWRdKSwgYm9keS5jaGVja291dC1pbmRleC1pbmRleCAubW9kYWwtc2xpZGUgLm1vZGFsLWZvb3RlciAuYWN0aW9uLXNlY29uZGFyeTphY3RpdmU6bm90KFtkaXNhYmxlZF0pLCBib2R5LmNoZWNrb3V0LWluZGV4LWluZGV4XG4gICAgICAubW9kYWwtc2xpZGUgLm1vZGFsLWZvb3RlciAuc2Vjb25kYXJ5OmhvdmVyOm5vdChbZGlzYWJsZWRdKSwgYm9keS5jaGVja291dC1pbmRleC1pbmRleFxuICAgICAgLm1vZGFsLXNsaWRlIC5tb2RhbC1mb290ZXIgLnNlY29uZGFyeTpmb2N1czpub3QoW2Rpc2FibGVkXSksIGJvZHkuY2hlY2tvdXQtaW5kZXgtaW5kZXhcbiAgICAgIC5tb2RhbC1zbGlkZSAubW9kYWwtZm9vdGVyIC5zZWNvbmRhcnk6YWN0aXZlOm5vdChbZGlzYWJsZWRdKSwgYm9keS5jaGVja291dC1pbmRleC1pbmRleFxuICAgICAgLm1vZGFsLXBvcHVwIC5tb2RhbC1mb290ZXIgLmFjdGlvbi1zZWNvbmRhcnk6aG92ZXI6bm90KFtkaXNhYmxlZF0pLCBib2R5LmNoZWNrb3V0LWluZGV4LWluZGV4XG4gICAgICAubW9kYWwtcG9wdXAgLm1vZGFsLWZvb3RlciAuYWN0aW9uLXNlY29uZGFyeTpmb2N1czpub3QoW2Rpc2FibGVkXSksIGJvZHkuY2hlY2tvdXQtaW5kZXgtaW5kZXhcbiAgICAgIC5tb2RhbC1wb3B1cCAubW9kYWwtZm9vdGVyIC5hY3Rpb24tc2Vjb25kYXJ5OmFjdGl2ZTpub3QoW2Rpc2FibGVkXSksIGJvZHkuY2hlY2tvdXQtaW5kZXgtaW5kZXhcbiAgICAgIC5tb2RhbC1wb3B1cCAubW9kYWwtZm9vdGVyIC5zZWNvbmRhcnk6aG92ZXI6bm90KFtkaXNhYmxlZF0pLCBib2R5LmNoZWNrb3V0LWluZGV4LWluZGV4XG4gICAgICAubW9kYWwtcG9wdXAgLm1vZGFsLWZvb3RlciAuc2Vjb25kYXJ5OmZvY3VzOm5vdChbZGlzYWJsZWRdKSwgYm9keS5jaGVja291dC1pbmRleC1pbmRleFxuICAgICAgLm1vZGFsLXBvcHVwIC5tb2RhbC1mb290ZXIgLnNlY29uZGFyeTphY3RpdmU6bm90KFtkaXNhYmxlZF0pLCBib2R5LmNoZWNrb3V0LWluZGV4LWluZGV4XG4gICAgICAubW9kYWwtY3VzdG9tIC5tb2RhbC1mb290ZXIgLmFjdGlvbi1zZWNvbmRhcnk6aG92ZXI6bm90KFtkaXNhYmxlZF0pLCBib2R5LmNoZWNrb3V0LWluZGV4LWluZGV4XG4gICAgICAubW9kYWwtY3VzdG9tIC5tb2RhbC1mb290ZXIgLmFjdGlvbi1zZWNvbmRhcnk6Zm9jdXM6bm90KFtkaXNhYmxlZF0pLCBib2R5LmNoZWNrb3V0LWluZGV4LWluZGV4XG4gICAgICAubW9kYWwtY3VzdG9tIC5tb2RhbC1mb290ZXIgLmFjdGlvbi1zZWNvbmRhcnk6YWN0aXZlOm5vdChbZGlzYWJsZWRdKSwgYm9keS5jaGVja291dC1pbmRleC1pbmRleFxuICAgICAgLm1vZGFsLWN1c3RvbSAubW9kYWwtZm9vdGVyIC5zZWNvbmRhcnk6aG92ZXI6bm90KFtkaXNhYmxlZF0pLCBib2R5LmNoZWNrb3V0LWluZGV4LWluZGV4XG4gICAgICAubW9kYWwtY3VzdG9tIC5tb2RhbC1mb290ZXIgLnNlY29uZGFyeTpmb2N1czpub3QoW2Rpc2FibGVkXSksIGJvZHkuY2hlY2tvdXQtaW5kZXgtaW5kZXhcbiAgICAgIC5tb2RhbC1jdXN0b20gLm1vZGFsLWZvb3RlciAuc2Vjb25kYXJ5OmFjdGl2ZTpub3QoW2Rpc2FibGVkXSkge1xuICAgICAgICBib3gtc2hhZG93OiBub25lO1xuICAgICAgICBvdXRsaW5lOiBub25lO1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICM0ZDJjOTE7XG4gICAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNGQyYzkxOyB9XG4gICAgICAgIGJvZHkuY2hlY2tvdXQtaW5kZXgtaW5kZXggLm1vZGFsLXNsaWRlIC5tb2RhbC1mb290ZXIgLmFjdGlvbi1zZWNvbmRhcnk6aG92ZXI6bm90KFtkaXNhYmxlZF0pICosIGJvZHkuY2hlY2tvdXQtaW5kZXgtaW5kZXggLm1vZGFsLXNsaWRlIC5tb2RhbC1mb290ZXIgLmFjdGlvbi1zZWNvbmRhcnk6Zm9jdXM6bm90KFtkaXNhYmxlZF0pICosIGJvZHkuY2hlY2tvdXQtaW5kZXgtaW5kZXggLm1vZGFsLXNsaWRlIC5tb2RhbC1mb290ZXIgLmFjdGlvbi1zZWNvbmRhcnk6YWN0aXZlOm5vdChbZGlzYWJsZWRdKSAqLCBib2R5LmNoZWNrb3V0LWluZGV4LWluZGV4XG4gICAgICAgIC5tb2RhbC1zbGlkZSAubW9kYWwtZm9vdGVyIC5zZWNvbmRhcnk6aG92ZXI6bm90KFtkaXNhYmxlZF0pICosIGJvZHkuY2hlY2tvdXQtaW5kZXgtaW5kZXhcbiAgICAgICAgLm1vZGFsLXNsaWRlIC5tb2RhbC1mb290ZXIgLnNlY29uZGFyeTpmb2N1czpub3QoW2Rpc2FibGVkXSkgKiwgYm9keS5jaGVja291dC1pbmRleC1pbmRleFxuICAgICAgICAubW9kYWwtc2xpZGUgLm1vZGFsLWZvb3RlciAuc2Vjb25kYXJ5OmFjdGl2ZTpub3QoW2Rpc2FibGVkXSkgKiwgYm9keS5jaGVja291dC1pbmRleC1pbmRleFxuICAgICAgICAubW9kYWwtcG9wdXAgLm1vZGFsLWZvb3RlciAuYWN0aW9uLXNlY29uZGFyeTpob3Zlcjpub3QoW2Rpc2FibGVkXSkgKiwgYm9keS5jaGVja291dC1pbmRleC1pbmRleFxuICAgICAgICAubW9kYWwtcG9wdXAgLm1vZGFsLWZvb3RlciAuYWN0aW9uLXNlY29uZGFyeTpmb2N1czpub3QoW2Rpc2FibGVkXSkgKiwgYm9keS5jaGVja291dC1pbmRleC1pbmRleFxuICAgICAgICAubW9kYWwtcG9wdXAgLm1vZGFsLWZvb3RlciAuYWN0aW9uLXNlY29uZGFyeTphY3RpdmU6bm90KFtkaXNhYmxlZF0pICosIGJvZHkuY2hlY2tvdXQtaW5kZXgtaW5kZXhcbiAgICAgICAgLm1vZGFsLXBvcHVwIC5tb2RhbC1mb290ZXIgLnNlY29uZGFyeTpob3Zlcjpub3QoW2Rpc2FibGVkXSkgKiwgYm9keS5jaGVja291dC1pbmRleC1pbmRleFxuICAgICAgICAubW9kYWwtcG9wdXAgLm1vZGFsLWZvb3RlciAuc2Vjb25kYXJ5OmZvY3VzOm5vdChbZGlzYWJsZWRdKSAqLCBib2R5LmNoZWNrb3V0LWluZGV4LWluZGV4XG4gICAgICAgIC5tb2RhbC1wb3B1cCAubW9kYWwtZm9vdGVyIC5zZWNvbmRhcnk6YWN0aXZlOm5vdChbZGlzYWJsZWRdKSAqLCBib2R5LmNoZWNrb3V0LWluZGV4LWluZGV4XG4gICAgICAgIC5tb2RhbC1jdXN0b20gLm1vZGFsLWZvb3RlciAuYWN0aW9uLXNlY29uZGFyeTpob3Zlcjpub3QoW2Rpc2FibGVkXSkgKiwgYm9keS5jaGVja291dC1pbmRleC1pbmRleFxuICAgICAgICAubW9kYWwtY3VzdG9tIC5tb2RhbC1mb290ZXIgLmFjdGlvbi1zZWNvbmRhcnk6Zm9jdXM6bm90KFtkaXNhYmxlZF0pICosIGJvZHkuY2hlY2tvdXQtaW5kZXgtaW5kZXhcbiAgICAgICAgLm1vZGFsLWN1c3RvbSAubW9kYWwtZm9vdGVyIC5hY3Rpb24tc2Vjb25kYXJ5OmFjdGl2ZTpub3QoW2Rpc2FibGVkXSkgKiwgYm9keS5jaGVja291dC1pbmRleC1pbmRleFxuICAgICAgICAubW9kYWwtY3VzdG9tIC5tb2RhbC1mb290ZXIgLnNlY29uZGFyeTpob3Zlcjpub3QoW2Rpc2FibGVkXSkgKiwgYm9keS5jaGVja291dC1pbmRleC1pbmRleFxuICAgICAgICAubW9kYWwtY3VzdG9tIC5tb2RhbC1mb290ZXIgLnNlY29uZGFyeTpmb2N1czpub3QoW2Rpc2FibGVkXSkgKiwgYm9keS5jaGVja291dC1pbmRleC1pbmRleFxuICAgICAgICAubW9kYWwtY3VzdG9tIC5tb2RhbC1mb290ZXIgLnNlY29uZGFyeTphY3RpdmU6bm90KFtkaXNhYmxlZF0pICoge1xuICAgICAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgICAgIGZpbGw6ICNmZmY7IH1cbiAgICAgIGJvZHkuY2hlY2tvdXQtaW5kZXgtaW5kZXggLm1vZGFsLXNsaWRlIC5tb2RhbC1mb290ZXIgLmFjdGlvbi1zZWNvbmRhcnlbZGlzYWJsZWRdLCBib2R5LmNoZWNrb3V0LWluZGV4LWluZGV4XG4gICAgICAubW9kYWwtc2xpZGUgLm1vZGFsLWZvb3RlciAuc2Vjb25kYXJ5W2Rpc2FibGVkXSwgYm9keS5jaGVja291dC1pbmRleC1pbmRleFxuICAgICAgLm1vZGFsLXBvcHVwIC5tb2RhbC1mb290ZXIgLmFjdGlvbi1zZWNvbmRhcnlbZGlzYWJsZWRdLCBib2R5LmNoZWNrb3V0LWluZGV4LWluZGV4XG4gICAgICAubW9kYWwtcG9wdXAgLm1vZGFsLWZvb3RlciAuc2Vjb25kYXJ5W2Rpc2FibGVkXSwgYm9keS5jaGVja291dC1pbmRleC1pbmRleFxuICAgICAgLm1vZGFsLWN1c3RvbSAubW9kYWwtZm9vdGVyIC5hY3Rpb24tc2Vjb25kYXJ5W2Rpc2FibGVkXSwgYm9keS5jaGVja291dC1pbmRleC1pbmRleFxuICAgICAgLm1vZGFsLWN1c3RvbSAubW9kYWwtZm9vdGVyIC5zZWNvbmRhcnlbZGlzYWJsZWRdIHtcbiAgICAgICAgb3BhY2l0eTogMC42NTtcbiAgICAgICAgY3Vyc29yOiBhdXRvOyB9XG4gICAgICBib2R5LmNoZWNrb3V0LWluZGV4LWluZGV4IC5tb2RhbC1zbGlkZSAubW9kYWwtZm9vdGVyIC5hY3Rpb24tc2Vjb25kYXJ5IHNwYW4sIGJvZHkuY2hlY2tvdXQtaW5kZXgtaW5kZXhcbiAgICAgIC5tb2RhbC1zbGlkZSAubW9kYWwtZm9vdGVyIC5zZWNvbmRhcnkgc3BhbiwgYm9keS5jaGVja291dC1pbmRleC1pbmRleFxuICAgICAgLm1vZGFsLXBvcHVwIC5tb2RhbC1mb290ZXIgLmFjdGlvbi1zZWNvbmRhcnkgc3BhbiwgYm9keS5jaGVja291dC1pbmRleC1pbmRleFxuICAgICAgLm1vZGFsLXBvcHVwIC5tb2RhbC1mb290ZXIgLnNlY29uZGFyeSBzcGFuLCBib2R5LmNoZWNrb3V0LWluZGV4LWluZGV4XG4gICAgICAubW9kYWwtY3VzdG9tIC5tb2RhbC1mb290ZXIgLmFjdGlvbi1zZWNvbmRhcnkgc3BhbiwgYm9keS5jaGVja291dC1pbmRleC1pbmRleFxuICAgICAgLm1vZGFsLWN1c3RvbSAubW9kYWwtZm9vdGVyIC5zZWNvbmRhcnkgc3BhbiB7XG4gICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICAgIHotaW5kZXg6IDE7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBsaW5lLWhlaWdodDogMS4yNzVlbTtcbiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IG5vcm1hbDsgfVxuICAubW9kYWwtc2xpZGUgLm1vZGFsLWZvb3RlciBidXR0b246b25seS1jaGlsZCxcbiAgLm1vZGFsLXBvcHVwIC5tb2RhbC1mb290ZXIgYnV0dG9uOm9ubHktY2hpbGQsXG4gIC5tb2RhbC1jdXN0b20gLm1vZGFsLWZvb3RlciBidXR0b246b25seS1jaGlsZCB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGZvbnQtc2l6ZTogMS44cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsaW5lLWhlaWdodDogMS4yNzVlbTtcbiAgICBtYXJnaW46IDA7XG4gICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gICAgcGFkZGluZzogMC43NWVtIDFlbTtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC41cywgYm9yZGVyLWNvbG9yIDAuNXMsIGZpbGwgMC41cywgY29sb3IgMC41cztcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgIHotaW5kZXg6IDU7XG4gICAgbWluLXdpZHRoOiAxMnJlbTsgfVxuICAgIC5tb2RhbC1zbGlkZSAubW9kYWwtZm9vdGVyIGJ1dHRvbjpvbmx5LWNoaWxkOjotbW96LWZvY3VzLWlubmVyLFxuICAgIC5tb2RhbC1wb3B1cCAubW9kYWwtZm9vdGVyIGJ1dHRvbjpvbmx5LWNoaWxkOjotbW96LWZvY3VzLWlubmVyLFxuICAgIC5tb2RhbC1jdXN0b20gLm1vZGFsLWZvb3RlciBidXR0b246b25seS1jaGlsZDo6LW1vei1mb2N1cy1pbm5lciB7XG4gICAgICBib3JkZXI6IDA7XG4gICAgICBwYWRkaW5nOiAwO1xuICAgICAgbWFyZ2luOiAwOyB9XG4gICAgLm1vZGFsLXNsaWRlIC5tb2RhbC1mb290ZXIgYnV0dG9uOm9ubHktY2hpbGQsIC5tb2RhbC1zbGlkZSAubW9kYWwtZm9vdGVyIGJ1dHRvbjpvbmx5LWNoaWxkOnZpc2l0ZWQsXG4gICAgLm1vZGFsLXBvcHVwIC5tb2RhbC1mb290ZXIgYnV0dG9uOm9ubHktY2hpbGQsXG4gICAgLm1vZGFsLXBvcHVwIC5tb2RhbC1mb290ZXIgYnV0dG9uOm9ubHktY2hpbGQ6dmlzaXRlZCxcbiAgICAubW9kYWwtY3VzdG9tIC5tb2RhbC1mb290ZXIgYnV0dG9uOm9ubHktY2hpbGQsXG4gICAgLm1vZGFsLWN1c3RvbSAubW9kYWwtZm9vdGVyIGJ1dHRvbjpvbmx5LWNoaWxkOnZpc2l0ZWQge1xuICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgYm9yZGVyLXJhZGl1czogMjAwcHg7XG4gICAgICBvdXRsaW5lLW9mZnNldDogMXB4O1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgY29sb3I6ICNmZmY7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjN2U1N2MyOyB9XG4gICAgICAubW9kYWwtc2xpZGUgLm1vZGFsLWZvb3RlciBidXR0b246b25seS1jaGlsZCAqLCAubW9kYWwtc2xpZGUgLm1vZGFsLWZvb3RlciBidXR0b246b25seS1jaGlsZDp2aXNpdGVkICosXG4gICAgICAubW9kYWwtcG9wdXAgLm1vZGFsLWZvb3RlciBidXR0b246b25seS1jaGlsZCAqLFxuICAgICAgLm1vZGFsLXBvcHVwIC5tb2RhbC1mb290ZXIgYnV0dG9uOm9ubHktY2hpbGQ6dmlzaXRlZCAqLFxuICAgICAgLm1vZGFsLWN1c3RvbSAubW9kYWwtZm9vdGVyIGJ1dHRvbjpvbmx5LWNoaWxkICosXG4gICAgICAubW9kYWwtY3VzdG9tIC5tb2RhbC1mb290ZXIgYnV0dG9uOm9ubHktY2hpbGQ6dmlzaXRlZCAqIHtcbiAgICAgICAgY29sb3I6ICNmZmY7XG4gICAgICAgIGZpbGw6ICNmZmY7IH1cbiAgICAubW9kYWwtc2xpZGUgLm1vZGFsLWZvb3RlciBidXR0b246b25seS1jaGlsZDpob3Zlcjpub3QoW2Rpc2FibGVkXSksIC5tb2RhbC1zbGlkZSAubW9kYWwtZm9vdGVyIGJ1dHRvbjpvbmx5LWNoaWxkOmZvY3VzOm5vdChbZGlzYWJsZWRdKSwgLm1vZGFsLXNsaWRlIC5tb2RhbC1mb290ZXIgYnV0dG9uOm9ubHktY2hpbGQ6YWN0aXZlOm5vdChbZGlzYWJsZWRdKSxcbiAgICAubW9kYWwtcG9wdXAgLm1vZGFsLWZvb3RlciBidXR0b246b25seS1jaGlsZDpob3Zlcjpub3QoW2Rpc2FibGVkXSksXG4gICAgLm1vZGFsLXBvcHVwIC5tb2RhbC1mb290ZXIgYnV0dG9uOm9ubHktY2hpbGQ6Zm9jdXM6bm90KFtkaXNhYmxlZF0pLFxuICAgIC5tb2RhbC1wb3B1cCAubW9kYWwtZm9vdGVyIGJ1dHRvbjpvbmx5LWNoaWxkOmFjdGl2ZTpub3QoW2Rpc2FibGVkXSksXG4gICAgLm1vZGFsLWN1c3RvbSAubW9kYWwtZm9vdGVyIGJ1dHRvbjpvbmx5LWNoaWxkOmhvdmVyOm5vdChbZGlzYWJsZWRdKSxcbiAgICAubW9kYWwtY3VzdG9tIC5tb2RhbC1mb290ZXIgYnV0dG9uOm9ubHktY2hpbGQ6Zm9jdXM6bm90KFtkaXNhYmxlZF0pLFxuICAgIC5tb2RhbC1jdXN0b20gLm1vZGFsLWZvb3RlciBidXR0b246b25seS1jaGlsZDphY3RpdmU6bm90KFtkaXNhYmxlZF0pIHtcbiAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgICBvdXRsaW5lOiBub25lO1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgICBjb2xvcjogI2ZmZjtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICM0ZDJjOTE7IH1cbiAgICAgIC5tb2RhbC1zbGlkZSAubW9kYWwtZm9vdGVyIGJ1dHRvbjpvbmx5LWNoaWxkOmhvdmVyOm5vdChbZGlzYWJsZWRdKSAqLCAubW9kYWwtc2xpZGUgLm1vZGFsLWZvb3RlciBidXR0b246b25seS1jaGlsZDpmb2N1czpub3QoW2Rpc2FibGVkXSkgKiwgLm1vZGFsLXNsaWRlIC5tb2RhbC1mb290ZXIgYnV0dG9uOm9ubHktY2hpbGQ6YWN0aXZlOm5vdChbZGlzYWJsZWRdKSAqLFxuICAgICAgLm1vZGFsLXBvcHVwIC5tb2RhbC1mb290ZXIgYnV0dG9uOm9ubHktY2hpbGQ6aG92ZXI6bm90KFtkaXNhYmxlZF0pICosXG4gICAgICAubW9kYWwtcG9wdXAgLm1vZGFsLWZvb3RlciBidXR0b246b25seS1jaGlsZDpmb2N1czpub3QoW2Rpc2FibGVkXSkgKixcbiAgICAgIC5tb2RhbC1wb3B1cCAubW9kYWwtZm9vdGVyIGJ1dHRvbjpvbmx5LWNoaWxkOmFjdGl2ZTpub3QoW2Rpc2FibGVkXSkgKixcbiAgICAgIC5tb2RhbC1jdXN0b20gLm1vZGFsLWZvb3RlciBidXR0b246b25seS1jaGlsZDpob3Zlcjpub3QoW2Rpc2FibGVkXSkgKixcbiAgICAgIC5tb2RhbC1jdXN0b20gLm1vZGFsLWZvb3RlciBidXR0b246b25seS1jaGlsZDpmb2N1czpub3QoW2Rpc2FibGVkXSkgKixcbiAgICAgIC5tb2RhbC1jdXN0b20gLm1vZGFsLWZvb3RlciBidXR0b246b25seS1jaGlsZDphY3RpdmU6bm90KFtkaXNhYmxlZF0pICoge1xuICAgICAgICBjb2xvcjogI2ZmZjtcbiAgICAgICAgZmlsbDogI2ZmZjsgfVxuICAgIC5tb2RhbC1zbGlkZSAubW9kYWwtZm9vdGVyIGJ1dHRvbjpvbmx5LWNoaWxkW2Rpc2FibGVkXSxcbiAgICAubW9kYWwtcG9wdXAgLm1vZGFsLWZvb3RlciBidXR0b246b25seS1jaGlsZFtkaXNhYmxlZF0sXG4gICAgLm1vZGFsLWN1c3RvbSAubW9kYWwtZm9vdGVyIGJ1dHRvbjpvbmx5LWNoaWxkW2Rpc2FibGVkXSB7XG4gICAgICBvcGFjaXR5OiAwLjY1O1xuICAgICAgY3Vyc29yOiBhdXRvOyB9XG4gICAgLm1vZGFsLXNsaWRlIC5tb2RhbC1mb290ZXIgYnV0dG9uOm9ubHktY2hpbGQgc3BhbixcbiAgICAubW9kYWwtcG9wdXAgLm1vZGFsLWZvb3RlciBidXR0b246b25seS1jaGlsZCBzcGFuLFxuICAgIC5tb2RhbC1jdXN0b20gLm1vZGFsLWZvb3RlciBidXR0b246b25seS1jaGlsZCBzcGFuIHtcbiAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICB6LWluZGV4OiAxO1xuICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjI3NWVtO1xuICAgICAgbGV0dGVyLXNwYWNpbmc6IG5vcm1hbDsgfVxuXG4ubW9kYWwtc2xpZGUgLm1vZGFsLXRpdGxlLFxuLm1vZGFsLXBvcHVwIC5tb2RhbC10aXRsZSxcbi5tb2RhbC1jdXN0b20gLm1vZGFsLXRpdGxlIHtcbiAgZm9udC1mYW1pbHk6IFwiRG9zaXNcIiwgc3lzdGVtLXVpLCAtYXBwbGUtc3lzdGVtLCBTZWdvZSBVSSwgUm9ib3RvLCBVYnVudHUsIENhbnRhcmVsbCwgT3h5Z2VuLCBzYW5zLXNlcmlmLCBcIkFwcGxlIENvbG9yIEVtb2ppXCIsIFwiU2Vnb2UgVUkgRW1vamlcIiwgXCJTZWdvZSBVSSBTeW1ib2xcIiwgXCJOb3RvIENvbG9yIEVtb2ppXCI7XG4gIGZvbnQtc2l6ZTogMS44cmVtO1xuICBsaW5lLWhlaWdodDogMS4xO1xuICBjb2xvcjogIzQ1NWE2NDtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gIG1hcmdpbjogMXJlbSAwIDJyZW07XG4gIHBhZGRpbmc6IDJyZW07XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZGNkY2RjO1xuICBtYXJnaW46IDA7IH1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDQ3Ljk5ZW0pIHtcbiAgLm1vZGFsLXBvcHVwLm1vZGFsLXNsaWRlIC5tb2RhbC1pbm5lci13cmFwW2NsYXNzXSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjsgfSB9XG5cbkBtZWRpYSAobWF4LXdpZHRoOiAyOS45OWVtKSB7XG4gIC5tb2RhbC1zbGlkZSAubW9kYWwtZm9vdGVyIHtcbiAgICBmbGV4LXdyYXA6IHdyYXA7IH0gfVxuXG5AbWVkaWEgKG1heC13aWR0aDogMjkuOTllbSkge1xuICAubW9kYWwtc2xpZGUgLm1vZGFsLWZvb3RlciAuYWN0aW9uLXByaW1hcnksXG4gIC5tb2RhbC1zbGlkZSAubW9kYWwtZm9vdGVyIC5wcmltYXJ5IHtcbiAgICB3aWR0aDogMTAwJTsgfSB9XG5cbkBtZWRpYSAobWF4LXdpZHRoOiAyOS45OWVtKSB7XG4gIC5tb2RhbC1zbGlkZSAubW9kYWwtZm9vdGVyIC5hY3Rpb24tc2Vjb25kYXJ5LFxuICAubW9kYWwtc2xpZGUgLm1vZGFsLWZvb3RlciAuc2Vjb25kYXJ5IHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXJnaW4tYm90dG9tOiAxLjVyZW0gIWltcG9ydGFudDsgfSB9XG5cbi5tb2RhbC1wb3B1cCB7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICB0b3VjaC1hY3Rpb246IG5vbmU7IH1cblxuLnBhZ2UtbGF5b3V0LWNoZWNrb3V0IC5tb2RhbC1wb3B1cDpub3QoLl9pbm5lci1zY3JvbGwpIHtcbiAgcG9pbnRlci1ldmVudHM6IGF1dG87IH1cblxuQG1lZGlhIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgLnBhZ2UtbGF5b3V0LWNoZWNrb3V0IC5tb2RhbC1zbGlkZSB7XG4gICAgd2lkdGg6IDgwJTtcbiAgICBtYXgtd2lkdGg6IDY1cmVtO1xuICAgIGxlZnQ6IDUwJTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7IH0gfVxuXG4ubW9kYWxzLW92ZXJsYXkge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuNyk7IH1cblxuYm9keS5faGFzLW1vZGFsLm1vZGFsLW5vLXNjcm9sbCB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgd2lkdGg6IDEwMHZ3O1xuICBoZWlnaHQ6IDEwMHZoO1xuICBvdmVyZmxvdzogaW5pdGlhbDsgfVxuXG4vKiBzdHlsZWxpbnQtZW5hYmxlICovXG4iLCJAaW1wb3J0ICdjb25maWcvdmFyaWFibGVzJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvdHlwb2dyYXBoeS9taXhpbic7XG5AaW1wb3J0ICdjb21wb25lbnRzL2J1dHRvbi9taXhpbic7XG5AaW1wb3J0ICd1dGlscy92aXN1YWxseS1oaWRkZW4nO1xuQGltcG9ydCAndmVuZG9ycy9pbmNsdWRlLW1lZGlhJztcblxuJG1vZGFsX3RpdGxlLWZvbnQtc2l6ZTogJGZvbnQtc2l6ZV9oZWFkbGluZS0zICFkZWZhdWx0O1xuJG1vZGFsX3NlY29uZGFyeS1idXR0b24tdHlwZTogJ3NlY29uZGFyeScgIWRlZmF1bHQ7XG4kbW9kYWxfc2Vjb25kYXJ5LWJ1dHRvbi1pY29uLXBvczogJ25vLWljb24nICFkZWZhdWx0O1xuJG1vZGFsX2luc2lkZS1ib3JkZXJzOiAxcHggc29saWQgJGNvbG9yX2JvcmRlci01MDAgIWRlZmF1bHQ7XG4kbW9kYWxfYmFja2dyb3VuZDogJGNvbG9yX2JhY2tncm91bmQtMjAwICFkZWZhdWx0O1xuJG1vZGFsX3NsaWRlLW1vYmlsZS1iYWNrZ3JvdW5kOiAkY29sb3JfYmFja2dyb3VuZC0yMDAgIWRlZmF1bHQ7XG4kbW9kYWxfYm94LXNoYWRvdzogJGJveC1zaGFkb3dfYmFzZSAhZGVmYXVsdDtcbiRtb2RhbF9ib3JkZXItcmFkaXVzOiAwICFkZWZhdWx0O1xuJG1vZGFsLWJvcmRlcjogbm9uZSAhZGVmYXVsdDtcbiRtb2RhbF90ZXh0LWZvbnQtc2l6ZTogJGZvbnQtc2l6ZV9wYXJhZ3JhcGggIWRlZmF1bHQ7XG4kbW9kYWxfcHJpbWFyeS1idXR0b24tdHlwZTogJGJ1dHRvbl9kZWZhdWx0LXR5cGUgIWRlZmF1bHQ7XG4kbW9kYWxfcHJpbWFyeS1idXR0b24taWNvbi1wb3M6ICduby1pY29uJyAhZGVmYXVsdDtcbiRtb2RhbF9zZWNvbmRhcnktYnV0dG9uLXR5cGU6ICdzZWNvbmRhcnknICFkZWZhdWx0O1xuJG1vZGFsX3NlY29uZGFyeS1idXR0b24taWNvbi1wb3M6ICduby1pY29uJyAhZGVmYXVsdDtcblxuLyogc3R5bGVsaW50LWRpc2FibGUgbm8tZGVzY2VuZGluZy1zcGVjaWZpY2l0eSAqL1xuXG4ubW9kYWwtc2xpZGUsXG4ubW9kYWwtcG9wdXAsXG4ubW9kYWwtY3VzdG9tIHtcbiAgICAmLmNvbmZpcm0ge1xuICAgICAgICAubW9kYWwtaW5uZXItd3JhcCB7XG4gICAgICAgICAgICBtYXgtd2lkdGg6IDUwcmVtO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLm1vZGFsLWlubmVyLXdyYXAge1xuICAgICAgICBiYWNrZ3JvdW5kOiAkbW9kYWxfYmFja2dyb3VuZDtcbiAgICAgICAgYm94LXNoYWRvdzogJG1vZGFsX2JveC1zaGFkb3c7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6ICRtb2RhbF9ib3JkZXItcmFkaXVzO1xuICAgICAgICBib3JkZXI6ICRtb2RhbC1ib3JkZXI7XG4gICAgfVxuXG4gICAgLm1vZGFsLWNvbnRlbnQge1xuICAgICAgICBwYWRkaW5nLXRvcDogMnJlbTtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDJyZW07XG4gICAgICAgIGZvbnQtc2l6ZTogJG1vZGFsX3RleHQtZm9udC1zaXplO1xuICAgIH1cblxuICAgIC5tb2RhbC1oZWFkZXIge1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgfVxuXG4gICAgLmFjdGlvbi1jbG9zZSB7XG4gICAgICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICByaWdodDogMDtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICBtYXJnaW46IDEuNXJlbTtcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcuLi9pbWFnZXMvaWNvbnMvY2xvc2Uuc3ZnJyk7XG4gICAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgICAgICAgYmFja2dyb3VuZC1zaXplOiAxcmVtIDFyZW07XG4gICAgICAgIHdpZHRoOiAzcmVtO1xuICAgICAgICBoZWlnaHQ6IDNyZW07XG4gICAgICAgIHotaW5kZXg6IDE7XG5cbiAgICAgICAgc3BhbiB7XG4gICAgICAgICAgICBAaW5jbHVkZSB2aXN1YWxseS1oaWRkZW4oKTtcbiAgICAgICAgfVxuXG4gICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6IG5vbmU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAubW9kYWwtZm9vdGVyIHtcbiAgICAgICAgcGFkZGluZzogMnJlbTtcbiAgICAgICAgYm9yZGVyLXRvcDogJG1vZGFsX2luc2lkZS1ib3JkZXJzO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJzxwaG9uZUxnJykge1xuICAgICAgICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgICB9XG5cbiAgICAgICAgLmFjdGlvbi1wcmltYXJ5LFxuICAgICAgICAucHJpbWFyeSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBidXR0b24oXG4gICAgICAgICAgICAgICAgJHR5cGU6ICRtb2RhbF9wcmltYXJ5LWJ1dHRvbi10eXBlLFxuICAgICAgICAgICAgICAgICRpY29uX3BvczogJG1vZGFsX3ByaW1hcnktYnV0dG9uLWljb24tcG9zXG4gICAgICAgICAgICApO1xuICAgICAgICAgICAgbWluLXdpZHRoOiAxMnJlbTtcblxuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJzxwaG9uZUxnJykge1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBzcGFuIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBidXR0b24tc3BhbihcbiAgICAgICAgICAgICAgICAgICAgJHR5cGU6ICRtb2RhbF9wcmltYXJ5LWJ1dHRvbi10eXBlLFxuICAgICAgICAgICAgICAgICAgICAkaWNvbl9wb3M6ICRtb2RhbF9wcmltYXJ5LWJ1dHRvbi1pY29uLXBvc1xuICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuYWN0aW9uLXNlY29uZGFyeSxcbiAgICAgICAgLnNlY29uZGFyeSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBidXR0b24oXG4gICAgICAgICAgICAgICAgJHR5cGU6ICRtb2RhbF9zZWNvbmRhcnktYnV0dG9uLXR5cGUsXG4gICAgICAgICAgICAgICAgJGljb25fcG9zOiAkbW9kYWxfc2Vjb25kYXJ5LWJ1dHRvbi1pY29uLXBvc1xuICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIG1pbi13aWR0aDogMTJyZW07XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKCc8cGhvbmVMZycpIHtcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxLjVyZW0gIWltcG9ydGFudDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgc3BhbiB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnV0dG9uLXNwYW4oXG4gICAgICAgICAgICAgICAgICAgICR0eXBlOiAkbW9kYWxfc2Vjb25kYXJ5LWJ1dHRvbi10eXBlLFxuICAgICAgICAgICAgICAgICAgICAkaWNvbl9wb3M6ICRtb2RhbF9zZWNvbmRhcnktYnV0dG9uLWljb24tcG9zXG4gICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLy8gU3R5bGUgZm9yIGNoZWNrb3V0IG1vZGFscyBoYXZlIHZlcnkgaGlnaCBzcGVjaWZpY2l0eSBpbiBtYWdlbnRvXG4gICAgICAgICAgICBib2R5LmNoZWNrb3V0LWluZGV4LWluZGV4ICYge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJ1dHRvbihcbiAgICAgICAgICAgICAgICAgICAgJHR5cGU6ICRtb2RhbF9zZWNvbmRhcnktYnV0dG9uLXR5cGUsXG4gICAgICAgICAgICAgICAgICAgICRpY29uX3BvczogJG1vZGFsX3NlY29uZGFyeS1idXR0b24taWNvbi1wb3NcbiAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgIG1pbi13aWR0aDogMTJyZW07XG5cbiAgICAgICAgICAgICAgICBzcGFuIHtcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgYnV0dG9uLXNwYW4oXG4gICAgICAgICAgICAgICAgICAgICAgICAkdHlwZTogJG1vZGFsX3NlY29uZGFyeS1idXR0b24tdHlwZSxcbiAgICAgICAgICAgICAgICAgICAgICAgICRpY29uX3BvczogJG1vZGFsX3NlY29uZGFyeS1idXR0b24taWNvbi1wb3NcbiAgICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBidXR0b246b25seS1jaGlsZCB7XG4gICAgICAgICAgICBAaW5jbHVkZSBidXR0b24oXG4gICAgICAgICAgICAgICAgJHR5cGU6ICRtb2RhbF9wcmltYXJ5LWJ1dHRvbi10eXBlLFxuICAgICAgICAgICAgICAgICRpY29uX3BvczogJG1vZGFsX3ByaW1hcnktYnV0dG9uLWljb24tcG9zXG4gICAgICAgICAgICApO1xuICAgICAgICAgICAgbWluLXdpZHRoOiAxMnJlbTtcblxuICAgICAgICAgICAgc3BhbiB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnV0dG9uLXNwYW4oXG4gICAgICAgICAgICAgICAgICAgICR0eXBlOiAkbW9kYWxfcHJpbWFyeS1idXR0b24tdHlwZSxcbiAgICAgICAgICAgICAgICAgICAgJGljb25fcG9zOiAkbW9kYWxfcHJpbWFyeS1idXR0b24taWNvbi1wb3NcbiAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLm1vZGFsLXRpdGxlIHtcbiAgICAgICAgQGluY2x1ZGUgaGVhZGxpbmUoJGxldmVsOiAkbW9kYWxfdGl0bGUtZm9udC1zaXplKTtcbiAgICAgICAgcGFkZGluZzogMnJlbTtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogJG1vZGFsX2luc2lkZS1ib3JkZXJzO1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgfVxufVxuXG4ubW9kYWwtcG9wdXAubW9kYWwtc2xpZGUge1xuICAgIC5tb2RhbC1pbm5lci13cmFwW2NsYXNzXSB7XG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCc8dGFibGV0Jykge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJG1vZGFsX3NsaWRlLW1vYmlsZS1iYWNrZ3JvdW5kO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4ubW9kYWwtc2xpZGUge1xuICAgIC5tb2RhbC1mb290ZXIge1xuICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPHBob25lTGcnKSB7XG4gICAgICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICAgIH1cblxuICAgICAgICAuYWN0aW9uLXByaW1hcnksXG4gICAgICAgIC5wcmltYXJ5IHtcbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKCc8cGhvbmVMZycpIHtcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5hY3Rpb24tc2Vjb25kYXJ5LFxuICAgICAgICAuc2Vjb25kYXJ5IHtcbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKCc8cGhvbmVMZycpIHtcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxLjVyZW0gIWltcG9ydGFudDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuLy8gRml4IGJ1ZyB3aXRoIG5vIGNsb3Npbmcgb3ZlcmxheSBvbiBtb2JpbGUuIFNlZSBodHRwczovL2dpdGh1Yi5jb20vbWFnZW50by9tYWdlbnRvMi9pc3N1ZXMvNzM5OSBmb3IgZGV0YWlsc1xuLm1vZGFsLXBvcHVwIHtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICB0b3VjaC1hY3Rpb246IG5vbmU7XG59XG5cbi5wYWdlLWxheW91dC1jaGVja291dCB7XG4gICAgLm1vZGFsLXBvcHVwOm5vdCguX2lubmVyLXNjcm9sbCkge1xuICAgICAgICBwb2ludGVyLWV2ZW50czogYXV0bztcbiAgICB9XG5cbiAgICAubW9kYWwtc2xpZGUge1xuICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPj10YWJsZXQnKSB7XG4gICAgICAgICAgICB3aWR0aDogODAlO1xuICAgICAgICAgICAgbWF4LXdpZHRoOiA2NXJlbTtcbiAgICAgICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLm1vZGFscy1vdmVybGF5IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbW9kYWxzX292ZXJsYXktYmFja2dyb3VuZDtcbn1cblxuYm9keS5faGFzLW1vZGFsLm1vZGFsLW5vLXNjcm9sbCB7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICAgIHdpZHRoOiAxMDB2dztcbiAgICBoZWlnaHQ6IDEwMHZoO1xuICAgIG92ZXJmbG93OiBpbml0aWFsO1xufVxuXG4vKiBzdHlsZWxpbnQtZW5hYmxlICovXG4iLCIvKioqXG4gKiBVc2luZyBwc3VlZG8gZWxlbWVudHMgdG8gbWFpbnRhaW4gYW4gZWxlbWVudHMgYXNwZWN0IHJhdGlvLCBldmVuIGFzIGl0IHNjYWxlc1xuICogSXQncyB1c2luZyBvbmx5IGZvciBJRTExIGFuZCBFZGdlICh2ZXJzaW9uIHdoaWNoIGRvZXNuJ3Qgc3VwcG9ydCBuYXRpdmUgQ1NTIGdyaWQpIGJyb3dzZXJzXG4gKiBGb3IgYnJvd3NlcnMgd2hpY2ggc3VwcG9ydCBuYXRpdmUgQ1NTIGdyaWQsIHdlIGFyZSB1c2luZyBtaXhpbnMgY29udGFpbiBgcmVzZXRgIGluIG1peGluIG5hbWVcbiAqIHRvIG92ZXJyaWRlIGRlZmF1bHQgbWl4aW5zIChwcm9ncmVzc2l2ZSBlbmhhbmNlbWVudClcbiAqIGh0dHBzOi8vY3NzLXRyaWNrcy5jb20vc25pcHBldHMvc2Fzcy9tYWludGFpbi1hc3BlY3QtcmF0aW8tbWl4aW4vXG4gKiBAcGFyYW0ge251bWJlcn0gJHdpZHRoOiB3aWR0aCBvZiB0aGUgZWxlbWVudDtcbiAqIEBwYXJhbSB7bnVtYmVyfSAkaGVpZ2h0OiBoZWlnaHQgb2YgdGhlIGVsZW1lbnQ7XG4gKiBAcGFyYW0ge3N0cmluZ30gJGNvbnRlbnRDbGFzczogY2xhc3Mgb2YgdGhlIGRpcmVjdCBjaGlsZCBlbGVtZW50IHRvIGJlIHBvc2l0aW9uZWQgYWJzb2x1dGVseTtcbiAqIEBwYXJhbSB7Ym9vbGVhbn0gJGF1dG9wb3NpdGlvbjogdGVsbHMgaWYgaXRlbSBzaGFsbCB0YWtlIDEwMCUgb2YgcGFyZW50IHNpemUgb3IgaWYgaXQgY2FuIGJlIHdpZGVyL2hpZ2hlciBpZiBuZWVkZWQ7XG4gKi9cblxuQGZ1bmN0aW9uIGdldC1hc3BlY3QtcmF0aW8tcGFkZGluZy12YWx1ZSgkd2lkdGgsICRoZWlnaHQpIHtcbiAgICBAcmV0dXJuICgkaGVpZ2h0IC8gJHdpZHRoKSAqIDEwMCU7XG59XG5cbkBtaXhpbiBhc3BlY3QtcmF0aW8oJHdpZHRoLCAkaGVpZ2h0LCAkY2hpbGRDbGFzcywgJGF1dG9wb3NpdGlvbjogdHJ1ZSkge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICY6YmVmb3JlIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgcGFkZGluZy10b3A6IGdldC1hc3BlY3QtcmF0aW8tcGFkZGluZy12YWx1ZSgkd2lkdGgsICRoZWlnaHQpO1xuICAgIH1cblxuICAgIC4jeyRjaGlsZENsYXNzfSB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICBsZWZ0OiAwO1xuXG4gICAgICAgIEBpZiAkYXV0b3Bvc2l0aW9uIHtcbiAgICAgICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICB9XG4gICAgfVxufVxuXG5AbWl4aW4gYXNwZWN0LXJhdGlvLXJlc2V0KCRjaGlsZENsYXNzLCAkYXV0b3Bvc2l0aW9uOiB0cnVlKSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgJjpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiBub25lO1xuICAgIH1cblxuICAgIC4jeyRjaGlsZENsYXNzfSB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgdG9wOiBhdXRvO1xuICAgICAgICBsZWZ0OiBhdXRvO1xuXG4gICAgICAgIEBpZiAkYXV0b3Bvc2l0aW9uIHtcbiAgICAgICAgICAgIHJpZ2h0OiBhdXRvO1xuICAgICAgICAgICAgYm90dG9tOiBhdXRvO1xuICAgICAgICB9XG4gICAgfVxufVxuXG5AbWl4aW4gYXNwZWN0LXJhdGlvLWNoaWxkLXBvc2l0aW9uKCRhdXRvcG9zaXRpb246IHRydWUpIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG5cbiAgICBAaWYgJGF1dG9wb3NpdGlvbiB7XG4gICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICBib3R0b206IDA7XG4gICAgfVxufVxuXG5AbWl4aW4gYXNwZWN0LXJhdGlvLW92ZXJyaWRlKCR3aWR0aCwgJGhlaWdodCkge1xuICAgICY6YmVmb3JlIHtcbiAgICAgICAgcGFkZGluZy10b3A6IGdldC1hc3BlY3QtcmF0aW8tcGFkZGluZy12YWx1ZSgkd2lkdGgsICRoZWlnaHQpO1xuICAgIH1cbn1cblxuQG1peGluIGFzcGVjdC1yYXRpby1vdmVycmlkZS1yZXNldCgpIHtcbiAgICAmOmJlZm9yZSB7XG4gICAgICAgIHBhZGRpbmctdG9wOiAwO1xuICAgIH1cbn1cbiIsIkBpbXBvcnQgJ2NvbmZpZy92YXJpYWJsZXMnO1xuQGltcG9ydCAndXRpbHMvYXNwZWN0LXJhdGlvJztcbkBpbXBvcnQgJ3ZlbmRvcnMvaW5jbHVkZS1tZWRpYSc7XG5cbiRuYXZpZ2F0aW9uX2ZvbnQtc2l6ZTogMS4ycmVtICFkZWZhdWx0O1xuJG5hdmlnYXRpb25fbHZsLTEtZm9udC1zaXplOiAxLjRyZW0gIWRlZmF1bHQ7XG4kbmF2aWdhdGlvbl9sdmwtMi1mb250LXNpemU6IDEuNHJlbSAhZGVmYXVsdDtcblxuJG5hdmlnYXRpb25fb3ZlcmxheS1zaG93OiBmYWxzZSAhZGVmYXVsdDtcbi8vIEJveCBzaGFkb3cgZWZmZWN0IGFwcGxpZWQgZm9yIHRoZSBmbHlvdXQuXG4kbmF2aWdhdGlvbl9mbHlvdXQtYm94LXNoYWRvdzogMnB4IDJweCA1cHggcmdiYSgkY29sb3JfYmFja2dyb3VuZC04MDAsIDAuMTUpICFkZWZhdWx0O1xuLy8gRmx5b3V0IGJhY2tncm91bmQgY29sb3IuXG4kbmF2aWdhdGlvbl9mbHlvdXQtYmFja2dyb3VuZDogJGNvbG9yX2JhY2tncm91bmQtMjAwICFkZWZhdWx0O1xuLy8gQ29sb3Igb2YgdGhlIGxpbmsuXG4kbmF2aWdhdGlvbl9saW5rLWNvbG9yOiAkY29sb3JfdGV4dC05MDAgIWRlZmF1bHQ7XG4vLyBDb2xvciBvZiB0aGUgbGluayBpbiB0aGUgZmx5b3V0IG9uIGhvdmVyLlxuJG5hdmlnYXRpb25fbGluay1jb2xvci1ob3ZlcjogJGNvbG9yX3ByaW1hcnktNTAwICFkZWZhdWx0O1xuLy8gQm90dG9tIGJvcmRlciBjb25maWd1cmF0aW9uIGZvciBmbHlvdXQgY2F0ZWdvcnkgbGlua3MuXG4kbmF2aWdhdGlvbl9saW5rLWJvcmRlcjogMXB4IHNvbGlkICRjb2xvcl9ib3JkZXItNTAwICFkZWZhdWx0O1xuJG5hdmlnYXRpb25fbGlzdHMtbWFyay1wYXJlbnQtb24taG92ZXI6IHRydWUgIWRlZmF1bHQ7XG5cbiRuYXZpZ2F0aW9uX2xpbmstaWNvbi1zaXplLXdpZHRoOiAycmVtICFkZWZhdWx0O1xuJG5hdmlnYXRpb25fbGluay1pY29uLXNpemUtaGVpZ2h0OiAkbmF2aWdhdGlvbl9saW5rLWljb24tc2l6ZS13aWR0aCAhZGVmYXVsdDtcbi8vIHdvcmtzIG9ubHkgZm9yIHN2ZyBpY29uc1xuJG5hdmlnYXRpb25fbGluay1pY29uLWNvbG9yOiAkY29sb3JfdGV4dC02MDAgIWRlZmF1bHQ7XG4kbmF2aWdhdGlvbl9saW5rLWljb24tY29sb3ItLWhvdmVyOiAkY29sb3JfcHJpbWFyeS01MDAgIWRlZmF1bHQ7XG5cbi4jeyRuc31uYXZpZ2F0aW9uIHtcbiAgICAkcm9vdDogJjtcblxuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgZm9udC1zaXplOiAkbmF2aWdhdGlvbl9mb250LXNpemU7XG5cbiAgICAmX19saXN0IHtcbiAgICAgICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgbWFyZ2luOiAwO1xuXG4gICAgICAgICYtLW1haW4ge1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgICAgICAuY3MtbmF2aWdhdGlvbl9faXRlbS0tbWFpbntcbiAgICAgICAgICAgICAgICAmOm50aC1jaGlsZCg2KXtcbiAgICAgICAgICAgICAgICAgICAgYXtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkY29sb3JfcHJpbWFyeS01MDA7XG4gICAgICAgICAgICAgICAgICAgICAgICAmOjpiZWZvcmV7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29udGVudDogdXJsKCcuLi8uLi8uLi90aGVtZS1wYXBpbGFydC9wbF9QTC9pbWFnZXMvaWNvbnMvcGRmLnN2ZycpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTRweDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDE0cHg7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiA0cHg7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAuY3MtbmF2aWdhdGlvbl9faXRlbS0tbWFpbntcbiAgICAgICAgICAgICAgICAmOm50aC1jaGlsZCg3KXtcbiAgICAgICAgICAgICAgICAgICAgYXtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAjN0I5NjQzO1xuICAgICAgICAgICAgICAgICAgICAgICAgJjo6YmVmb3Jle1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6IHVybCgnLi4vLi4vLi4vdGhlbWUtcGFwaWxhcnQvcGxfUEwvaW1hZ2VzL2ljb25zL3BkZi1ncmVlbi5zdmcnKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDE0cHg7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAxNHB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogNHB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgJjpob3ZlcntcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogIzdCOTY0MztcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICYtLWFsbC1jYXRlZ29yaWVzIHtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgY29sdW1uczogYXV0byAxO1xuICAgICAgICAgICAgY29sdW1uLWdhcDogMDtcbiAgICAgICAgICAgIGZsZXg6IDEgMCBhdXRvO1xuICAgICAgICB9XG5cbiAgICAgICAgJi0tbGV2ZWwge1xuICAgICAgICAgICAgJl8xIHtcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICBjb2x1bW5zOiBhdXRvIDE7XG4gICAgICAgICAgICAgICAgY29sdW1uLWdhcDogMDtcbiAgICAgICAgICAgICAgICBmbGV4OiAxIDAgYXV0bztcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJl8yIHtcbiAgICAgICAgICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmLS1oaWRkZW4ge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcblxuICAgICAgICAgICAgJisuI3skbnN9bmF2aWdhdGlvbl9fZXh0cmFzIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgI3skcm9vdH1fX2l0ZW0tLW5vLWNoaWxkcmVuIHtcbiAgICAgICAgICAgICY6bnRoLWNoaWxkKDIpIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLXRvcDogMXJlbTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJjpsYXN0LW9mLXR5cGUge1xuICAgICAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAxcmVtO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9faXRlbSB7XG4gICAgICAgIGZvbnQtc2l6ZTogJG5hdmlnYXRpb25fZm9udC1zaXplO1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgICAgIEBpZiAoJG5hdmlnYXRpb25fbGlzdHMtbWFyay1wYXJlbnQtb24taG92ZXIpIHtcblxuICAgICAgICAgICAgJi0tYWN0aXZlLFxuICAgICAgICAgICAgJi5hY3RpdmUsXG4gICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICAmOm5vdChbZGF0YS1jYXRlZ29yeS1pZGVudGlmaWVyPSdhbGwtY2F0ZWdvcmllcyddKSB7XG4gICAgICAgICAgICAgICAgICAgID4jeyRyb290fV9fbGluayB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogJG5hdmlnYXRpb25fbGluay1jb2xvci1ob3ZlcjtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIEBlbHNlIHtcbiAgICAgICAgICAgICYtLW1haW4ge1xuXG4gICAgICAgICAgICAgICAgJjpob3ZlcixcbiAgICAgICAgICAgICAgICAmLmFjdGl2ZSxcbiAgICAgICAgICAgICAgICAmI3skcm9vdH1fX2l0ZW0tLWFjdGl2ZSB7XG4gICAgICAgICAgICAgICAgICAgICY6bm90KFtkYXRhLWNhdGVnb3J5LWlkZW50aWZpZXI9J2FsbC1jYXRlZ29yaWVzJ10pIHtcbiAgICAgICAgICAgICAgICAgICAgICAgID4jeyRyb290fV9fbGluayB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRuYXZpZ2F0aW9uX2xpbmstY29sb3ItaG92ZXI7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmLS1tYWluIHtcbiAgICAgICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICAgICAgZm9udC1zaXplOiAxLjZlbTtcblxuICAgICAgICAgICAgJjpmaXJzdC1vZi10eXBlIHtcbiAgICAgICAgICAgICAgICA+I3skcm9vdH1fX2xpbms6bm90KCN7JHJvb3R9X19saW5rLS13aXRoLWljb24pIHtcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJjpsYXN0LW9mLXR5cGUge1xuICAgICAgICAgICAgICAgID4jeyRyb290fV9fbGluayB7XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJi0tYWxsLWNhdGVnb3JpZXMge1xuICAgICAgICAgICAgcGFkZGluZzogMXJlbTtcbiAgICAgICAgICAgIC8vIFByZXZlbnRzIGVsZW1lbnQgYnJlYWtpbmcgYmVjYXVzZSBvZiBjb2x1bW4gbGF5b3V0LlxuICAgICAgICAgICAgcGFnZS1icmVhay1pbnNpZGU6IGF2b2lkO1xuICAgICAgICAgICAgLyogVGhlb3JldGljYWxseSBGRiAyMCsgKi9cbiAgICAgICAgICAgIGJyZWFrLWluc2lkZTogYXZvaWQtY29sdW1uO1xuICAgICAgICAgICAgLyogSUUgMTEgKi9cbiAgICAgICAgICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgICAgICB9XG5cbiAgICAgICAgJi0tbGV2ZWwge1xuICAgICAgICAgICAgJl8xIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAxcmVtO1xuICAgICAgICAgICAgICAgIC8vIFByZXZlbnRzIGVsZW1lbnQgYnJlYWtpbmcgYmVjYXVzZSBvZiBjb2x1bW4gbGF5b3V0LlxuICAgICAgICAgICAgICAgIHBhZ2UtYnJlYWstaW5zaWRlOiBhdm9pZDtcbiAgICAgICAgICAgICAgICAvKiBUaGVvcmV0aWNhbGx5IEZGIDIwKyAqL1xuICAgICAgICAgICAgICAgIGJyZWFrLWluc2lkZTogYXZvaWQtY29sdW1uO1xuICAgICAgICAgICAgICAgIC8qIElFIDExICovXG4gICAgICAgICAgICAgICAgZGlzcGxheTogdGFibGU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmLS1oaWRkZW4ge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2xpbmsge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gICAgICAgIHBhZGRpbmc6IDFyZW0gNHJlbTtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG5cbiAgICAgICAgJixcbiAgICAgICAgJjp2aXNpdGVkIHtcbiAgICAgICAgICAgIGNvbG9yOiAkbmF2aWdhdGlvbl9saW5rLWNvbG9yO1xuICAgICAgICB9XG5cbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgICAgICBjb2xvcjogJG5hdmlnYXRpb25fbGluay1jb2xvci1ob3ZlcjtcblxuICAgICAgICAgICAgI3skcm9vdH1fX2xpbmstaWNvbi0tc3ZnIHtcbiAgICAgICAgICAgICAgICBwYXRoIHtcbiAgICAgICAgICAgICAgICAgICAgZmlsbDogJG5hdmlnYXRpb25fbGluay1pY29uLWNvbG9yLS1ob3ZlcjtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmLS1tYWluIHtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICAgIH1cblxuICAgICAgICAmLS1hbGwtY2F0ZWdvcmllcyB7XG4gICAgICAgICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogJG5hdmlnYXRpb25fbGluay1ib3JkZXI7XG4gICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMS42ZW07XG4gICAgICAgIH1cblxuICAgICAgICAmLS1sZXZlbCB7XG4gICAgICAgICAgICAmXzEge1xuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgICAgIGJvcmRlci1ib3R0b206ICRuYXZpZ2F0aW9uX2xpbmstYm9yZGVyO1xuICAgICAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAwLjVyZW07XG4gICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAxcmVtO1xuICAgICAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDFyZW07XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAkbmF2aWdhdGlvbl9sdmwtMS1mb250LXNpemU7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICZfMiB7XG4gICAgICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAkbmF2aWdhdGlvbl9sdmwtMi1mb250LXNpemU7XG4gICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAxcmVtO1xuICAgICAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDFyZW07XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmLS13aXRoLWljb24ge1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAkbmF2aWdhdGlvbl9saW5rLWljb24tc2l6ZS13aWR0aCArIDFyZW07XG4gICAgICAgIH1cblxuICAgICAgICAmLWljb24td3JhcHBlciB7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICB3aWR0aDogJG5hdmlnYXRpb25fbGluay1pY29uLXNpemUtd2lkdGg7XG4gICAgICAgICAgICBoZWlnaHQ6ICRuYXZpZ2F0aW9uX2xpbmstaWNvbi1zaXplLWhlaWdodDtcbiAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAwLjhlbTtcbiAgICAgICAgfVxuXG4gICAgICAgICYtaWNvbiB7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTUwJSwgLTUwJSwgMCk7XG4gICAgICAgICAgICBoZWlnaHQ6ICRuYXZpZ2F0aW9uX2xpbmstaWNvbi1zaXplLXdpZHRoO1xuICAgICAgICAgICAgd2lkdGg6ICRuYXZpZ2F0aW9uX2xpbmstaWNvbi1zaXplLWhlaWdodDtcblxuICAgICAgICAgICAgI3skcm9vdH1fX2xpbmstLWNhdGVnb3J5ICYge1xuICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IC0wLjVyZW07XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICYtLXN2ZyB7XG4gICAgICAgICAgICAgICAgcGF0aCB7XG4gICAgICAgICAgICAgICAgICAgIGZpbGw6ICRuYXZpZ2F0aW9uX2xpbmstaWNvbi1jb2xvcjtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmLXByb2R1Y3RzLXF0eSB7XG4gICAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgY29udGVudDogJygnO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgICAgICBjb250ZW50OiAnKSc7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvL1N0eWxpbmcgZm9yIGNhdGVnb3JpZXMgbGV2ZWxfMSB3aXRoIG5vIHN1YmNhdGVnb3JpZXNcbiAgICAjeyRyb290fV9faXRlbS0tbm8tY2hpbGRyZW4ge1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgIH1cblxuICAgICN7JHJvb3R9X19pdGVtLS1uby1jaGlsZHJlbj4jeyRyb290fV9fbGluay0tbGV2ZWxfMSB7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICAgICAgICBmb250LXNpemU6IDEuMTJlbTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgICAgcGFkZGluZzogMC45ZW0gMS41ZW07XG4gICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgY29sb3I6ICRuYXZpZ2F0aW9uX2xpbmstY29sb3I7XG4gICAgfVxuXG4gICAgJl9fZmx5b3V0IHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICBiYWNrZ3JvdW5kOiAkbmF2aWdhdGlvbl9mbHlvdXQtYmFja2dyb3VuZDtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgICAgICB6LWluZGV4OiAxMDAxOyAvLyBNYWtlIHN1cmUgZmx5b3V0cyBjb3ZlciBnYWxsZXJ5IG5hdi5cbiAgICAgICAgYm94LXNoYWRvdzogJG5hdmlnYXRpb25fZmx5b3V0LWJveC1zaGFkb3c7XG4gICAgICAgIG1hcmdpbi10b3A6IC0xcHg7XG5cbiAgICAgICAgJi0tdmlzaWJsZSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICB9XG5cbiAgICAgICAgc3ZnIHtcbiAgICAgICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgICAgICB9XG5cbiAgICAgICAgbGkge1xuICAgICAgICAgICAgQHN1cHBvcnRzICgtbXMtaW1lLWFsaWduOiBhdXRvKSB7XG4gICAgICAgICAgICAgICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICAgICAgICAgICAgICBsaXN0LXN0eWxlLWltYWdlOiB1cmwoZGF0YTppbWFnZS9wbmc7YmFzZTY0LGlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUFBRUFBQUFCQ0FRQUFBQzFIQXdDQUFBQUMwbEVRVlI0Mm1Oa1lBQUFBQVlBQWpDQjBDOEFBQUFBU1VWT1JLNUNZSUk9KTtcbiAgICAgICAgICAgICAgICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19leHRyYXMge1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgfVxuXG4gICAgJl9fdGVhc2VyIHtcbiAgICAgICAgbWF4LWhlaWdodDogMTAwJTtcbiAgICAgICAgcGFkZGluZzogMWVtIDA7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDAgIWltcG9ydGFudDtcblxuICAgICAgICAmLS1oaWRkZW4ge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX3Byb2R1Y3RzIHtcbiAgICAgICAgcGFkZGluZzogMC41ZW0gMWVtO1xuICAgICAgICBtaW4td2lkdGg6IDI0cmVtO1xuXG4gICAgICAgICYtaGVhZGVyIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgY29sb3I6ICRuYXZpZ2F0aW9uX2xpbmstY29sb3I7XG4gICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogJG5hdmlnYXRpb25fbGluay1ib3JkZXI7XG4gICAgICAgICAgICBwYWRkaW5nOiAxLjFlbSAxLjA1ZW0gMS41NWVtO1xuICAgICAgICAgICAgZm9udC1zaXplOiAwLjllbTtcbiAgICAgICAgfVxuXG4gICAgICAgICYtbGlzdCB7XG4gICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICAgICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX3Byb2R1Y3Qge1xuICAgICAgICBAaW5jbHVkZSBhc3BlY3QtcmF0aW8oJHdpZHRoOiAkdGlsZV9hc3BlY3QtcmF0aW8td2lkdGgsXG4gICAgICAgICAgICAkaGVpZ2h0OiAkdGlsZV9hc3BlY3QtcmF0aW8taGVpZ2h0LFxuICAgICAgICAgICAgJGNoaWxkQ2xhc3M6ICN7JG5zfXByb2R1Y3QtdGlsZSxcbiAgICAgICAgICAgICRhdXRvcG9zaXRpb246IHRydWUpO1xuICAgIH1cblxuICAgICZfX292ZXJsYXkge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHotaW5kZXg6IDEwMDA7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICMwMDA7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBoZWlnaHQ6IDA7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgM3JlbSwgMCk7XG4gICAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC4xNXMgbGluZWFyLFxuICAgICAgICAgICAgdHJhbnNmb3JtIDAuMnMgY3ViaWMtYmV6aWVyKDAsIDAuOTcsIDAuMDUsIDAuOTkpO1xuXG4gICAgICAgIEBpZiAkbmF2aWdhdGlvbl9vdmVybGF5LXNob3cge1xuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz49dGFibGV0Jykge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJi0tdmlzaWJsZSB7XG4gICAgICAgICAgICBvcGFjaXR5OiAwLjg7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnBhZ2UtcHJpbnQgJiB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuXG4gICAgQHN1cHBvcnRzIChkaXNwbGF5OiBncmlkKSBhbmQgKGdyaWQtYXV0by1mbG93OiByb3cpIHtcbiAgICAgICAgJl9fcHJvZHVjdCB7XG4gICAgICAgICAgICBAaW5jbHVkZSBhc3BlY3QtcmF0aW8tcmVzZXQoJGNoaWxkQ2xhc3M6ICN7JG5zfXByb2R1Y3QtdGlsZSxcbiAgICAgICAgICAgICAgICAkYXV0b3Bvc2l0aW9uOiB0cnVlKTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLiN7JG5zfWNvbnRhaW5lciB7XG4gICAgJi0tbmF2aWdhdGlvbiB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz49bGFwdG9wJykge1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIH1cbiAgICB9XG59IiwiLyoqXG4gKiBCcmVha3BvaW50IGNvbXBvbmVudCB1c2VkIGJ5IGluY2x1ZGUtbWVkaWEgdmVuZG9yIGxpYnJhcnkuXG4gKi9cbkB1c2UgJ3Nhc3M6bWFwJztcbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuLyoqXG4gKiBCcmVha3BvaW50IGNvbXBvbmVudCB1c2VkIGJ5IGluY2x1ZGUtbWVkaWEgdmVuZG9yIGxpYnJhcnkuXG4gKi9cbkB1c2UgJ3Nhc3M6bWFwJztcbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuLyoqKlxuICogSGlkZSBvbmx5IHZpc3VhbGx5LCBidXQgaGF2ZSBpdCBhdmFpbGFibGUgZm9yIHNjcmVlbiByZWFkZXJzOlxuICogaHR0cHM6Ly9zbm9vay5jYS9hcmNoaXZlcy9odG1sX2FuZF9jc3MvaGlkaW5nLWNvbnRlbnQtZm9yLWFjY2Vzc2liaWxpdHlcbiAqXG4gKiAxLiBGb3IgbG9uZyBjb250ZW50LCBsaW5lIGZlZWRzIGFyZSBub3QgaW50ZXJwcmV0ZWQgYXMgc3BhY2VzIGFuZCBzbWFsbCB3aWR0aFxuICogICAgY2F1c2VzIGNvbnRlbnQgdG8gd3JhcCAxIHdvcmQgcGVyIGxpbmU6XG4gKiAgICBodHRwczovL21lZGl1bS5jb20vQGplc3NlYmVhY2gvYmV3YXJlLXNtdXNoZWQtb2ZmLXNjcmVlbi1hY2Nlc3NpYmxlLXRleHQtNTk1MmE0YzJjYmZlXG4gKlxuICogQHNlZSBodHRwczovL2dpdGh1Yi5jb20vaDVicC9odG1sNS1ib2lsZXJwbGF0ZS9ibG9iL21hc3Rlci9zcmMvY3NzL21haW4uY3NzI0wxMzBcbiAqL1xuLyoqXG4gKiBCcmVha3BvaW50IGNvbXBvbmVudCB1c2VkIGJ5IGluY2x1ZGUtbWVkaWEgdmVuZG9yIGxpYnJhcnkuXG4gKi9cbkB1c2UgJ3Nhc3M6bWFwJztcbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuLypcbiAqIEZ1bmN0aW9uIHRvIGdldCB2YWx1ZSBmcm9tIGEgbGlzdCBvZiB2YWx1ZXMsIGJhc2VkIG9uIHNpZGVcbiAqIEBwYXJhbSB7c3RyaW5nfSAkdmFyaWFibGU6IHZhcmlhYmxlIHdpdGggYSBsaXN0IG9mIHZhbHVlcyAobGlrZSBwYWRkaW5ncywgbWFyZ2lucyBldGMuKTtcbiAqIEBwYXJhbSB7c3RyaW5nfSAkc2lkZTogc2lkZSAodXAgLyByaWdodCAvIGRvd24gLyBsZWZ0KSBmb3Igd2hpY2ggd2Ugd2FudCB0byBnZXQgdmFsdWVcbiAqIEV4YW1wbGU6XG4gKiAkY29tcG9uZW50X3BhZGRpbmc6IDFyZW0gMnJlbSAzcmVtO1xuICogZ2V0LXZhbHVlLWZyb20tbGlzdCgkY29tcG9uZW50X3BhZGRpbmcsICdyaWdodCcpIC8vIDJyZW1cbiAqIGdldC12YWx1ZS1mcm9tLWxpc3QoJGNvbXBvbmVudF9wYWRkaW5nLCAnYm90dG9tJykgLy8gM3JlbVxuICovXG4vKiBzdHlsZWxpbnQtZGlzYWJsZSBibG9jay1uby1lbXB0eSAqL1xuLyogc3R5bGVsaW50LWVuYWJsZSAqL1xuLyogc3R5bGVsaW50LWRpc2FibGUgYmxvY2stbm8tZW1wdHkgKi9cbi8qIHN0eWxlbGludC1lbmFibGUgKi9cbi8qIFJhZGlvIGFuZCBjaGVja2JveCBzdHlsaW5nICovXG4vKlxuICogRnVuY3Rpb24gdG8gZ2V0IHZhbHVlIGZyb20gYSBsaXN0IG9mIHZhbHVlcywgYmFzZWQgb24gc2lkZVxuICogQHBhcmFtIHtzdHJpbmd9ICR2YXJpYWJsZTogdmFyaWFibGUgd2l0aCBhIGxpc3Qgb2YgdmFsdWVzIChsaWtlIHBhZGRpbmdzLCBtYXJnaW5zIGV0Yy4pO1xuICogQHBhcmFtIHtzdHJpbmd9ICRzaWRlOiBzaWRlICh1cCAvIHJpZ2h0IC8gZG93biAvIGxlZnQpIGZvciB3aGljaCB3ZSB3YW50IHRvIGdldCB2YWx1ZVxuICogRXhhbXBsZTpcbiAqICRjb21wb25lbnRfcGFkZGluZzogMXJlbSAycmVtIDNyZW07XG4gKiBnZXQtdmFsdWUtZnJvbS1saXN0KCRjb21wb25lbnRfcGFkZGluZywgJ3JpZ2h0JykgLy8gMnJlbVxuICogZ2V0LXZhbHVlLWZyb20tbGlzdCgkY29tcG9uZW50X3BhZGRpbmcsICdib3R0b20nKSAvLyAzcmVtXG4gKi9cbi8qIHN0eWxlbGludC1kaXNhYmxlIGJsb2NrLW5vLWVtcHR5ICovXG4vKiBzdHlsZWxpbnQtZW5hYmxlICovXG4uY3MtbmV3c2xldHRlciB7XG4gIG1hcmdpbjogMDtcbiAgd2lkdGg6IDEwMCU7IH1cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDQ3Ljk5ZW0pIHtcbiAgICAuY3MtbmV3c2xldHRlciB7XG4gICAgICBwYWRkaW5nOiAwIDEuNXJlbTsgfSB9XG4gIC5jcy1uZXdzbGV0dGVyX19mb3JtIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAuY3MtbmV3c2xldHRlcl9fZm9ybSB7XG4gICAgICAgIG1heC13aWR0aDogMzRyZW07IH0gfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAuY3MtbmV3c2xldHRlcl9fZm9ybSB7XG4gICAgICAgIG1heC13aWR0aDogMTAwJTsgfSB9XG4gIC5jcy1uZXdzbGV0dGVyX19mb3JtLXdyYXBwZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1iYXNpczogMTAwJTsgfVxuICAuY3MtbmV3c2xldHRlcl9fZmllbGQge1xuICAgIGZsZXgtYmFzaXM6IDEwMCU7IH1cbiAgLmNzLW5ld3NsZXR0ZXJfX2lucHV0IHtcbiAgICBtYXJnaW4tdG9wOiAwICFpbXBvcnRhbnQ7XG4gICAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDAgIWltcG9ydGFudDtcbiAgICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogMCAhaW1wb3J0YW50OyB9XG4gIC5jcy1uZXdzbGV0dGVyX19sYWJlbCB7XG4gICAgYm9yZGVyOiAwO1xuICAgIGNsaXA6IHJlY3QoMCAwIDAgMCk7XG4gICAgaGVpZ2h0OiAxcHg7XG4gICAgbWFyZ2luOiAtMXB4O1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgcGFkZGluZzogMDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgd2lkdGg6IDFweDtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIC8qIDEgKi8gfVxuICAuY3MtbmV3c2xldHRlcl9fYWN0aW9ucyB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogc3RyZXRjaDtcbiAgICBoZWlnaHQ6IDRyZW07IH1cbiAgLmNzLW5ld3NsZXR0ZXJfX2J1dHRvbiB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGZvbnQtc2l6ZTogMS44cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsaW5lLWhlaWdodDogMS4yNzVlbTtcbiAgICBtYXJnaW46IDA7XG4gICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gICAgcGFkZGluZzogMC43NWVtIDFlbTtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC41cywgYm9yZGVyLWNvbG9yIDAuNXMsIGZpbGwgMC41cywgY29sb3IgMC41cztcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgIHotaW5kZXg6IDU7XG4gICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogMCAhaW1wb3J0YW50O1xuICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDAgIWltcG9ydGFudDsgfVxuICAgIC5jcy1uZXdzbGV0dGVyX19idXR0b246Oi1tb3otZm9jdXMtaW5uZXIge1xuICAgICAgYm9yZGVyOiAwO1xuICAgICAgcGFkZGluZzogMDtcbiAgICAgIG1hcmdpbjogMDsgfVxuICAgIC5jcy1uZXdzbGV0dGVyX19idXR0b24sIC5jcy1uZXdzbGV0dGVyX19idXR0b246dmlzaXRlZCB7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICBib3JkZXItcmFkaXVzOiAyMDBweDtcbiAgICAgIG91dGxpbmUtb2Zmc2V0OiAxcHg7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICBib3gtc2hhZG93OiBub25lO1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgICBjb2xvcjogI2ZmZjtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICM3ZTU3YzI7IH1cbiAgICAgIC5jcy1uZXdzbGV0dGVyX19idXR0b24gKiwgLmNzLW5ld3NsZXR0ZXJfX2J1dHRvbjp2aXNpdGVkICoge1xuICAgICAgICBjb2xvcjogI2ZmZjtcbiAgICAgICAgZmlsbDogI2ZmZjsgfVxuICAgIC5jcy1uZXdzbGV0dGVyX19idXR0b246aG92ZXI6bm90KFtkaXNhYmxlZF0pLCAuY3MtbmV3c2xldHRlcl9fYnV0dG9uOmZvY3VzOm5vdChbZGlzYWJsZWRdKSwgLmNzLW5ld3NsZXR0ZXJfX2J1dHRvbjphY3RpdmU6bm90KFtkaXNhYmxlZF0pIHtcbiAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgICBvdXRsaW5lOiBub25lO1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgICBjb2xvcjogI2ZmZjtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICM0ZDJjOTE7IH1cbiAgICAgIC5jcy1uZXdzbGV0dGVyX19idXR0b246aG92ZXI6bm90KFtkaXNhYmxlZF0pICosIC5jcy1uZXdzbGV0dGVyX19idXR0b246Zm9jdXM6bm90KFtkaXNhYmxlZF0pICosIC5jcy1uZXdzbGV0dGVyX19idXR0b246YWN0aXZlOm5vdChbZGlzYWJsZWRdKSAqIHtcbiAgICAgICAgY29sb3I6ICNmZmY7XG4gICAgICAgIGZpbGw6ICNmZmY7IH1cbiAgICAuY3MtbmV3c2xldHRlcl9fYnV0dG9uW2Rpc2FibGVkXSB7XG4gICAgICBvcGFjaXR5OiAwLjY1O1xuICAgICAgY3Vyc29yOiBhdXRvOyB9XG4gIC5jcy1uZXdzbGV0dGVyX19idXR0b24taWNvbiB7XG4gICAgbWF4LXdpZHRoOiAxZW07XG4gICAgbWF4LWhlaWdodDogMS44cmVtO1xuICAgIHotaW5kZXg6IDI7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB0b3A6IDAuMWVtO1xuICAgIHdpZHRoOiAwLjhlbTtcbiAgICBoZWlnaHQ6IDAuOGVtO1xuICAgIG1hcmdpbi1yaWdodDogMDsgfVxuIiwiQGltcG9ydCAnY29uZmlnL3ZhcmlhYmxlcyc7XG5AaW1wb3J0ICd2ZW5kb3JzL2luY2x1ZGUtbWVkaWEnO1xuQGltcG9ydCAndXRpbHMvdmlzdWFsbHktaGlkZGVuJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvZmllbGQvbWl4aW4nO1xuQGltcG9ydCAnY29tcG9uZW50cy9idXR0b24vbWl4aW4nO1xuXG4kaW5wdXRfcGFkZGluZzogMC43MTVlbSAxZW0gIWRlZmF1bHQ7XG4kaW5wdXRfYm9yZGVyOiAxcHggc29saWQgJGNvbG9yX2FsdG8gIWRlZmF1bHQ7XG4kaW5wdXRfYm9yZGVyLXJhZGl1czogJGJvcmRlci1yYWRpdXNfYmFzZSAhZGVmYXVsdDtcblxuJG5ld3NsZXR0ZXJfbWFyZ2luOiAwICFkZWZhdWx0O1xuJG5ld3NsZXR0ZXJfcGFkZGluZzogMCAxLjVyZW0gIWRlZmF1bHQ7XG5cbiRuZXdzbGV0dGVyX2Zvcm0tbWF4LXdpZHRoOiAzNHJlbSAhZGVmYXVsdDtcbiRuZXdzbGV0dGVyX2Zvcm0taGVpZ2h0OiA0cmVtICFkZWZhdWx0O1xuXG4kbmV3c2xldHRlcl9idXR0b24tdHlwZTogJGJ1dHRvbl9kZWZhdWx0LXR5cGUgIWRlZmF1bHQ7XG4kbmV3c2xldHRlcl9idXR0b24taWNvbi1wb3M6ICdvbmx5LWljb24nICFkZWZhdWx0O1xuXG4kbmV3c2xldHRlcl9idXR0b24taWNvbi13aWR0aDogMC44ZW0gIWRlZmF1bHQ7XG4kbmV3c2xldHRlcl9idXR0b24taWNvbi1oZWlnaHQ6IDAuOGVtICFkZWZhdWx0O1xuXG4uI3skbnN9bmV3c2xldHRlciB7XG4gICAgbWFyZ2luOiAkbmV3c2xldHRlcl9tYXJnaW47XG4gICAgd2lkdGg6IDEwMCU7XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgnPHRhYmxldCcpIHtcbiAgICAgICAgcGFkZGluZzogJG5ld3NsZXR0ZXJfcGFkZGluZztcbiAgICB9XG5cbiAgICAmX19mb3JtIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz49dGFibGV0Jykge1xuICAgICAgICAgICAgbWF4LXdpZHRoOiAkbmV3c2xldHRlcl9mb3JtLW1heC13aWR0aDtcbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PWxhcHRvcCcpIHtcbiAgICAgICAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2Zvcm0td3JhcHBlciB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtYmFzaXM6IDEwMCU7XG4gICAgfVxuXG4gICAgJl9fZmllbGQge1xuICAgICAgICBmbGV4LWJhc2lzOiAxMDAlO1xuICAgIH1cblxuICAgICZfX2lucHV0IHtcbiAgICAgICAgbWFyZ2luLXRvcDogMCAhaW1wb3J0YW50O1xuICAgICAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogMCAhaW1wb3J0YW50O1xuICAgICAgICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogMCAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgICZfX2xhYmVsIHtcbiAgICAgICAgQGluY2x1ZGUgdmlzdWFsbHktaGlkZGVuKCk7XG4gICAgfVxuXG4gICAgJl9fYWN0aW9ucyB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xuICAgICAgICBoZWlnaHQ6ICRuZXdzbGV0dGVyX2Zvcm0taGVpZ2h0O1xuICAgIH1cblxuICAgICZfX2J1dHRvbiB7XG4gICAgICAgIEBpbmNsdWRlIGJ1dHRvbihcbiAgICAgICAgICAgICR0eXBlOiAkbmV3c2xldHRlcl9idXR0b24tdHlwZSxcbiAgICAgICAgICAgICRpY29uX3BvczogJG5ld3NsZXR0ZXJfYnV0dG9uLWljb24tcG9zXG4gICAgICAgICk7XG5cbiAgICAgICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogMCAhaW1wb3J0YW50O1xuICAgICAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAwICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgJl9fYnV0dG9uLWljb24ge1xuICAgICAgICBAaW5jbHVkZSBidXR0b24taWNvbihcbiAgICAgICAgICAgICR0eXBlOiAkbmV3c2xldHRlcl9idXR0b24tdHlwZSxcbiAgICAgICAgICAgICRpY29uX3BvczogJG5ld3NsZXR0ZXJfYnV0dG9uLWljb24tcG9zXG4gICAgICAgICk7XG5cbiAgICAgICAgd2lkdGg6ICRuZXdzbGV0dGVyX2J1dHRvbi1pY29uLXdpZHRoO1xuICAgICAgICBoZWlnaHQ6ICRuZXdzbGV0dGVyX2J1dHRvbi1pY29uLWhlaWdodDtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIH1cbn1cbiIsIi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG5AdXNlICdzYXNzOm1hcCc7XG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG4vKipcbiogRGVmYXVsdCBwcm9qZWN0IGJyZWFrcG9pbnRzIC0gW2VtXVxuKi9cbi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG5AdXNlICdzYXNzOm1hcCc7XG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG4vKipcbiogRGVmYXVsdCBwcm9qZWN0IGJyZWFrcG9pbnRzIC0gW2VtXVxuKi9cbi8qXG4gKiBGdW5jdGlvbiB0byBnZXQgdmFsdWUgZnJvbSBhIGxpc3Qgb2YgdmFsdWVzLCBiYXNlZCBvbiBzaWRlXG4gKiBAcGFyYW0ge3N0cmluZ30gJHZhcmlhYmxlOiB2YXJpYWJsZSB3aXRoIGEgbGlzdCBvZiB2YWx1ZXMgKGxpa2UgcGFkZGluZ3MsIG1hcmdpbnMgZXRjLik7XG4gKiBAcGFyYW0ge3N0cmluZ30gJHNpZGU6IHNpZGUgKHVwIC8gcmlnaHQgLyBkb3duIC8gbGVmdCkgZm9yIHdoaWNoIHdlIHdhbnQgdG8gZ2V0IHZhbHVlXG4gKiBFeGFtcGxlOlxuICogJGNvbXBvbmVudF9wYWRkaW5nOiAxcmVtIDJyZW0gM3JlbTtcbiAqIGdldC12YWx1ZS1mcm9tLWxpc3QoJGNvbXBvbmVudF9wYWRkaW5nLCAncmlnaHQnKSAvLyAycmVtXG4gKiBnZXQtdmFsdWUtZnJvbS1saXN0KCRjb21wb25lbnRfcGFkZGluZywgJ2JvdHRvbScpIC8vIDNyZW1cbiAqL1xuLyoqXG4gKiBCcmVha3BvaW50IGNvbXBvbmVudCB1c2VkIGJ5IGluY2x1ZGUtbWVkaWEgdmVuZG9yIGxpYnJhcnkuXG4gKi9cbkB1c2UgJ3Nhc3M6bWFwJztcbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuLyogc3R5bGVsaW50LWRpc2FibGUgYmxvY2stbm8tZW1wdHkgKi9cbi8qIHN0eWxlbGludC1lbmFibGUgKi9cbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbi5jcy1vZmZjYW52YXMtbmF2aWdhdGlvbiB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgb3ZlcmZsb3cteTogc2Nyb2xsO1xuICBiYWNrZ3JvdW5kOiAjZmZmOyB9XG4gIC5jcy1vZmZjYW52YXMtbmF2aWdhdGlvbl9fbGlzdCB7XG4gICAgei1pbmRleDogMTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtaW4td2lkdGg6IDEwMCU7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICBwYWRkaW5nOiAwO1xuICAgIG1hcmdpbjogMDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICAgIG92ZXJmbG93LXk6IGhpZGRlbjtcbiAgICBvdmVyZmxvdy14OiBoaWRkZW47XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcbiAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgLmNzLW9mZmNhbnZhcy1uYXZpZ2F0aW9uX19saXN0LS1sZXZlbF8wOmxhc3QtY2hpbGQgYVtkYXRhLWNhdGVnb3J5LWlkPVwiMjkzXCJdIHtcbiAgICAgIGNvbG9yOiAjN2U1N2MyOyB9XG4gICAgICAuY3Mtb2ZmY2FudmFzLW5hdmlnYXRpb25fX2xpc3QtLWxldmVsXzA6bGFzdC1jaGlsZCBhW2RhdGEtY2F0ZWdvcnktaWQ9XCIyOTNcIl06OmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6IHVybChcIi4uLy4uLy4uL3RoZW1lLXBhcGlsYXJ0L3BsX1BML2ltYWdlcy9pY29ucy9wZGYuc3ZnXCIpO1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIHdpZHRoOiAxNHB4O1xuICAgICAgICBoZWlnaHQ6IDE0cHg7XG4gICAgICAgIG1hcmdpbi1yaWdodDogNHB4OyB9XG4gICAgLmNzLW9mZmNhbnZhcy1uYXZpZ2F0aW9uX19saXN0LS1sZXZlbF8wLCAuY3Mtb2ZmY2FudmFzLW5hdmlnYXRpb25fX2xpc3QtLWxldmVsXzEsIC5jcy1vZmZjYW52YXMtbmF2aWdhdGlvbl9fbGlzdC0tY3VycmVudCwgLmNzLW9mZmNhbnZhcy1uYXZpZ2F0aW9uX19saXN0LS1hY3RpdmUge1xuICAgICAgZGlzcGxheTogYmxvY2s7IH1cbiAgICAuY3Mtb2ZmY2FudmFzLW5hdmlnYXRpb25fX2xpc3QtLWxldmVsXzAsIC5jcy1vZmZjYW52YXMtbmF2aWdhdGlvbl9fbGlzdC0tbGV2ZWxfMSwgLmNzLW9mZmNhbnZhcy1uYXZpZ2F0aW9uX19saXN0LS1jdXJyZW50IHtcbiAgICAgIG92ZXJmbG93LXk6IGF1dG87IH1cbiAgICAuY3Mtb2ZmY2FudmFzLW5hdmlnYXRpb25fX2xpc3QtLWN1cnJlbnQgPiAuY3Mtb2ZmY2FudmFzLW5hdmlnYXRpb25fX2l0ZW0gPiAuY3Mtb2ZmY2FudmFzLW5hdmlnYXRpb25fX2xpc3Qge1xuICAgICAgZGlzcGxheTogYmxvY2s7IH1cbiAgICAuY3Mtb2ZmY2FudmFzLW5hdmlnYXRpb25fX2xpc3QgLmNzLW9mZmNhbnZhcy1uYXZpZ2F0aW9uX19saXN0IHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGxlZnQ6IDEwNSU7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICB0b3A6IDA7XG4gICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4zcztcbiAgICAgIHRvcDogMTQlOyB9XG4gICAgICAuY3Mtb2ZmY2FudmFzLW5hdmlnYXRpb25fX2xpc3QgLmNzLW9mZmNhbnZhcy1uYXZpZ2F0aW9uX19saXN0LS1hY3RpdmUge1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTEwNSUpO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMDUlLCAwLCAwKTsgfVxuICAuY3Mtb2ZmY2FudmFzLW5hdmlnYXRpb25fX2l0ZW0ge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBtYXJnaW46IDA7IH1cbiAgICAuY3Mtb2ZmY2FudmFzLW5hdmlnYXRpb25fX2l0ZW0gKyAuY3Mtb2ZmY2FudmFzLW5hdmlnYXRpb25fX2l0ZW0ge1xuICAgICAgYm9yZGVyLXRvcDogMXB4ICNkY2RjZGMgc29saWQ7IH1cbiAgICAuY3Mtb2ZmY2FudmFzLW5hdmlnYXRpb25fX2l0ZW06bGFzdC1vZi10eXBlIHtcbiAgICAgIGJvcmRlci1ib3R0b206IDFweCAjZGNkY2RjIHNvbGlkOyB9XG4gICAgLmNzLW9mZmNhbnZhcy1uYXZpZ2F0aW9uX19pdGVtLS13aXRoLWljb24gLmNzLW9mZmNhbnZhcy1uYXZpZ2F0aW9uX190ZXh0IHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIHBhZGRpbmctbGVmdDogMnJlbTsgfVxuICAuY3Mtb2ZmY2FudmFzLW5hdmlnYXRpb25fX2xpbmsge1xuICAgIG1pbi13aWR0aDogMTAwJTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIHBhZGRpbmc6IDIuNHJlbSAycmVtO1xuICAgIGZvbnQtc2l6ZTogMS40cmVtO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAgIC5jcy1vZmZjYW52YXMtbmF2aWdhdGlvbl9fbGluaywgLmNzLW9mZmNhbnZhcy1uYXZpZ2F0aW9uX19saW5rOnZpc2l0ZWQge1xuICAgICAgY29sb3I6ICM0NTVhNjQ7IH1cbiAgICAuY3Mtb2ZmY2FudmFzLW5hdmlnYXRpb25fX2xpbms6aG92ZXIge1xuICAgICAgY29sb3I6ICM0NTVhNjQ7IH1cbiAgICAuY3Mtb2ZmY2FudmFzLW5hdmlnYXRpb25fX2xpbmstLXNpZ24taW4sIC5jcy1vZmZjYW52YXMtbmF2aWdhdGlvbl9fbGluay0tc2lnbi1vdXQge1xuICAgICAgcGFkZGluZy1yaWdodDogNXJlbTsgfVxuICAgICAgLmNzLW9mZmNhbnZhcy1uYXZpZ2F0aW9uX19saW5rLS1zaWduLWluLCAuY3Mtb2ZmY2FudmFzLW5hdmlnYXRpb25fX2xpbmstLXNpZ24taW46dmlzaXRlZCwgLmNzLW9mZmNhbnZhcy1uYXZpZ2F0aW9uX19saW5rLS1zaWduLW91dCwgLmNzLW9mZmNhbnZhcy1uYXZpZ2F0aW9uX19saW5rLS1zaWduLW91dDp2aXNpdGVkIHtcbiAgICAgICAgY29sb3I6ICM3ZTU3YzI7IH1cbiAgICAgIC5jcy1vZmZjYW52YXMtbmF2aWdhdGlvbl9fbGluay0tc2lnbi1pbjpob3ZlciwgLmNzLW9mZmNhbnZhcy1uYXZpZ2F0aW9uX19saW5rLS1zaWduLW91dDpob3ZlciB7XG4gICAgICAgIGNvbG9yOiAjN2U1N2MyOyB9XG4gICAgICAgIC5jcy1vZmZjYW52YXMtbmF2aWdhdGlvbl9fbGluay0tc2lnbi1pbjpob3ZlciAuY3Mtb2ZmY2FudmFzLW5hdmlnYXRpb25fX2ljb24gcGF0aCwgLmNzLW9mZmNhbnZhcy1uYXZpZ2F0aW9uX19saW5rLS1zaWduLW91dDpob3ZlciAuY3Mtb2ZmY2FudmFzLW5hdmlnYXRpb25fX2ljb24gcGF0aCB7XG4gICAgICAgICAgZmlsbDogIzdlNTdjMjsgfVxuICAgICAgLmNzLW9mZmNhbnZhcy1uYXZpZ2F0aW9uX19saW5rLS1zaWduLWluIC5jcy1vZmZjYW52YXMtbmF2aWdhdGlvbl9faWNvbiwgLmNzLW9mZmNhbnZhcy1uYXZpZ2F0aW9uX19saW5rLS1zaWduLW91dCAuY3Mtb2ZmY2FudmFzLW5hdmlnYXRpb25fX2ljb24ge1xuICAgICAgICB3aWR0aDogMi4zcmVtO1xuICAgICAgICBoZWlnaHQ6IDIuN3JlbTtcbiAgICAgICAgcmlnaHQ6IDJyZW07IH1cbiAgICAgICAgLmNzLW9mZmNhbnZhcy1uYXZpZ2F0aW9uX19saW5rLS1zaWduLWluIC5jcy1vZmZjYW52YXMtbmF2aWdhdGlvbl9faWNvbiBwYXRoLCAuY3Mtb2ZmY2FudmFzLW5hdmlnYXRpb25fX2xpbmstLXNpZ24tb3V0IC5jcy1vZmZjYW52YXMtbmF2aWdhdGlvbl9faWNvbiBwYXRoIHtcbiAgICAgICAgICBmaWxsOiAjN2U1N2MyOyB9XG4gICAgLmNzLW9mZmNhbnZhcy1uYXZpZ2F0aW9uX19saW5rLS1wYXJlbnQgLmNzLW9mZmNhbnZhcy1uYXZpZ2F0aW9uX19pY29uLCAuY3Mtb2ZmY2FudmFzLW5hdmlnYXRpb25fX2xpbmstLXJldHVybiAuY3Mtb2ZmY2FudmFzLW5hdmlnYXRpb25fX2ljb24ge1xuICAgICAgd2lkdGg6IDAuN3JlbTtcbiAgICAgIGhlaWdodDogMC4xcmVtOyB9XG4gICAgLmNzLW9mZmNhbnZhcy1uYXZpZ2F0aW9uX19saW5rLS1wYXJlbnQge1xuICAgICAgcGFkZGluZy1yaWdodDogNXJlbTsgfVxuICAgICAgLmNzLW9mZmNhbnZhcy1uYXZpZ2F0aW9uX19saW5rLS1wYXJlbnQgLmNzLW9mZmNhbnZhcy1uYXZpZ2F0aW9uX19pY29uIHtcbiAgICAgICAgcmlnaHQ6IDJyZW07IH1cbiAgICAuY3Mtb2ZmY2FudmFzLW5hdmlnYXRpb25fX2xpbmstLXJldHVybiB7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDVyZW07IH1cbiAgICAgIC5jcy1vZmZjYW52YXMtbmF2aWdhdGlvbl9fbGluay0tcmV0dXJuIC5jcy1vZmZjYW52YXMtbmF2aWdhdGlvbl9faWNvbiB7XG4gICAgICAgIGxlZnQ6IDJyZW07IH1cbiAgICAuY3Mtb2ZmY2FudmFzLW5hdmlnYXRpb25fX2xpbmstLW5leHQge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gICAgICAuY3Mtb2ZmY2FudmFzLW5hdmlnYXRpb25fX2xpbmstLW5leHQ6YmVmb3JlLCAuY3Mtb2ZmY2FudmFzLW5hdmlnYXRpb25fX2xpbmstLW5leHQ6YWZ0ZXIge1xuICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgd2lkdGg6IDAuN3JlbTtcbiAgICAgICAgaGVpZ2h0OiAwLjFyZW07XG4gICAgICAgIGxlZnQ6IGF1dG87XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICM3ZTU3YzI7XG4gICAgICAgIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjsgfVxuICAgICAgLmNzLW9mZmNhbnZhcy1uYXZpZ2F0aW9uX19saW5rLS1uZXh0W2FyaWEtZXhwYW5kZWQ9XCJ0cnVlXCJdOmJlZm9yZSwgLmNzLW9mZmNhbnZhcy1uYXZpZ2F0aW9uX19saW5rLS1uZXh0W2FyaWEtZXhwYW5kZWQ9XCJ0cnVlXCJdOmFmdGVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzg4ODsgfVxuICAgICAgLmNzLW9mZmNhbnZhcy1uYXZpZ2F0aW9uX19saW5rLS1uZXh0OmJlZm9yZSB7XG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDEzNWRlZykgdHJhbnNsYXRlM2QoNTAlLCAwLCAwKTtcbiAgICAgICAgcmlnaHQ6IDJyZW07IH1cbiAgICAgIC5jcy1vZmZjYW52YXMtbmF2aWdhdGlvbl9fbGluay0tbmV4dDphZnRlciB7XG4gICAgICAgIHJpZ2h0OiAycmVtO1xuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtMTM1ZGVnKSB0cmFuc2xhdGUzZCg1MCUsIDAsIDApOyB9XG4gICAgICAuY3Mtb2ZmY2FudmFzLW5hdmlnYXRpb25fX2xpbmstLW5leHRbYXJpYS1leHBhbmRlZD1cInRydWVcIl06YmVmb3JlIHtcbiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMjI1ZGVnKSB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICAgICAgcmlnaHQ6IDA7IH1cbiAgICAgIC5jcy1vZmZjYW52YXMtbmF2aWdhdGlvbl9fbGluay0tbmV4dFthcmlhLWV4cGFuZGVkPVwidHJ1ZVwiXTphZnRlciB7XG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlKC00NWRlZykgdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgICAgIHJpZ2h0OiAycmVtOyB9XG4gICAgLmNzLW9mZmNhbnZhcy1uYXZpZ2F0aW9uX19saW5rLS1wcmV2IHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAgICAgLmNzLW9mZmNhbnZhcy1uYXZpZ2F0aW9uX19saW5rLS1wcmV2OmJlZm9yZSwgLmNzLW9mZmNhbnZhcy1uYXZpZ2F0aW9uX19saW5rLS1wcmV2OmFmdGVyIHtcbiAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgIHdpZHRoOiAwLjdyZW07XG4gICAgICAgIGhlaWdodDogMC4xcmVtO1xuICAgICAgICBsZWZ0OiBhdXRvO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjN2U1N2MyO1xuICAgICAgICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47IH1cbiAgICAgIC5jcy1vZmZjYW52YXMtbmF2aWdhdGlvbl9fbGluay0tcHJldlthcmlhLWV4cGFuZGVkPVwidHJ1ZVwiXTpiZWZvcmUsIC5jcy1vZmZjYW52YXMtbmF2aWdhdGlvbl9fbGluay0tcHJldlthcmlhLWV4cGFuZGVkPVwidHJ1ZVwiXTphZnRlciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICM4ODg7IH1cbiAgICAgIC5jcy1vZmZjYW52YXMtbmF2aWdhdGlvbl9fbGluay0tcHJldjpiZWZvcmUge1xuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZykgdHJhbnNsYXRlM2QoNTAlLCAtNTAlLCAwKTtcbiAgICAgICAgcmlnaHQ6IDA7IH1cbiAgICAgIC5jcy1vZmZjYW52YXMtbmF2aWdhdGlvbl9fbGluay0tcHJldjphZnRlciB7XG4gICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpIHRyYW5zbGF0ZTNkKDUwJSwgNTAlLCAwKTsgfVxuICAgICAgLmNzLW9mZmNhbnZhcy1uYXZpZ2F0aW9uX19saW5rLS1wcmV2W2FyaWEtZXhwYW5kZWQ9XCJ0cnVlXCJdOmJlZm9yZSB7XG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlKC00NWRlZykgdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgICAgIHJpZ2h0OiBhdXRvOyB9XG4gICAgICAuY3Mtb2ZmY2FudmFzLW5hdmlnYXRpb25fX2xpbmstLXByZXZbYXJpYS1leHBhbmRlZD1cInRydWVcIl06YWZ0ZXIge1xuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtMTM1ZGVnKSB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICAgICAgcmlnaHQ6IDA7IH1cbiAgICAgIC5jcy1vZmZjYW52YXMtbmF2aWdhdGlvbl9fbGluay0tcHJldjpiZWZvcmUsIC5jcy1vZmZjYW52YXMtbmF2aWdhdGlvbl9fbGluay0tcHJldjphZnRlciB7XG4gICAgICAgIGxlZnQ6IDJyZW07IH1cbiAgLmNzLW9mZmNhbnZhcy1uYXZpZ2F0aW9uIC5hY3RpdmUgPiAuY3Mtb2ZmY2FudmFzLW5hdmlnYXRpb25fX2xpbmsge1xuICAgIGNvbG9yOiAjN2U1N2MyOyB9XG4gIC5jcy1vZmZjYW52YXMtbmF2aWdhdGlvbl9faWNvbiB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogNTAlO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTsgfVxuICAgIC5jcy1vZmZjYW52YXMtbmF2aWdhdGlvbl9faWNvbiBwYXRoIHtcbiAgICAgIGZpbGw6ICM3ZTU3YzI7IH1cbiAgLmNzLW9mZmNhbnZhcy1uYXZpZ2F0aW9uX19jYXRlZ29yeS1pY29uLXdyYXBwZXIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB3aWR0aDogMnJlbTtcbiAgICBtYXJnaW4tcmlnaHQ6IDFyZW07IH1cbiAgLmNzLW9mZmNhbnZhcy1uYXZpZ2F0aW9uX19jYXRlZ29yeS1pY29uIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiA1MCU7XG4gICAgbGVmdDogMDtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC01MCUsIDApO1xuICAgIG1heC1oZWlnaHQ6IDJyZW07IH1cbiAgLmNzLW9mZmNhbnZhcy1uYXZpZ2F0aW9uX19zZWFyY2gge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBwYWRkaW5nOiAyLjRyZW0gMnJlbTtcbiAgICBib3JkZXItYm90dG9tOiAxcHggI2RjZGNkYyBzb2xpZDsgfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAuY3Mtb2ZmY2FudmFzLW5hdmlnYXRpb25fX3NlYXJjaCB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7IH0gfVxuIiwiQGltcG9ydCAnY29uZmlnL3ZhcmlhYmxlcyc7XG5AaW1wb3J0ICd2ZW5kb3JzL2luY2x1ZGUtbWVkaWEnO1xuQGltcG9ydCAndXRpbHMvZ2V0LXZhbHVlLWZyb20tbGlzdCc7XG5AaW1wb3J0ICdjb21wb25lbnRzL3BzZXVkb2ljb24vbWl4aW4nO1xuQGltcG9ydCAndXRpbHMvZGVlcC1nZXQvZGVlcC1nZXQuc2Nzcyc7XG5cbiRvZmZjYW52YXMtbmF2aWdhdGlvbl9iYWNrZ3JvdW5kOiAkY29sb3JfYmFja2dyb3VuZC0yMDAgIWRlZmF1bHQ7XG5cbiRvZmZjYW52YXMtbmF2aWdhdGlvbl9pdGVtLWJhY2tncm91bmQ6ICRvZmZjYW52YXMtbmF2aWdhdGlvbl9iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJG9mZmNhbnZhcy1uYXZpZ2F0aW9uX2l0ZW0tYm9yZGVyOiAxcHggJGNvbG9yX2FsdG8gc29saWQgIWRlZmF1bHQ7XG5cbiRvZmZjYW52YXMtbmF2aWdhdGlvbl9zZWFyY2gtZW5hYmxlZDogZGVlcC1nZXQoXG4gICAgJHZpZXcteG1sLFxuICAgIHZhcnMsXG4gICAgTWFnZW50b19UaGVtZSxcbiAgICBoZWFkZXIsXG4gICAgbW9iaWxlX3NlYXJjaF9pbl9vZmZjYW52YXNcbikgIWRlZmF1bHQ7XG5cbiRvZmZjYW52YXMtbmF2aWdhdGlvbl9zZWFyY2gtZW5hYmxlZC1saXN0LWxldmVsMS10b3AtcG9zaXRpb246IDE0JSAhZGVmYXVsdDtcblxuJG9mZmNhbnZhcy1uYXZpZ2F0aW9uX2xpbmstY29sb3I6ICRjb2xvcl90ZXh0LTgwMCAhZGVmYXVsdDtcbiRvZmZjYW52YXMtbmF2aWdhdGlvbl9saW5rLWNvbG9yLS1ob3ZlcjogJG9mZmNhbnZhcy1uYXZpZ2F0aW9uX2xpbmstY29sb3IgIWRlZmF1bHQ7XG4kb2ZmY2FudmFzLW5hdmlnYXRpb25fbGluay1mb250LXNpemU6IDEuNHJlbSAhZGVmYXVsdDtcbiRvZmZjYW52YXMtbmF2aWdhdGlvbl9saW5rLWZvbnQtd2VpZ2h0OiA3MDAgIWRlZmF1bHQ7XG4kb2ZmY2FudmFzLW5hdmlnYXRpb25fbGluay1zaWduLWNvbG9yOiAkY29sb3JfcHJpbWFyeS01MDAgIWRlZmF1bHQ7XG4kb2ZmY2FudmFzLW5hdmlnYXRpb25fbGluay1zaWduLWNvbG9yLS1ob3ZlcjogJG9mZmNhbnZhcy1uYXZpZ2F0aW9uX2xpbmstc2lnbi1jb2xvciAhZGVmYXVsdDtcbiRvZmZjYW52YXMtbmF2aWdhdGlvbl9saW5rLWFjdGl2ZS1jb2xvcjogJGNvbG9yX3ByaW1hcnktNTAwICFkZWZhdWx0O1xuJG9mZmNhbnZhcy1uYXZpZ2F0aW9uX2xpbmstcGFkZGluZzogMi40cmVtIDJyZW0gIWRlZmF1bHQ7XG5cbiRvZmZjYW52YXMtbmF2aWdhdGlvbl9pY29uLXVzZS1wc2V1ZG9pY29uLWluc3RlYWQtc3ZnOiB0cnVlICFkZWZhdWx0O1xuJG9mZmNhbnZhcy1uYXZpZ2F0aW9uX2ljb24td2lkdGg6IDAuN3JlbSAhZGVmYXVsdDtcbiRvZmZjYW52YXMtbmF2aWdhdGlvbl9pY29uLWhlaWdodDogMC4xcmVtICFkZWZhdWx0O1xuJG9mZmNhbnZhcy1uYXZpZ2F0aW9uX2ljb24tY29sb3I6ICRjb2xvcl9wcmltYXJ5LTUwMCAhZGVmYXVsdDtcbiRvZmZjYW52YXMtbmF2aWdhdGlvbl9pY29uLWNvbG9yLS1ob3ZlcjogJG9mZmNhbnZhcy1uYXZpZ2F0aW9uX2ljb24tY29sb3IgIWRlZmF1bHQ7XG4vLyBCZWxvdyBuYXZpZ2F0aW9uX2ljb24gc2V0dGluZ3MgYXJlIHVzYWJsZSBvbmx5IGlmIHlvdSB1c2UgcHNldWRvaWNvblxuJG9mZmNhbnZhcy1uYXZpZ2F0aW9uX2ljb24tdHlwZTogJ2Fycm93JyAhZGVmYXVsdDtcbiRvZmZjYW52YXMtbmF2aWdhdGlvbl9pY29uLWRlZmF1bHQtLW5leHQ6ICdyaWdodCcgIWRlZmF1bHQ7XG4kb2ZmY2FudmFzLW5hdmlnYXRpb25faWNvbi1kZWZhdWx0LS1wcmV2OiAnbGVmdCcgIWRlZmF1bHQ7XG4kb2ZmY2FudmFzLW5hdmlnYXRpb25faWNvbi1hbmltYXRpb246IGZhbHNlICFkZWZhdWx0O1xuJG9mZmNhbnZhcy1uYXZpZ2F0aW9uX2ljb24tYXJyb3ctbGVmdC1vZmZzZXQ6IDAgIWRlZmF1bHQ7XG5cbiRvZmZjYW52YXMtbmF2aWdhdGlvbl9pY29uLXNpZ24tY29sb3I6ICRjb2xvcl9wcmltYXJ5LTUwMCAhZGVmYXVsdDtcbiRvZmZjYW52YXMtbmF2aWdhdGlvbl9pY29uLXNpZ24tY29sb3ItLWhvdmVyOiAkb2ZmY2FudmFzLW5hdmlnYXRpb25faWNvbi1zaWduLWNvbG9yICFkZWZhdWx0O1xuXG4kb2ZmY2FudmFzLW5hdmlnYXRpb25fY2F0ZWdvcnktaWNvbl9tYXgtaGVpZ2h0OiAycmVtICFkZWZhdWx0O1xuJG9mZmNhbnZhcy1uYXZpZ2F0aW9uX2NhdGVnb3J5LWljb25fbWFyZ2luLXJpZ2h0OiAxcmVtICFkZWZhdWx0O1xuXG4uI3skbnN9b2ZmY2FudmFzLW5hdmlnYXRpb24ge1xuICAgICRyb290OiAmO1xuXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIG92ZXJmbG93LXk6IHNjcm9sbDtcbiAgICBiYWNrZ3JvdW5kOiAkb2ZmY2FudmFzLW5hdmlnYXRpb25fYmFja2dyb3VuZDtcblxuICAgICZfX2xpc3Qge1xuICAgICAgICB6LWluZGV4OiAxO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgbWluLXdpZHRoOiAxMDAlO1xuICAgICAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRvZmZjYW52YXMtbmF2aWdhdGlvbl9pdGVtLWJhY2tncm91bmQ7XG4gICAgICAgIG92ZXJmbG93LXk6IGhpZGRlbjtcbiAgICAgICAgb3ZlcmZsb3cteDogaGlkZGVuO1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcblxuICAgICAgICAmLS1sZXZlbF8we1xuICAgICAgICAgICAgJjpsYXN0LWNoaWxke1xuICAgICAgICAgICAgICAgIGFbZGF0YS1jYXRlZ29yeS1pZD1cIjI5M1wiXXtcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRjb2xvcl9wcmltYXJ5LTUwMDtcbiAgICAgICAgICAgICAgICAgICAgJjo6YmVmb3Jle1xuICAgICAgICAgICAgICAgICAgICAgICAgY29udGVudDogdXJsKCcuLi8uLi8uLi90aGVtZS1wYXBpbGFydC9wbF9QTC9pbWFnZXMvaWNvbnMvcGRmLnN2ZycpO1xuICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDE0cHg7XG4gICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDE0cHg7XG4gICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDRweDtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICYtLWxldmVsXzAsXG4gICAgICAgICYtLWxldmVsXzEsXG4gICAgICAgICYtLWN1cnJlbnQsXG4gICAgICAgICYtLWFjdGl2ZSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgfVxuXG4gICAgICAgICYtLWxldmVsXzAsXG4gICAgICAgICYtLWxldmVsXzEsXG4gICAgICAgICYtLWN1cnJlbnQge1xuICAgICAgICAgICAgb3ZlcmZsb3cteTogYXV0bztcbiAgICAgICAgfVxuXG4gICAgICAgICYtLWN1cnJlbnQge1xuICAgICAgICAgICAgPiAjeyRyb290fV9faXRlbSB7XG4gICAgICAgICAgICAgICAgPiAjeyRyb290fV9fbGlzdCB7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICYgJiB7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICBsZWZ0OiAxMDUlO1xuICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuM3M7XG5cbiAgICAgICAgICAgIC8vIFByZXZlbnQgb3ZlcmxhcHBpbmcgb2Ygc2VhcmNoIG9uIG5hdmlnYXRpb24gbGlzdFxuICAgICAgICAgICAgQGlmICgkb2ZmY2FudmFzLW5hdmlnYXRpb25fc2VhcmNoLWVuYWJsZWQpIHtcbiAgICAgICAgICAgICAgICB0b3A6ICRvZmZjYW52YXMtbmF2aWdhdGlvbl9zZWFyY2gtZW5hYmxlZC1saXN0LWxldmVsMS10b3AtcG9zaXRpb247XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICYtLWFjdGl2ZSB7XG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xMDUlKTtcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMDUlLCAwLCAwKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2l0ZW0ge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgbWFyZ2luOiAwO1xuXG4gICAgICAgICYgKyAmIHtcbiAgICAgICAgICAgIGJvcmRlci10b3A6ICRvZmZjYW52YXMtbmF2aWdhdGlvbl9pdGVtLWJvcmRlcjtcbiAgICAgICAgfVxuXG4gICAgICAgICY6bGFzdC1vZi10eXBlIHtcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b206ICRvZmZjYW52YXMtbmF2aWdhdGlvbl9pdGVtLWJvcmRlcjtcbiAgICAgICAgfVxuXG4gICAgICAgICYtLXdpdGgtaWNvbiB7XG4gICAgICAgICAgICAjeyRyb290fV9fdGV4dCB7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogZ2V0LXZhbHVlLWZyb20tbGlzdChcbiAgICAgICAgICAgICAgICAgICAgJG9mZmNhbnZhcy1uYXZpZ2F0aW9uX2xpbmstcGFkZGluZyxcbiAgICAgICAgICAgICAgICAgICAgJ2xlZnQnXG4gICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2xpbmsge1xuICAgICAgICBtaW4td2lkdGg6IDEwMCU7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBwYWRkaW5nOiAkb2ZmY2FudmFzLW5hdmlnYXRpb25fbGluay1wYWRkaW5nO1xuICAgICAgICBmb250LXNpemU6ICRvZmZjYW52YXMtbmF2aWdhdGlvbl9saW5rLWZvbnQtc2l6ZTtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgZm9udC13ZWlnaHQ6ICRvZmZjYW52YXMtbmF2aWdhdGlvbl9saW5rLWZvbnQtd2VpZ2h0O1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgICAgJixcbiAgICAgICAgJjp2aXNpdGVkIHtcbiAgICAgICAgICAgIGNvbG9yOiAkb2ZmY2FudmFzLW5hdmlnYXRpb25fbGluay1jb2xvcjtcbiAgICAgICAgfVxuXG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgY29sb3I6ICRvZmZjYW52YXMtbmF2aWdhdGlvbl9saW5rLWNvbG9yLS1ob3ZlcjtcblxuICAgICAgICAgICAgQGlmIG5vdCgkb2ZmY2FudmFzLW5hdmlnYXRpb25faWNvbi11c2UtcHNldWRvaWNvbi1pbnN0ZWFkLXN2Zykge1xuICAgICAgICAgICAgICAgICN7JHJvb3R9X19pY29uIHtcbiAgICAgICAgICAgICAgICAgICAgcGF0aCB7XG4gICAgICAgICAgICAgICAgICAgICAgICBmaWxsOiAkb2ZmY2FudmFzLW5hdmlnYXRpb25faWNvbi1jb2xvci0taG92ZXI7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmLS1zaWduLWluLFxuICAgICAgICAmLS1zaWduLW91dCB7XG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiA1cmVtO1xuXG4gICAgICAgICAgICAmLFxuICAgICAgICAgICAgJjp2aXNpdGVkIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogJG9mZmNhbnZhcy1uYXZpZ2F0aW9uX2xpbmstc2lnbi1jb2xvcjtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgY29sb3I6ICRvZmZjYW52YXMtbmF2aWdhdGlvbl9saW5rLXNpZ24tY29sb3ItLWhvdmVyO1xuXG4gICAgICAgICAgICAgICAgI3skcm9vdH1fX2ljb24ge1xuICAgICAgICAgICAgICAgICAgICBwYXRoIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGZpbGw6ICRvZmZjYW52YXMtbmF2aWdhdGlvbl9pY29uLXNpZ24tY29sb3ItLWhvdmVyO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAjeyRyb290fV9faWNvbiB7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDIuM3JlbTtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDIuN3JlbTtcbiAgICAgICAgICAgICAgICByaWdodDogZ2V0LXZhbHVlLWZyb20tbGlzdChcbiAgICAgICAgICAgICAgICAgICAgJG9mZmNhbnZhcy1uYXZpZ2F0aW9uX2xpbmstcGFkZGluZyxcbiAgICAgICAgICAgICAgICAgICAgJ3JpZ2h0J1xuICAgICAgICAgICAgICAgICk7XG5cbiAgICAgICAgICAgICAgICBwYXRoIHtcbiAgICAgICAgICAgICAgICAgICAgZmlsbDogJG9mZmNhbnZhcy1uYXZpZ2F0aW9uX2ljb24tc2lnbi1jb2xvcjtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmLS1wYXJlbnQsXG4gICAgICAgICYtLXJldHVybiB7XG4gICAgICAgICAgICAjeyRyb290fV9faWNvbiB7XG4gICAgICAgICAgICAgICAgd2lkdGg6ICRvZmZjYW52YXMtbmF2aWdhdGlvbl9pY29uLXdpZHRoO1xuICAgICAgICAgICAgICAgIGhlaWdodDogJG9mZmNhbnZhcy1uYXZpZ2F0aW9uX2ljb24taGVpZ2h0O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJi0tcGFyZW50IHtcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDVyZW07XG5cbiAgICAgICAgICAgICN7JHJvb3R9X19pY29uIHtcbiAgICAgICAgICAgICAgICByaWdodDogZ2V0LXZhbHVlLWZyb20tbGlzdChcbiAgICAgICAgICAgICAgICAgICAgJG9mZmNhbnZhcy1uYXZpZ2F0aW9uX2xpbmstcGFkZGluZyxcbiAgICAgICAgICAgICAgICAgICAgJ3JpZ2h0J1xuICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmLS1yZXR1cm4ge1xuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiA1cmVtO1xuXG4gICAgICAgICAgICAjeyRyb290fV9faWNvbiB7XG4gICAgICAgICAgICAgICAgbGVmdDogZ2V0LXZhbHVlLWZyb20tbGlzdChcbiAgICAgICAgICAgICAgICAgICAgJG9mZmNhbnZhcy1uYXZpZ2F0aW9uX2xpbmstcGFkZGluZyxcbiAgICAgICAgICAgICAgICAgICAgJ2xlZnQnXG4gICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIEBpZiAoJG9mZmNhbnZhcy1uYXZpZ2F0aW9uX2ljb24tdXNlLXBzZXVkb2ljb24taW5zdGVhZC1zdmcpIHtcbiAgICAgICAgICAgICYtLW5leHQge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIHBzZXVkb2ljb24oXG4gICAgICAgICAgICAgICAgICAgICR0eXBlOiAkb2ZmY2FudmFzLW5hdmlnYXRpb25faWNvbi10eXBlLFxuICAgICAgICAgICAgICAgICAgICAkYW5pbWF0ZWQ6ICRvZmZjYW52YXMtbmF2aWdhdGlvbl9pY29uLWFuaW1hdGlvbixcbiAgICAgICAgICAgICAgICAgICAgJGFycm93LWRlZmF1bHQ6ICRvZmZjYW52YXMtbmF2aWdhdGlvbl9pY29uLWRlZmF1bHQtLW5leHQsXG4gICAgICAgICAgICAgICAgICAgICRhcnJvdy1vZmZzZXQ6ICRvZmZjYW52YXMtbmF2aWdhdGlvbl9pY29uLWFycm93LWxlZnQtb2Zmc2V0LFxuICAgICAgICAgICAgICAgICAgICAkd2lkdGg6ICRvZmZjYW52YXMtbmF2aWdhdGlvbl9pY29uLXdpZHRoLFxuICAgICAgICAgICAgICAgICAgICAkaGVpZ2h0OiAkb2ZmY2FudmFzLW5hdmlnYXRpb25faWNvbi1oZWlnaHQsXG4gICAgICAgICAgICAgICAgICAgICRjb2xvcjogJG9mZmNhbnZhcy1uYXZpZ2F0aW9uX2ljb24tY29sb3IsXG4gICAgICAgICAgICAgICAgICAgICRjb2xvci1ob3ZlcjogJG9mZmNhbnZhcy1uYXZpZ2F0aW9uX2ljb24tY29sb3ItLWhvdmVyLFxuICAgICAgICAgICAgICAgICAgICAkcG9zaXRpb24tc2lkZS1vZmZzZXQ6XG4gICAgICAgICAgICAgICAgICAgICAgICBnZXQtdmFsdWUtZnJvbS1saXN0KFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICRvZmZjYW52YXMtbmF2aWdhdGlvbl9saW5rLXBhZGRpbmcsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3JpZ2h0J1xuICAgICAgICAgICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICYtLXByZXYge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIHBzZXVkb2ljb24oXG4gICAgICAgICAgICAgICAgICAgICR0eXBlOiAkb2ZmY2FudmFzLW5hdmlnYXRpb25faWNvbi10eXBlLFxuICAgICAgICAgICAgICAgICAgICAkYW5pbWF0ZWQ6ICRvZmZjYW52YXMtbmF2aWdhdGlvbl9pY29uLWFuaW1hdGlvbixcbiAgICAgICAgICAgICAgICAgICAgJGFycm93LWRlZmF1bHQ6ICRvZmZjYW52YXMtbmF2aWdhdGlvbl9pY29uLWRlZmF1bHQtLXByZXYsXG4gICAgICAgICAgICAgICAgICAgICRhcnJvdy1vZmZzZXQ6ICRvZmZjYW52YXMtbmF2aWdhdGlvbl9pY29uLWFycm93LWxlZnQtb2Zmc2V0LFxuICAgICAgICAgICAgICAgICAgICAkd2lkdGg6ICRvZmZjYW52YXMtbmF2aWdhdGlvbl9pY29uLXdpZHRoLFxuICAgICAgICAgICAgICAgICAgICAkaGVpZ2h0OiAkb2ZmY2FudmFzLW5hdmlnYXRpb25faWNvbi1oZWlnaHQsXG4gICAgICAgICAgICAgICAgICAgICRjb2xvcjogJG9mZmNhbnZhcy1uYXZpZ2F0aW9uX2ljb24tY29sb3IsXG4gICAgICAgICAgICAgICAgICAgICRjb2xvci1ob3ZlcjogJG9mZmNhbnZhcy1uYXZpZ2F0aW9uX2ljb24tY29sb3ItLWhvdmVyLFxuICAgICAgICAgICAgICAgICAgICAkcG9zaXRpb24tc2lkZS1vZmZzZXQ6IGF1dG9cbiAgICAgICAgICAgICAgICApO1xuXG4gICAgICAgICAgICAgICAgJjpiZWZvcmUsXG4gICAgICAgICAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICAgICAgICAgIGxlZnQ6IGdldC12YWx1ZS1mcm9tLWxpc3QoXG4gICAgICAgICAgICAgICAgICAgICAgICAkb2ZmY2FudmFzLW5hdmlnYXRpb25fbGluay1wYWRkaW5nLFxuICAgICAgICAgICAgICAgICAgICAgICAgJ2xlZnQnXG4gICAgICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmFjdGl2ZSB7XG4gICAgICAgID4gI3skcm9vdH1fX2xpbmsge1xuICAgICAgICAgICAgY29sb3I6ICRvZmZjYW52YXMtbmF2aWdhdGlvbl9saW5rLWFjdGl2ZS1jb2xvcjtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2ljb24ge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogNTAlO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG5cbiAgICAgICAgcGF0aCB7XG4gICAgICAgICAgICBmaWxsOiAkb2ZmY2FudmFzLW5hdmlnYXRpb25faWNvbi1jb2xvcjtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2NhdGVnb3J5LWljb24td3JhcHBlciB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgd2lkdGg6ICRvZmZjYW52YXMtbmF2aWdhdGlvbl9jYXRlZ29yeS1pY29uX21heC1oZWlnaHQ7XG4gICAgICAgIG1hcmdpbi1yaWdodDogJG9mZmNhbnZhcy1uYXZpZ2F0aW9uX2NhdGVnb3J5LWljb25fbWFyZ2luLXJpZ2h0O1xuICAgIH1cblxuICAgICZfX2NhdGVnb3J5LWljb24ge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogNTAlO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC01MCUsIDApO1xuICAgICAgICBtYXgtaGVpZ2h0OiAkb2ZmY2FudmFzLW5hdmlnYXRpb25fY2F0ZWdvcnktaWNvbl9tYXgtaGVpZ2h0O1xuICAgIH1cblxuICAgIEBpZiAoJGdsb2JhbF9oZWFkZXItbW9iaWxlLXNlYXJjaC1pbi1vZmZjYW52YXMpIHtcbiAgICAgICAgJl9fc2VhcmNoIHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgIHBhZGRpbmc6ICRvZmZjYW52YXMtbmF2aWdhdGlvbl9saW5rLXBhZGRpbmc7XG4gICAgICAgICAgICBib3JkZXItYm90dG9tOiAkb2ZmY2FudmFzLW5hdmlnYXRpb25faXRlbS1ib3JkZXI7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKFxuICAgICAgICAgICAgICAgICc+PSN7JGdsb2JhbF9oZWFkZXItbW9iaWxlLXNlYXJjaC1pbi1vZmZjYW52YXMtYnJlYWtwb2ludH0nXG4gICAgICAgICAgICApIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuIiwiQGNoYXJzZXQgXCJVVEYtOFwiO1xuLyoqXG4gKiBCcmVha3BvaW50IGNvbXBvbmVudCB1c2VkIGJ5IGluY2x1ZGUtbWVkaWEgdmVuZG9yIGxpYnJhcnkuXG4gKi9cbkB1c2UgJ3Nhc3M6bWFwJztcbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuLyoqXG4gKiBCcmVha3BvaW50IGNvbXBvbmVudCB1c2VkIGJ5IGluY2x1ZGUtbWVkaWEgdmVuZG9yIGxpYnJhcnkuXG4gKi9cbkB1c2UgJ3Nhc3M6bWFwJztcbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuLyoqXG4gKiBCcmVha3BvaW50IGNvbXBvbmVudCB1c2VkIGJ5IGluY2x1ZGUtbWVkaWEgdmVuZG9yIGxpYnJhcnkuXG4gKi9cbkB1c2UgJ3Nhc3M6bWFwJztcbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuLyoqXG4gKiBCcmVha3BvaW50IGNvbXBvbmVudCB1c2VkIGJ5IGluY2x1ZGUtbWVkaWEgdmVuZG9yIGxpYnJhcnkuXG4gKi9cbkB1c2UgJ3Nhc3M6bWFwJztcbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuLyoqKlxuICogSGlkZSBvbmx5IHZpc3VhbGx5LCBidXQgaGF2ZSBpdCBhdmFpbGFibGUgZm9yIHNjcmVlbiByZWFkZXJzOlxuICogaHR0cHM6Ly9zbm9vay5jYS9hcmNoaXZlcy9odG1sX2FuZF9jc3MvaGlkaW5nLWNvbnRlbnQtZm9yLWFjY2Vzc2liaWxpdHlcbiAqXG4gKiAxLiBGb3IgbG9uZyBjb250ZW50LCBsaW5lIGZlZWRzIGFyZSBub3QgaW50ZXJwcmV0ZWQgYXMgc3BhY2VzIGFuZCBzbWFsbCB3aWR0aFxuICogICAgY2F1c2VzIGNvbnRlbnQgdG8gd3JhcCAxIHdvcmQgcGVyIGxpbmU6XG4gKiAgICBodHRwczovL21lZGl1bS5jb20vQGplc3NlYmVhY2gvYmV3YXJlLXNtdXNoZWQtb2ZmLXNjcmVlbi1hY2Nlc3NpYmxlLXRleHQtNTk1MmE0YzJjYmZlXG4gKlxuICogQHNlZSBodHRwczovL2dpdGh1Yi5jb20vaDVicC9odG1sNS1ib2lsZXJwbGF0ZS9ibG9iL21hc3Rlci9zcmMvY3NzL21haW4uY3NzI0wxMzBcbiAqL1xuLyoqXG4gKiBCcmVha3BvaW50IGNvbXBvbmVudCB1c2VkIGJ5IGluY2x1ZGUtbWVkaWEgdmVuZG9yIGxpYnJhcnkuXG4gKi9cbkB1c2UgJ3Nhc3M6bWFwJztcbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuLyogc3R5bGVsaW50LWRpc2FibGUgYmxvY2stbm8tZW1wdHkgKi9cbi8qIHN0eWxlbGludC1lbmFibGUgKi9cbi5jcy1oZWFkZXItdXNlci1uYXYge1xuICBsaXN0LXN0eWxlOiBub25lO1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDAgMS41cmVtO1xuICBoZWlnaHQ6IDEwMCU7IH1cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDIzLjExNWVtKSB7XG4gICAgLmNzLWhlYWRlci11c2VyLW5hdiB7XG4gICAgICBwYWRkaW5nOiAwIDAuN3JlbTsgfSB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLmNzLWhlYWRlci11c2VyLW5hdiB7XG4gICAgICBwYWRkaW5nOiAwOyB9IH1cbiAgLmNzLWhlYWRlci11c2VyLW5hdl9faXRlbSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgZmxleDogMSAxIDI1JTsgfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAuY3MtaGVhZGVyLXVzZXItbmF2X19pdGVtIHtcbiAgICAgICAgZmxleDogMCAwIDMzLjMzMzMzJTsgfSB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgIC5jcy1oZWFkZXItdXNlci1uYXZfX2l0ZW0tLXNlYXJjaCB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7IH0gfVxuICAgIC5jcy1oZWFkZXItdXNlci1uYXZfX2l0ZW0tLWFjY291bnQgYSB7XG4gICAgICBtYXgtd2lkdGg6IDE2MHB4OyB9XG4gICAgICBAbWVkaWEgKG1pbi13aWR0aDogNDguMDFlbSkge1xuICAgICAgICAuY3MtaGVhZGVyLXVzZXItbmF2X19pdGVtLS1hY2NvdW50IGEge1xuICAgICAgICAgIG1pbi13aWR0aDogMTQ1cHg7IH0gfVxuICAuY3MtaGVhZGVyLXVzZXItbmF2IC5taW5pY2FydC13cmFwcGVyID4gLmNzLWhlYWRlci11c2VyLW5hdl9fbGluayB7XG4gICAgcGFkZGluZzogMC41cmVtIDFyZW07XG4gICAgYm9yZGVyOiAycHggc29saWQgIzdlNTdjMjtcbiAgICBib3JkZXItcmFkaXVzOiAyMDBweDsgfVxuICAuY3MtaGVhZGVyLXVzZXItbmF2X19saW5rIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1ldmVubHk7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgcGFkZGluZzogMHJlbTsgfVxuICAgIC5jcy1oZWFkZXItdXNlci1uYXZfX2xpbms6aG92ZXIge1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9XG4gICAgICAuY3MtaGVhZGVyLXVzZXItbmF2X19saW5rOmhvdmVyIC5jcy1oZWFkZXItdXNlci1uYXZfX2ljb24gcGF0aCB7XG4gICAgICAgIGZpbGw6ICM3ZTU3YzI7IH1cbiAgICAgIC5jcy1oZWFkZXItdXNlci1uYXZfX2xpbms6aG92ZXIgLmNzLWhlYWRlci11c2VyLW5hdl9fbGFiZWwge1xuICAgICAgICBjb2xvcjogIzRkMmM5MTsgfVxuICAgIC5jcy1oZWFkZXItdXNlci1uYXZfX2xpbmstLXNlYXJjaCB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgICBAbWVkaWEgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgICAuY3MtaGVhZGVyLXVzZXItbmF2X19saW5rLS1zZWFyY2gge1xuICAgICAgICAgIGRpc3BsYXk6IGZsZXg7IH0gfVxuICAgICAgLmNzLWhlYWRlci11c2VyLW5hdl9fbGluay0tc2VhcmNoOmhvdmVyIHtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyOyB9XG4gIC5jcy1oZWFkZXItdXNlci1uYXZfX2ljb24td3JhcHBlciB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIG1hcmdpbi1sZWZ0OiAxMHB4O1xuICAgIG1hcmdpbi1yaWdodDogMTBweDsgfVxuICAuY3MtaGVhZGVyLXVzZXItbmF2X19pY29uIHtcbiAgICB3aWR0aDogMi42cmVtO1xuICAgIGhlaWdodDogMi42cmVtO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG1hcmdpbjogMCBhdXRvOyB9XG4gICAgLmNzLWhlYWRlci11c2VyLW5hdl9faWNvbiBwYXRoIHtcbiAgICAgIGZpbGw6ICM3ZTU3YzI7IH1cbiAgLmNzLWhlYWRlci11c2VyLW5hdl9fbGFiZWwge1xuICAgIHRleHQtdHJhbnNmb3JtOiB1bnNldDtcbiAgICBmb250LXNpemU6IDEuNnJlbTtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIG1hcmdpbi10b3A6IDAuM3JlbTtcbiAgICBjb2xvcjogIzQ1NWE2NDtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgYm9yZGVyOiAwO1xuICAgIGNsaXA6IHJlY3QoMCAwIDAgMCk7XG4gICAgaGVpZ2h0OiAxcHg7XG4gICAgbWFyZ2luOiAtMXB4O1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgcGFkZGluZzogMDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgd2lkdGg6IDFweDtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIC8qIDEgKi8gfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAuY3MtaGVhZGVyLXVzZXItbmF2X19sYWJlbCB7XG4gICAgICAgIGNsaXA6IGF1dG87XG4gICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgcG9zaXRpb246IHN0YXRpYztcbiAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgIHdoaXRlLXNwYWNlOiBub3JtYWw7XG4gICAgICAgIG1hcmdpbi10b3A6IDAuM3JlbTsgfSB9XG4gIC5jcy1oZWFkZXItdXNlci1uYXZfX3F0eS1jb3VudGVyIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjN2U1N2MyO1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIGJvcmRlcjogMDtcbiAgICBib3JkZXItcmFkaXVzOiA1MHB4O1xuICAgIHBhZGRpbmc6IDAgMC45cmVtO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGZvbnQtc2l6ZTogMS40cmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxMDAlO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgaGVpZ2h0OiAxLjhlbTtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC4zczsgfVxuICAgIC5jcy1oZWFkZXItdXNlci1uYXZfX3F0eS1jb3VudGVyLS13aXNobGlzdCB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMTFhMDk5O1xuICAgICAgY29sb3I6ICM0NTVhNjQ7XG4gICAgICB0cmFuc2l0aW9uOiB0b3AgMC45cyBjdWJpYy1iZXppZXIoMC40MiwgMC4zMSwgMC4zNCwgMC45MyksIGxlZnQgMC45cyBjdWJpYy1iZXppZXIoMC40MiwgMC4zMSwgMC4zNCwgMC45Myk7IH1cbiAgICAuY3MtaGVhZGVyLXVzZXItbmF2X19xdHktY291bnRlci0tbWluaWNhcnQge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZjYjczOTtcbiAgICAgIGNvbG9yOiAjZmZmOyB9XG4gICAgLmNzLWhlYWRlci11c2VyLW5hdl9fcXR5LWNvdW50ZXItLWNvbXBhcmUge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzExYTA5OTtcbiAgICAgIGNvbG9yOiAjNDU1YTY0OyB9XG4gICAgLmNzLWhlYWRlci11c2VyLW5hdl9fcXR5LWNvdW50ZXItLWhhdmUtaXRlbXMge1xuICAgICAgb3BhY2l0eTogMTsgfVxuICAgIC5jcy1oZWFkZXItdXNlci1uYXZfX3F0eS1jb3VudGVyLS1lbXB0eTo6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6ICcwJztcbiAgICAgIHdpZHRoOiAwOyB9XG4gICAgLmNzLWhlYWRlci11c2VyLW5hdl9fcXR5LWNvdW50ZXItLXdpc2hsaXN0LWNsb25lZCB7XG4gICAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgICB6LWluZGV4OiAxMjAwO1xuICAgICAgcmlnaHQ6IGF1dG87XG4gICAgICBvcGFjaXR5OiAxO1xuICAgICAgdHJhbnNpdGlvbjogdG9wIDEuMnMgY3ViaWMtYmV6aWVyKDAuNDIsIDAuMzEsIDAuMzQsIDAuOTMpLCBsZWZ0IDEuMnMgY3ViaWMtYmV6aWVyKDAuNDIsIDAuMzEsIDAuMzQsIDAuOTMpOyB9XG4gICAgLmNzLWhlYWRlci11c2VyLW5hdl9fcXR5LWNvdW50ZXItLXdpc2hsaXN0LWFuaW1hdGluZyB7XG4gICAgICBhbmltYXRpb246IG1vdmUtcXR5LWJhZGdlIDEuMnMgY3ViaWMtYmV6aWVyKDAuNDIsIDAuMzEsIDAuMzQsIDAuOTMpO1xuICAgICAgdG9wOiAwLjVyZW07IH1cbiAgICAgIEBtZWRpYSAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAgIC5jcy1oZWFkZXItdXNlci1uYXZfX3F0eS1jb3VudGVyLS13aXNobGlzdC1hbmltYXRpbmcge1xuICAgICAgICAgIHRvcDogMS4zcmVtOyB9IH1cbiAgICAgIEBtZWRpYSAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAgIC5jcy1oZWFkZXItdXNlci1uYXZfX3F0eS1jb3VudGVyLS13aXNobGlzdC1hbmltYXRpbmcge1xuICAgICAgICAgIHRvcDogMy41cmVtOyB9IH1cblxuQGtleWZyYW1lcyBtb3ZlLXF0eS1iYWRnZSB7XG4gIDAlIHtcbiAgICBvcGFjaXR5OiAxOyB9XG4gIDE1JSB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxKTsgfVxuICA4NSUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxLjUpOyB9XG4gIDk1JSB7XG4gICAgb3BhY2l0eTogMTsgfVxuICAxMDAlIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7IH0gfVxuICAuY3MtaGVhZGVyLXVzZXItbmF2X19xdHktY291bnRlci1zcGFuIHtcbiAgICBtaW4td2lkdGg6IDFjaDsgfVxuICAuY3MtaGVhZGVyLXVzZXItbmF2IC5taW5pY2FydC1hbW91bnQtd3JhcHBlciA+IC5taW5pY2FydC1hbW91bnQtdGV4dCB7XG4gICAgZm9udC1zaXplOiAxLjRyZW07XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBtaW4td2lkdGg6IDQwcHg7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9XG4gICAgLmNzLWhlYWRlci11c2VyLW5hdiAubWluaWNhcnQtYW1vdW50LXdyYXBwZXIgPiAubWluaWNhcnQtYW1vdW50LXRleHQgLm1pbmljYXJ0LWFtb3VudC10ZXh0LS1lbXB0eTo6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6ICcwLDAwIHrFgic7IH1cblxuLmNzLW9mZmNhbnZhcy10b2dnbGUge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGJvcmRlcjogMDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIHBhZGRpbmc6IDEuNXJlbTtcbiAgYWxpZ24tc2VsZjogc3RyZXRjaDtcbiAgaGVpZ2h0OiAxMDAlO1xuICB3aWR0aDogMTAwJTtcbiAgd2lkdGg6IDUuNXJlbTsgfVxuICBAbWVkaWEgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC5jcy1vZmZjYW52YXMtdG9nZ2xlIHtcbiAgICAgIHdpZHRoOiBhdXRvOyB9IH1cbiAgLmNzLW9mZmNhbnZhcy10b2dnbGUsIC5jcy1vZmZjYW52YXMtdG9nZ2xlOmFjdGl2ZSwgLmNzLW9mZmNhbnZhcy10b2dnbGU6Zm9jdXMsIC5jcy1vZmZjYW52YXMtdG9nZ2xlOmhvdmVyIHtcbiAgICBib3JkZXI6IDA7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICBib3JkZXItcmFkaXVzOiAwOyB9XG4gIC5jcy1vZmZjYW52YXMtdG9nZ2xlOmFmdGVyIHtcbiAgICBjb250ZW50OiAnJztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgaGVpZ2h0OiAycHg7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgwKTtcbiAgICBiYWNrZ3JvdW5kOiAjN2U1N2MyO1xuICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjNzO1xuICAgIGJvdHRvbTogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IGxlZnQ7IH1cbiAgLmNzLW9mZmNhbnZhcy10b2dnbGUtLWFjdGl2ZSwgLmNzLW9mZmNhbnZhcy10b2dnbGUtLWFjdGl2ZTphY3RpdmUsIC5jcy1vZmZjYW52YXMtdG9nZ2xlLS1hY3RpdmU6Zm9jdXMsIC5jcy1vZmZjYW52YXMtdG9nZ2xlLS1hY3RpdmU6aG92ZXIge1xuICAgIGJhY2tncm91bmQ6ICM3ZTU3YzI7IH1cbiAgLmNzLW9mZmNhbnZhcy10b2dnbGUtLWFjdGl2ZTphZnRlciB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxKTsgfVxuICAuY3Mtb2ZmY2FudmFzLXRvZ2dsZS0tYWN0aXZlIC5jcy1vZmZjYW52YXMtdG9nZ2xlX19pY29uIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpOyB9XG4gICAgLmNzLW9mZmNhbnZhcy10b2dnbGUtLWFjdGl2ZSAuY3Mtb2ZmY2FudmFzLXRvZ2dsZV9faWNvbiwgLmNzLW9mZmNhbnZhcy10b2dnbGUtLWFjdGl2ZSAuY3Mtb2ZmY2FudmFzLXRvZ2dsZV9faWNvbjpiZWZvcmUsIC5jcy1vZmZjYW52YXMtdG9nZ2xlLS1hY3RpdmUgLmNzLW9mZmNhbnZhcy10b2dnbGVfX2ljb246YWZ0ZXIge1xuICAgICAgYmFja2dyb3VuZDogI2ZmZjsgfVxuICAgIC5jcy1vZmZjYW52YXMtdG9nZ2xlLS1hY3RpdmUgLmNzLW9mZmNhbnZhcy10b2dnbGVfX2ljb246YmVmb3JlLCAuY3Mtb2ZmY2FudmFzLXRvZ2dsZS0tYWN0aXZlIC5jcy1vZmZjYW52YXMtdG9nZ2xlX19pY29uOmFmdGVyIHtcbiAgICAgIHRyYW5zZm9ybTogcm90YXRlKDkwZGVnKTsgfVxuICAuY3Mtb2ZmY2FudmFzLXRvZ2dsZV9faWNvbiB7XG4gICAgcGFkZGluZzogMDtcbiAgICBtYXJnaW46IDA7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAuY3Mtb2ZmY2FudmFzLXRvZ2dsZV9faWNvbiwgLmNzLW9mZmNhbnZhcy10b2dnbGVfX2ljb246YmVmb3JlLCAuY3Mtb2ZmY2FudmFzLXRvZ2dsZV9faWNvbjphZnRlciB7XG4gICAgICB3aWR0aDogMS44cmVtO1xuICAgICAgaGVpZ2h0OiAwLjJyZW07XG4gICAgICBiYWNrZ3JvdW5kOiAjN2U1N2MyO1xuICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjNzLCB0cmFuc2Zvcm0gMC4zczsgfVxuICAgIC5jcy1vZmZjYW52YXMtdG9nZ2xlX19pY29uOmJlZm9yZSwgLmNzLW9mZmNhbnZhcy10b2dnbGVfX2ljb246YWZ0ZXIge1xuICAgICAgY29udGVudDogJyc7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsgfVxuICAgIC5jcy1vZmZjYW52YXMtdG9nZ2xlX19pY29uOmJlZm9yZSB7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTI1MCUpO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMjUwJSwgMCk7IH1cbiAgICAuY3Mtb2ZmY2FudmFzLXRvZ2dsZV9faWNvbjphZnRlciB7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMjUwJSk7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDI1MCUsIDApOyB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgIC5jcy1vZmZjYW52YXMtdG9nZ2xlX19pY29uIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7IH0gfVxuICAgIC5jcy1vZmZjYW52YXMtdG9nZ2xlLS1hY3RpdmUgLmNzLW9mZmNhbnZhcy10b2dnbGVfX2ljb24ge1xuICAgICAgZGlzcGxheTogYmxvY2s7IH1cbiAgLmNzLW9mZmNhbnZhcy10b2dnbGVfX3RleHQge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBib3R0b206IDAuNXJlbTtcbiAgICBsZWZ0OiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBmb250LXNpemU6IDAuOHJlbTtcbiAgICBjb2xvcjogIzQ1NWE2NDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIHRyYW5zaXRpb246IGNvbG9yIDAuM3M7IH1cbiAgICAuY3Mtb2ZmY2FudmFzLXRvZ2dsZS0tYWN0aXZlIC5jcy1vZmZjYW52YXMtdG9nZ2xlX190ZXh0IHtcbiAgICAgIGNvbG9yOiAjZmZmOyB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgIC5jcy1vZmZjYW52YXMtdG9nZ2xlX190ZXh0IHtcbiAgICAgICAgYm90dG9tOiAycmVtOyB9IH1cbiAgLmNzLW9mZmNhbnZhcy10b2dnbGVfX21lbnUtc2VhcmNoLWljb24ge1xuICAgIGZpbGw6ICM3ZTU3YzI7XG4gICAgd2lkdGg6IDIuNnJlbTtcbiAgICBoZWlnaHQ6IDIuNnJlbTsgfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAuY3Mtb2ZmY2FudmFzLXRvZ2dsZV9fbWVudS1zZWFyY2gtaWNvbiB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7IH0gfVxuICAgIC5jcy1vZmZjYW52YXMtdG9nZ2xlX19tZW51LXNlYXJjaC1pY29uOmhvdmVyIHtcbiAgICAgIGZpbGw6ICM3ZTU3YzI7IH1cbiAgICAuY3Mtb2ZmY2FudmFzLXRvZ2dsZS0tYWN0aXZlIC5jcy1vZmZjYW52YXMtdG9nZ2xlX19tZW51LXNlYXJjaC1pY29uIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiIsIkBpbXBvcnQgJ2NvbmZpZy92YXJpYWJsZXMnO1xuQGltcG9ydCAndmVuZG9ycy9pbmNsdWRlLW1lZGlhJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvaGVhZGVyL3VzZXItbmF2L3VzZXItbmF2JztcblxuJG9mZmNhbnZhcy10b2dnbGVfaWNvbi1iYWNrZ3JvdW5kOiB0cmFuc3BhcmVudCAhZGVmYXVsdDtcbiRvZmZjYW52YXMtdG9nZ2xlX2ljb24tY29sb3I6ICRjb2xvcl9wcmltYXJ5LTUwMCAhZGVmYXVsdDtcbiRvZmZjYW52YXMtdG9nZ2xlX2ljb24tYmFja2dyb3VuZC1hY3RpdmU6ICRjb2xvcl9wcmltYXJ5LTUwMCAhZGVmYXVsdDtcbiRvZmZjYW52YXMtdG9nZ2xlX2ljb24tY29sb3ItYWN0aXZlOiAkY29sb3JfYmFja2dyb3VuZC0yMDAgIWRlZmF1bHQ7XG4kb2ZmY2FudmFzLXRvZ2dsZV9pY29uLXRyYW5zaXRpb24tdGltZTogJHRyYW5zaXRpb24tZGVmYXVsdC10aW1lICFkZWZhdWx0O1xuJG9mZmNhbnZhcy10b2dnbGVfYW5pbWF0aW9uLWRpcmVjdGlvbjogJ2xlZnQnICFkZWZhdWx0OyAvLyAnbGVmdCcgb3IgJ3JpZ2h0J1xuJG9mZmNhbnZhcy10b2dnbGVfdGV4dC1jb2xvcjogJGNvbG9yX3RleHQtODAwICFkZWZhdWx0O1xuJG9mZmNhbnZhcy10b2dnbGVfdGV4dC1jb2xvci1hY3RpdmU6ICRjb2xvcl90ZXh0LTIwMCAhZGVmYXVsdDtcbiRvZmZjYW52YXMtdG9nZ2xlX3RleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2UgIWRlZmF1bHQ7XG5cbi4jeyRuc31vZmZjYW52YXMtdG9nZ2xlIHtcbiAgICAkcm9vdDogJjtcblxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGJvcmRlcjogMDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIHBhZGRpbmc6IDEuNXJlbTtcbiAgICBhbGlnbi1zZWxmOiBzdHJldGNoO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICB3aWR0aDogMTAwJTtcblxuICAgIEBpZiAoJGdsb2JhbF9oZWFkZXItbW9iaWxlLXNlYXJjaC1pbi1vZmZjYW52YXMpIHtcbiAgICAgICAgd2lkdGg6IDUuNXJlbTtcblxuICAgICAgICBAaW5jbHVkZSBtZWRpYShcbiAgICAgICAgICAgICc+PSN7JGdsb2JhbF9oZWFkZXItbW9iaWxlLXNlYXJjaC1pbi1vZmZjYW52YXMtYnJlYWtwb2ludH0nXG4gICAgICAgICkge1xuICAgICAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmLFxuICAgICY6YWN0aXZlLFxuICAgICY6Zm9jdXMsXG4gICAgJjpob3ZlciB7XG4gICAgICAgIGJvcmRlcjogMDtcbiAgICAgICAgYmFja2dyb3VuZDogJG9mZmNhbnZhcy10b2dnbGVfaWNvbi1iYWNrZ3JvdW5kO1xuICAgICAgICBib3gtc2hhZG93OiBub25lO1xuICAgICAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgIH1cblxuICAgICY6YWZ0ZXIge1xuICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBoZWlnaHQ6IDJweDtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMCk7XG4gICAgICAgIGJhY2tncm91bmQ6ICRvZmZjYW52YXMtdG9nZ2xlX2ljb24tYmFja2dyb3VuZC1hY3RpdmU7XG4gICAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAkb2ZmY2FudmFzLXRvZ2dsZV9pY29uLXRyYW5zaXRpb24tdGltZTtcbiAgICAgICAgYm90dG9tOiAwO1xuXG4gICAgICAgIEBpZiAoJG9mZmNhbnZhcy10b2dnbGVfYW5pbWF0aW9uLWRpcmVjdGlvbiA9PSAncmlnaHQnKSB7XG4gICAgICAgICAgICByaWdodDogMDtcbiAgICAgICAgICAgIHRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0O1xuICAgICAgICB9IEBlbHNlIHtcbiAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICB0cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJi0tYWN0aXZlIHtcbiAgICAgICAgJixcbiAgICAgICAgJjphY3RpdmUsXG4gICAgICAgICY6Zm9jdXMsXG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgYmFja2dyb3VuZDogJG9mZmNhbnZhcy10b2dnbGVfaWNvbi1iYWNrZ3JvdW5kLWFjdGl2ZTtcbiAgICAgICAgfVxuXG4gICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgICAgICAgfVxuXG4gICAgICAgICN7JHJvb3R9X19pY29uIHtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKC00NWRlZyk7XG5cbiAgICAgICAgICAgICYsXG4gICAgICAgICAgICAmOmJlZm9yZSxcbiAgICAgICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICRvZmZjYW52YXMtdG9nZ2xlX2ljb24tY29sb3ItYWN0aXZlO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmOmJlZm9yZSxcbiAgICAgICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDkwZGVnKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2ljb24ge1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgICAmLFxuICAgICAgICAmOmJlZm9yZSxcbiAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICB3aWR0aDogMS44cmVtO1xuICAgICAgICAgICAgaGVpZ2h0OiAwLjJyZW07XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAkb2ZmY2FudmFzLXRvZ2dsZV9pY29uLWNvbG9yO1xuICAgICAgICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAkb2ZmY2FudmFzLXRvZ2dsZV9pY29uLXRyYW5zaXRpb24tdGltZSxcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm0gJG9mZmNhbnZhcy10b2dnbGVfaWNvbi10cmFuc2l0aW9uLXRpbWU7XG4gICAgICAgIH1cblxuICAgICAgICAmOmJlZm9yZSxcbiAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB9XG5cbiAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0yNTAlKTtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTI1MCUsIDApO1xuICAgICAgICB9XG5cbiAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMjUwJSk7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDI1MCUsIDApO1xuICAgICAgICB9XG5cbiAgICAgICAgQGlmICgkZ2xvYmFsX2hlYWRlci1tb2JpbGUtc2VhcmNoLWluLW9mZmNhbnZhcykge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcblxuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoXG4gICAgICAgICAgICAgICAgJz49I3skZ2xvYmFsX2hlYWRlci1tb2JpbGUtc2VhcmNoLWluLW9mZmNhbnZhcy1icmVha3BvaW50fSdcbiAgICAgICAgICAgICkge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAjeyRyb290fS0tYWN0aXZlICYge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fdGV4dCB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgYm90dG9tOiAwLjVyZW07XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIGZvbnQtc2l6ZTogMC44cmVtO1xuICAgICAgICBjb2xvcjogJG9mZmNhbnZhcy10b2dnbGVfdGV4dC1jb2xvcjtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06ICRvZmZjYW52YXMtdG9nZ2xlX3RleHQtdHJhbnNmb3JtO1xuICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjNzO1xuXG4gICAgICAgICN7JHJvb3R9LS1hY3RpdmUgJiB7XG4gICAgICAgICAgICBjb2xvcjogJG9mZmNhbnZhcy10b2dnbGVfdGV4dC1jb2xvci1hY3RpdmU7XG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPj10YWJsZXQnKSB7XG4gICAgICAgICAgICBib3R0b206IDJyZW07XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBAaWYgKCRnbG9iYWxfaGVhZGVyLW1vYmlsZS1zZWFyY2gtaW4tb2ZmY2FudmFzKSB7XG4gICAgICAgICZfX21lbnUtc2VhcmNoLWljb24ge1xuICAgICAgICAgICAgZmlsbDogJGhlYWRlci11c2VyLW5hdl9pY29uLWNvbG9yO1xuICAgICAgICAgICAgd2lkdGg6IDIuNnJlbTtcbiAgICAgICAgICAgIGhlaWdodDogMi42cmVtO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYShcbiAgICAgICAgICAgICAgICAnPj0jeyRnbG9iYWxfaGVhZGVyLW1vYmlsZS1zZWFyY2gtaW4tb2ZmY2FudmFzLWJyZWFrcG9pbnR9J1xuICAgICAgICAgICAgKSB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgZmlsbDogJGhlYWRlci11c2VyLW5hdl9pY29uLWNvbG9yLWhvdmVyO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAjeyRyb290fS0tYWN0aXZlICYge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCIvKipcbiAqIEJyZWFrcG9pbnQgY29tcG9uZW50IHVzZWQgYnkgaW5jbHVkZS1tZWRpYSB2ZW5kb3IgbGlicmFyeS5cbiAqL1xuQHVzZSAnc2FzczptYXAnO1xuLyoqXG4gKiBFeHRyYWN0cyBuZXN0ZWQga2V5cyBmcm9tIGdpdmVuIG1hcC5cbiAqIEV4YW1wbGU6IGRlZXAtZ2V0KCRzb21lLW1hcCwgc29tZSwgbmVzdGVkLCBrZXlzKTtcbiAqL1xuLyoqXG4qIERlZmF1bHQgcHJvamVjdCBicmVha3BvaW50cyAtIFtlbV1cbiovXG4vKipcbiAqIEJyZWFrcG9pbnQgY29tcG9uZW50IHVzZWQgYnkgaW5jbHVkZS1tZWRpYSB2ZW5kb3IgbGlicmFyeS5cbiAqL1xuQHVzZSAnc2FzczptYXAnO1xuLyoqXG4gKiBFeHRyYWN0cyBuZXN0ZWQga2V5cyBmcm9tIGdpdmVuIG1hcC5cbiAqIEV4YW1wbGU6IGRlZXAtZ2V0KCRzb21lLW1hcCwgc29tZSwgbmVzdGVkLCBrZXlzKTtcbiAqL1xuLyoqXG4qIERlZmF1bHQgcHJvamVjdCBicmVha3BvaW50cyAtIFtlbV1cbiovXG4uY3Mtb2ZmY2FudmFzIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB6LWluZGV4OiAzMDA7IH1cbiAgLmNzLW9mZmNhbnZhc19fZHJhd2VyLCAuY3Mtb2ZmY2FudmFzX19vdmVybGF5IHtcbiAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgbGVmdDogMDtcbiAgICB0b3A6IDA7XG4gICAgYm90dG9tOiAwO1xuICAgIHRvcDogNXJlbTsgfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAuY3Mtb2ZmY2FudmFzX19kcmF3ZXIsIC5jcy1vZmZjYW52YXNfX292ZXJsYXkge1xuICAgICAgICB0b3A6IDguM3JlbTtcbiAgICAgICAgYm90dG9tOiAwOyB9IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgLmNzLW9mZmNhbnZhc19fZHJhd2VyLCAuY3Mtb2ZmY2FudmFzX19vdmVybGF5IHtcbiAgICAgICAgZGlzcGxheTogbm9uZTsgfSB9XG4gICAgLmNzLW9mZmNhbnZhcy0tbWluaS1jYXJ0IC5jcy1vZmZjYW52YXNfX2RyYXdlciwgLmNzLW9mZmNhbnZhcy0tbWluaS1jYXJ0IC5jcy1vZmZjYW52YXNfX292ZXJsYXkge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB0b3A6IDA7IH1cbiAgLmNzLW9mZmNhbnZhc19fb3ZlcmxheSB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiBjYWxjKDEwMCUgLSA1cmVtKTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuM3MsIHRyYW5zZm9ybSAxbXMgMC4zcztcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDApO1xuICAgIGN1cnNvcjogcG9pbnRlcjsgfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAuY3Mtb2ZmY2FudmFzX19vdmVybGF5IHtcbiAgICAgICAgaGVpZ2h0OiAxMDAlOyB9IH1cbiAgICAuY3Mtb2ZmY2FudmFzLS1taW5pLWNhcnQgLmNzLW9mZmNhbnZhc19fb3ZlcmxheSB7XG4gICAgICBoZWlnaHQ6IDEwMCU7IH1cbiAgLmNzLW9mZmNhbnZhcyAub3ZlcmxheS0tdmlzaWJsZSB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDAuNyk7XG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjNzOyB9XG4gIC5jcy1vZmZjYW52YXNfX2RyYXdlciB7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICAgIGJhY2tncm91bmQ6ICNmZmY7XG4gICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuM3M7XG4gICAgd2lkdGg6IDkwJTtcbiAgICBtYXgtd2lkdGg6IDQwcmVtOyB9XG4gICAgLmNzLW9mZmNhbnZhcy0tc2lkZV9sZWZ0IC5jcy1vZmZjYW52YXNfX2RyYXdlciB7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgcmlnaHQ6IGF1dG87XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMDUlLCAwLCAwKTsgfVxuICAgIC5jcy1vZmZjYW52YXMtLXNpZGVfcmlnaHQgLmNzLW9mZmNhbnZhc19fZHJhd2VyIHtcbiAgICAgIGxlZnQ6IGF1dG87XG4gICAgICByaWdodDogMDtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTA1JSwgMCwgMCk7IH1cbiAgICAuY3Mtb2ZmY2FudmFzX19kcmF3ZXItLW5hdmlnYXRpb24ge1xuICAgICAgbGVmdDogMDtcbiAgICAgIHJpZ2h0OiBhdXRvO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTA1JSwgMCwgMCk7IH1cbiAgLmNzLW9mZmNhbnZhcyAuZHJhd2VyLS12aXNpYmxlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApICFpbXBvcnRhbnQ7IH1cbiAgLmNzLW9mZmNhbnZhc19fc3Bpbm5lciB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHdpZHRoOiA2cmVtO1xuICAgIGhlaWdodDogNnJlbTtcbiAgICBsZWZ0OiA1MCU7XG4gICAgdG9wOiAyMCU7XG4gICAgbWFyZ2luLWxlZnQ6IC0zcmVtOyB9XG4iLCJAaW1wb3J0ICdjb25maWcvdmFyaWFibGVzJztcbkBpbXBvcnQgJ3ZlbmRvcnMvaW5jbHVkZS1tZWRpYSc7XG5cbiRvZmZjYW52YXNfdmVydGljYWwtb2Zmc2V0LW1vYmlsZTogJGdsb2JhbF9oZWFkZXItaGVpZ2h0LW1vYmlsZSAhZGVmYXVsdDsgLy8gTW92ZSBiZWxvdyB0aGUgbmF2aWdhdGlvbiBvbiBtb2JpbGUuXG4kb2ZmY2FudmFzX3RvcC1vZmZzZXQtdGFibGV0OiAkZ2xvYmFsX2hlYWRlci1oZWlnaHQtdGFibGV0ICFkZWZhdWx0OyAvLyBNb3ZlIGJlbG93IHRoZSBuYXZpZ2F0aW9uIG9uIHRhYmxldC5cbiRvZmZjYW52YXNfdHJhbnNpdGlvbi10aW1lOiAkdHJhbnNpdGlvbi1kZWZhdWx0LXRpbWUgIWRlZmF1bHQ7XG5cbiRvZmZjYW52YXNfb3ZlcmxheS1iYWNrZ3JvdW5kOiAkbW9kYWxzX292ZXJsYXktYmFja2dyb3VuZCAhZGVmYXVsdDtcblxuJG9mZmNhbnZhc19kcmF3ZXItYmFja2dyb3VuZDogJGNvbG9yX2JhY2tncm91bmQtMjAwICFkZWZhdWx0O1xuXG4kb2ZmY2FudmFzX3NwaW5uZXItY29sb3I6ICRjb2xvcl9wcmltYXJ5LTUwMCAhZGVmYXVsdDtcblxuLiN7JG5zfW9mZmNhbnZhcyB7XG4gICAgJHJvb3Q6ICY7XG5cbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgei1pbmRleDogMzAwO1xuXG4gICAgJl9fZHJhd2VyLFxuICAgICZfX292ZXJsYXkge1xuICAgICAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgYm90dG9tOiAwO1xuXG4gICAgICAgIEBpZiAoJGdsb2JhbF9oZWFkZXItaXMtYm90dG9tLW9uLW1vYmlsZSkge1xuICAgICAgICAgICAgYm90dG9tOiAkb2ZmY2FudmFzX3ZlcnRpY2FsLW9mZnNldC1tb2JpbGU7XG4gICAgICAgIH0gQGVsc2Uge1xuICAgICAgICAgICAgdG9wOiAkb2ZmY2FudmFzX3ZlcnRpY2FsLW9mZnNldC1tb2JpbGU7XG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPj10YWJsZXQnKSB7XG4gICAgICAgICAgICB0b3A6ICRvZmZjYW52YXNfdG9wLW9mZnNldC10YWJsZXQ7XG4gICAgICAgICAgICBib3R0b206IDA7XG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPj1sYXB0b3AnKSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG5cbiAgICAgICAgI3skcm9vdH0tLW1pbmktY2FydCAmIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fb3ZlcmxheSB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBoZWlnaHQ6IGNhbGMoMTAwJSAtICN7JG9mZmNhbnZhc192ZXJ0aWNhbC1vZmZzZXQtbW9iaWxlfSk7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICAvLyBTZXR0aW5nIDFtcyBiZWNhdXNlIDAgZG9lc24ndCBzZWVtIHRvIHdvcmsgYW5kIHdlIG5lZWQgc2VhbWxlc3MgdHJhbnNpdGlvbiBmb3Igc2NhbGUgaGVyZS5cbiAgICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAkb2ZmY2FudmFzX3RyYW5zaXRpb24tdGltZSxcbiAgICAgICAgICAgIHRyYW5zZm9ybSAxbXMgJG9mZmNhbnZhc190cmFuc2l0aW9uLXRpbWU7XG4gICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMCk7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcblxuICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPj10YWJsZXQnKSB7XG4gICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIH1cblxuICAgICAgICAjeyRyb290fS0tbWluaS1jYXJ0ICYge1xuICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLm92ZXJsYXkge1xuICAgICAgICAmLS12aXNpYmxlIHtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAkb2ZmY2FudmFzX292ZXJsYXktYmFja2dyb3VuZDtcbiAgICAgICAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgJG9mZmNhbnZhc190cmFuc2l0aW9uLXRpbWU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19kcmF3ZXIge1xuICAgICAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgICAgIGJhY2tncm91bmQ6ICRvZmZjYW52YXNfZHJhd2VyLWJhY2tncm91bmQ7XG4gICAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAkb2ZmY2FudmFzX3RyYW5zaXRpb24tdGltZTtcbiAgICAgICAgd2lkdGg6IDkwJTtcbiAgICAgICAgbWF4LXdpZHRoOiA0MHJlbTtcblxuICAgICAgICBAaWYgKCRnbG9iYWxfaGVhZGVyLWlzLWJvdHRvbS1vbi1tb2JpbGUpIHtcbiAgICAgICAgICAgIGJvdHRvbTogJG9mZmNhbnZhc192ZXJ0aWNhbC1vZmZzZXQtbW9iaWxlO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPj10YWJsZXQnKSB7XG4gICAgICAgICAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgI3skcm9vdH0tLXNpZGVfbGVmdCAmIHtcbiAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICByaWdodDogYXV0bztcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwNSUsIDAsIDApO1xuICAgICAgICB9XG5cbiAgICAgICAgI3skcm9vdH0tLXNpZGVfcmlnaHQgJiB7XG4gICAgICAgICAgICBsZWZ0OiBhdXRvO1xuICAgICAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwNSUsIDAsIDApO1xuICAgICAgICB9XG5cbiAgICAgICAgJi0tbmF2aWdhdGlvbiB7XG4gICAgICAgICAgICBAaWYgKCRnbG9iYWxfaGVhZGVyLW1vYmlsZS1tZW51LWlzLXJpZ2h0KSB7XG4gICAgICAgICAgICAgICAgbGVmdDogYXV0bztcbiAgICAgICAgICAgICAgICByaWdodDogMDtcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwNSUsIDAsIDApO1xuICAgICAgICAgICAgfSBAZWxzZSB7XG4gICAgICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgICAgICByaWdodDogYXV0bztcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMDUlLCAwLCAwKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5kcmF3ZXIge1xuICAgICAgICAmLS12aXNpYmxlIHtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCkgIWltcG9ydGFudDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX3NwaW5uZXIge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHdpZHRoOiA2cmVtO1xuICAgICAgICBoZWlnaHQ6IDZyZW07XG4gICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgdG9wOiAyMCU7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAtM3JlbTtcbiAgICB9XG59XG4iLCIvKipcbiAqIEJyZWFrcG9pbnQgY29tcG9uZW50IHVzZWQgYnkgaW5jbHVkZS1tZWRpYSB2ZW5kb3IgbGlicmFyeS5cbiAqL1xuQHVzZSAnc2FzczptYXAnO1xuLyoqXG4gKiBFeHRyYWN0cyBuZXN0ZWQga2V5cyBmcm9tIGdpdmVuIG1hcC5cbiAqIEV4YW1wbGU6IGRlZXAtZ2V0KCRzb21lLW1hcCwgc29tZSwgbmVzdGVkLCBrZXlzKTtcbiAqL1xuLyoqXG4qIERlZmF1bHQgcHJvamVjdCBicmVha3BvaW50cyAtIFtlbV1cbiovXG4vKipcbiAqIEJyZWFrcG9pbnQgY29tcG9uZW50IHVzZWQgYnkgaW5jbHVkZS1tZWRpYSB2ZW5kb3IgbGlicmFyeS5cbiAqL1xuQHVzZSAnc2FzczptYXAnO1xuLyoqXG4gKiBFeHRyYWN0cyBuZXN0ZWQga2V5cyBmcm9tIGdpdmVuIG1hcC5cbiAqIEV4YW1wbGU6IGRlZXAtZ2V0KCRzb21lLW1hcCwgc29tZSwgbmVzdGVkLCBrZXlzKTtcbiAqL1xuLyoqXG4qIERlZmF1bHQgcHJvamVjdCBicmVha3BvaW50cyAtIFtlbV1cbiovXG4uY3MtcGFnZS1ib3R0b20ge1xuICBwYWRkaW5nOiAxLjVyZW0gMDtcbiAgd2lkdGg6IDEwMCU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBhbGlnbi1pdGVtczogY2VudGVyOyB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgLmNzLXBhZ2UtYm90dG9tIHtcbiAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDsgfSB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLmNzLXBhZ2UtYm90dG9tIHtcbiAgICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOyB9IH1cbiAgLnBhZ2UtcHJpbnQgLmNzLXBhZ2UtYm90dG9tIHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG4gIC5jcy1wYWdlLWJvdHRvbV9faW1hZ2Uge1xuICAgIGhlaWdodDogM3JlbTtcbiAgICB3aWR0aDogYXV0bzsgfVxuICAgIC5jcy1wYWdlLWJvdHRvbV9faW1hZ2UtLWNpcmNsZSB7XG4gICAgICB3aWR0aDogNC43cmVtO1xuICAgICAgaGVpZ2h0OiA0LjdyZW07XG4gICAgICBtaW4td2lkdGg6IDQuN3JlbTtcbiAgICAgIG1pbi1oZWlnaHQ6IDQuN3JlbTtcbiAgICAgIG1hcmdpbi1yaWdodDogMXJlbTsgfVxuICAuY3MtcGFnZS1ib3R0b21fX3RleHQge1xuICAgIGZvbnQtc2l6ZTogMS4ycmVtO1xuICAgIGNvbG9yOiAjNjk2OTY5O1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgbWFyZ2luLXJpZ2h0OiAwLjZyZW07IH1cbiAgICAuY3MtcGFnZS1ib3R0b21fX3RleHQtLXNtYWxsIHtcbiAgICAgIGZvbnQtc2l6ZTogMXJlbTsgfVxuICAuY3MtcGFnZS1ib3R0b21fX2dyb3VwIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZmxleC1ncm93OiAxO1xuICAgIGZsZXgtc2hyaW5rOiAxO1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsgfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAuY3MtcGFnZS1ib3R0b21fX2dyb3VwIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIHBhZGRpbmc6IDFyZW0gMDsgfSB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgIC5jcy1wYWdlLWJvdHRvbV9fZ3JvdXAge1xuICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgcGFkZGluZzogMDsgfSB9XG4gICAgLmNzLXBhZ2UtYm90dG9tX19ncm91cC0taW5mbyB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgZmxleC1kaXJlY3Rpb246IHJvdy1yZXZlcnNlOyB9XG4gICAgICBAbWVkaWEgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgICAuY3MtcGFnZS1ib3R0b21fX2dyb3VwLS1pbmZvIHtcbiAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgIGZsZXgtYmFzaXM6IDQwJTtcbiAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDEuNXJlbTsgfVxuICAgICAgICAgIC5jcy1wYWdlLWJvdHRvbV9fZ3JvdXAtLWluZm8gLmNzLXBhZ2UtYm90dG9tX190ZXh0IHtcbiAgICAgICAgICAgIG1heC13aWR0aDogMjByZW07IH0gfVxuICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgICAgLmNzLXBhZ2UtYm90dG9tX19ncm91cC0taW5mbyB7XG4gICAgICAgICAgZmxleC1iYXNpczogMTclO1xuICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDA7IH1cbiAgICAgICAgICAuY3MtcGFnZS1ib3R0b21fX2dyb3VwLS1pbmZvIC5jcy1wYWdlLWJvdHRvbV9fdGV4dCB7XG4gICAgICAgICAgICBtYXgtd2lkdGg6IDEwMCU7IH0gfVxuICAgIC5jcy1wYWdlLWJvdHRvbV9fZ3JvdXAtLXNoaXBwaW5nIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAgIEBtZWRpYSAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAgIC5jcy1wYWdlLWJvdHRvbV9fZ3JvdXAtLXNoaXBwaW5nIHtcbiAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgIGZsZXgtYmFzaXM6IDU1JTtcbiAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDEuNXJlbTsgfSB9XG4gICAgICBAbWVkaWEgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgICAuY3MtcGFnZS1ib3R0b21fX2dyb3VwLS1zaGlwcGluZyB7XG4gICAgICAgICAgZmxleC1iYXNpczogMzMlO1xuICAgICAgICAgIHBhZGRpbmctbGVmdDogNHJlbTsgfSB9XG4gICAgLmNzLXBhZ2UtYm90dG9tX19ncm91cC0tcGF5bWVudCB7XG4gICAgICBmbGV4LWJhc2lzOiA1MCU7IH1cbiAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiA0Ny45OWVtKSB7XG4gICAgICAgIC5jcy1wYWdlLWJvdHRvbV9fZ3JvdXAtLXBheW1lbnQgLmNzLXBhZ2UtYm90dG9tX190ZXh0IHtcbiAgICAgICAgICBkaXNwbGF5OiBub25lOyB9IH1cblxuQG1lZGlhIChtaW4td2lkdGg6IDQ4ZW0pIGFuZCAobWF4LXdpZHRoOiA2My45OWVtKSB7XG4gIC5jcy1wYWdlLWJvdHRvbV9fZ3JvdXAtLXBheW1lbnQge1xuICAgIGZsZXgtYmFzaXM6IDEwMCU7IH0gfVxuICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgICAgLmNzLXBhZ2UtYm90dG9tX19ncm91cC0tcGF5bWVudCB7XG4gICAgICAgICAgcGFkZGluZy1sZWZ0OiA0cmVtOyB9IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgLmNzLXBhZ2UtYm90dG9tX19ncm91cC0tc2hpcHBpbmcsIC5jcy1wYWdlLWJvdHRvbV9fZ3JvdXAtLXBheW1lbnQge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgICAgICAgLmNzLXBhZ2UtYm90dG9tX19ncm91cC0tc2hpcHBpbmc6YmVmb3JlLCAuY3MtcGFnZS1ib3R0b21fX2dyb3VwLS1wYXltZW50OmJlZm9yZSB7XG4gICAgICAgICAgbWFyZ2luOiAwIDFyZW07XG4gICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgIGxlZnQ6IDFyZW07XG4gICAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgICAgd2lkdGg6IDAuMnJlbTtcbiAgICAgICAgICBoZWlnaHQ6IDJyZW07XG4gICAgICAgICAgYmFja2dyb3VuZDogI2RjZGNkYztcbiAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7IH0gfVxuICAuY3MtcGFnZS1ib3R0b21fX2xvZ28ge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1zaHJpbms6IDE7XG4gICAgaGVpZ2h0OiAycmVtOyB9XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDYzLjk5ZW0pIHtcbiAgICAgIC5jcy1wYWdlLWJvdHRvbV9fbG9nbyB7XG4gICAgICAgIHdpZHRoOiBhdXRvOyB9IH1cbiAgICAuY3MtcGFnZS1ib3R0b21fX2xvZ28tLWhlcm1lcyB7XG4gICAgICB3aWR0aDogMTIuMnJlbTsgfVxuICAgIC5jcy1wYWdlLWJvdHRvbV9fbG9nby0tZGhsIHtcbiAgICAgIGhlaWdodDogYXV0bztcbiAgICAgIG1heC1oZWlnaHQ6IDJyZW07XG4gICAgICBtaW4td2lkdGg6IDguNnJlbTtcbiAgICAgIHBhZGRpbmctbGVmdDogMTBweDsgfVxuICAgIC5jcy1wYWdlLWJvdHRvbV9fbG9nby0tcGF5cGFsIHtcbiAgICAgIHdpZHRoOiA2LjJyZW07IH1cbiAgICAuY3MtcGFnZS1ib3R0b21fX2xvZ28tLXZpc2Ege1xuICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgbWF4LWhlaWdodDogMnJlbTtcbiAgICAgIG1pbi13aWR0aDogNS41cmVtOyB9XG4gICAgLmNzLXBhZ2UtYm90dG9tX19sb2dvLS1tYXN0ZXJjYXJkIHtcbiAgICAgIHdpZHRoOiAzLjNyZW07IH1cbiAgICAuY3MtcGFnZS1ib3R0b21fX2xvZ28tLWtsYXJuYS1zb2ZvcnQge1xuICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgbWF4LWhlaWdodDogMi41cmVtO1xuICAgICAgbWluLWhlaWdodDogMi41cmVtOyB9XG4gICAgLmNzLXBhZ2UtYm90dG9tX19sb2dvLS1rbGFybmEge1xuICAgICAgd2lkdGg6IDdyZW07IH1cbiAgICAuY3MtcGFnZS1ib3R0b21fX2xvZ28tLWdscyB7XG4gICAgICB3aWR0aDogNXJlbTsgfVxuICAgIC5jcy1wYWdlLWJvdHRvbV9fbG9nby0tZ2lyb3BheSB7XG4gICAgICB3aWR0aDogNC44cmVtOyB9XG4gICAgLmNzLXBhZ2UtYm90dG9tX19sb2dvLS1lYyB7XG4gICAgICB3aWR0aDogMS44cmVtOyB9XG4gICAgLmNzLXBhZ2UtYm90dG9tX19sb2dvLS1wYXlkaXJla3Qge1xuICAgICAgd2lkdGg6IDZyZW07IH1cbiAgICAuY3MtcGFnZS1ib3R0b21fX2xvZ28tLWxhc3RzY2hyaWZ0IHtcbiAgICAgIHdpZHRoOiA2LjE1cmVtOyB9XG4gICAgLmNzLXBhZ2UtYm90dG9tX19sb2dvLS12b3JrYXNzZSB7XG4gICAgICB3aWR0aDogOC4zcmVtOyB9XG4gICAgLmNzLXBhZ2UtYm90dG9tX19sb2dvLS1yZWNobnVuZyB7XG4gICAgICB3aWR0aDogNi4xNXJlbTsgfVxuICAgIC5jcy1wYWdlLWJvdHRvbV9fbG9nbzpub3QoOmxhc3QtY2hpbGQpIHtcbiAgICAgIG1hcmdpbi1yaWdodDogMC41cmVtOyB9XG5cbi5jcy1jb250YWluZXItLXBhZ2UtYm90dG9tIHtcbiAgbWF4LXdpZHRoOiBub25lOyB9XG4iLCJAaW1wb3J0ICdjb25maWcvdmFyaWFibGVzJztcbkBpbXBvcnQgJ3ZlbmRvcnMvaW5jbHVkZS1tZWRpYSc7XG5cbiRwYWdlLWJvdHRvbV90ZXh0LWNvbG9yOiAkY29sb3JfdGV4dC01MDAgIWRlZmF1bHQ7XG4kcGFnZS1ib3R0b21fZGl2aWRlci1jb2xvcjogJGNvbG9yX2JvcmRlci01MDAgIWRlZmF1bHQ7XG5cbi4jeyRuc31wYWdlLWJvdHRvbSB7XG4gICAgJHJvb3Q6ICY7XG5cbiAgICBwYWRkaW5nOiAxLjVyZW0gMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgnPj10YWJsZXQnKSB7XG4gICAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICAgIH1cblxuICAgIEBpbmNsdWRlIG1lZGlhKCc+PWxhcHRvcCcpIHtcbiAgICAgICAgZmxleC13cmFwOiBub3dyYXA7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICB9XG5cbiAgICAucGFnZS1wcmludCAmIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG5cbiAgICAmX19pbWFnZSB7XG4gICAgICAgIGhlaWdodDogM3JlbTtcbiAgICAgICAgd2lkdGg6IGF1dG87XG5cbiAgICAgICAgJi0tY2lyY2xlIHtcbiAgICAgICAgICAgIHdpZHRoOiA0LjdyZW07XG4gICAgICAgICAgICBoZWlnaHQ6IDQuN3JlbTtcbiAgICAgICAgICAgIG1pbi13aWR0aDogNC43cmVtO1xuICAgICAgICAgICAgbWluLWhlaWdodDogNC43cmVtO1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAxcmVtO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fdGV4dCB7XG4gICAgICAgIGZvbnQtc2l6ZTogMS4ycmVtO1xuICAgICAgICBjb2xvcjogJHBhZ2UtYm90dG9tX3RleHQtY29sb3I7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMC42cmVtO1xuXG4gICAgICAgICYtLXNtYWxsIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2dyb3VwIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgZmxleC1ncm93OiAxO1xuICAgICAgICBmbGV4LXNocmluazogMTtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PXRhYmxldCcpIHtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgcGFkZGluZzogMXJlbSAwO1xuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz49bGFwdG9wJykge1xuICAgICAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICB9XG5cbiAgICAgICAgJi0taW5mbyB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdy1yZXZlcnNlO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPj10YWJsZXQnKSB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgICAgICBmbGV4LWJhc2lzOiA0MCU7XG4gICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAxLjVyZW07XG5cbiAgICAgICAgICAgICAgICAjeyRyb290fV9fdGV4dCB7XG4gICAgICAgICAgICAgICAgICAgIG1heC13aWR0aDogMjByZW07XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPj1sYXB0b3AnKSB7XG4gICAgICAgICAgICAgICAgZmxleC1iYXNpczogMTclO1xuICAgICAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XG5cbiAgICAgICAgICAgICAgICAjeyRyb290fV9fdGV4dCB7XG4gICAgICAgICAgICAgICAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmLS1zaGlwcGluZyB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPj10YWJsZXQnKSB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgICAgICBmbGV4LWJhc2lzOiA1NSU7XG4gICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAxLjVyZW07XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PWxhcHRvcCcpIHtcbiAgICAgICAgICAgICAgICBmbGV4LWJhc2lzOiAzMyU7XG4gICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiA0cmVtO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJi0tcGF5bWVudCB7XG4gICAgICAgICAgICBmbGV4LWJhc2lzOiA1MCU7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKCc8dGFibGV0Jykge1xuICAgICAgICAgICAgICAgICN7JHJvb3R9X190ZXh0IHtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PXRhYmxldCcsICc8bGFwdG9wJykge1xuICAgICAgICAgICAgICAgIGZsZXgtYmFzaXM6IDEwMCU7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PWxhcHRvcCcpIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDRyZW07XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmLS1zaGlwcGluZyxcbiAgICAgICAgJi0tcGF5bWVudCB7XG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPj1sYXB0b3AnKSB7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICAgICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW46IDAgMXJlbTtcbiAgICAgICAgICAgICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICAgICAgbGVmdDogMXJlbTtcbiAgICAgICAgICAgICAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAwLjJyZW07XG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogMnJlbTtcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDogJHBhZ2UtYm90dG9tX2RpdmlkZXItY29sb3I7XG4gICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19sb2dvIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1zaHJpbms6IDE7XG4gICAgICAgIGhlaWdodDogMnJlbTtcblxuICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPGxhcHRvcCcpIHtcbiAgICAgICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICB9XG5cbiAgICAgICAgJi0taGVybWVzIHtcbiAgICAgICAgICAgIHdpZHRoOiAxMi4ycmVtO1xuICAgICAgICB9XG5cbiAgICAgICAgJi0tZGhsIHtcbiAgICAgICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgICAgIG1heC1oZWlnaHQ6IDJyZW07XG4gICAgICAgICAgICBtaW4td2lkdGg6IDguNnJlbTtcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMTBweDtcbiAgICAgICAgfVxuXG4gICAgICAgICYtLXBheXBhbCB7XG4gICAgICAgICAgICB3aWR0aDogNi4ycmVtO1xuICAgICAgICB9XG5cbiAgICAgICAgJi0tdmlzYSB7XG4gICAgICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgICAgICBtYXgtaGVpZ2h0OiAycmVtO1xuICAgICAgICAgICAgbWluLXdpZHRoOiA1LjVyZW07XG4gICAgICAgIH1cblxuICAgICAgICAmLS1tYXN0ZXJjYXJkIHtcbiAgICAgICAgICAgIHdpZHRoOiAzLjNyZW07XG4gICAgICAgIH1cblxuICAgICAgICAmLS1rbGFybmEtc29mb3J0IHtcbiAgICAgICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgICAgIG1heC1oZWlnaHQ6IDIuNXJlbTtcbiAgICAgICAgICAgIG1pbi1oZWlnaHQ6IDIuNXJlbTtcbiAgICAgICAgfVxuXG4gICAgICAgICYtLWtsYXJuYSB7XG4gICAgICAgICAgICB3aWR0aDogN3JlbTtcbiAgICAgICAgfVxuXG4gICAgICAgICYtLWdscyB7XG4gICAgICAgICAgICB3aWR0aDogNXJlbTtcbiAgICAgICAgfVxuXG4gICAgICAgICYtLWdpcm9wYXkge1xuICAgICAgICAgICAgd2lkdGg6IDQuOHJlbTtcbiAgICAgICAgfVxuXG4gICAgICAgICYtLWVjIHtcbiAgICAgICAgICAgIHdpZHRoOiAxLjhyZW07XG4gICAgICAgIH1cblxuICAgICAgICAmLS1wYXlkaXJla3Qge1xuICAgICAgICAgICAgd2lkdGg6IDZyZW07XG4gICAgICAgIH1cblxuICAgICAgICAmLS1sYXN0c2NocmlmdCB7XG4gICAgICAgICAgICB3aWR0aDogNi4xNXJlbTtcbiAgICAgICAgfVxuXG4gICAgICAgICYtLXZvcmthc3NlIHtcbiAgICAgICAgICAgIHdpZHRoOiA4LjNyZW07XG4gICAgICAgIH1cblxuICAgICAgICAmLS1yZWNobnVuZyB7XG4gICAgICAgICAgICB3aWR0aDogNi4xNXJlbTtcbiAgICAgICAgfVxuXG4gICAgICAgICY6bm90KDpsYXN0LWNoaWxkKSB7XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDAuNXJlbTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLiN7JG5zfWNvbnRhaW5lciB7XG4gICAgJi0tcGFnZS1ib3R0b20ge1xuICAgICAgICBtYXgtd2lkdGg6IG5vbmU7XG4gICAgfVxufVxuIiwiLyoqXG4gKiBCcmVha3BvaW50IGNvbXBvbmVudCB1c2VkIGJ5IGluY2x1ZGUtbWVkaWEgdmVuZG9yIGxpYnJhcnkuXG4gKi9cbkB1c2UgJ3Nhc3M6bWFwJztcbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuLyoqXG4gKiBCcmVha3BvaW50IGNvbXBvbmVudCB1c2VkIGJ5IGluY2x1ZGUtbWVkaWEgdmVuZG9yIGxpYnJhcnkuXG4gKi9cbkB1c2UgJ3Nhc3M6bWFwJztcbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuLyogc3R5bGVsaW50LWRpc2FibGUgYmxvY2stbm8tZW1wdHkgKi9cbi8qIHN0eWxlbGludC1lbmFibGUgKi9cbi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG5AdXNlICdzYXNzOm1hcCc7XG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG4vKipcbiogRGVmYXVsdCBwcm9qZWN0IGJyZWFrcG9pbnRzIC0gW2VtXVxuKi9cbi5wYWdlLXRpdGxlIHtcbiAgZm9udC1mYW1pbHk6IFwiRG9zaXNcIiwgc3lzdGVtLXVpLCAtYXBwbGUtc3lzdGVtLCBTZWdvZSBVSSwgUm9ib3RvLCBVYnVudHUsIENhbnRhcmVsbCwgT3h5Z2VuLCBzYW5zLXNlcmlmLCBcIkFwcGxlIENvbG9yIEVtb2ppXCIsIFwiU2Vnb2UgVUkgRW1vamlcIiwgXCJTZWdvZSBVSSBTeW1ib2xcIiwgXCJOb3RvIENvbG9yIEVtb2ppXCI7XG4gIGZvbnQtc2l6ZTogMi42cmVtO1xuICBsaW5lLWhlaWdodDogMS4xO1xuICBjb2xvcjogIzQ1NWE2NDtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gIG1hcmdpbjogMXJlbSAwIDJyZW07XG4gIHBhZGRpbmctYm90dG9tOiAxcmVtO1xuICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgZm9udC13ZWlnaHQ6IDYwMDsgfVxuICAucGFnZS10aXRsZV9faGVhZGxpbmUge1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGZvbnQtc2l6ZTogaW5oZXJpdDtcbiAgICBmb250LXdlaWdodDogaW5oZXJpdDtcbiAgICBmb250LWZhbWlseTogaW5oZXJpdDtcbiAgICBkaXNwbGF5OiBpbmxpbmU7IH1cbiAgLnBhZ2UtdGl0bGVfX3NwYW4ge1xuICAgIGNvbG9yOiAjNjk2OTY5O1xuICAgIGZvbnQtd2VpZ2h0OiAzMDA7XG4gICAgcGFkZGluZzogMDsgfVxuIiwiQGltcG9ydCAnY29uZmlnL3ZhcmlhYmxlcyc7XG5AaW1wb3J0ICdjb21wb25lbnRzL3R5cG9ncmFwaHkvbWl4aW4nO1xuXG4kcGFnZS10aXRsZV9mb250LXNpemU6ICRmb250LXNpemVfaGVhZGxpbmUtMSAhZGVmYXVsdDtcbiRwYWdlLXRpdGxlX3RleHQtdHJhbnNmb3JtOiBub25lICFkZWZhdWx0O1xuJHBhZ2UtdGl0bGVfZm9udC13ZWlnaHQ6IDYwMCAhZGVmYXVsdDtcblxuJHBhZ2UtdGl0bGVfc3Bhbi1jb2xvcjogJGNvbG9yX3RleHQtNTAwICFkZWZhdWx0O1xuJHBhZ2UtdGl0bGVfc3Bhbi1mb250LXdlaWdodDogMzAwICFkZWZhdWx0O1xuJHBhZ2UtdGl0bGVfc3Bhbi1wYWRkaW5nOiAwICFkZWZhdWx0O1xuXG4ucGFnZS10aXRsZSB7XG4gICAgQGluY2x1ZGUgaGVhZGxpbmUoJGxldmVsOiAkcGFnZS10aXRsZV9mb250LXNpemUpO1xuICAgIHBhZGRpbmctYm90dG9tOiAxcmVtO1xuICAgIHRleHQtdHJhbnNmb3JtOiAkcGFnZS10aXRsZV90ZXh0LXRyYW5zZm9ybTtcbiAgICBmb250LXdlaWdodDogJHBhZ2UtdGl0bGVfZm9udC13ZWlnaHQ7XG5cbiAgICAmX19oZWFkbGluZSB7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgZm9udC1zaXplOiBpbmhlcml0O1xuICAgICAgICBmb250LXdlaWdodDogaW5oZXJpdDtcbiAgICAgICAgZm9udC1mYW1pbHk6IGluaGVyaXQ7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZTtcbiAgICB9XG5cbiAgICAmX19zcGFuIHtcbiAgICAgICAgY29sb3I6ICRwYWdlLXRpdGxlX3NwYW4tY29sb3I7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiAkcGFnZS10aXRsZV9zcGFuLWZvbnQtd2VpZ2h0O1xuICAgICAgICBwYWRkaW5nOiAkcGFnZS10aXRsZV9zcGFuLXBhZGRpbmc7XG4gICAgfVxufVxuIiwiLyoqXG4gKiBCcmVha3BvaW50IGNvbXBvbmVudCB1c2VkIGJ5IGluY2x1ZGUtbWVkaWEgdmVuZG9yIGxpYnJhcnkuXG4gKi9cbkB1c2UgJ3Nhc3M6bWFwJztcbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuLypcbiAqIEJlY2F1c2UgcHJpY2UtYm94IGlzIHVzZWQgaW4gbXVsdGlwbGUgY29tcG9uZW50cyBsaWtlIHRpbGUsIGJ1eWJveCBldGMsXG4gKiB3ZSBuZWVkIHRvIG1vdmUgdmFyaWFibGVzIHRvIHNlcGFyYXRlIGZpbGUgdG8gaGF2ZSBwb3NzaWJpbGl0eSB0byBpbmNsdWRlIHRoZW1cbiAqIGluIGVhY2ggY29tcG9uZW50IHdpdGhvdXQgZ2VuZXJhdGUgcHJpY2UtYm94IGNvbXBvbmVudCBzdHlsZXMgbXVsdGlwbGUgdGltZXNcbiovXG4vKioqXG4gKiBIaWRlIG9ubHkgdmlzdWFsbHksIGJ1dCBoYXZlIGl0IGF2YWlsYWJsZSBmb3Igc2NyZWVuIHJlYWRlcnM6XG4gKiBodHRwczovL3Nub29rLmNhL2FyY2hpdmVzL2h0bWxfYW5kX2Nzcy9oaWRpbmctY29udGVudC1mb3ItYWNjZXNzaWJpbGl0eVxuICpcbiAqIDEuIEZvciBsb25nIGNvbnRlbnQsIGxpbmUgZmVlZHMgYXJlIG5vdCBpbnRlcnByZXRlZCBhcyBzcGFjZXMgYW5kIHNtYWxsIHdpZHRoXG4gKiAgICBjYXVzZXMgY29udGVudCB0byB3cmFwIDEgd29yZCBwZXIgbGluZTpcbiAqICAgIGh0dHBzOi8vbWVkaXVtLmNvbS9AamVzc2ViZWFjaC9iZXdhcmUtc211c2hlZC1vZmYtc2NyZWVuLWFjY2Vzc2libGUtdGV4dC01OTUyYTRjMmNiZmVcbiAqXG4gKiBAc2VlIGh0dHBzOi8vZ2l0aHViLmNvbS9oNWJwL2h0bWw1LWJvaWxlcnBsYXRlL2Jsb2IvbWFzdGVyL3NyYy9jc3MvbWFpbi5jc3MjTDEzMFxuICovXG4ucHJpY2UtYm94IHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9XG4gIC5wcmljZS1ib3ggLnByaWNlIHtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7IH1cbiAgICAucHJpY2UtYm94IC5wcmljZS1sYWJlbCB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9XG4gIC5wcmljZS1ib3ggLm9sZC1wcmljZSAucHJpY2Uge1xuICAgIGZvbnQtc2l6ZTogMC42NXJlbTtcbiAgICB0ZXh0LWRlY29yYXRpb246IGxpbmUtdGhyb3VnaDsgfVxuICAucHJpY2UtYm94IC5vbGQtcHJpY2Uubm8tZGlzcGxheSB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuICAucHJpY2UtYm94IC5zcGVjaWFsLXByaWNlIC5wcmljZSB7XG4gICAgcGFkZGluZy1sZWZ0OiAwLjRlbTsgfVxuICAucHJpY2UtYm94IC5wcmljZSB7XG4gICAgY29sb3I6ICM3ZTU3YzI7XG4gICAgZm9udC1zaXplOiAxLjVyZW07XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBtYXJnaW46IDA7IH1cbiAgICAucHJpY2UtYm94IC5wcmljZS1sYWJlbCB7XG4gICAgICBjb2xvcjogIzMyNGRjZjtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICBmb250LXNpemU6IDEuMXJlbTtcbiAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgbWFyZ2luOiAwIDAuM3JlbSAwLjNyZW0gMDsgfVxuICAgICAgLnByaWNlLWJveCAucHJpY2UtbGFiZWw6YWZ0ZXIge1xuICAgICAgICBjb250ZW50OiAnOic7IH1cbiAgICAgIGJvZHlcbnBcbi5wcmljZS1ib3ggLnByaWNlLWxhYmVsIHtcbiAgICAgICAgYm9yZGVyOiAwO1xuICAgICAgICBjbGlwOiByZWN0KDAgMCAwIDApO1xuICAgICAgICBoZWlnaHQ6IDFweDtcbiAgICAgICAgbWFyZ2luOiAtMXB4O1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHdpZHRoOiAxcHg7XG4gICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgICAgIC8qIDEgKi8gfVxuICAucHJpY2UtYm94IC5ub3JtYWwtcHJpY2UgLnByaWNlLWxhYmVsIHtcbiAgICBkaXNwbGF5OiBpbmxpbmU7IH1cbiAgLnByaWNlLWJveCAucHJpY2Utd3JhcHBlciB7XG4gICAgZGlzcGxheTogZmxleDsgfVxuICAucHJpY2UtYm94IC5wcmljZS1mcm9tLFxuICAucHJpY2UtYm94IC5wcmljZS10byB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwOyB9XG4gICAgLnByaWNlLWJveCAucHJpY2UtZnJvbSA+IC5wcmljZS1jb250YWluZXIsXG4gICAgLnByaWNlLWJveCAucHJpY2UtdG8gPiAucHJpY2UtY29udGFpbmVyIHtcbiAgICAgIGZvbnQtc2l6ZTogMS4xcmVtOyB9XG4gICAgLnByaWNlLWJveCAucHJpY2UtZnJvbSAucHJpY2UtbGFiZWwsXG4gICAgLnByaWNlLWJveCAucHJpY2UtdG8gLnByaWNlLWxhYmVsIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIHBhZGRpbmc6IDA7IH1cbiAgLnByaWNlLWJveCAub2xkLXByaWNlIC5wcmljZSB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBsaW5lLXRocm91Z2g7XG4gICAgY29sb3I6ICNhOGIxYjc7XG4gICAgZm9udC1zaXplOiAxLjVyZW07XG4gICAgZm9udC13ZWlnaHQ6IDcwMDsgfVxuICAucHJpY2UtYm94IC5zcGVjaWFsLXByaWNlIC5wcmljZSB7XG4gICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgIGNvbG9yOiAjZTQxZjEyO1xuICAgIGZvbnQtc2l6ZTogMS41cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7IH1cbiAgLnByaWNlLWJveCAuc3BlY2lhbC1wcmljZS5hY3RpdmUgLnByaWNlIHtcbiAgICBjb2xvcjogI2U0MWYxMjsgfVxuICAucHJpY2UtYm94IC5wcmljZS1mcm9tIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDFyZW07IH1cbiAgLmNzLXByaWNlLS1wZHBfZGFpbHlkZWFsLWNvdW50ZG93biAucHJpY2UtYm94Om5vdCgucHJpY2UtZmluYWxfcHJpY2Vfd2l0aG91dF9kYWlseV9kZWFsKSB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuICAucHJpY2UtYm94IC5wcmljZS1jb250YWluZXIucHJpY2UtZmluYWxfcHJpY2U6bm90KDpvbmx5LWNoaWxkKSAucHJpY2Uge1xuICAgIGNvbG9yOiAjZTQxZjEyOyB9XG5cbi5jcy1idW5kbGUtYm94X19hZGQgLnByaWNlLWFzLWNvbmZpZ3VyZWQge1xuICBtYXJnaW46IDFyZW0gMCAwOyB9XG5cbi5taW5pbWFsLXByaWNlLWxpbmsge1xuICBtYXJnaW4tdG9wOiAwICFpbXBvcnRhbnQ7XG4gIG1hcmdpbi1yaWdodDogMS41cmVtO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgLm1pbmltYWwtcHJpY2UtbGluazphZnRlciB7XG4gICAgY29sb3I6ICMzMjRkY2Y7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgY29udGVudDogJy0nO1xuICAgIHJpZ2h0OiAtMXJlbTtcbiAgICB0b3A6IDA7XG4gICAgcG9zaXRpb246IGFic29sdXRlOyB9XG4iLCJAaW1wb3J0ICdjb25maWcvdmFyaWFibGVzJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvcHJpY2UtYm94L21peGluJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvcHJpY2UtYm94L3ZhcmlhYmxlcy5zY3NzJztcbkBpbXBvcnQgJ3V0aWxzL3Zpc3VhbGx5LWhpZGRlbic7XG5cbi8vIHN0eWxlbGludC1kaXNhYmxlIG5vLWRlc2NlbmRpbmctc3BlY2lmaWNpdHlcblxuJGNvbmZpZ3VyYWJsZS1wcm9kdWN0cy1zaG93LWZyb20tcHJpY2UtbGFiZWw6IHRydWUgIWRlZmF1bHQ7XG5cbi5wcmljZS1ib3gge1xuICAgICRyb290OiAmO1xuICAgIEBpbmNsdWRlIHByaWNlQm94KCk7XG5cbiAgICAucHJpY2Uge1xuICAgICAgICBjb2xvcjogJGNvbG9yX3BhcGlsYXJ0X3B1cnBsZTtcbiAgICAgICAgZm9udC1zaXplOiAkcHJpY2UtYm94X25vcm1hbC1wcmljZS1mb250LXNpemU7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiAkcHJpY2UtYm94X25vcm1hbC1wcmljZS1mb250LXdlaWdodDtcbiAgICAgICAgbWFyZ2luOiAwO1xuXG4gICAgICAgICYtbGFiZWwge1xuICAgICAgICAgICAgY29sb3I6ICRwcmljZS1ib3hfbGFiZWwtY29sb3I7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgZm9udC1zaXplOiAkcHJpY2UtYm94X2xhYmVsLWZvbnQtc2l6ZTtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiAkcHJpY2UtYm94X2xhYmVsLWZvbnQtd2VpZ2h0O1xuICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgICAgIG1hcmdpbjogMCAkcHJpY2UtYm94X2xhYmVsLW1hcmdpbiAkcHJpY2UtYm94X2xhYmVsLW1hcmdpbiAwO1xuXG4gICAgICAgICAgICBAaWYgKCRwcmljZS1ib3hfbGFiZWwtZGlzcGxheS1jb2xvbikge1xuICAgICAgICAgICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgICAgICAgICBjb250ZW50OiAnOic7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBib2R5Om5vdCgucGFnZS1wcm9kdWN0LWJ1bmRsZSwgLnBhZ2UtcHJvZHVjdC1ncm91cGVkKVxuICAgICAgICAgICAgICAgIHA6bm90KC5wcmljZS1mcm9tLCAucHJpY2UtdG8pXG4gICAgICAgICAgICAgICAgJiB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgdmlzdWFsbHktaGlkZGVuKCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBAaWYgJGNvbmZpZ3VyYWJsZS1wcm9kdWN0cy1zaG93LWZyb20tcHJpY2UtbGFiZWwge1xuICAgICAgICAubm9ybWFsLXByaWNlIHtcbiAgICAgICAgICAgIC5wcmljZS1sYWJlbCB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnByaWNlLXdyYXBwZXIge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgIH1cblxuICAgIC5wcmljZS1mcm9tLFxuICAgIC5wcmljZS10byB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBwYWRkaW5nOiAwO1xuXG4gICAgICAgID4gLnByaWNlLWNvbnRhaW5lciB7XG4gICAgICAgICAgICBmb250LXNpemU6ICRwcmljZS1ib3hfbGFiZWwtZm9udC1zaXplO1xuICAgICAgICB9XG5cbiAgICAgICAgLnByaWNlLWxhYmVsIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAub2xkLXByaWNlIHtcbiAgICAgICAgLnByaWNlIHtcbiAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogJHByaWNlLWJveF9vbGQtcHJpY2UtdGV4dC1kZWNvcmF0aW9uO1xuICAgICAgICAgICAgY29sb3I6ICRwcmljZS1ib3hfb2xkLXByaWNlLWNvbG9yO1xuICAgICAgICAgICAgZm9udC1zaXplOiAkcHJpY2UtYm94X29sZC1wcmljZS1mb250LXNpemU7XG4gICAgICAgICAgICBmb250LXdlaWdodDogJHByaWNlLWJveF9vbGQtcHJpY2UtZm9udC13ZWlnaHQ7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuc3BlY2lhbC1wcmljZSB7XG4gICAgICAgIC5wcmljZSB7XG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgICAgICAgICBjb2xvcjogJHByaWNlLWJveF9zcGVjaWFsLXByaWNlLWNvbG9yO1xuICAgICAgICAgICAgZm9udC1zaXplOiAkcHJpY2UtYm94X3NwZWNpYWwtcHJpY2UtZm9udC1zaXplO1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6ICRwcmljZS1ib3hfc3BlY2lhbC1wcmljZS1mb250LXdlaWdodDtcbiAgICAgICAgfVxuXG4gICAgICAgICYuYWN0aXZlIHtcbiAgICAgICAgICAgIC5wcmljZSB7XG4gICAgICAgICAgICAgICAgY29sb3I6ICRwcmljZS1ib3hfc3BlY2lhbC1wcmljZS1jb2xvcjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5wcmljZS1mcm9tIHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAkcHJpY2UtYm94X3NwYWNlLWJldHdlZW4tcHJpY2VzO1xuICAgIH1cblxuICAgIC4jeyRuc31wcmljZS0tcGRwX2RhaWx5ZGVhbC1jb3VudGRvd24gJiB7XG4gICAgICAgICY6bm90KC5wcmljZS1maW5hbF9wcmljZV93aXRob3V0X2RhaWx5X2RlYWwpIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAucHJpY2UtY29udGFpbmVyLnByaWNlLWZpbmFsX3ByaWNlIHtcbiAgICAgICAgJjpub3QoOm9ubHktY2hpbGQpIC5wcmljZSB7XG4gICAgICAgICAgICBjb2xvcjogJHByaWNlLWJveF9zcGVjaWFsLXByaWNlLWNvbG9yO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4uI3skbnN9YnVuZGxlLWJveF9fYWRkIHtcbiAgICAucHJpY2UtYXMtY29uZmlndXJlZCB7XG4gICAgICAgIG1hcmdpbjogMXJlbSAwIDA7XG4gICAgfVxufVxuXG4ubWluaW1hbC1wcmljZS1saW5rIHtcbiAgICBtYXJnaW4tdG9wOiAwICFpbXBvcnRhbnQ7XG4gICAgbWFyZ2luLXJpZ2h0OiAxLjVyZW07XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgJjphZnRlciB7XG4gICAgICAgIGNvbG9yOiAkcHJpY2UtYm94X25vcm1hbC1wcmljZS1jb2xvcjtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIGNvbnRlbnQ6ICctJztcbiAgICAgICAgcmlnaHQ6IC0xcmVtO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB9XG59XG4iLCIvLyBwcmljZS1ib3hcbi8vIFRoaXMgY29tcG9uZW50IGlzIHJlc3BvbnNpYmxlIGZvciBzdHlsaW5nIHByaWNlcyBieSBtYXJrdXAgcHJvdmlkZWQgYnkgTWFnZW50bzJcbi8vXG4vLyBTZWUgaHR0cDovL3dhcnBzcGlyZS5jb20va3NzLyBmb3IgZG9jdW1lbnRhdGlvbiBndWlkZWxpbmVzLlxuLy8gVmVyc2lvbiAwLjAuMVxuQG1peGluIHByaWNlQm94KCkge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcblxuICAgIC5wcmljZSB7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG5cbiAgICAgICAgJi1sYWJlbCB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLm9sZC1wcmljZSB7XG4gICAgICAgIC5wcmljZSB7XG4gICAgICAgICAgICBmb250LXNpemU6IDAuNjVyZW07XG4gICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IGxpbmUtdGhyb3VnaDtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIE9sZCBwcmljZSBzaG91bGQgbm90IGJlIGRpc3BsYXllZCBmb3IgcHJpY2VzIHdoZXJlIG5vcm1hbCBwcmljZSBpcyBcIkFzIGxvdyBhcyB7cHJpY2V9XCJcbiAgICAgICAgJi5uby1kaXNwbGF5IHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuc3BlY2lhbC1wcmljZSAucHJpY2Uge1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDAuNGVtO1xuICAgIH1cbn1cbiIsIi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG5AdXNlICdzYXNzOm1hcCc7XG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG4vKipcbiogRGVmYXVsdCBwcm9qZWN0IGJyZWFrcG9pbnRzIC0gW2VtXVxuKi9cbi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG5AdXNlICdzYXNzOm1hcCc7XG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG4vKipcbiogRGVmYXVsdCBwcm9qZWN0IGJyZWFrcG9pbnRzIC0gW2VtXVxuKi9cbi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG5AdXNlICdzYXNzOm1hcCc7XG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG4vKipcbiogRGVmYXVsdCBwcm9qZWN0IGJyZWFrcG9pbnRzIC0gW2VtXVxuKi9cbi8qIHN0eWxlbGludC1kaXNhYmxlIGJsb2NrLW5vLWVtcHR5ICovXG4vKiBzdHlsZWxpbnQtZW5hYmxlICovXG4vKlxuICogQmVjYXVzZSBwcmljZS1ib3ggaXMgdXNlZCBpbiBtdWx0aXBsZSBjb21wb25lbnRzIGxpa2UgdGlsZSwgYnV5Ym94IGV0YyxcbiAqIHdlIG5lZWQgdG8gbW92ZSB2YXJpYWJsZXMgdG8gc2VwYXJhdGUgZmlsZSB0byBoYXZlIHBvc3NpYmlsaXR5IHRvIGluY2x1ZGUgdGhlbVxuICogaW4gZWFjaCBjb21wb25lbnQgd2l0aG91dCBnZW5lcmF0ZSBwcmljZS1ib3ggY29tcG9uZW50IHN0eWxlcyBtdWx0aXBsZSB0aW1lc1xuKi9cbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbi8qKlxuICogU3RyaW5nIHRvIG51bWJlciBjb252ZXJ0ZXJcbiAqIGh0dHBzOi8vd3d3LnNhc3NtZWlzdGVyLmNvbS9naXN0LzlmYTE5ZDI1NDg2NGYzM2Q0YTgwXG4gKiBAYXV0aG9yIEh1Z28gR2lyYXVkZWxcbiAqIEBwYXJhbSB7U3RyaW5nIHwgTnVtYmVyfSAkdmFsdWUgLSBWYWx1ZSB0byBiZSBwYXJzZWRcbiAqIEByZXR1cm4ge051bWJlcn1cbiAqL1xuLyoqKlxuICogUmVtb3ZlIGJyb3dzZXIncyBtYXJnaW5zLCBwYWRkaW5ncyBhbmQgbGlzdCBzdHlsZSBydWxlc1xuICovXG4vKioqXG4gKiBIaWRlIG9ubHkgdmlzdWFsbHksIGJ1dCBoYXZlIGl0IGF2YWlsYWJsZSBmb3Igc2NyZWVuIHJlYWRlcnM6XG4gKiBodHRwczovL3Nub29rLmNhL2FyY2hpdmVzL2h0bWxfYW5kX2Nzcy9oaWRpbmctY29udGVudC1mb3ItYWNjZXNzaWJpbGl0eVxuICpcbiAqIDEuIEZvciBsb25nIGNvbnRlbnQsIGxpbmUgZmVlZHMgYXJlIG5vdCBpbnRlcnByZXRlZCBhcyBzcGFjZXMgYW5kIHNtYWxsIHdpZHRoXG4gKiAgICBjYXVzZXMgY29udGVudCB0byB3cmFwIDEgd29yZCBwZXIgbGluZTpcbiAqICAgIGh0dHBzOi8vbWVkaXVtLmNvbS9AamVzc2ViZWFjaC9iZXdhcmUtc211c2hlZC1vZmYtc2NyZWVuLWFjY2Vzc2libGUtdGV4dC01OTUyYTRjMmNiZmVcbiAqXG4gKiBAc2VlIGh0dHBzOi8vZ2l0aHViLmNvbS9oNWJwL2h0bWw1LWJvaWxlcnBsYXRlL2Jsb2IvbWFzdGVyL3NyYy9jc3MvbWFpbi5jc3MjTDEzMFxuICovXG4uY3MtcHJvZHVjdC10aWxlIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBib3JkZXItcmFkaXVzOiA3cHg7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICB0cmFuc2l0aW9uOiBib3JkZXItY29sb3IgMC4zcztcbiAgYXNwZWN0LXJhdGlvOiAzMDAvNDAwOyB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgLmNzLXByb2R1Y3QtdGlsZSB7XG4gICAgICBhc3BlY3QtcmF0aW86IDMwMC8zNTA7IH0gfVxuICBAbWVkaWEgKGhvdmVyOiBob3ZlcikgYW5kIChwb2ludGVyOiBmaW5lKSB7XG4gICAgLmNzLXByb2R1Y3QtdGlsZTpob3ZlciB7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAjNGQyYzkxOyB9IH1cbiAgLmNzLXByb2R1Y3QtdGlsZS0tY2xpY2thYmxlOmhvdmVyIHtcbiAgICBjdXJzb3I6IHBvaW50ZXI7IH1cbiAgLmNzLXByb2R1Y3QtdGlsZS0taGlkZGVuIC5jcy1wcm9kdWN0LXRpbGVfX21haW4ge1xuICAgIHZpc2liaWxpdHk6IGhpZGRlbiAhaW1wb3J0YW50OyB9XG4gIC5jcy1wcm9kdWN0LXRpbGVfX2NvbnRhaW5lciB7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYXJvdW5kO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBwYWRkaW5nOiAxLjVyZW07IH1cbiAgLmNzLXByb2R1Y3QtdGlsZV9fbGluayB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgaGVpZ2h0OiAxMDAlOyB9XG4gIC5jcy1wcm9kdWN0LXRpbGVfX3RodW1ibmFpbCB7XG4gICAgcGFkZGluZzogMDtcbiAgICBtaW4taGVpZ2h0OiAwOyB9XG4gIC5jcy1wcm9kdWN0LXRpbGVfX3RodW1ibmFpbC1saW5rIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7IH1cbiAgICAuY3MtcHJvZHVjdC10aWxlX190aHVtYm5haWwtbGluazpob3ZlciwgLmNzLXByb2R1Y3QtdGlsZV9fdGh1bWJuYWlsLWxpbms6dmlzaXRlZCB7XG4gICAgICBjb2xvcjogaW5oZXJpdDtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogaW5oZXJpdDsgfVxuICAuY3MtcHJvZHVjdC10aWxlX19maWd1cmUge1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgLmNzLXByb2R1Y3QtdGlsZV9faW1hZ2Uge1xuICAgIHdpZHRoOiBhdXRvO1xuICAgIGhlaWdodDogYXV0bztcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgbWF4LWhlaWdodDogMTAwJTtcbiAgICBtYXJnaW46IGF1dG87IH1cbiAgLmNzLXByb2R1Y3QtdGlsZV9faW1nIHtcbiAgICB3aWR0aDogYXV0bztcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIG1heC1oZWlnaHQ6IDEwMCU7IH1cbiAgICAuY3MtcHJvZHVjdC10aWxlX19pbWdbc3JjKj0ncGxhY2Vob2xkZXInXSB7XG4gICAgICBtaW4td2lkdGg6IDcwJTtcbiAgICAgIG1hcmdpbi10b3A6IDJyZW07IH1cbiAgLmNzLXByb2R1Y3QtdGlsZV9fY29udGVudCB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjgpOyB9XG4gIC5jcy1wcm9kdWN0LXRpbGVfX21haW4ge1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBkaXNwbGF5OiBncmlkO1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogbWlubWF4KDAsIDFmcikgNHJlbTtcbiAgICBncmlkLXRlbXBsYXRlLWFyZWFzOiAnYmFkZ2VzIGFkZHRvJyAnc3dhdGNoZXMgc3dhdGNoZXMnICdicmFuZCBicmFuZCcgJ25hbWUgbmFtZScgJ2Rlc2NyaXB0aW9uIGRlc2NyaXB0aW9uJyAncHJpY2UgcHJpY2UnICdyZXZpZXcgIGFkZHRvY2FydCcgJ3N0b2NrIGFkZHRvY2FydCcgJ3dpc2hsaXN0LWljb25zIHdpc2hsaXN0LWljb25zJzsgfVxuICAuY3MtcHJvZHVjdC10aWxlX19zd2F0Y2hlcyB7XG4gICAgZ3JpZC1hcmVhOiBzd2F0Y2hlcztcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIG1hcmdpbjogMnJlbSAwIDFyZW07XG4gICAgbWluLWhlaWdodDogMi42cmVtOyB9XG4gICAgLmNzLXByb2R1Y3QtdGlsZV9fc3dhdGNoZXMsXG4gICAgLmNzLXByb2R1Y3QtdGlsZV9fc3dhdGNoZXMgLnN3YXRjaC1hdHRyaWJ1dGUtb3B0aW9ucyB7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgfVxuICAuY3MtcHJvZHVjdC10aWxlX19icmFuZCB7XG4gICAgZ3JpZC1hcmVhOiBicmFuZDtcbiAgICBoZWlnaHQ6IDJyZW07XG4gICAgbWFyZ2luLXRvcDogMS41cmVtO1xuICAgIHRleHQtYWxpZ246IGxlZnQ7IH1cbiAgICAuY3MtcHJvZHVjdC10aWxlX19icmFuZC0tZW1wdHkge1xuICAgICAgaGVpZ2h0OiAwOyB9XG4gIC5jcy1wcm9kdWN0LXRpbGVfX2JyYW5kLXRleHQge1xuICAgIGZvbnQtc2l6ZTogMS4ycmVtO1xuICAgIGNvbG9yOiAjODg4OyB9XG4gIC5jcy1wcm9kdWN0LXRpbGVfX25hbWUge1xuICAgIGdyaWQtYXJlYTogbmFtZTtcbiAgICBsaW5lLWhlaWdodDogMnJlbTtcbiAgICBmb250LXdlaWdodDogNDAwO1xuICAgIGZvbnQtc2l6ZTogMS44cmVtO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiA0LjJyZW07XG4gICAgbWFyZ2luOiAwIDAgMC41cmVtO1xuICAgIHRleHQtYWxpZ246IGxlZnQ7IH1cbiAgLmNzLXByb2R1Y3QtdGlsZV9fbmFtZS1saW5rIHtcbiAgICBjb2xvcjogIzQ1NWE2NDtcbiAgICAvKiBkaXNhYmxlZCBiZWNhdXNlIGF1dG9wcmVmaXhlciBjYW4ndCBidWlsZCB0aGlzICovXG4gICAgLyogc3R5bGVsaW50LWRpc2FibGUgdmFsdWUtbm8tdmVuZG9yLXByZWZpeCAqL1xuICAgIC8qIHN0eWxlbGludC1kaXNhYmxlIHByb3BlcnR5LW5vLXZlbmRvci1wcmVmaXggKi9cbiAgICAvKiBhdXRvcHJlZml4ZXI6IGlnbm9yZSBuZXh0ICovXG4gICAgZGlzcGxheTogLXdlYmtpdC1ib3g7XG4gICAgLyogYXV0b3ByZWZpeGVyOiBpZ25vcmUgbmV4dCAqL1xuICAgIC13ZWJraXQtYm94LW9yaWVudDogdmVydGljYWw7XG4gICAgLyogYXV0b3ByZWZpeGVyOiBpZ25vcmUgbmV4dCAqL1xuICAgIC13ZWJraXQtbGluZS1jbGFtcDogMjtcbiAgICAvKiBhdXRvcHJlZml4ZXI6IGlnbm9yZSBuZXh0ICovXG4gICAgbGluZS1jbGFtcDogMjtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgLyogc3R5bGVsaW50LWVuYWJsZSB2YWx1ZS1uby12ZW5kb3ItcHJlZml4ICovXG4gICAgLyogc3R5bGVsaW50LWVuYWJsZSBwcm9wZXJ0eS1uby12ZW5kb3ItcHJlZml4ICovIH1cbiAgICAuY3MtcHJvZHVjdC10aWxlX19uYW1lLWxpbms6dmlzaXRlZCB7XG4gICAgICBjb2xvcjogIzQ1NWE2NDsgfVxuICAgIC5jcy1wcm9kdWN0LXRpbGVfX25hbWUtbGluazpob3ZlciB7XG4gICAgICBjb2xvcjogIzQ1NWE2NDtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfVxuICAuY3MtcHJvZHVjdC10aWxlX19wcmljZSB7XG4gICAgZ3JpZC1hcmVhOiBwcmljZTtcbiAgICBsaW5lLWhlaWdodDogMS4yOyB9XG4gICAgLmNzLXByb2R1Y3QtdGlsZV9fcHJpY2UgLnByaWNlLWJveCB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgbWFyZ2luOiAwO1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDsgfVxuICAgICAgLmNzLXByb2R1Y3QtdGlsZV9fcHJpY2UgLnByaWNlLWJveCAucHJpY2Uge1xuICAgICAgICBmb250LXNpemU6IDEuOHJlbTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgICAgY29sb3I6ICM0NTVhNjQ7IH1cbiAgICAgIC5jcy1wcm9kdWN0LXRpbGVfX3ByaWNlIC5wcmljZS1ib3ggLm9sZC1wcmljZSAucHJpY2Uge1xuICAgICAgICBmb250LXNpemU6IDEuOHJlbTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgICAgY29sb3I6ICNhOGIxYjc7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbGluZS10aHJvdWdoOyB9XG4gICAgICAuY3MtcHJvZHVjdC10aWxlX19wcmljZSAucHJpY2UtYm94IC5zcGVjaWFsLXByaWNlIC5wcmljZSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMS44cmVtO1xuICAgICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgICBjb2xvcjogI2U0MWYxMjsgfVxuICAgICAgLmNzLXByb2R1Y3QtdGlsZV9fcHJpY2UgLnByaWNlLWJveCAubWluaW1hbC1wcmljZSB7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgZGlzcGxheTogZmxleDsgfVxuICAgICAgLmNzLXByb2R1Y3QtdGlsZV9fcHJpY2UgLnByaWNlLWJveCAub2xkLXByaWNlIHtcbiAgICAgICAgb3JkZXI6IC0xOyB9XG4gICAgICAuY3MtcHJvZHVjdC10aWxlX19wcmljZSAucHJpY2UtYm94IC5taW5pbWFsLXByaWNlIHtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsgfVxuICAgICAgLmNzLXByb2R1Y3QtdGlsZV9fcHJpY2UgLnByaWNlLWJveCAub2xkLXByaWNlIC5wcmljZSB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMXJlbTsgfVxuICAgIC5jcy1wcm9kdWN0LXRpbGVfX3ByaWNlLS1kYWlseWRlYWwtY291bnRkb3duIC5wcmljZS1ib3g6bm90KC5wcmljZS1maW5hbF9wcmljZV93aXRob3V0X2RhaWx5X2RlYWwpIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAuY3MtcHJvZHVjdC10aWxlX19wcmljZS0tZGFpbHlkZWFsLWNvdW50ZG93biAucHJpY2UtYm94LnByaWNlLWJveC0tdmlzaWJsZSB7XG4gICAgICBkaXNwbGF5OiBmbGV4OyB9XG4gIC5jcy1wcm9kdWN0LXRpbGVfX3JldmlldyB7XG4gICAgZ3JpZC1hcmVhOiByZXZpZXc7XG4gICAgbWFyZ2luOiAxcmVtIDAgMDsgfVxuICAgIC5jcy1wcm9kdWN0LXRpbGVfX3JldmlldzplbXB0eSB7XG4gICAgICBtYXJnaW46IDAgIWltcG9ydGFudDsgfVxuICAuY3MtcHJvZHVjdC10aWxlX19zdG9jayB7XG4gICAgZ3JpZC1hcmVhOiBzdG9jaztcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICBmb250LXNpemU6IDEuM3JlbTtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZy1ib3R0b206IDEuMXJlbTtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0OyB9XG4gICAgLmNzLXByb2R1Y3QtdGlsZV9fc3RvY2stLWluIHtcbiAgICAgIGNvbG9yOiAjMzdiODQxOyB9XG4gICAgLmNzLXByb2R1Y3QtdGlsZV9fc3RvY2stLW91dCB7XG4gICAgICBjb2xvcjogI2U0MWYxMjsgfVxuICAuY3MtcHJvZHVjdC10aWxlX19hZGR0b2NhcnQge1xuICAgIGdyaWQtYXJlYTogYWRkdG9jYXJ0O1xuICAgIG1hcmdpbjogMCAwIDA7IH1cbiAgICAuY3MtcHJvZHVjdC10aWxlOm5vdCguY3MtcHJvZHVjdC10aWxlLS1saXN0KSAuY3MtcHJvZHVjdC10aWxlX19hZGR0b2NhcnQgLmNzLWFkZHRvY2FydF9fYnV0dG9uIHtcbiAgICAgIG1pbi1oZWlnaHQ6IDRyZW07IH1cbiAgICAgIC5jcy1wcm9kdWN0LXRpbGU6bm90KC5jcy1wcm9kdWN0LXRpbGUtLWxpc3QpIC5jcy1wcm9kdWN0LXRpbGVfX2FkZHRvY2FydCAuY3MtYWRkdG9jYXJ0X19idXR0b246OmJlZm9yZSwgLmNzLXByb2R1Y3QtdGlsZTpub3QoLmNzLXByb2R1Y3QtdGlsZS0tbGlzdCkgLmNzLXByb2R1Y3QtdGlsZV9fYWRkdG9jYXJ0IC5jcy1hZGR0b2NhcnRfX2J1dHRvbjo6YWZ0ZXIge1xuICAgICAgICBib3JkZXI6IDA7XG4gICAgICAgIGNsaXA6IHJlY3QoMCAwIDAgMCk7XG4gICAgICAgIGhlaWdodDogMXB4O1xuICAgICAgICBtYXJnaW46IC0xcHg7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgd2lkdGg6IDFweDtcbiAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICAgICAgLyogMSAqLyB9XG4gICAgLmNzLXByb2R1Y3QtdGlsZTpub3QoLmNzLXByb2R1Y3QtdGlsZS0tbGlzdCkgLmNzLXByb2R1Y3QtdGlsZV9fYWRkdG9jYXJ0IC5jcy1hZGR0b2NhcnRfX2J1dHRvbi1sYWJlbCwgLmNzLXByb2R1Y3QtdGlsZTpub3QoLmNzLXByb2R1Y3QtdGlsZS0tbGlzdCkgLmNzLXByb2R1Y3QtdGlsZV9fYWRkdG9jYXJ0IC5jcy1hZGR0b2NhcnRfX3N1Y2Nlc3MtbGFiZWwsIC5jcy1wcm9kdWN0LXRpbGU6bm90KC5jcy1wcm9kdWN0LXRpbGUtLWxpc3QpIC5jcy1wcm9kdWN0LXRpbGVfX2FkZHRvY2FydCAuY3MtYWRkdG9jYXJ0X19mYWlsLWxhYmVsIHtcbiAgICAgIGJvcmRlcjogMDtcbiAgICAgIGNsaXA6IHJlY3QoMCAwIDAgMCk7XG4gICAgICBoZWlnaHQ6IDFweDtcbiAgICAgIG1hcmdpbjogLTFweDtcbiAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICBwYWRkaW5nOiAwO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgd2lkdGg6IDFweDtcbiAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgICAvKiAxICovIH1cbiAgICAuY3MtcHJvZHVjdC10aWxlOm5vdCguY3MtcHJvZHVjdC10aWxlLS1saXN0KSAuY3MtcHJvZHVjdC10aWxlX19hZGR0b2NhcnQgLmNzLWFkZHRvY2FydF9fYnV0dG9uLWljb24sIC5jcy1wcm9kdWN0LXRpbGU6bm90KC5jcy1wcm9kdWN0LXRpbGUtLWxpc3QpIC5jcy1wcm9kdWN0LXRpbGVfX2FkZHRvY2FydCAuY3MtYWRkdG9jYXJ0X19jb25maWd1cmUtaWNvbiB7XG4gICAgICByaWdodDogYXV0bztcbiAgICAgIGxlZnQ6IDUwJTtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTUwJSwgLTUwJSwgMCk7IH1cbiAgICAuY3MtcHJvZHVjdC10aWxlOm5vdCguY3MtcHJvZHVjdC10aWxlLS1saXN0KSAuY3MtcHJvZHVjdC10aWxlX19hZGR0b2NhcnQuY3MtYWRkdG9jYXJ0LS1sb2FkaW5nIC5jcy1hZGR0b2NhcnRfX2xvYWRpbmcge1xuICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxKSB0cmFuc2xhdGUzZCgtNTAlLCAtNTAlLCAwKTsgfVxuICAgIC5jcy1wcm9kdWN0LXRpbGU6bm90KC5jcy1wcm9kdWN0LXRpbGUtLWxpc3QpIC5jcy1wcm9kdWN0LXRpbGVfX2FkZHRvY2FydC5jcy1hZGR0b2NhcnQtLWxvYWRpbmcgLmNzLWFkZHRvY2FydF9fYnV0dG9uLWljb24sXG4gICAgLmNzLXByb2R1Y3QtdGlsZTpub3QoLmNzLXByb2R1Y3QtdGlsZS0tbGlzdCkgLmNzLXByb2R1Y3QtdGlsZV9fYWRkdG9jYXJ0LmNzLWFkZHRvY2FydC0tbG9hZGluZyAuY3MtYWRkdG9jYXJ0X19jb25maWd1cmUtaWNvbiB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9XG4gIC5jcy1wcm9kdWN0LXRpbGVfX2FkZHRvY2FydC1idXR0b24ge1xuICAgIHdpZHRoOiA0cmVtOyB9XG4gIC5jcy1wcm9kdWN0LXRpbGVfX2FkZHRvIHtcbiAgICBncmlkLWFyZWE6IGFkZHRvO1xuICAgIHdpZHRoOiBhdXRvO1xuICAgIG1hcmdpbjogMXJlbSAwIDA7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMS41cmVtO1xuICAgIHJpZ2h0OiAxLjVyZW07IH1cbiAgICAuY3MtcHJvZHVjdC10aWxlX19hZGR0byAuY3MtbGlua3MtYmxvY2stYWRkdG9fX2xpbmsge1xuICAgICAgZm9udC1zaXplOiAxLjNyZW07IH1cbiAgICAuY3MtZGFzaGJvYXJkX19ib3R0b20td2lzaGxpc3QgLmNzLXByb2R1Y3QtdGlsZV9fYWRkdG8sXG4gICAgLmNzLWRhc2hib2FyZF9fd2lzaGxpc3QtcHJvZHVjdHMtZ3JpZCAuY3MtcHJvZHVjdC10aWxlX19hZGR0byB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgLmNzLXByb2R1Y3QtdGlsZV9fYWRkdG86ZW1wdHkge1xuICAgICAgbWFyZ2luOiAwICFpbXBvcnRhbnQ7IH1cbiAgICAuY3MtcHJvZHVjdC10aWxlX19hZGR0byAuY3MtbGlua3MtYmxvY2stYWRkdG9fX2xpbmstbGFiZWwge1xuICAgICAgYm9yZGVyOiAwO1xuICAgICAgY2xpcDogcmVjdCgwIDAgMCAwKTtcbiAgICAgIGhlaWdodDogMXB4O1xuICAgICAgbWFyZ2luOiAtMXB4O1xuICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB3aWR0aDogMXB4O1xuICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICAgIC8qIDEgKi8gfVxuICAuY3MtcHJvZHVjdC10aWxlX19iYWRnZXMge1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgZ3JpZC1hcmVhOiBiYWRnZXM7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHotaW5kZXg6IDI7XG4gICAgdG9wOiAycmVtO1xuICAgIGxlZnQ6IDJyZW07XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgfVxuICAuY3MtcHJvZHVjdC10aWxlX19iYWRnZSB7XG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzdlNTdjMjtcbiAgICBjb2xvcjogI2ZmZjtcbiAgICBib3JkZXI6IDA7XG4gICAgYm9yZGVyLXJhZGl1czogN3B4O1xuICAgIHBhZGRpbmc6IDAgMC43cmVtO1xuICAgIGZvbnQtc2l6ZTogMS4xcmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgbWluLWhlaWdodDogMmVtO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgZ3JpZC1hcmVhOiBiYWRnZTsgfVxuXG5AbWVkaWEgKG1pbi13aWR0aDogMjMuMTI1ZW0pIGFuZCAobWF4LXdpZHRoOiAyOS45OWVtKSB7XG4gIC5jcy1wcm9kdWN0LXRpbGVfX2JhZGdlIHtcbiAgICBmb250LXNpemU6IDAuOXJlbTsgfSB9XG4gICAgLmNzLXByb2R1Y3QtdGlsZV9fYmFkZ2UtLWRpc2NvdW50IHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNlNDFmMTI7XG4gICAgICBjb2xvcjogI2ZmZjsgfVxuICAgICAgLmNzLXByb2R1Y3QtdGlsZV9fYmFkZ2UtLWRpc2NvdW50IC5jcy1wcm9kdWN0LXRpbGVfX2JhZGdlLXRleHQge1xuICAgICAgICBsaW5lLWhlaWdodDogbm9ybWFsOyB9XG4gICAgICAgIC5jcy1wcm9kdWN0LXRpbGVfX2JhZGdlLS1kaXNjb3VudCAuY3MtcHJvZHVjdC10aWxlX19iYWRnZS10ZXh0ICsgLmNzLXByb2R1Y3QtdGlsZV9fYmFkZ2UtLWRpc2NvdW50IC5jcy1wcm9kdWN0LXRpbGVfX2JhZGdlLXRleHQge1xuICAgICAgICAgIG1hcmdpbi1sZWZ0OiAwLjVyZW07IH1cbiAgICAuY3MtcHJvZHVjdC10aWxlX19iYWRnZS0tbmV3IHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICMxMWEwOTk7XG4gICAgICBjb2xvcjogI2ZmZjsgfVxuICAgICAgLmNzLXByb2R1Y3QtdGlsZV9fYmFkZ2UtLW5ldyAuY3MtcHJvZHVjdC10aWxlX19iYWRnZS10ZXh0IHtcbiAgICAgICAgbGluZS1oZWlnaHQ6IG5vcm1hbDsgfVxuICAgICAgICAuY3MtcHJvZHVjdC10aWxlX19iYWRnZS0tbmV3IC5jcy1wcm9kdWN0LXRpbGVfX2JhZGdlLXRleHQgKyAuY3MtcHJvZHVjdC10aWxlX19iYWRnZS0tbmV3IC5jcy1wcm9kdWN0LXRpbGVfX2JhZGdlLXRleHQge1xuICAgICAgICAgIG1hcmdpbi1sZWZ0OiAwLjVyZW07IH1cbiAgICAuY3MtcHJvZHVjdC10aWxlX19iYWRnZS0tZnJlZS1zaGlwcGluZyB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMzdiODQxO1xuICAgICAgY29sb3I6ICNmZmY7IH1cbiAgICAgIC5jcy1wcm9kdWN0LXRpbGVfX2JhZGdlLS1mcmVlLXNoaXBwaW5nIC5jcy1wcm9kdWN0LXRpbGVfX2JhZGdlLXRleHQge1xuICAgICAgICBsaW5lLWhlaWdodDogbm9ybWFsOyB9XG4gICAgICAgIC5jcy1wcm9kdWN0LXRpbGVfX2JhZGdlLS1mcmVlLXNoaXBwaW5nIC5jcy1wcm9kdWN0LXRpbGVfX2JhZGdlLXRleHQgKyAuY3MtcHJvZHVjdC10aWxlX19iYWRnZS0tZnJlZS1zaGlwcGluZyAuY3MtcHJvZHVjdC10aWxlX19iYWRnZS10ZXh0IHtcbiAgICAgICAgICBtYXJnaW4tbGVmdDogMC41cmVtOyB9XG4gICAgLmNzLXByb2R1Y3QtdGlsZV9fYmFkZ2UtLXBvcHVsYXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzM3Yjg0MTtcbiAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgLyoqXG4gICAgICAgICAgICAqIEluaXRpYWxseSBoaWRlIHBvcHVsYXIgYmFkZ2Ugb24gY2F0ZWdvcnkgcHJvZHVjdHMgbGlzdC4gXG4gICAgICAgICAgICAqIFRoZSBsb2dpYyBmb3Igc2hvd2luZyB0aGUgYmFkZ2UgaXMgcGxhY2VkIGluIG1hZ2VzdWl0ZS1wcm9kdWN0LXBvc2l0aXZlLWluZGljYXRvcnMvdmlldy9mcm9udGVuZC93ZWIvanMvdGlsZS1iYWRnZS1zaG93ZXIuanNcbiAgICAgICAgICAgICovIH1cbiAgICAgIC5jcy1wcm9kdWN0LXRpbGVfX2JhZGdlLS1wb3B1bGFyIC5jcy1wcm9kdWN0LXRpbGVfX2JhZGdlLXRleHQge1xuICAgICAgICBsaW5lLWhlaWdodDogbm9ybWFsOyB9XG4gICAgICAgIC5jcy1wcm9kdWN0LXRpbGVfX2JhZGdlLS1wb3B1bGFyIC5jcy1wcm9kdWN0LXRpbGVfX2JhZGdlLXRleHQgKyAuY3MtcHJvZHVjdC10aWxlX19iYWRnZS0tcG9wdWxhciAuY3MtcHJvZHVjdC10aWxlX19iYWRnZS10ZXh0IHtcbiAgICAgICAgICBtYXJnaW4tbGVmdDogMC41cmVtOyB9XG4gICAgICAucHJvZHVjdC1pdGVtcyAuY3MtcHJvZHVjdC10aWxlX19iYWRnZS0tcG9wdWxhcjpub3QoLnZpc2libGUpIHtcbiAgICAgICAgYm9yZGVyOiAwO1xuICAgICAgICBjbGlwOiByZWN0KDAgMCAwIDApO1xuICAgICAgICBoZWlnaHQ6IDFweDtcbiAgICAgICAgbWFyZ2luOiAtMXB4O1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHdpZHRoOiAxcHg7XG4gICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgICAgIC8qIDEgKi8gfVxuICAgIC5jcy1wcm9kdWN0LXRpbGVfX2JhZGdlLS1kYWlseWRlYWwge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2U0MWYxMjtcbiAgICAgIGNvbG9yOiAjZmZmOyB9XG4gICAgICAuY3MtcHJvZHVjdC10aWxlX19iYWRnZS0tZGFpbHlkZWFsIC5jcy1wcm9kdWN0LXRpbGVfX2JhZGdlLXRleHQge1xuICAgICAgICBsaW5lLWhlaWdodDogbm9ybWFsOyB9XG4gICAgICAgIC5jcy1wcm9kdWN0LXRpbGVfX2JhZGdlLS1kYWlseWRlYWwgLmNzLXByb2R1Y3QtdGlsZV9fYmFkZ2UtdGV4dCArIC5jcy1wcm9kdWN0LXRpbGVfX2JhZGdlLS1kYWlseWRlYWwgLmNzLXByb2R1Y3QtdGlsZV9fYmFkZ2UtdGV4dCB7XG4gICAgICAgICAgbWFyZ2luLWxlZnQ6IDAuNXJlbTsgfVxuICAuY3MtcHJvZHVjdC10aWxlX19iYWRnZS1pdGVtIHtcbiAgICBkaXNwbGF5OiBmbGV4OyB9XG4gICAgLmNzLXByb2R1Y3QtdGlsZS0tZ3JpZCAuY3MtcHJvZHVjdC10aWxlX19iYWRnZS1pdGVtIHtcbiAgICAgIG1hcmdpbjogMCAwIDAuNXJlbTtcbiAgICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgLmNzLXByb2R1Y3QtdGlsZV9fYmFkZ2UtaXRlbTplbXB0eSB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9XG4gIC5jcy1wcm9kdWN0LXRpbGVfX2JhZGdlLXRleHQge1xuICAgIGxpbmUtaGVpZ2h0OiBub3JtYWw7IH1cbiAgICAuY3MtcHJvZHVjdC10aWxlX19iYWRnZS10ZXh0ICsgLmNzLXByb2R1Y3QtdGlsZV9fYmFkZ2UtdGV4dCB7XG4gICAgICBtYXJnaW4tbGVmdDogMC41cmVtOyB9XG4gIC5jcy1wcm9kdWN0LXRpbGVfX2RhaWx5ZGVhbCB7XG4gICAgZ3JpZC1hcmVhOiBkYWlseWRlYWw7XG4gICAgbWFyZ2luOiAwOyB9XG4gIC5jcy1wcm9kdWN0LXRpbGVfX3F0eSB7XG4gICAgZ3JpZC1hcmVhOiBxdHk7XG4gICAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgICB3aWR0aDogMTFyZW07XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87IH1cbiAgLmNzLXByb2R1Y3QtdGlsZV9fZGVzY3JpcHRpb24ge1xuICAgIGdyaWQtYXJlYTogZGVzY3JpcHRpb247XG4gICAgZm9udC1zaXplOiAxLjNyZW07XG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICBsaW5lLWhlaWdodDogMS40O1xuICAgIGNvbG9yOiAjNjk2OTY5O1xuICAgIG1hcmdpbjogMCAwIDFyZW07IH1cbiAgLmNzLXByb2R1Y3QtdGlsZV9fd2lzaGxpc3QtcmVtb3ZlLWljb24ge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgcmlnaHQ6IDA7XG4gICAgYmFja2dyb3VuZDogI2ZmZjtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgcGFkZGluZzogMS41cmVtOyB9XG4gICAgQG1lZGlhIChwb2ludGVyOiBmaW5lKSB7XG4gICAgICAuY3MtcHJvZHVjdC10aWxlX193aXNobGlzdC1yZW1vdmUtaWNvbiB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7IH0gfVxuICAuY3MtcHJvZHVjdC10aWxlX193aXNobGlzdC1yZW1vdmUtaWNvbi1pbWFnZSB7XG4gICAgd2lkdGg6IDEuMnJlbTtcbiAgICBoZWlnaHQ6IDEuMnJlbTtcbiAgICBmaWxsOiAjODg4OyB9XG4gIC5jcy1wcm9kdWN0LXRpbGVfX3dpc2hsaXN0LWNvbW1lbnQge1xuICAgIGJvcmRlcjogMDtcbiAgICBjbGlwOiByZWN0KDAgMCAwIDApO1xuICAgIGhlaWdodDogMXB4O1xuICAgIG1hcmdpbjogLTFweDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHdpZHRoOiAxcHg7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICAvKiAxICovIH1cbiAgLmNzLXByb2R1Y3QtdGlsZV9fd2lzaGxpc3QtYWN0aW9ucyB7XG4gICAgZ3JpZC1hcmVhOiB3aXNobGlzdC1pY29ucztcbiAgICBtYXJnaW46IDFyZW0gMCAwO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOyB9XG4iLCIvKipcbiAqIFN0cmluZyB0byBudW1iZXIgY29udmVydGVyXG4gKiBodHRwczovL3d3dy5zYXNzbWVpc3Rlci5jb20vZ2lzdC85ZmExOWQyNTQ4NjRmMzNkNGE4MFxuICogQGF1dGhvciBIdWdvIEdpcmF1ZGVsXG4gKiBAcGFyYW0ge1N0cmluZyB8IE51bWJlcn0gJHZhbHVlIC0gVmFsdWUgdG8gYmUgcGFyc2VkXG4gKiBAcmV0dXJuIHtOdW1iZXJ9XG4gKi9cblxuQGZ1bmN0aW9uIHRvLW51bWJlcigkdmFsdWUpIHtcbiAgICBAaWYgdHlwZS1vZigkdmFsdWUpID09ICdudW1iZXInIHtcbiAgICAgICAgQHJldHVybiAkdmFsdWU7XG4gICAgfSBAZWxzZSBpZiB0eXBlLW9mKCR2YWx1ZSkgIT0gJ3N0cmluZycge1xuICAgICAgICAkXzogbG9nKCdWYWx1ZSBmb3IgYHRvLW51bWJlcmAgc2hvdWxkIGJlIGEgbnVtYmVyIG9yIGEgc3RyaW5nLicpO1xuICAgIH1cblxuICAgICRyZXN1bHQ6IDA7XG4gICAgJGRpZ2l0czogMDtcbiAgICAkbWludXM6IHN0ci1zbGljZSgkdmFsdWUsIDEsIDEpID09ICctJztcbiAgICAkbnVtYmVyczogKFxuICAgICAgICAnMCc6IDAsXG4gICAgICAgICcxJzogMSxcbiAgICAgICAgJzInOiAyLFxuICAgICAgICAnMyc6IDMsXG4gICAgICAgICc0JzogNCxcbiAgICAgICAgJzUnOiA1LFxuICAgICAgICAnNic6IDYsXG4gICAgICAgICc3JzogNyxcbiAgICAgICAgJzgnOiA4LFxuICAgICAgICAnOSc6IDksXG4gICAgKTtcblxuICAgIEBmb3IgJGkgZnJvbSBpZigkbWludXMsIDIsIDEpIHRocm91Z2ggc3RyLWxlbmd0aCgkdmFsdWUpIHtcbiAgICAgICAgJGNoYXJhY3Rlcjogc3RyLXNsaWNlKCR2YWx1ZSwgJGksICRpKTtcblxuICAgICAgICBAaWYgbm90KGluZGV4KG1hcC1rZXlzKCRudW1iZXJzKSwgJGNoYXJhY3Rlcikgb3IgJGNoYXJhY3RlciA9PSAnLicpIHtcbiAgICAgICAgICAgIEByZXR1cm4gdG8tbGVuZ3RoKFxuICAgICAgICAgICAgICAgIGlmKCRtaW51cywgLSRyZXN1bHQsICRyZXN1bHQpLFxuICAgICAgICAgICAgICAgIHN0ci1zbGljZSgkdmFsdWUsICRpKVxuICAgICAgICAgICAgKTtcbiAgICAgICAgfVxuXG4gICAgICAgIEBpZiAoJGNoYXJhY3RlciA9PSAnLicpIHtcbiAgICAgICAgICAgICRkaWdpdHM6IDE7XG4gICAgICAgIH0gQGVsc2UgaWYgKCRkaWdpdHMgPT0gMCkge1xuICAgICAgICAgICAgJHJlc3VsdDogJHJlc3VsdCAqIDEwICsgbWFwLWdldCgkbnVtYmVycywgJGNoYXJhY3Rlcik7XG4gICAgICAgIH0gQGVsc2Uge1xuICAgICAgICAgICAgJGRpZ2l0czogJGRpZ2l0cyAqIDEwO1xuICAgICAgICAgICAgJHJlc3VsdDogJHJlc3VsdCArIG1hcC1nZXQoJG51bWJlcnMsICRjaGFyYWN0ZXIpIC8gJGRpZ2l0cztcbiAgICAgICAgfVxuICAgIH1cblxuICAgIEByZXR1cm4gaWYoJG1pbnVzLCAtJHJlc3VsdCwgJHJlc3VsdCk7XG59XG4iLCJAaW1wb3J0ICdjb25maWcvdmFyaWFibGVzJztcbkBpbXBvcnQgJ3ZlbmRvcnMvaW5jbHVkZS1tZWRpYSc7XG5AaW1wb3J0ICdjb21wb25lbnRzL2JhZGdlL21peGluJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvcHJpY2UtYm94L3ZhcmlhYmxlcy5zY3NzJztcbkBpbXBvcnQgJ2V0Yy92aWV3LnNjc3MnO1xuQGltcG9ydCAndXRpbHMvZGVlcC1nZXQvZGVlcC1nZXQuc2Nzcyc7XG5AaW1wb3J0ICd1dGlscy9zdHJpbmctdG8tbnVtYmVyJztcbkBpbXBvcnQgJ3V0aWxzL3Jlc2V0LWxpc3Qtc3R5bGUnO1xuQGltcG9ydCAndXRpbHMvdmlzdWFsbHktaGlkZGVuJztcblxuLy8gR2VuZXJhbFxuJHByb2R1Y3QtdGlsZV9nZW5lcmFsLXRpbGUtZ3V0dGVyOiAxLjVyZW0gIWRlZmF1bHQ7XG4kcHJvZHVjdC10aWxlX2dlbmVyYWwtZWxlbWVudHMtZ3V0dGVyOiAycmVtICFkZWZhdWx0O1xuJHByb2R1Y3QtdGlsZV9nZW5lcmFsLWJhY2tncm91bmQ6ICRjb2xvcl93aGl0ZSAhZGVmYXVsdDtcbiRwcm9kdWN0LXRpbGVfZ2VuZXJhbC1ib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJhZGl1c19iYXNlICFkZWZhdWx0O1xuJHByb2R1Y3QtdGlsZV9nZW5lcmFsLWZvbnQtc2l6ZTogMS44cmVtICFkZWZhdWx0O1xuJHByb2R1Y3QtdGlsZV9ob3Zlci1hbmltYXRpb246IHRydWUgIWRlZmF1bHQ7XG4kcHJvZHVjdC10aWxlX2hvdmVyLWFuaW1hdGlvbi1icmVha3BvaW50OiAnPj1sYXB0b3AnICFkZWZhdWx0O1xuJHByb2R1Y3QtdGlsZV9wYWRkaW5nOiAkcHJvZHVjdC10aWxlX2dlbmVyYWwtdGlsZS1ndXR0ZXIgIWRlZmF1bHQ7XG4kcHJvZHVjdC10aWxlX2FsaWdubWVudDogY2VudGVyICFkZWZhdWx0OyAvLyBsZWZ0IHwgY2VudGVyIHwgcmlnaHRcbiRwcm9kdWN0LXRpbGVfaW5pdGlhbC1ib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudCAhZGVmYXVsdDtcbiRwcm9kdWN0LXRpbGVfaG92ZXItYm9yZGVyOiAxcHggc29saWQgJGNvbG9yX3ByaW1hcnktODAwICFkZWZhdWx0O1xuXG4vLyBJZiBwcm9kdWN0IHRpbGUgZGVzaWduIGhhcyBhIGhpZGRlbiBib3R0b20gcGFydCB0aGF0IGlzIHNsaWRlZCB1cCBvbiBob3ZlciBzZXQgYm90aCBiZWxvdyB2YXJpYWJsZXNcbiRwcm9kdWN0LXRpbGVfbWFpbi1hZnRlci1zbGlkZS1vbi1ob3ZlcjogZmFsc2UgIWRlZmF1bHQ7XG4kcHJvZHVjdC10aWxlX21haW4tYWZ0ZXItaGVpZ2h0OiAnYXV0bycgIWRlZmF1bHQ7XG4kcHJvZHVjdC10aWxlX2NvbnRlbnQtaGVpZ2h0OiAnYXV0bycgIWRlZmF1bHQ7XG5cbi8vIFByb2R1Y3QgbmFtZVxuJHByb2R1Y3QtdGlsZV9wcm9kdWN0LW5hbWUtZm9udC1zaXplOiAkcHJvZHVjdC10aWxlX2dlbmVyYWwtZm9udC1zaXplICFkZWZhdWx0O1xuJHByb2R1Y3QtdGlsZV9wcm9kdWN0LW5hbWUtZm9udC13ZWlnaHQ6IDQwMCAhZGVmYXVsdDtcbiRwcm9kdWN0LXRpbGVfcHJvZHVjdC1uYW1lLW1heC1saW5lcy1kaXNwbGF5OiAyICFkZWZhdWx0O1xuJHByb2R1Y3QtdGlsZV9wcm9kdWN0LW5hbWUtbGluZS1oZWlnaHQ6IDJyZW0gIWRlZmF1bHQ7IC8vIE1VU1QgQkUgYSBudW1iZXIgdmFsdWUgd2l0aCB1bml0LCBjYW5ub3QgYmUgJ2luaGVyaXQnXG4kcHJvZHVjdC10aWxlX3Byb2R1Y3QtbmFtZS1saW5rLWNvbG9yOiAkY29sb3JfdGV4dC05MDAgIWRlZmF1bHQ7XG4kcHJvZHVjdC10aWxlX3Byb2R1Y3QtbmFtZS1saW5rLWNvbG9yLXZpc2l0ZWQ6ICRjb2xvcl90ZXh0LTkwMCAhZGVmYXVsdDtcbiRwcm9kdWN0LXRpbGVfcHJvZHVjdC1uYW1lLWxpbmstY29sb3ItaG92ZXI6ICRjb2xvcl90ZXh0LTkwMCAhZGVmYXVsdDtcbiRwcm9kdWN0LXRpbGVfcHJvZHVjdC1uYW1lLWxpbmstdGV4dC1kZWNvcmF0aW9uLWhvdmVyOiBub25lICFkZWZhdWx0O1xuJHByb2R1Y3QtdGlsZV9wcm9kdWN0LW5hbWUtbWFyZ2luOiAwIDAgMC41cmVtICFkZWZhdWx0O1xuJHByb2R1Y3QtdGlsZV9wcm9kdWN0LW5hbWUtYWxpZ25tZW50OiBsZWZ0ICFkZWZhdWx0O1xuXG4vLyBCYWRnZXNcbiRwcm9kdWN0LXRpbGVfYmFkZ2VzLXotaW5kZXg6IDIgIWRlZmF1bHQ7XG4kcHJvZHVjdC10aWxlX2JhZGdlcy1kaXJlY3Rpb246ICd2ZXJ0aWNhbCcgIWRlZmF1bHQ7IC8vIHZlcnRpY2FsIG9yIGhvcml6b250YWxcbiRwcm9kdWN0LXRpbGVfYmFkZ2VzLXktYXNpcy1wb3NpdGlvbi1wcm9wOiB0b3AgIWRlZmF1bHQ7XG4kcHJvZHVjdC10aWxlX2JhZGdlcy14LWFzaXMtcG9zaXRpb24tcHJvcDogbGVmdCAhZGVmYXVsdDtcbiRwcm9kdWN0LXRpbGVfYmFkZ2VzLXktYXNpcy1wb3NpdGlvbi12YWx1ZTogJHByb2R1Y3QtdGlsZV9nZW5lcmFsLWVsZW1lbnRzLWd1dHRlciAhZGVmYXVsdDtcbiRwcm9kdWN0LXRpbGVfYmFkZ2VzLXgtYXNpcy1wb3NpdGlvbi12YWx1ZTogJHByb2R1Y3QtdGlsZV9nZW5lcmFsLWVsZW1lbnRzLWd1dHRlciAhZGVmYXVsdDtcbiRwcm9kdWN0LXRpbGVfYmFkZ2VzLWl0ZW0tbWFyZ2luOiAwIDAgI3skcHJvZHVjdC10aWxlX2dlbmVyYWwtZWxlbWVudHMtZ3V0dGVyIC8gNH0gIWRlZmF1bHQ7XG5cbi8vIFN3YXRjaGVzXG4kcHJvZHVjdC10aWxlX3N3YXRjaGVzLWNvbnRhaW5lci1taW4taGVpZ2h0OiAyLjZyZW0gIWRlZmF1bHQ7XG4kcHJvZHVjdC10aWxlX3N3YXRjaGVzLW1hcmdpbjogJHByb2R1Y3QtdGlsZV9nZW5lcmFsLWVsZW1lbnRzLWd1dHRlciAwICN7JHByb2R1Y3QtdGlsZV9nZW5lcmFsLWVsZW1lbnRzLWd1dHRlciAvIDJ9ICFkZWZhdWx0O1xuJHByb2R1Y3QtdGlsZV9zd2F0Y2hlcy1hbGlnbm1lbnQ6ICRwcm9kdWN0LXRpbGVfYWxpZ25tZW50ICFkZWZhdWx0O1xuXG4vLyBCcmFuZFxuJHByb2R1Y3QtdGlsZV9icmFuZC1mb250LXNpemU6IDEuMnJlbSAhZGVmYXVsdDtcbiRwcm9kdWN0LXRpbGVfYnJhbmQtY29sb3I6ICRjb2xvcl90ZXh0LTQwMCAhZGVmYXVsdDtcbiRwcm9kdWN0LXRpbGVfYnJhbmQtaGVpZ2h0OiAycmVtICFkZWZhdWx0O1xuJHByb2R1Y3QtdGlsZV9icmFuZC1hbGlnbm1lbnQ6IGxlZnQgIWRlZmF1bHQ7XG5cbi8vIFJldmlld1xuJHByb2R1Y3QtdGlsZV9yZXZpZXctbWFyZ2luOiAjeyRwcm9kdWN0LXRpbGVfZ2VuZXJhbC1lbGVtZW50cy1ndXR0ZXIgLyAyfSAwIDAgIWRlZmF1bHQ7XG5cbi8vIEFkZHRvXG4kcHJvZHVkY3QtdGlsZV9hZGR0by1mb250LXNpemU6IDEuM3JlbSAhZGVmYXVsdDtcbiRwcm9kdWN0LXRpbGVfYWRkdG8tbWFyZ2luOiAjeyRwcm9kdWN0LXRpbGVfZ2VuZXJhbC1lbGVtZW50cy1ndXR0ZXIgLyAyfSAwIDAgIWRlZmF1bHQ7XG5cbi8vIFF0eSBzd2ljdGhlclxuJHByb2R1ZGN0LXRpbGVfcXR5LXN3aXRjaGVyLXdpZHRoOiAxMXJlbSAhZGVmYXVsdDtcbiRwcm9kdWRjdC10aWxlX3F0eS1zd2l0Y2hlci1zcGFjZS1ib3R0b206IDFyZW0gIWRlZmF1bHQ7XG5cbi8vIEFkZHRvY2FydFxuJHByb2R1Y3QtdGlsZV9hZGR0b2NhcnQtbWFyZ2luOiAwIDAgMCAhZGVmYXVsdDtcbiRwcm9kdWN0LXRpbGVfYWRkdG9jYXJ0LXdpZHRoOiA0cmVtICFkZWZhdWx0O1xuJHByb2R1Y3QtdGlsZV9hZGR0b2NhcnQtc2hvdy1vbmx5LW9uLWhvdmVyOiB0cnVlICFkZWZhdWx0O1xuJHByb2R1Y3QtdGlsZV9hZGR0b2NhcnQtcmVkdWNlZDogdHJ1ZSAhZGVmYXVsdDtcblxuLy8gU3RvY2tcbiRwcm9kdWN0LXRpbGVfc3RvY2stZm9udC1zaXplOiAxLjNyZW0gIWRlZmF1bHQ7XG4kcHJvZHVjdC10aWxlX3N0b2NrLWluLWNvbG9yOiAkY29sb3JfYXBwbGUgIWRlZmF1bHQ7XG4kcHJvZHVjdC10aWxlX3N0b2NrLW91dC1vZi1jb2xvcjogJGNvbG9yX2NyaW1zb24gIWRlZmF1bHQ7XG4kcHJvZHVjdC10aWxlX3N0b2NrLW1hcmdpbjogMCAhZGVmYXVsdDtcblxuLy8gRGFpbHkgRGVhbFxuJHByb2R1Y3QtdGlsZV9kYWlseWRlYWwtbWFyZ2luOiAwICFkZWZhdWx0O1xuXG4vLyBXaXNobGlzdFxuJHByb2R1Y3QtdGlsZV93aXNobGlzdC1jb21tZW50LXZpc2libGU6IGZhbHNlICFkZWZhdWx0O1xuJHByb2R1Y3QtdGlsZV93aXNobGlzdC1jb21tZW50LXRleHRhcmVhLWhlaWdodDogNXJlbSAhZGVmYXVsdDtcbiRwcm9kdWN0LXRpbGVfd2lzaGxpc3QtYWN0aW9ucy1tYXJnaW46ICN7JHByb2R1Y3QtdGlsZV9nZW5lcmFsLWVsZW1lbnRzLWd1dHRlciAvXG4gMlxufVxuXG4wIDAgIWRlZmF1bHQ7XG4kcHJvZHVjdC10aWxlX3dpc2hsaXN0LWFjdGlvbnMtZGlzcGxheTogZmxleCAhZGVmYXVsdDtcbiRwcm9kdWN0LXRpbGVfd2lzaGxpc3QtYWN0aW9ucy1qdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW4gIWRlZmF1bHQ7XG5cbiRwcm9kdWN0LXRpbGVfd2lzaGxpc3QtcmVtb3ZlLWljb24tYmFja2dyb3VuZDogJGNvbG9yX2JhY2tncm91bmQtMjAwICFkZWZhdWx0O1xuJHByb2R1Y3QtdGlsZV93aXNobGlzdC1yZW1vdmUtaWNvbi1zaXplOiAxLjJyZW0gIWRlZmF1bHQ7XG4kcHJvZHVjdC10aWxlX3dpc2hsaXN0LXJlbW92ZS1pY29uLWZpbGw6ICRjb2xvcl9ib3JkZXItNzAwICFkZWZhdWx0O1xuXG4vLyBEZXNjcmlwdGlvblxuJHByb2R1Y3QtdGlsZV9kZXNjcmlwdGlvbi1mb250LXNpemU6IDEuM3JlbSAhZGVmYXVsdDtcbiRwcm9kdWN0LXRpbGVfZGVzY3JpcHRpb24tZm9udC13ZWlnaHQ6IDQwMCAhZGVmYXVsdDtcbiRwcm9kdWN0LXRpbGVfZGVzY3JpcHRpb24tbGluZS1oZWlnaHQ6IDEuNCAhZGVmYXVsdDtcbiRwcm9kdWN0LXRpbGVfZGVzY3JpcHRpb24tY29sb3I6ICRjb2xvcl9kb3ZlLWdyYXkgIWRlZmF1bHQ7XG4kcHJvZHVjdC10aWxlX2Rlc2NyaXB0aW9uLW1hcmdpbjogMCAwICN7JHByb2R1Y3QtdGlsZV9nZW5lcmFsLWVsZW1lbnRzLWd1dHRlciAvXG4gMlxufVxuXG4hZGVmYXVsdDtcblxuLy8gVGh1bWJuYWlsXG4kcHJvZHVjdC10aWxlX2xpbWl0LWNvbnRhaW5lci10by1pbWFnZS1zaXplOiBmYWxzZSAhZGVmYXVsdDtcblxuLy8gUHJpY2VzXG4kcHJvZHVjdC10aWxlX25vcm1hbC1wcmljZS1jb2xvcjogJGNvbG9yX3RleHQtOTAwICFkZWZhdWx0O1xuJHByb2R1Y3QtdGlsZV9ub3JtYWwtcHJpY2UtZm9udC1zaXplOiAkcHJvZHVjdC10aWxlX2dlbmVyYWwtZm9udC1zaXplICFkZWZhdWx0O1xuJHByb2R1Y3QtdGlsZV9ub3JtYWwtcHJpY2UtZm9udC13ZWlnaHQ6ICRwcmljZS1ib3hfbm9ybWFsLXByaWNlLWZvbnQtd2VpZ2h0ICFkZWZhdWx0O1xuJHByb2R1Y3QtdGlsZV9zcGVjaWFsLXByaWNlLWNvbG9yOiAkcHJpY2UtYm94X3NwZWNpYWwtcHJpY2UtY29sb3IgIWRlZmF1bHQ7XG4kcHJvZHVjdC10aWxlX3NwZWNpYWwtcHJpY2UtZm9udC1zaXplOiAkcHJvZHVjdC10aWxlX2dlbmVyYWwtZm9udC1zaXplICFkZWZhdWx0O1xuJHByb2R1Y3QtdGlsZV9zcGVjaWFsLXByaWNlLWZvbnQtd2VpZ2h0OiAkcHJpY2UtYm94X3NwZWNpYWwtcHJpY2UtZm9udC13ZWlnaHQgIWRlZmF1bHQ7XG4kcHJvZHVjdC10aWxlX29sZC1wcmljZS1jb2xvcjogJHByaWNlLWJveF9vbGQtcHJpY2UtY29sb3IgIWRlZmF1bHQ7XG4kcHJvZHVjdC10aWxlX29sZC1wcmljZS1mb250LXNpemU6ICRwcm9kdWN0LXRpbGVfZ2VuZXJhbC1mb250LXNpemUgIWRlZmF1bHQ7XG4kcHJvZHVjdC10aWxlX29sZC1wcmljZS1mb250LXdlaWdodDogJHByaWNlLWJveF9vbGQtcHJpY2UtZm9udC13ZWlnaHQgIWRlZmF1bHQ7XG4kcHJvZHVjdC10aWxlX29sZC1wcmljZS10ZXh0LWRlY29yYXRpb246ICRwcmljZS1ib3hfb2xkLXByaWNlLXRleHQtZGVjb3JhdGlvbiAhZGVmYXVsdDtcblxuJHByb2R1Y3QtdGlsZV9wcmljZXMtZGlyZWN0aW9uOiAnaG9yaXpvbnRhbCcgIWRlZmF1bHQ7IC8vIHZlcnRpY2FsIG9yIGhvcml6b250YWxcbiRwcm9kdWN0LXRpbGVfcHJpY2VzLW1hcmdpbjogMCAhZGVmYXVsdDtcbiRwcm9kdWN0LXRpbGVfZGlzcGxheS1vbGQtcHJpY2UtZmlyc3Q6IHRydWUgIWRlZmF1bHQ7XG4kcHJvZHVjdC10aWxlX3ByaWNlcy1hbGlnbm1lbnQ6ICdsZWZ0JyAhZGVmYXVsdDtcblxuJHByb2R1Y3QtdGlsZS1tYWdlbnRvLWNhdGFsb2ctaW1hZ2U6IGRlZXAtZ2V0KCR2aWV3LXhtbCxcbiAgICAgICAgbWVkaWEsXG4gICAgICAgIGltYWdlcyxcbiAgICAgICAgaW1hZ2UsXG4gICAgICAgIGNhdGVnb3J5X3BhZ2VfZ3JpZCk7XG4kcHJvZHVjdC10aWxlLW1hZ2VudG8tY2F0YWxvZy1pbWFnZS13aWR0aDogdG8tbnVtYmVyKCN7bWFwLWdldCgkcHJvZHVjdC10aWxlLW1hZ2VudG8tY2F0YWxvZy1pbWFnZSwgd2lkdGgpfSk7XG4kcHJvZHVjdC10aWxlLW1hZ2VudG8tY2F0YWxvZy1pbWFnZS1oZWlnaHQ6IHRvLW51bWJlcigje21hcC1nZXQoJHByb2R1Y3QtdGlsZS1tYWdlbnRvLWNhdGFsb2ctaW1hZ2UsIGhlaWdodCl9KTtcblxuLiN7JG5zfXByb2R1Y3QtdGlsZSB7XG4gICAgJHJvb3Q6ICY7XG5cbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGJvcmRlci1yYWRpdXM6ICRwcm9kdWN0LXRpbGVfZ2VuZXJhbC1ib3JkZXItcmFkaXVzO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRwcm9kdWN0LXRpbGVfZ2VuZXJhbC1iYWNrZ3JvdW5kO1xuICAgIGJvcmRlcjogJHByb2R1Y3QtdGlsZV9pbml0aWFsLWJvcmRlcjtcbiAgICB0cmFuc2l0aW9uOiBib3JkZXItY29sb3IgJHRyYW5zaXRpb24tZGVmYXVsdC10aW1lO1xuICAgIGFzcGVjdC1yYXRpbzogI3skdGlsZV9hc3BlY3QtcmF0aW8td2lkdGgtLW1vYmlsZX0vI3skdGlsZV9hc3BlY3QtcmF0aW8taGVpZ2h0LS1tb2JpbGV9O1xuXG4gICAgQGluY2x1ZGUgbWVkaWEoJz49dGFibGV0Jykge1xuICAgICAgICBhc3BlY3QtcmF0aW86ICN7JHRpbGVfYXNwZWN0LXJhdGlvLXdpZHRofS8jeyR0aWxlX2FzcGVjdC1yYXRpby1oZWlnaHR9O1xuICAgIH1cblxuICAgIEBtZWRpYSAoaG92ZXI6IGhvdmVyKSBhbmQgKHBvaW50ZXI6IGZpbmUpIHtcbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICBib3JkZXI6ICRwcm9kdWN0LXRpbGVfaG92ZXItYm9yZGVyO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJi0tY2xpY2thYmxlIHtcbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmLS1oaWRkZW4ge1xuICAgICAgICAjeyRyb290fV9fbWFpbiB7XG4gICAgICAgICAgICB2aXNpYmlsaXR5OiBoaWRkZW4gIWltcG9ydGFudDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2NvbnRhaW5lciB7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYXJvdW5kO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHBhZGRpbmc6ICRwcm9kdWN0LXRpbGVfcGFkZGluZztcblxuICAgICAgICBAaWYgKCRwcm9kdWN0LXRpbGVfY29udGVudC1oZWlnaHQgIT0nYXV0bycgYW5kICRwcm9kdWN0LXRpbGVfbWFpbi1hZnRlci1zbGlkZS1vbi1ob3ZlciApIHtcbiAgICAgICAgICAgIEBtZWRpYSAoaG92ZXI6IGhvdmVyKSBhbmQgKHBvaW50ZXI6IGZpbmUpIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogJHByb2R1Y3QtdGlsZV9jb250ZW50LWhlaWdodDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2xpbmsge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgIH1cblxuICAgICZfX3RodW1ibmFpbCB7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIG1pbi1oZWlnaHQ6IDA7XG4gICAgfVxuXG4gICAgJl9fdGh1bWJuYWlsLWxpbmsge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuXG4gICAgICAgICY6aG92ZXIsXG4gICAgICAgICY6dmlzaXRlZCB7XG4gICAgICAgICAgICBjb2xvcjogaW5oZXJpdDtcbiAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogaW5oZXJpdDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2ZpZ3VyZSB7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gICAgICAgIEBpZiAoJHByb2R1Y3QtdGlsZV9saW1pdC1jb250YWluZXItdG8taW1hZ2Utc2l6ZSkge1xuICAgICAgICAgICAgbWF4LXdpZHRoOiAoJHByb2R1Y3QtdGlsZS1tYWdlbnRvLWNhdGFsb2ctaW1hZ2Utd2lkdGggLyAxMCkgKiAxcmVtO1xuICAgICAgICAgICAgbWF4LWhlaWdodDogKCRwcm9kdWN0LXRpbGUtbWFnZW50by1jYXRhbG9nLWltYWdlLWhlaWdodCAvIDEwKSAqIDFyZW07XG4gICAgICAgICAgICBtYXJnaW46IDAgYXV0bztcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2ltYWdlIHtcbiAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgICBtYXgtaGVpZ2h0OiAxMDAlO1xuICAgICAgICBtYXJnaW46IGF1dG87XG4gICAgfVxuXG4gICAgJl9faW1nIHtcbiAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgICBtYXgtaGVpZ2h0OiAxMDAlO1xuXG4gICAgICAgICZbc3JjKj0ncGxhY2Vob2xkZXInXSB7XG4gICAgICAgICAgICBtaW4td2lkdGg6IDcwJTtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDJyZW07XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19jb250ZW50IHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC44KTtcblxuICAgICAgICBAaWYgKCRwcm9kdWN0LXRpbGVfbWFpbi1hZnRlci1zbGlkZS1vbi1ob3Zlcikge1xuICAgICAgICAgICAgQG1lZGlhIChob3ZlcjogaG92ZXIpIGFuZCAocG9pbnRlcjogZmluZSkge1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICBib3R0b206IDA7XG4gICAgICAgICAgICAgICAgbGVmdDogJHByb2R1Y3QtdGlsZV9nZW5lcmFsLXRpbGUtZ3V0dGVyO1xuICAgICAgICAgICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgICAgICAgICB3aWR0aDogY2FsYygxMDAlIC0gKDIgKiAjeyRwcm9kdWN0LXRpbGVfZ2VuZXJhbC10aWxlLWd1dHRlcn0pKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX21haW4ge1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogbWlubWF4KDAsIDFmcikgJHByb2R1Y3QtdGlsZV9hZGR0b2NhcnQtd2lkdGg7XG5cbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1hcmVhczpcbiAgICAgICAgICAgICdiYWRnZXMgYWRkdG8nXG4gICAgICAgICAgICAnc3dhdGNoZXMgc3dhdGNoZXMnXG4gICAgICAgICAgICAnYnJhbmQgYnJhbmQnXG4gICAgICAgICAgICAnbmFtZSBuYW1lJ1xuICAgICAgICAgICAgJ2Rlc2NyaXB0aW9uIGRlc2NyaXB0aW9uJ1xuICAgICAgICAgICAgJ3ByaWNlIHByaWNlJ1xuICAgICAgICAgICAgJ3JldmlldyAgYWRkdG9jYXJ0J1xuICAgICAgICAgICAgJ3N0b2NrIGFkZHRvY2FydCdcbiAgICAgICAgICAgICd3aXNobGlzdC1pY29ucyB3aXNobGlzdC1pY29ucyc7XG4gICAgfVxuXG4gICAgJl9fc3dhdGNoZXMge1xuICAgICAgICBncmlkLWFyZWE6IHN3YXRjaGVzO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBtYXJnaW46ICRwcm9kdWN0LXRpbGVfc3dhdGNoZXMtbWFyZ2luO1xuICAgICAgICBtaW4taGVpZ2h0OiAkcHJvZHVjdC10aWxlX3N3YXRjaGVzLWNvbnRhaW5lci1taW4taGVpZ2h0O1xuXG4gICAgICAgICYsXG4gICAgICAgIC5zd2F0Y2gtYXR0cmlidXRlLW9wdGlvbnMge1xuICAgICAgICAgICAgQGlmICgkcHJvZHVjdC10aWxlX3N3YXRjaGVzLWFsaWdubWVudCA9PSdsZWZ0Jykge1xuICAgICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgQGVsc2UgaWYgKCRwcm9kdWN0LXRpbGVfc3dhdGNoZXMtYWxpZ25tZW50ID09J3JpZ2h0Jykge1xuICAgICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIEBlbHNlIHtcbiAgICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2JyYW5kIHtcbiAgICAgICAgZ3JpZC1hcmVhOiBicmFuZDtcbiAgICAgICAgaGVpZ2h0OiAkcHJvZHVjdC10aWxlX2JyYW5kLWhlaWdodDtcbiAgICAgICAgbWFyZ2luLXRvcDogJHByb2R1Y3QtdGlsZV9nZW5lcmFsLXRpbGUtZ3V0dGVyO1xuICAgICAgICB0ZXh0LWFsaWduOiAkcHJvZHVjdC10aWxlX2JyYW5kLWFsaWdubWVudDtcblxuICAgICAgICAmLS1lbXB0eSB7XG4gICAgICAgICAgICBoZWlnaHQ6IDA7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19icmFuZC10ZXh0IHtcbiAgICAgICAgZm9udC1zaXplOiAkcHJvZHVjdC10aWxlX2JyYW5kLWZvbnQtc2l6ZTtcbiAgICAgICAgY29sb3I6ICRwcm9kdWN0LXRpbGVfYnJhbmQtY29sb3I7XG4gICAgfVxuXG4gICAgJl9fbmFtZSB7XG4gICAgICAgIGdyaWQtYXJlYTogbmFtZTtcbiAgICAgICAgbGluZS1oZWlnaHQ6ICRwcm9kdWN0LXRpbGVfcHJvZHVjdC1uYW1lLWxpbmUtaGVpZ2h0O1xuICAgICAgICBmb250LXdlaWdodDogJHByb2R1Y3QtdGlsZV9wcm9kdWN0LW5hbWUtZm9udC13ZWlnaHQ7XG4gICAgICAgIGZvbnQtc2l6ZTogJHByb2R1Y3QtdGlsZV9wcm9kdWN0LW5hbWUtZm9udC1zaXplO1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgaGVpZ2h0OiAkcHJvZHVjdC10aWxlX3Byb2R1Y3QtbmFtZS1tYXgtbGluZXMtZGlzcGxheSAqICRwcm9kdWN0LXRpbGVfcHJvZHVjdC1uYW1lLWxpbmUtaGVpZ2h0ICsgMC4yO1xuICAgICAgICBtYXJnaW46ICRwcm9kdWN0LXRpbGVfcHJvZHVjdC1uYW1lLW1hcmdpbjtcbiAgICAgICAgdGV4dC1hbGlnbjogJHByb2R1Y3QtdGlsZV9wcm9kdWN0LW5hbWUtYWxpZ25tZW50O1xuXG4gICAgICAgIEBpZiAoJHByb2R1Y3QtdGlsZV9wcm9kdWN0LW5hbWUtbWF4LWxpbmVzLWRpc3BsYXkgPT0xKSB7XG4gICAgICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgICAgICAgICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19uYW1lLWxpbmsge1xuICAgICAgICBjb2xvcjogJHByb2R1Y3QtdGlsZV9wcm9kdWN0LW5hbWUtbGluay1jb2xvcjtcblxuICAgICAgICBAaWYgKCRwcm9kdWN0LXRpbGVfcHJvZHVjdC1uYW1lLWxpbmstY29sb3IgIT0kcHJvZHVjdC10aWxlX3Byb2R1Y3QtbmFtZS1saW5rLWNvbG9yLWhvdmVyICkge1xuICAgICAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgMC4xNXMgbGluZWFyO1xuICAgICAgICB9XG5cbiAgICAgICAgLyogZGlzYWJsZWQgYmVjYXVzZSBhdXRvcHJlZml4ZXIgY2FuJ3QgYnVpbGQgdGhpcyAqL1xuICAgICAgICAvKiBzdHlsZWxpbnQtZGlzYWJsZSB2YWx1ZS1uby12ZW5kb3ItcHJlZml4ICovXG4gICAgICAgIC8qIHN0eWxlbGludC1kaXNhYmxlIHByb3BlcnR5LW5vLXZlbmRvci1wcmVmaXggKi9cbiAgICAgICAgQGlmICgkcHJvZHVjdC10aWxlX3Byb2R1Y3QtbmFtZS1tYXgtbGluZXMtZGlzcGxheSA+IDEpIHtcbiAgICAgICAgICAgIC8qIGF1dG9wcmVmaXhlcjogaWdub3JlIG5leHQgKi9cbiAgICAgICAgICAgIGRpc3BsYXk6IC13ZWJraXQtYm94O1xuICAgICAgICAgICAgLyogYXV0b3ByZWZpeGVyOiBpZ25vcmUgbmV4dCAqL1xuICAgICAgICAgICAgLXdlYmtpdC1ib3gtb3JpZW50OiB2ZXJ0aWNhbDtcbiAgICAgICAgICAgIC8qIGF1dG9wcmVmaXhlcjogaWdub3JlIG5leHQgKi9cbiAgICAgICAgICAgIC13ZWJraXQtbGluZS1jbGFtcDogJHByb2R1Y3QtdGlsZV9wcm9kdWN0LW5hbWUtbWF4LWxpbmVzLWRpc3BsYXk7XG4gICAgICAgICAgICAvKiBhdXRvcHJlZml4ZXI6IGlnbm9yZSBuZXh0ICovXG4gICAgICAgICAgICBsaW5lLWNsYW1wOiAkcHJvZHVjdC10aWxlX3Byb2R1Y3QtbmFtZS1tYXgtbGluZXMtZGlzcGxheTtcbiAgICAgICAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgICAgfVxuXG4gICAgICAgIC8qIHN0eWxlbGludC1lbmFibGUgdmFsdWUtbm8tdmVuZG9yLXByZWZpeCAqL1xuICAgICAgICAvKiBzdHlsZWxpbnQtZW5hYmxlIHByb3BlcnR5LW5vLXZlbmRvci1wcmVmaXggKi9cblxuICAgICAgICAmOnZpc2l0ZWQge1xuICAgICAgICAgICAgY29sb3I6ICRwcm9kdWN0LXRpbGVfcHJvZHVjdC1uYW1lLWxpbmstY29sb3ItdmlzaXRlZDtcbiAgICAgICAgfVxuXG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgY29sb3I6ICRwcm9kdWN0LXRpbGVfcHJvZHVjdC1uYW1lLWxpbmstY29sb3ItaG92ZXI7XG4gICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246ICRwcm9kdWN0LXRpbGVfcHJvZHVjdC1uYW1lLWxpbmstdGV4dC1kZWNvcmF0aW9uLWhvdmVyO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fcHJpY2Uge1xuICAgICAgICBncmlkLWFyZWE6IHByaWNlO1xuICAgICAgICBsaW5lLWhlaWdodDogMS4yO1xuXG4gICAgICAgIC5wcmljZS1ib3gge1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIG1hcmdpbjogJHByb2R1Y3QtdGlsZV9wcmljZXMtbWFyZ2luO1xuXG4gICAgICAgICAgICAucHJpY2Uge1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogJHByb2R1Y3QtdGlsZV9ub3JtYWwtcHJpY2UtZm9udC1zaXplO1xuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiAkcHJvZHVjdC10aWxlX25vcm1hbC1wcmljZS1mb250LXdlaWdodDtcbiAgICAgICAgICAgICAgICBjb2xvcjogJHByb2R1Y3QtdGlsZV9ub3JtYWwtcHJpY2UtY29sb3I7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5vbGQtcHJpY2Uge1xuICAgICAgICAgICAgICAgIC5wcmljZSB7XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogJHByb2R1Y3QtdGlsZV9vbGQtcHJpY2UtZm9udC1zaXplO1xuICAgICAgICAgICAgICAgICAgICBmb250LXdlaWdodDogJHByb2R1Y3QtdGlsZV9vbGQtcHJpY2UtZm9udC13ZWlnaHQ7XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkcHJvZHVjdC10aWxlX29sZC1wcmljZS1jb2xvcjtcbiAgICAgICAgICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiAkcHJvZHVjdC10aWxlX29sZC1wcmljZS10ZXh0LWRlY29yYXRpb247XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuc3BlY2lhbC1wcmljZSB7XG4gICAgICAgICAgICAgICAgLnByaWNlIHtcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAkcHJvZHVjdC10aWxlX3NwZWNpYWwtcHJpY2UtZm9udC1zaXplO1xuICAgICAgICAgICAgICAgICAgICBmb250LXdlaWdodDogJHByb2R1Y3QtdGlsZV9zcGVjaWFsLXByaWNlLWZvbnQtd2VpZ2h0O1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjogJHByb2R1Y3QtdGlsZV9zcGVjaWFsLXByaWNlLWNvbG9yO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLm1pbmltYWwtcHJpY2Uge1xuICAgICAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBAaWYgKCRwcm9kdWN0LXRpbGVfZGlzcGxheS1vbGQtcHJpY2UtZmlyc3QpIHtcbiAgICAgICAgICAgICAgICAub2xkLXByaWNlIHtcbiAgICAgICAgICAgICAgICAgICAgb3JkZXI6IC0xO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgQGlmICgkcHJvZHVjdC10aWxlX3ByaWNlcy1kaXJlY3Rpb24gPT0ndmVydGljYWwnKSB7XG4gICAgICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblxuICAgICAgICAgICAgICAgIC5wcmljZS1mcm9tIHtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIC5taW5pbWFsLXByaWNlIHtcbiAgICAgICAgICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICBAaWYgKCRwcm9kdWN0LXRpbGVfcHJpY2VzLWFsaWdubWVudCA9PSdsZWZ0Jykge1xuICAgICAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICBAZWxzZSBpZiAoJHByb2R1Y3QtdGlsZV9wcmljZXMtYWxpZ25tZW50ID09J3JpZ2h0Jykge1xuICAgICAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogZmxleC1lbmQ7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgQGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgQGVsc2Uge1xuICAgICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cbiAgICAgICAgICAgICAgICAubWluaW1hbC1wcmljZSB7XG4gICAgICAgICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgQGlmICgkcHJvZHVjdC10aWxlX2Rpc3BsYXktb2xkLXByaWNlLWZpcnN0KSB7XG4gICAgICAgICAgICAgICAgICAgIC5vbGQtcHJpY2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgLnByaWNlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6ICRwcmljZS1ib3hfc3BhY2UtYmV0d2Vlbi1wcmljZXM7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICBAZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIC5taW5pbWFsLXByaWNlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgID4ucHJpY2UtY29udGFpbmVyIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAucHJpY2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6ICRwcmljZS1ib3hfc3BhY2UtYmV0d2Vlbi1wcmljZXM7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgLnNwZWNpYWwtcHJpY2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgLnByaWNlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6ICRwcmljZS1ib3hfc3BhY2UtYmV0d2Vlbi1wcmljZXM7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICBAaWYgKCRwcm9kdWN0LXRpbGVfcHJpY2VzLWFsaWdubWVudCA9PSdsZWZ0Jykge1xuICAgICAgICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgQGVsc2UgaWYgKCRwcm9kdWN0LXRpbGVfcHJpY2VzLWFsaWdubWVudCA9PSdyaWdodCcpIHtcbiAgICAgICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICBAZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICYtLWRhaWx5ZGVhbC1jb3VudGRvd24gLnByaWNlLWJveCB7XG4gICAgICAgICAgICAmOm5vdCgucHJpY2UtZmluYWxfcHJpY2Vfd2l0aG91dF9kYWlseV9kZWFsKSB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJi5wcmljZS1ib3gtLXZpc2libGUge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19yZXZpZXcge1xuICAgICAgICBncmlkLWFyZWE6IHJldmlldztcbiAgICAgICAgbWFyZ2luOiAkcHJvZHVjdC10aWxlX3Jldmlldy1tYXJnaW47XG5cbiAgICAgICAgJjplbXB0eSB7XG4gICAgICAgICAgICBtYXJnaW46IDAgIWltcG9ydGFudDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX3N0b2NrIHtcbiAgICAgICAgZ3JpZC1hcmVhOiBzdG9jaztcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgICAgICBmb250LXNpemU6ICRwcm9kdWN0LXRpbGVfc3RvY2stZm9udC1zaXplO1xuICAgICAgICBtYXJnaW46ICRwcm9kdWN0LXRpbGVfc3RvY2stbWFyZ2luO1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMS4xcmVtO1xuICAgICAgICB0ZXh0LWFsaWduOiAkcHJvZHVjdC10aWxlX3Byb2R1Y3QtbmFtZS1hbGlnbm1lbnQ7XG5cbiAgICAgICAgJi0taW4ge1xuICAgICAgICAgICAgY29sb3I6ICRwcm9kdWN0LXRpbGVfc3RvY2staW4tY29sb3I7XG4gICAgICAgIH1cblxuICAgICAgICAmLS1vdXQge1xuICAgICAgICAgICAgY29sb3I6ICRwcm9kdWN0LXRpbGVfc3RvY2stb3V0LW9mLWNvbG9yO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fYWRkdG9jYXJ0IHtcbiAgICAgICAgZ3JpZC1hcmVhOiBhZGR0b2NhcnQ7XG4gICAgICAgIG1hcmdpbjogJHByb2R1Y3QtdGlsZV9hZGR0b2NhcnQtbWFyZ2luO1xuXG4gICAgICAgIC8vIEBpZiAoJHByb2R1Y3QtdGlsZV9hZGR0b2NhcnQtc2hvdy1vbmx5LW9uLWhvdmVyKSB7XG4gICAgICAgIC8vICAgICBAbWVkaWEgKGhvdmVyOiBob3ZlcikgYW5kIChwb2ludGVyOiBmaW5lKSB7XG4gICAgICAgIC8vICAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgLy8gICAgICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5ICR0cmFuc2l0aW9uLWRlZmF1bHQtdGltZTtcblxuICAgICAgICAvLyAgICAgICAgICN7JHJvb3R9OmhvdmVyICYge1xuICAgICAgICAvLyAgICAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICAvLyAgICAgICAgIH1cbiAgICAgICAgLy8gICAgIH1cbiAgICAgICAgLy8gfVxuXG4gICAgICAgIEBpZiAoJHByb2R1Y3QtdGlsZV9hZGR0b2NhcnQtcmVkdWNlZCkge1xuICAgICAgICAgICAgLiN7JG5zfXByb2R1Y3QtdGlsZTpub3QoLiN7JG5zfXByb2R1Y3QtdGlsZS0tbGlzdCkgJiB7XG4gICAgICAgICAgICAgICAgLiN7JG5zfWFkZHRvY2FydCB7XG4gICAgICAgICAgICAgICAgICAgICZfX2J1dHRvbiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBtaW4taGVpZ2h0OiA0cmVtO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAmOjpiZWZvcmUsXG4gICAgICAgICAgICAgICAgICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgdmlzdWFsbHktaGlkZGVuKCk7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAmX19idXR0b24tbGFiZWwsXG4gICAgICAgICAgICAgICAgICAgICZfX3N1Y2Nlc3MtbGFiZWwsXG4gICAgICAgICAgICAgICAgICAgICZfX2ZhaWwtbGFiZWwge1xuICAgICAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgdmlzdWFsbHktaGlkZGVuKCk7XG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAmX19idXR0b24taWNvbixcbiAgICAgICAgICAgICAgICAgICAgJl9fY29uZmlndXJlLWljb24ge1xuICAgICAgICAgICAgICAgICAgICAgICAgcmlnaHQ6IGF1dG87XG4gICAgICAgICAgICAgICAgICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC01MCUsIC01MCUsIDApO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuI3skbnN9cHJvZHVjdC10aWxlOm5vdCguI3skbnN9cHJvZHVjdC10aWxlLS1saXN0KSAmLiN7JG5zfWFkZHRvY2FydC0tbG9hZGluZyB7XG4gICAgICAgICAgICAgICAgLiN7JG5zfWFkZHRvY2FydF9fbG9hZGluZyB7XG4gICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMSkgdHJhbnNsYXRlM2QoLTUwJSwgLTUwJSwgMCk7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgLiN7JG5zfWFkZHRvY2FydF9fYnV0dG9uLWljb24sXG4gICAgICAgICAgICAgICAgLiN7JG5zfWFkZHRvY2FydF9fY29uZmlndXJlLWljb24ge1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2FkZHRvY2FydC1idXR0b24ge1xuICAgICAgICBAaWYgKCRwcm9kdWN0LXRpbGVfYWRkdG9jYXJ0LXJlZHVjZWQpIHtcbiAgICAgICAgICAgIHdpZHRoOiAkcHJvZHVjdC10aWxlX2FkZHRvY2FydC13aWR0aDtcbiAgICAgICAgfVxuXG4gICAgICAgIEBpZiBub3QoJHByb2R1Y3QtdGlsZV9hZGR0b2NhcnQtcmVkdWNlZCkge1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19hZGR0byB7XG4gICAgICAgIGdyaWQtYXJlYTogYWRkdG87XG4gICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICBtYXJnaW46ICRwcm9kdWN0LXRpbGVfYWRkdG8tbWFyZ2luO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogMS41cmVtO1xuICAgICAgICByaWdodDogMS41cmVtO1xuXG4gICAgICAgIC5jcy1saW5rcy1ibG9jay1hZGR0b19fbGluayB7XG4gICAgICAgICAgICBmb250LXNpemU6ICRwcm9kdWRjdC10aWxlX2FkZHRvLWZvbnQtc2l6ZTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5jcy1kYXNoYm9hcmRfX2JvdHRvbS13aXNobGlzdCAmLFxuICAgICAgICAuY3MtZGFzaGJvYXJkX193aXNobGlzdC1wcm9kdWN0cy1ncmlkICYge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuXG4gICAgICAgICY6ZW1wdHkge1xuICAgICAgICAgICAgbWFyZ2luOiAwICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cblxuICAgICAgICAuY3MtbGlua3MtYmxvY2stYWRkdG9fX2xpbmstbGFiZWwge1xuICAgICAgICAgICAgQGluY2x1ZGUgdmlzdWFsbHktaGlkZGVuKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19iYWRnZXMge1xuICAgICAgICBAaW5jbHVkZSByZXNldC1saXN0LXN0eWxlKCk7XG5cbiAgICAgICAgZ3JpZC1hcmVhOiBiYWRnZXM7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB6LWluZGV4OiAkcHJvZHVjdC10aWxlX2JhZGdlcy16LWluZGV4O1xuICAgICAgICAjeyRwcm9kdWN0LXRpbGVfYmFkZ2VzLXktYXNpcy1wb3NpdGlvbi1wcm9wfTogJHByb2R1Y3QtdGlsZV9iYWRnZXMteS1hc2lzLXBvc2l0aW9uLXZhbHVlO1xuICAgICAgICAjeyRwcm9kdWN0LXRpbGVfYmFkZ2VzLXgtYXNpcy1wb3NpdGlvbi1wcm9wfTogJHByb2R1Y3QtdGlsZV9iYWRnZXMteC1hc2lzLXBvc2l0aW9uLXZhbHVlO1xuXG4gICAgICAgIEBpZiAoJHByb2R1Y3QtdGlsZV9iYWRnZXMtZGlyZWN0aW9uID09J3ZlcnRpY2FsJykge1xuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2JhZGdlIHtcbiAgICAgICAgQGluY2x1ZGUgYmFkZ2UoKTtcblxuICAgICAgICBncmlkLWFyZWE6IGJhZGdlO1xuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PXBob25lJywgJzxwaG9uZUxnJykge1xuICAgICAgICAgICAgZm9udC1zaXplOiAwLjlyZW07XG4gICAgICAgIH1cblxuICAgICAgICAmLS1kaXNjb3VudCB7XG4gICAgICAgICAgICBAaW5jbHVkZSBiYWRnZV90eXBlKCdkaXNjb3VudCcpO1xuXG4gICAgICAgICAgICAjeyRyb290fV9fYmFkZ2UtdGV4dCB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYmFkZ2Vfc3BhbignZGlzY291bnQnKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICYtLW5ldyB7XG4gICAgICAgICAgICBAaW5jbHVkZSBiYWRnZV90eXBlKCduZXcnKTtcblxuICAgICAgICAgICAgI3skcm9vdH1fX2JhZGdlLXRleHQge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJhZGdlX3NwYW4oJ25ldycpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJi0tZnJlZS1zaGlwcGluZyB7XG4gICAgICAgICAgICBAaW5jbHVkZSBiYWRnZV90eXBlKCdmcmVlLXNoaXBwaW5nJyk7XG5cbiAgICAgICAgICAgICN7JHJvb3R9X19iYWRnZS10ZXh0IHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBiYWRnZV9zcGFuKCdmcmVlLXNoaXBwaW5nJyk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmLS1wb3B1bGFyIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJhZGdlX3R5cGUoJ3BvcHVsYXInKTtcblxuICAgICAgICAgICAgI3skcm9vdH1fX2JhZGdlLXRleHQge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJhZGdlX3NwYW4oJ3BvcHVsYXInKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLyoqXG4gICAgICAgICAgICAqIEluaXRpYWxseSBoaWRlIHBvcHVsYXIgYmFkZ2Ugb24gY2F0ZWdvcnkgcHJvZHVjdHMgbGlzdC4gXG4gICAgICAgICAgICAqIFRoZSBsb2dpYyBmb3Igc2hvd2luZyB0aGUgYmFkZ2UgaXMgcGxhY2VkIGluIG1hZ2VzdWl0ZS1wcm9kdWN0LXBvc2l0aXZlLWluZGljYXRvcnMvdmlldy9mcm9udGVuZC93ZWIvanMvdGlsZS1iYWRnZS1zaG93ZXIuanNcbiAgICAgICAgICAgICovXG4gICAgICAgICAgICAucHJvZHVjdC1pdGVtcyAmOm5vdCgudmlzaWJsZSkge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIHZpc3VhbGx5LWhpZGRlbigpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJi0tZGFpbHlkZWFsIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJhZGdlX3R5cGUoJ2RhaWx5ZGVhbCcpO1xuXG4gICAgICAgICAgICAjeyRyb290fV9fYmFkZ2UtdGV4dCB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYmFkZ2Vfc3BhbignZGFpbHlkZWFsJyk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19iYWRnZS1pdGVtIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcblxuICAgICAgICAjeyRyb290fS0tZ3JpZCAmIHtcbiAgICAgICAgICAgIG1hcmdpbjogJHByb2R1Y3QtdGlsZV9iYWRnZXMtaXRlbS1tYXJnaW47XG4gICAgICAgICAgICB3aWR0aDogMTAwJTsgLy8gU2V0IHdpZHRoIGV4cGxpY2l0bHkgdG8gYXZvaWQgRWRnZSBidWdzXG4gICAgICAgIH1cblxuICAgICAgICAmOmVtcHR5IHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19iYWRnZS10ZXh0IHtcbiAgICAgICAgQGluY2x1ZGUgYmFkZ2Vfc3BhbigpO1xuICAgIH1cblxuICAgICZfX2RhaWx5ZGVhbCB7XG4gICAgICAgIGdyaWQtYXJlYTogZGFpbHlkZWFsO1xuICAgICAgICBtYXJnaW46ICRwcm9kdWN0LXRpbGVfZGFpbHlkZWFsLW1hcmdpbjtcbiAgICB9XG5cbiAgICAmX19xdHkge1xuICAgICAgICBncmlkLWFyZWE6IHF0eTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogJHByb2R1ZGN0LXRpbGVfcXR5LXN3aXRjaGVyLXNwYWNlLWJvdHRvbTtcbiAgICAgICAgd2lkdGg6ICRwcm9kdWRjdC10aWxlX3F0eS1zd2l0Y2hlci13aWR0aDtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgfVxuXG4gICAgJl9fZGVzY3JpcHRpb24ge1xuICAgICAgICBncmlkLWFyZWE6IGRlc2NyaXB0aW9uO1xuICAgICAgICBmb250LXNpemU6ICRwcm9kdWN0LXRpbGVfZGVzY3JpcHRpb24tZm9udC1zaXplO1xuICAgICAgICBmb250LXdlaWdodDogJHByb2R1Y3QtdGlsZV9kZXNjcmlwdGlvbi1mb250LXdlaWdodDtcbiAgICAgICAgbGluZS1oZWlnaHQ6ICRwcm9kdWN0LXRpbGVfZGVzY3JpcHRpb24tbGluZS1oZWlnaHQ7XG4gICAgICAgIGNvbG9yOiAkcHJvZHVjdC10aWxlX2Rlc2NyaXB0aW9uLWNvbG9yO1xuICAgICAgICBtYXJnaW46ICRwcm9kdWN0LXRpbGVfZGVzY3JpcHRpb24tbWFyZ2luO1xuICAgIH1cblxuICAgICZfX21haW4tYWZ0ZXIge1xuICAgICAgICBAaWYgKCRwcm9kdWN0LXRpbGVfbWFpbi1hZnRlci1zbGlkZS1vbi1ob3Zlcikge1xuICAgICAgICAgICAgQG1lZGlhIChob3ZlcjogaG92ZXIpIGFuZCAocG9pbnRlcjogZmluZSkge1xuICAgICAgICAgICAgICAgIGhlaWdodDogMDtcbiAgICAgICAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGhlaWdodCAkdHJhbnNpdGlvbi1kZWZhdWx0LXRpbWU7XG5cbiAgICAgICAgICAgICAgICAjeyRyb290fTpob3ZlciAmIHtcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAkcHJvZHVjdC10aWxlX21haW4tYWZ0ZXItaGVpZ2h0O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX3dpc2hsaXN0LXJlbW92ZS1pY29uIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICBiYWNrZ3JvdW5kOiAkcHJvZHVjdC10aWxlX3dpc2hsaXN0LXJlbW92ZS1pY29uLWJhY2tncm91bmQ7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBwYWRkaW5nOiAkcHJvZHVjdC10aWxlX3BhZGRpbmc7XG5cbiAgICAgICAgQG1lZGlhIChwb2ludGVyOiBmaW5lKSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fd2lzaGxpc3QtcmVtb3ZlLWljb24taW1hZ2Uge1xuICAgICAgICB3aWR0aDogJHByb2R1Y3QtdGlsZV93aXNobGlzdC1yZW1vdmUtaWNvbi1zaXplO1xuICAgICAgICBoZWlnaHQ6ICRwcm9kdWN0LXRpbGVfd2lzaGxpc3QtcmVtb3ZlLWljb24tc2l6ZTtcbiAgICAgICAgZmlsbDogJHByb2R1Y3QtdGlsZV93aXNobGlzdC1yZW1vdmUtaWNvbi1maWxsO1xuICAgIH1cblxuICAgICZfX3dpc2hsaXN0LWNvbW1lbnQge1xuICAgICAgICBAaWYgbm90KCRwcm9kdWN0LXRpbGVfd2lzaGxpc3QtY29tbWVudC12aXNpYmxlKSB7XG4gICAgICAgICAgICBAaW5jbHVkZSB2aXN1YWxseS1oaWRkZW4oKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX3dpc2hsaXN0LWFjdGlvbnMge1xuICAgICAgICBncmlkLWFyZWE6IHdpc2hsaXN0LWljb25zO1xuICAgICAgICBtYXJnaW46ICRwcm9kdWN0LXRpbGVfd2lzaGxpc3QtYWN0aW9ucy1tYXJnaW47XG4gICAgICAgIGRpc3BsYXk6ICRwcm9kdWN0LXRpbGVfd2lzaGxpc3QtYWN0aW9ucy1kaXNwbGF5O1xuXG4gICAgICAgIEBpZiAoJHByb2R1Y3QtdGlsZV93aXNobGlzdC1hY3Rpb25zLWRpc3BsYXkgPT1mbGV4KSB7XG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6ICRwcm9kdWN0LXRpbGVfd2lzaGxpc3QtYWN0aW9ucy1qdXN0aWZ5LWNvbnRlbnQ7XG4gICAgICAgIH1cbiAgICB9XG59IiwiLyoqXG4gKiBCcmVha3BvaW50IGNvbXBvbmVudCB1c2VkIGJ5IGluY2x1ZGUtbWVkaWEgdmVuZG9yIGxpYnJhcnkuXG4gKi9cbkB1c2UgJ3Nhc3M6bWFwJztcbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuLyoqKlxuICogUmVtb3ZlIGJyb3dzZXIncyBtYXJnaW5zLCBwYWRkaW5ncyBhbmQgbGlzdCBzdHlsZSBydWxlc1xuICovXG4vKipcbiAqIEJyZWFrcG9pbnQgY29tcG9uZW50IHVzZWQgYnkgaW5jbHVkZS1tZWRpYSB2ZW5kb3IgbGlicmFyeS5cbiAqL1xuQHVzZSAnc2FzczptYXAnO1xuLyoqXG4gKiBFeHRyYWN0cyBuZXN0ZWQga2V5cyBmcm9tIGdpdmVuIG1hcC5cbiAqIEV4YW1wbGU6IGRlZXAtZ2V0KCRzb21lLW1hcCwgc29tZSwgbmVzdGVkLCBrZXlzKTtcbiAqL1xuLyoqXG4qIERlZmF1bHQgcHJvamVjdCBicmVha3BvaW50cyAtIFtlbV1cbiovXG4uY3MtcHJvZHVjdHMtbGlzdCB7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDtcbiAgbGlzdC1zdHlsZTogbm9uZTsgfVxuICAuY3MtcHJvZHVjdHMtbGlzdF9faXRlbSB7XG4gICAgbWFyZ2luOiAwOyB9XG4gIC5jcy1wcm9kdWN0cy1saXN0Om5vdCguY3MtcHJvZHVjdHMtbGlzdC0tY2Fyb3VzZWwpIC5jcy1wcm9kdWN0cy1saXN0X19pdGVtIHtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2YwZjBmMDtcbiAgICBwYWRkaW5nOiAwOyB9XG4gICAgLmNzLXByb2R1Y3RzLWxpc3Q6bm90KC5jcy1wcm9kdWN0cy1saXN0LS1jYXJvdXNlbCkgLmNzLXByb2R1Y3RzLWxpc3RfX2l0ZW06bGFzdC1jaGlsZCB7XG4gICAgICBib3JkZXItYm90dG9tOiAwOyB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgLmNzLXByb2R1Y3RzLWxpc3QtLWNhcm91c2VsIC5jcy1wcm9kdWN0cy1saXN0X19pdGVtIHtcbiAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZjBmMGYwO1xuICAgICAgcGFkZGluZzogMDsgfVxuICAgICAgLmNzLXByb2R1Y3RzLWxpc3QtLWNhcm91c2VsIC5jcy1wcm9kdWN0cy1saXN0X19pdGVtOmxhc3QtY2hpbGQge1xuICAgICAgICBib3JkZXItYm90dG9tOiAwOyB9IH1cbiIsIkBpbXBvcnQgJ2NvbmZpZy92YXJpYWJsZXMnO1xuQGltcG9ydCAndXRpbHMvcmVzZXQtbGlzdC1zdHlsZSc7XG5AaW1wb3J0ICd2ZW5kb3JzL2luY2x1ZGUtbWVkaWEnO1xuXG4kcHJvZHVjdF9saXN0LWl0ZW0tYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRjb2xvcl9ib3JkZXItMjAwICFkZWZhdWx0O1xuJHByb2R1Y3RfbGlzdC1pdGVtLXBhZGRpbmc6IDAgIWRlZmF1bHQ7XG4kcHJvZHVjdF9saXN0LWNhcm91c2VsLWJyZWFrcG9pbnQ6ICc+PXRhYmxldCcgIWRlZmF1bHQ7XG5cbi4jeyRuc31wcm9kdWN0cy1saXN0IHtcbiAgICAkcm9vdDogJjtcblxuICAgIEBpbmNsdWRlIHJlc2V0LWxpc3Qtc3R5bGUoKTtcblxuICAgICZfX2l0ZW0ge1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgfVxuXG4gICAgJjpub3QoI3skcm9vdH0tLWNhcm91c2VsKSB7XG4gICAgICAgICN7JHJvb3R9X19pdGVtIHtcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b206ICRwcm9kdWN0X2xpc3QtaXRlbS1ib3JkZXItYm90dG9tO1xuICAgICAgICAgICAgcGFkZGluZzogJHByb2R1Y3RfbGlzdC1pdGVtLXBhZGRpbmc7XG5cbiAgICAgICAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgICYtLWNhcm91c2VsIHtcbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJHByb2R1Y3RfbGlzdC1jYXJvdXNlbC1icmVha3BvaW50KSB7XG4gICAgICAgICAgICAjeyRyb290fV9faXRlbSB7XG4gICAgICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogJHByb2R1Y3RfbGlzdC1pdGVtLWJvcmRlci1ib3R0b207XG4gICAgICAgICAgICAgICAgcGFkZGluZzogJHByb2R1Y3RfbGlzdC1pdGVtLXBhZGRpbmc7XG5cbiAgICAgICAgICAgICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICAgICAgICAgICAgICBib3JkZXItYm90dG9tOiAwO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG5AdXNlICdzYXNzOm1hcCc7XG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG4vKipcbiogRGVmYXVsdCBwcm9qZWN0IGJyZWFrcG9pbnRzIC0gW2VtXVxuKi9cbi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG5AdXNlICdzYXNzOm1hcCc7XG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG4vKipcbiogRGVmYXVsdCBwcm9qZWN0IGJyZWFrcG9pbnRzIC0gW2VtXVxuKi9cbi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG5AdXNlICdzYXNzOm1hcCc7XG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG4vKipcbiogRGVmYXVsdCBwcm9qZWN0IGJyZWFrcG9pbnRzIC0gW2VtXVxuKi9cbi8qXG4gKiBGdW5jdGlvbiB0byBnZXQgdmFsdWUgZnJvbSBhIGxpc3Qgb2YgdmFsdWVzLCBiYXNlZCBvbiBzaWRlXG4gKiBAcGFyYW0ge3N0cmluZ30gJHZhcmlhYmxlOiB2YXJpYWJsZSB3aXRoIGEgbGlzdCBvZiB2YWx1ZXMgKGxpa2UgcGFkZGluZ3MsIG1hcmdpbnMgZXRjLik7XG4gKiBAcGFyYW0ge3N0cmluZ30gJHNpZGU6IHNpZGUgKHVwIC8gcmlnaHQgLyBkb3duIC8gbGVmdCkgZm9yIHdoaWNoIHdlIHdhbnQgdG8gZ2V0IHZhbHVlXG4gKiBFeGFtcGxlOlxuICogJGNvbXBvbmVudF9wYWRkaW5nOiAxcmVtIDJyZW0gM3JlbTtcbiAqIGdldC12YWx1ZS1mcm9tLWxpc3QoJGNvbXBvbmVudF9wYWRkaW5nLCAncmlnaHQnKSAvLyAycmVtXG4gKiBnZXQtdmFsdWUtZnJvbS1saXN0KCRjb21wb25lbnRfcGFkZGluZywgJ2JvdHRvbScpIC8vIDNyZW1cbiAqL1xuLyogc3R5bGVsaW50LWRpc2FibGUgYmxvY2stbm8tZW1wdHkgKi9cbi8qIHN0eWxlbGludC1lbmFibGUgKi9cbi8qIHN0eWxlbGludC1kaXNhYmxlIGJsb2NrLW5vLWVtcHR5ICovXG4vKiBzdHlsZWxpbnQtZW5hYmxlICovXG4vKiBSYWRpbyBhbmQgY2hlY2tib3ggc3R5bGluZyAqL1xuLyoqKlxuICogSGlkZSBvbmx5IHZpc3VhbGx5LCBidXQgaGF2ZSBpdCBhdmFpbGFibGUgZm9yIHNjcmVlbiByZWFkZXJzOlxuICogaHR0cHM6Ly9zbm9vay5jYS9hcmNoaXZlcy9odG1sX2FuZF9jc3MvaGlkaW5nLWNvbnRlbnQtZm9yLWFjY2Vzc2liaWxpdHlcbiAqXG4gKiAxLiBGb3IgbG9uZyBjb250ZW50LCBsaW5lIGZlZWRzIGFyZSBub3QgaW50ZXJwcmV0ZWQgYXMgc3BhY2VzIGFuZCBzbWFsbCB3aWR0aFxuICogICAgY2F1c2VzIGNvbnRlbnQgdG8gd3JhcCAxIHdvcmQgcGVyIGxpbmU6XG4gKiAgICBodHRwczovL21lZGl1bS5jb20vQGplc3NlYmVhY2gvYmV3YXJlLXNtdXNoZWQtb2ZmLXNjcmVlbi1hY2Nlc3NpYmxlLXRleHQtNTk1MmE0YzJjYmZlXG4gKlxuICogQHNlZSBodHRwczovL2dpdGh1Yi5jb20vaDVicC9odG1sNS1ib2lsZXJwbGF0ZS9ibG9iL21hc3Rlci9zcmMvY3NzL21haW4uY3NzI0wxMzBcbiAqL1xuLmNzLXF0eS1pbmNyZW1lbnQge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogd3JhcDsgfVxuICAuY3MtcXR5LWluY3JlbWVudC0td2lzaGxpc3Qge1xuICAgIGJvcmRlcjogMDtcbiAgICBjbGlwOiByZWN0KDAgMCAwIDApO1xuICAgIGhlaWdodDogMXB4O1xuICAgIG1hcmdpbjogLTFweDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHdpZHRoOiAxcHg7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICAvKiAxICovIH1cbiAgLmNzLXF0eS1pbmNyZW1lbnRfX2xhYmVsIHtcbiAgICBib3JkZXI6IDA7XG4gICAgY2xpcDogcmVjdCgwIDAgMCAwKTtcbiAgICBoZWlnaHQ6IDFweDtcbiAgICBtYXJnaW46IC0xcHg7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBwYWRkaW5nOiAwO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB3aWR0aDogMXB4O1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgLyogMSAqLyB9XG4gIC5jcy1xdHktaW5jcmVtZW50X19pbnB1dCB7XG4gICAgZm9udC1zaXplOiAxZW07XG4gICAgbGluZS1oZWlnaHQ6IDEuMjc1ZW07XG4gICAgcGFkZGluZzogMC43NWVtIDFlbTtcbiAgICBjb2xvcjogIzQ1NWE2NDtcbiAgICBiYWNrZ3JvdW5kOiAjZmZmO1xuICAgIGJvcmRlci1yYWRpdXM6IDIwMHB4O1xuICAgIGJvcmRlcjogMnB4IHNvbGlkICNkY2RjZGM7XG4gICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICB0cmFuc2l0aW9uOiBib3JkZXItY29sb3IgMC41cztcbiAgICBtYXJnaW46IDAgMCAwLjJlbTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBiYWNrZ3JvdW5kLWNsaXA6IHBhZGRpbmctYm94O1xuICAgIGZvbnQtZmFtaWx5OiBpbmhlcml0O1xuICAgIGJvcmRlci13aWR0aDogMXB4O1xuICAgIGZvbnQtc2l6ZTogaW5oZXJpdDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmctbGVmdDogMC41ZW07XG4gICAgcGFkZGluZy1yaWdodDogMC41ZW07XG4gICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICB3aWR0aDogMDtcbiAgICBtaW4td2lkdGg6IDJjaDtcbiAgICBmbGV4OiAxO1xuICAgIG9yZGVyOiAyOyB9XG4gICAgLmNzLXF0eS1pbmNyZW1lbnRfX2lucHV0OmhvdmVyOm5vdChbZGlzYWJsZWRdKSwgLmNzLXF0eS1pbmNyZW1lbnRfX2lucHV0OmZvY3VzOm5vdChbZGlzYWJsZWRdKSB7XG4gICAgICBib3JkZXI6IDJweCBzb2xpZCAjN2U1N2MyO1xuICAgICAgYm94LXNoYWRvdzogbm9uZTsgfVxuICAgIC5jcy1xdHktaW5jcmVtZW50X19pbnB1dDo6cGxhY2Vob2xkZXIge1xuICAgICAgb3BhY2l0eTogMTtcbiAgICAgIGNvbG9yOiAjODg4OyB9XG4gICAgLmNzLXF0eS1pbmNyZW1lbnRfX2lucHV0W2Rpc2FibGVkXSB7XG4gICAgICBvcGFjaXR5OiAwLjY1OyB9XG4gICAgLmNzLXF0eS1pbmNyZW1lbnRfX2lucHV0LCAuY3MtcXR5LWluY3JlbWVudF9faW5wdXQ6aG92ZXI6bm90KFtkaXNhYmxlZF0pLCAuY3MtcXR5LWluY3JlbWVudF9faW5wdXQ6Zm9jdXM6bm90KFtkaXNhYmxlZF0pIHtcbiAgICAgIGJvcmRlci1sZWZ0LXdpZHRoOiAwO1xuICAgICAgYm9yZGVyLXJpZ2h0LXdpZHRoOiAwO1xuICAgICAgYm9yZGVyLWNvbG9yOiAjZGNkY2RjOyB9XG4gICAgLmNzLXF0eS1pbmNyZW1lbnRfX2lucHV0Lm1hZ2UtZXJyb3Ige1xuICAgICAgYm9yZGVyLWNvbG9yOiAjZTQxZjEyICFpbXBvcnRhbnQ7IH1cbiAgICAgIC5jcy1xdHktaW5jcmVtZW50X19pbnB1dC5tYWdlLWVycm9yIH4gLmNzLXF0eS1pbmNyZW1lbnRfX2J1dHRvbiB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogI2U0MWYxMiAhaW1wb3J0YW50OyB9XG4gICAgLmNzLXF0eS1pbmNyZW1lbnRfX2lucHV0ICsgLm1hZ2UtZXJyb3Ige1xuICAgICAgb3JkZXI6IDM7XG4gICAgICB3aWR0aDogMTAwJTsgfVxuICAuY3MtcXR5LWluY3JlbWVudF9fYnV0dG9uIHtcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuNXMsIGJvcmRlci1jb2xvciAwLjVzLCBmaWxsIDAuNXM7XG4gICAgbWF4LXdpZHRoOiAzcmVtO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIGZsZXg6IDEgMSAycmVtO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBwYWRkaW5nLWxlZnQ6IDAuNWVtO1xuICAgIHBhZGRpbmctcmlnaHQ6IDAuNWVtO1xuICAgIGJvcmRlci1yYWRpdXM6IDIwMHB4OyB9XG4gICAgLmNzLXF0eS1pbmNyZW1lbnRfX2J1dHRvbiwgLmNzLXF0eS1pbmNyZW1lbnRfX2J1dHRvbjp2aXNpdGVkLCAuY3MtcXR5LWluY3JlbWVudF9fYnV0dG9uOmZvY3VzIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgI2RjZGNkYzsgfVxuICAgICAgLmNzLXF0eS1pbmNyZW1lbnRfX2J1dHRvbiAqLCAuY3MtcXR5LWluY3JlbWVudF9fYnV0dG9uOnZpc2l0ZWQgKiwgLmNzLXF0eS1pbmNyZW1lbnRfX2J1dHRvbjpmb2N1cyAqIHtcbiAgICAgICAgZmlsbDogIzdlNTdjMjsgfVxuICAgIC5jcy1xdHktaW5jcmVtZW50X19idXR0b246aG92ZXIsIC5jcy1xdHktaW5jcmVtZW50X19idXR0b246YWN0aXZlIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICM3ZTU3YzI7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAjN2U1N2MyO1xuICAgICAgY3Vyc29yOiBwb2ludGVyOyB9XG4gICAgICAuY3MtcXR5LWluY3JlbWVudF9fYnV0dG9uOmhvdmVyICosIC5jcy1xdHktaW5jcmVtZW50X19idXR0b246YWN0aXZlICoge1xuICAgICAgICBmaWxsOiAjZmZmOyB9XG4gICAgLmNzLXF0eS1pbmNyZW1lbnRfX2J1dHRvbi0tZGVjcmVtZW50IHtcbiAgICAgIG9yZGVyOiAxO1xuICAgICAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDA7XG4gICAgICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogMDtcbiAgICAgIGJvcmRlci1yaWdodDogMDsgfVxuICAgIC5jcy1xdHktaW5jcmVtZW50X19idXR0b24tLWluY3JlbWVudCB7XG4gICAgICBvcmRlcjogMjtcbiAgICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDA7XG4gICAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAwO1xuICAgICAgYm9yZGVyLWxlZnQ6IDA7IH1cbiAgICAuY3MtcXR5LWluY3JlbWVudF9fYnV0dG9uLS1kaXNhYmxlZCB7XG4gICAgICBvcGFjaXR5OiAxOyB9XG4gICAgICAuY3MtcXR5LWluY3JlbWVudF9fYnV0dG9uLS1kaXNhYmxlZCwgLmNzLXF0eS1pbmNyZW1lbnRfX2J1dHRvbi0tZGlzYWJsZWQ6aG92ZXIsIC5jcy1xdHktaW5jcmVtZW50X19idXR0b24tLWRpc2FibGVkOnZpc2l0ZWQsIC5jcy1xdHktaW5jcmVtZW50X19idXR0b24tLWRpc2FibGVkOmZvY3VzIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNkY2RjZGM7XG4gICAgICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7IH1cbiAgICAgICAgLmNzLXF0eS1pbmNyZW1lbnRfX2J1dHRvbi0tZGlzYWJsZWQgKiwgLmNzLXF0eS1pbmNyZW1lbnRfX2J1dHRvbi0tZGlzYWJsZWQ6aG92ZXIgKiwgLmNzLXF0eS1pbmNyZW1lbnRfX2J1dHRvbi0tZGlzYWJsZWQ6dmlzaXRlZCAqLCAuY3MtcXR5LWluY3JlbWVudF9fYnV0dG9uLS1kaXNhYmxlZDpmb2N1cyAqIHtcbiAgICAgICAgICBmaWxsOiAjZGNkY2RjOyB9XG4gIC5jcy1xdHktaW5jcmVtZW50X19pY29uIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiA1MCU7XG4gICAgbGVmdDogNTAlO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpOyB9XG4gICAgLmNzLXF0eS1pbmNyZW1lbnRfX2ljb24tLWRlY3JlbWVudCB7XG4gICAgICB3aWR0aDogMS4ycmVtO1xuICAgICAgaGVpZ2h0OiAwLjNyZW07IH1cbiAgICAuY3MtcXR5LWluY3JlbWVudF9faWNvbi0taW5jcmVtZW50IHtcbiAgICAgIHdpZHRoOiAxLjJyZW07XG4gICAgICBoZWlnaHQ6IDEuMnJlbTsgfVxuIiwiQGltcG9ydCAnY29uZmlnL3ZhcmlhYmxlcyc7XG5AaW1wb3J0ICd2ZW5kb3JzL2luY2x1ZGUtbWVkaWEnO1xuQGltcG9ydCAnY29tcG9uZW50cy9maWVsZC9taXhpbic7XG5AaW1wb3J0ICd1dGlscy92aXN1YWxseS1oaWRkZW4nO1xuXG4kcXR5LWluY3JlbWVudC0taW4td2lzaGxpc3RfaGlkZTogdHJ1ZSAhZGVmYXVsdDtcblxuJHF0eS1pbmNyZW1lbnRfaW5wdXQtZm9udC1zaXplOiBpbmhlcml0ICFkZWZhdWx0O1xuJHF0eS1pbmNyZW1lbnRfaW5wdXQtdGV4dC1hbGlnbjogY2VudGVyICFkZWZhdWx0O1xuJHF0eS1pbmNyZW1lbnRfaW5wdXQtLWVycm9yLWJvcmRlci1jb2xvcjogJGNvbG9yX2Vycm9yLTUwMCAhZGVmYXVsdDtcbiRxdHktaW5jcmVtZW50X2lucHV0LS1ob3Zlci1ib3JkZXI6ICRjb2xvcl9ib3JkZXItNTAwICFkZWZhdWx0O1xuXG4kcXR5LWluY3JlbWVudF9idXR0b24tcG9zaXRpb24tb2Zmc2V0OiAxcHggIWRlZmF1bHQ7XG4kcXR5LWluY3JlbWVudF9idXR0b24td2lkdGg6IDNyZW0gIWRlZmF1bHQ7XG4kcXR5LWluY3JlbWVudF9idXR0b24tYm9yZGVyLXJhZGl1czogMjAwcHggIWRlZmF1bHQ7XG4kcXR5LWluY3JlbWVudF9idXR0b24tYmFja2dyb3VuZDogdHJhbnNwYXJlbnQgIWRlZmF1bHQ7XG4kcXR5LWluY3JlbWVudF9idXR0b24tLWhvdmVyLWJhY2tncm91bmQ6ICRjb2xvcl9wcmltYXJ5LTUwMCAhZGVmYXVsdDtcbiRxdHktaW5jcmVtZW50X2J1dHRvbi1ib3JkZXI6IDFweCBzb2xpZCAkY29sb3JfYm9yZGVyLTUwMCAhZGVmYXVsdDtcbiRxdHktaW5jcmVtZW50X2J1dHRvbi0taG92ZXItYm9yZGVyOiAxcHggc29saWQgJGNvbG9yX3ByaW1hcnktNTAwICFkZWZhdWx0O1xuJHF0eS1pbmNyZW1lbnRfYnV0dG9uLWFuaW1hdGlvbi10aW1lOiAwLjVzICFkZWZhdWx0O1xuJHF0eS1pbmNyZW1lbnRfYnV0dG9uLS1kaXNhYmxlZC1iYWNrZ3JvdW5kOiAkcXR5LWluY3JlbWVudF9idXR0b24tYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRxdHktaW5jcmVtZW50X2J1dHRvbi0tZGlzYWJsZWQtYm9yZGVyOiAkcXR5LWluY3JlbWVudF9idXR0b24tYm9yZGVyICFkZWZhdWx0O1xuJHF0eS1pbmNyZW1lbnRfYnV0dG9uLS1kaXNhYmxlZC1vcGFjaXR5OiAxICFkZWZhdWx0O1xuXG4kcXR5LWluY3JlbWVudF9pY29uLWZpbGw6ICRjb2xvcl9wcmltYXJ5LTUwMCAhZGVmYXVsdDtcbiRxdHktaW5jcmVtZW50X2ljb24tLWhvdmVyLWZpbGw6ICRjb2xvcl90ZXh0LTIwMCAhZGVmYXVsdDtcbiRxdHktaW5jcmVtZW50X2ljb24tLWRpc2FibGVkLWZpbGw6ICRjb2xvcl9iYWNrZ3JvdW5kLTYwMCAhZGVmYXVsdDtcbiRxdHktaW5jcmVtZW50X2ljb24tLWRlY3JlbWVudC13aWR0aDogMS4ycmVtICFkZWZhdWx0O1xuJHF0eS1pbmNyZW1lbnRfaWNvbi0tZGVjcmVtZW50LWhlaWdodDogMC4zcmVtICFkZWZhdWx0O1xuJHF0eS1pbmNyZW1lbnRfaWNvbi0taW5jcmVtZW50LXdpZHRoOiAkcXR5LWluY3JlbWVudF9pY29uLS1kZWNyZW1lbnQtd2lkdGggIWRlZmF1bHQ7XG4kcXR5LWluY3JlbWVudF9pY29uLS1pbmNyZW1lbnQtaGVpZ2h0OiAkcXR5LWluY3JlbWVudF9pY29uLS1pbmNyZW1lbnQtd2lkdGggIWRlZmF1bHQ7XG5cbi4jeyRuc31xdHktaW5jcmVtZW50IHtcbiAgICAkcm9vdDogJjtcblxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtd3JhcDogd3JhcDtcblxuICAgIEBpZiAkcXR5LWluY3JlbWVudC0taW4td2lzaGxpc3RfaGlkZSB7XG4gICAgICAgICYtLXdpc2hsaXN0IHtcbiAgICAgICAgICAgIEBpbmNsdWRlIHZpc3VhbGx5LWhpZGRlbigpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fbGFiZWwge1xuICAgICAgICBAaW5jbHVkZSB2aXN1YWxseS1oaWRkZW4oKTtcbiAgICB9XG5cbiAgICAmX19pbnB1dCB7XG4gICAgICAgIEBpbmNsdWRlIGZpZWxkLWlucHV0KCk7XG4gICAgICAgIGJvcmRlci13aWR0aDogMXB4O1xuICAgICAgICBmb250LXNpemU6ICRxdHktaW5jcmVtZW50X2lucHV0LWZvbnQtc2l6ZTtcbiAgICAgICAgdGV4dC1hbGlnbjogJHF0eS1pbmNyZW1lbnRfaW5wdXQtdGV4dC1hbGlnbjtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDAuNWVtO1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwLjVlbTtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICAgICAgd2lkdGg6IDA7XG4gICAgICAgIG1pbi13aWR0aDogMmNoO1xuICAgICAgICBmbGV4OiAxO1xuICAgICAgICBvcmRlcjogMjtcblxuICAgICAgICAmLFxuICAgICAgICAmOmhvdmVyOm5vdChbZGlzYWJsZWRdKSxcbiAgICAgICAgJjpmb2N1czpub3QoW2Rpc2FibGVkXSkge1xuICAgICAgICAgICAgYm9yZGVyLWxlZnQtd2lkdGg6IDA7XG4gICAgICAgICAgICBib3JkZXItcmlnaHQtd2lkdGg6IDA7XG4gICAgICAgICAgICBib3JkZXItY29sb3I6ICRxdHktaW5jcmVtZW50X2lucHV0LS1ob3Zlci1ib3JkZXI7XG4gICAgICAgIH1cblxuICAgICAgICAmLm1hZ2UtZXJyb3Ige1xuICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiAkcXR5LWluY3JlbWVudF9pbnB1dC0tZXJyb3ItYm9yZGVyLWNvbG9yICFpbXBvcnRhbnQ7XG5cbiAgICAgICAgICAgIH4gI3skcm9vdH1fX2J1dHRvbiB7XG4gICAgICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiAkcXR5LWluY3JlbWVudF9pbnB1dC0tZXJyb3ItYm9yZGVyLWNvbG9yICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICArIC5tYWdlLWVycm9yIHtcbiAgICAgICAgICAgIG9yZGVyOiAzO1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19idXR0b24ge1xuICAgICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yICRxdHktaW5jcmVtZW50X2J1dHRvbi1hbmltYXRpb24tdGltZSxcbiAgICAgICAgICAgIGJvcmRlci1jb2xvciAkcXR5LWluY3JlbWVudF9idXR0b24tYW5pbWF0aW9uLXRpbWUsXG4gICAgICAgICAgICBmaWxsICRxdHktaW5jcmVtZW50X2J1dHRvbi1hbmltYXRpb24tdGltZTtcbiAgICAgICAgbWF4LXdpZHRoOiAkcXR5LWluY3JlbWVudF9idXR0b24td2lkdGg7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRxdHktaW5jcmVtZW50X2J1dHRvbi1iYWNrZ3JvdW5kO1xuICAgICAgICBmbGV4OiAxIDEgKCN7JHF0eS1pbmNyZW1lbnRfYnV0dG9uLXdpZHRoIC0gMX0pO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMC41ZW07XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDAuNWVtO1xuICAgICAgICBib3JkZXItcmFkaXVzOiAkcXR5LWluY3JlbWVudF9idXR0b24tYm9yZGVyLXJhZGl1cztcblxuICAgICAgICAmLFxuICAgICAgICAmOnZpc2l0ZWQsXG4gICAgICAgICY6Zm9jdXMge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHF0eS1pbmNyZW1lbnRfYnV0dG9uLWJhY2tncm91bmQ7XG4gICAgICAgICAgICBib3JkZXI6ICRxdHktaW5jcmVtZW50X2J1dHRvbi1ib3JkZXI7XG5cbiAgICAgICAgICAgICoge1xuICAgICAgICAgICAgICAgIGZpbGw6ICRxdHktaW5jcmVtZW50X2ljb24tZmlsbDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICY6aG92ZXIsXG4gICAgICAgICY6YWN0aXZlIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRxdHktaW5jcmVtZW50X2J1dHRvbi0taG92ZXItYmFja2dyb3VuZDtcbiAgICAgICAgICAgIGJvcmRlcjogJHF0eS1pbmNyZW1lbnRfYnV0dG9uLS1ob3Zlci1ib3JkZXI7XG4gICAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG5cbiAgICAgICAgICAgICoge1xuICAgICAgICAgICAgICAgIGZpbGw6ICRxdHktaW5jcmVtZW50X2ljb24tLWhvdmVyLWZpbGw7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmLS1kZWNyZW1lbnQge1xuICAgICAgICAgICAgb3JkZXI6IDE7XG4gICAgICAgICAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogMDtcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAwO1xuICAgICAgICAgICAgYm9yZGVyLXJpZ2h0OiAwO1xuICAgICAgICB9XG5cbiAgICAgICAgJi0taW5jcmVtZW50IHtcbiAgICAgICAgICAgIG9yZGVyOiAyO1xuICAgICAgICAgICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogMDtcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDA7XG4gICAgICAgICAgICBib3JkZXItbGVmdDogMDtcbiAgICAgICAgfVxuXG4gICAgICAgICYtLWRpc2FibGVkIHtcbiAgICAgICAgICAgIG9wYWNpdHk6ICRxdHktaW5jcmVtZW50X2J1dHRvbi0tZGlzYWJsZWQtb3BhY2l0eTtcblxuICAgICAgICAgICAgJixcbiAgICAgICAgICAgICY6aG92ZXIsXG4gICAgICAgICAgICAmOnZpc2l0ZWQsXG4gICAgICAgICAgICAmOmZvY3VzIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcXR5LWluY3JlbWVudF9idXR0b24tLWRpc2FibGVkLWJhY2tncm91bmQ7XG4gICAgICAgICAgICAgICAgYm9yZGVyOiAkcXR5LWluY3JlbWVudF9idXR0b24tLWRpc2FibGVkLWJvcmRlcjtcbiAgICAgICAgICAgICAgICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xuXG4gICAgICAgICAgICAgICAgKiB7XG4gICAgICAgICAgICAgICAgICAgIGZpbGw6ICRxdHktaW5jcmVtZW50X2ljb24tLWRpc2FibGVkLWZpbGw7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9faWNvbiB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG5cbiAgICAgICAgJi0tZGVjcmVtZW50IHtcbiAgICAgICAgICAgIHdpZHRoOiAkcXR5LWluY3JlbWVudF9pY29uLS1kZWNyZW1lbnQtd2lkdGg7XG4gICAgICAgICAgICBoZWlnaHQ6ICRxdHktaW5jcmVtZW50X2ljb24tLWRlY3JlbWVudC1oZWlnaHQ7XG4gICAgICAgIH1cblxuICAgICAgICAmLS1pbmNyZW1lbnQge1xuICAgICAgICAgICAgd2lkdGg6ICRxdHktaW5jcmVtZW50X2ljb24tLWluY3JlbWVudC13aWR0aDtcbiAgICAgICAgICAgIGhlaWdodDogJHF0eS1pbmNyZW1lbnRfaWNvbi0taW5jcmVtZW50LWhlaWdodDtcbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG5AdXNlICdzYXNzOm1hcCc7XG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG4vKipcbiogRGVmYXVsdCBwcm9qZWN0IGJyZWFrcG9pbnRzIC0gW2VtXVxuKi9cbi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG5AdXNlICdzYXNzOm1hcCc7XG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG4vKipcbiogRGVmYXVsdCBwcm9qZWN0IGJyZWFrcG9pbnRzIC0gW2VtXVxuKi9cbi8qKipcbiAqIFJlbW92ZSBicm93c2VyJ3MgbWFyZ2lucywgcGFkZGluZ3MgYW5kIGxpc3Qgc3R5bGUgcnVsZXNcbiAqL1xuLmNzLXNvY2lhbC1tZWRpYS1saXN0IHtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwO1xuICBsaXN0LXN0eWxlOiBub25lO1xuICBkaXNwbGF5OiBmbGV4O1xuICBwYWRkaW5nOiAxLjVyZW0gMCAxLjVyZW07XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBhbGlnbi1pdGVtczogY2VudGVyOyB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgLmNzLXNvY2lhbC1tZWRpYS1saXN0IHtcbiAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDsgfSB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgLmNzLXNvY2lhbC1tZWRpYS1saXN0IHtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAwO1xuICAgICAgcGFkZGluZy10b3A6IDA7IH0gfVxuICAuY3Mtc29jaWFsLW1lZGlhLWxpc3RfX2l0ZW0ge1xuICAgIG1hcmdpbjogMCAwLjRlbTtcbiAgICBwYWRkaW5nOiAwOyB9XG4gIC5jcy1zb2NpYWwtbWVkaWEtbGlzdF9fbGluayB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgaGVpZ2h0OiAzLjVlbTtcbiAgICBtaW4td2lkdGg6IDRlbTtcbiAgICBiYWNrZ3JvdW5kOiAjMjEyMTIxO1xuICAgIGNvbG9yOiBpbmhlcml0O1xuICAgIGJvcmRlci1yYWRpdXM6IDdweDtcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuMTVzIGxpbmVhcjsgfVxuICAgIC5jcy1zb2NpYWwtbWVkaWEtbGlzdF9fbGluazpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kOiAjNGQyYzkxOyB9XG4gIC5jcy1zb2NpYWwtbWVkaWEtbGlzdF9faWNvbiB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTU1JSwgLTU1JSwgMCk7XG4gICAgdG9wOiA1MCU7XG4gICAgbGVmdDogNTUlOyB9XG4gICAgLmNzLXNvY2lhbC1tZWRpYS1saXN0X19pdGVtLS1mYiAuY3Mtc29jaWFsLW1lZGlhLWxpc3RfX2ljb24ge1xuICAgICAgd2lkdGg6IDAuOWVtO1xuICAgICAgaGVpZ2h0OiAxLjhlbTsgfVxuICAgIC5jcy1zb2NpYWwtbWVkaWEtbGlzdF9faXRlbS0tdHcgLmNzLXNvY2lhbC1tZWRpYS1saXN0X19pY29uIHtcbiAgICAgIHdpZHRoOiAyLjVlbTtcbiAgICAgIGhlaWdodDogMmVtOyB9XG4gICAgLmNzLXNvY2lhbC1tZWRpYS1saXN0X19pdGVtLS15dCAuY3Mtc29jaWFsLW1lZGlhLWxpc3RfX2ljb24ge1xuICAgICAgd2lkdGg6IDEuOGVtO1xuICAgICAgaGVpZ2h0OiAyLjFlbTsgfVxuICAgIC5jcy1zb2NpYWwtbWVkaWEtbGlzdF9faXRlbS0tZ3AgLmNzLXNvY2lhbC1tZWRpYS1saXN0X19pY29uIHtcbiAgICAgIHdpZHRoOiAyZW07XG4gICAgICBoZWlnaHQ6IDJlbTtcbiAgICAgIG1hcmdpbi10b3A6IDAuMWVtOyB9XG4iLCJAaW1wb3J0ICdjb25maWcvdmFyaWFibGVzJztcbkBpbXBvcnQgJ3ZlbmRvcnMvaW5jbHVkZS1tZWRpYSc7XG5AaW1wb3J0ICd1dGlscy9yZXNldC1saXN0LXN0eWxlJztcblxuJHNvY2lhbC1tZWRpYS1saXN0X2Rpc3BsYXk6IGZsZXggIWRlZmF1bHQ7XG4kc29jaWFsLW1lZGlhLWxpc3RfZmxleC1qdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlciAhZGVmYXVsdDtcbiRzb2NpYWwtbWVkaWEtbGlzdF9mbGV4LWFsaWduLWl0ZW1zOiBjZW50ZXIgIWRlZmF1bHQ7XG4kc29jaWFsLW1lZGlhLWxpc3RfcGFkZGluZzogJHBhZ2VfZWRnZS1ndXR0ZXIgMCAkcGFnZV9lZGdlLWd1dHRlciAhZGVmYXVsdDtcblxuJHNvY2lhbC1tZWRpYS1saXN0X2xpc3QtaXRlbS1tYXJnaW46IDAgMC40ZW0gIWRlZmF1bHQ7XG4kc29jaWFsLW1lZGlhLWxpc3RfbGlzdC1pdGVtLXBhZGRpbmc6IDAgIWRlZmF1bHQ7XG5cbiRzb2NpYWwtbWVkaWEtbGlzdF9saW5rLWRpc3BsYXk6IGZsZXggIWRlZmF1bHQ7XG4kc29jaWFsLW1lZGlhLWxpc3RfbGluay1oZWlnaHQ6IDMuNWVtICFkZWZhdWx0O1xuJHNvY2lhbC1tZWRpYS1saXN0X2xpbmstbWluLXdpZHRoOiA0ZW0gIWRlZmF1bHQ7XG4kc29jaWFsLW1lZGlhLWxpc3RfbGluay1ib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJhZGl1c19iYXNlICFkZWZhdWx0O1xuJHNvY2lhbC1tZWRpYS1saXN0X2xpbmstdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjE1cyBsaW5lYXIgIWRlZmF1bHQ7XG4kc29jaWFsLW1lZGlhLWxpc3RfbGluay1iYWNrZ3JvdW5kOiAkY29sb3JfbWluZXNoYWZ0ICFkZWZhdWx0O1xuJHNvY2lhbC1tZWRpYS1saXN0X2xpbmstaG92ZXItYmFja2dyb3VuZDogJGNvbG9yX3ByaW1hcnktODAwICFkZWZhdWx0O1xuXG4kc29jaWFsLW1lZGlhLWxpc3RfaWNvbi1wb3NpdGlvbjogYWJzb2x1dGUgIWRlZmF1bHQ7XG4kc29jaWFsLW1lZGlhLWxpc3RfaWNvbi10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC01NSUsIC01NSUsIDApICFkZWZhdWx0O1xuXG5AaWYgJHNvY2lhbC1tZWRpYS1saXN0X2ljb24tcG9zaXRpb24gPT0gYWJzb2x1dGUge1xuICAgICRzb2NpYWwtbWVkaWEtbGlzdF9pY29uLXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTUwJSwgLTUwJSwgMCkgIWRlZmF1bHQ7XG59XG5cbi4jeyRuc31zb2NpYWwtbWVkaWEtbGlzdCB7XG4gICAgJHJvb3Q6ICY7XG5cbiAgICBAaW5jbHVkZSByZXNldC1saXN0LXN0eWxlKCk7XG5cbiAgICBkaXNwbGF5OiAkc29jaWFsLW1lZGlhLWxpc3RfZGlzcGxheTtcbiAgICBwYWRkaW5nOiAkc29jaWFsLW1lZGlhLWxpc3RfcGFkZGluZztcblxuICAgIEBpZiAkc29jaWFsLW1lZGlhLWxpc3RfZGlzcGxheSA9PVxuICAgICAgICBmbGV4IG9yXG4gICAgICAgICRzb2NpYWwtbWVkaWEtbGlzdF9kaXNwbGF5ID09XG4gICAgICAgIGlubGluZS1mbGV4XG4gICAge1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6ICRzb2NpYWwtbWVkaWEtbGlzdF9mbGV4LWp1c3RpZnktY29udGVudDtcbiAgICAgICAgYWxpZ24taXRlbXM6ICRzb2NpYWwtbWVkaWEtbGlzdF9mbGV4LWFsaWduLWl0ZW1zO1xuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PXRhYmxldCcpIHtcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIEBpbmNsdWRlIG1lZGlhKCc+PXRhYmxldCcpIHtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDA7XG4gICAgICAgIHBhZGRpbmctdG9wOiAwO1xuICAgIH1cblxuICAgICZfX2l0ZW0ge1xuICAgICAgICBtYXJnaW46ICRzb2NpYWwtbWVkaWEtbGlzdF9saXN0LWl0ZW0tbWFyZ2luO1xuICAgICAgICBwYWRkaW5nOiAkc29jaWFsLW1lZGlhLWxpc3RfbGlzdC1pdGVtLXBhZGRpbmc7XG4gICAgfVxuXG4gICAgJl9fbGluayB7XG4gICAgICAgIGRpc3BsYXk6ICRzb2NpYWwtbWVkaWEtbGlzdF9saW5rLWRpc3BsYXk7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgaGVpZ2h0OiAkc29jaWFsLW1lZGlhLWxpc3RfbGluay1oZWlnaHQ7XG4gICAgICAgIG1pbi13aWR0aDogJHNvY2lhbC1tZWRpYS1saXN0X2xpbmstbWluLXdpZHRoO1xuICAgICAgICBiYWNrZ3JvdW5kOiAkc29jaWFsLW1lZGlhLWxpc3RfbGluay1iYWNrZ3JvdW5kO1xuICAgICAgICBjb2xvcjogaW5oZXJpdDtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogJHNvY2lhbC1tZWRpYS1saXN0X2xpbmstYm9yZGVyLXJhZGl1cztcbiAgICAgICAgdHJhbnNpdGlvbjogJHNvY2lhbC1tZWRpYS1saXN0X2xpbmstdHJhbnNpdGlvbjtcblxuICAgICAgICBAaWYgJHNvY2lhbC1tZWRpYS1saXN0X2xpbmstaG92ZXItYmFja2dyb3VuZCAhPVxuICAgICAgICAgICAgJHNvY2lhbC1tZWRpYS1saXN0X2xpbmstYmFja2dyb3VuZFxuICAgICAgICB7XG4gICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAkc29jaWFsLW1lZGlhLWxpc3RfbGluay1ob3Zlci1iYWNrZ3JvdW5kO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9faWNvbiB7XG4gICAgICAgIHBvc2l0aW9uOiAkc29jaWFsLW1lZGlhLWxpc3RfaWNvbi1wb3NpdGlvbjtcbiAgICAgICAgdHJhbnNmb3JtOiAkc29jaWFsLW1lZGlhLWxpc3RfaWNvbi10cmFuc2Zvcm07XG5cbiAgICAgICAgQGlmICRzb2NpYWwtbWVkaWEtbGlzdF9pY29uLXBvc2l0aW9uID09IGFic29sdXRlIHtcbiAgICAgICAgICAgIHRvcDogNTAlO1xuICAgICAgICAgICAgbGVmdDogNTUlO1xuICAgICAgICB9XG5cbiAgICAgICAgI3skcm9vdH1fX2l0ZW0tLWZiICYge1xuICAgICAgICAgICAgd2lkdGg6IDAuOWVtO1xuICAgICAgICAgICAgaGVpZ2h0OiAxLjhlbTtcbiAgICAgICAgfVxuXG4gICAgICAgICN7JHJvb3R9X19pdGVtLS10dyAmIHtcbiAgICAgICAgICAgIHdpZHRoOiAyLjVlbTtcbiAgICAgICAgICAgIGhlaWdodDogMmVtO1xuICAgICAgICB9XG5cbiAgICAgICAgI3skcm9vdH1fX2l0ZW0tLXl0ICYge1xuICAgICAgICAgICAgd2lkdGg6IDEuOGVtO1xuICAgICAgICAgICAgaGVpZ2h0OiAyLjFlbTtcbiAgICAgICAgfVxuXG4gICAgICAgICN7JHJvb3R9X19pdGVtLS1ncCAmIHtcbiAgICAgICAgICAgIHdpZHRoOiAyZW07XG4gICAgICAgICAgICBoZWlnaHQ6IDJlbTtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDAuMWVtO1xuICAgICAgICB9XG4gICAgfVxufVxuIiwiLyoqXG4gKiBCcmVha3BvaW50IGNvbXBvbmVudCB1c2VkIGJ5IGluY2x1ZGUtbWVkaWEgdmVuZG9yIGxpYnJhcnkuXG4gKi9cbkB1c2UgJ3Nhc3M6bWFwJztcbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuLyoqXG4gKiBCcmVha3BvaW50IGNvbXBvbmVudCB1c2VkIGJ5IGluY2x1ZGUtbWVkaWEgdmVuZG9yIGxpYnJhcnkuXG4gKi9cbkB1c2UgJ3Nhc3M6bWFwJztcbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuLyoqKlxuICogSGlkZSBvbmx5IHZpc3VhbGx5LCBidXQgaGF2ZSBpdCBhdmFpbGFibGUgZm9yIHNjcmVlbiByZWFkZXJzOlxuICogaHR0cHM6Ly9zbm9vay5jYS9hcmNoaXZlcy9odG1sX2FuZF9jc3MvaGlkaW5nLWNvbnRlbnQtZm9yLWFjY2Vzc2liaWxpdHlcbiAqXG4gKiAxLiBGb3IgbG9uZyBjb250ZW50LCBsaW5lIGZlZWRzIGFyZSBub3QgaW50ZXJwcmV0ZWQgYXMgc3BhY2VzIGFuZCBzbWFsbCB3aWR0aFxuICogICAgY2F1c2VzIGNvbnRlbnQgdG8gd3JhcCAxIHdvcmQgcGVyIGxpbmU6XG4gKiAgICBodHRwczovL21lZGl1bS5jb20vQGplc3NlYmVhY2gvYmV3YXJlLXNtdXNoZWQtb2ZmLXNjcmVlbi1hY2Nlc3NpYmxlLXRleHQtNTk1MmE0YzJjYmZlXG4gKlxuICogQHNlZSBodHRwczovL2dpdGh1Yi5jb20vaDVicC9odG1sNS1ib2lsZXJwbGF0ZS9ibG9iL21hc3Rlci9zcmMvY3NzL21haW4uY3NzI0wxMzBcbiAqL1xuLmNzLXN0YXItcmF0aW5nIHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjsgfVxuICAuY3Mtc3Rhci1yYXRpbmdfX3N0YXJzIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIHdpZHRoOiA3LjJyZW07XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOyB9XG4gICAgLmNzLXN0YXItcmF0aW5nLS1zdW1tYXJ5IC5jcy1zdGFyLXJhdGluZ19fc3RhcnMge1xuICAgICAgd2lkdGg6IDEwcmVtO1xuICAgICAgcGFkZGluZzogMDsgfVxuICAgIC5jcy1zdGFyLXJhdGluZy0tcmV2aWV3IC5jcy1zdGFyLXJhdGluZ19fc3RhcnMge1xuICAgICAgd2lkdGg6IDcuMnJlbTtcbiAgICAgIHBhZGRpbmc6IDA7IH1cbiAgLmNzLXN0YXItcmF0aW5nX19zdGFyIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIHdpZHRoOiAxLjVyZW07XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGZpbGw6ICM4ODg7IH1cbiAgICAuY3Mtc3Rhci1yYXRpbmdfX3N0YXItLWFjdGl2ZSB7XG4gICAgICBmaWxsOiAjZmNiNzM5OyB9XG4gICAgLmNzLXN0YXItcmF0aW5nX19zdGFyLS1oYWxmLWFjdGl2ZSAuc3Rhci1sZWZ0IHtcbiAgICAgIGZpbGw6ICNmY2I3Mzk7IH1cbiAgICAuY3Mtc3Rhci1yYXRpbmdfX3N0YXItLWhhbGYtYWN0aXZlIC5zdGFyLXJpZ3RoIHtcbiAgICAgIGZpbGw6ICM4ODg7IH1cbiAgICAuY3Mtc3Rhci1yYXRpbmctLXN1bW1hcnkgLmNzLXN0YXItcmF0aW5nX19zdGFyIHtcbiAgICAgIHdpZHRoOiAycmVtOyB9XG4gICAgLmNzLXN0YXItcmF0aW5nLS1yZXZpZXcgLmNzLXN0YXItcmF0aW5nX19zdGFyIHtcbiAgICAgIHdpZHRoOiAxLjVyZW07IH1cbiAgICAuY3Mtc3Rhci1yYXRpbmdfX3N0YXIgcGF0aCB7XG4gICAgICBmaWxsLW9wYWNpdHk6IDE7XG4gICAgICBmaWxsOiBpbmhlcml0OyB9XG4gIC5jcy1zdGFyLXJhdGluZyBpbWcge1xuICAgIHdpZHRoOiAxLjVyZW07XG4gICAgaGVpZ2h0OiAxMDAlOyB9XG4gIC5jcy1zdGFyLXJhdGluZ19fZm9ybS1zdGFycyB7XG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgcGFkZGluZzogMDsgfVxuICAuY3Mtc3Rhci1yYXRpbmdfX2Zvcm0tc3RhciB7XG4gICAgb3BhY2l0eTogMTtcbiAgICBmaWxsOiAjODg4O1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgLmNzLXN0YXItcmF0aW5nX19mb3JtLXN0YXItLWFjdGl2ZSB7XG4gICAgICBmaWxsOiAjZmNiNzM5OyB9XG4gICAgLmNzLXN0YXItcmF0aW5nX19mb3JtLXN0YXIgcGF0aCB7XG4gICAgICBmaWxsLW9wYWNpdHk6IDE7XG4gICAgICBmaWxsOiBpbmhlcml0OyB9XG4gICAgLmNzLXN0YXItcmF0aW5nX19mb3JtLXN0YXI6bnRoLWxhc3Qtb2YtdHlwZSgpIHtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDA7IH1cbiAgICAuY3Mtc3Rhci1yYXRpbmdfX2Zvcm0tc3RhcnM6aG92ZXIgLmNzLXN0YXItcmF0aW5nX19mb3JtLXN0YXIge1xuICAgICAgZmlsbDogI2ZjYjczOTsgfVxuICAgIC5jcy1zdGFyLXJhdGluZ19fZm9ybS1zdGFycyBsYWJlbDpob3ZlciB+IGxhYmVsIC5jcy1zdGFyLXJhdGluZ19fZm9ybS1zdGFyIHtcbiAgICAgIGZpbGw6ICM4ODg7IH1cbiAgLmNzLXN0YXItcmF0aW5nX190ZXh0IHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgY29sb3I6ICM2OTY5Njk7XG4gICAgcGFkZGluZy1sZWZ0OiAwLjVlbTtcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgICBwYWRkaW5nLXRvcDogY2FsYygxLjVyZW0gKiAwLjEpOyB9XG4gICAgLmNzLXN0YXItcmF0aW5nX190ZXh0LS1jb3VudDpiZWZvcmUge1xuICAgICAgY29udGVudDogJygnOyB9XG4gICAgLmNzLXN0YXItcmF0aW5nX190ZXh0LS1jb3VudDphZnRlciB7XG4gICAgICBjb250ZW50OiAnKSc7IH1cbiAgICAuY3Mtc3Rhci1yYXRpbmdfX3RleHQtLWVtcHR5IHtcbiAgICAgIHBhZGRpbmctbGVmdDogMDsgfVxuICAuY3Mtc3Rhci1yYXRpbmdfX3RleHQtYW5ub3RhdGlvbiB7XG4gICAgZGlzcGxheTogaW5saW5lO1xuICAgIGxpbmUtaGVpZ2h0OiAxOyB9XG4gICAgLmNzLXByb2R1Y3QtdGlsZSAuY3Mtc3Rhci1yYXRpbmdfX3RleHQtYW5ub3RhdGlvbiB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9XG4gIC5jcy1zdGFyLXJhdGluZ19fbGFiZWwge1xuICAgIGNvbG9yOiAjNDU1YTY0O1xuICAgIGZvbnQtc2l6ZTogMC43NWVtO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBwYWRkaW5nLXRvcDogY2FsYygxLjVyZW0gKiAwLjIpOyB9XG5cbi5yZXZpZXctY29udHJvbC12b3RlIHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuICAucmV2aWV3LWNvbnRyb2wtdm90ZSAucmF0aW5nLTEge1xuICAgIHotaW5kZXg6IDE7IH1cbiAgICAucmV2aWV3LWNvbnRyb2wtdm90ZSAucmF0aW5nLTE6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6IG5vbmU7IH1cbiAgLnJldmlldy1jb250cm9sLXZvdGUgLnJhdGluZy0yIHtcbiAgICB6LWluZGV4OiAyOyB9XG4gICAgLnJldmlldy1jb250cm9sLXZvdGUgLnJhdGluZy0yOmJlZm9yZSB7XG4gICAgICBjb250ZW50OiBub25lOyB9XG4gIC5yZXZpZXctY29udHJvbC12b3RlIC5yYXRpbmctMyB7XG4gICAgei1pbmRleDogMzsgfVxuICAgIC5yZXZpZXctY29udHJvbC12b3RlIC5yYXRpbmctMzpiZWZvcmUge1xuICAgICAgY29udGVudDogbm9uZTsgfVxuICAucmV2aWV3LWNvbnRyb2wtdm90ZSAucmF0aW5nLTQge1xuICAgIHotaW5kZXg6IDQ7IH1cbiAgICAucmV2aWV3LWNvbnRyb2wtdm90ZSAucmF0aW5nLTQ6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6IG5vbmU7IH1cbiAgLnJldmlldy1jb250cm9sLXZvdGUgLnJhdGluZy01IHtcbiAgICB6LWluZGV4OiA1OyB9XG4gICAgLnJldmlldy1jb250cm9sLXZvdGUgLnJhdGluZy01OmJlZm9yZSB7XG4gICAgICBjb250ZW50OiBub25lOyB9XG4gIC5yZXZpZXctY29udHJvbC12b3RlOmJlZm9yZSB7XG4gICAgY29udGVudDogbm9uZTsgfVxuICAucmV2aWV3LWNvbnRyb2wtdm90ZSBsYWJlbCB7XG4gICAgcG9zaXRpb246IHN0YXRpYztcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDNyZW07XG4gICAgcGFkZGluZy1yaWdodDogMXJlbTtcbiAgICBsaW5lLWhlaWdodDogMDsgfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAucmV2aWV3LWNvbnRyb2wtdm90ZSBsYWJlbCB7XG4gICAgICAgIHdpZHRoOiAyLjZyZW07XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDAuNnJlbTsgfSB9XG4gICAgLnJldmlldy1jb250cm9sLXZvdGUgbGFiZWw6bGFzdC1jaGlsZCB7XG4gICAgICB3aWR0aDogMnJlbTtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDA7IH1cbiAgICAucmV2aWV3LWNvbnRyb2wtdm90ZSBsYWJlbCBzcGFuIHtcbiAgICAgIGNsaXA6IGF1dG87XG4gICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICBtYXJnaW46IDA7XG4gICAgICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgICBwb3NpdGlvbjogc3RhdGljO1xuICAgICAgd2lkdGg6IGF1dG87XG4gICAgICB3aGl0ZS1zcGFjZTogbm9ybWFsOyB9XG4iLCJAaW1wb3J0ICdjb25maWcvdmFyaWFibGVzJztcbkBpbXBvcnQgJ3ZlbmRvcnMvaW5jbHVkZS1tZWRpYSc7XG5AaW1wb3J0ICd1dGlscy92aXN1YWxseS1oaWRkZW4nO1xuXG4kc3Rhci1yYXRpbmdfY29sb3ItYWN0aXZlOiAkY29sb3JfcmV2aWV3LWFjdGl2ZSAhZGVmYXVsdDtcbiRzdGFyLXJhdGluZ19jb2xvci1pbmFjdGl2ZTogJGNvbG9yX3Jldmlldy1pbmFjdGl2ZSAhZGVmYXVsdDtcbiRzdGFyLXJhdGluZ19mb3JtLXN0YXItY29sb3ItYWN0aXZlOiAkY29sb3JfcmV2aWV3LWFjdGl2ZSAhZGVmYXVsdDtcbiRzdGFyLXJhdGluZ19mb3JtLXN0YXItY29sb3ItaW5hY3RpdmU6ICRjb2xvcl9yZXZpZXctY29udHJvbC1pbmFjdGl2ZSAhZGVmYXVsdDtcbiRzdGFyLXJhdGluZ190ZXh0LWNvbG9yOiAkY29sb3JfdGV4dC01MDAgIWRlZmF1bHQ7XG4vLyBEZXRlcm1pbmVzIGZsZXgganVzdGlmaWNhdGlvbiBvZiBzdGFyc1xuJHN0YXItcmF0aW5nX2p1c3RpZnk6IHNwYWNlLWJldHdlZW4gIWRlZmF1bHQ7XG4vLyBEZXRlcm1pbmVzIHdpZHRoIG9mIGEgc2luZ2xlIHN0YXJcbiRzdGFyLXJhdGluZ19zdGFyLXdpZHRoLWRlZmF1bHQ6IDEuNXJlbSAhZGVmYXVsdDtcbiRzdGFyLXJhdGluZ19zdGFyLXdpZHRoLXJldmlld3Mtc3VtbWFyeTogMnJlbSAhZGVmYXVsdDtcbiRzdGFyLXJhdGluZ19zdGFyLXdpZHRoLXJldmlldzogMS41cmVtICFkZWZhdWx0O1xuJHN0YXItcmF0aW5nX3N0YXItd2lkdGgtcmV2aWV3LWZvcm06IDJyZW0gIWRlZmF1bHQ7XG4vLyBEZXRlcm1pbmVzIHdpZHRoIG9mIHJldmlldyBzdGFycyBjb250YWluZXJcbiRzdGFyLXJhdGluZ19jb250YWluZXItd2lkdGgtZGVmYXVsdDogNy4ycmVtICFkZWZhdWx0O1xuJHN0YXItcmF0aW5nX2NvbnRhaW5lci13aWR0aC1yZXZpZXdzLXN1bW1hcnk6IDEwcmVtICFkZWZhdWx0O1xuJHN0YXItcmF0aW5nX2NvbnRhaW5lci13aWR0aC1yZXZpZXc6IDcuMnJlbSAhZGVmYXVsdDtcbi8vIFBhZGRpbmcgZm9yIHJldmlldyBmb3JtIHN0YXJzXG4kc3Rhci1yYXRpbmdfc3Rhci1wYWRkaW5nLXJldmlldy1mb3JtOiAwLjZyZW0gIWRlZmF1bHQ7XG4kc3Rhci1yYXRpbmdfc3Rhci1wYWRkaW5nLXJldmlldy1mb3JtLW1vYmlsZTogMXJlbSAhZGVmYXVsdDtcbi8vIERldGVybWluZXMgcGFkZGluZyBydWxlc2V0XG4kc3Rhci1yYXRpbmdfcGFkZGluZy1kZWZhdWx0OiAwICFkZWZhdWx0O1xuJHN0YXItcmF0aW5nX3BhZGRpbmctcmV2aWV3cy1zdW1tYXJ5OiAwICFkZWZhdWx0O1xuJHN0YXItcmF0aW5nX3BhZGRpbmctcmV2aWV3OiAwICFkZWZhdWx0O1xuJHN0YXItcmF0aW5nX3BhZGRpbmctcmV2aWV3LWZvcm06IDAgIWRlZmF1bHQ7XG4vLyBEZXRlcm1pbmVzIHNjb3JlIGFuZCBjb3VudCB0ZXh0ZmllbGQgZGlzcGxheSBydWxlc2V0XG4kc3Rhci1yYXRpbmdfaGlkZS10ZXh0LXBkcDogZmFsc2UgIWRlZmF1bHQ7XG4kc3Rhci1yYXRpbmdfaGlkZS10ZXh0LXRpbGU6IGZhbHNlICFkZWZhdWx0O1xuLy8gRGV0ZXJtaW5lcyBkaXNwbGF5IHJ1bGVzZXQgZm9yIFwicmV2aWV3XCIgYW5ub3RhdGlvblxuJHN0YXItcmF0aW5nX2hpZGUtYW5ub3RhdGlvbi1wZHA6IGZhbHNlICFkZWZhdWx0O1xuJHN0YXItcmF0aW5nX2hpZGUtYW5ub3RhdGlvbi10aWxlOiB0cnVlICFkZWZhdWx0O1xuLy8gRGV0ZXJtaW5lcyByYXRpbmcgbGFiZWwgZGV0YWlsc1xuJHN0YXItcmF0aW5nX2xhYmVsLWNvbG9yOiAkY29sb3JfdGV4dC04MDAgIWRlZmF1bHQ7XG4kc3Rhci1yYXRpbmdfbGFiZWwtZm9udC1zaXplOiAwLjc1ZW0gIWRlZmF1bHQ7XG4kc3Rhci1yYXRpbmdfbGFiZWwtZm9udC13ZWlnaHQ6IDcwMCAhZGVmYXVsdDtcbiRzdGFyLXJhdGluZ19sYWJlbC10ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlICFkZWZhdWx0O1xuXG4uI3skbnN9c3Rhci1yYXRpbmcge1xuICAgICRyb290OiAmO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcblxuICAgICZfX3N0YXJzIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgICAgIHBhZGRpbmc6ICRzdGFyLXJhdGluZ19wYWRkaW5nLWRlZmF1bHQ7XG4gICAgICAgIHdpZHRoOiAkc3Rhci1yYXRpbmdfY29udGFpbmVyLXdpZHRoLWRlZmF1bHQ7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogJHN0YXItcmF0aW5nX2p1c3RpZnk7XG5cbiAgICAgICAgI3skcm9vdH0tLXN1bW1hcnkgJiB7XG4gICAgICAgICAgICB3aWR0aDogJHN0YXItcmF0aW5nX2NvbnRhaW5lci13aWR0aC1yZXZpZXdzLXN1bW1hcnk7XG4gICAgICAgICAgICBwYWRkaW5nOiAkc3Rhci1yYXRpbmdfcGFkZGluZy1yZXZpZXdzLXN1bW1hcnk7XG4gICAgICAgIH1cblxuICAgICAgICAjeyRyb290fS0tcmV2aWV3ICYge1xuICAgICAgICAgICAgd2lkdGg6ICRzdGFyLXJhdGluZ19jb250YWluZXItd2lkdGgtcmV2aWV3O1xuICAgICAgICAgICAgcGFkZGluZzogJHN0YXItcmF0aW5nX3BhZGRpbmctcmV2aWV3O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fc3RhciB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIHdpZHRoOiAkc3Rhci1yYXRpbmdfc3Rhci13aWR0aC1kZWZhdWx0O1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIGZpbGw6ICRzdGFyLXJhdGluZ19jb2xvci1pbmFjdGl2ZTtcblxuICAgICAgICAmLS1hY3RpdmUge1xuICAgICAgICAgICAgZmlsbDogJHN0YXItcmF0aW5nX2NvbG9yLWFjdGl2ZTtcbiAgICAgICAgfVxuXG4gICAgICAgICYtLWhhbGYtYWN0aXZlIHtcbiAgICAgICAgICAgIC5zdGFyLWxlZnQge1xuICAgICAgICAgICAgICAgIGZpbGw6ICRzdGFyLXJhdGluZ19jb2xvci1hY3RpdmU7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5zdGFyLXJpZ3RoIHtcbiAgICAgICAgICAgICAgICBmaWxsOiAkc3Rhci1yYXRpbmdfY29sb3ItaW5hY3RpdmU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAjeyRyb290fS0tc3VtbWFyeSAmIHtcbiAgICAgICAgICAgIHdpZHRoOiAkc3Rhci1yYXRpbmdfc3Rhci13aWR0aC1yZXZpZXdzLXN1bW1hcnk7XG4gICAgICAgIH1cblxuICAgICAgICAjeyRyb290fS0tcmV2aWV3ICYge1xuICAgICAgICAgICAgd2lkdGg6ICRzdGFyLXJhdGluZ19zdGFyLXdpZHRoLXJldmlldztcbiAgICAgICAgfVxuXG4gICAgICAgIHBhdGgge1xuICAgICAgICAgICAgZmlsbC1vcGFjaXR5OiAxO1xuICAgICAgICAgICAgZmlsbDogaW5oZXJpdDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGltZyB7XG4gICAgICAgIHdpZHRoOiAkc3Rhci1yYXRpbmdfc3Rhci13aWR0aC1kZWZhdWx0O1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgfVxuXG4gICAgJl9fZm9ybS1zdGFycyB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgICAgICBwYWRkaW5nOiAkc3Rhci1yYXRpbmdfcGFkZGluZy1yZXZpZXctZm9ybTtcbiAgICB9XG5cbiAgICAmX19mb3JtLXN0YXIge1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICBmaWxsOiAkc3Rhci1yYXRpbmdfZm9ybS1zdGFyLWNvbG9yLWluYWN0aXZlO1xuICAgICAgICB3aWR0aDogMTAwJTtcblxuICAgICAgICAmLS1hY3RpdmUge1xuICAgICAgICAgICAgZmlsbDogJHN0YXItcmF0aW5nX2Zvcm0tc3Rhci1jb2xvci1hY3RpdmU7XG4gICAgICAgIH1cblxuICAgICAgICBwYXRoIHtcbiAgICAgICAgICAgIGZpbGwtb3BhY2l0eTogMTtcbiAgICAgICAgICAgIGZpbGw6IGluaGVyaXQ7XG4gICAgICAgIH1cblxuICAgICAgICAmOm50aC1sYXN0LW9mLXR5cGUoKSB7XG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgICAgICB9XG5cbiAgICAgICAgI3skcm9vdH1fX2Zvcm0tc3RhcnM6aG92ZXIgJiB7XG4gICAgICAgICAgICBmaWxsOiAkc3Rhci1yYXRpbmdfZm9ybS1zdGFyLWNvbG9yLWFjdGl2ZTtcbiAgICAgICAgfVxuXG4gICAgICAgICN7JHJvb3R9X19mb3JtLXN0YXJzIGxhYmVsOmhvdmVyIH4gbGFiZWwgJiB7XG4gICAgICAgICAgICBmaWxsOiAkc3Rhci1yYXRpbmdfZm9ybS1zdGFyLWNvbG9yLWluYWN0aXZlO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fdGV4dCB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgY29sb3I6ICRzdGFyLXJhdGluZ190ZXh0LWNvbG9yO1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDAuNWVtO1xuICAgICAgICBsaW5lLWhlaWdodDogMTtcbiAgICAgICAgcGFkZGluZy10b3A6IGNhbGMoI3skc3Rhci1yYXRpbmdfc3Rhci13aWR0aC1kZWZhdWx0fSAqIDAuMSk7XG5cbiAgICAgICAgJi0tY291bnQge1xuICAgICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgICAgIGNvbnRlbnQ6ICcoJztcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICAgICAgY29udGVudDogJyknO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgQGlmICRzdGFyLXJhdGluZ19oaWRlLXRleHQtcGRwIHtcbiAgICAgICAgICAgIC4jeyRuc31idXlib3ggJiB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIEBpZiAkc3Rhci1yYXRpbmdfaGlkZS10ZXh0LXRpbGUge1xuICAgICAgICAgICAgLiN7JG5zfXByb2R1Y3QtdGlsZSAmIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJi0tZW1wdHkge1xuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fdGV4dC1hbm5vdGF0aW9uIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lO1xuXG4gICAgICAgIEBpZiAkc3Rhci1yYXRpbmdfaGlkZS1hbm5vdGF0aW9uLXBkcCB7XG4gICAgICAgICAgICAuI3skbnN9YnV5Ym94ICYge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBAaWYgJHN0YXItcmF0aW5nX2hpZGUtYW5ub3RhdGlvbi10aWxlIHtcbiAgICAgICAgICAgIC4jeyRuc31wcm9kdWN0LXRpbGUgJiB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBsaW5lLWhlaWdodDogMTtcbiAgICB9XG5cbiAgICAmX19sYWJlbCB7XG4gICAgICAgIGNvbG9yOiAkc3Rhci1yYXRpbmdfbGFiZWwtY29sb3I7XG4gICAgICAgIGZvbnQtc2l6ZTogJHN0YXItcmF0aW5nX2xhYmVsLWZvbnQtc2l6ZTtcbiAgICAgICAgZm9udC13ZWlnaHQ6ICRzdGFyLXJhdGluZ19sYWJlbC1mb250LXdlaWdodDtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06ICRzdGFyLXJhdGluZ19sYWJlbC10ZXh0LXRyYW5zZm9ybTtcbiAgICAgICAgcGFkZGluZy10b3A6IGNhbGMoI3skc3Rhci1yYXRpbmdfc3Rhci13aWR0aC1kZWZhdWx0fSAqIDAuMik7XG4gICAgfVxufVxuXG4ucmV2aWV3LWNvbnRyb2wtdm90ZSB7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggNSB7XG4gICAgICAgIC5yYXRpbmctI3skaX0ge1xuICAgICAgICAgICAgei1pbmRleDogI3skaX07XG5cbiAgICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICBjb250ZW50OiBub25lO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgJjpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiBub25lO1xuICAgIH1cblxuICAgIGxhYmVsIHtcbiAgICAgICAgcG9zaXRpb246IHN0YXRpYztcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgd2lkdGg6ICRzdGFyLXJhdGluZ19zdGFyLXdpZHRoLXJldmlldy1mb3JtICtcbiAgICAgICAgICAgICRzdGFyLXJhdGluZ19zdGFyLXBhZGRpbmctcmV2aWV3LWZvcm0tbW9iaWxlO1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAkc3Rhci1yYXRpbmdfc3Rhci1wYWRkaW5nLXJldmlldy1mb3JtLW1vYmlsZTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDA7XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz49dGFibGV0Jykge1xuICAgICAgICAgICAgd2lkdGg6ICRzdGFyLXJhdGluZ19zdGFyLXdpZHRoLXJldmlldy1mb3JtICtcbiAgICAgICAgICAgICAgICAkc3Rhci1yYXRpbmdfc3Rhci1wYWRkaW5nLXJldmlldy1mb3JtO1xuICAgICAgICAgICAgcGFkZGluZy1yaWdodDogJHN0YXItcmF0aW5nX3N0YXItcGFkZGluZy1yZXZpZXctZm9ybTtcbiAgICAgICAgfVxuXG4gICAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgICB3aWR0aDogJHN0YXItcmF0aW5nX3N0YXItd2lkdGgtcmV2aWV3LWZvcm07XG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgICAgICB9XG5cbiAgICAgICAgc3BhbiB7XG4gICAgICAgICAgICBAaW5jbHVkZSB2aXN1YWxseS12aXNpYmxlKCk7XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCIvKipcbiAqIEJyZWFrcG9pbnQgY29tcG9uZW50IHVzZWQgYnkgaW5jbHVkZS1tZWRpYSB2ZW5kb3IgbGlicmFyeS5cbiAqL1xuQHVzZSAnc2FzczptYXAnO1xuLyoqXG4gKiBFeHRyYWN0cyBuZXN0ZWQga2V5cyBmcm9tIGdpdmVuIG1hcC5cbiAqIEV4YW1wbGU6IGRlZXAtZ2V0KCRzb21lLW1hcCwgc29tZSwgbmVzdGVkLCBrZXlzKTtcbiAqL1xuLyoqXG4qIERlZmF1bHQgcHJvamVjdCBicmVha3BvaW50cyAtIFtlbV1cbiovXG4vKioqXG4gKiBIaWRlIG9ubHkgdmlzdWFsbHksIGJ1dCBoYXZlIGl0IGF2YWlsYWJsZSBmb3Igc2NyZWVuIHJlYWRlcnM6XG4gKiBodHRwczovL3Nub29rLmNhL2FyY2hpdmVzL2h0bWxfYW5kX2Nzcy9oaWRpbmctY29udGVudC1mb3ItYWNjZXNzaWJpbGl0eVxuICpcbiAqIDEuIEZvciBsb25nIGNvbnRlbnQsIGxpbmUgZmVlZHMgYXJlIG5vdCBpbnRlcnByZXRlZCBhcyBzcGFjZXMgYW5kIHNtYWxsIHdpZHRoXG4gKiAgICBjYXVzZXMgY29udGVudCB0byB3cmFwIDEgd29yZCBwZXIgbGluZTpcbiAqICAgIGh0dHBzOi8vbWVkaXVtLmNvbS9AamVzc2ViZWFjaC9iZXdhcmUtc211c2hlZC1vZmYtc2NyZWVuLWFjY2Vzc2libGUtdGV4dC01OTUyYTRjMmNiZmVcbiAqXG4gKiBAc2VlIGh0dHBzOi8vZ2l0aHViLmNvbS9oNWJwL2h0bWw1LWJvaWxlcnBsYXRlL2Jsb2IvbWFzdGVyL3NyYy9jc3MvbWFpbi5jc3MjTDEzMFxuICovXG4vKipcbiAqIEJyZWFrcG9pbnQgY29tcG9uZW50IHVzZWQgYnkgaW5jbHVkZS1tZWRpYSB2ZW5kb3IgbGlicmFyeS5cbiAqL1xuQHVzZSAnc2FzczptYXAnO1xuLyoqXG4gKiBFeHRyYWN0cyBuZXN0ZWQga2V5cyBmcm9tIGdpdmVuIG1hcC5cbiAqIEV4YW1wbGU6IGRlZXAtZ2V0KCRzb21lLW1hcCwgc29tZSwgbmVzdGVkLCBrZXlzKTtcbiAqL1xuLyoqXG4qIERlZmF1bHQgcHJvamVjdCBicmVha3BvaW50cyAtIFtlbV1cbiovXG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG4vKlxuICogRnVuY3Rpb24gdG8gZ2V0IHZhbHVlIGZyb20gYSBsaXN0IG9mIHZhbHVlcywgYmFzZWQgb24gc2lkZVxuICogQHBhcmFtIHtzdHJpbmd9ICR2YXJpYWJsZTogdmFyaWFibGUgd2l0aCBhIGxpc3Qgb2YgdmFsdWVzIChsaWtlIHBhZGRpbmdzLCBtYXJnaW5zIGV0Yy4pO1xuICogQHBhcmFtIHtzdHJpbmd9ICRzaWRlOiBzaWRlICh1cCAvIHJpZ2h0IC8gZG93biAvIGxlZnQpIGZvciB3aGljaCB3ZSB3YW50IHRvIGdldCB2YWx1ZVxuICogRXhhbXBsZTpcbiAqICRjb21wb25lbnRfcGFkZGluZzogMXJlbSAycmVtIDNyZW07XG4gKiBnZXQtdmFsdWUtZnJvbS1saXN0KCRjb21wb25lbnRfcGFkZGluZywgJ3JpZ2h0JykgLy8gMnJlbVxuICogZ2V0LXZhbHVlLWZyb20tbGlzdCgkY29tcG9uZW50X3BhZGRpbmcsICdib3R0b20nKSAvLyAzcmVtXG4gKi9cbi8qIHN0eWxlbGludC1kaXNhYmxlIGJsb2NrLW5vLWVtcHR5ICovXG4vKiBzdHlsZWxpbnQtZW5hYmxlICovXG4vKlxuICogRnVuY3Rpb24gdG8gZ2V0IHZhbHVlIGZyb20gYSBsaXN0IG9mIHZhbHVlcywgYmFzZWQgb24gc2lkZVxuICogQHBhcmFtIHtzdHJpbmd9ICR2YXJpYWJsZTogdmFyaWFibGUgd2l0aCBhIGxpc3Qgb2YgdmFsdWVzIChsaWtlIHBhZGRpbmdzLCBtYXJnaW5zIGV0Yy4pO1xuICogQHBhcmFtIHtzdHJpbmd9ICRzaWRlOiBzaWRlICh1cCAvIHJpZ2h0IC8gZG93biAvIGxlZnQpIGZvciB3aGljaCB3ZSB3YW50IHRvIGdldCB2YWx1ZVxuICogRXhhbXBsZTpcbiAqICRjb21wb25lbnRfcGFkZGluZzogMXJlbSAycmVtIDNyZW07XG4gKiBnZXQtdmFsdWUtZnJvbS1saXN0KCRjb21wb25lbnRfcGFkZGluZywgJ3JpZ2h0JykgLy8gMnJlbVxuICogZ2V0LXZhbHVlLWZyb20tbGlzdCgkY29tcG9uZW50X3BhZGRpbmcsICdib3R0b20nKSAvLyAzcmVtXG4gKi9cbi5zd2F0Y2gtYXR0cmlidXRlIHtcbiAgZGlzcGxheTogZmxleDtcbiAgd2lkdGg6IDEwMCU7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXIgIWltcG9ydGFudDtcbiAgZmxleC13cmFwOiB3cmFwOyB9XG4gIC5zd2F0Y2gtYXR0cmlidXRlLnN3YXRjaC1sYXllcmVkIHtcbiAgICBmb250LXNpemU6IDAuOGVtOyB9XG4gIC5zd2F0Y2gtYXR0cmlidXRlICsgLnN3YXRjaC1hdHRyaWJ1dGUge1xuICAgIG1hcmdpbi10b3A6IDAuOGVtOyB9XG4gIC5zd2F0Y2gtYXR0cmlidXRlOmhhcyguc3dhdGNoLW9wdGlvbi5zZWxlY3RlZCkgLm1hZ2UtZXJyb3Ige1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cblxuLnN3YXRjaC1hdHRyaWJ1dGUtbGFiZWwge1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBsaW5lLWhlaWdodDogY2FsYyggMi44ZW0gLSA2cHggKyAwLjFlbSk7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIGZvbnQtc2l6ZTogMS4xZW07XG4gIHdpZHRoOiAxMHJlbTtcbiAgbWFyZ2luLXJpZ2h0OiAxLjVyZW07IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAuc3dhdGNoLWF0dHJpYnV0ZS1sYWJlbCB7XG4gICAgICB3aWR0aDogMTFyZW07IH0gfVxuICAuc3dhdGNoLWF0dHJpYnV0ZS1sYWJlbDphZnRlciB7XG4gICAgY29udGVudDogJzogJztcbiAgICBsaW5lLWhlaWdodDogY2FsYyggMi44ZW0gLSA2cHggKyAwLjFlbSk7IH1cblxuLnN3YXRjaC1hdHRyaWJ1dGUtc2VsZWN0ZWQtb3B0aW9uIHtcbiAgYm9yZGVyOiAwO1xuICBjbGlwOiByZWN0KDAgMCAwIDApO1xuICBoZWlnaHQ6IDFweDtcbiAgbWFyZ2luOiAtMXB4O1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBwYWRkaW5nOiAwO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHdpZHRoOiAxcHg7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIC8qIDEgKi8gfVxuXG4uc3dhdGNoLWF0dHJpYnV0ZS1vcHRpb25zIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB3cmFwO1xuICBtYXJnaW4tbGVmdDogLTAuMmVtO1xuICBtYXJnaW4tYm90dG9tOiAtMC40ZW07XG4gIG1pbi13aWR0aDogMTAwJTtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IH1cbiAgLnN3YXRjaC1hdHRyaWJ1dGUtb3B0aW9uczpmb2N1cyB7XG4gICAgYm94LXNoYWRvdzogbm9uZTsgfVxuICAuc3dhdGNoLW9wdCAuc3dhdGNoLWF0dHJpYnV0ZS1vcHRpb25zIHtcbiAgICBtaW4td2lkdGg6IDA7XG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICAgIG1heC13aWR0aDogY2FsYyggMTAwJSAtIDEuNXJlbSAtIDEwcmVtKTsgfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAuc3dhdGNoLW9wdCAuc3dhdGNoLWF0dHJpYnV0ZS1vcHRpb25zIHtcbiAgICAgICAgbWF4LXdpZHRoOiBjYWxjKCAxMDAlIC0gMS41cmVtIC0gMTFyZW0pOyB9IH1cblxuLnN3YXRjaC1vcHRpb24tbGluay1sYXllcmVkIHtcbiAgZm9udC1zaXplOiAxZW07IH1cbiAgLnN3YXRjaC1vcHRpb24tbGluay1sYXllcmVkOmhvdmVyIHtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH1cblxuLnN3YXRjaC1vcHRpb24ge1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1pbi13aWR0aDogMy4yZW07XG4gIGhlaWdodDogMi44ZW07XG4gIHBhZGRpbmc6IDAgMC4zNWVtO1xuICBtYXJnaW46IDFweCBjYWxjKCAxcHggKyAwLjJlbSkgY2FsYygxcHggKyAwLjRlbSk7XG4gIGJvcmRlci1yYWRpdXM6IDdweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2YwZjBmMDtcbiAgYm9yZGVyOiAzcHggc29saWQgI2YwZjBmMDtcbiAgY29sb3I6ICM2OTY5Njk7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgbGluZS1oZWlnaHQ6IGNhbGMoIDIuOGVtIC0gNnB4ICsgMC4xZW0pO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4zcywgYm9yZGVyLWNvbG9yIDAuM3MsIG9wYWNpdHkgMC4zcywgY29sb3IgMC4zcztcbiAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDsgfVxuICAuc3dhdGNoLW9wdGlvbjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IC00cHg7XG4gICAgbGVmdDogLTRweDtcbiAgICByaWdodDogLTRweDtcbiAgICBib3R0b206IC00cHg7XG4gICAgYm9yZGVyOiAxcHggc29saWQgI2RjZGNkYztcbiAgICBib3JkZXItcmFkaXVzOiA3cHg7XG4gICAgdHJhbnNpdGlvbjogYm9yZGVyLWNvbG9yIDAuM3M7IH1cbiAgLnN3YXRjaC1vcHRpb246YWZ0ZXIge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDUwJTtcbiAgICBsZWZ0OiA1MCU7XG4gICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgIGJhY2tncm91bmQ6IHVybCguLi9pbWFnZXMvaWNvbnMvc3dhdGNoZXMvZGlzYWJsZWQuc3ZnKSByZ2JhKDIyMCwgMjIwLCAyMjAsIDAuNSkgY2VudGVyIG5vLXJlcGVhdDtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcbiAgICB3aWR0aDogY2FsYygyLjhlbSAtIDEuMmVtKTtcbiAgICBoZWlnaHQ6IGNhbGMoMi44ZW0gLSAxLjJlbSk7XG4gICAgYmFja2dyb3VuZC1zaXplOiAwLjZlbTtcbiAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuM3M7XG4gICAgb3BhY2l0eTogMDsgfVxuICAuc3dhdGNoLW9wdGlvbi5zZWxlY3RlZCwgLnN3YXRjaC1vcHRpb24uYmlzLXNlbGVjdGVkIHtcbiAgICBib3JkZXI6IDNweCBzb2xpZCAjZmZmO1xuICAgIGJhY2tncm91bmQ6ICNmZmY7IH1cbiAgICAuc3dhdGNoLW9wdGlvbi5zZWxlY3RlZDpiZWZvcmUsIC5zd2F0Y2gtb3B0aW9uLmJpcy1zZWxlY3RlZDpiZWZvcmUge1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgIzRkMmM5MTsgfVxuICAuc3dhdGNoLW9wdGlvbi5kaXNhYmxlZDpub3QoLmJhY2staW4tc3RvY2stYWxlcnQpLCAuc3dhdGNoLW9wdGlvbltkaXNhYmxlZF06bm90KC5iYWNrLWluLXN0b2NrLWFsZXJ0KSB7XG4gICAgY3Vyc29yOiBub3QtYWxsb3dlZDsgfVxuICAgIC5zd2F0Y2gtb3B0aW9uLmRpc2FibGVkOm5vdCguYmFjay1pbi1zdG9jay1hbGVydCkudGV4dCwgLnN3YXRjaC1vcHRpb25bZGlzYWJsZWRdOm5vdCguYmFjay1pbi1zdG9jay1hbGVydCkudGV4dCB7XG4gICAgICBvcGFjaXR5OiAwLjY1O1xuICAgICAgY29sb3I6ICM4ODg7XG4gICAgICBiYWNrZ3JvdW5kOiAjZmZmOyB9XG4gICAgICAuc3dhdGNoLW9wdGlvbi5kaXNhYmxlZDpub3QoLmJhY2staW4tc3RvY2stYWxlcnQpLnRleHQ6YmVmb3JlLCAuc3dhdGNoLW9wdGlvbltkaXNhYmxlZF06bm90KC5iYWNrLWluLXN0b2NrLWFsZXJ0KS50ZXh0OmJlZm9yZSB7XG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNkY2RjZGM7IH1cbiAgICAuc3dhdGNoLW9wdGlvbi5kaXNhYmxlZDpub3QoLmJhY2staW4tc3RvY2stYWxlcnQpLmltYWdlOmFmdGVyLCAuc3dhdGNoLW9wdGlvbi5kaXNhYmxlZDpub3QoLmJhY2staW4tc3RvY2stYWxlcnQpLmNvbG9yOmFmdGVyLCAuc3dhdGNoLW9wdGlvbltkaXNhYmxlZF06bm90KC5iYWNrLWluLXN0b2NrLWFsZXJ0KS5pbWFnZTphZnRlciwgLnN3YXRjaC1vcHRpb25bZGlzYWJsZWRdOm5vdCguYmFjay1pbi1zdG9jay1hbGVydCkuY29sb3I6YWZ0ZXIge1xuICAgICAgb3BhY2l0eTogMTsgfVxuICAuc3dhdGNoLW9wdGlvbjpub3QoLmRpc2FibGVkKTpub3QoLnNlbGVjdGVkKTpub3QoW2Rpc2FibGVkXSk6aG92ZXIsIC5zd2F0Y2gtb3B0aW9uLmJhY2staW4tc3RvY2stYWxlcnQ6aG92ZXIge1xuICAgIGJvcmRlcjogM3B4IHNvbGlkICNmZmY7XG4gICAgYmFja2dyb3VuZDogI2ZmZjsgfVxuICAgIC5zd2F0Y2gtb3B0aW9uOm5vdCguZGlzYWJsZWQpOm5vdCguc2VsZWN0ZWQpOm5vdChbZGlzYWJsZWRdKTpob3ZlcjpiZWZvcmUsIC5zd2F0Y2gtb3B0aW9uLmJhY2staW4tc3RvY2stYWxlcnQ6aG92ZXI6YmVmb3JlIHtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICM3ZTU3YzI7IH1cblxuLnN3YXRjaC1pbnB1dCB7XG4gIGJvcmRlcjogMDtcbiAgY2xpcDogcmVjdCgwIDAgMCAwKTtcbiAgaGVpZ2h0OiAxcHg7XG4gIG1hcmdpbjogLTFweDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgcGFkZGluZzogMDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB3aWR0aDogMXB4O1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAvKiAxICovXG4gIGxlZnQ6IC0xMDAwcHg7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdmlzaWJpbGl0eTogaGlkZGVuOyB9XG5cbi5zd2F0Y2gtbW9yZSB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuLnN3YXRjaC1vcHRpb24tdG9vbHRpcCxcbi5zd2F0Y2gtb3B0aW9uLXRvb2x0aXAtbGF5ZXJlZCB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbWFyZ2luOiAwO1xuICB6LWluZGV4OiA5OTk7XG4gIGJhY2tncm91bmQ6ICNmZmY7XG4gIGJvcmRlci1yYWRpdXM6IDAuNXJlbTtcbiAgY29sb3I6ICM4ODg7XG4gIGZvbnQtc2l6ZTogMS4zcmVtO1xuICBmb250LXdlaWdodDogNDAwO1xuICBwYWRkaW5nOiAwLjVyZW07XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgbWluLXdpZHRoOiAycmVtO1xuICBib3JkZXI6IDAuMXJlbSBzb2xpZCAjZGNkY2RjOyB9XG4gIC5zd2F0Y2gtb3B0aW9uLXRvb2x0aXAgLmltYWdlLFxuICAuc3dhdGNoLW9wdGlvbi10b29sdGlwLWxheWVyZWQgLmltYWdlIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBtYXJnaW46IDAgYXV0bztcbiAgICB3aWR0aDogMTEwcHg7XG4gICAgaGVpZ2h0OiAxMTBweDsgfVxuICAuc3dhdGNoLW9wdGlvbi10b29sdGlwIC5jb3JuZXI6YWZ0ZXIsXG4gIC5zd2F0Y2gtb3B0aW9uLXRvb2x0aXAtbGF5ZXJlZCAuY29ybmVyOmFmdGVyIHtcbiAgICBjb250ZW50OiAnJztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAxMDAlO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAxcmVtO1xuICAgIGhlaWdodDogMXJlbTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICAgIGxlZnQ6IDUwJTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSkgcm90YXRlKDQ1ZGVnKTtcbiAgICBib3JkZXItYm90dG9tOiAwLjFyZW0gc29saWQgI2RjZGNkYztcbiAgICBib3JkZXItcmlnaHQ6IDAuMXJlbSBzb2xpZCAjZGNkY2RjO1xuICAgIG1hcmdpbi10b3A6IGNhbGMoIC0wLjVyZW0gKyAwLjFyZW0pOyB9XG5cbi5zd2F0Y2gtb3B0aW9uLXRvb2x0aXAge1xuICBwb2ludGVyLWV2ZW50czogbm9uZTsgfVxuXG4ubWlzc2luZy1zd2F0Y2hlcy1tb2RhbCB7XG4gIG1heC13aWR0aDogNDByZW07XG4gIG1hcmdpbi1sZWZ0OiBhdXRvOyB9XG4gIC5taXNzaW5nLXN3YXRjaGVzLW1vZGFsIC5tYWdlLWVycm9yIHtcbiAgICBwYWRkaW5nLXRvcDogMC44cmVtOyB9XG4gIC5taXNzaW5nLXN3YXRjaGVzLW1vZGFsIC5zd2F0Y2gtYXR0cmlidXRlICsgLnN3YXRjaC1hdHRyaWJ1dGUge1xuICAgIG1hcmdpbi10b3A6IDJyZW07IH1cblxuQG1lZGlhIChob3Zlcjogbm9uZSkge1xuICAubWlzc2luZy1zd2F0Y2hlcy1tb2RhbC12aXNpYmxlIC5zd2F0Y2gtb3B0aW9uLXRvb2x0aXAge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfSB9XG5cbi5zd2F0Y2gtb3B0IHtcbiAgZm9udC1zaXplOiAwLjllbTsgfVxuICAuc3dhdGNoLW9wdCAuc3dhdGNoLW9wdGlvbi5iYWNrLWluLXN0b2NrLWFsZXJ0OmFmdGVyIHtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDIyMCwgMjIwLCAyMjAsIDAuNTUpIHVybCguLi9pbWFnZXMvaWNvbnMvbm90aWZpY2F0aW9uLXBhbmVsL2ljb25fbm90aWZpY2F0aW9uLW91dGxpbmUuc3ZnKSBjZW50ZXIvNjQlIG5vLXJlcGVhdDtcbiAgICBvcGFjaXR5OiAxOyB9XG4gIC5zd2F0Y2gtb3B0IC5zd2F0Y2gtb3B0aW9uLmJhY2staW4tc3RvY2stYWxlcnQudGV4dCB7XG4gICAgcGFkZGluZy1yaWdodDogMmVtOyB9XG4gICAgLnN3YXRjaC1vcHQgLnN3YXRjaC1vcHRpb24uYmFjay1pbi1zdG9jay1hbGVydC50ZXh0OmFmdGVyIHtcbiAgICAgIGxlZnQ6IGF1dG87XG4gICAgICByaWdodDogMC4zNWVtO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7IH1cbiAgLnN3YXRjaC1vcHQgLm1hZ2UtZXJyb3Ige1xuICAgIGZvbnQtc2l6ZTogMWVtO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDEwcmVtICsgMS41cmVtKTsgfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAuc3dhdGNoLW9wdCAubWFnZS1lcnJvciB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiBjYWxjKCAxMXJlbSArIDEuNXJlbSk7IH0gfVxuXG5bY2xhc3NePSdzd2F0Y2gtb3B0LSddIHtcbiAgZm9udC1zaXplOiAwLjQ1ZW07XG4gIG1pbi1oZWlnaHQ6IGNhbGMoIDEgKiAoMi44ZW0gKyA4cHgpKTtcbiAgb3BhY2l0eTogMTtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjNzO1xuICBwb2ludGVyLWV2ZW50czogbm9uZTsgfVxuICBAbWVkaWEgKG1pbi13aWR0aDogNDguMDFlbSkge1xuICAgIFtjbGFzc149J3N3YXRjaC1vcHQtJ10ge1xuICAgICAgcG9pbnRlci1ldmVudHM6IGF1dG87IH0gfVxuICBbY2xhc3NePSdzd2F0Y2gtb3B0LSddIC5zd2F0Y2gtb3B0aW9uLmRpc2FibGVkLmJhY2staW4tc3RvY2stYWxlcnQsIFtjbGFzc149J3N3YXRjaC1vcHQtJ10gLnN3YXRjaC1vcHRpb25bZGlzYWJsZWRdLmJhY2staW4tc3RvY2stYWxlcnQge1xuICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7IH1cbiAgICBbY2xhc3NePSdzd2F0Y2gtb3B0LSddIC5zd2F0Y2gtb3B0aW9uLmRpc2FibGVkLmJhY2staW4tc3RvY2stYWxlcnQudGV4dCwgW2NsYXNzXj0nc3dhdGNoLW9wdC0nXSAuc3dhdGNoLW9wdGlvbltkaXNhYmxlZF0uYmFjay1pbi1zdG9jay1hbGVydC50ZXh0IHtcbiAgICAgIG9wYWNpdHk6IDAuNjU7XG4gICAgICBjb2xvcjogIzg4ODtcbiAgICAgIGJhY2tncm91bmQ6ICNmZmY7IH1cbiAgICAgIFtjbGFzc149J3N3YXRjaC1vcHQtJ10gLnN3YXRjaC1vcHRpb24uZGlzYWJsZWQuYmFjay1pbi1zdG9jay1hbGVydC50ZXh0OmJlZm9yZSwgW2NsYXNzXj0nc3dhdGNoLW9wdC0nXSAuc3dhdGNoLW9wdGlvbltkaXNhYmxlZF0uYmFjay1pbi1zdG9jay1hbGVydC50ZXh0OmJlZm9yZSB7XG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNkY2RjZGM7IH1cbiAgICBbY2xhc3NePSdzd2F0Y2gtb3B0LSddIC5zd2F0Y2gtb3B0aW9uLmRpc2FibGVkLmJhY2staW4tc3RvY2stYWxlcnQuaW1hZ2U6YWZ0ZXIsIFtjbGFzc149J3N3YXRjaC1vcHQtJ10gLnN3YXRjaC1vcHRpb24uZGlzYWJsZWQuYmFjay1pbi1zdG9jay1hbGVydC5jb2xvcjphZnRlciwgW2NsYXNzXj0nc3dhdGNoLW9wdC0nXSAuc3dhdGNoLW9wdGlvbltkaXNhYmxlZF0uYmFjay1pbi1zdG9jay1hbGVydC5pbWFnZTphZnRlciwgW2NsYXNzXj0nc3dhdGNoLW9wdC0nXSAuc3dhdGNoLW9wdGlvbltkaXNhYmxlZF0uYmFjay1pbi1zdG9jay1hbGVydC5jb2xvcjphZnRlciB7XG4gICAgICBvcGFjaXR5OiAxOyB9XG4gIFtjbGFzc149J3N3YXRjaC1vcHQtJ106ZW1wdHkge1xuICAgIG9wYWNpdHk6IDA7IH1cbiIsIkBpbXBvcnQgJ2NvbmZpZy92YXJpYWJsZXMnO1xuQGltcG9ydCAndXRpbHMvdmlzdWFsbHktaGlkZGVuJztcbkBpbXBvcnQgJ3ZlbmRvcnMvaW5jbHVkZS1tZWRpYSc7XG5AaW1wb3J0ICdldGMvdmlldy5zY3NzJztcbkBpbXBvcnQgJ3V0aWxzL2RlZXAtZ2V0L2RlZXAtZ2V0LnNjc3MnO1xuQGltcG9ydCAnY29tcG9uZW50cy9idXR0b24vbWl4aW4nO1xuQGltcG9ydCAndXRpbHMvZ2V0LXZhbHVlLWZyb20tbGlzdC5zY3NzJztcblxuJHN3YXRjaGVzLS1jbGlja2FibGU6IGRlZXAtZ2V0KFxuICAgICR2aWV3LXhtbCxcbiAgICB2YXJzLFxuICAgIE1hZ2VudG9fQ2F0YWxvZyxcbiAgICBjb25maWd1cmFibGVfdGlsZV9zd2F0Y2hlcyxcbiAgICBlbmFibGVkXG4pICFkZWZhdWx0O1xuXG4vLyBLZWVwIGluIHN5bmMgd2l0aCBxdWFudGl0eSB3cmFwcGVyIGluIGJ1eWJveC5cbiRzd2F0Y2hlc19sYWJlbC13aWR0aDogMTByZW0gIWRlZmF1bHQ7XG4kc3dhdGNoZXNfbGFiZWwtd2lkdGgtbGFwdG9wLXVwOiAxMXJlbSAhZGVmYXVsdDtcbiRzd2F0Y2hlc19sYWJlbC1ndXR0ZXI6IDEuNXJlbSAhZGVmYXVsdDtcbiRzd2F0Y2hlc19sYWJlbC1mb250LXNpemU6IDEuMWVtICFkZWZhdWx0O1xuLy8gS2VlcCBpbiBzeW5jIHdpZHRoIHF1YW50aXR5IHdyYXBwZXIgaW4gYnV5Ym94IGVuZC5cblxuLy8gU2NlbmFyaW8gd2l0aCBzd2F0Y2hlcyBiZWxvdyBsYWJlbCwgd2hpY2ggaXMgMTAwJSB3aWRlXG4vLyB3aXRoIHRoaXMgdmFyaWFibGUgc2V0IHRvIHRydWUgJHN3YXRjaGVzX2xhYmVsLXdpZHRoXG4vLyBhbmQgJHN3YXRjaGVzX2xhYmVsLXdpZHRoLWxhcHRvcC11cCB3aWxsIGJlIG92ZXJyaWRlbiAtIGFsd2F5cyAxMDAlIHdpZHRoXG4kc3dhdGNoZXNfZnVsbC13aWR0aC1sYWJlbDogZmFsc2UgIWRlZmF1bHQ7XG5cbiRzd2F0Y2hlc19kaXNhYmxlLXNob3ctbW9yZTogdHJ1ZSAhZGVmYXVsdDtcbiRzd2F0Y2hlc19zd2F0Y2gtZ3V0dGVyOiAwLjRlbSAhZGVmYXVsdDtcbiRzd2F0Y2hlc19zd2F0Y2gtaGVpZ2h0OiAyLjhlbSAhZGVmYXVsdDtcbiRzd2F0Y2hlc19zd2F0Y2gtd2lkdGg6IDMuMmVtICFkZWZhdWx0O1xuJHN3YXRjaGVzX3N3YXRjaC1wYWRkaW5nOiAwIDAuMzVlbSAhZGVmYXVsdDtcbiRzd2F0Y2hlc19zd2F0Y2gtY29sb3I6ICRjb2xvcl90ZXh0LTUwMCAhZGVmYXVsdDtcbiRzd2F0Y2hlc19zd2F0Y2gtdGV4dC1vZmZzZXQ6IDAuMWVtICFkZWZhdWx0O1xuXG4kc3dhdGNoZXNfc3dhdGNoLWJhY2tncm91bmQ6ICRjb2xvcl9iYWNrZ3JvdW5kLTUwMCAhZGVmYXVsdDtcbiRzd2F0Y2hlc19zd2F0Y2gtLWhvdmVyLWJhY2tncm91bmQ6ICRjb2xvcl9iYWNrZ3JvdW5kLTIwMCAhZGVmYXVsdDtcbiRzd2F0Y2hlc19zd2F0Y2gtLXNlbGVjdGVkLWJhY2tncm91bmQ6ICRjb2xvcl9iYWNrZ3JvdW5kLTIwMCAhZGVmYXVsdDtcblxuJHN3YXRjaGVzX3N3YXRjaC1ib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJhZGl1c19iYXNlICFkZWZhdWx0O1xuJHN3YXRjaGVzX3N3YXRjaC1ib3JkZXItd2lkdGg6IDNweCAhZGVmYXVsdDtcbiRzd2F0Y2hlc19zd2F0Y2gtYm9yZGVyOiAkc3dhdGNoZXNfc3dhdGNoLWJvcmRlci13aWR0aCBzb2xpZFxuICAgICRzd2F0Y2hlc19zd2F0Y2gtYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRzd2F0Y2hlc19zd2F0Y2gtLWhvdmVyLWJvcmRlcjogJHN3YXRjaGVzX3N3YXRjaC1ib3JkZXItd2lkdGggc29saWRcbiAgICAkc3dhdGNoZXNfc3dhdGNoLS1ob3Zlci1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJHN3YXRjaGVzX3N3YXRjaC0tc2VsZWN0ZWQtYm9yZGVyOiAkc3dhdGNoZXNfc3dhdGNoLWJvcmRlci13aWR0aCBzb2xpZFxuICAgICRzd2F0Y2hlc19zd2F0Y2gtLXNlbGVjdGVkLWJhY2tncm91bmQgIWRlZmF1bHQ7XG5cbiRzd2F0Y2hlc19zd2F0Y2gtLXRleHQtZGlzYWJsZWQtYmFja2dyb3VuZDogJGNvbG9yX2JhY2tncm91bmQtMjAwICFkZWZhdWx0O1xuJHN3YXRjaGVzX3N3YXRjaC0tdGV4dC1kaXNhYmxlZC1ib3JkZXI6IDFweCBzb2xpZCAkY29sb3JfYm9yZGVyLTUwMCAhZGVmYXVsdDtcbiRzd2F0Y2hlc19zd2F0Y2gtLXRleHQtZGlzYWJsZWQtY29sb3I6ICRjb2xvcl90ZXh0LTQwMCAhZGVmYXVsdDtcbiRzd2F0Y2hlc19zd2F0Y2gtLXRleHQtb3BhY2l0eTogMC42NSAhZGVmYXVsdDtcblxuJHN3YXRjaGVzX3N3YXRjaC0tYmFja2luc3RvY2stYmFja2dyb3VuZDogcmdiYSgkY29sb3JfYmFja2dyb3VuZC02MDAsIDAuNTUpXG4gICAgdXJsKC4uL2ltYWdlcy9pY29ucy9ub3RpZmljYXRpb24tcGFuZWwvaWNvbl9ub3RpZmljYXRpb24tb3V0bGluZS5zdmcpXG4gICAgY2VudGVyLzY0JSBuby1yZXBlYXQgIWRlZmF1bHQ7XG5cbiRzd2F0Y2hlc19zd2F0Y2gtb3V0bGluZS13aWR0aDogMXB4ICFkZWZhdWx0O1xuJHN3YXRjaGVzX3N3YXRjaC1vdXRsaW5lLW9mZnNldDogKFxuICAgICRzd2F0Y2hlc19zd2F0Y2gtYm9yZGVyLXdpZHRoICsgJHN3YXRjaGVzX3N3YXRjaC1vdXRsaW5lLXdpZHRoXG4pICFkZWZhdWx0O1xuJHN3YXRjaGVzX3N3YXRjaC1vdXRsaW5lOiAkc3dhdGNoZXNfc3dhdGNoLW91dGxpbmUtd2lkdGggc29saWQgJGNvbG9yX2JvcmRlci01MDAgIWRlZmF1bHQ7XG4kc3dhdGNoZXNfc3dhdGNoLS1ob3Zlci1vdXRsaW5lOiAkc3dhdGNoZXNfc3dhdGNoLW91dGxpbmUtd2lkdGggc29saWRcbiAgICAkY29sb3JfcHJpbWFyeS01MDAgIWRlZmF1bHQ7XG4kc3dhdGNoZXNfc3dhdGNoLS1zZWxlY3RlZC1vdXRsaW5lOiAkc3dhdGNoZXNfc3dhdGNoLW91dGxpbmUtd2lkdGggc29saWRcbiAgICAkY29sb3JfcHJpbWFyeS04MDAgIWRlZmF1bHQ7XG5cbiRzd2F0Y2hlc19yb3dzLWd1dHRlcjogJHN3YXRjaGVzX3N3YXRjaC1ndXR0ZXIgKiAyICFkZWZhdWx0O1xuXG4kc3dhdGNoZXMtLXRpbGVfZm9udC1zaXplOiAwLjQ1ZW0gIWRlZmF1bHQ7XG4vLyBUZWxscyBob3cgbWFueSByb3dzIG9mIHN3YXRjaGVzIHdpbGwgYmUgZGlzcGxheWVkIGluc2lkZSB0aWxlIGNvbXBvbmVudC5cbiRzd2F0Y2hlcy0tdGlsZV9udW0tb2Ytcm93czogMSAhZGVmYXVsdDtcbi8vIENhbGN1bGF0ZXMgaG93IG11Y2ggc3BhY2Ugc2hvdWxkIGJlIHJlc2VydmVkIGluIHRpbGUgZm9yIHN3YXRjaGVzIHRvIHByZXZlbnQgY29udGVudCBmcm9tIGp1bXBpbmcuXG4kc3dhdGNoZXMtLXRpbGVfbWluLWhlaWdodDogY2FsYyhcbiAgICAjeyRzd2F0Y2hlcy0tdGlsZV9udW0tb2Ytcm93c30gKiAoI3skc3dhdGNoZXNfc3dhdGNoLWhlaWdodH0gKyAjeyRzd2F0Y2hlc19zd2F0Y2gtb3V0bGluZS1vZmZzZXQgKlxuICAgICAgICAgICAgICAgIDJ9KVxuKSAhZGVmYXVsdDtcbiRzd2F0Y2hlcy0tcGRwX2ZvbnQtc2l6ZTogMC45ZW0gIWRlZmF1bHQ7XG4kc3dhdGNoZXMtLWZpbHRlcnNfZm9udC1zaXplOiAwLjhlbSAhZGVmYXVsdDtcblxuLy8gVG9vbHRpcHMgZm9yIHN3YXRjaGVzXG4kc3dhdGNoZXNfdG9vbHRpcC1iYWNrZ3JvdW5kOiAkY29sb3Jfd2hpdGUgIWRlZmF1bHQ7XG4kc3dhdGNoZXNfdG9vbHRpcC1ib3JkZXItcmFkaXVzOiAwLjVyZW0gIWRlZmF1bHQ7XG4kc3dhdGNoZXNfdG9vbHRpcC1ib3JkZXItc2l6ZTogMC4xcmVtICFkZWZhdWx0O1xuJHN3YXRjaGVzX3Rvb2x0aXAtYm9yZGVyLWNvbG9yOiAkY29sb3JfYm9yZGVyLTUwMCAhZGVmYXVsdDtcbiRzd2F0Y2hlc190b29sdGlwLWNvbG9yOiAkY29sb3JfdGV4dC00MDAgIWRlZmF1bHQ7XG4kc3dhdGNoZXNfdG9vbHRpcC1mb250LXNpemU6IDEuM3JlbSAhZGVmYXVsdDtcbiRzd2F0Y2hlc190b29sdGlwLWZvbnQtd2VpZ2h0OiA0MDAgIWRlZmF1bHQ7XG4kc3dhdGNoZXNfdG9vbHRpcC1tYXJnaW46IDAgIWRlZmF1bHQ7XG4kc3dhdGNoZXNfdG9vbHRpcC1wYWRkaW5nOiAwLjVyZW0gIWRlZmF1bHQ7XG4kc3dhdGNoZXNfdG9vbHRpcC1taW4td2lkdGg6IDJyZW0gIWRlZmF1bHQ7XG4kc3dhdGNoZXNfdG9vbHRpcC1hcnJvdy1zaG93OiB0cnVlICFkZWZhdWx0O1xuJHN3YXRjaGVzX3Rvb2x0aXAtYXJyb3ctc2l6ZTogMXJlbSAhZGVmYXVsdDtcbiRzd2F0Y2hlc190b29sdGlwLWFycm93LW9mZnNldC14OiA1MCUgIWRlZmF1bHQ7XG4kc3dhdGNoZXNfdG9vbHRpcC10ZXh0LWFsaWduOiBjZW50ZXIgIWRlZmF1bHQ7XG5cbiRzd2F0Y2hlc190b29sdGlwLXRodW1ibmFpbC1kYXRhOiBkZWVwLWdldChcbiAgICAkdmlldy14bWwsXG4gICAgbWVkaWEsXG4gICAgaW1hZ2VzLFxuICAgIGltYWdlLFxuICAgIHN3YXRjaF90aHVtYlxuKSAhZGVmYXVsdDtcblxuJHN3YXRjaGVzX3Rvb2x0aXAtdGh1bWJuYWlsLXdpZHRoOiAje21hcC1nZXQoXG4gICAgICAgICRzd2F0Y2hlc190b29sdGlwLXRodW1ibmFpbC1kYXRhLFxuICAgICAgICB3aWR0aFxuICAgICl9ICFkZWZhdWx0O1xuJHN3YXRjaGVzX3Rvb2x0aXAtdGh1bWJuYWlsLWhlaWdodDogI3ttYXAtZ2V0KFxuICAgICAgICAkc3dhdGNoZXNfdG9vbHRpcC10aHVtYm5haWwtZGF0YSxcbiAgICAgICAgaGVpZ2h0XG4gICAgKX0gIWRlZmF1bHQ7XG5cbi5zd2F0Y2gtYXR0cmlidXRlIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlciAhaW1wb3J0YW50O1xuICAgIGZsZXgtd3JhcDogd3JhcDtcblxuICAgIC8vIFRoZSBvbmx5IHNlbGVjdG9yIHdlIGhhdmUgdG8gdGVsbCB0aGF0IHN3YXRjaGVzIGFyZSBpbnNpZGUgYWZ0ZXJzZWFyY2ggbmF2aWdhdGlvbi5cbiAgICAmLnN3YXRjaC1sYXllcmVkIHtcbiAgICAgICAgZm9udC1zaXplOiAkc3dhdGNoZXMtLWZpbHRlcnNfZm9udC1zaXplO1xuICAgIH1cblxuICAgICYgKyAmIHtcbiAgICAgICAgbWFyZ2luLXRvcDogJHN3YXRjaGVzX3Jvd3MtZ3V0dGVyO1xuICAgIH1cblxuICAgICY6aGFzKC5zd2F0Y2gtb3B0aW9uLnNlbGVjdGVkKSB7XG4gICAgICAgIC5tYWdlLWVycm9yIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5zd2F0Y2gtYXR0cmlidXRlLWxhYmVsIHtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIGxpbmUtaGVpZ2h0OiBjYWxjKFxuICAgICAgICAjeyRzd2F0Y2hlc19zd2F0Y2gtaGVpZ2h0fSAtICN7JHN3YXRjaGVzX3N3YXRjaC1ib3JkZXItd2lkdGggKiAyfSArICN7JHN3YXRjaGVzX3N3YXRjaC10ZXh0LW9mZnNldH1cbiAgICApO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgZm9udC1zaXplOiAkc3dhdGNoZXNfbGFiZWwtZm9udC1zaXplO1xuICAgIHdpZHRoOiAkc3dhdGNoZXNfbGFiZWwtd2lkdGg7XG4gICAgbWFyZ2luLXJpZ2h0OiAkc3dhdGNoZXNfbGFiZWwtZ3V0dGVyO1xuXG4gICAgQGlmICgkc3dhdGNoZXNfZnVsbC13aWR0aC1sYWJlbCA9PSB0cnVlKSB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIG1lZGlhKCc+PWxhcHRvcCcpIHtcbiAgICAgICAgd2lkdGg6ICRzd2F0Y2hlc19sYWJlbC13aWR0aC1sYXB0b3AtdXA7XG5cbiAgICAgICAgQGlmICgkc3dhdGNoZXNfZnVsbC13aWR0aC1sYWJlbCA9PSB0cnVlKSB7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICY6YWZ0ZXIge1xuICAgICAgICBjb250ZW50OiAnOiAnO1xuICAgICAgICBsaW5lLWhlaWdodDogY2FsYyhcbiAgICAgICAgICAgICN7JHN3YXRjaGVzX3N3YXRjaC1oZWlnaHR9IC0gI3skc3dhdGNoZXNfc3dhdGNoLWJvcmRlci13aWR0aCAqIDJ9ICtcbiAgICAgICAgICAgICAgICAjeyRzd2F0Y2hlc19zd2F0Y2gtdGV4dC1vZmZzZXR9XG4gICAgICAgICk7XG4gICAgfVxufVxuXG4uc3dhdGNoLWF0dHJpYnV0ZS1zZWxlY3RlZC1vcHRpb24ge1xuICAgIEBpbmNsdWRlIHZpc3VhbGx5LWhpZGRlbigpO1xufVxuXG4uc3dhdGNoLWF0dHJpYnV0ZS1vcHRpb25zIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICBtYXJnaW4tbGVmdDogLSN7JHN3YXRjaGVzX3N3YXRjaC1ndXR0ZXIgLyAyfTtcbiAgICBtYXJnaW4tYm90dG9tOiAtI3skc3dhdGNoZXNfc3dhdGNoLWd1dHRlcn07XG4gICAgbWluLXdpZHRoOiAxMDAlO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXG4gICAgJjpmb2N1cyB7XG4gICAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgfVxuXG4gICAgLnN3YXRjaC1vcHQgJiB7XG4gICAgICAgIG1pbi13aWR0aDogMDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICAgICAgICBtYXgtd2lkdGg6IGNhbGMoXG4gICAgICAgICAgICAxMDAlIC0gI3skc3dhdGNoZXNfbGFiZWwtZ3V0dGVyfSAtICN7JHN3YXRjaGVzX2xhYmVsLXdpZHRofVxuICAgICAgICApO1xuXG4gICAgICAgIEBpZiAoJHN3YXRjaGVzX2Z1bGwtd2lkdGgtbGFiZWwgPT0gdHJ1ZSkge1xuICAgICAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz49bGFwdG9wJykge1xuICAgICAgICAgICAgbWF4LXdpZHRoOiBjYWxjKFxuICAgICAgICAgICAgICAgIDEwMCUgLSAjeyRzd2F0Y2hlc19sYWJlbC1ndXR0ZXJ9IC0gI3skc3dhdGNoZXNfbGFiZWwtd2lkdGgtbGFwdG9wLXVwfVxuICAgICAgICAgICAgKTtcblxuICAgICAgICAgICAgQGlmICgkc3dhdGNoZXNfZnVsbC13aWR0aC1sYWJlbCA9PSB0cnVlKSB7XG4gICAgICAgICAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG4vLyBFbGVtZW50IGFkZGVkIGFzIGEgcGFyZW50IG9mIC5zd2F0Y2gtb3B0aW9uIGluIGZpbHRlcnMuXG4uc3dhdGNoLW9wdGlvbi1saW5rLWxheWVyZWQge1xuICAgIGZvbnQtc2l6ZTogMWVtO1xuXG4gICAgJjpob3ZlciB7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICB9XG59XG5cbi5zd2F0Y2gtb3B0aW9uIHtcbiAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBtaW4td2lkdGg6ICRzd2F0Y2hlc19zd2F0Y2gtd2lkdGg7XG4gICAgaGVpZ2h0OiAkc3dhdGNoZXNfc3dhdGNoLWhlaWdodDtcbiAgICBwYWRkaW5nOiAkc3dhdGNoZXNfc3dhdGNoLXBhZGRpbmc7XG4gICAgbWFyZ2luOiAjeyRzd2F0Y2hlc19zd2F0Y2gtb3V0bGluZS13aWR0aH0gY2FsYyhcbiAgICAgICAgICAgICN7JHN3YXRjaGVzX3N3YXRjaC1vdXRsaW5lLXdpZHRofSArICN7JHN3YXRjaGVzX3N3YXRjaC1ndXR0ZXIgLyAyfVxuICAgICAgICApIGNhbGMoI3skc3dhdGNoZXNfc3dhdGNoLW91dGxpbmUtd2lkdGh9ICsgI3skc3dhdGNoZXNfc3dhdGNoLWd1dHRlcn0pO1xuICAgIGJvcmRlci1yYWRpdXM6ICRzd2F0Y2hlc19zd2F0Y2gtYm9yZGVyLXJhZGl1cztcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkc3dhdGNoZXNfc3dhdGNoLWJhY2tncm91bmQ7XG4gICAgYm9yZGVyOiAkc3dhdGNoZXNfc3dhdGNoLWJvcmRlcjtcbiAgICBjb2xvcjogJHN3YXRjaGVzX3N3YXRjaC1jb2xvcjtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgbGluZS1oZWlnaHQ6IGNhbGMoXG4gICAgICAgICN7JHN3YXRjaGVzX3N3YXRjaC1oZWlnaHR9IC0gI3skc3dhdGNoZXNfc3dhdGNoLWJvcmRlci13aWR0aCAqIDJ9ICsgI3skc3dhdGNoZXNfc3dhdGNoLXRleHQtb2Zmc2V0fVxuICAgICk7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4zcywgYm9yZGVyLWNvbG9yIDAuM3MsIG9wYWNpdHkgMC4zcyxcbiAgICAgICAgY29sb3IgMC4zcztcblxuICAgIEBpZiAkc3dhdGNoZXNfZGlzYWJsZS1zaG93LW1vcmUge1xuICAgICAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgICY6YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAtJHN3YXRjaGVzX3N3YXRjaC1vdXRsaW5lLW9mZnNldDtcbiAgICAgICAgbGVmdDogLSRzd2F0Y2hlc19zd2F0Y2gtb3V0bGluZS1vZmZzZXQ7XG4gICAgICAgIHJpZ2h0OiAtJHN3YXRjaGVzX3N3YXRjaC1vdXRsaW5lLW9mZnNldDtcbiAgICAgICAgYm90dG9tOiAtJHN3YXRjaGVzX3N3YXRjaC1vdXRsaW5lLW9mZnNldDtcbiAgICAgICAgYm9yZGVyOiAkc3dhdGNoZXNfc3dhdGNoLW91dGxpbmU7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6ICRzd2F0Y2hlc19zd2F0Y2gtYm9yZGVyLXJhZGl1cztcbiAgICAgICAgdHJhbnNpdGlvbjogYm9yZGVyLWNvbG9yIDAuM3M7XG4gICAgfVxuXG4gICAgJjphZnRlciB7XG4gICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogNTAlO1xuICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICAgICAgYmFja2dyb3VuZDogdXJsKC4uL2ltYWdlcy9pY29ucy9zd2F0Y2hlcy9kaXNhYmxlZC5zdmcpXG4gICAgICAgICAgICByZ2JhKCRjb2xvcl9iYWNrZ3JvdW5kLTYwMCwgMC41KSBjZW50ZXIgbm8tcmVwZWF0O1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcbiAgICAgICAgd2lkdGg6IGNhbGMoI3skc3dhdGNoZXNfc3dhdGNoLWhlaWdodH0gLSAxLjJlbSk7XG4gICAgICAgIGhlaWdodDogY2FsYygjeyRzd2F0Y2hlc19zd2F0Y2gtaGVpZ2h0fSAtIDEuMmVtKTtcbiAgICAgICAgYmFja2dyb3VuZC1zaXplOiAwLjZlbTtcbiAgICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjNzO1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgIH1cblxuICAgICYuc2VsZWN0ZWQsXG4gICAgJi5iaXMtc2VsZWN0ZWQge1xuICAgICAgICBib3JkZXI6ICRzd2F0Y2hlc19zd2F0Y2gtLXNlbGVjdGVkLWJvcmRlcjtcbiAgICAgICAgYmFja2dyb3VuZDogJHN3YXRjaGVzX3N3YXRjaC0tc2VsZWN0ZWQtYmFja2dyb3VuZDtcblxuICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBib3JkZXI6ICRzd2F0Y2hlc19zd2F0Y2gtLXNlbGVjdGVkLW91dGxpbmU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmLmRpc2FibGVkOm5vdCguYmFjay1pbi1zdG9jay1hbGVydCksXG4gICAgJltkaXNhYmxlZF06bm90KC5iYWNrLWluLXN0b2NrLWFsZXJ0KSB7XG4gICAgICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7XG5cbiAgICAgICAgJi50ZXh0IHtcbiAgICAgICAgICAgIG9wYWNpdHk6ICRzd2F0Y2hlc19zd2F0Y2gtLXRleHQtb3BhY2l0eTtcbiAgICAgICAgICAgIGNvbG9yOiAkc3dhdGNoZXNfc3dhdGNoLS10ZXh0LWRpc2FibGVkLWNvbG9yO1xuICAgICAgICAgICAgYmFja2dyb3VuZDogJHN3YXRjaGVzX3N3YXRjaC0tdGV4dC1kaXNhYmxlZC1iYWNrZ3JvdW5kO1xuXG4gICAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgYm9yZGVyOiAkc3dhdGNoZXNfc3dhdGNoLS10ZXh0LWRpc2FibGVkLWJvcmRlcjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICYuaW1hZ2UsXG4gICAgICAgICYuY29sb3Ige1xuICAgICAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgICY6bm90KC5kaXNhYmxlZCk6bm90KC5zZWxlY3RlZCk6bm90KFtkaXNhYmxlZF0pLFxuICAgICYuYmFjay1pbi1zdG9jay1hbGVydCB7XG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgYm9yZGVyOiAkc3dhdGNoZXNfc3dhdGNoLS1ob3Zlci1ib3JkZXI7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAkc3dhdGNoZXNfc3dhdGNoLS1ob3Zlci1iYWNrZ3JvdW5kO1xuXG4gICAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgYm9yZGVyOiAkc3dhdGNoZXNfc3dhdGNoLS1ob3Zlci1vdXRsaW5lO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG4uc3dhdGNoLWlucHV0IHtcbiAgICBAaW5jbHVkZSB2aXN1YWxseS1oaWRkZW4oKTtcblxuICAgIC8vIFJlc3RvcmUgb3JpZ2luYWwgc3R5bGVzIGZyb20gTWFnZW50by5cbiAgICAvLyBJdCBwcmV2ZW50cyBrZXlib2FyZCBvbiBtb2JpbGUgdG8gYmUgc2hvd24gYWZ0ZXIgc3dhdGNoIGlzIGNsaWNrZWRcbiAgICBsZWZ0OiAtMTAwMHB4O1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG59XG5cbi5zd2F0Y2gtbW9yZSB7XG4gICAgQGlmICRzd2F0Y2hlc19kaXNhYmxlLXNob3ctbW9yZSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxufVxuXG4uc3dhdGNoLW9wdGlvbi10b29sdGlwLFxuLnN3YXRjaC1vcHRpb24tdG9vbHRpcC1sYXllcmVkIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBtYXJnaW46ICRzd2F0Y2hlc190b29sdGlwLW1hcmdpbjtcbiAgICB6LWluZGV4OiA5OTk7XG4gICAgYmFja2dyb3VuZDogJHN3YXRjaGVzX3Rvb2x0aXAtYmFja2dyb3VuZDtcbiAgICBib3JkZXItcmFkaXVzOiAkc3dhdGNoZXNfdG9vbHRpcC1ib3JkZXItcmFkaXVzO1xuICAgIGNvbG9yOiAkc3dhdGNoZXNfdG9vbHRpcC1jb2xvcjtcbiAgICBmb250LXNpemU6ICRzd2F0Y2hlc190b29sdGlwLWZvbnQtc2l6ZTtcbiAgICBmb250LXdlaWdodDogJHN3YXRjaGVzX3Rvb2x0aXAtZm9udC13ZWlnaHQ7XG4gICAgcGFkZGluZzogJHN3YXRjaGVzX3Rvb2x0aXAtcGFkZGluZztcbiAgICB0ZXh0LWFsaWduOiAkc3dhdGNoZXNfdG9vbHRpcC10ZXh0LWFsaWduO1xuICAgIG1pbi13aWR0aDogJHN3YXRjaGVzX3Rvb2x0aXAtbWluLXdpZHRoO1xuXG4gICAgQGlmIChcbiAgICAgICAgJHN3YXRjaGVzX3Rvb2x0aXAtYm9yZGVyLXNpemUgIT1cbiAgICAgICAgICAgIDAgYW5kXG4gICAgICAgICAgICAkc3dhdGNoZXNfdG9vbHRpcC1ib3JkZXItc2l6ZSAhPVxuICAgICAgICAgICAgJ25vbmUnXG4gICAgKSB7XG4gICAgICAgIGJvcmRlcjogJHN3YXRjaGVzX3Rvb2x0aXAtYm9yZGVyLXNpemVcbiAgICAgICAgICAgIHNvbGlkXG4gICAgICAgICAgICAkc3dhdGNoZXNfdG9vbHRpcC1ib3JkZXItY29sb3I7XG4gICAgfVxuXG4gICAgLmltYWdlIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgICAgICB3aWR0aDogJHN3YXRjaGVzX3Rvb2x0aXAtdGh1bWJuYWlsLXdpZHRoICsgJ3B4JztcbiAgICAgICAgaGVpZ2h0OiAkc3dhdGNoZXNfdG9vbHRpcC10aHVtYm5haWwtaGVpZ2h0ICsgJ3B4JztcbiAgICB9XG5cbiAgICAuY29ybmVyIHtcbiAgICAgICAgQGlmICgkc3dhdGNoZXNfdG9vbHRpcC1hcnJvdy1zaG93KSB7XG4gICAgICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgdG9wOiAxMDAlO1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgIHdpZHRoOiAkc3dhdGNoZXNfdG9vbHRpcC1hcnJvdy1zaXplO1xuICAgICAgICAgICAgICAgIGhlaWdodDogJHN3YXRjaGVzX3Rvb2x0aXAtYXJyb3ctc2l6ZTtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkc3dhdGNoZXNfdG9vbHRpcC1iYWNrZ3JvdW5kO1xuICAgICAgICAgICAgICAgIGxlZnQ6ICRzd2F0Y2hlc190b29sdGlwLWFycm93LW9mZnNldC14O1xuICAgICAgICAgICAgICAgIEBpZiAodW5pdCgkc3dhdGNoZXNfdG9vbHRpcC1hcnJvdy1vZmZzZXQteCkgPT0gJyUnKSB7XG4gICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtI3skc3dhdGNoZXNfdG9vbHRpcC1hcnJvdy1vZmZzZXQteH0pXG4gICAgICAgICAgICAgICAgICAgICAgICByb3RhdGUoNDVkZWcpO1xuICAgICAgICAgICAgICAgIH0gQGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgQGlmIChcbiAgICAgICAgICAgICAgICAgICAgJHN3YXRjaGVzX3Rvb2x0aXAtYm9yZGVyLXNpemUgIT1cbiAgICAgICAgICAgICAgICAgICAgICAgIDAgYW5kXG4gICAgICAgICAgICAgICAgICAgICAgICAkc3dhdGNoZXNfdG9vbHRpcC1ib3JkZXItc2l6ZSAhPVxuICAgICAgICAgICAgICAgICAgICAgICAgJ25vbmUnXG4gICAgICAgICAgICAgICAgKSB7XG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci1ib3R0b206ICRzd2F0Y2hlc190b29sdGlwLWJvcmRlci1zaXplXG4gICAgICAgICAgICAgICAgICAgICAgICBzb2xpZFxuICAgICAgICAgICAgICAgICAgICAgICAgJHN3YXRjaGVzX3Rvb2x0aXAtYm9yZGVyLWNvbG9yO1xuICAgICAgICAgICAgICAgICAgICBib3JkZXItcmlnaHQ6ICRzd2F0Y2hlc190b29sdGlwLWJvcmRlci1zaXplXG4gICAgICAgICAgICAgICAgICAgICAgICBzb2xpZFxuICAgICAgICAgICAgICAgICAgICAgICAgJHN3YXRjaGVzX3Rvb2x0aXAtYm9yZGVyLWNvbG9yO1xuICAgICAgICAgICAgICAgICAgICAvLyBzdHlsZWxpbnQtZGlzYWJsZVxuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiBjYWxjKFxuICAgICAgICAgICAgICAgICAgICAgICAgLSN7JHN3YXRjaGVzX3Rvb2x0aXAtYXJyb3ctc2l6ZSAvXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgMn0gK1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICN7JHN3YXRjaGVzX3Rvb2x0aXAtYm9yZGVyLXNpemV9XG4gICAgICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgfSBAZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IC0jeyRzd2F0Y2hlc190b29sdGlwLWFycm93LXNpemUgLyAyfTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH0gQGVsc2Uge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgfVxufVxuXG4uc3dhdGNoLW9wdGlvbi10b29sdGlwIHtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbn1cblxuLm1pc3Npbmctc3dhdGNoZXMtbW9kYWwge1xuICAgIG1heC13aWR0aDogNDByZW07XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG5cbiAgICAubWFnZS1lcnJvciB7XG4gICAgICAgIHBhZGRpbmctdG9wOiAwLjhyZW07XG4gICAgfVxuXG4gICAgLnN3YXRjaC1hdHRyaWJ1dGUgKyAuc3dhdGNoLWF0dHJpYnV0ZSB7XG4gICAgICAgIG1hcmdpbi10b3A6IDJyZW07XG4gICAgfVxufVxuXG4ubWlzc2luZy1zd2F0Y2hlcy1tb2RhbC12aXNpYmxlIHtcbiAgICAuc3dhdGNoLW9wdGlvbi10b29sdGlwIHtcbiAgICAgICAgQG1lZGlhIChob3Zlcjpub25lKSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi8vIENvbnRhaW5lciBzZWxlY3RvciBmb3Igc3dhdGNoZXMgb24gUERQXG4uc3dhdGNoLW9wdCB7XG4gICAgZm9udC1zaXplOiAkc3dhdGNoZXMtLXBkcF9mb250LXNpemU7XG5cbiAgICAuc3dhdGNoLW9wdGlvbiB7XG4gICAgICAgICYuYmFjay1pbi1zdG9jay1hbGVydCB7XG4gICAgICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAkc3dhdGNoZXNfc3dhdGNoLS1iYWNraW5zdG9jay1iYWNrZ3JvdW5kO1xuICAgICAgICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICYudGV4dCB7XG4gICAgICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMmVtO1xuXG4gICAgICAgICAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICAgICAgICAgIGxlZnQ6IGF1dG87XG4gICAgICAgICAgICAgICAgICAgIHJpZ2h0OiBnZXQtdmFsdWUtZnJvbS1saXN0KFxuICAgICAgICAgICAgICAgICAgICAgICAgJHN3YXRjaGVzX3N3YXRjaC1wYWRkaW5nLFxuICAgICAgICAgICAgICAgICAgICAgICAgJ3JpZ2h0J1xuICAgICAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8vIFNlbGVjdG9yIGZvciBlcnJvciBjb250YWluZXIgd2hlbiBzd2F0Y2hlcyBhcmUgcmVxdWlyZWQgYnV0IG5vdCBzZWxlY3RlZC5cbiAgICAubWFnZS1lcnJvciB7XG4gICAgICAgIGZvbnQtc2l6ZTogMWVtO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IGNhbGMoI3skc3dhdGNoZXNfbGFiZWwtd2lkdGh9ICsgI3skc3dhdGNoZXNfbGFiZWwtZ3V0dGVyfSk7XG5cbiAgICAgICAgQGlmICgkc3dhdGNoZXNfZnVsbC13aWR0aC1sYWJlbCA9PSB0cnVlKSB7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PWxhcHRvcCcpIHtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiBjYWxjKFxuICAgICAgICAgICAgICAgICN7JHN3YXRjaGVzX2xhYmVsLXdpZHRoLWxhcHRvcC11cH0gKyAjeyRzd2F0Y2hlc19sYWJlbC1ndXR0ZXJ9XG4gICAgICAgICAgICApO1xuXG4gICAgICAgICAgICBAaWYgKCRzd2F0Y2hlc19mdWxsLXdpZHRoLWxhYmVsID09IHRydWUpIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuLy8gQ29udGFpbmVyIHNlbGVjdG9yIGZvciBzd2F0Y2hlcyBpbiB0aWxlIGFuZCBkYWlseSBkZWFsIHRlYXNlci5cbltjbGFzc149J3N3YXRjaC1vcHQtJ10ge1xuICAgIGZvbnQtc2l6ZTogJHN3YXRjaGVzLS10aWxlX2ZvbnQtc2l6ZTtcbiAgICBtaW4taGVpZ2h0OiAkc3dhdGNoZXMtLXRpbGVfbWluLWhlaWdodDtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC4zcztcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcblxuICAgIEBpZiAkc3dhdGNoZXMtLWNsaWNrYWJsZSB7XG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCc+dGFibGV0Jykge1xuICAgICAgICAgICAgcG9pbnRlci1ldmVudHM6IGF1dG87XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuc3dhdGNoLW9wdGlvbiB7XG4gICAgICAgICYuZGlzYWJsZWQuYmFjay1pbi1zdG9jay1hbGVydCxcbiAgICAgICAgJltkaXNhYmxlZF0uYmFjay1pbi1zdG9jay1hbGVydCB7XG4gICAgICAgICAgICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xuXG4gICAgICAgICAgICAmLnRleHQge1xuICAgICAgICAgICAgICAgIG9wYWNpdHk6ICRzd2F0Y2hlc19zd2F0Y2gtLXRleHQtb3BhY2l0eTtcbiAgICAgICAgICAgICAgICBjb2xvcjogJHN3YXRjaGVzX3N3YXRjaC0tdGV4dC1kaXNhYmxlZC1jb2xvcjtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAkc3dhdGNoZXNfc3dhdGNoLS10ZXh0LWRpc2FibGVkLWJhY2tncm91bmQ7XG5cbiAgICAgICAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgICAgIGJvcmRlcjogJHN3YXRjaGVzX3N3YXRjaC0tdGV4dC1kaXNhYmxlZC1ib3JkZXI7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmLmltYWdlLFxuICAgICAgICAgICAgJi5jb2xvciB7XG4gICAgICAgICAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgJjplbXB0eSB7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgfVxufVxuIiwiLyoqXG4gKiBCcmVha3BvaW50IGNvbXBvbmVudCB1c2VkIGJ5IGluY2x1ZGUtbWVkaWEgdmVuZG9yIGxpYnJhcnkuXG4gKi9cbkB1c2UgJ3Nhc3M6bWFwJztcbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuLyoqXG4gKiBCcmVha3BvaW50IGNvbXBvbmVudCB1c2VkIGJ5IGluY2x1ZGUtbWVkaWEgdmVuZG9yIGxpYnJhcnkuXG4gKi9cbkB1c2UgJ3Nhc3M6bWFwJztcbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuLyoqXG4gKiBCcmVha3BvaW50IGNvbXBvbmVudCB1c2VkIGJ5IGluY2x1ZGUtbWVkaWEgdmVuZG9yIGxpYnJhcnkuXG4gKi9cbkB1c2UgJ3Nhc3M6bWFwJztcbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuLyogc3R5bGVsaW50LWRpc2FibGUgYmxvY2stbm8tZW1wdHkgKi9cbi8qIHN0eWxlbGludC1lbmFibGUgKi9cbi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG5AdXNlICdzYXNzOm1hcCc7XG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG4vKipcbiogRGVmYXVsdCBwcm9qZWN0IGJyZWFrcG9pbnRzIC0gW2VtXVxuKi9cbi8qKipcbiAqIFJlbW92ZSBicm93c2VyJ3MgbWFyZ2lucywgcGFkZGluZ3MgYW5kIGxpc3Qgc3R5bGUgcnVsZXNcbiAqL1xuLmNzLXRvcGJhciB7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICBkaXNwbGF5OiBub25lO1xuICB3aWR0aDogMTAwJTtcbiAgZm9udC1zaXplOiAxLjZyZW07XG4gIHBhZGRpbmctdG9wOiAwLjVyZW07IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAuY3MtdG9wYmFyIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICB6LWluZGV4OiAzMDI7IH0gfVxuICAuY3MtdG9wYmFyX193cmFwcGVyIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICBmbGV4LWdyb3c6IDE7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgaGVpZ2h0OiAyLjdyZW07IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgLmNzLXRvcGJhcl9fd3JhcHBlciB7XG4gICAgICAgIGZsZXgtd3JhcDogbm93cmFwOyB9IH1cbiAgLmNzLXRvcGJhcl9faXRlbSB7XG4gICAgY29sb3I6ICMyMTIxMjE7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4OiAwIDAgYXV0bztcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIGhlaWdodDogMTAwJTsgfVxuICAgIC5jcy10b3BiYXJfX2l0ZW0tLXVzcHMge1xuICAgICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDgwZW0pIHtcbiAgICAgICAgLmNzLXRvcGJhcl9faXRlbS0tdXNwcyB7XG4gICAgICAgICAgZGlzcGxheTogZmxleDsgfSB9XG4gICAgLmNzLXRvcGJhcl9faXRlbS0taG90bGluZSB7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgZmxleDogMTtcbiAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDsgfVxuICAgIC5jcy10b3BiYXJfX2l0ZW0tLWxhbmd1YWdlIHtcbiAgICAgIGhlaWdodDogMTAwJTsgfVxuICAgIC5jcy10b3BiYXJfX2l0ZW0tLWxpbmtzIC5jcy10b3BiYXJfX2xpbmtzIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyOyB9XG4gICAgICAuY3MtdG9wYmFyX19pdGVtLS1saW5rcyAuY3MtdG9wYmFyX19saW5rcyBhIHtcbiAgICAgICAgZm9udC1zaXplOiAxLjZyZW07XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICAgIGNvbG9yOiAjNDU1YTY0O1xuICAgICAgICBtYXJnaW46IDAuNXJlbSAycmVtOyB9XG4gICAgICAuY3MtdG9wYmFyX19pdGVtLS1saW5rcyAuY3MtdG9wYmFyX19saW5rcyBhOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgbWFyZ2luOiAwLjVyZW0gMnJlbSAwLjVyZW0gMHJlbTsgfVxuICAgICAgLmNzLXRvcGJhcl9faXRlbS0tbGlua3MgLmNzLXRvcGJhcl9fbGlua3MgYTpsYXN0LWNoaWxkIHtcbiAgICAgICAgbWFyZ2luOiAwLjVyZW0gMHJlbSAwLjVyZW0gMnJlbTsgfVxuICAuY3MtdG9wYmFyX19saXN0LFxuICAuY3MtdG9wYmFyX19pdGVtID4gdWwge1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjsgfVxuICAuY3MtdG9wYmFyX19saXN0LWl0ZW0ge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgaGVpZ2h0OiAyLjdyZW07XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAgIC5jcy10b3BiYXJfX2xpc3QtaXRlbTpub3QoOmxhc3QtY2hpbGQpIHtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDEuM3JlbTsgfVxuICAgIC5jcy10b3BiYXJfX2xpc3QtaXRlbTpub3QoOmxhc3QtY2hpbGQpIHtcbiAgICAgIG1hcmdpbi1yaWdodDogMS4zcmVtOyB9XG4gICAgICAuY3MtdG9wYmFyX19saXN0LWl0ZW06bm90KDpsYXN0LWNoaWxkKTpiZWZvcmUge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICByaWdodDogMDtcbiAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgIGJvcmRlci1yaWdodDogMC4ycmVtIHNvbGlkICNmZmY7IH1cbiAgLmNzLXRvcGJhcl9fdGV4dCB7XG4gICAgY29sb3I6ICMyMTIxMjE7IH1cbiAgLmNzLXRvcGJhcl9fbGluayB7XG4gICAgbWFyZ2luLXJpZ2h0OiAwLjlyZW07IH1cbiAgICAuY3MtdG9wYmFyX19saW5rLCAuY3MtdG9wYmFyX19saW5rOnZpc2l0ZWQge1xuICAgICAgY29sb3I6ICM3ZTU3YzI7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH1cbiAgICAuY3MtdG9wYmFyX19saW5rOmhvdmVyLCAuY3MtdG9wYmFyX19saW5rOmZvY3VzLCAuY3MtdG9wYmFyX19saW5rOmFjdGl2ZSwgLmNzLXRvcGJhcl9fbGluazp2aXNpdGVkOmhvdmVyLCAuY3MtdG9wYmFyX19saW5rOnZpc2l0ZWQ6Zm9jdXMge1xuICAgICAgY29sb3I6ICM0ZDJjOTE7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH1cbiAgLmNzLXRvcGJhcl9faG90bGluZSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyOyB9XG4gIC5jcy10b3BiYXJfX3Bob25lLW51bWJlciB7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBtYXJnaW4tcmlnaHQ6IDAuOXJlbTsgfVxuICAgIC5jcy10b3BiYXJfX3Bob25lLW51bWJlciwgLmNzLXRvcGJhcl9fcGhvbmUtbnVtYmVyOnZpc2l0ZWQge1xuICAgICAgY29sb3I6ICMwMDA7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH1cbiAgICAuY3MtdG9wYmFyX19waG9uZS1udW1iZXI6aG92ZXIsIC5jcy10b3BiYXJfX3Bob25lLW51bWJlcjpmb2N1cywgLmNzLXRvcGJhcl9fcGhvbmUtbnVtYmVyOmFjdGl2ZSwgLmNzLXRvcGJhcl9fcGhvbmUtbnVtYmVyOnZpc2l0ZWQ6aG92ZXIsIC5jcy10b3BiYXJfX3Bob25lLW51bWJlcjp2aXNpdGVkOmZvY3VzIHtcbiAgICAgIGNvbG9yOiAjMDAwO1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9XG4gIC5jcy10b3BiYXIgLmNzLXRvb2xiYXJfX2l0ZW0tLWxpbWl0ZXIgPiAubGltaXRlci5jcy1saW1pdGVyIC5jb250cm9sLmNzLWxpbWl0ZXJfX2NvbnRyb2wge1xuICAgIG1hcmdpbi1yaWdodDogMXJlbTsgfVxuXG4uY3MtY29udGFpbmVyLS10b3AtYmFyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgbWF4LXdpZHRoOiBub25lOyB9XG4iLCJAaW1wb3J0ICdjb25maWcvdmFyaWFibGVzJztcbkBpbXBvcnQgJ3ZlbmRvcnMvaW5jbHVkZS1tZWRpYSc7XG5AaW1wb3J0ICdjb21wb25lbnRzL3R5cG9ncmFwaHkvbWl4aW4nO1xuQGltcG9ydCAndXRpbHMvcmVzZXQtbGlzdC1zdHlsZSc7XG5cbiR0b3BiYXJfYmFja2dyb3VuZDogdHJhbnNwYXJlbnQgIWRlZmF1bHQ7XG4kdG9wYmFyX2hlaWdodDogMi43cmVtICFkZWZhdWx0O1xuXG4kdG9wYmFyX2l0ZW0tZm9udC1zaXplOiAxLjZyZW0gIWRlZmF1bHQ7XG4kdG9wYmFyX2l0ZW0tdGV4dC1jb2xvcjogJGNvbG9yX21pbmVzaGFmdCAhZGVmYXVsdDtcbiR0b3BiYXJfZW5hYmxlLWJvcmRlcnM6IHRydWUgIWRlZmF1bHQ7XG4kdG9wYmFyX2l0ZW0tYm9yZGVyOiAwLjJyZW0gc29saWQgJGNvbG9yX3doaXRlICFkZWZhdWx0O1xuJHRvcGJhcl9pdGVtLXBob25lX251bWJlci1jb2xvcjogJGNvbG9yX2JsYWNrICFkZWZhdWx0O1xuXG4kdG9wYmFyX2xpbmstY29sb3I6ICRsaW5rLWNvbG9yX2Jhc2UgIWRlZmF1bHQ7XG4kdG9wYmFyX2xpbmstY29sb3ItaG92ZXI6ICRsaW5rLWNvbG9yX2Jhc2UtaG92ZXIgIWRlZmF1bHQ7XG4kdG9wYmFyX2xpbmstZGVjb3JhdGlvbjogbm9uZSAhZGVmYXVsdDtcbiR0b3BiYXJfbGluay1ob3Zlci1kZWNvcmF0aW9uOiAkdG9wYmFyX2xpbmstZGVjb3JhdGlvbiAhZGVmYXVsdDtcblxuJGNvbnRhaW5lcl9iYWNrZ3JvdW5kLXRvcC1iYXI6ICRjb2xvcl93aGl0ZSAhZGVmYXVsdDtcblxuLiN7JG5zfXRvcGJhciB7XG4gICAgJHJvb3Q6ICY7XG5cbiAgICBiYWNrZ3JvdW5kOiAkdG9wYmFyX2JhY2tncm91bmQ7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBmb250LXNpemU6ICR0b3BiYXJfaXRlbS1mb250LXNpemU7XG4gICAgcGFkZGluZy10b3A6IDAuNXJlbTtcblxuICAgIEBpbmNsdWRlIG1lZGlhKCc+PWxhcHRvcCcpIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgei1pbmRleDogMzAyO1xuICAgIH1cblxuICAgICZfX3dyYXBwZXIge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICAgIGZsZXgtZ3JvdzogMTtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgICBoZWlnaHQ6ICR0b3BiYXJfaGVpZ2h0O1xuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PWxhcHRvcCcpIHtcbiAgICAgICAgICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9faXRlbSB7XG4gICAgICAgIGNvbG9yOiAkdG9wYmFyX2l0ZW0tdGV4dC1jb2xvcjtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleDogMCAwIGF1dG87XG4gICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgICAgIGhlaWdodDogMTAwJTtcblxuICAgICAgICAmLS11c3BzIHtcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PWxhcHRvcExnJykge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmLS1ob3RsaW5lIHtcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgICBmbGV4OiAxO1xuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICAgICAgICB9XG5cbiAgICAgICAgJi0tbGFuZ3VhZ2Uge1xuICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICB9XG5cbiAgICAgICAgJi0tbGlua3Mge1xuICAgICAgICAgICAgLmNzLXRvcGJhcl9fbGlua3Mge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcblxuICAgICAgICAgICAgICAgIGEge1xuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6ICR0b3BiYXJfaXRlbS1mb250LXNpemU7XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkY29sb3JfdGV4dC05MDA7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbjogMC41cmVtIDJyZW07XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgYTpmaXJzdC1jaGlsZCB7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbjogMC41cmVtIDJyZW0gMC41cmVtIDByZW07XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgYTpsYXN0LWNoaWxkIHtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiAwLjVyZW0gMHJlbSAwLjVyZW0gMnJlbTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19saXN0LFxuICAgICZfX2l0ZW0+dWwge1xuICAgICAgICBAaW5jbHVkZSByZXNldC1saXN0LXN0eWxlKCk7XG5cbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIH1cblxuICAgICZfX2xpc3QtaXRlbSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgIGhlaWdodDogJHRvcGJhcl9oZWlnaHQ7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgICAmOm5vdCg6bGFzdC1jaGlsZCkge1xuICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMS4zcmVtO1xuICAgICAgICB9XG5cbiAgICAgICAgQGlmICgkdG9wYmFyX2VuYWJsZS1ib3JkZXJzKSB7XG4gICAgICAgICAgICAmOm5vdCg6bGFzdC1jaGlsZCkge1xuICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMS4zcmVtO1xuXG4gICAgICAgICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICAgICAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICAgICAgICAgICAgICByaWdodDogMDtcbiAgICAgICAgICAgICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci1yaWdodDogJHRvcGJhcl9pdGVtLWJvcmRlcjtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX190ZXh0IHtcbiAgICAgICAgY29sb3I6ICR0b3BiYXJfaXRlbS10ZXh0LWNvbG9yO1xuICAgIH1cblxuICAgICZfX2xpbmsge1xuICAgICAgICBAaW5jbHVkZSBsaW5rKCRjb2xvcjogJHRvcGJhcl9saW5rLWNvbG9yLFxuICAgICAgICAgICAgJGNvbG9yLWhvdmVyOiAkdG9wYmFyX2xpbmstY29sb3ItaG92ZXIsXG4gICAgICAgICAgICAkZGVjb3JhdGlvbjogJHRvcGJhcl9saW5rLWRlY29yYXRpb24sXG4gICAgICAgICAgICAkZGVjb3JhdGlvbi1ob3ZlcjogJHRvcGJhcl9saW5rLWhvdmVyLWRlY29yYXRpb24gKTtcblxuICAgICAgICBtYXJnaW4tcmlnaHQ6IDAuOXJlbTtcbiAgICB9XG5cbiAgICAmX19ob3RsaW5lIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICB9XG5cbiAgICAmX19waG9uZS1udW1iZXIge1xuICAgICAgICBAaW5jbHVkZSBsaW5rKCRjb2xvcjogJHRvcGJhcl9pdGVtLXBob25lX251bWJlci1jb2xvcixcbiAgICAgICAgICAgICRjb2xvci1ob3ZlcjogJHRvcGJhcl9pdGVtLXBob25lX251bWJlci1jb2xvciApO1xuXG4gICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMC45cmVtO1xuICAgIH1cblxuICAgIC5jcy10b29sYmFyX19pdGVtLS1saW1pdGVyPi5saW1pdGVyLmNzLWxpbWl0ZXIgLmNvbnRyb2wuY3MtbGltaXRlcl9fY29udHJvbCB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMXJlbTtcbiAgICB9XG59XG5cbi4jeyRuc31jb250YWluZXIge1xuICAgICYtLXRvcC1iYXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29udGFpbmVyX2JhY2tncm91bmQtdG9wLWJhcjtcbiAgICAgICAgbWF4LXdpZHRoOiBub25lO1xuICAgIH1cbn0iLCIvKipcbiAqIEJyZWFrcG9pbnQgY29tcG9uZW50IHVzZWQgYnkgaW5jbHVkZS1tZWRpYSB2ZW5kb3IgbGlicmFyeS5cbiAqL1xuQHVzZSAnc2FzczptYXAnO1xuLyoqXG4gKiBFeHRyYWN0cyBuZXN0ZWQga2V5cyBmcm9tIGdpdmVuIG1hcC5cbiAqIEV4YW1wbGU6IGRlZXAtZ2V0KCRzb21lLW1hcCwgc29tZSwgbmVzdGVkLCBrZXlzKTtcbiAqL1xuLyoqXG4qIERlZmF1bHQgcHJvamVjdCBicmVha3BvaW50cyAtIFtlbV1cbiovXG4vKipcbiAqIEJyZWFrcG9pbnQgY29tcG9uZW50IHVzZWQgYnkgaW5jbHVkZS1tZWRpYSB2ZW5kb3IgbGlicmFyeS5cbiAqL1xuQHVzZSAnc2FzczptYXAnO1xuLyoqXG4gKiBFeHRyYWN0cyBuZXN0ZWQga2V5cyBmcm9tIGdpdmVuIG1hcC5cbiAqIEV4YW1wbGU6IGRlZXAtZ2V0KCRzb21lLW1hcCwgc29tZSwgbmVzdGVkLCBrZXlzKTtcbiAqL1xuLyoqXG4qIERlZmF1bHQgcHJvamVjdCBicmVha3BvaW50cyAtIFtlbV1cbiovXG4vKiBzdHlsZWxpbnQtZGlzYWJsZSBibG9jay1uby1lbXB0eSAqL1xuLyogc3R5bGVsaW50LWVuYWJsZSAqL1xuLyoqXG4gKiBCcmVha3BvaW50IGNvbXBvbmVudCB1c2VkIGJ5IGluY2x1ZGUtbWVkaWEgdmVuZG9yIGxpYnJhcnkuXG4gKi9cbkB1c2UgJ3Nhc3M6bWFwJztcbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuaDEge1xuICBmb250LWZhbWlseTogXCJEb3Npc1wiLCBzeXN0ZW0tdWksIC1hcHBsZS1zeXN0ZW0sIFNlZ29lIFVJLCBSb2JvdG8sIFVidW50dSwgQ2FudGFyZWxsLCBPeHlnZW4sIHNhbnMtc2VyaWYsIFwiQXBwbGUgQ29sb3IgRW1vamlcIiwgXCJTZWdvZSBVSSBFbW9qaVwiLCBcIlNlZ29lIFVJIFN5bWJvbFwiLCBcIk5vdG8gQ29sb3IgRW1vamlcIjtcbiAgZm9udC1zaXplOiAyLjZyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjE7XG4gIGNvbG9yOiAjNDU1YTY0O1xuICBmb250LXdlaWdodDogNzAwO1xuICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgbWFyZ2luOiAxcmVtIDAgMnJlbTsgfVxuXG5oMiB7XG4gIGZvbnQtZmFtaWx5OiBcIkRvc2lzXCIsIHN5c3RlbS11aSwgLWFwcGxlLXN5c3RlbSwgU2Vnb2UgVUksIFJvYm90bywgVWJ1bnR1LCBDYW50YXJlbGwsIE94eWdlbiwgc2Fucy1zZXJpZiwgXCJBcHBsZSBDb2xvciBFbW9qaVwiLCBcIlNlZ29lIFVJIEVtb2ppXCIsIFwiU2Vnb2UgVUkgU3ltYm9sXCIsIFwiTm90byBDb2xvciBFbW9qaVwiO1xuICBmb250LXNpemU6IDIuNnJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuMTtcbiAgY29sb3I6ICM0NTVhNjQ7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICBtYXJnaW46IDFyZW0gMCAycmVtOyB9XG5cbmgzIHtcbiAgZm9udC1mYW1pbHk6IFwiRG9zaXNcIiwgc3lzdGVtLXVpLCAtYXBwbGUtc3lzdGVtLCBTZWdvZSBVSSwgUm9ib3RvLCBVYnVudHUsIENhbnRhcmVsbCwgT3h5Z2VuLCBzYW5zLXNlcmlmLCBcIkFwcGxlIENvbG9yIEVtb2ppXCIsIFwiU2Vnb2UgVUkgRW1vamlcIiwgXCJTZWdvZSBVSSBTeW1ib2xcIiwgXCJOb3RvIENvbG9yIEVtb2ppXCI7XG4gIGZvbnQtc2l6ZTogMS44cmVtO1xuICBsaW5lLWhlaWdodDogMS4xO1xuICBjb2xvcjogIzQ1NWE2NDtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gIG1hcmdpbjogMXJlbSAwIDJyZW07IH1cblxuaDQge1xuICBmb250LWZhbWlseTogXCJEb3Npc1wiLCBzeXN0ZW0tdWksIC1hcHBsZS1zeXN0ZW0sIFNlZ29lIFVJLCBSb2JvdG8sIFVidW50dSwgQ2FudGFyZWxsLCBPeHlnZW4sIHNhbnMtc2VyaWYsIFwiQXBwbGUgQ29sb3IgRW1vamlcIiwgXCJTZWdvZSBVSSBFbW9qaVwiLCBcIlNlZ29lIFVJIFN5bWJvbFwiLCBcIk5vdG8gQ29sb3IgRW1vamlcIjtcbiAgZm9udC1zaXplOiAxLjVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjE7XG4gIGNvbG9yOiAjNDU1YTY0O1xuICBmb250LXdlaWdodDogNzAwO1xuICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgbWFyZ2luOiAxcmVtIDAgMnJlbTsgfVxuXG5oNSB7XG4gIGZvbnQtZmFtaWx5OiBcIkRvc2lzXCIsIHN5c3RlbS11aSwgLWFwcGxlLXN5c3RlbSwgU2Vnb2UgVUksIFJvYm90bywgVWJ1bnR1LCBDYW50YXJlbGwsIE94eWdlbiwgc2Fucy1zZXJpZiwgXCJBcHBsZSBDb2xvciBFbW9qaVwiLCBcIlNlZ29lIFVJIEVtb2ppXCIsIFwiU2Vnb2UgVUkgU3ltYm9sXCIsIFwiTm90byBDb2xvciBFbW9qaVwiO1xuICBmb250LXNpemU6IDEuMXJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuMTtcbiAgY29sb3I6ICM0NTVhNjQ7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICBtYXJnaW46IDFyZW0gMCAycmVtOyB9XG5cbmg2IHtcbiAgZm9udC1mYW1pbHk6IFwiRG9zaXNcIiwgc3lzdGVtLXVpLCAtYXBwbGUtc3lzdGVtLCBTZWdvZSBVSSwgUm9ib3RvLCBVYnVudHUsIENhbnRhcmVsbCwgT3h5Z2VuLCBzYW5zLXNlcmlmLCBcIkFwcGxlIENvbG9yIEVtb2ppXCIsIFwiU2Vnb2UgVUkgRW1vamlcIiwgXCJTZWdvZSBVSSBTeW1ib2xcIiwgXCJOb3RvIENvbG9yIEVtb2ppXCI7XG4gIGZvbnQtc2l6ZTogMXJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuMTtcbiAgY29sb3I6ICM0NTVhNjQ7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICBtYXJnaW46IDFyZW0gMCAycmVtOyB9XG5cbmEsIGE6dmlzaXRlZCB7XG4gIGNvbG9yOiAjN2U1N2MyO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH1cblxuYTpob3ZlciwgYTpmb2N1cywgYTphY3RpdmUsIGE6dmlzaXRlZDpob3ZlciwgYTp2aXNpdGVkOmZvY3VzIHtcbiAgY29sb3I6ICM0ZDJjOTE7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfVxuXG51bCxcbm9sIHtcbiAgbWFyZ2luOiAwIDAgMi41cmVtO1xuICBwYWRkaW5nOiAwIDAgMCA0cmVtOyB9XG4gIHVsID4gbGksXG4gIG9sID4gbGkge1xuICAgIG1hcmdpbjogMCAwIDFyZW07IH1cblxuYm9keSB7XG4gIGNvbG9yOiAjNDU1YTY0OyB9XG4iLCJAaW1wb3J0ICdjb25maWcvdmFyaWFibGVzJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvdHlwb2dyYXBoeS9taXhpbic7XG5cbmgxIHtcbiAgICBAaW5jbHVkZSBoZWFkbGluZSgkbGV2ZWw6ICRmb250LXNpemVfaGVhZGxpbmUtMSk7XG59XG5cbmgyIHtcbiAgICBAaW5jbHVkZSBoZWFkbGluZSgkbGV2ZWw6ICRmb250LXNpemVfaGVhZGxpbmUtMik7XG59XG5cbmgzIHtcbiAgICBAaW5jbHVkZSBoZWFkbGluZSgkbGV2ZWw6ICRmb250LXNpemVfaGVhZGxpbmUtMyk7XG59XG5cbmg0IHtcbiAgICBAaW5jbHVkZSBoZWFkbGluZSgkbGV2ZWw6ICRmb250LXNpemVfaGVhZGxpbmUtNCk7XG59XG5cbmg1IHtcbiAgICBAaW5jbHVkZSBoZWFkbGluZSgkbGV2ZWw6ICRmb250LXNpemVfaGVhZGxpbmUtNSk7XG59XG5cbmg2IHtcbiAgICBAaW5jbHVkZSBoZWFkbGluZSgkbGV2ZWw6ICRmb250LXNpemVfaGVhZGxpbmUtNik7XG59XG5cbmEge1xuICAgIEBpbmNsdWRlIGxpbmsoKTtcbn1cblxudWwsXG5vbCB7XG4gICAgQGluY2x1ZGUgbGlzdCgpO1xuXG4gICAgPmxpIHtcbiAgICAgICAgQGluY2x1ZGUgbGlzdC1pdGVtKCk7XG4gICAgfVxufVxuXG5ib2R5IHtcbiAgICBjb2xvcjogJGNvbG9yX3RleHQtOTAwO1xufSIsIi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG5AdXNlICdzYXNzOm1hcCc7XG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG4vKipcbiogRGVmYXVsdCBwcm9qZWN0IGJyZWFrcG9pbnRzIC0gW2VtXVxuKi9cbi5jcy1pbWFnZS10ZWFzZXJfX3NsaWRlLS1oYXMtdmlkZW8tdGVhc2VyIC5jcy1pbWFnZS10ZWFzZXJfX3BpY3R1cmUge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cblxuLmNzLWltYWdlLXRlYXNlcl9fc2xpZGUtLWhhcy12aWRlby10ZWFzZXIgLmNzLWltYWdlLXRlYXNlcl9fY29udGVudCxcbi5jcy1pbWFnZS10ZWFzZXJfX3NsaWRlLS1oYXMtdmlkZW8tdGVhc2VyIC5jcy1pbWFnZS10ZWFzZXJfX292ZXJsYXksXG4uY3MtaW1hZ2UtdGVhc2VyX19zbGlkZS0taGFzLXZpZGVvLXRlYXNlciAuY3MtaW1hZ2UtdGVhc2VyX19ncmFkaWVudCxcbi5jcy1pbWFnZS10ZWFzZXJfX3NsaWRlLS1oYXMtdmlkZW8tdGVhc2VyIC5jcy1pbWFnZS10ZWFzZXJfX29wdGltaXplci1jb250YWluZXIge1xuICB6LWluZGV4OiAxOyB9XG5cbi5jcy1pbWFnZS10ZWFzZXIgW2RhdGEtdmlkZW8tdGVhc2VyXSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICB6LWluZGV4OiAxOyB9XG4gIC5jcy1pbWFnZS10ZWFzZXIgW2RhdGEtdmlkZW8tdGVhc2VyXTplbXB0eSB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuXG4uY3MtaW1hZ2UtdGVhc2VyIFtpZF49J3ZpZGVvLXRlYXNlciddIHtcbiAgd2lkdGg6IDEwMCU7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbGVmdDogNTAlO1xuICB0b3A6IDUwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lOyB9XG4iLCJAaW1wb3J0ICdjb25maWcvdmFyaWFibGVzJztcblxuJHZ0X2Rpc2FibGUtcG9pbnRlci1ldmVudHM6IHRydWUgIWRlZmF1bHQ7XG5cbi4jeyRuc31pbWFnZS10ZWFzZXIge1xuICAgICRyb290OiAmO1xuXG4gICAgJl9fc2xpZGUtLWhhcy12aWRlby10ZWFzZXIge1xuICAgICAgICAjeyRyb290fV9fcGljdHVyZSB7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBTaG93IHRleHQtY29udGVudCBhbmQgb3ZlcmxheXMgb3ZlciB0aGUgdmlkZW9cbiAgICAgICAgLy8gSWYgYWRkZWQgb24gY29udGVudC13cmFwcGVyIHdpbGwgcHJldmVudCBpbnRlcmFjdGlvbiB3aXRoIHZpZGVvXG4gICAgICAgICN7JHJvb3R9X19jb250ZW50LFxuICAgICAgICAjeyRyb290fV9fb3ZlcmxheSxcbiAgICAgICAgI3skcm9vdH1fX2dyYWRpZW50LFxuICAgICAgICAjeyRyb290fV9fb3B0aW1pemVyLWNvbnRhaW5lciB7XG4gICAgICAgICAgICB6LWluZGV4OiAxO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLy8gUmVuZGVyIHZpZGVvIHRlYXNlciBvdmVyIHRoZSBpbWFnZVxuICAgIFtkYXRhLXZpZGVvLXRlYXNlcl0ge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgei1pbmRleDogMTtcblxuICAgICAgICAvLyBIaWRlIHZpZGVvIHBsYWNlaG9sZGVyIGlmIHZpZGVvIGlzIG5vdCByZW5kZXJlZFxuICAgICAgICAmOmVtcHR5IHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBJZiB2aWRlbyBkb2VzIG5vdCBmaXQgaW1hZ2UgYXNwZWN0IHJhdGlvLCBpdCB3aWxsIGNlbnRlciBpdHNlbGYgaW4gdGhlIGNvbnRhaW5lclxuICAgIFtpZF49J3ZpZGVvLXRlYXNlciddIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgbGVmdDogNTAlO1xuICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG5cbiAgICAgICAgQGlmICR2dF9kaXNhYmxlLXBvaW50ZXItZXZlbnRzIHtcbiAgICAgICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgICAgICB9XG4gICAgfVxufVxuIiwiQGNoYXJzZXQgXCJVVEYtOFwiO1xuLyoqXG4gKiBCcmVha3BvaW50IGNvbXBvbmVudCB1c2VkIGJ5IGluY2x1ZGUtbWVkaWEgdmVuZG9yIGxpYnJhcnkuXG4gKi9cbkB1c2UgJ3Nhc3M6bWFwJztcbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuLyoqKlxuICogSGlkZSBvbmx5IHZpc3VhbGx5LCBidXQgaGF2ZSBpdCBhdmFpbGFibGUgZm9yIHNjcmVlbiByZWFkZXJzOlxuICogaHR0cHM6Ly9zbm9vay5jYS9hcmNoaXZlcy9odG1sX2FuZF9jc3MvaGlkaW5nLWNvbnRlbnQtZm9yLWFjY2Vzc2liaWxpdHlcbiAqXG4gKiAxLiBGb3IgbG9uZyBjb250ZW50LCBsaW5lIGZlZWRzIGFyZSBub3QgaW50ZXJwcmV0ZWQgYXMgc3BhY2VzIGFuZCBzbWFsbCB3aWR0aFxuICogICAgY2F1c2VzIGNvbnRlbnQgdG8gd3JhcCAxIHdvcmQgcGVyIGxpbmU6XG4gKiAgICBodHRwczovL21lZGl1bS5jb20vQGplc3NlYmVhY2gvYmV3YXJlLXNtdXNoZWQtb2ZmLXNjcmVlbi1hY2Nlc3NpYmxlLXRleHQtNTk1MmE0YzJjYmZlXG4gKlxuICogQHNlZSBodHRwczovL2dpdGh1Yi5jb20vaDVicC9odG1sNS1ib2lsZXJwbGF0ZS9ibG9iL21hc3Rlci9zcmMvY3NzL21haW4uY3NzI0wxMzBcbiAqL1xuLyoqXG4gKiBCcmVha3BvaW50IGNvbXBvbmVudCB1c2VkIGJ5IGluY2x1ZGUtbWVkaWEgdmVuZG9yIGxpYnJhcnkuXG4gKi9cbkB1c2UgJ3Nhc3M6bWFwJztcbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuLmJvZHkge1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBiYWNrZ3JvdW5kOiAjRTNFM0UzO1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgfVxuXG5Aa2V5ZnJhbWVzIHNjcm9sbCB7XG4gIDAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7IH1cbiAgMTAwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKGNhbGMoLTI1MHB4ICogNykpOyB9IH1cblxuLnNsaWRlciB7XG4gIGJhY2tncm91bmQ6ICNlY2VmZjE7XG4gIGJveC1zaGFkb3c6IDAgMTBweCAyMHB4IC01cHggcmdiYSgwLCAwLCAwLCAwLjEyNSk7XG4gIGhlaWdodDogMTQwcHg7XG4gIG1hcmdpbjogYXV0bztcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aWR0aDogMTc0cmVtOyB9XG4gIC5zbGlkZXI6OmJlZm9yZSwgLnNsaWRlcjo6YWZ0ZXIge1xuICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh0byByaWdodCwgd2hpdGUgMCUsIHJnYmEoMjU1LCAyNTUsIDI1NSwgMCkgMTAwJSk7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBoZWlnaHQ6IDE0MHB4O1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB3aWR0aDogMjAwcHg7XG4gICAgei1pbmRleDogMjsgfVxuICAuc2xpZGVyOjphZnRlciB7XG4gICAgcmlnaHQ6IDA7XG4gICAgdG9wOiAwO1xuICAgIHRyYW5zZm9ybTogcm90YXRlWigxODBkZWcpOyB9XG4gIC5zbGlkZXI6OmJlZm9yZSB7XG4gICAgbGVmdDogMDtcbiAgICB0b3A6IDA7IH1cbiAgLnNsaWRlciAuc2xpZGUtdHJhY2sge1xuICAgIGFuaW1hdGlvbjogc2Nyb2xsIDQwcyBsaW5lYXIgaW5maW5pdGU7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICB3aWR0aDogY2FsYygyNTZweCAqIDE0KTsgfVxuICAuc2xpZGVyIC5zbGlkZSB7XG4gICAgaGVpZ2h0OiAxMDBweDtcbiAgICB3aWR0aDogMjUwcHg7XG4gICAgcGFkZGluZzogMTBweDsgfVxuXG4uY3MtcHJvZHVjdHMtY2Fyb3VzZWwgLmNzLXByb2R1Y3RzLWNhcm91c2VsX19zbGlkZXMge1xuICAtbXMtb3ZlcmZsb3ctc3R5bGU6IG5vbmU7XG4gIC8qIGZvciBJbnRlcm5ldCBFeHBsb3JlciwgRWRnZSAqL1xuICBzY3JvbGxiYXItd2lkdGg6IG5vbmU7XG4gIC8qIGZvciBGaXJlZm94ICovXG4gIG92ZXJmbG93LXk6IHNjcm9sbDsgfVxuICAuY3MtcHJvZHVjdHMtY2Fyb3VzZWwgLmNzLXByb2R1Y3RzLWNhcm91c2VsX19zbGlkZXM6Oi13ZWJraXQtc2Nyb2xsYmFyIHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG5cbi5jaGVja291dC1jYXJ0LWluZGV4IGJ1dHRvbiN1cGRhdGUtY2FydC1idXR0b24sXG4uY2hlY2tvdXQtY2FydC1pbmRleCBidXR0b24jZW1wdHlfY2FydF9idXR0b24ge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbkBtZWRpYSAobWF4LXdpZHRoOiA0Ny45OWVtKSB7XG4gIC5wYWdlLXdpdGgtZmlsdGVyIC5mYXN0LWRlbGl2ZXJ5LWJveCB7XG4gICAgZGlzcGxheTogbm9uZTsgfSB9XG5cbi5jcy1saW1pdGVyX19jb250cm9sIHtcbiAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XG5cbmxpLmNzLWxpbmtzLWJsb2NrLWFkZHRvX19pdGVtLmNzLWxpbmtzLWJsb2NrLWFkZHRvX19pdGVtLS1jb21wYXJlIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG4uY3MtY2hlY2tvdXQgLnRhYmxlLWNoZWNrb3V0LXNoaXBwaW5nLW1ldGhvZCAuY29sLmNvbC1wcmljZTo6YmVmb3JlIHtcbiAgY29udGVudDogXCJqdcW8IG9kIFwiOyB9XG5cbi5jcy1wcm9kdWN0cy1jYXJvdXNlbF9fc2xpZGVzLXdyYXBwZXIgPiAuY3MtcHJvZHVjdHMtY2Fyb3VzZWxfX3NsaWRlcyA+IC5jcy1wcm9kdWN0cy1jYXJvdXNlbF9fc2xpZGUgPiAuY3MtcHJvZHVjdHMtY2Fyb3VzZWxfX3Byb2R1Y3QtdGlsZSA+IC5jcy1wcm9kdWN0LXRpbGUge1xuICBtaW4taGVpZ2h0OiAzMDBweDsgfVxuXG4uY3Mtb2ZmY2FudmFzLW5hdmlnYXRpb24gPiAuY3Mtb2ZmY2FudmFzLW5hdmlnYXRpb25fX2xpc3QuY3Mtb2ZmY2FudmFzLW5hdmlnYXRpb25fX2xpc3QtLWxldmVsXzAgLmNzLW9mZmNhbnZhcy1uYXZpZ2F0aW9uX19saXN0LmNzLW9mZmNhbnZhcy1uYXZpZ2F0aW9uX19saXN0LS1sZXZlbF8xLmNzLW9mZmNhbnZhcy1uYXZpZ2F0aW9uX19saXN0LS1hY3RpdmUge1xuICB0b3A6IDEwMHB4ICFpbXBvcnRhbnQ7IH1cblxuLmNzLW9mZmNhbnZhcy1uYXZpZ2F0aW9uID4gLmNzLW9mZmNhbnZhcy1uYXZpZ2F0aW9uX19saXN0LmNzLW9mZmNhbnZhcy1uYXZpZ2F0aW9uX19saXN0LS1sZXZlbF8wIC5jcy1vZmZjYW52YXMtbmF2aWdhdGlvbl9fbGlzdC5jcy1vZmZjYW52YXMtbmF2aWdhdGlvbl9fbGlzdC0tbGV2ZWxfMSAuY3Mtb2ZmY2FudmFzLW5hdmlnYXRpb25fX2xpc3QuY3Mtb2ZmY2FudmFzLW5hdmlnYXRpb25fX2xpc3QtLWxldmVsXzIuY3Mtb2ZmY2FudmFzLW5hdmlnYXRpb25fX2xpc3QtLWFjdGl2ZSB7XG4gIHRvcDogMHB4ICFpbXBvcnRhbnQ7IH1cbiIsIkBpbXBvcnQgJ2NvbmZpZy92YXJpYWJsZXMnO1xuQGltcG9ydCAndXRpbHMvdmlzdWFsbHktaGlkZGVuJztcbkBpbXBvcnQgJ3ZlbmRvcnMvaW5jbHVkZS1tZWRpYSc7XG5cbi5ib2R5IHtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0YmFja2dyb3VuZDogI0UzRTNFMztcblx0ZGlzcGxheTogZmxleDtcblx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG59XG5cbkBtaXhpbiB3aGl0ZS1ncmFkaWVudCB7XG5cdGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh0byByaWdodCwgcmdiYSgyNTUsIDI1NSwgMjU1LCAxKSAwJSwgcmdiYSgyNTUsIDI1NSwgMjU1LCAwKSAxMDAlKTtcbn1cblxuJGFuaW1hdGlvblNwZWVkOiA0MHM7XG5cbi8vIEFuaW1hdGlvblxuQGtleWZyYW1lcyBzY3JvbGwge1xuXHQwJSB7XG5cdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xuXHR9XG5cblx0MTAwJSB7XG5cdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGVYKGNhbGMoLTI1MHB4ICogNykpXG5cdH1cbn1cblxuXG4vLyBTdHlsaW5nXG4uc2xpZGVyIHtcblx0YmFja2dyb3VuZDogI2VjZWZmMTtcblx0Ym94LXNoYWRvdzogMCAxMHB4IDIwcHggLTVweCByZ2JhKDAsIDAsIDAsIC4xMjUpO1xuXHRoZWlnaHQ6IDE0MHB4O1xuXHRtYXJnaW46IGF1dG87XG5cdG92ZXJmbG93OiBoaWRkZW47XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0d2lkdGg6IDE3NHJlbTtcblxuXHQmOjpiZWZvcmUsXG5cdCY6OmFmdGVyIHtcblx0XHRAaW5jbHVkZSB3aGl0ZS1ncmFkaWVudDtcblx0XHRjb250ZW50OiBcIlwiO1xuXHRcdGhlaWdodDogMTQwcHg7XG5cdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdHdpZHRoOiAyMDBweDtcblx0XHR6LWluZGV4OiAyO1xuXHR9XG5cblx0Jjo6YWZ0ZXIge1xuXHRcdHJpZ2h0OiAwO1xuXHRcdHRvcDogMDtcblx0XHR0cmFuc2Zvcm06IHJvdGF0ZVooMTgwZGVnKTtcblx0fVxuXG5cdCY6OmJlZm9yZSB7XG5cdFx0bGVmdDogMDtcblx0XHR0b3A6IDA7XG5cdH1cblxuXHQuc2xpZGUtdHJhY2sge1xuXHRcdGFuaW1hdGlvbjogc2Nyb2xsICRhbmltYXRpb25TcGVlZCBsaW5lYXIgaW5maW5pdGU7XG5cdFx0ZGlzcGxheTogZmxleDtcblx0XHR3aWR0aDogY2FsYygyNTZweCAqIDE0KTtcblx0fVxuXG5cdC5zbGlkZSB7XG5cdFx0aGVpZ2h0OiAxMDBweDtcblx0XHR3aWR0aDogMjUwcHg7XG5cdFx0cGFkZGluZzogMTBweDtcblx0fVxufVxuXG4vLyBTY3JvbGxiYXIgaGlkZGVuIG9uIHNsaWRlcnNcbi5jcy1wcm9kdWN0cy1jYXJvdXNlbCB7XG5cdC5jcy1wcm9kdWN0cy1jYXJvdXNlbF9fc2xpZGVzIHtcblx0XHQtbXMtb3ZlcmZsb3ctc3R5bGU6IG5vbmU7XG5cdFx0LyogZm9yIEludGVybmV0IEV4cGxvcmVyLCBFZGdlICovXG5cdFx0c2Nyb2xsYmFyLXdpZHRoOiBub25lO1xuXHRcdC8qIGZvciBGaXJlZm94ICovXG5cdFx0b3ZlcmZsb3cteTogc2Nyb2xsO1xuXG5cdFx0Jjo6LXdlYmtpdC1zY3JvbGxiYXIge1xuXHRcdFx0ZGlzcGxheTogbm9uZTtcblx0XHR9XG5cdH1cbn1cblxuXG4vLyBDaGVja291dCBjYXJ0IGhpZGRlbiBidXR0b25cbi5jaGVja291dC1jYXJ0LWluZGV4IHtcblxuXHRidXR0b24jdXBkYXRlLWNhcnQtYnV0dG9uLFxuXHRidXR0b24jZW1wdHlfY2FydF9idXR0b24ge1xuXHRcdGRpc3BsYXk6IG5vbmU7XG5cdH1cbn1cblxuXG4vL2Zhc3QgZGVsaXZlcnkgYm94IGhpZGRlbiBvbiBwYWdlIHdpdGggZmlsdGVyXG4ucGFnZS13aXRoLWZpbHRlciB7XG5cdC5mYXN0LWRlbGl2ZXJ5LWJveCB7XG5cdFx0QGluY2x1ZGUgbWVkaWEoJzx0YWJsZXQnKSB7XG5cdFx0XHRkaXNwbGF5OiBub25lO1xuXHRcdH1cblx0fVxufVxuXG4vL2xpbWl0ZXJfX3BhZ2luYXRpb24gaGlkZGVuIG9uIHBhZ2Ugd2l0aCBmaWx0ZXJcbi5jcy1saW1pdGVyX19jb250cm9sIHtcblx0ZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xufVxuXG4vL2NvbXBhcmUgcHJvZHVjdCBoaWRkZW4gb24gcHJvZHVjdCB0aWxlXG5saS5jcy1saW5rcy1ibG9jay1hZGR0b19faXRlbS5jcy1saW5rcy1ibG9jay1hZGR0b19faXRlbS0tY29tcGFyZSB7XG5cdGRpc3BsYXk6IG5vbmU7XG59XG5cbi5jcy1jaGVja291dCAudGFibGUtY2hlY2tvdXQtc2hpcHBpbmctbWV0aG9kIC5jb2wuY29sLXByaWNlOjpiZWZvcmUge1xuXHRjb250ZW50OiBcImp1xbwgb2QgXCI7XG59XG5cbi8vIGZpeCBmb3IgaGVpZ2h0IG9mIHRpbGUgb24gc2xpZGVyc1xuLmNzLXByb2R1Y3RzLWNhcm91c2VsX19zbGlkZXMtd3JhcHBlcj4uY3MtcHJvZHVjdHMtY2Fyb3VzZWxfX3NsaWRlcz4uY3MtcHJvZHVjdHMtY2Fyb3VzZWxfX3NsaWRlPi5jcy1wcm9kdWN0cy1jYXJvdXNlbF9fcHJvZHVjdC10aWxlPi5jcy1wcm9kdWN0LXRpbGUge1xuXHRtaW4taGVpZ2h0OiAzMDBweDtcbn1cblxuXG4vLyBtb2JpbGUgbWVudSBoZWlnaHRzIGZpeFxuLmNzLW9mZmNhbnZhcy1uYXZpZ2F0aW9uPi5jcy1vZmZjYW52YXMtbmF2aWdhdGlvbl9fbGlzdC5jcy1vZmZjYW52YXMtbmF2aWdhdGlvbl9fbGlzdC0tbGV2ZWxfMCAuY3Mtb2ZmY2FudmFzLW5hdmlnYXRpb25fX2xpc3QuY3Mtb2ZmY2FudmFzLW5hdmlnYXRpb25fX2xpc3QtLWxldmVsXzEuY3Mtb2ZmY2FudmFzLW5hdmlnYXRpb25fX2xpc3QtLWFjdGl2ZSB7XG5cdHRvcDogMTAwcHggIWltcG9ydGFudDtcbn1cblxuLmNzLW9mZmNhbnZhcy1uYXZpZ2F0aW9uPi5jcy1vZmZjYW52YXMtbmF2aWdhdGlvbl9fbGlzdC5jcy1vZmZjYW52YXMtbmF2aWdhdGlvbl9fbGlzdC0tbGV2ZWxfMCAuY3Mtb2ZmY2FudmFzLW5hdmlnYXRpb25fX2xpc3QuY3Mtb2ZmY2FudmFzLW5hdmlnYXRpb25fX2xpc3QtLWxldmVsXzEgLmNzLW9mZmNhbnZhcy1uYXZpZ2F0aW9uX19saXN0LmNzLW9mZmNhbnZhcy1uYXZpZ2F0aW9uX19saXN0LS1sZXZlbF8yLmNzLW9mZmNhbnZhcy1uYXZpZ2F0aW9uX19saXN0LS1hY3RpdmUge1xuXHR0b3A6IDBweCAhaW1wb3J0YW50O1xufSIsIi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG5AdXNlICdzYXNzOm1hcCc7XG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG4vKipcbiogRGVmYXVsdCBwcm9qZWN0IGJyZWFrcG9pbnRzIC0gW2VtXVxuKi9cbi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG5AdXNlICdzYXNzOm1hcCc7XG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG4vKipcbiogRGVmYXVsdCBwcm9qZWN0IGJyZWFrcG9pbnRzIC0gW2VtXVxuKi9cbi5wYWdlLXByb2R1Y3QtZ3JvdXBlZCAuY3MtYnV5Ym94X19wcmljZSB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuLnBhZ2UtcHJvZHVjdC1ncm91cGVkIC50YWJsZS13cmFwcGVyLmdyb3VwZWQsXG4uY2F0YWxvZy1wcm9kdWN0LXZpZXcgLnRhYmxlLXdyYXBwZXIuZ3JvdXBlZCB7XG4gIGJhY2tncm91bmQ6ICNlZGVmZjE7XG4gIHBhZGRpbmc6IDJyZW0gMS41cmVtOyB9XG4gIC5wYWdlLXByb2R1Y3QtZ3JvdXBlZCAudGFibGUtd3JhcHBlci5ncm91cGVkIC5hdmFpbGFibGUtY291bnQtbm90aWNlLFxuICAuY2F0YWxvZy1wcm9kdWN0LXZpZXcgLnRhYmxlLXdyYXBwZXIuZ3JvdXBlZCAuYXZhaWxhYmxlLWNvdW50LW5vdGljZSB7XG4gICAgbWF4LXdpZHRoOiAxMjhyZW07XG4gICAgbWFyZ2luOiAwIGF1dG87IH1cbiAgICAucGFnZS1wcm9kdWN0LWdyb3VwZWQgLnRhYmxlLXdyYXBwZXIuZ3JvdXBlZCAuYXZhaWxhYmxlLWNvdW50LW5vdGljZSBoMyxcbiAgICAuY2F0YWxvZy1wcm9kdWN0LXZpZXcgLnRhYmxlLXdyYXBwZXIuZ3JvdXBlZCAuYXZhaWxhYmxlLWNvdW50LW5vdGljZSBoMyB7XG4gICAgICBmb250LXNpemU6IDIuOXJlbTtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICAgICAgY29sb3I6ICM0NTVhNjQ7IH1cbiAgICAgIC5wYWdlLXByb2R1Y3QtZ3JvdXBlZCAudGFibGUtd3JhcHBlci5ncm91cGVkIC5hdmFpbGFibGUtY291bnQtbm90aWNlIGgzIC5jb3VudGVyLFxuICAgICAgLmNhdGFsb2ctcHJvZHVjdC12aWV3IC50YWJsZS13cmFwcGVyLmdyb3VwZWQgLmF2YWlsYWJsZS1jb3VudC1ub3RpY2UgaDMgLmNvdW50ZXIge1xuICAgICAgICBjb2xvcjogIzdlNTdjMjtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IH1cblxuLnBhZ2UtcHJvZHVjdC1ncm91cGVkIHRhYmxlLmdyb3VwZWQsXG4uY2F0YWxvZy1wcm9kdWN0LXZpZXcgdGFibGUuZ3JvdXBlZCB7XG4gIG1heC13aWR0aDogMTI4cmVtO1xuICBtYXJnaW46IDAgYXV0bztcbiAgd2lkdGg6IDEwMCU7XG4gIHRhYmxlLWxheW91dDogZml4ZWQ7XG4gIG92ZXJmbG93LXdyYXA6IGJyZWFrLXdvcmQ7IH1cbiAgLnBhZ2UtcHJvZHVjdC1ncm91cGVkIHRhYmxlLmdyb3VwZWQgdGhlYWQgdHIgLmNvbC5pdGVtLFxuICAuY2F0YWxvZy1wcm9kdWN0LXZpZXcgdGFibGUuZ3JvdXBlZCB0aGVhZCB0ciAuY29sLml0ZW0ge1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gIC5wYWdlLXByb2R1Y3QtZ3JvdXBlZCB0YWJsZS5ncm91cGVkIC5hc3NvY2lhdGVkLXByb2R1Y3QsXG4gIC5jYXRhbG9nLXByb2R1Y3QtdmlldyB0YWJsZS5ncm91cGVkIC5hc3NvY2lhdGVkLXByb2R1Y3Qge1xuICAgIG1pbi1oZWlnaHQ6IDc1cHg7XG4gICAgcGFkZGluZzogMXJlbTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgICBiYWNrZ3JvdW5kOiB3aGl0ZSAhaW1wb3J0YW50O1xuICAgIGJvcmRlci1yYWRpdXM6IDdweDsgfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA0OGVtKSB7XG4gICAgICAucGFnZS1wcm9kdWN0LWdyb3VwZWQgdGFibGUuZ3JvdXBlZCAuYXNzb2NpYXRlZC1wcm9kdWN0LFxuICAgICAgLmNhdGFsb2ctcHJvZHVjdC12aWV3IHRhYmxlLmdyb3VwZWQgLmFzc29jaWF0ZWQtcHJvZHVjdCB7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IH0gfVxuICAgIC5wYWdlLXByb2R1Y3QtZ3JvdXBlZCB0YWJsZS5ncm91cGVkIC5hc3NvY2lhdGVkLXByb2R1Y3QgPiB0ZCxcbiAgICAuY2F0YWxvZy1wcm9kdWN0LXZpZXcgdGFibGUuZ3JvdXBlZCAuYXNzb2NpYXRlZC1wcm9kdWN0ID4gdGQge1xuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICBib3JkZXItYm90dG9tOiB1bnNldCAhaW1wb3J0YW50OyB9XG4gICAgICBAbWVkaWEgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgICAucGFnZS1wcm9kdWN0LWdyb3VwZWQgdGFibGUuZ3JvdXBlZCAuYXNzb2NpYXRlZC1wcm9kdWN0ID4gdGQsXG4gICAgICAgIC5jYXRhbG9nLXByb2R1Y3QtdmlldyB0YWJsZS5ncm91cGVkIC5hc3NvY2lhdGVkLXByb2R1Y3QgPiB0ZCB7XG4gICAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdzsgfSB9XG4gICAgLnBhZ2UtcHJvZHVjdC1ncm91cGVkIHRhYmxlLmdyb3VwZWQgLmFzc29jaWF0ZWQtcHJvZHVjdCAucm93LXRpZXItcHJpY2UsXG4gICAgLmNhdGFsb2ctcHJvZHVjdC12aWV3IHRhYmxlLmdyb3VwZWQgLmFzc29jaWF0ZWQtcHJvZHVjdCAucm93LXRpZXItcHJpY2Uge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gICAgICBwYWRkaW5nLXRvcDogMHB4OyB9XG4gICAgICAucGFnZS1wcm9kdWN0LWdyb3VwZWQgdGFibGUuZ3JvdXBlZCAuYXNzb2NpYXRlZC1wcm9kdWN0IC5yb3ctdGllci1wcmljZSAuYm94LXRpZXItcHJpY2UsXG4gICAgICAuY2F0YWxvZy1wcm9kdWN0LXZpZXcgdGFibGUuZ3JvdXBlZCAuYXNzb2NpYXRlZC1wcm9kdWN0IC5yb3ctdGllci1wcmljZSAuYm94LXRpZXItcHJpY2Uge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICBhbGlnbi1pdGVtczogZmxleC1lbmQ7IH1cbiAgICAgIC5wYWdlLXByb2R1Y3QtZ3JvdXBlZCB0YWJsZS5ncm91cGVkIC5hc3NvY2lhdGVkLXByb2R1Y3QgLnJvdy10aWVyLXByaWNlIC5wcmljZXMtdGllci5pdGVtcyxcbiAgICAgIC5jYXRhbG9nLXByb2R1Y3QtdmlldyB0YWJsZS5ncm91cGVkIC5hc3NvY2lhdGVkLXByb2R1Y3QgLnJvdy10aWVyLXByaWNlIC5wcmljZXMtdGllci5pdGVtcyB7XG4gICAgICAgIG1hcmdpbjogMHB4O1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICBhbGlnbi1pdGVtczogZmxleC1lbmQ7IH1cbiAgICAgIC5wYWdlLXByb2R1Y3QtZ3JvdXBlZCB0YWJsZS5ncm91cGVkIC5hc3NvY2lhdGVkLXByb2R1Y3QgLnJvdy10aWVyLXByaWNlIC5wcmljZXMtdGllci5pdGVtcyA+IC5pdGVtLFxuICAgICAgLmNhdGFsb2ctcHJvZHVjdC12aWV3IHRhYmxlLmdyb3VwZWQgLmFzc29jaWF0ZWQtcHJvZHVjdCAucm93LXRpZXItcHJpY2UgLnByaWNlcy10aWVyLml0ZW1zID4gLml0ZW0ge1xuICAgICAgICBtYXJnaW46IDBweDsgfVxuICAgICAgLnBhZ2UtcHJvZHVjdC1ncm91cGVkIHRhYmxlLmdyb3VwZWQgLmFzc29jaWF0ZWQtcHJvZHVjdCAucm93LXRpZXItcHJpY2UgLmJ0bi1saW5rLFxuICAgICAgLmNhdGFsb2ctcHJvZHVjdC12aWV3IHRhYmxlLmdyb3VwZWQgLmFzc29jaWF0ZWQtcHJvZHVjdCAucm93LXRpZXItcHJpY2UgLmJ0bi1saW5rIHtcbiAgICAgICAgYm9yZGVyOiAycHggc29saWQgIzdlNTdjMjtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMjAwcHg7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgICBwYWRkaW5nOiAwLjVyZW0gMnJlbTtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBtYXJnaW4tdG9wOiAxcmVtOyB9XG4gICAgLnBhZ2UtcHJvZHVjdC1ncm91cGVkIHRhYmxlLmdyb3VwZWQgLmFzc29jaWF0ZWQtcHJvZHVjdCAuY29sLFxuICAgIC5jYXRhbG9nLXByb2R1Y3QtdmlldyB0YWJsZS5ncm91cGVkIC5hc3NvY2lhdGVkLXByb2R1Y3QgLmNvbCB7XG4gICAgICBwYWRkaW5nOiAwO1xuICAgICAgbWFyZ2luOiAwOyB9XG4gICAgLnBhZ2UtcHJvZHVjdC1ncm91cGVkIHRhYmxlLmdyb3VwZWQgLmFzc29jaWF0ZWQtcHJvZHVjdCAuY29sLml0ZW0sXG4gICAgLmNhdGFsb2ctcHJvZHVjdC12aWV3IHRhYmxlLmdyb3VwZWQgLmFzc29jaWF0ZWQtcHJvZHVjdCAuY29sLml0ZW0ge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICBib3JkZXI6IHVuc2V0OyB9XG4gICAgICBAbWVkaWEgKG1pbi13aWR0aDogNDguMDFlbSkge1xuICAgICAgICAucGFnZS1wcm9kdWN0LWdyb3VwZWQgdGFibGUuZ3JvdXBlZCAuYXNzb2NpYXRlZC1wcm9kdWN0IC5jb2wuaXRlbSxcbiAgICAgICAgLmNhdGFsb2ctcHJvZHVjdC12aWV3IHRhYmxlLmdyb3VwZWQgLmFzc29jaWF0ZWQtcHJvZHVjdCAuY29sLml0ZW0ge1xuICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7IH0gfVxuICAgICAgLnBhZ2UtcHJvZHVjdC1ncm91cGVkIHRhYmxlLmdyb3VwZWQgLmFzc29jaWF0ZWQtcHJvZHVjdCAuY29sLml0ZW0gKixcbiAgICAgIC5jYXRhbG9nLXByb2R1Y3QtdmlldyB0YWJsZS5ncm91cGVkIC5hc3NvY2lhdGVkLXByb2R1Y3QgLmNvbC5pdGVtICoge1xuICAgICAgICBjb2xvcjogIzQ1NWE2NDsgfVxuICAgICAgLnBhZ2UtcHJvZHVjdC1ncm91cGVkIHRhYmxlLmdyb3VwZWQgLmFzc29jaWF0ZWQtcHJvZHVjdCAuY29sLml0ZW0gLnRleHQtY29udGVudCxcbiAgICAgIC5jYXRhbG9nLXByb2R1Y3QtdmlldyB0YWJsZS5ncm91cGVkIC5hc3NvY2lhdGVkLXByb2R1Y3QgLmNvbC5pdGVtIC50ZXh0LWNvbnRlbnQge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBtaW4td2lkdGg6IDM4MHB4O1xuICAgICAgICBtYXgtd2lkdGg6IDM4MHB4OyB9XG4gICAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiA0OGVtKSB7XG4gICAgICAgICAgLnBhZ2UtcHJvZHVjdC1ncm91cGVkIHRhYmxlLmdyb3VwZWQgLmFzc29jaWF0ZWQtcHJvZHVjdCAuY29sLml0ZW0gLnRleHQtY29udGVudCxcbiAgICAgICAgICAuY2F0YWxvZy1wcm9kdWN0LXZpZXcgdGFibGUuZ3JvdXBlZCAuYXNzb2NpYXRlZC1wcm9kdWN0IC5jb2wuaXRlbSAudGV4dC1jb250ZW50IHtcbiAgICAgICAgICAgIG1pbi13aWR0aDogMTAwJTsgfSB9XG4gICAgICAgIC5wYWdlLXByb2R1Y3QtZ3JvdXBlZCB0YWJsZS5ncm91cGVkIC5hc3NvY2lhdGVkLXByb2R1Y3QgLmNvbC5pdGVtIC50ZXh0LWNvbnRlbnQgLnByb2R1Y3QtaXRlbS1uYW1lLFxuICAgICAgICAuY2F0YWxvZy1wcm9kdWN0LXZpZXcgdGFibGUuZ3JvdXBlZCAuYXNzb2NpYXRlZC1wcm9kdWN0IC5jb2wuaXRlbSAudGV4dC1jb250ZW50IC5wcm9kdWN0LWl0ZW0tbmFtZSB7XG4gICAgICAgICAgZm9udC1zaXplOiAycmVtOyB9XG4gICAgICAgIC5wYWdlLXByb2R1Y3QtZ3JvdXBlZCB0YWJsZS5ncm91cGVkIC5hc3NvY2lhdGVkLXByb2R1Y3QgLmNvbC5pdGVtIC50ZXh0LWNvbnRlbnQgLnRleHQtY29udGVudF9fbmFtZSxcbiAgICAgICAgLmNhdGFsb2ctcHJvZHVjdC12aWV3IHRhYmxlLmdyb3VwZWQgLmFzc29jaWF0ZWQtcHJvZHVjdCAuY29sLml0ZW0gLnRleHQtY29udGVudCAudGV4dC1jb250ZW50X19uYW1lIHtcbiAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IH1cbiAgICAgICAgLnBhZ2UtcHJvZHVjdC1ncm91cGVkIHRhYmxlLmdyb3VwZWQgLmFzc29jaWF0ZWQtcHJvZHVjdCAuY29sLml0ZW0gLnRleHQtY29udGVudCAudGV4dC1jb250ZW50X19pbWcsXG4gICAgICAgIC5jYXRhbG9nLXByb2R1Y3QtdmlldyB0YWJsZS5ncm91cGVkIC5hc3NvY2lhdGVkLXByb2R1Y3QgLmNvbC5pdGVtIC50ZXh0LWNvbnRlbnQgLnRleHQtY29udGVudF9faW1nIHtcbiAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAxcmVtOyB9XG4gICAgICAucGFnZS1wcm9kdWN0LWdyb3VwZWQgdGFibGUuZ3JvdXBlZCAuYXNzb2NpYXRlZC1wcm9kdWN0IC5jb2wuaXRlbSAucHJvZHVjdC1hdHRyaWJ1dGUsXG4gICAgICAuY2F0YWxvZy1wcm9kdWN0LXZpZXcgdGFibGUuZ3JvdXBlZCAuYXNzb2NpYXRlZC1wcm9kdWN0IC5jb2wuaXRlbSAucHJvZHVjdC1hdHRyaWJ1dGUge1xuICAgICAgICBtYXJnaW46IDAgMXJlbTtcbiAgICAgICAgd2lkdGg6IDEwMCU7IH1cbiAgICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDQ4LjAxZW0pIHtcbiAgICAgICAgICAucGFnZS1wcm9kdWN0LWdyb3VwZWQgdGFibGUuZ3JvdXBlZCAuYXNzb2NpYXRlZC1wcm9kdWN0IC5jb2wuaXRlbSAucHJvZHVjdC1hdHRyaWJ1dGUsXG4gICAgICAgICAgLmNhdGFsb2ctcHJvZHVjdC12aWV3IHRhYmxlLmdyb3VwZWQgLmFzc29jaWF0ZWQtcHJvZHVjdCAuY29sLml0ZW0gLnByb2R1Y3QtYXR0cmlidXRlIHtcbiAgICAgICAgICAgIHdpZHRoOiBhdXRvOyB9IH1cbiAgICAgICAgLnBhZ2UtcHJvZHVjdC1ncm91cGVkIHRhYmxlLmdyb3VwZWQgLmFzc29jaWF0ZWQtcHJvZHVjdCAuY29sLml0ZW0gLnByb2R1Y3QtYXR0cmlidXRlIC52YWx1ZSxcbiAgICAgICAgLmNhdGFsb2ctcHJvZHVjdC12aWV3IHRhYmxlLmdyb3VwZWQgLmFzc29jaWF0ZWQtcHJvZHVjdCAuY29sLml0ZW0gLnByb2R1Y3QtYXR0cmlidXRlIC52YWx1ZSB7XG4gICAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgICAgICBiYWNrZ3JvdW5kOiAjZWRlZmYxO1xuICAgICAgICAgIHBhZGRpbmc6IDAuNXJlbTtcbiAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgYm9yZGVyLXJhZGl1czogN3B4O1xuICAgICAgICAgIGZvbnQtc2l6ZTogMS43cmVtOyB9XG4gICAgICAucGFnZS1wcm9kdWN0LWdyb3VwZWQgdGFibGUuZ3JvdXBlZCAuYXNzb2NpYXRlZC1wcm9kdWN0IC5jb2wuaXRlbSAucHJvZHVjdC1wcmljZS1ibG9jayxcbiAgICAgIC5jYXRhbG9nLXByb2R1Y3QtdmlldyB0YWJsZS5ncm91cGVkIC5hc3NvY2lhdGVkLXByb2R1Y3QgLmNvbC5pdGVtIC5wcm9kdWN0LXByaWNlLWJsb2NrIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7IH1cbiAgICAgICAgLnBhZ2UtcHJvZHVjdC1ncm91cGVkIHRhYmxlLmdyb3VwZWQgLmFzc29jaWF0ZWQtcHJvZHVjdCAuY29sLml0ZW0gLnByb2R1Y3QtcHJpY2UtYmxvY2sgLnByb2R1Y3QtcHJpY2UtaW5uZXIsXG4gICAgICAgIC5jYXRhbG9nLXByb2R1Y3QtdmlldyB0YWJsZS5ncm91cGVkIC5hc3NvY2lhdGVkLXByb2R1Y3QgLmNvbC5pdGVtIC5wcm9kdWN0LXByaWNlLWJsb2NrIC5wcm9kdWN0LXByaWNlLWlubmVyIHtcbiAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICBhbGlnbi1pdGVtczogZmxleC1lbmQ7XG4gICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyB9XG4gICAgICAgICAgLnBhZ2UtcHJvZHVjdC1ncm91cGVkIHRhYmxlLmdyb3VwZWQgLmFzc29jaWF0ZWQtcHJvZHVjdCAuY29sLml0ZW0gLnByb2R1Y3QtcHJpY2UtYmxvY2sgLnByb2R1Y3QtcHJpY2UtaW5uZXIgLnNhbGUtYmFkZ2Utd3JhcHBlcixcbiAgICAgICAgICAuY2F0YWxvZy1wcm9kdWN0LXZpZXcgdGFibGUuZ3JvdXBlZCAuYXNzb2NpYXRlZC1wcm9kdWN0IC5jb2wuaXRlbSAucHJvZHVjdC1wcmljZS1ibG9jayAucHJvZHVjdC1wcmljZS1pbm5lciAuc2FsZS1iYWRnZS13cmFwcGVyIHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDZweDsgfVxuICAgICAgICAgICAgLnBhZ2UtcHJvZHVjdC1ncm91cGVkIHRhYmxlLmdyb3VwZWQgLmFzc29jaWF0ZWQtcHJvZHVjdCAuY29sLml0ZW0gLnByb2R1Y3QtcHJpY2UtYmxvY2sgLnByb2R1Y3QtcHJpY2UtaW5uZXIgLnNhbGUtYmFkZ2Utd3JhcHBlciAuc2FsZS1iYWRnZSxcbiAgICAgICAgICAgIC5jYXRhbG9nLXByb2R1Y3QtdmlldyB0YWJsZS5ncm91cGVkIC5hc3NvY2lhdGVkLXByb2R1Y3QgLmNvbC5pdGVtIC5wcm9kdWN0LXByaWNlLWJsb2NrIC5wcm9kdWN0LXByaWNlLWlubmVyIC5zYWxlLWJhZGdlLXdyYXBwZXIgLnNhbGUtYmFkZ2Uge1xuICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAjZmUxNjQ0O1xuICAgICAgICAgICAgICBjb2xvcjogd2hpdGU7XG4gICAgICAgICAgICAgIHBhZGRpbmc6IDAuOHJlbSAwLjJyZW07XG4gICAgICAgICAgICAgIGxldHRlci1zcGFjaW5nOiAycHg7XG4gICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDRweDtcbiAgICAgICAgICAgICAgZm9udC1zaXplOiAycmVtOyB9XG4gICAgICAgIC5wYWdlLXByb2R1Y3QtZ3JvdXBlZCB0YWJsZS5ncm91cGVkIC5hc3NvY2lhdGVkLXByb2R1Y3QgLmNvbC5pdGVtIC5wcm9kdWN0LXByaWNlLWJsb2NrIC5vbW5pYnVzLXdyYXBwZXIgPiBzcGFuLFxuICAgICAgICAuY2F0YWxvZy1wcm9kdWN0LXZpZXcgdGFibGUuZ3JvdXBlZCAuYXNzb2NpYXRlZC1wcm9kdWN0IC5jb2wuaXRlbSAucHJvZHVjdC1wcmljZS1ibG9jayAub21uaWJ1cy13cmFwcGVyID4gc3BhbiB7XG4gICAgICAgICAgY29sb3I6ICNhOGIxYjc7IH1cbiAgICAgICAgLnBhZ2UtcHJvZHVjdC1ncm91cGVkIHRhYmxlLmdyb3VwZWQgLmFzc29jaWF0ZWQtcHJvZHVjdCAuY29sLml0ZW0gLnByb2R1Y3QtcHJpY2UtYmxvY2sgLnByaWNlLWJveCxcbiAgICAgICAgLmNhdGFsb2ctcHJvZHVjdC12aWV3IHRhYmxlLmdyb3VwZWQgLmFzc29jaWF0ZWQtcHJvZHVjdCAuY29sLml0ZW0gLnByb2R1Y3QtcHJpY2UtYmxvY2sgLnByaWNlLWJveCB7XG4gICAgICAgICAgb3JkZXI6IDk7XG4gICAgICAgICAgcGFkZGluZzogMnJlbSAwO1xuICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbi1yZXZlcnNlOyB9XG4gICAgICAgICAgLnBhZ2UtcHJvZHVjdC1ncm91cGVkIHRhYmxlLmdyb3VwZWQgLmFzc29jaWF0ZWQtcHJvZHVjdCAuY29sLml0ZW0gLnByb2R1Y3QtcHJpY2UtYmxvY2sgLnByaWNlLWJveCAucHJpY2UtY29udGFpbmVyLFxuICAgICAgICAgIC5jYXRhbG9nLXByb2R1Y3QtdmlldyB0YWJsZS5ncm91cGVkIC5hc3NvY2lhdGVkLXByb2R1Y3QgLmNvbC5pdGVtIC5wcm9kdWN0LXByaWNlLWJsb2NrIC5wcmljZS1ib3ggLnByaWNlLWNvbnRhaW5lciB7XG4gICAgICAgICAgICBtYXJnaW46IDAgMXJlbTtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gICAgICAgICAgICAucGFnZS1wcm9kdWN0LWdyb3VwZWQgdGFibGUuZ3JvdXBlZCAuYXNzb2NpYXRlZC1wcm9kdWN0IC5jb2wuaXRlbSAucHJvZHVjdC1wcmljZS1ibG9jayAucHJpY2UtYm94IC5wcmljZS1jb250YWluZXIgLnByaWNlLFxuICAgICAgICAgICAgLmNhdGFsb2ctcHJvZHVjdC12aWV3IHRhYmxlLmdyb3VwZWQgLmFzc29jaWF0ZWQtcHJvZHVjdCAuY29sLml0ZW0gLnByb2R1Y3QtcHJpY2UtYmxvY2sgLnByaWNlLWJveCAucHJpY2UtY29udGFpbmVyIC5wcmljZSB7XG4gICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICAgICAgICAgIGZvbnQtc2l6ZTogMnJlbTsgfVxuICAgICAgICAgIC5wYWdlLXByb2R1Y3QtZ3JvdXBlZCB0YWJsZS5ncm91cGVkIC5hc3NvY2lhdGVkLXByb2R1Y3QgLmNvbC5pdGVtIC5wcm9kdWN0LXByaWNlLWJsb2NrIC5wcmljZS1ib3ggLnNwZWNpYWwtcHJpY2UgLnByaWNlLFxuICAgICAgICAgIC5jYXRhbG9nLXByb2R1Y3QtdmlldyB0YWJsZS5ncm91cGVkIC5hc3NvY2lhdGVkLXByb2R1Y3QgLmNvbC5pdGVtIC5wcm9kdWN0LXByaWNlLWJsb2NrIC5wcmljZS1ib3ggLnNwZWNpYWwtcHJpY2UgLnByaWNlIHtcbiAgICAgICAgICAgIGNvbG9yOiAjZmUxNjQ0OyB9XG4gICAgICAgICAgLnBhZ2UtcHJvZHVjdC1ncm91cGVkIHRhYmxlLmdyb3VwZWQgLmFzc29jaWF0ZWQtcHJvZHVjdCAuY29sLml0ZW0gLnByb2R1Y3QtcHJpY2UtYmxvY2sgLnByaWNlLWJveCAub2xkLXByaWNlIC5wcmljZSxcbiAgICAgICAgICAuY2F0YWxvZy1wcm9kdWN0LXZpZXcgdGFibGUuZ3JvdXBlZCAuYXNzb2NpYXRlZC1wcm9kdWN0IC5jb2wuaXRlbSAucHJvZHVjdC1wcmljZS1ibG9jayAucHJpY2UtYm94IC5vbGQtcHJpY2UgLnByaWNlIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMS41cmVtO1xuICAgICAgICAgICAgY29sb3I6ICNhOGIxYjc7XG4gICAgICAgICAgICBmb250LXdlaWdodDogNDAwOyB9XG4gICAgICAgICAgLnBhZ2UtcHJvZHVjdC1ncm91cGVkIHRhYmxlLmdyb3VwZWQgLmFzc29jaWF0ZWQtcHJvZHVjdCAuY29sLml0ZW0gLnByb2R1Y3QtcHJpY2UtYmxvY2sgLnByaWNlLWJveCAub2xkLXByaWNlIC5wcmljZS13cmFwcGVyLFxuICAgICAgICAgIC5jYXRhbG9nLXByb2R1Y3QtdmlldyB0YWJsZS5ncm91cGVkIC5hc3NvY2lhdGVkLXByb2R1Y3QgLmNvbC5pdGVtIC5wcm9kdWN0LXByaWNlLWJsb2NrIC5wcmljZS1ib3ggLm9sZC1wcmljZSAucHJpY2Utd3JhcHBlciB7XG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93LXJldmVyc2U7IH1cbiAgICAucGFnZS1wcm9kdWN0LWdyb3VwZWQgdGFibGUuZ3JvdXBlZCAuYXNzb2NpYXRlZC1wcm9kdWN0IC5ib3gtcHJpY2UtcXR5LFxuICAgIC5jYXRhbG9nLXByb2R1Y3QtdmlldyB0YWJsZS5ncm91cGVkIC5hc3NvY2lhdGVkLXByb2R1Y3QgLmJveC1wcmljZS1xdHkge1xuICAgICAgcGFkZGluZy10b3A6IDFyZW07IH1cbiAgICAgIEBtZWRpYSAobWluLXdpZHRoOiA0OC4wMWVtKSB7XG4gICAgICAgIC5wYWdlLXByb2R1Y3QtZ3JvdXBlZCB0YWJsZS5ncm91cGVkIC5hc3NvY2lhdGVkLXByb2R1Y3QgLmJveC1wcmljZS1xdHksXG4gICAgICAgIC5jYXRhbG9nLXByb2R1Y3QtdmlldyB0YWJsZS5ncm91cGVkIC5hc3NvY2lhdGVkLXByb2R1Y3QgLmJveC1wcmljZS1xdHkge1xuICAgICAgICAgIHBhZGRpbmctdG9wOiAwOyB9IH1cbiAgICAgIC5wYWdlLXByb2R1Y3QtZ3JvdXBlZCB0YWJsZS5ncm91cGVkIC5hc3NvY2lhdGVkLXByb2R1Y3QgLmJveC1wcmljZS1xdHkgLnByb2R1Y3QtcHJpY2UtYmxvY2ssXG4gICAgICAuY2F0YWxvZy1wcm9kdWN0LXZpZXcgdGFibGUuZ3JvdXBlZCAuYXNzb2NpYXRlZC1wcm9kdWN0IC5ib3gtcHJpY2UtcXR5IC5wcm9kdWN0LXByaWNlLWJsb2NrIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAwLjVyZW07IH1cbiAgICAgICAgLnBhZ2UtcHJvZHVjdC1ncm91cGVkIHRhYmxlLmdyb3VwZWQgLmFzc29jaWF0ZWQtcHJvZHVjdCAuYm94LXByaWNlLXF0eSAucHJvZHVjdC1wcmljZS1ibG9jayAucHJvZHVjdC1wcmljZS1pbm5lcixcbiAgICAgICAgLmNhdGFsb2ctcHJvZHVjdC12aWV3IHRhYmxlLmdyb3VwZWQgLmFzc29jaWF0ZWQtcHJvZHVjdCAuYm94LXByaWNlLXF0eSAucHJvZHVjdC1wcmljZS1ibG9jayAucHJvZHVjdC1wcmljZS1pbm5lciB7XG4gICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7IH1cbiAgICAgICAgICAucGFnZS1wcm9kdWN0LWdyb3VwZWQgdGFibGUuZ3JvdXBlZCAuYXNzb2NpYXRlZC1wcm9kdWN0IC5ib3gtcHJpY2UtcXR5IC5wcm9kdWN0LXByaWNlLWJsb2NrIC5wcm9kdWN0LXByaWNlLWlubmVyIC5zYWxlLWJhZGdlLXdyYXBwZXIsXG4gICAgICAgICAgLmNhdGFsb2ctcHJvZHVjdC12aWV3IHRhYmxlLmdyb3VwZWQgLmFzc29jaWF0ZWQtcHJvZHVjdCAuYm94LXByaWNlLXF0eSAucHJvZHVjdC1wcmljZS1ibG9jayAucHJvZHVjdC1wcmljZS1pbm5lciAuc2FsZS1iYWRnZS13cmFwcGVyIHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDJweDsgfVxuICAgICAgICAgICAgLnBhZ2UtcHJvZHVjdC1ncm91cGVkIHRhYmxlLmdyb3VwZWQgLmFzc29jaWF0ZWQtcHJvZHVjdCAuYm94LXByaWNlLXF0eSAucHJvZHVjdC1wcmljZS1ibG9jayAucHJvZHVjdC1wcmljZS1pbm5lciAuc2FsZS1iYWRnZS13cmFwcGVyIC5zYWxlLWJhZGdlLFxuICAgICAgICAgICAgLmNhdGFsb2ctcHJvZHVjdC12aWV3IHRhYmxlLmdyb3VwZWQgLmFzc29jaWF0ZWQtcHJvZHVjdCAuYm94LXByaWNlLXF0eSAucHJvZHVjdC1wcmljZS1ibG9jayAucHJvZHVjdC1wcmljZS1pbm5lciAuc2FsZS1iYWRnZS13cmFwcGVyIC5zYWxlLWJhZGdlIHtcbiAgICAgICAgICAgICAgYmFja2dyb3VuZDogI2ZlMTY0NDtcbiAgICAgICAgICAgICAgY29sb3I6IHdoaXRlO1xuICAgICAgICAgICAgICBwYWRkaW5nOiAwLjZyZW0gMC4ycmVtO1xuICAgICAgICAgICAgICBsZXR0ZXItc3BhY2luZzogMnB4O1xuICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiA0cHg7XG4gICAgICAgICAgICAgIGZvbnQtc2l6ZTogMnJlbTtcbiAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDFyZW07IH1cbiAgICAgICAgICAucGFnZS1wcm9kdWN0LWdyb3VwZWQgdGFibGUuZ3JvdXBlZCAuYXNzb2NpYXRlZC1wcm9kdWN0IC5ib3gtcHJpY2UtcXR5IC5wcm9kdWN0LXByaWNlLWJsb2NrIC5wcm9kdWN0LXByaWNlLWlubmVyIC5oaW50LFxuICAgICAgICAgIC5jYXRhbG9nLXByb2R1Y3QtdmlldyB0YWJsZS5ncm91cGVkIC5hc3NvY2lhdGVkLXByb2R1Y3QgLmJveC1wcmljZS1xdHkgLnByb2R1Y3QtcHJpY2UtYmxvY2sgLnByb2R1Y3QtcHJpY2UtaW5uZXIgLmhpbnQge1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDAuMjVyZW07XG4gICAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7IH1cbiAgICAgICAgICAgIC5wYWdlLXByb2R1Y3QtZ3JvdXBlZCB0YWJsZS5ncm91cGVkIC5hc3NvY2lhdGVkLXByb2R1Y3QgLmJveC1wcmljZS1xdHkgLnByb2R1Y3QtcHJpY2UtYmxvY2sgLnByb2R1Y3QtcHJpY2UtaW5uZXIgLmhpbnQgLmljb24sXG4gICAgICAgICAgICAuY2F0YWxvZy1wcm9kdWN0LXZpZXcgdGFibGUuZ3JvdXBlZCAuYXNzb2NpYXRlZC1wcm9kdWN0IC5ib3gtcHJpY2UtcXR5IC5wcm9kdWN0LXByaWNlLWJsb2NrIC5wcm9kdWN0LXByaWNlLWlubmVyIC5oaW50IC5pY29uIHtcbiAgICAgICAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsgfVxuICAgICAgICAgICAgLnBhZ2UtcHJvZHVjdC1ncm91cGVkIHRhYmxlLmdyb3VwZWQgLmFzc29jaWF0ZWQtcHJvZHVjdCAuYm94LXByaWNlLXF0eSAucHJvZHVjdC1wcmljZS1ibG9jayAucHJvZHVjdC1wcmljZS1pbm5lciAuaGludCAuaWNvbi1oZWxwOjpiZWZvcmUsXG4gICAgICAgICAgICAuY2F0YWxvZy1wcm9kdWN0LXZpZXcgdGFibGUuZ3JvdXBlZCAuYXNzb2NpYXRlZC1wcm9kdWN0IC5ib3gtcHJpY2UtcXR5IC5wcm9kdWN0LXByaWNlLWJsb2NrIC5wcm9kdWN0LXByaWNlLWlubmVyIC5oaW50IC5pY29uLWhlbHA6OmJlZm9yZSB7XG4gICAgICAgICAgICAgIGNvbnRlbnQ6ICc/JztcbiAgICAgICAgICAgICAgd2lkdGg6IDE1cHg7XG4gICAgICAgICAgICAgIGhlaWdodDogMTVweDtcbiAgICAgICAgICAgICAgZm9udC1zaXplOiAxMHB4O1xuICAgICAgICAgICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgICAgICAgICAgY29sb3I6ICM0NTVhNjQ7XG4gICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgICAgICAgYm9yZGVyOiBzb2xpZCAxcHg7XG4gICAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTsgfVxuICAgICAgICAgICAgLnBhZ2UtcHJvZHVjdC1ncm91cGVkIHRhYmxlLmdyb3VwZWQgLmFzc29jaWF0ZWQtcHJvZHVjdCAuYm94LXByaWNlLXF0eSAucHJvZHVjdC1wcmljZS1ibG9jayAucHJvZHVjdC1wcmljZS1pbm5lciAuaGludCAuaGludF9fY29udGVudCxcbiAgICAgICAgICAgIC5jYXRhbG9nLXByb2R1Y3QtdmlldyB0YWJsZS5ncm91cGVkIC5hc3NvY2lhdGVkLXByb2R1Y3QgLmJveC1wcmljZS1xdHkgLnByb2R1Y3QtcHJpY2UtYmxvY2sgLnByb2R1Y3QtcHJpY2UtaW5uZXIgLmhpbnQgLmhpbnRfX2NvbnRlbnQge1xuICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICAgIHJpZ2h0OiAtMC4yNXJlbTtcbiAgICAgICAgICAgICAgdG9wOiBjYWxjKDEwMCUgKyAxMHB4KTtcbiAgICAgICAgICAgICAgZm9udC1zaXplOiAxM3B4O1xuICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMS41ZW07XG4gICAgICAgICAgICAgIHotaW5kZXg6IDU7XG4gICAgICAgICAgICAgIG1pbi13aWR0aDogMjU4cHg7XG4gICAgICAgICAgICAgIHBhZGRpbmc6IDFyZW07XG4gICAgICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gICAgICAgICAgICAgIGJveC1zaGFkb3c6IDAgMCAxNXB4IDAgcmdiYSgwLCAwLCAwLCAwLjIpO1xuICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiAzcHg7XG4gICAgICAgICAgICAgIGNvbG9yOiAjNDU1YTY0OyB9XG4gICAgICAgICAgICAgIC5wYWdlLXByb2R1Y3QtZ3JvdXBlZCB0YWJsZS5ncm91cGVkIC5hc3NvY2lhdGVkLXByb2R1Y3QgLmJveC1wcmljZS1xdHkgLnByb2R1Y3QtcHJpY2UtYmxvY2sgLnByb2R1Y3QtcHJpY2UtaW5uZXIgLmhpbnQgLmhpbnRfX2NvbnRlbnQ6OmFmdGVyLFxuICAgICAgICAgICAgICAuY2F0YWxvZy1wcm9kdWN0LXZpZXcgdGFibGUuZ3JvdXBlZCAuYXNzb2NpYXRlZC1wcm9kdWN0IC5ib3gtcHJpY2UtcXR5IC5wcm9kdWN0LXByaWNlLWJsb2NrIC5wcm9kdWN0LXByaWNlLWlubmVyIC5oaW50IC5oaW50X19jb250ZW50OjphZnRlciB7XG4gICAgICAgICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgIHRvcDogLTE0cHg7XG4gICAgICAgICAgICAgICAgcmlnaHQ6IDRweDtcbiAgICAgICAgICAgICAgICBib3JkZXItd2lkdGg6IDdweDtcbiAgICAgICAgICAgICAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgICAgICAgICAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgI2ZmZiB0cmFuc3BhcmVudDsgfVxuICAgICAgICAgICAgLnBhZ2UtcHJvZHVjdC1ncm91cGVkIHRhYmxlLmdyb3VwZWQgLmFzc29jaWF0ZWQtcHJvZHVjdCAuYm94LXByaWNlLXF0eSAucHJvZHVjdC1wcmljZS1ibG9jayAucHJvZHVjdC1wcmljZS1pbm5lciAuaGludDpob3ZlciAuaGludF9fY29udGVudCxcbiAgICAgICAgICAgIC5jYXRhbG9nLXByb2R1Y3QtdmlldyB0YWJsZS5ncm91cGVkIC5hc3NvY2lhdGVkLXByb2R1Y3QgLmJveC1wcmljZS1xdHkgLnByb2R1Y3QtcHJpY2UtYmxvY2sgLnByb2R1Y3QtcHJpY2UtaW5uZXIgLmhpbnQ6aG92ZXIgLmhpbnRfX2NvbnRlbnQge1xuICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jazsgfVxuICAgICAgICAucGFnZS1wcm9kdWN0LWdyb3VwZWQgdGFibGUuZ3JvdXBlZCAuYXNzb2NpYXRlZC1wcm9kdWN0IC5ib3gtcHJpY2UtcXR5IC5wcm9kdWN0LXByaWNlLWJsb2NrIC5vbW5pYnVzLXdyYXBwZXIgPiBzcGFuLFxuICAgICAgICAuY2F0YWxvZy1wcm9kdWN0LXZpZXcgdGFibGUuZ3JvdXBlZCAuYXNzb2NpYXRlZC1wcm9kdWN0IC5ib3gtcHJpY2UtcXR5IC5wcm9kdWN0LXByaWNlLWJsb2NrIC5vbW5pYnVzLXdyYXBwZXIgPiBzcGFuIHtcbiAgICAgICAgICBjb2xvcjogI2E4YjFiNzsgfVxuICAgICAgICAucGFnZS1wcm9kdWN0LWdyb3VwZWQgdGFibGUuZ3JvdXBlZCAuYXNzb2NpYXRlZC1wcm9kdWN0IC5ib3gtcHJpY2UtcXR5IC5wcm9kdWN0LXByaWNlLWJsb2NrIC5wcmljZS1ib3gsXG4gICAgICAgIC5jYXRhbG9nLXByb2R1Y3QtdmlldyB0YWJsZS5ncm91cGVkIC5hc3NvY2lhdGVkLXByb2R1Y3QgLmJveC1wcmljZS1xdHkgLnByb2R1Y3QtcHJpY2UtYmxvY2sgLnByaWNlLWJveCB7XG4gICAgICAgICAgb3JkZXI6IDk7XG4gICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW4tcmV2ZXJzZTsgfVxuICAgICAgICAgIC5wYWdlLXByb2R1Y3QtZ3JvdXBlZCB0YWJsZS5ncm91cGVkIC5hc3NvY2lhdGVkLXByb2R1Y3QgLmJveC1wcmljZS1xdHkgLnByb2R1Y3QtcHJpY2UtYmxvY2sgLnByaWNlLWJveCAucHJpY2UtY29udGFpbmVyLFxuICAgICAgICAgIC5jYXRhbG9nLXByb2R1Y3QtdmlldyB0YWJsZS5ncm91cGVkIC5hc3NvY2lhdGVkLXByb2R1Y3QgLmJveC1wcmljZS1xdHkgLnByb2R1Y3QtcHJpY2UtYmxvY2sgLnByaWNlLWJveCAucHJpY2UtY29udGFpbmVyIHtcbiAgICAgICAgICAgIG1hcmdpbjogMCAxcmVtO1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7IH1cbiAgICAgICAgICAgIC5wYWdlLXByb2R1Y3QtZ3JvdXBlZCB0YWJsZS5ncm91cGVkIC5hc3NvY2lhdGVkLXByb2R1Y3QgLmJveC1wcmljZS1xdHkgLnByb2R1Y3QtcHJpY2UtYmxvY2sgLnByaWNlLWJveCAucHJpY2UtY29udGFpbmVyIC5wcmljZSxcbiAgICAgICAgICAgIC5jYXRhbG9nLXByb2R1Y3QtdmlldyB0YWJsZS5ncm91cGVkIC5hc3NvY2lhdGVkLXByb2R1Y3QgLmJveC1wcmljZS1xdHkgLnByb2R1Y3QtcHJpY2UtYmxvY2sgLnByaWNlLWJveCAucHJpY2UtY29udGFpbmVyIC5wcmljZSB7XG4gICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICAgICAgICAgIGZvbnQtc2l6ZTogMnJlbTtcbiAgICAgICAgICAgICAgY29sb3I6ICM0NTVhNjQ7XG4gICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxOyB9XG4gICAgICAgICAgLnBhZ2UtcHJvZHVjdC1ncm91cGVkIHRhYmxlLmdyb3VwZWQgLmFzc29jaWF0ZWQtcHJvZHVjdCAuYm94LXByaWNlLXF0eSAucHJvZHVjdC1wcmljZS1ibG9jayAucHJpY2UtYm94IC5zcGVjaWFsLXByaWNlIC5wcmljZSxcbiAgICAgICAgICAuY2F0YWxvZy1wcm9kdWN0LXZpZXcgdGFibGUuZ3JvdXBlZCAuYXNzb2NpYXRlZC1wcm9kdWN0IC5ib3gtcHJpY2UtcXR5IC5wcm9kdWN0LXByaWNlLWJsb2NrIC5wcmljZS1ib3ggLnNwZWNpYWwtcHJpY2UgLnByaWNlIHtcbiAgICAgICAgICAgIGNvbG9yOiAjZmUxNjQ0OyB9XG4gICAgICAgICAgLnBhZ2UtcHJvZHVjdC1ncm91cGVkIHRhYmxlLmdyb3VwZWQgLmFzc29jaWF0ZWQtcHJvZHVjdCAuYm94LXByaWNlLXF0eSAucHJvZHVjdC1wcmljZS1ibG9jayAucHJpY2UtYm94IC5vbGQtcHJpY2UgLnByaWNlLFxuICAgICAgICAgIC5jYXRhbG9nLXByb2R1Y3QtdmlldyB0YWJsZS5ncm91cGVkIC5hc3NvY2lhdGVkLXByb2R1Y3QgLmJveC1wcmljZS1xdHkgLnByb2R1Y3QtcHJpY2UtYmxvY2sgLnByaWNlLWJveCAub2xkLXByaWNlIC5wcmljZSB7XG4gICAgICAgICAgICBmb250LXNpemU6IDEuNXJlbTtcbiAgICAgICAgICAgIGNvbG9yOiAjYThiMWI3O1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDsgfVxuICAgICAgICAgIC5wYWdlLXByb2R1Y3QtZ3JvdXBlZCB0YWJsZS5ncm91cGVkIC5hc3NvY2lhdGVkLXByb2R1Y3QgLmJveC1wcmljZS1xdHkgLnByb2R1Y3QtcHJpY2UtYmxvY2sgLnByaWNlLWJveCAub2xkLXByaWNlIC5wcmljZS13cmFwcGVyLFxuICAgICAgICAgIC5jYXRhbG9nLXByb2R1Y3QtdmlldyB0YWJsZS5ncm91cGVkIC5hc3NvY2lhdGVkLXByb2R1Y3QgLmJveC1wcmljZS1xdHkgLnByb2R1Y3QtcHJpY2UtYmxvY2sgLnByaWNlLWJveCAub2xkLXByaWNlIC5wcmljZS13cmFwcGVyIHtcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3ctcmV2ZXJzZTsgfVxuICAgICAgLnBhZ2UtcHJvZHVjdC1ncm91cGVkIHRhYmxlLmdyb3VwZWQgLmFzc29jaWF0ZWQtcHJvZHVjdCAuYm94LXByaWNlLXF0eSAuYW14bm90aWYtYmxvY2ssXG4gICAgICAuY2F0YWxvZy1wcm9kdWN0LXZpZXcgdGFibGUuZ3JvdXBlZCAuYXNzb2NpYXRlZC1wcm9kdWN0IC5ib3gtcHJpY2UtcXR5IC5hbXhub3RpZi1ibG9jayB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvOyB9XG4gICAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiA2My45OWVtKSB7XG4gICAgICAgICAgLnBhZ2UtcHJvZHVjdC1ncm91cGVkIHRhYmxlLmdyb3VwZWQgLmFzc29jaWF0ZWQtcHJvZHVjdCAuYm94LXByaWNlLXF0eSAuYW14bm90aWYtYmxvY2ssXG4gICAgICAgICAgLmNhdGFsb2ctcHJvZHVjdC12aWV3IHRhYmxlLmdyb3VwZWQgLmFzc29jaWF0ZWQtcHJvZHVjdCAuYm94LXByaWNlLXF0eSAuYW14bm90aWYtYmxvY2sge1xuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgICAgIHBhZGRpbmc6IDEuNXJlbTsgfSB9XG4gICAgICAgIC5wYWdlLXByb2R1Y3QtZ3JvdXBlZCB0YWJsZS5ncm91cGVkIC5hc3NvY2lhdGVkLXByb2R1Y3QgLmJveC1wcmljZS1xdHkgLmFteG5vdGlmLWJsb2NrIC5sYWJlbCxcbiAgICAgICAgLmNhdGFsb2ctcHJvZHVjdC12aWV3IHRhYmxlLmdyb3VwZWQgLmFzc29jaWF0ZWQtcHJvZHVjdCAuYm94LXByaWNlLXF0eSAuYW14bm90aWYtYmxvY2sgLmxhYmVsIHtcbiAgICAgICAgICBmb250LXNpemU6IDEuN3JlbTtcbiAgICAgICAgICBmb250LXdlaWdodDogNDAwOyB9XG4gICAgICAgIC5wYWdlLXByb2R1Y3QtZ3JvdXBlZCB0YWJsZS5ncm91cGVkIC5hc3NvY2lhdGVkLXByb2R1Y3QgLmJveC1wcmljZS1xdHkgLmFteG5vdGlmLWJsb2NrIC5ub3RpZmljYXRpb24tY29udGFpbmVyLFxuICAgICAgICAuY2F0YWxvZy1wcm9kdWN0LXZpZXcgdGFibGUuZ3JvdXBlZCAuYXNzb2NpYXRlZC1wcm9kdWN0IC5ib3gtcHJpY2UtcXR5IC5hbXhub3RpZi1ibG9jayAubm90aWZpY2F0aW9uLWNvbnRhaW5lciB7XG4gICAgICAgICAgbWFyZ2luLWxlZnQ6IDFyZW07XG4gICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAjZWRlZmYxO1xuICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDIwMHB4OyB9XG4gICAgICAgICAgLnBhZ2UtcHJvZHVjdC1ncm91cGVkIHRhYmxlLmdyb3VwZWQgLmFzc29jaWF0ZWQtcHJvZHVjdCAuYm94LXByaWNlLXF0eSAuYW14bm90aWYtYmxvY2sgLm5vdGlmaWNhdGlvbi1jb250YWluZXI6aG92ZXIgYnV0dG9uLFxuICAgICAgICAgIC5jYXRhbG9nLXByb2R1Y3QtdmlldyB0YWJsZS5ncm91cGVkIC5hc3NvY2lhdGVkLXByb2R1Y3QgLmJveC1wcmljZS1xdHkgLmFteG5vdGlmLWJsb2NrIC5ub3RpZmljYXRpb24tY29udGFpbmVyOmhvdmVyIGJ1dHRvbiB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAjMTFhMDk5OyB9XG4gICAgICAgICAgLnBhZ2UtcHJvZHVjdC1ncm91cGVkIHRhYmxlLmdyb3VwZWQgLmFzc29jaWF0ZWQtcHJvZHVjdCAuYm94LXByaWNlLXF0eSAuYW14bm90aWYtYmxvY2sgLm5vdGlmaWNhdGlvbi1jb250YWluZXIgLmlucHV0LXRleHQsXG4gICAgICAgICAgLmNhdGFsb2ctcHJvZHVjdC12aWV3IHRhYmxlLmdyb3VwZWQgLmFzc29jaWF0ZWQtcHJvZHVjdCAuYm94LXByaWNlLXF0eSAuYW14bm90aWYtYmxvY2sgLm5vdGlmaWNhdGlvbi1jb250YWluZXIgLmlucHV0LXRleHQge1xuICAgICAgICAgICAgbWluLXdpZHRoOiAxNTBweDtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMS40cmVtO1xuICAgICAgICAgICAgYm9yZGVyOiB1bnNldDtcbiAgICAgICAgICAgIGJveC1zaGFkb3c6IHVuc2V0OyB9XG4gICAgICAgICAgLnBhZ2UtcHJvZHVjdC1ncm91cGVkIHRhYmxlLmdyb3VwZWQgLmFzc29jaWF0ZWQtcHJvZHVjdCAuYm94LXByaWNlLXF0eSAuYW14bm90aWYtYmxvY2sgLm5vdGlmaWNhdGlvbi1jb250YWluZXIgYnV0dG9uLFxuICAgICAgICAgIC5jYXRhbG9nLXByb2R1Y3QtdmlldyB0YWJsZS5ncm91cGVkIC5hc3NvY2lhdGVkLXByb2R1Y3QgLmJveC1wcmljZS1xdHkgLmFteG5vdGlmLWJsb2NrIC5ub3RpZmljYXRpb24tY29udGFpbmVyIGJ1dHRvbiB7XG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiAyMDBweDtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICMxN2M4YzA7XG4gICAgICAgICAgICBwYWRkaW5nOiAxcmVtO1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDsgfVxuICAgICAgICAgICAgLnBhZ2UtcHJvZHVjdC1ncm91cGVkIHRhYmxlLmdyb3VwZWQgLmFzc29jaWF0ZWQtcHJvZHVjdCAuYm94LXByaWNlLXF0eSAuYW14bm90aWYtYmxvY2sgLm5vdGlmaWNhdGlvbi1jb250YWluZXIgYnV0dG9uIHNwYW4sXG4gICAgICAgICAgICAuY2F0YWxvZy1wcm9kdWN0LXZpZXcgdGFibGUuZ3JvdXBlZCAuYXNzb2NpYXRlZC1wcm9kdWN0IC5ib3gtcHJpY2UtcXR5IC5hbXhub3RpZi1ibG9jayAubm90aWZpY2F0aW9uLWNvbnRhaW5lciBidXR0b24gc3BhbiB7XG4gICAgICAgICAgICAgIGNvbG9yOiB3aGl0ZTsgfVxuICAgICAgICAgIC5wYWdlLXByb2R1Y3QtZ3JvdXBlZCB0YWJsZS5ncm91cGVkIC5hc3NvY2lhdGVkLXByb2R1Y3QgLmJveC1wcmljZS1xdHkgLmFteG5vdGlmLWJsb2NrIC5ub3RpZmljYXRpb24tY29udGFpbmVyICosXG4gICAgICAgICAgLmNhdGFsb2ctcHJvZHVjdC12aWV3IHRhYmxlLmdyb3VwZWQgLmFzc29jaWF0ZWQtcHJvZHVjdCAuYm94LXByaWNlLXF0eSAuYW14bm90aWYtYmxvY2sgLm5vdGlmaWNhdGlvbi1jb250YWluZXIgKiB7XG4gICAgICAgICAgICBib3JkZXI6IG5vbmU7IH1cbiAgICAgICAgICAucGFnZS1wcm9kdWN0LWdyb3VwZWQgdGFibGUuZ3JvdXBlZCAuYXNzb2NpYXRlZC1wcm9kdWN0IC5ib3gtcHJpY2UtcXR5IC5hbXhub3RpZi1ibG9jayAubm90aWZpY2F0aW9uLWNvbnRhaW5lciAuYWN0aW9ucy10b29sYmFyLFxuICAgICAgICAgIC5jYXRhbG9nLXByb2R1Y3QtdmlldyB0YWJsZS5ncm91cGVkIC5hc3NvY2lhdGVkLXByb2R1Y3QgLmJveC1wcmljZS1xdHkgLmFteG5vdGlmLWJsb2NrIC5ub3RpZmljYXRpb24tY29udGFpbmVyIC5hY3Rpb25zLXRvb2xiYXIge1xuICAgICAgICAgICAgbWluLXdpZHRoOiB1bnNldDsgfVxuICAgIC5wYWdlLXByb2R1Y3QtZ3JvdXBlZCB0YWJsZS5ncm91cGVkIC5hc3NvY2lhdGVkLXByb2R1Y3QgLmNvbC5xdHksXG4gICAgLmNhdGFsb2ctcHJvZHVjdC12aWV3IHRhYmxlLmdyb3VwZWQgLmFzc29jaWF0ZWQtcHJvZHVjdCAuY29sLnF0eSB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gICAgICBib3JkZXI6IHVuc2V0O1xuICAgICAgbWFyZ2luLWxlZnQ6IDFyZW07IH1cbiAgICAgIC5wYWdlLXByb2R1Y3QtZ3JvdXBlZCB0YWJsZS5ncm91cGVkIC5hc3NvY2lhdGVkLXByb2R1Y3QgLmNvbC5xdHkgLmNvbnRyb2wucXR5LFxuICAgICAgLmNhdGFsb2ctcHJvZHVjdC12aWV3IHRhYmxlLmdyb3VwZWQgLmFzc29jaWF0ZWQtcHJvZHVjdCAuY29sLnF0eSAuY29udHJvbC5xdHkge1xuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAjZWRlZmYxO1xuICAgICAgICBib3JkZXItcmFkaXVzOiAyMDBweDtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IH1cbiAgICAgIC5wYWdlLXByb2R1Y3QtZ3JvdXBlZCB0YWJsZS5ncm91cGVkIC5hc3NvY2lhdGVkLXByb2R1Y3QgLmNvbC5xdHkgLmNvbnRyb2wucXR5ID4gZm9ybSxcbiAgICAgIC5jYXRhbG9nLXByb2R1Y3QtdmlldyB0YWJsZS5ncm91cGVkIC5hc3NvY2lhdGVkLXByb2R1Y3QgLmNvbC5xdHkgLmNvbnRyb2wucXR5ID4gZm9ybSB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7IH1cbiAgICAgIC5wYWdlLXByb2R1Y3QtZ3JvdXBlZCB0YWJsZS5ncm91cGVkIC5hc3NvY2lhdGVkLXByb2R1Y3QgLmNvbC5xdHkgLmNzLXF0eS1pbmNyZW1lbnQsXG4gICAgICAuY2F0YWxvZy1wcm9kdWN0LXZpZXcgdGFibGUuZ3JvdXBlZCAuYXNzb2NpYXRlZC1wcm9kdWN0IC5jb2wucXR5IC5jcy1xdHktaW5jcmVtZW50IHtcbiAgICAgICAgZmxleC13cmFwOiBub3dyYXA7IH1cbiAgICAgICAgLnBhZ2UtcHJvZHVjdC1ncm91cGVkIHRhYmxlLmdyb3VwZWQgLmFzc29jaWF0ZWQtcHJvZHVjdCAuY29sLnF0eSAuY3MtcXR5LWluY3JlbWVudCAuY3MtcXR5LWluY3JlbWVudF9faW5wdXQsXG4gICAgICAgIC5jYXRhbG9nLXByb2R1Y3QtdmlldyB0YWJsZS5ncm91cGVkIC5hc3NvY2lhdGVkLXByb2R1Y3QgLmNvbC5xdHkgLmNzLXF0eS1pbmNyZW1lbnQgLmNzLXF0eS1pbmNyZW1lbnRfX2lucHV0IHtcbiAgICAgICAgICBtaW4td2lkdGg6IDI1cHg7XG4gICAgICAgICAgbWF4LXdpZHRoOiA3NXB4O1xuICAgICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgICBjb2xvcjogIzQ1NWE2NDsgfVxuICAgICAgICAucGFnZS1wcm9kdWN0LWdyb3VwZWQgdGFibGUuZ3JvdXBlZCAuYXNzb2NpYXRlZC1wcm9kdWN0IC5jb2wucXR5IC5jcy1xdHktaW5jcmVtZW50IHNwYW4sXG4gICAgICAgIC5jYXRhbG9nLXByb2R1Y3QtdmlldyB0YWJsZS5ncm91cGVkIC5hc3NvY2lhdGVkLXByb2R1Y3QgLmNvbC5xdHkgLmNzLXF0eS1pbmNyZW1lbnQgc3BhbiB7XG4gICAgICAgICAgYm9yZGVyOiBub25lOyB9XG4gICAgICAgICAgLnBhZ2UtcHJvZHVjdC1ncm91cGVkIHRhYmxlLmdyb3VwZWQgLmFzc29jaWF0ZWQtcHJvZHVjdCAuY29sLnF0eSAuY3MtcXR5LWluY3JlbWVudCBzcGFuOmhvdmVyLFxuICAgICAgICAgIC5jYXRhbG9nLXByb2R1Y3QtdmlldyB0YWJsZS5ncm91cGVkIC5hc3NvY2lhdGVkLXByb2R1Y3QgLmNvbC5xdHkgLmNzLXF0eS1pbmNyZW1lbnQgc3Bhbjpob3ZlciB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiB3aGl0ZTsgfVxuICAgICAgICAgICAgLnBhZ2UtcHJvZHVjdC1ncm91cGVkIHRhYmxlLmdyb3VwZWQgLmFzc29jaWF0ZWQtcHJvZHVjdCAuY29sLnF0eSAuY3MtcXR5LWluY3JlbWVudCBzcGFuOmhvdmVyICosXG4gICAgICAgICAgICAuY2F0YWxvZy1wcm9kdWN0LXZpZXcgdGFibGUuZ3JvdXBlZCAuYXNzb2NpYXRlZC1wcm9kdWN0IC5jb2wucXR5IC5jcy1xdHktaW5jcmVtZW50IHNwYW46aG92ZXIgKiB7XG4gICAgICAgICAgICAgIGZpbGw6ICM0ZDJjOTE7IH1cbiAgICAgIC5wYWdlLXByb2R1Y3QtZ3JvdXBlZCB0YWJsZS5ncm91cGVkIC5hc3NvY2lhdGVkLXByb2R1Y3QgLmNvbC5xdHkgLmFkZHRvY2FydCxcbiAgICAgIC5jYXRhbG9nLXByb2R1Y3QtdmlldyB0YWJsZS5ncm91cGVkIC5hc3NvY2lhdGVkLXByb2R1Y3QgLmNvbC5xdHkgLmFkZHRvY2FydCB7XG4gICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICM3ZTU3YzI7XG4gICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMTAwcHg7XG4gICAgICAgIHdpZHRoOiA0MHB4O1xuICAgICAgICBoZWlnaHQ6IDQwcHg7XG4gICAgICAgIHBhZGRpbmc6IDFyZW07XG4gICAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4zcyBlYXNlOyB9XG4gICAgICAgIC5wYWdlLXByb2R1Y3QtZ3JvdXBlZCB0YWJsZS5ncm91cGVkIC5hc3NvY2lhdGVkLXByb2R1Y3QgLmNvbC5xdHkgLmFkZHRvY2FydDpob3ZlcixcbiAgICAgICAgLmNhdGFsb2ctcHJvZHVjdC12aWV3IHRhYmxlLmdyb3VwZWQgLmFzc29jaWF0ZWQtcHJvZHVjdCAuY29sLnF0eSAuYWRkdG9jYXJ0OmhvdmVyIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNGQyYzkxO1xuICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjsgfVxuICAucGFnZS1wcm9kdWN0LWdyb3VwZWQgdGFibGUuZ3JvdXBlZCAuYXNzb2NpYXRlZC1wcm9kdWN0Lm91dC1vZi1zdG9jayAuYm94LXByaWNlLXF0eSAucHJvZHVjdC1wcmljZS1ibG9jayAucHJpY2UtYm94LFxuICAuY2F0YWxvZy1wcm9kdWN0LXZpZXcgdGFibGUuZ3JvdXBlZCAuYXNzb2NpYXRlZC1wcm9kdWN0Lm91dC1vZi1zdG9jayAuYm94LXByaWNlLXF0eSAucHJvZHVjdC1wcmljZS1ibG9jayAucHJpY2UtYm94IHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG4iLCJAaW1wb3J0ICdjb25maWcvdmFyaWFibGVzJztcbkBpbXBvcnQgJ3ZlbmRvcnMvaW5jbHVkZS1tZWRpYSc7XG5cbi5wYWdlLXByb2R1Y3QtZ3JvdXBlZHtcbiAgICAuY3MtYnV5Ym94X19wcmljZXtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG59XG4ucGFnZS1wcm9kdWN0LWdyb3VwZWQsXG4uY2F0YWxvZy1wcm9kdWN0LXZpZXcge1xuXG4gICAgLnRhYmxlLXdyYXBwZXIuZ3JvdXBlZCB7XG4gICAgICAgIGJhY2tncm91bmQ6ICRjb2xvcl9wYXBpbGFydF9iZztcbiAgICAgICAgcGFkZGluZzogMnJlbSAxLjVyZW07XG5cbiAgICAgICAgLmF2YWlsYWJsZS1jb3VudC1ub3RpY2Uge1xuICAgICAgICAgICAgbWF4LXdpZHRoOiAkcGFnZV9tYXgtd2lkdGg7XG4gICAgICAgICAgICBtYXJnaW46IDAgYXV0bztcblxuICAgICAgICAgICAgaDMge1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMi45cmVtO1xuICAgICAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkY29sb3JfdGV4dC05MDA7XG5cbiAgICAgICAgICAgICAgICAuY291bnRlciB7XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkY29sb3JfcHJpbWFyeS01MDA7XG4gICAgICAgICAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIHRhYmxlLmdyb3VwZWQge1xuICAgICAgICBtYXgtd2lkdGg6ICRwYWdlX21heC13aWR0aDtcbiAgICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgICAgIC8vYWRkXG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICB0YWJsZS1sYXlvdXQ6IGZpeGVkO1xuICAgICAgICBvdmVyZmxvdy13cmFwOiBicmVhay13b3JkO1xuXG4gICAgICAgIHRoZWFkIHtcbiAgICAgICAgICAgIHRyIHtcbiAgICAgICAgICAgICAgICAvLyBkaXNwbGF5OiBmbGV4O1xuXG4gICAgICAgICAgICAgICAgLmNvbC5pdGVtIHtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLmFzc29jaWF0ZWQtcHJvZHVjdCB7XG4gICAgICAgICAgICBtaW4taGVpZ2h0OiA3NXB4O1xuICAgICAgICAgICAgcGFkZGluZzogMXJlbTtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICAgICAgICAgICAgYmFja2dyb3VuZDogd2hpdGUgIWltcG9ydGFudDtcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzX2Jhc2U7XG5cbiAgICAgICAgICAgIC8vYWRkIG1vYmlsZVxuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJzw9dGFibGV0Jykge1xuICAgICAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICY+dGQge1xuICAgICAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogdW5zZXQgIWltcG9ydGFudDtcblxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PWxhcHRvcCcpIHtcbiAgICAgICAgICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5yb3ctdGllci1wcmljZSB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICAgICAgICAgICAgICAgIHBhZGRpbmctdG9wOiAwcHg7XG5cbiAgICAgICAgICAgICAgICAuYm94LXRpZXItcHJpY2V7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAucHJpY2VzLXRpZXIuaXRlbXMge1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW46IDBweDtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGZsZXgtZW5kO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIC5wcmljZXMtdGllci5pdGVtcz4uaXRlbSB7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbjogMHB4O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAuYnRuLWxpbmt7XG4gICAgICAgICAgICAgICAgICAgIGJvcmRlcjogMnB4IHNvbGlkICM3ZTU3YzI7XG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDIwMHB4O1xuICAgICAgICAgICAgICAgICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMC41cmVtIDJyZW07XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogMXJlbTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5jb2wge1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuY29sLml0ZW0ge1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAgICAgIGJvcmRlcjogdW5zZXQ7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz50YWJsZXQnKSB7XG4gICAgICAgICAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgKiB7XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkY29sb3JfdGV4dC05MDA7XG4gICAgICAgICAgICAgICAgICAgIDtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAudGV4dC1jb250ZW50IHtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgICAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgICAgICAgICAgbWluLXdpZHRoOiAzODBweDtcbiAgICAgICAgICAgICAgICAgICAgbWF4LXdpZHRoOiAzODBweDtcblxuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPD10YWJsZXQnKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAvLyBtaW4td2lkdGg6IDI5NXB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgbWluLXdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgLnByb2R1Y3QtaXRlbS1uYW1lIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMnJlbTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAudGV4dC1jb250ZW50X19uYW1le1xuICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgLnRleHQtY29udGVudF9faW1ne1xuICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMXJlbTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIC5wcm9kdWN0LWF0dHJpYnV0ZSB7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbjogMCAxcmVtO1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz50YWJsZXQnKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgIC52YWx1ZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDogJGNvbG9yX3BhcGlsYXJ0X2JnO1xuICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMC41cmVtO1xuICAgICAgICAgICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogJGJvcmRlci1yYWRpdXNfYmFzZTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMS43cmVtO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgIC5wcm9kdWN0LXByaWNlLWJsb2NrIHtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG5cbiAgICAgICAgICAgICAgICAgICAgLnByb2R1Y3QtcHJpY2UtaW5uZXIge1xuICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDtcbiAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgICAgICAgICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXG5cbiAgICAgICAgICAgICAgICAgICAgICAgIC5zYWxlLWJhZGdlLXdyYXBwZXIge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDZweDtcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC5zYWxlLWJhZGdlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDogI2ZlMTY0NDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6IHdoaXRlO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAwLjhyZW0gMC4ycmVtO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZXR0ZXItc3BhY2luZzogMnB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiA0cHg7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMnJlbTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAub21uaWJ1cy13cmFwcGVyPnNwYW4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICNhOGIxYjc7XG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAucHJpY2UtYm94IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIG9yZGVyOiA5O1xuICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMnJlbSAwO1xuICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW4tcmV2ZXJzZTtcblxuICAgICAgICAgICAgICAgICAgICAgICAgLnByaWNlLWNvbnRhaW5lciB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiAwIDFyZW07XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAucHJpY2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBjb2xvcjogJGNvbG9yX3RleHQtOTAwO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDJyZW07XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgICAgICAuc3BlY2lhbC1wcmljZSAucHJpY2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAjZmUxNjQ0O1xuXG4gICAgICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIC5vbGQtcHJpY2UgLnByaWNlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDEuNXJlbTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogI2E4YjFiNztcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgICAgICAub2xkLXByaWNlIC5wcmljZS13cmFwcGVyIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93LXJldmVyc2U7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5ib3gtcHJpY2UtcXR5e1xuICAgICAgICAgICAgICAgIHBhZGRpbmctdG9wOiAxcmVtO1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKCc+dGFibGV0Jykge1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLXRvcDogMDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgLnByb2R1Y3QtcHJpY2UtYmxvY2sge1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcblxuICAgICAgICAgICAgICAgICAgICAvL1xuICAgICAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMC41cmVtO1xuXG4gICAgICAgICAgICAgICAgICAgIC5wcm9kdWN0LXByaWNlLWlubmVyIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgICAgICAgICAgICAgICAgIC8vIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgICAgICAgICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuXG5cbiAgICAgICAgICAgICAgICAgICAgICAgIC5zYWxlLWJhZGdlLXdyYXBwZXIge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDJweDtcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC5zYWxlLWJhZGdlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDogI2ZlMTY0NDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6IHdoaXRlO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAwLjZyZW0gMC4ycmVtO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZXR0ZXItc3BhY2luZzogMnB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiA0cHg7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMnJlbTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDFyZW07XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgLmhpbnQge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDAuMjVyZW07XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC5pY29uIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLmljb24taGVscHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6ICc/JztcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxNXB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAxNXB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAxMHB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogJGNvbG9yX3RleHQtOTAwO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyOiBzb2xpZCAxcHg7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC5oaW50X19jb250ZW50IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByaWdodDogLTAuMjVyZW07XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRvcDogY2FsYygxMDAlICsgMTBweCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTNweDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDEuNWVtO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB6LWluZGV4OiA1O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtaW4td2lkdGg6IDI1OHB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAxcmVtO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBib3gtc2hhZG93OiAwIDAgMTVweCAwIHJnYmEoMCwwLDAsMC4yKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogM3B4O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogJGNvbG9yX3RleHQtOTAwO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRvcDogLTE0cHg7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByaWdodDogNHB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXdpZHRoOiA3cHg7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCAjZmZmIHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICY6aG92ZXJ7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC5oaW50X19jb250ZW50e1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAub21uaWJ1cy13cmFwcGVyPnNwYW4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICNhOGIxYjc7XG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAucHJpY2UtYm94IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIG9yZGVyOiA5O1xuICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICAgICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uLXJldmVyc2U7XG4gICAgICAgICAgICAgICAgICAgICAgICBcblxuICAgICAgICAgICAgICAgICAgICAgICAgLnByaWNlLWNvbnRhaW5lciB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiAwIDFyZW07XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLnByaWNlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gY29sb3I6ICRjb2xvcl90ZXh0LTkwMDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAycmVtO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogJGNvbG9yX3RleHQtOTAwO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIC5zcGVjaWFsLXByaWNlIC5wcmljZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICNmZTE2NDQ7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAgICAgLm9sZC1wcmljZSAucHJpY2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMS41cmVtO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAjYThiMWI3O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIC5vbGQtcHJpY2UgLnByaWNlLXdyYXBwZXIge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3ctcmV2ZXJzZTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIC5hbXhub3RpZi1ibG9jayB7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuXG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKCc8bGFwdG9wJykge1xuICAgICAgICAgICAgICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDEuNXJlbTtcbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgIC5sYWJlbCB7XG4gICAgICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDEuN3JlbTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAubm90aWZpY2F0aW9uLWNvbnRhaW5lciB7XG4gICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogMXJlbTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAgICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgICAgICAgICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gICAgICAgICAgICAgICAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAkY29sb3JfcGFwaWxhcnRfYmc7XG4gICAgICAgICAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiAyMDBweDtcblxuICAgICAgICAgICAgICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYnV0dG9uIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDogJGNvbG9yX3NlY29uZGFyeS01MDA7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgICAgICAuaW5wdXQtdGV4dCB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gbWluLXdpZHRoOiAyMDBweDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBtaW4td2lkdGg6IDE1MHB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMS40cmVtO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlcjogdW5zZXQ7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYm94LXNoYWRvdzogdW5zZXQ7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIGJ1dHRvbiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMjAwcHg7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDogJGNvbG9yX3NlY29uZGFyeS0yMDA7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMXJlbTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LXdlaWdodDogNzAwO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgc3BhbiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiB3aGl0ZTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICoge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAgICAgLmFjdGlvbnMtdG9vbGJhciB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbWluLXdpZHRoOiB1bnNldDtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLmNvbC5xdHkge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICAgICAgICAgICAgICAgIGJvcmRlcjogdW5zZXQ7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDFyZW07XG5cbiAgICAgICAgICAgICAgICAuY29udHJvbC5xdHkge1xuICAgICAgICAgICAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAkY29sb3JfcGFwaWxhcnRfYmc7XG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDIwMHB4O1xuICAgICAgICAgICAgICAgICAgICAvL2FkZCBmbGV4XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIC5jb250cm9sLnF0eT5mb3JtIHtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgICAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAuY3MtcXR5LWluY3JlbWVudCB7XG4gICAgICAgICAgICAgICAgICAgIGZsZXgtd3JhcDogbm93cmFwO1xuXG4gICAgICAgICAgICAgICAgICAgIC5jcy1xdHktaW5jcmVtZW50X19pbnB1dCB7XG4gICAgICAgICAgICAgICAgICAgICAgICBtaW4td2lkdGg6IDI1cHg7XG4gICAgICAgICAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IDc1cHg7XG4gICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkY29sb3JfdGV4dC05MDA7XG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICBzcGFuIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlcjogbm9uZTtcblxuICAgICAgICAgICAgICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDogd2hpdGU7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAqIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmlsbDogJGNvbG9yX3ByaW1hcnktODAwO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIC5hZGR0b2NhcnQge1xuICAgICAgICAgICAgICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3JfcHJpbWFyeS01MDA7XG4gICAgICAgICAgICAgICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMTAwcHg7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiA0MHB4O1xuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDQwcHg7XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDFyZW07XG4gICAgICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgJHRyYW5zaXRpb24tZGVmYXVsdC10aW1lIGVhc2U7XG5cbiAgICAgICAgICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3JfcHJpbWFyeS04MDA7XG4gICAgICAgICAgICAgICAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuYXNzb2NpYXRlZC1wcm9kdWN0Lm91dC1vZi1zdG9jayB7XG4gICAgICAgICAgICAuYm94LXByaWNlLXF0eSB7XG4gICAgICAgICAgICAgICAgLnByb2R1Y3QtcHJpY2UtYmxvY2sge1xuICAgICAgICAgICAgICAgICAgICAucHJpY2UtYm94IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgXG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAvLyAuYXNzb2NpYXRlZC1wcm9kdWN0Lm91dC1vZi1zdG9jayB7XG4gICAgICAgIC8vICAgICAuY29sLml0ZW0ge1xuICAgICAgICAvLyAgICAgICAgIC5wcmljZS1ib3gge1xuICAgICAgICAvLyAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAvLyAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIC8vIC5hbXhub3RpZi1ibG9jayB7XG4gICAgICAgICAgICAgICAgLy8gICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICAgICAgLy8gICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgLy8gICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICAgICAgICAgICAgLy8gICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgICAgICAgICAgLy8gICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuXG4gICAgICAgICAgICAgICAgLy8gICAgIEBpbmNsdWRlIG1lZGlhKCc8bGFwdG9wJykge1xuICAgICAgICAgICAgICAgIC8vICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgICAgICAgICAvLyAgICAgICAgIHBhZGRpbmc6IDEuNXJlbTtcbiAgICAgICAgICAgICAgICAvLyAgICAgfVxuXG4gICAgICAgICAgICAgICAgLy8gICAgIC5sYWJlbCB7XG4gICAgICAgICAgICAgICAgLy8gICAgICAgICBmb250LXNpemU6IDEuN3JlbTtcbiAgICAgICAgICAgICAgICAvLyAgICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICAgICAgICAgICAgLy8gICAgIH1cblxuICAgICAgICAgICAgICAgIC8vICAgICAubm90aWZpY2F0aW9uLWNvbnRhaW5lciB7XG4gICAgICAgICAgICAgICAgLy8gICAgICAgICBtYXJnaW4tbGVmdDogMXJlbTtcbiAgICAgICAgICAgICAgICAvLyAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICAgICAgLy8gICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAgICAgIC8vICAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgICAgICAgICAgICAvLyAgICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gICAgICAgICAgICAgICAgLy8gICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAkY29sb3JfcGFwaWxhcnRfYmc7XG4gICAgICAgICAgICAgICAgLy8gICAgICAgICBib3JkZXItcmFkaXVzOiAyMDBweDtcblxuICAgICAgICAgICAgICAgIC8vICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgLy8gICAgICAgICAgICAgYnV0dG9uIHtcbiAgICAgICAgICAgICAgICAvLyAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDogJGNvbG9yX3NlY29uZGFyeS01MDA7XG4gICAgICAgICAgICAgICAgLy8gICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIC8vICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgLy8gICAgICAgICAuaW5wdXQtdGV4dCB7XG4gICAgICAgICAgICAgICAgLy8gICAgICAgICAgICAgLy8gbWluLXdpZHRoOiAyMDBweDtcbiAgICAgICAgICAgICAgICAvLyAgICAgICAgICAgICBtaW4td2lkdGg6IDE1MHB4O1xuICAgICAgICAgICAgICAgIC8vICAgICAgICAgICAgIGZvbnQtc2l6ZTogMS40cmVtO1xuICAgICAgICAgICAgICAgIC8vICAgICAgICAgICAgIGJvcmRlcjogdW5zZXQ7XG4gICAgICAgICAgICAgICAgLy8gICAgICAgICAgICAgYm94LXNoYWRvdzogdW5zZXQ7XG4gICAgICAgICAgICAgICAgLy8gICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAvLyAgICAgICAgIGJ1dHRvbiB7XG4gICAgICAgICAgICAgICAgLy8gICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMjAwcHg7XG4gICAgICAgICAgICAgICAgLy8gICAgICAgICAgICAgYmFja2dyb3VuZDogJGNvbG9yX3NlY29uZGFyeS0yMDA7XG4gICAgICAgICAgICAgICAgLy8gICAgICAgICAgICAgcGFkZGluZzogMXJlbTtcbiAgICAgICAgICAgICAgICAvLyAgICAgICAgICAgICBmb250LXdlaWdodDogNzAwO1xuXG4gICAgICAgICAgICAgICAgLy8gICAgICAgICAgICAgc3BhbiB7XG4gICAgICAgICAgICAgICAgLy8gICAgICAgICAgICAgICAgIGNvbG9yOiB3aGl0ZTtcbiAgICAgICAgICAgICAgICAvLyAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgLy8gICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAvLyAgICAgICAgICoge1xuICAgICAgICAgICAgICAgIC8vICAgICAgICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgICAgICAgICAvLyAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIC8vICAgICAgICAgLmFjdGlvbnMtdG9vbGJhciB7XG4gICAgICAgICAgICAgICAgLy8gICAgICAgICAgICAgbWluLXdpZHRoOiB1bnNldDtcbiAgICAgICAgICAgICAgICAvLyAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAvLyAgICAgfVxuICAgICAgICAgICAgICAgIC8vIH1cbiAgICAgICAgLy8gICAgIH1cbiAgICAgICAgLy8gfVxuXG4gICAgfVxufSIsIi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG5AdXNlICdzYXNzOm1hcCc7XG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG4vKipcbiogRGVmYXVsdCBwcm9qZWN0IGJyZWFrcG9pbnRzIC0gW2VtXVxuKi9cbi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG5AdXNlICdzYXNzOm1hcCc7XG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG4vKipcbiogRGVmYXVsdCBwcm9qZWN0IGJyZWFrcG9pbnRzIC0gW2VtXVxuKi9cbi5jYXRhbG9nLXByb2R1Y3QtdmlldyAuY3MtYnV5Ym94X19zZWN0aW9uLmNzLWJ1eWJveF9fc2VjdGlvbi0tcHJvZHVjdC1mb3JtIC5hdmFpbGFibGUtY291bnQtbm90aWNlIGgzIHtcbiAgZm9udC1zaXplOiAyLjlyZW07XG4gIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICBjb2xvcjogIzQ1NWE2NDsgfVxuICAuY2F0YWxvZy1wcm9kdWN0LXZpZXcgLmNzLWJ1eWJveF9fc2VjdGlvbi5jcy1idXlib3hfX3NlY3Rpb24tLXByb2R1Y3QtZm9ybSAuYXZhaWxhYmxlLWNvdW50LW5vdGljZSBoMyAuY291bnRlciB7XG4gICAgY29sb3I6ICM3ZTU3YzI7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IH1cblxuLmNhdGFsb2ctcHJvZHVjdC12aWV3IC5wcm9kdWN0LWFkZC1mb3JtLnNpbXBsZS1wcm9kdWN0IC5jcy1idXlib3hfX2FkZHRvY2FydCAudGV4dC1jb250ZW50IHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgbWluLXdpZHRoOiAzMDBweDsgfVxuICAuY2F0YWxvZy1wcm9kdWN0LXZpZXcgLnByb2R1Y3QtYWRkLWZvcm0uc2ltcGxlLXByb2R1Y3QgLmNzLWJ1eWJveF9fYWRkdG9jYXJ0IC50ZXh0LWNvbnRlbnQgLnByb2R1Y3QtaXRlbS1uYW1lIHtcbiAgICBmb250LXNpemU6IDJyZW07IH1cbiAgLmNhdGFsb2ctcHJvZHVjdC12aWV3IC5wcm9kdWN0LWFkZC1mb3JtLnNpbXBsZS1wcm9kdWN0IC5jcy1idXlib3hfX2FkZHRvY2FydCAudGV4dC1jb250ZW50IC5wcm9kdWN0LXNrdSB7XG4gICAgZm9udC1zaXplOiAxLjRyZW07IH1cblxuLmNhdGFsb2ctcHJvZHVjdC12aWV3IC5wcm9kdWN0LWFkZC1mb3JtLnNpbXBsZS1wcm9kdWN0IC5jcy1idXlib3hfX2FkZHRvY2FydCAucHJvZHVjdC1hdHRyaWJ1dGUge1xuICBtYXJnaW46IDAgMXJlbTtcbiAgd2lkdGg6IDEwMCU7IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAuY2F0YWxvZy1wcm9kdWN0LXZpZXcgLnByb2R1Y3QtYWRkLWZvcm0uc2ltcGxlLXByb2R1Y3QgLmNzLWJ1eWJveF9fYWRkdG9jYXJ0IC5wcm9kdWN0LWF0dHJpYnV0ZSB7XG4gICAgICB3aWR0aDogYXV0bzsgfSB9XG4gIC5jYXRhbG9nLXByb2R1Y3QtdmlldyAucHJvZHVjdC1hZGQtZm9ybS5zaW1wbGUtcHJvZHVjdCAuY3MtYnV5Ym94X19hZGR0b2NhcnQgLnByb2R1Y3QtYXR0cmlidXRlIC5sYWJlbCB7XG4gICAgY29sb3I6ICM0NTVhNjQ7XG4gICAgZm9udC1zaXplOiAxLjRyZW07IH1cbiAgLmNhdGFsb2ctcHJvZHVjdC12aWV3IC5wcm9kdWN0LWFkZC1mb3JtLnNpbXBsZS1wcm9kdWN0IC5jcy1idXlib3hfX2FkZHRvY2FydCAucHJvZHVjdC1hdHRyaWJ1dGUgLnZhbHVlIHtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIGJhY2tncm91bmQ6ICNlZGVmZjE7XG4gICAgcGFkZGluZzogMC41cmVtO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBib3JkZXItcmFkaXVzOiA3cHg7XG4gICAgZm9udC1zaXplOiAxLjdyZW07IH1cblxuLmNhdGFsb2ctcHJvZHVjdC12aWV3IC5wcm9kdWN0LWFkZC1mb3JtLnNpbXBsZS1wcm9kdWN0IC5jcy1idXlib3hfX2FkZHRvY2FydCAucHJpY2UgPiAucHJvZHVjdC1pdGVtLXByaWNlID4gLnByaWNlLWJveCAucHJpY2UtY29udGFpbmVyIHtcbiAgbWFyZ2luOiAwIDFyZW07XG4gIGRpc3BsYXk6IGJsb2NrOyB9XG4gIC5jYXRhbG9nLXByb2R1Y3QtdmlldyAucHJvZHVjdC1hZGQtZm9ybS5zaW1wbGUtcHJvZHVjdCAuY3MtYnV5Ym94X19hZGR0b2NhcnQgLnByaWNlID4gLnByb2R1Y3QtaXRlbS1wcmljZSA+IC5wcmljZS1ib3ggLnByaWNlLWNvbnRhaW5lciAucHJpY2Utd3JhcHBlciA+IC5wcmljZSB7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBmb250LXNpemU6IDJyZW07XG4gICAgY29sb3I6ICM0NTVhNjQ7XG4gICAgcGFkZGluZzogMnJlbSAwOyB9XG5cbi5jYXRhbG9nLXByb2R1Y3QtdmlldyAucHJvZHVjdC1hZGQtZm9ybS5zaW1wbGUtcHJvZHVjdCAuY3MtYnV5Ym94X19hZGR0b2NhcnQgLmNvbnRyb2wucXR5IHtcbiAgYm9yZGVyOiAxcHggc29saWQgI2VkZWZmMTtcbiAgYm9yZGVyLXJhZGl1czogMjAwcHg7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBtYXJnaW4tcmlnaHQ6IDA7XG4gIG1hcmdpbi1sZWZ0OiBhdXRvOyB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLmNhdGFsb2ctcHJvZHVjdC12aWV3IC5wcm9kdWN0LWFkZC1mb3JtLnNpbXBsZS1wcm9kdWN0IC5jcy1idXlib3hfX2FkZHRvY2FydCAuY29udHJvbC5xdHkge1xuICAgICAgbWFyZ2luLWxlZnQ6IDA7IH0gfVxuICAuY2F0YWxvZy1wcm9kdWN0LXZpZXcgLnByb2R1Y3QtYWRkLWZvcm0uc2ltcGxlLXByb2R1Y3QgLmNzLWJ1eWJveF9fYWRkdG9jYXJ0IC5jb250cm9sLnF0eSAuY3MtcXR5LWluY3JlbWVudCAqIHtcbiAgICBib3JkZXI6IG5vbmU7IH1cbiAgLmNhdGFsb2ctcHJvZHVjdC12aWV3IC5wcm9kdWN0LWFkZC1mb3JtLnNpbXBsZS1wcm9kdWN0IC5jcy1idXlib3hfX2FkZHRvY2FydCAuY29udHJvbC5xdHkgLmNzLWFkZHRvY2FydCAuY3MtYWRkdG9jYXJ0X193cmFwcGVyIHtcbiAgICBib3JkZXItcmFkaXVzOiAxMDBweDsgfVxuICAgIC5jYXRhbG9nLXByb2R1Y3QtdmlldyAucHJvZHVjdC1hZGQtZm9ybS5zaW1wbGUtcHJvZHVjdCAuY3MtYnV5Ym94X19hZGR0b2NhcnQgLmNvbnRyb2wucXR5IC5jcy1hZGR0b2NhcnQgLmNzLWFkZHRvY2FydF9fd3JhcHBlciAudG9jYXJ0LnByaW1hcnkuY3MtYWRkdG9jYXJ0X19idXR0b24uY3MtYnV5Ym94X19hZGR0b2NhcnQtYnV0dG9uIHtcbiAgICAgIGhlaWdodDogNDBweDtcbiAgICAgIHdpZHRoOiA0MHB4O1xuICAgICAgYm9yZGVyOiB1bnNldDsgfVxuICAgICAgLmNhdGFsb2ctcHJvZHVjdC12aWV3IC5wcm9kdWN0LWFkZC1mb3JtLnNpbXBsZS1wcm9kdWN0IC5jcy1idXlib3hfX2FkZHRvY2FydCAuY29udHJvbC5xdHkgLmNzLWFkZHRvY2FydCAuY3MtYWRkdG9jYXJ0X193cmFwcGVyIC50b2NhcnQucHJpbWFyeS5jcy1hZGR0b2NhcnRfX2J1dHRvbi5jcy1idXlib3hfX2FkZHRvY2FydC1idXR0b24gLmNzLWFkZHRvY2FydF9fYnV0dG9uLWljb24ge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xuICAgICAgICB3aWR0aDogMnJlbTtcbiAgICAgICAgaGVpZ2h0OiAycmVtOyB9XG4gICAgICAuY2F0YWxvZy1wcm9kdWN0LXZpZXcgLnByb2R1Y3QtYWRkLWZvcm0uc2ltcGxlLXByb2R1Y3QgLmNzLWJ1eWJveF9fYWRkdG9jYXJ0IC5jb250cm9sLnF0eSAuY3MtYWRkdG9jYXJ0IC5jcy1hZGR0b2NhcnRfX3dyYXBwZXIgLnRvY2FydC5wcmltYXJ5LmNzLWFkZHRvY2FydF9fYnV0dG9uLmNzLWJ1eWJveF9fYWRkdG9jYXJ0LWJ1dHRvbjo6YmVmb3JlIHtcbiAgICAgICAgYmFja2dyb3VuZDogdW5zZXQ7IH1cbiAgICAgIC5jYXRhbG9nLXByb2R1Y3QtdmlldyAucHJvZHVjdC1hZGQtZm9ybS5zaW1wbGUtcHJvZHVjdCAuY3MtYnV5Ym94X19hZGR0b2NhcnQgLmNvbnRyb2wucXR5IC5jcy1hZGR0b2NhcnQgLmNzLWFkZHRvY2FydF9fd3JhcHBlciAudG9jYXJ0LnByaW1hcnkuY3MtYWRkdG9jYXJ0X19idXR0b24uY3MtYnV5Ym94X19hZGR0b2NhcnQtYnV0dG9uOjphZnRlciB7XG4gICAgICAgIGJhY2tncm91bmQ6IHVuc2V0OyB9XG4gICAgICAuY2F0YWxvZy1wcm9kdWN0LXZpZXcgLnByb2R1Y3QtYWRkLWZvcm0uc2ltcGxlLXByb2R1Y3QgLmNzLWJ1eWJveF9fYWRkdG9jYXJ0IC5jb250cm9sLnF0eSAuY3MtYWRkdG9jYXJ0IC5jcy1hZGR0b2NhcnRfX3dyYXBwZXIgLnRvY2FydC5wcmltYXJ5LmNzLWFkZHRvY2FydF9fYnV0dG9uLmNzLWJ1eWJveF9fYWRkdG9jYXJ0LWJ1dHRvbjpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICM0ZDJjOTEgIWltcG9ydGFudDsgfVxuXG4uY2F0YWxvZy1wcm9kdWN0LXZpZXcgLnByb2R1Y3QtYWRkLWZvcm0uc2ltcGxlLXByb2R1Y3QgLnJvdy10aWVyLXByaWNlIHtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgcGFkZGluZzogMXJlbSAwO1xuICBmb250LXNpemU6IDEuNHJlbTsgfVxuICAuY2F0YWxvZy1wcm9kdWN0LXZpZXcgLnByb2R1Y3QtYWRkLWZvcm0uc2ltcGxlLXByb2R1Y3QgLnJvdy10aWVyLXByaWNlIC5ib3gtdGllci1wcmljZSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDsgfVxuICAuY2F0YWxvZy1wcm9kdWN0LXZpZXcgLnByb2R1Y3QtYWRkLWZvcm0uc2ltcGxlLXByb2R1Y3QgLnJvdy10aWVyLXByaWNlIC5wcmljZXMtdGllci5pdGVtcyB7XG4gICAgbWFyZ2luOiAwcHg7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDsgfVxuICAuY2F0YWxvZy1wcm9kdWN0LXZpZXcgLnByb2R1Y3QtYWRkLWZvcm0uc2ltcGxlLXByb2R1Y3QgLnJvdy10aWVyLXByaWNlIC5wcmljZXMtdGllci5pdGVtcyA+IC5pdGVtIHtcbiAgICBtYXJnaW46IDFweCAwcHg7IH1cblxuLmNhdGFsb2ctcHJvZHVjdC12aWV3IC5wcm9kdWN0LWFkZC1mb3JtLnNpbXBsZS1wcm9kdWN0IC5jb2wuaXRlbSB7XG4gIHdpZHRoOiAxMDAlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBib3JkZXI6IHVuc2V0OyB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA0OC4wMWVtKSB7XG4gICAgLmNhdGFsb2ctcHJvZHVjdC12aWV3IC5wcm9kdWN0LWFkZC1mb3JtLnNpbXBsZS1wcm9kdWN0IC5jb2wuaXRlbSB7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogcm93OyB9IH1cbiAgLmNhdGFsb2ctcHJvZHVjdC12aWV3IC5wcm9kdWN0LWFkZC1mb3JtLnNpbXBsZS1wcm9kdWN0IC5jb2wuaXRlbSAqIHtcbiAgICBjb2xvcjogIzQ1NWE2NDsgfVxuICAuY2F0YWxvZy1wcm9kdWN0LXZpZXcgLnByb2R1Y3QtYWRkLWZvcm0uc2ltcGxlLXByb2R1Y3QgLmNvbC5pdGVtIC50ZXh0LWNvbnRlbnQge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIG1pbi13aWR0aDogMzgwcHg7XG4gICAgbWF4LXdpZHRoOiAzODBweDsgfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA0OGVtKSB7XG4gICAgICAuY2F0YWxvZy1wcm9kdWN0LXZpZXcgLnByb2R1Y3QtYWRkLWZvcm0uc2ltcGxlLXByb2R1Y3QgLmNvbC5pdGVtIC50ZXh0LWNvbnRlbnQge1xuICAgICAgICBtaW4td2lkdGg6IDEwMCU7IH0gfVxuICAgIC5jYXRhbG9nLXByb2R1Y3QtdmlldyAucHJvZHVjdC1hZGQtZm9ybS5zaW1wbGUtcHJvZHVjdCAuY29sLml0ZW0gLnRleHQtY29udGVudCAucHJvZHVjdC1pdGVtLW5hbWUge1xuICAgICAgZm9udC1zaXplOiAycmVtOyB9XG4gICAgLmNhdGFsb2ctcHJvZHVjdC12aWV3IC5wcm9kdWN0LWFkZC1mb3JtLnNpbXBsZS1wcm9kdWN0IC5jb2wuaXRlbSAudGV4dC1jb250ZW50IC50ZXh0LWNvbnRlbnRfX25hbWUge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IH1cbiAgICAuY2F0YWxvZy1wcm9kdWN0LXZpZXcgLnByb2R1Y3QtYWRkLWZvcm0uc2ltcGxlLXByb2R1Y3QgLmNvbC5pdGVtIC50ZXh0LWNvbnRlbnQgLnRleHQtY29udGVudF9faW1nIHtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDFyZW07IH1cbiAgLmNhdGFsb2ctcHJvZHVjdC12aWV3IC5wcm9kdWN0LWFkZC1mb3JtLnNpbXBsZS1wcm9kdWN0IC5jb2wuaXRlbSAucHJvZHVjdC1hdHRyaWJ1dGUge1xuICAgIG1hcmdpbjogMCAxcmVtO1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDQ4LjAxZW0pIHtcbiAgICAgIC5jYXRhbG9nLXByb2R1Y3QtdmlldyAucHJvZHVjdC1hZGQtZm9ybS5zaW1wbGUtcHJvZHVjdCAuY29sLml0ZW0gLnByb2R1Y3QtYXR0cmlidXRlIHtcbiAgICAgICAgd2lkdGg6IGF1dG87IH0gfVxuICAgIC5jYXRhbG9nLXByb2R1Y3QtdmlldyAucHJvZHVjdC1hZGQtZm9ybS5zaW1wbGUtcHJvZHVjdCAuY29sLml0ZW0gLnByb2R1Y3QtYXR0cmlidXRlIC52YWx1ZSB7XG4gICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgYmFja2dyb3VuZDogI2VkZWZmMTtcbiAgICAgIHBhZGRpbmc6IDAuNXJlbTtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDdweDtcbiAgICAgIGZvbnQtc2l6ZTogMS43cmVtOyB9XG5cbi5jYXRhbG9nLXByb2R1Y3QtdmlldyAucHJvZHVjdC1hZGQtZm9ybS5zaW1wbGUtcHJvZHVjdCAuYm94LXByaWNlLXF0eSB7XG4gIHBhZGRpbmctdG9wOiAxcmVtOyB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA0OC4wMWVtKSB7XG4gICAgLmNhdGFsb2ctcHJvZHVjdC12aWV3IC5wcm9kdWN0LWFkZC1mb3JtLnNpbXBsZS1wcm9kdWN0IC5ib3gtcHJpY2UtcXR5IHtcbiAgICAgIHBhZGRpbmctdG9wOiAwOyB9IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAuY2F0YWxvZy1wcm9kdWN0LXZpZXcgLnByb2R1Y3QtYWRkLWZvcm0uc2ltcGxlLXByb2R1Y3QgLmJveC1wcmljZS1xdHkge1xuICAgICAgbWluLXdpZHRoOiAzMzNweDsgfSB9XG4gIC5jYXRhbG9nLXByb2R1Y3QtdmlldyAucHJvZHVjdC1hZGQtZm9ybS5zaW1wbGUtcHJvZHVjdCAuYm94LXByaWNlLXF0eSAucHJvZHVjdC1wcmljZS1ibG9jayB7XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7IH1cbiAgICAuY2F0YWxvZy1wcm9kdWN0LXZpZXcgLnByb2R1Y3QtYWRkLWZvcm0uc2ltcGxlLXByb2R1Y3QgLmJveC1wcmljZS1xdHkgLnByb2R1Y3QtcHJpY2UtYmxvY2sgLnByb2R1Y3QtcHJpY2UtaW5uZXIge1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICBwYWRkaW5nOiAwO1xuICAgICAgZmxleC1kaXJlY3Rpb246IHJvdzsgfVxuICAgICAgLmNhdGFsb2ctcHJvZHVjdC12aWV3IC5wcm9kdWN0LWFkZC1mb3JtLnNpbXBsZS1wcm9kdWN0IC5ib3gtcHJpY2UtcXR5IC5wcm9kdWN0LXByaWNlLWJsb2NrIC5wcm9kdWN0LXByaWNlLWlubmVyIC5zYWxlLWJhZGdlLXdyYXBwZXIge1xuICAgICAgICBtYXJnaW4tdG9wOiA2cHg7IH1cbiAgICAgICAgLmNhdGFsb2ctcHJvZHVjdC12aWV3IC5wcm9kdWN0LWFkZC1mb3JtLnNpbXBsZS1wcm9kdWN0IC5ib3gtcHJpY2UtcXR5IC5wcm9kdWN0LXByaWNlLWJsb2NrIC5wcm9kdWN0LXByaWNlLWlubmVyIC5zYWxlLWJhZGdlLXdyYXBwZXIgLnNhbGUtYmFkZ2Uge1xuICAgICAgICAgIGJhY2tncm91bmQ6ICNmZTE2NDQ7XG4gICAgICAgICAgY29sb3I6IHdoaXRlO1xuICAgICAgICAgIHBhZGRpbmc6IDAuOHJlbSAwLjJyZW07XG4gICAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDJweDtcbiAgICAgICAgICBib3JkZXItcmFkaXVzOiA0cHg7XG4gICAgICAgICAgZm9udC1zaXplOiAycmVtO1xuICAgICAgICAgIG1hcmdpbi1sZWZ0OiAxcmVtOyB9XG4gICAgICAuY2F0YWxvZy1wcm9kdWN0LXZpZXcgLnByb2R1Y3QtYWRkLWZvcm0uc2ltcGxlLXByb2R1Y3QgLmJveC1wcmljZS1xdHkgLnByb2R1Y3QtcHJpY2UtYmxvY2sgLnByb2R1Y3QtcHJpY2UtaW5uZXIgLmhpbnQge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDAuMjVyZW07XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjsgfVxuICAgICAgICAuY2F0YWxvZy1wcm9kdWN0LXZpZXcgLnByb2R1Y3QtYWRkLWZvcm0uc2ltcGxlLXByb2R1Y3QgLmJveC1wcmljZS1xdHkgLnByb2R1Y3QtcHJpY2UtYmxvY2sgLnByb2R1Y3QtcHJpY2UtaW5uZXIgLmhpbnQgLmljb24ge1xuICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7IH1cbiAgICAgICAgLmNhdGFsb2ctcHJvZHVjdC12aWV3IC5wcm9kdWN0LWFkZC1mb3JtLnNpbXBsZS1wcm9kdWN0IC5ib3gtcHJpY2UtcXR5IC5wcm9kdWN0LXByaWNlLWJsb2NrIC5wcm9kdWN0LXByaWNlLWlubmVyIC5oaW50IC5pY29uLWhlbHA6OmJlZm9yZSB7XG4gICAgICAgICAgY29udGVudDogJz8nO1xuICAgICAgICAgIHdpZHRoOiAxNXB4O1xuICAgICAgICAgIGhlaWdodDogMTVweDtcbiAgICAgICAgICBmb250LXNpemU6IDEwcHg7XG4gICAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICAgICAgY29sb3I6ICM0NTVhNjQ7XG4gICAgICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICAgIGJvcmRlcjogc29saWQgMXB4O1xuICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlOyB9XG4gICAgICAgIC5jYXRhbG9nLXByb2R1Y3QtdmlldyAucHJvZHVjdC1hZGQtZm9ybS5zaW1wbGUtcHJvZHVjdCAuYm94LXByaWNlLXF0eSAucHJvZHVjdC1wcmljZS1ibG9jayAucHJvZHVjdC1wcmljZS1pbm5lciAuaGludCAuaGludF9fY29udGVudCB7XG4gICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgcmlnaHQ6IC0wLjI1cmVtO1xuICAgICAgICAgIHRvcDogY2FsYygxMDAlICsgMTBweCk7XG4gICAgICAgICAgZm9udC1zaXplOiAxM3B4O1xuICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjVlbTtcbiAgICAgICAgICB6LWluZGV4OiA1O1xuICAgICAgICAgIG1pbi13aWR0aDogMjU4cHg7XG4gICAgICAgICAgcGFkZGluZzogMXJlbTtcbiAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gICAgICAgICAgYm94LXNoYWRvdzogMCAwIDE1cHggMCByZ2JhKDAsIDAsIDAsIDAuMik7XG4gICAgICAgICAgYm9yZGVyLXJhZGl1czogM3B4O1xuICAgICAgICAgIGNvbG9yOiAjNDU1YTY0OyB9XG4gICAgICAgICAgLmNhdGFsb2ctcHJvZHVjdC12aWV3IC5wcm9kdWN0LWFkZC1mb3JtLnNpbXBsZS1wcm9kdWN0IC5ib3gtcHJpY2UtcXR5IC5wcm9kdWN0LXByaWNlLWJsb2NrIC5wcm9kdWN0LXByaWNlLWlubmVyIC5oaW50IC5oaW50X19jb250ZW50OjphZnRlciB7XG4gICAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgdG9wOiAtMTRweDtcbiAgICAgICAgICAgIHJpZ2h0OiA0cHg7XG4gICAgICAgICAgICBib3JkZXItd2lkdGg6IDdweDtcbiAgICAgICAgICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgICAgICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50ICNmZmYgdHJhbnNwYXJlbnQ7IH1cbiAgICAgICAgLmNhdGFsb2ctcHJvZHVjdC12aWV3IC5wcm9kdWN0LWFkZC1mb3JtLnNpbXBsZS1wcm9kdWN0IC5ib3gtcHJpY2UtcXR5IC5wcm9kdWN0LXByaWNlLWJsb2NrIC5wcm9kdWN0LXByaWNlLWlubmVyIC5oaW50OmhvdmVyIC5oaW50X19jb250ZW50IHtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jazsgfVxuICAgIC5jYXRhbG9nLXByb2R1Y3QtdmlldyAucHJvZHVjdC1hZGQtZm9ybS5zaW1wbGUtcHJvZHVjdCAuYm94LXByaWNlLXF0eSAucHJvZHVjdC1wcmljZS1ibG9jayAub21uaWJ1cy13cmFwcGVyID4gc3BhbiB7XG4gICAgICBjb2xvcjogI2E4YjFiNztcbiAgICAgIGZvbnQtc2l6ZTogMS40cmVtO1xuICAgICAgbGluZS1oZWlnaHQ6IDE7IH1cbiAgICAuY2F0YWxvZy1wcm9kdWN0LXZpZXcgLnByb2R1Y3QtYWRkLWZvcm0uc2ltcGxlLXByb2R1Y3QgLmJveC1wcmljZS1xdHkgLnByb2R1Y3QtcHJpY2UtYmxvY2sgLnByaWNlLWJveCB7XG4gICAgICBvcmRlcjogOTtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbi1yZXZlcnNlOyB9XG4gICAgICAuY2F0YWxvZy1wcm9kdWN0LXZpZXcgLnByb2R1Y3QtYWRkLWZvcm0uc2ltcGxlLXByb2R1Y3QgLmJveC1wcmljZS1xdHkgLnByb2R1Y3QtcHJpY2UtYmxvY2sgLnByaWNlLWJveCAucHJpY2UtY29udGFpbmVyIHtcbiAgICAgICAgbWFyZ2luOiAwIDFyZW07XG4gICAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7IH1cbiAgICAgICAgLmNhdGFsb2ctcHJvZHVjdC12aWV3IC5wcm9kdWN0LWFkZC1mb3JtLnNpbXBsZS1wcm9kdWN0IC5ib3gtcHJpY2UtcXR5IC5wcm9kdWN0LXByaWNlLWJsb2NrIC5wcmljZS1ib3ggLnByaWNlLWNvbnRhaW5lciAucHJpY2Uge1xuICAgICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICAgICAgZm9udC1zaXplOiAycmVtO1xuICAgICAgICAgIGNvbG9yOiAjNDU1YTY0OyB9XG4gICAgICAuY2F0YWxvZy1wcm9kdWN0LXZpZXcgLnByb2R1Y3QtYWRkLWZvcm0uc2ltcGxlLXByb2R1Y3QgLmJveC1wcmljZS1xdHkgLnByb2R1Y3QtcHJpY2UtYmxvY2sgLnByaWNlLWJveCAuc3BlY2lhbC1wcmljZSAucHJpY2Uge1xuICAgICAgICBjb2xvcjogI2ZlMTY0NDsgfVxuICAgICAgLmNhdGFsb2ctcHJvZHVjdC12aWV3IC5wcm9kdWN0LWFkZC1mb3JtLnNpbXBsZS1wcm9kdWN0IC5ib3gtcHJpY2UtcXR5IC5wcm9kdWN0LXByaWNlLWJsb2NrIC5wcmljZS1ib3ggLm9sZC1wcmljZSAucHJpY2Uge1xuICAgICAgICBmb250LXNpemU6IDEuNXJlbTtcbiAgICAgICAgY29sb3I6ICNhOGIxYjc7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7IH1cbiAgICAgIC5jYXRhbG9nLXByb2R1Y3QtdmlldyAucHJvZHVjdC1hZGQtZm9ybS5zaW1wbGUtcHJvZHVjdCAuYm94LXByaWNlLXF0eSAucHJvZHVjdC1wcmljZS1ibG9jayAucHJpY2UtYm94IC5vbGQtcHJpY2UgLnByaWNlLXdyYXBwZXIge1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93LXJldmVyc2U7IH1cbiAgLmNhdGFsb2ctcHJvZHVjdC12aWV3IC5wcm9kdWN0LWFkZC1mb3JtLnNpbXBsZS1wcm9kdWN0IC5ib3gtcHJpY2UtcXR5IC5hbXhub3RpZi1ibG9jayB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICBtYXJnaW4tbGVmdDogYXV0bzsgfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA2My45OWVtKSB7XG4gICAgICAuY2F0YWxvZy1wcm9kdWN0LXZpZXcgLnByb2R1Y3QtYWRkLWZvcm0uc2ltcGxlLXByb2R1Y3QgLmJveC1wcmljZS1xdHkgLmFteG5vdGlmLWJsb2NrIHtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgcGFkZGluZzogMS41cmVtOyB9IH1cbiAgICAuY2F0YWxvZy1wcm9kdWN0LXZpZXcgLnByb2R1Y3QtYWRkLWZvcm0uc2ltcGxlLXByb2R1Y3QgLmJveC1wcmljZS1xdHkgLmFteG5vdGlmLWJsb2NrIC5sYWJlbCB7XG4gICAgICBmb250LXNpemU6IDEuN3JlbTtcbiAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7IH1cbiAgICAuY2F0YWxvZy1wcm9kdWN0LXZpZXcgLnByb2R1Y3QtYWRkLWZvcm0uc2ltcGxlLXByb2R1Y3QgLmJveC1wcmljZS1xdHkgLmFteG5vdGlmLWJsb2NrIC5ub3RpZmljYXRpb24tY29udGFpbmVyIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAxcmVtO1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNlZGVmZjE7XG4gICAgICBib3JkZXItcmFkaXVzOiAyMDBweDsgfVxuICAgICAgLmNhdGFsb2ctcHJvZHVjdC12aWV3IC5wcm9kdWN0LWFkZC1mb3JtLnNpbXBsZS1wcm9kdWN0IC5ib3gtcHJpY2UtcXR5IC5hbXhub3RpZi1ibG9jayAubm90aWZpY2F0aW9uLWNvbnRhaW5lcjpob3ZlciBidXR0b24ge1xuICAgICAgICBiYWNrZ3JvdW5kOiAjMTFhMDk5OyB9XG4gICAgICAuY2F0YWxvZy1wcm9kdWN0LXZpZXcgLnByb2R1Y3QtYWRkLWZvcm0uc2ltcGxlLXByb2R1Y3QgLmJveC1wcmljZS1xdHkgLmFteG5vdGlmLWJsb2NrIC5ub3RpZmljYXRpb24tY29udGFpbmVyIC5pbnB1dC10ZXh0IHtcbiAgICAgICAgbWluLXdpZHRoOiAxNTBweDtcbiAgICAgICAgZm9udC1zaXplOiAxLjRyZW07XG4gICAgICAgIGJvcmRlcjogdW5zZXQ7XG4gICAgICAgIGJveC1zaGFkb3c6IHVuc2V0OyB9XG4gICAgICAuY2F0YWxvZy1wcm9kdWN0LXZpZXcgLnByb2R1Y3QtYWRkLWZvcm0uc2ltcGxlLXByb2R1Y3QgLmJveC1wcmljZS1xdHkgLmFteG5vdGlmLWJsb2NrIC5ub3RpZmljYXRpb24tY29udGFpbmVyIGJ1dHRvbiB7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDIwMHB4O1xuICAgICAgICBiYWNrZ3JvdW5kOiAjMTdjOGMwO1xuICAgICAgICBwYWRkaW5nOiAxcmVtO1xuICAgICAgICBmb250LXdlaWdodDogNzAwOyB9XG4gICAgICAgIC5jYXRhbG9nLXByb2R1Y3QtdmlldyAucHJvZHVjdC1hZGQtZm9ybS5zaW1wbGUtcHJvZHVjdCAuYm94LXByaWNlLXF0eSAuYW14bm90aWYtYmxvY2sgLm5vdGlmaWNhdGlvbi1jb250YWluZXIgYnV0dG9uIHNwYW4ge1xuICAgICAgICAgIGNvbG9yOiB3aGl0ZTsgfVxuICAgICAgLmNhdGFsb2ctcHJvZHVjdC12aWV3IC5wcm9kdWN0LWFkZC1mb3JtLnNpbXBsZS1wcm9kdWN0IC5ib3gtcHJpY2UtcXR5IC5hbXhub3RpZi1ibG9jayAubm90aWZpY2F0aW9uLWNvbnRhaW5lciAqIHtcbiAgICAgICAgYm9yZGVyOiBub25lOyB9XG4gICAgICAuY2F0YWxvZy1wcm9kdWN0LXZpZXcgLnByb2R1Y3QtYWRkLWZvcm0uc2ltcGxlLXByb2R1Y3QgLmJveC1wcmljZS1xdHkgLmFteG5vdGlmLWJsb2NrIC5ub3RpZmljYXRpb24tY29udGFpbmVyIC5hY3Rpb25zLXRvb2xiYXIge1xuICAgICAgICBtaW4td2lkdGg6IHVuc2V0OyB9XG4gIC5jYXRhbG9nLXByb2R1Y3QtdmlldyAucHJvZHVjdC1hZGQtZm9ybS5zaW1wbGUtcHJvZHVjdCAuYm94LXByaWNlLXF0eSAuY29sLnF0eSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gICAgYm9yZGVyOiB1bnNldDtcbiAgICBtYXJnaW4tbGVmdDogMXJlbTsgfVxuICAgIC5jYXRhbG9nLXByb2R1Y3QtdmlldyAucHJvZHVjdC1hZGQtZm9ybS5zaW1wbGUtcHJvZHVjdCAuYm94LXByaWNlLXF0eSAuY29sLnF0eSAuY29udHJvbC5xdHkge1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgI2VkZWZmMTtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDIwMHB4O1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgfVxuICAgIC5jYXRhbG9nLXByb2R1Y3QtdmlldyAucHJvZHVjdC1hZGQtZm9ybS5zaW1wbGUtcHJvZHVjdCAuYm94LXByaWNlLXF0eSAuY29sLnF0eSAuY29udHJvbC5xdHkgPiBmb3JtIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsgfVxuICAgIC5jYXRhbG9nLXByb2R1Y3QtdmlldyAucHJvZHVjdC1hZGQtZm9ybS5zaW1wbGUtcHJvZHVjdCAuYm94LXByaWNlLXF0eSAuY29sLnF0eSAuY3MtcXR5LWluY3JlbWVudCB7XG4gICAgICBmbGV4LXdyYXA6IG5vd3JhcDsgfVxuICAgICAgLmNhdGFsb2ctcHJvZHVjdC12aWV3IC5wcm9kdWN0LWFkZC1mb3JtLnNpbXBsZS1wcm9kdWN0IC5ib3gtcHJpY2UtcXR5IC5jb2wucXR5IC5jcy1xdHktaW5jcmVtZW50IC5jcy1xdHktaW5jcmVtZW50X19pbnB1dCB7XG4gICAgICAgIG1pbi13aWR0aDogMjVweDtcbiAgICAgICAgbWF4LXdpZHRoOiA3NXB4O1xuICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgICBjb2xvcjogIzQ1NWE2NDsgfVxuICAgICAgLmNhdGFsb2ctcHJvZHVjdC12aWV3IC5wcm9kdWN0LWFkZC1mb3JtLnNpbXBsZS1wcm9kdWN0IC5ib3gtcHJpY2UtcXR5IC5jb2wucXR5IC5jcy1xdHktaW5jcmVtZW50IHNwYW4ge1xuICAgICAgICBib3JkZXI6IG5vbmU7IH1cbiAgICAgICAgLmNhdGFsb2ctcHJvZHVjdC12aWV3IC5wcm9kdWN0LWFkZC1mb3JtLnNpbXBsZS1wcm9kdWN0IC5ib3gtcHJpY2UtcXR5IC5jb2wucXR5IC5jcy1xdHktaW5jcmVtZW50IHNwYW46aG92ZXIge1xuICAgICAgICAgIGJhY2tncm91bmQ6IHdoaXRlOyB9XG4gICAgICAgICAgLmNhdGFsb2ctcHJvZHVjdC12aWV3IC5wcm9kdWN0LWFkZC1mb3JtLnNpbXBsZS1wcm9kdWN0IC5ib3gtcHJpY2UtcXR5IC5jb2wucXR5IC5jcy1xdHktaW5jcmVtZW50IHNwYW46aG92ZXIgKiB7XG4gICAgICAgICAgICBmaWxsOiAjNGQyYzkxOyB9XG4gICAgLmNhdGFsb2ctcHJvZHVjdC12aWV3IC5wcm9kdWN0LWFkZC1mb3JtLnNpbXBsZS1wcm9kdWN0IC5ib3gtcHJpY2UtcXR5IC5jb2wucXR5IC5hZGR0b2NhcnQge1xuICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICM3ZTU3YzI7XG4gICAgICBib3JkZXI6IG5vbmU7XG4gICAgICBib3JkZXItcmFkaXVzOiAxMDBweDtcbiAgICAgIHdpZHRoOiA0MHB4O1xuICAgICAgaGVpZ2h0OiA0MHB4O1xuICAgICAgcGFkZGluZzogMXJlbTtcbiAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4zcyBlYXNlOyB9XG4gICAgICAuY2F0YWxvZy1wcm9kdWN0LXZpZXcgLnByb2R1Y3QtYWRkLWZvcm0uc2ltcGxlLXByb2R1Y3QgLmJveC1wcmljZS1xdHkgLmNvbC5xdHkgLmFkZHRvY2FydDpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICM0ZDJjOTE7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjsgfVxuXG5AbWVkaWEgKG1heC13aWR0aDogNjMuOTllbSkge1xuICAuY2F0YWxvZy1wcm9kdWN0LXZpZXcgLmNzLWJ1eWJveF9fYWRkdG9jYXJ0LWZpZWxkc2V0IHtcbiAgICBhbGlnbi1pdGVtczogZmxleC1lbmQ7IH0gfVxuIiwiQGltcG9ydCAnY29uZmlnL3ZhcmlhYmxlcyc7XG5AaW1wb3J0ICd2ZW5kb3JzL2luY2x1ZGUtbWVkaWEnO1xuXG4uY2F0YWxvZy1wcm9kdWN0LXZpZXcge1xuICAgIC5jcy1idXlib3hfX3NlY3Rpb24uY3MtYnV5Ym94X19zZWN0aW9uLS1wcm9kdWN0LWZvcm0ge1xuICAgICAgICAuYXZhaWxhYmxlLWNvdW50LW5vdGljZSB7XG4gICAgICAgICAgICBoMyB7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAyLjlyZW07XG4gICAgICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gICAgICAgICAgICAgICAgY29sb3I6ICM0NTVhNjQ7XG5cbiAgICAgICAgICAgICAgICAuY291bnRlciB7XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAjN2U1N2MyO1xuICAgICAgICAgICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAucHJvZHVjdC1hZGQtZm9ybS5zaW1wbGUtcHJvZHVjdCB7XG4gICAgICAgIC5jcy1idXlib3hfX2FkZHRvY2FydCB7XG4gICAgICAgICAgICAudGV4dC1jb250ZW50IHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgICAgICAgICAgbWluLXdpZHRoOiAzMDBweDtcblxuICAgICAgICAgICAgICAgIC5wcm9kdWN0LWl0ZW0tbmFtZSB7XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMnJlbTtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAucHJvZHVjdC1za3Uge1xuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDEuNHJlbTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5wcm9kdWN0LWF0dHJpYnV0ZSB7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwIDFyZW07XG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz49bGFwdG9wJykge1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAubGFiZWwge1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjogJGNvbG9yX3BhcGlsYXJ0X2dyYXlncmVlbjtcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAxLjRyZW07XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgLnZhbHVlIHtcbiAgICAgICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDogJGNvbG9yX3BhcGlsYXJ0X2JnO1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAwLjVyZW07XG4gICAgICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogN3B4O1xuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDEuN3JlbTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5wcmljZT4ucHJvZHVjdC1pdGVtLXByaWNlPi5wcmljZS1ib3ggLnByaWNlLWNvbnRhaW5lciB7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwIDFyZW07XG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG5cbiAgICAgICAgICAgICAgICAucHJpY2Utd3JhcHBlcj4ucHJpY2Uge1xuICAgICAgICAgICAgICAgICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDJyZW07XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkY29sb3JfcGFwaWxhcnRfZ3JheWdyZWVuO1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAycmVtIDA7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuY29udHJvbC5xdHkge1xuICAgICAgICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICRjb2xvcl9wYXBpbGFydF9iZztcbiAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiAyMDBweDtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PWxhcHRvcCcpIHtcbiAgICAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAuY3MtcXR5LWluY3JlbWVudCB7XG4gICAgICAgICAgICAgICAgICAgICoge1xuICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgLmNzLWFkZHRvY2FydCB7XG4gICAgICAgICAgICAgICAgICAgIC5jcy1hZGR0b2NhcnRfX3dyYXBwZXIge1xuICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMTAwcHg7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIC50b2NhcnQucHJpbWFyeS5jcy1hZGR0b2NhcnRfX2J1dHRvbi5jcy1idXlib3hfX2FkZHRvY2FydC1idXR0b24ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodDogNDBweDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogNDBweDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBib3JkZXI6IHVuc2V0O1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLmNzLWFkZHRvY2FydF9fYnV0dG9uLWljb24ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogMnJlbTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAycmVtO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IHVuc2V0O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDogdW5zZXQ7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvcl9wYXBpbGFydF9wdXJwbGUtZGFyayAhaW1wb3J0YW50O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5yb3ctdGllci1wcmljZSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgICAgICAgICAgIHBhZGRpbmc6IDFyZW0gMDtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMS40cmVtO1xuXG4gICAgICAgICAgICAuYm94LXRpZXItcHJpY2V7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLnByaWNlcy10aWVyLml0ZW1zIHtcbiAgICAgICAgICAgICAgICBtYXJnaW46IDBweDtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGZsZXgtZW5kO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAucHJpY2VzLXRpZXIuaXRlbXM+Lml0ZW0ge1xuICAgICAgICAgICAgICAgIG1hcmdpbjogMXB4IDBweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5jb2wuaXRlbSB7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgIGJvcmRlcjogdW5zZXQ7XG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPnRhYmxldCcpIHtcbiAgICAgICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAqIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogJGNvbG9yX3RleHQtOTAwO1xuICAgICAgICAgICAgICAgIDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLnRleHQtY29udGVudCB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgbWluLXdpZHRoOiAzODBweDtcbiAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IDM4MHB4O1xuXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJzw9dGFibGV0Jykge1xuICAgICAgICAgICAgICAgICAgICAvLyBtaW4td2lkdGg6IDI5NXB4O1xuICAgICAgICAgICAgICAgICAgICBtaW4td2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgLnByb2R1Y3QtaXRlbS1uYW1lIHtcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAycmVtO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAudGV4dC1jb250ZW50X19uYW1le1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAudGV4dC1jb250ZW50X19pbWd7XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDFyZW07XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAucHJvZHVjdC1hdHRyaWJ1dGUge1xuICAgICAgICAgICAgICAgIG1hcmdpbjogMCAxcmVtO1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKCc+dGFibGV0Jykge1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAudmFsdWUge1xuICAgICAgICAgICAgICAgICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAkY29sb3JfcGFwaWxhcnRfYmc7XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDAuNXJlbTtcbiAgICAgICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJhZGl1c19iYXNlO1xuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDEuN3JlbTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuYm94LXByaWNlLXF0eXtcbiAgICAgICAgICAgIHBhZGRpbmctdG9wOiAxcmVtO1xuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz50YWJsZXQnKSB7XG4gICAgICAgICAgICAgICAgcGFkZGluZy10b3A6IDA7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPj1sYXB0b3AnKSB7XG4gICAgICAgICAgICAgICAgbWluLXdpZHRoOiAzMzNweDtcbiAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAucHJvZHVjdC1wcmljZS1ibG9jayB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcblxuICAgICAgICAgICAgICAgIC8vXG4gICAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuXG4gICAgICAgICAgICAgICAgLnByb2R1Y3QtcHJpY2UtaW5uZXIge1xuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgICAgICAgICAgICAgIC8vIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgICAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG5cblxuICAgICAgICAgICAgICAgICAgICAuc2FsZS1iYWRnZS13cmFwcGVyIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDZweDtcblxuICAgICAgICAgICAgICAgICAgICAgICAgLnNhbGUtYmFkZ2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICNmZTE2NDQ7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6IHdoaXRlO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDAuOHJlbSAwLjJyZW07XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDJweDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiA0cHg7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAycmVtO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAxcmVtO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIC5oaW50IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAwLjI1cmVtO1xuICAgICAgICAgICAgICAgICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICAgICAgICAgICAgICAgICAgLmljb24ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAuaWNvbi1oZWxwe1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6ICc/JztcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDE1cHg7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodDogMTVweDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAxMHB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRjb2xvcl90ZXh0LTkwMDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBib3JkZXI6IHNvbGlkIDFweDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIC5oaW50X19jb250ZW50IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByaWdodDogLTAuMjVyZW07XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdG9wOiBjYWxjKDEwMCUgKyAxMHB4KTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDEzcHg7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDEuNWVtO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHotaW5kZXg6IDU7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbWluLXdpZHRoOiAyNThweDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAxcmVtO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBib3gtc2hhZG93OiAwIDAgMTVweCAwIHJnYmEoMCwwLDAsMC4yKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiAzcHg7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRjb2xvcl90ZXh0LTkwMDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0b3A6IC0xNHB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByaWdodDogNHB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBib3JkZXItd2lkdGg6IDdweDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCAjZmZmIHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICY6aG92ZXJ7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLmhpbnRfX2NvbnRlbnR7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIC5vbW5pYnVzLXdyYXBwZXI+c3BhbiB7XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAjYThiMWI3O1xuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDEuNHJlbTtcbiAgICAgICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgLnByaWNlLWJveCB7XG4gICAgICAgICAgICAgICAgICAgIG9yZGVyOiA5O1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uLXJldmVyc2U7XG4gICAgICAgICAgICAgICAgICAgIFxuXG4gICAgICAgICAgICAgICAgICAgIC5wcmljZS1jb250YWluZXIge1xuICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiAwIDFyZW07XG4gICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcblxuICAgICAgICAgICAgICAgICAgICAgICAgLnByaWNlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBjb2xvcjogJGNvbG9yX3RleHQtOTAwO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAycmVtO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkY29sb3JfdGV4dC05MDA7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAuc3BlY2lhbC1wcmljZSAucHJpY2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICNmZTE2NDQ7XG5cbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgIC5vbGQtcHJpY2UgLnByaWNlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMS41cmVtO1xuICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICNhOGIxYjc7XG4gICAgICAgICAgICAgICAgICAgICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgLm9sZC1wcmljZSAucHJpY2Utd3JhcHBlciB7XG4gICAgICAgICAgICAgICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93LXJldmVyc2U7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5hbXhub3RpZi1ibG9jayB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogYXV0bztcblxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKCc8bGFwdG9wJykge1xuICAgICAgICAgICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAxLjVyZW07XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgLmxhYmVsIHtcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAxLjdyZW07XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgLm5vdGlmaWNhdGlvbi1jb250YWluZXIge1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogMXJlbTtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJGNvbG9yX3BhcGlsYXJ0X2JnO1xuICAgICAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiAyMDBweDtcblxuICAgICAgICAgICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJ1dHRvbiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDogJGNvbG9yX3NlY29uZGFyeS01MDA7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAuaW5wdXQtdGV4dCB7XG4gICAgICAgICAgICAgICAgICAgICAgICAvLyBtaW4td2lkdGg6IDIwMHB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgbWluLXdpZHRoOiAxNTBweDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMS40cmVtO1xuICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyOiB1bnNldDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJveC1zaGFkb3c6IHVuc2V0O1xuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgYnV0dG9uIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDIwMHB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDogJGNvbG9yX3NlY29uZGFyeS0yMDA7XG4gICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAxcmVtO1xuICAgICAgICAgICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcblxuICAgICAgICAgICAgICAgICAgICAgICAgc3BhbiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6IHdoaXRlO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgKiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAuYWN0aW9ucy10b29sYmFyIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIG1pbi13aWR0aDogdW5zZXQ7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5jb2wucXR5IHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgICAgICAgICAgICAgICBib3JkZXI6IHVuc2V0O1xuICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAxcmVtO1xuXG4gICAgICAgICAgICAgICAgLmNvbnRyb2wucXR5IHtcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJGNvbG9yX3BhcGlsYXJ0X2JnO1xuICAgICAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiAyMDBweDtcbiAgICAgICAgICAgICAgICAgICAgLy9hZGQgZmxleFxuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAuY29udHJvbC5xdHk+Zm9ybSB7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICAgICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgLmNzLXF0eS1pbmNyZW1lbnQge1xuICAgICAgICAgICAgICAgICAgICBmbGV4LXdyYXA6IG5vd3JhcDtcblxuICAgICAgICAgICAgICAgICAgICAuY3MtcXR5LWluY3JlbWVudF9faW5wdXQge1xuICAgICAgICAgICAgICAgICAgICAgICAgbWluLXdpZHRoOiAyNXB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgbWF4LXdpZHRoOiA3NXB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgICAgICAgICAgICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogJGNvbG9yX3RleHQtOTAwO1xuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgc3BhbiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBib3JkZXI6IG5vbmU7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IHdoaXRlO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpbGw6ICRjb2xvcl9wcmltYXJ5LTgwMDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAuYWRkdG9jYXJ0IHtcbiAgICAgICAgICAgICAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yX3ByaW1hcnktNTAwO1xuICAgICAgICAgICAgICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDEwMHB4O1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogNDBweDtcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiA0MHB4O1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAxcmVtO1xuICAgICAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yICR0cmFuc2l0aW9uLWRlZmF1bHQtdGltZSBlYXNlO1xuXG4gICAgICAgICAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yX3ByaW1hcnktODAwO1xuICAgICAgICAgICAgICAgICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICB9XG4gICAgLmNzLWJ1eWJveF9fYWRkdG9jYXJ0LWZpZWxkc2V0e1xuICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPGxhcHRvcCcpIHtcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuIiwiLyoqXG4gKiBCcmVha3BvaW50IGNvbXBvbmVudCB1c2VkIGJ5IGluY2x1ZGUtbWVkaWEgdmVuZG9yIGxpYnJhcnkuXG4gKi9cbkB1c2UgJ3Nhc3M6bWFwJztcbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuLyoqXG4gKiBCcmVha3BvaW50IGNvbXBvbmVudCB1c2VkIGJ5IGluY2x1ZGUtbWVkaWEgdmVuZG9yIGxpYnJhcnkuXG4gKi9cbkB1c2UgJ3Nhc3M6bWFwJztcbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuLnRha2UtbWUtdG9wIHtcbiAgb3BhY2l0eTogMC43O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmE3MDEzO1xuICB3aWR0aDogNTBweDtcbiAgaGVpZ2h0OiA1MHB4O1xuICB0cmFuc2l0aW9uOiAwLjVzO1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHJpZ2h0OiAyMHB4O1xuICBib3R0b206IDIwcHg7XG4gIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IH1cbiAgLnRha2UtbWUtdG9wOmhvdmVyIHtcbiAgICBvcGFjaXR5OiAxOyB9XG4gIC50YWtlLW1lLXRvcDo6YmVmb3JlIHtcbiAgICBjb250ZW50OiB1cmwoXCIuLi9pbWFnZXMvaWNvbnMvYXJyb3dfdXBfd2hpdGUuc3ZnXCIpO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAzMHB4O1xuICAgIGhlaWdodDogMThweDsgfVxuXG4udGFrZS1tZS10b3AuaGlkZGVuIHtcbiAgb3BhY2l0eTogMDtcbiAgZGlzcGxheTogbm9uZTsgfVxuIiwiQGltcG9ydCAnY29uZmlnL3ZhcmlhYmxlcyc7XG5AaW1wb3J0ICd2ZW5kb3JzL2luY2x1ZGUtbWVkaWEnO1xuXG4udGFrZS1tZS10b3Age1xuICAgIG9wYWNpdHk6IDAuNztcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3JfcGFwaWxhcnRfb3JhbmdlO1xuICAgIHdpZHRoOiA1MHB4O1xuICAgIGhlaWdodDogNTBweDtcbiAgICB0cmFuc2l0aW9uOiAwLjVzO1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICByaWdodDogMjBweDtcbiAgICBib3R0b206IDIwcHg7XG4gICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblxuICAgICY6aG92ZXIge1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgIH1cblxuICAgICY6OmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6IHVybCgnLi4vaW1hZ2VzL2ljb25zL2Fycm93X3VwX3doaXRlLnN2ZycpO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgd2lkdGg6IDMwcHg7XG4gICAgICAgIGhlaWdodDogMThweDtcbiAgICB9XG59XG5cbi50YWtlLW1lLXRvcC5oaWRkZW4ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgZGlzcGxheTogbm9uZTtcbn0iLCIvKipcbiAqIEJyZWFrcG9pbnQgY29tcG9uZW50IHVzZWQgYnkgaW5jbHVkZS1tZWRpYSB2ZW5kb3IgbGlicmFyeS5cbiAqL1xuQHVzZSAnc2FzczptYXAnO1xuLyoqXG4gKiBFeHRyYWN0cyBuZXN0ZWQga2V5cyBmcm9tIGdpdmVuIG1hcC5cbiAqIEV4YW1wbGU6IGRlZXAtZ2V0KCRzb21lLW1hcCwgc29tZSwgbmVzdGVkLCBrZXlzKTtcbiAqL1xuLyoqXG4qIERlZmF1bHQgcHJvamVjdCBicmVha3BvaW50cyAtIFtlbV1cbiovXG4vKipcbiAqIEJyZWFrcG9pbnQgY29tcG9uZW50IHVzZWQgYnkgaW5jbHVkZS1tZWRpYSB2ZW5kb3IgbGlicmFyeS5cbiAqL1xuQHVzZSAnc2FzczptYXAnO1xuLyoqXG4gKiBFeHRyYWN0cyBuZXN0ZWQga2V5cyBmcm9tIGdpdmVuIG1hcC5cbiAqIEV4YW1wbGU6IGRlZXAtZ2V0KCRzb21lLW1hcCwgc29tZSwgbmVzdGVkLCBrZXlzKTtcbiAqL1xuLyoqXG4qIERlZmF1bHQgcHJvamVjdCBicmVha3BvaW50cyAtIFtlbV1cbiovXG4uY2F0YWxvZy1wcm9kdWN0LXZpZXcgLmNvbHVtbnMgPiAuY29sdW1uLm1haW4gLmNzLWNvbnRhaW5lci0tcGFnZS1wZHAtdG9wIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2VkZWZmMTsgfVxuICAuY2F0YWxvZy1wcm9kdWN0LXZpZXcgLmNvbHVtbnMgPiAuY29sdW1uLm1haW4gLmNzLWNvbnRhaW5lci0tcGFnZS1wZHAtdG9wIC5jcy1wYWdlLXByb2R1Y3RfX3RvcCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjsgfVxuXG4ubWFpbiB7XG4gIGJhY2tncm91bmQ6ICNlZGVmZjE7IH1cbiIsIkBpbXBvcnQgJ2NvbmZpZy92YXJpYWJsZXMnO1xuQGltcG9ydCAndmVuZG9ycy9pbmNsdWRlLW1lZGlhJztcblxuLmNhdGFsb2ctcHJvZHVjdC12aWV3IHtcbiAgICAuY29sdW1ucz4uY29sdW1uLm1haW4ge1xuICAgICAgICAuY3MtY29udGFpbmVyLS1wYWdlLXBkcC10b3Age1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yX3BhcGlsYXJ0X2JnO1xuXG4gICAgICAgICAgICAuY3MtcGFnZS1wcm9kdWN0X190b3Age1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRwYWdlX2JhY2tncm91bmQ7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG4ubWFpbntcbiAgICBiYWNrZ3JvdW5kOiAkY29sb3JfcGFwaWxhcnRfYmc7XG59IiwiLyoqXG4gKiBCcmVha3BvaW50IGNvbXBvbmVudCB1c2VkIGJ5IGluY2x1ZGUtbWVkaWEgdmVuZG9yIGxpYnJhcnkuXG4gKi9cbkB1c2UgJ3Nhc3M6bWFwJztcbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuLyoqXG4gKiBCcmVha3BvaW50IGNvbXBvbmVudCB1c2VkIGJ5IGluY2x1ZGUtbWVkaWEgdmVuZG9yIGxpYnJhcnkuXG4gKi9cbkB1c2UgJ3Nhc3M6bWFwJztcbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuLmNhdGFsb2ctcHJvZHVjdC12aWV3IC5jb2x1bW5zID4gLmNvbHVtbi5tYWluIHtcbiAgcGFkZGluZy10b3A6IDBweCAhaW1wb3J0YW50OyB9XG5cbi5wcm9kdWN0LmFsZXJ0LmFsZXJ0LnN0b2NrLmxpbmstc3RvY2stYWxlcnQgPiAuYWN0aW9uLmFsZXJ0IHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZmxleC1kaXJlY3Rpb246IHJvdzsgfVxuIiwiQGltcG9ydCAnY29uZmlnL3ZhcmlhYmxlcyc7XG5AaW1wb3J0ICd2ZW5kb3JzL2luY2x1ZGUtbWVkaWEnO1xuXG4uY2F0YWxvZy1wcm9kdWN0LXZpZXcge1xuICAgIC5jb2x1bW5zPi5jb2x1bW4ubWFpbiB7XG4gICAgICAgIHBhZGRpbmctdG9wOiAwcHggIWltcG9ydGFudDtcbiAgICB9XG59XG5cblxuLnByb2R1Y3QuYWxlcnQuYWxlcnQuc3RvY2subGluay1zdG9jay1hbGVydD4uYWN0aW9uLmFsZXJ0IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdztcbn0iLCIvKipcbiAqIEJyZWFrcG9pbnQgY29tcG9uZW50IHVzZWQgYnkgaW5jbHVkZS1tZWRpYSB2ZW5kb3IgbGlicmFyeS5cbiAqL1xuQHVzZSAnc2FzczptYXAnO1xuLyoqXG4gKiBFeHRyYWN0cyBuZXN0ZWQga2V5cyBmcm9tIGdpdmVuIG1hcC5cbiAqIEV4YW1wbGU6IGRlZXAtZ2V0KCRzb21lLW1hcCwgc29tZSwgbmVzdGVkLCBrZXlzKTtcbiAqL1xuLyoqXG4qIERlZmF1bHQgcHJvamVjdCBicmVha3BvaW50cyAtIFtlbV1cbiovXG4vKipcbiAqIEJyZWFrcG9pbnQgY29tcG9uZW50IHVzZWQgYnkgaW5jbHVkZS1tZWRpYSB2ZW5kb3IgbGlicmFyeS5cbiAqL1xuQHVzZSAnc2FzczptYXAnO1xuLyoqXG4gKiBFeHRyYWN0cyBuZXN0ZWQga2V5cyBmcm9tIGdpdmVuIG1hcC5cbiAqIEV4YW1wbGU6IGRlZXAtZ2V0KCRzb21lLW1hcCwgc29tZSwgbmVzdGVkLCBrZXlzKTtcbiAqL1xuLyoqXG4qIERlZmF1bHQgcHJvamVjdCBicmVha3BvaW50cyAtIFtlbV1cbiovXG4uYnV5Ym94X19zZWN0aW9uLXNpZ24taW4ge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBhbGlnbi1pdGVtczogZmxleC1lbmQ7IH1cbiAgLmJ1eWJveF9fc2VjdGlvbi1zaWduLWluIHAge1xuICAgIHBhZGRpbmctdG9wOiAzcmVtO1xuICAgIHBhZGRpbmctcmlnaHQ6IDFyZW07XG4gICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNiMGIwYjA7XG4gICAgdGV4dC1hbGlnbjoganVzdGlmeTtcbiAgICBmb250LXNpemU6IDEuNnJlbTsgfVxuICAuYnV5Ym94X19zZWN0aW9uLXNpZ24taW4gLmJ0bi1vdXRsaW5lZCB7XG4gICAgYm9yZGVyOiAycHggc29saWQgIzdlNTdjMjtcbiAgICBib3JkZXItcmFkaXVzOiAyMDBweDtcbiAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICBwYWRkaW5nOiAxcmVtIDJyZW07IH1cbiIsIkBpbXBvcnQgJ2NvbmZpZy92YXJpYWJsZXMnO1xuQGltcG9ydCAndmVuZG9ycy9pbmNsdWRlLW1lZGlhJztcblxuLmJ1eWJveCB7XG4gICAgJl9fc2VjdGlvbi1zaWduLWluIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgYWxpZ24taXRlbXM6IGZsZXgtZW5kO1xuXG4gICAgICAgIHB7XG4gICAgICAgICAgICBwYWRkaW5nLXRvcDogM3JlbTtcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDFyZW07XG4gICAgICAgICAgICBib3JkZXItdG9wOiAxcHggc29saWQgJGNvbG9yX3NpbHZlci1jaGFsaWNlO1xuICAgICAgICAgICAgdGV4dC1hbGlnbjoganVzdGlmeTtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMS42cmVtO1xuICAgICAgICB9XG4gICAgICAgIC5idG4tb3V0bGluZWQge1xuICAgICAgICAgICAgYm9yZGVyOiAycHggc29saWQgJGNvbG9yX3BhcGlsYXJ0X3B1cnBsZTtcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDIwMHB4O1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICAgICAgICBwYWRkaW5nOiAxcmVtIDJyZW07XG4gICAgICAgICAgICBcbiAgICAgICAgfVxuICAgIH1cbn0iLCJAaW1wb3J0ICdjb25maWcvdmFyaWFibGVzJztcbkBpbXBvcnQgJ3ZlbmRvcnMvaW5jbHVkZS1tZWRpYSc7XG5cbkBtaXhpbiBmbGV4LWNlbnRlciB7XG5cdGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbn1cblxuLm5ld3NsZXR0ZXItcmVkaW5nbyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzQ1NWE2NDtcbiAgICBjb2xvcjogJGNvbG9yX3doaXRlO1xuICAgIHBhZGRpbmc6IDRyZW0gMXJlbTtcbiAgICBtYXJnaW46IDNyZW0gYXV0byA1cmVtIGF1dG87XG4gICAgQGluY2x1ZGUgbWVkaWEoJz49dGFibGV0Jykge1xuICAgICAgICBib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJhZGl1c19iYXNlO1xuICAgIH1cbiAgICAubmV3c2xldHRlcl9fYnRuLWNvbnRhaW5lciB7XG4gICAgICAgIEBpbmNsdWRlIGZsZXgtY2VudGVyO1xuICAgICAgICBtaW4taGVpZ2h0OiA2MHB4O1xuICAgICAgICAubmV3c2xldHRlcl9fYnRue1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yX3BhcGlsYXJ0X3B1cnBsZSFpbXBvcnRhbnQ7XG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiA1MHB4IWltcG9ydGFudDtcbiAgICAgICAgICAgIGJvcmRlcjogc29saWQgMnB4ICRjb2xvcl9wYXBpbGFydF9wdXJwbGU7XG4gICAgICAgICAgICBwYWRkaW5nOiAxcmVtIDNyZW0haW1wb3J0YW50O1xuICAgICAgICAgICAgY29sb3I6ICRjb2xvcl93aGl0ZTtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMnJlbTtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkIWltcG9ydGFudDtcbiAgICAgICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgICAgICAgICBsZXR0ZXItc3BhY2luZzogMXB4O1xuICAgICAgICAgICAgaGVpZ2h0OiA0MHB4IWltcG9ydGFudDtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxIWltcG9ydGFudDtcbiAgICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgICAgICY6aG92ZXJ7XG4gICAgICAgICAgICAgICAgY29sb3I6ICRjb2xvcl93aGl0ZTtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3JfcGFwaWxhcnRfcHVycGxlLWRhcmshaW1wb3J0YW50O1xuICAgICAgICAgICAgICAgIGJvcmRlcjogc29saWQgMnB4ICRjb2xvcl9wYXBpbGFydF9wdXJwbGUtZGFyaztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbiAgICBcbiAgICAubmV3c2xldHRlcl9fdGl0bGUtY29udGFpbmVye1xuICAgICAgICBAaW5jbHVkZSBmbGV4LWNlbnRlcjtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgbWluLWhlaWdodDogMTUwcHg7XG4gICAgICAgIC5uZXdzbGV0dGVyX190aXRsZXtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogM3JlbTtcbiAgICAgICAgICAgIHBhZGRpbmc6IDVyZW0gMXJlbSAxcmVtIDFyZW07XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICBjb2xvcjogJGNvbG9yX3doaXRlO1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgJjo6YmVmb3Jle1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICB0b3A6IDEwcHg7XG4gICAgICAgICAgICAgICAgbGVmdDogNTAlO1xuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbiAgICAgICAgICAgICAgICBjb250ZW50OiB1cmwoLi4vaW1hZ2VzL2ljb25zL25ld3NsZXR0ZXItb3JhbmdlLnN2Zyk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgfVxuICAgIH1cbiAgICAuY29tbWVudHtcbiAgICAgICAgZm9udC1zaXplOiAxLjNyZW07XG4gICAgfVxuICAgIFxufVxuXG5AaW5jbHVkZSBtZWRpYSgnPj10YWJsZXQnKSB7XG4gICAgLm5ld3NsZXR0ZXItcmVkaW5nbyB7XG4gICAgICAgIC5uZXdzbGV0dGVyX190aXRsZS1jb250YWluZXJ7XG4gICAgICAgICAgICAubmV3c2xldHRlcl9fdGl0bGV7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogMXJlbSAycmVtIDFyZW0gNXJlbTtcbiAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBqdXN0aWZ5O1xuICAgICAgICAgICAgICAgICY6OmJlZm9yZXtcbiAgICAgICAgICAgICAgICAgICAgdG9wOiAxNHB4O1xuICAgICAgICAgICAgICAgICAgICBsZWZ0OiAwcHg7XG4gICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwJSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIFxuICAgIH1cbn0iLCIvKipcbiAqIEJyZWFrcG9pbnQgY29tcG9uZW50IHVzZWQgYnkgaW5jbHVkZS1tZWRpYSB2ZW5kb3IgbGlicmFyeS5cbiAqL1xuQHVzZSAnc2FzczptYXAnO1xuLyoqXG4gKiBFeHRyYWN0cyBuZXN0ZWQga2V5cyBmcm9tIGdpdmVuIG1hcC5cbiAqIEV4YW1wbGU6IGRlZXAtZ2V0KCRzb21lLW1hcCwgc29tZSwgbmVzdGVkLCBrZXlzKTtcbiAqL1xuLyoqXG4qIERlZmF1bHQgcHJvamVjdCBicmVha3BvaW50cyAtIFtlbV1cbiovXG4vKipcbiAqIEJyZWFrcG9pbnQgY29tcG9uZW50IHVzZWQgYnkgaW5jbHVkZS1tZWRpYSB2ZW5kb3IgbGlicmFyeS5cbiAqL1xuQHVzZSAnc2FzczptYXAnO1xuLyoqXG4gKiBFeHRyYWN0cyBuZXN0ZWQga2V5cyBmcm9tIGdpdmVuIG1hcC5cbiAqIEV4YW1wbGU6IGRlZXAtZ2V0KCRzb21lLW1hcCwgc29tZSwgbmVzdGVkLCBrZXlzKTtcbiAqL1xuLyoqXG4qIERlZmF1bHQgcHJvamVjdCBicmVha3BvaW50cyAtIFtlbV1cbiovXG4uY3MtaW1hZ2UtdGVhc2VyLS1zbGlkZXIuY3MtaW1hZ2UtdGVhc2VyX19zbGlkZXMge1xuICBtYXgtaGVpZ2h0OiA0MTRweCAhaW1wb3J0YW50O1xuICBib3JkZXItcmFkaXVzOiA3cHg7IH1cblxuLnNlY3Rpb24td3JhcHBlci1zbGlkZXIge1xuICBwYWRkaW5nLWJvdHRvbTogM3JlbTsgfVxuICBAbWVkaWEgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5zZWN0aW9uLXdyYXBwZXItc2xpZGVyIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAtMC41cmVtO1xuICAgICAgbWFyZ2luLXJpZ2h0OiAtMXJlbTtcbiAgICAgIHdpZHRoOiBjYWxjKDEwMCUgKyAxcmVtKSAhaW1wb3J0YW50OyB9IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAuc2VjdGlvbi13cmFwcGVyLXNsaWRlciAuaG9tZS10b3Atc2xpZGVyIHtcbiAgICAgIHBhZGRpbmc6IDAuNXJlbTsgfSB9XG4gIC5zZWN0aW9uLXdyYXBwZXItc2xpZGVyIC5ob21lLXRvcC1zbGlkZXIgLmhvbWUtc2xpZGVyLWJveCB7XG4gICAgYmFja2dyb3VuZDogI2ZmZjsgfVxuICAuc2VjdGlvbi13cmFwcGVyLXNsaWRlciAuYm94IHtcbiAgICBwYWRkaW5nOiAwLjVyZW0gMDsgfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAuc2VjdGlvbi13cmFwcGVyLXNsaWRlciAuYm94IHtcbiAgICAgICAgcGFkZGluZzogMC41cmVtOyB9IH1cbiAgLnNlY3Rpb24td3JhcHBlci1zbGlkZXIgLm5ld3NsZXR0ZXItcmVkaW5nbyB7XG4gICAgcGFkZGluZzogMC41cmVtIDEuNXJlbTtcbiAgICBib3JkZXItcmFkaXVzOiA3cHg7XG4gICAgbWFyZ2luOiAwLjVyZW0gMDtcbiAgICBtaW4taGVpZ2h0OiAzMDBweDsgfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAuc2VjdGlvbi13cmFwcGVyLXNsaWRlciAubmV3c2xldHRlci1yZWRpbmdvIHtcbiAgICAgICAgbWFyZ2luOiAwLjVyZW07IH0gfVxuICAgIC5zZWN0aW9uLXdyYXBwZXItc2xpZGVyIC5uZXdzbGV0dGVyLXJlZGluZ28gLm5ld3NsZXR0ZXJfX2J0bi1jb250YWluZXIge1xuICAgICAgbWluLWhlaWdodDogODBweDsgfVxuICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgICAgLnNlY3Rpb24td3JhcHBlci1zbGlkZXIgLm5ld3NsZXR0ZXItcmVkaW5nbyAubmV3c2xldHRlcl9fYnRuLWNvbnRhaW5lciB7XG4gICAgICAgICAgbWluLWhlaWdodDogNTBweDsgfSB9XG4gICAgLnNlY3Rpb24td3JhcHBlci1zbGlkZXIgLm5ld3NsZXR0ZXItcmVkaW5nbyAubmV3c2xldHRlcl9fdGl0bGUtY29udGFpbmVyIHtcbiAgICAgIG1pbi1oZWlnaHQ6IDk1cHg7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgbWluLWhlaWdodDogMzAwcHg7IH1cbiAgICAgIC5zZWN0aW9uLXdyYXBwZXItc2xpZGVyIC5uZXdzbGV0dGVyLXJlZGluZ28gLm5ld3NsZXR0ZXJfX3RpdGxlLWNvbnRhaW5lciAubmV3c2xldHRlcl9fdGl0bGUge1xuICAgICAgICBmb250LXNpemU6IDJyZW07XG4gICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAwOyB9XG4gIC5zZWN0aW9uLXdyYXBwZXItc2xpZGVyIC5ob21lLXNsaWRlci1zbGljayB7XG4gICAgYmFja2dyb3VuZDogI2ZmZjtcbiAgICBib3JkZXItcmFkaXVzOiA3cHg7IH1cbiAgICAuc2VjdGlvbi13cmFwcGVyLXNsaWRlciAuaG9tZS1zbGlkZXItc2xpY2sgLmNvbnRlbnQge1xuICAgICAgYmFja2dyb3VuZDogI2ZmZjtcbiAgICAgIHBhZGRpbmc6IDJyZW0gMS41cmVtO1xuICAgICAgbWluLWhlaWdodDogMzAwcHg7IH1cbiAgICAgIC5zZWN0aW9uLXdyYXBwZXItc2xpZGVyIC5ob21lLXNsaWRlci1zbGljayAuY29udGVudCAudGl0bGUge1xuICAgICAgICBmb250LXNpemU6IDIuNXJlbTtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDFyZW07IH1cbiAgICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDkwZW0pIHtcbiAgICAgICAgICAuc2VjdGlvbi13cmFwcGVyLXNsaWRlciAuaG9tZS1zbGlkZXItc2xpY2sgLmNvbnRlbnQgLnRpdGxlIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogM3JlbTsgfSB9XG4gICAgICAuc2VjdGlvbi13cmFwcGVyLXNsaWRlciAuaG9tZS1zbGlkZXItc2xpY2sgLmNvbnRlbnQgLnN1YnRpdGxlIHtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDJyZW07IH1cbiAgICAuc2VjdGlvbi13cmFwcGVyLXNsaWRlciAuaG9tZS1zbGlkZXItc2xpY2sgLmJ0biB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjN2U1N2MyO1xuICAgICAgYm9yZGVyLXJhZGl1czogNTBweDtcbiAgICAgIHBhZGRpbmc6IDFyZW0gMi41cmVtO1xuICAgICAgY29sb3I6ICNmZmY7XG4gICAgICBmb250LXNpemU6IDEuOHJlbTtcbiAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICAgIGxldHRlci1zcGFjaW5nOiAxcHg7XG4gICAgICBtYXJnaW4tdG9wOiAycmVtOyB9XG4gICAgICAuc2VjdGlvbi13cmFwcGVyLXNsaWRlciAuaG9tZS1zbGlkZXItc2xpY2sgLmJ0bjpob3ZlciB7XG4gICAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNGQyYzkxOyB9XG4gICAgICAuc2VjdGlvbi13cmFwcGVyLXNsaWRlciAuaG9tZS1zbGlkZXItc2xpY2sgLmJ0bjpob3ZlciB7XG4gICAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNGQyYzkxOyB9XG4gIC5zZWN0aW9uLXdyYXBwZXItc2xpZGVyIC5zbGljay1zbGlkZSB7XG4gICAgbWFyZ2luLWJvdHRvbTogLTEuNXJlbTsgfVxuICAuc2VjdGlvbi13cmFwcGVyLXNsaWRlciAuc2xpY2stc2xpZGVyIHtcbiAgICBwYWRkaW5nOiAwOyB9XG4gIC5zZWN0aW9uLXdyYXBwZXItc2xpZGVyIC5zbGljay1kb3R0ZWQuc2xpY2stc2xpZGVyIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gIC5zZWN0aW9uLXdyYXBwZXItc2xpZGVyIC5zbGljay1zbGlkZSBpbWcge1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiA3cHg7XG4gICAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDdweDsgfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAuc2VjdGlvbi13cmFwcGVyLXNsaWRlciAuc2xpY2stc2xpZGUgaW1nIHtcbiAgICAgICAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDA7XG4gICAgICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDdweDsgfSB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgIC5zZWN0aW9uLXdyYXBwZXItc2xpZGVyIC5zbGljay1zbGlkZSBpbWcge1xuICAgICAgICBtYXgtaGVpZ2h0OiA0MzNweDtcbiAgICAgICAgYXNwZWN0LXJhdGlvOiA0NjAvMjM1O1xuICAgICAgICBtaW4taGVpZ2h0OiA0MDhweDsgfSB9XG4gIC5zZWN0aW9uLXdyYXBwZXItc2xpZGVyIC5zbGljay1kb3RzIHtcbiAgICBib3R0b206IDIwcHg7IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgLnNlY3Rpb24td3JhcHBlci1zbGlkZXIgLnNsaWNrLWRvdHMge1xuICAgICAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICAgICAgcGFkZGluZy1yaWdodDogNHJlbTsgfSB9XG4gICAgLnNlY3Rpb24td3JhcHBlci1zbGlkZXIgLnNsaWNrLWRvdHMgbGkgYnV0dG9uOjpiZWZvcmUge1xuICAgICAgY29udGVudDogXCJcXDAwMkRcIjtcbiAgICAgIGZvbnQtc2l6ZTogNHJlbTsgfVxuXG4uZmFzdC1kZWxpdmVyeS1ib3gsIC5kaXNjb3VudHMtYm94IHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1hcm91bmQ7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgYm9yZGVyLXJhZGl1czogN3B4O1xuICBwYWRkaW5nOiAxcmVtIDJyZW07XG4gIGhlaWdodDogMTAwJTtcbiAgbWluLWhlaWdodDogMjAwcHg7IH1cbiAgLmZhc3QtZGVsaXZlcnktYm94IGEsIC5mYXN0LWRlbGl2ZXJ5LWJveCBhOmhvdmVyLCAuZGlzY291bnRzLWJveCBhLCAuZGlzY291bnRzLWJveCBhOmhvdmVyIHtcbiAgICBjb2xvcjogIzQ1NWE2NDsgfVxuICAuZmFzdC1kZWxpdmVyeS1ib3ggLnRpdGxlLCAuZGlzY291bnRzLWJveCAudGl0bGUge1xuICAgIGZvbnQtc2l6ZTogMnJlbTtcbiAgICBwYWRkaW5nOiAxcmVtIDA7XG4gICAgbWFyZ2luOiAwOyB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDkwZW0pIHtcbiAgICAgIC5mYXN0LWRlbGl2ZXJ5LWJveCAudGl0bGUsIC5kaXNjb3VudHMtYm94IC50aXRsZSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMi40cmVtOyB9IH1cbiAgLmZhc3QtZGVsaXZlcnktYm94IC5zdWJ0aXRsZSwgLmRpc2NvdW50cy1ib3ggLnN1YnRpdGxlIHtcbiAgICBmb250LXNpemU6IDEuNXJlbTtcbiAgICBtYXgtd2lkdGg6IDIxMHB4OyB9XG5cbi5mYXN0LWRlbGl2ZXJ5LWJveCB7XG4gIGJhY2tncm91bmQ6ICMxN2M4YzA7XG4gIGNvbG9yOiAjZmZmO1xuICBtYXJnaW4tYm90dG9tOiAtMnJlbTsgfVxuICBAbWVkaWEgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC5mYXN0LWRlbGl2ZXJ5LWJveCB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDFyZW07IH0gfVxuICBAbWVkaWEgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5mYXN0LWRlbGl2ZXJ5LWJveCB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IGF1dG87IH0gfVxuICAuZmFzdC1kZWxpdmVyeS1ib3ggLnRpdGxlIHtcbiAgICBjb2xvcjogI2ZmZjsgfVxuXG4vKiAuZmFzdC1kZWxpdmVyeS1ib3g6OmJlZm9yZXtcbiAgICBjb250ZW50OiAncGFjemthJztcbn0gKi9cbi5kaXNjb3VudHMtYm94IHtcbiAgYmFja2dyb3VuZDogI2ZmZjsgfVxuXG4vKiAuZGlzY291bnRzLWJveDo6YmVmb3Jle1xuICAgIGNvbnRlbnQ6ICdrb3N6eWsnO1xufSAqL1xuLnNlY3Rpb24td3JhcHBlci1jb3ZpZCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIHBhZGRpbmctdG9wOiAwO1xuICBwYWRkaW5nLWJvdHRvbTogMnJlbTtcbiAgbWFyZ2luLWxlZnQ6IC0wLjVyZW07XG4gIG1hcmdpbi1yaWdodDogLTAuNXJlbTsgfVxuICAuc2VjdGlvbi13cmFwcGVyLWNvdmlkIC5pdGVtID4gKiB7XG4gICAgbWluLWhlaWdodDogMzY4cHg7IH1cbiAgLnNlY3Rpb24td3JhcHBlci1jb3ZpZCAuaXRlbSA+ICosXG4gIC5zZWN0aW9uLXdyYXBwZXItY292aWQgLml0ZW0gPiAqID4gKixcbiAgLnNlY3Rpb24td3JhcHBlci1jb3ZpZCAuaXRlbSA+ICogPiAqID4gKixcbiAgLnNlY3Rpb24td3JhcHBlci1jb3ZpZCAuaXRlbSA+ICogPiAqID4gKiA+ICoge1xuICAgIGhlaWdodDogMTAwJTsgfVxuICAuc2VjdGlvbi13cmFwcGVyLWNvdmlkIC5wLTIge1xuICAgIHBhZGRpbmc6IDAuNXJlbTsgfVxuICAgIC5zZWN0aW9uLXdyYXBwZXItY292aWQgLnAtMiAuYnRuIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICM3ZTU3YzI7XG4gICAgICBib3JkZXItcmFkaXVzOiA1MHB4O1xuICAgICAgcGFkZGluZzogMXJlbSAyLjVyZW07XG4gICAgICBjb2xvcjogI2ZmZjtcbiAgICAgIGZvbnQtc2l6ZTogMS44cmVtO1xuICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgICAgbGV0dGVyLXNwYWNpbmc6IDFweDtcbiAgICAgIG1hcmdpbi10b3A6IDFyZW07IH1cbiAgICAgIC5zZWN0aW9uLXdyYXBwZXItY292aWQgLnAtMiAuYnRuOmhvdmVyIHtcbiAgICAgICAgY29sb3I6ICNmZmY7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICM0ZDJjOTE7IH1cbiAgLnNlY3Rpb24td3JhcHBlci1jb3ZpZCAuZnJlZS0yLTEtYm94IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBiYWNrZ3JvdW5kOiAjMTdjOGMwO1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIGJvcmRlci1yYWRpdXM6IDdweDtcbiAgICBwYWRkaW5nOiAxLjVyZW0gM3JlbTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIG1hcmdpbi1ib3R0b206IC0yMHB4O1xuICAgIG1pbi1oZWlnaHQ6IDQ2MHB4OyB9XG4gICAgLnNlY3Rpb24td3JhcHBlci1jb3ZpZCAuZnJlZS0yLTEtYm94IC5mcmVlLTJfdGl0bGUge1xuICAgICAgZm9udC1zaXplOiA1cmVtO1xuICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgICAgcGFkZGluZy1ib3R0b206IDNyZW07XG4gICAgICBwYWRkaW5nLXRvcDogM3JlbTsgfVxuICAgIC5zZWN0aW9uLXdyYXBwZXItY292aWQgLmZyZWUtMi0xLWJveCAudGl0bGUtYmlnIHtcbiAgICAgIGZvbnQtc2l6ZTogMTNyZW07IH1cbiAgICAuc2VjdGlvbi13cmFwcGVyLWNvdmlkIC5mcmVlLTItMS1ib3ggLnRpdGxlIHtcbiAgICAgIGZvbnQtc2l6ZTogMi41cmVtO1xuICAgICAgY29sb3I6ICNmZmY7IH1cbiAgICAuc2VjdGlvbi13cmFwcGVyLWNvdmlkIC5mcmVlLTItMS1ib3ggLnRpdGxlLXNtYWxsIHtcbiAgICAgIGZvbnQtc2l6ZTogMS42cmVtOyB9XG4gIC5zZWN0aW9uLXdyYXBwZXItY292aWQgLm5ldy1pbi1hY2Nlc3Nvcmllcy1ib3gge1xuICAgIGJhY2tncm91bmQ6ICNmZmY7XG4gICAgYm9yZGVyLXJhZGl1czogN3B4O1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBtaW4taGVpZ2h0OiA0NjBweDsgfVxuICAgIC5zZWN0aW9uLXdyYXBwZXItY292aWQgLm5ldy1pbi1hY2Nlc3Nvcmllcy1ib3ggLmNvbnRlbnQge1xuICAgICAgcGFkZGluZzogMS41cmVtIDNyZW07IH1cbiAgICAuc2VjdGlvbi13cmFwcGVyLWNvdmlkIC5uZXctaW4tYWNjZXNzb3JpZXMtYm94IC50aXRsZSB7XG4gICAgICBmb250LXNpemU6IDIuNXJlbTsgfVxuICAgIC5zZWN0aW9uLXdyYXBwZXItY292aWQgLm5ldy1pbi1hY2Nlc3Nvcmllcy1ib3ggLnN1YnRpdGxlIHtcbiAgICAgIGZvbnQtc2l6ZTogMS42cmVtO1xuICAgICAgY29sb3I6ICM0NTVhNjQ7IH1cbiAgICAuc2VjdGlvbi13cmFwcGVyLWNvdmlkIC5uZXctaW4tYWNjZXNzb3JpZXMtYm94IGltZyB7XG4gICAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiA3cHg7XG4gICAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogN3B4OyB9XG4gIC5zZWN0aW9uLXdyYXBwZXItY292aWQgLmNvdmlkLWJveCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgcGFkZGluZzogM3JlbTtcbiAgICBjb2xvcjogI2ZmZjtcbiAgICBib3JkZXItcmFkaXVzOiA3cHg7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIG1pbi1oZWlnaHQ6IDQ2MHB4O1xuICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudChyZ2JhKDAsIDAsIDAsIDAuNSksIHJnYmEoMCwgMCwgMCwgMC41KSksIHVybChcImh0dHBzOi8vaW1hZ2VzLnVuc3BsYXNoLmNvbS9waG90by0xNjEzMTE5NzE5OTQ4LWQ1Mzg2NTY1OGE4OD9peGxpYj1yYi00LjAuMyZpeGlkPU1ud3hNakEzZkRCOE1IeHdhRzkwYnkxd1lXZGxmSHg4ZkdWdWZEQjhmSHg4JmF1dG89Zm9ybWF0JmZpdD1jcm9wJnc9MTc3MSZxPTgwXCIpOyB9XG4gICAgLnNlY3Rpb24td3JhcHBlci1jb3ZpZCAuY292aWQtYm94IC50aXRsZSB7XG4gICAgICBmb250LXNpemU6IDMuMnJlbTtcbiAgICAgIGNvbG9yOiAjZmZmOyB9XG4gICAgLnNlY3Rpb24td3JhcHBlci1jb3ZpZCAuY292aWQtYm94IC5zdWJ0aXRsZSB7XG4gICAgICBmb250LXNpemU6IDIuNXJlbTtcbiAgICAgIG1heC13aWR0aDogMzgwcHg7IH1cbiAgLnNlY3Rpb24td3JhcHBlci1jb3ZpZCAuY292aWQtYm94LWNtcyAuY3MtaW1hZ2UtdGVhc2VyX19waWN0dXJlIHtcbiAgICBtaW4taGVpZ2h0OiA0NjBweDsgfVxuICAuc2VjdGlvbi13cmFwcGVyLWNvdmlkIC5jb3ZpZC1ib3gtY21zIC5jcy1pbWFnZS10ZWFzZXJfX2ZpZ3VyZSB7XG4gICAgbWF4LWhlaWdodDogNDAwcHg7XG4gICAgbWluLWhlaWdodDogNDYwcHg7XG4gICAgYm9yZGVyLXJhZGl1czogN3B4O1xuICAgIG1hcmdpbi1yaWdodDogLTEuNXJlbTtcbiAgICBtYXJnaW4tbGVmdDogLTEuNXJlbTsgfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAuc2VjdGlvbi13cmFwcGVyLWNvdmlkIC5jb3ZpZC1ib3gtY21zIC5jcy1pbWFnZS10ZWFzZXJfX2ZpZ3VyZSB7XG4gICAgICAgIG1heC1oZWlnaHQ6IDQ2MHB4OyB9IH1cbiAgICAuc2VjdGlvbi13cmFwcGVyLWNvdmlkIC5jb3ZpZC1ib3gtY21zIC5jcy1pbWFnZS10ZWFzZXJfX2ZpZ3VyZSAuY3MtaW1hZ2UtdGVhc2VyX19kZXNjcmlwdGlvbiB7XG4gICAgICBtYXgtd2lkdGg6IDEwMCU7IH1cblxuLnNlY3Rpb24td3JhcHBlci1zZWFzb24taXMtb24ge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogc3RyZXRjaDtcbiAgZmxleC13cmFwOiB3cmFwO1xuICBwYWRkaW5nLWJvdHRvbTogM3JlbTsgfVxuICAuc2VjdGlvbi13cmFwcGVyLXNlYXNvbi1pcy1vbiAuc2Vhc29uLWlzLW9uLWJveCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgcGFkZGluZzogM3JlbSAxLjVyZW07XG4gICAgY29sb3I6ICNmZmY7XG4gICAgYm9yZGVyLXJhZGl1czogN3B4O1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBtaW4taGVpZ2h0OiAzMDBweDtcbiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQocmdiYSgwLCAwLCAwLCAwLjUpLCByZ2JhKDAsIDAsIDAsIDAuNSkpLCB1cmwoXCJodHRwczovL2ltYWdlcy51bnNwbGFzaC5jb20vcGhvdG8tMTYxMzExOTcxOTk0OC1kNTM4NjU2NThhODg/aXhsaWI9cmItNC4wLjMmaXhpZD1Nbnd4TWpBM2ZEQjhNSHh3YUc5MGJ5MXdZV2RsZkh4OGZHVnVmREI4Zkh4OCZhdXRvPWZvcm1hdCZmaXQ9Y3JvcCZ3PTE3NzEmcT04MFwiKTsgfVxuICAgIC5zZWN0aW9uLXdyYXBwZXItc2Vhc29uLWlzLW9uIC5zZWFzb24taXMtb24tYm94IC50aXRsZSB7XG4gICAgICBmb250LXNpemU6IDMuMnJlbTtcbiAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgbWF4LXdpZHRoOiAzNjBweDsgfVxuICAuc2VjdGlvbi13cmFwcGVyLXNlYXNvbi1pcy1vbiAuc2Vhc29uLWlzLW9uLWJveC1jbXMgLmNzLWltYWdlLXRlYXNlcl9fcGljdHVyZSB7XG4gICAgbWluLWhlaWdodDogNDAwcHg7IH1cbiAgLnNlY3Rpb24td3JhcHBlci1zZWFzb24taXMtb24gLnNlYXNvbi1pcy1vbi1ib3gtY21zIC5jcy1pbWFnZS10ZWFzZXJfX2ZpZ3VyZSB7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIG1pbi1oZWlnaHQ6IDMwMHB4O1xuICAgIG1heC1oZWlnaHQ6IDQwMHB4O1xuICAgIGJvcmRlci1yYWRpdXM6IDdweDtcbiAgICBtYXJnaW4tcmlnaHQ6IC0xLjVyZW07XG4gICAgbWFyZ2luLWxlZnQ6IC0xLjVyZW07IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgLnNlY3Rpb24td3JhcHBlci1zZWFzb24taXMtb24gLnNlYXNvbi1pcy1vbi1ib3gtY21zIC5jcy1pbWFnZS10ZWFzZXJfX2ZpZ3VyZSB7XG4gICAgICAgIG1heC1oZWlnaHQ6IDMwMHB4OyB9IH1cbiAgICAuc2VjdGlvbi13cmFwcGVyLXNlYXNvbi1pcy1vbiAuc2Vhc29uLWlzLW9uLWJveC1jbXMgLmNzLWltYWdlLXRlYXNlcl9fZmlndXJlIC5jcy1pbWFnZS10ZWFzZXJfX3Nsb2dhbiB7XG4gICAgICBmb250LXNpemU6IDMuMnJlbTtcbiAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgbWF4LXdpZHRoOiAzNjBweDsgfVxuICBAbWVkaWEgKG1heC13aWR0aDogNjMuOTllbSkge1xuICAgIC5zZWN0aW9uLXdyYXBwZXItc2Vhc29uLWlzLW9uIC5zZWFzb24taXMtb24tc2xpZGVyIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAtMS41cmVtO1xuICAgICAgbWFyZ2luLXJpZ2h0OiAtMS41cmVtOyB9IH1cbiAgLnNlY3Rpb24td3JhcHBlci1zZWFzb24taXMtb24gLnNlYXNvbi1pcy1vbi1zbGlkZXIgLmNzLXNsaWRlci1wYWdpbmF0aW9uIHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG4gIC5zZWN0aW9uLXdyYXBwZXItc2Vhc29uLWlzLW9uIC5zZWFzb24taXMtb24tc2xpZGVyIC5jcy1wcm9kdWN0cy1jYXJvdXNlbCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICAuc2VjdGlvbi13cmFwcGVyLXNlYXNvbi1pcy1vbiAuc2Vhc29uLWlzLW9uLXNsaWRlciAuYmxvY2stc3RhdGljLWJsb2NrLndpZGdldCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICBAbWVkaWEgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5zZWN0aW9uLXdyYXBwZXItc2Vhc29uLWlzLW9uIC5zZWFzb24taXMtb24tc2xpZGVyIC5jcy1jb250YWluZXIuY3MtY29udGFpbmVyLS1wcm9kdWN0cy1jYXJvdXNlbCB7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAwOyB9IH1cbiAgLnNlY3Rpb24td3JhcHBlci1zZWFzb24taXMtb24gLmNzLXByb2R1Y3QtdGlsZV9fY29udGFpbmVyIHtcbiAgICBtaW4taGVpZ2h0OiAzMDBweDsgfVxuXG4uc2VjdGlvbi1qb2Itb2ZmZXJzIHtcbiAgbWFyZ2luLWJvdHRvbTogNXJlbTsgfVxuICAuc2VjdGlvbi1qb2Itb2ZmZXJzIC5ib3gge1xuICAgIGJhY2tncm91bmQ6ICNmZmY7XG4gICAgYm9yZGVyLXJhZGl1czogN3B4O1xuICAgIHBhZGRpbmc6IDJyZW07XG4gICAgbWFyZ2luLWJvdHRvbTogMnJlbTsgfVxuICAgIC5zZWN0aW9uLWpvYi1vZmZlcnMgLmJveCAudGl0bGUge1xuICAgICAgZm9udC1zaXplOiAycmVtOyB9XG4gICAgLnNlY3Rpb24tam9iLW9mZmVycyAuYm94IC5zdWJ0aXRsZSB7XG4gICAgICBmb250LXNpemU6IDJyZW07IH1cbiAgLnNlY3Rpb24tam9iLW9mZmVycyAuYm94LW9mZmVyIHtcbiAgICBtYXJnaW4tdG9wOiAtM3JlbTsgfVxuICAuc2VjdGlvbi1qb2Itb2ZmZXJzIC5pdGVtLWNpdHkge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDsgfVxuICAgIC5zZWN0aW9uLWpvYi1vZmZlcnMgLml0ZW0tY2l0eSBwIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAgICAgLnNlY3Rpb24tam9iLW9mZmVycyAuaXRlbS1jaXR5IHA6OmJlZm9yZSB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgY29udGVudDogdXJsKC4uL2ltYWdlcy9pY29ucy9nZW8tb3JhbmdlLnN2Zyk7XG4gICAgICAgIGxlZnQ6IC0yMHB4OyB9XG4gIC5zZWN0aW9uLWpvYi1vZmZlcnMgLml0ZW0tYnRuLFxuICAuc2VjdGlvbi1qb2Itb2ZmZXJzIC5pdGVtLWJ0bi1zZW5kIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjsgfVxuICAgIC5zZWN0aW9uLWpvYi1vZmZlcnMgLml0ZW0tYnRuIC5idG4sXG4gICAgLnNlY3Rpb24tam9iLW9mZmVycyAuaXRlbS1idG4tc2VuZCAuYnRuIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICM3ZTU3YzI7XG4gICAgICBib3JkZXItcmFkaXVzOiA1MHB4O1xuICAgICAgcGFkZGluZzogMXJlbSAyLjVyZW07XG4gICAgICBjb2xvcjogI2ZmZjtcbiAgICAgIGZvbnQtc2l6ZTogMS44cmVtO1xuICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgICAgbGV0dGVyLXNwYWNpbmc6IDFweDtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgICAuc2VjdGlvbi1qb2Itb2ZmZXJzIC5pdGVtLWJ0biAuYnRuOmhvdmVyLFxuICAgICAgLnNlY3Rpb24tam9iLW9mZmVycyAuaXRlbS1idG4tc2VuZCAuYnRuOmhvdmVyIHtcbiAgICAgICAgY29sb3I6ICNmZmY7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICM0ZDJjOTE7IH1cbiAgICAgIEBtZWRpYSAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAgIC5zZWN0aW9uLWpvYi1vZmZlcnMgLml0ZW0tYnRuIC5idG4sXG4gICAgICAgIC5zZWN0aW9uLWpvYi1vZmZlcnMgLml0ZW0tYnRuLXNlbmQgLmJ0biB7XG4gICAgICAgICAgd2lkdGg6IGF1dG87IH0gfVxuICAuc2VjdGlvbi1qb2Itb2ZmZXJzIC5pdGVtLWJ0bi1zZW5kIHtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBwYWRkaW5nOiAzcmVtIDJyZW07IH1cblxuLmNtcy1ob21lLXRlc3QgLmhvbWUtdG9wLXNsaWRlciAuYmxvY2stc3RhdGljLWJsb2NrLndpZGdldCwgLmNtcy1ob21lLXRlc3QgLmhvbWUtdG9wLXNsaWRlciAuYmxvY2stY21zLWxpbmsud2lkZ2V0IHtcbiAgbWFyZ2luLWJvdHRvbTogMC41cmVtOyB9XG5cbi5jbXMtaG9tZS10ZXN0IC5jcy1pbWFnZS10ZWFzZXItLXNsaWRlci5jcy1pbWFnZS10ZWFzZXItLWNvbnRhaW5lci13aWR0aCB7XG4gIHdpZHRoOiAxMDAlOyB9XG5cbi5jbXMtaG9tZS10ZXN0IC5jcy1pbWFnZS10ZWFzZXJfX2NvbnRlbnQtd3JhcHBlci0tb3ZlciB7XG4gIHBhZGRpbmctYm90dG9tOiA0cmVtOyB9XG5cbi5jbXMtaG9tZS10ZXN0IC5jcy1pbWFnZS10ZWFzZXItLXNsaWRlci5jcy1pbWFnZS10ZWFzZXItLWNvbnRhaW5lci13aWR0aCAuY3MtaW1hZ2UtdGVhc2VyX19zbGlkZXMge1xuICBwYWRkaW5nOiAwO1xuICAtbXMtb3ZlcmZsb3ctc3R5bGU6IG5vbmU7XG4gIC8qIGZvciBJbnRlcm5ldCBFeHBsb3JlciwgRWRnZSAqL1xuICBzY3JvbGxiYXItd2lkdGg6IG5vbmU7XG4gIC8qIGZvciBGaXJlZm94ICovXG4gIG92ZXJmbG93LXk6IHNjcm9sbDsgfVxuICAuY21zLWhvbWUtdGVzdCAuY3MtaW1hZ2UtdGVhc2VyLS1zbGlkZXIuY3MtaW1hZ2UtdGVhc2VyLS1jb250YWluZXItd2lkdGggLmNzLWltYWdlLXRlYXNlcl9fc2xpZGVzOjotd2Via2l0LXNjcm9sbGJhciB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuICBAbWVkaWEgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5jbXMtaG9tZS10ZXN0IC5jcy1pbWFnZS10ZWFzZXItLXNsaWRlci5jcy1pbWFnZS10ZWFzZXItLWNvbnRhaW5lci13aWR0aCAuY3MtaW1hZ2UtdGVhc2VyX19zbGlkZXMge1xuICAgICAgbWluLWhlaWdodDogNTIwcHg7IH0gfVxuXG4uY21zLWhvbWUtdGVzdCAuY3MtaW1hZ2UtdGVhc2VyLS1zbGlkZXIgLmNzLWltYWdlLXRlYXNlcl9fc2xpZGVzIHtcbiAgbWF4LWhlaWdodDogMzk1cHg7XG4gIHBhZGRpbmc6IDA7XG4gIGJvcmRlci1yYWRpdXM6IDdweDsgfVxuICAuY21zLWhvbWUtdGVzdCAuY3MtaW1hZ2UtdGVhc2VyLS1zbGlkZXIgLmNzLWltYWdlLXRlYXNlcl9fc2xpZGVzIC5jcy1pbWFnZS10ZWFzZXJfX3BpY3R1cmUge1xuICAgIG1pbi1oZWlnaHQ6IDQwMHB4OyB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgIC5jbXMtaG9tZS10ZXN0IC5jcy1pbWFnZS10ZWFzZXItLXNsaWRlciAuY3MtaW1hZ2UtdGVhc2VyX19zbGlkZXMgLmNzLWltYWdlLXRlYXNlcl9fcGljdHVyZSB7XG4gICAgICAgIG1pbi1oZWlnaHQ6IDUyMHB4OyB9IH1cblxuLmNtcy1ob21lLXRlc3QgLmNzLXNsaWRlci1wYWdpbmF0aW9uIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBib3R0b206IDA7XG4gIGxlZnQ6IDUwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpOyB9XG5cbi5jbXMtaG9tZS10ZXN0IC5jcy1jb250YWluZXItLWltYWdlLXRlYXNlciB7XG4gIG1hcmdpbjogMDsgfVxuXG4uY21zLWhvbWUtdGVzdCAuY3MtaW1hZ2UtdGVhc2VyX19maWd1cmUge1xuICBvdmVyZmxvdzogaGlkZGVuOyB9XG5cbi5jbXMtaG9tZS10ZXN0IC5jcy1pbWFnZS10ZWFzZXItLXNsaWRlci5jcy1pbWFnZS10ZWFzZXItLWNvbnRhaW5lci13aWR0aCB7XG4gIC0tYmFzZS1zaXplOiAxMDAlOyB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLmNtcy1ob21lLXRlc3QgLmNzLWltYWdlLXRlYXNlci0tc2xpZGVyLmNzLWltYWdlLXRlYXNlci0tY29udGFpbmVyLXdpZHRoIHtcbiAgICAgIG1pbi1oZWlnaHQ6IDM5NXB4OyB9IH1cblxuQG1lZGlhIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLmNtcy1ob21lLXRlc3QgLmNzLWltYWdlLXRlYXNlci0tc2xpZGVyIC5jcy1pbWFnZS10ZWFzZXJfX3NsaWRlcy13cmFwcGVyIHtcbiAgICBtaW4taGVpZ2h0OiAzOTVweDsgfSB9XG5cbkBtZWRpYSAobWF4LXdpZHRoOiAyMy4xMjVlbSkge1xuICAuY21zLWhvbWUtdGVzdCAuY3MtaW1hZ2UtdGVhc2VyX19zbG9nYW4ge1xuICAgIGZvbnQtc2l6ZTogMy41cmVtOyB9IH1cblxuLmNtcy1ob21lLXRlc3QgLmNzLWltYWdlLXRlYXNlcl9fZGVzY3JpcHRpb24ge1xuICBmb250LXNpemU6IDJyZW07XG4gIG1heC13aWR0aDogODUlO1xuICBtYXJnaW46IDFyZW0gYXV0bzsgfVxuICBAbWVkaWEgKG1pbi13aWR0aDogMjMuMTI1ZW0pIHtcbiAgICAuY21zLWhvbWUtdGVzdCAuY3MtaW1hZ2UtdGVhc2VyX19kZXNjcmlwdGlvbiB7XG4gICAgICBmb250LXNpemU6IDIuNHJlbTsgfSB9XG5cbi5jbXMtaG9tZS10ZXN0IC5jcy1pbWFnZS10ZWFzZXJfX3NsaWRlLS1zY2hlbWUtbGlnaHQgLmNzLWltYWdlLXRlYXNlcl9fY3RhLFxuLmNtcy1ob21lLXRlc3QgLmNzLWltYWdlLXRlYXNlcl9fc2xpZGUtLXNjaGVtZS1saWdodCAuY3MtaW1hZ2UtdGVhc2VyX19jdGE6dmlzaXRlZCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM3ZTU3YzI7XG4gIGNvbG9yOiAjZmZmOyB9XG5cbi5jbXMtaG9tZS10ZXN0IC5jcy1pbWFnZS10ZWFzZXJfX3NsaWRlLS1zY2hlbWUtbGlnaHQgLmNzLWltYWdlLXRlYXNlcl9fY3RhLXNwYW4ge1xuICBwYWRkaW5nLXJpZ2h0OiAzZW07IH1cblxuLmNtcy1ob21lLXRlc3QgLmNzLWltYWdlLXRlYXNlcl9fc2xpZGUtLXNjaGVtZS1saWdodCAuY3MtaW1hZ2UtdGVhc2VyX19jdGEtc3Bhbixcbi5jbXMtaG9tZS10ZXN0IC5jcy1pbWFnZS10ZWFzZXJfX3NsaWRlLS1zY2hlbWUtbGlnaHQgLmNzLWltYWdlLXRlYXNlcl9fY3RhICosXG4uY21zLWhvbWUtdGVzdCAuY3MtaW1hZ2UtdGVhc2VyX19zbGlkZS0tc2NoZW1lLWxpZ2h0IC5jcy1pbWFnZS10ZWFzZXJfX2N0YTp2aXNpdGVkICoge1xuICBjb2xvcjogI2ZmZjtcbiAgZmlsbDogI2ZmZjsgfVxuIiwiQGltcG9ydCAnY29uZmlnL3ZhcmlhYmxlcyc7XG5AaW1wb3J0ICd2ZW5kb3JzL2luY2x1ZGUtbWVkaWEnO1xuXG5cbkBtaXhpbiBidG4taG9tZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yX3BhcGlsYXJ0X3B1cnBsZTtcbiAgICBib3JkZXItcmFkaXVzOiA1MHB4O1xuICAgIHBhZGRpbmc6IDFyZW0gMi41cmVtO1xuICAgIGNvbG9yOiAkY29sb3Jfd2hpdGU7XG4gICAgZm9udC1zaXplOiAxLjhyZW07XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICBsZXR0ZXItc3BhY2luZzogMXB4O1xuICAgICY6aG92ZXJ7XG4gICAgICAgIGNvbG9yOiAkY29sb3Jfd2hpdGU7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICM0ZDJjOTE7XG4gICAgfVxufVxuXG5cbi5jcy1pbWFnZS10ZWFzZXItLXNsaWRlci5jcy1pbWFnZS10ZWFzZXJfX3NsaWRlc3tcbiAgICBtYXgtaGVpZ2h0OiA0MTRweCFpbXBvcnRhbnQ7XG4gICAgYm9yZGVyLXJhZGl1czogJGJvcmRlci1yYWRpdXNfYmFzZTtcblxufVxuLy9zZWN0aW9uIHRvcCBzbGlkZXJcbi5zZWN0aW9uLXdyYXBwZXItc2xpZGVye1xuICAgIHBhZGRpbmctYm90dG9tOiAzcmVtO1xuICAgIEBpbmNsdWRlIG1lZGlhKCc+PWxhcHRvcCcpIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IC0wLjVyZW07XG4gICAgICAgIG1hcmdpbi1yaWdodDogLTFyZW07XG4gICAgICAgIHdpZHRoOiBjYWxjKDEwMCUgKyAxcmVtKSFpbXBvcnRhbnQ7XG4gICAgfVxuICAgIFxuICAgIC5ob21lLXRvcC1zbGlkZXJ7XG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PWxhcHRvcCcpIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDAuNXJlbTtcbiAgICAgICAgfVxuICAgICAgICAuaG9tZS1zbGlkZXItYm94e1xuICAgICAgICAgICAgYmFja2dyb3VuZDogJGNvbG9yX3doaXRlO1xuICAgICAgICB9XG4gICAgfVxuICAgIC5ib3h7XG4gICAgICAgIHBhZGRpbmc6IDAuNXJlbSAwO1xuICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPj1sYXB0b3AnKSB7XG4gICAgICAgICAgICBwYWRkaW5nOiAwLjVyZW07XG4gICAgICAgIH1cbiAgICB9XG4gICAgLm5ld3NsZXR0ZXItcmVkaW5nbyB7XG4gICAgICAgIHBhZGRpbmc6IDAuNXJlbSAxLjVyZW07XG4gICAgICAgIGJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzX2Jhc2U7XG4gICAgICAgIG1hcmdpbjogMC41cmVtIDA7XG4gICAgICAgIG1pbi1oZWlnaHQ6MzAwcHg7XG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PWxhcHRvcCcpIHtcbiAgICAgICAgICAgIG1hcmdpbjogMC41cmVtO1xuICAgICAgICB9XG4gICAgICAgIFxuICAgICAgICAubmV3c2xldHRlcl9fYnRuLWNvbnRhaW5lciB7XG4gICAgICAgICAgICBtaW4taGVpZ2h0OiA4MHB4O1xuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz49bGFwdG9wJykge1xuICAgICAgICAgICAgICAgIG1pbi1oZWlnaHQ6IDUwcHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLm5ld3NsZXR0ZXJfX3RpdGxlLWNvbnRhaW5lcntcbiAgICAgICAgICAgIG1pbi1oZWlnaHQ6IDk1cHg7XG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjpjb2x1bW47IFxuICAgICAgICAgICAgbWluLWhlaWdodDogMzAwcHg7XG4gICAgICAgICAgICAubmV3c2xldHRlcl9fdGl0bGV7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAycmVtO1xuICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IDA7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cblxuICAgIC8vIHNsaWNrXG4gICAgLmhvbWUtc2xpZGVyLXNsaWNre1xuICAgICAgICBiYWNrZ3JvdW5kOiAkY29sb3Jfd2hpdGU7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzX2Jhc2U7XG4gICAgICAgIC5jb250ZW50e1xuICAgICAgICAgICAgLy8gZm9udC1zaXplOiAxLjRyZW07XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAkY29sb3Jfd2hpdGU7XG4gICAgICAgICAgICBwYWRkaW5nOiAycmVtIDEuNXJlbTtcbiAgICAgICAgICAgIG1pbi1oZWlnaHQ6IDMwMHB4O1xuICAgICAgICAgICAgLnRpdGxle1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMi41cmVtO1xuICAgICAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAxcmVtO1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PWRlc2t0b3AnKSB7XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogM3JlbTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAuc3VidGl0bGV7XG4gICAgICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IDJyZW07XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgXG4gICAgICAgIC5idG57XG4gICAgICAgICAgICBAaW5jbHVkZSBidG4taG9tZTtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDJyZW07XG4gICAgICAgICAgICAmOmhvdmVye1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkY29sb3Jfd2hpdGU7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzRkMmM5MTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5zbGljay1zbGlkZXtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogLTEuNXJlbTtcbiAgICB9XG4gICAgLnNsaWNrLXNsaWRlcntcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICB9XG4gICAgLnNsaWNrLWRvdHRlZC5zbGljay1zbGlkZXJ7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgfVxuXG5cblxuICAgIC5zbGljay1zbGlkZSBpbWd7XG4gICAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogJGJvcmRlci1yYWRpdXNfYmFzZTtcbiAgICAgICAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6ICRib3JkZXItcmFkaXVzX2Jhc2U7XG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PXRhYmxldCcpIHtcbiAgICAgICAgICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAwO1xuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogJGJvcmRlci1yYWRpdXNfYmFzZTtcbiAgICAgICAgfVxuICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPj1sYXB0b3AnKSB7XG4gICAgICAgICAgICBtYXgtaGVpZ2h0OiA0MzNweDtcbiAgICAgICAgICAgIGFzcGVjdC1yYXRpbzogNDYwLzIzNTtcbiAgICAgICAgICAgIG1pbi1oZWlnaHQ6IDQwOHB4O1xuICAgICAgICB9XG4gICAgfVxuICAgIC5zbGljay1kb3RzIHtcbiAgICAgICAgYm90dG9tOiAyMHB4O1xuICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPj10YWJsZXQnKSB7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDRyZW07XG4gICAgICAgIH1cbiAgICAgICAgbGkge1xuICAgICAgICAgICAgYnV0dG9uIHtcbiAgICAgICAgICAgICAgICAmOjpiZWZvcmV7XG4gICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6IFwiXFwwMDJEXCI7XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogNHJlbTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBcbiAgICAgICAgfVxuICAgICAgICBcbiAgICB9XG59XG5cblxuLy8gZmFzdCBkZWxpdmVyeVxuLmZhc3QtZGVsaXZlcnktYm94LCAuZGlzY291bnRzLWJveHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1hcm91bmQ7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgYm9yZGVyLXJhZGl1czogJGJvcmRlci1yYWRpdXNfYmFzZTtcbiAgICBwYWRkaW5nOiAxcmVtIDJyZW07XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIG1pbi1oZWlnaHQ6IDIwMHB4O1xuICAgIGEsYTpob3ZlcntcbiAgICAgICAgY29sb3I6JGNvbG9yX3BhcGlsYXJ0X2dyYXlncmVlbjtcbiAgICB9XG4gICAgXG4gICAgLnRpdGxle1xuICAgICAgICBmb250LXNpemU6IDJyZW07XG4gICAgICAgIHBhZGRpbmc6IDFyZW0gMDtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPj1kZXNrdG9wJykge1xuICAgICAgICAgICAgZm9udC1zaXplOiAyLjRyZW07XG4gICAgICAgIH1cbiAgICB9XG4gICAgLnN1YnRpdGxle1xuICAgICAgICBmb250LXNpemU6IDEuNXJlbTtcbiAgICAgICAgbWF4LXdpZHRoOiAyMTBweDtcbiAgICB9XG59XG5cbi5mYXN0LWRlbGl2ZXJ5LWJveHtcbiAgICBiYWNrZ3JvdW5kOiAkY29sb3JfcGFwaWxhcnRfYXF1YTtcbiAgICBjb2xvcjogJGNvbG9yX3doaXRlO1xuICAgIG1hcmdpbi1ib3R0b206IC0ycmVtO1xuICAgIEBpbmNsdWRlIG1lZGlhKCc+PXRhYmxldCcpIHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAxcmVtO1xuICAgIH1cbiAgICBAaW5jbHVkZSBtZWRpYSgnPj1sYXB0b3AnKSB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICB9XG4gICAgLnRpdGxle1xuICAgICAgICBjb2xvcjogJGNvbG9yX3doaXRlO1xuICAgIH1cbn1cbi8qIC5mYXN0LWRlbGl2ZXJ5LWJveDo6YmVmb3Jle1xuICAgIGNvbnRlbnQ6ICdwYWN6a2EnO1xufSAqL1xuLmRpc2NvdW50cy1ib3h7XG4gICAgYmFja2dyb3VuZDogJGNvbG9yX3doaXRlO1xufVxuLyogLmRpc2NvdW50cy1ib3g6OmJlZm9yZXtcbiAgICBjb250ZW50OiAna29zenlrJztcbn0gKi9cblxuLy8gZGlzY291bnRzXG5cblxuLy8gc2VjdGlvbiBmcmVlIGNvdmlkXG4uc2VjdGlvbi13cmFwcGVyLWNvdmlke1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIHBhZGRpbmctdG9wOiAwO1xuICAgIHBhZGRpbmctYm90dG9tOiAycmVtO1xuICAgIG1hcmdpbi1sZWZ0OiAtMC41cmVtO1xuICAgIG1hcmdpbi1yaWdodDogLTAuNXJlbTtcbiAgICAuaXRlbSA+ICp7XG4gICAgICAgIG1pbi1oZWlnaHQ6IDM2OHB4O1xuICAgIH1cbiAgICAuaXRlbSA+ICosXG4gICAgLml0ZW0gPiAqID4gKixcbiAgICAuaXRlbSA+ICogPiAqID4gKixcbiAgICAuaXRlbSA+ICogPiAqID4gKiA+ICp7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICB9XG4gICAgLnAtMntcbiAgICAgICAgcGFkZGluZzogMC41cmVtO1xuICAgICAgICAuYnRue1xuICAgICAgICAgICAgQGluY2x1ZGUgYnRuLWhvbWU7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAxcmVtO1xuICAgICAgICB9XG4gICAgfVxuICAgIC5mcmVlLTItMS1ib3h7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICBiYWNrZ3JvdW5kOiAkY29sb3JfcGFwaWxhcnRfYXF1YTtcbiAgICAgICAgY29sb3I6ICRjb2xvcl93aGl0ZTtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogJGJvcmRlci1yYWRpdXNfYmFzZTtcbiAgICAgICAgcGFkZGluZzogMS41cmVtIDNyZW07XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAtMjBweDtcbiAgICAgICAgbWluLWhlaWdodDogNDYwcHg7XG4gICAgICAgIC5mcmVlLTJfdGl0bGV7XG4gICAgICAgICAgICBmb250LXNpemU6IDVyZW07XG4gICAgICAgICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogM3JlbTtcbiAgICAgICAgICAgIHBhZGRpbmctdG9wOiAzcmVtO1xuICAgICAgICB9XG4gICAgICAgIC50aXRsZS1iaWd7XG4gICAgICAgICAgICBmb250LXNpemU6IDEzcmVtO1xuICAgICAgICB9XG4gICAgICAgIC50aXRsZXtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMi41cmVtO1xuICAgICAgICAgICAgY29sb3I6ICRjb2xvcl93aGl0ZTtcbiAgICAgICAgfVxuICAgICAgICAudGl0bGUtc21hbGx7XG4gICAgICAgICAgICBmb250LXNpemU6IDEuNnJlbTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5uZXctaW4tYWNjZXNzb3JpZXMtYm94e1xuICAgICAgICBiYWNrZ3JvdW5kOiAkY29sb3Jfd2hpdGU7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzX2Jhc2U7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgbWluLWhlaWdodDogNDYwcHg7XG4gICAgICAgIC5jb250ZW50e1xuICAgICAgICAgICAgcGFkZGluZzogMS41cmVtIDNyZW07XG4gICAgICAgIH1cbiAgICAgICAgLnRpdGxle1xuICAgICAgICAgICAgZm9udC1zaXplOiAyLjVyZW07XG4gICAgICAgIH1cbiAgICAgICAgLnN1YnRpdGxle1xuICAgICAgICAgICAgZm9udC1zaXplOiAxLjZyZW07XG4gICAgICAgICAgICBjb2xvcjogJGNvbG9yX3BhcGlsYXJ0X2dyYXlncmVlbjtcbiAgICAgICAgfVxuICAgICAgICBpbWd7XG4gICAgICAgICAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAkYm9yZGVyLXJhZGl1c19iYXNlO1xuICAgICAgICAgICAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6ICRib3JkZXItcmFkaXVzX2Jhc2U7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuY292aWQtYm94e1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgcGFkZGluZzogM3JlbTtcbiAgICAgICAgY29sb3I6ICRjb2xvcl93aGl0ZTtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogJGJvcmRlci1yYWRpdXNfYmFzZTtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICBtaW4taGVpZ2h0OiA0NjBweDtcbiAgICAgICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHJnYmEoMCwwLDAsMC41KSwgcmdiYSgwLDAsMCwwLjUpKSwgdXJsKCdodHRwczovL2ltYWdlcy51bnNwbGFzaC5jb20vcGhvdG8tMTYxMzExOTcxOTk0OC1kNTM4NjU2NThhODg/aXhsaWI9cmItNC4wLjMmaXhpZD1Nbnd4TWpBM2ZEQjhNSHh3YUc5MGJ5MXdZV2RsZkh4OGZHVnVmREI4Zkh4OCZhdXRvPWZvcm1hdCZmaXQ9Y3JvcCZ3PTE3NzEmcT04MCcpO1xuICAgICAgICAudGl0bGV7XG4gICAgICAgICAgICBmb250LXNpemU6IDMuMnJlbTtcbiAgICAgICAgICAgIGNvbG9yOiAkY29sb3Jfd2hpdGU7XG4gICAgICAgIH1cbiAgICAgICAgLnN1YnRpdGxle1xuICAgICAgICAgICAgZm9udC1zaXplOiAyLjVyZW07XG4gICAgICAgICAgICBtYXgtd2lkdGg6IDM4MHB4O1xuICAgICAgICB9XG4gICAgfVxuICAgIC5jb3ZpZC1ib3gtY21ze1xuICAgICAgICAuY3MtaW1hZ2UtdGVhc2VyX19waWN0dXJle1xuICAgICAgICAgICAgbWluLWhlaWdodDogNDYwcHg7XG4gICAgICAgIH1cbiAgICAgICAgLmNzLWltYWdlLXRlYXNlcl9fZmlndXJle1xuICAgICAgICAgICAgbWF4LWhlaWdodDogNDAwcHg7XG4gICAgICAgICAgICBtaW4taGVpZ2h0OiA0NjBweDtcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzX2Jhc2U7XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IC0xLjVyZW07XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogLTEuNXJlbTtcbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PWxhcHRvcCcpIHtcbiAgICAgICAgICAgICAgICBtYXgtaGVpZ2h0OiA0NjBweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC5jcy1pbWFnZS10ZWFzZXJfX2Rlc2NyaXB0aW9ue1xuICAgICAgICAgICAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuLnNlY3Rpb24td3JhcHBlci1zZWFzb24taXMtb257XG4gICAgLy8gLmNzLXByb2R1Y3RzLWNhcm91c2VsIHtcbiAgICAvLyAgICAgLmNzLXByb2R1Y3RzLWNhcm91c2VsX19zbGlkZXN7XG4gICAgLy8gICAgICAgICAmOjotd2Via2l0LXNjcm9sbGJhcntcbiAgICAvLyAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIC8vICAgICAgICAgfVxuICAgIC8vICAgICB9XG4gICAgLy8gfVxuICAgIFxuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIHBhZGRpbmctYm90dG9tOiAzcmVtO1xuICAgIFxuICAgIC5zZWFzb24taXMtb24tYm94e1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgcGFkZGluZzogM3JlbSAxLjVyZW07XG4gICAgICAgIGNvbG9yOiAkY29sb3Jfd2hpdGU7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzX2Jhc2U7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgbWluLWhlaWdodDogMzAwcHg7XG4gICAgICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudChyZ2JhKDAsMCwwLDAuNSksIHJnYmEoMCwwLDAsMC41KSksIHVybCgnaHR0cHM6Ly9pbWFnZXMudW5zcGxhc2guY29tL3Bob3RvLTE2MTMxMTk3MTk5NDgtZDUzODY1NjU4YTg4P2l4bGliPXJiLTQuMC4zJml4aWQ9TW53eE1qQTNmREI4TUh4d2FHOTBieTF3WVdkbGZIeDhmR1Z1ZkRCOGZIeDgmYXV0bz1mb3JtYXQmZml0PWNyb3Amdz0xNzcxJnE9ODAnKTtcbiAgICAgICAgLnRpdGxle1xuICAgICAgICAgICAgZm9udC1zaXplOiAzLjJyZW07XG4gICAgICAgICAgICBjb2xvcjogJGNvbG9yX3doaXRlO1xuICAgICAgICAgICAgbWF4LXdpZHRoOiAzNjBweDtcbiAgICAgICAgfVxuICAgIH1cbiAgICAuc2Vhc29uLWlzLW9uLWJveC1jbXN7XG4gICAgICAgIC5jcy1pbWFnZS10ZWFzZXJfX3BpY3R1cmV7XG4gICAgICAgICAgICBtaW4taGVpZ2h0OiA0MDBweDtcbiAgICAgICAgfVxuICAgICAgICAuY3MtaW1hZ2UtdGVhc2VyX19maWd1cmV7XG4gICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgICBtaW4taGVpZ2h0OiAzMDBweDtcbiAgICAgICAgICAgIG1heC1oZWlnaHQ6IDQwMHB4O1xuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogJGJvcmRlci1yYWRpdXNfYmFzZTtcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogLTEuNXJlbTtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAtMS41cmVtO1xuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz49bGFwdG9wJykge1xuICAgICAgICAgICAgICAgIG1heC1oZWlnaHQ6IDMwMHB4O1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLmNzLWltYWdlLXRlYXNlcl9fc2xvZ2Fue1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMy4ycmVtO1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkY29sb3Jfd2hpdGU7XG4gICAgICAgICAgICAgICAgbWF4LXdpZHRoOiAzNjBweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbiAgICAuc2Vhc29uLWlzLW9uLXNsaWRlcntcbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJzxsYXB0b3AnKSB7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogLTEuNXJlbTtcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogLTEuNXJlbTtcbiAgICAgICAgfVxuICAgICAgICBcbiAgICAgICAgLmNzLXNsaWRlci1wYWdpbmF0aW9ue1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuICAgICAgICAuY3MtcHJvZHVjdHMtY2Fyb3VzZWx7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICB9XG4gICAgICAgIC5ibG9jay1zdGF0aWMtYmxvY2sud2lkZ2V0e1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5jcy1jb250YWluZXIuY3MtY29udGFpbmVyLS1wcm9kdWN0cy1jYXJvdXNlbHtcbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PWxhcHRvcCcpIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmNzLXByb2R1Y3QtdGlsZV9fY29udGFpbmVye1xuICAgICAgICBtaW4taGVpZ2h0OiAzMDBweDtcbiAgICB9XG59XG5cblxuLy8gam9iIG9mZmVyc1xuLnNlY3Rpb24tam9iLW9mZmVyc3tcbiAgICBtYXJnaW4tYm90dG9tOiA1cmVtO1xuICAgIC5ib3h7XG4gICAgICAgIGJhY2tncm91bmQ6ICRjb2xvcl93aGl0ZTtcbiAgICAgICAgYm9yZGVyLXJhZGl1czokYm9yZGVyLXJhZGl1c19iYXNlO1xuICAgICAgICBwYWRkaW5nOiAycmVtO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAycmVtO1xuICAgICAgICAudGl0bGV7XG4gICAgICAgICAgICBmb250LXNpemU6IDJyZW07XG4gICAgICAgIH1cbiAgICAgICAgLnN1YnRpdGxle1xuICAgICAgICAgICAgZm9udC1zaXplOiAycmVtO1xuICAgICAgICB9XG4gICAgfVxuICAgIC5ib3gtb2ZmZXJ7XG4gICAgICAgIG1hcmdpbi10b3A6IC0zcmVtO1xuICAgIH1cbiAgICAuaXRlbS1jaXR5e1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICAgICAgICBwe1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgJjo6YmVmb3Jle1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICBjb250ZW50OiB1cmwoLi4vaW1hZ2VzL2ljb25zL2dlby1vcmFuZ2Uuc3ZnKTtcbiAgICAgICAgICAgICAgICBsZWZ0OiAtMjBweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbiAgICBcbiAgICAuaXRlbS1idG4sXG4gICAgLml0ZW0tYnRuLXNlbmR7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIC5idG57XG4gICAgICAgICAgICBAaW5jbHVkZSBidG4taG9tZTtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz49dGFibGV0Jykge1xuICAgICAgICAgICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuICAgIC5pdGVtLWJ0bi1zZW5ke1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgcGFkZGluZzogM3JlbSAycmVtO1xuICAgIH1cbn1cblxuXG5cbi8vIENNUyBzbGlkZXJcbi5jbXMtaG9tZS10ZXN0e1xuICAgIC5ob21lLXRvcC1zbGlkZXJ7XG4gICAgICAgIC5ibG9jay1zdGF0aWMtYmxvY2sud2lkZ2V0LCAuYmxvY2stY21zLWxpbmsud2lkZ2V0e1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMC41cmVtO1xuICAgICAgICB9XG4gICAgfVxuXHQuY3MtaW1hZ2UtdGVhc2VyLS1zbGlkZXIuY3MtaW1hZ2UtdGVhc2VyLS1jb250YWluZXItd2lkdGh7XG5cdFx0d2lkdGg6IDEwMCU7XG5cdH1cblx0LmNzLWltYWdlLXRlYXNlcl9fY29udGVudC13cmFwcGVyLS1vdmVyIHtcblx0XHRwYWRkaW5nLWJvdHRvbTogNHJlbTtcblx0fVxuXHQuY3MtaW1hZ2UtdGVhc2VyLS1zbGlkZXIuY3MtaW1hZ2UtdGVhc2VyLS1jb250YWluZXItd2lkdGggLmNzLWltYWdlLXRlYXNlcl9fc2xpZGVze1xuXHRcdHBhZGRpbmc6IDA7XG5cdFx0LW1zLW92ZXJmbG93LXN0eWxlOiBub25lOyAvKiBmb3IgSW50ZXJuZXQgRXhwbG9yZXIsIEVkZ2UgKi9cblx0XHRcdHNjcm9sbGJhci13aWR0aDogbm9uZTsgLyogZm9yIEZpcmVmb3ggKi9cblx0XHRcdG92ZXJmbG93LXk6IHNjcm9sbDtcblx0XHRcdCY6Oi13ZWJraXQtc2Nyb2xsYmFye1xuXHRcdFx0XHRkaXNwbGF5OiBub25lO1xuXHRcdFx0fVxuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz49bGFwdG9wJykge1xuICAgICAgICAgICAgICAgIG1pbi1oZWlnaHQ6IDUyMHB4O1xuICAgICAgICAgICAgfVxuXHR9XG5cdC5jcy1pbWFnZS10ZWFzZXItLXNsaWRlciAuY3MtaW1hZ2UtdGVhc2VyX19zbGlkZXN7XG5cdFx0bWF4LWhlaWdodDogMzk1cHg7XG5cdFx0cGFkZGluZzogMDtcblx0XHRib3JkZXItcmFkaXVzOiA3cHg7XG5cdFx0LmNzLWltYWdlLXRlYXNlcl9fcGljdHVyZXtcbiAgICAgICAgICAgIG1pbi1oZWlnaHQ6IDQwMHB4O1xuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz49bGFwdG9wJykge1xuICAgICAgICAgICAgICAgIG1pbi1oZWlnaHQ6IDUyMHB4O1xuICAgICAgICAgICAgfVxuXHRcdH1cblx0XHRcblx0fVxuXHQuY3Mtc2xpZGVyLXBhZ2luYXRpb24ge1xuXHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHRib3R0b206IDA7XG5cdFx0bGVmdDogNTAlO1xuXHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcblx0fVxuXHQuY3MtY29udGFpbmVyLS1pbWFnZS10ZWFzZXJ7XG5cdFx0bWFyZ2luOiAwO1xuXHR9XG5cdC8vIC5jcy1pbWFnZS10ZWFzZXJfX3BpY3R1cmUgKyAuY3MtaW1hZ2UtdGVhc2VyX19jb250ZW50LXdyYXBwZXItLW92ZXIsIC5jcy1pbWFnZS10ZWFzZXItLXRlYXNlci1hbmQtdGV4dCAuY3MtaW1hZ2UtdGVhc2VyX19zbGlkZS0taW1hZ2UtdXBsb2FkZWQgLmNzLWltYWdlLXRlYXNlcl9fY29udGVudC13cmFwcGVyLS1vdmVye1xuXHRcdFxuICAgIC8vICAgICBAaW5jbHVkZSBtZWRpYSgnPj1sYXB0b3AnKSB7XG4gICAgLy8gICAgICAgICAvLyBtYXgtd2lkdGg6IDc0N3B4O1xuXHQvLyBcdFx0Ly8gbWFyZ2luOiBhdXRvO1xuICAgIC8vICAgICB9XG4gICAgICAgIFxuXHQvLyB9XG5cbiAgICAuY3MtaW1hZ2UtdGVhc2VyX19maWd1cmV7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgfVxuICAgIC5jcy1pbWFnZS10ZWFzZXItLXNsaWRlci5jcy1pbWFnZS10ZWFzZXItLWNvbnRhaW5lci13aWR0aHtcbiAgICAgICAgLS1iYXNlLXNpemU6IDEwMCU7XG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PWxhcHRvcCcpIHtcbiAgICAgICAgICAgIG1pbi1oZWlnaHQ6IDM5NXB4O1xuICAgICAgICB9XG4gICAgfVxuICAgIC5jcy1pbWFnZS10ZWFzZXItLXNsaWRlciAuY3MtaW1hZ2UtdGVhc2VyX19zbGlkZXMtd3JhcHBlciB7XG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PWxhcHRvcCcpIHtcbiAgICAgICAgICAgIG1pbi1oZWlnaHQ6IDM5NXB4O1xuICAgICAgICB9XG4gICAgfVxuICAgIC5jcy1pbWFnZS10ZWFzZXJfX3Nsb2dhbntcbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJzw9cGhvbmUnKSB7XG4gICAgICAgICAgICBmb250LXNpemU6IDMuNXJlbTtcbiAgICAgICAgfVxuICAgIH1cbiAgICAuY3MtaW1hZ2UtdGVhc2VyX19kZXNjcmlwdGlvbiB7XG4gICAgICAgIGZvbnQtc2l6ZTogMnJlbTtcbiAgICAgICAgbWF4LXdpZHRoOiA4NSU7XG4gICAgICAgIG1hcmdpbjogMXJlbSBhdXRvO1xuICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPj1waG9uZScpIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMi40cmVtO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmNzLWltYWdlLXRlYXNlcl9fc2xpZGUtLXNjaGVtZS1saWdodCAuY3MtaW1hZ2UtdGVhc2VyX19jdGEsIFxuICAgIC5jcy1pbWFnZS10ZWFzZXJfX3NsaWRlLS1zY2hlbWUtbGlnaHQgLmNzLWltYWdlLXRlYXNlcl9fY3RhOnZpc2l0ZWR7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvcl9wYXBpbGFydF9wdXJwbGU7XG4gICAgICAgIGNvbG9yOiAkY29sb3Jfd2hpdGU7XG4gICAgfVxuICAgIC5jcy1pbWFnZS10ZWFzZXJfX3NsaWRlLS1zY2hlbWUtbGlnaHQgLmNzLWltYWdlLXRlYXNlcl9fY3RhLXNwYW57XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDNlbTtcbiAgICB9XG4gICAgLmNzLWltYWdlLXRlYXNlcl9fc2xpZGUtLXNjaGVtZS1saWdodCAuY3MtaW1hZ2UtdGVhc2VyX19jdGEtc3BhbixcbiAgICAuY3MtaW1hZ2UtdGVhc2VyX19zbGlkZS0tc2NoZW1lLWxpZ2h0IC5jcy1pbWFnZS10ZWFzZXJfX2N0YSAqLCBcbiAgICAuY3MtaW1hZ2UtdGVhc2VyX19zbGlkZS0tc2NoZW1lLWxpZ2h0IC5jcy1pbWFnZS10ZWFzZXJfX2N0YTp2aXNpdGVkICp7XG4gICAgICAgIGNvbG9yOiAkY29sb3Jfd2hpdGU7XG4gICAgICAgIGZpbGw6ICRjb2xvcl93aGl0ZTtcbiAgICB9XG59XG4iLCIvKipcbiAqIEJyZWFrcG9pbnQgY29tcG9uZW50IHVzZWQgYnkgaW5jbHVkZS1tZWRpYSB2ZW5kb3IgbGlicmFyeS5cbiAqL1xuQHVzZSAnc2FzczptYXAnO1xuLyoqXG4gKiBFeHRyYWN0cyBuZXN0ZWQga2V5cyBmcm9tIGdpdmVuIG1hcC5cbiAqIEV4YW1wbGU6IGRlZXAtZ2V0KCRzb21lLW1hcCwgc29tZSwgbmVzdGVkLCBrZXlzKTtcbiAqL1xuLyoqXG4qIERlZmF1bHQgcHJvamVjdCBicmVha3BvaW50cyAtIFtlbV1cbiovXG4vKipcbiAqIEJyZWFrcG9pbnQgY29tcG9uZW50IHVzZWQgYnkgaW5jbHVkZS1tZWRpYSB2ZW5kb3IgbGlicmFyeS5cbiAqL1xuQHVzZSAnc2FzczptYXAnO1xuLyoqXG4gKiBFeHRyYWN0cyBuZXN0ZWQga2V5cyBmcm9tIGdpdmVuIG1hcC5cbiAqIEV4YW1wbGU6IGRlZXAtZ2V0KCRzb21lLW1hcCwgc29tZSwgbmVzdGVkLCBrZXlzKTtcbiAqL1xuLyoqXG4qIERlZmF1bHQgcHJvamVjdCBicmVha3BvaW50cyAtIFtlbV1cbiovXG4uYmxvZy1wYWdlICNtYWluY29udGVudCAuY3MtY29udGFpbmVyX19pbm5lcixcbi5ibG9nLXBvc3QtdmlldyAjbWFpbmNvbnRlbnQgLmNzLWNvbnRhaW5lcl9faW5uZXIge1xuICBtYXgtd2lkdGg6IDExNHJlbTsgfVxuXG4uYmxvZy1wYWdlIC5ibG9jay1jYXRlZ29yaWVzIC5ibG9jay10aXRsZSxcbi5ibG9nLXBvc3QtdmlldyAuYmxvY2stY2F0ZWdvcmllcyAuYmxvY2stdGl0bGUge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbi5ibG9nLXBhZ2UgLmFjY29yZGlvbixcbi5ibG9nLXBvc3QtdmlldyAuYWNjb3JkaW9uIHtcbiAgZGlzcGxheTogZmxleDtcbiAgbWFyZ2luLXRvcDogLTVyZW07IH1cbiAgLmJsb2ctcGFnZSAuYWNjb3JkaW9uIC5pdGVtLFxuICAuYmxvZy1wb3N0LXZpZXcgLmFjY29yZGlvbiAuaXRlbSB7XG4gICAgcGFkZGluZzogMnJlbSAwOyB9XG4gICAgLmJsb2ctcGFnZSAuYWNjb3JkaW9uIC5pdGVtIGEsXG4gICAgLmJsb2ctcG9zdC12aWV3IC5hY2NvcmRpb24gLml0ZW0gYSB7XG4gICAgICBjb2xvcjogIzQ1NWE2NDtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDJyZW07IH1cbiAgICAgIC5ibG9nLXBhZ2UgLmFjY29yZGlvbiAuaXRlbSBhOmhvdmVyLFxuICAgICAgLmJsb2ctcG9zdC12aWV3IC5hY2NvcmRpb24gLml0ZW0gYTpob3ZlciB7XG4gICAgICAgIGNvbG9yOiAjMTdjOGMwOyB9XG5cbi5ibG9nLXBhZ2UgLnBvc3QtbGlzdC13cmFwcGVyLFxuLmJsb2ctcG9zdC12aWV3IC5wb3N0LWxpc3Qtd3JhcHBlciB7XG4gIG1hcmdpbi1yaWdodDogLTEuNXJlbTtcbiAgbWFyZ2luLWxlZnQ6IC0xLjVyZW07IH1cbiAgLmJsb2ctcGFnZSAucG9zdC1saXN0LXdyYXBwZXIgLnBvc3QtbGlzdCxcbiAgLmJsb2ctcG9zdC12aWV3IC5wb3N0LWxpc3Qtd3JhcHBlciAucG9zdC1saXN0IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtd3JhcDogd3JhcDsgfVxuICAgIC5ibG9nLXBhZ2UgLnBvc3QtbGlzdC13cmFwcGVyIC5wb3N0LWxpc3QgLnBvc3QtbGlzdC1pdGVtLFxuICAgIC5ibG9nLXBvc3QtdmlldyAucG9zdC1saXN0LXdyYXBwZXIgLnBvc3QtbGlzdCAucG9zdC1saXN0LWl0ZW0ge1xuICAgICAgbWF4LXdpZHRoOiAzNjBweDtcbiAgICAgIG1hcmdpbjogMCBhdXRvOyB9XG4gICAgLmJsb2ctcGFnZSAucG9zdC1saXN0LXdyYXBwZXIgLnBvc3QtbGlzdCAucG9zdC1kZXNjcmlwdGlvbixcbiAgICAuYmxvZy1wb3N0LXZpZXcgLnBvc3QtbGlzdC13cmFwcGVyIC5wb3N0LWxpc3QgLnBvc3QtZGVzY3JpcHRpb24ge1xuICAgICAgcGFkZGluZzogMXJlbSAycmVtIDAgMnJlbTsgfVxuICAgIC5ibG9nLXBhZ2UgLnBvc3QtbGlzdC13cmFwcGVyIC5wb3N0LWxpc3QgLnBvc3QtdGl0bGUsXG4gICAgLmJsb2ctcG9zdC12aWV3IC5wb3N0LWxpc3Qtd3JhcHBlciAucG9zdC1saXN0IC5wb3N0LXRpdGxlIHtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICAgICAgZm9udC1zaXplOiAycmVtOyB9XG4gICAgICAuYmxvZy1wYWdlIC5wb3N0LWxpc3Qtd3JhcHBlciAucG9zdC1saXN0IC5wb3N0LXRpdGxlIGEsXG4gICAgICAuYmxvZy1wb3N0LXZpZXcgLnBvc3QtbGlzdC13cmFwcGVyIC5wb3N0LWxpc3QgLnBvc3QtdGl0bGUgYSB7XG4gICAgICAgIGNvbG9yOiAjNDU1YTY0OyB9XG4gICAgLmJsb2ctcGFnZSAucG9zdC1saXN0LXdyYXBwZXIgLnBvc3QtbGlzdCAucG9zdC1ob2xkZXIsXG4gICAgLmJsb2ctcG9zdC12aWV3IC5wb3N0LWxpc3Qtd3JhcHBlciAucG9zdC1saXN0IC5wb3N0LWhvbGRlciB7XG4gICAgICBib3JkZXItYm90dG9tOiBub25lO1xuICAgICAgcGFkZGluZzogMS41cmVtO1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgIG1heC13aWR0aDogMzYwcHg7IH1cbiAgICAuYmxvZy1wYWdlIC5wb3N0LWxpc3Qtd3JhcHBlciAucG9zdC1saXN0IC5wb3N0LWNvbnRlbnQsXG4gICAgLmJsb2ctcG9zdC12aWV3IC5wb3N0LWxpc3Qtd3JhcHBlciAucG9zdC1saXN0IC5wb3N0LWNvbnRlbnQge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDdweDtcbiAgICAgIGhlaWdodDogMTAwJTsgfVxuICAgICAgLmJsb2ctcGFnZSAucG9zdC1saXN0LXdyYXBwZXIgLnBvc3QtbGlzdCAucG9zdC1jb250ZW50IGltZyxcbiAgICAgIC5ibG9nLXBvc3QtdmlldyAucG9zdC1saXN0LXdyYXBwZXIgLnBvc3QtbGlzdCAucG9zdC1jb250ZW50IGltZyB7XG4gICAgICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiA3cHg7XG4gICAgICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDdweDsgfVxuXG4uYmxvZy1wYWdlIC5wb3N0LWxpc3Qtd3JhcHBlci5ibG9nLXdpZGdldC1yZWNlbnQgLnBvc3QtbGlzdC1pdGVtLFxuLmJsb2ctcG9zdC12aWV3IC5wb3N0LWxpc3Qtd3JhcHBlci5ibG9nLXdpZGdldC1yZWNlbnQgLnBvc3QtbGlzdC1pdGVtIHtcbiAgcGFkZGluZzogMS41cmVtOyB9XG5cbi5ibG9nLXBhZ2UgLnBvc3QtbGlzdC13cmFwcGVyLmJsb2ctd2lkZ2V0LXJlY2VudCAucG9zdC1ob2xkZXIsXG4uYmxvZy1wb3N0LXZpZXcgLnBvc3QtbGlzdC13cmFwcGVyLmJsb2ctd2lkZ2V0LXJlY2VudCAucG9zdC1ob2xkZXIge1xuICBwYWRkaW5nOiAwO1xuICBtaW4taGVpZ2h0OiAzMDBweDsgfVxuXG4uYmxvZy1wYWdlIC5wb3N0LWxpc3Qtd3JhcHBlci5ibG9nLXdpZGdldC1yZWNlbnQgLnBvc3QtZGVzY3JpcHRpb24sXG4uYmxvZy1wb3N0LXZpZXcgLnBvc3QtbGlzdC13cmFwcGVyLmJsb2ctd2lkZ2V0LXJlY2VudCAucG9zdC1kZXNjcmlwdGlvbiB7XG4gIG1hcmdpbi1ib3R0b206IDA7IH1cblxuLmJsb2ctcGFnZSAucG9zdC1saXN0LXdyYXBwZXIuYmxvZy13aWRnZXQtcmVjZW50IC5pdGVtLnBvc3QtcG9zZWQtZGF0ZSxcbi5ibG9nLXBvc3QtdmlldyAucG9zdC1saXN0LXdyYXBwZXIuYmxvZy13aWRnZXQtcmVjZW50IC5pdGVtLnBvc3QtcG9zZWQtZGF0ZSB7XG4gIHRvcDogMTBweDtcbiAgcmlnaHQ6IDEwcHg7IH1cblxuLnBvc3QtYm90dG9tIC5wb3N0LWxpc3Qtd3JhcHBlci5ibG9nLXdpZGdldC1yZWNlbnQ6bm90KC5ibG9nLXdpZGdldC1yZWNlbnQtbWFzb25yeSkgLnBvc3QtaG9sZGVyIHtcbiAgbWluLWhlaWdodDogMTAwJTsgfVxuXG4uYmxvZy1wYWdlIC5pdGVtLnBvc3QtcG9zZWQtZGF0ZSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAyNXB4O1xuICByaWdodDogMzBweDtcbiAgYmFja2dyb3VuZDogI2ZmZjtcbiAgcGFkZGluZzogMC41cmVtIDFyZW07XG4gIGJvcmRlci1yYWRpdXM6IDIwMHB4O1xuICBmb250LXNpemU6IDEuMnJlbTsgfVxuXG4uYmxvZy1wYWdlIC5wYWdlcy5jcy1wYWdpbmF0aW9uIC5jcy1wYWdpbmF0aW9uX19jb250ZW50IHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IH1cbiAgLmJsb2ctcGFnZSAucGFnZXMuY3MtcGFnaW5hdGlvbiAuY3MtcGFnaW5hdGlvbl9fY29udGVudCBzdmcge1xuICAgIGhlaWdodDogMTBweDtcbiAgICBtYXJnaW46IDBweCAxMHB4OyB9XG4gIC5ibG9nLXBhZ2UgLnBhZ2VzLmNzLXBhZ2luYXRpb24gLmNzLXBhZ2luYXRpb25fX2NvbnRlbnQgLnBhZ2VzLWl0ZW1zIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7IH1cbiAgLmJsb2ctcGFnZSAucGFnZXMuY3MtcGFnaW5hdGlvbiAuY3MtcGFnaW5hdGlvbl9fY29udGVudCAuY3MtcGFnaW5hdGlvbl9fbnVtYmVyLS1jdXJyZW50ID4gLmxhYmVsIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cbiAgLmJsb2ctcGFnZSAucGFnZXMuY3MtcGFnaW5hdGlvbiAuY3MtcGFnaW5hdGlvbl9fY29udGVudCAucGFnZXMtaXRlbXMgLmNzLXBhZ2luYXRpb25fX2l0ZW0ge1xuICAgIG1hcmdpbjogMHB4IDEwcHg7IH1cbiIsIkBpbXBvcnQgJ3ZlbmRvcnMvaW5jbHVkZS1tZWRpYSc7XG5AaW1wb3J0ICdjb25maWcvdmFyaWFibGVzJztcblxuLmJsb2ctcGFnZSxcbi5ibG9nLXBvc3QtdmlldyB7XG4gICAgI21haW5jb250ZW50IHtcbiAgICAgICAgLmNzLWNvbnRhaW5lcl9faW5uZXIge1xuICAgICAgICAgICAgbWF4LXdpZHRoOiAkYmxvZy1jb250YWluZXJfbWF4LXdpZHRoO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLy9jYXRlZ29yeSBsaXN0XG4gICAgLmJsb2NrLWNhdGVnb3JpZXMge1xuICAgICAgICAuYmxvY2stdGl0bGUge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5hY2NvcmRpb24ge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBtYXJnaW4tdG9wOiAtNXJlbTtcblxuICAgICAgICAuaXRlbSB7XG4gICAgICAgICAgICBwYWRkaW5nOiAycmVtIDA7XG5cbiAgICAgICAgICAgIGEge1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkY29sb3JfcGFwaWxhcnRfZ3JheWdyZWVuO1xuICAgICAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDJyZW07XG5cbiAgICAgICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRjb2xvcl9wYXBpbGFydF9hcXVhO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5wb3N0LWxpc3Qtd3JhcHBlciB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogLTEuNXJlbTtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IC0xLjVyZW07XG5cbiAgICAgICAgLnBvc3QtbGlzdCB7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgZmxleC13cmFwOiB3cmFwO1xuXG4gICAgICAgICAgICAucG9zdC1saXN0LWl0ZW0ge1xuICAgICAgICAgICAgICAgIG1heC13aWR0aDogMzYwcHg7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5wb3N0LWRlc2NyaXB0aW9uIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAxcmVtIDJyZW0gMCAycmVtO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAucG9zdC10aXRsZSB7XG4gICAgICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAycmVtO1xuXG4gICAgICAgICAgICAgICAgYSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkY29sb3JfcGFwaWxhcnRfZ3JheWdyZWVuO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLnBvc3QtaG9sZGVyIHtcbiAgICAgICAgICAgICAgICBib3JkZXItYm90dG9tOiBub25lO1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDEuNXJlbTtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IDM2MHB4O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAucG9zdC1jb250ZW50IHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3Jfd2hpdGU7XG4gICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogJGJvcmRlci1yYWRpdXNfYmFzZTtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG5cbiAgICAgICAgICAgICAgICBpbWcge1xuICAgICAgICAgICAgICAgICAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogJGJvcmRlci1yYWRpdXNfYmFzZTtcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogJGJvcmRlci1yYWRpdXNfYmFzZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvL3JlY2VudCBwb3N0XG4gICAgLnBvc3QtbGlzdC13cmFwcGVyLmJsb2ctd2lkZ2V0LXJlY2VudHtcbiAgICAgICAgLnBvc3QtbGlzdC1pdGVtIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDEuNXJlbTtcbiAgICAgICAgfVxuICAgICAgICAucG9zdC1ob2xkZXIge1xuICAgICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgICAgIG1pbi1oZWlnaHQ6IDMwMHB4O1xuICAgICAgICB9XG4gICAgICAgIC5wb3N0LWRlc2NyaXB0aW9uIHtcbiAgICAgICAgICAgIC8vIHBhZGRpbmc6IDA7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICB9XG4gICAgICAgIC5pdGVtLnBvc3QtcG9zZWQtZGF0ZSB7XG4gICAgICAgICAgICB0b3A6IDEwcHg7XG4gICAgICAgICAgICByaWdodDogMTBweDtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLnBvc3QtYm90dG9tIC5wb3N0LWxpc3Qtd3JhcHBlci5ibG9nLXdpZGdldC1yZWNlbnQ6bm90KC5ibG9nLXdpZGdldC1yZWNlbnQtbWFzb25yeSkgLnBvc3QtaG9sZGVye1xuICAgIG1pbi1oZWlnaHQ6IDEwMCU7XG59XG5cbi5ibG9nLXBhZ2Uge1xuICAgIC5pdGVtLnBvc3QtcG9zZWQtZGF0ZSB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAyNXB4O1xuICAgICAgICByaWdodDogMzBweDtcbiAgICAgICAgYmFja2dyb3VuZDogJGNvbG9yX3doaXRlO1xuICAgICAgICBwYWRkaW5nOiAwLjVyZW0gMXJlbTtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMjAwcHg7XG4gICAgICAgIGZvbnQtc2l6ZTogMS4ycmVtO1xuICAgIH1cbn1cblxuLmJsb2ctcGFnZSB7XG4gICAgLnBhZ2VzLmNzLXBhZ2luYXRpb24ge1xuICAgICAgICAuY3MtcGFnaW5hdGlvbl9fY29udGVudCB7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXG4gICAgICAgICAgICBzdmcge1xuICAgICAgICAgICAgICAgIGhlaWdodDogMTBweDtcbiAgICAgICAgICAgICAgICBtYXJnaW46IDBweCAxMHB4O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAucGFnZXMtaXRlbXMge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLmNzLXBhZ2luYXRpb25fX251bWJlci0tY3VycmVudD4ubGFiZWwge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLnBhZ2VzLWl0ZW1zIC5jcy1wYWdpbmF0aW9uX19pdGVtIHtcbiAgICAgICAgICAgICAgICBtYXJnaW46IDBweCAxMHB4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG4iLCIvKipcbiAqIEJyZWFrcG9pbnQgY29tcG9uZW50IHVzZWQgYnkgaW5jbHVkZS1tZWRpYSB2ZW5kb3IgbGlicmFyeS5cbiAqL1xuQHVzZSAnc2FzczptYXAnO1xuLyoqXG4gKiBFeHRyYWN0cyBuZXN0ZWQga2V5cyBmcm9tIGdpdmVuIG1hcC5cbiAqIEV4YW1wbGU6IGRlZXAtZ2V0KCRzb21lLW1hcCwgc29tZSwgbmVzdGVkLCBrZXlzKTtcbiAqL1xuLyoqXG4qIERlZmF1bHQgcHJvamVjdCBicmVha3BvaW50cyAtIFtlbV1cbiovXG4vKipcbiAqIEJyZWFrcG9pbnQgY29tcG9uZW50IHVzZWQgYnkgaW5jbHVkZS1tZWRpYSB2ZW5kb3IgbGlicmFyeS5cbiAqL1xuQHVzZSAnc2FzczptYXAnO1xuLyoqXG4gKiBFeHRyYWN0cyBuZXN0ZWQga2V5cyBmcm9tIGdpdmVuIG1hcC5cbiAqIEV4YW1wbGU6IGRlZXAtZ2V0KCRzb21lLW1hcCwgc29tZSwgbmVzdGVkLCBrZXlzKTtcbiAqL1xuLyoqXG4qIERlZmF1bHQgcHJvamVjdCBicmVha3BvaW50cyAtIFtlbV1cbiovXG4uY2hlY2tvdXQtY2FydC1pbmRleCAjbWFpbmNvbnRlbnQge1xuICBiYWNrZ3JvdW5kOiAjZWRlZmYxOyB9XG5cbi5jaGVja291dC1jYXJ0LWluZGV4IC5jcy1jYXJ0LWl0ZW0uaXRlbS1pbmZvIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjsgfVxuXG4uY2hlY2tvdXQtY2FydC1pbmRleCAuYWN0aW9uLmNvbnRpbnVlIHtcbiAgYm9yZGVyOiBzb2xpZDtcbiAgcGFkZGluZzogMXJlbSAycmVtO1xuICBib3JkZXItcmFkaXVzOiAyMDBweDtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBtYXJnaW4tYm90dG9tOiAzcmVtOyB9XG5cbi5jaGVja291dC1jYXJ0LWluZGV4IC5maWVsZCAuaW5wdXQtdGV4dCB7XG4gIGJvcmRlci1yYWRpdXM6IDIwMHB4OyB9XG5cbi5jaGVja291dC1jYXJ0LWluZGV4IC5maWVsZCAubGFiZWwge1xuICBwYWRkaW5nOiAwIDAgMXJlbSAwO1xuICBmb250LXNpemU6IDEuNnJlbTsgfVxuXG4uY2hlY2tvdXQtY2FydC1pbmRleCAuY3MtY29udGFpbmVyX19jYXJ0LWNvdXBvbnMge1xuICBwYWRkaW5nOiA0cmVtIDA7IH1cbiAgLmNoZWNrb3V0LWNhcnQtaW5kZXggLmNzLWNvbnRhaW5lcl9fY2FydC1jb3Vwb25zIC5jcy1kaXNjb3VudCB7XG4gICAgYm9yZGVyLXRvcDogc29saWQgMXB4ICM4ODg7IH1cbiAgLmNoZWNrb3V0LWNhcnQtaW5kZXggLmNzLWNvbnRhaW5lcl9fY2FydC1jb3Vwb25zIC5jcy1kaXNjb3VudF9fdGl0bGUtdGV4dCB7XG4gICAgY29sb3I6ICMyMTIxMjE7XG4gICAgZm9udC1zaXplOiAxLjVyZW07IH1cbiIsIkBpbXBvcnQgJ2NvbmZpZy92YXJpYWJsZXMnO1xuQGltcG9ydCAndmVuZG9ycy9pbmNsdWRlLW1lZGlhJztcblxuXG4uY2hlY2tvdXQtY2FydC1pbmRleHtcbiAgICAjbWFpbmNvbnRlbnR7XG4gICAgICAgIGJhY2tncm91bmQ6ICRjb2xvcl9wYXBpbGFydF9iZztcbiAgICB9XG4gICAgLmNzLWNhcnQtaXRlbS5pdGVtLWluZm97XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvcl93aGl0ZTtcbiAgICB9XG4gICAgLmFjdGlvbi5jb250aW51ZSB7XG4gICAgICAgIGJvcmRlcjogc29saWQ7XG4gICAgICAgIHBhZGRpbmc6IDFyZW0gMnJlbTtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMjAwcHg7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogM3JlbTtcbiAgICB9XG4gICAgLmZpZWxkIHtcbiAgICAgICAgLmlucHV0LXRleHQge1xuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMjAwcHg7XG4gICAgICAgIH1cbiAgICAgICAgLmxhYmVse1xuICAgICAgICAgICAgLy8gcGFkZGluZzogMnJlbSAwIDFyZW0gMDtcbiAgICAgICAgICAgIHBhZGRpbmc6IDAgMCAxcmVtIDA7XG4gICAgICAgICAgICBmb250LXNpemU6IDEuNnJlbTtcbiAgICAgICAgfVxuICAgIH1cbiAgICAuY3MtY29udGFpbmVyX19jYXJ0LWNvdXBvbnN7XG4gICAgICAgIHBhZGRpbmc6IDRyZW0gMDtcbiAgICAgICAgLmNzLWRpc2NvdW50e1xuICAgICAgICAgICAgYm9yZGVyLXRvcDogc29saWQgMXB4ICRjb2xvcl9ncmF5O1xuICAgICAgICB9XG4gICAgICAgIC5jcy1kaXNjb3VudF9fdGl0bGUtdGV4dHtcbiAgICAgICAgICAgIGNvbG9yOiAkY29sb3JfbWluZXNoYWZ0O1xuICAgICAgICAgICAgZm9udC1zaXplOiAxLjVyZW07XG4gICAgICAgIH1cbiAgICB9XG59IiwiLyoqXG4gKiBCcmVha3BvaW50IGNvbXBvbmVudCB1c2VkIGJ5IGluY2x1ZGUtbWVkaWEgdmVuZG9yIGxpYnJhcnkuXG4gKi9cbkB1c2UgJ3Nhc3M6bWFwJztcbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuLyoqXG4gKiBCcmVha3BvaW50IGNvbXBvbmVudCB1c2VkIGJ5IGluY2x1ZGUtbWVkaWEgdmVuZG9yIGxpYnJhcnkuXG4gKi9cbkB1c2UgJ3Nhc3M6bWFwJztcbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuLnJlZGluZ28tY2F0ZWdvcmllcyB7XG4gIHBhZGRpbmctdG9wOiAycmVtO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IHdyYXA7IH1cbiAgLnJlZGluZ28tY2F0ZWdvcmllcyAuY2F0ZWdvcnkge1xuICAgIHBhZGRpbmc6IDAgMXJlbSAxcmVtIDFyZW07IH1cbiAgICAucmVkaW5nby1jYXRlZ29yaWVzIC5jYXRlZ29yeSAud3JhcHBlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDdweDtcbiAgICAgIHBhZGRpbmc6IDFyZW07XG4gICAgICBmb250LXNpemU6IDEuNXJlbTtcbiAgICAgIG1pbi1oZWlnaHQ6IDEwM3B4O1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgfVxuICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgICAgLnJlZGluZ28tY2F0ZWdvcmllcyAuY2F0ZWdvcnkgLndyYXBwZXIge1xuICAgICAgICAgIG1pbi1oZWlnaHQ6IDI4MHB4OyB9IH1cbiAgICAgIEBtZWRpYSAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAgIC5yZWRpbmdvLWNhdGVnb3JpZXMgLmNhdGVnb3J5IC53cmFwcGVyIHtcbiAgICAgICAgICBwYWRkaW5nOiAycmVtOyB9IH1cbiAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiA2NGVtKSB7XG4gICAgICAgIC5yZWRpbmdvLWNhdGVnb3JpZXMgLmNhdGVnb3J5IC53cmFwcGVyIC5zdWItY2F0ZWdvcnktd3JhcHBlciB7XG4gICAgICAgICAgZGlzcGxheTogbm9uZTsgfSB9XG4gICAgLnJlZGluZ28tY2F0ZWdvcmllcyAuY2F0ZWdvcnkgLmNhdGVnb3J5LWNvbnRlbnQge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IH1cbiAgICAgIC5yZWRpbmdvLWNhdGVnb3JpZXMgLmNhdGVnb3J5IC5jYXRlZ29yeS1jb250ZW50IGltZyB7XG4gICAgICAgIG1hcmdpbjogMCBhdXRvOyB9XG4gICAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiA0OGVtKSB7XG4gICAgICAgICAgLnJlZGluZ28tY2F0ZWdvcmllcyAuY2F0ZWdvcnkgLmNhdGVnb3J5LWNvbnRlbnQgaW1nIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7IH0gfVxuICAgICAgLnJlZGluZ28tY2F0ZWdvcmllcyAuY2F0ZWdvcnkgLmNhdGVnb3J5LWNvbnRlbnQgLmNhdGVnb3J5LW5hbWUge1xuICAgICAgICBmb250LXNpemU6IDEuN3JlbTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgICAgbWFyZ2luOiAwLjVyZW0gMXJlbTtcbiAgICAgICAgY29sb3I6ICM0NTVhNjQ7IH1cbiAgICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgICAgICAucmVkaW5nby1jYXRlZ29yaWVzIC5jYXRlZ29yeSAuY2F0ZWdvcnktY29udGVudCAuY2F0ZWdvcnktbmFtZSB7XG4gICAgICAgICAgICBtYXJnaW46IDAuNXJlbSAycmVtOyB9IH1cbiAgICAucmVkaW5nby1jYXRlZ29yaWVzIC5jYXRlZ29yeSAuc3ViLWNhdGVnb3J5LXdyYXBwZXIgdWwge1xuICAgICAgbWFyZ2luOiAwcHg7XG4gICAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgICAgcGFkZGluZzogMHB4O1xuICAgICAgcGFkZGluZzogMC41cmVtIDJyZW07IH1cbiAgICAgIC5yZWRpbmdvLWNhdGVnb3JpZXMgLmNhdGVnb3J5IC5zdWItY2F0ZWdvcnktd3JhcHBlciB1bCBsaSB7XG4gICAgICAgIG1hcmdpbjogMHB4O1xuICAgICAgICBwYWRkaW5nOiAwLjJyZW0gMDsgfVxuICAgICAgICAucmVkaW5nby1jYXRlZ29yaWVzIC5jYXRlZ29yeSAuc3ViLWNhdGVnb3J5LXdyYXBwZXIgdWwgbGkgYSB7XG4gICAgICAgICAgY29sb3I6ICM0NTVhNjQ7IH1cbiAgICAucmVkaW5nby1jYXRlZ29yaWVzIC5jYXRlZ29yeSAuYWxsLWNhdGVnb3JpZXMge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIHBhZGRpbmc6IDAuNXJlbSAycmVtO1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICBjb2xvcjogIzQ1NWE2NDsgfVxuICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IDY0ZW0pIHtcbiAgICAgICAgLnJlZGluZ28tY2F0ZWdvcmllcyAuY2F0ZWdvcnkgLmFsbC1jYXRlZ29yaWVzIHtcbiAgICAgICAgICBkaXNwbGF5OiBub25lOyB9IH1cbiAgICAgIC5yZWRpbmdvLWNhdGVnb3JpZXMgLmNhdGVnb3J5IC5hbGwtY2F0ZWdvcmllczo6YWZ0ZXIge1xuICAgICAgICBjb250ZW50OiAnXFwyNzZGJztcbiAgICAgICAgcGFkZGluZy1sZWZ0OiA3cHg7IH1cbiIsIkBpbXBvcnQgJ2NvbmZpZy92YXJpYWJsZXMnO1xuQGltcG9ydCAndmVuZG9ycy9pbmNsdWRlLW1lZGlhJztcblxuLnJlZGluZ28tY2F0ZWdvcmllcyB7XG4gICAgcGFkZGluZy10b3A6IDJyZW07XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgLmNhdGVnb3J5IHtcbiAgICAgICAgcGFkZGluZzogMCAxcmVtIDFyZW0gMXJlbTtcbiAgICAgICAgXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PWxhcHRvcCcpIHtcbiAgICAgICAgICAgIC8vIG1pbi1oZWlnaHQ6IDU1MHB4O1xuICAgICAgICB9XG5cbiAgICAgICAgLndyYXBwZXIge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJhZGl1c19iYXNlO1xuICAgICAgICAgICAgcGFkZGluZzogMXJlbTtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMS41cmVtO1xuICAgICAgICAgICAgbWluLWhlaWdodDogMTAzcHg7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz49dGFibGV0Jykge1xuICAgICAgICAgICAgICAgIC8vIG1pbi1oZWlnaHQ6IDIzNXB4O1xuICAgICAgICAgICAgICAgIG1pbi1oZWlnaHQ6IDI4MHB4O1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz49bGFwdG9wJykge1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDJyZW07XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5zdWItY2F0ZWdvcnktd3JhcHBlcntcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPD1sYXB0b3AnKSB7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLmNhdGVnb3J5LWNvbnRlbnQge1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cbiAgICAgICAgICAgIGltZ3tcbiAgICAgICAgICAgICAgICBtYXJnaW46IDAgYXV0bztcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPD10YWJsZXQnKSB7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuY2F0ZWdvcnktbmFtZSB7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAxLjdyZW07XG4gICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgICAgICAgICAgICBtYXJnaW46IDAuNXJlbSAxcmVtO1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkY29sb3JfcGFwaWxhcnRfZ3JheWdyZWVuO1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PWxhcHRvcCcpIHtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiAwLjVyZW0gMnJlbTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuc3ViLWNhdGVnb3J5LXdyYXBwZXIge1xuXG4gICAgICAgICAgICB1bCB7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwcHg7XG4gICAgICAgICAgICAgICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAwcHg7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogMC41cmVtIDJyZW07XG5cbiAgICAgICAgICAgICAgICBsaSB7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbjogMHB4O1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAwLjJyZW0gMDtcblxuICAgICAgICAgICAgICAgICAgICBhe1xuICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRjb2xvcl9wYXBpbGFydF9ncmF5Z3JlZW47XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuYWxsLWNhdGVnb3JpZXMge1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIHBhZGRpbmc6IDAuNXJlbSAycmVtO1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICAgICAgICBjb2xvcjogJGNvbG9yX3BhcGlsYXJ0X2dyYXlncmVlbjtcblxuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJzw9bGFwdG9wJykge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICY6OmFmdGVye1xuICAgICAgICAgICAgICAgIGNvbnRlbnQ6ICdcXDI3NkYnO1xuICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogN3B4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufSIsIi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG5AdXNlICdzYXNzOm1hcCc7XG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG4vKipcbiogRGVmYXVsdCBwcm9qZWN0IGJyZWFrcG9pbnRzIC0gW2VtXVxuKi9cbi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG5AdXNlICdzYXNzOm1hcCc7XG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG4vKipcbiogRGVmYXVsdCBwcm9qZWN0IGJyZWFrcG9pbnRzIC0gW2VtXVxuKi9cbi5zZWN0aW9uLXdyYXBwZXItYWJvdXQtdXMge1xuICBiYWNrZ3JvdW5kOiAjZmZmO1xuICBwYWRkaW5nLWJvdHRvbTogNHJlbTtcbiAgbWFyZ2luLWJvdHRvbTogNHJlbTtcbiAgYm9yZGVyLXJhZGl1czogN3B4OyB9XG4gIC5zZWN0aW9uLXdyYXBwZXItYWJvdXQtdXMgdWwge1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgcGFkZGluZy1sZWZ0OiAwOyB9XG4gICAgLnNlY3Rpb24td3JhcHBlci1hYm91dC11cyB1bCBsaSB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDJyZW07IH1cbiAgICAgIC5zZWN0aW9uLXdyYXBwZXItYWJvdXQtdXMgdWwgbGk6OmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICB3aWR0aDogOHB4O1xuICAgICAgICBoZWlnaHQ6IDhweDtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBvcmFuZ2U7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDlweDtcbiAgICAgICAgbGVmdDogMDsgfVxuICAuc2VjdGlvbi13cmFwcGVyLWFib3V0LXVzIGltZyB7XG4gICAgYm9yZGVyLXJhZGl1czogN3B4OyB9XG4gIC5zZWN0aW9uLXdyYXBwZXItYWJvdXQtdXMgLnBhZ2UtdGl0bGUge1xuICAgIGZvbnQtc2l6ZTogNHJlbTtcbiAgICBjb2xvcjogI2ZmZjtcbiAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgcGFkZGluZy1ib3R0b206IDA7IH1cbiAgLnNlY3Rpb24td3JhcHBlci1hYm91dC11cyAucGFnZS1zdWJ0aXRsZSB7XG4gICAgZm9udC1zaXplOiAzcmVtOyB9XG4gIC5zZWN0aW9uLXdyYXBwZXItYWJvdXQtdXMgLmJ0biB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzdlNTdjMjtcbiAgICBib3JkZXItcmFkaXVzOiA1MHB4O1xuICAgIHBhZGRpbmc6IDFyZW0gMi41cmVtO1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIGZvbnQtc2l6ZTogMS44cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgbGV0dGVyLXNwYWNpbmc6IDFweDsgfVxuICAgIC5zZWN0aW9uLXdyYXBwZXItYWJvdXQtdXMgLmJ0bjpob3ZlciB7XG4gICAgICBjb2xvcjogI2ZmZjtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICM0ZDJjOTE7IH1cbiAgLnNlY3Rpb24td3JhcHBlci1hYm91dC11cyAuY29udGVudCB7XG4gICAgcGFkZGluZzogMS41cmVtOyB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgIC5zZWN0aW9uLXdyYXBwZXItYWJvdXQtdXMgLmNvbnRlbnQge1xuICAgICAgICBwYWRkaW5nOiAycmVtIDZyZW07IH0gfVxuICAuc2VjdGlvbi13cmFwcGVyLWFib3V0LXVzIC5zZWN0aW9uLXdyYXBwZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOyB9XG4gICAgLnNlY3Rpb24td3JhcHBlci1hYm91dC11cyAuc2VjdGlvbi13cmFwcGVyIC5pdGVtLWNvbCB7XG4gICAgICBwYWRkaW5nOiAxLjVyZW0gMDtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IH1cbiAgICAgIEBtZWRpYSAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAgIC5zZWN0aW9uLXdyYXBwZXItYWJvdXQtdXMgLnNlY3Rpb24td3JhcHBlciAuaXRlbS1jb2wge1xuICAgICAgICAgIHBhZGRpbmc6IDEuNXJlbTsgfSB9XG4gICAgICBAbWVkaWEgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgICAuc2VjdGlvbi13cmFwcGVyLWFib3V0LXVzIC5zZWN0aW9uLXdyYXBwZXIgLml0ZW0tY29sIHtcbiAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kOyB9IH1cbiAgLnNlY3Rpb24td3JhcHBlci1hYm91dC11cyAuc2VjdGlvbi1yb3ctb2ZmZXIgLml0ZW0tY29sIHtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHN0YXJ0OyB9XG4gIC5zZWN0aW9uLXdyYXBwZXItYWJvdXQtdXMgLmJveC13aXRoLWJnLWltZyB7XG4gICAgbWluLWhlaWdodDogMzAwcHg7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgcGFkZGluZzogMnJlbTtcbiAgICBtYXJnaW46IDJyZW0gYXV0bztcbiAgICBjb2xvcjogI2ZmZjtcbiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQocmdiYSgxMjYsIDg3LCAxOTQsIDAuNCksIHJnYmEoMTI2LCA4NywgMTk0LCAwLjQpKSwgdXJsKFwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbWVkaWEvd3lzaXd5Zy9vX25hcy9vLW5hcy5qcGdcIik7XG4gICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4gICAgYm9yZGVyLXJhZGl1czogN3B4OyB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgIC5zZWN0aW9uLXdyYXBwZXItYWJvdXQtdXMgLmJveC13aXRoLWJnLWltZyB7XG4gICAgICAgIG1pbi1oZWlnaHQ6IDgwMHB4OyB9IH1cbiAgICAuc2VjdGlvbi13cmFwcGVyLWFib3V0LXVzIC5ib3gtd2l0aC1iZy1pbWcgLnRpdGxlIHtcbiAgICAgIGZvbnQtc2l6ZTogM3JlbTtcbiAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgICAgLnNlY3Rpb24td3JhcHBlci1hYm91dC11cyAuYm94LXdpdGgtYmctaW1nIC50aXRsZSB7XG4gICAgICAgICAgZm9udC1zaXplOiA3cmVtOyB9IH1cbiAgICAuc2VjdGlvbi13cmFwcGVyLWFib3V0LXVzIC5ib3gtd2l0aC1iZy1pbWcgLnN1YnRpdGxlIHtcbiAgICAgIGZvbnQtc2l6ZTogMnJlbTtcbiAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDsgfVxuICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgICAgLnNlY3Rpb24td3JhcHBlci1hYm91dC11cyAuYm94LXdpdGgtYmctaW1nIC5zdWJ0aXRsZSB7XG4gICAgICAgICAgZm9udC1zaXplOiA0cmVtOyB9IH1cbiAgLnNlY3Rpb24td3JhcHBlci1hYm91dC11cyAuYm94LWVjb2xvZ2ljYWwtcGFja2FnaW5nIHtcbiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQocmdiYSgxMjYsIDg3LCAxOTQsIDAuNCksIHJnYmEoMTI2LCA4NywgMTk0LCAwLjQpKSwgdXJsKFwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbWVkaWEvd3lzaXd5Zy9vX25hcy9vLW5hczIuanBnXCIpO1xuICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyOyB9XG4iLCJcbkBpbXBvcnQgJ2NvbmZpZy92YXJpYWJsZXMnO1xuQGltcG9ydCAndmVuZG9ycy9pbmNsdWRlLW1lZGlhJztcblxuXG5AbWl4aW4gYnRuLWFib3V0LXVze1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvcl9wYXBpbGFydF9wdXJwbGU7XG4gICAgYm9yZGVyLXJhZGl1czogNTBweDtcbiAgICBwYWRkaW5nOiAxcmVtIDIuNXJlbTtcbiAgICBjb2xvcjogJGNvbG9yX3doaXRlO1xuICAgIGZvbnQtc2l6ZTogMS44cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgbGV0dGVyLXNwYWNpbmc6IDFweDtcbiAgICAmOmhvdmVye1xuICAgICAgICBjb2xvcjogJGNvbG9yX3doaXRlO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNGQyYzkxO1xuICAgIH1cbn1cblxuLnNlY3Rpb24td3JhcHBlci1hYm91dC11c3tcbiAgICBiYWNrZ3JvdW5kOiAjZmZmO1xuICAgIHBhZGRpbmctYm90dG9tOiA0cmVtO1xuICAgIG1hcmdpbi1ib3R0b206IDRyZW07XG4gICAgYm9yZGVyLXJhZGl1czogN3B4O1xuICAgIHVse1xuICAgICAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgICAgIGxpe1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAycmVtO1xuICAgICAgICAgICAgJjo6YmVmb3Jle1xuICAgICAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgICAgICAgIHdpZHRoOiA4cHg7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiA4cHg7XG4gICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IG9yYW5nZTtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgIHRvcDogOXB4O1xuICAgICAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG4gICAgaW1ne1xuICAgICAgICBib3JkZXItcmFkaXVzOiA3cHg7XG4gICAgfVxuICAgIC5wYWdlLXRpdGxle1xuICAgICAgICBmb250LXNpemU6IDRyZW07XG4gICAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgICB9XG5cbiAgICAucGFnZS1zdWJ0aXRsZXtcbiAgICAgICAgZm9udC1zaXplOiAzcmVtO1xuICAgIH1cblxuICAgIC5idG57XG4gICAgICAgIEBpbmNsdWRlIGJ0bi1hYm91dC11cztcbiAgICB9XG4gICAgLmNvbnRlbnR7XG4gICAgICAgIHBhZGRpbmc6IDEuNXJlbTtcbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz49bGFwdG9wJykge1xuICAgICAgICAgICAgcGFkZGluZzogMnJlbSA2cmVtO1xuICAgICAgICB9XG4gICAgfVxuICAgIC5zZWN0aW9uLXdyYXBwZXJ7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgIC5pdGVtLWNvbHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDEuNXJlbSAwO1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PXRhYmxldCcpIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAxLjVyZW07XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPj1sYXB0b3AnKSB7XG4gICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBcbiAgICB9XG4gICAgLnNlY3Rpb24tcm93LW9mZmVye1xuICAgICAgICAuaXRlbS1jb2x7XG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHN0YXJ0O1xuICAgICAgICB9XG4gICAgfVxuICAgIFxuICAgIC5ib3gtd2l0aC1iZy1pbWd7XG4gICAgICAgIG1pbi1oZWlnaHQ6IDMwMHB4O1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgcGFkZGluZzogMnJlbTtcbiAgICAgICAgbWFyZ2luOiAycmVtIGF1dG87XG4gICAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQocmdiYSgxMjYsIDg3LCAxOTQsIDAuNCksIHJnYmEoMTI2LCA4NywgMTk0LCAwLjQpKSwgdXJsKCcuLi8uLi8uLi8uLi8uLi8uLi8uLi9tZWRpYS93eXNpd3lnL29fbmFzL28tbmFzLmpwZycpO1xuICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDdweDtcbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz49dGFibGV0Jykge1xuICAgICAgICAgICAgbWluLWhlaWdodDogODAwcHg7XG4gICAgICAgIH1cblxuICAgICAgICAudGl0bGV7XG4gICAgICAgICAgICBmb250LXNpemU6IDNyZW07XG4gICAgICAgICAgICBjb2xvcjogI2ZmZjtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPj10YWJsZXQnKSB7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiA3cmVtO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLnN1YnRpdGxle1xuICAgICAgICAgICAgZm9udC1zaXplOiAycmVtO1xuICAgICAgICAgICAgY29sb3I6ICNmZmY7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICBmb250LXdlaWdodDogbm9ybWFsO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPj10YWJsZXQnKSB7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiA0cmVtO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuICAgIC5ib3gtZWNvbG9naWNhbC1wYWNrYWdpbmd7XG4gICAgICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudChyZ2JhKDEyNiwgODcsIDE5NCwgMC40KSwgcmdiYSgxMjYsIDg3LCAxOTQsIDAuNCkpLCB1cmwoJy4uLy4uLy4uLy4uLy4uLy4uLy4uL21lZGlhL3d5c2l3eWcvb19uYXMvby1uYXMyLmpwZycpO1xuICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4gICAgfVxuICAgIFxufSIsIi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG5AdXNlICdzYXNzOm1hcCc7XG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG4vKipcbiogRGVmYXVsdCBwcm9qZWN0IGJyZWFrcG9pbnRzIC0gW2VtXVxuKi9cbi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG5AdXNlICdzYXNzOm1hcCc7XG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG4vKipcbiogRGVmYXVsdCBwcm9qZWN0IGJyZWFrcG9pbnRzIC0gW2VtXVxuKi9cbi5iMmMtYjJiX2JveCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBib3JkZXI6IHNvbGlkIDFweCAjZGRkO1xuICBiYWNrZ3JvdW5kOiAjZmZmO1xuICBwYWRkaW5nOiAwLjVyZW07XG4gIGJvcmRlci1yYWRpdXM6IDIwMHB4O1xuICBsaW5lLWhlaWdodDogMTtcbiAgbWluLWhlaWdodDogMzBweDsgfVxuICAuYjJjLWIyYl9ib3ggLmIyYy1iMmJfaXRlbSB7XG4gICAgcGFkZGluZzogMC4ycmVtIDJyZW07XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBib3JkZXItcmFkaXVzOiAyMDBweDtcbiAgICBmb250LXdlaWdodDogYm9sZDsgfVxuICAuYjJjLWIyYl9ib3ggLmIyY19ib3gge1xuICAgIGJhY2tncm91bmQ6ICMxN2M4YzA7XG4gICAgY29sb3I6ICNmZmY7IH1cbiAgLmIyYy1iMmJfYm94IC5iMmJfYm94IGEge1xuICAgIGNvbG9yOiAjNDU1YTY0OyB9XG4gICAgLmIyYy1iMmJfYm94IC5iMmJfYm94IGE6aG92ZXIge1xuICAgICAgY29sb3I6ICMxN2M4YzA7IH1cbiIsIkBpbXBvcnQgJ2NvbmZpZy92YXJpYWJsZXMnO1xuQGltcG9ydCAndmVuZG9ycy9pbmNsdWRlLW1lZGlhJztcblxuLmIyYy1iMmJfYm94e1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBib3JkZXI6IHNvbGlkIDFweCAjZGRkO1xuICAgIGJhY2tncm91bmQ6ICRjb2xvcl93aGl0ZTtcbiAgICBwYWRkaW5nOiAwLjVyZW07XG4gICAgYm9yZGVyLXJhZGl1czogMjAwcHg7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgbWluLWhlaWdodDogMzBweDtcblxuICAgIC5iMmMtYjJiX2l0ZW17XG4gICAgICAgIHBhZGRpbmc6IDAuMnJlbSAycmVtO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBib3JkZXItcmFkaXVzOiAyMDBweDtcbiAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgfVxuICAgIC5iMmNfYm94e1xuICAgICAgICBiYWNrZ3JvdW5kOiAkY29sb3Jfc2Vjb25kYXJ5LTIwMDtcbiAgICAgICAgY29sb3I6ICRjb2xvcl90ZXh0LTIwMDtcbiAgICB9XG4gICAgLmIyYl9ib3h7XG4gICAgICAgIGF7XG4gICAgICAgICAgICBjb2xvcjogJGNvbG9yX3RleHQtODAwO1xuICAgICAgICAgICAgJjpob3ZlcntcbiAgICAgICAgICAgICAgICBjb2xvcjogJGNvbG9yX3NlY29uZGFyeS0yMDA7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59IiwiLyoqXG4gKiBCcmVha3BvaW50IGNvbXBvbmVudCB1c2VkIGJ5IGluY2x1ZGUtbWVkaWEgdmVuZG9yIGxpYnJhcnkuXG4gKi9cbkB1c2UgJ3Nhc3M6bWFwJztcbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuLyoqXG4gKiBCcmVha3BvaW50IGNvbXBvbmVudCB1c2VkIGJ5IGluY2x1ZGUtbWVkaWEgdmVuZG9yIGxpYnJhcnkuXG4gKi9cbkB1c2UgJ3Nhc3M6bWFwJztcbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuLnBhcnRuZXJzLXNsaWRlci1zbGljayAuc2xpY2stdHJhY2sge1xuICBkaXNwbGF5OiBmbGV4OyB9XG5cbi5wYXJ0bmVycy1ib3gge1xuICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuICAucGFydG5lcnMtYm94IGgyIHtcbiAgICBwYWRkaW5nLXRvcDogMnJlbTsgfVxuICAucGFydG5lcnMtYm94IGltZyB7XG4gICAgYm9yZGVyLXJhZGl1czogN3B4O1xuICAgIHBhZGRpbmctcmlnaHQ6IDAuNXJlbTtcbiAgICB3aWR0aDogOTclOyB9XG4gIC5wYXJ0bmVycy1ib3ggLnNsaWNrLXNsaWRlciAuc2xpY2stZG90cyB7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIHBhZGRpbmc6IDFyZW0gMCAwIDA7XG4gICAgbWFyZ2luOiAwOyB9XG4gICAgLnBhcnRuZXJzLWJveCAuc2xpY2stc2xpZGVyIC5zbGljay1kb3RzIGxpIHtcbiAgICAgIHdpZHRoOiAyMHB4O1xuICAgICAgbWFyZ2luLXJpZ2h0OiA1cHg7IH1cbiAgICAgIEBtZWRpYSAobWluLXdpZHRoOiAzMGVtKSB7XG4gICAgICAgIC5wYXJ0bmVycy1ib3ggLnNsaWNrLXNsaWRlciAuc2xpY2stZG90cyBsaSB7XG4gICAgICAgICAgd2lkdGg6IDQwcHg7IH0gfVxuICAgICAgLnBhcnRuZXJzLWJveCAuc2xpY2stc2xpZGVyIC5zbGljay1kb3RzIGxpIGJ1dHRvbiB7XG4gICAgICAgIHdpZHRoOiAyMHB4O1xuICAgICAgICBoZWlnaHQ6IDVweDtcbiAgICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgICBib3JkZXItcmFkaXVzOiAyMDBweDtcbiAgICAgICAgYmFja2dyb3VuZDogIzdlNTdjMjtcbiAgICAgICAgY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7IH1cbiAgICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDMwZW0pIHtcbiAgICAgICAgICAucGFydG5lcnMtYm94IC5zbGljay1zbGlkZXIgLnNsaWNrLWRvdHMgbGkgYnV0dG9uIHtcbiAgICAgICAgICAgIHdpZHRoOiA0MHB4OyB9IH1cbiAgICAgICAgLnBhcnRuZXJzLWJveCAuc2xpY2stc2xpZGVyIC5zbGljay1kb3RzIGxpIGJ1dHRvbjo6YmVmb3JlIHtcbiAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICBiYWNrZ3JvdW5kOiAjN2U1N2MyO1xuICAgICAgICAgIHdpZHRoOiAyMHB4O1xuICAgICAgICAgIGhlaWdodDogNHB4O1xuICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDIwMHB4O1xuICAgICAgICAgIG9wYWNpdHk6IDE7IH1cbiAgICAgICAgICBAbWVkaWEgKG1pbi13aWR0aDogMzBlbSkge1xuICAgICAgICAgICAgLnBhcnRuZXJzLWJveCAuc2xpY2stc2xpZGVyIC5zbGljay1kb3RzIGxpIGJ1dHRvbjo6YmVmb3JlIHtcbiAgICAgICAgICAgICAgd2lkdGg6IDQwcHg7IH0gfVxuICAgIC5wYXJ0bmVycy1ib3ggLnNsaWNrLXNsaWRlciAuc2xpY2stZG90cyAuc2xpY2stYWN0aXZlIGJ1dHRvbiB7XG4gICAgICBiYWNrZ3JvdW5kOiAjMTdjOGMwO1xuICAgICAgb3BhY2l0eTogMTsgfVxuICAgICAgLnBhcnRuZXJzLWJveCAuc2xpY2stc2xpZGVyIC5zbGljay1kb3RzIC5zbGljay1hY3RpdmUgYnV0dG9uOjpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgYmFja2dyb3VuZDogIzE3YzhjMDtcbiAgICAgICAgb3BhY2l0eTogMTsgfVxuIiwiQGltcG9ydCAndmVuZG9ycy9pbmNsdWRlLW1lZGlhJztcbkBpbXBvcnQgJ2NvbmZpZy92YXJpYWJsZXMnO1xuXG4ucGFydG5lcnMtc2xpZGVyLXNsaWNrIC5zbGljay10cmFja3tcbiAgICBkaXNwbGF5OiBmbGV4O1xufVxuLnBhcnRuZXJzLWJveHtcbiAgICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIGgye1xuICAgICAgICBwYWRkaW5nLXRvcDogMnJlbTtcbiAgICB9XG4gICAgaW1ne1xuICAgICAgICBib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJhZGl1c19iYXNlO1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwLjVyZW07XG4gICAgICAgIHdpZHRoOiA5NyU7XG4gICAgfVxuXG4gICAgLnNsaWNrLXNsaWRlcntcbiAgICAgICAgLnNsaWNrLWRvdHN7XG4gICAgICAgICAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICAgICAgcGFkZGluZzogMXJlbSAwIDAgMDtcbiAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgIGxpe1xuICAgICAgICAgICAgICAgIHdpZHRoOiAyMHB4O1xuICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogNXB4O1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PXBob25lTGcnKSB7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiA0MHB4O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBidXR0b257XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAyMHB4O1xuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDVweDtcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiAyMDBweDtcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDogJGNvbG9yX3ByaW1hcnktNTAwO1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcblxuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPj1waG9uZUxnJykge1xuICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDQwcHg7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgJjo6YmVmb3Jle1xuICAgICAgICAgICAgICAgICAgICAgICAgY29udGVudDonJztcbiAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICRjb2xvcl9wcmltYXJ5LTUwMDtcbiAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiAyMHB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiA0cHg7XG4gICAgICAgICAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiAyMDBweDtcbiAgICAgICAgICAgICAgICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPj1waG9uZUxnJykge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiA0MHB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLnNsaWNrLWFjdGl2ZXtcbiAgICAgICAgICAgICAgICBidXR0b257XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICRjb2xvcl9zZWNvbmRhcnktMjAwO1xuICAgICAgICAgICAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICAgICAgICAgICAgICAmOjpiZWZvcmV7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb250ZW50OicnO1xuICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDogJGNvbG9yX3NlY29uZGFyeS0yMDA7XG4gICAgICAgICAgICAgICAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9IFxuICAgIH1cbiAgICBcbn0iLCIvKipcbiAqIEJyZWFrcG9pbnQgY29tcG9uZW50IHVzZWQgYnkgaW5jbHVkZS1tZWRpYSB2ZW5kb3IgbGlicmFyeS5cbiAqL1xuQHVzZSAnc2FzczptYXAnO1xuLyoqXG4gKiBFeHRyYWN0cyBuZXN0ZWQga2V5cyBmcm9tIGdpdmVuIG1hcC5cbiAqIEV4YW1wbGU6IGRlZXAtZ2V0KCRzb21lLW1hcCwgc29tZSwgbmVzdGVkLCBrZXlzKTtcbiAqL1xuLyoqXG4qIERlZmF1bHQgcHJvamVjdCBicmVha3BvaW50cyAtIFtlbV1cbiovXG4vKipcbiAqIEJyZWFrcG9pbnQgY29tcG9uZW50IHVzZWQgYnkgaW5jbHVkZS1tZWRpYSB2ZW5kb3IgbGlicmFyeS5cbiAqL1xuQHVzZSAnc2FzczptYXAnO1xuLyoqXG4gKiBFeHRyYWN0cyBuZXN0ZWQga2V5cyBmcm9tIGdpdmVuIG1hcC5cbiAqIEV4YW1wbGU6IGRlZXAtZ2V0KCRzb21lLW1hcCwgc29tZSwgbmVzdGVkLCBrZXlzKTtcbiAqL1xuLyoqXG4qIERlZmF1bHQgcHJvamVjdCBicmVha3BvaW50cyAtIFtlbV1cbiovXG4uY21zLXN0cmVmYS1kbGEtZmlybSAuY29sdW1uOm5vdCguc2lkZWJhci1tYWluKSAuZm9ybS5jb250YWN0LFxuLmNtcy1rb253ZXJzamEtYjJiIC5jb2x1bW46bm90KC5zaWRlYmFyLW1haW4pIC5mb3JtLmNvbnRhY3Qge1xuICBmbG9hdDogbm9uZTtcbiAgd2lkdGg6IDEwMCU7IH1cblxuLmNtcy1zdHJlZmEtZGxhLWZpcm0gLmNvbHVtbjpub3QoLnNpZGViYXItYWRkaXRpb25hbCkgLmZvcm0uY29udGFjdCxcbi5jbXMta29ud2Vyc2phLWIyYiAuY29sdW1uOm5vdCguc2lkZWJhci1hZGRpdGlvbmFsKSAuZm9ybS5jb250YWN0IHtcbiAgZmxvYXQ6IG5vbmU7XG4gIHdpZHRoOiAxMDAlO1xuICBjbGVhcjogYm90aDtcbiAgcGFkZGluZzogNHJlbSAycmVtO1xuICBib3JkZXItcmFkaXVzOiA3cHg7XG4gIGJhY2tncm91bmQ6ICNmZmY7IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAuY21zLXN0cmVmYS1kbGEtZmlybSAuY29sdW1uOm5vdCguc2lkZWJhci1hZGRpdGlvbmFsKSAuZm9ybS5jb250YWN0LFxuICAgIC5jbXMta29ud2Vyc2phLWIyYiAuY29sdW1uOm5vdCguc2lkZWJhci1hZGRpdGlvbmFsKSAuZm9ybS5jb250YWN0IHtcbiAgICAgIG1pbi13aWR0aDogNjByZW07IH0gfVxuXG4uY21zLXN0cmVmYS1kbGEtZmlybSAuY3MtZGFzaGJvYXJkIC5maWVsZHNldCxcbi5jbXMta29ud2Vyc2phLWIyYiAuY3MtZGFzaGJvYXJkIC5maWVsZHNldCB7XG4gIG1heC13aWR0aDogMTAwJSAhaW1wb3J0YW50OyB9XG5cbi5jbXMtc3RyZWZhLWRsYS1maXJtIC5jcy1kYXNoYm9hcmQgLmxlZ2VuZCxcbi5jbXMta29ud2Vyc2phLWIyYiAuY3MtZGFzaGJvYXJkIC5sZWdlbmQge1xuICBwYWRkaW5nOiAwO1xuICBtYXJnaW46IDA7IH1cbiAgLmNtcy1zdHJlZmEtZGxhLWZpcm0gLmNzLWRhc2hib2FyZCAubGVnZW5kIGgyLFxuICAuY21zLWtvbndlcnNqYS1iMmIgLmNzLWRhc2hib2FyZCAubGVnZW5kIGgyIHtcbiAgICBwYWRkaW5nOiAwO1xuICAgIG1hcmdpbjogMDsgfVxuXG4uY21zLXN0cmVmYS1kbGEtZmlybSAjbWFpbmNvbnRlbnQsXG4uY21zLWtvbndlcnNqYS1iMmIgI21haW5jb250ZW50IHtcbiAgYmFja2dyb3VuZDogI2VkZWZmMTsgfVxuXG4uY21zLXN0cmVmYS1kbGEtZmlybSAuc2VjdGlvbi13cmFwcGVyLFxuLmNtcy1rb253ZXJzamEtYjJiIC5zZWN0aW9uLXdyYXBwZXIge1xuICBwYWRkaW5nOiAzcmVtIDA7XG4gIG1hcmdpbi1sZWZ0OiAtMXJlbTtcbiAgbWFyZ2luLXJpZ2h0OiAtMXJlbTsgfVxuICAuY21zLXN0cmVmYS1kbGEtZmlybSAuc2VjdGlvbi13cmFwcGVyIC5jb250YWN0LWJveCxcbiAgLmNtcy1rb253ZXJzamEtYjJiIC5zZWN0aW9uLXdyYXBwZXIgLmNvbnRhY3QtYm94IHtcbiAgICBiYWNrZ3JvdW5kOiAjZmZmO1xuICAgIHBhZGRpbmc6IDJyZW07XG4gICAgYm9yZGVyLXJhZGl1czogN3B4O1xuICAgIG1hcmdpbjogMXJlbTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgIG1pbi13aWR0aDogMjUwcHg7IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgLmNtcy1zdHJlZmEtZGxhLWZpcm0gLnNlY3Rpb24td3JhcHBlciAuY29udGFjdC1ib3gsXG4gICAgICAuY21zLWtvbndlcnNqYS1iMmIgLnNlY3Rpb24td3JhcHBlciAuY29udGFjdC1ib3gge1xuICAgICAgICBtaW4taGVpZ2h0OiAzNDdweDsgfSB9XG4gICAgLmNtcy1zdHJlZmEtZGxhLWZpcm0gLnNlY3Rpb24td3JhcHBlciAuY29udGFjdC1ib3ggLmNvbnRhY3QtYnRuLFxuICAgIC5jbXMta29ud2Vyc2phLWIyYiAuc2VjdGlvbi13cmFwcGVyIC5jb250YWN0LWJveCAuY29udGFjdC1idG4ge1xuICAgICAgYm9yZGVyOiBzb2xpZCAycHg7XG4gICAgICBib3JkZXItcmFkaXVzOiA2MHB4O1xuICAgICAgcGFkZGluZzogMC41cmVtIDFyZW0gMC41cmVtIDMuNXJlbTtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIG1hcmdpbjogMC41cmVtIDAuNXJlbSAwLjVyZW0gMDtcbiAgICAgIG1pbi13aWR0aDogMjAwcHg7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgICAgIC5jbXMtc3RyZWZhLWRsYS1maXJtIC5zZWN0aW9uLXdyYXBwZXIgLmNvbnRhY3QtYm94IC5jb250YWN0LWJ0bjo6YmVmb3JlLFxuICAgICAgLmNtcy1rb253ZXJzamEtYjJiIC5zZWN0aW9uLXdyYXBwZXIgLmNvbnRhY3QtYm94IC5jb250YWN0LWJ0bjo6YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogdXJsKFwiLi4vaW1hZ2VzL2ljb25zL3RlbGVwaG9uZS1wdXJwbGUuc3ZnXCIpO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGxlZnQ6IDEuNXJlbTtcbiAgICAgICAgdG9wOiA1MyU7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDE7IH1cbiAgICAuY21zLXN0cmVmYS1kbGEtZmlybSAuc2VjdGlvbi13cmFwcGVyIC5jb250YWN0LWJveCAuY29udGFjdC1idG4tbWFpbDo6YmVmb3JlLFxuICAgIC5jbXMta29ud2Vyc2phLWIyYiAuc2VjdGlvbi13cmFwcGVyIC5jb250YWN0LWJveCAuY29udGFjdC1idG4tbWFpbDo6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6IHVybChcIi4uL2ltYWdlcy9pY29ucy9tYWlsLXB1cnBsZS5zdmdcIik7IH1cbiAgICAuY21zLXN0cmVmYS1kbGEtZmlybSAuc2VjdGlvbi13cmFwcGVyIC5jb250YWN0LWJveCAuY29udGFjdC1ib3gtaG91cnMsXG4gICAgLmNtcy1rb253ZXJzamEtYjJiIC5zZWN0aW9uLXdyYXBwZXIgLmNvbnRhY3QtYm94IC5jb250YWN0LWJveC1ob3VycyB7XG4gICAgICBwYWRkaW5nOiAxcmVtO1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgcGFkZGluZy1sZWZ0OiAyLjNyZW07XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgICAgIC5jbXMtc3RyZWZhLWRsYS1maXJtIC5zZWN0aW9uLXdyYXBwZXIgLmNvbnRhY3QtYm94IC5jb250YWN0LWJveC1ob3Vyczo6YmVmb3JlLFxuICAgICAgLmNtcy1rb253ZXJzamEtYjJiIC5zZWN0aW9uLXdyYXBwZXIgLmNvbnRhY3QtYm94IC5jb250YWN0LWJveC1ob3Vyczo6YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogdXJsKFwiLi4vaW1hZ2VzL2ljb25zL2Nsb2NrLXB1cnBsZS5zdmdcIik7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgdG9wOiA1MyU7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7IH1cbiAgLmNtcy1zdHJlZmEtZGxhLWZpcm0gLnNlY3Rpb24td3JhcHBlciAuY29udGFjdC1ib3gtcGVyc29uYWwtY29sbGVjdGlvbixcbiAgLmNtcy1rb253ZXJzamEtYjJiIC5zZWN0aW9uLXdyYXBwZXIgLmNvbnRhY3QtYm94LXBlcnNvbmFsLWNvbGxlY3Rpb24ge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBmb250LXNpemU6IDIuNXJlbTtcbiAgICBtaW4taGVpZ2h0OiBhdXRvO1xuICAgIHBhZGRpbmc6IDNyZW0gMnJlbTtcbiAgICBtYXJnaW4tdG9wOiAzcmVtO1xuICAgIGJvcmRlcjogc29saWQgMnB4ICNmYTcwMTM7IH1cbiAgICAuY21zLXN0cmVmYS1kbGEtZmlybSAuc2VjdGlvbi13cmFwcGVyIC5jb250YWN0LWJveC1wZXJzb25hbC1jb2xsZWN0aW9uIHAsXG4gICAgLmNtcy1rb253ZXJzamEtYjJiIC5zZWN0aW9uLXdyYXBwZXIgLmNvbnRhY3QtYm94LXBlcnNvbmFsLWNvbGxlY3Rpb24gcCB7XG4gICAgICBtYXJnaW46IDA7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgICAgIEBtZWRpYSAobWluLXdpZHRoOiAzMGVtKSB7XG4gICAgICAgIC5jbXMtc3RyZWZhLWRsYS1maXJtIC5zZWN0aW9uLXdyYXBwZXIgLmNvbnRhY3QtYm94LXBlcnNvbmFsLWNvbGxlY3Rpb24gcCxcbiAgICAgICAgLmNtcy1rb253ZXJzamEtYjJiIC5zZWN0aW9uLXdyYXBwZXIgLmNvbnRhY3QtYm94LXBlcnNvbmFsLWNvbGxlY3Rpb24gcCB7XG4gICAgICAgICAgcGFkZGluZy1sZWZ0OiA3cmVtOyB9XG4gICAgICAgICAgLmNtcy1zdHJlZmEtZGxhLWZpcm0gLnNlY3Rpb24td3JhcHBlciAuY29udGFjdC1ib3gtcGVyc29uYWwtY29sbGVjdGlvbiBwOjpiZWZvcmUsXG4gICAgICAgICAgLmNtcy1rb253ZXJzamEtYjJiIC5zZWN0aW9uLXdyYXBwZXIgLmNvbnRhY3QtYm94LXBlcnNvbmFsLWNvbGxlY3Rpb24gcDo6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6IHVybCguLi9pbWFnZXMvaWNvbnMvZXhjbGFtYXRpb24tdHJpYW5nbGUtb3JhbmdlLnN2Zyk7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgICAgICAgICAgIGxlZnQ6IDA7IH0gfVxuXG4uY21zLXN0cmVmYS1kbGEtZmlybSAuY29udGFjdC1yb3ctdGFiOSxcbi5jbXMta29ud2Vyc2phLWIyYiAuY29udGFjdC1yb3ctdGFiOSB7XG4gIG1hcmdpbi1yaWdodDogLTFyZW07XG4gIG1hcmdpbi1sZWZ0OiAtMXJlbTsgfVxuICAuY21zLXN0cmVmYS1kbGEtZmlybSAuY29udGFjdC1yb3ctdGFiOSAuc2VjdGlvbi10YWItdGl0bGUsXG4gIC5jbXMta29ud2Vyc2phLWIyYiAuY29udGFjdC1yb3ctdGFiOSAuc2VjdGlvbi10YWItdGl0bGUge1xuICAgIHBhZGRpbmc6IDAgMXJlbSAxcmVtIDFyZW07XG4gICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICAuY21zLXN0cmVmYS1kbGEtZmlybSAuY29udGFjdC1yb3ctdGFiOSAudGl0bGUtdGFicy1ib3gsXG4gIC5jbXMta29ud2Vyc2phLWIyYiAuY29udGFjdC1yb3ctdGFiOSAudGl0bGUtdGFicy1ib3gge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgcGFkZGluZzogMXJlbTtcbiAgICBmbGV4LXdyYXA6IHdyYXA7IH1cbiAgICAuY21zLXN0cmVmYS1kbGEtZmlybSAuY29udGFjdC1yb3ctdGFiOSAudGl0bGUtdGFicy1ib3ggLml0ZW0udGl0bGUsXG4gICAgLmNtcy1rb253ZXJzamEtYjJiIC5jb250YWN0LXJvdy10YWI5IC50aXRsZS10YWJzLWJveCAuaXRlbS50aXRsZSB7XG4gICAgICBwYWRkaW5nOiAxcmVtIDA7IH1cbiAgICAgIC5jbXMtc3RyZWZhLWRsYS1maXJtIC5jb250YWN0LXJvdy10YWI5IC50aXRsZS10YWJzLWJveCAuaXRlbS50aXRsZSAuc3dpdGNoLFxuICAgICAgLmNtcy1rb253ZXJzamEtYjJiIC5jb250YWN0LXJvdy10YWI5IC50aXRsZS10YWJzLWJveCAuaXRlbS50aXRsZSAuc3dpdGNoIHtcbiAgICAgICAgY29sb3I6ICM0NTVhNjQ7XG4gICAgICAgIHBhZGRpbmc6IDFyZW0gM3JlbTsgfVxuICAgIC5jbXMtc3RyZWZhLWRsYS1maXJtIC5jb250YWN0LXJvdy10YWI5IC50aXRsZS10YWJzLWJveCAuaXRlbS50aXRsZS5hY3RpdmUgPiAuc3dpdGNoLFxuICAgIC5jbXMtc3RyZWZhLWRsYS1maXJtIC5jb250YWN0LXJvdy10YWI5IC50aXRsZS10YWJzLWJveCAucHJvZHVjdC5kYXRhLml0ZW1zID4gLml0ZW0udGl0bGUuYWN0aXZlID4gLnN3aXRjaDpmb2N1cyxcbiAgICAuY21zLXN0cmVmYS1kbGEtZmlybSAuY29udGFjdC1yb3ctdGFiOSAudGl0bGUtdGFicy1ib3ggLnByb2R1Y3QuZGF0YS5pdGVtcyA+IC5pdGVtLnRpdGxlLmFjdGl2ZSA+IC5zd2l0Y2g6aG92ZXIsXG4gICAgLmNtcy1rb253ZXJzamEtYjJiIC5jb250YWN0LXJvdy10YWI5IC50aXRsZS10YWJzLWJveCAuaXRlbS50aXRsZS5hY3RpdmUgPiAuc3dpdGNoLFxuICAgIC5jbXMta29ud2Vyc2phLWIyYiAuY29udGFjdC1yb3ctdGFiOSAudGl0bGUtdGFicy1ib3ggLnByb2R1Y3QuZGF0YS5pdGVtcyA+IC5pdGVtLnRpdGxlLmFjdGl2ZSA+IC5zd2l0Y2g6Zm9jdXMsXG4gICAgLmNtcy1rb253ZXJzamEtYjJiIC5jb250YWN0LXJvdy10YWI5IC50aXRsZS10YWJzLWJveCAucHJvZHVjdC5kYXRhLml0ZW1zID4gLml0ZW0udGl0bGUuYWN0aXZlID4gLnN3aXRjaDpob3ZlciB7XG4gICAgICBib3JkZXItYm90dG9tOiBzb2xpZDtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAwLjhyZW07XG4gICAgICBjb2xvcjogIzE3YzhjMDsgfVxuXG4uY21zLXN0cmVmYS1kbGEtZmlybSAuc2VjdGlvbi1jb250YWN0LXRhYnMsXG4uY21zLWtvbndlcnNqYS1iMmIgLnNlY3Rpb24tY29udGFjdC10YWJzIHtcbiAgbWFyZ2luLWJvdHRvbTogOHJlbTsgfVxuICAuY21zLXN0cmVmYS1kbGEtZmlybSAuc2VjdGlvbi1jb250YWN0LXRhYnMgLmNvbnRlbnQtdGFiLWJveCxcbiAgLmNtcy1rb253ZXJzamEtYjJiIC5zZWN0aW9uLWNvbnRhY3QtdGFicyAuY29udGVudC10YWItYm94IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgYmFja2dyb3VuZDogI2ZmZjtcbiAgICBwYWRkaW5nOiAycmVtO1xuICAgIG1hcmdpbjogMXJlbTtcbiAgICBib3JkZXItcmFkaXVzOiA3cHg7IH1cbiAgICAuY21zLXN0cmVmYS1kbGEtZmlybSAuc2VjdGlvbi1jb250YWN0LXRhYnMgLmNvbnRlbnQtdGFiLWJveCAudGFiLW5hbWUsXG4gICAgLmNtcy1rb253ZXJzamEtYjJiIC5zZWN0aW9uLWNvbnRhY3QtdGFicyAuY29udGVudC10YWItYm94IC50YWItbmFtZSB7XG4gICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAxcmVtO1xuICAgICAgZm9udC1zaXplOiAycmVtOyB9XG4gICAgLmNtcy1zdHJlZmEtZGxhLWZpcm0gLnNlY3Rpb24tY29udGFjdC10YWJzIC5jb250ZW50LXRhYi1ib3ggLnRhYi1saW5rLFxuICAgIC5jbXMta29ud2Vyc2phLWIyYiAuc2VjdGlvbi1jb250YWN0LXRhYnMgLmNvbnRlbnQtdGFiLWJveCAudGFiLWxpbmsge1xuICAgICAgcGFkZGluZy1ib3R0b206IDFyZW07XG4gICAgICBwYWRkaW5nLWxlZnQ6IDRyZW07IH1cbiAgICAuY21zLXN0cmVmYS1kbGEtZmlybSAuc2VjdGlvbi1jb250YWN0LXRhYnMgLmNvbnRlbnQtdGFiLWJveCAudGFiLXBob25lLFxuICAgIC5jbXMta29ud2Vyc2phLWIyYiAuc2VjdGlvbi1jb250YWN0LXRhYnMgLmNvbnRlbnQtdGFiLWJveCAudGFiLXBob25lIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAgICAgLmNtcy1zdHJlZmEtZGxhLWZpcm0gLnNlY3Rpb24tY29udGFjdC10YWJzIC5jb250ZW50LXRhYi1ib3ggLnRhYi1waG9uZTo6YmVmb3JlLFxuICAgICAgLmNtcy1rb253ZXJzamEtYjJiIC5zZWN0aW9uLWNvbnRhY3QtdGFicyAuY29udGVudC10YWItYm94IC50YWItcGhvbmU6OmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6IHVybChcIi4uL2ltYWdlcy9pY29ucy90ZWxlcGhvbmUtZ3JheS5zdmdcIik7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTsgfVxuICAgIC5jbXMtc3RyZWZhLWRsYS1maXJtIC5zZWN0aW9uLWNvbnRhY3QtdGFicyAuY29udGVudC10YWItYm94IC50YWItbWFpbCxcbiAgICAuY21zLWtvbndlcnNqYS1iMmIgLnNlY3Rpb24tY29udGFjdC10YWJzIC5jb250ZW50LXRhYi1ib3ggLnRhYi1tYWlsIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAgICAgLmNtcy1zdHJlZmEtZGxhLWZpcm0gLnNlY3Rpb24tY29udGFjdC10YWJzIC5jb250ZW50LXRhYi1ib3ggLnRhYi1tYWlsOjpiZWZvcmUsXG4gICAgICAuY21zLWtvbndlcnNqYS1iMmIgLnNlY3Rpb24tY29udGFjdC10YWJzIC5jb250ZW50LXRhYi1ib3ggLnRhYi1tYWlsOjpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiB1cmwoXCIuLi9pbWFnZXMvaWNvbnMvbWFpbC1ncmF5LnN2Z1wiKTtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpOyB9XG5cbi5jbXMtc3RyZWZhLWRsYS1maXJtIC5mb3JtLmNvbnRhY3QgLmZpZWxkIC5jb250cm9sID4gdGV4dGFyZWEsXG4uY21zLWtvbndlcnNqYS1iMmIgLmZvcm0uY29udGFjdCAuZmllbGQgLmNvbnRyb2wgPiB0ZXh0YXJlYSB7XG4gIGJvcmRlci1yYWRpdXM6IDE1cHg7XG4gIG1pbi1oZWlnaHQ6IDM1NHB4OyB9XG5cbkBtZWRpYSAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5jbXMtc3RyZWZhLWRsYS1maXJtIC5mb3JtLmNvbnRhY3QgLmZpZWxkLmNvbW1lbnQucmVxdWlyZWQsXG4gIC5jbXMta29ud2Vyc2phLWIyYiAuZm9ybS5jb250YWN0IC5maWVsZC5jb21tZW50LnJlcXVpcmVkIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAycmVtO1xuICAgIHBhZGRpbmctbGVmdDogMnJlbTsgfSB9XG5cbkBtZWRpYSAobWluLXdpZHRoOiA4MGVtKSB7XG4gIC5jbXMtc3RyZWZhLWRsYS1maXJtIC5mb3JtLmNvbnRhY3QgLmJveC1pdGVtcy1pbnB1dCxcbiAgLmNtcy1rb253ZXJzamEtYjJiIC5mb3JtLmNvbnRhY3QgLmJveC1pdGVtcy1pbnB1dCB7XG4gICAgcGFkZGluZy1yaWdodDogMnJlbTsgfSB9XG5cbi5jbXMtc3RyZWZhLWRsYS1maXJtIC5mb3JtLmNvbnRhY3QgLmZpZWxkLnRlcm1zLFxuLmNtcy1rb253ZXJzamEtYjJiIC5mb3JtLmNvbnRhY3QgLmZpZWxkLnRlcm1zIHtcbiAgcGFkZGluZzogMXJlbSAwIDAgMDsgfVxuICAuY21zLXN0cmVmYS1kbGEtZmlybSAuZm9ybS5jb250YWN0IC5maWVsZC50ZXJtcyAubGFiZWwsXG4gIC5jbXMta29ud2Vyc2phLWIyYiAuZm9ybS5jb250YWN0IC5maWVsZC50ZXJtcyAubGFiZWwge1xuICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAzMHB4KTtcbiAgICBwYWRkaW5nLWJvdHRvbTogMDsgfVxuXG4uY21zLXN0cmVmYS1kbGEtZmlybSAuZm9ybS5jb250YWN0IC5hY3Rpb25zLXRvb2xiYXIsXG4uY21zLWtvbndlcnNqYS1iMmIgLmZvcm0uY29udGFjdCAuYWN0aW9ucy10b29sYmFyIHtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDsgfVxuXG4uY21zLXN0cmVmYS1kbGEtZmlybSAuZm9ybS5jb250YWN0IC5ib3gtaXRlbS10ZXJtcyxcbi5jbXMta29ud2Vyc2phLWIyYiAuZm9ybS5jb250YWN0IC5ib3gtaXRlbS10ZXJtcyB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgcGFkZGluZy10b3A6IDJyZW07IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDgwZW0pIHtcbiAgICAuY21zLXN0cmVmYS1kbGEtZmlybSAuZm9ybS5jb250YWN0IC5ib3gtaXRlbS10ZXJtcyxcbiAgICAuY21zLWtvbndlcnNqYS1iMmIgLmZvcm0uY29udGFjdCAuYm94LWl0ZW0tdGVybXMge1xuICAgICAgbWluLWhlaWdodDogMzcwcHg7IH0gfVxuXG5AbWVkaWEgKG1heC13aWR0aDogMjMuMTE1ZW0pIHtcbiAgLmNtcy1zdHJlZmEtZGxhLWZpcm0gLmNzLWltYWdlLXRlYXNlcl9fc2xvZ2FuLFxuICAuY21zLWtvbndlcnNqYS1iMmIgLmNzLWltYWdlLXRlYXNlcl9fc2xvZ2FuIHtcbiAgICBmb250LXNpemU6IDNyZW07IH0gfVxuXG4uY21zLXN0cmVmYS1kbGEtZmlybSAuY3MtaW1hZ2UtdGVhc2VyX19waWN0dXJlLFxuLmNtcy1rb253ZXJzamEtYjJiIC5jcy1pbWFnZS10ZWFzZXJfX3BpY3R1cmUge1xuICBtaW4taGVpZ2h0OiA0MjBweDsgfVxuICBAbWVkaWEgKG1heC13aWR0aDogMjMuMTE1ZW0pIHtcbiAgICAuY21zLXN0cmVmYS1kbGEtZmlybSAuY3MtaW1hZ2UtdGVhc2VyX19waWN0dXJlLFxuICAgIC5jbXMta29ud2Vyc2phLWIyYiAuY3MtaW1hZ2UtdGVhc2VyX19waWN0dXJlIHtcbiAgICAgIGFzcGVjdC1yYXRpbzogMS8xICFpbXBvcnRhbnQ7IH0gfVxuICBAbWVkaWEgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC5jbXMtc3RyZWZhLWRsYS1maXJtIC5jcy1pbWFnZS10ZWFzZXJfX3BpY3R1cmUsXG4gICAgLmNtcy1rb253ZXJzamEtYjJiIC5jcy1pbWFnZS10ZWFzZXJfX3BpY3R1cmUge1xuICAgICAgbWF4LWhlaWdodDogNDAwcHg7IH0gfVxuXG4uY21zLXN0cmVmYS1kbGEtZmlybSAuY3MtaW1hZ2UtdGVhc2VyX19kZXNjcmlwdGlvbixcbi5jbXMta29ud2Vyc2phLWIyYiAuY3MtaW1hZ2UtdGVhc2VyX19kZXNjcmlwdGlvbiB7XG4gIGZvbnQtc2l6ZTogMnJlbTtcbiAgbWF4LXdpZHRoOiA5MDBweDsgfVxuIiwiLy8gU3R5bGVzIG1vdmVkIGZyb20gdmVuZG9yL21hZ2VudG8vdGhlbWUtZnJvbnRlbmQtYmxhbmsvTWFnZW50b19Db250YWN0L3dlYi9jc3Mvc291cmNlL19tb2R1bGUubGVzc1xuLy8gaW4gb3JkZXIgdG8gYXZvaWQgbG9hZGluZyB0aGVtIG9uIGV2ZXJ5IHBhZ2UgdmlhIHN0eWxlcy1tLmNzcyBhbmQgc3R5bGVzLWwuc2Nzc1xuXG5AaW1wb3J0ICd2ZW5kb3JzL2luY2x1ZGUtbWVkaWEnO1xuQGltcG9ydCAnY29uZmlnL3ZhcmlhYmxlcyc7XG5cbi5jbXMtc3RyZWZhLWRsYS1maXJtLFxuLmNtcy1rb253ZXJzamEtYjJiIHtcbiAgICAuY29sdW1uOm5vdCguc2lkZWJhci1tYWluKSAuZm9ybS5jb250YWN0IHtcbiAgICAgICAgZmxvYXQ6IG5vbmU7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cblxuICAgIC5jb2x1bW46bm90KC5zaWRlYmFyLWFkZGl0aW9uYWwpIC5mb3JtLmNvbnRhY3Qge1xuICAgICAgICBmbG9hdDogbm9uZTtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGNsZWFyOiBib3RoO1xuICAgICAgICBwYWRkaW5nOiA0cmVtIDJyZW07XG4gICAgICAgIGJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzX2Jhc2U7XG4gICAgICAgIGJhY2tncm91bmQ6ICNmZmY7XG4gICAgICAgIDtcblxuICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPj10YWJsZXQnKSB7XG4gICAgICAgICAgICBtaW4td2lkdGg6IDYwcmVtO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmNzLWRhc2hib2FyZCAuZmllbGRzZXQge1xuICAgICAgICBtYXgtd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICAuY3MtZGFzaGJvYXJkIC5sZWdlbmQge1xuICAgICAgICBoMiB7XG4gICAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICB9XG5cbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgIH1cblxuICAgICNtYWluY29udGVudCB7XG4gICAgICAgIGJhY2tncm91bmQ6ICRjb2xvcl9wYXBpbGFydF9iZztcbiAgICB9XG5cbiAgICAuc2VjdGlvbi13cmFwcGVyIHtcbiAgICAgICAgcGFkZGluZzogM3JlbSAwO1xuICAgICAgICBtYXJnaW4tbGVmdDogLTFyZW07XG4gICAgICAgIG1hcmdpbi1yaWdodDogLTFyZW07XG5cbiAgICAgICAgLmNvbnRhY3QtYm94IHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICNmZmY7XG4gICAgICAgICAgICBwYWRkaW5nOiAycmVtO1xuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogJGJvcmRlci1yYWRpdXNfYmFzZTtcbiAgICAgICAgICAgIG1hcmdpbjogMXJlbTtcblxuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICAgICAgICBtaW4td2lkdGg6IDI1MHB4O1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPj1sYXB0b3AnKSB7XG4gICAgICAgICAgICAgICAgbWluLWhlaWdodDogMzQ3cHg7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5jb250YWN0LWJ0biB7XG4gICAgICAgICAgICAgICAgYm9yZGVyOiBzb2xpZCAycHg7XG4gICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogNjBweDtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAwLjVyZW0gMXJlbSAwLjVyZW0gMy41cmVtO1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgICAgICBtYXJnaW46IDAuNXJlbSAwLjVyZW0gMC41cmVtIDA7XG4gICAgICAgICAgICAgICAgbWluLXdpZHRoOiAyMDBweDtcbiAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICAgICAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICAgICAgY29udGVudDogdXJsKFwiLi4vaW1hZ2VzL2ljb25zL3RlbGVwaG9uZS1wdXJwbGUuc3ZnXCIpO1xuICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgICAgIGxlZnQ6IDEuNXJlbTtcbiAgICAgICAgICAgICAgICAgICAgdG9wOiA1MyU7XG4gICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgICAgICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuY29udGFjdC1idG4tbWFpbCB7XG4gICAgICAgICAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICAgICAgY29udGVudDogdXJsKFwiLi4vaW1hZ2VzL2ljb25zL21haWwtcHVycGxlLnN2Z1wiKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5jb250YWN0LWJveC1ob3VycyB7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogMXJlbTtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAyLjNyZW07XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICAgICAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICAgICAgY29udGVudDogdXJsKFwiLi4vaW1hZ2VzL2ljb25zL2Nsb2NrLXB1cnBsZS5zdmdcIik7XG4gICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgICAgICAgICAgdG9wOiA1MyU7XG4gICAgICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLmNvbnRhY3QtYm94LXBlcnNvbmFsLWNvbGxlY3Rpb24ge1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMi41cmVtO1xuICAgICAgICAgICAgbWluLWhlaWdodDogYXV0bztcbiAgICAgICAgICAgIHBhZGRpbmc6IDNyZW0gMnJlbTtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDNyZW07XG4gICAgICAgICAgICBib3JkZXI6IHNvbGlkIDJweCAkY29sb3JfcGFwaWxhcnRfb3JhbmdlO1xuXG4gICAgICAgICAgICBwIHtcbiAgICAgICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz49cGhvbmVMZycpIHtcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiA3cmVtO1xuXG4gICAgICAgICAgICAgICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb250ZW50OiB1cmwoLi4vaW1hZ2VzL2ljb25zL2V4Y2xhbWF0aW9uLXRyaWFuZ2xlLW9yYW5nZS5zdmcpO1xuICAgICAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgICAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gICAgICAgICAgICAgICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuY29udGFjdC1yb3ctdGFiOSB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogLTFyZW07XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAtMXJlbTtcblxuICAgICAgICAuc2VjdGlvbi10YWItdGl0bGUge1xuICAgICAgICAgICAgcGFkZGluZzogMCAxcmVtIDFyZW0gMXJlbTtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgIH1cblxuICAgICAgICAudGl0bGUtdGFicy1ib3gge1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIHBhZGRpbmc6IDFyZW07XG4gICAgICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XG5cbiAgICAgICAgICAgIC5pdGVtLnRpdGxlIHtcbiAgICAgICAgICAgICAgICAvLyBtaW4td2lkdGg6IDE2NXB4O1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDFyZW0gMDtcblxuICAgICAgICAgICAgICAgIC5zd2l0Y2gge1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjogJGNvbG9yX3BhcGlsYXJ0X2dyYXlncmVlbjtcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMXJlbSAzcmVtO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLml0ZW0udGl0bGUuYWN0aXZlPi5zd2l0Y2gsXG4gICAgICAgICAgICAucHJvZHVjdC5kYXRhLml0ZW1zPi5pdGVtLnRpdGxlLmFjdGl2ZT4uc3dpdGNoOmZvY3VzLFxuICAgICAgICAgICAgLnByb2R1Y3QuZGF0YS5pdGVtcz4uaXRlbS50aXRsZS5hY3RpdmU+LnN3aXRjaDpob3ZlciB7XG4gICAgICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogc29saWQ7XG4gICAgICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IDAuOHJlbTtcbiAgICAgICAgICAgICAgICBjb2xvcjogJGNvbG9yX3BhcGlsYXJ0X2FxdWE7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgIH1cblxuICAgIC5zZWN0aW9uLWNvbnRhY3QtdGFicyB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDhyZW07XG5cbiAgICAgICAgLmNvbnRlbnQtdGFiLWJveCB7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICNmZmY7XG4gICAgICAgICAgICBwYWRkaW5nOiAycmVtO1xuICAgICAgICAgICAgbWFyZ2luOiAxcmVtO1xuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogJGJvcmRlci1yYWRpdXNfYmFzZTtcblxuICAgICAgICAgICAgLnRhYi1uYW1lIHtcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMXJlbTtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDJyZW07XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC50YWItbGluayB7XG4gICAgICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IDFyZW07XG4gICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiA0cmVtO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAudGFiLXBob25lIHtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgICAgICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgICAgICAgICAgICBjb250ZW50OiB1cmwoXCIuLi9pbWFnZXMvaWNvbnMvdGVsZXBob25lLWdyYXkuc3ZnXCIpO1xuICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICAgICAgICAgIHRvcDogNTAlO1xuICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAudGFiLW1haWwge1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgICAgICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6IHVybChcIi4uL2ltYWdlcy9pY29ucy9tYWlsLWdyYXkuc3ZnXCIpO1xuICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICAgICAgICAgIHRvcDogNTAlO1xuICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG5cblxuICAgIC8vZm9ybVxuICAgIC5mb3JtLmNvbnRhY3Qge1xuICAgICAgICAuZmllbGQgLmNvbnRyb2w+dGV4dGFyZWEge1xuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMTVweDtcbiAgICAgICAgICAgIG1pbi1oZWlnaHQ6IDM1NHB4O1xuICAgICAgICB9XG5cbiAgICAgICAgLmZpZWxkLmNvbW1lbnQucmVxdWlyZWQge1xuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz49bGFwdG9wJykge1xuICAgICAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDJyZW07XG4gICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAycmVtO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLmJveC1pdGVtcy1pbnB1dCB7XG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPj1sYXB0b3BMZycpIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAycmVtO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLmZpZWxkLnRlcm1zIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDFyZW0gMCAwIDA7XG5cbiAgICAgICAgICAgIC5sYWJlbCB7XG4gICAgICAgICAgICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtIDMwcHgpO1xuICAgICAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAwO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLmFjdGlvbnMtdG9vbGJhciB7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5ib3gtaXRlbS10ZXJtcyB7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAgICAgICAgIHBhZGRpbmctdG9wOiAycmVtO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPj1sYXB0b3BMZycpIHtcbiAgICAgICAgICAgICAgICBtaW4taGVpZ2h0OiAzNzBweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuXG4gICAgLy9zdHJlZmEgZGxhIGZpcm1cbiAgICAuY3MtaW1hZ2UtdGVhc2VyX19zbG9nYW4ge1xuICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPHBob25lJykge1xuICAgICAgICAgICAgZm9udC1zaXplOiAzcmVtO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmNzLWltYWdlLXRlYXNlcl9fcGljdHVyZSB7XG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCc8cGhvbmUnKSB7XG4gICAgICAgICAgICBhc3BlY3QtcmF0aW86IDEvMSAhaW1wb3J0YW50O1xuICAgICAgICB9XG5cbiAgICAgICAgbWluLWhlaWdodDogNDIwcHg7XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz49dGFibGV0Jykge1xuICAgICAgICAgICAgbWF4LWhlaWdodDogNDAwcHg7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuY3MtaW1hZ2UtdGVhc2VyX19kZXNjcmlwdGlvbiB7XG4gICAgICAgIGZvbnQtc2l6ZTogMnJlbTtcbiAgICAgICAgbWF4LXdpZHRoOiA5MDBweDtcbiAgICB9XG5cblxufSIsIi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG5AdXNlICdzYXNzOm1hcCc7XG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG4vKipcbiogRGVmYXVsdCBwcm9qZWN0IGJyZWFrcG9pbnRzIC0gW2VtXVxuKi9cbi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG5AdXNlICdzYXNzOm1hcCc7XG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG4vKipcbiogRGVmYXVsdCBwcm9qZWN0IGJyZWFrcG9pbnRzIC0gW2VtXVxuKi9cbi5jcy1oZWFkZXItdXNlci1uYXZfX2l0ZW0tLWFjY291bnQuY3MtaGVhZGVyLXVzZXItbmF2X19pdGVtLS1sb2dnZWQtaW4gLmNzLWhlYWRlci11c2VyLW5hdl9fbGluayB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuXG4udXNlci1kcm9wZG93bi1tZW51IHtcbiAgZGlzcGxheTogbm9uZTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDEwMCU7XG4gIGxlZnQ6IDBweDtcbiAgYmFja2dyb3VuZDogd2hpdGU7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIHBhZGRpbmc6IDVweDtcbiAgd2lkdGg6IDEwMCU7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgYm94LXNoYWRvdzogMnB4IDJweCA1cHggcmdiYSgwLCAwLCAwLCAwLjE1KTtcbiAgYm9yZGVyLXJhZGl1czogN3B4OyB9XG4gIC51c2VyLWRyb3Bkb3duLW1lbnUgbGkge1xuICAgIGJhY2tncm91bmQ6IHdoaXRlOyB9XG4gIC51c2VyLWRyb3Bkb3duLW1lbnUgYSB7XG4gICAgZm9udC1zaXplOiAxLjZyZW07XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBjb2xvcjogIzQ1NWE2NDtcbiAgICBtYXJnaW46IDAuNXJlbSAycmVtO1xuICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgdGV4dC1hbGlnbjogbGVmdDsgfVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNjQuMDFlbSkge1xuICAuY3MtaGVhZGVyLXVzZXItbmF2X19pdGVtLS1hY2NvdW50LmNzLWhlYWRlci11c2VyLW5hdl9faXRlbS0tbG9nZ2VkLWluOmhvdmVyIC51c2VyLWRyb3Bkb3duLW1lbnUge1xuICAgIGRpc3BsYXk6IGJsb2NrOyB9IH1cblxuQG1lZGlhIChtaW4td2lkdGg6IDY0LjAxZW0pIHtcbiAgLmNzLWhlYWRlci11c2VyLW5hdl9faXRlbS0tYWNjb3VudC5jcy1oZWFkZXItdXNlci1uYXZfX2l0ZW0tLWxvZ2dlZC1pbiAuY3MtaGVhZGVyLXVzZXItbmF2X19saW5rOjphZnRlciB7XG4gICAgY29udGVudDogJ1xcMjc2Ric7XG4gICAgcm90YXRlOiA5MGRlZztcbiAgICBmb250LXNpemU6IDJyZW07IH1cbiAgLmNzLWhlYWRlci11c2VyLW5hdl9faXRlbS0tYWNjb3VudC5jcy1oZWFkZXItdXNlci1uYXZfX2l0ZW0tLWxvZ2dlZC1pbiAuY3MtaGVhZGVyLXVzZXItbmF2X19saW5rOmhvdmVyOjphZnRlciB7XG4gICAgcm90YXRlOiAyNzBkZWc7IH1cbiAgLmNzLWhlYWRlci11c2VyLW5hdl9fbGFiZWwge1xuICAgIG1pbi13aWR0aDogODBweDsgfSB9XG4iLCJAaW1wb3J0ICdjb25maWcvdmFyaWFibGVzJztcbkBpbXBvcnQgJ3ZlbmRvcnMvaW5jbHVkZS1tZWRpYSc7XG5cblxuLmNzLWhlYWRlci11c2VyLW5hdl9faXRlbS0tYWNjb3VudC5jcy1oZWFkZXItdXNlci1uYXZfX2l0ZW0tLWxvZ2dlZC1pbiAuY3MtaGVhZGVyLXVzZXItbmF2X19saW5rIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi51c2VyLWRyb3Bkb3duLW1lbnUge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMTAwJTtcbiAgICBsZWZ0OiAwcHg7XG4gICAgYmFja2dyb3VuZDogd2hpdGU7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICBwYWRkaW5nOiA1cHg7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGJveC1zaGFkb3c6IDJweCAycHggNXB4IHJnYmEoMCwgMCwgMCwgMC4xNSk7XG4gICAgYm9yZGVyLXJhZGl1czogN3B4O1xuXG4gICAgbGkge1xuICAgICAgICBiYWNrZ3JvdW5kOiB3aGl0ZTtcbiAgICB9XG5cbiAgICBhIHtcbiAgICAgICAgZm9udC1zaXplOiAxLjZyZW07XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICAgIGNvbG9yOiAkY29sb3JfdGV4dC04MDA7XG4gICAgICAgIG1hcmdpbjogMC41cmVtIDJyZW07XG4gICAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgfVxufVxuXG4uY3MtaGVhZGVyLXVzZXItbmF2X19pdGVtLS1hY2NvdW50LmNzLWhlYWRlci11c2VyLW5hdl9faXRlbS0tbG9nZ2VkLWluOmhvdmVyIHtcbiAgICAudXNlci1kcm9wZG93bi1tZW51IHtcbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz5sYXB0b3AnKSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgfVxuICAgIH1cbn1cblxuQGluY2x1ZGUgbWVkaWEoJz5sYXB0b3AnKSB7XG4gICAgLmNzLWhlYWRlci11c2VyLW5hdl9faXRlbS0tYWNjb3VudC5jcy1oZWFkZXItdXNlci1uYXZfX2l0ZW0tLWxvZ2dlZC1pbiAuY3MtaGVhZGVyLXVzZXItbmF2X19saW5re1xuICAgICAgICAmOjphZnRlcntcbiAgICAgICAgICAgIGNvbnRlbnQ6ICdcXDI3NkYnO1xuICAgICAgICAgICAgcm90YXRlOiA5MGRlZztcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMnJlbTtcbiAgICAgICAgICAgIFxuICAgICAgICAgICAgXG4gICAgICAgIH1cbiAgICAgICAgJjpob3ZlcntcbiAgICAgICAgICAgICY6OmFmdGVye1xuICAgICAgICAgICAgICAgIHJvdGF0ZTogMjcwZGVnO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgXG4gICAgICAgIH1cbiAgICB9XG4gICAgLmNzLWhlYWRlci11c2VyLW5hdl9fbGFiZWwge1xuICAgICAgICBtaW4td2lkdGg6IDgwcHg7XG4gICAgfVxufVxuIiwiLyoqXG4gKiBCcmVha3BvaW50IGNvbXBvbmVudCB1c2VkIGJ5IGluY2x1ZGUtbWVkaWEgdmVuZG9yIGxpYnJhcnkuXG4gKi9cbkB1c2UgJ3Nhc3M6bWFwJztcbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuLyoqXG4gKiBCcmVha3BvaW50IGNvbXBvbmVudCB1c2VkIGJ5IGluY2x1ZGUtbWVkaWEgdmVuZG9yIGxpYnJhcnkuXG4gKi9cbkB1c2UgJ3Nhc3M6bWFwJztcbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuLmN1c3RvbS1tb2RhbC1vcGVuIHtcbiAgY3Vyc29yOiBwb2ludGVyOyB9XG5cbi5jdXN0b20tbW9kYWwge1xuICBkaXNwbGF5OiBub25lO1xuICB6LWluZGV4OiAtMTtcbiAgb3BhY2l0eTogMDtcbiAgaGVpZ2h0OiAwcHg7XG4gIHdpZHRoOiAwcHg7IH1cbiAgLmN1c3RvbS1tb2RhbCAuY29udGVudCB7XG4gICAgei1pbmRleDogLTE7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gIC5jdXN0b20tbW9kYWwgLmN1c3RvbS1tb2RhbC1jbG9zZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzdlNTdjMjtcbiAgICBwYWRkaW5nOiAxcmVtIDJyZW07XG4gICAgbWFyZ2luOiAxcmVtO1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICBib3JkZXItcmFkaXVzOiAyMDBweDtcbiAgICB3aWR0aDogZml0LWNvbnRlbnQ7XG4gICAgY29sb3I6IHdoaXRlO1xuICAgIGZvbnQtc2l6ZTogMS43cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBtYXJnaW46IDFyZW0gYXV0bztcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICByaWdodDogMiU7IH1cblxuLmN1c3RvbS1tb2RhbC5vcGVuIHtcbiAgei1pbmRleDogOTk3O1xuICBvcGFjaXR5OiAxO1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIGxlZnQ6IDA7XG4gIHRvcDogMDtcbiAgd2lkdGg6IDEwMHZ3O1xuICBoZWlnaHQ6IDEwMHZoO1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjsgfVxuICAuY3VzdG9tLW1vZGFsLm9wZW4gLmNvbnRlbnQge1xuICAgIGJvcmRlci1yYWRpdXM6IDdweDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICAgIGNvbG9yOiAjNDU1YTY0O1xuICAgIHBhZGRpbmc6IDJyZW07XG4gICAgei1pbmRleDogOTk5O1xuICAgIG1heC13aWR0aDogOTV2dztcbiAgICBtYXgtaGVpZ2h0OiA5NXZoO1xuICAgIG1pbi13aWR0aDogMzAwcHg7XG4gICAgbWluLWhlaWdodDogMzAwcHg7XG4gICAgb3ZlcmZsb3c6IGF1dG87XG4gICAgbWFyZ2luOiAwIGF1dG87XG4gICAgd2lkdGg6IDgwMHB4O1xuICAgIGhlaWdodDogZml0LWNvbnRlbnQ7IH1cbiAgLmN1c3RvbS1tb2RhbC5vcGVuIC5vdmVybGF5IHtcbiAgICB6LWluZGV4OiA5OTg7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgYm90dG9tOiAwO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMwMDAwMDBiMzsgfVxuXG4ubmV3c2xldHRlci1wb3B1cC1jb250ZW50IHtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIHBhZGRpbmc6IDJyZW07XG4gIGZvbnQtc2l6ZTogMi44cmVtOyB9XG4gIC5uZXdzbGV0dGVyLXBvcHVwLWNvbnRlbnQgaDMge1xuICAgIGZvbnQtc2l6ZTogNHJlbTsgfVxuICAubmV3c2xldHRlci1wb3B1cC1jb250ZW50IGgzLCAubmV3c2xldHRlci1wb3B1cC1jb250ZW50IHAge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAubmV3c2xldHRlci1wb3B1cC1jb250ZW50IHAge1xuICAgIHBhZGRpbmctYm90dG9tOiAycmVtOyB9XG4gIC5uZXdzbGV0dGVyLXBvcHVwLWNvbnRlbnQgLnBvcHVwLWJveC1pbnB1dCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgLm5ld3NsZXR0ZXItcG9wdXAtY29udGVudCAucG9wdXAtYm94LWlucHV0IHtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdzsgfSB9XG4gICAgLm5ld3NsZXR0ZXItcG9wdXAtY29udGVudCAucG9wdXAtYm94LWlucHV0IC5maWVsZCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwICFpbXBvcnRhbnQ7IH1cbiAgLm5ld3NsZXR0ZXItcG9wdXAtY29udGVudCAucG9wdXAtY29tbWVudCB7XG4gICAgZm9udC1zaXplOiAxLjZyZW07IH1cbiAgLm5ld3NsZXR0ZXItcG9wdXAtY29udGVudCAubmV3c2xldHRlcl9fYnRuIHtcbiAgICBiYWNrZ3JvdW5kOiAjZmE3MDEzO1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIGJvcmRlci1yYWRpdXM6IDIwMHB4O1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBib3JkZXI6IHNvbGlkIDJweCAjZmE3MDEzO1xuICAgIGZvbnQtc2l6ZTogMnJlbTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBsaW5lLWhlaWdodDogMS4yNzVlbTtcbiAgICBwYWRkaW5nOiAxLjJyZW0gM3JlbTsgfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAubmV3c2xldHRlci1wb3B1cC1jb250ZW50IC5uZXdzbGV0dGVyX19idG4ge1xuICAgICAgICB3aWR0aDogNDAlO1xuICAgICAgICBtYXJnaW4tbGVmdDogMnJlbTsgfSB9XG4gIC5uZXdzbGV0dGVyLXBvcHVwLWNvbnRlbnQgLmFtZm9ybS1mb3JtIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXgtd2lkdGg6IDUwMHB4O1xuICAgIHBhZGRpbmc6IDA7IH1cbiAgLm5ld3NsZXR0ZXItcG9wdXAtY29udGVudCAuYW1mb3JtLWZvcm0gLmFjdGlvbi5wcmltYXJ5LCAubmV3c2xldHRlci1wb3B1cC1jb250ZW50IC5hbWZvcm0tcGFyZW50IC5hY3Rpb24ucHJpbWFyeSB7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgICBjdXJzb3I6IHBvaW50ZXI7IH1cbiAgLm5ld3NsZXR0ZXItcG9wdXAtY29udGVudCAuY3MtbmV3c2xldHRlcl9fYWN0aW9ucyB7XG4gICAgaGVpZ2h0OiA1LjRyZW07XG4gICAgd2lkdGg6IDcwcHg7IH1cbiAgICAubmV3c2xldHRlci1wb3B1cC1jb250ZW50IC5jcy1uZXdzbGV0dGVyX19hY3Rpb25zIC5jcy1uZXdzbGV0dGVyX19idXR0b24ge1xuICAgICAgd2lkdGg6IDEwMCU7IH1cbiAgICAgIC5uZXdzbGV0dGVyLXBvcHVwLWNvbnRlbnQgLmNzLW5ld3NsZXR0ZXJfX2FjdGlvbnMgLmNzLW5ld3NsZXR0ZXJfX2J1dHRvbjo6YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogXCI+XCI7IH1cbiIsIkBpbXBvcnQgJ3ZlbmRvcnMvaW5jbHVkZS1tZWRpYSc7XG5AaW1wb3J0ICdjb25maWcvdmFyaWFibGVzJztcblxuLmN1c3RvbS1tb2RhbC1vcGVuIHtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG59XG5cbi5jdXN0b20tbW9kYWwge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgei1pbmRleDogLTE7XG4gICAgb3BhY2l0eTogMDtcbiAgICBoZWlnaHQ6IDBweDtcbiAgICB3aWR0aDogMHB4O1xuXG4gICAgLmNvbnRlbnQge1xuICAgICAgICB6LWluZGV4OiAtMTtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIH1cblxuICAgIC5jdXN0b20tbW9kYWwtY2xvc2Uge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3JfcGFwaWxhcnRfcHVycGxlO1xuICAgICAgICBwYWRkaW5nOiAxcmVtIDJyZW07XG4gICAgICAgIG1hcmdpbjogMXJlbTtcbiAgICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgICBib3JkZXItcmFkaXVzOiAyMDBweDtcbiAgICAgICAgd2lkdGg6IGZpdC1jb250ZW50O1xuICAgICAgICBjb2xvcjogd2hpdGU7XG4gICAgICAgIGZvbnQtc2l6ZTogMS43cmVtO1xuICAgICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICBtYXJnaW46IDFyZW0gYXV0bztcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgcmlnaHQ6IDIlO1xuICAgIH1cbn1cblxuLmN1c3RvbS1tb2RhbC5vcGVuIHtcbiAgICB6LWluZGV4OiA5OTc7XG4gICAgb3BhY2l0eTogMTtcbiAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgbGVmdDogMDtcbiAgICB0b3A6IDA7XG4gICAgd2lkdGg6IDEwMHZ3O1xuICAgIGhlaWdodDogMTAwdmg7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuXG4gICAgLmNvbnRlbnQge1xuICAgICAgICBib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJhZGl1c19iYXNlO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3Jfd2hpdGU7XG4gICAgICAgIGNvbG9yOiAkY29sb3JfcGFwaWxhcnRfZ3JheWdyZWVuO1xuICAgICAgICBwYWRkaW5nOiAycmVtO1xuICAgICAgICB6LWluZGV4OiA5OTk7XG4gICAgICAgIG1heC13aWR0aDogOTV2dztcbiAgICAgICAgbWF4LWhlaWdodDogOTV2aDtcbiAgICAgICAgbWluLXdpZHRoOiAzMDBweDtcbiAgICAgICAgbWluLWhlaWdodDogMzAwcHg7XG4gICAgICAgIG92ZXJmbG93OiBhdXRvO1xuICAgICAgICBtYXJnaW46IDAgYXV0bztcbiAgICAgICAgd2lkdGg6IDgwMHB4O1xuICAgICAgICBoZWlnaHQ6IGZpdC1jb250ZW50O1xuICAgICAgICAvLyBAaW5jbHVkZSBtZWRpYSgnPHRhYmxldCcpIHtcbiAgICAgICAgLy8gICAgIHdpZHRoOiA5NSU7XG4gICAgICAgIC8vIH1cbiAgICB9XG5cbiAgICAub3ZlcmxheSB7XG4gICAgICAgIHotaW5kZXg6IDk5ODtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzAwMDAwMGIzO1xuICAgIH1cbn1cblxuLm5ld3NsZXR0ZXItcG9wdXAtY29udGVudHtcbiAgICBcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBwYWRkaW5nOiAycmVtO1xuICAgIGZvbnQtc2l6ZTogMi44cmVtO1xuICAgIGgze1xuICAgICAgICBmb250LXNpemU6IDRyZW07XG4gICAgfVxuICAgIGgzLHB7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB9XG4gICAgcHtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDJyZW07XG4gICAgfVxuICAgIC5wb3B1cC1ib3gtaW5wdXR7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPj10YWJsZXQnKSB7XG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgICAgICB9XG4gICAgICAgIC5maWVsZHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDAhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgfVxuICAgIC5wb3B1cC1jb21tZW50e1xuICAgICAgICBmb250LXNpemU6IDEuNnJlbTtcbiAgICAgICAgLy8gcGFkZGluZy10b3A6IDJyZW07XG4gICAgfVxuICAgIC5uZXdzbGV0dGVyX19idG57XG4gICAgICAgIGJhY2tncm91bmQ6ICRjb2xvcl9wYXBpbGFydF9vcmFuZ2U7XG4gICAgICAgIGNvbG9yOiAkY29sb3Jfd2hpdGU7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDIwMHB4O1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgIGJvcmRlcjogc29saWQgMnB4ICRjb2xvcl9wYXBpbGFydF9vcmFuZ2U7XG4gICAgICAgIGZvbnQtc2l6ZTogMnJlbTtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjI3NWVtO1xuICAgICAgICBwYWRkaW5nOiAxLjJyZW0gM3JlbTtcbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz49dGFibGV0Jykge1xuICAgICAgICAgICAgd2lkdGg6IDQwJTtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAycmVtO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmFtZm9ybS1mb3Jte1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgbWF4LXdpZHRoOiA1MDBweDtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICB9XG4gICAgLmFtZm9ybS1mb3JtIC5hY3Rpb24ucHJpbWFyeSwgLmFtZm9ybS1wYXJlbnQgLmFjdGlvbi5wcmltYXJ5e1xuICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgfVxuXG4gICAgLmNzLW5ld3NsZXR0ZXJfX2FjdGlvbnN7XG4gICAgICAgIGhlaWdodDogNS40cmVtO1xuICAgICAgICB3aWR0aDogNzBweDtcblxuICAgICAgICAuY3MtbmV3c2xldHRlcl9fYnV0dG9uIHtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgJjo6YmVmb3Jle1xuICAgICAgICAgICAgICAgIC8vIGNvbnRlbnQ6IHVybChcIkB7YmFzZURpcn1pbWFnZXMvaWNvbnMvYXJyb3dfbmV4dC5zdmdcIik7XG4gICAgICAgICAgICAgICAgY29udGVudDogXCI+XCI7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59IiwiLyoqXG4gKiBCcmVha3BvaW50IGNvbXBvbmVudCB1c2VkIGJ5IGluY2x1ZGUtbWVkaWEgdmVuZG9yIGxpYnJhcnkuXG4gKi9cbkB1c2UgJ3Nhc3M6bWFwJztcbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuLyoqXG4gKiBCcmVha3BvaW50IGNvbXBvbmVudCB1c2VkIGJ5IGluY2x1ZGUtbWVkaWEgdmVuZG9yIGxpYnJhcnkuXG4gKi9cbkB1c2UgJ3Nhc3M6bWFwJztcbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuLnJlbmRlcmVkLWZvcm0gYnV0dG9uLFxuLnJlbmRlcmVkLWZvcm0gaW5wdXQsXG4ucmVuZGVyZWQtZm9ybSBzZWxlY3QsXG4ucmVuZGVyZWQtZm9ybSB0ZXh0YXJlYSB7XG4gIGZvbnQtc2l6ZTogMWVtO1xuICBsaW5lLWhlaWdodDogMS4yNzVlbTtcbiAgcGFkZGluZzogMC43NWVtIDFlbTtcbiAgY29sb3I6ICM0NTVhNjQ7XG4gIGJhY2tncm91bmQ6ICNmZmY7XG4gIGJvcmRlci1yYWRpdXM6IDIwMHB4O1xuICBib3JkZXI6IDJweCBzb2xpZCAjZGNkY2RjO1xuICBib3gtc2hhZG93OiBub25lO1xuICB0cmFuc2l0aW9uOiBib3JkZXItY29sb3IgMC41cztcbiAgbWFyZ2luOiAwIDAgMC4yZW07XG4gIHdpZHRoOiAxMDAlO1xuICBiYWNrZ3JvdW5kLWNsaXA6IHBhZGRpbmctYm94O1xuICBmb250LWZhbWlseTogaW5oZXJpdDsgfVxuXG4ucmVuZGVyZWQtZm9ybSBpbnB1dC5hbWZvcm0tY2hlY2tib3gge1xuICB3aWR0aDogYXV0bzsgfVxuXG4uYW1jZm9ybS1wYWdlLXdyYXAge1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kOyB9XG5cbi5hbWZvcm0tZm9ybSB7XG4gIG1hcmdpbjogMCBhdXRvIDEwcHg7XG4gIG1heC13aWR0aDogNzAwcHg7XG4gIGJhY2tncm91bmQ6IHdoaXRlO1xuICBib3JkZXItcmFkaXVzOiA3cHg7XG4gIHBhZGRpbmc6IDNyZW0gMS41cmVtOyB9XG5cbi5hbWZvcm0tdmVyc2lvbnR3by1sYWJlbCB7XG4gIGZvbnQtc2l6ZTogMC44NWVtOyB9XG5cbi5yZW5kZXJlZC1mb3JtIC5jaGVja2JveC1ncm91cCB7XG4gIGJvcmRlcjogMnB4IHNvbGlkICNkY2RjZGM7XG4gIGJvcmRlci1yYWRpdXM6IDQwcHg7XG4gIHBhZGRpbmc6IDJyZW0gNHJlbTsgfVxuXG4ucmVuZGVyZWQtZm9ybSAuZm9ybS1jb250cm9sOm5vdChbbmFtZT1cImRvY3VtZW50XCJdKSwgLnJlbmRlcmVkLWZvcm0gb3V0cHV0IHtcbiAgZm9udC1zaXplOiAxZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjI3NWVtO1xuICBwYWRkaW5nOiAwLjc1ZW0gMWVtO1xuICBjb2xvcjogIzQ1NWE2NDtcbiAgYmFja2dyb3VuZDogI2ZmZjtcbiAgYm9yZGVyLXJhZGl1czogMjAwcHg7XG4gIGJvcmRlcjogMnB4IHNvbGlkICNkY2RjZGM7XG4gIGJveC1zaGFkb3c6IG5vbmU7XG4gIHRyYW5zaXRpb246IGJvcmRlci1jb2xvciAwLjVzO1xuICBtYXJnaW46IDAgMCAwLjJlbTtcbiAgd2lkdGg6IDEwMCU7XG4gIGJhY2tncm91bmQtY2xpcDogcGFkZGluZy1ib3g7XG4gIGZvbnQtZmFtaWx5OiBpbmhlcml0OyB9XG5cbi5yZW5kZXJlZC1mb3JtIC5maWVsZHNldCAuZmllbGRzIC5maWVsZC5mb3JtLWdyb3VwIHtcbiAgbWFyZ2luLWJvdHRvbTogM3JlbTsgfVxuXG4ucmVuZGVyZWQtZm9ybSAuZmllbGRzZXQgLmZpZWxkcyAuZmllbGQgLmlucHV0LXRleHQ6aG92ZXI6bm90KFtkaXNhYmxlZF0pLCAucmVuZGVyZWQtZm9ybSAuZmllbGRzZXQgLmZpZWxkcyAuZmllbGQgLmlucHV0LXRleHQ6Zm9jdXM6bm90KFtkaXNhYmxlZF0pIHtcbiAgYm9yZGVyOiAycHggc29saWQgIzdlNTdjMiAhaW1wb3J0YW50O1xuICBib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7IH1cblxuLmFtZm9ybS1mb3JtIC5hY3Rpb24ucHJpbWFyeSwgLmFtZm9ybS1wYXJlbnQgLmFjdGlvbi5wcmltYXJ5IHtcbiAgYmFja2dyb3VuZDogIzdlNTdjMjtcbiAgYm9yZGVyLXJhZGl1czogNTBweDtcbiAgcGFkZGluZzogMXJlbSAyLjVyZW07XG4gIG1hcmdpbi10b3A6IDRyZW07XG4gIGNvbG9yOiAjZmZmO1xuICBmb250LXNpemU6IDEuOHJlbTtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIGxldHRlci1zcGFjaW5nOiAxcHg7XG4gIGJvcmRlcjogbm9uZTtcbiAgd2lkdGg6IDEwMCU7IH1cbiAgLmFtZm9ybS1mb3JtIC5hY3Rpb24ucHJpbWFyeTpob3ZlciwgLmFtZm9ybS1wYXJlbnQgLmFjdGlvbi5wcmltYXJ5OmhvdmVyIHtcbiAgICBjb2xvcjogI2ZmZjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNGQyYzkxOyB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgLmFtZm9ybS1mb3JtIC5hY3Rpb24ucHJpbWFyeSwgLmFtZm9ybS1wYXJlbnQgLmFjdGlvbi5wcmltYXJ5IHtcbiAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlOyB9IH1cblxuLmFtZm9ybS1mb3JtIC5hbWNmb3JtLXRvb2xiYXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kOyB9XG4iLCJAaW1wb3J0ICdjb25maWcvdmFyaWFibGVzJztcclxuQGltcG9ydCAndmVuZG9ycy9pbmNsdWRlLW1lZGlhJztcclxuXHJcbi5yZW5kZXJlZC1mb3JtIGJ1dHRvbiwgXHJcbi5yZW5kZXJlZC1mb3JtIGlucHV0LCBcclxuLnJlbmRlcmVkLWZvcm0gc2VsZWN0LCBcclxuLnJlbmRlcmVkLWZvcm0gdGV4dGFyZWF7XHJcbiAgICBmb250LXNpemU6IDFlbTtcclxuICAgIGxpbmUtaGVpZ2h0OiAxLjI3NWVtO1xyXG4gICAgcGFkZGluZzogMC43NWVtIDFlbTtcclxuICAgIGNvbG9yOiAjNDU1YTY0O1xyXG4gICAgYmFja2dyb3VuZDogI2ZmZjtcclxuICAgIGJvcmRlci1yYWRpdXM6IDIwMHB4O1xyXG4gICAgYm9yZGVyOiAycHggc29saWQgI2RjZGNkYztcclxuICAgIGJveC1zaGFkb3c6IG5vbmU7XHJcbiAgICB0cmFuc2l0aW9uOiBib3JkZXItY29sb3IgMC41cztcclxuICAgIG1hcmdpbjogMCAwIDAuMmVtO1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBiYWNrZ3JvdW5kLWNsaXA6IHBhZGRpbmctYm94O1xyXG4gICAgZm9udC1mYW1pbHk6IGluaGVyaXQ7XHJcbn1cclxuLnJlbmRlcmVkLWZvcm0gaW5wdXQuYW1mb3JtLWNoZWNrYm94IHtcclxuICAgIHdpZHRoOiBhdXRvO1xyXG59XHJcblxyXG4uYW1jZm9ybS1wYWdlLXdyYXB7XHJcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xyXG59XHJcbi5hbWZvcm0tZm9ybSB7XHJcbiAgICBtYXJnaW46IDAgYXV0byAxMHB4O1xyXG4gICAgbWF4LXdpZHRoOiA3MDBweDtcclxuICAgIGJhY2tncm91bmQ6IHdoaXRlO1xyXG4gICAgYm9yZGVyLXJhZGl1czogN3B4O1xyXG4gICAgcGFkZGluZzogM3JlbSAxLjVyZW07XHJcbn1cclxuXHJcbi5hbWZvcm0tdmVyc2lvbnR3by1sYWJlbHtcclxuICAgIGZvbnQtc2l6ZTogMC44NWVtO1xyXG59XHJcblxyXG4ucmVuZGVyZWQtZm9ybXtcclxuICAgIC5jaGVja2JveC1ncm91cHtcclxuICAgICAgICBib3JkZXI6IDJweCBzb2xpZCAjZGNkY2RjO1xyXG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDQwcHg7XHJcbiAgICAgICAgcGFkZGluZzogMnJlbSA0cmVtO1xyXG4gICAgfVxyXG59XHJcbi5yZW5kZXJlZC1mb3JtIC5mb3JtLWNvbnRyb2w6bm90KFtuYW1lPVwiZG9jdW1lbnRcIl0pLCAucmVuZGVyZWQtZm9ybSBvdXRwdXR7XHJcbiAgICBmb250LXNpemU6IDFlbTtcclxuICAgIGxpbmUtaGVpZ2h0OiAxLjI3NWVtO1xyXG4gICAgcGFkZGluZzogMC43NWVtIDFlbTtcclxuICAgIGNvbG9yOiAjNDU1YTY0O1xyXG4gICAgYmFja2dyb3VuZDogI2ZmZjtcclxuICAgIGJvcmRlci1yYWRpdXM6IDIwMHB4O1xyXG4gICAgYm9yZGVyOiAycHggc29saWQgI2RjZGNkYztcclxuICAgIGJveC1zaGFkb3c6IG5vbmU7XHJcbiAgICB0cmFuc2l0aW9uOiBib3JkZXItY29sb3IgMC41cztcclxuICAgIG1hcmdpbjogMCAwIDAuMmVtO1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBiYWNrZ3JvdW5kLWNsaXA6IHBhZGRpbmctYm94O1xyXG4gICAgZm9udC1mYW1pbHk6IGluaGVyaXQ7XHJcbn1cclxuLnJlbmRlcmVkLWZvcm0gLmZpZWxkc2V0IC5maWVsZHMge1xyXG4gICAgLmZpZWxkLmZvcm0tZ3JvdXB7XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogM3JlbTtcclxuICAgIH1cclxuXHJcbiAgICAuZmllbGQgLmlucHV0LXRleHQ6aG92ZXI6bm90KFtkaXNhYmxlZF0pLCAuZmllbGQgLmlucHV0LXRleHQ6Zm9jdXM6bm90KFtkaXNhYmxlZF0pIHtcclxuICAgICAgICBib3JkZXI6IDJweCBzb2xpZCAjN2U1N2MyIWltcG9ydGFudDtcclxuICAgICAgICBib3gtc2hhZG93OiBub25lIWltcG9ydGFudDtcclxuICAgIH1cclxuXHJcbiAgICBsYWJlbC5mYi1jaGVja2JveC1ncm91cC1sYWJlbC5sYWJlbHtcclxuICAgICAgICAvLyB0b3A6LTNyZW07XHJcbiAgICAgICAgLy8gcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgIC8vIGxlZnQ6IDA7XHJcbiAgICAgICAgLy8gd2lkdGg6IGluaGVyaXQ7XHJcbiAgICB9XHJcbn1cclxuXHJcbi5hbWZvcm0tZm9ybSAuYWN0aW9uLnByaW1hcnksIC5hbWZvcm0tcGFyZW50IC5hY3Rpb24ucHJpbWFyeXtcclxuICAgIGJhY2tncm91bmQ6ICRjb2xvcl9wYXBpbGFydF9wdXJwbGU7XHJcbiAgICBib3JkZXItcmFkaXVzOiA1MHB4O1xyXG4gICAgcGFkZGluZzogMXJlbSAyLjVyZW07XHJcbiAgICBtYXJnaW4tdG9wOiA0cmVtO1xyXG4gICAgY29sb3I6ICRjb2xvcl93aGl0ZTtcclxuICAgIGZvbnQtc2l6ZTogMS44cmVtO1xyXG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XHJcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xyXG4gICAgbGV0dGVyLXNwYWNpbmc6IDFweDtcclxuICAgIGJvcmRlcjogbm9uZTtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgJjpob3ZlcntcclxuICAgICAgICBjb2xvcjogJGNvbG9yX3doaXRlO1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICM0ZDJjOTE7XHJcbiAgICB9XHJcbiAgICBAaW5jbHVkZSBtZWRpYSgnPj10YWJsZXQnKSB7XHJcbiAgICAgICAgd2lkdGg6IGF1dG87XHJcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgIC8vIHJpZ2h0OiAxMiU7XHJcbiAgICB9XHJcbn1cclxuLmFtZm9ybS1mb3JtIC5hbWNmb3JtLXRvb2xiYXJ7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcclxufSIsIi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG5AdXNlICdzYXNzOm1hcCc7XG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG4vKipcbiogRGVmYXVsdCBwcm9qZWN0IGJyZWFrcG9pbnRzIC0gW2VtXVxuKi9cbi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG5AdXNlICdzYXNzOm1hcCc7XG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG4vKipcbiogRGVmYXVsdCBwcm9qZWN0IGJyZWFrcG9pbnRzIC0gW2VtXVxuKi9cbi5yZWRpbmdvLXVuaXQtcHJpY2Utd3JhcHBlciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIHBhZGRpbmc6IDAgMCAwLjVyZW0gMDtcbiAgZm9udC1zaXplOiAxLjRyZW07IH1cbiIsIkBpbXBvcnQgJ3ZlbmRvcnMvaW5jbHVkZS1tZWRpYSc7XG5AaW1wb3J0ICdjb25maWcvdmFyaWFibGVzJztcblxuLnJlZGluZ28tdW5pdC1wcmljZS13cmFwcGVye1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIHBhZGRpbmc6IDAgMCAwLjVyZW0gMDtcbiAgICBmb250LXNpemU6IDEuNHJlbTtcbn0iLCIvKipcbiAqIEJyZWFrcG9pbnQgY29tcG9uZW50IHVzZWQgYnkgaW5jbHVkZS1tZWRpYSB2ZW5kb3IgbGlicmFyeS5cbiAqL1xuQHVzZSAnc2FzczptYXAnO1xuLyoqXG4gKiBFeHRyYWN0cyBuZXN0ZWQga2V5cyBmcm9tIGdpdmVuIG1hcC5cbiAqIEV4YW1wbGU6IGRlZXAtZ2V0KCRzb21lLW1hcCwgc29tZSwgbmVzdGVkLCBrZXlzKTtcbiAqL1xuLyoqXG4qIERlZmF1bHQgcHJvamVjdCBicmVha3BvaW50cyAtIFtlbV1cbiovXG4vKipcbiAqIEJyZWFrcG9pbnQgY29tcG9uZW50IHVzZWQgYnkgaW5jbHVkZS1tZWRpYSB2ZW5kb3IgbGlicmFyeS5cbiAqL1xuQHVzZSAnc2FzczptYXAnO1xuLyoqXG4gKiBFeHRyYWN0cyBuZXN0ZWQga2V5cyBmcm9tIGdpdmVuIG1hcC5cbiAqIEV4YW1wbGU6IGRlZXAtZ2V0KCRzb21lLW1hcCwgc29tZSwgbmVzdGVkLCBrZXlzKTtcbiAqL1xuLyoqXG4qIERlZmF1bHQgcHJvamVjdCBicmVha3BvaW50cyAtIFtlbV1cbiovXG4ud2lzaGxpc3QgLmNzLWhlYWRlci11c2VyLW5hdl9fcXR5LWNvdW50ZXItLXdpc2hsaXN0IHtcbiAgY29sb3I6ICNmZmY7XG4gIGJhY2tncm91bmQtY29sb3I6ICMxN2M4YzA7XG4gIHRvcDogLTVweDtcbiAgcmlnaHQ6IC04cHg7XG4gIHBhZGRpbmc6IDAuOHJlbTtcbiAgd2lkdGg6IDE1cHg7XG4gIGhlaWdodDogMTVweDtcbiAgcG9zaXRpb246IGFic29sdXRlOyB9XG4gIC53aXNobGlzdCAuY3MtaGVhZGVyLXVzZXItbmF2X19xdHktY291bnRlci0td2lzaGxpc3Q6OmJlZm9yZSB7XG4gICAgY29udGVudDogbm9uZTsgfVxuICAud2lzaGxpc3QgLmNzLWhlYWRlci11c2VyLW5hdl9fcXR5LWNvdW50ZXItLXdpc2hsaXN0IC5jcy1oZWFkZXItdXNlci1uYXZfX3F0eS1jb3VudGVyLXNwYW4ge1xuICAgIG1pbi13aWR0aDogMTVweDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgZm9udC1zaXplOiAxcmVtOyB9XG5cbi5jcy1idXlib3hfX3NlY3Rpb24tLWV4dHJhcyB7XG4gIHBhZGRpbmctdG9wOiAxLjVyZW0gIWltcG9ydGFudDtcbiAgcGFkZGluZy1ib3R0b206IDEuNXJlbSAhaW1wb3J0YW50O1xuICB3aWR0aDogMTAwJTsgfVxuICBAbWVkaWEgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC5jcy1idXlib3hfX3NlY3Rpb24tLWV4dHJhcyB7XG4gICAgICBwYWRkaW5nLXRvcDogMCAhaW1wb3J0YW50OyB9IH1cbiAgLmNzLWJ1eWJveF9fc2VjdGlvbi0tZXh0cmFzIC5jcy1idXlib3hfX2FkZHRvLWxpc3Qge1xuICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDsgfVxuICAuY3MtYnV5Ym94X19zZWN0aW9uLS1leHRyYXMgLmNzLWJ1eWJveF9fYWRkdG8taXRlbS0td2lzaGxpc3QgLmNzLWJ1eWJveF9fYWRkdG8taWNvbi0td2lzaGxpc3Qge1xuICAgIHdpZHRoOiAycmVtO1xuICAgIGhlaWdodDogMnJlbTsgfVxuIiwiQGltcG9ydCAnY29uZmlnL3ZhcmlhYmxlcyc7XG5AaW1wb3J0ICd2ZW5kb3JzL2luY2x1ZGUtbWVkaWEnO1xuXG5cbi53aXNobGlzdHtcbiAgICAuY3MtaGVhZGVyLXVzZXItbmF2X19xdHktY291bnRlci0td2lzaGxpc3R7XG4gICAgICAgIGNvbG9yOiAkY29sb3Jfd2hpdGU7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvcl9wYXBpbGFydF9hcXVhO1xuICAgICAgICB0b3A6IC01cHg7XG4gICAgICAgIHJpZ2h0OiAtOHB4O1xuICAgICAgICBwYWRkaW5nOiAwLjhyZW07XG4gICAgICAgIHdpZHRoOiAxNXB4O1xuICAgICAgICBoZWlnaHQ6IDE1cHg7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgJjo6YmVmb3Jle1xuICAgICAgICAgICAgY29udGVudDogbm9uZTtcbiAgICAgICAgfVxuICAgICAgICAuY3MtaGVhZGVyLXVzZXItbmF2X19xdHktY291bnRlci1zcGFue1xuICAgICAgICAgICAgbWluLXdpZHRoOiAxNXB4O1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLy8gY2F0YWxvZyBwcm9kdWN0XG4uY3MtYnV5Ym94X19zZWN0aW9uLS1leHRyYXN7XG4gICAgcGFkZGluZy10b3A6IDEuNXJlbSFpbXBvcnRhbnQ7XG4gICAgcGFkZGluZy1ib3R0b206IDEuNXJlbSFpbXBvcnRhbnQ7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgQGluY2x1ZGUgbWVkaWEoJz49dGFibGV0Jykge1xuICAgICAgICBwYWRkaW5nLXRvcDogMCFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgLmNzLWJ1eWJveF9fYWRkdG8tbGlzdHtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICAgIH1cbiAgICAuY3MtYnV5Ym94X19hZGR0by1pdGVtLS13aXNobGlzdHtcbiAgICAgICAgLmNzLWJ1eWJveF9fYWRkdG8taWNvbi0td2lzaGxpc3R7XG4gICAgICAgICAgICB3aWR0aDogMnJlbTtcbiAgICAgICAgICAgIGhlaWdodDogMnJlbTtcbiAgICAgICAgfVxuICAgIH1cbn0iLCIvKipcbiAqIEJyZWFrcG9pbnQgY29tcG9uZW50IHVzZWQgYnkgaW5jbHVkZS1tZWRpYSB2ZW5kb3IgbGlicmFyeS5cbiAqL1xuQHVzZSAnc2FzczptYXAnO1xuLyoqXG4gKiBFeHRyYWN0cyBuZXN0ZWQga2V5cyBmcm9tIGdpdmVuIG1hcC5cbiAqIEV4YW1wbGU6IGRlZXAtZ2V0KCRzb21lLW1hcCwgc29tZSwgbmVzdGVkLCBrZXlzKTtcbiAqL1xuLyoqXG4qIERlZmF1bHQgcHJvamVjdCBicmVha3BvaW50cyAtIFtlbV1cbiovXG4vKipcbiAqIEJyZWFrcG9pbnQgY29tcG9uZW50IHVzZWQgYnkgaW5jbHVkZS1tZWRpYSB2ZW5kb3IgbGlicmFyeS5cbiAqL1xuQHVzZSAnc2FzczptYXAnO1xuLyoqXG4gKiBFeHRyYWN0cyBuZXN0ZWQga2V5cyBmcm9tIGdpdmVuIG1hcC5cbiAqIEV4YW1wbGU6IGRlZXAtZ2V0KCRzb21lLW1hcCwgc29tZSwgbmVzdGVkLCBrZXlzKTtcbiAqL1xuLyoqXG4qIERlZmF1bHQgcHJvamVjdCBicmVha3BvaW50cyAtIFtlbV1cbiovXG5AbWVkaWEgKG1heC13aWR0aDogNDcuOTllbSkge1xuICAucGFnZWJ1aWxkZXItbW9iaWxlLW9ubHkge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsgfSB9XG5cbi5wYWdlYnVpbGRlci1tb2JpbGUtaGlkZGVuIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuIiwiQGltcG9ydCAndmVuZG9ycy9pbmNsdWRlLW1lZGlhJztcbkBpbXBvcnQgJ2NvbmZpZy92YXJpYWJsZXMnO1xuXG4ucGFnZWJ1aWxkZXItbW9iaWxlLW9ubHl7XG4gICAgQGluY2x1ZGUgbWVkaWEoJzx0YWJsZXQnKSB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB9XG59XG4ucGFnZWJ1aWxkZXItbW9iaWxlLWhpZGRlbntcbiAgICBkaXNwbGF5OiBub25lO1xufSJdLCJtYXBwaW5ncyI6IkFBQUE7O0FDRUE7QURDQTtBRUhBOzs7QURPQTtBRGtCQTs7QUNmQTtBRFZBOztBQ2FBO0FEVkE7QUVIQTs7O0FEa0JBO0FET0E7O0FDSkE7QUVmQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUVBOzs7QUFHQTtBQUNBO0FBRUE7QUNqQkE7QURtQkE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7Ozs7QUFJQTtBQUNBO0FBRUE7QUFFQTtBQUNBO0FBQUE7QUFBQTtBQURBO0FBS0E7QUFDQTtBQUNBO0FBSUE7QUFFQTtBQUVBO0FBUUE7QUFWQTtBQUtBO0FBQ0E7QUFDQTtBQVBBO0FBZUE7QUFDQTtBQUlBO0FBRUE7O0FIMUVBOztBS0VBO0FMQ0E7QUVIQTs7O0FHT0E7QUxrQkE7O0FLZkE7QUxWQTs7QUthQTtBTFZBO0FFSEE7OztBR2tCQTtBTE9BOztBS0pBO0FMckJBOztBS3dCQTtBTHJCQTtBRUhBOzs7QUc2QkE7QUxKQTs7QUtPQTtBQzlCQTs7QURpQ0E7QUM3QkE7OztBRGlDQTtBQ3hCQTs7O0FENEJBO0FDbEJBOztBRHFCQTtBRTFDQTtBRE9BO0FBQ0E7QUNKQTtBQUNBO0FBQ0E7QUFFQTtBRGlCQTtBQUNBO0FBQ0E7QUNqQkE7QUFGQTtBQU1BO0FBQ0E7QUFDQTtBQUlBO0FBQ0E7QUNvaEJBO0FEcmhCQTtBQUlBO0FDaWhCQTtBRHJoQkE7QUFRQTtBQzZnQkE7QURy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O0FZcEVBO0Fia0tBO0FBQ0E7QUFDQTtBYXBLQTtBYjBLQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBSUE7QUFDQTtBQUNBO0FhcExBO0FidUxBO0FBQ0E7QWF4TEE7QWI4T0E7QUFDQTtBQUNBO0FBSUE7QUFDQTtBQUNBO0FhdFBBO0FieVBBO0FBQ0E7QWExUEE7QWIyU0E7QUFDQTtBYXRTQTtBYjhTQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUdBO0FBVUE7QWExVEE7QWJ3V0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUdBO0FBQ0E7QUFDQTtBQW1CQTtBQUNBO0FBQ0E7QWE5WEE7QWJ1REE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUdBO0FBQ0E7QUFDQTtBQUdBO0FBQ0E7QWNsR0E7QURrQ0E7QUFDQTtBQUNBO0FBVEE7QVpsQkE7QVlrQkE7QVpYQTtBQUNBO0FBQ0E7QUFDQTtBQUlBO0FZSUE7QVpNQTtBQUNBO0FBQ0E7QUFJQTtBWVpBO0Faa0NBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBWXZDQTtBWitDQTtBWS9DQTtBYjZJQTtBQUNBO0FBQ0E7QWEvSUE7QWJxSkE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUlBO0FBQ0E7QUFDQTtBYS9KQTtBYmtLQTtBQUNBO0FhbktBO0FieU5BO0FBQ0E7QUFDQTtBQUlBO0FBQ0E7QUFDQTtBYWpPQTtBYm9PQTtBQUNBO0Fhck9BO0Fic1JBO0FBQ0E7QWRxUEE7QTJCNWdCQTtBQ2pCQTtBQUtBO0FBQ0E7QURzQkE7QWJvUkE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFHQTtBQVVBO0FhaFNBO0FiOFVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFHQTtBQUNBO0FBQ0E7QUFtQkE7QUFDQTtBYXBXQTtBQUVBO0FBRkE7QUFLQTs7QW5DL0RBOztBcUNFQTtBckNDQTtBRUhBOzs7QW1DT0E7QXJDa0JBOztBcUNmQTtBckNWQTs7QXFDYUE7QXJDVkE7QUVIQTs7O0FtQ2tCQTtBckNPQTs7QXFDSkE7QXJDckJB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Q0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FDL0lBOzs7OztBRG9KQTtBQUNBO0FDckpBO0FEMEpBO0FBQ0E7QUMzSkE7OztBRDBKQTtBQUNBO0FDM0pBOzs7QUQrSkE7QUMvSkE7Ozs7O0FEeUtBO0FDaEtBOztBRCtNQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQ2xPQTs7O0FEdU9BO0FBQ0E7QUN4T0E7OztBRDhPQTtBQUNBO0FBQ0E7QUNoUEE7O0FEcVBBO0FDclBBOztBRHlQQTtBQUNBO0FBQ0E7QUN2UEE7O0FEa1FBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUFBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQ3JSQTs7O0FEMFJBO0FBQ0E7QUMzUkE7OztBRGlTQTtBQUNBO0FBQ0E7QUNuU0E7O0FEd1NBO0FDeFNBOzs7O0FENlNBO0FBQ0E7QUFDQTtBQy9TQTs7Ozs7O0FEc1RBO0FDNVNBOztBRHdQQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFBQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFnREE7QUFDQTtBQUNBO0FDN1RBOzs7QURnUkE7QUFDQTtBQ2pSQTs7O0FEdVJBO0FBQ0E7QUFDQTtBQ3pSQTs7QUQ4UkE7QUM5UkE7Ozs7QURtU0E7QUFDQTtBQUNBO0FDclNBOzs7Ozs7QUQ0U0E7QUM1U0E7O0FEZ1VBO0FDaFVBOzs7QURrSkE7QUNwSUE7O0FEMklBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQzVJQTs7QURzSkE7QUFDQTtBQUNBO0FBQ0E7QUNySkE7O0FEa0pBO0FBQ0E7QUFDQTtBQUNBO0FBUUE7QUFDQTtBQ3pKQTtBRDJCQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUNuQ0E7QUR1Q0E7QUN2Q0E7QUFRQTtBQVJBO0FEOEhBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUdBO0FDMUhBO0FBWkE7QUQyRUE7QUMzRUE7QURpRkE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUM3RkE7QURrR0E7QUFDQTtBQ25HQTtBRHdHQTtBQUNBO0FDekdBO0FEd0dBO0FBQ0E7QUN6R0E7QUQ2R0E7QUM3R0E7QUF5QkE7QUFDQTtBQUNBO0FBM0JBO0FBOEJBO0FBOUJBO0FEdURBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQzVEQTtBQXlDQTtBQUNBO0FBMUNBO0FEbUVBO0FBQ0E7QUNwRUE7QUF5REE7QUF6REE7QURpRkE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUM3RkE7QURrR0E7QUFDQTtBQ25HQTtBRHdHQTtBQUNBO0FDekdBO0FEd0dBO0FBQ0E7QUN6R0E7QUQ2R0E7QUM3R0E7QUR1SEE7QUN2SEE7QUF1RUE7QUF2RUE7QURzS0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUN6TEE7QUQ4TEE7QUFDQTtBQy9MQTtBRHFNQTtBQUNBO0FBQ0E7QUN2TUE7QUQ0TUE7QUM1TUE7QURnTkE7QUFDQTtBQUNBO0FDbE5BO0FENk5BO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUFBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQWdEQTtBQUNBO0FBQ0E7QUNsU0E7QURxUEE7QUFDQTtBQ3RQQTtBRDRQQTtBQUNBO0FBQ0E7QUM5UEE7QURtUUE7QUNuUUE7QUR3UUE7QUFDQTtBQUNBO0FDMVFBOzs7QURpUkE7QUNqUkE7QURxU0E7QUNyU0E7QUR1SEE7QUN2SEE7QUQ2TkE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQUE7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FDaFBBO0FEcVBBO0FBQ0E7QUN0UEE7QUQ0UEE7QUFDQTtBQUNBO0FDOVBBO0FEbVFBO0FDblFBO0FEd1FBO0FBQ0E7QUFDQTtBQzFRQTs7O0FEaVJBO0FDalJBO0FEc0tBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FDekxBO0FEOExBO0FBQ0E7QUMvTEE7QURxTUE7QUFDQTtBQUNBO0FDdk1BO0FENE1BO0FDNU1BO0FEZ05BO0FBQ0E7QUFDQTtBQ2xOQTtBRGlGQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQzdGQTtBRGtHQTtBQUNBO0FDbkdBO0FEd0dBO0FBQ0E7QUN6R0E7QUR3R0E7QUFDQTtBQ3pHQTtBRDZHQTtBQzdHQTtBRHVIQTtBQ3ZIQTtBN0JnQkE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUdBO0FBQ0E7QUFDQTtBQUdBO0FBQ0E7QTZCaENBO0E3Qm1FQTtBNkJuRUE7QTdCc0dBO0FBQ0E7QUFDQTtBNkJ4R0E7QTdCOEdBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFlQTtBQUNBO0FBQ0E7QTZCbklBO0E3QnNJQTtBQUNBO0E2QnZJQTtBN0JrTEE7QUFDQTtBQUNBO0FBZUE7QUFDQTtBQUNBO0E2QnJNQTtBN0J3TUE7QUFDQTtBNkJ6TUE7QTdCK09BO0FBQ0E7QTZCaFBBO0E3QndQQTtBQUNBO0FBQ0E7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QWdCQTtBQUNBO0FBSUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUlBO0FBQ0E7QUFDQTtBQUVBO0FBRUE7QUFDQTtBQUlBO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QTVDOFBBO0E0Q25RQTtBQVFBO0FBUkE7O0FBYUE7QUFDQTtBQWRBOztBQWlCQTtBQUNBO0FBbEJBO0FBdUJBO0FBQ0E7QUFDQTtBNUMwT0E7QTRDblFBO0FBNEJBO0FBQ0E7QUE3QkE7QUFpQ0E7QUFDQTtBQWxDQTtBQXVDQTtBQUNBOztBcERsVkE7O0F1REVBO0F2RENBO0FFSEE7OztBcURPQTtBdkRrQkE7O0F1RGZBO0F2RFZBOztBdURhQTtBdkRWQTtBRUhBOzs7QXFEa0JBO0F2RE9BOztBdURKQTtBdkJyQkE7O0F1QndCQTtBdkR4QkE7O0F1RDJCQTtBdkR4QkE7QUVIQTs7O0FxRGdDQTtBdkRQQTs7QXVEVUE7QTlDbkNBO0FBWUE7QVRaQTs7QXVEd0NBO0F2RHJDQTtBRUhBOzs7QXFENkNBO0F2RHBCQTs7QXVEdUJBO0FDakNBO0F4QlZBO0FBQ0E7QUFDQTtBd0JhQTtBQUNBO0FBTkE7QTdDeUJBO0FBQ0E7QTZDMUJBO0E3Q2tDQTtBQUNBO0E2Q25DQTtBQWlCQTtBQUNBO0FBQ0E7QWhEMmdCQTtBZ0Q5aEJBO0FBdUJBO0FBQ0E7O0F4RHZDQTs7QXlERUE7QXpEQ0E7QUVIQTs7O0F1RE9BO0F6RGtCQTs7QXlEZkE7QXpEVkE7O0F5RGFBO0F6RFZBO0FFSEE7OztBdURrQkE7QXpET0E7O0F5REpBO0FoRHJCQTtBQVlBO0FUWkE7O0F5RDBCQTtBekR2QkE7QUVIQTs7O0F1RCtCQTtBekROQTs7QXlEU0E7QUNaQTtBQUdBO0FBR0E7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUtBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFKQTtBL0NFQTtBQUNBO0ErQ0hBO0EvQ1dBO0FBQ0E7QStDSUE7QUFDQTtBQUNBO0FBRkE7QUFLQTtBQUNBO0FBQ0E7QUFQQTtBL0NkQTtBQUNBO0ErQ2FBO0EvQ0xBO0FBQ0E7QStDeUJBO0FB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OztBaUVPQTtBbkVrQkE7O0FtRWZBO0FuRVZBOztBbUVhQTtBbkVWQTtBRUhBOzs7QWlFa0JBO0FuRU9BOztBbUVKQTtBbkVyQkE7O0FtRXdCQTtBbkVyQkE7QUVIQTs7O0FpRTZCQTtBbkVKQTs7QW1FT0E7QW5FaENBOztBbUVtQ0E7QW5FaENBO0FFSEE7OztBaUV3Q0E7QW5FZkE7O0FtRWtCQTtBbkUzQ0E7O0FtRThDQTtBbkUzQ0E7QUVIQTs7O0FpRW1EQTtBbkUxQkE7O0FtRTZCQTtBbkV0REE7O0FtRXlEQTtBbkV0REE7QUVIQTs7O0FpRThEQTtBbkVyQ0E7O0FtRXdDQTtBbkVqRUE7O0FtRW9FQTtBbkVqRUE7QUVIQTs7O0FpRXlFQTtBbkVoREE7O0FtRW1EQTtBQzVFQTtBQVNBO0FDSkE7QUNlQTtBQUNBO0FBQ0E7QUFDQTtBRGZBO0FBQ0E7QWpDSEE7QTVCdWlCQTtBNkR4aUJBO0FqQ1dBO0FBS0E7QUFDQTtBaUNUQTtBQ3VCQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0E5RGtnQkE7QTZEaGlCQTtBQ2lDQTtBRGpDQTtBQ3VDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0E5RHFmQTtBNkRoaUJBO0FDOENBO0FEOUNBO0FDbURBO0FEbkRBO0FDdURBO0FEbkRBO0FDaUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QTlEb2RBO0E2RDVoQkE7QUMyRUE7O0FDNUZBOzs7QUFJQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBS0E7QUFDQTs7QXZFckJBOztBd0VFQTtBeEVDQTtBRUhBOzs7QXNFT0E7QXhFa0JBOztBd0VmQTtBQ0FBO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBR0E7QUFDQTtBQUdBO0FBQ0E7QUFHQTtBQUNBO0FBREE7QUFJQTtBQUVBO0FBQ0E7QUFDQTtBQUtBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUxBO0FBUUE7QUFDQTtBQUlBO0FBQ0E7QUFDQTtBQUNB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QUFDQTtBQUNBO0EyRDRQQTtBM0RwUEE7QTJEb1BBO0E1RHRKQTtBQUNBO0FBQ0E7QTREb0pBO0E1RDlJQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBSUE7QUFDQTtBQUNBO0E0RG9JQTtBNURqSUE7QUFDQTtBNERnSUE7QTVEMUVBO0FBQ0E7QUFDQTtBQUlBO0FBQ0E7QUFDQTtBNERrRUE7QTVEL0RBO0FBQ0E7QTREOERBO0E1RGJBO0FBQ0E7QTREb0JBO0E1RFpBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBR0E7QUFVQTtBNERGQTtBQUdBO0E1RDZDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBR0E7QUFDQTtBQUNBO0FBbUJBO0FBQ0E7QTREckVBO0FBQ0E7QUFHQTtBNURyUUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUdBO0FBQ0E7QUFDQTtBQUdBO0FBQ0E7QTREMlBBO0FBTkE7QTVEbE5BO0E0RGtOQTtBNUQvS0E7QUFDQTtBQUNBO0E0RDZLQTtBNUR2S0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQWVBO0FBQ0E7QUFDQTtBNERrSkE7QTVEL0lBO0FBQ0E7QTREOElBO0E1RG5HQTtBQUNBO0FBQ0E7QUFlQTtBQUNBO0FBQ0E7QTREZ0ZBO0E1RDdFQTtBQUNBO0E0RDRFQTtBNUR0Q0E7QUFDQTtBNEQ2Q0E7QTVEckNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBR0E7QUFVQTtBNER1QkE7QUFHQTtBNURvQkE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUdBO0FBQ0E7QUFDQTtBQW1CQTtBQUNBO0E0RDVDQTtBQUNBO0FBR0E7QTVEOVJBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFHQTtBQUNBO0FBQ0E7QUFHQTtBQUNBO0E0RCtRQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFOQTtBNUQzT0E7QTREMk9BO0E1RHhNQTtBQUNBO0FBQ0E7QTREc01BO0E1RGhNQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBZUE7QUFDQTtBQUNB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QWRBO0FBb0JBO0FBQ0E7QUFDQTtBQXRCQTtBQTRCQTtBQUtBO0FBR0E7QUFDQTtBQUlBO0FBQ0E7QUFEQTtBQUlBO0FBT0E7QUFDQTtBQURBO0FBSUE7QUFRQTtBNUM1TUE7QTRDNE1BO0E1Q3hNQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQTZCQTtBNENxS0E7QTVDckpBO0E0Q3FKQTtBNUM3SUE7QUFDQTtBNEM0SUE7QTVDN0hBO0FBQ0E7QTRDNEhBO0E1QzNHQTtBQUNBO0E0QzBHQTtBNUM5RkE7QUFDQTtBNEMrR0E7QTVDOU5BO0E0QzhOQTtBNUMxTkE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUE2QkE7QTRDdUxBO0E1Q3ZLQTtBNEN1S0E7QTVDekpBO0FBQ0E7QTRDd0pBO0E1Q3pJQTtBQUNBO0E0Q3dJQTtBNUNwRUE7QUFDQTtBNENtRUE7QTVDdkRBO0FBQ0E7QTRDc0RBO0FBZUE7QUFyT0E7QUFnUEE7QUFJQTtBQUNBO0FBQ0E7QUFDQTtBQUhBO0FBTUE7QUFJQTtBQUNBO0FBQ0E7QUFDQTtBQUdBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUlBO0FBQ0E7QUFDQTtBQUNBO0FuRjZPQTtBbUZoUEE7QUFRQTs7QUNyVUE7QTVGQUE7O0E0RkdBO0E1RkFBO0FFSEE7OztBMEZRQTtBNUZpQkE7O0E0RmRBO0E1RlhBOztBNEZjQTtBNUZYQTtBRUhBOzs7QTBGbUJBO0E1Rk1BOztBNEZIQTtBNUZ0QkE7O0E0RnlCQTtBNUZ0QkE7QUVIQTs7O0EwRjhCQTtBNUZMQTs7QTRGUUE7QTVGakNBOztBNEZvQ0E7QTVGakNBO0FFSEE7OztBMEZ5Q0E7QTVGaEJBOztBNEZtQkE7QXRDNUNBOzs7Ozs7Ozs7QXNDc0RBO0E1RnREQTs7QTRGeURBO0E1RnREQTtBRUhBOzs7QTBGOERBO0E1RnJDQTs7QTRGd0NBO0E1QmpFQTtBQVNBO0FDeUJBO0FBR0E7QUFDQTtBQUNBO0FBRUE7QXpEb2dCQTtBeUQzZ0JBO0FBVUE7QXpEaWdCQTtBeUQzZ0JBO0FBYUE7QUFHQTtBQUNBO0FB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a0RBO0FBQ0E7QUFDQTtBQXBEQTtBQXVEQTtBQUNBO0FBeERBO0FBNERBO0FBQ0E7QUE3REE7QUFnRUE7QUFoRUE7QUFtRUE7O0E1Sm5KQTs7QTZKRUE7QTdKQ0E7QUVIQTs7O0EySk9BO0E3SmtCQTs7QTZKZkE7QTdKVkE7O0E2SmFBO0E3SlZBO0FFSEE7OztBMkprQkE7QTdKT0E7O0E2SkpBO0FDbEJBOzs7O0FBSUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBRUE7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUhBO0FBTUE7QUFDQTtBQUNBO0FBVUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBWEE7QUFhQTtBQUNBO0F0SitjQTtBc0o3ZEE7QUFpQkE7QUFDQTtBQUNBO0FBR0E7QUFDQTtBQUNBOztBOUp4R0E7O0ErSkVBO0EvSkNBO0FFSEE7OztBNkpPQTtBL0prQkE7O0ErSmZBO0EvSlZBOztBK0phQTtBL0pWQTtBRUhBOzs7QTZKa0JBO0EvSk9BOztBK0pKQTtBQ2xCQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FoS1JBOztBaUtFQTtBaktDQTtBRUhBOzs7QStKT0E7QWpLa0JBOztBaUtmQTtBaktWQTs7QWlLYUE7QWpLVkE7QUVIQTs7O0ErSmtCQTtBaktPQTs7QWlLSkE7QUNqQkE7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBVEE7QUFXQTtBQVhBO0FBY0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBS0E7QUFDQTtBQUNBO0FBQ0E7QTFKOGdCQTtBMEpqaEJBO0FBS0E7QUFMQTtBQVNBO0FBVEE7QUFhQTtBQUNBOztBbEsxQ0E7O0FtS0VBO0FuS0NBO0FFSEE7OztBaUtPQTtBbktrQkE7O0FtS2ZBO0FuS1ZBOztBbUthQTtBbktWQTtBRUhBOzs7QWlLa0JBO0FuS09BOztBbUtKQTtBM0p3aEJBO0E0SjFpQkE7QUFFQTtBQUNBO0FBRUE7QUFDQTs7Iiwic291cmNlUm9vdCI6IiJ9*//**
 * Breakpoint component used by include-media vendor library.
 */
@use 'sass:map';
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
/**
* Default project breakpoints - [em]
*/
/**
 * Breakpoint component used by include-media vendor library.
 */
@use 'sass:map';
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
/**
* Default project breakpoints - [em]
*/
/***
 * Hide only visually, but have it available for screen readers:
 * https://snook.ca/archives/html_and_css/hiding-content-for-accessibility
 *
 * 1. For long content, line feeds are not interpreted as spaces and small width
 *    causes content to wrap 1 word per line:
 *    https://medium.com/@jessebeach/beware-smushed-off-screen-accessible-text-5952a4c2cbfe
 *
 * @see https://github.com/h5bp/html5-boilerplate/blob/master/src/css/main.css#L130
 */
.login-container .block-new-customer .actions-toolbar {
  margin-top: 2.5rem; }

.login-container .block .block-title {
  font-size: 1.8rem;
  border-bottom: 1px solid #e8e8e8;
  margin-bottom: 1.5rem;
  padding-bottom: 1.2rem; }

.login-container .fieldset:after {
  margin: 1rem 0 0;
  content: attr(data-hasrequired);
  display: block;
  letter-spacing: normal;
  word-spacing: normal;
  color: #e02b27;
  font-size: 1.2rem; }

.block-addresses-list .items.addresses > .item {
  margin-bottom: 2rem; }

.block-addresses-list .items.addresses > .item:last-child {
  margin-bottom: 0; }

.form-address-edit .region_id {
  display: none; }

.form-address-edit .actions-toolbar .action.primary {
  font-size: 1.8rem; }

.form-edit-account .fieldset.password {
  display: none; }

.box-billing-address .box-content,
.box-shipping-address .box-content,
.box-information .box-content,
.box-newsletter .box-content {
  overflow-wrap: break-word;
  word-wrap: break-word;
  word-break: break-word;
  -webkit-hyphens: auto;
          hyphens: auto;
  line-height: 2.6rem; }

.field.password .control {
  display: flex;
  flex-direction: column; }

.field.password .control .mage-error {
  order: 2; }

.field.password .control .input-text {
  order: 0;
  z-index: 2; }

.fieldset .fullname.field > .label {
  border: 0;
  clip: rect(0 0 0 0);
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute;
  width: 1px;
  white-space: nowrap;
  /* 1 */ }
  .fieldset .fullname.field > .label + .control {
    width: 100%; }

.field.street .field .label {
  border: 0;
  clip: rect(0 0 0 0);
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute;
  width: 1px;
  white-space: nowrap;
  /* 1 */ }

.control.captcha-image {
  margin-top: 1rem; }

.control.captcha-image .captcha-img {
  vertical-align: middle; }

@media only screen and (max-width: 639px) {
  .account .column.main,
  .account .sidebar-additional {
    margin: 0; } }

@media (max-width: 47.99em) {
  .login-container .fieldset:after {
    text-align: center; }
  .control.captcha-image .captcha-img {
    margin-bottom: 1rem;
    display: block; }
  .form.search.advanced .field.price .with-addon .input-text {
    flex-basis: auto;
    width: 100%; } }

@media (min-width: 48em) {
  .login-container .block .login .actions-toolbar > .primary {
    margin-bottom: 0;
    margin-right: 3rem; }
  .login-container .block .login .actions-toolbar > .secondary {
    float: left; }
  .fieldset .fullname .field .label {
    padding: 6px 15px 0 0;
    text-align: right;
    width: 25.8%;
    box-sizing: border-box;
    float: left; }
  .fieldset .fullname .field .control {
    width: 74.2%;
    float: left; }
  .block-addresses-list .items.addresses {
    font-size: 0; }
  .block-addresses-list .items.addresses > .item {
    display: inline-block;
    font-size: 1.4rem;
    margin-bottom: 2rem;
    vertical-align: top;
    width: 48.8%; }
  .block-addresses-list .items.addresses > .item:nth-last-child(1),
  .block-addresses-list .items.addresses > .item:nth-last-child(2) {
    margin-bottom: 0; }
  .block-addresses-list .items.addresses > .item:nth-child(even) {
    margin-left: 2.4%; }
  .control.captcha-image .captcha-img {
    margin: 0 1rem 1rem 0; }
  .dashboard-welcome-toggler {
    border: 0;
    clip: rect(0 0 0 0);
    height: 1px;
    margin: -1px;
    overflow: hidden;
    padding: 0;
    position: absolute;
    width: 1px;
    white-space: nowrap;
    /* 1 */ } }

/**
 * Breakpoint component used by include-media vendor library.
 */
@use 'sass:map';
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
/**
* Default project breakpoints - [em]
*/
/**
 * Breakpoint component used by include-media vendor library.
 */
@use 'sass:map';
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
/**
* Default project breakpoints - [em]
*/
.contact-index-index .column:not(.sidebar-main) .form.contact {
  float: none;
  width: 100%; }

.contact-index-index .column:not(.sidebar-additional) .form.contact {
  float: none;
  width: 100%;
  clear: both;
  padding: 4rem 2rem;
  border-radius: 7px;
  background: #fff; }
  @media (min-width: 48em) {
    .contact-index-index .column:not(.sidebar-additional) .form.contact {
      min-width: 60rem; } }

.contact-index-index .cs-dashboard .fieldset {
  max-width: 100% !important; }

.contact-index-index .cs-dashboard .legend {
  padding: 0;
  margin: 0; }
  .contact-index-index .cs-dashboard .legend h2 {
    padding: 0;
    margin: 0; }

.contact-index-index #maincontent {
  background: #edeff1; }

.contact-index-index .section-wrapper {
  padding: 3rem 0;
  margin-left: -1rem;
  margin-right: -1rem; }
  .contact-index-index .section-wrapper .contact-box {
    background: #fff;
    padding: 2rem;
    border-radius: 7px;
    margin: 1rem;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    min-width: 250px; }
    @media (min-width: 64em) {
      .contact-index-index .section-wrapper .contact-box {
        min-height: 347px; } }
    .contact-index-index .section-wrapper .contact-box .contact-btn {
      border: solid 2px;
      border-radius: 60px;
      padding: 0.5rem 1rem 0.5rem 3.5rem;
      display: inline-block;
      margin: 0.5rem 0.5rem 0.5rem 0;
      min-width: 200px;
      text-align: center;
      position: relative; }
      .contact-index-index .section-wrapper .contact-box .contact-btn::before {
        content: url("../../frontend/Creativestyle/theme-papilart/pl_PL/images/icons/telephone-purple.svg");
        position: absolute;
        left: 1.5rem;
        top: 53%;
        transform: translateY(-50%);
        line-height: 1; }
    .contact-index-index .section-wrapper .contact-box .contact-btn-mail::before {
      content: url("../../frontend/Creativestyle/theme-papilart/pl_PL/images/icons/mail-purple.svg"); }
    .contact-index-index .section-wrapper .contact-box .contact-box-hours {
      padding: 1rem;
      display: inline-block;
      padding-left: 2.3rem;
      position: relative; }
      .contact-index-index .section-wrapper .contact-box .contact-box-hours::before {
        content: url("../../frontend/Creativestyle/theme-papilart/pl_PL/images/icons/clock-purple.svg");
        position: absolute;
        left: 0;
        top: 53%;
        line-height: 1;
        transform: translateY(-50%); }
  .contact-index-index .section-wrapper .contact-box-personal-collection {
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 2.5rem;
    min-height: auto;
    padding: 3rem 2rem;
    margin-top: 3rem;
    border: solid 2px #fa7013; }
    .contact-index-index .section-wrapper .contact-box-personal-collection p {
      margin: 0;
      position: relative; }
      @media (min-width: 30em) {
        .contact-index-index .section-wrapper .contact-box-personal-collection p {
          padding-left: 7rem; }
          .contact-index-index .section-wrapper .contact-box-personal-collection p::before {
            content: url(../../frontend/Creativestyle/theme-papilart/pl_PL/images/icons/exclamation-triangle-orange.svg);
            position: absolute;
            top: 50%;
            transform: translateY(-50%);
            left: 0; } }

.contact-index-index .contact-row-tab9 {
  margin-right: -1rem;
  margin-left: -1rem; }
  .contact-index-index .contact-row-tab9 .section-tab-title {
    padding: 6rem 1rem 1rem 1rem;
    margin-bottom: 0; }
  .contact-index-index .contact-row-tab9 .title-tabs-box {
    display: flex;
    padding: 1rem;
    flex-wrap: wrap; }
    .contact-index-index .contact-row-tab9 .title-tabs-box .item.title {
      padding: 1rem 0; }
      .contact-index-index .contact-row-tab9 .title-tabs-box .item.title .switch {
        color: #455a64;
        padding: 1rem 3rem; }
    .contact-index-index .contact-row-tab9 .title-tabs-box .item.title.active > .switch, .contact-index-index .contact-row-tab9 .title-tabs-box .product.data.items > .item.title.active > .switch:focus, .contact-index-index .contact-row-tab9 .title-tabs-box .product.data.items > .item.title.active > .switch:hover {
      border-bottom: solid;
      padding-bottom: 0.8rem;
      color: #17c8c0; }

.contact-index-index .section-contact-tabs {
  margin-bottom: 8rem; }
  .contact-index-index .section-contact-tabs .content-tab-box {
    display: flex;
    flex-direction: column;
    background: #fff;
    padding: 2rem;
    margin: 1rem;
    border-radius: 7px; }
    .contact-index-index .section-contact-tabs .content-tab-box .tab-name {
      font-weight: bold;
      padding-bottom: 1rem;
      font-size: 2rem; }
    .contact-index-index .section-contact-tabs .content-tab-box .tab-link {
      padding-bottom: 1rem;
      padding-left: 4rem; }
    .contact-index-index .section-contact-tabs .content-tab-box .tab-phone {
      position: relative; }
      .contact-index-index .section-contact-tabs .content-tab-box .tab-phone::before {
        content: url("../../frontend/Creativestyle/theme-papilart/pl_PL/images/icons/telephone-gray.svg");
        position: absolute;
        left: 0;
        top: 50%;
        transform: translateY(-50%); }
    .contact-index-index .section-contact-tabs .content-tab-box .tab-mail {
      position: relative; }
      .contact-index-index .section-contact-tabs .content-tab-box .tab-mail::before {
        content: url("../../frontend/Creativestyle/theme-papilart/pl_PL/images/icons/mail-gray.svg");
        position: absolute;
        left: 0;
        top: 50%;
        transform: translateY(-50%); }

.contact-index-index .form.contact .field .control > textarea {
  border-radius: 15px;
  min-height: 354px; }

@media (min-width: 64em) {
  .contact-index-index .form.contact .field.comment.required {
    padding-right: 2rem;
    padding-left: 2rem; } }

@media (min-width: 80em) {
  .contact-index-index .form.contact .box-items-input {
    padding-right: 2rem; } }

.contact-index-index .form.contact .field.terms {
  padding: 1rem 0 0 0; }
  .contact-index-index .form.contact .field.terms .label {
    width: calc(100% - 30px);
    padding-bottom: 0; }

.contact-index-index .form.contact .actions-toolbar {
  display: flex;
  justify-content: flex-end; }

.contact-index-index .form.contact .box-item-terms {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  padding-top: 2rem; }
  @media (min-width: 80em) {
    .contact-index-index .form.contact .box-item-terms {
      min-height: 370px; } }

/**
 * Breakpoint component used by include-media vendor library.
 */
@use 'sass:map';
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
/**
* Default project breakpoints - [em]
*/
/**
 * Breakpoint component used by include-media vendor library.
 */
@use 'sass:map';
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
/**
* Default project breakpoints - [em]
*/
/*
 * Function to get value from a list of values, based on side
 * @param {string} $variable: variable with a list of values (like paddings, margins etc.);
 * @param {string} $side: side (up / right / down / left) for which we want to get value
 * Example:
 * $component_padding: 1rem 2rem 3rem;
 * get-value-from-list($component_padding, 'right') // 2rem
 * get-value-from-list($component_padding, 'bottom') // 3rem
 */
/* stylelint-disable block-no-empty */
/* stylelint-enable */
/**
 * Breakpoint component used by include-media vendor library.
 */
@use 'sass:map';
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
/**
* Default project breakpoints - [em]
*/
/*
 * Function to get value from a list of values, based on side
 * @param {string} $variable: variable with a list of values (like paddings, margins etc.);
 * @param {string} $side: side (up / right / down / left) for which we want to get value
 * Example:
 * $component_padding: 1rem 2rem 3rem;
 * get-value-from-list($component_padding, 'right') // 2rem
 * get-value-from-list($component_padding, 'bottom') // 3rem
 */
/* stylelint-disable block-no-empty */
/* stylelint-enable */
/* stylelint-disable block-no-empty */
/* stylelint-enable */
/* Radio and checkbox styling */
.cs-captcha__image-controls {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  margin-top: 1.5rem; }
  .cs-dashboard .cs-captcha__image-controls {
    flex-direction: column;
    align-items: flex-start; }
    @media (min-width: 30em) {
      .cs-dashboard .cs-captcha__image-controls {
        flex-direction: row;
        align-items: flex-end; } }
  @media (max-width: 48em) {
    .cs-captcha__image-controls {
      flex-wrap: wrap; } }

.cs-captcha__image {
  margin-right: 1rem; }

.cs-captcha__button {
  display: inline-block;
  font-size: 1.8rem;
  font-weight: 700;
  text-align: center;
  position: relative;
  line-height: 1.275em;
  margin: 0;
  text-transform: none;
  padding: 0.75em 1em;
  box-sizing: border-box;
  transition: background-color 0.5s, border-color 0.5s, fill 0.5s, color 0.5s;
  vertical-align: middle;
  z-index: 5; }
  .cs-captcha__button::-moz-focus-inner {
    border: 0;
    padding: 0;
    margin: 0; }
  .cs-captcha__button, .cs-captcha__button:visited {
    cursor: pointer;
    border-radius: 200px;
    outline-offset: 1px;
    text-decoration: none;
    box-shadow: none;
    border: 1px solid #7e57c2;
    color: #7e57c2;
    background-color: #fff; }
    .cs-captcha__button *, .cs-captcha__button:visited * {
      color: #7e57c2;
      fill: #7e57c2; }
  .cs-captcha__button:hover:not([disabled]), .cs-captcha__button:focus:not([disabled]), .cs-captcha__button:active:not([disabled]) {
    box-shadow: none;
    outline: none;
    text-decoration: none;
    border: 1px solid #4d2c91;
    color: #fff;
    background-color: #4d2c91; }
    .cs-captcha__button:hover:not([disabled]) *, .cs-captcha__button:focus:not([disabled]) *, .cs-captcha__button:active:not([disabled]) * {
      color: #fff;
      fill: #fff; }
  .cs-captcha__button[disabled] {
    opacity: 0.65;
    cursor: auto; }
  .cs-dashboard .cs-captcha__button {
    margin-top: 2rem; }
    @media (min-width: 30em) {
      .cs-dashboard .cs-captcha__button {
        margin-top: 0; } }

.cs-captcha__button-span {
  margin-top: 0;
  z-index: 1;
  font-weight: 700;
  vertical-align: baseline;
  display: inline-block;
  line-height: 1.275em;
  letter-spacing: normal; }

.cs-captcha__note {
  display: block;
  font-size: 0.85em;
  padding: 0.3em 0 0;
  color: #696969; }

.cs-dashboard .cs-captcha__wrapper {
  width: 100%;
  margin-bottom: 2rem; }

/**
 * Breakpoint component used by include-media vendor library.
 */
@use 'sass:map';
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
/**
* Default project breakpoints - [em]
*/
/**
 * Breakpoint component used by include-media vendor library.
 */
@use 'sass:map';
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
/**
* Default project breakpoints - [em]
*/
/*
 * Function to get value from a list of values, based on side
 * @param {string} $variable: variable with a list of values (like paddings, margins etc.);
 * @param {string} $side: side (up / right / down / left) for which we want to get value
 * Example:
 * $component_padding: 1rem 2rem 3rem;
 * get-value-from-list($component_padding, 'right') // 2rem
 * get-value-from-list($component_padding, 'bottom') // 3rem
 */
/* stylelint-disable block-no-empty */
/* stylelint-enable */
/**
 * Breakpoint component used by include-media vendor library.
 */
@use 'sass:map';
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
/**
* Default project breakpoints - [em]
*/
/**
 * Breakpoint component used by include-media vendor library.
 */
@use 'sass:map';
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
/**
* Default project breakpoints - [em]
*/
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
/**
 * Breakpoint component used by include-media vendor library.
 */
@use 'sass:map';
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
/**
* Default project breakpoints - [em]
*/
/*
 * Function to get value from a list of values, based on side
 * @param {string} $variable: variable with a list of values (like paddings, margins etc.);
 * @param {string} $side: side (up / right / down / left) for which we want to get value
 * Example:
 * $component_padding: 1rem 2rem 3rem;
 * get-value-from-list($component_padding, 'right') // 2rem
 * get-value-from-list($component_padding, 'bottom') // 3rem
 */
/* stylelint-disable block-no-empty */
/* stylelint-enable */
/* stylelint-disable block-no-empty */
/* stylelint-enable */
/* Radio and checkbox styling */
/**
 * Breakpoint component used by include-media vendor library.
 */
@use 'sass:map';
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
/**
* Default project breakpoints - [em]
*/
/* stylelint-disable block-no-empty */
/* stylelint-enable */
/**
 * Breakpoint component used by include-media vendor library.
 */
@use 'sass:map';
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
/**
* Default project breakpoints - [em]
*/
/**
 * Breakpoint component used by include-media vendor library.
 */
@use 'sass:map';
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
/**
* Default project breakpoints - [em]
*/
/**
 * Breakpoint component used by include-media vendor library.
 */
@use 'sass:map';
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
/**
* Default project breakpoints - [em]
*/
/**
 * Breakpoint component used by include-media vendor library.
 */
@use 'sass:map';
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
/**
* Default project breakpoints - [em]
*/
/***
 * Remove browser's margins, paddings and list style rules
 */
.cs-dashboard {
  width: 100%; }
  @media (min-width: 48em) {
    .cs-dashboard__columns {
      display: flex;
      flex-wrap: wrap;
      align-items: stretch; }
      .cs-dashboard__columns:before, .cs-dashboard__columns:after {
        display: none; } }
  .cs-dashboard__messages {
    width: 100%; }
  .cs-dashboard__sidebar {
    order: 1; }
    @media (min-width: 48em) {
      .cs-dashboard__sidebar {
        width: calc(100% / 3);
        padding: 0 1.5rem 0 0; } }
    @media (min-width: 64em) {
      .cs-dashboard__sidebar {
        width: calc(100% / 3);
        padding: 0 1.5rem 0 0; } }
    @media (min-width: 80em) {
      .cs-dashboard__sidebar {
        width: calc(100% / 4); } }
    @media (min-width: 90em) {
      .cs-dashboard__sidebar {
        width: calc(100% / 4); } }
    @media (min-width: 120em) {
      .cs-dashboard__sidebar {
        width: calc(100% / 4); } }
  .cs-dashboard__main {
    order: 2; }
    @media (min-width: 48em) {
      .cs-dashboard__main {
        width: calc(100% - (100% / 3));
        padding: 1.5rem 0 0 1.5rem; } }
    @media (min-width: 64em) {
      .cs-dashboard__main {
        width: calc(100% - (100% / 3));
        padding: 1.5rem 0 0 1.5rem; } }
    @media (min-width: 80em) {
      .cs-dashboard__main {
        width: calc(100% - (100% / 4)); } }
    @media (min-width: 90em) {
      .cs-dashboard__main {
        width: calc(100% - (100% / 4)); } }
    @media (min-width: 120em) {
      .cs-dashboard__main {
        width: calc(100% - (100% / 4)); } }
  .cs-dashboard .cs-page-category__main--search-no-result {
    width: 100%; }
  .cs-dashboard__columns {
    position: relative;
    margin: 3rem 0; }
    @media (min-width: 48em) {
      .cs-dashboard__columns {
        padding: 0 0 2rem; } }
  @media (min-width: 64em) {
    .cs-dashboard__sidebar {
      padding: 0; } }
  .cs-dashboard__main {
    margin-bottom: 2rem;
    margin-top: 2rem;
    box-sizing: border-box; }
    @media (min-width: 48em) {
      .cs-dashboard__main {
        padding: 0 0 0 3.5rem;
        margin-top: 0; } }
    @media (min-width: 48em) {
      .wishlist-index-index.page-layout-1column .cs-dashboard__main {
        width: 100% !important; } }
  .cs-dashboard__top {
    padding: 0 0 3rem; }
  .cs-dashboard .page-title {
    margin: 0;
    padding: 0 0 1rem 0; }
  .cs-dashboard .columns .column.main {
    padding: 0; }
  .cs-dashboard .message-error,
  .cs-dashboard .message-success,
  .cs-dashboard .message-notice {
    margin-bottom: 1rem; }
  .cs-dashboard .page-title-wrapper {
    background: transparent; }
  .cs-dashboard__bottom {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    padding-top: 2rem;
    border-top: 2px solid #dcdcdc; }
    @media (min-width: 48em) {
      .cs-dashboard__bottom {
        width: 100%;
        padding-top: 3rem; } }
  .cs-dashboard__wishlist-line {
    margin: 0; }
  .cs-dashboard__wishlist-products-grid {
    margin: 0 0 3rem; }
    @media (min-width: 48em) {
      .cs-dashboard__wishlist-products-grid {
        margin: 0 0 4rem; } }
    .cs-dashboard__wishlist-products-grid--skip-spacing {
      margin: 0; }
  .cs-dashboard__wishlist-guest-code {
    overflow-wrap: break-word; }
  .cs-dashboard__bottom-wishlist {
    margin: 0 0 3rem;
    display: flex;
    flex-wrap: wrap;
    list-style: none;
    padding: 0;
    width: 100%; }
    @media (min-width: 48em) {
      .cs-dashboard__bottom-wishlist {
        margin: 0 0 4rem; } }
    .cs-dashboard__bottom-wishlist--skip-spacing {
      margin: 0; }
    .cs-dashboard__bottom-wishlist-item {
      width: 100%; }
      @media (min-width: 30em) {
        .cs-dashboard__bottom-wishlist-item {
          width: 50%; } }
      @media (min-width: 48em) {
        .cs-dashboard__bottom-wishlist-item {
          width: 33.33%; } }
      .cs-dashboard__bottom-wishlist-item:nth-child(n + 4) {
        display: none; }
  .cs-dashboard__login {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between; }
    @media (min-width: 48em) {
      .cs-dashboard__login {
        flex-wrap: nowrap;
        padding: 0; } }
    .cs-dashboard__login-section {
      width: 100%;
      background: transparent;
      box-sizing: border-box;
      margin-bottom: 2rem; }
      @media (min-width: 48em) {
        .cs-dashboard__login-section {
          width: 50%; }
          .cs-dashboard__login-section:nth-child(2n + 1) {
            padding-right: 2rem; }
          .cs-dashboard__login-section:nth-child(2n + 2) {
            padding-left: 2rem; } }
  .cs-dashboard__contact-form {
    box-sizing: border-box;
    width: 100%;
    margin-bottom: 2rem;
    background: transparent; }
  .cs-dashboard .fieldset,
  .cs-dashboard .form {
    width: 100%;
    min-width: 15rem !important; }
  .cs-dashboard .fieldset {
    width: 100%;
    border: 0;
    padding: 0;
    margin: 0; }
    @media (min-width: 48em) {
      .cs-dashboard .fieldset {
        max-width: calc(100% - 3rem); } }
  .cs-dashboard .fieldset.fieldset-fullname {
    max-width: 100%; }
  .cs-dashboard .field {
    margin-bottom: 1rem; }
  .cs-dashboard .limiter {
    margin-bottom: 0;
    display: flex;
    align-items: center; }
  .cs-dashboard select {
    display: block;
    font-size: 1em;
    line-height: 1.275em;
    padding: 0.75em 1em;
    padding-right: 2.3em;
    color: #455a64;
    border-radius: 200px;
    border: 2px solid #dcdcdc;
    box-shadow: none;
    width: 100%;
    max-width: 100%;
    margin: 0 0 0.2em;
    outline: 0;
    -webkit-appearance: none;
       -moz-appearance: none;
            appearance: none;
    background-color: #fff;
    background-image: url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 9' fill='%23dcdcdc'%3e%3cpath d='M0 1.2C0 .5.6 0 1.2 0c.3 0 .6.1.8.3l6 5.9 6-5.9c.5-.4 1.2-.3 1.7.1.4.4.4 1.1 0 1.5L8.9 8.7c-.5.4-1.2.4-1.7 0L.4 2a.9.9 0 0 1-.4-.8z'/%3e%3c/svg%3e"), linear-gradient(0deg, transparent 0%, transparent 100%);
    background-repeat: no-repeat, repeat;
    background-position: right 0.8em top 52%, 0 0;
    background-size: 0.7em auto, 100%;
    transition: border-color 0.5s; }
    .cs-dashboard select:-moz-focusring, .cs-dashboard select::-moz-focus-inner {
      color: transparent !important;
      text-shadow: 0 0 0 #000 !important; }
    .cs-dashboard select:hover:not([disabled]), .cs-dashboard select:focus:not([disabled]) {
      border: 2px solid #7e57c2;
      box-shadow: none;
      background-image: url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 9' fill='%237e57c2'%3e%3cpath d='M0 1.2C0 .5.6 0 1.2 0c.3 0 .6.1.8.3l6 5.9 6-5.9c.5-.4 1.2-.3 1.7.1.4.4.4 1.1 0 1.5L8.9 8.7c-.5.4-1.2.4-1.7 0L.4 2a.9.9 0 0 1-.4-.8z'/%3e%3c/svg%3e"), linear-gradient(0deg, transparent 0%, transparent 100%); }
    .cs-dashboard select[disabled] {
      opacity: 0.65; }
    .cs-dashboard select option {
      font-weight: 500;
      padding: 0;
      color: initial; }
  .cs-dashboard .choice {
    display: flex;
    align-items: flex-start;
    flex-wrap: wrap; }
    .cs-dashboard .choice .label {
      width: auto;
      font-weight: 300;
      font-size: 1.4rem; }
    .cs-dashboard .choice .checkbox {
      margin-top: 0.2rem; }
  .cs-dashboard .field-name-prefix {
    max-width: 12rem; }
  .cs-dashboard .primary > button,
  .cs-dashboard .primary .create {
    display: inline-block;
    font-size: 1.8rem;
    font-weight: 700;
    text-align: center;
    position: relative;
    line-height: 1.275em;
    margin: 0;
    text-transform: none;
    padding: 0.75em 1em;
    box-sizing: border-box;
    transition: background-color 0.5s, border-color 0.5s, fill 0.5s, color 0.5s;
    vertical-align: middle;
    z-index: 5;
    min-width: 12rem; }
    .cs-dashboard .primary > button::-moz-focus-inner,
    .cs-dashboard .primary .create::-moz-focus-inner {
      border: 0;
      padding: 0;
      margin: 0; }
    .cs-dashboard .primary > button, .cs-dashboard .primary > button:visited,
    .cs-dashboard .primary .create,
    .cs-dashboard .primary .create:visited {
      cursor: pointer;
      border-radius: 200px;
      outline-offset: 1px;
      text-decoration: none;
      box-shadow: none;
      border: 1px solid transparent;
      color: #fff;
      background-color: #7e57c2; }
      .cs-dashboard .primary > button *, .cs-dashboard .primary > button:visited *,
      .cs-dashboard .primary .create *,
      .cs-dashboard .primary .create:visited * {
        color: #fff;
        fill: #fff; }
    .cs-dashboard .primary > button:hover:not([disabled]), .cs-dashboard .primary > button:focus:not([disabled]), .cs-dashboard .primary > button:active:not([disabled]),
    .cs-dashboard .primary .create:hover:not([disabled]),
    .cs-dashboard .primary .create:focus:not([disabled]),
    .cs-dashboard .primary .create:active:not([disabled]) {
      box-shadow: none;
      outline: none;
      text-decoration: none;
      border: 1px solid transparent;
      color: #fff;
      background-color: #4d2c91; }
      .cs-dashboard .primary > button:hover:not([disabled]) *, .cs-dashboard .primary > button:focus:not([disabled]) *, .cs-dashboard .primary > button:active:not([disabled]) *,
      .cs-dashboard .primary .create:hover:not([disabled]) *,
      .cs-dashboard .primary .create:focus:not([disabled]) *,
      .cs-dashboard .primary .create:active:not([disabled]) * {
        color: #fff;
        fill: #fff; }
    .cs-dashboard .primary > button[disabled],
    .cs-dashboard .primary .create[disabled] {
      opacity: 0.65;
      cursor: auto; }
    .wishlist-index-index .cs-dashboard .primary > button, .wishlist-index-index
    .cs-dashboard .primary .create {
      z-index: 1; }
    .cs-dashboard .primary > button span,
    .cs-dashboard .primary .create span {
      margin-top: 0;
      z-index: 1;
      font-weight: 700;
      vertical-align: baseline;
      display: inline-block;
      line-height: 1.275em;
      letter-spacing: normal; }
  .cs-dashboard .primary > button.action.update {
    display: none; }
  .cs-dashboard .remind,
  .cs-dashboard .back {
    font-size: 1.4rem;
    margin-top: 0.7rem;
    display: inline-block; }
  .cs-dashboard .counter {
    font-weight: 300;
    transform: translateX(-1rem);
    display: inline-block; }
    .cs-dashboard .counter:before {
      content: '('; }
    .cs-dashboard .counter:after {
      content: ')'; }
  .cs-dashboard .block {
    width: 100%;
    margin: 1.5rem 0 2.5rem;
    background: #fff;
    padding: 1.5rem;
    box-sizing: border-box;
    border-radius: 7px; }
    @media (min-width: 48em) {
      .cs-dashboard .block {
        margin: 1.5rem 0 4rem; } }
  .cs-dashboard .block-title,
  .cs-dashboard .legend,
  .cs-dashboard .order-title {
    margin-bottom: 1rem;
    padding-bottom: 0.8rem;
    font-weight: 600;
    font-size: 1.8rem;
    width: 100%; }
    .cs-dashboard .block-title strong,
    .cs-dashboard .legend strong,
    .cs-dashboard .order-title strong {
      font-weight: 600;
      margin-right: 1rem; }
  .cs-dashboard .table-wrapper {
    width: 100%; }
  .cs-dashboard .block-title a {
    font-weight: 300;
    font-size: 1.4rem;
    vertical-align: text-bottom;
    white-space: nowrap; }
  .cs-dashboard .box-title {
    font-size: 1.1rem;
    font-weight: 600;
    text-transform: uppercase; }
  .cs-dashboard .block-content {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    margin: 2rem 0 0; }
    @media (max-width: 63.99em) {
      .sales-order-history .cs-dashboard .block-content {
        margin-top: 0; } }
    .cs-dashboard .block-content.no-display {
      display: none; }
  .cs-dashboard .block-new-customer .block-content {
    flex-direction: column; }
    .cs-dashboard .block-new-customer .block-content .fieldset {
      margin-bottom: 1rem; }
  @media (max-width: 63.99em) {
    .cs-dashboard .block-reward-history .cs-toolbar__item--amount {
      width: 100%;
      justify-content: center; } }
  .cs-dashboard .block-reward-history .cs-toolbar__item--amount:nth-child(1) {
    display: none; }
  @media (max-width: 63.99em) {
    .cs-dashboard .block-reward-history .pages {
      width: 100%;
      justify-content: center;
      display: flex;
      margin: 0.7rem 0 2rem; } }
  .cs-dashboard .block-reward-history .pages:nth-child(2) {
    display: none; }
  @media (max-width: 63.99em) {
    .cs-dashboard .block-reward-history .cs-toolbar__item--limiter {
      margin: 0 auto; } }
  .cs-dashboard .block-reward-history .cs-toolbar__item--limiter:nth-child(3) {
    display: none; }
  .cs-dashboard .box-actions a + a:before,
  .cs-dashboard .actions a + a:before {
    margin: 0 0.7rem 0 0.5rem;
    content: '';
    display: inline-block;
    width: 1px;
    height: 1.2rem;
    border-right: 2px solid #dcdcdc; }
  .cs-dashboard .box-actions a,
  .cs-dashboard .actions a {
    font-weight: 300; }
  .cs-dashboard .table-wrapper,
  .cs-dashboard .orders-history,
  .cs-dashboard .form-wishlist-items {
    background: transparent; }
    .cs-dashboard .table-wrapper + .toolbar,
    .cs-dashboard .table-wrapper + .actions-toolbar,
    .cs-dashboard .orders-history + .toolbar,
    .cs-dashboard .orders-history + .actions-toolbar,
    .cs-dashboard .form-wishlist-items + .toolbar,
    .cs-dashboard .form-wishlist-items + .actions-toolbar {
      background: transparent;
      padding: 1.5rem; }
    .cs-dashboard .table-wrapper.order-items + .actions-toolbar,
    .cs-dashboard .orders-history.order-items + .actions-toolbar,
    .cs-dashboard .form-wishlist-items.order-items + .actions-toolbar {
      padding: 0; }
    .cs-dashboard .table-wrapper + .toolbar,
    .cs-dashboard .orders-history + .toolbar,
    .cs-dashboard .form-wishlist-items + .toolbar {
      width: 100%; }
    .cs-dashboard .table-wrapper .action,
    .cs-dashboard .orders-history .action,
    .cs-dashboard .form-wishlist-items .action {
      margin-right: 0; }
  .cs-dashboard .form-wishlist-items .actions-toolbar .primary {
    margin-bottom: 2rem; }
    @media (max-width: 64em) {
      .cs-dashboard .form-wishlist-items .actions-toolbar .primary {
        display: flex;
        justify-content: space-between;
        flex-direction: column; }
        .cs-dashboard .form-wishlist-items .actions-toolbar .primary .action:last-child {
          margin-top: 1rem; } }
  .cs-dashboard .form-pwanotifications-manage .fieldset {
    max-width: initial !important; }
  .cs-dashboard .form-pwanotifications-manage .field {
    flex-wrap: nowrap; }
  .cs-dashboard .form-pwanotifications-manage .actions-toolbar {
    margin-top: 2rem; }
  .cs-dashboard .cs-toolbar__item--amount {
    display: flex;
    align-items: center; }
  .cs-dashboard .toolbar {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap; }
    @media (max-width: 47.99em) {
      .cs-dashboard .toolbar {
        align-items: center; } }
    @media (max-width: 63.99em) {
      .cs-dashboard .toolbar {
        flex-direction: column; } }
    .cs-dashboard .toolbar::after, .cs-dashboard .toolbar::before {
      display: none; }
    @media (max-width: 63.99em) {
      .cs-dashboard .toolbar .cs-toolbar__item {
        display: flex;
        justify-content: center;
        margin: auto; }
        .cs-dashboard .toolbar .cs-toolbar__item p {
          margin-bottom: 1rem; } }
    .cs-dashboard .toolbar .cs-toolbar__item--amount {
      margin-bottom: 1.5rem; }
      @media (min-width: 64em) {
        .cs-dashboard .toolbar .cs-toolbar__item--amount {
          margin-bottom: 0; } }
      @media (max-width: 47.99em) {
        .cs-dashboard .toolbar .cs-toolbar__item--amount {
          padding-bottom: 0; } }
      .cs-dashboard .toolbar .cs-toolbar__item--amount + .cs-toolbar__item--limiter {
        margin-top: 0; }
    @media (max-width: 63.99em) {
      .cs-dashboard .toolbar .cs-toolbar__item--limiter {
        margin-top: 2.5rem; } }
    @media (min-width: 64em) {
      .cs-dashboard .toolbar .cs-toolbar__item--limiter {
        margin-bottom: 0; } }
    .cs-dashboard .toolbar .toolbar-amount {
      padding-top: 0;
      display: none; }
    @media (max-width: 47.99em) {
      .cs-dashboard .toolbar .pages {
        margin: 0 auto; } }
    @media (min-width: 48em) {
      .cs-dashboard .toolbar .pages {
        position: static;
        display: flex;
        justify-content: center;
        width: auto; } }
    @media (max-width: 47.99em) {
      .cs-dashboard .toolbar .limiter {
        display: flex;
        justify-content: center; } }
    @media (max-width: 47.99em) {
      .cs-dashboard .toolbar .limiter .label {
        width: auto; } }
    .cs-dashboard .toolbar.wishlist-toolbar br {
      display: none; }
  .cs-dashboard .actions-toolbar > .secondary .action.back,
  .cs-dashboard .secondary .action.edit-email-preferences {
    display: none; }
    .review-customer-view .cs-dashboard .actions-toolbar > .secondary .action.back, .review-customer-view
    .cs-dashboard .secondary .action.edit-email-preferences {
      display: block; }
  .cs-dashboard .box,
  .cs-dashboard .addresses {
    width: 100%;
    box-sizing: border-box; }
    @media (min-width: 30em) {
      .cs-dashboard .box,
      .cs-dashboard .addresses {
        width: 48%; } }
  .cs-dashboard .box-content,
  .cs-dashboard .addresses .item {
    font-weight: 300;
    color: #696969;
    line-height: 2.5rem;
    margin-bottom: 0; }
  .cs-dashboard .tooltip.wrapper {
    font-size: 1.4rem;
    display: inline-block;
    padding-left: 0.5rem; }
  .cs-dashboard .choice.persistent {
    padding-bottom: 1.5rem; }
  @media (max-width: 63.99em) {
    .cs-dashboard .table-order-items .cs-table__col:last-child {
      padding-bottom: 2rem; }
    .cs-dashboard .table-order-items .price-excluding-tax,
    .cs-dashboard .table-order-items .price-including-tax,
    .cs-dashboard .table-order-items .items-qty,
    .cs-dashboard .table-order-items .product-item-name {
      display: inline-block;
      font-weight: 400;
      margin: 0;
      color: #696969; }
    .cs-dashboard .table-order-items .cs-cart-item__options-label {
      text-transform: none;
      width: auto;
      margin-right: 1rem; }
      .cs-dashboard .table-order-items .cs-cart-item__options-label:after {
        content: ':'; }
    .cs-dashboard .table-order-items .cs-table__col.subtotal {
      text-align: left; }
    .cs-dashboard .table-order-items .price-excluding-tax .price {
      font-weight: 400; } }
  .cs-dashboard .table-order-items .items-qty {
    margin: 0;
    padding: 0;
    list-style: none; }
    .cs-dashboard .table-order-items .items-qty .item {
      margin-bottom: 0.5rem; }
      .cs-dashboard .table-order-items .items-qty .item:last-child {
        margin-bottom: 0; }
  .sales-order-view .cs-dashboard .actions,
  .sales-order-invoice .cs-dashboard .actions,
  .sales-order-shipment .cs-dashboard .actions {
    width: 100%;
    margin-top: 2rem;
    display: flex; }
  .sales-order-view .cs-dashboard .actions .order,
  .sales-order-invoice .cs-dashboard .actions .order,
  .sales-order-shipment .cs-dashboard .actions .order {
    display: inline-block;
    font-size: 1.8rem;
    font-weight: 700;
    text-align: center;
    position: relative;
    line-height: 1.275em;
    margin: 0;
    text-transform: none;
    padding: 0.75em 1em;
    box-sizing: border-box;
    transition: background-color 0.5s, border-color 0.5s, fill 0.5s, color 0.5s;
    vertical-align: middle;
    z-index: 5;
    font-size: 1.2rem;
    margin-right: 1rem;
    margin-bottom: 0.8rem; }
    .sales-order-view .cs-dashboard .actions .order::-moz-focus-inner,
    .sales-order-invoice .cs-dashboard .actions .order::-moz-focus-inner,
    .sales-order-shipment .cs-dashboard .actions .order::-moz-focus-inner {
      border: 0;
      padding: 0;
      margin: 0; }
    .sales-order-view .cs-dashboard .actions .order, .sales-order-view .cs-dashboard .actions .order:visited,
    .sales-order-invoice .cs-dashboard .actions .order,
    .sales-order-invoice .cs-dashboard .actions .order:visited,
    .sales-order-shipment .cs-dashboard .actions .order,
    .sales-order-shipment .cs-dashboard .actions .order:visited {
      cursor: pointer;
      border-radius: 200px;
      outline-offset: 1px;
      text-decoration: none;
      box-shadow: none;
      border: 1px solid transparent;
      color: #fff;
      background-color: #7e57c2; }
      .sales-order-view .cs-dashboard .actions .order *, .sales-order-view .cs-dashboard .actions .order:visited *,
      .sales-order-invoice .cs-dashboard .actions .order *,
      .sales-order-invoice .cs-dashboard .actions .order:visited *,
      .sales-order-shipment .cs-dashboard .actions .order *,
      .sales-order-shipment .cs-dashboard .actions .order:visited * {
        color: #fff;
        fill: #fff; }
    .sales-order-view .cs-dashboard .actions .order:hover:not([disabled]), .sales-order-view .cs-dashboard .actions .order:focus:not([disabled]), .sales-order-view .cs-dashboard .actions .order:active:not([disabled]),
    .sales-order-invoice .cs-dashboard .actions .order:hover:not([disabled]),
    .sales-order-invoice .cs-dashboard .actions .order:focus:not([disabled]),
    .sales-order-invoice .cs-dashboard .actions .order:active:not([disabled]),
    .sales-order-shipment .cs-dashboard .actions .order:hover:not([disabled]),
    .sales-order-shipment .cs-dashboard .actions .order:focus:not([disabled]),
    .sales-order-shipment .cs-dashboard .actions .order:active:not([disabled]) {
      box-shadow: none;
      outline: none;
      text-decoration: none;
      border: 1px solid transparent;
      color: #fff;
      background-color: #4d2c91; }
      .sales-order-view .cs-dashboard .actions .order:hover:not([disabled]) *, .sales-order-view .cs-dashboard .actions .order:focus:not([disabled]) *, .sales-order-view .cs-dashboard .actions .order:active:not([disabled]) *,
      .sales-order-invoice .cs-dashboard .actions .order:hover:not([disabled]) *,
      .sales-order-invoice .cs-dashboard .actions .order:focus:not([disabled]) *,
      .sales-order-invoice .cs-dashboard .actions .order:active:not([disabled]) *,
      .sales-order-shipment .cs-dashboard .actions .order:hover:not([disabled]) *,
      .sales-order-shipment .cs-dashboard .actions .order:focus:not([disabled]) *,
      .sales-order-shipment .cs-dashboard .actions .order:active:not([disabled]) * {
        color: #fff;
        fill: #fff; }
    .sales-order-view .cs-dashboard .actions .order[disabled],
    .sales-order-invoice .cs-dashboard .actions .order[disabled],
    .sales-order-shipment .cs-dashboard .actions .order[disabled] {
      opacity: 0.65;
      cursor: auto; }
    .sales-order-view .cs-dashboard .actions .order::before,
    .sales-order-invoice .cs-dashboard .actions .order::before,
    .sales-order-shipment .cs-dashboard .actions .order::before {
      display: none; }
    .sales-order-view .cs-dashboard .actions .order span,
    .sales-order-invoice .cs-dashboard .actions .order span,
    .sales-order-shipment .cs-dashboard .actions .order span {
      margin-top: 0;
      z-index: 1;
      font-weight: 700;
      vertical-align: baseline;
      display: inline-block;
      line-height: 1.275em;
      letter-spacing: normal; }
  .sales-order-view .cs-dashboard .actions .print,
  .sales-order-invoice .cs-dashboard .actions .print,
  .sales-order-shipment .cs-dashboard .actions .print {
    display: inline-block;
    font-size: 1.8rem;
    font-weight: 700;
    text-align: center;
    position: relative;
    line-height: 1.275em;
    margin: 0;
    text-transform: none;
    padding: 0.75em 1em;
    box-sizing: border-box;
    transition: background-color 0.5s, border-color 0.5s, fill 0.5s, color 0.5s;
    vertical-align: middle;
    z-index: 5;
    font-size: 1.2rem;
    margin-right: 1rem;
    margin-bottom: 0.8rem; }
    .sales-order-view .cs-dashboard .actions .print::-moz-focus-inner,
    .sales-order-invoice .cs-dashboard .actions .print::-moz-focus-inner,
    .sales-order-shipment .cs-dashboard .actions .print::-moz-focus-inner {
      border: 0;
      padding: 0;
      margin: 0; }
    .sales-order-view .cs-dashboard .actions .print, .sales-order-view .cs-dashboard .actions .print:visited,
    .sales-order-invoice .cs-dashboard .actions .print,
    .sales-order-invoice .cs-dashboard .actions .print:visited,
    .sales-order-shipment .cs-dashboard .actions .print,
    .sales-order-shipment .cs-dashboard .actions .print:visited {
      cursor: pointer;
      border-radius: 200px;
      outline-offset: 1px;
      text-decoration: none;
      box-shadow: none;
      border: 1px solid #7e57c2;
      color: #7e57c2;
      background-color: #fff; }
      .sales-order-view .cs-dashboard .actions .print *, .sales-order-view .cs-dashboard .actions .print:visited *,
      .sales-order-invoice .cs-dashboard .actions .print *,
      .sales-order-invoice .cs-dashboard .actions .print:visited *,
      .sales-order-shipment .cs-dashboard .actions .print *,
      .sales-order-shipment .cs-dashboard .actions .print:visited * {
        color: #7e57c2;
        fill: #7e57c2; }
    .sales-order-view .cs-dashboard .actions .print:hover:not([disabled]), .sales-order-view .cs-dashboard .actions .print:focus:not([disabled]), .sales-order-view .cs-dashboard .actions .print:active:not([disabled]),
    .sales-order-invoice .cs-dashboard .actions .print:hover:not([disabled]),
    .sales-order-invoice .cs-dashboard .actions .print:focus:not([disabled]),
    .sales-order-invoice .cs-dashboard .actions .print:active:not([disabled]),
    .sales-order-shipment .cs-dashboard .actions .print:hover:not([disabled]),
    .sales-order-shipment .cs-dashboard .actions .print:focus:not([disabled]),
    .sales-order-shipment .cs-dashboard .actions .print:active:not([disabled]) {
      box-shadow: none;
      outline: none;
      text-decoration: none;
      border: 1px solid #4d2c91;
      color: #fff;
      background-color: #4d2c91; }
      .sales-order-view .cs-dashboard .actions .print:hover:not([disabled]) *, .sales-order-view .cs-dashboard .actions .print:focus:not([disabled]) *, .sales-order-view .cs-dashboard .actions .print:active:not([disabled]) *,
      .sales-order-invoice .cs-dashboard .actions .print:hover:not([disabled]) *,
      .sales-order-invoice .cs-dashboard .actions .print:focus:not([disabled]) *,
      .sales-order-invoice .cs-dashboard .actions .print:active:not([disabled]) *,
      .sales-order-shipment .cs-dashboard .actions .print:hover:not([disabled]) *,
      .sales-order-shipment .cs-dashboard .actions .print:focus:not([disabled]) *,
      .sales-order-shipment .cs-dashboard .actions .print:active:not([disabled]) * {
        color: #fff;
        fill: #fff; }
    .sales-order-view .cs-dashboard .actions .print[disabled],
    .sales-order-invoice .cs-dashboard .actions .print[disabled],
    .sales-order-shipment .cs-dashboard .actions .print[disabled] {
      opacity: 0.65;
      cursor: auto; }
    .sales-order-view .cs-dashboard .actions .print::before,
    .sales-order-invoice .cs-dashboard .actions .print::before,
    .sales-order-shipment .cs-dashboard .actions .print::before {
      display: none; }
    .sales-order-view .cs-dashboard .actions .print span,
    .sales-order-invoice .cs-dashboard .actions .print span,
    .sales-order-shipment .cs-dashboard .actions .print span {
      margin-top: 0;
      z-index: 1;
      font-weight: 700;
      vertical-align: baseline;
      display: inline-block;
      line-height: 1.275em;
      letter-spacing: normal; }
  .cs-dashboard .block-reviews-dashboard .product-name {
    font-weight: 300; }
  .cs-dashboard .rating-result {
    margin-left: 0;
    width: auto; }
    .cs-dashboard .rating-result::before {
      display: none; }
  .cs-dashboard .rating-summary.item {
    display: flex;
    overflow: visible; }
  .cs-dashboard .customer-review .product-name {
    font-family: "Dosis", system-ui, -apple-system, Segoe UI, Roboto, Ubuntu, Cantarell, Oxygen, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
    font-size: 1.5rem;
    line-height: 1.1;
    color: #455a64;
    font-weight: 700;
    text-transform: none;
    margin: 1rem 0 2rem; }
  .cs-dashboard .customer-review .review-title {
    font-family: "Dosis", system-ui, -apple-system, Segoe UI, Roboto, Ubuntu, Cantarell, Oxygen, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
    font-size: 1.5rem;
    line-height: 1.1;
    color: #455a64;
    font-weight: 700;
    text-transform: none;
    margin: 1rem 0 2rem;
    text-transform: none; }
  .cs-dashboard .customer-review.view {
    margin-bottom: 2rem; }
    .cs-dashboard .customer-review.view .review.title,
    .cs-dashboard .customer-review.view .ratings-summary,
    .cs-dashboard .customer-review.view .product-details {
      margin-bottom: 2rem; }
  .cs-dashboard .customer-review .product-details {
    margin-bottom: 4rem; }
  .cs-dashboard .customer-review .product-media {
    float: left;
    margin-right: 3%;
    max-width: 28.5rem;
    width: 30%; }
  .cs-dashboard .customer-review .review-details .customer-review-rating {
    margin-bottom: 2rem; }
    .cs-dashboard .customer-review .review-details .customer-review-rating .item {
      margin-bottom: 1rem; }
      .cs-dashboard .customer-review .review-details .customer-review-rating .item:last-child {
        margin-bottom: 0; }
  .cs-dashboard .customer-review .review-details .review-title {
    line-height: 1.1;
    font-size: 1.8rem;
    margin-top: 1.5rem;
    font-weight: 600;
    margin-bottom: 2rem; }
  .cs-dashboard .customer-review .review-details .review-content {
    margin-bottom: 2rem; }
  .cs-dashboard .customer-review .product-reviews-summary .rating-summary,
  .cs-dashboard .customer-review .product-reviews-summary .reviews-actions {
    display: block; }
  .cs-dashboard .create-account__box-b2c-b2b {
    display: flex;
    align-items: flex-start;
    flex-direction: column;
    padding-bottom: 2rem; }
    @media (min-width: 48em) {
      .cs-dashboard .create-account__box-b2c-b2b {
        flex-direction: row;
        align-items: center; } }
    .cs-dashboard .create-account__box-b2c-b2b .b2c-b2b_box {
      margin-top: 0.5rem; }
      @media (min-width: 48em) {
        .cs-dashboard .create-account__box-b2c-b2b .b2c-b2b_box {
          margin: 1rem; } }
  .cs-dashboard .form.create.account,
  .cs-dashboard .form-address-edit,
  .cs-dashboard .form-edit-account,
  .cs-dashboard .form.password.reset,
  .cs-dashboard .form.send.confirmation,
  .cs-dashboard .form.password.forget,
  .cs-dashboard #aw_giftcard__check_code_form {
    background: transparent;
    padding: 1.5rem;
    background-color: #fff;
    border-radius: 7px; }
    @media (min-width: 48em) {
      .cs-dashboard .form.create.account,
      .cs-dashboard .form-address-edit,
      .cs-dashboard .form-edit-account,
      .cs-dashboard .form.password.reset,
      .cs-dashboard .form.send.confirmation,
      .cs-dashboard .form.password.forget,
      .cs-dashboard #aw_giftcard__check_code_form {
        width: 100%; } }
    .cs-dashboard .form.create.account br,
    .cs-dashboard .form-address-edit br,
    .cs-dashboard .form-edit-account br,
    .cs-dashboard .form.password.reset br,
    .cs-dashboard .form.send.confirmation br,
    .cs-dashboard .form.password.forget br,
    .cs-dashboard #aw_giftcard__check_code_form br {
      display: none; }
    .cs-dashboard .form.create.account .fullname .label,
    .cs-dashboard .form-address-edit .fullname .label,
    .cs-dashboard .form-edit-account .fullname .label,
    .cs-dashboard .form.password.reset .fullname .label,
    .cs-dashboard .form.send.confirmation .fullname .label,
    .cs-dashboard .form.password.forget .fullname .label,
    .cs-dashboard #aw_giftcard__check_code_form .fullname .label {
      text-align: left;
      width: 100%; }
    .cs-dashboard .form.create.account .fullname > .label,
    .cs-dashboard .form-address-edit .fullname > .label,
    .cs-dashboard .form-edit-account .fullname > .label,
    .cs-dashboard .form.password.reset .fullname > .label,
    .cs-dashboard .form.send.confirmation .fullname > .label,
    .cs-dashboard .form.password.forget .fullname > .label,
    .cs-dashboard #aw_giftcard__check_code_form .fullname > .label {
      width: 1px; }
    .cs-dashboard .form.create.account .fullname .control,
    .cs-dashboard .form-address-edit .fullname .control,
    .cs-dashboard .form-edit-account .fullname .control,
    .cs-dashboard .form.password.reset .fullname .control,
    .cs-dashboard .form.send.confirmation .fullname .control,
    .cs-dashboard .form.password.forget .fullname .control,
    .cs-dashboard #aw_giftcard__check_code_form .fullname .control {
      width: 100%; }
    .cs-dashboard .form.create.account .action.primary,
    .cs-dashboard .form-address-edit .action.primary,
    .cs-dashboard .form-edit-account .action.primary,
    .cs-dashboard .form.password.reset .action.primary,
    .cs-dashboard .form.send.confirmation .action.primary,
    .cs-dashboard .form.password.forget .action.primary,
    .cs-dashboard #aw_giftcard__check_code_form .action.primary {
      font-size: 1.4rem; }
    .cs-dashboard .form.create.account .back,
    .cs-dashboard .form-address-edit .back,
    .cs-dashboard .form-edit-account .back,
    .cs-dashboard .form.password.reset .back,
    .cs-dashboard .form.send.confirmation .back,
    .cs-dashboard .form.password.forget .back,
    .cs-dashboard #aw_giftcard__check_code_form .back {
      display: none; }
    .cs-dashboard .form.create.account .fieldset,
    .cs-dashboard .form-address-edit .fieldset,
    .cs-dashboard .form-edit-account .fieldset,
    .cs-dashboard .form.password.reset .fieldset,
    .cs-dashboard .form.send.confirmation .fieldset,
    .cs-dashboard .form.password.forget .fieldset,
    .cs-dashboard #aw_giftcard__check_code_form .fieldset {
      margin-bottom: 2rem; }
    .cs-dashboard .form.create.account .fieldset-fullname,
    .cs-dashboard .form-address-edit .fieldset-fullname,
    .cs-dashboard .form-edit-account .fieldset-fullname,
    .cs-dashboard .form.password.reset .fieldset-fullname,
    .cs-dashboard .form.send.confirmation .fieldset-fullname,
    .cs-dashboard .form.password.forget .fieldset-fullname,
    .cs-dashboard #aw_giftcard__check_code_form .fieldset-fullname {
      margin-bottom: 0; }
  .cs-dashboard .form.create.account {
    background: #fff;
    border-radius: 7px; }
    @media (min-width: 48em) {
      .cs-dashboard .form.create.account {
        padding-left: 4.5rem;
        padding-top: 4.5rem;
        padding-bottom: 4.5rem; } }
  .cs-dashboard .addresses {
    width: 100%; }
  .cs-dashboard .block-addresses-list + .actions-toolbar {
    background: transparent; }
  @media (max-width: 47.99em) {
    .cs-dashboard .box-billing-address {
      margin-bottom: 2rem; } }
  .cs-dashboard .table-additional-addresses-items .col.state {
    display: none; }
  @media (min-width: 48.01em) {
    .cs-dashboard .table-additional-addresses-items th:first-child,
    .cs-dashboard .table-additional-addresses-items td:first-child {
      padding-left: 0 !important; } }
  @media (min-width: 48.01em) {
    .cs-dashboard .table-additional-addresses-items th:last-child,
    .cs-dashboard .table-additional-addresses-items td:last-child {
      padding-right: 0 !important; } }

@media (min-width: 64em) and (max-width: 79.99em) {
  .cs-dashboard .table-additional-addresses-items .action.delete {
    width: 100%; }
    .cs-dashboard .table-additional-addresses-items .action.delete:before {
      display: none !important; } }

@media (min-width: 64em) and (max-width: 79.99em) {
  .cs-dashboard .table-additional-addresses-items .action.edit {
    margin-right: 0;
    width: 100%; } }
  .cs-dashboard .form-newsletter-manage {
    background: transparent; }
    .cs-dashboard .form-newsletter-manage .fieldset {
      margin-bottom: 1rem; }
  .cs-dashboard__button {
    display: inline-block;
    font-size: 1.8rem;
    font-weight: 700;
    text-align: center;
    position: relative;
    line-height: 1.275em;
    margin: 0;
    text-transform: none;
    padding: 0.75em 1em;
    box-sizing: border-box;
    transition: background-color 0.5s, border-color 0.5s, fill 0.5s, color 0.5s;
    vertical-align: middle;
    z-index: 5; }
    .cs-dashboard__button::-moz-focus-inner {
      border: 0;
      padding: 0;
      margin: 0; }
    .cs-dashboard__button, .cs-dashboard__button:visited {
      cursor: pointer;
      border-radius: 200px;
      outline-offset: 1px;
      text-decoration: none;
      box-shadow: none;
      border: 1px solid transparent;
      color: #fff;
      background-color: #7e57c2; }
      .cs-dashboard__button *, .cs-dashboard__button:visited * {
        color: #fff;
        fill: #fff; }
    .cs-dashboard__button:hover:not([disabled]), .cs-dashboard__button:focus:not([disabled]), .cs-dashboard__button:active:not([disabled]) {
      box-shadow: none;
      outline: none;
      text-decoration: none;
      border: 1px solid transparent;
      color: #fff;
      background-color: #4d2c91; }
      .cs-dashboard__button:hover:not([disabled]) *, .cs-dashboard__button:focus:not([disabled]) *, .cs-dashboard__button:active:not([disabled]) * {
        color: #fff;
        fill: #fff; }
    .cs-dashboard__button[disabled] {
      opacity: 0.65;
      cursor: auto; }
  .cs-dashboard__button-span {
    margin-top: 0;
    z-index: 1;
    font-weight: 700;
    vertical-align: baseline;
    display: inline-block;
    line-height: 1.275em;
    letter-spacing: normal; }
  .cs-dashboard__button-icon {
    max-width: 1em;
    max-height: 1.8rem;
    z-index: 2;
    height: auto;
    width: 100%;
    display: none; }
  .cs-dashboard__wishlist-guest {
    padding-top: 2rem; }
  .cs-dashboard__wishlist-guest-copy {
    padding-left: 1rem;
    position: relative; }
  .cs-dashboard__wishlist-guest-copy-icon {
    width: 2rem;
    height: 2rem;
    fill: #696969;
    position: absolute; }

.cs-container--create-account-page, .cs-container--login-page, .cs-container--success-page, .cs-container--logout-page, .cs-container--contact-page {
  padding-top: 2rem;
  padding-bottom: 2rem; }
  @media (min-width: 64em) {
    .cs-container--create-account-page, .cs-container--login-page, .cs-container--success-page, .cs-container--logout-page, .cs-container--contact-page {
      padding-top: 3rem;
      padding-bottom: 5rem; } }

@media (min-width: 48em) and (max-width: 63.99em) {
  .cs-container--my-account-page {
    padding-left: 1.5rem;
    padding-right: 1.5rem; } }

.account .table-wrapper:last-child {
  margin-bottom: 0; }

.account .table-wrapper .action {
  margin-right: 1.5rem; }

.account .table-wrapper .action:last-child {
  margin-right: 0; }

.block p:last-child {
  margin: 0; }

.block .box-actions {
  margin-top: 0.5rem; }

.account.page-print .items-qty {
  margin: 0;
  padding: 0;
  list-style: none; }

.cs-dashboard .form-address-edit {
  background-color: #fff;
  border-radius: 7px; }

/**
 * Breakpoint component used by include-media vendor library.
 */
@use 'sass:map';
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
/**
* Default project breakpoints - [em]
*/
/*
 * Function to get value from a list of values, based on side
 * @param {string} $variable: variable with a list of values (like paddings, margins etc.);
 * @param {string} $side: side (up / right / down / left) for which we want to get value
 * Example:
 * $component_padding: 1rem 2rem 3rem;
 * get-value-from-list($component_padding, 'right') // 2rem
 * get-value-from-list($component_padding, 'bottom') // 3rem
 */
/* stylelint-disable block-no-empty */
/* stylelint-enable */
.cs-form, .cs-form__fieldset {
  border: 0;
  padding: 0;
  margin: 0; }

.cs-form__field + .cs-form__field {
  margin-top: 1em; }

.cs-form--disabled {
  opacity: 0.6; }

.cs-form__button {
  display: inline-block;
  font-size: 1.8rem;
  font-weight: 700;
  text-align: center;
  position: relative;
  line-height: 1.275em;
  margin: 0;
  text-transform: none;
  padding: 0.75em 1em;
  box-sizing: border-box;
  transition: background-color 0.5s, border-color 0.5s, fill 0.5s, color 0.5s;
  vertical-align: middle;
  z-index: 5; }
  .cs-form__button:hover, .cs-form__button:focus, .cs-form__button:active {
    background-color: #7e57c2 !important; }
  .cs-form__button:before, .cs-form__button:after {
    content: '';
    position: absolute;
    top: -1px;
    bottom: -1px;
    right: -1px; }
  .cs-form__button:before {
    width: 3.4em;
    border-radius: 0 200px 200px 0;
    z-index: -1;
    background: linear-gradient(0deg, transparent 0%, transparent 0%, #4d2c91 0%, #4d2c91 100%); }
  .cs-form__button:after {
    width: 3em;
    min-width: auto;
    background-color: #4d2c91;
    transition: width 0.25s linear;
    z-index: -2;
    border-radius: 200px; }
  .cs-form__button:hover:after {
    width: calc(100% + 2px); }
  .cs-form__button::-moz-focus-inner {
    border: 0;
    padding: 0;
    margin: 0; }
  .cs-form__button, .cs-form__button:visited {
    cursor: pointer;
    border-radius: 200px;
    outline-offset: 1px;
    text-decoration: none;
    box-shadow: none;
    border: 1px solid transparent;
    color: #fff;
    background-color: #7e57c2; }
    .cs-form__button *, .cs-form__button:visited * {
      color: #fff;
      fill: #fff; }
  .cs-form__button:hover:not([disabled]), .cs-form__button:focus:not([disabled]), .cs-form__button:active:not([disabled]) {
    box-shadow: none;
    outline: none;
    text-decoration: none;
    border: 1px solid transparent;
    color: #fff;
    background-color: #4d2c91; }
    .cs-form__button:hover:not([disabled]) *, .cs-form__button:focus:not([disabled]) *, .cs-form__button:active:not([disabled]) * {
      color: #fff;
      fill: #fff; }
  .cs-form__button[disabled] {
    opacity: 0.65;
    cursor: auto; }

.cs-form__button-span {
  margin-top: 0;
  z-index: 1;
  font-weight: 700;
  vertical-align: baseline;
  display: inline-block;
  line-height: 1.275em;
  letter-spacing: normal;
  padding-left: 0;
  padding-right: 4em; }

.cs-form__button-icon {
  max-width: 1em;
  max-height: 1.8rem;
  z-index: 2;
  height: auto;
  width: 100%;
  position: absolute;
  top: 50%;
  transform: translate3d(0, -50%, 0);
  margin-right: 0;
  right: 1em; }

.form,
.form .fieldset {
  border: 0;
  padding: 0;
  margin: 0; }

.form .field + .field {
  margin-top: 0; }


/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3NzL2NvbnRhY3QuY3NzIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vW25hbWVdLy4vc3JjL2NvbmZpZy9icmVha3BvaW50cy5zY3NzIiwid2VicGFjazovL1tuYW1lXS9tb2R1bGUuc2NzcyIsIndlYnBhY2s6Ly9bbmFtZV0vLi4vdGhlbWUtY3JlYXRpdmVzaG9wL3NyYy91dGlscy9kZWVwLWdldC9kZWVwLWdldC5zY3NzIiwid2VicGFjazovL1tuYW1lXS8uLi90aGVtZS1jcmVhdGl2ZXNob3Avc3JjL3V0aWxzL3Zpc3VhbGx5LWhpZGRlbi5zY3NzIiwid2VicGFjazovL1tuYW1lXS8uLi90aGVtZS1jcmVhdGl2ZXNob3Avc3JjL01hZ2VudG9fQ3VzdG9tZXIvd2ViL2Nzcy9zb3VyY2UvbW9kdWxlLnNjc3MiLCJ3ZWJwYWNrOi8vW25hbWVdLy4vbm9kZV9tb2R1bGVzL2luY2x1ZGUtbWVkaWEvZGlzdC9faW5jbHVkZS1tZWRpYS5zY3NzIiwid2VicGFjazovL1tuYW1lXS9jb250YWN0LnNjc3MiLCJ3ZWJwYWNrOi8vW25hbWVdLy4vc3JjL3BhZ2VzL2NvbnRhY3QvY29udGFjdC5zY3NzIiwid2VicGFjazovL1tuYW1lXS9jYXB0Y2hhLnNjc3MiLCJ3ZWJwYWNrOi8vW25hbWVdLy4uL3RoZW1lLWNyZWF0aXZlc2hvcC9zcmMvdXRpbHMvZ2V0LXZhbHVlLWZyb20tbGlzdC5zY3NzIiwid2VicGFjazovL1tuYW1lXS8uLi90aGVtZS1jcmVhdGl2ZXNob3Avc3JjL2NvbXBvbmVudHMvYnV0dG9uL2hvb2suc2NzcyIsIndlYnBhY2s6Ly9bbmFtZV0vLi4vdGhlbWUtY3JlYXRpdmVzaG9wL3NyYy9jb21wb25lbnRzL2ZpZWxkL2hvb2suc2NzcyIsIndlYnBhY2s6Ly9bbmFtZV0vLi9zcmMvY29tcG9uZW50cy9maWVsZC9taXhpbi5zY3NzIiwid2VicGFjazovL1tuYW1lXS8uLi90aGVtZS1jcmVhdGl2ZXNob3Avc3JjL2NvbXBvbmVudHMvY2FwdGNoYS9jYXB0Y2hhLnNjc3MiLCJ3ZWJwYWNrOi8vW25hbWVdLy4vc3JjL2NvbXBvbmVudHMvYnV0dG9uL21peGluLnNjc3MiLCJ3ZWJwYWNrOi8vW25hbWVdL2Rhc2hib2FyZC5zY3NzIiwid2VicGFjazovL1tuYW1lXS8uLi90aGVtZS1jcmVhdGl2ZXNob3Avc3JjL2NvbXBvbmVudHMvdHlwb2dyYXBoeS9ob29rLnNjc3MiLCJ3ZWJwYWNrOi8vW25hbWVdLy4uL3RoZW1lLWNyZWF0aXZlc2hvcC9zcmMvdXRpbHMvcmVzZXQtbGlzdC1zdHlsZS5zY3NzIiwid2VicGFjazovL1tuYW1lXS8uL3NyYy9jb21wb25lbnRzL2Rhc2hib2FyZC9kYXNoYm9hcmQuc2NzcyIsIndlYnBhY2s6Ly9bbmFtZV0vLi4vdGhlbWUtY3JlYXRpdmVzaG9wL3NyYy9wYWdlcy9sYXlvdXQvMmNvbHVtbnMtbGVmdC9taXhpbi5zY3NzIiwid2VicGFjazovL1tuYW1lXS8uLi90aGVtZS1jcmVhdGl2ZXNob3Avc3JjL3V0aWxzL2NvbXBvbmVudC1zcGFjaW5nLnNjc3MiLCJ3ZWJwYWNrOi8vW25hbWVdLy4uL3RoZW1lLWNyZWF0aXZlc2hvcC9zcmMvdXRpbHMvZm9udC1mYW1pbHkuc2NzcyIsIndlYnBhY2s6Ly9bbmFtZV0vLi9zcmMvY29tcG9uZW50cy90eXBvZ3JhcGh5L21peGluLnNjc3MiLCJ3ZWJwYWNrOi8vW25hbWVdL2Zvcm0uc2NzcyIsIndlYnBhY2s6Ly9bbmFtZV0vLi9zcmMvY29tcG9uZW50cy9mb3JtL2Zvcm0uc2NzcyIsIndlYnBhY2s6Ly9bbmFtZV0vLi4vdGhlbWUtY3JlYXRpdmVzaG9wL3NyYy9jb21wb25lbnRzL2J1dHRvbi9hbmltYXRpb24uc2NzcyJdLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEJyZWFrcG9pbnQgY29tcG9uZW50IHVzZWQgYnkgaW5jbHVkZS1tZWRpYSB2ZW5kb3IgbGlicmFyeS5cbiAqL1xuQHVzZSAnc2FzczptYXAnO1xuQGltcG9ydCAnZXRjL3ZpZXcuc2Nzcyc7XG5AaW1wb3J0ICd1dGlscy9kZWVwLWdldC9kZWVwLWdldC5zY3NzJztcblxuLy8gQnJlYWtwb2ludHMgaW1wb3J0IGZyb20gdmlldy54bWwgW3B4XVxuJGJyZWFrcG9pbnRzX3B4OiBkZWVwLWdldCgkdmlldy14bWwsIHZhcnMsIE1hZ2VudG9fVGhlbWUsIGJyZWFrcG9pbnRzKTtcbiRicmVha3BvaW50c19lbTogKCk7XG5cbkBmdW5jdGlvbiBjYWxjdWxhdGUtYnJlYWtwb2ludHMoJGJyZWFrcG9pbnRzX2VtLCAkYnJlYWtwb2ludHNfcHgpIHtcbiAgICAkcmVzdWx0OiAkYnJlYWtwb2ludHNfZW07XG4gICAgQGVhY2ggJGtleSwgJHZhbHVlIGluICRicmVha3BvaW50c19weCB7XG4gICAgICAgICRyZXN1bHQ6IG1hcC1tZXJnZShcbiAgICAgICAgICAgICRyZXN1bHQsXG4gICAgICAgICAgICAoXG4gICAgICAgICAgICAgICAgdW5xdW90ZSgka2V5KTogJHZhbHVlIC8gMTYgKiAxZW0sXG4gICAgICAgICAgICApXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgQHJldHVybiAkcmVzdWx0O1xufVxuXG4vKipcbiogRGVmYXVsdCBwcm9qZWN0IGJyZWFrcG9pbnRzIC0gW2VtXVxuKi9cblxuJGJyZWFrcG9pbnRzOiBjYWxjdWxhdGUtYnJlYWtwb2ludHMoJGJyZWFrcG9pbnRzX2VtLCAkYnJlYWtwb2ludHNfcHgpICFkZWZhdWx0O1xuXG4vLyBwaG9uZTogMjMuMTI1ZW0gLSAzNzBweFxuLy8gcGhvbmVMZzogMzBlbSAtIDQ4MHB4LFxuLy8gdGFibGV0OiA0OGVtIC0gNzY4cHgsXG4vLyBsYXB0b3A6IDY0ZW0gLSAxMDI0cHgsXG4vLyBsYXB0b3BMZzogODBlbSAtIDEyODBweCxcbi8vIGRlc2t0b3A6IDkwZW0gLSAxNDQwcHgsXG4vLyB0djogMTIwZW0gLSAxOTIwcHgsXG4iLCIvKipcbiAqIEJyZWFrcG9pbnQgY29tcG9uZW50IHVzZWQgYnkgaW5jbHVkZS1tZWRpYSB2ZW5kb3IgbGlicmFyeS5cbiAqL1xuQHVzZSAnc2FzczptYXAnO1xuLyoqXG4gKiBFeHRyYWN0cyBuZXN0ZWQga2V5cyBmcm9tIGdpdmVuIG1hcC5cbiAqIEV4YW1wbGU6IGRlZXAtZ2V0KCRzb21lLW1hcCwgc29tZSwgbmVzdGVkLCBrZXlzKTtcbiAqL1xuLyoqXG4qIERlZmF1bHQgcHJvamVjdCBicmVha3BvaW50cyAtIFtlbV1cbiovXG4vKipcbiAqIEJyZWFrcG9pbnQgY29tcG9uZW50IHVzZWQgYnkgaW5jbHVkZS1tZWRpYSB2ZW5kb3IgbGlicmFyeS5cbiAqL1xuQHVzZSAnc2FzczptYXAnO1xuLyoqXG4gKiBFeHRyYWN0cyBuZXN0ZWQga2V5cyBmcm9tIGdpdmVuIG1hcC5cbiAqIEV4YW1wbGU6IGRlZXAtZ2V0KCRzb21lLW1hcCwgc29tZSwgbmVzdGVkLCBrZXlzKTtcbiAqL1xuLyoqXG4qIERlZmF1bHQgcHJvamVjdCBicmVha3BvaW50cyAtIFtlbV1cbiovXG4vKioqXG4gKiBIaWRlIG9ubHkgdmlzdWFsbHksIGJ1dCBoYXZlIGl0IGF2YWlsYWJsZSBmb3Igc2NyZWVuIHJlYWRlcnM6XG4gKiBodHRwczovL3Nub29rLmNhL2FyY2hpdmVzL2h0bWxfYW5kX2Nzcy9oaWRpbmctY29udGVudC1mb3ItYWNjZXNzaWJpbGl0eVxuICpcbiAqIDEuIEZvciBsb25nIGNvbnRlbnQsIGxpbmUgZmVlZHMgYXJlIG5vdCBpbnRlcnByZXRlZCBhcyBzcGFjZXMgYW5kIHNtYWxsIHdpZHRoXG4gKiAgICBjYXVzZXMgY29udGVudCB0byB3cmFwIDEgd29yZCBwZXIgbGluZTpcbiAqICAgIGh0dHBzOi8vbWVkaXVtLmNvbS9AamVzc2ViZWFjaC9iZXdhcmUtc211c2hlZC1vZmYtc2NyZWVuLWFjY2Vzc2libGUtdGV4dC01OTUyYTRjMmNiZmVcbiAqXG4gKiBAc2VlIGh0dHBzOi8vZ2l0aHViLmNvbS9oNWJwL2h0bWw1LWJvaWxlcnBsYXRlL2Jsb2IvbWFzdGVyL3NyYy9jc3MvbWFpbi5jc3MjTDEzMFxuICovXG4ubG9naW4tY29udGFpbmVyIC5ibG9jay1uZXctY3VzdG9tZXIgLmFjdGlvbnMtdG9vbGJhciB7XG4gIG1hcmdpbi10b3A6IDIuNXJlbTsgfVxuXG4ubG9naW4tY29udGFpbmVyIC5ibG9jayAuYmxvY2stdGl0bGUge1xuICBmb250LXNpemU6IDEuOHJlbTtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNlOGU4ZTg7XG4gIG1hcmdpbi1ib3R0b206IDEuNXJlbTtcbiAgcGFkZGluZy1ib3R0b206IDEuMnJlbTsgfVxuXG4ubG9naW4tY29udGFpbmVyIC5maWVsZHNldDphZnRlciB7XG4gIG1hcmdpbjogMXJlbSAwIDA7XG4gIGNvbnRlbnQ6IGF0dHIoZGF0YS1oYXNyZXF1aXJlZCk7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBsZXR0ZXItc3BhY2luZzogbm9ybWFsO1xuICB3b3JkLXNwYWNpbmc6IG5vcm1hbDtcbiAgY29sb3I6ICNlMDJiMjc7XG4gIGZvbnQtc2l6ZTogMS4ycmVtOyB9XG5cbi5ibG9jay1hZGRyZXNzZXMtbGlzdCAuaXRlbXMuYWRkcmVzc2VzID4gLml0ZW0ge1xuICBtYXJnaW4tYm90dG9tOiAycmVtOyB9XG5cbi5ibG9jay1hZGRyZXNzZXMtbGlzdCAuaXRlbXMuYWRkcmVzc2VzID4gLml0ZW06bGFzdC1jaGlsZCB7XG4gIG1hcmdpbi1ib3R0b206IDA7IH1cblxuLmZvcm0tYWRkcmVzcy1lZGl0IC5yZWdpb25faWQge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbi5mb3JtLWFkZHJlc3MtZWRpdCAuYWN0aW9ucy10b29sYmFyIC5hY3Rpb24ucHJpbWFyeSB7XG4gIGZvbnQtc2l6ZTogMS44cmVtOyB9XG5cbi5mb3JtLWVkaXQtYWNjb3VudCAuZmllbGRzZXQucGFzc3dvcmQge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbi5ib3gtYmlsbGluZy1hZGRyZXNzIC5ib3gtY29udGVudCxcbi5ib3gtc2hpcHBpbmctYWRkcmVzcyAuYm94LWNvbnRlbnQsXG4uYm94LWluZm9ybWF0aW9uIC5ib3gtY29udGVudCxcbi5ib3gtbmV3c2xldHRlciAuYm94LWNvbnRlbnQge1xuICBvdmVyZmxvdy13cmFwOiBicmVhay13b3JkO1xuICB3b3JkLXdyYXA6IGJyZWFrLXdvcmQ7XG4gIHdvcmQtYnJlYWs6IGJyZWFrLXdvcmQ7XG4gIGh5cGhlbnM6IGF1dG87XG4gIGxpbmUtaGVpZ2h0OiAyLjZyZW07IH1cblxuLmZpZWxkLnBhc3N3b3JkIC5jb250cm9sIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgfVxuXG4uZmllbGQucGFzc3dvcmQgLmNvbnRyb2wgLm1hZ2UtZXJyb3Ige1xuICBvcmRlcjogMjsgfVxuXG4uZmllbGQucGFzc3dvcmQgLmNvbnRyb2wgLmlucHV0LXRleHQge1xuICBvcmRlcjogMDtcbiAgei1pbmRleDogMjsgfVxuXG4uZmllbGRzZXQgLmZ1bGxuYW1lLmZpZWxkID4gLmxhYmVsIHtcbiAgYm9yZGVyOiAwO1xuICBjbGlwOiByZWN0KDAgMCAwIDApO1xuICBoZWlnaHQ6IDFweDtcbiAgbWFyZ2luOiAtMXB4O1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBwYWRkaW5nOiAwO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHdpZHRoOiAxcHg7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIC8qIDEgKi8gfVxuICAuZmllbGRzZXQgLmZ1bGxuYW1lLmZpZWxkID4gLmxhYmVsICsgLmNvbnRyb2wge1xuICAgIHdpZHRoOiAxMDAlOyB9XG5cbi5maWVsZC5zdHJlZXQgLmZpZWxkIC5sYWJlbCB7XG4gIGJvcmRlcjogMDtcbiAgY2xpcDogcmVjdCgwIDAgMCAwKTtcbiAgaGVpZ2h0OiAxcHg7XG4gIG1hcmdpbjogLTFweDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgcGFkZGluZzogMDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB3aWR0aDogMXB4O1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAvKiAxICovIH1cblxuLmNvbnRyb2wuY2FwdGNoYS1pbWFnZSB7XG4gIG1hcmdpbi10b3A6IDFyZW07IH1cblxuLmNvbnRyb2wuY2FwdGNoYS1pbWFnZSAuY2FwdGNoYS1pbWcge1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOyB9XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjM5cHgpIHtcbiAgLmFjY291bnQgLmNvbHVtbi5tYWluLFxuICAuYWNjb3VudCAuc2lkZWJhci1hZGRpdGlvbmFsIHtcbiAgICBtYXJnaW46IDA7IH0gfVxuXG5AbWVkaWEgKG1heC13aWR0aDogNDcuOTllbSkge1xuICAubG9naW4tY29udGFpbmVyIC5maWVsZHNldDphZnRlciB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gIC5jb250cm9sLmNhcHRjaGEtaW1hZ2UgLmNhcHRjaGEtaW1nIHtcbiAgICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gIC5mb3JtLnNlYXJjaC5hZHZhbmNlZCAuZmllbGQucHJpY2UgLndpdGgtYWRkb24gLmlucHV0LXRleHQge1xuICAgIGZsZXgtYmFzaXM6IGF1dG87XG4gICAgd2lkdGg6IDEwMCU7IH0gfVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNDhlbSkge1xuICAubG9naW4tY29udGFpbmVyIC5ibG9jayAubG9naW4gLmFjdGlvbnMtdG9vbGJhciA+IC5wcmltYXJ5IHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIG1hcmdpbi1yaWdodDogM3JlbTsgfVxuICAubG9naW4tY29udGFpbmVyIC5ibG9jayAubG9naW4gLmFjdGlvbnMtdG9vbGJhciA+IC5zZWNvbmRhcnkge1xuICAgIGZsb2F0OiBsZWZ0OyB9XG4gIC5maWVsZHNldCAuZnVsbG5hbWUgLmZpZWxkIC5sYWJlbCB7XG4gICAgcGFkZGluZzogNnB4IDE1cHggMCAwO1xuICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgIHdpZHRoOiAyNS44JTtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIGZsb2F0OiBsZWZ0OyB9XG4gIC5maWVsZHNldCAuZnVsbG5hbWUgLmZpZWxkIC5jb250cm9sIHtcbiAgICB3aWR0aDogNzQuMiU7XG4gICAgZmxvYXQ6IGxlZnQ7IH1cbiAgLmJsb2NrLWFkZHJlc3Nlcy1saXN0IC5pdGVtcy5hZGRyZXNzZXMge1xuICAgIGZvbnQtc2l6ZTogMDsgfVxuICAuYmxvY2stYWRkcmVzc2VzLWxpc3QgLml0ZW1zLmFkZHJlc3NlcyA+IC5pdGVtIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgZm9udC1zaXplOiAxLjRyZW07XG4gICAgbWFyZ2luLWJvdHRvbTogMnJlbTtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICAgIHdpZHRoOiA0OC44JTsgfVxuICAuYmxvY2stYWRkcmVzc2VzLWxpc3QgLml0ZW1zLmFkZHJlc3NlcyA+IC5pdGVtOm50aC1sYXN0LWNoaWxkKDEpLFxuICAuYmxvY2stYWRkcmVzc2VzLWxpc3QgLml0ZW1zLmFkZHJlc3NlcyA+IC5pdGVtOm50aC1sYXN0LWNoaWxkKDIpIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gIC5ibG9jay1hZGRyZXNzZXMtbGlzdCAuaXRlbXMuYWRkcmVzc2VzID4gLml0ZW06bnRoLWNoaWxkKGV2ZW4pIHtcbiAgICBtYXJnaW4tbGVmdDogMi40JTsgfVxuICAuY29udHJvbC5jYXB0Y2hhLWltYWdlIC5jYXB0Y2hhLWltZyB7XG4gICAgbWFyZ2luOiAwIDFyZW0gMXJlbSAwOyB9XG4gIC5kYXNoYm9hcmQtd2VsY29tZS10b2dnbGVyIHtcbiAgICBib3JkZXI6IDA7XG4gICAgY2xpcDogcmVjdCgwIDAgMCAwKTtcbiAgICBoZWlnaHQ6IDFweDtcbiAgICBtYXJnaW46IC0xcHg7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBwYWRkaW5nOiAwO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB3aWR0aDogMXB4O1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgLyogMSAqLyB9IH1cbiIsIi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbkBmdW5jdGlvbiBkZWVwLWdldCgkbWFwLCAka2V5cy4uLikge1xuICAgIEBlYWNoICRrZXkgaW4gJGtleXMge1xuICAgICAgICAkbWFwOiBtYXAtZ2V0KCRtYXAsICRrZXkpO1xuICAgIH1cbiAgICBAcmV0dXJuICRtYXA7XG59XG4iLCIvKioqXG4gKiBIaWRlIG9ubHkgdmlzdWFsbHksIGJ1dCBoYXZlIGl0IGF2YWlsYWJsZSBmb3Igc2NyZWVuIHJlYWRlcnM6XG4gKiBodHRwczovL3Nub29rLmNhL2FyY2hpdmVzL2h0bWxfYW5kX2Nzcy9oaWRpbmctY29udGVudC1mb3ItYWNjZXNzaWJpbGl0eVxuICpcbiAqIDEuIEZvciBsb25nIGNvbnRlbnQsIGxpbmUgZmVlZHMgYXJlIG5vdCBpbnRlcnByZXRlZCBhcyBzcGFjZXMgYW5kIHNtYWxsIHdpZHRoXG4gKiAgICBjYXVzZXMgY29udGVudCB0byB3cmFwIDEgd29yZCBwZXIgbGluZTpcbiAqICAgIGh0dHBzOi8vbWVkaXVtLmNvbS9AamVzc2ViZWFjaC9iZXdhcmUtc211c2hlZC1vZmYtc2NyZWVuLWFjY2Vzc2libGUtdGV4dC01OTUyYTRjMmNiZmVcbiAqXG4gKiBAc2VlIGh0dHBzOi8vZ2l0aHViLmNvbS9oNWJwL2h0bWw1LWJvaWxlcnBsYXRlL2Jsb2IvbWFzdGVyL3NyYy9jc3MvbWFpbi5jc3MjTDEzMFxuICovXG5cbkBtaXhpbiB2aXN1YWxseS1oaWRkZW4ge1xuICAgIGJvcmRlcjogMDtcbiAgICBjbGlwOiByZWN0KDAgMCAwIDApO1xuICAgIGhlaWdodDogMXB4O1xuICAgIG1hcmdpbjogLTFweDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHdpZHRoOiAxcHg7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDsgLyogMSAqL1xufVxuXG5AbWl4aW4gdmlzdWFsbHktdmlzaWJsZSB7XG4gICAgY2xpcDogYXV0bztcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgbWFyZ2luOiAwO1xuICAgIG92ZXJmbG93OiB2aXNpYmxlO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgcG9zaXRpb246IHN0YXRpYztcbiAgICB3aWR0aDogYXV0bztcbiAgICB3aGl0ZS1zcGFjZTogbm9ybWFsO1xufVxuIiwiLy8gU3R5bGVzIG1vdmVkIGZyb24gbWFnZW50byBibHNuayB0aGVtZTogTWFnZW50b19DdXN0b21lci93ZWIvY3NzL3NvdXJjZS9fbW9kdWxlLmxlc3Ncbi8vIGluIG9yZGVyIHRvIGhhdmUgYmV0dGVyIGNvbnRyb2wgb3ZlciB0aGVtIGFuZCBiZSBhYmxlIHRvIGltcG9ydCB0aGVtIG9ubHkgaW5zaWRlIGN1c3RvbWVyLnRzIGVudHJ5XG5cbkBpbXBvcnQgJ2NvbmZpZy92YXJpYWJsZXMnO1xuQGltcG9ydCAndmVuZG9ycy9pbmNsdWRlLW1lZGlhJztcbkBpbXBvcnQgJ3V0aWxzL3Zpc3VhbGx5LWhpZGRlbic7XG5cbi5sb2dpbi1jb250YWluZXIgLmJsb2NrLW5ldy1jdXN0b21lciAuYWN0aW9ucy10b29sYmFyIHtcbiAgICBtYXJnaW4tdG9wOiAyLjVyZW07XG59XG5cbi5sb2dpbi1jb250YWluZXIgLmJsb2NrIC5ibG9jay10aXRsZSB7XG4gICAgZm9udC1zaXplOiAxLjhyZW07XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNlOGU4ZTg7XG4gICAgbWFyZ2luLWJvdHRvbTogMS41cmVtO1xuICAgIHBhZGRpbmctYm90dG9tOiAxLjJyZW07XG59XG5cbi5sb2dpbi1jb250YWluZXIgLmZpZWxkc2V0OmFmdGVyIHtcbiAgICBtYXJnaW46IDFyZW0gMCAwO1xuICAgIGNvbnRlbnQ6IGF0dHIoZGF0YS1oYXNyZXF1aXJlZCk7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbGV0dGVyLXNwYWNpbmc6IG5vcm1hbDtcbiAgICB3b3JkLXNwYWNpbmc6IG5vcm1hbDtcbiAgICBjb2xvcjogI2UwMmIyNztcbiAgICBmb250LXNpemU6IDEuMnJlbTtcbn1cblxuLmJsb2NrLWFkZHJlc3Nlcy1saXN0IC5pdGVtcy5hZGRyZXNzZXMgPiAuaXRlbSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMnJlbTtcbn1cblxuLmJsb2NrLWFkZHJlc3Nlcy1saXN0IC5pdGVtcy5hZGRyZXNzZXMgPiAuaXRlbTpsYXN0LWNoaWxkIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xufVxuXG4uZm9ybS1hZGRyZXNzLWVkaXQgLnJlZ2lvbl9pZCB7XG4gICAgZGlzcGxheTogbm9uZTtcbn1cblxuLmZvcm0tYWRkcmVzcy1lZGl0IC5hY3Rpb25zLXRvb2xiYXIgLmFjdGlvbi5wcmltYXJ5IHtcbiAgICBmb250LXNpemU6IDEuOHJlbTtcbn1cblxuLmZvcm0tZWRpdC1hY2NvdW50IC5maWVsZHNldC5wYXNzd29yZCB7XG4gICAgZGlzcGxheTogbm9uZTtcbn1cblxuLmJveC1iaWxsaW5nLWFkZHJlc3MgLmJveC1jb250ZW50LFxuLmJveC1zaGlwcGluZy1hZGRyZXNzIC5ib3gtY29udGVudCxcbi5ib3gtaW5mb3JtYXRpb24gLmJveC1jb250ZW50LFxuLmJveC1uZXdzbGV0dGVyIC5ib3gtY29udGVudCB7XG4gICAgb3ZlcmZsb3ctd3JhcDogYnJlYWstd29yZDtcbiAgICB3b3JkLXdyYXA6IGJyZWFrLXdvcmQ7XG4gICAgd29yZC1icmVhazogYnJlYWstd29yZDtcbiAgICBoeXBoZW5zOiBhdXRvO1xuICAgIGxpbmUtaGVpZ2h0OiAyLjZyZW07XG59XG5cbi5maWVsZC5wYXNzd29yZCAuY29udHJvbCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xufVxuXG4uZmllbGQucGFzc3dvcmQgLmNvbnRyb2wgLm1hZ2UtZXJyb3Ige1xuICAgIG9yZGVyOiAyO1xufVxuXG4uZmllbGQucGFzc3dvcmQgLmNvbnRyb2wgLmlucHV0LXRleHQge1xuICAgIG9yZGVyOiAwO1xuICAgIHotaW5kZXg6IDI7XG59XG5cbi5maWVsZHNldCAuZnVsbG5hbWUuZmllbGQge1xuICAgID4gLmxhYmVsIHtcbiAgICAgICAgQGluY2x1ZGUgdmlzdWFsbHktaGlkZGVuO1xuXG4gICAgICAgICsgLmNvbnRyb2wge1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5maWVsZC5zdHJlZXQge1xuICAgIC5maWVsZCB7XG4gICAgICAgIC5sYWJlbCB7XG4gICAgICAgICAgICBAaW5jbHVkZSB2aXN1YWxseS1oaWRkZW47XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5jb250cm9sLmNhcHRjaGEtaW1hZ2Uge1xuICAgIG1hcmdpbi10b3A6IDFyZW07XG59XG5cbi5jb250cm9sLmNhcHRjaGEtaW1hZ2UgLmNhcHRjaGEtaW1nIHtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYzOXB4KSB7XG4gICAgLmFjY291bnQgLmNvbHVtbi5tYWluLFxuICAgIC5hY2NvdW50IC5zaWRlYmFyLWFkZGl0aW9uYWwge1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgfVxufVxuXG5AaW5jbHVkZSBtZWRpYSgnPHRhYmxldCcpIHtcbiAgICAubG9naW4tY29udGFpbmVyIC5maWVsZHNldDphZnRlciB7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB9XG5cbiAgICAuY29udHJvbC5jYXB0Y2hhLWltYWdlIC5jYXB0Y2hhLWltZyB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDFyZW07XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cblxuICAgIC5mb3JtLnNlYXJjaC5hZHZhbmNlZCAuZmllbGQucHJpY2UgLndpdGgtYWRkb24gLmlucHV0LXRleHQge1xuICAgICAgICBmbGV4LWJhc2lzOiBhdXRvO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG59XG5cbkBpbmNsdWRlIG1lZGlhKCc+PXRhYmxldCcpIHtcbiAgICAubG9naW4tY29udGFpbmVyIC5ibG9jayAubG9naW4gLmFjdGlvbnMtdG9vbGJhciA+IC5wcmltYXJ5IHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAzcmVtO1xuICAgIH1cblxuICAgIC5sb2dpbi1jb250YWluZXIgLmJsb2NrIC5sb2dpbiAuYWN0aW9ucy10b29sYmFyID4gLnNlY29uZGFyeSB7XG4gICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgIH1cblxuICAgIC5maWVsZHNldCAuZnVsbG5hbWUgLmZpZWxkIC5sYWJlbCB7XG4gICAgICAgIHBhZGRpbmc6IDZweCAxNXB4IDAgMDtcbiAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgICAgIHdpZHRoOiAyNS44JTtcbiAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgfVxuXG4gICAgLmZpZWxkc2V0IC5mdWxsbmFtZSAuZmllbGQgLmNvbnRyb2wge1xuICAgICAgICB3aWR0aDogNzQuMiU7XG4gICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgIH1cblxuICAgIC5ibG9jay1hZGRyZXNzZXMtbGlzdCAuaXRlbXMuYWRkcmVzc2VzIHtcbiAgICAgICAgZm9udC1zaXplOiAwO1xuICAgIH1cblxuICAgIC5ibG9jay1hZGRyZXNzZXMtbGlzdCAuaXRlbXMuYWRkcmVzc2VzID4gLml0ZW0ge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIGZvbnQtc2l6ZTogMS40cmVtO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAycmVtO1xuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICAgICAgICB3aWR0aDogNDguOCU7XG4gICAgfVxuXG4gICAgLmJsb2NrLWFkZHJlc3Nlcy1saXN0IC5pdGVtcy5hZGRyZXNzZXMgPiAuaXRlbTpudGgtbGFzdC1jaGlsZCgxKSxcbiAgICAuYmxvY2stYWRkcmVzc2VzLWxpc3QgLml0ZW1zLmFkZHJlc3NlcyA+IC5pdGVtOm50aC1sYXN0LWNoaWxkKDIpIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICB9XG5cbiAgICAuYmxvY2stYWRkcmVzc2VzLWxpc3QgLml0ZW1zLmFkZHJlc3NlcyA+IC5pdGVtOm50aC1jaGlsZChldmVuKSB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAyLjQlO1xuICAgIH1cblxuICAgIC5jb250cm9sLmNhcHRjaGEtaW1hZ2UgLmNhcHRjaGEtaW1nIHtcbiAgICAgICAgbWFyZ2luOiAwIDFyZW0gMXJlbSAwO1xuICAgIH1cblxuICAgIC5kYXNoYm9hcmQtd2VsY29tZS10b2dnbGVyIHtcbiAgICAgICAgQGluY2x1ZGUgdmlzdWFsbHktaGlkZGVuO1xuICAgIH1cbn1cbiIsIkBjaGFyc2V0IFwiVVRGLThcIjtcblxuLy8gICAgIF8gICAgICAgICAgICBfICAgICAgICAgICBfICAgICAgICAgICAgICAgICAgICAgICAgICAgXyBfXG4vLyAgICAoXykgICAgICAgICAgfCB8ICAgICAgICAgfCB8ICAgICAgICAgICAgICAgICAgICAgICAgIHwgKF8pXG4vLyAgICAgXyBfIF9fICAgX19ffCB8XyAgIF8gIF9ffCB8IF9fXyAgIF8gX18gX19fICAgX19fICBfX3wgfF8gIF9fIF9cbi8vICAgIHwgfCAnXyBcXCAvIF9ffCB8IHwgfCB8LyBfYCB8LyBfIFxcIHwgJ18gYCBfIFxcIC8gXyBcXC8gX2AgfCB8LyBfYCB8XG4vLyAgICB8IHwgfCB8IHwgKF9ffCB8IHxffCB8IChffCB8ICBfXy8gfCB8IHwgfCB8IHwgIF9fLyAoX3wgfCB8IChffCB8XG4vLyAgICB8X3xffCB8X3xcXF9fX3xffFxcX18sX3xcXF9fLF98XFxfX198IHxffCB8X3wgfF98XFxfX198XFxfXyxffF98XFxfXyxffFxuLy9cbi8vICAgICAgU2ltcGxlLCBlbGVnYW50IGFuZCBtYWludGFpbmFibGUgbWVkaWEgcXVlcmllcyBpbiBTYXNzXG4vLyAgICAgICAgICAgICAgICAgICAgICAgIHYxLjQuOVxuLy9cbi8vICAgICAgICBodHRwczovL2VkdWFyZG9ib3VjYXMuZ2l0aHViLmlvL2luY2x1ZGUtbWVkaWFcbi8vXG4vLyAgICAgICAgIEF1dGhvcnM6IEVkdWFyZG8gQm91Y2FzIChAZWR1YXJkb2JvdWNhcylcbi8vICAgICAgICAgICAgICAgICAgS2l0dHkgR2lyYXVkZWwgKEBraXR0eWdpcmF1ZGVsKVxuLy9cbi8vICAgICAgVGhpcyBwcm9qZWN0IGlzIGxpY2Vuc2VkIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgTUlUIGxpY2Vuc2Vcbi8vLy9cbi8vLyBpbmNsdWRlLW1lZGlhIGxpYnJhcnkgcHVibGljIGNvbmZpZ3VyYXRpb25cbi8vLyBAYXV0aG9yIEVkdWFyZG8gQm91Y2FzXG4vLy8gQGFjY2VzcyBwdWJsaWNcbi8vLy9cblxuXG4vLy9cbi8vLyBDcmVhdGVzIGEgbGlzdCBvZiBnbG9iYWwgYnJlYWtwb2ludHNcbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBDcmVhdGVzIGEgc2luZ2xlIGJyZWFrcG9pbnQgd2l0aCB0aGUgbGFiZWwgYHBob25lYFxuLy8vICAkYnJlYWtwb2ludHM6ICgncGhvbmUnOiAzMjBweCk7XG4vLy9cbiRicmVha3BvaW50czogKFxuICAncGhvbmUnOiAzMjBweCxcbiAgJ3RhYmxldCc6IDc2OHB4LFxuICAnZGVza3RvcCc6IDEwMjRweFxuKSAhZGVmYXVsdDtcblxuXG4vLy9cbi8vLyBDcmVhdGVzIGEgbGlzdCBvZiBzdGF0aWMgZXhwcmVzc2lvbnMgb3IgbWVkaWEgdHlwZXNcbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBDcmVhdGVzIGEgc2luZ2xlIG1lZGlhIHR5cGUgKHNjcmVlbilcbi8vLyAgJG1lZGlhLWV4cHJlc3Npb25zOiAoJ3NjcmVlbic6ICdzY3JlZW4nKTtcbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBDcmVhdGVzIGEgc3RhdGljIGV4cHJlc3Npb24gd2l0aCBsb2dpY2FsIGRpc2p1bmN0aW9uIChPUiBvcGVyYXRvcilcbi8vLyAgJG1lZGlhLWV4cHJlc3Npb25zOiAoXG4vLy8gICAgJ3JldGluYTJ4JzogJygtd2Via2l0LW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDIpLCAobWluLXJlc29sdXRpb246IDE5MmRwaSknXG4vLy8gICk7XG4vLy9cbiRtZWRpYS1leHByZXNzaW9uczogKFxuICAnc2NyZWVuJzogJ3NjcmVlbicsXG4gICdwcmludCc6ICdwcmludCcsXG4gICdoYW5kaGVsZCc6ICdoYW5kaGVsZCcsXG4gICdsYW5kc2NhcGUnOiAnKG9yaWVudGF0aW9uOiBsYW5kc2NhcGUpJyxcbiAgJ3BvcnRyYWl0JzogJyhvcmllbnRhdGlvbjogcG9ydHJhaXQpJyxcbiAgJ3JldGluYTJ4JzogJygtd2Via2l0LW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDIpLCAobWluLXJlc29sdXRpb246IDE5MmRwaSksIChtaW4tcmVzb2x1dGlvbjogMmRwcHgpJyxcbiAgJ3JldGluYTN4JzogJygtd2Via2l0LW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDMpLCAobWluLXJlc29sdXRpb246IDM1MGRwaSksIChtaW4tcmVzb2x1dGlvbjogM2RwcHgpJ1xuKSAhZGVmYXVsdDtcblxuXG4vLy9cbi8vLyBEZWZpbmVzIGEgbnVtYmVyIHRvIGJlIGFkZGVkIG9yIHN1YnRyYWN0ZWQgZnJvbSBlYWNoIHVuaXQgd2hlbiBkZWNsYXJpbmcgYnJlYWtwb2ludHMgd2l0aCBleGNsdXNpdmUgaW50ZXJ2YWxzXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gSW50ZXJ2YWwgZm9yIHBpeGVscyBpcyBkZWZpbmVkIGFzIGAxYCBieSBkZWZhdWx0XG4vLy8gIEBpbmNsdWRlIG1lZGlhKCc+MTI4cHgnKSB7fVxuLy8vXG4vLy8gIC8qIEdlbmVyYXRlczogKi9cbi8vLyAgQG1lZGlhIChtaW4td2lkdGg6IDEyOXB4KSB7fVxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIEludGVydmFsIGZvciBlbXMgaXMgZGVmaW5lZCBhcyBgMC4wMWAgYnkgZGVmYXVsdFxuLy8vICBAaW5jbHVkZSBtZWRpYSgnPjIwZW0nKSB7fVxuLy8vXG4vLy8gIC8qIEdlbmVyYXRlczogKi9cbi8vLyAgQG1lZGlhIChtaW4td2lkdGg6IDIwLjAxZW0pIHt9XG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gSW50ZXJ2YWwgZm9yIHJlbXMgaXMgZGVmaW5lZCBhcyBgMC4xYCBieSBkZWZhdWx0LCB0byBiZSB1c2VkIHdpdGggYGZvbnQtc2l6ZTogNjIuNSU7YFxuLy8vICBAaW5jbHVkZSBtZWRpYSgnPjIuMHJlbScpIHt9XG4vLy9cbi8vLyAgLyogR2VuZXJhdGVzOiAqL1xuLy8vICBAbWVkaWEgKG1pbi13aWR0aDogMi4xcmVtKSB7fVxuLy8vXG4kdW5pdC1pbnRlcnZhbHM6IChcbiAgJ3B4JzogMSxcbiAgJ2VtJzogMC4wMSxcbiAgJ3JlbSc6IDAuMSxcbiAgJyc6IDBcbikgIWRlZmF1bHQ7XG5cbi8vL1xuLy8vIERlZmluZXMgd2hldGhlciBzdXBwb3J0IGZvciBtZWRpYSBxdWVyaWVzIGlzIGF2YWlsYWJsZSwgdXNlZnVsIGZvciBjcmVhdGluZyBzZXBhcmF0ZSBzdHlsZXNoZWV0c1xuLy8vIGZvciBicm93c2VycyB0aGF0IGRvbid0IHN1cHBvcnQgbWVkaWEgcXVlcmllcy5cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBEaXNhYmxlcyBzdXBwb3J0IGZvciBtZWRpYSBxdWVyaWVzXG4vLy8gICRpbS1tZWRpYS1zdXBwb3J0OiBmYWxzZTtcbi8vLyAgQGluY2x1ZGUgbWVkaWEoJz49dGFibGV0Jykge1xuLy8vICAgIC5mb28ge1xuLy8vICAgICAgY29sb3I6IHRvbWF0bztcbi8vLyAgICB9XG4vLy8gIH1cbi8vL1xuLy8vICAvKiBHZW5lcmF0ZXM6ICovXG4vLy8gIC5mb28ge1xuLy8vICAgIGNvbG9yOiB0b21hdG87XG4vLy8gIH1cbi8vL1xuJGltLW1lZGlhLXN1cHBvcnQ6IHRydWUgIWRlZmF1bHQ7XG5cbi8vL1xuLy8vIFNlbGVjdHMgd2hpY2ggYnJlYWtwb2ludCB0byBlbXVsYXRlIHdoZW4gc3VwcG9ydCBmb3IgbWVkaWEgcXVlcmllcyBpcyBkaXNhYmxlZC4gTWVkaWEgcXVlcmllcyB0aGF0IHN0YXJ0IGF0IG9yXG4vLy8gaW50ZXJjZXB0IHRoZSBicmVha3BvaW50IHdpbGwgYmUgZGlzcGxheWVkLCBhbnkgb3RoZXJzIHdpbGwgYmUgaWdub3JlZC5cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBUaGlzIG1lZGlhIHF1ZXJ5IHdpbGwgc2hvdyBiZWNhdXNlIGl0IGludGVyY2VwdHMgdGhlIHN0YXRpYyBicmVha3BvaW50XG4vLy8gICRpbS1tZWRpYS1zdXBwb3J0OiBmYWxzZTtcbi8vLyAgJGltLW5vLW1lZGlhLWJyZWFrcG9pbnQ6ICdkZXNrdG9wJztcbi8vLyAgQGluY2x1ZGUgbWVkaWEoJz49dGFibGV0Jykge1xuLy8vICAgIC5mb28ge1xuLy8vICAgICAgY29sb3I6IHRvbWF0bztcbi8vLyAgICB9XG4vLy8gIH1cbi8vL1xuLy8vICAvKiBHZW5lcmF0ZXM6ICovXG4vLy8gIC5mb28ge1xuLy8vICAgIGNvbG9yOiB0b21hdG87XG4vLy8gIH1cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBUaGlzIG1lZGlhIHF1ZXJ5IHdpbGwgTk9UIHNob3cgYmVjYXVzZSBpdCBkb2VzIG5vdCBpbnRlcmNlcHQgdGhlIGRlc2t0b3AgYnJlYWtwb2ludFxuLy8vICAkaW0tbWVkaWEtc3VwcG9ydDogZmFsc2U7XG4vLy8gICRpbS1uby1tZWRpYS1icmVha3BvaW50OiAndGFibGV0Jztcbi8vLyAgQGluY2x1ZGUgbWVkaWEoJz49ZGVza3RvcCcpIHtcbi8vLyAgICAuZm9vIHtcbi8vLyAgICAgIGNvbG9yOiB0b21hdG87XG4vLy8gICAgfVxuLy8vICB9XG4vLy9cbi8vLyAgLyogTm8gb3V0cHV0ICovXG4vLy9cbiRpbS1uby1tZWRpYS1icmVha3BvaW50OiAnZGVza3RvcCcgIWRlZmF1bHQ7XG5cbi8vL1xuLy8vIFNlbGVjdHMgd2hpY2ggbWVkaWEgZXhwcmVzc2lvbnMgYXJlIGFsbG93ZWQgaW4gYW4gZXhwcmVzc2lvbiBmb3IgaXQgdG8gYmUgdXNlZCB3aGVuIG1lZGlhIHF1ZXJpZXNcbi8vLyBhcmUgbm90IHN1cHBvcnRlZC5cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBUaGlzIG1lZGlhIHF1ZXJ5IHdpbGwgc2hvdyBiZWNhdXNlIGl0IGludGVyY2VwdHMgdGhlIHN0YXRpYyBicmVha3BvaW50IGFuZCBjb250YWlucyBvbmx5IGFjY2VwdGVkIG1lZGlhIGV4cHJlc3Npb25zXG4vLy8gICRpbS1tZWRpYS1zdXBwb3J0OiBmYWxzZTtcbi8vLyAgJGltLW5vLW1lZGlhLWJyZWFrcG9pbnQ6ICdkZXNrdG9wJztcbi8vLyAgJGltLW5vLW1lZGlhLWV4cHJlc3Npb25zOiAoJ3NjcmVlbicpO1xuLy8vICBAaW5jbHVkZSBtZWRpYSgnPj10YWJsZXQnLCAnc2NyZWVuJykge1xuLy8vICAgIC5mb28ge1xuLy8vICAgICAgY29sb3I6IHRvbWF0bztcbi8vLyAgICB9XG4vLy8gIH1cbi8vL1xuLy8vICAgLyogR2VuZXJhdGVzOiAqL1xuLy8vICAgLmZvbyB7XG4vLy8gICAgIGNvbG9yOiB0b21hdG87XG4vLy8gICB9XG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gVGhpcyBtZWRpYSBxdWVyeSB3aWxsIE5PVCBzaG93IGJlY2F1c2UgaXQgaW50ZXJjZXB0cyB0aGUgc3RhdGljIGJyZWFrcG9pbnQgYnV0IGNvbnRhaW5zIGEgbWVkaWEgZXhwcmVzc2lvbiB0aGF0IGlzIG5vdCBhY2NlcHRlZFxuLy8vICAkaW0tbWVkaWEtc3VwcG9ydDogZmFsc2U7XG4vLy8gICRpbS1uby1tZWRpYS1icmVha3BvaW50OiAnZGVza3RvcCc7XG4vLy8gICRpbS1uby1tZWRpYS1leHByZXNzaW9uczogKCdzY3JlZW4nKTtcbi8vLyAgQGluY2x1ZGUgbWVkaWEoJz49dGFibGV0JywgJ3JldGluYTJ4Jykge1xuLy8vICAgIC5mb28ge1xuLy8vICAgICAgY29sb3I6IHRvbWF0bztcbi8vLyAgICB9XG4vLy8gIH1cbi8vL1xuLy8vICAvKiBObyBvdXRwdXQgKi9cbi8vL1xuJGltLW5vLW1lZGlhLWV4cHJlc3Npb25zOiAoJ3NjcmVlbicsICdwb3J0cmFpdCcsICdsYW5kc2NhcGUnKSAhZGVmYXVsdDtcblxuLy8vL1xuLy8vIENyb3NzLWVuZ2luZSBsb2dnaW5nIGVuZ2luZVxuLy8vIEBhdXRob3IgS2l0dHkgR2lyYXVkZWxcbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vLy9cblxuXG4vLy9cbi8vLyBMb2cgYSBtZXNzYWdlIGVpdGhlciB3aXRoIGBAZXJyb3JgIGlmIHN1cHBvcnRlZFxuLy8vIGVsc2Ugd2l0aCBgQHdhcm5gLCB1c2luZyBgZmVhdHVyZS1leGlzdHMoJ2F0LWVycm9yJylgXG4vLy8gdG8gZGV0ZWN0IHN1cHBvcnQuXG4vLy9cbi8vLyBAcGFyYW0ge1N0cmluZ30gJG1lc3NhZ2UgLSBNZXNzYWdlIHRvIGxvZ1xuLy8vXG5AZnVuY3Rpb24gaW0tbG9nKCRtZXNzYWdlKSB7XG4gIEBpZiBmZWF0dXJlLWV4aXN0cygnYXQtZXJyb3InKSB7XG4gICAgQGVycm9yICRtZXNzYWdlO1xuICB9IEBlbHNlIHtcbiAgICBAd2FybiAkbWVzc2FnZTtcbiAgICAkXzogbm9vcCgpO1xuICB9XG5cbiAgQHJldHVybiAkbWVzc2FnZTtcbn1cblxuXG4vLy9cbi8vLyBXcmFwcGVyIG1peGluIGZvciB0aGUgbG9nIGZ1bmN0aW9uIHNvIGl0IGNhbiBiZSB1c2VkIHdpdGggYSBtb3JlIGZyaWVuZGx5XG4vLy8gQVBJIHRoYW4gYEBpZiBpbS1sb2coJy4uJykge31gIG9yIGAkXzogaW0tbG9nKCcuLicpYC4gQmFzaWNhbGx5LCB1c2UgdGhlIGZ1bmN0aW9uXG4vLy8gd2l0aGluIGZ1bmN0aW9ucyBiZWNhdXNlIGl0IGlzIG5vdCBwb3NzaWJsZSB0byBpbmNsdWRlIGEgbWl4aW4gaW4gYSBmdW5jdGlvblxuLy8vIGFuZCB1c2UgdGhlIG1peGluIGV2ZXJ5d2hlcmUgZWxzZSBiZWNhdXNlIGl0J3MgbXVjaCBtb3JlIGVsZWdhbnQuXG4vLy9cbi8vLyBAcGFyYW0ge1N0cmluZ30gJG1lc3NhZ2UgLSBNZXNzYWdlIHRvIGxvZ1xuLy8vXG5AbWl4aW4gbG9nKCRtZXNzYWdlKSB7XG4gIEBpZiBpbS1sb2coJG1lc3NhZ2UpIHt9XG59XG5cblxuLy8vXG4vLy8gRnVuY3Rpb24gd2l0aCBubyBgQHJldHVybmAgY2FsbGVkIG5leHQgdG8gYEB3YXJuYCBpbiBTYXNzIDMuM1xuLy8vIHRvIHRyaWdnZXIgYSBjb21waWxpbmcgZXJyb3IgYW5kIHN0b3AgdGhlIHByb2Nlc3MuXG4vLy9cbkBmdW5jdGlvbiBub29wKCkge31cblxuLy8vXG4vLy8gRGV0ZXJtaW5lcyB3aGV0aGVyIGEgbGlzdCBvZiBjb25kaXRpb25zIGlzIGludGVyY2VwdGVkIGJ5IHRoZSBzdGF0aWMgYnJlYWtwb2ludC5cbi8vL1xuLy8vIEBwYXJhbSB7QXJnbGlzdH0gICAkY29uZGl0aW9ucyAgLSBNZWRpYSBxdWVyeSBjb25kaXRpb25zXG4vLy9cbi8vLyBAcmV0dXJuIHtCb29sZWFufSAtIFJldHVybnMgdHJ1ZSBpZiB0aGUgY29uZGl0aW9ucyBhcmUgaW50ZXJjZXB0ZWQgYnkgdGhlIHN0YXRpYyBicmVha3BvaW50XG4vLy9cbkBmdW5jdGlvbiBpbS1pbnRlcmNlcHRzLXN0YXRpYy1icmVha3BvaW50KCRjb25kaXRpb25zLi4uKSB7XG4gICRuby1tZWRpYS1icmVha3BvaW50LXZhbHVlOiBtYXAtZ2V0KCRicmVha3BvaW50cywgJGltLW5vLW1lZGlhLWJyZWFrcG9pbnQpO1xuXG4gIEBpZiBub3QgJG5vLW1lZGlhLWJyZWFrcG9pbnQtdmFsdWUge1xuICAgIEBpZiBpbS1sb2coJ2AjeyRpbS1uby1tZWRpYS1icmVha3BvaW50fWAgaXMgbm90IGEgdmFsaWQgYnJlYWtwb2ludC4nKSB7fVxuICB9XG5cbiAgQGVhY2ggJGNvbmRpdGlvbiBpbiAkY29uZGl0aW9ucyB7XG4gICAgQGlmIG5vdCBtYXAtaGFzLWtleSgkbWVkaWEtZXhwcmVzc2lvbnMsICRjb25kaXRpb24pIHtcbiAgICAgICRvcGVyYXRvcjogZ2V0LWV4cHJlc3Npb24tb3BlcmF0b3IoJGNvbmRpdGlvbik7XG4gICAgICAkcHJlZml4OiBnZXQtZXhwcmVzc2lvbi1wcmVmaXgoJG9wZXJhdG9yKTtcbiAgICAgICR2YWx1ZTogZ2V0LWV4cHJlc3Npb24tdmFsdWUoJGNvbmRpdGlvbiwgJG9wZXJhdG9yKTtcblxuICAgICAgQGlmICgkcHJlZml4ID09ICdtYXgnIGFuZCAkdmFsdWUgPD0gJG5vLW1lZGlhLWJyZWFrcG9pbnQtdmFsdWUpIG9yXG4gICAgICAgICAgKCRwcmVmaXggPT0gJ21pbicgYW5kICR2YWx1ZSA+ICRuby1tZWRpYS1icmVha3BvaW50LXZhbHVlKSB7XG4gICAgICAgIEByZXR1cm4gZmFsc2U7XG4gICAgICB9XG4gICAgfSBAZWxzZSBpZiBub3QgaW5kZXgoJGltLW5vLW1lZGlhLWV4cHJlc3Npb25zLCAkY29uZGl0aW9uKSB7XG4gICAgICBAcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgfVxuXG4gIEByZXR1cm4gdHJ1ZTtcbn1cblxuLy8vL1xuLy8vIFBhcnNpbmcgZW5naW5lXG4vLy8gQGF1dGhvciBLaXR0eSBHaXJhdWRlbFxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vL1xuXG5cbi8vL1xuLy8vIEdldCBvcGVyYXRvciBvZiBhbiBleHByZXNzaW9uXG4vLy9cbi8vLyBAcGFyYW0ge1N0cmluZ30gJGV4cHJlc3Npb24gLSBFeHByZXNzaW9uIHRvIGV4dHJhY3Qgb3BlcmF0b3IgZnJvbVxuLy8vXG4vLy8gQHJldHVybiB7U3RyaW5nfSAtIEFueSBvZiBgPj1gLCBgPmAsIGA8PWAsIGA8YCwgYOKJpWAsIGDiiaRgXG4vLy9cbkBmdW5jdGlvbiBnZXQtZXhwcmVzc2lvbi1vcGVyYXRvcigkZXhwcmVzc2lvbikge1xuICBAZWFjaCAkb3BlcmF0b3IgaW4gKCc+PScsICc+JywgJzw9JywgJzwnLCAn4omlJywgJ+KJpCcpIHtcbiAgICBAaWYgc3RyLWluZGV4KCRleHByZXNzaW9uLCAkb3BlcmF0b3IpIHtcbiAgICAgIEByZXR1cm4gJG9wZXJhdG9yO1xuICAgIH1cbiAgfVxuXG4gIC8vIEl0IGlzIG5vdCBwb3NzaWJsZSB0byBpbmNsdWRlIGEgbWl4aW4gaW5zaWRlIGEgZnVuY3Rpb24sIHNvIHdlIGhhdmUgdG9cbiAgLy8gcmVseSBvbiB0aGUgYGltLWxvZyguLilgIGZ1bmN0aW9uIHJhdGhlciB0aGFuIHRoZSBgbG9nKC4uKWAgbWl4aW4uIEJlY2F1c2VcbiAgLy8gZnVuY3Rpb25zIGNhbm5vdCBiZSBjYWxsZWQgYW55d2hlcmUgaW4gU2Fzcywgd2UgbmVlZCB0byBoYWNrIHRoZSBjYWxsIGluXG4gIC8vIGEgZHVtbXkgdmFyaWFibGUsIHN1Y2ggYXMgYCRfYC4gSWYgYW55Ym9keSBldmVyIHJhaXNlIGEgc2NvcGluZyBpc3N1ZSB3aXRoXG4gIC8vIFNhc3MgMy4zLCBjaGFuZ2UgdGhpcyBsaW5lIGluIGBAaWYgaW0tbG9nKC4uKSB7fWAgaW5zdGVhZC5cbiAgJF86IGltLWxvZygnTm8gb3BlcmF0b3IgZm91bmQgaW4gYCN7JGV4cHJlc3Npb259YC4nKTtcbn1cblxuXG4vLy9cbi8vLyBHZXQgZGltZW5zaW9uIG9mIGFuIGV4cHJlc3Npb24sIGJhc2VkIG9uIGEgZm91bmQgb3BlcmF0b3Jcbi8vL1xuLy8vIEBwYXJhbSB7U3RyaW5nfSAkZXhwcmVzc2lvbiAtIEV4cHJlc3Npb24gdG8gZXh0cmFjdCBkaW1lbnNpb24gZnJvbVxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkb3BlcmF0b3IgLSBPcGVyYXRvciBmcm9tIGAkZXhwcmVzc2lvbmBcbi8vL1xuLy8vIEByZXR1cm4ge1N0cmluZ30gLSBgd2lkdGhgIG9yIGBoZWlnaHRgIChvciBwb3RlbnRpYWxseSBhbnl0aGluZyBlbHNlKVxuLy8vXG5AZnVuY3Rpb24gZ2V0LWV4cHJlc3Npb24tZGltZW5zaW9uKCRleHByZXNzaW9uLCAkb3BlcmF0b3IpIHtcbiAgJG9wZXJhdG9yLWluZGV4OiBzdHItaW5kZXgoJGV4cHJlc3Npb24sICRvcGVyYXRvcik7XG4gICRwYXJzZWQtZGltZW5zaW9uOiBzdHItc2xpY2UoJGV4cHJlc3Npb24sIDAsICRvcGVyYXRvci1pbmRleCAtIDEpO1xuICAkZGltZW5zaW9uOiAnd2lkdGgnO1xuXG4gIEBpZiBzdHItbGVuZ3RoKCRwYXJzZWQtZGltZW5zaW9uKSA+IDAge1xuICAgICRkaW1lbnNpb246ICRwYXJzZWQtZGltZW5zaW9uO1xuICB9XG5cbiAgQHJldHVybiAkZGltZW5zaW9uO1xufVxuXG5cbi8vL1xuLy8vIEdldCBkaW1lbnNpb24gcHJlZml4IGJhc2VkIG9uIGFuIG9wZXJhdG9yXG4vLy9cbi8vLyBAcGFyYW0ge1N0cmluZ30gJG9wZXJhdG9yIC0gT3BlcmF0b3Jcbi8vL1xuLy8vIEByZXR1cm4ge1N0cmluZ30gLSBgbWluYCBvciBgbWF4YFxuLy8vXG5AZnVuY3Rpb24gZ2V0LWV4cHJlc3Npb24tcHJlZml4KCRvcGVyYXRvcikge1xuICBAcmV0dXJuIGlmKGluZGV4KCgnPCcsICc8PScsICfiiaQnKSwgJG9wZXJhdG9yKSwgJ21heCcsICdtaW4nKTtcbn1cblxuXG4vLy9cbi8vLyBHZXQgdmFsdWUgb2YgYW4gZXhwcmVzc2lvbiwgYmFzZWQgb24gYSBmb3VuZCBvcGVyYXRvclxuLy8vXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRleHByZXNzaW9uIC0gRXhwcmVzc2lvbiB0byBleHRyYWN0IHZhbHVlIGZyb21cbi8vLyBAcGFyYW0ge1N0cmluZ30gJG9wZXJhdG9yIC0gT3BlcmF0b3IgZnJvbSBgJGV4cHJlc3Npb25gXG4vLy9cbi8vLyBAcmV0dXJuIHtOdW1iZXJ9IC0gQSBudW1lcmljIHZhbHVlXG4vLy9cbkBmdW5jdGlvbiBnZXQtZXhwcmVzc2lvbi12YWx1ZSgkZXhwcmVzc2lvbiwgJG9wZXJhdG9yKSB7XG4gICRvcGVyYXRvci1pbmRleDogc3RyLWluZGV4KCRleHByZXNzaW9uLCAkb3BlcmF0b3IpO1xuICAkdmFsdWU6IHN0ci1zbGljZSgkZXhwcmVzc2lvbiwgJG9wZXJhdG9yLWluZGV4ICsgc3RyLWxlbmd0aCgkb3BlcmF0b3IpKTtcblxuICBAaWYgbWFwLWhhcy1rZXkoJGJyZWFrcG9pbnRzLCAkdmFsdWUpIHtcbiAgICAkdmFsdWU6IG1hcC1nZXQoJGJyZWFrcG9pbnRzLCAkdmFsdWUpO1xuICB9IEBlbHNlIHtcbiAgICAkdmFsdWU6IHRvLW51bWJlcigkdmFsdWUpO1xuICB9XG5cbiAgJGludGVydmFsOiBtYXAtZ2V0KCR1bml0LWludGVydmFscywgdW5pdCgkdmFsdWUpKTtcblxuICBAaWYgbm90ICRpbnRlcnZhbCB7XG4gICAgLy8gSXQgaXMgbm90IHBvc3NpYmxlIHRvIGluY2x1ZGUgYSBtaXhpbiBpbnNpZGUgYSBmdW5jdGlvbiwgc28gd2UgaGF2ZSB0b1xuICAgIC8vIHJlbHkgb24gdGhlIGBpbS1sb2coLi4pYCBmdW5jdGlvbiByYXRoZXIgdGhhbiB0aGUgYGxvZyguLilgIG1peGluLiBCZWNhdXNlXG4gICAgLy8gZnVuY3Rpb25zIGNhbm5vdCBiZSBjYWxsZWQgYW55d2hlcmUgaW4gU2Fzcywgd2UgbmVlZCB0byBoYWNrIHRoZSBjYWxsIGluXG4gICAgLy8gYSBkdW1teSB2YXJpYWJsZSwgc3VjaCBhcyBgJF9gLiBJZiBhbnlib2R5IGV2ZXIgcmFpc2UgYSBzY29waW5nIGlzc3VlIHdpdGhcbiAgICAvLyBTYXNzIDMuMywgY2hhbmdlIHRoaXMgbGluZSBpbiBgQGlmIGltLWxvZyguLikge31gIGluc3RlYWQuXG4gICAgJF86IGltLWxvZygnVW5rbm93biB1bml0IGAje3VuaXQoJHZhbHVlKX1gLicpO1xuICB9XG5cbiAgQGlmICRvcGVyYXRvciA9PSAnPicge1xuICAgICR2YWx1ZTogJHZhbHVlICsgJGludGVydmFsO1xuICB9IEBlbHNlIGlmICRvcGVyYXRvciA9PSAnPCcge1xuICAgICR2YWx1ZTogJHZhbHVlIC0gJGludGVydmFsO1xuICB9XG5cbiAgQHJldHVybiAkdmFsdWU7XG59XG5cblxuLy8vXG4vLy8gUGFyc2UgYW4gZXhwcmVzc2lvbiB0byByZXR1cm4gYSB2YWxpZCBtZWRpYS1xdWVyeSBleHByZXNzaW9uXG4vLy9cbi8vLyBAcGFyYW0ge1N0cmluZ30gJGV4cHJlc3Npb24gLSBFeHByZXNzaW9uIHRvIHBhcnNlXG4vLy9cbi8vLyBAcmV0dXJuIHtTdHJpbmd9IC0gVmFsaWQgbWVkaWEgcXVlcnlcbi8vL1xuQGZ1bmN0aW9uIHBhcnNlLWV4cHJlc3Npb24oJGV4cHJlc3Npb24pIHtcbiAgLy8gSWYgaXQgaXMgcGFydCBvZiAkbWVkaWEtZXhwcmVzc2lvbnMsIGl0IGhhcyBubyBvcGVyYXRvclxuICAvLyB0aGVuIHRoZXJlIGlzIG5vIG5lZWQgdG8gZ28gYW55IGZ1cnRoZXIsIGp1c3QgcmV0dXJuIHRoZSB2YWx1ZVxuICBAaWYgbWFwLWhhcy1rZXkoJG1lZGlhLWV4cHJlc3Npb25zLCAkZXhwcmVzc2lvbikge1xuICAgIEByZXR1cm4gbWFwLWdldCgkbWVkaWEtZXhwcmVzc2lvbnMsICRleHByZXNzaW9uKTtcbiAgfVxuXG4gICRvcGVyYXRvcjogZ2V0LWV4cHJlc3Npb24tb3BlcmF0b3IoJGV4cHJlc3Npb24pO1xuICAkZGltZW5zaW9uOiBnZXQtZXhwcmVzc2lvbi1kaW1lbnNpb24oJGV4cHJlc3Npb24sICRvcGVyYXRvcik7XG4gICRwcmVmaXg6IGdldC1leHByZXNzaW9uLXByZWZpeCgkb3BlcmF0b3IpO1xuICAkdmFsdWU6IGdldC1leHByZXNzaW9uLXZhbHVlKCRleHByZXNzaW9uLCAkb3BlcmF0b3IpO1xuXG4gIEByZXR1cm4gJygjeyRwcmVmaXh9LSN7JGRpbWVuc2lvbn06ICN7JHZhbHVlfSknO1xufVxuXG4vLy9cbi8vLyBTbGljZSBgJGxpc3RgIGJldHdlZW4gYCRzdGFydGAgYW5kIGAkZW5kYCBpbmRleGVzXG4vLy9cbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vL1xuLy8vIEBwYXJhbSB7TGlzdH0gJGxpc3QgLSBMaXN0IHRvIHNsaWNlXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRzdGFydCBbMV0gLSBTdGFydCBpbmRleFxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkZW5kIFtsZW5ndGgoJGxpc3QpXSAtIEVuZCBpbmRleFxuLy8vXG4vLy8gQHJldHVybiB7TGlzdH0gU2xpY2VkIGxpc3Rcbi8vL1xuQGZ1bmN0aW9uIHNsaWNlKCRsaXN0LCAkc3RhcnQ6IDEsICRlbmQ6IGxlbmd0aCgkbGlzdCkpIHtcbiAgQGlmIGxlbmd0aCgkbGlzdCkgPCAxIG9yICRzdGFydCA+ICRlbmQge1xuICAgIEByZXR1cm4gKCk7XG4gIH1cblxuICAkcmVzdWx0OiAoKTtcblxuICBAZm9yICRpIGZyb20gJHN0YXJ0IHRocm91Z2ggJGVuZCB7XG4gICAgJHJlc3VsdDogYXBwZW5kKCRyZXN1bHQsIG50aCgkbGlzdCwgJGkpKTtcbiAgfVxuXG4gIEByZXR1cm4gJHJlc3VsdDtcbn1cblxuLy8vL1xuLy8vIFN0cmluZyB0byBudW1iZXIgY29udmVydGVyXG4vLy8gQGF1dGhvciBLaXR0eSBHaXJhdWRlbFxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vL1xuXG5cbi8vL1xuLy8vIENhc3RzIGEgc3RyaW5nIGludG8gYSBudW1iZXJcbi8vL1xuLy8vIEBwYXJhbSB7U3RyaW5nIHwgTnVtYmVyfSAkdmFsdWUgLSBWYWx1ZSB0byBiZSBwYXJzZWRcbi8vL1xuLy8vIEByZXR1cm4ge051bWJlcn1cbi8vL1xuQGZ1bmN0aW9uIHRvLW51bWJlcigkdmFsdWUpIHtcbiAgQGlmIHR5cGUtb2YoJHZhbHVlKSA9PSAnbnVtYmVyJyB7XG4gICAgQHJldHVybiAkdmFsdWU7XG4gIH0gQGVsc2UgaWYgdHlwZS1vZigkdmFsdWUpICE9ICdzdHJpbmcnIHtcbiAgICAkXzogaW0tbG9nKCdWYWx1ZSBmb3IgYHRvLW51bWJlcmAgc2hvdWxkIGJlIGEgbnVtYmVyIG9yIGEgc3RyaW5nLicpO1xuICB9XG5cbiAgJGZpcnN0LWNoYXJhY3Rlcjogc3RyLXNsaWNlKCR2YWx1ZSwgMSwgMSk7XG4gICRyZXN1bHQ6IDA7XG4gICRkaWdpdHM6IDA7XG4gICRtaW51czogKCRmaXJzdC1jaGFyYWN0ZXIgPT0gJy0nKTtcbiAgJG51bWJlcnM6ICgnMCc6IDAsICcxJzogMSwgJzInOiAyLCAnMyc6IDMsICc0JzogNCwgJzUnOiA1LCAnNic6IDYsICc3JzogNywgJzgnOiA4LCAnOSc6IDkpO1xuXG4gIC8vIFJlbW92ZSArLy0gc2lnbiBpZiBwcmVzZW50IGF0IGZpcnN0IGNoYXJhY3RlclxuICBAaWYgKCRmaXJzdC1jaGFyYWN0ZXIgPT0gJysnIG9yICRmaXJzdC1jaGFyYWN0ZXIgPT0gJy0nKSB7XG4gICAgJHZhbHVlOiBzdHItc2xpY2UoJHZhbHVlLCAyKTtcbiAgfVxuXG4gIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggc3RyLWxlbmd0aCgkdmFsdWUpIHtcbiAgICAkY2hhcmFjdGVyOiBzdHItc2xpY2UoJHZhbHVlLCAkaSwgJGkpO1xuXG4gICAgQGlmIG5vdCAoaW5kZXgobWFwLWtleXMoJG51bWJlcnMpLCAkY2hhcmFjdGVyKSBvciAkY2hhcmFjdGVyID09ICcuJykge1xuICAgICAgQHJldHVybiB0by1sZW5ndGgoaWYoJG1pbnVzLCAtJHJlc3VsdCwgJHJlc3VsdCksIHN0ci1zbGljZSgkdmFsdWUsICRpKSlcbiAgICB9XG5cbiAgICBAaWYgJGNoYXJhY3RlciA9PSAnLicge1xuICAgICAgJGRpZ2l0czogMTtcbiAgICB9IEBlbHNlIGlmICRkaWdpdHMgPT0gMCB7XG4gICAgICAkcmVzdWx0OiAkcmVzdWx0ICogMTAgKyBtYXAtZ2V0KCRudW1iZXJzLCAkY2hhcmFjdGVyKTtcbiAgICB9IEBlbHNlIHtcbiAgICAgICRkaWdpdHM6ICRkaWdpdHMgKiAxMDtcbiAgICAgICRyZXN1bHQ6ICRyZXN1bHQgKyBtYXAtZ2V0KCRudW1iZXJzLCAkY2hhcmFjdGVyKSAvICRkaWdpdHM7XG4gICAgfVxuICB9XG5cbiAgQHJldHVybiBpZigkbWludXMsIC0kcmVzdWx0LCAkcmVzdWx0KTtcbn1cblxuXG4vLy9cbi8vLyBBZGQgYCR1bml0YCB0byBgJHZhbHVlYFxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICR2YWx1ZSAtIFZhbHVlIHRvIGFkZCB1bml0IHRvXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICR1bml0IC0gU3RyaW5nIHJlcHJlc2VudGF0aW9uIG9mIHRoZSB1bml0XG4vLy9cbi8vLyBAcmV0dXJuIHtOdW1iZXJ9IC0gYCR2YWx1ZWAgZXhwcmVzc2VkIGluIGAkdW5pdGBcbi8vL1xuQGZ1bmN0aW9uIHRvLWxlbmd0aCgkdmFsdWUsICR1bml0KSB7XG4gICR1bml0czogKCdweCc6IDFweCwgJ2NtJzogMWNtLCAnbW0nOiAxbW0sICclJzogMSUsICdjaCc6IDFjaCwgJ3BjJzogMXBjLCAnaW4nOiAxaW4sICdlbSc6IDFlbSwgJ3JlbSc6IDFyZW0sICdwdCc6IDFwdCwgJ2V4JzogMWV4LCAndncnOiAxdncsICd2aCc6IDF2aCwgJ3ZtaW4nOiAxdm1pbiwgJ3ZtYXgnOiAxdm1heCk7XG5cbiAgQGlmIG5vdCBpbmRleChtYXAta2V5cygkdW5pdHMpLCAkdW5pdCkge1xuICAgICRfOiBpbS1sb2coJ0ludmFsaWQgdW5pdCBgI3skdW5pdH1gLicpO1xuICB9XG5cbiAgQHJldHVybiAkdmFsdWUgKiBtYXAtZ2V0KCR1bml0cywgJHVuaXQpO1xufVxuXG4vLy9cbi8vLyBUaGlzIG1peGluIGFpbXMgYXQgcmVkZWZpbmluZyB0aGUgY29uZmlndXJhdGlvbiBqdXN0IGZvciB0aGUgc2NvcGUgb2Zcbi8vLyB0aGUgY2FsbC4gSXQgaXMgaGVscGZ1bCB3aGVuIGhhdmluZyBhIGNvbXBvbmVudCBuZWVkaW5nIGFuIGV4dGVuZGVkXG4vLy8gY29uZmlndXJhdGlvbiBzdWNoIGFzIGN1c3RvbSBicmVha3BvaW50cyAocmVmZXJyZWQgdG8gYXMgdHdlYWtwb2ludHMpXG4vLy8gZm9yIGluc3RhbmNlLlxuLy8vXG4vLy8gQGF1dGhvciBLaXR0eSBHaXJhdWRlbFxuLy8vXG4vLy8gQHBhcmFtIHtNYXB9ICR0d2Vha3BvaW50cyBbKCldIC0gTWFwIG9mIHR3ZWFrcG9pbnRzIHRvIGJlIG1lcmdlZCB3aXRoIGAkYnJlYWtwb2ludHNgXG4vLy8gQHBhcmFtIHtNYXB9ICR0d2Vhay1tZWRpYS1leHByZXNzaW9ucyBbKCldIC0gTWFwIG9mIHR3ZWFrZWQgbWVkaWEgZXhwcmVzc2lvbnMgdG8gYmUgbWVyZ2VkIHdpdGggYCRtZWRpYS1leHByZXNzaW9uYFxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIEV4dGVuZCB0aGUgZ2xvYmFsIGJyZWFrcG9pbnRzIHdpdGggYSB0d2Vha3BvaW50XG4vLy8gIEBpbmNsdWRlIG1lZGlhLWNvbnRleHQoKCdjdXN0b20nOiA2NzhweCkpIHtcbi8vLyAgICAuZm9vIHtcbi8vLyAgICAgIEBpbmNsdWRlIG1lZGlhKCc+cGhvbmUnLCAnPD1jdXN0b20nKSB7XG4vLy8gICAgICAgLy8gLi4uXG4vLy8gICAgICB9XG4vLy8gICAgfVxuLy8vICB9XG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gRXh0ZW5kIHRoZSBnbG9iYWwgbWVkaWEgZXhwcmVzc2lvbnMgd2l0aCBhIGN1c3RvbSBvbmVcbi8vLyAgQGluY2x1ZGUgbWVkaWEtY29udGV4dCgkdHdlYWstbWVkaWEtZXhwcmVzc2lvbnM6ICgnYWxsJzogJ2FsbCcpKSB7XG4vLy8gICAgLmZvbyB7XG4vLy8gICAgICBAaW5jbHVkZSBtZWRpYSgnYWxsJywgJz5waG9uZScpIHtcbi8vLyAgICAgICAvLyAuLi5cbi8vLyAgICAgIH1cbi8vLyAgICB9XG4vLy8gIH1cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBFeHRlbmQgYm90aCBjb25maWd1cmF0aW9uIG1hcHNcbi8vLyAgQGluY2x1ZGUgbWVkaWEtY29udGV4dCgoJ2N1c3RvbSc6IDY3OHB4KSwgKCdhbGwnOiAnYWxsJykpIHtcbi8vLyAgICAuZm9vIHtcbi8vLyAgICAgIEBpbmNsdWRlIG1lZGlhKCdhbGwnLCAnPnBob25lJywgJzw9Y3VzdG9tJykge1xuLy8vICAgICAgIC8vIC4uLlxuLy8vICAgICAgfVxuLy8vICAgIH1cbi8vLyAgfVxuLy8vXG5AbWl4aW4gbWVkaWEtY29udGV4dCgkdHdlYWtwb2ludHM6ICgpLCAkdHdlYWstbWVkaWEtZXhwcmVzc2lvbnM6ICgpKSB7XG4gIC8vIFNhdmUgZ2xvYmFsIGNvbmZpZ3VyYXRpb25cbiAgJGdsb2JhbC1icmVha3BvaW50czogJGJyZWFrcG9pbnRzO1xuICAkZ2xvYmFsLW1lZGlhLWV4cHJlc3Npb25zOiAkbWVkaWEtZXhwcmVzc2lvbnM7XG5cbiAgLy8gVXBkYXRlIGdsb2JhbCBjb25maWd1cmF0aW9uXG4gICRicmVha3BvaW50czogbWFwLW1lcmdlKCRicmVha3BvaW50cywgJHR3ZWFrcG9pbnRzKSAhZ2xvYmFsO1xuICAkbWVkaWEtZXhwcmVzc2lvbnM6IG1hcC1tZXJnZSgkbWVkaWEtZXhwcmVzc2lvbnMsICR0d2Vhay1tZWRpYS1leHByZXNzaW9ucykgIWdsb2JhbDtcblxuICBAY29udGVudDtcblxuICAvLyBSZXN0b3JlIGdsb2JhbCBjb25maWd1cmF0aW9uXG4gICRicmVha3BvaW50czogJGdsb2JhbC1icmVha3BvaW50cyAhZ2xvYmFsO1xuICAkbWVkaWEtZXhwcmVzc2lvbnM6ICRnbG9iYWwtbWVkaWEtZXhwcmVzc2lvbnMgIWdsb2JhbDtcbn1cblxuLy8vL1xuLy8vIGluY2x1ZGUtbWVkaWEgcHVibGljIGV4cG9zZWQgQVBJXG4vLy8gQGF1dGhvciBFZHVhcmRvIEJvdWNhc1xuLy8vIEBhY2Nlc3MgcHVibGljXG4vLy8vXG5cblxuLy8vXG4vLy8gR2VuZXJhdGVzIGEgbWVkaWEgcXVlcnkgYmFzZWQgb24gYSBsaXN0IG9mIGNvbmRpdGlvbnNcbi8vL1xuLy8vIEBwYXJhbSB7QXJnbGlzdH0gICAkY29uZGl0aW9ucyAgLSBNZWRpYSBxdWVyeSBjb25kaXRpb25zXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gV2l0aCBhIHNpbmdsZSBzZXQgYnJlYWtwb2ludFxuLy8vICBAaW5jbHVkZSBtZWRpYSgnPnBob25lJykgeyB9XG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gV2l0aCB0d28gc2V0IGJyZWFrcG9pbnRzXG4vLy8gIEBpbmNsdWRlIG1lZGlhKCc+cGhvbmUnLCAnPD10YWJsZXQnKSB7IH1cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBXaXRoIGN1c3RvbSB2YWx1ZXNcbi8vLyAgQGluY2x1ZGUgbWVkaWEoJz49MzU4cHgnLCAnPDg1MHB4JykgeyB9XG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gV2l0aCBzZXQgYnJlYWtwb2ludHMgd2l0aCBjdXN0b20gdmFsdWVzXG4vLy8gIEBpbmNsdWRlIG1lZGlhKCc+ZGVza3RvcCcsICc8PTEzNTBweCcpIHsgfVxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFdpdGggYSBzdGF0aWMgZXhwcmVzc2lvblxuLy8vICBAaW5jbHVkZSBtZWRpYSgncmV0aW5hMngnKSB7IH1cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBNaXhpbmcgZXZlcnl0aGluZ1xuLy8vICBAaW5jbHVkZSBtZWRpYSgnPj0zNTBweCcsICc8dGFibGV0JywgJ3JldGluYTN4JykgeyB9XG4vLy9cbkBtaXhpbiBtZWRpYSgkY29uZGl0aW9ucy4uLikge1xuICBAaWYgKCRpbS1tZWRpYS1zdXBwb3J0IGFuZCBsZW5ndGgoJGNvbmRpdGlvbnMpID09IDApIG9yXG4gICAgICAobm90ICRpbS1tZWRpYS1zdXBwb3J0IGFuZCBpbS1pbnRlcmNlcHRzLXN0YXRpYy1icmVha3BvaW50KCRjb25kaXRpb25zLi4uKSkge1xuICAgIEBjb250ZW50O1xuICB9IEBlbHNlIGlmICgkaW0tbWVkaWEtc3VwcG9ydCBhbmQgbGVuZ3RoKCRjb25kaXRpb25zKSA+IDApIHtcbiAgICBAbWVkaWEgI3t1bnF1b3RlKHBhcnNlLWV4cHJlc3Npb24obnRoKCRjb25kaXRpb25zLCAxKSkpfSB7XG4gICAgICAvLyBSZWN1cnNpdmUgY2FsbFxuICAgICAgQGluY2x1ZGUgbWVkaWEoc2xpY2UoJGNvbmRpdGlvbnMsIDIpLi4uKSB7XG4gICAgICAgIEBjb250ZW50O1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLyoqXG4gKiBCcmVha3BvaW50IGNvbXBvbmVudCB1c2VkIGJ5IGluY2x1ZGUtbWVkaWEgdmVuZG9yIGxpYnJhcnkuXG4gKi9cbkB1c2UgJ3Nhc3M6bWFwJztcbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuLyoqXG4gKiBCcmVha3BvaW50IGNvbXBvbmVudCB1c2VkIGJ5IGluY2x1ZGUtbWVkaWEgdmVuZG9yIGxpYnJhcnkuXG4gKi9cbkB1c2UgJ3Nhc3M6bWFwJztcbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuLmNvbnRhY3QtaW5kZXgtaW5kZXggLmNvbHVtbjpub3QoLnNpZGViYXItbWFpbikgLmZvcm0uY29udGFjdCB7XG4gIGZsb2F0OiBub25lO1xuICB3aWR0aDogMTAwJTsgfVxuXG4uY29udGFjdC1pbmRleC1pbmRleCAuY29sdW1uOm5vdCguc2lkZWJhci1hZGRpdGlvbmFsKSAuZm9ybS5jb250YWN0IHtcbiAgZmxvYXQ6IG5vbmU7XG4gIHdpZHRoOiAxMDAlO1xuICBjbGVhcjogYm90aDtcbiAgcGFkZGluZzogNHJlbSAycmVtO1xuICBib3JkZXItcmFkaXVzOiA3cHg7XG4gIGJhY2tncm91bmQ6ICNmZmY7IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAuY29udGFjdC1pbmRleC1pbmRleCAuY29sdW1uOm5vdCguc2lkZWJhci1hZGRpdGlvbmFsKSAuZm9ybS5jb250YWN0IHtcbiAgICAgIG1pbi13aWR0aDogNjByZW07IH0gfVxuXG4uY29udGFjdC1pbmRleC1pbmRleCAuY3MtZGFzaGJvYXJkIC5maWVsZHNldCB7XG4gIG1heC13aWR0aDogMTAwJSAhaW1wb3J0YW50OyB9XG5cbi5jb250YWN0LWluZGV4LWluZGV4IC5jcy1kYXNoYm9hcmQgLmxlZ2VuZCB7XG4gIHBhZGRpbmc6IDA7XG4gIG1hcmdpbjogMDsgfVxuICAuY29udGFjdC1pbmRleC1pbmRleCAuY3MtZGFzaGJvYXJkIC5sZWdlbmQgaDIge1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbWFyZ2luOiAwOyB9XG5cbi5jb250YWN0LWluZGV4LWluZGV4ICNtYWluY29udGVudCB7XG4gIGJhY2tncm91bmQ6ICNlZGVmZjE7IH1cblxuLmNvbnRhY3QtaW5kZXgtaW5kZXggLnNlY3Rpb24td3JhcHBlciB7XG4gIHBhZGRpbmc6IDNyZW0gMDtcbiAgbWFyZ2luLWxlZnQ6IC0xcmVtO1xuICBtYXJnaW4tcmlnaHQ6IC0xcmVtOyB9XG4gIC5jb250YWN0LWluZGV4LWluZGV4IC5zZWN0aW9uLXdyYXBwZXIgLmNvbnRhY3QtYm94IHtcbiAgICBiYWNrZ3JvdW5kOiAjZmZmO1xuICAgIHBhZGRpbmc6IDJyZW07XG4gICAgYm9yZGVyLXJhZGl1czogN3B4O1xuICAgIG1hcmdpbjogMXJlbTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgIG1pbi13aWR0aDogMjUwcHg7IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgLmNvbnRhY3QtaW5kZXgtaW5kZXggLnNlY3Rpb24td3JhcHBlciAuY29udGFjdC1ib3gge1xuICAgICAgICBtaW4taGVpZ2h0OiAzNDdweDsgfSB9XG4gICAgLmNvbnRhY3QtaW5kZXgtaW5kZXggLnNlY3Rpb24td3JhcHBlciAuY29udGFjdC1ib3ggLmNvbnRhY3QtYnRuIHtcbiAgICAgIGJvcmRlcjogc29saWQgMnB4O1xuICAgICAgYm9yZGVyLXJhZGl1czogNjBweDtcbiAgICAgIHBhZGRpbmc6IDAuNXJlbSAxcmVtIDAuNXJlbSAzLjVyZW07XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBtYXJnaW46IDAuNXJlbSAwLjVyZW0gMC41cmVtIDA7XG4gICAgICBtaW4td2lkdGg6IDIwMHB4O1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gICAgICAuY29udGFjdC1pbmRleC1pbmRleCAuc2VjdGlvbi13cmFwcGVyIC5jb250YWN0LWJveCAuY29udGFjdC1idG46OmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6IHVybChcIi4uL2ltYWdlcy9pY29ucy90ZWxlcGhvbmUtcHVycGxlLnN2Z1wiKTtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBsZWZ0OiAxLjVyZW07XG4gICAgICAgIHRvcDogNTMlO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxOyB9XG4gICAgLmNvbnRhY3QtaW5kZXgtaW5kZXggLnNlY3Rpb24td3JhcHBlciAuY29udGFjdC1ib3ggLmNvbnRhY3QtYnRuLW1haWw6OmJlZm9yZSB7XG4gICAgICBjb250ZW50OiB1cmwoXCIuLi9pbWFnZXMvaWNvbnMvbWFpbC1wdXJwbGUuc3ZnXCIpOyB9XG4gICAgLmNvbnRhY3QtaW5kZXgtaW5kZXggLnNlY3Rpb24td3JhcHBlciAuY29udGFjdC1ib3ggLmNvbnRhY3QtYm94LWhvdXJzIHtcbiAgICAgIHBhZGRpbmc6IDFyZW07XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDIuM3JlbTtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAgICAgLmNvbnRhY3QtaW5kZXgtaW5kZXggLnNlY3Rpb24td3JhcHBlciAuY29udGFjdC1ib3ggLmNvbnRhY3QtYm94LWhvdXJzOjpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiB1cmwoXCIuLi9pbWFnZXMvaWNvbnMvY2xvY2stcHVycGxlLnN2Z1wiKTtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICB0b3A6IDUzJTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTsgfVxuICAuY29udGFjdC1pbmRleC1pbmRleCAuc2VjdGlvbi13cmFwcGVyIC5jb250YWN0LWJveC1wZXJzb25hbC1jb2xsZWN0aW9uIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgZm9udC1zaXplOiAyLjVyZW07XG4gICAgbWluLWhlaWdodDogYXV0bztcbiAgICBwYWRkaW5nOiAzcmVtIDJyZW07XG4gICAgbWFyZ2luLXRvcDogM3JlbTtcbiAgICBib3JkZXI6IHNvbGlkIDJweCAjZmE3MDEzOyB9XG4gICAgLmNvbnRhY3QtaW5kZXgtaW5kZXggLnNlY3Rpb24td3JhcHBlciAuY29udGFjdC1ib3gtcGVyc29uYWwtY29sbGVjdGlvbiBwIHtcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDMwZW0pIHtcbiAgICAgICAgLmNvbnRhY3QtaW5kZXgtaW5kZXggLnNlY3Rpb24td3JhcHBlciAuY29udGFjdC1ib3gtcGVyc29uYWwtY29sbGVjdGlvbiBwIHtcbiAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDdyZW07IH1cbiAgICAgICAgICAuY29udGFjdC1pbmRleC1pbmRleCAuc2VjdGlvbi13cmFwcGVyIC5jb250YWN0LWJveC1wZXJzb25hbC1jb2xsZWN0aW9uIHA6OmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiB1cmwoLi4vaW1hZ2VzL2ljb25zL2V4Y2xhbWF0aW9uLXRyaWFuZ2xlLW9yYW5nZS5zdmcpO1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gICAgICAgICAgICBsZWZ0OiAwOyB9IH1cblxuLmNvbnRhY3QtaW5kZXgtaW5kZXggLmNvbnRhY3Qtcm93LXRhYjkge1xuICBtYXJnaW4tcmlnaHQ6IC0xcmVtO1xuICBtYXJnaW4tbGVmdDogLTFyZW07IH1cbiAgLmNvbnRhY3QtaW5kZXgtaW5kZXggLmNvbnRhY3Qtcm93LXRhYjkgLnNlY3Rpb24tdGFiLXRpdGxlIHtcbiAgICBwYWRkaW5nOiA2cmVtIDFyZW0gMXJlbSAxcmVtO1xuICAgIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgLmNvbnRhY3QtaW5kZXgtaW5kZXggLmNvbnRhY3Qtcm93LXRhYjkgLnRpdGxlLXRhYnMtYm94IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIHBhZGRpbmc6IDFyZW07XG4gICAgZmxleC13cmFwOiB3cmFwOyB9XG4gICAgLmNvbnRhY3QtaW5kZXgtaW5kZXggLmNvbnRhY3Qtcm93LXRhYjkgLnRpdGxlLXRhYnMtYm94IC5pdGVtLnRpdGxlIHtcbiAgICAgIHBhZGRpbmc6IDFyZW0gMDsgfVxuICAgICAgLmNvbnRhY3QtaW5kZXgtaW5kZXggLmNvbnRhY3Qtcm93LXRhYjkgLnRpdGxlLXRhYnMtYm94IC5pdGVtLnRpdGxlIC5zd2l0Y2gge1xuICAgICAgICBjb2xvcjogIzQ1NWE2NDtcbiAgICAgICAgcGFkZGluZzogMXJlbSAzcmVtOyB9XG4gICAgLmNvbnRhY3QtaW5kZXgtaW5kZXggLmNvbnRhY3Qtcm93LXRhYjkgLnRpdGxlLXRhYnMtYm94IC5pdGVtLnRpdGxlLmFjdGl2ZSA+IC5zd2l0Y2gsIC5jb250YWN0LWluZGV4LWluZGV4IC5jb250YWN0LXJvdy10YWI5IC50aXRsZS10YWJzLWJveCAucHJvZHVjdC5kYXRhLml0ZW1zID4gLml0ZW0udGl0bGUuYWN0aXZlID4gLnN3aXRjaDpmb2N1cywgLmNvbnRhY3QtaW5kZXgtaW5kZXggLmNvbnRhY3Qtcm93LXRhYjkgLnRpdGxlLXRhYnMtYm94IC5wcm9kdWN0LmRhdGEuaXRlbXMgPiAuaXRlbS50aXRsZS5hY3RpdmUgPiAuc3dpdGNoOmhvdmVyIHtcbiAgICAgIGJvcmRlci1ib3R0b206IHNvbGlkO1xuICAgICAgcGFkZGluZy1ib3R0b206IDAuOHJlbTtcbiAgICAgIGNvbG9yOiAjMTdjOGMwOyB9XG5cbi5jb250YWN0LWluZGV4LWluZGV4IC5zZWN0aW9uLWNvbnRhY3QtdGFicyB7XG4gIG1hcmdpbi1ib3R0b206IDhyZW07IH1cbiAgLmNvbnRhY3QtaW5kZXgtaW5kZXggLnNlY3Rpb24tY29udGFjdC10YWJzIC5jb250ZW50LXRhYi1ib3gge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBiYWNrZ3JvdW5kOiAjZmZmO1xuICAgIHBhZGRpbmc6IDJyZW07XG4gICAgbWFyZ2luOiAxcmVtO1xuICAgIGJvcmRlci1yYWRpdXM6IDdweDsgfVxuICAgIC5jb250YWN0LWluZGV4LWluZGV4IC5zZWN0aW9uLWNvbnRhY3QtdGFicyAuY29udGVudC10YWItYm94IC50YWItbmFtZSB7XG4gICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAxcmVtO1xuICAgICAgZm9udC1zaXplOiAycmVtOyB9XG4gICAgLmNvbnRhY3QtaW5kZXgtaW5kZXggLnNlY3Rpb24tY29udGFjdC10YWJzIC5jb250ZW50LXRhYi1ib3ggLnRhYi1saW5rIHtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAxcmVtO1xuICAgICAgcGFkZGluZy1sZWZ0OiA0cmVtOyB9XG4gICAgLmNvbnRhY3QtaW5kZXgtaW5kZXggLnNlY3Rpb24tY29udGFjdC10YWJzIC5jb250ZW50LXRhYi1ib3ggLnRhYi1waG9uZSB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgICAgIC5jb250YWN0LWluZGV4LWluZGV4IC5zZWN0aW9uLWNvbnRhY3QtdGFicyAuY29udGVudC10YWItYm94IC50YWItcGhvbmU6OmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6IHVybChcIi4uL2ltYWdlcy9pY29ucy90ZWxlcGhvbmUtZ3JheS5zdmdcIik7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTsgfVxuICAgIC5jb250YWN0LWluZGV4LWluZGV4IC5zZWN0aW9uLWNvbnRhY3QtdGFicyAuY29udGVudC10YWItYm94IC50YWItbWFpbCB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgICAgIC5jb250YWN0LWluZGV4LWluZGV4IC5zZWN0aW9uLWNvbnRhY3QtdGFicyAuY29udGVudC10YWItYm94IC50YWItbWFpbDo6YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogdXJsKFwiLi4vaW1hZ2VzL2ljb25zL21haWwtZ3JheS5zdmdcIik7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTsgfVxuXG4uY29udGFjdC1pbmRleC1pbmRleCAuZm9ybS5jb250YWN0IC5maWVsZCAuY29udHJvbCA+IHRleHRhcmVhIHtcbiAgYm9yZGVyLXJhZGl1czogMTVweDtcbiAgbWluLWhlaWdodDogMzU0cHg7IH1cblxuQG1lZGlhIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLmNvbnRhY3QtaW5kZXgtaW5kZXggLmZvcm0uY29udGFjdCAuZmllbGQuY29tbWVudC5yZXF1aXJlZCB7XG4gICAgcGFkZGluZy1yaWdodDogMnJlbTtcbiAgICBwYWRkaW5nLWxlZnQ6IDJyZW07IH0gfVxuXG5AbWVkaWEgKG1pbi13aWR0aDogODBlbSkge1xuICAuY29udGFjdC1pbmRleC1pbmRleCAuZm9ybS5jb250YWN0IC5ib3gtaXRlbXMtaW5wdXQge1xuICAgIHBhZGRpbmctcmlnaHQ6IDJyZW07IH0gfVxuXG4uY29udGFjdC1pbmRleC1pbmRleCAuZm9ybS5jb250YWN0IC5maWVsZC50ZXJtcyB7XG4gIHBhZGRpbmc6IDFyZW0gMCAwIDA7IH1cbiAgLmNvbnRhY3QtaW5kZXgtaW5kZXggLmZvcm0uY29udGFjdCAuZmllbGQudGVybXMgLmxhYmVsIHtcbiAgICB3aWR0aDogY2FsYygxMDAlIC0gMzBweCk7XG4gICAgcGFkZGluZy1ib3R0b206IDA7IH1cblxuLmNvbnRhY3QtaW5kZXgtaW5kZXggLmZvcm0uY29udGFjdCAuYWN0aW9ucy10b29sYmFyIHtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDsgfVxuXG4uY29udGFjdC1pbmRleC1pbmRleCAuZm9ybS5jb250YWN0IC5ib3gtaXRlbS10ZXJtcyB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgcGFkZGluZy10b3A6IDJyZW07IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDgwZW0pIHtcbiAgICAuY29udGFjdC1pbmRleC1pbmRleCAuZm9ybS5jb250YWN0IC5ib3gtaXRlbS10ZXJtcyB7XG4gICAgICBtaW4taGVpZ2h0OiAzNzBweDsgfSB9XG4iLCIvLyBTdHlsZXMgbW92ZWQgZnJvbSB2ZW5kb3IvbWFnZW50by90aGVtZS1mcm9udGVuZC1ibGFuay9NYWdlbnRvX0NvbnRhY3Qvd2ViL2Nzcy9zb3VyY2UvX21vZHVsZS5sZXNzXG4vLyBpbiBvcmRlciB0byBhdm9pZCBsb2FkaW5nIHRoZW0gb24gZXZlcnkgcGFnZSB2aWEgc3R5bGVzLW0uY3NzIGFuZCBzdHlsZXMtbC5zY3NzXG5cbkBpbXBvcnQgJ3ZlbmRvcnMvaW5jbHVkZS1tZWRpYSc7XG5AaW1wb3J0ICdjb25maWcvdmFyaWFibGVzJztcblxuLmNvbnRhY3QtaW5kZXgtaW5kZXgge1xuICAgIC5jb2x1bW46bm90KC5zaWRlYmFyLW1haW4pIC5mb3JtLmNvbnRhY3Qge1xuICAgICAgICBmbG9hdDogbm9uZTtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuXG4gICAgLmNvbHVtbjpub3QoLnNpZGViYXItYWRkaXRpb25hbCkgLmZvcm0uY29udGFjdCB7XG4gICAgICAgIGZsb2F0OiBub25lO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgY2xlYXI6IGJvdGg7XG4gICAgICAgIHBhZGRpbmc6IDRyZW0gMnJlbTtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogJGJvcmRlci1yYWRpdXNfYmFzZTtcbiAgICAgICAgYmFja2dyb3VuZDogI2ZmZjs7XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz49dGFibGV0Jykge1xuICAgICAgICAgICAgbWluLXdpZHRoOiA2MHJlbTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5jcy1kYXNoYm9hcmQgLmZpZWxkc2V0IHtcbiAgICAgICAgbWF4LXdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG4gICAgfVxuICAgIC5jcy1kYXNoYm9hcmQgLmxlZ2VuZHtcbiAgICAgICAgaDJ7XG4gICAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICB9XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICB9XG5cbiAgICAjbWFpbmNvbnRlbnR7XG4gICAgICAgIGJhY2tncm91bmQ6ICRjb2xvcl9wYXBpbGFydF9iZztcbiAgICB9XG4gICAgLnNlY3Rpb24td3JhcHBlcntcbiAgICAgICAgcGFkZGluZzogM3JlbSAwO1xuICAgICAgICBtYXJnaW4tbGVmdDogLTFyZW07XG4gICAgICAgIG1hcmdpbi1yaWdodDogLTFyZW07XG4gICAgICAgIC5jb250YWN0LWJveHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICNmZmY7XG4gICAgICAgICAgICBwYWRkaW5nOiAycmVtO1xuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogJGJvcmRlci1yYWRpdXNfYmFzZTtcbiAgICAgICAgICAgIG1hcmdpbjogMXJlbTtcbiAgICAgICAgICAgIFxuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICAgICAgICBtaW4td2lkdGg6IDI1MHB4O1xuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz49bGFwdG9wJykge1xuICAgICAgICAgICAgICAgIG1pbi1oZWlnaHQ6IDM0N3B4O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuY29udGFjdC1idG57XG4gICAgICAgICAgICAgICAgYm9yZGVyOiBzb2xpZCAycHg7XG4gICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogNjBweDtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAwLjVyZW0gMXJlbSAwLjVyZW0gMy41cmVtO1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgICAgICBtYXJnaW46IDAuNXJlbSAwLjVyZW0gMC41cmVtIDA7XG4gICAgICAgICAgICAgICAgbWluLXdpZHRoOiAyMDBweDtcbiAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgICAgICY6OmJlZm9yZXtcbiAgICAgICAgICAgICAgICAgICAgY29udGVudDogdXJsKFwiLi4vaW1hZ2VzL2ljb25zL3RlbGVwaG9uZS1wdXJwbGUuc3ZnXCIpO1xuICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgICAgIGxlZnQ6IDEuNXJlbTtcbiAgICAgICAgICAgICAgICAgICAgdG9wOiA1MyU7XG4gICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgICAgICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLmNvbnRhY3QtYnRuLW1haWx7XG4gICAgICAgICAgICAgICAgJjo6YmVmb3Jle1xuICAgICAgICAgICAgICAgICAgICBjb250ZW50OiB1cmwoXCIuLi9pbWFnZXMvaWNvbnMvbWFpbC1wdXJwbGUuc3ZnXCIpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC5jb250YWN0LWJveC1ob3Vyc3tcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAxcmVtO1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDIuM3JlbTtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICAgICAgJjo6YmVmb3Jle1xuICAgICAgICAgICAgICAgICAgICBjb250ZW50OiB1cmwoXCIuLi9pbWFnZXMvaWNvbnMvY2xvY2stcHVycGxlLnN2Z1wiKTtcbiAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgICAgICAgICB0b3A6IDUzJTtcbiAgICAgICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmNvbnRhY3QtYm94LXBlcnNvbmFsLWNvbGxlY3Rpb257XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICAgICAgZm9udC1zaXplOiAyLjVyZW07XG4gICAgICAgICAgICBtaW4taGVpZ2h0OiBhdXRvO1xuICAgICAgICAgICAgcGFkZGluZzogM3JlbSAycmVtO1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogM3JlbTtcbiAgICAgICAgICAgIGJvcmRlcjogc29saWQgMnB4ICRjb2xvcl9wYXBpbGFydF9vcmFuZ2U7XG4gICAgICAgICAgICBwe1xuICAgICAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz49cGhvbmVMZycpIHtcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiA3cmVtO1xuICAgICAgICAgICAgICAgICAgICAgICAgJjo6YmVmb3Jle1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6IHVybCguLi9pbWFnZXMvaWNvbnMvZXhjbGFtYXRpb24tdHJpYW5nbGUtb3JhbmdlLnN2Zyk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRvcDogNTAlO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuICAgIC5jb250YWN0LXJvdy10YWI5e1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IC0xcmVtO1xuICAgICAgICBtYXJnaW4tbGVmdDogLTFyZW07XG4gICAgICAgIC5zZWN0aW9uLXRhYi10aXRsZXtcbiAgICAgICAgICAgIHBhZGRpbmc6IDZyZW0gMXJlbSAxcmVtIDFyZW07XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICB9XG4gICAgICAgIC50aXRsZS10YWJzLWJveHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBwYWRkaW5nOiAxcmVtO1xuICAgICAgICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgICAgICAgLml0ZW0udGl0bGUge1xuICAgICAgICAgICAgICAgIC8vIG1pbi13aWR0aDogMTY1cHg7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogMXJlbSAwO1xuICAgICAgICAgICAgICAgIC5zd2l0Y2h7XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkY29sb3JfcGFwaWxhcnRfZ3JheWdyZWVuO1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAxcmVtIDNyZW07XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLml0ZW0udGl0bGUuYWN0aXZlID4gLnN3aXRjaCwgLnByb2R1Y3QuZGF0YS5pdGVtcyA+IC5pdGVtLnRpdGxlLmFjdGl2ZSA+IC5zd2l0Y2g6Zm9jdXMsIC5wcm9kdWN0LmRhdGEuaXRlbXMgPiAuaXRlbS50aXRsZS5hY3RpdmUgPiAuc3dpdGNoOmhvdmVyIHtcbiAgICAgICAgICAgICAgICBib3JkZXItYm90dG9tOiBzb2xpZDtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMC44cmVtO1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkY29sb3JfcGFwaWxhcnRfYXF1YTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgfVxuXG4gICAgLnNlY3Rpb24tY29udGFjdC10YWJze1xuICAgICAgICBtYXJnaW4tYm90dG9tOiA4cmVtO1xuICAgICAgICAuY29udGVudC10YWItYm94e1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAjZmZmO1xuICAgICAgICAgICAgcGFkZGluZzogMnJlbTtcbiAgICAgICAgICAgIG1hcmdpbjogMXJlbTtcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzX2Jhc2U7XG4gICAgICAgICAgICAudGFiLW5hbWV7XG4gICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IDFyZW07XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAycmVtO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLnRhYi1saW5re1xuICAgICAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAxcmVtO1xuICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogNHJlbTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC50YWItcGhvbmV7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgICAgICY6OmJlZm9yZXtcbiAgICAgICAgICAgICAgICAgICAgY29udGVudDogdXJsKFwiLi4vaW1hZ2VzL2ljb25zL3RlbGVwaG9uZS1ncmF5LnN2Z1wiKTtcbiAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC50YWItbWFpbHtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICAgICAgJjo6YmVmb3Jle1xuICAgICAgICAgICAgICAgICAgICBjb250ZW50OiB1cmwoXCIuLi9pbWFnZXMvaWNvbnMvbWFpbC1ncmF5LnN2Z1wiKTtcbiAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuXG5cbiAgICAvL2Zvcm1cbiAgICAuZm9ybS5jb250YWN0e1xuICAgICAgICAuZmllbGQgLmNvbnRyb2wgPiB0ZXh0YXJlYXtcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDE1cHg7XG4gICAgICAgICAgICBtaW4taGVpZ2h0OiAzNTRweDtcbiAgICAgICAgfVxuICAgICAgICAuZmllbGQuY29tbWVudC5yZXF1aXJlZCB7XG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPj1sYXB0b3AnKSB7XG4gICAgICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMnJlbTtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDJyZW07XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmJveC1pdGVtcy1pbnB1dHtcbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PWxhcHRvcExnJykge1xuICAgICAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDJyZW07XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmZpZWxkLnRlcm1ze1xuICAgICAgICAgICAgcGFkZGluZzogMXJlbSAwIDAgMDtcbiAgICAgICAgICAgIC5sYWJlbHtcbiAgICAgICAgICAgICAgICB3aWR0aDogY2FsYygxMDAlIC0gMzBweCk7XG4gICAgICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IDA7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmFjdGlvbnMtdG9vbGJhcntcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICAgICAgICB9XG4gICAgICAgIC5ib3gtaXRlbS10ZXJtc3tcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgICAgICAgcGFkZGluZy10b3A6IDJyZW07XG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPj1sYXB0b3BMZycpIHtcbiAgICAgICAgICAgICAgICBtaW4taGVpZ2h0OiAzNzBweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbiAgICBcbn1cbiIsIi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG5AdXNlICdzYXNzOm1hcCc7XG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG4vKipcbiogRGVmYXVsdCBwcm9qZWN0IGJyZWFrcG9pbnRzIC0gW2VtXVxuKi9cbi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG5AdXNlICdzYXNzOm1hcCc7XG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG4vKipcbiogRGVmYXVsdCBwcm9qZWN0IGJyZWFrcG9pbnRzIC0gW2VtXVxuKi9cbi8qXG4gKiBGdW5jdGlvbiB0byBnZXQgdmFsdWUgZnJvbSBhIGxpc3Qgb2YgdmFsdWVzLCBiYXNlZCBvbiBzaWRlXG4gKiBAcGFyYW0ge3N0cmluZ30gJHZhcmlhYmxlOiB2YXJpYWJsZSB3aXRoIGEgbGlzdCBvZiB2YWx1ZXMgKGxpa2UgcGFkZGluZ3MsIG1hcmdpbnMgZXRjLik7XG4gKiBAcGFyYW0ge3N0cmluZ30gJHNpZGU6IHNpZGUgKHVwIC8gcmlnaHQgLyBkb3duIC8gbGVmdCkgZm9yIHdoaWNoIHdlIHdhbnQgdG8gZ2V0IHZhbHVlXG4gKiBFeGFtcGxlOlxuICogJGNvbXBvbmVudF9wYWRkaW5nOiAxcmVtIDJyZW0gM3JlbTtcbiAqIGdldC12YWx1ZS1mcm9tLWxpc3QoJGNvbXBvbmVudF9wYWRkaW5nLCAncmlnaHQnKSAvLyAycmVtXG4gKiBnZXQtdmFsdWUtZnJvbS1saXN0KCRjb21wb25lbnRfcGFkZGluZywgJ2JvdHRvbScpIC8vIDNyZW1cbiAqL1xuLyogc3R5bGVsaW50LWRpc2FibGUgYmxvY2stbm8tZW1wdHkgKi9cbi8qIHN0eWxlbGludC1lbmFibGUgKi9cbi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG5AdXNlICdzYXNzOm1hcCc7XG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG4vKipcbiogRGVmYXVsdCBwcm9qZWN0IGJyZWFrcG9pbnRzIC0gW2VtXVxuKi9cbi8qXG4gKiBGdW5jdGlvbiB0byBnZXQgdmFsdWUgZnJvbSBhIGxpc3Qgb2YgdmFsdWVzLCBiYXNlZCBvbiBzaWRlXG4gKiBAcGFyYW0ge3N0cmluZ30gJHZhcmlhYmxlOiB2YXJpYWJsZSB3aXRoIGEgbGlzdCBvZiB2YWx1ZXMgKGxpa2UgcGFkZGluZ3MsIG1hcmdpbnMgZXRjLik7XG4gKiBAcGFyYW0ge3N0cmluZ30gJHNpZGU6IHNpZGUgKHVwIC8gcmlnaHQgLyBkb3duIC8gbGVmdCkgZm9yIHdoaWNoIHdlIHdhbnQgdG8gZ2V0IHZhbHVlXG4gKiBFeGFtcGxlOlxuICogJGNvbXBvbmVudF9wYWRkaW5nOiAxcmVtIDJyZW0gM3JlbTtcbiAqIGdldC12YWx1ZS1mcm9tLWxpc3QoJGNvbXBvbmVudF9wYWRkaW5nLCAncmlnaHQnKSAvLyAycmVtXG4gKiBnZXQtdmFsdWUtZnJvbS1saXN0KCRjb21wb25lbnRfcGFkZGluZywgJ2JvdHRvbScpIC8vIDNyZW1cbiAqL1xuLyogc3R5bGVsaW50LWRpc2FibGUgYmxvY2stbm8tZW1wdHkgKi9cbi8qIHN0eWxlbGludC1lbmFibGUgKi9cbi8qIHN0eWxlbGludC1kaXNhYmxlIGJsb2NrLW5vLWVtcHR5ICovXG4vKiBzdHlsZWxpbnQtZW5hYmxlICovXG4vKiBSYWRpbyBhbmQgY2hlY2tib3ggc3R5bGluZyAqL1xuLmNzLWNhcHRjaGFfX2ltYWdlLWNvbnRyb2xzIHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGZsZXgtZW5kO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIG1hcmdpbi10b3A6IDEuNXJlbTsgfVxuICAuY3MtZGFzaGJvYXJkIC5jcy1jYXB0Y2hhX19pbWFnZS1jb250cm9scyB7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDsgfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiAzMGVtKSB7XG4gICAgICAuY3MtZGFzaGJvYXJkIC5jcy1jYXB0Y2hhX19pbWFnZS1jb250cm9scyB7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDsgfSB9XG4gIEBtZWRpYSAobWF4LXdpZHRoOiA0OGVtKSB7XG4gICAgLmNzLWNhcHRjaGFfX2ltYWdlLWNvbnRyb2xzIHtcbiAgICAgIGZsZXgtd3JhcDogd3JhcDsgfSB9XG5cbi5jcy1jYXB0Y2hhX19pbWFnZSB7XG4gIG1hcmdpbi1yaWdodDogMXJlbTsgfVxuXG4uY3MtY2FwdGNoYV9fYnV0dG9uIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBmb250LXNpemU6IDEuOHJlbTtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGxpbmUtaGVpZ2h0OiAxLjI3NWVtO1xuICBtYXJnaW46IDA7XG4gIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICBwYWRkaW5nOiAwLjc1ZW0gMWVtO1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuNXMsIGJvcmRlci1jb2xvciAwLjVzLCBmaWxsIDAuNXMsIGNvbG9yIDAuNXM7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIHotaW5kZXg6IDU7IH1cbiAgLmNzLWNhcHRjaGFfX2J1dHRvbjo6LW1vei1mb2N1cy1pbm5lciB7XG4gICAgYm9yZGVyOiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbWFyZ2luOiAwOyB9XG4gIC5jcy1jYXB0Y2hhX19idXR0b24sIC5jcy1jYXB0Y2hhX19idXR0b246dmlzaXRlZCB7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIGJvcmRlci1yYWRpdXM6IDIwMHB4O1xuICAgIG91dGxpbmUtb2Zmc2V0OiAxcHg7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgYm9yZGVyOiAxcHggc29saWQgIzdlNTdjMjtcbiAgICBjb2xvcjogIzdlNTdjMjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmOyB9XG4gICAgLmNzLWNhcHRjaGFfX2J1dHRvbiAqLCAuY3MtY2FwdGNoYV9fYnV0dG9uOnZpc2l0ZWQgKiB7XG4gICAgICBjb2xvcjogIzdlNTdjMjtcbiAgICAgIGZpbGw6ICM3ZTU3YzI7IH1cbiAgLmNzLWNhcHRjaGFfX2J1dHRvbjpob3Zlcjpub3QoW2Rpc2FibGVkXSksIC5jcy1jYXB0Y2hhX19idXR0b246Zm9jdXM6bm90KFtkaXNhYmxlZF0pLCAuY3MtY2FwdGNoYV9fYnV0dG9uOmFjdGl2ZTpub3QoW2Rpc2FibGVkXSkge1xuICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgYm9yZGVyOiAxcHggc29saWQgIzRkMmM5MTtcbiAgICBjb2xvcjogI2ZmZjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNGQyYzkxOyB9XG4gICAgLmNzLWNhcHRjaGFfX2J1dHRvbjpob3Zlcjpub3QoW2Rpc2FibGVkXSkgKiwgLmNzLWNhcHRjaGFfX2J1dHRvbjpmb2N1czpub3QoW2Rpc2FibGVkXSkgKiwgLmNzLWNhcHRjaGFfX2J1dHRvbjphY3RpdmU6bm90KFtkaXNhYmxlZF0pICoge1xuICAgICAgY29sb3I6ICNmZmY7XG4gICAgICBmaWxsOiAjZmZmOyB9XG4gIC5jcy1jYXB0Y2hhX19idXR0b25bZGlzYWJsZWRdIHtcbiAgICBvcGFjaXR5OiAwLjY1O1xuICAgIGN1cnNvcjogYXV0bzsgfVxuICAuY3MtZGFzaGJvYXJkIC5jcy1jYXB0Y2hhX19idXR0b24ge1xuICAgIG1hcmdpbi10b3A6IDJyZW07IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogMzBlbSkge1xuICAgICAgLmNzLWRhc2hib2FyZCAuY3MtY2FwdGNoYV9fYnV0dG9uIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMDsgfSB9XG5cbi5jcy1jYXB0Y2hhX19idXR0b24tc3BhbiB7XG4gIG1hcmdpbi10b3A6IDA7XG4gIHotaW5kZXg6IDE7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBsaW5lLWhlaWdodDogMS4yNzVlbTtcbiAgbGV0dGVyLXNwYWNpbmc6IG5vcm1hbDsgfVxuXG4uY3MtY2FwdGNoYV9fbm90ZSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBmb250LXNpemU6IDAuODVlbTtcbiAgcGFkZGluZzogMC4zZW0gMCAwO1xuICBjb2xvcjogIzY5Njk2OTsgfVxuXG4uY3MtZGFzaGJvYXJkIC5jcy1jYXB0Y2hhX193cmFwcGVyIHtcbiAgd2lkdGg6IDEwMCU7XG4gIG1hcmdpbi1ib3R0b206IDJyZW07IH1cbiIsIi8qXG4gKiBGdW5jdGlvbiB0byBnZXQgdmFsdWUgZnJvbSBhIGxpc3Qgb2YgdmFsdWVzLCBiYXNlZCBvbiBzaWRlXG4gKiBAcGFyYW0ge3N0cmluZ30gJHZhcmlhYmxlOiB2YXJpYWJsZSB3aXRoIGEgbGlzdCBvZiB2YWx1ZXMgKGxpa2UgcGFkZGluZ3MsIG1hcmdpbnMgZXRjLik7XG4gKiBAcGFyYW0ge3N0cmluZ30gJHNpZGU6IHNpZGUgKHVwIC8gcmlnaHQgLyBkb3duIC8gbGVmdCkgZm9yIHdoaWNoIHdlIHdhbnQgdG8gZ2V0IHZhbHVlXG4gKiBFeGFtcGxlOlxuICogJGNvbXBvbmVudF9wYWRkaW5nOiAxcmVtIDJyZW0gM3JlbTtcbiAqIGdldC12YWx1ZS1mcm9tLWxpc3QoJGNvbXBvbmVudF9wYWRkaW5nLCAncmlnaHQnKSAvLyAycmVtXG4gKiBnZXQtdmFsdWUtZnJvbS1saXN0KCRjb21wb25lbnRfcGFkZGluZywgJ2JvdHRvbScpIC8vIDNyZW1cbiAqL1xuXG5AZnVuY3Rpb24gZ2V0LXZhbHVlLWZyb20tbGlzdCgkdmFyaWFibGUsICRzaWRlKSB7XG4gICAgJGxlbmd0aDogbGVuZ3RoKCR2YXJpYWJsZSk7XG5cbiAgICBAaWYgKCRsZW5ndGggPT0gMSkge1xuICAgICAgICBAcmV0dXJuIG50aCgkdmFyaWFibGUsIDEpO1xuICAgIH0gQGVsc2UgaWYgKCRsZW5ndGggPT0gMikge1xuICAgICAgICBAaWYgKCRzaWRlID09ICd1cCcpIE9SICgkc2lkZSA9PSAnZG93bicpIHtcbiAgICAgICAgICAgIEByZXR1cm4gbnRoKCR2YXJpYWJsZSwgMSk7XG4gICAgICAgIH0gQGVsc2UgaWYgKCRzaWRlID09ICdsZWZ0JykgT1IgKCRzaWRlID09ICdyaWdodCcpIHtcbiAgICAgICAgICAgIEByZXR1cm4gbnRoKCR2YXJpYWJsZSwgMik7XG4gICAgICAgIH1cbiAgICB9IEBlbHNlIGlmICgkbGVuZ3RoID09IDMpIHtcbiAgICAgICAgQGlmICgkc2lkZSA9PSAnbGVmdCcpIE9SICgkc2lkZSA9PSAncmlnaHQnKSB7XG4gICAgICAgICAgICBAcmV0dXJuIG50aCgkdmFyaWFibGUsIDIpO1xuICAgICAgICB9IEBlbHNlIGlmICgkc2lkZSA9PSAndXAnKSB7XG4gICAgICAgICAgICBAcmV0dXJuIG50aCgkdmFyaWFibGUsIDEpO1xuICAgICAgICB9IEBlbHNlIGlmICgkc2lkZSA9PSAnZG93bicpIHtcbiAgICAgICAgICAgIEByZXR1cm4gbnRoKCR2YXJpYWJsZSwgMyk7XG4gICAgICAgIH1cbiAgICB9IEBlbHNlIGlmICgkbGVuZ3RoID09IDQpIHtcbiAgICAgICAgQGlmICgkc2lkZSA9PSAndXAnKSB7XG4gICAgICAgICAgICBAcmV0dXJuIG50aCgkdmFyaWFibGUsIDEpO1xuICAgICAgICB9IEBlbHNlIGlmICgkc2lkZSA9PSAncmlnaHQnKSB7XG4gICAgICAgICAgICBAcmV0dXJuIG50aCgkdmFyaWFibGUsIDIpO1xuICAgICAgICB9IEBlbHNlIGlmICgkc2lkZSA9PSAnZG93bicpIHtcbiAgICAgICAgICAgIEByZXR1cm4gbnRoKCR2YXJpYWJsZSwgMyk7XG4gICAgICAgIH0gQGVsc2UgaWYgKCRzaWRlID09ICdsZWZ0Jykge1xuICAgICAgICAgICAgQHJldHVybiBudGgoJHZhcmlhYmxlLCA0KTtcbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIi8qIHN0eWxlbGludC1kaXNhYmxlIGJsb2NrLW5vLWVtcHR5ICovXG5AbWl4aW4gYnV0dG9uLWhvb2soJHR5cGUsICRpY29uX3Bvcykge1xufVxuXG5AbWl4aW4gYnV0dG9uX3NwYW4taG9vaygkdHlwZSwgJGljb25fcG9zKSB7XG59XG5cbkBtaXhpbiBidXR0b25faWNvbi1ob29rKCR0eXBlLCAkaWNvbl9wb3MpIHtcbn1cbi8qIHN0eWxlbGludC1lbmFibGUgKi9cbiIsIi8qIHN0eWxlbGludC1kaXNhYmxlIGJsb2NrLW5vLWVtcHR5ICovXG5AbWl4aW4gZmllbGQtaG9vaygpIHtcbn1cblxuQG1peGluIGZpZWxkLWVycm9yLWhvb2soKSB7XG59XG5cbkBtaXhpbiBmaWVsZC1sYWJlbC1ob29rKCkge1xufVxuXG5AbWl4aW4gZmllbGQtbGFiZWwtcmVxdWlyZWQtaG9vaygpIHtcbn1cblxuQG1peGluIGZpZWxkLWNvbnRyb2wtaG9vaygpIHtcbn1cblxuQG1peGluIGZpZWxkLWlucHV0LWhvb2soKSB7XG59XG5cbkBtaXhpbiBmaWVsZC1pbnB1dC1lcnJvci1ob29rKCkge1xufVxuXG5AbWl4aW4gZmllbGQtaWNvbi1ob29rKCR0eXBlOiAnJykge1xufVxuXG5AbWl4aW4gZmllbGQtbm90ZS1ob29rKCkge1xufVxuXG5AbWl4aW4gZmllbGQtZXJyb3ItaG9vaygpIHtcbn1cblxuQG1peGluIGZpZWxkLXdhcm5pbmctaG9vaygpIHtcbn1cblxuQG1peGluIGZpZWxkLXNlbGVjdC1ob29rKCkge1xufVxuXG5AbWl4aW4gZmllbGQtcmFkaW8taG9vaygpIHtcbn1cblxuQG1peGluIGZpZWxkLXJhZGlvLWxhYmVsLWhvb2soKSB7XG59XG5cbkBtaXhpbiBmaWVsZC1jaGVja2JveC1ob29rKCkge1xufVxuXG5AbWl4aW4gZmllbGQtY2hlY2tib3gtbGFiZWwtaG9vaygpIHtcbn1cblxuQG1peGluIGZpZWxkLWRvYi1ob29rKCkge1xufVxuLyogc3R5bGVsaW50LWVuYWJsZSAqL1xuIiwiQGltcG9ydCAnY29uZmlnL3ZhcmlhYmxlcyc7XG5AaW1wb3J0ICd1dGlscy91cmktZnJpZW5kbHktaGV4JztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvYnV0dG9uL21peGluJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvZmllbGQvaG9vayc7XG5cbiRmaWVsZF9mb250LXNpemU6IDEuOHJlbSAhZGVmYXVsdDtcbiRmaWVsZF90cmFuc2l0aW9uLXRpbWU6IDAuNXMgIWRlZmF1bHQ7XG5cbiRmaWVsZF9sYWJlbC1mb250LXdlaWdodDogNzAwICFkZWZhdWx0O1xuJGZpZWxkX2xhYmVsLWZvbnQtc2l6ZTogMC44NWVtICFkZWZhdWx0O1xuJGZpZWxkX2xhYmVsLWNvbG9yOiBpbmhlcml0ICFkZWZhdWx0O1xuJGZpZWxkX2xhYmVsLXRleHQtdHJhbnNmb3JtOiBub25lICFkZWZhdWx0O1xuJGZpZWxkX2xhYmVsLXBhZGRpbmctYm90b206IDAuNXJlbSAhZGVmYXVsdDtcblxuJGZpZWxkX2lucHV0LWZvbnQtc2l6ZTogMWVtICFkZWZhdWx0O1xuJGZpZWxkX2lucHV0LWxpbmUtaGVpZ2h0OiAkYnV0dG9uX2xpbmUtaGVpZ2h0ICFkZWZhdWx0O1xuJGZpZWxkX2lucHV0LXBhZGRpbmc6ICRidXR0b25fcGFkZGluZyAhZGVmYXVsdDtcbiRmaWVsZF9pbnB1dC1jb2xvcjogJGNvbG9yX3RleHQtODAwICFkZWZhdWx0O1xuJGZpZWxkX2lucHV0LWJhY2tncm91bmQ6ICRjb2xvcl9iYWNrZ3JvdW5kLTIwMCAhZGVmYXVsdDtcbiRmaWVsZF9pbnB1dC1ib3JkZXI6IDJweCBzb2xpZCAkY29sb3JfYm9yZGVyLTUwMCAhZGVmYXVsdDtcbiRmaWVsZF9pbnB1dC1ib3JkZXItYWN0aXZlOiAycHggc29saWQgJGNvbG9yLXByaW1hcnktNTAwICFkZWZhdWx0O1xuJGZpZWxkX2lucHV0LWJvcmRlci1yYWRpdXM6IDIwMHB4ICFkZWZhdWx0O1xuJGZpZWxkX2lucHV0LWJveC1zaGFkb3c6IG5vbmUgIWRlZmF1bHQ7XG4kZmllbGRfaW5wdXQtYm94LXNoYWRvdy1hY3RpdmU6IG5vbmUgIWRlZmF1bHQ7XG4kZmllbGRfaW5wdXQtZGlzYWJsZWQtb3BhY2l0eTogMC42NSAhZGVmYXVsdDtcbiRmaWVsZF9pbnB1dC1wbGFjZWhvbGRlci1jb2xvcjogJGNvbG9yX3RleHQtNDAwICFkZWZhdWx0O1xuXG4kZmllbGRfZXJyb3ItZm9udC1zaXplOiAkZmllbGRfbGFiZWwtZm9udC1zaXplICFkZWZhdWx0O1xuJGZpZWxkX2Vycm9yLWlucHV0LWJvcmRlcjogMnB4IHNvbGlkICRjb2xvcl9lcnJvci01MDAgIWRlZmF1bHQ7XG5cbiRmaWVsZF9ub3RlLWZvbnQtc2l6ZTogJGZpZWxkX2xhYmVsLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRmaWVsZF9ub3RlLWNvbG9yOiAkY29sb3JfdGV4dC01MDAgIWRlZmF1bHQ7XG5cbiRmaWVsZF9lcnJvci1jb2xvcjogJGNvbG9yX2Vycm9yLTUwMCAhZGVmYXVsdDtcblxuJGZpZWxkX3dhcm5pbmctY29sb3I6ICRjb2xvcl93YXJuaW5nLTUwMCAhZGVmYXVsdDtcbi8vIEJhc2VkIG9uIGh0dHBzOi8vd3d3LmZpbGFtZW50Z3JvdXAuY29tL2xhYi9zZWxlY3QtY3NzLmh0bWxcbiRmaWVsZF9zZWxlY3QtZm9udC1zaXplOiAkZmllbGRfaW5wdXQtZm9udC1zaXplICFkZWZhdWx0O1xuJGZpZWxkX3NlbGVjdC1saW5lLWhlaWdodDogJGZpZWxkX2lucHV0LWxpbmUtaGVpZ2h0ICFkZWZhdWx0O1xuJGZpZWxkX3NlbGVjdC1wYWRkaW5nOiAkZmllbGRfaW5wdXQtcGFkZGluZyAhZGVmYXVsdDtcbiRmaWVsZF9zZWxlY3QtcGFkZGluZy1yaWdodDogMi4zZW0gIWRlZmF1bHQ7XG4kZmllbGRfc2VsZWN0LWNvbG9yOiAkY29sb3JfdGV4dC04MDAgIWRlZmF1bHQ7XG5cbiRmaWVsZF9zZWxlY3QtYmFja2dyb3VuZC1wb3NpdGlvbjogcmlnaHQgMC44ZW0gdG9wIDUyJSwgMCAwICFkZWZhdWx0O1xuJGZpZWxkX3NlbGVjdC1iYWNrZ3JvdW5kLXNpemU6IDAuN2VtIGF1dG8sIDEwMCUgIWRlZmF1bHQ7XG5cbi8vIE5vdGUgdGhhdCBzZWxlY3QgYmFja2dyb3VuZCBuZWVkcyB0byBiZSBkZWZpbmVkIGFzIGJhY2tncm91bmQtaW1hZ2UgdG8gcHJldmVudFxuLy8gb3B0aW9uIGVsZW1lbnRzIGZyb20gaW5oZXJpdGluZyBpdCBvbiBzb21lIGJyb3dzZXJzLlxuJGZpZWxkX3NlbGVjdC1pY29uLWZpbGw6ICRjb2xvcl9ib3JkZXItNTAwICFkZWZhdWx0O1xuJGZpZWxkX3NlbGVjdC1pY29uLWZpbGwtYWN0aXZlOiAkY29sb3JfcHJpbWFyeS01MDAgIWRlZmF1bHQ7XG4kZmllbGRfc2VsZWN0LWJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PVVURi04LCUzY3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCAxNiA5JyBmaWxsPScje3VyaS1mcmllbmRseS1oZXgoJGZpZWxkX3NlbGVjdC1pY29uLWZpbGwpfSclM2UlM2NwYXRoIGQ9J00wIDEuMkMwIC41LjYgMCAxLjIgMGMuMyAwIC42LjEuOC4zbDYgNS45IDYtNS45Yy41LS40IDEuMi0uMyAxLjcuMS40LjQuNCAxLjEgMCAxLjVMOC45IDguN2MtLjUuNC0xLjIuNC0xLjcgMEwuNCAyYS45LjkgMCAwIDEtLjQtLjh6Jy8lM2UlM2Mvc3ZnJTNlXCIpLFxuICAgIGxpbmVhci1ncmFkaWVudCgwZGVnLCB0cmFuc3BhcmVudCAwJSwgdHJhbnNwYXJlbnQgMTAwJSkgIWRlZmF1bHQ7XG4kZmllbGRfc2VsZWN0LWJhY2tncm91bmQtYWN0aXZlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD1VVEYtOCwlM2NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2aWV3Qm94PScwIDAgMTYgOScgZmlsbD0nI3t1cmktZnJpZW5kbHktaGV4KCRmaWVsZF9zZWxlY3QtaWNvbi1maWxsLWFjdGl2ZSl9JyUzZSUzY3BhdGggZD0nTTAgMS4yQzAgLjUuNiAwIDEuMiAwYy4zIDAgLjYuMS44LjNsNiA1LjkgNi01LjljLjUtLjQgMS4yLS4zIDEuNy4xLjQuNC40IDEuMSAwIDEuNUw4LjkgOC43Yy0uNS40LTEuMi40LTEuNyAwTC40IDJhLjkuOSAwIDAgMS0uNC0uOHonLyUzZSUzYy9zdmclM2VcIiksXG4gICAgbGluZWFyLWdyYWRpZW50KDBkZWcsIHRyYW5zcGFyZW50IDAlLCB0cmFuc3BhcmVudCAxMDAlKSAhZGVmYXVsdDtcblxuJGZpZWxkX3NlbGVjdC1ib3JkZXI6IDJweCBzb2xpZCAkY29sb3JfYm9yZGVyLTUwMCAhZGVmYXVsdDtcbiRmaWVsZF9zZWxlY3QtYm9yZGVyLWFjdGl2ZTogMnB4IHNvbGlkICRjb2xvcl9wcmltYXJ5LTUwMCAhZGVmYXVsdDtcbiRmaWVsZF9zZWxlY3QtYm9yZGVyLXJhZGl1czogMjAwcHggIWRlZmF1bHQ7XG4kZmllbGRfc2VsZWN0LWJveC1zaGFkb3c6IG5vbmUgIWRlZmF1bHQ7XG4kZmllbGRfc2VsZWN0LWJveC1zaGFkb3ctYWN0aXZlOiBub25lICFkZWZhdWx0O1xuJGZpZWxkX3NlbGVjdC1iYWNrZ3JvdW5kLWNvbG9yOiAkZmllbGRfaW5wdXQtYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRmaWVsZF9zZWxlY3QtZGlzYWJsZWQtb3BhY2l0eTogJGZpZWxkX2lucHV0LWRpc2FibGVkLW9wYWNpdHkgIWRlZmF1bHQ7XG5cbi8qIFJhZGlvIGFuZCBjaGVja2JveCBzdHlsaW5nICovXG4kZmllbGRfcmFkaW8tZm9udC1zaXplOiAxZW0gIWRlZmF1bHQ7XG4kZmllbGRfcmFkaW8tc2l6ZTogMWVtICFkZWZhdWx0O1xuLy8gTGV0cyB5b3UgYWRqdXN0IGJvdGggcmFkaW8gYW5kIGNoZWNrYm94IGFsaWdubWVudCBiYXNlZCBvbiBmb250IHlvdSd2ZSBjaG9zZW4uXG4kZmllbGRfcmFkaW8tb2Zmc2V0OiAtMC4wNjI1ZW0gIWRlZmF1bHQ7XG4vLyBBbGlnbmluZyBhbnl0aGluZyB0aGF0IGNvbWVzIGFmdGVyIHdpdGggaW5wdXQgcGFkZGluZ3MsIHRoaXMgMXB4IHN0YW5kcyBmb3IgaW5wdXQncyBib3JkZXIgd2lkdGguXG4kZmllbGRfcmFkaW8tbWFyZ2luOiAkZmllbGRfcmFkaW8tb2Zmc2V0IGNhbGMoI3sxLjVlbSAtICRmaWVsZC1yYWRpby1zaXplfSArIDFweCkgMCAwICFkZWZhdWx0O1xuXG4kZmllbGRfcmFkaW8tYmFja2dyb3VuZC1zaXplOiAxZW0gMWVtICFkZWZhdWx0O1xuJGZpZWxkX3JhZGlvLWJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50ICFkZWZhdWx0O1xuJGZpZWxkX3JhZGlvLWJhY2tncm91bmQtY29sb3ItYWN0aXZlOiB0cmFuc3BhcmVudCAhZGVmYXVsdDtcbiRmaWVsZF9yYWRpby1iYWNrZ3JvdW5kLWNvbG9yLWNoZWNrZWQ6IHRyYW5zcGFyZW50ICFkZWZhdWx0O1xuJGZpZWxkX3JhZGlvLWljb24tZmlsbDogJGNvbG9yX3ByaW1hcnktNTAwICFkZWZhdWx0O1xuJGZpZWxkX3JhZGlvLWJhY2tncm91bmQtaW1hZ2UtY2hlY2tlZDogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9VVRGLTgsJTNjc3ZnIHdpZHRoPScxNCcgaGVpZ2h0PScxNCcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyUzZSUzY2NpcmNsZSBmaWxsPScje3VyaS1mcmllbmRseS1oZXgoJGZpZWxkX3JhZGlvLWljb24tZmlsbCl9JyByPSc0JyBjeT0nNycgY3g9JzcnLyUzZSUzYy9zdmclM2VcIikgIWRlZmF1bHQ7XG5cbiRmaWVsZF9yYWRpby1ib3JkZXI6IDJweCBzb2xpZCAkY29sb3JfYm9yZGVyLTUwMCAhZGVmYXVsdDtcbiRmaWVsZF9yYWRpby1ib3JkZXItYWN0aXZlOiAycHggc29saWQgJGNvbG9yLXByaW1hcnktODAwICFkZWZhdWx0O1xuJGZpZWxkX3JhZGlvLWJvcmRlci1jaGVja2VkOiAycHggc29saWQgJGNvbG9yX3ByaW1hcnktNTAwICFkZWZhdWx0O1xuJGZpZWxkX3JhZGlvLWJveC1zaGFkb3c6IG5vbmUgIWRlZmF1bHQ7XG4kZmllbGRfcmFkaW8tYm94LXNoYWRvdy1hY3RpdmU6IG5vbmUgIWRlZmF1bHQ7XG4kZmllbGRfcmFkaW8tYm94LXNoYWRvdy1jaGVja2VkOiBub25lICFkZWZhdWx0O1xuJGZpZWxkX3JhZGlvLWRpc2FibGVkLW9wYWNpdHk6ICRmaWVsZF9pbnB1dC1kaXNhYmxlZC1vcGFjaXR5ICFkZWZhdWx0O1xuXG4kZmllbGRfY2hlY2tib3gtYm9yZGVyLXJhZGl1czogJGJvcmRlci1yYWRpdXNfYmFzZSAhZGVmYXVsdDtcbiRmaWVsZF9jaGVja2JveC1iYWNrZ3JvdW5kLXNpemU6IDFlbSAxZW0gIWRlZmF1bHQ7XG4kZmllbGRfY2hlY2tib3gtaWNvbi1maWxsOiAkY29sb3JfcHJpbWFyeS01MDAgIWRlZmF1bHQ7XG4kZmllbGRfY2hlY2tib3gtYmFja2dyb3VuZC1pbWFnZS1jaGVja2VkOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD1VVEYtOCwlM2Nzdmcgd2lkdGg9JzE0JyBoZWlnaHQ9JzE0JyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnJTNlJTNjcGF0aCBmaWxsPScje3VyaS1mcmllbmRseS1oZXgoJGZpZWxkX2NoZWNrYm94LWljb24tZmlsbCl9JyBkPSdNNS4zMTMgMTAuMTA4SDUuMjRhMS4wNjQgMS4wMDUgMCAwIDEtLjc1LS40MWwtMS45NDctMi41NWExLjA2NCAxLjAwNSAwIDAgMSAxLjcyMy0xLjE3NUw1LjQ2MyA3LjU2IDkuMDYgNC4xOWExLjA2NCAxLjAwNSAwIDAgMSAuNzUtLjI5N2guODQ2YTEuMDY0IDEuMDA1IDAgMCAxIDAgMi4wMDRoLS40NUw2LjA2NCA5LjgxYTEuMDY0IDEuMDA1IDAgMCAxLS43NS4yOTh6Jy8lM2UlM2Mvc3ZnJTNlXCIpICFkZWZhdWx0O1xuXG4kZmllbGRfaWNvbi13aWR0aDogMS4zZW0gIWRlZmF1bHQ7XG4kZmllbGRfaWNvbi1oZWlnaHQ6IDEuM2VtICFkZWZhdWx0O1xuJGZpZWxkX2ljb24tc3VjY2Vzcy1iYWNrZ3JvdW5kOiB1cmwoJy4uL2ltYWdlcy9jaGVjay1ncmVlbi5zdmcnKSBuby1yZXBlYXQgY2VudGVyIGNlbnRlciAvIGNvbnRhaW4gIWRlZmF1bHQ7XG5cbiRmaWVsZF9kb2ItYnV0dG9uLXR5cGU6ICdzZWNvbmRhcnknICFkZWZhdWx0O1xuJGZpZWxkX2RvYi1idXR0b24taWNvbi1wb3M6ICRidXR0b25fZGVmYXVsdC1pY29uLXBvcyAhZGVmYXVsdDtcblxuQG1peGluIGZpZWxkKCkge1xuICAgIGZvbnQtc2l6ZTogJGZpZWxkX2ZvbnQtc2l6ZTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICBhbGlnbi1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgYm9yZGVyOiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbWFyZ2luOiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgJi5fZWRpdGluZyB7XG4gICAgICAgIC5maWVsZC1lcnJvciB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgZmllbGQtaG9vaygpO1xufVxuXG5AbWl4aW4gZmllbGQtZXJyb3IoKSB7XG4gICAgZm9udC1zaXplOiAkZmllbGRfZXJyb3ItZm9udC1zaXplO1xuICAgIGNvbG9yOiAkY29sb3JfZXJyb3ItNTAwO1xuICAgIG1hcmdpbi10b3A6IDAuMmVtO1xuXG4gICAgQGluY2x1ZGUgZmllbGQtZXJyb3ItaG9vaygpO1xufVxuXG5AbWl4aW4gZmllbGQtbGFiZWwoKSB7XG4gICAgZm9udC13ZWlnaHQ6ICRmaWVsZF9sYWJlbC1mb250LXdlaWdodDtcbiAgICBmb250LXNpemU6ICRmaWVsZF9sYWJlbC1mb250LXNpemU7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgdGV4dC10cmFuc2Zvcm06ICRmaWVsZF9sYWJlbC10ZXh0LXRyYW5zZm9ybTtcbiAgICBjb2xvcjogJGZpZWxkX2xhYmVsLWNvbG9yO1xuICAgIHBhZGRpbmctYm90dG9tOiAkZmllbGRfbGFiZWwtcGFkZGluZy1ib3RvbTtcblxuICAgIEBpbmNsdWRlIGZpZWxkLWxhYmVsLWhvb2soKTtcbn1cblxuQG1peGluIGZpZWxkLWxhYmVsLXJlcXVpcmVkKCkge1xuICAgICY6YWZ0ZXIge1xuICAgICAgICBjb250ZW50OiAnIConO1xuICAgICAgICBjb2xvcjogJGNvbG9yX2Vycm9yLTUwMDtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBmaWVsZC1sYWJlbC1yZXF1aXJlZC1ob29rKCk7XG59XG5cbkBtaXhpbiBmaWVsZC1jb250cm9sKCkge1xuICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgQGluY2x1ZGUgZmllbGQtY29udHJvbC1ob29rKCk7XG59XG5cbkBtaXhpbiBmaWVsZC1pbnB1dCgpIHtcbiAgICBmb250LXNpemU6ICRmaWVsZF9pbnB1dC1mb250LXNpemU7XG4gICAgbGluZS1oZWlnaHQ6ICRmaWVsZF9pbnB1dC1saW5lLWhlaWdodDtcbiAgICBwYWRkaW5nOiAkZmllbGRfaW5wdXQtcGFkZGluZztcbiAgICBjb2xvcjogJGZpZWxkX2lucHV0LWNvbG9yO1xuICAgIGJhY2tncm91bmQ6ICRmaWVsZF9pbnB1dC1iYWNrZ3JvdW5kO1xuICAgIGJvcmRlci1yYWRpdXM6ICRmaWVsZF9pbnB1dC1ib3JkZXItcmFkaXVzO1xuICAgIGJvcmRlcjogJGZpZWxkX2lucHV0LWJvcmRlcjtcbiAgICBib3gtc2hhZG93OiAkZmllbGRfaW5wdXQtYm94LXNoYWRvdztcbiAgICB0cmFuc2l0aW9uOiBib3JkZXItY29sb3IgJGZpZWxkX3RyYW5zaXRpb24tdGltZTtcbiAgICBtYXJnaW46IDAgMCAwLjJlbTsgLy8gQWRkIHNwYWNpbmcgdW5kZXIgbGFiZWwuIFRoaXMgY2FuJ3QgYmUgYWRkZWQgdG8gbGFiZWwgaXRzZWxmIGJlY2F1c2UgdGhleSBhcmUgc29tZXRpbWVzIHJlbmRlcmVkIGVtcHR5LlxuICAgIHdpZHRoOiAxMDAlO1xuICAgIGJhY2tncm91bmQtY2xpcDogcGFkZGluZy1ib3g7IC8vIFJlbW92ZXMgZHJvcCBzaGFkb3cgZnJvbSBpbnB1dHMgb24gaU9TLlxuICAgIGZvbnQtZmFtaWx5OiBpbmhlcml0O1xuXG4gICAgJjpob3ZlcixcbiAgICAmOmZvY3VzIHtcbiAgICAgICAgJjpub3QoW2Rpc2FibGVkXSkge1xuICAgICAgICAgICAgYm9yZGVyOiAkZmllbGRfaW5wdXQtYm9yZGVyLWFjdGl2ZTtcbiAgICAgICAgICAgIGJveC1zaGFkb3c6ICRmaWVsZF9pbnB1dC1ib3gtc2hhZG93LWFjdGl2ZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICY6OnBsYWNlaG9sZGVyIHtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgY29sb3I6ICRmaWVsZF9pbnB1dC1wbGFjZWhvbGRlci1jb2xvcjtcbiAgICB9XG5cbiAgICAmW2Rpc2FibGVkXSB7XG4gICAgICAgIG9wYWNpdHk6ICRmaWVsZF9pbnB1dC1kaXNhYmxlZC1vcGFjaXR5O1xuICAgIH1cblxuICAgIEBpbmNsdWRlIGZpZWxkLWlucHV0LWhvb2soKTtcbn1cblxuQG1peGluIGZpZWxkLWlucHV0LWVycm9yKCkge1xuXG4gICAgJixcbiAgICAmOmhvdmVyOm5vdCg6Zm9jdXMpIHtcbiAgICAgICAgYm9yZGVyOiAkZmllbGRfZXJyb3ItaW5wdXQtYm9yZGVyO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIGZpZWxkLWlucHV0LWVycm9yLWhvb2soKTtcbn1cblxuQG1peGluIGZpZWxkLWljb24oJHR5cGU6ICcnKSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHdpZHRoOiAkZmllbGRfaWNvbi13aWR0aDtcbiAgICBoZWlnaHQ6ICRmaWVsZF9pY29uLWhlaWdodDtcbiAgICByaWdodDogMC44ZW07XG4gICAgdG9wOiAwLjhlbTtcbiAgICBkaXNwbGF5OiBub25lO1xuXG4gICAgQGlmICgkdHlwZSA9PSdzdWNjZXNzJykge1xuICAgICAgICBiYWNrZ3JvdW5kOiAkZmllbGRfaWNvbi1zdWNjZXNzLWJhY2tncm91bmQ7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgZmllbGQtaWNvbi1ob29rKCR0eXBlKTtcbn1cblxuQG1peGluIGZpZWxkLW5vdGUoKSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgZm9udC1zaXplOiAkZmllbGRfbm90ZS1mb250LXNpemU7XG4gICAgcGFkZGluZzogMC4zZW0gMCAwO1xuICAgIGNvbG9yOiAkZmllbGRfbm90ZS1jb2xvcjtcblxuICAgIEBpbmNsdWRlIGZpZWxkLW5vdGUtaG9vaygpO1xufVxuXG5AbWl4aW4gZmllbGQtZXJyb3IoKSB7XG4gICAgQGluY2x1ZGUgZmllbGQtbm90ZSgpO1xuXG4gICAgY29sb3I6ICRmaWVsZF9lcnJvci1jb2xvcjtcblxuICAgIEBpbmNsdWRlIGZpZWxkLWVycm9yLWhvb2soKTtcbn1cblxuQG1peGluIGZpZWxkLXdhcm5pbmcoKSB7XG4gICAgQGluY2x1ZGUgZmllbGQtbm90ZSgpO1xuXG4gICAgY29sb3I6ICRmaWVsZF93YXJuaW5nLWNvbG9yO1xuXG4gICAgQGluY2x1ZGUgZmllbGQtd2FybmluZy1ob29rKCk7XG59XG5cbkBtaXhpbiBmaWVsZC1zZWxlY3QoKSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgZm9udC1zaXplOiAkZmllbGRfc2VsZWN0LWZvbnQtc2l6ZTtcbiAgICBsaW5lLWhlaWdodDogJGZpZWxkX3NlbGVjdC1saW5lLWhlaWdodDtcbiAgICBwYWRkaW5nOiAkZmllbGRfc2VsZWN0LXBhZGRpbmc7XG4gICAgcGFkZGluZy1yaWdodDogJGZpZWxkX3NlbGVjdC1wYWRkaW5nLXJpZ2h0O1xuICAgIGNvbG9yOiAkZmllbGRfc2VsZWN0LWNvbG9yO1xuICAgIGJvcmRlci1yYWRpdXM6ICRmaWVsZF9zZWxlY3QtYm9yZGVyLXJhZGl1cztcbiAgICBib3JkZXI6ICRmaWVsZF9zZWxlY3QtYm9yZGVyO1xuICAgIGJveC1zaGFkb3c6ICRmaWVsZF9zZWxlY3QtYm94LXNoYWRvdztcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luOiAwIDAgMC4yZW07IC8vIEFkZCBzcGFjaW5nIHVuZGVyIGxhYmVsLiBUaGlzIGNhbid0IGJlIGFkZGVkIHRvIGxhYmVsIGl0c2VsZiBiZWNhdXNlIHRoZXkgYXJlIHNvbWV0aW1lcyByZW5kZXJlZCBlbXB0eS5cbiAgICBvdXRsaW5lOiAwO1xuICAgIGFwcGVhcmFuY2U6IG5vbmU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGZpZWxkX3NlbGVjdC1iYWNrZ3JvdW5kLWNvbG9yO1xuICAgIGJhY2tncm91bmQtaW1hZ2U6ICRmaWVsZF9zZWxlY3QtYmFja2dyb3VuZC1pbWFnZTtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0LCByZXBlYXQ7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogJGZpZWxkX3NlbGVjdC1iYWNrZ3JvdW5kLXBvc2l0aW9uO1xuICAgIGJhY2tncm91bmQtc2l6ZTogJGZpZWxkX3NlbGVjdC1iYWNrZ3JvdW5kLXNpemU7XG4gICAgdHJhbnNpdGlvbjogYm9yZGVyLWNvbG9yICRmaWVsZF90cmFuc2l0aW9uLXRpbWU7XG5cbiAgICAvLyBzdHlsZWxpbnQtZGlzYWJsZSBuby1kZXNjZW5kaW5nLXNwZWNpZmljaXR5XG4gICAgJjotbW96LWZvY3VzcmluZyxcbiAgICAmOjotbW96LWZvY3VzLWlubmVyIHtcbiAgICAgICAgY29sb3I6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG4gICAgICAgIHRleHQtc2hhZG93OiAwIDAgMCAjMDAwICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgJjpob3ZlcixcbiAgICAmOmZvY3VzIHtcbiAgICAgICAgJjpub3QoW2Rpc2FibGVkXSkge1xuICAgICAgICAgICAgYm9yZGVyOiAkZmllbGRfc2VsZWN0LWJvcmRlci1hY3RpdmU7XG4gICAgICAgICAgICBib3gtc2hhZG93OiAkZmllbGRfc2VsZWN0LWJveC1zaGFkb3ctYWN0aXZlO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogJGZpZWxkX3NlbGVjdC1iYWNrZ3JvdW5kLWFjdGl2ZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZbZGlzYWJsZWRdIHtcbiAgICAgICAgb3BhY2l0eTogJGZpZWxkX3NlbGVjdC1kaXNhYmxlZC1vcGFjaXR5O1xuICAgIH1cblxuICAgIG9wdGlvbiB7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIGNvbG9yOiBpbml0aWFsO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIGZpZWxkLXNlbGVjdC1ob29rKCk7XG59XG5cbkBtaXhpbiBmaWVsZC1yYWRpby1sYWJlbCgpIHtcbiAgICBAaW5jbHVkZSBmaWVsZC1yYWRpby1sYWJlbC1ob29rKCk7XG59XG5cbkBtaXhpbiBmaWVsZC1yYWRpbygpIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgaGVpZ2h0OiAkZmllbGRfcmFkaW8tc2l6ZTtcbiAgICB3aWR0aDogJGZpZWxkX3JhZGlvLXNpemU7XG4gICAgbWFyZ2luOiAkZmllbGRfcmFkaW8tbWFyZ2luO1xuICAgIGZvbnQtc2l6ZTogJGZpZWxkX3JhZGlvLWZvbnQtc2l6ZTtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgYXBwZWFyYW5jZTogbm9uZTtcbiAgICBmbGV4OiAwIDAgYXV0bzsgLy8gUHJldmVudCBmbGV4IHBhcmVudCBmcm9tIGJyZWFraW5nIGRpbWVuc2lvbnMuXG4gICAgY3Vyc29yOiBwb2ludGVyO1xuXG4gICAgYm9yZGVyOiAkZmllbGRfcmFkaW8tYm9yZGVyO1xuICAgIGJveC1zaGFkb3c6ICRmaWVsZF9yYWRpby1ib3gtc2hhZG93O1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRmaWVsZF9yYWRpby1iYWNrZ3JvdW5kLWNvbG9yO1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogNTAlIDUwJTtcbiAgICBiYWNrZ3JvdW5kLXNpemU6ICRmaWVsZF9yYWRpby1iYWNrZ3JvdW5kLXNpemU7XG4gICAgb3V0bGluZTogMDtcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAkZmllbGRfdHJhbnNpdGlvbi10aW1lLFxuICAgICAgICBib3JkZXItY29sb3IgJGZpZWxkX3RyYW5zaXRpb24tdGltZTtcblxuICAgICY6Oi1tb3otZm9jdXMtaW5uZXIsXG4gICAgJjotbW96LWZvY3VzcmluZyB7XG4gICAgICAgIGNvbG9yOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuICAgICAgICB0ZXh0LXNoYWRvdzogMCAwIDAgIzAwMCAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgICY6aG92ZXIsXG4gICAgJjpmb2N1cyB7XG4gICAgICAgICY6bm90KFtkaXNhYmxlZF0pIHtcbiAgICAgICAgICAgIGJvcmRlcjogJGZpZWxkX3JhZGlvLWJvcmRlci1hY3RpdmU7XG4gICAgICAgICAgICBib3gtc2hhZG93OiAkZmllbGRfcmFkaW8tYm94LXNoYWRvdy1hY3RpdmU7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZmllbGRfcmFkaW8tYmFja2dyb3VuZC1jb2xvci1hY3RpdmU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmOmNoZWNrZWQge1xuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiAkZmllbGRfcmFkaW8tYmFja2dyb3VuZC1pbWFnZS1jaGVja2VkO1xuXG4gICAgICAgICYsXG4gICAgICAgICY6aG92ZXIsXG4gICAgICAgICY6Zm9jdXMge1xuICAgICAgICAgICAgYm9yZGVyOiAkZmllbGRfcmFkaW8tYm9yZGVyLWNoZWNrZWQ7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZmllbGRfcmFkaW8tYmFja2dyb3VuZC1jb2xvci1jaGVja2VkO1xuICAgICAgICAgICAgYm94LXNoYWRvdzogJGZpZWxkX3JhZGlvLWJveC1zaGFkb3ctY2hlY2tlZDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZbZGlzYWJsZWRdLFxuICAgICZbZGlzYWJsZWRdKy5sYWJlbCxcbiAgICAmW2Rpc2FibGVkXSsuY3MtaW5wdXRfX2xhYmVsIHtcbiAgICAgICAgb3BhY2l0eTogJGZpZWxkX3JhZGlvLWRpc2FibGVkLW9wYWNpdHk7XG4gICAgfVxuXG4gICAgLy8gc3R5bGVsaW50LWVuYWJsZSBuby1kZXNjZW5kaW5nLXNwZWNpZmljaXR5XG5cbiAgICBAaW5jbHVkZSBmaWVsZC1yYWRpby1ob29rKCk7XG59XG5cbkBtaXhpbiBmaWVsZC1jaGVja2JveC1sYWJlbCgpIHtcbiAgICBAaW5jbHVkZSBmaWVsZC1jaGVja2JveC1sYWJlbC1ob29rKCk7XG59XG5cbkBtaXhpbiBmaWVsZC1jaGVja2JveCgpIHtcbiAgICBAaW5jbHVkZSBmaWVsZC1yYWRpbygpO1xuXG4gICAgYm9yZGVyLXJhZGl1czogJGZpZWxkX2NoZWNrYm94LWJvcmRlci1yYWRpdXM7XG4gICAgYmFja2dyb3VuZC1zaXplOiAkZmllbGRfY2hlY2tib3gtYmFja2dyb3VuZC1zaXplO1xuICAgIGJvcmRlci1jb2xvcjogJGNvbG9yX3BhcGlsYXJ0X3B1cnBsZTtcblxuICAgICY6Y2hlY2tlZCB7XG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6ICRmaWVsZF9jaGVja2JveC1iYWNrZ3JvdW5kLWltYWdlLWNoZWNrZWQ7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgZmllbGQtY2hlY2tib3gtaG9vaygpO1xufVxuXG5AbWl4aW4gZmllbGQtZG9iKCkge1xuICAgIGlucHV0IHtcbiAgICAgICAgQGluY2x1ZGUgZmllbGQtaW5wdXQoKTtcblxuICAgICAgICAmLm1hZ2UtZXJyb3Ige1xuICAgICAgICAgICAgQGluY2x1ZGUgZmllbGQtaW5wdXQtZXJyb3IoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGJ1dHRvbiB7XG4gICAgICAgIEBpbmNsdWRlIGJ1dHRvbigkdHlwZTogJGZpZWxkX2RvYi1idXR0b24tdHlwZSxcbiAgICAgICAgICAgICRpY29uX3BvczogJGZpZWxkX2RvYi1idXR0b24taWNvbi1wb3MgKTtcblxuICAgICAgICBzcGFuIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJ1dHRvbl9zcGFuKCR0eXBlOiAkZmllbGRfZG9iLWJ1dHRvbi10eXBlLFxuICAgICAgICAgICAgICAgICRpY29uX3BvczogJGZpZWxkX2RvYi1idXR0b24taWNvbi1wb3MgKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIEBpbmNsdWRlIGZpZWxkLWRvYi1ob29rKCk7XG59IiwiQGltcG9ydCAnY29uZmlnL3ZhcmlhYmxlcyc7XG5AaW1wb3J0ICd2ZW5kb3JzL2luY2x1ZGUtbWVkaWEnO1xuQGltcG9ydCAnY29tcG9uZW50cy9idXR0b24vbWl4aW4nO1xuQGltcG9ydCAnY29tcG9uZW50cy9maWVsZC9taXhpbic7XG5cbiRjYXB0Y2hhX2J1dHRvbi10eXBlOiAnc2Vjb25kYXJ5JyAhZGVmYXVsdDtcbiRjYXB0Y2hhX2J1dHRvbi1pY29uLXBvczogJ25vLWljb24nICFkZWZhdWx0O1xuXG4uI3skbnN9Y2FwdGNoYSB7XG4gICAgJHJvb3Q6ICY7XG5cbiAgICAmX19pbWFnZS1jb250cm9scyB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgICBtYXJnaW4tdG9wOiAxLjVyZW07XG5cbiAgICAgICAgLiN7JG5zfWRhc2hib2FyZCAmIHtcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgICAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcblxuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz49cGhvbmVMZycpIHtcbiAgICAgICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCc8PXRhYmxldCcpIHtcbiAgICAgICAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2ltYWdlIHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAxcmVtO1xuICAgIH1cblxuICAgICZfX2J1dHRvbiB7XG4gICAgICAgIEBpbmNsdWRlIGJ1dHRvbihcbiAgICAgICAgICAgICR0eXBlOiAkY2FwdGNoYV9idXR0b24tdHlwZSxcbiAgICAgICAgICAgICRpY29uX3BvczogJGNhcHRjaGFfYnV0dG9uLWljb24tcG9zXG4gICAgICAgICk7XG5cbiAgICAgICAgLiN7JG5zfWRhc2hib2FyZCAmIHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDJyZW07XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PXBob25lTGcnKSB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2J1dHRvbi1zcGFuIHtcbiAgICAgICAgQGluY2x1ZGUgYnV0dG9uX3NwYW4oXG4gICAgICAgICAgICAkdHlwZTogJGNhcHRjaGFfYnV0dG9uLXR5cGUsXG4gICAgICAgICAgICAkaWNvbl9wb3M6ICRjYXB0Y2hhX2J1dHRvbi1pY29uLXBvc1xuICAgICAgICApO1xuICAgIH1cblxuICAgICZfX25vdGUge1xuICAgICAgICBAaW5jbHVkZSBmaWVsZC1ub3RlKCk7XG4gICAgfVxuXG4gICAgJl9fd3JhcHBlciB7XG4gICAgICAgIC4jeyRuc31kYXNoYm9hcmQgJiB7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDJyZW07XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCJAaW1wb3J0ICd1dGlscy9nZXQtdmFsdWUtZnJvbS1saXN0JztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvYnV0dG9uL2FuaW1hdGlvbic7XG5AaW1wb3J0ICdjb21wb25lbnRzL2J1dHRvbi9ob29rJztcblxuLy8gRGVmaW5lIGRlZmF1bHQgdHlwZSBmb3IgYnV0dG9ucy4gWW91IGNhbiBvdmVycmlkZSBpdCBpbmRpdmlkdWFsbHkgcGVyIGJ1dHRvbiBpbiBlYWNoIGNvbXBvbmVudFxuLy8gVmFyaWFudHM6IHByaW1hcnkgfCBzZWNvbmRhcnkgfCBsaW5rIHwgc3VjY2VzcyB8IGVycm9yXG4kYnV0dG9uX2RlZmF1bHQtdHlwZTogJ3ByaW1hcnknICFkZWZhdWx0O1xuXG4vLyBEZWZpbmUgZGVmYXVsdCBwb3NpdGlvbiBmb3IgaWNvbnMgaW4gYnV0dG9uLiBZb3UgY2FuIG92ZXJyaWRlIGl0IGluZGl2aWR1YWxseSBwZXIgYnV0dG9uIGluIGVhY2ggY29tcG9uZW50XG4vLyBWYXJpYW50czogbGVmdCB8IHJpZ2h0IHwgbm8taWNvbiB8IG9ubHktaWNvblxuJGJ1dHRvbl9kZWZhdWx0LWljb24tcG9zOiAncmlnaHQnICFkZWZhdWx0O1xuXG4vLyBHZW5lcmFsIHN0eWxlcyBmb3IgYnV0dG9uc1xuJGJ1dHRvbl9mb250LXNpemU6IDEuOHJlbSAhZGVmYXVsdDtcbiRidXR0b25fZm9udC13ZWlnaHQ6IDcwMCAhZGVmYXVsdDtcbiRidXR0b25fYm9yZGVyLXNpemU6IDFweCAhZGVmYXVsdDtcbiRidXR0b25fcGFkZGluZzogMC43NWVtIDFlbSAhZGVmYXVsdDtcbiRidXR0b25fcGFkZGluZy13aGVuLWljb246IDNlbSAhZGVmYXVsdDtcbiRidXR0b25fbGluZS1oZWlnaHQ6IDEuMjc1ZW0gIWRlZmF1bHQ7XG4kYnV0dG9uX2JvcmRlci1yYWRpdXM6IDIwMHB4ICFkZWZhdWx0O1xuJGJ1dHRvbl9hbmltYXRpb24tdGltZTogMC41cyAhZGVmYXVsdDtcbiRidXR0b25fYW5pbWF0aW9uLWJlZm9yZS13aWR0aDogMy40ZW0gIWRlZmF1bHQ7XG4kYnV0dG9uX2FuaW1hdGlvbi1hZnRlci13aWR0aDogM2VtICFkZWZhdWx0O1xuJGJ1dHRvbl90ZXh0LXRyYW5zZm9ybTogbm9uZSAhZGVmYXVsdDtcbiRidXR0b25fdGV4dC1sZXR0ZXItc3BhY2luZzogbm9ybWFsICFkZWZhdWx0O1xuJGJ1dHRvbl90ZXh0LWFsaWduOiBjZW50ZXIgIWRlZmF1bHQ7XG5cbi8vIFN0eWxlcyBmb3IgYHByaW1hcnlgIGJ1dHRvbiB0eXBlXG4kYnV0dG9uX3ByaW1hcnktYm9yZGVyOiAkYnV0dG9uX2JvcmRlci1zaXplIHNvbGlkIHRyYW5zcGFyZW50ICFkZWZhdWx0O1xuJGJ1dHRvbl9wcmltYXJ5LS1ob3Zlci1ib3JkZXI6ICRidXR0b25fYm9yZGVyLXNpemUgc29saWQgdHJhbnNwYXJlbnQgIWRlZmF1bHQ7XG4kYnV0dG9uX3ByaW1hcnktYmFja2dyb3VuZDogJGNvbG9yX3ByaW1hcnktNTAwICFkZWZhdWx0O1xuJGJ1dHRvbl9wcmltYXJ5LS1ob3Zlci1iYWNrZ3JvdW5kOiAkY29sb3JfcHJpbWFyeS04MDAgIWRlZmF1bHQ7XG4kYnV0dG9uX3ByaW1hcnktY29sb3I6ICRjb2xvcl90ZXh0LTIwMCAhZGVmYXVsdDtcbiRidXR0b25fcHJpbWFyeS0taG92ZXItY29sb3I6ICRjb2xvcl90ZXh0LTIwMCAhZGVmYXVsdDtcbiRidXR0b25fcHJpbWFyeS1maWxsOiAkY29sb3JfdGV4dC0yMDAgIWRlZmF1bHQ7XG4kYnV0dG9uX3ByaW1hcnktLWhvdmVyLWZpbGw6ICRjb2xvcl90ZXh0LTIwMCAhZGVmYXVsdDtcbiRidXR0b25fcHJpbWFyeS1lbmFibGUtYW5pbWF0aW9uOiB0cnVlICFkZWZhdWx0O1xuXG4vLyBTdHlsZXMgZm9yIGBzZWNvbmRhcnlgIGJ1dHRvbiB0eXBlXG4kYnV0dG9uX3NlY29uZGFyeS1ib3JkZXI6ICRidXR0b25fYm9yZGVyLXNpemUgc29saWQgJGNvbG9yX3ByaW1hcnktNTAwICFkZWZhdWx0O1xuJGJ1dHRvbl9zZWNvbmRhcnktLWhvdmVyLWJvcmRlcjogJGJ1dHRvbl9ib3JkZXItc2l6ZSBzb2xpZCAkY29sb3JfcHJpbWFyeS04MDAgIWRlZmF1bHQ7XG4kYnV0dG9uX3NlY29uZGFyeS1iYWNrZ3JvdW5kOiAkY29sb3Jfd2hpdGUgIWRlZmF1bHQ7XG4kYnV0dG9uX3NlY29uZGFyeS0taG92ZXItYmFja2dyb3VuZDogJGNvbG9yX3ByaW1hcnktODAwICFkZWZhdWx0O1xuJGJ1dHRvbl9zZWNvbmRhcnktY29sb3I6ICRjb2xvcl9wcmltYXJ5LTUwMCAhZGVmYXVsdDtcbiRidXR0b25fc2Vjb25kYXJ5LS1ob3Zlci1jb2xvcjogJGNvbG9yX3RleHQtMjAwICFkZWZhdWx0O1xuJGJ1dHRvbl9zZWNvbmRhcnktZmlsbDogJGNvbG9yX3ByaW1hcnktNTAwICFkZWZhdWx0O1xuJGJ1dHRvbl9zZWNvbmRhcnktLWhvdmVyLWZpbGw6ICRjb2xvcl90ZXh0LTIwMCAhZGVmYXVsdDtcbiRidXR0b25fc2Vjb25kYXJ5LWVuYWJsZS1hbmltYXRpb246IGZhbHNlICFkZWZhdWx0O1xuXG4vLyBTdHlsZSBmb3IgYGxpbmtgIGJ1dHRvbiB0eXBlXG4kYnV0dG9uX2xpbmstY29sb3I6ICRjb2xvcl9wcmltYXJ5LTUwMCAhZGVmYXVsdDtcbiRidXR0b25fbGluay0taG92ZXItY29sb3I6ICRjb2xvcl9wcmltYXJ5LTgwMCAhZGVmYXVsdDtcbiRidXR0b25fbGluay1pY29uLXBhZGRpbmc6IDJyZW0gIWRlZmF1bHQ7XG5cbi8vIFN0eWxlcyBmb3IgYHN1Y2Nlc3NgIGJ1dHRvbiB0eXBlXG4kYnV0dG9uX3N1Y2Nlc3MtYm9yZGVyOiAkYnV0dG9uX2JvcmRlci1zaXplIHNvbGlkIHRyYW5zcGFyZW50ICFkZWZhdWx0O1xuJGJ1dHRvbl9zdWNjZXNzLS1ob3Zlci1ib3JkZXI6ICRidXR0b25fYm9yZGVyLXNpemUgc29saWQgdHJhbnNwYXJlbnQgIWRlZmF1bHQ7XG4kYnV0dG9uX3N1Y2Nlc3MtYmFja2dyb3VuZDogJGNvbG9yX3N1Y2Nlc3MtNTAwICFkZWZhdWx0O1xuJGJ1dHRvbl9zdWNjZXNzLS1ob3Zlci1iYWNrZ3JvdW5kOiAkY29sb3Jfc3VjY2Vzcy02MDAgIWRlZmF1bHQ7XG4kYnV0dG9uX3N1Y2Nlc3MtY29sb3I6ICRjb2xvcl90ZXh0LTIwMCAhZGVmYXVsdDtcbiRidXR0b25fc3VjY2Vzcy0taG92ZXItY29sb3I6ICRjb2xvcl90ZXh0LTIwMCAhZGVmYXVsdDtcbiRidXR0b25fc3VjY2Vzcy1maWxsOiAkY29sb3JfdGV4dC0yMDAgIWRlZmF1bHQ7XG4kYnV0dG9uX3N1Y2Nlc3MtLWhvdmVyLWZpbGw6ICRjb2xvcl90ZXh0LTIwMCAhZGVmYXVsdDtcbiRidXR0b25fc3VjY2Vzcy1lbmFibGUtYW5pbWF0aW9uOiBmYWxzZSAhZGVmYXVsdDtcblxuLy8gU3R5bGVzIGZvciBgZXJyb3JgIGJ1dHRvbiB0eXBlXG4kYnV0dG9uX2Vycm9yLWJvcmRlcjogJGJ1dHRvbl9ib3JkZXItc2l6ZSBzb2xpZCB0cmFuc3BhcmVudCAhZGVmYXVsdDtcbiRidXR0b25fZXJyb3ItLWhvdmVyLWJvcmRlcjogJGJ1dHRvbl9ib3JkZXItc2l6ZSBzb2xpZCB0cmFuc3BhcmVudCAhZGVmYXVsdDtcbiRidXR0b25fZXJyb3ItYmFja2dyb3VuZDogJGNvbG9yX2Vycm9yLTUwMCAhZGVmYXVsdDtcbiRidXR0b25fZXJyb3ItLWhvdmVyLWJhY2tncm91bmQ6ICRjb2xvcl9lcnJvci02MDAgIWRlZmF1bHQ7XG4kYnV0dG9uX2Vycm9yLWNvbG9yOiAkY29sb3JfdGV4dC0yMDAgIWRlZmF1bHQ7XG4kYnV0dG9uX2Vycm9yLS1ob3Zlci1jb2xvcjogJGNvbG9yX3RleHQtMjAwICFkZWZhdWx0O1xuJGJ1dHRvbl9lcnJvci1maWxsOiAkY29sb3JfdGV4dC0yMDAgIWRlZmF1bHQ7XG4kYnV0dG9uX2Vycm9yLS1ob3Zlci1maWxsOiAkY29sb3JfdGV4dC0yMDAgIWRlZmF1bHQ7XG4kYnV0dG9uX2Vycm9yLWVuYWJsZS1hbmltYXRpb246IGZhbHNlICFkZWZhdWx0O1xuXG4vLyBEZWZpbmVzIGhvdyBtdWNoIGJ1dHRvbiBpY29uIHNob3VsZCBiZSBwdWxsZWQgdmVydGljYWxseSB0byBjZW50ZXIgaXQuXG4vLyBTaG91bGQgYmUgZGVmaW5lZCBpbiBlbSB0byBtYWtlIGl0IHJlbGF0aXZlIHRvIGJ1dHRvbidzIGZvbnQgc2l6ZS5cbiRidXR0b25fc3Bhbi1mb250LW9mZnNldDogMCAhZGVmYXVsdDtcblxuLy8gRGVmaW5lcyBob3cgbXVjaCBidXR0b24gaWNvbiBzaG91bGQgYmUgcHVsbGVkIHZlcnRpY2FsbHkgdG8gY2VudGVyIGl0IG9uIGljb24gYnV0dG9uLlxuLy8gU2hvdWxkIGJlIGRlZmluZWQgaW4gZW0gdG8gbWFrZSBpdCByZWxhdGl2ZSB0byBidXR0b24ncyBmb250IHNpemUuXG4kYnV0dG9uX2ljb24tb2Zmc2V0OiAwLjFlbSAhZGVmYXVsdDtcblxuLy8gc3R5bGVsaW50LWRpc2FibGUgZnVuY3Rpb24tY2FsYy1uby11bnNwYWNlZC1vcGVyYXRvclxuXG5AbWl4aW4gYnV0dG9uKCR0eXBlOiAkYnV0dG9uX2RlZmF1bHQtdHlwZSxcbiAgICAkaWNvbl9wb3M6ICRidXR0b25fZGVmYXVsdC1pY29uLXBvcykge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBmb250LXNpemU6ICRidXR0b25fZm9udC1zaXplO1xuICAgIGZvbnQtd2VpZ2h0OiAkYnV0dG9uX2ZvbnQtd2VpZ2h0O1xuICAgIHRleHQtYWxpZ246ICRidXR0b25fdGV4dC1hbGlnbjtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGluZS1oZWlnaHQ6ICRidXR0b25fbGluZS1oZWlnaHQ7XG4gICAgbWFyZ2luOiAwO1xuICAgIHRleHQtdHJhbnNmb3JtOiAkYnV0dG9uX3RleHQtdHJhbnNmb3JtO1xuXG4gICAgQGlmICgkdHlwZSAhPSdsaW5rJykge1xuICAgICAgICBwYWRkaW5nOiAkYnV0dG9uX3BhZGRpbmc7XG4gICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgJGJ1dHRvbl9hbmltYXRpb24tdGltZSxcbiAgICAgICAgICAgIGJvcmRlci1jb2xvciAkYnV0dG9uX2FuaW1hdGlvbi10aW1lLCBmaWxsICRidXR0b25fYW5pbWF0aW9uLXRpbWUsXG4gICAgICAgICAgICBjb2xvciAkYnV0dG9uX2FuaW1hdGlvbi10aW1lO1xuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgICAgICB6LWluZGV4OiA1O1xuICAgIH1cblxuICAgIEBpZiAoJHR5cGUgPT0ncHJpbWFyeScpIHtcbiAgICAgICAgQGlmICgkYnV0dG9uX3ByaW1hcnktZW5hYmxlLWFuaW1hdGlvbikge1xuICAgICAgICAgICAgQGluY2x1ZGUgYnV0dG9uX2FuaW1hdGlvbigkdHlwZTogJ3ByaW1hcnknLFxuICAgICAgICAgICAgICAgICRjb2xvcl9zdGFydDogJGJ1dHRvbl9wcmltYXJ5LWJhY2tncm91bmQsXG4gICAgICAgICAgICAgICAgJGNvbG9yX2VuZDogJGJ1dHRvbl9wcmltYXJ5LS1ob3Zlci1iYWNrZ3JvdW5kLFxuICAgICAgICAgICAgICAgICRpY29uX3BvczogJGljb25fcG9zICk7XG4gICAgICAgIH1cblxuICAgICAgICBAZWxzZSB7XG4gICAgICAgICAgICBAaWYgKCRpY29uX3BvcyA9PSdyaWdodCcpIG9yICgkaWNvbl9wb3MgPT0nbGVmdCcpIHtcblxuICAgICAgICAgICAgICAgICY6OmJlZm9yZSxcbiAgICAgICAgICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6IG5vbmU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgQGlmICgkdHlwZSA9PSdzZWNvbmRhcnknKSB7XG4gICAgICAgIEBpZiAoJGJ1dHRvbl9zZWNvbmRhcnktZW5hYmxlLWFuaW1hdGlvbikge1xuICAgICAgICAgICAgQGluY2x1ZGUgYnV0dG9uX2FuaW1hdGlvbigkdHlwZTogJ3NlY29uZGFyeScsXG4gICAgICAgICAgICAgICAgJGNvbG9yX3N0YXJ0OiAkYnV0dG9uX3NlY29uZGFyeS1iYWNrZ3JvdW5kLFxuICAgICAgICAgICAgICAgICRjb2xvcl9lbmQ6ICRidXR0b25fc2Vjb25kYXJ5LS1ob3Zlci1iYWNrZ3JvdW5kLFxuICAgICAgICAgICAgICAgICRpY29uX3BvczogJGljb25fcG9zICk7XG4gICAgICAgIH1cblxuICAgICAgICBAZWxzZSB7XG4gICAgICAgICAgICBAaWYgKCRpY29uX3BvcyA9PSdyaWdodCcpIG9yICgkaWNvbl9wb3MgPT0nbGVmdCcpIHtcblxuICAgICAgICAgICAgICAgICY6OmJlZm9yZSxcbiAgICAgICAgICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6IG5vbmU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgQGlmICgkdHlwZSA9PSdsaW5rJykge1xuICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAkYnV0dG9uX2FuaW1hdGlvbi10aW1lLCBmaWxsICRidXR0b25fYW5pbWF0aW9uLXRpbWU7XG5cbiAgICAgICAgKiB7XG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAkYnV0dG9uX2FuaW1hdGlvbi10aW1lLFxuICAgICAgICAgICAgICAgIGZpbGwgJGJ1dHRvbl9hbmltYXRpb24tdGltZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIEBpZiAoJHR5cGUgPT0nc3VjY2VzcycpIHtcbiAgICAgICAgQGlmICgkYnV0dG9uX3N1Y2Nlc3MtZW5hYmxlLWFuaW1hdGlvbikge1xuICAgICAgICAgICAgQGluY2x1ZGUgYnV0dG9uX2FuaW1hdGlvbigkdHlwZTogJ3N1Y2Nlc3MnLFxuICAgICAgICAgICAgICAgICRjb2xvcl9zdGFydDogJGJ1dHRvbl9zdWNjZXNzLWJhY2tncm91bmQsXG4gICAgICAgICAgICAgICAgJGNvbG9yX2VuZDogJGJ1dHRvbl9zdWNjZXNzLS1ob3Zlci1iYWNrZ3JvdW5kLFxuICAgICAgICAgICAgICAgICRpY29uX3BvczogJGljb25fcG9zICk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBAaWYgKCR0eXBlID09J2Vycm9yJykge1xuICAgICAgICBAaWYgKCRidXR0b25fZXJyb3ItZW5hYmxlLWFuaW1hdGlvbikge1xuICAgICAgICAgICAgQGluY2x1ZGUgYnV0dG9uX2FuaW1hdGlvbigkdHlwZTogJ2Vycm9yJyxcbiAgICAgICAgICAgICAgICAkY29sb3Jfc3RhcnQ6ICRidXR0b25fZXJyb3ItYmFja2dyb3VuZCxcbiAgICAgICAgICAgICAgICAkY29sb3JfZW5kOiAkYnV0dG9uX2Vycm9yLS1ob3Zlci1iYWNrZ3JvdW5kLFxuICAgICAgICAgICAgICAgICRpY29uX3BvczogJGljb25fcG9zICk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBzdHlsZWxpbnQtZGlzYWJsZSBuby1kZXNjZW5kaW5nLXNwZWNpZmljaXR5XG4gICAgJjo6LW1vei1mb2N1cy1pbm5lciB7XG4gICAgICAgIGJvcmRlcjogMDtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgIH1cblxuICAgICYsXG4gICAgJjp2aXNpdGVkIHtcbiAgICAgICAgQGlmICgkdHlwZSAhPSdsaW5rJykge1xuICAgICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogJGJ1dHRvbl9ib3JkZXItcmFkaXVzO1xuICAgICAgICAgICAgb3V0bGluZS1vZmZzZXQ6IDFweDtcbiAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgICAgIH1cblxuICAgICAgICBAaWYgKCR0eXBlID09J3ByaW1hcnknKSB7XG4gICAgICAgICAgICBib3JkZXI6ICRidXR0b25fcHJpbWFyeS1ib3JkZXI7XG4gICAgICAgICAgICBjb2xvcjogJGJ1dHRvbl9wcmltYXJ5LWNvbG9yO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGJ1dHRvbl9wcmltYXJ5LWJhY2tncm91bmQ7XG5cbiAgICAgICAgICAgICoge1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkYnV0dG9uX3ByaW1hcnktY29sb3I7XG4gICAgICAgICAgICAgICAgZmlsbDogJGJ1dHRvbl9wcmltYXJ5LWZpbGw7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBAaWYgKCR0eXBlID09J3NlY29uZGFyeScpIHtcbiAgICAgICAgICAgIGJvcmRlcjogJGJ1dHRvbl9zZWNvbmRhcnktYm9yZGVyO1xuICAgICAgICAgICAgY29sb3I6ICRidXR0b25fc2Vjb25kYXJ5LWNvbG9yO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGJ1dHRvbl9zZWNvbmRhcnktYmFja2dyb3VuZDtcblxuICAgICAgICAgICAgKiB7XG4gICAgICAgICAgICAgICAgY29sb3I6ICRidXR0b25fc2Vjb25kYXJ5LWNvbG9yO1xuICAgICAgICAgICAgICAgIGZpbGw6ICRidXR0b25fc2Vjb25kYXJ5LWZpbGw7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBAaWYgKCR0eXBlID09J2xpbmsnKSB7XG4gICAgICAgICAgICBjb2xvcjogJGJ1dHRvbl9saW5rLWNvbG9yO1xuXG4gICAgICAgICAgICAqIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogJGJ1dHRvbl9saW5rLWNvbG9yO1xuICAgICAgICAgICAgICAgIGZpbGw6ICRidXR0b25fbGluay1jb2xvcjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIEBpZiAoJHR5cGUgPT0nc3VjY2VzcycpIHtcbiAgICAgICAgICAgIGJvcmRlcjogJGJ1dHRvbl9zdWNjZXNzLWJvcmRlcjtcbiAgICAgICAgICAgIGNvbG9yOiAkYnV0dG9uX3N1Y2Nlc3MtY29sb3I7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYnV0dG9uX3N1Y2Nlc3MtYmFja2dyb3VuZDtcblxuICAgICAgICAgICAgKiB7XG4gICAgICAgICAgICAgICAgY29sb3I6ICRidXR0b25fc3VjY2Vzcy1jb2xvcjtcbiAgICAgICAgICAgICAgICBmaWxsOiAkYnV0dG9uX3N1Y2Nlc3MtZmlsbDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIEBpZiAoJHR5cGUgPT0nZXJyb3InKSB7XG4gICAgICAgICAgICBib3JkZXI6ICRidXR0b25fZXJyb3ItYm9yZGVyO1xuICAgICAgICAgICAgY29sb3I6ICRidXR0b25fZXJyb3ItY29sb3I7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYnV0dG9uX2Vycm9yLWJhY2tncm91bmQ7XG5cbiAgICAgICAgICAgICoge1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkYnV0dG9uX2Vycm9yLWNvbG9yO1xuICAgICAgICAgICAgICAgIGZpbGw6ICRidXR0b25fZXJyb3ItZmlsbDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8vIHN0eWxlbGludC1lbmFibGUgbm8tZGVzY2VuZGluZy1zcGVjaWZpY2l0eVxuXG4gICAgJjpob3ZlcixcbiAgICAmOmZvY3VzLFxuICAgICY6YWN0aXZlIHtcbiAgICAgICAgJjpub3QoW2Rpc2FibGVkXSkge1xuICAgICAgICAgICAgQGlmICgkdHlwZSAhPSdsaW5rJykge1xuICAgICAgICAgICAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgICAgICAgICAgICAgb3V0bGluZTogbm9uZTtcbiAgICAgICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIEBpZiAoJHR5cGUgPT0ncHJpbWFyeScpIHtcbiAgICAgICAgICAgICAgICBib3JkZXI6ICRidXR0b25fcHJpbWFyeS0taG92ZXItYm9yZGVyO1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkYnV0dG9uX3ByaW1hcnktLWhvdmVyLWNvbG9yO1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRidXR0b25fcHJpbWFyeS0taG92ZXItYmFja2dyb3VuZDtcblxuICAgICAgICAgICAgICAgICoge1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjogJGJ1dHRvbl9wcmltYXJ5LS1ob3Zlci1jb2xvcjtcbiAgICAgICAgICAgICAgICAgICAgZmlsbDogJGJ1dHRvbl9wcmltYXJ5LS1ob3Zlci1maWxsO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgQGlmICgkdHlwZSA9PSdzZWNvbmRhcnknKSB7XG4gICAgICAgICAgICAgICAgYm9yZGVyOiAkYnV0dG9uX3NlY29uZGFyeS0taG92ZXItYm9yZGVyO1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkYnV0dG9uX3NlY29uZGFyeS0taG92ZXItY29sb3I7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGJ1dHRvbl9zZWNvbmRhcnktLWhvdmVyLWJhY2tncm91bmQ7XG5cbiAgICAgICAgICAgICAgICAqIHtcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRidXR0b25fc2Vjb25kYXJ5LS1ob3Zlci1jb2xvcjtcbiAgICAgICAgICAgICAgICAgICAgZmlsbDogJGJ1dHRvbl9zZWNvbmRhcnktLWhvdmVyLWZpbGw7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBAaWYgKCR0eXBlID09J2xpbmsnKSB7XG4gICAgICAgICAgICAgICAgY29sb3I6ICRidXR0b25fbGluay0taG92ZXItY29sb3I7XG5cbiAgICAgICAgICAgICAgICAqIHtcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRidXR0b25fbGluay0taG92ZXItY29sb3I7XG4gICAgICAgICAgICAgICAgICAgIGZpbGw6ICRidXR0b25fbGluay0taG92ZXItY29sb3I7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBAaWYgKCR0eXBlID09J3N1Y2Nlc3MnKSB7XG4gICAgICAgICAgICAgICAgYm9yZGVyOiAkYnV0dG9uX3N1Y2Nlc3MtLWhvdmVyLWJvcmRlcjtcbiAgICAgICAgICAgICAgICBjb2xvcjogJGJ1dHRvbl9zdWNjZXNzLS1ob3Zlci1jb2xvcjtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYnV0dG9uX3N1Y2Nlc3MtLWhvdmVyLWJhY2tncm91bmQ7XG5cbiAgICAgICAgICAgICAgICAqIHtcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRidXR0b25fc3VjY2Vzcy0taG92ZXItY29sb3I7XG4gICAgICAgICAgICAgICAgICAgIGZpbGw6ICRidXR0b25fc3VjY2Vzcy0taG92ZXItZmlsbDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIEBpZiAoJHR5cGUgPT0nZXJyb3InKSB7XG4gICAgICAgICAgICAgICAgYm9yZGVyOiAkYnV0dG9uX2Vycm9yLS1ob3Zlci1ib3JkZXI7XG4gICAgICAgICAgICAgICAgY29sb3I6ICRidXR0b25fZXJyb3ItLWhvdmVyLWNvbG9yO1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRidXR0b25fZXJyb3ItLWhvdmVyLWJhY2tncm91bmQ7XG5cbiAgICAgICAgICAgICAgICAqIHtcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRidXR0b25fZXJyb3ItLWhvdmVyLWNvbG9yO1xuICAgICAgICAgICAgICAgICAgICBmaWxsOiAkYnV0dG9uX2Vycm9yLS1ob3Zlci1maWxsO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgICZbZGlzYWJsZWRdIHtcbiAgICAgICAgb3BhY2l0eTogMC42NTtcbiAgICAgICAgY3Vyc29yOiBhdXRvO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIGJ1dHRvbi1ob29rKCR0eXBlLCAkaWNvbl9wb3MpO1xufVxuXG5AbWl4aW4gYnV0dG9uX3NwYW4oJHR5cGU6ICRidXR0b25fZGVmYXVsdC10eXBlLFxuICAgICRpY29uX3BvczogJGJ1dHRvbl9kZWZhdWx0LWljb24tcG9zKSB7XG4gICAgbWFyZ2luLXRvcDogJGJ1dHRvbl9zcGFuLWZvbnQtb2Zmc2V0O1xuICAgIHotaW5kZXg6IDE7XG4gICAgZm9udC13ZWlnaHQ6ICRidXR0b25fZm9udC13ZWlnaHQ7XG4gICAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBsaW5lLWhlaWdodDogJGJ1dHRvbl9saW5lLWhlaWdodDtcbiAgICBsZXR0ZXItc3BhY2luZzogJGJ1dHRvbl90ZXh0LWxldHRlci1zcGFjaW5nO1xuXG4gICAgQGlmICgkaWNvbl9wb3MgPT0ncmlnaHQnKSB7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMDtcblxuICAgICAgICBAaWYgKCR0eXBlID09J2xpbmsnKSB7XG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAkYnV0dG9uX2xpbmstaWNvbi1wYWRkaW5nO1xuICAgICAgICB9XG5cbiAgICAgICAgQGVsc2Uge1xuXG4gICAgICAgICAgICBAaWYgKHVuaXQoJGJ1dHRvbl9wYWRkaW5nLXdoZW4taWNvbik9PXVuaXQoZ2V0LXZhbHVlLWZyb20tbGlzdCgkdmFyaWFibGU6ICRidXR0b25fcGFkZGluZyxcbiAgICAgICAgICAgICAgICAgICAgICAgICRzaWRlOiAkaWNvbl9wb3MgKSkpIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAkYnV0dG9uX3BhZGRpbmctd2hlbi1pY29uICsgZ2V0LXZhbHVlLWZyb20tbGlzdCgkdmFyaWFibGU6ICRidXR0b25fcGFkZGluZyxcbiAgICAgICAgICAgICAgICAgICAgICAgICRzaWRlOiAkaWNvbl9wb3MgKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgQGVsc2Uge1xuICAgICAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IGNhbGMoI3skYnV0dG9uX3BhZGRpbmctd2hlbi1pY29ufSArICN7Z2V0LXZhbHVlLWZyb20tbGlzdChcbiAkdmFyaWFibGU6ICRidXR0b25fcGFkZGluZyxcbiAgICAgICAgICAgICAgICAgICAgJHNpZGU6ICRpY29uX3BvcyApXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuQGVsc2UgaWYgKCRpY29uX3BvcyA9PSdsZWZ0Jykge1xuICAgIHBhZGRpbmctcmlnaHQ6IDA7XG5cbiAgICBAaWYgKCR0eXBlID09J2xpbmsnKSB7XG4gICAgICAgIHBhZGRpbmctbGVmdDogJGJ1dHRvbl9saW5rLWljb24tcGFkZGluZztcbiAgICB9XG5cbiAgICBAZWxzZSB7XG5cbiAgICAgICAgQGlmICh1bml0KCRidXR0b25fcGFkZGluZy13aGVuLWljb24pPT11bml0KGdldC12YWx1ZS1mcm9tLWxpc3QoJHZhcmlhYmxlOiAkYnV0dG9uX3BhZGRpbmcsXG4gICAgICAgICAgICAgICAgICAgICRzaWRlOiAkaWNvbl9wb3MgKSkpIHtcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogJGJ1dHRvbl9wYWRkaW5nLXdoZW4taWNvbiArIGdldC12YWx1ZS1mcm9tLWxpc3QoJHZhcmlhYmxlOiAkYnV0dG9uX3BhZGRpbmcsXG4gICAgICAgICAgICAgICAgICAgICRzaWRlOiAkaWNvbl9wb3MgKTtcbiAgICAgICAgfVxuXG4gICAgICAgIEBlbHNlIHtcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogY2FsYygjeyRidXR0b25fcGFkZGluZy13aGVuLWljb259ICsgI3tnZXQtdmFsdWUtZnJvbS1saXN0KFxuICR2YXJpYWJsZTogJGJ1dHRvbl9wYWRkaW5nLFxuICAgICAgICAgICAgICAgICRzaWRlOiAkaWNvbl9wb3MgKVxuICAgICAgICB9KTtcbiAgICB9XG59XG59XG5cbkBlbHNlIGlmICgkaWNvbl9wb3MgPT0nb25seS1pY29uJykge1xuICAgIGRpc3BsYXk6IG5vbmU7XG59XG5cbkBpbmNsdWRlIGJ1dHRvbl9zcGFuLWhvb2soJHR5cGUsICRpY29uX3Bvcyk7XG59XG5cbkBtaXhpbiBidXR0b25faWNvbigkdHlwZTogJGJ1dHRvbl9kZWZhdWx0LXR5cGUsXG4gICAgJGljb25fcG9zOiAkYnV0dG9uX2RlZmF1bHQtaWNvbi1wb3MpIHtcbiAgICBtYXgtd2lkdGg6IDFlbTtcbiAgICBtYXgtaGVpZ2h0OiAkYnV0dG9uX2ZvbnQtc2l6ZTtcbiAgICB6LWluZGV4OiAyO1xuICAgIGhlaWdodDogYXV0bztcbiAgICB3aWR0aDogMTAwJTtcblxuICAgIEBpZiAoJGljb25fcG9zID09J3JpZ2h0Jykgb3IgKCRpY29uX3BvcyA9PSdsZWZ0Jykge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogNTAlO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC01MCUsIDApO1xuICAgIH1cblxuICAgIEBpZiAoJGljb25fcG9zID09J29ubHktaWNvbicpIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICB0b3A6ICRidXR0b25faWNvbi1vZmZzZXQ7XG5cbiAgICAgICAgQGlmICgkdHlwZSA9PSdsaW5rJykge1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6ICRidXR0b25fbGluay1pY29uLXBhZGRpbmcgLyAyO1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAkYnV0dG9uX2xpbmstaWNvbi1wYWRkaW5nIC8gMjtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIEBlbHNlIGlmICgkaWNvbl9wb3MgPT0ncmlnaHQnKSB7XG4gICAgICAgIEBpZiAoJHR5cGUgPT0nbGluaycpIHtcbiAgICAgICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICB9XG5cbiAgICAgICAgQGVsc2Uge1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgICAgICAgcmlnaHQ6IGdldC12YWx1ZS1mcm9tLWxpc3QoJHZhcmlhYmxlOiAkYnV0dG9uX3BhZGRpbmcsXG4gICAgICAgICAgICAgICAgICAgICRzaWRlOiAkaWNvbl9wb3MgKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIEBlbHNlIGlmICgkaWNvbl9wb3MgPT0nbGVmdCcpIHtcbiAgICAgICAgQGlmICgkdHlwZSA9PSdsaW5rJykge1xuICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgfVxuXG4gICAgICAgIEBlbHNlIHtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgICAgICAgbGVmdDogZ2V0LXZhbHVlLWZyb20tbGlzdCgkdmFyaWFibGU6ICRidXR0b25fcGFkZGluZyxcbiAgICAgICAgICAgICAgICAgICAgJHNpZGU6ICRpY29uX3BvcyApO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgQGVsc2Uge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIGJ1dHRvbl9pY29uLWhvb2soJHR5cGUsICRpY29uX3Bvcyk7XG59IiwiLyoqXG4gKiBCcmVha3BvaW50IGNvbXBvbmVudCB1c2VkIGJ5IGluY2x1ZGUtbWVkaWEgdmVuZG9yIGxpYnJhcnkuXG4gKi9cbkB1c2UgJ3Nhc3M6bWFwJztcbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuLyoqXG4gKiBCcmVha3BvaW50IGNvbXBvbmVudCB1c2VkIGJ5IGluY2x1ZGUtbWVkaWEgdmVuZG9yIGxpYnJhcnkuXG4gKi9cbkB1c2UgJ3Nhc3M6bWFwJztcbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuLypcbiAqIEZ1bmN0aW9uIHRvIGdldCB2YWx1ZSBmcm9tIGEgbGlzdCBvZiB2YWx1ZXMsIGJhc2VkIG9uIHNpZGVcbiAqIEBwYXJhbSB7c3RyaW5nfSAkdmFyaWFibGU6IHZhcmlhYmxlIHdpdGggYSBsaXN0IG9mIHZhbHVlcyAobGlrZSBwYWRkaW5ncywgbWFyZ2lucyBldGMuKTtcbiAqIEBwYXJhbSB7c3RyaW5nfSAkc2lkZTogc2lkZSAodXAgLyByaWdodCAvIGRvd24gLyBsZWZ0KSBmb3Igd2hpY2ggd2Ugd2FudCB0byBnZXQgdmFsdWVcbiAqIEV4YW1wbGU6XG4gKiAkY29tcG9uZW50X3BhZGRpbmc6IDFyZW0gMnJlbSAzcmVtO1xuICogZ2V0LXZhbHVlLWZyb20tbGlzdCgkY29tcG9uZW50X3BhZGRpbmcsICdyaWdodCcpIC8vIDJyZW1cbiAqIGdldC12YWx1ZS1mcm9tLWxpc3QoJGNvbXBvbmVudF9wYWRkaW5nLCAnYm90dG9tJykgLy8gM3JlbVxuICovXG4vKiBzdHlsZWxpbnQtZGlzYWJsZSBibG9jay1uby1lbXB0eSAqL1xuLyogc3R5bGVsaW50LWVuYWJsZSAqL1xuLyoqXG4gKiBCcmVha3BvaW50IGNvbXBvbmVudCB1c2VkIGJ5IGluY2x1ZGUtbWVkaWEgdmVuZG9yIGxpYnJhcnkuXG4gKi9cbkB1c2UgJ3Nhc3M6bWFwJztcbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuLyoqXG4gKiBCcmVha3BvaW50IGNvbXBvbmVudCB1c2VkIGJ5IGluY2x1ZGUtbWVkaWEgdmVuZG9yIGxpYnJhcnkuXG4gKi9cbkB1c2UgJ3Nhc3M6bWFwJztcbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuLyoqXG4gKiBFeHRyYWN0cyBuZXN0ZWQga2V5cyBmcm9tIGdpdmVuIG1hcC5cbiAqIEV4YW1wbGU6IGRlZXAtZ2V0KCRzb21lLW1hcCwgc29tZSwgbmVzdGVkLCBrZXlzKTtcbiAqL1xuLyoqXG4gKiBCcmVha3BvaW50IGNvbXBvbmVudCB1c2VkIGJ5IGluY2x1ZGUtbWVkaWEgdmVuZG9yIGxpYnJhcnkuXG4gKi9cbkB1c2UgJ3Nhc3M6bWFwJztcbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuLypcbiAqIEZ1bmN0aW9uIHRvIGdldCB2YWx1ZSBmcm9tIGEgbGlzdCBvZiB2YWx1ZXMsIGJhc2VkIG9uIHNpZGVcbiAqIEBwYXJhbSB7c3RyaW5nfSAkdmFyaWFibGU6IHZhcmlhYmxlIHdpdGggYSBsaXN0IG9mIHZhbHVlcyAobGlrZSBwYWRkaW5ncywgbWFyZ2lucyBldGMuKTtcbiAqIEBwYXJhbSB7c3RyaW5nfSAkc2lkZTogc2lkZSAodXAgLyByaWdodCAvIGRvd24gLyBsZWZ0KSBmb3Igd2hpY2ggd2Ugd2FudCB0byBnZXQgdmFsdWVcbiAqIEV4YW1wbGU6XG4gKiAkY29tcG9uZW50X3BhZGRpbmc6IDFyZW0gMnJlbSAzcmVtO1xuICogZ2V0LXZhbHVlLWZyb20tbGlzdCgkY29tcG9uZW50X3BhZGRpbmcsICdyaWdodCcpIC8vIDJyZW1cbiAqIGdldC12YWx1ZS1mcm9tLWxpc3QoJGNvbXBvbmVudF9wYWRkaW5nLCAnYm90dG9tJykgLy8gM3JlbVxuICovXG4vKiBzdHlsZWxpbnQtZGlzYWJsZSBibG9jay1uby1lbXB0eSAqL1xuLyogc3R5bGVsaW50LWVuYWJsZSAqL1xuLyogc3R5bGVsaW50LWRpc2FibGUgYmxvY2stbm8tZW1wdHkgKi9cbi8qIHN0eWxlbGludC1lbmFibGUgKi9cbi8qIFJhZGlvIGFuZCBjaGVja2JveCBzdHlsaW5nICovXG4vKipcbiAqIEJyZWFrcG9pbnQgY29tcG9uZW50IHVzZWQgYnkgaW5jbHVkZS1tZWRpYSB2ZW5kb3IgbGlicmFyeS5cbiAqL1xuQHVzZSAnc2FzczptYXAnO1xuLyoqXG4gKiBFeHRyYWN0cyBuZXN0ZWQga2V5cyBmcm9tIGdpdmVuIG1hcC5cbiAqIEV4YW1wbGU6IGRlZXAtZ2V0KCRzb21lLW1hcCwgc29tZSwgbmVzdGVkLCBrZXlzKTtcbiAqL1xuLyoqXG4qIERlZmF1bHQgcHJvamVjdCBicmVha3BvaW50cyAtIFtlbV1cbiovXG4vKiBzdHlsZWxpbnQtZGlzYWJsZSBibG9jay1uby1lbXB0eSAqL1xuLyogc3R5bGVsaW50LWVuYWJsZSAqL1xuLyoqXG4gKiBCcmVha3BvaW50IGNvbXBvbmVudCB1c2VkIGJ5IGluY2x1ZGUtbWVkaWEgdmVuZG9yIGxpYnJhcnkuXG4gKi9cbkB1c2UgJ3Nhc3M6bWFwJztcbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuLyoqXG4gKiBCcmVha3BvaW50IGNvbXBvbmVudCB1c2VkIGJ5IGluY2x1ZGUtbWVkaWEgdmVuZG9yIGxpYnJhcnkuXG4gKi9cbkB1c2UgJ3Nhc3M6bWFwJztcbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuLyoqXG4gKiBCcmVha3BvaW50IGNvbXBvbmVudCB1c2VkIGJ5IGluY2x1ZGUtbWVkaWEgdmVuZG9yIGxpYnJhcnkuXG4gKi9cbkB1c2UgJ3Nhc3M6bWFwJztcbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuLyoqXG4gKiBCcmVha3BvaW50IGNvbXBvbmVudCB1c2VkIGJ5IGluY2x1ZGUtbWVkaWEgdmVuZG9yIGxpYnJhcnkuXG4gKi9cbkB1c2UgJ3Nhc3M6bWFwJztcbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuLyoqKlxuICogUmVtb3ZlIGJyb3dzZXIncyBtYXJnaW5zLCBwYWRkaW5ncyBhbmQgbGlzdCBzdHlsZSBydWxlc1xuICovXG4uY3MtZGFzaGJvYXJkIHtcbiAgd2lkdGg6IDEwMCU7IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAuY3MtZGFzaGJvYXJkX19jb2x1bW5zIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICBhbGlnbi1pdGVtczogc3RyZXRjaDsgfVxuICAgICAgLmNzLWRhc2hib2FyZF9fY29sdW1uczpiZWZvcmUsIC5jcy1kYXNoYm9hcmRfX2NvbHVtbnM6YWZ0ZXIge1xuICAgICAgICBkaXNwbGF5OiBub25lOyB9IH1cbiAgLmNzLWRhc2hib2FyZF9fbWVzc2FnZXMge1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gIC5jcy1kYXNoYm9hcmRfX3NpZGViYXIge1xuICAgIG9yZGVyOiAxOyB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgIC5jcy1kYXNoYm9hcmRfX3NpZGViYXIge1xuICAgICAgICB3aWR0aDogY2FsYygxMDAlIC8gMyk7XG4gICAgICAgIHBhZGRpbmc6IDAgMS41cmVtIDAgMDsgfSB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgIC5jcy1kYXNoYm9hcmRfX3NpZGViYXIge1xuICAgICAgICB3aWR0aDogY2FsYygxMDAlIC8gMyk7XG4gICAgICAgIHBhZGRpbmc6IDAgMS41cmVtIDAgMDsgfSB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDgwZW0pIHtcbiAgICAgIC5jcy1kYXNoYm9hcmRfX3NpZGViYXIge1xuICAgICAgICB3aWR0aDogY2FsYygxMDAlIC8gNCk7IH0gfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA5MGVtKSB7XG4gICAgICAuY3MtZGFzaGJvYXJkX19zaWRlYmFyIHtcbiAgICAgICAgd2lkdGg6IGNhbGMoMTAwJSAvIDQpOyB9IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogMTIwZW0pIHtcbiAgICAgIC5jcy1kYXNoYm9hcmRfX3NpZGViYXIge1xuICAgICAgICB3aWR0aDogY2FsYygxMDAlIC8gNCk7IH0gfVxuICAuY3MtZGFzaGJvYXJkX19tYWluIHtcbiAgICBvcmRlcjogMjsgfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAuY3MtZGFzaGJvYXJkX19tYWluIHtcbiAgICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtICgxMDAlIC8gMykpO1xuICAgICAgICBwYWRkaW5nOiAxLjVyZW0gMCAwIDEuNXJlbTsgfSB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgIC5jcy1kYXNoYm9hcmRfX21haW4ge1xuICAgICAgICB3aWR0aDogY2FsYygxMDAlIC0gKDEwMCUgLyAzKSk7XG4gICAgICAgIHBhZGRpbmc6IDEuNXJlbSAwIDAgMS41cmVtOyB9IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogODBlbSkge1xuICAgICAgLmNzLWRhc2hib2FyZF9fbWFpbiB7XG4gICAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAoMTAwJSAvIDQpKTsgfSB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDkwZW0pIHtcbiAgICAgIC5jcy1kYXNoYm9hcmRfX21haW4ge1xuICAgICAgICB3aWR0aDogY2FsYygxMDAlIC0gKDEwMCUgLyA0KSk7IH0gfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiAxMjBlbSkge1xuICAgICAgLmNzLWRhc2hib2FyZF9fbWFpbiB7XG4gICAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAoMTAwJSAvIDQpKTsgfSB9XG4gIC5jcy1kYXNoYm9hcmQgLmNzLXBhZ2UtY2F0ZWdvcnlfX21haW4tLXNlYXJjaC1uby1yZXN1bHQge1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gIC5jcy1kYXNoYm9hcmRfX2NvbHVtbnMge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBtYXJnaW46IDNyZW0gMDsgfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAuY3MtZGFzaGJvYXJkX19jb2x1bW5zIHtcbiAgICAgICAgcGFkZGluZzogMCAwIDJyZW07IH0gfVxuICBAbWVkaWEgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5jcy1kYXNoYm9hcmRfX3NpZGViYXIge1xuICAgICAgcGFkZGluZzogMDsgfSB9XG4gIC5jcy1kYXNoYm9hcmRfX21haW4ge1xuICAgIG1hcmdpbi1ib3R0b206IDJyZW07XG4gICAgbWFyZ2luLXRvcDogMnJlbTtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94OyB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgIC5jcy1kYXNoYm9hcmRfX21haW4ge1xuICAgICAgICBwYWRkaW5nOiAwIDAgMCAzLjVyZW07XG4gICAgICAgIG1hcmdpbi10b3A6IDA7IH0gfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAud2lzaGxpc3QtaW5kZXgtaW5kZXgucGFnZS1sYXlvdXQtMWNvbHVtbiAuY3MtZGFzaGJvYXJkX19tYWluIHtcbiAgICAgICAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDsgfSB9XG4gIC5jcy1kYXNoYm9hcmRfX3RvcCB7XG4gICAgcGFkZGluZzogMCAwIDNyZW07IH1cbiAgLmNzLWRhc2hib2FyZCAucGFnZS10aXRsZSB7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDAgMCAxcmVtIDA7IH1cbiAgLmNzLWRhc2hib2FyZCAuY29sdW1ucyAuY29sdW1uLm1haW4ge1xuICAgIHBhZGRpbmc6IDA7IH1cbiAgLmNzLWRhc2hib2FyZCAubWVzc2FnZS1lcnJvcixcbiAgLmNzLWRhc2hib2FyZCAubWVzc2FnZS1zdWNjZXNzLFxuICAuY3MtZGFzaGJvYXJkIC5tZXNzYWdlLW5vdGljZSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMXJlbTsgfVxuICAuY3MtZGFzaGJvYXJkIC5wYWdlLXRpdGxlLXdyYXBwZXIge1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50OyB9XG4gIC5jcy1kYXNoYm9hcmRfX2JvdHRvbSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgIHBhZGRpbmctdG9wOiAycmVtO1xuICAgIGJvcmRlci10b3A6IDJweCBzb2xpZCAjZGNkY2RjOyB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgIC5jcy1kYXNoYm9hcmRfX2JvdHRvbSB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBwYWRkaW5nLXRvcDogM3JlbTsgfSB9XG4gIC5jcy1kYXNoYm9hcmRfX3dpc2hsaXN0LWxpbmUge1xuICAgIG1hcmdpbjogMDsgfVxuICAuY3MtZGFzaGJvYXJkX193aXNobGlzdC1wcm9kdWN0cy1ncmlkIHtcbiAgICBtYXJnaW46IDAgMCAzcmVtOyB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgIC5jcy1kYXNoYm9hcmRfX3dpc2hsaXN0LXByb2R1Y3RzLWdyaWQge1xuICAgICAgICBtYXJnaW46IDAgMCA0cmVtOyB9IH1cbiAgICAuY3MtZGFzaGJvYXJkX193aXNobGlzdC1wcm9kdWN0cy1ncmlkLS1za2lwLXNwYWNpbmcge1xuICAgICAgbWFyZ2luOiAwOyB9XG4gIC5jcy1kYXNoYm9hcmRfX3dpc2hsaXN0LWd1ZXN0LWNvZGUge1xuICAgIG92ZXJmbG93LXdyYXA6IGJyZWFrLXdvcmQ7IH1cbiAgLmNzLWRhc2hib2FyZF9fYm90dG9tLXdpc2hsaXN0IHtcbiAgICBtYXJnaW46IDAgMCAzcmVtO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgcGFkZGluZzogMDtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAuY3MtZGFzaGJvYXJkX19ib3R0b20td2lzaGxpc3Qge1xuICAgICAgICBtYXJnaW46IDAgMCA0cmVtOyB9IH1cbiAgICAuY3MtZGFzaGJvYXJkX19ib3R0b20td2lzaGxpc3QtLXNraXAtc3BhY2luZyB7XG4gICAgICBtYXJnaW46IDA7IH1cbiAgICAuY3MtZGFzaGJvYXJkX19ib3R0b20td2lzaGxpc3QtaXRlbSB7XG4gICAgICB3aWR0aDogMTAwJTsgfVxuICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDMwZW0pIHtcbiAgICAgICAgLmNzLWRhc2hib2FyZF9fYm90dG9tLXdpc2hsaXN0LWl0ZW0ge1xuICAgICAgICAgIHdpZHRoOiA1MCU7IH0gfVxuICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgICAgLmNzLWRhc2hib2FyZF9fYm90dG9tLXdpc2hsaXN0LWl0ZW0ge1xuICAgICAgICAgIHdpZHRoOiAzMy4zMyU7IH0gfVxuICAgICAgLmNzLWRhc2hib2FyZF9fYm90dG9tLXdpc2hsaXN0LWl0ZW06bnRoLWNoaWxkKG4gKyA0KSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgLmNzLWRhc2hib2FyZF9fbG9naW4ge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsgfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAuY3MtZGFzaGJvYXJkX19sb2dpbiB7XG4gICAgICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICAgICAgICBwYWRkaW5nOiAwOyB9IH1cbiAgICAuY3MtZGFzaGJvYXJkX19sb2dpbi1zZWN0aW9uIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgbWFyZ2luLWJvdHRvbTogMnJlbTsgfVxuICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgICAgLmNzLWRhc2hib2FyZF9fbG9naW4tc2VjdGlvbiB7XG4gICAgICAgICAgd2lkdGg6IDUwJTsgfVxuICAgICAgICAgIC5jcy1kYXNoYm9hcmRfX2xvZ2luLXNlY3Rpb246bnRoLWNoaWxkKDJuICsgMSkge1xuICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMnJlbTsgfVxuICAgICAgICAgIC5jcy1kYXNoYm9hcmRfX2xvZ2luLXNlY3Rpb246bnRoLWNoaWxkKDJuICsgMikge1xuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAycmVtOyB9IH1cbiAgLmNzLWRhc2hib2FyZF9fY29udGFjdC1mb3JtIHtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbi1ib3R0b206IDJyZW07XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7IH1cbiAgLmNzLWRhc2hib2FyZCAuZmllbGRzZXQsXG4gIC5jcy1kYXNoYm9hcmQgLmZvcm0ge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1pbi13aWR0aDogMTVyZW0gIWltcG9ydGFudDsgfVxuICAuY3MtZGFzaGJvYXJkIC5maWVsZHNldCB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgYm9yZGVyOiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbWFyZ2luOiAwOyB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgIC5jcy1kYXNoYm9hcmQgLmZpZWxkc2V0IHtcbiAgICAgICAgbWF4LXdpZHRoOiBjYWxjKDEwMCUgLSAzcmVtKTsgfSB9XG4gIC5jcy1kYXNoYm9hcmQgLmZpZWxkc2V0LmZpZWxkc2V0LWZ1bGxuYW1lIHtcbiAgICBtYXgtd2lkdGg6IDEwMCU7IH1cbiAgLmNzLWRhc2hib2FyZCAuZmllbGQge1xuICAgIG1hcmdpbi1ib3R0b206IDFyZW07IH1cbiAgLmNzLWRhc2hib2FyZCAubGltaXRlciB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7IH1cbiAgLmNzLWRhc2hib2FyZCBzZWxlY3Qge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGZvbnQtc2l6ZTogMWVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjI3NWVtO1xuICAgIHBhZGRpbmc6IDAuNzVlbSAxZW07XG4gICAgcGFkZGluZy1yaWdodDogMi4zZW07XG4gICAgY29sb3I6ICM0NTVhNjQ7XG4gICAgYm9yZGVyLXJhZGl1czogMjAwcHg7XG4gICAgYm9yZGVyOiAycHggc29saWQgI2RjZGNkYztcbiAgICBib3gtc2hhZG93OiBub25lO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICBtYXJnaW46IDAgMCAwLjJlbTtcbiAgICBvdXRsaW5lOiAwO1xuICAgIGFwcGVhcmFuY2U6IG5vbmU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD1VVEYtOCwlM2NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2aWV3Qm94PScwIDAgMTYgOScgZmlsbD0nJTIzZGNkY2RjJyUzZSUzY3BhdGggZD0nTTAgMS4yQzAgLjUuNiAwIDEuMiAwYy4zIDAgLjYuMS44LjNsNiA1LjkgNi01LjljLjUtLjQgMS4yLS4zIDEuNy4xLjQuNC40IDEuMSAwIDEuNUw4LjkgOC43Yy0uNS40LTEuMi40LTEuNyAwTC40IDJhLjkuOSAwIDAgMS0uNC0uOHonLyUzZSUzYy9zdmclM2VcIiksIGxpbmVhci1ncmFkaWVudCgwZGVnLCB0cmFuc3BhcmVudCAwJSwgdHJhbnNwYXJlbnQgMTAwJSk7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdCwgcmVwZWF0O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IHJpZ2h0IDAuOGVtIHRvcCA1MiUsIDAgMDtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IDAuN2VtIGF1dG8sIDEwMCU7XG4gICAgdHJhbnNpdGlvbjogYm9yZGVyLWNvbG9yIDAuNXM7IH1cbiAgICAuY3MtZGFzaGJvYXJkIHNlbGVjdDotbW96LWZvY3VzcmluZywgLmNzLWRhc2hib2FyZCBzZWxlY3Q6Oi1tb3otZm9jdXMtaW5uZXIge1xuICAgICAgY29sb3I6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG4gICAgICB0ZXh0LXNoYWRvdzogMCAwIDAgIzAwMCAhaW1wb3J0YW50OyB9XG4gICAgLmNzLWRhc2hib2FyZCBzZWxlY3Q6aG92ZXI6bm90KFtkaXNhYmxlZF0pLCAuY3MtZGFzaGJvYXJkIHNlbGVjdDpmb2N1czpub3QoW2Rpc2FibGVkXSkge1xuICAgICAgYm9yZGVyOiAycHggc29saWQgIzdlNTdjMjtcbiAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD1VVEYtOCwlM2NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2aWV3Qm94PScwIDAgMTYgOScgZmlsbD0nJTIzN2U1N2MyJyUzZSUzY3BhdGggZD0nTTAgMS4yQzAgLjUuNiAwIDEuMiAwYy4zIDAgLjYuMS44LjNsNiA1LjkgNi01LjljLjUtLjQgMS4yLS4zIDEuNy4xLjQuNC40IDEuMSAwIDEuNUw4LjkgOC43Yy0uNS40LTEuMi40LTEuNyAwTC40IDJhLjkuOSAwIDAgMS0uNC0uOHonLyUzZSUzYy9zdmclM2VcIiksIGxpbmVhci1ncmFkaWVudCgwZGVnLCB0cmFuc3BhcmVudCAwJSwgdHJhbnNwYXJlbnQgMTAwJSk7IH1cbiAgICAuY3MtZGFzaGJvYXJkIHNlbGVjdFtkaXNhYmxlZF0ge1xuICAgICAgb3BhY2l0eTogMC42NTsgfVxuICAgIC5jcy1kYXNoYm9hcmQgc2VsZWN0IG9wdGlvbiB7XG4gICAgICBmb250LXdlaWdodDogNTAwO1xuICAgICAgcGFkZGluZzogMDtcbiAgICAgIGNvbG9yOiBpbml0aWFsOyB9XG4gIC5jcy1kYXNoYm9hcmQgLmNob2ljZSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgICBmbGV4LXdyYXA6IHdyYXA7IH1cbiAgICAuY3MtZGFzaGJvYXJkIC5jaG9pY2UgLmxhYmVsIHtcbiAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgICAgIGZvbnQtc2l6ZTogMS40cmVtOyB9XG4gICAgLmNzLWRhc2hib2FyZCAuY2hvaWNlIC5jaGVja2JveCB7XG4gICAgICBtYXJnaW4tdG9wOiAwLjJyZW07IH1cbiAgLmNzLWRhc2hib2FyZCAuZmllbGQtbmFtZS1wcmVmaXgge1xuICAgIG1heC13aWR0aDogMTJyZW07IH1cbiAgLmNzLWRhc2hib2FyZCAucHJpbWFyeSA+IGJ1dHRvbixcbiAgLmNzLWRhc2hib2FyZCAucHJpbWFyeSAuY3JlYXRlIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgZm9udC1zaXplOiAxLjhyZW07XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjI3NWVtO1xuICAgIG1hcmdpbjogMDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgICBwYWRkaW5nOiAwLjc1ZW0gMWVtO1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjVzLCBib3JkZXItY29sb3IgMC41cywgZmlsbCAwLjVzLCBjb2xvciAwLjVzO1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgei1pbmRleDogNTtcbiAgICBtaW4td2lkdGg6IDEycmVtOyB9XG4gICAgLmNzLWRhc2hib2FyZCAucHJpbWFyeSA+IGJ1dHRvbjo6LW1vei1mb2N1cy1pbm5lcixcbiAgICAuY3MtZGFzaGJvYXJkIC5wcmltYXJ5IC5jcmVhdGU6Oi1tb3otZm9jdXMtaW5uZXIge1xuICAgICAgYm9yZGVyOiAwO1xuICAgICAgcGFkZGluZzogMDtcbiAgICAgIG1hcmdpbjogMDsgfVxuICAgIC5jcy1kYXNoYm9hcmQgLnByaW1hcnkgPiBidXR0b24sIC5jcy1kYXNoYm9hcmQgLnByaW1hcnkgPiBidXR0b246dmlzaXRlZCxcbiAgICAuY3MtZGFzaGJvYXJkIC5wcmltYXJ5IC5jcmVhdGUsXG4gICAgLmNzLWRhc2hib2FyZCAucHJpbWFyeSAuY3JlYXRlOnZpc2l0ZWQge1xuICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgYm9yZGVyLXJhZGl1czogMjAwcHg7XG4gICAgICBvdXRsaW5lLW9mZnNldDogMXB4O1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgY29sb3I6ICNmZmY7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjN2U1N2MyOyB9XG4gICAgICAuY3MtZGFzaGJvYXJkIC5wcmltYXJ5ID4gYnV0dG9uICosIC5jcy1kYXNoYm9hcmQgLnByaW1hcnkgPiBidXR0b246dmlzaXRlZCAqLFxuICAgICAgLmNzLWRhc2hib2FyZCAucHJpbWFyeSAuY3JlYXRlICosXG4gICAgICAuY3MtZGFzaGJvYXJkIC5wcmltYXJ5IC5jcmVhdGU6dmlzaXRlZCAqIHtcbiAgICAgICAgY29sb3I6ICNmZmY7XG4gICAgICAgIGZpbGw6ICNmZmY7IH1cbiAgICAuY3MtZGFzaGJvYXJkIC5wcmltYXJ5ID4gYnV0dG9uOmhvdmVyOm5vdChbZGlzYWJsZWRdKSwgLmNzLWRhc2hib2FyZCAucHJpbWFyeSA+IGJ1dHRvbjpmb2N1czpub3QoW2Rpc2FibGVkXSksIC5jcy1kYXNoYm9hcmQgLnByaW1hcnkgPiBidXR0b246YWN0aXZlOm5vdChbZGlzYWJsZWRdKSxcbiAgICAuY3MtZGFzaGJvYXJkIC5wcmltYXJ5IC5jcmVhdGU6aG92ZXI6bm90KFtkaXNhYmxlZF0pLFxuICAgIC5jcy1kYXNoYm9hcmQgLnByaW1hcnkgLmNyZWF0ZTpmb2N1czpub3QoW2Rpc2FibGVkXSksXG4gICAgLmNzLWRhc2hib2FyZCAucHJpbWFyeSAuY3JlYXRlOmFjdGl2ZTpub3QoW2Rpc2FibGVkXSkge1xuICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICAgIG91dGxpbmU6IG5vbmU7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzRkMmM5MTsgfVxuICAgICAgLmNzLWRhc2hib2FyZCAucHJpbWFyeSA+IGJ1dHRvbjpob3Zlcjpub3QoW2Rpc2FibGVkXSkgKiwgLmNzLWRhc2hib2FyZCAucHJpbWFyeSA+IGJ1dHRvbjpmb2N1czpub3QoW2Rpc2FibGVkXSkgKiwgLmNzLWRhc2hib2FyZCAucHJpbWFyeSA+IGJ1dHRvbjphY3RpdmU6bm90KFtkaXNhYmxlZF0pICosXG4gICAgICAuY3MtZGFzaGJvYXJkIC5wcmltYXJ5IC5jcmVhdGU6aG92ZXI6bm90KFtkaXNhYmxlZF0pICosXG4gICAgICAuY3MtZGFzaGJvYXJkIC5wcmltYXJ5IC5jcmVhdGU6Zm9jdXM6bm90KFtkaXNhYmxlZF0pICosXG4gICAgICAuY3MtZGFzaGJvYXJkIC5wcmltYXJ5IC5jcmVhdGU6YWN0aXZlOm5vdChbZGlzYWJsZWRdKSAqIHtcbiAgICAgICAgY29sb3I6ICNmZmY7XG4gICAgICAgIGZpbGw6ICNmZmY7IH1cbiAgICAuY3MtZGFzaGJvYXJkIC5wcmltYXJ5ID4gYnV0dG9uW2Rpc2FibGVkXSxcbiAgICAuY3MtZGFzaGJvYXJkIC5wcmltYXJ5IC5jcmVhdGVbZGlzYWJsZWRdIHtcbiAgICAgIG9wYWNpdHk6IDAuNjU7XG4gICAgICBjdXJzb3I6IGF1dG87IH1cbiAgICAud2lzaGxpc3QtaW5kZXgtaW5kZXggLmNzLWRhc2hib2FyZCAucHJpbWFyeSA+IGJ1dHRvbiwgLndpc2hsaXN0LWluZGV4LWluZGV4XG4gICAgLmNzLWRhc2hib2FyZCAucHJpbWFyeSAuY3JlYXRlIHtcbiAgICAgIHotaW5kZXg6IDE7IH1cbiAgICAuY3MtZGFzaGJvYXJkIC5wcmltYXJ5ID4gYnV0dG9uIHNwYW4sXG4gICAgLmNzLWRhc2hib2FyZCAucHJpbWFyeSAuY3JlYXRlIHNwYW4ge1xuICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgIHotaW5kZXg6IDE7XG4gICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgbGluZS1oZWlnaHQ6IDEuMjc1ZW07XG4gICAgICBsZXR0ZXItc3BhY2luZzogbm9ybWFsOyB9XG4gIC5jcy1kYXNoYm9hcmQgLnByaW1hcnkgPiBidXR0b24uYWN0aW9uLnVwZGF0ZSB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuICAuY3MtZGFzaGJvYXJkIC5yZW1pbmQsXG4gIC5jcy1kYXNoYm9hcmQgLmJhY2sge1xuICAgIGZvbnQtc2l6ZTogMS40cmVtO1xuICAgIG1hcmdpbi10b3A6IDAuN3JlbTtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH1cbiAgLmNzLWRhc2hib2FyZCAuY291bnRlciB7XG4gICAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTFyZW0pO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsgfVxuICAgIC5jcy1kYXNoYm9hcmQgLmNvdW50ZXI6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6ICcoJzsgfVxuICAgIC5jcy1kYXNoYm9hcmQgLmNvdW50ZXI6YWZ0ZXIge1xuICAgICAgY29udGVudDogJyknOyB9XG4gIC5jcy1kYXNoYm9hcmQgLmJsb2NrIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXJnaW46IDEuNXJlbSAwIDIuNXJlbTtcbiAgICBiYWNrZ3JvdW5kOiAjZmZmO1xuICAgIHBhZGRpbmc6IDEuNXJlbTtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIGJvcmRlci1yYWRpdXM6IDdweDsgfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAuY3MtZGFzaGJvYXJkIC5ibG9jayB7XG4gICAgICAgIG1hcmdpbjogMS41cmVtIDAgNHJlbTsgfSB9XG4gIC5jcy1kYXNoYm9hcmQgLmJsb2NrLXRpdGxlLFxuICAuY3MtZGFzaGJvYXJkIC5sZWdlbmQsXG4gIC5jcy1kYXNoYm9hcmQgLm9yZGVyLXRpdGxlIHtcbiAgICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICAgIHBhZGRpbmctYm90dG9tOiAwLjhyZW07XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICBmb250LXNpemU6IDEuOHJlbTtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAgIC5jcy1kYXNoYm9hcmQgLmJsb2NrLXRpdGxlIHN0cm9uZyxcbiAgICAuY3MtZGFzaGJvYXJkIC5sZWdlbmQgc3Ryb25nLFxuICAgIC5jcy1kYXNoYm9hcmQgLm9yZGVyLXRpdGxlIHN0cm9uZyB7XG4gICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgbWFyZ2luLXJpZ2h0OiAxcmVtOyB9XG4gIC5jcy1kYXNoYm9hcmQgLnRhYmxlLXdyYXBwZXIge1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gIC5jcy1kYXNoYm9hcmQgLmJsb2NrLXRpdGxlIGEge1xuICAgIGZvbnQtd2VpZ2h0OiAzMDA7XG4gICAgZm9udC1zaXplOiAxLjRyZW07XG4gICAgdmVydGljYWwtYWxpZ246IHRleHQtYm90dG9tO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7IH1cbiAgLmNzLWRhc2hib2FyZCAuYm94LXRpdGxlIHtcbiAgICBmb250LXNpemU6IDEuMXJlbTtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IH1cbiAgLmNzLWRhc2hib2FyZCAuYmxvY2stY29udGVudCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgIG1hcmdpbjogMnJlbSAwIDA7IH1cbiAgICBAbWVkaWEgKG1heC13aWR0aDogNjMuOTllbSkge1xuICAgICAgLnNhbGVzLW9yZGVyLWhpc3RvcnkgLmNzLWRhc2hib2FyZCAuYmxvY2stY29udGVudCB7XG4gICAgICAgIG1hcmdpbi10b3A6IDA7IH0gfVxuICAgIC5jcy1kYXNoYm9hcmQgLmJsb2NrLWNvbnRlbnQubm8tZGlzcGxheSB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9XG4gIC5jcy1kYXNoYm9hcmQgLmJsb2NrLW5ldy1jdXN0b21lciAuYmxvY2stY29udGVudCB7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgfVxuICAgIC5jcy1kYXNoYm9hcmQgLmJsb2NrLW5ldy1jdXN0b21lciAuYmxvY2stY29udGVudCAuZmllbGRzZXQge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMXJlbTsgfVxuICBAbWVkaWEgKG1heC13aWR0aDogNjMuOTllbSkge1xuICAgIC5jcy1kYXNoYm9hcmQgLmJsb2NrLXJld2FyZC1oaXN0b3J5IC5jcy10b29sYmFyX19pdGVtLS1hbW91bnQge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgfSB9XG4gIC5jcy1kYXNoYm9hcmQgLmJsb2NrLXJld2FyZC1oaXN0b3J5IC5jcy10b29sYmFyX19pdGVtLS1hbW91bnQ6bnRoLWNoaWxkKDEpIHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG4gIEBtZWRpYSAobWF4LXdpZHRoOiA2My45OWVtKSB7XG4gICAgLmNzLWRhc2hib2FyZCAuYmxvY2stcmV3YXJkLWhpc3RvcnkgLnBhZ2VzIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgbWFyZ2luOiAwLjdyZW0gMCAycmVtOyB9IH1cbiAgLmNzLWRhc2hib2FyZCAuYmxvY2stcmV3YXJkLWhpc3RvcnkgLnBhZ2VzOm50aC1jaGlsZCgyKSB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuICBAbWVkaWEgKG1heC13aWR0aDogNjMuOTllbSkge1xuICAgIC5jcy1kYXNoYm9hcmQgLmJsb2NrLXJld2FyZC1oaXN0b3J5IC5jcy10b29sYmFyX19pdGVtLS1saW1pdGVyIHtcbiAgICAgIG1hcmdpbjogMCBhdXRvOyB9IH1cbiAgLmNzLWRhc2hib2FyZCAuYmxvY2stcmV3YXJkLWhpc3RvcnkgLmNzLXRvb2xiYXJfX2l0ZW0tLWxpbWl0ZXI6bnRoLWNoaWxkKDMpIHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG4gIC5jcy1kYXNoYm9hcmQgLmJveC1hY3Rpb25zIGEgKyBhOmJlZm9yZSxcbiAgLmNzLWRhc2hib2FyZCAuYWN0aW9ucyBhICsgYTpiZWZvcmUge1xuICAgIG1hcmdpbjogMCAwLjdyZW0gMCAwLjVyZW07XG4gICAgY29udGVudDogJyc7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHdpZHRoOiAxcHg7XG4gICAgaGVpZ2h0OiAxLjJyZW07XG4gICAgYm9yZGVyLXJpZ2h0OiAycHggc29saWQgI2RjZGNkYzsgfVxuICAuY3MtZGFzaGJvYXJkIC5ib3gtYWN0aW9ucyBhLFxuICAuY3MtZGFzaGJvYXJkIC5hY3Rpb25zIGEge1xuICAgIGZvbnQtd2VpZ2h0OiAzMDA7IH1cbiAgLmNzLWRhc2hib2FyZCAudGFibGUtd3JhcHBlcixcbiAgLmNzLWRhc2hib2FyZCAub3JkZXJzLWhpc3RvcnksXG4gIC5jcy1kYXNoYm9hcmQgLmZvcm0td2lzaGxpc3QtaXRlbXMge1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50OyB9XG4gICAgLmNzLWRhc2hib2FyZCAudGFibGUtd3JhcHBlciArIC50b29sYmFyLFxuICAgIC5jcy1kYXNoYm9hcmQgLnRhYmxlLXdyYXBwZXIgKyAuYWN0aW9ucy10b29sYmFyLFxuICAgIC5jcy1kYXNoYm9hcmQgLm9yZGVycy1oaXN0b3J5ICsgLnRvb2xiYXIsXG4gICAgLmNzLWRhc2hib2FyZCAub3JkZXJzLWhpc3RvcnkgKyAuYWN0aW9ucy10b29sYmFyLFxuICAgIC5jcy1kYXNoYm9hcmQgLmZvcm0td2lzaGxpc3QtaXRlbXMgKyAudG9vbGJhcixcbiAgICAuY3MtZGFzaGJvYXJkIC5mb3JtLXdpc2hsaXN0LWl0ZW1zICsgLmFjdGlvbnMtdG9vbGJhciB7XG4gICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICAgIHBhZGRpbmc6IDEuNXJlbTsgfVxuICAgIC5jcy1kYXNoYm9hcmQgLnRhYmxlLXdyYXBwZXIub3JkZXItaXRlbXMgKyAuYWN0aW9ucy10b29sYmFyLFxuICAgIC5jcy1kYXNoYm9hcmQgLm9yZGVycy1oaXN0b3J5Lm9yZGVyLWl0ZW1zICsgLmFjdGlvbnMtdG9vbGJhcixcbiAgICAuY3MtZGFzaGJvYXJkIC5mb3JtLXdpc2hsaXN0LWl0ZW1zLm9yZGVyLWl0ZW1zICsgLmFjdGlvbnMtdG9vbGJhciB7XG4gICAgICBwYWRkaW5nOiAwOyB9XG4gICAgLmNzLWRhc2hib2FyZCAudGFibGUtd3JhcHBlciArIC50b29sYmFyLFxuICAgIC5jcy1kYXNoYm9hcmQgLm9yZGVycy1oaXN0b3J5ICsgLnRvb2xiYXIsXG4gICAgLmNzLWRhc2hib2FyZCAuZm9ybS13aXNobGlzdC1pdGVtcyArIC50b29sYmFyIHtcbiAgICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgLmNzLWRhc2hib2FyZCAudGFibGUtd3JhcHBlciAuYWN0aW9uLFxuICAgIC5jcy1kYXNoYm9hcmQgLm9yZGVycy1oaXN0b3J5IC5hY3Rpb24sXG4gICAgLmNzLWRhc2hib2FyZCAuZm9ybS13aXNobGlzdC1pdGVtcyAuYWN0aW9uIHtcbiAgICAgIG1hcmdpbi1yaWdodDogMDsgfVxuICAuY3MtZGFzaGJvYXJkIC5mb3JtLXdpc2hsaXN0LWl0ZW1zIC5hY3Rpb25zLXRvb2xiYXIgLnByaW1hcnkge1xuICAgIG1hcmdpbi1ib3R0b206IDJyZW07IH1cbiAgICBAbWVkaWEgKG1heC13aWR0aDogNjRlbSkge1xuICAgICAgLmNzLWRhc2hib2FyZCAuZm9ybS13aXNobGlzdC1pdGVtcyAuYWN0aW9ucy10b29sYmFyIC5wcmltYXJ5IHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyB9XG4gICAgICAgIC5jcy1kYXNoYm9hcmQgLmZvcm0td2lzaGxpc3QtaXRlbXMgLmFjdGlvbnMtdG9vbGJhciAucHJpbWFyeSAuYWN0aW9uOmxhc3QtY2hpbGQge1xuICAgICAgICAgIG1hcmdpbi10b3A6IDFyZW07IH0gfVxuICAuY3MtZGFzaGJvYXJkIC5mb3JtLXB3YW5vdGlmaWNhdGlvbnMtbWFuYWdlIC5maWVsZHNldCB7XG4gICAgbWF4LXdpZHRoOiBpbml0aWFsICFpbXBvcnRhbnQ7IH1cbiAgLmNzLWRhc2hib2FyZCAuZm9ybS1wd2Fub3RpZmljYXRpb25zLW1hbmFnZSAuZmllbGQge1xuICAgIGZsZXgtd3JhcDogbm93cmFwOyB9XG4gIC5jcy1kYXNoYm9hcmQgLmZvcm0tcHdhbm90aWZpY2F0aW9ucy1tYW5hZ2UgLmFjdGlvbnMtdG9vbGJhciB7XG4gICAgbWFyZ2luLXRvcDogMnJlbTsgfVxuICAuY3MtZGFzaGJvYXJkIC5jcy10b29sYmFyX19pdGVtLS1hbW91bnQge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjsgfVxuICAuY3MtZGFzaGJvYXJkIC50b29sYmFyIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICBmbGV4LXdyYXA6IHdyYXA7IH1cbiAgICBAbWVkaWEgKG1heC13aWR0aDogNDcuOTllbSkge1xuICAgICAgLmNzLWRhc2hib2FyZCAudG9vbGJhciB7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7IH0gfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA2My45OWVtKSB7XG4gICAgICAuY3MtZGFzaGJvYXJkIC50b29sYmFyIHtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgfSB9XG4gICAgLmNzLWRhc2hib2FyZCAudG9vbGJhcjo6YWZ0ZXIsIC5jcy1kYXNoYm9hcmQgLnRvb2xiYXI6OmJlZm9yZSB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDYzLjk5ZW0pIHtcbiAgICAgIC5jcy1kYXNoYm9hcmQgLnRvb2xiYXIgLmNzLXRvb2xiYXJfX2l0ZW0ge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgbWFyZ2luOiBhdXRvOyB9XG4gICAgICAgIC5jcy1kYXNoYm9hcmQgLnRvb2xiYXIgLmNzLXRvb2xiYXJfX2l0ZW0gcCB7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogMXJlbTsgfSB9XG4gICAgLmNzLWRhc2hib2FyZCAudG9vbGJhciAuY3MtdG9vbGJhcl9faXRlbS0tYW1vdW50IHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDEuNXJlbTsgfVxuICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgICAgLmNzLWRhc2hib2FyZCAudG9vbGJhciAuY3MtdG9vbGJhcl9faXRlbS0tYW1vdW50IHtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwOyB9IH1cbiAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiA0Ny45OWVtKSB7XG4gICAgICAgIC5jcy1kYXNoYm9hcmQgLnRvb2xiYXIgLmNzLXRvb2xiYXJfX2l0ZW0tLWFtb3VudCB7XG4gICAgICAgICAgcGFkZGluZy1ib3R0b206IDA7IH0gfVxuICAgICAgLmNzLWRhc2hib2FyZCAudG9vbGJhciAuY3MtdG9vbGJhcl9faXRlbS0tYW1vdW50ICsgLmNzLXRvb2xiYXJfX2l0ZW0tLWxpbWl0ZXIge1xuICAgICAgICBtYXJnaW4tdG9wOiAwOyB9XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDYzLjk5ZW0pIHtcbiAgICAgIC5jcy1kYXNoYm9hcmQgLnRvb2xiYXIgLmNzLXRvb2xiYXJfX2l0ZW0tLWxpbWl0ZXIge1xuICAgICAgICBtYXJnaW4tdG9wOiAyLjVyZW07IH0gfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAuY3MtZGFzaGJvYXJkIC50b29sYmFyIC5jcy10b29sYmFyX19pdGVtLS1saW1pdGVyIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDsgfSB9XG4gICAgLmNzLWRhc2hib2FyZCAudG9vbGJhciAudG9vbGJhci1hbW91bnQge1xuICAgICAgcGFkZGluZy10b3A6IDA7XG4gICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDQ3Ljk5ZW0pIHtcbiAgICAgIC5jcy1kYXNoYm9hcmQgLnRvb2xiYXIgLnBhZ2VzIHtcbiAgICAgICAgbWFyZ2luOiAwIGF1dG87IH0gfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAuY3MtZGFzaGJvYXJkIC50b29sYmFyIC5wYWdlcyB7XG4gICAgICAgIHBvc2l0aW9uOiBzdGF0aWM7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICB3aWR0aDogYXV0bzsgfSB9XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDQ3Ljk5ZW0pIHtcbiAgICAgIC5jcy1kYXNoYm9hcmQgLnRvb2xiYXIgLmxpbWl0ZXIge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgfSB9XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDQ3Ljk5ZW0pIHtcbiAgICAgIC5jcy1kYXNoYm9hcmQgLnRvb2xiYXIgLmxpbWl0ZXIgLmxhYmVsIHtcbiAgICAgICAgd2lkdGg6IGF1dG87IH0gfVxuICAgIC5jcy1kYXNoYm9hcmQgLnRvb2xiYXIud2lzaGxpc3QtdG9vbGJhciBiciB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9XG4gIC5jcy1kYXNoYm9hcmQgLmFjdGlvbnMtdG9vbGJhciA+IC5zZWNvbmRhcnkgLmFjdGlvbi5iYWNrLFxuICAuY3MtZGFzaGJvYXJkIC5zZWNvbmRhcnkgLmFjdGlvbi5lZGl0LWVtYWlsLXByZWZlcmVuY2VzIHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgLnJldmlldy1jdXN0b21lci12aWV3IC5jcy1kYXNoYm9hcmQgLmFjdGlvbnMtdG9vbGJhciA+IC5zZWNvbmRhcnkgLmFjdGlvbi5iYWNrLCAucmV2aWV3LWN1c3RvbWVyLXZpZXdcbiAgICAuY3MtZGFzaGJvYXJkIC5zZWNvbmRhcnkgLmFjdGlvbi5lZGl0LWVtYWlsLXByZWZlcmVuY2VzIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gIC5jcy1kYXNoYm9hcmQgLmJveCxcbiAgLmNzLWRhc2hib2FyZCAuYWRkcmVzc2VzIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94OyB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDMwZW0pIHtcbiAgICAgIC5jcy1kYXNoYm9hcmQgLmJveCxcbiAgICAgIC5jcy1kYXNoYm9hcmQgLmFkZHJlc3NlcyB7XG4gICAgICAgIHdpZHRoOiA0OCU7IH0gfVxuICAuY3MtZGFzaGJvYXJkIC5ib3gtY29udGVudCxcbiAgLmNzLWRhc2hib2FyZCAuYWRkcmVzc2VzIC5pdGVtIHtcbiAgICBmb250LXdlaWdodDogMzAwO1xuICAgIGNvbG9yOiAjNjk2OTY5O1xuICAgIGxpbmUtaGVpZ2h0OiAyLjVyZW07XG4gICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICAuY3MtZGFzaGJvYXJkIC50b29sdGlwLndyYXBwZXIge1xuICAgIGZvbnQtc2l6ZTogMS40cmVtO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBwYWRkaW5nLWxlZnQ6IDAuNXJlbTsgfVxuICAuY3MtZGFzaGJvYXJkIC5jaG9pY2UucGVyc2lzdGVudCB7XG4gICAgcGFkZGluZy1ib3R0b206IDEuNXJlbTsgfVxuICBAbWVkaWEgKG1heC13aWR0aDogNjMuOTllbSkge1xuICAgIC5jcy1kYXNoYm9hcmQgLnRhYmxlLW9yZGVyLWl0ZW1zIC5jcy10YWJsZV9fY29sOmxhc3QtY2hpbGQge1xuICAgICAgcGFkZGluZy1ib3R0b206IDJyZW07IH1cbiAgICAuY3MtZGFzaGJvYXJkIC50YWJsZS1vcmRlci1pdGVtcyAucHJpY2UtZXhjbHVkaW5nLXRheCxcbiAgICAuY3MtZGFzaGJvYXJkIC50YWJsZS1vcmRlci1pdGVtcyAucHJpY2UtaW5jbHVkaW5nLXRheCxcbiAgICAuY3MtZGFzaGJvYXJkIC50YWJsZS1vcmRlci1pdGVtcyAuaXRlbXMtcXR5LFxuICAgIC5jcy1kYXNoYm9hcmQgLnRhYmxlLW9yZGVyLWl0ZW1zIC5wcm9kdWN0LWl0ZW0tbmFtZSB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgbWFyZ2luOiAwO1xuICAgICAgY29sb3I6ICM2OTY5Njk7IH1cbiAgICAuY3MtZGFzaGJvYXJkIC50YWJsZS1vcmRlci1pdGVtcyAuY3MtY2FydC1pdGVtX19vcHRpb25zLWxhYmVsIHtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICAgICAgd2lkdGg6IGF1dG87XG4gICAgICBtYXJnaW4tcmlnaHQ6IDFyZW07IH1cbiAgICAgIC5jcy1kYXNoYm9hcmQgLnRhYmxlLW9yZGVyLWl0ZW1zIC5jcy1jYXJ0LWl0ZW1fX29wdGlvbnMtbGFiZWw6YWZ0ZXIge1xuICAgICAgICBjb250ZW50OiAnOic7IH1cbiAgICAuY3MtZGFzaGJvYXJkIC50YWJsZS1vcmRlci1pdGVtcyAuY3MtdGFibGVfX2NvbC5zdWJ0b3RhbCB7XG4gICAgICB0ZXh0LWFsaWduOiBsZWZ0OyB9XG4gICAgLmNzLWRhc2hib2FyZCAudGFibGUtb3JkZXItaXRlbXMgLnByaWNlLWV4Y2x1ZGluZy10YXggLnByaWNlIHtcbiAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7IH0gfVxuICAuY3MtZGFzaGJvYXJkIC50YWJsZS1vcmRlci1pdGVtcyAuaXRlbXMtcXR5IHtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcbiAgICBsaXN0LXN0eWxlOiBub25lOyB9XG4gICAgLmNzLWRhc2hib2FyZCAudGFibGUtb3JkZXItaXRlbXMgLml0ZW1zLXF0eSAuaXRlbSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwLjVyZW07IH1cbiAgICAgIC5jcy1kYXNoYm9hcmQgLnRhYmxlLW9yZGVyLWl0ZW1zIC5pdGVtcy1xdHkgLml0ZW06bGFzdC1jaGlsZCB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgLnNhbGVzLW9yZGVyLXZpZXcgLmNzLWRhc2hib2FyZCAuYWN0aW9ucyxcbiAgLnNhbGVzLW9yZGVyLWludm9pY2UgLmNzLWRhc2hib2FyZCAuYWN0aW9ucyxcbiAgLnNhbGVzLW9yZGVyLXNoaXBtZW50IC5jcy1kYXNoYm9hcmQgLmFjdGlvbnMge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbi10b3A6IDJyZW07XG4gICAgZGlzcGxheTogZmxleDsgfVxuICAuc2FsZXMtb3JkZXItdmlldyAuY3MtZGFzaGJvYXJkIC5hY3Rpb25zIC5vcmRlcixcbiAgLnNhbGVzLW9yZGVyLWludm9pY2UgLmNzLWRhc2hib2FyZCAuYWN0aW9ucyAub3JkZXIsXG4gIC5zYWxlcy1vcmRlci1zaGlwbWVudCAuY3MtZGFzaGJvYXJkIC5hY3Rpb25zIC5vcmRlciB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGZvbnQtc2l6ZTogMS44cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsaW5lLWhlaWdodDogMS4yNzVlbTtcbiAgICBtYXJnaW46IDA7XG4gICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gICAgcGFkZGluZzogMC43NWVtIDFlbTtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC41cywgYm9yZGVyLWNvbG9yIDAuNXMsIGZpbGwgMC41cywgY29sb3IgMC41cztcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgIHotaW5kZXg6IDU7XG4gICAgZm9udC1zaXplOiAxLjJyZW07XG4gICAgbWFyZ2luLXJpZ2h0OiAxcmVtO1xuICAgIG1hcmdpbi1ib3R0b206IDAuOHJlbTsgfVxuICAgIC5zYWxlcy1vcmRlci12aWV3IC5jcy1kYXNoYm9hcmQgLmFjdGlvbnMgLm9yZGVyOjotbW96LWZvY3VzLWlubmVyLFxuICAgIC5zYWxlcy1vcmRlci1pbnZvaWNlIC5jcy1kYXNoYm9hcmQgLmFjdGlvbnMgLm9yZGVyOjotbW96LWZvY3VzLWlubmVyLFxuICAgIC5zYWxlcy1vcmRlci1zaGlwbWVudCAuY3MtZGFzaGJvYXJkIC5hY3Rpb25zIC5vcmRlcjo6LW1vei1mb2N1cy1pbm5lciB7XG4gICAgICBib3JkZXI6IDA7XG4gICAgICBwYWRkaW5nOiAwO1xuICAgICAgbWFyZ2luOiAwOyB9XG4gICAgLnNhbGVzLW9yZGVyLXZpZXcgLmNzLWRhc2hib2FyZCAuYWN0aW9ucyAub3JkZXIsIC5zYWxlcy1vcmRlci12aWV3IC5jcy1kYXNoYm9hcmQgLmFjdGlvbnMgLm9yZGVyOnZpc2l0ZWQsXG4gICAgLnNhbGVzLW9yZGVyLWludm9pY2UgLmNzLWRhc2hib2FyZCAuYWN0aW9ucyAub3JkZXIsXG4gICAgLnNhbGVzLW9yZGVyLWludm9pY2UgLmNzLWRhc2hib2FyZCAuYWN0aW9ucyAub3JkZXI6dmlzaXRlZCxcbiAgICAuc2FsZXMtb3JkZXItc2hpcG1lbnQgLmNzLWRhc2hib2FyZCAuYWN0aW9ucyAub3JkZXIsXG4gICAgLnNhbGVzLW9yZGVyLXNoaXBtZW50IC5jcy1kYXNoYm9hcmQgLmFjdGlvbnMgLm9yZGVyOnZpc2l0ZWQge1xuICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgYm9yZGVyLXJhZGl1czogMjAwcHg7XG4gICAgICBvdXRsaW5lLW9mZnNldDogMXB4O1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgY29sb3I6ICNmZmY7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjN2U1N2MyOyB9XG4gICAgICAuc2FsZXMtb3JkZXItdmlldyAuY3MtZGFzaGJvYXJkIC5hY3Rpb25zIC5vcmRlciAqLCAuc2FsZXMtb3JkZXItdmlldyAuY3MtZGFzaGJvYXJkIC5hY3Rpb25zIC5vcmRlcjp2aXNpdGVkICosXG4gICAgICAuc2FsZXMtb3JkZXItaW52b2ljZSAuY3MtZGFzaGJvYXJkIC5hY3Rpb25zIC5vcmRlciAqLFxuICAgICAgLnNhbGVzLW9yZGVyLWludm9pY2UgLmNzLWRhc2hib2FyZCAuYWN0aW9ucyAub3JkZXI6dmlzaXRlZCAqLFxuICAgICAgLnNhbGVzLW9yZGVyLXNoaXBtZW50IC5jcy1kYXNoYm9hcmQgLmFjdGlvbnMgLm9yZGVyICosXG4gICAgICAuc2FsZXMtb3JkZXItc2hpcG1lbnQgLmNzLWRhc2hib2FyZCAuYWN0aW9ucyAub3JkZXI6dmlzaXRlZCAqIHtcbiAgICAgICAgY29sb3I6ICNmZmY7XG4gICAgICAgIGZpbGw6ICNmZmY7IH1cbiAgICAuc2FsZXMtb3JkZXItdmlldyAuY3MtZGFzaGJvYXJkIC5hY3Rpb25zIC5vcmRlcjpob3Zlcjpub3QoW2Rpc2FibGVkXSksIC5zYWxlcy1vcmRlci12aWV3IC5jcy1kYXNoYm9hcmQgLmFjdGlvbnMgLm9yZGVyOmZvY3VzOm5vdChbZGlzYWJsZWRdKSwgLnNhbGVzLW9yZGVyLXZpZXcgLmNzLWRhc2hib2FyZCAuYWN0aW9ucyAub3JkZXI6YWN0aXZlOm5vdChbZGlzYWJsZWRdKSxcbiAgICAuc2FsZXMtb3JkZXItaW52b2ljZSAuY3MtZGFzaGJvYXJkIC5hY3Rpb25zIC5vcmRlcjpob3Zlcjpub3QoW2Rpc2FibGVkXSksXG4gICAgLnNhbGVzLW9yZGVyLWludm9pY2UgLmNzLWRhc2hib2FyZCAuYWN0aW9ucyAub3JkZXI6Zm9jdXM6bm90KFtkaXNhYmxlZF0pLFxuICAgIC5zYWxlcy1vcmRlci1pbnZvaWNlIC5jcy1kYXNoYm9hcmQgLmFjdGlvbnMgLm9yZGVyOmFjdGl2ZTpub3QoW2Rpc2FibGVkXSksXG4gICAgLnNhbGVzLW9yZGVyLXNoaXBtZW50IC5jcy1kYXNoYm9hcmQgLmFjdGlvbnMgLm9yZGVyOmhvdmVyOm5vdChbZGlzYWJsZWRdKSxcbiAgICAuc2FsZXMtb3JkZXItc2hpcG1lbnQgLmNzLWRhc2hib2FyZCAuYWN0aW9ucyAub3JkZXI6Zm9jdXM6bm90KFtkaXNhYmxlZF0pLFxuICAgIC5zYWxlcy1vcmRlci1zaGlwbWVudCAuY3MtZGFzaGJvYXJkIC5hY3Rpb25zIC5vcmRlcjphY3RpdmU6bm90KFtkaXNhYmxlZF0pIHtcbiAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgICBvdXRsaW5lOiBub25lO1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgICBjb2xvcjogI2ZmZjtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICM0ZDJjOTE7IH1cbiAgICAgIC5zYWxlcy1vcmRlci12aWV3IC5jcy1kYXNoYm9hcmQgLmFjdGlvbnMgLm9yZGVyOmhvdmVyOm5vdChbZGlzYWJsZWRdKSAqLCAuc2FsZXMtb3JkZXItdmlldyAuY3MtZGFzaGJvYXJkIC5hY3Rpb25zIC5vcmRlcjpmb2N1czpub3QoW2Rpc2FibGVkXSkgKiwgLnNhbGVzLW9yZGVyLXZpZXcgLmNzLWRhc2hib2FyZCAuYWN0aW9ucyAub3JkZXI6YWN0aXZlOm5vdChbZGlzYWJsZWRdKSAqLFxuICAgICAgLnNhbGVzLW9yZGVyLWludm9pY2UgLmNzLWRhc2hib2FyZCAuYWN0aW9ucyAub3JkZXI6aG92ZXI6bm90KFtkaXNhYmxlZF0pICosXG4gICAgICAuc2FsZXMtb3JkZXItaW52b2ljZSAuY3MtZGFzaGJvYXJkIC5hY3Rpb25zIC5vcmRlcjpmb2N1czpub3QoW2Rpc2FibGVkXSkgKixcbiAgICAgIC5zYWxlcy1vcmRlci1pbnZvaWNlIC5jcy1kYXNoYm9hcmQgLmFjdGlvbnMgLm9yZGVyOmFjdGl2ZTpub3QoW2Rpc2FibGVkXSkgKixcbiAgICAgIC5zYWxlcy1vcmRlci1zaGlwbWVudCAuY3MtZGFzaGJvYXJkIC5hY3Rpb25zIC5vcmRlcjpob3Zlcjpub3QoW2Rpc2FibGVkXSkgKixcbiAgICAgIC5zYWxlcy1vcmRlci1zaGlwbWVudCAuY3MtZGFzaGJvYXJkIC5hY3Rpb25zIC5vcmRlcjpmb2N1czpub3QoW2Rpc2FibGVkXSkgKixcbiAgICAgIC5zYWxlcy1vcmRlci1zaGlwbWVudCAuY3MtZGFzaGJvYXJkIC5hY3Rpb25zIC5vcmRlcjphY3RpdmU6bm90KFtkaXNhYmxlZF0pICoge1xuICAgICAgICBjb2xvcjogI2ZmZjtcbiAgICAgICAgZmlsbDogI2ZmZjsgfVxuICAgIC5zYWxlcy1vcmRlci12aWV3IC5jcy1kYXNoYm9hcmQgLmFjdGlvbnMgLm9yZGVyW2Rpc2FibGVkXSxcbiAgICAuc2FsZXMtb3JkZXItaW52b2ljZSAuY3MtZGFzaGJvYXJkIC5hY3Rpb25zIC5vcmRlcltkaXNhYmxlZF0sXG4gICAgLnNhbGVzLW9yZGVyLXNoaXBtZW50IC5jcy1kYXNoYm9hcmQgLmFjdGlvbnMgLm9yZGVyW2Rpc2FibGVkXSB7XG4gICAgICBvcGFjaXR5OiAwLjY1O1xuICAgICAgY3Vyc29yOiBhdXRvOyB9XG4gICAgLnNhbGVzLW9yZGVyLXZpZXcgLmNzLWRhc2hib2FyZCAuYWN0aW9ucyAub3JkZXI6OmJlZm9yZSxcbiAgICAuc2FsZXMtb3JkZXItaW52b2ljZSAuY3MtZGFzaGJvYXJkIC5hY3Rpb25zIC5vcmRlcjo6YmVmb3JlLFxuICAgIC5zYWxlcy1vcmRlci1zaGlwbWVudCAuY3MtZGFzaGJvYXJkIC5hY3Rpb25zIC5vcmRlcjo6YmVmb3JlIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAuc2FsZXMtb3JkZXItdmlldyAuY3MtZGFzaGJvYXJkIC5hY3Rpb25zIC5vcmRlciBzcGFuLFxuICAgIC5zYWxlcy1vcmRlci1pbnZvaWNlIC5jcy1kYXNoYm9hcmQgLmFjdGlvbnMgLm9yZGVyIHNwYW4sXG4gICAgLnNhbGVzLW9yZGVyLXNoaXBtZW50IC5jcy1kYXNoYm9hcmQgLmFjdGlvbnMgLm9yZGVyIHNwYW4ge1xuICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgIHotaW5kZXg6IDE7XG4gICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgbGluZS1oZWlnaHQ6IDEuMjc1ZW07XG4gICAgICBsZXR0ZXItc3BhY2luZzogbm9ybWFsOyB9XG4gIC5zYWxlcy1vcmRlci12aWV3IC5jcy1kYXNoYm9hcmQgLmFjdGlvbnMgLnByaW50LFxuICAuc2FsZXMtb3JkZXItaW52b2ljZSAuY3MtZGFzaGJvYXJkIC5hY3Rpb25zIC5wcmludCxcbiAgLnNhbGVzLW9yZGVyLXNoaXBtZW50IC5jcy1kYXNoYm9hcmQgLmFjdGlvbnMgLnByaW50IHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgZm9udC1zaXplOiAxLjhyZW07XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjI3NWVtO1xuICAgIG1hcmdpbjogMDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgICBwYWRkaW5nOiAwLjc1ZW0gMWVtO1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjVzLCBib3JkZXItY29sb3IgMC41cywgZmlsbCAwLjVzLCBjb2xvciAwLjVzO1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgei1pbmRleDogNTtcbiAgICBmb250LXNpemU6IDEuMnJlbTtcbiAgICBtYXJnaW4tcmlnaHQ6IDFyZW07XG4gICAgbWFyZ2luLWJvdHRvbTogMC44cmVtOyB9XG4gICAgLnNhbGVzLW9yZGVyLXZpZXcgLmNzLWRhc2hib2FyZCAuYWN0aW9ucyAucHJpbnQ6Oi1tb3otZm9jdXMtaW5uZXIsXG4gICAgLnNhbGVzLW9yZGVyLWludm9pY2UgLmNzLWRhc2hib2FyZCAuYWN0aW9ucyAucHJpbnQ6Oi1tb3otZm9jdXMtaW5uZXIsXG4gICAgLnNhbGVzLW9yZGVyLXNoaXBtZW50IC5jcy1kYXNoYm9hcmQgLmFjdGlvbnMgLnByaW50OjotbW96LWZvY3VzLWlubmVyIHtcbiAgICAgIGJvcmRlcjogMDtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgICBtYXJnaW46IDA7IH1cbiAgICAuc2FsZXMtb3JkZXItdmlldyAuY3MtZGFzaGJvYXJkIC5hY3Rpb25zIC5wcmludCwgLnNhbGVzLW9yZGVyLXZpZXcgLmNzLWRhc2hib2FyZCAuYWN0aW9ucyAucHJpbnQ6dmlzaXRlZCxcbiAgICAuc2FsZXMtb3JkZXItaW52b2ljZSAuY3MtZGFzaGJvYXJkIC5hY3Rpb25zIC5wcmludCxcbiAgICAuc2FsZXMtb3JkZXItaW52b2ljZSAuY3MtZGFzaGJvYXJkIC5hY3Rpb25zIC5wcmludDp2aXNpdGVkLFxuICAgIC5zYWxlcy1vcmRlci1zaGlwbWVudCAuY3MtZGFzaGJvYXJkIC5hY3Rpb25zIC5wcmludCxcbiAgICAuc2FsZXMtb3JkZXItc2hpcG1lbnQgLmNzLWRhc2hib2FyZCAuYWN0aW9ucyAucHJpbnQ6dmlzaXRlZCB7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICBib3JkZXItcmFkaXVzOiAyMDBweDtcbiAgICAgIG91dGxpbmUtb2Zmc2V0OiAxcHg7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICBib3gtc2hhZG93OiBub25lO1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgIzdlNTdjMjtcbiAgICAgIGNvbG9yOiAjN2U1N2MyO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjsgfVxuICAgICAgLnNhbGVzLW9yZGVyLXZpZXcgLmNzLWRhc2hib2FyZCAuYWN0aW9ucyAucHJpbnQgKiwgLnNhbGVzLW9yZGVyLXZpZXcgLmNzLWRhc2hib2FyZCAuYWN0aW9ucyAucHJpbnQ6dmlzaXRlZCAqLFxuICAgICAgLnNhbGVzLW9yZGVyLWludm9pY2UgLmNzLWRhc2hib2FyZCAuYWN0aW9ucyAucHJpbnQgKixcbiAgICAgIC5zYWxlcy1vcmRlci1pbnZvaWNlIC5jcy1kYXNoYm9hcmQgLmFjdGlvbnMgLnByaW50OnZpc2l0ZWQgKixcbiAgICAgIC5zYWxlcy1vcmRlci1zaGlwbWVudCAuY3MtZGFzaGJvYXJkIC5hY3Rpb25zIC5wcmludCAqLFxuICAgICAgLnNhbGVzLW9yZGVyLXNoaXBtZW50IC5jcy1kYXNoYm9hcmQgLmFjdGlvbnMgLnByaW50OnZpc2l0ZWQgKiB7XG4gICAgICAgIGNvbG9yOiAjN2U1N2MyO1xuICAgICAgICBmaWxsOiAjN2U1N2MyOyB9XG4gICAgLnNhbGVzLW9yZGVyLXZpZXcgLmNzLWRhc2hib2FyZCAuYWN0aW9ucyAucHJpbnQ6aG92ZXI6bm90KFtkaXNhYmxlZF0pLCAuc2FsZXMtb3JkZXItdmlldyAuY3MtZGFzaGJvYXJkIC5hY3Rpb25zIC5wcmludDpmb2N1czpub3QoW2Rpc2FibGVkXSksIC5zYWxlcy1vcmRlci12aWV3IC5jcy1kYXNoYm9hcmQgLmFjdGlvbnMgLnByaW50OmFjdGl2ZTpub3QoW2Rpc2FibGVkXSksXG4gICAgLnNhbGVzLW9yZGVyLWludm9pY2UgLmNzLWRhc2hib2FyZCAuYWN0aW9ucyAucHJpbnQ6aG92ZXI6bm90KFtkaXNhYmxlZF0pLFxuICAgIC5zYWxlcy1vcmRlci1pbnZvaWNlIC5jcy1kYXNoYm9hcmQgLmFjdGlvbnMgLnByaW50OmZvY3VzOm5vdChbZGlzYWJsZWRdKSxcbiAgICAuc2FsZXMtb3JkZXItaW52b2ljZSAuY3MtZGFzaGJvYXJkIC5hY3Rpb25zIC5wcmludDphY3RpdmU6bm90KFtkaXNhYmxlZF0pLFxuICAgIC5zYWxlcy1vcmRlci1zaGlwbWVudCAuY3MtZGFzaGJvYXJkIC5hY3Rpb25zIC5wcmludDpob3Zlcjpub3QoW2Rpc2FibGVkXSksXG4gICAgLnNhbGVzLW9yZGVyLXNoaXBtZW50IC5jcy1kYXNoYm9hcmQgLmFjdGlvbnMgLnByaW50OmZvY3VzOm5vdChbZGlzYWJsZWRdKSxcbiAgICAuc2FsZXMtb3JkZXItc2hpcG1lbnQgLmNzLWRhc2hib2FyZCAuYWN0aW9ucyAucHJpbnQ6YWN0aXZlOm5vdChbZGlzYWJsZWRdKSB7XG4gICAgICBib3gtc2hhZG93OiBub25lO1xuICAgICAgb3V0bGluZTogbm9uZTtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICM0ZDJjOTE7XG4gICAgICBjb2xvcjogI2ZmZjtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICM0ZDJjOTE7IH1cbiAgICAgIC5zYWxlcy1vcmRlci12aWV3IC5jcy1kYXNoYm9hcmQgLmFjdGlvbnMgLnByaW50OmhvdmVyOm5vdChbZGlzYWJsZWRdKSAqLCAuc2FsZXMtb3JkZXItdmlldyAuY3MtZGFzaGJvYXJkIC5hY3Rpb25zIC5wcmludDpmb2N1czpub3QoW2Rpc2FibGVkXSkgKiwgLnNhbGVzLW9yZGVyLXZpZXcgLmNzLWRhc2hib2FyZCAuYWN0aW9ucyAucHJpbnQ6YWN0aXZlOm5vdChbZGlzYWJsZWRdKSAqLFxuICAgICAgLnNhbGVzLW9yZGVyLWludm9pY2UgLmNzLWRhc2hib2FyZCAuYWN0aW9ucyAucHJpbnQ6aG92ZXI6bm90KFtkaXNhYmxlZF0pICosXG4gICAgICAuc2FsZXMtb3JkZXItaW52b2ljZSAuY3MtZGFzaGJvYXJkIC5hY3Rpb25zIC5wcmludDpmb2N1czpub3QoW2Rpc2FibGVkXSkgKixcbiAgICAgIC5zYWxlcy1vcmRlci1pbnZvaWNlIC5jcy1kYXNoYm9hcmQgLmFjdGlvbnMgLnByaW50OmFjdGl2ZTpub3QoW2Rpc2FibGVkXSkgKixcbiAgICAgIC5zYWxlcy1vcmRlci1zaGlwbWVudCAuY3MtZGFzaGJvYXJkIC5hY3Rpb25zIC5wcmludDpob3Zlcjpub3QoW2Rpc2FibGVkXSkgKixcbiAgICAgIC5zYWxlcy1vcmRlci1zaGlwbWVudCAuY3MtZGFzaGJvYXJkIC5hY3Rpb25zIC5wcmludDpmb2N1czpub3QoW2Rpc2FibGVkXSkgKixcbiAgICAgIC5zYWxlcy1vcmRlci1zaGlwbWVudCAuY3MtZGFzaGJvYXJkIC5hY3Rpb25zIC5wcmludDphY3RpdmU6bm90KFtkaXNhYmxlZF0pICoge1xuICAgICAgICBjb2xvcjogI2ZmZjtcbiAgICAgICAgZmlsbDogI2ZmZjsgfVxuICAgIC5zYWxlcy1vcmRlci12aWV3IC5jcy1kYXNoYm9hcmQgLmFjdGlvbnMgLnByaW50W2Rpc2FibGVkXSxcbiAgICAuc2FsZXMtb3JkZXItaW52b2ljZSAuY3MtZGFzaGJvYXJkIC5hY3Rpb25zIC5wcmludFtkaXNhYmxlZF0sXG4gICAgLnNhbGVzLW9yZGVyLXNoaXBtZW50IC5jcy1kYXNoYm9hcmQgLmFjdGlvbnMgLnByaW50W2Rpc2FibGVkXSB7XG4gICAgICBvcGFjaXR5OiAwLjY1O1xuICAgICAgY3Vyc29yOiBhdXRvOyB9XG4gICAgLnNhbGVzLW9yZGVyLXZpZXcgLmNzLWRhc2hib2FyZCAuYWN0aW9ucyAucHJpbnQ6OmJlZm9yZSxcbiAgICAuc2FsZXMtb3JkZXItaW52b2ljZSAuY3MtZGFzaGJvYXJkIC5hY3Rpb25zIC5wcmludDo6YmVmb3JlLFxuICAgIC5zYWxlcy1vcmRlci1zaGlwbWVudCAuY3MtZGFzaGJvYXJkIC5hY3Rpb25zIC5wcmludDo6YmVmb3JlIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAuc2FsZXMtb3JkZXItdmlldyAuY3MtZGFzaGJvYXJkIC5hY3Rpb25zIC5wcmludCBzcGFuLFxuICAgIC5zYWxlcy1vcmRlci1pbnZvaWNlIC5jcy1kYXNoYm9hcmQgLmFjdGlvbnMgLnByaW50IHNwYW4sXG4gICAgLnNhbGVzLW9yZGVyLXNoaXBtZW50IC5jcy1kYXNoYm9hcmQgLmFjdGlvbnMgLnByaW50IHNwYW4ge1xuICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgIHotaW5kZXg6IDE7XG4gICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgbGluZS1oZWlnaHQ6IDEuMjc1ZW07XG4gICAgICBsZXR0ZXItc3BhY2luZzogbm9ybWFsOyB9XG4gIC5jcy1kYXNoYm9hcmQgLmJsb2NrLXJldmlld3MtZGFzaGJvYXJkIC5wcm9kdWN0LW5hbWUge1xuICAgIGZvbnQtd2VpZ2h0OiAzMDA7IH1cbiAgLmNzLWRhc2hib2FyZCAucmF0aW5nLXJlc3VsdCB7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgd2lkdGg6IGF1dG87IH1cbiAgICAuY3MtZGFzaGJvYXJkIC5yYXRpbmctcmVzdWx0OjpiZWZvcmUge1xuICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAuY3MtZGFzaGJvYXJkIC5yYXRpbmctc3VtbWFyeS5pdGVtIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIG92ZXJmbG93OiB2aXNpYmxlOyB9XG4gIC5jcy1kYXNoYm9hcmQgLmN1c3RvbWVyLXJldmlldyAucHJvZHVjdC1uYW1lIHtcbiAgICBmb250LWZhbWlseTogXCJEb3Npc1wiLCBzeXN0ZW0tdWksIC1hcHBsZS1zeXN0ZW0sIFNlZ29lIFVJLCBSb2JvdG8sIFVidW50dSwgQ2FudGFyZWxsLCBPeHlnZW4sIHNhbnMtc2VyaWYsIFwiQXBwbGUgQ29sb3IgRW1vamlcIiwgXCJTZWdvZSBVSSBFbW9qaVwiLCBcIlNlZ29lIFVJIFN5bWJvbFwiLCBcIk5vdG8gQ29sb3IgRW1vamlcIjtcbiAgICBmb250LXNpemU6IDEuNXJlbTtcbiAgICBsaW5lLWhlaWdodDogMS4xO1xuICAgIGNvbG9yOiAjNDU1YTY0O1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gICAgbWFyZ2luOiAxcmVtIDAgMnJlbTsgfVxuICAuY3MtZGFzaGJvYXJkIC5jdXN0b21lci1yZXZpZXcgLnJldmlldy10aXRsZSB7XG4gICAgZm9udC1mYW1pbHk6IFwiRG9zaXNcIiwgc3lzdGVtLXVpLCAtYXBwbGUtc3lzdGVtLCBTZWdvZSBVSSwgUm9ib3RvLCBVYnVudHUsIENhbnRhcmVsbCwgT3h5Z2VuLCBzYW5zLXNlcmlmLCBcIkFwcGxlIENvbG9yIEVtb2ppXCIsIFwiU2Vnb2UgVUkgRW1vamlcIiwgXCJTZWdvZSBVSSBTeW1ib2xcIiwgXCJOb3RvIENvbG9yIEVtb2ppXCI7XG4gICAgZm9udC1zaXplOiAxLjVyZW07XG4gICAgbGluZS1oZWlnaHQ6IDEuMTtcbiAgICBjb2xvcjogIzQ1NWE2NDtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICAgIG1hcmdpbjogMXJlbSAwIDJyZW07XG4gICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7IH1cbiAgLmNzLWRhc2hib2FyZCAuY3VzdG9tZXItcmV2aWV3LnZpZXcge1xuICAgIG1hcmdpbi1ib3R0b206IDJyZW07IH1cbiAgICAuY3MtZGFzaGJvYXJkIC5jdXN0b21lci1yZXZpZXcudmlldyAucmV2aWV3LnRpdGxlLFxuICAgIC5jcy1kYXNoYm9hcmQgLmN1c3RvbWVyLXJldmlldy52aWV3IC5yYXRpbmdzLXN1bW1hcnksXG4gICAgLmNzLWRhc2hib2FyZCAuY3VzdG9tZXItcmV2aWV3LnZpZXcgLnByb2R1Y3QtZGV0YWlscyB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAycmVtOyB9XG4gIC5jcy1kYXNoYm9hcmQgLmN1c3RvbWVyLXJldmlldyAucHJvZHVjdC1kZXRhaWxzIHtcbiAgICBtYXJnaW4tYm90dG9tOiA0cmVtOyB9XG4gIC5jcy1kYXNoYm9hcmQgLmN1c3RvbWVyLXJldmlldyAucHJvZHVjdC1tZWRpYSB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgbWFyZ2luLXJpZ2h0OiAzJTtcbiAgICBtYXgtd2lkdGg6IDI4LjVyZW07XG4gICAgd2lkdGg6IDMwJTsgfVxuICAuY3MtZGFzaGJvYXJkIC5jdXN0b21lci1yZXZpZXcgLnJldmlldy1kZXRhaWxzIC5jdXN0b21lci1yZXZpZXctcmF0aW5nIHtcbiAgICBtYXJnaW4tYm90dG9tOiAycmVtOyB9XG4gICAgLmNzLWRhc2hib2FyZCAuY3VzdG9tZXItcmV2aWV3IC5yZXZpZXctZGV0YWlscyAuY3VzdG9tZXItcmV2aWV3LXJhdGluZyAuaXRlbSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAxcmVtOyB9XG4gICAgICAuY3MtZGFzaGJvYXJkIC5jdXN0b21lci1yZXZpZXcgLnJldmlldy1kZXRhaWxzIC5jdXN0b21lci1yZXZpZXctcmF0aW5nIC5pdGVtOmxhc3QtY2hpbGQge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gIC5jcy1kYXNoYm9hcmQgLmN1c3RvbWVyLXJldmlldyAucmV2aWV3LWRldGFpbHMgLnJldmlldy10aXRsZSB7XG4gICAgbGluZS1oZWlnaHQ6IDEuMTtcbiAgICBmb250LXNpemU6IDEuOHJlbTtcbiAgICBtYXJnaW4tdG9wOiAxLjVyZW07XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICBtYXJnaW4tYm90dG9tOiAycmVtOyB9XG4gIC5jcy1kYXNoYm9hcmQgLmN1c3RvbWVyLXJldmlldyAucmV2aWV3LWRldGFpbHMgLnJldmlldy1jb250ZW50IHtcbiAgICBtYXJnaW4tYm90dG9tOiAycmVtOyB9XG4gIC5jcy1kYXNoYm9hcmQgLmN1c3RvbWVyLXJldmlldyAucHJvZHVjdC1yZXZpZXdzLXN1bW1hcnkgLnJhdGluZy1zdW1tYXJ5LFxuICAuY3MtZGFzaGJvYXJkIC5jdXN0b21lci1yZXZpZXcgLnByb2R1Y3QtcmV2aWV3cy1zdW1tYXJ5IC5yZXZpZXdzLWFjdGlvbnMge1xuICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gIC5jcy1kYXNoYm9hcmQgLmNyZWF0ZS1hY2NvdW50X19ib3gtYjJjLWIyYiB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIHBhZGRpbmctYm90dG9tOiAycmVtOyB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgIC5jcy1kYXNoYm9hcmQgLmNyZWF0ZS1hY2NvdW50X19ib3gtYjJjLWIyYiB7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7IH0gfVxuICAgIC5jcy1kYXNoYm9hcmQgLmNyZWF0ZS1hY2NvdW50X19ib3gtYjJjLWIyYiAuYjJjLWIyYl9ib3gge1xuICAgICAgbWFyZ2luLXRvcDogMC41cmVtOyB9XG4gICAgICBAbWVkaWEgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgICAuY3MtZGFzaGJvYXJkIC5jcmVhdGUtYWNjb3VudF9fYm94LWIyYy1iMmIgLmIyYy1iMmJfYm94IHtcbiAgICAgICAgICBtYXJnaW46IDFyZW07IH0gfVxuICAuY3MtZGFzaGJvYXJkIC5mb3JtLmNyZWF0ZS5hY2NvdW50LFxuICAuY3MtZGFzaGJvYXJkIC5mb3JtLWFkZHJlc3MtZWRpdCxcbiAgLmNzLWRhc2hib2FyZCAuZm9ybS1lZGl0LWFjY291bnQsXG4gIC5jcy1kYXNoYm9hcmQgLmZvcm0ucGFzc3dvcmQucmVzZXQsXG4gIC5jcy1kYXNoYm9hcmQgLmZvcm0uc2VuZC5jb25maXJtYXRpb24sXG4gIC5jcy1kYXNoYm9hcmQgLmZvcm0ucGFzc3dvcmQuZm9yZ2V0LFxuICAuY3MtZGFzaGJvYXJkICNhd19naWZ0Y2FyZF9fY2hlY2tfY29kZV9mb3JtIHtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICBwYWRkaW5nOiAxLjVyZW07XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgICBib3JkZXItcmFkaXVzOiA3cHg7IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgLmNzLWRhc2hib2FyZCAuZm9ybS5jcmVhdGUuYWNjb3VudCxcbiAgICAgIC5jcy1kYXNoYm9hcmQgLmZvcm0tYWRkcmVzcy1lZGl0LFxuICAgICAgLmNzLWRhc2hib2FyZCAuZm9ybS1lZGl0LWFjY291bnQsXG4gICAgICAuY3MtZGFzaGJvYXJkIC5mb3JtLnBhc3N3b3JkLnJlc2V0LFxuICAgICAgLmNzLWRhc2hib2FyZCAuZm9ybS5zZW5kLmNvbmZpcm1hdGlvbixcbiAgICAgIC5jcy1kYXNoYm9hcmQgLmZvcm0ucGFzc3dvcmQuZm9yZ2V0LFxuICAgICAgLmNzLWRhc2hib2FyZCAjYXdfZ2lmdGNhcmRfX2NoZWNrX2NvZGVfZm9ybSB7XG4gICAgICAgIHdpZHRoOiAxMDAlOyB9IH1cbiAgICAuY3MtZGFzaGJvYXJkIC5mb3JtLmNyZWF0ZS5hY2NvdW50IGJyLFxuICAgIC5jcy1kYXNoYm9hcmQgLmZvcm0tYWRkcmVzcy1lZGl0IGJyLFxuICAgIC5jcy1kYXNoYm9hcmQgLmZvcm0tZWRpdC1hY2NvdW50IGJyLFxuICAgIC5jcy1kYXNoYm9hcmQgLmZvcm0ucGFzc3dvcmQucmVzZXQgYnIsXG4gICAgLmNzLWRhc2hib2FyZCAuZm9ybS5zZW5kLmNvbmZpcm1hdGlvbiBicixcbiAgICAuY3MtZGFzaGJvYXJkIC5mb3JtLnBhc3N3b3JkLmZvcmdldCBicixcbiAgICAuY3MtZGFzaGJvYXJkICNhd19naWZ0Y2FyZF9fY2hlY2tfY29kZV9mb3JtIGJyIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAuY3MtZGFzaGJvYXJkIC5mb3JtLmNyZWF0ZS5hY2NvdW50IC5mdWxsbmFtZSAubGFiZWwsXG4gICAgLmNzLWRhc2hib2FyZCAuZm9ybS1hZGRyZXNzLWVkaXQgLmZ1bGxuYW1lIC5sYWJlbCxcbiAgICAuY3MtZGFzaGJvYXJkIC5mb3JtLWVkaXQtYWNjb3VudCAuZnVsbG5hbWUgLmxhYmVsLFxuICAgIC5jcy1kYXNoYm9hcmQgLmZvcm0ucGFzc3dvcmQucmVzZXQgLmZ1bGxuYW1lIC5sYWJlbCxcbiAgICAuY3MtZGFzaGJvYXJkIC5mb3JtLnNlbmQuY29uZmlybWF0aW9uIC5mdWxsbmFtZSAubGFiZWwsXG4gICAgLmNzLWRhc2hib2FyZCAuZm9ybS5wYXNzd29yZC5mb3JnZXQgLmZ1bGxuYW1lIC5sYWJlbCxcbiAgICAuY3MtZGFzaGJvYXJkICNhd19naWZ0Y2FyZF9fY2hlY2tfY29kZV9mb3JtIC5mdWxsbmFtZSAubGFiZWwge1xuICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgLmNzLWRhc2hib2FyZCAuZm9ybS5jcmVhdGUuYWNjb3VudCAuZnVsbG5hbWUgPiAubGFiZWwsXG4gICAgLmNzLWRhc2hib2FyZCAuZm9ybS1hZGRyZXNzLWVkaXQgLmZ1bGxuYW1lID4gLmxhYmVsLFxuICAgIC5jcy1kYXNoYm9hcmQgLmZvcm0tZWRpdC1hY2NvdW50IC5mdWxsbmFtZSA+IC5sYWJlbCxcbiAgICAuY3MtZGFzaGJvYXJkIC5mb3JtLnBhc3N3b3JkLnJlc2V0IC5mdWxsbmFtZSA+IC5sYWJlbCxcbiAgICAuY3MtZGFzaGJvYXJkIC5mb3JtLnNlbmQuY29uZmlybWF0aW9uIC5mdWxsbmFtZSA+IC5sYWJlbCxcbiAgICAuY3MtZGFzaGJvYXJkIC5mb3JtLnBhc3N3b3JkLmZvcmdldCAuZnVsbG5hbWUgPiAubGFiZWwsXG4gICAgLmNzLWRhc2hib2FyZCAjYXdfZ2lmdGNhcmRfX2NoZWNrX2NvZGVfZm9ybSAuZnVsbG5hbWUgPiAubGFiZWwge1xuICAgICAgd2lkdGg6IDFweDsgfVxuICAgIC5jcy1kYXNoYm9hcmQgLmZvcm0uY3JlYXRlLmFjY291bnQgLmZ1bGxuYW1lIC5jb250cm9sLFxuICAgIC5jcy1kYXNoYm9hcmQgLmZvcm0tYWRkcmVzcy1lZGl0IC5mdWxsbmFtZSAuY29udHJvbCxcbiAgICAuY3MtZGFzaGJvYXJkIC5mb3JtLWVkaXQtYWNjb3VudCAuZnVsbG5hbWUgLmNvbnRyb2wsXG4gICAgLmNzLWRhc2hib2FyZCAuZm9ybS5wYXNzd29yZC5yZXNldCAuZnVsbG5hbWUgLmNvbnRyb2wsXG4gICAgLmNzLWRhc2hib2FyZCAuZm9ybS5zZW5kLmNvbmZpcm1hdGlvbiAuZnVsbG5hbWUgLmNvbnRyb2wsXG4gICAgLmNzLWRhc2hib2FyZCAuZm9ybS5wYXNzd29yZC5mb3JnZXQgLmZ1bGxuYW1lIC5jb250cm9sLFxuICAgIC5jcy1kYXNoYm9hcmQgI2F3X2dpZnRjYXJkX19jaGVja19jb2RlX2Zvcm0gLmZ1bGxuYW1lIC5jb250cm9sIHtcbiAgICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgLmNzLWRhc2hib2FyZCAuZm9ybS5jcmVhdGUuYWNjb3VudCAuYWN0aW9uLnByaW1hcnksXG4gICAgLmNzLWRhc2hib2FyZCAuZm9ybS1hZGRyZXNzLWVkaXQgLmFjdGlvbi5wcmltYXJ5LFxuICAgIC5jcy1kYXNoYm9hcmQgLmZvcm0tZWRpdC1hY2NvdW50IC5hY3Rpb24ucHJpbWFyeSxcbiAgICAuY3MtZGFzaGJvYXJkIC5mb3JtLnBhc3N3b3JkLnJlc2V0IC5hY3Rpb24ucHJpbWFyeSxcbiAgICAuY3MtZGFzaGJvYXJkIC5mb3JtLnNlbmQuY29uZmlybWF0aW9uIC5hY3Rpb24ucHJpbWFyeSxcbiAgICAuY3MtZGFzaGJvYXJkIC5mb3JtLnBhc3N3b3JkLmZvcmdldCAuYWN0aW9uLnByaW1hcnksXG4gICAgLmNzLWRhc2hib2FyZCAjYXdfZ2lmdGNhcmRfX2NoZWNrX2NvZGVfZm9ybSAuYWN0aW9uLnByaW1hcnkge1xuICAgICAgZm9udC1zaXplOiAxLjRyZW07IH1cbiAgICAuY3MtZGFzaGJvYXJkIC5mb3JtLmNyZWF0ZS5hY2NvdW50IC5iYWNrLFxuICAgIC5jcy1kYXNoYm9hcmQgLmZvcm0tYWRkcmVzcy1lZGl0IC5iYWNrLFxuICAgIC5jcy1kYXNoYm9hcmQgLmZvcm0tZWRpdC1hY2NvdW50IC5iYWNrLFxuICAgIC5jcy1kYXNoYm9hcmQgLmZvcm0ucGFzc3dvcmQucmVzZXQgLmJhY2ssXG4gICAgLmNzLWRhc2hib2FyZCAuZm9ybS5zZW5kLmNvbmZpcm1hdGlvbiAuYmFjayxcbiAgICAuY3MtZGFzaGJvYXJkIC5mb3JtLnBhc3N3b3JkLmZvcmdldCAuYmFjayxcbiAgICAuY3MtZGFzaGJvYXJkICNhd19naWZ0Y2FyZF9fY2hlY2tfY29kZV9mb3JtIC5iYWNrIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAuY3MtZGFzaGJvYXJkIC5mb3JtLmNyZWF0ZS5hY2NvdW50IC5maWVsZHNldCxcbiAgICAuY3MtZGFzaGJvYXJkIC5mb3JtLWFkZHJlc3MtZWRpdCAuZmllbGRzZXQsXG4gICAgLmNzLWRhc2hib2FyZCAuZm9ybS1lZGl0LWFjY291bnQgLmZpZWxkc2V0LFxuICAgIC5jcy1kYXNoYm9hcmQgLmZvcm0ucGFzc3dvcmQucmVzZXQgLmZpZWxkc2V0LFxuICAgIC5jcy1kYXNoYm9hcmQgLmZvcm0uc2VuZC5jb25maXJtYXRpb24gLmZpZWxkc2V0LFxuICAgIC5jcy1kYXNoYm9hcmQgLmZvcm0ucGFzc3dvcmQuZm9yZ2V0IC5maWVsZHNldCxcbiAgICAuY3MtZGFzaGJvYXJkICNhd19naWZ0Y2FyZF9fY2hlY2tfY29kZV9mb3JtIC5maWVsZHNldCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAycmVtOyB9XG4gICAgLmNzLWRhc2hib2FyZCAuZm9ybS5jcmVhdGUuYWNjb3VudCAuZmllbGRzZXQtZnVsbG5hbWUsXG4gICAgLmNzLWRhc2hib2FyZCAuZm9ybS1hZGRyZXNzLWVkaXQgLmZpZWxkc2V0LWZ1bGxuYW1lLFxuICAgIC5jcy1kYXNoYm9hcmQgLmZvcm0tZWRpdC1hY2NvdW50IC5maWVsZHNldC1mdWxsbmFtZSxcbiAgICAuY3MtZGFzaGJvYXJkIC5mb3JtLnBhc3N3b3JkLnJlc2V0IC5maWVsZHNldC1mdWxsbmFtZSxcbiAgICAuY3MtZGFzaGJvYXJkIC5mb3JtLnNlbmQuY29uZmlybWF0aW9uIC5maWVsZHNldC1mdWxsbmFtZSxcbiAgICAuY3MtZGFzaGJvYXJkIC5mb3JtLnBhc3N3b3JkLmZvcmdldCAuZmllbGRzZXQtZnVsbG5hbWUsXG4gICAgLmNzLWRhc2hib2FyZCAjYXdfZ2lmdGNhcmRfX2NoZWNrX2NvZGVfZm9ybSAuZmllbGRzZXQtZnVsbG5hbWUge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICAuY3MtZGFzaGJvYXJkIC5mb3JtLmNyZWF0ZS5hY2NvdW50IHtcbiAgICBiYWNrZ3JvdW5kOiAjZmZmO1xuICAgIGJvcmRlci1yYWRpdXM6IDdweDsgfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAuY3MtZGFzaGJvYXJkIC5mb3JtLmNyZWF0ZS5hY2NvdW50IHtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiA0LjVyZW07XG4gICAgICAgIHBhZGRpbmctdG9wOiA0LjVyZW07XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiA0LjVyZW07IH0gfVxuICAuY3MtZGFzaGJvYXJkIC5hZGRyZXNzZXMge1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gIC5jcy1kYXNoYm9hcmQgLmJsb2NrLWFkZHJlc3Nlcy1saXN0ICsgLmFjdGlvbnMtdG9vbGJhciB7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7IH1cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDQ3Ljk5ZW0pIHtcbiAgICAuY3MtZGFzaGJvYXJkIC5ib3gtYmlsbGluZy1hZGRyZXNzIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDJyZW07IH0gfVxuICAuY3MtZGFzaGJvYXJkIC50YWJsZS1hZGRpdGlvbmFsLWFkZHJlc3Nlcy1pdGVtcyAuY29sLnN0YXRlIHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA0OC4wMWVtKSB7XG4gICAgLmNzLWRhc2hib2FyZCAudGFibGUtYWRkaXRpb25hbC1hZGRyZXNzZXMtaXRlbXMgdGg6Zmlyc3QtY2hpbGQsXG4gICAgLmNzLWRhc2hib2FyZCAudGFibGUtYWRkaXRpb25hbC1hZGRyZXNzZXMtaXRlbXMgdGQ6Zmlyc3QtY2hpbGQge1xuICAgICAgcGFkZGluZy1sZWZ0OiAwICFpbXBvcnRhbnQ7IH0gfVxuICBAbWVkaWEgKG1pbi13aWR0aDogNDguMDFlbSkge1xuICAgIC5jcy1kYXNoYm9hcmQgLnRhYmxlLWFkZGl0aW9uYWwtYWRkcmVzc2VzLWl0ZW1zIHRoOmxhc3QtY2hpbGQsXG4gICAgLmNzLWRhc2hib2FyZCAudGFibGUtYWRkaXRpb25hbC1hZGRyZXNzZXMtaXRlbXMgdGQ6bGFzdC1jaGlsZCB7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAwICFpbXBvcnRhbnQ7IH0gfVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNjRlbSkgYW5kIChtYXgtd2lkdGg6IDc5Ljk5ZW0pIHtcbiAgLmNzLWRhc2hib2FyZCAudGFibGUtYWRkaXRpb25hbC1hZGRyZXNzZXMtaXRlbXMgLmFjdGlvbi5kZWxldGUge1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgLmNzLWRhc2hib2FyZCAudGFibGUtYWRkaXRpb25hbC1hZGRyZXNzZXMtaXRlbXMgLmFjdGlvbi5kZWxldGU6YmVmb3JlIHtcbiAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfSB9XG5cbkBtZWRpYSAobWluLXdpZHRoOiA2NGVtKSBhbmQgKG1heC13aWR0aDogNzkuOTllbSkge1xuICAuY3MtZGFzaGJvYXJkIC50YWJsZS1hZGRpdGlvbmFsLWFkZHJlc3Nlcy1pdGVtcyAuYWN0aW9uLmVkaXQge1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICB3aWR0aDogMTAwJTsgfSB9XG4gIC5jcy1kYXNoYm9hcmQgLmZvcm0tbmV3c2xldHRlci1tYW5hZ2Uge1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50OyB9XG4gICAgLmNzLWRhc2hib2FyZCAuZm9ybS1uZXdzbGV0dGVyLW1hbmFnZSAuZmllbGRzZXQge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMXJlbTsgfVxuICAuY3MtZGFzaGJvYXJkX19idXR0b24ge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBmb250LXNpemU6IDEuOHJlbTtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGluZS1oZWlnaHQ6IDEuMjc1ZW07XG4gICAgbWFyZ2luOiAwO1xuICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICAgIHBhZGRpbmc6IDAuNzVlbSAxZW07XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuNXMsIGJvcmRlci1jb2xvciAwLjVzLCBmaWxsIDAuNXMsIGNvbG9yIDAuNXM7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICB6LWluZGV4OiA1OyB9XG4gICAgLmNzLWRhc2hib2FyZF9fYnV0dG9uOjotbW96LWZvY3VzLWlubmVyIHtcbiAgICAgIGJvcmRlcjogMDtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgICBtYXJnaW46IDA7IH1cbiAgICAuY3MtZGFzaGJvYXJkX19idXR0b24sIC5jcy1kYXNoYm9hcmRfX2J1dHRvbjp2aXNpdGVkIHtcbiAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDIwMHB4O1xuICAgICAgb3V0bGluZS1vZmZzZXQ6IDFweDtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzdlNTdjMjsgfVxuICAgICAgLmNzLWRhc2hib2FyZF9fYnV0dG9uICosIC5jcy1kYXNoYm9hcmRfX2J1dHRvbjp2aXNpdGVkICoge1xuICAgICAgICBjb2xvcjogI2ZmZjtcbiAgICAgICAgZmlsbDogI2ZmZjsgfVxuICAgIC5jcy1kYXNoYm9hcmRfX2J1dHRvbjpob3Zlcjpub3QoW2Rpc2FibGVkXSksIC5jcy1kYXNoYm9hcmRfX2J1dHRvbjpmb2N1czpub3QoW2Rpc2FibGVkXSksIC5jcy1kYXNoYm9hcmRfX2J1dHRvbjphY3RpdmU6bm90KFtkaXNhYmxlZF0pIHtcbiAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgICBvdXRsaW5lOiBub25lO1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgICBjb2xvcjogI2ZmZjtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICM0ZDJjOTE7IH1cbiAgICAgIC5jcy1kYXNoYm9hcmRfX2J1dHRvbjpob3Zlcjpub3QoW2Rpc2FibGVkXSkgKiwgLmNzLWRhc2hib2FyZF9fYnV0dG9uOmZvY3VzOm5vdChbZGlzYWJsZWRdKSAqLCAuY3MtZGFzaGJvYXJkX19idXR0b246YWN0aXZlOm5vdChbZGlzYWJsZWRdKSAqIHtcbiAgICAgICAgY29sb3I6ICNmZmY7XG4gICAgICAgIGZpbGw6ICNmZmY7IH1cbiAgICAuY3MtZGFzaGJvYXJkX19idXR0b25bZGlzYWJsZWRdIHtcbiAgICAgIG9wYWNpdHk6IDAuNjU7XG4gICAgICBjdXJzb3I6IGF1dG87IH1cbiAgLmNzLWRhc2hib2FyZF9fYnV0dG9uLXNwYW4ge1xuICAgIG1hcmdpbi10b3A6IDA7XG4gICAgei1pbmRleDogMTtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgbGluZS1oZWlnaHQ6IDEuMjc1ZW07XG4gICAgbGV0dGVyLXNwYWNpbmc6IG5vcm1hbDsgfVxuICAuY3MtZGFzaGJvYXJkX19idXR0b24taWNvbiB7XG4gICAgbWF4LXdpZHRoOiAxZW07XG4gICAgbWF4LWhlaWdodDogMS44cmVtO1xuICAgIHotaW5kZXg6IDI7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgLmNzLWRhc2hib2FyZF9fd2lzaGxpc3QtZ3Vlc3Qge1xuICAgIHBhZGRpbmctdG9wOiAycmVtOyB9XG4gIC5jcy1kYXNoYm9hcmRfX3dpc2hsaXN0LWd1ZXN0LWNvcHkge1xuICAgIHBhZGRpbmctbGVmdDogMXJlbTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgLmNzLWRhc2hib2FyZF9fd2lzaGxpc3QtZ3Vlc3QtY29weS1pY29uIHtcbiAgICB3aWR0aDogMnJlbTtcbiAgICBoZWlnaHQ6IDJyZW07XG4gICAgZmlsbDogIzY5Njk2OTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7IH1cblxuLmNzLWNvbnRhaW5lci0tY3JlYXRlLWFjY291bnQtcGFnZSwgLmNzLWNvbnRhaW5lci0tbG9naW4tcGFnZSwgLmNzLWNvbnRhaW5lci0tc3VjY2Vzcy1wYWdlLCAuY3MtY29udGFpbmVyLS1sb2dvdXQtcGFnZSwgLmNzLWNvbnRhaW5lci0tY29udGFjdC1wYWdlIHtcbiAgcGFkZGluZy10b3A6IDJyZW07XG4gIHBhZGRpbmctYm90dG9tOiAycmVtOyB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLmNzLWNvbnRhaW5lci0tY3JlYXRlLWFjY291bnQtcGFnZSwgLmNzLWNvbnRhaW5lci0tbG9naW4tcGFnZSwgLmNzLWNvbnRhaW5lci0tc3VjY2Vzcy1wYWdlLCAuY3MtY29udGFpbmVyLS1sb2dvdXQtcGFnZSwgLmNzLWNvbnRhaW5lci0tY29udGFjdC1wYWdlIHtcbiAgICAgIHBhZGRpbmctdG9wOiAzcmVtO1xuICAgICAgcGFkZGluZy1ib3R0b206IDVyZW07IH0gfVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNDhlbSkgYW5kIChtYXgtd2lkdGg6IDYzLjk5ZW0pIHtcbiAgLmNzLWNvbnRhaW5lci0tbXktYWNjb3VudC1wYWdlIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDEuNXJlbTtcbiAgICBwYWRkaW5nLXJpZ2h0OiAxLjVyZW07IH0gfVxuXG4uYWNjb3VudCAudGFibGUtd3JhcHBlcjpsYXN0LWNoaWxkIHtcbiAgbWFyZ2luLWJvdHRvbTogMDsgfVxuXG4uYWNjb3VudCAudGFibGUtd3JhcHBlciAuYWN0aW9uIHtcbiAgbWFyZ2luLXJpZ2h0OiAxLjVyZW07IH1cblxuLmFjY291bnQgLnRhYmxlLXdyYXBwZXIgLmFjdGlvbjpsYXN0LWNoaWxkIHtcbiAgbWFyZ2luLXJpZ2h0OiAwOyB9XG5cbi5ibG9jayBwOmxhc3QtY2hpbGQge1xuICBtYXJnaW46IDA7IH1cblxuLmJsb2NrIC5ib3gtYWN0aW9ucyB7XG4gIG1hcmdpbi10b3A6IDAuNXJlbTsgfVxuXG4uYWNjb3VudC5wYWdlLXByaW50IC5pdGVtcy1xdHkge1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7IH1cblxuLmNzLWRhc2hib2FyZCAuZm9ybS1hZGRyZXNzLWVkaXQge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICBib3JkZXItcmFkaXVzOiA3cHg7IH1cbiIsIi8qIHN0eWxlbGludC1kaXNhYmxlIGJsb2NrLW5vLWVtcHR5ICovXG5AbWl4aW4gaGVhZGxpbmVfaG9vaygkbGV2ZWwpIHtcbn1cblxuQG1peGluIGxpbmtfaG9vaygpIHtcbn1cblxuQG1peGluIGxpc3RfaG9vaygpIHtcbn1cblxuQG1peGluIGxpc3QtaXRlbV9ob29rKCkge1xufVxuLyogc3R5bGVsaW50LWVuYWJsZSAqL1xuIiwiLyoqKlxuICogUmVtb3ZlIGJyb3dzZXIncyBtYXJnaW5zLCBwYWRkaW5ncyBhbmQgbGlzdCBzdHlsZSBydWxlc1xuICovXG5cbkBtaXhpbiByZXNldC1saXN0LXN0eWxlIHtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xufVxuIiwiQGltcG9ydCAnY29uZmlnL3ZhcmlhYmxlcyc7XG5AaW1wb3J0ICd2ZW5kb3JzL2luY2x1ZGUtbWVkaWEnO1xuQGltcG9ydCAnY29tcG9uZW50cy9idXR0b24vbWl4aW4nO1xuQGltcG9ydCAncGFnZXMvbGF5b3V0LzJjb2x1bW5zLWxlZnQvbWl4aW4nO1xuQGltcG9ydCAnY29tcG9uZW50cy9maWVsZC9taXhpbic7XG5AaW1wb3J0ICdjb21wb25lbnRzL3R5cG9ncmFwaHkvbWl4aW4nO1xuQGltcG9ydCAndXRpbHMvY29tcG9uZW50LXNwYWNpbmcnO1xuQGltcG9ydCAndXRpbHMvcmVzZXQtbGlzdC1zdHlsZSc7XG5cbiRkYXNoYm9hcmQtYnV0dG9uX3R5cGU6ICRidXR0b25fZGVmYXVsdC10eXBlICFkZWZhdWx0O1xuJGRhc2hib2FyZC1idXR0b25fc2Vjb25kYXJ5LXR5cGU6ICdzZWNvbmRhcnknICFkZWZhdWx0O1xuJGRhc2hib2FyZC1idXR0b25faWNvbi1wb3M6ICduby1pY29uJyAhZGVmYXVsdDtcbiRkYXNoYm9hcmRfYnV0dG9uX2Zvcm1zLWZvbnQtc2l6ZTogMS40cmVtICFkZWZhdWx0O1xuJGRhc2hib2FyZC1idXR0b25fc21hbGwtZm9udC1zaXplOiAxLjJyZW0gIWRlZmF1bHQ7XG5cbiRkYXNoYm9hcmRfbWFpbi1zZXBhcmF0b3ItYXBwbHk6IGZhbHNlICFkZWZhdWx0O1xuJGRhc2hib2FyZF9zaWRlYmFyLW1haW4tc3BhY2U6IDMuNXJlbSAhZGVmYXVsdDtcbiRkYXNoYm9hcmRfYm90dG9tLWJvcmRlci10b3A6IDJweCBzb2xpZCAkY29sb3JfYm9yZGVyLTUwMCAhZGVmYXVsdDtcbiRkYXNoYm9hcmRfaGVhZGxpbmUtbGlua3Mtc2VwYXJhdG9yOiAycHggc29saWQgJGNvbG9yX2JvcmRlci01MDAgIWRlZmF1bHQ7XG4kZGFzaGJvYXJkX2xvZ2luLXNlY3Rpb25zLXNlcGFyYXRvcjogMXB4IHNvbGlkICRjb2xvcl9ib3JkZXItNTAwICFkZWZhdWx0O1xuXG4kZGFzaGJvYXJkX2hlYWRsaW5lLWJvcmRlcjogMXB4IHNvbGlkICRjb2xvcl9ib3JkZXItNTAwICFkZWZhdWx0O1xuJGRhc2hib2FyZF9oZWFkbGluZS1tYXJnaW4tYm90dG9tOiAxcmVtICFkZWZhdWx0O1xuJGRhc2hib2FyZF9oZWFkbGluZS1wYWRkaW5nLWJvdHRvbTogMC44cmVtICFkZWZhdWx0O1xuJGRhc2hib2FyZF9oZWFkbGluZS1mb250LXNpemU6ICRmb250LXNpemVfaGVhZGxpbmUtMyAhZGVmYXVsdDtcbiRkYXNoYm9hcmRfaGVhZGxpbmUtZm9udC13ZWlnaHQ6IDYwMCAhZGVmYXVsdDtcbiRkYXNoYm9hcmRfaGVhZGxpbmUtbGluay1mb250LXNpemU6ICRmb250LXNpemVfcGFyYWdyYXBoICFkZWZhdWx0O1xuXG4kZGFzaGJvYXJkX2JveC10aXRsZS1mb250LXNpemU6IDEuMXJlbSAhZGVmYXVsdDtcbiRkYXNoYm9hcmRfYm94LXRpdGxlLWZvbnQtd2VpZ2h0OiA2MDAgIWRlZmF1bHQ7XG4kZGFzaGJvYXJkX2JveC10aXRsZS10ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlICFkZWZhdWx0O1xuXG4kZGFzaGJvYXJkX3RleHQtZm9udC13ZWlnaHQ6IDMwMCAhZGVmYXVsdDtcbiRkYXNoYm9hcmRfdGV4dC1jb2xvcjogJGNvbG9yX3RleHQtNTAwICFkZWZhdWx0O1xuJGRhc2hib2FyZF90ZXh0LWxpbmUtaGVpZ2h0OiAyLjVyZW0gIWRlZmF1bHQ7XG5cbiRkYXNoYm9hcmRfbGlua3MtZm9udC1zaXplOiAxLjRyZW0gIWRlZmF1bHQ7XG4kZGFzaGJvYXJkX2xpbmtzLWZvbnQtd2VpZ2h0OiAzMDAgIWRlZmF1bHQ7XG5cbi8vIEZvciBzaG9wcyB3aXRoIGRhcmtlciBiYWNrZ3JvdW5kIGVsZW1lbnRzIGluIHVzZXIgYXJlYSBhcmUgcGxhY2VkIGluIHNlcGFyYXRlIGJveGVzXG5cbi8vIFZhbHVlcyBzcGVjaWZpYyBmb3Igc2hvcHMgd2l0aCBiYWNrZ3JvdW5kXG4kZGFzaGJvYXJkX2hhcy1kYXJrZXItYmFja2dyb3VuZDogZmFsc2UgIWRlZmF1bHQ7XG4kZGFzaGJvYXJkX2JveGVzLWJhY2tncm91bmQ6IHRyYW5zcGFyZW50ICFkZWZhdWx0O1xuJGRhc2hib2FyZF9oaWRlLXNlY3Rpb25zLXNlcGFyYXRvcnM6IGZhbHNlICFkZWZhdWx0O1xuJGRhc2hib2FyZF9oaWRlLXRpdGxlcy1zZXBhcmF0b3JzOiBmYWxzZSAhZGVmYXVsdDtcbi8vIFNldCB2YWx1ZSBpZiAkZGFzaGJvYXJkX2hhcy1kYXJrZXItYmFja2dyb3VuZCBpcyBzZXQgdG8gdHJ1ZVxuJGRhc2hib2FyZF9ib3hlcy1pbm5lci1wYWRkaW5nOiAxLjVyZW0gIWRlZmF1bHQ7XG4vLyBGb3Igc2hvcHMgd2hpdGUgd2hpdGUgYmFja2dyb3VuZCBpdCBpcyBhbHNvIG5lZWRlZCBhcyBpdCBpcyBwYXJ0IG9mIHNwYWNpbmcgc3lzdGVtLlxuLy8gRm9yIHNob3BzIHdpdGggZGFya2VyIGJhY2tncm91bmQgdmFsdWUgaGVyZSBjYW4gYmUgc21hbGxlciBvZiBoaWdoZXJcbiRkYXNoYm9hcmRfc3BhY2UtYmV0d2Vlbi1ib3hlczogMnJlbSAhZGVmYXVsdDtcblxuLy8gT3JkZXIgdGFibGVcbiRkYXNoYm9hcmRfcHJpY2UtZm9udC1jb2xvcjogJGNvbG9yX3RleHQtNTAwICFkZWZhdWx0O1xuXG4uI3skbnN9ZGFzaGJvYXJkIHtcbiAgICAkcm9vdDogJjtcblxuICAgIEBpbmNsdWRlIHR3by1jb2x1bW5zLWxlZnQoJGRhc2hib2FyZF9tYWluLXNlcGFyYXRvci1hcHBseSk7XG4gICAgd2lkdGg6IDEwMCU7XG5cbiAgICAmX19jb2x1bW5zIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBtYXJnaW46IDNyZW0gMDtcblxuICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPj10YWJsZXQnKSB7XG4gICAgICAgICAgICBwYWRkaW5nOiAwIDAgMnJlbTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX3NpZGViYXIge1xuICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPj1sYXB0b3AnKSB7XG4gICAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fbWFpbiB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDJyZW07XG4gICAgICAgIG1hcmdpbi10b3A6IDJyZW07XG4gICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz49dGFibGV0Jykge1xuICAgICAgICAgICAgcGFkZGluZzogMCAwIDAgJGRhc2hib2FyZF9zaWRlYmFyLW1haW4tc3BhY2U7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAwO1xuXG4gICAgICAgICAgICBAaWYgKCRkYXNoYm9hcmRfaGFzLWRhcmtlci1iYWNrZ3JvdW5kID09IHRydWUpIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAwIDAgMCAkZGFzaGJvYXJkX3NwYWNlLWJldHdlZW4tYm94ZXM7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAvLyBHdWVzdCB3aXNobGlzdCB3aXRob3V0IHNpZGViYXJcbiAgICAgICAgLndpc2hsaXN0LWluZGV4LWluZGV4LnBhZ2UtbGF5b3V0LTFjb2x1bW4gJiB7XG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPj10YWJsZXQnKSB7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX3RvcCB7XG4gICAgICAgIEBpZiAoJGRhc2hib2FyZF9oYXMtZGFya2VyLWJhY2tncm91bmQgPT0gZmFsc2UpIHtcbiAgICAgICAgICAgIEBpZiAoJGRhc2hib2FyZF9oaWRlLXNlY3Rpb25zLXNlcGFyYXRvcnMgPT0gZmFsc2UpIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAwIDAgM3JlbTtcbiAgICAgICAgICAgIH0gQGVsc2Uge1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0gQGVsc2Uge1xuICAgICAgICAgICAgQGlmICgkZGFzaGJvYXJkX2hpZGUtc2VjdGlvbnMtc2VwYXJhdG9ycyA9PSBmYWxzZSkge1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDAgMCAxcmVtO1xuICAgICAgICAgICAgfSBAZWxzZSB7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX3BhZ2UtdGl0bGUge1xuICAgICAgICBAaWYgKCRkYXNoYm9hcmRfaGFzLWRhcmtlci1iYWNrZ3JvdW5kID09IGZhbHNlKSB7XG4gICAgICAgICAgICAvLyBwYWRkaW5nLWJvdHRvbTogM3JlbTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5wYWdlLXRpdGxlIHtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBAaWYgKCRkYXNoYm9hcmRfaGFzLWRhcmtlci1iYWNrZ3JvdW5kID09IGZhbHNlKSB7XG4gICAgICAgICAgICBwYWRkaW5nOiAwIDAgMXJlbSAwO1xuICAgICAgICB9IEBlbHNlIHtcbiAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAwO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmNvbHVtbnMgLmNvbHVtbi5tYWluIHtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICB9XG5cbiAgICAubWVzc2FnZS1lcnJvcixcbiAgICAubWVzc2FnZS1zdWNjZXNzLFxuICAgIC5tZXNzYWdlLW5vdGljZSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDFyZW07XG4gICAgfVxuXG4gICAgLnBhZ2UtdGl0bGUtd3JhcHBlciB7XG4gICAgICAgIGJhY2tncm91bmQ6ICRkYXNoYm9hcmRfYm94ZXMtYmFja2dyb3VuZDtcblxuICAgICAgICBAaWYgKCRkYXNoYm9hcmRfaGFzLWRhcmtlci1iYWNrZ3JvdW5kID09IHRydWUpIHtcbiAgICAgICAgICAgIHBhZGRpbmc6ICRkYXNoYm9hcmRfc3BhY2UtYmV0d2Vlbi1ib3hlcztcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206ICRkYXNoYm9hcmRfc3BhY2UtYmV0d2Vlbi1ib3hlcztcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2JvdHRvbSB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgICBAaWYgKCRkYXNoYm9hcmRfaGlkZS1zZWN0aW9ucy1zZXBhcmF0b3JzID09IGZhbHNlKSB7XG4gICAgICAgICAgICBwYWRkaW5nLXRvcDogMnJlbTtcbiAgICAgICAgICAgIGJvcmRlci10b3A6ICRkYXNoYm9hcmRfYm90dG9tLWJvcmRlci10b3A7XG4gICAgICAgIH0gQGVsc2Uge1xuICAgICAgICAgICAgcGFkZGluZy10b3A6IDA7XG4gICAgICAgICAgICBib3JkZXItdG9wOiBub25lO1xuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz49dGFibGV0Jykge1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICBAaWYgKCRkYXNoYm9hcmRfaGlkZS1zZWN0aW9ucy1zZXBhcmF0b3JzID09IGZhbHNlKSB7XG4gICAgICAgICAgICAgICAgcGFkZGluZy10b3A6IDNyZW07XG4gICAgICAgICAgICB9IEBlbHNlIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLXRvcDogMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX3dpc2hsaXN0IHtcbiAgICAgICAgJi1saW5lIHtcbiAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX3dpc2hsaXN0LXByb2R1Y3RzLWdyaWQge1xuICAgICAgICBAaW5jbHVkZSBjb21wb25lbnQtc3BhY2luZygpO1xuICAgIH1cblxuICAgICZfX3dpc2hsaXN0LWd1ZXN0LWNvZGUge1xuICAgICAgICBvdmVyZmxvdy13cmFwOiBicmVhay13b3JkO1xuICAgIH1cblxuICAgICZfX2JvdHRvbS13aXNobGlzdCB7XG4gICAgICAgIEBpbmNsdWRlIGNvbXBvbmVudC1zcGFjaW5nKCk7XG5cbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICB3aWR0aDogMTAwJTtcblxuICAgICAgICAmLWl0ZW0ge1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PXBob25lTGcnKSB7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDUwJTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz49dGFibGV0Jykge1xuICAgICAgICAgICAgICAgIHdpZHRoOiAzMy4zMyU7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICY6bnRoLWNoaWxkKG4gKyA0KSB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2xvZ2luIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz49dGFibGV0Jykge1xuICAgICAgICAgICAgZmxleC13cmFwOiBub3dyYXA7XG4gICAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICB9XG5cbiAgICAgICAgJi1zZWN0aW9uIHtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgYmFja2dyb3VuZDogJGRhc2hib2FyZF9ib3hlcy1iYWNrZ3JvdW5kO1xuICAgICAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDJyZW07XG5cbiAgICAgICAgICAgIEBpZiAoJGRhc2hib2FyZF9oYXMtZGFya2VyLWJhY2tncm91bmQgPT0gdHJ1ZSkge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKCc8dGFibGV0Jykge1xuICAgICAgICAgICAgICAgICAgICAmOm50aC1jaGlsZCgybiArIDEpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206ICRkYXNoYm9hcmRfc3BhY2UtYmV0d2Vlbi1ib3hlcztcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz49dGFibGV0Jykge1xuICAgICAgICAgICAgICAgIEBpZiAoJGRhc2hib2FyZF9oYXMtZGFya2VyLWJhY2tncm91bmQgPT0gZmFsc2UpIHtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDUwJTtcbiAgICAgICAgICAgICAgICB9IEBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IGNhbGMoNTAlIC0gKCN7JGRhc2hib2FyZF9zcGFjZS1iZXR3ZWVuLWJveGVzfSAvIDIpKTtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAmOm50aC1jaGlsZCgybiArIDEpIHtcbiAgICAgICAgICAgICAgICAgICAgLy8gYm9yZGVyLXJpZ2h0OiAkZGFzaGJvYXJkX2xvZ2luLXNlY3Rpb25zLXNlcGFyYXRvcjtcblxuICAgICAgICAgICAgICAgICAgICBAaWYgKCRkYXNoYm9hcmRfaGlkZS1zZWN0aW9ucy1zZXBhcmF0b3JzID09IHRydWUpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlci1yaWdodDogbm9uZTtcbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgIEBpZiAoJGRhc2hib2FyZF9oYXMtZGFya2VyLWJhY2tncm91bmQgPT0gZmFsc2UpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6ICRkYXNoYm9hcmRfc3BhY2UtYmV0d2Vlbi1ib3hlcztcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICY6bnRoLWNoaWxkKDJuICsgMikge1xuICAgICAgICAgICAgICAgICAgICBAaWYgKCRkYXNoYm9hcmRfaGFzLWRhcmtlci1iYWNrZ3JvdW5kID09IGZhbHNlKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6ICRkYXNoYm9hcmRfc3BhY2UtYmV0d2Vlbi1ib3hlcztcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgICYtLWNvbnRhY3QtcGFnZSB7XG4gICAgICAgIC5wYWdlLXRpdGxlLXdyYXBwZXIge1xuICAgICAgICAgICAgQGlmICgkZGFzaGJvYXJkX2hhcy1kYXJrZXItYmFja2dyb3VuZCA9PSB0cnVlKSB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogJGRhc2hib2FyZF9zcGFjZS1iZXR3ZWVuLWJveGVzO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fY29udGFjdC1mb3JtIHtcbiAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDJyZW07XG4gICAgICAgIGJhY2tncm91bmQ6ICRkYXNoYm9hcmRfYm94ZXMtYmFja2dyb3VuZDtcblxuICAgICAgICBAaWYgKCRkYXNoYm9hcmRfaGFzLWRhcmtlci1iYWNrZ3JvdW5kID09IHRydWUpIHtcbiAgICAgICAgICAgIHBhZGRpbmc6ICRkYXNoYm9hcmRfc3BhY2UtYmV0d2Vlbi1ib3hlcztcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8vIEdlbmVyYWwgVXNlciBBcmVhIHN0eWxlc1xuXG4gICAgLmZpZWxkc2V0LFxuICAgIC5mb3JtIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIG1pbi13aWR0aDogMTVyZW0gIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICAuZmllbGRzZXQge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgYm9yZGVyOiAwO1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIC8vIG1heC13aWR0aDogNDVyZW0gIWltcG9ydGFudDtcbiAgICAgICAgXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PXRhYmxldCcpIHtcbiAgICAgICAgICAgIG1heC13aWR0aDogY2FsYygxMDAlIC0gM3JlbSk7XG4gICAgICAgIH1cbiAgICB9XG4gICAgLmZpZWxkc2V0LmZpZWxkc2V0LWZ1bGxuYW1le1xuICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgfVxuXG4gICAgLmZpZWxkIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgICB9XG5cbiAgICAubGltaXRlciB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgfVxuXG4gICAgc2VsZWN0IHtcbiAgICAgICAgQGluY2x1ZGUgZmllbGQtc2VsZWN0KCk7XG4gICAgfVxuXG4gICAgLmNob2ljZSB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICAgICAgICAvLyBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgICAgICAgZmxleC13cmFwOiB3cmFwO1xuXG4gICAgICAgIC5sYWJlbCB7XG4gICAgICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiAkZGFzaGJvYXJkX2xpbmtzLWZvbnQtd2VpZ2h0O1xuICAgICAgICAgICAgZm9udC1zaXplOiAkZGFzaGJvYXJkX2xpbmtzLWZvbnQtc2l6ZTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5jaGVja2JveCB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAwLjJyZW07XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuZmllbGQtbmFtZS1wcmVmaXgge1xuICAgICAgICBtYXgtd2lkdGg6IDEycmVtO1xuICAgIH1cblxuICAgIC5wcmltYXJ5IHtcbiAgICAgICAgPiBidXR0b24sXG4gICAgICAgIC5jcmVhdGUge1xuICAgICAgICAgICAgQGluY2x1ZGUgYnV0dG9uKFxuICAgICAgICAgICAgICAgICR0eXBlOiAkZGFzaGJvYXJkLWJ1dHRvbl90eXBlLFxuICAgICAgICAgICAgICAgICRpY29uX3BvczogJGRhc2hib2FyZC1idXR0b25faWNvbi1wb3NcbiAgICAgICAgICAgICk7XG4gICAgICAgICAgICBtaW4td2lkdGg6IDEycmVtO1xuXG4gICAgICAgICAgICAud2lzaGxpc3QtaW5kZXgtaW5kZXggJiB7XG4gICAgICAgICAgICAgICAgei1pbmRleDogMTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgc3BhbiB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnV0dG9uX3NwYW4oXG4gICAgICAgICAgICAgICAgICAgICR0eXBlOiAkZGFzaGJvYXJkLWJ1dHRvbl90eXBlLFxuICAgICAgICAgICAgICAgICAgICAkaWNvbl9wb3M6ICRkYXNoYm9hcmQtYnV0dG9uX2ljb24tcG9zXG4gICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgID4gYnV0dG9uLmFjdGlvbi51cGRhdGUge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5yZW1pbmQsXG4gICAgLmJhY2sge1xuICAgICAgICBmb250LXNpemU6ICRkYXNoYm9hcmRfbGlua3MtZm9udC1zaXplO1xuICAgICAgICBtYXJnaW4tdG9wOiAwLjdyZW07XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB9XG5cbiAgICAuY291bnRlciB7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiAkZGFzaGJvYXJkX2xpbmtzLWZvbnQtd2VpZ2h0O1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTFyZW0pO1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cbiAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJygnO1xuICAgICAgICB9XG5cbiAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICBjb250ZW50OiAnKSc7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuYmxvY2sge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgbWFyZ2luOiAxLjVyZW0gMCAyLjVyZW07XG4gICAgICAgIGJhY2tncm91bmQ6ICRjb2xvcl93aGl0ZTtcbiAgICAgICAgcGFkZGluZzogJGRhc2hib2FyZF9ib3hlcy1pbm5lci1wYWRkaW5nO1xuICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgICBib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJhZGl1c19iYXNlO1xuXG5cbiAgICAgICAgQGlmICgkZGFzaGJvYXJkX2hhcy1kYXJrZXItYmFja2dyb3VuZCA9PSB0cnVlKSB7XG4gICAgICAgICAgICBtYXJnaW46IDAgMCAkZGFzaGJvYXJkX3NwYWNlLWJldHdlZW4tYm94ZXM7XG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPj10YWJsZXQnKSB7XG4gICAgICAgICAgICBtYXJnaW46IDEuNXJlbSAwIDRyZW07XG5cbiAgICAgICAgICAgIEBpZiAoJGRhc2hib2FyZF9oYXMtZGFya2VyLWJhY2tncm91bmQgPT0gdHJ1ZSkge1xuICAgICAgICAgICAgICAgIG1hcmdpbjogMCAwICRkYXNoYm9hcmRfc3BhY2UtYmV0d2Vlbi1ib3hlcztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5ibG9jay10aXRsZSxcbiAgICAubGVnZW5kLFxuICAgIC5vcmRlci10aXRsZSB7XG4gICAgICAgIC8vIGJvcmRlci1ib3R0b206ICRkYXNoYm9hcmRfaGVhZGxpbmUtYm9yZGVyO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAkZGFzaGJvYXJkX2hlYWRsaW5lLW1hcmdpbi1ib3R0b207XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAkZGFzaGJvYXJkX2hlYWRsaW5lLXBhZGRpbmctYm90dG9tO1xuICAgICAgICBmb250LXdlaWdodDogJGRhc2hib2FyZF9oZWFkbGluZS1mb250LXdlaWdodDtcbiAgICAgICAgZm9udC1zaXplOiAkZGFzaGJvYXJkX2hlYWRsaW5lLWZvbnQtc2l6ZTtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG5cbiAgICAgICAgQGlmICgkZGFzaGJvYXJkX2hpZGUtdGl0bGVzLXNlcGFyYXRvcnMgPT0gdHJ1ZSkge1xuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbiAgICAgICAgfVxuXG4gICAgICAgIHN0cm9uZyB7XG4gICAgICAgICAgICBmb250LXdlaWdodDogJGRhc2hib2FyZF9oZWFkbGluZS1mb250LXdlaWdodDtcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMXJlbTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC50YWJsZS13cmFwcGVyIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuXG4gICAgLmJsb2NrLXRpdGxlIGEge1xuICAgICAgICBmb250LXdlaWdodDogJGRhc2hib2FyZF9saW5rcy1mb250LXdlaWdodDtcbiAgICAgICAgZm9udC1zaXplOiAkZGFzaGJvYXJkX2hlYWRsaW5lLWxpbmstZm9udC1zaXplO1xuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogdGV4dC1ib3R0b207XG4gICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgfVxuXG4gICAgLmJveC10aXRsZSB7XG4gICAgICAgIGZvbnQtc2l6ZTogJGRhc2hib2FyZF9ib3gtdGl0bGUtZm9udC1zaXplO1xuICAgICAgICBmb250LXdlaWdodDogJGRhc2hib2FyZF9ib3gtdGl0bGUtZm9udC13ZWlnaHQ7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiAkZGFzaGJvYXJkX2JveC10aXRsZS10ZXh0LXRyYW5zZm9ybTtcbiAgICB9XG5cbiAgICAuYmxvY2stY29udGVudCB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgICBtYXJnaW46IDJyZW0gMCAwO1xuXG4gICAgICAgIC5zYWxlcy1vcmRlci1oaXN0b3J5ICYge1xuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJzxsYXB0b3AnKSB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICYubm8tZGlzcGxheSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmJsb2NrLW5ldy1jdXN0b21lciAuYmxvY2stY29udGVudCB7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cbiAgICAgICAgLmZpZWxkc2V0IHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDFyZW07XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuYmxvY2stcmV3YXJkLWhpc3Rvcnkge1xuICAgICAgICAuI3skbnN9dG9vbGJhcl9faXRlbS0tYW1vdW50IHtcbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKCc8bGFwdG9wJykge1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAvLyBUaGVyZSBpcyBubyBvdGhlciB3YXkgdG8gcmVtb3ZlIHRvcCB0b29sYmFyIGVsZW1lbnRzXG4gICAgICAgICAgICAmOm50aC1jaGlsZCgxKSB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5wYWdlcyB7XG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPGxhcHRvcCcpIHtcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgICAgIG1hcmdpbjogMC43cmVtIDAgMnJlbTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJjpudGgtY2hpbGQoMikge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuI3skbnN9dG9vbGJhcl9faXRlbS0tbGltaXRlciB7XG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPGxhcHRvcCcpIHtcbiAgICAgICAgICAgICAgICBtYXJnaW46IDAgYXV0bztcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJjpudGgtY2hpbGQoMykge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuYm94LWFjdGlvbnMsXG4gICAgLmFjdGlvbnMge1xuICAgICAgICBhICsgYSB7XG4gICAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwIDAuN3JlbSAwIDAuNXJlbTtcbiAgICAgICAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDFweDtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDEuMnJlbTtcbiAgICAgICAgICAgICAgICBib3JkZXItcmlnaHQ6ICRkYXNoYm9hcmRfaGVhZGxpbmUtbGlua3Mtc2VwYXJhdG9yO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgYSB7XG4gICAgICAgICAgICBmb250LXdlaWdodDogJGRhc2hib2FyZF9saW5rcy1mb250LXdlaWdodDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8vIFRhYmxlcyBub3QgcGxhY2VkIGluc2lkZSBib3ggaW4gbWFya3VwXG4gICAgLnRhYmxlLXdyYXBwZXIsXG4gICAgLm9yZGVycy1oaXN0b3J5LFxuICAgIC5mb3JtLXdpc2hsaXN0LWl0ZW1zIHtcbiAgICAgICAgYmFja2dyb3VuZDogJGRhc2hib2FyZF9ib3hlcy1iYWNrZ3JvdW5kO1xuXG4gICAgICAgIEBpZiAoJGRhc2hib2FyZF9oYXMtZGFya2VyLWJhY2tncm91bmQgPT0gdHJ1ZSkge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgfVxuXG4gICAgICAgICYgKyAudG9vbGJhcixcbiAgICAgICAgJiArIC5hY3Rpb25zLXRvb2xiYXIge1xuICAgICAgICAgICAgYmFja2dyb3VuZDogJGRhc2hib2FyZF9ib3hlcy1iYWNrZ3JvdW5kO1xuICAgICAgICAgICAgcGFkZGluZzogJGRhc2hib2FyZF9ib3hlcy1pbm5lci1wYWRkaW5nO1xuICAgICAgICB9XG5cbiAgICAgICAgJi5vcmRlci1pdGVtcyArIC5hY3Rpb25zLXRvb2xiYXIge1xuICAgICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgfVxuXG4gICAgICAgICYgKyAudG9vbGJhciB7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5hY3Rpb24ge1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLm9yZGVycy1oaXN0b3J5LFxuICAgIC5mb3JtLXdpc2hsaXN0LWl0ZW1zLFxuICAgIC5yZXZpZXdzLFxuICAgIC50cmFuc2FjdGlvbnMge1xuICAgICAgICBAaWYgKCRkYXNoYm9hcmRfaGFzLWRhcmtlci1iYWNrZ3JvdW5kID09IHRydWUpIHtcbiAgICAgICAgICAgIHBhZGRpbmc6ICRkYXNoYm9hcmRfYm94ZXMtaW5uZXItcGFkZGluZztcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5mb3JtLXdpc2hsaXN0LWl0ZW1zIHtcbiAgICAgICAgLmFjdGlvbnMtdG9vbGJhciAucHJpbWFyeSB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAycmVtO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPD1sYXB0b3AnKSB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblxuICAgICAgICAgICAgICAgIC5hY3Rpb246bGFzdC1jaGlsZCB7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDFyZW07XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmZvcm0tcHdhbm90aWZpY2F0aW9ucy1tYW5hZ2Uge1xuICAgICAgICAuZmllbGRzZXQge1xuICAgICAgICAgICAgbWF4LXdpZHRoOiBpbml0aWFsICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cblxuICAgICAgICAuZmllbGQge1xuICAgICAgICAgICAgZmxleC13cmFwOiBub3dyYXA7XG4gICAgICAgIH1cblxuICAgICAgICAuYWN0aW9ucy10b29sYmFyIHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6ICRkYXNoYm9hcmRfc3BhY2UtYmV0d2Vlbi1ib3hlcztcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC4jeyRuc310b29sYmFyX19pdGVtLS1hbW91bnQge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIH1cblxuICAgIC50b29sYmFyIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJzx0YWJsZXQnKSB7XG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJzxsYXB0b3AnKSB7XG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICB9XG5cbiAgICAgICAgJjo6YWZ0ZXIsXG4gICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG5cbiAgICAgICAgLiN7JG5zfXRvb2xiYXJfX2l0ZW0ge1xuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJzxsYXB0b3AnKSB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgICAgICAgICBtYXJnaW46IGF1dG87XG5cbiAgICAgICAgICAgICAgICBwIHtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICYtLWFtb3VudCB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMS41cmVtO1xuXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz49bGFwdG9wJykge1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKCc8dGFibGV0Jykge1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICArIC4jeyRuc310b29sYmFyX19pdGVtLS1saW1pdGVyIHtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICYtLWxpbWl0ZXIge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKCc8bGFwdG9wJykge1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAyLjVyZW07XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz49bGFwdG9wJykge1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC50b29sYmFyLWFtb3VudCB7XG4gICAgICAgICAgICBwYWRkaW5nLXRvcDogMDtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cblxuICAgICAgICAucGFnZXMge1xuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJzx0YWJsZXQnKSB7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PXRhYmxldCcpIHtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogc3RhdGljO1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAubGltaXRlciB7XG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPHRhYmxldCcpIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAubGFiZWwge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKCc8dGFibGV0Jykge1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmLndpc2hsaXN0LXRvb2xiYXIge1xuICAgICAgICAgICAgYnIge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBAaWYgKCRkYXNoYm9hcmRfaGFzLWRhcmtlci1iYWNrZ3JvdW5kID09IHRydWUpIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAkZGFzaGJvYXJkX2JveGVzLWlubmVyLXBhZGRpbmc7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAkZGFzaGJvYXJkX2JveGVzLWJhY2tncm91bmQ7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuYWN0aW9ucy10b29sYmFyID4gLnNlY29uZGFyeSAuYWN0aW9uLmJhY2ssXG4gICAgLnNlY29uZGFyeSAuYWN0aW9uLmVkaXQtZW1haWwtcHJlZmVyZW5jZXMge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuXG4gICAgICAgIC5yZXZpZXctY3VzdG9tZXItdmlldyAmIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmJveCxcbiAgICAuYWRkcmVzc2VzIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz49cGhvbmVMZycpIHtcbiAgICAgICAgICAgIHdpZHRoOiA0OCU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuYm94LWNvbnRlbnQsXG4gICAgLmFkZHJlc3NlcyAuaXRlbSB7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiAkZGFzaGJvYXJkX3RleHQtZm9udC13ZWlnaHQ7XG4gICAgICAgIGNvbG9yOiAkZGFzaGJvYXJkX3RleHQtY29sb3I7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAkZGFzaGJvYXJkX3RleHQtbGluZS1oZWlnaHQ7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgfVxuXG4gICAgLnRvb2x0aXAud3JhcHBlciB7XG4gICAgICAgIGZvbnQtc2l6ZTogJGRhc2hib2FyZF9saW5rcy1mb250LXNpemU7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAwLjVyZW07XG4gICAgfVxuXG4gICAgLmNob2ljZS5wZXJzaXN0ZW50IHtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDEuNXJlbTtcbiAgICB9XG5cbiAgICAvLyBPcmRlciBzY3Rpb24gYW5kIHBhZ2VcbiAgICAudGFibGUtb3JkZXItaXRlbXMge1xuICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPGxhcHRvcCcpIHtcbiAgICAgICAgICAgIC4jeyRuc310YWJsZV9fY29sOmxhc3QtY2hpbGQge1xuICAgICAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAycmVtO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAucHJpY2UtZXhjbHVkaW5nLXRheCxcbiAgICAgICAgICAgIC5wcmljZS1pbmNsdWRpbmctdGF4LFxuICAgICAgICAgICAgLml0ZW1zLXF0eSxcbiAgICAgICAgICAgIC5wcm9kdWN0LWl0ZW0tbmFtZSB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkZGFzaGJvYXJkX3ByaWNlLWZvbnQtY29sb3I7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC4jeyRuc31jYXJ0LWl0ZW1fX29wdGlvbnMtbGFiZWwge1xuICAgICAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICAgICAgICAgICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMXJlbTtcblxuICAgICAgICAgICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgICAgICAgICBjb250ZW50OiAnOic7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuI3skbnN9dGFibGVfX2NvbC5zdWJ0b3RhbCB7XG4gICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLnByaWNlLWV4Y2x1ZGluZy10YXggLnByaWNlIHtcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLml0ZW1zLXF0eSB7XG4gICAgICAgICAgICBAaW5jbHVkZSByZXNldC1saXN0LXN0eWxlKCk7XG5cbiAgICAgICAgICAgIC5pdGVtIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwLjVyZW07XG5cbiAgICAgICAgICAgICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5hY3Rpb25zIHtcbiAgICAgICAgLnNhbGVzLW9yZGVyLXZpZXcgJixcbiAgICAgICAgLnNhbGVzLW9yZGVyLWludm9pY2UgJixcbiAgICAgICAgLnNhbGVzLW9yZGVyLXNoaXBtZW50ICYge1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAycmVtO1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5vcmRlciB7XG4gICAgICAgICAgICAuc2FsZXMtb3JkZXItdmlldyAmLFxuICAgICAgICAgICAgLnNhbGVzLW9yZGVyLWludm9pY2UgJixcbiAgICAgICAgICAgIC5zYWxlcy1vcmRlci1zaGlwbWVudCAmIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBidXR0b24oXG4gICAgICAgICAgICAgICAgICAgICR0eXBlOiAkZGFzaGJvYXJkLWJ1dHRvbl90eXBlLFxuICAgICAgICAgICAgICAgICAgICAkaWNvbl9wb3M6ICRkYXNoYm9hcmQtYnV0dG9uX2ljb24tcG9zXG4gICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6ICRkYXNoYm9hcmQtYnV0dG9uX3NtYWxsLWZvbnQtc2l6ZTtcbiAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDFyZW07XG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMC44cmVtO1xuXG4gICAgICAgICAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICBzcGFuIHtcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgYnV0dG9uX3NwYW4oXG4gICAgICAgICAgICAgICAgICAgICAgICAkdHlwZTogJGRhc2hib2FyZC1idXR0b25fdHlwZSxcbiAgICAgICAgICAgICAgICAgICAgICAgICRpY29uX3BvczogJGRhc2hib2FyZC1idXR0b25faWNvbi1wb3NcbiAgICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAucHJpbnQge1xuICAgICAgICAgICAgLnNhbGVzLW9yZGVyLXZpZXcgJixcbiAgICAgICAgICAgIC5zYWxlcy1vcmRlci1pbnZvaWNlICYsXG4gICAgICAgICAgICAuc2FsZXMtb3JkZXItc2hpcG1lbnQgJiB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnV0dG9uKFxuICAgICAgICAgICAgICAgICAgICAkdHlwZTogJGRhc2hib2FyZC1idXR0b25fc2Vjb25kYXJ5LXR5cGUsXG4gICAgICAgICAgICAgICAgICAgICRpY29uX3BvczogJGRhc2hib2FyZC1idXR0b25faWNvbi1wb3NcbiAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogJGRhc2hib2FyZC1idXR0b25fc21hbGwtZm9udC1zaXplO1xuICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMXJlbTtcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwLjhyZW07XG5cbiAgICAgICAgICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIHNwYW4ge1xuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBidXR0b25fc3BhbihcbiAgICAgICAgICAgICAgICAgICAgICAgICR0eXBlOiAkZGFzaGJvYXJkLWJ1dHRvbl9zZWNvbmRhcnktdHlwZSxcbiAgICAgICAgICAgICAgICAgICAgICAgICRpY29uX3BvczogJGRhc2hib2FyZC1idXR0b25faWNvbi1wb3NcbiAgICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBSZXZpZXdzIHNlY3Rpb24gYW5kIHBhZ2VcbiAgICAuYmxvY2stcmV2aWV3cy1kYXNoYm9hcmQge1xuICAgICAgICAucHJvZHVjdC1uYW1lIHtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiAkZGFzaGJvYXJkX2xpbmtzLWZvbnQtd2VpZ2h0O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnJhdGluZy1yZXN1bHQge1xuICAgICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgICAgd2lkdGg6IGF1dG87XG5cbiAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAucmF0aW5nLXN1bW1hcnkuaXRlbSB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIG92ZXJmbG93OiB2aXNpYmxlO1xuICAgIH1cblxuICAgIC5jdXN0b21lci1yZXZpZXcge1xuICAgICAgICAucHJvZHVjdC1uYW1lIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGhlYWRsaW5lKCRmb250LXNpemVfaGVhZGxpbmUtNCk7XG4gICAgICAgIH1cblxuICAgICAgICAucmV2aWV3LXRpdGxlIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGhlYWRsaW5lKCRmb250LXNpemVfaGVhZGxpbmUtNCk7XG4gICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgICAgICAgfVxuXG4gICAgICAgICYudmlldyB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAycmVtO1xuXG4gICAgICAgICAgICAucmV2aWV3LnRpdGxlLFxuICAgICAgICAgICAgLnJhdGluZ3Mtc3VtbWFyeSxcbiAgICAgICAgICAgIC5wcm9kdWN0LWRldGFpbHMge1xuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDJyZW07XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAucHJvZHVjdC1kZXRhaWxzIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDRyZW07XG4gICAgICAgIH1cblxuICAgICAgICAucHJvZHVjdC1tZWRpYSB7XG4gICAgICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMyU7XG4gICAgICAgICAgICBtYXgtd2lkdGg6IDI4LjVyZW07XG4gICAgICAgICAgICB3aWR0aDogMzAlO1xuICAgICAgICB9XG5cbiAgICAgICAgLnJldmlldy1kZXRhaWxzIC5jdXN0b21lci1yZXZpZXctcmF0aW5nIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDJyZW07XG5cbiAgICAgICAgICAgIC5pdGVtIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuXG4gICAgICAgICAgICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAucmV2aWV3LWRldGFpbHMgLnJldmlldy10aXRsZSB7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMS4xO1xuICAgICAgICAgICAgZm9udC1zaXplOiAxLjhyZW07XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAxLjVyZW07XG4gICAgICAgICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMnJlbTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5yZXZpZXctZGV0YWlscyAucmV2aWV3LWNvbnRlbnQge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMnJlbTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5wcm9kdWN0LXJldmlld3Mtc3VtbWFyeSAucmF0aW5nLXN1bW1hcnksXG4gICAgICAgIC5wcm9kdWN0LXJldmlld3Mtc3VtbWFyeSAucmV2aWV3cy1hY3Rpb25zIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB9XG4gICAgfVxuXG5cbiAgICAuY3JlYXRlLWFjY291bnRfX2JveC1iMmMtYjJie1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDJyZW07XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz49dGFibGV0Jykge1xuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIH1cblxuICAgICAgICAuYjJjLWIyYl9ib3h7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAwLjVyZW07XG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPj10YWJsZXQnKSB7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAxcmVtO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuICAgIC8vIEFkZHJlc3MgZm9ybXMgc2VjdGlvbnNcbiAgICAuZm9ybS5jcmVhdGUuYWNjb3VudCxcbiAgICAuZm9ybS1hZGRyZXNzLWVkaXQsXG4gICAgLmZvcm0tZWRpdC1hY2NvdW50LFxuICAgIC5mb3JtLnBhc3N3b3JkLnJlc2V0LFxuICAgIC5mb3JtLnNlbmQuY29uZmlybWF0aW9uLFxuICAgIC5mb3JtLnBhc3N3b3JkLmZvcmdldCxcbiAgICAjYXdfZ2lmdGNhcmRfX2NoZWNrX2NvZGVfZm9ybSB7XG4gICAgICAgIGJhY2tncm91bmQ6ICRkYXNoYm9hcmRfYm94ZXMtYmFja2dyb3VuZDtcbiAgICAgICAgcGFkZGluZzogJGRhc2hib2FyZF9ib3hlcy1pbm5lci1wYWRkaW5nO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICAgICAgICBib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJhZGl1c19iYXNlO1xuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PXRhYmxldCcpIHtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICB9XG5cbiAgICAgICAgYnIge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5mdWxsbmFtZSB7XG4gICAgICAgICAgICAubGFiZWwge1xuICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC8vIEluIHRoZW1lLWZyb250ZW5kLWJsYW5rL01hZ2VudG9fQ3VzdG9tZXIvd2ViL2Nzcy9zb3VyY2UvX21vZHVsZS5sZXNzIHRoaXMgbGFiZWwgaXMgdmlzdWFsbHkgaGlkZGVuLFxuICAgICAgICAgICAgLy8gYW5kIGZpcnN0IGxhYmVsIHdpZHRoIG11c3QgYmUgMXB4IGhlcmVcbiAgICAgICAgICAgID4gLmxhYmVsIHtcbiAgICAgICAgICAgICAgICB3aWR0aDogMXB4O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuY29udHJvbCB7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuYWN0aW9uLnByaW1hcnkge1xuICAgICAgICAgICAgZm9udC1zaXplOiAkZGFzaGJvYXJkX2J1dHRvbl9mb3Jtcy1mb250LXNpemU7XG4gICAgICAgIH1cblxuICAgICAgICAuYmFjayB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG5cbiAgICAgICAgLmZpZWxkc2V0IHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDJyZW07XG4gICAgICAgIH1cblxuICAgICAgICAuZmllbGRzZXQtZnVsbG5hbWUge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgfVxuICAgIH1cbiAgICAuZm9ybS5jcmVhdGUuYWNjb3VudHtcbiAgICAgICAgYmFja2dyb3VuZDogI2ZmZjs7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzX2Jhc2U7XG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PXRhYmxldCcpIHtcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogNC41cmVtO1xuICAgICAgICAgICAgcGFkZGluZy10b3A6IDQuNXJlbTtcbiAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiA0LjVyZW07XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuZm9ybS1lZGl0LWFjY291bnQsXG4gICAgLmZvcm0tYWRkcmVzcy1lZGl0IHtcbiAgICAgICAgQGlmICgkZGFzaGJvYXJkX2hhcy1kYXJrZXItYmFja2dyb3VuZCA9PSB0cnVlKSB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAkZGFzaGJvYXJkX3NwYWNlLWJldHdlZW4tYm94ZXM7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuYWRkcmVzc2VzIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuXG4gICAgLmJsb2NrLWFkZHJlc3Nlcy1saXN0IHtcbiAgICAgICAgQGlmICgkZGFzaGJvYXJkX2hhcy1kYXJrZXItYmFja2dyb3VuZCA9PSB0cnVlKSB7XG4gICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PXRhYmxldCcpIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmJsb2NrLWFkZHJlc3Nlcy1saXN0ICsgLmFjdGlvbnMtdG9vbGJhciB7XG4gICAgICAgIGJhY2tncm91bmQ6ICRkYXNoYm9hcmRfYm94ZXMtYmFja2dyb3VuZDtcblxuICAgICAgICBAaWYgKCRkYXNoYm9hcmRfaGFzLWRhcmtlci1iYWNrZ3JvdW5kID09IHRydWUpIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDBcbiAgICAgICAgICAgICAgICAkZGFzaGJvYXJkX2JveGVzLWlubmVyLXBhZGRpbmdcbiAgICAgICAgICAgICAgICAkZGFzaGJvYXJkX2JveGVzLWlubmVyLXBhZGRpbmc7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAkZGFzaGJvYXJkX3NwYWNlLWJldHdlZW4tYm94ZXM7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuYm94LWJpbGxpbmctYWRkcmVzcyB7XG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCc8dGFibGV0Jykge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMnJlbTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC50YWJsZS1hZGRpdGlvbmFsLWFkZHJlc3Nlcy1pdGVtcyB7XG4gICAgICAgIC5jb2wuc3RhdGUge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoLFxuICAgICAgICB0ZCB7XG4gICAgICAgICAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPnRhYmxldCcpIHtcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAwICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKCc+dGFibGV0Jykge1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLmFjdGlvbi5kZWxldGUge1xuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz49bGFwdG9wJywgJzxsYXB0b3BMZycpIHtcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcblxuICAgICAgICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5hY3Rpb24uZWRpdCB7XG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPj1sYXB0b3AnLCAnPGxhcHRvcExnJykge1xuICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8vIE5ld3NsZXR0ZXIgc2VjdGlvblxuICAgIC5mb3JtLW5ld3NsZXR0ZXItbWFuYWdlIHtcbiAgICAgICAgYmFja2dyb3VuZDogJGRhc2hib2FyZF9ib3hlcy1iYWNrZ3JvdW5kO1xuXG4gICAgICAgIEBpZiAoJGRhc2hib2FyZF9oYXMtZGFya2VyLWJhY2tncm91bmQgPT0gdHJ1ZSkge1xuICAgICAgICAgICAgcGFkZGluZzogJGRhc2hib2FyZF9ib3hlcy1pbm5lci1wYWRkaW5nO1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogJGRhc2hib2FyZF9zcGFjZS1iZXR3ZWVuLWJveGVzO1xuICAgICAgICB9XG5cbiAgICAgICAgLmZpZWxkc2V0IHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDFyZW07XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19idXR0b24ge1xuICAgICAgICBAaW5jbHVkZSBidXR0b24oXG4gICAgICAgICAgICAkdHlwZTogJGRhc2hib2FyZC1idXR0b25fdHlwZSxcbiAgICAgICAgICAgICRpY29uX3BvczogJGRhc2hib2FyZC1idXR0b24taWNvbi1wb3NcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICAmX19idXR0b24tc3BhbiB7XG4gICAgICAgIEBpbmNsdWRlIGJ1dHRvbl9zcGFuKFxuICAgICAgICAgICAgJHR5cGU6ICRkYXNoYm9hcmQtYnV0dG9uX3R5cGUsXG4gICAgICAgICAgICAkaWNvbl9wb3M6ICRkYXNoYm9hcmQtYnV0dG9uLWljb24tcG9zXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgJl9fYnV0dG9uLWljb24ge1xuICAgICAgICBAaW5jbHVkZSBidXR0b25faWNvbihcbiAgICAgICAgICAgICR0eXBlOiAkZGFzaGJvYXJkLWJ1dHRvbl90eXBlLFxuICAgICAgICAgICAgJGljb25fcG9zOiAkZGFzaGJvYXJkLWJ1dHRvbi1pY29uLXBvc1xuICAgICAgICApO1xuICAgIH1cblxuICAgIC5vcmRlci1kZXRhaWxzLWl0ZW1zLm9yZGVyZWQge1xuICAgICAgICBAaWYgKCRkYXNoYm9hcmRfaGFzLWRhcmtlci1iYWNrZ3JvdW5kID09IHRydWUpIHtcbiAgICAgICAgICAgIHBhZGRpbmc6ICRkYXNoYm9hcmRfYm94ZXMtaW5uZXItcGFkZGluZztcbiAgICAgICAgICAgIHBhZGRpbmctdG9wOiAwLjVyZW07XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAkZGFzaGJvYXJkX2JveGVzLWJhY2tncm91bmQ7XG4gICAgICAgIH1cblxuICAgICAgICBAaWYgKCRkYXNoYm9hcmRfaGlkZS1zZWN0aW9ucy1zZXBhcmF0b3JzID09IHRydWUpIHtcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b206IG5vbmU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAub3JkZXItbGlua3Mge1xuICAgICAgICBAaWYgKCRkYXNoYm9hcmRfaGFzLWRhcmtlci1iYWNrZ3JvdW5kID09IHRydWUpIHtcbiAgICAgICAgICAgIHBhZGRpbmc6ICRkYXNoYm9hcmRfYm94ZXMtaW5uZXItcGFkZGluZztcbiAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAxcmVtO1xuICAgICAgICAgICAgbWFyZ2luOiAwIDAgJGRhc2hib2FyZF9zcGFjZS1iZXR3ZWVuLWJveGVzO1xuICAgICAgICAgICAgYmFja2dyb3VuZDogJGRhc2hib2FyZF9ib3hlcy1iYWNrZ3JvdW5kO1xuICAgICAgICB9XG5cbiAgICAgICAgQGlmICgkZGFzaGJvYXJkX2hpZGUtc2VjdGlvbnMtc2VwYXJhdG9ycyA9PSB0cnVlKSB7XG4gICAgICAgICAgICBib3JkZXItYm90dG9tOiBub25lO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fd2lzaGxpc3QtZ3Vlc3Qge1xuICAgICAgICBwYWRkaW5nLXRvcDogMnJlbTtcbiAgICB9XG5cbiAgICAmX193aXNobGlzdC1ndWVzdC1jb3B5IHtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAxcmVtO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgfVxuXG4gICAgJl9fd2lzaGxpc3QtZ3Vlc3QtY29weS1pY29uIHtcbiAgICAgICAgd2lkdGg6IDJyZW07XG4gICAgICAgIGhlaWdodDogMnJlbTtcbiAgICAgICAgZmlsbDogJGRhc2hib2FyZF90ZXh0LWNvbG9yO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgfVxufVxuXG4uI3skbnN9Y29udGFpbmVyIHtcbiAgICAmLS1jcmVhdGUtYWNjb3VudC1wYWdlLFxuICAgICYtLWxvZ2luLXBhZ2UsXG4gICAgJi0tc3VjY2Vzcy1wYWdlLFxuICAgICYtLWxvZ291dC1wYWdlLFxuICAgICYtLWNvbnRhY3QtcGFnZSB7XG4gICAgICAgIHBhZGRpbmctdG9wOiAycmVtO1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMnJlbTtcblxuICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPj1sYXB0b3AnKSB7XG4gICAgICAgICAgICBwYWRkaW5nLXRvcDogM3JlbTtcbiAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiA1cmVtO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJi0tbXktYWNjb3VudC1wYWdlIHtcbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz49dGFibGV0JywgJzxsYXB0b3AnKSB7XG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDEuNXJlbTtcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDEuNXJlbTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLmFjY291bnQgLnRhYmxlLXdyYXBwZXI6bGFzdC1jaGlsZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbn1cblxuLmFjY291bnQgLnRhYmxlLXdyYXBwZXIgLmFjdGlvbiB7XG4gICAgbWFyZ2luLXJpZ2h0OiAxLjVyZW07XG59XG5cbi5hY2NvdW50IC50YWJsZS13cmFwcGVyIC5hY3Rpb246bGFzdC1jaGlsZCB7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xufVxuXG4uYmxvY2sgcDpsYXN0LWNoaWxkIHtcbiAgICBtYXJnaW46IDA7XG59XG5cbi5ibG9jayAuYm94LWFjdGlvbnMge1xuICAgIG1hcmdpbi10b3A6IDAuNXJlbTtcbn1cblxuLmFjY291bnQucGFnZS1wcmludCB7XG4gICAgLml0ZW1zLXF0eSB7XG4gICAgICAgIEBpbmNsdWRlIHJlc2V0LWxpc3Qtc3R5bGUoKTtcbiAgICB9XG59XG5cblxuLmNzLWRhc2hib2FyZCAuZm9ybS1hZGRyZXNzLWVkaXR7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgICBib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJhZGl1c19iYXNlO1xufSIsIkBpbXBvcnQgJ2NvbmZpZy92YXJpYWJsZXMnO1xuQGltcG9ydCAndmVuZG9ycy9pbmNsdWRlLW1lZGlhJztcbkBpbXBvcnQgJ2V0Yy92aWV3LnNjc3MnO1xuQGltcG9ydCAndXRpbHMvZGVlcC1nZXQvZGVlcC1nZXQuc2Nzcyc7XG5cbiRsYXlvdXQtMmNvbC1sZWZ0X2NvbHVtbnMtcGVyLXJvdzogZGVlcC1nZXQoXG4gICAgJHZpZXcteG1sLFxuICAgIHZhcnMsXG4gICAgTWFnZVN1aXRlX0NvbnRlbnRDb25zdHJ1Y3RvcixcbiAgICBjb2x1bW5zLFxuICAgIG9uZS1jb2x1bW5cbikgIWRlZmF1bHQ7XG4kbGF5b3V0LTJjb2wtbGVmdF93YXMtc2VwYXJhdG9yLWNhbGxlZC15ZXQ6IGZhbHNlICFkZWZhdWx0O1xuXG4kbGF5b3V0LTJjb2wtbGVmdF9lbGVtZW50cy1ndXR0ZXItdGFibGV0OiAkcGFnZV9lZGdlLWd1dHRlciAhZGVmYXVsdDtcbiRsYXlvdXQtMmNvbC1sZWZ0X2VsZW1lbnRzLWd1dHRlci1kZXNrdG9wOiAkbGF5b3V0LTJjb2wtbGVmdF9lbGVtZW50cy1ndXR0ZXItdGFibGV0ICFkZWZhdWx0O1xuJGxheW91dC0yY29sLWxlZnRfZWxlbWVudHMtZ3V0dGVyLWRlc2t0b3A6IDIgKlxuICAgICRsYXlvdXQtMmNvbC1sZWZ0X2VsZW1lbnRzLWd1dHRlci10YWJsZXQgIWRlZmF1bHQ7XG4kbGF5b3V0LTJjb2wtbGVmdF9lbGVtZW50cy1zZXBhcmF0b3ItYXBwbHk6IHRydWUgIWRlZmF1bHQ7XG4kbGF5b3V0LTJjb2wtbGVmdF9lbGVtZW50cy1zZXBhcmF0b3ItY29sb3I6ICRjb2xvcl9ib3JkZXItMjAwICFkZWZhdWx0O1xuXG4kbGF5b3V0LTJjb2wtbGVmdF9sYXlvdXQtYWxpZ24taXRlbXM6IHN0cmV0Y2ggIWRlZmF1bHQ7XG5cbiRsYXlvdXQtMmNvbC1sZWZ0X3NpZGViYXItcGFkZGluZy10YWJsZXQ6IDBcbiAgICAkbGF5b3V0LTJjb2wtbGVmdF9lbGVtZW50cy1ndXR0ZXItdGFibGV0IDAgMCAhZGVmYXVsdDtcbiRsYXlvdXQtMmNvbC1sZWZ0X3NpZGViYXItcGFkZGluZy1kZXNrdG9wOiAwXG4gICAgJGxheW91dC0yY29sLWxlZnRfZWxlbWVudHMtZ3V0dGVyLWRlc2t0b3AgMCAwICFkZWZhdWx0O1xuJGxheW91dC0yY29sLWxlZnRfc2lkZWJhci1ib3JkZXItcmlnaHQ6IDJweCBzb2xpZFxuICAgICRsYXlvdXQtMmNvbC1sZWZ0X2VsZW1lbnRzLXNlcGFyYXRvci1jb2xvciAhZGVmYXVsdDtcblxuJGxheW91dC0yY29sLWxlZnRfbWFpbi10b3Atc3BhY2luZzogMS41cmVtICFkZWZhdWx0O1xuJGxheW91dC0yY29sLWxlZnRfbWFpbi1wYWRkaW5nOiAkbGF5b3V0LTJjb2wtbGVmdF9tYWluLXRvcC1zcGFjaW5nIDAgMFxuICAgICRsYXlvdXQtMmNvbC1sZWZ0X2VsZW1lbnRzLWd1dHRlci10YWJsZXQgIWRlZmF1bHQ7XG4kbGF5b3V0LTJjb2wtbGVmdF9tYWluLXBhZGRpbmctdGFibGV0OiAkbGF5b3V0LTJjb2wtbGVmdF9tYWluLXRvcC1zcGFjaW5nIDAgMFxuICAgICRsYXlvdXQtMmNvbC1sZWZ0X2VsZW1lbnRzLWd1dHRlci10YWJsZXQgIWRlZmF1bHQ7XG4kbGF5b3V0LTJjb2wtbGVmdF9tYWluLXBhZGRpbmctZGVza3RvcDogJGxheW91dC0yY29sLWxlZnRfbWFpbi10b3Atc3BhY2luZyAwIDBcbiAgICAkbGF5b3V0LTJjb2wtbGVmdF9lbGVtZW50cy1ndXR0ZXItZGVza3RvcCAhZGVmYXVsdDtcblxuQG1peGluIHR3by1jb2x1bW5zLWxlZnQoJGFwcGx5LWJvcmRlcjogdHJ1ZSkge1xuICAgICZfX2NvbHVtbnMge1xuICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPj10YWJsZXQnKSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6ICRsYXlvdXQtMmNvbC1sZWZ0X2xheW91dC1hbGlnbi1pdGVtcztcblxuICAgICAgICAgICAgJjpiZWZvcmUsXG4gICAgICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fbWVzc2FnZXMge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG5cbiAgICAmX19zaWRlYmFyIHtcbiAgICAgICAgb3JkZXI6IDE7XG5cbiAgICAgICAgQGVhY2ggJGJyZWFrcG9pbnQsICRpdGVtc1BlclJvdyBpbiAkbGF5b3V0LTJjb2wtbGVmdF9jb2x1bW5zLXBlci1yb3cge1xuICAgICAgICAgICAgQGlmICRicmVha3BvaW50ICE9IHBob25lIGFuZCAkYnJlYWtwb2ludCAhPSBwaG9uZUxnIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPj0jeyRicmVha3BvaW50fScpIHtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IGNhbGMoMTAwJSAvICN7JGl0ZW1zUGVyUm93fSk7XG5cbiAgICAgICAgICAgICAgICAgICAgQGlmICRpdGVtc1BlclJvdyA+XG4gICAgICAgICAgICAgICAgICAgICAgICAxIGFuZFxuICAgICAgICAgICAgICAgICAgICAgICAgJGxheW91dC0yY29sLWxlZnRfd2FzLXNlcGFyYXRvci1jYWxsZWQteWV0ID09XG4gICAgICAgICAgICAgICAgICAgICAgICBmYWxzZSBhbmRcbiAgICAgICAgICAgICAgICAgICAgICAgICRsYXlvdXQtMmNvbC1sZWZ0X3NpZGViYXItYm9yZGVyLXJpZ2h0ICE9XG4gICAgICAgICAgICAgICAgICAgICAgICBub25lXG4gICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIEBpZiAkYXBwbHktYm9yZGVyID09IHRydWUge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlci1yaWdodDogJGxheW91dC0yY29sLWxlZnRfc2lkZWJhci1ib3JkZXItcmlnaHQ7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICRsYXlvdXQtMmNvbC1sZWZ0X3dhcy1zZXBhcmF0b3ItY2FsbGVkLXlldDogdHJ1ZTtcbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgIEBpZiAkYnJlYWtwb2ludCA9PSAndGFibGV0JyB7XG4gICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAkbGF5b3V0LTJjb2wtbGVmdF9zaWRlYmFyLXBhZGRpbmctdGFibGV0O1xuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgQGlmICRicmVha3BvaW50ID09ICdsYXB0b3AnIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6ICRsYXlvdXQtMmNvbC1sZWZ0X3NpZGViYXItcGFkZGluZy1kZXNrdG9wO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fbWFpbiB7XG4gICAgICAgIG9yZGVyOiAyO1xuXG4gICAgICAgIEBlYWNoICRicmVha3BvaW50LCAkaXRlbXNQZXJSb3cgaW4gJGxheW91dC0yY29sLWxlZnRfY29sdW1ucy1wZXItcm93IHtcbiAgICAgICAgICAgIEBpZiAkYnJlYWtwb2ludCAhPSBwaG9uZSBhbmQgJGJyZWFrcG9pbnQgIT0gcGhvbmVMZyB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz49I3skYnJlYWtwb2ludH0nKSB7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAoMTAwJSAvICN7JGl0ZW1zUGVyUm93fSkpO1xuXG4gICAgICAgICAgICAgICAgICAgIEBpZiAkYnJlYWtwb2ludCA9PSAndGFibGV0JyB7XG4gICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAkbGF5b3V0LTJjb2wtbGVmdF9tYWluLXBhZGRpbmctdGFibGV0O1xuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgQGlmICRicmVha3BvaW50ID09ICdsYXB0b3AnIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6ICRsYXlvdXQtMmNvbC1sZWZ0X21haW4tcGFkZGluZy1kZXNrdG9wO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmNzLXBhZ2UtY2F0ZWdvcnlfX21haW4tLXNlYXJjaC1uby1yZXN1bHQge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG59XG4iLCJAaW1wb3J0ICdjb25maWcvdmFyaWFibGVzJztcbkBpbXBvcnQgJ2NvbmZpZy9icmVha3BvaW50cyc7XG5AaW1wb3J0ICd2ZW5kb3JzL2luY2x1ZGUtbWVkaWEnO1xuXG5AbWl4aW4gY29tcG9uZW50LXNwYWNpbmcoJG1hcmdpbnMtY29uZmlnOiAkY29tcG9uZW50LXNwYWNpbmctY29uZmlndXJhdGlvbikge1xuICAgIEBpZiBtYXAtaGFzLWtleSgkbWFyZ2lucy1jb25maWcsIGRlZmF1bHQpIHtcbiAgICAgICAgbWFyZ2luOiBtYXAtZ2V0KCRtYXJnaW5zLWNvbmZpZywgZGVmYXVsdCk7XG4gICAgfSBAZWxzZSB7XG4gICAgICAgIC8vIERlZmF1bHQgY29tcG9uZW50IG1hcmdpbiB2YWx1ZVxuICAgICAgICBtYXJnaW46IDAgMCAzcmVtO1xuICAgIH1cblxuICAgIEBpZiBtYXAtaGFzLWtleSgkbWFyZ2lucy1jb25maWcsIHJlc3BvbnNpdmUpIHtcbiAgICAgICAgLy8gQWRkaW5nIG1hcmdpbiBydWxlcyBmb3IgZWFjaCBwYXNzZWQgYnJlYWtwb2ludFxuICAgICAgICBAZWFjaCAkYnJlYWtwb2ludCwgJG1hcmdpbiBpbiBtYXAtZ2V0KCRtYXJnaW5zLWNvbmZpZywgcmVzcG9uc2l2ZSkge1xuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoI3skYnJlYWtwb2ludH0pIHtcbiAgICAgICAgICAgICAgICBtYXJnaW46ICRtYXJnaW47XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmLS1za2lwLXNwYWNpbmcge1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgfVxufVxuIiwiQGltcG9ydCAnY29uZmlnL3ZhcmlhYmxlcyc7XG5cbkBtaXhpbiBmb250LWZhbWlseSgkZm9udHMuLi4pIHtcbiAgICBAaWYgJGZvbnRzIHtcbiAgICAgICAgZm9udC1mYW1pbHk6ICRmb250cywgJGZvbnQtZmFtaWx5LWZhbGxiYWNrO1xuICAgIH0gQGVsc2Uge1xuICAgICAgICBmb250LWZhbWlseTogJGZvbnQtZmFtaWx5LWZhbGxiYWNrO1xuICAgIH1cbn1cbiIsIkBpbXBvcnQgJ2NvbmZpZy92YXJpYWJsZXMnO1xuQGltcG9ydCAnY29tcG9uZW50cy90eXBvZ3JhcGh5L2hvb2snO1xuQGltcG9ydCAndXRpbHMvZm9udC1mYW1pbHknO1xuXG4kdHlwb2dyYXBoeV9oZWFkbGluZS1mb250LWZhbWlseTogJGZvbnRfZmFtaWx5LXByaW1hcnkgIWRlZmF1bHQ7XG4kdHlwb2dyYXBoeV9oZWFkbGluZS1mb250LXdlaWdodDogNzAwICFkZWZhdWx0O1xuJHR5cG9ncmFwaHlfaGVhZGxpbmUtY29sb3I6ICRjb2xvcl90ZXh0LTkwMCAhZGVmYXVsdDtcbiR0eXBvZ3JhcGh5X2hlYWRsaW5lLXRleHQtdHJhbnNmb3JtOiBub25lICFkZWZhdWx0O1xuJHR5cG9ncmFwaHlfaGVhZGxpbmUtbWFyZ2luczogMXJlbSAwIDJyZW0gIWRlZmF1bHQ7XG5cbiR0eXBvZ3JhcGh5X2xpbmstY29sb3I6ICRsaW5rLWNvbG9yX2Jhc2UgIWRlZmF1bHQ7XG4kdHlwb2dyYXBoeV9saW5rLS1ob3Zlci1jb2xvcjogJGxpbmstY29sb3JfYmFzZS1ob3ZlciAhZGVmYXVsdDtcbiR0eXBvZ3JhcGh5X2xpbmstdGV4dC1kZWNvcmF0aW9uOiBub25lICFkZWZhdWx0O1xuJHR5cG9ncmFwaHlfbGluay0taG92ZXItdGV4dC1kZWNvcmF0aW9uOiAkdHlwb2dyYXBoeV9saW5rLXRleHQtZGVjb3JhdGlvbiAhZGVmYXVsdDtcblxuJHR5cG9ncmFwaHlfbGlzdC1tYXJnaW46IDAgMCAyLjVyZW0gIWRlZmF1bHQ7XG4kdHlwb2dyYXBoeV9saXN0LXBhZGRpbmc6IDAgMCAwIDRyZW0gIWRlZmF1bHQ7XG5cbiR0eXBvZ3JhcGh5X2xpc3QtaXRlbS1tYXJnaW46IDAgMCAxcmVtICFkZWZhdWx0O1xuXG5AbWl4aW4gaGVhZGxpbmUoJGxldmVsOiAkZm9udC1zaXplX2hlYWRsaW5lLTIpIHtcbiAgICBAaW5jbHVkZSBmb250LWZhbWlseSgkdHlwb2dyYXBoeV9oZWFkbGluZS1mb250LWZhbWlseSk7XG5cbiAgICBmb250LXNpemU6ICRsZXZlbDtcbiAgICBsaW5lLWhlaWdodDogMS4xO1xuICAgIGNvbG9yOiAkdHlwb2dyYXBoeV9oZWFkbGluZS1jb2xvcjtcbiAgICBmb250LXdlaWdodDogJHR5cG9ncmFwaHlfaGVhZGxpbmUtZm9udC13ZWlnaHQ7XG4gICAgdGV4dC10cmFuc2Zvcm06ICR0eXBvZ3JhcGh5X2hlYWRsaW5lLXRleHQtdHJhbnNmb3JtO1xuICAgIG1hcmdpbjogJHR5cG9ncmFwaHlfaGVhZGxpbmUtbWFyZ2lucztcblxuICAgIEBpbmNsdWRlIGhlYWRsaW5lX2hvb2soJGxldmVsKTtcbn1cblxuQG1peGluIGxpbmsoJGNvbG9yOiAkdHlwb2dyYXBoeV9saW5rLWNvbG9yLFxuICAgICRjb2xvci1ob3ZlcjogJHR5cG9ncmFwaHlfbGluay0taG92ZXItY29sb3IsXG4gICAgJGRlY29yYXRpb246ICR0eXBvZ3JhcGh5X2xpbmstdGV4dC1kZWNvcmF0aW9uLFxuICAgICRkZWNvcmF0aW9uLWhvdmVyOiAkdHlwb2dyYXBoeV9saW5rLS1ob3Zlci10ZXh0LWRlY29yYXRpb24pIHtcblxuICAgICYsXG4gICAgJjp2aXNpdGVkIHtcbiAgICAgICAgY29sb3I6ICRjb2xvcjtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiAkZGVjb3JhdGlvbjtcbiAgICB9XG5cbiAgICAmOmhvdmVyLFxuICAgICY6Zm9jdXMsXG4gICAgJjphY3RpdmUsXG4gICAgJjp2aXNpdGVkOmhvdmVyLFxuICAgICY6dmlzaXRlZDpmb2N1cyB7XG4gICAgICAgIGNvbG9yOiAkY29sb3ItaG92ZXI7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogJGRlY29yYXRpb24taG92ZXI7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbGlua19ob29rKCk7XG59XG5cbkBtaXhpbiBsaXN0KCkge1xuICAgIG1hcmdpbjogJHR5cG9ncmFwaHlfbGlzdC1tYXJnaW47XG4gICAgcGFkZGluZzogJHR5cG9ncmFwaHlfbGlzdC1wYWRkaW5nO1xuXG4gICAgQGluY2x1ZGUgbGlzdF9ob29rKCk7XG59XG5cbkBtaXhpbiBsaXN0LWl0ZW0oKSB7XG4gICAgbWFyZ2luOiAkdHlwb2dyYXBoeV9saXN0LWl0ZW0tbWFyZ2luO1xuXG4gICAgQGluY2x1ZGUgbGlzdC1pdGVtX2hvb2soKTtcbn0iLCIvKipcbiAqIEJyZWFrcG9pbnQgY29tcG9uZW50IHVzZWQgYnkgaW5jbHVkZS1tZWRpYSB2ZW5kb3IgbGlicmFyeS5cbiAqL1xuQHVzZSAnc2FzczptYXAnO1xuLyoqXG4gKiBFeHRyYWN0cyBuZXN0ZWQga2V5cyBmcm9tIGdpdmVuIG1hcC5cbiAqIEV4YW1wbGU6IGRlZXAtZ2V0KCRzb21lLW1hcCwgc29tZSwgbmVzdGVkLCBrZXlzKTtcbiAqL1xuLyoqXG4qIERlZmF1bHQgcHJvamVjdCBicmVha3BvaW50cyAtIFtlbV1cbiovXG4vKlxuICogRnVuY3Rpb24gdG8gZ2V0IHZhbHVlIGZyb20gYSBsaXN0IG9mIHZhbHVlcywgYmFzZWQgb24gc2lkZVxuICogQHBhcmFtIHtzdHJpbmd9ICR2YXJpYWJsZTogdmFyaWFibGUgd2l0aCBhIGxpc3Qgb2YgdmFsdWVzIChsaWtlIHBhZGRpbmdzLCBtYXJnaW5zIGV0Yy4pO1xuICogQHBhcmFtIHtzdHJpbmd9ICRzaWRlOiBzaWRlICh1cCAvIHJpZ2h0IC8gZG93biAvIGxlZnQpIGZvciB3aGljaCB3ZSB3YW50IHRvIGdldCB2YWx1ZVxuICogRXhhbXBsZTpcbiAqICRjb21wb25lbnRfcGFkZGluZzogMXJlbSAycmVtIDNyZW07XG4gKiBnZXQtdmFsdWUtZnJvbS1saXN0KCRjb21wb25lbnRfcGFkZGluZywgJ3JpZ2h0JykgLy8gMnJlbVxuICogZ2V0LXZhbHVlLWZyb20tbGlzdCgkY29tcG9uZW50X3BhZGRpbmcsICdib3R0b20nKSAvLyAzcmVtXG4gKi9cbi8qIHN0eWxlbGludC1kaXNhYmxlIGJsb2NrLW5vLWVtcHR5ICovXG4vKiBzdHlsZWxpbnQtZW5hYmxlICovXG4uY3MtZm9ybSwgLmNzLWZvcm1fX2ZpZWxkc2V0IHtcbiAgYm9yZGVyOiAwO1xuICBwYWRkaW5nOiAwO1xuICBtYXJnaW46IDA7IH1cblxuLmNzLWZvcm1fX2ZpZWxkICsgLmNzLWZvcm1fX2ZpZWxkIHtcbiAgbWFyZ2luLXRvcDogMWVtOyB9XG5cbi5jcy1mb3JtLS1kaXNhYmxlZCB7XG4gIG9wYWNpdHk6IDAuNjsgfVxuXG4uY3MtZm9ybV9fYnV0dG9uIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBmb250LXNpemU6IDEuOHJlbTtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGxpbmUtaGVpZ2h0OiAxLjI3NWVtO1xuICBtYXJnaW46IDA7XG4gIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICBwYWRkaW5nOiAwLjc1ZW0gMWVtO1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuNXMsIGJvcmRlci1jb2xvciAwLjVzLCBmaWxsIDAuNXMsIGNvbG9yIDAuNXM7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIHotaW5kZXg6IDU7IH1cbiAgLmNzLWZvcm1fX2J1dHRvbjpob3ZlciwgLmNzLWZvcm1fX2J1dHRvbjpmb2N1cywgLmNzLWZvcm1fX2J1dHRvbjphY3RpdmUge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICM3ZTU3YzIgIWltcG9ydGFudDsgfVxuICAuY3MtZm9ybV9fYnV0dG9uOmJlZm9yZSwgLmNzLWZvcm1fX2J1dHRvbjphZnRlciB7XG4gICAgY29udGVudDogJyc7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogLTFweDtcbiAgICBib3R0b206IC0xcHg7XG4gICAgcmlnaHQ6IC0xcHg7IH1cbiAgLmNzLWZvcm1fX2J1dHRvbjpiZWZvcmUge1xuICAgIHdpZHRoOiAzLjRlbTtcbiAgICBib3JkZXItcmFkaXVzOiAwIDIwMHB4IDIwMHB4IDA7XG4gICAgei1pbmRleDogLTE7XG4gICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDBkZWcsIHRyYW5zcGFyZW50IDAlLCB0cmFuc3BhcmVudCAwJSwgIzRkMmM5MSAwJSwgIzRkMmM5MSAxMDAlKTsgfVxuICAuY3MtZm9ybV9fYnV0dG9uOmFmdGVyIHtcbiAgICB3aWR0aDogM2VtO1xuICAgIG1pbi13aWR0aDogYXV0bztcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNGQyYzkxO1xuICAgIHRyYW5zaXRpb246IHdpZHRoIDAuMjVzIGxpbmVhcjtcbiAgICB6LWluZGV4OiAtMjtcbiAgICBib3JkZXItcmFkaXVzOiAyMDBweDsgfVxuICAuY3MtZm9ybV9fYnV0dG9uOmhvdmVyOmFmdGVyIHtcbiAgICB3aWR0aDogY2FsYygxMDAlICsgMnB4KTsgfVxuICAuY3MtZm9ybV9fYnV0dG9uOjotbW96LWZvY3VzLWlubmVyIHtcbiAgICBib3JkZXI6IDA7XG4gICAgcGFkZGluZzogMDtcbiAgICBtYXJnaW46IDA7IH1cbiAgLmNzLWZvcm1fX2J1dHRvbiwgLmNzLWZvcm1fX2J1dHRvbjp2aXNpdGVkIHtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgYm9yZGVyLXJhZGl1czogMjAwcHg7XG4gICAgb3V0bGluZS1vZmZzZXQ6IDFweDtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICBjb2xvcjogI2ZmZjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjN2U1N2MyOyB9XG4gICAgLmNzLWZvcm1fX2J1dHRvbiAqLCAuY3MtZm9ybV9fYnV0dG9uOnZpc2l0ZWQgKiB7XG4gICAgICBjb2xvcjogI2ZmZjtcbiAgICAgIGZpbGw6ICNmZmY7IH1cbiAgLmNzLWZvcm1fX2J1dHRvbjpob3Zlcjpub3QoW2Rpc2FibGVkXSksIC5jcy1mb3JtX19idXR0b246Zm9jdXM6bm90KFtkaXNhYmxlZF0pLCAuY3MtZm9ybV9fYnV0dG9uOmFjdGl2ZTpub3QoW2Rpc2FibGVkXSkge1xuICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgY29sb3I6ICNmZmY7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzRkMmM5MTsgfVxuICAgIC5jcy1mb3JtX19idXR0b246aG92ZXI6bm90KFtkaXNhYmxlZF0pICosIC5jcy1mb3JtX19idXR0b246Zm9jdXM6bm90KFtkaXNhYmxlZF0pICosIC5jcy1mb3JtX19idXR0b246YWN0aXZlOm5vdChbZGlzYWJsZWRdKSAqIHtcbiAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgZmlsbDogI2ZmZjsgfVxuICAuY3MtZm9ybV9fYnV0dG9uW2Rpc2FibGVkXSB7XG4gICAgb3BhY2l0eTogMC42NTtcbiAgICBjdXJzb3I6IGF1dG87IH1cblxuLmNzLWZvcm1fX2J1dHRvbi1zcGFuIHtcbiAgbWFyZ2luLXRvcDogMDtcbiAgei1pbmRleDogMTtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGxpbmUtaGVpZ2h0OiAxLjI3NWVtO1xuICBsZXR0ZXItc3BhY2luZzogbm9ybWFsO1xuICBwYWRkaW5nLWxlZnQ6IDA7XG4gIHBhZGRpbmctcmlnaHQ6IDRlbTsgfVxuXG4uY3MtZm9ybV9fYnV0dG9uLWljb24ge1xuICBtYXgtd2lkdGg6IDFlbTtcbiAgbWF4LWhlaWdodDogMS44cmVtO1xuICB6LWluZGV4OiAyO1xuICBoZWlnaHQ6IGF1dG87XG4gIHdpZHRoOiAxMDAlO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogNTAlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC01MCUsIDApO1xuICBtYXJnaW4tcmlnaHQ6IDA7XG4gIHJpZ2h0OiAxZW07IH1cblxuLmZvcm0sXG4uZm9ybSAuZmllbGRzZXQge1xuICBib3JkZXI6IDA7XG4gIHBhZGRpbmc6IDA7XG4gIG1hcmdpbjogMDsgfVxuXG4uZm9ybSAuZmllbGQgKyAuZmllbGQge1xuICBtYXJnaW4tdG9wOiAwOyB9XG4iLCJAaW1wb3J0ICdjb25maWcvdmFyaWFibGVzJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvYnV0dG9uL21peGluJztcblxuJGZvcm1fYnV0dG9uLXR5cGU6ICRidXR0b25fZGVmYXVsdC10eXBlICFkZWZhdWx0O1xuJGZvcm1fYnV0dG9uLWljb24tcG9zOiAkYnV0dG9uX2RlZmF1bHQtaWNvbi1wb3MgIWRlZmF1bHQ7XG5cbi4jeyRuc31mb3JtIHtcbiAgICAmLFxuICAgICZfX2ZpZWxkc2V0IHtcbiAgICAgICAgYm9yZGVyOiAwO1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgfVxuXG4gICAgJl9fZmllbGQge1xuICAgICAgICAmICsgJiB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAxZW07XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmLS1kaXNhYmxlZCB7XG4gICAgICAgIG9wYWNpdHk6IDAuNjtcbiAgICB9XG5cbiAgICAmX19idXR0b24ge1xuICAgICAgICBAaW5jbHVkZSBidXR0b24oXG4gICAgICAgICAgICAkdHlwZTogJGZvcm1fYnV0dG9uLXR5cGUsXG4gICAgICAgICAgICAkaWNvbl9wb3M6ICRmb3JtX2J1dHRvbi1pY29uLXBvc1xuICAgICAgICApO1xuICAgIH1cblxuICAgICZfX2J1dHRvbi1zcGFuIHtcbiAgICAgICAgQGluY2x1ZGUgYnV0dG9uX3NwYW4oXG4gICAgICAgICAgICAkdHlwZTogJGZvcm1fYnV0dG9uLXR5cGUsXG4gICAgICAgICAgICAkaWNvbl9wb3M6ICRmb3JtX2J1dHRvbi1pY29uLXBvc1xuICAgICAgICApO1xuICAgIH1cblxuICAgICZfX2J1dHRvbi1pY29uIHtcbiAgICAgICAgQGluY2x1ZGUgYnV0dG9uX2ljb24oXG4gICAgICAgICAgICAkdHlwZTogJGZvcm1fYnV0dG9uLXR5cGUsXG4gICAgICAgICAgICAkaWNvbl9wb3M6ICRmb3JtX2J1dHRvbi1pY29uLXBvc1xuICAgICAgICApO1xuICAgIH1cbn1cblxuLmZvcm0ge1xuICAgICYsXG4gICAgLmZpZWxkc2V0IHtcbiAgICAgICAgYm9yZGVyOiAwO1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgfVxuXG4gICAgLmZpZWxkIHtcbiAgICAgICAgKyAuZmllbGQge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIi8vIEluIHRoaXMgbWl4aW4geW91IGNhbiBkZWZpbmUgeW91ciBjdXN0b20gYW5pbWF0aW9uIGZvciBidXR0b25zXG4vLyBZb3UgY2FuIGNoZWNrIGV4YW1wbGVzIG9mIGFuaW1hdGlvbnMgaW4gaHR0cDovL2lhbmx1bm4uZ2l0aHViLmlvL0hvdmVyLyBsaWJyYXJ5XG5cbkBtaXhpbiBidXR0b25fYW5pbWF0aW9uKFxuICAgICR0eXBlOiAkYnV0dG9uX2RlZmF1bHQtdHlwZSxcbiAgICAkY29sb3Jfc3RhcnQ6ICRidXR0b25fcHJpbWFyeS1iYWNrZ3JvdW5kLFxuICAgICRjb2xvcl9lbmQ6ICRidXR0b25fcHJpbWFyeS0taG92ZXItYmFja2dyb3VuZCxcbiAgICAkaWNvbl9wb3M6ICRidXR0b25fZGVmYXVsdC1pY29uLXBvc1xuKSB7XG4gICAgQGlmICgkdHlwZSA9PSAncHJpbWFyeScpIGFuZFxuICAgICAgICAoKCRpY29uX3BvcyA9PSAncmlnaHQnKSBvciAoJGljb25fcG9zID09ICdsZWZ0JykpXG4gICAge1xuICAgICAgICAmOmhvdmVyLFxuICAgICAgICAmOmZvY3VzLFxuICAgICAgICAmOmFjdGl2ZSB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3Jfc3RhcnQgIWltcG9ydGFudDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICY6YmVmb3JlLFxuICAgICY6YWZ0ZXIge1xuICAgICAgICBAaWYgKCRpY29uX3BvcyA9PSAncmlnaHQnKSBvciAoJGljb25fcG9zID09ICdsZWZ0Jykge1xuICAgICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICB0b3A6IC0jeyRidXR0b25fYm9yZGVyLXNpemV9O1xuICAgICAgICAgICAgYm90dG9tOiAtI3skYnV0dG9uX2JvcmRlci1zaXplfTtcbiAgICAgICAgfVxuXG4gICAgICAgIEBpZiAoJGljb25fcG9zID09ICdyaWdodCcpIHtcbiAgICAgICAgICAgIHJpZ2h0OiAtI3skYnV0dG9uX2JvcmRlci1zaXplfTtcbiAgICAgICAgfVxuXG4gICAgICAgIEBpZiAoJGljb25fcG9zID09ICdsZWZ0Jykge1xuICAgICAgICAgICAgbGVmdDogLSN7JGJ1dHRvbl9ib3JkZXItc2l6ZX07XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmOmJlZm9yZSB7XG4gICAgICAgIEBpZiAoJGljb25fcG9zID09ICdyaWdodCcpIG9yICgkaWNvbl9wb3MgPT0gJ2xlZnQnKSB7XG4gICAgICAgICAgICB3aWR0aDogJGJ1dHRvbl9hbmltYXRpb24tYmVmb3JlLXdpZHRoO1xuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMCAkYnV0dG9uX2JvcmRlci1yYWRpdXMgJGJ1dHRvbl9ib3JkZXItcmFkaXVzIDA7XG4gICAgICAgICAgICB6LWluZGV4OiAtMTtcbiAgICAgICAgfVxuXG4gICAgICAgIEBpZiAoJGljb25fcG9zID09ICdyaWdodCcpIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudChcbiAgICAgICAgICAgICAgICAwZGVnLFxuICAgICAgICAgICAgICAgIHRyYW5zcGFyZW50IDAlLFxuICAgICAgICAgICAgICAgIHRyYW5zcGFyZW50IDAlLFxuICAgICAgICAgICAgICAgICRjb2xvcl9lbmQgMCUsXG4gICAgICAgICAgICAgICAgJGNvbG9yX2VuZCAxMDAlXG4gICAgICAgICAgICApO1xuICAgICAgICB9XG5cbiAgICAgICAgQGlmICgkaWNvbl9wb3MgPT0gJ2xlZnQnKSB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoXG4gICAgICAgICAgICAgICAgMGRlZyxcbiAgICAgICAgICAgICAgICAkY29sb3JfZW5kIDAlLFxuICAgICAgICAgICAgICAgICRjb2xvcl9lbmQgODUlLFxuICAgICAgICAgICAgICAgIHRyYW5zcGFyZW50IDEwMCUsXG4gICAgICAgICAgICAgICAgdHJhbnNwYXJlbnQgMTAwJVxuICAgICAgICAgICAgKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICY6YWZ0ZXIge1xuICAgICAgICBAaWYgKCRpY29uX3BvcyA9PSAncmlnaHQnKSBvciAoJGljb25fcG9zID09ICdsZWZ0Jykge1xuICAgICAgICAgICAgd2lkdGg6ICRidXR0b25fYW5pbWF0aW9uLWFmdGVyLXdpZHRoO1xuICAgICAgICAgICAgbWluLXdpZHRoOiBhdXRvO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yX2VuZDtcbiAgICAgICAgICAgIHRyYW5zaXRpb246IHdpZHRoIDAuMjVzIGxpbmVhcjtcbiAgICAgICAgICAgIHotaW5kZXg6IC0yO1xuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogJGJ1dHRvbl9ib3JkZXItcmFkaXVzO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJjpob3ZlciB7XG4gICAgICAgIEBpZiAoJGljb25fcG9zID09ICdyaWdodCcpIG9yICgkaWNvbl9wb3MgPT0gJ2xlZnQnKSB7XG4gICAgICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgICAgICBAaWYgKCRidXR0b25fYm9yZGVyLXNpemUgPiAwKSB7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiBjYWxjKDEwMCUgKyAjezIgKiAkYnV0dG9uX2JvcmRlci1zaXplfSk7XG4gICAgICAgICAgICAgICAgfSBAZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cbiJdLCJtYXBwaW5ncyI6IkFBQUE7O0FDRUE7QURDQTtBRUhBOzs7QURPQTtBRGtCQTs7QUNmQTtBRFZBOztBQ2FBO0FEVkE7QUVIQTs7O0FEa0JBO0FET0E7O0FDSkE7QUVyQkE7Ozs7Ozs7OztBRitCQTtBR3hCQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQUNB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O0FSaENBO0FFSEE7OztBTXdDQTtBUmZBOztBUWtCQTtBQzNDQTs7Ozs7Ozs7QURvREE7QUVwREE7QUFTQTtBQ1RBO0FBbURBO0FDWUE7QUNwREE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBUjBoQkE7QVE1aEJBO0FBS0E7QUFDQTtBUnNoQkE7QVFsaUJBO0FBaUJBO0FBQ0E7QUFHQTtBQUNBO0FBQ0E7QUFFQTtBQ29EQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBR0E7QUFDQTtBQUNBO0FBR0E7QUFDQTtBRHBFQTtBQzBJQTtBQUNBO0FBQ0E7QUQ1SUE7QUNrSkE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQWVBO0FBQ0E7QUFDQTtBRHZLQTtBQzBLQTtBQUNBO0FEM0tBO0FDc05BO0FBQ0E7QUFDQTtBQWVBO0FBQ0E7QUFDQTtBRHpPQTtBQzRPQTtBQUNBO0FEN09BO0FDbVJBO0FBQ0E7QUQ5UUE7QUFDQTtBUmtnQkE7QVFuZ0JBO0FBSUE7QUFDQTtBQUlBO0FDNlFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUQ3UUE7QUQySkE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQzFKQTtBQUNBO0FBQ0E7O0FiakVBOztBZUVBO0FmQ0E7QUVIQTs7O0FhT0E7QWZrQkE7O0FlZkE7QWZWQTs7QWVhQTtBZlZBO0FFSEE7OztBYWtCQTtBZk9BOztBZUpBO0FOckJBOzs7Ozs7OztBTThCQTtBTDlCQTtBQVNBO0FWVEE7O0FlbUNBO0FmaENBO0FFSEE7OztBYXdDQTtBZmZBOztBZWtCQTtBZjNDQTs7QWU4Q0E7QWYzQ0E7QUVIQTs7O0FhbURBO0FmMUJBOztBZTZCQTtBYnREQTs7O0FhMERBO0FmMURBOztBZTZEQTtBZjFEQTtBRUhBOzs7QWFrRUE7QWZ6Q0E7O0FlNENBO0FOckVBOzs7Ozs7OztBTThFQTtBTDlFQTtBQVNBO0FDVEE7QUFtREE7QUNZQTtBWi9EQTs7QWVzRkE7QWZuRkE7QUVIQTs7O0FhMkZBO0FmbEVBOztBZXFFQTtBQzlGQTtBQVlBO0FoQlpBOztBZW1HQTtBZmhHQTtBRUhBOzs7QWF3R0E7QWYvRUE7O0Fla0ZBO0FmM0dBOztBZThHQTtBZjNHQTtBRUhBOzs7QWFtSEE7QWYxRkE7O0FlNkZBO0FmdEhBOztBZXlIQTtBZnRIQTtBRUhBOzs7QWE4SEE7QWZyR0E7O0Fld0dBO0FmaklBOztBZW9JQTtBZmpJQTtBRUhBOzs7QWF5SUE7QWZoSEE7O0FlbUhBO0FFNUlBOztBRitJQTtBR3hGQTtBQUlBO0Fia2ZBO0FjdGdCQTtBQUVBO0FBQ0E7QUFDQTtBQUpBO0FBUUE7QUFLQTtBQUNBO0FBR0E7QUFDQTtBZG9mQTtBY3JmQTtBQU1BO0FBaUJBO0FkOGRBO0FjcmZBO0FBTUE7QUFxQkE7QWQwZEE7QWNyZkE7QUFNQTtBZCtlQTtBY3JmQTtBQU1BO0FkK2VBO0FjcmZBO0FBTUE7QUE0QkE7QUFDQTtBZGtkQTtBY25kQTtBQU1BO0FBR0E7QWQwY0E7QWNuZEE7QUFNQTtBQU9BO0Fkc2NBO0FjbmRBO0FBTUE7QWQ2Y0E7QWNuZEE7QUFNQTtBZDZjQTtBY25kQTtBQU1BO0FEekNBO0FDd0RBO0FEbERBO0FBQ0E7QUFDQTtBYjhlQTtBYWhmQTtBQUtBO0FiMmVBO0FhdmVBO0FBRUE7QUFJQTtBQUNBO0FBQ0E7QUFDQTtBYjhkQTtBYWplQTtBQU1BO0FBQ0E7QWIwZEE7QWFsZEE7QUFFQTtBQUtBO0FBR0E7QUE5Q0E7QUFrRUE7QUFFQTtBQXBFQTtBQTJFQTtBQTNFQTs7O0FBaUZBO0FBakZBO0FBcUZBO0FBUUE7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FibVpBO0FhelpBO0FBYUE7QUFFQTtBQVFBO0FBQ0E7QUFJQTtBRTFLQTtBZnVpQkE7QWE3WEE7QUVoS0E7QUFLQTtBQUNBO0FGOEpBO0FBQ0E7QUFHQTtBRWxMQTtBRnFMQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FiOFdBO0FhclhBO0FFeEtBO0FBS0E7QUFDQTtBRjJLQTtBQUNBO0FiMldBO0FhNVdBO0FBSUE7QWJ3V0E7QWE1V0E7QUFRQTtBQVJBO0FBWUE7QUFLQTtBQUNBO0FBQ0E7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QWJuZkE7QWF0ZkE7O0FBKytCQTtBQUNBO0FiMWZBO0FhdGZBO0FBcy9CQTtBQXQvQkE7QUF5L0JBO0FBQ0E7QWJwZ0JBO0FhdGZBO0FBZ2dDQTtBQUNBO0FBamdDQTtBQXdnQ0E7QUF4Z0NBO0FBZ2hDQTtBQUlBO0FKbi9CQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBR0E7QUFDQTtBQUNBO0FBR0E7QUFDQTtBSW0rQkE7QUo3NUJBO0FBQ0E7QUFDQTtBSTI1QkE7QUpyNUJBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFJQTtBQUNBO0FBQ0E7QUkyNEJBO0FKeDRCQTtBQUNBO0FJdTRCQTtBSmoxQkE7QUFDQTtBQUNBO0FBSUE7QUFDQTtBQUNBO0FJeTBCQTtBSnQwQkE7QUFDQTtBSXEwQkE7QUpweEJBO0FBQ0E7QUkweEJBO0FKbHhCQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBSW14QkE7QUp4dEJBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUEyQ0E7QUl5c0JBO0FBQ0E7QUFHQTtBQUNBO0FBQ0E7QUFHQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFJQTtBQUtBO0FBQ0E7QWJwbUJBO0FhOGxCQTtBQVNBO0FBQ0E7QUFDQTtBYnptQkE7QWE0bUJBO0FBRUE7QUFDQTtBQUNBO0FBSUE7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBRUE7QURockNBO0FBQ0E7QUFDQTtBQUNBO0FDb3JDQTtBQUNBO0FBQ0E7O0FsQjlyQ0E7O0F1QkVBO0F2QkNBO0FFSEE7OztBcUJPQTtBdkJrQkE7O0F1QmZBO0FkVkE7Ozs7Ozs7O0FjbUJBO0FibkJBO0FBU0E7QWNIQTtBQUdBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFFQTtBQUNBO0FBR0E7QUFDQTtBQUNBO0FBRUE7QVZnRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUdBO0FBQ0E7QUFDQTtBQUdBO0FBQ0E7QVVoRkE7QUNUQTtBRFNBO0FDRkE7QUFDQTtBQUNBO0FBQ0E7QUFJQTtBRExBO0FDZUE7QUFDQTtBQUNBO0FBSUE7QURyQkE7QUMyQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FEaERBO0FDd0RBO0FEeERBO0FWc0pBO0FBQ0E7QUFDQTtBVXhKQTtBVjhKQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBSUE7QUFDQTtBQUNBO0FVeEtBO0FWMktBO0FBQ0E7QVU1S0E7QVZrT0E7QUFDQTtBQUNBO0FBSUE7QUFDQTtBQUNBO0FVMU9BO0FWNk9BO0FBQ0E7QVU5T0E7QVYrUkE7QUFDQTtBQUNBO0FVMVJBO0FWaVNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBR0E7QUFVQTtBQUNBO0FVOVNBO0FWMlZBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFHQTtBQUNBO0FBQ0E7QUFtQkE7QUFDQTtBQUNBO0FValhBOztBQUdBO0FBQ0E7QUFDQTtBQUNBO0FBTkE7QUFVQTs7Iiwic291cmNlUm9vdCI6IiJ9*//**
 * Copyright © Magefan (support@magefan.com). All rights reserved.
 * Please visit Magefan.com for license details (https://magefan.com/end-user-license-agreement).
 *
 * Glory to Ukraine! Glory to the heroes!
 */

 .clearfix:after {
    content:"";
    display:table;
    clear:both;
}

.post-holder {
    padding-bottom: 20px;
    margin-bottom: 20px;
}
.blog-page-list .post-holder {border-bottom: 1px solid #eee}

.post-holder .post-header {position:relative;padding: 1rem 2rem 0 2rem;}

.post-holder .post-header .post-info {padding: 0;}
.post-holder .post-header .post-info .item {display: inline-block}
.post-holder .post-header .post-info .dash {display: none; /* fix for old templates */}
.post-holder .post-header .post-info .label {font-weight: 700;}
.post-holder .post-header .post-info .value {font-style: italic;}
.post-holder .post-header .post-info .item::after {display: inline-block; content: ' | ';color:#b9b9b9}
.post-holder .post-header .post-info .item:last-child::after{display: none}

.post-list {
    margin-top: 0px;
    margin-bottom: 20px;
    list-style: none;
}
.post-list-wrapper .post-list {padding-left: 0}

.post-list .post-content .post-read-more {padding-top:10px; float:right;}

.subcategory-links-wrapper ul,
.post-links-wrapper ul {list-style: none}

.post-content .post-description img {margin: 15px 0;max-width: 100%;height: auto}
.post-content .post-description ul,
.post-content .post-description ol {list-style-position: outside;}

.post-content .post-description .mfblog-contents li {display: list-item;}
.post-content .post-description .mfblog-contents li li {margin-left: 15px;}

.post-content .post-description .post-ftimg-hld {margin: 0 0 10px 0;}
.post-content .post-description .post-ftimg-hld img {width:100%; padding:0; margin:0; border-top-left-radius: 7px; border-top-right-radius: 7px;}

.post-content .post-description .mfblog-contents-toc {list-style: decimal;}
.post-content .post-description .mfblog-contents-toc li {margin-bottom: 1rem;}
.post-content .post-description .mfblog-contents-toc li > ol {margin-top: 1rem;}
.post-content .post-description .mfblog-contents-toc li:before {content: none;}
.post-content .post-description .mfblog-contents-toc li a {display: inline;}
.post-content .post-description .post-info .item {display: inline-block; position: absolute; top: 25px; right: 10px; background: #fff; padding: 0.5rem 1rem; border-radius: 200px; font-size: 1.2rem;}


/* Post Title */
.post-list .post-header .post-title-holder {display: flex;align-items: center;justify-content: space-between;flex-wrap: wrap;}
.post-list .post-header .post-title {margin: 0;padding: 10px 0;}
.post-list .post-header .post-title a {text-decoration: none;font-size: 20px;font-weight: 700; color: #455a64; line-height: 1.1;}
.post-list .post-holder .post-header .addthis_toolbox a {margin-bottom: 0;}

.post-list .hidden {display:none;}
.post-view .post-bottom {margin-top:30px;}

.post-view .post-nextprev-hld  {margin-bottom: 30px;}
.post-view .post-nextprev-hld .nextprev-link {font-weight: 700;}
.post-view .post-nextprev-hld .prev-link {float:left}
.post-view .post-nextprev-hld .next-link {float:right}

/* Post Gallery */
.post-view .post-gallery {margin:15px 0 15px 0}
.post-view .post-gallery .gallery-image-hld {margin: 0 14px 14px 0; border:1px solid #ccc; display: block; float:left}
.post-view .post-gallery .gallery-image{padding: 0; margin:0; display:block}

.post-view .block {margin-bottom: 30px;}

/* Widget Gallery */
.widget.block-categories ul {padding: 0;margin: 0;list-style: none;}
.widget.block-categories ul li {padding: 5px 0 5px 9px;margin: 0;}
.widget.block-categories ul li a {font-weight: 600;}
.widget.block-categories ul ul {margin: 0;}

/* Widget RSS */
.widget.block-rss .rss-icon {float: left; width: 23px; padding-right: 10px;}

/* Widget Search */
.widget.blog-search {width:100%;margin-bottom: 40px;position: relative;float: right;}
.widget.blog-search .block-content {margin-bottom: 0;}
.widget.blog-search .block-content .form {position: relative;}
.widget.blog-search label {border: 0;clip: rect(0, 0, 0, 0);height: 1px;margin: -1px;overflow: hidden;padding: 0;position: absolute;width: 1px;text-decoration: none;display: inline-block;float: right;}
.widget.blog-search .control {border-top: 0;margin: 0;padding: 0;clear: both;}
.widget.blog-search input {position: static;padding-right: 35px;margin: 0;left: -300%;}
.widget.blog-search .action.search {position: absolute;right: 10px;top: 0;bottom: 0;z-index: 1;height: 100%;margin: 0;padding: 0;display: inline-block;background-image: none;background: none;-moz-box-sizing: content-box;border: 0;box-shadow: none;line-height: inherit;text-decoration: none;text-shadow: none;font-weight: 400;}
.widget.blog-search .action.search:before {-webkit-font-smoothing: antialiased;content: '';margin: 0;vertical-align: top;display: inline-block;overflow: hidden;speak: none;width: 16px;height: 32px;background: url(../../frontend/Creativestyle/theme-papilart/pl_PL/Magefan_Blog/images/search-icon.svg) no-repeat -10px -7px;background-size: 35px;opacity: 0.5;}
.widget.blog-search .action.search > span {border: 0;clip: rect(0, 0, 0, 0);height: 1px;margin: -1px;overflow: hidden;padding: 0;position: absolute;width: 1px;}

/* Widget Tag Claud */
.widget.block-tagclaud .smallest{font-size: 0.75em}
.widget.block-tagclaud .small{font-size:1em}
.widget.block-tagclaud .medium{font-size:1.25em}
.widget.block-tagclaud .large{font-size:1.5em}
.widget.block-tagclaud .largest{font-size:2em}

/* Widget Archive */
.widget.block-archive .item {margin: 5px 0;}
.widget.block-archive .item {display: inline-block}
.widget.block-archive .item:after {content: "\\"; display:inline-block;padding-left: 5px}

/* Widget Recent */
.blog-widget-recent .post-list {padding: 0;margin: 0;}
.blog-widget-recent .post-holder {width: 31.2%;float: left;margin: 1%;-webkit-box-sizing: border-box;-moz-box-sizing: border-box;box-sizing: border-box;background: white;border-radius: 7px;}
.post-list-wrapper.blog-widget-recent:not(.blog-widget-recent-masonry) .post-holder {width: 96%; min-height: 345px; position: relative;}
@media (max-width: 767px) {
    .post-list-wrapper.blog-widget-recent:not(.blog-widget-recent-masonry) .post-holder {min-height: 325px;}
}
.post-list-wrapper.blog-widget-recent:not(.blog-widget-recent-masonry) .post-holder:nth-child(2n+1) {clear: both;}
@media (max-width: 767px) {
    .post-list-wrapper.blog-widget-recent:not(.blog-widget-recent-masonry) .post-holder {width: 96%;}
}
@media (min-width: 1200px) {
    .post-list-wrapper.blog-widget-recent:not(.blog-widget-recent-masonry) .post-holder {max-width: 300px;}
}
@media (max-width: 1024px) {
    .blog-widget-recent .post-holder {
        width: 98%;
    }
}
@media (max-width: 767px) {
    .blog-widget-recent .post-holder {
        width: 98%;
    }
}

.blog-widget-recent .post-description .post-text-hld {
    min-height: 150px;
    overflow-y: auto;
}

.blog-widget-recent-masonry .post-description .post-text-hld {
    max-height: none;
    min-height: 0;
}
.blog-widget-recent-masonry .post-description .post-ftimg-hld {
    width: 100%;
    margin: 0;
}

.mfblog-autoloader {text-align: center;}
.mfblog-autoloader .mfblog-show-onload {display: none;}


@media (max-width: 420px) {
    #mfblog_gcomments {max-width:345px; overflow-y: scroll;}
}

.blog-category-view .category-content,
.blog-tag-view .tag-content {padding-left: 0}

/* Posts List */
.widget.block-list-posts .block-content .item {
    padding: 8px 0 0 0;
}
.widget.block-list-posts .block-content .item .post-image {
    width: 60px;
    float: left;
    border-radius: 0;
    padding: 2px;
    background-color: #fff;
    border: 1px solid #e9e9e9;
    margin-right: 12px;
}
.widget.block-list-posts .block-content .item .post-image .post-item-link {
    display: inline-block;
}
.widget.block-list-posts .block-content .item .post-image .post-item-link img {
    width: 100%;
    height: auto;
    vertical-align: middle;
}
/* END Posts List */

/* Fix Related Products */
.blog-post-view .products-grid .product-item {
    display: inline-block;
    margin-left: 2%;
    width: calc((100% - 2%)/2);
}
.blog-post-view .product-item:nth-child(2n+1) {
    margin-left: 0;
}
.blog-post-view .products-grid .product-item .product-item-info {
    width: auto;
}
@media (min-width: 640px){
    .blog-post-view .products-grid .product-item {
        display: inline-block;
        margin-left: 2%;
        width: calc((100% - 4%)/3);
    }
    .blog-post-view .products-grid .product-item:nth-child(2n+1) {
        margin-left: 2%;
    }
    .blog-post-view .products-grid .product-item:nth-child(3n+1) {
        margin-left: 0;
    }
}
@media (min-width: 1024px){
    .blog-post-view .products-grid .product-item {
        width: calc((100% - 8%)/5);
        margin-left: 2%;
    }
    .blog-post-view .products-grid .product-item:nth-child(3n+1) {
        margin-left: 2%;
    }
    .blog-post-view .products-grid .product-item:nth-child(5n+1) {
        margin-left: 0;
    }
}

/* Icons */
.mf-blog-icon {width: 15px;height: 15px;display: inline-block;position: relative;top: 2px;background-size: cover;}
.mf-blog-icon.mfbi-calendar {background-image: url('../../frontend/Creativestyle/theme-papilart/pl_PL/Magefan_Blog/images/calendar-icon.svg')}
.mf-blog-icon.mfbi-folder {background-image: url('../../frontend/Creativestyle/theme-papilart/pl_PL/Magefan_Blog/images/folder-icon.svg')}
.mf-blog-icon.mfbi-comments {background-image: url('../../frontend/Creativestyle/theme-papilart/pl_PL/Magefan_Blog/images/comments-icon.svg')}
.mf-blog-icon.mfbi-tags {background-image: url('../../frontend/Creativestyle/theme-papilart/pl_PL/Magefan_Blog/images/tags-icon.svg')}
.mf-blog-icon.mfbi-user {background-image: url('../../frontend/Creativestyle/theme-papilart/pl_PL/Magefan_Blog/images/user-icon.svg')}
.mf-blog-icon.mfbi-views {background-image: url('../../frontend/Creativestyle/theme-papilart/pl_PL/Magefan_Blog/images/views-icon.svg')}
/* END Fix Related Products */
/* All Widget Templates ************************************************************************************************
***********************************************************************************************************************/
body.blog-page {
    --color-white: #ffffff;
    --color-green: #28a745;
    --color-yellow: #ffc107;
    --color-blue: #4db2ec;
    --color-black: #222222;
    --color-gray: #6c757d;
    --color-red: #dc3545;
    --border-color: #d5d6da;
}

/* Buttons */
.btn-white {background-color: #fff !important;color: #7d7d7d !important;border: 1px solid #bbb !important;}
.btn-white:hover {background-color: #4db2ec !important;color: #fff !important; border: 1px solid #4db2ec !important;}
.btn-black {background-color: #222 !important;color: #fff !important;border: 1px solid #222 !important;}
.btn-black:hover {background-color: #4db2ec !important;color: #fff !important;border: 1px solid #4db2ec !important;}
.btn-blue {background-color: #4db2ec !important;color: #fff !important;border: 1px solid #4db2ec !important;}
.btn-blue:hover {background-color: #222 !important;color: #fff !important;border: 1px solid #222 !important;}


/* Slider *************************************************************************************************************/
.post-slider .post-block .image-wrap {padding-bottom: 450px;}
/* END Slider *********************************************************************************************************/


.clearfix:after {content:"";display:table;clear:both;}

.post-holder {margin-bottom: 40px;border-radius: 0;}



/* Blog Post List *****************************************************************************************************/
.post-list {margin-top: 0;margin-bottom: 20px;list-style: none;padding-left: 0}
.post-list .post-item.post-holder {margin: 0 0 30px 0;padding: 0;display: block;}
.post-list .post-container {display: -ms-flexbox;display: flex;}

/* Post Image ************************************/
.post-list .post-image {-ms-flex: 0 0 30%;flex: 0 0 30%;width: 30%;order: 0;}
.post-list .post-image .image-container {position: relative;}
.post-list .post-image .image-wrap {display: block;line-height: 0;overflow: hidden;position: relative;padding-bottom: 70%;}
.post-list .post-image .image-wrap .bg-img {position: absolute;display: block;width: 100%;height: 100%;background-size: cover;background-position: center;}
.post-list .post-image .image-wrap img {width: 100%;height: auto;vertical-align: middle;}
/* Post Category */
.post-list .post-image .post-category {position: absolute;left: 0;bottom: 0;display: block;font-size: 0;line-height: 1;}
.post-list .post-image .post-category a {display: inline-block;margin: 0 5px 0 0;padding: 5px 10px;background: #000;color: #fff;font-size: 11px;line-height: 12px;font-weight: 500;text-decoration: none;text-transform: uppercase;
    /*-webkit-transition: all 0.3s;-ms-transition: all 0.3s;transition: all .3s ease;*/}
.post-list .post-image .post-category a:hover {background: #4db2ec;}

/* Post Info **************************************/
.post-list.modern .post-info {padding: 0 0 0 25px;flex: 0 0 70%;max-width: 70%;width: 70%;order: 1;box-sizing: border-box;}
/* Post Title */
.post-list .post-info .post-title-wrap h3 {margin: 0;}
.post-list .post-info .post-title-wrap h3 a {font-size: 20px;line-height: 25px;font-weight: 500;}
/* Post Data */
.post-list .post-info .post-data-wrap {font-size: 11px;font-family: sans-serif;}
.post-list .post-info .post-data-wrap .post-date {font-size: 11px; margin: 0;padding: 0;box-shadow: none;float: none;width: auto;}
.post-list .post-info .post-data-wrap a {font-weight: 600;}
/* Post Description */
.post-list .post-description {line-height: 21px;font-size: 13px;}
/* Post View */
.post-list .post-view {display: block;background: #000;color: #fff;font-size: 10px;font-weight: 600;text-align: center;line-height: 11px;position: relative;top: -5px;padding: 4px 6px;}
.post-list .post-view:after {position: absolute;left: 0;bottom: -3px;content: '';width: 0;height: 0;border-style: solid;border-width: 3px 3px 0 0;border-color: #000 transparent transparent;}
/* Read More */
.post-read-more a.post-read {display: inline-block;color: #fff;background-color: #4db2ec;font-size: 13px;font-weight: 500;line-height: 1;padding: 10px 15px;}
.post-read-more a.post-read:hover {color: #fff; text-decoration: none;}

@media (max-width: 768px) {
    .post-list .post-item.post-holder {margin-bottom: 1.5rem;}
}
@media (max-width: 767px) {
    .post-list .post-image .post-category {display: none;}
    .post-list .post-info {padding: 0 0 0 15px;}
    .post-list.modern .post-description {display: none;}
    .post-read-more a.post-read {display: none;}
}
@media (max-width: 640px) {
    .post-list .post-info .post-title-wrap h3 a {font-size: 14px;font-weight: 600;line-height: 1.4;display: inline-block;
        /*max-height: 39px;overflow: hidden;*/}
}


/* Images Format *******************************************/
.post-image .image-wrap._16x9 {padding-bottom: 35% !important;}
.post-image .image-wrap._4x3 {padding-bottom: 67% !important;}
.post-image .image-wrap._3x2 {padding-bottom: 55% !important;}
.post-image .image-wrap._1x1 {padding-bottom: 100% !important;}
@media (max-width: 768px) {

}
/* Blog Post List *****************************************************************************************************/


/* Blog Post List Modern **********************************************************************************************/
.post-list.modern .post-item.post-holder {margin: 0 0 30px 0;padding: 0 0 30px 0;}
.post-list.modern .post-info .post-title-wrap h3 a:hover {text-decoration: none;transition: all .2s ease;}
.post-list.modern .post-info .post-data-wrap a:hover {text-decoration: none;transition: all .2s ease;}
/* Blog Post List Modern **********************************************************************************************/


/* Post View **********************************************************************************************************/
/* Page Title */
/*.blog-post-view .page-title-wrapper .page-title {font-size: 35px;line-height: 1.2;margin-bottom: 20px;}*/
/* Category */
.blog-post-view .post-category a {display: inline-block;margin: 0 5px 0 0;padding: 5px 10px;background: #000;color: #fff;font-size: 11px;line-height: 12px;font-weight: 500;text-decoration: none;text-transform: uppercase;}

/* Post Data */
.blog-post-view .post-data-wrap {font-size: 13px;font-family: sans-serif;margin-bottom: 30px;}
.blog-post-view .post-data-wrap a {font-weight: 600;}
.blog-post-view .post-data {color: #bbbbbb;}
/* Post View */
/* Post Comments */
.blog-post-view .post-comments {margin-right: 20px;}
/* Social */
.blog-post-view .post-sharing {margin-bottom: 20px;}
/* Image */
.blog-post-view .post-featured-image {font-size: 0;margin-bottom: 20px;}
/* Tags */
.blog-post-view .post-tag {margin-bottom: 20px;}
.blog-post-view .post-tag .post-tag-title {display: inline-block;padding: 7px 12px;border: 1px solid #222;background: #222;color: #fff;line-height: 1;margin: 0 10px 10px 0;text-transform: uppercase;font-size: 11px;}
.blog-post-view .post-tag .post-tags a {display: inline-block;border: 1px solid var(--border-color); /*color: #222; */background: #fff;padding: 7px 12px;margin-right: 10px;line-height: 1;font-weight: 600;letter-spacing: 1px;font-size: 11px;text-transform: capitalize;}
.blog-post-view .post-tag .post-tags a.current,
.blog-post-view .post-tag .post-tags a:hover {text-decoration: none;opacity: .9;background: #333;color: #fff;}

/* Post Text */
.blog-post-view .post-description {margin-bottom: 30px;}
.blog-post-view .post-description p {font-size: 1.4rem;line-height: 1.7;}

/* Post Bottom *****************************************/
.post-view .post-bottom {margin-top:30px;}

/* Post Sharing Bottom */
.post-view-modern .post-sharing-bottom {}
.post-sharing-bottom {padding: 30px 0;margin-bottom: 30px;border-top: 1px solid var(--border-color);border-bottom: 1px solid var(--border-color);}
.post-sharing-bottom .share-elements {text-align: center;}
.post-sharing-bottom .share-elements .icon-wrapper {display: inline-block;cursor: pointer;margin: 0 5px 5px 0;overflow: hidden;border: 0;text-decoration: none;text-transform: none;background-color: transparent;color: inherit;transition: all .2s ease-in-out;border-radius: 0;}
.post-sharing-bottom .share-elements .icon-wrapper.icon-facebook {background-color: rgb(59, 89, 152);}
.post-sharing-bottom .share-elements .icon-wrapper.icon-twitter {background-color: rgb(0, 0, 0);}
.post-sharing-bottom .share-elements .icon-wrapper.icon-pinterest {background-color: rgb(203, 32, 39);}
.post-sharing-bottom .share-elements .icon-wrapper.icon-linkedin {background-color: rgb(2, 136, 209);}
.post-sharing-bottom .share-elements .icon-wrapper .icon {line-height: 48px;height: 48px;width: 48px;display: inline-block;overflow: hidden;vertical-align: top;}
.post-sharing-bottom .share-elements .icon-wrapper .label {font-size: 13px;line-height: 48px;height: 48px;color: #ffffff;display: inline-block;padding: 0 15px 0 3px;vertical-align: top;}
.post-sharing-bottom .share-elements .icon-wrapper:hover {transform: translateY(-4px);}

/* Post Gallery */
/*.blog-post-view .post-gallery {display: flex;flex-wrap: wrap;}*/
.blog-post-view .post-gallery {display: grid;grid-template-columns: repeat(auto-fill, minmax(16rem, 1fr));grid-gap: 1rem;margin-bottom: 20px;}
.blog-post-view .post-gallery .gallery-image-hld {display: inline-block;}
.blog-post-view .post-gallery .gallery-image-hld img {}

/* Post Navigation */
.blog-post-view .post-nextprev  {display: flex;padding: 20px 0;margin-bottom: 30px;border-top: 1px solid var(--border-color);border-bottom: 1px solid var(--border-color);}
.blog-post-view .post-nextprev .nextprev-link {display: block;font-size: 20px;/*color: #222222;*/font-weight: 600;text-align: right;opacity: 0.7;}
.blog-post-view .post-nextprev .nextprev-link:hover {text-decoration: none;}
.blog-post-view .post-nextprev .nextprev-link span {display: block;color: #bbbbbb;font-size: 14px;font-weight: normal;}

/* Block Related */
.blog-post-view .post-bottom .block.related {margin-bottom: 0;}
.blog-post-view .post-bottom .block.related .block-title {margin: 0 0 25px;padding: 5px 0;border-bottom: 1px solid #222222;line-height: 1.42857143;}
.blog-post-view .post-bottom .block.related .block-title strong {border-bottom: 3px solid #222222;padding-bottom: 2px;font-weight: 400;font-size: 18px;}

/* Related Posts */
.mfblog-related-posts-block.block.related .post-list {display: -ms-flexbox;display: flex;-ms-flex-wrap: wrap;flex-wrap: wrap;
    position: relative;overflow: hidden;margin-left: -10px;margin-right: -10px;}
.mfblog-related-posts-block.block.related .post-list .post-item {-webkit-flex-direction: column;-ms-flex-direction: column;flex-direction: column;margin-bottom: 2rem !important;-ms-flex: 0 0 25%;flex: 0 0 25%;max-width: 25%;padding-left: 10px;padding-right: 10px;width: 25%; box-sizing: border-box;}

.mfblog-related-posts-block.block.related .post-list .post-item .image-container {
    -ms-flex: 0 0;flex: 0 0;width: 100%;display: block;order: 0;margin-bottom: 10px;}
.mfblog-related-posts-block.block.related .post-list .image-container .image-wrap {display: block;line-height: 0;overflow: hidden;position: relative;padding-bottom: 70%;}
.mfblog-related-posts-block.block.related .post-list .image-container .image-wrap .bg-img {position: absolute;display: block;width: 100%;height: 100%;background-size: cover;background-position: center;}
.mfblog-related-posts-block.block.related .post-list .post-item .block-info {padding-left: 0 !important;padding-right: 0 !important;}
.mfblog-related-posts-block.block.related .post-list .block-info h3.post-title a {font-size: 14px !important;line-height: 20px !important;font-weight: 600 !important; /*color: #222222; */}
@media (max-width: 767px) {
    .mfblog-related-posts-block.block.related .post-list .post-item {flex: 0 0 50%;max-width: 50%;}
}

/* Related Products */
.mfblog-related-products-block.block.related .block-title {margin: 0 0 25px;padding: 5px 0;border-bottom: 1px solid #222222;line-height: 1.42857143;}
.mfblog-related-products-block.block.related .block-title strong {border-bottom: 3px solid #222222;padding-bottom: 2px;font-weight: 400;font-size: 18px;}

/* Block Comments */
.block.comments .c-count {margin: 0 0 20px;padding: 0;border-bottom: 1px solid #222222;font-weight: 400;}
.block.comments .c-count strong {border-bottom: 3px solid #222222;padding-bottom: 2px;font-weight: 400;font-size: 18px;display: inline-block;}
/* END Post Bottom *************************************/

@media (max-width: 767px) {
    .blog-post-view .page-title-wrapper .page-title {font-size: 20px;}
    .blog-post-view .post-nextprev .nextprev-link {font-size: 14px;line-height: 1.4;}
}
/* END Post View ******************************************************************************************************/


/* Animation Zoom */
.image-wrap .animation-type-zoom {display: block;line-height: 0;overflow: hidden;position: relative;}
.image-container .animation-type-zoom {-webkit-transition: transform .3s ease,opacity .3s;transition: transform .3s ease,opacity .3s;}
.image-container:hover .animation-type-zoom {transform: scale3d(1.1,1.1,1);  -webkit-transform: scale3d(1.1,1.1,1);}


/* Sidebar ************************************************************************************************************/
/* Block Search */
.widget.blog-search {width:100%;margin-bottom: 40px;position: relative;float: right;}
.widget.blog-search .block-content {margin-bottom: 0;}
.widget.blog-search .block-content .form {position: relative;}
.widget.blog-search  label {border: 0;clip: rect(0, 0, 0, 0);height: 1px;margin: -1px;overflow: hidden;padding: 0;position: absolute;width: 1px;text-decoration: none;display: inline-block;float: right;}
.widget.blog-search .control {border-top: 0;margin: 0;padding: 0;clear: both;}
.widget.blog-search input {position: static;padding-right: 35px;margin: 0;left: -300%;}
.widget.blog-search .action.search {position: absolute;top: 0;right: 0;bottom: 0;height: 100%;z-index: 1;display: inline-block;-moz-box-sizing: content-box;border: 0;box-shadow: none;line-height: inherit;margin: 0;padding: 0 10px;text-decoration: none;text-shadow: none;font-weight: 400;border-radius: 0;}
.widget.blog-search .action.search:before {-webkit-font-smoothing: antialiased;content: '';margin: 0;vertical-align: top;display: inline-block;overflow: hidden;speak: none;width: 16px;height: 32px;background: url(../../frontend/Creativestyle/theme-papilart/pl_PL/Magefan_Blog/images/search-icon-white.svg) no-repeat -10px -7px;background-size: 35px;opacity: 1;}
.widget.blog-search .action.search > span {border: 0;clip: rect(0, 0, 0, 0);height: 1px;margin: -1px;overflow: hidden;padding: 0;position: absolute;width: 1px;}
.blog-search .actions .action.search {background: #222222;right: 0;padding: 0 10px;border-radius: 0;}

/* Posts List */
.widget.block-list-posts .post-list .post-item .image-container {flex: 0 0 30%;width: 30%;display: block;order: 0;}
/* Images */
/* Span Background */
.widget.block-list-posts .post-list .image-container .image-wrap {display: block;line-height: 0;overflow: hidden;position: relative;padding-bottom: 70%;}
.widget.block-list-posts .post-list .image-container .image-wrap .bg-img {position: absolute;display: block;width: 100%;height: 100%;background-size: cover;background-position: center;}
/* Post Info */
.widget.block-list-posts .post-list .post-item .block-info .post-item-name {font-size: 14px;line-height: 20px;font-weight: 600;text-decoration: none;color: #333333;}
.widget.block-list-posts .post-list .post-item .block-info .block-date {color: #bbbbbb;}
.widget.block-list-posts .post-list .post-item .block-info .block-date .post-data {font-size: 11px;}

/* Post Grid */
.widget.block-list-posts .post-list .post-item {-webkit-flex-direction: column;-ms-flex-direction: column;flex-direction: column;margin-bottom: 2rem !important;}
.widget.block-list-posts .post-list .post-item .image-container {-ms-flex: 0 0;flex: 0 0;width: 100%;display: block;order: 0;margin-bottom: 10px;}
.widget.block-list-posts .post-list .post-item .block-info {padding-left: 0 !important;padding-right: 0 !important;}
/* END Posts List */

/* New Post List */
.widget.block-posts-list .post-item {display: flex;gap: 1.5rem;}
.widget.block-posts-list .post-item .image-container {flex: 0 0 33.333333%;width: 33.333333%;align-self: flex-start;display: block;order: 0;margin-bottom: 10px;}
.widget.block-posts-list .post-item .image-container .image-wrap {display: block;position: relative;overflow: hidden;}
.widget.block-posts-list .post-item .image-container .image-wrap._4x3 {padding-bottom: 70%;}
.widget.block-posts-list .post-item .image-container .image-wrap .bg-img {display: block;position: absolute;width: 100%;height: 100%;max-width: 100%;background-size: cover;background-position: center;}
.widget.block-posts-list .post-item .block-info .post-title {margin: 0 0 0.5rem 0 !important;}
.widget.block-posts-list .post-item .block-info .post-title .post-item-name {display: block;font-size: 16px;line-height: 22px;font-weight: 500;text-decoration: none;-webkit-transition: all 300ms ease-in-out;-moz-transition: all 300ms ease-in-out;-o-transition: all 300ms ease-in-out;transition: all 300ms ease-in-out;}
.widget.block-posts-list .post-item .block-info .block-date {line-height: 1rem;}
.widget.block-posts-list .post-item .block-info .block-date .post-date {font-size: 11px;line-height: 1.2rem;color: #bbbbbb;font-family: sans-serif;}
.widget.block-posts-list .post-item .block-info .post-description {display: none;line-height: 21px;font-size: 13px;}
.widget.block-posts-list .post-item .block-info .read-more {display: none;}
/* END New Post List */

/* Archive */
.widget.block-archive .archive-item-link {font-weight: 600}

/* RSS Feed */
.widget.block-rss .rss-icon {width: 23px;filter: grayscale(100%);vertical-align: middle;}
/* End Sidebar ********************************************************************************************************/
/**
 * Copyright © Magefan (support@magefan.com). All rights reserved.
 * Please visit Magefan.com for license details (https://magefan.com/end-user-license-agreement).
 *
 * Glory to Ukraine! Glory to the heroes!
 */