.skip-link:focus,.skip-link:focus-visible{box-shadow:0 0 0 3px var(--accent-color);left:0!important;position:absolute}@import url(https://fonts.bunny.net/css?family=lexend:300,400,600,700);*{box-sizing:border-box;margin:0;padding:0}:root{--bg-primary:#0f172a;--bg-secondary:#1e293b;--text-primary:#e2e8f0;--text-secondary:#a3b7c2;--accent-color:#69a4fc;--accent-hover:#60a5fa}html{scroll-behavior:smooth}body{background-color:var(--bg-primary);color:var(--text-primary);font-family:Lexend,sans-serif;font-size:16px}main{padding-top:80px}header{align-items:center;background-color:#0f172a;display:flex;justify-content:space-between;left:0;padding:.5rem 1rem;position:fixed;right:0;top:0;width:100%;z-index:100}.logo img{height:auto;width:clamp(160px,25vw,300px)}h1,h2{color:var(--accent-color)}h1{margin-bottom:1.5rem}h2{font-size:1.5rem;margin-bottom:1rem}label,li,p{color:var(--text-primary)}.action p{font-size:1.5rem}a{color:#fff}a:hover{color:var(--accent-hover)}nav ul{display:flex}nav li{list-style:none;margin:0 15px}nav a{display:inline-block;padding:1.5rem;text-decoration:none}section{margin:0 auto;max-width:min(1200px,90%);padding:clamp(60px,10vh,100px) 20px;scroll-margin-top:80px}#presentation{background-color:var(--bg-secondary);box-shadow:0 4px 6px rgba(0,0,0,.3);text-align:center}#parcours{background-color:var(--bg-primary)}#realisations{background-color:var(--bg-secondary);box-shadow:0 4px 6px rgba(0,0,0,.3)}#travaillons-ensemble{background-color:var(--bg-primary)}.bottom-contact-btn,.top-contact-btn{background-color:var(--accent-color);border:none;border-radius:5px;color:#0a0a0a;cursor:pointer;display:inline-block;font-family:inherit;font-size:1rem;font-weight:600;margin-top:1.5rem;padding:1rem;text-decoration:none;transition:background-color .3s ease}.bottom-contact-btn:hover,.top-contact-btn:hover{color:#fff}.bottom-contact-btn{display:block;margin:0 auto;width:10rem}#presentation h1{font-size:2rem}.gallery-grid{display:flex;flex-wrap:wrap;gap:20px;justify-content:center}figure{background:var(--bg-primary);border-radius:8px;box-shadow:0 4px 6px rgba(0,0,0,.3);max-width:400px;padding:1rem}figure img{transition:transform .3s ease;width:100%}figure a:focus-visible img,figure a:hover img{box-shadow:0 4px 8px rgba(0,0,0,.2);transform:scale(1.05)}figure a:focus-visible{border-radius:8px;outline:3px solid var(--accent-color);outline-offset:3px}figcaption{margin:.5rem 0}figcaption ul li{color:var(--text-primary);list-style-type:none}figcaption h3{color:var(--accent-color);margin:1rem 0}figcaption p{font-size:1.25rem}.form-section,form{display:flex;flex-direction:column}.form-section{margin-bottom:1rem}label{margin-bottom:.5rem}input,textarea{background-color:var(--bg-secondary);border:1px solid hsla(0,0%,100%,.15);border-radius:5px;color:var(--text-primary);font-family:inherit;font-size:1rem;min-height:44px;padding:1rem;width:100%}textarea{min-height:120px;resize:vertical}::placeholder{color:#9aa4b2;opacity:1}input:focus,textarea:focus{border-color:var(--accent-color);outline:none}.certification-opquast a{display:block;margin:0 auto 1.5rem;text-align:center;width:6rem}footer{background-color:var(--bg-secondary);color:var(--text-primary);padding:1rem;text-align:center}.timeline{margin:0 auto;max-width:1200px;position:relative}.timeline h3{font-weight:300;margin:0 0 .5rem}.timeline h3 a{color:var(--text-primary);display:inline-block;line-height:1.3;text-decoration:none}.timeline h3 a:focus-visible,.timeline h3 a:hover{border-radius:4px;outline:3px solid var(--accent-color);outline-offset:3px;text-decoration:underline}.timeline:after{background-color:var(--accent-color);bottom:0;content:"";left:50%;margin-left:-3px;position:absolute;top:0;width:6px}.timeline-year{color:var(--accent-color);display:inline-block;font-weight:700;margin-bottom:.25rem}.container{background-color:inherit;padding:10px 40px;position:relative;width:50%}.container:after{background-color:var(--bg-primary);border:4px solid var(--accent-color);border-radius:50%;content:"";height:25px;position:absolute;right:-17px;top:15px;width:25px;z-index:1}.left{left:0}.right{left:50%}.left:before{border:solid transparent;border-left:solid #fff;border-width:10px 0 10px 10px;right:30px}.left:before,.right:before{content:" ";height:0;position:absolute;top:22px;width:0;z-index:1}.right:before{border:solid transparent;border-right:solid #fff;border-width:10px 10px 10px 0;left:30px}.right:after{left:-16px}.content{background-color:var(--bg-secondary);border-left:3px solid var(--accent-color);border-radius:6px;color:var(--text-primary);padding:20px 30px;position:relative}@media screen and (max-width:600px){.timeline:after{left:31px}.container{padding-left:70px;padding-right:25px;width:100%}.container:before{border:solid transparent;border-right:solid #fff;border-width:10px 10px 10px 0;left:60px}.left:after,.right:after{left:15px}.right{left:0}}.timeline p{color:var(--text-primary)}#mentions-legales h1,#politique-confidentialite h1{font-size:2rem}#politique-confidentialite ul{margin-left:1.5rem}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid var(--accent-color);outline-offset:3px}.menu-icon,.menu-toggle{display:none}.menu-icon{cursor:pointer;flex-direction:column;padding:1rem}.menu-icon span{background:var(--accent-color);height:3px;margin:3px 0;transition:.3s;width:25px}.menu-icon:focus-visible span{background:var(--accent-hover);box-shadow:0 0 0 2px var(--accent-color)}@media (max-width:480px){.logo img{width:180px}}@media (max-width:768px){.menu-icon{display:flex}nav ul{background:var(--bg-primary);flex-direction:column;left:0;max-height:0;overflow:hidden;position:absolute;right:0;top:100%;transition:max-height .3s ease}.menu-toggle:checked~ul{max-height:400px}nav li{border-bottom:1px solid hsla(0,0%,100%,.1);margin:0;text-align:center;width:100%}nav a{color:#fff;display:block;padding:1.5rem}.menu-toggle:checked~.menu-icon span:first-child{transform:rotate(45deg) translate(6px,6px)}.menu-toggle:checked~.menu-icon span:nth-child(2){opacity:0}.menu-toggle:checked~.menu-icon span:nth-child(3){transform:rotate(-45deg) translate(6px,-6px)}}@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.01ms!important}html{scroll-behavior:auto}}
/*# sourceMappingURL=data:application/json;base64,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LG1EQUNFLGNBQ0YsQ0FFQSw4QkFDRSxrQkFDRixDQU9BLGdGQUNJLHFDQUFzQyxDQUN0QyxrQkFDSixDQVNBLHdCQUhJLFlBUUosQ0FMQSxXQUdJLGNBQWUsQ0FEZixxQkFBc0IsQ0FFdEIsWUFDSixDQUVBLGdCQUdJLDhCQUErQixDQUQvQixVQUFXLENBRVgsWUFBYSxDQUNiLGNBQWdCLENBSmhCLFVBS0osQ0FFQSw4QkFDSSw4QkFBK0IsQ0FDL0Isd0NBQ0osQ0FHQSx5QkFBNEIsVUFBWSxXQUFjLENBQUUsQ0FHeEQseUJBQ0ksV0FDSSxZQUNKLENBRUEsT0FLSSw0QkFBNkIsQ0FDN0IscUJBQXNCLENBSHRCLE1BQU8sQ0FJUCxZQUFhLENBQ2IsZUFBZ0IsQ0FQaEIsaUJBQWtCLENBR2xCLE9BQVEsQ0FGUixRQUFTLENBT1QsOEJBQ0osQ0FFQSx3QkFDSSxnQkFDSixDQUVBLE9BSUksMENBQThDLENBSDlDLFFBQVMsQ0FFVCxpQkFBa0IsQ0FEbEIsVUFHSixDQUVBLE1BR0ksVUFBWSxDQURaLGFBQWMsQ0FEZCxjQUdKLENBR0EsaURBQ0ksMENBQ0osQ0FFQSxrREFDSSxTQUNKLENBRUEsa0RBQ0ksNENBQ0osQ0FDSixDQUtBLHVDQUNJLGlCQUdJLGtDQUFxQyxDQUNyQyxxQ0FBdUMsQ0FFdkMsOEJBQWdDLENBRGhDLG1DQUVKLENBQ0EsS0FDSSxvQkFDSixDQUNKIiwiZmlsZSI6InN0eWxlLm1pbi5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyIvKiBBY2Nlc3NpYmlsaXTDqSA6IHNraXAtbGluayB2aXNpYmxlIGF1IGZvY3VzICovXHJcbi5za2lwLWxpbms6Zm9jdXMsIC5za2lwLWxpbms6Zm9jdXMtdmlzaWJsZSB7XHJcbiAgbGVmdDogMCAhaW1wb3J0YW50O1xyXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICBib3gtc2hhZG93OiAwIDAgMCAzcHggdmFyKC0tYWNjZW50LWNvbG9yKTtcclxufVxyXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbiAgU1RZTEVTIFBSSU5DSVBBVVggRFUgUE9SVEZPTElPXHJcbiAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG4gIENlIGZpY2hpZXIgZMOpZmluaXQgOiB0aMOobWUgc29tYnJlLCBtaXNlIGVuIHBhZ2UgcmVzcG9uc2l2ZSxcclxuICBjb21wb3NhbnRzIHLDqXV0aWxpc2FibGVzIGV0IHLDqGdsZXMgZCdhY2Nlc3NpYmlsaXTDqS5cclxuICBTZWN0aW9ucyA6IFJlc2V0IHwgVmFyaWFibGVzIHwgQmFzZSB8IExheW91dCB8IEhlYWRlci9OYXYgfFxyXG4gICAgICAgICAgVHlwbyAmIExpZW5zIHwgU2VjdGlvbnMgfCBHYWxlcmllIHwgRm9ybXVsYWlyZSB8XHJcbiAgICAgICAgICBUaW1lbGluZSB8IEFjY2Vzc2liaWxpdMOpIHwgUmVzcG9uc2l2ZSB8IE1vdGlvblxyXG4gID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuLyogPT09PT09PT09PT09PT09PT09PT09IFJFU0VUID09PT09PT09PT09PT09PT09PT09PSAqL1xyXG4vKiBSw6lpbml0aWFsaXNhdGlvbiBsw6lnw6hyZSBwb3VyIHVuZSBiYXNlIGhvbW9nw6huZSAqL1xyXG5AaW1wb3J0IHVybChodHRwczovL2ZvbnRzLmJ1bm55Lm5ldC9jc3M/ZmFtaWx5PWxleGVuZDozMDAsNDAwLDYwMCw3MDApO1xyXG5cclxuXHJcbioge1xyXG4gICAgLyogQW5udWxlciBsZXMgbWFyZ2VzL3BhZGRpbmcgcGFyIGTDqWZhdXQgKi9cclxuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7IC8qcG91ciB0b3VzICovXHJcbiAgICBtYXJnaW46IDA7XHJcbiAgICBwYWRkaW5nOiAwO1xyXG59XHJcblxyXG4vKiA9PT09PT09PT09PT09PT09PT09PT0gVkFSSUFCTEVTID09PT09PT09PT09PT09PT09PT09PSAqL1xyXG4vKiBQYWxldHRlIHNvbWJyZSBldCBhY2NlbnRzICh1dGlsaXNlciB2YXIoLS1ub20pIHBvdXIgY29ow6lyZW5jZSkgKi9cclxuOnJvb3Qge1xyXG4gICAgLS1iZy1wcmltYXJ5OiAjMGYxNzJhOyAgICAgIC8qIEJsZXUgdHLDqHMgZm9uY8OpICovXHJcbiAgICAtLWJnLXNlY29uZGFyeTogIzFlMjkzYjsgICAgLyogQmxldSBmb25jw6kgcG91ciBjYXJ0ZXMgKi9cclxuICAgIC0tdGV4dC1wcmltYXJ5OiAjZTJlOGYwOyAgICAvKiBHcmlzIGNsYWlyICovXHJcbiAgICAtLXRleHQtc2Vjb25kYXJ5OiAjQTNCN0MyOyAgLyogR3JpcyBtb3llbiAqL1xyXG4gICAgLS1hY2NlbnQtY29sb3I6ICM2OUE0RkM7ICAgIC8qIEJsZXUgdmlmICovXHJcbiAgICAtLWFjY2VudC1ob3ZlcjogIzYwYTVmYTsgICAgLyogQmxldSBjbGFpciBob3ZlciAqL1xyXG59XHJcblxyXG4vKiBDb21wb3J0ZW1lbnQgZGUgZMOpZmlsZW1lbnQgKHNlcmEgbmV1dHJhbGlzw6kgc2kgdXRpbGlzYXRldXIgcHLDqWbDqHJlIG1vaW5zIGQnYW5pbWF0aW9ucykgKi9cclxuaHRtbCB7IHNjcm9sbC1iZWhhdmlvcjogc21vb3RoOyB9XHJcblxyXG4vKiA9PT09PT09PT09PT09PT09PT09PT0gQkFTRSBET0NVTUVOVCA9PT09PT09PT09PT09PT09PT09PT0gKi9cclxuLyogUG9saWNlLCBjb3VsZXVycyBnbG9iYWxlcyBldCB0YWlsbGUgZGUgYmFzZSAqL1xyXG5ib2R5IHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJnLXByaW1hcnkpO1xyXG4gICAgZm9udC1mYW1pbHk6ICdMZXhlbmQnLCBzYW5zLXNlcmlmO1xyXG4gICAgY29sb3I6IHZhcigtLXRleHQtcHJpbWFyeSk7XHJcbiAgICBmb250LXNpemU6IDE2cHg7XHJcbn1cclxuXHJcbi8qID09PT09PT09PT09PT09PT09PT09PSBMQVlPVVQgUFJJTkNJUEFMID09PT09PT09PT09PT09PT09PT09PSAqL1xyXG4vKiBEw6ljYWxhZ2UgcG91ciDDqXZpdGVyIHF1ZSBsZSBoZWFkZXIgZml4ZSBtYXNxdWUgbGUgY29udGVudSAqL1xyXG5tYWluIHtcclxuICAgIHBhZGRpbmctdG9wOiA4MHB4OyAvKiBDb21wZW5zZSBsYSBoYXV0ZXVyIGR1IGhlYWRlciBmaXhlICovXHJcbn1cclxuXHJcbi8qID09PT09PT09PT09PT09PT09PT09PSBIRUFERVIgJiBOQVZJR0FUSU9OID09PT09PT09PT09PT09PT09PT09PSAqL1xyXG4vKiBCYXJyZSBzdXDDqXJpZXVyZSBmaXhlIGF2ZWMgZGlzdHJpYnV0aW9uIGxvZ28vbmF2aWdhdGlvbiAqL1xyXG5oZWFkZXIge1xyXG4gIGRpc3BsYXk6IGZsZXg7XHJcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xyXG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgei1pbmRleDogMTAwO1xyXG4gIHBvc2l0aW9uOiBmaXhlZDtcclxuICB0b3A6IDA7XHJcbiAgbGVmdDogMDtcclxuICByaWdodDogMDtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMTUsIDIzLCA0MiwgMSk7XHJcbiAgd2lkdGg6IDEwMCU7XHJcbiAgcGFkZGluZzogMC41cmVtIDFyZW07XHJcbn1cclxuXHJcbi8qIExvZ28gcmVzcG9uc2l2ZSAobGFyZ2V1ciBhZGFwdGF0aXZlLCBoYXV0ZXVyIGNvbnNlcnbDqWUpICovXHJcbi5sb2dvIGltZyB7XHJcbiAgd2lkdGg6IGNsYW1wKDE2MHB4LCAyNXZ3LCAzMDBweCk7XHJcbiAgaGVpZ2h0OiBhdXRvO1xyXG59XHJcblxyXG4vKiA9PT09PT09PT09PT09PT09PT09PT0gVElUUkVTICYgVEVYVEUgPT09PT09PT09PT09PT09PT09PT09ICovXHJcbiAgaDEsIGgye1xyXG4gICAgY29sb3I6IHZhcigtLWFjY2VudC1jb2xvcik7XHJcbiAgIH1cclxuXHJcbiAgIGgxe1xyXG4gICAgbWFyZ2luLWJvdHRvbTogMS41cmVtO1xyXG4gICB9XHJcblxyXG4gICBoMntcclxuICAgIGZvbnQtc2l6ZTogMS41cmVtO1xyXG4gICAgbWFyZ2luLWJvdHRvbTogMXJlbTtcclxuICAgfVxyXG5cclxuICAgcCwgbGksIGxhYmVse1xyXG4gICAgY29sb3I6IHZhcigtLXRleHQtcHJpbWFyeSk7XHJcbiAgIH1cclxuXHJcbiAgIC5hY3Rpb24gcCB7XHJcbiAgICBmb250LXNpemU6IDEuNXJlbTtcclxuICAgfVxyXG5cclxuLyogU3R5bGUgZGUgbGllbiBwYXIgZMOpZmF1dCAoc3VyIGZvbmQgc29tYnJlKSAqL1xyXG4gIGF7XHJcbiAgICBjb2xvcjogd2hpdGU7XHJcbiAgIH1cclxuXHJcbiAgICBhOmhvdmVyIHtcclxuICAgIGNvbG9yOiB2YXIoLS1hY2NlbnQtaG92ZXIpO1xyXG4gICAgfVxyXG4gICBcclxuLyogTGlzdGUgZGUgbmF2aWdhdGlvbiBob3Jpem9udGFsZSAodnVlIGRlc2t0b3ApICovXHJcbiAgbmF2IHVse1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgfVxyXG5cclxuICAgbmF2IGxpIHtcclxuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XHJcbiAgICBtYXJnaW46IDAgMTVweDtcclxuICAgfVxyXG5cclxuICAgbmF2IGEge1xyXG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG4gICAgcGFkZGluZzogMS41cmVtOyAgXHJcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgIH1cclxuXHJcbi8qID09PT09PT09PT09PT09PT09PT09PSBTRUNUSU9OUyBHw4lOw4lSSVFVRVMgPT09PT09PT09PT09PT09PT09PT09ICovXHJcbi8qIExhcmdldXIgZmx1aWRlIGV0IGVzcGFjZW1lbnQgdmVydGljYWwgYWRhcHRhdGlmICovXHJcbiAgc2VjdGlvbiB7XHJcbiAgICBwYWRkaW5nOiBjbGFtcCg2MHB4LCAxMHZoLCAxMDBweCkgMjBweDtcclxuICAgIG1hcmdpbjogMCBhdXRvO1xyXG4gICAgbWF4LXdpZHRoOiBtaW4oMTIwMHB4LCA5MCUpO1xyXG4gICAgc2Nyb2xsLW1hcmdpbi10b3A6IDgwcHg7XHJcbiAgIH1cclxuXHJcbi8qIFNlY3Rpb24gZCdpbnRyb2R1Y3Rpb24gOiBtaXNlIGVuIGF2YW50IGRlIGwnYWNjcm9jaGUgKi9cclxuICAjcHJlc2VudGF0aW9uIHtcclxuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJnLXNlY29uZGFyeSk7XHJcbiAgICBib3gtc2hhZG93OiAwIDRweCA2cHggcmdiYSgwLCAwLCAwLCAwLjMpO1xyXG5cclxuICAgfVxyXG5cclxuLyogU2VjdGlvbiBwYXJjb3VycyA6IGNvbnRpZW50IGxhIHRpbWVsaW5lICovXHJcbiAgI3BhcmNvdXJze1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmctcHJpbWFyeSk7XHJcbiAgIH1cclxuXHJcbi8qIFNlY3Rpb24gcsOpYWxpc2F0aW9ucyA6IGxpc3RlIGRlcyBwcm9qZXRzICovXHJcbiAgI3JlYWxpc2F0aW9ucyB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iZy1zZWNvbmRhcnkpO1xyXG4gICAgYm94LXNoYWRvdzogMCA0cHggNnB4IHJnYmEoMCwgMCwgMCwgMC4zKTtcclxuICAgfVxyXG5cclxuLyogU2VjdGlvbiBjb250YWN0IDogZm9ybXVsYWlyZSB1dGlsaXNhdGV1ciAqL1xyXG4gICN0cmF2YWlsbG9ucy1lbnNlbWJsZSB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iZy1wcmltYXJ5KTtcclxuICAgfVxyXG5cclxuLyogPT09PT09PT09PT09PT09PT09PT09IEJPVVRPTlMgRCdBQ1RJT04gPT09PT09PT09PT09PT09PT09PT09ICovXHJcbi8qIEJvdXRvbnMgcHJpbmNpcGF1eCAoaGF1dCBkZSBwYWdlICsgZm9ybXVsYWlyZSkgKi9cclxuICAudG9wLWNvbnRhY3QtYnRuLCAuYm90dG9tLWNvbnRhY3QtYnRuIHtcclxuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgIGNvbG9yOiAjMGEwYTBhO1xyXG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcclxuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxuICAgIG1hcmdpbi10b3A6IDEuNXJlbTtcclxuICAgIHBhZGRpbmc6IDFyZW07XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1hY2NlbnQtY29sb3IpO1xyXG4gICAgYm9yZGVyLXJhZGl1czogNXB4O1xyXG4gICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gICAgYm9yZGVyOiBub25lO1xyXG4gICAgZm9udC1mYW1pbHk6IGluaGVyaXQ7XHJcbiAgICBmb250LXNpemU6IDFyZW07XHJcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuM3MgZWFzZTtcclxuICAgfVxyXG5cclxuICAgLnRvcC1jb250YWN0LWJ0bjpob3ZlciwgLmJvdHRvbS1jb250YWN0LWJ0bjpob3ZlcntcclxuICAgIGNvbG9yOiB3aGl0ZTtcclxuICAgfVxyXG5cclxuICAgIC5ib3R0b20tY29udGFjdC1idG4ge1xyXG4gICAgd2lkdGg6IDEwcmVtO1xyXG4gICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICBtYXJnaW46IDAgYXV0bztcclxuICAgfVxyXG5cclxuICAgI3ByZXNlbnRhdGlvbiBoMSB7XHJcbiAgICBmb250LXNpemU6IDJyZW07XHJcbiAgIH1cclxuXHJcbi8qID09PT09PT09PT09PT09PT09PT09PSBHQUxFUklFIFBST0pFVFMgPT09PT09PT09PT09PT09PT09PT09ICovXHJcbi8qIEdyaWxsZSBmbGV4aWJsZSBkZXMgcsOpYWxpc2F0aW9ucyAqL1xyXG4gIC5nYWxsZXJ5LWdyaWQge1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGZsZXgtd3JhcDogd3JhcDtcclxuICAgIGdhcDogMjBweDtcclxuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICB9XHJcblxyXG4vKiBDYXJ0ZSBwcm9qZXQgaW5kaXZpZGVsbGUgKGZvbmQsIG9tYnJlLCBjb2lucyBhcnJvbmRpcykgKi9cclxuICBmaWd1cmUge1xyXG4gICAgbWF4LXdpZHRoOiA0MDBweDtcclxuICAgIGJhY2tncm91bmQ6IHZhcigtLWJnLXByaW1hcnkpO1xyXG4gICAgcGFkZGluZzogMXJlbTtcclxuICAgIGJvcmRlci1yYWRpdXM6IDhweDtcclxuICAgIGJveC1zaGFkb3c6IDAgNHB4IDZweCByZ2JhKDAsIDAsIDAsIDAuMyk7XHJcbn1cclxuXHJcbiAgIGZpZ3VyZSBpbWcge1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4zcyBlYXNlO1xyXG4gICB9XHJcblxyXG4gIC8qIEFuaW1hdGlvbiBpbWFnZSBwcm9qZXQgc3VyIGludGVyYWN0aW9uIChob3Zlci9mb2N1cykgKi9cclxuICBmaWd1cmUgYTpob3ZlciBpbWcsXHJcbiAgZmlndXJlIGE6Zm9jdXMtdmlzaWJsZSBpbWcge1xyXG4gICB0cmFuc2Zvcm06IHNjYWxlKDEuMDUpO1xyXG4gICBib3gtc2hhZG93OiAwIDRweCA4cHggcmdiYSgwLDAsMCwuMik7XHJcbiAgfVxyXG5cclxuICAvKiBGb2N1cyBjbGF2aWVyIHN1ciBsaWVuIGltYWdlIDogb3V0bGluZSB2aXNpYmxlICovXHJcbiAgZmlndXJlIGE6Zm9jdXMtdmlzaWJsZSB7XHJcbiAgICBvdXRsaW5lOiAzcHggc29saWQgdmFyKC0tYWNjZW50LWNvbG9yKTtcclxuICAgIG91dGxpbmUtb2Zmc2V0OiAzcHg7XHJcbiAgICBib3JkZXItcmFkaXVzOiA4cHg7XHJcbn1cclxuXHJcblxyXG5cclxuICAgZmlnY2FwdGlvbntcclxuICAgIG1hcmdpbjogMC41cmVtIDA7XHJcbiAgIH1cclxuXHJcbiAgIGZpZ2NhcHRpb24gdWwgbGkge1xyXG4gICAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xyXG4gICAgY29sb3I6IHZhcigtLXRleHQtcHJpbWFyeSk7XHJcbiAgIH1cclxuXHJcbiAgLyogVGl0cmUgZGUgcHJvamV0IHNvdXMgbCdpbWFnZSAqL1xyXG4gIGZpZ2NhcHRpb24gaDMge1xyXG4gICAgbWFyZ2luOiAxcmVtIDAgMXJlbSAwO1xyXG4gICAgY29sb3I6IHZhcigtLWFjY2VudC1jb2xvcik7XHJcbiAgIH1cclxuXHJcbiAgZmlnY2FwdGlvbiBwIHtcclxuICAgIGZvbnQtc2l6ZTogMS4yNXJlbTtcclxuICAgfVxyXG5cclxuLyogPT09PT09PT09PT09PT09PT09PT09IEZPUk1VTEFJUkUgQ09OVEFDVCA9PT09PT09PT09PT09PT09PT09PT0gKi9cclxuLyogRW1waWxlbWVudCB2ZXJ0aWNhbCBwb3VyIGxpc2liaWxpdMOpIGV0IGFjY2Vzc2liaWxpdMOpICovXHJcbiAgZm9ybXtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICB9XHJcblxyXG4gIC8qIEdyb3VwZSBsYWJlbCArIGNoYW1wICovXHJcbiAgLmZvcm0tc2VjdGlvbiB7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgIG1hcmdpbi1ib3R0b206IDFyZW07XHJcbiAgIH1cclxuXHJcbiAgIGxhYmVsIHtcclxuICAgIG1hcmdpbi1ib3R0b206IDAuNXJlbTtcclxuICAgIH1cclxuXHJcbiAgICAvKiBDaGFtcHMgdGV4dHVlbHMgOiBzdXJmYWNlIHRhY3RpbGUgc3VmZmlzYW50ZSAqL1xyXG4gICAgaW5wdXQsIHRleHRhcmVhIHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJnLXNlY29uZGFyeSk7XHJcbiAgICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMTUpO1xyXG4gICAgcGFkZGluZzogMXJlbTtcclxuICAgIGNvbG9yOiB2YXIoLS10ZXh0LXByaW1hcnkpO1xyXG4gICAgYm9yZGVyLXJhZGl1czogNXB4O1xyXG4gICAgZm9udC1mYW1pbHk6IGluaGVyaXQ7XHJcbiAgICBmb250LXNpemU6IDFyZW07XHJcbiAgICBtaW4taGVpZ2h0OiA0NHB4O1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICB9XHJcblxyXG4gICAgLyogWm9uZSBkZSB0ZXh0ZSByZWRpbWVuc2lvbm5hYmxlIHZlcnRpY2FsZW1lbnQgc2V1bGVtZW50ICovXHJcbiAgICB0ZXh0YXJlYSB7XHJcbiAgICBtaW4taGVpZ2h0OiAxMjBweDtcclxuICAgIHJlc2l6ZTogdmVydGljYWw7XHJcbiAgICB9XHJcblxyXG4gIC8qIFBsYWNlaG9sZGVyIGF0dMOpbnXDqSAoY291bGV1ciBncmlzIG1veWVuKSAqL1xyXG4gIDo6cGxhY2Vob2xkZXIge1xyXG4gICAgY29sb3I6ICM5YWE0YjI7XHJcbiAgICBvcGFjaXR5OiAxO1xyXG4gICAgfVxyXG5cclxuICAgIC8qIEFjY2VudHVhdGlvbiBib3JkdXJlIHN1ciBmb2N1cyBjbGF2aWVyL3NvdXJpcyAqL1xyXG4gICAgaW5wdXQ6Zm9jdXMsIHRleHRhcmVhOmZvY3VzIHtcclxuICAgIGJvcmRlci1jb2xvcjogdmFyKC0tYWNjZW50LWNvbG9yKTtcclxuICAgIG91dGxpbmU6IG5vbmU7XHJcbiAgICB9XHJcblxyXG4gICAgLyogQmFkZ2UgT3BxdWFzdCBjZW50csOpIHNvdXMgbGUgY29udGVudSAqL1xyXG4gICAgLmNlcnRpZmljYXRpb24tb3BxdWFzdCBhe1xyXG4gICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IFxyXG4gICAgbWFyZ2luOiAwIGF1dG87XHJcbiAgICBtYXJnaW4tYm90dG9tOiAxLjVyZW07XHJcbiAgICB3aWR0aDogNnJlbTtcclxuICAgIH1cclxuXHJcbiAgLyogPT09PT09PT09PT09PT09PT09PT09IFBJRUQgREUgUEFHRSA9PT09PT09PT09PT09PT09PT09PT0gKi9cclxuICAvKiBab25lIGJhc3NlIDogZHJvaXRzIGQnYXV0ZXVyICsgYmFkZ2UgKi9cclxuICAgIGZvb3RlciB7XHJcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICBwYWRkaW5nOiAxcmVtO1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmctc2Vjb25kYXJ5KTtcclxuICAgICAgY29sb3I6IHZhcigtLXRleHQtcHJpbWFyeSk7XHJcbiAgICB9XHJcblxyXG4vKiA9PT09PT09PT09PT09PT09PT09PT0gVElNRUxJTkUgKFBBUkNPVVJTKSA9PT09PT09PT09PT09PT09PT09PT0gKi9cclxuLyogQ2hyb25vbG9naWUgY2VudHJhbGUgOiBhbHRlcm5hbmNlIGdhdWNoZS9kcm9pdGUsIGxpZ25lIHZlcnRpY2FsZSxcclxuICAgcG9pbnRzIChjZXJjbGVzKSBldCBmbMOoY2hlcyBkaXJlY3Rpb25uZWxsZXMuIFJlc3BvbnNpdmUgPDYwMHB4LiAqL1xyXG4vKlRpbWVsaW5lKi9cclxuXHJcbiAgICAvKiBUaGUgYWN0dWFsIHRpbWVsaW5lICh0aGUgdmVydGljYWwgcnVsZXIpICovXHJcbi50aW1lbGluZSB7XHJcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gIG1heC13aWR0aDogMTIwMHB4O1xyXG4gIG1hcmdpbjogMCBhdXRvO1xyXG59XHJcblxyXG4udGltZWxpbmUgaDMge1xyXG4gIGZvbnQtd2VpZ2h0OiAzMDA7XHJcbiAgbWFyZ2luOiAwIDAgLjVyZW07XHJcbn1cclxuXHJcbi50aW1lbGluZSBoMyBhIHtcclxuICBjb2xvcjogdmFyKC0tdGV4dC1wcmltYXJ5KTtcclxuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gIGxpbmUtaGVpZ2h0OiAxLjM7XHJcbn1cclxuXHJcbi50aW1lbGluZSBoMyBhOmhvdmVyLFxyXG4udGltZWxpbmUgaDMgYTpmb2N1cy12aXNpYmxlIHtcclxuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcclxuICBvdXRsaW5lOiAzcHggc29saWQgdmFyKC0tYWNjZW50LWNvbG9yKTtcclxuICBvdXRsaW5lLW9mZnNldDogM3B4O1xyXG4gIGJvcmRlci1yYWRpdXM6IDRweDtcclxufVxyXG5cclxuLyogVGhlIGFjdHVhbCB0aW1lbGluZSAodGhlIHZlcnRpY2FsIHJ1bGVyKSAqL1xyXG4udGltZWxpbmU6OmFmdGVyIHtcclxuICBjb250ZW50OiAnJztcclxuICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgd2lkdGg6IDZweDtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1hY2NlbnQtY29sb3IpO1xyXG4gIHRvcDogMDtcclxuICBib3R0b206IDA7XHJcbiAgbGVmdDogNTAlO1xyXG4gIG1hcmdpbi1sZWZ0OiAtM3B4O1xyXG59XHJcblxyXG4udGltZWxpbmUteWVhciB7IGNvbG9yOiB2YXIoLS1hY2NlbnQtY29sb3IpOyBmb250LXdlaWdodDogNzAwOyBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IG1hcmdpbi1ib3R0b206IC4yNXJlbTsgfVxyXG5cclxuXHJcbi8qIENvbnRhaW5lciBhcm91bmQgY29udGVudCAqL1xyXG4uY29udGFpbmVyIHtcclxuICBwYWRkaW5nOiAxMHB4IDQwcHg7XHJcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gIGJhY2tncm91bmQtY29sb3I6IGluaGVyaXQ7XHJcbiAgd2lkdGg6IDUwJTtcclxufVxyXG5cclxuLyogVGhlIGNpcmNsZXMgb24gdGhlIHRpbWVsaW5lICovXHJcbi5jb250YWluZXI6OmFmdGVyIHtcclxuICBjb250ZW50OiAnJztcclxuICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgd2lkdGg6IDI1cHg7XHJcbiAgaGVpZ2h0OiAyNXB4O1xyXG4gIHJpZ2h0OiAtMTdweDtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iZy1wcmltYXJ5KTtcclxuICBib3JkZXI6IDRweCBzb2xpZCB2YXIoLS1hY2NlbnQtY29sb3IpO1xyXG4gIHRvcDogMTVweDtcclxuICBib3JkZXItcmFkaXVzOiA1MCU7XHJcbiAgei1pbmRleDogMTtcclxufVxyXG5cclxuLyogUGxhY2UgdGhlIGNvbnRhaW5lciB0byB0aGUgbGVmdCAqL1xyXG4ubGVmdCB7XHJcbiAgbGVmdDogMDtcclxufVxyXG5cclxuLyogUGxhY2UgdGhlIGNvbnRhaW5lciB0byB0aGUgcmlnaHQgKi9cclxuLnJpZ2h0IHtcclxuICBsZWZ0OiA1MCU7XHJcbn1cclxuXHJcbi8qIEFkZCBhcnJvd3MgdG8gdGhlIGxlZnQgY29udGFpbmVyIChwb2ludGluZyByaWdodCkgKi9cclxuLmxlZnQ6OmJlZm9yZSB7XHJcbiAgY29udGVudDogXCIgXCI7XHJcbiAgaGVpZ2h0OiAwO1xyXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICB0b3A6IDIycHg7XHJcbiAgd2lkdGg6IDA7XHJcbiAgei1pbmRleDogMTtcclxuICByaWdodDogMzBweDtcclxuICBib3JkZXI6IG1lZGl1bSBzb2xpZCB3aGl0ZTtcclxuICBib3JkZXItd2lkdGg6IDEwcHggMCAxMHB4IDEwcHg7XHJcbiAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCB3aGl0ZTtcclxufVxyXG5cclxuLyogQWRkIGFycm93cyB0byB0aGUgcmlnaHQgY29udGFpbmVyIChwb2ludGluZyBsZWZ0KSAqL1xyXG4ucmlnaHQ6OmJlZm9yZSB7XHJcbiAgY29udGVudDogXCIgXCI7XHJcbiAgaGVpZ2h0OiAwO1xyXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICB0b3A6IDIycHg7XHJcbiAgd2lkdGg6IDA7XHJcbiAgei1pbmRleDogMTtcclxuICBsZWZ0OiAzMHB4O1xyXG4gIGJvcmRlcjogbWVkaXVtIHNvbGlkIHdoaXRlO1xyXG4gIGJvcmRlci13aWR0aDogMTBweCAxMHB4IDEwcHggMDtcclxuICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50IHdoaXRlIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50O1xyXG59XHJcblxyXG4vKiBGaXggdGhlIGNpcmNsZSBmb3IgY29udGFpbmVycyBvbiB0aGUgcmlnaHQgc2lkZSAqL1xyXG4ucmlnaHQ6OmFmdGVyIHtcclxuICBsZWZ0OiAtMTZweDtcclxufVxyXG5cclxuLyogVGhlIGFjdHVhbCBjb250ZW50ICovXHJcbi5jb250ZW50IHtcclxuICBwYWRkaW5nOiAyMHB4IDMwcHg7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmctc2Vjb25kYXJ5KTtcclxuICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgYm9yZGVyLXJhZGl1czogNnB4O1xyXG4gIGJvcmRlci1sZWZ0OiAzcHggc29saWQgdmFyKC0tYWNjZW50LWNvbG9yKTtcclxuICBjb2xvcjogdmFyKC0tdGV4dC1wcmltYXJ5KTtcclxufVxyXG5cclxuLyogTWVkaWEgcXVlcnkgOiBhZGFwdGF0aW9uIHRpbWVsaW5lIDwgNjAwcHggKGxpZ25lIGTDqXBsYWPDqWUgw6AgZ2F1Y2hlLCBjb2xvbm5lcyBwbGVpbmUgbGFyZ2V1cikgKi9cclxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjAwcHgpIHtcclxuLyogUGxhY2UgdGhlIHRpbWVsaW1lIHRvIHRoZSBsZWZ0ICovXHJcbiAgLnRpbWVsaW5lOjphZnRlciB7XHJcbiAgICBsZWZ0OiAzMXB4O1xyXG4gIH1cclxuXHJcbi8qIEZ1bGwtd2lkdGggY29udGFpbmVycyAqL1xyXG4gIC5jb250YWluZXIge1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBwYWRkaW5nLWxlZnQ6IDcwcHg7XHJcbiAgICBwYWRkaW5nLXJpZ2h0OiAyNXB4O1xyXG4gIH1cclxuXHJcbi8qIE1ha2Ugc3VyZSB0aGF0IGFsbCBhcnJvd3MgYXJlIHBvaW50aW5nIGxlZnR3YXJkcyAqL1xyXG4gIC5jb250YWluZXI6OmJlZm9yZSB7XHJcbiAgICBsZWZ0OiA2MHB4O1xyXG4gICAgYm9yZGVyOiBtZWRpdW0gc29saWQgd2hpdGU7XHJcbiAgICBib3JkZXItd2lkdGg6IDEwcHggMTBweCAxMHB4IDA7XHJcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50IHdoaXRlIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50O1xyXG4gIH1cclxuXHJcbi8qIE1ha2Ugc3VyZSBhbGwgY2lyY2xlcyBhcmUgYXQgdGhlIHNhbWUgc3BvdCAqL1xyXG4gIC5sZWZ0OjphZnRlciwgLnJpZ2h0OjphZnRlciB7XHJcbiAgICBsZWZ0OiAxNXB4O1xyXG4gIH1cclxuXHJcbi8qIE1ha2UgYWxsIHJpZ2h0IGNvbnRhaW5lcnMgYmVoYXZlIGxpa2UgdGhlIGxlZnQgb25lcyAqL1xyXG4gIC5yaWdodCB7XHJcbiAgICBsZWZ0OiAwJTtcclxuICB9XHJcbn1cclxuXHJcbi50aW1lbGluZSBwe1xyXG4gICAgY29sb3I6IHZhcigtLXRleHQtcHJpbWFyeSk7XHJcbn1cclxuXHJcbi8qIEZpbiBUaW1lbGluZSAqL1xyXG5cclxuLyogUkdQRCovXHJcbiNtZW50aW9ucy1sZWdhbGVzIGgxLCAjcG9saXRpcXVlLWNvbmZpZGVudGlhbGl0ZSBoMXtcclxuICBmb250LXNpemU6IDJyZW07XHJcbn1cclxuXHJcbiNwb2xpdGlxdWUtY29uZmlkZW50aWFsaXRlIHVse1xyXG4gIG1hcmdpbi1sZWZ0OiAxLjVyZW07XHJcbn1cclxuXHJcblxyXG4vKiA9PT09PT09PT09PT09PT09PT09PT0gQUNDRVNTSUJJTElUw4kgR0xPQkFMRSA9PT09PT09PT09PT09PT09PT09PT0gKi9cclxuLyogT3V0bGluZSB2aXNpYmxlIHBvdXIgbmF2aWdhdGlvbiBjbGF2aWVyIChXQ0FHIDIuMSkgKi9cclxuLypBY2Nlc3NpYmlsaXTDqSovXHJcblxyXG5hOmZvY3VzLXZpc2libGUsIGJ1dHRvbjpmb2N1cy12aXNpYmxlLCBpbnB1dDpmb2N1cy12aXNpYmxlLCB0ZXh0YXJlYTpmb2N1cy12aXNpYmxlIHsgXHJcbiAgICBvdXRsaW5lOiAzcHggc29saWQgdmFyKC0tYWNjZW50LWNvbG9yKTsgXHJcbiAgICBvdXRsaW5lLW9mZnNldDogM3B4OyBcclxufVxyXG5cclxuLyogPT09PT09PT09PT09PT09PT09PT09IE5BVklHQVRJT04gTU9CSUxFIChIQU1CVVJHRVIpID09PT09PT09PT09PT09PT09PT09PSAqL1xyXG4vKiBNZW51IGTDqXJvdWxhbnQgcHVyZSBDU1MgcG91ciBwZXRpdHMgw6ljcmFucyAqL1xyXG4vKiBIYW1idXJnZXIgbWVudSAqL1xyXG4ubWVudS10b2dnbGUge1xyXG4gICAgZGlzcGxheTogbm9uZTtcclxufVxyXG5cclxuLm1lbnUtaWNvbiB7XHJcbiAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICAgIHBhZGRpbmc6IDFyZW07XHJcbn1cclxuXHJcbi5tZW51LWljb24gc3BhbiB7XHJcbiAgICB3aWR0aDogMjVweDtcclxuICAgIGhlaWdodDogM3B4O1xyXG4gICAgYmFja2dyb3VuZDogdmFyKC0tYWNjZW50LWNvbG9yKTtcclxuICAgIG1hcmdpbjogM3B4IDA7XHJcbiAgICB0cmFuc2l0aW9uOiAwLjNzO1xyXG59XHJcblxyXG4ubWVudS1pY29uOmZvY3VzLXZpc2libGUgc3BhbiB7XHJcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1hY2NlbnQtaG92ZXIpO1xyXG4gICAgYm94LXNoYWRvdzogMCAwIDAgMnB4IHZhcigtLWFjY2VudC1jb2xvcik7XHJcbn1cclxuXHJcbi8qIE1lZGlhIHF1ZXJ5IDogbG9nbyByw6lkdWl0IHN1ciB0csOocyBwZXRpdHMgw6ljcmFucyAqL1xyXG5AbWVkaWEgKG1heC13aWR0aDogNDgwcHgpIHsgLmxvZ28gaW1nIHsgd2lkdGg6IDE4MHB4OyB9IH1cclxuXHJcbi8qIE1lZGlhIHF1ZXJ5IG5hdmlnYXRpb24gOiB0cmFuc2Zvcm1hdGlvbiBsaXN0ZSBlbiBtZW51IGTDqXJvdWxhbnQgKi9cclxuQG1lZGlhIChtYXgtd2lkdGg6IDc2OHB4KSB7XHJcbiAgICAubWVudS1pY29uIHtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgfVxyXG4gICAgXHJcbiAgICBuYXYgdWwge1xyXG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICB0b3A6IDEwMCU7XHJcbiAgICAgICAgbGVmdDogMDtcclxuICAgICAgICByaWdodDogMDtcclxuICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1iZy1wcmltYXJ5KTtcclxuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgICAgIG1heC1oZWlnaHQ6IDA7XHJcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICAgICAgICB0cmFuc2l0aW9uOiBtYXgtaGVpZ2h0IDAuM3MgZWFzZTtcclxuICAgIH1cclxuICAgIFxyXG4gICAgLm1lbnUtdG9nZ2xlOmNoZWNrZWQgfiB1bCB7XHJcbiAgICAgICAgbWF4LWhlaWdodDogNDAwcHg7XHJcbiAgICB9XHJcbiAgICBcclxuICAgIG5hdiBsaSB7XHJcbiAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgcmdiYSgyNTUsMjU1LDI1NSwwLjEpO1xyXG4gICAgfVxyXG4gICAgXHJcbiAgICBuYXYgYSB7XHJcbiAgICAgICAgcGFkZGluZzogMS41cmVtO1xyXG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgIGNvbG9yOiB3aGl0ZTtcclxuICAgIH1cclxuICAgIFxyXG4gICAgLyogQW5pbWF0aW9uIGhhbWJ1cmdlciDihpIgWCAqL1xyXG4gICAgLm1lbnUtdG9nZ2xlOmNoZWNrZWQgfiAubWVudS1pY29uIHNwYW46bnRoLWNoaWxkKDEpIHtcclxuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZykgdHJhbnNsYXRlKDZweCwgNnB4KTtcclxuICAgIH1cclxuICAgIFxyXG4gICAgLm1lbnUtdG9nZ2xlOmNoZWNrZWQgfiAubWVudS1pY29uIHNwYW46bnRoLWNoaWxkKDIpIHtcclxuICAgICAgICBvcGFjaXR5OiAwO1xyXG4gICAgfVxyXG4gICAgXHJcbiAgICAubWVudS10b2dnbGU6Y2hlY2tlZCB+IC5tZW51LWljb24gc3BhbjpudGgtY2hpbGQoMykge1xyXG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlKC00NWRlZykgdHJhbnNsYXRlKDZweCwgLTZweCk7XHJcbiAgICB9XHJcbn1cclxuXHJcbi8qIFLDqWR1Y3Rpb24gZGVzIGFuaW1hdGlvbnMgcG91ciBsZXMgdXRpbGlzYXRldXJzIHByw6lmw6lyYW50IG1vaW5zIGRlIG1vdXZlbWVudCAqL1xyXG5cclxuLyogTWVkaWEgcXVlcnkgYWNjZXNzaWJpbGl0w6kgOiByw6lkdWN0aW9uIGRlcyBhbmltYXRpb25zICovXHJcbkBtZWRpYSAocHJlZmVycy1yZWR1Y2VkLW1vdGlvbjogcmVkdWNlKSB7XHJcbiAgICAqLFxyXG4gICAgKjo6YmVmb3JlLFxyXG4gICAgKjo6YWZ0ZXIge1xyXG4gICAgICAgIGFuaW1hdGlvbi1kdXJhdGlvbjogMC4wMW1zICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudDogMSAhaW1wb3J0YW50O1xyXG4gICAgICAgIHRyYW5zaXRpb24tZHVyYXRpb246IDAuMDFtcyAhaW1wb3J0YW50O1xyXG4gICAgICAgIHNjcm9sbC1iZWhhdmlvcjogYXV0byAhaW1wb3J0YW50O1xyXG4gICAgfVxyXG4gICAgaHRtbCB7XHJcbiAgICAgICAgc2Nyb2xsLWJlaGF2aW9yOiBhdXRvO1xyXG4gICAgfVxyXG59Il19 */