@charset "UTF-8";@-webkit-keyframes plyr-progress{to{background-position:25px 0;background-position:var(--plyr-progress-loading-size,25px) 0}}@keyframes plyr-progress{to{background-position:25px 0;background-position:var(--plyr-progress-loading-size,25px) 0}}@-webkit-keyframes plyr-popup{0%{opacity:.5;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes plyr-popup{0%{opacity:.5;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@-webkit-keyframes plyr-fade-in{0%{opacity:0}to{opacity:1}}@keyframes plyr-fade-in{0%{opacity:0}to{opacity:1}}.plyr{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;align-items:center;direction:ltr;display:flex;flex-direction:column;font-family:inherit;font-family:var(--plyr-font-family,inherit);font-variant-numeric:tabular-nums;font-weight:400;font-weight:var(--plyr-font-weight-regular,400);line-height:1.7;line-height:var(--plyr-line-height,1.7);max-width:100%;min-width:200px;position:relative;text-shadow:none;transition:box-shadow .3s ease;z-index:0}.plyr audio,.plyr iframe,.plyr video{display:block;height:100%;width:100%}.plyr button{font:inherit;line-height:inherit;width:auto}.plyr:focus{outline:0}.plyr--full-ui{box-sizing:border-box}.plyr--full-ui *,.plyr--full-ui :after,.plyr--full-ui :before{box-sizing:inherit}.plyr--full-ui a,.plyr--full-ui button,.plyr--full-ui input,.plyr--full-ui label{touch-action:manipulation}.plyr__badge{background:#4a5464;background:var(--plyr-badge-background,#4a5464);border-radius:2px;border-radius:var(--plyr-badge-border-radius,2px);color:#fff;color:var(--plyr-badge-text-color,#fff);font-size:9px;font-size:var(--plyr-font-size-badge,9px);line-height:1;padding:3px 4px}.plyr--full-ui ::-webkit-media-text-track-container{display:none}.plyr__captions{-webkit-animation:plyr-fade-in .3s ease;animation:plyr-fade-in .3s ease;bottom:0;display:none;font-size:13px;font-size:var(--plyr-font-size-small,13px);left:0;padding:10px;padding:var(--plyr-control-spacing,10px);position:absolute;text-align:center;transition:transform .4s ease-in-out;width:100%}.plyr__captions span:empty{display:none}@media (min-width:480px){.plyr__captions{font-size:15px;font-size:var(--plyr-font-size-base,15px);padding:20px;padding:calc(var(--plyr-control-spacing, 10px)*2)}}@media (min-width:768px){.plyr__captions{font-size:18px;font-size:var(--plyr-font-size-large,18px)}}.plyr--captions-active .plyr__captions{display:block}.plyr:not(.plyr--hide-controls) .plyr__controls:not(:empty)~.plyr__captions{transform:translateY(-40px);transform:translateY(calc(var(--plyr-control-spacing, 10px)*-4))}.plyr__caption{background:#000c;background:var(--plyr-captions-background,#000c);border-radius:2px;-webkit-box-decoration-break:clone;box-decoration-break:clone;color:#fff;color:var(--plyr-captions-text-color,#fff);line-height:185%;padding:.2em .5em;white-space:pre-wrap}.plyr__caption div{display:inline}.plyr__control{background:#0000;border:0;border-radius:4px;border-radius:var(--plyr-control-radius,4px);color:inherit;cursor:pointer;flex-shrink:0;overflow:visible;padding:7px;padding:calc(var(--plyr-control-spacing, 10px)*.7);position:relative;transition:all .3s ease}.plyr__control svg{fill:currentColor;display:block;height:18px;height:var(--plyr-control-icon-size,18px);pointer-events:none;width:18px;width:var(--plyr-control-icon-size,18px)}.plyr__control:focus{outline:0}.plyr__control:focus-visible{outline:2px dashed #00b2ff;outline:2px dashed var(--plyr-focus-visible-color,var(--plyr-color-main,var(--plyr-color-main,#00b2ff)));outline-offset:2px}a.plyr__control{text-decoration:none}.plyr__control.plyr__control--pressed .icon--not-pressed,.plyr__control.plyr__control--pressed .label--not-pressed,.plyr__control:not(.plyr__control--pressed) .icon--pressed,.plyr__control:not(.plyr__control--pressed) .label--pressed,a.plyr__control:after,a.plyr__control:before{display:none}.plyr--full-ui ::-webkit-media-controls{display:none}.plyr__controls{align-items:center;display:flex;justify-content:flex-end;text-align:center}.plyr__controls .plyr__progress__container{flex:1;min-width:0}.plyr__controls .plyr__controls__item{margin-left:2.5px;margin-left:calc(var(--plyr-control-spacing, 10px)/4)}.plyr__controls .plyr__controls__item:first-child{margin-left:0;margin-right:auto}.plyr__controls .plyr__controls__item.plyr__progress__container{padding-left:2.5px;padding-left:calc(var(--plyr-control-spacing, 10px)/4)}.plyr__controls .plyr__controls__item.plyr__time{padding:0 5px;padding:0 calc(var(--plyr-control-spacing, 10px)/2)}.plyr__controls .plyr__controls__item.plyr__progress__container:first-child,.plyr__controls .plyr__controls__item.plyr__time+.plyr__time,.plyr__controls .plyr__controls__item.plyr__time:first-child{padding-left:0}.plyr [data-plyr=airplay],.plyr [data-plyr=captions],.plyr [data-plyr=fullscreen],.plyr [data-plyr=pip],.plyr__controls:empty{display:none}.plyr--airplay-supported [data-plyr=airplay],.plyr--captions-enabled [data-plyr=captions],.plyr--fullscreen-enabled [data-plyr=fullscreen],.plyr--pip-supported [data-plyr=pip]{display:inline-block}.plyr__menu{display:flex;position:relative}.plyr__menu .plyr__control svg{transition:transform .3s ease}.plyr__menu .plyr__control[aria-expanded=true] svg{transform:rotate(90deg)}.plyr__menu .plyr__control[aria-expanded=true] .plyr__tooltip{display:none}.plyr__menu__container{-webkit-animation:plyr-popup .2s ease;animation:plyr-popup .2s ease;background:#ffffffe6;background:var(--plyr-menu-background,#ffffffe6);border-radius:8px;border-radius:var(--plyr-menu-radius,8px);bottom:100%;box-shadow:0 1px 2px #00000026;box-shadow:var(--plyr-menu-shadow,0 1px 2px #00000026);color:#4a5464;color:var(--plyr-menu-color,#4a5464);font-size:15px;font-size:var(--plyr-font-size-base,15px);margin-bottom:10px;position:absolute;right:-3px;text-align:left;white-space:nowrap;z-index:3}.plyr__menu__container>div{overflow:hidden;transition:height .35s cubic-bezier(.4,0,.2,1),width .35s cubic-bezier(.4,0,.2,1)}.plyr__menu__container:after{border:4px solid #0000;border-top-color:#ffffffe6;border:var(--plyr-menu-arrow-size,4px) solid #0000;border-top-color:var(--plyr-menu-background,#ffffffe6);content:"";height:0;position:absolute;right:14px;right:calc(var(--plyr-control-icon-size, 18px)/2 + var(--plyr-control-spacing, 10px)*.7 - var(--plyr-menu-arrow-size, 4px)/2);top:100%;width:0}.plyr__menu__container [role=menu]{padding:7px;padding:calc(var(--plyr-control-spacing, 10px)*.7)}.plyr__menu__container [role=menuitem],.plyr__menu__container [role=menuitemradio]{margin-top:2px}.plyr__menu__container [role=menuitem]:first-child,.plyr__menu__container [role=menuitemradio]:first-child{margin-top:0}.plyr__menu__container .plyr__control{align-items:center;color:#4a5464;color:var(--plyr-menu-color,#4a5464);display:flex;font-size:13px;font-size:var(--plyr-font-size-menu,var(--plyr-font-size-small,13px));padding:4.66667px 10.5px;padding:calc(var(--plyr-control-spacing, 10px)*.7/1.5) calc(var(--plyr-control-spacing, 10px)*.7*1.5);-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;width:100%}.plyr__menu__container .plyr__control>span{align-items:inherit;display:flex;width:100%}.plyr__menu__container .plyr__control:after{border:4px solid #0000;border:var(--plyr-menu-item-arrow-size,4px) solid #0000;content:"";position:absolute;top:50%;transform:translateY(-50%)}.plyr__menu__container .plyr__control--forward{padding-right:28px;padding-right:calc(var(--plyr-control-spacing, 10px)*.7*4)}.plyr__menu__container .plyr__control--forward:after{border-left-color:#728197;border-left-color:var(--plyr-menu-arrow-color,#728197);right:6.5px;right:calc(var(--plyr-control-spacing, 10px)*.7*1.5 - var(--plyr-menu-item-arrow-size, 4px))}.plyr__menu__container .plyr__control--forward:focus-visible:after,.plyr__menu__container .plyr__control--forward:hover:after{border-left-color:initial}.plyr__menu__container .plyr__control--back{font-weight:400;font-weight:var(--plyr-font-weight-regular,400);margin:7px;margin:calc(var(--plyr-control-spacing, 10px)*.7);margin-bottom:3.5px;margin-bottom:calc(var(--plyr-control-spacing, 10px)*.7/2);padding-left:28px;padding-left:calc(var(--plyr-control-spacing, 10px)*.7*4);position:relative;width:calc(100% - 14px);width:calc(100% - var(--plyr-control-spacing, 10px)*.7*2)}.plyr__menu__container .plyr__control--back:after{border-right-color:#728197;border-right-color:var(--plyr-menu-arrow-color,#728197);left:6.5px;left:calc(var(--plyr-control-spacing, 10px)*.7*1.5 - var(--plyr-menu-item-arrow-size, 4px))}.plyr__menu__container .plyr__control--back:before{background:#dcdfe5;background:var(--plyr-menu-back-border-color,#dcdfe5);box-shadow:0 1px 0 #fff;box-shadow:0 1px 0 var(--plyr-menu-back-border-shadow-color,#fff);content:"";height:1px;left:0;margin-top:3.5px;margin-top:calc(var(--plyr-control-spacing, 10px)*.7/2);overflow:hidden;position:absolute;right:0;top:100%}.plyr__menu__container .plyr__control--back:focus-visible:after,.plyr__menu__container .plyr__control--back:hover:after{border-right-color:initial}.plyr__menu__container .plyr__control[role=menuitemradio]{padding-left:7px;padding-left:calc(var(--plyr-control-spacing, 10px)*.7)}.plyr__menu__container .plyr__control[role=menuitemradio]:after,.plyr__menu__container .plyr__control[role=menuitemradio]:before{border-radius:100%}.plyr__menu__container .plyr__control[role=menuitemradio]:before{background:#0000001a;content:"";display:block;flex-shrink:0;height:16px;margin-right:10px;margin-right:var(--plyr-control-spacing,10px);transition:all .3s ease;width:16px}.plyr__menu__container .plyr__control[role=menuitemradio]:after{background:#fff;border:0;height:6px;left:12px;opacity:0;top:50%;transform:translateY(-50%) scale(0);transition:transform .3s ease,opacity .3s ease;width:6px}.plyr__menu__container .plyr__control[role=menuitemradio][aria-checked=true]:before{background:#00b2ff;background:var(--plyr-control-toggle-checked-background,var(--plyr-color-main,var(--plyr-color-main,#00b2ff)))}.plyr__menu__container .plyr__control[role=menuitemradio][aria-checked=true]:after{opacity:1;transform:translateY(-50%) scale(1)}.plyr__menu__container .plyr__control[role=menuitemradio]:focus-visible:before,.plyr__menu__container .plyr__control[role=menuitemradio]:hover:before{background:#23282f1a}.plyr__menu__container .plyr__menu__value{align-items:center;display:flex;margin-left:auto;margin-right:-5px;margin-right:calc(var(--plyr-control-spacing, 10px)*.7*-1 - -2px);overflow:hidden;padding-left:24.5px;padding-left:calc(var(--plyr-control-spacing, 10px)*.7*3.5);pointer-events:none}.plyr--full-ui input[type=range]{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:#0000;border:0;border-radius:26px;border-radius:calc(var(--plyr-range-thumb-height, 13px)*2);color:#00b2ff;color:var(--plyr-range-fill-background,var(--plyr-color-main,var(--plyr-color-main,#00b2ff)));display:block;height:19px;height:calc(var(--plyr-range-thumb-active-shadow-width, 3px)*2 + var(--plyr-range-thumb-height, 13px));margin:0;min-width:0;padding:0;transition:box-shadow .3s ease;width:100%}.plyr--full-ui input[type=range]::-webkit-slider-runnable-track{background:#0000;background-image:linear-gradient(90deg,currentColor 0,#0000 0);background-image:linear-gradient(to right,currentColor var(--value,0),#0000 var(--value,0));border:0;border-radius:2.5px;border-radius:calc(var(--plyr-range-track-height, 5px)/2);height:5px;height:var(--plyr-range-track-height,5px);-webkit-transition:box-shadow .3s ease;transition:box-shadow .3s ease;-webkit-user-select:none;user-select:none}.plyr--full-ui input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;background:#fff;background:var(--plyr-range-thumb-background,#fff);border:0;border-radius:100%;box-shadow:0 1px 1px #23282f26,0 0 0 1px #23282f33;box-shadow:var(--plyr-range-thumb-shadow,0 1px 1px #23282f26,0 0 0 1px #23282f33);height:13px;height:var(--plyr-range-thumb-height,13px);margin-top:-4px;margin-top:calc((var(--plyr-range-thumb-height, 13px) - var(--plyr-range-track-height, 5px))/2*-1);position:relative;-webkit-transition:all .2s ease;transition:all .2s ease;width:13px;width:var(--plyr-range-thumb-height,13px)}.plyr--full-ui input[type=range]::-moz-range-track{background:#0000;border:0;border-radius:2.5px;border-radius:calc(var(--plyr-range-track-height, 5px)/2);height:5px;height:var(--plyr-range-track-height,5px);-moz-transition:box-shadow .3s ease;transition:box-shadow .3s ease;-moz-user-select:none;user-select:none}.plyr--full-ui input[type=range]::-moz-range-thumb{background:#fff;background:var(--plyr-range-thumb-background,#fff);border:0;border-radius:100%;box-shadow:0 1px 1px #23282f26,0 0 0 1px #23282f33;box-shadow:var(--plyr-range-thumb-shadow,0 1px 1px #23282f26,0 0 0 1px #23282f33);height:13px;height:var(--plyr-range-thumb-height,13px);position:relative;-moz-transition:all .2s ease;transition:all .2s ease;width:13px;width:var(--plyr-range-thumb-height,13px)}.plyr--full-ui input[type=range]::-moz-range-progress{background:currentColor;border-radius:2.5px;border-radius:calc(var(--plyr-range-track-height, 5px)/2);height:5px;height:var(--plyr-range-track-height,5px)}.plyr--full-ui input[type=range]::-ms-track{color:#0000}.plyr--full-ui input[type=range]::-ms-fill-upper,.plyr--full-ui input[type=range]::-ms-track{background:#0000;border:0;border-radius:2.5px;border-radius:calc(var(--plyr-range-track-height, 5px)/2);height:5px;height:var(--plyr-range-track-height,5px);-ms-transition:box-shadow .3s ease;transition:box-shadow .3s ease;-ms-user-select:none;user-select:none}.plyr--full-ui input[type=range]::-ms-fill-lower{background:#0000;background:currentColor;border:0;border-radius:2.5px;border-radius:calc(var(--plyr-range-track-height, 5px)/2);height:5px;height:var(--plyr-range-track-height,5px);-ms-transition:box-shadow .3s ease;transition:box-shadow .3s ease;-ms-user-select:none;user-select:none}.plyr--full-ui input[type=range]::-ms-thumb{background:#fff;background:var(--plyr-range-thumb-background,#fff);border:0;border-radius:100%;box-shadow:0 1px 1px #23282f26,0 0 0 1px #23282f33;box-shadow:var(--plyr-range-thumb-shadow,0 1px 1px #23282f26,0 0 0 1px #23282f33);height:13px;height:var(--plyr-range-thumb-height,13px);margin-top:0;position:relative;-ms-transition:all .2s ease;transition:all .2s ease;width:13px;width:var(--plyr-range-thumb-height,13px)}.plyr--full-ui input[type=range]::-ms-tooltip{display:none}.plyr--full-ui input[type=range]::-moz-focus-outer{border:0}.plyr--full-ui input[type=range]:focus{outline:0}.plyr--full-ui input[type=range]:focus-visible::-webkit-slider-runnable-track{outline:2px dashed #00b2ff;outline:2px dashed var(--plyr-focus-visible-color,var(--plyr-color-main,var(--plyr-color-main,#00b2ff)));outline-offset:2px}.plyr--full-ui input[type=range]:focus-visible::-moz-range-track{outline:2px dashed #00b2ff;outline:2px dashed var(--plyr-focus-visible-color,var(--plyr-color-main,var(--plyr-color-main,#00b2ff)));outline-offset:2px}.plyr--full-ui input[type=range]:focus-visible::-ms-track{outline:2px dashed #00b2ff;outline:2px dashed var(--plyr-focus-visible-color,var(--plyr-color-main,var(--plyr-color-main,#00b2ff)));outline-offset:2px}.plyr__poster{background-color:#000;background-color:var(--plyr-video-background,var(--plyr-video-background,#000));background-position:50% 50%;background-repeat:no-repeat;background-size:contain;height:100%;left:0;opacity:0;position:absolute;top:0;transition:opacity .2s ease;width:100%;z-index:1}.plyr--stopped.plyr__poster-enabled .plyr__poster{opacity:1}.plyr--youtube.plyr--paused.plyr__poster-enabled:not(.plyr--stopped) .plyr__poster{display:none}.plyr__time{font-size:13px;font-size:var(--plyr-font-size-time,var(--plyr-font-size-small,13px))}.plyr__time+.plyr__time:before{content:"\2044";margin-right:10px;margin-right:var(--plyr-control-spacing,10px)}@media (max-width:767px){.plyr__time+.plyr__time{display:none}}.plyr__tooltip{background:#fff;background:var(--plyr-tooltip-background,#fff);border-radius:5px;border-radius:var(--plyr-tooltip-radius,5px);bottom:100%;box-shadow:0 1px 2px #00000026;box-shadow:var(--plyr-tooltip-shadow,0 1px 2px #00000026);color:#4a5464;color:var(--plyr-tooltip-color,#4a5464);font-size:13px;font-size:var(--plyr-font-size-small,13px);font-weight:400;font-weight:var(--plyr-font-weight-regular,400);left:50%;line-height:1.3;margin-bottom:10px;margin-bottom:calc(var(--plyr-control-spacing, 10px)/2*2);opacity:0;padding:5px 7.5px;padding:calc(var(--plyr-control-spacing, 10px)/2) calc(var(--plyr-control-spacing, 10px)/2*1.5);pointer-events:none;position:absolute;transform:translate(-50%,10px) scale(.8);transform-origin:50% 100%;transition:transform .2s ease .1s,opacity .2s ease .1s;white-space:nowrap;z-index:2}.plyr__tooltip:before{border-left:4px solid #0000;border-left:var(--plyr-tooltip-arrow-size,4px) solid #0000;border-right:4px solid #0000;border-right:var(--plyr-tooltip-arrow-size,4px) solid #0000;border-top:4px solid #fff;border-top:var(--plyr-tooltip-arrow-size,4px) solid var(--plyr-tooltip-background,#fff);bottom:-4px;bottom:calc(var(--plyr-tooltip-arrow-size, 4px)*-1);content:"";height:0;left:50%;position:absolute;transform:translateX(-50%);width:0;z-index:2}.plyr .plyr__control:focus-visible .plyr__tooltip,.plyr .plyr__control:hover .plyr__tooltip,.plyr__tooltip--visible{opacity:1;transform:translate(-50%) scale(1)}.plyr .plyr__control:hover .plyr__tooltip{z-index:3}.plyr__controls>.plyr__control:first-child .plyr__tooltip,.plyr__controls>.plyr__control:first-child+.plyr__control .plyr__tooltip{left:0;transform:translateY(10px) scale(.8);transform-origin:0 100%}.plyr__controls>.plyr__control:first-child .plyr__tooltip:before,.plyr__controls>.plyr__control:first-child+.plyr__control .plyr__tooltip:before{left:16px;left:calc(var(--plyr-control-icon-size, 18px)/2 + var(--plyr-control-spacing, 10px)*.7)}.plyr__controls>.plyr__control:last-child .plyr__tooltip{left:auto;right:0;transform:translateY(10px) scale(.8);transform-origin:100% 100%}.plyr__controls>.plyr__control:last-child .plyr__tooltip:before{left:auto;right:16px;right:calc(var(--plyr-control-icon-size, 18px)/2 + var(--plyr-control-spacing, 10px)*.7);transform:translateX(50%)}.plyr__controls>.plyr__control:first-child .plyr__tooltip--visible,.plyr__controls>.plyr__control:first-child+.plyr__control .plyr__tooltip--visible,.plyr__controls>.plyr__control:first-child+.plyr__control:focus-visible .plyr__tooltip,.plyr__controls>.plyr__control:first-child+.plyr__control:hover .plyr__tooltip,.plyr__controls>.plyr__control:first-child:focus-visible .plyr__tooltip,.plyr__controls>.plyr__control:first-child:hover .plyr__tooltip,.plyr__controls>.plyr__control:last-child .plyr__tooltip--visible,.plyr__controls>.plyr__control:last-child:focus-visible .plyr__tooltip,.plyr__controls>.plyr__control:last-child:hover .plyr__tooltip{transform:translate(0) scale(1)}.plyr__progress{left:6.5px;left:calc(var(--plyr-range-thumb-height, 13px)*.5);margin-right:13px;margin-right:var(--plyr-range-thumb-height,13px);position:relative}.plyr__progress input[type=range],.plyr__progress__buffer{margin-left:-6.5px;margin-left:calc(var(--plyr-range-thumb-height, 13px)*-.5);margin-right:-6.5px;margin-right:calc(var(--plyr-range-thumb-height, 13px)*-.5);width:calc(100% + 13px);width:calc(100% + var(--plyr-range-thumb-height, 13px))}.plyr__progress input[type=range]{position:relative;z-index:2}.plyr__progress .plyr__tooltip{left:0;max-width:120px;overflow-wrap:break-word}.plyr__progress__buffer{-webkit-appearance:none;background:#0000;border:0;border-radius:100px;height:5px;height:var(--plyr-range-track-height,5px);left:0;margin-top:-2.5px;margin-top:calc((var(--plyr-range-track-height, 5px)/2)*-1);padding:0;position:absolute;top:50%}.plyr__progress__buffer::-webkit-progress-bar{background:#0000}.plyr__progress__buffer::-webkit-progress-value{background:currentColor;border-radius:100px;min-width:5px;min-width:var(--plyr-range-track-height,5px);-webkit-transition:width .2s ease;transition:width .2s ease}.plyr__progress__buffer::-moz-progress-bar{background:currentColor;border-radius:100px;min-width:5px;min-width:var(--plyr-range-track-height,5px);-moz-transition:width .2s ease;transition:width .2s ease}.plyr__progress__buffer::-ms-fill{border-radius:100px;-ms-transition:width .2s ease;transition:width .2s ease}.plyr--loading .plyr__progress__buffer{-webkit-animation:plyr-progress 1s linear infinite;animation:plyr-progress 1s linear infinite;background-image:linear-gradient(-45deg,#23282f99 25%,#0000 0,#0000 50%,#23282f99 0,#23282f99 75%,#0000 0,#0000);background-image:linear-gradient(-45deg,var(--plyr-progress-loading-background,#23282f99) 25%,#0000 25%,#0000 50%,var(--plyr-progress-loading-background,#23282f99) 50%,var(--plyr-progress-loading-background,#23282f99) 75%,#0000 75%,#0000);background-repeat:repeat-x;background-size:25px 25px;background-size:var(--plyr-progress-loading-size,25px) var(--plyr-progress-loading-size,25px);color:#0000}.plyr--video.plyr--loading .plyr__progress__buffer{background-color:#ffffff40;background-color:var(--plyr-video-progress-buffered-background,#ffffff40)}.plyr--audio.plyr--loading .plyr__progress__buffer{background-color:#c1c8d199;background-color:var(--plyr-audio-progress-buffered-background,#c1c8d199)}.plyr__progress__marker{background-color:#fff;background-color:var(--plyr-progress-marker-background,#fff);border-radius:1px;height:5px;height:var(--plyr-range-track-height,5px);position:absolute;top:50%;transform:translate(-50%,-50%);width:3px;width:var(--plyr-progress-marker-width,3px);z-index:3}.plyr__volume{align-items:center;display:flex;position:relative}.plyr__volume input[type=range]{margin-left:5px;margin-left:calc(var(--plyr-control-spacing, 10px)/2);margin-right:5px;margin-right:calc(var(--plyr-control-spacing, 10px)/2);max-width:90px;min-width:60px;position:relative;z-index:2}.plyr--audio{display:block}.plyr--audio .plyr__controls{background:#fff;background:var(--plyr-audio-controls-background,#fff);border-radius:inherit;color:#4a5464;color:var(--plyr-audio-control-color,#4a5464);padding:10px;padding:var(--plyr-control-spacing,10px)}.plyr--audio .plyr__control:focus-visible,.plyr--audio .plyr__control:hover,.plyr--audio .plyr__control[aria-expanded=true]{background:#00b2ff;background:var(--plyr-audio-control-background-hover,var(--plyr-color-main,var(--plyr-color-main,#00b2ff)));color:#fff;color:var(--plyr-audio-control-color-hover,#fff)}.plyr--full-ui.plyr--audio input[type=range]::-webkit-slider-runnable-track{background-color:#c1c8d199;background-color:var(--plyr-audio-range-track-background,var(--plyr-audio-progress-buffered-background,#c1c8d199))}.plyr--full-ui.plyr--audio input[type=range]::-moz-range-track{background-color:#c1c8d199;background-color:var(--plyr-audio-range-track-background,var(--plyr-audio-progress-buffered-background,#c1c8d199))}.plyr--full-ui.plyr--audio input[type=range]::-ms-track{background-color:#c1c8d199;background-color:var(--plyr-audio-range-track-background,var(--plyr-audio-progress-buffered-background,#c1c8d199))}.plyr--full-ui.plyr--audio input[type=range]:active::-webkit-slider-thumb{box-shadow:0 1px 1px #23282f26,0 0 0 1px #23282f33,0 0 0 3px #23282f1a;box-shadow:var(--plyr-range-thumb-shadow,0 1px 1px #23282f26,0 0 0 1px #23282f33),0 0 0 var(--plyr-range-thumb-active-shadow-width,3px) var(--plyr-audio-range-thumb-active-shadow-color,#23282f1a)}.plyr--full-ui.plyr--audio input[type=range]:active::-moz-range-thumb{box-shadow:0 1px 1px #23282f26,0 0 0 1px #23282f33,0 0 0 3px #23282f1a;box-shadow:var(--plyr-range-thumb-shadow,0 1px 1px #23282f26,0 0 0 1px #23282f33),0 0 0 var(--plyr-range-thumb-active-shadow-width,3px) var(--plyr-audio-range-thumb-active-shadow-color,#23282f1a)}.plyr--full-ui.plyr--audio input[type=range]:active::-ms-thumb{box-shadow:0 1px 1px #23282f26,0 0 0 1px #23282f33,0 0 0 3px #23282f1a;box-shadow:var(--plyr-range-thumb-shadow,0 1px 1px #23282f26,0 0 0 1px #23282f33),0 0 0 var(--plyr-range-thumb-active-shadow-width,3px) var(--plyr-audio-range-thumb-active-shadow-color,#23282f1a)}.plyr--audio .plyr__progress__buffer{color:#c1c8d199;color:var(--plyr-audio-progress-buffered-background,#c1c8d199)}.plyr--video{overflow:hidden}.plyr--video.plyr--menu-open{overflow:visible}.plyr__video-wrapper{background:#000;background:var(--plyr-video-background,var(--plyr-video-background,#000));border-radius:inherit;height:100%;margin:auto;overflow:hidden;position:relative;width:100%}.plyr__video-embed,.plyr__video-wrapper--fixed-ratio{aspect-ratio:16/9}@supports not (aspect-ratio:16/9){.plyr__video-embed,.plyr__video-wrapper--fixed-ratio{height:0;padding-bottom:56.25%;position:relative}}.plyr__video-embed iframe,.plyr__video-wrapper--fixed-ratio video{border:0;height:100%;left:0;position:absolute;top:0;width:100%}.plyr--full-ui .plyr__video-embed>.plyr__video-embed__container{padding-bottom:240%;position:relative;transform:translateY(-38.28125%)}.plyr--video .plyr__controls{background:linear-gradient(#0000,#000000bf);background:var(--plyr-video-controls-background,linear-gradient(#0000,#000000bf));border-bottom-left-radius:inherit;border-bottom-right-radius:inherit;bottom:0;color:#fff;color:var(--plyr-video-control-color,#fff);left:0;padding:5px;padding:calc(var(--plyr-control-spacing, 10px)/2);padding-top:20px;padding-top:calc(var(--plyr-control-spacing, 10px)*2);position:absolute;right:0;transition:opacity .4s ease-in-out,transform .4s ease-in-out;z-index:3}@media (min-width:480px){.plyr--video .plyr__controls{padding:10px;padding:var(--plyr-control-spacing,10px);padding-top:35px;padding-top:calc(var(--plyr-control-spacing, 10px)*3.5)}}.plyr--video.plyr--hide-controls .plyr__controls{opacity:0;pointer-events:none;transform:translateY(100%)}.plyr--video .plyr__control:focus-visible,.plyr--video .plyr__control:hover,.plyr--video .plyr__control[aria-expanded=true]{background:#00b2ff;background:var(--plyr-video-control-background-hover,var(--plyr-color-main,var(--plyr-color-main,#00b2ff)));color:#fff;color:var(--plyr-video-control-color-hover,#fff)}.plyr__control--overlaid{background:#00b2ff;background:var(--plyr-video-control-background-hover,var(--plyr-color-main,var(--plyr-color-main,#00b2ff)));border:0;border-radius:100%;color:#fff;color:var(--plyr-video-control-color,#fff);display:none;left:50%;opacity:.9;padding:15px;padding:calc(var(--plyr-control-spacing, 10px)*1.5);position:absolute;top:50%;transform:translate(-50%,-50%);transition:.3s;z-index:2}.plyr__control--overlaid svg{left:2px;position:relative}.plyr__control--overlaid:focus,.plyr__control--overlaid:hover{opacity:1}.plyr--playing .plyr__control--overlaid{opacity:0;visibility:hidden}.plyr--full-ui.plyr--video .plyr__control--overlaid{display:block}.plyr--full-ui.plyr--video input[type=range]::-webkit-slider-runnable-track{background-color:#ffffff40;background-color:var(--plyr-video-range-track-background,var(--plyr-video-progress-buffered-background,#ffffff40))}.plyr--full-ui.plyr--video input[type=range]::-moz-range-track{background-color:#ffffff40;background-color:var(--plyr-video-range-track-background,var(--plyr-video-progress-buffered-background,#ffffff40))}.plyr--full-ui.plyr--video input[type=range]::-ms-track{background-color:#ffffff40;background-color:var(--plyr-video-range-track-background,var(--plyr-video-progress-buffered-background,#ffffff40))}.plyr--full-ui.plyr--video input[type=range]:active::-webkit-slider-thumb{box-shadow:0 1px 1px #23282f26,0 0 0 1px #23282f33,0 0 0 3px #ffffff80;box-shadow:var(--plyr-range-thumb-shadow,0 1px 1px #23282f26,0 0 0 1px #23282f33),0 0 0 var(--plyr-range-thumb-active-shadow-width,3px) var(--plyr-audio-range-thumb-active-shadow-color,#ffffff80)}.plyr--full-ui.plyr--video input[type=range]:active::-moz-range-thumb{box-shadow:0 1px 1px #23282f26,0 0 0 1px #23282f33,0 0 0 3px #ffffff80;box-shadow:var(--plyr-range-thumb-shadow,0 1px 1px #23282f26,0 0 0 1px #23282f33),0 0 0 var(--plyr-range-thumb-active-shadow-width,3px) var(--plyr-audio-range-thumb-active-shadow-color,#ffffff80)}.plyr--full-ui.plyr--video input[type=range]:active::-ms-thumb{box-shadow:0 1px 1px #23282f26,0 0 0 1px #23282f33,0 0 0 3px #ffffff80;box-shadow:var(--plyr-range-thumb-shadow,0 1px 1px #23282f26,0 0 0 1px #23282f33),0 0 0 var(--plyr-range-thumb-active-shadow-width,3px) var(--plyr-audio-range-thumb-active-shadow-color,#ffffff80)}.plyr--video .plyr__progress__buffer{color:#ffffff40;color:var(--plyr-video-progress-buffered-background,#ffffff40)}.plyr:-webkit-full-screen{background:#000;border-radius:0!important;height:100%;margin:0;width:100%}.plyr:-ms-fullscreen{background:#000;border-radius:0!important;height:100%;margin:0;width:100%}.plyr:fullscreen{background:#000;border-radius:0!important;height:100%;margin:0;width:100%}.plyr:-webkit-full-screen video{height:100%}.plyr:-ms-fullscreen video{height:100%}.plyr:fullscreen video{height:100%}.plyr:-webkit-full-screen .plyr__control .icon--exit-fullscreen{display:block}.plyr:-ms-fullscreen .plyr__control .icon--exit-fullscreen{display:block}.plyr:fullscreen .plyr__control .icon--exit-fullscreen{display:block}.plyr:-webkit-full-screen .plyr__control .icon--exit-fullscreen+svg{display:none}.plyr:-ms-fullscreen .plyr__control .icon--exit-fullscreen+svg{display:none}.plyr:fullscreen .plyr__control .icon--exit-fullscreen+svg{display:none}.plyr:-webkit-full-screen.plyr--hide-controls{cursor:none}.plyr:-ms-fullscreen.plyr--hide-controls{cursor:none}.plyr:fullscreen.plyr--hide-controls{cursor:none}@media (min-width:1024px){.plyr:-webkit-full-screen .plyr__captions{font-size:21px;font-size:var(--plyr-font-size-xlarge,21px)}.plyr:-ms-fullscreen .plyr__captions{font-size:21px;font-size:var(--plyr-font-size-xlarge,21px)}.plyr:fullscreen .plyr__captions{font-size:21px;font-size:var(--plyr-font-size-xlarge,21px)}}.plyr--fullscreen-fallback{background:#000;border-radius:0!important;bottom:0;height:100%;left:0;margin:0;position:fixed;right:0;top:0;width:100%;z-index:10000000}.plyr--fullscreen-fallback video{height:100%}.plyr--fullscreen-fallback .plyr__control .icon--exit-fullscreen{display:block}.plyr--fullscreen-fallback .plyr__control .icon--exit-fullscreen+svg{display:none}.plyr--fullscreen-fallback.plyr--hide-controls{cursor:none}@media (min-width:1024px){.plyr--fullscreen-fallback .plyr__captions{font-size:21px;font-size:var(--plyr-font-size-xlarge,21px)}}.plyr__ads{border-radius:inherit;bottom:0;cursor:pointer;left:0;overflow:hidden;position:absolute;right:0;top:0;z-index:-1}.plyr__ads>div,.plyr__ads>div iframe{height:100%;position:absolute;width:100%}.plyr__ads:after{background:#23282f;border-radius:2px;bottom:10px;bottom:var(--plyr-control-spacing,10px);color:#fff;content:attr(data-badge-text);font-size:11px;padding:2px 6px;pointer-events:none;position:absolute;right:10px;right:var(--plyr-control-spacing,10px);z-index:3}.plyr__ads:empty:after{display:none}.plyr__cues{background:currentColor;display:block;height:5px;height:var(--plyr-range-track-height,5px);left:0;opacity:.8;position:absolute;top:50%;transform:translateY(-50%);width:3px;z-index:3}.plyr__preview-thumb{background-color:#fff;background-color:var(--plyr-tooltip-background,#fff);border-radius:8px;border-radius:var(--plyr-menu-radius,8px);bottom:100%;box-shadow:0 1px 2px #00000026;box-shadow:var(--plyr-tooltip-shadow,0 1px 2px #00000026);margin-bottom:10px;margin-bottom:calc(var(--plyr-control-spacing, 10px)/2*2);opacity:0;padding:3px;pointer-events:none;position:absolute;transform:translateY(10px) scale(.8);transform-origin:50% 100%;transition:transform .2s ease .1s,opacity .2s ease .1s;z-index:2}.plyr__preview-thumb--is-shown{opacity:1;transform:translate(0) scale(1)}.plyr__preview-thumb:before{border-left:4px solid #0000;border-left:var(--plyr-tooltip-arrow-size,4px) solid #0000;border-right:4px solid #0000;border-right:var(--plyr-tooltip-arrow-size,4px) solid #0000;border-top:4px solid #fff;border-top:var(--plyr-tooltip-arrow-size,4px) solid var(--plyr-tooltip-background,#fff);bottom:-4px;bottom:calc(var(--plyr-tooltip-arrow-size, 4px)*-1);content:"";height:0;left:calc(50% + var(--preview-arrow-offset));position:absolute;transform:translateX(-50%);width:0;z-index:2}.plyr__preview-thumb__image-container{background:#c1c8d1;border-radius:7px;border-radius:calc(var(--plyr-menu-radius, 8px) - 1px);overflow:hidden;position:relative;z-index:0}.plyr__preview-thumb__image-container img,.plyr__preview-thumb__image-container:after{height:100%;left:0;position:absolute;top:0;width:100%}.plyr__preview-thumb__image-container:after{border-radius:inherit;box-shadow:inset 0 0 0 1px #00000026;content:"";pointer-events:none}.plyr__preview-thumb__image-container img{max-height:none;max-width:none}.plyr__preview-thumb__time-container{background:linear-gradient(#0000,#000000bf);background:var(--plyr-video-controls-background,linear-gradient(#0000,#000000bf));border-bottom-left-radius:7px;border-bottom-left-radius:calc(var(--plyr-menu-radius, 8px) - 1px);border-bottom-right-radius:7px;border-bottom-right-radius:calc(var(--plyr-menu-radius, 8px) - 1px);bottom:0;left:0;line-height:1.1;padding:20px 6px 6px;position:absolute;right:0;z-index:3}.plyr__preview-thumb__time-container span{color:#fff;font-size:13px;font-size:var(--plyr-font-size-time,var(--plyr-font-size-small,13px))}.plyr__preview-scrubbing{bottom:0;-webkit-filter:blur(1px);filter:blur(1px);height:100%;left:0;margin:auto;opacity:0;overflow:hidden;pointer-events:none;position:absolute;right:0;top:0;transition:opacity .3s ease;width:100%;z-index:1}.plyr__preview-scrubbing--is-shown{opacity:1}.plyr__preview-scrubbing img{height:100%;left:0;max-height:none;max-width:none;-o-object-fit:contain;object-fit:contain;position:absolute;top:0;width:100%}.plyr--no-transition{transition:none!important}.plyr__sr-only{clip:rect(1px,1px,1px,1px);border:0!important;height:1px!important;overflow:hidden;padding:0!important;position:absolute!important;width:1px!important}.plyr [hidden]{display:none!important}@charset "UTF-8";

/*----------  Colors  ----------*/

/*----------  Fonts  ----------*/

/**
 * Foundation for Sites
 * Version 6.6.3
 * https://get.foundation
 * Licensed under MIT Open Source
 */

@media print, screen and (min-width: 40em) {
  .reveal.large,
  .reveal.small,
  .reveal.tiny,
  .reveal {
    right: auto;
    left: auto;
    margin: 0 auto;
  }
}

/*! normalize.css v8.0.0 | MIT License | github.com/necolas/normalize.css */

html {
  line-height: 1.15;
  -webkit-text-size-adjust: 100%;
}

body {
  margin: 0;
}

h1 {
  font-size: 2em;
  margin: 0.67em 0;
}

hr {
  box-sizing: content-box;
  height: 0;
  overflow: visible;
}

pre {
  font-family: monospace, monospace;
  font-size: 1em;
}

a {
  background-color: transparent;
}

abbr[title] {
  border-bottom: none;
  text-decoration: underline;
  -webkit-text-decoration: underline dotted;
          text-decoration: underline dotted;
}

b,
strong {
  font-weight: bolder;
}

code,
kbd,
samp {
  font-family: monospace, monospace;
  font-size: 1em;
}

small {
  font-size: 80%;
}

sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}

img {
  border-style: none;
}

button,
input,
optgroup,
select,
textarea {
  font-family: inherit;
  font-size: 100%;
  line-height: 1.15;
  margin: 0;
}

button,
input {
  overflow: visible;
}

button,
select {
  text-transform: none;
}

button,
[type=button],
[type=reset],
[type=submit] {
  -webkit-appearance: button;
}

button::-moz-focus-inner,
[type=button]::-moz-focus-inner,
[type=reset]::-moz-focus-inner,
[type=submit]::-moz-focus-inner {
  border-style: none;
  padding: 0;
}

button:-moz-focusring,
[type=button]:-moz-focusring,
[type=reset]:-moz-focusring,
[type=submit]:-moz-focusring {
  outline: 1px dotted ButtonText;
}

fieldset {
  padding: 0.35em 0.75em 0.625em;
}

legend {
  box-sizing: border-box;
  color: inherit;
  display: table;
  max-width: 100%;
  padding: 0;
  white-space: normal;
}

progress {
  vertical-align: baseline;
}

textarea {
  overflow: auto;
}

[type=checkbox],
[type=radio] {
  box-sizing: border-box;
  padding: 0;
}

[type=number]::-webkit-inner-spin-button,
[type=number]::-webkit-outer-spin-button {
  height: auto;
}

[type=search] {
  -webkit-appearance: textfield;
  outline-offset: -2px;
}

[type=search]::-webkit-search-decoration {
  -webkit-appearance: none;
}

::-webkit-file-upload-button {
  -webkit-appearance: button;
  font: inherit;
}

details {
  display: block;
}

summary {
  display: list-item;
}

template {
  display: none;
}

[hidden] {
  display: none;
}

.foundation-mq {
  font-family: "small=0em&medium=40em&large=64em&xlarge=75em&xxlarge=90em";
}

html {
  box-sizing: border-box;
  font-size: 100%;
}

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

body {
  margin: 0;
  padding: 0;
  background: #fefefe;
  font-family: "Open Sans", sans-serif;
  font-weight: normal;
  line-height: 1.5;
  color: #687c8d;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

img {
  display: inline-block;
  vertical-align: middle;
  max-width: 100%;
  height: auto;
  -ms-interpolation-mode: bicubic;
}

textarea {
  height: auto;
  min-height: 50px;
  border-radius: 0;
}

select {
  box-sizing: border-box;
  width: 100%;
  border-radius: 0;
}

.map_canvas img,
.map_canvas embed,
.map_canvas object,
.mqa-display img,
.mqa-display embed,
.mqa-display object {
  max-width: none !important;
}

button {
  padding: 0;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  border: 0;
  border-radius: 0;
  background: transparent;
  line-height: 1;
  cursor: auto;
}

[data-whatinput=mouse] button {
  outline: 0;
}

pre {
  overflow: auto;
}

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

.is-visible {
  display: block !important;
}

.is-hidden {
  display: none !important;
}

[type=text],
[type=password],
[type=date],
[type=datetime],
[type=datetime-local],
[type=month],
[type=week],
[type=email],
[type=number],
[type=search],
[type=tel],
[type=time],
[type=url],
[type=color],
textarea {
  display: block;
  box-sizing: border-box;
  width: 100%;
  height: 2.4375rem;
  margin: 0 0 1rem;
  padding: 0.5rem;
  border: 1px solid #94a2b2;
  border-radius: 0;
  background-color: #fefefe;
  box-shadow: inset 0 1px 2px rgba(10, 10, 10, 0.1);
  font-family: inherit;
  font-size: 1rem;
  font-weight: normal;
  line-height: 1.5;
  color: #0a0a0a;
  transition: box-shadow 0.5s, border-color 0.25s ease-in-out;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
}

[type=text]:focus,
[type=password]:focus,
[type=date]:focus,
[type=datetime]:focus,
[type=datetime-local]:focus,
[type=month]:focus,
[type=week]:focus,
[type=email]:focus,
[type=number]:focus,
[type=search]:focus,
[type=tel]:focus,
[type=time]:focus,
[type=url]:focus,
[type=color]:focus,
textarea:focus {
  outline: none;
  border: 1px solid #687c8d;
  background-color: #fefefe;
  box-shadow: 0 0 5px #94a2b2;
  transition: box-shadow 0.5s, border-color 0.25s ease-in-out;
}

textarea {
  max-width: 100%;
}

textarea[rows] {
  height: auto;
}

input:disabled,
input[readonly],
textarea:disabled,
textarea[readonly] {
  background-color: #eaecf0;
  cursor: not-allowed;
}

[type=submit],
[type=button] {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  border-radius: 0;
}

input[type=search] {
  box-sizing: border-box;
}

::-webkit-input-placeholder {
  color: #94a2b2;
}

::-moz-placeholder {
  color: #94a2b2;
}

:-ms-input-placeholder {
  color: #94a2b2;
}

::-ms-input-placeholder {
  color: #94a2b2;
}

::placeholder {
  color: #94a2b2;
}

[type=file],
[type=checkbox],
[type=radio] {
  margin: 0 0 1rem;
}

[type=checkbox] + label,
[type=radio] + label {
  display: inline-block;
  vertical-align: baseline;
  margin-left: 0.5rem;
  margin-right: 1rem;
  margin-bottom: 0;
}

[type=checkbox] + label[for],
[type=radio] + label[for] {
  cursor: pointer;
}

label > [type=checkbox],
label > [type=radio] {
  margin-right: 0.5rem;
}

[type=file] {
  width: 100%;
}

label {
  display: block;
  margin: 0;
  font-size: 0.875rem;
  font-weight: normal;
  line-height: 1.8;
  color: #0a0a0a;
}

label.middle {
  margin: 0 0 1rem;
  padding: 0.5625rem 0;
}

.help-text {
  margin-top: -0.5rem;
  font-size: 0.8125rem;
  font-style: italic;
  color: #0a0a0a;
}

.input-group {
  display: flex;
  width: 100%;
  margin-bottom: 1rem;
  align-items: stretch;
}

.input-group > :first-child,
.input-group > :first-child.input-group-button > * {
  border-radius: 0 0 0 0;
}

.input-group > :last-child,
.input-group > :last-child.input-group-button > * {
  border-radius: 0 0 0 0;
}

.input-group-button a,
.input-group-button input,
.input-group-button button,
.input-group-button label,
.input-group-button,
.input-group-field,
.input-group-label {
  margin: 0;
  white-space: nowrap;
}

.input-group-label {
  padding: 0 1rem;
  border: 1px solid #94a2b2;
  background: #eaecf0;
  color: #0a0a0a;
  text-align: center;
  white-space: nowrap;
  display: flex;
  flex: 0 0 auto;
  align-items: center;
}

.input-group-label:first-child {
  border-right: 0;
}

.input-group-label:last-child {
  border-left: 0;
}

.input-group-field {
  border-radius: 0;
  flex: 1 1 0px;
  min-width: 0;
}

.input-group-button {
  padding-top: 0;
  padding-bottom: 0;
  text-align: center;
  display: flex;
  flex: 0 0 auto;
}

.input-group-button a,
.input-group-button input,
.input-group-button button,
.input-group-button label {
  align-self: stretch;
  height: auto;
  padding-top: 0;
  padding-bottom: 0;
  font-size: 1rem;
}

fieldset {
  margin: 0;
  padding: 0;
  border: 0;
}

legend {
  max-width: 100%;
  margin-bottom: 0.5rem;
}

.fieldset {
  margin: 1.125rem 0;
  padding: 1.25rem;
  border: 1px solid #94a2b2;
}

.fieldset legend {
  margin: 0;
  margin-left: -0.1875rem;
  padding: 0 0.1875rem;
}

select {
  height: 2.4375rem;
  margin: 0 0 1rem;
  padding: 0.5rem;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  border: 1px solid #94a2b2;
  border-radius: 0;
  background-color: #fefefe;
  font-family: inherit;
  font-size: 1rem;
  font-weight: normal;
  line-height: 1.5;
  color: #0a0a0a;
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' version='1.1' width='32' height='24' viewBox='0 0 32 24'><polygon points='0,0 32,0 16,24' style='fill: rgb%28104, 124, 141%29'></polygon></svg>");
  background-origin: content-box;
  background-position: right -1rem center;
  background-repeat: no-repeat;
  background-size: 9px 6px;
  padding-right: 1.5rem;
  transition: box-shadow 0.5s, border-color 0.25s ease-in-out;
}

@media screen and (min-width: 0\0 ) {
  select {
    background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAYCAYAAACbU/80AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAIpJREFUeNrEkckNgDAMBBfRkEt0ObRBBdsGXUDgmQfK4XhH2m8czQAAy27R3tsw4Qfe2x8uOO6oYLb6GlOor3GF+swURAOmUJ+RwtEJs9WvTGEYxBXqI1MQAZhCfUQKRzDMVj+TwrAIV6jvSUEkYAr1LSkcyTBb/V+KYfX7xAeusq3sLDtGH3kEGACPWIflNZfhRQAAAABJRU5ErkJggg==");
  }
}

select:focus {
  outline: none;
  border: 1px solid #687c8d;
  background-color: #fefefe;
  box-shadow: 0 0 5px #94a2b2;
  transition: box-shadow 0.5s, border-color 0.25s ease-in-out;
}

select:disabled {
  background-color: #eaecf0;
  cursor: not-allowed;
}

select::-ms-expand {
  display: none;
}

select[multiple] {
  height: auto;
  background-image: none;
}

select:not([multiple]) {
  padding-top: 0;
  padding-bottom: 0;
}

.is-invalid-input:not(:focus) {
  border-color: #cc4b37;
  background-color: #f9ecea;
}

.is-invalid-input:not(:focus)::-webkit-input-placeholder {
  color: #cc4b37;
}

.is-invalid-input:not(:focus)::-moz-placeholder {
  color: #cc4b37;
}

.is-invalid-input:not(:focus):-ms-input-placeholder {
  color: #cc4b37;
}

.is-invalid-input:not(:focus)::-ms-input-placeholder {
  color: #cc4b37;
}

.is-invalid-input:not(:focus)::placeholder {
  color: #cc4b37;
}

.is-invalid-label {
  color: #cc4b37;
}

.form-error {
  display: none;
  margin-top: -0.5rem;
  margin-bottom: 1rem;
  font-size: 0.75rem;
  font-weight: bold;
  color: #cc4b37;
}

.form-error.is-visible {
  display: block;
}

div,
dl,
dt,
dd,
ul,
ol,
li,
h1,
h2,
h3,
h4,
h5,
h6,
pre,
form,
p,
blockquote,
th,
td {
  margin: 0;
  padding: 0;
}

p {
  margin-bottom: 1rem;
  font-size: inherit;
  line-height: 1.6;
  text-rendering: optimizeLegibility;
}

em,
i {
  font-style: italic;
  line-height: inherit;
}

strong,
b {
  font-weight: bold;
  line-height: inherit;
}

small {
  font-size: 80%;
  line-height: inherit;
}

h1,
.h1,
h2,
.h2,
h3,
.h3,
h4,
.h4,
h5,
.h5,
h6,
.h6 {
  font-family: "Open Sans", sans-serif;
  font-style: normal;
  font-weight: normal;
  color: inherit;
  text-rendering: optimizeLegibility;
}

h1 small,
.h1 small,
h2 small,
.h2 small,
h3 small,
.h3 small,
h4 small,
.h4 small,
h5 small,
.h5 small,
h6 small,
.h6 small {
  line-height: 0;
  color: #94a2b2;
}

h1,
.h1 {
  font-size: 2.25rem;
  line-height: 1.4;
  margin-top: 0;
  margin-bottom: 0.5rem;
}

h2,
.h2 {
  font-size: 1.5rem;
  line-height: 1.4;
  margin-top: 0;
  margin-bottom: 0.5rem;
}

h3,
.h3 {
  font-size: 1.25rem;
  line-height: 1.4;
  margin-top: 0;
  margin-bottom: 0.5rem;
}

h4,
.h4 {
  font-size: 1.125rem;
  line-height: 1.4;
  margin-top: 0;
  margin-bottom: 0.5rem;
}

h5,
.h5 {
  font-size: 1rem;
  line-height: 1.4;
  margin-top: 0;
  margin-bottom: 0.5rem;
}

h6,
.h6 {
  font-size: 0.875rem;
  line-height: 1.4;
  margin-top: 0;
  margin-bottom: 0.5rem;
}

@media print, screen and (min-width: 40em) {
  h1,
  .h1 {
    font-size: 3.125rem;
  }

  h2,
  .h2 {
    font-size: 1.5rem;
  }

  h3,
  .h3 {
    font-size: 1.5rem;
  }

  h4,
  .h4 {
    font-size: 1.375rem;
  }

  h5,
  .h5 {
    font-size: 1.25rem;
  }

  h6,
  .h6 {
    font-size: 1.125rem;
  }
}

a {
  line-height: inherit;
  color: #33c1d2;
  text-decoration: none;
  cursor: pointer;
}

a:hover,
a:focus {
  color: #29a9b8;
}

a img {
  border: 0;
}

hr {
  clear: both;
  max-width: 75rem;
  height: 0;
  margin: 1.25rem auto;
  border-top: 0;
  border-right: 0;
  border-bottom: 1px solid #94a2b2;
  border-left: 0;
}

ul,
ol,
dl {
  margin-bottom: 1rem;
  list-style-position: outside;
  line-height: 1.6;
}

li {
  font-size: inherit;
}

ul {
  margin-left: 1.25rem;
  list-style-type: disc;
}

ol {
  margin-left: 1.25rem;
}

ul ul,
ul ol,
ol ul,
ol ol {
  margin-left: 1.25rem;
  margin-bottom: 0;
}

dl {
  margin-bottom: 1rem;
}

dl dt {
  margin-bottom: 0.3rem;
  font-weight: bold;
}

blockquote {
  margin: 0 0 1rem;
  padding: 0.5625rem 1.25rem 0 1.1875rem;
  border-left: 1px solid #94a2b2;
}

blockquote,
blockquote p {
  line-height: 1.6;
  color: #687c8d;
}

abbr,
abbr[title] {
  border-bottom: 1px dotted #0a0a0a;
  cursor: help;
  text-decoration: none;
}

figure {
  margin: 0;
}

kbd {
  margin: 0;
  padding: 0.125rem 0.25rem 0;
  background-color: #eaecf0;
  font-family: Consolas, "Liberation Mono", Courier, monospace;
  color: #0a0a0a;
}

.subheader {
  margin-top: 0.2rem;
  margin-bottom: 0.5rem;
  font-weight: normal;
  line-height: 1.4;
  color: #687c8d;
}

.lead {
  font-size: 125%;
  line-height: 1.6;
}

.stat {
  font-size: 2.5rem;
  line-height: 1;
}

p + .stat {
  margin-top: -1rem;
}

ul.no-bullet,
ol.no-bullet {
  margin-left: 0;
  list-style: none;
}

.cite-block,
cite {
  display: block;
  color: #687c8d;
  font-size: 0.8125rem;
}

.cite-block:before,
cite:before {
  content: "\2014   ";
}

.code-inline,
code {
  border: 1px solid #94a2b2;
  background-color: #eaecf0;
  font-family: Consolas, "Liberation Mono", Courier, monospace;
  font-weight: normal;
  color: #0a0a0a;
  display: inline;
  max-width: 100%;
  word-wrap: break-word;
  padding: 0.125rem 0.3125rem 0.0625rem;
}

.code-block {
  border: 1px solid #94a2b2;
  background-color: #eaecf0;
  font-family: Consolas, "Liberation Mono", Courier, monospace;
  font-weight: normal;
  color: #0a0a0a;
  display: block;
  overflow: auto;
  white-space: pre;
  padding: 1rem;
  margin-bottom: 1.5rem;
}

.text-left {
  text-align: left;
}

.text-right {
  text-align: right;
}

.text-center {
  text-align: center;
}

.text-justify {
  text-align: justify;
}

@media print, screen and (min-width: 40em) {
  .medium-text-left {
    text-align: left;
  }

  .medium-text-right {
    text-align: right;
  }

  .medium-text-center {
    text-align: center;
  }

  .medium-text-justify {
    text-align: justify;
  }
}

@media print, screen and (min-width: 64em) {
  .large-text-left {
    text-align: left;
  }

  .large-text-right {
    text-align: right;
  }

  .large-text-center {
    text-align: center;
  }

  .large-text-justify {
    text-align: justify;
  }
}

.show-for-print {
  display: none !important;
}

@media print {
  * {
    background: transparent !important;
    color: black !important;
    -webkit-print-color-adjust: economy;
            color-adjust: economy;
    box-shadow: none !important;
    text-shadow: none !important;
  }

  .show-for-print {
    display: block !important;
  }

  .hide-for-print {
    display: none !important;
  }

  table.show-for-print {
    display: table !important;
  }

  thead.show-for-print {
    display: table-header-group !important;
  }

  tbody.show-for-print {
    display: table-row-group !important;
  }

  tr.show-for-print {
    display: table-row !important;
  }

  td.show-for-print {
    display: table-cell !important;
  }

  th.show-for-print {
    display: table-cell !important;
  }

  a,
  a:visited {
    text-decoration: underline;
  }

  a[href]:after {
    content: " (" attr(href) ")";
  }

  .ir a:after,
  a[href^="javascript:"]:after,
  a[href^="#"]:after {
    content: "";
  }

  abbr[title]:after {
    content: " (" attr(title) ")";
  }

  pre,
  blockquote {
    border: 1px solid #687c8d;
    page-break-inside: avoid;
  }

  thead {
    display: table-header-group;
  }

  tr,
  img {
    page-break-inside: avoid;
  }

  img {
    max-width: 100% !important;
  }

@page {
    margin: 0.5cm;
}

  p,
  h2,
  h3 {
    orphans: 3;
    widows: 3;
  }

  h2,
  h3 {
    page-break-after: avoid;
  }

  .print-break-inside {
    page-break-inside: auto;
  }
}

.grid-container {
  padding-right: 1.25rem;
  padding-left: 1.25rem;
  max-width: 75rem;
  margin-left: auto;
  margin-right: auto;
}

.grid-container.fluid {
  padding-right: 1.25rem;
  padding-left: 1.25rem;
  max-width: 100%;
  margin-left: auto;
  margin-right: auto;
}

.grid-container.full {
  padding-right: 0;
  padding-left: 0;
  max-width: 100%;
  margin-left: auto;
  margin-right: auto;
}

.grid-x {
  display: flex;
  flex-flow: row wrap;
}

.cell {
  flex: 0 0 auto;
  min-height: 0px;
  min-width: 0px;
  width: 100%;
}

.cell.auto {
  flex: 1 1 0px;
}

.cell.shrink {
  flex: 0 0 auto;
}

.grid-x > .auto {
  width: auto;
}

.grid-x > .shrink {
  width: auto;
}

.grid-x > .small-shrink,
.grid-x > .small-full,
.grid-x > .small-1,
.grid-x > .small-2,
.grid-x > .small-3,
.grid-x > .small-4,
.grid-x > .small-5,
.grid-x > .small-6,
.grid-x > .small-7,
.grid-x > .small-8,
.grid-x > .small-9,
.grid-x > .small-10,
.grid-x > .small-11,
.grid-x > .small-12 {
  flex-basis: auto;
}

@media print, screen and (min-width: 40em) {
  .grid-x > .medium-shrink,
  .grid-x > .medium-full,
  .grid-x > .medium-1,
  .grid-x > .medium-2,
  .grid-x > .medium-3,
  .grid-x > .medium-4,
  .grid-x > .medium-5,
  .grid-x > .medium-6,
  .grid-x > .medium-7,
  .grid-x > .medium-8,
  .grid-x > .medium-9,
  .grid-x > .medium-10,
  .grid-x > .medium-11,
  .grid-x > .medium-12 {
    flex-basis: auto;
  }
}

@media print, screen and (min-width: 64em) {
  .grid-x > .large-shrink,
  .grid-x > .large-full,
  .grid-x > .large-1,
  .grid-x > .large-2,
  .grid-x > .large-3,
  .grid-x > .large-4,
  .grid-x > .large-5,
  .grid-x > .large-6,
  .grid-x > .large-7,
  .grid-x > .large-8,
  .grid-x > .large-9,
  .grid-x > .large-10,
  .grid-x > .large-11,
  .grid-x > .large-12 {
    flex-basis: auto;
  }
}

.grid-x > .small-12,
.grid-x > .small-11,
.grid-x > .small-10,
.grid-x > .small-9,
.grid-x > .small-8,
.grid-x > .small-7,
.grid-x > .small-6,
.grid-x > .small-5,
.grid-x > .small-4,
.grid-x > .small-3,
.grid-x > .small-2,
.grid-x > .small-1 {
  flex: 0 0 auto;
}

.grid-x > .small-1 {
  width: 8.3333333333%;
}

.grid-x > .small-2 {
  width: 16.6666666667%;
}

.grid-x > .small-3 {
  width: 25%;
}

.grid-x > .small-4 {
  width: 33.3333333333%;
}

.grid-x > .small-5 {
  width: 41.6666666667%;
}

.grid-x > .small-6 {
  width: 50%;
}

.grid-x > .small-7 {
  width: 58.3333333333%;
}

.grid-x > .small-8 {
  width: 66.6666666667%;
}

.grid-x > .small-9 {
  width: 75%;
}

.grid-x > .small-10 {
  width: 83.3333333333%;
}

.grid-x > .small-11 {
  width: 91.6666666667%;
}

.grid-x > .small-12 {
  width: 100%;
}

@media print, screen and (min-width: 40em) {
  .grid-x > .medium-auto {
    flex: 1 1 0px;
    width: auto;
  }

  .grid-x > .medium-12,
  .grid-x > .medium-11,
  .grid-x > .medium-10,
  .grid-x > .medium-9,
  .grid-x > .medium-8,
  .grid-x > .medium-7,
  .grid-x > .medium-6,
  .grid-x > .medium-5,
  .grid-x > .medium-4,
  .grid-x > .medium-3,
  .grid-x > .medium-2,
  .grid-x > .medium-1,
  .grid-x > .medium-shrink {
    flex: 0 0 auto;
  }

  .grid-x > .medium-shrink {
    width: auto;
  }

  .grid-x > .medium-1 {
    width: 8.3333333333%;
  }

  .grid-x > .medium-2 {
    width: 16.6666666667%;
  }

  .grid-x > .medium-3 {
    width: 25%;
  }

  .grid-x > .medium-4 {
    width: 33.3333333333%;
  }

  .grid-x > .medium-5 {
    width: 41.6666666667%;
  }

  .grid-x > .medium-6 {
    width: 50%;
  }

  .grid-x > .medium-7 {
    width: 58.3333333333%;
  }

  .grid-x > .medium-8 {
    width: 66.6666666667%;
  }

  .grid-x > .medium-9 {
    width: 75%;
  }

  .grid-x > .medium-10 {
    width: 83.3333333333%;
  }

  .grid-x > .medium-11 {
    width: 91.6666666667%;
  }

  .grid-x > .medium-12 {
    width: 100%;
  }
}

@media print, screen and (min-width: 64em) {
  .grid-x > .large-auto {
    flex: 1 1 0px;
    width: auto;
  }

  .grid-x > .large-12,
  .grid-x > .large-11,
  .grid-x > .large-10,
  .grid-x > .large-9,
  .grid-x > .large-8,
  .grid-x > .large-7,
  .grid-x > .large-6,
  .grid-x > .large-5,
  .grid-x > .large-4,
  .grid-x > .large-3,
  .grid-x > .large-2,
  .grid-x > .large-1,
  .grid-x > .large-shrink {
    flex: 0 0 auto;
  }

  .grid-x > .large-shrink {
    width: auto;
  }

  .grid-x > .large-1 {
    width: 8.3333333333%;
  }

  .grid-x > .large-2 {
    width: 16.6666666667%;
  }

  .grid-x > .large-3 {
    width: 25%;
  }

  .grid-x > .large-4 {
    width: 33.3333333333%;
  }

  .grid-x > .large-5 {
    width: 41.6666666667%;
  }

  .grid-x > .large-6 {
    width: 50%;
  }

  .grid-x > .large-7 {
    width: 58.3333333333%;
  }

  .grid-x > .large-8 {
    width: 66.6666666667%;
  }

  .grid-x > .large-9 {
    width: 75%;
  }

  .grid-x > .large-10 {
    width: 83.3333333333%;
  }

  .grid-x > .large-11 {
    width: 91.6666666667%;
  }

  .grid-x > .large-12 {
    width: 100%;
  }
}

.grid-margin-x:not(.grid-x) > .cell {
  width: auto;
}

.grid-margin-y:not(.grid-y) > .cell {
  height: auto;
}

.grid-margin-x {
  margin-left: -0.5rem;
  margin-right: -0.5rem;
}

.grid-margin-x > .cell {
  width: calc(100% - 1rem);
  margin-left: 0.5rem;
  margin-right: 0.5rem;
}

.grid-margin-x > .auto {
  width: auto;
}

.grid-margin-x > .shrink {
  width: auto;
}

.grid-margin-x > .small-1 {
  width: calc(8.3333333333% - 1rem);
}

.grid-margin-x > .small-2 {
  width: calc(16.6666666667% - 1rem);
}

.grid-margin-x > .small-3 {
  width: calc(25% - 1rem);
}

.grid-margin-x > .small-4 {
  width: calc(33.3333333333% - 1rem);
}

.grid-margin-x > .small-5 {
  width: calc(41.6666666667% - 1rem);
}

.grid-margin-x > .small-6 {
  width: calc(50% - 1rem);
}

.grid-margin-x > .small-7 {
  width: calc(58.3333333333% - 1rem);
}

.grid-margin-x > .small-8 {
  width: calc(66.6666666667% - 1rem);
}

.grid-margin-x > .small-9 {
  width: calc(75% - 1rem);
}

.grid-margin-x > .small-10 {
  width: calc(83.3333333333% - 1rem);
}

.grid-margin-x > .small-11 {
  width: calc(91.6666666667% - 1rem);
}

.grid-margin-x > .small-12 {
  width: calc(100% - 1rem);
}

@media print, screen and (min-width: 40em) {
  .grid-margin-x > .medium-auto {
    width: auto;
  }

  .grid-margin-x > .medium-shrink {
    width: auto;
  }

  .grid-margin-x > .medium-1 {
    width: calc(8.3333333333% - 1rem);
  }

  .grid-margin-x > .medium-2 {
    width: calc(16.6666666667% - 1rem);
  }

  .grid-margin-x > .medium-3 {
    width: calc(25% - 1rem);
  }

  .grid-margin-x > .medium-4 {
    width: calc(33.3333333333% - 1rem);
  }

  .grid-margin-x > .medium-5 {
    width: calc(41.6666666667% - 1rem);
  }

  .grid-margin-x > .medium-6 {
    width: calc(50% - 1rem);
  }

  .grid-margin-x > .medium-7 {
    width: calc(58.3333333333% - 1rem);
  }

  .grid-margin-x > .medium-8 {
    width: calc(66.6666666667% - 1rem);
  }

  .grid-margin-x > .medium-9 {
    width: calc(75% - 1rem);
  }

  .grid-margin-x > .medium-10 {
    width: calc(83.3333333333% - 1rem);
  }

  .grid-margin-x > .medium-11 {
    width: calc(91.6666666667% - 1rem);
  }

  .grid-margin-x > .medium-12 {
    width: calc(100% - 1rem);
  }
}

@media print, screen and (min-width: 64em) {
  .grid-margin-x > .large-auto {
    width: auto;
  }

  .grid-margin-x > .large-shrink {
    width: auto;
  }

  .grid-margin-x > .large-1 {
    width: calc(8.3333333333% - 1rem);
  }

  .grid-margin-x > .large-2 {
    width: calc(16.6666666667% - 1rem);
  }

  .grid-margin-x > .large-3 {
    width: calc(25% - 1rem);
  }

  .grid-margin-x > .large-4 {
    width: calc(33.3333333333% - 1rem);
  }

  .grid-margin-x > .large-5 {
    width: calc(41.6666666667% - 1rem);
  }

  .grid-margin-x > .large-6 {
    width: calc(50% - 1rem);
  }

  .grid-margin-x > .large-7 {
    width: calc(58.3333333333% - 1rem);
  }

  .grid-margin-x > .large-8 {
    width: calc(66.6666666667% - 1rem);
  }

  .grid-margin-x > .large-9 {
    width: calc(75% - 1rem);
  }

  .grid-margin-x > .large-10 {
    width: calc(83.3333333333% - 1rem);
  }

  .grid-margin-x > .large-11 {
    width: calc(91.6666666667% - 1rem);
  }

  .grid-margin-x > .large-12 {
    width: calc(100% - 1rem);
  }
}

.grid-padding-x .grid-padding-x {
  margin-right: -0.5rem;
  margin-left: -0.5rem;
}

.grid-container:not(.full) > .grid-padding-x {
  margin-right: -0.5rem;
  margin-left: -0.5rem;
}

.grid-padding-x > .cell {
  padding-right: 0.5rem;
  padding-left: 0.5rem;
}

.small-up-1 > .cell {
  width: 100%;
}

.small-up-2 > .cell {
  width: 50%;
}

.small-up-3 > .cell {
  width: 33.3333333333%;
}

.small-up-4 > .cell {
  width: 25%;
}

.small-up-5 > .cell {
  width: 20%;
}

.small-up-6 > .cell {
  width: 16.6666666667%;
}

.small-up-7 > .cell {
  width: 14.2857142857%;
}

.small-up-8 > .cell {
  width: 12.5%;
}

@media print, screen and (min-width: 40em) {
  .medium-up-1 > .cell {
    width: 100%;
  }

  .medium-up-2 > .cell {
    width: 50%;
  }

  .medium-up-3 > .cell {
    width: 33.3333333333%;
  }

  .medium-up-4 > .cell {
    width: 25%;
  }

  .medium-up-5 > .cell {
    width: 20%;
  }

  .medium-up-6 > .cell {
    width: 16.6666666667%;
  }

  .medium-up-7 > .cell {
    width: 14.2857142857%;
  }

  .medium-up-8 > .cell {
    width: 12.5%;
  }
}

@media print, screen and (min-width: 64em) {
  .large-up-1 > .cell {
    width: 100%;
  }

  .large-up-2 > .cell {
    width: 50%;
  }

  .large-up-3 > .cell {
    width: 33.3333333333%;
  }

  .large-up-4 > .cell {
    width: 25%;
  }

  .large-up-5 > .cell {
    width: 20%;
  }

  .large-up-6 > .cell {
    width: 16.6666666667%;
  }

  .large-up-7 > .cell {
    width: 14.2857142857%;
  }

  .large-up-8 > .cell {
    width: 12.5%;
  }
}

.grid-margin-x.small-up-1 > .cell {
  width: calc(100% - 1rem);
}

.grid-margin-x.small-up-2 > .cell {
  width: calc(50% - 1rem);
}

.grid-margin-x.small-up-3 > .cell {
  width: calc(33.3333333333% - 1rem);
}

.grid-margin-x.small-up-4 > .cell {
  width: calc(25% - 1rem);
}

.grid-margin-x.small-up-5 > .cell {
  width: calc(20% - 1rem);
}

.grid-margin-x.small-up-6 > .cell {
  width: calc(16.6666666667% - 1rem);
}

.grid-margin-x.small-up-7 > .cell {
  width: calc(14.2857142857% - 1rem);
}

.grid-margin-x.small-up-8 > .cell {
  width: calc(12.5% - 1rem);
}

@media print, screen and (min-width: 40em) {
  .grid-margin-x.medium-up-1 > .cell {
    width: calc(100% - 1rem);
  }

  .grid-margin-x.medium-up-2 > .cell {
    width: calc(50% - 1rem);
  }

  .grid-margin-x.medium-up-3 > .cell {
    width: calc(33.3333333333% - 1rem);
  }

  .grid-margin-x.medium-up-4 > .cell {
    width: calc(25% - 1rem);
  }

  .grid-margin-x.medium-up-5 > .cell {
    width: calc(20% - 1rem);
  }

  .grid-margin-x.medium-up-6 > .cell {
    width: calc(16.6666666667% - 1rem);
  }

  .grid-margin-x.medium-up-7 > .cell {
    width: calc(14.2857142857% - 1rem);
  }

  .grid-margin-x.medium-up-8 > .cell {
    width: calc(12.5% - 1rem);
  }
}

@media print, screen and (min-width: 64em) {
  .grid-margin-x.large-up-1 > .cell {
    width: calc(100% - 1rem);
  }

  .grid-margin-x.large-up-2 > .cell {
    width: calc(50% - 1rem);
  }

  .grid-margin-x.large-up-3 > .cell {
    width: calc(33.3333333333% - 1rem);
  }

  .grid-margin-x.large-up-4 > .cell {
    width: calc(25% - 1rem);
  }

  .grid-margin-x.large-up-5 > .cell {
    width: calc(20% - 1rem);
  }

  .grid-margin-x.large-up-6 > .cell {
    width: calc(16.6666666667% - 1rem);
  }

  .grid-margin-x.large-up-7 > .cell {
    width: calc(14.2857142857% - 1rem);
  }

  .grid-margin-x.large-up-8 > .cell {
    width: calc(12.5% - 1rem);
  }
}

.small-margin-collapse {
  margin-right: 0;
  margin-left: 0;
}

.small-margin-collapse > .cell {
  margin-right: 0;
  margin-left: 0;
}

.small-margin-collapse > .small-1 {
  width: 8.3333333333%;
}

.small-margin-collapse > .small-2 {
  width: 16.6666666667%;
}

.small-margin-collapse > .small-3 {
  width: 25%;
}

.small-margin-collapse > .small-4 {
  width: 33.3333333333%;
}

.small-margin-collapse > .small-5 {
  width: 41.6666666667%;
}

.small-margin-collapse > .small-6 {
  width: 50%;
}

.small-margin-collapse > .small-7 {
  width: 58.3333333333%;
}

.small-margin-collapse > .small-8 {
  width: 66.6666666667%;
}

.small-margin-collapse > .small-9 {
  width: 75%;
}

.small-margin-collapse > .small-10 {
  width: 83.3333333333%;
}

.small-margin-collapse > .small-11 {
  width: 91.6666666667%;
}

.small-margin-collapse > .small-12 {
  width: 100%;
}

@media print, screen and (min-width: 40em) {
  .small-margin-collapse > .medium-1 {
    width: 8.3333333333%;
  }

  .small-margin-collapse > .medium-2 {
    width: 16.6666666667%;
  }

  .small-margin-collapse > .medium-3 {
    width: 25%;
  }

  .small-margin-collapse > .medium-4 {
    width: 33.3333333333%;
  }

  .small-margin-collapse > .medium-5 {
    width: 41.6666666667%;
  }

  .small-margin-collapse > .medium-6 {
    width: 50%;
  }

  .small-margin-collapse > .medium-7 {
    width: 58.3333333333%;
  }

  .small-margin-collapse > .medium-8 {
    width: 66.6666666667%;
  }

  .small-margin-collapse > .medium-9 {
    width: 75%;
  }

  .small-margin-collapse > .medium-10 {
    width: 83.3333333333%;
  }

  .small-margin-collapse > .medium-11 {
    width: 91.6666666667%;
  }

  .small-margin-collapse > .medium-12 {
    width: 100%;
  }
}

@media print, screen and (min-width: 64em) {
  .small-margin-collapse > .large-1 {
    width: 8.3333333333%;
  }

  .small-margin-collapse > .large-2 {
    width: 16.6666666667%;
  }

  .small-margin-collapse > .large-3 {
    width: 25%;
  }

  .small-margin-collapse > .large-4 {
    width: 33.3333333333%;
  }

  .small-margin-collapse > .large-5 {
    width: 41.6666666667%;
  }

  .small-margin-collapse > .large-6 {
    width: 50%;
  }

  .small-margin-collapse > .large-7 {
    width: 58.3333333333%;
  }

  .small-margin-collapse > .large-8 {
    width: 66.6666666667%;
  }

  .small-margin-collapse > .large-9 {
    width: 75%;
  }

  .small-margin-collapse > .large-10 {
    width: 83.3333333333%;
  }

  .small-margin-collapse > .large-11 {
    width: 91.6666666667%;
  }

  .small-margin-collapse > .large-12 {
    width: 100%;
  }
}

.small-padding-collapse {
  margin-right: 0;
  margin-left: 0;
}

.small-padding-collapse > .cell {
  padding-right: 0;
  padding-left: 0;
}

@media print, screen and (min-width: 40em) {
  .medium-margin-collapse {
    margin-right: 0;
    margin-left: 0;
  }

  .medium-margin-collapse > .cell {
    margin-right: 0;
    margin-left: 0;
  }
}

@media print, screen and (min-width: 40em) {
  .medium-margin-collapse > .small-1 {
    width: 8.3333333333%;
  }

  .medium-margin-collapse > .small-2 {
    width: 16.6666666667%;
  }

  .medium-margin-collapse > .small-3 {
    width: 25%;
  }

  .medium-margin-collapse > .small-4 {
    width: 33.3333333333%;
  }

  .medium-margin-collapse > .small-5 {
    width: 41.6666666667%;
  }

  .medium-margin-collapse > .small-6 {
    width: 50%;
  }

  .medium-margin-collapse > .small-7 {
    width: 58.3333333333%;
  }

  .medium-margin-collapse > .small-8 {
    width: 66.6666666667%;
  }

  .medium-margin-collapse > .small-9 {
    width: 75%;
  }

  .medium-margin-collapse > .small-10 {
    width: 83.3333333333%;
  }

  .medium-margin-collapse > .small-11 {
    width: 91.6666666667%;
  }

  .medium-margin-collapse > .small-12 {
    width: 100%;
  }
}

@media print, screen and (min-width: 40em) {
  .medium-margin-collapse > .medium-1 {
    width: 8.3333333333%;
  }

  .medium-margin-collapse > .medium-2 {
    width: 16.6666666667%;
  }

  .medium-margin-collapse > .medium-3 {
    width: 25%;
  }

  .medium-margin-collapse > .medium-4 {
    width: 33.3333333333%;
  }

  .medium-margin-collapse > .medium-5 {
    width: 41.6666666667%;
  }

  .medium-margin-collapse > .medium-6 {
    width: 50%;
  }

  .medium-margin-collapse > .medium-7 {
    width: 58.3333333333%;
  }

  .medium-margin-collapse > .medium-8 {
    width: 66.6666666667%;
  }

  .medium-margin-collapse > .medium-9 {
    width: 75%;
  }

  .medium-margin-collapse > .medium-10 {
    width: 83.3333333333%;
  }

  .medium-margin-collapse > .medium-11 {
    width: 91.6666666667%;
  }

  .medium-margin-collapse > .medium-12 {
    width: 100%;
  }
}

@media print, screen and (min-width: 64em) {
  .medium-margin-collapse > .large-1 {
    width: 8.3333333333%;
  }

  .medium-margin-collapse > .large-2 {
    width: 16.6666666667%;
  }

  .medium-margin-collapse > .large-3 {
    width: 25%;
  }

  .medium-margin-collapse > .large-4 {
    width: 33.3333333333%;
  }

  .medium-margin-collapse > .large-5 {
    width: 41.6666666667%;
  }

  .medium-margin-collapse > .large-6 {
    width: 50%;
  }

  .medium-margin-collapse > .large-7 {
    width: 58.3333333333%;
  }

  .medium-margin-collapse > .large-8 {
    width: 66.6666666667%;
  }

  .medium-margin-collapse > .large-9 {
    width: 75%;
  }

  .medium-margin-collapse > .large-10 {
    width: 83.3333333333%;
  }

  .medium-margin-collapse > .large-11 {
    width: 91.6666666667%;
  }

  .medium-margin-collapse > .large-12 {
    width: 100%;
  }
}

@media print, screen and (min-width: 40em) {
  .medium-padding-collapse {
    margin-right: 0;
    margin-left: 0;
  }

  .medium-padding-collapse > .cell {
    padding-right: 0;
    padding-left: 0;
  }
}

@media print, screen and (min-width: 64em) {
  .large-margin-collapse {
    margin-right: 0;
    margin-left: 0;
  }

  .large-margin-collapse > .cell {
    margin-right: 0;
    margin-left: 0;
  }
}

@media print, screen and (min-width: 64em) {
  .large-margin-collapse > .small-1 {
    width: 8.3333333333%;
  }

  .large-margin-collapse > .small-2 {
    width: 16.6666666667%;
  }

  .large-margin-collapse > .small-3 {
    width: 25%;
  }

  .large-margin-collapse > .small-4 {
    width: 33.3333333333%;
  }

  .large-margin-collapse > .small-5 {
    width: 41.6666666667%;
  }

  .large-margin-collapse > .small-6 {
    width: 50%;
  }

  .large-margin-collapse > .small-7 {
    width: 58.3333333333%;
  }

  .large-margin-collapse > .small-8 {
    width: 66.6666666667%;
  }

  .large-margin-collapse > .small-9 {
    width: 75%;
  }

  .large-margin-collapse > .small-10 {
    width: 83.3333333333%;
  }

  .large-margin-collapse > .small-11 {
    width: 91.6666666667%;
  }

  .large-margin-collapse > .small-12 {
    width: 100%;
  }
}

@media print, screen and (min-width: 64em) {
  .large-margin-collapse > .medium-1 {
    width: 8.3333333333%;
  }

  .large-margin-collapse > .medium-2 {
    width: 16.6666666667%;
  }

  .large-margin-collapse > .medium-3 {
    width: 25%;
  }

  .large-margin-collapse > .medium-4 {
    width: 33.3333333333%;
  }

  .large-margin-collapse > .medium-5 {
    width: 41.6666666667%;
  }

  .large-margin-collapse > .medium-6 {
    width: 50%;
  }

  .large-margin-collapse > .medium-7 {
    width: 58.3333333333%;
  }

  .large-margin-collapse > .medium-8 {
    width: 66.6666666667%;
  }

  .large-margin-collapse > .medium-9 {
    width: 75%;
  }

  .large-margin-collapse > .medium-10 {
    width: 83.3333333333%;
  }

  .large-margin-collapse > .medium-11 {
    width: 91.6666666667%;
  }

  .large-margin-collapse > .medium-12 {
    width: 100%;
  }
}

@media print, screen and (min-width: 64em) {
  .large-margin-collapse > .large-1 {
    width: 8.3333333333%;
  }

  .large-margin-collapse > .large-2 {
    width: 16.6666666667%;
  }

  .large-margin-collapse > .large-3 {
    width: 25%;
  }

  .large-margin-collapse > .large-4 {
    width: 33.3333333333%;
  }

  .large-margin-collapse > .large-5 {
    width: 41.6666666667%;
  }

  .large-margin-collapse > .large-6 {
    width: 50%;
  }

  .large-margin-collapse > .large-7 {
    width: 58.3333333333%;
  }

  .large-margin-collapse > .large-8 {
    width: 66.6666666667%;
  }

  .large-margin-collapse > .large-9 {
    width: 75%;
  }

  .large-margin-collapse > .large-10 {
    width: 83.3333333333%;
  }

  .large-margin-collapse > .large-11 {
    width: 91.6666666667%;
  }

  .large-margin-collapse > .large-12 {
    width: 100%;
  }
}

@media print, screen and (min-width: 64em) {
  .large-padding-collapse {
    margin-right: 0;
    margin-left: 0;
  }

  .large-padding-collapse > .cell {
    padding-right: 0;
    padding-left: 0;
  }
}

.small-offset-0 {
  margin-left: 0%;
}

.grid-margin-x > .small-offset-0 {
  margin-left: calc(0% + 0.5rem);
}

.small-offset-1 {
  margin-left: 8.3333333333%;
}

.grid-margin-x > .small-offset-1 {
  margin-left: calc(8.3333333333% + 0.5rem);
}

.small-offset-2 {
  margin-left: 16.6666666667%;
}

.grid-margin-x > .small-offset-2 {
  margin-left: calc(16.6666666667% + 0.5rem);
}

.small-offset-3 {
  margin-left: 25%;
}

.grid-margin-x > .small-offset-3 {
  margin-left: calc(25% + 0.5rem);
}

.small-offset-4 {
  margin-left: 33.3333333333%;
}

.grid-margin-x > .small-offset-4 {
  margin-left: calc(33.3333333333% + 0.5rem);
}

.small-offset-5 {
  margin-left: 41.6666666667%;
}

.grid-margin-x > .small-offset-5 {
  margin-left: calc(41.6666666667% + 0.5rem);
}

.small-offset-6 {
  margin-left: 50%;
}

.grid-margin-x > .small-offset-6 {
  margin-left: calc(50% + 0.5rem);
}

.small-offset-7 {
  margin-left: 58.3333333333%;
}

.grid-margin-x > .small-offset-7 {
  margin-left: calc(58.3333333333% + 0.5rem);
}

.small-offset-8 {
  margin-left: 66.6666666667%;
}

.grid-margin-x > .small-offset-8 {
  margin-left: calc(66.6666666667% + 0.5rem);
}

.small-offset-9 {
  margin-left: 75%;
}

.grid-margin-x > .small-offset-9 {
  margin-left: calc(75% + 0.5rem);
}

.small-offset-10 {
  margin-left: 83.3333333333%;
}

.grid-margin-x > .small-offset-10 {
  margin-left: calc(83.3333333333% + 0.5rem);
}

.small-offset-11 {
  margin-left: 91.6666666667%;
}

.grid-margin-x > .small-offset-11 {
  margin-left: calc(91.6666666667% + 0.5rem);
}

@media print, screen and (min-width: 40em) {
  .medium-offset-0 {
    margin-left: 0%;
  }

  .grid-margin-x > .medium-offset-0 {
    margin-left: calc(0% + 0.5rem);
  }

  .medium-offset-1 {
    margin-left: 8.3333333333%;
  }

  .grid-margin-x > .medium-offset-1 {
    margin-left: calc(8.3333333333% + 0.5rem);
  }

  .medium-offset-2 {
    margin-left: 16.6666666667%;
  }

  .grid-margin-x > .medium-offset-2 {
    margin-left: calc(16.6666666667% + 0.5rem);
  }

  .medium-offset-3 {
    margin-left: 25%;
  }

  .grid-margin-x > .medium-offset-3 {
    margin-left: calc(25% + 0.5rem);
  }

  .medium-offset-4 {
    margin-left: 33.3333333333%;
  }

  .grid-margin-x > .medium-offset-4 {
    margin-left: calc(33.3333333333% + 0.5rem);
  }

  .medium-offset-5 {
    margin-left: 41.6666666667%;
  }

  .grid-margin-x > .medium-offset-5 {
    margin-left: calc(41.6666666667% + 0.5rem);
  }

  .medium-offset-6 {
    margin-left: 50%;
  }

  .grid-margin-x > .medium-offset-6 {
    margin-left: calc(50% + 0.5rem);
  }

  .medium-offset-7 {
    margin-left: 58.3333333333%;
  }

  .grid-margin-x > .medium-offset-7 {
    margin-left: calc(58.3333333333% + 0.5rem);
  }

  .medium-offset-8 {
    margin-left: 66.6666666667%;
  }

  .grid-margin-x > .medium-offset-8 {
    margin-left: calc(66.6666666667% + 0.5rem);
  }

  .medium-offset-9 {
    margin-left: 75%;
  }

  .grid-margin-x > .medium-offset-9 {
    margin-left: calc(75% + 0.5rem);
  }

  .medium-offset-10 {
    margin-left: 83.3333333333%;
  }

  .grid-margin-x > .medium-offset-10 {
    margin-left: calc(83.3333333333% + 0.5rem);
  }

  .medium-offset-11 {
    margin-left: 91.6666666667%;
  }

  .grid-margin-x > .medium-offset-11 {
    margin-left: calc(91.6666666667% + 0.5rem);
  }
}

@media print, screen and (min-width: 64em) {
  .large-offset-0 {
    margin-left: 0%;
  }

  .grid-margin-x > .large-offset-0 {
    margin-left: calc(0% + 0.5rem);
  }

  .large-offset-1 {
    margin-left: 8.3333333333%;
  }

  .grid-margin-x > .large-offset-1 {
    margin-left: calc(8.3333333333% + 0.5rem);
  }

  .large-offset-2 {
    margin-left: 16.6666666667%;
  }

  .grid-margin-x > .large-offset-2 {
    margin-left: calc(16.6666666667% + 0.5rem);
  }

  .large-offset-3 {
    margin-left: 25%;
  }

  .grid-margin-x > .large-offset-3 {
    margin-left: calc(25% + 0.5rem);
  }

  .large-offset-4 {
    margin-left: 33.3333333333%;
  }

  .grid-margin-x > .large-offset-4 {
    margin-left: calc(33.3333333333% + 0.5rem);
  }

  .large-offset-5 {
    margin-left: 41.6666666667%;
  }

  .grid-margin-x > .large-offset-5 {
    margin-left: calc(41.6666666667% + 0.5rem);
  }

  .large-offset-6 {
    margin-left: 50%;
  }

  .grid-margin-x > .large-offset-6 {
    margin-left: calc(50% + 0.5rem);
  }

  .large-offset-7 {
    margin-left: 58.3333333333%;
  }

  .grid-margin-x > .large-offset-7 {
    margin-left: calc(58.3333333333% + 0.5rem);
  }

  .large-offset-8 {
    margin-left: 66.6666666667%;
  }

  .grid-margin-x > .large-offset-8 {
    margin-left: calc(66.6666666667% + 0.5rem);
  }

  .large-offset-9 {
    margin-left: 75%;
  }

  .grid-margin-x > .large-offset-9 {
    margin-left: calc(75% + 0.5rem);
  }

  .large-offset-10 {
    margin-left: 83.3333333333%;
  }

  .grid-margin-x > .large-offset-10 {
    margin-left: calc(83.3333333333% + 0.5rem);
  }

  .large-offset-11 {
    margin-left: 91.6666666667%;
  }

  .grid-margin-x > .large-offset-11 {
    margin-left: calc(91.6666666667% + 0.5rem);
  }
}

.grid-y {
  display: flex;
  flex-flow: column nowrap;
}

.grid-y > .cell {
  height: auto;
  max-height: none;
}

.grid-y > .auto {
  height: auto;
}

.grid-y > .shrink {
  height: auto;
}

.grid-y > .small-shrink,
.grid-y > .small-full,
.grid-y > .small-1,
.grid-y > .small-2,
.grid-y > .small-3,
.grid-y > .small-4,
.grid-y > .small-5,
.grid-y > .small-6,
.grid-y > .small-7,
.grid-y > .small-8,
.grid-y > .small-9,
.grid-y > .small-10,
.grid-y > .small-11,
.grid-y > .small-12 {
  flex-basis: auto;
}

@media print, screen and (min-width: 40em) {
  .grid-y > .medium-shrink,
  .grid-y > .medium-full,
  .grid-y > .medium-1,
  .grid-y > .medium-2,
  .grid-y > .medium-3,
  .grid-y > .medium-4,
  .grid-y > .medium-5,
  .grid-y > .medium-6,
  .grid-y > .medium-7,
  .grid-y > .medium-8,
  .grid-y > .medium-9,
  .grid-y > .medium-10,
  .grid-y > .medium-11,
  .grid-y > .medium-12 {
    flex-basis: auto;
  }
}

@media print, screen and (min-width: 64em) {
  .grid-y > .large-shrink,
  .grid-y > .large-full,
  .grid-y > .large-1,
  .grid-y > .large-2,
  .grid-y > .large-3,
  .grid-y > .large-4,
  .grid-y > .large-5,
  .grid-y > .large-6,
  .grid-y > .large-7,
  .grid-y > .large-8,
  .grid-y > .large-9,
  .grid-y > .large-10,
  .grid-y > .large-11,
  .grid-y > .large-12 {
    flex-basis: auto;
  }
}

.grid-y > .small-12,
.grid-y > .small-11,
.grid-y > .small-10,
.grid-y > .small-9,
.grid-y > .small-8,
.grid-y > .small-7,
.grid-y > .small-6,
.grid-y > .small-5,
.grid-y > .small-4,
.grid-y > .small-3,
.grid-y > .small-2,
.grid-y > .small-1 {
  flex: 0 0 auto;
}

.grid-y > .small-1 {
  height: 8.3333333333%;
}

.grid-y > .small-2 {
  height: 16.6666666667%;
}

.grid-y > .small-3 {
  height: 25%;
}

.grid-y > .small-4 {
  height: 33.3333333333%;
}

.grid-y > .small-5 {
  height: 41.6666666667%;
}

.grid-y > .small-6 {
  height: 50%;
}

.grid-y > .small-7 {
  height: 58.3333333333%;
}

.grid-y > .small-8 {
  height: 66.6666666667%;
}

.grid-y > .small-9 {
  height: 75%;
}

.grid-y > .small-10 {
  height: 83.3333333333%;
}

.grid-y > .small-11 {
  height: 91.6666666667%;
}

.grid-y > .small-12 {
  height: 100%;
}

@media print, screen and (min-width: 40em) {
  .grid-y > .medium-auto {
    flex: 1 1 0px;
    height: auto;
  }

  .grid-y > .medium-12,
  .grid-y > .medium-11,
  .grid-y > .medium-10,
  .grid-y > .medium-9,
  .grid-y > .medium-8,
  .grid-y > .medium-7,
  .grid-y > .medium-6,
  .grid-y > .medium-5,
  .grid-y > .medium-4,
  .grid-y > .medium-3,
  .grid-y > .medium-2,
  .grid-y > .medium-1,
  .grid-y > .medium-shrink {
    flex: 0 0 auto;
  }

  .grid-y > .medium-shrink {
    height: auto;
  }

  .grid-y > .medium-1 {
    height: 8.3333333333%;
  }

  .grid-y > .medium-2 {
    height: 16.6666666667%;
  }

  .grid-y > .medium-3 {
    height: 25%;
  }

  .grid-y > .medium-4 {
    height: 33.3333333333%;
  }

  .grid-y > .medium-5 {
    height: 41.6666666667%;
  }

  .grid-y > .medium-6 {
    height: 50%;
  }

  .grid-y > .medium-7 {
    height: 58.3333333333%;
  }

  .grid-y > .medium-8 {
    height: 66.6666666667%;
  }

  .grid-y > .medium-9 {
    height: 75%;
  }

  .grid-y > .medium-10 {
    height: 83.3333333333%;
  }

  .grid-y > .medium-11 {
    height: 91.6666666667%;
  }

  .grid-y > .medium-12 {
    height: 100%;
  }
}

@media print, screen and (min-width: 64em) {
  .grid-y > .large-auto {
    flex: 1 1 0px;
    height: auto;
  }

  .grid-y > .large-12,
  .grid-y > .large-11,
  .grid-y > .large-10,
  .grid-y > .large-9,
  .grid-y > .large-8,
  .grid-y > .large-7,
  .grid-y > .large-6,
  .grid-y > .large-5,
  .grid-y > .large-4,
  .grid-y > .large-3,
  .grid-y > .large-2,
  .grid-y > .large-1,
  .grid-y > .large-shrink {
    flex: 0 0 auto;
  }

  .grid-y > .large-shrink {
    height: auto;
  }

  .grid-y > .large-1 {
    height: 8.3333333333%;
  }

  .grid-y > .large-2 {
    height: 16.6666666667%;
  }

  .grid-y > .large-3 {
    height: 25%;
  }

  .grid-y > .large-4 {
    height: 33.3333333333%;
  }

  .grid-y > .large-5 {
    height: 41.6666666667%;
  }

  .grid-y > .large-6 {
    height: 50%;
  }

  .grid-y > .large-7 {
    height: 58.3333333333%;
  }

  .grid-y > .large-8 {
    height: 66.6666666667%;
  }

  .grid-y > .large-9 {
    height: 75%;
  }

  .grid-y > .large-10 {
    height: 83.3333333333%;
  }

  .grid-y > .large-11 {
    height: 91.6666666667%;
  }

  .grid-y > .large-12 {
    height: 100%;
  }
}

.grid-padding-y .grid-padding-y {
  margin-top: -0.5rem;
  margin-bottom: -0.5rem;
}

.grid-padding-y > .cell {
  padding-top: 0.5rem;
  padding-bottom: 0.5rem;
}

.grid-margin-y {
  margin-top: -0.5rem;
  margin-bottom: -0.5rem;
}

.grid-margin-y > .cell {
  height: calc(100% - 1rem);
  margin-top: 0.5rem;
  margin-bottom: 0.5rem;
}

.grid-margin-y > .auto {
  height: auto;
}

.grid-margin-y > .shrink {
  height: auto;
}

.grid-margin-y > .small-1 {
  height: calc(8.3333333333% - 1rem);
}

.grid-margin-y > .small-2 {
  height: calc(16.6666666667% - 1rem);
}

.grid-margin-y > .small-3 {
  height: calc(25% - 1rem);
}

.grid-margin-y > .small-4 {
  height: calc(33.3333333333% - 1rem);
}

.grid-margin-y > .small-5 {
  height: calc(41.6666666667% - 1rem);
}

.grid-margin-y > .small-6 {
  height: calc(50% - 1rem);
}

.grid-margin-y > .small-7 {
  height: calc(58.3333333333% - 1rem);
}

.grid-margin-y > .small-8 {
  height: calc(66.6666666667% - 1rem);
}

.grid-margin-y > .small-9 {
  height: calc(75% - 1rem);
}

.grid-margin-y > .small-10 {
  height: calc(83.3333333333% - 1rem);
}

.grid-margin-y > .small-11 {
  height: calc(91.6666666667% - 1rem);
}

.grid-margin-y > .small-12 {
  height: calc(100% - 1rem);
}

@media print, screen and (min-width: 40em) {
  .grid-margin-y > .medium-auto {
    height: auto;
  }

  .grid-margin-y > .medium-shrink {
    height: auto;
  }

  .grid-margin-y > .medium-1 {
    height: calc(8.3333333333% - 1rem);
  }

  .grid-margin-y > .medium-2 {
    height: calc(16.6666666667% - 1rem);
  }

  .grid-margin-y > .medium-3 {
    height: calc(25% - 1rem);
  }

  .grid-margin-y > .medium-4 {
    height: calc(33.3333333333% - 1rem);
  }

  .grid-margin-y > .medium-5 {
    height: calc(41.6666666667% - 1rem);
  }

  .grid-margin-y > .medium-6 {
    height: calc(50% - 1rem);
  }

  .grid-margin-y > .medium-7 {
    height: calc(58.3333333333% - 1rem);
  }

  .grid-margin-y > .medium-8 {
    height: calc(66.6666666667% - 1rem);
  }

  .grid-margin-y > .medium-9 {
    height: calc(75% - 1rem);
  }

  .grid-margin-y > .medium-10 {
    height: calc(83.3333333333% - 1rem);
  }

  .grid-margin-y > .medium-11 {
    height: calc(91.6666666667% - 1rem);
  }

  .grid-margin-y > .medium-12 {
    height: calc(100% - 1rem);
  }
}

@media print, screen and (min-width: 64em) {
  .grid-margin-y > .large-auto {
    height: auto;
  }

  .grid-margin-y > .large-shrink {
    height: auto;
  }

  .grid-margin-y > .large-1 {
    height: calc(8.3333333333% - 1rem);
  }

  .grid-margin-y > .large-2 {
    height: calc(16.6666666667% - 1rem);
  }

  .grid-margin-y > .large-3 {
    height: calc(25% - 1rem);
  }

  .grid-margin-y > .large-4 {
    height: calc(33.3333333333% - 1rem);
  }

  .grid-margin-y > .large-5 {
    height: calc(41.6666666667% - 1rem);
  }

  .grid-margin-y > .large-6 {
    height: calc(50% - 1rem);
  }

  .grid-margin-y > .large-7 {
    height: calc(58.3333333333% - 1rem);
  }

  .grid-margin-y > .large-8 {
    height: calc(66.6666666667% - 1rem);
  }

  .grid-margin-y > .large-9 {
    height: calc(75% - 1rem);
  }

  .grid-margin-y > .large-10 {
    height: calc(83.3333333333% - 1rem);
  }

  .grid-margin-y > .large-11 {
    height: calc(91.6666666667% - 1rem);
  }

  .grid-margin-y > .large-12 {
    height: calc(100% - 1rem);
  }
}

.grid-frame {
  overflow: hidden;
  position: relative;
  flex-wrap: nowrap;
  align-items: stretch;
  width: 100vw;
}

.cell .grid-frame {
  width: 100%;
}

.cell-block {
  overflow-x: auto;
  max-width: 100%;
  -webkit-overflow-scrolling: touch;
  -ms-overflow-style: -ms-autohiding-scrollbar;
}

.cell-block-y {
  overflow-y: auto;
  max-height: 100%;
  min-height: 100%;
  -webkit-overflow-scrolling: touch;
  -ms-overflow-style: -ms-autohiding-scrollbar;
}

.cell-block-container {
  display: flex;
  flex-direction: column;
  max-height: 100%;
}

.cell-block-container > .grid-x {
  max-height: 100%;
  flex-wrap: nowrap;
}

@media print, screen and (min-width: 40em) {
  .medium-grid-frame {
    overflow: hidden;
    position: relative;
    flex-wrap: nowrap;
    align-items: stretch;
    width: 100vw;
  }

  .cell .medium-grid-frame {
    width: 100%;
  }

  .medium-cell-block {
    overflow-x: auto;
    max-width: 100%;
    -webkit-overflow-scrolling: touch;
    -ms-overflow-style: -ms-autohiding-scrollbar;
  }

  .medium-cell-block-container {
    display: flex;
    flex-direction: column;
    max-height: 100%;
  }

  .medium-cell-block-container > .grid-x {
    max-height: 100%;
    flex-wrap: nowrap;
  }

  .medium-cell-block-y {
    overflow-y: auto;
    max-height: 100%;
    min-height: 100%;
    -webkit-overflow-scrolling: touch;
    -ms-overflow-style: -ms-autohiding-scrollbar;
  }
}

@media print, screen and (min-width: 64em) {
  .large-grid-frame {
    overflow: hidden;
    position: relative;
    flex-wrap: nowrap;
    align-items: stretch;
    width: 100vw;
  }

  .cell .large-grid-frame {
    width: 100%;
  }

  .large-cell-block {
    overflow-x: auto;
    max-width: 100%;
    -webkit-overflow-scrolling: touch;
    -ms-overflow-style: -ms-autohiding-scrollbar;
  }

  .large-cell-block-container {
    display: flex;
    flex-direction: column;
    max-height: 100%;
  }

  .large-cell-block-container > .grid-x {
    max-height: 100%;
    flex-wrap: nowrap;
  }

  .large-cell-block-y {
    overflow-y: auto;
    max-height: 100%;
    min-height: 100%;
    -webkit-overflow-scrolling: touch;
    -ms-overflow-style: -ms-autohiding-scrollbar;
  }
}

.grid-y.grid-frame {
  width: auto;
  overflow: hidden;
  position: relative;
  flex-wrap: nowrap;
  align-items: stretch;
  height: 100vh;
}

@media print, screen and (min-width: 40em) {
  .grid-y.medium-grid-frame {
    width: auto;
    overflow: hidden;
    position: relative;
    flex-wrap: nowrap;
    align-items: stretch;
    height: 100vh;
  }
}

@media print, screen and (min-width: 64em) {
  .grid-y.large-grid-frame {
    width: auto;
    overflow: hidden;
    position: relative;
    flex-wrap: nowrap;
    align-items: stretch;
    height: 100vh;
  }
}

.cell .grid-y.grid-frame {
  height: 100%;
}

@media print, screen and (min-width: 40em) {
  .cell .grid-y.medium-grid-frame {
    height: 100%;
  }
}

@media print, screen and (min-width: 64em) {
  .cell .grid-y.large-grid-frame {
    height: 100%;
  }
}

.grid-margin-y {
  margin-top: -0.5rem;
  margin-bottom: -0.5rem;
}

.grid-margin-y > .cell {
  height: calc(100% - 1rem);
  margin-top: 0.5rem;
  margin-bottom: 0.5rem;
}

.grid-margin-y > .auto {
  height: auto;
}

.grid-margin-y > .shrink {
  height: auto;
}

.grid-margin-y > .small-1 {
  height: calc(8.3333333333% - 1rem);
}

.grid-margin-y > .small-2 {
  height: calc(16.6666666667% - 1rem);
}

.grid-margin-y > .small-3 {
  height: calc(25% - 1rem);
}

.grid-margin-y > .small-4 {
  height: calc(33.3333333333% - 1rem);
}

.grid-margin-y > .small-5 {
  height: calc(41.6666666667% - 1rem);
}

.grid-margin-y > .small-6 {
  height: calc(50% - 1rem);
}

.grid-margin-y > .small-7 {
  height: calc(58.3333333333% - 1rem);
}

.grid-margin-y > .small-8 {
  height: calc(66.6666666667% - 1rem);
}

.grid-margin-y > .small-9 {
  height: calc(75% - 1rem);
}

.grid-margin-y > .small-10 {
  height: calc(83.3333333333% - 1rem);
}

.grid-margin-y > .small-11 {
  height: calc(91.6666666667% - 1rem);
}

.grid-margin-y > .small-12 {
  height: calc(100% - 1rem);
}

@media print, screen and (min-width: 40em) {
  .grid-margin-y > .medium-auto {
    height: auto;
  }

  .grid-margin-y > .medium-shrink {
    height: auto;
  }

  .grid-margin-y > .medium-1 {
    height: calc(8.3333333333% - 1rem);
  }

  .grid-margin-y > .medium-2 {
    height: calc(16.6666666667% - 1rem);
  }

  .grid-margin-y > .medium-3 {
    height: calc(25% - 1rem);
  }

  .grid-margin-y > .medium-4 {
    height: calc(33.3333333333% - 1rem);
  }

  .grid-margin-y > .medium-5 {
    height: calc(41.6666666667% - 1rem);
  }

  .grid-margin-y > .medium-6 {
    height: calc(50% - 1rem);
  }

  .grid-margin-y > .medium-7 {
    height: calc(58.3333333333% - 1rem);
  }

  .grid-margin-y > .medium-8 {
    height: calc(66.6666666667% - 1rem);
  }

  .grid-margin-y > .medium-9 {
    height: calc(75% - 1rem);
  }

  .grid-margin-y > .medium-10 {
    height: calc(83.3333333333% - 1rem);
  }

  .grid-margin-y > .medium-11 {
    height: calc(91.6666666667% - 1rem);
  }

  .grid-margin-y > .medium-12 {
    height: calc(100% - 1rem);
  }
}

@media print, screen and (min-width: 64em) {
  .grid-margin-y > .large-auto {
    height: auto;
  }

  .grid-margin-y > .large-shrink {
    height: auto;
  }

  .grid-margin-y > .large-1 {
    height: calc(8.3333333333% - 1rem);
  }

  .grid-margin-y > .large-2 {
    height: calc(16.6666666667% - 1rem);
  }

  .grid-margin-y > .large-3 {
    height: calc(25% - 1rem);
  }

  .grid-margin-y > .large-4 {
    height: calc(33.3333333333% - 1rem);
  }

  .grid-margin-y > .large-5 {
    height: calc(41.6666666667% - 1rem);
  }

  .grid-margin-y > .large-6 {
    height: calc(50% - 1rem);
  }

  .grid-margin-y > .large-7 {
    height: calc(58.3333333333% - 1rem);
  }

  .grid-margin-y > .large-8 {
    height: calc(66.6666666667% - 1rem);
  }

  .grid-margin-y > .large-9 {
    height: calc(75% - 1rem);
  }

  .grid-margin-y > .large-10 {
    height: calc(83.3333333333% - 1rem);
  }

  .grid-margin-y > .large-11 {
    height: calc(91.6666666667% - 1rem);
  }

  .grid-margin-y > .large-12 {
    height: calc(100% - 1rem);
  }
}

.grid-frame.grid-margin-y {
  height: calc(100vh + 1rem);
}

@media print, screen and (min-width: 40em) {
  .grid-frame.grid-margin-y {
    height: calc(100vh + 1rem);
  }
}

@media print, screen and (min-width: 64em) {
  .grid-frame.grid-margin-y {
    height: calc(100vh + 1rem);
  }
}

@media print, screen and (min-width: 40em) {
  .grid-margin-y.medium-grid-frame {
    height: calc(100vh + 1rem);
  }
}

@media print, screen and (min-width: 64em) {
  .grid-margin-y.large-grid-frame {
    height: calc(100vh + 1rem);
  }
}

.close-button {
  position: absolute;
  z-index: 10;
  color: #687c8d;
  cursor: pointer;
}

[data-whatinput=mouse] .close-button {
  outline: 0;
}

.close-button:hover,
.close-button:focus {
  color: #0a0a0a;
}

.close-button.small {
  right: 0.66rem;
  top: 0.33em;
  font-size: 1.5em;
  line-height: 1;
}

.close-button,
.close-button.medium {
  right: 1rem;
  top: 0.5rem;
  font-size: 2em;
  line-height: 1;
}

.menu {
  padding: 0;
  margin: 0;
  list-style: none;
  position: relative;
  display: flex;
  flex-wrap: wrap;
}

[data-whatinput=mouse] .menu li {
  outline: 0;
}

.menu a,
.menu .button {
  line-height: 1;
  text-decoration: none;
  display: block;
  padding: 0.7rem 1rem;
}

.menu input,
.menu select,
.menu a,
.menu button {
  margin-bottom: 0;
}

.menu input {
  display: inline-block;
}

.menu,
.menu.horizontal {
  flex-wrap: wrap;
  flex-direction: row;
}

.menu.vertical {
  flex-wrap: nowrap;
  flex-direction: column;
}

.menu.expanded li {
  flex: 1 1 0px;
}

.menu.simple {
  align-items: center;
}

.menu.simple li + li {
  margin-left: 1rem;
}

.menu.simple a {
  padding: 0;
}

@media print, screen and (min-width: 40em) {
  .menu.medium-horizontal {
    flex-wrap: wrap;
    flex-direction: row;
  }

  .menu.medium-vertical {
    flex-wrap: nowrap;
    flex-direction: column;
  }

  .menu.medium-expanded li {
    flex: 1 1 0px;
  }

  .menu.medium-simple li {
    flex: 1 1 0px;
  }
}

@media print, screen and (min-width: 64em) {
  .menu.large-horizontal {
    flex-wrap: wrap;
    flex-direction: row;
  }

  .menu.large-vertical {
    flex-wrap: nowrap;
    flex-direction: column;
  }

  .menu.large-expanded li {
    flex: 1 1 0px;
  }

  .menu.large-simple li {
    flex: 1 1 0px;
  }
}

.menu.nested {
  margin-right: 0;
  margin-left: 1rem;
}

.menu.icons a {
  display: flex;
}

.menu.icon-top a,
.menu.icon-right a,
.menu.icon-bottom a,
.menu.icon-left a {
  display: flex;
}

.menu.icon-left li a {
  flex-flow: row nowrap;
}

.menu.icon-left li a img,
.menu.icon-left li a i,
.menu.icon-left li a svg {
  margin-right: 0.25rem;
}

.menu.icon-right li a {
  flex-flow: row nowrap;
}

.menu.icon-right li a img,
.menu.icon-right li a i,
.menu.icon-right li a svg {
  margin-left: 0.25rem;
}

.menu.icon-top li a {
  flex-flow: column nowrap;
}

.menu.icon-top li a img,
.menu.icon-top li a i,
.menu.icon-top li a svg {
  align-self: stretch;
  margin-bottom: 0.25rem;
  text-align: center;
}

.menu.icon-bottom li a {
  flex-flow: column nowrap;
}

.menu.icon-bottom li a img,
.menu.icon-bottom li a i,
.menu.icon-bottom li a svg {
  align-self: stretch;
  margin-bottom: 0.25rem;
  text-align: center;
}

.menu .is-active > a {
  background: #33c1d2;
  color: #0a0a0a;
}

.menu .active > a {
  background: #33c1d2;
  color: #0a0a0a;
}

.menu.align-left {
  justify-content: flex-start;
}

.menu.align-right li {
  display: flex;
  justify-content: flex-end;
}

.menu.align-right li .submenu li {
  justify-content: flex-start;
}

.menu.align-right.vertical li {
  display: block;
  text-align: right;
}

.menu.align-right.vertical li .submenu li {
  text-align: right;
}

.menu.align-right .nested {
  margin-right: 1rem;
  margin-left: 0;
}

.menu.align-center li {
  display: flex;
  justify-content: center;
}

.menu.align-center li .submenu li {
  justify-content: flex-start;
}

.menu .menu-text {
  padding: 0.7rem 1rem;
  font-weight: bold;
  line-height: 1;
  color: inherit;
}

.menu-centered > .menu {
  justify-content: center;
}

.menu-centered > .menu li {
  display: flex;
  justify-content: center;
}

.menu-centered > .menu li .submenu li {
  justify-content: flex-start;
}

.no-js [data-responsive-menu] ul {
  display: none;
}

.accordion {
  margin-left: 0;
  background: #fefefe;
  list-style-type: none;
}

.accordion[disabled] .accordion-title {
  cursor: not-allowed;
}

.accordion-item:first-child > :first-child {
  border-radius: 0 0 0 0;
}

.accordion-item:last-child > :last-child {
  border-radius: 0 0 0 0;
}

.accordion-title {
  position: relative;
  display: block;
  padding: 1.25rem 1rem;
  border: 1px solid #eaecf0;
  border-bottom: 0;
  font-size: 0.75rem;
  line-height: 1;
  color: #33c1d2;
}

:last-child:not(.is-active) > .accordion-title {
  border-bottom: 1px solid #eaecf0;
  border-radius: 0 0 0 0;
}

.accordion-title:hover,
.accordion-title:focus {
  background-color: #eaecf0;
}

.accordion-title::before {
  position: absolute;
  top: 50%;
  right: 1rem;
  margin-top: -0.5rem;
  content: "+";
}

.is-active > .accordion-title::before {
  content: "\2013";
}

.accordion-content {
  display: none;
  padding: 1rem;
  border: 1px solid #eaecf0;
  border-bottom: 0;
  background-color: #fefefe;
  color: #687c8d;
}

:last-child > .accordion-content:last-child {
  border-bottom: 1px solid #eaecf0;
}

html.is-reveal-open {
  position: fixed;
  width: 100%;
  overflow-y: hidden;
}

html.is-reveal-open.zf-has-scroll {
  overflow-y: scroll;
}

html.is-reveal-open body {
  overflow-y: hidden;
}

.reveal-overlay {
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 1005;
  display: none;
  background-color: rgba(10, 10, 10, 0.45);
  overflow-y: auto;
}

.reveal {
  z-index: 1006;
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden;
  display: none;
  padding: 1rem;
  border: 1px solid #94a2b2;
  border-radius: 0;
  background-color: #fefefe;
  position: relative;
  top: 100px;
  margin-right: auto;
  margin-left: auto;
  overflow-y: auto;
}

[data-whatinput=mouse] .reveal {
  outline: 0;
}

@media print, screen and (min-width: 40em) {
  .reveal {
    min-height: 0;
  }
}

.reveal .column {
  min-width: 0;
}

.reveal > :last-child {
  margin-bottom: 0;
}

@media print, screen and (min-width: 40em) {
  .reveal {
    width: 600px;
    max-width: 75rem;
  }
}

.reveal.collapse {
  padding: 0;
}

@media print, screen and (min-width: 40em) {
  .reveal.tiny {
    width: 30%;
    max-width: 75rem;
  }
}

@media print, screen and (min-width: 40em) {
  .reveal.small {
    width: 50%;
    max-width: 75rem;
  }
}

@media print, screen and (min-width: 40em) {
  .reveal.large {
    width: 90%;
    max-width: 75rem;
  }
}

.reveal.full {
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  width: 100%;
  max-width: none;
  height: 100%;
  min-height: 100%;
  margin-left: 0;
  border: 0;
  border-radius: 0;
}

@media print, screen and (max-width: 39.99875em) {
  .reveal {
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    width: 100%;
    max-width: none;
    height: 100%;
    min-height: 100%;
    margin-left: 0;
    border: 0;
    border-radius: 0;
  }
}

.reveal.without-overlay {
  position: fixed;
}

.text-hide {
  font: 0/0 a !important;
  color: transparent !important;
  text-shadow: none !important;
  background-color: transparent !important;
  border: 0 !important;
}

.text-truncate {
  max-width: 100% !important;
  overflow: hidden !important;
  text-overflow: ellipsis;
  white-space: nowrap !important;
}

.text-nowrap {
  white-space: nowrap !important;
}

.text-wrap {
  word-wrap: break-word !important;
}

.text-lowercase {
  text-transform: lowercase !important;
}

.text-uppercase {
  text-transform: uppercase !important;
}

.text-capitalize {
  text-transform: capitalize !important;
}

.text-overline {
  text-decoration: overline !important;
}

.text-underline {
  text-decoration: underline !important;
}

.text-line-through {
  text-decoration: line-through !important;
}

.font-wide {
  letter-spacing: 0.25rem;
}

.font-normal {
  font-weight: normal;
}

.font-bold {
  font-weight: bold;
}

.font-italic {
  font-style: italic !important;
}

ul.list-disc {
  list-style-type: disc !important;
}

ul.list-circle {
  list-style-type: circle !important;
}

ul.list-square {
  list-style-type: square !important;
}

ol.list-decimal {
  list-style-type: decimal !important;
}

ol.list-lower-alpha {
  list-style-type: lower-alpha !important;
}

ol.list-lower-latin {
  list-style-type: lower-latin !important;
}

ol.list-lower-roman {
  list-style-type: lower-roman !important;
}

ol.list-upper-alpha {
  list-style-type: upper-alpha !important;
}

ol.list-upper-latin {
  list-style-type: upper-latin !important;
}

ol.list-upper-roman {
  list-style-type: upper-roman !important;
}

.rounded {
  border-radius: 5000px !important;
}

.rounded .switch-paddle {
  border-radius: 5000px !important;
}

.rounded .switch-paddle:after {
  border-radius: 50%;
}

.radius {
  border-radius: 0.1875rem;
}

.bordered {
  border: 0.0625rem solid #94a2b2;
}

.shadow {
  box-shadow: 0 2px 5px 0 rgba(0, 0, 0, 0.16), 0 2px 10px 0 rgba(0, 0, 0, 0.12);
}

.arrow-down {
  display: block;
  width: 0;
  height: 0;
  border: inset 0.4375rem;
  content: "";
  border-bottom-width: 0;
  border-top-style: solid;
  border-color: #0a0a0a transparent transparent;
}

.arrow-up {
  display: block;
  width: 0;
  height: 0;
  border: inset 0.4375rem;
  content: "";
  border-top-width: 0;
  border-bottom-style: solid;
  border-color: transparent transparent #0a0a0a;
}

.arrow-right {
  display: block;
  width: 0;
  height: 0;
  border: inset 0.4375rem;
  content: "";
  border-right-width: 0;
  border-left-style: solid;
  border-color: transparent transparent transparent #0a0a0a;
}

.arrow-left {
  display: block;
  width: 0;
  height: 0;
  border: inset 0.4375rem;
  content: "";
  border-left-width: 0;
  border-right-style: solid;
  border-color: transparent #0a0a0a transparent transparent;
}

.separator-center {
  text-align: center !important;
}

.separator-center::before,
.separator-center::after {
  display: table;
  content: " ";
  flex-basis: 0;
  order: 1;
}

.separator-center::after {
  clear: both;
}

.separator-center::after {
  position: relative !important;
  width: 3rem;
  border-bottom: 0.125rem solid #33c1d2;
  margin: 1rem auto 0;
}

.separator-left {
  text-align: left !important;
}

.separator-left::before,
.separator-left::after {
  display: table;
  content: " ";
  flex-basis: 0;
  order: 1;
}

.separator-left::after {
  clear: both;
}

.separator-left::after {
  position: relative !important;
  width: 3rem;
  border-bottom: 0.125rem solid #33c1d2;
  margin: 1rem auto 0;
  margin-left: 0 !important;
}

.separator-right {
  text-align: right !important;
}

.separator-right::before,
.separator-right::after {
  display: table;
  content: " ";
  flex-basis: 0;
  order: 1;
}

.separator-right::after {
  clear: both;
}

.separator-right::after {
  position: relative !important;
  width: 3rem;
  border-bottom: 0.125rem solid #33c1d2;
  margin: 1rem auto 0;
  margin-right: 0 !important;
}

.overflow-visible {
  overflow: visible !important;
}

.overflow-x-visible {
  overflow-x: visible !important;
}

.overflow-y-visible {
  overflow-y: visible !important;
}

.overflow-hidden {
  overflow: hidden !important;
}

.overflow-x-hidden {
  overflow-x: hidden !important;
}

.overflow-y-hidden {
  overflow-y: hidden !important;
}

.overflow-scroll {
  overflow: scroll !important;
}

.overflow-x-scroll {
  overflow-x: scroll !important;
}

.overflow-y-scroll {
  overflow-y: scroll !important;
}

.display-inline {
  display: inline !important;
}

.display-inline-block {
  display: inline-block !important;
}

.display-block {
  display: block !important;
}

.display-table {
  display: table !important;
}

.display-table-cell {
  display: table-cell !important;
}

.position-static {
  position: static !important;
}

.position-relative {
  position: relative !important;
}

.position-absolute {
  position: absolute !important;
}

.position-fixed {
  position: fixed !important;
}

.position-fixed-top {
  position: fixed !important;
  top: 0rem !important;
  right: 0rem !important;
  left: 0rem !important;
  z-index: 975;
}

.position-fixed-bottom {
  position: fixed !important;
  right: 0rem !important;
  bottom: 0rem !important;
  left: 0rem !important;
  z-index: 975;
}

.border-box {
  box-sizing: border-box !important;
}

.border-none {
  border: none !important;
}

.width-25 {
  width: 25% !important;
}

.width-50 {
  width: 50% !important;
}

.width-75 {
  width: 75% !important;
}

.width-100 {
  width: 100% !important;
}

.height-25 {
  height: 25% !important;
}

.height-50 {
  height: 50% !important;
}

.height-75 {
  height: 75% !important;
}

.height-100 {
  height: 100% !important;
}

.max-width-100 {
  max-width: 100% !important;
}

.max-height-100 {
  max-height: 100% !important;
}

.margin-0 {
  margin: 0rem !important;
}

.margin-top-0 {
  margin-top: 0rem !important;
}

.margin-right-0 {
  margin-right: 0rem !important;
}

.margin-bottom-0 {
  margin-bottom: 0rem !important;
}

.margin-left-0 {
  margin-left: 0rem !important;
}

.margin-horizontal-0 {
  margin-right: 0rem !important;
  margin-left: 0rem !important;
}

.margin-vertical-0 {
  margin-top: 0rem !important;
  margin-bottom: 0rem !important;
}

.padding-0 {
  padding: 0rem !important;
}

.padding-top-0 {
  padding-top: 0rem !important;
}

.padding-right-0 {
  padding-right: 0rem !important;
}

.padding-bottom-0 {
  padding-bottom: 0rem !important;
}

.padding-left-0 {
  padding-left: 0rem !important;
}

.padding-horizontal-0 {
  padding-right: 0rem !important;
  padding-left: 0rem !important;
}

.padding-vertical-0 {
  padding-top: 0rem !important;
  padding-bottom: 0rem !important;
}

.margin-1 {
  margin: 1rem !important;
}

.margin-top-1 {
  margin-top: 1rem !important;
}

.margin-right-1 {
  margin-right: 1rem !important;
}

.margin-bottom-1 {
  margin-bottom: 1rem !important;
}

.margin-left-1 {
  margin-left: 1rem !important;
}

.margin-horizontal-1 {
  margin-right: 1rem !important;
  margin-left: 1rem !important;
}

.margin-vertical-1 {
  margin-top: 1rem !important;
  margin-bottom: 1rem !important;
}

.padding-1 {
  padding: 1rem !important;
}

.padding-top-1 {
  padding-top: 1rem !important;
}

.padding-right-1 {
  padding-right: 1rem !important;
}

.padding-bottom-1 {
  padding-bottom: 1rem !important;
}

.padding-left-1 {
  padding-left: 1rem !important;
}

.padding-horizontal-1 {
  padding-right: 1rem !important;
  padding-left: 1rem !important;
}

.padding-vertical-1 {
  padding-top: 1rem !important;
  padding-bottom: 1rem !important;
}

.margin-2 {
  margin: 2rem !important;
}

.margin-top-2 {
  margin-top: 2rem !important;
}

.margin-right-2 {
  margin-right: 2rem !important;
}

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

.margin-left-2 {
  margin-left: 2rem !important;
}

.margin-horizontal-2 {
  margin-right: 2rem !important;
  margin-left: 2rem !important;
}

.margin-vertical-2 {
  margin-top: 2rem !important;
  margin-bottom: 2rem !important;
}

.padding-2 {
  padding: 2rem !important;
}

.padding-top-2 {
  padding-top: 2rem !important;
}

.padding-right-2 {
  padding-right: 2rem !important;
}

.padding-bottom-2 {
  padding-bottom: 2rem !important;
}

.padding-left-2 {
  padding-left: 2rem !important;
}

.padding-horizontal-2 {
  padding-right: 2rem !important;
  padding-left: 2rem !important;
}

.padding-vertical-2 {
  padding-top: 2rem !important;
  padding-bottom: 2rem !important;
}

.margin-3 {
  margin: 3rem !important;
}

.margin-top-3 {
  margin-top: 3rem !important;
}

.margin-right-3 {
  margin-right: 3rem !important;
}

.margin-bottom-3 {
  margin-bottom: 3rem !important;
}

.margin-left-3 {
  margin-left: 3rem !important;
}

.margin-horizontal-3 {
  margin-right: 3rem !important;
  margin-left: 3rem !important;
}

.margin-vertical-3 {
  margin-top: 3rem !important;
  margin-bottom: 3rem !important;
}

.padding-3 {
  padding: 3rem !important;
}

.padding-top-3 {
  padding-top: 3rem !important;
}

.padding-right-3 {
  padding-right: 3rem !important;
}

.padding-bottom-3 {
  padding-bottom: 3rem !important;
}

.padding-left-3 {
  padding-left: 3rem !important;
}

.padding-horizontal-3 {
  padding-right: 3rem !important;
  padding-left: 3rem !important;
}

.padding-vertical-3 {
  padding-top: 3rem !important;
  padding-bottom: 3rem !important;
}

.hide {
  display: none !important;
}

.invisible {
  visibility: hidden;
}

@media print, screen and (max-width: 39.99875em) {
  .hide-for-small-only {
    display: none !important;
  }
}

@media screen and (max-width: 0em), screen and (min-width: 40em) {
  .show-for-small-only {
    display: none !important;
  }
}

@media print, screen and (min-width: 40em) {
  .hide-for-medium {
    display: none !important;
  }
}

@media screen and (max-width: 39.99875em) {
  .show-for-medium {
    display: none !important;
  }
}

@media print, screen and (min-width: 40em) and (max-width: 63.99875em) {
  .hide-for-medium-only {
    display: none !important;
  }
}

@media screen and (max-width: 39.99875em), screen and (min-width: 64em) {
  .show-for-medium-only {
    display: none !important;
  }
}

@media print, screen and (min-width: 64em) {
  .hide-for-large {
    display: none !important;
  }
}

@media screen and (max-width: 63.99875em) {
  .show-for-large {
    display: none !important;
  }
}

@media print, screen and (min-width: 64em) and (max-width: 74.99875em) {
  .hide-for-large-only {
    display: none !important;
  }
}

@media screen and (max-width: 63.99875em), screen and (min-width: 75em) {
  .show-for-large-only {
    display: none !important;
  }
}

.show-for-sr,
.show-on-focus {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}

.show-on-focus:active,
.show-on-focus:focus {
  position: static !important;
  width: auto !important;
  height: auto !important;
  overflow: visible !important;
  clip: auto !important;
  white-space: normal !important;
}

.show-for-landscape,
.hide-for-portrait {
  display: block !important;
}

@media screen and (orientation: landscape) {
  .show-for-landscape,
  .hide-for-portrait {
    display: block !important;
  }
}

@media screen and (orientation: portrait) {
  .show-for-landscape,
  .hide-for-portrait {
    display: none !important;
  }
}

.hide-for-landscape,
.show-for-portrait {
  display: none !important;
}

@media screen and (orientation: landscape) {
  .hide-for-landscape,
  .show-for-portrait {
    display: none !important;
  }
}

@media screen and (orientation: portrait) {
  .hide-for-landscape,
  .show-for-portrait {
    display: block !important;
  }
}

table {
  border-collapse: collapse;
  width: 100%;
  margin-bottom: 1rem;
  border-radius: 0;
}

thead,
tbody,
tfoot {
  border: 1px solid #f1f1f1;
  background-color: #fefefe;
}

caption {
  padding: 0.5rem 0.625rem 0.625rem;
  font-weight: bold;
}

thead {
  background: #f8f8f8;
  color: #687c8d;
}

tfoot {
  background: #f1f1f1;
  color: #687c8d;
}

thead tr,
tfoot tr {
  background: transparent;
}

thead th,
thead td,
tfoot th,
tfoot td {
  padding: 0.5rem 0.625rem 0.625rem;
  font-weight: bold;
  text-align: left;
}

tbody th,
tbody td {
  padding: 0.5rem 0.625rem 0.625rem;
}

tbody tr:nth-child(even) {
  border-bottom: 0;
  background-color: #f1f1f1;
}

table.unstriped tbody {
  background-color: #fefefe;
}

table.unstriped tbody tr {
  border-bottom: 0;
  border-bottom: 1px solid #f1f1f1;
  background-color: #fefefe;
}

@media print, screen and (max-width: 63.99875em) {
  table.stack thead {
    display: none;
  }

  table.stack tfoot {
    display: none;
  }

  table.stack tr,
  table.stack th,
  table.stack td {
    display: block;
  }

  table.stack td {
    border-top: 0;
  }
}

table.scroll {
  display: block;
  width: 100%;
  overflow-x: auto;
}

table.hover thead tr:hover {
  background-color: #f3f3f3;
}

table.hover tfoot tr:hover {
  background-color: #ececec;
}

table.hover tbody tr:hover {
  background-color: #f9f9f9;
}

table.hover:not(.unstriped) tr:nth-of-type(even):hover {
  background-color: #ececec;
}

.table-scroll {
  overflow-x: auto;
}

/*----------  Typography  ----------*/

h1,
.h1 {
  font-family: "Josefin Sans", sans-serif;
}

h2,
.h2,
h3,
.h3,
h4,
.h4 {
  font-family: "Josefin Sans", sans-serif;
}

.font-medium {
  font-weight: 500;
}

.font-regular {
  font-weight: 400;
}

body {
  background-color: #fff;
  font-family: "Open Sans", sans-serif;
}

.rich-text-content ul li,
.rich-text-content ol li {
  margin-left: 1.25rem;
  margin-bottom: 0.625rem;
}

/*----------  General layout styles  ----------*/

.outer-content-wrapper {
  max-width: 1400px;
  margin: 0 auto;
}

.page-content-wrapper {
  max-width: 75rem;
  margin: 0 auto;
}

.standard-gutters {
  padding-left: 1rem;
  padding-right: 1rem;
}

.content-band {
  padding-right: 1rem;
  padding-left: 1rem;
}

.content-band .wrapper {
  max-width: 75rem;
  margin: 0 auto;
}

.content-band--collapse-left {
  padding-left: 0;
}

.content-band--collapse-right {
  padding-right: 0;
}

.content-band--collapse {
  padding-left: 0;
  padding-right: 0;
}

.content-band--blue {
  background-color: #388eb7;
}

.content-band--white {
  background-color: #fff;
}

.standard-two-col {
  display: flex;
  flex-flow: row wrap;
}

.standard-two-col__main {
  flex: 0 0 auto;
  width: 65.8333333333%;
  margin-left: 0;
  margin-right: 0;
  padding: 2.5rem 2.5rem 2.5rem 0;
}

@media screen and (max-width: 55em) {
  .standard-two-col__main {
    width: 100%;
    padding-right: 0;
  }
}

.standard-two-col__side {
  flex: 0 0 auto;
  width: 34.1666666667%;
  margin-left: 0;
  margin-right: 0;
  background-color: #eaecf0;
  padding: 5.625rem 1.875rem;
}

@media screen and (max-width: 55em) {
  .standard-two-col__side {
    width: 100%;
    padding-top: 2.8125rem;
    padding-bottom: 2.8125rem;
  }
}

.sidebar-block {
  margin-bottom: 5.625rem;
}

.sidebar-block h2 {
  font-weight: 700;
  text-transform: uppercase;
  font-size: 1.25rem;
  padding-bottom: 0.3125rem;
  border-bottom: 2px dotted #687c8d;
  margin-bottom: 0.9375rem;
}

@media screen and (max-width: 55em) {
  .sidebar-block {
    margin-bottom: 2.8125rem;
  }
}

.sidebar-block--reduced-margin {
  margin-bottom: 2.8125rem;
}

.list-block ul {
  list-style: none;
  margin-left: 0;
}

.list-block li {
  margin-bottom: 1.25rem;
  font-weight: 700;
}

.list-block li a {
  color: #687c8d;
  display: inline-block;
  transition: color 0.3s;
}

.list-block li a svg {
  width: 0.75rem;
  margin-left: 0.3125rem;
}

.list-block li a svg path {
  fill: #687c8d;
  transition: fill 0.3s;
}

.list-block li a:hover {
  color: #388eb7;
}

.list-block li a:hover svg path {
  fill: #388eb7;
}

.centered-column {
  padding: 5rem 0;
  max-width: 37.5rem;
  margin: 0 auto;
}

/*----------  Default hero styles  ----------*/

.standard-hero {
  padding-top: 10rem;
  background-size: cover;
  background-position: top right;
  padding-bottom: 6rem;
  border-bottom: 4px solid #33c1d2;
}

.standard-hero.standard-hero--gold {
  border-bottom-color: #ffcf37;
}

.standard-hero.standard-hero--orange {
  border-bottom-color: #ff9322;
}

.standard-hero.standard-hero--aqua {
  border-bottom-color: #33c1d2;
}

@media print, screen and (min-width: 40em) {
  .standard-hero {
    padding-top: 12.25rem;
    padding-bottom: 3.75rem;
  }
}

@media print, screen and (min-width: 64em) {
  .standard-hero {
    padding-top: 18.75rem;
    padding-bottom: 7.8125rem;
  }
}

.standard-hero h1 {
  font-size: 1.875rem;
  line-height: 2.6875rem;
  color: #33c1d2;
  text-transform: uppercase;
  margin-bottom: 1.25rem;
  font-weight: 300;
}

.standard-hero h1.dark-orange-text {
  color: #ff6400;
}

.standard-hero h1 strong {
  font-weight: 700;
}

@media screen and (min-width: 25.625em) {
  .standard-hero h1 {
    font-size: 2.3125rem;
  }
}

@media print, screen and (min-width: 40em) {
  .standard-hero h1 {
    font-size: 3.4375rem;
    line-height: 3.4375rem;
  }
}

@media print, screen and (min-width: 64em) {
  .standard-hero h1 {
    font-size: 4.25rem;
    line-height: 4.5rem;
  }
}

.standard-hero p {
  color: #3f4e59;
  font-size: 1.125rem;
  line-height: 1.625rem;
  margin-bottom: 2rem;
}

@media print, screen and (min-width: 40em) {
  .standard-hero p {
    max-width: 60%;
  }
}

@media print, screen and (min-width: 64em) {
  .standard-hero p {
    font-size: 1.25rem;
    line-height: 2rem;
    max-width: 50%;
    margin-bottom: 2.75rem;
    text-align: left;
  }
}

@media (min-width: 1100px) and (max-height: 750px) {
  .standard-hero {
    padding-top: 14.0625rem;
    padding-bottom: 3.125rem;
  }

  .standard-hero h1 {
    font-size: 3.4375rem;
    line-height: 3.4375rem;
  }
}

.hero-heading-variable-weight {
  font-weight: 300;
}

.hero-heading-variable-weight strong {
  font-weight: 700;
}

/*----------  Compact hero  ----------*/

.compact-hero {
  padding-top: 11.25rem;
  padding-bottom: 1rem;
  border-bottom: 4px solid #ffcf37;
  background: #33c1d2 url(/dist/images/pattern-tile-aqua.png) repeat;
}

.compact-hero .wrapper {
  position: relative;
}

.compact-hero h1 {
  max-width: 43.75rem;
  color: #fff;
  text-transform: uppercase;
  font-size: 3.625rem;
  line-height: 4.25rem;
  font-family: "Josefin Sans", sans-serif;
  font-weight: 600;
}

@media screen and (max-width: 60em) {
  .compact-hero h1 {
    font-size: 2.8125rem;
    line-height: 3.4375rem;
  }
}

@media screen and (max-width: 31.25em) {
  .compact-hero h1 {
    font-size: 1.875rem;
    line-height: 2.5rem;
  }
}

@media screen and (max-width: 56.25em) {
  .compact-hero--with-link h1 {
    padding-right: 18.75rem;
  }
}

@media screen and (max-width: 28.75em) {
  .compact-hero--with-link h1 {
    padding-right: 0;
  }
}

.compact-hero--orange {
  background: #ff9322 url(/dist/images/pattern-tile-orange.png) repeat;
}

.compact-hero--dark-orange {
  background: #ff9322 url(/dist/images/pattern-tile-dark-orange.png) repeat;
}

.compact-hero--gray {
  background: #94a2b2 url(/dist/images/pattern-tile-gray.png) repeat;
}

.compact-hero--extra-padding {
  padding-top: 15rem;
  padding-bottom: 4.6875rem;
}

.compact-hero__eyebrow {
  font-family: "Josefin Sans", sans-serif;
  text-transform: uppercase;
  font-size: 1.75rem;
  font-weight: 700;
  color: #ffcf37;
}

@media screen and (max-width: 31.25em) {
  .compact-hero__eyebrow {
    font-size: 1.25rem;
  }
}

.compact-hero__back {
  position: absolute;
  top: 0;
  right: 0;
  font-size: 1.25rem;
  font-family: "Josefin Sans", sans-serif;
  font-weight: 700;
  text-transform: uppercase;
  color: #ffcf37;
}

.compact-hero__back::before {
  content: "";
  display: inline-block;
  margin-right: 0.625rem;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 7.5px 10px 7.5px 0;
  border-color: transparent #ffcf37 transparent transparent;
}

@media screen and (max-width: 47.5em) {
  .compact-hero__back {
    top: -3.125rem;
  }
}

.compact-hero__back:hover {
  color: #fff;
}

.compact-hero__back:hover::before {
  border-color: transparent #fff transparent transparent;
}

.compact-hero__back--white {
  color: #fff;
}

.compact-hero__back--white::before {
  border-color: transparent #fff transparent transparent;
}

.compact-hero__back--white:hover {
  color: #ffcf37;
}

.compact-hero__back--white:hover::before {
  border-color: transparent #ffcf37 transparent transparent;
}

/*----------  Page intro band  ----------*/

.page-intro {
  display: flex;
  flex-flow: row wrap;
  padding: 5rem 0;
  color: #fff;
}

.page-intro__text {
  flex: 0 0 auto;
  width: calc(70.8333333333% - 1rem);
  margin-left: 0.5rem;
  margin-right: 0.5rem;
  padding-right: 3.75rem;
  font-size: 1.25rem;
  line-height: 1.75rem;
}

@media print, screen and (max-width: 63.99875em) {
  .page-intro__text {
    flex: 0 0 auto;
    width: calc(58.3333333333% - 1rem);
    margin-left: 0.5rem;
    margin-right: 0.5rem;
  }
}

@media screen and (max-width: 43.75em) {
  .page-intro__text {
    flex: 0 0 auto;
    width: calc(100% - 1rem);
    margin-left: 0.5rem;
    margin-right: 0.5rem;
    padding-right: 0;
  }
}

.page-intro__cta {
  flex: 0 0 auto;
  width: calc(29.1666666667% - 1rem);
  margin-left: 0.5rem;
  margin-right: 0.5rem;
  background-color: #33c1d2;
  padding: 1.875rem;
  display: flex;
  justify-content: center;
  align-items: center;
  text-align: center;
}

.page-intro__cta h2 {
  text-transform: uppercase;
  font-weight: 700;
  font-size: 1.625rem;
}

.page-intro__cta .btn,
.page-intro__cta .embedded-form button,
.embedded-form .page-intro__cta button,
.page-intro__cta .embedded-form input[type=submit],
.embedded-form .page-intro__cta input[type=submit] {
  color: #388eb7;
  font-size: 1.1875rem;
  padding-right: 1.875rem;
  padding-left: 1.875rem;
}

@media print, screen and (max-width: 63.99875em) {
  .page-intro__cta {
    flex: 0 0 auto;
    width: calc(41.6666666667% - 1rem);
    margin-left: 0.5rem;
    margin-right: 0.5rem;
  }
}

@media screen and (max-width: 43.75em) {
  .page-intro__cta {
    flex: 0 0 auto;
    width: calc(100% - 1rem);
    margin-left: 0.5rem;
    margin-right: 0.5rem;
    margin-top: 1.875rem;
  }
}

/*----------  Utility classes  ----------*/

.section-light-gray {
  background-color: #eaecf0;
}

.section-aqua {
  background-color: #33c1d2;
}

.section-aqua-gradient {
  background: #33c1d2;
  background: linear-gradient(#33c1d2, #388eb7);
}

.section-white {
  background-color: white;
}

.section-gold {
  background-color: #ffcf37;
}

.bg-pattern {
  background-image: url("/dist/images/bg-logo-pattern-01.svg");
  background-size: 14.0625rem 14.0625rem;
}

@media print, screen and (min-width: 40em) {
  .bg-pattern {
    background-size: 28.125rem 28.125rem;
  }
}

.section-spacer {
  position: relative;
  z-index: -1;
  height: 3.125rem;
  margin-top: -3.125rem;
}

@media print, screen and (min-width: 40em) {
  .section-spacer {
    height: 6.25rem;
    margin-top: -6.25rem;
  }
}

.icon-play {
  height: 2rem;
  width: 2rem;
  background-image: url("/dist/images/icon-play.png");
  background-size: cover;
}

.label-state {
  width: 4.0625rem;
  height: 4.0625rem;
  border-radius: 100%;
  font-family: "Josefin Sans", sans-serif;
  font-weight: 700;
  font-size: 1.6875rem;
  text-transform: uppercase;
  color: white;
  display: flex;
  justify-content: center;
  align-items: center;
  padding-top: 0.5rem;
}

@media print, screen and (min-width: 40em) {
  .label-state {
    font-size: 1.375rem;
  }
}

@media print, screen and (min-width: 64em) {
  .label-state {
    font-size: 1.25rem;
  }
}

.orange-text {
  color: #ff9322;
}

.dark-orange-text {
  color: #ff6400;
}

.blue-text {
  color: #388eb7;
}

.aqua-text {
  color: #33c1d2;
}

.gold-text {
  color: #ffcf37;
}

.embedded-form label {
  margin-bottom: 0.625rem;
}

.embedded-form select,
.embedded-form textarea {
  margin-top: 0.625rem;
}

.embedded-form button,
.embedded-form input[type=submit] {
  border: 0;
  cursor: pointer;
}

/*----------  Pagination  ----------*/

.pagination {
  margin-left: 0;
  margin-bottom: 1rem;
}

.pagination::before,
.pagination::after {
  display: table;
  content: " ";
  flex-basis: 0;
  order: 1;
}

.pagination::after {
  clear: both;
}

.pagination li {
  margin-right: 0.0625rem;
  border-radius: 0;
  font-size: 1.25rem;
  display: none;
}

.pagination li:last-child,
.pagination li:first-child {
  display: inline-block;
}

@media print, screen and (min-width: 40em) {
  .pagination li {
    display: inline-block;
  }
}

.pagination a,
.pagination button {
  display: block;
  padding: 0.1875rem 0.625rem;
  border-radius: 0;
  color: #3f4e59;
}

.pagination a:hover,
.pagination button:hover {
  background: #eaecf0;
}

li.pagination__item {
  text-align: center;
}

li.pagination__item a:hover {
  text-decoration: underline;
}

li.pagination__item--current {
  padding: 0.1875rem 0.625rem;
  background: #33c1d2;
  color: #3f4e59;
  cursor: default;
  background-color: #d5dbe1;
  min-width: 2.75rem;
  height: 2.75rem;
  line-height: 2.5rem;
  border-radius: 1.375rem !important;
}

li.pagination__item--current:hover {
  background-color: #d5dbe1 !important;
}

li.pagination__item--disabled {
  padding: 0.1875rem 0.625rem;
  color: #3f4e59;
  cursor: not-allowed;
}

li.pagination__item--disabled:hover {
  background: transparent;
}

/* ICONS */

.icon-with-bg {
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: #fff;
  border: 0.1875rem solid #eaecf0;
  border-radius: 50%;
  width: 7.5rem;
  height: 7.5rem;
  max-width: 7.5rem;
}

.icon-with-bg img {
  width: 4.0625rem;
  height: auto;
}

/* this fixes a bug where extra space was showing at the bottom of pages in IE11 */

svg {
  overflow: hidden;
}

.global-modal {
  width: 64.375rem;
  max-width: 90%;
  background-color: #eaecf0;
  padding: 5.9375rem 3.75rem 3.75rem 3.75rem;
  font-size: 1.125rem;
  color: #687c8d;
}

.global-modal p a:not(.btn),
.global-modal li a:not(.btn) {
  color: #33c1d2;
  text-decoration: underline;
}

.global-modal .close-button {
  top: 1.875rem;
  right: 3.75rem;
  font-family: "Josefin Sans", sans-serif;
  color: #33c1d2 !important;
  font-size: 1.25rem;
  font-weight: 700;
  text-transform: uppercase;
}

.global-modal .close-button span {
  vertical-align: bottom;
  display: inline-block;
}

.global-modal .close-button__text {
  font-size: 1.375rem;
  line-height: 1.375rem;
}

.global-modal .close-button__x {
  font-family: "Open Sans", sans-serif;
  font-size: 3.75rem;
  line-height: 1.875rem;
}

@media print, screen and (max-width: 63.99875em) {
  .global-modal {
    max-width: 100%;
    padding-top: 3.75rem;
    padding-left: 3.75rem;
  }

  .global-modal h2 {
    margin-top: 7.5rem;
  }

  .global-modal .close-button {
    top: 0.9375rem;
  }
}

/*----------  Page Builder Module Spacing Adjustments ----------*/

.section-module {
  padding-top: 5rem;
  padding-bottom: 5rem;
}

.section_title-wrapper + .section-module {
  padding-top: 0;
}

.section-module.section-white + .section-module.section-white {
  padding-top: 0;
}

.section-module.section-light-gray + .section-module.section-light-gray {
  padding-top: 0;
}

.section-module.section-aqua + .section-module.section-aqua {
  padding-top: 0;
}

.hero-section + .section-module.section-light-gray {
  margin-top: 0;
}

@media print, screen and (max-width: 63.99875em) {
  .section-module {
    padding-top: 2.5rem;
    padding-bottom: 2.5rem;
  }
}

.btn,
.embedded-form button,
.embedded-form input[type=submit] {
  display: inline-block;
  font-size: 0.8125rem;
  line-height: 1;
  text-transform: uppercase;
  font-family: "Josefin Sans", sans-serif;
  font-weight: 700;
  padding-top: 0.75rem;
  padding-bottom: 0.5rem;
  padding-left: 1rem;
  padding-right: 1rem;
  border-radius: 1.125rem;
  text-align: center;
  transition: background-color 0.3s, color 0.3s;
}

@media print, screen and (min-width: 64em) {
  .btn,
  .embedded-form button,
  .embedded-form input[type=submit] {
    max-width: 16.125rem;
    font-size: 1rem;
    border-radius: 1.40625rem;
  }
}

.btn-aqua,
.boxes .boxes__box .box__cta .btn,
.boxes .boxes__box .box__cta .embedded-form button,
.embedded-form .boxes .boxes__box .box__cta button,
.boxes .boxes__box .box__cta .embedded-form input[type=submit],
.embedded-form .boxes .boxes__box .box__cta input[type=submit],
.embedded-form button,
.embedded-form input[type=submit] {
  background-color: #33c1d2;
  color: white;
}

.btn-aqua:hover,
.boxes .boxes__box .box__cta .btn:hover,
.boxes .boxes__box .box__cta .embedded-form button:hover,
.embedded-form .boxes .boxes__box .box__cta button:hover,
.boxes .boxes__box .box__cta .embedded-form input[type=submit]:hover,
.embedded-form .boxes .boxes__box .box__cta input[type=submit]:hover,
.embedded-form button:hover,
.embedded-form input[type=submit]:hover {
  background-color: #ffcf37;
  color: #388eb7;
}

.btn-white {
  background-color: white;
  color: #33c1d2;
}

.btn-white:hover {
  background-color: #ffcf37;
  color: #388eb7;
}

.btn-orange,
.boxes.boxes-with-background .boxes__box .box__cta .btn,
.boxes.boxes-with-background .boxes__box .box__cta .embedded-form button,
.embedded-form .boxes.boxes-with-background .boxes__box .box__cta button,
.boxes.boxes-with-background .boxes__box .box__cta .embedded-form input[type=submit],
.embedded-form .boxes.boxes-with-background .boxes__box .box__cta input[type=submit] {
  background-color: #ff9322;
  color: white;
}

.btn-orange:hover,
.boxes.boxes-with-background .boxes__box .box__cta .btn:hover,
.boxes.boxes-with-background .boxes__box .box__cta .embedded-form button:hover,
.embedded-form .boxes.boxes-with-background .boxes__box .box__cta button:hover,
.boxes.boxes-with-background .boxes__box .box__cta .embedded-form input[type=submit]:hover,
.embedded-form .boxes.boxes-with-background .boxes__box .box__cta input[type=submit]:hover {
  background-color: #ff6400;
  color: #ffcf37;
}

.btn-blue {
  background-color: #388eb7;
  color: white;
}

.btn-blue:hover {
  background-color: #33c1d2;
  color: #ffcf37;
}

.btn-grey {
  background-color: #eaecf0;
  color: #33c1d2;
}

.btn-grey:hover {
  background-color: #ffcf37;
  color: #388eb7;
}

.btn-white {
  background-color: #fff;
  color: #33c1d2;
}

.btn-white:hover {
  background-color: #fff;
  color: #ff6400;
}

.btn-blue--gold-text {
  color: #ffcf37;
}

.btn-blue--gold-text:hover {
  background-color: #388eb7;
  color: white;
}

.btn-gold,
.boxes .boxes__box.box--with-icon .box__cta .btn,
.boxes .boxes__box.box--with-icon .box__cta .embedded-form button,
.embedded-form .boxes .boxes__box.box--with-icon .box__cta button,
.boxes .boxes__box.box--with-icon .box__cta .embedded-form input[type=submit],
.embedded-form .boxes .boxes__box.box--with-icon .box__cta input[type=submit] {
  background-color: #ffcf37;
  color: #33c1d2;
}

.btn-gold:hover,
.boxes .boxes__box.box--with-icon .box__cta .btn:hover,
.boxes .boxes__box.box--with-icon .box__cta .embedded-form button:hover,
.embedded-form .boxes .boxes__box.box--with-icon .box__cta button:hover,
.boxes .boxes__box.box--with-icon .box__cta .embedded-form input[type=submit]:hover,
.embedded-form .boxes .boxes__box.box--with-icon .box__cta input[type=submit]:hover {
  background-color: #388eb7;
  color: white;
}

.btn-gold--blue-text {
  color: #388eb7;
}

.btn-gold--blue-text:hover {
  background-color: #33c1d2;
  color: white;
}

.btn--large {
  display: block;
  font-size: 1.25rem;
  padding-top: 1rem;
  padding-bottom: 0.75rem;
  padding-left: 1.5rem;
  padding-right: 1.5rem;
}

.btn--square {
  border-radius: 0;
  padding-top: 0.5rem;
  padding-bottom: 0.3125rem;
  padding-left: 0.3125rem;
  padding-right: 0.3125rem;
}

.btn--small {
  font-size: 0.75rem;
  padding: 0.4375rem 0.75rem 0.25rem 0.75rem;
}

.btn--icon-email:after {
  content: url(/dist/images/icon-mail.svg);
  width: 10px;
  height: 10px;
  margin-left: 0.375rem;
}

footer {
  border-top: 3px solid #ffcf37;
  text-transform: uppercase;
}

footer .footer__triangle__wrapper {
  display: flex;
  justify-content: center;
  height: 0;
}

footer .footer__triangle__wrapper svg {
  position: relative;
  z-index: 20;
  width: 3.75rem;
  height: 1.75rem;
}

@media print, screen and (min-width: 40em) {
  footer .footer__triangle__wrapper svg {
    width: 6rem;
    height: 2.625rem;
  }
}

footer .footer__triangle__wrapper #triangle {
  fill: #ffcf37;
  mix-blend-mode: unset;
}

footer .footer__upper {
  background-color: #94a2b2;
  position: relative;
  padding-top: 4.125rem;
}

@media print, screen and (min-width: 40em) {
  footer .footer__upper {
    padding-top: 4.625rem;
  }
}

@media print, screen and (min-width: 64em) {
  footer .footer__upper {
    padding-top: 7rem;
  }
}

footer .footer__lower {
  background-color: #556573;
  padding-top: 1.375rem;
  padding-bottom: 1.375rem;
}

footer .footer__content {
  position: relative;
  z-index: 10;
  padding-left: 1rem;
  padding-right: 1rem;
}

footer .footer__content .page-content-wrapper {
  position: relative;
  z-index: 10;
}

footer .overlay {
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  height: 25rem;
  background-color: #94a2b2;
  z-index: 2;
  opacity: 0.7;
}

@media print, screen and (min-width: 40em) {
  footer .overlay {
    height: 100%;
  }
}

footer .footer__bg__image {
  margin-left: -1rem;
  margin-right: -1rem;
  height: 25rem;
  background-size: cover;
  background-repeat: no-repeat;
}

@media print, screen and (min-width: 40em) {
  footer .footer__bg__image {
    position: absolute;
    height: 100%;
    top: 0;
    left: 0;
    background-position: center;
    margin: 0;
    width: 100%;
  }
}

footer .footer__social__header {
  font-family: "Josefin Sans", sans-serif;
  font-weight: 300;
  font-size: 1.75rem;
  color: white;
  text-align: center;
  line-height: 1;
  margin-bottom: 1.375rem;
}

@media print, screen and (min-width: 64em) {
  footer .footer__social__header {
    font-size: 2.125rem;
  }
}

footer .footer__social__links {
  display: flex;
  justify-content: center;
  align-items: center;
  list-style-type: none;
  margin-left: 0;
  margin-bottom: 3.125rem;
}

@media print, screen and (min-width: 40em) {
  footer .footer__social__links {
    margin-bottom: 3.4375rem;
  }
}

footer .footer__social__links li {
  margin-right: 2.875rem;
  width: 2rem;
  height: 2.5rem;
  display: flex;
}

footer .footer__social__links li:last-of-type {
  margin-right: 0;
}

footer .footer__social__links li a {
  display: flex;
  align-items: flex-end;
}

footer .footer__social__links li svg {
  width: 100%;
  height: auto;
}

footer .footer__social__links a:hover svg path,
footer .footer__social__links a:hover svg polygon {
  fill: #ff9322;
}

footer .footer__logos__wrapper__desktop {
  display: flex;
  justify-content: center;
}

@media print, screen and (min-width: 40em) {
  footer .footer__logos__wrapper__desktop {
    justify-content: space-between;
    align-items: center;
  }
}

footer .footer__logos__wrapper__desktop .footer__accreditation__logos__desktop {
  display: none;
  list-style-type: none;
  margin: 0;
}

@media print, screen and (min-width: 40em) {
  footer .footer__logos__wrapper__desktop .footer__accreditation__logos__desktop {
    display: flex;
    justify-content: flex-end;
    align-items: center;
  }
}

footer .footer__logos__wrapper__desktop .footer__accreditation__logos__desktop li {
  margin-right: 1.625rem;
}

footer .footer__logos__wrapper__desktop .footer__accreditation__logos__desktop li:last-of-type {
  margin-right: 0;
}

footer .footer__logos__wrapper__desktop .footer__accreditation__logos__desktop svg {
  max-width: 7rem;
  max-height: 5rem;
  width: 100%;
}

footer .footer__accreditation__logos__mobile__wrapper {
  position: relative;
  z-index: 10;
}

@media print, screen and (min-width: 40em) {
  footer .footer__accreditation__logos__mobile__wrapper {
    display: none;
  }
}

footer .footer__accreditation__logos__mobile__wrapper .footer__accreditation__logos__mobile {
  position: absolute;
  top: 1.375rem;
  left: 2rem;
  right: 2rem;
  list-style-type: none;
  margin: 0;
  display: flex;
  justify-content: space-between;
  align-items: center;
}

footer .footer__accreditation__logos__mobile__wrapper .footer__accreditation__logos__mobile svg {
  max-width: 7rem;
  max-height: 5rem;
  width: 100%;
}

footer .footer__locations__wrapper {
  overflow: hidden;
  padding-left: 2.75rem;
  padding-right: 2.75rem;
}

@media print, screen and (min-width: 40em) {
  footer .footer__locations__wrapper {
    padding-left: 1rem;
    padding-right: 1rem;
  }
}

footer .footer__locations {
  border-top: 1px solid white;
  border-bottom: 1px solid white;
  margin-top: 2.5rem;
  padding-top: 1.375rem;
  margin-bottom: 1.375rem;
}

@media print, screen and (min-width: 40em) {
  footer .footer__locations {
    transform: translateX(4.9rem);
    border-bottom: 0;
    margin-top: 1rem;
    margin-bottom: 2.75rem;
  }
}

@media print, screen and (min-width: 64em) {
  footer .footer__locations {
    width: calc(100% - 4.9rem);
  }
}

footer .footer__locations .cell {
  color: white;
  text-align: center;
  font-size: 0.75rem;
  margin-bottom: 1.375rem;
}

@media print, screen and (min-width: 40em) {
  footer .footer__locations .cell {
    text-align: left;
    margin-bottom: 0;
  }
}

@media print, screen and (min-width: 64em) {
  footer .footer__locations .cell {
    font-size: 0.875rem;
  }
}

footer .footer__locations address {
  font-style: normal;
}

footer .footer__locations a {
  display: block;
}

footer .footer__locations .link-tel {
  color: white;
}

footer .footer__locations .link-tel:hover {
  color: #ff9322;
}

footer .footer__locations .footer__locations__title {
  font-weight: 600;
}

@media print, screen and (min-width: 40em) {
  footer .footer__lower__links__wrapper {
    display: flex;
    justify-content: center;
  }
}

footer .footer__lower__links {
  display: flex;
  justify-content: center;
  font-size: 0.875rem;
  font-weight: 600;
}

@media print, screen and (min-width: 40em) {
  footer .footer__lower__links {
    width: 50%;
    justify-content: flex-end;
  }
}

footer .footer__lower__links a {
  margin-right: 1.375rem;
}

@media print, screen and (min-width: 40em) {
  footer .footer__lower__links a {
    margin-right: 1.875rem;
  }
}

footer .footer__lower__links a:last-of-type {
  margin-right: 0;
}

footer .footer__lower__copyright {
  font-size: 0.875rem;
  text-align: center;
  color: white;
}

@media print, screen and (min-width: 40em) {
  footer .footer__lower__copyright {
    width: 50%;
    display: flex;
    justify-content: flex-start;
    padding-left: 1.875rem;
  }
}

footer a:hover {
  color: #ff9322;
}

.footer__grid {
  display: flex;
  flex-flow: row wrap;
}

.footer__grid--collapse {
  margin-right: -0.5rem;
  margin-left: -0.5rem;
}

@media print, screen and (min-width: 40em) {
  .footer__grid--collapse {
    margin-right: -0.5rem;
    margin-left: -0.5rem;
  }
}

@media print, screen and (min-width: 64em) {
  .footer__grid--collapse {
    margin-right: -0.5rem;
    margin-left: -0.5rem;
  }
}

.footer__grid--4up .cell {
  flex: 0 0 auto;
  width: 100%;
  margin-left: 0;
  margin-right: 0;
}

@media print, screen and (min-width: 40em) {
  .footer__grid--4up .cell {
    flex: 0 0 auto;
    width: 25%;
    margin-left: 0;
    margin-right: 0;
  }
}

.sticky-nav-container {
  position: fixed;
  width: 100%;
  z-index: 999;
}

@media screen and (max-width: 62.5em) {
  .sticky-nav-container {
    max-height: 100vh;
    overflow: scroll;
  }
}

.mobile-nav-open body {
  overflow: hidden;
}

/*===================================
=            Utility Nav            =
===================================*/

.global-notice-banner {
  background-color: #388eb7;
  color: #ffcf37;
  padding: 0.3125rem 1rem;
}

.global-notice-banner__content {
  max-width: 75rem;
  margin: 0 auto;
  text-align: center;
}

.global-notice-banner__content a {
  text-decoration: underline;
}

/*===================================
=            Utility Nav            =
===================================*/

.nav-utility {
  background-color: #fff;
  font-size: 0.875rem;
  font-weight: 600;
  text-align: right;
  transition: background 0.15s ease-out;
}

.nav-utility .wrapper {
  max-width: 75rem;
  margin: 0 auto;
  position: relative;
  padding-top: 0.625rem;
  padding-right: 8.25rem;
  padding-bottom: 0.625rem;
}

@media screen and (max-width: 43.75em) {
  .nav-utility {
    display: none;
  }
}

.scrolled .nav-utility {
  background-color: rgba(255, 255, 255, 0.9);
}

.nav-utility__menu {
  list-style-type: none;
  padding: 0;
  margin: 0;
}

.nav-utility__menu li {
  display: inline-block;
  margin-right: 2rem;
}

.nav-utility__menu li a {
  color: #3f4e59;
}

.nav-utility__donate {
  position: absolute;
  top: 0;
  right: 0;
  width: 8.25rem;
  padding-top: 1.125rem;
  padding-bottom: 0.625rem;
  background: linear-gradient(to right, #ff9322, #ff6400);
  color: #fff;
  text-align: center;
  border-radius: 0 0 0.625rem 0.625rem;
  font-family: "Open Sans", sans-serif;
  font-weight: 700;
  display: block;
  font-size: 1rem;
  z-index: 99;
}

.nav-utility__donate svg,
.nav-utility__donate span {
  vertical-align: middle;
}

/*==========================================
=            Main nav (desktop)              =
==========================================*/

.nav-band {
  width: 100%;
  background-color: rgba(234, 236, 240, 0.9);
  padding-right: 1rem;
  padding-left: 1rem;
  min-height: 6.125rem;
}

.nav-band .wrapper {
  max-width: 75rem;
  margin: 0 auto;
  padding: 1.875rem 0;
  position: relative;
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.nav-band__logo {
  transition: all 0.15s ease-out;
}

.nav-band__logo svg {
  width: 130px;
  max-width: 100%;
  height: auto;
}

@media all and (-ms-high-contrast: none), (-ms-high-contrast: active) {
  .nav-band__logo--homepage {
    background-image: url("/dist/images/logo-transitional-white.png");
    background-size: 184px auto;
    background-repeat: no-repeat;
  }
}

.nav-band__logo--homepage svg {
  width: 210px;
  max-width: 100%;
  height: auto;
}

.scrolled .nav-band__logo--homepage {
  bottom: 12px;
}

@media all and (-ms-high-contrast: none), (-ms-high-contrast: active) {
  .scrolled .nav-band__logo--homepage {
    background-image: url("/dist/images/logo-transitional-gray.png");
    background-size: 130px auto;
    background-repeat: no-repeat;
    background-position: center;
    bottom: 0;
  }
}

.nav-band__main-nav,
.scrolled .nav-band--transparent .nav-band__main-nav {
  float: right;
  padding-right: 3.125rem;
  position: relative;
}

.nav-band__main-nav .dropdown.menu > li,
.scrolled .nav-band--transparent .nav-band__main-nav .dropdown.menu > li {
  border-bottom: 2px solid transparent;
  margin-left: 1.875rem;
}

.nav-band__main-nav .dropdown.menu > li > a,
.scrolled .nav-band--transparent .nav-band__main-nav .dropdown.menu > li > a {
  color: #3f4e59;
  text-transform: uppercase;
  font-weight: 600;
  padding-right: 0;
  padding-left: 0;
  border-bottom: 2px solid transparent;
}

.nav-band__main-nav .dropdown.menu > li > a:hover,
.scrolled .nav-band--transparent .nav-band__main-nav .dropdown.menu > li > a:hover {
  color: #33c1d2;
  border-bottom: 2px solid #33c1d2;
}

.nav-band__main-nav .dropdown.menu > li.is-active > a,
.scrolled .nav-band--transparent .nav-band__main-nav .dropdown.menu > li.is-active > a {
  border-bottom: 2px solid #33c1d2;
}

.nav-band__main-nav .dropdown.menu ul,
.scrolled .nav-band--transparent .nav-band__main-nav .dropdown.menu ul {
  padding-left: 0.625rem;
  padding-right: 0.625rem;
  min-width: 11.875rem;
  margin-top: -0.125rem;
  border-top: 2px solid #33c1d2;
}

.nav-band__main-nav .dropdown.menu ul li,
.scrolled .nav-band--transparent .nav-band__main-nav .dropdown.menu ul li {
  border-bottom: 1px solid #c9d0d8;
}

.nav-band__main-nav .dropdown.menu ul li:first-child,
.scrolled .nav-band--transparent .nav-band__main-nav .dropdown.menu ul li:first-child {
  position: relative;
  padding-top: 1.25rem;
}

.nav-band__main-nav .dropdown.menu ul li:first-child::before,
.scrolled .nav-band--transparent .nav-band__main-nav .dropdown.menu ul li:first-child::before {
  content: "";
  position: absolute;
  top: 0;
  left: 10px;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 15px 11.5px 0 11.5px;
  border-color: #33c1d2 transparent transparent transparent;
}

.nav-band__main-nav .dropdown.menu ul li:last-child,
.scrolled .nav-band--transparent .nav-band__main-nav .dropdown.menu ul li:last-child {
  border-bottom: 0;
}

.nav-band__main-nav .dropdown.menu ul li.is-current-page a,
.nav-band__main-nav .dropdown.menu ul li.is-current-page a:hover,
.scrolled .nav-band--transparent .nav-band__main-nav .dropdown.menu ul li.is-current-page a,
.scrolled .nav-band--transparent .nav-band__main-nav .dropdown.menu ul li.is-current-page a:hover {
  font-weight: 700;
  color: #398db7;
}

.nav-band__main-nav .dropdown.menu ul li a,
.scrolled .nav-band--transparent .nav-band__main-nav .dropdown.menu ul li a {
  color: #687c8d;
  padding-left: 0;
  padding-right: 0;
}

.nav-band__main-nav .dropdown.menu ul li a:hover,
.scrolled .nav-band--transparent .nav-band__main-nav .dropdown.menu ul li a:hover {
  color: #33c1d2;
}

.no-js .dropdown.menu .submenu {
  visibility: hidden;
}

/*----------  Homepage nav variant (transparent)  ----------*/

.nav-band--transparent {
  background-color: transparent;
  transition: background 0.15s ease-out;
}

.scrolled .nav-band--transparent {
  background-color: rgba(255, 255, 255, 0.9);
}

.nav-band--transparent .dropdown.menu > li > a {
  color: #fff;
}

.nav-band--transparent .dropdown.menu > li > a:hover {
  color: #ffcf37;
  border-bottom: 2px solid #ffcf37;
}

.nav-band--transparent .dropdown.menu > li.is-active > a {
  color: #ffcf37;
  border-bottom: 2px solid #ffcf37;
}

.nav-band--transparent .dropdown.menu > li.is-active > a {
  border-bottom: 2px solid #ffcf37;
}

.nav-band--transparent .dropdown.menu ul {
  border-top: 2px solid #ffcf37;
}

.nav-band--transparent .dropdown.menu ul li {
  border-bottom: 1px solid #c9d0d8;
}

.nav-band--transparent .dropdown.menu ul li:first-child::before {
  border-color: #ffcf37 transparent transparent transparent;
}

.nav-band--transparent .global-search-button svg path {
  fill: #fff !important;
}

/*----------  Global search button and form  ----------*/

.global-search-button,
.scrolled .nav-band--transparent .global-search-button {
  position: absolute;
  right: 0;
  top: 0.5rem;
  width: 1.625rem;
  height: 1.625rem;
}

.global-search-button svg path,
.scrolled .nav-band--transparent .global-search-button svg path {
  fill: #3f4e59 !important;
}

.global-search-band {
  display: none;
  background-color: rgba(255, 255, 255, 0.9);
  padding: 0.9375rem 1rem;
  transition: background 0.15s ease-out;
}

.global-search-band .wrapper {
  max-width: 75rem;
  margin: 0 auto;
}

.global-search-form {
  display: flex;
  flex-flow: row wrap;
  margin-right: -0.5rem;
  margin-left: -0.5rem;
  justify-content: flex-end;
}

@media print, screen and (min-width: 40em) {
  .global-search-form {
    margin-right: -0.5rem;
    margin-left: -0.5rem;
  }
}

@media print, screen and (min-width: 64em) {
  .global-search-form {
    margin-right: -0.5rem;
    margin-left: -0.5rem;
  }
}

.gobal-search-form__input {
  flex: 0 0 auto;
  width: calc(25% - 1rem);
  margin-left: 0.5rem;
  margin-right: 0.5rem;
}

.gobal-search-form__input input[type=search] {
  height: 1.875rem;
  margin: 0;
  padding: 0;
  border: 0;
  box-shadow: none;
  background-color: transparent;
}

.gobal-search-form__button {
  flex: 0 0 auto;
  width: calc(8.3333333333% - 1rem);
  margin-left: 0.5rem;
  margin-right: 0.5rem;
  min-width: 4.375rem;
  text-align: right;
}

.gobal-search-form__button button {
  height: 1.875rem;
  margin: 0;
  background-color: #ffcf37;
  color: #33c1d2;
  border-radius: 1.875rem;
  font-weight: 700;
  text-transform: uppercase;
  font-size: 1.125rem;
  padding-left: 1.25rem;
  padding-right: 1.25rem;
}

.home-page:not(.scrolled) .global-search-band {
  background: transparent;
}

.home-page:not(.scrolled) .global-search-band .gobal-search-form__input input[type=search] {
  background-color: #fff;
  padding-left: 0.625rem;
  padding-right: 0.625rem;
}

/*==================================
=            Mobile nav            =
==================================*/

.mobile-nav-band {
  display: none;
  position: relative;
  width: 100%;
  background-color: rgba(234, 236, 240, 0.9);
  padding-right: 1rem;
  padding-left: 1rem;
  overflow: scroll;
}

.mobile-nav-band .wrapper {
  display: flex;
  height: 100px;
  align-items: center;
  justify-content: space-between;
  transition: all 0.15s ease-out;
}

@media screen and (max-width: 62.5em) {
  .nav-band {
    display: none;
  }

  .global-search-band {
    display: none !important;
  }

  .mobile-nav-band {
    display: block;
  }
}

.mobile-nav-band__logo svg {
  transition: all 0.15s ease-out;
  width: 200px;
  max-width: 100%;
  height: auto;
}

.mobile-nav-band__logo--homepage svg {
  width: 100px;
}

.mobile-nav-band__logo--homepage svg .logo-text {
  fill: #687c8d;
}

.mobile-nav-band__toggle button {
  transition: all 0.15s ease-out;
  position: relative;
  display: inline-block;
  vertical-align: middle;
  width: 38px;
  height: 28px;
  cursor: pointer;
}

.mobile-nav-band__toggle button::after {
  position: absolute;
  top: 0;
  left: 0;
  display: block;
  width: 100%;
  height: 5px;
  background: #33c1d2;
  box-shadow: 0 11px 0 #33c1d2, 0 22px 0 #33c1d2;
  content: "";
}

.mobile-nav-band__toggle button:hover::after {
  background: #33c1d2;
  box-shadow: 0 11px 0 #33c1d2, 0 22px 0 #33c1d2;
}

.mobile-global-search-form input {
  border: 0;
}

.mobile-global-search-form .button {
  background: #ffcf37;
  color: #3f4e59;
  font-weight: 700;
  text-transform: uppercase;
  border: 0;
}

.mobile-nav-band__menu {
  display: none;
  padding-top: 1.25rem;
  padding-bottom: 1.875rem;
}

.mobile-nav-band__menu a {
  color: #3f4e59;
}

.is-accordion-submenu-parent > a::after {
  content: "";
  display: block;
  width: 0;
  height: 0;
  border: inset 6px;
  content: "";
  border-bottom-width: 0;
  border-top-style: solid;
  border-color: #687c8d transparent transparent;
  display: inline-block;
  margin-left: 6px;
  vertical-align: middle;
}

.is-accordion-submenu-parent[aria-expanded=true] > a::after {
  display: block;
  width: 0;
  height: 0;
  border: inset 6px;
  content: "";
  border-top-width: 0;
  border-bottom-style: solid;
  border-color: transparent transparent #687c8d;
  display: inline-block;
}

.scrolled .mobile-nav-band .wrapper {
  height: 60px;
}

.scrolled .mobile-nav-band__logo svg {
  width: 60px;
}

.scrolled .mobile-nav-band__toggle button {
  position: relative;
  display: inline-block;
  vertical-align: middle;
  width: 30px;
  height: 22px;
  cursor: pointer;
}

.scrolled .mobile-nav-band__toggle button::after {
  position: absolute;
  top: 0;
  left: 0;
  display: block;
  width: 100%;
  height: 4px;
  background: #33c1d2;
  box-shadow: 0 9px 0 #33c1d2, 0 18px 0 #33c1d2;
  content: "";
}

.scrolled .mobile-nav-band__toggle button:hover::after {
  background: #33c1d2;
  box-shadow: 0 9px 0 #33c1d2, 0 18px 0 #33c1d2;
}

.raise {
  fill: #FFFFFF;
  /* Початковий білий колір */
  transition: fill 0.15s ease-out;
}

.scrolled .raise {
  fill: #677C8C;
  /* Оригінальний колір */
}

.rounded-top-left-20,
.section-module.link_area .link_area_ctas .cta,
.boxes .boxes__box {
  border-top-left-radius: 1.25rem;
}

.rounded-top-right-20,
.boxes .boxes__box.box--with-icon {
  border-top-right-radius: 1.25rem;
}

.rounded-bottom-left-20,
.boxes .boxes__box.box--with-icon {
  border-bottom-left-radius: 1.25rem;
}

.rounded-bottom-right-20,
.section-module.link_area .link_area_ctas .cta,
.boxes .boxes__box {
  border-bottom-right-radius: 1.25rem;
}

.rounded-top-left-30 {
  border-top-left-radius: 1.875rem;
}

.rounded-top-right-30 {
  border-top-right-radius: 1.875rem;
}

.rounded-bottom-left-30 {
  border-bottom-left-radius: 1.875rem;
}

.rounded-bottom-right-30 {
  border-bottom-right-radius: 1.875rem;
}

.rounded-top-left-40 {
  border-top-left-radius: 2.5rem;
}

.rounded-top-right-40,
.mentoring-landing__steps .wrapper .section__sidebar .section__sidebar__wrapper,
.mentoring-landing__statistics .wrapper .stats__columns .stats__header_sidebar,
.section_with_sidebar .wrapper .section__wrapper .section__sidebar {
  border-top-right-radius: 2.5rem;
}

.rounded-bottom-left-40,
.mentoring-landing__steps .wrapper .section__sidebar .section__sidebar__wrapper,
.mentoring-landing__statistics .wrapper .stats__columns .stats__header_sidebar,
.section_with_sidebar .wrapper .section__wrapper .section__sidebar {
  border-bottom-left-radius: 2.5rem;
}

.rounded-bottom-right-40 {
  border-bottom-right-radius: 2.5rem;
}

.rounded-top-left-45 {
  border-top-left-radius: 2.8125rem;
}

.rounded-top-right-45 {
  border-top-right-radius: 2.8125rem;
}

.rounded-bottom-left-45 {
  border-bottom-left-radius: 2.8125rem;
}

.rounded-bottom-right-45 {
  border-bottom-right-radius: 2.8125rem;
}

.rounded-top-left-50 {
  border-top-left-radius: 3.125rem;
}

.rounded-top-right-50 {
  border-top-right-radius: 3.125rem;
}

.rounded-bottom-left-50 {
  border-bottom-left-radius: 3.125rem;
}

.rounded-bottom-right-50 {
  border-bottom-right-radius: 3.125rem;
}

.rounded-top-left-70 {
  border-top-left-radius: 4.375rem;
}

.rounded-top-right-70 {
  border-top-right-radius: 4.375rem;
}

.rounded-bottom-left-70 {
  border-bottom-left-radius: 4.375rem;
}

.rounded-bottom-right-70 {
  border-bottom-right-radius: 4.375rem;
}

.rounded-top-left-75 {
  border-top-left-radius: 4.6875rem;
}

.rounded-top-right-75 {
  border-top-right-radius: 4.6875rem;
}

.rounded-bottom-left-75 {
  border-bottom-left-radius: 4.6875rem;
}

.rounded-bottom-right-75 {
  border-bottom-right-radius: 4.6875rem;
}

.rounded-top-left-100 {
  border-top-left-radius: 6.25rem;
}

.rounded-top-right-100 {
  border-top-right-radius: 6.25rem;
}

.rounded-bottom-left-100 {
  border-bottom-left-radius: 6.25rem;
}

.rounded-bottom-right-100,
.boxes {
  border-bottom-right-radius: 6.25rem;
}

.section-rounded-bottom-left {
  border-bottom-left-radius: 3.125rem;
  overflow: hidden;
}

@media print, screen and (min-width: 40em) {
  .section-rounded-bottom-left {
    border-bottom-left-radius: 6.25rem;
  }
}

.section-rounded-bottom-right {
  overflow: hidden;
  border-bottom-right-radius: 3.125rem;
}

@media print, screen and (min-width: 40em) {
  .section-rounded-bottom-right {
    border-bottom-right-radius: 6.25rem;
  }
}

.rounded-100 {
  border-radius: 100%;
}

.reset-rounded-corners {
  border-bottom-right-radius: 0;
  border-bottom-left-radius: 0;
  border-top-right-radius: 0;
  border-top-left-radius: 0;
}

.event-listing {
  background-color: white;
  display: flex;
  flex-wrap: wrap;
  margin-bottom: 1rem;
  padding: 1rem;
}

@media print, screen and (min-width: 40em) {
  .event-listing {
    flex-wrap: nowrap;
    align-items: flex-start;
    padding-bottom: 1.5rem;
  }
}

@media print, screen and (min-width: 64em) {
  .event-listing {
    padding-bottom: 1rem;
  }
}

.event-listing:hover .event-title {
  color: #ff6400;
}

.event-listing:hover svg path {
  fill: #ff6400;
}

.event-listing__date-wrapper {
  display: flex;
  margin-bottom: 1.5rem;
}

@media print, screen and (min-width: 40em) {
  .event-listing__date-wrapper {
    margin-bottom: 0;
  }
}

@media print, screen and (min-width: 40em) {
  .event-listing__date-wrapper .event-title {
    display: none;
  }
}

.event-listing__date {
  background-image: linear-gradient(0deg, #33c1d2 0%, #3a8db7 100%);
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: 1rem 1.5rem;
  margin-right: 1.5rem;
}

.event-listing__date .month {
  font-family: "Josefin Sans", sans-serif;
  font-weight: 700;
  font-size: 1.0625rem;
  text-transform: uppercase;
  color: gold;
}

.event-listing__date .day {
  font-weight: 700;
  font-size: 2.5rem;
  line-height: 2.1875rem;
  color: white;
}

.event-listing__date .event-title {
  margin-top: 0.5rem;
}

.event-title {
  font-weight: 600;
  font-size: 1.25rem;
  line-height: 1.625rem;
  color: #388eb7;
  transition: color 0.3s;
}

@media print, screen and (min-width: 40em) {
  .event-title {
    border-bottom: 1px solid #687c8d;
    padding-bottom: 0.75rem;
    margin-bottom: 0.75rem;
  }
}

.event-title svg {
  margin-left: 0.5rem;
}

.event-title path {
  transition: fill 0.3s;
}

.event-listing__text {
  margin-bottom: 2.5rem;
}

@media print, screen and (min-width: 40em) {
  .event-listing__text {
    width: calc(80% - 92px);
    margin-bottom: 0;
  }
}

.event-listing__text .event-title {
  display: none;
}

@media print, screen and (min-width: 40em) {
  .event-listing__text .event-title {
    display: block;
  }
}

.event-listing__text p {
  font-size: 1rem;
  line-height: 1.5rem;
  color: #687c8d;
  margin-bottom: 0;
}

.event-listing__categories {
  width: 100%;
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
}

@media print, screen and (min-width: 40em) {
  .event-listing__categories {
    width: calc(32% - 92px);
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    flex-grow: 1;
    flex-wrap: nowrap;
  }
}

.event-listing__categories .event-location,
.event-listing__categories .event-type,
.event-listing__categories .event-audience {
  background-color: #33c1d2;
  color: white;
  font-family: "Josefin Sans", sans-serif;
  font-weight: 700;
  font-size: 0.8125rem;
  text-transform: uppercase;
  margin-left: 0.5rem;
  margin-bottom: 0.5rem;
}

.event-listing__categories .event-location svg,
.event-listing__categories .event-type svg,
.event-listing__categories .event-audience svg {
  max-width: 100%;
  height: auto;
  max-height: 100%;
}

.event-listing__categories .event-location svg path,
.event-listing__categories .event-type svg path,
.event-listing__categories .event-audience svg path {
  fill: #fefefe;
}

.event-listing__categories .event-location {
  display: flex;
  align-items: center;
  border-radius: 100%;
  width: 2rem;
  height: 2rem;
  padding-top: 0.375rem;
  padding-left: 0.375rem;
  padding-right: 0.375rem;
  padding-bottom: 0.25rem;
}

.event-listing__categories .event-type,
.event-listing__categories .event-audience {
  border-radius: 1rem;
  padding-left: 0.75rem;
  padding-right: 0.75rem;
  padding-top: 0.5rem;
  padding-bottom: 0.375rem;
}

.event-listing__categories .event-type.event-online,
.event-listing__categories .event-audience.event-online {
  width: 2rem;
  height: 2rem;
  border-radius: 100%;
  padding: 0.375rem;
  background-color: #687c8d;
}

.events_module {
  padding-top: 5rem;
  padding-bottom: 5rem;
}

.events_module .wrapper {
  display: flex;
  flex-flow: row wrap;
  align-items: center;
  justify-items: center;
}

.events_module .wrapper .section__sidebar {
  flex: 0 0 auto;
  width: calc(33.3333333333% - 1rem);
  margin-left: 0.5rem;
  margin-right: 0.5rem;
  padding-right: 2.5rem;
  text-align: center;
  font-size: 1.125rem;
  line-height: 1.5625rem;
}

.events_module .wrapper .section__sidebar h2 {
  font-size: 3.1875rem;
  line-height: 3.25rem;
  color: #ff6400;
  text-transform: uppercase;
}

.events_module .wrapper .section__sidebar .ctas__list__cta {
  padding-top: 1.5rem;
}

@media screen and (max-width: 46.875em) {
  .events_module .wrapper .section__sidebar {
    flex: 0 0 auto;
    width: calc(100% - 1rem);
    margin-left: 0.5rem;
    margin-right: 0.5rem;
    padding-right: 0;
    padding-bottom: 2.5rem;
  }
}

.events_module .wrapper .section__events {
  flex: 0 0 auto;
  width: calc(66.6666666667% - 1rem);
  margin-left: 0.5rem;
  margin-right: 0.5rem;
}

@media screen and (max-width: 46.875em) {
  .events_module .wrapper .section__events {
    flex: 0 0 auto;
    width: calc(100% - 1rem);
    margin-left: 0.5rem;
    margin-right: 0.5rem;
  }
}

.blue-sidebar {
  background-image: linear-gradient(180deg, #33c1d2 0%, #3a8db7 100%);
  margin-left: -1rem;
  margin-right: -1rem;
  padding-left: 1.75rem;
  padding-right: 1.75rem;
  display: flex;
  flex-direction: column;
  align-items: center;
  border-bottom-left-radius: 3.125rem;
  padding-top: 5rem;
  padding-bottom: 4.25rem;
}

@media print, screen and (min-width: 40em) {
  .blue-sidebar {
    margin: 0;
    padding-bottom: 4.75rem;
    border-bottom-left-radius: 2.5rem;
    border-top-right-radius: 2.5rem;
  }
}

@media print, screen and (min-width: 64em) {
  .blue-sidebar {
    width: 33.33%;
    padding-left: 1.5rem;
  }
}

.blue-sidebar h2 {
  font-family: "Josefin Sans", sans-serif;
  font-weight: 700;
  font-size: 2.1875rem;
  line-height: 2.375rem;
  color: #ffcf37;
  text-transform: uppercase;
  margin-bottom: 1rem;
  width: 100%;
}

.blue-sidebar p {
  font-size: 1rem;
  line-height: 1.375rem;
  color: white;
  margin-bottom: 2rem;
  width: 100%;
}

@media print, screen and (min-width: 64em) {
  .blue-sidebar p {
    margin-bottom: 3.375rem;
  }
}

.home-page .blue-sidebar p,
.home-page .blue-sidebar h2 {
  text-align: center;
}

.statistic__wrapper .statistic__icon .statistic__icon__wrapper {
  width: 5.625rem;
  height: 5.625rem;
  display: flex;
  justify-content: center;
  align-items: center;
  margin: 0 auto;
  margin-bottom: 1.25rem;
}

.statistic__wrapper .statistic__icon .statistic__icon__wrapper img {
  width: 100%;
  max-height: 100%;
}

.statistic__wrapper .statistic__quantity .statistic__quantity__value {
  color: #33c1d2;
  font-weight: bold;
  font-size: 3.125rem;
  line-height: 3rem;
  display: flex;
  align-items: flex-start;
  justify-content: center;
}

.statistic__wrapper .statistic__quantity .statistic__quantity__value sup {
  font-size: 1.875rem;
  line-height: 2.0625rem;
}

@media print, screen and (max-width: 39.99875em) {
  .statistic__wrapper .statistic__quantity .statistic__quantity__value {
    font-size: 4.25rem;
    line-height: 4.125rem;
  }

  .statistic__wrapper .statistic__quantity .statistic__quantity__value sup {
    font-size: 1.5625rem;
    line-height: 1.75rem;
  }
}

.statistic__wrapper .statistic__quantity .statistic__quantity__detail {
  text-transform: uppercase;
  color: #ff6400;
  font-weight: bold;
  font-size: 1.5625rem;
  line-height: 1.75rem;
}

.statistic__wrapper .statistic__info {
  margin-top: 0.625rem;
  font-size: 1.25rem;
  line-height: 1.75rem;
}

/* ACCORDION: */

.section-accordion {
  padding-top: 5rem;
  padding-bottom: 2.5rem;
}

.section-accordion + .section-accordion {
  padding-top: 0;
}

@media print, screen and (max-width: 63.99875em) {
  .section-accordion {
    padding-top: 2.5rem;
  }
}

.accordion-group-wrapper .accordion-group__title {
  color: #ff6400;
  font-size: 1.25rem;
  font-weight: bold;
  text-transform: uppercase;
  line-height: 1.5rem;
  padding-bottom: 0.25rem;
  margin-bottom: 1rem;
  border-bottom: 1px dotted #ff6400;
}

.accordion-group-wrapper .accordion-item {
  border: 0;
  background-color: #eaecf0;
  margin-bottom: 1rem;
}

.accordion-group-wrapper .accordion-item .accordion-title {
  color: #687c8d;
  padding: 0.5rem 0.625rem;
  font-size: 1.5rem;
  line-height: 1.875rem;
  font-weight: 600;
  padding-left: 3.125rem;
}

.accordion-group-wrapper .accordion-item .accordion-title::before {
  left: 1.25rem;
  right: auto;
  width: 1.125rem;
  height: 1.125rem;
  color: #fefefe;
  background-color: #33c1d2;
  border-radius: 100%;
  display: flex;
  align-content: center;
  justify-content: center;
  line-height: 1.0625rem;
}

.accordion-group-wrapper .accordion-item .accordion-title:hover,
.accordion-group-wrapper .accordion-item .accordion-title:focus {
  color: #388eb7;
}

@media print, screen and (max-width: 39.99875em) {
  .accordion-group-wrapper .accordion-item .accordion-title {
    font-size: 1.25rem;
    line-height: 1.5rem;
  }
}

.accordion-group-wrapper .accordion-item.is-active > .accordion-title {
  color: #388eb7;
}

.accordion-group-wrapper .accordion-item.is-active > .accordion-title::before {
  line-height: 0.825rem;
  background-color: #388eb7;
}

.accordion-group-wrapper .accordion-item .accordion-content {
  border: 0;
  font-size: 1.125rem;
  line-height: 1.5rem;
  padding: 1.5rem 3.125rem;
}

.accordion-group-wrapper .accordion-item .accordion-content ul li,
.accordion-group-wrapper .accordion-item .accordion-content ol li {
  margin-bottom: 2rem;
  margin-left: 2rem;
}

@media print, screen and (max-width: 39.99875em) {
  .accordion-group-wrapper .accordion-item .accordion-content {
    padding-left: 1.25rem;
    padding-right: 1.25rem;
  }
}

.boxes {
  overflow: hidden;
  position: relative;
  z-index: 1;
}

.boxes + .boxes {
  margin-top: -3.75rem;
}

.section_title-wrapper + .boxes {
  padding-top: 0;
}

.boxes .boxes__wrapper {
  display: flex;
  flex-flow: row wrap;
  margin-right: -1.25rem;
  margin-left: -1.25rem;
}

@media print, screen and (min-width: 40em) {
  .boxes .boxes__wrapper {
    margin-right: -1.25rem;
    margin-left: -1.25rem;
  }
}

@media print, screen and (min-width: 64em) {
  .boxes .boxes__wrapper {
    margin-right: -1.25rem;
    margin-left: -1.25rem;
  }
}

.boxes .boxes__wrapper .box {
  flex: 0 0 auto;
  width: calc(100% - 2.5rem);
  margin-left: 1.25rem;
  margin-right: 1.25rem;
}

.boxes .boxes__wrapper.boxes-2col .box {
  flex: 0 0 auto;
  width: calc(50% - 2.5rem);
  margin-left: 1.25rem;
  margin-right: 1.25rem;
}

@media print, screen and (max-width: 39.99875em) {
  .boxes .boxes__wrapper.boxes-2col .box {
    flex: 0 0 auto;
    width: calc(100% - 2.5rem);
    margin-left: 1.25rem;
    margin-right: 1.25rem;
  }
}

.boxes .boxes__wrapper.boxes-3col .box {
  flex: 0 0 auto;
  width: calc(33.3333333333% - 2.5rem);
  margin-left: 1.25rem;
  margin-right: 1.25rem;
}

@media screen and (max-width: 56.25em) {
  .boxes .boxes__wrapper.boxes-3col .box {
    flex: 0 0 auto;
    width: calc(50% - 2.5rem);
    margin-left: 1.25rem;
    margin-right: 1.25rem;
  }
}

@media print, screen and (max-width: 39.99875em) {
  .boxes .boxes__wrapper.boxes-3col .box {
    flex: 0 0 auto;
    width: calc(100% - 2.5rem);
    margin-left: 1.25rem;
    margin-right: 1.25rem;
  }
}

.boxes .boxes__wrapper.boxes-4col .box {
  flex: 0 0 auto;
  width: calc(25% - 2.5rem);
  margin-left: 1.25rem;
  margin-right: 1.25rem;
}

@media screen and (max-width: 62.5em) {
  .boxes .boxes__wrapper.boxes-4col .box {
    flex: 0 0 auto;
    width: calc(50% - 2.5rem);
    margin-left: 1.25rem;
    margin-right: 1.25rem;
  }
}

@media print, screen and (max-width: 39.99875em) {
  .boxes .boxes__wrapper.boxes-4col .box {
    flex: 0 0 auto;
    width: calc(100% - 2.5rem);
    margin-left: 1.25rem;
    margin-right: 1.25rem;
  }
}

.boxes .boxes__box {
  font-size: 1rem;
  padding: 1.875rem 1.875rem 2.5rem;
  background: #eaecf0;
  display: flex;
  flex-wrap: wrap;
  flex-direction: column;
}

.boxes .boxes__box .box__headline {
  font-size: 1.5rem;
  font-family: "Josefin Sans", sans-serif;
  font-weight: bold;
  text-transform: uppercase;
  color: #33c1d2;
  margin-bottom: 1rem;
}

.boxes .boxes__box .box__content {
  margin-bottom: 1rem;
}

.boxes .boxes__box .box__cta {
  margin-top: auto;
}

.boxes .boxes__box .box__cta .btn:hover,
.boxes .boxes__box .box__cta .embedded-form button:hover,
.embedded-form .boxes .boxes__box .box__cta button:hover,
.boxes .boxes__box .box__cta .embedded-form input[type=submit]:hover,
.embedded-form .boxes .boxes__box .box__cta input[type=submit]:hover {
  background-color: #388eb7;
  color: #ffcf37;
}

.boxes .boxes__box.box--with-icon {
  text-align: center;
  border-top-left-radius: 0;
  border-bottom-right-radius: 0;
  font-size: 1.125rem;
  margin-top: 6.25rem;
  color: #fefefe;
  text-align: center;
  background: linear-gradient(#33c1d2, #388eb7);
}

.boxes .boxes__box.box--with-icon .box__icon {
  transform: translateY(-6.25rem);
  margin-bottom: -5rem;
}

.boxes .boxes__box.box--with-icon .box__icon .box__icon__wrapper {
  margin: 0 auto;
  border-radius: 100%;
  background-color: #eaecf0;
  width: 8.9375rem;
  height: 8.9375rem;
  padding-left: 1.5rem;
  padding-right: 1.5rem;
  display: flex;
  justify-content: center;
  align-items: center;
}

.boxes .boxes__box.box--with-icon .box__icon .box__icon__wrapper img {
  width: 85%;
}

.boxes .boxes__box.box--with-icon .box__headline {
  color: #fefefe;
  font-size: 1.75rem;
}

.boxes .boxes__box.box--with-icon .box__cta .btn:hover,
.boxes .boxes__box.box--with-icon .box__cta .embedded-form button:hover,
.embedded-form .boxes .boxes__box.box--with-icon .box__cta button:hover,
.boxes .boxes__box.box--with-icon .box__cta .embedded-form input[type=submit]:hover,
.embedded-form .boxes .boxes__box.box--with-icon .box__cta input[type=submit]:hover {
  background-color: #fefefe;
  color: #33c1d2;
}

.boxes.boxes-with-background {
  background-position: top center;
  background-repeat: no-repeat;
  background-size: cover;
  border-bottom-right-radius: 0;
}

.boxes.boxes-with-background .boxes__header {
  color: #388eb7;
  border-bottom: 2px solid #388eb7;
  padding-bottom: 0.5rem;
  margin-bottom: 1rem;
}

.boxes.boxes-with-background .boxes__header h2 {
  text-transform: uppercase;
  font-size: 3.125rem;
  line-height: 3.375rem;
}

@media print, screen and (max-width: 39.99875em) {
  .boxes.boxes-with-background .boxes__header h2 {
    font-size: 2.625rem;
    line-height: 2.713125rem;
  }
}

.boxes.boxes-with-background .boxes__box {
  background: none;
  padding: 0;
}

.boxes.boxes-with-background .boxes__box a:not(.btn) {
  color: #33c1d2;
  text-decoration: underline;
}

.boxes.boxes-with-background .boxes__box:nth-child(odd) {
  padding-right: 1rem;
}

.boxes.boxes-with-background .boxes__box .box__headline {
  color: #ff6400;
  font-size: 1.5rem;
  line-height: 1.75rem;
  padding-bottom: 1rem;
  border-bottom: 1px dotted #556573;
}

.boxes.boxes-with-background .boxes__box .box__content {
  font-size: 1rem;
  line-height: 1.625rem;
}

.boxes.boxes-with-background .boxes__box .box__cta .btn,
.boxes.boxes-with-background .boxes__box .box__cta .embedded-form button,
.embedded-form .boxes.boxes-with-background .boxes__box .box__cta button,
.boxes.boxes-with-background .boxes__box .box__cta .embedded-form input[type=submit],
.embedded-form .boxes.boxes-with-background .boxes__box .box__cta input[type=submit] {
  max-width: 100%;
}

@media screen and (max-width: 40.625em) {
  .hero-section + .callout .callout__icon {
    margin-top: -5.5rem;
  }
}

.callout .callout__wrapper {
  display: flex;
  flex-flow: row wrap;
  margin-right: -0.5rem;
  margin-left: -0.5rem;
}

@media print, screen and (min-width: 40em) {
  .callout .callout__wrapper {
    margin-right: -0.5rem;
    margin-left: -0.5rem;
  }
}

@media print, screen and (min-width: 64em) {
  .callout .callout__wrapper {
    margin-right: -0.5rem;
    margin-left: -0.5rem;
  }
}

.callout .callout__content {
  flex: 0 0 auto;
  width: calc(58.3333333333% - 1rem);
  margin-left: 0.5rem;
  margin-right: 0.5rem;
  color: #fefefe;
  font-size: 1.25rem;
  padding-right: 2.5rem;
}

.callout .callout__content p {
  line-height: 1.6875rem;
}

.callout .callout__content h2 {
  text-transform: uppercase;
  color: #ffcf37;
  font-size: 2.5rem;
  line-height: 2.5rem;
}

.callout .callout__content a {
  color: #ffcf37;
}

@media screen and (max-width: 62.5em) {
  .callout .callout__content {
    flex: 0 0 auto;
    width: calc(75% - 1rem);
    margin-left: 0.5rem;
    margin-right: 0.5rem;
  }
}

@media screen and (max-width: 40.625em) {
  .callout .callout__content {
    padding: 1.25rem 0.625rem;
    text-align: center;
    flex: 0 0 auto;
    width: calc(100% - 1rem);
    margin-left: 0.5rem;
    margin-right: 0.5rem;
  }
}

.callout .callout__icon {
  flex: 0 0 auto;
  width: calc(16.6666666667% - 1rem);
  margin-left: 0.5rem;
  margin-right: 0.5rem;
}

.callout .callout__icon .callout__icon__wrapper {
  margin: 0 auto;
  border-radius: 100%;
  background-color: #fefefe;
  width: 8.9375rem;
  height: 8.9375rem;
  padding-left: 1.5rem;
  padding-right: 1.5rem;
  display: flex;
  justify-content: center;
  align-items: center;
}

.callout .callout__icon .callout__icon__wrapper img {
  width: 85%;
}

@media screen and (max-width: 62.5em) {
  .callout .callout__icon {
    flex: 0 0 auto;
    width: calc(25% - 1rem);
    margin-left: 0.5rem;
    margin-right: 0.5rem;
  }
}

@media screen and (max-width: 40.625em) {
  .callout .callout__icon {
    flex: 0 0 auto;
    width: calc(100% - 1rem);
    margin-left: 0.5rem;
    margin-right: 0.5rem;
  }
}

.callout .callout__ctas {
  flex: 0 0 auto;
  width: calc(25% - 1rem);
  margin-left: 0.5rem;
  margin-right: 0.5rem;
  align-self: center;
}

.callout .callout__ctas .cta__link .btn,
.callout .callout__ctas .cta__link .embedded-form button,
.embedded-form .callout .callout__ctas .cta__link button,
.callout .callout__ctas .cta__link .embedded-form input[type=submit],
.embedded-form .callout .callout__ctas .cta__link input[type=submit] {
  font-size: 0.9375rem;
  max-width: 100%;
  width: 100%;
  display: block;
  margin-bottom: 1rem;
}

.callout .callout__ctas .cta__link .btn:hover,
.callout .callout__ctas .cta__link .embedded-form button:hover,
.embedded-form .callout .callout__ctas .cta__link button:hover,
.callout .callout__ctas .cta__link .embedded-form input[type=submit]:hover,
.embedded-form .callout .callout__ctas .cta__link input[type=submit]:hover,
.callout .callout__ctas .cta__link .btn:focus,
.callout .callout__ctas .cta__link .embedded-form button:focus,
.embedded-form .callout .callout__ctas .cta__link button:focus,
.callout .callout__ctas .cta__link .embedded-form input[type=submit]:focus,
.embedded-form .callout .callout__ctas .cta__link input[type=submit]:focus {
  background-color: #fefefe;
  color: #33c1d2;
}

@media screen and (max-width: 62.5em) {
  .callout .callout__ctas {
    flex: 0 0 auto;
    width: calc(100% - 1rem);
    margin-left: 0.5rem;
    margin-right: 0.5rem;
    display: flex;
    flex-flow: row wrap;
    justify-content: space-around;
  }

  .callout .callout__ctas .callout__ctas__cta {
    flex: 0 0 auto;
    width: calc(100% - 1rem);
    margin-left: 0.5rem;
    margin-right: 0.5rem;
  }
}

@media screen and (max-width: 62.5em) and (max-width: 62.5em) {
  .callout .callout__ctas .callout__ctas__cta {
    flex: 0 0 auto;
    width: calc(41.6666666667% - 1rem);
    margin-left: 0.5rem;
    margin-right: 0.5rem;
  }
}

@media screen and (max-width: 62.5em) and (max-width: 31.25em) {
  .callout .callout__ctas .callout__ctas__cta {
    flex: 0 0 auto;
    width: calc(100% - 1rem);
    margin-left: 0.5rem;
    margin-right: 0.5rem;
  }
}

.section-cta-group {
  padding-top: 0;
  padding-bottom: 0;
}

@media print, screen and (max-width: 63.99875em) {
  .section-cta-group {
    padding-top: 0;
    padding-bottom: 0;
  }
}

.section-cta-group + .section-cta-group {
  margin-top: -8rem;
}

.cta-group-wrapper__homepage {
  display: flex;
  flex-direction: column;
  align-items: center;
  transform: translateY(-2rem);
}

@media print, screen and (min-width: 40em) {
  .cta-group-wrapper__homepage {
    flex-direction: row;
    justify-content: space-around;
    transform: translateY(-5rem);
    margin-bottom: -3rem;
  }
}

.cta-group-wrapper__homepage a {
  margin-bottom: 3rem;
}

.cta-group-wrapper__homepage a:last-of-type {
  margin-bottom: 1rem;
}

@media print, screen and (min-width: 40em) {
  .cta-group-wrapper__homepage a:last-of-type {
    margin-bottom: 0;
  }
}

@media print, screen and (min-width: 40em) {
  .cta-group-wrapper__homepage a {
    margin-bottom: 0;
  }
}

.cta-group-wrapper__homepage a:hover .cta-text {
  color: #33c1d2;
}

.cta-group-wrapper__homepage .cta-icon-wrapper {
  border-radius: 100%;
  background-color: white;
  border: 4px solid #ffcf37;
  width: 10.75rem;
  height: 10.75rem;
  padding-left: 2rem;
  padding-right: 2rem;
  display: flex;
  justify-content: center;
  align-items: center;
  margin-bottom: 1rem;
}

@media print, screen and (min-width: 40em) {
  .cta-group-wrapper__homepage .cta-icon-wrapper {
    width: 10rem;
    height: 10rem;
  }
}

.cta-group-wrapper__homepage .cta-icon-wrapper img {
  width: 100%;
}

.cta-group-wrapper__homepage .cta-text {
  font-family: "Josefin Sans", sans-serif;
  font-weight: 700;
  font-size: 1.5rem;
  color: #687c8d;
  text-transform: uppercase;
  text-align: center;
  transition: color 0.3s;
}

@media print, screen and (min-width: 40em) {
  .cta-group-wrapper__homepage .cta-text {
    font-size: 1.375rem;
  }
}

.cta-group-wrapper {
  display: flex;
  flex-wrap: wrap;
  padding-top: 7.5rem;
}

@media print, screen and (min-width: 40em) {
  .cta-group-wrapper {
    padding-top: 8.75rem;
    padding-bottom: 1.75rem;
    margin-left: -1.5rem;
    margin-right: -1.5rem;
  }
}

.cta-group-wrapper .cta-group-link-wrapper {
  width: 100%;
  margin-bottom: 7.5rem;
}

@media print, screen and (min-width: 40em) {
  .cta-group-wrapper .cta-group-link-wrapper {
    width: 50%;
    padding-left: 1.5rem;
    padding-right: 1.5rem;
  }
}

.cta-group-wrapper .cta-group-link {
  width: 100%;
  height: 100%;
  padding-bottom: 3.75rem;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  align-items: center;
  background-image: linear-gradient(0deg, #3b8eb6 1%, #38c2d1 100%);
}

.cta-group-wrapper .cta-group-link:hover .cta-group-link__button {
  background-color: white;
  color: #33c1d2;
}

.cta-group-wrapper .cta-icon-wrapper {
  border-radius: 100%;
  background-color: #eaecf0;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 9rem;
  height: 9rem;
  padding-left: 1rem;
  padding-right: 1rem;
  margin-top: -4rem;
  margin-bottom: 2rem;
}

.cta-group-wrapper .cta-icon-wrapper img {
  width: 70%;
}

@media print, screen and (min-width: 40em) {
  .cta-group-wrapper .cta-icon-wrapper {
    width: 10.75rem;
    height: 10.75rem;
    margin-top: -5.375rem;
  }
}

.cta-group-wrapper .cta-icon-wrapper.cta-icon-wrapper__resource-database {
  padding-left: 2rem;
  padding-top: 1rem;
}

@media print, screen and (min-width: 40em) {
  .cta-group-wrapper .cta-icon-wrapper.cta-icon-wrapper__resource-database {
    padding-top: 2rem;
    padding-left: 2.25rem;
    padding-bottom: 1rem;
    padding-right: 0.75rem;
  }
}

.cta-content-wrapper {
  display: flex;
  flex-direction: column;
  align-items: center;
}

.cta-group-link__title {
  font-family: "Josefin Sans", sans-serif;
  font-weight: 700;
  color: white;
  text-transform: uppercase;
  font-size: 2rem;
  line-height: 2.1875rem;
  text-align: center;
  margin-bottom: 1.5rem;
}

.cta-group-link__description {
  font-weight: 600;
  color: white;
  font-size: 1.125rem;
  line-height: 1.75rem;
  margin-bottom: 2rem;
  text-align: center;
}

.cta-group-link__button {
  background-color: #ffcf37;
  font-family: "Josefin Sans", sans-serif;
  font-weight: 700;
  font-size: 1rem;
  color: #388eb7;
  text-transform: uppercase;
  padding-top: 0.5rem;
  padding-bottom: 0.25rem;
  padding-left: 3.375rem;
  padding-right: 3.375rem;
  border-radius: 1.1875rem;
  transition: color 0.3s, background-color 0.3s;
}

.full-width .full-width__content p {
  font-size: 1.125rem;
  line-height: 1.5625rem;
}

.full-width .full-width__content p:last-child {
  margin-bottom: 0;
}

.full-width .full-width_ctas {
  clear: both;
  margin-top: 2.5rem;
}

.full-width .full-width_ctas .btn,
.full-width .full-width_ctas .embedded-form button,
.embedded-form .full-width .full-width_ctas button,
.full-width .full-width_ctas .embedded-form input[type=submit],
.embedded-form .full-width .full-width_ctas input[type=submit] {
  font-size: 1rem;
  line-height: 1.125rem;
}

.full-width .full-width_ctas .btn:hover,
.full-width .full-width_ctas .embedded-form button:hover,
.embedded-form .full-width .full-width_ctas button:hover,
.full-width .full-width_ctas .embedded-form input[type=submit]:hover,
.embedded-form .full-width .full-width_ctas input[type=submit]:hover,
.full-width .full-width_ctas .btn:focus,
.full-width .full-width_ctas .embedded-form button:focus,
.embedded-form .full-width .full-width_ctas button:focus,
.full-width .full-width_ctas .embedded-form input[type=submit]:focus,
.embedded-form .full-width .full-width_ctas input[type=submit]:focus {
  color: #ffcf37;
  background-color: #388eb7;
}

.section-module.link_area {
  color: #fefefe;
  padding-bottom: 3.375rem;
}

.section-module.link_area .link_area__headline {
  text-transform: uppercase;
  font-family: "Josefin Sans", sans-serif;
  font-size: 2.5rem;
  line-height: 2.75rem;
  font-weight: 400;
  color: #ffcf37;
  padding-bottom: 1rem;
}

@media print, screen and (max-width: 39.99875em) {
  .section-module.link_area .link_area__headline {
    text-align: center;
  }
}

.section-module.link_area .link_area__links {
  border-top: 2px solid #fefefe;
  border-bottom: 2px solid #fefefe;
  padding: 1rem;
}

.section-module.link_area .link_area__links .links-2up {
  list-style-type: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-flow: row wrap;
  margin-right: 0.5rem;
  margin-left: 0.5rem;
}

.section-module.link_area .link_area__links .links-2up .links-2up__item {
  flex: 0 0 auto;
  width: calc(100% - 1rem);
  margin-left: 0.5rem;
  margin-right: 0.5rem;
  display: flex;
  align-items: center;
  border-bottom: 1px dotted #fefefe;
}

.section-module.link_area .link_area__links .links-2up .links-2up__item:last-child {
  border-bottom: none;
}

@media screen and (min-width: 56.25em) {
  .section-module.link_area .link_area__links .links-2up .links-2up__item {
    flex: 0 0 auto;
    width: calc(50% - 2.5rem);
    margin-left: 1.25rem;
    margin-right: 1.25rem;
    margin-bottom: 1.25rem;
  }

  .section-module.link_area .link_area__links .links-2up .links-2up__item:nth-last-child(-n+2) {
    border-bottom: none;
  }
}

.section-module.link_area .link_area__links .links-2up .links-2up__item .links-2up__item__inner {
  padding: 1rem 0;
  width: 100%;
  font-size: 1.375rem;
  display: flex;
  flex-wrap: nowrap;
  align-items: center;
}

.section-module.link_area .link_area__links .links-2up .links-2up__item .links-2up__item__inner .button-wrapper {
  font-size: 1rem;
  margin-left: auto;
}

.section-module.link_area .link_area__links .links-2up .links-2up__item .links-2up__item__inner .button-wrapper .btn,
.section-module.link_area .link_area__links .links-2up .links-2up__item .links-2up__item__inner .button-wrapper .embedded-form button,
.embedded-form .section-module.link_area .link_area__links .links-2up .links-2up__item .links-2up__item__inner .button-wrapper button,
.section-module.link_area .link_area__links .links-2up .links-2up__item .links-2up__item__inner .button-wrapper .embedded-form input[type=submit],
.embedded-form .section-module.link_area .link_area__links .links-2up .links-2up__item .links-2up__item__inner .button-wrapper input[type=submit] {
  color: #388eb7;
}

.section-module.link_area .link_area__links .links-2up .links-2up__item .links-2up__item__inner .button-wrapper .btn:hover,
.section-module.link_area .link_area__links .links-2up .links-2up__item .links-2up__item__inner .button-wrapper .embedded-form button:hover,
.embedded-form .section-module.link_area .link_area__links .links-2up .links-2up__item .links-2up__item__inner .button-wrapper button:hover,
.section-module.link_area .link_area__links .links-2up .links-2up__item .links-2up__item__inner .button-wrapper .embedded-form input[type=submit]:hover,
.embedded-form .section-module.link_area .link_area__links .links-2up .links-2up__item .links-2up__item__inner .button-wrapper input[type=submit]:hover {
  color: #33c1d2;
  background-color: #fefefe;
}

.section-module.link_area .link_area_ctas {
  margin-top: 5rem;
  display: flex;
  flex-flow: row wrap;
  justify-content: space-between;
}

.section-module.link_area .link_area_ctas .cta {
  flex: 0 0 auto;
  width: calc(50% - 2rem);
  margin-bottom: 1rem;
  padding: 2.5rem;
  background-color: #388eb7;
  color: #fefefe;
  text-align: center;
  margin-bottom: 2.5rem;
}

.section-module.link_area .link_area_ctas .cta .cta__wrapper {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  height: 100%;
}

.section-module.link_area .link_area_ctas .cta .cta__wrapper .cta__headline {
  font-size: 1.875rem;
  font-family: "Josefin Sans", sans-serif;
  font-weight: bold;
  text-transform: uppercase;
}

.section-module.link_area .link_area_ctas .cta .cta__wrapper .cta__link {
  margin-top: auto;
  font-size: 1rem;
  justify-self: flex-end;
  transform: translateY(3.5rem);
}

.section-module.link_area .link_area_ctas .cta .cta__wrapper .cta__link .btn,
.section-module.link_area .link_area_ctas .cta .cta__wrapper .cta__link .embedded-form button,
.embedded-form .section-module.link_area .link_area_ctas .cta .cta__wrapper .cta__link button,
.section-module.link_area .link_area_ctas .cta .cta__wrapper .cta__link .embedded-form input[type=submit],
.embedded-form .section-module.link_area .link_area_ctas .cta .cta__wrapper .cta__link input[type=submit] {
  color: #388eb7;
  padding-left: 3.75rem;
  padding-right: 3.75rem;
}

.section-module.link_area .link_area_ctas .cta .cta__wrapper .cta__link .btn:hover,
.section-module.link_area .link_area_ctas .cta .cta__wrapper .cta__link .embedded-form button:hover,
.embedded-form .section-module.link_area .link_area_ctas .cta .cta__wrapper .cta__link button:hover,
.section-module.link_area .link_area_ctas .cta .cta__wrapper .cta__link .embedded-form input[type=submit]:hover,
.embedded-form .section-module.link_area .link_area_ctas .cta .cta__wrapper .cta__link input[type=submit]:hover {
  color: #33c1d2;
  background-color: #fefefe;
}

@media print, screen and (max-width: 63.99875em) {
  .section-module.link_area .link_area_ctas .cta {
    flex: 0 0 auto;
    width: calc(100% - 1rem);
    margin-left: 0.5rem;
    margin-right: 0.5rem;
  }
}

@media print, screen and (max-width: 39.99875em) {
  .section-module.link_area--with-icon {
    margin-top: 3.5rem;
  }
}

.link_area__header--with-icon {
  display: flex;
  align-items: center;
  padding-bottom: 3.125rem;
}

.link_area__header--with-icon .link_area__headline {
  margin-bottom: 0;
  padding-bottom: 0;
}

@media screen and (max-width: 37.5em) {
  .link_area__header--with-icon {
    display: block;
  }

  .link_area__header--with-icon .link_area__headline {
    margin-top: 1.875rem;
  }
}

.link_area__icon {
  display: flex;
  align-items: center;
  justify-content: center;
  margin-right: 1.875rem;
  background-color: #fefefe;
  border-radius: 50%;
  width: 9.875rem;
  min-width: 9.875rem;
  height: 9.875rem;
}

.link_area__icon img {
  width: 6.5rem;
  height: auto;
}

@media print, screen and (max-width: 39.99875em) {
  .link_area__icon {
    background-color: #eaecf0;
    margin-top: -7.5rem;
    margin-left: auto;
    margin-right: auto;
  }
}

.section_title-wrapper {
  padding-bottom: 1.5rem;
}

.section_title-wrapper .section_title {
  padding-bottom: 0.5rem;
  font-size: 3.125rem;
  font-family: "Josefin Sans", sans-serif;
  font-weight: bold;
  border-bottom: 1px solid #ff6400;
  color: #ff6400;
  text-transform: uppercase;
}

@media screen and (max-width: 37.5em) {
  .section_title-wrapper .section_title {
    font-size: 1.875rem;
    line-height: 2.25rem;
  }
}

.section_with_sidebar .wrapper .section__wrapper {
  display: flex;
  flex-flow: row wrap;
  margin-right: -0.5rem;
  margin-left: -0.5rem;
}

@media print, screen and (min-width: 40em) {
  .section_with_sidebar .wrapper .section__wrapper {
    margin-right: -0.5rem;
    margin-left: -0.5rem;
  }
}

@media print, screen and (min-width: 64em) {
  .section_with_sidebar .wrapper .section__wrapper {
    margin-right: -0.5rem;
    margin-left: -0.5rem;
  }
}

.section_with_sidebar .wrapper .section__wrapper .section__primary {
  margin-top: 2.5rem;
  padding-right: 4.375rem;
  flex: 0 0 auto;
  width: calc(58.3333333333% - 1rem);
  margin-left: 0.5rem;
  margin-right: 0.5rem;
}

@media print, screen and (max-width: 63.99875em) {
  .section_with_sidebar .wrapper .section__wrapper .section__primary {
    flex: 0 0 auto;
    width: calc(100% - 1rem);
    margin-left: 0.5rem;
    margin-right: 0.5rem;
    padding-right: 0;
    text-align: center;
  }
}

.section_with_sidebar .wrapper .section__wrapper .section__primary header h2 {
  text-transform: uppercase;
  color: #ff6400;
  font-size: 3.1875rem;
  line-height: 2.75rem;
  margin-bottom: 1.25rem;
}

@media print, screen and (max-width: 39.99875em) {
  .section_with_sidebar .wrapper .section__wrapper .section__primary header h2 {
    line-height: 2.5rem;
    font-size: 2.5rem;
  }
}

.section_with_sidebar .wrapper .section__wrapper .section__primary .section__primary__content {
  font-size: 1.125rem;
  margin-bottom: 3.125rem;
}

@media print, screen and (max-width: 39.99875em) {
  .section_with_sidebar .wrapper .section__wrapper .section__primary .section__primary__content {
    font-size: 1rem;
  }
}

.section_with_sidebar .wrapper .section__wrapper .section__primary .ctas__lede {
  color: #ff6400;
  text-transform: uppercase;
  font-size: 1.25rem;
  padding-bottom: 0.625rem;
  border-bottom: 2px dotted #94a2b2;
  margin-bottom: 1.5625rem;
}

.section_with_sidebar .wrapper .section__wrapper .section__primary .ctas__list {
  margin-bottom: 2.3125rem;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
}

.section_with_sidebar .wrapper .section__wrapper .section__primary .ctas__list > .ctas__list__cta {
  flex-basis: 33%;
  padding-bottom: 0.625rem;
}

@media screen and (min-width: 62.5em) {
  .section_with_sidebar .wrapper .section__wrapper .section__primary .ctas__list > .ctas__list__cta {
    flex-basis: 50%;
  }
}

@media screen and (max-width: 37.5em) {
  .section_with_sidebar .wrapper .section__wrapper .section__primary .ctas__list {
    justify-content: center;
    align-content: center;
    flex-flow: column;
  }
}

.section_with_sidebar .wrapper .section__wrapper .section__sidebar {
  flex: 0 0 auto;
  width: calc(41.6666666667% - 1rem);
  margin-left: 0.5rem;
  margin-right: 0.5rem;
  background: linear-gradient(#33c1d2, #388eb7);
  padding: 3.75rem 2.5rem 2.5rem;
  color: #fefefe;
}

.section_with_sidebar .wrapper .section__wrapper .section__sidebar header h3 {
  color: #ffcf37;
  font-size: 1.875rem;
  line-height: 1.875rem;
  text-transform: uppercase;
}

.section_with_sidebar .wrapper .section__wrapper .section__sidebar .section__sidebar__content {
  font-size: 1rem;
  line-height: 1.375rem;
  margin-bottom: 2.5rem;
}

.section_with_sidebar .wrapper .section__wrapper .section__sidebar .ctas__list__cta {
  margin-bottom: 0.625rem;
}

.section_with_sidebar .wrapper .section__wrapper .section__sidebar .ctas__list__cta:last-child {
  margin-bottom: 0;
}

.section_with_sidebar .wrapper .section__wrapper .section__sidebar .btn,
.section_with_sidebar .wrapper .section__wrapper .section__sidebar .embedded-form button,
.embedded-form .section_with_sidebar .wrapper .section__wrapper .section__sidebar button,
.section_with_sidebar .wrapper .section__wrapper .section__sidebar .embedded-form input[type=submit],
.embedded-form .section_with_sidebar .wrapper .section__wrapper .section__sidebar input[type=submit] {
  color: #388eb7;
}

.section_with_sidebar .wrapper .section__wrapper .section__sidebar .btn:hover,
.section_with_sidebar .wrapper .section__wrapper .section__sidebar .embedded-form button:hover,
.embedded-form .section_with_sidebar .wrapper .section__wrapper .section__sidebar button:hover,
.section_with_sidebar .wrapper .section__wrapper .section__sidebar .embedded-form input[type=submit]:hover,
.embedded-form .section_with_sidebar .wrapper .section__wrapper .section__sidebar input[type=submit]:hover {
  background-color: #fefefe;
  color: #33c1d2;
}

@media print, screen and (max-width: 63.99875em) {
  .section_with_sidebar .wrapper .section__wrapper .section__sidebar {
    flex: 0 0 auto;
    width: calc(100% - 1rem);
    margin-left: 0.5rem;
    margin-right: 0.5rem;
  }
}

.section_with_side_image .section__wrapper {
  display: flex;
}

@media screen and (max-width: 56.25em) {
  .section_with_side_image .section__wrapper {
    flex-direction: column-reverse;
  }
}

.section_with_side_image .section__wrapper > div {
  max-width: 50%;
  width: 50%;
}

@media screen and (max-width: 56.25em) {
  .section_with_side_image .section__wrapper > div {
    max-width: 100%;
    width: 100%;
  }
}

.section_with_side_image .section__wrapper .section__primary {
  padding: 3.375rem 1.875rem 3.375rem 0;
}

.section_with_side_image .section__wrapper .section__primary header h2 {
  font-size: 3.1875rem;
  line-height: 2.75rem;
  text-transform: uppercase;
  color: #ff6400;
  margin-bottom: 1.875rem;
}

@media print, screen and (max-width: 39.99875em) {
  .section_with_side_image .section__wrapper .section__primary header h2 {
    font-size: 2.5rem;
    line-height: 2.5rem;
  }
}

.section_with_side_image .section__wrapper .section__primary p {
  font-size: 1.125rem;
  line-height: 1.5625rem;
  margin-bottom: 1.25rem;
}

.section_with_side_image .section__wrapper .section__primary .section__primary_ctas {
  padding-top: 1.875rem;
}

@media screen and (min-width: 56.25em) {
  .section_with_side_image .section__wrapper .section__primary .section__primary_ctas .ctas__list {
    display: flex;
    align-items: center;
  }
}

.section_with_side_image .section__wrapper .section__primary .section__primary_ctas .btn,
.section_with_side_image .section__wrapper .section__primary .section__primary_ctas .embedded-form button,
.embedded-form .section_with_side_image .section__wrapper .section__primary .section__primary_ctas button,
.section_with_side_image .section__wrapper .section__primary .section__primary_ctas .embedded-form input[type=submit],
.embedded-form .section_with_side_image .section__wrapper .section__primary .section__primary_ctas input[type=submit] {
  margin-left: 0.625rem;
  margin-right: 0.625rem;
  margin-bottom: 1rem;
}

@media screen and (min-width: 56.25em) {
  .section_with_side_image .section__wrapper .section__primary .section__primary_ctas .btn,
  .section_with_side_image .section__wrapper .section__primary .section__primary_ctas .embedded-form button,
  .embedded-form .section_with_side_image .section__wrapper .section__primary .section__primary_ctas button,
  .section_with_side_image .section__wrapper .section__primary .section__primary_ctas .embedded-form input[type=submit],
  .embedded-form .section_with_side_image .section__wrapper .section__primary .section__primary_ctas input[type=submit] {
    margin-left: 0;
    margin-right: 1.25rem;
  }

  .section_with_side_image .section__wrapper .section__primary .section__primary_ctas .btn:last-child,
  .section_with_side_image .section__wrapper .section__primary .section__primary_ctas .embedded-form button:last-child,
  .embedded-form .section_with_side_image .section__wrapper .section__primary .section__primary_ctas button:last-child,
  .section_with_side_image .section__wrapper .section__primary .section__primary_ctas .embedded-form input[type=submit]:last-child,
  .embedded-form .section_with_side_image .section__wrapper .section__primary .section__primary_ctas input[type=submit]:last-child {
    margin-right: 0;
  }
}

.section_with_side_image .section__wrapper .section__primary .section__primary_ctas .btn:hover,
.section_with_side_image .section__wrapper .section__primary .section__primary_ctas .embedded-form button:hover,
.embedded-form .section_with_side_image .section__wrapper .section__primary .section__primary_ctas button:hover,
.section_with_side_image .section__wrapper .section__primary .section__primary_ctas .embedded-form input[type=submit]:hover,
.embedded-form .section_with_side_image .section__wrapper .section__primary .section__primary_ctas input[type=submit]:hover,
.section_with_side_image .section__wrapper .section__primary .section__primary_ctas .btn:focus,
.section_with_side_image .section__wrapper .section__primary .section__primary_ctas .embedded-form button:focus,
.embedded-form .section_with_side_image .section__wrapper .section__primary .section__primary_ctas button:focus,
.section_with_side_image .section__wrapper .section__primary .section__primary_ctas .embedded-form input[type=submit]:focus,
.embedded-form .section_with_side_image .section__wrapper .section__primary .section__primary_ctas input[type=submit]:focus {
  color: #ffcf37;
  background-color: #388eb7;
}

@media screen and (max-width: 56.25em) {
  .section_with_side_image .section__wrapper .section__primary {
    text-align: center;
  }
}

@media screen and (max-width: 56.25em) {
  .section_with_side_image .section__wrapper .section__sidebar {
    text-align: center;
  }
}

.section_with_side_image.section-light-gray p a,
.section_with_side_image.section-light-gray li a {
  color: #33c1d2;
  text-decoration: underline;
}

.video-section {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 3rem;
  background-color: #fff;
  border-top-right-radius: 2.8125rem;
  border-bottom-left-radius: 2.8125rem;
  padding: 2rem;
  margin-bottom: 2.75rem;
}

.video-section_reverse {
  flex-direction: row-reverse;
}

@media print, screen and (min-width: 64em) {
  .video-section {
    align-items: center;
    border-top-right-radius: 4.6875rem;
    border-bottom-left-radius: 4.6875rem;
    flex-direction: row;
  }
}

.video-section__content,
.video-section__player {
  flex: 1;
}

.video-section__title {
  font-family: "Josefin Sans", sans-serif;
  font-size: 2.2rem;
  text-transform: uppercase;
  line-height: 1;
  color: #33c1d2;
  font-weight: 300;
}

.video-section__title strong {
  color: #ff6400;
  font-weight: 700;
}

.video-section__title:not(:last-child) {
  margin-bottom: 1rem;
}

.video-section__text {
  font-family: "Open Sans", sans-serif;
}

.video-section__text p {
  font-size: 1rem;
  line-height: 1.3;
}

.video-section__text p:not(:last-child) {
  margin-bottom: 0.9rem;
}

.video-section__text:not(:last-child) {
  margin-bottom: 2rem;
}

.video-section__player {
  --plyr-color-main: #33c1d2;
  max-width: 100%;
}

.video-section__player .plyr--full-ui.plyr--video .plyr__control--overlaid {
  border-radius: 50%;
  background-color: transparent;
  border: 3px solid #fff;
}

.video-section__player .plyr--full-ui.plyr--video .plyr__control--overlaid:hover {
  color: #33c1d2;
  border-color: #33c1d2;
}

.homepage-hero {
  padding-top: 12.25rem;
  background-size: cover;
  background-position: top right;
  padding-bottom: 3.625rem;
  border-bottom-right-radius: 2.8125rem;
}

@media print, screen and (min-width: 40em) {
  .homepage-hero {
    padding-top: 12.25rem;
    padding-bottom: 6.5rem;
    border-bottom-right-radius: 4.6875rem;
  }
}

@media print, screen and (min-width: 64em) {
  .homepage-hero {
    padding-top: 12.75rem;
    padding-bottom: 8.5rem;
  }
}

.homepage-hero h1 {
  font-size: 2.3125rem;
  line-height: 2.6875rem;
  color: white;
  text-transform: uppercase;
  margin-bottom: 1rem;
  text-align: center;
}

@media print, screen and (min-width: 40em) {
  .homepage-hero h1 {
    font-size: 3.4375rem;
    line-height: 3.4375rem;
    margin-bottom: 2.5rem;
    text-align: left;
  }
}

@media print, screen and (min-width: 64em) {
  .homepage-hero h1 {
    font-size: 4.25rem;
    line-height: 4.5rem;
  }
}

.homepage-hero h1 strong {
  color: #ffcf37;
  font-weight: 700;
}

.homepage-hero p {
  color: white;
  font-size: 1.125rem;
  line-height: 1.625rem;
  max-width: 34.375rem;
  margin-bottom: 2rem;
  text-align: center;
}

@media print, screen and (min-width: 40em) {
  .homepage-hero p {
    font-size: 1.25rem;
    line-height: 2rem;
    margin-bottom: 2.75rem;
    text-align: left;
  }
}

@media print, screen and (min-width: 64em) {
  .homepage-hero p {
    font-size: 1.375rem;
    margin-bottom: 2rem;
  }
}

.homepage-hero .btn,
.homepage-hero .embedded-form button,
.embedded-form .homepage-hero button,
.homepage-hero .embedded-form input[type=submit],
.embedded-form .homepage-hero input[type=submit] {
  display: block;
  margin: 0 auto;
  padding-top: 1rem;
  padding-bottom: 0.75rem;
  padding-left: 2rem;
  padding-right: 2rem;
  font-size: 1rem;
  width: 100%;
  max-width: 12.9375rem;
  border-radius: 1.3125rem;
}

@media print, screen and (min-width: 40em) {
  .homepage-hero .btn,
  .homepage-hero .embedded-form button,
  .embedded-form .homepage-hero button,
  .homepage-hero .embedded-form input[type=submit],
  .embedded-form .homepage-hero input[type=submit] {
    display: inline-block;
    width: auto;
    max-width: none;
    margin: 0;
    padding-left: 3rem;
    padding-right: 3rem;
  }
}

@media (min-width: 1100px) and (max-height: 750px) {
  .homepage-hero {
    padding-top: 12.8125rem;
  }

  .homepage-hero h1 {
    font-size: 3.4375rem;
    line-height: 3.4375rem;
  }
}

.cta-3-up {
  display: flex;
  flex-wrap: wrap;
  padding-top: 5rem;
}

@media print, screen and (min-width: 40em) {
  .cta-3-up {
    padding-left: 3.375rem;
    padding-right: 3.375rem;
    margin-left: -1rem;
    margin-right: -1rem;
    padding-left: 0;
    padding-right: 0;
    padding-top: 0;
    margin-bottom: 3.375rem;
  }
}

@media print, screen and (min-width: 64em) {
  .cta-3-up {
    margin-bottom: 4rem;
  }
}

.cta-3-up .btn,
.cta-3-up .embedded-form button,
.embedded-form .cta-3-up button,
.cta-3-up .embedded-form input[type=submit],
.embedded-form .cta-3-up input[type=submit] {
  width: 100%;
  max-width: 12.9375rem;
}

@media print, screen and (min-width: 64em) {
  .cta-3-up .btn,
  .cta-3-up .embedded-form button,
  .embedded-form .cta-3-up button,
  .cta-3-up .embedded-form input[type=submit],
  .embedded-form .cta-3-up input[type=submit] {
    max-width: 16.125rem;
  }
}

.cta-3-up__block {
  width: 100%;
  margin-bottom: 4rem;
}

@media print, screen and (min-width: 40em) {
  .cta-3-up__block {
    width: 33.33%;
    margin-bottom: 0;
    padding-left: 1rem;
    padding-right: 1rem;
    margin-top: -2rem;
  }

  .cta-3-up__block:last-of-type {
    margin-right: 0;
  }
}

@media print, screen and (min-width: 64em) {
  .cta-3-up__block {
    padding-left: 1rem;
    padding-right: 1rem;
    margin-top: -2.75rem;
  }
}

.cta-3-up__block img {
  transform: translateY(-2.5rem);
  margin-bottom: -1.5rem;
  transition: transform 0.3s;
}

@media print, screen and (min-width: 64em) {
  .cta-3-up__block img {
    margin-bottom: -1rem;
  }
}

.cta-3-up__block a {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  align-items: center;
  height: 100%;
  background-color: rgba(255, 255, 255, 0.851);
  padding-left: 2rem;
  padding-right: 2rem;
  padding-bottom: 3.25rem;
  transition: background-color 0.3s;
}

@media print, screen and (min-width: 40em) {
  .cta-3-up__block a {
    padding-left: 1.5rem;
    padding-right: 1.5rem;
  }
}

@media print, screen and (min-width: 64em) {
  .cta-3-up__block a {
    padding-bottom: 4rem;
    padding-left: 2rem;
    padding-right: 2rem;
  }
}

.cta-3-up__block a:hover {
  background-color: white;
}

.cta-3-up__block a:hover .btn-aqua,
.cta-3-up__block a:hover .embedded-form button,
.embedded-form .cta-3-up__block a:hover button,
.cta-3-up__block a:hover .embedded-form input[type=submit],
.embedded-form .cta-3-up__block a:hover input[type=submit],
.cta-3-up__block a:hover .boxes .boxes__box .box__cta .btn,
.boxes .boxes__box .box__cta .cta-3-up__block a:hover .btn,
.cta-3-up__block a:hover .boxes .boxes__box .box__cta .embedded-form button,
.boxes .boxes__box .box__cta .embedded-form .cta-3-up__block a:hover button,
.cta-3-up__block a:hover .embedded-form .boxes .boxes__box .box__cta button,
.embedded-form .boxes .boxes__box .box__cta .cta-3-up__block a:hover button {
  background-color: #ffcf37;
  color: #388eb7;
}

.cta-3-up__block a:hover img {
  transform: translateY(-2.5rem) scale(1.2);
}

.cta-3-up__block__upper {
  text-align: center;
  width: 100%;
}

.cta-3-up__heading {
  font-family: "Josefin Sans", sans-serif;
  font-weight: 700;
  font-size: 1.125rem;
  color: #687c8d;
  text-align: center;
  line-height: 1.5rem;
  text-transform: uppercase;
  margin-bottom: 1.75rem;
}

@media print, screen and (min-width: 64em) {
  .cta-3-up__heading {
    font-size: 1.375rem;
    line-height: 1.875rem;
    margin-bottom: 2rem;
  }
}

.cta-orange {
  background-image: linear-gradient(270deg, #ff9322 0%, #ff7c11 24%, #ff6400 100%);
  border-top-left-radius: 2.8125rem;
  border-bottom-right-radius: 2.8125rem;
  display: flex;
  flex-direction: column;
  align-items: center;
  padding-top: 2.75rem;
  padding-left: 2rem;
  padding-right: 2rem;
  padding-bottom: 5rem;
  margin-bottom: 5.75rem;
}

@media print, screen and (min-width: 40em) {
  .cta-orange {
    border-top-left-radius: 4.6875rem;
    border-bottom-right-radius: 4.6875rem;
    flex-direction: row;
    align-items: center;
    padding-top: 2rem;
    padding-bottom: 2rem;
  }
}

.cta-orange__logo {
  width: 14.1875rem;
  margin-bottom: 2rem;
  margin-left: auto;
  margin-right: auto;
}

.cta-orange__logo img {
  width: 100%;
  height: auto;
}

@media print, screen and (min-width: 40em) {
  .cta-orange__logo {
    width: 100%;
    margin-bottom: 0;
  }
}

.cta-orange__logo-wrapper {
  width: 100%;
}

@media print, screen and (min-width: 40em) {
  .cta-orange__logo-wrapper {
    width: 33.33%;
    display: flex;
    position: relative;
    padding-right: 3rem;
    align-self: stretch;
    align-items: center;
  }
}

.cta-orange__content {
  display: flex;
  flex-direction: column;
  align-items: center;
}

@media print, screen and (min-width: 40em) {
  .cta-orange__content {
    width: 66.66%;
    align-items: flex-start;
    padding-left: 3rem;
    justify-content: space-between;
    position: relative;
  }
}

.cta-orange__content .rule-gold {
  width: 100%;
  height: 2px;
  background-color: #ffcf37;
  flex-shrink: 0;
  margin-bottom: 2rem;
}

@media print, screen and (min-width: 40em) {
  .cta-orange__content .rule-gold {
    width: 2px;
    height: 100%;
    position: absolute;
    left: 0;
    margin-bottom: 0;
  }
}

.cta-orange__text {
  width: 100%;
}

.cta-orange__text h5 {
  font-family: "Josefin Sans", sans-serif;
  font-weight: 700;
  color: white;
  text-transform: uppercase;
  font-size: 1.5rem;
  line-height: 2rem;
  text-align: center;
  margin-bottom: 1.5rem;
}

@media print, screen and (min-width: 40em) {
  .cta-orange__text h5 {
    text-align: left;
    font-size: 1.25rem;
    line-height: 1.5rem;
  }
}

@media print, screen and (min-width: 64em) {
  .cta-orange__text h5 {
    font-size: 1.5625rem;
    line-height: 2rem;
  }
}

.cta-orange__text p {
  font-family: "Open Sans", sans-serif;
  font-size: 1rem;
  font-weight: 600;
  color: white;
  text-align: center;
  margin-bottom: 3.25rem;
}

@media print, screen and (min-width: 40em) {
  .cta-orange__text p {
    text-align: left;
    font-size: 0.875rem;
    margin-bottom: 2rem;
  }
}

@media print, screen and (min-width: 64em) {
  .cta-orange__text p {
    font-size: 1.125rem;
    line-height: 1.5rem;
  }
}

.cta-orange__button {
  background-color: #ffcf37;
  color: #ff9322;
  border-radius: 0.9375rem;
  font-family: "Josefin Sans", sans-serif;
  font-weight: 700;
  text-transform: uppercase;
  line-height: 1;
  padding-left: 1.75rem;
  padding-right: 1.75rem;
  padding-top: 0.5rem;
  padding-bottom: 0.25rem;
  transition: background-color 0.3s;
}

.cta-orange__button:hover {
  background-color: white;
  color: #ff9322;
}

@media print, screen and (min-width: 40em) {
  .cta-orange__button {
    padding-left: 1rem;
    padding-right: 1rem;
  }
}

@media print, screen and (min-width: 40em) {
  .cta-orange__button {
    padding-left: 1.5rem;
    padding-right: 1.5rem;
    padding-top: 0.75rem;
    padding-bottom: 0.5rem;
    border-radius: 1.15625rem;
  }
}

.meet-children {
  display: flex;
  flex-wrap: wrap;
  padding-bottom: 5.375rem;
}

@media print, screen and (min-width: 40em) {
  .meet-children {
    padding-bottom: 7.125rem;
  }
}

@media print, screen and (min-width: 64em) {
  .meet-children {
    padding-bottom: 2.75rem;
  }
}

.meet-children__header {
  width: 100%;
  text-align: center;
}

@media print, screen and (min-width: 40em) {
  .meet-children__header {
    display: flex;
    text-align: left;
  }
}

@media print, screen and (min-width: 64em) {
  .meet-children__header {
    display: block;
    width: 25%;
    text-align: right;
  }
}

.meet-children__header h2 {
  font-family: "Josefin Sans", sans-serif;
  font-size: 3.4375rem;
  text-transform: uppercase;
  line-height: 3.375rem;
  color: #33c1d2;
  font-weight: 300;
}

.meet-children__header h2 strong {
  color: #ff6400;
  font-weight: 700;
}

@media print, screen and (min-width: 40em) {
  .meet-children__header h2 {
    margin-right: 1rem;
  }
}

@media print, screen and (min-width: 64em) {
  .meet-children__header h2 {
    font-size: 2.75rem;
    line-height: 2.75rem;
    margin-right: 0;
  }
}

@media (min-width: 1200px) {
  .meet-children__header h2 {
    font-size: 3.4375rem;
    line-height: 3.375rem;
  }
}

.meet-children__header p {
  font-size: 1.375rem;
  font-family: "Open Sans", sans-serif;
  line-height: 1.3;
  margin-bottom: 4rem;
}

@media print, screen and (min-width: 40em) {
  .meet-children__header p {
    margin-bottom: 2rem;
  }
}

.meet-children__header .btn-aqua,
.meet-children__header .embedded-form button,
.embedded-form .meet-children__header button,
.meet-children__header .embedded-form input[type=submit],
.embedded-form .meet-children__header input[type=submit],
.meet-children__header .boxes .boxes__box .box__cta .btn,
.boxes .boxes__box .box__cta .meet-children__header .btn,
.meet-children__header .boxes .boxes__box .box__cta .embedded-form button,
.boxes .boxes__box .box__cta .embedded-form .meet-children__header button,
.meet-children__header .embedded-form .boxes .boxes__box .box__cta button,
.embedded-form .boxes .boxes__box .box__cta .meet-children__header button,
.meet-children__header .boxes .boxes__box .box__cta .embedded-form input[type=submit],
.boxes .boxes__box .box__cta .embedded-form .meet-children__header input[type=submit],
.meet-children__header .embedded-form .boxes .boxes__box .box__cta input[type=submit],
.embedded-form .boxes .boxes__box .box__cta .meet-children__header input[type=submit] {
  display: none;
}

@media print, screen and (min-width: 40em) {
  .meet-children__header .btn-aqua,
  .meet-children__header .embedded-form button,
  .embedded-form .meet-children__header button,
  .meet-children__header .embedded-form input[type=submit],
  .embedded-form .meet-children__header input[type=submit],
  .meet-children__header .boxes .boxes__box .box__cta .btn,
  .boxes .boxes__box .box__cta .meet-children__header .btn,
  .meet-children__header .boxes .boxes__box .box__cta .embedded-form button,
  .boxes .boxes__box .box__cta .embedded-form .meet-children__header button,
  .meet-children__header .embedded-form .boxes .boxes__box .box__cta button,
  .embedded-form .boxes .boxes__box .box__cta .meet-children__header button,
  .meet-children__header .boxes .boxes__box .box__cta .embedded-form input[type=submit],
  .boxes .boxes__box .box__cta .embedded-form .meet-children__header input[type=submit],
  .meet-children__header .embedded-form .boxes .boxes__box .box__cta input[type=submit],
  .embedded-form .boxes .boxes__box .box__cta .meet-children__header input[type=submit] {
    display: inline-block;
    align-self: flex-start;
  }
}

.meet-children__header .btn-aqua:hover,
.meet-children__header .embedded-form button:hover,
.embedded-form .meet-children__header button:hover,
.meet-children__header .embedded-form input[type=submit]:hover,
.embedded-form .meet-children__header input[type=submit]:hover,
.meet-children__header .boxes .boxes__box .box__cta .btn:hover,
.boxes .boxes__box .box__cta .meet-children__header .btn:hover,
.meet-children__header .boxes .boxes__box .box__cta .embedded-form button:hover,
.boxes .boxes__box .box__cta .embedded-form .meet-children__header button:hover,
.meet-children__header .embedded-form .boxes .boxes__box .box__cta button:hover,
.embedded-form .boxes .boxes__box .box__cta .meet-children__header button:hover {
  background-color: #388eb7;
  color: #ffcf37;
}

.meet-children__listings {
  width: 100%;
  display: flex;
  flex-wrap: wrap;
  gap: 2rem 0;
}

@media print, screen and (min-width: 40em) {
  .meet-children__listings {
    gap: 3rem 0;
    margin-left: -1rem;
    margin-right: -1rem;
  }
}

@media print, screen and (min-width: 64em) {
  .meet-children__listings {
    width: 75%;
    padding-left: 4rem;
  }
}

.meet-children__child-link {
  width: 100%;
}

@media print, screen and (min-width: 40em) {
  .meet-children__child-link {
    width: 33.33%;
    padding-left: 1rem;
    padding-right: 1rem;
  }
}

.meet-children__child-link:hover img {
  box-shadow: inset 0px 0px 0px 10px #f00;
}

.child-link-aqua .label-state {
  background-color: rgba(51, 193, 210, 0.8);
}

.child-link-aqua:hover .border {
  opacity: 1;
  box-shadow: inset 0px 0px 0px 10px rgba(51, 193, 210, 0.8);
}

.child-link-red .label-state {
  background-color: rgba(199, 53, 60, 0.8);
}

.child-link-red:hover .border {
  opacity: 1;
  box-shadow: inset 0px 0px 0px 10px rgba(199, 53, 60, 0.8);
}

.child-link-gold .label-state {
  background-color: rgba(255, 207, 55, 0.8);
}

.child-link-gold:hover .border {
  opacity: 1;
  box-shadow: inset 0px 0px 0px 10px rgba(255, 207, 55, 0.8);
}

.child-link-blue .label-state {
  background-color: rgba(56, 142, 183, 0.8);
}

.child-link-blue:hover .border {
  opacity: 1;
  box-shadow: inset 0px 0px 0px 10px rgba(56, 142, 183, 0.8);
}

.child-link-darkOrange .label-state {
  background-color: rgba(255, 100, 0, 0.8);
}

.child-link-darkOrange:hover .border {
  opacity: 1;
  box-shadow: inset 0px 0px 0px 10px rgba(255, 100, 0, 0.8);
}

.meet-children__img-wrapper {
  width: 100%;
  position: relative;
  margin-bottom: 2rem;
}

@media print, screen and (min-width: 40em) {
  .meet-children__img-wrapper {
    margin-bottom: 1.75rem;
  }
}

@media print, screen and (min-width: 64em) {
  .meet-children__img-wrapper {
    margin-bottom: 1.5rem;
  }
}

.meet-children__img-wrapper img {
  -o-object-fit: cover;
     object-fit: cover;
}

.meet-children__img-wrapper .border {
  position: absolute;
  top: 0;
  left: 0;
  opacity: 0;
  transition: opacity 0.3s;
}

.meet-children__img-wrapper img,
.meet-children__img-wrapper .border {
  width: 100%;
  height: 22.1875rem;
}

@media print, screen and (min-width: 40em) {
  .meet-children__img-wrapper img,
  .meet-children__img-wrapper .border {
    height: 18.75rem;
  }
}

@media print, screen and (min-width: 64em) {
  .meet-children__img-wrapper img,
  .meet-children__img-wrapper .border {
    height: 16.25rem;
  }
}

.meet-children__img-wrapper .icon-play {
  position: absolute;
  bottom: 1rem;
  left: 2rem;
}

@media print, screen and (min-width: 40em) {
  .meet-children__img-wrapper .icon-play {
    left: 1.375rem;
  }
}

.meet-children__img-wrapper .label-state {
  position: absolute;
  bottom: -0.25rem;
  right: -0.25rem;
}

.meet-children__child-name {
  color: #687c8d;
  font-size: 1.6875rem;
  font-weight: 600;
  padding-left: 2rem;
}

@media print, screen and (min-width: 40em) {
  .meet-children__child-name {
    font-size: 1.4375rem;
    padding-left: 1.375rem;
  }
}

@media print, screen and (min-width: 64em) {
  .meet-children__child-name {
    font-size: 1.25rem;
  }
}

.meet-more-children-mobile {
  margin-top: 0.75rem;
  margin-left: auto;
  margin-right: auto;
}

@media print, screen and (min-width: 40em) {
  .meet-more-children-mobile {
    display: none;
  }
}

.section-what-we-believe .content-band {
  background-size: cover;
  background-repeat: no-repeat;
  background-position: right;
  padding-top: 8.5rem;
  padding-bottom: 5.75rem;
}

@media print, screen and (min-width: 40em) {
  .section-what-we-believe .content-band {
    background-size: contain;
    padding-top: 5.75rem;
    padding-bottom: 7rem;
  }
}

@media print, screen and (min-width: 64em) {
  .section-what-we-believe .content-band {
    padding-top: 7.25rem;
    padding-bottom: 6.75rem;
  }
}

.section-what-we-believe h2 {
  font-family: "Josefin Sans", sans-serif;
  font-size: 2.8125rem;
  text-transform: uppercase;
  line-height: 2.875rem;
  color: white;
  font-weight: 300;
  text-align: center;
  margin-bottom: 1.25rem;
}

.section-what-we-believe h2 strong {
  font-weight: 700;
  display: block;
}

@media print, screen and (min-width: 40em) {
  .section-what-we-believe h2 {
    text-align: left;
    margin-bottom: 2.75rem;
  }

  .section-what-we-believe h2 strong {
    display: inline;
  }
}

@media print, screen and (min-width: 64em) {
  .section-what-we-believe h2 {
    font-size: 3.75rem;
    line-height: 3.8125rem;
    margin-bottom: 3rem;
  }
}

.section-what-we-believe p {
  color: white;
  font-size: 1rem;
  line-height: 1.5rem;
  max-width: 43.75rem;
  text-align: center;
}

@media print, screen and (min-width: 40em) {
  .section-what-we-believe p {
    font-size: 1.25rem;
    line-height: 1.875rem;
    text-align: left;
  }
}

@media print, screen and (min-width: 64em) {
  .section-what-we-believe p {
    font-size: 1.375rem;
    line-height: 2rem;
  }
}

.section-our-impact {
  padding-top: 4.375rem;
  padding-bottom: 3.75rem;
}

.homepage-statistics-wrapper {
  display: flex;
  flex-wrap: wrap;
}

@media print, screen and (min-width: 64em) {
  .homepage-statistics-wrapper {
    flex-direction: row-reverse;
  }
}

.homepage-statistics-wrapper .btn,
.homepage-statistics-wrapper .embedded-form button,
.embedded-form .homepage-statistics-wrapper button,
.homepage-statistics-wrapper .embedded-form input[type=submit],
.embedded-form .homepage-statistics-wrapper input[type=submit] {
  padding-left: 2rem;
  padding-right: 2rem;
}

.homepage-statistics-wrapper h2 {
  font-family: "Josefin Sans", sans-serif;
  text-transform: uppercase;
  color: #ff6400;
  font-weight: 300;
  text-align: center;
  margin-bottom: 2.5rem;
  width: 100%;
  font-size: 1.875rem;
  line-height: 2.25rem;
}

.homepage-statistics-wrapper h2 strong {
  font-weight: 700;
}

@media print, screen and (min-width: 40em) {
  .homepage-statistics-wrapper h2 {
    font-size: 3.4375rem;
    line-height: 2.1875rem;
  }
}

@media print, screen and (min-width: 64em) {
  .homepage-statistics-wrapper h2 {
    text-align: center;
    font-size: 4.6875rem;
    line-height: 4.5625rem;
    margin-bottom: 2.25rem;
  }
}

.statistics-column {
  width: 100%;
}

@media screen and (min-width: 50em) {
  .statistics-column {
    display: flex;
  }
}

@media print, screen and (min-width: 64em) {
  .statistics-column {
    width: 75%;
  }
}

.title-column {
  width: 100%;
  margin-bottom: 3.75rem;
  display: flex;
  flex-direction: column;
  align-items: center;
}

@media print, screen and (min-width: 64em) {
  .title-column {
    width: 25%;
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding-left: 1.5rem;
  }

  .title-column h2 {
    font-size: 3.75rem;
    line-height: 3.75rem;
  }
}

.statistic {
  margin-bottom: 3.375rem;
}

@media screen and (min-width: 50em) {
  .statistic {
    width: 33.33%;
    padding-left: 1.25rem;
    padding-right: 1.25rem;
  }
}

.statistic-icon-title-wrapper {
  display: flex;
  flex-wrap: nowrap;
  align-items: center;
  padding-left: 1.25rem;
  padding-right: 1.25rem;
  margin-bottom: 1.25rem;
}

.statistic-icon-title-wrapper p {
  margin-bottom: 0;
}

.statistic-icon-title-wrapper .statistic-icon-image-wrapper {
  display: flex;
  align-items: center;
  justify-content: center;
  max-width: 3.125rem;
  max-width: 3.125rem;
  width: 100%;
  height: 100%;
}

.statistic-icon-title-wrapper img {
  width: 100%;
  -o-object-fit: contain;
     object-fit: contain;
  margin-right: 1.25rem;
}

@media screen and (min-width: 50em) {
  .statistic-icon-title-wrapper {
    max-width: 100%;
    flex-direction: column;
    margin-right: 0;
    max-height: 15.125rem;
    height: 12.5rem;
    padding-left: 0;
    padding-right: 0;
  }

  .statistic-icon-title-wrapper .statistic-icon-image-wrapper {
    margin-bottom: 0.5rem;
    max-width: 5rem;
    max-width: 5rem;
  }

  .statistic-icon-title-wrapper img {
    margin-right: 0;
  }
}

.statistic-title {
  font-family: "Josefin Sans", sans-serif;
  font-weight: 700;
  text-transform: uppercase;
  color: #33c1d2;
  width: 100%;
  font-size: 1.875rem;
  line-height: 2.25rem;
}

@media screen and (min-width: 31.25em) {
  .statistic-title {
    font-size: 2.1875rem;
    line-height: 2.25rem;
  }
}

@media screen and (min-width: 50em) {
  .statistic-title {
    text-align: center;
    margin-bottom: 0;
  }
}

.statistic-title__orange {
  color: #ff6400;
}

.statistic-title__blue {
  color: #388eb7;
}

.statistic-text-wrapper {
  background-color: #eaecf0;
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  padding-top: 2.5rem;
  padding-bottom: 3.5rem;
  padding-left: 4rem;
  padding-right: 4rem;
}

.statistic-text-wrapper .triangle-white {
  position: absolute;
  top: -1.25rem;
}

@media screen and (min-width: 50em) {
  .statistic-text-wrapper {
    background-color: white;
    border-top: 1px solid #94a2b2;
    padding-left: 1.5rem;
    padding-right: 1.5rem;
    padding-top: 2rem;
  }

  .statistic-text-wrapper .triangle-white {
    display: none;
  }
}

.statistic-quantity,
.statistic-quantity-detail {
  color: #ff9322;
}

.statistic-quantity {
  font-size: 4.25rem;
  font-weight: 600;
  line-height: 1;
  margin-bottom: 0;
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
}

.statistic-quantity-percentage::after {
  content: "%";
  font-size: 2.125rem;
  margin-top: 0.3125rem;
}

.statistic-quantity-currency::before {
  content: "$";
  font-size: 2.125rem;
  margin-top: 0.4375rem;
}

.statistic-quantity-detail {
  font-family: "Josefin Sans", sans-serif;
  font-weight: 700;
  font-size: 1.625rem;
  text-transform: uppercase;
  margin-bottom: 0.5rem;
  max-width: 100%;
}

.statistic-quantity-subdetail {
  font-weight: 700;
  font-size: 1.375rem;
  line-height: 1.75rem;
  color: #94a2b2;
  max-width: 100%;
}

@media screen and (min-width: 50em) {
  .statistic-quantity-subdetail {
    border-bottom: 1px solid #94a2b2;
    padding-bottom: 2rem;
    margin-bottom: 1.5rem;
  }
}

.statistic-disclaimer {
  font-weight: 600;
  font-size: 0.9375rem;
  line-height: 1.5rem;
  color: #33c1d2;
  width: 100%;
}

.section-events {
  border-bottom-left-radius: 3.125rem;
}

@media print, screen and (min-width: 40em) {
  .section-events {
    border-bottom-left-radius: 0;
    padding-bottom: 9rem;
  }
}

.section-events .event-card {
  background-color: #fff;
}

.section-events .event-badge--light {
  background-color: #eaecf0;
}

@media print, screen and (min-width: 64em) {
  .section-events .wrapper {
    display: flex;
    align-items: flex-start;
    padding-top: 5.375rem;
  }
}

.homepage-events {
  padding-top: 1.5rem;
  padding-bottom: 6rem;
}

@media print, screen and (min-width: 40em) {
  .homepage-events {
    padding-top: 6.25rem;
  }
}

@media print, screen and (min-width: 64em) {
  .homepage-events {
    width: 66.66%;
    padding-top: 1rem;
    padding-right: 1.5rem;
    padding-bottom: 0;
  }
}

.homepage-events__upper {
  display: flex;
  flex-direction: column-reverse;
  flex-wrap: wrap;
  align-items: center;
  margin-bottom: 3.25rem;
}

@media print, screen and (min-width: 40em) {
  .homepage-events__upper {
    flex-direction: row;
    justify-content: space-between;
    align-items: flex-start;
    margin-bottom: 1.5rem;
  }
}

.homepage-events__upper h2 {
  font-family: "Josefin Sans", sans-serif;
  font-weight: 700;
  font-size: 2.9375rem;
  line-height: 3.1875rem;
  color: #33c1d2;
  text-transform: uppercase;
  text-align: center;
  margin-bottom: 0;
}

@media print, screen and (min-width: 40em) {
  .homepage-events__upper h2 {
    font-size: 2.1875rem;
    line-height: 2.375rem;
  }
}

.homepage-events__upper .btn,
.homepage-events__upper .embedded-form button,
.embedded-form .homepage-events__upper button,
.homepage-events__upper .embedded-form input[type=submit],
.embedded-form .homepage-events__upper input[type=submit] {
  padding-left: 1.75rem;
  padding-right: 1.75rem;
  margin-bottom: 0.5rem;
}

@media print, screen and (min-width: 40em) {
  .homepage-events__upper .btn,
  .homepage-events__upper .embedded-form button,
  .embedded-form .homepage-events__upper button,
  .homepage-events__upper .embedded-form input[type=submit],
  .embedded-form .homepage-events__upper input[type=submit] {
    font-size: 1rem;
    padding-left: 1.5rem;
    padding-right: 1.5rem;
    margin-bottom: 0;
  }
}

.heart-galleries-divider {
  display: flex;
  align-items: center;
  width: 100%;
  margin-bottom: 0.5rem;
}

.heart-galleries-divider .rule {
  height: 2px;
  background-color: white;
  flex-grow: 1;
}

.heart-galleries-divider svg {
  margin: 0 1rem;
}

@media print, screen and (min-width: 40em) {
  .heart-galleries-divider {
    margin-bottom: 1rem;
  }
}

@media print, screen and (min-width: 64em) {
  .heart-galleries-divider {
    margin-bottom: 2rem;
  }
}

.heart-galleries-ctas {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  width: 100%;
}

.heart-galleries-ctas .cta-wrapper {
  width: 50%;
  padding-left: 0.1875rem;
  padding-right: 0.1875rem;
  display: flex;
  justify-content: center;
  margin-bottom: 2rem;
}

@media print, screen and (min-width: 40em) {
  .heart-galleries-ctas .cta-wrapper {
    width: 33%;
    padding-left: 1rem;
    padding-right: 1rem;
    margin-bottom: 0;
  }
}

@media print, screen and (min-width: 64em) {
  .heart-galleries-ctas .cta-wrapper {
    width: 50%;
    margin-bottom: 1.5rem;
  }
}

.heart-galleries-ctas .btn-white {
  width: 100%;
  font-weight: 700;
  font-size: 1rem;
  color: #388eb7;
  padding-top: 0.5rem;
  padding-bottom: 0.25rem;
  margin-bottom: 0.5rem;
}

@media screen and (min-width: 31.25em) {
  .heart-galleries-ctas .btn-white {
    font-size: 1.125rem;
  }
}

/*=====================================
=            Event Listing            =
=====================================*/

.two-col-listing {
  display: flex;
  flex-flow: row wrap;
  margin-right: -0.5rem;
  margin-left: -0.5rem;
}

@media print, screen and (min-width: 40em) {
  .two-col-listing {
    margin-right: -0.5rem;
    margin-left: -0.5rem;
  }
}

@media print, screen and (min-width: 64em) {
  .two-col-listing {
    margin-right: -0.5rem;
    margin-left: -0.5rem;
  }
}

.two-col-listing__main {
  flex: 0 0 auto;
  width: calc(73.3333333333% - 1rem);
  margin-left: 0.5rem;
  margin-right: 0.5rem;
  padding: 2.5rem 0 2.5rem 2.5rem;
  order: 2;
}

@media screen and (max-width: 66.25em) {
  .two-col-listing__main {
    width: 100%;
    padding-left: 1rem;
    padding-right: 1rem;
  }
}

.two-col-listing__side {
  flex: 0 0 auto;
  width: calc(26.6666666667% - 1rem);
  margin-left: 0.5rem;
  margin-right: 0.5rem;
  order: 1;
  background-color: #33c1d2;
  padding: 1.875rem 0.9375rem;
}

@media screen and (max-width: 66.25em) {
  .two-col-listing__side {
    width: 100%;
  }
}

.two-col-listing.two-col-listing--expanded-sidebar .two-col-listing__main {
  flex: 0 0 auto;
  width: calc(66.6666666667% - 1rem);
  margin-left: 0.5rem;
  margin-right: 0.5rem;
}

@media screen and (max-width: 66.25em) {
  .two-col-listing.two-col-listing--expanded-sidebar .two-col-listing__main {
    width: 100%;
    padding-left: 1rem;
    padding-right: 1rem;
  }
}

.two-col-listing.two-col-listing--expanded-sidebar .two-col-listing__side {
  flex: 0 0 auto;
  width: calc(33.3333333333% - 1rem);
  margin-left: 0.5rem;
  margin-right: 0.5rem;
}

@media screen and (max-width: 66.25em) {
  .two-col-listing.two-col-listing--expanded-sidebar .two-col-listing__side {
    width: 100%;
  }
}

ul.event-list {
  list-style: none;
  margin-left: 0;
}

.event-card {
  background-color: #eaecf0;
  margin-bottom: 0.625rem;
}

.event-card-content-container {
  display: flex;
  flex-flow: row wrap;
  position: relative;
  padding: 1.25rem 1.25rem 1.25rem 7.5rem;
}

.event-card--archived .event-card-content-container {
  padding-left: 1.25rem;
}

.event-card--archived .event-card__title {
  border-bottom: 0;
  margin-left: 0;
}

.event-card__date,
.event-heading__date {
  width: 5rem;
  position: absolute;
  top: 1.25rem;
  left: 1.25rem;
  background-image: linear-gradient(0deg, #33c1d2 0%, #3a8db7 100%);
  padding: 1rem 0;
  text-align: center;
}

.event-card__date .month,
.event-heading__date .month {
  display: block;
  font-family: "Josefin Sans", sans-serif;
  font-weight: 700;
  font-size: 0.875rem;
  line-height: 0.875rem;
  text-transform: uppercase;
  color: gold;
}

.event-card__date .day,
.event-heading__date .day {
  display: block;
  font-weight: 700;
  font-size: 2.1875rem;
  line-height: 2.1875rem;
  color: #fff;
}

.event-card__date .event-title,
.event-heading__date .event-title {
  margin-top: 0.5rem;
}

.event-card__main {
  display: flex;
  flex-flow: row wrap;
  width: 100%;
}

.event-card__title {
  flex: 0 0 auto;
  width: calc(91.6666666667% - 1rem);
  margin-left: 0.5rem;
  margin-right: 0.5rem;
  border-bottom: 1px solid #fff;
  padding-bottom: 0.625rem;
  margin-bottom: 0.625rem;
}

.event-card__title h2 {
  transition: color 0.3s;
  font-weight: 600;
  font-size: 1.25rem;
  line-height: 1.625rem;
  color: #388eb7;
  margin-bottom: 0;
}

.event-card__title svg {
  margin-left: 0.5rem;
}

.event-card__title path {
  transition: fill 0.3s;
}

.event-card__title:hover h2 {
  color: #ff6400;
}

.event-card__title:hover svg path {
  fill: #ff6400;
}

.event-card__time {
  color: #3f4e59;
  font-size: 0.875rem;
  font-family: "Josefin Sans", sans-serif;
  font-weight: 600;
}

.event-card__location {
  flex: 0 0 auto;
  width: calc(8.3333333333% - 1rem);
  margin-left: 0.5rem;
  margin-right: 0.5rem;
  padding-bottom: 0.625rem;
}

@media screen and (max-width: 47.1875em) {
  .event-card__location {
    display: none;
  }
}

.event-card__audience {
  position: absolute;
  right: 1.25rem;
  bottom: 1.25rem;
}

@media screen and (max-width: 47.1875em) {
  .event-card__audience {
    display: none;
  }
}

.event-card__mobile-description {
  display: none;
  width: 100%;
  padding: 0 1.25rem;
  margin-bottom: 1.25rem;
}

@media screen and (max-width: 47.1875em) {
  .event-card__mobile-description {
    display: block;
  }
}

@media screen and (max-width: 47.1875em) {
  .event-card__desktop-description {
    display: none;
  }
}

.event-card__mobile-categories {
  display: none;
  width: 100%;
  padding: 0 1.25rem;
}

.event-card__mobile-categories .event-badge--inline {
  margin-bottom: 0.5rem;
}

@media screen and (max-width: 47.1875em) {
  .event-card__mobile-categories {
    display: flex;
    justify-content: space-between;
    align-items: center;
  }
}

.event-badge {
  display: flex;
  align-items: center;
  background-color: #33c1d2;
  color: white;
  font-family: "Josefin Sans", sans-serif;
  font-weight: 700;
  font-size: 0.75rem;
  text-transform: uppercase;
  border-radius: 1rem;
  padding-left: 0.75rem;
  padding-right: 0.75rem;
  padding-top: 0.375rem;
  padding-bottom: 0.1875rem;
}

.event-badge.event-online svg {
  max-width: 100%;
  height: auto;
  max-height: 100%;
}

.event-badge.event-online svg path {
  fill: #fefefe;
}

.event-badge--circular {
  display: block;
  font-size: 1.0625rem;
  border-radius: 100%;
  width: 2.5rem;
  height: 2.5rem;
  text-align: center;
  padding: 0.5rem 0;
  margin-bottom: 0.625rem;
}

.event-badge--inline {
  display: inline-block;
  margin-left: 0.3125rem;
}

.event-badge--light {
  background-color: #fff;
  color: #687c8d;
}

.event-badge--light.event-online svg path {
  fill: #687c8d;
}

.section__events .event-badge--light {
  background-color: #eaecf0;
}

.event-badge--dark,
.event-badge--gray,
.event-location.event-badge--gray {
  color: #fff;
  background-color: #687c8d;
}

.event-badge--aqua,
.event-location.event-badge--aqua {
  color: #fff;
  background-color: #33c1d2;
}

.event-badge--gold,
.event-location.event-badge--gold {
  color: #fff;
  background-color: #ffcf37;
}

.event-badge--green,
.event-location.event-badge--green {
  color: #fff;
  background-color: #00a651;
}

.event-badge--blue,
.event-location.event-badge--blue {
  color: #fff;
  background-color: #388eb7;
}

.event-badge--red,
.event-location.event-badge--red {
  color: #fff;
  background-color: #c7353c;
}

.event-badge--orange,
.event-location.event-badge--orange {
  color: #fff;
  background-color: #ff9322;
}

.event-badge--dark-orange,
.event-location.event-badge--dark-orange {
  color: #fff;
  background-color: #ff6400;
}

.event-badge--icon {
  background-color: transparent;
  border-radius: 0;
  width: 2.625rem;
  height: 2.625rem;
  padding: 0;
}

.event-badge--icon svg {
  width: 2.625rem;
  height: 2.625rem;
}

.event-info__toggle {
  display: inline-block;
  position: relative;
  padding-left: 1.125rem;
  font-family: "Josefin Sans", sans-serif;
  text-transform: uppercase;
  color: #33c1d2;
  font-size: 0.875rem;
  line-height: 0.875rem;
  height: 0.875rem;
  font-weight: 600;
  transition: color 0.3s;
}

.event-info__toggle:hover,
.event-info__toggle:focus {
  color: #388eb7;
}

.event-info__toggle::before {
  content: "";
  text-align: center;
  position: absolute;
  left: 0;
  top: -0.1875rem;
  width: 0.875rem;
  height: 0.875rem;
  border-radius: 0.4375rem;
  background-color: #33c1d2;
  transition: background-color 0.3s;
  background-image: url(/dist/images/icon-plus.svg);
  background-repeat: no-repeat;
  background-position: center center;
}

.event-info__toggle:hover::before {
  background-color: #388eb7;
}

.event-info__toggle--open::before {
  background-image: url(/dist/images/icon-minus.svg);
}

.event-info__description {
  display: none;
  padding-top: 0.625rem;
  padding-bottom: 1.25rem;
}

.event-info__description p {
  font-size: 0.875rem;
}

.page-data {
  margin-bottom: 1.25rem;
}

@media print, screen and (max-width: 39.99875em) {
  .page-data {
    text-align: center;
  }
}

.page-data__total {
  display: block;
  color: #ff6400;
  font-family: "Josefin Sans", sans-serif;
  font-weight: 600;
  font-size: 2rem;
  text-transform: uppercase;
}

.page-data__status {
  display: block;
  font-style: italic;
  font-size: 0.875rem;
}

.search-block {
  margin-bottom: 3.125rem;
}

.search-block h3,
.search-block__toggle {
  display: block;
  width: 100%;
  text-align: left;
  color: #fff;
  text-transform: uppercase;
  font-size: 1.5rem;
  font-family: "Josefin Sans", sans-serif;
  font-weight: 600;
  border-bottom: 2px dotted;
  padding-bottom: 0.3125rem;
  margin-bottom: 1.25rem;
}

@media screen and (max-width: 31.25em) {
  .search-block__toggle {
    padding-right: 2.5rem;
  }
}

.search-block__toggle--plain {
  border-bottom: 0;
  padding-bottom: 0;
  margin-bottom: 0;
}

.search-block__toggle--plain:focus {
  outline: 0;
}

.search-block.mobile-search-toggle {
  display: none;
  margin-bottom: 0;
}

.search-block--inverted {
  background-color: #388eb7;
  margin-top: 7.5rem;
  margin-left: -0.9375rem;
  margin-right: -0.9375rem;
  padding: 3.75rem 0.9375rem;
  color: #fff;
}

.search-block--inverted h3 {
  color: #ffcf37;
}

.search-block--inverted p {
  font-size: 0.875rem;
}

.search-block--inverted .btn-group {
  margin-top: 1.25rem;
}

.search-block__toggle {
  position: relative;
  cursor: pointer;
}

.search-block__toggle::after {
  content: "";
  text-align: center;
  position: absolute;
  right: 0;
  top: -0.3125rem;
  width: 2rem;
  height: 2rem;
  border-radius: 1rem;
  background-color: #ffcf37;
  transition: background-color 0.3s;
  background-image: url(/dist/images/icon-plus-large.svg);
  background-repeat: no-repeat;
  background-position: center center;
}

.search-block__toggle:hover::after {
  background-color: #388eb7;
}

.toggled-open .search-block__toggle::after,
.search-block__toggle.toggled-open::after {
  background-color: #388eb7;
  background-image: url(/dist/images/icon-minus-large.svg);
}

.search-block__content {
  display: none;
}

.search-block__content--visible {
  display: block;
}

.search-block__checkbox {
  display: block;
  padding-left: 1.25rem;
  text-indent: -1.25rem;
  margin-bottom: 0.3125rem;
  color: #fff;
  text-transform: uppercase;
  font-family: "Josefin Sans", sans-serif;
  font-weight: 600;
}

.search-block__checkbox:hover {
  color: #ffcf37;
}

.search-block__checkbox input[type=checkbox] {
  width: 1.25rem;
  height: 1.25rem;
  padding: 0;
  margin: 0 0.625rem 0 0;
  vertical-align: bottom;
  position: relative;
  top: -4px;
}

.search-block__keywords input {
  border: 0;
}

.search-block__keywords input:focus {
  border: 0;
}

.search-block__keywords input::-moz-placeholder {
  font-style: italic;
}

.search-block__keywords input:-ms-input-placeholder {
  font-style: italic;
}

.search-block__keywords input::-webkit-input-placeholder {
  font-style: italic;
}

.search-block__keywords .btn,
.search-block__keywords .embedded-form button,
.embedded-form .search-block__keywords button,
.search-block__keywords .embedded-form input[type=submit],
.embedded-form .search-block__keywords input[type=submit] {
  background-color: #ffcf37;
  border: 0;
  color: #33c1d2;
  border-radius: 0 0 1.25rem 0 !important;
}

.search-block .btn-group .btn,
.search-block .btn-group .embedded-form button,
.embedded-form .search-block .btn-group button,
.search-block .btn-group .embedded-form input[type=submit],
.embedded-form .search-block .btn-group input[type=submit] {
  display: inline-block;
  margin-bottom: 0.625rem;
}

@media screen and (max-width: 66.25em) {
  .sidebar-cta-block {
    display: none;
  }

  .sidebar-search-container {
    display: none;
    padding-top: 1.875rem;
  }

  .search-block.mobile-search-toggle {
    display: block;
  }
}

/*====================================
=            Event Detail            =
====================================*/

.event-heading {
  display: flex;
  flex-flow: row wrap;
  position: relative;
  padding-bottom: 3.125rem;
  margin-bottom: 3.125rem;
  border-bottom: 4px solid #eaecf0;
  padding-left: 9.6875rem;
}

@media screen and (max-width: 66.25em) {
  .event-heading {
    justify-content: space-between;
    padding-left: 0;
    padding-bottom: 1.25rem;
    margin-bottom: 1.25rem;
  }
}

.event-heading__date {
  top: 0;
  padding: 1.25rem 0;
  width: 6.875rem;
}

.event-heading__date .month {
  font-size: 1.25rem;
  line-height: 1.25rem;
}

.event-heading__date .day {
  font-size: 3rem;
  line-height: 3rem;
}

@media screen and (max-width: 66.25em) {
  .event-heading__date {
    position: static;
    float: left;
  }
}

.event-heading__info {
  flex: 0 0 auto;
  width: calc(70% - 1rem);
  margin-left: 0.5rem;
  margin-right: 0.5rem;
  text-transform: uppercase;
  font-family: "Josefin Sans", sans-serif;
  font-weight: 600;
  font-size: 1.4375rem;
  color: #388eb7;
}

.event-heading__info p {
  margin-bottom: 0;
}

@media screen and (max-width: 66.25em) {
  .event-heading__info {
    order: 2;
    width: 100%;
    float: left;
    clear: left;
    margin-top: 1.25rem;
  }
}

.event-heading__cta {
  flex: 0 0 auto;
  width: calc(30% - 1rem);
  margin-left: 0.5rem;
  margin-right: 0.5rem;
  display: flex;
  align-items: center;
}

@media screen and (max-width: 66.25em) {
  .event-heading__cta {
    order: 1;
    flex: 0 0 auto;
    width: calc(58.3333333333% - 1rem);
    margin-left: 0.5rem;
    margin-right: 0.5rem;
  }

  .event-heading__cta p {
    text-align: right;
    width: 100%;
  }

  .event-heading__cta .btn,
  .event-heading__cta .embedded-form button,
  .embedded-form .event-heading__cta button,
  .event-heading__cta .embedded-form input[type=submit],
  .embedded-form .event-heading__cta input[type=submit] {
    display: inline-block;
  }
}

.detail-page-content {
  font-size: 1.125rem;
  margin-bottom: 5.625rem;
}

.event-notice {
  display: flex;
  flex-flow: row wrap;
  margin-bottom: 5.625rem;
  background-color: #eaecf0;
  padding: 1.875rem;
}

@media screen and (max-width: 66.25em) {
  .event-notice {
    margin-bottom: 2.8125rem;
  }
}

.event-notice__icon {
  flex: 0 0 auto;
  width: calc(20.8333333333% - 1rem);
  margin-left: 0.5rem;
  margin-right: 0.5rem;
}

.event-notice__text {
  flex: 0 0 auto;
  width: calc(70.8333333333% - 1rem);
  margin-left: 0.5rem;
  margin-right: 0.5rem;
  color: #687c8d;
  font-size: 1.125rem;
  font-family: "Open Sans", sans-serif;
  font-style: italic;
  font-weight: 600;
}

@media screen and (max-width: 66.25em) {
  .event-detail .content-band--collapse-right {
    padding-right: 1rem;
  }
}

.archived-class-summary {
  font-size: 1.125rem;
  padding-bottom: 3.125rem;
  margin-bottom: 3.125rem;
  border-bottom: 4px solid #eaecf0;
}

.archived-class-summary p:last-child {
  margin-bottom: 0;
}

.archived-class-summary--standalone {
  padding-bottom: 0;
  border-bottom: 0;
}

.archived-class-resource {
  margin-bottom: 3.125rem;
}

.archived-class-resource a {
  color: #388eb7;
  font-weight: 700;
}

.archived-class-resource a span {
  text-transform: uppercase;
}

/**
	Alternate Color Scheme
**/

.event-list--gray-background .event-card,
.events_module .wrapper .section__events .event-list .event-card {
  background-color: #fefefe;
}

.event-list--gray-background .event-card .event-card__title,
.events_module .wrapper .section__events .event-list .event-card .event-card__title {
  border-bottom-color: #eaecf0;
}

.event-list--gray-background .event-card .event-card__audience .event-badge,
.events_module .wrapper .section__events .event-list .event-card .event-card__audience .event-badge {
  background-color: #eaecf0;
}

.section-family-support-statistics {
  background-image: linear-gradient(180deg, #33c1d2 0%, #3a8db7 100%);
  border-bottom-left-radius: 3.125rem;
  border-top: 4px solid #ffcf37;
}

@media print, screen and (min-width: 40em) {
  .section-family-support-statistics {
    border-bottom-left-radius: 6.25rem;
    padding-top: 4.5rem;
  }
}

.family-support-statistics__upper {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  border-bottom: 2px solid #388eb7;
}

.family-support-statistics__img-wrapper {
  width: 70%;
  margin-top: -4.5rem;
  margin-bottom: 3.75rem;
}

@media print, screen and (min-width: 40em) {
  .family-support-statistics__img-wrapper {
    width: 37.5%;
    margin-top: -6.875rem;
    margin-bottom: -2rem;
  }
}

.family-support-statistics__img-wrapper .family-support-statistics__img-circle-wrapper {
  position: relative;
  border-radius: 50%;
  width: 100%;
  height: auto;
  padding-top: 100%;
  overflow: hidden;
}

.family-support-statistics__img-wrapper img {
  position: absolute;
  top: 0;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.family-support-statistics__quote {
  width: 100%;
  color: white;
  border-top: 2px solid #388eb7;
  position: relative;
  padding-top: 3rem;
  padding-bottom: 3.375rem;
}

@media print, screen and (min-width: 40em) {
  .family-support-statistics__quote {
    width: calc(62.5% - 3rem);
    margin-left: 3rem;
    padding-left: 4rem;
    padding-top: 3.75rem;
    padding-bottom: 3.75rem;
  }
}

.family-support-statistics__quote::before {
  content: "";
  position: absolute;
  top: -1.75rem;
  left: 50%;
  transform: translateX(-50%);
  width: 3.5rem;
  height: 3.5rem;
  background-image: url(/dist/images/icon-quote.svg);
  background-size: cover;
  background-position: center;
}

@media print, screen and (min-width: 40em) {
  .family-support-statistics__quote::before {
    transform: none;
    left: -1.75rem;
  }
}

.family-support-statistics__quote .quote-text {
  font-style: italic;
  font-weight: 600;
  font-size: 1.125rem;
  line-height: 1.625rem;
  margin-bottom: 2rem;
  text-align: center;
}

@media print, screen and (min-width: 40em) {
  .family-support-statistics__quote .quote-text {
    font-weight: 700;
    font-size: 1.25rem;
    line-height: 1.875rem;
    margin-bottom: 1.5rem;
    text-align: left;
  }
}

.family-support-statistics__quote .quote-attribution {
  font-family: "Josefin Sans", sans-serif;
  font-weight: 400;
  font-size: 1rem;
  line-height: 1.75rem;
  text-transform: uppercase;
  text-align: center;
}

@media print, screen and (min-width: 40em) {
  .family-support-statistics__quote .quote-attribution {
    text-align: left;
  }
}

.family-support-statistics__lower {
  color: white;
  font-weight: 700;
  display: flex;
  flex-wrap: wrap;
  padding-bottom: 3.75rem;
}

@media print, screen and (min-width: 40em) {
  .family-support-statistics__lower {
    padding-top: 4.5rem;
    padding-bottom: 5.375rem;
  }
}

.family-support-statistic {
  width: 100%;
  padding-left: 3.75rem;
  padding-right: 3.75rem;
  padding-top: 3rem;
}

@media print, screen and (min-width: 40em) {
  .family-support-statistic {
    width: 33.33%;
    padding: 0;
  }
}

.family-support-statistic_inner {
  border-bottom: 2px dotted white;
  text-align: center;
  padding-bottom: 3rem;
}

@media print, screen and (min-width: 40em) {
  .family-support-statistic_inner {
    border-bottom: none;
    border-right: 2px dotted white;
    padding-top: 3rem;
  }
}

.family-support-statistic_inner.no-border {
  border: none;
}

.family-support-statistic_quantity {
  font-size: 4.375rem;
  line-height: 1;
  margin-bottom: 0.75rem;
}

.family-support-statistic_quantity sup {
  font-size: 2.5rem;
  line-height: 2.6875rem;
}

.family-support-statistic_detail {
  font-family: "Josefin Sans", sans-serif;
  font-size: 1.5625rem;
  line-height: 1.75rem;
  text-transform: uppercase;
  color: #ffcf37;
  margin-bottom: 0.75rem;
}

.family-support-statistic_subdetail {
  font-size: 1.25rem;
  line-height: 1.75rem;
  margin-bottom: 0;
}

.section-family-support-resources {
  border-bottom-right-radius: 3.125rem;
  padding-top: 3.5rem;
  padding-bottom: 5.25rem;
  background-color: white;
}

@media print, screen and (min-width: 40em) {
  .section-family-support-resources {
    border-bottom-right-radius: 6.25rem;
    padding-top: 6.875rem;
    padding-bottom: 8.125rem;
  }
}

.section-family-support-resources h2 {
  font-family: "Josefin Sans", sans-serif;
  color: #ff6400;
  text-transform: uppercase;
  text-align: center;
  font-size: 2.5rem;
  line-height: 2.5rem;
  margin-bottom: 7.75rem;
}

@media print, screen and (min-width: 40em) {
  .section-family-support-resources h2 {
    font-size: 3.1875rem;
    line-height: 2.875rem;
    margin-bottom: 4.375rem;
  }
}

.section-family-support-resources .cta-orange {
  background-image: linear-gradient(90deg, #ff9322 0%, #ff7c11 24%, #ff6400 100%);
  padding-top: 4.5rem;
  padding-bottom: 1.875rem;
  padding-left: 3.5rem;
  padding-right: 3.5rem;
  margin-bottom: 0;
}

@media print, screen and (min-width: 64em) {
  .section-family-support-resources .cta-orange {
    padding-top: 3.75rem;
    padding-bottom: 3.125rem;
  }
}

.section-family-support-resources .cta-orange__text {
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-direction: column;
}

@media print, screen and (min-width: 64em) {
  .section-family-support-resources .cta-orange__text {
    flex-direction: row;
  }
}

.section-family-support-resources .cta-orange__text h5 {
  margin-bottom: 4.5rem;
  text-align: center;
}

@media print, screen and (min-width: 64em) {
  .section-family-support-resources .cta-orange__text h5 {
    margin-bottom: 0;
    width: 37.5%;
    text-align: left;
  }
}

.section-family-support-resources .cta-orange__text .cta-orange__links {
  flex-grow: 1;
  display: flex;
  flex-wrap: wrap;
  flex-direction: column;
  align-items: center;
  justify-content: flex-end;
}

@media print, screen and (min-width: 64em) {
  .section-family-support-resources .cta-orange__text .cta-orange__links {
    flex-direction: row;
    padding-right: 1.5rem;
  }
}

.section-family-support-resources .cta-orange__text .cta-orange__button {
  margin-bottom: 2.625rem;
  color: #388eb7;
}

@media print, screen and (min-width: 64em) {
  .section-family-support-resources .cta-orange__text .cta-orange__button {
    margin-right: 3.5rem;
    margin-bottom: 0;
  }
}

.section-family-support-resources .cta-orange__text .cta-orange__button:hover {
  color: #33c1d2;
}

.family-support-resources {
  display: flex;
  flex-wrap: wrap;
}

@media print, screen and (min-width: 40em) {
  .family-support-resources {
    margin-left: -1rem;
    margin-right: -1rem;
    margin-bottom: 5rem;
  }
}

.resource-wrapper {
  width: 100%;
  margin-bottom: 5.625rem;
}

@media print, screen and (min-width: 40em) {
  .resource-wrapper {
    width: 50%;
    padding-left: 1rem;
    padding-right: 1rem;
    margin-bottom: 1.5rem;
  }
}

.resource {
  background-color: #eaecf0;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  border-bottom-right-radius: 3.125rem;
  height: 100%;
  padding-left: 2.75rem;
  padding-right: 2.75rem;
  padding-bottom: 1.25rem;
}

@media print, screen and (min-width: 40em) {
  .resource {
    border-bottom-right-radius: 0;
    padding-top: 3.375rem;
    padding-bottom: 1.875rem;
  }

  .resource.rounded-top-left {
    border-top-left-radius: 3.125rem;
  }

  .resource.rounded-top-right {
    border-top-right-radius: 3.125rem;
  }

  .resource.rounded-bottom-left {
    border-bottom-left-radius: 3.125rem;
  }

  .resource.rounded-bottom-right {
    border-bottom-right-radius: 3.125rem;
  }
}

.resource img {
  transform: translateY(-50%);
}

@media print, screen and (min-width: 40em) {
  .resource img {
    transform: none;
    margin-bottom: 2rem;
  }
}

.resource__heading {
  font-family: "Josefin Sans", sans-serif;
  font-weight: bold;
  font-size: 1.625rem;
  line-height: 1.75rem;
  color: #388eb7;
  text-transform: uppercase;
  text-align: center;
  width: 100%;
}

.resource__description {
  font-weight: 600;
  font-size: 1.25rem;
  line-height: 1.875rem;
  color: #94a2b2;
  text-align: center;
  margin-bottom: 2.75rem;
  width: 100%;
}

.resource__links-wrapper {
  -moz-column-gap: 2rem;
       column-gap: 2rem;
}

.resource__links-wrapper.two-up {
  -moz-column-count: 2;
       column-count: 2;
}

.resource__links-wrapper.three-up {
  -moz-column-count: 2;
       column-count: 2;
}

@media print, screen and (min-width: 64em) {
  .resource__links-wrapper.three-up {
    -moz-column-count: 3;
         column-count: 3;
  }
}

.resource__links-wrapper.two-up .resource__link,
.resource__links-wrapper.three-up .resource__link {
  width: 8.25rem;
}

.resource__link-wrapper {
  width: 100%;
  display: flex;
  justify-content: center;
  -moz-column-break-inside: avoid;
       break-inside: avoid;
}

.resource__link {
  font-family: "Josefin Sans", sans-serif;
  font-weight: bold;
  text-transform: uppercase;
  font-size: 1rem;
  line-height: 1.125rem;
  color: white;
  background-color: #33c1d2;
  border-radius: 1.1875rem;
  padding-left: 1rem;
  padding-right: 1rem;
  padding-top: 0.5rem;
  padding-bottom: 0.25rem;
  display: block;
  text-align: center;
  margin-bottom: 1.5rem;
  transition: all 0.3s;
}

.resource__link:hover {
  background-color: #388eb7;
}

.blue-sidebar__family-support {
  align-items: flex-start;
}

.blue-sidebar__family-support .btn-gold,
.blue-sidebar__family-support .boxes .boxes__box.box--with-icon .box__cta .btn,
.boxes .boxes__box.box--with-icon .box__cta .blue-sidebar__family-support .btn,
.blue-sidebar__family-support .boxes .boxes__box.box--with-icon .box__cta .embedded-form button,
.boxes .boxes__box.box--with-icon .box__cta .embedded-form .blue-sidebar__family-support button,
.blue-sidebar__family-support .embedded-form .boxes .boxes__box.box--with-icon .box__cta button,
.embedded-form .boxes .boxes__box.box--with-icon .box__cta .blue-sidebar__family-support button,
.blue-sidebar__family-support .boxes .boxes__box.box--with-icon .box__cta .embedded-form input[type=submit],
.boxes .boxes__box.box--with-icon .box__cta .embedded-form .blue-sidebar__family-support input[type=submit],
.blue-sidebar__family-support .embedded-form .boxes .boxes__box.box--with-icon .box__cta input[type=submit],
.embedded-form .boxes .boxes__box.box--with-icon .box__cta .blue-sidebar__family-support input[type=submit] {
  color: #388eb7;
}

.blue-sidebar__family-support .btn-gold:hover,
.blue-sidebar__family-support .boxes .boxes__box.box--with-icon .box__cta .btn:hover,
.boxes .boxes__box.box--with-icon .box__cta .blue-sidebar__family-support .btn:hover,
.blue-sidebar__family-support .boxes .boxes__box.box--with-icon .box__cta .embedded-form button:hover,
.boxes .boxes__box.box--with-icon .box__cta .embedded-form .blue-sidebar__family-support button:hover,
.blue-sidebar__family-support .embedded-form .boxes .boxes__box.box--with-icon .box__cta button:hover,
.embedded-form .boxes .boxes__box.box--with-icon .box__cta .blue-sidebar__family-support button:hover,
.blue-sidebar__family-support .boxes .boxes__box.box--with-icon .box__cta .embedded-form input[type=submit]:hover,
.boxes .boxes__box.box--with-icon .box__cta .embedded-form .blue-sidebar__family-support input[type=submit]:hover,
.blue-sidebar__family-support .embedded-form .boxes .boxes__box.box--with-icon .box__cta input[type=submit]:hover,
.embedded-form .boxes .boxes__box.box--with-icon .box__cta .blue-sidebar__family-support input[type=submit]:hover {
  background-color: white;
  color: #33c1d2;
}

.family-support-page-builder .section-accordion {
  background-color: #eaecf0;
  padding-left: 1rem;
  padding-right: 1rem;
  padding-top: 3.375rem;
  padding-bottom: 3.375rem;
}

@media print, screen and (min-width: 40em) {
  .family-support-page-builder .section-accordion {
    padding-top: 5rem;
    padding-bottom: 5rem;
  }
}

.family-support-page-builder .accordion-group-wrapper .accordion-group__title {
  margin-bottom: 2rem;
  font-weight: 300;
  color: #33c1d2;
  font-size: 2.5rem;
  line-height: 2.8125rem;
  border-bottom: none;
}

.family-support-page-builder .accordion-group-wrapper .accordion-group__title strong {
  font-weight: 700;
}

@media print, screen and (min-width: 40em) {
  .family-support-page-builder .accordion-group-wrapper .accordion-group__title {
    font-size: 3.1875rem;
  }
}

.family-support-page-builder .accordion-group-wrapper .accordion-item .accordion-title {
  background-color: white;
  padding-top: 0.75rem;
  padding-bottom: 0.75rem;
}

.family-support-page-builder .accordion-group-wrapper .accordion-item .accordion-content {
  background-color: #eaecf0;
  padding: 1.25rem;
}

@media print, screen and (min-width: 40em) {
  .family-support-page-builder .accordion-group-wrapper .accordion-item .accordion-content {
    padding-left: 3.75rem;
    padding-right: 3.75rem;
    padding-top: 2rem;
    padding-bottom: 2rem;
  }
}

.family-support-page-builder .accordion-group-wrapper .accordion-item .accordion-content h6 {
  font-size: 1.125rem;
}

.family-support-page-builder .accordion-group-wrapper .accordion-item .accordion-content a {
  color: #388eb7;
  text-decoration: underline;
}

.family-support-page-builder .accordion {
  background-color: #eaecf0;
}

.family-support-page-builder li > strong {
  color: #388eb7;
}

.regions {
  margin-left: 0;
  list-style-type: none;
}

.li-region {
  position: relative;
  width: 100%;
  height: 2.5rem;
  background-color: #eaecf0;
  margin-bottom: 1.5rem;
  font-family: "Josefin Sans", sans-serif;
  font-weight: 700;
  font-size: 1.125rem;
  text-transform: uppercase;
  line-height: 2.6;
  padding-left: 3rem;
}

@media print, screen and (min-width: 40em) {
  .li-region {
    font-size: 1.5625rem;
    line-height: 1.8;
  }
}

.li-region::before {
  content: "";
  position: absolute;
  left: 0;
  width: 2.5rem;
  height: 2.5rem;
  background-color: #ffcf37;
  background-image: url(/dist/images/icon-plus-large-white.svg);
  background-repeat: no-repeat;
  background-position: center center;
}

.li-region a {
  display: inline-block;
  width: 100%;
  color: #388eb7;
}

.li-region-blue::before {
  background-color: #33c1d2;
}

.li-region-blue a {
  color: #33c1d2;
}

.li-region-blue a:hover,
.li-region-blue a:focus {
  color: #5dcedb;
}

.li-region-dark-orange::before {
  background-color: #ff6400;
}

.li-region-dark-orange a {
  color: #ff6400;
}

.li-region-dark-orange a:hover,
.li-region-dark-orange a:focus {
  color: #ff8333;
}

.li-region-orange::before {
  background-color: #ff9322;
}

.li-region-orange a {
  color: #ff9322;
}

.li-region-orange a:hover,
.li-region-orange a:focus {
  color: #ffac55;
}

.li-region-gray::before {
  background-color: #94a2b2;
}

.li-region-gray a {
  color: #94a2b2;
}

.li-region-gray a:hover,
.li-region-gray a:focus {
  color: #b2bcc7;
}

.li-region-dark-blue::before {
  background-color: #388eb7;
}

.li-region-dark-blue a {
  color: #388eb7;
}

.li-region-dark-blue a:hover,
.li-region-dark-blue a:focus {
  color: #57a6cb;
}

.li-region-black::before {
  background-color: #0a0a0a;
}

.li-region-black a {
  color: #0a0a0a;
}

.li-region-black a:hover,
.li-region-black a:focus {
  color: #242424;
}

.li-region-yellow::before {
  background-color: #ffcf37;
}

.li-region-yellow a {
  color: #ffc304;
}

.li-region-yellow a:hover,
.li-region-yellow a:focus {
  color: #ffcf37;
}

.li-region-red::before {
  background-color: #c7353c;
}

.li-region-red a {
  color: #c7353c;
}

.li-region-red a:hover,
.li-region-red a:focus {
  color: #d35c61;
}

.section-family-support-region .wrapper {
  display: flex;
  flex-wrap: wrap;
}

@media print, screen and (min-width: 40em) {
  .section-family-support-region .wrapper {
    flex-direction: row-reverse;
  }
}

.region-list-wrapper {
  width: 100%;
  padding-bottom: 2.5rem;
}

@media print, screen and (min-width: 40em) {
  .region-list-wrapper {
    width: 60%;
    padding-top: 5rem;
    padding-bottom: 5.25rem;
    padding-right: 2rem;
  }

  .region-list-wrapper p {
    margin-bottom: 3rem;
  }
}

.region-map-wrapper {
  display: flex;
  justify-content: center;
  width: 100%;
  margin-top: -3.75rem;
  margin-bottom: 3rem;
}

.region-map-wrapper svg {
  width: 75%;
  height: 100%;
}

@media print, screen and (min-width: 40em) {
  .region-map-wrapper {
    width: 40%;
    margin-top: -4.5rem;
    margin-bottom: 0;
    padding-left: 2rem;
  }

  .region-map-wrapper svg {
    width: 100%;
    max-height: 35rem;
  }
}

.region-map-wrapper polygon.dark-gray,
.region-map-wrapper .body-of-water.dark-gray {
  fill: #687c8d;
}

@media print, screen and (min-width: 40em) {
  .region-colorado .region-list-wrapper,
  .region-colorado .region-map-wrapper {
    width: 50%;
  }

  .region-colorado .region-map-wrapper {
    margin-top: -9rem;
  }
}

@media screen and (min-width: 40em) {
  .region-colorado .region-list-wrapper {
    width: 70%;
  }

  .region-colorado .region-map-wrapper {
    width: 30%;
  }
}

@media screen and (min-width: 46.875em) {
  .region-colorado .region-list-wrapper {
    width: 60%;
  }

  .region-colorado .region-map-wrapper {
    width: 40%;
  }
}

.region-modal {
  background-color: rgba(56, 142, 183, 0.9);
  top: 0px !important;
}

.region-modal-trigger {
  cursor: pointer;
}

.region-modal-trigger:focus {
  outline: none;
}

.reveal .region-modal__content {
  background-color: #eaecf0;
  padding: 1.875rem 1.25rem;
  max-width: 58.25rem;
  margin: 0 auto;
}

.reveal .region-modal__content p a,
.reveal .region-modal__content li a {
  color: #33c1d2;
  text-decoration: underline;
}

@media print, screen and (min-width: 40em) {
  .reveal .region-modal__content {
    padding: 4.75rem 3.375rem;
    left: 11.25rem;
    right: 11.25rem;
    margin-bottom: 1rem;
  }
}

.region-modal__header {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  border-bottom: 1px solid white;
  margin-bottom: 1rem;
}

.region-modal__header h2,
.region-modal__header .close-button {
  color: #33c1d2;
  text-transform: uppercase;
  font-family: "Josefin Sans", sans-serif;
  font-weight: 700;
}

@media print, screen and (min-width: 40em) {
  .region-modal__header h2 {
    font-size: 2.125rem;
  }
}

.region-modal__header .close-button {
  font-size: 1.375rem;
  display: flex;
  align-items: flex-end;
  position: static;
}

@media screen and (max-width: 31.25em) {
  .region-modal__header .close-button {
    position: absolute;
    top: -0.625rem;
    right: 0;
  }
}

.region-modal__header svg {
  margin-left: 1rem;
}

@media screen and (max-width: 31.25em) {
  .region-modal__header {
    display: block;
    padding-top: 3.75rem;
    position: relative;
  }
}

.region-modal__counties {
  font-size: 1rem;
  font-style: italic;
  color: #94a2b2;
}

.region-modal__description {
  font-size: 1.125rem;
  margin-bottom: 2.25rem;
}

.region-modal__practitioner-info {
  background-color: white;
  padding: 1.75rem 1rem;
  margin-bottom: 2rem;
}

@media print, screen and (min-width: 40em) {
  .region-modal__practitioner-info {
    width: 50%;
  }
}

@media screen and (max-width: 25em) {
  .region-modal__practitioner-info {
    overflow-wrap: break-word;
  }
}

.practitioner-heading {
  font-size: 1rem;
  font-style: italic;
  color: #94a2b2;
  margin-bottom: 0.5rem;
}

.practitioner-name {
  font-family: "Josefin Sans", sans-serif;
  font-weight: 700;
  color: #388eb7;
  font-size: 1.25rem;
  text-transform: uppercase;
  margin-bottom: 0.5rem;
}

.practitioner-phone,
.practitioner-email {
  display: block;
  font-weight: 600;
  color: #687c8d;
  font-size: 1.125rem;
}

.practitioner-phone {
  color: #687c8d;
  margin-bottom: 0.5rem;
}

.practitioner-email {
  color: #33c1d2;
}

.region-modal__additional-links a {
  display: block;
  font-family: "Josefin Sans", sans-serif;
  font-size: 1rem;
  color: #388eb7;
  text-transform: uppercase;
  border-bottom: 1px solid white;
  margin-bottom: 0.5rem;
}

@media print, screen and (min-width: 40em) {
  .region-modal__additional-links a {
    max-width: 56%;
  }
}

.region-modal__additional-links a:last-of-type {
  border-bottom: none;
  margin-bottom: 0;
}

.region-modal__additional-links a svg {
  margin-left: 1rem;
}

/*----------  Get Involved  ----------*/

.get-involved-page {
  /* --- Page Builder Overrides ---*/
}

.get-involved-page .boxes:not(.boxes-with-background) .boxes__box .box__cta .btn,
.get-involved-page .boxes:not(.boxes-with-background) .boxes__box .box__cta .embedded-form button,
.embedded-form .get-involved-page .boxes:not(.boxes-with-background) .boxes__box .box__cta button,
.get-involved-page .boxes:not(.boxes-with-background) .boxes__box .box__cta .embedded-form input[type=submit],
.embedded-form .get-involved-page .boxes:not(.boxes-with-background) .boxes__box .box__cta input[type=submit] {
  background-color: #388eb7;
  color: #ffcf37;
}

.get-involved-page .boxes:not(.boxes-with-background) .boxes__box .box__cta .btn:hover,
.get-involved-page .boxes:not(.boxes-with-background) .boxes__box .box__cta .embedded-form button:hover,
.embedded-form .get-involved-page .boxes:not(.boxes-with-background) .boxes__box .box__cta button:hover,
.get-involved-page .boxes:not(.boxes-with-background) .boxes__box .box__cta .embedded-form input[type=submit]:hover,
.embedded-form .get-involved-page .boxes:not(.boxes-with-background) .boxes__box .box__cta input[type=submit]:hover,
.get-involved-page .boxes:not(.boxes-with-background) .boxes__box .box__cta .btn:focus,
.get-involved-page .boxes:not(.boxes-with-background) .boxes__box .box__cta .embedded-form button:focus,
.embedded-form .get-involved-page .boxes:not(.boxes-with-background) .boxes__box .box__cta button:focus,
.get-involved-page .boxes:not(.boxes-with-background) .boxes__box .box__cta .embedded-form input[type=submit]:focus,
.embedded-form .get-involved-page .boxes:not(.boxes-with-background) .boxes__box .box__cta input[type=submit]:focus {
  background-color: #33c1d2;
  color: #fefefe;
}

.get-involved-options {
  background-position: top center;
  background-repeat: no-repeat;
  background-size: cover;
}

.get-involved-options .wrapper {
  padding-top: 5rem;
  padding-bottom: 6.25rem;
  color: #fefefe;
  overflow: hidden;
}

.get-involved-options .wrapper header {
  font-size: 1.25rem;
  line-height: 1.75rem;
}

.get-involved-options .wrapper .options__header {
  border-bottom: 1px solid #ffcf37;
  font-size: 1.25rem;
  line-height: 1.625rem;
  margin-top: 3.375rem;
  margin-bottom: 2.5rem;
}

.get-involved-options .wrapper .options__header h2 {
  color: #ffcf37;
  font-size: 3.125rem;
  line-height: 3.25rem;
  margin-bottom: 0;
  text-transform: uppercase;
}

@media print, screen and (max-width: 39.99875em) {
  .get-involved-options .wrapper .options__header h2 {
    font-size: 2.625rem;
    line-height: 2.875rem;
  }
}

.get-involved-options .wrapper .options__boxes {
  display: flex;
  flex-flow: row wrap;
  margin-right: -1.25rem;
  margin-left: -1.25rem;
}

@media print, screen and (min-width: 40em) {
  .get-involved-options .wrapper .options__boxes {
    margin-right: -1.25rem;
    margin-left: -1.25rem;
  }
}

@media print, screen and (min-width: 64em) {
  .get-involved-options .wrapper .options__boxes {
    margin-right: -1.25rem;
    margin-left: -1.25rem;
  }
}

.get-involved-options .wrapper .options__boxes .options__boxes__box {
  flex: 0 0 auto;
  width: calc(33.3333333333% - 2.5rem);
  margin-left: 1.25rem;
  margin-right: 1.25rem;
  font-size: 1rem;
  line-height: 1.625rem;
}

.get-involved-options .wrapper .options__boxes .options__boxes__box:nth-child(n+4) {
  padding-top: 2.5rem;
}

@media print, screen and (max-width: 63.99875em) {
  .get-involved-options .wrapper .options__boxes .options__boxes__box {
    flex: 0 0 auto;
    width: calc(50% - 2.5rem);
    margin-left: 1.25rem;
    margin-right: 1.25rem;
  }

  .get-involved-options .wrapper .options__boxes .options__boxes__box:nth-child(n+3) {
    padding-top: 2.5rem;
  }
}

@media print, screen and (max-width: 39.99875em) {
  .get-involved-options .wrapper .options__boxes .options__boxes__box {
    flex: 0 0 auto;
    width: calc(100% - 2.5rem);
    margin-left: 1.25rem;
    margin-right: 1.25rem;
  }

  .get-involved-options .wrapper .options__boxes .options__boxes__box:nth-child(n) {
    padding-top: 0;
    padding-bottom: 2.5rem;
  }

  .get-involved-options .wrapper .options__boxes .options__boxes__box:last-child {
    padding-bottom: 0;
  }
}

.get-involved-options .wrapper .options__boxes .options__boxes__box h3 {
  color: #ffcf37;
  font-size: 1.5rem;
  line-height: 1.875rem;
  text-transform: uppercase;
  font-weight: bold;
  padding-bottom: 0.5rem;
  border-bottom: 1px dotted #fefefe;
}

.get-involved-options .wrapper .options__boxes .options__boxes__box .btn,
.get-involved-options .wrapper .options__boxes .options__boxes__box .embedded-form button,
.embedded-form .get-involved-options .wrapper .options__boxes .options__boxes__box button,
.get-involved-options .wrapper .options__boxes .options__boxes__box .embedded-form input[type=submit],
.embedded-form .get-involved-options .wrapper .options__boxes .options__boxes__box input[type=submit] {
  color: #388eb7;
}

.get-involved-options .wrapper .options__boxes .options__boxes__box .btn:hover,
.get-involved-options .wrapper .options__boxes .options__boxes__box .embedded-form button:hover,
.embedded-form .get-involved-options .wrapper .options__boxes .options__boxes__box button:hover,
.get-involved-options .wrapper .options__boxes .options__boxes__box .embedded-form input[type=submit]:hover,
.embedded-form .get-involved-options .wrapper .options__boxes .options__boxes__box input[type=submit]:hover,
.get-involved-options .wrapper .options__boxes .options__boxes__box .btn:focus,
.get-involved-options .wrapper .options__boxes .options__boxes__box .embedded-form button:focus,
.embedded-form .get-involved-options .wrapper .options__boxes .options__boxes__box button:focus,
.get-involved-options .wrapper .options__boxes .options__boxes__box .embedded-form input[type=submit]:focus,
.embedded-form .get-involved-options .wrapper .options__boxes .options__boxes__box input[type=submit]:focus {
  background-color: #fefefe;
  color: #388eb7;
}

/*----------  Testimonials  ----------*/

.testimonial-band {
  padding-top: 5rem;
  padding-bottom: 5rem;
}

.testimonial {
  display: flex;
  flex-flow: row wrap;
  margin-right: -0.5rem;
  margin-left: -0.5rem;
}

@media print, screen and (min-width: 40em) {
  .testimonial {
    margin-right: -0.5rem;
    margin-left: -0.5rem;
  }
}

@media print, screen and (min-width: 64em) {
  .testimonial {
    margin-right: -0.5rem;
    margin-left: -0.5rem;
  }
}

.testimonial__text {
  flex: 0 0 auto;
  width: calc(50% - 1rem);
  margin-left: 0.5rem;
  margin-right: 0.5rem;
  padding-right: 1.875rem;
}

.testimonial__text h2 {
  text-transform: uppercase;
  font-size: 2.625rem;
  line-height: 2.625rem;
  color: #33c1d2;
  font-weight: 400;
}

@media screen and (max-width: 31.25em) {
  .testimonial__text h2 {
    font-size: 1.875rem;
    line-height: 2.25rem;
  }
}

.testimonial__text p {
  font-size: 1.375rem;
}

@media print, screen and (max-width: 63.99875em) {
  .testimonial__text {
    flex: 0 0 auto;
    width: calc(100% - 1rem);
    margin-left: 0.5rem;
    margin-right: 0.5rem;
    padding-right: 0;
    order: 2;
  }
}

@media print, screen and (max-width: 39.99875em) {
  .testimonial__text {
    text-align: center;
  }
}

.testimonial__image {
  flex: 0 0 auto;
  width: calc(50% - 1rem);
  margin-left: 0.5rem;
  margin-right: 0.5rem;
}

.testimonial__image img {
  display: block;
  margin: 0 auto;
}

@media print, screen and (max-width: 63.99875em) {
  .testimonial__image {
    flex: 0 0 auto;
    width: calc(100% - 1rem);
    margin-left: 0.5rem;
    margin-right: 0.5rem;
    order: 1;
    margin-bottom: 2.5rem;
  }
}

/*----------  Statistics  ----------*/

.statistics-band {
  background-color: #388eb7;
  padding-top: 5rem;
  padding-bottom: 11.875rem;
  position: relative;
  border-radius: 0 0 0 5.9375rem;
  color: #fff;
}

.statistics-band:after {
  content: "";
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 48px 37.5px 0 37.5px;
  border-color: #388eb7 transparent transparent transparent;
  position: absolute;
  bottom: -48px;
  left: 16%;
}

@media print, screen and (max-width: 63.99875em) {
  .statistics-band {
    padding-bottom: 7.5rem;
  }

  .statistics-band:after {
    left: 6.25rem;
  }
}

.statistics-columns {
  display: flex;
  flex-flow: row wrap;
}

.statistics-columns__primary {
  flex: 0 0 auto;
  width: calc(33.3333333333% - 1rem);
  margin-left: 0.5rem;
  margin-right: 0.5rem;
  text-align: center;
  padding-left: 2.1875rem;
  padding-right: 2.1875rem;
}

.statistics-columns__primary h2 {
  color: #fff;
  text-transform: uppercase;
  font-size: 2.625rem;
  line-height: 2.625rem;
  font-weight: 300;
  border-bottom: 2px solid #ffcf37;
  padding-bottom: 1.25rem;
  padding-left: 1.875rem;
  padding-right: 1.875rem;
  margin-bottom: 1.25rem;
  position: relative;
}

.statistics-columns__primary h2:after {
  content: "";
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 15px 12px 0 12px;
  border-color: #ffcf37 transparent transparent transparent;
  position: absolute;
  bottom: -17px;
  left: 50%;
  margin-left: -12px;
}

@media print, screen and (max-width: 63.99875em) {
  .statistics-columns__primary {
    flex: 0 0 auto;
    width: calc(100% - 1rem);
    margin-left: 0.5rem;
    margin-right: 0.5rem;
    max-width: 25rem;
    margin-left: auto;
    margin-right: auto;
    padding-left: 0;
    padding-right: 0;
  }
}

.statistics-columns__secondary {
  flex: 0 0 auto;
  width: calc(66.6666666667% - 1rem);
  margin-left: 0.5rem;
  margin-right: 0.5rem;
  background-color: #94a2b2;
  background-image: url(/dist/images/stat-grid-bg-photo.jpg);
  background-size: cover;
  background-repeat: no-repeat;
  background-position: top left;
  padding: 3.125rem;
  border-radius: 3.125rem 0;
}

@media print, screen and (max-width: 63.99875em) {
  .statistics-columns__secondary {
    flex: 0 0 auto;
    width: calc(100% - 1rem);
    margin-left: 0.5rem;
    margin-right: 0.5rem;
    margin-top: 1.875rem;
  }
}

.stat-block {
  margin-bottom: 0.625rem;
}

.stat-block:before {
  content: url(/dist/images/arrow-gold-down.svg);
  width: 10px;
  height: 31px;
  display: block;
  margin: 0 auto;
}

.stat-block__figure {
  display: flex;
  align-items: center;
  justify-content: center;
  margin-top: -0.875rem;
  font-size: 3.75rem;
  font-weight: 700;
  background-image: url(/dist/images/stat-bg.svg);
  background-repeat: no-repeat;
  background-position: center center;
  background-repeat: no-repeat;
  min-height: 8.75rem;
  background-size: 8.75rem 8.75rem;
}

@media all and (-ms-high-contrast: none), (-ms-high-contrast: active) {
  .stat-block__figure {
    height: 8.75rem;
  }
}

.stat-block__figure sup {
  font-size: 2.1875rem;
}

.stat-block__text {
  text-transform: uppercase;
  font-size: 1.25rem;
  line-height: 1.75rem;
  font-weight: 700;
  font-family: "Josefin Sans", sans-serif;
  margin-top: -1.375rem;
}

.stat-block--lead:before {
  display: none;
}

.stat-block--lead .stat-block__figure {
  height: auto;
  background: none;
  color: #ffcf37;
  font-size: 5rem;
  line-height: 5rem;
}

.stat-block--lead .stat-block__figure sup {
  font-size: 2.5rem;
}

.stat-block--lead .stat-block__text {
  color: #fff;
  font-size: 1.5625rem;
  line-height: 1.75rem;
}

.secondary-stats__grid {
  display: flex;
  flex-flow: row wrap;
}

.secondary-stats__grid .stat-block {
  flex: 0 0 auto;
  width: calc(50% - 1rem);
  margin-left: 0.5rem;
  margin-right: 0.5rem;
}

.secondary-stats__grid .stat-block:before {
  content: url(/dist/images/arrow-gold-down.svg);
  margin-left: 4.125rem;
}

@media screen and (max-width: 35.3125em) {
  .secondary-stats__grid .stat-block {
    flex: 0 0 auto;
    width: calc(100% - 1rem);
    margin-left: 0.5rem;
    margin-right: 0.5rem;
  }
}

.secondary-stats__grid .stat-block__figure {
  max-width: 8.75rem;
}

.secondary-stats__grid .stat-block__text {
  max-width: 15.625rem;
  color: #fff;
}

.secondary-stats__lead {
  border-bottom: 2px solid #ffcf37;
  margin-left: 2.1875rem;
}

.secondary-stats__lead .stat-block::before,
.secondary-stats__lead .stat-block::after {
  display: table;
  content: " ";
  flex-basis: 0;
  order: 1;
}

.secondary-stats__lead .stat-block::after {
  clear: both;
}

.secondary-stats__lead .stat-block__figure,
.secondary-stats__lead .stat-block__text {
  display: block;
  float: left;
  min-height: 0;
  max-width: 30%;
}

.secondary-stats__lead .stat-block__text {
  max-width: 60%;
  margin-top: 0;
  margin-left: 1.875rem;
}

/*----------  Solutions and advocacy wheel  ----------*/

.solutions-band {
  margin-top: -6.25rem;
  position: relative;
  z-index: 1;
}

.solution-columns {
  display: flex;
  flex-flow: row wrap;
  margin-right: -0.5rem;
  margin-left: -0.5rem;
}

@media print, screen and (min-width: 40em) {
  .solution-columns {
    margin-right: -0.5rem;
    margin-left: -0.5rem;
  }
}

@media print, screen and (min-width: 64em) {
  .solution-columns {
    margin-right: -0.5rem;
    margin-left: -0.5rem;
  }
}

.solution-columns__copy {
  flex: 0 0 auto;
  width: calc(37.5% - 1rem);
  margin-left: 0.5rem;
  margin-right: 0.5rem;
  padding-top: 12.5rem;
  padding-left: 2.1875rem;
  padding-right: 2.1875rem;
}

@media print, screen and (max-width: 63.99875em) {
  .solution-columns__copy {
    flex: 0 0 auto;
    width: calc(100% - 1rem);
    margin-left: 0.5rem;
    margin-right: 0.5rem;
  }
}

.solution-columns__list {
  flex: 0 0 auto;
  width: calc(62.5% - 1rem);
  margin-left: 0.5rem;
  margin-right: 0.5rem;
}

@media print, screen and (max-width: 63.99875em) {
  .solution-columns__list {
    flex: 0 0 auto;
    width: calc(100% - 1rem);
    margin-left: 0.5rem;
    margin-right: 0.5rem;
  }
}

.solutions-links {
  display: flex;
  flex-flow: row wrap;
  margin-right: -1.875rem;
  margin-left: -1.875rem;
  padding-top: 2.5rem;
}

@media print, screen and (min-width: 40em) {
  .solutions-links {
    margin-right: -1.875rem;
    margin-left: -1.875rem;
  }
}

@media print, screen and (min-width: 64em) {
  .solutions-links {
    margin-right: -1.875rem;
    margin-left: -1.875rem;
  }
}

@media screen and (max-width: 46.875em) {
  .solutions-links {
    margin-right: 0;
    margin-left: 0;
  }
}

@media screen and (max-width: 46.875em) and (min-width: 40em) {
  .solutions-links {
    margin-right: 0;
    margin-left: 0;
  }
}

@media screen and (max-width: 46.875em) and (min-width: 64em) {
  .solutions-links {
    margin-right: 0;
    margin-left: 0;
  }
}

.solutions-links__cell {
  flex: 0 0 auto;
  width: calc(50% - 3.75rem);
  margin-left: 1.875rem;
  margin-right: 1.875rem;
  background-color: #33c1d2;
  padding: 1.25rem 1.875rem;
  margin-bottom: 1.25rem;
  background-image: url(/dist/images/icon-plus-blue.svg);
  background-position: center right;
  background-repeat: no-repeat;
  background-size: 9.375rem 9.375rem;
}

.solutions-links__cell:hover {
  background-color: #388eb7;
  background-image: url(/dist/images/icon-plus-dark-blue.svg);
}

@media screen and (max-width: 46.875em) {
  .solutions-links__cell {
    flex: 0 0 auto;
    width: 100%;
    margin-left: 0;
    margin-right: 0;
  }
}

.solutions-link__icon,
.solutions-modal__icon {
  float: left;
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: #fff;
  border-radius: 50%;
  width: 4.5rem;
  height: 4.5rem;
}

.solutions-link__icon img,
.solutions-modal__icon img {
  width: 2.625rem;
  height: auto;
}

.solutions-link__text {
  float: left;
  max-width: 63%;
  display: flex;
  align-items: center;
  margin-left: 1.5625rem;
  min-height: 4.5rem;
  color: #fff;
  text-transform: uppercase;
  font-size: 1.5rem;
  line-height: 1.5rem;
  font-weight: 700;
  font-family: "Josefin Sans", sans-serif;
}

.solutions-wheel {
  position: relative;
  max-width: 46.25rem;
  margin-left: auto;
  margin-right: auto;
}

.solutions-wheel map area {
  cursor: pointer;
}

@media print, screen and (max-width: 63.99875em) {
  .solutions-wheel {
    margin-top: 1.875rem;
  }
}

@media print, screen and (max-width: 39.99875em) {
  .solutions-wheel {
    display: none;
  }
}

.solutions-wheel__svg {
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
}

.image-map-text {
  transition: fill 0.3s;
}

.image-map-text--hover {
  fill: #ffcf37 !important;
}

.solutions-wheel__map {
  position: relative;
  z-index: 99;
}

.solutions-copy {
  text-align: center;
}

.solutions-copy h2,
.solutions-copy h3 {
  color: #33c1d2;
  text-transform: uppercase;
  font-size: 2.625rem;
  line-height: 2.625rem;
}

@media screen and (max-width: 31.25em) {
  .solutions-copy h2,
  .solutions-copy h3 {
    font-size: 1.875rem;
    line-height: 2.25rem;
  }
}

.solutions-copy h2:first-child {
  color: #687c8d;
  width: 100%;
  font-weight: 300;
  padding-bottom: 1.25rem;
  border-bottom: 2px solid #33c1d2;
  margin-bottom: 1.875rem;
}

.solutions-copy h3:first-of-type {
  margin-bottom: 1.875rem;
}

.solutions-copy p {
  font-size: 1.375rem;
}

.solutions-modal {
  width: 64.375rem;
  max-width: 90%;
  background-color: #eaecf0;
  padding: 5.9375rem 3.125rem 3.125rem 10rem;
  font-size: 1.125rem;
  color: #687c8d;
}

.solutions-modal h2 {
  color: #ff6400;
  text-transform: uppercase;
  font-family: "Josefin Sans", sans-serif;
  font-size: 2.125rem;
  font-weight: 700;
  border-bottom: 2px dotted #fff;
  margin-bottom: 0.9375rem;
}

.solutions-modal p a:not(.btn),
.solutions-modal li a:not(.btn) {
  color: #33c1d2;
  text-decoration: underline;
}

.solutions-modal .close-button {
  top: 5.9375rem;
  right: 3.125rem;
  font-family: "Josefin Sans", sans-serif;
  color: #33c1d2 !important;
  font-size: 1.25rem;
  font-weight: 700;
  text-transform: uppercase;
}

.solutions-modal .close-button span {
  vertical-align: bottom;
  display: inline-block;
}

.solutions-modal .close-button__text {
  font-size: 1.375rem;
  line-height: 1.375rem;
}

.solutions-modal .close-button__x {
  font-family: "Open Sans", sans-serif;
  font-size: 3.75rem;
  line-height: 1.875rem;
}

@media print, screen and (max-width: 63.99875em) {
  .solutions-modal {
    max-width: 100%;
    padding-top: 3.125rem;
    padding-left: 3.125rem;
  }

  .solutions-modal h2 {
    margin-top: 7.5rem;
  }

  .solutions-modal .close-button {
    top: 1.875rem;
  }
}

.solutions-modal__icon {
  position: absolute;
  left: 3.125rem;
  top: 4.375rem;
  width: 5.75rem;
  height: 5.75rem;
}

.solutions-modal__icon img {
  width: 3.75rem;
  height: auto;
}

@media print, screen and (max-width: 63.99875em) {
  .solutions-modal__icon {
    position: static;
  }
}

.about-page .full-width__content figure {
  float: left;
  width: 414px;
  max-width: 414px;
  margin: 0px 20px 20px 0px;
}

@media screen and (max-width: 43.75em) {
  .about-page .full-width__content figure {
    width: 100% !important;
    max-width: 100% !important;
  }
}

.about-page .full-width__content h1 {
  margin-top: 3.125rem;
}

.about-page .full-width__content h2 {
  font-size: 1.875rem;
}

.about-page .section-module.callout {
  margin-top: 0.75rem;
}

.about-page .section-module.callout + .section-module.boxes {
  padding-top: 0;
}

.about-page .section-module.boxes + .section-module.boxes {
  padding-bottom: 1rem;
}

/*
  Statistics Section
*/

.mentoring-landing__statistics {
  position: relative;
  z-index: 1;
}

.mentoring-landing__statistics .wrapper {
  padding-top: 5rem;
  padding-bottom: 5rem;
  text-align: center;
}

@media print, screen and (max-width: 63.99875em) {
  .mentoring-landing__statistics .wrapper {
    padding-top: 2.5rem;
    padding-bottom: 2.5rem;
  }
}

.mentoring-landing__statistics .wrapper .stats__columns {
  display: flex;
  flex-flow: row wrap;
  margin-right: -0.5rem;
  margin-left: -0.5rem;
}

@media print, screen and (min-width: 40em) {
  .mentoring-landing__statistics .wrapper .stats__columns {
    margin-right: -0.5rem;
    margin-left: -0.5rem;
  }
}

@media print, screen and (min-width: 64em) {
  .mentoring-landing__statistics .wrapper .stats__columns {
    margin-right: -0.5rem;
    margin-left: -0.5rem;
  }
}

.mentoring-landing__statistics .wrapper .stats__columns .stats__header_sidebar {
  flex: 0 0 auto;
  width: calc(33.3333333333% - 1rem);
  margin-left: 0.5rem;
  margin-right: 0.5rem;
  padding: 3.75rem 1.25rem;
  background: #388eb7;
  background: linear-gradient(#33c1d2, #388eb7);
  display: flex;
  align-items: center;
  justify-content: center;
}

@media print, screen and (max-width: 63.99875em) {
  .mentoring-landing__statistics .wrapper .stats__columns .stats__header_sidebar {
    flex: 0 0 auto;
    width: calc(100% - 1rem);
    margin-left: 0.5rem;
    margin-right: 0.5rem;
    margin-bottom: 2.5rem;
  }
}

.mentoring-landing__statistics .wrapper .stats__columns .stats__header_sidebar h2 {
  margin-bottom: 0;
  font-weight: 300;
  color: #fefefe;
  text-transform: uppercase;
  font-size: 4.375rem;
  line-height: 4.25rem;
}

@media print, screen and (max-width: 63.99875em) {
  .mentoring-landing__statistics .wrapper .stats__columns .stats__header_sidebar h2 {
    font-size: 3.125rem;
    line-height: 3rem;
  }
}

.mentoring-landing__statistics .wrapper .stats__columns .stats__columns__stats {
  flex: 0 0 auto;
  width: calc(66.6666666667% - 1rem);
  margin-left: 0.5rem;
  margin-right: 0.5rem;
  display: flex;
  flex-flow: row wrap;
  margin-right: -0.5rem;
  margin-left: -0.5rem;
}

@media print, screen and (min-width: 40em) {
  .mentoring-landing__statistics .wrapper .stats__columns .stats__columns__stats {
    margin-right: -0.5rem;
    margin-left: -0.5rem;
  }
}

@media print, screen and (min-width: 64em) {
  .mentoring-landing__statistics .wrapper .stats__columns .stats__columns__stats {
    margin-right: -0.5rem;
    margin-left: -0.5rem;
  }
}

@media print, screen and (max-width: 63.99875em) {
  .mentoring-landing__statistics .wrapper .stats__columns .stats__columns__stats {
    flex: 0 0 auto;
    width: calc(100% - 1rem);
    margin-left: 0.5rem;
    margin-right: 0.5rem;
  }
}

.mentoring-landing__statistics .wrapper .stats__columns .stats__columns__stats .statistic_container {
  flex: 0 0 auto;
  width: calc(50% - 1rem);
  margin-left: 0.5rem;
  margin-right: 0.5rem;
  border-right: 3px solid #eaecf0;
  display: flex;
  justify-content: center;
}

@media print, screen and (max-width: 39.99875em) {
  .mentoring-landing__statistics .wrapper .stats__columns .stats__columns__stats .statistic_container {
    flex: 0 0 auto;
    width: calc(100% - 1rem);
    margin-left: 0.5rem;
    margin-right: 0.5rem;
    border-right: none;
  }
}

.mentoring-landing__statistics .wrapper .stats__columns .stats__columns__stats .statistic_container:nth-child(even) {
  border-right: none;
}

.mentoring-landing__statistics .wrapper .stats__columns .stats__columns__stats .statistic_container .statistic__wrapper {
  width: 65%;
  padding: 2.5rem 0;
  border-bottom: 2px dotted #eaecf0;
}

.mentoring-landing__statistics .wrapper .stats__columns .stats__columns__stats .statistic_container .statistic__wrapper .statistic__icon {
  display: none;
}

@media print, screen and (max-width: 39.99875em) {
  .mentoring-landing__statistics .wrapper .stats__columns .stats__columns__stats .statistic_container .statistic__wrapper {
    width: 100%;
    padding-top: 0;
    padding-bottom: 1.25rem;
    margin-bottom: 1.25rem;
  }
}

.mentoring-landing__statistics .wrapper .stats__columns .stats__columns__stats .statistic_container:nth-last-child(-n+2) .statistic__wrapper {
  border-bottom: none;
  margin-bottom: 0;
}

@media print, screen and (max-width: 39.99875em) {
  .mentoring-landing__statistics .wrapper .stats__columns .stats__columns__stats .statistic_container:nth-last-child(-n+2) .statistic__wrapper {
    border-bottom: 2px dotted #eaecf0;
    margin-bottom: 1.25rem;
  }

  .mentoring-landing__statistics .wrapper .stats__columns .stats__columns__stats .statistic_container:nth-last-child(-n+1) .statistic__wrapper {
    border-bottom: none;
    margin-bottom: 0;
  }
}

/*
  Background Image module
*/

.mentoring-landing__ctas {
  background-position: top center;
  background-repeat: no-repeat;
  background-size: cover;
  position: relative;
  z-index: 0;
  margin-top: -6.25rem;
  padding-top: 6.25rem;
}

@media print, screen and (max-width: 39.99875em) {
  .mentoring-landing__ctas {
    background-image: none !important;
  }
}

.mentoring-landing__ctas .mobile-background-image {
  margin-top: -6.25rem;
  padding-top: 6.25rem;
  background-position: top center;
  background-repeat: no-repeat;
  background-size: cover;
  display: none;
}

@media print, screen and (max-width: 39.99875em) {
  .mentoring-landing__ctas .mobile-background-image {
    display: block;
    height: 100vh;
    max-height: 25rem;
  }
}

.mentoring-landing__ctas .wrapper {
  padding-top: 5rem;
  padding-bottom: 5rem;
}

@media print, screen and (max-width: 39.99875em) {
  .mentoring-landing__ctas .wrapper {
    text-align: center;
    padding-bottom: 3.75rem;
    padding-top: 0;
    margin-top: -3.75rem;
  }
}

.mentoring-landing__ctas .wrapper header {
  color: #687c8d;
  font-size: 1.125rem;
  line-height: 1.5625rem;
}

.mentoring-landing__ctas .wrapper header h2 {
  color: #ff6400;
  font-size: 3.1875rem;
  line-height: 2.75rem;
  text-transform: uppercase;
}

@media screen and (max-width: 26.25em) {
  .mentoring-landing__ctas .wrapper header h2 {
    font-size: 2.375rem;
  }
}

.mentoring-landing__ctas .wrapper header .mentoring-landing__ctas__header-content {
  max-width: 60%;
}

@media print, screen and (max-width: 63.99875em) {
  .mentoring-landing__ctas .wrapper header .mentoring-landing__ctas__header-content {
    max-width: 100%;
  }
}

.mentoring-landing__ctas .wrapper header .landing-ctas__header {
  margin-top: 2.5rem;
  margin-bottom: 1.25rem;
  border-bottom: 1px dotted #556573;
}

.mentoring-landing__ctas .wrapper header .landing-ctas__header h3 {
  color: #ff6400;
  text-transform: uppercase;
  font-size: 1.25rem;
  line-height: 1.125rem;
}

.mentoring-landing__ctas .wrapper .landing-ctas .landing-ctas__cta {
  display: inline-block;
  margin-bottom: 1.875rem;
  margin-right: 1.875rem;
}

.mentoring-landing__ctas .wrapper .landing-ctas .landing-ctas__cta:last-child {
  margin-right: 0;
  margin-bottom: 0;
}

.mentoring-landing__ctas .wrapper .landing-ctas .landing-ctas__cta .btn,
.mentoring-landing__ctas .wrapper .landing-ctas .landing-ctas__cta .embedded-form button,
.embedded-form .mentoring-landing__ctas .wrapper .landing-ctas .landing-ctas__cta button,
.mentoring-landing__ctas .wrapper .landing-ctas .landing-ctas__cta .embedded-form input[type=submit],
.embedded-form .mentoring-landing__ctas .wrapper .landing-ctas .landing-ctas__cta input[type=submit] {
  max-width: 100%;
}

@media print, screen and (max-width: 39.99875em) {
  .mentoring-landing__ctas .wrapper .landing-ctas .landing-ctas__cta {
    margin-right: 0;
    margin-bottom: 1.25rem;
    display: block;
  }
}

/*
  "How It Works" Module
*/

.mentoring-landing__steps {
  padding-top: 5rem;
  padding-bottom: 5rem;
  color: #3f4e59;
}

.mentoring-landing__steps .wrapper {
  display: flex;
  flex-flow: row wrap;
}

.mentoring-landing__steps .wrapper .section__primary {
  flex: 0 0 auto;
  width: calc(66.6666666667% - 1rem);
  margin-left: 0.5rem;
  margin-right: 0.5rem;
  padding-right: 4.375rem;
}

@media screen and (max-width: 62.5em) {
  .mentoring-landing__steps .wrapper .section__primary {
    flex: 0 0 auto;
    width: calc(58.3333333333% - 1rem);
    margin-left: 0.5rem;
    margin-right: 0.5rem;
  }
}

@media screen and (max-width: 46.875em) {
  .mentoring-landing__steps .wrapper .section__primary {
    flex: 0 0 auto;
    width: calc(100% - 1rem);
    margin-left: 0.5rem;
    margin-right: 0.5rem;
    padding-right: 0;
  }
}

.mentoring-landing__steps .wrapper .section__primary header {
  color: #ff6400;
  text-transform: uppercase;
  font-size: 3.1875rem;
  line-height: 2.75rem;
  margin-bottom: 2.5rem;
}

@media screen and (max-width: 46.875em) {
  .mentoring-landing__steps .wrapper .section__primary header {
    text-align: center;
  }
}

.mentoring-landing__steps .wrapper .section__primary .steps__wrapper {
  display: flex;
  flex-flow: row wrap;
  margin-right: -0.9375rem;
  margin-left: -0.9375rem;
}

@media print, screen and (min-width: 40em) {
  .mentoring-landing__steps .wrapper .section__primary .steps__wrapper {
    margin-right: -0.9375rem;
    margin-left: -0.9375rem;
  }
}

@media print, screen and (min-width: 64em) {
  .mentoring-landing__steps .wrapper .section__primary .steps__wrapper {
    margin-right: -0.9375rem;
    margin-left: -0.9375rem;
  }
}

.mentoring-landing__steps .wrapper .section__primary .steps__wrapper .steps__container {
  flex: 0 0 auto;
  width: calc(33.3333333333% - 1.875rem);
  margin-left: 0.9375rem;
  margin-right: 0.9375rem;
  font-size: 1rem;
  line-height: 2.1875rem;
  color: #687c8d;
}

@media screen and (max-width: 62.5em) {
  .mentoring-landing__steps .wrapper .section__primary .steps__wrapper .steps__container {
    flex: 0 0 auto;
    width: calc(50% - 1.875rem);
    margin-left: 0.9375rem;
    margin-right: 0.9375rem;
  }
}

@media screen and (max-width: 46.875em) {
  .mentoring-landing__steps .wrapper .section__primary .steps__wrapper .steps__container {
    text-align: center;
    padding-top: 1.25rem;
    flex: 0 0 auto;
    width: calc(100% - 1rem);
    margin-left: 0.5rem;
    margin-right: 0.5rem;
  }

  .mentoring-landing__steps .wrapper .section__primary .steps__wrapper .steps__container .step__icon__wrapper {
    margin: 0 auto;
  }

  .mentoring-landing__steps .wrapper .section__primary .steps__wrapper .steps__container.steps__container__cta .step__container__icon {
    display: none;
  }
}

.mentoring-landing__steps .wrapper .section__primary .steps__wrapper .steps__container .step__container__icon .step__icon__wrapper {
  width: 5.625rem;
  height: 5.625rem;
  display: flex;
  justify-content: center;
  align-items: center;
}

.mentoring-landing__steps .wrapper .section__primary .steps__wrapper .steps__container .step__container__icon .step__icon__wrapper img {
  width: 100%;
  max-height: 100%;
}

.mentoring-landing__steps .wrapper .section__primary .steps__wrapper .steps__container .step__header {
  margin-top: 1.25rem;
  font-size: 1.278125rem;
  line-height: 1.3125rem;
  text-transform: uppercase;
  font-weight: 700;
}

.mentoring-landing__steps .wrapper .section__sidebar {
  flex: 0 0 auto;
  width: calc(33.3333333333% - 1rem);
  margin-left: 0.5rem;
  margin-right: 0.5rem;
  padding-top: 1.25rem;
  color: #fefefe;
}

@media screen and (max-width: 62.5em) {
  .mentoring-landing__steps .wrapper .section__sidebar {
    flex: 0 0 auto;
    width: calc(41.6666666667% - 1rem);
    margin-left: 0.5rem;
    margin-right: 0.5rem;
  }
}

@media screen and (max-width: 46.875em) {
  .mentoring-landing__steps .wrapper .section__sidebar {
    flex: 0 0 auto;
    width: calc(100% - 1rem);
    margin-left: 0.5rem;
    margin-right: 0.5rem;
  }
}

.mentoring-landing__steps .wrapper .section__sidebar .section__sidebar__wrapper {
  background-color: #33c1d2;
  background: linear-gradient(#33c1d2, #388eb7);
  padding: 3.75rem 2.5rem 2.5rem;
  font-size: 1rem;
  line-height: 1.375rem;
}

.mentoring-landing__steps .wrapper .section__sidebar .section__sidebar__wrapper header h3 {
  color: #ffcf37;
  font-size: 1.875rem;
  line-height: 1.875rem;
  text-transform: uppercase;
}

@media screen and (max-width: 46.875em) {
  .mentoring-landing__steps .wrapper .section__sidebar .section__sidebar__wrapper header h3 {
    text-align: center;
  }
}

.content-band-search {
  padding-top: 5rem;
  padding-bottom: 5rem;
}

.search-summary {
  font-size: 1.625rem;
  color: #33c1d2;
  margin-bottom: 3.75rem;
}

.search-section-label {
  margin-top: 0;
  text-transform: uppercase;
  font-size: 1.25rem;
  color: #ff6400;
  font-weight: 700;
  border-bottom: 2px dotted #ff6400;
  margin-bottom: 1.25rem;
}

.search-results {
  list-style-type: none;
  margin-left: 0;
  max-width: 60rem;
}

.search-results li {
  margin-bottom: 2.1875rem;
  font-size: 1.25rem;
  line-height: 1.5rem;
}

.search-results h3 {
  font-family: "Open Sans", sans-serif;
  color: #388eb7;
  font-weight: 600;
  font-size: 1.25rem;
}

.search-results h3 a {
  color: #388eb7;
}

.search-results h3 a:hover {
  color: #33c1d2;
}

.blog-listing-content-band {
  padding-top: 5rem;
  padding-bottom: 5rem;
  overflow: hidden;
}

.blog-listing {
  display: flex;
  flex-flow: row wrap;
  margin-right: -1.4375rem;
  margin-left: -1.4375rem;
}

@media print, screen and (min-width: 40em) {
  .blog-listing {
    margin-right: -1.4375rem;
    margin-left: -1.4375rem;
  }
}

@media print, screen and (min-width: 64em) {
  .blog-listing {
    margin-right: -1.4375rem;
    margin-left: -1.4375rem;
  }
}

@media print, screen and (max-width: 39.99875em) {
  .blog-listing {
    margin-left: 0;
    margin-right: 0;
  }
}

.blog-cell {
  flex: 0 0 auto;
  width: calc(33.3333333333% - 2.875rem);
  margin-left: 1.4375rem;
  margin-right: 1.4375rem;
  margin-bottom: 2.875rem;
  padding-bottom: 2.875rem;
  border-bottom: 4px solid #eaecf0;
}

@media print, screen and (max-width: 63.99875em) {
  .blog-cell {
    flex: 0 0 auto;
    width: calc(50% - 2.875rem);
    margin-left: 1.4375rem;
    margin-right: 1.4375rem;
  }
}

@media print, screen and (max-width: 39.99875em) {
  .blog-cell {
    flex: 0 0 auto;
    width: 100%;
    margin-left: 0;
    margin-right: 0;
  }
}

.blog-cell__image {
  display: block;
  overflow: hidden;
  border-radius: 30px 0 30px 0;
  margin-bottom: 1.25rem;
  position: relative;
}

.blog-cell__image:after {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  width: 100%;
  border: 10px solid transparent;
  border-radius: 30px 0 30px 0;
  transition: border-color 0.3s;
}

.blog-cell__image:hover:after {
  border: 10px solid rgba(51, 193, 210, 0.7);
}

.blog-cell__image img {
  display: block;
  width: 100%;
}

.blog-cell__categories {
  margin-bottom: 1.25rem;
}

.blog-cell__categories .btn,
.blog-cell__categories .embedded-form button,
.embedded-form .blog-cell__categories button,
.blog-cell__categories .embedded-form input[type=submit],
.embedded-form .blog-cell__categories input[type=submit] {
  margin-right: 0.625rem;
  margin-bottom: 0.625rem;
}

.blog-cell__categories .btn:hover,
.blog-cell__categories .embedded-form button:hover,
.embedded-form .blog-cell__categories button:hover,
.blog-cell__categories .embedded-form input[type=submit]:hover,
.embedded-form .blog-cell__categories input[type=submit]:hover {
  color: #ff9322;
  background-color: #eaecf0;
}

.blog-cell__date {
  margin-bottom: 1.25rem;
  color: #3f4e59;
}

.blog-cell__title {
  margin-bottom: 1.875rem;
  display: block;
}

.blog-cell__title h2 {
  font-family: "Open Sans", sans-serif;
  font-weight: 700;
  color: #388eb7;
  margin-bottom: 0;
  transition: color 0.3s;
}

.blog-cell__title:hover h2 {
  color: #33c1d2;
}

.blog-cell__read-more:hover {
  background-color: #ff6400;
  color: #fff;
}

.blog-listing-content-band .pagination {
  margin-top: 2.1875rem;
}

/*----------  Blog detail  ----------*/

.blog-detail-page .standard-two-col__main {
  padding-top: 3rem;
  padding-right: 3.4375rem;
}

.blog-detail-page .standard-two-col__side {
  padding-top: 10rem;
}

@media screen and (max-width: 66.25em) {
  .blog-detail-page .standard-two-col__main {
    padding-right: 0;
  }

  .blog-detail-page .content-band--collapse-right {
    padding-right: 1rem;
  }

  .blog-detail-page .standard-two-col__side {
    padding-top: 3.75rem;
  }
}

.blog-detail-image {
  border-radius: 30px 0 30px 0;
  overflow: hidden;
  margin-bottom: 1.5625rem;
}

.blog-detail-image img {
  width: 100%;
  display: block;
}

.blog-detail-categories {
  margin-bottom: 1.875rem;
}

.blog-detail-categories .btn,
.blog-detail-categories .embedded-form button,
.embedded-form .blog-detail-categories button,
.blog-detail-categories .embedded-form input[type=submit],
.embedded-form .blog-detail-categories input[type=submit] {
  margin-right: 1.25rem;
  margin-bottom: 0.625rem;
  padding-right: 0.625rem;
  padding-left: 0.625rem;
}

.blog-detail-categories .btn:hover,
.blog-detail-categories .embedded-form button:hover,
.embedded-form .blog-detail-categories button:hover,
.blog-detail-categories .embedded-form input[type=submit]:hover,
.embedded-form .blog-detail-categories input[type=submit]:hover {
  color: #ff9322;
  background-color: #eaecf0;
}

.blog-detail-date {
  color: #3f4e59;
  margin-bottom: 1.25rem;
}

h1.blog-detail-title {
  font-family: "Open Sans", sans-serif;
  font-weight: 700;
  font-size: 1.875rem;
  line-height: 2.25rem;
  color: #388eb7;
  margin-bottom: 1.875rem;
}

.blog-detail-content {
  padding-top: 2.1875rem;
  border-top: 4px solid #eaecf0;
  color: #3f4e59;
}

.blog-detail-content p a,
.blog-detail-content li a {
  color: #33c1d2;
  text-decoration: underline;
}

.sidebar-search {
  position: relative;
  padding-right: 5rem;
}

.sidebar-search button {
  position: absolute;
  right: 0;
  top: 0.1875rem;
}

.sidebar-search button:hover {
  background-color: #388eb7;
  color: #ffcf37;
}

.blog-list-block li {
  padding-bottom: 1.25rem;
  margin-bottom: 1.25rem;
  border-bottom: 2px solid #fff;
}

.blog-list-block li a {
  color: #388eb7;
}

.blog-list-block li a:hover {
  color: #ff6400;
}

.blog-list-block li span {
  display: block;
  color: #94a2b2;
  font-weight: 600;
}

.blog-list-block li:last-child {
  border-bottom: 0;
}

.inline-list-block ul {
  margin-left: 0;
}

.inline-list-block ul li {
  list-style: none;
  display: inline-block;
  margin-right: 0.625rem;
  margin-bottom: 0.625rem;
}

/**
  Our Impact Page
*/

/***********************************************
  First Section, Blue Background with Dark Blue sidebar on Left/Right
*/

.our-impact__top {
  color: #fefefe;
}

.our-impact__top .wrapper {
  padding-top: 5rem;
  padding-bottom: 6.25rem;
}

.our-impact__top__wrapper {
  display: flex;
  flex-flow: row wrap;
  margin-right: -0.5rem;
  margin-left: -0.5rem;
  justify-content: center;
}

@media print, screen and (min-width: 40em) {
  .our-impact__top__wrapper {
    margin-right: -0.5rem;
    margin-left: -0.5rem;
  }
}

@media print, screen and (min-width: 64em) {
  .our-impact__top__wrapper {
    margin-right: -0.5rem;
    margin-left: -0.5rem;
  }
}

.our-impact__top .top__sidebar {
  flex: 0 0 auto;
  width: calc(33.3333333333% - 1rem);
  margin-left: 0.5rem;
  margin-right: 0.5rem;
  padding: 0 2.5rem;
}

@media print, screen and (max-width: 63.99875em) {
  .our-impact__top .top__sidebar {
    transform: translateY(-7.5rem);
    margin-bottom: -7.5rem;
    flex: 0 0 auto;
    width: calc(100% - 1rem);
    margin-left: 0.5rem;
    margin-right: 0.5rem;
  }
}

.our-impact__top .top__sidebar__wrapper {
  background-color: #388eb7;
  padding: 2.5rem 1.25rem;
  display: flex;
  justify-items: center;
  align-items: center;
  flex-direction: column;
}

.our-impact__top .top__sidebar__wrapper h2 {
  padding-top: 1.875rem;
  font-size: 2.1875rem;
  line-height: 2.3125rem;
  text-transform: uppercase;
  text-align: center;
  max-width: 100%;
}

.our-impact__top .top__content {
  flex: 0 0 auto;
  width: calc(66.6666666667% - 1rem);
  margin-left: 0.5rem;
  margin-right: 0.5rem;
  display: flex;
  flex-flow: row wrap;
}

@media screen and (max-width: 51.875em) {
  .our-impact__top .top__content {
    flex: 0 0 auto;
    width: calc(100% - 1rem);
    margin-left: 0.5rem;
    margin-right: 0.5rem;
  }
}

.our-impact__top .top__content .top__statistic {
  flex: 0 0 auto;
  width: calc(50% - 1rem);
  margin-left: 0.5rem;
  margin-right: 0.5rem;
  padding: 2.5rem 1.25rem 0;
}

@media screen and (max-width: 41.875em) {
  .our-impact__top .top__content .top__statistic {
    flex: 0 0 auto;
    width: calc(100% - 1rem);
    margin-left: 0.5rem;
    margin-right: 0.5rem;
  }
}

.our-impact__top .top__content .statistic__wrapper {
  display: flex;
  flex-flow: row wrap;
  margin-right: -0.5rem;
  margin-left: -0.5rem;
}

@media print, screen and (min-width: 40em) {
  .our-impact__top .top__content .statistic__wrapper {
    margin-right: -0.5rem;
    margin-left: -0.5rem;
  }
}

@media print, screen and (min-width: 64em) {
  .our-impact__top .top__content .statistic__wrapper {
    margin-right: -0.5rem;
    margin-left: -0.5rem;
  }
}

.our-impact__top .top__content .statistic__wrapper .statistic__icon {
  flex: 0 0 auto;
  width: calc(33.3333333333% - 1rem);
  margin-left: 0.5rem;
  margin-right: 0.5rem;
  display: flex;
  align-items: center;
  justify-content: flex-start;
}

.our-impact__top .top__content .statistic__wrapper .statistic__icon .statistic__icon__wrapper {
  width: 5rem;
  height: 5rem;
  max-width: 100%;
  max-height: 100%;
  padding: 0;
  margin-bottom: 0;
  margin: 0;
}

.our-impact__top .top__content .statistic__wrapper .statistic__quantity {
  width: 100%;
  text-align: center;
}

.our-impact__top .top__content .statistic__wrapper .statistic__quantity sup {
  font-size: 2.0625rem;
  line-height: 3.125rem;
}

.our-impact__top .top__content .statistic__wrapper .statistic__quantity .statistic__quantity__value {
  color: #ffcf37;
  font-size: 4.5rem;
  line-height: 4.6875rem;
}

.our-impact__top .top__content .statistic__wrapper .statistic__quantity .statistic__quantity__detail {
  color: #fefefe;
  font-size: 1.25rem;
  line-height: 1.5rem;
}

.our-impact__top .top__content .statistic__wrapper .statistic__info {
  flex: 0 0 auto;
  width: calc(100% - 1rem);
  margin-left: 0.5rem;
  margin-right: 0.5rem;
  text-align: center;
  font-size: 1.125rem;
  line-height: 1.75rem;
}

/***********************************************
  First Section, Blue Background with Dark Blue sidebar on Left/Right
*/

.our-impact__middle .wrapper {
  display: flex;
  flex-flow: row wrap;
}

.our-impact__middle .statistics__column {
  flex: 0 0 auto;
  width: calc(33.3333333333% - 1rem);
  margin-left: 0.5rem;
  margin-right: 0.5rem;
  padding: 2.5rem 1.25rem;
  text-align: center;
  transform: translateY(-4.375rem);
  margin-bottom: -4.375rem;
  color: #94a2b2;
  font-size: 1.125rem;
  line-height: 1.5rem;
}

@media screen and (max-width: 59.375em) {
  .our-impact__middle .statistics__column {
    flex: 0 0 auto;
    width: calc(100% - 1rem);
    margin-left: 0.5rem;
    margin-right: 0.5rem;
    border-bottom: 2px dotted #94a2b2;
  }

  .our-impact__middle .statistics__column:nth-child(n+1) {
    padding-top: 2.5rem;
  }

  .our-impact__middle .statistics__column:last-child {
    border-bottom: none;
  }
}

.our-impact__middle .statistics__column .icon {
  margin: 0 auto;
}

.our-impact__middle .statistics__column h2 {
  color: #ff6400;
  font-weight: bold;
  font-size: 2.1875rem;
  line-height: 2.375rem;
  text-transform: uppercase;
  margin-top: 1.25rem;
}

.our-impact__middle .statistics__column h2::after {
  content: "";
  height: 0.3125rem;
  background-color: #ffcf37;
  display: block;
  margin: 0.625rem auto 1.25rem;
  max-width: 6.25rem;
}

.our-impact__middle .statistics__column.column-color-blue h2 {
  color: #388eb7;
}

.our-impact__middle .statistics__column.column-color-blue .statistics__column__stats .statistics__column__statistic .statistic__quantity__detail {
  color: #388eb7;
}

.our-impact__middle .statistics__column.column-color-blue .statistics__column__stats .statistics__column__statistic .statistic__quantity__value,
.our-impact__middle .statistics__column.column-color-blue .statistics__column__stats .statistics__column__statistic .statistic__container-text .statistic__quantity__value {
  color: #388eb7;
}

.our-impact__middle .statistics__column.column-color-orange h2 {
  color: #ff9322;
}

.our-impact__middle .statistics__column.column-color-orange .statistics__column__stats .statistics__column__statistic .statistic__quantity__detail {
  color: #94a2b2;
}

.our-impact__middle .statistics__column.column-color-orange .statistics__column__stats .statistics__column__statistic .statistic__quantity__value,
.our-impact__middle .statistics__column.column-color-orange .statistics__column__stats .statistics__column__statistic .statistic__container-text .statistic__quantity__value {
  color: #ff9322;
}

.our-impact__middle .statistics__column .statistics__column__stats {
  margin: 0 2.5rem;
}

.our-impact__middle .statistics__column .statistics__column__stats .statistics__column__statistic {
  padding-bottom: 1.25rem;
}

.our-impact__middle .statistics__column .statistics__column__stats .statistics__column__statistic:last-child {
  margin-bottom: 0;
}

.our-impact__middle .statistics__column .statistics__column__stats .statistics__column__statistic .statistic__quantity__detail {
  color: #ff6400;
  font-size: 1.25rem;
  line-height: 1.5rem;
}

.our-impact__middle .statistics__column .statistics__column__stats .statistics__column__statistic .statistic__container-text .statistic__quantity__value {
  color: #ff6400;
}

.our-impact__middle .statistics__column .statistics__column__stats .statistics__column__statistic .stat-block::before {
  content: url(/dist/images/arrow-dark-orange-down.svg);
}

.our-impact__middle .statistics__column .statistics__column__stats .statistics__column__statistic .stat-block .stat-block__figure {
  background-image: url(/dist/images/stat-bg-white.svg);
}

.our-impact__middle .statistics__column .statistics__column__stats .statistics__column__statistic .stat-block .statistic__info {
  font-weight: normal;
}

/***********************************************
  First Section, Blue Background with Dark Blue sidebar on Left/Right
*/

.our-impact__bottom {
  color: #fefefe;
}

@media screen and (max-width: 50em) {
  .our-impact__bottom {
    margin-top: 2.5rem;
  }
}

.our-impact__bottom__wrapper {
  text-align: center;
  padding-top: 5rem;
  padding-bottom: 6.25rem;
  display: flex;
  flex-flow: row wrap;
  margin-right: -0.5rem;
  margin-left: -0.5rem;
  justify-content: center;
}

@media print, screen and (min-width: 40em) {
  .our-impact__bottom__wrapper {
    margin-right: -0.5rem;
    margin-left: -0.5rem;
  }
}

@media print, screen and (min-width: 64em) {
  .our-impact__bottom__wrapper {
    margin-right: -0.5rem;
    margin-left: -0.5rem;
  }
}

.our-impact__bottom .bottom__sidebar {
  flex: 0 0 auto;
  width: calc(33.3333333333% - 1rem);
  margin-left: 0.5rem;
  margin-right: 0.5rem;
  padding: 0 2.5rem;
}

@media screen and (max-width: 50em) {
  .our-impact__bottom .bottom__sidebar {
    transform: translateY(-7.5rem);
    margin-bottom: -7.5rem;
    flex: 0 0 auto;
    width: calc(100% - 1rem);
    margin-left: 0.5rem;
    margin-right: 0.5rem;
  }
}

.our-impact__bottom .bottom__sidebar .statistic__wrapper .statistic__quantity .statistic__quantity__value {
  color: #fefefe;
}

.our-impact__bottom .bottom__sidebar .statistic__wrapper .statistic__quantity .statistic__quantity__detail {
  color: #ffcf37;
}

.our-impact__bottom .bottom__sidebar__wrapper {
  display: flex;
  justify-items: center;
  align-content: center;
  flex-direction: column;
}

.our-impact__bottom .bottom__sidebar__wrapper .icon {
  align-self: center;
}

.our-impact__bottom .bottom__sidebar__wrapper h2 {
  color: #fefefe;
  padding-top: 1.875rem;
  font-size: 2.1875rem;
  line-height: 2.3125rem;
  text-transform: uppercase;
}

.our-impact__bottom .bottom__sidebar__wrapper h2::after {
  content: "";
  height: 0.3125rem;
  background-color: #ffcf37;
  display: block;
  margin: 0.625rem auto 1.25rem;
  max-width: 6.25rem;
}

.our-impact__bottom .bottom__content {
  flex: 0 0 auto;
  width: calc(66.6666666667% - 1rem);
  margin-left: 0.5rem;
  margin-right: 0.5rem;
  color: #94a2b2;
  margin-top: 1.875rem;
  padding: 2.5rem 0 0.625rem;
  background-color: #eaecf0;
}

@media screen and (max-width: 50em) {
  .our-impact__bottom .bottom__content {
    flex: 0 0 auto;
    width: calc(100% - 1rem);
    margin-left: 0.5rem;
    margin-right: 0.5rem;
    margin-top: 3.75rem;
  }
}

.our-impact__bottom .bottom__content__wrapper {
  display: flex;
  flex-flow: row wrap;
  margin-right: -0.5rem;
  margin-left: -0.5rem;
}

@media print, screen and (min-width: 40em) {
  .our-impact__bottom .bottom__content__wrapper {
    margin-right: -0.5rem;
    margin-left: -0.5rem;
  }
}

@media print, screen and (min-width: 64em) {
  .our-impact__bottom .bottom__content__wrapper {
    margin-right: -0.5rem;
    margin-left: -0.5rem;
  }
}

.our-impact__bottom .bottom__content__wrapper .bottom__content__column {
  flex: 0 0 auto;
  width: calc(50% - 1rem);
  margin-left: 0.5rem;
  margin-right: 0.5rem;
}

@media screen and (max-width: 63.125em) {
  .our-impact__bottom .bottom__content__wrapper .bottom__content__column {
    flex: 0 0 auto;
    width: calc(100% - 1rem);
    margin-left: 0.5rem;
    margin-right: 0.5rem;
  }

  .our-impact__bottom .bottom__content__wrapper .bottom__content__column.bottom__content__statistics {
    padding-top: 2.5rem;
    padding-bottom: 2.5rem;
  }
}

.our-impact__bottom .bottom__content__wrapper .bottom__content__column.bottom__content__details {
  transform: translateY(-4.375rem);
  margin-bottom: -4.375rem;
  padding: 0 2.5rem;
}

.our-impact__bottom .bottom__content__wrapper .bottom__content__column.bottom__content__details .icon {
  margin: 0 auto;
}

.our-impact__bottom .bottom__content__wrapper .bottom__content__column.bottom__content__details h3 {
  color: #33c1d2;
  font-size: 2.1875rem;
  line-height: 2.125rem;
  text-transform: uppercase;
  margin: 1.25rem 0;
}

@media screen and (max-width: 25em) {
  .our-impact__bottom .bottom__content__wrapper .bottom__content__column.bottom__content__details h3 {
    font-size: 1.5rem;
  }
}

.our-impact__bottom .bottom__content__wrapper .bottom__content__column.bottom__content__statistics {
  display: flex;
  align-items: center;
  justify-content: center;
}

.our-impact__bottom .bottom__content__wrapper .bottom__content__column.bottom__content__statistics .bottom__statistic {
  margin: 0 2.5rem;
}

.our-impact__bottom .bottom__content__wrapper .bottom__content__column.bottom__content__statistics .bottom__statistic .statistic__wrapper .statistic__quantity::after {
  content: "";
  height: 0.3125rem;
  background-color: #ffcf37;
  display: block;
  margin: 0.625rem auto 1.25rem;
  max-width: 6.25rem;
}

.our-impact__bottom .bottom__content__wrapper .bottom__content__column.bottom__content__statistics .bottom__statistic .statistic__wrapper .statistic__quantity .statistic__quantity__value {
  color: #ff9322;
}

.our-impact__bottom .bottom__content__wrapper .bottom__content__column.bottom__content__statistics .bottom__statistic .statistic__wrapper .statistic__quantity .statistic__quantity__detail {
  color: #94a2b2;
  font-size: 1.25rem;
  line-height: 1.5rem;
}

.steps-page .standard-hero h1 img {
  width: 15.4375rem;
  height: 5.125rem;
  display: block;
  margin-bottom: 0.625rem;
}

.steps-container {
  padding-left: 3.125rem;
}

@media screen and (max-width: 47.5em) {
  .steps-container {
    padding-left: 0;
  }
}

.steps-content {
  padding: 6.25rem 0;
  border-left: 6.875rem solid #33c1d2;
}

@media screen and (max-width: 47.5em) {
  .steps-content {
    border-left: 0;
    padding-top: 0;
  }

  .steps-content .step:first-child {
    margin-top: -4.0625rem;
  }
}

.step {
  position: relative;
}

.step__icon {
  position: absolute;
  top: 0;
  left: -8.75rem;
  top: -5rem;
  border: 2px solid #eaecf0;
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: #fff;
  border-radius: 50%;
  width: 10rem;
  height: 10rem;
}

.step__icon img {
  width: 5rem;
  height: auto;
}

@media screen and (max-width: 47.5em) {
  .step__icon {
    position: static;
    margin: 0 auto 1.875rem auto;
    width: 8.125rem;
    height: 8.125rem;
  }

  .step__icon img {
    width: 3.75rem;
    height: auto;
  }
}

.step__heading {
  border-top: 2px dotted #94a2b2;
}

.step__heading h2 {
  float: left;
  height: 1.875rem;
  margin-top: -0.9375rem;
  margin-bottom: 0;
  min-width: 22.75rem;
  padding-left: 3.125rem;
  background: #ff6400;
  font-size: 1.375rem;
  line-height: 2.125rem;
  color: #fff;
  text-transform: uppercase;
  font-weight: 700;
  font-family: "Josefin Sans", sans-serif;
}

@media screen and (max-width: 47.5em) {
  .step__heading {
    border-top: 0;
  }

  .step__heading h2 {
    min-width: 0;
    display: block;
    float: none;
    margin-top: 0;
    padding-left: 1rem;
    padding-right: 1rem;
    text-align: center;
  }
}

.step__list {
  margin-top: -0.0625rem;
  margin-left: 6.25rem;
  min-height: 12.5rem;
  padding-top: 1.875rem;
  padding-bottom: 5.625rem;
  border-left: 2px solid #eaecf0;
}

@media screen and (max-width: 47.5em) {
  .step__list {
    margin-top: 0;
    margin-left: 0;
    border-left: 0;
    padding-left: 0;
    padding-bottom: 30px;
  }
}

.step:last-child .step__list {
  padding-bottom: 0;
  min-height: 0;
}

.steps-accordion {
  border: 0;
  padding-right: 2.5rem;
}

.steps-accordion .accordion-title {
  border: 0 !important;
  padding-top: 1.4375rem;
  padding-bottom: 1.0625rem;
  padding-left: 1.875rem;
  font-size: 1.5rem;
  font-family: "Josefin Sans", sans-serif;
  text-transform: uppercase;
  color: #33c1d2;
  font-weight: 700;
}

.steps-accordion .accordion-title:before {
  top: 50%;
  margin-top: -0.9375rem;
  left: -0.9375rem;
  right: auto;
  color: #fff;
  background-color: #33c1d2;
  width: 1.875rem;
  height: 1.875rem;
  border-radius: 1.875rem;
  display: flex;
  align-items: center;
  justify-content: center;
}

.steps-accordion .accordion-title:hover,
.steps-accordion .accordion-title:focus {
  background-color: #fff;
}

.steps-accordion .accordion-content {
  border: 0;
  background-color: #eaecf0;
  padding: 1.25rem;
}

.steps-accordion .accordion-content p:last-child {
  margin-bottom: 0;
}

@media screen and (max-width: 47.5em) {
  .steps-accordion {
    padding-right: 0;
  }

  .steps-accordion .accordion-title {
    padding-left: 2.5rem;
    font-size: 1.125rem;
  }

  .steps-accordion .accordion-title:before {
    left: 0.625rem;
    width: 1.25rem;
    height: 1.25rem;
    border-radius: 0.625rem;
    margin-top: -0.625rem;
  }
}

.steps-accordion .accordion-item.is-active .accordion-title {
  color: #388eb7;
}

.steps-accordion .accordion-item.is-active .accordion-title:before {
  background-color: #388eb7;
}

.step:last-child .accordion-item:last-child {
  position: relative;
}

.step:last-child .accordion-item:last-child:after {
  content: "";
  width: 0.375rem;
  height: 1.0625rem;
  background-color: #fff;
  position: absolute;
  left: -0.25rem;
  top: 2.9375rem;
}

.step:last-child .accordion-item.is-active:last-child:after {
  display: none;
}

.staff-content-band {
  padding-top: 5rem;
  padding-bottom: 5rem;
}

.staff-page .standard-hero p {
  margin-bottom: 0;
}

.lgbtq-badge {
  color: #3f4e59;
  margin-top: 0.625rem;
}

.staff-group-heading {
  border-bottom: 2px dotted #94a2b2;
  text-transform: uppercase;
  color: #33c1d2;
  font-weight: 600;
  font-size: 3.1875rem;
  line-height: 3.1875rem;
  margin-bottom: 1.875rem;
  margin-top: 5.625rem;
}

.staff-group-heading:first-child {
  margin-top: 0;
}

@media screen and (max-width: 47.5em) {
  .staff-group-heading {
    font-size: 2.5rem;
  }
}

.staff-accordion .accordion-title {
  border: 0 !important;
  background-color: #eaecf0;
  text-transform: uppercase;
  color: #33c1d2;
  text-transform: uppercase;
  font-family: "Josefin Sans", sans-serif;
  font-weight: 600;
  font-size: 1.75rem;
  padding-top: 1.4375rem;
  padding-bottom: 1.0625rem;
  padding-left: 4.0625rem;
}

.staff-accordion .accordion-title:before {
  top: 50%;
  margin-top: -0.9375rem;
  left: 1.25rem;
  right: auto;
  color: #fff;
  background-color: #33c1d2;
  width: 1.875rem;
  height: 1.875rem;
  border-radius: 1.875rem;
  display: flex;
  align-items: center;
  justify-content: center;
}

.staff-accordion .accordion-title:hover,
.staff-accordion .accordion-title:focus {
  background-color: #eaecf0;
}

@media screen and (max-width: 47.5em) {
  .staff-accordion .accordion-title {
    font-size: 1.25rem;
  }
}

.staff-accordion .is-active .accordion-title {
  color: #388eb7;
}

.staff-accordion .is-active .accordion-title:before {
  background-color: #388eb7;
}

.staff-accordion:last-child {
  margin-bottom: 0;
}

.staff-accordion .accordion-content {
  padding-top: 1.875rem;
  padding-bottom: 1.875rem;
}

.staff-grid {
  display: flex;
  flex-flow: row wrap;
  margin-right: -0.625rem;
  margin-left: -0.625rem;
}

@media print, screen and (min-width: 40em) {
  .staff-grid {
    margin-right: -0.625rem;
    margin-left: -0.625rem;
  }
}

@media print, screen and (min-width: 64em) {
  .staff-grid {
    margin-right: -0.625rem;
    margin-left: -0.625rem;
  }
}

@media screen and (max-width: 32.5em) {
  .staff-grid {
    margin-right: 0;
    margin-left: 0;
  }
}

@media screen and (max-width: 32.5em) and (min-width: 40em) {
  .staff-grid {
    margin-right: 0;
    margin-left: 0;
  }
}

@media screen and (max-width: 32.5em) and (min-width: 64em) {
  .staff-grid {
    margin-right: 0;
    margin-left: 0;
  }
}

.staff-grid__cell {
  flex: 0 0 auto;
  width: calc(25% - 1.25rem);
  margin-left: 0.625rem;
  margin-right: 0.625rem;
  margin-bottom: 3.125rem;
}

.staff-grid__cell h3 {
  color: #388eb7;
  font-size: 1.375rem;
  font-weight: 600;
  margin-bottom: 0;
}

@media print, screen and (max-width: 63.99875em) {
  .staff-grid__cell {
    flex: 0 0 auto;
    width: calc(25% - 1.25rem);
    margin-left: 0.625rem;
    margin-right: 0.625rem;
  }
}

@media screen and (max-width: 56.25em) {
  .staff-grid__cell {
    flex: 0 0 auto;
    width: calc(33.3333333333% - 1.25rem);
    margin-left: 0.625rem;
    margin-right: 0.625rem;
  }
}

@media screen and (max-width: 47.5em) {
  .staff-grid__cell {
    flex: 0 0 auto;
    width: calc(50% - 1.25rem);
    margin-left: 0.625rem;
    margin-right: 0.625rem;
  }
}

@media screen and (max-width: 32.5em) {
  .staff-grid__cell {
    flex: 0 0 auto;
    width: 100%;
    margin-left: 0;
    margin-right: 0;
  }
}

.staff-grid__cell--lgbtq-friendly h3 {
  color: #33c1d2;
}

.member-job-title {
  font-family: "Josefin Sans", sans-serif;
  font-size: 0.875rem;
  text-transform: uppercase;
  color: #ff6400;
  font-weight: 700;
}

.member-region,
.member-phone {
  color: #3f4e59;
  font-size: 1rem;
}

.member-region a,
.member-phone a {
  color: #3f4e59;
}

.member-email {
  margin-top: 0.9375rem;
}

.member-email .btn:hover,
.member-email .embedded-form button:hover,
.embedded-form .member-email button:hover,
.member-email .embedded-form input[type=submit]:hover,
.embedded-form .member-email input[type=submit]:hover {
  background-color: #ff6400;
  color: #fff;
}

.staff-featured {
  margin-bottom: 2.5rem;
}

.staff-featured .staff-grid__cell--featured {
  width: 100%;
  max-width: 100%;
  flex: 0 0 100%;
}

.staff-featured .staff-card__trigger {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  gap: 1.875rem;
}

.staff-featured .staff-card__photo {
  width: 100%;
  max-width: 17.5rem;
}

.staff-featured .staff-card__body {
  flex: 1;
  min-width: 12.5rem;
}

.staff-card {
  margin-bottom: 0;
}

.staff-card--has-bio {
  cursor: pointer;
}

.staff-card__photo {
  width: 100%;
  aspect-ratio: 200/250;
  margin-bottom: 0.9375rem;
  overflow: hidden;
}

.staff-card__photo img {
  display: block;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.staff-card__trigger {
  display: block;
  width: 100%;
  text-align: left;
  cursor: pointer;
}

.staff-card__trigger:hover,
.staff-card__trigger:focus {
  outline: 0;
}

.staff-card__trigger:hover .staff-card__photo img,
.staff-card__trigger:focus .staff-card__photo img {
  opacity: 0.92;
}

.staff-card__photo-placeholder {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
  background: linear-gradient(141deg, #eaecf0 0%, #eaecf0 50%, #feffff 100%);
}

.staff-card__photo-placeholder img {
  display: block;
  width: 65%;
  max-width: 10rem;
  height: auto;
  -o-object-fit: contain;
     object-fit: contain;
}

.staff-modals {
  display: none;
}

.staff-bio-modal {
  width: 56.25rem;
  max-width: 92%;
  padding: 0;
  border: 0;
  background: transparent;
  overflow: visible;
}

@media print, screen and (max-width: 63.99875em) {
  .staff-bio-modal {
    width: calc(100% - 2rem);
    max-width: calc(100% - 2rem);
  }
}

@media print, screen and (max-width: 39.99875em) {
  .staff-bio-modal {
    top: 1rem;
    right: auto;
    bottom: auto;
    left: auto;
    height: auto;
    min-height: 0;
    margin-right: auto;
    margin-left: auto;
  }
}

.staff-bio-modal__body {
  background-color: #eaecf0;
  padding: 3.125rem;
  color: #687c8d;
  overflow-y: auto;
  max-height: calc(100vh - 4rem);
  max-height: calc(100dvh - 4rem);
  -webkit-overflow-scrolling: touch;
}

@media print, screen and (max-width: 63.99875em) {
  .staff-bio-modal__body {
    padding: 2.8125rem 1.25rem 1.875rem;
    max-height: calc(100vh - 2rem);
    max-height: calc(100dvh - 2rem);
  }
}

.staff-bio-modal__close {
  position: absolute;
  top: -0.9375rem;
  right: -3.4375rem;
  z-index: 2;
  color: #33c1d2 !important;
  font-family: "Open Sans", sans-serif;
  font-size: 3.75rem;
  line-height: 1;
  font-weight: 400;
}

@media print, screen and (max-width: 63.99875em) {
  .staff-bio-modal__close {
    top: 0.5rem;
    right: 0.5rem;
    font-size: 2.75rem;
  }
}

.staff-bio-modal__inner::after {
  content: "";
  display: table;
  clear: both;
}

.staff-bio-modal__photo {
  float: left;
  width: 12.5rem;
  height: 15.625rem;
  margin: 0 1.875rem 1.25rem 0;
  overflow: hidden;
  line-height: 0;
}

@media screen and (max-width: 47.5em) {
  .staff-bio-modal__photo {
    float: none;
    width: 100%;
    max-width: 17.5rem;
    height: auto;
    margin: 0 auto 1.25rem;
  }
}

.staff-bio-modal__photo img {
  display: block;
  width: 12.5rem;
  height: 15.625rem;
}

@media screen and (max-width: 47.5em) {
  .staff-bio-modal__photo img {
    width: 100%;
    height: auto;
  }
}

.staff-bio-modal__name {
  color: #388eb7;
  font-size: 1.75rem;
  font-weight: 600;
  margin-bottom: 0.3125rem;
}

@media screen and (max-width: 47.5em) {
  .staff-bio-modal__name {
    font-size: 1.5rem;
    text-align: center;
  }
}

.staff-bio-modal__title {
  font-family: "Josefin Sans", sans-serif;
  text-transform: uppercase;
  color: #ff6400;
  font-weight: 700;
  font-size: 1.125rem;
  margin-bottom: 1.25rem;
}

@media screen and (max-width: 47.5em) {
  .staff-bio-modal__title {
    font-size: 1rem;
    text-align: center;
  }
}

.staff-bio-modal__bio {
  font-size: 1.125rem;
  line-height: 1.5;
  text-align: justify;
}

.staff-bio-modal__bio p {
  margin-bottom: 0.9375rem;
  text-align: justify;
}

.staff-bio-modal__bio a:not(.btn) {
  color: #33c1d2;
  text-decoration: underline;
}

ul.resource-list {
  list-style: none;
  margin-left: 0;
}

.resource-card {
  background-color: #eaecf0;
  margin-bottom: 2.5rem;
  padding: 1.25rem;
}

.resource-card__title {
  display: block;
  border-bottom: 1px solid #fff;
  padding-bottom: 0.625rem;
  margin-bottom: 0.625rem;
}

.resource-card__title h2 {
  transition: color 0.3s;
  font-weight: 600;
  font-size: 1.25rem;
  line-height: 1.625rem;
  color: #388eb7;
  margin-bottom: 0;
}

.resource-card__title svg {
  margin-left: 0.5rem;
}

.resource-card__title path {
  transition: fill 0.3s;
}

.resource-card__title:hover h2 {
  color: #ff6400;
}

.resource-card__title:hover svg path {
  fill: #ff6400;
}

.resource-card__categories p {
  margin-bottom: 0;
  font-size: 0.875rem;
}

.colorado-region-label {
  position: relative;
  background-color: #fff;
  border: 0.3125rem solid #33c1d2;
  border-radius: 1.25rem;
  text-transform: uppercase;
  font-size: 0.875rem;
  font-family: "Josefin Sans", sans-serif;
  font-weight: 700;
  color: #687c8d;
  padding: 0.25rem 0.625rem 0.125rem 2.1875rem;
}

.colorado-region-label input {
  margin: 0;
}

.colorado-region-label:hover,
.colorado-region-label.is-selected {
  background-color: rgba(255, 255, 255, 0.65);
}

.colorado-region-label:before {
  content: "";
  position: absolute;
  left: 0.375rem;
  top: 0.3125rem;
  width: 1.25rem;
  height: 1.25rem;
  border-radius: 0.625rem;
  background-color: #ffcf37;
}

.colorado-region-label:after {
  position: absolute;
  left: 0.75rem;
  top: 0.5625rem;
  content: "";
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 6px 0 6px 10px;
  border-color: transparent transparent transparent #fff;
}

.colorado-resources-map {
  display: block;
  margin-bottom: 1.5625rem;
  margin-left: auto;
  margin-right: auto;
  max-width: 31.25rem;
}

.colorado-resources-map svg {
  cursor: pointer;
}

.colorado-resources-map svg polygon.dark-gray,
.colorado-resources-map svg path.dark-gray,
.colorado-resources-map svg polygon.not-selected,
.colorado-resources-map svg path.not-selected {
  fill: #687c8d;
}

.colorado-resources-map svg .st0.active,
.colorado-resources-map svg .st0.active.not-selected,
.colorado-resources-map svg .st0.is-selected {
  fill: #3A8DB7;
}

.colorado-resources-map svg .st3.active,
.colorado-resources-map svg .st3.is-selected {
  fill: #33C1D2;
}

.colorado-resources-map svg .st4.active,
.colorado-resources-map svg .st4.is-selected {
  fill: #93A1B1;
}

.colorado-resources-map svg .st5.active,
.colorado-resources-map svg .st5.is-selected {
  fill: #FF9322;
}

.colorado-resources-map svg .st15.active,
.colorado-resources-map svg .st15.is-selected {
  fill: #C8353C;
}

.colorado-resources-map svg .st19.active,
.colorado-resources-map svg .st19.is-selected {
  fill: #FFCF38;
}

.colorado-resources-map svg .st2.active,
.colorado-resources-map svg .st2.is-selected {
  fill: #F16522;
}

.colorado-region-label[data-target-class=".st0"]:before {
  background-color: #3A8DB7;
}

.colorado-region-label[data-target-class=".st3"]:before {
  background-color: #33C1D2;
}

.colorado-region-label[data-target-class=".st4"]:before {
  background-color: #93A1B1;
}

.colorado-region-label[data-target-class=".st5"]:before {
  background-color: #FF9322;
}

.colorado-region-label[data-target-class=".st15"]:before {
  background-color: #C8353C;
}

.colorado-region-label[data-target-class=".st19"]:before {
  background-color: #FFCF38;
}

.colorado-region-label[data-target-class=".st2"]:before {
  background-color: #F16522;
}

/*----------  Resource detail  ----------*/

.resource-page-content {
  margin-bottom: 2.5rem;
}

.resource-page-content p:last-child {
  margin-bottom: 0;
}

.resource-page-content .format-img-full-width {
  width: 100%;
  display: block;
  margin-bottom: 1.25rem;
}

.resource-page-content .format-img-partial-width {
  float: right;
  margin: 0 0 1.25rem 1.25rem;
  max-width: 21.875rem;
}

.resource-page-content figure[style^="float:left"] {
  margin: 0 1.25rem 1.25rem 0 !important;
}

.resource-page-content figure[style^="float:right"] {
  margin: 0 0 1.25rem 1.25rem !important;
}

.resource-page-content figure[style^="text-align:center"] {
  margin-bottom: 1.25rem !important;
}

@media print, screen and (max-width: 39.99875em) {
  .resource-page-content figure,
  .resource-page-content .format-img-partial-width {
    float: none;
    display: block;
    margin-right: auto;
    margin-left: auto;
  }
}

.resource-page-summary {
  margin-bottom: 4.375rem;
}

.slide-in-down.mui-enter {
  transition-duration: 500ms;
  transition-timing-function: linear;
  transform: translateY(-100%);
  transition-property: transform, opacity;
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden;
}

.slide-in-down.mui-enter.mui-enter-active {
  transform: translateY(0);
}

.slide-in-left.mui-enter {
  transition-duration: 500ms;
  transition-timing-function: linear;
  transform: translateX(-100%);
  transition-property: transform, opacity;
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden;
}

.slide-in-left.mui-enter.mui-enter-active {
  transform: translateX(0);
}

.slide-in-up.mui-enter {
  transition-duration: 500ms;
  transition-timing-function: linear;
  transform: translateY(100%);
  transition-property: transform, opacity;
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden;
}

.slide-in-up.mui-enter.mui-enter-active {
  transform: translateY(0);
}

.slide-in-right.mui-enter {
  transition-duration: 500ms;
  transition-timing-function: linear;
  transform: translateX(100%);
  transition-property: transform, opacity;
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden;
}

.slide-in-right.mui-enter.mui-enter-active {
  transform: translateX(0);
}

.slide-out-down.mui-leave {
  transition-duration: 500ms;
  transition-timing-function: linear;
  transform: translateY(0);
  transition-property: transform, opacity;
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden;
}

.slide-out-down.mui-leave.mui-leave-active {
  transform: translateY(100%);
}

.slide-out-right.mui-leave {
  transition-duration: 500ms;
  transition-timing-function: linear;
  transform: translateX(0);
  transition-property: transform, opacity;
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden;
}

.slide-out-right.mui-leave.mui-leave-active {
  transform: translateX(100%);
}

.slide-out-up.mui-leave {
  transition-duration: 500ms;
  transition-timing-function: linear;
  transform: translateY(0);
  transition-property: transform, opacity;
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden;
}

.slide-out-up.mui-leave.mui-leave-active {
  transform: translateY(-100%);
}

.slide-out-left.mui-leave {
  transition-duration: 500ms;
  transition-timing-function: linear;
  transform: translateX(0);
  transition-property: transform, opacity;
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden;
}

.slide-out-left.mui-leave.mui-leave-active {
  transform: translateX(-100%);
}

.fade-in.mui-enter {
  transition-duration: 500ms;
  transition-timing-function: linear;
  opacity: 0;
  transition-property: opacity;
}

.fade-in.mui-enter.mui-enter-active {
  opacity: 1;
}

.fade-out.mui-leave {
  transition-duration: 500ms;
  transition-timing-function: linear;
  opacity: 1;
  transition-property: opacity;
}

.fade-out.mui-leave.mui-leave-active {
  opacity: 0;
}

.hinge-in-from-top.mui-enter {
  transition-duration: 500ms;
  transition-timing-function: linear;
  transform: perspective(2000px) rotateX(-90deg);
  transform-origin: top;
  transition-property: transform, opacity;
  opacity: 0;
}

.hinge-in-from-top.mui-enter.mui-enter-active {
  transform: perspective(2000px) rotate(0deg);
  opacity: 1;
}

.hinge-in-from-right.mui-enter {
  transition-duration: 500ms;
  transition-timing-function: linear;
  transform: perspective(2000px) rotateY(-90deg);
  transform-origin: right;
  transition-property: transform, opacity;
  opacity: 0;
}

.hinge-in-from-right.mui-enter.mui-enter-active {
  transform: perspective(2000px) rotate(0deg);
  opacity: 1;
}

.hinge-in-from-bottom.mui-enter {
  transition-duration: 500ms;
  transition-timing-function: linear;
  transform: perspective(2000px) rotateX(90deg);
  transform-origin: bottom;
  transition-property: transform, opacity;
  opacity: 0;
}

.hinge-in-from-bottom.mui-enter.mui-enter-active {
  transform: perspective(2000px) rotate(0deg);
  opacity: 1;
}

.hinge-in-from-left.mui-enter {
  transition-duration: 500ms;
  transition-timing-function: linear;
  transform: perspective(2000px) rotateY(90deg);
  transform-origin: left;
  transition-property: transform, opacity;
  opacity: 0;
}

.hinge-in-from-left.mui-enter.mui-enter-active {
  transform: perspective(2000px) rotate(0deg);
  opacity: 1;
}

.hinge-in-from-middle-x.mui-enter {
  transition-duration: 500ms;
  transition-timing-function: linear;
  transform: perspective(2000px) rotateX(-90deg);
  transform-origin: center;
  transition-property: transform, opacity;
  opacity: 0;
}

.hinge-in-from-middle-x.mui-enter.mui-enter-active {
  transform: perspective(2000px) rotate(0deg);
  opacity: 1;
}

.hinge-in-from-middle-y.mui-enter {
  transition-duration: 500ms;
  transition-timing-function: linear;
  transform: perspective(2000px) rotateY(-90deg);
  transform-origin: center;
  transition-property: transform, opacity;
  opacity: 0;
}

.hinge-in-from-middle-y.mui-enter.mui-enter-active {
  transform: perspective(2000px) rotate(0deg);
  opacity: 1;
}

.hinge-out-from-top.mui-leave {
  transition-duration: 500ms;
  transition-timing-function: linear;
  transform: perspective(2000px) rotate(0deg);
  transform-origin: top;
  transition-property: transform, opacity;
  opacity: 1;
}

.hinge-out-from-top.mui-leave.mui-leave-active {
  transform: perspective(2000px) rotateX(90deg);
  opacity: 0;
}

.hinge-out-from-right.mui-leave {
  transition-duration: 500ms;
  transition-timing-function: linear;
  transform: perspective(2000px) rotate(0deg);
  transform-origin: right;
  transition-property: transform, opacity;
  opacity: 1;
}

.hinge-out-from-right.mui-leave.mui-leave-active {
  transform: perspective(2000px) rotateY(90deg);
  opacity: 0;
}

.hinge-out-from-bottom.mui-leave {
  transition-duration: 500ms;
  transition-timing-function: linear;
  transform: perspective(2000px) rotate(0deg);
  transform-origin: bottom;
  transition-property: transform, opacity;
  opacity: 1;
}

.hinge-out-from-bottom.mui-leave.mui-leave-active {
  transform: perspective(2000px) rotateX(-90deg);
  opacity: 0;
}

.hinge-out-from-left.mui-leave {
  transition-duration: 500ms;
  transition-timing-function: linear;
  transform: perspective(2000px) rotate(0deg);
  transform-origin: left;
  transition-property: transform, opacity;
  opacity: 1;
}

.hinge-out-from-left.mui-leave.mui-leave-active {
  transform: perspective(2000px) rotateY(-90deg);
  opacity: 0;
}

.hinge-out-from-middle-x.mui-leave {
  transition-duration: 500ms;
  transition-timing-function: linear;
  transform: perspective(2000px) rotate(0deg);
  transform-origin: center;
  transition-property: transform, opacity;
  opacity: 1;
}

.hinge-out-from-middle-x.mui-leave.mui-leave-active {
  transform: perspective(2000px) rotateX(90deg);
  opacity: 0;
}

.hinge-out-from-middle-y.mui-leave {
  transition-duration: 500ms;
  transition-timing-function: linear;
  transform: perspective(2000px) rotate(0deg);
  transform-origin: center;
  transition-property: transform, opacity;
  opacity: 1;
}

.hinge-out-from-middle-y.mui-leave.mui-leave-active {
  transform: perspective(2000px) rotateY(90deg);
  opacity: 0;
}

.scale-in-up.mui-enter {
  transition-duration: 500ms;
  transition-timing-function: linear;
  transform: scale(0.5);
  transition-property: transform, opacity;
  opacity: 0;
}

.scale-in-up.mui-enter.mui-enter-active {
  transform: scale(1);
  opacity: 1;
}

.scale-in-down.mui-enter {
  transition-duration: 500ms;
  transition-timing-function: linear;
  transform: scale(1.5);
  transition-property: transform, opacity;
  opacity: 0;
}

.scale-in-down.mui-enter.mui-enter-active {
  transform: scale(1);
  opacity: 1;
}

.scale-out-up.mui-leave {
  transition-duration: 500ms;
  transition-timing-function: linear;
  transform: scale(1);
  transition-property: transform, opacity;
  opacity: 1;
}

.scale-out-up.mui-leave.mui-leave-active {
  transform: scale(1.5);
  opacity: 0;
}

.scale-out-down.mui-leave {
  transition-duration: 500ms;
  transition-timing-function: linear;
  transform: scale(1);
  transition-property: transform, opacity;
  opacity: 1;
}

.scale-out-down.mui-leave.mui-leave-active {
  transform: scale(0.5);
  opacity: 0;
}

.spin-in.mui-enter {
  transition-duration: 500ms;
  transition-timing-function: linear;
  transform: rotate(-0.75turn);
  transition-property: transform, opacity;
  opacity: 0;
}

.spin-in.mui-enter.mui-enter-active {
  transform: rotate(0);
  opacity: 1;
}

.spin-out.mui-leave {
  transition-duration: 500ms;
  transition-timing-function: linear;
  transform: rotate(0);
  transition-property: transform, opacity;
  opacity: 1;
}

.spin-out.mui-leave.mui-leave-active {
  transform: rotate(0.75turn);
  opacity: 0;
}

.spin-in-ccw.mui-enter {
  transition-duration: 500ms;
  transition-timing-function: linear;
  transform: rotate(0.75turn);
  transition-property: transform, opacity;
  opacity: 0;
}

.spin-in-ccw.mui-enter.mui-enter-active {
  transform: rotate(0);
  opacity: 1;
}

.spin-out-ccw.mui-leave {
  transition-duration: 500ms;
  transition-timing-function: linear;
  transform: rotate(0);
  transition-property: transform, opacity;
  opacity: 1;
}

.spin-out-ccw.mui-leave.mui-leave-active {
  transform: rotate(-0.75turn);
  opacity: 0;
}

.slow {
  transition-duration: 750ms !important;
}

.fast {
  transition-duration: 250ms !important;
}

.linear {
  transition-timing-function: linear !important;
}

.ease {
  transition-timing-function: ease !important;
}

.ease-in {
  transition-timing-function: ease-in !important;
}

.ease-out {
  transition-timing-function: ease-out !important;
}

.ease-in-out {
  transition-timing-function: ease-in-out !important;
}

.bounce-in {
  transition-timing-function: cubic-bezier(0.485, 0.155, 0.24, 1.245) !important;
}

.bounce-out {
  transition-timing-function: cubic-bezier(0.485, 0.155, 0.515, 0.845) !important;
}

.bounce-in-out {
  transition-timing-function: cubic-bezier(0.76, -0.245, 0.24, 1.245) !important;
}

.short-delay {
  transition-delay: 300ms !important;
}

.long-delay {
  transition-delay: 700ms !important;
}

.shake {
  -webkit-animation-name: shake-7;
          animation-name: shake-7;
}

@-webkit-keyframes shake-7 {
  0%, 10%, 20%, 30%, 40%, 50%, 60%, 70%, 80%, 90% {
    transform: translateX(7%);
  }

  5%, 15%, 25%, 35%, 45%, 55%, 65%, 75%, 85%, 95% {
    transform: translateX(-7%);
  }
}

@keyframes shake-7 {
  0%, 10%, 20%, 30%, 40%, 50%, 60%, 70%, 80%, 90% {
    transform: translateX(7%);
  }

  5%, 15%, 25%, 35%, 45%, 55%, 65%, 75%, 85%, 95% {
    transform: translateX(-7%);
  }
}

.spin-cw {
  -webkit-animation-name: spin-cw-1turn;
          animation-name: spin-cw-1turn;
}

@-webkit-keyframes spin-cw-1turn {
  0% {
    transform: rotate(-1turn);
  }

  100% {
    transform: rotate(0);
  }
}

@keyframes spin-cw-1turn {
  0% {
    transform: rotate(-1turn);
  }

  100% {
    transform: rotate(0);
  }
}

.spin-ccw {
  -webkit-animation-name: spin-ccw-1turn;
          animation-name: spin-ccw-1turn;
}

@-webkit-keyframes spin-ccw-1turn {
  0% {
    transform: rotate(0);
  }

  100% {
    transform: rotate(-1turn);
  }
}

@keyframes spin-ccw-1turn {
  0% {
    transform: rotate(0);
  }

  100% {
    transform: rotate(-1turn);
  }
}

.wiggle {
  -webkit-animation-name: wiggle-7deg;
          animation-name: wiggle-7deg;
}

@-webkit-keyframes wiggle-7deg {
  40%, 50%, 60% {
    transform: rotate(7deg);
  }

  35%, 45%, 55%, 65% {
    transform: rotate(-7deg);
  }

  0%, 30%, 70%, 100% {
    transform: rotate(0);
  }
}

@keyframes wiggle-7deg {
  40%, 50%, 60% {
    transform: rotate(7deg);
  }

  35%, 45%, 55%, 65% {
    transform: rotate(-7deg);
  }

  0%, 30%, 70%, 100% {
    transform: rotate(0);
  }
}

.shake,
.spin-cw,
.spin-ccw,
.wiggle {
  -webkit-animation-duration: 500ms;
          animation-duration: 500ms;
}

.infinite {
  -webkit-animation-iteration-count: infinite;
          animation-iteration-count: infinite;
}

.slow {
  -webkit-animation-duration: 750ms !important;
          animation-duration: 750ms !important;
}

.fast {
  -webkit-animation-duration: 250ms !important;
          animation-duration: 250ms !important;
}

.linear {
  -webkit-animation-timing-function: linear !important;
          animation-timing-function: linear !important;
}

.ease {
  -webkit-animation-timing-function: ease !important;
          animation-timing-function: ease !important;
}

.ease-in {
  -webkit-animation-timing-function: ease-in !important;
          animation-timing-function: ease-in !important;
}

.ease-out {
  -webkit-animation-timing-function: ease-out !important;
          animation-timing-function: ease-out !important;
}

.ease-in-out {
  -webkit-animation-timing-function: ease-in-out !important;
          animation-timing-function: ease-in-out !important;
}

.bounce-in {
  -webkit-animation-timing-function: cubic-bezier(0.485, 0.155, 0.24, 1.245) !important;
          animation-timing-function: cubic-bezier(0.485, 0.155, 0.24, 1.245) !important;
}

.bounce-out {
  -webkit-animation-timing-function: cubic-bezier(0.485, 0.155, 0.515, 0.845) !important;
          animation-timing-function: cubic-bezier(0.485, 0.155, 0.515, 0.845) !important;
}

.bounce-in-out {
  -webkit-animation-timing-function: cubic-bezier(0.76, -0.245, 0.24, 1.245) !important;
          animation-timing-function: cubic-bezier(0.76, -0.245, 0.24, 1.245) !important;
}

.short-delay {
  -webkit-animation-delay: 300ms !important;
          animation-delay: 300ms !important;
}

.long-delay {
  -webkit-animation-delay: 700ms !important;
          animation-delay: 700ms !important;
}

.dropdown.menu > li.opens-left > .is-dropdown-submenu {
  top: 100%;
  right: 0;
  left: auto;
}

.dropdown.menu > li.opens-right > .is-dropdown-submenu {
  top: 100%;
  right: auto;
  left: 0;
}

[data-whatinput=mouse] .dropdown.menu a {
  outline: 0;
}

.dropdown.menu > li > a {
  padding: 0.7rem 1rem;
}

.dropdown.menu > li.is-active > a {
  background: transparent;
  color: #33c1d2;
}

.no-js .dropdown.menu ul {
  display: none;
}

.dropdown.menu .nested.is-dropdown-submenu {
  margin-right: 0;
  margin-left: 0;
}

.dropdown.menu.vertical > li .is-dropdown-submenu {
  top: 0;
}

.dropdown.menu.vertical > li.opens-left > .is-dropdown-submenu {
  top: 0;
  right: 100%;
  left: auto;
}

.dropdown.menu.vertical > li.opens-right > .is-dropdown-submenu {
  right: auto;
  left: 100%;
}

@media print, screen and (min-width: 40em) {
  .dropdown.menu.medium-horizontal > li.opens-left > .is-dropdown-submenu {
    top: 100%;
    right: 0;
    left: auto;
  }

  .dropdown.menu.medium-horizontal > li.opens-right > .is-dropdown-submenu {
    top: 100%;
    right: auto;
    left: 0;
  }

  .dropdown.menu.medium-vertical > li .is-dropdown-submenu {
    top: 0;
  }

  .dropdown.menu.medium-vertical > li.opens-left > .is-dropdown-submenu {
    top: 0;
    right: 100%;
    left: auto;
  }

  .dropdown.menu.medium-vertical > li.opens-right > .is-dropdown-submenu {
    right: auto;
    left: 100%;
  }
}

@media print, screen and (min-width: 64em) {
  .dropdown.menu.large-horizontal > li.opens-left > .is-dropdown-submenu {
    top: 100%;
    right: 0;
    left: auto;
  }

  .dropdown.menu.large-horizontal > li.opens-right > .is-dropdown-submenu {
    top: 100%;
    right: auto;
    left: 0;
  }

  .dropdown.menu.large-vertical > li .is-dropdown-submenu {
    top: 0;
  }

  .dropdown.menu.large-vertical > li.opens-left > .is-dropdown-submenu {
    top: 0;
    right: 100%;
    left: auto;
  }

  .dropdown.menu.large-vertical > li.opens-right > .is-dropdown-submenu {
    right: auto;
    left: 100%;
  }
}

.dropdown.menu.align-right .is-dropdown-submenu.first-sub {
  top: 100%;
  right: 0;
  left: auto;
}

.is-dropdown-menu.vertical {
  width: 100px;
}

.is-dropdown-menu.vertical.align-right {
  float: right;
}

.is-dropdown-submenu-parent {
  position: relative;
}

.is-dropdown-submenu-parent a::after {
  position: absolute;
  top: 50%;
  right: 5px;
  left: auto;
  margin-top: -6px;
}

.is-dropdown-submenu-parent.opens-inner > .is-dropdown-submenu {
  top: 100%;
  left: auto;
}

.is-dropdown-submenu-parent.opens-left > .is-dropdown-submenu {
  right: 100%;
  left: auto;
}

.is-dropdown-submenu-parent.opens-right > .is-dropdown-submenu {
  right: auto;
  left: 100%;
}

.is-dropdown-submenu {
  position: absolute;
  top: 0;
  left: 100%;
  z-index: 1;
  display: none;
  min-width: 100%;
  border: none;
  background: rgba(255, 255, 255, 0.92);
}

.dropdown .is-dropdown-submenu a {
  padding: 0.7rem 1rem;
}

.is-dropdown-submenu > li {
  width: 100%;
}

.is-dropdown-submenu.js-dropdown-active {
  display: block;
}


/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9zcmMvc2Nzcy9saWJzL2Q6L09wZW5TZXJ2ZXIvZG9tYWlucy9yYWlzZXRoZWZ1dHVyZS9zcmMvc2Nzcy9saWJzL3BseXIubWluLmNzcyIsIndlYnBhY2s6Ly8vLi9zcmMvc2Nzcy9kOi9PcGVuU2VydmVyL2RvbWFpbnMvcmFpc2V0aGVmdXR1cmUvc3JjL3Njc3MvbWFpbi5zY3NzIiwid2VicGFjazovLy8uL3NyYy9zY3NzL2Q6L09wZW5TZXJ2ZXIvZG9tYWlucy9yYWlzZXRoZWZ1dHVyZS9zcmMvc2Nzcy9fc2V0dGluZ3Muc2NzcyIsIndlYnBhY2s6Ly8vLi9zcmMvc2Nzcy9kOi9PcGVuU2VydmVyL2RvbWFpbnMvcmFpc2V0aGVmdXR1cmUvbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9mb3VuZGF0aW9uLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vc3JjL3Njc3MvZDovT3BlblNlcnZlci9kb21haW5zL3JhaXNldGhlZnV0dXJlL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvdXRpbC9fYnJlYWtwb2ludC5zY3NzIiwid2VicGFjazovLy8uL3NyYy9zY3NzL2Q6L09wZW5TZXJ2ZXIvZG9tYWlucy9yYWlzZXRoZWZ1dHVyZS9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX3JldmVhbC5zY3NzIiwid2VicGFjazovLy8uL3NyYy9zY3NzL2Q6L09wZW5TZXJ2ZXIvZG9tYWlucy9yYWlzZXRoZWZ1dHVyZS9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3ZlbmRvci9ub3JtYWxpemUuc2NzcyIsIndlYnBhY2s6Ly8vLi9zcmMvc2Nzcy9kOi9PcGVuU2VydmVyL2RvbWFpbnMvcmFpc2V0aGVmdXR1cmUvbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9fZ2xvYmFsLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vc3JjL3Njc3MvZDovT3BlblNlcnZlci9kb21haW5zL3JhaXNldGhlZnV0dXJlL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvdXRpbC9fbWl4aW5zLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vc3JjL3Njc3MvZDovT3BlblNlcnZlci9kb21haW5zL3JhaXNldGhlZnV0dXJlL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZm9ybXMvX3RleHQuc2NzcyIsIndlYnBhY2s6Ly8vLi9zcmMvc2Nzcy9kOi9PcGVuU2VydmVyL2RvbWFpbnMvcmFpc2V0aGVmdXR1cmUvbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9mb3Jtcy9fY2hlY2tib3guc2NzcyIsIndlYnBhY2s6Ly8vLi9zcmMvc2Nzcy9kOi9PcGVuU2VydmVyL2RvbWFpbnMvcmFpc2V0aGVmdXR1cmUvbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9mb3Jtcy9fbGFiZWwuc2NzcyIsIndlYnBhY2s6Ly8vLi9zcmMvc2Nzcy9kOi9PcGVuU2VydmVyL2RvbWFpbnMvcmFpc2V0aGVmdXR1cmUvbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9mb3Jtcy9faGVscC10ZXh0LnNjc3MiLCJ3ZWJwYWNrOi8vLy4vc3JjL3Njc3MvZDovT3BlblNlcnZlci9kb21haW5zL3JhaXNldGhlZnV0dXJlL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZm9ybXMvX2lucHV0LWdyb3VwLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vc3JjL3Njc3MvZDovT3BlblNlcnZlci9kb21haW5zL3JhaXNldGhlZnV0dXJlL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZm9ybXMvX2ZpZWxkc2V0LnNjc3MiLCJ3ZWJwYWNrOi8vLy4vc3JjL3Njc3MvZDovT3BlblNlcnZlci9kb21haW5zL3JhaXNldGhlZnV0dXJlL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZm9ybXMvX3NlbGVjdC5zY3NzIiwid2VicGFjazovLy8uL3NyYy9zY3NzL2Q6L09wZW5TZXJ2ZXIvZG9tYWlucy9yYWlzZXRoZWZ1dHVyZS9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2Zvcm1zL19lcnJvci5zY3NzIiwid2VicGFjazovLy8uL3NyYy9zY3NzL2Q6L09wZW5TZXJ2ZXIvZG9tYWlucy9yYWlzZXRoZWZ1dHVyZS9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3R5cG9ncmFwaHkvX2Jhc2Uuc2NzcyIsIndlYnBhY2s6Ly8vLi9zcmMvc2Nzcy9kOi9PcGVuU2VydmVyL2RvbWFpbnMvcmFpc2V0aGVmdXR1cmUvbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy90eXBvZ3JhcGh5L19oZWxwZXJzLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vc3JjL3Njc3MvZDovT3BlblNlcnZlci9kb21haW5zL3JhaXNldGhlZnV0dXJlL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvdHlwb2dyYXBoeS9fYWxpZ25tZW50LnNjc3MiLCJ3ZWJwYWNrOi8vLy4vc3JjL3Njc3MvZDovT3BlblNlcnZlci9kb21haW5zL3JhaXNldGhlZnV0dXJlL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvdHlwb2dyYXBoeS9fcHJpbnQuc2NzcyIsIndlYnBhY2s6Ly8vLi9zcmMvc2Nzcy9kOi9PcGVuU2VydmVyL2RvbWFpbnMvcmFpc2V0aGVmdXR1cmUvbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy94eS1ncmlkL19jbGFzc2VzLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vc3JjL3Njc3MvZDovT3BlblNlcnZlci9kb21haW5zL3JhaXNldGhlZnV0dXJlL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MveHktZ3JpZC9fZ3V0dGVycy5zY3NzIiwid2VicGFjazovLy8uL3NyYy9zY3NzL2Q6L09wZW5TZXJ2ZXIvZG9tYWlucy9yYWlzZXRoZWZ1dHVyZS9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3h5LWdyaWQvX2dyaWQuc2NzcyIsIndlYnBhY2s6Ly8vLi9zcmMvc2Nzcy9kOi9PcGVuU2VydmVyL2RvbWFpbnMvcmFpc2V0aGVmdXR1cmUvbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy94eS1ncmlkL19jZWxsLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vc3JjL3Njc3MvZDovT3BlblNlcnZlci9kb21haW5zL3JhaXNldGhlZnV0dXJlL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MveHktZ3JpZC9fbGF5b3V0LnNjc3MiLCJ3ZWJwYWNrOi8vLy4vc3JjL3Njc3MvZDovT3BlblNlcnZlci9kb21haW5zL3JhaXNldGhlZnV0dXJlL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MveHktZ3JpZC9fY29sbGFwc2Uuc2NzcyIsIndlYnBhY2s6Ly8vLi9zcmMvc2Nzcy9kOi9PcGVuU2VydmVyL2RvbWFpbnMvcmFpc2V0aGVmdXR1cmUvbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy94eS1ncmlkL19wb3NpdGlvbi5zY3NzIiwid2VicGFjazovLy8uL3NyYy9zY3NzL2Q6L09wZW5TZXJ2ZXIvZG9tYWlucy9yYWlzZXRoZWZ1dHVyZS9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3h5LWdyaWQvX2ZyYW1lLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vc3JjL3Njc3MvZDovT3BlblNlcnZlci9kb21haW5zL3JhaXNldGhlZnV0dXJlL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fY2xvc2UtYnV0dG9uLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vc3JjL3Njc3MvZDovT3BlblNlcnZlci9kb21haW5zL3JhaXNldGhlZnV0dXJlL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fbWVudS5zY3NzIiwid2VicGFjazovLy8uL3NyYy9zY3NzL2Q6L09wZW5TZXJ2ZXIvZG9tYWlucy9yYWlzZXRoZWZ1dHVyZS9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX2FjY29yZGlvbi5zY3NzIiwid2VicGFjazovLy8uL3NyYy9zY3NzL2Q6L09wZW5TZXJ2ZXIvZG9tYWlucy9yYWlzZXRoZWZ1dHVyZS9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3Byb3RvdHlwZS9fdGV4dC11dGlsaXRpZXMuc2NzcyIsIndlYnBhY2s6Ly8vLi9zcmMvc2Nzcy9kOi9PcGVuU2VydmVyL2RvbWFpbnMvcmFpc2V0aGVmdXR1cmUvbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9wcm90b3R5cGUvX3RleHQtdHJhbnNmb3JtYXRpb24uc2NzcyIsIndlYnBhY2s6Ly8vLi9zcmMvc2Nzcy9kOi9PcGVuU2VydmVyL2RvbWFpbnMvcmFpc2V0aGVmdXR1cmUvbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9wcm90b3R5cGUvX3RleHQtZGVjb3JhdGlvbi5zY3NzIiwid2VicGFjazovLy8uL3NyYy9zY3NzL2Q6L09wZW5TZXJ2ZXIvZG9tYWlucy9yYWlzZXRoZWZ1dHVyZS9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3Byb3RvdHlwZS9fZm9udC1zdHlsaW5nLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vc3JjL3Njc3MvZDovT3BlblNlcnZlci9kb21haW5zL3JhaXNldGhlZnV0dXJlL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvcHJvdG90eXBlL19saXN0LXN0eWxlLXR5cGUuc2NzcyIsIndlYnBhY2s6Ly8vLi9zcmMvc2Nzcy9kOi9PcGVuU2VydmVyL2RvbWFpbnMvcmFpc2V0aGVmdXR1cmUvbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9wcm90b3R5cGUvX3JvdW5kZWQuc2NzcyIsIndlYnBhY2s6Ly8vLi9zcmMvc2Nzcy9kOi9PcGVuU2VydmVyL2RvbWFpbnMvcmFpc2V0aGVmdXR1cmUvbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9wcm90b3R5cGUvX2JvcmRlcmVkLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vc3JjL3Njc3MvZDovT3BlblNlcnZlci9kb21haW5zL3JhaXNldGhlZnV0dXJlL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvcHJvdG90eXBlL19zaGFkb3cuc2NzcyIsIndlYnBhY2s6Ly8vLi9zcmMvc2Nzcy9kOi9PcGVuU2VydmVyL2RvbWFpbnMvcmFpc2V0aGVmdXR1cmUvbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9wcm90b3R5cGUvX2Fycm93LnNjc3MiLCJ3ZWJwYWNrOi8vLy4vc3JjL3Njc3MvZDovT3BlblNlcnZlci9kb21haW5zL3JhaXNldGhlZnV0dXJlL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvcHJvdG90eXBlL19zZXBhcmF0b3Iuc2NzcyIsIndlYnBhY2s6Ly8vLi9zcmMvc2Nzcy9kOi9PcGVuU2VydmVyL2RvbWFpbnMvcmFpc2V0aGVmdXR1cmUvbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9wcm90b3R5cGUvX3Bvc2l0aW9uLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vc3JjL3Njc3MvZDovT3BlblNlcnZlci9kb21haW5zL3JhaXNldGhlZnV0dXJlL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvcHJvdG90eXBlL19vdmVyZmxvdy5zY3NzIiwid2VicGFjazovLy8uL3NyYy9zY3NzL2Q6L09wZW5TZXJ2ZXIvZG9tYWlucy9yYWlzZXRoZWZ1dHVyZS9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3Byb3RvdHlwZS9fZGlzcGxheS5zY3NzIiwid2VicGFjazovLy8uL3NyYy9zY3NzL2Q6L09wZW5TZXJ2ZXIvZG9tYWlucy9yYWlzZXRoZWZ1dHVyZS9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3Byb3RvdHlwZS9fYm9yZGVyLWJveC5zY3NzIiwid2VicGFjazovLy8uL3NyYy9zY3NzL2Q6L09wZW5TZXJ2ZXIvZG9tYWlucy9yYWlzZXRoZWZ1dHVyZS9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3Byb3RvdHlwZS9fYm9yZGVyLW5vbmUuc2NzcyIsIndlYnBhY2s6Ly8vLi9zcmMvc2Nzcy9kOi9PcGVuU2VydmVyL2RvbWFpbnMvcmFpc2V0aGVmdXR1cmUvbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9wcm90b3R5cGUvX3NpemluZy5zY3NzIiwid2VicGFjazovLy8uL3NyYy9zY3NzL2Q6L09wZW5TZXJ2ZXIvZG9tYWlucy9yYWlzZXRoZWZ1dHVyZS9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3Byb3RvdHlwZS9fc3BhY2luZy5zY3NzIiwid2VicGFjazovLy8uL3NyYy9zY3NzL2Q6L09wZW5TZXJ2ZXIvZG9tYWlucy9yYWlzZXRoZWZ1dHVyZS9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX3Zpc2liaWxpdHkuc2NzcyIsIndlYnBhY2s6Ly8vLi9zcmMvc2Nzcy9kOi9PcGVuU2VydmVyL2RvbWFpbnMvcmFpc2V0aGVmdXR1cmUvbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL190YWJsZS5zY3NzIiwid2VicGFjazovLy8uL3NyYy9zY3NzL2Q6L09wZW5TZXJ2ZXIvZG9tYWlucy9yYWlzZXRoZWZ1dHVyZS9zcmMvc2Nzcy9fZ2VuZXJhbC5zY3NzIiwid2VicGFjazovLy8uL3NyYy9zY3NzL2Q6L09wZW5TZXJ2ZXIvZG9tYWlucy9yYWlzZXRoZWZ1dHVyZS9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX3BhZ2luYXRpb24uc2NzcyIsIndlYnBhY2s6Ly8vLi9zcmMvc2Nzcy9kOi9PcGVuU2VydmVyL2RvbWFpbnMvcmFpc2V0aGVmdXR1cmUvc3JjL3Njc3MvY29tcG9uZW50cy9fYnV0dG9uLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vc3JjL3Njc3MvZDovT3BlblNlcnZlci9kb21haW5zL3JhaXNldGhlZnV0dXJlL3NyYy9zY3NzL2NvbXBvbmVudHMvX2Zvb3Rlci5zY3NzIiwid2VicGFjazovLy8uL3NyYy9zY3NzL2Q6L09wZW5TZXJ2ZXIvZG9tYWlucy9yYWlzZXRoZWZ1dHVyZS9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2dyaWQvX3Jvdy5zY3NzIiwid2VicGFjazovLy8uL3NyYy9zY3NzL2Q6L09wZW5TZXJ2ZXIvZG9tYWlucy9yYWlzZXRoZWZ1dHVyZS9zcmMvc2Nzcy9jb21wb25lbnRzL19oZWFkZXIuc2NzcyIsIndlYnBhY2s6Ly8vLi9zcmMvc2Nzcy9kOi9PcGVuU2VydmVyL2RvbWFpbnMvcmFpc2V0aGVmdXR1cmUvbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy91dGlsL19mbGV4LnNjc3MiLCJ3ZWJwYWNrOi8vLy4vc3JjL3Njc3MvZDovT3BlblNlcnZlci9kb21haW5zL3JhaXNldGhlZnV0dXJlL3NyYy9zY3NzL2NvbXBvbmVudHMvX3JvdW5kZWQtY29ybmVycy5zY3NzIiwid2VicGFjazovLy8uL3NyYy9zY3NzL2Q6L09wZW5TZXJ2ZXIvZG9tYWlucy9yYWlzZXRoZWZ1dHVyZS9zcmMvc2Nzcy9jb21wb25lbnRzL19ldmVudC1saXN0aW5nLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vc3JjL3Njc3MvZDovT3BlblNlcnZlci9kb21haW5zL3JhaXNldGhlZnV0dXJlL3NyYy9zY3NzL2NvbXBvbmVudHMvX2JsdWUtc2lkZWJhci5zY3NzIiwid2VicGFjazovLy8uL3NyYy9zY3NzL2Q6L09wZW5TZXJ2ZXIvZG9tYWlucy9yYWlzZXRoZWZ1dHVyZS9zcmMvc2Nzcy9jb21wb25lbnRzL19zdGF0aXN0aWNzLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vc3JjL3Njc3MvZDovT3BlblNlcnZlci9kb21haW5zL3JhaXNldGhlZnV0dXJlL3NyYy9zY3NzL21vZHVsZXMvX2FjY29yZGlvbi5zY3NzIiwid2VicGFjazovLy8uL3NyYy9zY3NzL2Q6L09wZW5TZXJ2ZXIvZG9tYWlucy9yYWlzZXRoZWZ1dHVyZS9zcmMvc2Nzcy9tb2R1bGVzL19ib3hlcy5zY3NzIiwid2VicGFjazovLy8uL3NyYy9zY3NzL2Q6L09wZW5TZXJ2ZXIvZG9tYWlucy9yYWlzZXRoZWZ1dHVyZS9zcmMvc2Nzcy9tb2R1bGVzL19jYWxsb3V0LnNjc3MiLCJ3ZWJwYWNrOi8vLy4vc3JjL3Njc3MvZDovT3BlblNlcnZlci9kb21haW5zL3JhaXNldGhlZnV0dXJlL3NyYy9zY3NzL21vZHVsZXMvX2NhbGwtdG8tYWN0aW9uLWdyb3VwLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vc3JjL3Njc3MvZDovT3BlblNlcnZlci9kb21haW5zL3JhaXNldGhlZnV0dXJlL3NyYy9zY3NzL21vZHVsZXMvX2Z1bGwtd2lkdGgtY29udGVudC5zY3NzIiwid2VicGFjazovLy8uL3NyYy9zY3NzL2Q6L09wZW5TZXJ2ZXIvZG9tYWlucy9yYWlzZXRoZWZ1dHVyZS9zcmMvc2Nzcy9tb2R1bGVzL19saW5rLWFyZWEuc2NzcyIsIndlYnBhY2s6Ly8vLi9zcmMvc2Nzcy9kOi9PcGVuU2VydmVyL2RvbWFpbnMvcmFpc2V0aGVmdXR1cmUvc3JjL3Njc3MvbW9kdWxlcy9fc2VjdGlvbi10aXRsZS5zY3NzIiwid2VicGFjazovLy8uL3NyYy9zY3NzL2Q6L09wZW5TZXJ2ZXIvZG9tYWlucy9yYWlzZXRoZWZ1dHVyZS9zcmMvc2Nzcy9tb2R1bGVzL19zZWN0aW9uLXdpdGgtc2lkZWJhci5zY3NzIiwid2VicGFjazovLy8uL3NyYy9zY3NzL2Q6L09wZW5TZXJ2ZXIvZG9tYWlucy9yYWlzZXRoZWZ1dHVyZS9zcmMvc2Nzcy9tb2R1bGVzL19zZWN0aW9uLXdpdGgtc2lkZS1pbWFnZS5zY3NzIiwid2VicGFjazovLy8uL3NyYy9zY3NzL2Q6L09wZW5TZXJ2ZXIvZG9tYWlucy9yYWlzZXRoZWZ1dHVyZS9zcmMvc2Nzcy9tb2R1bGVzL19zZWN0aW9uLXdpdGgtdmlkZW8uc2NzcyIsIndlYnBhY2s6Ly8vLi9zcmMvc2Nzcy9kOi9PcGVuU2VydmVyL2RvbWFpbnMvcmFpc2V0aGVmdXR1cmUvc3JjL3Njc3MvcGFnZXMvX2hvbWUuc2NzcyIsIndlYnBhY2s6Ly8vLi9zcmMvc2Nzcy9kOi9PcGVuU2VydmVyL2RvbWFpbnMvcmFpc2V0aGVmdXR1cmUvc3JjL3Njc3MvcGFnZXMvX2V2ZW50cy5zY3NzIiwid2VicGFjazovLy8uL3NyYy9zY3NzL2Q6L09wZW5TZXJ2ZXIvZG9tYWlucy9yYWlzZXRoZWZ1dHVyZS9zcmMvc2Nzcy9wYWdlcy9fZmFtaWx5LXN1cHBvcnQuc2NzcyIsIndlYnBhY2s6Ly8vLi9zcmMvc2Nzcy9kOi9PcGVuU2VydmVyL2RvbWFpbnMvcmFpc2V0aGVmdXR1cmUvc3JjL3Njc3MvcGFnZXMvX2dldC1pbnZvbHZlZC5zY3NzIiwid2VicGFjazovLy8uL3NyYy9zY3NzL2Q6L09wZW5TZXJ2ZXIvZG9tYWlucy9yYWlzZXRoZWZ1dHVyZS9zcmMvc2Nzcy9wYWdlcy9fYWJvdXQuc2NzcyIsIndlYnBhY2s6Ly8vLi9zcmMvc2Nzcy9kOi9PcGVuU2VydmVyL2RvbWFpbnMvcmFpc2V0aGVmdXR1cmUvc3JjL3Njc3MvcGFnZXMvX21lbnRvcmluZy5zY3NzIiwid2VicGFjazovLy8uL3NyYy9zY3NzL2Q6L09wZW5TZXJ2ZXIvZG9tYWlucy9yYWlzZXRoZWZ1dHVyZS9zcmMvc2Nzcy9wYWdlcy9fc2VhcmNoLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vc3JjL3Njc3MvZDovT3BlblNlcnZlci9kb21haW5zL3JhaXNldGhlZnV0dXJlL3NyYy9zY3NzL3BhZ2VzL19ibG9nLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vc3JjL3Njc3MvZDovT3BlblNlcnZlci9kb21haW5zL3JhaXNldGhlZnV0dXJlL3NyYy9zY3NzL3BhZ2VzL19vdXItaW1wYWN0LnNjc3MiLCJ3ZWJwYWNrOi8vLy4vc3JjL3Njc3MvZDovT3BlblNlcnZlci9kb21haW5zL3JhaXNldGhlZnV0dXJlL3NyYy9zY3NzL3BhZ2VzL19zdGVwcy5zY3NzIiwid2VicGFjazovLy8uL3NyYy9zY3NzL2Q6L09wZW5TZXJ2ZXIvZG9tYWlucy9yYWlzZXRoZWZ1dHVyZS9zcmMvc2Nzcy9wYWdlcy9fc3RhZmYuc2NzcyIsIndlYnBhY2s6Ly8vLi9zcmMvc2Nzcy9kOi9PcGVuU2VydmVyL2RvbWFpbnMvcmFpc2V0aGVmdXR1cmUvc3JjL3Njc3MvcGFnZXMvX3Jlc291cmNlcy5zY3NzIiwid2VicGFjazovLy8uL3NyYy9zY3NzL2Q6L09wZW5TZXJ2ZXIvZG9tYWlucy9yYWlzZXRoZWZ1dHVyZS9ub2RlX21vZHVsZXMvbW90aW9uLXVpL3NyYy91dGlsL190cmFuc2l0aW9uLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vc3JjL3Njc3MvZDovT3BlblNlcnZlci9kb21haW5zL3JhaXNldGhlZnV0dXJlL25vZGVfbW9kdWxlcy9tb3Rpb24tdWkvc3JjL19jbGFzc2VzLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vc3JjL3Njc3MvZDovT3BlblNlcnZlci9kb21haW5zL3JhaXNldGhlZnV0dXJlL25vZGVfbW9kdWxlcy9tb3Rpb24tdWkvc3JjL3V0aWwvX2tleWZyYW1lLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vc3JjL3Njc3MvZDovT3BlblNlcnZlci9kb21haW5zL3JhaXNldGhlZnV0dXJlL25vZGVfbW9kdWxlcy9tb3Rpb24tdWkvc3JjL3RyYW5zaXRpb25zL19zbGlkZS5zY3NzIiwid2VicGFjazovLy8uL3NyYy9zY3NzL2Q6L09wZW5TZXJ2ZXIvZG9tYWlucy9yYWlzZXRoZWZ1dHVyZS9ub2RlX21vZHVsZXMvbW90aW9uLXVpL3NyYy90cmFuc2l0aW9ucy9fZmFkZS5zY3NzIiwid2VicGFjazovLy8uL3NyYy9zY3NzL2Q6L09wZW5TZXJ2ZXIvZG9tYWlucy9yYWlzZXRoZWZ1dHVyZS9ub2RlX21vZHVsZXMvbW90aW9uLXVpL3NyYy90cmFuc2l0aW9ucy9faGluZ2Uuc2NzcyIsIndlYnBhY2s6Ly8vLi9zcmMvc2Nzcy9kOi9PcGVuU2VydmVyL2RvbWFpbnMvcmFpc2V0aGVmdXR1cmUvbm9kZV9tb2R1bGVzL21vdGlvbi11aS9zcmMvdHJhbnNpdGlvbnMvX3pvb20uc2NzcyIsIndlYnBhY2s6Ly8vLi9zcmMvc2Nzcy9kOi9PcGVuU2VydmVyL2RvbWFpbnMvcmFpc2V0aGVmdXR1cmUvbm9kZV9tb2R1bGVzL21vdGlvbi11aS9zcmMvdHJhbnNpdGlvbnMvX3NwaW4uc2NzcyIsIndlYnBhY2s6Ly8vLi9zcmMvc2Nzcy9kOi9PcGVuU2VydmVyL2RvbWFpbnMvcmFpc2V0aGVmdXR1cmUvbm9kZV9tb2R1bGVzL21vdGlvbi11aS9zcmMvdXRpbC9fYW5pbWF0aW9uLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vc3JjL3Njc3MvZDovT3BlblNlcnZlci9kb21haW5zL3JhaXNldGhlZnV0dXJlL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fZHJvcGRvd24tbWVudS5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGlCQUFpQixpQ0FBeUIsR0FBRywyQkFBMkIsNERBQTRELENBQUMsQ0FBcEgseUJBQXlCLEdBQUcsMkJBQTJCLDREQUE0RCxDQUFDLENBQUMsOEJBQXNCLEdBQUcsV0FBVywwQkFBMEIsQ0FBQyxHQUFHLFVBQVUsdUJBQXVCLENBQUMsQ0FBcEcsc0JBQXNCLEdBQUcsV0FBVywwQkFBMEIsQ0FBQyxHQUFHLFVBQVUsdUJBQXVCLENBQUMsQ0FBQyxnQ0FBd0IsR0FBRyxTQUFTLENBQUMsR0FBRyxTQUFTLENBQUMsQ0FBbEQsd0JBQXdCLEdBQUcsU0FBUyxDQUFDLEdBQUcsU0FBUyxDQUFDLENBQUMsTUFBTSxrQ0FBa0MsbUNBQW1DLG1CQUFtQixjQUFjLGFBQWEsc0JBQXNCLG9CQUFvQiw0Q0FBNEMsa0NBQWtDLGdCQUFnQixnREFBZ0QsZ0JBQWdCLHdDQUF3QyxlQUFlLGdCQUFnQixrQkFBa0IsaUJBQWlCLCtCQUErQixTQUFTLENBQUMscUNBQXFDLGNBQWMsWUFBWSxVQUFVLENBQUMsYUFBYSxhQUFhLG9CQUFvQixVQUFVLENBQUMsWUFBWSxTQUFTLENBQUMsZUFBZSxxQkFBcUIsQ0FBQyw4REFBOEQsa0JBQWtCLENBQUMsaUZBQWlGLHlCQUF5QixDQUFDLGFBQWEsbUJBQW1CLGdEQUFnRCxrQkFBa0Isa0RBQWtELFdBQVcsd0NBQXdDLGNBQWMsMENBQTBDLGNBQWMsZUFBZSxDQUFDLG9EQUFvRCxZQUFZLENBQUMsZ0JBQWdCLHdFQUFnQyxTQUFTLGFBQWEsZUFBZSwyQ0FBMkMsT0FBTyxhQUFhLHlDQUF5QyxrQkFBa0Isa0JBQWtCLHFDQUFxQyxVQUFVLENBQUMsMkJBQTJCLFlBQVksQ0FBQyx5QkFBeUIsZ0JBQWdCLGVBQWUsMENBQTBDLGFBQWEsaURBQWlELENBQUMsQ0FBQyx5QkFBeUIsZ0JBQWdCLGVBQWUsMENBQTBDLENBQUMsQ0FBQyx1Q0FBdUMsYUFBYSxDQUFDLDRFQUE0RSw0QkFBNEIsZ0VBQWdFLENBQUMsZUFBZSxpQkFBaUIsaURBQWlELGtCQUFrQixtQ0FBbUMsMkJBQTJCLFdBQVcsMkNBQTJDLGlCQUFpQixrQkFBa0Isb0JBQW9CLENBQUMsbUJBQW1CLGNBQWMsQ0FBQyxlQUFlLGlCQUFpQixTQUFTLGtCQUFrQiw2Q0FBNkMsY0FBYyxlQUFlLGNBQWMsaUJBQWlCLFlBQVksbURBQW1ELGtCQUFrQix1QkFBdUIsQ0FBQyxtQkFBbUIsa0JBQWtCLGNBQWMsWUFBWSwwQ0FBMEMsb0JBQW9CLFdBQVcsd0NBQXdDLENBQUMscUJBQXFCLFNBQVMsQ0FBQyw2QkFBNkIsMkJBQTJCLHlHQUF5RyxrQkFBa0IsQ0FBQyxnQkFBZ0Isb0JBQW9CLENBQUMsdVJBQXVSLFlBQVksQ0FBQyx3Q0FBd0MsWUFBWSxDQUFDLGdCQUFnQixtQkFBbUIsYUFBYSx5QkFBeUIsaUJBQWlCLENBQUMsMkNBQTJDLE9BQU8sV0FBVyxDQUFDLHNDQUFzQyxrQkFBa0IscURBQXFELENBQUMsa0RBQWtELGNBQWMsaUJBQWlCLENBQUMsZ0VBQWdFLG1CQUFtQixzREFBc0QsQ0FBQyxpREFBaUQsY0FBYyxtREFBbUQsQ0FBQyxzTUFBc00sY0FBYyxDQUFDLDhIQUE4SCxZQUFZLENBQUMsZ0xBQWdMLG9CQUFvQixDQUFDLFlBQVksYUFBYSxpQkFBaUIsQ0FBQywrQkFBK0IsNkJBQTZCLENBQUMsbURBQW1ELHVCQUF1QixDQUFDLDhEQUE4RCxZQUFZLENBQUMsdUJBQXVCLG9FQUE4QixxQkFBcUIsaURBQWlELGtCQUFrQiwwQ0FBMEMsWUFBWSwrQkFBK0IsdURBQXVELGNBQWMscUNBQXFDLGVBQWUsMENBQTBDLG1CQUFtQixrQkFBa0IsV0FBVyxnQkFBZ0IsbUJBQW1CLFNBQVMsQ0FBQywyQkFBMkIsZ0JBQWdCLGlGQUFpRixDQUFDLDZCQUE2Qix1QkFBdUIsMkJBQTJCLG1EQUFtRCx1REFBdUQsV0FBVyxTQUFTLGtCQUFrQixXQUFXLDhIQUE4SCxTQUFTLE9BQU8sQ0FBQyxtQ0FBbUMsWUFBWSxrREFBa0QsQ0FBQyxtRkFBbUYsY0FBYyxDQUFDLDJHQUEyRyxZQUFZLENBQUMsc0NBQXNDLG1CQUFtQixjQUFjLHFDQUFxQyxhQUFhLGVBQWUsc0VBQXNFLHlCQUF5QixzR0FBc0cseUJBQXlCLDREQUFpQixVQUFVLENBQUMsMkNBQTJDLG9CQUFvQixhQUFhLFVBQVUsQ0FBQyw0Q0FBNEMsdUJBQXVCLHdEQUF3RCxXQUFXLGtCQUFrQixRQUFRLDBCQUEwQixDQUFDLCtDQUErQyxtQkFBbUIsMERBQTBELENBQUMscURBQXFELDBCQUEwQix1REFBdUQsWUFBWSw0RkFBNEYsQ0FBQyw4SEFBOEgseUJBQXlCLENBQUMsNENBQTRDLGdCQUFnQixnREFBZ0QsV0FBVyxrREFBa0Qsb0JBQW9CLDJEQUEyRCxrQkFBa0IsMERBQTBELGtCQUFrQix3QkFBd0IseURBQXlELENBQUMsa0RBQWtELDJCQUEyQix3REFBd0QsV0FBVywyRkFBMkYsQ0FBQyxtREFBbUQsbUJBQW1CLHNEQUFzRCx3QkFBd0Isa0VBQWtFLFdBQVcsV0FBVyxPQUFPLGlCQUFpQix3REFBd0QsZ0JBQWdCLGtCQUFrQixRQUFRLFFBQVEsQ0FBQyx3SEFBd0gsMEJBQTBCLENBQUMsMERBQTBELGlCQUFpQix1REFBdUQsQ0FBQyxpSUFBaUksa0JBQWtCLENBQUMsaUVBQWlFLHFCQUFxQixXQUFXLGNBQWMsY0FBYyxZQUFZLGtCQUFrQiw4Q0FBOEMsd0JBQXdCLFVBQVUsQ0FBQyxnRUFBZ0UsZ0JBQWdCLFNBQVMsV0FBVyxVQUFVLFVBQVUsUUFBUSxvQ0FBb0MsK0NBQStDLFNBQVMsQ0FBQyxvRkFBb0YsbUJBQW1CLDhHQUE4RyxDQUFDLG1GQUFtRixVQUFVLG1DQUFtQyxDQUFDLHNKQUFzSixvQkFBb0IsQ0FBQywwQ0FBMEMsbUJBQW1CLGFBQWEsaUJBQWlCLGtCQUFrQixrRUFBa0UsZ0JBQWdCLG9CQUFvQiw0REFBNEQsbUJBQW1CLENBQUMsaUNBQWlDLHdCQUF3QixxQ0FBZ0IsaUJBQWlCLFNBQVMsbUJBQW1CLDJEQUEyRCxjQUFjLDhGQUE4RixjQUFjLFlBQVksdUdBQXVHLFNBQVMsWUFBWSxVQUFVLCtCQUErQixVQUFVLENBQUMsZ0VBQWdFLGlCQUFpQiwrREFBK0QsNEZBQTRGLFNBQVMsb0JBQW9CLDBEQUEwRCxXQUFXLDBDQUFpRixzRUFBK0IseUJBQXlCLGdCQUFnQixDQUFDLHVEQUF1RCx3QkFBd0IsZ0JBQWdCLGdCQUFnQixtREFBbUQsU0FBUyxtQkFBbUIsbURBQW1ELGtGQUFrRixZQUFZLDJDQUEyQyxnQkFBZ0IsbUdBQW1HLGtCQUFrRCx3REFBd0IsV0FBVyx5Q0FBeUMsQ0FBQyxtREFBbUQsaUJBQWlCLFNBQVMsb0JBQW9CLDBEQUEwRCxXQUFXLDBDQUE4RSxtRUFBK0Isc0NBQWdCLENBQUMsbURBQW1ELGdCQUFnQixtREFBbUQsU0FBUyxtQkFBbUIsbURBQW1ELGtGQUFrRixZQUFZLDJDQUEyQyxrQkFBK0MscURBQXdCLFdBQVcseUNBQXlDLENBQUMsc0RBQXNELHdCQUF3QixvQkFBb0IsMERBQTBELFdBQVcseUNBQXlDLENBQUMsNENBQTRDLFdBQVcsQ0FBQyw2RkFBNkYsaUJBQWlCLFNBQVMsb0JBQW9CLDBEQUEwRCxXQUFXLDBDQUE2RSxrRUFBK0IscUNBQWdCLENBQUMsaURBQWlELGlCQUFpQix3QkFBd0IsU0FBUyxvQkFBb0IsMERBQTBELFdBQVcsMENBQTZFLGtFQUErQixxQ0FBZ0IsQ0FBQyw0Q0FBNEMsZ0JBQWdCLG1EQUFtRCxTQUFTLG1CQUFtQixtREFBbUQsa0ZBQWtGLFlBQVksMkNBQTJDLGFBQWEsa0JBQThDLG9EQUF3QixXQUFXLHlDQUF5QyxDQUFDLDhDQUE4QyxZQUFZLENBQUMsbURBQW1ELFFBQVEsQ0FBQyx1Q0FBdUMsU0FBUyxDQUFDLDhFQUE4RSwyQkFBMkIseUdBQXlHLGtCQUFrQixDQUFDLGlFQUFpRSwyQkFBMkIseUdBQXlHLGtCQUFrQixDQUFDLDBEQUEwRCwyQkFBMkIseUdBQXlHLGtCQUFrQixDQUFDLGNBQWMsc0JBQXNCLGdGQUFnRiw0QkFBNEIsNEJBQTRCLHdCQUF3QixZQUFZLE9BQU8sVUFBVSxrQkFBa0IsTUFBTSw0QkFBNEIsV0FBVyxTQUFTLENBQUMsa0RBQWtELFNBQVMsQ0FBQyxtRkFBbUYsWUFBWSxDQUFDLFlBQVksZUFBZSxxRUFBcUUsQ0FBQywrQkFBK0IsZ0JBQVksa0JBQWtCLDZDQUE2QyxDQUFDLHlCQUF5Qix3QkFBd0IsWUFBWSxDQUFDLENBQUMsZUFBZSxnQkFBZ0IsK0NBQStDLGtCQUFrQiw2Q0FBNkMsWUFBWSwrQkFBK0IsMERBQTBELGNBQWMsd0NBQXdDLGVBQWUsMkNBQTJDLGdCQUFnQixnREFBZ0QsU0FBUyxnQkFBZ0IsbUJBQW1CLDBEQUEwRCxVQUFVLGtCQUFrQixnR0FBZ0csb0JBQW9CLGtCQUFrQix5Q0FBeUMsMEJBQTBCLHVEQUF1RCxtQkFBbUIsU0FBUyxDQUFDLHNCQUFzQiw0QkFBNEIsMkRBQTJELDZCQUE2Qiw0REFBNEQsMEJBQTBCLHdGQUF3RixZQUFZLG9EQUFvRCxXQUFXLFNBQVMsU0FBUyxrQkFBa0IsMkJBQTJCLFFBQVEsU0FBUyxDQUFDLG9IQUFvSCxVQUFVLGtDQUFrQyxDQUFDLDBDQUEwQyxTQUFTLENBQUMsbUlBQW1JLE9BQU8scUNBQXFDLHVCQUF1QixDQUFDLGlKQUFpSixVQUFVLHVGQUF1RixDQUFDLHlEQUF5RCxVQUFVLFFBQVEscUNBQXFDLDBCQUEwQixDQUFDLGdFQUFnRSxVQUFVLFdBQVcseUZBQXlGLHlCQUF5QixDQUFDLDJvQkFBMm9CLCtCQUErQixDQUFDLGdCQUFnQixXQUFXLG1EQUFtRCxrQkFBa0IsaURBQWlELGlCQUFpQixDQUFDLDBEQUEwRCxtQkFBbUIsMkRBQTJELG9CQUFvQiw0REFBNEQsd0JBQXdCLHVEQUF1RCxDQUFDLGtDQUFrQyxrQkFBa0IsU0FBUyxDQUFDLCtCQUErQixPQUFPLGdCQUFnQix3QkFBd0IsQ0FBQyx3QkFBd0Isd0JBQXdCLGlCQUFpQixTQUFTLG9CQUFvQixXQUFXLDBDQUEwQyxPQUFPLGtCQUFrQiw0REFBNEQsVUFBVSxrQkFBa0IsT0FBTyxDQUFDLDhDQUE4QyxnQkFBZ0IsQ0FBQyxnREFBZ0Qsd0JBQXdCLG9CQUFvQixjQUFjLDZDQUErRSwyREFBeUIsQ0FBQywyQ0FBMkMsd0JBQXdCLG9CQUFvQixjQUFjLDZDQUE0RSx3REFBeUIsQ0FBQyxrQ0FBa0Msb0JBQWtELHVEQUF5QixDQUFDLHVDQUF1Qyw4RkFBMkMsaUhBQWlILCtPQUErTywyQkFBMkIsMEJBQTBCLDhGQUE4RixXQUFXLENBQUMsbURBQW1ELDJCQUEyQix5RUFBeUUsQ0FBQyxtREFBbUQsMkJBQTJCLHlFQUF5RSxDQUFDLHdCQUF3QixzQkFBc0IsNkRBQTZELGtCQUFrQixXQUFXLDBDQUEwQyxrQkFBa0IsUUFBUSwrQkFBK0IsVUFBVSw0Q0FBNEMsU0FBUyxDQUFDLGNBQWMsbUJBQW1CLGFBQWEsaUJBQWlCLENBQUMsZ0NBQWdDLGdCQUFnQixzREFBc0QsaUJBQWlCLHVEQUF1RCxlQUFlLGVBQWUsa0JBQWtCLFNBQVMsQ0FBQyxhQUFhLGFBQWEsQ0FBQyw2QkFBNkIsZ0JBQWdCLHNEQUFzRCxzQkFBc0IsY0FBYyw4Q0FBOEMsYUFBYSx3Q0FBd0MsQ0FBQyw0SEFBNEgsbUJBQW1CLDRHQUE0RyxXQUFXLGdEQUFnRCxDQUFDLDRFQUE0RSwyQkFBMkIsa0hBQWtILENBQUMsK0RBQStELDJCQUEyQixrSEFBa0gsQ0FBQyx3REFBd0QsMkJBQTJCLGtIQUFrSCxDQUFDLDBFQUEwRSx1RUFBdUUsbU1BQW1NLENBQUMsc0VBQXNFLHVFQUF1RSxtTUFBbU0sQ0FBQywrREFBK0QsdUVBQXVFLG1NQUFtTSxDQUFDLHFDQUFxQyxnQkFBZ0IsOERBQThELENBQUMsYUFBYSxlQUFlLENBQUMsNkJBQTZCLGdCQUFnQixDQUFDLHFCQUFxQixnQkFBZ0IsMEVBQTBFLHNCQUFzQixZQUFZLFlBQVksZ0JBQWdCLGtCQUFrQixVQUFVLENBQUMscURBQXFELGlCQUFpQixDQUFDLGtDQUFrQyxxREFBcUQsU0FBUyxzQkFBc0IsaUJBQWlCLENBQUMsQ0FBQyxrRUFBa0UsU0FBUyxZQUFZLE9BQU8sa0JBQWtCLE1BQU0sVUFBVSxDQUFDLGdFQUFnRSxvQkFBb0Isa0JBQWtCLGdDQUFnQyxDQUFDLDZCQUE2Qiw0Q0FBNEMsa0ZBQWtGLGtDQUFrQyxtQ0FBbUMsU0FBUyxXQUFXLDJDQUEyQyxPQUFPLFlBQVksa0RBQWtELGlCQUFpQixzREFBc0Qsa0JBQWtCLFFBQVEsNkRBQTZELFNBQVMsQ0FBQyx5QkFBeUIsNkJBQTZCLGFBQWEseUNBQXlDLGlCQUFpQix1REFBdUQsQ0FBQyxDQUFDLGlEQUFpRCxVQUFVLG9CQUFvQiwwQkFBMEIsQ0FBQyw0SEFBNEgsbUJBQW1CLDRHQUE0RyxXQUFXLGdEQUFnRCxDQUFDLHlCQUF5QixtQkFBbUIsNEdBQTRHLFNBQVMsbUJBQW1CLFdBQVcsMkNBQTJDLGFBQWEsU0FBUyxXQUFXLGFBQWEsb0RBQW9ELGtCQUFrQixRQUFRLCtCQUErQixlQUFlLFNBQVMsQ0FBQyw2QkFBNkIsU0FBUyxpQkFBaUIsQ0FBQyw4REFBOEQsU0FBUyxDQUFDLHdDQUF3QyxVQUFVLGlCQUFpQixDQUFDLG9EQUFvRCxhQUFhLENBQUMsNEVBQTRFLDJCQUEyQixrSEFBa0gsQ0FBQywrREFBK0QsMkJBQTJCLGtIQUFrSCxDQUFDLHdEQUF3RCwyQkFBMkIsa0hBQWtILENBQUMsMEVBQTBFLHVFQUF1RSxtTUFBbU0sQ0FBQyxzRUFBc0UsdUVBQXVFLG1NQUFtTSxDQUFDLCtEQUErRCx1RUFBdUUsbU1BQW1NLENBQUMscUNBQXFDLGdCQUFnQiw4REFBOEQsQ0FBQywwQkFBaUIsZ0JBQWdCLDBCQUEwQixZQUFZLFNBQVMsVUFBVSxDQUExRixxQkFBaUIsZ0JBQWdCLDBCQUEwQixZQUFZLFNBQVMsVUFBVSxDQUExRixpQkFBaUIsZ0JBQWdCLDBCQUEwQixZQUFZLFNBQVMsVUFBVSxDQUFDLGdDQUF1QixXQUFXLENBQWxDLDJCQUF1QixXQUFXLENBQWxDLHVCQUF1QixXQUFXLENBQUMsZ0VBQXVELGFBQWEsQ0FBcEUsMkRBQXVELGFBQWEsQ0FBcEUsdURBQXVELGFBQWEsQ0FBQyxvRUFBMkQsWUFBWSxDQUF2RSwrREFBMkQsWUFBWSxDQUF2RSwyREFBMkQsWUFBWSxDQUFDLDhDQUFxQyxXQUFXLENBQWhELHlDQUFxQyxXQUFXLENBQWhELHFDQUFxQyxXQUFXLENBQUMsMEJBQTBCLDBDQUFpQyxlQUFlLDJDQUEyQyxDQUEzRixxQ0FBaUMsZUFBZSwyQ0FBMkMsQ0FBM0YsaUNBQWlDLGVBQWUsMkNBQTJDLENBQUMsQ0FBQywyQkFBMkIsZ0JBQWdCLDBCQUEwQixTQUFTLFlBQVksT0FBTyxTQUFTLGVBQWUsUUFBUSxNQUFNLFdBQVcsZ0JBQWdCLENBQUMsaUNBQWlDLFdBQVcsQ0FBQyxpRUFBaUUsYUFBYSxDQUFDLHFFQUFxRSxZQUFZLENBQUMsK0NBQStDLFdBQVcsQ0FBQywwQkFBMEIsMkNBQTJDLGVBQWUsMkNBQTJDLENBQUMsQ0FBQyxXQUFXLHNCQUFzQixTQUFTLGVBQWUsT0FBTyxnQkFBZ0Isa0JBQWtCLFFBQVEsTUFBTSxVQUFVLENBQUMscUNBQXFDLFlBQVksa0JBQWtCLFVBQVUsQ0FBQyxpQkFBaUIsbUJBQW1CLGtCQUFrQixZQUFZLHdDQUF3QyxXQUFXLDhCQUE4QixlQUFlLGdCQUFnQixvQkFBb0Isa0JBQWtCLFdBQVcsdUNBQXVDLFNBQVMsQ0FBQyx1QkFBdUIsWUFBWSxDQUFDLFlBQVksd0JBQXdCLGNBQWMsV0FBVywwQ0FBMEMsT0FBTyxXQUFXLGtCQUFrQixRQUFRLDJCQUEyQixVQUFVLFNBQVMsQ0FBQyxxQkFBcUIsc0JBQXNCLHFEQUFxRCxrQkFBa0IsMENBQTBDLFlBQVksK0JBQStCLDBEQUEwRCxtQkFBbUIsMERBQTBELFVBQVUsWUFBWSxvQkFBb0Isa0JBQWtCLHFDQUFxQywwQkFBMEIsdURBQXVELFNBQVMsQ0FBQywrQkFBK0IsVUFBVSwrQkFBK0IsQ0FBQyw0QkFBNEIsNEJBQTRCLDJEQUEyRCw2QkFBNkIsNERBQTRELDBCQUEwQix3RkFBd0YsWUFBWSxvREFBb0QsV0FBVyxTQUFTLDZDQUE2QyxrQkFBa0IsMkJBQTJCLFFBQVEsU0FBUyxDQUFDLHNDQUFzQyxtQkFBbUIsa0JBQWtCLHVEQUF1RCxnQkFBZ0Isa0JBQWtCLFNBQVMsQ0FBQyxzRkFBc0YsWUFBWSxPQUFPLGtCQUFrQixNQUFNLFVBQVUsQ0FBQyw0Q0FBNEMsc0JBQXNCLHFDQUFxQyxXQUFXLG1CQUFtQixDQUFDLDBDQUEwQyxnQkFBZ0IsY0FBYyxDQUFDLHFDQUFxQyw0Q0FBNEMsa0ZBQWtGLDhCQUE4QixtRUFBbUUsK0JBQStCLG9FQUFvRSxTQUFTLE9BQU8sZ0JBQWdCLHFCQUFxQixrQkFBa0IsUUFBUSxTQUFTLENBQUMsMENBQTBDLFdBQVcsZUFBZSxxRUFBcUUsQ0FBQyx5QkFBeUIsU0FBUywwQ0FBaUIsWUFBWSxPQUFPLFlBQVksVUFBVSxnQkFBZ0Isb0JBQW9CLGtCQUFrQixRQUFRLE1BQU0sNEJBQTRCLFdBQVcsU0FBUyxDQUFDLG1DQUFtQyxTQUFTLENBQUMsNkJBQTZCLFlBQVksT0FBTyxnQkFBZ0IsZUFBZSx5Q0FBbUIsa0JBQWtCLE1BQU0sVUFBVSxDQUFDLHFCQUFxQix5QkFBeUIsQ0FBQyxlQUFlLDJCQUEyQixtQkFBbUIscUJBQXFCLGdCQUFnQixvQkFBb0IsNEJBQTRCLG1CQUFtQixDQUFDLGVBQWUsc0JBQXNCLENDQWp6L0I7O0FDRUE7O0FBdURBOztBQ3pEQTs7Ozs7R0ZXRTs7QUdxS007RUNuSU47Ozs7SUFDRTtJQUNBO0lBQ0E7R0p6QkY7Q0FDRjs7QUt2QkU7O0FBUUE7RUFDRTtFQUNBO0NMb0JKOztBS1pFO0VBQ0U7Q0xlSjs7QUtURTtFQUNFO0VBQ0E7Q0xZSjs7QUtIRTtFQUNFO0VBQ0E7RUFDQTtDTE1KOztBS0FFO0VBQ0U7RUFDQTtDTEdKOztBS0tFO0VBQ0U7Q0xGSjs7QUtRRTtFQUNFO0VBQ0E7RUFDQTtVQUFBO0NMTEo7O0FLVUU7O0VBRUU7Q0xQSjs7QUthRTs7O0VBR0U7RUFDQTtDTFZKOztBS2VFO0VBQ0U7Q0xaSjs7QUtrQkU7O0VBRUU7RUFDQTtFQUNBO0VBQ0E7Q0xmSjs7QUtrQkU7RUFDRTtDTGZKOztBS2tCRTtFQUNFO0NMZko7O0FLdUJFO0VBQ0U7Q0xwQko7O0FLNkJFOzs7OztFQUtFO0VBQ0E7RUFDQTtFQUNBO0NMMUJKOztBS2dDRTs7RUFFRTtDTDdCSjs7QUttQ0U7O0VBRUU7Q0xoQ0o7O0FLcUNFOzs7O0VBSUU7Q0xsQ0o7O0FLdUNFOzs7O0VBSUU7RUFDQTtDTHBDSjs7QUt5Q0U7Ozs7RUFJRTtDTHRDSjs7QUsyQ0U7RUFDRTtDTHhDSjs7QUtnREU7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7Q0w3Q0o7O0FLa0RFO0VBQ0U7Q0wvQ0o7O0FLb0RFO0VBQ0U7Q0xqREo7O0FLdURFOztFQUVFO0VBQ0E7Q0xwREo7O0FLeURFOztFQUVFO0NMdERKOztBSzRERTtFQUNFO0VBQ0E7Q0x6REo7O0FLOERFO0VBQ0U7Q0wzREo7O0FLaUVFO0VBQ0U7RUFDQTtDTDlESjs7QUtzRUU7RUFDRTtDTG5FSjs7QUt3RUU7RUFDRTtDTHJFSjs7QUs2RUU7RUFDRTtDTDFFSjs7QUsrRUU7RUFDRTtDTDVFSjs7QU0vREU7RUFDRTtDTmtFSjs7QU0vREU7RUFDRTtFQUNBO0NOa0VKOztBTTlERTs7O0VBR0U7Q05pRUo7O0FNN0RFO0VBQ0U7RUFDQTtFQUVBO0VBRUE7RUFDQTtFQUNBO0VBQ0E7RUFHRTtFQUNBO0NONEROOztBTXhERTtFQUVFO0VBQ0E7RUFHQTtFQUNBO0VBQ0E7Q053REo7O0FNcERFO0VBQ0U7RUFDQTtFQUNBO0NOdURKOztBTW5ERTtFQUNFO0VBQ0E7RUFDQTtDTnNESjs7QU0vQ0k7Ozs7OztFQUdFO0NOcUROOztBTWhERTtFQUVFO0VBQ0E7S0FBQTtVQUFBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtDTmtESjs7QU9uRUU7RUFDRTtDUHNFSjs7QU1sREU7RUFDRTtDTnFESjs7QU1qREU7Ozs7O0VBS0U7Q05vREo7O0FNaERFO0VBQ0U7Q05tREo7O0FNaERFO0VBQ0U7Q05tREo7O0FReEtFOzs7Ozs7Ozs7Ozs7Ozs7RUFyQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBRUE7RUFDQTtFQUNBO0VBQ0E7RUFFQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBR0U7RUFxQkE7S0FBQTtVQUFBO0NSdU1KOztBUXhORTs7Ozs7Ozs7Ozs7Ozs7O0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFHRTtDUnVPTjs7QVF6TkU7RUFDRTtDUjROSjs7QVExTkk7RUFDRTtDUjZOTjs7QVF0Tkk7Ozs7RUFFRTtFQUNBO0NSMk5OOztBUXRORTs7RUFFRTtLQUFBO1VBQUE7RUFDQTtDUnlOSjs7QVFyTkU7RUFDRTtDUndOSjs7QVF2TUU7RUFDRTtDUjBNSjs7QVEzTUU7RUFDRTtDUjBNSjs7QVEzTUU7RUFDRTtDUjBNSjs7QVEzTUU7RUFDRTtDUjBNSjs7QVEzTUU7RUFDRTtDUjBNSjs7QVNqWEU7OztFQUdFO0NUb1hKOztBU2hYRTs7RUFFRTtFQUNBO0VBRUE7RUFDQTtFQUNBO0NUa1hKOztBU2hYSTs7RUFDRTtDVG9YTjs7QVMvV0U7O0VBRUU7Q1RrWEo7O0FTOVdFO0VBQ0U7Q1RpWEo7O0FVN1dFO0VBakJBO0VBQ0E7RUFFQTtFQUNBO0VBQ0E7RUFDQTtDVmlZRjs7QVVuWEk7RUFSRjtFQUNBO0NWK1hGOztBV2haRTtFQUdFO0VBQ0E7RUFDQTtFQUNBO0NYaVpKOztBWWxaRTtFQUNFO0VBQ0E7RUFDQTtFQUdFO0NabVpOOztBWS9ZTTs7RUFDRTtDWm1aUjs7QVk5WU07O0VBQ0U7Q1prWlI7O0FZN1lFOzs7Ozs7O0VBQ0U7RUFDQTtDWnNaSjs7QVk5WUU7RUFFRTtFQUNBO0VBQ0E7RUFFQTtFQUNBO0VBQ0E7RUFHRTtFQUNBO0VBQ0E7Q1o2WU47O0FZcllNO0VBQ0U7Q1p3WVI7O0FZcllNO0VBQ0U7Q1p3WVI7O0FZbllFO0VBRUU7RUFHRTtFQUNBO0NabVlOOztBWS9YRTtFQUVFO0VBQ0E7RUFDQTtFQUdFO0VBQ0E7Q1orWE47O0FZeFhJOzs7O0VBT0k7RUFDQTtFQUtGO0VBQ0E7RUFDQTtDWm9YTjs7QWEvY0U7RUFDRTtFQUNBO0VBQ0E7Q2JrZEo7O0FhL2NFO0VBQ0U7RUFDQTtDYmtkSjs7QWEvY0U7RUF4QkE7RUFDQTtFQUNBO0NiMmVGOztBYXplRTtFQUVFO0VBQ0E7RUFDQTtDYjJlSjs7QWN0YkU7RUEvREE7RUFDQTtFQUNBO0VBRUE7S0FBQTtVQUFBO0VBQ0E7RUFDQTtFQUNBO0VBRUE7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFUGtIQTtFTzlHRTtFQUNBO0VBQ0E7RUFDQTtFQUVBO0VBSUE7Q2RpZko7O0FPMVlFO0VPbEVBO0lQcUVJO0dQNFlKO0NBQ0Y7O0FjbmZFO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFHRTtDZG9mTjs7QWMvZUU7RUFDRTtFQUNBO0Nka2ZKOztBYzllRTtFQUNFO0NkaWZKOztBYzllRTtFQUNFO0VBQ0E7Q2RpZko7O0FjL2VFO0VBQ0U7RUFDQTtDZGtmSjs7QWV2aEJFO0VBQ0U7RUFDQTtDZjBoQko7O0FleGhCSTtFQUNFO0NmMmhCTjs7QWU1aEJJO0VBQ0U7Q2YyaEJOOztBZTVoQkk7RUFDRTtDZjJoQk47O0FlNWhCSTtFQUNFO0NmMmhCTjs7QWU1aEJJO0VBQ0U7Q2YyaEJOOztBZWpnQkk7RUFDRTtDZm9nQk47O0FlL2ZFO0VBekJBO0VBQ0E7RUFDQTtFQUVBO0VBQ0E7RUFDQTtDZjJoQkY7O0FlcmdCSTtFQUNFO0Nmd2dCTjs7QWdCMVhFOzs7Ozs7Ozs7Ozs7Ozs7Ozs7O0VBbUJFO0VBQ0E7Q2hCNlhKOztBZ0J6WEU7RUFDRTtFQUVBO0VBQ0E7RUFDQTtDaEIyWEo7O0FnQnZYRTs7RUFFRTtFQUNBO0NoQjBYSjs7QWdCdFhFOztFQUVFO0VBQ0E7Q2hCeVhKOztBZ0JyWEU7RUFDRTtFQUNBO0NoQndYSjs7QWdCcFhFOzs7Ozs7Ozs7Ozs7RUFNRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0NoQjZYSjs7QWdCM1hJOzs7Ozs7Ozs7Ozs7RUFDRTtFQUNBO0NoQnlZTjs7QWdCaFlROztFQUlJO0VBWUE7RUFRQTtFQU9BO0NoQnlXWjs7QWdCeFlROztFQUlJO0VBWUE7RUFRQTtFQU9BO0NoQmlYWjs7QWdCaFpROztFQUlJO0VBWUE7RUFRQTtFQU9BO0NoQnlYWjs7QWdCeFpROztFQUlJO0VBWUE7RUFRQTtFQU9BO0NoQmlZWjs7QWdCaGFROztFQUlJO0VBWUE7RUFRQTtFQU9BO0NoQnlZWjs7QWdCeGFROztFQUlJO0VBWUE7RUFRQTtFQU9BO0NoQmlaWjs7QUcvaUJRO0VhK0hBOztJQUlJO0doQmtiVjs7RWdCdGJNOztJQUlJO0doQnViVjs7RWdCM2JNOztJQUlJO0doQjRiVjs7RWdCaGNNOztJQUlJO0doQmljVjs7RWdCcmNNOztJQUlJO0doQnNjVjs7RWdCMWNNOztJQUlJO0doQjJjVjtDQUNGOztBZ0J6YUU7RUFDRTtFQUNBO0VBQ0E7RUFFQTtDaEIyYUo7O0FnQnphSTs7RUFFRTtDaEI0YU47O0FnQnRhSTtFQUNFO0NoQnlhTjs7QWdCcGFFO0VBQ0U7RUFFQTtFQUNBO0VBQ0E7RUFFQTtFQUNBO0VBQ0E7RUFDQTtDaEJxYUo7O0FnQmphRTs7O0VBR0U7RUFDQTtFQUNBO0NoQm9hSjs7QWdCaGFFO0VBQ0U7Q2hCbWFKOztBZ0IvWkU7RUFDRTtFQUNBO0NoQmthSjs7QWdCOVpFO0VBQ0U7Q2hCaWFKOztBZ0I1Wkk7Ozs7RUFDRTtFQUNBO0NoQmthTjs7QWdCN1pFO0VBQ0U7Q2hCZ2FKOztBZ0I5Wkk7RUFDRTtFQUNBO0NoQmlhTjs7QWdCNVpFO0VBQ0U7RUFDQTtFQUNBO0NoQitaSjs7QWdCN1pJOztFQUNFO0VBQ0E7Q2hCaWFOOztBZ0JuWkU7O0VBQ0U7RUFDQTtFQUNBO0NoQnVaSjs7QWdCblpFO0VBQ0U7Q2hCc1pKOztBZ0IzWUU7RUFDRTtFQUNBO0VBRUE7RUFFQTtFQUNBO0NoQjRZSjs7QWlCMXRCRTtFQUNFO0VBQ0E7RUFFQTtFQUNBO0VBQ0E7Q2pCNHRCSjs7QWlCeHRCRTtFQUNFO0VBQ0E7Q2pCMnRCSjs7QWlCdnRCRTtFQUNFO0VBQ0E7Q2pCMHRCSjs7QWlCeHRCSTtFQUNFO0NqQjJ0Qk47O0FpQnJ0Qkk7O0VBQ0U7RUFDQTtDakJ5dEJOOztBaUJydEJFOztFQWpGQTtFQUNBO0VBQ0E7Q2pCMnlCRjs7QWlCenlCRTs7RUFDRTtDakI2eUJKOztBaUI3dEJFOztFQXpFQTtFQUNBO0VBRUE7RUFDQTtFQUNBO0VBTUE7RUFDQTtFQUNBO0VBRUE7Q2pCb3lCRjs7QWlCcnVCRTtFQTlFQTtFQUNBO0VBRUE7RUFDQTtFQUNBO0VBZ0JBO0VBQ0E7RUFDQTtFQUVBO0VBQ0E7Q2pCc3lCRjs7QWtCbjVCVTtFQUNFO0NsQnM1Qlo7O0FrQnY1QlU7RUFDRTtDbEIwNUJaOztBa0IzNUJVO0VBQ0U7Q2xCODVCWjs7QWtCLzVCVTtFQUNFO0NsQms2Qlo7O0FHandCUTtFZXZLRTtJQUNFO0dsQjQ2QlY7O0VrQjc2QlE7SUFDRTtHbEJnN0JWOztFa0JqN0JRO0lBQ0U7R2xCbzdCVjs7RWtCcjdCUTtJQUNFO0dsQnc3QlY7Q0FDRjs7QUdueEJRO0VldktFO0lBQ0U7R2xCODdCVjs7RWtCLzdCUTtJQUNFO0dsQms4QlY7O0VrQm44QlE7SUFDRTtHbEJzOEJWOztFa0J2OEJRO0lBQ0U7R2xCMDhCVjtDQUNGOztBbUJwOEJFO0VBQWtCO0NuQnc4QnBCOztBbUJ0OEJFO0VBQ0U7SUFJSTtJQUNBO0lBQ0E7WUFBQTtJQU9GO0lBQ0E7R25CZzhCSjs7RW1CNzdCRTtJQUFrQjtHbkJpOEJwQjs7RW1CaDhCRTtJQUFrQjtHbkJvOEJwQjs7RW1CbDhCRTtJQUF1QjtHbkJzOEJ6Qjs7RW1CcjhCRTtJQUF1QjtHbkJ5OEJ6Qjs7RW1CeDhCRTtJQUF1QjtHbkI0OEJ6Qjs7RW1CMzhCRTtJQUFvQjtHbkIrOEJ0Qjs7RW1COThCRTtJQUFvQjtHbkJrOUJ0Qjs7RW1CajlCRTtJQUFvQjtHbkJxOUJ0Qjs7RW1CbDlCRTs7SUFDWTtHbkJzOUJkOztFbUJwOUJJO0lBQWdCO0duQnc5QnBCOztFbUJwOUJFOzs7SUFFcUI7R25CdzlCdkI7O0VtQnI5QkU7SUFBb0I7R25CeTlCdEI7O0VtQnQ5QkU7O0lBRUU7SUFDQTtHbkJ5OUJKOztFbUJyOUJFO0lBQVE7R25CeTlCVjs7RW1CdjlCRTs7SUFDTTtHbkIyOUJSOztFbUJ6OUJFO0lBQU07R25CNjlCUjs7QW1CMzlCRTtJQUFRO0NuQis5Qlo7O0VtQjc5Qkk7OztJQUdFO0lBQ0E7R25CZytCSjs7RW1CNTlCRTs7SUFDSztHbkJnK0JQOztFbUI3OUJFO0lBQ0U7R25CZytCSjtDQUNGOztBb0JqakNFO0VDNkJJO0VBQUE7RUN2Qko7RUFDQTtFQUNBO0N0QmlqQ0Y7O0FvQnRqQ0k7RUMwQkU7RUFBQTtFQ3ZCSjtFQUNBO0VBQ0E7Q3RCeWpDRjs7QW9CMWpDSTtFQ3NCRTtFQUFBO0VDdkJKO0VBQ0E7RUFDQTtDdEJpa0NGOztBb0I1akNFO0VFU0E7RUFDQTtDdEJ1akNGOztBb0I3akNFO0VHNEZBO0VBSUU7RUFDQTtFQXNDQTtDdkI2N0JKOztBb0Jqa0NJO0VHeUZGO0N2QjQrQkY7O0FvQmprQ0k7RUdxRkY7Q3ZCZy9CRjs7QW9CL2pDSTtFRzBIQTtDdkJ5OEJKOztBb0IvakNJO0VHc0hBO0N2QjY4Qko7O0FvQm5qQ007Ozs7Ozs7Ozs7Ozs7O0VBQ0U7Q3BCbWtDUjs7QUdsOUJRO0VpQmxIRjs7Ozs7Ozs7Ozs7Ozs7SUFDRTtHcEJxbENOO0NBQ0Y7O0FHcitCUTtFaUJsSEY7Ozs7Ozs7Ozs7Ozs7O0lBQ0U7R3BCd21DTjtDQUNGOztBb0I1bENJOzs7Ozs7Ozs7Ozs7RUc2Q0Y7Q3ZCOGpDRjs7QW9CNWxDTTtFR3lFRjtDdkJ1aENKOztBb0JobUNNO0VHeUVGO0N2QjJoQ0o7O0FvQnBtQ007RUd5RUY7Q3ZCK2hDSjs7QW9CeG1DTTtFR3lFRjtDdkJtaUNKOztBb0I1bUNNO0VHeUVGO0N2QnVpQ0o7O0FvQmhuQ007RUd5RUY7Q3ZCMmlDSjs7QW9CcG5DTTtFR3lFRjtDdkIraUNKOztBb0J4bkNNO0VHeUVGO0N2Qm1qQ0o7O0FvQjVuQ007RUd5RUY7Q3ZCdWpDSjs7QW9CaG9DTTtFR3lFRjtDdkIyakNKOztBb0Jwb0NNO0VHeUVGO0N2QitqQ0o7O0FvQnhvQ007RUd5RUY7Q3ZCbWtDSjs7QUd2akNRO0VpQnpHRjtJR2tESjtJQTJDRTtHdkJ5a0NGOztFb0JqcUNFOzs7Ozs7Ozs7Ozs7O0lHNkNGO0d2Qm9vQ0E7O0VvQjNxQ0k7SUdrRkY7R3ZCNmxDRjs7RW9CdHFDSTtJR3lFRjtHdkJpbUNGOztFb0IxcUNJO0lHeUVGO0d2QnFtQ0Y7O0VvQjlxQ0k7SUd5RUY7R3ZCeW1DRjs7RW9CbHJDSTtJR3lFRjtHdkI2bUNGOztFb0J0ckNJO0lHeUVGO0d2QmluQ0Y7O0VvQjFyQ0k7SUd5RUY7R3ZCcW5DRjs7RW9COXJDSTtJR3lFRjtHdkJ5bkNGOztFb0Jsc0NJO0lHeUVGO0d2QjZuQ0Y7O0VvQnRzQ0k7SUd5RUY7R3ZCaW9DRjs7RW9CMXNDSTtJR3lFRjtHdkJxb0NGOztFb0I5c0NJO0lHeUVGO0d2QnlvQ0Y7O0VvQmx0Q0k7SUd5RUY7R3ZCNm9DRjtDQUNGOztBR2xvQ1E7RWlCekdGO0lHa0RKO0lBMkNFO0d2Qm9wQ0Y7O0VvQjV1Q0U7Ozs7Ozs7Ozs7Ozs7SUc2Q0Y7R3ZCK3NDQTs7RW9CdHZDSTtJR2tGRjtHdkJ3cUNGOztFb0JqdkNJO0lHeUVGO0d2QjRxQ0Y7O0VvQnJ2Q0k7SUd5RUY7R3ZCZ3JDRjs7RW9CenZDSTtJR3lFRjtHdkJvckNGOztFb0I3dkNJO0lHeUVGO0d2QndyQ0Y7O0VvQmp3Q0k7SUd5RUY7R3ZCNHJDRjs7RW9CcndDSTtJR3lFRjtHdkJnc0NGOztFb0J6d0NJO0lHeUVGO0d2Qm9zQ0Y7O0VvQjd3Q0k7SUd5RUY7R3ZCd3NDRjs7RW9CanhDSTtJR3lFRjtHdkI0c0NGOztFb0JyeENJO0lHeUVGO0d2Qmd0Q0Y7O0VvQnp4Q0k7SUd5RUY7R3ZCb3RDRjs7RW9CN3hDSTtJR3lFRjtHdkJ3dENGO0NBQ0Y7O0FvQjF4Q0U7RUFDRTtDcEI2eENKOztBb0J6eENFO0VBQ0U7Q3BCNHhDSjs7QW9COXZDRTtFQ3ZHTTtFQUFBO0NyQjAyQ1I7O0FvQi92Q0k7RUd5QkE7RUYzSEU7RUFBQTtDckJ1MkNOOztBb0JqeUNFO0VHcURFO0N2Qmd2Q0o7O0FvQmp5Q0U7RUdpREU7Q3ZCb3ZDSjs7QW9CN3hDSTtFR3lDQTtDdkJ3dkNKOztBb0JqeUNJO0VHeUNBO0N2QjR2Q0o7O0FvQnJ5Q0k7RUd5Q0E7Q3ZCZ3dDSjs7QW9CenlDSTtFR3lDQTtDdkJvd0NKOztBb0I3eUNJO0VHeUNBO0N2Qnd3Q0o7O0FvQmp6Q0k7RUd5Q0E7Q3ZCNHdDSjs7QW9CcnpDSTtFR3lDQTtDdkJneENKOztBb0J6ekNJO0VHeUNBO0N2Qm94Q0o7O0FvQjd6Q0k7RUd5Q0E7Q3ZCd3hDSjs7QW9CajBDSTtFR3lDQTtDdkI0eENKOztBb0JyMENJO0VHeUNBO0N2Qmd5Q0o7O0FvQnowQ0k7RUd5Q0E7Q3ZCb3lDSjs7QUd4eENRO0VpQmpFTjtJR3FERTtHdkJ5eUNGOztFb0IxMUNBO0lHaURFO0d2QjZ5Q0Y7O0VvQnQxQ0U7SUd5Q0E7R3ZCaXpDRjs7RW9CMTFDRTtJR3lDQTtHdkJxekNGOztFb0I5MUNFO0lHeUNBO0d2Qnl6Q0Y7O0VvQmwyQ0U7SUd5Q0E7R3ZCNnpDRjs7RW9CdDJDRTtJR3lDQTtHdkJpMENGOztFb0IxMkNFO0lHeUNBO0d2QnEwQ0Y7O0VvQjkyQ0U7SUd5Q0E7R3ZCeTBDRjs7RW9CbDNDRTtJR3lDQTtHdkI2MENGOztFb0J0M0NFO0lHeUNBO0d2QmkxQ0Y7O0VvQjEzQ0U7SUd5Q0E7R3ZCcTFDRjs7RW9COTNDRTtJR3lDQTtHdkJ5MUNGOztFb0JsNENFO0lHeUNBO0d2QjYxQ0Y7Q0FDRjs7QUdsMUNRO0VpQmpFTjtJR3FERTtHdkJtMkNGOztFb0JwNUNBO0lHaURFO0d2QnUyQ0Y7O0VvQmg1Q0U7SUd5Q0E7R3ZCMjJDRjs7RW9CcDVDRTtJR3lDQTtHdkIrMkNGOztFb0J4NUNFO0lHeUNBO0d2Qm0zQ0Y7O0VvQjU1Q0U7SUd5Q0E7R3ZCdTNDRjs7RW9CaDZDRTtJR3lDQTtHdkIyM0NGOztFb0JwNkNFO0lHeUNBO0d2QiszQ0Y7O0VvQng2Q0U7SUd5Q0E7R3ZCbTRDRjs7RW9CNTZDRTtJR3lDQTtHdkJ1NENGOztFb0JoN0NFO0lHeUNBO0d2QjI0Q0Y7O0VvQnA3Q0U7SUd5Q0E7R3ZCKzRDRjs7RW9CeDdDRTtJR3lDQTtHdkJtNUNGOztFb0I1N0NFO0lHeUNBO0d2QnU1Q0Y7Q0FDRjs7QW9COTRDSTtFQzlJSTtFQUFBO0NyQmlpRFI7O0FvQjc0Q0k7RUNwSkk7RUFBQTtDckJzaURSOztBb0I3NENJO0VDekpJO0VBQUE7Q3JCMmlEUjs7QXdCM2lERTtFRG9JRTtDdkIyNkNKOztBd0IvaURFO0VEb0lFO0N2Qis2Q0o7O0F3Qm5qREU7RURvSUU7Q3ZCbTdDSjs7QXdCdmpERTtFRG9JRTtDdkJ1N0NKOztBd0IzakRFO0VEb0lFO0N2QjI3Q0o7O0F3Qi9qREU7RURvSUU7Q3ZCKzdDSjs7QXdCbmtERTtFRG9JRTtDdkJtOENKOztBd0J2a0RFO0VEb0lFO0N2QnU4Q0o7O0FHMzdDUTtFcUJoSk47SURvSUU7R3ZCNDhDRjs7RXdCaGxEQTtJRG9JRTtHdkJnOUNGOztFd0JwbERBO0lEb0lFO0d2Qm85Q0Y7O0V3QnhsREE7SURvSUU7R3ZCdzlDRjs7RXdCNWxEQTtJRG9JRTtHdkI0OUNGOztFd0JobURBO0lEb0lFO0d2QmcrQ0Y7O0V3QnBtREE7SURvSUU7R3ZCbytDRjs7RXdCeG1EQTtJRG9JRTtHdkJ3K0NGO0NBQ0Y7O0FHNzlDUTtFcUJoSk47SURvSUU7R3ZCOCtDRjs7RXdCbG5EQTtJRG9JRTtHdkJrL0NGOztFd0J0bkRBO0lEb0lFO0d2QnMvQ0Y7O0V3QjFuREE7SURvSUU7R3ZCMC9DRjs7RXdCOW5EQTtJRG9JRTtHdkI4L0NGOztFd0Jsb0RBO0lEb0lFO0d2QmtnREY7O0V3QnRvREE7SURvSUU7R3ZCc2dERjs7RXdCMW9EQTtJRG9JRTtHdkIwZ0RGO0NBQ0Y7O0F3Qi9vREU7RURvSUU7Q3ZCK2dESjs7QXdCbnBERTtFRG9JRTtDdkJtaERKOztBd0J2cERFO0VEb0lFO0N2QnVoREo7O0F3QjNwREU7RURvSUU7Q3ZCMmhESjs7QXdCL3BERTtFRG9JRTtDdkIraERKOztBd0JucURFO0VEb0lFO0N2Qm1pREo7O0F3QnZxREU7RURvSUU7Q3ZCdWlESjs7QXdCM3FERTtFRG9JRTtDdkIyaURKOztBRy9oRFE7RXFCaEpOO0lEb0lFO0d2QmdqREY7O0V3QnByREE7SURvSUU7R3ZCb2pERjs7RXdCeHJEQTtJRG9JRTtHdkJ3akRGOztFd0I1ckRBO0lEb0lFO0d2QjRqREY7O0V3QmhzREE7SURvSUU7R3ZCZ2tERjs7RXdCcHNEQTtJRG9JRTtHdkJva0RGOztFd0J4c0RBO0lEb0lFO0d2QndrREY7O0V3QjVzREE7SURvSUU7R3ZCNGtERjtDQUNGOztBR2prRFE7RXFCaEpOO0lEb0lFO0d2QmtsREY7O0V3QnR0REE7SURvSUU7R3ZCc2xERjs7RXdCMXREQTtJRG9JRTtHdkIwbERGOztFd0I5dERBO0lEb0lFO0d2QjhsREY7O0V3Qmx1REE7SURvSUU7R3ZCa21ERjs7RXdCdHVEQTtJRG9JRTtHdkJzbURGOztFd0IxdURBO0lEb0lFO0d2QjBtREY7O0V3Qjl1REE7SURvSUU7R3ZCOG1ERjtDQUNGOztBb0I1aURNO0VLOU1FO0VBQUE7Q3pCK3ZEUjs7QXlCNXZETTtFQUVJO0VBQUE7Q3pCK3ZEVjs7QXlCenVEWTtFRmdIUjtDdkI2bkRKOztBeUI3dURZO0VGZ0hSO0N2QmlvREo7O0F5Qmp2RFk7RUZnSFI7Q3ZCcW9ESjs7QXlCcnZEWTtFRmdIUjtDdkJ5b0RKOztBeUJ6dkRZO0VGZ0hSO0N2QjZvREo7O0F5Qjd2RFk7RUZnSFI7Q3ZCaXBESjs7QXlCandEWTtFRmdIUjtDdkJxcERKOztBeUJyd0RZO0VGZ0hSO0N2QnlwREo7O0F5Qnp3RFk7RUZnSFI7Q3ZCNnBESjs7QXlCN3dEWTtFRmdIUjtDdkJpcURKOztBeUJqeERZO0VGZ0hSO0N2QnFxREo7O0F5QnJ4RFk7RUZnSFI7Q3ZCeXFESjs7QUc3cERRO0VzQjVISTtJRmdIUjtHdkI4cURGOztFeUI5eERVO0lGZ0hSO0d2QmtyREY7O0V5Qmx5RFU7SUZnSFI7R3ZCc3JERjs7RXlCdHlEVTtJRmdIUjtHdkIwckRGOztFeUIxeURVO0lGZ0hSO0d2QjhyREY7O0V5Qjl5RFU7SUZnSFI7R3ZCa3NERjs7RXlCbHpEVTtJRmdIUjtHdkJzc0RGOztFeUJ0ekRVO0lGZ0hSO0d2QjBzREY7O0V5QjF6RFU7SUZnSFI7R3ZCOHNERjs7RXlCOXpEVTtJRmdIUjtHdkJrdERGOztFeUJsMERVO0lGZ0hSO0d2QnN0REY7O0V5QnQwRFU7SUZnSFI7R3ZCMHRERjtDQUNGOztBRy9zRFE7RXNCNUhJO0lGZ0hSO0d2Qmd1REY7O0V5QmgxRFU7SUZnSFI7R3ZCb3VERjs7RXlCcDFEVTtJRmdIUjtHdkJ3dURGOztFeUJ4MURVO0lGZ0hSO0d2QjR1REY7O0V5QjUxRFU7SUZnSFI7R3ZCZ3ZERjs7RXlCaDJEVTtJRmdIUjtHdkJvdkRGOztFeUJwMkRVO0lGZ0hSO0d2Qnd2REY7O0V5QngyRFU7SUZnSFI7R3ZCNHZERjs7RXlCNTJEVTtJRmdIUjtHdkJnd0RGOztFeUJoM0RVO0lGZ0hSO0d2Qm93REY7O0V5QnAzRFU7SUZnSFI7R3ZCd3dERjs7RXlCeDNEVTtJRmdIUjtHdkI0d0RGO0NBQ0Y7O0FvQnBzRE07RUs3S0U7RUFBQTtDekJzM0RSOztBeUJuM0RNO0VBRUk7RUFBQTtDekJzM0RWOztBRzN3RFE7RWlCdURGO0lLOU1FO0lBQUE7R3pCdzZETjs7RXlCcjZESTtJQUVJO0lBQUE7R3pCdzZEUjtDQUNGOztBR3Z4RFE7RXNCcklJO0lGeUhSO0d2Qnd5REY7O0V5Qmo2RFU7SUZ5SFI7R3ZCNHlERjs7RXlCcjZEVTtJRnlIUjtHdkJnekRGOztFeUJ6NkRVO0lGeUhSO0d2Qm96REY7O0V5Qjc2RFU7SUZ5SFI7R3ZCd3pERjs7RXlCajdEVTtJRnlIUjtHdkI0ekRGOztFeUJyN0RVO0lGeUhSO0d2QmcwREY7O0V5Qno3RFU7SUZ5SFI7R3ZCbzBERjs7RXlCNzdEVTtJRnlIUjtHdkJ3MERGOztFeUJqOERVO0lGeUhSO0d2QjQwREY7O0V5QnI4RFU7SUZ5SFI7R3ZCZzFERjs7RXlCejhEVTtJRnlIUjtHdkJvMURGO0NBQ0Y7O0FHejBEUTtFc0I1SEk7SUZnSFI7R3ZCMDFERjs7RXlCMThEVTtJRmdIUjtHdkI4MURGOztFeUI5OERVO0lGZ0hSO0d2QmsyREY7O0V5Qmw5RFU7SUZnSFI7R3ZCczJERjs7RXlCdDlEVTtJRmdIUjtHdkIwMkRGOztFeUIxOURVO0lGZ0hSO0d2QjgyREY7O0V5Qjk5RFU7SUZnSFI7R3ZCazNERjs7RXlCbCtEVTtJRmdIUjtHdkJzM0RGOztFeUJ0K0RVO0lGZ0hSO0d2QjAzREY7O0V5QjErRFU7SUZnSFI7R3ZCODNERjs7RXlCOStEVTtJRmdIUjtHdkJrNERGOztFeUJsL0RVO0lGZ0hSO0d2QnM0REY7Q0FDRjs7QUczM0RRO0VzQjVISTtJRmdIUjtHdkI0NERGOztFeUI1L0RVO0lGZ0hSO0d2Qmc1REY7O0V5QmhnRVU7SUZnSFI7R3ZCbzVERjs7RXlCcGdFVTtJRmdIUjtHdkJ3NURGOztFeUJ4Z0VVO0lGZ0hSO0d2QjQ1REY7O0V5QjVnRVU7SUZnSFI7R3ZCZzZERjs7RXlCaGhFVTtJRmdIUjtHdkJvNkRGOztFeUJwaEVVO0lGZ0hSO0d2Qnc2REY7O0V5QnhoRVU7SUZnSFI7R3ZCNDZERjs7RXlCNWhFVTtJRmdIUjtHdkJnN0RGOztFeUJoaUVVO0lGZ0hSO0d2Qm83REY7O0V5QnBpRVU7SUZnSFI7R3ZCdzdERjtDQUNGOztBRzc2RFE7RWlCNkRGO0lLN0tFO0lBQUE7R3pCbWlFTjs7RXlCaGlFSTtJQUVJO0lBQUE7R3pCbWlFUjtDQUNGOztBR3o3RFE7RWlCdURGO0lLOU1FO0lBQUE7R3pCc2xFTjs7RXlCbmxFSTtJQUVJO0lBQUE7R3pCc2xFUjtDQUNGOztBR3I4RFE7RXNCcklJO0lGeUhSO0d2QnM5REY7O0V5Qi9rRVU7SUZ5SFI7R3ZCMDlERjs7RXlCbmxFVTtJRnlIUjtHdkI4OURGOztFeUJ2bEVVO0lGeUhSO0d2QmsrREY7O0V5QjNsRVU7SUZ5SFI7R3ZCcytERjs7RXlCL2xFVTtJRnlIUjtHdkIwK0RGOztFeUJubUVVO0lGeUhSO0d2QjgrREY7O0V5QnZtRVU7SUZ5SFI7R3ZCay9ERjs7RXlCM21FVTtJRnlIUjtHdkJzL0RGOztFeUIvbUVVO0lGeUhSO0d2QjAvREY7O0V5Qm5uRVU7SUZ5SFI7R3ZCOC9ERjs7RXlCdm5FVTtJRnlIUjtHdkJrZ0VGO0NBQ0Y7O0FHdi9EUTtFc0JySUk7SUZ5SFI7R3ZCd2dFRjs7RXlCam9FVTtJRnlIUjtHdkI0Z0VGOztFeUJyb0VVO0lGeUhSO0d2QmdoRUY7O0V5QnpvRVU7SUZ5SFI7R3ZCb2hFRjs7RXlCN29FVTtJRnlIUjtHdkJ3aEVGOztFeUJqcEVVO0lGeUhSO0d2QjRoRUY7O0V5QnJwRVU7SUZ5SFI7R3ZCZ2lFRjs7RXlCenBFVTtJRnlIUjtHdkJvaUVGOztFeUI3cEVVO0lGeUhSO0d2QndpRUY7O0V5QmpxRVU7SUZ5SFI7R3ZCNGlFRjs7RXlCcnFFVTtJRnlIUjtHdkJnakVGOztFeUJ6cUVVO0lGeUhSO0d2Qm9qRUY7Q0FDRjs7QUd6aUVRO0VzQjVISTtJRmdIUjtHdkIwakVGOztFeUIxcUVVO0lGZ0hSO0d2QjhqRUY7O0V5QjlxRVU7SUZnSFI7R3ZCa2tFRjs7RXlCbHJFVTtJRmdIUjtHdkJza0VGOztFeUJ0ckVVO0lGZ0hSO0d2QjBrRUY7O0V5QjFyRVU7SUZnSFI7R3ZCOGtFRjs7RXlCOXJFVTtJRmdIUjtHdkJrbEVGOztFeUJsc0VVO0lGZ0hSO0d2QnNsRUY7O0V5QnRzRVU7SUZnSFI7R3ZCMGxFRjs7RXlCMXNFVTtJRmdIUjtHdkI4bEVGOztFeUI5c0VVO0lGZ0hSO0d2QmttRUY7O0V5Qmx0RVU7SUZnSFI7R3ZCc21FRjtDQUNGOztBRzNsRVE7RWlCNkRGO0lLN0tFO0lBQUE7R3pCaXRFTjs7RXlCOXNFSTtJQUVJO0lBQUE7R3pCaXRFUjtDQUNGOztBb0I1aEVNO0VNdk1GO0MxQnV1RUo7O0FvQjVoRU07RU0zTUY7QzFCMnVFSjs7QW9CcGlFTTtFTXZNRjtDMUIrdUVKOztBb0JwaUVNO0VNM01GO0MxQm12RUo7O0FvQjVpRU07RU12TUY7QzFCdXZFSjs7QW9CNWlFTTtFTTNNRjtDMUIydkVKOztBb0JwakVNO0VNdk1GO0MxQit2RUo7O0FvQnBqRU07RU0zTUY7QzFCbXdFSjs7QW9CNWpFTTtFTXZNRjtDMUJ1d0VKOztBb0I1akVNO0VNM01GO0MxQjJ3RUo7O0FvQnBrRU07RU12TUY7QzFCK3dFSjs7QW9CcGtFTTtFTTNNRjtDMUJteEVKOztBb0I1a0VNO0VNdk1GO0MxQnV4RUo7O0FvQjVrRU07RU0zTUY7QzFCMnhFSjs7QW9CcGxFTTtFTXZNRjtDMUIreEVKOztBb0JwbEVNO0VNM01GO0MxQm15RUo7O0FvQjVsRU07RU12TUY7QzFCdXlFSjs7QW9CNWxFTTtFTTNNRjtDMUIyeUVKOztBb0JwbUVNO0VNdk1GO0MxQit5RUo7O0FvQnBtRU07RU0zTUY7QzFCbXpFSjs7QW9CNW1FTTtFTXZNRjtDMUJ1ekVKOztBb0I1bUVNO0VNM01GO0MxQjJ6RUo7O0FvQnBuRU07RU12TUY7QzFCK3pFSjs7QW9CcG5FTTtFTTNNRjtDMUJtMEVKOztBR3ZzRVE7RWlCMkVGO0lNdk1GO0cxQncwRUY7O0VvQjduRUk7SU0zTUY7RzFCNDBFRjs7RW9Ccm9FSTtJTXZNRjtHMUJnMUVGOztFb0Jyb0VJO0lNM01GO0cxQm8xRUY7O0VvQjdvRUk7SU12TUY7RzFCdzFFRjs7RW9CN29FSTtJTTNNRjtHMUI0MUVGOztFb0JycEVJO0lNdk1GO0cxQmcyRUY7O0VvQnJwRUk7SU0zTUY7RzFCbzJFRjs7RW9CN3BFSTtJTXZNRjtHMUJ3MkVGOztFb0I3cEVJO0lNM01GO0cxQjQyRUY7O0VvQnJxRUk7SU12TUY7RzFCZzNFRjs7RW9CcnFFSTtJTTNNRjtHMUJvM0VGOztFb0I3cUVJO0lNdk1GO0cxQnczRUY7O0VvQjdxRUk7SU0zTUY7RzFCNDNFRjs7RW9CcnJFSTtJTXZNRjtHMUJnNEVGOztFb0JyckVJO0lNM01GO0cxQm80RUY7O0VvQjdyRUk7SU12TUY7RzFCdzRFRjs7RW9CN3JFSTtJTTNNRjtHMUI0NEVGOztFb0Jyc0VJO0lNdk1GO0cxQmc1RUY7O0VvQnJzRUk7SU0zTUY7RzFCbzVFRjs7RW9CN3NFSTtJTXZNRjtHMUJ3NUVGOztFb0I3c0VJO0lNM01GO0cxQjQ1RUY7O0VvQnJ0RUk7SU12TUY7RzFCZzZFRjs7RW9CcnRFSTtJTTNNRjtHMUJvNkVGO0NBQ0Y7O0FHenlFUTtFaUIyRUY7SU12TUY7RzFCMDZFRjs7RW9CL3RFSTtJTTNNRjtHMUI4NkVGOztFb0J2dUVJO0lNdk1GO0cxQms3RUY7O0VvQnZ1RUk7SU0zTUY7RzFCczdFRjs7RW9CL3VFSTtJTXZNRjtHMUIwN0VGOztFb0IvdUVJO0lNM01GO0cxQjg3RUY7O0VvQnZ2RUk7SU12TUY7RzFCazhFRjs7RW9CdnZFSTtJTTNNRjtHMUJzOEVGOztFb0IvdkVJO0lNdk1GO0cxQjA4RUY7O0VvQi92RUk7SU0zTUY7RzFCODhFRjs7RW9CdndFSTtJTXZNRjtHMUJrOUVGOztFb0J2d0VJO0lNM01GO0cxQnM5RUY7O0VvQi93RUk7SU12TUY7RzFCMDlFRjs7RW9CL3dFSTtJTTNNRjtHMUI4OUVGOztFb0J2eEVJO0lNdk1GO0cxQmsrRUY7O0VvQnZ4RUk7SU0zTUY7RzFCcytFRjs7RW9CL3hFSTtJTXZNRjtHMUIwK0VGOztFb0IveEVJO0lNM01GO0cxQjgrRUY7O0VvQnZ5RUk7SU12TUY7RzFCay9FRjs7RW9CdnlFSTtJTTNNRjtHMUJzL0VGOztFb0IveUVJO0lNdk1GO0cxQjAvRUY7O0VvQi95RUk7SU0zTUY7RzFCOC9FRjs7RW9CdnpFSTtJTXZNRjtHMUJrZ0ZGOztFb0J2ekVJO0lNM01GO0cxQnNnRkY7Q0FDRjs7QW9CMXlFRTtFRS9PQTtFQUNBO0N0QjZoRkY7O0FvQjN5RUk7RUc5SUY7RUFDQTtDdkI2N0VGOztBb0I1eUVJO0VHckhBO0N2QnE2RUo7O0FvQjV5RUk7RUd6SEE7Q3ZCeTZFSjs7QW9CbHlFTTs7Ozs7Ozs7Ozs7Ozs7RUFDRTtDcEJrekVSOztBRzk2RVE7RWlCMkhGOzs7Ozs7Ozs7Ozs7OztJQUNFO0dwQm8wRU47Q0FDRjs7QUdqOEVRO0VpQjJIRjs7Ozs7Ozs7Ozs7Ozs7SUFDRTtHcEJ1MUVOO0NBQ0Y7O0FvQjUwRU07Ozs7Ozs7Ozs7OztFRy9MSjtDdkIwaEZGOztBb0I1MEVRO0VHbktKO0N2Qm0vRUo7O0FvQmgxRVE7RUduS0o7Q3ZCdS9FSjs7QW9CcDFFUTtFR25LSjtDdkIyL0VKOztBb0J4MUVRO0VHbktKO0N2QisvRUo7O0FvQjUxRVE7RUduS0o7Q3ZCbWdGSjs7QW9CaDJFUTtFR25LSjtDdkJ1Z0ZKOztBb0JwMkVRO0VHbktKO0N2QjJnRko7O0FvQngyRVE7RUduS0o7Q3ZCK2dGSjs7QW9CNTJFUTtFR25LSjtDdkJtaEZKOztBb0JoM0VRO0VHbktKO0N2QnVoRko7O0FvQnAzRVE7RUduS0o7Q3ZCMmhGSjs7QW9CeDNFUTtFR25LSjtDdkIraEZKOztBR25oRlE7RWlCbUlBO0lHMUxOO0lBMkNFO0d2QnFpRkY7O0VvQmo1RUk7Ozs7Ozs7Ozs7Ozs7SUcvTEo7R3ZCZ21GQTs7RW9CMzVFTTtJRzFKSjtHdkJ5akZGOztFb0J0NUVNO0lHbktKO0d2QjZqRkY7O0VvQjE1RU07SUduS0o7R3ZCaWtGRjs7RW9COTVFTTtJR25LSjtHdkJxa0ZGOztFb0JsNkVNO0lHbktKO0d2QnlrRkY7O0VvQnQ2RU07SUduS0o7R3ZCNmtGRjs7RW9CMTZFTTtJR25LSjtHdkJpbEZGOztFb0I5NkVNO0lHbktKO0d2QnFsRkY7O0VvQmw3RU07SUduS0o7R3ZCeWxGRjs7RW9CdDdFTTtJR25LSjtHdkI2bEZGOztFb0IxN0VNO0lHbktKO0d2QmltRkY7O0VvQjk3RU07SUduS0o7R3ZCcW1GRjs7RW9CbDhFTTtJR25LSjtHdkJ5bUZGO0NBQ0Y7O0FHOWxGUTtFaUJtSUE7SUcxTE47SUEyQ0U7R3ZCZ25GRjs7RW9CNTlFSTs7Ozs7Ozs7Ozs7OztJRy9MSjtHdkIycUZBOztFb0J0K0VNO0lHMUpKO0d2Qm9vRkY7O0VvQmorRU07SUduS0o7R3ZCd29GRjs7RW9CcitFTTtJR25LSjtHdkI0b0ZGOztFb0J6K0VNO0lHbktKO0d2QmdwRkY7O0VvQjcrRU07SUduS0o7R3ZCb3BGRjs7RW9Cai9FTTtJR25LSjtHdkJ3cEZGOztFb0JyL0VNO0lHbktKO0d2QjRwRkY7O0VvQnovRU07SUduS0o7R3ZCZ3FGRjs7RW9CNy9FTTtJR25LSjtHdkJvcUZGOztFb0JqZ0ZNO0lHbktKO0d2QndxRkY7O0VvQnJnRk07SUduS0o7R3ZCNHFGRjs7RW9CemdGTTtJR25LSjtHdkJnckZGOztFb0I3Z0ZNO0lHbktKO0d2Qm9yRkY7Q0FDRjs7QW9CdGdGTTtFQ25URTtFQUFBO0NyQjh6RlI7O0FvQnRnRk07RUN4VEU7RUFBQTtDckJtMEZSOztBb0I1dEZFO0VDdkdNO0VBQUE7Q3JCdzBGUjs7QW9CN3RGSTtFR3lCQTtFRjNIRTtFQUFBO0NyQnEwRk47O0FvQi92RkU7RUdxREU7Q3ZCOHNGSjs7QW9CL3ZGRTtFR2lERTtDdkJrdEZKOztBb0IzdkZJO0VHeUNBO0N2QnN0Rko7O0FvQi92Rkk7RUd5Q0E7Q3ZCMHRGSjs7QW9CbndGSTtFR3lDQTtDdkI4dEZKOztBb0J2d0ZJO0VHeUNBO0N2Qmt1Rko7O0FvQjN3Rkk7RUd5Q0E7Q3ZCc3VGSjs7QW9CL3dGSTtFR3lDQTtDdkIwdUZKOztBb0JueEZJO0VHeUNBO0N2Qjh1Rko7O0FvQnZ4Rkk7RUd5Q0E7Q3ZCa3ZGSjs7QW9CM3hGSTtFR3lDQTtDdkJzdkZKOztBb0IveEZJO0VHeUNBO0N2QjB2Rko7O0FvQm55Rkk7RUd5Q0E7Q3ZCOHZGSjs7QW9CdnlGSTtFR3lDQTtDdkJrd0ZKOztBR3R2RlE7RWlCakVOO0lHcURFO0d2QnV3RkY7O0VvQnh6RkE7SUdpREU7R3ZCMndGRjs7RW9CcHpGRTtJR3lDQTtHdkIrd0ZGOztFb0J4ekZFO0lHeUNBO0d2Qm14RkY7O0VvQjV6RkU7SUd5Q0E7R3ZCdXhGRjs7RW9CaDBGRTtJR3lDQTtHdkIyeEZGOztFb0JwMEZFO0lHeUNBO0d2Qit4RkY7O0VvQngwRkU7SUd5Q0E7R3ZCbXlGRjs7RW9CNTBGRTtJR3lDQTtHdkJ1eUZGOztFb0JoMUZFO0lHeUNBO0d2QjJ5RkY7O0VvQnAxRkU7SUd5Q0E7R3ZCK3lGRjs7RW9CeDFGRTtJR3lDQTtHdkJtekZGOztFb0I1MUZFO0lHeUNBO0d2QnV6RkY7O0VvQmgyRkU7SUd5Q0E7R3ZCMnpGRjtDQUNGOztBR2h6RlE7RWlCakVOO0lHcURFO0d2QmkwRkY7O0VvQmwzRkE7SUdpREU7R3ZCcTBGRjs7RW9COTJGRTtJR3lDQTtHdkJ5MEZGOztFb0JsM0ZFO0lHeUNBO0d2QjYwRkY7O0VvQnQzRkU7SUd5Q0E7R3ZCaTFGRjs7RW9CMTNGRTtJR3lDQTtHdkJxMUZGOztFb0I5M0ZFO0lHeUNBO0d2QnkxRkY7O0VvQmw0RkU7SUd5Q0E7R3ZCNjFGRjs7RW9CdDRGRTtJR3lDQTtHdkJpMkZGOztFb0IxNEZFO0lHeUNBO0d2QnEyRkY7O0VvQjk0RkU7SUd5Q0E7R3ZCeTJGRjs7RW9CbDVGRTtJR3lDQTtHdkI2MkZGOztFb0J0NUZFO0lHeUNBO0d2QmkzRkY7O0VvQjE1RkU7SUd5Q0E7R3ZCcTNGRjtDQUNGOztBb0JwckZFO0VPdFZFO0VBQ0E7RUFDQTtFQUNBO0VBMkJJO0MzQm8vRlI7O0FvQnhyRkU7RUFDRTtDcEIyckZKOztBb0J4ckZFO0VPN1NFO0VBQ0E7RUFHRjtFQUNBO0MzQnUrRkY7O0FvQjNyRkU7RU9yVEU7RUFDQTtFQUNBO0VBTUY7RUFDQTtDM0IrK0ZGOztBb0I5ckZFO0VPMVNBO0VBQ0E7RUFDQTtDM0I0K0ZGOztBMkIxK0ZFO0VBQ0U7RUFDQTtDM0I2K0ZKOztBR2g1RlE7RWlCOE1KO0lPOVdBO0lBQ0E7SUFDQTtJQUNBO0lBMkJJO0czQjJoR047O0VvQnZzRkU7SUFDRTtHcEIwc0ZKOztFb0J2c0ZFO0lPclVBO0lBQ0E7SUFHRjtJQUNBO0czQjhnR0E7O0VvQjFzRkU7SU83VEY7SUFDQTtJQUNBO0czQjJnR0E7O0UyQnpnR0E7SUFDRTtJQUNBO0czQjRnR0Y7O0VvQmp0RkU7SU9qVkE7SUFDQTtJQUNBO0lBTUY7SUFDQTtHM0JpaUdBO0NBQ0Y7O0FHeDdGUTtFaUI4TUo7SU85V0E7SUFDQTtJQUNBO0lBQ0E7SUEyQkk7RzNCbWtHTjs7RW9CL3VGRTtJQUNFO0dwQmt2Rko7O0VvQi91RkU7SU9yVUE7SUFDQTtJQUdGO0lBQ0E7RzNCc2pHQTs7RW9CbHZGRTtJTzdURjtJQUNBO0lBQ0E7RzNCbWpHQTs7RTJCampHQTtJQUNFO0lBQ0E7RzNCb2pHRjs7RW9CenZGRTtJT2pWQTtJQUNBO0lBQ0E7SUFNRjtJQUNBO0czQnlrR0E7Q0FDRjs7QW9CM3ZGTTtFQUNFO0VPdFlKO0VBQ0E7RUFDQTtFQUNBO0VBeUJJO0MzQjZtR1I7O0FHeitGUTtFaUIyT0E7SUFDRTtJTzVZTjtJQUNBO0lBQ0E7SUFDQTtJQXlCSTtHM0J1bkdOO0NBQ0Y7O0FHcC9GUTtFaUIyT0E7SUFDRTtJTzVZTjtJQUNBO0lBQ0E7SUFDQTtJQXlCSTtHM0Jrb0dOO0NBQ0Y7O0FvQjV3Rk07RUFDRTtDcEIrd0ZSOztBR25nR1E7RWlCdVBBO0lBQ0U7R3BCZ3hGUjtDQUNGOztBR3pnR1E7RWlCdVBBO0lBQ0U7R3BCc3hGUjtDQUNGOztBb0J4akdFO0VDdkdNO0VBQUE7Q3JCb3FHUjs7QW9CempHSTtFR3lCQTtFRjNIRTtFQUFBO0NyQmlxR047O0FvQjNsR0U7RUdxREU7Q3ZCMGlHSjs7QW9CM2xHRTtFR2lERTtDdkI4aUdKOztBb0J2bEdJO0VHeUNBO0N2QmtqR0o7O0FvQjNsR0k7RUd5Q0E7Q3ZCc2pHSjs7QW9CL2xHSTtFR3lDQTtDdkIwakdKOztBb0JubUdJO0VHeUNBO0N2QjhqR0o7O0FvQnZtR0k7RUd5Q0E7Q3ZCa2tHSjs7QW9CM21HSTtFR3lDQTtDdkJza0dKOztBb0IvbUdJO0VHeUNBO0N2QjBrR0o7O0FvQm5uR0k7RUd5Q0E7Q3ZCOGtHSjs7QW9Cdm5HSTtFR3lDQTtDdkJrbEdKOztBb0IzbkdJO0VHeUNBO0N2QnNsR0o7O0FvQi9uR0k7RUd5Q0E7Q3ZCMGxHSjs7QW9Cbm9HSTtFR3lDQTtDdkI4bEdKOztBR2xsR1E7RWlCakVOO0lHcURFO0d2Qm1tR0Y7O0VvQnBwR0E7SUdpREU7R3ZCdW1HRjs7RW9CaHBHRTtJR3lDQTtHdkIybUdGOztFb0JwcEdFO0lHeUNBO0d2QittR0Y7O0VvQnhwR0U7SUd5Q0E7R3ZCbW5HRjs7RW9CNXBHRTtJR3lDQTtHdkJ1bkdGOztFb0JocUdFO0lHeUNBO0d2QjJuR0Y7O0VvQnBxR0U7SUd5Q0E7R3ZCK25HRjs7RW9CeHFHRTtJR3lDQTtHdkJtb0dGOztFb0I1cUdFO0lHeUNBO0d2QnVvR0Y7O0VvQmhyR0U7SUd5Q0E7R3ZCMm9HRjs7RW9CcHJHRTtJR3lDQTtHdkIrb0dGOztFb0J4ckdFO0lHeUNBO0d2Qm1wR0Y7O0VvQjVyR0U7SUd5Q0E7R3ZCdXBHRjtDQUNGOztBRzVvR1E7RWlCakVOO0lHcURFO0d2QjZwR0Y7O0VvQjlzR0E7SUdpREU7R3ZCaXFHRjs7RW9CMXNHRTtJR3lDQTtHdkJxcUdGOztFb0I5c0dFO0lHeUNBO0d2QnlxR0Y7O0VvQmx0R0U7SUd5Q0E7R3ZCNnFHRjs7RW9CdHRHRTtJR3lDQTtHdkJpckdGOztFb0IxdEdFO0lHeUNBO0d2QnFyR0Y7O0VvQjl0R0U7SUd5Q0E7R3ZCeXJHRjs7RW9CbHVHRTtJR3lDQTtHdkI2ckdGOztFb0J0dUdFO0lHeUNBO0d2QmlzR0Y7O0VvQjF1R0U7SUd5Q0E7R3ZCcXNHRjs7RW9COXVHRTtJR3lDQTtHdkJ5c0dGOztFb0JsdkdFO0lHeUNBO0d2QjZzR0Y7O0VvQnR2R0U7SUd5Q0E7R3ZCaXRHRjtDQUNGOztBb0J2OEZJO0VPNVlJO0MzQnUxR1I7O0FHMXNHUTtFaUIrUEo7SU81WUk7RzNCNDFHTjtDQUNGOztBR2h0R1E7RWlCK1BKO0lPNVlJO0czQmsyR047Q0FDRjs7QUd0dEdRO0VpQm1RRjtJT2haRTtHM0J3MkdOO0NBQ0Y7O0FHNXRHUTtFaUJtUUY7SU9oWkU7RzNCODJHTjtDQUNGOztBNEJ2eUdFO0VBWkE7RUFDQTtFQUNBO0VBQ0E7QzVCdXpHRjs7QU9odEdFO0VBQ0U7Q1BtdEdKOztBNEJ6ekdFOztFQUVFO0M1QjR6R0o7O0E0Qmp6R1E7RUE5Qk47RUFDQTtFQUNBO0VBQ0E7QzVCbTFHRjs7QTRCeHpHUTs7RUE5Qk47RUFDQTtFQUNBO0VBQ0E7QzVCMjFHRjs7QTZCemtHRTtFQS9TQTtFQUNBO0VBQ0E7RUFDQTtFQUdFO0VBQ0E7QzdCMDNHSjs7QU9qdkdFO0VBQ0U7Q1BvdkdKOztBNkJ2M0dFOztFQUVFO0VBQ0E7RUFDQTtFQUNBO0M3QjAzR0o7O0E2QnQzR0U7Ozs7RUFJRTtDN0J5M0dKOztBNkJ0M0dFO0VBQ0U7QzdCeTNHSjs7QTZCcm1HSTs7RUF4TEU7RUFDQTtDN0JreUdOOztBNkJ0bUdJO0VBbExFO0VBQ0E7QzdCNHhHTjs7QTZCNzNHSTtFQUNFO0M3Qmc0R047O0E2QnJtR0k7RUF6S0E7QzdCa3hHSjs7QTZCL3dHRTtFQUNFO0M3Qmt4R0o7O0E2Qi93R0U7RUFDRTtDN0JreEdKOztBRzV6R1E7RTBCaU5GO0lBN01BO0lBQ0E7RzdCNnpHSjs7RTZCN21HSTtJQXRNQTtJQUNBO0c3QnV6R0o7O0U2Qng1R0U7SUFDRTtHN0IyNUdKOztFNkI1NUdFO0lBQ0U7RzdCKzVHSjtDQUNGOztBR2gxR1E7RTBCaU5GO0lBN01BO0lBQ0E7RzdCaTFHSjs7RTZCam9HSTtJQXRNQTtJQUNBO0c3QjIwR0o7O0U2QjU2R0U7SUFDRTtHN0IrNkdKOztFNkJoN0dFO0lBQ0U7RzdCbTdHSjtDQUNGOztBNkJqb0dJO0VBektBO0VBQ0E7QzdCOHlHSjs7QTZCdHlHSTtFQUNFO0M3Qnl5R047O0E2QjF5R0k7Ozs7RUFDRTtDN0JnekdOOztBNkI3eEdJO0VBRUk7QzdCK3hHUjs7QTZCNXhHTTs7O0VBR0U7QzdCK3hHUjs7QTZCdHhHSTtFQUVJO0M3Qnd4R1I7O0E2QnJ4R007OztFQUdFO0M3Qnd4R1I7O0E2Qi93R0k7RUFFSTtDN0JpeEdSOztBNkIzd0dNOzs7RUFRSTtFQUNBO0VBQ0E7QzdCeXdHVjs7QTZCbndHSTtFQUVJO0M3QnF3R1I7O0E2Qi92R007OztFQVFJO0VBQ0E7RUFDQTtDN0I2dkdWOztBNkJycEdJO0VBeEZGO0VBQ0E7QzdCaXZHRjs7QTZCcHBHTTtFQTlGSjtFQUNBO0M3QnN2R0Y7O0E2Qm5wR0k7RUFyVkU7QzdCNCtHTjs7QTZCcCtHTTtFQUNFO0VBQ0E7QzdCdStHUjs7QTZCcitHUTtFQUNFO0M3QncrR1Y7O0E2QnArR007RUFDRTtFQUNBO0M3QnUrR1I7O0E2QnIrR1E7RUFDRTtDN0J3K0dWOztBNkJqcUdNO0VBek9GO0VBQ0E7QzdCODRHSjs7QTZCejlHTTtFQUNFO0VBQ0E7QzdCNDlHUjs7QTZCMTlHUTtFQUNFO0M3QjY5R1Y7O0E2QnJxR0k7RUE5SEY7RUFFQTtFQUNBO0VBQ0E7QzdCc3lHRjs7QTZCcnFHTTtFQUVJO0M3QnVxR1Y7O0E2QjcrR007RUFDRTtFQUNBO0M3QmcvR1I7O0E2QjkrR1E7RUFDRTtDN0JpL0dWOztBNkJ2cUdFO0VBQ0U7QzdCMHFHSjs7QThCbGdIRTtFQXhGQTtFQUNBO0VBQ0E7QzlCOGxIRjs7QThCM2xISTtFQUNFO0M5QjhsSE47O0E4QnZsSEU7RUFDRTtDOUIwbEhKOztBOEJ2bEhFO0VBQ0U7QzlCMGxISjs7QThCNWdIRTtFQWxFQTtFQUNBO0VBQ0E7RUFFQTtFQUNBO0VBRUE7RUFDQTtFQUNBO0M5QmdsSEY7O0E4QjlrSEU7RUFDRTtFQUNBO0M5QmlsSEo7O0E4QjlrSEU7O0VBRUU7QzlCaWxISjs7QThCN2tISTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QzlCZ2xITjs7QThCN2tISTtFQUNFO0M5QmdsSE47O0E4QnppSEU7RUEzQkE7RUFDQTtFQUVBO0VBQ0E7RUFDQTtFQUVBO0M5QnNrSEY7O0E4QnBrSEU7RUFDRTtDOUJ1a0hKOztBSWxsSEU7RUFDRTtFQUNBO0VBQ0E7Q0pxbEhKOztBSW5sSEk7RUFDRTtDSnNsSE47O0FJbmxISTtFQUNFO0NKc2xITjs7QUlqbEhFO0VBM0ZBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUVBO0VBQ0E7RUFDQTtDSitxSEY7O0FJeGxIRTtFQWpGQTtFQUVBO1VBQUE7RUFFQTtFQUNBO0VBRUE7RUFDQTtFQUNBO0VBMkVFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7Q0pnbUhKOztBT3RqSEU7RUFDRTtDUHlqSEo7O0FHbmxIUTtFQ3hCTjtJQXJFRTtHSnFySEY7Q0FDRjs7QUlsckhFO0VBQ0U7Q0pxckhKOztBSWpySEU7RUFDRTtDSm9ySEo7O0FHam1IUTtFQ3hCTjtJQTdDRTtJQUNBO0dKMnFIRjtDQUNGOztBSXRuSEk7RUFDRTtDSnluSE47O0FHNW1IUTtFQ1RKO0lBNURBO0lBQ0E7R0pzckhGO0NBQ0Y7O0FHbm5IUTtFQ1JKO0lBN0RBO0lBQ0E7R0o2ckhGO0NBQ0Y7O0FHMW5IUTtFQ1BKO0lBOURBO0lBQ0E7R0pvc0hGO0NBQ0Y7O0FJcm9ISTtFQTFERjtFQUNBO0VBQ0E7RUFDQTtFQUVBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFFQTtFQUNBO0NKaXNIRjs7QUcvb0hRO0VDeEJOO0lBdENBO0lBQ0E7SUFDQTtJQUNBO0lBRUE7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUVBO0lBQ0E7R0pndEhBO0NBQ0Y7O0FJM3BISTtFQUNFO0NKOHBITjs7QStCcHlIRTtFQTdCQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0MvQnEwSEY7O0ErQnh5SEU7RUFyQkE7RUFDQTtFQUNBO0VBQ0E7Qy9CaTBIRjs7QStCM3lIRTtFQWpCQTtDL0JnMEhGOztBK0IzeUhFO0VBaEJBO0MvQit6SEY7O0FnQzkwSEk7RUFMRjtDaEN1MUhGOztBZ0NsMUhJO0VBTEY7Q2hDMjFIRjs7QWdDdDFISTtFQUxGO0NoQysxSEY7O0FpQzExSEk7RUFMRjtDakNtMkhGOztBaUM5MUhJO0VBTEY7Q2pDdTJIRjs7QWlDbDJISTtFQUxGO0NqQzIySEY7O0FrQzUwSEU7RUF6QkE7Q2xDeTJIRjs7QWtDNTBIRTtFQXJCQTtDbENxMkhGOztBa0M1MEhFO0VBakJBO0NsQ2kySEY7O0FrQzUwSEU7RUFoQkE7Q2xDZzJIRjs7QW1DbjJISTtFQVhGO0NuQ2szSEY7O0FtQ3YySEk7RUFYRjtDbkNzM0hGOztBbUMzMkhJO0VBWEY7Q25DMDNIRjs7QW1DeDFISTtFQTVCRjtDbkN3M0hGOztBbUM1MUhJO0VBNUJGO0NuQzQzSEY7O0FtQ2gySEk7RUE1QkY7Q25DZzRIRjs7QW1DcDJISTtFQTVCRjtDbkNvNEhGOztBbUN4MkhJO0VBNUJGO0NuQ3c0SEY7O0FtQzUySEk7RUE1QkY7Q25DNDRIRjs7QW1DaDNISTtFQTVCRjtDbkNnNUhGOztBb0M1NUhFO0VBSkE7Q3BDbzZIRjs7QW9DNzVISTtFQVBGO0NwQ3c2SEY7O0FvQy81SE07RUFDRTtDcENrNkhSOztBb0M3NUhFO0VBcEJBO0NwQ3E3SEY7O0FxQ3I2SEU7RUFKQTtDckM2NkhGOztBc0NwN0hFO0VBSkE7Q3RDNDdIRjs7QXVDdjdISTtFaENlRjtFQUNBO0VBQ0E7RUFFQTtFQUVBO0VBR0U7RUFDQTtFQUNBO0NQdzZISjs7QXVDbDhISTtFaENlRjtFQUNBO0VBQ0E7RUFFQTtFQUVBO0VBUUU7RUFDQTtFQUNBO0NQODZISjs7QXVDNzhISTtFaENlRjtFQUNBO0VBQ0E7RUFFQTtFQUVBO0VBYUU7RUFDQTtFQUNBO0NQbzdISjs7QXVDeDlISTtFaENlRjtFQUNBO0VBQ0E7RUFFQTtFQUVBO0VBa0JFO0VBQ0E7RUFDQTtDUDA3SEo7O0F3Qzc3SEM7RUFwQkM7Q3hDcTlIRjs7QU96MUhFOztFQUVFO0VBQ0E7RUFHRTtFQUNBO0NQMDFITjs7QU90MUhFO0VBQ0U7Q1B5MUhKOztBd0M5OUhFO0VDVkE7RURZRTtFQUNBO0VBQ0E7Q3hDaStISjs7QXdDaDlIRTtFQXhCQTtDeEM0K0hGOztBT2gzSEU7O0VBRUU7RUFDQTtFQUdFO0VBQ0E7Q1BpM0hOOztBTzcySEU7RUFDRTtDUGczSEo7O0F3Q3IvSEU7RUNWQTtFRFlFO0VBQ0E7RUFDQTtFQUdFO0N4Q3MvSE47O0F3Q3ArSEU7RUE1QkE7Q3hDb2dJRjs7QU94NEhFOztFQUVFO0VBQ0E7RUFHRTtFQUNBO0NQeTRITjs7QU9yNEhFO0VBQ0U7Q1B3NEhKOztBd0M3Z0lFO0VDVkE7RURZRTtFQUNBO0VBQ0E7RUFPRTtDeEMwZ0lOOztBMEM3aElJO0VBakJGO0MxQ2tqSUY7O0EwQzloSUk7RUFkRjtDMUNnaklGOztBMEMvaElJO0VBWEY7QzFDOGlJRjs7QTBDemlJSTtFQWpCRjtDMUM4aklGOztBMEMxaUlJO0VBZEY7QzFDNGpJRjs7QTBDM2lJSTtFQVhGO0MxQzBqSUY7O0EwQ3JqSUk7RUFqQkY7QzFDMGtJRjs7QTBDdGpJSTtFQWRGO0MxQ3drSUY7O0EwQ3ZqSUk7RUFYRjtDMUNza0lGOztBMkMza0lJO0VBTEY7QzNDb2xJRjs7QTJDL2tJSTtFQUxGO0MzQ3dsSUY7O0EyQ25sSUk7RUFMRjtDM0M0bElGOztBMkN2bElJO0VBTEY7QzNDZ21JRjs7QTJDM2xJSTtFQUxGO0MzQ29tSUY7O0F5Q25qSUk7RUFwQ0Y7Q3pDMmxJRjs7QXlDdmpJSTtFQXBDRjtDekMrbElGOztBeUMzaklJO0VBcENGO0N6Q21tSUY7O0F5Qy9qSUk7RUFwQ0Y7Q3pDdW1JRjs7QXlDN2pJRTtFQTFDQTtFQUVFO0VBR0E7RUFNQTtFQVVGO0N6QzBsSUY7O0F5Q2xrSUU7RUE3Q0E7RUFLRTtFQUdBO0VBR0E7RUFtQkY7Q3pDeWxJRjs7QTRDM29JRTtFQUpBO0M1Q21wSUY7O0E2Qy9vSUU7RUFKQTtDN0N1cElGOztBOEMzbklNO0VBQ0U7QzlDOG5JUjs7QThDL25JTTtFQUNFO0M5Q2tvSVI7O0E4Q25vSU07RUFDRTtDOUNzb0lSOztBOEN2b0lNO0VBQ0U7QzlDMG9JUjs7QThDM29JTTtFQUNFO0M5QzhvSVI7O0E4Qy9vSU07RUFDRTtDOUNrcElSOztBOENucElNO0VBQ0U7QzlDc3BJUjs7QThDdnBJTTtFQUNFO0M5QzBwSVI7O0E4Q3BwSUU7RUFuQkE7QzlDMnFJRjs7QThDcnBJRTtFQWpCQTtDOUMwcUlGOztBK0N0bElNO0VBRUk7Qy9Dd2xJVjs7QStDL2tJUTtFQXRHSjtDL0N5cklKOztBK0NubElRO0VBbkdKO0MvQzBySUo7O0ErQ3ZsSVE7RUFoR0o7Qy9DMnJJSjs7QStDM2xJUTtFQTdGSjtDL0M0cklKOztBK0MvbElRO0VBbkdKO0VBTUE7Qy9DaXNJSjs7QStDcG1JUTtFQXRHSjtFQU1BO0MvQ3lzSUo7O0ErQ3BuSU07RUFLSTtDL0NtbklWOztBK0M3bUlRO0VBN0VKO0MvQzhySUo7O0ErQ2puSVE7RUExRUo7Qy9DK3JJSjs7QStDcm5JUTtFQXZFSjtDL0Nnc0lKOztBK0N6bklRO0VBcEVKO0MvQ2lzSUo7O0ErQzduSVE7RUExRUo7RUFNQTtDL0Nzc0lKOztBK0Nsb0lRO0VBN0VKO0VBTUE7Qy9DOHNJSjs7QStDbHBJTTtFQUVJO0MvQ29wSVY7O0ErQzNvSVE7RUF0R0o7Qy9DcXZJSjs7QStDL29JUTtFQW5HSjtDL0NzdklKOztBK0NucElRO0VBaEdKO0MvQ3V2SUo7O0ErQ3ZwSVE7RUE3Rko7Qy9Dd3ZJSjs7QStDM3BJUTtFQW5HSjtFQU1BO0MvQzZ2SUo7O0ErQ2hxSVE7RUF0R0o7RUFNQTtDL0Nxd0lKOztBK0NocklNO0VBS0k7Qy9DK3FJVjs7QStDenFJUTtFQTdFSjtDL0MwdklKOztBK0M3cUlRO0VBMUVKO0MvQzJ2SUo7O0ErQ2pySVE7RUF2RUo7Qy9DNHZJSjs7QStDcnJJUTtFQXBFSjtDL0M2dklKOztBK0N6cklRO0VBMUVKO0VBTUE7Qy9Da3dJSjs7QStDOXJJUTtFQTdFSjtFQU1BO0MvQzB3SUo7O0ErQzlzSU07RUFFSTtDL0NndElWOztBK0N2c0lRO0VBdEdKO0MvQ2l6SUo7O0ErQzNzSVE7RUFuR0o7Qy9Da3pJSjs7QStDL3NJUTtFQWhHSjtDL0NteklKOztBK0NudElRO0VBN0ZKO0MvQ296SUo7O0ErQ3Z0SVE7RUFuR0o7RUFNQTtDL0N5eklKOztBK0M1dElRO0VBdEdKO0VBTUE7Qy9DaTBJSjs7QStDNXVJTTtFQUtJO0MvQzJ1SVY7O0ErQ3J1SVE7RUE3RUo7Qy9Dc3pJSjs7QStDenVJUTtFQTFFSjtDL0N1eklKOztBK0M3dUlRO0VBdkVKO0MvQ3d6SUo7O0ErQ2p2SVE7RUFwRUo7Qy9DeXpJSjs7QStDcnZJUTtFQTFFSjtFQU1BO0MvQzh6SUo7O0ErQzF2SVE7RUE3RUo7RUFNQTtDL0NzMElKOztBK0Mxd0lNO0VBRUk7Qy9DNHdJVjs7QStDbndJUTtFQXRHSjtDL0M2MklKOztBK0N2d0lRO0VBbkdKO0MvQzgySUo7O0ErQzN3SVE7RUFoR0o7Qy9DKzJJSjs7QStDL3dJUTtFQTdGSjtDL0NnM0lKOztBK0NueElRO0VBbkdKO0VBTUE7Qy9DcTNJSjs7QStDeHhJUTtFQXRHSjtFQU1BO0MvQzYzSUo7O0ErQ3h5SU07RUFLSTtDL0N1eUlWOztBK0NqeUlRO0VBN0VKO0MvQ2szSUo7O0ErQ3J5SVE7RUExRUo7Qy9DbTNJSjs7QStDenlJUTtFQXZFSjtDL0NvM0lKOztBK0M3eUlRO0VBcEVKO0MvQ3EzSUo7O0ErQ2p6SVE7RUExRUo7RUFNQTtDL0MwM0lKOztBK0N0eklRO0VBN0VKO0VBTUE7Qy9DazRJSjs7QWdENzNJRTtFQUNFO0NoRGc0SUo7O0FnRDczSUU7RUFDRTtDaERnNElKOztBR3J4SVE7RTZDNUZKO0lBMUJBO0doRGc1SUY7Q0FDRjs7QWdEcDZJSTtFQWlEQTtJQWhERTtHaER3NklKO0NBQ0Y7O0FHanlJUTtFNkNyR0Y7SUF6QkY7R2hEbzZJRjtDQUNGOztBR2x5SVE7RTZDdEdGO0lBakVGO0doRDg4SUY7Q0FDRjs7QUc3eUlRO0U2QzVGSjtJQTFCQTtHaER3NklGO0NBQ0Y7O0FnRDU3SUk7RUFpREE7SUFoREU7R2hEZzhJSjtDQUNGOztBR3p6SVE7RTZDckdGO0lBekJGO0doRDQ3SUY7Q0FDRjs7QUcxeklRO0U2Q3RHRjtJQWpFRjtHaERzK0lGO0NBQ0Y7O0FHcjBJUTtFNkM1Rko7SUExQkE7R2hEZzhJRjtDQUNGOztBZ0RwOUlJO0VBaURBO0lBaERFO0doRHc5SUo7Q0FDRjs7QWdEbDZJRTs7RXpDeUhBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7Q1A4eUlGOztBZ0R2NklJOztFekNtSUY7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0NQeXlJRjs7QWdEMTZJRTs7RUFFRTtDaEQ2NklKOztBR3YySVE7RTZDeEVOOztJQUtJO0doRGc3SUo7Q0FDRjs7QUc5MklRO0U2Q3hFTjs7SUFTSTtHaERtN0lKO0NBQ0Y7O0FnRGg3SUU7O0VBRUU7Q2hEbTdJSjs7QUcxM0lRO0U2QzNETjs7SUFLSTtHaERzN0lKO0NBQ0Y7O0FHajRJUTtFNkMzRE47O0lBU0k7R2hEeTdJSjtDQUNGOztBaUQ1d0lFO0VBOUdBO0VBQ0E7RUFDQTtFQUNBO0NqRDgzSUY7O0FpRHQ5SUU7OztFQUdFO0VBQ0E7Q2pEeTlJSjs7QWlEcjlJRTtFQUNFO0VBQ0E7Q2pEdzlJSjs7QWlEcDlJRTtFQUNFO0VBQ0E7Q2pEdTlJSjs7QWlEbjlJRTtFQUNFO0VBQ0E7Q2pEczlJSjs7QWlELzhJSTs7RUFDRTtDakRtOUlOOztBaUQvOElJOzs7O0VBRUU7RUFDQTtFQUNBO0NqRG85SU47O0FpRDk4SUk7O0VBRUU7Q2pEaTlJTjs7QWlEdmhKTTtFQUNFO0VBQ0E7Q2pEMGhKUjs7QWlEMzhJTTtFQUVFO0NqRDY4SVI7O0FpRGhoSkU7RUFDRTtFQUNBO0VBQ0E7Q2pEbWhKSjs7QUc1OElRO0U4QzRHSjtJQUNFO0dqRG8ySUo7O0VpRGgySUE7SUFDRTtHakRtMklGOztFaURoMklBOzs7SUFHRTtHakRtMklGOztFaURoMklBO0lBQ0U7R2pEbTJJRjtDQUNGOztBaURyMUlFO0VBdkdBO0VBQ0E7RUFDQTtDakRnOElGOztBaUR6N0lJO0VBQ0U7Q2pENDdJTjs7QWlEdDdJSTtFQUNFO0NqRHk3SU47O0FpRG43SUk7RUFDRTtDakRzN0lOOztBaUQvNklNO0VBQ0U7Q2pEazdJUjs7QWlEbjJJRTtFQUNFO0NqRHMySUo7O0FrRDFxSkE7O0FBRUE7O0VBRUU7Q2xENnFKRjs7QWtEMXFKQTs7Ozs7O0VBTUU7Q2xENnFKRjs7QWtEMXFKQTtFQUNFO0NsRDZxSkY7O0FrRDFxSkE7RUFDRTtDbEQ2cUpGOztBa0QxcUpBO0VBQ0U7RUFDQTtDbEQ2cUpGOztBa0R4cUpFOztFQUVFO0VBQ0E7Q2xEMnFKSjs7QWtEdnFKQTs7QUFHQTtFQUNFO0VBQ0E7Q2xEeXFKRjs7QWtEdHFKQTtFQUNFO0VBQ0E7Q2xEeXFKRjs7QWtEdHFKQTtFQUNFO0VBQ0E7Q2xEeXFKRjs7QWtEcnFKQTtFQUNFO0VBQ0E7Q2xEd3FKRjs7QWtEdHFKRTtFQUNFO0VBQ0E7Q2xEeXFKSjs7QWtEcnFKQTtFQUNFO0NsRHdxSkY7O0FrRHJxSkE7RUFDRTtDbER3cUpGOztBa0RycUpBO0VBQ0U7RUFDQTtDbER3cUpGOztBa0RycUpBO0VBQ0U7Q2xEd3FKRjs7QWtEcnFKQTtFQUNFO0NsRHdxSkY7O0FrRHJxSkE7RTVCdERFO0VBQ0E7Q3RCK3RKRjs7QWtEdHFKQTtFM0I2QkU7RUEyQ0U7RUYzSEU7RUFBQTtFNkJxREo7Q2xENHFKRjs7QUdybEpRO0UrQ3pGUjtJQUtJO0lBQ0E7R2xEOHFKRjtDQUNGOztBa0QzcUpBO0UzQm1CRTtFQTJDRTtFRjNIRTtFQUFBO0U2QitESjtFQUNBO0NsRGlySkY7O0FHcm1KUTtFK0MvRVI7SUFNSTtJQUNBO0lBQ0E7R2xEbXJKRjtDQUNGOztBa0RockpBO0VBQ0M7Q2xEbXJKRDs7QWtEanJKQztFQUNHO0VBQ0Y7RUFDQTtFQUNBO0VBQ0E7RUFDQTtDbERvckpGOztBRzFuSlE7RStDbkVSO0lBYUk7R2xEcXJKRjtDQUNGOztBa0RsckpBO0VBQ0U7Q2xEcXJKRjs7QWtEanJKQztFQUNDO0VBQ0E7Q2xEb3JKRjs7QWtEanJKQztFQUNDO0VBQ0E7Q2xEb3JKRjs7QWtEanJKQztFQUNDO0VBQ0E7RUFDQTtDbERvckpGOztBa0RsckpFO0VBQ0M7RUFDQTtDbERxckpIOztBa0RuckpHO0VBQ0M7RUFDQTtDbERzckpKOztBa0RsckpFO0VBQ0M7Q2xEcXJKSDs7QWtEbnJKRztFQUNDO0NsRHNySko7O0FrRGhySkE7RUFDRTtFQUNBO0VBQ0E7Q2xEbXJKRjs7QWtEaHJKQTs7QUFFQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7Q2xEbXJKRjs7QWtEanJKRTtFQUNFO0NsRG9ySko7O0FrRGpySkU7RUFDRTtDbERvckpKOztBa0RqckpFO0VBQ0U7Q2xEb3JKSjs7QUd2c0pRO0UrQ0dSO0lBb0JJO0lBQ0E7R2xEcXJKRjtDQUNGOztBRzlzSlE7RStDR1I7SUF5Qkk7SUFDQTtHbER1ckpGO0NBQ0Y7O0FrRHJySkU7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7Q2xEd3JKSjs7QWtEdHJKSTtFQUNFO0NsRHlySk47O0FrRHRySkk7RUFDRTtDbER5ckpOOztBR2p1SlE7RStDMkJOO0lBaUJJO0dsRDBySko7Q0FDRjs7QUc1dUpRO0UrQ2dDTjtJQXFCSTtJQUNBO0dsRDRySko7Q0FDRjs7QUdudkpRO0UrQ2dDTjtJQTBCSTtJQUNBO0dsRDhySko7Q0FDRjs7QWtEM3JKRTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0NsRDhySko7O0FHandKUTtFK0MrRE47SUFPTTtHbERnc0pOO0NBQ0Y7O0FHdndKUTtFK0MrRE47SUFXSTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0dsRGtzSko7Q0FDRjs7QWtEN3JKRTtFQWpGRjtJQWtGSTtJQUNBO0dsRGlzSkY7O0VrRC9ySkU7SUFDRTtJQUNBO0dsRGtzSko7Q0FDRjs7QWtENXJKQTtFQUNFO0NsRCtySkY7O0FrRDlySkU7RUFDRTtDbERpc0pKOztBa0Q3ckpBOztBQUVBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7Q2xEZ3NKRjs7QWtEOXJKRTtFQUNFO0NsRGlzSko7O0FrRDlySkU7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtDbERpc0pKOztBR3Z6SlE7RStDK0dOO0lBV0k7SUFDQTtHbERrc0pKO0NBQ0Y7O0FHOXpKUTtFK0MrR047SUFnQkk7SUFDQTtHbERvc0pKO0NBQ0Y7O0FHcjBKUTtFK0NxSVI7SUFFSTtHbERtc0pGO0NBQ0Y7O0FHMzBKUTtFK0NxSVI7SUFNSTtHbERxc0pGO0NBQ0Y7O0FrRGxzSkE7RUFDRTtDbERxc0pGOztBa0Rsc0pBO0VBQ0U7Q2xEcXNKRjs7QWtEbHNKQTtFQUNFO0NsRHFzSkY7O0FrRGxzSkE7RUFDRTtFQUNBO0NsRHFzSkY7O0FrRGxzSkE7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0NsRHFzSkY7O0FHMTJKUTtFK0NnS1I7SUFRSTtHbER1c0pGO0NBQ0Y7O0FrRHBzSkE7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0NsRHVzSkY7O0FrRHJzSkU7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0NsRHdzSko7O0FHdDRKUTtFK0M0S1I7SUFzQkk7R2xEeXNKRjtDQUNGOztBa0R2c0pFO0VBQ0U7Q2xEMHNKSjs7QWtEeHNKSTtFQUNFO0NsRDJzSk47O0FrRHRzSkE7RUFDRTtDbER5c0pGOztBa0R2c0pFO0VBQ0U7Q2xEMHNKSjs7QWtEdnNKRTtFQUNFO0NsRDBzSko7O0FrRHhzSkk7RUFDRTtDbEQyc0pOOztBa0R0c0pBOztBQUVBO0U1Qm5YRTtFQUNBO0U0Qm9YQTtFQUNBO0NsRDBzSkY7O0FrRHZzSkE7RTNCbFNFO0VBMkNFO0VGM0hFO0VBQUE7RTZCb1hKO0VBQ0E7RUFDQTtDbEQ2c0pGOztBRzU3SlE7RStDMk9SO0kzQmxTRTtJQTJDRTtJRjNIRTtJQUFBO0dyQjJrS0o7Q0FDRjs7QUdoOEpRO0UrQ3NPUjtJM0JsU0U7SUEyQ0U7SUYzSEU7SUFBQTtJNkI4WEY7R2xEdXRKRjtDQUNGOztBa0RwdEpBO0UzQmxURTtFQTJDRTtFRjNIRTtFQUFBO0U2Qm9ZSjtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7Q2xEMHRKRjs7QWtEeHRKRTtFQUNFO0VBQ0E7RUFDQTtDbEQydEpKOztBa0R4dEpFOzs7OztFQUNFO0VBQ0E7RUFDQTtFQUNBO0NsRCt0Sko7O0FHNytKUTtFK0MyUFI7STNCbFRFO0lBMkNFO0lGM0hFO0lBQUE7R3JCNG5LSjtDQUNGOztBR2ovSlE7RStDc1BSO0kzQmxURTtJQTJDRTtJRjNIRTtJQUFBO0k2QjhaRjtHbER3dUpGO0NBQ0Y7O0FrRHJ1SkE7O0FBRUE7RUFDRTtDbER3dUpGOztBa0RydUpBO0VBQ0U7Q2xEd3VKRjs7QWtEcnVKQTtFQUNFO0VBQ0E7Q2xEd3VKRjs7QWtEcnVKQTtFQUNFO0NsRHd1SkY7O0FrRHJ1SkE7RUFDRTtDbER3dUpGOztBa0RydUpBO0VBQ0U7RUFDQTtDbER3dUpGOztBRzVoS1E7RStDa1RSO0lBSUk7R2xEMnVKRjtDQUNGOztBa0R4dUpBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7Q2xEMnVKRjs7QUd6aUtRO0UrQzBUUjtJQU1JO0lBQ0E7R2xEOHVKRjtDQUNGOztBa0QzdUpBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7Q2xEOHVKRjs7QWtEM3VKQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtDbEQ4dUpGOztBR3RrS1E7RStDNFVSO0lBZUk7R2xEZ3ZKRjtDQUNGOztBRzVrS1E7RStDNFVSO0lBbUJJO0dsRGt2SkY7Q0FDRjs7QWtEL3VKQTtFQUNDO0NsRGt2SkQ7O0FrRC91SkE7RUFDQztDbERrdkpEOztBa0QvdUpBO0VBQ0M7Q2xEa3ZKRDs7QWtEL3VKQTtFQUNDO0NsRGt2SkQ7O0FrRC91SkE7RUFDQztDbERrdkpEOztBa0QvdUpBO0VBQ0U7Q2xEa3ZKRjs7QWtEL3VKQTs7RUFFRTtDbERrdkpGOztBa0QvdUpBOztFQUlFO0VBQ0E7Q2xEZ3ZKRjs7QWtEN3VKQTs7QUFFQTtFQ3BlRTtFQUNBO0NuRHF0S0Y7O0FPbm9LRTs7RUFFRTtFQUNBO0VBR0U7RUFDQTtDUG9vS047O0FPaG9LRTtFQUNFO0NQbW9LSjs7QW1EOXRLRTtFQUNFO0VBQ0E7RUFDQTtFQU1FO0NuRDR0S047O0FtRDF0S007O0VBRUU7Q25ENnRLUjs7QUdwcEtRO0VnRHRGTjtJQXVCTTtHbkR3dEtOO0NBQ0Y7O0FtRG50S0U7O0VBRUU7RUFDQTtFQUNBO0VBQ0E7Q25Ec3RLSjs7QW1EcHRLSTs7RUFDRTtDbkR3dEtOOztBa0R6eEpBO0VBQ0U7Q2xENHhKRjs7QWtEMXhKRTtFQUNFO0NsRDZ4Sko7O0FrRHp4SkE7RUM1YkU7RUFDQTtFQUNBO0VBQ0E7RUQyYkE7RUFDQTtFQUNBO0VBQ0E7RUFDQTtDbEQreEpGOztBa0Q3eEpFO0VBQ0U7Q2xEZ3lKSjs7QWtENXhKQTtFQzliRTtFQUNBO0VBQ0E7Q25EOHRLRjs7QW1ENXRLRTtFQUNFO0NuRCt0S0o7O0FrRGx5SkE7O0FBQ0E7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7Q2xEc3lKRjs7QWtEcHlKRTtFQUNFO0VBQ0E7Q2xEdXlKSjs7QWtEbnlKQTs7QUFDQTtFQUNFO0NsRHV5SkY7O0FrRG55SkE7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7Q2xEc3lKRjs7QWtEcHlKRTs7RUFFRTtFQUNBO0NsRHV5Sko7O0FrRHB5SkU7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtDbER1eUpKOztBa0RyeUpJO0VBQ0U7RUFDQTtDbER3eUpOOztBa0RweUpFO0VBQ0U7RUFDQTtDbER1eUpKOztBa0RweUpFO0VBQ0U7RUFDQTtFQUNBO0NsRHV5Sko7O0FHM3dLUTtFK0MrYlI7SUF5Q0k7SUFDQTtJQUNBO0dsRHd5SkY7O0VrRHR5SkU7SUFDRTtHbER5eUpKOztFa0R0eUpFO0lBQ0U7R2xEeXlKSjtDQUNGOztBa0RyeUpBOztBQUVBO0VBQ0U7RUFDQTtDbER3eUpGOztBa0R0eUpFO0VBQ0U7Q2xEeXlKSjs7QWtEdHlKRTtFQUNFO0NsRHl5Sko7O0FrRHR5SkU7RUFDRTtDbER5eUpKOztBa0R0eUpFO0VBQ0U7Q2xEeXlKSjs7QWtEdHlKRTtFQUNFO0NsRHl5Sko7O0FHdHpLUTtFK0N3ZlI7SUF5Qkk7SUFDQTtHbEQweUpGO0NBQ0Y7O0FvRDcrS0E7OztFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0NwRGsvS0o7O0FHLzBLUTtFaURoTFI7OztJQWdCUTtJQUNBO0lBQ0E7R3BEcy9LTjtDQUNGOztBb0RuL0tBOzs7Ozs7OztFQUNJO0VBQ0E7Q3BENi9LSjs7QW9EMy9LSTs7Ozs7Ozs7RUFDSTtFQUNBO0NwRHFnTFI7O0FvRGpnTEE7RUFDSTtFQUNBO0NwRG9nTEo7O0FvRGxnTEk7RUFDSTtFQUNBO0NwRHFnTFI7O0FvRGpnTEE7Ozs7OztFQUNJO0VBQ0E7Q3BEeWdMSjs7QW9EdmdMSTs7Ozs7O0VBQ0k7RUFDQTtDcEQrZ0xSOztBb0QzZ0xBO0VBQ0k7RUFDQTtDcEQ4Z0xKOztBb0Q1Z0xJO0VBQ0k7RUFDQTtDcEQrZ0xSOztBb0QzZ0xBO0VBQ0k7RUFDQTtDcEQ4Z0xKOztBb0Q1Z0xJO0VBQ0k7RUFDQTtDcEQrZ0xSOztBb0QzZ0xBO0VBQ0k7RUFDQTtDcEQ4Z0xKOztBb0Q1Z0xJO0VBQ0k7RUFDQTtDcEQrZ0xSOztBb0QzZ0xBO0VBQ0k7Q3BEOGdMSjs7QW9ENWdMSTtFQUNJO0VBQ0E7Q3BEK2dMUjs7QW9EM2dMQTs7Ozs7O0VBQ0k7RUFDQTtDcERtaExKOztBb0RqaExJOzs7Ozs7RUFDSTtFQUNBO0NwRHloTFI7O0FvRHJoTEE7RUFDSTtDcER3aExKOztBb0R0aExJO0VBQ0k7RUFDQTtDcER5aExSOztBb0RyaExBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0NwRHdoTEo7O0FvRHJoTEE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0NwRHdoTEo7O0FvRHJoTEE7RUFDSTtFQUNBO0NwRHdoTEo7O0FvRHJoTEE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtDcER3aExKOztBcURocUxBO0VBQ0k7RUFDQTtDckRtcUxKOztBcURqcUxJO0VBQ0k7RUFDQTtFQUNBO0NyRG9xTFI7O0FxRGxxTFE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtDckRxcUxaOztBR2xnTFE7RWtEdktBO0lBT1E7SUFDQTtHckR1cUxkO0NBQ0Y7O0FxRHBxTFE7RUFDSTtFQUNBO0NyRHVxTFo7O0FxRHBxTEk7RUFDSTtFQUNBO0VBQ0E7Q3JEdXFMUjs7QUdwaExRO0VrRHRKSjtJQU1RO0dyRHlxTFY7Q0FDRjs7QUcxaExRO0VrRHRKSjtJQVVRO0dyRDJxTFY7Q0FDRjs7QXFEenFMSTtFQUNJO0VBQ0E7RUFDQTtDckQ0cUxSOztBcUR6cUxJO0VBQ0k7RUFDQTtFQUdBO0VBQ0E7Q3JEMHFMUjs7QXFEbnFMUTtFQUNJO0VBQ0E7Q3JEc3FMWjs7QXFEbHFMSTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7Q3JEcXFMUjs7QUc3akxRO0VrRGhISjtJQVVRO0dyRHdxTFY7Q0FDRjs7QXFEdHFMSTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7Q3JEeXFMUjs7QUcza0xRO0VrRG5HSjtJQU9RO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0dyRDRxTFY7Q0FDRjs7QXFEenFMSTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0NyRDRxTFI7O0FHam1MUTtFa0RsRko7SUFVUTtHckQ4cUxWO0NBQ0Y7O0FxRDNxTEk7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7Q3JEOHFMUjs7QUdobkxRO0VrRHBFSjtJQVFRO0dyRGlyTFY7Q0FDRjs7QXFEL3FMUTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0NyRGtyTFo7O0FxRGpyTFk7RUFDSTtDckRvckxoQjs7QXFEanJMWTtFQUNJO0VBQ0E7Q3JEb3JMaEI7O0FxRGpyTFk7RUFDSTtFQUNBO0NyRG9yTGhCOztBcURockxZOztFQUNJO0NyRG9yTGhCOztBcUQvcUxJO0VBQ0k7RUFDQTtDckRrckxSOztBR3JwTFE7RWtEL0JKO0lBSVE7SUFDQTtHckRxckxWO0NBQ0Y7O0FxRG5yTFE7RUFDSTtFQUNBO0VBQ0E7Q3JEc3JMWjs7QUdscUxRO0VrRHZCQTtJQUtRO0lBQ0E7SUFDQTtHckR5ckxkO0NBQ0Y7O0FxRHZyTFk7RUFDSTtDckQwckxoQjs7QXFEenJMZ0I7RUFDSTtDckQ0ckxwQjs7QXFEeHJMWTtFQUNJO0VBQ0E7RUFDQTtDckQyckxoQjs7QXFEdHJMSTtFQUNJO0VBQ0E7Q3JEeXJMUjs7QUc3ckxRO0VrREVKO0lBSVE7R3JENHJMVjtDQUNGOztBcUQxckxRO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0NyRDZyTFo7O0FxRDNyTFk7RUFDSTtFQUNBO0VBQ0E7Q3JEOHJMaEI7O0FxRHpyTEk7RUFDSTtFQUNBO0VBQ0E7Q3JENHJMUjs7QUczdExRO0VrRDRCSjtJQUtRO0lBQ0E7R3JEK3JMVjtDQUNGOztBcUQ3ckxJO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtDckRnc0xSOztBRzF1TFE7RWtEcUNKO0lBT1E7SUFDQTtJQUNBO0lBQ0E7R3JEbXNMVjtDQUNGOztBR252TFE7RWtEcUNKO0lBYVE7R3JEc3NMVjtDQUNGOztBcURwc0xRO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7Q3JEdXNMWjs7QUdod0xRO0VrRHFEQTtJQU1RO0lBQ0E7R3JEMHNMZDtDQUNGOztBR3Z3TFE7RWtEcURBO0lBVVE7R3JENnNMZDtDQUNGOztBcUQzc0xRO0VBQ0k7Q3JEOHNMWjs7QXFENXNMUTtFQUNJO0NyRCtzTFo7O0FxRDdzTFE7RUFDSTtDckRndExaOztBcUQvc0xZO0VBQ0k7Q3JEa3RMaEI7O0FxRC9zTFE7RUFDSTtDckRrdExaOztBR2p5TFE7RWtEbUZKO0lBRVE7SUFDQTtHckRpdExWO0NBQ0Y7O0FxRDlzTEk7RUFDSTtFQUNBO0VBQ0E7RUFDQTtDckRpdExSOztBRy95TFE7RWtEMEZKO0lBTVE7SUFDQTtHckRvdExWO0NBQ0Y7O0FxRGx0TFE7RUFDSTtDckRxdExaOztBRzF6TFE7RWtEb0dBO0lBR1E7R3JEd3RMZDtDQUNGOztBcUR2dExZO0VBQ0k7Q3JEMHRMaEI7O0FxRHJ0TEk7RUFDSTtFQUNBO0VBQ0E7Q3JEd3RMUjs7QUcxMExRO0VrRCtHSjtJQUtRO0lBQ0E7SUFDQTtJQUNBO0dyRDJ0TFY7Q0FDRjs7QXFEeHRMSTtFQUNJO0NyRDJ0TFI7O0FxRHZ0TEE7RS9COVFFO0VBQ0E7Q3RCeStMRjs7QXFEeHRMQTtFQ2hPSTtFQUNBO0N0RDQ3TEo7O0FHajJMUTtFa0RvSVI7SUNoT0k7SUFDQTtHdERrOExGO0NBQ0Y7O0FHeDJMUTtFa0RvSVI7SUNoT0k7SUFDQTtHdER5OExGO0NBQ0Y7O0FxRHZ1TEE7RTlCL0xFO0VBMkNFO0VGM0hFO0VBQUE7Q3JCNi9MTjs7QUd0M0xRO0VrRHdJUjtJOUIvTEU7SUEyQ0U7SUYzSEU7SUFBQTtHckJxZ01KO0NBQ0Y7O0F1RDVpTUE7RUFDSTtFQUNBO0VBQ0E7Q3ZEK2lNSjs7QUdoNExRO0VvRGxMUjtJQU9RO0lBQ0E7R3ZEZ2pNTjtDQUNGOztBdUQ1aU1BO0VBQ0k7Q3ZEK2lNSjs7QXVENWlNQTs7cUN2RGdqTW9DOztBdUQ1aU1wQztFQUNJO0VBQ0E7RUFDQTtDdkQraU1KOztBdUQ1aU1BO0VBQ0k7RUFDQTtFQUNBO0N2RCtpTUo7O0F1RDdpTUk7RUFDSTtDdkRnak1SOztBdUQ1aU1BOztxQ3ZEZ2pNb0M7O0F1RDVpTXBDO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtDdkQraU1KOztBdUQ3aU1JO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0N2RGdqTVI7O0FHcDdMUTtFb0R6SVI7SUF1QlE7R3ZEMmlNTjtDQUNGOztBdUR2aU1BO0VBQ0k7Q3ZEMGlNSjs7QXVEdmlNQTtFQUNJO0VBQ0E7RUFDQTtDdkQwaU1KOztBdUR4aU1JO0VBQ0k7RUFDQTtDdkQyaU1SOztBdUR6aU1RO0VBQ0k7Q3ZENGlNWjs7QXVEdmlNQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtDdkQwaU1KOztBdUR4aU1JOztFQUVJO0N2RDJpTVI7O0F1RHRpTUE7OzRDdkQwaU0yQzs7QXVEdGlNM0M7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0N2RHlpTUo7O0F1RHZpTUk7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtDdkQwaU1SOztBdUR0aU1BO0VBRUk7Q3ZEd2lNSjs7QXVEcmlNSTtFQUNJO0VBQ0E7RUFDQTtDdkR3aU1SOztBdURqaU1JO0VBSEo7SUFJUTtJQUNBO0lBQ0E7R3ZEcWlNTjtDQUNGOztBdURuaU1JO0VBQ0k7RUFDQTtFQUNBO0N2RHNpTVI7O0F1RGxpTUE7RUFDSTtDdkRxaU1KOztBdURuaU1JO0VBSEo7SUFJUTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0d2RHVpTU47Q0FDRjs7QXVEL2hNQTs7RUFFSTtFQUNBO0VBQ0E7Q3ZEa2lNSjs7QXVEL2hNSTs7RUFDSTtFQUNBO0N2RG1pTVI7O0F1RGhpTVE7O0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0N2RG9pTVo7O0F1RGxpTVk7O0VBQ0k7RUFDQTtDdkRzaU1oQjs7QXVEaGlNSTs7RUFDSTtDdkRvaU1SOztBdURoaU1JOztFQUNJO0VBQ0E7RUFFQTtFQUVBO0VBQ0E7Q3ZEa2lNUjs7QXVEaGlNUTs7RUFDSTtDdkRvaU1aOztBdURsaU1ZOztFQUNJO0VBQ0E7Q3ZEc2lNaEI7O0F1RG5pTWdCOztFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtDdkR1aU1wQjs7QXVEbmlNWTs7RUFDSTtDdkR1aU1oQjs7QXVEbmlNWTs7OztFQUVJO0VBQ0E7Q3ZEd2lNaEI7O0F1RG5pTVE7O0VBQ0k7RUFDQTtFQUNBO0N2RHVpTVo7O0F1RHJpTVk7O0VBQ0k7Q3ZEeWlNaEI7O0F1RG5pTUE7RUFDSTtDdkRzaU1KOztBdURuaU1BOztBQUVBO0VBQ0k7RUFDQTtDdkRzaU1KOztBdURuaU1JO0VBQ0k7Q3ZEc2lNUjs7QXVEamlNSTtFQUNJO0N2RG9pTVI7O0F1RGxpTVE7RUFDSTtFQUNBO0N2RHFpTVo7O0F1RC9oTUk7RUFDSTtFQUNBO0N2RGtpTVI7O0F1RDdoTUk7RUFDSTtDdkRnaU1SOztBdUQ5aE1JO0VBQ0k7Q3ZEaWlNUjs7QXVENWhNSTtFQUNJO0N2RCtoTVI7O0F1RHpoTVk7RUFDSTtDdkQ0aE1oQjs7QXVEdmhNSTtFQUNJO0N2RDBoTVI7O0F1RHRoTUE7O0FBRUE7O0VBRUk7RUFDQTtFQUNBO0VBQ0E7RUFDQTtDdkR5aE1KOztBdUR2aE1JOztFQUNJO0N2RDJoTVI7O0F1RHZoTUE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtDdkQwaE1KOztBdUR4aE1JO0VBQ0k7RUFDQTtDdkQyaE1SOztBdUR2aE1BO0VqQ3JVRTtFQUNBO0VnQ2lERTtFQUNBO0VFOUJGO0N4RCswTUY7O0FHdHRNUTtFb0R1TFI7SURuUkk7SUFDQTtHdER1ek1GO0NBQ0Y7O0FHN3RNUTtFb0R1TFI7SURuUkk7SUFDQTtHdEQ4ek1GO0NBQ0Y7O0F1RHZpTUE7RWhDcFBFO0VBMkNFO0VGM0hFO0VBQUE7Q3JCazNNTjs7QXVEM2lNSTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtDdkQ4aU1SOztBdUQzaU1BO0VoQ2hRRTtFQTJDRTtFRjNIRTtFQUFBO0VrQ2tWRjtFQUNBO0N2RGlqTUo7O0F1RC9pTUk7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtDdkRrak1SOztBdUQ3aU1BO0VBQ0k7Q3ZEZ2pNSjs7QXVEOWlNSTtFQUNJO0VBQ0E7RUFDQTtDdkRpak1SOztBdUQ1aU1BOztvQ3ZEZ2pNbUM7O0F1RDVpTW5DO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7Q3ZEK2lNSjs7QXVEN2lNSTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7Q3ZEZ2pNUjs7QUdyeU1RO0VvRDJQSjtJQUNJO0d2RDhpTU47O0V1RDNpTUU7SUFDSTtHdkQ4aU1OOztFdUQzaU1FO0lBQ0k7R3ZEOGlNTjtDQUNGOztBdUQzaU1BO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7Q3ZEOGlNSjs7QXVEMWlNSTtFQUNJO0N2RDZpTVI7O0F1RDNpTVE7RUFDSTtDdkQ4aU1aOztBdUR6aU1BO0VBQ0k7RWhEdFdGO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtDUG01TUY7O0FPaDVNRTtFQUNFO0VBQ0E7RUFDQTtFQUVBO0VBQ0E7RUFDQTtFQUVBO0VBQ0E7RUFFQTtDUGc1TUo7O0FPcjRNSTtFQUNFO0VBQ0E7Q1B3NE1OOztBdUQ5ak1JO0VBQ0k7Q3ZEaWtNUjs7QXVEL2pNSTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7Q3ZEa2tNUjs7QXVEOWpNQTtFQUNJO0VBQ0E7RUFDQTtDdkRpa01KOztBdUQvak1JO0VBQ0k7Q3ZEa2tNUjs7QXVEOWpNQTtFQUNJO0VoRGpjRjtFQUNBO0VBQ0E7RUFFQTtFQUVBO0VBR0U7RUFDQTtFQUNBO0VnRHdiQTtFQUNBO0VBQ0E7Q3ZEd2tNSjs7QXVEcmtNQTtFaER4Y0U7RUFDQTtFQUNBO0VBRUE7RUFFQTtFQVFFO0VBQ0E7RUFDQTtFZ0QwYkE7Q3ZEK2tNSjs7QXVEM2tNSTtFQUNJO0N2RDhrTVI7O0F1RDNrTUk7RUFDSTtDdkQ4a01SOztBdUQza01JO0VoRHZaRjtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7Q1BzK01GOztBT24rTUU7RUFDRTtFQUNBO0VBQ0E7RUFFQTtFQUNBO0VBQ0E7RUFFQTtFQUNBO0VBRUE7Q1BtK01KOztBT3g5TUk7RUFDRTtFQUNBO0NQMjlNTjs7QXVEaG1NQTtFQUNJO0VBQWU7RUFDZjtDdkRvbU1KOztBdURqbU1BO0VBQ0k7RUFBZTtDdkRxbU1uQjs7QXlEaG5OQTs7O0VBQ0U7Q3pEcW5ORjs7QXlEbG5OQTs7RUFDRTtDekRzbk5GOztBeURubk5BOztFQUNFO0N6RHVuTkY7O0F5RHBuTkE7OztFQUNFO0N6RHluTkY7O0F5RHRuTkE7RUFDRTtDekR5bk5GOztBeUR0bk5BO0VBQ0U7Q3pEeW5ORjs7QXlEdG5OQTtFQUNFO0N6RHluTkY7O0F5RHRuTkE7RUFDRTtDekR5bk5GOztBeUR0bk5BO0VBQ0U7Q3pEeW5ORjs7QXlEdG5OQTs7OztFQUNFO0N6RDRuTkY7O0F5RHpuTkE7Ozs7RUFDRTtDekQrbk5GOztBeUQ1bk5BO0VBQ0U7Q3pEK25ORjs7QXlENW5OQTtFQUNFO0N6RCtuTkY7O0F5RDVuTkE7RUFDRTtDekQrbk5GOztBeUQ1bk5BO0VBQ0U7Q3pEK25ORjs7QXlENW5OQTtFQUNFO0N6RCtuTkY7O0F5RDVuTkE7RUFDRTtDekQrbk5GOztBeUQ1bk5BO0VBQ0U7Q3pEK25ORjs7QXlENW5OQTtFQUNFO0N6RCtuTkY7O0F5RDVuTkE7RUFDRTtDekQrbk5GOztBeUQ1bk5BO0VBQ0U7Q3pEK25ORjs7QXlENW5OQTtFQUNFO0N6RCtuTkY7O0F5RDVuTkE7RUFDRTtDekQrbk5GOztBeUQ1bk5BO0VBQ0U7Q3pEK25ORjs7QXlENW5OQTtFQUNFO0N6RCtuTkY7O0F5RDVuTkE7RUFDRTtDekQrbk5GOztBeUQ1bk5BO0VBQ0U7Q3pEK25ORjs7QXlENW5OQTtFQUNFO0N6RCtuTkY7O0F5RDVuTkE7RUFDRTtDekQrbk5GOztBeUQ1bk5BO0VBQ0U7Q3pEK25ORjs7QXlENW5OQTtFQUNFO0N6RCtuTkY7O0F5RDVuTkE7O0VBQ0U7Q3pEZ29ORjs7QXlEN25OQTtFQUNFO0VBQ0E7Q3pEZ29ORjs7QUdsbE5RO0VzRGhEUjtJQUlJO0d6RG1vTkY7Q0FDRjs7QXlEaG9OQTtFQUNFO0VBQ0E7Q3pEbW9ORjs7QUc3bE5RO0VzRHhDUjtJQUlJO0d6RHNvTkY7Q0FDRjs7QXlEbm9OQTtFQUNFO0N6RHNvTkY7O0F5RG5vTkE7RUFDRTtFQUNBO0VBQ0E7RUFDQTtDekRzb05GOztBMEQ5eE5BO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtDMURpeU5KOztBR3RuTlE7RXVEaExSO0lBUVE7SUFDQTtJQUNBO0cxRG15Tk47Q0FDRjs7QUc5bk5RO0V1RGhMUjtJQWNRO0cxRHF5Tk47Q0FDRjs7QTBEbHlOUTtFQUNJO0MxRHF5Tlo7O0EwRGx5TlE7RUFDSTtDMURxeU5aOztBMERoeU5BO0VBQ0k7RUFDQTtDMURteU5KOztBR2pwTlE7RXVEcEpSO0lBS1E7RzFEcXlOTjtDQUNGOztBR3ZwTlE7RXVENUlKO0lBRVE7RzFEc3lOVjtDQUNGOztBMERseU5BO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0MxRHF5Tko7O0EwRG55Tkk7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0MxRHN5TlI7O0EwRG55Tkk7RUFDSTtFQUNBO0VBQ0E7RUFDQTtDMURzeU5SOztBMERueU5JO0VBQ0k7QzFEc3lOUjs7QTBEbHlOQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QzFEcXlOSjs7QUdqc05RO0V1RHpHUjtJQVFRO0lBQ0E7SUFDQTtHMUR1eU5OO0NBQ0Y7O0EwRHJ5Tkk7RUFDSTtDMUR3eU5SOztBMERyeU5JO0VBQ0k7QzFEd3lOUjs7QTBEcHlOQTtFQUNJO0MxRHV5Tko7O0FHcnROUTtFdURuRlI7SUFJUTtJQUNBO0cxRHl5Tk47Q0FDRjs7QTBEdnlOSTtFQUNJO0MxRDB5TlI7O0FHaHVOUTtFdUQzRUo7SUFHUTtHMUQ2eU5WO0NBQ0Y7O0EwRDF5Tkk7RUFDSTtFQUNBO0VBQ0E7RUFDQTtDMUQ2eU5SOztBMER6eU5BO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7QzFENHlOSjs7QUdwdk5RO0V1RDVEUjtJQVFRO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtHMUQ2eU5OO0NBQ0Y7O0EwRDN5Tkk7OztFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QzFEZ3pOUjs7QTBEOXlOUTs7O0VBQ0k7RUFDQTtFQUNBO0MxRG16Tlo7O0EwRGp6Tlk7OztFQUNJO0MxRHN6TmhCOztBMERsek5JO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0MxRHF6TlI7O0EwRG56Tkk7O0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtDMUR1ek5SOztBMERyek5ROztFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0g7QzFEeXpOVDs7QTBEcHpOQTtFQUNJO0VBQ0E7QzFEdXpOSjs7QTBEcnpOSTtFcEN0SkY7RUFDQTtFb0N3Sk07RUFDQTtDMUR3ek5SOztBMER0ek5RO0VuQ3JFTjtFQTJDRTtFRjNIRTtFQUFBO0VxQ3dKTTtFQUVBO0VBQ0E7RUFDQTtDMUQwek5aOztBMER4ek5ZO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7QzFEMnpOaEI7O0EwRHh6Tlk7RUFDSTtDMUQyek5oQjs7QUdyMU5RO0V1RFNBO0luQ3JFTjtJQTJDRTtJRjNIRTtJQUFBO0lxQzJLVTtJQUNBO0cxRCt6TmQ7Q0FDRjs7QTBENXpOUTtFbkNoR047RUEyQ0U7RUYzSEU7RUFBQTtDckJtL05OOztBR3YyTlE7RXVEb0NBO0luQ2hHTjtJQTJDRTtJRjNIRTtJQUFBO0dyQjIvTko7Q0FDRjs7QTJEcmlPQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QzNEd2lPSjs7QUduNE5RO0V3RGhMUjtJQWNRO0lBQ0E7SUFDQTtJQUNBO0czRDBpT047Q0FDRjs7QUc1NE5RO0V3RGhMUjtJQXFCUTtJQUNBO0czRDRpT047Q0FDRjs7QTJEMWlPSTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QzNENmlPUjs7QTJEMWlPSTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QzNENmlPUjs7QUd0Nk5RO0V3RDVJSjtJQVFRO0czRCtpT1Y7Q0FDRjs7QTJEemlPUTs7RUFDSTtDM0Q2aU9aOztBNEQ5bE9JO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUVBO0VBQ0E7QzVEZ21PTjs7QTREOWxPTTtFQUNFO0VBQ0E7QzVEaW1PUjs7QTREMWxPSTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBaUJBO0VBQ0E7RUFDQTtDNUQ2a09OOztBNEQ5bE9NO0VBQ0U7RUFDQTtDNURpbU9SOztBRy84TlE7RXlEMUpKO0lBWUk7SUFDQTtHNURrbU9OOztFNERobU9NO0lBQ0U7SUFDQTtHNURtbU9SO0NBQ0Y7O0E0RDVsT0k7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0M1RCtsT047O0E0RDNsT0U7RUFDRTtFQUNBO0VBQ0E7QzVEOGxPSjs7QTZEeHBPQTs7QUFFQTtFQUNFO0VBQ0E7QzdEMnBPRjs7QTZEenBPRTtFQUNFO0M3RDRwT0o7O0FHcC9OUTtFMEQ3S1I7SUFTSTtHN0Q2cE9GO0NBQ0Y7O0E2RHhwT0U7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0M3RDJwT0o7O0E2RHhwT0U7RUFDRTtFQUNBO0VBQ0E7QzdEMnBPSjs7QTZEenBPSTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtDN0Q0cE9OOztBNkQxcE9NO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtDN0Q2cE9SOztBNkQxcE9NOztFQUNFO0M3RDhwT1I7O0FHdmlPUTtFMEQ5SUo7SUEyQkk7SUFDQTtHN0QrcE9OO0NBQ0Y7O0E2RDVwT0k7RUFDRTtDN0QrcE9OOztBNkQ3cE9NO0VBQ0U7RUFDQTtDN0RncU9SOztBNkQ1cE9JO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7QzdEK3BPTjs7QTZEN3BPTTs7RUFFRTtFQUNBO0M3RGdxT1I7O0FHcGtPUTtFMERyR0o7SUFhSTtJQUNBO0c3RGlxT047Q0FDRjs7QThEM3ZPQTtFQUNFO0VBVUE7RUFDQTtDOURxdk9GOztBOEQ5dk9FO0VBQ0U7QzlEaXdPSjs7QThEOXZPRTtFQUNFO0M5RGl3T0o7O0E4RGx2T0U7RXhDV0E7RUFDQTtFZ0NpREU7RUFDQTtDdEQyck9KOztBR2htT1E7RTJEekpOO0lSNkRFO0lBQ0E7R3REaXNPRjtDQUNGOztBR3ZtT1E7RTJEekpOO0lSNkRFO0lBQ0E7R3REd3NPRjtDQUNGOztBOERud09JO0V2QzhGRjtFQTJDRTtFRjNIRTtFQUFBO0NyQjR2T047O0E4RHR3T0k7RXZDMEZGO0VBMkNFO0VGM0hFO0VBQUE7Q3JCbXdPTjs7QUc1bk9RO0UyRGpKSjtJdkMwRkY7SUEyQ0U7SUYzSEU7SUFBQTtHckIyd09KO0NBQ0Y7O0E4RC93T0k7RXZDbUZGO0VBMkNFO0VGM0hFO0VBQUE7Q3JCbXhPTjs7QUd2b09RO0UyRC9JSjtJdkNtRkY7SUEyQ0U7SUYzSEU7SUFBQTtHckIyeE9KO0NBQ0Y7O0FHcnBPUTtFMkQxSUo7SXZDbUZGO0lBMkNFO0lGM0hFO0lBQUE7R3JCb3lPSjtDQUNGOztBOEQ3eE9JO0V2Q3dFRjtFQTJDRTtFRjNIRTtFQUFBO0NyQjR5T047O0FHaHFPUTtFMkRwSUo7SXZDd0VGO0lBMkNFO0lGM0hFO0lBQUE7R3JCb3pPSjtDQUNGOztBRzlxT1E7RTJEL0hKO0l2Q3dFRjtJQTJDRTtJRjNIRTtJQUFBO0dyQjZ6T0o7Q0FDRjs7QThEenlPRTtFQUlFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtDOUR5eU9KOztBOER2eU9JO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0M5RDB5T047O0E4RHZ5T0k7RUFDRTtDOUQweU9OOztBOER2eU9JO0VBQ0U7QzlEMHlPTjs7QThEcnlPUTs7Ozs7RUFDRTtFQUNBO0M5RDR5T1Y7O0E4RHZ5T0k7RUFDRTtFQUNBO0VBQ0E7RUFJQTtFQUNBO0VBdUNBO0VBQ0E7RUFDQTtDOURpd09OOztBOER4eU9NO0VBQ0U7RUFDQTtDOUQyeU9SOztBOER6eU9RO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QzlENHlPVjs7QThEMXlPVTtFQUNFO0M5RDZ5T1o7O0E4RHh5T007RUFDRTtFQUNBO0M5RDJ5T1I7O0E4RHJ5T1U7Ozs7O0VBQ0U7RUFDQTtDOUQ0eU9aOztBOERqeU9FO0VBQ0U7RUFDQTtFQUlBO0VBRUE7QzlEbXlPSjs7QThEanlPSTtFQUNFO0VBYUE7RUFDQTtFQUNBO0M5RHd4T047O0E4RHJ5T007RUFDRTtFQUNBO0VBQ0E7QzlEd3lPUjs7QUdoeU9RO0UyRFhGO0lBTUk7SUFDQTtHOUQweU9SO0NBQ0Y7O0E4RGx5T0k7RUFDRTtFQUNBO0M5RHF5T047O0E4RG55T007RUFDRTtFQUNBO0M5RHN5T1I7O0E4RG55T007RUFDRTtDOURzeU9SOztBOERueU9NO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtDOURzeU9SOztBOERueU9NO0VBQ0U7RUFDQTtDOURzeU9SOztBOERseU9ROzs7OztFQUVFO0M5RHd5T1Y7O0FHcjBPUTtFNERoTEY7SUFDRTtHL0R5L09OO0NBQ0Y7O0ErRHIvT0U7RXpDdUJBO0VBQ0E7RWdDaURFO0VBQ0E7Q3REazdPSjs7QUd2MU9RO0U0RHJLTjtJVHlFRTtJQUNBO0d0RHc3T0Y7Q0FDRjs7QUc5MU9RO0U0RHJLTjtJVHlFRTtJQUNBO0d0RCs3T0Y7Q0FDRjs7QStEcmdQRTtFeEN5R0E7RUEyQ0U7RUYzSEU7RUFBQTtFMEN0QkY7RUFDQTtFQUNBO0MvRDBnUEo7O0ErRHhnUEk7RUFDRTtDL0QyZ1BOOztBK0R4Z1BJO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7Qy9EMmdQTjs7QStEeGdQSTtFQUNFO0MvRDJnUE47O0FHejNPUTtFNERyS047SXhDeUdBO0lBMkNFO0lGM0hFO0lBQUE7R3JCNmdQSjtDQUNGOztBR2w0T1E7RTREcktOO0lBMEJJO0lBQ0E7SXhDOEVKO0lBMkNFO0lGM0hFO0lBQUE7R3JCd2hQSjtDQUNGOztBK0RsaFBFO0V4Q3lFQTtFQTJDRTtFRjNIRTtFQUFBO0NyQmdpUE47O0ErRHZoUEk7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtDL0QwaFBOOztBK0R4aFBNO0VBQ0U7Qy9EMmhQUjs7QUdyNk9RO0U0RHJJTjtJeEN5RUE7SUEyQ0U7SUYzSEU7SUFBQTtHckJ5alBKO0NBQ0Y7O0FHOTZPUTtFNERySU47SXhDeUVBO0lBMkNFO0lGM0hFO0lBQUE7R3JCa2tQSjtDQUNGOztBK0RuaVBFO0V4Q2dEQTtFQTJDRTtFRjNIRTtFQUFBO0UwQ2tDRjtDL0R5aVBKOztBK0R0aVBNOzs7OztFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7Qy9ENmlQUjs7QStEM2lQUTs7Ozs7Ozs7OztFQUNFO0VBQ0E7Qy9EdWpQVjs7QUd6OU9RO0U0RDVHTjtJeENnREE7SUEyQ0U7SUYzSEU7SUFBQTtJQ1BKO0lBQ0E7SXlDNkRJO0cvRHlqUEo7O0UrRHZqUEc7SXhDdUJIO0lBMkNFO0lGM0hFO0lBQUE7R3JCdW5QSjtDQUNGOztBRzUrT1E7RTREbkZIO0l4Q3VCSDtJQTJDRTtJRjNIRTtJQUFBO0dyQmdvUEo7Q0FDRjs7QUdyL09RO0U0RG5GSDtJeEN1Qkg7SUEyQ0U7SUYzSEU7SUFBQTtHckJ5b1BKO0NBQ0Y7O0FnRW5yUEE7RUFFSTtFQUNBO0NoRXFyUEo7O0FHeGdQUTtFNkRoTFI7SUFNUTtJQUNBO0doRXVyUE47Q0FDRjs7QWdFcnJQSTtFQUNJO0NoRXdyUFI7O0FnRXByUEE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtDaEV1clBKOztBRzFoUFE7RTZEaktSO0lBT1E7SUFDQTtJQUNBO0lBQ0E7R2hFeXJQTjtDQUNGOztBZ0V2clBJO0VBQ0k7Q2hFMHJQUjs7QWdFenJQUTtFQUNBO0NoRTRyUFI7O0FHM2lQUTtFNkRsSkE7SUFJUTtHaEU4clBkO0NBQ0Y7O0FHampQUTtFNkRwSko7SUFXUTtHaEUrclBWO0NBQ0Y7O0FnRTVyUFk7RUFDSTtDaEUrclBoQjs7QWdFMXJQSTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7Q2hFNnJQUjs7QUd6a1BRO0U2RC9ISjtJQWNRO0lBQ0E7R2hFK3JQVjtDQUNGOztBZ0U3clBRO0VBQ0k7Q2hFZ3NQWjs7QWdFNXJQSTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0NoRStyUFI7O0FHOWxQUTtFNkR4R0o7SUFVUTtHaEVpc1BWO0NBQ0Y7O0FnRTdyUEE7RUFDSTtFQUNBO0VBQ0E7Q2hFZ3NQSjs7QUcxbVBRO0U2RHpGUjtJQUtRO0lBQ0E7SUFDQTtJQUNBO0doRW1zUE47Q0FDRjs7QWdFanNQSTtFQUNJO0VBQ0E7Q2hFb3NQUjs7QUd4blBRO0U2RDlFSjtJQUlRO0lBQ0E7SUFDQTtHaEV1c1BWO0NBQ0Y7O0FnRXBzUEk7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0NoRXVzUFI7O0FnRXBzUFk7RUFDSTtFQUNBO0NoRXVzUGhCOztBZ0Vsc1BJO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtDaEVxc1BSOztBZ0Vuc1BRO0VBQ0k7Q2hFc3NQWjs7QUdscVBRO0U2RGxESjtJQWtCUTtJQUNBO0lBQ0E7R2hFdXNQVjtDQUNGOztBZ0Vyc1BRO0VBQ0k7RUFDQTtDaEV3c1BaOztBRy9xUFE7RTZEM0JBO0lBSVE7SUFDQTtJQUNBO0lBQ0E7R2hFMnNQZDtDQUNGOztBZ0V0c1BBO0VBQ0k7RUFDQTtFQUNBO0NoRXlzUEo7O0FnRXRzUEE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0NoRXlzUEo7O0FnRXRzUEE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7Q2hFeXNQSjs7QWdFdHNQQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtDaEV5c1BKOztBaUU5NFBJO0VBQ0U7RUFDQTtDakVpNVBOOztBaUU5NFBJO0VBQ0U7Q2pFaTVQTjs7QWlFNzRQRTtFQUNFO0VBQ0E7Q2pFZzVQSjs7QWlFLzRQSTs7Ozs7RUFDRTtFQUNBO0NqRXM1UE47O0FpRXA1UE07Ozs7Ozs7Ozs7RUFDRTtFQUNBO0NqRWc2UFI7O0FrRXQ3UEE7RUFDRTtFQUVBO0NsRXc3UEY7O0FrRXQ3UEU7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtDbEV5N1BKOztBR3J4UFE7RStEM0tOO0lBVUk7R2xFMjdQSjtDQUNGOztBa0V4N1BFO0VBQ0U7RUFDQTtFQUNBO0NsRTI3UEo7O0FrRXo3UEk7RUFDRTtFQUNBO0VBQ0E7RTVDT0o7RUFDQTtFRE1JO0VBQUE7Q3JCazdQTjs7QWtFMzdQTTtFM0N5Rko7RUEyQ0U7RUYzSEU7RUFBQTtFNkNTRTtFQUNBO0VBRUE7Q2xFZzdQUjs7QWtFLzdQUTtFQUNFO0NsRWs4UFY7O0FHcHpQUTtFK0RySkY7STNDeUZKO0lBMkNFO0lGM0hFO0lBQUE7SUFBQTtHckJ5OFBKOztFa0VyOFBRO0lBQ0U7R2xFdzhQVjtDQUNGOztBa0VoOFBRO0VBQ0U7RUFDQTtFQUVBO0VBRUE7RUFDQTtFQUNBO0NsRWk4UFY7O0FrRS83UFU7RUFDRTtFQUNBO0NsRWs4UFo7O0FrRWg4UFk7Ozs7O0VBQ0U7Q2xFdThQZDs7QWtFcjhQYzs7Ozs7RUFDRTtFQUNBO0NsRTQ4UGhCOztBa0VuOFBFO0VBQ0U7RTVDbERGO0VBQ0E7RTRDbURFO0NsRXU4UEo7O0FrRXI4UEk7RTNDaUNGO0VBMkNFO0VGM0hFO0U2Q3FEQTtFQUVBO0VBQ0E7RUFFQTtFQUNBO0NsRW84UE47O0FrRWw4UE07RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0NsRXE4UFI7O0FrRW44UFE7RUFDRTtFQUNBO0VBQ0E7RUFDQTtDbEVzOFBWOztBa0VuOFBRO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7Q2xFczhQVjs7QWtFcDhQVTs7Ozs7RUFDRTtFQUNBO0VBQ0E7Q2xFMjhQWjs7QWtFejhQWTs7Ozs7RUFDRTtFQUNBO0NsRWc5UGQ7O0FHajZQUTtFK0R4Rko7STNDaUNGO0lBMkNFO0lGM0hFO0lBQUE7R3JCZ2pRSjtDQUNGOztBRzE2UFE7RStEbENKO0lBQ0U7R2xFZzlQSjtDQUNGOztBa0U1OFBBO0VBQ0U7RUFDQTtFQUNBO0NsRSs4UEY7O0FrRTc4UEU7RUFDRTtFQUNBO0NsRWc5UEo7O0FHdDdQUTtFK0RqQ1I7SUFXSTtHbEVpOVBGOztFa0UvOFBFO0lBQ0U7R2xFazlQSjtDQUNGOztBa0U5OFBBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0NsRWk5UEY7O0FrRS84UEU7RUFDRTtFQUNBO0NsRWs5UEo7O0FHdDlQUTtFK0RUUjtJQWlCSTtJQUNBO0lBQ0E7SUFDQTtHbEVtOVBGO0NBQ0Y7O0FtRS9vUUE7RUFDRTtDbkVrcFFGOztBbUVocFFFO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7Q25FbXBRSjs7QUd4K1BRO0VnRWxMTjtJQVVJO0lBQ0E7R25FcXBRSjtDQUNGOztBb0VocVFJO0U5QzhCRjtFQUNBO0VnQ2lERTtFQUNBO0N0RHNsUUo7O0FHMy9QUTtFaUU1S0o7SWRnRkE7SUFDQTtHdEQ0bFFGO0NBQ0Y7O0FHbGdRUTtFaUU1S0o7SWRnRkE7SUFDQTtHdERtbVFGO0NBQ0Y7O0FvRWpyUU07RUFDRTtFQUNBO0U3QytHTjtFQTJDRTtFRjNIRTtFQUFBO0NyQnlwUU47O0FHbGhRUTtFaUV4S0Y7STdDaUhKO0lBMkNFO0lGM0hFO0lBQUE7SStDMUJJO0lBQ0E7R3BFNHJRUjtDQUNGOztBb0UxclFRO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtDcEU2clFWOztBR3JpUVE7RWlFN0pBO0lBUUk7SUFDQTtHcEUrclFWO0NBQ0Y7O0FvRTdyUVE7RUFDRTtFQUNBO0NwRWdzUVY7O0FHampRUTtFaUVqSkE7SUFLSTtHcEVrc1FWO0NBQ0Y7O0FvRS9yUVE7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7Q3BFa3NRVjs7QW9FL3JRUTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7Q3BFa3NRVjs7QW9FaHNRVTtFQUNFO0VBQ0E7Q3BFbXNRWjs7QUd4a1FRO0VpRTdIRTtJQUtJO0dwRXFzUVo7Q0FDRjs7QUc5a1FRO0VpRXBJQTtJQWlCSTtJQUNBO0lBQ0E7R3BFc3NRVjtDQUNGOztBb0Voc1FNO0U3QzhDSjtFQTJDRTtFRjNIRTtFQUFBO0UrQ29DRTtFQUtBO0VBQ0E7Q3BFa3NRUjs7QW9FaHNRUTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0NwRW1zUVY7O0FvRWhzUVE7RUFDRTtFQUNBO0VBQ0E7Q3BFbXNRVjs7QW9FaHNRUTtFQUNFO0NwRW1zUVY7O0FvRWpzUVU7RUFDRTtDcEVvc1FaOztBb0Vqc1FROzs7OztFQUNFO0NwRXdzUVY7O0FvRXRzUVU7Ozs7O0VBQ0U7RUFDQTtDcEU2c1FaOztBRzNvUVE7RWlFckdGO0k3QzhDSjtJQTJDRTtJRjNIRTtJQUFBO0dyQjB4UUo7Q0FDRjs7QXFFbDBRRTtFQUNFO0NyRXEwUUo7O0FHbnBRUTtFa0VuTE47SUFJSTtHckV1MFFKO0NBQ0Y7O0FxRXIwUUk7RUFDRTtFQUNBO0NyRXcwUU47O0FHOXBRUTtFa0U1S0o7SUFLSTtJQUNBO0dyRTAwUU47Q0FDRjs7QXFFdjBRSTtFQUNFO0NyRTAwUU47O0FxRXgwUU07RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0NyRTIwUVI7O0FHdHJRUTtFa0UxSkY7SUFRSTtJQUNBO0dyRTYwUVI7Q0FDRjs7QXFFMTBRTTtFQUNFO0VBQ0E7RUFDQTtDckU2MFFSOztBcUUxMFFNO0VBQ0U7Q3JFNjBRUjs7QUdsc1FRO0VrRXhJRTtJQUNFO0lBQ0E7R3JFODBRVjtDQUNGOztBcUUzMFFROzs7OztFQUNFO0VBQ0E7RUFDQTtDckVrMVFWOztBR250UVE7RWtFbElBOzs7OztJQU1JO0lBQ0E7R3JFdzFRVjs7RXFFdDFRVTs7Ozs7SUFDRTtHckU2MVFaO0NBQ0Y7O0FxRTExUVU7Ozs7Ozs7Ozs7RUFDRTtFQUNBO0NyRXMyUVo7O0FHcHZRUTtFa0VsS0o7SUFzREk7R3JFcTJRTjtDQUNGOztBRzF2UVE7RWtFeEdKO0lBRUk7R3JFcTJRTjtDQUNGOztBcUUvMVFFOztFQUVFO0VBQ0E7Q3JFazJRSjs7QXNFMzdRQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtDdEU4N1FGOztBc0U1N1FFO0VBQ0U7Q3RFKzdRSjs7QUczeFFRO0VtRWhMUjtJQWdCSTtJQUNBO0lBQ0E7SUFDQTtHdEVnOFFGO0NBQ0Y7O0FzRTk3UUU7O0VBRUU7Q3RFaThRSjs7QXNFOTdRRTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtDdEVpOFFKOztBc0UvN1FJO0VBQ0U7RUFDQTtDdEVrOFFOOztBc0UvN1FJO0VBQ0U7Q3RFazhRTjs7QXNFOTdRRTtFQUNFO0N0RWk4UUo7O0FzRS83UUk7RUFDRTtFQUNBO0N0RWs4UU47O0FzRWg4UU07RUFDRTtDdEVtOFFSOztBc0UvN1FJO0VBQ0U7Q3RFazhRTjs7QXNFOTdRRTtFQUNFO0VBQ0E7Q3RFaThRSjs7QXNFLzdRSTtFQUNFO0VBQ0E7RUFDQTtDdEVrOFFOOztBc0VoOFFNO0VBQ0U7RUFDQTtDdEVtOFFSOztBdUU1Z1JBO0VBQ0k7RUFFQTtFQUNBO0VBQ0E7RUFDQTtDdkU4Z1JKOztBR3AyUVE7RW9FaExSO0lBU1E7SUFDQTtJQUNBO0d2RWdoUk47Q0FDRjs7QUc1MlFRO0VvRWhMUjtJQWVRO0lBQ0E7R3ZFa2hSTjtDQUNGOztBdUVoaFJJO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0N2RW1oUlI7O0FHNTNRUTtFb0U3Sko7SUFRUTtJQUNBO0lBQ0E7SUFDQTtHdkVzaFJWO0NBQ0Y7O0FHcjRRUTtFb0U3Sko7SUFlUTtJQUNBO0d2RXdoUlY7Q0FDRjs7QXVFdGhSUTtFQUNJO0VBQ0E7Q3ZFeWhSWjs7QXVFcmhSSTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtDdkV3aFJSOztBRzE1UVE7RW9FcElKO0lBU1E7SUFDQTtJQUNBO0lBQ0E7R3ZFMGhSVjtDQUNGOztBR242UVE7RW9FcElKO0lBZ0JRO0lBQ0E7R3ZFNGhSVjtDQUNGOztBdUV6aFJJOzs7OztFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0N2RWdpUlI7O0FHMzdRUTtFb0UvR0o7Ozs7O0lBWVE7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0d2RXVpUlY7Q0FDRjs7QXVFbmlSSTtFQXZGSjtJQXdGTTtHdkV1aVJKOztFdUVwaVJJO0lBQ0U7SUFDQTtHdkV1aVJOO0NBQ0Y7O0F1RW5pUkE7RUFDSTtFQUNBO0VBQ0E7Q3ZFc2lSSjs7QUczOVFRO0VvRTlFUjtJQU1RO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7R3ZFd2lSTjtDQUNGOztBR3grUVE7RW9FOUVSO0lBaUJRO0d2RTBpUk47Q0FDRjs7QXVFeGlSSTs7Ozs7RUFDSTtFQUNBO0N2RStpUlI7O0FHdi9RUTtFb0UxREo7Ozs7O0lBSVE7R3ZFc2pSVjtDQUNGOztBdUVsalJBO0VBQ0k7RUFDQTtDdkVxalJKOztBR3RnUlE7RW9FakRSO0lBSVE7SUFDQTtJQUNBO0lBQ0E7SUFDQTtHdkV3alJOOztFdUV2alJNO0lBQ0k7R3ZFMGpSVjtDQUNGOztBR3BoUlE7RW9FakRSO0lBZVE7SUFDQTtJQUNBO0d2RTJqUk47Q0FDRjs7QXVFempSSTtFQUNJO0VBQ0E7RUFDQTtDdkU0alJSOztBR2xpUlE7RW9FN0JKO0lBTVE7R3ZFOGpSVjtDQUNGOztBdUUzalJJO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7Q3ZFOGpSUjs7QUdyalJRO0VvRW5CSjtJQVlRO0lBQ0E7R3ZFaWtSVjtDQUNGOztBRzVqUlE7RW9FbkJKO0lBZ0JRO0lBQ0E7SUFDQTtHdkVva1JWO0NBQ0Y7O0F1RWxrUlE7RUFDSTtDdkVxa1JaOztBdUVwa1JZOzs7Ozs7Ozs7OztFQUNJO0VBQ0E7Q3ZFaWxSaEI7O0F1RTlrUlk7RUFDSTtDdkVpbFJoQjs7QXVFM2tSQTtFQUNJO0VBQ0E7Q3ZFOGtSSjs7QXVFM2tSQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7Q3ZFOGtSSjs7QUczbVJRO0VvRXFCUjtJQVdRO0lBQ0E7SUFDQTtHdkVnbFJOO0NBQ0Y7O0F1RTdrUkE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0N2RWdsUko7O0FHam9SUTtFb0VzQ1I7SUFhUTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7R3ZFbWxSTjtDQUNGOztBdUVobFJBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7Q3ZFbWxSSjs7QXVFbGxSSTtFQUNJO0VBQ0E7Q3ZFcWxSUjs7QUd4cFJRO0VvRTREUjtJQVdRO0lBQ0E7R3ZFc2xSTjtDQUNGOztBdUVubFJBO0VBQ0k7Q3ZFc2xSSjs7QUducVJRO0VvRTRFUjtJQUdRO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtHdkV5bFJOO0NBQ0Y7O0F1RXRsUkE7RUFDSTtFQUNBO0VBQ0E7Q3ZFeWxSSjs7QUdwclJRO0VvRXdGUjtJQU1RO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7R3ZFMmxSTjtDQUNGOztBdUV6bFJJO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtDdkU0bFJSOztBR3RzUlE7RW9FcUdKO0lBUVE7SUFDQTtJQUNBO0lBQ0E7SUFDQTtHdkU4bFJWO0NBQ0Y7O0F1RTFsUkE7RUFDSTtDdkU2bFJKOztBdUU1bFJJO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtDdkUrbFJSOztBRy90UlE7RW9Fd0hKO0lBV1E7SUFDQTtJQUNBO0d2RWltUlY7Q0FDRjs7QUd2dVJRO0VvRXdISjtJQWdCUTtJQUNBO0d2RW9tUlY7Q0FDRjs7QXVFbG1SSTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtDdkVxbVJSOztBR3Z2UlE7RW9FNElKO0lBU1E7SUFDQTtJQUNBO0d2RXVtUlY7Q0FDRjs7QUcvdlJRO0VvRTRJSjtJQWNRO0lBQ0E7R3ZFMG1SVjtDQUNGOztBdUV0bVJBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0N2RXltUko7O0F1RXhtUkk7RUFDSTtFQUNBO0N2RTJtUlI7O0FHMXhSUTtFb0VnS1I7SUFtQlE7SUFDQTtHdkU0bVJOO0NBQ0Y7O0FHanlSUTtFb0VnS1I7SUF5QlE7SUFDQTtJQUNBO0lBQ0E7SUFDQTtHdkU2bVJOO0NBQ0Y7O0F1RTFtUkE7RUFDSTtFQUNBO0VBQ0E7Q3ZFNm1SSjs7QUdqelJRO0VvRWlNUjtJQU1RO0d2RSttUk47Q0FDRjs7QUd2elJRO0VvRWlNUjtJQVNRO0d2RWtuUk47Q0FDRjs7QXVFL21SQTtFQUNJO0VBQ0E7Q3ZFa25SSjs7QUdsMFJRO0VvRThNUjtJQUlRO0lBQ0E7R3ZFcW5STjtDQUNGOztBR3owUlE7RW9FOE1SO0lBU1E7SUFDQTtJQUNBO0d2RXVuUk47Q0FDRjs7QXVFcm5SSTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtDdkV3blJSOztBdUV0blJRO0VBQ0k7RUFDQTtDdkV5blJaOztBRy8xUlE7RW9FNE5KO0lBY1E7R3ZFMG5SVjtDQUNGOztBR3IyUlE7RW9FNE5KO0lBa0JRO0lBQ0E7SUFDQTtHdkU0blJWO0NBQ0Y7O0F1RTFuUlE7RUF2Qko7SUF3QlE7SUFDQTtHdkU4blJWO0NBQ0Y7O0F1RTNuUkk7RUFDSTtFQUNBO0VBQ0E7RUFDQTtDdkU4blJSOztBRzMzUlE7RW9FeVBKO0lBTVE7R3ZFaW9SVjtDQUNGOztBdUU5blJJOzs7Ozs7Ozs7Ozs7Ozs7RUFDSTtDdkUrb1JSOztBR241UlE7RW9FbVFKOzs7Ozs7Ozs7Ozs7Ozs7SUFJUTtJQUNBO0d2RStwUlY7Q0FDRjs7QXVFN3BSUTs7Ozs7Ozs7Ozs7RUFDSTtFQUNBO0N2RTBxUlo7O0F1RXJxUkE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtDdkV3cVJKOztBRzk3UlE7RW9Fa1JSO0lBTVE7SUFDQTtJQUNBO0d2RTJxUk47Q0FDRjs7QUd0OFJRO0VvRWtSUjtJQVdRO0lBQ0E7R3ZFOHFSTjtDQUNGOztBdUUzcVJBO0VBQ0k7Q3ZFOHFSSjs7QUdqOVJRO0VvRWtTUjtJQUlRO0lBQ0E7SUFDQTtHdkVnclJOO0NBQ0Y7O0F1RTdxUlE7RUFDSTtDdkVnclJaOztBdUUxcVJJO0VBQ0Y7Q3ZFNnFSRjs7QXVFenFSUTtFQUNJO0VBQ0E7Q3ZFNHFSWjs7QXVFdHFSSTtFQUNGO0N2RXlxUkY7O0F1RXJxUlE7RUFDSTtFQUNBO0N2RXdxUlo7O0F1RWxxUkk7RUFDRjtDdkVxcVJGOztBdUVqcVJRO0VBQ0k7RUFDQTtDdkVvcVJaOztBdUU5cFJJO0VBQ0Y7Q3ZFaXFSRjs7QXVFN3BSUTtFQUNJO0VBQ0E7Q3ZFZ3FSWjs7QXVFMXBSSTtFQUNGO0N2RTZwUkY7O0F1RXpwUlE7RUFDSTtFQUNBO0N2RTRwUlo7O0F1RXZwUkE7RUFDSTtFQUNBO0VBQ0E7Q3ZFMHBSSjs7QUdoaFNRO0VvRW1YUjtJQU1RO0d2RTRwUk47Q0FDRjs7QUd0aFNRO0VvRW1YUjtJQVVRO0d2RThwUk47Q0FDRjs7QXVFNXBSSTtFQUNJO0tBQUE7Q3ZFK3BSUjs7QXVFNXBSSTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7Q3ZFK3BSUjs7QXVFNXBSSTs7RUFDSTtFQUNBO0N2RWdxUlI7O0FHOWlTUTtFb0U0WUo7O0lBSVE7R3ZFb3FSVjtDQUNGOztBR3JqU1E7RW9FNFlKOztJQVFRO0d2RXVxUlY7Q0FDRjs7QXVFcHFSSTtFQUNJO0VBQ0E7RUFDQTtDdkV1cVJSOztBR2xrU1E7RW9Fd1pKO0lBTVE7R3ZFeXFSVjtDQUNGOztBdUV0cVJJO0VBQ0k7RUFDQTtFQUNBO0N2RXlxUlI7O0F1RXJxUkE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtDdkV3cVJKOztBR3JsU1E7RW9FeWFSO0lBT1E7SUFDQTtHdkUwcVJOO0NBQ0Y7O0FHNWxTUTtFb0V5YVI7SUFZUTtHdkU0cVJOO0NBQ0Y7O0F1RXpxUkE7RUFDSTtFQUNBO0VBQ0E7Q3ZFNHFSSjs7QUd4bVNRO0VvRXliUjtJQUtRO0d2RStxUk47Q0FDRjs7QXVFMXFSSTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7Q3ZFNnFSUjs7QUd0blNRO0VvRW9jSjtJQVFRO0lBQ0E7SUFDQTtHdkUrcVJWO0NBQ0Y7O0FHOW5TUTtFb0VvY0o7SUFjUTtJQUNBO0d2RWlyUlY7Q0FDRjs7QXVFOXFSSTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7Q3ZFaXJSUjs7QXVFL3FSUTtFQUNJO0VBQ0E7Q3ZFa3JSWjs7QUdycFNRO0VvRXVkSjtJQWdCUTtJQUNBO0d2RW1yUlY7O0V1RWxyUlU7SUFDSTtHdkVxclJkO0NBQ0Y7O0FHaHFTUTtFb0V1ZEo7SUF3QlE7SUFDQTtJQUNBO0d2RXNyUlY7Q0FDRjs7QXVFbnJSSTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7Q3ZFc3JSUjs7QUdoclNRO0VvRXFmSjtJQVFRO0lBQ0E7SUFDQTtHdkV3clJWO0NBQ0Y7O0FHeHJTUTtFb0VxZko7SUFjUTtJQUNBO0d2RTByUlY7Q0FDRjs7QXVFdHJSQTtFQUNJO0VBQ0E7Q3ZFeXJSSjs7QXVFdHJSQTtFQUNJO0VBQ0E7Q3ZFeXJSSjs7QUd6c1NRO0VvRThnQlI7SUFJUTtHdkU0clJOO0NBQ0Y7O0F1RTFyUkk7Ozs7O0VBQ0k7RUFDQTtDdkVpc1JSOztBdUU5clJJO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0N2RWlzUlI7O0F1RS9yUlE7RUFDSTtDdkVrc1JaOztBR3h1U1E7RW9FMGhCSjtJQWdCUTtJQUNBO0d2RW1zUlY7Q0FDRjs7QUcvdVNRO0VvRTBoQko7SUFxQlE7SUFDQTtJQUNBO0lBQ0E7R3ZFcXNSVjtDQUNGOztBdUUvclJBO0VBQ0k7Q3ZFa3NSSjs7QUd2dlNRO0VvRW9qQlI7SUFHUTtHdkVxc1JOO0NBQ0Y7O0FHbHdTUTtFb0V5akJSO0lBTVE7R3ZFd3NSTjtDQUNGOztBdUVyc1JBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtDdkV3c1JKOztBR2h4U1E7RW9FbWtCUjtJQVFRO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7R3ZFMHNSTjs7RXVFeHNSTTtJQUNJO0lBQ0E7R3ZFMnNSVjtDQUNGOztBdUV2c1JBO0VBQ0k7Q3ZFMHNSSjs7QUc5eFNRO0VvRW1sQlI7SUFHUTtJQUNBO0lBQ0E7R3ZFNnNSTjtDQUNGOztBdUUxc1JBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0N2RTZzUko7O0F1RTNzUkk7RUFDSTtDdkU4c1JSOztBdUUzc1JJO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7Q3ZFOHNSUjs7QXVFM3NSSTtFQUNJO0VBQ0E7S0FBQTtFQUNBO0N2RThzUlI7O0FHbjBTUTtFb0U0bEJSO0lBNkJRO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0d2RStzUk47O0V1RTdzUk07SUFDSTtJQUNBO0lBQ0E7R3ZFZ3RSVjs7RXVFN3NSTTtJQUNJO0d2RWd0UlY7Q0FDRjs7QXVFNXNSQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0N2RStzUko7O0FHbjJTUTtFb0U2b0JSO0lBVVE7SUFDQTtHdkVpdFJOO0NBQ0Y7O0FHMTJTUTtFb0U2b0JSO0lBZVE7SUFDQTtHdkVtdFJOO0NBQ0Y7O0F1RWh0UkE7RUFDSTtDdkVtdFJKOztBdUVodFJBO0VBQ0k7Q3ZFbXRSSjs7QXVFaHRSQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0N2RW10Uko7O0F1RWp0Ukk7RUFDSTtFQUNBO0N2RW90UlI7O0FHMzRTUTtFb0V5cUJSO0lBa0JRO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7R3ZFcXRSTjs7RXVFbnRSTTtJQUNJO0d2RXN0UlY7Q0FDRjs7QXVFbHRSQTs7RUFDSTtDdkVzdFJKOztBdUVwdFJBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7Q3ZFdXRSSjs7QXVFcHRSQTtFQUNJO0VBQ0E7RUFDQTtDdkV1dFJKOztBdUVwdFJBO0VBQ0k7RUFDQTtFQUNBO0N2RXV0Uko7O0F1RXB0UkE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7Q3ZFdXRSSjs7QXVFcHRSQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7Q3ZFdXRSSjs7QUdyOFNRO0VvRXl1QlI7SUFRUTtJQUNBO0lBQ0E7R3ZFeXRSTjtDQUNGOztBdUV0dFJBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtDdkV5dFJKOztBdUV0dFJBO0VBQ0k7Q3ZFeXRSSjs7QUc5OVNRO0VvRW93QlI7SUFHUTtJQUNBO0d2RTR0Uk47Q0FDRjs7QXVFMXRSSTtFQUNJO0N2RTZ0UlI7O0F1RTF0Ukk7RUFDSTtDdkU2dFJSOztBRzcrU1E7RW9Fb3hCUjtJQUVRO0lBQ0E7SUFDQTtHdkU0dFJOO0NBQ0Y7O0F1RXp0UkE7RUFDSTtFQUNBO0N2RTR0Uko7O0FHMS9TUTtFb0U0eEJSO0lBSVE7R3ZFK3RSTjtDQUNGOztBR2hnVFE7RW9FNHhCUjtJQVFRO0lBQ0E7SUFDQTtJQUNBO0d2RWl1Uk47Q0FDRjs7QXVFOXRSQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7Q3ZFaXVSSjs7QUdqaFRRO0VvRTJ5QlI7SUFRUTtJQUNBO0lBQ0E7SUFDQTtHdkVtdVJOO0NBQ0Y7O0F1RWp1Ukk7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0N2RW91UlI7O0FHcmlUUTtFb0V5ekJKO0lBV1E7SUFDQTtHdkVzdVJWO0NBQ0Y7O0F1RW51Ukk7Ozs7O0VBQ0k7RUFDQTtFQUNBO0N2RTB1UlI7O0FHdGpUUTtFb0V5MEJKOzs7OztJQU1RO0lBQ0E7SUFDQTtJQUNBO0d2RWd2UlY7Q0FDRjs7QXVFNXVSQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0N2RSt1Uko7O0F1RTd1Ukk7RUFDSTtFQUNBO0VBQ0E7Q3ZFZ3ZSUjs7QXVFN3VSSTtFQUNJO0N2RWd2UlI7O0FHcGxUUTtFb0V1MUJSO0lBaUJRO0d2RWl2Uk47Q0FDRjs7QUcxbFRRO0VvRXUxQlI7SUFxQlE7R3ZFbXZSTjtDQUNGOztBdUVodlJBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7Q3ZFbXZSSjs7QXVFanZSSTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtDdkVvdlJSOztBR2huVFE7RW9FczNCSjtJQVNRO0lBQ0E7SUFDQTtJQUNBO0d2RXN2UlY7Q0FDRjs7QUd6blRRO0VvRXMzQko7SUFnQlE7SUFDQTtHdkV3dlJWO0NBQ0Y7O0F1RXJ2Ukk7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtDdkV3dlJSOztBR3JvVFE7RW9FczRCSjtJQVVNO0d2RTB2UlI7Q0FDRjs7QXdFaDBUQTs7dUN4RW8wVHNDOztBd0U5elR0QztFbEQ0QkU7RUFDQTtFZ0NpREU7RUFDQTtDdERzdlRKOztBRzNwVFE7RXFFMUtSO0lsQjhFSTtJQUNBO0d0RDR2VEY7Q0FDRjs7QUdscVRRO0VxRTFLUjtJbEI4RUk7SUFDQTtHdERtd1RGO0NBQ0Y7O0F3RTkwVEE7RWpEOEdFO0VBMkNFO0VGM0hFO0VBQUE7RW1ENUJMO0VBQ0E7Q3hFbzFURDs7QUc3cVRRO0VxRTFLUjtJQU1FO0lBQ0E7SUFDQTtHeEVzMVRBO0NBQ0Y7O0F3RW4xVEE7RWpEa0dFO0VBMkNFO0VGM0hFO0VBQUE7RW1EaEJMO0VBQ0E7RUFDQTtDeEV5MVREOztBRy9yVFE7RXFFOUpSO0lBT0U7R3hFMjFUQTtDQUNGOztBd0V2MVRDO0VqRHNGQztFQTJDRTtFRjNIRTtFQUFBO0NyQncxVE47O0FHNXNUUTtFcUVsSlA7SUFJRTtJQUNBO0lBQ0E7R3hFKzFURDtDQUNGOztBd0U1MVRDO0VqRDRFQztFQTJDRTtFRjNIRTtFQUFBO0NyQnUyVE47O0FHM3RUUTtFcUV4SVA7SUFJRTtHeEVvMlREO0NBQ0Y7O0F3RWgyVEE7RUFDQztFQUNBO0N4RW0yVEQ7O0F3RWgyVEE7RUFDQztFQUNBO0N4RW0yVEQ7O0F3RWgyVEE7RWxEOUJFO0VBQ0E7RWtEK0JEO0VBQ0E7Q3hFbzJURDs7QXdFLzFUQztFQUNDO0N4RWsyVEY7O0F3RS8xVEM7RUFDQztFQUNBO0N4RWsyVEY7O0F3RTUxVEE7O0VBRUM7RUFDQTtFQUNBO0VBQ0E7RUFDRztFQUNBO0VBQ0E7Q3hFKzFUSjs7QXdFNzFUSTs7RUFDQztFQUNHO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtDeEVpMlRSOztBd0U5MVRJOztFQUNDO0VBQ0c7RUFDQTtFQUNBO0VBQ0E7Q3hFazJUUjs7QXdFLzFUSTs7RUFDSTtDeEVtMlRSOztBd0UvMVRBO0VsRG5GRTtFQUNBO0VrRG9GRDtDeEVtMlREOztBd0VoMlRBO0VqRERFO0VBMkNFO0VGM0hFO0VBQUE7RW1EbUZMO0VBQ0E7RUFDQTtDeEVzMlREOztBd0VwMlRDO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0N4RXUyVEY7O0F3RXAyVEM7RUFDSTtDeEV1MlRMOztBd0VwMlRDO0VBQ0k7Q3hFdTJUTDs7QXdFcDJUQztFQUNDO0N4RXUyVEY7O0F3RXAyVEM7RUFDQztDeEV1MlRGOztBd0VuMlRBO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7Q3hFczJURDs7QXdFbjJUQTtFakR4Q0U7RUEyQ0U7RUYzSEU7RUFBQTtFbUQwSEw7Q3hFeTJURDs7QUd2MVRRO0VxRXBCUjtJQUtFO0d4RTIyVEE7Q0FDRjs7QXdFeDJUQTtFQUNDO0VBQ0E7RUFDQTtDeEUyMlREOztBR24yVFE7RXFFWFI7SUFNRTtHeEU2MlRBO0NBQ0Y7O0F3RTEyVEE7RUFDQztFQUNBO0VBQ0E7RUFDQTtDeEU2MlREOztBR2gzVFE7RXFFRFI7SUFPRTtHeEUrMlRBO0NBQ0Y7O0FHdDNUUTtFcUVXUDtJQUNDO0d4RSsyVEE7Q0FDRjs7QXdFNTJUQTtFQUNDO0VBQ0E7RUFDQTtDeEUrMlREOztBd0U3MlRDO0VBQ0M7Q3hFZzNURjs7QUd0NFRRO0VxRWdCUjtJQVVFO0lBQ0E7SUFDQTtHeEVpM1RBO0NBQ0Y7O0F3RTkyVEE7RUFDQztFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtDeEVpM1REOztBd0UvMlRDO0VBQ0M7RUFDQTtFQUNBO0N4RWszVEY7O0F3RWgzVEU7RUFDQztDeEVtM1RIOztBd0U5MlRBO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtDeEVpM1REOztBd0U5MlRBO0VBQ0M7RUFDQTtDeEVpM1REOztBd0U5MlRBO0VBQ0M7RUFDQTtDeEVpM1REOztBd0U5MlRFO0VBQ0M7Q3hFaTNUSDs7QXdFNzJUQztFQUNDO0N4RWczVEY7O0F3RTUyVEE7OztFQUdDO0VBQ0E7Q3hFKzJURDs7QXdFNTJUQTs7RUFFQztFQUNBO0N4RSsyVEQ7O0F3RTUyVEE7O0VBRUM7RUFDQTtDeEUrMlREOztBd0U1MlRBOztFQUVDO0VBQ0E7Q3hFKzJURDs7QXdFNTJUQTs7RUFFQztFQUNBO0N4RSsyVEQ7O0F3RTUyVEE7O0VBRUM7RUFDQTtDeEUrMlREOztBd0U1MlRBOztFQUVDO0VBQ0E7Q3hFKzJURDs7QXdFNTJUQTs7RUFFQztFQUNBO0N4RSsyVEQ7O0F3RTUyVEE7RUFDQztFQUNBO0VBQ0E7RUFDQTtFQUNBO0N4RSsyVEQ7O0F3RTcyVEM7RUFDQztFQUNBO0N4RWczVEY7O0F3RTUyVEE7RUFDQztFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0N4RSsyVEQ7O0F3RTcyVEM7O0VBRUM7Q3hFZzNURjs7QXdFNzJUQztFQUNDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0N4RWczVEY7O0F3RTcyVEM7RUFDQztDeEVnM1RGOztBd0U1MlRBO0VBQ0M7Q3hFKzJURDs7QXdFNTJUQTtFQUNDO0VBQ0E7RUFDQTtDeEUrMlREOztBd0U3MlRDO0VBQ0M7Q3hFZzNURjs7QXdFNTJUQTtFQUNDO0N4RSsyVEQ7O0FHamtVUTtFcUVpTlI7SUFJRTtHeEVpM1RBO0NBQ0Y7O0F3RTkyVEE7RUFDQztFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7Q3hFaTNURDs7QXdFOTJUQTtFQUNDO0VBQ0E7RUFDQTtDeEVpM1REOztBd0U5MlRBO0VBQ0M7Q3hFaTNURDs7QXdFOTJUQTs7RUFFQztFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0N4RWkzVEQ7O0FHcG1VUTtFcUV1UFA7SUFDQztHeEVpM1RBO0NBQ0Y7O0F3RTkyVEE7RUFDQztFQUNBO0VBQ0E7Q3hFaTNURDs7QXdFLzJUQztFQUNDO0N4RWszVEY7O0F3RTkyVEE7RUFDQztFQUNBO0N4RWkzVEQ7O0F3RTkyVEE7RUFDQztFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7Q3hFaTNURDs7QXdFLzJUQztFQUNDO0N4RWszVEY7O0F3RS8yVEM7RUFDQztDeEVrM1RGOztBd0UvMlRDO0VBQ0M7Q3hFazNURjs7QXdFOTJUQTtFQUNDO0VBQ0E7Q3hFaTNURDs7QXdFLzJUQztFQUNDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0N4RWszVEY7O0F3RS8yVEM7RUFDQztDeEVrM1RGOztBd0U5MlRBOztFQUVDO0VBQ0E7Q3hFaTNURDs7QXdFOTJUQTtFQUNDO0N4RWkzVEQ7O0F3RTkyVEE7RUFDQztDeEVpM1REOztBd0U5MlRBO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtDeEVpM1REOztBd0UvMlRDO0VBQ0M7Q3hFazNURjs7QXdFLzJUQztFQUNDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0N4RWszVEY7O0F3RTkyVEE7RUFDQztDeEVpM1REOztBd0UvMlRDO0VBQ0M7Q3hFazNURjs7QXdFLzJUQztFQUFzQjtDeEVtM1R2Qjs7QXdFbDNUQztFQUEwQjtDeEVzM1QzQjs7QXdFcjNUQztFQUFnQztDeEV5M1RqQzs7QXdFdDNUQTs7Ozs7RUFDQztFQUNBO0VBQ0E7RUFDQTtDeEU2M1REOztBd0UxM1RBOzs7OztFQUNDO0VBQ0E7Q3hFaTRURDs7QUd0dlVRO0VxRTBYUDtJQUNDO0d4RWc0VEE7O0V3RTUzVEQ7SUFDQztJQUNBO0d4RSszVEE7O0V3RTMzVEQ7SUFDQztHeEU4M1RBO0NBQ0Y7O0F3RTEzVEE7O3NDeEU4M1RxQzs7QXdFMTNUckM7RWxEbGlCRTtFQUNBO0VrRG1pQkQ7RUFDQTtFQUNBO0VBQ0E7RUFDQTtDeEU4M1REOztBR254VVE7RXFFK1lSO0lBU0U7SUFDQTtJQUNBO0lBQ0E7R3hFZzRUQTtDQUNGOztBd0U1M1RBO0VBQ0M7RUFDRztFQUNBO0N4RSszVEo7O0F3RTczVEk7RUFDSTtFQUNBO0N4RWc0VFI7O0F3RTczVEk7RUFDSTtFQUNBO0N4RWc0VFI7O0FHNXlVUTtFcUVnYVI7SUFnQks7SUFDQTtHeEVpNFRIO0NBQ0Y7O0F3RTkzVEE7RWpEamZFO0VBMkNFO0VGM0hFO0VBQUE7RW1EbWtCTDtFQUNBO0VBQ0E7RUFDQTtFQUNBO0N4RW80VEQ7O0F3RWw0VEM7RUFDQztDeEVxNFRGOztBR24wVVE7RXFFcWJSO0lBYUU7SUFDQTtJQUNBO0lBQ0E7SUFDQTtHeEVzNFRBO0NBQ0Y7O0F3RW40VEE7RWpEdGdCRTtFQTJDRTtFRjNIRTtFQUFBO0VtRHdsQkw7RUFDQTtDeEV5NFREOztBR3QxVVE7RXFFMGNSO0lBTUU7SWpENWdCQTtJQTJDRTtJRjNIRTtJQUFBO0dyQjIrVUo7O0V3RTU0VEE7SUFDQztJQUNBO0d4RSs0VEQ7O0V3RTc0VEE7Ozs7O0lBQ0M7R3hFbzVURDtDQUNGOztBd0VoNVRBO0VBQ0M7RUFDQTtDeEVtNVREOztBd0VoNVRBO0VsRHJuQkU7RUFDQTtFa0RzbkJEO0VBQ0E7RUFDQTtDeEVvNVREOztBRzEzVVE7RXFFa2VSO0lBT0U7R3hFczVUQTtDQUNGOztBd0VuNVRBO0VqRHppQkU7RUEyQ0U7RUYzSEU7RUFBQTtDckJtaFZOOztBd0V0NVRBO0VqRDdpQkU7RUEyQ0U7RUYzSEU7RUFBQTtFbUQrbkJMO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7Q3hFNDVURDs7QUduNVVRO0VxRTJmUDtJQUNDO0d4RTQ1VEE7Q0FDRjs7QXdFejVUQTtFQUNDO0VBQ0E7RUFDQTtFQUNBO0N4RTQ1VEQ7O0F3RTE1VEM7RUFDQztDeEU2NVRGOztBd0V6NVRBO0VBQ0M7RUFDQTtDeEU0NVREOztBd0V6NVRBO0VBQ0M7Q3hFNDVURDs7QXdFMTVUQztFQUNDO0VBQ0E7Q3hFNjVURjs7QXdFMzVURTtFQUNDO0N4RTg1VEg7O0F3RXo1VEE7O0d4RTY1VEU7O0F3RXg1VEQ7O0VBQ0M7Q3hFNDVURjs7QXdFMzVURTs7RUFDRTtDeEUrNVRKOztBd0U1NVRFOztFQUNFO0N4RWc2VEo7O0F5RTluVkE7RUFDSTtFQUNBO0VBQ0E7Q3pFaW9WSjs7QUdwOVVRO0VzRWhMUjtJQU1RO0lBQ0E7R3pFbW9WTjtDQUNGOztBeUVob1ZBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7Q3pFbW9WSjs7QXlFaG9WQTtFQUNJO0VBQ0E7RUFDQTtDekVtb1ZKOztBR3grVVE7RXNFOUpSO0lBTVE7SUFDQTtJQUNBO0d6RXFvVk47Q0FDRjs7QXlFbm9WSTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtDekVzb1ZSOztBeUVub1ZJO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtLQUFBO0N6RXNvVlI7O0F5RWxvVkE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7Q3pFcW9WSjs7QUcxZ1ZRO0VzRWpJUjtJQVFRO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7R3pFd29WTjtDQUNGOztBeUV0b1ZJO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7Q3pFeW9WUjs7QUdqaVZRO0VzRWxISjtJQWFRO0lBQ0E7R3pFMm9WVjtDQUNGOztBeUV4b1ZJO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0N6RTJvVlI7O0FHampWUTtFc0VoR0o7SUFRUTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0d6RThvVlY7Q0FDRjs7QXlFNW9WSTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtDekUrb1ZSOztBR3BrVlE7RXNFakZKO0lBUVE7R3pFa3BWVjtDQUNGOztBeUU5b1ZBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtDekVpcFZKOztBR2xsVlE7RXNFcEVSO0lBUVE7SUFDQTtHekVtcFZOO0NBQ0Y7O0F5RWhwVkE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtDekVtcFZKOztBR2htVlE7RXNFdkRSO0lBT1E7SUFDQTtHekVxcFZOO0NBQ0Y7O0F5RWxwVkE7RUFDSTtFQUNBO0VBQ0E7Q3pFcXBWSjs7QUc3bVZRO0VzRTNDUjtJQU1RO0lBQ0E7SUFDQTtHekV1cFZOO0NBQ0Y7O0F5RXJwVkk7RUFDSTtDekV3cFZSOztBeUVwcFZBO0VBQ0k7RUFDQTtFQUNBO0N6RXVwVko7O0F5RXJwVkk7RUFDSTtFQUNBO0N6RXdwVlI7O0F5RXBwVkE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7Q3pFdXBWSjs7QXlFcHBWQTtFQUNJO0VBQ0E7RUFDQTtDekV1cFZKOztBeUVwcFZBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7Q3pFdXBWSjs7QUcxcFZRO0VzRURSO0lBT1E7SUFDQTtJQUNBO0d6RXlwVk47Q0FDRjs7QXlFdnBWSTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0N6RTBwVlI7O0FHNXFWUTtFc0VXSjtJQVVRO0lBQ0E7SUFDQTtHekU0cFZWO0NBQ0Y7O0F5RXpwVkk7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7Q3pFNHBWUjs7QUc3clZRO0VzRTJCSjtJQVNRO0lBQ0E7R3pFOHBWVjtDQUNGOztBeUUzcFZJO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7Q3pFOHBWUjs7QUczc1ZRO0VzRXlDSjtJQU1RO0d6RWlxVlY7Q0FDRjs7QXlFL3BWUTtFQUNJO0VBQ0E7Q3pFa3FWWjs7QUd0dFZRO0VzRWtEQTtJQUlRO0lBQ0E7SUFDQTtHekVxcVZkO0NBQ0Y7O0F5RWxxVlE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7Q3pFcXFWWjs7QUd2dVZRO0VzRTREQTtJQVNRO0lBQ0E7R3pFdXFWZDtDQUNGOztBeUVwcVZRO0VBQ0k7RUFDQTtDekV1cVZaOztBR252VlE7RXNFMEVBO0lBSVE7SUFDQTtHekUwcVZkO0NBQ0Y7O0F5RXpxVlk7RUFDSTtDekU0cVZoQjs7QXlFdHFWQTtFQUNJO0VBQ0E7Q3pFeXFWSjs7QUdud1ZRO0VzRXdGUjtJQUtRO0lBQ0E7SUFDQTtHekUycVZOO0NBQ0Y7O0F5RXhxVkE7RUFDSTtFQUNBO0N6RTJxVko7O0FHaHhWUTtFc0VtR1I7SUFLUTtJQUNBO0lBQ0E7SUFDQTtHekU2cVZOO0NBQ0Y7O0F5RTFxVkE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtDekU2cVZKOztBR3R5VlE7RXNFK0dSO0lBYVE7SUFDQTtJQUNBO0d6RStxVk47O0V5RTdxVk07SUFDSTtHekVnclZWOztFeUU5cVZNO0lBQ0k7R3pFaXJWVjs7RXlFL3FWTTtJQUNJO0d6RWtyVlY7O0V5RWhyVk07SUFDSTtHekVtclZWO0NBQ0Y7O0F5RWhyVkk7RUFDSTtDekVtclZSOztBR2wwVlE7RXNFOElKO0lBR1E7SUFDQTtHekVzclZWO0NBQ0Y7O0F5RWxyVkE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0N6RXFyVko7O0F5RWxyVkE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtDekVxclZKOztBeUVsclZBO0VBQ0k7T0FBQTtDekVxclZKOztBeUVuclZJO0VBQ0k7T0FBQTtDekVzclZSOztBeUVwclZJO0VBQ0k7T0FBQTtDekV1clZSOztBRzEyVlE7RXNFa0xKO0lBR1E7U0FBQTtHekUwclZWO0NBQ0Y7O0F5RXRyVlE7O0VBQ0k7Q3pFMHJWWjs7QXlFcnJWQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO09BQUE7Q3pFd3JWSjs7QXlFcnJWQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0N6RXdyVko7O0F5RXZyVkk7RUFDSTtDekUwclZSOztBeUV0clZBO0VBQ0k7Q3pFeXJWSjs7QXlFdnJWSTs7Ozs7Ozs7Ozs7RUFDSTtDekVvc1ZSOztBeUVuc1ZROzs7Ozs7Ozs7OztFQUNJO0VBQ0E7Q3pFZ3RWWjs7QXlFenNWSTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7Q3pFNHNWUjs7QUc1N1ZRO0VzRTJPSjtJQU9RO0lBQ0E7R3pFK3NWVjtDQUNGOztBeUUzc1ZRO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0N6RThzVlo7O0F5RTdzVlk7RUFDSTtDekVndFZoQjs7QUdoOVZRO0VzRXdQQTtJQVlRO0d6RWl0VmQ7Q0FDRjs7QXlFN3NWWTtFQUNJO0VBQ0E7RUFDQTtDekVndFZoQjs7QXlFN3NWWTtFQUNJO0VBQ0E7Q3pFZ3RWaEI7O0FHaitWUTtFc0UrUUk7SUFLUTtJQUNBO0lBQ0E7SUFDQTtHekVrdFZsQjtDQUNGOztBeUVqdFZnQjtFQUNJO0N6RW90VnBCOztBeUVsdFZnQjtFQUNJO0VBQ0E7Q3pFcXRWcEI7O0F5RS9zVkk7RUFDSTtDekVrdFZSOztBeUUvc1ZJO0VBQ0k7Q3pFa3RWUjs7QXlFOXNWQTtFQUNJO0VBQ0E7Q3pFaXRWSjs7QXlFOXNWQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7Q3pFaXRWSjs7QUc5Z1dRO0VzRWtUUjtJQWNRO0lBQ0E7R3pFbXRWTjtDQUNGOztBeUVqdFZJO0VBQ0Y7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0N6RW90VkY7O0F5RWp0Vkk7RUFDSTtFQUNBO0VBQ0E7Q3pFb3RWUjs7QXlFL3NWSTtFQUNJO0N6RWt0VlI7O0F5RS9zVkk7RUFDSTtDekVrdFZSOztBeUVqdFZROztFQUNJO0N6RXF0Vlo7O0F5RS9zVkk7RUFDSTtDekVrdFZSOztBeUUvc1ZJO0VBQ0k7Q3pFa3RWUjs7QXlFanRWUTs7RUFDSTtDekVxdFZaOztBeUUvc1ZJO0VBQ0k7Q3pFa3RWUjs7QXlFL3NWSTtFQUNJO0N6RWt0VlI7O0F5RWp0VlE7O0VBQ0k7Q3pFcXRWWjs7QXlFL3NWSTtFQUNJO0N6RWt0VlI7O0F5RS9zVkk7RUFDSTtDekVrdFZSOztBeUVqdFZROztFQUNJO0N6RXF0Vlo7O0F5RS9zVkk7RUFDSTtDekVrdFZSOztBeUUvc1ZJO0VBQ0k7Q3pFa3RWUjs7QXlFanRWUTs7RUFDSTtDekVxdFZaOztBeUUvc1ZJO0VBQ0k7Q3pFa3RWUjs7QXlFL3NWSTtFQUNJO0N6RWt0VlI7O0F5RWp0VlE7O0VBQ0k7Q3pFcXRWWjs7QXlFL3NWSTtFQUNJO0N6RWt0VlI7O0F5RS9zVkk7RUFDSTtDekVrdFZSOztBeUVqdFZROztFQUNJO0N6RXF0Vlo7O0F5RS9zVkk7RUFDSTtDekVrdFZSOztBeUUvc1ZJO0VBQ0k7Q3pFa3RWUjs7QXlFanRWUTs7RUFDSTtDekVxdFZaOztBeUUvc1ZJO0VBQ0k7RUFDQTtDekVrdFZSOztBR3BwV1E7RXNFZ2NKO0lBSVE7R3pFcXRWVjtDQUNGOztBeUVqdFZBO0VBQ0k7RUFDQTtDekVvdFZKOztBRy9wV1E7RXNFeWNSO0lBSVE7SUFDQTtJQUNBO0lBQ0E7R3pFdXRWTjs7RXlFdHRWTTtJQUNJO0d6RXl0VlY7Q0FDRjs7QXlFcnRWQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7Q3pFd3RWSjs7QXlFdnRWSTtFQUNJO0VBQ0E7Q3pFMHRWUjs7QUd6cldRO0VzRXVkUjtJQVdRO0lBQ0E7SUFDQTtJQUNBO0d6RTR0Vk47O0V5RTF0Vk07SUFDSTtJQUNBO0d6RTZ0VlY7Q0FDRjs7QXlFMXRWSTs7RUFDSTtDekU4dFZSOztBRzVzV1E7RXNFb2ZBOztJQUNJO0d6RTZ0VlY7O0V5RTF0Vk07SUFDSTtHekU2dFZWO0NBQ0Y7O0FHbHRXUTtFc0V5ZkE7SUFDSTtHekU2dFZWOztFeUUzdFZNO0lBQ0k7R3pFOHRWVjtDQUNGOztBRzV0V1E7RXNFa2dCQTtJQUNJO0d6RTh0VlY7O0V5RTV0Vk87SUFDRztHekUrdFZWO0NBQ0Y7O0F5RTN0VkE7RUFDSTtFQUNBO0N6RTh0Vko7O0F5RTN0VkE7RUFDSTtDekU4dFZKOztBeUU1dFZJO0VBQ0k7Q3pFK3RWUjs7QXlFM3RWQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0N6RTh0Vko7O0F5RTV0Vkk7O0VBRUk7RUFDQTtDekUrdFZSOztBR3J3V1E7RXNFNmhCUjtJQWFRO0lBQ0E7SUFDQTtJQUNBO0d6RWd1Vk47Q0FDRjs7QXlFN3RWQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7Q3pFZ3VWSjs7QXlFOXRWSTs7RUFDSTtFQUNBO0VBQ0E7RUFDQTtDekVrdVZSOztBRzl4V1E7RXNFK2pCSjtJQUVRO0d6RWt1VlY7Q0FDRjs7QXlFL3RWSTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0N6RWt1VlI7O0FHdHlXUTtFc0Vna0JKO0lBT1E7SUFDQTtJQUNBO0d6RW91VlY7Q0FDRjs7QXlFanVWSTtFQUNJO0N6RW91VlI7O0FHbHpXUTtFc0U0aUJSO0lBc0NRO0lBQ0E7SUFDQTtHekVxdVZOO0NBQ0Y7O0F5RWx1VkE7RUFDSTtFQUNBO0VBQ0E7Q3pFcXVWSjs7QXlFbHVWQTtFQUNJO0VBQ0E7Q3pFcXVWSjs7QXlFbHVWQTtFQUNJO0VBQ0E7RUFDQTtDekVxdVZKOztBR2gxV1E7RXNFd21CUjtJQU1RO0d6RXV1Vk47Q0FDRjs7QUdqMVdRO0VzRW1tQlI7SUFVUTtHekV5dVZOO0NBQ0Y7O0F5RXR1VkE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtDekV5dVZKOztBeUV0dVZBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0N6RXl1Vko7O0F5RXR1VkE7O0VBQ0k7RUFDQTtFQUNBO0VBQ0E7Q3pFMHVWSjs7QXlFdnVWQTtFQUNJO0VBQ0E7Q3pFMHVWSjs7QXlFdnVWQTtFQUNJO0N6RTB1Vko7O0F5RXR1Vkk7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtDekV5dVZSOztBR3Y0V1E7RXNFdXBCSjtJQVVRO0d6RTJ1VlY7Q0FDRjs7QXlFenVWUTtFQUNJO0VBQ0E7Q3pFNHVWWjs7QXlFenVWUTtFQUNJO0N6RTR1Vlo7O0EwRXRrWEE7O0FBRUE7RUFDQztDMUV5a1hEOztBMEV4a1hDOzs7OztFQUNDO0VBQ0E7QzFFK2tYRjs7QTBFN2tYRTs7Ozs7Ozs7OztFQUVDO0VBQ0E7QzFFd2xYSDs7QTBFbmxYQTtFQUNDO0VBQ0E7RUFJQTtDMUVzbFhEOztBMEVwbFhDO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7QzFFdWxYRjs7QTBFcmxYRTtFQUNDO0VBQ0E7QzFFd2xYSDs7QTBFcmxYRTtFQUNDO0VBQ0E7RUFDQTtFQUVBO0VBQ0E7QzFFdWxYSDs7QTBFcmxYRztFQUNDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QzFFd2xYSjs7QUd4OVdRO0V1RXJJTDtJQVFFO0lBQ0E7RzFFMGxYSDtDQUNGOztBMEV0bFhFO0VwRHZCQTtFQUNBO0VnQ2lERTtFQUNBO0N0RGlrWEo7O0FHdCtXUTtFdUV2SE47SXBCMkJFO0lBQ0E7R3REdWtYRjtDQUNGOztBRzcrV1E7RXVFdkhOO0lwQjJCRTtJQUNBO0d0RDhrWEY7Q0FDRjs7QTBFdG1YRztFbkQyREQ7RUEyQ0U7RUYzSEU7RUFBQTtFcUR3QkY7RUFDQTtDMUUybVhKOztBMEV6bVhJO0VBQ0M7QzFFNG1YTDs7QUdqZ1hRO0V1RWxITDtJbkQyREQ7SUEyQ0U7SUYzSEU7SUFBQTtHckJncFhKOztFMEU5bVhHO0lBQ0M7RzFFaW5YSjtDQUNGOztBRzlnWFE7RXVFbEhMO0luRDJERDtJQTJDRTtJRjNIRTtJQUFBO0dyQjZwWEo7O0UwRW5uWEc7SUFDQztJQUNBO0cxRXNuWEo7O0UwRW5uWEc7SUFDQztHMUVzblhKO0NBQ0Y7O0EwRWxuWEk7RUFDQztFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtDMUVxblhMOztBMEVsblhJOzs7OztFQUNDO0MxRXluWEw7O0EwRXZuWEs7Ozs7Ozs7Ozs7RUFDQztFQUNBO0MxRW1vWE47O0EyRWh2WEE7O0FBRUE7RUFDQztFQUNBO0MzRW12WEQ7O0EyRWh2WEE7RXJEMkJFO0VBQ0E7RWdDaURFO0VBQ0E7Q3REeXFYSjs7QUc5a1hRO0V3RXpLUjtJckI2RUk7SUFDQTtHdEQrcVhGO0NBQ0Y7O0FHcmxYUTtFd0V6S1I7SXJCNkVJO0lBQ0E7R3REc3JYRjtDQUNGOztBMkVod1hBO0VwRDZHRTtFQTJDRTtFRjNIRTtFQUFBO0VzRDNCTDtDM0Vzd1hEOztBMkVwd1hDO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7RUFDQTtDM0V1d1hGOztBR3ZtWFE7RXdFcktQO0lBUUc7SUFDQTtHM0V5d1hGO0NBQ0Y7O0EyRXR3WEM7RUFDQztDM0V5d1hGOztBR3ZuWFE7RXdFcEtSO0lwRDZHRTtJQTJDRTtJRjNIRTtJQUFBO0lzRE5KO0lBQ0E7RzNFNndYQTtDQUNGOztBR2xvWFE7RXdFcEtSO0lBNEJFO0czRSt3WEE7Q0FDRjs7QTJFNXdYQTtFcEQ2RUU7RUEyQ0U7RUYzSEU7RUFBQTtDckJzeFhOOztBMkVoeFhDO0VBQ0M7RUFDQTtDM0VteFhGOztBR3BwWFE7RXdFcElSO0lwRDZFRTtJQTJDRTtJRjNIRTtJQUFBO0lzRGFKO0lBQ0E7RzNFdXhYQTtDQUNGOztBMkVueFhBOztBQUVBO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0MzRXN4WEQ7O0EyRXB4WEM7RUFDQztFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QzNFdXhYRjs7QUd0clhRO0V3RWxIUjtJQXFCRTtHM0V3eFhBOztFMkV0eFhBO0lBQ0M7RzNFeXhYRDtDQUNGOztBMkVyeFhBO0VyRHpERTtFQUNBO0N0QmsxWEY7O0EyRXR4WEE7RXBEMEJFO0VBMkNFO0VGM0hFO0VBQUE7RXNEd0RMO0VBQ0E7RUFDQTtDM0U0eFhEOztBMkUxeFhDO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtDM0U2eFhGOztBMkUzeFhFO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QzNFOHhYSDs7QUcxdVhRO0V3RWpGUjtJcEQwQkU7SUEyQ0U7SUYzSEU7SUFBQTtJc0R5Rko7SUFDQTtJQUNBO0lBQ0E7SUFDQTtHM0VpeVhBO0NBQ0Y7O0EyRTl4WEE7RXBEakJFO0VBMkNFO0VGM0hFO0VBQUE7RXNEbUdMO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0MzRW95WEQ7O0FHdHdYUTtFd0V0Q1I7SXBEakJFO0lBMkNFO0lGM0hFO0lBQUE7SXNENkdKO0czRXl5WEE7Q0FDRjs7QTJFdHlYQTtFQUNDO0MzRXl5WEQ7O0EyRXZ5WEM7RUFDQztFQUNBO0VBQ0E7RUFDQTtFQUNBO0MzRTB5WEY7O0EyRXR5WEE7RUFDQztFQUVBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QzNFd3lYRDs7QTJFcnlYSTtFQWhCSjtJQWlCUTtHM0V5eVhOO0NBQ0Y7O0EyRXZ5WEM7RUFDQztDM0UweVhGOztBMkV0eVhBO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0MzRXl5WEQ7O0EyRXR5WEE7RUFDQztDM0V5eVhEOztBMkV0eVhBO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7RUFDQTtDM0V5eVhEOztBMkV2eVhDO0VBQ0M7QzNFMHlYRjs7QTJFdHlYQTtFQUNDO0VBQ0E7RUFDQTtDM0V5eVhEOztBMkV0eVhBO0VyRDVMRTtFQUNBO0N0QnMrWEY7O0EyRXh5WEM7RXBEeEdDO0VBMkNFO0VGM0hFO0VBQUE7Q3JCdStYTjs7QTJFNXlYRTtFQUNDO0VBQ0E7QzNFK3lYSDs7QUdoMlhRO0V3RTRDUDtJcER4R0M7SUEyQ0U7SUYzSEU7SUFBQTtHckJvL1hKO0NBQ0Y7O0EyRWh6WEM7RUFDQztDM0VtelhGOztBMkVoelhDO0VBQ0M7RUFDQTtDM0VtelhGOztBMkUveVhBO0VBQ0M7RUFDQTtDM0VrelhEOztBT240WEU7O0VBRUU7RUFDQTtFQUdFO0VBQ0E7Q1BvNFhOOztBT2g0WEU7RUFDRTtDUG00WEo7O0EyRXh6WEM7O0VBRUM7RUFDQTtFQUNBO0VBQ0E7QzNFMnpYRjs7QTJFeHpYQztFQUNDO0VBQ0E7RUFDQTtDM0UyelhGOztBMkVyelhBOztBQUVBO0VBQ0M7RUFDQTtFQUNBO0MzRXd6WEQ7O0EyRXJ6WEE7RXJEdlBFO0VBQ0E7RWdDaURFO0VBQ0E7Q3REZ2dZSjs7QUdyNlhRO0V3RXlHUjtJckJyTUk7SUFDQTtHdERzZ1lGO0NBQ0Y7O0FHNTZYUTtFd0V5R1I7SXJCck1JO0lBQ0E7R3RENmdZRjtDQUNGOztBMkVyMFhBO0VwRHJLRTtFQTJDRTtFRjNIRTtFQUFBO0VzRHVQTDtFQUNBO0VBQ0E7QzNFMjBYRDs7QUc3N1hRO0V3RThHUjtJcERyS0U7SUEyQ0U7SUYzSEU7SUFBQTtHckI0a1lKO0NBQ0Y7O0EyRTcwWEE7RXBEaExFO0VBMkNFO0VGM0hFO0VBQUE7Q3JCb2xZTjs7QUc3OFhRO0V3RXlIUjtJcERoTEU7SUEyQ0U7SUYzSEU7SUFBQTtHckI0bFlKO0NBQ0Y7O0EyRXIxWEE7RXJEL1FFO0VBQ0E7RWdDaURFO0VBQ0E7RXFCK05IO0MzRTAxWEQ7O0FHOTlYUTtFd0VpSVI7SXJCN05JO0lBQ0E7R3REK2pZRjtDQUNGOztBR3IrWFE7RXdFaUlSO0lyQjdOSTtJQUNBO0d0RHNrWUY7Q0FDRjs7QUd2K1hRO0V3RTRIUjtJckI3Tkk7SUFDQTtHdEQ2a1lGO0NBQ0Y7O0FHbi9YUTtFd0VpSVI7SXJCN05JO0lBQ0E7R3REb2xZRjtDQUNGOztBRzEvWFE7RXdFaUlSO0lyQjdOSTtJQUNBO0d0RDJsWUY7Q0FDRjs7QTJFdDNYQTtFcERsTUU7RUEyQ0U7RUYzSEU7RUFBQTtFc0RvUkw7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QzNFNDNYRDs7QTJFMTNYQztFQUNDO0VBQ0E7QzNFNjNYRjs7QUcvZ1lRO0V3RXNJUjtJcERsTUU7SUEyQ0U7SUYzSEU7SUFBQTtHckJtcVlKO0NBQ0Y7O0EyRTkzWEE7O0VBRUM7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtDM0VpNFhEOztBMkUvM1hDOztFQUNDO0VBQ0E7QzNFbTRYRjs7QTJFLzNYQTtFQUNDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtDM0VrNFhEOztBMkUvM1hBO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7QzNFazRYRDs7QTJFaDRYQztFQUNDO0MzRW00WEY7O0FHemtZUTtFd0UrTFI7SUFXRTtHM0VvNFhBO0NBQ0Y7O0FHL2tZUTtFd0UrTFI7SUFlRTtHM0VzNFhBO0NBQ0Y7O0EyRW40WEE7RUFDQztFQUNBO0VBQ0E7RUFDQTtDM0VzNFhEOztBMkVuNFhBO0VBQ0M7QzNFczRYRDs7QTJFbjRYQTtFQUNDO0MzRXM0WEQ7O0EyRW40WEE7RUFDQztFQUNBO0MzRXM0WEQ7O0EyRW40WEE7RUFDQztDM0VzNFhEOztBMkVwNFhDOztFQUVDO0VBQ0E7RUFDQTtFQUNBO0MzRXU0WEY7O0FHaG5ZUTtFd0VvT1A7O0lBUUc7SUFDQTtHM0UwNFhGO0NBQ0Y7O0EyRXY0WEM7RUFDQztFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QzNFMDRYRjs7QTJFdjRYQztFQUNDO0MzRTA0WEY7O0EyRXY0WEM7RUFDQztDM0UwNFhGOztBMkV0NFhBO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0MzRXk0WEQ7O0EyRXY0WEM7RUFDQztFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtDM0UwNFhGOztBMkV2NFhDOztFQUVDO0VBQ0E7QzNFMDRYRjs7QTJFdjRYQztFQUNDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQztFQUNBO0MzRTA0WEg7O0EyRXg0WEc7RUFDQztFQUNBO0MzRTI0WEo7O0EyRXY0WEM7RUFDRTtFQUNBO0MzRTA0WEg7O0EyRXY0WEM7RUFDQztFQUNDO0VBQ0E7QzNFMDRYSDs7QUdqc1lRO0V3RXdRUjtJQW1ERTtJQUNBO0lBQ0E7RzNFMjRYQTs7RTJFejRYQTtJQUNDO0czRTQ0WEQ7O0UyRXo0WEE7SUFDQztHM0U0NFhEO0NBQ0Y7O0EyRXg0WEE7RUFDQztFQUNBO0VBQ0E7RUFDQTtFQUNBO0MzRTI0WEQ7O0EyRXo0WEM7RUFDQztFQUNBO0MzRTQ0WEY7O0FHOXRZUTtFd0V5VVI7SUFhRTtHM0U2NFhBO0NBQ0Y7O0EyRXo0WEM7RUFDQztFQUNBO0VBQ0E7RUFDQTtDM0U0NFhGOztBR3R1WVE7RXdFc1ZQO0lBT0U7SUFDQztHM0U4NFhGO0NBQ0Y7O0EyRTM0WEM7RUFDQztDM0U4NFhGOztBMkUzNFhDO0VBQ0M7QzNFODRYRjs7QTJFejRYQztFQUNDO0MzRTQ0WEY7O0EyRTE0WEM7RUFDQztDM0U2NFhGOztBMkUzNFhDO0VBRUM7QzNFNjRYRjs7QTRFdDdZQTs7RTVFMDdZQzs7QTRFdjdZRDtFQUNFO0VBQ0E7QzVFMDdZRjs7QTRFeDdZRTtFQUNFO0VBQ0E7RUFPQTtDNUVxN1lKOztBR3J4WVE7RXlFektOO0lBS0k7SUFDQTtHNUU4N1lKO0NBQ0Y7O0E0RTE3WUk7RXREZ0JGO0VBQ0E7RWdDaURFO0VBQ0E7Q3REODNZSjs7QUdueVlRO0V5RTlKSjtJdEJrRUE7SUFDQTtHdERvNFlGO0NBQ0Y7O0FHMXlZUTtFeUU5Sko7SXRCa0VBO0lBQ0E7R3REMjRZRjtDQUNGOztBNEUzOFlNO0VyRG1HSjtFQTJDRTtFRjNIRTtFQUFBO0V1RFRFO0VBQ0E7RUFDQTtFQUVBO0VBQ0E7RUFDQTtDNUV3OFlSOztBRzl6WVE7RXlFMUpGO0lyRG1HSjtJQTJDRTtJRjNIRTtJQUFBO0l1RFpJO0c1RTA5WVI7Q0FDRjs7QTRFaDlZUTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBRUE7RUFDQTtDNUVrOVlWOztBR2oxWVE7RXlFeElBO0lBVUk7SUFDQTtHNUVvOVlWO0NBQ0Y7O0E0RWg5WU07RXJEaUVKO0VBMkNFO0VGM0hFO0VBQUE7RUNQSjtFQUNBO0VnQ2lERTtFQUNBO0N0RDg3WUo7O0FHbjJZUTtFeUV4SEY7SXRCNEJGO0lBQ0E7R3REbzhZRjtDQUNGOztBRzEyWVE7RXlFeEhGO0l0QjRCRjtJQUNBO0d0RDI4WUY7Q0FDRjs7QUdqM1lRO0V5RXhIRjtJckRpRUo7SUEyQ0U7SUYzSEU7SUFBQTtHckJnZ1pKO0NBQ0Y7O0E0RXgrWVE7RXJEdUROO0VBMkNFO0VGM0hFO0VBQUE7RXVENEJJO0VBVUE7RUFDQTtDNUVvK1lWOztBR3A0WVE7RXlFOUdBO0lyRHVETjtJQTJDRTtJRjNIRTtJQUFBO0l1RGdDTTtHNUVvL1lWO0NBQ0Y7O0E0RW4vWVU7RUFDRTtDNUVzL1laOztBNEVoL1lVO0VBQ0U7RUFDQTtFQUVBO0M1RWsvWVo7O0E0RWgvWVk7RUFDRTtDNUVtL1lkOztBRzU1WVE7RXlFOUZFO0lBV0k7SUFDQTtJQUNBO0lBQ0E7RzVFby9ZWjtDQUNGOztBNEVoL1lZO0VBQ0U7RUFDQTtDNUVtL1lkOztBRzE2WVE7RXlFbkVNO0lBQ0U7SUFDQTtHNUVpL1lkOztFNEU3K1lZO0lBQ0U7SUFDQTtHNUVnL1lkO0NBQ0Y7O0E0RXYrWUE7O0U1RTIrWUM7O0E0RXYrWUQ7RUFDRTtFQUNEO0VBSUM7RUFHQTtFQUNBO0VBQ0E7RUFDQTtDNUV3K1lGOztBR3Y4WVE7RXlFN0NSO0lBZUk7RzVFMCtZRjtDQUNGOztBNEV2K1lFO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFJQTtFQUVBO0M1RXkrWUo7O0FHejlZUTtFeUUxQk47SUFZSTtJQUNBO0lBQ0E7RzVFNCtZSjtDQUNGOztBNEV6K1lFO0VBQ0U7RUFDQTtDNUU0K1lKOztBR3QrWVE7RXlFUk47SUFLSTtJQUNBO0lBRUE7SUFDQTtHNUU2K1lKO0NBQ0Y7O0E0RTMrWUk7RUFDRTtFQUNBO0VBQ0E7QzVFOCtZTjs7QTRFNStZTTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0M1RSsrWVI7O0FHdi9ZUTtFeUVJRjtJQU9NO0c1RWkvWVY7Q0FDRjs7QTRFOStZTTtFQUNFO0M1RWkvWVI7O0FHdGdaUTtFeUVvQkY7SUFHSTtHNUVvL1lSO0NBQ0Y7O0E0RWovWU07RUFDRTtFQUNBO0VBQ0E7QzVFby9ZUjs7QTRFbC9ZUTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0M1RXEvWVY7O0E0RS8rWU07RUFDRTtFQUNBO0VBQ0E7QzVFay9ZUjs7QTRFai9ZUTtFQUNFO0VBQ0E7QzVFby9ZVjs7QTRFai9ZUTs7Ozs7RUFDRTtDNUV3L1lWOztBRzVpWlE7RXlFMENGO0lBY0k7SUFDQTtJQUNBO0c1RXkvWVI7Q0FDRjs7QTRFbi9ZQTs7RTVFdS9ZQzs7QTRFbi9ZRDtFQUNFO0VBQ0E7RUFDQTtDNUVzL1lGOztBNEVwL1lFO0V0RHhOQTtFQUNBO0N0Qmd0WkY7O0E0RXQvWUk7RXJEcElGO0VBMkNFO0VGM0hFO0VBQUE7RXVEOE5BO0M1RW8vWU47O0FHdGtaUTtFeUV3RUo7SXJEcElGO0lBMkNFO0lGM0hFO0lBQUE7R3JCMHRaSjtDQUNGOztBRy9rWlE7RXlFd0VKO0lyRHBJRjtJQTJDRTtJRjNIRTtJQUFBO0l1RDJORTtHNUV5Z1pOO0NBQ0Y7O0E0RXJnWk07RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0M1RXdnWlI7O0FHam1aUTtFeUVvRkY7SUFRSTtHNUUwZ1pSO0NBQ0Y7O0E0RXJnWk07RXREclBKO0VBQ0E7RWdDaURFO0VBQ0E7Q3REOHNaSjs7QUdublpRO0V5RXVHRjtJdEJuTUY7SUFDQTtHdERvdFpGO0NBQ0Y7O0FHMW5aUTtFeUV1R0Y7SXRCbk1GO0lBQ0E7R3REMnRaRjtDQUNGOztBNEV0aFpRO0VyRGxLTjtFQTJDRTtFRjNIRTtFQUFBO0V1RHFRSTtFQUNBO0VBQ0E7QzVFMmdaVjs7QUd0b1pRO0V5RXNHQTtJckRsS047SUEyQ0U7SUYzSEU7SUFBQTtHckIweFpKO0NBQ0Y7O0FHL29aUTtFeUVzR0E7SUFNSTtJQUNBO0lyRHpLVjtJQTJDRTtJRjNIRTtJQUFBO0dyQnF5Wko7O0U0RXppWlU7SUFDRTtHNUU0aVpaOztFNEV6aVpVO0lBQ0U7RzVFNGlaWjtDQUNGOztBNEVwaVpZO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtDNUV1aVpkOztBNEVyaVpjO0VBQ0U7RUFDQTtDNUV3aVpoQjs7QTRFbmlaVTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QzVFc2laWjs7QTRFaGlaSTtFckRuTkY7RUEyQ0U7RUYzSEU7RUFBQTtFdUQ0U0E7RUFFQTtDNUU4aFpOOztBR2hzWlE7RXlFdUpKO0lyRG5ORjtJQTJDRTtJRjNIRTtJQUFBO0dyQm8xWko7Q0FDRjs7QUd6c1pRO0V5RXVKSjtJckRuTkY7SUEyQ0U7SUYzSEU7SUFBQTtHckI2MVpKO0NBQ0Y7O0E0RTlpWk07RUFDRTtFQUNBO0VBS0E7RUFDQTtFQUNBO0M1RTZpWlI7O0E0RTNpWlE7RUFDRTtFQUNBO0VBQ0E7RUFDQTtDNUU4aVpWOztBR2p1WlE7RXlFK0tBO0lBT0k7RzVFZ2paVjtDQUNGOztBNkU1NVpBO0VBQ0M7RUFDQTtDN0UrNVpEOztBNkU1NVpBO0VBQ0M7RUFDQTtFQUNBO0M3RSs1WkQ7O0E2RTU1WkE7RUFDQztFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtDN0UrNVpEOztBNkU1NVpBO0VBQ0M7RUFDQTtFQUNBO0M3RSs1WkQ7O0E2RTc1WkM7RUFDQztFQUNBO0VBQ0E7QzdFZzZaRjs7QTZFNzVaQztFQUNDO0VBQ0E7RUFDQTtFQUNBO0M3RWc2WkY7O0E2RTk1WkU7RUFDQztDN0VpNlpIOztBNkUvNVpHO0VBQ0M7QzdFazZaSjs7QThFNThaQTtFQUNDO0VBQ0E7RUFDQTtDOUUrOFpEOztBOEU1OFpBO0V4RDRCRTtFQUNBO0VnQ2lERTtFQUNBO0N0RG80Wko7O0FHenlaUTtFMkUxS1I7SXhCOEVJO0lBQ0E7R3REMDRaRjtDQUNGOztBR2h6WlE7RTJFMUtSO0l4QjhFSTtJQUNBO0d0RGk1WkY7Q0FDRjs7QUd2elpRO0UyRTFLUjtJQUtFO0lBQ0E7RzlFaStaQTtDQUNGOztBOEU5OVpBO0V2RHlHRTtFQTJDRTtFRjNIRTtFQUFBO0V5RHZCTDtFQUNBO0VBQ0E7QzlFbytaRDs7QUd4MFpRO0UyRWhLUjtJdkR5R0U7SUEyQ0U7SUYzSEU7SUFBQTtHckJ1OVpKO0NBQ0Y7O0FHajFaUTtFMkVoS1I7SXZEeUdFO0lBMkNFO0lGM0hFO0lBQUE7R3JCZytaSjtDQUNGOztBOEUzK1pBO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7RUFDQTtDOUU4K1pEOztBOEU1K1pDO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtDOUUrK1pGOztBOEU1K1pDO0VBQ0M7QzlFKytaRjs7QThFMytaQztFQUNDO0VBQ0E7QzlFOCtaRjs7QThFMStaQTtFQUNDO0M5RTYrWkQ7O0E4RTMrWkM7Ozs7O0VBQ0M7RUFDQTtDOUVrL1pGOztBOEVoL1pFOzs7OztFQUNDO0VBQ0E7QzlFdS9aSDs7QThFbC9aQTtFQUNDO0VBQ0E7QzlFcS9aRDs7QThFbC9aQTtFQUNDO0VBQ0E7QzlFcS9aRDs7QThFbi9aQztFQUNDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QzlFcy9aRjs7QThFbi9aQztFQUNDO0M5RXMvWkY7O0E4RWwvWkE7RUFDQztFQUNBO0M5RXEvWkQ7O0E4RWwvWkE7RUFDQztDOUVxL1pEOztBOEVsL1pBOztBQUVBO0VBQ0M7RUFDRTtDOUVxL1pIOztBOEVsL1pBO0VBQ0M7QzlFcS9aRDs7QUdqN1pRO0UyRWhFUDtJQUNDO0c5RXEvWkE7O0U4RWwvWkQ7SUFDQztHOUVxL1pBOztFOEVsL1pEO0lBQ0M7RzlFcS9aQTtDQUNGOztBOEVsL1pBO0VBQ0M7RUFDQTtFQUNBO0M5RXEvWkQ7O0E4RW4vWkM7RUFDQztFQUNBO0M5RXMvWkY7O0E4RWwvWkE7RUFDQztDOUVxL1pEOztBOEVuL1pDOzs7OztFQUNDO0VBQ0E7RUFDQTtFQUNBO0M5RTAvWkY7O0E4RXgvWkU7Ozs7O0VBQ0M7RUFDQTtDOUUrL1pIOztBOEUxL1pBO0VBQ0M7RUFDQTtDOUU2L1pEOztBOEUxL1pBO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0M5RTYvWkQ7O0E4RTEvWkE7RUFDQztFQUNBO0VBQ0E7QzlFNi9aRDs7QThFMy9aQzs7RUFFQztFQUNBO0M5RTgvWkY7O0E4RTEvWkE7RUFDQztFQUNBO0M5RTYvWkQ7O0E4RTMvWkM7RUFDQztFQUNBO0VBQ0E7QzlFOC9aRjs7QThFNS9aRTtFQUNDO0VBQ0E7QzlFKy9aSDs7QThFMS9aQTtFQUNDO0VBQ0E7RUFDQTtDOUU2L1pEOztBOEUzL1pDO0VBQ0M7QzlFOC9aRjs7QThFNS9aRTtFQUNDO0M5RSsvWkg7O0E4RTMvWkM7RUFDQztFQUNBO0VBQ0E7QzlFOC9aRjs7QThFMy9aQztFQUNDO0M5RTgvWkY7O0E4RTEvWkE7RUFDQztDOUU2L1pEOztBOEUzL1pDO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7QzlFOC9aRjs7QStFcHVhQTs7RS9Fd3VhQzs7QStFcHVhRDs7RS9Fd3VhQzs7QStFcnVhRDtFQU1FO0MvRW11YUY7O0ErRXh1YUU7RUFDRTtFQUNBO0MvRTJ1YUo7O0ErRXR1YUU7RXpEbUJBO0VBQ0E7RWdDaURFO0VBQ0E7RXlCbEVBO0MvRTB1YUo7O0FHN2thUTtFNEVqS047SXpCcUVFO0lBQ0E7R3REOHFhRjtDQUNGOztBR3BsYVE7RTRFaktOO0l6QnFFRTtJQUNBO0d0RHFyYUY7Q0FDRjs7QStFcnZhRTtFeERtR0E7RUEyQ0U7RUYzSEU7RUFBQTtFMERWRjtDL0VvdmFKOztBR25tYVE7RTRFMUpOO0lBSUk7SUFDQTtJeEQ4Rko7SUEyQ0U7SUYzSEU7SUFBQTtHckJvdmFKO0NBQ0Y7O0ErRTd2YUk7RUFDRTtFQUNBO0VBRUE7RUFDQTtFQUNBO0VBQ0E7Qy9FK3ZhTjs7QStFN3ZhTTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtDL0Vnd2FSOztBK0UzdmFFO0V4RG9FQTtFQTJDRTtFRjNIRTtFQUFBO0VDUEo7RUFDQTtDdEJzeGFGOztBR3BvYVE7RTRFaElOO0l4RG9FQTtJQTJDRTtJRjNIRTtJQUFBO0dyQnd4YUo7Q0FDRjs7QStFcHdhSTtFeEQyREY7RUEyQ0U7RUYzSEU7RUFBQTtFMER1QkE7Qy9FMHdhTjs7QUdycGFRO0U0RXZISjtJeEQyREY7SUEyQ0U7SUYzSEU7SUFBQTtHckJ5eWFKO0NBQ0Y7O0ErRTV3YUk7RXpEckNGO0VBQ0E7RWdDaURFO0VBQ0E7Q3REcXdhSjs7QUcxcWFRO0U0RXpHSjtJekJhQTtJQUNBO0d0RDJ3YUY7Q0FDRjs7QUdqcmFRO0U0RXpHSjtJekJhQTtJQUNBO0d0RGt4YUY7Q0FDRjs7QStFN3hhTTtFeEQ4Q0o7RUEyQ0U7RUYzSEU7RUFBQTtFMERxQ0U7RUFDQTtFQUNBO0MvRWt5YVI7O0ErRS94YVE7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtDL0VreWFWOztBK0U5eGFNO0VBQ0U7RUFDQTtDL0VpeWFSOztBK0UveGFRO0VBQ0U7RUFDQTtDL0VreWFWOztBK0UveGFRO0VBQ0U7RUFDQTtFQUNBO0MvRWt5YVY7O0ErRS94YVE7RUFDRTtFQUNBO0VBQ0E7Qy9Fa3lhVjs7QStFOXhhTTtFeERLSjtFQTJDRTtFRjNIRTtFQUFBO0UwRDZFRTtFQUNBO0VBQ0E7Qy9Fb3lhUjs7QStFOXhhQTs7RS9Fa3lhQzs7QStFN3hhQztFekRqR0E7RUFDQTtDdEJrNGFGOztBK0U5eGFFO0V4RGRBO0VBMkNFO0VGM0hFO0VBQUE7RTBEZ0dGO0VBQ0E7RUFlQTtFQUNBO0VBRUE7RUFDQTtFQUNBO0MvRXF4YUo7O0FHOXZhUTtFNEU5Q047SXhEZEE7SUEyQ0U7SUYzSEU7SUFBQTtJMERxR0E7Ry9FOHlhSjs7RStFNXlhSTtJQUNFO0cvRSt5YU47O0UrRTV5YUk7SUFDRTtHL0UreWFOO0NBQ0Y7O0ErRXJ5YUk7RUFDRTtDL0V3eWFOOztBK0VyeWFJO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0MvRXd5YU47O0ErRXR5YU07RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7Qy9FeXlhUjs7QStFcHlhTTtFQUNFO0MvRXV5YVI7O0ErRWx5YVU7RUFDRTtDL0VxeWFaOztBK0VseWFVOztFQUVFO0MvRXF5YVo7O0ErRTl4YU07RUFDRTtDL0VpeWFSOztBK0U1eGFVO0VBQ0U7Qy9FK3hhWjs7QStFNXhhVTs7RUFFRTtDL0UreGFaOztBK0V6eGFJO0VBQ0U7Qy9FNHhhTjs7QStFMXhhTTtFQUNFO0MvRTZ4YVI7O0ErRTV4YVE7RUFDRTtDL0UreGFWOztBK0U1eGFRO0VBQ0U7RUFDQTtFQUNBO0MvRSt4YVY7O0ErRTN4YVU7RUFDRTtDL0U4eGFaOztBK0V6eGFVO0VBQ0U7Qy9FNHhhWjs7QStFenhhVTtFQUNFO0MvRTR4YVo7O0ErRXp4YVU7RUFDRTtDL0U0eGFaOztBK0VweGFBOztFL0V3eGFDOztBK0VyeGFEO0VBQ0U7Qy9Fd3hhRjs7QUcxMmFRO0U0RWlGUjtJQUlJO0cvRTB4YUY7Q0FDRjs7QStFeHhhRTtFQUNFO0VBQ0E7RUFDQTtFekQ5T0Y7RUFDQTtFZ0NpREU7RUFDQTtFeUJnTUE7Qy9FMnhhSjs7QUdoNGFRO0U0RTZGTjtJekJ6TEU7SUFDQTtHdERpK2FGO0NBQ0Y7O0FHdjRhUTtFNEU2Rk47SXpCekxFO0lBQ0E7R3REdythRjtDQUNGOztBK0V0eWFFO0V4RC9KQTtFQTJDRTtFRjNIRTtFQUFBO0UwRGlQRjtDL0U0eWFKOztBR2o1YVE7RTRFbUdOO0lBS0k7SUFDQTtJeERyS0o7SUEyQ0U7SUYzSEU7SUFBQTtHckJ1aWJKO0NBQ0Y7O0ErRTd5YVE7RUFDRTtDL0VnemFWOztBK0U3eWFRO0VBQ0U7Qy9FZ3phVjs7QStFM3lhSTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0MvRTh5YU47O0ErRTV5YU07RUFDRTtDL0UreWFSOztBK0U1eWFNO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtDL0UreWFSOztBK0U3eWFRO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0MvRWd6YVY7O0ErRTF5YUU7RXhEbE5BO0VBMkNFO0VGM0hFO0VBQUE7RTBEcVNGO0VBQ0E7RUFDQTtFQUVBO0MvRTh5YUo7O0FHMzhhUTtFNEVzSk47SXhEbE5BO0lBMkNFO0lGM0hFO0lBQUE7STBENlNBO0cvRW16YUo7Q0FDRjs7QStFanphSTtFekR2VEY7RUFDQTtFZ0NpREU7RUFDQTtDdEQ0amJKOztBR2orYVE7RTRFeUtKO0l6QnJRQTtJQUNBO0d0RGtrYkY7Q0FDRjs7QUd4K2FRO0U0RXlLSjtJekJyUUE7SUFDQTtHdER5a2JGO0NBQ0Y7O0ErRWwwYU07RXhEcE9KO0VBMkNFO0VGM0hFO0VBQUE7Q3JCNm5iTjs7QUdqL2FRO0U0RXdLRjtJeERwT0o7SUEyQ0U7SUYzSEU7SUFBQTtHckJxb2JKOztFK0UzMGFRO0lBQ0U7SUFDQTtHL0U4MGFWO0NBQ0Y7O0ErRTMwYVE7RUFDRTtFQUNBO0VBQ0E7Qy9FODBhVjs7QStFNTBhVTtFQUNFO0MvRSswYVo7O0ErRTUwYVU7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0MvRSswYVo7O0FHamhiUTtFNEU2TEU7SUFRSTtHL0VpMWFaO0NBQ0Y7O0ErRTcwYVE7RUFDRTtFQUNBO0VBQ0E7Qy9FZzFhVjs7QStFOTBhVTtFQUNFO0MvRWkxYVo7O0ErRTkwYWdCO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0MvRWkxYWxCOztBK0U5MGFnQjtFQUNFO0MvRWkxYWxCOztBK0U5MGFnQjtFQUNFO0VBQ0E7RUFDQTtDL0VpMWFsQjs7QWdGdnViQTtFQUNDO0VBQ0E7RUFDQTtFQUNBO0NoRjB1YkQ7O0FnRnZ1YkE7RUFDQztDaEYwdWJEOztBRy9qYlE7RTZFNUtSO0lBSUU7R2hGNHViQTtDQUNGOztBZ0Z6dWJBO0VBQ0M7RUFDQTtDaEY0dWJEOztBRzFrYlE7RTZFcEtSO0lBS0U7SUFDQTtHaEY4dWJBOztFZ0Y1dWJBO0lBQ0M7R2hGK3ViRDtDQUNGOztBZ0YzdWJBO0VBQ0M7Q2hGOHViRDs7QWdGM3ViQTtFQUNDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtDaEY4dWJEOztBZ0Y1dWJDO0VBQ0M7RUFDQTtDaEYrdWJGOztBRzdtYlE7RTZFbEpSO0lBb0JFO0lBQ0E7SUFDQTtJQUNBO0doRmd2YkE7O0VnRjl1YkE7SUFDQztJQUNBO0doRml2YkQ7Q0FDRjs7QWdGN3ViQTtFQUNDO0NoRmd2YkQ7O0FnRjl1YkM7RUFDQztFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtDaEZpdmJGOztBRy9vYlE7RTZFbEhSO0lBb0JFO0doRmt2YkE7O0VnRmh2YkE7SUFDQztJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtHaEZtdmJEO0NBQ0Y7O0FnRi91YkE7RUFDQztFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7Q2hGa3ZiRDs7QUd4cWJRO0U2RWhGUjtJQVNFO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7R2hGb3ZiQTtDQUNGOztBZ0ZqdmJBO0VBQ0M7RUFDQTtDaEZvdmJEOztBZ0ZqdmJBO0VBQ0M7RUFDQTtDaEZvdmJEOztBZ0ZsdmJDO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0NoRnF2YkY7O0FnRm52YkU7RUFDQztFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7Q2hGc3ZiSDs7QWdGbnZiRTs7RUFFQztDaEZzdmJIOztBZ0ZsdmJDO0VBQ0M7RUFDQTtFQUNBO0NoRnF2YkY7O0FnRm52YkU7RUFDQztDaEZzdmJIOztBR3R1YlE7RTZFMURSO0lBK0NFO0doRnN2YkE7O0VnRnB2YkE7SUFDQztJQUNBO0doRnV2YkQ7O0VnRnB2YkE7SUFDQztJQUNBO0lBQ0E7SUFDQTtJQUNBO0doRnV2YkQ7Q0FDRjs7QWdGbnZiQTtFQUNDO0NoRnN2YkQ7O0FnRnB2YkM7RUFDQztDaEZ1dmJGOztBZ0ZsdmJBO0VBQ0M7Q2hGcXZiRDs7QWdGbHZiQTtFQUNDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0NoRnF2YkQ7O0FnRmx2YkE7RUFDQztDaEZxdmJEOztBaUZ4OGJBO0VBQ0M7RUFDQTtDakYyOGJEOztBaUZ4OGJBO0VBQ0M7Q2pGMjhiRDs7QWlGeDhiQTtFQUNDO0VBQ0E7Q2pGMjhiRDs7QWlGeDhiQTtFQUNDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7Q2pGMjhiRDs7QWlGejhiQztFQUNDO0NqRjQ4YkY7O0FHaHpiUTtFOEV2S1I7SUFlRTtHakY2OGJBO0NBQ0Y7O0FpRng4YkM7RUFDQztFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0NqRjI4YkY7O0FpRno4YkU7RUFDQztFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7Q2pGNDhiSDs7QWlGejhiRTs7RUFFQztDakY0OGJIOztBR3gxYlE7RThFbEpQO0lBa0NFO0dqRjY4YkQ7Q0FDRjs7QWlGMThiQztFQUNDO0NqRjY4YkY7O0FpRjM4YkU7RUFDQztDakY4OGJIOztBaUYxOGJDO0VBQ0M7Q2pGNjhiRjs7QWlGMThiQztFQUNDO0VBQ0E7Q2pGNjhiRjs7QWlGejhiQTtFM0R6REU7RUFDQTtFZ0NpREU7RUFDQTtDdERzOWJKOztBRzMzYlE7RThFckZSO0kzQlBJO0lBQ0E7R3RENDliRjtDQUNGOztBR2w0YlE7RThFckZSO0kzQlBJO0lBQ0E7R3REbStiRjtDQUNGOztBR3A0YlE7RThFMUZSO0kzQlBJO0lBQ0E7R3REMCtiRjtDQUNGOztBR2g1YlE7RThFckZSO0kzQlBJO0lBQ0E7R3REaS9iRjtDQUNGOztBR3Y1YlE7RThFckZSO0kzQlBJO0lBQ0E7R3REdy9iRjtDQUNGOztBaUYxK2JBO0UxRHFCRTtFQTJDRTtFRjNIRTtFQUFBO0U0RDZETDtDakZnL2JEOztBaUY5K2JDO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7Q2pGaS9iRjs7QUc3NmJRO0U4RTVFUjtJMURxQkU7SUEyQ0U7SUYzSEU7SUFBQTtHckI0amNKO0NBQ0Y7O0FHajdiUTtFOEVqRlI7STFEcUJFO0lBMkNFO0lGM0hFO0lBQUE7R3JCcWtjSjtDQUNGOztBRzE3YlE7RThFakZSO0kxRHFCRTtJQTJDRTtJRjNIRTtJQUFBO0dyQjhrY0o7Q0FDRjs7QUduOGJRO0U4RWpGUjtJMURxQkU7SUEyQ0U7SUYzSEU7SUFBQTtHckJ1bGNKO0NBQ0Y7O0FpRmpnY0E7RUFDQztDakZvZ2NEOztBaUZqZ2NBO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7RUFDQTtDakZvZ2NEOztBaUZqZ2NBOztFQUVDO0VBQ0E7Q2pGb2djRDs7QWlGbGdjQzs7RUFDQztDakZzZ2NGOztBaUZsZ2NBO0VBQ0M7Q2pGcWdjRDs7QWlGbmdjQzs7Ozs7RUFDQztFQUNBO0NqRjBnY0Y7O0FpRnJnY0E7RUFDQztDakZ3Z2NEOztBaUZ0Z2NDO0VBQ0M7RUFDQTtFQUNBO0NqRnlnY0Y7O0FpRnRnY0M7RUFDQztFQUNBO0VBQ0E7RUFDQTtDakZ5Z2NGOztBaUZ0Z2NDO0VBQ0M7RUFDQTtDakZ5Z2NGOztBaUZ0Z2NDO0VBQ0M7RUFDQTtDakZ5Z2NGOztBaUZyZ2NBO0VBQ0M7Q2pGd2djRDs7QWlGcmdjQTtFQUNDO0NqRndnY0Q7O0FpRnJnY0E7RUFDQztFQUNBO0VBQ0E7RUFDQTtDakZ3Z2NEOztBaUZ0Z2NDO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7S0FBQTtDakZ5Z2NGOztBaUZyZ2NBO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7Q2pGd2djRDs7QWlGdGdjQzs7RUFFQztDakZ5Z2NGOztBaUZ2Z2NFOztFQUNDO0NqRjJnY0g7O0FpRnRnY0E7RUFDQztFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7Q2pGeWdjRDs7QWlGdmdjQztFQUNDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7S0FBQTtDakYwZ2NGOztBaUZ0Z2NBO0VBQ0M7Q2pGeWdjRDs7QWlGcmdjQTtFQUNDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtDakZ3Z2NEOztBR3JsY1E7RThFdUVSO0lBU0U7SUFDQTtHakYwZ2NBO0NBQ0Y7O0FHNWxjUTtFOEV1RVI7SUFlRTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0dqRjJnY0E7Q0FDRjs7QWlGeGdjQTtFQUNDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0NqRjJnY0Q7O0FHbm5jUTtFOEVpR1I7SUFVRTtJQUNBO0lBQ0E7R2pGNmdjQTtDQUNGOztBaUYxZ2NBO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0NqRjZnY0Q7O0FHdm9jUTtFOEVpSFI7SUFZRTtJQUNBO0lBQ0E7R2pGK2djQTtDQUNGOztBaUYzZ2NDO0VBQ0M7RUFDQTtFQUNBO0NqRjhnY0Y7O0FpRjFnY0E7RUFDQztFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7Q2pGNmdjRDs7QUd6cGNRO0U4RXNJUjtJQVNFO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7R2pGK2djQTtDQUNGOztBaUY3Z2NDO0VBQ0M7RUFDQTtFQUNBO0NqRmdoY0Y7O0FHenFjUTtFOEVzSlA7SUFNRTtJQUNBO0dqRmtoY0Q7Q0FDRjs7QWlGOWdjQTtFQUNDO0VBQ0E7RUFDQTtFQUNBO0NqRmloY0Q7O0FHdnJjUTtFOEVrS1I7SUFPRTtJQUNBO0dqRm1oY0E7Q0FDRjs7QWlGaGhjQTtFQUNDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtDakZtaGNEOztBR3ZzY1E7RThFOEtSO0lBU0U7SUFDQTtHakZxaGNBO0NBQ0Y7O0FpRmxoY0E7RUFDQztFQUNBO0VBQ0E7Q2pGcWhjRDs7QWlGbmhjQztFQUNDO0VBQ0E7Q2pGc2hjRjs7QWlGbmhjQztFQUNDO0VBQ0E7Q2pGc2hjRjs7QWtGbjVjQTtFQUNDO0VBQ0E7Q2xGczVjRDs7QWtGbjVjQTtFQUNDO0VBQ0E7RUFDQTtDbEZzNWNEOztBa0ZuNWNBO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7Q2xGczVjRDs7QWtGcDVjQztFQUNDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtDbEZ1NWNGOztBa0ZwNWNDO0VBQ0k7Q2xGdTVjTDs7QWtGcDVjQztFQUNJO0NsRnU1Y0w7O0FrRnA1Y0M7RUFDQztDbEZ1NWNGOztBa0ZwNWNDO0VBQ0M7Q2xGdTVjRjs7QWtGbDVjQztFQUNDO0VBQ0E7Q2xGcTVjRjs7QWtGajVjQTtFQUNDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0NsRm81Y0Q7O0FrRmw1Y0M7RUFDQztDbEZxNWNGOztBa0ZsNWNDOztFQUVDO0NsRnE1Y0Y7O0FrRmw1Y0M7RUFDQztFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0NsRnE1Y0Y7O0FrRmw1Y0M7RUFDQztFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7Q2xGcTVjRjs7QWtGajVjQTtFQUNDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7Q2xGbzVjRDs7QWtGbDVjQztFQUNDO0NsRnE1Y0Y7O0FrRm41Y0U7Ozs7RUFJQztDbEZzNWNIOztBa0Y1NGNBOzs7RUFHQztDbEYrNGNEOztBa0YzNGNBOztFQUVDO0NsRjg0Y0Q7O0FrRjE0Y0E7O0VBRUM7Q2xGNjRjRDs7QWtGejRjQTs7RUFFQztDbEY0NGNEOztBa0Z4NGNBOztFQUVDO0NsRjI0Y0Q7O0FrRnY0Y0E7O0VBRUM7Q2xGMDRjRDs7QWtGdDRjQTs7RUFFQztDbEZ5NGNEOztBa0Z0NGNBO0VBQ0M7Q2xGeTRjRDs7QWtGdDRjQTtFQUNDO0NsRnk0Y0Q7O0FrRnQ0Y0E7RUFDQztDbEZ5NGNEOztBa0Z0NGNBO0VBQ0M7Q2xGeTRjRDs7QWtGdDRjQTtFQUNDO0NsRnk0Y0Q7O0FrRnQ0Y0E7RUFDQztDbEZ5NGNEOztBa0Z0NGNBO0VBQ0M7Q2xGeTRjRDs7QWtGdDRjQTs7QUFFQTtFQUNDO0NsRnk0Y0Q7O0FrRnY0Y0M7RUFDQztDbEYwNGNGOztBa0Z0NGNDO0VBQ0M7RUFDQTtFQUNBO0NsRnk0Y0Y7O0FrRnQ0Y0M7RUFDQztFQUNBO0VBQ0E7Q2xGeTRjRjs7QWtGcjRjQztFQUNDO0NsRnc0Y0Y7O0FrRnI0Y0M7RUFDQztDbEZ3NGNGOztBa0ZyNGNDO0VBQ0M7Q2xGdzRjRjs7QUdyN2NRO0UrRWlEQTs7SUFFQztJQUNBO0lBQ0E7SUFDQTtHbEZ3NGNQO0NBQ0Y7O0FrRnA0Y0E7RUFDQztDbEZ1NGNEOztBbUY5bGRJO0VDbEJGO0VBQ0E7RUNpREU7RUN4QkU7RUFHRjtVQUFBO0N0RjJsZEo7O0FtRjFsZEk7RUVvQkE7Q3JGMGtkSjs7QW1GMW1kSTtFQ2xCRjtFQUNBO0VDaURFO0VDeEJFO0VBR0Y7VUFBQTtDdEZ1bWRKOztBbUZ0bWRJO0VFb0JBO0NyRnNsZEo7O0FtRnRuZEk7RUNsQkY7RUFDQTtFQ2lERTtFQ3hCRTtFQUdGO1VBQUE7Q3RGbW5kSjs7QW1GbG5kSTtFRW9CQTtDckZrbWRKOztBbUZsb2RJO0VDbEJGO0VBQ0E7RUNpREU7RUN4QkU7RUFHRjtVQUFBO0N0RituZEo7O0FtRjluZEk7RUVvQkE7Q3JGOG1kSjs7QW1GOW9kSTtFQ2xCRjtFQUNBO0VDaURFO0VDeEJFO0VBR0Y7VUFBQTtDdEYyb2RKOztBbUYxb2RJO0VFb0JBO0NyRjBuZEo7O0FtRjFwZEk7RUNsQkY7RUFDQTtFQ2lERTtFQ3hCRTtFQUdGO1VBQUE7Q3RGdXBkSjs7QW1GdHBkSTtFRW9CQTtDckZzb2RKOztBbUZ0cWRJO0VDbEJGO0VBQ0E7RUNpREU7RUN4QkU7RUFHRjtVQUFBO0N0Rm1xZEo7O0FtRmxxZEk7RUVvQkE7Q3JGa3BkSjs7QW1GbHJkSTtFQ2xCRjtFQUNBO0VDaURFO0VDeEJFO0VBR0Y7VUFBQTtDdEYrcWRKOztBbUY5cWRJO0VFb0JBO0NyRjhwZEo7O0FtRjlyZEk7RUNsQkY7RUFDQTtFQ2lERTtFRTlCQTtDdkZtc2RKOztBbUZ6cmRJO0VFb0JBO0NyRnlxZEo7O0FtRnpzZEk7RUNsQkY7RUFDQTtFQ2lERTtFRTlCQTtDdkY4c2RKOztBbUZwc2RJO0VFb0JBO0NyRm9yZEo7O0FtRnB0ZEk7RUNsQkY7RUFDQTtFQ2lERTtFQUFBO0VHeEJFO0VBQ0E7Q3hGb3RkTjs7QW1GanRkSTtFRW9CQTtFR2JFO0N4RitzZE47O0FtRmx1ZEk7RUNsQkY7RUFDQTtFQ2lERTtFQUFBO0VHeEJFO0VBQ0E7Q3hGa3VkTjs7QW1GL3RkSTtFRW9CQTtFR2JFO0N4RjZ0ZE47O0FtRmh2ZEk7RUNsQkY7RUFDQTtFQ2lERTtFQUFBO0VHeEJFO0VBQ0E7Q3hGZ3ZkTjs7QW1GN3VkSTtFRW9CQTtFR2JFO0N4RjJ1ZE47O0FtRjl2ZEk7RUNsQkY7RUFDQTtFQ2lERTtFQUFBO0VHeEJFO0VBQ0E7Q3hGOHZkTjs7QW1GM3ZkSTtFRW9CQTtFR2JFO0N4Rnl2ZE47O0FtRjV3ZEk7RUNsQkY7RUFDQTtFQ2lERTtFQUFBO0VHeEJFO0VBQ0E7Q3hGNHdkTjs7QW1GendkSTtFRW9CQTtFR2JFO0N4RnV3ZE47O0FtRjF4ZEk7RUNsQkY7RUFDQTtFQ2lERTtFQUFBO0VHeEJFO0VBQ0E7Q3hGMHhkTjs7QW1GdnhkSTtFRW9CQTtFR2JFO0N4RnF4ZE47O0FtRnh5ZEk7RUNsQkY7RUFDQTtFQ2lERTtFQUFBO0VHeEJFO0VBQ0E7Q3hGd3lkTjs7QW1GcnlkSTtFRW9CQTtFR2JFO0N4Rm15ZE47O0FtRnR6ZEk7RUNsQkY7RUFDQTtFQ2lERTtFQUFBO0VHeEJFO0VBQ0E7Q3hGc3pkTjs7QW1GbnpkSTtFRW9CQTtFR2JFO0N4Rml6ZE47O0FtRnAwZEk7RUNsQkY7RUFDQTtFQ2lERTtFQUFBO0VHeEJFO0VBQ0E7Q3hGbzBkTjs7QW1GajBkSTtFRW9CQTtFR2JFO0N4Rit6ZE47O0FtRmwxZEk7RUNsQkY7RUFDQTtFQ2lERTtFQUFBO0VHeEJFO0VBQ0E7Q3hGazFkTjs7QW1GLzBkSTtFRW9CQTtFR2JFO0N4RjYwZE47O0FtRmgyZEk7RUNsQkY7RUFDQTtFQ2lERTtFQUFBO0VHeEJFO0VBQ0E7Q3hGZzJkTjs7QW1GNzFkSTtFRW9CQTtFR2JFO0N4RjIxZE47O0FtRjkyZEk7RUNsQkY7RUFDQTtFQ2lERTtFQUFBO0VHeEJFO0VBQ0E7Q3hGODJkTjs7QW1GMzJkSTtFRW9CQTtFR2JFO0N4RnkyZE47O0FtRjUzZEk7RUNsQkY7RUFDQTtFQ2lERTtFSTNCRTtFQUNBO0N6RjgzZE47O0FtRngzZEk7RUVvQkE7RUloQkU7Q3pGeTNkTjs7QW1GejRkSTtFQ2xCRjtFQUNBO0VDaURFO0VJM0JFO0VBQ0E7Q3pGMjRkTjs7QW1GcjRkSTtFRW9CQTtFSWhCRTtDekZzNGROOztBbUZ0NWRJO0VDbEJGO0VBQ0E7RUNpREU7RUkzQkU7RUFDQTtDekZ3NWROOztBbUZsNWRJO0VFb0JBO0VJaEJFO0N6Rm01ZE47O0FtRm42ZEk7RUNsQkY7RUFDQTtFQ2lERTtFSTNCRTtFQUNBO0N6RnE2ZE47O0FtRi81ZEk7RUVvQkE7RUloQkU7Q3pGZzZkTjs7QW1GaDdkSTtFQ2xCRjtFQUNBO0VDaURFO0VLNUJFO0VBQ0E7QzFGbTdkTjs7QW1GNTZkSTtFRW9CQTtFS2pCRTtDMUY4NmROOztBbUY3N2RJO0VDbEJGO0VBQ0E7RUNpREU7RUs1QkU7RUFDQTtDMUZnOGROOztBbUZ6N2RJO0VFb0JBO0VLakJFO0MxRjI3ZE47O0FtRjE4ZEk7RUNsQkY7RUFDQTtFQ2lERTtFSzVCRTtFQUNBO0MxRjY4ZE47O0FtRnQ4ZEk7RUVvQkE7RUtqQkU7QzFGdzhkTjs7QW1GdjlkSTtFQ2xCRjtFQUNBO0VDaURFO0VLNUJFO0VBQ0E7QzFGMDlkTjs7QW1GbjlkSTtFRW9CQTtFS2pCRTtDMUZxOWROOztBb0ZsOGRNO0VBQVk7Q3BGczhkbEI7O0FvRnQ4ZE07RUFBWTtDcEYwOGRsQjs7QW9GcDhkTTtFQUFZO0NwRnc4ZGxCOztBb0Z4OGRNO0VBQVk7Q3BGNDhkbEI7O0FvRjU4ZE07RUFBWTtDcEZnOWRsQjs7QW9GaDlkTTtFQUFZO0NwRm85ZGxCOztBb0ZwOWRNO0VBQVk7Q3BGdzlkbEI7O0FvRng5ZE07RUFBWTtDcEY0OWRsQjs7QW9GNTlkTTtFQUFZO0NwRmcrZGxCOztBb0ZoK2RNO0VBQVk7Q3BGbytkbEI7O0FvRjk5ZE07RUFBa0I7Q3BGaytkeEI7O0FvRmwrZE07RUFBa0I7Q3BGcytkeEI7O0FvRjk5ZEU7RU90RUE7VUFBQTtDM0Z3aWVGOztBcUZuaWVFO0VBR0k7SUFHSTtHckZraWVSOztFcUZyaWVJO0lBR0k7R3JGc2llUjtDQUNGOztBcUY3aWVFO0VBR0k7SUFHSTtHckZraWVSOztFcUZyaWVJO0lBR0k7R3JGc2llUjtDQUNGOztBb0YzK2RFO0VPdkVBO1VBQUE7QzNGc2plRjs7QXFGamplRTtFQUdJO0lBR0k7R3JGZ2plUjs7RXFGbmplSTtJQUdJO0dyRm9qZVI7Q0FDRjs7QXFGM2plRTtFQUdJO0lBR0k7R3JGZ2plUjs7RXFGbmplSTtJQUdJO0dyRm9qZVI7Q0FDRjs7QW9GeC9kRTtFT3hFQTtVQUFBO0MzRm9rZUY7O0FxRi9qZUU7RUFHSTtJQUdJO0dyRjhqZVI7O0VxRmprZUk7SUFHSTtHckZra2VSO0NBQ0Y7O0FxRnprZUU7RUFHSTtJQUdJO0dyRjhqZVI7O0VxRmprZUk7SUFHSTtHckZra2VSO0NBQ0Y7O0FvRnJnZUU7RU96RUE7VUFBQTtDM0ZrbGVGOztBcUY3a2VFO0VBR0k7SUFHSTtHckY0a2VSOztFcUYva2VJO0lBR0k7R3JGZ2xlUjs7RXFGbmxlSTtJQUdJO0dyRm9sZVI7Q0FDRjs7QXFGM2xlRTtFQUdJO0lBR0k7R3JGNGtlUjs7RXFGL2tlSTtJQUdJO0dyRmdsZVI7O0VxRm5sZUk7SUFHSTtHckZvbGVSO0NBQ0Y7O0FvRnJoZUU7Ozs7RUFJRTtVQUFBO0NwRndoZUo7O0FvRm5oZUU7RUFBWTtVQUFBO0NwRnVoZWQ7O0FvRm5oZU07RUFBWTtVQUFBO0NwRnVoZWxCOztBb0Z2aGVNO0VBQVk7VUFBQTtDcEYyaGVsQjs7QW9GcmhlTTtFQUFZO1VBQUE7Q3BGeWhlbEI7O0FvRnpoZU07RUFBWTtVQUFBO0NwRjZoZWxCOztBb0Y3aGVNO0VBQVk7VUFBQTtDcEZpaWVsQjs7QW9GamllTTtFQUFZO1VBQUE7Q3BGcWllbEI7O0FvRnJpZU07RUFBWTtVQUFBO0NwRnlpZWxCOztBb0Z6aWVNO0VBQVk7VUFBQTtDcEY2aWVsQjs7QW9GN2llTTtFQUFZO1VBQUE7Q3BGaWplbEI7O0FvRmpqZU07RUFBWTtVQUFBO0NwRnFqZWxCOztBb0YvaWVNO0VBQWtCO1VBQUE7Q3BGbWpleEI7O0FvRm5qZU07RUFBa0I7VUFBQTtDcEZ1amV4Qjs7QTRGNWtlTTtFQUNFO0VBQ0E7RUFDQTtDNUYra2VSOztBNEYxa2VNO0VBQ0U7RUFDQTtFQUNBO0M1RjZrZVI7O0FPbitkRTtFQUNFO0NQcytkSjs7QTRGdmhlSTtFQUVFO0M1RnloZU47O0E0RnJoZUk7RUFDRTtFQUNBO0M1RndoZU47O0E0RnJoZUk7RUFDRTtDNUZ3aGVOOztBNEZyaGVJO0UvRGtFQTtFQUNBO0M3QnU5ZEo7O0E0Ri9rZU07RUFDRTtDNUZrbGVSOztBNEY5a2VRO0VBQ0U7RUFDQTtFQUNBO0M1RmlsZVY7O0E0RjVrZVE7RUFDRTtFQUNBO0M1RitrZVY7O0FHamllUTtFeUY1RkY7SUFDRTtJQUNBO0lBQ0E7RzVGaW9lTjs7RTRGNW5lSTtJQUNFO0lBQ0E7SUFDQTtHNUYrbmVOOztFNEYzbWVJO0lBQ0U7RzVGOG1lTjs7RTRGMW1lTTtJQUNFO0lBQ0E7SUFDQTtHNUY2bWVSOztFNEZ4bWVNO0lBQ0U7SUFDQTtHNUYybWVSO0NBQ0Y7O0FHOWplUTtFeUY1RkY7SUFDRTtJQUNBO0lBQ0E7RzVGOHBlTjs7RTRGenBlSTtJQUNFO0lBQ0E7SUFDQTtHNUY0cGVOOztFNEZ4b2VJO0lBQ0U7RzVGMm9lTjs7RTRGdm9lTTtJQUNFO0lBQ0E7SUFDQTtHNUYwb2VSOztFNEZyb2VNO0lBQ0U7SUFDQTtHNUZ3b2VSO0NBQ0Y7O0E0RjVrZU07RUFDRTtFQUNBO0VBQ0E7QzVGK2tlUjs7QTRGMWtlRTtFQUNFO0M1RjZrZUo7O0E0RjNrZUk7RUFDRTtDNUY4a2VOOztBNEYxa2VFO0VBQ0U7QzVGNmtlSjs7QTRGM2tlSTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QzVGOGtlTjs7QTRGM2tlSTtFQUVFO0VBS0U7QzVGeWtlUjs7QTRGcmtlSTtFQUNFO0VBQ0E7QzVGd2tlTjs7QTRGcmtlSTtFQUNFO0VBQ0E7QzVGd2tlTjs7QTRGcGtlRTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBRUE7RUFDQTtFQUVBO0VBQ0E7QzVGcWtlSjs7QTRGbmtlSTtFQUNFO0M1RnNrZU47O0E0RnZqZUk7RUFDRTtDNUYwamVOOztBNEZyamVJO0VBQ0U7QzVGd2plTiIsImZpbGUiOiJjc3MvbWFpbi5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyJAY2hhcnNldCBcIlVURi04XCI7QGtleWZyYW1lcyBwbHlyLXByb2dyZXNze3Rve2JhY2tncm91bmQtcG9zaXRpb246MjVweCAwO2JhY2tncm91bmQtcG9zaXRpb246dmFyKC0tcGx5ci1wcm9ncmVzcy1sb2FkaW5nLXNpemUsMjVweCkgMH19QGtleWZyYW1lcyBwbHlyLXBvcHVwezAle29wYWNpdHk6LjU7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoMTBweCl9dG97b3BhY2l0eToxO3RyYW5zZm9ybTp0cmFuc2xhdGVZKDApfX1Aa2V5ZnJhbWVzIHBseXItZmFkZS1pbnswJXtvcGFjaXR5OjB9dG97b3BhY2l0eToxfX0ucGx5cnstbW96LW9zeC1mb250LXNtb290aGluZzpncmF5c2NhbGU7LXdlYmtpdC1mb250LXNtb290aGluZzphbnRpYWxpYXNlZDthbGlnbi1pdGVtczpjZW50ZXI7ZGlyZWN0aW9uOmx0cjtkaXNwbGF5OmZsZXg7ZmxleC1kaXJlY3Rpb246Y29sdW1uO2ZvbnQtZmFtaWx5OmluaGVyaXQ7Zm9udC1mYW1pbHk6dmFyKC0tcGx5ci1mb250LWZhbWlseSxpbmhlcml0KTtmb250LXZhcmlhbnQtbnVtZXJpYzp0YWJ1bGFyLW51bXM7Zm9udC13ZWlnaHQ6NDAwO2ZvbnQtd2VpZ2h0OnZhcigtLXBseXItZm9udC13ZWlnaHQtcmVndWxhciw0MDApO2xpbmUtaGVpZ2h0OjEuNztsaW5lLWhlaWdodDp2YXIoLS1wbHlyLWxpbmUtaGVpZ2h0LDEuNyk7bWF4LXdpZHRoOjEwMCU7bWluLXdpZHRoOjIwMHB4O3Bvc2l0aW9uOnJlbGF0aXZlO3RleHQtc2hhZG93Om5vbmU7dHJhbnNpdGlvbjpib3gtc2hhZG93IC4zcyBlYXNlO3otaW5kZXg6MH0ucGx5ciBhdWRpbywucGx5ciBpZnJhbWUsLnBseXIgdmlkZW97ZGlzcGxheTpibG9jaztoZWlnaHQ6MTAwJTt3aWR0aDoxMDAlfS5wbHlyIGJ1dHRvbntmb250OmluaGVyaXQ7bGluZS1oZWlnaHQ6aW5oZXJpdDt3aWR0aDphdXRvfS5wbHlyOmZvY3Vze291dGxpbmU6MH0ucGx5ci0tZnVsbC11aXtib3gtc2l6aW5nOmJvcmRlci1ib3h9LnBseXItLWZ1bGwtdWkgKiwucGx5ci0tZnVsbC11aSA6YWZ0ZXIsLnBseXItLWZ1bGwtdWkgOmJlZm9yZXtib3gtc2l6aW5nOmluaGVyaXR9LnBseXItLWZ1bGwtdWkgYSwucGx5ci0tZnVsbC11aSBidXR0b24sLnBseXItLWZ1bGwtdWkgaW5wdXQsLnBseXItLWZ1bGwtdWkgbGFiZWx7dG91Y2gtYWN0aW9uOm1hbmlwdWxhdGlvbn0ucGx5cl9fYmFkZ2V7YmFja2dyb3VuZDojNGE1NDY0O2JhY2tncm91bmQ6dmFyKC0tcGx5ci1iYWRnZS1iYWNrZ3JvdW5kLCM0YTU0NjQpO2JvcmRlci1yYWRpdXM6MnB4O2JvcmRlci1yYWRpdXM6dmFyKC0tcGx5ci1iYWRnZS1ib3JkZXItcmFkaXVzLDJweCk7Y29sb3I6I2ZmZjtjb2xvcjp2YXIoLS1wbHlyLWJhZGdlLXRleHQtY29sb3IsI2ZmZik7Zm9udC1zaXplOjlweDtmb250LXNpemU6dmFyKC0tcGx5ci1mb250LXNpemUtYmFkZ2UsOXB4KTtsaW5lLWhlaWdodDoxO3BhZGRpbmc6M3B4IDRweH0ucGx5ci0tZnVsbC11aSA6Oi13ZWJraXQtbWVkaWEtdGV4dC10cmFjay1jb250YWluZXJ7ZGlzcGxheTpub25lfS5wbHlyX19jYXB0aW9uc3thbmltYXRpb246cGx5ci1mYWRlLWluIC4zcyBlYXNlO2JvdHRvbTowO2Rpc3BsYXk6bm9uZTtmb250LXNpemU6MTNweDtmb250LXNpemU6dmFyKC0tcGx5ci1mb250LXNpemUtc21hbGwsMTNweCk7bGVmdDowO3BhZGRpbmc6MTBweDtwYWRkaW5nOnZhcigtLXBseXItY29udHJvbC1zcGFjaW5nLDEwcHgpO3Bvc2l0aW9uOmFic29sdXRlO3RleHQtYWxpZ246Y2VudGVyO3RyYW5zaXRpb246dHJhbnNmb3JtIC40cyBlYXNlLWluLW91dDt3aWR0aDoxMDAlfS5wbHlyX19jYXB0aW9ucyBzcGFuOmVtcHR5e2Rpc3BsYXk6bm9uZX1AbWVkaWEgKG1pbi13aWR0aDo0ODBweCl7LnBseXJfX2NhcHRpb25ze2ZvbnQtc2l6ZToxNXB4O2ZvbnQtc2l6ZTp2YXIoLS1wbHlyLWZvbnQtc2l6ZS1iYXNlLDE1cHgpO3BhZGRpbmc6MjBweDtwYWRkaW5nOmNhbGModmFyKC0tcGx5ci1jb250cm9sLXNwYWNpbmcsIDEwcHgpKjIpfX1AbWVkaWEgKG1pbi13aWR0aDo3NjhweCl7LnBseXJfX2NhcHRpb25ze2ZvbnQtc2l6ZToxOHB4O2ZvbnQtc2l6ZTp2YXIoLS1wbHlyLWZvbnQtc2l6ZS1sYXJnZSwxOHB4KX19LnBseXItLWNhcHRpb25zLWFjdGl2ZSAucGx5cl9fY2FwdGlvbnN7ZGlzcGxheTpibG9ja30ucGx5cjpub3QoLnBseXItLWhpZGUtY29udHJvbHMpIC5wbHlyX19jb250cm9sczpub3QoOmVtcHR5KX4ucGx5cl9fY2FwdGlvbnN7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTQwcHgpO3RyYW5zZm9ybTp0cmFuc2xhdGVZKGNhbGModmFyKC0tcGx5ci1jb250cm9sLXNwYWNpbmcsIDEwcHgpKi00KSl9LnBseXJfX2NhcHRpb257YmFja2dyb3VuZDojMDAwYztiYWNrZ3JvdW5kOnZhcigtLXBseXItY2FwdGlvbnMtYmFja2dyb3VuZCwjMDAwYyk7Ym9yZGVyLXJhZGl1czoycHg7LXdlYmtpdC1ib3gtZGVjb3JhdGlvbi1icmVhazpjbG9uZTtib3gtZGVjb3JhdGlvbi1icmVhazpjbG9uZTtjb2xvcjojZmZmO2NvbG9yOnZhcigtLXBseXItY2FwdGlvbnMtdGV4dC1jb2xvciwjZmZmKTtsaW5lLWhlaWdodDoxODUlO3BhZGRpbmc6LjJlbSAuNWVtO3doaXRlLXNwYWNlOnByZS13cmFwfS5wbHlyX19jYXB0aW9uIGRpdntkaXNwbGF5OmlubGluZX0ucGx5cl9fY29udHJvbHtiYWNrZ3JvdW5kOiMwMDAwO2JvcmRlcjowO2JvcmRlci1yYWRpdXM6NHB4O2JvcmRlci1yYWRpdXM6dmFyKC0tcGx5ci1jb250cm9sLXJhZGl1cyw0cHgpO2NvbG9yOmluaGVyaXQ7Y3Vyc29yOnBvaW50ZXI7ZmxleC1zaHJpbms6MDtvdmVyZmxvdzp2aXNpYmxlO3BhZGRpbmc6N3B4O3BhZGRpbmc6Y2FsYyh2YXIoLS1wbHlyLWNvbnRyb2wtc3BhY2luZywgMTBweCkqLjcpO3Bvc2l0aW9uOnJlbGF0aXZlO3RyYW5zaXRpb246YWxsIC4zcyBlYXNlfS5wbHlyX19jb250cm9sIHN2Z3tmaWxsOmN1cnJlbnRDb2xvcjtkaXNwbGF5OmJsb2NrO2hlaWdodDoxOHB4O2hlaWdodDp2YXIoLS1wbHlyLWNvbnRyb2wtaWNvbi1zaXplLDE4cHgpO3BvaW50ZXItZXZlbnRzOm5vbmU7d2lkdGg6MThweDt3aWR0aDp2YXIoLS1wbHlyLWNvbnRyb2wtaWNvbi1zaXplLDE4cHgpfS5wbHlyX19jb250cm9sOmZvY3Vze291dGxpbmU6MH0ucGx5cl9fY29udHJvbDpmb2N1cy12aXNpYmxle291dGxpbmU6MnB4IGRhc2hlZCAjMDBiMmZmO291dGxpbmU6MnB4IGRhc2hlZCB2YXIoLS1wbHlyLWZvY3VzLXZpc2libGUtY29sb3IsdmFyKC0tcGx5ci1jb2xvci1tYWluLHZhcigtLXBseXItY29sb3ItbWFpbiwjMDBiMmZmKSkpO291dGxpbmUtb2Zmc2V0OjJweH1hLnBseXJfX2NvbnRyb2x7dGV4dC1kZWNvcmF0aW9uOm5vbmV9LnBseXJfX2NvbnRyb2wucGx5cl9fY29udHJvbC0tcHJlc3NlZCAuaWNvbi0tbm90LXByZXNzZWQsLnBseXJfX2NvbnRyb2wucGx5cl9fY29udHJvbC0tcHJlc3NlZCAubGFiZWwtLW5vdC1wcmVzc2VkLC5wbHlyX19jb250cm9sOm5vdCgucGx5cl9fY29udHJvbC0tcHJlc3NlZCkgLmljb24tLXByZXNzZWQsLnBseXJfX2NvbnRyb2w6bm90KC5wbHlyX19jb250cm9sLS1wcmVzc2VkKSAubGFiZWwtLXByZXNzZWQsYS5wbHlyX19jb250cm9sOmFmdGVyLGEucGx5cl9fY29udHJvbDpiZWZvcmV7ZGlzcGxheTpub25lfS5wbHlyLS1mdWxsLXVpIDo6LXdlYmtpdC1tZWRpYS1jb250cm9sc3tkaXNwbGF5Om5vbmV9LnBseXJfX2NvbnRyb2xze2FsaWduLWl0ZW1zOmNlbnRlcjtkaXNwbGF5OmZsZXg7anVzdGlmeS1jb250ZW50OmZsZXgtZW5kO3RleHQtYWxpZ246Y2VudGVyfS5wbHlyX19jb250cm9scyAucGx5cl9fcHJvZ3Jlc3NfX2NvbnRhaW5lcntmbGV4OjE7bWluLXdpZHRoOjB9LnBseXJfX2NvbnRyb2xzIC5wbHlyX19jb250cm9sc19faXRlbXttYXJnaW4tbGVmdDoyLjVweDttYXJnaW4tbGVmdDpjYWxjKHZhcigtLXBseXItY29udHJvbC1zcGFjaW5nLCAxMHB4KS80KX0ucGx5cl9fY29udHJvbHMgLnBseXJfX2NvbnRyb2xzX19pdGVtOmZpcnN0LWNoaWxke21hcmdpbi1sZWZ0OjA7bWFyZ2luLXJpZ2h0OmF1dG99LnBseXJfX2NvbnRyb2xzIC5wbHlyX19jb250cm9sc19faXRlbS5wbHlyX19wcm9ncmVzc19fY29udGFpbmVye3BhZGRpbmctbGVmdDoyLjVweDtwYWRkaW5nLWxlZnQ6Y2FsYyh2YXIoLS1wbHlyLWNvbnRyb2wtc3BhY2luZywgMTBweCkvNCl9LnBseXJfX2NvbnRyb2xzIC5wbHlyX19jb250cm9sc19faXRlbS5wbHlyX190aW1le3BhZGRpbmc6MCA1cHg7cGFkZGluZzowIGNhbGModmFyKC0tcGx5ci1jb250cm9sLXNwYWNpbmcsIDEwcHgpLzIpfS5wbHlyX19jb250cm9scyAucGx5cl9fY29udHJvbHNfX2l0ZW0ucGx5cl9fcHJvZ3Jlc3NfX2NvbnRhaW5lcjpmaXJzdC1jaGlsZCwucGx5cl9fY29udHJvbHMgLnBseXJfX2NvbnRyb2xzX19pdGVtLnBseXJfX3RpbWUrLnBseXJfX3RpbWUsLnBseXJfX2NvbnRyb2xzIC5wbHlyX19jb250cm9sc19faXRlbS5wbHlyX190aW1lOmZpcnN0LWNoaWxke3BhZGRpbmctbGVmdDowfS5wbHlyIFtkYXRhLXBseXI9YWlycGxheV0sLnBseXIgW2RhdGEtcGx5cj1jYXB0aW9uc10sLnBseXIgW2RhdGEtcGx5cj1mdWxsc2NyZWVuXSwucGx5ciBbZGF0YS1wbHlyPXBpcF0sLnBseXJfX2NvbnRyb2xzOmVtcHR5e2Rpc3BsYXk6bm9uZX0ucGx5ci0tYWlycGxheS1zdXBwb3J0ZWQgW2RhdGEtcGx5cj1haXJwbGF5XSwucGx5ci0tY2FwdGlvbnMtZW5hYmxlZCBbZGF0YS1wbHlyPWNhcHRpb25zXSwucGx5ci0tZnVsbHNjcmVlbi1lbmFibGVkIFtkYXRhLXBseXI9ZnVsbHNjcmVlbl0sLnBseXItLXBpcC1zdXBwb3J0ZWQgW2RhdGEtcGx5cj1waXBde2Rpc3BsYXk6aW5saW5lLWJsb2NrfS5wbHlyX19tZW51e2Rpc3BsYXk6ZmxleDtwb3NpdGlvbjpyZWxhdGl2ZX0ucGx5cl9fbWVudSAucGx5cl9fY29udHJvbCBzdmd7dHJhbnNpdGlvbjp0cmFuc2Zvcm0gLjNzIGVhc2V9LnBseXJfX21lbnUgLnBseXJfX2NvbnRyb2xbYXJpYS1leHBhbmRlZD10cnVlXSBzdmd7dHJhbnNmb3JtOnJvdGF0ZSg5MGRlZyl9LnBseXJfX21lbnUgLnBseXJfX2NvbnRyb2xbYXJpYS1leHBhbmRlZD10cnVlXSAucGx5cl9fdG9vbHRpcHtkaXNwbGF5Om5vbmV9LnBseXJfX21lbnVfX2NvbnRhaW5lcnthbmltYXRpb246cGx5ci1wb3B1cCAuMnMgZWFzZTtiYWNrZ3JvdW5kOiNmZmZmZmZlNjtiYWNrZ3JvdW5kOnZhcigtLXBseXItbWVudS1iYWNrZ3JvdW5kLCNmZmZmZmZlNik7Ym9yZGVyLXJhZGl1czo4cHg7Ym9yZGVyLXJhZGl1czp2YXIoLS1wbHlyLW1lbnUtcmFkaXVzLDhweCk7Ym90dG9tOjEwMCU7Ym94LXNoYWRvdzowIDFweCAycHggIzAwMDAwMDI2O2JveC1zaGFkb3c6dmFyKC0tcGx5ci1tZW51LXNoYWRvdywwIDFweCAycHggIzAwMDAwMDI2KTtjb2xvcjojNGE1NDY0O2NvbG9yOnZhcigtLXBseXItbWVudS1jb2xvciwjNGE1NDY0KTtmb250LXNpemU6MTVweDtmb250LXNpemU6dmFyKC0tcGx5ci1mb250LXNpemUtYmFzZSwxNXB4KTttYXJnaW4tYm90dG9tOjEwcHg7cG9zaXRpb246YWJzb2x1dGU7cmlnaHQ6LTNweDt0ZXh0LWFsaWduOmxlZnQ7d2hpdGUtc3BhY2U6bm93cmFwO3otaW5kZXg6M30ucGx5cl9fbWVudV9fY29udGFpbmVyPmRpdntvdmVyZmxvdzpoaWRkZW47dHJhbnNpdGlvbjpoZWlnaHQgLjM1cyBjdWJpYy1iZXppZXIoLjQsMCwuMiwxKSx3aWR0aCAuMzVzIGN1YmljLWJlemllciguNCwwLC4yLDEpfS5wbHlyX19tZW51X19jb250YWluZXI6YWZ0ZXJ7Ym9yZGVyOjRweCBzb2xpZCAjMDAwMDtib3JkZXItdG9wLWNvbG9yOiNmZmZmZmZlNjtib3JkZXI6dmFyKC0tcGx5ci1tZW51LWFycm93LXNpemUsNHB4KSBzb2xpZCAjMDAwMDtib3JkZXItdG9wLWNvbG9yOnZhcigtLXBseXItbWVudS1iYWNrZ3JvdW5kLCNmZmZmZmZlNik7Y29udGVudDpcIlwiO2hlaWdodDowO3Bvc2l0aW9uOmFic29sdXRlO3JpZ2h0OjE0cHg7cmlnaHQ6Y2FsYyh2YXIoLS1wbHlyLWNvbnRyb2wtaWNvbi1zaXplLCAxOHB4KS8yICsgdmFyKC0tcGx5ci1jb250cm9sLXNwYWNpbmcsIDEwcHgpKi43IC0gdmFyKC0tcGx5ci1tZW51LWFycm93LXNpemUsIDRweCkvMik7dG9wOjEwMCU7d2lkdGg6MH0ucGx5cl9fbWVudV9fY29udGFpbmVyIFtyb2xlPW1lbnVde3BhZGRpbmc6N3B4O3BhZGRpbmc6Y2FsYyh2YXIoLS1wbHlyLWNvbnRyb2wtc3BhY2luZywgMTBweCkqLjcpfS5wbHlyX19tZW51X19jb250YWluZXIgW3JvbGU9bWVudWl0ZW1dLC5wbHlyX19tZW51X19jb250YWluZXIgW3JvbGU9bWVudWl0ZW1yYWRpb117bWFyZ2luLXRvcDoycHh9LnBseXJfX21lbnVfX2NvbnRhaW5lciBbcm9sZT1tZW51aXRlbV06Zmlyc3QtY2hpbGQsLnBseXJfX21lbnVfX2NvbnRhaW5lciBbcm9sZT1tZW51aXRlbXJhZGlvXTpmaXJzdC1jaGlsZHttYXJnaW4tdG9wOjB9LnBseXJfX21lbnVfX2NvbnRhaW5lciAucGx5cl9fY29udHJvbHthbGlnbi1pdGVtczpjZW50ZXI7Y29sb3I6IzRhNTQ2NDtjb2xvcjp2YXIoLS1wbHlyLW1lbnUtY29sb3IsIzRhNTQ2NCk7ZGlzcGxheTpmbGV4O2ZvbnQtc2l6ZToxM3B4O2ZvbnQtc2l6ZTp2YXIoLS1wbHlyLWZvbnQtc2l6ZS1tZW51LHZhcigtLXBseXItZm9udC1zaXplLXNtYWxsLDEzcHgpKTtwYWRkaW5nOjQuNjY2NjdweCAxMC41cHg7cGFkZGluZzpjYWxjKHZhcigtLXBseXItY29udHJvbC1zcGFjaW5nLCAxMHB4KSouNy8xLjUpIGNhbGModmFyKC0tcGx5ci1jb250cm9sLXNwYWNpbmcsIDEwcHgpKi43KjEuNSk7LXdlYmtpdC11c2VyLXNlbGVjdDpub25lO3VzZXItc2VsZWN0Om5vbmU7d2lkdGg6MTAwJX0ucGx5cl9fbWVudV9fY29udGFpbmVyIC5wbHlyX19jb250cm9sPnNwYW57YWxpZ24taXRlbXM6aW5oZXJpdDtkaXNwbGF5OmZsZXg7d2lkdGg6MTAwJX0ucGx5cl9fbWVudV9fY29udGFpbmVyIC5wbHlyX19jb250cm9sOmFmdGVye2JvcmRlcjo0cHggc29saWQgIzAwMDA7Ym9yZGVyOnZhcigtLXBseXItbWVudS1pdGVtLWFycm93LXNpemUsNHB4KSBzb2xpZCAjMDAwMDtjb250ZW50OlwiXCI7cG9zaXRpb246YWJzb2x1dGU7dG9wOjUwJTt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtNTAlKX0ucGx5cl9fbWVudV9fY29udGFpbmVyIC5wbHlyX19jb250cm9sLS1mb3J3YXJke3BhZGRpbmctcmlnaHQ6MjhweDtwYWRkaW5nLXJpZ2h0OmNhbGModmFyKC0tcGx5ci1jb250cm9sLXNwYWNpbmcsIDEwcHgpKi43KjQpfS5wbHlyX19tZW51X19jb250YWluZXIgLnBseXJfX2NvbnRyb2wtLWZvcndhcmQ6YWZ0ZXJ7Ym9yZGVyLWxlZnQtY29sb3I6IzcyODE5Nztib3JkZXItbGVmdC1jb2xvcjp2YXIoLS1wbHlyLW1lbnUtYXJyb3ctY29sb3IsIzcyODE5Nyk7cmlnaHQ6Ni41cHg7cmlnaHQ6Y2FsYyh2YXIoLS1wbHlyLWNvbnRyb2wtc3BhY2luZywgMTBweCkqLjcqMS41IC0gdmFyKC0tcGx5ci1tZW51LWl0ZW0tYXJyb3ctc2l6ZSwgNHB4KSl9LnBseXJfX21lbnVfX2NvbnRhaW5lciAucGx5cl9fY29udHJvbC0tZm9yd2FyZDpmb2N1cy12aXNpYmxlOmFmdGVyLC5wbHlyX19tZW51X19jb250YWluZXIgLnBseXJfX2NvbnRyb2wtLWZvcndhcmQ6aG92ZXI6YWZ0ZXJ7Ym9yZGVyLWxlZnQtY29sb3I6aW5pdGlhbH0ucGx5cl9fbWVudV9fY29udGFpbmVyIC5wbHlyX19jb250cm9sLS1iYWNre2ZvbnQtd2VpZ2h0OjQwMDtmb250LXdlaWdodDp2YXIoLS1wbHlyLWZvbnQtd2VpZ2h0LXJlZ3VsYXIsNDAwKTttYXJnaW46N3B4O21hcmdpbjpjYWxjKHZhcigtLXBseXItY29udHJvbC1zcGFjaW5nLCAxMHB4KSouNyk7bWFyZ2luLWJvdHRvbTozLjVweDttYXJnaW4tYm90dG9tOmNhbGModmFyKC0tcGx5ci1jb250cm9sLXNwYWNpbmcsIDEwcHgpKi43LzIpO3BhZGRpbmctbGVmdDoyOHB4O3BhZGRpbmctbGVmdDpjYWxjKHZhcigtLXBseXItY29udHJvbC1zcGFjaW5nLCAxMHB4KSouNyo0KTtwb3NpdGlvbjpyZWxhdGl2ZTt3aWR0aDpjYWxjKDEwMCUgLSAxNHB4KTt3aWR0aDpjYWxjKDEwMCUgLSB2YXIoLS1wbHlyLWNvbnRyb2wtc3BhY2luZywgMTBweCkqLjcqMil9LnBseXJfX21lbnVfX2NvbnRhaW5lciAucGx5cl9fY29udHJvbC0tYmFjazphZnRlcntib3JkZXItcmlnaHQtY29sb3I6IzcyODE5Nztib3JkZXItcmlnaHQtY29sb3I6dmFyKC0tcGx5ci1tZW51LWFycm93LWNvbG9yLCM3MjgxOTcpO2xlZnQ6Ni41cHg7bGVmdDpjYWxjKHZhcigtLXBseXItY29udHJvbC1zcGFjaW5nLCAxMHB4KSouNyoxLjUgLSB2YXIoLS1wbHlyLW1lbnUtaXRlbS1hcnJvdy1zaXplLCA0cHgpKX0ucGx5cl9fbWVudV9fY29udGFpbmVyIC5wbHlyX19jb250cm9sLS1iYWNrOmJlZm9yZXtiYWNrZ3JvdW5kOiNkY2RmZTU7YmFja2dyb3VuZDp2YXIoLS1wbHlyLW1lbnUtYmFjay1ib3JkZXItY29sb3IsI2RjZGZlNSk7Ym94LXNoYWRvdzowIDFweCAwICNmZmY7Ym94LXNoYWRvdzowIDFweCAwIHZhcigtLXBseXItbWVudS1iYWNrLWJvcmRlci1zaGFkb3ctY29sb3IsI2ZmZik7Y29udGVudDpcIlwiO2hlaWdodDoxcHg7bGVmdDowO21hcmdpbi10b3A6My41cHg7bWFyZ2luLXRvcDpjYWxjKHZhcigtLXBseXItY29udHJvbC1zcGFjaW5nLCAxMHB4KSouNy8yKTtvdmVyZmxvdzpoaWRkZW47cG9zaXRpb246YWJzb2x1dGU7cmlnaHQ6MDt0b3A6MTAwJX0ucGx5cl9fbWVudV9fY29udGFpbmVyIC5wbHlyX19jb250cm9sLS1iYWNrOmZvY3VzLXZpc2libGU6YWZ0ZXIsLnBseXJfX21lbnVfX2NvbnRhaW5lciAucGx5cl9fY29udHJvbC0tYmFjazpob3ZlcjphZnRlcntib3JkZXItcmlnaHQtY29sb3I6aW5pdGlhbH0ucGx5cl9fbWVudV9fY29udGFpbmVyIC5wbHlyX19jb250cm9sW3JvbGU9bWVudWl0ZW1yYWRpb117cGFkZGluZy1sZWZ0OjdweDtwYWRkaW5nLWxlZnQ6Y2FsYyh2YXIoLS1wbHlyLWNvbnRyb2wtc3BhY2luZywgMTBweCkqLjcpfS5wbHlyX19tZW51X19jb250YWluZXIgLnBseXJfX2NvbnRyb2xbcm9sZT1tZW51aXRlbXJhZGlvXTphZnRlciwucGx5cl9fbWVudV9fY29udGFpbmVyIC5wbHlyX19jb250cm9sW3JvbGU9bWVudWl0ZW1yYWRpb106YmVmb3Jle2JvcmRlci1yYWRpdXM6MTAwJX0ucGx5cl9fbWVudV9fY29udGFpbmVyIC5wbHlyX19jb250cm9sW3JvbGU9bWVudWl0ZW1yYWRpb106YmVmb3Jle2JhY2tncm91bmQ6IzAwMDAwMDFhO2NvbnRlbnQ6XCJcIjtkaXNwbGF5OmJsb2NrO2ZsZXgtc2hyaW5rOjA7aGVpZ2h0OjE2cHg7bWFyZ2luLXJpZ2h0OjEwcHg7bWFyZ2luLXJpZ2h0OnZhcigtLXBseXItY29udHJvbC1zcGFjaW5nLDEwcHgpO3RyYW5zaXRpb246YWxsIC4zcyBlYXNlO3dpZHRoOjE2cHh9LnBseXJfX21lbnVfX2NvbnRhaW5lciAucGx5cl9fY29udHJvbFtyb2xlPW1lbnVpdGVtcmFkaW9dOmFmdGVye2JhY2tncm91bmQ6I2ZmZjtib3JkZXI6MDtoZWlnaHQ6NnB4O2xlZnQ6MTJweDtvcGFjaXR5OjA7dG9wOjUwJTt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtNTAlKSBzY2FsZSgwKTt0cmFuc2l0aW9uOnRyYW5zZm9ybSAuM3MgZWFzZSxvcGFjaXR5IC4zcyBlYXNlO3dpZHRoOjZweH0ucGx5cl9fbWVudV9fY29udGFpbmVyIC5wbHlyX19jb250cm9sW3JvbGU9bWVudWl0ZW1yYWRpb11bYXJpYS1jaGVja2VkPXRydWVdOmJlZm9yZXtiYWNrZ3JvdW5kOiMwMGIyZmY7YmFja2dyb3VuZDp2YXIoLS1wbHlyLWNvbnRyb2wtdG9nZ2xlLWNoZWNrZWQtYmFja2dyb3VuZCx2YXIoLS1wbHlyLWNvbG9yLW1haW4sdmFyKC0tcGx5ci1jb2xvci1tYWluLCMwMGIyZmYpKSl9LnBseXJfX21lbnVfX2NvbnRhaW5lciAucGx5cl9fY29udHJvbFtyb2xlPW1lbnVpdGVtcmFkaW9dW2FyaWEtY2hlY2tlZD10cnVlXTphZnRlcntvcGFjaXR5OjE7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTUwJSkgc2NhbGUoMSl9LnBseXJfX21lbnVfX2NvbnRhaW5lciAucGx5cl9fY29udHJvbFtyb2xlPW1lbnVpdGVtcmFkaW9dOmZvY3VzLXZpc2libGU6YmVmb3JlLC5wbHlyX19tZW51X19jb250YWluZXIgLnBseXJfX2NvbnRyb2xbcm9sZT1tZW51aXRlbXJhZGlvXTpob3ZlcjpiZWZvcmV7YmFja2dyb3VuZDojMjMyODJmMWF9LnBseXJfX21lbnVfX2NvbnRhaW5lciAucGx5cl9fbWVudV9fdmFsdWV7YWxpZ24taXRlbXM6Y2VudGVyO2Rpc3BsYXk6ZmxleDttYXJnaW4tbGVmdDphdXRvO21hcmdpbi1yaWdodDotNXB4O21hcmdpbi1yaWdodDpjYWxjKHZhcigtLXBseXItY29udHJvbC1zcGFjaW5nLCAxMHB4KSouNyotMSAtIC0ycHgpO292ZXJmbG93OmhpZGRlbjtwYWRkaW5nLWxlZnQ6MjQuNXB4O3BhZGRpbmctbGVmdDpjYWxjKHZhcigtLXBseXItY29udHJvbC1zcGFjaW5nLCAxMHB4KSouNyozLjUpO3BvaW50ZXItZXZlbnRzOm5vbmV9LnBseXItLWZ1bGwtdWkgaW5wdXRbdHlwZT1yYW5nZV17LXdlYmtpdC1hcHBlYXJhbmNlOm5vbmU7YXBwZWFyYW5jZTpub25lO2JhY2tncm91bmQ6IzAwMDA7Ym9yZGVyOjA7Ym9yZGVyLXJhZGl1czoyNnB4O2JvcmRlci1yYWRpdXM6Y2FsYyh2YXIoLS1wbHlyLXJhbmdlLXRodW1iLWhlaWdodCwgMTNweCkqMik7Y29sb3I6IzAwYjJmZjtjb2xvcjp2YXIoLS1wbHlyLXJhbmdlLWZpbGwtYmFja2dyb3VuZCx2YXIoLS1wbHlyLWNvbG9yLW1haW4sdmFyKC0tcGx5ci1jb2xvci1tYWluLCMwMGIyZmYpKSk7ZGlzcGxheTpibG9jaztoZWlnaHQ6MTlweDtoZWlnaHQ6Y2FsYyh2YXIoLS1wbHlyLXJhbmdlLXRodW1iLWFjdGl2ZS1zaGFkb3ctd2lkdGgsIDNweCkqMiArIHZhcigtLXBseXItcmFuZ2UtdGh1bWItaGVpZ2h0LCAxM3B4KSk7bWFyZ2luOjA7bWluLXdpZHRoOjA7cGFkZGluZzowO3RyYW5zaXRpb246Ym94LXNoYWRvdyAuM3MgZWFzZTt3aWR0aDoxMDAlfS5wbHlyLS1mdWxsLXVpIGlucHV0W3R5cGU9cmFuZ2VdOjotd2Via2l0LXNsaWRlci1ydW5uYWJsZS10cmFja3tiYWNrZ3JvdW5kOiMwMDAwO2JhY2tncm91bmQtaW1hZ2U6bGluZWFyLWdyYWRpZW50KDkwZGVnLGN1cnJlbnRDb2xvciAwLCMwMDAwIDApO2JhY2tncm91bmQtaW1hZ2U6bGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LGN1cnJlbnRDb2xvciB2YXIoLS12YWx1ZSwwKSwjMDAwMCB2YXIoLS12YWx1ZSwwKSk7Ym9yZGVyOjA7Ym9yZGVyLXJhZGl1czoyLjVweDtib3JkZXItcmFkaXVzOmNhbGModmFyKC0tcGx5ci1yYW5nZS10cmFjay1oZWlnaHQsIDVweCkvMik7aGVpZ2h0OjVweDtoZWlnaHQ6dmFyKC0tcGx5ci1yYW5nZS10cmFjay1oZWlnaHQsNXB4KTstd2Via2l0LXRyYW5zaXRpb246Ym94LXNoYWRvdyAuM3MgZWFzZTt0cmFuc2l0aW9uOmJveC1zaGFkb3cgLjNzIGVhc2U7LXdlYmtpdC11c2VyLXNlbGVjdDpub25lO3VzZXItc2VsZWN0Om5vbmV9LnBseXItLWZ1bGwtdWkgaW5wdXRbdHlwZT1yYW5nZV06Oi13ZWJraXQtc2xpZGVyLXRodW1iey13ZWJraXQtYXBwZWFyYW5jZTpub25lO2FwcGVhcmFuY2U6bm9uZTtiYWNrZ3JvdW5kOiNmZmY7YmFja2dyb3VuZDp2YXIoLS1wbHlyLXJhbmdlLXRodW1iLWJhY2tncm91bmQsI2ZmZik7Ym9yZGVyOjA7Ym9yZGVyLXJhZGl1czoxMDAlO2JveC1zaGFkb3c6MCAxcHggMXB4ICMyMzI4MmYyNiwwIDAgMCAxcHggIzIzMjgyZjMzO2JveC1zaGFkb3c6dmFyKC0tcGx5ci1yYW5nZS10aHVtYi1zaGFkb3csMCAxcHggMXB4ICMyMzI4MmYyNiwwIDAgMCAxcHggIzIzMjgyZjMzKTtoZWlnaHQ6MTNweDtoZWlnaHQ6dmFyKC0tcGx5ci1yYW5nZS10aHVtYi1oZWlnaHQsMTNweCk7bWFyZ2luLXRvcDotNHB4O21hcmdpbi10b3A6Y2FsYygodmFyKC0tcGx5ci1yYW5nZS10aHVtYi1oZWlnaHQsIDEzcHgpIC0gdmFyKC0tcGx5ci1yYW5nZS10cmFjay1oZWlnaHQsIDVweCkpLzIqLTEpO3Bvc2l0aW9uOnJlbGF0aXZlOy13ZWJraXQtdHJhbnNpdGlvbjphbGwgLjJzIGVhc2U7dHJhbnNpdGlvbjphbGwgLjJzIGVhc2U7d2lkdGg6MTNweDt3aWR0aDp2YXIoLS1wbHlyLXJhbmdlLXRodW1iLWhlaWdodCwxM3B4KX0ucGx5ci0tZnVsbC11aSBpbnB1dFt0eXBlPXJhbmdlXTo6LW1vei1yYW5nZS10cmFja3tiYWNrZ3JvdW5kOiMwMDAwO2JvcmRlcjowO2JvcmRlci1yYWRpdXM6Mi41cHg7Ym9yZGVyLXJhZGl1czpjYWxjKHZhcigtLXBseXItcmFuZ2UtdHJhY2staGVpZ2h0LCA1cHgpLzIpO2hlaWdodDo1cHg7aGVpZ2h0OnZhcigtLXBseXItcmFuZ2UtdHJhY2staGVpZ2h0LDVweCk7LW1vei10cmFuc2l0aW9uOmJveC1zaGFkb3cgLjNzIGVhc2U7dHJhbnNpdGlvbjpib3gtc2hhZG93IC4zcyBlYXNlO3VzZXItc2VsZWN0Om5vbmV9LnBseXItLWZ1bGwtdWkgaW5wdXRbdHlwZT1yYW5nZV06Oi1tb3otcmFuZ2UtdGh1bWJ7YmFja2dyb3VuZDojZmZmO2JhY2tncm91bmQ6dmFyKC0tcGx5ci1yYW5nZS10aHVtYi1iYWNrZ3JvdW5kLCNmZmYpO2JvcmRlcjowO2JvcmRlci1yYWRpdXM6MTAwJTtib3gtc2hhZG93OjAgMXB4IDFweCAjMjMyODJmMjYsMCAwIDAgMXB4ICMyMzI4MmYzMztib3gtc2hhZG93OnZhcigtLXBseXItcmFuZ2UtdGh1bWItc2hhZG93LDAgMXB4IDFweCAjMjMyODJmMjYsMCAwIDAgMXB4ICMyMzI4MmYzMyk7aGVpZ2h0OjEzcHg7aGVpZ2h0OnZhcigtLXBseXItcmFuZ2UtdGh1bWItaGVpZ2h0LDEzcHgpO3Bvc2l0aW9uOnJlbGF0aXZlOy1tb3otdHJhbnNpdGlvbjphbGwgLjJzIGVhc2U7dHJhbnNpdGlvbjphbGwgLjJzIGVhc2U7d2lkdGg6MTNweDt3aWR0aDp2YXIoLS1wbHlyLXJhbmdlLXRodW1iLWhlaWdodCwxM3B4KX0ucGx5ci0tZnVsbC11aSBpbnB1dFt0eXBlPXJhbmdlXTo6LW1vei1yYW5nZS1wcm9ncmVzc3tiYWNrZ3JvdW5kOmN1cnJlbnRDb2xvcjtib3JkZXItcmFkaXVzOjIuNXB4O2JvcmRlci1yYWRpdXM6Y2FsYyh2YXIoLS1wbHlyLXJhbmdlLXRyYWNrLWhlaWdodCwgNXB4KS8yKTtoZWlnaHQ6NXB4O2hlaWdodDp2YXIoLS1wbHlyLXJhbmdlLXRyYWNrLWhlaWdodCw1cHgpfS5wbHlyLS1mdWxsLXVpIGlucHV0W3R5cGU9cmFuZ2VdOjotbXMtdHJhY2t7Y29sb3I6IzAwMDB9LnBseXItLWZ1bGwtdWkgaW5wdXRbdHlwZT1yYW5nZV06Oi1tcy1maWxsLXVwcGVyLC5wbHlyLS1mdWxsLXVpIGlucHV0W3R5cGU9cmFuZ2VdOjotbXMtdHJhY2t7YmFja2dyb3VuZDojMDAwMDtib3JkZXI6MDtib3JkZXItcmFkaXVzOjIuNXB4O2JvcmRlci1yYWRpdXM6Y2FsYyh2YXIoLS1wbHlyLXJhbmdlLXRyYWNrLWhlaWdodCwgNXB4KS8yKTtoZWlnaHQ6NXB4O2hlaWdodDp2YXIoLS1wbHlyLXJhbmdlLXRyYWNrLWhlaWdodCw1cHgpOy1tcy10cmFuc2l0aW9uOmJveC1zaGFkb3cgLjNzIGVhc2U7dHJhbnNpdGlvbjpib3gtc2hhZG93IC4zcyBlYXNlO3VzZXItc2VsZWN0Om5vbmV9LnBseXItLWZ1bGwtdWkgaW5wdXRbdHlwZT1yYW5nZV06Oi1tcy1maWxsLWxvd2Vye2JhY2tncm91bmQ6IzAwMDA7YmFja2dyb3VuZDpjdXJyZW50Q29sb3I7Ym9yZGVyOjA7Ym9yZGVyLXJhZGl1czoyLjVweDtib3JkZXItcmFkaXVzOmNhbGModmFyKC0tcGx5ci1yYW5nZS10cmFjay1oZWlnaHQsIDVweCkvMik7aGVpZ2h0OjVweDtoZWlnaHQ6dmFyKC0tcGx5ci1yYW5nZS10cmFjay1oZWlnaHQsNXB4KTstbXMtdHJhbnNpdGlvbjpib3gtc2hhZG93IC4zcyBlYXNlO3RyYW5zaXRpb246Ym94LXNoYWRvdyAuM3MgZWFzZTt1c2VyLXNlbGVjdDpub25lfS5wbHlyLS1mdWxsLXVpIGlucHV0W3R5cGU9cmFuZ2VdOjotbXMtdGh1bWJ7YmFja2dyb3VuZDojZmZmO2JhY2tncm91bmQ6dmFyKC0tcGx5ci1yYW5nZS10aHVtYi1iYWNrZ3JvdW5kLCNmZmYpO2JvcmRlcjowO2JvcmRlci1yYWRpdXM6MTAwJTtib3gtc2hhZG93OjAgMXB4IDFweCAjMjMyODJmMjYsMCAwIDAgMXB4ICMyMzI4MmYzMztib3gtc2hhZG93OnZhcigtLXBseXItcmFuZ2UtdGh1bWItc2hhZG93LDAgMXB4IDFweCAjMjMyODJmMjYsMCAwIDAgMXB4ICMyMzI4MmYzMyk7aGVpZ2h0OjEzcHg7aGVpZ2h0OnZhcigtLXBseXItcmFuZ2UtdGh1bWItaGVpZ2h0LDEzcHgpO21hcmdpbi10b3A6MDtwb3NpdGlvbjpyZWxhdGl2ZTstbXMtdHJhbnNpdGlvbjphbGwgLjJzIGVhc2U7dHJhbnNpdGlvbjphbGwgLjJzIGVhc2U7d2lkdGg6MTNweDt3aWR0aDp2YXIoLS1wbHlyLXJhbmdlLXRodW1iLWhlaWdodCwxM3B4KX0ucGx5ci0tZnVsbC11aSBpbnB1dFt0eXBlPXJhbmdlXTo6LW1zLXRvb2x0aXB7ZGlzcGxheTpub25lfS5wbHlyLS1mdWxsLXVpIGlucHV0W3R5cGU9cmFuZ2VdOjotbW96LWZvY3VzLW91dGVye2JvcmRlcjowfS5wbHlyLS1mdWxsLXVpIGlucHV0W3R5cGU9cmFuZ2VdOmZvY3Vze291dGxpbmU6MH0ucGx5ci0tZnVsbC11aSBpbnB1dFt0eXBlPXJhbmdlXTpmb2N1cy12aXNpYmxlOjotd2Via2l0LXNsaWRlci1ydW5uYWJsZS10cmFja3tvdXRsaW5lOjJweCBkYXNoZWQgIzAwYjJmZjtvdXRsaW5lOjJweCBkYXNoZWQgdmFyKC0tcGx5ci1mb2N1cy12aXNpYmxlLWNvbG9yLHZhcigtLXBseXItY29sb3ItbWFpbix2YXIoLS1wbHlyLWNvbG9yLW1haW4sIzAwYjJmZikpKTtvdXRsaW5lLW9mZnNldDoycHh9LnBseXItLWZ1bGwtdWkgaW5wdXRbdHlwZT1yYW5nZV06Zm9jdXMtdmlzaWJsZTo6LW1vei1yYW5nZS10cmFja3tvdXRsaW5lOjJweCBkYXNoZWQgIzAwYjJmZjtvdXRsaW5lOjJweCBkYXNoZWQgdmFyKC0tcGx5ci1mb2N1cy12aXNpYmxlLWNvbG9yLHZhcigtLXBseXItY29sb3ItbWFpbix2YXIoLS1wbHlyLWNvbG9yLW1haW4sIzAwYjJmZikpKTtvdXRsaW5lLW9mZnNldDoycHh9LnBseXItLWZ1bGwtdWkgaW5wdXRbdHlwZT1yYW5nZV06Zm9jdXMtdmlzaWJsZTo6LW1zLXRyYWNre291dGxpbmU6MnB4IGRhc2hlZCAjMDBiMmZmO291dGxpbmU6MnB4IGRhc2hlZCB2YXIoLS1wbHlyLWZvY3VzLXZpc2libGUtY29sb3IsdmFyKC0tcGx5ci1jb2xvci1tYWluLHZhcigtLXBseXItY29sb3ItbWFpbiwjMDBiMmZmKSkpO291dGxpbmUtb2Zmc2V0OjJweH0ucGx5cl9fcG9zdGVye2JhY2tncm91bmQtY29sb3I6IzAwMDtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLXBseXItdmlkZW8tYmFja2dyb3VuZCx2YXIoLS1wbHlyLXZpZGVvLWJhY2tncm91bmQsIzAwMCkpO2JhY2tncm91bmQtcG9zaXRpb246NTAlIDUwJTtiYWNrZ3JvdW5kLXJlcGVhdDpuby1yZXBlYXQ7YmFja2dyb3VuZC1zaXplOmNvbnRhaW47aGVpZ2h0OjEwMCU7bGVmdDowO29wYWNpdHk6MDtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MDt0cmFuc2l0aW9uOm9wYWNpdHkgLjJzIGVhc2U7d2lkdGg6MTAwJTt6LWluZGV4OjF9LnBseXItLXN0b3BwZWQucGx5cl9fcG9zdGVyLWVuYWJsZWQgLnBseXJfX3Bvc3RlcntvcGFjaXR5OjF9LnBseXItLXlvdXR1YmUucGx5ci0tcGF1c2VkLnBseXJfX3Bvc3Rlci1lbmFibGVkOm5vdCgucGx5ci0tc3RvcHBlZCkgLnBseXJfX3Bvc3RlcntkaXNwbGF5Om5vbmV9LnBseXJfX3RpbWV7Zm9udC1zaXplOjEzcHg7Zm9udC1zaXplOnZhcigtLXBseXItZm9udC1zaXplLXRpbWUsdmFyKC0tcGx5ci1mb250LXNpemUtc21hbGwsMTNweCkpfS5wbHlyX190aW1lKy5wbHlyX190aW1lOmJlZm9yZXtjb250ZW50Olwi4oGEXCI7bWFyZ2luLXJpZ2h0OjEwcHg7bWFyZ2luLXJpZ2h0OnZhcigtLXBseXItY29udHJvbC1zcGFjaW5nLDEwcHgpfUBtZWRpYSAobWF4LXdpZHRoOjc2N3B4KXsucGx5cl9fdGltZSsucGx5cl9fdGltZXtkaXNwbGF5Om5vbmV9fS5wbHlyX190b29sdGlwe2JhY2tncm91bmQ6I2ZmZjtiYWNrZ3JvdW5kOnZhcigtLXBseXItdG9vbHRpcC1iYWNrZ3JvdW5kLCNmZmYpO2JvcmRlci1yYWRpdXM6NXB4O2JvcmRlci1yYWRpdXM6dmFyKC0tcGx5ci10b29sdGlwLXJhZGl1cyw1cHgpO2JvdHRvbToxMDAlO2JveC1zaGFkb3c6MCAxcHggMnB4ICMwMDAwMDAyNjtib3gtc2hhZG93OnZhcigtLXBseXItdG9vbHRpcC1zaGFkb3csMCAxcHggMnB4ICMwMDAwMDAyNik7Y29sb3I6IzRhNTQ2NDtjb2xvcjp2YXIoLS1wbHlyLXRvb2x0aXAtY29sb3IsIzRhNTQ2NCk7Zm9udC1zaXplOjEzcHg7Zm9udC1zaXplOnZhcigtLXBseXItZm9udC1zaXplLXNtYWxsLDEzcHgpO2ZvbnQtd2VpZ2h0OjQwMDtmb250LXdlaWdodDp2YXIoLS1wbHlyLWZvbnQtd2VpZ2h0LXJlZ3VsYXIsNDAwKTtsZWZ0OjUwJTtsaW5lLWhlaWdodDoxLjM7bWFyZ2luLWJvdHRvbToxMHB4O21hcmdpbi1ib3R0b206Y2FsYyh2YXIoLS1wbHlyLWNvbnRyb2wtc3BhY2luZywgMTBweCkvMioyKTtvcGFjaXR5OjA7cGFkZGluZzo1cHggNy41cHg7cGFkZGluZzpjYWxjKHZhcigtLXBseXItY29udHJvbC1zcGFjaW5nLCAxMHB4KS8yKSBjYWxjKHZhcigtLXBseXItY29udHJvbC1zcGFjaW5nLCAxMHB4KS8yKjEuNSk7cG9pbnRlci1ldmVudHM6bm9uZTtwb3NpdGlvbjphYnNvbHV0ZTt0cmFuc2Zvcm06dHJhbnNsYXRlKC01MCUsMTBweCkgc2NhbGUoLjgpO3RyYW5zZm9ybS1vcmlnaW46NTAlIDEwMCU7dHJhbnNpdGlvbjp0cmFuc2Zvcm0gLjJzIGVhc2UgLjFzLG9wYWNpdHkgLjJzIGVhc2UgLjFzO3doaXRlLXNwYWNlOm5vd3JhcDt6LWluZGV4OjJ9LnBseXJfX3Rvb2x0aXA6YmVmb3Jle2JvcmRlci1sZWZ0OjRweCBzb2xpZCAjMDAwMDtib3JkZXItbGVmdDp2YXIoLS1wbHlyLXRvb2x0aXAtYXJyb3ctc2l6ZSw0cHgpIHNvbGlkICMwMDAwO2JvcmRlci1yaWdodDo0cHggc29saWQgIzAwMDA7Ym9yZGVyLXJpZ2h0OnZhcigtLXBseXItdG9vbHRpcC1hcnJvdy1zaXplLDRweCkgc29saWQgIzAwMDA7Ym9yZGVyLXRvcDo0cHggc29saWQgI2ZmZjtib3JkZXItdG9wOnZhcigtLXBseXItdG9vbHRpcC1hcnJvdy1zaXplLDRweCkgc29saWQgdmFyKC0tcGx5ci10b29sdGlwLWJhY2tncm91bmQsI2ZmZik7Ym90dG9tOi00cHg7Ym90dG9tOmNhbGModmFyKC0tcGx5ci10b29sdGlwLWFycm93LXNpemUsIDRweCkqLTEpO2NvbnRlbnQ6XCJcIjtoZWlnaHQ6MDtsZWZ0OjUwJTtwb3NpdGlvbjphYnNvbHV0ZTt0cmFuc2Zvcm06dHJhbnNsYXRlWCgtNTAlKTt3aWR0aDowO3otaW5kZXg6Mn0ucGx5ciAucGx5cl9fY29udHJvbDpmb2N1cy12aXNpYmxlIC5wbHlyX190b29sdGlwLC5wbHlyIC5wbHlyX19jb250cm9sOmhvdmVyIC5wbHlyX190b29sdGlwLC5wbHlyX190b29sdGlwLS12aXNpYmxle29wYWNpdHk6MTt0cmFuc2Zvcm06dHJhbnNsYXRlKC01MCUpIHNjYWxlKDEpfS5wbHlyIC5wbHlyX19jb250cm9sOmhvdmVyIC5wbHlyX190b29sdGlwe3otaW5kZXg6M30ucGx5cl9fY29udHJvbHM+LnBseXJfX2NvbnRyb2w6Zmlyc3QtY2hpbGQgLnBseXJfX3Rvb2x0aXAsLnBseXJfX2NvbnRyb2xzPi5wbHlyX19jb250cm9sOmZpcnN0LWNoaWxkKy5wbHlyX19jb250cm9sIC5wbHlyX190b29sdGlwe2xlZnQ6MDt0cmFuc2Zvcm06dHJhbnNsYXRlWSgxMHB4KSBzY2FsZSguOCk7dHJhbnNmb3JtLW9yaWdpbjowIDEwMCV9LnBseXJfX2NvbnRyb2xzPi5wbHlyX19jb250cm9sOmZpcnN0LWNoaWxkIC5wbHlyX190b29sdGlwOmJlZm9yZSwucGx5cl9fY29udHJvbHM+LnBseXJfX2NvbnRyb2w6Zmlyc3QtY2hpbGQrLnBseXJfX2NvbnRyb2wgLnBseXJfX3Rvb2x0aXA6YmVmb3Jle2xlZnQ6MTZweDtsZWZ0OmNhbGModmFyKC0tcGx5ci1jb250cm9sLWljb24tc2l6ZSwgMThweCkvMiArIHZhcigtLXBseXItY29udHJvbC1zcGFjaW5nLCAxMHB4KSouNyl9LnBseXJfX2NvbnRyb2xzPi5wbHlyX19jb250cm9sOmxhc3QtY2hpbGQgLnBseXJfX3Rvb2x0aXB7bGVmdDphdXRvO3JpZ2h0OjA7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoMTBweCkgc2NhbGUoLjgpO3RyYW5zZm9ybS1vcmlnaW46MTAwJSAxMDAlfS5wbHlyX19jb250cm9scz4ucGx5cl9fY29udHJvbDpsYXN0LWNoaWxkIC5wbHlyX190b29sdGlwOmJlZm9yZXtsZWZ0OmF1dG87cmlnaHQ6MTZweDtyaWdodDpjYWxjKHZhcigtLXBseXItY29udHJvbC1pY29uLXNpemUsIDE4cHgpLzIgKyB2YXIoLS1wbHlyLWNvbnRyb2wtc3BhY2luZywgMTBweCkqLjcpO3RyYW5zZm9ybTp0cmFuc2xhdGVYKDUwJSl9LnBseXJfX2NvbnRyb2xzPi5wbHlyX19jb250cm9sOmZpcnN0LWNoaWxkIC5wbHlyX190b29sdGlwLS12aXNpYmxlLC5wbHlyX19jb250cm9scz4ucGx5cl9fY29udHJvbDpmaXJzdC1jaGlsZCsucGx5cl9fY29udHJvbCAucGx5cl9fdG9vbHRpcC0tdmlzaWJsZSwucGx5cl9fY29udHJvbHM+LnBseXJfX2NvbnRyb2w6Zmlyc3QtY2hpbGQrLnBseXJfX2NvbnRyb2w6Zm9jdXMtdmlzaWJsZSAucGx5cl9fdG9vbHRpcCwucGx5cl9fY29udHJvbHM+LnBseXJfX2NvbnRyb2w6Zmlyc3QtY2hpbGQrLnBseXJfX2NvbnRyb2w6aG92ZXIgLnBseXJfX3Rvb2x0aXAsLnBseXJfX2NvbnRyb2xzPi5wbHlyX19jb250cm9sOmZpcnN0LWNoaWxkOmZvY3VzLXZpc2libGUgLnBseXJfX3Rvb2x0aXAsLnBseXJfX2NvbnRyb2xzPi5wbHlyX19jb250cm9sOmZpcnN0LWNoaWxkOmhvdmVyIC5wbHlyX190b29sdGlwLC5wbHlyX19jb250cm9scz4ucGx5cl9fY29udHJvbDpsYXN0LWNoaWxkIC5wbHlyX190b29sdGlwLS12aXNpYmxlLC5wbHlyX19jb250cm9scz4ucGx5cl9fY29udHJvbDpsYXN0LWNoaWxkOmZvY3VzLXZpc2libGUgLnBseXJfX3Rvb2x0aXAsLnBseXJfX2NvbnRyb2xzPi5wbHlyX19jb250cm9sOmxhc3QtY2hpbGQ6aG92ZXIgLnBseXJfX3Rvb2x0aXB7dHJhbnNmb3JtOnRyYW5zbGF0ZSgwKSBzY2FsZSgxKX0ucGx5cl9fcHJvZ3Jlc3N7bGVmdDo2LjVweDtsZWZ0OmNhbGModmFyKC0tcGx5ci1yYW5nZS10aHVtYi1oZWlnaHQsIDEzcHgpKi41KTttYXJnaW4tcmlnaHQ6MTNweDttYXJnaW4tcmlnaHQ6dmFyKC0tcGx5ci1yYW5nZS10aHVtYi1oZWlnaHQsMTNweCk7cG9zaXRpb246cmVsYXRpdmV9LnBseXJfX3Byb2dyZXNzIGlucHV0W3R5cGU9cmFuZ2VdLC5wbHlyX19wcm9ncmVzc19fYnVmZmVye21hcmdpbi1sZWZ0Oi02LjVweDttYXJnaW4tbGVmdDpjYWxjKHZhcigtLXBseXItcmFuZ2UtdGh1bWItaGVpZ2h0LCAxM3B4KSotLjUpO21hcmdpbi1yaWdodDotNi41cHg7bWFyZ2luLXJpZ2h0OmNhbGModmFyKC0tcGx5ci1yYW5nZS10aHVtYi1oZWlnaHQsIDEzcHgpKi0uNSk7d2lkdGg6Y2FsYygxMDAlICsgMTNweCk7d2lkdGg6Y2FsYygxMDAlICsgdmFyKC0tcGx5ci1yYW5nZS10aHVtYi1oZWlnaHQsIDEzcHgpKX0ucGx5cl9fcHJvZ3Jlc3MgaW5wdXRbdHlwZT1yYW5nZV17cG9zaXRpb246cmVsYXRpdmU7ei1pbmRleDoyfS5wbHlyX19wcm9ncmVzcyAucGx5cl9fdG9vbHRpcHtsZWZ0OjA7bWF4LXdpZHRoOjEyMHB4O292ZXJmbG93LXdyYXA6YnJlYWstd29yZH0ucGx5cl9fcHJvZ3Jlc3NfX2J1ZmZlcnstd2Via2l0LWFwcGVhcmFuY2U6bm9uZTtiYWNrZ3JvdW5kOiMwMDAwO2JvcmRlcjowO2JvcmRlci1yYWRpdXM6MTAwcHg7aGVpZ2h0OjVweDtoZWlnaHQ6dmFyKC0tcGx5ci1yYW5nZS10cmFjay1oZWlnaHQsNXB4KTtsZWZ0OjA7bWFyZ2luLXRvcDotMi41cHg7bWFyZ2luLXRvcDpjYWxjKCh2YXIoLS1wbHlyLXJhbmdlLXRyYWNrLWhlaWdodCwgNXB4KS8yKSotMSk7cGFkZGluZzowO3Bvc2l0aW9uOmFic29sdXRlO3RvcDo1MCV9LnBseXJfX3Byb2dyZXNzX19idWZmZXI6Oi13ZWJraXQtcHJvZ3Jlc3MtYmFye2JhY2tncm91bmQ6IzAwMDB9LnBseXJfX3Byb2dyZXNzX19idWZmZXI6Oi13ZWJraXQtcHJvZ3Jlc3MtdmFsdWV7YmFja2dyb3VuZDpjdXJyZW50Q29sb3I7Ym9yZGVyLXJhZGl1czoxMDBweDttaW4td2lkdGg6NXB4O21pbi13aWR0aDp2YXIoLS1wbHlyLXJhbmdlLXRyYWNrLWhlaWdodCw1cHgpOy13ZWJraXQtdHJhbnNpdGlvbjp3aWR0aCAuMnMgZWFzZTt0cmFuc2l0aW9uOndpZHRoIC4ycyBlYXNlfS5wbHlyX19wcm9ncmVzc19fYnVmZmVyOjotbW96LXByb2dyZXNzLWJhcntiYWNrZ3JvdW5kOmN1cnJlbnRDb2xvcjtib3JkZXItcmFkaXVzOjEwMHB4O21pbi13aWR0aDo1cHg7bWluLXdpZHRoOnZhcigtLXBseXItcmFuZ2UtdHJhY2staGVpZ2h0LDVweCk7LW1vei10cmFuc2l0aW9uOndpZHRoIC4ycyBlYXNlO3RyYW5zaXRpb246d2lkdGggLjJzIGVhc2V9LnBseXJfX3Byb2dyZXNzX19idWZmZXI6Oi1tcy1maWxse2JvcmRlci1yYWRpdXM6MTAwcHg7LW1zLXRyYW5zaXRpb246d2lkdGggLjJzIGVhc2U7dHJhbnNpdGlvbjp3aWR0aCAuMnMgZWFzZX0ucGx5ci0tbG9hZGluZyAucGx5cl9fcHJvZ3Jlc3NfX2J1ZmZlcnthbmltYXRpb246cGx5ci1wcm9ncmVzcyAxcyBsaW5lYXIgaW5maW5pdGU7YmFja2dyb3VuZC1pbWFnZTpsaW5lYXItZ3JhZGllbnQoLTQ1ZGVnLCMyMzI4MmY5OSAyNSUsIzAwMDAgMCwjMDAwMCA1MCUsIzIzMjgyZjk5IDAsIzIzMjgyZjk5IDc1JSwjMDAwMCAwLCMwMDAwKTtiYWNrZ3JvdW5kLWltYWdlOmxpbmVhci1ncmFkaWVudCgtNDVkZWcsdmFyKC0tcGx5ci1wcm9ncmVzcy1sb2FkaW5nLWJhY2tncm91bmQsIzIzMjgyZjk5KSAyNSUsIzAwMDAgMjUlLCMwMDAwIDUwJSx2YXIoLS1wbHlyLXByb2dyZXNzLWxvYWRpbmctYmFja2dyb3VuZCwjMjMyODJmOTkpIDUwJSx2YXIoLS1wbHlyLXByb2dyZXNzLWxvYWRpbmctYmFja2dyb3VuZCwjMjMyODJmOTkpIDc1JSwjMDAwMCA3NSUsIzAwMDApO2JhY2tncm91bmQtcmVwZWF0OnJlcGVhdC14O2JhY2tncm91bmQtc2l6ZToyNXB4IDI1cHg7YmFja2dyb3VuZC1zaXplOnZhcigtLXBseXItcHJvZ3Jlc3MtbG9hZGluZy1zaXplLDI1cHgpIHZhcigtLXBseXItcHJvZ3Jlc3MtbG9hZGluZy1zaXplLDI1cHgpO2NvbG9yOiMwMDAwfS5wbHlyLS12aWRlby5wbHlyLS1sb2FkaW5nIC5wbHlyX19wcm9ncmVzc19fYnVmZmVye2JhY2tncm91bmQtY29sb3I6I2ZmZmZmZjQwO2JhY2tncm91bmQtY29sb3I6dmFyKC0tcGx5ci12aWRlby1wcm9ncmVzcy1idWZmZXJlZC1iYWNrZ3JvdW5kLCNmZmZmZmY0MCl9LnBseXItLWF1ZGlvLnBseXItLWxvYWRpbmcgLnBseXJfX3Byb2dyZXNzX19idWZmZXJ7YmFja2dyb3VuZC1jb2xvcjojYzFjOGQxOTk7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1wbHlyLWF1ZGlvLXByb2dyZXNzLWJ1ZmZlcmVkLWJhY2tncm91bmQsI2MxYzhkMTk5KX0ucGx5cl9fcHJvZ3Jlc3NfX21hcmtlcntiYWNrZ3JvdW5kLWNvbG9yOiNmZmY7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1wbHlyLXByb2dyZXNzLW1hcmtlci1iYWNrZ3JvdW5kLCNmZmYpO2JvcmRlci1yYWRpdXM6MXB4O2hlaWdodDo1cHg7aGVpZ2h0OnZhcigtLXBseXItcmFuZ2UtdHJhY2staGVpZ2h0LDVweCk7cG9zaXRpb246YWJzb2x1dGU7dG9wOjUwJTt0cmFuc2Zvcm06dHJhbnNsYXRlKC01MCUsLTUwJSk7d2lkdGg6M3B4O3dpZHRoOnZhcigtLXBseXItcHJvZ3Jlc3MtbWFya2VyLXdpZHRoLDNweCk7ei1pbmRleDozfS5wbHlyX192b2x1bWV7YWxpZ24taXRlbXM6Y2VudGVyO2Rpc3BsYXk6ZmxleDtwb3NpdGlvbjpyZWxhdGl2ZX0ucGx5cl9fdm9sdW1lIGlucHV0W3R5cGU9cmFuZ2Vde21hcmdpbi1sZWZ0OjVweDttYXJnaW4tbGVmdDpjYWxjKHZhcigtLXBseXItY29udHJvbC1zcGFjaW5nLCAxMHB4KS8yKTttYXJnaW4tcmlnaHQ6NXB4O21hcmdpbi1yaWdodDpjYWxjKHZhcigtLXBseXItY29udHJvbC1zcGFjaW5nLCAxMHB4KS8yKTttYXgtd2lkdGg6OTBweDttaW4td2lkdGg6NjBweDtwb3NpdGlvbjpyZWxhdGl2ZTt6LWluZGV4OjJ9LnBseXItLWF1ZGlve2Rpc3BsYXk6YmxvY2t9LnBseXItLWF1ZGlvIC5wbHlyX19jb250cm9sc3tiYWNrZ3JvdW5kOiNmZmY7YmFja2dyb3VuZDp2YXIoLS1wbHlyLWF1ZGlvLWNvbnRyb2xzLWJhY2tncm91bmQsI2ZmZik7Ym9yZGVyLXJhZGl1czppbmhlcml0O2NvbG9yOiM0YTU0NjQ7Y29sb3I6dmFyKC0tcGx5ci1hdWRpby1jb250cm9sLWNvbG9yLCM0YTU0NjQpO3BhZGRpbmc6MTBweDtwYWRkaW5nOnZhcigtLXBseXItY29udHJvbC1zcGFjaW5nLDEwcHgpfS5wbHlyLS1hdWRpbyAucGx5cl9fY29udHJvbDpmb2N1cy12aXNpYmxlLC5wbHlyLS1hdWRpbyAucGx5cl9fY29udHJvbDpob3ZlciwucGx5ci0tYXVkaW8gLnBseXJfX2NvbnRyb2xbYXJpYS1leHBhbmRlZD10cnVlXXtiYWNrZ3JvdW5kOiMwMGIyZmY7YmFja2dyb3VuZDp2YXIoLS1wbHlyLWF1ZGlvLWNvbnRyb2wtYmFja2dyb3VuZC1ob3Zlcix2YXIoLS1wbHlyLWNvbG9yLW1haW4sdmFyKC0tcGx5ci1jb2xvci1tYWluLCMwMGIyZmYpKSk7Y29sb3I6I2ZmZjtjb2xvcjp2YXIoLS1wbHlyLWF1ZGlvLWNvbnRyb2wtY29sb3ItaG92ZXIsI2ZmZil9LnBseXItLWZ1bGwtdWkucGx5ci0tYXVkaW8gaW5wdXRbdHlwZT1yYW5nZV06Oi13ZWJraXQtc2xpZGVyLXJ1bm5hYmxlLXRyYWNre2JhY2tncm91bmQtY29sb3I6I2MxYzhkMTk5O2JhY2tncm91bmQtY29sb3I6dmFyKC0tcGx5ci1hdWRpby1yYW5nZS10cmFjay1iYWNrZ3JvdW5kLHZhcigtLXBseXItYXVkaW8tcHJvZ3Jlc3MtYnVmZmVyZWQtYmFja2dyb3VuZCwjYzFjOGQxOTkpKX0ucGx5ci0tZnVsbC11aS5wbHlyLS1hdWRpbyBpbnB1dFt0eXBlPXJhbmdlXTo6LW1vei1yYW5nZS10cmFja3tiYWNrZ3JvdW5kLWNvbG9yOiNjMWM4ZDE5OTtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLXBseXItYXVkaW8tcmFuZ2UtdHJhY2stYmFja2dyb3VuZCx2YXIoLS1wbHlyLWF1ZGlvLXByb2dyZXNzLWJ1ZmZlcmVkLWJhY2tncm91bmQsI2MxYzhkMTk5KSl9LnBseXItLWZ1bGwtdWkucGx5ci0tYXVkaW8gaW5wdXRbdHlwZT1yYW5nZV06Oi1tcy10cmFja3tiYWNrZ3JvdW5kLWNvbG9yOiNjMWM4ZDE5OTtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLXBseXItYXVkaW8tcmFuZ2UtdHJhY2stYmFja2dyb3VuZCx2YXIoLS1wbHlyLWF1ZGlvLXByb2dyZXNzLWJ1ZmZlcmVkLWJhY2tncm91bmQsI2MxYzhkMTk5KSl9LnBseXItLWZ1bGwtdWkucGx5ci0tYXVkaW8gaW5wdXRbdHlwZT1yYW5nZV06YWN0aXZlOjotd2Via2l0LXNsaWRlci10aHVtYntib3gtc2hhZG93OjAgMXB4IDFweCAjMjMyODJmMjYsMCAwIDAgMXB4ICMyMzI4MmYzMywwIDAgMCAzcHggIzIzMjgyZjFhO2JveC1zaGFkb3c6dmFyKC0tcGx5ci1yYW5nZS10aHVtYi1zaGFkb3csMCAxcHggMXB4ICMyMzI4MmYyNiwwIDAgMCAxcHggIzIzMjgyZjMzKSwwIDAgMCB2YXIoLS1wbHlyLXJhbmdlLXRodW1iLWFjdGl2ZS1zaGFkb3ctd2lkdGgsM3B4KSB2YXIoLS1wbHlyLWF1ZGlvLXJhbmdlLXRodW1iLWFjdGl2ZS1zaGFkb3ctY29sb3IsIzIzMjgyZjFhKX0ucGx5ci0tZnVsbC11aS5wbHlyLS1hdWRpbyBpbnB1dFt0eXBlPXJhbmdlXTphY3RpdmU6Oi1tb3otcmFuZ2UtdGh1bWJ7Ym94LXNoYWRvdzowIDFweCAxcHggIzIzMjgyZjI2LDAgMCAwIDFweCAjMjMyODJmMzMsMCAwIDAgM3B4ICMyMzI4MmYxYTtib3gtc2hhZG93OnZhcigtLXBseXItcmFuZ2UtdGh1bWItc2hhZG93LDAgMXB4IDFweCAjMjMyODJmMjYsMCAwIDAgMXB4ICMyMzI4MmYzMyksMCAwIDAgdmFyKC0tcGx5ci1yYW5nZS10aHVtYi1hY3RpdmUtc2hhZG93LXdpZHRoLDNweCkgdmFyKC0tcGx5ci1hdWRpby1yYW5nZS10aHVtYi1hY3RpdmUtc2hhZG93LWNvbG9yLCMyMzI4MmYxYSl9LnBseXItLWZ1bGwtdWkucGx5ci0tYXVkaW8gaW5wdXRbdHlwZT1yYW5nZV06YWN0aXZlOjotbXMtdGh1bWJ7Ym94LXNoYWRvdzowIDFweCAxcHggIzIzMjgyZjI2LDAgMCAwIDFweCAjMjMyODJmMzMsMCAwIDAgM3B4ICMyMzI4MmYxYTtib3gtc2hhZG93OnZhcigtLXBseXItcmFuZ2UtdGh1bWItc2hhZG93LDAgMXB4IDFweCAjMjMyODJmMjYsMCAwIDAgMXB4ICMyMzI4MmYzMyksMCAwIDAgdmFyKC0tcGx5ci1yYW5nZS10aHVtYi1hY3RpdmUtc2hhZG93LXdpZHRoLDNweCkgdmFyKC0tcGx5ci1hdWRpby1yYW5nZS10aHVtYi1hY3RpdmUtc2hhZG93LWNvbG9yLCMyMzI4MmYxYSl9LnBseXItLWF1ZGlvIC5wbHlyX19wcm9ncmVzc19fYnVmZmVye2NvbG9yOiNjMWM4ZDE5OTtjb2xvcjp2YXIoLS1wbHlyLWF1ZGlvLXByb2dyZXNzLWJ1ZmZlcmVkLWJhY2tncm91bmQsI2MxYzhkMTk5KX0ucGx5ci0tdmlkZW97b3ZlcmZsb3c6aGlkZGVufS5wbHlyLS12aWRlby5wbHlyLS1tZW51LW9wZW57b3ZlcmZsb3c6dmlzaWJsZX0ucGx5cl9fdmlkZW8td3JhcHBlcntiYWNrZ3JvdW5kOiMwMDA7YmFja2dyb3VuZDp2YXIoLS1wbHlyLXZpZGVvLWJhY2tncm91bmQsdmFyKC0tcGx5ci12aWRlby1iYWNrZ3JvdW5kLCMwMDApKTtib3JkZXItcmFkaXVzOmluaGVyaXQ7aGVpZ2h0OjEwMCU7bWFyZ2luOmF1dG87b3ZlcmZsb3c6aGlkZGVuO3Bvc2l0aW9uOnJlbGF0aXZlO3dpZHRoOjEwMCV9LnBseXJfX3ZpZGVvLWVtYmVkLC5wbHlyX192aWRlby13cmFwcGVyLS1maXhlZC1yYXRpb3thc3BlY3QtcmF0aW86MTYvOX1Ac3VwcG9ydHMgbm90IChhc3BlY3QtcmF0aW86MTYvOSl7LnBseXJfX3ZpZGVvLWVtYmVkLC5wbHlyX192aWRlby13cmFwcGVyLS1maXhlZC1yYXRpb3toZWlnaHQ6MDtwYWRkaW5nLWJvdHRvbTo1Ni4yNSU7cG9zaXRpb246cmVsYXRpdmV9fS5wbHlyX192aWRlby1lbWJlZCBpZnJhbWUsLnBseXJfX3ZpZGVvLXdyYXBwZXItLWZpeGVkLXJhdGlvIHZpZGVve2JvcmRlcjowO2hlaWdodDoxMDAlO2xlZnQ6MDtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MDt3aWR0aDoxMDAlfS5wbHlyLS1mdWxsLXVpIC5wbHlyX192aWRlby1lbWJlZD4ucGx5cl9fdmlkZW8tZW1iZWRfX2NvbnRhaW5lcntwYWRkaW5nLWJvdHRvbToyNDAlO3Bvc2l0aW9uOnJlbGF0aXZlO3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0zOC4yODEyNSUpfS5wbHlyLS12aWRlbyAucGx5cl9fY29udHJvbHN7YmFja2dyb3VuZDpsaW5lYXItZ3JhZGllbnQoIzAwMDAsIzAwMDAwMGJmKTtiYWNrZ3JvdW5kOnZhcigtLXBseXItdmlkZW8tY29udHJvbHMtYmFja2dyb3VuZCxsaW5lYXItZ3JhZGllbnQoIzAwMDAsIzAwMDAwMGJmKSk7Ym9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czppbmhlcml0O2JvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOmluaGVyaXQ7Ym90dG9tOjA7Y29sb3I6I2ZmZjtjb2xvcjp2YXIoLS1wbHlyLXZpZGVvLWNvbnRyb2wtY29sb3IsI2ZmZik7bGVmdDowO3BhZGRpbmc6NXB4O3BhZGRpbmc6Y2FsYyh2YXIoLS1wbHlyLWNvbnRyb2wtc3BhY2luZywgMTBweCkvMik7cGFkZGluZy10b3A6MjBweDtwYWRkaW5nLXRvcDpjYWxjKHZhcigtLXBseXItY29udHJvbC1zcGFjaW5nLCAxMHB4KSoyKTtwb3NpdGlvbjphYnNvbHV0ZTtyaWdodDowO3RyYW5zaXRpb246b3BhY2l0eSAuNHMgZWFzZS1pbi1vdXQsdHJhbnNmb3JtIC40cyBlYXNlLWluLW91dDt6LWluZGV4OjN9QG1lZGlhIChtaW4td2lkdGg6NDgwcHgpey5wbHlyLS12aWRlbyAucGx5cl9fY29udHJvbHN7cGFkZGluZzoxMHB4O3BhZGRpbmc6dmFyKC0tcGx5ci1jb250cm9sLXNwYWNpbmcsMTBweCk7cGFkZGluZy10b3A6MzVweDtwYWRkaW5nLXRvcDpjYWxjKHZhcigtLXBseXItY29udHJvbC1zcGFjaW5nLCAxMHB4KSozLjUpfX0ucGx5ci0tdmlkZW8ucGx5ci0taGlkZS1jb250cm9scyAucGx5cl9fY29udHJvbHN7b3BhY2l0eTowO3BvaW50ZXItZXZlbnRzOm5vbmU7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoMTAwJSl9LnBseXItLXZpZGVvIC5wbHlyX19jb250cm9sOmZvY3VzLXZpc2libGUsLnBseXItLXZpZGVvIC5wbHlyX19jb250cm9sOmhvdmVyLC5wbHlyLS12aWRlbyAucGx5cl9fY29udHJvbFthcmlhLWV4cGFuZGVkPXRydWVde2JhY2tncm91bmQ6IzAwYjJmZjtiYWNrZ3JvdW5kOnZhcigtLXBseXItdmlkZW8tY29udHJvbC1iYWNrZ3JvdW5kLWhvdmVyLHZhcigtLXBseXItY29sb3ItbWFpbix2YXIoLS1wbHlyLWNvbG9yLW1haW4sIzAwYjJmZikpKTtjb2xvcjojZmZmO2NvbG9yOnZhcigtLXBseXItdmlkZW8tY29udHJvbC1jb2xvci1ob3ZlciwjZmZmKX0ucGx5cl9fY29udHJvbC0tb3ZlcmxhaWR7YmFja2dyb3VuZDojMDBiMmZmO2JhY2tncm91bmQ6dmFyKC0tcGx5ci12aWRlby1jb250cm9sLWJhY2tncm91bmQtaG92ZXIsdmFyKC0tcGx5ci1jb2xvci1tYWluLHZhcigtLXBseXItY29sb3ItbWFpbiwjMDBiMmZmKSkpO2JvcmRlcjowO2JvcmRlci1yYWRpdXM6MTAwJTtjb2xvcjojZmZmO2NvbG9yOnZhcigtLXBseXItdmlkZW8tY29udHJvbC1jb2xvciwjZmZmKTtkaXNwbGF5Om5vbmU7bGVmdDo1MCU7b3BhY2l0eTouOTtwYWRkaW5nOjE1cHg7cGFkZGluZzpjYWxjKHZhcigtLXBseXItY29udHJvbC1zcGFjaW5nLCAxMHB4KSoxLjUpO3Bvc2l0aW9uOmFic29sdXRlO3RvcDo1MCU7dHJhbnNmb3JtOnRyYW5zbGF0ZSgtNTAlLC01MCUpO3RyYW5zaXRpb246LjNzO3otaW5kZXg6Mn0ucGx5cl9fY29udHJvbC0tb3ZlcmxhaWQgc3Zne2xlZnQ6MnB4O3Bvc2l0aW9uOnJlbGF0aXZlfS5wbHlyX19jb250cm9sLS1vdmVybGFpZDpmb2N1cywucGx5cl9fY29udHJvbC0tb3ZlcmxhaWQ6aG92ZXJ7b3BhY2l0eToxfS5wbHlyLS1wbGF5aW5nIC5wbHlyX19jb250cm9sLS1vdmVybGFpZHtvcGFjaXR5OjA7dmlzaWJpbGl0eTpoaWRkZW59LnBseXItLWZ1bGwtdWkucGx5ci0tdmlkZW8gLnBseXJfX2NvbnRyb2wtLW92ZXJsYWlke2Rpc3BsYXk6YmxvY2t9LnBseXItLWZ1bGwtdWkucGx5ci0tdmlkZW8gaW5wdXRbdHlwZT1yYW5nZV06Oi13ZWJraXQtc2xpZGVyLXJ1bm5hYmxlLXRyYWNre2JhY2tncm91bmQtY29sb3I6I2ZmZmZmZjQwO2JhY2tncm91bmQtY29sb3I6dmFyKC0tcGx5ci12aWRlby1yYW5nZS10cmFjay1iYWNrZ3JvdW5kLHZhcigtLXBseXItdmlkZW8tcHJvZ3Jlc3MtYnVmZmVyZWQtYmFja2dyb3VuZCwjZmZmZmZmNDApKX0ucGx5ci0tZnVsbC11aS5wbHlyLS12aWRlbyBpbnB1dFt0eXBlPXJhbmdlXTo6LW1vei1yYW5nZS10cmFja3tiYWNrZ3JvdW5kLWNvbG9yOiNmZmZmZmY0MDtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLXBseXItdmlkZW8tcmFuZ2UtdHJhY2stYmFja2dyb3VuZCx2YXIoLS1wbHlyLXZpZGVvLXByb2dyZXNzLWJ1ZmZlcmVkLWJhY2tncm91bmQsI2ZmZmZmZjQwKSl9LnBseXItLWZ1bGwtdWkucGx5ci0tdmlkZW8gaW5wdXRbdHlwZT1yYW5nZV06Oi1tcy10cmFja3tiYWNrZ3JvdW5kLWNvbG9yOiNmZmZmZmY0MDtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLXBseXItdmlkZW8tcmFuZ2UtdHJhY2stYmFja2dyb3VuZCx2YXIoLS1wbHlyLXZpZGVvLXByb2dyZXNzLWJ1ZmZlcmVkLWJhY2tncm91bmQsI2ZmZmZmZjQwKSl9LnBseXItLWZ1bGwtdWkucGx5ci0tdmlkZW8gaW5wdXRbdHlwZT1yYW5nZV06YWN0aXZlOjotd2Via2l0LXNsaWRlci10aHVtYntib3gtc2hhZG93OjAgMXB4IDFweCAjMjMyODJmMjYsMCAwIDAgMXB4ICMyMzI4MmYzMywwIDAgMCAzcHggI2ZmZmZmZjgwO2JveC1zaGFkb3c6dmFyKC0tcGx5ci1yYW5nZS10aHVtYi1zaGFkb3csMCAxcHggMXB4ICMyMzI4MmYyNiwwIDAgMCAxcHggIzIzMjgyZjMzKSwwIDAgMCB2YXIoLS1wbHlyLXJhbmdlLXRodW1iLWFjdGl2ZS1zaGFkb3ctd2lkdGgsM3B4KSB2YXIoLS1wbHlyLWF1ZGlvLXJhbmdlLXRodW1iLWFjdGl2ZS1zaGFkb3ctY29sb3IsI2ZmZmZmZjgwKX0ucGx5ci0tZnVsbC11aS5wbHlyLS12aWRlbyBpbnB1dFt0eXBlPXJhbmdlXTphY3RpdmU6Oi1tb3otcmFuZ2UtdGh1bWJ7Ym94LXNoYWRvdzowIDFweCAxcHggIzIzMjgyZjI2LDAgMCAwIDFweCAjMjMyODJmMzMsMCAwIDAgM3B4ICNmZmZmZmY4MDtib3gtc2hhZG93OnZhcigtLXBseXItcmFuZ2UtdGh1bWItc2hhZG93LDAgMXB4IDFweCAjMjMyODJmMjYsMCAwIDAgMXB4ICMyMzI4MmYzMyksMCAwIDAgdmFyKC0tcGx5ci1yYW5nZS10aHVtYi1hY3RpdmUtc2hhZG93LXdpZHRoLDNweCkgdmFyKC0tcGx5ci1hdWRpby1yYW5nZS10aHVtYi1hY3RpdmUtc2hhZG93LWNvbG9yLCNmZmZmZmY4MCl9LnBseXItLWZ1bGwtdWkucGx5ci0tdmlkZW8gaW5wdXRbdHlwZT1yYW5nZV06YWN0aXZlOjotbXMtdGh1bWJ7Ym94LXNoYWRvdzowIDFweCAxcHggIzIzMjgyZjI2LDAgMCAwIDFweCAjMjMyODJmMzMsMCAwIDAgM3B4ICNmZmZmZmY4MDtib3gtc2hhZG93OnZhcigtLXBseXItcmFuZ2UtdGh1bWItc2hhZG93LDAgMXB4IDFweCAjMjMyODJmMjYsMCAwIDAgMXB4ICMyMzI4MmYzMyksMCAwIDAgdmFyKC0tcGx5ci1yYW5nZS10aHVtYi1hY3RpdmUtc2hhZG93LXdpZHRoLDNweCkgdmFyKC0tcGx5ci1hdWRpby1yYW5nZS10aHVtYi1hY3RpdmUtc2hhZG93LWNvbG9yLCNmZmZmZmY4MCl9LnBseXItLXZpZGVvIC5wbHlyX19wcm9ncmVzc19fYnVmZmVye2NvbG9yOiNmZmZmZmY0MDtjb2xvcjp2YXIoLS1wbHlyLXZpZGVvLXByb2dyZXNzLWJ1ZmZlcmVkLWJhY2tncm91bmQsI2ZmZmZmZjQwKX0ucGx5cjpmdWxsc2NyZWVue2JhY2tncm91bmQ6IzAwMDtib3JkZXItcmFkaXVzOjAhaW1wb3J0YW50O2hlaWdodDoxMDAlO21hcmdpbjowO3dpZHRoOjEwMCV9LnBseXI6ZnVsbHNjcmVlbiB2aWRlb3toZWlnaHQ6MTAwJX0ucGx5cjpmdWxsc2NyZWVuIC5wbHlyX19jb250cm9sIC5pY29uLS1leGl0LWZ1bGxzY3JlZW57ZGlzcGxheTpibG9ja30ucGx5cjpmdWxsc2NyZWVuIC5wbHlyX19jb250cm9sIC5pY29uLS1leGl0LWZ1bGxzY3JlZW4rc3Zne2Rpc3BsYXk6bm9uZX0ucGx5cjpmdWxsc2NyZWVuLnBseXItLWhpZGUtY29udHJvbHN7Y3Vyc29yOm5vbmV9QG1lZGlhIChtaW4td2lkdGg6MTAyNHB4KXsucGx5cjpmdWxsc2NyZWVuIC5wbHlyX19jYXB0aW9uc3tmb250LXNpemU6MjFweDtmb250LXNpemU6dmFyKC0tcGx5ci1mb250LXNpemUteGxhcmdlLDIxcHgpfX0ucGx5ci0tZnVsbHNjcmVlbi1mYWxsYmFja3tiYWNrZ3JvdW5kOiMwMDA7Ym9yZGVyLXJhZGl1czowIWltcG9ydGFudDtib3R0b206MDtoZWlnaHQ6MTAwJTtsZWZ0OjA7bWFyZ2luOjA7cG9zaXRpb246Zml4ZWQ7cmlnaHQ6MDt0b3A6MDt3aWR0aDoxMDAlO3otaW5kZXg6MTAwMDAwMDB9LnBseXItLWZ1bGxzY3JlZW4tZmFsbGJhY2sgdmlkZW97aGVpZ2h0OjEwMCV9LnBseXItLWZ1bGxzY3JlZW4tZmFsbGJhY2sgLnBseXJfX2NvbnRyb2wgLmljb24tLWV4aXQtZnVsbHNjcmVlbntkaXNwbGF5OmJsb2NrfS5wbHlyLS1mdWxsc2NyZWVuLWZhbGxiYWNrIC5wbHlyX19jb250cm9sIC5pY29uLS1leGl0LWZ1bGxzY3JlZW4rc3Zne2Rpc3BsYXk6bm9uZX0ucGx5ci0tZnVsbHNjcmVlbi1mYWxsYmFjay5wbHlyLS1oaWRlLWNvbnRyb2xze2N1cnNvcjpub25lfUBtZWRpYSAobWluLXdpZHRoOjEwMjRweCl7LnBseXItLWZ1bGxzY3JlZW4tZmFsbGJhY2sgLnBseXJfX2NhcHRpb25ze2ZvbnQtc2l6ZToyMXB4O2ZvbnQtc2l6ZTp2YXIoLS1wbHlyLWZvbnQtc2l6ZS14bGFyZ2UsMjFweCl9fS5wbHlyX19hZHN7Ym9yZGVyLXJhZGl1czppbmhlcml0O2JvdHRvbTowO2N1cnNvcjpwb2ludGVyO2xlZnQ6MDtvdmVyZmxvdzpoaWRkZW47cG9zaXRpb246YWJzb2x1dGU7cmlnaHQ6MDt0b3A6MDt6LWluZGV4Oi0xfS5wbHlyX19hZHM+ZGl2LC5wbHlyX19hZHM+ZGl2IGlmcmFtZXtoZWlnaHQ6MTAwJTtwb3NpdGlvbjphYnNvbHV0ZTt3aWR0aDoxMDAlfS5wbHlyX19hZHM6YWZ0ZXJ7YmFja2dyb3VuZDojMjMyODJmO2JvcmRlci1yYWRpdXM6MnB4O2JvdHRvbToxMHB4O2JvdHRvbTp2YXIoLS1wbHlyLWNvbnRyb2wtc3BhY2luZywxMHB4KTtjb2xvcjojZmZmO2NvbnRlbnQ6YXR0cihkYXRhLWJhZGdlLXRleHQpO2ZvbnQtc2l6ZToxMXB4O3BhZGRpbmc6MnB4IDZweDtwb2ludGVyLWV2ZW50czpub25lO3Bvc2l0aW9uOmFic29sdXRlO3JpZ2h0OjEwcHg7cmlnaHQ6dmFyKC0tcGx5ci1jb250cm9sLXNwYWNpbmcsMTBweCk7ei1pbmRleDozfS5wbHlyX19hZHM6ZW1wdHk6YWZ0ZXJ7ZGlzcGxheTpub25lfS5wbHlyX19jdWVze2JhY2tncm91bmQ6Y3VycmVudENvbG9yO2Rpc3BsYXk6YmxvY2s7aGVpZ2h0OjVweDtoZWlnaHQ6dmFyKC0tcGx5ci1yYW5nZS10cmFjay1oZWlnaHQsNXB4KTtsZWZ0OjA7b3BhY2l0eTouODtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6NTAlO3RyYW5zZm9ybTp0cmFuc2xhdGVZKC01MCUpO3dpZHRoOjNweDt6LWluZGV4OjN9LnBseXJfX3ByZXZpZXctdGh1bWJ7YmFja2dyb3VuZC1jb2xvcjojZmZmO2JhY2tncm91bmQtY29sb3I6dmFyKC0tcGx5ci10b29sdGlwLWJhY2tncm91bmQsI2ZmZik7Ym9yZGVyLXJhZGl1czo4cHg7Ym9yZGVyLXJhZGl1czp2YXIoLS1wbHlyLW1lbnUtcmFkaXVzLDhweCk7Ym90dG9tOjEwMCU7Ym94LXNoYWRvdzowIDFweCAycHggIzAwMDAwMDI2O2JveC1zaGFkb3c6dmFyKC0tcGx5ci10b29sdGlwLXNoYWRvdywwIDFweCAycHggIzAwMDAwMDI2KTttYXJnaW4tYm90dG9tOjEwcHg7bWFyZ2luLWJvdHRvbTpjYWxjKHZhcigtLXBseXItY29udHJvbC1zcGFjaW5nLCAxMHB4KS8yKjIpO29wYWNpdHk6MDtwYWRkaW5nOjNweDtwb2ludGVyLWV2ZW50czpub25lO3Bvc2l0aW9uOmFic29sdXRlO3RyYW5zZm9ybTp0cmFuc2xhdGVZKDEwcHgpIHNjYWxlKC44KTt0cmFuc2Zvcm0tb3JpZ2luOjUwJSAxMDAlO3RyYW5zaXRpb246dHJhbnNmb3JtIC4ycyBlYXNlIC4xcyxvcGFjaXR5IC4ycyBlYXNlIC4xczt6LWluZGV4OjJ9LnBseXJfX3ByZXZpZXctdGh1bWItLWlzLXNob3due29wYWNpdHk6MTt0cmFuc2Zvcm06dHJhbnNsYXRlKDApIHNjYWxlKDEpfS5wbHlyX19wcmV2aWV3LXRodW1iOmJlZm9yZXtib3JkZXItbGVmdDo0cHggc29saWQgIzAwMDA7Ym9yZGVyLWxlZnQ6dmFyKC0tcGx5ci10b29sdGlwLWFycm93LXNpemUsNHB4KSBzb2xpZCAjMDAwMDtib3JkZXItcmlnaHQ6NHB4IHNvbGlkICMwMDAwO2JvcmRlci1yaWdodDp2YXIoLS1wbHlyLXRvb2x0aXAtYXJyb3ctc2l6ZSw0cHgpIHNvbGlkICMwMDAwO2JvcmRlci10b3A6NHB4IHNvbGlkICNmZmY7Ym9yZGVyLXRvcDp2YXIoLS1wbHlyLXRvb2x0aXAtYXJyb3ctc2l6ZSw0cHgpIHNvbGlkIHZhcigtLXBseXItdG9vbHRpcC1iYWNrZ3JvdW5kLCNmZmYpO2JvdHRvbTotNHB4O2JvdHRvbTpjYWxjKHZhcigtLXBseXItdG9vbHRpcC1hcnJvdy1zaXplLCA0cHgpKi0xKTtjb250ZW50OlwiXCI7aGVpZ2h0OjA7bGVmdDpjYWxjKDUwJSArIHZhcigtLXByZXZpZXctYXJyb3ctb2Zmc2V0KSk7cG9zaXRpb246YWJzb2x1dGU7dHJhbnNmb3JtOnRyYW5zbGF0ZVgoLTUwJSk7d2lkdGg6MDt6LWluZGV4OjJ9LnBseXJfX3ByZXZpZXctdGh1bWJfX2ltYWdlLWNvbnRhaW5lcntiYWNrZ3JvdW5kOiNjMWM4ZDE7Ym9yZGVyLXJhZGl1czo3cHg7Ym9yZGVyLXJhZGl1czpjYWxjKHZhcigtLXBseXItbWVudS1yYWRpdXMsIDhweCkgLSAxcHgpO292ZXJmbG93OmhpZGRlbjtwb3NpdGlvbjpyZWxhdGl2ZTt6LWluZGV4OjB9LnBseXJfX3ByZXZpZXctdGh1bWJfX2ltYWdlLWNvbnRhaW5lciBpbWcsLnBseXJfX3ByZXZpZXctdGh1bWJfX2ltYWdlLWNvbnRhaW5lcjphZnRlcntoZWlnaHQ6MTAwJTtsZWZ0OjA7cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7d2lkdGg6MTAwJX0ucGx5cl9fcHJldmlldy10aHVtYl9faW1hZ2UtY29udGFpbmVyOmFmdGVye2JvcmRlci1yYWRpdXM6aW5oZXJpdDtib3gtc2hhZG93Omluc2V0IDAgMCAwIDFweCAjMDAwMDAwMjY7Y29udGVudDpcIlwiO3BvaW50ZXItZXZlbnRzOm5vbmV9LnBseXJfX3ByZXZpZXctdGh1bWJfX2ltYWdlLWNvbnRhaW5lciBpbWd7bWF4LWhlaWdodDpub25lO21heC13aWR0aDpub25lfS5wbHlyX19wcmV2aWV3LXRodW1iX190aW1lLWNvbnRhaW5lcntiYWNrZ3JvdW5kOmxpbmVhci1ncmFkaWVudCgjMDAwMCwjMDAwMDAwYmYpO2JhY2tncm91bmQ6dmFyKC0tcGx5ci12aWRlby1jb250cm9scy1iYWNrZ3JvdW5kLGxpbmVhci1ncmFkaWVudCgjMDAwMCwjMDAwMDAwYmYpKTtib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOjdweDtib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOmNhbGModmFyKC0tcGx5ci1tZW51LXJhZGl1cywgOHB4KSAtIDFweCk7Ym9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6N3B4O2JvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOmNhbGModmFyKC0tcGx5ci1tZW51LXJhZGl1cywgOHB4KSAtIDFweCk7Ym90dG9tOjA7bGVmdDowO2xpbmUtaGVpZ2h0OjEuMTtwYWRkaW5nOjIwcHggNnB4IDZweDtwb3NpdGlvbjphYnNvbHV0ZTtyaWdodDowO3otaW5kZXg6M30ucGx5cl9fcHJldmlldy10aHVtYl9fdGltZS1jb250YWluZXIgc3Bhbntjb2xvcjojZmZmO2ZvbnQtc2l6ZToxM3B4O2ZvbnQtc2l6ZTp2YXIoLS1wbHlyLWZvbnQtc2l6ZS10aW1lLHZhcigtLXBseXItZm9udC1zaXplLXNtYWxsLDEzcHgpKX0ucGx5cl9fcHJldmlldy1zY3J1YmJpbmd7Ym90dG9tOjA7ZmlsdGVyOmJsdXIoMXB4KTtoZWlnaHQ6MTAwJTtsZWZ0OjA7bWFyZ2luOmF1dG87b3BhY2l0eTowO292ZXJmbG93OmhpZGRlbjtwb2ludGVyLWV2ZW50czpub25lO3Bvc2l0aW9uOmFic29sdXRlO3JpZ2h0OjA7dG9wOjA7dHJhbnNpdGlvbjpvcGFjaXR5IC4zcyBlYXNlO3dpZHRoOjEwMCU7ei1pbmRleDoxfS5wbHlyX19wcmV2aWV3LXNjcnViYmluZy0taXMtc2hvd257b3BhY2l0eToxfS5wbHlyX19wcmV2aWV3LXNjcnViYmluZyBpbWd7aGVpZ2h0OjEwMCU7bGVmdDowO21heC1oZWlnaHQ6bm9uZTttYXgtd2lkdGg6bm9uZTtvYmplY3QtZml0OmNvbnRhaW47cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7d2lkdGg6MTAwJX0ucGx5ci0tbm8tdHJhbnNpdGlvbnt0cmFuc2l0aW9uOm5vbmUhaW1wb3J0YW50fS5wbHlyX19zci1vbmx5e2NsaXA6cmVjdCgxcHgsMXB4LDFweCwxcHgpO2JvcmRlcjowIWltcG9ydGFudDtoZWlnaHQ6MXB4IWltcG9ydGFudDtvdmVyZmxvdzpoaWRkZW47cGFkZGluZzowIWltcG9ydGFudDtwb3NpdGlvbjphYnNvbHV0ZSFpbXBvcnRhbnQ7d2lkdGg6MXB4IWltcG9ydGFudH0ucGx5ciBbaGlkZGVuXXtkaXNwbGF5Om5vbmUhaW1wb3J0YW50fSIsIkBpbXBvcnQgXCJzZXR0aW5nc1wiO1xyXG5AaW1wb3J0IFwifmZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9mb3VuZGF0aW9uXCI7XHJcblxyXG4vLyBHbG9iYWwgc3R5bGVzXHJcbkBpbmNsdWRlIGZvdW5kYXRpb24tZ2xvYmFsLXN0eWxlcztcclxuQGluY2x1ZGUgZm91bmRhdGlvbi1mb3JtcztcclxuQGluY2x1ZGUgZm91bmRhdGlvbi10eXBvZ3JhcGh5O1xyXG5cclxuLy8gR3JpZHMgKGNob29zZSBvbmUpXHJcbkBpbmNsdWRlIGZvdW5kYXRpb24teHktZ3JpZC1jbGFzc2VzO1xyXG5cclxuLy8gLy8gR2VuZXJpYyBjb21wb25lbnRzXHJcbkBpbmNsdWRlIGZvdW5kYXRpb24tY2xvc2UtYnV0dG9uO1xyXG5cclxuLy8gTWVudS1iYXNlZCBjb250YWluZXJzXHJcbkBpbmNsdWRlIGZvdW5kYXRpb24tbWVudTtcclxuXHJcbi8vIENvbnRhaW5lcnNcclxuQGluY2x1ZGUgZm91bmRhdGlvbi1hY2NvcmRpb247XHJcblxyXG4vLyBMYXlvdXQgY29tcG9uZW50c1xyXG5AaW5jbHVkZSBmb3VuZGF0aW9uLXJldmVhbDtcclxuXHJcbi8vIEhlbHBlcnNcclxuQGluY2x1ZGUgZm91bmRhdGlvbi1wcm90b3R5cGUtY2xhc3NlcztcclxuQGluY2x1ZGUgZm91bmRhdGlvbi12aXNpYmlsaXR5LWNsYXNzZXM7XHJcblxyXG4vLyBUYWJsZXNcclxuQGluY2x1ZGUgZm91bmRhdGlvbi10YWJsZTtcclxuXHJcbi8vIExpYnNcclxuQGltcG9ydCBcImxpYnMvcGx5ci5taW4uY3NzXCI7XHJcblxyXG4vLyBDb21wb25lbnRzLCBNb2R1bGVzLCBQYWdlc1xyXG5AaW1wb3J0IFwibWl4aW5zXCI7XHJcbkBpbXBvcnQgXCJnZW5lcmFsXCI7XHJcbkBpbXBvcnQgXCJjb21wb25lbnRzL2J1dHRvblwiO1xyXG5AaW1wb3J0IFwiY29tcG9uZW50cy9mb290ZXJcIjtcclxuQGltcG9ydCBcImNvbXBvbmVudHMvaGVhZGVyXCI7XHJcbkBpbXBvcnQgXCJjb21wb25lbnRzL21vZHVsZXNcIjtcclxuQGltcG9ydCBcImNvbXBvbmVudHMvcm91bmRlZC1jb3JuZXJzXCI7XHJcbkBpbXBvcnQgXCJjb21wb25lbnRzL2V2ZW50LWxpc3RpbmdcIjtcclxuQGltcG9ydCBcImNvbXBvbmVudHMvYmx1ZS1zaWRlYmFyXCI7XHJcbkBpbXBvcnQgXCJjb21wb25lbnRzL3N0YXRpc3RpY3NcIjtcclxuQGltcG9ydCBcIm1vZHVsZXMvYWNjb3JkaW9uXCI7XHJcbkBpbXBvcnQgXCJtb2R1bGVzL2JveGVzXCI7XHJcbkBpbXBvcnQgXCJtb2R1bGVzL2NhbGxvdXRcIjtcclxuQGltcG9ydCBcIm1vZHVsZXMvY2FsbC10by1hY3Rpb24tZ3JvdXBcIjtcclxuQGltcG9ydCBcIm1vZHVsZXMvZnVsbC13aWR0aC1jb250ZW50XCI7XHJcbkBpbXBvcnQgXCJtb2R1bGVzL2xpbmstYXJlYVwiO1xyXG5AaW1wb3J0IFwibW9kdWxlcy9zZWN0aW9uLXRpdGxlXCI7XHJcbkBpbXBvcnQgXCJtb2R1bGVzL3NlY3Rpb24td2l0aC1zaWRlYmFyXCI7XHJcbkBpbXBvcnQgXCJtb2R1bGVzL3NlY3Rpb24td2l0aC1zaWRlLWltYWdlXCI7XHJcbkBpbXBvcnQgXCJtb2R1bGVzL3NlY3Rpb24td2l0aC12aWRlb1wiO1xyXG5AaW1wb3J0IFwicGFnZXMvaG9tZVwiO1xyXG5AaW1wb3J0IFwicGFnZXMvZXZlbnRzXCI7XHJcbkBpbXBvcnQgXCJwYWdlcy9mYW1pbHktc3VwcG9ydFwiO1xyXG5AaW1wb3J0IFwicGFnZXMvZ2V0LWludm9sdmVkXCI7XHJcbkBpbXBvcnQgXCJwYWdlcy9hYm91dFwiO1xyXG5AaW1wb3J0IFwicGFnZXMvbWVudG9yaW5nXCI7XHJcbkBpbXBvcnQgXCJwYWdlcy9zZWFyY2hcIjtcclxuQGltcG9ydCBcInBhZ2VzL2Jsb2dcIjtcclxuQGltcG9ydCBcInBhZ2VzL291ci1pbXBhY3RcIjtcclxuQGltcG9ydCBcInBhZ2VzL3N0ZXBzXCI7XHJcbkBpbXBvcnQgXCJwYWdlcy9zdGFmZlwiO1xyXG5AaW1wb3J0IFwicGFnZXMvcmVzb3VyY2VzXCI7XHJcblxyXG4vLyBNb3Rpb24gVUlcclxuQGltcG9ydCBcIm5vZGVfbW9kdWxlcy9tb3Rpb24tdWkvc3JjL21vdGlvbi11aVwiO1xyXG5AaW5jbHVkZSBtb3Rpb24tdWktdHJhbnNpdGlvbnM7XHJcbkBpbmNsdWRlIG1vdGlvbi11aS1hbmltYXRpb25zO1xyXG5cclxuLy9naXRodWIuY29tL2ZvdW5kYXRpb24vZm91bmRhdGlvbi1zaXRlcy10ZW1wbGF0ZS9ibG9iL21hc3Rlci9zY3NzL2FwcC5zY3NzXHJcblxyXG4vLyAvLyBHbG9iYWwgc3R5bGVzXHJcbi8vIEBpbmNsdWRlIGZvdW5kYXRpb24tZ2xvYmFsLXN0eWxlcztcclxuLy8gQGluY2x1ZGUgZm91bmRhdGlvbi1mb3JtcztcclxuLy8gQGluY2x1ZGUgZm91bmRhdGlvbi10eXBvZ3JhcGh5O1xyXG5cclxuLy8gLy8gR3JpZHMgKGNob29zZSBvbmUpXHJcbi8vIEBpbmNsdWRlIGZvdW5kYXRpb24teHktZ3JpZC1jbGFzc2VzO1xyXG4vLyAvLyBAaW5jbHVkZSBmb3VuZGF0aW9uLWdyaWQ7XHJcbi8vIC8vIEBpbmNsdWRlIGZvdW5kYXRpb24tZmxleC1ncmlkO1xyXG5cclxuLy8gLy8gR2VuZXJpYyBjb21wb25lbnRzXHJcbi8vIEBpbmNsdWRlIGZvdW5kYXRpb24tYnV0dG9uO1xyXG4vLyBAaW5jbHVkZSBmb3VuZGF0aW9uLWJ1dHRvbi1ncm91cDtcclxuLy8gQGluY2x1ZGUgZm91bmRhdGlvbi1jbG9zZS1idXR0b247XHJcbi8vIEBpbmNsdWRlIGZvdW5kYXRpb24tbGFiZWw7XHJcbi8vIEBpbmNsdWRlIGZvdW5kYXRpb24tcHJvZ3Jlc3MtYmFyO1xyXG4vLyBAaW5jbHVkZSBmb3VuZGF0aW9uLXNsaWRlcjtcclxuLy8gQGluY2x1ZGUgZm91bmRhdGlvbi1zd2l0Y2g7XHJcbi8vIEBpbmNsdWRlIGZvdW5kYXRpb24tdGFibGU7XHJcbi8vIC8vIEJhc2ljIGNvbXBvbmVudHNcclxuLy8gQGluY2x1ZGUgZm91bmRhdGlvbi1iYWRnZTtcclxuLy8gQGluY2x1ZGUgZm91bmRhdGlvbi1icmVhZGNydW1icztcclxuLy8gQGluY2x1ZGUgZm91bmRhdGlvbi1jYWxsb3V0O1xyXG4vLyBAaW5jbHVkZSBmb3VuZGF0aW9uLWNhcmQ7XHJcbi8vIEBpbmNsdWRlIGZvdW5kYXRpb24tZHJvcGRvd247XHJcbi8vIEBpbmNsdWRlIGZvdW5kYXRpb24tcGFnaW5hdGlvbjtcclxuLy8gQGluY2x1ZGUgZm91bmRhdGlvbi10b29sdGlwO1xyXG5cclxuLy8gLy8gQ29udGFpbmVyc1xyXG4vLyBAaW5jbHVkZSBmb3VuZGF0aW9uLWFjY29yZGlvbjtcclxuLy8gQGluY2x1ZGUgZm91bmRhdGlvbi1tZWRpYS1vYmplY3Q7XHJcbi8vIEBpbmNsdWRlIGZvdW5kYXRpb24tb3JiaXQ7XHJcbi8vIEBpbmNsdWRlIGZvdW5kYXRpb24tcmVzcG9uc2l2ZS1lbWJlZDtcclxuLy8gQGluY2x1ZGUgZm91bmRhdGlvbi10YWJzO1xyXG4vLyBAaW5jbHVkZSBmb3VuZGF0aW9uLXRodW1ibmFpbDtcclxuLy8gLy8gTWVudS1iYXNlZCBjb250YWluZXJzXHJcbi8vIEBpbmNsdWRlIGZvdW5kYXRpb24tbWVudTtcclxuLy8gQGluY2x1ZGUgZm91bmRhdGlvbi1tZW51LWljb247XHJcbi8vIEBpbmNsdWRlIGZvdW5kYXRpb24tYWNjb3JkaW9uLW1lbnU7XHJcbi8vIEBpbmNsdWRlIGZvdW5kYXRpb24tZHJpbGxkb3duLW1lbnU7XHJcbkBpbmNsdWRlIGZvdW5kYXRpb24tZHJvcGRvd24tbWVudTtcclxuXHJcbi8vIC8vIExheW91dCBjb21wb25lbnRzXHJcbi8vIEBpbmNsdWRlIGZvdW5kYXRpb24tb2ZmLWNhbnZhcztcclxuLy8gQGluY2x1ZGUgZm91bmRhdGlvbi1yZXZlYWw7XHJcbi8vIEBpbmNsdWRlIGZvdW5kYXRpb24tc3RpY2t5O1xyXG4vLyBAaW5jbHVkZSBmb3VuZGF0aW9uLXRpdGxlLWJhcjtcclxuLy8gQGluY2x1ZGUgZm91bmRhdGlvbi10b3AtYmFyO1xyXG5cclxuLy8gLy8gSGVscGVyc1xyXG4vLyBAaW5jbHVkZSBmb3VuZGF0aW9uLWZsb2F0LWNsYXNzZXM7XHJcbi8vIEBpbmNsdWRlIGZvdW5kYXRpb24tZmxleC1jbGFzc2VzO1xyXG4vLyBAaW5jbHVkZSBmb3VuZGF0aW9uLXZpc2liaWxpdHktY2xhc3NlcztcclxuLy8gLy8gQGluY2x1ZGUgZm91bmRhdGlvbi1wcm90b3R5cGUtY2xhc3NlcztcclxuXHJcbi8vIC8vIE1vdGlvbiBVSVxyXG4vLyBAaW5jbHVkZSBtb3Rpb24tdWktdHJhbnNpdGlvbnM7XHJcbi8vIEBpbmNsdWRlIG1vdGlvbi11aS1hbmltYXRpb25zO1xyXG4iLCJAaW1wb3J0IFwifmZvdW5kYXRpb24tc2l0ZXMvc2Nzcy91dGlsL3V0aWxcIjtcclxuXHJcbi8qLS0tLS0tLS0tLSAgQ29sb3JzICAtLS0tLS0tLS0tKi9cclxuXHJcbiRnb2xkOiAjZmZjZjM3O1xyXG4kYXF1YTogIzMzYzFkMjtcclxuJG9yYW5nZTogI2ZmOTMyMjtcclxuJGRhcmstb3JhbmdlOiAjZmY2NDAwO1xyXG4kYmx1ZTogIzM4OGViNztcclxuJGxpZ2h0LWdyYXk6ICNlYWVjZjA7XHJcbiRtZWRpdW0tZ3JheTogIzk0YTJiMjtcclxuJGRhcmstZ3JheTogIzY4N2M4ZDtcclxuJGRhcmtlc3QtZ3JheTogIzU1NjU3MztcclxuJHRleHQtZ3JheTogIzNmNGU1OTtcclxuJHJlZDogI2M3MzUzYztcclxuJGdyZWVuOiAjMDBhNjUxO1xyXG5cclxuJGZvdW5kYXRpb24tcGFsZXR0ZTogKFxyXG4gIHByaW1hcnk6ICRhcXVhLFxyXG4gIHNlY29uZGFyeTogJGFxdWEsXHJcbiAgc3VjY2VzczogIzNhZGI3NixcclxuICB3YXJuaW5nOiAjZmZhZTAwLFxyXG4gIGFsZXJ0OiAjY2M0YjM3LFxyXG4pO1xyXG5cclxuLy8gNTYuIFh5IEdyaWRcclxuLy8gLS0tLS0tLS0tLS1cclxuXHJcbi8vIEN1c3RvbSB2YXJpYWJsZSBmb3IgdXNlIGluIGxheW91dFxyXG4kbWF4LWNvbnRlbnQtd2lkdGg6IHJlbS1jYWxjKDEyMDApO1xyXG4kdHdvLWNvbC1icmVha3BvaW50OiByZW0tY2FsYyg4ODApO1xyXG4kbWluLWd1dHRlcjogcmVtLWNhbGMoMTYpO1xyXG4kZ3V0dGVyLWRlZmF1bHQ6IHJlbS1jYWxjKDE2KTtcclxuXHJcbiRncmlkLWNvbnRhaW5lcjogJG1heC1jb250ZW50LXdpZHRoO1xyXG4kZ3JpZC1tYXJnaW4tZ3V0dGVyczogKFxyXG4gIHNtYWxsOiAkZ3V0dGVyLWRlZmF1bHQsXHJcbik7XHJcbiRncmlkLWNvbnRhaW5lci1wYWRkaW5nOiA0MHB4O1xyXG5cclxuLy8gMTcuIERyb3Bkb3duXHJcbi8vIC0tLS0tLS0tLS0tLVxyXG5cclxuJGRyb3Bkb3dubWVudS1hcnJvd3M6IGZhbHNlO1xyXG4kZHJvcGRvd24tbWVudS1pdGVtLWNvbG9yLWFjdGl2ZTogJGFxdWE7XHJcbiRkcm9wZG93bm1lbnUtYm9yZGVyOiBub25lO1xyXG4kZHJvcGRvd25tZW51LW1pbi13aWR0aDogMTAwJTtcclxuJGRyb3Bkb3dubWVudS1zdWJtZW51LWJhY2tncm91bmQ6IHJnYmEoI2ZmZiwgMC45Mik7XHJcblxyXG4vLyAyNy4gUGFnaW5hdGlvblxyXG4vLyAtLS0tLS0tLS0tLS0tLVxyXG5cclxuJHBhZ2luYXRpb24tZm9udC1zaXplOiByZW0tY2FsYygyMCk7XHJcbiRwYWdpbmF0aW9uLWl0ZW0tY29sb3I6ICR0ZXh0LWdyYXk7XHJcbiRwYWdpbmF0aW9uLWl0ZW0tY29sb3ItY3VycmVudDogJHRleHQtZ3JheTtcclxuJHBhZ2luYXRpb24taXRlbS1jb2xvci1kaXNhYmxlZDogJHRleHQtZ3JheTtcclxuXHJcbi8qLS0tLS0tLS0tLSAgRm9udHMgIC0tLS0tLS0tLS0qL1xyXG5cclxuLy8gSm9zZWZpbiBTYW5zXHJcbi8vIGh0dHBzOi8vZm9udHMuZ29vZ2xlLmNvbS9zcGVjaW1lbi9Kb3NlZmluK1NhbnNcclxuLy8gQWxzbyB1c2UgdGhpcyBKb3NlZmluIGZvciBhbnkgcmVmZXJlbmNlcyB0byBQcm94aW1hIE5vdmFcclxuLy8gMzAwID0gbGlnaHRcclxuLy8gNDAwID0gcmVndWxhclxyXG4vLyA2MDAgPSBzZW1pLWJvbGRcclxuLy8gNzAwID0gYm9sZFxyXG4kam9zZWZpbi1zYW5zOiBcIkpvc2VmaW4gU2Fuc1wiLCBzYW5zLXNlcmlmO1xyXG5cclxuLy8gT3BlbiBTYW5zXHJcbi8vIGh0dHBzOi8vZm9udHMuZ29vZ2xlLmNvbS9zcGVjaW1lbi9PcGVuK1NhbnNcclxuLy8gNDAwID0gcmVndWxhclxyXG4vLyA2MDAgPSBzZW1pLWJvbGRcclxuLy8gNzAwID0gYm9sZFxyXG4kb3Blbi1zYW5zOiBcIk9wZW4gU2Fuc1wiLCBzYW5zLXNlcmlmO1xyXG5cclxuJGJvZHktZm9udC1jb2xvcjogJGRhcmstZ3JheTtcclxuJGJvZHktZm9udC1mYW1pbHk6ICRvcGVuLXNhbnM7XHJcblxyXG4kaGVhZGVyLXN0eWxlczogKFxyXG4gIHNtYWxsOiAoXHJcbiAgICBcImgxXCI6IChcclxuICAgICAgXCJmb250LXNpemVcIjogMzYsXHJcbiAgICApLFxyXG4gICAgXCJoMlwiOiAoXHJcbiAgICAgIFwiZm9udC1zaXplXCI6IDI0LFxyXG4gICAgKSxcclxuICAgIFwiaDNcIjogKFxyXG4gICAgICBcImZvbnQtc2l6ZVwiOiAyMCxcclxuICAgICksXHJcbiAgICBcImg0XCI6IChcclxuICAgICAgXCJmb250LXNpemVcIjogMTgsXHJcbiAgICApLFxyXG4gICAgXCJoNVwiOiAoXHJcbiAgICAgIFwiZm9udC1zaXplXCI6IDE2LFxyXG4gICAgKSxcclxuICAgIFwiaDZcIjogKFxyXG4gICAgICBcImZvbnQtc2l6ZVwiOiAxNCxcclxuICAgICksXHJcbiAgKSxcclxuICBtZWRpdW06IChcclxuICAgIFwiaDFcIjogKFxyXG4gICAgICBcImZvbnQtc2l6ZVwiOiA1MCxcclxuICAgICksXHJcbiAgICAvLyBCZXRhXHJcbiAgICAgIFwiaDJcIjpcclxuICAgICAgKFxyXG4gICAgICAgIFwiZm9udC1zaXplXCI6IDI0LFxyXG4gICAgICApLFxyXG4gICAgLy8gR2FtbWFcclxuICAgICAgXCJoM1wiOlxyXG4gICAgICAoXHJcbiAgICAgICAgXCJmb250LXNpemVcIjogMjQsXHJcbiAgICAgICksXHJcbiAgICAvLyBEZWx0YVxyXG4gICAgICBcImg0XCI6XHJcbiAgICAgIChcclxuICAgICAgICBcImZvbnQtc2l6ZVwiOiAyMixcclxuICAgICAgKSxcclxuICAgIC8vIEVwc2lsb25cclxuICAgICAgXCJoNVwiOlxyXG4gICAgICAoXHJcbiAgICAgICAgXCJmb250LXNpemVcIjogMjAsXHJcbiAgICAgICksXHJcbiAgICAvLyBaZXRhXHJcbiAgICAgIFwiaDZcIjpcclxuICAgICAgKFxyXG4gICAgICAgIFwiZm9udC1zaXplXCI6IDE4LFxyXG4gICAgICApLFxyXG4gICAgLy8gRXRhLFxyXG4gICksXHJcbik7XHJcbiIsIi8qKlxuICogRm91bmRhdGlvbiBmb3IgU2l0ZXNcbiAqIFZlcnNpb24gNi42LjNcbiAqIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbiAqIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuICovXG5cbi8vIC0tLSBEZXBlbmRlbmNpZXMgLS0tXG5AaW1wb3J0ICd2ZW5kb3Ivbm9ybWFsaXplJztcbkBpbXBvcnQgJy4uL192ZW5kb3Ivc2Fzc3ktbGlzdHMvc3R5bGVzaGVldHMvaGVscGVycy9taXNzaW5nLWRlcGVuZGVuY2llcyc7XG5AaW1wb3J0ICcuLi9fdmVuZG9yL3Nhc3N5LWxpc3RzL3N0eWxlc2hlZXRzL2hlbHBlcnMvdHJ1ZSc7XG5AaW1wb3J0ICcuLi9fdmVuZG9yL3Nhc3N5LWxpc3RzL3N0eWxlc2hlZXRzL2Z1bmN0aW9ucy9jb250YWluJztcbkBpbXBvcnQgJy4uL192ZW5kb3Ivc2Fzc3ktbGlzdHMvc3R5bGVzaGVldHMvZnVuY3Rpb25zL3B1cmdlJztcbkBpbXBvcnQgJy4uL192ZW5kb3Ivc2Fzc3ktbGlzdHMvc3R5bGVzaGVldHMvZnVuY3Rpb25zL3JlbW92ZSc7XG5AaW1wb3J0ICcuLi9fdmVuZG9yL3Nhc3N5LWxpc3RzL3N0eWxlc2hlZXRzL2Z1bmN0aW9ucy9yZXBsYWNlJztcbkBpbXBvcnQgJy4uL192ZW5kb3Ivc2Fzc3ktbGlzdHMvc3R5bGVzaGVldHMvZnVuY3Rpb25zL3RvLWxpc3QnO1xuXG4vLyAtLS0gU2V0dGluZ3MgLS0tXG4vLyBpbXBvcnQgeW91ciBvd24gYHNldHRpbmdzYCBoZXJlIG9yXG4vLyBpbXBvcnQgYW5kIG1vZGlmeSB0aGUgZGVmYXVsdCBzZXR0aW5ncyB0aHJvdWdoXG4vLyBAaW1wb3J0ICdzZXR0aW5ncy9zZXR0aW5ncyc7XG5cbi8vIC0tLSBDb21wb25lbnRzIC0tLVxuLy8gVXRpbGl0aWVzXG5AaW1wb3J0ICd1dGlsL3V0aWwnO1xuLy8gR2xvYmFsIHN0eWxlc1xuQGltcG9ydCAnZ2xvYmFsJztcbkBpbXBvcnQgJ2Zvcm1zL2Zvcm1zJztcbkBpbXBvcnQgJ3R5cG9ncmFwaHkvdHlwb2dyYXBoeSc7XG5cbi8vIEdyaWRzXG5AaW1wb3J0ICdncmlkL2dyaWQnO1xuQGltcG9ydCAneHktZ3JpZC94eS1ncmlkJztcbi8vIEdlbmVyaWMgY29tcG9uZW50c1xuQGltcG9ydCAnY29tcG9uZW50cy9idXR0b24nO1xuQGltcG9ydCAnY29tcG9uZW50cy9idXR0b24tZ3JvdXAnO1xuQGltcG9ydCAnY29tcG9uZW50cy9jbG9zZS1idXR0b24nO1xuQGltcG9ydCAnY29tcG9uZW50cy9sYWJlbCc7XG5AaW1wb3J0ICdjb21wb25lbnRzL3Byb2dyZXNzLWJhcic7XG5AaW1wb3J0ICdjb21wb25lbnRzL3NsaWRlcic7XG5AaW1wb3J0ICdjb21wb25lbnRzL3N3aXRjaCc7XG5AaW1wb3J0ICdjb21wb25lbnRzL3RhYmxlJztcbi8vIEJhc2ljIGNvbXBvbmVudHNcbkBpbXBvcnQgJ2NvbXBvbmVudHMvYmFkZ2UnO1xuQGltcG9ydCAnY29tcG9uZW50cy9icmVhZGNydW1icyc7XG5AaW1wb3J0ICdjb21wb25lbnRzL2NhbGxvdXQnO1xuQGltcG9ydCAnY29tcG9uZW50cy9jYXJkJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvZHJvcGRvd24nO1xuQGltcG9ydCAnY29tcG9uZW50cy9wYWdpbmF0aW9uJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvdG9vbHRpcCc7XG5cbi8vIENvbnRhaW5lcnNcbkBpbXBvcnQgJ2NvbXBvbmVudHMvYWNjb3JkaW9uJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvbWVkaWEtb2JqZWN0JztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvb3JiaXQnO1xuQGltcG9ydCAnY29tcG9uZW50cy9yZXNwb25zaXZlLWVtYmVkJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvdGFicyc7XG5AaW1wb3J0ICdjb21wb25lbnRzL3RodW1ibmFpbCc7XG4vLyBNZW51LWJhc2VkIGNvbnRhaW5lcnNcbkBpbXBvcnQgJ2NvbXBvbmVudHMvbWVudSc7XG5AaW1wb3J0ICdjb21wb25lbnRzL21lbnUtaWNvbic7XG5AaW1wb3J0ICdjb21wb25lbnRzL2FjY29yZGlvbi1tZW51JztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvZHJpbGxkb3duJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvZHJvcGRvd24tbWVudSc7XG5cbi8vIExheW91dCBjb21wb25lbnRzXG5AaW1wb3J0ICdjb21wb25lbnRzL29mZi1jYW52YXMnO1xuQGltcG9ydCAnY29tcG9uZW50cy9yZXZlYWwnO1xuQGltcG9ydCAnY29tcG9uZW50cy9zdGlja3knO1xuQGltcG9ydCAnY29tcG9uZW50cy90aXRsZS1iYXInO1xuQGltcG9ydCAnY29tcG9uZW50cy90b3AtYmFyJztcblxuLy8gSGVscGVyc1xuQGltcG9ydCAnY29tcG9uZW50cy9mbG9hdCc7XG5AaW1wb3J0ICdjb21wb25lbnRzL2ZsZXgnO1xuQGltcG9ydCAnY29tcG9uZW50cy92aXNpYmlsaXR5JztcbkBpbXBvcnQgJ3Byb3RvdHlwZS9wcm90b3R5cGUnO1xuXG5cbkBtaXhpbiBmb3VuZGF0aW9uLWV2ZXJ5dGhpbmcoXG4gICRmbGV4OiB0cnVlLFxuICAkcHJvdG90eXBlOiBmYWxzZSxcbiAgJHh5LWdyaWQ6ICR4eS1ncmlkXG4pIHtcbiAgQGlmICRmbGV4IHtcbiAgICAkZ2xvYmFsLWZsZXhib3g6IHRydWUgIWdsb2JhbDtcbiAgfVxuXG4gIEBpZiAkeHktZ3JpZCB7XG4gICAgJHh5LWdyaWQ6IHRydWUgIWdsb2JhbDtcbiAgfVxuXG4gIC8vIEdsb2JhbCBzdHlsZXNcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1nbG9iYWwtc3R5bGVzO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWZvcm1zO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXR5cG9ncmFwaHk7XG5cbiAgLy8gR3JpZHNcbiAgQGlmIG5vdCAkZmxleCB7XG4gICAgQGluY2x1ZGUgZm91bmRhdGlvbi1ncmlkO1xuICB9XG4gIEBlbHNlIHtcbiAgICBAaWYgJHh5LWdyaWQge1xuICAgICAgQGluY2x1ZGUgZm91bmRhdGlvbi14eS1ncmlkLWNsYXNzZXM7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIEBpbmNsdWRlIGZvdW5kYXRpb24tZmxleC1ncmlkO1xuICAgIH1cbiAgfVxuXG4gIC8vIEdlbmVyaWMgY29tcG9uZW50c1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWJ1dHRvbjtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1idXR0b24tZ3JvdXA7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tY2xvc2UtYnV0dG9uO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWxhYmVsO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXByb2dyZXNzLWJhcjtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1zbGlkZXI7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tc3dpdGNoO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXRhYmxlO1xuICAvLyBCYXNpYyBjb21wb25lbnRzXG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tYmFkZ2U7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tYnJlYWRjcnVtYnM7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tY2FsbG91dDtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1jYXJkO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWRyb3Bkb3duO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXBhZ2luYXRpb247XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tdG9vbHRpcDtcblxuICAvLyBDb250YWluZXJzXG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tYWNjb3JkaW9uO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLW1lZGlhLW9iamVjdDtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1vcmJpdDtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1yZXNwb25zaXZlLWVtYmVkO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXRhYnM7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tdGh1bWJuYWlsO1xuICAvLyBNZW51LWJhc2VkIGNvbnRhaW5lcnNcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1tZW51O1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLW1lbnUtaWNvbjtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1hY2NvcmRpb24tbWVudTtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1kcmlsbGRvd24tbWVudTtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1kcm9wZG93bi1tZW51O1xuXG4gIC8vIExheW91dCBjb21wb25lbnRzXG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tb2ZmLWNhbnZhcztcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1yZXZlYWw7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tc3RpY2t5O1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXRpdGxlLWJhcjtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi10b3AtYmFyO1xuXG4gIC8vIEhlbHBlcnNcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1mbG9hdC1jbGFzc2VzO1xuICBAaWYgJGZsZXggeyBAaW5jbHVkZSBmb3VuZGF0aW9uLWZsZXgtY2xhc3NlczsgfVxuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXZpc2liaWxpdHktY2xhc3NlcztcbiAgQGlmICRwcm90b3R5cGUgeyBAaW5jbHVkZSBmb3VuZGF0aW9uLXByb3RvdHlwZS1jbGFzc2VzOyB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlc1xuLy8gaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgYnJlYWtwb2ludHNcbi8vLy9cblxuLy8vIEEgbGlzdCBvZiBuYW1lZCBicmVha3BvaW50cy4gWW91IGNhbiB1c2UgdGhlc2Ugd2l0aCB0aGUgYGJyZWFrcG9pbnQoKWAgbWl4aW4gdG8gcXVpY2tseSBjcmVhdGUgbWVkaWEgcXVlcmllcy5cbi8vLyBAdHlwZSBNYXBcbiRicmVha3BvaW50czogKFxuICBzbWFsbDogMCxcbiAgbWVkaXVtOiA2NDBweCxcbiAgbGFyZ2U6IDEwMjRweCxcbiAgeGxhcmdlOiAxMjAwcHgsXG4gIHh4bGFyZ2U6IDE0NDBweCxcbikgIWRlZmF1bHQ7XG5cbi8vLyBBIGxpc3Qgb2YgbmFtZWQgSGlEUEkgYnJlYWtwb2ludHMuIFlvdSBjYW4gdXNlIHRoZXNlIHdpdGggdGhlIGBicmVha3BvaW50KClgIG1peGluIHRvIHF1aWNrbHkgY3JlYXRlIG1lZGlhIHF1ZXJpZXMgZm9yIHJlc29sdXRpb25zLlxuLy8vIFZhbHVlcyBtdXN0IHJlcHJlc2VudCB0aGUgZGV2aWNlIHBpeGVscyAvIHdlYiBwaXhlbHMgcmF0aW9uIGFuZCBiZSB1bml0bGVzcyBvciBpbiBEUFBYLlxuLy8vIEB0eXBlIE1hcFxuJGJyZWFrcG9pbnRzLWhpZHBpOiAoXG4gIGhpZHBpLTE6IDEsXG4gIGhpZHBpLTEtNTogMS41LFxuICBoaWRwaS0yOiAyLFxuICByZXRpbmE6IDIsXG4gIGhpZHBpLTM6IDNcbikgIWRlZmF1bHQ7XG5cbi8vLyBUaGUgbGFyZ2VzdCBuYW1lZCBicmVha3BvaW50IGluIHdoaWNoIHRvIGluY2x1ZGUgcHJpbnQgYXMgYSBtZWRpYSB0eXBlXG4vLy8gQHR5cGUgS2V5d29yZFxuJHByaW50LWJyZWFrcG9pbnQ6IGxhcmdlICFkZWZhdWx0O1xuXG4kLXpmLXplcm8tYnJlYWtwb2ludDogc21hbGwgIWRlZmF1bHQ7XG5cbiQtemYtYnJlYWtwb2ludHMta2V5czogbWFwLXRvLWxpc3QoJGJyZWFrcG9pbnRzLCAna2V5cycpO1xuXG5AaWYgbnRoKG1hcC12YWx1ZXMoJGJyZWFrcG9pbnRzKSwgMSkgIT0gMCB7XG4gIEBlcnJvciAnVGhlIGZpcnN0IGtleSBpbiB0aGUgJGJyZWFrcG9pbnRzIG1hcCBtdXN0IGhhdmUgYSB2YWx1ZSBvZiBcIjBcIi4nO1xufVxuQGVsc2Uge1xuICAkLXpmLXplcm8tYnJlYWtwb2ludDogbnRoKG1hcC1rZXlzKCRicmVha3BvaW50cyksIDEpO1xufVxuXG4vLy8gQWxsIG9mIHRoZSBuYW1lcyBpbiB0aGlzIGxpc3Qgd2lsbCBiZSBvdXRwdXQgYXMgY2xhc3NlcyBpbiB5b3VyIENTUywgbGlrZSBgLnNtYWxsLTEyYCwgYC5tZWRpdW0tNmAsIGFuZCBzbyBvbi4gRWFjaCB2YWx1ZSBpbiB0aGlzIGxpc3QgbXVzdCBhbHNvIGJlIGluIHRoZSBgJGJyZWFrcG9pbnRzYCBtYXAuXG4vLy8gQHR5cGUgTGlzdFxuJGJyZWFrcG9pbnQtY2xhc3NlczogKHNtYWxsIG1lZGl1bSBsYXJnZSkgIWRlZmF1bHQ7XG5cbi8vLyBHZW5lcmF0ZXMgYSBtZWRpYSBxdWVyeSBzdHJpbmcgbWF0Y2hpbmcgdGhlIGlucHV0IHZhbHVlLiBSZWZlciB0byB0aGUgZG9jdW1lbnRhdGlvbiBmb3IgdGhlIGBicmVha3BvaW50KClgIG1peGluIHRvIHNlZSB3aGF0IHRoZSBwb3NzaWJsZSBpbnB1dHMgYXJlLlxuLy8vXG4vLy8gQHBhcmFtIHtLZXl3b3JkfE51bWJlcn0gJHZhbCBbc21hbGxdIC0gQnJlYWtwb2ludCBuYW1lLCBvciBweCwgcmVtLCBvciBlbSB2YWx1ZSB0byBwcm9jZXNzLlxuQGZ1bmN0aW9uIGJyZWFrcG9pbnQoJHZhbDogJC16Zi16ZXJvLWJyZWFrcG9pbnQpIHtcbiAgLy8gV2ViIHN0YW5kYXJkIFBpeGVscyBwZXIgaW5jaC4gKDFkZHB4IC8gJHN0ZC13ZWItZHBpKSA9IDFkcGlcbiAgLy8gU2VlIGh0dHBzOi8vd3d3LnczLm9yZy9UUi9jc3MtdmFsdWVzLTMvI2Fic29sdXRlLWxlbmd0aHNcbiAgJHN0ZC13ZWItZHBpOiA5NjtcblxuICAvLyBTaXplIG9yIGtleXdvcmRcbiAgJGJwOiBudGgoJHZhbCwgMSk7XG4gIC8vIFZhbHVlIG9mIHRoZSBmb2xsb3dpbmcgYnJlYWtwb2ludFxuICAkYnAtbmV4dDogbnVsbDtcbiAgLy8gVmFsdWUgZm9yIG1heC13aWR0aCBtZWRpYSBxdWVyaWVzXG4gICRicC1taW46IG51bGw7XG4gIC8vIFZhbHVlIGZvciBtaW4td2lkdGggbWVkaWEgcXVlcmllc1xuICAkYnAtbWF4OiBudWxsO1xuICAvLyBEaXJlY3Rpb24gb2YgbWVkaWEgcXVlcnkgKHVwLCBkb3duLCBvciBvbmx5KVxuICAkZGlyOiBpZihsZW5ndGgoJHZhbCkgPiAxLCBudGgoJHZhbCwgMiksIHVwKTtcbiAgLy8gSWYgbmFtZWQsIG5hbWUgb2YgdGhlIGJyZWFrcG9pbnRcbiAgJG5hbWU6IG51bGw7XG4gIC8vIElmIHRoZSBicmVha3BvaW50IGlzIGEgSGlEUEkgYnJlYWtwb2ludFxuICAkaGlkcGk6IGZhbHNlO1xuXG4gIC8vIE9yaWVudGF0aW9uIG1lZGlhIHF1ZXJpZXMgaGF2ZSBhIHVuaXF1ZSBzeW50YXhcbiAgQGlmICRicCA9PSAnbGFuZHNjYXBlJyBvciAkYnAgPT0gJ3BvcnRyYWl0JyB7XG4gICAgQHJldHVybiAnKG9yaWVudGF0aW9uOiAjeyRicH0pJztcbiAgfVxuXG4gIC8vIElmIGEgYnJlYWtwb2ludCBuYW1lIGlzIGdpdmVuLCBnZXQgaXRzIHZhbHVlIGZyb20gdGhlICRicmVha3BvaW50cy8kYnJlYWtwb2ludHMtaGlkcGkgbWFwLlxuICBAaWYgdHlwZS1vZigkYnApID09ICdzdHJpbmcnIHtcbiAgICBAaWYgbWFwLWhhcy1rZXkoJGJyZWFrcG9pbnRzLCAkYnApIHtcbiAgICAgICRuYW1lOiAkYnA7XG4gICAgICAkYnA6IG1hcC1nZXQoJGJyZWFrcG9pbnRzLCAkbmFtZSk7XG4gICAgICAkYnAtbmV4dDogLXpmLW1hcC1uZXh0KCRicmVha3BvaW50cywgJG5hbWUpO1xuICAgIH1cbiAgICBAZWxzZSBpZiBtYXAtaGFzLWtleSgkYnJlYWtwb2ludHMtaGlkcGksICRicCkge1xuICAgICAgJG5hbWU6ICRicDtcbiAgICAgICRicDogbWFwLWdldCgkYnJlYWtwb2ludHMtaGlkcGksICRuYW1lKTtcbiAgICAgICRicC1uZXh0OiAtemYtbWFwLW5leHQtbnVtYmVyKCRicmVha3BvaW50cy1oaWRwaSwgJGJwKTtcbiAgICAgICRoaWRwaTogdHJ1ZTtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgJGJwOiAwO1xuICAgICAgQHdhcm4gJ2JyZWFrcG9pbnQoKTogXCIjeyR2YWx9XCIgaXMgbm90IGRlZmluZWQgaW4geW91ciBgJGJyZWFrcG9pbnRzYCBvciBgJGJyZWFrcG9pbnRzLWhpZHBpYCBzZXR0aW5nLic7XG4gICAgfVxuICB9XG5cbiAgQGlmIG5vdCAkbmFtZSBhbmQgJGRpciA9PSAnb25seScge1xuICAgIEB3YXJuICdicmVha3BvaW50KCk6IE9ubHkgbmFtZWQgbWVkaWEgcXVlcmllcyBjYW4gaGF2ZSBhbiBgb25seWAgcmFuZ2UuJztcbiAgICBAcmV0dXJuIG51bGw7XG4gIH1cblxuICAvLyBPbmx5ICdvbmx5JyBhbmQgJ3VwJyBoYXZlIGEgbWluIGxpbWl0LlxuICBAaWYgJGRpciA9PSAnb25seScgb3IgJGRpciA9PSAndXAnIHtcbiAgICAkYnAtbWluOiBpZigkaGlkcGksIHN0cmlwLXVuaXQoJGJwKSwgLXpmLWJwLXRvLWVtKCRicCkpO1xuICB9XG4gIC8vIE9ubHkgJ29ubHknIGFuZCAnZG93bicgaGF2ZSBhIG1heCBsaW1pdC5cbiAgQGlmICRkaXIgPT0gJ29ubHknIG9yICRkaXIgPT0gJ2Rvd24nIHtcbiAgICAvLyBJZiB0aGUgYnJlYWtwb2ludCBpcyBhIHZhbHVlLCB1c2UgaXQgYXMgbWF4IGxpbWl0LlxuICAgIEBpZiBub3QgJG5hbWUge1xuICAgICAgJGJwLW1heDogaWYoJGhpZHBpLCBzdHJpcC11bml0KCRicCksIC16Zi1icC10by1lbSgkYnApKTtcbiAgICB9XG4gICAgLy8gSWYgdGhlIGJyZWFrcG9pbnQgaXMgbmFtZWQsIHRoZSBtYXggbGltaXQgaXMgdGhlIGZvbGxvd2luZyBicmVha3BvaW50IC0gMXB4LlxuICAgIEBlbHNlIGlmICRicC1uZXh0IHtcbiAgICAgIC8vIE1heCB2YWx1ZSBpcyAwLjJweCB1bmRlciB0aGUgbmV4dCBicmVha3BvaW50ICgwLjAyIC8gMTYgPSAwLjAwMTI1KS5cbiAgICAgIC8vIFVzZSBhIHByZWNpc2lvbiB1bmRlciAxcHggdG8gc3VwcG9ydCBicm93c2VyIHpvb20sIGJ1dCBub3QgdG8gbG93IHRvIGF2b2lkIHJvdW5kaW5nLlxuICAgICAgLy8gU2VlIGh0dHBzOi8vZ2l0aHViLmNvbS9mb3VuZGF0aW9uL2ZvdW5kYXRpb24tc2l0ZXMvaXNzdWVzLzExMzEzXG4gICAgICAkYnAtbWF4OiBpZigkaGlkcGksICRicC1uZXh0IC0gKDEvJHN0ZC13ZWItZHBpKSwgLXpmLWJwLXRvLWVtKCRicC1uZXh0KSAtIDAuMDAxMjUpO1xuICAgIH1cbiAgfVxuXG4gIC8vIEdlbmVyYXRlIHRoZSBtZWRpYSBxdWVyeSBzdHJpbmcgZnJvbSBtaW4gYW5kIG1heCBsaW1pdHMuXG4gIEBpZiAkaGlkcGkge1xuICAgIC8vIEdlbmVyYXRlIHZhbHVlcyBpbiBEUEkgaW5zdGVhZCBvZiBEUFBYIGZvciBhbiBJRTktMTEvT3BlcmEgbWluaSBjb21wYXRpYmlsaXR5LlxuICAgIC8vIFNlZSBodHRwczovL2Nhbml1c2UuY29tLyNmZWF0PWNzcy1tZWRpYS1yZXNvbHV0aW9uXG4gICAgJGJwLW1pbi1kcGk6IGlmKCRicC1taW4sICRicC1taW4gKiAkc3RkLXdlYi1kcGkgKiAxZHBpLCAkYnAtbWluKTtcbiAgICAkYnAtbWF4LWRwaTogaWYoJGJwLW1heCwgJGJwLW1heCAqICRzdGQtd2ViLWRwaSAqIDFkcGksICRicC1tYXgpO1xuICAgIEByZXR1cm4gemYtc3RyLWpvaW4oXG4gICAgICAtemYtYnAtam9pbigkYnAtbWluLCAkYnAtbWF4LCAnLXdlYmtpdC1taW4tZGV2aWNlLXBpeGVsLXJhdGlvJywgJy13ZWJraXQtbWF4LWRldmljZS1waXhlbC1yYXRpbycpLFxuICAgICAgLXpmLWJwLWpvaW4oJGJwLW1pbi1kcGksICRicC1tYXgtZHBpLCAnbWluLXJlc29sdXRpb24nLCAnbWF4LXJlc29sdXRpb24nKSxcbiAgICAgICcsICcpO1xuICB9XG4gIEBlbHNlIHtcbiAgICBAcmV0dXJuIC16Zi1icC1qb2luKCRicC1taW4sICRicC1tYXgpO1xuICB9XG59XG5cbi8vLyBXcmFwcyBhIG1lZGlhIHF1ZXJ5IGFyb3VuZCB0aGUgY29udGVudCB5b3UgcHV0IGluc2lkZSB0aGUgbWl4aW4uIFRoaXMgbWl4aW4gYWNjZXB0cyBhIG51bWJlciBvZiB2YWx1ZXM6XG4vLy8gIC0gSWYgYSBzdHJpbmcgaXMgcGFzc2VkLCB0aGUgbWl4aW4gd2lsbCBsb29rIGZvciBpdCBpbiB0aGUgYCRicmVha3BvaW50c2AgYW5kIGAkYnJlYWtwb2ludHMtaGlkcGlgIG1hcHMsIGFuZCB1c2UgYSBtZWRpYSBxdWVyeSB0aGVyZS5cbi8vLyAgLSBJZiBhIHBpeGVsIHZhbHVlIGlzIHBhc3NlZCwgaXQgd2lsbCBiZSBjb252ZXJ0ZWQgdG8gYW4gZW0gdmFsdWUgdXNpbmcgYCRnbG9iYWwtZm9udC1zaXplYCBhcyB0aGUgYmFzZS5cbi8vLyAgLSBJZiBhIHJlbSB2YWx1ZSBpcyBwYXNzZWQsIHRoZSB1bml0IHdpbGwgYmUgY2hhbmdlZCB0byBlbS5cbi8vLyAgLSBJZiBhbiBlbSB2YWx1ZSBpcyBwYXNzZWQsIHRoZSB2YWx1ZSB3aWxsIGJlIHVzZWQgYXMtaXMuXG4vLy9cbi8vLyBJZiBtdWx0aXBsZSB2YWx1ZXMgYXJlIHBhc3NlZCwgdGhlIG1peGluIHdpbGwgZ2VuZXJhdGUgYSBtZWRpYSBxdWVyeSBmb3IgZWFjaCBvZiB0aGVtIGFzIGRlc2NyaWJlZCBhYm92ZS5cbi8vLyBTaW5jZSB0aGUgY29udGVudCBpcyBkdXBsaWNhdGVkIGZvciBlYWNoIGJyZWFrcG9pbnQsIHRoaXMgbWl4aW4gc2hvdWxkIG9ubHkgYmUgdXNlZCB3aXRoIHByb3BlcnRpZXMgdGhhdFxuLy8vIGNoYW5nZSBhY3Jvc3MgYnJlYWtwb2ludHMuXG4vLy9cbi8vLyBAcGFyYW0ge0tleXdvcmR8TnVtYmVyfSAkdmFsdWVzLi4uIC0gQnJlYWtwb2ludCBuYW1lIG9yIHB4L3JlbS9lbSB2YWx1ZSB0byBwcm9jZXNzLlxuLy8vXG4vLy8gQG91dHB1dCBJZiB0aGUgYnJlYWtwb2ludCBpcyBcIjBweCBhbmQgbGFyZ2VyXCIsIG91dHB1dHMgdGhlIGNvbnRlbnQgYXMtaXMuIE90aGVyd2lzZSwgb3V0cHV0cyB0aGUgY29udGVudCB3cmFwcGVkIGluIGEgbWVkaWEgcXVlcnkuXG5AbWl4aW4gYnJlYWtwb2ludCgkdmFsdWVzLi4uKSB7XG4gIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggbGVuZ3RoKCR2YWx1ZXMpIHtcbiAgICAkdmFsdWU6IG50aCgkdmFsdWVzLCAkaSk7XG4gICAgJHN0cjogYnJlYWtwb2ludCgkdmFsdWUpO1xuICAgICRicDogaW5kZXgoJC16Zi1icmVha3BvaW50cy1rZXlzLCBudGgoJHZhbHVlLCAxKSk7XG4gICAgJHBicDogaW5kZXgoJC16Zi1icmVha3BvaW50cy1rZXlzLCAkcHJpbnQtYnJlYWtwb2ludCk7XG4gICAgLy8gRGlyZWN0aW9uIG9mIG1lZGlhIHF1ZXJ5ICh1cCwgZG93biwgb3Igb25seSlcbiAgICAkZGlyOiBpZihsZW5ndGgoJHZhbHVlKSA+IDEsIG50aCgkdmFsdWUsIDIpLCB1cCk7XG5cbiAgICAkb2xkLXpmLXNpemU6IG51bGw7XG5cbiAgICAvLyBNYWtlIGJyZWFrcG9pbnQgc2l6ZSBhdmFpbGFibGUgYXMgYSB2YXJpYWJsZVxuICAgIEBpZiBnbG9iYWwtdmFyaWFibGUtZXhpc3RzKC16Zi1zaXplKSB7XG4gICAgICAkb2xkLXpmLXNpemU6ICQtemYtc2l6ZTtcbiAgICB9XG4gICAgJC16Zi1zaXplOiBudGgoJHZhbHVlLCAxKSAhZ2xvYmFsOyAvLyBnZXQgdGhlIGZpcnN0IHZhbHVlIHRvIGFjY291bnQgZm9yIGBvbmx5YCBhbmQgYGRvd25gIGtleXdvcmRzXG5cbiAgICAvLyBJZiAkc3RyIGlzIHN0aWxsIGFuIGVtcHR5IHN0cmluZywgbm8gbWVkaWEgcXVlcnkgaXMgbmVlZGVkXG4gICAgQGlmICRzdHIgPT0gJycge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuXG4gICAgLy8gT3RoZXJ3aXNlLCB3cmFwIHRoZSBjb250ZW50IGluIGEgbWVkaWEgcXVlcnlcbiAgICBAZWxzZSB7XG4gICAgICAvLyBGb3IgbmFtZWQgYnJlYWtwb2ludHMgbGVzcyB0aGFuIG9yIGVxdWFsIHRvICRwcmludC1icmVha3BvaW50LCBhZGQgcHJpbnQgdG8gdGhlIG1lZGlhIHR5cGVzXG4gICAgICAvLyBnZW5lcmF0ZSBwcmludCBpZiB0aGUgYnJlYWtwb2ludCBhZmZlY3RzIHRoZSBwcmludC1icmVha3BvaW50IChvciBzbWFsbGVyKS5cbiAgICAgIC8vIFRoaXMgbWVhbnMgdGhlIGN1cnJlbnQgY29uZGl0aW9uIG9ubHkgbmVlZHMgdG8gYmUgZXh0ZW5kZWQgc28gJ2Rvd24nIGFsd2F5cyBnZW5lcmF0ZXMgcHJpbnQuXG4gICAgICBAaWYgJGJwICE9IG51bGwgYW5kICgkYnAgPD0gJHBicCBvciAkZGlyID09IGRvd24pIHtcbiAgICAgICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kICN7JHN0cn0ge1xuICAgICAgICAgIEBjb250ZW50O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICBAZWxzZSB7XG4gICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kICN7JHN0cn0ge1xuICAgICAgICAgIEBjb250ZW50O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgJC16Zi1zaXplOiAkb2xkLXpmLXNpemUgIWdsb2JhbDtcbiAgfVxufVxuXG4vLy8gQ29udmVydHMgdGhlIGJyZWFrcG9pbnRzIG1hcCB0byBhIFVSTC1lbmNvZGVkIHN0cmluZywgbGlrZSB0aGlzOiBga2V5MT12YWx1ZTEma2V5Mj12YWx1ZTJgLiBUaGUgdmFsdWUgaXMgdGhlbiBkcm9wcGVkIGludG8gdGhlIENTUyBmb3IgYSBzcGVjaWFsIGA8bWV0YT5gIHRhZywgd2hpY2ggaXMgcmVhZCBieSB0aGUgRm91bmRhdGlvbiBKYXZhU2NyaXB0LiBUaGlzIGlzIGhvdyB3ZSB0cmFuc2ZlciB2YWx1ZXMgZnJvbSBTYXNzIHRvIEphdmFTY3JpcHQsIHNvIHRoZXkgY2FuIGJlIGRlZmluZWQgaW4gb25lIHBsYWNlLlxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vXG4vLy8gQHBhcmFtIHtNYXB9ICRtYXAgLSBNYXAgdG8gY29udmVydC5cbi8vL1xuLy8vIEByZXR1cm5zIHtTdHJpbmd9IEEgc3RyaW5nIGNvbnRhaW5pbmcgdGhlIG1hcCdzIGNvbnRlbnRzLlxuQGZ1bmN0aW9uIC16Zi1icC1zZXJpYWxpemUoJG1hcCkge1xuICAkc3RyOiAnJztcbiAgQGVhY2ggJGtleSwgJHZhbHVlIGluICRtYXAge1xuICAgICRzdHI6ICRzdHIgKyAka2V5ICsgJz0nICsgLXpmLWJwLXRvLWVtKCR2YWx1ZSkgKyAnJic7XG4gIH1cbiAgJHN0cjogc3RyLXNsaWNlKCRzdHIsIDEsIC0yKTtcblxuICBAcmV0dXJuICRzdHI7XG59XG5cbi8vLyBGaW5kIHRoZSBuZXh0IGtleSBpbiBhIG1hcC5cbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vL1xuLy8vIEBwYXJhbSB7TWFwfSAkbWFwIC0gTWFwIHRvIHRyYXZlcnNlLlxuLy8vIEBwYXJhbSB7TWl4ZWR9ICRrZXkgLSBLZXkgdG8gdXNlIGFzIGEgc3RhcnRpbmcgcG9pbnQuXG4vLy9cbi8vLyBAcmV0dXJucyB7TWl4ZWR9IFRoZSB2YWx1ZSBmb3IgdGhlIGtleSBhZnRlciBgJGtleWAsIGlmIGAka2V5YCB3YXMgZm91bmQuIElmIGAka2V5YCB3YXMgbm90IGZvdW5kLCBvciBgJGtleWAgd2FzIHRoZSBsYXN0IHZhbHVlIGluIHRoZSBtYXAsIHJldHVybnMgYG51bGxgLlxuQGZ1bmN0aW9uIC16Zi1tYXAtbmV4dCgkbWFwLCAka2V5KSB7XG5cbiAgLy8gU3RvcmUgdGhlIGtleXMgb2YgdGhlIG1hcCBhcyBhIGxpc3RcbiAgJHZhbHVlczogbWFwLWtleXMoJG1hcCk7XG5cbiAgJGk6IDA7XG5cbiAgLy8gSWYgdGhlIEtleSBFeGlzdHMsIEdldCB0aGUgaW5kZXggb2YgdGhlIGtleSB3aXRoaW4gdGhlIG1hcCBhbmQgYWRkIDEgdG8gaXQgZm9yIHRoZSBuZXh0IGJyZWFrcG9pbnQgaW4gdGhlIG1hcFxuICBAaWYgKG1hcC1oYXMta2V5KCRtYXAsICRrZXkpKSB7XG4gICAgJGk6IGluZGV4KCR2YWx1ZXMsICRrZXkpICsgMTtcbiAgfVxuXG4gIC8vIElmIHRoZSBrZXkgZG9lc24ndCBleGlzdCwgb3IgaXQncyB0aGUgbGFzdCBrZXkgaW4gdGhlIG1hcCwgcmV0dXJuIG51bGxcbiAgQGlmICgkaSA+IGxlbmd0aCgkbWFwKSBvciAkaSA9PSAwKSB7XG4gICAgQHJldHVybiBudWxsO1xuICB9XG4gIC8vIE90aGVyd2lzZSwgcmV0dXJuIHRoZSB2YWx1ZVxuICBAZWxzZSB7XG4gICAgQHJldHVybiBtYXAtZ2V0KCRtYXAsIG50aCgkdmFsdWVzLCAkaSkpO1xuICB9XG5cbn1cblxuLy8vIEZpbmQgdGhlIG5leHQgbnVtYmVyIGluIGEgbWFwLlxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vXG4vLy8gQHBhcmFtIHtNYXB9ICRtYXAgLSBNYXAgdG8gdHJhdmVyc2UuXG4vLy8gQHBhcmFtIHtNaXhlZH0gJG51bWJlciAtIE51bWJlciB0byB1c2UgYXMgYSBzdGFydGluZyBwb2ludC5cbi8vL1xuLy8vIEByZXR1cm5zIHtNaXhlZH0gVGhlIG51bWJlciBmb2xsb3dpbmcgYCRudW1iZXJgLCBpZiBgJG51bWJlcmAgd2FzIGZvdW5kLiBJZiBgJG51bWJlcmAgd2FzIG5vdCBmb3VuZCwgb3IgYCRudW1iZXJgIHdhcyB0aGUgYmlnZ2VzdCBudW1iZXIgaW4gdGhlIG1hcCwgcmV0dXJucyBgbnVsbGAuXG5AZnVuY3Rpb24gLXpmLW1hcC1uZXh0LW51bWJlcigkbWFwLCAkbnVtYmVyKSB7XG5cbiAgJG5leHRfbnVtYmVyOiBudWxsO1xuXG4gIEBlYWNoICRrLCAkdiBpbiAkbWFwIHtcbiAgICBAaWYgdHlwZS1vZigkdikgPT0gJ251bWJlcicgYW5kICR2ID4gJG51bWJlciBhbmQgKCRuZXh0X251bWJlciA9PSBudWxsIG9yICR2IDwgJG5leHRfbnVtYmVyKSB7XG4gICAgICAkbmV4dF9udW1iZXI6ICR2O1xuICAgIH1cbiAgfVxuXG4gIEByZXR1cm4gJG5leHRfbnVtYmVyO1xufVxuXG4vLy8gUmV0dXJuIGEgbGlzdCBvZiBvdXIgbmFtZWQgYnJlYWtwb2ludHMgbGVzcyB0aGFuICRrZXkuIFVzZWZ1bCBmb3IgZGVhbGluZyB3aXRoXG4vLy8gcmVzcG9uc2l2ZSBndXR0ZXJzIGZvciB0aGUgZ3JpZC5cbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vL1xuLy8vIEBwYXJhbSB7U3RyaW5nfSAka2V5IC0gS2V5IHRvIHVzZSBhcyBsYXN0IGJyZWFrcG9pbnQuXG4vLy9cbi8vLyBAcmV0dXJucyB7QXJyYXl9IFRoZSBsaXN0IG9mIGJyZWFrcG9pbnRzIHVwIHRvIGFuZC4gSWYgJGtleSBpcyBhdXRvLCByZXR1cm5zIGJyZWFrcG9pbnRzIGFib3ZlIHRoZSB6ZXJvXG5AZnVuY3Rpb24gLXpmLWJyZWFrcG9pbnRzLWxlc3MtdGhhbigka2V5KSB7XG4gICRsaXN0OiAoKTtcbiAgJGZvdW5kX2tleTogZmFsc2U7XG5cbiAgQGVhY2ggJG5hbWUgaW4gJC16Zi1icmVha3BvaW50cy1rZXlzIHtcbiAgICBAaWYgKCRuYW1lID09ICRrZXkpIHtcbiAgICAgICRmb3VuZF9rZXk6IHRydWU7XG4gICAgfVxuICAgIEBpZiBub3QgJGZvdW5kX2tleSB7XG4gICAgICAkbGlzdDogYXBwZW5kKCRsaXN0LCAkbmFtZSk7XG4gICAgfVxuICB9XG4gIEByZXR1cm4gJGxpc3Q7XG59XG5cbi8vLyBSZXR1cm4gYSBsaXN0IG9mIG91ciBuYW1lZCBicmVha3BvaW50cyBsZXNzIHRoYW4gJGtleS4gVXNlZnVsIGZvciBkZWFsaW5nIHdpdGhcbi8vLyByZXNwb25zaXZlIGd1dHRlcnMgZm9yIHRoZSBncmlkLlxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRicmVha3BvaW50IC0gYSBuYW1lZCBvciBub24tbmFtZWQgYnJlYWtwb2ludC5cbi8vL1xuLy8vIEByZXR1cm5zIHtBcnJheX0gVGhlIGxpc3Qgb2YgYnJlYWtwb2ludHMgdXAgdG8gYW5kLiBJZiAka2V5IGlzIGF1dG8sIHJldHVybnMgYnJlYWtwb2ludHMgYWJvdmUgdGhlIHplcm9cbkBmdW5jdGlvbiAtemYtY2xvc2VzdC1uYW1lZC1icmVha3BvaW50KCRicmVha3BvaW50KSB7XG4gICRsYXN0OiAkLXpmLXplcm8tYnJlYWtwb2ludDtcbiAgJGZvdW5kOiBmYWxzZTtcblxuICAkdmFsdWU6IHVuaXRsZXNzLWNhbGMoJGJyZWFrcG9pbnQsIDFweCk7XG4gIEBlYWNoICRrZXksICR2YWwgaW4gJGJyZWFrcG9pbnRzIHtcbiAgICBAaWYgbm90ICRmb3VuZCB7XG4gICAgICBAaWYgdW5pdGxlc3MtY2FsYygkdmFsKSA+ICR2YWx1ZSB7XG4gICAgICAgICRmb3VuZDogdHJ1ZTtcbiAgICAgIH0gQGVsc2Uge1xuICAgICAgICAkbGFzdDogJGtleTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBAcmV0dXJuICRsYXN0O1xufVxuXG4vLy8gR2V0IGEgdmFsdWUgZm9yIGEgYnJlYWtwb2ludCBmcm9tIGEgcmVzcG9uc2l2ZSBjb25maWcgbWFwIG9yIHNpbmdsZSB2YWx1ZS5cbi8vLyAtIElmIHRoZSBjb25maWcgaXMgYSBzaW5nbGUgdmFsdWUsIHJldHVybiBpdCByZWdhcmRsZXNzIG9mIGAkdmFsdWVgLlxuLy8vIC0gSWYgdGhlIGNvbmZpZyBpcyBhIG1hcCBhbmQgaGFzIHRoZSBrZXkgYCR2YWx1ZWAsIHRoZSBleGFjdCBicmVha3BvaW50IHZhbHVlIGlzIHJldHVybmVkLlxuLy8vIC0gSWYgdGhlIGNvbmZpZyBpcyBhIG1hcCBhbmQgZG9lcyAqbm90KiBoYXZlIHRoZSBicmVha3BvaW50LCB0aGUgdmFsdWUgbWF0Y2hpbmcgdGhlIG5leHQgbG93ZXN0IGJyZWFrcG9pbnQgaW4gdGhlIGNvbmZpZyBtYXAgaXMgcmV0dXJuZWQuXG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcnxNYXB9ICRtYXAgLSBSZXNwb25zaXZlIGNvbmZpZyBtYXAgb3Igc2luZ2xlIHZhbHVlLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHZhbHVlIC0gQnJlYWtwb2ludCBuYW1lIHRvIHVzZS5cbi8vL1xuLy8vIEByZXR1cm4ge01peGVkfSBUaGUgY29ycmVzcG9uZGluZyBicmVha3BvaW50IHZhbHVlLlxuQGZ1bmN0aW9uIC16Zi1nZXQtYnAtdmFsKCRtYXAsICR2YWx1ZSkge1xuICAvLyBJZiB0aGUgZ2l2ZW4gbWFwIGlzIGEgc2luZ2xlIHZhbHVlLCByZXR1cm4gaXRcbiAgQGlmIHR5cGUtb2YoJG1hcCkgPT0gJ251bWJlcicge1xuICAgIEByZXR1cm4gJG1hcDtcbiAgfVxuXG5cbiAgLy8gQ2hlY2sgaWYgdGhlIGJyZWFrcG9pbnQgbmFtZSBleGlzdHMgZ2xvYmFsbHlcbiAgQGlmIG5vdCBtYXAtaGFzLWtleSgkYnJlYWtwb2ludHMsICR2YWx1ZSkge1xuICAgIEBpZiB0eXBlLW9mKCR2YWx1ZSkgPT0gJ251bWJlcicge1xuICAgICAgJHZhbHVlOiAtemYtY2xvc2VzdC1uYW1lZC1icmVha3BvaW50KCR2YWx1ZSk7XG4gICAgfSBAZWxzZSB7XG4gICAgICBAcmV0dXJuIG51bGw7XG4gICAgfVxuICB9XG4gIC8vIENoZWNrIGlmIHRoZSBicmVha3BvaW50IG5hbWUgZXhpc3RzIGluIHRoZSBsb2NhbCBjb25maWcgbWFwXG4gIEBlbHNlIGlmIG1hcC1oYXMta2V5KCRtYXAsICR2YWx1ZSkge1xuICAgIC8vIElmIGl0IGRvZXMsIGp1c3QgcmV0dXJuIHRoZSB2YWx1ZVxuICAgIEByZXR1cm4gbWFwLWdldCgkbWFwLCAkdmFsdWUpO1xuICB9XG4gIC8vIE90aGVyd2lzZSwgZmluZCB0aGUgbmV4dCBsb3dlc3QgYnJlYWtwb2ludCBhbmQgcmV0dXJuIHRoYXQgdmFsdWVcbiAgQGVsc2Uge1xuICAgICRhbmNob3I6IG51bGw7XG4gICAgJGZvdW5kOiBmYWxzZTtcblxuICAgIEBlYWNoICRrZXksICR2YWwgaW4gJGJyZWFrcG9pbnRzIHtcbiAgICAgIEBpZiBub3QgJGZvdW5kIHtcbiAgICAgICAgQGlmIG1hcC1oYXMta2V5KCRtYXAsICRrZXkpIHtcbiAgICAgICAgICAkYW5jaG9yOiAka2V5O1xuICAgICAgICB9XG4gICAgICAgIEBpZiAka2V5ID09ICR2YWx1ZSB7XG4gICAgICAgICAgJGZvdW5kOiB0cnVlO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgQHJldHVybiBtYXAtZ2V0KCRtYXAsICRhbmNob3IpO1xuICB9XG59XG5cbi8vLyBSZXR1cm4gdGhlIGJlc3QgYnJlYWtwb2ludCB0byB1c2UgYWNjb3JkaW5nIHRvIHRoZSBjYWxsaW5nIGNvbnRleHQuIEl0IHJldHVybnMgaW4gb3JkZXI6XG4vLy8gMS4gdGhlIGdpdmVuIGAkdmFsdWVgIGFyZ3VtZW50IGlmIGl0IGlzIG5vdCBudWxsLlxuLy8vIDIuIHRoZSBnbG9iYWwgYnJlYWtwb2ludCBjb250ZXh0IGAkLXpmLXNpemVgIGlmIGl0IGlzIG5vdCBudWxsIChsaWtlIGlmIGNhbGxlZCBpbnNpZGUgdGhlbiBgYnJlYWtwb2ludCgpYCBtaXhpbilcbi8vLyAzLiB0aGUgZ2l2ZW4gYCRkZWZhdWx0YCBhcmd1bWVudC5cbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vL1xuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHZhbHVlIFtudWxsXSAtIEJyZWFrcG9pbnQgdG8gdXNlIGluIHByaW9yaXR5IGlmIG5vbi1udWxsLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGRlZmF1bHQgW251bGxdIC0gQnJlYWtwb2ludCB0byB1c2UgYnkgZGVmYXVsdCBpZiBubyBvdGhlciB2YWx1ZSBjYW4gYmUgdXNlZC5cbi8vL1xuLy8vIEByZXR1cm4ge0tleXdvcmR9IFRoZSByZXNvbHZlZCBicmVha3BvaW50LlxuQGZ1bmN0aW9uIC16Zi1jdXJyZW50LWJyZWFrcG9pbnQoJHZhbHVlOiBudWxsLCAkZGVmYXVsdDogbnVsbCkge1xuICBAaWYgKCR2YWx1ZSAhPSBudWxsKSB7XG4gICAgQHJldHVybiAkdmFsdWU7XG4gIH1cbiAgQGVsc2UgaWYgKHZhcmlhYmxlLWV4aXN0cygtemYtc2l6ZSkgYW5kIHR5cGUtb2YoJC16Zi1zaXplKSAhPSAnbnVtYmVyJykgYW5kICQtemYtc2l6ZSAhPSBudWxsIHtcbiAgICBAcmV0dXJuICQtemYtc2l6ZTtcbiAgfVxuICBAZWxzZSB7XG4gICAgQHJldHVybiAkZGVmYXVsdDtcbiAgfVxufVxuXG4vLy8gUmV0dXJuIG1lZGlhIHF1ZXJ5IHN0cmluZyBmcm9tIHRoZSBnaXZlbiBtaW4gYW5kL29yIG1heCBsaW1pdHMuXG4vLy8gSWYgYSBsaW1pdCBpcyBlcXVhbCB0byBgbnVsbGAgb3IgYDBgLCBpdCBpcyBpZ25vcmVkLlxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRtaW4gWzBdIC0gTWluIG1lZGlhIHF1ZXJ5IGxpbWl0LlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkbWF4IFswXSAtIE1heCBtZWRpYSBxdWVyeSBsaW1pdC5cbi8vLyBAcGFyYW0ge1N0cmluZ30gJG1pbi1uYW1lIFsnbWluLXdpZHRoJ10gLSBOYW1lIG9mIHRoZSBtaW4gbWVkaWEgcXVlcnkgbGltaXQuXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRkZWxpbWl0ZXIgWydtYXgtd2lkdGgnXSAtIE5hbWUgb2YgdGhlIG1heCBtZWRpYSBxdWVyeSBsaW1pdC5cbi8vL1xuLy8vIEByZXR1cm5zIHtTdHJpbmd9IE1lZGlhIFF1ZXJ5IHN0cmluZy5cbkBmdW5jdGlvbiAtemYtYnAtam9pbihcbiAgJG1pbjogMCxcbiAgJG1heDogMCxcbiAgJG1pbi1uYW1lOiAnbWluLXdpZHRoJyxcbiAgJG1heC1uYW1lOiAnbWF4LXdpZHRoJ1xuKSB7XG4gIEByZXR1cm4gemYtc3RyLWpvaW4oXG4gICAgaWYoJG1pbiBhbmQgJG1pbiA+IDAsICcoI3skbWluLW5hbWV9OiAjeyRtaW59KScsIG51bGwpLFxuICAgIGlmKCRtYXggYW5kICRtYXggPiAwLCAnKCN7JG1heC1uYW1lfTogI3skbWF4fSknLCBudWxsKSxcbiAgICAnIGFuZCAnKTtcbn1cblxuJHNtYWxsLXVwOiAnJztcbiRzbWFsbC1vbmx5OiAnJztcblxuQGlmIG1hcC1oYXMta2V5KCRicmVha3BvaW50cywgc21hbGwpIHtcbiAgJHNtYWxsLXVwOiBzY3JlZW47XG4gICRzbWFsbC1vbmx5OiB1bnF1b3RlKCdzY3JlZW4gYW5kICN7YnJlYWtwb2ludChzbWFsbCBvbmx5KX0nKTtcbn1cblxuJG1lZGl1bS11cDogJyc7XG4kbWVkaXVtLW9ubHk6ICcnO1xuXG5AaWYgbWFwLWhhcy1rZXkoJGJyZWFrcG9pbnRzLCBtZWRpdW0pIHtcbiAgJG1lZGl1bS11cDogdW5xdW90ZSgnc2NyZWVuIGFuZCAje2JyZWFrcG9pbnQobWVkaXVtKX0nKTtcbiAgJG1lZGl1bS1vbmx5OiB1bnF1b3RlKCdzY3JlZW4gYW5kICN7YnJlYWtwb2ludChtZWRpdW0gb25seSl9Jyk7XG59XG5cbiRsYXJnZS11cDogJyc7XG4kbGFyZ2Utb25seTogJyc7XG5cbkBpZiBtYXAtaGFzLWtleSgkYnJlYWtwb2ludHMsIGxhcmdlKSB7XG4gICRsYXJnZS11cDogdW5xdW90ZSgnc2NyZWVuIGFuZCAje2JyZWFrcG9pbnQobGFyZ2UpfScpO1xuICAkbGFyZ2Utb25seTogdW5xdW90ZSgnc2NyZWVuIGFuZCAje2JyZWFrcG9pbnQobGFyZ2Ugb25seSl9Jyk7XG59XG5cbiR4bGFyZ2UtdXA6ICcnO1xuJHhsYXJnZS1vbmx5OiAnJztcblxuQGlmIG1hcC1oYXMta2V5KCRicmVha3BvaW50cywgeGxhcmdlKSB7XG4gICR4bGFyZ2UtdXA6IHVucXVvdGUoJ3NjcmVlbiBhbmQgI3ticmVha3BvaW50KHhsYXJnZSl9Jyk7XG4gICR4bGFyZ2Utb25seTogdW5xdW90ZSgnc2NyZWVuIGFuZCAje2JyZWFrcG9pbnQoeGxhcmdlIG9ubHkpfScpO1xufVxuXG4keHhsYXJnZS11cDogJyc7XG5cbkBpZiBtYXAtaGFzLWtleSgkYnJlYWtwb2ludHMsIHh4bGFyZ2UpIHtcbiAgJHh4bGFyZ2UtdXA6IHVucXVvdGUoJ3NjcmVlbiBhbmQgI3ticmVha3BvaW50KHh4bGFyZ2UpfScpO1xufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHJldmVhbFxuLy8vL1xuXG4vLy8gRGVmYXVsdCBiYWNrZ3JvdW5kIGNvbG9yIG9mIGEgbW9kYWwuXG4vLy8gQHR5cGUgQ29sb3JcbiRyZXZlYWwtYmFja2dyb3VuZDogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCB3aWR0aCBvZiBhIG1vZGFsLCB3aXRoIG5vIGNsYXNzIGFwcGxpZWQuXG4vLy8gQHR5cGUgTnVtYmVyXG4kcmV2ZWFsLXdpZHRoOiA2MDBweCAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgbWF4aW11bSB3aWR0aCBvZiBhIG1vZGFsLlxuLy8vIEB0eXBlIE51bWJlclxuJHJldmVhbC1tYXgtd2lkdGg6ICRnbG9iYWwtd2lkdGggIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHBhZGRpbmcgaW5zaWRlIGEgbW9kYWwuXG4vLy8gQHR5cGUgTnVtYmVyXG4kcmV2ZWFsLXBhZGRpbmc6ICRnbG9iYWwtcGFkZGluZyAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYm9yZGVyIGFyb3VuZCBhIG1vZGFsLlxuLy8vIEB0eXBlIE51bWJlclxuJHJldmVhbC1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHJhZGl1cyBmb3IgbW9kYWwuXG4vLy8gQHR5cGUgTnVtYmVyXG4kcmV2ZWFsLXJhZGl1czogJGdsb2JhbC1yYWRpdXMgIWRlZmF1bHQ7XG5cbi8vLyB6LWluZGV4IGZvciBtb2RhbHMuIFRoZSBvdmVybGF5IHVzZXMgdGhpcyB2YWx1ZSwgd2hpbGUgdGhlIG1vZGFsIGl0c2VsZiB1c2VzIHRoaXMgdmFsdWUgcGx1cyBvbmUuXG4vLy8gQHR5cGUgTnVtYmVyXG4kcmV2ZWFsLXppbmRleDogMTAwNSAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3Igb2YgbW9kYWwgb3ZlcmxheXMuXG4vLy8gQHR5cGUgQ29sb3JcbiRyZXZlYWwtb3ZlcmxheS1iYWNrZ3JvdW5kOiByZ2JhKCRibGFjaywgMC40NSkgIWRlZmF1bHQ7XG5cblxuLy8gUGxhY2Vob2xkZXIgc2VsZWN0b3IgZm9yIG1lZGl1bS1hbmQtdXAgbW9kYWxzXG4vLyBQcmV2ZW50cyBkdXBsaWNhdGUgQ1NTIHdoZW4gZGVmaW5pbmcgbXVsdGlwbGUgUmV2ZWFsIHNpemVzXG4vLyBUaGlzIHNob3VsZCBiZSBpbiB0aGUgc2FtZSBicmVha3BvaW50IHRoZW4gYEBtaXhpbiByZXZlYWwtbW9kYWwtd2lkdGhgXG5AaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAlcmV2ZWFsLWNlbnRlcmVkIHtcbiAgICByaWdodDogYXV0bztcbiAgICBsZWZ0OiBhdXRvO1xuICAgIG1hcmdpbjogMCBhdXRvO1xuICB9XG59XG5cblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhIG1vZGFsIG92ZXJsYXkuXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGJhY2tncm91bmQgWyRyZXZlYWwtb3ZlcmxheS1iYWNrZ3JvdW5kXSAtIEJhY2tncm91bmQgY29sb3Igb2YgdGhlIG92ZXJsYXkuXG5AbWl4aW4gcmV2ZWFsLW92ZXJsYXkoJGJhY2tncm91bmQ6ICRyZXZlYWwtb3ZlcmxheS1iYWNrZ3JvdW5kKSB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgdG9wOiAwO1xuICByaWdodDogMDtcbiAgYm90dG9tOiAwO1xuICBsZWZ0OiAwO1xuICB6LWluZGV4OiAkcmV2ZWFsLXppbmRleDtcblxuICBkaXNwbGF5OiBub25lO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFja2dyb3VuZDtcbiAgb3ZlcmZsb3cteTogYXV0bztcbn1cblxuLy8vIEFkZHMgYmFzZSBzdHlsZXMgZm9yIGEgbW9kYWwuXG5AbWl4aW4gcmV2ZWFsLW1vZGFsLWJhc2Uge1xuICBAaW5jbHVkZSBkaXNhYmxlLW1vdXNlLW91dGxpbmU7XG4gIHotaW5kZXg6ICRyZXZlYWwtemluZGV4ICsgMTtcbiAgLy8gV29ya2Fyb3VuZCBhbmRyb2lkIGJyb3dzZXIgei1pbmRleCBidWdcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuXG4gIGRpc3BsYXk6IG5vbmU7XG4gIHBhZGRpbmc6ICRyZXZlYWwtcGFkZGluZztcblxuICBib3JkZXI6ICRyZXZlYWwtYm9yZGVyO1xuICBib3JkZXItcmFkaXVzOiAkcmV2ZWFsLXJhZGl1cztcbiAgYmFja2dyb3VuZC1jb2xvcjogJHJldmVhbC1iYWNrZ3JvdW5kO1xuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgbWluLWhlaWdodDogMDtcbiAgfVxuXG4gIC8vIE1ha2Ugc3VyZSByb3dzIGRvbid0IGhhdmUgYSBtaW4td2lkdGggb24gdGhlbVxuICAuY29sdW1uIHtcbiAgICBtaW4td2lkdGg6IDA7XG4gIH1cblxuICAvLyBTdHJpcCBtYXJnaW5zIGZyb20gdGhlIGxhc3QgaXRlbSBpbiB0aGUgbW9kYWxcbiAgPiA6bGFzdC1jaGlsZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgfVxufVxuXG4vLy8gQWRqdXN0cyB0aGUgd2lkdGggb2YgYSBtb2RhbC5cbi8vLyBAcGFyYW0ge051bWJlcn0gJHdpZHRoIC0gV2lkdGggb2YgdGhlIG1vZGFsLiBHZW5lcmFsbHkgYSBwZXJjZW50YWdlLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkbWF4LXdpZHRoIFskcmV2ZWFsLW1heC13aWR0aF0gLSBNYXhpbXVtIHdpZHRoIG9mIHRoZSBtb2RhbC5cbkBtaXhpbiByZXZlYWwtbW9kYWwtd2lkdGgoXG4gICR3aWR0aDogJHJldmVhbC13aWR0aCxcbiAgJG1heC13aWR0aDogJHJldmVhbC1tYXgtd2lkdGhcbikge1xuICAvLyBFeHRlbmRzIG11c3QgYmUgbWFkZSBvdXRzaWRlIG9mIGJyZWFrcG9pbnRzIGZvciBjb21wYXRpYmlsaXR5IHdpdGggbmV3ZXIgU2FzcyB2ZXJzaW9ucyAobGlic2FzcyB2My41KVxuICBAZXh0ZW5kICVyZXZlYWwtY2VudGVyZWQ7XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgd2lkdGg6ICR3aWR0aDtcbiAgICBtYXgtd2lkdGg6ICRtYXgtd2lkdGg7XG4gIH1cbn1cblxuLy8vIENyZWF0ZXMgYSBmdWxsLXNjcmVlbiBtb2RhbCwgd2hpY2ggc3RyZXRjaGVzIHRoZSBmdWxsIHdpZHRoIGFuZCBoZWlnaHQgb2YgdGhlIHdpbmRvdy5cbkBtaXhpbiByZXZlYWwtbW9kYWwtZnVsbHNjcmVlbiB7XG4gIHRvcDogMDtcbiAgcmlnaHQ6IDA7XG4gIGJvdHRvbTogMDtcbiAgbGVmdDogMDtcblxuICB3aWR0aDogMTAwJTtcbiAgbWF4LXdpZHRoOiBub25lO1xuICBoZWlnaHQ6IDEwMCU7XG4gIG1pbi1oZWlnaHQ6IDEwMCU7XG4gIG1hcmdpbi1sZWZ0OiAwO1xuXG4gIGJvcmRlcjogMDtcbiAgYm9yZGVyLXJhZGl1czogMDtcbn1cblxuQG1peGluIGZvdW5kYXRpb24tcmV2ZWFsIHtcblxuICAvLy8gRGlzYWJsZXMgdGhlIHNjcm9sbCB3aGVuIFJldmVhbCBpcyBzaG93biB0byBwcmV2ZW50IHRoZSBiYWNrZ3JvdW5kIGZyb20gc2hpZnRpbmdcbiAgaHRtbC5pcy1yZXZlYWwtb3BlbiB7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG92ZXJmbG93LXk6IGhpZGRlbjtcblxuICAgICYuemYtaGFzLXNjcm9sbCB7XG4gICAgICBvdmVyZmxvdy15OiBzY3JvbGw7XG4gICAgfVxuXG4gICAgYm9keSB7IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgbm8tcXVhbGlmeWluZy1lbGVtZW50c1xuICAgICAgb3ZlcmZsb3cteTogaGlkZGVuO1xuICAgIH1cbiAgfVxuXG4gIC8vIE92ZXJsYXlcbiAgLnJldmVhbC1vdmVybGF5IHtcbiAgICBAaW5jbHVkZSByZXZlYWwtb3ZlcmxheTtcbiAgfVxuXG4gIC8vIE1vZGFsIGNvbnRhaW5lclxuICAucmV2ZWFsIHtcbiAgICBAaW5jbHVkZSByZXZlYWwtbW9kYWwtYmFzZTtcbiAgICBAaW5jbHVkZSByZXZlYWwtbW9kYWwtd2lkdGgoJHJldmVhbC13aWR0aCk7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRvcDogMTAwcHg7XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgIG92ZXJmbG93LXk6IGF1dG87XG5cbiAgICAvLyBSZW1vdmUgcGFkZGluZ1xuICAgICYuY29sbGFwc2Uge1xuICAgICAgcGFkZGluZzogMDtcbiAgICB9XG5cbiAgICAvLyBTaXppbmcgY2xhc3Nlc1xuICAgICYudGlueSAgeyBAaW5jbHVkZSByZXZlYWwtbW9kYWwtd2lkdGgoMzAlKTsgfVxuICAgICYuc21hbGwgeyBAaW5jbHVkZSByZXZlYWwtbW9kYWwtd2lkdGgoNTAlKTsgfVxuICAgICYubGFyZ2UgeyBAaW5jbHVkZSByZXZlYWwtbW9kYWwtd2lkdGgoOTAlKTsgfVxuXG4gICAgLy8gRnVsbC1zY3JlZW4gbW9kZVxuICAgICYuZnVsbCB7XG4gICAgICBAaW5jbHVkZSByZXZlYWwtbW9kYWwtZnVsbHNjcmVlbjtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KCQtemYtemVyby1icmVha3BvaW50IG9ubHkpIHtcbiAgICAgIEBpbmNsdWRlIHJldmVhbC1tb2RhbC1mdWxsc2NyZWVuO1xuICAgIH1cblxuICAgICYud2l0aG91dC1vdmVybGF5IHtcbiAgICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICB9XG4gIH1cbn1cbiIsIkBtaXhpbiBmb3VuZGF0aW9uLW5vcm1hbGl6ZSgpIHtcbiAgLyohIG5vcm1hbGl6ZS5jc3MgdjguMC4wIHwgTUlUIExpY2Vuc2UgfCBnaXRodWIuY29tL25lY29sYXMvbm9ybWFsaXplLmNzcyAqL1xuXG4gIC8vIERvY3VtZW50XG4gIC8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiAgLy8gMS4gQ29ycmVjdCB0aGUgbGluZSBoZWlnaHQgaW4gYWxsIGJyb3dzZXJzLlxuICAvLyAyLiBQcmV2ZW50IGFkanVzdG1lbnRzIG9mIGZvbnQgc2l6ZSBhZnRlciBvcmllbnRhdGlvbiBjaGFuZ2VzIGluIGlPUy5cblxuICBodG1sIHtcbiAgICBsaW5lLWhlaWdodDogMS4xNTsgLy8gMVxuICAgIC13ZWJraXQtdGV4dC1zaXplLWFkanVzdDogMTAwJTsgLy8gMlxuICB9XG5cbiAgLy8gU2VjdGlvbnNcbiAgLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuICAvLyBSZW1vdmUgdGhlIG1hcmdpbiBpbiBhbGwgYnJvd3NlcnMuXG5cbiAgYm9keSB7XG4gICAgbWFyZ2luOiAwO1xuICB9XG5cbiAgLy8gQ29ycmVjdCB0aGUgZm9udCBzaXplIGFuZCBtYXJnaW4gb24gYGgxYCBlbGVtZW50cyB3aXRoaW4gYHNlY3Rpb25gIGFuZFxuICAvLyBgYXJ0aWNsZWAgY29udGV4dHMgaW4gQ2hyb21lLCBGaXJlZm94LCBhbmQgU2FmYXJpLlxuXG4gIGgxIHtcbiAgICBmb250LXNpemU6IDJlbTtcbiAgICBtYXJnaW46IDAuNjdlbSAwO1xuICB9XG5cbiAgLy8gR3JvdXBpbmcgY29udGVudFxuICAvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4gIC8vIDEuIEFkZCB0aGUgY29ycmVjdCBib3ggc2l6aW5nIGluIEZpcmVmb3guXG4gIC8vIDIuIFNob3cgdGhlIG92ZXJmbG93IGluIEVkZ2UgYW5kIElFLlxuXG4gIGhyIHtcbiAgICBib3gtc2l6aW5nOiBjb250ZW50LWJveDsgLy8gMVxuICAgIGhlaWdodDogMDsgLy8gMVxuICAgIG92ZXJmbG93OiB2aXNpYmxlOyAvLyAyXG4gIH1cblxuICAvLyAxLiBDb3JyZWN0IHRoZSBpbmhlcml0YW5jZSBhbmQgc2NhbGluZyBvZiBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzLlxuICAvLyAyLiBDb3JyZWN0IHRoZSBvZGQgYGVtYCBmb250IHNpemluZyBpbiBhbGwgYnJvd3NlcnMuXG5cbiAgcHJlIHtcbiAgICBmb250LWZhbWlseTogbW9ub3NwYWNlLCBtb25vc3BhY2U7IC8vIDFcbiAgICBmb250LXNpemU6IDFlbTsgLy8gMlxuICB9XG5cbiAgLy8gVGV4dC1sZXZlbCBzZW1hbnRpY3NcbiAgLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuICAvLyBSZW1vdmUgdGhlIGdyYXkgYmFja2dyb3VuZCBvbiBhY3RpdmUgbGlua3MgaW4gSUUgMTAuXG5cbiAgYSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIH1cblxuICAvLyAxLiBSZW1vdmUgdGhlIGJvdHRvbSBib3JkZXIgaW4gQ2hyb21lIDU3LVxuICAvLyAyLiBBZGQgdGhlIGNvcnJlY3QgdGV4dCBkZWNvcmF0aW9uIGluIENocm9tZSwgRWRnZSwgSUUsIE9wZXJhLCBhbmQgU2FmYXJpLlxuXG4gIGFiYnJbdGl0bGVdIHtcbiAgICBib3JkZXItYm90dG9tOiBub25lOyAvLyAxXG4gICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IC8vIDJcbiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZSBkb3R0ZWQ7IC8vIDJcbiAgfVxuXG4gIC8vIEFkZCB0aGUgY29ycmVjdCBmb250IHdlaWdodCBpbiBDaHJvbWUsIEVkZ2UsIGFuZCBTYWZhcmkuXG5cbiAgYixcbiAgc3Ryb25nIHtcbiAgICBmb250LXdlaWdodDogYm9sZGVyO1xuICB9XG5cbiAgLy8gMS4gQ29ycmVjdCB0aGUgaW5oZXJpdGFuY2UgYW5kIHNjYWxpbmcgb2YgZm9udCBzaXplIGluIGFsbCBicm93c2Vycy5cbiAgLy8gMi4gQ29ycmVjdCB0aGUgb2RkIGBlbWAgZm9udCBzaXppbmcgaW4gYWxsIGJyb3dzZXJzLlxuXG4gIGNvZGUsXG4gIGtiZCxcbiAgc2FtcCB7XG4gICAgZm9udC1mYW1pbHk6IG1vbm9zcGFjZSwgbW9ub3NwYWNlOyAvLyAxXG4gICAgZm9udC1zaXplOiAxZW07IC8vIDJcbiAgfVxuXG4gIC8vIEFkZCB0aGUgY29ycmVjdCBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzLlxuXG4gIHNtYWxsIHtcbiAgICBmb250LXNpemU6IDgwJTtcbiAgfVxuXG4gIC8vIFByZXZlbnQgYHN1YmAgYW5kIGBzdXBgIGVsZW1lbnRzIGZyb20gYWZmZWN0aW5nIHRoZSBsaW5lIGhlaWdodCBpblxuICAvLyBhbGwgYnJvd3NlcnMuXG5cbiAgc3ViLFxuICBzdXAge1xuICAgIGZvbnQtc2l6ZTogNzUlO1xuICAgIGxpbmUtaGVpZ2h0OiAwO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG4gIH1cblxuICBzdWIge1xuICAgIGJvdHRvbTogLTAuMjVlbTtcbiAgfVxuXG4gIHN1cCB7XG4gICAgdG9wOiAtMC41ZW07XG4gIH1cblxuICAvLyBFbWJlZGRlZCBjb250ZW50XG4gIC8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiAgLy8gUmVtb3ZlIHRoZSBib3JkZXIgb24gaW1hZ2VzIGluc2lkZSBsaW5rcyBpbiBJRSAxMC5cblxuICBpbWcge1xuICAgIGJvcmRlci1zdHlsZTogbm9uZTtcbiAgfVxuXG4gIC8vIEZvcm1zXG4gIC8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiAgLy8gMS4gQ2hhbmdlIHRoZSBmb250IHN0eWxlcyBpbiBhbGwgYnJvd3NlcnMuXG4gIC8vIDIuIFJlbW92ZSB0aGUgbWFyZ2luIGluIEZpcmVmb3ggYW5kIFNhZmFyaS5cblxuICBidXR0b24sXG4gIGlucHV0LFxuICBvcHRncm91cCxcbiAgc2VsZWN0LFxuICB0ZXh0YXJlYSB7XG4gICAgZm9udC1mYW1pbHk6IGluaGVyaXQ7IC8vIDFcbiAgICBmb250LXNpemU6IDEwMCU7IC8vIDFcbiAgICBsaW5lLWhlaWdodDogMS4xNTsgLy8gMVxuICAgIG1hcmdpbjogMDsgLy8gMlxuICB9XG5cbiAgLy8gU2hvdyB0aGUgb3ZlcmZsb3cgaW4gSUUuXG4gIC8vIDEuIFNob3cgdGhlIG92ZXJmbG93IGluIEVkZ2UuXG5cbiAgYnV0dG9uLFxuICBpbnB1dCB7IC8vIDFcbiAgICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgfVxuXG4gIC8vIFJlbW92ZSB0aGUgaW5oZXJpdGFuY2Ugb2YgdGV4dCB0cmFuc2Zvcm0gaW4gRWRnZSwgRmlyZWZveCwgYW5kIElFLlxuICAvLyAxLiBSZW1vdmUgdGhlIGluaGVyaXRhbmNlIG9mIHRleHQgdHJhbnNmb3JtIGluIEZpcmVmb3guXG5cbiAgYnV0dG9uLFxuICBzZWxlY3QgeyAvLyAxXG4gICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gIH1cblxuICAvLyBDb3JyZWN0IHRoZSBpbmFiaWxpdHkgdG8gc3R5bGUgY2xpY2thYmxlIHR5cGVzIGluIGlPUyBhbmQgU2FmYXJpLlxuXG4gIGJ1dHRvbixcbiAgW3R5cGU9XCJidXR0b25cIl0sXG4gIFt0eXBlPVwicmVzZXRcIl0sXG4gIFt0eXBlPVwic3VibWl0XCJdIHtcbiAgICAtd2Via2l0LWFwcGVhcmFuY2U6IGJ1dHRvbjtcbiAgfVxuXG4gIC8vIFJlbW92ZSB0aGUgaW5uZXIgYm9yZGVyIGFuZCBwYWRkaW5nIGluIEZpcmVmb3guXG5cbiAgYnV0dG9uOjotbW96LWZvY3VzLWlubmVyLFxuICBbdHlwZT1cImJ1dHRvblwiXTo6LW1vei1mb2N1cy1pbm5lcixcbiAgW3R5cGU9XCJyZXNldFwiXTo6LW1vei1mb2N1cy1pbm5lcixcbiAgW3R5cGU9XCJzdWJtaXRcIl06Oi1tb3otZm9jdXMtaW5uZXIge1xuICAgIGJvcmRlci1zdHlsZTogbm9uZTtcbiAgICBwYWRkaW5nOiAwO1xuICB9XG5cbiAgLy8gUmVzdG9yZSB0aGUgZm9jdXMgc3R5bGVzIHVuc2V0IGJ5IHRoZSBwcmV2aW91cyBydWxlLlxuXG4gIGJ1dHRvbjotbW96LWZvY3VzcmluZyxcbiAgW3R5cGU9XCJidXR0b25cIl06LW1vei1mb2N1c3JpbmcsXG4gIFt0eXBlPVwicmVzZXRcIl06LW1vei1mb2N1c3JpbmcsXG4gIFt0eXBlPVwic3VibWl0XCJdOi1tb3otZm9jdXNyaW5nIHtcbiAgICBvdXRsaW5lOiAxcHggZG90dGVkIEJ1dHRvblRleHQ7XG4gIH1cblxuICAvLyBDb3JyZWN0IHRoZSBwYWRkaW5nIGluIEZpcmVmb3guXG5cbiAgZmllbGRzZXQge1xuICAgIHBhZGRpbmc6IDAuMzVlbSAwLjc1ZW0gMC42MjVlbTtcbiAgfVxuXG4gIC8vIDEuIENvcnJlY3QgdGhlIHRleHQgd3JhcHBpbmcgaW4gRWRnZSBhbmQgSUUuXG4gIC8vIDIuIENvcnJlY3QgdGhlIGNvbG9yIGluaGVyaXRhbmNlIGZyb20gYGZpZWxkc2V0YCBlbGVtZW50cyBpbiBJRS5cbiAgLy8gMy4gUmVtb3ZlIHRoZSBwYWRkaW5nIHNvIGRldmVsb3BlcnMgYXJlIG5vdCBjYXVnaHQgb3V0IHdoZW4gdGhleSB6ZXJvIG91dFxuICAvLyAgICBgZmllbGRzZXRgIGVsZW1lbnRzIGluIGFsbCBicm93c2Vycy5cblxuICBsZWdlbmQge1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7IC8vIDFcbiAgICBjb2xvcjogaW5oZXJpdDsgLy8gMlxuICAgIGRpc3BsYXk6IHRhYmxlOyAvLyAxXG4gICAgbWF4LXdpZHRoOiAxMDAlOyAvLyAxXG4gICAgcGFkZGluZzogMDsgLy8gM1xuICAgIHdoaXRlLXNwYWNlOiBub3JtYWw7IC8vIDFcbiAgfVxuXG4gIC8vIEFkZCB0aGUgY29ycmVjdCB2ZXJ0aWNhbCBhbGlnbm1lbnQgaW4gQ2hyb21lLCBGaXJlZm94LCBhbmQgT3BlcmEuXG5cbiAgcHJvZ3Jlc3Mge1xuICAgIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbiAgfVxuXG4gIC8vIFJlbW92ZSB0aGUgZGVmYXVsdCB2ZXJ0aWNhbCBzY3JvbGxiYXIgaW4gSUUgMTArLlxuXG4gIHRleHRhcmVhIHtcbiAgICBvdmVyZmxvdzogYXV0bztcbiAgfVxuXG4gIC8vIDEuIEFkZCB0aGUgY29ycmVjdCBib3ggc2l6aW5nIGluIElFIDEwLlxuICAvLyAyLiBSZW1vdmUgdGhlIHBhZGRpbmcgaW4gSUUgMTAuXG5cbiAgW3R5cGU9XCJjaGVja2JveFwiXSxcbiAgW3R5cGU9XCJyYWRpb1wiXSB7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDsgLy8gMVxuICAgIHBhZGRpbmc6IDA7IC8vIDJcbiAgfVxuXG4gIC8vIENvcnJlY3QgdGhlIGN1cnNvciBzdHlsZSBvZiBpbmNyZW1lbnQgYW5kIGRlY3JlbWVudCBidXR0b25zIGluIENocm9tZS5cblxuICBbdHlwZT1cIm51bWJlclwiXTo6LXdlYmtpdC1pbm5lci1zcGluLWJ1dHRvbixcbiAgW3R5cGU9XCJudW1iZXJcIl06Oi13ZWJraXQtb3V0ZXItc3Bpbi1idXR0b24ge1xuICAgIGhlaWdodDogYXV0bztcbiAgfVxuXG4gIC8vIDEuIENvcnJlY3QgdGhlIG9kZCBhcHBlYXJhbmNlIGluIENocm9tZSBhbmQgU2FmYXJpLlxuICAvLyAyLiBDb3JyZWN0IHRoZSBvdXRsaW5lIHN0eWxlIGluIFNhZmFyaS5cblxuICBbdHlwZT1cInNlYXJjaFwiXSB7XG4gICAgLXdlYmtpdC1hcHBlYXJhbmNlOiB0ZXh0ZmllbGQ7IC8vIDFcbiAgICBvdXRsaW5lLW9mZnNldDogLTJweDsgLy8gMlxuICB9XG5cbiAgLy8gUmVtb3ZlIHRoZSBpbm5lciBwYWRkaW5nIGluIENocm9tZSBhbmQgU2FmYXJpIG9uIG1hY09TLlxuXG4gIFt0eXBlPVwic2VhcmNoXCJdOjotd2Via2l0LXNlYXJjaC1kZWNvcmF0aW9uIHtcbiAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gIH1cblxuICAvLyAxLiBDb3JyZWN0IHRoZSBpbmFiaWxpdHkgdG8gc3R5bGUgY2xpY2thYmxlIHR5cGVzIGluIGlPUyBhbmQgU2FmYXJpLlxuICAvLyAyLiBDaGFuZ2UgZm9udCBwcm9wZXJ0aWVzIHRvIGBpbmhlcml0YCBpbiBTYWZhcmkuXG5cbiAgOjotd2Via2l0LWZpbGUtdXBsb2FkLWJ1dHRvbiB7XG4gICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBidXR0b247IC8vIDFcbiAgICBmb250OiBpbmhlcml0OyAvLyAyXG4gIH1cblxuICAvLyBJbnRlcmFjdGl2ZVxuICAvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4gIC8vIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIEVkZ2UsIElFIDEwKywgYW5kIEZpcmVmb3guXG5cbiAgZGV0YWlscyB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cblxuICAvLyBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBhbGwgYnJvd3NlcnMuXG5cbiAgc3VtbWFyeSB7XG4gICAgZGlzcGxheTogbGlzdC1pdGVtO1xuICB9XG5cbiAgLy8gTWlzY1xuICAvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4gIC8vIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDEwKy5cblxuICB0ZW1wbGF0ZSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuXG4gIC8vIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDEwLlxuXG4gIFtoaWRkZW5dIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlc1xuLy8gaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vIHNhc3MtbGludDpkaXNhYmxlIG5vLWNvbG9yLWxpdGVyYWxzLCBuby1xdWFsaWZ5aW5nLWVsZW1lbnRzXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZ2xvYmFsXG4vLy8vXG5cbkBpbXBvcnQgJ3V0aWwvdXRpbCc7XG5cbi8vLyBGb250IHNpemUgYXR0cmlidXRlIGFwcGxpZWQgdG8gYDxodG1sPmAgYW5kIGA8Ym9keT5gLiBXZSB1c2UgMTAwJSBieSBkZWZhdWx0IHNvIHRoZSB2YWx1ZSBpcyBpbmhlcml0ZWQgZnJvbSB0aGUgdXNlcidzIGJyb3dzZXIgc2V0dGluZ3MuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZ2xvYmFsLWZvbnQtc2l6ZTogMTAwJSAhZGVmYXVsdDtcblxuLy8vIEdsb2JhbCB3aWR0aCBvZiB5b3VyIHNpdGUuIFVzZWQgYnkgdGhlIGdyaWQgdG8gZGV0ZXJtaW5lIHJvdyB3aWR0aC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRnbG9iYWwtd2lkdGg6IHJlbS1jYWxjKDEyMDApICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBsaW5lIGhlaWdodCBmb3IgYWxsIHR5cGUuIGAkZ2xvYmFsLWxpbmVoZWlnaHRgIGlzIDI0cHggd2hpbGUgYCRnbG9iYWwtZm9udC1zaXplYCBpcyAxNnB4XG4vLy8gQHR5cGUgTnVtYmVyXG4kZ2xvYmFsLWxpbmVoZWlnaHQ6IDEuNSAhZGVmYXVsdDtcblxuLy8vIENvbG9ycyB1c2VkIGZvciBidXR0b25zLCBjYWxsb3V0cywgbGlua3MsIGV0Yy4gVGhlcmUgbXVzdCBhbHdheXMgYmUgYSBjb2xvciBjYWxsZWQgYHByaW1hcnlgLlxuLy8vIEB0eXBlIE1hcFxuJGZvdW5kYXRpb24tcGFsZXR0ZTogKFxuICBwcmltYXJ5OiAjMTc3OWJhLFxuICBzZWNvbmRhcnk6ICM3Njc2NzYsXG4gIHN1Y2Nlc3M6ICMzYWRiNzYsXG4gIHdhcm5pbmc6ICNmZmFlMDAsXG4gIGFsZXJ0OiAjY2M0YjM3LFxuKSAhZGVmYXVsdDtcblxuLy8vIENvbG9yIHVzZWQgZm9yIGxpZ2h0IGdyYXkgVUkgaXRlbXMuXG4vLy8gQHR5cGUgQ29sb3JcbiRsaWdodC1ncmF5OiAjZTZlNmU2ICFkZWZhdWx0O1xuXG4vLy8gQ29sb3IgdXNlZCBmb3IgbWVkaXVtIGdyYXkgVUkgaXRlbXMuXG4vLy8gQHR5cGUgQ29sb3JcbiRtZWRpdW0tZ3JheTogI2NhY2FjYSAhZGVmYXVsdDtcblxuLy8vIENvbG9yIHVzZWQgZm9yIGRhcmsgZ3JheSBVSSBpdGVtcy5cbi8vLyBAdHlwZSBDb2xvclxuJGRhcmstZ3JheTogIzhhOGE4YSAhZGVmYXVsdDtcblxuLy8vIENvbG9yIHVzZWQgZm9yIGJsYWNrIHVpIGl0ZW1zLlxuLy8vIEB0eXBlIENvbG9yXG4kYmxhY2s6ICMwYTBhMGEgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciB1c2VkIGZvciB3aGl0ZSB1aSBpdGVtcy5cbi8vLyBAdHlwZSBDb2xvclxuJHdoaXRlOiAjZmVmZWZlICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBvZiB0aGUgYm9keS5cbi8vLyBAdHlwZSBDb2xvclxuJGJvZHktYmFja2dyb3VuZDogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gVGV4dCBjb2xvciBvZiB0aGUgYm9keS5cbi8vLyBAdHlwZSBDb2xvclxuJGJvZHktZm9udC1jb2xvcjogJGJsYWNrICFkZWZhdWx0O1xuXG4vLy8gRm9udCBzdGFjayBvZiB0aGUgYm9keS5cbi8vLyBAdHlwZSBMaXN0XG4kYm9keS1mb250LWZhbWlseTogJ0hlbHZldGljYSBOZXVlJywgSGVsdmV0aWNhLCBSb2JvdG8sIEFyaWFsLCBzYW5zLXNlcmlmICFkZWZhdWx0O1xuXG4vLy8gU2V0IHRvIGB0cnVlYCB0byBlbmFibGUgYW50aWFsaWFzZWQgdHlwZSwgdXNpbmcgdGhlIGAtd2Via2l0LWZvbnQtc21vb3RoaW5nYCBhbmQgYC1tb3otb3N4LWZvbnQtc21vb3RoaW5nYCBDU1MgcHJvcGVydGllcy5cbi8vLyBAdHlwZSBCb29sZWFuXG4kYm9keS1hbnRpYWxpYXNlZDogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIEdsb2JhbCB2YWx1ZSB1c2VkIGZvciBtYXJnaW4gb24gY29tcG9uZW50cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRnbG9iYWwtbWFyZ2luOiAxcmVtICFkZWZhdWx0O1xuXG4vLy8gR2xvYmFsIHZhbHVlIHVzZWQgZm9yIHBhZGRpbmcgb24gY29tcG9uZW50cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRnbG9iYWwtcGFkZGluZzogMXJlbSAhZGVmYXVsdDtcblxuLy8vIEdsb2JhbCB2YWx1ZSB1c2VkIGZvciBwb3NpdGlvbmluZyBvbiBjb21wb25lbnRzLlxuLy8vIEB0eXBlIE51bWJlclxuJGdsb2JhbC1wb3NpdGlvbjogMXJlbSAhZGVmYXVsdDtcblxuLy8vIEdsb2JhbCBmb250IHdlaWdodCB1c2VkIGZvciBub3JtYWwgdHlwZS5cbi8vLyBAdHlwZSBLZXl3b3JkIHwgTnVtYmVyXG4kZ2xvYmFsLXdlaWdodC1ub3JtYWw6IG5vcm1hbCAhZGVmYXVsdDtcblxuLy8vIEdsb2JhbCBmb250IHdlaWdodCB1c2VkIGZvciBib2xkIHR5cGUuXG4vLy8gQHR5cGUgS2V5d29yZCB8IE51bWJlclxuJGdsb2JhbC13ZWlnaHQtYm9sZDogYm9sZCAhZGVmYXVsdDtcblxuLy8vIEdsb2JhbCB2YWx1ZSB1c2VkIGZvciBhbGwgZWxlbWVudHMgdGhhdCBoYXZlIGEgYm9yZGVyIHJhZGl1cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRnbG9iYWwtcmFkaXVzOiAwICFkZWZhdWx0O1xuXG4vLy8gR2xvYmFsIHZhbHVlIHVzZWQgZm9yIGFsbCBtZW51IHN0eWxlcy4gQ2FuIGJlIG92ZXJ3cml0dGVuIGF0IGluZGl2aWR1YWwgbWVudSBjb21wb25lbnQgbGV2ZWwuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZ2xvYmFsLW1lbnUtcGFkZGluZzogMC43cmVtIDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBHbG9iYWwgdmFsdWUgdXNlZCBmb3IgYWxsIG1lbnUgc3R5bGVzLiBOZXN0ZWQgbWFyZ2luIGZvciBzdWJtZW51LlxuJGdsb2JhbC1tZW51LW5lc3RlZC1tYXJnaW46IDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBTZXRzIHRoZSB0ZXh0IGRpcmVjdGlvbiBvZiB0aGUgQ1NTLiBDYW4gYmUgZWl0aGVyIGBsdHJgIG9yIGBydGxgLlxuLy8vIEB0eXBlIEtleXdvcmRcbiRnbG9iYWwtdGV4dC1kaXJlY3Rpb246IGx0ciAhZGVmYXVsdDtcblxuLy8vIEVuYWJsZXMgZmxleGJveCBmb3IgY29tcG9uZW50cyB0aGF0IHN1cHBvcnQgaXQuXG4vLy8gQHR5cGUgQm9vbGVhblxuJGdsb2JhbC1mbGV4Ym94OiB0cnVlICFkZWZhdWx0O1xuXG4vLy8gRW5hYmxlZCByZXNwb25zaXZlIGJyZWFrcG9pbnRzIGZvciBwcm90b3R5cGVzIGlmIGFwcGxpY2FibGVcbi8vLyBAdHlwZSBCb29sZWFuXG4kZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50czogZmFsc2UgIWRlZmF1bHQ7XG5cbi8vLyBCdXR0b24gY3Vyc29yJ3MgdmFsdWUsIGBhdXRvYCBieSBkZWZhdWx0XG4vLy8gQHR5cGUgS2V5d29yZFxuJGdsb2JhbC1idXR0b24tY3Vyc29yOiBhdXRvICFkZWZhdWx0O1xuXG5AaWYgbm90IG1hcC1oYXMta2V5KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHByaW1hcnkpIHtcbiAgQGVycm9yICdJbiAkZm91bmRhdGlvbi1wYWxldHRlLCB5b3UgbXVzdCBoYXZlIGEgY29sb3IgbmFtZWQgXCJwcmltYXJ5XCIuJztcbn1cblxuLy8gSW50ZXJuYWwgdmFyaWFibGVzIHVzZWQgZm9yIHRleHQgZGlyZWN0aW9uXG4kZ2xvYmFsLWxlZnQ6IGlmKCRnbG9iYWwtdGV4dC1kaXJlY3Rpb24gPT0gcnRsLCByaWdodCwgbGVmdCk7XG4kZ2xvYmFsLXJpZ2h0OiBpZigkZ2xvYmFsLXRleHQtZGlyZWN0aW9uID09IHJ0bCwgbGVmdCwgcmlnaHQpO1xuXG4vLyBJbnRlcm5hbCB2YXJpYWJsZSB0aGF0IGNvbnRhaW5zIHRoZSBmbGV4IGp1c3RpZnlpbmcgb3B0aW9uc1xuJC16Zi1mbGV4LWp1c3RpZnk6IC16Zi1mbGV4LWp1c3RpZnkoJGdsb2JhbC10ZXh0LWRpcmVjdGlvbik7XG5cbi8vLyBHbG9iYWwgdG9sZXJhbmNlIGZvciBjb2xvciBwaWNrIGNvbnRyYXN0LlxuLy8vIEB0eXBlIE51bWJlclxuJGdsb2JhbC1jb2xvci1waWNrLWNvbnRyYXN0LXRvbGVyYW5jZTogMCAhZGVmYXVsdDtcblxuLy8gSW50ZXJuYWwgdmFyaWFibGVzIHVzZWQgZm9yIGNvbG9yc1xuQGluY2x1ZGUgYWRkLWZvdW5kYXRpb24tY29sb3JzO1xuXG5AbWl4aW4gZm91bmRhdGlvbi1nbG9iYWwtc3R5bGVzIHtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1ub3JtYWxpemU7XG5cbiAgLy8gVGhlc2Ugc3R5bGVzIGFyZSBhcHBsaWVkIHRvIGEgPG1ldGE+IHRhZywgd2hpY2ggaXMgcmVhZCBieSB0aGUgRm91bmRhdGlvbiBKYXZhU2NyaXB0XG4gIC5mb3VuZGF0aW9uLW1xIHtcbiAgICBmb250LWZhbWlseTogJyN7LXpmLWJwLXNlcmlhbGl6ZSgkYnJlYWtwb2ludHMpfSc7XG4gIH1cblxuICBodG1sIHtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIGZvbnQtc2l6ZTogJGdsb2JhbC1mb250LXNpemU7XG4gIH1cblxuICAvLyBTZXQgYm94LXNpemluZyBnbG9iYWxseSB0byBoYW5kbGUgcGFkZGluZyBhbmQgYm9yZGVyIHdpZHRoc1xuICAqLFxuICAqOjpiZWZvcmUsXG4gICo6OmFmdGVyIHtcbiAgICBib3gtc2l6aW5nOiBpbmhlcml0O1xuICB9XG5cbiAgLy8gRGVmYXVsdCBib2R5IHN0eWxlc1xuICBib2R5IHtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcblxuICAgIGJhY2tncm91bmQ6ICRib2R5LWJhY2tncm91bmQ7XG5cbiAgICBmb250LWZhbWlseTogJGJvZHktZm9udC1mYW1pbHk7XG4gICAgZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LW5vcm1hbDtcbiAgICBsaW5lLWhlaWdodDogJGdsb2JhbC1saW5laGVpZ2h0O1xuICAgIGNvbG9yOiAkYm9keS1mb250LWNvbG9yO1xuXG4gICAgQGlmICgkYm9keS1hbnRpYWxpYXNlZCkge1xuICAgICAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgbm8tdmVuZG9yLXByZWZpeGVzXG4gICAgICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlOyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIG5vLXZlbmRvci1wcmVmaXhlc1xuICAgIH1cbiAgfVxuXG4gIGltZyB7XG4gICAgLy8gR2V0IHJpZCBvZiBnYXAgdW5kZXIgaW1hZ2VzIGJ5IG1ha2luZyB0aGVtIGRpc3BsYXk6IGlubGluZS1ibG9jazsgYnkgZGVmYXVsdFxuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuXG4gICAgLy8gR3JpZCBkZWZhdWx0cyB0byBnZXQgaW1hZ2VzIGFuZCBlbWJlZHMgdG8gd29yayBwcm9wZXJseVxuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgLW1zLWludGVycG9sYXRpb24tbW9kZTogYmljdWJpYztcbiAgfVxuXG4gIC8vIE1ha2Ugc3VyZSB0ZXh0YXJlYSB0YWtlcyBvbiBoZWlnaHQgYXV0b21hdGljYWxseVxuICB0ZXh0YXJlYSB7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIG1pbi1oZWlnaHQ6IDUwcHg7XG4gICAgYm9yZGVyLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4gIH1cblxuICAvLyBNYWtlIHNlbGVjdCBlbGVtZW50cyBhcmUgMTAwJSB3aWR0aCBieSBkZWZhdWx0XG4gIHNlbGVjdCB7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBib3JkZXItcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiAgfVxuXG4gIC8vIFN0eWxlcyBHb29nbGUgTWFwcyBhbmQgTWFwUXVlc3QgZW1iZWRzIHByb3Blcmx5XG4gIC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgbm8taWRzXG4gIC5tYXBfY2FudmFzLFxuICAubXFhLWRpc3BsYXkge1xuICAgIGltZyxcbiAgICBlbWJlZCxcbiAgICBvYmplY3Qge1xuICAgICAgbWF4LXdpZHRoOiBub25lICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG5cbiAgLy8gUmVzZXQgPGJ1dHRvbj4gc3R5bGVzIGNyZWF0ZWQgYnkgbW9zdCBicm93c2Vyc1xuICBidXR0b24ge1xuICAgIEBpbmNsdWRlIGRpc2FibGUtbW91c2Utb3V0bGluZTtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGFwcGVhcmFuY2U6IG5vbmU7XG4gICAgYm9yZGVyOiAwO1xuICAgIGJvcmRlci1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIGN1cnNvcjogJGdsb2JhbC1idXR0b24tY3Vyc29yO1xuICB9XG5cbiAgLy8gUHJldmVudCB0ZXh0IG92ZXJmbG93IG9uIHByZVxuICBwcmUge1xuICAgIG92ZXJmbG93OiBhdXRvO1xuICB9XG5cbiAgLy8gTWFrZSByZXNldCBpbmhlcml0IGZvbnQtZmFtaWx5IGluc3RlYWQgb2Ygc2V0dGluZ3Mgc2Fucy1zZXJpZlxuICBidXR0b24sXG4gIGlucHV0LFxuICBvcHRncm91cCxcbiAgc2VsZWN0LFxuICB0ZXh0YXJlYSB7XG4gICAgZm9udC1mYW1pbHk6IGluaGVyaXQ7XG4gIH1cblxuICAvLyBJbnRlcm5hbCBjbGFzc2VzIHRvIHNob3cvaGlkZSBlbGVtZW50cyBpbiBKYXZhU2NyaXB0XG4gIC5pcy12aXNpYmxlIHtcbiAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuICB9XG5cbiAgLmlzLWhpZGRlbiB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlc1xuLy8gaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZnVuY3Rpb25zXG4vLy8vXG5cbi8vLyBDcmVhdGVzIGFuIGlubmVyIGJveC1zaGFkb3cgZm9yIG9ubHkgb25lIHNpZGVcbi8vL1xuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHNpZGUgLSBTaWRlIHRoZSBzaGFkb3cgaXMgc3VwcG9zZWQgdG8gYXBwZWFyLiBDYW4gYmUgYHRvcGAsIGBsZWZ0YCwgYHJpZ2h0YCBvciBgYm90dG9tYC5cbi8vLyBAcGFyYW0ge051bWJlcn0gJHNpemUgLSBXaWR0aCBmb3IgdGhlIHRhcmdldCBzaWRlLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvciAtIENvbG9yIG9mIHRoZSBzaGFkb3cuXG5AbWl4aW4gaW5uZXItc2lkZS1zaGFkb3coXG4gICRzaWRlOiBib3R0b20sXG4gICRzaXplOiAyMHB4LFxuICAkY29sb3I6IHJnYmEoJGJsYWNrLCAwLjI1KVxuKSB7XG5cbiAgJGhlbHBlcjogcm91bmQoJHNpemUgKiAwLjY1KTtcblxuICBAaWYgKCRzaWRlID09IHRvcCkge1xuICAgIGJveC1zaGFkb3c6IGluc2V0IDAgJGhlbHBlciAkc2l6ZSAoLTEpKiRoZWxwZXIgJGNvbG9yO1xuICB9IEBlbHNlIGlmICgkc2lkZSA9PSBsZWZ0KSB7XG4gICAgYm94LXNoYWRvdzogaW5zZXQgJGhlbHBlciAwICRzaXplICgtMSkqJGhlbHBlciAkY29sb3I7XG4gIH0gQGVsc2UgaWYgKCRzaWRlID09IHJpZ2h0KSB7XG4gICAgYm94LXNoYWRvdzogaW5zZXQgKC0xKSokaGVscGVyIDAgJHNpemUgKC0xKSokaGVscGVyICRjb2xvcjtcbiAgfSBAZWxzZSBpZiAoJHNpZGUgPT0gYm90dG9tKSB7XG4gICAgYm94LXNoYWRvdzogaW5zZXQgMCAoLTEpKiRoZWxwZXIgJHNpemUgKC0xKSokaGVscGVyICRjb2xvcjtcbiAgfVxufVxuXG4vLy8gQ3JlYXRlcyBhIENTUyB0cmlhbmdsZSwgd2hpY2ggY2FuIGJlIHVzZWQgZm9yIGRyb3Bkb3duIGFycm93cywgZHJvcGRvd24gcGlwcywgYW5kIG1vcmUuIFVzZSB0aGlzIG1peGluIGluc2lkZSBhIGAmOjpiZWZvcmVgIG9yIGAmOjphZnRlcmAgc2VsZWN0b3IsIHRvIGF0dGFjaCB0aGUgdHJpYW5nbGUgdG8gYW4gZXhpc3RpbmcgZWxlbWVudC5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkdHJpYW5nbGUtc2l6ZSAtIFdpZHRoIG9mIHRoZSB0cmlhbmdsZS5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkdHJpYW5nbGUtY29sb3IgLSBDb2xvciBvZiB0aGUgdHJpYW5nbGUuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkdHJpYW5nbGUtZGlyZWN0aW9uIC0gRGlyZWN0aW9uIHRoZSB0cmlhbmdsZSBwb2ludHMuIENhbiBiZSBgdXBgLCBgcmlnaHRgLCBgZG93bmAsIG9yIGBsZWZ0YC5cbkBtaXhpbiBjc3MtdHJpYW5nbGUoXG4gICR0cmlhbmdsZS1zaXplLFxuICAkdHJpYW5nbGUtY29sb3IsXG4gICR0cmlhbmdsZS1kaXJlY3Rpb25cbikge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDA7XG4gIGhlaWdodDogMDtcblxuICBib3JkZXI6IGluc2V0ICR0cmlhbmdsZS1zaXplO1xuXG4gIGNvbnRlbnQ6ICcnO1xuXG4gIEBpZiAoJHRyaWFuZ2xlLWRpcmVjdGlvbiA9PSBkb3duKSB7XG4gICAgYm9yZGVyLWJvdHRvbS13aWR0aDogMDtcbiAgICBib3JkZXItdG9wLXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItY29sb3I6ICR0cmlhbmdsZS1jb2xvciB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtcbiAgfVxuICBAaWYgKCR0cmlhbmdsZS1kaXJlY3Rpb24gPT0gdXApIHtcbiAgICBib3JkZXItdG9wLXdpZHRoOiAwO1xuICAgIGJvcmRlci1ib3R0b20tc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgJHRyaWFuZ2xlLWNvbG9yO1xuICB9XG4gIEBpZiAoJHRyaWFuZ2xlLWRpcmVjdGlvbiA9PSByaWdodCkge1xuICAgIGJvcmRlci1yaWdodC13aWR0aDogMDtcbiAgICBib3JkZXItbGVmdC1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCAkdHJpYW5nbGUtY29sb3I7XG4gIH1cbiAgQGlmICgkdHJpYW5nbGUtZGlyZWN0aW9uID09IGxlZnQpIHtcbiAgICBib3JkZXItbGVmdC13aWR0aDogMDtcbiAgICBib3JkZXItcmlnaHQtc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgJHRyaWFuZ2xlLWNvbG9yIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50O1xuICB9XG59XG5cbi8vLyBDcmVhdGVzIGEgbWVudSBpY29uIHdpdGggYSBzZXQgd2lkdGgsIGhlaWdodCwgbnVtYmVyIG9mIGJhcnMsIGFuZCBjb2xvcnMuIFRoZSBtaXhpbiB1c2VzIHRoZSBoZWlnaHQgb2YgdGhlIGljb24gYW5kIHRoZSB3ZWlnaHQgb2YgdGhlIGJhcnMgdG8gZGV0ZXJtaW5lIHNwYWNpbmcuIDxkaXYgY2xhc3M9XCJkb2NzLWV4YW1wbGUtYnVyZ2VyXCI+PC9kaXY+XG4vLy9cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IgWyRibGFja10gLSBDb2xvciB0byB1c2UgZm9yIHRoZSBpY29uLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvci1ob3ZlciBbJGRhcmstZ3JheV0gLSBDb2xvciB0byB1c2Ugd2hlbiB0aGUgaWNvbiBpcyBob3ZlcmVkIG92ZXIuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICR3aWR0aCBbMjBweF0gLSBXaWR0aCBvZiB0aGUgaWNvbi5cbi8vLyBAcGFyYW0ge051bWJlcn0gJGhlaWdodCBbMTZweF0gLSBIZWlnaHQgb2YgdGhlIGljb24uXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICR3ZWlnaHQgWzJweF0gLSBIZWlnaHQgb2YgaW5kaXZpZHVhbCBiYXJzIGluIHRoZSBpY29uLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkYmFycyBbM10gLSBOdW1iZXIgb2YgYmFycyBpbiB0aGUgaWNvbi5cbkBtaXhpbiBoYW1idXJnZXIoXG4gICRjb2xvcjogJGJsYWNrLFxuICAkY29sb3ItaG92ZXI6ICRkYXJrLWdyYXksXG4gICR3aWR0aDogMjBweCxcbiAgJGhlaWdodDogMTZweCxcbiAgJHdlaWdodDogMnB4LFxuICAkYmFyczogM1xuKSB7XG4gIC8vIGJveC1zaGFkb3cgQ1NTIG91dHB1dFxuICAkc2hhZG93OiAoKTtcbiAgJGhvdmVyLXNoYWRvdzogKCk7XG5cbiAgLy8gU3BhY2luZyBiZXR3ZWVuIGJhcnMgaXMgY2FsY3VsYXRlZCBiYXNlZCBvbiB0aGUgdG90YWwgaGVpZ2h0IG9mIHRoZSBpY29uIGFuZCB0aGUgd2VpZ2h0IG9mIGVhY2ggYmFyXG4gICRzcGFjaW5nOiAoJGhlaWdodCAtICgkd2VpZ2h0ICogJGJhcnMpKSAvICgkYmFycyAtIDEpO1xuXG4gIEBpZiB1bml0KCRzcGFjaW5nKSA9PSAncHgnIHtcbiAgICAkc3BhY2luZzogZmxvb3IoJHNwYWNpbmcpO1xuICB9XG5cbiAgQGZvciAkaSBmcm9tIDIgdGhyb3VnaCAkYmFycyB7XG4gICAgJG9mZnNldDogKCR3ZWlnaHQgKyAkc3BhY2luZykgKiAoJGkgLSAxKTtcbiAgICAkc2hhZG93OiBhcHBlbmQoJHNoYWRvdywgMCAkb2Zmc2V0IDAgJGNvbG9yLCBjb21tYSk7XG4gIH1cblxuICAvLyBJY29uIGNvbnRhaW5lclxuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgd2lkdGg6ICR3aWR0aDtcbiAgaGVpZ2h0OiAkaGVpZ2h0O1xuICBjdXJzb3I6IHBvaW50ZXI7XG5cbiAgLy8gSWNvbiBiYXJzXG4gICY6OmFmdGVyIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG5cbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6ICR3ZWlnaHQ7XG5cbiAgICBiYWNrZ3JvdW5kOiAkY29sb3I7XG4gICAgYm94LXNoYWRvdzogJHNoYWRvdztcblxuICAgIGNvbnRlbnQ6ICcnO1xuICB9XG5cbiAgLy8gSG92ZXIgc3RhdGVcbiAgQGlmICRjb2xvci1ob3ZlciB7XG4gICAgLy8gR2VuZXJhdGUgQ1NTXG4gICAgQGZvciAkaSBmcm9tIDIgdGhyb3VnaCAkYmFycyB7XG4gICAgICAkb2Zmc2V0OiAoJHdlaWdodCArICRzcGFjaW5nKSAqICgkaSAtIDEpO1xuICAgICAgJGhvdmVyLXNoYWRvdzogYXBwZW5kKCRob3Zlci1zaGFkb3csIDAgJG9mZnNldCAwICRjb2xvci1ob3ZlciwgY29tbWEpO1xuICAgIH1cblxuICAgICY6aG92ZXI6OmFmdGVyIHtcbiAgICAgIGJhY2tncm91bmQ6ICRjb2xvci1ob3ZlcjtcbiAgICAgIGJveC1zaGFkb3c6ICRob3Zlci1zaGFkb3c7XG4gICAgfVxuICB9XG59XG5cbi8vLyBBZGRzIGEgZG93bndhcmQtZmFjaW5nIHRyaWFuZ2xlIGFzIGEgYmFja2dyb3VuZCBpbWFnZSB0byBhbiBlbGVtZW50LiBUaGUgaW1hZ2UgaXMgZm9ybWF0dGVkIGFzIGFuIFNWRywgbWFraW5nIGl0IGVhc3kgdG8gY2hhbmdlIHRoZSBjb2xvci4gQmVjYXVzZSBJbnRlcm5ldCBFeHBsb3JlciBkb2Vzbid0IHN1cHBvcnQgZW5jb2RlZCBTVkdzIGFzIGJhY2tncm91bmQgaW1hZ2VzLCBhIFBORyBmYWxsYmFjayBpcyBhbHNvIGluY2x1ZGVkLlxuLy8vIFRoZXJlIGFyZSB0d28gUE5HIGZhbGxiYWNrczogYSBibGFjayB0cmlhbmdsZSBhbmQgYSB3aGl0ZSB0cmlhbmdsZS4gVGhlIG9uZSB1c2VkIGRlcGVuZHMgb24gdGhlIGxpZ2h0bmVzcyBvZiB0aGUgaW5wdXQgY29sb3IuXG4vLy9cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IgWyRibGFja10gLSBDb2xvciB0byB1c2UgZm9yIHRoZSB0cmlhbmdsZS5cbkBtaXhpbiBiYWNrZ3JvdW5kLXRyaWFuZ2xlKCRjb2xvcjogJGJsYWNrKSB7XG4gICRyZ2I6ICdyZ2IlMjgje3JvdW5kKHJlZCgkY29sb3IpKX0sICN7cm91bmQoZ3JlZW4oJGNvbG9yKSl9LCAje3JvdW5kKGJsdWUoJGNvbG9yKSl9JTI5JztcblxuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7dXRmOCw8c3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZycgdmVyc2lvbj0nMS4xJyB3aWR0aD0nMzInIGhlaWdodD0nMjQnIHZpZXdCb3g9JzAgMCAzMiAyNCc+PHBvbHlnb24gcG9pbnRzPScwLDAgMzIsMCAxNiwyNCcgc3R5bGU9J2ZpbGw6ICN7JHJnYn0nPjwvcG9seWdvbj48L3N2Zz5cIik7XG5cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDowXFwwKSB7XG4gICAgQGlmIGxpZ2h0bmVzcygkY29sb3IpIDwgNjAlIHtcbiAgICAgIC8vIFdoaXRlIHRyaWFuZ2xlXG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJ2RhdGE6aW1hZ2UvcG5nO2Jhc2U2NCxpVkJPUncwS0dnb0FBQUFOU1VoRVVnQUFBQ0FBQUFBWUNBWUFBQUNiVS84MEFBQUFHWFJGV0hSVGIyWjBkMkZ5WlFCQlpHOWlaU0JKYldGblpWSmxZV1I1Y2NsbFBBQUFBSXBKUkVGVWVOckVrY2tOZ0RBTUJCZlJrRXQwT2JSQkJkc0dYVURnbVFmSzRYaEgybThjelFBQXkyN1IzdHN3NFFmZTJ4OHVPTzZvWUxiNkdsT29yM0dGK3N3VVJBT21VSitSd3RFSnM5V3ZUR0VZeEJYcUkxTVFBWmhDZlVRS1J6RE1WaitUd3JBSVY2anZTVUVrWUFyMUxTa2N5VEJiL1YrS1lmWDd4QWV1c3Ezc0xEdEdIM2tFR0FDUFdJZmxOWmZoUlFBQUFBQkpSVTVFcmtKZ2dnPT0nKTtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgLy8gQmxhY2sgdHJpYW5nbGVcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnZGF0YTppbWFnZS9wbmc7YmFzZTY0LGlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUFDQUFBQUFZQ0FZQUFBQ2JVLzgwQUFBQUdYUkZXSFJUYjJaMGQyRnlaUUJCWkc5aVpTQkpiV0ZuWlZKbFlXUjVjY2xsUEFBQUFNQkpSRUZVZU5yRWxsc09oQ0FNUlZzekM5SWx6VTdLQ21WSFRKc29NV1lNVXRweXY5QmdidVhRQjVaU2RnQllZWTR5Y2dCaXZrOEtZRnNRTWZNaVRUQlA0bzNuVXpDS3pPYWJMSmJMeTIvZzMxZXZHa0FnaW5SNC9aZWdLSDVxWDNiSkNzY0EzdDB4M2tnTzV0UUZ5aGhGZjUweFJxRkxieU1VTkpRemd5akdTL3dnQ3B2S3FrUkJwdVdyRTRWOWQrMUU0ZFBVWHFJZzEwN1NRT0UvMkRSUXhNd1REeWdJSW5WREVUOVQzbENvai82ai9WQ21HalpPbDJsS3BaOEFBd0RRUDd6SWltREdGUUFBQUFCSlJVNUVya0pnZ2c9PScpO1xuICAgIH1cbiAgfVxufVxuXG4vLy8gQXBwbGllcyB0aGUgbWljcm8gY2xlYXJmaXggaGFjayBwb3B1bGFyaXplZCBieSBOaWNvbGFzIEdhbGxhZ2hlci4gSW5jbHVkZSB0aGlzIG1peGluIG9uIGEgY29udGFpbmVyIGlmIGl0cyBjaGlsZHJlbiBhcmUgYWxsIGZsb2F0ZWQsIHRvIGdpdmUgdGhlIGNvbnRhaW5lciBhIHByb3BlciBoZWlnaHQuXG4vLy8gVGhlIGNsZWFyZml4IGlzIGF1Z21lbnRlZCB3aXRoIHNwZWNpZmljIHN0eWxlcyB0byBwcmV2ZW50IGJvcmRlcnMgaW4gZmxleGJveCBlbnZpcm9ubWVudHNcbi8vLyBAbGluayBodHRwOi8vbmljb2xhc2dhbGxhZ2hlci5jb20vbWljcm8tY2xlYXJmaXgtaGFjay8gTWljcm8gQ2xlYXJmaXggSGFja1xuLy8vIEBsaW5rIGh0dHA6Ly9kYW5pc2FkZXNpZ25lci5jb20vYmxvZy9mbGV4Ym94LWNsZWFyLWZpeC1wc2V1ZG8tZWxlbWVudHMvIEZsZXhib3ggZml4XG5AbWl4aW4gY2xlYXJmaXgge1xuICAmOjpiZWZvcmUsXG4gICY6OmFmdGVyIHtcbiAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICBjb250ZW50OiAnICc7XG5cbiAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgIGZsZXgtYmFzaXM6IDA7XG4gICAgICBvcmRlcjogMTtcbiAgICB9XG4gIH1cblxuICAmOjphZnRlciB7XG4gICAgY2xlYXI6IGJvdGg7XG4gIH1cbn1cblxuLy8vIEFkZHMgQ1NTIGZvciBhIFwicXVhbnRpdHkgcXVlcnlcIiBzZWxlY3RvciB0aGF0IGF1dG9tYXRpY2FsbHkgc2l6ZXMgZWxlbWVudHMgYmFzZWQgb24gaG93IG1hbnkgdGhlcmUgYXJlIGluc2lkZSBhIGNvbnRhaW5lci5cbi8vLyBAbGluayBodHRwOi8vYWxpc3RhcGFydC5jb20vYXJ0aWNsZS9xdWFudGl0eS1xdWVyaWVzLWZvci1jc3MgUXVhbnRpdHkgUXVlcmllcyBmb3IgQ1NTXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJG1heCAtIE1heGltdW0gbnVtYmVyIG9mIGl0ZW1zIHRvIGRldGVjdC4gVGhlIGhpZ2hlciB0aGlzIG51bWJlciBpcywgdGhlIG1vcmUgQ1NTIHRoYXQncyByZXF1aXJlZCB0byBjb3ZlciBlYWNoIG51bWJlciBvZiBpdGVtcy5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRlbGVtIFtsaV0gLSBUYWcgdG8gdXNlIGZvciBzaWJsaW5nIHNlbGVjdG9ycy5cbkBtaXhpbiBhdXRvLXdpZHRoKCRtYXgsICRlbGVtOiBsaSkge1xuICBAZm9yICRpIGZyb20gMiB0aHJvdWdoICRtYXgge1xuICAgICY6bnRoLWxhc3QtY2hpbGQoI3skaX0pOmZpcnN0LWNoaWxkLFxuICAgICY6bnRoLWxhc3QtY2hpbGQoI3skaX0pOmZpcnN0LWNoaWxkIH4gI3skZWxlbX0ge1xuICAgICAgd2lkdGg6IHBlcmNlbnRhZ2UoMSAvICRpKTtcbiAgICB9XG4gIH1cbn1cblxuLy8vIFJlbW92ZXMgdGhlIGZvY3VzIHJpbmcgYXJvdW5kIGFuIGVsZW1lbnQgd2hlbiBhIG1vdXNlIGlucHV0IGlzIGRldGVjdGVkLlxuQG1peGluIGRpc2FibGUtbW91c2Utb3V0bGluZSB7XG4gIFtkYXRhLXdoYXRpbnB1dD0nbW91c2UnXSAmIHtcbiAgICBvdXRsaW5lOiAwO1xuICB9XG59XG5cbi8vLyBNYWtlcyBhbiBlbGVtZW50IHZpc3VhbGx5IGhpZGRlbiwgYnV0IHN0aWxsIGFjY2Vzc2libGUgdG8ga2V5Ym9hcmRzIGFuZCBhc3Npc3RpdmUgZGV2aWNlcy5cbi8vLyBAbGluayBodHRwOi8vc25vb2suY2EvYXJjaGl2ZXMvaHRtbF9hbmRfY3NzL2hpZGluZy1jb250ZW50LWZvci1hY2Nlc3NpYmlsaXR5IEhpZGluZyBDb250ZW50IGZvciBBY2Nlc3NpYmlsaXR5XG4vLy8gQGxpbmsgaHR0cDovL2h1Z29naXJhdWRlbC5jb20vMjAxNi8xMC8xMy9jc3MtaGlkZS1hbmQtc2Vlay9cbi8vL1xuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJGVuZm9yY2UgLSBJZiBgdHJ1ZWAsIHVzZSBgIWltcG9ydGFudGAgb24gYXBwbGllZCBwcm9wZXJ0aWVzXG5AbWl4aW4gZWxlbWVudC1pbnZpc2libGUoXG4gICRlbmZvcmNlOiB0cnVlXG4pIHtcbiAgJGltcG9ydGFudDogaWYoJGVuZm9yY2UsICchaW1wb3J0YW50JywgbnVsbCk7XG5cbiAgcG9zaXRpb246IGFic29sdXRlICN7JGltcG9ydGFudH07XG4gIHdpZHRoOiAxcHggI3skaW1wb3J0YW50fTtcbiAgaGVpZ2h0OiAxcHggI3skaW1wb3J0YW50fTtcbiAgcGFkZGluZzogMCAjeyRpbXBvcnRhbnR9O1xuICBvdmVyZmxvdzogaGlkZGVuICN7JGltcG9ydGFudH07XG4gIGNsaXA6IHJlY3QoMCwwLDAsMCkgI3skaW1wb3J0YW50fTtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcCAjeyRpbXBvcnRhbnR9O1xuICBib3JkZXI6IDAgI3skaW1wb3J0YW50fTtcbn1cblxuLy8vIFJldmVyc2VzIHRoZSBDU1Mgb3V0cHV0IGNyZWF0ZWQgYnkgdGhlIGBlbGVtZW50LWludmlzaWJsZSgpYCBtaXhpbi5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRlbmZvcmNlIC0gSWYgYHRydWVgLCB1c2UgYCFpbXBvcnRhbnRgIG9uIGFwcGxpZWQgcHJvcGVydGllc1xuQG1peGluIGVsZW1lbnQtaW52aXNpYmxlLW9mZihcbiAgJGVuZm9yY2U6IHRydWVcbikge1xuICAkaW1wb3J0YW50OiBpZigkZW5mb3JjZSwgJyFpbXBvcnRhbnQnLCBudWxsKTtcblxuICBwb3NpdGlvbjogc3RhdGljICN7JGltcG9ydGFudH07XG4gIHdpZHRoOiBhdXRvICN7JGltcG9ydGFudH07XG4gIGhlaWdodDogYXV0byAjeyRpbXBvcnRhbnR9O1xuICBvdmVyZmxvdzogdmlzaWJsZSAjeyRpbXBvcnRhbnR9O1xuICBjbGlwOiBhdXRvICN7JGltcG9ydGFudH07XG4gIHdoaXRlLXNwYWNlOiBub3JtYWwgI3skaW1wb3J0YW50fTtcbn1cblxuLy8vIFZlcnRpY2FsbHkgY2VudGVycyB0aGUgZWxlbWVudCBpbnNpZGUgb2YgaXRzIGZpcnN0IG5vbi1zdGF0aWMgcGFyZW50LFxuLy8vIEBsaW5rIGh0dHA6Ly93d3cuc2l0ZXBvaW50LmNvbS9jZW50ZXJpbmctd2l0aC1zYXNzLyBDZW50ZXJpbmcgV2l0aCBTYXNzXG5AbWl4aW4gdmVydGljYWwtY2VudGVyIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDUwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xufVxuXG4vLy8gSG9yaXpvbnRhbGx5IGNlbnRlcnMgdGhlIGVsZW1lbnQgaW5zaWRlIG9mIGl0cyBmaXJzdCBub24tc3RhdGljIHBhcmVudCxcbi8vLyBAbGluayBodHRwOi8vd3d3LnNpdGVwb2ludC5jb20vY2VudGVyaW5nLXdpdGgtc2Fzcy8gQ2VudGVyaW5nIFdpdGggU2Fzc1xuQG1peGluIGhvcml6b250YWwtY2VudGVyIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBsZWZ0OiA1MCU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbn1cblxuLy8vIEFic29sdXRlbHkgY2VudGVycyB0aGUgZWxlbWVudCBpbnNpZGUgb2YgaXRzIGZpcnN0IG5vbi1zdGF0aWMgcGFyZW50LFxuLy8vIEBsaW5rIGh0dHA6Ly93d3cuc2l0ZXBvaW50LmNvbS9jZW50ZXJpbmctd2l0aC1zYXNzLyBDZW50ZXJpbmcgV2l0aCBTYXNzXG5AbWl4aW4gYWJzb2x1dGUtY2VudGVyIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDUwJTtcbiAgbGVmdDogNTAlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcbn1cblxuLy8vIEl0ZXJhdGVzIHRocm91Z2ggYnJlYWtwb2ludHMgZGVmaW5lZCBpbiBgJGJyZWFrcG9pbnQtY2xhc3Nlc2AgYW5kIHByaW50cyB0aGUgQ1NTIGluc2lkZSB0aGUgbWl4aW4gYXQgZWFjaCBicmVha3BvaW50J3MgbWVkaWEgcXVlcnkuIFVzZSB0aGlzIHdpdGggdGhlIGdyaWQsIG9yIGFueSBvdGhlciBjb21wb25lbnQgdGhhdCBoYXMgcmVzcG9uc2l2ZSBjbGFzc2VzLlxuLy8vXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkc21hbGwgW3RydWVdIC0gSWYgYGZhbHNlYCwgdGhlIG1peGluIHdpbGwgc2tpcCB0aGUgYHNtYWxsYCBicmVha3BvaW50LiBVc2UgdGhpcyB3aXRoIGNvbXBvbmVudHMgdGhhdCBkb24ndCBwcmVmaXggY2xhc3NlcyB3aXRoIGBzbWFsbC1gLCBvbmx5IGBtZWRpdW0tYCBhbmQgdXAuXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkYXV0by1pbnNlcnQtYnJlYWtwb2ludHMgW3RydWVdIC0gSWYgYGZhbHNlYCwgdGhlIG1peGluIHdpbGwgaXRlcmF0ZSBvdmVyIGJyZWFrcG9pbnRzIHdpdGhvdXQgZG9pbmcgdGhlIG1lZGlhIHF1ZXJ5IGl0c2VsZi4gVXNlZnVsIGZvciBtb3JlIGNvbXBsZXggbWVkaWEgcXVlcnkgZ2VuZXJhdGlvbiBhcyBpbiB0aGUgbWFyZ2luIGdyaWQuXG5AbWl4aW4gLXpmLWVhY2gtYnJlYWtwb2ludChcbiAgJHNtYWxsOiB0cnVlLFxuICAkYXV0by1pbnNlcnQtYnJlYWtwb2ludHM6IHRydWVcbikge1xuICBAaW5jbHVkZSAtemYtZWFjaC1icmVha3BvaW50LWluKGF1dG8sIC16Zi1ib29sKCRzbWFsbCksIC16Zi1ib29sKCRhdXRvLWluc2VydC1icmVha3BvaW50cykpIHtcbiAgICBAY29udGVudFxuICB9O1xufVxuXG4vLy8gSXRlcmF0ZXMgd2l0aCBgQGNvbnRlbnRgIHRocm91Z2ggdGhlIGdpdmVuIGxpc3Qgb2YgYnJlYWtwb2ludHMgYCRicmVha3BvaW50c2AuXG4vLy9cbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vL1xuLy8vIEBwYXJhbSB7S2V5d29yZHxMaXN0fSAkYnJlYWtwb2ludHMgW2F1dG9dIC0gQnJlYWtwb2ludHMgdG8gaXRlcmF0ZXMgb24uIEl0IGNhbiBiZSBhIGJyZWFrcG9pbnQgbmFtZSwgbGlzdCBvZiBicmVha3BvaW50cyBvciBgYXV0b2AgZm9yIGFsbCBicmVha3BvaW50cy5cbi8vLyBAcGFyYW0ge0Jvb2xlYW58TnVsbH0gJHplcm8tYnJlYWtwb2ludCBbbnVsbF0gLSBXaGV0aGVyIHRoZSB6ZXJvLWJyZWFrcG9pbnQgKG9mdGVuIGBzbWFsbGApIG11c3QgYmUgaW5jbHVkZWQuIElmIGB0cnVlYCwgaXQgd2lsbCBhbHdheXMgYmUgYWRkZWQgdG8gdGhlIGxpc3QgaWYgbm90IGFscmVhZHkgdGhlcmUuIElmIGBmYWxzZWAsIGl0IHdpbGwgYWx3YXlzIGJlIHJlbW92ZWQuIERvZXMgbm90aGluZyBieSBkZWZhdWx0LlxuLy8vIEBwYXJhbSB7Qm9vbGVhbnxLZXl3b3JkfSAkbWVkaWEtcXVlcmllcyBbdHJ1ZV0gLSBXaGV0aGVyIG1lZGlhLXF1ZXJpZXMgbXVzdCBiZSBnZW5lcmF0ZWQuIElmIGBmb3ItbGlzdHNgLCBvbmx5IGdlbmVyYXRlIG1lZGlhLXF1ZXJpZXMgd2hlbiBgJGJyZWFrcG9pbnRzYCBpcyBhIGxpc3QuXG5AbWl4aW4gLXpmLWVhY2gtYnJlYWtwb2ludC1pbihcbiAgJGJyZWFrcG9pbnRzOiBhdXRvLFxuICAkemVyby1icmVha3BvaW50OiBudWxsLFxuICAkbWVkaWEtcXVlcmllczogdHJ1ZVxuKSB7XG4gICQtbGlzdDogKCk7XG4gICQtYnJlYWtwb2ludHMtaXMtYS1saXN0OiB0cnVlO1xuXG4gIC8vIFJldHJpZXZlIHRoZSBsaXN0IG9mIGJyZWFrcG9pbnQocykgdG8gaXRlcmF0ZSBvbi5cbiAgQGlmICRicmVha3BvaW50cyA9PSBhdXRvIHtcbiAgICAkLWxpc3Q6ICRicmVha3BvaW50LWNsYXNzZXM7XG4gIH1cbiAgQGVsc2UgaWYgdHlwZS1vZigkYnJlYWtwb2ludHMpID09ICdsaXN0JyB7XG4gICAgJC1saXN0OiAkYnJlYWtwb2ludHM7XG4gIH1cbiAgQGVsc2UgaWYgdHlwZS1vZigkYnJlYWtwb2ludHMpID09ICdzdHJpbmcnIHtcbiAgICAkLWxpc3Q6ICgkYnJlYWtwb2ludHMpO1xuICAgICQtYnJlYWtwb2ludHMtaXMtYS1saXN0OiBmYWxzZTtcbiAgfVxuICBAZWxzZSB7XG4gICAgQGVycm9yICdXcm9uZyBzeW50YXggZm9yIFwiJGJyZWFrcG9pbnRzXCIgaW4gXCItemYtZWFjaC1icmVha3BvaW50LWluKClcIi4gR290IFwiI3skYnJlYWtwb2ludHN9XCIgKCN7dHlwZS1vZigkYnJlYWtwb2ludHMpfSkuIEV4cGVjdGVkIGEgYnJlYWtwb2ludCBuYW1lLCBhIGxpc3Qgb2YgYnJlYWtwb2ludHMgb3IgXCJhdXRvXCInO1xuICB9XG5cbiAgLy8gQWRkIG9yIHJlbW92ZSB0aGUgemVybyBicmVha3BvaW50IGFjY29yZGluZyB0byBgJHplcm8tYnJlYWtwb2ludGBcbiAgQGlmICR6ZXJvLWJyZWFrcG9pbnQgPT0gdHJ1ZSB7XG4gICAgJC1saXN0OiBqb2luKCgkLXpmLXplcm8tYnJlYWtwb2ludCksIHNsLXJlbW92ZSgkLWxpc3QsICQtemYtemVyby1icmVha3BvaW50KSk7XG4gIH1cbiAgQGVsc2UgaWYgJHplcm8tYnJlYWtwb2ludCA9PSBmYWxzZSB7XG4gICAgJC1saXN0OiBzbC1yZW1vdmUoJC1saXN0LCAkLXpmLXplcm8tYnJlYWtwb2ludCk7XG4gIH1cblxuICAvLyBJdGVyYXRlIG9uIGJyZWFrcG9pbnQocylcbiAgQGVhY2ggJGJwIGluICQtbGlzdCB7XG4gICAgJG9sZC16Zi1zaXplOiBudWxsO1xuICAgIEBpZiBnbG9iYWwtdmFyaWFibGUtZXhpc3RzKC16Zi1zaXplKSB7XG4gICAgICAkb2xkLXpmLXNpemU6ICQtemYtc2l6ZTtcbiAgICB9XG4gICAgJC16Zi1zaXplOiAkYnAgIWdsb2JhbDtcblxuICAgIEBpZiAoJG1lZGlhLXF1ZXJpZXMgPT0gdHJ1ZVxuICAgICAgb3IgKCRtZWRpYS1xdWVyaWVzID09ICdmb3ItbGlzdHMnIGFuZCAkLWJyZWFrcG9pbnRzLWlzLWEtbGlzdCkpIHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGJwKSB7XG4gICAgICAgIEBjb250ZW50O1xuICAgICAgfVxuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG5cbiAgICAkLXpmLXNpemU6ICRvbGQtemYtc2l6ZSAhZ2xvYmFsO1xuICB9XG59XG5cbi8vLyBHZW5lcmF0ZSB0aGUgYEBjb250ZW50YCBwYXNzZWQgdG8gdGhlIG1peGluIHdpdGggYSB2YWx1ZSBgJC16Zi1icC12YWx1ZWAgcmVsYXRlZCB0byBhIGJyZWFrcG9pbnQsIGRlcGVuZGluZyBvbiB0aGUgYCRuYW1lYCBwYXJhbWV0ZXI6XG4vLy8gLSBGb3IgYSBzaW5nbGUgdmFsdWUsIGAkLXpmLWJwLXZhbHVlYCBpcyB0aGlzIHZhbHVlLlxuLy8vIC0gRm9yIGEgYnJlYWtwb2ludCBuYW1lLCBgJC16Zi1icC12YWx1ZWAgaXMgdGhlIGNvcnJlc3BvbmRpbmcgYnJlYWtwb2ludCB2YWx1ZSBpbiBgJG1hcGAuXG4vLy8gLSBGb3IgXCJhdXRvXCIsIGAkLXpmLWJwLXZhbHVlYCBpcyB0aGUgY29ycmVzcG9uZGluZyBicmVha3BvaW50IHZhbHVlIGluIGAkbWFwYCBhbmQgaXMgcGFzc2VkIHRvIGBAY29udGVudGAsIHdoaWNoIGlzIG1hZGUgcmVzcG9uc2l2ZSBmb3IgZWFjaCBicmVha3BvaW50IG9mIGAkbWFwYC5cbi8vLyBAcGFyYW0ge051bWJlcnxBcnJheXxLZXl3b3JkfSAkbmFtZSBbYXV0b10gLSBTaW5nbGUgdmFsdWUsIGJyZWFrcG9pbnQgbmFtZSwgb3IgbGlzdCBvZiBicmVha3BvaW50IG5hbWVzIHRvIHVzZS4gXCJhdXRvXCIgYnkgZGVmYXVsdC5cbi8vLyBAcGFyYW0ge051bWJlcnxNYXB9ICRtYXAgLSBNYXAgb2YgYnJlYWtwb2ludHMgYW5kIHZhbHVlcyBvciBzaW5nbGUgdmFsdWUgdG8gdXNlLlxuQG1peGluIC16Zi1icmVha3BvaW50LXZhbHVlKFxuICAkbmFtZTogYXV0byxcbiAgJG1hcDogbnVsbFxuKSB7XG4gIEBpZiAkbmFtZSA9PSBhdXRvIGFuZCB0eXBlLW9mKCRtYXApID09ICdtYXAnIHtcbiAgICAvLyBcImF1dG9cIlxuICAgIEBlYWNoICRrLCAkdiBpbiAkbWFwIHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGspIHtcbiAgICAgICAgQGluY2x1ZGUgLXpmLWJyZWFrcG9pbnQtdmFsdWUoJHYsICRtYXApIHtcbiAgICAgICAgICBAY29udGVudDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuICBAZWxzZSB7XG4gICAgLy8gYnJlYWtwb2ludCBuYW1lXG4gICAgQGlmIHR5cGUtb2YoJG5hbWUpID09ICdzdHJpbmcnIHtcbiAgICAgICRicC12YWx1ZTogLXpmLWdldC1icC12YWwoJG1hcCwgJG5hbWUpO1xuICAgICAgQGlmICRicC12YWx1ZSAhPSBudWxsIHtcbiAgICAgICAgJG5hbWU6ICRicC12YWx1ZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBicmVha3BvaW50IHZhbHVlXG4gICAgJC16Zi1icC12YWx1ZTogJG5hbWUgIWdsb2JhbDtcbiAgICBAY29udGVudDtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGZvcm1zXG4vLy8vXG5cbi8vLyBGb250IGNvbG9yIG9mIHRleHQgaW5wdXRzLlxuLy8vIEB0eXBlIENvbG9yXG4kaW5wdXQtY29sb3I6ICRibGFjayAhZGVmYXVsdDtcblxuLy8vIEZvbnQgY29sb3Igb2YgcGxhY2Vob2xkZXIgdGV4dCB3aXRoaW4gdGV4dCBpbnB1dHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRpbnB1dC1wbGFjZWhvbGRlci1jb2xvcjogJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gRm9udCBmYW1pbHkgb2YgdGV4dCBpbnB1dHMuXG4vLy8gQHR5cGUgRm9udFxuJGlucHV0LWZvbnQtZmFtaWx5OiBpbmhlcml0ICFkZWZhdWx0O1xuXG4vLy8gRm9udCBzaXplIG9mIHRleHQgaW5wdXRzLlxuLy8vIEB0eXBlIE51bWJlclxuJGlucHV0LWZvbnQtc2l6ZTogcmVtLWNhbGMoMTYpICFkZWZhdWx0O1xuXG4vLy8gRm9udCB3ZWlnaHQgb2YgdGV4dCBpbnB1dHMuXG4vLy8gQHR5cGUgS2V5d29yZFxuJGlucHV0LWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ub3JtYWwgIWRlZmF1bHQ7XG5cbi8vLyBMaW5lIGhlaWdodCBvZiB0ZXh0IGlucHV0cy5cbi8vLyBAdHlwZSBLZXl3b3JkXG4kaW5wdXQtbGluZS1oZWlnaHQ6ICRnbG9iYWwtbGluZWhlaWdodCAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3Igb2YgdGV4dCBpbnB1dHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRpbnB1dC1iYWNrZ3JvdW5kOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIG9mIGZvY3VzZWQgb2YgdGV4dCBpbnB1dHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRpbnB1dC1iYWNrZ3JvdW5kLWZvY3VzOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIG9mIGRpc2FibGVkIHRleHQgaW5wdXRzLlxuLy8vIEB0eXBlIENvbG9yXG4kaW5wdXQtYmFja2dyb3VuZC1kaXNhYmxlZDogJGxpZ2h0LWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBCb3JkZXIgYXJvdW5kIHRleHQgaW5wdXRzLlxuLy8vIEB0eXBlIEJvcmRlclxuJGlucHV0LWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8vIEJvcmRlciBhcm91bmQgZm9jdXNlZCB0ZXh0IGlucHV0cy5cbi8vLyBAdHlwZSBDb2xvclxuJGlucHV0LWJvcmRlci1mb2N1czogMXB4IHNvbGlkICRkYXJrLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBQYWRkaW5nIG9mIHRleHQgaW5wdXRzLlxuLy8vIEB0eXBlIENvbG9yXG4kaW5wdXQtcGFkZGluZzogJGZvcm0tc3BhY2luZyAvIDIgIWRlZmF1bHQ7XG5cbi8vLyBCb3ggc2hhZG93IGluc2lkZSB0ZXh0IGlucHV0cyB3aGVuIG5vdCBmb2N1c2VkLlxuLy8vIEB0eXBlIFNoYWRvd1xuJGlucHV0LXNoYWRvdzogaW5zZXQgMCAxcHggMnB4IHJnYmEoJGJsYWNrLCAwLjEpICFkZWZhdWx0O1xuXG4vLy8gQm94IHNoYWRvdyBvdXRzaWRlIHRleHQgaW5wdXRzIHdoZW4gZm9jdXNlZC5cbi8vLyBAdHlwZSBTaGFkb3dcbiRpbnB1dC1zaGFkb3ctZm9jdXM6IDAgMCA1cHggJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gQ3Vyc29yIHRvIHVzZSB3aGVuIGhvdmVyaW5nIG92ZXIgYSBkaXNhYmxlZCB0ZXh0IGlucHV0LlxuLy8vIEB0eXBlIEN1cnNvclxuJGlucHV0LWN1cnNvci1kaXNhYmxlZDogbm90LWFsbG93ZWQgIWRlZmF1bHQ7XG5cbi8vLyBQcm9wZXJ0aWVzIHRvIHRyYW5zaXRpb24gb24gdGV4dCBpbnB1dHMuXG4vLy8gQHR5cGUgVHJhbnNpdGlvblxuJGlucHV0LXRyYW5zaXRpb246IGJveC1zaGFkb3cgMC41cywgYm9yZGVyLWNvbG9yIDAuMjVzIGVhc2UtaW4tb3V0ICFkZWZhdWx0O1xuXG4vLy8gRW5hYmxlcyB0aGUgdXAvZG93biBidXR0b25zIHRoYXQgQ2hyb21lIGFuZCBGaXJlZm94IGFkZCB0byBgPGlucHV0IHR5cGU9J251bWJlcic+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBCb29sZWFuXG4kaW5wdXQtbnVtYmVyLXNwaW5uZXJzOiB0cnVlICFkZWZhdWx0O1xuXG4vLy8gUmFkaXVzIGZvciB0ZXh0IGlucHV0cy5cbi8vLyBAdHlwZSBCb3JkZXJcbiRpbnB1dC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICFkZWZhdWx0O1xuXG4vLy8gQm9yZGVyIHJhZGl1cyBmb3IgZm9ybSBidXR0b25zLCBkZWZhdWx0ZWQgdG8gZ2xvYmFsLXJhZGl1cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRmb3JtLWJ1dHRvbi1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICFkZWZhdWx0O1xuXG5AbWl4aW4gZm9ybS1lbGVtZW50IHtcbiAgJGhlaWdodDogKCRpbnB1dC1mb250LXNpemUgKiB1bml0bGVzcy1jYWxjKCRpbnB1dC1saW5lLWhlaWdodCkpICsgKGdldC1zaWRlKCRpbnB1dC1wYWRkaW5nLCAndG9wJykgKyBnZXQtc2lkZSgkaW5wdXQtcGFkZGluZywgJ2JvdHRvbScpKSAtIHJlbS1jYWxjKDEpO1xuXG4gIGRpc3BsYXk6IGJsb2NrO1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAkaGVpZ2h0O1xuICBtYXJnaW46IDAgMCAkZm9ybS1zcGFjaW5nO1xuICBwYWRkaW5nOiAkaW5wdXQtcGFkZGluZztcblxuICBib3JkZXI6ICRpbnB1dC1ib3JkZXI7XG4gIGJvcmRlci1yYWRpdXM6ICRpbnB1dC1yYWRpdXM7XG4gIGJhY2tncm91bmQtY29sb3I6ICRpbnB1dC1iYWNrZ3JvdW5kO1xuICBib3gtc2hhZG93OiAkaW5wdXQtc2hhZG93O1xuXG4gIGZvbnQtZmFtaWx5OiAkaW5wdXQtZm9udC1mYW1pbHk7XG4gIGZvbnQtc2l6ZTogJGlucHV0LWZvbnQtc2l6ZTtcbiAgZm9udC13ZWlnaHQ6ICRpbnB1dC1mb250LXdlaWdodDtcbiAgbGluZS1oZWlnaHQ6ICRpbnB1dC1saW5lLWhlaWdodDtcbiAgY29sb3I6ICRpbnB1dC1jb2xvcjtcblxuICBAaWYgaGFzLXZhbHVlKCRpbnB1dC10cmFuc2l0aW9uKSB7XG4gICAgdHJhbnNpdGlvbjogJGlucHV0LXRyYW5zaXRpb247XG4gIH1cblxuICAvLyBGb2N1cyBzdGF0ZVxuICAmOmZvY3VzIHtcbiAgICBvdXRsaW5lOiBub25lO1xuICAgIGJvcmRlcjogJGlucHV0LWJvcmRlci1mb2N1cztcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaW5wdXQtYmFja2dyb3VuZC1mb2N1cztcbiAgICBib3gtc2hhZG93OiAkaW5wdXQtc2hhZG93LWZvY3VzO1xuXG4gICAgQGlmIGhhcy12YWx1ZSgkaW5wdXQtdHJhbnNpdGlvbikge1xuICAgICAgdHJhbnNpdGlvbjogJGlucHV0LXRyYW5zaXRpb247XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWZvcm0tdGV4dCB7XG4gIC8vIFRleHQgaW5wdXRzXG4gICN7dGV4dC1pbnB1dHMoKX0sXG4gIHRleHRhcmVhIHtcbiAgICBAaW5jbHVkZSBmb3JtLWVsZW1lbnQ7XG4gICAgYXBwZWFyYW5jZTogbm9uZTtcbiAgfVxuXG4gIC8vIFRleHQgYXJlYXNcbiAgdGV4dGFyZWEge1xuICAgIG1heC13aWR0aDogMTAwJTtcblxuICAgICZbcm93c10ge1xuICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgIH1cbiAgfVxuXG4gIGlucHV0LFxuICB0ZXh0YXJlYSB7XG4gICAgLy8gRGlzYWJsZWQvcmVhZG9ubHkgc3RhdGVcbiAgICAmOmRpc2FibGVkLFxuICAgICZbcmVhZG9ubHldIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRpbnB1dC1iYWNrZ3JvdW5kLWRpc2FibGVkO1xuICAgICAgY3Vyc29yOiAkaW5wdXQtY3Vyc29yLWRpc2FibGVkO1xuICAgIH1cbiAgfVxuXG4gIC8vIFJlc2V0IHN0eWxlcyBvbiBidXR0b24tbGlrZSBpbnB1dHNcbiAgW3R5cGU9J3N1Ym1pdCddLFxuICBbdHlwZT0nYnV0dG9uJ10ge1xuICAgIGFwcGVhcmFuY2U6IG5vbmU7XG4gICAgYm9yZGVyLXJhZGl1czogJGZvcm0tYnV0dG9uLXJhZGl1cztcbiAgfVxuXG4gIC8vIFJlc2V0IE5vcm1hbGl6ZSBzZXR0aW5nIGNvbnRlbnQtYm94IHRvIHNlYXJjaCBlbGVtZW50c1xuICBpbnB1dFt0eXBlPSdzZWFyY2gnXSB7IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgbm8tcXVhbGlmeWluZy1lbGVtZW50c1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIH1cblxuICAvLyBOdW1iZXIgaW5wdXQgc3R5bGVzXG4gIFt0eXBlPSdudW1iZXInXSB7XG4gICAgQGlmIG5vdCAkaW5wdXQtbnVtYmVyLXNwaW5uZXJzIHtcbiAgICAgIC1tb3otYXBwZWFyYW5jZTogdGV4dGZpZWxkOyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIG5vLXZlbmRvci1wcmVmaXhlc1xuXG4gICAgICAmOjotd2Via2l0LWlubmVyLXNwaW4tYnV0dG9uLFxuICAgICAgJjo6LXdlYmtpdC1vdXRlci1zcGluLWJ1dHRvbiB7XG4gICAgICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTsgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSBuby12ZW5kb3ItcHJlZml4ZXNcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIFBsYWNlaG9sZGVyIHRleHRcbiAgOjpwbGFjZWhvbGRlciB7XG4gICAgY29sb3I6ICRpbnB1dC1wbGFjZWhvbGRlci1jb2xvcjtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGZvcm1zXG4vLy8vXG5cbkBtaXhpbiBmb3VuZGF0aW9uLWZvcm0tY2hlY2tib3gge1xuICBbdHlwZT0nZmlsZSddLFxuICBbdHlwZT0nY2hlY2tib3gnXSxcbiAgW3R5cGU9J3JhZGlvJ10ge1xuICAgIG1hcmdpbjogMCAwICRmb3JtLXNwYWNpbmc7XG4gIH1cblxuICAvLyBTdHlsZXMgZm9yIGlucHV0L2xhYmVsIHNpYmxpbmdzXG4gIFt0eXBlPSdjaGVja2JveCddICsgbGFiZWwsXG4gIFt0eXBlPSdyYWRpbyddICsgbGFiZWwge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG5cbiAgICBtYXJnaW4tI3skZ2xvYmFsLWxlZnR9OiAkZm9ybS1zcGFjaW5nICogMC41O1xuICAgIG1hcmdpbi0jeyRnbG9iYWwtcmlnaHR9OiAkZm9ybS1zcGFjaW5nO1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG5cbiAgICAmW2Zvcl0ge1xuICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIH1cbiAgfVxuXG4gIC8vIFN0eWxlcyBmb3IgaW5wdXRzIGluc2lkZSBsYWJlbHNcbiAgbGFiZWwgPiBbdHlwZT0nY2hlY2tib3gnXSxcbiAgbGFiZWwgPiBbdHlwZT0ncmFkaW8nXSB7XG4gICAgbWFyZ2luLSN7JGdsb2JhbC1yaWdodH06ICRmb3JtLXNwYWNpbmcgKiAwLjU7XG4gIH1cblxuICAvLyBOb3JtYWxpemUgZmlsZSBpbnB1dCB3aWR0aFxuICBbdHlwZT0nZmlsZSddIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGZvcm1zXG4vLy8vXG5cbi8vLyBDb2xvciBmb3IgZm9ybSBsYWJlbHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRmb3JtLWxhYmVsLWNvbG9yOiAkYmxhY2sgIWRlZmF1bHQ7XG5cbi8vLyBGb250IHNpemUgZm9yIGZvcm0gbGFiZWxzLlxuLy8vIEB0eXBlIE51bWJlclxuJGZvcm0tbGFiZWwtZm9udC1zaXplOiByZW0tY2FsYygxNCkgIWRlZmF1bHQ7XG5cbi8vLyBGb250IHdlaWdodCBmb3IgZm9ybSBsYWJlbHMuXG4vLy8gQHR5cGUgS2V5d29yZFxuJGZvcm0tbGFiZWwtZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LW5vcm1hbCAhZGVmYXVsdDtcblxuLy8vIExpbmUgaGVpZ2h0IGZvciBmb3JtIGxhYmVscy4gVGhlIGhpZ2hlciB0aGUgbnVtYmVyLCB0aGUgbW9yZSBzcGFjZSBiZXR3ZWVuIHRoZSBsYWJlbCBhbmQgaXRzIGlucHV0IGZpZWxkLlxuLy8vIEB0eXBlIE51bWJlclxuJGZvcm0tbGFiZWwtbGluZS1oZWlnaHQ6IDEuOCAhZGVmYXVsdDtcblxuQG1peGluIGZvcm0tbGFiZWwge1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luOiAwO1xuXG4gIGZvbnQtc2l6ZTogJGZvcm0tbGFiZWwtZm9udC1zaXplO1xuICBmb250LXdlaWdodDogJGZvcm0tbGFiZWwtZm9udC13ZWlnaHQ7XG4gIGxpbmUtaGVpZ2h0OiAkZm9ybS1sYWJlbC1saW5lLWhlaWdodDtcbiAgY29sb3I6ICRmb3JtLWxhYmVsLWNvbG9yO1xufVxuXG5AbWl4aW4gZm9ybS1sYWJlbC1taWRkbGUge1xuICAkaW5wdXQtYm9yZGVyLXdpZHRoOiBnZXQtYm9yZGVyLXZhbHVlKCRpbnB1dC1ib3JkZXIsIHdpZHRoKTtcblxuICBtYXJnaW46IDAgMCAkZm9ybS1zcGFjaW5nO1xuICBwYWRkaW5nOiAoJGZvcm0tc3BhY2luZyAvIDIgKyByZW0tY2FsYygkaW5wdXQtYm9yZGVyLXdpZHRoKSkgMDtcbn1cblxuQG1peGluIGZvdW5kYXRpb24tZm9ybS1sYWJlbCB7XG4gIGxhYmVsIHtcbiAgICBAaW5jbHVkZSBmb3JtLWxhYmVsO1xuXG4gICAgJi5taWRkbGUge1xuICAgICAgQGluY2x1ZGUgZm9ybS1sYWJlbC1taWRkbGU7XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlc1xuLy8gaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZm9ybXNcbi8vLy9cblxuLy8vIERlZmF1bHQgY29sb3IgZm9yIGhlbHAgdGV4dC5cbi8vLyBAdHlwZSBDb2xvclxuJGhlbHB0ZXh0LWNvbG9yOiAkYmxhY2sgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZvbnQgc2l6ZSBmb3IgaGVscCB0ZXh0LlxuLy8vIEB0eXBlIE51bWJlclxuJGhlbHB0ZXh0LWZvbnQtc2l6ZTogcmVtLWNhbGMoMTMpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmb250IHN0eWxlIGZvciBoZWxwIHRleHQuXG4vLy8gQHR5cGUgS2V5d29yZFxuJGhlbHB0ZXh0LWZvbnQtc3R5bGU6IGl0YWxpYyAhZGVmYXVsdDtcblxuQG1peGluIGZvdW5kYXRpb24tZm9ybS1oZWxwdGV4dCB7XG4gIC5oZWxwLXRleHQge1xuICAgICRtYXJnaW4tdG9wOiAoJGZvcm0tc3BhY2luZyAqIDAuNSkgKiAtMTtcblxuICAgIG1hcmdpbi10b3A6ICRtYXJnaW4tdG9wO1xuICAgIGZvbnQtc2l6ZTogJGhlbHB0ZXh0LWZvbnQtc2l6ZTtcbiAgICBmb250LXN0eWxlOiAkaGVscHRleHQtZm9udC1zdHlsZTtcbiAgICBjb2xvcjogJGhlbHB0ZXh0LWNvbG9yO1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlc1xuLy8gaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZm9ybXNcbi8vLy9cblxuLy8vIENvbG9yIG9mIGxhYmVscyBwcmVmaXhlZCB0byBhbiBpbnB1dC5cbi8vLyBAdHlwZSBDb2xvclxuJGlucHV0LXByZWZpeC1jb2xvcjogJGJsYWNrICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBvZiBsYWJlbHMgcHJlZml4ZWQgdG8gYW4gaW5wdXQuXG4vLy8gQHR5cGUgQ29sb3JcbiRpbnB1dC1wcmVmaXgtYmFja2dyb3VuZDogJGxpZ2h0LWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBCb3JkZXIgYXJvdW5kIGxhYmVscyBwcmVmaXhlZCB0byBhbiBpbnB1dC5cbi8vLyBAdHlwZSBCb3JkZXJcbiRpbnB1dC1wcmVmaXgtYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gTGVmdC9yaWdodCBwYWRkaW5nIG9mIGFuIHByZS9wb3N0Zml4ZWQgaW5wdXQgbGFiZWxcbiRpbnB1dC1wcmVmaXgtcGFkZGluZzogMXJlbSAhZGVmYXVsdDtcblxuQG1peGluIGZvdW5kYXRpb24tZm9ybS1wcmVwb3N0Zml4IHtcbiAgJGhlaWdodDogKCRpbnB1dC1mb250LXNpemUgKiAkaW5wdXQtbGluZS1oZWlnaHQpICsgKGdldC1zaWRlKCRpbnB1dC1wYWRkaW5nLCAndG9wJykgKyBnZXQtc2lkZSgkaW5wdXQtcGFkZGluZywgJ2JvdHRvbScpKSAtIHJlbS1jYWxjKDEpO1xuXG4gIC5pbnB1dC1ncm91cCB7XG4gICAgZGlzcGxheTogaWYoJGdsb2JhbC1mbGV4Ym94LCBmbGV4LCB0YWJsZSk7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luLWJvdHRvbTogJGZvcm0tc3BhY2luZztcblxuICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG4gICAgfVxuXG4gICAgPiA6Zmlyc3QtY2hpbGQge1xuICAgICAgJiwgJi5pbnB1dC1ncm91cC1idXR0b24gPiAqIHtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogaWYoJGdsb2JhbC10ZXh0LWRpcmVjdGlvbiA9PSBydGwsIDAgJGlucHV0LXJhZGl1cyAkaW5wdXQtcmFkaXVzIDAsICRpbnB1dC1yYWRpdXMgMCAwICRpbnB1dC1yYWRpdXMpO1xuICAgICAgfVxuICAgIH1cblxuICAgID4gOmxhc3QtY2hpbGQge1xuICAgICAgJiwgJi5pbnB1dC1ncm91cC1idXR0b24gPiAqIHtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogaWYoJGdsb2JhbC10ZXh0LWRpcmVjdGlvbiA9PSBydGwsICRpbnB1dC1yYWRpdXMgMCAwICRpbnB1dC1yYWRpdXMsIDAgJGlucHV0LXJhZGl1cyAkaW5wdXQtcmFkaXVzIDApO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICVpbnB1dC1ncm91cC1jaGlsZCB7XG4gICAgbWFyZ2luOiAwO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG5cbiAgICBAaWYgbm90ICRnbG9iYWwtZmxleGJveCB7XG4gICAgICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xuICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICB9XG4gIH1cblxuICAuaW5wdXQtZ3JvdXAtbGFiZWwge1xuICAgIEBleHRlbmQgJWlucHV0LWdyb3VwLWNoaWxkO1xuICAgIHBhZGRpbmc6IDAgJGlucHV0LXByZWZpeC1wYWRkaW5nO1xuICAgIGJvcmRlcjogJGlucHV0LXByZWZpeC1ib3JkZXI7XG4gICAgYmFja2dyb3VuZDogJGlucHV0LXByZWZpeC1iYWNrZ3JvdW5kO1xuXG4gICAgY29sb3I6ICRpbnB1dC1wcmVmaXgtY29sb3I7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG5cbiAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4OiAwIDAgYXV0bztcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIHdpZHRoOiAxJTtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICB9XG5cbiAgICBAaWYgaGFzLXZhbHVlKCRpbnB1dC1wcmVmaXgtYm9yZGVyKSB7XG4gICAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgYm9yZGVyLSN7JGdsb2JhbC1yaWdodH06IDA7XG4gICAgICB9XG5cbiAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgIGJvcmRlci0jeyRnbG9iYWwtbGVmdH06IDA7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLmlucHV0LWdyb3VwLWZpZWxkIHtcbiAgICBAZXh0ZW5kICVpbnB1dC1ncm91cC1jaGlsZDtcbiAgICBib3JkZXItcmFkaXVzOiAwO1xuXG4gICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICBmbGV4OiAxIDEgMHB4OyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIHplcm8tdW5pdFxuICAgICAgbWluLXdpZHRoOiAwO1xuICAgIH1cbiAgfVxuXG4gIC5pbnB1dC1ncm91cC1idXR0b24ge1xuICAgIEBleHRlbmQgJWlucHV0LWdyb3VwLWNoaWxkO1xuICAgIHBhZGRpbmctdG9wOiAwO1xuICAgIHBhZGRpbmctYm90dG9tOiAwO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICB3aWR0aDogMSU7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgfVxuXG4gICAgYSxcbiAgICBpbnB1dCxcbiAgICBidXR0b24sXG4gICAgbGFiZWwge1xuICAgICAgQGV4dGVuZCAlaW5wdXQtZ3JvdXAtY2hpbGQ7XG5cbiAgICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgICBhbGlnbi1zZWxmOiBzdHJldGNoO1xuICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICB9XG4gICAgICBAZWxzZSB7XG4gICAgICAgIGhlaWdodDogJGhlaWdodDtcbiAgICAgIH1cbiAgICAgIHBhZGRpbmctdG9wOiAwO1xuICAgICAgcGFkZGluZy1ib3R0b206IDA7XG4gICAgICBmb250LXNpemU6ICRpbnB1dC1mb250LXNpemU7XG4gICAgfVxuICB9XG5cbiAgLy8gU3BlY2lmaWNpdHkgYnVtcCBuZWVkZWQgdG8gcHJldmVudCBvdmVycmlkZSBieSBidXR0b25zXG4gIEBpZiBub3QgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAuaW5wdXQtZ3JvdXAge1xuICAgICAgLmlucHV0LWdyb3VwLWJ1dHRvbiB7XG4gICAgICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlc1xuLy8gaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZm9ybXNcbi8vLy9cblxuLy8vIERlZmF1bHQgYm9yZGVyIGFyb3VuZCBjdXN0b20gZmllbGRzZXRzLlxuLy8vIEB0eXBlIEJvcmRlclxuJGZpZWxkc2V0LWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcGFkZGluZyBpbnNpZGUgY3VzdG9tIGZpZWxkc2V0cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRmaWVsZHNldC1wYWRkaW5nOiByZW0tY2FsYygyMCkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IG1hcmdpbiBhcm91bmQgY3VzdG9tIGZpZWxkc2V0cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRmaWVsZHNldC1tYXJnaW46IHJlbS1jYWxjKDE4IDApICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBwYWRkaW5nIGJldHdlZW4gdGhlIGxlZ2VuZCB0ZXh0IGFuZCBmaWVsZHNldCBib3JkZXIuXG4vLy8gQHR5cGUgTnVtYmVyXG4kbGVnZW5kLXBhZGRpbmc6IHJlbS1jYWxjKDAgMykgIWRlZmF1bHQ7XG5cbkBtaXhpbiBmaWVsZHNldCB7XG4gIG1hcmdpbjogJGZpZWxkc2V0LW1hcmdpbjtcbiAgcGFkZGluZzogJGZpZWxkc2V0LXBhZGRpbmc7XG4gIGJvcmRlcjogJGZpZWxkc2V0LWJvcmRlcjtcblxuICBsZWdlbmQge1xuICAgIC8vIENvdmVycyB1cCB0aGUgZmllbGRzZXQncyBib3JkZXIgdG8gY3JlYXRlIGFydGlmaWNpYWwgcGFkZGluZ1xuICAgIG1hcmdpbjogMDtcbiAgICBtYXJnaW4tI3skZ2xvYmFsLWxlZnR9OiByZW0tY2FsYygtMyk7XG4gICAgcGFkZGluZzogJGxlZ2VuZC1wYWRkaW5nO1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWZvcm0tZmllbGRzZXQge1xuICBmaWVsZHNldCB7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgYm9yZGVyOiAwO1xuICB9XG5cbiAgbGVnZW5kIHtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luLWJvdHRvbTogJGZvcm0tc3BhY2luZyAqIDAuNTtcbiAgfVxuXG4gIC5maWVsZHNldCB7XG4gICAgQGluY2x1ZGUgZmllbGRzZXQ7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBmb3Jtc1xuLy8vL1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBmb3Igc2VsZWN0IG1lbnVzLlxuLy8vIEB0eXBlIENvbG9yXG4kc2VsZWN0LWJhY2tncm91bmQ6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIENvbG9yIG9mIHRoZSBkcm9wZG93biB0cmlhbmdsZSBpbnNpZGUgc2VsZWN0IG1lbnVzLiBTZXQgdG8gYHRyYW5zcGFyZW50YCB0byByZW1vdmUgaXQgZW50aXJlbHkuXG4vLy8gQHR5cGUgQ29sb3JcbiRzZWxlY3QtdHJpYW5nbGUtY29sb3I6ICRkYXJrLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHJhZGl1cyBmb3Igc2VsZWN0IG1lbnVzLlxuLy8vIEB0eXBlIENvbG9yXG4kc2VsZWN0LXJhZGl1czogJGdsb2JhbC1yYWRpdXMgIWRlZmF1bHQ7XG5cbkBtaXhpbiBmb3JtLXNlbGVjdCB7XG4gICRoZWlnaHQ6ICgkaW5wdXQtZm9udC1zaXplICogdW5pdGxlc3MtY2FsYygkaW5wdXQtbGluZS1oZWlnaHQpKSArIChnZXQtc2lkZSgkaW5wdXQtcGFkZGluZywgJ3RvcCcpICsgZ2V0LXNpZGUoJGlucHV0LXBhZGRpbmcsICdib3R0b20nKSkgLSByZW0tY2FsYygxKTtcblxuICBoZWlnaHQ6ICRoZWlnaHQ7XG4gIG1hcmdpbjogMCAwICRmb3JtLXNwYWNpbmc7XG4gIHBhZGRpbmc6ICRpbnB1dC1wYWRkaW5nO1xuXG4gIGFwcGVhcmFuY2U6IG5vbmU7XG4gIGJvcmRlcjogJGlucHV0LWJvcmRlcjtcbiAgYm9yZGVyLXJhZGl1czogJHNlbGVjdC1yYWRpdXM7XG4gIGJhY2tncm91bmQtY29sb3I6ICRzZWxlY3QtYmFja2dyb3VuZDtcblxuICBmb250LWZhbWlseTogJGlucHV0LWZvbnQtZmFtaWx5O1xuICBmb250LXNpemU6ICRpbnB1dC1mb250LXNpemU7XG4gIGZvbnQtd2VpZ2h0OiAkaW5wdXQtZm9udC13ZWlnaHQ7XG4gIGxpbmUtaGVpZ2h0OiAkaW5wdXQtbGluZS1oZWlnaHQ7XG4gIGNvbG9yOiAkaW5wdXQtY29sb3I7XG5cbiAgQGlmICRzZWxlY3QtdHJpYW5nbGUtY29sb3IgIT0gdHJhbnNwYXJlbnQge1xuICAgIEBpbmNsdWRlIGJhY2tncm91bmQtdHJpYW5nbGUoJHNlbGVjdC10cmlhbmdsZS1jb2xvcik7XG4gICAgYmFja2dyb3VuZC1vcmlnaW46IGNvbnRlbnQtYm94O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246ICRnbG9iYWwtcmlnaHQgKC0kZm9ybS1zcGFjaW5nKSBjZW50ZXI7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IDlweCA2cHg7XG5cbiAgICBwYWRkaW5nLSN7JGdsb2JhbC1yaWdodH06ICgkZm9ybS1zcGFjaW5nICogMS41KTtcbiAgfVxuXG4gIEBpZiBoYXMtdmFsdWUoJGlucHV0LXRyYW5zaXRpb24pIHtcbiAgICB0cmFuc2l0aW9uOiAkaW5wdXQtdHJhbnNpdGlvbjtcbiAgfVxuXG4gIC8vIEZvY3VzIHN0YXRlXG4gICY6Zm9jdXMge1xuICAgIG91dGxpbmU6IG5vbmU7XG4gICAgYm9yZGVyOiAkaW5wdXQtYm9yZGVyLWZvY3VzO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRpbnB1dC1iYWNrZ3JvdW5kLWZvY3VzO1xuICAgIGJveC1zaGFkb3c6ICRpbnB1dC1zaGFkb3ctZm9jdXM7XG5cbiAgICBAaWYgaGFzLXZhbHVlKCRpbnB1dC10cmFuc2l0aW9uKSB7XG4gICAgICB0cmFuc2l0aW9uOiAkaW5wdXQtdHJhbnNpdGlvbjtcbiAgICB9XG4gIH1cblxuICAvLyBEaXNhYmxlZCBzdGF0ZVxuICAmOmRpc2FibGVkIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaW5wdXQtYmFja2dyb3VuZC1kaXNhYmxlZDtcbiAgICBjdXJzb3I6ICRpbnB1dC1jdXJzb3ItZGlzYWJsZWQ7XG4gIH1cblxuICAvLyBIaWRlIHRoZSBkcm9wZG93biBhcnJvdyBzaG93biBpbiBuZXdlciBJRSB2ZXJzaW9uc1xuICAmOjotbXMtZXhwYW5kIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG5cbiAgJlttdWx0aXBsZV0ge1xuICAgIGhlaWdodDogYXV0bztcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiBub25lO1xuICB9XG4gICY6bm90KFttdWx0aXBsZV0pIHtcbiAgICBwYWRkaW5nLXRvcDogMDtcbiAgICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1mb3JtLXNlbGVjdCB7XG4gIHNlbGVjdCB7XG4gICAgQGluY2x1ZGUgZm9ybS1zZWxlY3Q7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBhYmlkZVxuLy8vL1xuXG4vLy8gU2V0cyBpZiBlcnJvciBzdHlsZXMgc2hvdWxkIGJlIGFkZGVkIHRvIGlucHV0cy5cbi8vLyBAdHlwZSBCb29sZWFuXG4kYWJpZGUtaW5wdXRzOiB0cnVlICFkZWZhdWx0O1xuXG4vLy8gU2V0cyBpZiBlcnJvciBzdHlsZXMgc2hvdWxkIGJlIGFkZGVkIHRvIGxhYmVscy5cbi8vLyBAdHlwZSBCb29sZWFuXG4kYWJpZGUtbGFiZWxzOiB0cnVlICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciB0byB1c2UgZm9yIGludmFsaWQgdGV4dCBpbnB1dHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRpbnB1dC1iYWNrZ3JvdW5kLWludmFsaWQ6IGdldC1jb2xvcihhbGVydCkgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciB0byB1c2UgZm9yIGxhYmVscyBvZiBpbnZhbGlkIGlucHV0cy5cbi8vLyBAdHlwZSBDb2xvclxuJGZvcm0tbGFiZWwtY29sb3ItaW52YWxpZDogZ2V0LWNvbG9yKGFsZXJ0KSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCBjb2xvciBmb3IgZm9ybSBlcnJvciB0ZXh0LlxuLy8vIEB0eXBlIENvbG9yXG4kaW5wdXQtZXJyb3ItY29sb3I6IGdldC1jb2xvcihhbGVydCkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZvbnQgc2l6ZSBmb3IgZm9ybSBlcnJvciB0ZXh0LlxuLy8vIEB0eXBlIE51bWJlclxuJGlucHV0LWVycm9yLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTIpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmb250IHdlaWdodCBmb3IgZm9ybSBlcnJvciB0ZXh0LlxuLy8vIEB0eXBlIEtleXdvcmRcbiRpbnB1dC1lcnJvci1mb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtYm9sZCAhZGVmYXVsdDtcblxuLy8vIFN0eWxlcyB0aGUgYmFja2dyb3VuZCBhbmQgYm9yZGVyIG9mIGFuIGlucHV0IGZpZWxkIHRvIGhhdmUgYW4gZXJyb3Igc3RhdGUuXG4vLy9cbi8vLyBAcGFyYW0ge0NvbG9yfSAkYmFja2dyb3VuZCBbJGFsZXJ0LWNvbG9yXSAtIENvbG9yIHRvIHVzZSBmb3IgdGhlIGJhY2tncm91bmQgYW5kIGJvcmRlci5cbi8vLyBAcGFyYW0ge051bWJlcn0gJGJhY2tncm91bmQtbGlnaHRlbiBbMTAlXSAtIExpZ2h0bmVzcyBsZXZlbCBvZiB0aGUgYmFja2dyb3VuZCBjb2xvci5cbkBtaXhpbiBmb3JtLWlucHV0LWVycm9yKFxuICAkYmFja2dyb3VuZDogJGlucHV0LWJhY2tncm91bmQtaW52YWxpZCxcbiAgJGJhY2tncm91bmQtbGlnaHRlbjogMTAlXG4pIHtcbiAgJjpub3QoOmZvY3VzKSB7XG4gICAgYm9yZGVyLWNvbG9yOiAkYmFja2dyb3VuZDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtaXgoJGJhY2tncm91bmQsICR3aGl0ZSwgJGJhY2tncm91bmQtbGlnaHRlbik7XG5cbiAgICAmOjpwbGFjZWhvbGRlciB7XG4gICAgICBjb2xvcjogJGJhY2tncm91bmQ7XG4gICAgfVxuICB9XG59XG5cbi8vLyBBZGRzIGVycm9yIHN0eWxlcyB0byBhIGZvcm0gZWxlbWVudCwgdXNpbmcgdGhlIHZhbHVlcyBpbiB0aGUgc2V0dGluZ3MgZmlsZS5cbkBtaXhpbiBmb3JtLWVycm9yIHtcbiAgZGlzcGxheTogbm9uZTtcbiAgbWFyZ2luLXRvcDogJGZvcm0tc3BhY2luZyAqIC0wLjU7XG4gIG1hcmdpbi1ib3R0b206ICRmb3JtLXNwYWNpbmc7XG5cbiAgZm9udC1zaXplOiAkaW5wdXQtZXJyb3ItZm9udC1zaXplO1xuICBmb250LXdlaWdodDogJGlucHV0LWVycm9yLWZvbnQtd2VpZ2h0O1xuICBjb2xvcjogJGlucHV0LWVycm9yLWNvbG9yO1xufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1mb3JtLWVycm9yIHtcbiAgQGlmICRhYmlkZS1pbnB1dHMge1xuICAgIC8vIEVycm9yIGNsYXNzIGZvciBpbnZhbGlkIGlucHV0c1xuICAgIC5pcy1pbnZhbGlkLWlucHV0IHtcbiAgICAgIEBpbmNsdWRlIGZvcm0taW5wdXQtZXJyb3I7XG4gICAgfVxuICB9XG5cbiAgQGlmICRhYmlkZS1sYWJlbHMge1xuICAgIC8vIEVycm9yIGNsYXNzIGZvciBsYWJlbHMgb2YgaW52YWxpZCBvdXRwdXRzXG4gICAgLmlzLWludmFsaWQtbGFiZWwge1xuICAgICAgY29sb3I6ICRmb3JtLWxhYmVsLWNvbG9yLWludmFsaWQ7XG4gICAgfVxuICB9XG5cbiAgLy8gRm9ybSBlcnJvciBlbGVtZW50XG4gIC5mb3JtLWVycm9yIHtcbiAgICBAaW5jbHVkZSBmb3JtLWVycm9yO1xuXG4gICAgJi5pcy12aXNpYmxlIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHR5cG9ncmFwaHktYmFzZVxuLy8vL1xuXG4vLyBCYXNlIFR5cG9ncmFwaHlcbi8vIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtXG4vLyBUaGVzZSBhcmUgc3R5bGVzIGFwcGxpZWQgdG8gYmFzaWMgSFRNTCB0YWdzLCBpbmNsdWRpbmc6XG4vLyAgIC0gUGFyYWdyYXBocyA8cD5cbi8vICAgLSBCb2xkL2l0YWxpY3MgPGI+IDxzdHJvbmc+IDxpPiA8ZW0+XG4vLyAgIC0gU21hbGwgdGV4dCA8c21hbGw+XG4vLyAgIC0gSGVhZGluZ3MgPGgxPi08aDY+XG4vLyAgIC0gQW5jaG9ycyA8YT5cbi8vICAgLSBEaXZpZGVycyA8aHI+XG4vLyAgIC0gTGlzdHMgPHVsPiA8b2w+IDxkbD5cbi8vICAgLSBCbG9ja3F1b3RlcyA8YmxvY2txdW90ZT5cbi8vICAgLSBDb2RlIGJsb2NrcyA8Y29kZT5cbi8vICAgLSBBYmJyZXZpYXRpb25zIDxhYmJyPlxuLy8gICAtIENpdGF0aW9ucyA8Y2l0ZT5cbi8vICAgLSBLZXlzdHJva2VzIDxrYmQ+XG5cbi8vLyBGb250IGZhbWlseSBmb3IgaGVhZGVyIGVsZW1lbnRzLlxuLy8vIEB0eXBlIFN0cmluZyB8IExpc3RcbiRoZWFkZXItZm9udC1mYW1pbHk6ICRib2R5LWZvbnQtZmFtaWx5ICFkZWZhdWx0O1xuXG4vLy8gRm9udCB3ZWlnaHQgb2YgaGVhZGVycy5cbi8vLyBAdHlwZSBTdHJpbmdcbiRoZWFkZXItZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LW5vcm1hbCAhZGVmYXVsdDtcblxuLy8vIEZvbnQgc3R5bGUgKGUuZy4gaXRhbGljaXplZCkgb2YgaGVhZGVycy5cbi8vLyBAdHlwZSBTdHJpbmdcbiRoZWFkZXItZm9udC1zdHlsZTogbm9ybWFsICFkZWZhdWx0O1xuXG4vLy8gRm9udCBzdGFjayB1c2VkIGZvciBlbGVtZW50cyB0aGF0IHVzZSBtb25vc3BhY2VkIHR5cGUsIHN1Y2ggYXMgY29kZSBzYW1wbGVzXG4vLy8gQHR5cGUgU3RyaW5nIHwgTGlzdFxuJGZvbnQtZmFtaWx5LW1vbm9zcGFjZTogQ29uc29sYXMsICdMaWJlcmF0aW9uIE1vbm8nLCBDb3VyaWVyLCBtb25vc3BhY2UgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciBvZiBoZWFkZXJzLlxuLy8vIEB0eXBlIENvbG9yXG4kaGVhZGVyLWNvbG9yOiBpbmhlcml0ICFkZWZhdWx0O1xuXG4vLy8gTGluZSBoZWlnaHQgb2YgaGVhZGVycy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRoZWFkZXItbGluZWhlaWdodDogMS40ICFkZWZhdWx0O1xuXG4vLy8gQm90dG9tIG1hcmdpbiBvZiBoZWFkZXJzLlxuLy8vIEB0eXBlIE51bWJlclxuJGhlYWRlci1tYXJnaW4tYm90dG9tOiAwLjVyZW0gIWRlZmF1bHQ7XG5cbi8vLyBTdHlsZXMgZm9yIGhlYWRpbmdzIGF0IHZhcmlvdXMgc2NyZWVuIHNpemVzLiBFYWNoIGtleSBpcyBhIGJyZWFrcG9pbnQsIGFuZCBlYWNoIHZhbHVlIGlzIGEgbWFwIG9mIGhlYWRpbmcgc3R5bGVzLlxuLy8vIEB0eXBlIE1hcFxuJGhlYWRlci1zdHlsZXM6IChcbiAgc21hbGw6IChcbiAgICAnaDEnOiAoJ2ZvbnQtc2l6ZSc6IDI0KSxcbiAgICAnaDInOiAoJ2ZvbnQtc2l6ZSc6IDIwKSxcbiAgICAnaDMnOiAoJ2ZvbnQtc2l6ZSc6IDE5KSxcbiAgICAnaDQnOiAoJ2ZvbnQtc2l6ZSc6IDE4KSxcbiAgICAnaDUnOiAoJ2ZvbnQtc2l6ZSc6IDE3KSxcbiAgICAnaDYnOiAoJ2ZvbnQtc2l6ZSc6IDE2KSxcbiAgKSxcbiAgbWVkaXVtOiAoXG4gICAgJ2gxJzogKCdmb250LXNpemUnOiA0OCksXG4gICAgJ2gyJzogKCdmb250LXNpemUnOiA0MCksXG4gICAgJ2gzJzogKCdmb250LXNpemUnOiAzMSksXG4gICAgJ2g0JzogKCdmb250LXNpemUnOiAyNSksXG4gICAgJ2g1JzogKCdmb250LXNpemUnOiAyMCksXG4gICAgJ2g2JzogKCdmb250LXNpemUnOiAxNiksXG4gICksXG4pICFkZWZhdWx0O1xuXG4vLyAkaGVhZGVyLXN0eWxlcyBtYXAgaXMgYnVpbHQgZnJvbSAkaGVhZGVyLXNpemVzIGluIG9yZGVyIHRvIGVuc3VyZSBkb3dud2FyZCBjb21wYXRpYmlsaXR5XG4vLyB3aGVuICRoZWFkZXItc2l6ZXMgaXMgZGVwcmVjaWF0ZWQsICRoZWFkZXItc3R5bGVzIG5lZWRzIHRvIGdldCAhZGVmYXVsdCB2YWx1ZXMgbGlrZSBzZXR0aW5ncy5zY3NzXG5AZnVuY3Rpb24gYnVpbGRfZnJvbV9oZWFkZXItc2l6ZXMoJGhlYWRlci1zaXplcykge1xuICBAd2FybiAnTm90ZSwgdGhhdCAkaGVhZGVyLXNpemVzIGhhcyBiZWVuIHJlcGxhY2VkIHdpdGggJGhlYWRlci1zdHlsZXMuICRoZWFkZXItc2l6ZXMgc3RpbGwgd29ya3MsIGJ1dCBpdCBpcyBnb2luZyB0byBiZSBkZXByZWNpYXRlZC4nO1xuICAkaGVhZGVyLXN0eWxlczogKCk7XG4gIEBlYWNoICRzaXplLCAkaGVhZGVycyBpbiAkaGVhZGVyLXNpemVzIHtcbiAgICAkaGVhZGVyLW1hcDogKCk7XG4gICAgQGVhY2ggJGhlYWRlciwgJGZvbnQtc2l6ZSBpbiAkaGVhZGVycyB7XG4gICAgICAkaGVhZGVyLW1hcDogbWFwLW1lcmdlKCRoZWFkZXItbWFwLCAoJGhlYWRlcjogKCdmb250LXNpemUnOiAkZm9udC1zaXplKSkpO1xuICAgIH1cbiAgICAkaGVhZGVyLXN0eWxlczogbWFwLW1lcmdlKCRoZWFkZXItc3R5bGVzLCAoJHNpemU6ICRoZWFkZXItbWFwKSk7XG4gIH1cbiAgQHJldHVybiAkaGVhZGVyLXN0eWxlcztcbn1cblxuLy8gSWYgaXQgZXhpc3RzICRoZWFkZXJzLXNpemVzIGlzIHVzZWQgdG8gYnVpbGQgJGhlYWRlci1zdHlsZXMuIFNlZSB0aGUgZG9jdW1lbnRhdGlvbi5cbkBpZiB2YXJpYWJsZS1leGlzdHMoaGVhZGVyLXNpemVzKSB7XG4gICRoZWFkZXItc3R5bGVzOiBidWlsZF9mcm9tX2hlYWRlci1zaXplcygkaGVhZGVyLXNpemVzKTtcbn1cblxuLy8vIFRleHQgcmVuZGVyaW5nIG1ldGhvZCBvZiBoZWFkZXJzLlxuLy8vIEB0eXBlIFN0cmluZ1xuJGhlYWRlci10ZXh0LXJlbmRlcmluZzogb3B0aW1pemVMZWdpYmlsaXR5ICFkZWZhdWx0O1xuXG4vLy8gRm9udCBzaXplIG9mIGA8c21hbGw+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRzbWFsbC1mb250LXNpemU6IDgwJSAhZGVmYXVsdDtcblxuLy8vIENvbG9yIG9mIGA8c21hbGw+YCBlbGVtZW50cyB3aGVuIHBsYWNlZCBpbnNpZGUgaGVhZGVycy5cbi8vLyBAdHlwZSBDb2xvclxuJGhlYWRlci1zbWFsbC1mb250LWNvbG9yOiAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBMaW5lIGhlaWdodCBvZiB0ZXh0IGluc2lkZSBgPHA+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRwYXJhZ3JhcGgtbGluZWhlaWdodDogMS42ICFkZWZhdWx0O1xuXG4vLy8gQm90dG9tIG1hcmdpbiBvZiBwYXJhZ3JhcGhzLlxuLy8vIEB0eXBlIE51bWJlclxuJHBhcmFncmFwaC1tYXJnaW4tYm90dG9tOiAxcmVtICFkZWZhdWx0O1xuXG4vLy8gVGV4dCByZW5kZXJpbmcgbWV0aG9kIGZvciBwYXJhZ3JhcGggdGV4dC5cbi8vLyBAdHlwZSBTdHJpbmdcbiRwYXJhZ3JhcGgtdGV4dC1yZW5kZXJpbmc6IG9wdGltaXplTGVnaWJpbGl0eSAhZGVmYXVsdDtcblxuLy8vIFVzZSB0aGUgYC5jb2RlLWlubGluZWAgY29tcG9uZW50IGFzIGRlZmF1bHQgZm9yIGA8Y29kZT5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRlbmFibGUtY29kZS1pbmxpbmU6IHRydWU7XG5cbi8vLyBEZWZhdWx0IGNvbG9yIGZvciBsaW5rcy5cbi8vLyBAdHlwZSBDb2xvclxuJGFuY2hvci1jb2xvcjogJHByaW1hcnktY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGNvbG9yIGZvciBsaW5rcyBvbiBob3Zlci5cbi8vLyBAdHlwZSBDb2xvclxuJGFuY2hvci1jb2xvci1ob3Zlcjogc2NhbGUtY29sb3IoJGFuY2hvci1jb2xvciwgJGxpZ2h0bmVzczogLTE0JSkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHRleHQgZGVjb3JhdGlvbiBmb3IgbGlua3MuXG4vLy8gQHR5cGUgU3RyaW5nXG4kYW5jaG9yLXRleHQtZGVjb3JhdGlvbjogbm9uZSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgdGV4dCBkZWNvcmF0aW9uIGZvciBsaW5rcyBvbiBob3Zlci5cbi8vLyBAdHlwZSBTdHJpbmdcbiRhbmNob3ItdGV4dC1kZWNvcmF0aW9uLWhvdmVyOiBub25lICFkZWZhdWx0O1xuXG4vLy8gTWF4aW11bSB3aWR0aCBvZiBhIGRpdmlkZXIuXG4vLy8gQHR5cGUgTnVtYmVyXG4kaHItd2lkdGg6ICRnbG9iYWwtd2lkdGggIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJvcmRlciBmb3IgYSBkaXZpZGVyLlxuLy8vIEB0eXBlIExpc3RcbiRoci1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IG1hcmdpbiBmb3IgYSBkaXZpZGVyLlxuLy8vIEB0eXBlIE51bWJlciB8IExpc3RcbiRoci1tYXJnaW46IHJlbS1jYWxjKDIwKSBhdXRvICFkZWZhdWx0O1xuXG4vLy8gTGluZSBoZWlnaHQgZm9yIGl0ZW1zIGluIGEgbGlzdC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRsaXN0LWxpbmVoZWlnaHQ6ICRwYXJhZ3JhcGgtbGluZWhlaWdodCAhZGVmYXVsdDtcblxuLy8vIEJvdHRvbSBtYXJnaW4gZm9yIGl0ZW1zIGluIGEgbGlzdC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRsaXN0LW1hcmdpbi1ib3R0b206ICRwYXJhZ3JhcGgtbWFyZ2luLWJvdHRvbSAhZGVmYXVsdDtcblxuLy8vIEJ1bGxldCB0eXBlIHRvIHVzZSBmb3IgdW5vcmRlcmVkIGxpc3RzIChlLmcuLCBgc3F1YXJlYCwgYGNpcmNsZWAsIGBkaXNjYCkuXG4vLy8gQHR5cGUgU3RyaW5nXG4kbGlzdC1zdHlsZS10eXBlOiBkaXNjICFkZWZhdWx0O1xuXG4vLy8gUG9zaXRpb25pbmcgZm9yIGJ1bGxldHMgb24gdW5vcmRlcmVkIGxpc3QgaXRlbXMuXG4vLy8gQHR5cGUgU3RyaW5nXG4kbGlzdC1zdHlsZS1wb3NpdGlvbjogb3V0c2lkZSAhZGVmYXVsdDtcblxuLy8vIExlZnQgKG9yIHJpZ2h0KSBtYXJnaW4gZm9yIGxpc3RzLlxuLy8vIEB0eXBlIE51bWJlclxuJGxpc3Qtc2lkZS1tYXJnaW46IDEuMjVyZW0gIWRlZmF1bHQ7XG5cbi8vLyBMZWZ0IChvciByaWdodCkgbWFyZ2luIGZvciBhIGxpc3QgaW5zaWRlIGEgbGlzdC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRsaXN0LW5lc3RlZC1zaWRlLW1hcmdpbjogMS4yNXJlbSAhZGVmYXVsdDtcblxuLy8vIEJvdHRvbSBtYXJnaW4gZm9yIGA8ZGw+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRkZWZubGlzdC1tYXJnaW4tYm90dG9tOiAxcmVtICFkZWZhdWx0O1xuXG4vLy8gRm9udCB3ZWlnaHQgZm9yIGA8ZHQ+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBTdHJpbmdcbiRkZWZubGlzdC10ZXJtLXdlaWdodDogJGdsb2JhbC13ZWlnaHQtYm9sZCAhZGVmYXVsdDtcblxuLy8vIFNwYWNpbmcgYmV0d2VlbiBgPGR0PmAgYW5kIGA8ZGQ+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRkZWZubGlzdC10ZXJtLW1hcmdpbi1ib3R0b206IDAuM3JlbSAhZGVmYXVsdDtcblxuLy8vIFRleHQgY29sb3Igb2YgYDxibG9ja3F1b3RlPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRibG9ja3F1b3RlLWNvbG9yOiAkZGFyay1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gUGFkZGluZyBpbnNpZGUgYSBgPGJsb2NrcXVvdGU+YCBlbGVtZW50LlxuLy8vIEB0eXBlIE51bWJlciB8IExpc3RcbiRibG9ja3F1b3RlLXBhZGRpbmc6IHJlbS1jYWxjKDkgMjAgMCAxOSkgIWRlZmF1bHQ7XG5cbi8vLyBTaWRlIGJvcmRlciBmb3IgYDxibG9ja3F1b3RlPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgTGlzdFxuJGJsb2NrcXVvdGUtYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gVXNlIHRoZSBgLmNpdGUtYmxvY2tgIGNvbXBvbmVudCBhcyBkZWZhdWx0IGZvciBgPGNpdGU+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBCb29sZWFuXG4kZW5hYmxlLWNpdGUtYmxvY2s6IHRydWU7XG5cbi8vLyBGb250IGZhbWlseSBmb3IgYDxrYmQ+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBTdHJpbmcgfCBMaXN0XG4ka2V5c3Ryb2tlLWZvbnQ6ICRmb250LWZhbWlseS1tb25vc3BhY2UgIWRlZmF1bHQ7XG5cbi8vLyBUZXh0IGNvbG9yIGZvciBgPGtiZD5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIENvbG9yXG4ka2V5c3Ryb2tlLWNvbG9yOiAkYmxhY2sgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIGZvciBgPGtiZD5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIENvbG9yXG4ka2V5c3Ryb2tlLWJhY2tncm91bmQ6ICRsaWdodC1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gUGFkZGluZyBmb3IgYDxrYmQ+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBOdW1iZXIgfCBMaXN0XG4ka2V5c3Ryb2tlLXBhZGRpbmc6IHJlbS1jYWxjKDIgNCAwKSAhZGVmYXVsdDtcblxuLy8vIEJvcmRlciByYWRpdXMgZm9yIGA8a2JkPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgTnVtYmVyIHwgTGlzdFxuJGtleXN0cm9rZS1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICFkZWZhdWx0O1xuXG4vLy8gQm90dG9tIGJvcmRlciBzdHlsZSBmb3IgYDxhYmJyPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgTGlzdFxuJGFiYnItdW5kZXJsaW5lOiAxcHggZG90dGVkICRibGFjayAhZGVmYXVsdDtcblxuQG1peGluIGZvdW5kYXRpb24tdHlwb2dyYXBoeS1iYXNlIHtcbiAgLy8gVHlwb2dyYXBoeSByZXNldHNcbiAgZGl2LFxuICBkbCxcbiAgZHQsXG4gIGRkLFxuICB1bCxcbiAgb2wsXG4gIGxpLFxuICBoMSxcbiAgaDIsXG4gIGgzLFxuICBoNCxcbiAgaDUsXG4gIGg2LFxuICBwcmUsXG4gIGZvcm0sXG4gIHAsXG4gIGJsb2NrcXVvdGUsXG4gIHRoLFxuICB0ZCB7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gIH1cblxuICAvLyBQYXJhZ3JhcGhzXG4gIHAge1xuICAgIG1hcmdpbi1ib3R0b206ICRwYXJhZ3JhcGgtbWFyZ2luLWJvdHRvbTtcblxuICAgIGZvbnQtc2l6ZTogaW5oZXJpdDtcbiAgICBsaW5lLWhlaWdodDogJHBhcmFncmFwaC1saW5laGVpZ2h0O1xuICAgIHRleHQtcmVuZGVyaW5nOiAkcGFyYWdyYXBoLXRleHQtcmVuZGVyaW5nO1xuICB9XG5cbiAgLy8gRW1waGFzaXplZCB0ZXh0XG4gIGVtLFxuICBpIHtcbiAgICBmb250LXN0eWxlOiBpdGFsaWM7XG4gICAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XG4gIH1cblxuICAvLyBTdHJvbmcgdGV4dFxuICBzdHJvbmcsXG4gIGIge1xuICAgIGZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ib2xkO1xuICAgIGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xuICB9XG5cbiAgLy8gU21hbGwgdGV4dFxuICBzbWFsbCB7XG4gICAgZm9udC1zaXplOiAkc21hbGwtZm9udC1zaXplO1xuICAgIGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xuICB9XG5cbiAgLy8gSGVhZGluZ3NcbiAgaDEsIC5oMSxcbiAgaDIsIC5oMixcbiAgaDMsIC5oMyxcbiAgaDQsIC5oNCxcbiAgaDUsIC5oNSxcbiAgaDYsIC5oNiB7XG4gICAgZm9udC1mYW1pbHk6ICRoZWFkZXItZm9udC1mYW1pbHk7XG4gICAgZm9udC1zdHlsZTogJGhlYWRlci1mb250LXN0eWxlO1xuICAgIGZvbnQtd2VpZ2h0OiAkaGVhZGVyLWZvbnQtd2VpZ2h0O1xuICAgIGNvbG9yOiAkaGVhZGVyLWNvbG9yO1xuICAgIHRleHQtcmVuZGVyaW5nOiAkaGVhZGVyLXRleHQtcmVuZGVyaW5nO1xuXG4gICAgc21hbGwge1xuICAgICAgbGluZS1oZWlnaHQ6IDA7XG4gICAgICBjb2xvcjogJGhlYWRlci1zbWFsbC1mb250LWNvbG9yO1xuICAgIH1cbiAgfVxuXG4gIC8vIEhlYWRpbmcgc3R5bGVzXG4gIEBlYWNoICRzaXplLCAkaGVhZGVycyBpbiAkaGVhZGVyLXN0eWxlcyB7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkc2l6ZSkge1xuICAgICAgQGVhY2ggJGhlYWRlciwgJGhlYWRlci1kZWZzIGluICRoZWFkZXJzIHtcbiAgICAgICAgJGZvbnQtc2l6ZS10ZW1wOiAxcmVtO1xuICAgICAgICAjeyRoZWFkZXJ9LCAuI3skaGVhZGVyfSB7XG5cbiAgICAgICAgICBAaWYgbWFwLWhhcy1rZXkoJGhlYWRlci1kZWZzLCBmb250LXNpemUpIHtcbiAgICAgICAgICAgICRmb250LXNpemUtdGVtcDogcmVtLWNhbGMobWFwLWdldCgkaGVhZGVyLWRlZnMsIGZvbnQtc2l6ZSkpO1xuICAgICAgICAgICAgZm9udC1zaXplOiAkZm9udC1zaXplLXRlbXA7XG4gICAgICAgICAgfSBAZWxzZSBpZiBtYXAtaGFzLWtleSgkaGVhZGVyLWRlZnMsIGZzKSB7XG4gICAgICAgICAgICAkZm9udC1zaXplLXRlbXA6IHJlbS1jYWxjKG1hcC1nZXQoJGhlYWRlci1kZWZzLCBmcykpO1xuICAgICAgICAgICAgZm9udC1zaXplOiAkZm9udC1zaXplLXRlbXA7XG4gICAgICAgICAgfSBAZWxzZSBpZiAkc2l6ZSA9PSAkLXpmLXplcm8tYnJlYWtwb2ludCB7XG4gICAgICAgICAgICBmb250LXNpemU6ICRmb250LXNpemUtdGVtcDtcbiAgICAgICAgICB9XG4gICAgICAgICAgQGlmIG1hcC1oYXMta2V5KCRoZWFkZXItZGVmcywgbGluZS1oZWlnaHQpIHtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiB1bml0bGVzcy1jYWxjKG1hcC1nZXQoJGhlYWRlci1kZWZzLCBsaW5lLWhlaWdodCksICRmb250LXNpemUtdGVtcCk7XG4gICAgICAgICAgfSBAZWxzZSBpZiBtYXAtaGFzLWtleSgkaGVhZGVyLWRlZnMsIGxoKSB7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogdW5pdGxlc3MtY2FsYyhtYXAtZ2V0KCRoZWFkZXItZGVmcywgbGgpLCAkZm9udC1zaXplLXRlbXApO1xuICAgICAgICAgIH0gQGVsc2UgaWYgJHNpemUgPT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQge1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IHVuaXRsZXNzLWNhbGMoJGhlYWRlci1saW5laGVpZ2h0LCAkZm9udC1zaXplLXRlbXApO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIEBpZiBtYXAtaGFzLWtleSgkaGVhZGVyLWRlZnMsIG1hcmdpbi10b3ApIHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IHJlbS1jYWxjKG1hcC1nZXQoJGhlYWRlci1kZWZzLCBtYXJnaW4tdG9wKSk7XG4gICAgICAgICAgfSBAZWxzZSBpZiBtYXAtaGFzLWtleSgkaGVhZGVyLWRlZnMsIG10KSB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiByZW0tY2FsYyhtYXAtZ2V0KCRoZWFkZXItZGVmcywgbXQpKTtcbiAgICAgICAgICB9IEBlbHNlIGlmICRzaXplID09ICQtemYtemVyby1icmVha3BvaW50IHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICAgICAgfVxuICAgICAgICAgIEBpZiBtYXAtaGFzLWtleSgkaGVhZGVyLWRlZnMsIG1hcmdpbi1ib3R0b20pIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKG1hcC1nZXQoJGhlYWRlci1kZWZzLCBtYXJnaW4tYm90dG9tKSk7XG4gICAgICAgICAgfSBAZWxzZSBpZiBtYXAtaGFzLWtleSgkaGVhZGVyLWRlZnMsIG1iKSB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYyhtYXAtZ2V0KCRoZWFkZXItZGVmcywgbWIpKTtcbiAgICAgICAgICB9IEBlbHNlIGlmICRzaXplID09ICQtemYtemVyby1icmVha3BvaW50IHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKCRoZWFkZXItbWFyZ2luLWJvdHRvbSk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gTGlua3NcbiAgYSB7XG4gICAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XG4gICAgY29sb3I6ICRhbmNob3ItY29sb3I7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiAkYW5jaG9yLXRleHQtZGVjb3JhdGlvbjtcblxuICAgIGN1cnNvcjogcG9pbnRlcjtcblxuICAgICY6aG92ZXIsXG4gICAgJjpmb2N1cyB7XG4gICAgICBjb2xvcjogJGFuY2hvci1jb2xvci1ob3ZlcjtcbiAgICAgIEBpZiAkYW5jaG9yLXRleHQtZGVjb3JhdGlvbi1ob3ZlciAhPSAkYW5jaG9yLXRleHQtZGVjb3JhdGlvbiB7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogJGFuY2hvci10ZXh0LWRlY29yYXRpb24taG92ZXI7XG4gICAgICB9XG4gICAgfVxuXG4gICAgaW1nIHtcbiAgICAgIGJvcmRlcjogMDtcbiAgICB9XG4gIH1cblxuICAvLyBIb3Jpem9udGFsIHJ1bGVcbiAgaHIge1xuICAgIGNsZWFyOiBib3RoO1xuXG4gICAgbWF4LXdpZHRoOiAkaHItd2lkdGg7XG4gICAgaGVpZ2h0OiAwO1xuICAgIG1hcmdpbjogJGhyLW1hcmdpbjtcblxuICAgIGJvcmRlci10b3A6IDA7XG4gICAgYm9yZGVyLXJpZ2h0OiAwO1xuICAgIGJvcmRlci1ib3R0b206ICRoci1ib3JkZXI7XG4gICAgYm9yZGVyLWxlZnQ6IDA7XG4gIH1cblxuICAvLyBMaXN0c1xuICB1bCxcbiAgb2wsXG4gIGRsIHtcbiAgICBtYXJnaW4tYm90dG9tOiAkbGlzdC1tYXJnaW4tYm90dG9tO1xuICAgIGxpc3Qtc3R5bGUtcG9zaXRpb246ICRsaXN0LXN0eWxlLXBvc2l0aW9uO1xuICAgIGxpbmUtaGVpZ2h0OiAkbGlzdC1saW5laGVpZ2h0O1xuICB9XG5cbiAgLy8gTGlzdCBpdGVtc1xuICBsaSB7XG4gICAgZm9udC1zaXplOiBpbmhlcml0O1xuICB9XG5cbiAgLy8gVW5vcmRlcmVkIGxpc3RzXG4gIHVsIHtcbiAgICBtYXJnaW4tI3skZ2xvYmFsLWxlZnR9OiAkbGlzdC1zaWRlLW1hcmdpbjtcbiAgICBsaXN0LXN0eWxlLXR5cGU6ICRsaXN0LXN0eWxlLXR5cGU7XG4gIH1cblxuICAvLyBPcmRlcmVkIGxpc3RzXG4gIG9sIHtcbiAgICBtYXJnaW4tI3skZ2xvYmFsLWxlZnR9OiAkbGlzdC1zaWRlLW1hcmdpbjtcbiAgfVxuXG4gIC8vIE5lc3RlZCB1bm9yZGVyZWQvb3JkZXJlZCBsaXN0c1xuICB1bCwgb2wge1xuICAgICYgJiB7XG4gICAgICBtYXJnaW4tI3skZ2xvYmFsLWxlZnR9OiAkbGlzdC1uZXN0ZWQtc2lkZS1tYXJnaW47XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIH1cbiAgfVxuXG4gIC8vIERlZmluaXRpb24gbGlzdHNcbiAgZGwge1xuICAgIG1hcmdpbi1ib3R0b206ICRkZWZubGlzdC1tYXJnaW4tYm90dG9tO1xuXG4gICAgZHQge1xuICAgICAgbWFyZ2luLWJvdHRvbTogJGRlZm5saXN0LXRlcm0tbWFyZ2luLWJvdHRvbTtcbiAgICAgIGZvbnQtd2VpZ2h0OiAkZGVmbmxpc3QtdGVybS13ZWlnaHQ7XG4gICAgfVxuICB9XG5cbiAgLy8gQmxvY2txdW90ZXNcbiAgYmxvY2txdW90ZSB7XG4gICAgbWFyZ2luOiAwIDAgJHBhcmFncmFwaC1tYXJnaW4tYm90dG9tO1xuICAgIHBhZGRpbmc6ICRibG9ja3F1b3RlLXBhZGRpbmc7XG4gICAgYm9yZGVyLSN7JGdsb2JhbC1sZWZ0fTogJGJsb2NrcXVvdGUtYm9yZGVyO1xuXG4gICAgJiwgcCB7XG4gICAgICBsaW5lLWhlaWdodDogJHBhcmFncmFwaC1saW5laGVpZ2h0O1xuICAgICAgY29sb3I6ICRibG9ja3F1b3RlLWNvbG9yO1xuICAgIH1cbiAgfVxuXG4gIC8vIElubGluZSBDaXRhdGlvbnNcbiAgQGlmICgkZW5hYmxlLWNpdGUtYmxvY2sgPT0gdHJ1ZSkge1xuICAgIGNpdGUge1xuICAgICAgLy8gRXh0ZW5kaW5nIGEgY2xhc3MgaXMgbm90IHJlY29tbWVuZGVkLlxuICAgICAgLy8gVE9ETzogQnJlYWsgdGhlIHR5cG9ncmFwaHktYmFzZS90eXBvZ3JhcGh5LWhlbHBlcnMgc2VwYXJhdGlvblxuICAgICAgQGV4dGVuZCAuY2l0ZS1ibG9jaztcbiAgICB9XG4gIH1cblxuICAvLyBBYmJyZXZpYXRpb25zXG4gIGFiYnIsIGFiYnJbdGl0bGVdIHtcbiAgICBib3JkZXItYm90dG9tOiAkYWJici11bmRlcmxpbmU7XG4gICAgY3Vyc29yOiBoZWxwO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgfVxuXG4gIC8vIEZpZ3VyZXNcbiAgZmlndXJlIHtcbiAgICBtYXJnaW46IDA7XG4gIH1cblxuICAvLyBDb2RlXG4gIEBpZiAoJGVuYWJsZS1jb2RlLWlubGluZSA9PSB0cnVlKSB7XG4gICAgY29kZSB7XG4gICAgICBAZXh0ZW5kIC5jb2RlLWlubGluZTtcbiAgICB9XG4gIH1cblxuICAvLyBLZXlzdHJva2VzXG4gIGtiZCB7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6ICRrZXlzdHJva2UtcGFkZGluZztcblxuICAgIGJhY2tncm91bmQtY29sb3I6ICRrZXlzdHJva2UtYmFja2dyb3VuZDtcblxuICAgIGZvbnQtZmFtaWx5OiAka2V5c3Ryb2tlLWZvbnQ7XG4gICAgY29sb3I6ICRrZXlzdHJva2UtY29sb3I7XG5cbiAgICBAaWYgaGFzLXZhbHVlKCRrZXlzdHJva2UtcmFkaXVzKSB7XG4gICAgICBib3JkZXItcmFkaXVzOiAka2V5c3Ryb2tlLXJhZGl1cztcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCB0eXBvZ3JhcGh5LWhlbHBlcnNcbi8vLy9cblxuLy8vIERlZmF1bHQgZm9udCBzaXplIGZvciBsZWFkIHBhcmFncmFwaHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kbGVhZC1mb250LXNpemU6ICRnbG9iYWwtZm9udC1zaXplICogMS4yNSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgbGluZSBoZWlnaHQgZm9yIGxlYWQgcGFyYWdyYXBocy5cbi8vLyBAdHlwZSBTdHJpbmdcbiRsZWFkLWxpbmVoZWlnaHQ6IDEuNiAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgbGluZSBoZWlnaHQgZm9yIHN1YmhlYWRlcnMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kc3ViaGVhZGVyLWxpbmVoZWlnaHQ6IDEuNCAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCBjb2xvciBmb3Igc3ViaGVhZGVycy5cbi8vLyBAdHlwZSBDb2xvclxuJHN1YmhlYWRlci1jb2xvcjogJGRhcmstZ3JheSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCB3ZWlnaHQgZm9yIHN1YmhlYWRlcnMuXG4vLy8gQHR5cGUgU3RyaW5nXG4kc3ViaGVhZGVyLWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ub3JtYWwgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHRvcCBtYXJnaW4gZm9yIHN1YmhlYWRlcnMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kc3ViaGVhZGVyLW1hcmdpbi10b3A6IDAuMnJlbSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYm90dG9tIG1hcmdpbiBmb3Igc3ViaGVhZGVycy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRzdWJoZWFkZXItbWFyZ2luLWJvdHRvbTogMC41cmVtICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmb250IHNpemUgZm9yIHN0YXRpc3RpYyBudW1iZXJzLlxuLy8vIEB0eXBlIE51bWJlclxuJHN0YXQtZm9udC1zaXplOiAyLjVyZW0gIWRlZmF1bHQ7XG5cbi8vLyBUZXh0IGNvbG9yIGZvciBgLmNpdGUtYmxvY2tgIGNvbXBvbmVudC5cbi8vLyBAdHlwZSBDb2xvclxuJGNpdGUtY29sb3I6ICRkYXJrLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBGb250IHNpemUgZm9yIGAuY2l0ZS1ibG9ja2AgY29tcG9uZW50LlxuLy8vIEB0eXBlIE51bWJlclxuJGNpdGUtZm9udC1zaXplOiByZW0tY2FsYygxMykgIWRlZmF1bHQ7XG5cbi8vLyBQc2V1ZG8gY29udGVudCBmb3IgYC5jaXRlLWJsb2NrYCBjb21wb25lbnQuXG4vLy8gQHR5cGUgU3RyaW5nXG4kY2l0ZS1wc2V1ZG8tY29udGVudDogJ1xcMjAxNCBcXDAwMjAnICFkZWZhdWx0O1xuXG4vLy8gVGV4dCBjb2xvciBvZiBgLmNvZGUtaW5saW5lYCBhbmQgYC5jb2RlLWJsb2NrYCBjb21wb25lbnRzLlxuLy8vIEB0eXBlIENvbG9yXG4kY29kZS1jb2xvcjogJGJsYWNrICFkZWZhdWx0O1xuXG4vLy8gRm9udCBmYW1pbHkgb2YgYC5jb2RlLWlubGluZWAgYW5kIGAuY29kZS1ibG9ja2AgY29tcG9uZW50cy5cbi8vLyBAdHlwZSBTdHJpbmcgfCBMaXN0XG4kY29kZS1mb250LWZhbWlseTogJGZvbnQtZmFtaWx5LW1vbm9zcGFjZSAhZGVmYXVsdDtcblxuLy8vIEZvbnQgd2VpZ2h0IG9mIHRleHQgaW4gYC5jb2RlLWlubGluZWAgYW5kIGAuY29kZS1ibG9ja2AgY29tcG9uZW50cy5cbi8vLyBAdHlwZSBTdHJpbmdcbiRjb2RlLWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ub3JtYWwgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIG9mIGAuY29kZS1pbmxpbmVgIGFuZCBgLmNvZGUtYmxvY2tgIGNvbXBvbmVudHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRjb2RlLWJhY2tncm91bmQ6ICRsaWdodC1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gQm9yZGVyIGFyb3VuZCBgLmNvZGUtaW5saW5lYCBhbmQgYC5jb2RlLWJsb2NrYCBjb21wb25lbnRzLlxuLy8vIEB0eXBlIExpc3RcbiRjb2RlLWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8vIFBhZGRpbmcgYXJvdW5kIHRleHQgb2YgdGhlIGAuY29kZS1pbmxpbmVgIGNvbXBvbmVudC5cbi8vLyBAdHlwZSBOdW1iZXIgfCBMaXN0XG4kY29kZS1wYWRkaW5nOiByZW0tY2FsYygyIDUgMSkgIWRlZmF1bHQ7XG5cbi8vLyBQYWRkaW5nIGFyb3VuZCB0ZXh0IG9mIHRoZSBgLmNvZGUtYmxvY2tgIGNvbXBvbmVudC5cbi8vLyBAdHlwZSBOdW1iZXIgfCBMaXN0XG4kY29kZS1ibG9jay1wYWRkaW5nOiAxcmVtICFkZWZhdWx0O1xuXG4vLy8gTWFyZ2luIHVuZGVyIHRoZSBgLmNvZGUtYmxvY2tgIGNvbXBvbmVudC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRjb2RlLWJsb2NrLW1hcmdpbi1ib3R0b206IDEuNXJlbSAhZGVmYXVsdDtcblxuQG1peGluIGNpdGUtYmxvY2sge1xuICBkaXNwbGF5OiBibG9jaztcbiAgY29sb3I6ICRjaXRlLWNvbG9yO1xuICBmb250LXNpemU6ICRjaXRlLWZvbnQtc2l6ZTtcblxuICAmOmJlZm9yZSB7XG4gICAgY29udGVudDogJGNpdGUtcHNldWRvLWNvbnRlbnQ7XG4gIH1cbn1cblxuLy8vIEFkZCBiYXNpYyBzdHlsZXMgZm9yIGEgY29kZSBoZWxwZXIuXG4vLy8gU2VlIGBjb2RlLWlubGluZWAgYW5kIGBjb2RlLWJsb2NrYCBtaXhpbnMuXG5AbWl4aW4gY29kZS1zdHlsZSB7XG4gIGJvcmRlcjogJGNvZGUtYm9yZGVyO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29kZS1iYWNrZ3JvdW5kO1xuXG4gIGZvbnQtZmFtaWx5OiAkY29kZS1mb250LWZhbWlseTtcbiAgZm9udC13ZWlnaHQ6ICRjb2RlLWZvbnQtd2VpZ2h0O1xuICBjb2xvcjogJGNvZGUtY29sb3I7XG59XG5cbi8vLyBNYWtlIGNvZGUgaGVscGVyIGZyb20gdGhlIGBjb2RlLXN0eWxlYCBtaXhpbiBpbmxpbmUuXG4vLy8gVXNlZCB0byBnZW5lcmF0ZSBgLmNvZGUtaW5saW5lYFxuQG1peGluIGNvZGUtaW5saW5lIHtcbiAgZGlzcGxheTogaW5saW5lO1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIHdvcmQtd3JhcDogYnJlYWstd29yZDtcblxuICBwYWRkaW5nOiAkY29kZS1wYWRkaW5nO1xufVxuXG4vLy8gTWFrZSBjb2RlIGhlbHBlciBmcm9tIHRoZSBgY29kZS1zdHlsZWAgbWl4aW4gYSBibG9jay5cbi8vLyBVc2VkIHRvIGdlbmVyYXRlIGAuY29kZS1ibG9ja2BcbkBtaXhpbiBjb2RlLWJsb2NrIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG92ZXJmbG93OiBhdXRvO1xuICB3aGl0ZS1zcGFjZTogcHJlO1xuXG4gIHBhZGRpbmc6ICRjb2RlLWJsb2NrLXBhZGRpbmc7XG4gIG1hcmdpbi1ib3R0b206ICRjb2RlLWJsb2NrLW1hcmdpbi1ib3R0b207XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLXR5cG9ncmFwaHktaGVscGVycyB7XG4gIC8vIFVzZSB0byBjcmVhdGUgYSBzdWJoZWFkaW5nIHVuZGVyIGEgbWFpbiBoZWFkZXJcbiAgLy8gTWFrZSBzdXJlIHlvdSBwYWlyIHRoZSB0d28gZWxlbWVudHMgaW4gYSA8aGVhZGVyPiBlbGVtZW50LCBsaWtlIHRoaXM6XG4gIC8vIDxoZWFkZXI+XG4gIC8vICAgPGgxPkhlYWRpbmc8L2gxPlxuICAvLyAgIDxoMj5TdWJoZWFkaW5nPC9oMj5cbiAgLy8gPC9oZWFkZXI+XG4gIC5zdWJoZWFkZXIge1xuICAgIG1hcmdpbi10b3A6ICRzdWJoZWFkZXItbWFyZ2luLXRvcDtcbiAgICBtYXJnaW4tYm90dG9tOiAkc3ViaGVhZGVyLW1hcmdpbi1ib3R0b207XG5cbiAgICBmb250LXdlaWdodDogJHN1YmhlYWRlci1mb250LXdlaWdodDtcbiAgICBsaW5lLWhlaWdodDogJHN1YmhlYWRlci1saW5laGVpZ2h0O1xuICAgIGNvbG9yOiAkc3ViaGVhZGVyLWNvbG9yO1xuICB9XG5cbiAgLy8gVXNlIHRvIHN0eWxlIGFuIGludHJvZHVjdG9yeSBsZWFkLCBkZWNrLCBibHVyYiwgZXRjLlxuICAubGVhZCB7XG4gICAgZm9udC1zaXplOiAkbGVhZC1mb250LXNpemU7XG4gICAgbGluZS1oZWlnaHQ6ICRsZWFkLWxpbmVoZWlnaHQ7XG4gIH1cblxuICAvLyBVc2UgdG8gc3R5bGUgYSBsYXJnZSBudW1iZXIgdG8gZGlzcGxheSBhIHN0YXRpc3RpY1xuICAuc3RhdCB7XG4gICAgZm9udC1zaXplOiAkc3RhdC1mb250LXNpemU7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG5cbiAgICBwICsgJiB7XG4gICAgICBtYXJnaW4tdG9wOiAtMXJlbTtcbiAgICB9XG4gIH1cblxuICB1bCwgb2wge1xuICAgIC8vIFVzZSB0byByZW1vdmUgbnVtYmVycyBmcm9tIG9yZGVyZWQgbGlzdCAmIGJ1bGxldHMgZnJvbSB1bm9yZGVyZWQgbGlzdFxuICAgICYubm8tYnVsbGV0IHtcbiAgICAgIG1hcmdpbi0jeyRnbG9iYWwtbGVmdH06IDA7XG4gICAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIH1cbiAgfVxuXG4gIC5jaXRlLWJsb2NrIHtcbiAgICBAaW5jbHVkZSBjaXRlLWJsb2NrO1xuICB9XG5cbiAgLmNvZGUtaW5saW5lIHtcbiAgICBAaW5jbHVkZSBjb2RlLXN0eWxlO1xuICAgIEBpbmNsdWRlIGNvZGUtaW5saW5lO1xuICB9XG5cbiAgLmNvZGUtYmxvY2sge1xuICAgIEBpbmNsdWRlIGNvZGUtc3R5bGU7XG4gICAgQGluY2x1ZGUgY29kZS1ibG9jaztcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG5AbWl4aW4gZm91bmRhdGlvbi10ZXh0LWFsaWdubWVudCB7XG4gIEBlYWNoICRzaXplIGluICRicmVha3BvaW50LWNsYXNzZXMge1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHNpemUpIHtcbiAgICAgIEBlYWNoICRhbGlnbiBpbiAobGVmdCwgcmlnaHQsIGNlbnRlciwganVzdGlmeSkge1xuICAgICAgICBAaWYgJHNpemUgIT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQge1xuICAgICAgICAgIC4jeyRzaXplfS10ZXh0LSN7JGFsaWdufSB7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiAkYWxpZ247XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIEBlbHNlIHtcbiAgICAgICAgICAudGV4dC0jeyRhbGlnbn0ge1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogJGFsaWduO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8gSWYgYHRydWVgLCBhbGwgZWxlbWVudHMgd2lsbCBoYXZlIHRyYW5zcGFyZW50IGJhY2tncm91bmRzIHdoZW4gcHJpbnRlZCwgdG8gc2F2ZSBvbiBpbmsuXG4vLy8gQHR5cGUgQm9vbGVhblxuLy8vIEBncm91cCBnbG9iYWxcbiRwcmludC10cmFuc3BhcmVudC1iYWNrZ3JvdW5kczogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIElmIGB0cnVlYCwgZGlzcGxheXMgbmV4dCB0byBhbGwgbGlua3MgdGhlaXIgXCJocmVmXCIgd2hlbiBwcmludGVkLlxuLy8vIEB0eXBlIEJvb2xlYW5cbi8vLyBAZ3JvdXAgZ2xvYmFsXG4kcHJpbnQtaHJlZnM6IHRydWUgIWRlZmF1bHQ7XG5cbi8vIHNhc3MtbGludDpkaXNhYmxlLWFsbFxuXG5AbWl4aW4gZm91bmRhdGlvbi1wcmludC1zdHlsZXMge1xuICAuc2hvdy1mb3ItcHJpbnQgeyBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cblxuICBAbWVkaWEgcHJpbnQge1xuICAgICoge1xuICAgICAgLy8gRW5zdXJlIGEgXCJibGFjay1vbi13aGl0ZVwiIHByaW50IGJ5IHJlbW92aW5nIGJhY2tncm91bmRzLFxuICAgICAgLy8gdXNpbmcgYmxhY2sgdGV4dCBldmVyeXdoZXJlIGFuZCBmb3JjaW5nIHRoZSBicm93c2VyIHRvIGVjb25vbWl6ZSBpbmsuXG4gICAgICBAaWYgJHByaW50LXRyYW5zcGFyZW50LWJhY2tncm91bmRzIHtcbiAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbiAgICAgICAgY29sb3I6IGJsYWNrICFpbXBvcnRhbnQ7IC8vIEJsYWNrIHByaW50cyBmYXN0ZXI6IGg1YnAuY29tL3NcbiAgICAgICAgY29sb3ItYWRqdXN0OiBlY29ub215O1xuICAgICAgfVxuICAgICAgLy8gT3RoZXJ3aXNlLCBwcmV2ZW50IGFueSBlY29ub215IGJ5IHRoZSBicm93c2VyLlxuICAgICAgQGVsc2Uge1xuICAgICAgICBjb2xvci1hZGp1c3Q6IGV4YWN0O1xuICAgICAgfVxuXG4gICAgICBib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XG4gICAgICB0ZXh0LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIC5zaG93LWZvci1wcmludCB7IGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7IH1cbiAgICAuaGlkZS1mb3ItcHJpbnQgeyBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cblxuICAgIHRhYmxlLnNob3ctZm9yLXByaW50IHsgZGlzcGxheTogdGFibGUgIWltcG9ydGFudDsgfVxuICAgIHRoZWFkLnNob3ctZm9yLXByaW50IHsgZGlzcGxheTogdGFibGUtaGVhZGVyLWdyb3VwICFpbXBvcnRhbnQ7IH1cbiAgICB0Ym9keS5zaG93LWZvci1wcmludCB7IGRpc3BsYXk6IHRhYmxlLXJvdy1ncm91cCAhaW1wb3J0YW50OyB9XG4gICAgdHIuc2hvdy1mb3ItcHJpbnQgeyBkaXNwbGF5OiB0YWJsZS1yb3cgIWltcG9ydGFudDsgfVxuICAgIHRkLnNob3ctZm9yLXByaW50IHsgZGlzcGxheTogdGFibGUtY2VsbCAhaW1wb3J0YW50OyB9XG4gICAgdGguc2hvdy1mb3ItcHJpbnQgeyBkaXNwbGF5OiB0YWJsZS1jZWxsICFpbXBvcnRhbnQ7IH1cblxuICAgIC8vIERpc3BsYXkgdGhlIFVSTCBvZiBhIGxpbmsgYWZ0ZXIgdGhlIHRleHRcbiAgICBhLFxuICAgIGE6dmlzaXRlZCB7IHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO31cbiAgICBAaWYgJHByaW50LWhyZWZzIHtcbiAgICAgIGFbaHJlZl06YWZ0ZXIgeyBjb250ZW50OiAnICgnIGF0dHIoaHJlZikgJyknOyB9XG4gICAgfVxuXG4gICAgLy8gRG9uJ3QgZGlzcGxheSB0aGUgVVJMIGZvciBpbWFnZXMgb3IgSmF2YVNjcmlwdC9pbnRlcm5hbCBsaW5rc1xuICAgIC5pciBhOmFmdGVyLFxuICAgIGFbaHJlZl49J2phdmFzY3JpcHQ6J106YWZ0ZXIsXG4gICAgYVtocmVmXj0nIyddOmFmdGVyIHsgY29udGVudDogJyc7IH1cblxuICAgIC8vIERpc3BsYXkgd2hhdCBhbiBhYmJyZXZpYXRpb24gc3RhbmRzIGZvciBhZnRlciB0aGUgdGV4dFxuICAgIGFiYnJbdGl0bGVdOmFmdGVyIHsgY29udGVudDogJyAoJyBhdHRyKHRpdGxlKSAnKSc7IH1cblxuICAgIC8vIFByZXZlbnQgcGFnZSBicmVha3MgaW4gdGhlIG1pZGRsZSBvZiBhIGJsb2NrcXVvdGUgb3IgcHJlZm9ybWF0dGVkIHRleHQgYmxvY2tcbiAgICBwcmUsXG4gICAgYmxvY2txdW90ZSB7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAkZGFyay1ncmF5O1xuICAgICAgcGFnZS1icmVhay1pbnNpZGU6IGF2b2lkO1xuICAgIH1cblxuICAgIC8vIGg1YnAuY29tL3RcbiAgICB0aGVhZCB7IGRpc3BsYXk6IHRhYmxlLWhlYWRlci1ncm91cDsgfVxuXG4gICAgdHIsXG4gICAgaW1nIHsgcGFnZS1icmVhay1pbnNpZGU6IGF2b2lkOyB9XG5cbiAgICBpbWcgeyBtYXgtd2lkdGg6IDEwMCUgIWltcG9ydGFudDsgfVxuXG4gICAgQHBhZ2UgeyBtYXJnaW46IDAuNWNtOyB9XG5cbiAgICBwLFxuICAgIGgyLFxuICAgIGgzIHtcbiAgICAgIG9ycGhhbnM6IDM7XG4gICAgICB3aWRvd3M6IDM7XG4gICAgfVxuXG4gICAgLy8gQXZvaWQgcGFnZSBicmVha3MgYWZ0ZXIgYSBoZWFkaW5nXG4gICAgaDIsXG4gICAgaDMgeyBwYWdlLWJyZWFrLWFmdGVyOiBhdm9pZDsgfVxuXG4gICAgLy8gSGVscGVyIHRvIHJlLWFsbG93IHBhZ2UgYnJlYWtzIGluIHRoZSBtaWRkbGUgb2YgY2VydGFpbiBlbGVtZW50cyAoZS5nLiBwcmUsIGJsb2NrcXVvdGUsIHRyKVxuICAgIC5wcmludC1icmVhay1pbnNpZGUge1xuICAgICAgcGFnZS1icmVhay1pbnNpZGU6IGF1dG87XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlc1xuLy8gaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgeHktZ3JpZFxuLy8vL1xuXG4vLyBNYXJnaW4gR3JpZCBjbGFzc2VzXG5AbWl4aW4geHktYmFzZS1ncmlkLWNsYXNzZXMge1xuXG4gIC8vIEdyaWQgQ29udGFpbmVyXG4gIC5ncmlkLWNvbnRhaW5lciB7XG4gICAgQGluY2x1ZGUgeHktZ3JpZC1jb250YWluZXI7XG5cbiAgICAmLmZsdWlkIHtcbiAgICAgIEBpbmNsdWRlIHh5LWdyaWQtY29udGFpbmVyKDEwMCUpO1xuICAgIH1cblxuICAgICYuZnVsbCB7XG4gICAgICBAaW5jbHVkZSB4eS1ncmlkLWNvbnRhaW5lcigxMDAlLCAwKTtcbiAgICB9XG4gIH1cblxuICAvLyBCYXNlIGdyaWQgc3R5bGVzXG4gIC5ncmlkLXgge1xuICAgIEBpbmNsdWRlIHh5LWdyaWQ7XG4gIH1cblxuICAuY2VsbCB7XG4gICAgQGluY2x1ZGUgeHktY2VsbChmdWxsLCAkZ3V0dGVyLXR5cGU6IG5vbmUpO1xuXG4gICAgJi5hdXRvIHtcbiAgICAgIEBpbmNsdWRlIHh5LWNlbGwtYmFzZShhdXRvKTtcbiAgICB9XG5cbiAgICAmLnNocmluayB7XG4gICAgICBAaW5jbHVkZSB4eS1jZWxsLWJhc2Uoc2hyaW5rKTtcbiAgICB9XG5cbiAgfVxuICAuZ3JpZC14IHtcbiAgICA+IC5hdXRvIHtcbiAgICAgIEBpbmNsdWRlIHh5LWNlbGwtc2l6ZShhdXRvLCAkZ3V0dGVyLXR5cGU6IG5vbmUpO1xuICAgIH1cblxuICAgID4gLnNocmluayB7XG4gICAgICBAaW5jbHVkZSB4eS1jZWxsLXNpemUoc2hyaW5rLCAkZ3V0dGVyLXR5cGU6IG5vbmUpO1xuICAgIH1cbiAgfVxuXG4gIC8vIEF1dG8gd2lkdGhcbiAgQGluY2x1ZGUgLXpmLWVhY2gtYnJlYWtwb2ludCgpIHtcbiAgICAvLyBUaGlzIGlzIGEgYml0IG9mIGEgaGFjay93b3JrYXJvdW5kLCBzZWUgdGhlc2UgaXNzdWVzICYgUFJzIGZvciB0aGUgYmFja3N0b3J5OlxuICAgIC8vIGh0dHBzOi8vZ2l0aHViLmNvbS9mb3VuZGF0aW9uL2ZvdW5kYXRpb24tc2l0ZXMvaXNzdWVzLzEwMjQ0XG4gICAgLy8gaHR0cHM6Ly9naXRodWIuY29tL2ZvdW5kYXRpb24vZm91bmRhdGlvbi1zaXRlcy9wdWxsLzEwMjIyIGFuZFxuICAgIC8vIGh0dHBzOi8vZ2l0aHViLmNvbS9mb3VuZGF0aW9uL2ZvdW5kYXRpb24tc2l0ZXMvcHVsbC8xMDE2NFxuICAgIC5ncmlkLXgge1xuICAgICAgJHN0cjogXCI+IC4jeyQtemYtc2l6ZX0tc2hyaW5rLCA+IC4jeyQtemYtc2l6ZX0tZnVsbFwiO1xuICAgICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkZ3JpZC1jb2x1bW5zIHtcbiAgICAgICAgJHN0cjogJHN0ciArIFwiLCA+IC4jeyQtemYtc2l6ZX0tI3skaX1cIlxuICAgICAgfVxuICAgICAgI3skc3RyfSB7XG4gICAgICAgIGZsZXgtYmFzaXM6IGF1dG87XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgLXpmLWVhY2gtYnJlYWtwb2ludCgpIHtcbiAgICAvLyBSZXNwb25zaXZlIFwiYXV0b1wiIG1vZGlmaWVyXG4gICAgQGlmIG5vdCgkLXpmLXNpemUgPT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQpIHtcbiAgICAgIC5ncmlkLXggPiAuI3skLXpmLXNpemV9LWF1dG8ge1xuICAgICAgICBAaW5jbHVkZSB4eS1jZWxsKGF1dG8sICRndXR0ZXItdHlwZTogbm9uZSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJS14eS1jZWxsLWJhc2Utc2hyaW5rLWhvcml6b250YWwtI3skLXpmLXNpemV9IHtcbiAgICAgIEBpbmNsdWRlIHh5LWNlbGwtYmFzZShzaHJpbmspO1xuICAgIH1cblxuICAgIC8vIFJlc3BvbnNpdmUgXCJzaHJpbmtcIiBtb2RpZmllclxuICAgIEBpZiBub3QoJC16Zi1zaXplID09ICQtemYtemVyby1icmVha3BvaW50KSB7XG4gICAgICAuZ3JpZC14ID4gLiN7JC16Zi1zaXplfS1zaHJpbmsge1xuICAgICAgICBAZXh0ZW5kICUteHktY2VsbC1iYXNlLXNocmluay1ob3Jpem9udGFsLSN7JC16Zi1zaXplfTtcbiAgICAgICAgQGluY2x1ZGUgeHktY2VsbC1zaXplKHNocmluaywgJGd1dHRlci10eXBlOiBub25lKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBSZXNwb25zaXZlIHdpZHRoIG1vZGlmaWVyc1xuICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJGdyaWQtY29sdW1ucyB7XG4gICAgICAvLyBTaXppbmcgKHBlcmNlbnRhZ2UpXG4gICAgICAuZ3JpZC14ID4gLiN7JC16Zi1zaXplfS0jeyRpfSB7XG4gICAgICAgIEBleHRlbmQgJS14eS1jZWxsLWJhc2Utc2hyaW5rLWhvcml6b250YWwtI3skLXpmLXNpemV9O1xuICAgICAgICBAaW5jbHVkZSB4eS1jZWxsLXNpemUoJGksICRndXR0ZXItdHlwZTogbm9uZSk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gUmVzZXQgd2lkdGggd2hlbiB1c2luZyBgLmdyaWQtbWFyZ2luLXhgIG5vdCBvbiBgLmdyaWQteGBcbiAgLmdyaWQtbWFyZ2luLXg6bm90KC5ncmlkLXgpID4gLmNlbGwge1xuICAgIHdpZHRoOiBhdXRvO1xuICB9XG5cbiAgLy8gUmVzZXQgaGVpZ2h0IHdoZW4gdXNpbmcgYC5ncmlkLW1hcmdpbi15YCBub3Qgb24gYC5ncmlkLXlgXG4gIC5ncmlkLW1hcmdpbi15Om5vdCguZ3JpZC15KSA+IC5jZWxsIHtcbiAgICBoZWlnaHQ6IGF1dG87XG4gIH1cbn1cblxuQG1peGluIC14eS1icmVha3BvaW50LWNlbGwtY2xhc3NlcygkY2xhc3MtYnJlYWtwb2ludCwgJGd1dHRlci1icmVha3BvaW50LCAkdmVydGljYWwpIHtcbiAgJHByZWZpeDogaWYoJGNsYXNzLWJyZWFrcG9pbnQgPT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQsICcnLCAnI3skY2xhc3MtYnJlYWtwb2ludH0tJyk7XG4gID4gLiN7JHByZWZpeH1hdXRvIHtcbiAgICBAaW5jbHVkZSB4eS1jZWxsLXNpemUoYXV0bywgJHZlcnRpY2FsOiAkdmVydGljYWwpO1xuICB9XG5cbiAgPiAuI3skcHJlZml4fXNocmluayB7XG4gICAgQGluY2x1ZGUgeHktY2VsbC1zaXplKHNocmluaywgJHZlcnRpY2FsOiAkdmVydGljYWwpO1xuICB9XG5cbiAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkZ3JpZC1jb2x1bW5zIHtcbiAgICAvLyBTaXppbmcgKHBlcmNlbnRhZ2UpXG4gICAgJGNsYXNzbmFtZTogaWYoJHZlcnRpY2FsLCAnLiN7JGNsYXNzLWJyZWFrcG9pbnR9LSN7JGl9JywgJy4jeyRjbGFzcy1icmVha3BvaW50fS0jeyRpfScpO1xuXG4gICAgPiAjeyRjbGFzc25hbWV9IHtcbiAgICAgIEBpbmNsdWRlIHh5LWNlbGwtc2l6ZSgkaSwgJHZlcnRpY2FsOiAkdmVydGljYWwpO1xuICAgIH1cbiAgfVxufVxuXG4vLyBNYXJnaW4gR3JpZCBjbGFzc2VzXG5AbWl4aW4geHktbWFyZ2luLWdyaWQtY2xhc3NlcyhcbiAgJGd1dHRlci1wb3NpdGlvbjogbGVmdCByaWdodCxcbiAgJHZlcnRpY2FsOiBmYWxzZSxcbiAgJHdyYXBwaW5nLXNlbGVjdG9yOiAnLmdyaWQtbWFyZ2luLXgnXG4pe1xuICAjeyR3cmFwcGluZy1zZWxlY3Rvcn0ge1xuICAgIEBpbmNsdWRlIHh5LWd1dHRlcnMoJG5lZ2F0aXZlOiB0cnVlLCAkZ3V0dGVyLXBvc2l0aW9uOiAkZ3V0dGVyLXBvc2l0aW9uKTtcblxuICAgIC8vIEJhc2UgY2VsbCBzdHlsZXNcbiAgICA+IC5jZWxsIHtcbiAgICAgIEBpbmNsdWRlIHh5LWNlbGwoJHZlcnRpY2FsOiAkdmVydGljYWwsICRvdXRwdXQ6IChzaXplIGd1dHRlcnMpKTtcbiAgICB9XG5cbiAgICAvLyBiYXNlIHN0eWxlcyBuZWVkIHRvIGFsbCBiZSBiZWZvcmUgdGhlIGF1dG8gYW5kIHNocmluayBzdHlsZXNcbiAgICBAaW5jbHVkZSAtemYtZWFjaC1icmVha3BvaW50KCkge1xuICAgICAgQGlmKHR5cGUtb2YoJGdyaWQtbWFyZ2luLWd1dHRlcnMpID09ICdtYXAnIGFuZCBtYXAtaGFzLWtleSgkZ3JpZC1tYXJnaW4tZ3V0dGVycywgJC16Zi1zaXplKSBhbmQgJC16Zi1zaXplICE9ICQtemYtemVyby1icmVha3BvaW50KSB7XG4gICAgICAgID4gLmNlbGwge1xuICAgICAgICAgIEBpbmNsdWRlIHh5LWNlbGwoJHZlcnRpY2FsOiAkdmVydGljYWwsICRvdXRwdXQ6IChzaXplIGd1dHRlcnMpKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIEBpbmNsdWRlIC16Zi1lYWNoLWJyZWFrcG9pbnQoKSB7XG5cbiAgICAgIC8vIFRoaXMgaXMgcHVyZWx5IGZvciByZXNwb25zaXZlIGd1dHRlcnMgLSB0aGUgbWFyZ2luIGdyaWQgaGFzIHRvIGdvIGJhY2sgYW5kIGFkanVzdCB3aWR0aHMgKG9yIGhlaWdodHMpXG4gICAgICAvLyBmb3IgYWxsIHByaW9yIGJyZWFrcG9pbnRzLlxuICAgICAgLy8gQXMgdGhlaXIgZ3V0dGVyIGlzIGRlZmluZWQgd2l0aCB0aGVpciB3aWR0aC9oZWlnaHQsIGV2ZW4gYnJlYWtwb2ludCB3aXRob3V0IGEgbmV3IG1hcmdpbiBtdXN0IGJlXG4gICAgICAvLyBnZW5lcmF0ZWQgdG8gbm90IGhhdmluZyB0aGVpciB3aWR0aC9oZWlnaHQgb3ZlcnJpZGVkIGJ5IHJlLWFkanVzdGVkIHNtYWxsZXIgYnJlYWtwb2ludHMuXG4gICAgICBAaWYodHlwZS1vZigkZ3JpZC1tYXJnaW4tZ3V0dGVycykgPT0gJ21hcCcgYW5kIG1hcC1oYXMta2V5KCRncmlkLW1hcmdpbi1ndXR0ZXJzLCAkLXpmLXNpemUpKSB7XG4gICAgICAgIEBlYWNoICRicCBpbiAtemYtYnJlYWtwb2ludHMtbGVzcy10aGFuKCQtemYtc2l6ZSkge1xuICAgICAgICAgIEBpbmNsdWRlIC14eS1icmVha3BvaW50LWNlbGwtY2xhc3NlcygkYnAsICQtemYtc2l6ZSwgJHZlcnRpY2FsKTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBAaW5jbHVkZSAteHktYnJlYWtwb2ludC1jZWxsLWNsYXNzZXMoJC16Zi1zaXplLCAkLXpmLXNpemUsICR2ZXJ0aWNhbCk7XG4gICAgfVxuICB9XG59XG5cbi8vIFBhZGRpbmcgR3JpZCBjbGFzc2VzXG5AbWl4aW4geHktcGFkZGluZy1ncmlkLWNsYXNzZXMge1xuICAuZ3JpZC1wYWRkaW5nLXgge1xuXG4gICAgLy8gTmVnYXRpdmUgbWFyZ2luIGZvciBuZXN0ZWQgZ3JpZHNcbiAgICAuZ3JpZC1wYWRkaW5nLXgge1xuICAgICAgQGluY2x1ZGUgeHktZ3V0dGVycygkbmVnYXRpdmU6IHRydWUpO1xuICAgIH1cblxuICAgIC8vIE5lZ2F0aXZlIG1hcmdpbiBmb3IgZ3JpZHMgd2l0aGluIGBncmlkLWNvbnRhaW5lci9ncmlkLWNvbnRhaW5lci5mbHVpZGBcbiAgICAvLyBUaGlzIGFsbG93cyBtYXJnaW4gYW5kIHBhZGRpbmcgZ3JpZHMgdG8gbGluZSB1cCB3aXRoIGVhY2hvdGhlclxuICAgIC5ncmlkLWNvbnRhaW5lcjpub3QoLmZ1bGwpID4gJiB7XG4gICAgICBAaW5jbHVkZSB4eS1ndXR0ZXJzKCRuZWdhdGl2ZTogdHJ1ZSk7XG4gICAgfVxuXG4gICAgLy8gQmFzZSBjZWxsIHN0eWxlc1xuICAgID4gLmNlbGwge1xuICAgICAgQGluY2x1ZGUgeHktZ3V0dGVycygkZ3V0dGVyczogJGdyaWQtcGFkZGluZy1ndXR0ZXJzLCAkZ3V0dGVyLXR5cGU6IHBhZGRpbmcpO1xuICAgIH1cbiAgfVxufVxuXG4vLyBCbG9jayBHcmlkIGNsYXNzZXNcbkBtaXhpbiB4eS1ibG9jay1ncmlkLWNsYXNzZXMoJG1hcmdpbi1ncmlkOiB0cnVlLCAkcGFkZGluZy1ncmlkOiB0cnVlKSB7XG4gIEBpZiAkcGFkZGluZy1ncmlkIHtcbiAgICBAaW5jbHVkZSAtemYtZWFjaC1icmVha3BvaW50IHtcbiAgICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJHh5LWJsb2NrLWdyaWQtbWF4IHtcbiAgICAgICAgLiN7JC16Zi1zaXplfS11cC0jeyRpfSB7XG4gICAgICAgICAgQGluY2x1ZGUgeHktZ3JpZC1sYXlvdXQoJG46ICRpLCAkc2VsZWN0b3I6ICcuY2VsbCcsICRndXR0ZXItdHlwZTogcGFkZGluZywgJG91dHB1dDogKHNpemUpKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIEBpZiAkbWFyZ2luLWdyaWQge1xuICAgIEBpbmNsdWRlIC16Zi1lYWNoLWJyZWFrcG9pbnQge1xuICAgICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkeHktYmxvY2stZ3JpZC1tYXgge1xuICAgICAgICAvLyBUaGlzIGlzIHB1cmVseSBmb3IgcmVzcG9uc2l2ZSBndXR0ZXJzIC0gdGhlIG1hcmdpbiBncmlkIGhhcyB0byBnbyBiYWNrIGFuZCBhZGp1c3Qgd2lkdGhzIChvciBoZWlnaHRzKVxuICAgICAgICAvLyBmb3IgcHJpb3IgYnJlYWtwb2ludHMgYmFzZWQgb24gdGhlIHJlc3BvbnNpdmUgZ3V0dGVyLlxuICAgICAgICBAaWYodHlwZS1vZigkZ3JpZC1tYXJnaW4tZ3V0dGVycykgPT0gJ21hcCcgYW5kIG1hcC1oYXMta2V5KCRncmlkLW1hcmdpbi1ndXR0ZXJzLCAkLXpmLXNpemUpKSB7XG4gICAgICAgICAgQGVhY2ggJGJwIGluIC16Zi1icmVha3BvaW50cy1sZXNzLXRoYW4oJC16Zi1zaXplKSB7XG4gICAgICAgICAgICBAaWYobWFwLWhhcy1rZXkoJGdyaWQtbWFyZ2luLWd1dHRlcnMsICRicCkpIHtcbiAgICAgICAgICAgICAgLmdyaWQtbWFyZ2luLXguI3skYnB9LXVwLSN7JGl9IHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSB4eS1ncmlkLWxheW91dCgkbjogJGksICRzZWxlY3RvcjogJy5jZWxsJywgJGd1dHRlci10eXBlOiBtYXJnaW4sICRvdXRwdXQ6IChzaXplKSk7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJHh5LWJsb2NrLWdyaWQtbWF4IHtcbiAgICAgICAgLmdyaWQtbWFyZ2luLXguI3skLXpmLXNpemV9LXVwLSN7JGl9IHtcbiAgICAgICAgICBAaW5jbHVkZSB4eS1ncmlkLWxheW91dCgkbjogJGksICRzZWxlY3RvcjogJy5jZWxsJywgJGd1dHRlci10eXBlOiBtYXJnaW4sICRvdXRwdXQ6IChzaXplKSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8gQ29sbGFwc2UgY2xhc3Nlc1xuQG1peGluIHh5LWNvbGxhcHNlLWdyaWQtY2xhc3NlcygkbWFyZ2luLWdyaWQ6IHRydWUsICRwYWRkaW5nLWdyaWQ6IHRydWUpIHtcbiAgQGVhY2ggJGJwIGluICRicmVha3BvaW50LWNsYXNzZXMge1xuICAgIEBpZiAkbWFyZ2luLWdyaWQge1xuICAgICAgLiN7JGJwfS1tYXJnaW4tY29sbGFwc2Uge1xuICAgICAgICBAaW5jbHVkZSB4eS1ncmlkLWNvbGxhcHNlKCRndXR0ZXItdHlwZTogbWFyZ2luLCAkbWluLWJyZWFrcG9pbnQ6ICRicCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgQGlmICRwYWRkaW5nLWdyaWQge1xuICAgICAgLiN7JGJwfS1wYWRkaW5nLWNvbGxhcHNlIHtcbiAgICAgICAgQGluY2x1ZGUgeHktZ3JpZC1jb2xsYXBzZSgkZ3V0dGVyLXR5cGU6IHBhZGRpbmcsICRtaW4tYnJlYWtwb2ludDogJGJwKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8gT2Zmc2V0IGNsYXNzZXNcbkBtaXhpbiB4eS1vZmZzZXQtY2VsbC1jbGFzc2VzIHtcbiAgQGluY2x1ZGUgLXpmLWVhY2gtYnJlYWtwb2ludCB7XG4gICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkZ3JpZC1jb2x1bW5zIHtcbiAgICAgIC8vIE9mZnNldHNcbiAgICAgICRvOiAkaSAtIDE7XG5cbiAgICAgIC4jeyQtemYtc2l6ZX0tb2Zmc2V0LSN7JG99IHtcbiAgICAgICAgQGluY2x1ZGUgeHktY2VsbC1vZmZzZXQoJG8sICRndXR0ZXJzOiAkZ3JpZC1wYWRkaW5nLWd1dHRlcnMsICRndXR0ZXItdHlwZTogcGFkZGluZyk7XG4gICAgICB9XG5cbiAgICAgIC5ncmlkLW1hcmdpbi14ID4gLiN7JC16Zi1zaXplfS1vZmZzZXQtI3skb30ge1xuICAgICAgICBAaW5jbHVkZSB4eS1jZWxsLW9mZnNldCgkbyk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vIFZlcnRpY2FsIEdyaWQgY2xhc3Nlc1xuQG1peGluIHh5LXZlcnRpY2FsLWdyaWQtY2xhc3NlcyhcbiAgJG1hcmdpbi1ncmlkOiB0cnVlLFxuICAkcGFkZGluZy1ncmlkOiB0cnVlXG4pIHtcblxuICBAaW5jbHVkZSAtemYtZWFjaC1icmVha3BvaW50KCkge1xuICAgIEBpZiBub3QoJC16Zi1zaXplID09ICQtemYtemVyby1icmVha3BvaW50KSB7XG4gICAgfVxuICB9XG5cbiAgLmdyaWQteSB7XG4gICAgQGluY2x1ZGUgeHktZ3JpZCh2ZXJ0aWNhbCwgZmFsc2UpO1xuXG5cbiAgICA+IC5jZWxsIHtcbiAgICAgIEBpbmNsdWRlIHh5LWNlbGwtcmVzZXQoKTtcbiAgICB9XG5cbiAgICA+IC5hdXRvIHtcbiAgICAgIEBpbmNsdWRlIHh5LWNlbGwtc2l6ZShhdXRvLCAkZ3V0dGVyLXR5cGU6IG5vbmUsICR2ZXJ0aWNhbDogdHJ1ZSk7XG4gICAgfVxuXG4gICAgPiAuc2hyaW5rIHtcbiAgICAgIEBpbmNsdWRlIHh5LWNlbGwtc2l6ZShzaHJpbmssICRndXR0ZXItdHlwZTogbm9uZSwgJHZlcnRpY2FsOiB0cnVlKTtcbiAgICB9XG5cblxuICAgIEBpbmNsdWRlIC16Zi1lYWNoLWJyZWFrcG9pbnQoKSB7XG4gICAgICAvLyBUaGlzIGlzIGEgYml0IG9mIGEgaGFjay93b3JrYXJvdW5kLCBzZWUgdGhlc2UgaXNzdWVzIGFuZCBQUnMgZm9yIHRoZSBiYWNrc3Rvcnk6XG4gICAgICAvLyBodHRwczovL2dpdGh1Yi5jb20vZm91bmRhdGlvbi9mb3VuZGF0aW9uLXNpdGVzL2lzc3Vlcy8xMDI0NFxuICAgICAgLy8gaHR0cHM6Ly9naXRodWIuY29tL2ZvdW5kYXRpb24vZm91bmRhdGlvbi1zaXRlcy9wdWxsLzEwMjIyIGFuZFxuICAgICAgLy8gaHR0cHM6Ly9naXRodWIuY29tL2ZvdW5kYXRpb24vZm91bmRhdGlvbi1zaXRlcy9wdWxsLzEwMTY0XG4gICAgICAkc3RyOiBcIj4gLiN7JC16Zi1zaXplfS1zaHJpbmssID4gLiN7JC16Zi1zaXplfS1mdWxsXCI7XG4gICAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICRncmlkLWNvbHVtbnMge1xuICAgICAgICAkc3RyOiAkc3RyICsgXCIsID4gLiN7JC16Zi1zaXplfS0jeyRpfVwiXG4gICAgICB9XG4gICAgICAjeyRzdHJ9IHtcbiAgICAgICAgZmxleC1iYXNpczogYXV0bztcbiAgICAgIH1cbiAgICB9XG5cbiAgICBAaW5jbHVkZSAtemYtZWFjaC1icmVha3BvaW50KCkge1xuICAgICAgLy8gUmVzcG9uc2l2ZSBcImF1dG9cIiBtb2RpZmllclxuICAgICAgQGlmIG5vdCgkLXpmLXNpemUgPT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQpIHtcbiAgICAgICAgPiAuI3skLXpmLXNpemV9LWF1dG8ge1xuICAgICAgICAgIEBpbmNsdWRlIHh5LWNlbGwoYXV0bywgJGd1dHRlci10eXBlOiBub25lLCAkdmVydGljYWw6IHRydWUpO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgICUteHktY2VsbC1iYXNlLXNocmluay12ZXJ0aWNhbC0jeyQtemYtc2l6ZX0ge1xuICAgICAgICBAaW5jbHVkZSB4eS1jZWxsLWJhc2Uoc2hyaW5rKTtcbiAgICAgIH1cblxuICAgICAgLy8gUmVzcG9uc2l2ZSBcInNocmlua1wiIG1vZGlmaWVyXG4gICAgICBAaWYgbm90KCQtemYtc2l6ZSA9PSAkLXpmLXplcm8tYnJlYWtwb2ludCkge1xuICAgICAgICA+IC4jeyQtemYtc2l6ZX0tc2hyaW5rIHtcbiAgICAgICAgICBAZXh0ZW5kICUteHktY2VsbC1iYXNlLXNocmluay12ZXJ0aWNhbC0jeyQtemYtc2l6ZX07XG4gICAgICAgICAgQGluY2x1ZGUgeHktY2VsbC1zaXplKHNocmluaywgJGd1dHRlci10eXBlOiBub25lLCAkdmVydGljYWw6IHRydWUpO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC8vIFJlc3BvbnNpdmUgd2lkdGggbW9kaWZpZXJzXG4gICAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICRncmlkLWNvbHVtbnMge1xuICAgICAgICAvLyBTaXppbmcgKHBlcmNlbnRhZ2UpXG4gICAgICAgID4gLiN7JC16Zi1zaXplfS0jeyRpfSB7XG4gICAgICAgICAgQGV4dGVuZCAlLXh5LWNlbGwtYmFzZS1zaHJpbmstdmVydGljYWwtI3skLXpmLXNpemV9O1xuICAgICAgICAgIEBpbmNsdWRlIHh5LWNlbGwtc2l6ZSgkaSwgJGd1dHRlci10eXBlOiBub25lLCAkdmVydGljYWw6IHRydWUpO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICB9XG4gIH1cblxuICBAaWYgJHBhZGRpbmctZ3JpZCB7XG4gICAgLmdyaWQtcGFkZGluZy15IHtcbiAgICAgIC8vIE5lZ2F0aXZlIG1hcmdpbiBmb3IgbmVzdGVkIGdyaWRzXG4gICAgICAuZ3JpZC1wYWRkaW5nLXkge1xuICAgICAgICBAaW5jbHVkZSB4eS1ndXR0ZXJzKCRuZWdhdGl2ZTogdHJ1ZSwgJGd1dHRlci1wb3NpdGlvbjogdG9wIGJvdHRvbSk7XG4gICAgICB9XG5cbiAgICAgIC8vIEJhc2UgY2VsbCBzdHlsZXNcbiAgICAgID4gLmNlbGwge1xuICAgICAgICBAaW5jbHVkZSB4eS1ndXR0ZXJzKCRndXR0ZXJzOiAkZ3JpZC1wYWRkaW5nLWd1dHRlcnMsICRndXR0ZXItdHlwZTogcGFkZGluZywgJGd1dHRlci1wb3NpdGlvbjogdG9wIGJvdHRvbSk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgQGlmICRtYXJnaW4tZ3JpZCB7XG4gICAgQGluY2x1ZGUgeHktbWFyZ2luLWdyaWQtY2xhc3Nlcyh0b3AgYm90dG9tLCB0cnVlLCAnLmdyaWQtbWFyZ2luLXknKTtcbiAgfVxuXG59XG5cbkBtaXhpbiB4eS1mcmFtZS1ncmlkLWNsYXNzZXMoJHZlcnRpY2FsLWdyaWQ6IHRydWUsICRtYXJnaW4tZ3JpZDogdHJ1ZSkge1xuICAvLyBGcmFtZWQgZ3JpZCBzdHlsZXNcbiAgLmdyaWQtZnJhbWUge1xuICAgIEBpbmNsdWRlIHh5LWdyaWQtZnJhbWU7XG4gIH1cblxuICAuY2VsbCAuZ3JpZC1mcmFtZSB7XG4gICAgd2lkdGg6IDEwMCU7IC8vIFNhbWUgYXMgaW5jbHVkZSB3aXRoICRuZXN0ZWQsIGJ1dCB3aXRoIGxlc3MgY3NzXG4gIH1cblxuICAuY2VsbC1ibG9jayB7XG4gICAgQGluY2x1ZGUgeHktY2VsbC1ibG9jaygpO1xuICB9XG5cbiAgLmNlbGwtYmxvY2steSB7XG4gICAgQGluY2x1ZGUgeHktY2VsbC1ibG9jayh0cnVlKTtcbiAgfVxuXG5cbiAgLmNlbGwtYmxvY2stY29udGFpbmVyIHtcbiAgICBAaW5jbHVkZSB4eS1jZWxsLWJsb2NrLWNvbnRhaW5lcigpO1xuICB9XG5cblxuICBAaW5jbHVkZSAtemYtZWFjaC1icmVha3BvaW50KGZhbHNlKSB7XG5cbiAgICAuI3skLXpmLXNpemV9LWdyaWQtZnJhbWUge1xuICAgICAgQGluY2x1ZGUgeHktZ3JpZC1mcmFtZTtcbiAgICB9XG5cbiAgICAuY2VsbCAuI3skLXpmLXNpemV9LWdyaWQtZnJhbWUge1xuICAgICAgd2lkdGg6IDEwMCU7IC8vIFNhbWUgYXMgaW5jbHVkZSB3aXRoICRuZXN0ZWQsIGJ1dCB3aXRoIGxlc3MgY3NzXG4gICAgfVxuXG4gICAgLiN7JC16Zi1zaXplfS1jZWxsLWJsb2NrIHtcbiAgICAgIEBpbmNsdWRlIHh5LWNlbGwtYmxvY2soKTtcbiAgICB9XG5cbiAgICAuI3skLXpmLXNpemV9LWNlbGwtYmxvY2stY29udGFpbmVyIHtcbiAgICAgIEBpbmNsdWRlIHh5LWNlbGwtYmxvY2stY29udGFpbmVyKCk7XG4gICAgfVxuXG4gICAgLiN7JC16Zi1zaXplfS1jZWxsLWJsb2NrLXkge1xuICAgICAgQGluY2x1ZGUgeHktY2VsbC1ibG9jayh0cnVlKTtcbiAgICB9XG4gIH1cblxuICBAaWYgJHZlcnRpY2FsLWdyaWQge1xuICAgIC5ncmlkLXkge1xuICAgICAgJi5ncmlkLWZyYW1lIHtcbiAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgIEBpbmNsdWRlIHh5LWdyaWQtZnJhbWUodHJ1ZSk7XG4gICAgICB9XG5cbiAgICAgIEBpbmNsdWRlIC16Zi1lYWNoLWJyZWFrcG9pbnQoZmFsc2UpIHtcbiAgICAgICAgJi4jeyQtemYtc2l6ZX0tZ3JpZC1mcmFtZSB7XG4gICAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgICAgQGluY2x1ZGUgeHktZ3JpZC1mcmFtZSh0cnVlKTtcbiAgICAgICAgfVxuXG4gICAgICB9XG4gICAgfVxuICAgIC5jZWxsIHtcbiAgICAgIC5ncmlkLXkuZ3JpZC1mcmFtZSB7XG4gICAgICAgIGhlaWdodDogMTAwJTsgLy8gU2FtZSBhcyBpbmNsdWRlIHdpdGggJG5lc3RlZCwgYnV0IHdpdGggbGVzcyBjc3NcbiAgICAgIH1cbiAgICAgIEBpbmNsdWRlIC16Zi1lYWNoLWJyZWFrcG9pbnQoZmFsc2UpIHtcbiAgICAgICAgLmdyaWQteS4jeyQtemYtc2l6ZX0tZ3JpZC1mcmFtZSB7XG4gICAgICAgICAgaGVpZ2h0OiAxMDAlOyAvLyBTYW1lIGFzIGluY2x1ZGUgd2l0aCAkbmVzdGVkLCBidXQgd2l0aCBsZXNzIGNzc1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEBpZiAkbWFyZ2luLWdyaWQge1xuICAgIEBpbmNsdWRlIHh5LW1hcmdpbi1ncmlkLWNsYXNzZXModG9wIGJvdHRvbSwgdHJ1ZSwgJy5ncmlkLW1hcmdpbi15Jyk7XG4gICAgLmdyaWQtZnJhbWUuZ3JpZC1tYXJnaW4teSB7XG4gICAgICBAaW5jbHVkZSB4eS1ncmlkLWZyYW1lKHRydWUsIGZhbHNlLCAkZ3JpZC1tYXJnaW4tZ3V0dGVycywgJGluY2x1ZGUtYmFzZTogZmFsc2UpO1xuICAgIH1cbiAgICBAaW5jbHVkZSAtemYtZWFjaC1icmVha3BvaW50KGZhbHNlKSB7XG4gICAgICAuZ3JpZC1tYXJnaW4teS4jeyQtemYtc2l6ZX0tZ3JpZC1mcmFtZSB7XG4gICAgICAgIEBpbmNsdWRlIHh5LWdyaWQtZnJhbWUodHJ1ZSwgZmFsc2UsICRncmlkLW1hcmdpbi1ndXR0ZXJzLCAkLXpmLXNpemUsIGZhbHNlKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8gRmluYWwgY2xhc3Nlc1xuQG1peGluIGZvdW5kYXRpb24teHktZ3JpZC1jbGFzc2VzKFxuICAkYmFzZS1ncmlkOiB0cnVlLFxuICAkbWFyZ2luLWdyaWQ6IHRydWUsXG4gICRwYWRkaW5nLWdyaWQ6IHRydWUsXG4gICRibG9jay1ncmlkOiB0cnVlLFxuICAkY29sbGFwc2U6IHRydWUsXG4gICRvZmZzZXQ6IHRydWUsXG4gICR2ZXJ0aWNhbC1ncmlkOiB0cnVlLFxuICAkZnJhbWUtZ3JpZDogdHJ1ZVxuKSB7XG5cbiAgLy8gQmFzZSBncmlkIHN0eWxlc1xuICBAaWYoJGJhc2UtZ3JpZCkge1xuICAgIEBpbmNsdWRlIHh5LWJhc2UtZ3JpZC1jbGFzc2VzKCk7XG4gIH1cblxuICAvLyBNYXJnaW4gZ3JpZFxuICBAaWYoJG1hcmdpbi1ncmlkKSB7XG4gICAgQGluY2x1ZGUgeHktbWFyZ2luLWdyaWQtY2xhc3NlcygpO1xuICB9XG5cbiAgLy8gUGFkZGluZyBncmlkXG4gIEBpZigkcGFkZGluZy1ncmlkKSB7XG4gICAgQGluY2x1ZGUgeHktcGFkZGluZy1ncmlkLWNsYXNzZXMoKTtcbiAgfVxuXG4gIC8vIEJsb2NrIGdyaWRcbiAgQGlmKCRibG9jay1ncmlkKSB7XG4gICAgQGluY2x1ZGUgeHktYmxvY2stZ3JpZC1jbGFzc2VzKCRtYXJnaW4tZ3JpZCwgJHBhZGRpbmctZ3JpZCk7XG4gIH1cblxuICAvLyBDb2xsYXBzZSBndXR0ZXJzXG4gIEBpZigkY29sbGFwc2UpIHtcbiAgICBAaW5jbHVkZSB4eS1jb2xsYXBzZS1ncmlkLWNsYXNzZXMoJG1hcmdpbi1ncmlkLCAkcGFkZGluZy1ncmlkKTtcbiAgfVxuXG4gIC8vIE9mZnNldCBndXR0ZXJzXG4gIEBpZigkb2Zmc2V0KSB7XG4gICAgQGluY2x1ZGUgeHktb2Zmc2V0LWNlbGwtY2xhc3NlcygpO1xuICB9XG5cbiAgLy8gVmVydGljYWwgZ3JpZFxuICBAaWYoJHZlcnRpY2FsLWdyaWQpIHtcbiAgICBAaW5jbHVkZSB4eS12ZXJ0aWNhbC1ncmlkLWNsYXNzZXMoJG1hcmdpbi1ncmlkLCAkcGFkZGluZy1ncmlkKTtcbiAgfVxuXG4gIEBpZiAoJGZyYW1lLWdyaWQpIHtcbiAgICBAaW5jbHVkZSB4eS1mcmFtZS1ncmlkLWNsYXNzZXMoJHZlcnRpY2FsLWdyaWQsICRtYXJnaW4tZ3JpZClcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHh5LWdyaWRcbi8vLy9cblxuLy8vIENyZWF0ZSBndXR0ZXJzIGZvciBhIGNlbGwvY29udGFpbmVyLlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TWFwfSAkZ3V0dGVycyBbJGdyaWQtbWFyZ2luLWd1dHRlcnNdIC0gTWFwIG9yIHNpbmdsZSB2YWx1ZSBmb3IgZ3V0dGVycy5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRndXR0ZXItdHlwZSBbbWFyZ2luXSAtIFR5cGUgb2YgZ3V0dGVyIHRvIG91dHB1dC4gQWNjZXB0cyBlaXRoZXIgbWFyZ2luIG9yIHBhZGRpbmcuXG4vLy8gQHBhcmFtIHtMaXN0fSAkZ3V0dGVyLXBvc2l0aW9uIFtyaWdodCBsZWZ0XSAtIFRoZSBwb3NpdGlvbiB0byBhcHBseSBndXR0ZXJzIHRvLiBBY2NlcHRzIGB0b3BgLCBgYm90dG9tYCwgYGxlZnRgLCBgcmlnaHRgIGluIGFueSBjb21iaW5hdGlvbi5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRuZWdhdGl2ZSBbZmFsc2VdIC0gV2hldGhlciB0byBhcHBseSB0aGUgZ3V0dGVyIGFzIGEgbmVnYXRpdmUgdmFsdWUuIENvbW1vbmx5IHVzZWQgZm9yIG5lc3RlZCBncmlkcy5cbkBtaXhpbiB4eS1ndXR0ZXJzKFxuICAkZ3V0dGVyczogJGdyaWQtbWFyZ2luLWd1dHRlcnMsXG4gICRndXR0ZXItdHlwZTogbWFyZ2luLFxuICAkZ3V0dGVyLXBvc2l0aW9uOiByaWdodCBsZWZ0LFxuICAkbmVnYXRpdmU6IGZhbHNlXG4pIHtcbiAgJG9wZXJhdG9yOiBpZigkbmVnYXRpdmUsICctJywgJycpO1xuXG4gIC8vIElmIHdlIGhhdmUgZGVjbGFyZWQgbmVnYXRpdmUgZ3V0dGVycywgZm9yY2UgdHlwZSB0byBgbWFyZ2luLlxuICAkZ3V0dGVyLXR5cGU6IGlmKCRuZWdhdGl2ZSwgJ21hcmdpbicsICRndXR0ZXItdHlwZSk7XG5cbiAgLy8gT3V0cHV0IG91ciBtYXJnaW4gZ3V0dGVycy5cbiAgQGlmICh0eXBlLW9mKCRndXR0ZXJzKSA9PSAnbWFwJykge1xuICAgIEBpbmNsdWRlIC16Zi1icmVha3BvaW50LXZhbHVlKGF1dG8sICRndXR0ZXJzKSB7XG4gICAgICAkZ3V0dGVyOiByZW0tY2FsYygkLXpmLWJwLXZhbHVlKSAvIDI7XG5cbiAgICAgIC8vIExvb3AgdGhyb3VnaCBlYWNoIGd1dHRlciBwb3NpdGlvblxuICAgICAgQGVhY2ggJHZhbHVlIGluICRndXR0ZXItcG9zaXRpb24ge1xuICAgICAgICAjeyRndXR0ZXItdHlwZX0tI3skdmFsdWV9OiB1bnF1b3RlKFwiI3skb3BlcmF0b3J9I3skZ3V0dGVyfVwiKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQGVsc2UgaWYgKHR5cGUtb2YoJGd1dHRlcnMpID09ICdudW1iZXInKSB7XG4gICAgJGd1dHRlcjogcmVtLWNhbGMoJGd1dHRlcnMpIC8gMjtcblxuICAgIC8vIExvb3AgdGhyb3VnaCBlYWNoIGd1dHRlciBwb3NpdGlvblxuICAgIEBlYWNoICR2YWx1ZSBpbiAkZ3V0dGVyLXBvc2l0aW9uIHtcbiAgICAgICN7JGd1dHRlci10eXBlfS0jeyR2YWx1ZX06IHVucXVvdGUoXCIjeyRvcGVyYXRvcn0jeyRndXR0ZXJ9XCIpO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHh5LWdyaWRcbi8vLy9cblxuLy8vIENyZWF0ZXMgYSBtYXggd2lkdGggY29udGFpbmVyLCBkZXNpZ25lZCB0byBob3VzZSB5b3VyIGdyaWQgY29udGVudC5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkd2lkdGggWyRncmlkLWNvbnRhaW5lcl0gLSBhIHdpZHRoIHRvIGxpbWl0IHRoZSBjb250YWluZXIgdG8uXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRwYWRkaW5nIFskZ3JpZC1jb250YWluZXItcGFkZGluZ10gLSBwYWRkaW5ncyBvZiB0aGUgY29udGFpbmVyLlxuQG1peGluIHh5LWdyaWQtY29udGFpbmVyKFxuICAkd2lkdGg6ICRncmlkLWNvbnRhaW5lcixcbiAgJHBhZGRpbmc6ICRncmlkLWNvbnRhaW5lci1wYWRkaW5nXG4pIHtcbiAgQGluY2x1ZGUgeHktZ3V0dGVycygkZ3V0dGVyczogJHBhZGRpbmcsICRndXR0ZXItdHlwZTogcGFkZGluZyk7XG5cbiAgbWF4LXdpZHRoOiAkd2lkdGg7XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87XG59XG5cbi8vLyBDcmVhdGVzIGEgY29udGFpbmVyIGZvciB5b3VyIGZsZXggY2VsbHMuXG4vLy9cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRkaXJlY3Rpb24gW2hvcml6b250YWxdIC0gRWl0aGVyIGhvcml6b250YWwgb3IgdmVydGljYWwgZGlyZWN0aW9uIG9mIGNlbGxzIHdpdGhpbi5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICR3cmFwIFt0cnVlXSAtIElmIHRoZSBjZWxscyB3aXRoaW4gc2hvdWxkIHdyYXAgb3Igbm90LlxuQG1peGluIHh5LWdyaWQoXG4gICRkaXJlY3Rpb246IGhvcml6b250YWwsXG4gICR3cmFwOiB0cnVlXG4pIHtcbiAgJGRpcmVjdGlvbjogaWYoJGRpcmVjdGlvbiA9PSAnaG9yaXpvbnRhbCcsIHJvdywgY29sdW1uKTtcbiAgJHdyYXA6IGlmKCR3cmFwLCB3cmFwLCBub3dyYXApO1xuXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZmxvdzogJGRpcmVjdGlvbiAkd3JhcDtcbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCB4eS1ncmlkXG4vLy8vXG5cbi8vLyBSZXR1cm5zIHRoZSBhcHByb3ByaWF0ZSBDU1MgZmxleCB2YWx1ZSBmb3IgYSBjZWxsIGJhc2UuXG4vLy9cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRzaXplIFtmdWxsXSAtIFRoZSBzaXplIG9mIHlvdXIgY2VsbC4gQWNjZXB0cyBgZnVsbGAsIGBhdXRvYCwgYHNocmlua2AsIGBncm93YCwgb3IgYW55IG90aGVyIHZhbHVlIHJlcHJlc2VudGluZyBhIGNlbGwgc2l6ZSAoaXQgd2lsbCBiZSB0cmVhdGVkIGFzIGBzaHJpbmtgKS5cbi8vL1xuLy8vIEByZXR1cm5zIHtMaXN0fSBUaGUgY2VsbCBmbGV4IHByb3BlcnR5IHZhbHVlLlxuQGZ1bmN0aW9uIHh5LWNlbGwtYmFzZSgkc2l6ZTogZnVsbCkge1xuICBAaWYgKCRzaXplID09ICdhdXRvJykge1xuICAgIEByZXR1cm4gMSAxIDBweDtcbiAgfVxuICBAZWxzZSBpZiAoJHNpemUgPT0gJ2dyb3cnKSB7XG4gICAgQHJldHVybiAxIDAgYXV0bztcbiAgfVxuICBAZWxzZSBpZiAoJHNpemUgPT0gJ3Nocmluaycgb3IgJHNpemUgPT0gJ2Z1bGwnIG9yIHpmLWlzLWZyYWN0aW9uKCRzaXplLCAkYWxsb3ctbm8tZGVub21pbmF0b3I6IHRydWUpKSB7XG4gICAgQHJldHVybiAwIDAgYXV0bztcbiAgfVxuICBAcmV0dXJuIG51bGw7XG59XG5cbi8vLyBDYWxjdWxhdGUgdGhlIHNpemUgb2YgYSBjZWxsIGd1dHRlcnMuXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcnxNYXB9ICRndXR0ZXJzIFskZ3JpZC1tYXJnaW4tZ3V0dGVyc10gLSBNYXAgb3Igc2luZ2xlIHZhbHVlIGZvciBndXR0ZXJzLlxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkYnJlYWtwb2ludCBbbnVsbF0gLSBUaGUgbmFtZSBvZiB0aGUgYnJlYWtwb2ludCBzaXplIGluIHlvdXIgZ3V0dGVycyBtYXAgdG8gZ2V0IHRoZSBzaXplIGZyb20uIElmIGBhdXRvYCwgcmV0dXJucyB0aGUgcmVzcG9uc2l2ZSBndXR0ZXJzIG1hcCBgJGd1dHRlcnNgLiBJZiB1c2luZyB3aXRoIHRoZSBgYnJlYWtwb2ludCgpYCBtaXhpbiB0aGlzIHdpbGwgYmUgc2V0IGF1dG9tYXRpY2FsbHkgdW5sZXNzIG1hbnVhbGx5IGVudGVyZWQuXG4vLy9cbi8vLyBAcmV0dXJucyB7TnVtYmVyfE1hcH0gVGhlIGNlbGwgZ3V0dGVyIHNpemUgb3IgdGhlIHJlc3BvbnNpdmUgZ3V0dGVycyBtYXAuXG5AZnVuY3Rpb24geHktY2VsbC1ndXR0ZXJzKFxuICAkZ3V0dGVyczogJGdyaWQtbWFyZ2luLWd1dHRlcnMsXG4gICRicmVha3BvaW50OiBudWxsXG4pIHtcbiAgLy8gRm9yIGBhdXRvYCwgcmV0dXJucyB0aGUgcmVzcG9uc2l2ZSBtYXAgYCRndXR0ZXJzYC5cbiAgQGlmICgkYnJlYWtwb2ludCA9PSAnYXV0bycpIHtcbiAgICBAcmV0dXJuICRndXR0ZXJzO1xuICB9XG5cbiAgLy8gVXNlIHRoZSBjb250ZXh0dWFsIGJyZWFrcG9pbnQgYnkgZGVmYXVsdC5cbiAgJGJyZWFrcG9pbnQ6IC16Zi1jdXJyZW50LWJyZWFrcG9pbnQoJGJyZWFrcG9pbnQpO1xuXG4gIEBpZiAoJGJyZWFrcG9pbnQpIHtcbiAgICBAcmV0dXJuIC16Zi1nZXQtYnAtdmFsKCRndXR0ZXJzLCAkYnJlYWtwb2ludCk7XG4gIH1cbiAgQGVsc2Uge1xuICAgIEByZXR1cm4gLXpmLWdldC1icC12YWwoJGd1dHRlcnMsICQtemYtemVyby1icmVha3BvaW50KSBvciAwO1xuICB9XG59XG5cbi8vLyBSZXR1cm5zIHRoZSBwZXJjZW50YWdlIHNpemUgb2YgYSBjZWxsLlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TGlzdH0gJHNpemUgWyRncmlkLWNvbHVtbnNdIC0gU2l6ZSB0byBtYWtlIHRoZSBjZWxsLiBZb3UgY2FuIHBhc3MgYSB2YWx1ZSBpbiBtdWx0aXBsZSBmb3JtYXRzLCBzdWNoIGFzIGA2YCwgYDUwJWAsIGAxIG9mIDJgIG9yIGAxLzNgLlxuLy8vXG4vLy8gQHJldHVybnMge051bWJlcn0gU2l6ZSBvZiB0aGUgY2VsbCAoaW4gcGVyY2VudCkuXG5AZnVuY3Rpb24geHktY2VsbC1zaXplKFxuICAkc2l6ZTogJGdyaWQtY29sdW1uc1xuKSB7XG4gIEByZXR1cm4gZnJhY3Rpb24tdG8tcGVyY2VudGFnZSgkc2l6ZSwgJGRlbm9taW5hdG9yOiAkZ3JpZC1jb2x1bW5zKTtcbn1cblxuLy8vIFJldHVybnMgdGhlIGFwcHJvcHJpYXRlIENTUyB2YWx1ZSBmb3IgYSBjZWxsIHNpemUuXG4vLy9cbi8vLyBHdXR0ZXJzLXJlbGF0ZWQgYXJndW1lbnRzIGFyZSByZXF1aXJlZCBmb3IgY2VsbHMgd2l0aCBtYXJnaW4gZ3V0dGVycyAoYnkgZGVmYXVsdCkgYXMgdGhlIGd1dHRlciBpcyBpbmNsdWRlZCBpbiB0aGUgd2lkdGguXG4vLy9cbi8vLyBAcGFyYW0ge0tleXdvcmR8TnVtYmVyfSAkc2l6ZSBbZnVsbF0gLSBUaGUgc2l6ZSBvZiB5b3VyIGNlbGwuIENhbiBiZSBgZnVsbGAsIGBhdXRvYCwgYHNocmlua2Agb3IgYW55IGZyYWN0aW9uIGxpa2UgYDZgLCBgNTAlYCwgYDEgb2YgMmAgb3IgYDEvMmAuXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TWFwfSAkZ3V0dGVycyBbJGdyaWQtbWFyZ2luLWd1dHRlcnNdIC0gTWFwIG9yIHNpbmdsZSB2YWx1ZSBmb3IgZ3V0dGVycy5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRndXR0ZXItdHlwZSBbbWFyZ2luXSAtIFR5cGUgb2YgZ3V0dGVyIHRvIG91dHB1dC4gQWNjZXB0cyBgbWFyZ2luYCwgYHBhZGRpbmdgIG9yIGBub25lYC5cbi8vLyBAcGFyYW0ge1N0cmluZ30gJGJyZWFrcG9pbnQgW251bGxdIC0gVGhlIG5hbWUgb2YgdGhlIGJyZWFrcG9pbnQgc2l6ZSBpbiB5b3VyIGd1dHRlcnMgbWFwIHRvIGdldCB0aGUgc2l6ZSBmcm9tLiBJZiBgYXV0b2AsIHJldHVybnMgYSBtYXAgb2Ygc2l6ZXMgYWRhcHRlZCB0byByZXNwb25zaXZlIGd1dHRlcnMuIElmIHVzaW5nIHdpdGggdGhlIGBicmVha3BvaW50KClgIG1peGluIHRoaXMgd2lsbCBiZSBzZXQgYXV0b21hdGljYWxseSB1bmxlc3MgbWFudWFsbHkgZW50ZXJlZC5cbi8vL1xuLy8vIEByZXR1cm5zIHtOdW1iZXJ8U3RyaW5nfE1hcH0gVGhlIGNlbGwgc2l6aW5nIHByb3BlcnR5IHZhbHVlLCBvciBhIHJlc3BvbnNpdmUgbWFwIG9mIHRoZW0uXG5AZnVuY3Rpb24geHktY2VsbC1zaXplLWNzcyhcbiAgJHNpemU6IGZ1bGwsXG4gICRndXR0ZXJzOiAkZ3JpZC1tYXJnaW4tZ3V0dGVycyxcbiAgJGd1dHRlci10eXBlOiBtYXJnaW4sXG4gICRicmVha3BvaW50OiBudWxsXG4pIHtcbiAgJG1hcmdpbi1ndXR0ZXI6IDA7XG5cbiAgQGlmICgkc2l6ZSA9PSAnYXV0bycgb3IgJHNpemUgPT0gJ3NocmluaycpIHtcbiAgICBAcmV0dXJuIGF1dG87XG4gIH1cblxuICAvLyBGb3IgY2VsbHMgd2l0aCBtYXJnaW4gZ3V0dGVycywgdGhlIGd1dHRlciBpcyBpbmNsdWRlZCBpbiB0aGUgd2lkdGguXG4gIEBpZiAoJGd1dHRlci10eXBlID09ICdtYXJnaW4nKSB7XG4gICAgJG1hcmdpbi1ndXR0ZXI6IHh5LWNlbGwtZ3V0dGVycygkZ3V0dGVycywgJGJyZWFrcG9pbnQpO1xuICAgIEBpZiAoJG1hcmdpbi1ndXR0ZXIgPT0gbnVsbCkge1xuICAgICAgQGVycm9yICd4eS1jZWxsLXNpemU6IG5vIGd1dHRlcnMgd2VyZSBmb3VuZCBpbiBgJGd1dHRlcnNgIGZvciBcIiRicmVha3BvaW50OiAjeyRicmVha3BvaW50fVwiJztcbiAgICB9XG4gIH1cblxuICAvLyBDYWxjdWxhdGUgdGhlIGNlbGwgc2l6ZSAobnVtYmVyKVxuICAkc2l6ZS1yYXc6IGlmKCRzaXplID09ICdmdWxsJywgMTAwJSwgeHktY2VsbC1zaXplKCRzaXplKSk7XG5cbiAgLy8gQ2FsY3VsYXRlIHRoZSBjZWxsIENTUyBzaXplIGluY2x1ZGluZyBndXR0ZXJzIChzdHJpbmcpXG4gIC8vIElmIHRoZSBjZWxsIGhhcyByZXNwb25zaXZlIG1hcmdpbiBndXR0ZXJzLCByZXR1cm4gYSByZXNwb25zaXZlIG1hcCBvZiBzaXplcy5cbiAgQGlmIHR5cGUtb2YoJG1hcmdpbi1ndXR0ZXIpID09ICdtYXAnIHtcbiAgICAkcmVzcG9uc2l2ZS1jc3Mtc2l6ZXM6ICgpO1xuXG4gICAgQGVhY2ggJGJwLCAkbWcgaW4gJG1hcmdpbi1ndXR0ZXIge1xuICAgICAgJHNpemUtY3NzOiBpZigkbWcgPT0gMCwgJHNpemUtcmF3LCBjYWxjKCN7JHNpemUtcmF3fSAtICN7cmVtLWNhbGMoJG1nKX0pKTtcbiAgICAgICRyZXNwb25zaXZlLWNzcy1zaXplczogbWFwLW1lcmdlKCRyZXNwb25zaXZlLWNzcy1zaXplcywgKCRicDogJHNpemUtY3NzKSk7XG4gICAgfVxuXG4gICAgQHJldHVybiAkcmVzcG9uc2l2ZS1jc3Mtc2l6ZXM7XG4gIH1cbiAgLy8gT3RoZXJ3aXNlLCByZXR1cm4gYSBzaW5nbGUgQ1NTIHNpemUuXG4gIEBlbHNlIHtcbiAgICAkY3NzLXNpemU6IGlmKCRtYXJnaW4tZ3V0dGVyID09IDAsICRzaXplLXJhdywgY2FsYygjeyRzaXplLXJhd30gLSAje3JlbS1jYWxjKCRtYXJnaW4tZ3V0dGVyKX0pKTtcbiAgICBAcmV0dXJuICRjc3Mtc2l6ZTtcbiAgfVxufVxuXG4vLy8gU2V0cyBiYXNlIGZsZXggcHJvcGVydGllcyBmb3IgY2VsbHMuXG4vLy9cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRzaXplIFtmdWxsXSAtIFRoZSBzaXplIG9mIHlvdXIgY2VsbC4gQWNjZXB0cyBgZnVsbGAsIGBhdXRvYCwgYHNocmlua2AsIGBncm93YCwgb3IgYW55IG90aGVyIHZhbHVlIHJlcHJlc2VudGluZyBhIGNlbGwgc2l6ZSAoaXQgd2lsbCBiZSB0cmVhdGVkIGFzIGBzaHJpbmtgKS5cbkBtaXhpbiB4eS1jZWxsLWJhc2UoJHNpemU6IGZ1bGwpIHtcbiAgJGJhc2U6IHh5LWNlbGwtYmFzZSgkc2l6ZSk7XG5cbiAgZmxleDogI3skYmFzZX07XG5cbiAgLy8gU2V0IGJhc2Ugc3R5bGVzIGZvciBcImZ1bGxcIiBvbmx5XG4gIEBpZigkc2l6ZSA9PSAnZnVsbCcpIHtcbiAgICBtaW4taGVpZ2h0OiAwcHg7XG4gICAgbWluLXdpZHRoOiAwcHg7XG4gIH1cbn1cblxuLy8vIFJlc2V0cyBhIGNlbGxzIHdpZHRoIChvciBoZWlnaHQgaWYgdmVydGljYWwgaXMgdHJ1ZSkgYXMgd2VsbCBhcyBzdHJpcHMgaXRzIGd1dHRlcnMuXG4vLy9cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICR2ZXJ0aWNhbCBbZmFsc2VdIC0gU2V0IHRvIHRydWUgdG8gb3V0cHV0IHZlcnRpY2FsIChoZWlnaHQpIHN0eWxlcyByYXRoZXIgdGhhbiB3aWR0aHMuXG5AbWl4aW4geHktY2VsbC1yZXNldCgkdmVydGljYWw6IHRydWUpIHtcbiAgJGRpcmVjdGlvbjogaWYoJHZlcnRpY2FsID09IHRydWUsIGhlaWdodCwgd2lkdGgpO1xuICAjeyRkaXJlY3Rpb259OiBhdXRvO1xuICBtYXgtI3skZGlyZWN0aW9ufTogbm9uZTtcbn1cblxuLy8vIFNldHMgc2l6aW5nIHByb3BlcnRpZXMgZm9yIGNlbGxzLlxuLy8vXG4vLy8gR3V0dGVycy1yZWxhdGVkIGFyZ3VtZW50cyBhcmUgcmVxdWlyZWQgZm9yIGNlbGxzIHdpdGggbWFyZ2luIGd1dHRlcnMgKGJ5IGRlZmF1bHQpIGFzIHRoZSBndXR0ZXIgaXMgaW5jbHVkZWQgaW4gdGhlIHdpZHRoLlxuLy8vXG4vLy8gQHBhcmFtIHtLZXl3b3JkfE51bWJlcn0gJHNpemUgW2Z1bGxdIC0gVGhlIHNpemUgb2YgeW91ciBjZWxsLiBDYW4gYmUgYGZ1bGxgICgxMDAlIHdpZHRoKSwgYGF1dG9gICh1c2UgYWxsIGF2YWlsYWJsZSBzcGFjZSksIGBzaHJpbmtgICh1c2Ugb25seSB0aGUgcmVxdWlyZWQgc3BhY2UpIG9yIGFueSBmcmFjdGlvbiAoYDZgLCBgNTAlYCwgYDEgb2YgMmAgb3IgYDEvMmAuLi4pLlxuLy8vIEBwYXJhbSB7TnVtYmVyfE1hcH0gJGd1dHRlcnMgWyRncmlkLW1hcmdpbi1ndXR0ZXJzXSAtIE1hcCBvciBzaW5nbGUgdmFsdWUgZm9yIGd1dHRlcnMuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkZ3V0dGVyLXR5cGUgW21hcmdpbl0gLSBUeXBlIG9mIGd1dHRlciB0byBvdXRwdXQuIEFjY2VwdHMgYG1hcmdpbmAsIGBwYWRkaW5nYCBvciBgbm9uZWAuXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRicmVha3BvaW50IFtudWxsXSAtIFRoZSBuYW1lIG9mIHRoZSBicmVha3BvaW50IHNpemUgaW4geW91ciBndXR0ZXJzIG1hcCB0byBnZXQgdGhlIHNpemUgZnJvbS4gSWYgYGF1dG9gLCBnZW5lcmF0ZXMgc2l6ZXMgYWRhcHRlZCBmb3IgcmVzcG9uc2l2ZSBndXR0ZXJzLiBJZiB1c2luZyB3aXRoIHRoZSBgYnJlYWtwb2ludCgpYCBtaXhpbiB0aGlzIHdpbGwgYmUgc2V0IGF1dG9tYXRpY2FsbHkgdW5sZXNzIG1hbnVhbGx5IGVudGVyZWQuXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkdmVydGljYWwgW2ZhbHNlXSAtIFNldCB0byB0cnVlIHRvIG91dHB1dCB2ZXJ0aWNhbCAoaGVpZ2h0KSBzdHlsZXMgcmF0aGVyIHRoYW4gd2lkdGhzLlxuQG1peGluIHh5LWNlbGwtc2l6ZShcbiAgJHNpemU6IGZ1bGwsXG4gICRndXR0ZXJzOiAkZ3JpZC1tYXJnaW4tZ3V0dGVycyxcbiAgJGd1dHRlci10eXBlOiBtYXJnaW4sXG4gICRicmVha3BvaW50OiBudWxsLFxuICAkdmVydGljYWw6IGZhbHNlXG4pIHtcbiAgJHNpemVzOiB4eS1jZWxsLXNpemUtY3NzKCRzaXplLCAkZ3V0dGVycywgJGd1dHRlci10eXBlLCAkYnJlYWtwb2ludCk7XG4gICRkaXJlY3Rpb246IGlmKCR2ZXJ0aWNhbCA9PSB0cnVlLCBoZWlnaHQsIHdpZHRoKTtcblxuICBAaWYgKHR5cGUtb2YoJHNpemVzKSA9PSAnbWFwJykge1xuICAgIEBpbmNsdWRlIC16Zi1icmVha3BvaW50LXZhbHVlKGF1dG8sICRzaXplcykge1xuICAgICAgI3skZGlyZWN0aW9ufTogJC16Zi1icC12YWx1ZTtcbiAgICB9XG4gIH1cbiAgQGVsc2Uge1xuICAgICN7JGRpcmVjdGlvbn06ICRzaXplcztcbiAgfVxufVxuXG4vLy8gU2V0cyBndXR0ZXJzIHByb3BlcnRpZXMgZm9yIGNlbGxzLlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TWFwfSAkZ3V0dGVycyBbJGdyaWQtbWFyZ2luLWd1dHRlcnNdIC0gTWFwIG9yIHNpbmdsZSB2YWx1ZSBmb3IgZ3V0dGVycy5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRndXR0ZXItdHlwZSBbbWFyZ2luXSAtIFR5cGUgb2YgZ3V0dGVyIHRvIG91dHB1dC4gQWNjZXB0cyBgbWFyZ2luYCwgYHBhZGRpbmdgIG9yIGBub25lYC5cbi8vLyBAcGFyYW0ge0xpc3R9ICRndXR0ZXItcG9zaXRpb24gW251bGxdIC0gVGhlIHBvc2l0aW9uIHRvIGFwcGx5IGd1dHRlcnMgdG8uIEFjY2VwdHMgYHRvcGAsIGBib3R0b21gLCBgbGVmdGAsIGByaWdodGAgaW4gYW55IGNvbWJpbmF0aW9uLiBCeSBkZWZhdWx0IGByaWdodCBsZWZ0YCBmb3IgaG9yaXpvbnRhbCBjZWxscyBhbmQgYHRvcCBib3R0b21gIGZvciB2ZXJ0aWNhbCBjZWxscy5cbi8vLyBAcGFyYW0ge1N0cmluZ30gJGJyZWFrcG9pbnQgW251bGxdIC0gVGhlIG5hbWUgb2YgdGhlIGJyZWFrcG9pbnQgc2l6ZSBpbiB5b3VyIGd1dHRlcnMgbWFwIHRvIGdldCB0aGUgc2l6ZSBmcm9tLiBJZiBgYXV0b2AsIGdlbmVyYXRlcyByZXNwb25zaXZlIGd1dHRlcnMuIElmIHVzaW5nIHdpdGggdGhlIGBicmVha3BvaW50KClgIG1peGluIHRoaXMgd2lsbCBiZSBzZXQgYXV0b21hdGljYWxseSB1bmxlc3MgbWFudWFsbHkgZW50ZXJlZC5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICR2ZXJ0aWNhbCBbZmFsc2VdIC0gRGlyZWN0aW9uIG9mIHRoZSBndXR0ZXJzIHRvIG91dHB1dC4gU2VlIGAkZ3V0dGVyLXBvc2l0aW9uYC5cbkBtaXhpbiB4eS1jZWxsLWd1dHRlcnMoXG4gICRndXR0ZXJzOiAkZ3JpZC1tYXJnaW4tZ3V0dGVycyxcbiAgJGd1dHRlci10eXBlOiBtYXJnaW4sXG4gICRndXR0ZXItcG9zaXRpb246IG51bGwsXG4gICRicmVha3BvaW50OiBudWxsLFxuICAkdmVydGljYWw6IGZhbHNlXG4pIHtcbiAgLy8gR2V0IHRoZSBkZWZhdWx0IGd1dHRlciBwb3NpdGlvbiBhY2NvcmRpbmcgdG8gY2VsbCBkaXJlY3Rpb25cbiAgQGlmKCRndXR0ZXItcG9zaXRpb24gPT0gbnVsbCkge1xuICAgICRndXR0ZXItcG9zaXRpb246IGlmKCR2ZXJ0aWNhbCA9PSB0cnVlLCB0b3AgYm90dG9tLCBsZWZ0IHJpZ2h0KTtcbiAgfVxuXG4gIC8vIEdldCB0aGUgZ3V0dGVyIHdpZHRoIGZvciB0aGlzIGJyZWFrcG9pbnRcbiAgJGd1dHRlci13aWR0aDogeHktY2VsbC1ndXR0ZXJzKCRndXR0ZXJzLCAkYnJlYWtwb2ludCk7XG4gIEBpZiAoJGd1dHRlci13aWR0aCA9PSBudWxsKSB7XG4gICAgQGVycm9yICd4eS1jZWxsLWd1dHRlcnM6IG5vIGd1dHRlcnMgd2VyZSBmb3VuZCBpbiBgJGd1dHRlcnNgIGZvciBcIiRicmVha3BvaW50OiAjeyRicmVha3BvaW50fVwiJztcbiAgfVxuXG4gIEBpZiAoJGd1dHRlci10eXBlIGFuZCAkZ3V0dGVyLXR5cGUgIT0gbm9uZSkge1xuICAgIEBpbmNsdWRlIHh5LWd1dHRlcnMoJGd1dHRlci13aWR0aCwgJGd1dHRlci10eXBlLCAkZ3V0dGVyLXBvc2l0aW9uKTtcbiAgfVxufVxuXG4vLy8gQ3JlYXRlcyBhIGNlbGwgZm9yIHlvdXIgZ3JpZC5cbi8vL1xuLy8vIEBwYXJhbSB7S2V5d29yZHxOdW1iZXJ9ICRzaXplIFtmdWxsXSAtIFRoZSBzaXplIG9mIHlvdXIgY2VsbC4gQ2FuIGJlIGBmdWxsYCAoMTAwJSB3aWR0aCksIGBhdXRvYCAodXNlIGFsbCBhdmFpbGFibGUgc3BhY2UpLCBgc2hyaW5rYCAodXNlIG9ubHkgdGhlIHJlcXVpcmVkIHNwYWNlKSBvciBhbnkgZnJhY3Rpb24gKGA2YCwgYDUwJWAsIGAxIG9mIDJgIG9yIGAxLzJgLi4uKS5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRndXR0ZXItb3V0cHV0IFtudWxsXSAtIFtERVBSRUNBVEVEXSBXaGV0aGVyIG9yIG5vdCB0byBvdXRwdXQgZ3V0dGVycy5cbi8vLyBAcGFyYW0ge051bWJlcnxNYXB9ICRndXR0ZXJzIFskZ3JpZC1tYXJnaW4tZ3V0dGVyc10gLSBNYXAgb3Igc2luZ2xlIHZhbHVlIGZvciBndXR0ZXJzLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGd1dHRlci10eXBlIFttYXJnaW5dIC0gVHlwZSBvZiBndXR0ZXIgdG8gb3V0cHV0LiBBY2NlcHRzIGBtYXJnaW5gLCBgcGFkZGluZ2Agb3IgYG5vbmVgLlxuLy8vIEBwYXJhbSB7TGlzdH0gJGd1dHRlci1wb3NpdGlvbiBbbnVsbF0gLSBUaGUgcG9zaXRpb24gdG8gYXBwbHkgZ3V0dGVycyB0by4gQWNjZXB0cyBgdG9wYCwgYGJvdHRvbWAsIGBsZWZ0YCwgYHJpZ2h0YCBpbiBhbnkgY29tYmluYXRpb24uIEJ5IGRlZmF1bHQgYHJpZ2h0IGxlZnRgIGZvciBob3Jpem9udGFsIGNlbGxzIGFuZCBgdG9wIGJvdHRvbWAgZm9yIHZlcnRpY2FsIGNlbGxzLlxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkYnJlYWtwb2ludCBbbnVsbF0gLSBUaGUgbmFtZSBvZiB0aGUgYnJlYWtwb2ludCBzaXplIGluIHlvdXIgZ3V0dGVycyBtYXAgdG8gZ2V0IHRoZSBzaXplIGZyb20uIElmIGBhdXRvYCwgZ2VuZXJhdGVzIHJlc3BvbnNpdmUgZ3V0dGVycy4gSWYgdXNpbmcgd2l0aCB0aGUgYGJyZWFrcG9pbnQoKWAgbWl4aW4gdGhpcyB3aWxsIGJlIHNldCBhdXRvbWF0aWNhbGx5IHVubGVzcyBtYW51YWxseSBlbnRlcmVkLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJHZlcnRpY2FsIFtmYWxzZV0gLSBTZXQgdG8gdHJ1ZSB0byBvdXRwdXQgdmVydGljYWwgKGhlaWdodCkgc3R5bGVzIHJhdGhlciB0aGFuIHdpZHRocy5cbi8vLyBAcGFyYW0ge0xpc3R9ICRvdXRwdXQgWyhiYXNlIHNpemUgZ3V0dGVycyldIC0gQ2VsbCBwYXJ0cyB0byBvdXRwdXQuIFlvdSB3aWxsIG5lZWQgdG8gZ2VuZXJhdGUgb3RoZXJzIHBhcnRzIG9mIHRoZSBjZWxsIHNlcGVyYXRlbHksIGl0IG1heSBub3Qgd29yayBwcm9wZXJseSBvdGhlcndpc2UuXG5AbWl4aW4geHktY2VsbChcbiAgJHNpemU6IGZ1bGwsXG4gICRndXR0ZXItb3V0cHV0OiBudWxsLFxuICAkZ3V0dGVyczogJGdyaWQtbWFyZ2luLWd1dHRlcnMsXG4gICRndXR0ZXItdHlwZTogbWFyZ2luLFxuICAkZ3V0dGVyLXBvc2l0aW9uOiBudWxsLFxuICAkYnJlYWtwb2ludDogbnVsbCxcbiAgJHZlcnRpY2FsOiBmYWxzZSxcbiAgJG91dHB1dDogKGJhc2Ugc2l6ZSBndXR0ZXJzKVxuKSB7XG4gIC8vIERlZmF1bHQgZm9yICRndXR0ZXItb3V0cHV0XG4gIEBpZiAoJGd1dHRlci1vdXRwdXQgIT0gbnVsbCkge1xuICAgIEB3YXJuICd4eS1jZWxsOiAkZ3V0dGVyLW91dHB1dCBpcyBkZXByZWNhdGVkIGFuZCB3aWxsIGJlIHJlbW92ZWQuIFNlZSBtaWdyYXRpb24gbm90ZXMgYXQgaHR0cHM6Ly9naXQuaW8vZm91bmRhdGlvbi02LTYtMCc7XG4gICAgQGlmICgkZ3V0dGVyLW91dHB1dCA9PSBmYWxzZSkge1xuICAgICAgJG91dHB1dDogc2wtcmVtb3ZlKCRvdXRwdXQsIGd1dHRlcnMpO1xuICAgIH1cbiAgfVxuXG4gIEBpZiAoaW5kZXgoJG91dHB1dCwgYmFzZSkpIHtcbiAgICBAaW5jbHVkZSB4eS1jZWxsLWJhc2UoJHNpemUpO1xuICB9XG4gIEBpZiAoaW5kZXgoJG91dHB1dCwgc2l6ZSkpIHtcbiAgICBAaW5jbHVkZSB4eS1jZWxsLXNpemUoJHNpemUsICRndXR0ZXJzLCAkZ3V0dGVyLXR5cGUsICRicmVha3BvaW50LCAkdmVydGljYWwpO1xuICB9XG4gIEBpZiAoaW5kZXgoJG91dHB1dCwgZ3V0dGVycykpIHtcbiAgICBAaW5jbHVkZSB4eS1jZWxsLWd1dHRlcnMoJGd1dHRlcnMsICRndXR0ZXItdHlwZSwgJGd1dHRlci1wb3NpdGlvbiwgJGJyZWFrcG9pbnQsICR2ZXJ0aWNhbCk7XG4gIH1cbn1cblxuLy8vIENyZWF0ZXMgYSBzaW5nbGUgYnJlYWtwb2ludCBzaXplZCBncmlkLiBVc2VkIHRvIGdlbmVyYXRlIG91ciBncmlkIGNsYXNzZXMuXG4vLy9cbi8vLyBgeHktY2VsbC1zdGF0aWMoKWAgaXMgZGVwcmVjYXRlZCBhbmQgd2lsbCBiZSByZW1vdmVkLlxuLy8vIFVzZSBgeHktY2VsbCgpYCBpbnN0ZWFkIHdpdGggYCRvdXRwdXQ6IChzaXplIGd1dHRlcnMpYCB0byBub3QgZ2VuZXJhdGUgdGhlIGNlbGwgYmFzZS5cbi8vLyBTZWUgbWlncmF0aW9uIG5vdGVzIGF0IGh0dHBzOi8vZ2l0LmlvL2ZvdW5kYXRpb24tNi02LTBcbi8vL1xuLy8vIEBkZXByZWNhdGVkIHY2LjYuMFxuLy8vXG4vLy8gQHBhcmFtIHtLZXl3b3JkfE51bWJlcn0gJHNpemUgW2Z1bGxdIC0gVGhlIHNpemUgb2YgeW91ciBjZWxsLiBDYW4gYmUgYGZ1bGxgICgxMDAlIHdpZHRoKSwgYGF1dG9gICh1c2UgYWxsIGF2YWlsYWJsZSBzcGFjZSksIGBzaHJpbmtgICh1c2Ugb25seSB0aGUgcmVxdWlyZWQgc3BhY2UpIG9yIGFueSBmcmFjdGlvbiAoYDZgLCBgNTAlYCwgYDEgb2YgMmAgb3IgYDEvMmAuLi4pLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJGd1dHRlci1vdXRwdXQgW3RydWVdIC0gV2hldGhlciBvciBub3QgdG8gb3V0cHV0IGd1dHRlcnMuIEFsd2F5cyBgdHJ1ZWAgZm9yIG1hcmdpbiBndXR0ZXJzLlxuLy8vIEBwYXJhbSB7TnVtYmVyfE1hcH0gJGd1dHRlcnMgWyRncmlkLW1hcmdpbi1ndXR0ZXJzXSAtIE1hcCBvciBzaW5nbGUgdmFsdWUgZm9yIGd1dHRlcnMuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkZ3V0dGVyLXR5cGUgW21hcmdpbl0gLSBNYXAgb3Igc2luZ2xlIHZhbHVlIGZvciBndXR0ZXJzLlxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkYnJlYWtwb2ludCBbbnVsbF0gLSBUaGUgbmFtZSBvZiB0aGUgYnJlYWtwb2ludCBzaXplIGluIHlvdXIgZ3V0dGVycyBtYXAgdG8gZ2V0IHRoZSBzaXplIGZyb20uIElmIHVzaW5nIHdpdGggdGhlIGBicmVha3BvaW50KClgIG1peGluIHRoaXMgd2lsbCBiZSBzZXQgYXV0b21hdGljYWxseSB1bmxlc3MgbWFudWFsbHkgZW50ZXJlZC5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICR2ZXJ0aWNhbCBbZmFsc2VdIC0gU2V0IHRvIHRydWUgdG8gb3V0cHV0IHZlcnRpY2FsIChoZWlnaHQpIHN0eWxlcyByYXRoZXIgdGhhbiB3aWR0aHMuXG5AbWl4aW4geHktY2VsbC1zdGF0aWMoXG4gICRzaXplOiBmdWxsLFxuICAkZ3V0dGVyLW91dHB1dDogdHJ1ZSxcbiAgJGd1dHRlcnM6ICRncmlkLW1hcmdpbi1ndXR0ZXJzLFxuICAkZ3V0dGVyLXR5cGU6IG1hcmdpbixcbiAgJGJyZWFrcG9pbnQ6ICQtemYtemVyby1icmVha3BvaW50LFxuICAkdmVydGljYWw6IGZhbHNlXG4pIHtcbiAgQHdhcm4gJ3h5LWNlbGwtc3RhdGljKCkgbWl4aW4gaXMgZGVwcmVjYXRlZCBhbmQgd2lsbCBiZSByZW1vdmVkLiBVc2UgXCJ4eS1jZWxsKClcIiBpbnN0ZWFkLiBTZWUgbWlncmF0aW9uIG5vdGVzIGF0IGh0dHBzOi8vZ2l0LmlvL2ZvdW5kYXRpb24tNi02LTAnO1xuXG4gICRndXR0ZXI6IC16Zi1nZXQtYnAtdmFsKCRndXR0ZXJzLCAkYnJlYWtwb2ludCk7XG4gICRndXR0ZXItcG9zaXRpb246IGlmKCR2ZXJ0aWNhbCA9PSB0cnVlLCB0b3AgYm90dG9tLCBsZWZ0IHJpZ2h0KTtcblxuICAkLWd1dHRlci1vdXRwdXQ6IGlmKCRndXR0ZXItdHlwZSA9PSAnbWFyZ2luJywgdHJ1ZSwgJGd1dHRlci1vdXRwdXQpO1xuICAkLWd1dHRlci1tYXJnaW46IGlmKCRndXR0ZXItdHlwZSA9PSAnbWFyZ2luJywgJGd1dHRlciwgMCk7XG5cbiAgQGluY2x1ZGUgLXh5LWNlbGwtcHJvcGVydGllcygkc2l6ZSwgJC1ndXR0ZXItbWFyZ2luLCAkdmVydGljYWwpO1xuICBAaWYgKCQtZ3V0dGVyLW91dHB1dCkge1xuICAgIEBpbmNsdWRlIHh5LWd1dHRlcnMoJGd1dHRlciwgJGd1dHRlci10eXBlLCAkZ3V0dGVyLXBvc2l0aW9uKTtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHh5LWdyaWRcbi8vLy9cblxuLy8vIFNpemVzIGNoaWxkIGVsZW1lbnRzIHNvIHRoYXQgYCRuYCBudW1iZXIgb2YgaXRlbXMgYXBwZWFyIG9uIGVhY2ggcm93LlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRuIC0gTnVtYmVyIG9mIGVsZW1lbnRzIHRvIGRpc3BsYXkgcGVyIHJvdy5cbi8vLyBAcGFyYW0ge1N0cmluZ30gJHNlbGVjdG9yIFsnLmNlbGwnXSAtIFNlbGVjdG9yKHMpIHRvIHVzZSBmb3IgY2hpbGQgZWxlbWVudHMuXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkZ3V0dGVyLW91dHB1dCBbbnVsbF0gLSBbREVQUkVDQVRFRF0gV2hldGhlciBvciBub3QgdG8gb3V0cHV0IGd1dHRlcnMuXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TWFwfSAkZ3V0dGVycyBbJGdyaWQtbWFyZ2luLWd1dHRlcnNdIC0gTWFwIG9yIHNpbmdsZSB2YWx1ZSBmb3IgZ3V0dGVycy5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRndXR0ZXItdHlwZSBbbWFyZ2luXSAtIFR5cGUgb2YgZ3V0dGVyIHRvIG91dHB1dC4gQWNjZXB0cyBgbWFyZ2luYCwgYHBhZGRpbmdgIG9yIGBub25lYC5cbi8vLyBAcGFyYW0ge0xpc3R9ICRndXR0ZXItcG9zaXRpb24gW251bGxdIC0gVGhlIHBvc2l0aW9uIHRvIGFwcGx5IGd1dHRlcnMgdG8uIEFjY2VwdHMgYHRvcGAsIGBib3R0b21gLCBgbGVmdGAsIGByaWdodGAgaW4gYW55IGNvbWJpbmF0aW9uLiBCeSBkZWZhdWx0IGByaWdodCBsZWZ0YCBmb3IgaG9yaXpvbnRhbCBjZWxscyBhbmQgYHRvcCBib3R0b21gIGZvciB2ZXJ0aWNhbCBjZWxscy5cbi8vLyBAcGFyYW0ge1N0cmluZ30gJGJyZWFrcG9pbnQgW251bGxdIC0gVGhlIGJyZWFrcG9pbnQgdG8gdXNlIGZvciB0aGUgY2VsbCBnZW5lcmF0aW9uLiBJZiB1c2luZyB3aXRoIHRoZSBgYnJlYWtwb2ludCgpYCBtaXhpbiB0aGlzIHdpbGwgYmUgc2V0IGF1dG9tYXRpY2FsbHkgdW5sZXNzIG1hbnVhbGx5IGVudGVyZWQuXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkdmVydGljYWwgW2ZhbHNlXSAtIFNldCB0byB0cnVlIHRvIG91dHB1dCB2ZXJ0aWNhbCAoaGVpZ2h0KSBzdHlsZXMgcmF0aGVyIHRoYW4gd2lkdGhzLlxuLy8vIEBwYXJhbSB7TGlzdH0gJG91dHB1dCBbKGJhc2Ugc2l6ZSBndXR0ZXJzKV0gLSBDZWxsIHBhcnRzIHRvIG91dHB1dC4gWW91IHdpbGwgbmVlZCB0byBnZW5lcmF0ZSBvdGhlcnMgcGFydHMgb2YgdGhlIGNlbGwgc2VwZXJhdGVseSwgaXQgbWF5IG5vdCB3b3JrIGNvcnJlY3RseSBvdGhlcndpc2UuXG5AbWl4aW4geHktZ3JpZC1sYXlvdXQoXG4gICRuLFxuICAkc2VsZWN0b3I6ICcuY2VsbCcsXG4gICRndXR0ZXItb3V0cHV0OiBudWxsLFxuICAkZ3V0dGVyczogJGdyaWQtbWFyZ2luLWd1dHRlcnMsXG4gICRndXR0ZXItdHlwZTogbWFyZ2luLFxuICAkZ3V0dGVyLXBvc2l0aW9uOiBudWxsLFxuICAkYnJlYWtwb2ludDogbnVsbCxcbiAgJHZlcnRpY2FsOiBmYWxzZSxcbiAgJG91dHB1dDogKGJhc2Ugc2l6ZSBndXR0ZXJzKVxuKSB7XG4gICRzaXplOiBwZXJjZW50YWdlKDEvJG4pO1xuXG4gICYgPiAjeyRzZWxlY3Rvcn0ge1xuICAgIEBpbmNsdWRlIHh5LWNlbGwoJHNpemUsICRndXR0ZXItb3V0cHV0LCAkZ3V0dGVycywgJGd1dHRlci10eXBlLCAkZ3V0dGVyLXBvc2l0aW9uLCAkYnJlYWtwb2ludCwgJHZlcnRpY2FsLCAkb3V0cHV0KTtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHh5LWdyaWRcbi8vLy9cblxuLy8vIENvbGxhcHNlcyB0aGUgZ3JpZCBhIGNlbGxzIHdpdGhpbiBpdC5cbi8vL1xuLy8vIEBwYXJhbSB7U3RyaW5nfSAkc2VsZWN0b3IgWy5jZWxsXSAtIFRoZSBjaGlsZCBlbGVtZW50IHRvIHJlbW92ZSB0aGUgZ3V0dGVyIGZyb20uXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkZ3V0dGVyLXR5cGUgW21hcmdpbl0gLSBUaGUgdHlwZSBvZiBndXR0ZXIgdG8gcmVtb3ZlLlxuLy8vIEBwYXJhbSB7TGlzdH0gJGd1dHRlci1wb3NpdGlvbiBbcmlnaHQgbGVmdF0gLSBUaGUgcG9zaXRpb25zIHRvIHJlbW92ZSBndXR0ZXJzIGZyb20uIEFjY2VwdHMgYHRvcGAsIGBib3R0b21gLCBgbGVmdGAsIGByaWdodGAgaW4gYW55IGNvbWJpbmF0aW9uLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJG1pbi1icmVha3BvaW50IFskLXpmLXplcm8tYnJlYWtwb2ludF0gLSBNaW5pbXVtIGJyZWFrcG9pbnQgaW4gYCRicmVha3BvaW50LWNsYXNzZXNgIGZvciB3aGljaCB0byBjb2xsYXBzZSB0aGUgZ3V0dGVyLlxuQG1peGluIHh5LWdyaWQtY29sbGFwc2UoXG4gICRzZWxlY3RvcjogJy5jZWxsJyxcbiAgJGd1dHRlci10eXBlOiBtYXJnaW4sXG4gICRndXR0ZXItcG9zaXRpb246IHJpZ2h0IGxlZnQsXG4gICRtaW4tYnJlYWtwb2ludDogJC16Zi16ZXJvLWJyZWFrcG9pbnRcbikge1xuICAvLyBGaXJzdCwgbGV0cyBuZWdhdGUgYW55IG1hcmdpbnMgb24gdGhlIHRvcCBsZXZlbFxuICBAaWYgKCRndXR0ZXItdHlwZSA9PSAnbWFyZ2luJykge1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkbWluLWJyZWFrcG9pbnQpIHtcbiAgICAgIEBlYWNoICR2YWx1ZSBpbiAkZ3V0dGVyLXBvc2l0aW9uIHtcbiAgICAgICAgbWFyZ2luLSN7JHZhbHVlfTogMDtcbiAgICAgIH1cblxuICAgICAgPiAjeyRzZWxlY3Rvcn0ge1xuICAgICAgICBAZWFjaCAkdmFsdWUgaW4gJGd1dHRlci1wb3NpdGlvbiB7XG4gICAgICAgICAgbWFyZ2luLSN7JHZhbHVlfTogMDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgICRleGNsdWRlZC1icHM6IC16Zi1icmVha3BvaW50cy1sZXNzLXRoYW4oJG1pbi1icmVha3BvaW50KTtcblxuICAgIC8vIE91dHB1dCBuZXcgd2lkdGhzIHRvIG5vdCBpbmNsdWRlIGd1dHRlcnNcbiAgICBAZWFjaCAkYnAgaW4gJGJyZWFrcG9pbnQtY2xhc3NlcyB7XG4gICAgICBAaWYoc2wtY29udGFpbigkZXhjbHVkZWQtYnBzLCAkYnApKSB7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJG1pbi1icmVha3BvaW50KSB7XG4gICAgICAgICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkZ3JpZC1jb2x1bW5zIHtcbiAgICAgICAgICAgIC8vIFNpemluZyAocGVyY2VudGFnZSlcbiAgICAgICAgICAgID4gLiN7JGJwfS0jeyRpfSB7XG4gICAgICAgICAgICAgIEBpbmNsdWRlIHh5LWNlbGwtc2l6ZSgkaSwgJGd1dHRlci10eXBlOiBub25lKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH0gQGVsc2Uge1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRicCkge1xuICAgICAgICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJGdyaWQtY29sdW1ucyB7XG4gICAgICAgICAgICAvLyBTaXppbmcgKHBlcmNlbnRhZ2UpXG4gICAgICAgICAgICA+IC4jeyRicH0tI3skaX0ge1xuICAgICAgICAgICAgICBAaW5jbHVkZSB4eS1jZWxsLXNpemUoJGksICRndXR0ZXItdHlwZTogbm9uZSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEBlbHNlIHtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJG1pbi1icmVha3BvaW50KSB7XG4gICAgICBAZWFjaCAkdmFsdWUgaW4gJGd1dHRlci1wb3NpdGlvbiB7XG4gICAgICAgIG1hcmdpbi0jeyR2YWx1ZX06IDA7XG4gICAgICB9XG5cbiAgICAgID4gI3skc2VsZWN0b3J9IHtcbiAgICAgICAgQGVhY2ggJHZhbHVlIGluICRndXR0ZXItcG9zaXRpb24ge1xuICAgICAgICAgIHBhZGRpbmctI3skdmFsdWV9OiAwO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlc1xuLy8gaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgeHktZ3JpZFxuLy8vL1xuXG4vLy8gUmV0dXJucyB0aGUgYXBwcm9wcmlhdGUgQ1NTIHZhbHVlIHRvIG9mZnNldCBhIGNlbGwuXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcnxMaXN0fSAkbiAtIFNpemUgdG8gb2Zmc2V0IGJ5LiBZb3UgY2FuIHBhc3MgaW4gYW55IHZhbHVlIGFjY2VwdGVkIGJ5IHRoZSBgeHktY2VsbCgpYCBtaXhpbiwgc3VjaCBhcyBgNmAsIGA1MCVgLCBvciBgMSBvZiAyYC5cbi8vLyBAcGFyYW0ge051bWJlcnxNYXB9ICRndXR0ZXJzIFskZ3JpZC1tYXJnaW4tZ3V0dGVyc10gTWFwIG9mIGd1dHRlcnMgb3Igc2luZ2xlIHZhbHVlIHRvIHVzZSBmb3IgcmVzcG9uc2l2ZSBndXR0ZXJzLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGd1dHRlci10eXBlIFttYXJnaW5dIFRoZSB0eXBlIG9mIGd1dHRlciB0byB1c2UuIENhbiBiZSBgbWFyZ2luYCBvciBgcGFkZGluZ2Bcbi8vLyBAcGFyYW0ge1N0cmluZ30gJGJyZWFrcG9pbnQgW251bGxdIC0gVGhlIG5hbWUgb2YgdGhlIGJyZWFrcG9pbnQgc2l6ZSBpbiB5b3VyIGd1dHRlcnMgbWFwIHRvIGdldCB0aGUgc2l6ZSBmcm9tLiBJZiB1c2luZyB3aXRoIHRoZSBgYnJlYWtwb2ludCgpYCBtaXhpbiB0aGlzIHdpbGwgYmUgc2V0IGF1dG9tYXRpY2FsbHkgdW5sZXNzIG1hbnVhbGx5IGVudGVyZWQuXG4vLy9cbi8vLyBAcmV0dXJucyB7TnVtYmVyfFN0cmluZ30gVGhlIGNlbGwgb2Zmc2V0IHByb3BlcnR5IHZhbHVlLlxuQGZ1bmN0aW9uIHh5LWNlbGwtb2Zmc2V0KFxuICAkbixcbiAgJGd1dHRlcnM6ICRncmlkLW1hcmdpbi1ndXR0ZXJzLFxuICAkZ3V0dGVyLXR5cGU6IG1hcmdpbixcbiAgJGJyZWFrcG9pbnQ6IG51bGxcbikge1xuICAkYnJlYWtwb2ludDogLXpmLWN1cnJlbnQtYnJlYWtwb2ludCgkYnJlYWtwb2ludCwgJGRlZmF1bHQ6ICQtemYtemVyby1icmVha3BvaW50KTtcbiAgJHNpemU6IHh5LWNlbGwtc2l6ZSgkbik7XG5cbiAgJG9mZnNldDogJHNpemU7XG4gIEBpZiAoJGd1dHRlci10eXBlID09ICdtYXJnaW4nKSB7XG4gICAgJGd1dHRlcjogcmVtLWNhbGMoeHktY2VsbC1ndXR0ZXJzKCRndXR0ZXJzLCAkYnJlYWtwb2ludCkgLyAyKTtcbiAgICAkb2Zmc2V0OiBpZigkZ3V0dGVyID09IDAsICRzaXplLCBjYWxjKCN7JHNpemV9ICsgI3skZ3V0dGVyfSkpO1xuICB9XG4gIEByZXR1cm4gJG9mZnNldDtcbn1cblxuLy8vIE9mZnNldHMgYSBjb2x1bW4gdG8gdGhlIHJpZ2h0L2JvdHRvbSBieSBgJG5gIGNvbHVtbnMuXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcnxMaXN0fSAkbiAtIFNpemUgdG8gb2Zmc2V0IGJ5LiBZb3UgY2FuIHBhc3MgaW4gYW55IHZhbHVlIGFjY2VwdGVkIGJ5IHRoZSBgeHktY2VsbCgpYCBtaXhpbiwgc3VjaCBhcyBgNmAsIGA1MCVgLCBvciBgMSBvZiAyYC5cbi8vLyBAcGFyYW0ge051bWJlcnxNYXB9ICRndXR0ZXJzIFskZ3JpZC1tYXJnaW4tZ3V0dGVyc10gTWFwIG9mIGd1dHRlcnMgb3Igc2luZ2xlIHZhbHVlIHRvIHVzZSBmb3IgcmVzcG9uc2l2ZSBndXR0ZXJzLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGd1dHRlci10eXBlIFttYXJnaW5dIFRoZSB0eXBlIG9mIGd1dHRlciB0byB1c2UuIENhbiBiZSBgbWFyZ2luYCBvciBgcGFkZGluZ2Bcbi8vLyBAcGFyYW0ge051bWJlcnxBcnJheXxLZXl3b3JkfSAkYnJlYWtwb2ludCBbbnVsbF0gLSBCcmVha3BvaW50IHRvIHVzZSBmb3IgYCRndXR0ZXJzYC4gSXQgY2FuIGJlIGEgYnJlYWtwb2ludCBuYW1lLCBsaXN0IG9mIGJyZWFrcG9pbnRzIG9yIGBhdXRvYCBmb3IgYWxsIGJyZWFrcG9pbnRzLiBJZiBhIGxpc3QgaXMgZ2l2ZW4sIG1lZGlhLXF1ZXJpZXMgd2lsbCBiZSBnZW5lcmF0ZWQuIElmIHVzaW5nIHdpdGggdGhlIGBicmVha3BvaW50KClgIG1peGluIHRoaXMgd2lsbCBiZSBzZXQgYXV0b21hdGljYWxseSB1bmxlc3MgbWFudWFsbHkgZW50ZXJlZC5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICR2ZXJ0aWNhbCBbZmFsc2VdIFNldHMgdGhlIGRpcmVjdGlvbiBvZiB0aGUgb2Zmc2V0LiBJZiBzZXQgdG8gdHJ1ZSB3aWxsIGFwcGx5IG1hcmdpbi10b3AgaW5zdGVhZC5cbkBtaXhpbiB4eS1jZWxsLW9mZnNldChcbiAkbixcbiAkZ3V0dGVyczogJGdyaWQtbWFyZ2luLWd1dHRlcnMsXG4gJGd1dHRlci10eXBlOiBtYXJnaW4sXG4gJGJyZWFrcG9pbnQ6IG51bGwsXG4gJHZlcnRpY2FsOiBmYWxzZVxuKSB7XG4gICRicmVha3BvaW50OiAtemYtY3VycmVudC1icmVha3BvaW50KCRicmVha3BvaW50LCAkZGVmYXVsdDogJC16Zi16ZXJvLWJyZWFrcG9pbnQpO1xuICAkZGlyZWN0aW9uOiBpZigkdmVydGljYWwsICd0b3AnLCAkZ2xvYmFsLWxlZnQpO1xuXG4gIEBpbmNsdWRlIC16Zi1lYWNoLWJyZWFrcG9pbnQtaW4oJGJyZWFrcG9pbnQsICRtZWRpYS1xdWVyaWVzOiAnZm9yLWxpc3RzJykge1xuICAgICRvZmZzZXQ6IHh5LWNlbGwtb2Zmc2V0KCRuLCAkZ3V0dGVycywgJGd1dHRlci10eXBlKTtcbiAgICBtYXJnaW4tI3skZGlyZWN0aW9ufTogI3skb2Zmc2V0fTtcbiAgfVxufVxuIiwiLy8vIE1vZGlmaWVzIGEgZ3JpZCB0byBnaXZlIGl0IFwiZnJhbWVcIiBiZWhhdmlvciAobm8gb3ZlcmZsb3csIG5vIHdyYXAsIHN0cmV0Y2ggYmVoYXZpb3IpXG4vLy9cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICR2ZXJ0aWNhbCBbZmFsc2VdIC0gSXMgZ3JpZCB2ZXJ0aWNhbCBvciBob3Jpem9udGFsLiBTaG91bGQgbWF0Y2ggZ3JpZC5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRuZXN0ZWQgW2ZhbHNlXSAtIElzIGdyaWQgbmVzdGVkIG9yIG5vdC4gSWYgbmVzdGVkIGlzIHRydWUgdGhpcyBzZXRzIHRoZSBmcmFtZSB0byAxMDAlIGhlaWdodCwgb3RoZXJ3aXNlIHdpbGwgYmUgMTAwdmguXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TWFwfSAkZ3V0dGVycyBbbnVsbF0gLSBNYXAgb3Igc2luZ2xlIHZhbHVlIGZvciBndXR0ZXJzLlxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkYnJlYWtwb2ludCBbbnVsbF0gLSBUaGUgbmFtZSBvZiB0aGUgYnJlYWtwb2ludCBzaXplIGluIHlvdXIgZ3V0dGVycyBtYXAgdG8gZ2V0IHRoZSBzaXplIGZyb20uXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkaW5jbHVkZS1iYXNlIFt0cnVlXSAtIEluY2x1ZGUgdGhlIGJhc2Ugc3R5bGVzIHRoYXQgZG9uJ3QgdmFyeSBwZXIgYnJlYWtwb2ludC5cbkBtaXhpbiB4eS1ncmlkLWZyYW1lKFxuICAkdmVydGljYWw6IGZhbHNlLFxuICAkbmVzdGVkOiBmYWxzZSxcbiAgJGd1dHRlcnM6IG51bGwsXG4gICRicmVha3BvaW50OiBudWxsLFxuICAkaW5jbHVkZS1iYXNlOiB0cnVlXG4pIHtcblxuICBAaWYgJGluY2x1ZGUtYmFzZSB7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZmxleC13cmFwOiBub3dyYXA7XG4gICAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG4gIH1cblxuICBAaWYgJGJyZWFrcG9pbnQgPT0gbnVsbCBhbmQgdHlwZS1vZigkZ3V0dGVycykgPT0gJ21hcCcge1xuICAgIEBpbmNsdWRlIC16Zi1lYWNoLWJyZWFrcG9pbnQoKSB7XG4gICAgICBAaW5jbHVkZSB4eS1ncmlkLWZyYW1lKCR2ZXJ0aWNhbCwgJG5lc3RlZCwgJGd1dHRlcnMsICQtemYtc2l6ZSwgZmFsc2UpO1xuICAgIH1cbiAgfSBAZWxzZSB7XG4gICAgLy8gR2V0IG91ciBndXR0ZXJzIGlmIGFwcGxpY2FibGVcbiAgICAkZ3V0dGVyOiAtemYtZ2V0LWJwLXZhbCgkZ3V0dGVycywgJGJyZWFrcG9pbnQpO1xuXG4gICAgLy8gSWYgd2UgaGF2ZSBhIGd1dHRlciwgYWRkIGl0IHRvIHRoZSB3aWR0aC9oZWlnaHRcbiAgICBAaWYgJGd1dHRlciB7XG4gICAgICBAaWYgJHZlcnRpY2FsID09IHRydWUge1xuICAgICAgICAkdW5pdDogaWYoJG5lc3RlZCA9PSB0cnVlLCAxMDAlLCAxMDB2aCk7XG4gICAgICAgICRndXR0ZXI6IHJlbS1jYWxjKCRndXR0ZXIpO1xuICAgICAgICBoZWlnaHQ6IGNhbGMoI3skdW5pdH0gKyAjeyRndXR0ZXJ9KTtcbiAgICAgIH0gQGVsc2Uge1xuICAgICAgICAkdW5pdDogaWYoJG5lc3RlZCA9PSB0cnVlLCAxMDAlLCAxMDB2dyk7XG4gICAgICAgICRndXR0ZXI6IHJlbS1jYWxjKCRndXR0ZXIpO1xuICAgICAgICB3aWR0aDogY2FsYygjeyR1bml0fSArICN7JGd1dHRlcn0pO1xuICAgICAgfVxuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICBAaWYgJHZlcnRpY2FsID09IHRydWUge1xuICAgICAgICBoZWlnaHQ6IGlmKCRuZXN0ZWQgPT0gdHJ1ZSwgMTAwJSwgMTAwdmgpO1xuICAgICAgfSBAZWxzZSB7XG4gICAgICAgIHdpZHRoOiBpZigkbmVzdGVkID09IHRydWUsIDEwMCUsIDEwMHZ3KTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8vIE1vZGlmaWVzIGEgY2VsbCB0byBnaXZlIGl0IFwiYmxvY2tcIiBiZWhhdmlvciAob3ZlcmZsb3cgYXV0bywgaW5lcnRpYWwgc2Nyb2xsaW5nKVxuLy8vXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkdmVydGljYWwgW2ZhbHNlXSAtIElzIGdyaWQgdmVydGljYWwgb3IgaG9yaXpvbnRhbC4gU2hvdWxkIG1hdGNoIGdyaWQuXG5AbWl4aW4geHktY2VsbC1ibG9jayhcbiAgJHZlcnRpY2FsOiBmYWxzZVxuKSB7XG4gICRwcm9wZXJ0eTogaWYoJHZlcnRpY2FsID09IHRydWUsICdvdmVyZmxvdy15JywgJ292ZXJmbG93LXgnKTtcblxuICBAaWYgJHZlcnRpY2FsID09IHRydWUge1xuICAgIG92ZXJmbG93LXk6IGF1dG87XG4gICAgbWF4LWhlaWdodDogMTAwJTtcbiAgICBtaW4taGVpZ2h0OiAxMDAlO1xuICB9IEBlbHNlIHtcbiAgICBvdmVyZmxvdy14OiBhdXRvO1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgfVxuXG4gIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcbiAgLW1zLW92ZXJmbG93LXN0eWxlOiAtbXMtYXV0b2hpZGluZy1zY3JvbGxiYXI7XG59XG5cbi8vLyBDb250YWluZXIgZm9yIGluc2lkZSBhIGdyaWQgZnJhbWUgY29udGFpbmluZyBtdWx0aXBsZSBibG9ja3MuIFR5cGljYWxseSB1c2VkXG4vLy8gYXMgYSBtb2RpZmllciBmb3IgYSBgLmNlbGxgIHRvIGFsbG93IHRoZSBjZWxsIHRvIHBhc3MgYWxvbmcgZmxleCBzaXppbmdcbi8vLyBjb25zdHJhaW50cyAvIGZyb20gcGFyZW50cyB0byBjaGlsZHJlbi5cbkBtaXhpbiB4eS1jZWxsLWJsb2NrLWNvbnRhaW5lcigpIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgbWF4LWhlaWdodDogMTAwJTtcblxuICA+IC5ncmlkLXgge1xuICAgIG1heC1oZWlnaHQ6IDEwMCU7XG4gICAgZmxleC13cmFwOiBub3dyYXA7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBjbG9zZS1idXR0b25cbi8vLy9cblxuLy8vIERlZmF1bHQgcG9zaXRpb24gb2YgdGhlIGNsb3NlIGJ1dHRvbi4gVGhlIGZpcnN0IHZhbHVlIHNob3VsZCBiZSBgcmlnaHRgIG9yIGBsZWZ0YCwgYW5kIHRoZSBzZWNvbmQgdmFsdWUgc2hvdWxkIGJlIGB0b3BgIG9yIGBib3R0b21gLlxuLy8vIEB0eXBlIExpc3RcbiRjbG9zZWJ1dHRvbi1wb3NpdGlvbjogcmlnaHQgdG9wICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCB6LWluZGV4IGZvciBhIGNsb3NlIGJ1dHRvbi5cbi8vLyBAdHlwZSBOdW1iZXJcbiRjbG9zZWJ1dHRvbi16LWluZGV4OiAxMCAhZGVmYXVsdDtcblxuLy8vIEJ1dHRvbiBzaXplIHRvIHVzZSBhcyBkZWZhdWx0XG4vLy8gQHR5cGUgU3RyaW5nXG4vLy8gQHNlZSAkY2xvc2VidXR0b24tc2l6ZVxuLy8vIEBzZWUgJGNsb3NlYnV0dG9uLW9mZnNldC1ob3Jpem9udGFsXG4vLy8gQHNlZSAkY2xvc2VidXR0b24tb2Zmc2V0LXZlcnRpY2FsXG4kY2xvc2VidXR0b24tZGVmYXVsdC1zaXplOiBtZWRpdW0gIWRlZmF1bHQ7XG5cbi8vLyBSaWdodCAob3IgbGVmdCkgb2Zmc2V0KHMpIGZvciBhIGNsb3NlIGJ1dHRvbi5cbi8vLyBAdHlwZSBOdW1iZXJ8TWFwXG4kY2xvc2VidXR0b24tb2Zmc2V0LWhvcml6b250YWw6IChcbiAgc21hbGw6IDAuNjZyZW0sXG4gIG1lZGl1bTogMXJlbSxcbikgIWRlZmF1bHQ7XG5cbi8vLyBUb3AgKG9yIGJvdHRvbSkgb2Zmc2V0KHMpIGZvciBhIGNsb3NlIGJ1dHRvbi5cbi8vLyBAdHlwZSBOdW1iZXJ8TWFwXG4kY2xvc2VidXR0b24tb2Zmc2V0LXZlcnRpY2FsOiAoXG4gIHNtYWxsOiAwLjMzZW0sXG4gIG1lZGl1bTogMC41cmVtLFxuKSAhZGVmYXVsdDtcblxuLy8vIFNpemUocykgb2YgdGhlIGNsb3NlIGJ1dHRvbi4gVXNlZCB0byBnZW5lcmF0ZSBzaXppbmcgbW9kaWZpZXJzLlxuLy8vIEB0eXBlIE51bWJlcnxNYXBcbiRjbG9zZWJ1dHRvbi1zaXplOiAoXG4gIHNtYWxsOiAxLjVlbSxcbiAgbWVkaXVtOiAyZW0sXG4pICFkZWZhdWx0O1xuXG4vLy8gVGhlIGxpbmUtaGVpZ2h0IG9mIHRoZSBjbG9zZSBidXR0b24uIEl0IGFmZmVjdHMgdGhlIHNwYWNpbmcgb2YgdGhlIGVsZW1lbnQuXG4vLy8gQHR5cGUgTnVtYmVyXG4kY2xvc2VidXR0b24tbGluZWhlaWdodDogMSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgY29sb3Igb2YgdGhlIGNsb3NlIGJ1dHRvbi5cbi8vLyBAdHlwZSBDb2xvclxuJGNsb3NlYnV0dG9uLWNvbG9yOiAkZGFyay1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBjb2xvciBvZiB0aGUgY2xvc2UgYnV0dG9uIHdoZW4gYmVpbmcgaG92ZXJlZCBvbi5cbi8vLyBAdHlwZSBDb2xvclxuJGNsb3NlYnV0dG9uLWNvbG9yLWhvdmVyOiAkYmxhY2sgIWRlZmF1bHQ7XG5cblxuLy8vIEdldCB0aGUgc2l6ZSBhbmQgcG9zaXRpb24gZm9yIGEgY2xvc2UgYnV0dG9uLiBJZiB0aGUgaW5wdXQgdmFsdWUgaXMgYSBudW1iZXIsIHRoZSBudW1iZXIgaXMgcmV0dXJuZWQuIElmIHRoZSBpbnB1dCB2YWx1ZSBpcyBhIGNvbmZpZyBtYXAgYW5kIHRoZSBtYXAgaGFzIHRoZSBrZXkgYCRzaXplYCwgdGhlIHZhbHVlIGlzIHJldHVybmVkLlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TWFwfSAkdmFsdWUgLSBBIG51bWJlciBvciBtYXAgdGhhdCByZXByZXNlbnRzIHRoZSBzaXplIG9yIHBvc2l0aW9uIHZhbHVlKHMpIG9mIHRoZSBjbG9zZSBidXR0b24uXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkc2l6ZSAtIFRoZSBzaXplIG9mIHRoZSBjbG9zZSBidXR0b24gdG8gdXNlLlxuLy8vXG4vLy8gQHJldHVybiB7TnVtYmVyfSBUaGUgZ2l2ZW4gbnVtYmVyIG9yIHRoZSB2YWx1ZSBmb3VuZCBpbiB0aGUgbWFwLlxuQGZ1bmN0aW9uIC16Zi1nZXQtc2l6ZS12YWwoJHZhbHVlLCAkc2l6ZSkge1xuICAvLyBDaGVjayBpZiB0aGUgdmFsdWUgaXMgYSBudW1iZXJcbiAgQGlmIHR5cGUtb2YoJHZhbHVlKSA9PSAnbnVtYmVyJyB7XG4gICAgLy8gSWYgaXQgaXMsIGp1c3QgcmV0dXJuIHRoZSBudW1iZXJcbiAgICBAcmV0dXJuICR2YWx1ZTtcbiAgfVxuXG4gIC8vIENoZWNrIGlmIHRoZSBzaXplIG5hbWUgZXhpc3RzIGluIHRoZSB2YWx1ZSBtYXBcbiAgQGVsc2UgaWYgbWFwLWhhcy1rZXkoJHZhbHVlLCAkc2l6ZSkge1xuICAgIC8vIElmIGl0IGRvZXMsIHJldHVybiB0aGUgdmFsdWVcbiAgICBAcmV0dXJuIG1hcC1nZXQoJHZhbHVlLCAkc2l6ZSk7XG4gIH1cbn1cblxuLy8vIFNldHMgdGhlIHNpemUgYW5kIHBvc2l0aW9uIG9mIGEgY2xvc2UgYnV0dG9uLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHNpemUgW21lZGl1bV0gLSBUaGUgc2l6ZSB0byB1c2UuIFNldCB0byBgc21hbGxgIHRvIGNyZWF0ZSBhIHNtYWxsIGNsb3NlIGJ1dHRvbi4gVGhlICdtZWRpdW0nIHZhbHVlcyBkZWZpbmVkIGluIGAkY2xvc2VidXR0b24tKmAgdmFyaWFibGVzIHdpbGwgYmUgdXNlZCBhcyB0aGUgZGVmYXVsdCBzaXplIGFuZCBwb3NpdGlvbiBvZiB0aGUgY2xvc2UgYnV0dG9uLlxuQG1peGluIGNsb3NlLWJ1dHRvbi1zaXplKCRzaXplKSB7XG4gICR4OiBudGgoJGNsb3NlYnV0dG9uLXBvc2l0aW9uLCAxKTtcbiAgJHk6IG50aCgkY2xvc2VidXR0b24tcG9zaXRpb24sIDIpO1xuXG4gICN7JHh9OiAtemYtZ2V0LXNpemUtdmFsKCRjbG9zZWJ1dHRvbi1vZmZzZXQtaG9yaXpvbnRhbCwgJHNpemUpO1xuICAjeyR5fTogLXpmLWdldC1zaXplLXZhbCgkY2xvc2VidXR0b24tb2Zmc2V0LXZlcnRpY2FsLCAkc2l6ZSk7XG4gIGZvbnQtc2l6ZTogLXpmLWdldC1zaXplLXZhbCgkY2xvc2VidXR0b24tc2l6ZSwgJHNpemUpO1xuICBsaW5lLWhlaWdodDogLXpmLWdldC1zaXplLXZhbCgkY2xvc2VidXR0b24tbGluZWhlaWdodCwgJHNpemUpO1xufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGEgY2xvc2UgYnV0dG9uLCB1c2luZyB0aGUgc3R5bGVzIGluIHRoZSBzZXR0aW5ncyB2YXJpYWJsZXMuXG5AbWl4aW4gY2xvc2UtYnV0dG9uIHtcbiAgJHg6IG50aCgkY2xvc2VidXR0b24tcG9zaXRpb24sIDEpO1xuICAkeTogbnRoKCRjbG9zZWJ1dHRvbi1wb3NpdGlvbiwgMik7XG5cbiAgQGluY2x1ZGUgZGlzYWJsZS1tb3VzZS1vdXRsaW5lO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHotaW5kZXg6ICRjbG9zZWJ1dHRvbi16LWluZGV4O1xuICBjb2xvcjogJGNsb3NlYnV0dG9uLWNvbG9yO1xuICBjdXJzb3I6IHBvaW50ZXI7XG5cbiAgJjpob3ZlcixcbiAgJjpmb2N1cyB7XG4gICAgY29sb3I6ICRjbG9zZWJ1dHRvbi1jb2xvci1ob3ZlcjtcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1jbG9zZS1idXR0b24ge1xuICAuY2xvc2UtYnV0dG9uIHtcbiAgICBAaW5jbHVkZSBjbG9zZS1idXR0b247XG5cbiAgICAvLyBHZW5lcmF0ZSBhIHBsYWNlaG9sZGVyIGFuZCBhIGNsYXNzIGZvciBlYWNoIHNpemVcbiAgICBAZWFjaCAkbmFtZSwgJHNpemUgaW4gJGNsb3NlYnV0dG9uLXNpemUge1xuICAgICAgQGF0LXJvb3Qge1xuICAgICAgICAlemYtY2xvc2UtYnV0dG9uLS0jeyRuYW1lfSB7XG4gICAgICAgICAgQGluY2x1ZGUgY2xvc2UtYnV0dG9uLXNpemUoJG5hbWUpO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgICYuI3skbmFtZX0ge1xuICAgICAgICBAZXh0ZW5kICV6Zi1jbG9zZS1idXR0b24tLSN7JG5hbWV9O1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIFVzZSBieSBkZWZhdWx0IHRoZSBwbGFjZWhvbGRlciBvZiB0aGUgZGVmYXVsdCBzaXplXG4gICAgQGV4dGVuZCAlemYtY2xvc2UtYnV0dG9uLS0jeyRjbG9zZWJ1dHRvbi1kZWZhdWx0LXNpemV9O1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlc1xuLy8gaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgbWVudVxuLy8vL1xuXG4vLy8gTWFyZ2luIG9mIGEgbWVudS5cbi8vLyBAdHlwZSBOdW1iZXJcbiRtZW51LW1hcmdpbjogMCAhZGVmYXVsdDtcblxuLy8vIExlZnQtaGFuZCBtYXJnaW4gb2YgYSBuZXN0ZWQgbWVudS5cbi8vLyBAdHlwZSBOdW1iZXJcbiRtZW51LW5lc3RlZC1tYXJnaW46ICRnbG9iYWwtbWVudS1uZXN0ZWQtbWFyZ2luICFkZWZhdWx0O1xuXG4vLy8gUGFkZGluZyBmb3IgaXRlbXMgaW4gYSBwaWxsIG1lbnUuXG4vLy8gQHR5cGUgTnVtYmVyXG4kbWVudS1pdGVtcy1wYWRkaW5nOiAkZ2xvYmFsLW1lbnUtcGFkZGluZyAhZGVmYXVsdDtcblxuLy8vIG1hcmdpbiBmb3IgaXRlbXMgaW4gYSBzaW1wbGUgbWVudS5cbi8vLyBAdHlwZSBOdW1iZXJcbiRtZW51LXNpbXBsZS1tYXJnaW46IDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBUZXh0IGNvbG9yIG9mIGFuIGFjdGl2ZSBtZW51IGl0ZW0uXG4vLy8gQHR5cGUgQ29sb3JcbiRtZW51LWl0ZW0tY29sb3ItYWN0aXZlOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBBbHRlcm5hdGl2ZSB0ZXh0IGNvbG9yIG9mIGFuIGFjdGl2ZSBtZW51IGl0ZW0uLlxuLy8vIEB0eXBlIENvbG9yXG4kbWVudS1pdGVtLWNvbG9yLWFsdC1hY3RpdmU6ICRibGFjayAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3Igb2YgYW4gYWN0aXZlIG1lbnUgaXRlbS5cbi8vLyBAdHlwZSBDb2xvclxuJG1lbnUtaXRlbS1iYWNrZ3JvdW5kLWFjdGl2ZTogZ2V0LWNvbG9yKHByaW1hcnkpICFkZWZhdWx0O1xuXG4vLy8gU3BhY2luZyBiZXR3ZWVuIGFuIGljb24gYW5kIHRleHQgaW4gYSBtZW51IGl0ZW0uXG4vLy8gQHR5cGUgTnVtYmVyXG4kbWVudS1pY29uLXNwYWNpbmc6IDAuMjVyZW0gIWRlZmF1bHQ7XG5cbi8vLyBCYWNrd2FyZCBjb21wYXRpYmlsaXR5IGZvciBtZW51IHN0YXRlLiBJZiB0cnVlLCB0aGlzIGR1cGxpY2F0ZSBgYWN0aXZlYCB3aXRoIGBpcy1hY3RpdmVgLiBcbi8vLyBCdXQgcGxlYXNlIG5vdGUgdGhhdCBgYWN0aXZlYCB3aWxsIGJlIHJlbW92ZWQgaW4gdXBjb21pbmcgdmVyc2lvbnMuXG4vLy8gQHR5cGUgQm9vbGVhblxuJG1lbnUtc3RhdGUtYmFjay1jb21wYXQ6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrd2FyZCBjb21wYXRpYmlsaXR5IGZvciBtZW51IGNlbnRlcmVkLiBJZiB0cnVlLCB0aGlzIGR1cGxpY2F0ZSBgLm1lbnUtY2VudGVyZWQgPiAubWVudWAgd2l0aCBgLm1lbnUuYWxpZ24tY2VudGVyYC4gXG4vLy8gQnV0IHBsZWFzZSBub3RlIHRoYXQgYG1lbnUtY2VudGVyZWRgIHdpbGwgYmUgcmVtb3ZlZCBpbiB1cGNvbWluZyB2ZXJzaW9ucy5cbi8vLyBAdHlwZSBCb29sZWFuXG4kbWVudS1jZW50ZXJlZC1iYWNrLWNvbXBhdDogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIEJhY2t3YXJkIGNvbXBhdGliaWxpdHkgZm9yIHVzaW5nIGBpY29uLSpgIGNsYXNzZXMgd2l0aG91dCBgLmljb25zYCBjbGFzc2VzXG4vLy8gQnV0IHBsZWFzZSBub3RlIHRoYXQgdGhpcyBiYWNrd2FyZCBjb21wYXRpYmlsaXR5IHdpbGwgYmUgcmVtb3ZlZCBpbiB1cGNvbWluZyB2ZXJzaW9ucy5cbi8vLyBAdHlwZSBCb29sZWFuXG4kbWVudS1pY29ucy1iYWNrLWNvbXBhdDogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIENyZWF0ZXMgdGhlIGJhc2Ugc3R5bGVzIGZvciBhIE1lbnUuXG5AbWl4aW4gbWVudS1iYXNlIHtcbiAgcGFkZGluZzogMDtcbiAgbWFyZ2luOiAwO1xuICBsaXN0LXN0eWxlOiBub25lO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gIH1cblxuICBsaSB7XG4gICAgQGluY2x1ZGUgZGlzYWJsZS1tb3VzZS1vdXRsaW5lO1xuICB9XG5cbiAgYSxcbiAgLmJ1dHRvbiB7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBhZGRpbmc6ICRtZW51LWl0ZW1zLXBhZGRpbmc7XG4gIH1cblxuICAvLyBSZXNldCBzdHlsZXMgb2YgaW5uZXIgZWxlbWVudHNcbiAgaW5wdXQsXG4gIHNlbGVjdCxcbiAgYSxcbiAgYnV0dG9uIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICB9XG5cbiAgaW5wdXQge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgfVxufVxuXG4vLy8gRXhwYW5kcyB0aGUgaXRlbXMgb2YgYSBNZW51LCBzbyBlYWNoIGl0ZW0gaXMgdGhlIHNhbWUgd2lkdGguXG5AbWl4aW4gbWVudS1leHBhbmQge1xuICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICBsaSB7XG4gICAgICBmbGV4OiAxIDEgMHB4OyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIHplcm8tdW5pdFxuICAgIH1cbiAgfVxuICBAZWxzZSB7XG4gICAgZGlzcGxheTogdGFibGU7XG4gICAgd2lkdGg6IDEwMCU7XG5cbiAgICA+IGxpIHtcbiAgICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgIH1cbiAgfVxufVxuXG4vLy8gQWxpZ24gbWVudSBpdGVtcy5cbkBtaXhpbiBtZW51LWFsaWduKCRhbGlnbm1lbnQpIHtcbiAgQGlmICRhbGlnbm1lbnQgPT0gbGVmdCB7XG4gICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIHRleHQtYWxpZ246ICRnbG9iYWwtbGVmdDtcbiAgICB9XG4gIH1cbiAgQGVsc2UgaWYgJGFsaWdubWVudCA9PSByaWdodCB7XG4gICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICBsaSB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG5cbiAgICAgICAgLnN1Ym1lbnUgbGkge1xuICAgICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAmLnZlcnRpY2FsIGxpIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHRleHQtYWxpZ246ICRnbG9iYWwtcmlnaHQ7XG5cbiAgICAgICAgLnN1Ym1lbnUgbGkge1xuICAgICAgICAgIHRleHQtYWxpZ246ICRnbG9iYWwtcmlnaHQ7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgdGV4dC1hbGlnbjogJGdsb2JhbC1yaWdodDtcblxuICAgICAgLnN1Ym1lbnUgbGkge1xuICAgICAgICB0ZXh0LWFsaWduOiAkZ2xvYmFsLWxlZnQ7XG4gICAgICB9XG5cbiAgICAgICYudmVydGljYWwge1xuICAgICAgICAuc3VibWVudSBsaSB7XG4gICAgICAgICAgdGV4dC1hbGlnbjogJGdsb2JhbC1yaWdodDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuICBAZWxzZSBpZiAkYWxpZ25tZW50ID09IGNlbnRlciB7XG4gICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICBsaSB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXG4gICAgICAgIC5zdWJtZW51IGxpIHtcbiAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gICAgICAuc3VibWVudSBsaSB7XG4gICAgICAgIHRleHQtYWxpZ246ICRnbG9iYWwtbGVmdDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8vIFNldHMgdGhlIGRpcmVjdGlvbiBvZiBhIE1lbnUuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkZGlyIFtob3Jpem9udGFsXSAtIERpcmVjdGlvbiBvZiB0aGUgTWVudS4gQ2FuIGJlIGBob3Jpem9udGFsYCBvciBgdmVydGljYWxgLlxuQG1peGluIG1lbnUtZGlyZWN0aW9uKCRkaXI6IGhvcml6b250YWwpIHtcbiAgQGlmICRkaXIgPT0gaG9yaXpvbnRhbCB7XG4gICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICBsaSB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQGVsc2UgaWYgJGRpciA9PSB2ZXJ0aWNhbCB7XG4gICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIGxpIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEBlbHNlIHtcbiAgICBAd2FybiAnVGhlIGRpcmVjdGlvbiB1c2VkIGZvciBtZW51LWRpcmVjdGlvbigpIG11c3QgYmUgaG9yaXpvbnRhbCBvciB2ZXJ0aWNhbC4nO1xuICB9XG59XG5cbi8vLyBDcmVhdGVzIGEgc2ltcGxlIE1lbnUsIHdoaWNoIGhhcyBubyBwYWRkaW5nIG9yIGhvdmVyIHN0YXRlLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGRpciBbJGdsb2JhbC1sZWZ0XSAtIERpcmVjdGlvbiBvZiB0aGUgbWVudS4gVGhpcyBlZmZlY3RzIHRoZSBzaWRlIG9mIHRoZSBgPGxpPmAgdGhhdCByZWNlaXZlcyB0aGUgbWFyZ2luLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkbWFyZ2luIFskbWVudS1zaW1wbGUtbWFyZ2luXSAtIFRoZSBtYXJnaW4gdG8gYXBwbHkgdG8gZWFjaCBgPGxpPmAuXG5AbWl4aW4gbWVudS1zaW1wbGUoJGRpcjogJGdsb2JhbC1sZWZ0LCAkbWFyZ2luOiAkbWVudS1zaW1wbGUtbWFyZ2luKSB7XG4gIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIH1cblxuICBsaSArIGxpIHtcbiAgICBtYXJnaW4tI3skZGlyfTogJG1hcmdpbjtcbiAgfVxuXG4gIGEge1xuICAgIHBhZGRpbmc6IDA7XG4gIH1cbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhIG5lc3RlZCBNZW51LCBieSBhZGRpbmcgYG1hcmdpbi1sZWZ0YCB0byB0aGUgbWVudS5cbi8vLyBAcGFyYW0ge0tleXdvcmR8TnVtYmVyfSAkbWFyZ2luIFskbWVudS1uZXN0ZWQtbWFyZ2luXSAtIExlbmd0aCBvZiB0aGUgbWFyZ2luLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJG5lc3RlZC1hbGlnbm1lbnQgW2xlZnRdIC0gQWxpZ25tZW50IG9mIHRoZSBuZXN0ZWQgY2xhc3NcbkBtaXhpbiBtZW51LW5lc3RlZChcbiAgJG1hcmdpbjogJG1lbnUtbmVzdGVkLW1hcmdpbixcbiAgJG5lc3RlZC1hbGlnbm1lbnQ6IGxlZnRcbikge1xuICBAaWYgJG5lc3RlZC1hbGlnbm1lbnQgPT0gcmlnaHQge1xuICAgIG1hcmdpbi0jeyRnbG9iYWwtcmlnaHR9OiAkbWFyZ2luO1xuICAgIG1hcmdpbi0jeyRnbG9iYWwtbGVmdH06IDA7XG4gIH1cbiAgQGVsc2Uge1xuICAgIG1hcmdpbi0jeyRnbG9iYWwtcmlnaHR9OiAwO1xuICAgIG1hcmdpbi0jeyRnbG9iYWwtbGVmdH06ICRtYXJnaW47XG4gIH1cblxufVxuXG4vLy8gQWRkcyBiYXNpYyBzdHlsZXMgZm9yIGljb25zIGluIG1lbnVzLlxuQG1peGluIG1lbnUtaWNvbnMoKSB7XG4gIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgIGEge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICB9XG4gIH1cbiAgQGVsc2Uge1xuICAgIGltZyxcbiAgICBpLFxuICAgIHN2ZyB7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuXG4gICAgICArIHNwYW4ge1xuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLy8gQWRkcyBwb3NpdGlvbiBjbGFzc2VzIGZvciBpY29ucyB3aXRoaW4gYSBtZW51LlxuQG1peGluIG1lbnUtaWNvbi1wb3NpdGlvbigkcG9zaXRpb246IGxlZnQsICRzcGFjaW5nOiAkbWVudS1pY29uLXNwYWNpbmcpIHtcbiAgQGlmICRwb3NpdGlvbiA9PSBsZWZ0IHtcbiAgICBsaSBhIHtcbiAgICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgICBmbGV4LWZsb3c6IHJvdyBub3dyYXA7XG4gICAgICB9XG5cbiAgICAgIGltZyxcbiAgICAgIGksXG4gICAgICBzdmcge1xuICAgICAgICBtYXJnaW4tI3skZ2xvYmFsLXJpZ2h0fTogJHNwYWNpbmc7XG5cbiAgICAgICAgQGlmIG5vdCAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuICBAZWxzZSBpZiAkcG9zaXRpb24gPT0gcmlnaHQge1xuICAgIGxpIGEge1xuICAgICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICAgIGZsZXgtZmxvdzogcm93IG5vd3JhcDtcbiAgICAgIH1cblxuICAgICAgaW1nLFxuICAgICAgaSxcbiAgICAgIHN2ZyB7XG4gICAgICAgIG1hcmdpbi0jeyRnbG9iYWwtbGVmdH06ICRzcGFjaW5nO1xuXG4gICAgICAgIEBpZiBub3QgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQGVsc2UgaWYgJHBvc2l0aW9uID09IHRvcCB7XG4gICAgbGkgYSB7XG4gICAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgICAgZmxleC1mbG93OiBjb2x1bW4gbm93cmFwO1xuICAgICAgfVxuICAgICAgQGVsc2Uge1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICB9XG5cbiAgICAgIGltZyxcbiAgICAgIGksXG4gICAgICBzdmcge1xuICAgICAgICBAaWYgbm90ICRnbG9iYWwtZmxleGJveCB7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgbWFyZ2luOiAwIGF1dG8gJHNwYWNpbmc7XG4gICAgICAgIH1cbiAgICAgICAgQGVsc2Uge1xuICAgICAgICAgIGFsaWduLXNlbGY6IHN0cmV0Y2g7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogJHNwYWNpbmc7XG4gICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEBlbHNlIGlmICRwb3NpdGlvbiA9PSBib3R0b20ge1xuICAgIGxpIGEge1xuICAgICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICAgIGZsZXgtZmxvdzogY29sdW1uIG5vd3JhcDtcbiAgICAgIH1cbiAgICAgIEBlbHNlIHtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgfVxuXG4gICAgICBpbWcsXG4gICAgICBpLFxuICAgICAgc3ZnIHtcbiAgICAgICAgQGlmIG5vdCAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgIG1hcmdpbjogJHNwYWNpbmcgYXV0byAwO1xuICAgICAgICB9XG4gICAgICAgIEBlbHNlIHtcbiAgICAgICAgICBhbGlnbi1zZWxmOiBzdHJldGNoO1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206ICRzcGFjaW5nO1xuICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gbWVudS10ZXh0IHtcbiAgcGFkZGluZzogJGdsb2JhbC1tZW51LXBhZGRpbmc7XG5cbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBjb2xvcjogaW5oZXJpdDtcbn1cblxuQG1peGluIG1lbnUtc3RhdGUtYWN0aXZlIHtcbiAgYmFja2dyb3VuZDogJG1lbnUtaXRlbS1iYWNrZ3JvdW5kLWFjdGl2ZTtcbiAgY29sb3I6IGNvbG9yLXBpY2stY29udHJhc3QoJG1lbnUtaXRlbS1iYWNrZ3JvdW5kLWFjdGl2ZSwgKCRtZW51LWl0ZW0tY29sb3ItYWN0aXZlLCAkbWVudS1pdGVtLWNvbG9yLWFsdC1hY3RpdmUpKTtcbn1cblxuQG1peGluIGZvdW5kYXRpb24tbWVudSB7XG4gIC5tZW51IHtcbiAgICBAaW5jbHVkZSBtZW51LWJhc2U7XG5cbiAgICAvLyBEZWZhdWx0IG9yaWVudGF0aW9uOiBob3Jpem9udGFsXG4gICAgJiwgJi5ob3Jpem9udGFsIHtcbiAgICAgIEBpbmNsdWRlIG1lbnUtZGlyZWN0aW9uKGhvcml6b250YWwpO1xuICAgIH1cblxuICAgIC8vIFZlcnRpY2FsIG9yaWVudGF0aW9uIG1vZGlmaWVyXG4gICAgJi52ZXJ0aWNhbCB7XG4gICAgICBAaW5jbHVkZSBtZW51LWRpcmVjdGlvbih2ZXJ0aWNhbCk7XG4gICAgfVxuXG4gICAgLy8gRXZlbi13aWR0aCBtb2RpZmllciBmb3IgaG9yaXpvbnRhbCBvcmllbnRhdGlvblxuICAgICYuZXhwYW5kZWQge1xuICAgICAgQGluY2x1ZGUgbWVudS1leHBhbmQ7XG4gICAgfVxuXG4gICAgLy8gU2ltcGxlXG4gICAgJi5zaW1wbGUge1xuICAgICAgQGluY2x1ZGUgbWVudS1zaW1wbGU7XG4gICAgfVxuXG4gICAgLy8gQnJlYWtwb2ludCBzcGVjaWZpYyB2ZXJzaW9uc1xuICAgIEBpbmNsdWRlIC16Zi1lYWNoLWJyZWFrcG9pbnQoJHNtYWxsOiBmYWxzZSkge1xuICAgICAgJi4jeyQtemYtc2l6ZX0taG9yaXpvbnRhbCB7XG4gICAgICAgIEBpbmNsdWRlIG1lbnUtZGlyZWN0aW9uKGhvcml6b250YWwpO1xuICAgICAgfVxuXG4gICAgICAmLiN7JC16Zi1zaXplfS12ZXJ0aWNhbCB7XG4gICAgICAgIEBpbmNsdWRlIG1lbnUtZGlyZWN0aW9uKHZlcnRpY2FsKTtcbiAgICAgIH1cblxuICAgICAgJi4jeyQtemYtc2l6ZX0tZXhwYW5kZWQge1xuICAgICAgICBAaW5jbHVkZSBtZW51LWV4cGFuZDtcbiAgICAgIH1cblxuICAgICAgJi4jeyQtemYtc2l6ZX0tc2ltcGxlIHtcbiAgICAgICAgQGluY2x1ZGUgbWVudS1leHBhbmQ7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gTmVzdGluZ1xuICAgICYubmVzdGVkIHtcbiAgICAgIEBpbmNsdWRlIG1lbnUtbmVzdGVkO1xuICAgIH1cblxuICAgIC8vIEljb24gQmFzZSBTdHlsZXNcbiAgICAmLmljb25zIHtcbiAgICAgIEBpbmNsdWRlIG1lbnUtaWNvbnM7XG4gICAgfVxuXG4gICAgLy8gQmFja3dhcmQgQ29tcGF0aWJpbGl0eSBmb3IgYWN0aXZlIHN0YXRlXG4gICAgQGlmICRtZW51LWljb25zLWJhY2stY29tcGF0IHtcbiAgICAgICYuaWNvbi10b3AsXG4gICAgICAmLmljb24tcmlnaHQsXG4gICAgICAmLmljb24tYm90dG9tLFxuICAgICAgJi5pY29uLWxlZnQge1xuICAgICAgICBAaW5jbHVkZSBtZW51LWljb25zO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIEljb24gTGVmdFxuICAgICYuaWNvbi1sZWZ0IHtcbiAgICAgIEBpbmNsdWRlIG1lbnUtaWNvbi1wb3NpdGlvbihsZWZ0KTtcbiAgICB9XG5cbiAgICAvLyBJY29uIFJpZ2h0XG4gICAgJi5pY29uLXJpZ2h0IHtcbiAgICAgIEBpbmNsdWRlIG1lbnUtaWNvbi1wb3NpdGlvbihyaWdodCk7XG4gICAgfVxuXG4gICAgLy8gSWNvbiBUb3BcbiAgICAmLmljb24tdG9wIHtcbiAgICAgIEBpbmNsdWRlIG1lbnUtaWNvbi1wb3NpdGlvbih0b3ApO1xuICAgIH1cblxuICAgIC8vIEljb24gQm90dG9tXG4gICAgJi5pY29uLWJvdHRvbSB7XG4gICAgICBAaW5jbHVkZSBtZW51LWljb24tcG9zaXRpb24oYm90dG9tKTtcbiAgICB9XG5cbiAgICAvLyBBY3RpdmUgc3RhdGVcbiAgICAuaXMtYWN0aXZlID4gYSB7XG4gICAgICBAaW5jbHVkZSBtZW51LXN0YXRlLWFjdGl2ZTtcbiAgICB9XG4gICAgXG4gICAgLy8gQmFja3dhcmQgQ29tcGF0aWJpbGl0eSBmb3IgYWN0aXZlIHN0YXRlXG4gICAgQGlmICRtZW51LXN0YXRlLWJhY2stY29tcGF0IHtcbiAgICAgIC5hY3RpdmUgPiBhIHtcbiAgICAgICAgQGluY2x1ZGUgbWVudS1zdGF0ZS1hY3RpdmU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gQWxpZ24gbGVmdFxuICAgICYuYWxpZ24tI3skZ2xvYmFsLWxlZnR9IHtcbiAgICAgIEBpbmNsdWRlIG1lbnUtYWxpZ24obGVmdCk7XG4gICAgfVxuXG4gICAgLy8gQWxpZ24gcmlnaHRcbiAgICAmLmFsaWduLSN7JGdsb2JhbC1yaWdodH0ge1xuICAgICAgQGluY2x1ZGUgbWVudS1hbGlnbihyaWdodCk7XG5cbiAgICAgIC5uZXN0ZWQge1xuICAgICAgICBAaW5jbHVkZSBtZW51LW5lc3RlZCgkbmVzdGVkLWFsaWdubWVudDogcmlnaHQpO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIEFsaWduIGNlbnRlclxuICAgICYuYWxpZ24tY2VudGVyIHtcbiAgICAgIEBpbmNsdWRlIG1lbnUtYWxpZ24oY2VudGVyKTtcbiAgICB9XG5cbiAgICAubWVudS10ZXh0IHtcbiAgICAgIEBpbmNsdWRlIG1lbnUtdGV4dDtcbiAgICB9XG4gIH1cblxuICBAaWYgJG1lbnUtY2VudGVyZWQtYmFjay1jb21wYXQge1xuICAgIC5tZW51LWNlbnRlcmVkIHtcbiAgICAgID4gLm1lbnUge1xuICAgICAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgfVxuICAgICAgICBcbiAgICAgICAgQGluY2x1ZGUgbWVudS1hbGlnbihjZW50ZXIpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIFByZXZlbnQgRk9VQyB3aGVuIHVzaW5nIHRoZSBSZXNwb25zaXZlIE1lbnUgcGx1Z2luXG4gIC5uby1qcyBbZGF0YS1yZXNwb25zaXZlLW1lbnVdIHVsIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlc1xuLy8gaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgYWNjb3JkaW9uXG4vLy8vXG5cbi8vLyBEZWZhdWx0IGJhY2tncm91bmQgY29sb3Igb2YgYW4gYWNjb3JkaW9uIGdyb3VwLlxuLy8vIEB0eXBlIENvbG9yXG4kYWNjb3JkaW9uLWJhY2tncm91bmQ6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIElmIGB0cnVlYCwgYWRkcyBwbHVzIGFuZCBtaW51cyBpY29ucyB0byB0aGUgc2lkZSBvZiBlYWNoIGFjY29yZGlvbiB0aXRsZS5cbi8vLyBAdHlwZSBCb29sZWFuXG4kYWNjb3JkaW9uLXBsdXNtaW51czogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIENvbnRlbnQgZm9yIHRoZSBwbHVzIGljb24gd2hlbiBgJGFjY29yZGlvbi1wbHVzbWludXNgIGlzIGB0cnVlYFxuLy8vIEB0eXBlIFN0cmluZ1xuJGFjY29yZGlvbi1wbHVzLWNvbnRlbnQ6ICdcXDAwMkInICFkZWZhdWx0O1xuXG4vLy8gQ29udGVudCBmb3IgdGhlIG1pbnVzIGljb24gd2hlbiBgJGFjY29yZGlvbi1wbHVzbWludXNgIGlzIGB0cnVlYFxuLy8vIEB0eXBlIFN0cmluZ1xuJGFjY29yZGlvbi1taW51cy1jb250ZW50OiAnXFwyMDEzJyAhZGVmYXVsdDtcblxuLy8vIEZvbnQgc2l6ZSBvZiBhY2NvcmRpb24gdGl0bGVzLlxuLy8vIEB0eXBlIE51bWJlclxuJGFjY29yZGlvbi10aXRsZS1mb250LXNpemU6IHJlbS1jYWxjKDEyKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgdGV4dCBjb2xvciBmb3IgaXRlbXMgaW4gYSBNZW51LlxuLy8vIEB0eXBlIENvbG9yXG4kYWNjb3JkaW9uLWl0ZW0tY29sb3I6ICRwcmltYXJ5LWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBiYWNrZ3JvdW5kIGNvbG9yIG9uIGhvdmVyIGZvciBpdGVtcyBpbiBhIE1lbnUuXG4vLy8gQHR5cGUgQ29sb3JcbiRhY2NvcmRpb24taXRlbS1iYWNrZ3JvdW5kLWhvdmVyOiAkbGlnaHQtZ3JheSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcGFkZGluZyBvZiBhbiBhY2NvcmRpb24gaXRlbS5cbi8vLyBAdHlwZSBOdW1iZXIgfCBMaXN0XG4kYWNjb3JkaW9uLWl0ZW0tcGFkZGluZzogMS4yNXJlbSAxcmVtICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBiYWNrZ3JvdW5kIGNvbG9yIG9mIHRhYiBjb250ZW50LlxuLy8vIEB0eXBlIENvbG9yXG4kYWNjb3JkaW9uLWNvbnRlbnQtYmFja2dyb3VuZDogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBib3JkZXIgY29sb3Igb2YgdGFiIGNvbnRlbnQuXG4vLy8gQHR5cGUgQ29sb3JcbiRhY2NvcmRpb24tY29udGVudC1ib3JkZXI6IDFweCBzb2xpZCAkbGlnaHQtZ3JheSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgdGV4dCBjb2xvciBvZiB0YWIgY29udGVudC5cbi8vLyBAdHlwZSBDb2xvclxuJGFjY29yZGlvbi1jb250ZW50LWNvbG9yOiAkYm9keS1mb250LWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBwYWRkaW5nIGZvciB0YWIgY29udGVudC5cbi8vLyBAdHlwZSBOdW1iZXIgfCBMaXN0XG4kYWNjb3JkaW9uLWNvbnRlbnQtcGFkZGluZzogMXJlbSAhZGVmYXVsdDtcblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhbiBhY2NvcmRpb24gY29udGFpbmVyLiBBcHBseSB0aGlzIHRvIHRoZSBzYW1lIGVsZW1lbnQgdGhhdCBnZXRzIGBkYXRhLWFjY29yZGlvbmAuXG5AbWl4aW4gYWNjb3JkaW9uLWNvbnRhaW5lciAoXG4gICRiYWNrZ3JvdW5kOiAkYWNjb3JkaW9uLWJhY2tncm91bmRcbikge1xuICBtYXJnaW4tI3skZ2xvYmFsLWxlZnR9OiAwO1xuICBiYWNrZ3JvdW5kOiAkYmFja2dyb3VuZDtcbiAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xuXG4gICZbZGlzYWJsZWRdIHtcbiAgICAuYWNjb3JkaW9uLXRpdGxlIHtcbiAgICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7XG4gICAgfVxuICB9XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgdGhlIGFjY29yZGlvbiBpdGVtLiBBcHBseSB0aGlzIHRvIHRoZSBsaXN0IGl0ZW0gd2l0aGluIGFuIGFjY29yZGlvbiB1bC5cbkBtaXhpbiBhY2NvcmRpb24taXRlbSB7XG4gICY6Zmlyc3QtY2hpbGQgPiA6Zmlyc3QtY2hpbGQge1xuICAgIGJvcmRlci1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICRnbG9iYWwtcmFkaXVzIDAgMDtcbiAgfVxuXG4gICY6bGFzdC1jaGlsZCA+IDpsYXN0LWNoaWxkIHtcbiAgICBib3JkZXItcmFkaXVzOiAwIDAgJGdsb2JhbC1yYWRpdXMgJGdsb2JhbC1yYWRpdXM7XG4gIH1cbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciB0aGUgdGl0bGUgb2YgYW4gYWNjb3JkaW9uIGl0ZW0uIEFwcGx5IHRoaXMgdG8gdGhlIGxpbmsgd2l0aGluIGFuIGFjY29yZGlvbiBpdGVtLlxuQG1peGluIGFjY29yZGlvbi10aXRsZSAoXG4gICRwYWRkaW5nOiAkYWNjb3JkaW9uLWl0ZW0tcGFkZGluZyxcbiAgJGZvbnQtc2l6ZTogJGFjY29yZGlvbi10aXRsZS1mb250LXNpemUsXG4gICRjb2xvcjogJGFjY29yZGlvbi1pdGVtLWNvbG9yLFxuICAkYm9yZGVyOiAkYWNjb3JkaW9uLWNvbnRlbnQtYm9yZGVyLFxuICAkYmFja2dyb3VuZC1ob3ZlcjogJGFjY29yZGlvbi1pdGVtLWJhY2tncm91bmQtaG92ZXJcbikge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwYWRkaW5nOiAkcGFkZGluZztcblxuICBib3JkZXI6ICRib3JkZXI7XG4gIGJvcmRlci1ib3R0b206IDA7XG5cbiAgZm9udC1zaXplOiAkZm9udC1zaXplO1xuICBsaW5lLWhlaWdodDogMTtcbiAgY29sb3I6ICRjb2xvcjtcblxuICA6bGFzdC1jaGlsZDpub3QoLmlzLWFjdGl2ZSkgPiAmIHtcbiAgICBib3JkZXItYm90dG9tOiAkYm9yZGVyO1xuICAgIGJvcmRlci1yYWRpdXM6IDAgMCAkZ2xvYmFsLXJhZGl1cyAkZ2xvYmFsLXJhZGl1cztcbiAgfVxuXG4gICY6aG92ZXIsXG4gICY6Zm9jdXMge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRiYWNrZ3JvdW5kLWhvdmVyO1xuICB9XG5cbiAgQGlmICRhY2NvcmRpb24tcGx1c21pbnVzIHtcbiAgICAmOjpiZWZvcmUge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiA1MCU7XG4gICAgICAjeyRnbG9iYWwtcmlnaHR9OiAxcmVtO1xuICAgICAgbWFyZ2luLXRvcDogLTAuNXJlbTtcbiAgICAgIGNvbnRlbnQ6ICRhY2NvcmRpb24tcGx1cy1jb250ZW50O1xuICAgIH1cblxuICAgIC5pcy1hY3RpdmUgPiAmOjpiZWZvcmUge1xuICAgICAgY29udGVudDogJGFjY29yZGlvbi1taW51cy1jb250ZW50O1xuICAgIH1cbiAgfVxufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGFjY29yZGlvbiBjb250ZW50LiBBcHBseSB0aGlzIHRvIHRoZSBjb250ZW50IHBhbmUgYmVsb3cgYW4gYWNjb3JkaW9uIGl0ZW0ncyB0aXRsZS5cbkBtaXhpbiBhY2NvcmRpb24tY29udGVudCAoXG4gICRwYWRkaW5nOiAkYWNjb3JkaW9uLWNvbnRlbnQtcGFkZGluZyxcbiAgJGJvcmRlcjogJGFjY29yZGlvbi1jb250ZW50LWJvcmRlcixcbiAgJGJhY2tncm91bmQ6ICRhY2NvcmRpb24tY29udGVudC1iYWNrZ3JvdW5kLFxuICAkY29sb3I6ICRhY2NvcmRpb24tY29udGVudC1jb2xvclxuKSB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIHBhZGRpbmc6ICRwYWRkaW5nO1xuXG4gIGJvcmRlcjogJGJvcmRlcjtcbiAgYm9yZGVyLWJvdHRvbTogMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGJhY2tncm91bmQ7XG5cbiAgY29sb3I6ICRjb2xvcjtcblxuICA6bGFzdC1jaGlsZCA+ICY6bGFzdC1jaGlsZCB7XG4gICAgYm9yZGVyLWJvdHRvbTogJGJvcmRlcjtcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1hY2NvcmRpb24ge1xuICAuYWNjb3JkaW9uIHtcbiAgICBAaW5jbHVkZSBhY2NvcmRpb24tY29udGFpbmVyO1xuICB9XG5cbiAgLmFjY29yZGlvbi1pdGVtIHtcbiAgICBAaW5jbHVkZSBhY2NvcmRpb24taXRlbTtcbiAgfVxuXG4gIC5hY2NvcmRpb24tdGl0bGUge1xuICAgIEBpbmNsdWRlIGFjY29yZGlvbi10aXRsZTtcbiAgfVxuXG4gIC5hY2NvcmRpb24tY29udGVudCB7XG4gICAgQGluY2x1ZGUgYWNjb3JkaW9uLWNvbnRlbnQ7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBwcm90b3R5cGUtdGV4dC11dGlsaXRpZXNcbi8vLy9cblxuLy8vIFJlc3BvbnNpdmUgYnJlYWtwb2ludHMgZm9yIHRleHQgdXRpbGl0aWVzXG4vLy8gQHR5cGUgQm9vbGVhblxuJHByb3RvdHlwZS11dGlsaXRpZXMtYnJlYWtwb2ludHM6ICRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBWYWx1ZSBmb3IgYHRleHQtb3ZlcmZsb3dgIHZhcmlhYmxlXG4vLy8gQHR5cGUgU3RyaW5nXG4kcHJvdG90eXBlLXRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzICFkZWZhdWx0O1xuXG4vLy8gSW1hZ2UgUmVwbGFjZW1lbnQgdXRpbGl0eS4gYHRleHQtaGlkZWBcbkBtaXhpbiB0ZXh0LWhpZGUge1xuICBmb250OiAwLzAgYSAhaW1wb3J0YW50O1xuICBjb2xvcjogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbiAgdGV4dC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbiAgYm9yZGVyOiAwICFpbXBvcnRhbnQ7XG59XG5cbi8vLyBUcnVuY2F0aW5nIHRoZSB0ZXh0LCBlbGlwc2lzIGJ5IGRlZmF1bHQuXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRvdmVyZmxvdyBbJHByb3RvdHlwZS10ZXh0LW92ZXJmbG93XSBUZXh0IFRydW5jYXRlXG5AbWl4aW4gdGV4dC10cnVuY2F0ZShcbiAgJG92ZXJmbG93OiAkcHJvdG90eXBlLXRleHQtb3ZlcmZsb3dcbikge1xuICBtYXgtd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcbiAgb3ZlcmZsb3c6IGhpZGRlbiAhaW1wb3J0YW50O1xuICB0ZXh0LW92ZXJmbG93OiAkb3ZlcmZsb3c7IFxuICB3aGl0ZS1zcGFjZTogbm93cmFwICFpbXBvcnRhbnQ7XG59XG5cbi8vLyBObyB3cmFwcGluZyBvZiB0aGUgdGV4dC4gYHRleHQtbm93cmFwYFxuQG1peGluIHRleHQtbm93cmFwIHtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcCAhaW1wb3J0YW50O1xufVxuXG4vLy8gV3JhcHBpbmcgb2YgdGhlIHRleHQuIGB0ZXh0LXdyYXBgXG5AbWl4aW4gdGV4dC13cmFwIHtcbiAgd29yZC13cmFwOiBicmVhay13b3JkICFpbXBvcnRhbnQ7XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLXByb3RvdHlwZS10ZXh0LXV0aWxpdGllcyB7XG4gIC50ZXh0LWhpZGUge1xuICAgIEBpbmNsdWRlIHRleHQtaGlkZTtcbiAgfVxuXG4gIC50ZXh0LXRydW5jYXRlIHtcbiAgICBAaW5jbHVkZSB0ZXh0LXRydW5jYXRlO1xuICB9XG5cbiAgLnRleHQtbm93cmFwIHtcbiAgICBAaW5jbHVkZSB0ZXh0LW5vd3JhcDtcbiAgfVxuXG4gIC50ZXh0LXdyYXAge1xuICAgIEBpbmNsdWRlIHRleHQtd3JhcDtcbiAgfVxuXG4gIEBpZiAoJHByb3RvdHlwZS11dGlsaXRpZXMtYnJlYWtwb2ludHMpIHtcbiAgICAvLyBMb29wIHRocm91Z2ggUmVzcG9uc2l2ZSBCcmVha3BvaW50c1xuICAgIEBlYWNoICRzaXplIGluICRicmVha3BvaW50LWNsYXNzZXMge1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkc2l6ZSkge1xuICAgICAgICBAaWYgJHNpemUgIT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQge1xuICAgICAgICAgIC4jeyRzaXplfS10ZXh0LWhpZGUge1xuICAgICAgICAgICAgQGluY2x1ZGUgdGV4dC1oaWRlO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIC4jeyRzaXplfS10ZXh0LXRydW5jYXRlIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIHRleHQtdHJ1bmNhdGU7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgLiN7JHNpemV9LXRleHQtbm93cmFwIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIHRleHQtbm93cmFwO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIC4jeyRzaXplfS10ZXh0LXdyYXAge1xuICAgICAgICAgICAgQGluY2x1ZGUgdGV4dC13cmFwO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHByb3RvdHlwZS10ZXh0LXRyYW5zZm9ybWF0aW9uXG4vLy8vXG5cbi8vLyBSZXNwb25zaXZlIGJyZWFrcG9pbnRzIGZvciB0ZXh0IHRyYW5zZm9ybWF0aW9uIGNsYXNzZXNcbi8vLyBAdHlwZSBCb29sZWFuXG4kcHJvdG90eXBlLXRyYW5zZm9ybWF0aW9uLWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cyAhZGVmYXVsdDtcblxuLy8vIE1hcCBjb250YWluaW5nIGFsbCB0aGUgYHRleHQtdHJhbnNmb3JtYXRpb25gIGNsYXNzZXNcbi8vLyBAdHlwZSBNYXBcbiRwcm90b3R5cGUtdGV4dC10cmFuc2Zvcm1hdGlvbjogKFxuICBsb3dlcmNhc2UsXG4gIHVwcGVyY2FzZSxcbiAgY2FwaXRhbGl6ZVxuKSAhZGVmYXVsdDtcblxuLy8vIFRleHQgVHJhbnNmb3JtYXRpb24sIGJ5IGRlZmF1bHQgY29taW5nIHRocm91Z2ggYSBtYXAgYCRwcm90b3R5cGUtdGV4dC10cmFuc2Zvcm1hdGlvbmBcbi8vLyBAcGFyYW0ge1N0cmluZ30gJHRyYW5zZm9ybWF0aW9uIFtdIFRleHQgVHJhbnNmb3JtYXRpb25cbkBtaXhpbiB0ZXh0LXRyYW5zZm9ybSgkdHJhbnNmb3JtYXRpb24pIHtcbiAgdGV4dC10cmFuc2Zvcm06ICR0cmFuc2Zvcm1hdGlvbiAhaW1wb3J0YW50O1xufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1wcm90b3R5cGUtdGV4dC10cmFuc2Zvcm1hdGlvbiB7XG4gIEBlYWNoICR0cmFuc2Zvcm1hdGlvbiBpbiAkcHJvdG90eXBlLXRleHQtdHJhbnNmb3JtYXRpb24ge1xuICAgIC50ZXh0LSN7JHRyYW5zZm9ybWF0aW9ufSB7XG4gICAgICBAaW5jbHVkZSB0ZXh0LXRyYW5zZm9ybSgkdHJhbnNmb3JtYXRpb24pO1xuICAgIH1cbiAgfVxuXG4gIEBpZiAoJHByb3RvdHlwZS10cmFuc2Zvcm1hdGlvbi1icmVha3BvaW50cykge1xuICAgIC8vIExvb3AgdGhyb3VnaCBSZXNwb25zaXZlIEJyZWFrcG9pbnRzXG4gIFx0QGVhY2ggJHNpemUgaW4gJGJyZWFrcG9pbnQtY2xhc3NlcyB7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRzaXplKSB7XG4gICAgICAgIEBlYWNoICR0cmFuc2Zvcm1hdGlvbiBpbiAkcHJvdG90eXBlLXRleHQtdHJhbnNmb3JtYXRpb24ge1xuICAgICAgICAgIEBpZiAkc2l6ZSAhPSAkLXpmLXplcm8tYnJlYWtwb2ludCB7XG4gICAgICAgICAgICAuI3skc2l6ZX0tdGV4dC0jeyR0cmFuc2Zvcm1hdGlvbn0ge1xuICBcdFx0XHQgICAgICBAaW5jbHVkZSB0ZXh0LXRyYW5zZm9ybSgkdHJhbnNmb3JtYXRpb24pO1xuICBcdFx0XHQgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHByb3RvdHlwZS10ZXh0LWRlY29yYXRpb25cbi8vLy9cblxuLy8vIFJlc3BvbnNpdmUgYnJlYWtwb2ludHMgZm9yIHRleHQgZGVjb3JhdGlvbiBjbGFzc2VzXG4vLy8gQHR5cGUgQm9vbGVhblxuJHByb3RvdHlwZS1kZWNvcmF0aW9uLWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cyAhZGVmYXVsdDtcblxuLy8vIE1hcCBjb250YWluaW5nIGFsbCB0aGUgYHRleHQtZGVjb3JhdGlvbmAgY2xhc3Nlc1xuLy8vIEB0eXBlIE1hcFxuJHByb3RvdHlwZS10ZXh0LWRlY29yYXRpb246IChcbiAgb3ZlcmxpbmUsXG4gIHVuZGVybGluZSxcbiAgbGluZS10aHJvdWdoLFxuKSAhZGVmYXVsdDtcblxuLy8vIFRleHQgRGVjb3JhdGlvbiwgYnkgZGVmYXVsdCBjb21pbmcgdGhyb3VnaCBhIG1hcCBgJHByb3RvdHlwZS10ZXh0LWRlY29yYXRpb25gXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRkZWNvcmF0aW9uIFtdIFRleHQgRGVjb3JhdGlvblxuQG1peGluIHRleHQtZGVjb3JhdGlvbigkZGVjb3JhdGlvbikge1xuICB0ZXh0LWRlY29yYXRpb246ICRkZWNvcmF0aW9uICFpbXBvcnRhbnQ7XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLXByb3RvdHlwZS10ZXh0LWRlY29yYXRpb24ge1xuICBAZWFjaCAkZGVjb3JhdGlvbiBpbiAkcHJvdG90eXBlLXRleHQtZGVjb3JhdGlvbiB7XG4gICAgLnRleHQtI3skZGVjb3JhdGlvbn0ge1xuICAgICAgQGluY2x1ZGUgdGV4dC1kZWNvcmF0aW9uKCRkZWNvcmF0aW9uKTtcbiAgICB9XG4gIH1cblxuICBAaWYgKCRwcm90b3R5cGUtZGVjb3JhdGlvbi1icmVha3BvaW50cykge1xuICAgIC8vIExvb3AgdGhyb3VnaCBSZXNwb25zaXZlIEJyZWFrcG9pbnRzXG4gICAgQGVhY2ggJHNpemUgaW4gJGJyZWFrcG9pbnQtY2xhc3NlcyB7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRzaXplKSB7XG4gICAgICAgIEBlYWNoICRkZWNvcmF0aW9uIGluICRwcm90b3R5cGUtdGV4dC1kZWNvcmF0aW9uIHtcbiAgICAgICAgICBAaWYgJHNpemUgIT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQge1xuICAgICAgICAgICAgLiN7JHNpemV9LXRleHQtI3skZGVjb3JhdGlvbn0ge1xuICAgICAgICAgICAgICBAaW5jbHVkZSB0ZXh0LWRlY29yYXRpb24oJGRlY29yYXRpb24pO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHByb3RvdHlwZS1mb250LXN0eWxpbmdcbi8vLy9cblxuLy8vIFJlc3BvbnNpdmUgYnJlYWtwb2ludHMgZm9yIGZvbnQgc3R5bGluZyB0eXBlc1xuLy8vIEB0eXBlIEJvb2xlYW5cbiRwcm90b3R5cGUtZm9udC1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHMgIWRlZmF1bHQ7XG5cbi8vLyBMZXR0ZXIgc3BhY2luZyBmb3IgYC5mb250LXdpZGVgXG4vLy8gQHR5cGUgTnVtYmVyXG4kcHJvdG90eXBlLXdpZGUtbGV0dGVyLXNwYWNpbmc6IHJlbS1jYWxjKDQpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCB3ZWlnaHQgZm9yIGAuZm9udC1ub3JtYWxgLCBkZWZhdWx0ZWQgdG8gYGdsb2JhbC13ZWlnaHQtbm9ybWFsYFxuLy8vIEB0eXBlIE51bWJlclxuJHByb3RvdHlwZS1mb250LW5vcm1hbDogJGdsb2JhbC13ZWlnaHQtbm9ybWFsICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCB3ZWlnaHQgZm9yIGAuZm9udC1ib2xkYCwgZGVmYXVsdGVkIHRvIGBnbG9iYWwtd2VpZ2h0LWJvbGRgXG4vLy8gQHR5cGUgTnVtYmVyXG4kcHJvdG90eXBlLWZvbnQtYm9sZDogJGdsb2JhbC13ZWlnaHQtYm9sZCAhZGVmYXVsdDtcblxuLy8vIEZvbnQgd2lkZSBsZXR0ZXIgc3BhY2luZyFcbi8vLyBAcGFyYW0ge051bWJlcn0gJGxldHRlci1zcGFjaW5nIFskcHJvdG90eXBlLXdpZGUtbGV0dGVyLXNwYWNpbmddIFdpZGUgbGV0dGVyIHNwYWNpbmcgZm9yIHRoZSBmb250XG5AbWl4aW4gZm9udC13aWRlKFxuICAkbGV0dGVyLXNwYWNpbmc6ICRwcm90b3R5cGUtd2lkZS1sZXR0ZXItc3BhY2luZ1xuKSB7XG4gIGxldHRlci1zcGFjaW5nOiAkbGV0dGVyLXNwYWNpbmc7XG59XG5cbi8vLyBGb250IFdlaWdodCBOb3JtYWwsIGRlZmF1bHQgdmFsdWUgY29taW5nIHRocm91Z2ggYGdsb2JhbC13ZWlnaHQtbm9ybWFsYFxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkd2VpZ2h0IFskcHJvdG90eXBlLWZvbnQtbm9ybWFsXSBXZWlnaHQgb2YgdGhlIGZvbnQgKG5vcm1hbClcbkBtaXhpbiBmb250LW5vcm1hbChcbiAgJHdlaWdodDogJHByb3RvdHlwZS1mb250LW5vcm1hbFxuKSB7XG4gIGZvbnQtd2VpZ2h0OiAkd2VpZ2h0O1xufVxuXG4vLy8gRm9udCBXZWlnaHQgQm9sZCwgZGVmYXVsdCB2YWx1ZSBjb21pbmcgdGhyb3VnaCBgZ2xvYmFsLXdlaWdodC1ib2xkYFxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkd2VpZ2h0IFskcHJvdG90eXBlLWZvbnQtYm9sZF0gV2VpZ2h0IG9mIHRoZSBmb250IChib2xkKVxuQG1peGluIGZvbnQtYm9sZChcbiAgJHdlaWdodDogJHByb3RvdHlwZS1mb250LWJvbGRcbikge1xuICBmb250LXdlaWdodDogJHdlaWdodDtcbn1cblxuLy8vIEZvbnQgU3R5bGUgSXRhbGljXG5AbWl4aW4gZm9udC1pdGFsaWMge1xuICBmb250LXN0eWxlOiBpdGFsaWMgIWltcG9ydGFudDtcbn1cblxuQG1peGluIGZvdW5kYXRpb24tcHJvdG90eXBlLWZvbnQtc3R5bGluZyB7XG4gIC5mb250LXdpZGV7XG4gICAgQGluY2x1ZGUgZm9udC13aWRlO1xuICB9XG5cbiAgLmZvbnQtbm9ybWFsIHtcbiAgICBAaW5jbHVkZSBmb250LW5vcm1hbDtcbiAgfVxuXG4gIC5mb250LWJvbGQge1xuICAgIEBpbmNsdWRlIGZvbnQtYm9sZDtcbiAgfVxuXG4gIC5mb250LWl0YWxpYyB7XG4gICAgQGluY2x1ZGUgZm9udC1pdGFsaWM7XG4gIH1cblxuICBAaWYgKCRwcm90b3R5cGUtZm9udC1icmVha3BvaW50cykge1xuICAgIC8vIExvb3AgdGhyb3VnaCBSZXNwb25zaXZlIEJyZWFrcG9pbnRzXG4gICAgQGVhY2ggJHNpemUgaW4gJGJyZWFrcG9pbnQtY2xhc3NlcyB7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRzaXplKSB7XG4gICAgICAgIEBpZiAkc2l6ZSAhPSAkLXpmLXplcm8tYnJlYWtwb2ludCB7XG4gICAgICAgICAgLiN7JHNpemV9LWZvbnQtd2lkZXtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQtd2lkZTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICAuI3skc2l6ZX0tZm9udC1ub3JtYWwge1xuICAgICAgICAgICAgQGluY2x1ZGUgZm9udC1ub3JtYWw7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgLiN7JHNpemV9LWZvbnQtYm9sZCB7XG4gICAgICAgICAgICBAaW5jbHVkZSBmb250LWJvbGQ7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgLiN7JHNpemV9LWZvbnQtaXRhbGljIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQtaXRhbGljO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHByb3RvdHlwZS1saXN0LXN0eWxlLXR5cGVcbi8vLy9cblxuLy8vIFJlc3BvbnNpdmUgYnJlYWtwb2ludHMgZm9yIGxpc3Qgc3R5bGluZyB0eXBlc1xuLy8vIEB0eXBlIEJvb2xlYW5cbiRwcm90b3R5cGUtbGlzdC1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHMgIWRlZmF1bHQ7XG5cbi8vLyBNYXAgY29udGFpbmluZyBhbGwgdGhlIGBzdHlsZS10eXBlLXVub3JkZXJlZGAgY2xhc3Nlc1xuLy8vIEB0eXBlIE1hcFxuJHByb3RvdHlwZS1zdHlsZS10eXBlLXVub3JkZXJlZDogKFxuICBkaXNjLFxuICBjaXJjbGUsXG4gIHNxdWFyZVxuKSAhZGVmYXVsdDtcblxuLy8vIE1hcCBjb250YWluaW5nIGFsbCB0aGUgYHN0eWxlLXR5cGUtb3JkZXJlZGAgY2xhc3Nlc1xuLy8vIEB0eXBlIE1hcFxuJHByb3RvdHlwZS1zdHlsZS10eXBlLW9yZGVyZWQ6IChcbiAgZGVjaW1hbCxcbiAgbG93ZXItYWxwaGEsXG4gIGxvd2VyLWxhdGluLFxuICBsb3dlci1yb21hbixcbiAgdXBwZXItYWxwaGEsXG4gIHVwcGVyLWxhdGluLFxuICB1cHBlci1yb21hblxuKSAhZGVmYXVsdDtcblxuXG4vLy8gU3R5bGUgdHlwZSBmb3IgdW5vcmRlcmVkIExpc3RzLCBieSBkZWZhdWx0IGNvbWluZyB0aHJvdWdoIGEgbWFwIGAkcHJvdG90eXBlLXN0eWxlLXR5cGUtdW5vcmRlcmVkYFxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkc3R5bGUtdHlwZS11bm9yZGVyZWQgW10gU3R5bGUgdHlwZSBmb3IgdW5vcmRlcmVkIExpc3RzXG5AbWl4aW4gc3R5bGUtdHlwZS11bm9yZGVyZWQoJHN0eWxlLXR5cGUtdW5vcmRlcmVkKSB7XG4gIGxpc3Qtc3R5bGUtdHlwZTogJHN0eWxlLXR5cGUtdW5vcmRlcmVkICFpbXBvcnRhbnQ7XG59XG5cbi8vLyBTdHlsZSB0eXBlIGZvciBvcmRlcmVkIExpc3RzLCBieSBkZWZhdWx0IGNvbWluZyB0aHJvdWdoIGEgbWFwIGAkcHJvdG90eXBlLXN0eWxlLXR5cGUtb3JkZXJlZGBcbi8vLyBAcGFyYW0ge1N0cmluZ30gJHN0eWxlLXR5cGUtb3JkZXJlZCBbXSBTdHlsZSB0eXBlIGZvciBvcmRlcmVkIExpc3RzXG5AbWl4aW4gc3R5bGUtdHlwZS1vcmRlcmVkKCRzdHlsZS10eXBlLW9yZGVyZWQpIHtcbiAgbGlzdC1zdHlsZS10eXBlOiAkc3R5bGUtdHlwZS1vcmRlcmVkICFpbXBvcnRhbnQ7XG59XG5cbkBtaXhpbiBsaXN0LXVub3JkZXJlZCB7XG4gIEBlYWNoICRzdHlsZS10eXBlLXVub3JkZXJlZCBpbiAkcHJvdG90eXBlLXN0eWxlLXR5cGUtdW5vcmRlcmVkIHtcbiAgICB1bC5saXN0LSN7JHN0eWxlLXR5cGUtdW5vcmRlcmVkfSB7XG4gICAgICBAaW5jbHVkZSBzdHlsZS10eXBlLXVub3JkZXJlZCgkc3R5bGUtdHlwZS11bm9yZGVyZWQpO1xuICAgIH1cbiAgfVxuXG4gIEBpZiAoJHByb3RvdHlwZS1saXN0LWJyZWFrcG9pbnRzKSB7XG4gICAgLy8gTG9vcCB0aHJvdWdoIFJlc3BvbnNpdmUgQnJlYWtwb2ludHNcbiAgICBAZWFjaCAkc2l6ZSBpbiAkYnJlYWtwb2ludC1jbGFzc2VzIHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHNpemUpIHtcbiAgICAgICAgQGVhY2ggJHN0eWxlLXR5cGUtdW5vcmRlcmVkIGluICRwcm90b3R5cGUtc3R5bGUtdHlwZS11bm9yZGVyZWQge1xuICAgICAgICAgIEBpZiAkc2l6ZSAhPSAkLXpmLXplcm8tYnJlYWtwb2ludCB7XG4gICAgICAgICAgICB1bC4jeyRzaXplfS1saXN0LSN7JHN0eWxlLXR5cGUtdW5vcmRlcmVkfSB7XG4gICAgICAgICAgICAgIEBpbmNsdWRlIHN0eWxlLXR5cGUtdW5vcmRlcmVkKCRzdHlsZS10eXBlLXVub3JkZXJlZCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBsaXN0LW9yZGVyZWQge1xuICBAZWFjaCAkc3R5bGUtdHlwZS1vcmRlcmVkIGluICRwcm90b3R5cGUtc3R5bGUtdHlwZS1vcmRlcmVkIHtcbiAgICBvbC5saXN0LSN7JHN0eWxlLXR5cGUtb3JkZXJlZH0ge1xuICAgICAgQGluY2x1ZGUgc3R5bGUtdHlwZS1vcmRlcmVkKCRzdHlsZS10eXBlLW9yZGVyZWQpO1xuICAgIH1cbiAgfVxuXG4gIEBpZiAoJHByb3RvdHlwZS1saXN0LWJyZWFrcG9pbnRzKSB7XG4gICAgLy8gTG9vcCB0aHJvdWdoIFJlc3BvbnNpdmUgQnJlYWtwb2ludHNcbiAgICBAZWFjaCAkc2l6ZSBpbiAkYnJlYWtwb2ludC1jbGFzc2VzIHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHNpemUpIHtcbiAgICAgICAgQGVhY2ggJHN0eWxlLXR5cGUtb3JkZXJlZCBpbiAkcHJvdG90eXBlLXN0eWxlLXR5cGUtb3JkZXJlZCB7XG4gICAgICAgICAgQGlmICRzaXplICE9ICQtemYtemVyby1icmVha3BvaW50IHtcbiAgICAgICAgICAgIG9sLiN7JHNpemV9LWxpc3QtI3skc3R5bGUtdHlwZS1vcmRlcmVkfSB7XG4gICAgICAgICAgICAgIEBpbmNsdWRlIHN0eWxlLXR5cGUtb3JkZXJlZCgkc3R5bGUtdHlwZS1vcmRlcmVkKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tcHJvdG90eXBlLWxpc3Qtc3R5bGUtdHlwZSB7XG4gIEBpbmNsdWRlIGxpc3QtdW5vcmRlcmVkO1xuICBAaW5jbHVkZSBsaXN0LW9yZGVyZWQ7XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlc1xuLy8gaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgcHJvdG90eXBlLXJvdW5kZWRcbi8vLy9cblxuLy8vIFJlc3BvbnNpdmUgYnJlYWtwb2ludHMgZm9yIHJvdW5kZWQgdXRpbGl0eS5cbi8vLyBAdHlwZSBCb29sZWFuXG4kcHJvdG90eXBlLXJvdW5kZWQtYnJlYWtwb2ludHM6ICRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCB2YWx1ZSBmb3IgYHByb3RvdHlwZS1ib3JkZXItcmFkaXVzYFxuLy8vIEB0eXBlIE51bWJlclxuJHByb3RvdHlwZS1ib3JkZXItcmFkaXVzOiByZW0tY2FsYygzKSAhZGVmYXVsdDtcblxuLy8vIFJvdW5kZWQgdXRpbGl0eSAoYWxsIGNvcm5lcnMpOiBBZGRzIHJhZGl1cyBjb3JuZXJzIChhbGwgY29ybmVycykgdG8gYW4gZWxlbWVudCBieSBkZWZhdWx0LlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkcmFkaXVzIFskcHJvdG90eXBlLWJvcmRlci1yYWRpdXNdIEJvcmRlciByYWRpdXMgKGFsbCBjb3JuZXJzKVxuQG1peGluIGJvcmRlci1yYWRpdXMoXG4gICRyYWRpdXM6ICRwcm90b3R5cGUtYm9yZGVyLXJhZGl1c1xuKSB7XG4gIGJvcmRlci1yYWRpdXM6ICRyYWRpdXM7XG59XG5cbi8vLyBSb3VuZGVkIHNxdWFyZSB1dGlsaXR5IG9yIHJlY3RhbmdsZSB1dGlsaXR5IChhbGwgY29ybmVycyk6IFJvdW5kcyBhbGwgY29ybmVycyB0byBhbiBlbGVtZW50IGJ5IGRlZmF1bHQgdG8gbWFrZSBhIHBpbGwgc2hhcGUuXG5AbWl4aW4gYm9yZGVyLXJvdW5kZWQge1xuICBib3JkZXItcmFkaXVzOiA1MDAwcHggIWltcG9ydGFudDtcbn1cblxuQG1peGluIGZvdW5kYXRpb24tcHJvdG90eXBlLXJvdW5kZWQge1xuICAucm91bmRlZCB7XG4gICAgQGluY2x1ZGUgYm9yZGVyLXJvdW5kZWQ7XG5cbiAgICAuc3dpdGNoLXBhZGRsZSB7XG4gICAgICBAaW5jbHVkZSBib3JkZXItcm91bmRlZDtcbiAgICAgICY6YWZ0ZXIge1xuICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7IC8vIEZvciBzd2l0Y2hlc1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5yYWRpdXMge1xuICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXM7XG4gIH1cblxuICBAaWYgKCRwcm90b3R5cGUtcm91bmRlZC1icmVha3BvaW50cykge1xuICAgIC8vIExvb3AgdGhyb3VnaCBSZXNwb25zaXZlIEJyZWFrcG9pbnRzXG4gICAgQGVhY2ggJHNpemUgaW4gJGJyZWFrcG9pbnQtY2xhc3NlcyB7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRzaXplKSB7XG4gICAgICAgIEBpZiAkc2l6ZSAhPSAkLXpmLXplcm8tYnJlYWtwb2ludCB7XG4gICAgICAgICAgLiN7JHNpemV9LXJvdW5kZWQge1xuICAgICAgICAgICAgQGluY2x1ZGUgYm9yZGVyLXJvdW5kZWQ7XG4gICAgICAgICAgfVxuICAgICAgICAgIC4jeyRzaXplfS1yYWRpdXMge1xuICAgICAgICAgICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cztcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBwcm90b3R5cGUtYm9yZGVyZWRcbi8vLy9cblxuLy8vIFJlc3BvbnNpdmUgYnJlYWtwb2ludHMgZm9yIGJvcmRlcmVkIHV0aWxpdHkuXG4vLy8gQHR5cGUgQm9vbGVhblxuJHByb3RvdHlwZS1ib3JkZXJlZC1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHMgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHZhbHVlIGZvciBgcHJvdG90eXBlLWJvcmRlci13aWR0aGBcbi8vLyBAdHlwZSBOdW1iZXJcbiRwcm90b3R5cGUtYm9yZGVyLXdpZHRoOiByZW0tY2FsYygxKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgdmFsdWUgZm9yIGBwcm90b3R5cGUtYm9yZGVyLXR5cGVgXG4vLy8gQHR5cGUgU3RyaW5nXG4kcHJvdG90eXBlLWJvcmRlci10eXBlOiBzb2xpZCAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgdmFsdWUgZm9yIGBwcm90b3R5cGUtYm9yZGVyLWNvbG9yYCBkZWZhdWx0ZWQgdG8gYG1lZGl1bS1ncmF5YFxuLy8vIEB0eXBlIENvbG9yXG4kcHJvdG90eXBlLWJvcmRlci1jb2xvcjogJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gQm9yZGVyZWQgVXRpbGl0eTogQWRkcyBhIGxpZ2h0IGJvcmRlciB0byBhbiBlbGVtZW50IGJ5IGRlZmF1bHQuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICR3aWR0aCBbJHByb3RvdHlwZS1ib3JkZXItd2lkdGhdIFdpZHRoIG9mIHRoZSBib3JkZXJcbi8vLyBAcGFyYW0ge1N0cmluZ30gJHR5cGUgWyRwcm90b3R5cGUtYm9yZGVyLXR5cGVdIFR5cGUgb2YgdGhlIGJvcmRlclxuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvciBbJHByb3RvdHlwZS1ib3JkZXItY29sb3JdIENvbG9yIG9mIHRoZSBib3JkZXJcbkBtaXhpbiBib3JkZXJlZChcbiAgJHdpZHRoOiAkcHJvdG90eXBlLWJvcmRlci13aWR0aCxcbiAgJHR5cGU6ICRwcm90b3R5cGUtYm9yZGVyLXR5cGUsXG4gICRjb2xvcjogJHByb3RvdHlwZS1ib3JkZXItY29sb3Jcbikge1xuICBib3JkZXI6ICR3aWR0aCAkdHlwZSAkY29sb3I7XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLXByb3RvdHlwZS1ib3JkZXJlZCB7XG4gIC5ib3JkZXJlZCB7XG4gICAgQGluY2x1ZGUgYm9yZGVyZWQ7XG4gIH1cblxuICBAaWYgKCRwcm90b3R5cGUtYm9yZGVyZWQtYnJlYWtwb2ludHMpIHtcbiAgICAvLyBMb29wIHRocm91Z2ggUmVzcG9uc2l2ZSBCcmVha3BvaW50c1xuICAgIEBlYWNoICRzaXplIGluICRicmVha3BvaW50LWNsYXNzZXMge1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkc2l6ZSkge1xuICAgICAgICBAaWYgJHNpemUgIT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQge1xuICAgICAgICAgIC4jeyRzaXplfS1ib3JkZXJlZCB7XG4gICAgICAgICAgICBAaW5jbHVkZSBib3JkZXJlZDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBwcm90b3R5cGUtc2hhZG93XG4vLy8vXG5cbi8vLyBSZXNwb25zaXZlIGJyZWFrcG9pbnRzIGZvciBzaGFkb3cgdXRpbGl0eS5cbi8vLyBAdHlwZSBCb29sZWFuXG4kcHJvdG90eXBlLXNoYWRvdy1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHMgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHZhbHVlIGZvciBgcHJvdG90eXBlLWJveC1zaGFkb3dgXG4vLy8gQHR5cGUgTnVtYmVyXG4kcHJvdG90eXBlLWJveC1zaGFkb3c6IDAgMnB4IDVweCAwIHJnYmEoMCwwLDAsLjE2KSxcbiAgICAgICAgICAgICAgICAgICAgICAgMCAycHggMTBweCAwIHJnYmEoMCwwLDAsLjEyKSAhZGVmYXVsdDtcblxuLy8vIFNoYWRvdyBVdGlsaXR5OiBBZGRzIGEgbGlnaHQgYm94IHNoYWRvdyB0byBhbiBlbGVtZW50IGJ5IGRlZmF1bHQuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRzaGFkb3cgWyRwcm90b3R5cGUtYm94LXNoYWRvd10gQm94IFNoYWRvdyBvZiBhIGNvbXBvbmVudFxuQG1peGluIHNoYWRvdyhcbiAgJHNoYWRvdzogJHByb3RvdHlwZS1ib3gtc2hhZG93XG4pIHtcbiAgYm94LXNoYWRvdzogJHNoYWRvdztcbn1cblxuQG1peGluIGZvdW5kYXRpb24tcHJvdG90eXBlLXNoYWRvdyB7XG4gIC5zaGFkb3cge1xuICAgIEBpbmNsdWRlIHNoYWRvdztcbiAgfVxuXG4gIEBpZiAoJHByb3RvdHlwZS1zaGFkb3ctYnJlYWtwb2ludHMpIHtcbiAgICAvLyBMb29wIHRocm91Z2ggUmVzcG9uc2l2ZSBCcmVha3BvaW50c1xuICAgIEBlYWNoICRzaXplIGluICRicmVha3BvaW50LWNsYXNzZXMge1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkc2l6ZSkge1xuICAgICAgICBAaWYgJHNpemUgIT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQge1xuICAgICAgICAgIC4jeyRzaXplfS1zaGFkb3cge1xuICAgICAgICAgICAgQGluY2x1ZGUgc2hhZG93O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHByb3RvdHlwZS1hcnJvd1xuLy8vL1xuXG4vLy8gTWFwIGNvbnRhaW5pbmcgYWxsIHRoZSBgYXJyb3dgIGRpcmVjdGlvblxuLy8vIEB0eXBlIE1hcFxuJHByb3RvdHlwZS1hcnJvdy1kaXJlY3Rpb25zOiAoXG4gIGRvd24sXG4gIHVwLFxuICByaWdodCxcbiAgbGVmdFxuKSAhZGVmYXVsdDtcblxuLy8vIFdpZHRoIG9mIHRoZSBBcnJvdywgYDAuNDM3NXJlbWAgYnkgZGVmYXVsdC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRwcm90b3R5cGUtYXJyb3ctc2l6ZTogMC40Mzc1cmVtO1xuXG4vLy8gQ29sb3Igb2YgdGhlIEFycm93LCBgJGJsYWNrYCBieSBkZWZhdWx0LlxuLy8vIEB0eXBlIENvbG9yXG4kcHJvdG90eXBlLWFycm93LWNvbG9yOiAkYmxhY2s7XG5cbkBtaXhpbiBmb3VuZGF0aW9uLXByb3RvdHlwZS1hcnJvdyB7XG4gIEBlYWNoICRwcm90b3R5cGUtYXJyb3ctZGlyZWN0aW9uIGluICRwcm90b3R5cGUtYXJyb3ctZGlyZWN0aW9ucyB7XG4gICAgLmFycm93LSN7JHByb3RvdHlwZS1hcnJvdy1kaXJlY3Rpb259IHtcbiAgICAgIEBpbmNsdWRlIGNzcy10cmlhbmdsZShcbiAgICAgICAgJHByb3RvdHlwZS1hcnJvdy1zaXplLCBcbiAgICAgICAgJHByb3RvdHlwZS1hcnJvdy1jb2xvciwgXG4gICAgICAgICRwcm90b3R5cGUtYXJyb3ctZGlyZWN0aW9uXG4gICAgICApO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHByb3RvdHlwZS1zZXBhcmF0b3Jcbi8vLy9cblxuLy8vIFJlc3BvbnNpdmUgYnJlYWtwb2ludHMgZm9yIHNlcGFyYXRvci5cbi8vLyBAdHlwZSBCb29sZWFuXG4kcHJvdG90eXBlLXNlcGFyYXRvci1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHMgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGFsaWdubWVudCBvZiBhIHNlcGFyYXRvci5cbi8vLyBAdHlwZSBTdHJpbmdcbiRwcm90b3R5cGUtc2VwYXJhdG9yLWFsaWduOiBjZW50ZXIgIWRlZmF1bHQ7XG5cbi8vLyBIZWlnaHQgb2YgYSBzZXBhcmF0b3IuXG4vLy8gQHR5cGUgTnVtYmVyXG4kcHJvdG90eXBlLXNlcGFyYXRvci1oZWlnaHQ6IHJlbS1jYWxjKDIpICFkZWZhdWx0O1xuXG4vLy8gV2lkdGggb2YgYSBzZXBhcmF0b3IuXG4vLy8gQHR5cGUgTnVtYmVyXG4kcHJvdG90eXBlLXNlcGFyYXRvci13aWR0aDogM3JlbSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgY29sb3Igb2YgYSBzZXBhcmF0b3IuXG4vLy8gQHR5cGUgQ29sb3JcbiRwcm90b3R5cGUtc2VwYXJhdG9yLWJhY2tncm91bmQ6ICRwcmltYXJ5LWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gVG9wIE1hcmdpbiBvZiBhIHNlcGFyYXRvci5cbi8vLyBAdHlwZSBOdW1iZXJcbiRwcm90b3R5cGUtc2VwYXJhdG9yLW1hcmdpbi10b3A6ICRnbG9iYWwtbWFyZ2luICFkZWZhdWx0O1xuXG4vLy8gVGl0bGUgc2VwYXJhdG9yIFV0aWxpdHksIG1vc3RseSB1c2VkIHRvIHN0eWxlIHRoZSBtYWluIGhlYWRpbmcgb2YgYSBzZWN0aW9uXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRhbGlnbiBbJHByb3RvdHlwZS1zZXBhcmF0b3ItYWxpZ25dIC0gc2VwYXJhdG9yIEFsaWdubWVudFxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkaGVpZ2h0IFskcHJvdG90eXBlLXNlcGFyYXRvci1oZWlnaHRdIC0gV2lkdGhcbi8vLyBAcGFyYW0ge051bWJlcn0gJHdpZHRoIFskcHJvdG90eXBlLXNlcGFyYXRvci13aWR0aF0gLSBIZWlnaHRcbi8vLyBAcGFyYW0ge0NvbG9yfSAkYmFja2dyb3VuZCBbJHByb3RvdHlwZS1zZXBhcmF0b3ItYmFja2dyb3VuZF0gLSBCYWNrZ3JvdW5kXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICR0b3AgWyRwcm90b3R5cGUtc2VwYXJhdG9yLW1hcmdpbi10b3BdIC0gTWFyZ2luIFRvcFxuQG1peGluIHNlcGFyYXRvciAoXG4gICRhbGlnbjogJHByb3RvdHlwZS1zZXBhcmF0b3ItYWxpZ24sXG4gICRoZWlnaHQ6ICRwcm90b3R5cGUtc2VwYXJhdG9yLWhlaWdodCxcbiAgJHdpZHRoOiAkcHJvdG90eXBlLXNlcGFyYXRvci13aWR0aCxcbiAgJGJhY2tncm91bmQ6ICRwcm90b3R5cGUtc2VwYXJhdG9yLWJhY2tncm91bmQsXG4gICR0b3A6ICRwcm90b3R5cGUtc2VwYXJhdG9yLW1hcmdpbi10b3Bcbikge1xuICB0ZXh0LWFsaWduOiAkYWxpZ24gIWltcG9ydGFudDtcblx0QGluY2x1ZGUgY2xlYXJmaXg7XG5cbiAgJjo6YWZ0ZXIge1xuICAgIEBpbmNsdWRlIHBvc2l0aW9uKHJlbGF0aXZlKTtcbiAgICB3aWR0aDogJHdpZHRoO1xuICAgIGJvcmRlci1ib3R0b206ICRoZWlnaHQgc29saWQgJGJhY2tncm91bmQ7XG4gICAgbWFyZ2luOiAkdG9wIGF1dG8gMDtcblxuICAgIEBpZiAkYWxpZ24gPT0gbGVmdCB7XG4gICAgICBtYXJnaW4tbGVmdDogMCAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIEBpZiAkYWxpZ24gPT0gcmlnaHQge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLXByb3RvdHlwZS1zZXBhcmF0b3Ige1xuXHQuc2VwYXJhdG9yLWNlbnRlciB7XG5cdFx0QGluY2x1ZGUgc2VwYXJhdG9yKGNlbnRlcik7XG5cdH1cblxuICAuc2VwYXJhdG9yLWxlZnQge1xuICAgIEBpbmNsdWRlIHNlcGFyYXRvcihsZWZ0KTtcbiAgfVxuXG4gIC5zZXBhcmF0b3ItcmlnaHQge1xuICAgIEBpbmNsdWRlIHNlcGFyYXRvcihyaWdodCk7XG4gIH1cblxuXHRAaWYgKCRwcm90b3R5cGUtc2VwYXJhdG9yLWJyZWFrcG9pbnRzKSB7XG4gICAgLy8gTG9vcCB0aHJvdWdoIFJlc3BvbnNpdmUgQnJlYWtwb2ludHNcbiAgICBAZWFjaCAkc2l6ZSBpbiAkYnJlYWtwb2ludC1jbGFzc2VzIHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHNpemUpIHtcbiAgICAgICAgQGlmICRzaXplICE9ICQtemYtemVyby1icmVha3BvaW50IHtcbiAgICAgICAgICAuI3skc2l6ZX0tc2VwYXJhdG9yLWNlbnRlciB7XG4gICAgICAgICAgICBAaW5jbHVkZSBzZXBhcmF0b3IoY2VudGVyKTtcbiAgICAgICAgICB9XG4gICAgICAgICAgLiN7JHNpemV9LXNlcGFyYXRvci1sZWZ0IHtcbiAgICAgICAgICAgIEBpbmNsdWRlIHNlcGFyYXRvcihsZWZ0KTtcbiAgICAgICAgICB9XG4gICAgICAgICAgLiN7JHNpemV9LXNlcGFyYXRvci1yaWdodCB7XG4gICAgICAgICAgICBAaW5jbHVkZSBzZXBhcmF0b3IocmlnaHQpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHByb3RvdHlwZS1wb3NpdGlvblxuLy8vL1xuXG4vLy8gUmVzcG9uc2l2ZSBicmVha3BvaW50cyBmb3IgcG9zaXRpb24gaGVscGVyc1xuLy8vIEB0eXBlIEJvb2xlYW5cbiRwcm90b3R5cGUtcG9zaXRpb24tYnJlYWtwb2ludHM6ICRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzICFkZWZhdWx0O1xuXG4vLy8gTWFwIGNvbnRhaW5pbmcgYWxsIHRoZSBgcG9zaXRpb25gIGNsYXNzZXNcbi8vLyBAdHlwZSBNYXBcbiRwcm90b3R5cGUtcG9zaXRpb246IChcbiAgc3RhdGljLFxuICByZWxhdGl2ZSxcbiAgYWJzb2x1dGUsXG4gIGZpeGVkXG4pICFkZWZhdWx0O1xuXG4vLy8gei1pbmRleCBmb3IgZml4ZWQgcG9zaXRpb25pbmdcbi8vLyBAdHlwZSBOdW1iZXJcbiRwcm90b3R5cGUtcG9zaXRpb24tei1pbmRleDogOTc1ICFkZWZhdWx0O1xuXG4vLy8gUG9zaXRpb24gY2xhc3NlcywgYnkgZGVmYXVsdCBjb21pbmcgdGhyb3VnaCBhIG1hcCBgJHByb3RvdHlwZS1wb3NpdGlvbmAsIHdoZXJlYXMgYWxsIHRoZSBvZmZzZXQgdmFsdWVzIGFyZSBtdWx0aXBsaWVkIGJ5IGAkZ2xvYmFsLXBvc2l0aW9uYCB3aGljaCBieSBkZWZhdWx0IGlzIGVxdWFsIHRvIGAxcmVtYC5cbi8vLyBAcGFyYW0ge1N0cmluZ30gJHBvc2l0aW9uIFtdIFBvc2l0aW9uIGNsYXNzZXMsIEVpdGhlciBgc3RhdGljYCwgYHJlbGF0aXZlYCwgYGFic29sdXRlYCBvciBgZml4ZWRgXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICR0b3AgW251bGxdIC0gVG9wIG9mZnNldFxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkcmlnaHQgW251bGxdIC0gUmlnaHQgb2Zmc2V0XG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRib3R0b20gW251bGxdIC0gQm90dG9tIG9mZnNldFxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkbGVmdCBbbnVsbF0gLSBMZWZ0IG9mZnNldFxuQG1peGluIHBvc2l0aW9uKFxuICAkcG9zaXRpb24sXG4gICR0b3A6IG51bGwsXG4gICRyaWdodDogbnVsbCxcbiAgJGJvdHRvbTogbnVsbCxcbiAgJGxlZnQ6IG51bGxcbikge1xuICBwb3NpdGlvbjogJHBvc2l0aW9uICFpbXBvcnRhbnQ7XG4gIEBpZiAkdG9wICE9IG51bGwge1xuICAgIHRvcDogJHRvcCAqICRnbG9iYWwtcG9zaXRpb24gIWltcG9ydGFudDtcbiAgfVxuICBAaWYgJHJpZ2h0ICE9IG51bGwge1xuICAgIHJpZ2h0OiAkcmlnaHQgKiAkZ2xvYmFsLXBvc2l0aW9uICFpbXBvcnRhbnQ7XG4gIH1cbiAgQGlmICRib3R0b20gIT0gbnVsbCB7XG4gICAgYm90dG9tOiAkYm90dG9tICogJGdsb2JhbC1wb3NpdGlvbiAhaW1wb3J0YW50O1xuICB9XG4gIEBpZiAkbGVmdCAhPSBudWxsIHtcbiAgICBsZWZ0OiAkbGVmdCAqICRnbG9iYWwtcG9zaXRpb24gIWltcG9ydGFudDtcbiAgfVxufVxuXG4vLy8gUG9zaXRpb24gRml4ZWQgb24gdG9wIGNvcm5lcnNcbi8vLyBAcGFyYW0ge051bWJlcn0gJHotaW5kZXggWyRwcm90b3R5cGUtcG9zaXRpb24tei1pbmRleF0gei1pbmRleCBmb3IgYHBvc2l0aW9uLWZpeGVkLXRvcGBcbkBtaXhpbiBwb3NpdGlvbi1maXhlZC10b3AoXG4gICR6LWluZGV4OiAkcHJvdG90eXBlLXBvc2l0aW9uLXotaW5kZXhcbikge1xuICBAaW5jbHVkZSBwb3NpdGlvbihmaXhlZCwgMCwgMCwgbnVsbCwgMCk7XG4gIHotaW5kZXg6ICR6LWluZGV4O1xufVxuXG4vLy8gUG9zaXRpb24gRml4ZWQgb24gYm90dG9tIGNvcm5lcnNcbi8vLyBAcGFyYW0ge051bWJlcn0gJHotaW5kZXggWyRwcm90b3R5cGUtcG9zaXRpb24tei1pbmRleF0gei1pbmRleCBmb3IgYHBvc2l0aW9uLWZpeGVkLWJvdHRvbWBcbkBtaXhpbiBwb3NpdGlvbi1maXhlZC1ib3R0b20oXG4gICR6LWluZGV4OiAkcHJvdG90eXBlLXBvc2l0aW9uLXotaW5kZXhcbikge1xuICBAaW5jbHVkZSBwb3NpdGlvbihmaXhlZCwgbnVsbCwgMCwgMCwgMCk7XG4gIHotaW5kZXg6ICR6LWluZGV4O1xufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1wcm90b3R5cGUtcG9zaXRpb24ge1xuICAvLyBQb3NpdGlvbjogU3RhdGljLCBSZWxhdGl2ZSwgRml4ZWQsIEFic29sdXRlXG4gIEBlYWNoICRwb3NpdGlvbiBpbiAkcHJvdG90eXBlLXBvc2l0aW9uIHtcbiAgICAucG9zaXRpb24tI3skcG9zaXRpb259IHtcbiAgICAgIEBpbmNsdWRlIHBvc2l0aW9uKCRwb3NpdGlvbik7XG4gICAgfVxuICB9XG5cbiAgLy8gUG9zaXRpb246IEZpeGVkIFRvcCwgRml4ZWQgQm90dG9tXG4gIC5wb3NpdGlvbi1maXhlZC10b3Age1xuICAgIEBpbmNsdWRlIHBvc2l0aW9uLWZpeGVkLXRvcDtcbiAgfVxuICAucG9zaXRpb24tZml4ZWQtYm90dG9tIHtcbiAgICBAaW5jbHVkZSBwb3NpdGlvbi1maXhlZC1ib3R0b207XG4gIH1cblxuICBAaWYgKCRwcm90b3R5cGUtcG9zaXRpb24tYnJlYWtwb2ludHMpIHtcbiAgICAvLyBMb29wIHRocm91Z2ggUmVzcG9uc2l2ZSBCcmVha3BvaW50c1xuICAgIEBlYWNoICRzaXplIGluICRicmVha3BvaW50LWNsYXNzZXMge1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkc2l6ZSkge1xuICAgICAgICAvLyBQb3NpdGlvbjogU3RhdGljLCBSZWxhdGl2ZSwgRml4ZWQsIEFic29sdXRlXG4gICAgICAgIEBlYWNoICRwb3NpdGlvbiBpbiAkcHJvdG90eXBlLXBvc2l0aW9uIHtcbiAgICAgICAgICBAaWYgJHNpemUgIT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQge1xuICAgICAgICAgICAgLiN7JHNpemV9LXBvc2l0aW9uLSN7JHBvc2l0aW9ufSB7XG4gICAgICAgICAgICAgIEBpbmNsdWRlIHBvc2l0aW9uKCRwb3NpdGlvbik7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLy8gUG9zaXRpb246IEZpeGVkIFRvcCwgRml4ZWQgQm90dG9tXG4gICAgICAgIEBpZiAkc2l6ZSAhPSAkLXpmLXplcm8tYnJlYWtwb2ludCB7XG4gICAgICAgICAgLiN7JHNpemV9LXBvc2l0aW9uLWZpeGVkLXRvcCB7XG4gICAgICAgICAgICBAaW5jbHVkZSBwb3NpdGlvbi1maXhlZC10b3A7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgLiN7JHNpemV9LXBvc2l0aW9uLWZpeGVkLWJvdHRvbSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBwb3NpdGlvbi1maXhlZC1ib3R0b207XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlc1xuLy8gaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgcHJvdG90eXBlLW92ZXJmbG93XG4vLy8vXG5cbi8vLyBSZXNwb25zaXZlIGJyZWFrcG9pbnRzIGZvciBvdmVyZmxvdyBoZWxwZXIgY2xhc3Nlc1xuLy8vIEB0eXBlIEJvb2xlYW5cbiRwcm90b3R5cGUtb3ZlcmZsb3ctYnJlYWtwb2ludHM6ICRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzICFkZWZhdWx0O1xuXG4vLy8gTWFwIGNvbnRhaW5pbmcgYWxsIHRoZSBgb3ZlcmZsb3dgIGNsYXNzZXNcbi8vLyBAdHlwZSBNYXBcbiRwcm90b3R5cGUtb3ZlcmZsb3c6IChcbiAgdmlzaWJsZSxcbiAgaGlkZGVuLFxuICBzY3JvbGxcbikgIWRlZmF1bHQ7XG5cbi8vLyBPdmVyZmxvdyBjbGFzc2VzLCBieSBkZWZhdWx0IGNvbWluZyB0aHJvdWdoIGEgbWFwIGAkcHJvdG90eXBlLW92ZXJmbG93YFxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkb3ZlcmZsb3cgW10gT3ZlcmZsb3cgY2xhc3Nlc1xuQG1peGluIG92ZXJmbG93KCRvdmVyZmxvdykge1xuICBvdmVyZmxvdzogJG92ZXJmbG93ICFpbXBvcnRhbnQ7XG59XG5cbi8vLyBPdmVyZmxvdyBjbGFzc2VzIG9uIGhvcml6b250YWwgYXhpcywgYnkgZGVmYXVsdCBjb21pbmcgdGhyb3VnaCBhIG1hcCBgJHByb3RvdHlwZS1vdmVyZmxvd2Bcbi8vLyBAcGFyYW0ge1N0cmluZ30gJG92ZXJmbG93IFtdIE92ZXJmbG93IGNsYXNzZXMgKGhvcml6b250YWwgYXhpcylcbkBtaXhpbiBvdmVyZmxvdy14KCRvdmVyZmxvdykge1xuICBvdmVyZmxvdy14OiAkb3ZlcmZsb3cgIWltcG9ydGFudDtcbn1cblxuLy8vIE92ZXJmbG93IGNsYXNzZXMgb24gdmVydGljYWwgYXhpcywgYnkgZGVmYXVsdCBjb21pbmcgdGhyb3VnaCBhIG1hcCBgJHByb3RvdHlwZS1vdmVyZmxvd2Bcbi8vLyBAcGFyYW0ge1N0cmluZ30gJG92ZXJmbG93IFtdIE92ZXJmbG93IGNsYXNzZXMgKHZlcnRpY2FsIGF4aXMpXG5AbWl4aW4gb3ZlcmZsb3cteSgkb3ZlcmZsb3cpIHtcbiAgb3ZlcmZsb3cteTogJG92ZXJmbG93ICFpbXBvcnRhbnQ7XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLXByb3RvdHlwZS1vdmVyZmxvdyB7XG4gIEBlYWNoICRvdmVyZmxvdyBpbiAkcHJvdG90eXBlLW92ZXJmbG93IHtcbiAgICAub3ZlcmZsb3ctI3skb3ZlcmZsb3d9IHtcbiAgICAgIEBpbmNsdWRlIG92ZXJmbG93KCRvdmVyZmxvdyk7XG4gICAgfVxuICAgIC5vdmVyZmxvdy14LSN7JG92ZXJmbG93fSB7XG4gICAgICBAaW5jbHVkZSBvdmVyZmxvdy14KCRvdmVyZmxvdyk7XG4gICAgfVxuICAgIC5vdmVyZmxvdy15LSN7JG92ZXJmbG93fSB7XG4gICAgICBAaW5jbHVkZSBvdmVyZmxvdy15KCRvdmVyZmxvdyk7XG4gICAgfVxuICB9XG5cbiAgQGlmICgkcHJvdG90eXBlLW92ZXJmbG93LWJyZWFrcG9pbnRzKSB7XG4gICAgLy8gTG9vcCB0aHJvdWdoIFJlc3BvbnNpdmUgQnJlYWtwb2ludHNcbiAgICBAZWFjaCAkc2l6ZSBpbiAkYnJlYWtwb2ludC1jbGFzc2VzIHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHNpemUpIHtcbiAgICAgICAgQGVhY2ggJG92ZXJmbG93IGluICRwcm90b3R5cGUtb3ZlcmZsb3cge1xuICAgICAgICAgIEBpZiAkc2l6ZSAhPSAkLXpmLXplcm8tYnJlYWtwb2ludCB7XG4gICAgICAgICAgICAuI3skc2l6ZX0tb3ZlcmZsb3ctI3skb3ZlcmZsb3d9IHtcbiAgICAgICAgICAgICAgQGluY2x1ZGUgb3ZlcmZsb3coJG92ZXJmbG93KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC4jeyRzaXplfS1vdmVyZmxvdy14LSN7JG92ZXJmbG93fSB7XG4gICAgICAgICAgICAgIEBpbmNsdWRlIG92ZXJmbG93LXgoJG92ZXJmbG93KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC4jeyRzaXplfS1vdmVyZmxvdy15LSN7JG92ZXJmbG93fSB7XG4gICAgICAgICAgICAgIEBpbmNsdWRlIG92ZXJmbG93LXkoJG92ZXJmbG93KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBwcm90b3R5cGUtZGlzcGxheVxuLy8vL1xuXG4vLy8gUmVzcG9uc2l2ZSBicmVha3BvaW50cyBmb3IgZGlzcGxheSBjbGFzc2VzXG4vLy8gQHR5cGUgQm9vbGVhblxuJHByb3RvdHlwZS1kaXNwbGF5LWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cyAhZGVmYXVsdDtcblxuLy8vIE1hcCBjb250YWluaW5nIGFsbCB0aGUgYGRpc3BsYXlgIGNsYXNzZXNcbi8vLyBAdHlwZSBNYXBcbiRwcm90b3R5cGUtZGlzcGxheTogKFxuICBpbmxpbmUsXG4gIGlubGluZS1ibG9jayxcbiAgYmxvY2ssXG4gIHRhYmxlLFxuICB0YWJsZS1jZWxsXG4pICFkZWZhdWx0O1xuXG4vLy8gRGlzcGxheSBjbGFzc2VzLCBieSBkZWZhdWx0IGNvbWluZyB0aHJvdWdoIGEgbWFwIGAkcHJvdG90eXBlLWRpc3BsYXlgXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRkaXNwbGF5IFtdIERpc3BsYXkgY2xhc3Nlc1xuQG1peGluIGRpc3BsYXkoJGRpc3BsYXkpIHtcbiAgZGlzcGxheTogJGRpc3BsYXkgIWltcG9ydGFudDtcbn1cblxuQG1peGluIGZvdW5kYXRpb24tcHJvdG90eXBlLWRpc3BsYXkge1xuICBAZWFjaCAkZGlzcGxheSBpbiAkcHJvdG90eXBlLWRpc3BsYXkge1xuICAgIC5kaXNwbGF5LSN7JGRpc3BsYXl9IHtcbiAgICAgIEBpbmNsdWRlIGRpc3BsYXkoJGRpc3BsYXkpO1xuICAgIH1cbiAgfVxuXG4gIEBpZiAoJHByb3RvdHlwZS1kaXNwbGF5LWJyZWFrcG9pbnRzKSB7XG4gICAgLy8gTG9vcCB0aHJvdWdoIFJlc3BvbnNpdmUgQnJlYWtwb2ludHNcbiAgICBAZWFjaCAkc2l6ZSBpbiAkYnJlYWtwb2ludC1jbGFzc2VzIHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHNpemUpIHtcbiAgICAgICAgQGVhY2ggJGRpc3BsYXkgaW4gJHByb3RvdHlwZS1kaXNwbGF5IHtcbiAgICAgICAgICBAaWYgJHNpemUgIT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQge1xuICAgICAgICAgICAgLiN7JHNpemV9LWRpc3BsYXktI3skZGlzcGxheX0ge1xuICAgICAgICAgICAgICBAaW5jbHVkZSBkaXNwbGF5KCRkaXNwbGF5KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBwcm90b3R5cGUtYm9yZGVyLWJveFxuLy8vL1xuXG4vLy8gUmVzcG9uc2l2ZSBicmVha3BvaW50cyBmb3IgYm9yZGVyIGJveC5cbi8vLyBAdHlwZSBCb29sZWFuXG4kcHJvdG90eXBlLWJvcmRlci1ib3gtYnJlYWtwb2ludHM6ICRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzICFkZWZhdWx0O1xuXG4vLy8gQm9yZGVyIGJveCB1dGlsaXR5XG5AbWl4aW4gYm9yZGVyLWJveCB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3ggIWltcG9ydGFudDtcbn1cblxuQG1peGluIGZvdW5kYXRpb24tcHJvdG90eXBlLWJvcmRlci1ib3gge1xuICAuYm9yZGVyLWJveCB7XG4gICAgQGluY2x1ZGUgYm9yZGVyLWJveDtcbiAgfVxuXG4gIEBpZiAoJHByb3RvdHlwZS1ib3JkZXItYm94LWJyZWFrcG9pbnRzKSB7XG4gICAgLy8gTG9vcCB0aHJvdWdoIFJlc3BvbnNpdmUgQnJlYWtwb2ludHNcbiAgICBAZWFjaCAkc2l6ZSBpbiAkYnJlYWtwb2ludC1jbGFzc2VzIHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHNpemUpIHtcbiAgICAgICAgQGlmICRzaXplICE9ICQtemYtemVyby1icmVha3BvaW50IHtcbiAgICAgICAgICAuI3skc2l6ZX0tYm9yZGVyLWJveCB7XG4gICAgICAgICAgICBAaW5jbHVkZSBib3JkZXItYm94O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHByb3RvdHlwZS1ib3JkZXItbm9uZVxuLy8vL1xuXG4vLy8gUmVzcG9uc2l2ZSBicmVha3BvaW50cyBmb3IgYm9yZGVyIG5vbmUuXG4vLy8gQHR5cGUgQm9vbGVhblxuJHByb3RvdHlwZS1ib3JkZXItbm9uZS1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHMgIWRlZmF1bHQ7XG5cbi8vLyBCb3JkZXIgbm9uZSB1dGlsaXR5XG5AbWl4aW4gYm9yZGVyLW5vbmUge1xuICBib3JkZXI6IG5vbmUgIWltcG9ydGFudDtcbn1cblxuQG1peGluIGZvdW5kYXRpb24tcHJvdG90eXBlLWJvcmRlci1ub25lIHtcbiAgLmJvcmRlci1ub25lIHtcbiAgICBAaW5jbHVkZSBib3JkZXItbm9uZTtcbiAgfVxuXG4gIEBpZiAoJHByb3RvdHlwZS1ib3JkZXItbm9uZS1icmVha3BvaW50cykge1xuICAgIC8vIExvb3AgdGhyb3VnaCBSZXNwb25zaXZlIEJyZWFrcG9pbnRzXG4gICAgQGVhY2ggJHNpemUgaW4gJGJyZWFrcG9pbnQtY2xhc3NlcyB7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRzaXplKSB7XG4gICAgICAgIEBpZiAkc2l6ZSAhPSAkLXpmLXplcm8tYnJlYWtwb2ludCB7XG4gICAgICAgICAgLiN7JHNpemV9LWJvcmRlci1ub25lIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJvcmRlci1ub25lO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHByb3RvdHlwZS1zaXppbmdcbi8vLy9cblxuLy8vIFJlc3BvbnNpdmUgYnJlYWtwb2ludHMgZm9yIHNwYWNpbmcgY2xhc3NlcyAobWFyZ2luIGFuZCBwYWRkaW5nKVxuLy8vIEB0eXBlIEJvb2xlYW5cbiRwcm90b3R5cGUtc2l6aW5nLWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cyAhZGVmYXVsdDtcblxuLy8vIE1hcCBjb250YWluaW5nIGFsbCB0aGUgYHNpemluZ2AgY2xhc3Nlc1xuLy8vIEB0eXBlIE1hcFxuJHByb3RvdHlwZS1zaXppbmc6IChcbiAgd2lkdGgsXG4gIGhlaWdodFxuKSAhZGVmYXVsdDtcblxuLy8vIE1hcCBjb250YWluaW5nIGFsbCB0aGUgc2l6ZXMuXG4vLy8gQHR5cGUgTWFwXG4kcHJvdG90eXBlLXNpemVzOiAoXG4gIDI1OiAyNSUsXG4gIDUwOiA1MCUsXG4gIDc1OiA3NSUsXG4gIDEwMDogMTAwJVxuKSAhZGVmYXVsdDtcblxuLy8vIE1heCBXaWR0aCAxMDAgdXRpbGl0eS5cbkBtaXhpbiBtYXgtd2lkdGgtMTAwIHtcbiAgbWF4LXdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG59XG5cbi8vLyBNYXggSGVpZ2h0IDEwMCB1dGlsaXR5LlxuQG1peGluIG1heC1oZWlnaHQtMTAwIHtcbiAgbWF4LWhlaWdodDogMTAwJSAhaW1wb3J0YW50O1xufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1wcm90b3R5cGUtc2l6aW5nIHtcbiAgLy8gRWxlbWVudCBTaXppbmdcbiAgQGVhY2ggJHNpemluZyBpbiAkcHJvdG90eXBlLXNpemluZyB7XG4gICAgQGVhY2ggJGxlbmd0aCwgJHBlcmNlbnRhZ2UgaW4gJHByb3RvdHlwZS1zaXplcyB7XG4gICAgICAuI3skc2l6aW5nfS0jeyRsZW5ndGh9IHtcbiAgICAgICAgI3skc2l6aW5nfTogJHBlcmNlbnRhZ2UgIWltcG9ydGFudDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBNYXggd2lkdGggJiBoZWlnaHRcbiAgLm1heC13aWR0aC0xMDAge1xuICAgIEBpbmNsdWRlIG1heC13aWR0aC0xMDA7XG4gIH1cbiAgLm1heC1oZWlnaHQtMTAwIHtcbiAgICBAaW5jbHVkZSBtYXgtaGVpZ2h0LTEwMDtcbiAgfVxuXG4gIEBpZiAoJHByb3RvdHlwZS1zaXppbmctYnJlYWtwb2ludHMpIHtcbiAgICAvLyBMb29wIHRocm91Z2ggUmVzcG9uc2l2ZSBCcmVha3BvaW50c1xuICAgIEBlYWNoICRzaXplIGluICRicmVha3BvaW50LWNsYXNzZXMge1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkc2l6ZSkge1xuICAgICAgICBAaWYgJHNpemUgIT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQge1xuICAgICAgICAgIEBlYWNoICRzaXppbmcgaW4gJHByb3RvdHlwZS1zaXppbmcge1xuICAgICAgICAgICAgQGVhY2ggJGxlbmd0aCwgJHBlcmNlbnRhZ2UgaW4gJHByb3RvdHlwZS1zaXplcyB7XG4gICAgICAgICAgICAgIC4jeyRzaXplfS0jeyRzaXppbmd9LSN7JGxlbmd0aH0ge1xuICAgICAgICAgICAgICAgICN7JHNpemluZ306ICRwZXJjZW50YWdlICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBwcm90b3R5cGUtc3BhY2luZ1xuLy8vL1xuXG4vLy8gUmVzcG9uc2l2ZSBicmVha3BvaW50cyBmb3Igc3BhY2luZyBjbGFzc2VzIChtYXJnaW4gYW5kIHBhZGRpbmcpXG4vLy8gQHR5cGUgQm9vbGVhblxuJHByb3RvdHlwZS1zcGFjaW5nLWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cyAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgbnVtYmVyIG9mIHNwYWNlcnMgY291bnQgKG1hcmdpbiBhbmQgcGFkZGluZylcbi8vLyBAdHlwZSBOdW1iZXJcbiRwcm90b3R5cGUtc3BhY2Vycy1jb3VudDogMyAhZGVmYXVsdDtcblxuLy8vIE1hcmdpbiBoZWxwZXIgbWl4aW4sIGFsbCB0aGUgdmFsdWVzIGFyZSBtdWx0aXBsaWVkIGJ5IGAkZ2xvYmFsLW1hcmdpbmAgd2hpY2ggYnkgZGVmYXVsdCBpcyBlcXVhbCB0byBgMXJlbWBcbi8vLyBAcGFyYW0ge051bWJlcn0gJHRvcCBbbnVsbF0gLSBNYXJnaW4gVG9wXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRyaWdodCBbbnVsbF0gLSBNYXJnaW4gUmlnaHRcbi8vLyBAcGFyYW0ge051bWJlcn0gJGJvdHRvbSBbbnVsbF0gLSBNYXJnaW4gQm90dG9tXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRsZWZ0IFtudWxsXSAtIE1hcmdpbiBMZWZ0XG5AbWl4aW4gbWFyZ2luKFxuICAkdG9wOiBudWxsLFxuICAkcmlnaHQ6IG51bGwsXG4gICRib3R0b206IG51bGwsXG4gICRsZWZ0OiBudWxsXG4pIHtcbiAgQGlmICR0b3AgIT0gbnVsbCB7XG4gICAgbWFyZ2luLXRvcDogJHRvcCAqICRnbG9iYWwtbWFyZ2luICFpbXBvcnRhbnQ7XG4gIH1cbiAgQGlmICRyaWdodCAhPSBudWxsIHtcbiAgICBtYXJnaW4tcmlnaHQ6ICRyaWdodCAqICRnbG9iYWwtbWFyZ2luICFpbXBvcnRhbnQ7XG4gIH1cbiAgQGlmICRib3R0b20gIT0gbnVsbCB7XG4gICAgbWFyZ2luLWJvdHRvbTogJGJvdHRvbSAqICRnbG9iYWwtbWFyZ2luICFpbXBvcnRhbnQ7XG4gIH1cbiAgQGlmICRsZWZ0ICE9IG51bGwge1xuICAgIG1hcmdpbi1sZWZ0OiAkbGVmdCAqICRnbG9iYWwtbWFyZ2luICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuLy8vIFBhZGRpbmcgaGVscGVyIG1peGluLCBhbGwgdGhlIHZhbHVlcyBhcmUgbXVsdGlwbGllZCBieSBgJGdsb2JhbC1wYWRkaW5nYCB3aGljaCBieSBkZWZhdWx0IGlzIGVxdWFsIHRvIGAxcmVtYFxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkdG9wIFtudWxsXSAtIFBhZGRpbmcgVG9wXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRyaWdodCBbbnVsbF0gLSBQYWRkaW5nIFJpZ2h0XG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRib3R0b20gW251bGxdIC0gUGFkZGluZyBCb3R0b21cbi8vLyBAcGFyYW0ge051bWJlcn0gJGxlZnQgW251bGxdIC0gUGFkZGluZyBMZWZ0XG5AbWl4aW4gcGFkZGluZyhcbiAgJHRvcDogbnVsbCxcbiAgJHJpZ2h0OiBudWxsLFxuICAkYm90dG9tOiBudWxsLFxuICAkbGVmdDogbnVsbFxuKSB7XG4gIEBpZiAkdG9wICE9IG51bGwge1xuICAgIHBhZGRpbmctdG9wOiAkdG9wICogJGdsb2JhbC1wYWRkaW5nICFpbXBvcnRhbnQ7XG4gIH1cbiAgQGlmICRyaWdodCAhPSBudWxsIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAkcmlnaHQgKiAkZ2xvYmFsLXBhZGRpbmcgIWltcG9ydGFudDtcbiAgfVxuICBAaWYgJGJvdHRvbSAhPSBudWxsIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogJGJvdHRvbSAqICRnbG9iYWwtcGFkZGluZyAhaW1wb3J0YW50O1xuICB9XG4gIEBpZiAkbGVmdCAhPSBudWxsIHtcbiAgICBwYWRkaW5nLWxlZnQ6ICRsZWZ0ICogJGdsb2JhbC1wYWRkaW5nICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuLy8vIE1hcmdpbiBjbGFzc2VzIGZvciBzcGVjaWZpYyBkaXJlY3Rpb24gcHJvcGVydGllc1xuLy8vIEBwYXJhbSB7U3RyaW5nfSAkZGlyIFtdIERpcmVjdGlvblxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkc3BhY2VyIFtdIFNwYWNlclxuQG1peGluIG1hcmdpbi1kaXJlY3Rpb24oJGRpciwgJHNwYWNlcikge1xuICBAaWYgKCRkaXIgPT0gdG9wKSB7IFxuICAgIEBpbmNsdWRlIG1hcmdpbigkdG9wOiAkc3BhY2VyKTsgXG4gIH1cbiAgQGVsc2UgaWYgKCRkaXIgPT0gcmlnaHQpIHsgXG4gICAgQGluY2x1ZGUgbWFyZ2luKCRyaWdodDogJHNwYWNlcik7IFxuICB9XG4gIEBlbHNlIGlmICgkZGlyID09IGJvdHRvbSkgeyBcbiAgICBAaW5jbHVkZSBtYXJnaW4oJGJvdHRvbTogJHNwYWNlcik7IFxuICB9XG4gIEBlbHNlIGlmICgkZGlyID09IGxlZnQpIHsgXG4gICAgQGluY2x1ZGUgbWFyZ2luKCRsZWZ0OiAkc3BhY2VyKTsgXG4gIH1cbiAgQGVsc2UgaWYgKCRkaXIgPT0gaG9yaXpvbnRhbCkgeyBcbiAgICBAaW5jbHVkZSBtYXJnaW4oJHJpZ2h0OiAkc3BhY2VyLCAkbGVmdDogJHNwYWNlcik7IFxuICB9XG4gIEBlbHNlIGlmICgkZGlyID09IHZlcnRpY2FsKSB7IFxuICAgIEBpbmNsdWRlIG1hcmdpbigkdG9wOiAkc3BhY2VyLCAkYm90dG9tOiAkc3BhY2VyKTsgXG4gIH1cbn1cblxuLy8vIFBhZGRpbmcgY2xhc3NlcyBmb3Igc3BlY2lmaWMgZGlyZWN0aW9uIHByb3BlcnRpZXNcbi8vLyBAcGFyYW0ge1N0cmluZ30gJGRpciBbXSBEaXJlY3Rpb25cbi8vLyBAcGFyYW0ge051bWJlcn0gJHNwYWNlciBbXSBTcGFjZXJcbkBtaXhpbiBwYWRkaW5nLWRpcmVjdGlvbigkZGlyLCAkc3BhY2VyKSB7XG4gIEBpZiAoJGRpciA9PSB0b3ApIHsgXG4gICAgQGluY2x1ZGUgcGFkZGluZygkdG9wOiAkc3BhY2VyKTsgXG4gIH1cbiAgQGVsc2UgaWYgKCRkaXIgPT0gcmlnaHQpIHsgXG4gICAgQGluY2x1ZGUgcGFkZGluZygkcmlnaHQ6ICRzcGFjZXIpOyBcbiAgfVxuICBAZWxzZSBpZiAoJGRpciA9PSBib3R0b20pIHsgXG4gICAgQGluY2x1ZGUgcGFkZGluZygkYm90dG9tOiAkc3BhY2VyKTsgXG4gIH1cbiAgQGVsc2UgaWYgKCRkaXIgPT0gbGVmdCkgeyBcbiAgICBAaW5jbHVkZSBwYWRkaW5nKCRsZWZ0OiAkc3BhY2VyKTsgXG4gIH1cbiAgQGVsc2UgaWYgKCRkaXIgPT0gaG9yaXpvbnRhbCkgeyBcbiAgICBAaW5jbHVkZSBwYWRkaW5nKCRyaWdodDogJHNwYWNlciwgJGxlZnQ6ICRzcGFjZXIpOyBcbiAgfVxuICBAZWxzZSBpZiAoJGRpciA9PSB2ZXJ0aWNhbCkgeyBcbiAgICBAaW5jbHVkZSBwYWRkaW5nKCR0b3A6ICRzcGFjZXIsICRib3R0b206ICRzcGFjZXIpOyBcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1wcm90b3R5cGUtc3BhY2luZyB7XG4gIEBmb3IgJHNwYWNlciBmcm9tIDAgdGhyb3VnaCAkcHJvdG90eXBlLXNwYWNlcnMtY291bnQge1xuICAgIFxuICAgIEBlYWNoICRwcm9wIGluIChtYXJnaW4sIHBhZGRpbmcpIHtcbiAgICAgIC8vIEFsbCBTaWRlc1xuICAgICAgLiN7JHByb3B9LSN7JHNwYWNlcn0ge1xuICAgICAgICBAaWYgKCRwcm9wID09IG1hcmdpbikgeyBcbiAgICAgICAgICBtYXJnaW46ICRzcGFjZXIgKiAkZ2xvYmFsLW1hcmdpbiAhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgICAgIEBlbHNlIGlmICgkcHJvcCA9PSBwYWRkaW5nKSB7IFxuICAgICAgICAgIHBhZGRpbmc6ICRzcGFjZXIgKiAkZ2xvYmFsLXBhZGRpbmcgIWltcG9ydGFudDtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBAZWFjaCAkZGlyIGluICh0b3AsIHJpZ2h0LCBib3R0b20sIGxlZnQsIGhvcml6b250YWwsIHZlcnRpY2FsKSB7XG4gICAgICAgIC8vIFRvcCBTaWRlXG4gICAgICAgIC4jeyRwcm9wfS0jeyRkaXJ9LSN7JHNwYWNlcn0ge1xuICAgICAgICAgIEBpZiAoJHByb3AgPT0gbWFyZ2luKSB7IFxuICAgICAgICAgICAgQGluY2x1ZGUgbWFyZ2luLWRpcmVjdGlvbigkZGlyLCAkc3BhY2VyKTtcbiAgICAgICAgICB9XG4gICAgICAgICAgQGVsc2UgaWYgKCRwcm9wID09IHBhZGRpbmcpIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIHBhZGRpbmctZGlyZWN0aW9uKCRkaXIsICRzcGFjZXIpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIEBpZiAoJHByb3RvdHlwZS1zcGFjaW5nLWJyZWFrcG9pbnRzKSB7XG4gICAgQGZvciAkc3BhY2VyIGZyb20gMCB0aHJvdWdoICRwcm90b3R5cGUtc3BhY2Vycy1jb3VudCB7XG4gICAgLy8gTG9vcCB0aHJvdWdoIFJlc3BvbnNpdmUgQnJlYWtwb2ludHNcbiAgICAgIEBlYWNoICRzaXplIGluICRicmVha3BvaW50LWNsYXNzZXMge1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRzaXplKSB7XG4gICAgICAgICAgQGlmICRzaXplICE9ICQtemYtemVyby1icmVha3BvaW50IHtcbiAgICAgICAgICAgIC4jeyRzaXplfSB7XG4gICAgICAgICAgICAgIEBlYWNoICRwcm9wIGluIChtYXJnaW4sIHBhZGRpbmcpIHtcbiAgICAgICAgICAgICAgICAvLyBBbGwgU2lkZXNcbiAgICAgICAgICAgICAgICAmLSN7JHByb3B9LSN7JHNwYWNlcn0ge1xuICAgICAgICAgICAgICAgICAgQGlmICgkcHJvcCA9PSBtYXJnaW4pIHsgXG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbjogJHNwYWNlciAqICRnbG9iYWwtbWFyZ2luICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICBAZWxzZSBpZiAoJHByb3AgPT0gcGFkZGluZykgeyBcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogJHNwYWNlciAqICRnbG9iYWwtcGFkZGluZyAhaW1wb3J0YW50O1xuICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIEBlYWNoICRkaXIgaW4gKHRvcCwgcmlnaHQsIGJvdHRvbSwgbGVmdCwgaG9yaXpvbnRhbCwgdmVydGljYWwpIHtcbiAgICAgICAgICAgICAgICAgIC8vIFRvcCBTaWRlXG4gICAgICAgICAgICAgICAgICAmLSN7JHByb3B9LSN7JGRpcn0tI3skc3BhY2VyfSB7XG4gICAgICAgICAgICAgICAgICAgIEBpZiAoJHByb3AgPT0gbWFyZ2luKSB7IFxuICAgICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIG1hcmdpbi1kaXJlY3Rpb24oJGRpciwgJHNwYWNlcik7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgQGVsc2UgaWYgKCRwcm9wID09IHBhZGRpbmcpIHsgXG4gICAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgcGFkZGluZy1kaXJlY3Rpb24oJGRpciwgJHNwYWNlcik7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vIEhpZGUgYW4gZWxlbWVudCBieSBkZWZhdWx0LCBvbmx5IGRpc3BsYXlpbmcgaXQgYWJvdmUgYSBjZXJ0YWluIHNjcmVlbiBzaXplLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHNpemUgLSBCcmVha3BvaW50IHRvIHVzZS4gKipNdXN0IGJlIGEgYnJlYWtwb2ludCBkZWZpbmVkIGluIGAkYnJlYWtwb2ludHNgLioqXG5AbWl4aW4gc2hvdy1mb3IoJHNpemUpIHtcbiAgJHNpemU6IG1hcC1nZXQoJGJyZWFrcG9pbnRzLCAkc2l6ZSk7XG4gIC8vIE1heCB2YWx1ZSBpcyAwLjJweCB1bmRlciB0aGUgbmV4dCBicmVha3BvaW50ICgwLjAyIC8gMTYgPSAwLjAwMTI1KS5cbiAgLy8gVXNlIGEgcHJlY2lzaW9uIHVuZGVyIDFweCB0byBzdXBwb3J0IGJyb3dzZXIgem9vbSwgYnV0IG5vdCB0byBsb3cgdG8gYXZvaWQgcm91bmRpbmcuXG4gIC8vIFNlZSBodHRwczovL2dpdGh1Yi5jb20vZm91bmRhdGlvbi9mb3VuZGF0aW9uLXNpdGVzL2lzc3Vlcy8xMTMxM1xuICAkc2l6ZTogLXpmLWJwLXRvLWVtKCRzaXplKSAtIC4wMDEyNTtcblxuICBAaW5jbHVkZSBicmVha3BvaW50KCRzaXplIGRvd24pIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuLy8vIEhpZGUgYW4gZWxlbWVudCBieSBkZWZhdWx0LCBvbmx5IGRpc3BsYXlpbmcgaXQgd2l0aGluIGEgY2VydGFpbiBicmVha3BvaW50LlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHNpemUgLSBCcmVha3BvaW50IHRvIHVzZS4gKipNdXN0IGJlIGEgYnJlYWtwb2ludCBkZWZpbmVkIGluIGAkYnJlYWtwb2ludHNgLioqXG5AbWl4aW4gc2hvdy1mb3Itb25seSgkc2l6ZSkge1xuICAkbG93ZXItYm91bmQtc2l6ZTogbWFwLWdldCgkYnJlYWtwb2ludHMsICRzaXplKTtcbiAgJHVwcGVyLWJvdW5kLXNpemU6IC16Zi1tYXAtbmV4dCgkYnJlYWtwb2ludHMsICRzaXplKTtcblxuICAvLyBtb3JlIG9mdGVuIHRoYW4gbm90IHRoaXMgd2lsbCBiZSBjb3JyZWN0LCBqdXN0IG9uZSB0aW1lIHJvdW5kIHRoZSBsb29wIGl0IHdvbid0IHNvIHNldCBpbiBzY29wZSBoZXJlXG4gICRsb3dlci1ib3VuZDogLXpmLWJwLXRvLWVtKCRsb3dlci1ib3VuZC1zaXplKSAtIC4wMDEyNTtcbiAgLy8gdGVzdCBhY3R1YWwgbG93ZXItYm91bmQtc2l6ZSwgaWYgMCBzZXQgaXQgdG8gMGVtXG4gIEBpZiBzdHJpcC11bml0KCRsb3dlci1ib3VuZC1zaXplKSA9PSAwIHtcbiAgICAkbG93ZXItYm91bmQ6IC16Zi1icC10by1lbSgkbG93ZXItYm91bmQtc2l6ZSk7XG4gIH1cblxuICBAaWYgJHVwcGVyLWJvdW5kLXNpemUgPT0gbnVsbCB7XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogJGxvd2VyLWJvdW5kKSB7XG4gICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG4gIEBlbHNlIHtcbiAgICAkdXBwZXItYm91bmQ6IC16Zi1icC10by1lbSgkdXBwZXItYm91bmQtc2l6ZSk7XG5cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAkbG93ZXItYm91bmQpLCBzY3JlZW4gYW5kIChtaW4td2lkdGg6ICR1cHBlci1ib3VuZCkge1xuICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxufVxuXG5cbi8vLyBTaG93IGFuIGVsZW1lbnQgYnkgZGVmYXVsdCwgYW5kIGhpZGUgaXQgYWJvdmUgYSBjZXJ0YWluIHNjcmVlbiBzaXplLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHNpemUgLSBCcmVha3BvaW50IHRvIHVzZS4gKipNdXN0IGJlIGEgYnJlYWtwb2ludCBkZWZpbmVkIGluIGAkYnJlYWtwb2ludHNgLioqXG5AbWl4aW4gaGlkZS1mb3IoJHNpemUpIHtcbiAgQGluY2x1ZGUgYnJlYWtwb2ludCgkc2l6ZSkge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuXG4vLy8gU2hvdyBhbiBlbGVtZW50IGJ5IGRlZmF1bHQsIGFuZCBoaWRlIGl0IGFib3ZlIGEgY2VydGFpbiBzY3JlZW4gc2l6ZS5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRzaXplIC0gQnJlYWtwb2ludCB0byB1c2UuICoqTXVzdCBiZSBhIGJyZWFrcG9pbnQgZGVmaW5lZCBpbiBgJGJyZWFrcG9pbnRzYC4qKlxuQG1peGluIGhpZGUtZm9yLW9ubHkoJHNpemUpIHtcbiAgQGluY2x1ZGUgYnJlYWtwb2ludCgkc2l6ZSBvbmx5KSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLXZpc2liaWxpdHktY2xhc3NlcyB7XG4gIC8vIEJhc2ljIGhpZGluZyBjbGFzc2VzXG4gIC5oaWRlIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cblxuICAuaW52aXNpYmxlIHtcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gIH1cblxuICAvLyBSZXNwb25zaXZlIHZpc2liaWxpdHkgY2xhc3Nlc1xuICBAZWFjaCAkc2l6ZSBpbiAkYnJlYWtwb2ludC1jbGFzc2VzIHtcbiAgICBAaWYgJHNpemUgIT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQge1xuICAgICAgLmhpZGUtZm9yLSN7JHNpemV9IHtcbiAgICAgICAgQGluY2x1ZGUgaGlkZS1mb3IoJHNpemUpO1xuICAgICAgfVxuXG4gICAgICAuc2hvdy1mb3ItI3skc2l6ZX0ge1xuICAgICAgICBAaW5jbHVkZSBzaG93LWZvcigkc2l6ZSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLmhpZGUtZm9yLSN7JHNpemV9LW9ubHkge1xuICAgICAgQGluY2x1ZGUgaGlkZS1mb3Itb25seSgkc2l6ZSk7XG4gICAgfVxuXG4gICAgLnNob3ctZm9yLSN7JHNpemV9LW9ubHkge1xuICAgICAgQGluY2x1ZGUgc2hvdy1mb3Itb25seSgkc2l6ZSk7XG4gICAgfVxuICB9XG5cbiAgLy8gU2NyZWVuIHJlYWRlciB2aXNpYmlsaXR5IGNsYXNzZXNcbiAgLy8gTmVlZCBhIFwiaGlkZS1mb3Itc3JcIiBjbGFzcz8gQWRkIGFyaWEtaGlkZGVuPSd0cnVlJyB0byB0aGUgZWxlbWVudFxuICAuc2hvdy1mb3Itc3IsXG4gIC5zaG93LW9uLWZvY3VzIHtcbiAgICBAaW5jbHVkZSBlbGVtZW50LWludmlzaWJsZTtcbiAgfVxuXG4gIC8vIE9ubHkgZGlzcGxheSB0aGUgZWxlbWVudCB3aGVuIGl0J3MgZm9jdXNlZFxuICAuc2hvdy1vbi1mb2N1cyB7XG4gICAgJjphY3RpdmUsXG4gICAgJjpmb2N1cyB7XG4gICAgICBAaW5jbHVkZSBlbGVtZW50LWludmlzaWJsZS1vZmY7XG4gICAgfVxuICB9XG5cbiAgLy8gTGFuZHNjYXBlIGFuZCBwb3J0cmFpdCB2aXNpYmlsaXR5XG4gIC5zaG93LWZvci1sYW5kc2NhcGUsXG4gIC5oaWRlLWZvci1wb3J0cmFpdCB7XG4gICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFuZHNjYXBlKSB7XG4gICAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQocG9ydHJhaXQpIHtcbiAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgICB9XG4gIH1cblxuICAuaGlkZS1mb3ItbGFuZHNjYXBlLFxuICAuc2hvdy1mb3ItcG9ydHJhaXQge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFuZHNjYXBlKSB7XG4gICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChwb3J0cmFpdCkge1xuICAgICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8gc2Fzcy1saW50OmRpc2FibGUgbm8tcXVhbGlmeWluZy1lbGVtZW50c1xuXG4vLy8vXG4vLy8gQGdyb3VwIHRhYmxlXG4vLy8vXG5cbi8vLyBEZWZhdWx0IGNvbG9yIGZvciB0YWJsZSBiYWNrZ3JvdW5kLlxuLy8vIEB0eXBlIENvbG9yXG4kdGFibGUtYmFja2dyb3VuZDogJHdoaXRlICAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgc2NhbGUgZm9yIGRhcmtlbmluZyB0aGUgc3RyaXBlZCB0YWJsZSByb3dzIGFuZCB0aGUgdGFibGUgYm9yZGVyLlxuLy8vIEB0eXBlIE51bWJlclxuJHRhYmxlLWNvbG9yLXNjYWxlOiA1JSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgc3R5bGUgZm9yIHRhYmxlIGJvcmRlci5cbi8vLyBAdHlwZSBMaXN0XG4kdGFibGUtYm9yZGVyOiAxcHggc29saWQgc21hcnQtc2NhbGUoJHRhYmxlLWJhY2tncm91bmQsICR0YWJsZS1jb2xvci1zY2FsZSkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHBhZGRpbmcgZm9yIHRhYmxlLlxuLy8vIEB0eXBlIE51bWJlclxuJHRhYmxlLXBhZGRpbmc6IHJlbS1jYWxjKDggMTAgMTApICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBzY2FsZSBmb3IgZGFya2VuaW5nIHRoZSB0YWJsZSByb3dzIG9uIGhvdmVyLlxuLy8vIEB0eXBlIE51bWJlclxuJHRhYmxlLWhvdmVyLXNjYWxlOiAyJSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgY29sb3Igb2Ygc3RhbmRhcmQgcm93cyBvbiBob3Zlci5cbi8vLyBAdHlwZSBMaXN0XG4kdGFibGUtcm93LWhvdmVyOiBkYXJrZW4oJHRhYmxlLWJhY2tncm91bmQsICR0YWJsZS1ob3Zlci1zY2FsZSkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGNvbG9yIG9mIHN0cmlwZWQgcm93cyBvbiBob3Zlci5cbi8vLyBAdHlwZSBMaXN0XG4kdGFibGUtcm93LXN0cmlwZS1ob3ZlcjogZGFya2VuKCR0YWJsZS1iYWNrZ3JvdW5kLCAkdGFibGUtY29sb3Itc2NhbGUgKyAkdGFibGUtaG92ZXItc2NhbGUpICFkZWZhdWx0O1xuXG4vLy8gSWYgYHRydWVgLCB0YWJsZXMgYXJlIHN0cmlwZWQgYnkgZGVmYXVsdCBhbmQgYW4gLnVuc3RyaXBlZCBjbGFzcyBpcyBjcmVhdGVkLiBJZiBgZmFsc2VgLCBhIC5zdHJpcGVkIGNsYXNzIGlzIGNyZWF0ZWQuXG4vLy8gQHR5cGUgQm9vbGVhblxuJHRhYmxlLWlzLXN0cmlwZWQ6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJhY2tncm91bmQgY29sb3IgZm9yIHN0cmlwZWQgcm93cy5cbi8vLyBAdHlwZSBDb2xvclxuJHRhYmxlLXN0cmlwZWQtYmFja2dyb3VuZDogc21hcnQtc2NhbGUoJHRhYmxlLWJhY2tncm91bmQsICR0YWJsZS1jb2xvci1zY2FsZSkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHZhbHVlIGZvciBzaG93aW5nIHRoZSBzdHJpcGUgb24gcm93cyBvZiB0aGUgdGFibGVzLCBleGNsdWRpbmcgdGhlIGhlYWRlciBhbmQgZm9vdGVyLiBJZiBldmVuLCB0aGUgZXZlbiByb3dzIHdpbGwgaGF2ZSBhIGJhY2tncm91bmQgY29sb3IuIElmIG9kZCwgdGhlIG9kZCByb3dzIHdpbGwgaGF2ZSBhIGJhY2tncm91bmQgY29sb3IuIElmIGVtcHR5LCBvciBhbnkgb3RoZXIgdmFsdWUsIHRoZSB0YWJsZSByb3dzIHdpbGwgaGF2ZSBubyBzdHJpcGluZy5cbi8vLyBAdHlwZSBLZXl3b3JkXG4kdGFibGUtc3RyaXBlOiBldmVuICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBjb2xvciBmb3IgaGVhZGVyIGJhY2tncm91bmQuXG4vLy8gQHR5cGUgQ29sb3JcbiR0YWJsZS1oZWFkLWJhY2tncm91bmQ6IHNtYXJ0LXNjYWxlKCR0YWJsZS1iYWNrZ3JvdW5kLCAkdGFibGUtY29sb3Itc2NhbGUgLyAyKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgY29sb3Igb2YgaGVhZGVyIHJvd3Mgb24gaG92ZXIuXG4vLy8gQHR5cGUgTGlzdFxuJHRhYmxlLWhlYWQtcm93LWhvdmVyOiBkYXJrZW4oJHRhYmxlLWhlYWQtYmFja2dyb3VuZCwgJHRhYmxlLWhvdmVyLXNjYWxlKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgY29sb3IgZm9yIGZvb3RlciBiYWNrZ3JvdW5kLlxuLy8vIEB0eXBlIENvbG9yXG4kdGFibGUtZm9vdC1iYWNrZ3JvdW5kOiBzbWFydC1zY2FsZSgkdGFibGUtYmFja2dyb3VuZCwgJHRhYmxlLWNvbG9yLXNjYWxlKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgY29sb3Igb2YgZm9vdGVyIHJvd3Mgb24gaG92ZXIuXG4vLy8gQHR5cGUgTGlzdFxuJHRhYmxlLWZvb3Qtcm93LWhvdmVyOiBkYXJrZW4oJHRhYmxlLWZvb3QtYmFja2dyb3VuZCwgJHRhYmxlLWhvdmVyLXNjYWxlKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCBjb2xvciBmb3IgaGVhZGVyLlxuLy8vIEB0eXBlIENvbG9yXG4kdGFibGUtaGVhZC1mb250LWNvbG9yOiAkYm9keS1mb250LWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmb250IGNvbG9yIGZvciBmb290ZXIuXG4vLy8gQHR5cGUgQ29sb3JcbiR0YWJsZS1mb290LWZvbnQtY29sb3I6ICRib2R5LWZvbnQtY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHZhbHVlIGZvciBzaG93aW5nIHRoZSBoZWFkZXIgd2hlbiB1c2luZyBzdGFja2VkIHRhYmxlcy5cbi8vLyBAdHlwZSBCb29sZWFuXG4kc2hvdy1oZWFkZXItZm9yLXN0YWNrZWQ6IGZhbHNlICFkZWZhdWx0O1xuXG4vLy8gQnJlYWtwb2ludCBhdCB3aGljaCBzdGFja2VkIHRhYmxlIHN3aXRjaGVzIGZyb20gbW9iaWxlIHRvIGRlc2t0b3Agdmlldy5cbi8vLyBAdHlwZSBCcmVha3BvaW50XG4kdGFibGUtc3RhY2stYnJlYWtwb2ludDogbWVkaXVtICFkZWZhdWx0O1xuXG5AbWl4aW4gLXpmLXRhYmxlLXN0cmlwZSgkc3RyaXBlOiAkdGFibGUtc3RyaXBlKSB7XG4gIHRyIHtcbiAgICAvLyBJZiBzdHJpcGUgaXMgc2V0IHRvIGV2ZW4sIGRhcmtlbiB0aGUgZXZlbiByb3dzLlxuICAgIEBpZiAkc3RyaXBlID09IGV2ZW4ge1xuICAgICAgJjpudGgtY2hpbGQoZXZlbikge1xuICAgICAgICBib3JkZXItYm90dG9tOiAwO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGFibGUtc3RyaXBlZC1iYWNrZ3JvdW5kO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIElmIHN0cmlwZSBpcyBzZXQgdG8gb2RkLCBkYXJrZW4gdGhlIG9kZCByb3dzLlxuICAgIEBlbHNlIGlmICRzdHJpcGUgPT0gb2RkIHtcbiAgICAgICY6bnRoLWNoaWxkKG9kZCkge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGFibGUtc3RyaXBlZC1iYWNrZ3JvdW5kO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gLXpmLXRhYmxlLXVuc3RyaXBlKCkge1xuICB0ciB7XG4gICAgYm9yZGVyLWJvdHRvbTogMDtcbiAgICBib3JkZXItYm90dG9tOiAkdGFibGUtYm9yZGVyO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICR0YWJsZS1iYWNrZ3JvdW5kO1xuICB9XG59XG5cbkBtaXhpbiAtemYtdGFibGUtY2hpbGRyZW4tc3R5bGVzKCRzdHJpcGU6ICR0YWJsZS1zdHJpcGUsICRpcy1zdHJpcGVkOiAkdGFibGUtaXMtc3RyaXBlZCkge1xuICB0aGVhZCxcbiAgdGJvZHksXG4gIHRmb290IHtcbiAgICBib3JkZXI6ICR0YWJsZS1ib3JkZXI7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHRhYmxlLWJhY2tncm91bmQ7XG4gIH1cblxuICAvLyBDYXB0aW9uXG4gIGNhcHRpb24ge1xuICAgIHBhZGRpbmc6ICR0YWJsZS1wYWRkaW5nO1xuICAgIGZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ib2xkO1xuICB9XG5cbiAgLy8gVGFibGUgaGVhZFxuICB0aGVhZCB7XG4gICAgYmFja2dyb3VuZDogJHRhYmxlLWhlYWQtYmFja2dyb3VuZDtcbiAgICBjb2xvcjogJHRhYmxlLWhlYWQtZm9udC1jb2xvcjtcbiAgfVxuXG4gIC8vIFRhYmxlIGZvb3RcbiAgdGZvb3Qge1xuICAgIGJhY2tncm91bmQ6ICR0YWJsZS1mb290LWJhY2tncm91bmQ7XG4gICAgY29sb3I6ICR0YWJsZS1mb290LWZvbnQtY29sb3I7XG4gIH1cblxuICAvLyBUYWJsZSBoZWFkIGFuZCBmb290XG4gIHRoZWFkLFxuICB0Zm9vdCB7XG4gICAgLy8gUm93cyB3aXRoaW4gaGVhZCBhbmQgZm9vdFxuICAgIHRyIHtcbiAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgIH1cblxuICAgIC8vIENlbGxzIHdpdGhpbiBoZWFkIGFuZCBmb290XG4gICAgdGgsXG4gICAgdGQge1xuICAgICAgcGFkZGluZzogJHRhYmxlLXBhZGRpbmc7XG4gICAgICBmb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtYm9sZDtcbiAgICAgIHRleHQtYWxpZ246ICN7JGdsb2JhbC1sZWZ0fTtcbiAgICB9XG4gIH1cblxuICAvLyBUYWJsZSByb3dzXG4gIHRib2R5IHtcbiAgICB0aCxcbiAgICB0ZCB7XG4gICAgICBwYWRkaW5nOiAkdGFibGUtcGFkZGluZztcbiAgICB9XG4gIH1cblxuICAvLyBJZiB0YWJsZXMgYXJlIHN0cmlwZWRcbiAgQGlmICRpcy1zdHJpcGVkID09IHRydWUge1xuICAgIHRib2R5IHtcbiAgICAgIEBpbmNsdWRlIC16Zi10YWJsZS1zdHJpcGUoJHN0cmlwZSk7XG4gICAgfVxuXG4gICAgJi51bnN0cmlwZWQge1xuICAgICAgdGJvZHkge1xuICAgICAgICBAaW5jbHVkZSAtemYtdGFibGUtdW5zdHJpcGUoKTtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHRhYmxlLWJhY2tncm91bmQ7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gSWYgdGFibGVzIGFyZSBub3Qgc3RyaXBlZFxuICBAZWxzZSBpZiAkaXMtc3RyaXBlZCA9PSBmYWxzZSB7XG4gICAgdGJvZHkge1xuICAgICAgQGluY2x1ZGUgLXpmLXRhYmxlLXVuc3RyaXBlKCk7XG4gICAgfVxuXG4gICAgJi5zdHJpcGVkIHtcbiAgICAgIHRib2R5IHtcbiAgICAgICAgQGluY2x1ZGUgLXpmLXRhYmxlLXN0cmlwZSgkc3RyaXBlKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8vIEFkZHMgdGhlIGdlbmVyYWwgc3R5bGVzIGZvciB0YWJsZXMuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkc3RyaXBlIFskdGFibGUtc3RyaXBlXSAtIFVzZXMga2V5d29yZHMgZXZlbiwgb2RkLCBvciBub25lIHRvIGRhcmtlbiByb3dzIG9mIHRoZSB0YWJsZS4gVGhlIGRlZmF1bHQgdmFsdWUgaXMgZXZlbi5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRuZXN0IFtmYWxzZV0gLSBOZWVkZWQgaWYgeW91IG9ubHkgd2FudCB0byBhcHBseSB0aGlzIHRvIGEgc3BlY2lmaWMgdGFibGUuXG5AbWl4aW4gdGFibGUoXG4gICRzdHJpcGU6ICR0YWJsZS1zdHJpcGUsXG4gICRuZXN0OiBmYWxzZVxuKSB7XG4gIGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2U7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXJnaW4tYm90dG9tOiAkZ2xvYmFsLW1hcmdpbjtcbiAgYm9yZGVyLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG5cbiAgQGlmICRuZXN0IHtcbiAgICBAaW5jbHVkZSAtemYtdGFibGUtY2hpbGRyZW4tc3R5bGVzKCRzdHJpcGUpO1xuICB9XG4gIEBlbHNlIHtcbiAgICBAYXQtcm9vdCB7XG4gICAgICBAaW5jbHVkZSAtemYtdGFibGUtY2hpbGRyZW4tc3R5bGVzKCRzdHJpcGUpO1xuICAgIH1cbiAgfVxufVxuXG4vLy8gQWRkcyB0aGUgYWJpbGl0eSB0byBob3Jpem9udGFsbHkgc2Nyb2xsIHRoZSB0YWJsZSB3aGVuIHRoZSBjb250ZW50IG92ZXJmbG93cyBob3Jpem9udGFsbHkuXG5AbWl4aW4gdGFibGUtc2Nyb2xsIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAxMDAlO1xuICBvdmVyZmxvdy14OiBhdXRvO1xufVxuXG4vLy8gU2xpZ2h0bHkgZGFya2VucyB0aGUgdGFibGUgcm93cyBvbiBob3Zlci5cbkBtaXhpbiB0YWJsZS1ob3ZlciB7XG4gIHRoZWFkIHRyIHtcbiAgICAvL0RhcmtlbnMgdGhlIHRhYmxlIGhlYWRlciByb3dzIG9uIGhvdmVyLlxuICAgICY6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHRhYmxlLWhlYWQtcm93LWhvdmVyO1xuICAgIH1cbiAgfVxuXG4gIHRmb290IHRyIHtcbiAgICAvL0RhcmtlbnMgdGhlIHRhYmxlIGZvb3RlciByb3dzIG9uIGhvdmVyLlxuICAgICY6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHRhYmxlLWZvb3Qtcm93LWhvdmVyO1xuICAgIH1cbiAgfVxuXG4gIHRib2R5IHRyIHtcbiAgICAvL0RhcmtlbnMgdGhlIG5vbi1zdHJpcGVkIHRhYmxlIHJvd3Mgb24gaG92ZXIuXG4gICAgJjpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGFibGUtcm93LWhvdmVyO1xuICAgIH1cbiAgfVxuXG4gIEBpZiAkdGFibGUtaXMtc3RyaXBlZCA9PSB0cnVlIHtcbiAgICAvLyBEYXJrZW5zIHRoZSBldmVuIHN0cmlwZWQgdGFibGUgcm93cy5cbiAgICBAaWYoJHRhYmxlLXN0cmlwZSA9PSBldmVuKSB7XG4gICAgICAmOm5vdCgudW5zdHJpcGVkKSB0cjpudGgtb2YtdHlwZShldmVuKTpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR0YWJsZS1yb3ctc3RyaXBlLWhvdmVyO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIERhcmtlbnMgdGhlIG9kZCBzdHJpcGVkIHRhYmxlIHJvd3MuXG4gICAgQGVsc2UgaWYoJHRhYmxlLXN0cmlwZSA9PSBvZGQpIHtcbiAgICAgICY6bm90KC51bnN0cmlwZWQpIHRyOm50aC1vZi10eXBlKG9kZCk6aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGFibGUtcm93LXN0cmlwZS1ob3ZlcjtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBAZWxzZSBpZiAkdGFibGUtaXMtc3RyaXBlZCA9PSBmYWxzZSB7XG4gICAgLy8gRGFya2VucyB0aGUgZXZlbiBzdHJpcGVkIHRhYmxlIHJvd3MuXG4gICAgQGlmKCR0YWJsZS1zdHJpcGUgPT0gZXZlbikge1xuICAgICAgJi5zdHJpcGVkIHRyOm50aC1vZi10eXBlKGV2ZW4pOmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHRhYmxlLXJvdy1zdHJpcGUtaG92ZXI7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gRGFya2VucyB0aGUgb2RkIHN0cmlwZWQgdGFibGUgcm93cy5cbiAgICBAZWxzZSBpZigkdGFibGUtc3RyaXBlID09IG9kZCkge1xuICAgICAgJi5zdHJpcGVkIHRyOm50aC1vZi10eXBlKG9kZCk6aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGFibGUtcm93LXN0cmlwZS1ob3ZlcjtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhIHN0YWNrZWQgdGFibGUuIFVzZWZ1bCBmb3Igc21hbGwtc2NyZWVuIGxheW91dHMuXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkaGVhZGVyIFskc2hvdy1oZWFkZXItZm9yLXN0YWNrZWRdIC0gU2hvdyB0aGUgZmlyc3QgdGggb2YgaGVhZGVyIHdoZW4gc3RhY2tlZC5cbkBtaXhpbiB0YWJsZS1zdGFjaygkaGVhZGVyOiAkc2hvdy1oZWFkZXItZm9yLXN0YWNrZWQpIHtcbiAgQGlmICRoZWFkZXIge1xuICAgIHRoZWFkIHtcbiAgICAgIHRoIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEBlbHNlIHtcbiAgICB0aGVhZCB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgfVxuXG4gIHRmb290IHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG5cbiAgdHIsXG4gIHRoLFxuICB0ZCB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cblxuICB0ZCB7XG4gICAgYm9yZGVyLXRvcDogMDtcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi10YWJsZSgkbmVzdDogZmFsc2UpIHtcbiAgdGFibGUge1xuICAgIEBpbmNsdWRlIHRhYmxlKCRuZXN0OiAkbmVzdCk7XG4gIH1cblxuICB0YWJsZS5zdGFjayB7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkdGFibGUtc3RhY2stYnJlYWtwb2ludCBkb3duKSB7XG4gICAgICBAaW5jbHVkZSB0YWJsZS1zdGFjaztcbiAgICB9XG4gIH1cblxuICB0YWJsZS5zY3JvbGwge1xuICAgIEBpbmNsdWRlIHRhYmxlLXNjcm9sbDtcbiAgfVxuXG4gIHRhYmxlLmhvdmVyIHtcbiAgICBAaW5jbHVkZSB0YWJsZS1ob3ZlcjtcbiAgfVxuXG4gIC50YWJsZS1zY3JvbGwge1xuICAgIG92ZXJmbG93LXg6IGF1dG87XG5cbiAgfVxufVxuIiwiLyotLS0tLS0tLS0tICBUeXBvZ3JhcGh5ICAtLS0tLS0tLS0tKi9cclxuXHJcbmgxLFxyXG4uaDEge1xyXG4gIGZvbnQtZmFtaWx5OiAkam9zZWZpbi1zYW5zO1xyXG59XHJcblxyXG5oMixcclxuLmgyLFxyXG5oMyxcclxuLmgzLFxyXG5oNCxcclxuLmg0IHtcclxuICBmb250LWZhbWlseTogJGpvc2VmaW4tc2FucztcclxufVxyXG5cclxuLmZvbnQtbWVkaXVtIHtcclxuICBmb250LXdlaWdodDogNTAwO1xyXG59XHJcblxyXG4uZm9udC1yZWd1bGFyIHtcclxuICBmb250LXdlaWdodDogNDAwO1xyXG59XHJcblxyXG5ib2R5IHtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xyXG4gIGZvbnQtZmFtaWx5OiAkb3Blbi1zYW5zO1xyXG59XHJcblxyXG4vLyBSaWNoIHRleHQgZmllbGQgY29udGVudCBmb3JtYXR0aW5nXHJcbi5yaWNoLXRleHQtY29udGVudCB7XHJcbiAgdWwgbGksXHJcbiAgb2wgbGkge1xyXG4gICAgbWFyZ2luLWxlZnQ6IHJlbS1jYWxjKDIwKTtcclxuICAgIG1hcmdpbi1ib3R0b206IHJlbV9jYWxjKDEwKTtcclxuICB9XHJcbn1cclxuXHJcbi8qLS0tLS0tLS0tLSAgR2VuZXJhbCBsYXlvdXQgc3R5bGVzICAtLS0tLS0tLS0tKi9cclxuXHJcbi8vIE91dGVybW9zdCBjb25zdHJhaW50IG9uIHdpZHRoIChtYXkgbm90IGJlIG5lZWRlZClcclxuLm91dGVyLWNvbnRlbnQtd3JhcHBlciB7XHJcbiAgbWF4LXdpZHRoOiAxNDAwcHg7XHJcbiAgbWFyZ2luOiAwIGF1dG87XHJcbn1cclxuXHJcbi5wYWdlLWNvbnRlbnQtd3JhcHBlciB7XHJcbiAgbWF4LXdpZHRoOiAkbWF4LWNvbnRlbnQtd2lkdGg7XHJcbiAgbWFyZ2luOiAwIGF1dG87XHJcbn1cclxuXHJcbi5zdGFuZGFyZC1ndXR0ZXJzIHtcclxuICBwYWRkaW5nLWxlZnQ6ICRtaW4tZ3V0dGVyO1xyXG4gIHBhZGRpbmctcmlnaHQ6ICRtaW4tZ3V0dGVyO1xyXG59XHJcblxyXG4vLyBHZW5lcmljIGNvbnRlbnQgYmFuZCBsYXlvdXQgY2xhc3Nlc1xyXG4uY29udGVudC1iYW5kIHtcclxuICBwYWRkaW5nLXJpZ2h0OiAkbWluLWd1dHRlcjtcclxuICBwYWRkaW5nLWxlZnQ6ICRtaW4tZ3V0dGVyO1xyXG5cclxuICAud3JhcHBlciB7XHJcbiAgICBtYXgtd2lkdGg6ICRtYXgtY29udGVudC13aWR0aDtcclxuICAgIG1hcmdpbjogMCBhdXRvO1xyXG4gIH1cclxufVxyXG5cclxuLmNvbnRlbnQtYmFuZC0tY29sbGFwc2UtbGVmdCB7XHJcbiAgcGFkZGluZy1sZWZ0OiAwO1xyXG59XHJcblxyXG4uY29udGVudC1iYW5kLS1jb2xsYXBzZS1yaWdodCB7XHJcbiAgcGFkZGluZy1yaWdodDogMDtcclxufVxyXG5cclxuLmNvbnRlbnQtYmFuZC0tY29sbGFwc2Uge1xyXG4gIHBhZGRpbmctbGVmdDogMDtcclxuICBwYWRkaW5nLXJpZ2h0OiAwO1xyXG59XHJcblxyXG4uY29udGVudC1iYW5kLS1ibHVlIHtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmx1ZTtcclxufVxyXG5cclxuLmNvbnRlbnQtYmFuZC0td2hpdGUge1xyXG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XHJcbn1cclxuXHJcbi5zdGFuZGFyZC10d28tY29sIHtcclxuICBAaW5jbHVkZSB4eS1ncmlkO1xyXG59XHJcblxyXG4uc3RhbmRhcmQtdHdvLWNvbF9fbWFpbiB7XHJcbiAgQGluY2x1ZGUgeHktY2VsbCg3LjksICRndXR0ZXJzOiAwKTtcclxuICBwYWRkaW5nOiByZW0tY2FsYyg0MCkgcmVtLWNhbGMoNDApIHJlbS1jYWxjKDQwKSAwO1xyXG5cclxuICBAaW5jbHVkZSBicmVha3BvaW50KCR0d28tY29sLWJyZWFrcG9pbnQgZG93bikge1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBwYWRkaW5nLXJpZ2h0OiAwO1xyXG4gIH1cclxufVxyXG5cclxuLnN0YW5kYXJkLXR3by1jb2xfX3NpZGUge1xyXG4gIEBpbmNsdWRlIHh5LWNlbGwoNC4xLCAkZ3V0dGVyczogMCk7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogJGxpZ2h0LWdyYXk7XHJcbiAgcGFkZGluZzogcmVtLWNhbGMoOTApIHJlbS1jYWxjKDMwKTtcclxuXHJcbiAgQGluY2x1ZGUgYnJlYWtwb2ludCgkdHdvLWNvbC1icmVha3BvaW50IGRvd24pIHtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgcGFkZGluZy10b3A6IHJlbS1jYWxjKDQ1KTtcclxuICAgIHBhZGRpbmctYm90dG9tOiByZW0tY2FsYyg0NSk7XHJcbiAgfVxyXG59XHJcblxyXG4uc2lkZWJhci1ibG9jayB7XHJcblx0bWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoOTApO1xyXG5cclxuXHRoMiB7XHJcbiAgICBmb250LXdlaWdodDogNzAwO1xyXG5cdFx0dGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuXHRcdGZvbnQtc2l6ZTogcmVtLWNhbGMoMjApO1xyXG5cdFx0cGFkZGluZy1ib3R0b206IHJlbS1jYWxjKDUpO1xyXG5cdFx0Ym9yZGVyLWJvdHRvbTogMnB4IGRvdHRlZCAkZGFyay1ncmF5O1xyXG5cdFx0bWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMTUpO1xyXG5cdH1cclxuXHJcbiAgQGluY2x1ZGUgYnJlYWtwb2ludCgkdHdvLWNvbC1icmVha3BvaW50IGRvd24pIHtcclxuICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDQ1KTtcclxuICB9XHJcbn1cclxuXHJcbi5zaWRlYmFyLWJsb2NrLS1yZWR1Y2VkLW1hcmdpbiB7XHJcbiAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoNDUpO1xyXG59XHJcblxyXG4ubGlzdC1ibG9jayB7XHJcblx0dWwge1xyXG5cdFx0bGlzdC1zdHlsZTogbm9uZTtcclxuXHRcdG1hcmdpbi1sZWZ0OiAwO1xyXG5cdH1cclxuXHJcblx0bGkge1xyXG5cdFx0bWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMjApO1xyXG5cdFx0Zm9udC13ZWlnaHQ6IDcwMDtcclxuXHR9XHJcblxyXG5cdGxpIGEge1xyXG5cdFx0Y29sb3I6ICRkYXJrLWdyYXk7XHJcblx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcblx0XHR0cmFuc2l0aW9uOiBjb2xvciAwLjNzO1xyXG5cclxuXHRcdHN2ZyB7XHJcblx0XHRcdHdpZHRoOiByZW0tY2FsYygxMik7XHJcblx0XHRcdG1hcmdpbi1sZWZ0OiByZW0tY2FsYyg1KTtcclxuXHJcblx0XHRcdHBhdGgge1xyXG5cdFx0XHRcdGZpbGw6ICRkYXJrLWdyYXk7XHJcblx0XHRcdFx0dHJhbnNpdGlvbjogZmlsbCAwLjNzO1xyXG5cdFx0XHR9XHJcblx0XHR9XHJcblx0XHRcclxuXHRcdCY6aG92ZXIge1xyXG5cdFx0XHRjb2xvcjogJGJsdWU7XHJcblxyXG5cdFx0XHRzdmcgcGF0aCB7XHJcblx0XHRcdFx0ZmlsbDogJGJsdWU7XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHR9XHJcbn1cclxuXHJcbi5jZW50ZXJlZC1jb2x1bW4ge1xyXG4gIHBhZGRpbmc6IHJlbS1jYWxjKDgwKSAwO1xyXG4gIG1heC13aWR0aDogcmVtLWNhbGMoNjAwKTtcclxuICBtYXJnaW46IDAgYXV0bztcclxufVxyXG5cclxuLyotLS0tLS0tLS0tICBEZWZhdWx0IGhlcm8gc3R5bGVzICAtLS0tLS0tLS0tKi9cclxuXHJcbi5zdGFuZGFyZC1oZXJvIHtcclxuICBwYWRkaW5nLXRvcDogcmVtLWNhbGMoMTYwKTtcclxuICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xyXG4gIGJhY2tncm91bmQtcG9zaXRpb246IHRvcCByaWdodDtcclxuICBwYWRkaW5nLWJvdHRvbTogcmVtLWNhbGMoOTYpO1xyXG4gIGJvcmRlci1ib3R0b206IDRweCBzb2xpZCAkYXF1YTtcclxuXHJcbiAgJi5zdGFuZGFyZC1oZXJvLS1nb2xkIHtcclxuICAgIGJvcmRlci1ib3R0b20tY29sb3I6ICRnb2xkO1xyXG4gIH1cclxuXHJcbiAgJi5zdGFuZGFyZC1oZXJvLS1vcmFuZ2Uge1xyXG4gICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogJG9yYW5nZTtcclxuICB9XHJcblxyXG4gICYuc3RhbmRhcmQtaGVyby0tYXF1YSB7XHJcbiAgICBib3JkZXItYm90dG9tLWNvbG9yOiAkYXF1YTtcclxuICB9XHJcblxyXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XHJcbiAgICBwYWRkaW5nLXRvcDogcmVtLWNhbGMoMTk2KTtcclxuICAgIHBhZGRpbmctYm90dG9tOiByZW0tY2FsYyg2MCk7XHJcbiAgfVxyXG5cclxuICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlIHVwKSB7XHJcbiAgICBwYWRkaW5nLXRvcDogcmVtLWNhbGMoMzAwKTtcclxuICAgIHBhZGRpbmctYm90dG9tOiByZW0tY2FsYygxMjUpO1xyXG4gIH1cclxuXHJcbiAgaDEge1xyXG4gICAgZm9udC1zaXplOiByZW0tY2FsYygzMCk7XHJcbiAgICBsaW5lLWhlaWdodDogcmVtLWNhbGMoNDMpO1xyXG4gICAgY29sb3I6ICRhcXVhO1xyXG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDIwKTtcclxuICAgIGZvbnQtd2VpZ2h0OiAzMDA7XHJcblxyXG4gICAgJi5kYXJrLW9yYW5nZS10ZXh0IHtcclxuICAgICAgY29sb3I6ICRkYXJrLW9yYW5nZTtcclxuICAgIH1cclxuXHJcbiAgICBzdHJvbmcge1xyXG4gICAgICBmb250LXdlaWdodDogNzAwO1xyXG4gICAgfVxyXG5cclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoNDEwIHVwKSB7XHJcbiAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMzcpO1xyXG4gICAgfVxyXG5cclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XHJcbiAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoNTUpO1xyXG4gICAgICBsaW5lLWhlaWdodDogcmVtLWNhbGMoNTUpO1xyXG4gICAgfVxyXG5cclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UgdXApIHtcclxuICAgICAgZm9udC1zaXplOiByZW0tY2FsYyg2OCk7XHJcbiAgICAgIGxpbmUtaGVpZ2h0OiByZW0tY2FsYyg3Mik7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwIHtcclxuICAgIGNvbG9yOiAkdGV4dC1ncmF5O1xyXG4gICAgZm9udC1zaXplOiByZW0tY2FsYygxOCk7XHJcbiAgICBsaW5lLWhlaWdodDogcmVtLWNhbGMoMjYpO1xyXG4gICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMzIpO1xyXG5cclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XHJcbiAgICAgICAgbWF4LXdpZHRoOiA2MCU7XHJcbiAgICB9XHJcblxyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSB1cCkge1xyXG4gICAgICBmb250LXNpemU6IHJlbS1jYWxjKDIwKTtcclxuICAgICAgbGluZS1oZWlnaHQ6IHJlbS1jYWxjKDMyKTtcclxuICAgICAgbWF4LXdpZHRoOiA1MCU7XHJcbiAgICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDQ0KTtcclxuICAgICAgdGV4dC1hbGlnbjogbGVmdDtcclxuICAgIH1cclxuICB9XHJcblxyXG5cclxuICAvLyBXaWRlIGJ1dCBzaG9ydCB2aWV3cG9ydHMgKHNvbWUgbGFwdG9wcylcclxuICBAbWVkaWEgKG1pbi13aWR0aDogMTEwMHB4KSBhbmQgKG1heC1oZWlnaHQ6IDc1MHB4KSB7XHJcbiAgICBwYWRkaW5nLXRvcDogcmVtLWNhbGMoMjI1KTtcclxuICAgIHBhZGRpbmctYm90dG9tOiByZW0tY2FsYyg1MCk7XHJcblxyXG4gICAgaDEge1xyXG4gICAgICBmb250LXNpemU6IHJlbS1jYWxjKDU1KTtcclxuICAgICAgbGluZS1oZWlnaHQ6IHJlbS1jYWxjKDU1KTtcclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcblxyXG5cclxuLmhlcm8taGVhZGluZy12YXJpYWJsZS13ZWlnaHQge1xyXG4gIGZvbnQtd2VpZ2h0OiAzMDA7XHJcbiAgc3Ryb25nIHtcclxuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XHJcbiAgfVxyXG59XHJcblxyXG4vKi0tLS0tLS0tLS0gIENvbXBhY3QgaGVybyAgLS0tLS0tLS0tLSovXHJcblxyXG4uY29tcGFjdC1oZXJvIHtcclxuICBwYWRkaW5nLXRvcDogcmVtLWNhbGMoMTgwKTtcclxuICBwYWRkaW5nLWJvdHRvbTogcmVtLWNhbGMoMTYpO1xyXG4gIGJvcmRlci1ib3R0b206IDRweCBzb2xpZCAkZ29sZDtcclxuICBiYWNrZ3JvdW5kOiAkYXF1YSB1cmwoL2Rpc3QvaW1hZ2VzL3BhdHRlcm4tdGlsZS1hcXVhLnBuZykgcmVwZWF0O1xyXG5cclxuICAud3JhcHBlciB7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgfVxyXG5cclxuICBoMSB7XHJcbiAgICBtYXgtd2lkdGg6IHJlbS1jYWxjKDcwMCk7XHJcbiAgICBjb2xvcjogI2ZmZjtcclxuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcbiAgICBmb250LXNpemU6IHJlbS1jYWxjKDU4KTtcclxuICAgIGxpbmUtaGVpZ2h0OiByZW0tY2FsYyg2OCk7XHJcbiAgICBmb250LWZhbWlseTogJGpvc2VmaW4tc2FucztcclxuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XHJcblxyXG5cclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoOTYwIGRvd24pIHtcclxuICAgICAgZm9udC1zaXplOiByZW0tY2FsYyg0NSk7XHJcbiAgICAgIGxpbmUtaGVpZ2h0OiByZW0tY2FsYyg1NSk7XHJcbiAgICB9XHJcblxyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCg1MDAgZG93bikge1xyXG4gICAgICBmb250LXNpemU6IHJlbS1jYWxjKDMwKTtcclxuICAgICAgbGluZS1oZWlnaHQ6IHJlbS1jYWxjKDQwKTtcclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbi5jb21wYWN0LWhlcm8tLXdpdGgtbGluayBoMSB7XHJcbiAgQGluY2x1ZGUgYnJlYWtwb2ludCg5MDAgZG93bikge1xyXG4gICAgcGFkZGluZy1yaWdodDogcmVtLWNhbGMoMzAwKTtcclxuICB9XHJcblxyXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoNDYwIGRvd24pIHtcclxuICAgIHBhZGRpbmctcmlnaHQ6IDA7XHJcbiAgfVxyXG59XHJcblxyXG4uY29tcGFjdC1oZXJvLS1vcmFuZ2Uge1xyXG4gIGJhY2tncm91bmQ6ICRvcmFuZ2UgdXJsKC9kaXN0L2ltYWdlcy9wYXR0ZXJuLXRpbGUtb3JhbmdlLnBuZykgcmVwZWF0O1xyXG59XHJcblxyXG4uY29tcGFjdC1oZXJvLS1kYXJrLW9yYW5nZSB7XHJcbiAgYmFja2dyb3VuZDogJG9yYW5nZSB1cmwoL2Rpc3QvaW1hZ2VzL3BhdHRlcm4tdGlsZS1kYXJrLW9yYW5nZS5wbmcpIHJlcGVhdDtcclxufVxyXG5cclxuLmNvbXBhY3QtaGVyby0tZ3JheSB7XHJcbiAgYmFja2dyb3VuZDogJG1lZGl1bS1ncmF5IHVybCgvZGlzdC9pbWFnZXMvcGF0dGVybi10aWxlLWdyYXkucG5nKSByZXBlYXQ7XHJcbn1cclxuXHJcbi5jb21wYWN0LWhlcm8tLWV4dHJhLXBhZGRpbmcge1xyXG4gIHBhZGRpbmctdG9wOiByZW0tY2FsYygyNDApO1xyXG4gIHBhZGRpbmctYm90dG9tOiByZW0tY2FsYyg3NSk7XHJcbn1cclxuXHJcbi5jb21wYWN0LWhlcm9fX2V5ZWJyb3cge1xyXG4gIGZvbnQtZmFtaWx5OiAkam9zZWZpbi1zYW5zO1xyXG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcbiAgZm9udC1zaXplOiByZW0tY2FsYygyOCk7XHJcbiAgZm9udC13ZWlnaHQ6IDcwMDtcclxuICBjb2xvcjogJGdvbGQ7XHJcblxyXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoNTAwIGRvd24pIHtcclxuICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMjApO1xyXG4gIH1cclxufVxyXG5cclxuLmNvbXBhY3QtaGVyb19fYmFjayB7XHJcbiAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gIHRvcDogMDtcclxuICByaWdodDogMDtcclxuICBmb250LXNpemU6IHJlbS1jYWxjKDIwKTtcclxuICBmb250LWZhbWlseTogJGpvc2VmaW4tc2FucztcclxuICBmb250LXdlaWdodDogNzAwO1xyXG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcbiAgY29sb3I6ICRnb2xkO1xyXG5cclxuICAmOjpiZWZvcmUge1xyXG4gICAgY29udGVudDogXCJcIjtcclxuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgIG1hcmdpbi1yaWdodDogcmVtLWNhbGMoMTApO1xyXG4gICAgd2lkdGg6IDA7XHJcbiAgICBoZWlnaHQ6IDA7XHJcbiAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xyXG4gICAgYm9yZGVyLXdpZHRoOiA3LjVweCAxMHB4IDcuNXB4IDA7XHJcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50ICRnb2xkIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50O1xyXG4gIH1cclxuXHJcbiAgQGluY2x1ZGUgYnJlYWtwb2ludCg3NjAgZG93bikge1xyXG4gICAgdG9wOiAtIHJlbS1jYWxjKDUwKTtcclxuICB9XHJcblxyXG4gICY6aG92ZXIge1xyXG4gICAgY29sb3I6ICNmZmY7XHJcblxyXG4gICAgJjo6YmVmb3JlIHtcclxuICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCAjZmZmIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50OyAgIFxyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuLmNvbXBhY3QtaGVyb19fYmFjay0td2hpdGUge1xyXG4gIGNvbG9yOiAjZmZmO1xyXG5cclxuICAmOjpiZWZvcmUge1xyXG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCAjZmZmIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50O1xyXG4gIH1cclxuXHJcbiAgJjpob3ZlciB7XHJcbiAgICBjb2xvcjogJGdvbGQ7XHJcbiAgICBcclxuICAgICY6OmJlZm9yZSB7XHJcbiAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgJGdvbGQgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7IFxyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuLyotLS0tLS0tLS0tICBQYWdlIGludHJvIGJhbmQgIC0tLS0tLS0tLS0qL1xyXG5cclxuLnBhZ2UtaW50cm8ge1xyXG4gIEBpbmNsdWRlIHh5LWdyaWQ7XHJcbiAgcGFkZGluZzogcmVtLWNhbGMoODApIDA7XHJcbiAgY29sb3I6ICNmZmY7XHJcbn1cclxuXHJcbi5wYWdlLWludHJvX190ZXh0IHtcclxuICBAaW5jbHVkZSB4eS1jZWxsKDguNSk7XHJcbiAgcGFkZGluZy1yaWdodDogcmVtLWNhbGMoNjApO1xyXG4gIGZvbnQtc2l6ZTogcmVtLWNhbGMoMjApO1xyXG4gIGxpbmUtaGVpZ2h0OiByZW0tY2FsYygyOCk7XHJcblxyXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcclxuICAgIEBpbmNsdWRlIHh5LWNlbGwoNyk7XHJcbiAgfVxyXG5cclxuICBAaW5jbHVkZSBicmVha3BvaW50KDcwMCBkb3duKSB7XHJcbiAgICBAaW5jbHVkZSB4eS1jZWxsKDEyKTtcclxuICAgIHBhZGRpbmctcmlnaHQ6IDA7XHJcbiAgfVxyXG59XHJcblxyXG4ucGFnZS1pbnRyb19fY3RhIHtcclxuICBAaW5jbHVkZSB4eS1jZWxsKDMuNSk7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogJGFxdWE7XHJcbiAgcGFkZGluZzogcmVtLWNhbGMoMzApO1xyXG4gIGRpc3BsYXk6IGZsZXg7XHJcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcblxyXG4gIGgyIHtcclxuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcbiAgICBmb250LXdlaWdodDogNzAwO1xyXG4gICAgZm9udC1zaXplOiByZW0tY2FsYygyNik7XHJcbiAgfVxyXG5cclxuICAuYnRuIHtcclxuICAgIGNvbG9yOiAkYmx1ZTtcclxuICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTkpO1xyXG4gICAgcGFkZGluZy1yaWdodDogcmVtLWNhbGMoMzApO1xyXG4gICAgcGFkZGluZy1sZWZ0OiByZW0tY2FsYygzMCk7XHJcbiAgfVxyXG5cclxuICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XHJcbiAgICBAaW5jbHVkZSB4eS1jZWxsKDUpO1xyXG4gIH1cclxuXHJcbiAgQGluY2x1ZGUgYnJlYWtwb2ludCg3MDAgZG93bikge1xyXG4gICAgQGluY2x1ZGUgeHktY2VsbCgxMik7XHJcbiAgICBtYXJnaW4tdG9wOiByZW0tY2FsYygzMCk7XHJcbiAgfVxyXG59XHJcblxyXG4vKi0tLS0tLS0tLS0gIFV0aWxpdHkgY2xhc3NlcyAgLS0tLS0tLS0tLSovXHJcblxyXG4uc2VjdGlvbi1saWdodC1ncmF5IHtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiAkbGlnaHQtZ3JheTtcclxufVxyXG5cclxuLnNlY3Rpb24tYXF1YSB7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogJGFxdWE7XHJcbn1cclxuXHJcbi5zZWN0aW9uLWFxdWEtZ3JhZGllbnQge1xyXG4gIGJhY2tncm91bmQ6ICRhcXVhO1xyXG4gIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgkYXF1YSwgJGJsdWUpO1xyXG59XHJcblxyXG4uc2VjdGlvbi13aGl0ZSB7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XHJcbn1cclxuXHJcbi5zZWN0aW9uLWdvbGQge1xyXG4gIGJhY2tncm91bmQtY29sb3I6ICRnb2xkO1xyXG59XHJcblxyXG4uYmctcGF0dGVybiB7XHJcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiL2Rpc3QvaW1hZ2VzL2JnLWxvZ28tcGF0dGVybi0wMS5zdmdcIik7XHJcbiAgYmFja2dyb3VuZC1zaXplOiByZW0tY2FsYygyMjUpIHJlbS1jYWxjKDIyNSk7XHJcbiAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcclxuICAgIGJhY2tncm91bmQtc2l6ZTogcmVtLWNhbGMoNDUwKSByZW0tY2FsYyg0NTApO1xyXG4gIH1cclxufVxyXG5cclxuLnNlY3Rpb24tc3BhY2VyIHtcclxuICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgei1pbmRleDogLTE7XHJcbiAgaGVpZ2h0OiByZW0tY2FsYyg1MCk7XHJcbiAgbWFyZ2luLXRvcDogcmVtLWNhbGMoLTUwKTtcclxuICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xyXG4gICAgaGVpZ2h0OiByZW0tY2FsYygxMDApO1xyXG4gICAgbWFyZ2luLXRvcDogcmVtLWNhbGMoLTEwMCk7XHJcbiAgfVxyXG59XHJcblxyXG4uaWNvbi1wbGF5IHtcclxuICBoZWlnaHQ6IHJlbS1jYWxjKDMyKTtcclxuICB3aWR0aDogcmVtLWNhbGMoMzIpO1xyXG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi9kaXN0L2ltYWdlcy9pY29uLXBsYXkucG5nXCIpO1xyXG4gIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XHJcbn1cclxuXHJcbi5sYWJlbC1zdGF0ZSB7XHJcbiAgd2lkdGg6IHJlbS1jYWxjKDY1KTtcclxuICBoZWlnaHQ6IHJlbS1jYWxjKDY1KTtcclxuICBib3JkZXItcmFkaXVzOiAxMDAlO1xyXG4gIGZvbnQtZmFtaWx5OiAkam9zZWZpbi1zYW5zO1xyXG4gIGZvbnQtd2VpZ2h0OiA3MDA7XHJcbiAgZm9udC1zaXplOiByZW0tY2FsYygyNyk7XHJcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuICBjb2xvcjogd2hpdGU7XHJcbiAgZGlzcGxheTogZmxleDtcclxuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gIHBhZGRpbmctdG9wOiAwLjVyZW07XHJcblxyXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XHJcbiAgICBmb250LXNpemU6IHJlbS1jYWxjKDIyKTtcclxuICB9XHJcblxyXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UgdXApIHtcclxuICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMjApO1xyXG4gIH1cclxufVxyXG5cclxuLm9yYW5nZS10ZXh0IHtcclxuXHRjb2xvcjogJG9yYW5nZTtcclxufVxyXG5cclxuLmRhcmstb3JhbmdlLXRleHQge1xyXG5cdGNvbG9yOiAkZGFyay1vcmFuZ2U7XHJcbn1cclxuXHJcbi5ibHVlLXRleHQge1xyXG5cdGNvbG9yOiAkYmx1ZTtcclxufVxyXG5cclxuLmFxdWEtdGV4dCB7XHJcblx0Y29sb3I6ICRhcXVhO1xyXG59XHJcblxyXG4uZ29sZC10ZXh0IHtcclxuXHRjb2xvcjogJGdvbGQ7XHJcbn1cclxuXHJcbi5lbWJlZGRlZC1mb3JtIGxhYmVsIHtcclxuICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYygxMCk7XHJcbn1cclxuXHJcbi5lbWJlZGRlZC1mb3JtIHNlbGVjdCxcclxuLmVtYmVkZGVkLWZvcm0gdGV4dGFyZWEge1xyXG4gIG1hcmdpbi10b3A6IHJlbS1jYWxjKDEwKTtcclxufVxyXG5cclxuLmVtYmVkZGVkLWZvcm0gYnV0dG9uLFxyXG4uZW1iZWRkZWQtZm9ybSBpbnB1dFt0eXBlPVwic3VibWl0XCJdIHtcclxuICBAZXh0ZW5kIC5idG47XHJcbiAgQGV4dGVuZCAuYnRuLWFxdWE7XHJcbiAgYm9yZGVyOiAwO1xyXG4gIGN1cnNvcjogcG9pbnRlcjtcclxufVxyXG5cclxuLyotLS0tLS0tLS0tICBQYWdpbmF0aW9uICAtLS0tLS0tLS0tKi9cclxuXHJcbi5wYWdpbmF0aW9uIHtcclxuICBAaW5jbHVkZSBwYWdpbmF0aW9uLWNvbnRhaW5lcjtcclxufVxyXG5cclxubGkucGFnaW5hdGlvbl9faXRlbSB7XHJcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG5cclxuICBhOmhvdmVyIHtcclxuICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xyXG4gIH1cclxufVxyXG5cclxubGkucGFnaW5hdGlvbl9faXRlbS0tY3VycmVudCB7XHJcbiAgQGluY2x1ZGUgcGFnaW5hdGlvbi1pdGVtLWN1cnJlbnQ7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogI2Q1ZGJlMTtcclxuICBtaW4td2lkdGg6IHJlbS1jYWxjKDQ0KTtcclxuICBoZWlnaHQ6IHJlbS1jYWxjKDQ0KTtcclxuICBsaW5lLWhlaWdodDogcmVtLWNhbGMoNDApO1xyXG4gIGJvcmRlci1yYWRpdXM6IHJlbS1jYWxjKDIyKSAhaW1wb3J0YW50O1xyXG5cclxuICAmOmhvdmVyIHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICNkNWRiZTEgIWltcG9ydGFudDtcclxuICB9XHJcbn1cclxuXHJcbmxpLnBhZ2luYXRpb25fX2l0ZW0tLWRpc2FibGVkIHtcclxuICBAaW5jbHVkZSBwYWdpbmF0aW9uLWl0ZW0tZGlzYWJsZWQ7XHJcbn1cclxuXHJcbi8qIElDT05TICovXHJcbi5pY29uLXdpdGgtYmcge1xyXG4gIGRpc3BsYXk6IGZsZXg7XHJcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xyXG4gIGJvcmRlcjogcmVtLWNhbGMoMykgc29saWQgJGxpZ2h0LWdyYXk7XHJcbiAgYm9yZGVyLXJhZGl1czogNTAlO1xyXG4gIHdpZHRoOiByZW0tY2FsYygxMjApO1xyXG4gIGhlaWdodDogcmVtLWNhbGMoMTIwKTtcclxuICBtYXgtd2lkdGg6IHJlbS1jYWxjKDEyMCk7XHJcblxyXG4gIGltZyB7XHJcbiAgICB3aWR0aDogcmVtLWNhbGMoNjUpO1xyXG4gICAgaGVpZ2h0OiBhdXRvO1xyXG4gIH1cclxufVxyXG5cclxuLyogdGhpcyBmaXhlcyBhIGJ1ZyB3aGVyZSBleHRyYSBzcGFjZSB3YXMgc2hvd2luZyBhdCB0aGUgYm90dG9tIG9mIHBhZ2VzIGluIElFMTEgKi9cclxuc3ZnIHtcclxuICBvdmVyZmxvdzogaGlkZGVuO1xyXG59XHJcblxyXG4vLyBHbG9iYWwgbW9kYWxcclxuLmdsb2JhbC1tb2RhbCB7XHJcbiAgd2lkdGg6IHJlbS1jYWxjKDEwMzApO1xyXG4gIG1heC13aWR0aDogOTAlO1xyXG4gIGJhY2tncm91bmQtY29sb3I6ICRsaWdodC1ncmF5O1xyXG4gIHBhZGRpbmc6IHJlbS1jYWxjKDk1KSByZW0tY2FsYyg2MCkgcmVtLWNhbGMoNjApIHJlbS1jYWxjKDYwKTtcclxuICBmb250LXNpemU6IHJlbS1jYWxjKDE4KTtcclxuICBjb2xvcjogJGRhcmstZ3JheTtcclxuXHJcbiAgcCBhOm5vdCguYnRuKSwgXHJcbiAgbGkgYTpub3QoLmJ0bikge1xyXG4gICAgY29sb3I6ICRhcXVhO1xyXG4gICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XHJcbiAgfVxyXG5cclxuICAuY2xvc2UtYnV0dG9uIHtcclxuICAgIHRvcDogcmVtLWNhbGMoMzApO1xyXG4gICAgcmlnaHQ6IHJlbS1jYWxjKDYwKTtcclxuICAgIGZvbnQtZmFtaWx5OiAkam9zZWZpbi1zYW5zO1xyXG4gICAgY29sb3I6ICRhcXVhICFpbXBvcnRhbnQ7XHJcbiAgICBmb250LXNpemU6IHJlbS1jYWxjKDIwKTtcclxuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XHJcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG5cclxuICAgIHNwYW4ge1xyXG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogYm90dG9tO1xyXG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAuY2xvc2UtYnV0dG9uX190ZXh0IHtcclxuICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMjIpO1xyXG4gICAgbGluZS1oZWlnaHQ6IHJlbS1jYWxjKDIyKTtcclxuICB9XHJcblxyXG4gIC5jbG9zZS1idXR0b25fX3gge1xyXG4gICAgZm9udC1mYW1pbHk6ICRvcGVuLXNhbnM7XHJcbiAgICBmb250LXNpemU6IHJlbS1jYWxjKDYwKTtcclxuICAgIGxpbmUtaGVpZ2h0OiByZW0tY2FsYygzMCk7XHJcbiAgfVxyXG5cclxuICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XHJcbiAgICBtYXgtd2lkdGg6IDEwMCU7XHJcbiAgICBwYWRkaW5nLXRvcDogcmVtLWNhbGMoNjApO1xyXG4gICAgcGFkZGluZy1sZWZ0OiByZW0tY2FsYyg2MCk7XHJcblxyXG4gICAgaDIge1xyXG4gICAgICBtYXJnaW4tdG9wOiByZW0tY2FsYygxMjApO1xyXG4gICAgfVxyXG5cclxuICAgIC5jbG9zZS1idXR0b24ge1xyXG4gICAgICB0b3A6IHJlbS1jYWxjKDE1KTtcclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbi8qLS0tLS0tLS0tLSAgUGFnZSBCdWlsZGVyIE1vZHVsZSBTcGFjaW5nIEFkanVzdG1lbnRzIC0tLS0tLS0tLS0qL1xyXG5cclxuLnNlY3Rpb24tbW9kdWxlIHtcclxuICBwYWRkaW5nLXRvcDogcmVtLWNhbGMoODApO1xyXG4gIHBhZGRpbmctYm90dG9tOiByZW0tY2FsYyg4MCk7XHJcblxyXG4gIC5zZWN0aW9uX3RpdGxlLXdyYXBwZXIgKyAmIHtcclxuICAgIHBhZGRpbmctdG9wOiAwO1xyXG4gIH1cclxuXHJcbiAgJi5zZWN0aW9uLXdoaXRlICsgJi5zZWN0aW9uLXdoaXRlIHtcclxuICAgIHBhZGRpbmctdG9wOiAwO1xyXG4gIH1cclxuXHJcbiAgJi5zZWN0aW9uLWxpZ2h0LWdyYXkgKyAmLnNlY3Rpb24tbGlnaHQtZ3JheSB7XHJcbiAgICBwYWRkaW5nLXRvcDogMDtcclxuICB9XHJcblxyXG4gICYuc2VjdGlvbi1hcXVhICsgJi5zZWN0aW9uLWFxdWEge1xyXG4gICAgcGFkZGluZy10b3A6IDA7XHJcbiAgfVxyXG5cclxuICAuaGVyby1zZWN0aW9uICsgJi5zZWN0aW9uLWxpZ2h0LWdyYXkge1xyXG4gICAgbWFyZ2luLXRvcDogMDtcclxuICB9XHJcblxyXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcclxuICAgIHBhZGRpbmctdG9wOiByZW0tY2FsYyg0MCk7XHJcbiAgICBwYWRkaW5nLWJvdHRvbTogcmVtLWNhbGMoNDApO1xyXG4gIH1cclxufSIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBwYWdpbmF0aW9uXG4vLy8vXG5cbi8vLyBGb250IHNpemUgb2YgcGFnaW5hdGlvbiBpdGVtcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRwYWdpbmF0aW9uLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBib3R0b20gbWFyZ2luIG9mIHRoZSBwYWdpbmF0aW9uIG9iamVjdC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRwYWdpbmF0aW9uLW1hcmdpbi1ib3R0b206ICRnbG9iYWwtbWFyZ2luICFkZWZhdWx0O1xuXG4vLy8gVGV4dCBjb2xvciBvZiBwYWdpbmF0aW9uIGl0ZW1zLlxuLy8vIEB0eXBlIENvbG9yXG4kcGFnaW5hdGlvbi1pdGVtLWNvbG9yOiAkYmxhY2sgIWRlZmF1bHQ7XG5cbi8vLyBQYWRkaW5nIGluc2lkZSBvZiBwYWdpbmF0aW9uIGl0ZW1zLlxuLy8vIEB0eXBlIE51bWJlclxuJHBhZ2luYXRpb24taXRlbS1wYWRkaW5nOiByZW0tY2FsYygzIDEwKSAhZGVmYXVsdDtcblxuLy8vIFJpZ2h0IG1hcmdpbiB0byBzZXBhcmF0ZSBwYWdpbmF0aW9uIGl0ZW1zLlxuLy8vIEB0eXBlIE51bWJlclxuJHBhZ2luYXRpb24taXRlbS1zcGFjaW5nOiByZW0tY2FsYygxKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcmFkaXVzIGZvciBwYWdpbmF0aW9uIGl0ZW1zLlxuLy8vIEB0eXBlIE51bWJlclxuJHBhZ2luYXRpb24tcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3Igb2YgcGFnaW5hdGlvbiBpdGVtcyBvbiBob3Zlci5cbi8vLyBAdHlwZSBDb2xvclxuJHBhZ2luYXRpb24taXRlbS1iYWNrZ3JvdW5kLWhvdmVyOiAkbGlnaHQtZ3JheSAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3Igb2YgcGFnaW5hdGlvbiBpdGVtIGZvciB0aGUgY3VycmVudCBwYWdlLlxuLy8vIEB0eXBlIENvbG9yXG4kcGFnaW5hdGlvbi1pdGVtLWJhY2tncm91bmQtY3VycmVudDogJHByaW1hcnktY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBUZXh0IGNvbG9yIG9mIHRoZSBwYWdpbmF0aW9uIGl0ZW0gZm9yIHRoZSBjdXJyZW50IHBhZ2UuXG4vLy8gQHR5cGUgQ29sb3JcbiRwYWdpbmF0aW9uLWl0ZW0tY29sb3ItY3VycmVudDogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gVGV4dCBjb2xvciBvZiBhIGRpc2FibGVkIHBhZ2luYXRpb24gaXRlbS5cbi8vLyBAdHlwZSBDb2xvclxuJHBhZ2luYXRpb24taXRlbS1jb2xvci1kaXNhYmxlZDogJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gQ29sb3Igb2YgdGhlIGVsbGlwc2lzIGluIGEgcGFnaW5hdGlvbiBtZW51LlxuLy8vIEB0eXBlIENvbG9yXG4kcGFnaW5hdGlvbi1lbGxpcHNpcy1jb2xvcjogJGJsYWNrICFkZWZhdWx0O1xuXG4vLy8gSWYgYGZhbHNlYCwgZG9uJ3QgZGlzcGxheSBwYWdlIG51bWJlciBsaW5rcyBvbiBtb2JpbGUsIG9ubHkgbmV4dC9wcmV2aW91cyBsaW5rc1xuLy8vIGFuZCBvcHRpb25hbGx5IGN1cnJlbnQgcGFnZSBudW1iZXIuXG4vLy8gQHR5cGUgQm9vbGVhblxuJHBhZ2luYXRpb24tbW9iaWxlLWl0ZW1zOiBmYWxzZSAhZGVmYXVsdDtcblxuLy8vIElmIGB0cnVlYCwgZGlzcGxheSB0aGUgY3VycmVudCBwYWdlIG51bWJlciBvbiBtb2JpbGUgZXZlbiBpZiBgJHBhZ2luYXRpb24tbW9iaWxlLWl0ZW1zYCBpcyBzZXQgdG8gYGZhbHNlYC5cbi8vLyBUaGlzIHBhcmFtZXRlciB3aWxsIG9ubHkgb3ZlcnJpZGUgdGhlIHZpc2liaWxpdHkgc2V0dGluZyBvZiB0aGUgY3VycmVudCBpdGVtIGZvciBgJHBhZ2luYXRpb24tbW9iaWxlLWl0ZW1zOiBmYWxzZTtgLFxuLy8vIGl0IHdpbGwgbm90IGFmZmVjdCB0aGUgY3VycmVudCBwYWdlIG51bWJlciB2aXNpYmlsaXR5IHdoZW4gYCRwYWdpbmF0aW9uLW1vYmlsZS1pdGVtc2AgaXMgc2V0IHRvIGB0cnVlYC5cbi8vLyBAdHlwZSBCb29sZWFuXG4kcGFnaW5hdGlvbi1tb2JpbGUtY3VycmVudC1pdGVtOiBmYWxzZSAhZGVmYXVsdDtcblxuLy8vIElmIGB0cnVlYCwgYXJyb3dzIGFyZSBhZGRlZCB0byB0aGUgbmV4dCBhbmQgcHJldmlvdXMgbGlua3Mgb2YgcGFnaW5hdGlvbi5cbi8vLyBAdHlwZSBCb29sZWFuXG4kcGFnaW5hdGlvbi1hcnJvd3M6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLyBDb250ZW50IGZvciB0aGUgcHJldmlvdXMgYXJyb3cgd2hlbiBgJHBhZ2luYXRpb24tYXJyb3dzYCBpcyBgdHJ1ZWBcbi8vLyBAdHlwZSBTdHJpbmdcbiRwYWdpbmF0aW9uLWFycm93LXByZXZpb3VzOiAnXFwwMEFCJyAhZGVmYXVsdDtcblxuLy8vIENvbnRlbnQgZm9yIHRoZSBuZXh0IGFycm93IHdoZW4gYCRwYWdpbmF0aW9uLWFycm93c2AgaXMgYHRydWVgXG4vLy8gQHR5cGUgU3RyaW5nXG4kcGFnaW5hdGlvbi1hcnJvdy1uZXh0OiAnXFwwMEJCJyAhZGVmYXVsdDtcblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhIHBhZ2luYXRpb24gY29udGFpbmVyLiBBcHBseSB0aGlzIHRvIGEgYDx1bD5gLlxuQG1peGluIHBhZ2luYXRpb24tY29udGFpbmVyIChcbiAgJG1hcmdpbi1ib3R0b206ICRwYWdpbmF0aW9uLW1hcmdpbi1ib3R0b20sXG4gICRmb250LXNpemU6ICRwYWdpbmF0aW9uLWZvbnQtc2l6ZSxcbiAgJHNwYWNpbmc6ICRwYWdpbmF0aW9uLWl0ZW0tc3BhY2luZyxcbiAgJHJhZGl1czogJHBhZ2luYXRpb24tcmFkaXVzLFxuICAkY29sb3I6ICRwYWdpbmF0aW9uLWl0ZW0tY29sb3IsXG4gICRwYWRkaW5nOiAkcGFnaW5hdGlvbi1pdGVtLXBhZGRpbmcsXG4gICRiYWNrZ3JvdW5kLWhvdmVyOiAkcGFnaW5hdGlvbi1pdGVtLWJhY2tncm91bmQtaG92ZXJcbikge1xuICBAaW5jbHVkZSBjbGVhcmZpeDtcbiAgbWFyZ2luLSN7JGdsb2JhbC1sZWZ0fTogMDtcbiAgbWFyZ2luLWJvdHRvbTogJG1hcmdpbi1ib3R0b207XG5cbiAgLy8gTGlzdCBpdGVtXG4gIGxpIHtcbiAgICBtYXJnaW4tI3skZ2xvYmFsLXJpZ2h0fTogJHNwYWNpbmc7XG4gICAgYm9yZGVyLXJhZGl1czogJHJhZGl1cztcbiAgICBmb250LXNpemU6ICRmb250LXNpemU7XG5cbiAgICBAaWYgJHBhZ2luYXRpb24tbW9iaWxlLWl0ZW1zIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgZGlzcGxheTogbm9uZTtcblxuICAgICAgJjpsYXN0LWNoaWxkLFxuICAgICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIH1cblxuICAgICAgQGlmICRwYWdpbmF0aW9uLW1vYmlsZS1jdXJyZW50LWl0ZW0ge1xuICAgICAgICAmLmN1cnJlbnQge1xuICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gUGFnZSBsaW5rc1xuICBhLFxuICBidXR0b24ge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBhZGRpbmc6ICRwYWRkaW5nO1xuICAgIGJvcmRlci1yYWRpdXM6ICRyYWRpdXM7XG4gICAgY29sb3I6ICRjb2xvcjtcblxuICAgICY6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZDogJGJhY2tncm91bmQtaG92ZXI7XG4gICAgfVxuICB9XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgdGhlIGN1cnJlbnQgcGFnaW5hdGlvbiBpdGVtLiBBcHBseSB0aGlzIHRvIGFuIGA8YT5gLlxuQG1peGluIHBhZ2luYXRpb24taXRlbS1jdXJyZW50IChcbiAgJHBhZGRpbmc6ICRwYWdpbmF0aW9uLWl0ZW0tcGFkZGluZyxcbiAgJGJhY2tncm91bmQtY3VycmVudDogJHBhZ2luYXRpb24taXRlbS1iYWNrZ3JvdW5kLWN1cnJlbnQsXG4gICRjb2xvci1jdXJyZW50OiAkcGFnaW5hdGlvbi1pdGVtLWNvbG9yLWN1cnJlbnRcbikge1xuICBwYWRkaW5nOiAkcGFkZGluZztcbiAgYmFja2dyb3VuZDogJGJhY2tncm91bmQtY3VycmVudDtcbiAgY29sb3I6ICRjb2xvci1jdXJyZW50O1xuICBjdXJzb3I6IGRlZmF1bHQ7XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYSBkaXNhYmxlZCBwYWdpbmF0aW9uIGl0ZW0uIEFwcGx5IHRoaXMgdG8gYW4gYDxhPmAuXG5AbWl4aW4gcGFnaW5hdGlvbi1pdGVtLWRpc2FibGVkIChcbiAgJHBhZGRpbmc6ICRwYWdpbmF0aW9uLWl0ZW0tcGFkZGluZyxcbiAgJGNvbG9yOiAkcGFnaW5hdGlvbi1pdGVtLWNvbG9yLWRpc2FibGVkXG4pIHtcbiAgcGFkZGluZzogJHBhZGRpbmc7XG4gIGNvbG9yOiAkY29sb3I7XG4gIGN1cnNvcjogbm90LWFsbG93ZWQ7XG5cbiAgJjpob3ZlciB7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIH1cbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhbiBlbGxpcHNpcyBmb3IgdXNlIGluIGEgcGFnaW5hdGlvbiBsaXN0LlxuQG1peGluIHBhZ2luYXRpb24tZWxsaXBzaXMgKFxuICAkcGFkZGluZzogJHBhZ2luYXRpb24taXRlbS1wYWRkaW5nLFxuICAkY29sb3I6ICRwYWdpbmF0aW9uLWVsbGlwc2lzLWNvbG9yXG4pIHtcbiAgcGFkZGluZzogJHBhZGRpbmc7XG4gIGNvbnRlbnQ6ICdcXDIwMjYnO1xuICBjb2xvcjogJGNvbG9yO1xufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1wYWdpbmF0aW9uIHtcbiAgLnBhZ2luYXRpb24ge1xuICAgIEBpbmNsdWRlIHBhZ2luYXRpb24tY29udGFpbmVyO1xuXG4gICAgLmN1cnJlbnQge1xuICAgICAgQGluY2x1ZGUgcGFnaW5hdGlvbi1pdGVtLWN1cnJlbnQ7XG4gICAgfVxuXG4gICAgLmRpc2FibGVkIHtcbiAgICAgIEBpbmNsdWRlIHBhZ2luYXRpb24taXRlbS1kaXNhYmxlZDtcbiAgICB9XG5cbiAgICAuZWxsaXBzaXM6OmFmdGVyIHtcbiAgICAgIEBpbmNsdWRlIHBhZ2luYXRpb24tZWxsaXBzaXM7XG4gICAgfVxuICB9XG5cbiAgQGlmICRwYWdpbmF0aW9uLWFycm93cyB7XG4gICAgLnBhZ2luYXRpb24tcHJldmlvdXMgYTo6YmVmb3JlLFxuICAgIC5wYWdpbmF0aW9uLXByZXZpb3VzLmRpc2FibGVkOjpiZWZvcmUge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgbWFyZ2luLSN7JGdsb2JhbC1yaWdodH06IDAuNXJlbTtcbiAgICAgIGNvbnRlbnQ6ICRwYWdpbmF0aW9uLWFycm93LXByZXZpb3VzO1xuICAgIH1cblxuICAgIC5wYWdpbmF0aW9uLW5leHQgYTo6YWZ0ZXIsXG4gICAgLnBhZ2luYXRpb24tbmV4dC5kaXNhYmxlZDo6YWZ0ZXIge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgbWFyZ2luLSN7JGdsb2JhbC1sZWZ0fTogMC41cmVtO1xuICAgICAgY29udGVudDogJHBhZ2luYXRpb24tYXJyb3ctbmV4dDtcbiAgICB9XG4gIH1cbn1cbiIsIi5idG4ge1xyXG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgZm9udC1zaXplOiByZW0tY2FsYygxMyk7XHJcbiAgICBsaW5lLWhlaWdodDogMTtcclxuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcbiAgICBmb250LWZhbWlseTogJGpvc2VmaW4tc2FucztcclxuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XHJcbiAgICBwYWRkaW5nLXRvcDogcmVtLWNhbGMoMTIpO1xyXG4gICAgcGFkZGluZy1ib3R0b206IHJlbS1jYWxjKDgpO1xyXG4gICAgcGFkZGluZy1sZWZ0OiByZW0tY2FsYygxNik7XHJcbiAgICBwYWRkaW5nLXJpZ2h0OiByZW0tY2FsYygxNik7XHJcbiAgICBib3JkZXItcmFkaXVzOiByZW0tY2FsYygxOCk7XHJcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuM3MsIGNvbG9yIDAuM3M7XHJcblxyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSB1cCkge1xyXG4gICAgICAgIG1heC13aWR0aDogcmVtLWNhbGMoMjU4KTtcclxuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE2KTtcclxuICAgICAgICBib3JkZXItcmFkaXVzOiByZW0tY2FsYygyMi41KTtcclxuICAgIH1cclxufVxyXG5cclxuLmJ0bi1hcXVhIHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICRhcXVhO1xyXG4gICAgY29sb3I6IHdoaXRlO1xyXG5cclxuICAgICY6aG92ZXIge1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRnb2xkO1xyXG4gICAgICAgIGNvbG9yOiAkYmx1ZTtcclxuICAgIH1cclxufVxyXG5cclxuLmJ0bi13aGl0ZSB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcclxuICAgIGNvbG9yOiAkYXF1YTtcclxuXHJcbiAgICAmOmhvdmVyIHtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZ29sZDtcclxuICAgICAgICBjb2xvcjogJGJsdWU7XHJcbiAgICB9XHJcbn1cclxuXHJcbi5idG4tb3JhbmdlIHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICRvcmFuZ2U7XHJcbiAgICBjb2xvcjogd2hpdGU7XHJcblxyXG4gICAgJjpob3ZlciB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGRhcmstb3JhbmdlO1xyXG4gICAgICAgIGNvbG9yOiAkZ29sZDtcclxuICAgIH1cclxufVxyXG5cclxuLmJ0bi1ibHVlIHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICRibHVlO1xyXG4gICAgY29sb3I6IHdoaXRlO1xyXG5cclxuICAgICY6aG92ZXIge1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRhcXVhO1xyXG4gICAgICAgIGNvbG9yOiAkZ29sZDtcclxuICAgIH1cclxufVxyXG5cclxuLmJ0bi1ncmV5IHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICRsaWdodC1ncmF5O1xyXG4gICAgY29sb3I6ICRhcXVhO1xyXG5cclxuICAgICY6aG92ZXIge1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRnb2xkO1xyXG4gICAgICAgIGNvbG9yOiAkYmx1ZTtcclxuICAgIH1cclxufVxyXG5cclxuLmJ0bi13aGl0ZSB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xyXG4gICAgY29sb3I6ICRhcXVhO1xyXG5cclxuICAgICY6aG92ZXIge1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XHJcbiAgICAgICAgY29sb3I6ICRkYXJrLW9yYW5nZTtcclxuICAgIH1cclxufVxyXG5cclxuLmJ0bi1ibHVlLS1nb2xkLXRleHQge1xyXG4gICAgY29sb3I6ICRnb2xkO1xyXG5cclxuICAgICY6aG92ZXIge1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRibHVlO1xyXG4gICAgICAgIGNvbG9yOiB3aGl0ZTtcclxuICAgIH1cclxufVxyXG5cclxuLmJ0bi1nb2xkIHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICRnb2xkO1xyXG4gICAgY29sb3I6ICRhcXVhO1xyXG5cclxuICAgICY6aG92ZXIge1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRibHVlO1xyXG4gICAgICAgIGNvbG9yOiB3aGl0ZTtcclxuICAgIH1cclxufVxyXG5cclxuLmJ0bi1nb2xkLS1ibHVlLXRleHQge1xyXG4gICAgY29sb3I6ICRibHVlO1xyXG5cclxuICAgICY6aG92ZXIge1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRhcXVhO1xyXG4gICAgICAgIGNvbG9yOiB3aGl0ZTtcclxuICAgIH1cclxufVxyXG5cclxuLmJ0bi0tbGFyZ2Uge1xyXG4gICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICBmb250LXNpemU6IHJlbS1jYWxjKDIwKTtcclxuICAgIHBhZGRpbmctdG9wOiByZW0tY2FsYygxNik7XHJcbiAgICBwYWRkaW5nLWJvdHRvbTogcmVtLWNhbGMoMTIpO1xyXG4gICAgcGFkZGluZy1sZWZ0OiByZW0tY2FsYygyNCk7XHJcbiAgICBwYWRkaW5nLXJpZ2h0OiByZW0tY2FsYygyNCk7XHJcbn1cclxuXHJcbi5idG4tLXNxdWFyZSB7XHJcbiAgICBib3JkZXItcmFkaXVzOiAwO1xyXG4gICAgcGFkZGluZy10b3A6IHJlbS1jYWxjKDgpO1xyXG4gICAgcGFkZGluZy1ib3R0b206IHJlbS1jYWxjKDUpO1xyXG4gICAgcGFkZGluZy1sZWZ0OiByZW0tY2FsYyg1KTtcclxuICAgIHBhZGRpbmctcmlnaHQ6IHJlbS1jYWxjKDUpO1xyXG59XHJcblxyXG4uYnRuLS1zbWFsbCB7XHJcbiAgICBmb250LXNpemU6IHJlbS1jYWxjKDEyKTtcclxuICAgIHBhZGRpbmc6IHJlbS1jYWxjKDcpIHJlbS1jYWxjKDEyKSByZW0tY2FsYyg0KSByZW0tY2FsYygxMik7XHJcbn1cclxuXHJcbi5idG4tLWljb24tZW1haWw6YWZ0ZXIge1xyXG4gICAgY29udGVudDogdXJsKC9kaXN0L2ltYWdlcy9pY29uLW1haWwuc3ZnKTtcclxuICAgIHdpZHRoOiAxMHB4O1xyXG4gICAgaGVpZ2h0OiAxMHB4O1xyXG4gICAgbWFyZ2luLWxlZnQ6IHJlbS1jYWxjKDYpO1xyXG59IiwiZm9vdGVyIHtcclxuICAgIGJvcmRlci10b3A6IDNweCBzb2xpZCAkZ29sZDtcclxuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcblxyXG4gICAgLmZvb3Rlcl9fdHJpYW5nbGVfX3dyYXBwZXIge1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICAgICAgaGVpZ2h0OiAwO1xyXG5cclxuICAgICAgICBzdmcge1xyXG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgICAgIHotaW5kZXg6IDIwO1xyXG4gICAgICAgICAgICB3aWR0aDogcmVtLWNhbGMoNjApO1xyXG4gICAgICAgICAgICBoZWlnaHQ6IHJlbS1jYWxjKDI4KTtcclxuXHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogcmVtLWNhbGMoOTYpO1xyXG4gICAgICAgICAgICAgICAgaGVpZ2h0OiByZW0tY2FsYyg0Mik7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgICN0cmlhbmdsZSB7XHJcbiAgICAgICAgICAgIGZpbGw6ICRnb2xkO1xyXG4gICAgICAgICAgICBtaXgtYmxlbmQtbW9kZTogdW5zZXQ7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLmZvb3Rlcl9fdXBwZXIge1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRtZWRpdW0tZ3JheTtcclxuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgcGFkZGluZy10b3A6IHJlbS1jYWxjKDY2KTtcclxuXHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcclxuICAgICAgICAgICAgcGFkZGluZy10b3A6IHJlbS1jYWxjKDc0KTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UgdXApIHtcclxuICAgICAgICAgICAgcGFkZGluZy10b3A6IHJlbS1jYWxjKDExMik7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLmZvb3Rlcl9fbG93ZXIge1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRkYXJrZXN0LWdyYXk7XHJcbiAgICAgICAgcGFkZGluZy10b3A6IHJlbS1jYWxjKDIyKTtcclxuICAgICAgICBwYWRkaW5nLWJvdHRvbTogcmVtLWNhbGMoMjIpO1xyXG4gICAgfVxyXG5cclxuICAgIC5mb290ZXJfX2NvbnRlbnQge1xyXG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICB6LWluZGV4OiAxMDtcclxuICAgICAgICAvLyBwYWRkaW5nLWxlZnQ6IHJlbS1jYWxjKDQ2KTtcclxuICAgICAgICAvLyBwYWRkaW5nLXJpZ2h0OiByZW0tY2FsYyg0Nik7XHJcbiAgICAgICAgcGFkZGluZy1sZWZ0OiByZW0tY2FsYygxNik7XHJcbiAgICAgICAgcGFkZGluZy1yaWdodDogcmVtLWNhbGMoMTYpO1xyXG4gICAgICAgIFxyXG4gICAgICAgIC8vIEBpbmNsdWRlIGJyZWFrcG9pbnQgKGxhcmdlIHVwKSB7XHJcbiAgICAgICAgLy8gICAgIHBhZGRpbmctbGVmdDogMDtcclxuICAgICAgICAvLyAgICAgcGFkZGluZy1yaWdodDogMDtcclxuICAgICAgICAvLyB9XHJcblxyXG4gICAgICAgIC5wYWdlLWNvbnRlbnQtd3JhcHBlciB7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICAgICAgei1pbmRleDogMTA7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC5vdmVybGF5IHtcclxuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgbGVmdDogMDtcclxuICAgICAgICBib3R0b206IDA7XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgaGVpZ2h0OiByZW0tY2FsYyg0MDApO1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRtZWRpdW0tZ3JheTtcclxuICAgICAgICB6LWluZGV4OiAyO1xyXG4gICAgICAgIG9wYWNpdHk6IDAuNztcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xyXG4gICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLmZvb3Rlcl9fYmdfX2ltYWdlIHtcclxuICAgICAgICBtYXJnaW4tbGVmdDogcmVtLWNhbGMoLTE2KTtcclxuICAgICAgICBtYXJnaW4tcmlnaHQ6IHJlbS1jYWxjKC0xNik7XHJcbiAgICAgICAgaGVpZ2h0OiByZW0tY2FsYyg0MDApO1xyXG4gICAgICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XHJcbiAgICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCl7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgICAgICAgICB0b3A6IDA7XHJcbiAgICAgICAgICAgIGxlZnQ6IDA7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcclxuICAgICAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLmZvb3Rlcl9fc29jaWFsX19oZWFkZXIge1xyXG4gICAgICAgIGZvbnQtZmFtaWx5OiAkam9zZWZpbi1zYW5zO1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiAzMDA7XHJcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygyOCk7XHJcbiAgICAgICAgY29sb3I6IHdoaXRlO1xyXG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgICBsaW5lLWhlaWdodDogMTtcclxuICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYygyMik7XHJcblxyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UgdXApIHtcclxuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygzNCk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC5mb290ZXJfX3NvY2lhbF9fbGlua3Mge1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XHJcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoNTApO1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XHJcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDU1KTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGxpIHtcclxuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiByZW0tY2FsYyg0Nik7XHJcbiAgICAgICAgICAgIHdpZHRoOiAycmVtO1xyXG4gICAgICAgICAgICBoZWlnaHQ6IHJlbS1jYWxjKDQwKTtcclxuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgICAgJjpsYXN0LW9mLXR5cGUge1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICBhIHtcclxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogZmxleC1lbmQ7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIHN2ZyB7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgICAgIGhlaWdodDogYXV0bztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBhOmhvdmVyIHtcclxuICAgICAgICAgICAgc3ZnIHBhdGgsIHN2ZyBwb2x5Z29uICB7XHJcbiAgICAgICAgICAgICAgICBmaWxsOiAkb3JhbmdlO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC5mb290ZXJfX2xvZ29zX193cmFwcGVyX19kZXNrdG9wIHtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XHJcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcclxuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC5mb290ZXJfX2FjY3JlZGl0YXRpb25fX2xvZ29zX19kZXNrdG9wIHtcclxuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgICAgICAgICAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xyXG4gICAgICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XHJcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcclxuICAgICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIGxpIHtcclxuICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogcmVtLWNhbGMoMjYpO1xyXG4gICAgICAgICAgICAgICAgJjpsYXN0LW9mLXR5cGUge1xyXG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgc3ZnIHtcclxuICAgICAgICAgICAgICAgIG1heC13aWR0aDogcmVtLWNhbGMoMTEyKTtcclxuICAgICAgICAgICAgICAgIG1heC1oZWlnaHQ6IHJlbS1jYWxjKDgwKTtcclxuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC5mb290ZXJfX2FjY3JlZGl0YXRpb25fX2xvZ29zX19tb2JpbGVfX3dyYXBwZXIge1xyXG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICB6LWluZGV4OiAxMDtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLmZvb3Rlcl9fYWNjcmVkaXRhdGlvbl9fbG9nb3NfX21vYmlsZSB7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgICAgdG9wOiByZW0tY2FsYygyMik7XHJcbiAgICAgICAgICAgIGxlZnQ6IHJlbS1jYWxjKDMyKTtcclxuICAgICAgICAgICAgcmlnaHQ6IHJlbS1jYWxjKDMyKTtcclxuICAgICAgICAgICAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xyXG4gICAgICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcclxuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuXHJcbiAgICAgICAgICAgIHN2ZyB7XHJcbiAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IHJlbS1jYWxjKDExMik7XHJcbiAgICAgICAgICAgICAgICBtYXgtaGVpZ2h0OiByZW0tY2FsYyg4MCk7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAuZm9vdGVyX19sb2NhdGlvbnNfX3dyYXBwZXIge1xyXG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgICAgICAgcGFkZGluZy1sZWZ0OiByZW0tY2FsYyg0NCk7XHJcbiAgICAgICAgcGFkZGluZy1yaWdodDogcmVtLWNhbGMoNDQpO1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQgKG1lZGl1bSB1cCkge1xyXG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IHJlbS1jYWxjKDE2KTtcclxuICAgICAgICAgICAgcGFkZGluZy1yaWdodDogcmVtLWNhbGMoMTYpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5mb290ZXJfX2xvY2F0aW9ucyB7XHJcbiAgICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkIHdoaXRlO1xyXG4gICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB3aGl0ZTtcclxuICAgICAgICBtYXJnaW4tdG9wOiByZW0tY2FsYyg0MCk7XHJcbiAgICAgICAgcGFkZGluZy10b3A6IHJlbS1jYWxjKDIyKTtcclxuICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYygyMik7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcclxuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDQuOXJlbSk7XHJcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDA7XHJcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDFyZW07XHJcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDQ0KTtcclxuICAgICAgICB9XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSB1cCkge1xyXG4gICAgICAgICAgICB3aWR0aDogY2FsYygxMDAlIC0gNC45cmVtKTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC5jZWxsIHtcclxuICAgICAgICAgICAgY29sb3I6IHdoaXRlO1xyXG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTIpO1xyXG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYygyMik7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKXtcclxuICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UgdXApIHtcclxuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGFkZHJlc3Mge1xyXG4gICAgICAgICAgICBmb250LXN0eWxlOiBub3JtYWw7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGEge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICB9XHJcbiAgICAgICAgLmxpbmstdGVsIHtcclxuICAgICAgICAgICAgY29sb3I6IHdoaXRlO1xyXG4gICAgICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiAkb3JhbmdlO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5mb290ZXJfX2xvY2F0aW9uc19fdGl0bGUge1xyXG4gICAgICAgICAgICBmb250LXdlaWdodDogNjAwO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAuZm9vdGVyX19sb3dlcl9fbGlua3NfX3dyYXBwZXIge1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAuZm9vdGVyX19sb3dlcl9fbGlua3Mge1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNCk7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xyXG4gICAgICAgICAgICB3aWR0aDogNTAlO1xyXG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgYSB7XHJcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogcmVtLWNhbGMoMjIpO1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiByZW0tY2FsYygzMCk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgJjpsYXN0LW9mLXR5cGUge1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC5mb290ZXJfX2xvd2VyX19jb3B5cmlnaHQge1xyXG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xyXG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgICBjb2xvcjogd2hpdGU7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcclxuICAgICAgICAgICAgd2lkdGg6IDUwJTtcclxuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xyXG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IHJlbS1jYWxjKDMwKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgYTpob3ZlciB7XHJcbiAgICAgICAgY29sb3I6ICRvcmFuZ2U7XHJcbiAgICB9XHJcbn1cclxuXHJcbi5mb290ZXJfX2dyaWQge1xyXG4gICAgQGluY2x1ZGUgeHktZ3JpZDtcclxufVxyXG5cclxuLmZvb3Rlcl9fZ3JpZC0tY29sbGFwc2Uge1xyXG4gICAgQGluY2x1ZGUgZ3JpZC1yb3ctbmVzdCgkZ3V0dGVyLWRlZmF1bHQpO1xyXG59XHJcblxyXG4uZm9vdGVyX19ncmlkLS00dXAgLmNlbGwge1xyXG4gICAgQGluY2x1ZGUgeHktY2VsbCgxMiwgJGd1dHRlcnM6IDApO1xyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApe1xyXG4gICAgICAgIEBpbmNsdWRlIHh5LWNlbGwoMywgJGd1dHRlcnM6IDApO1xyXG4gICAgfVxyXG59IiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGdyaWRcbi8vLy9cblxuLy8vIENoYW5nZSB0aGUgYmVoYXZpb3Igb2YgY29sdW1ucyBkZWZpbmVkIGluc2lkZSB0aGlzIG1peGluIHRvIHVzZSBhIGRpZmZlcmVudCBjb2x1bW4gY291bnQuXG4vLy8gQGNvbnRlbnRcbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkY29sdW1ucyAtIE51bWJlciBvZiBjb2x1bW5zIHRvIHVzZS5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRyb290IFtmYWxzZV1cbi8vLyAgIElmIGBmYWxzZWAsIHNlbGVjdG9ycyBpbnNpZGUgdGhpcyBtaXhpbiB3aWxsIG5lc3QgaW5zaWRlIHRoZSBwYXJlbnQgc2VsZWN0b3IuXG4vLy8gICBJZiBgdHJ1ZWAsIHNlbGVjdG9ycyB3aWxsIG5vdCBuZXN0LlxuQG1peGluIGdyaWQtY29udGV4dChcbiAgJGNvbHVtbnMsXG4gICRyb290OiBmYWxzZVxuKSB7XG4gIC8vIFN0b3JlIHRoZSBjdXJyZW50IGNvbHVtbiBjb3VudCBzbyBpdCBjYW4gYmUgcmUtc2V0IGxhdGVyXG4gICRvbGQtZ3JpZC1jb2x1bW4tY291bnQ6ICRncmlkLWNvbHVtbi1jb3VudDtcbiAgJGdyaWQtY29sdW1uLWNvdW50OiAkY29sdW1ucyAhZ2xvYmFsO1xuXG4gIEBpZiAkcm9vdCB7XG4gICAgQGF0LXJvb3QgeyBAY29udGVudDsgfVxuICB9XG4gIEBlbHNlIHtcbiAgICBAY29udGVudDtcbiAgfVxuXG4gIC8vIFJlc3RvcmUgdGhlIG9sZCBjb2x1bW4gY291bnRcbiAgJGdyaWQtY29sdW1uLWNvdW50OiAkb2xkLWdyaWQtY29sdW1uLWNvdW50ICFnbG9iYWw7XG59XG5cbi8vLyBDcmVhdGVzIGEgZ3JpZCByb3cuXG4vLy8gQGNvbnRlbnRcbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkY29sdW1ucyBbbnVsbF0gLSBDb2x1bW4gY291bnQgZm9yIHRoaXMgcm93LiBgbnVsbGAgd2lsbCB1c2UgdGhlIGRlZmF1bHQgY29sdW1uIGNvdW50LlxuLy8vIEBwYXJhbSB7S2V5d29yZHN9ICRiZWhhdmlvciBbbnVsbF1cbi8vLyAgIE1vZGlmaWNhdGlvbnMgdG8gdGhlIGRlZmF1bHQgZ3JpZCBzdHlsZXMuIGBuZXN0YCBpbmRpY2F0ZXMgdGhlIHJvdyB3aWxsIGJlIHBsYWNlZCBpbnNpZGUgYW5vdGhlciByb3cuIGBjb2xsYXBzZWAgaW5kaWNhdGVzIHRoYXQgdGhlIGNvbHVtbnMgaW5zaWRlIHRoaXMgcm93IHdpbGwgbm90IGhhdmUgcGFkZGluZy4gYG5lc3QgY29sbGFwc2VgIGNvbWJpbmVzIGJvdGggYmVoYXZpb3JzLlxuLy8vIEBwYXJhbSB7S2V5d29yZHxOdW1iZXJ9ICRzaXplIFskZ3JpZC1yb3ctd2lkdGhdIE1heGltdW0gc2l6ZSBvZiB0aGUgcm93LiBTZXQgdG8gYGV4cGFuZGAgdG8gbWFrZSB0aGUgcm93IHRha2luZyB0aGUgZnVsbCB3aWR0aC5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRjZiBbdHJ1ZV0gLSBXaGV0aGVyIG9yIG5vdCB0byBpbmNsdWRlIGEgY2xlYXJmaXguXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TWFwfSAkZ3V0dGVycyBbJGdyaWQtY29sdW1uLWd1dHRlcl0gLSBHdXR0ZXIgbWFwIG9yIHNpbmdsZSB2YWx1ZSB0byB1c2Ugd2hlbiBpbnZlcnRpbmcgbWFyZ2lucy4gUmVzcG9uc2l2ZSBndXR0ZXIgc2V0dGluZ3MgYnkgZGVmYXVsdC5cbkBtaXhpbiBncmlkLXJvdyhcbiAgJGNvbHVtbnM6IG51bGwsXG4gICRiZWhhdmlvcjogbnVsbCxcbiAgJHNpemU6ICRncmlkLXJvdy13aWR0aCxcbiAgJGNmOiB0cnVlLFxuICAkZ3V0dGVyczogJGdyaWQtY29sdW1uLWd1dHRlclxuKSB7XG4gICRtYXJnaW46IGF1dG87XG5cbiAgQGlmIGluZGV4KCRiZWhhdmlvciwgbmVzdCkgIT0gbnVsbCB7XG4gICAgQGluY2x1ZGUgZ3JpZC1yb3ctbmVzdCgkZ3V0dGVycyk7XG5cbiAgICBAaWYgaW5kZXgoJGJlaGF2aW9yLCBjb2xsYXBzZSkgIT0gbnVsbCB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICB9XG4gIH1cbiAgQGVsc2Uge1xuICAgIEBpbmNsdWRlIGdyaWQtcm93LXNpemUoJHNpemUpO1xuICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgfVxuXG4gIEBpZiAkY2Yge1xuICAgIEBpbmNsdWRlIGNsZWFyZml4O1xuICB9XG5cbiAgQGlmICRjb2x1bW5zICE9IG51bGwge1xuICAgIEBpbmNsdWRlIGdyaWQtY29udGV4dCgkY29sdW1ucykge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9XG59XG5cbi8vLyBJbnZlcnRzIHRoZSBtYXJnaW5zIG9mIGEgcm93IHRvIG5lc3QgaXQgaW5zaWRlIG9mIGEgY29sdW1uLlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TWFwfSAkZ3V0dGVycyBbJGdyaWQtY29sdW1uLWd1dHRlcl0gLSBHdXR0ZXIgbWFwIG9yIHNpbmdsZSB2YWx1ZSB0byB1c2Ugd2hlbiBpbnZlcnRpbmcgbWFyZ2lucy4gUmVzcG9uc2l2ZSBndXR0ZXIgc2V0dGluZ3MgYnkgZGVmYXVsdC5cbkBtaXhpbiBncmlkLXJvdy1uZXN0KCRndXR0ZXJzOiAkZ3JpZC1jb2x1bW4tZ3V0dGVyKSB7XG4gIEBpbmNsdWRlIC16Zi1lYWNoLWJyZWFrcG9pbnQge1xuICAgICRtYXJnaW46IHJlbS1jYWxjKC16Zi1nZXQtYnAtdmFsKCRndXR0ZXJzLCAkLXpmLXNpemUpKSAvIDIgKiAtMTtcblxuICAgIG1hcmdpbi1yaWdodDogJG1hcmdpbjtcbiAgICBtYXJnaW4tbGVmdDogJG1hcmdpbjtcbiAgfVxufVxuXG4vLy8gU2V0IGEgZ3JpZCByb3cgc2l6ZVxuLy8vXG4vLy8gQHBhcmFtIHtLZXl3b3JkfE51bWJlcn0gJHNpemUgWyRncmlkLXJvdy13aWR0aF0gTWF4aW11bSBzaXplIG9mIHRoZSByb3cuIFNldCB0byBgZXhwYW5kYCB0byBtYWtlIHRoZSByb3cgdGFraW5nIHRoZSBmdWxsIHdpZHRoLlxuQG1peGluIGdyaWQtcm93LXNpemUoJHNpemU6ICRncmlkLXJvdy13aWR0aCkge1xuICBAaWYgJHNpemUgPT0gZXhwYW5kIHtcbiAgICAkc2l6ZTogbm9uZTtcbiAgfVxuXG4gIG1heC13aWR0aDogJHNpemU7XG59XG4iLCIkbmF2LXRyYW5zaXRpb246IC4xNXMgZWFzZS1vdXQ7XHJcblxyXG4vLyBFbnRpcmUgbmF2IGFyZWEgaXMgc3RpY2t5IGFuZCBvdmVybGF5cyBwYWdlIGhlcm9cclxuLnN0aWNreS1uYXYtY29udGFpbmVyIHtcclxuICAgIHBvc2l0aW9uOiBmaXhlZDtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgei1pbmRleDogOTk5O1xyXG5cclxuICAgIC8vIEVuc3VyZSBtb2JpbGUgbmF2IG92ZXJmbG93IGlzIHNjcm9sbGFibGVcclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoMTAwMCBkb3duKSB7XHJcbiAgICAgICAgbWF4LWhlaWdodDogMTAwdmg7XHJcbiAgICAgICAgb3ZlcmZsb3c6IHNjcm9sbDtcclxuICAgIH1cclxufVxyXG5cclxuLy8gRGlzYWxsb3cgYm9keSBzY3JvbGxpbmcgd2hlbiBtb2JpbGUgbmF2IGlzIG9wZW5cclxuLm1vYmlsZS1uYXYtb3BlbiBib2R5IHtcclxuICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbn1cclxuXHJcbi8qPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuPSAgICAgICAgICAgIFV0aWxpdHkgTmF2ICAgICAgICAgICAgPVxyXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSovXHJcblxyXG4uZ2xvYmFsLW5vdGljZS1iYW5uZXIge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJsdWU7XHJcbiAgICBjb2xvcjogJGdvbGQ7XHJcbiAgICBwYWRkaW5nOiAgcmVtLWNhbGMoNSkgJG1pbi1ndXR0ZXI7XHJcbn1cclxuXHJcbi5nbG9iYWwtbm90aWNlLWJhbm5lcl9fY29udGVudCB7XHJcbiAgICBtYXgtd2lkdGg6ICRtYXgtY29udGVudC13aWR0aDtcclxuICAgIG1hcmdpbjogMCBhdXRvO1xyXG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG5cclxuICAgIGEge1xyXG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xyXG4gICAgfVxyXG59XHJcblxyXG4vKj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbj0gICAgICAgICAgICBVdGlsaXR5IE5hdiAgICAgICAgICAgID1cclxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0qL1xyXG5cclxuLm5hdi11dGlsaXR5IHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XHJcbiAgICBmb250LXNpemU6IHJlbS1jYWxjKDE0KTtcclxuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XHJcbiAgICB0ZXh0LWFsaWduOiByaWdodDtcclxuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQgJG5hdi10cmFuc2l0aW9uO1xyXG5cclxuICAgIC53cmFwcGVyIHtcclxuICAgICAgICBtYXgtd2lkdGg6ICRtYXgtY29udGVudC13aWR0aDtcclxuICAgICAgICBtYXJnaW46IDAgYXV0bztcclxuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgcGFkZGluZy10b3A6IHJlbS1jYWxjKDEwKTtcclxuICAgICAgICBwYWRkaW5nLXJpZ2h0OiByZW0tY2FsYygxMzIpO1xyXG4gICAgICAgIHBhZGRpbmctYm90dG9tOiByZW0tY2FsYygxMCk7XHJcbiAgICB9XHJcblxyXG4gICAgLy8gTWFpbnRhaW4gcmlnaHQgZ3V0dGVyXHJcbiAgICAvLyBAaW5jbHVkZSBicmVha3BvaW50KGNhbGMoJG1heC1jb250ZW50LXdpZHRoICsgJG1pbi1ndXR0ZXIpIGRvd24pIHtcclxuICAgIC8vICAgICBwYWRkaW5nLXJpZ2h0OiByZW0tY2FsYygkbWluLWd1dHRlcik7XHJcbiAgICAvLyB9XHJcblxyXG4gICAgLy8gSGlkZSB1dGlsaXR5IG5hdiBmb3Igc21hbGxlciB2aWV3cG9ydHNcclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoNzAwIGRvd24pIHtcclxuICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgfVxyXG59XHJcblxyXG4vLyBTZXQgdXRpbGl0eSBuYXYgb3BhY2l0eSB3aGVuIHNjcm9sbGVkXHJcbi5zY3JvbGxlZCAubmF2LXV0aWxpdHkge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgjZmZmLCAwLjkpO1xyXG59XHJcblxyXG4ubmF2LXV0aWxpdHlfX21lbnUge1xyXG4gICAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xyXG4gICAgcGFkZGluZzogMDtcclxuICAgIG1hcmdpbjogMDtcclxuICAgIFxyXG4gICAgbGkge1xyXG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgICAgICBtYXJnaW4tcmlnaHQ6IHJlbS1jYWxjKDMyKTtcclxuICAgICAgICBcclxuICAgICAgICBhIHtcclxuICAgICAgICAgICAgY29sb3I6ICR0ZXh0LWdyYXk7XHJcbiAgICAgICAgfVxyXG4gICAgfSAgIFxyXG59XHJcblxyXG4ubmF2LXV0aWxpdHlfX2RvbmF0ZSB7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICB0b3A6IDA7XHJcbiAgICByaWdodDogMDtcclxuICAgIHdpZHRoOiByZW0tY2FsYygxMzIpO1xyXG4gICAgcGFkZGluZy10b3A6IHJlbS1jYWxjKDE4KTtcclxuICAgIHBhZGRpbmctYm90dG9tOiByZW0tY2FsYygxMCk7XHJcbiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodG8gcmlnaHQsICRvcmFuZ2UsICRkYXJrLW9yYW5nZSk7XHJcbiAgICBjb2xvcjogI2ZmZjtcclxuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgIGJvcmRlci1yYWRpdXM6IDAgMCByZW0tY2FsYygxMCkgcmVtLWNhbGMoMTApO1xyXG4gICAgZm9udC1mYW1pbHk6ICRvcGVuLXNhbnM7XHJcbiAgICBmb250LXdlaWdodDogNzAwO1xyXG4gICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICBmb250LXNpemU6IHJlbS1jYWxjKDE2KTtcclxuICAgIHotaW5kZXg6IDk5O1xyXG5cclxuICAgIHN2ZywgXHJcbiAgICBzcGFuIHtcclxuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xyXG4gICAgfVxyXG59XHJcblxyXG5cclxuLyo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuPSAgICAgICAgICAgIE1haW4gbmF2IChkZXNrdG9wKSAgICAgICAgICAgICAgPVxyXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0qL1xyXG5cclxuLm5hdi1iYW5kIHtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgkbGlnaHQtZ3JheSwgMC45KTtcclxuICAgIHBhZGRpbmctcmlnaHQ6ICRtaW4tZ3V0dGVyO1xyXG4gICAgcGFkZGluZy1sZWZ0OiAkbWluLWd1dHRlcjtcclxuICAgIG1pbi1oZWlnaHQ6IHJlbS1jYWxjKDk4KTtcclxuXHJcbiAgICAud3JhcHBlciB7XHJcbiAgICAgICAgbWF4LXdpZHRoOiAkbWF4LWNvbnRlbnQtd2lkdGg7XHJcbiAgICAgICAgbWFyZ2luOiAwIGF1dG87XHJcbiAgICAgICAgcGFkZGluZzogcmVtLWNhbGMoMzApIDA7XHJcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XHJcbiAgICB9XHJcbn1cclxuXHJcbi5uYXYtYmFuZF9fbG9nbyB7XHJcbiAgICBcclxuICAgIHRyYW5zaXRpb246IGFsbCAkbmF2LXRyYW5zaXRpb247XHJcbiAgXHJcbiAgICBcclxuICAgIHN2ZyB7XHJcbiAgICAgICAgd2lkdGg6IDEzMHB4O1xyXG4gICAgICAgIG1heC13aWR0aDogMTAwJTtcclxuICAgICAgICBoZWlnaHQ6IGF1dG87XHJcbiAgICB9XHJcbn1cclxuXHJcbi5uYXYtYmFuZF9fbG9nby0taG9tZXBhZ2Uge1xyXG4gICAgXHJcblxyXG4gICAgQG1lZGlhIGFsbCBhbmQgKC1tcy1oaWdoLWNvbnRyYXN0OiBub25lKSwgKC1tcy1oaWdoLWNvbnRyYXN0OiBhY3RpdmUpIHtcclxuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy9kaXN0L2ltYWdlcy9sb2dvLXRyYW5zaXRpb25hbC13aGl0ZS5wbmcnKTtcclxuICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IDE4NHB4IGF1dG87XHJcbiAgICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcclxuICAgIH1cclxuXHJcbiAgICBzdmcge1xyXG4gICAgICAgIHdpZHRoOiAyMTBweDtcclxuICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgaGVpZ2h0OiBhdXRvO1xyXG4gICAgfSAgIFxyXG59XHJcblxyXG4uc2Nyb2xsZWQgLm5hdi1iYW5kX19sb2dvLS1ob21lcGFnZSB7XHJcbiAgICBib3R0b206IDEycHg7XHJcblxyXG4gICAgQG1lZGlhIGFsbCBhbmQgKC1tcy1oaWdoLWNvbnRyYXN0OiBub25lKSwgKC1tcy1oaWdoLWNvbnRyYXN0OiBhY3RpdmUpIHtcclxuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy9kaXN0L2ltYWdlcy9sb2dvLXRyYW5zaXRpb25hbC1ncmF5LnBuZycpO1xyXG4gICAgICAgIGJhY2tncm91bmQtc2l6ZTogMTMwcHggYXV0bztcclxuICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xyXG4gICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcclxuICAgICAgICBib3R0b206IDA7XHJcbiAgICAgfVxyXG5cclxuICAgICAgICBcclxufSBcclxuXHJcbi8vIE5vdGUgX3NldHRpbmdzLnNjc3MgZm91bmRhdGlvbiBvdmVycmlkZXMgZm9yIC5kcm9wZG93blxyXG4vLyBJdGVtIG51bWJlciAxNy4gaGFzIGEgZmV3IHJlbGV2YW50IHZhcmlhYmxlc1xyXG4vLyBUaGVzZSBzdHlsZXMgYXBwbHkgZXZlcnl3aGVyZSBleGNlcHQgdGhlIHVuc2Nyb2xsZWQgaG9tZXBhZ2VcclxuLm5hdi1iYW5kX19tYWluLW5hdiwgXHJcbi5zY3JvbGxlZCAubmF2LWJhbmQtLXRyYW5zcGFyZW50IC5uYXYtYmFuZF9fbWFpbi1uYXYge1xyXG4gICAgZmxvYXQ6IHJpZ2h0O1xyXG4gICAgcGFkZGluZy1yaWdodDogcmVtLWNhbGMoNTApOyAvLyBmb3Igc2VhcmNoIGJ1dHRvblxyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgXHJcbiAgICAvLyBUb3AgbGV2ZWxcclxuICAgIC5kcm9wZG93bi5tZW51ID4gbGkge1xyXG4gICAgICAgIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCB0cmFuc3BhcmVudDtcclxuICAgICAgICBtYXJnaW4tbGVmdDogcmVtLWNhbGMoMzApO1xyXG5cclxuICAgICAgICAvLyBUb3AgbGV2ZWwgbGlua3NcclxuICAgICAgICA+IGEge1xyXG4gICAgICAgICAgICBjb2xvcjogJHRleHQtZ3JheTtcclxuICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcclxuICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMDtcclxuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAwO1xyXG4gICAgICAgICAgICBib3JkZXItYm90dG9tOiAycHggc29saWQgdHJhbnNwYXJlbnQ7XHJcbiAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiAkYXF1YTtcclxuICAgICAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCAkYXF1YTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAvLyBUb3AgbGV2ZWwgaXRlbSB3aXRoIGFjdGl2ZSBzdWJtZW51XHJcbiAgICAuZHJvcGRvd24ubWVudSA+IGxpLmlzLWFjdGl2ZSA+IGEge1xyXG4gICAgICAgIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCAkYXF1YTtcclxuICAgIH1cclxuXHJcbiAgICAvLyBTdWJtZW51XHJcbiAgICAuZHJvcGRvd24ubWVudSB1bCB7XHJcbiAgICAgICAgcGFkZGluZy1sZWZ0OiByZW0tY2FsYygxMCk7XHJcbiAgICAgICAgcGFkZGluZy1yaWdodDogcmVtLWNhbGMoMTApO1xyXG5cclxuICAgICAgICBtaW4td2lkdGg6IHJlbS1jYWxjKDE5MCk7XHJcblxyXG4gICAgICAgIG1hcmdpbi10b3A6IHJlbS1jYWxjKC0yKTtcclxuICAgICAgICBib3JkZXItdG9wOiAycHggc29saWQgJGFxdWE7XHJcblxyXG4gICAgICAgIGxpIHtcclxuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNjOWQwZDg7XHJcblxyXG4gICAgICAgICAgICAmOmZpcnN0LWNoaWxkIHtcclxuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmctdG9wOiByZW0tY2FsYygyMCk7XHJcblxyXG4gICAgICAgICAgICAgICAgLy8gVHJpYW5nbGVcclxuICAgICAgICAgICAgICAgICY6OmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgY29udGVudDogJyc7XHJcbiAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgICAgICAgICAgIHRvcDogMDtcclxuICAgICAgICAgICAgICAgICAgICBsZWZ0OiAxMHB4O1xyXG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAwO1xyXG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogMDtcclxuICAgICAgICAgICAgICAgICAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xyXG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci13aWR0aDogMTVweCAxMS41cHggMCAxMS41cHg7XHJcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiAkYXF1YSB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgJjpsYXN0LWNoaWxkIHtcclxuICAgICAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDA7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgXHJcbiAgICAgICAgICAgIC8vIEN1cnJlbnQgcGFnZSBzdHlsZVxyXG4gICAgICAgICAgICAmLmlzLWN1cnJlbnQtcGFnZSBhLCBcclxuICAgICAgICAgICAgJi5pcy1jdXJyZW50LXBhZ2UgYTpob3ZlciB7XHJcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogNzAwO1xyXG4gICAgICAgICAgICAgICAgY29sb3I6ICMzOThkYjc7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC8vIFN1Ym1lbnUgbGlua3NcclxuICAgICAgICBsaSBhIHtcclxuICAgICAgICAgICAgY29sb3I6ICM2ODdjOGQ7XHJcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMDtcclxuICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMDtcclxuXHJcbiAgICAgICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICAgICAgY29sb3I6ICRhcXVhO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfSAgXHJcbn1cclxuXHJcbi5uby1qcyAuZHJvcGRvd24ubWVudSAuc3VibWVudSB7XHJcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47XHJcbn1cclxuXHJcbi8qLS0tLS0tLS0tLSAgSG9tZXBhZ2UgbmF2IHZhcmlhbnQgKHRyYW5zcGFyZW50KSAgLS0tLS0tLS0tLSovXHJcblxyXG4ubmF2LWJhbmQtLXRyYW5zcGFyZW50IHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xyXG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZCAkbmF2LXRyYW5zaXRpb247XHJcblxyXG4gICAgLy8gU2V0IG5hdiBvcGFjaXR5IHdoZW4gc2Nyb2xsZWRcclxuICAgIC5zY3JvbGxlZCAmIHtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKCNmZmYsIDAuOSk7XHJcbiAgICB9XHJcblxyXG4gICAgLy8gVG9wIGxldmVsXHJcbiAgICAvLyAodHJhbnNwYXJlbnQgbmF2IHZhcmlhbnQpXHJcbiAgICAuZHJvcGRvd24ubWVudSA+IGxpID4gYSB7XHJcbiAgICAgICAgY29sb3I6ICNmZmY7XHJcblxyXG4gICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICBjb2xvcjogJGdvbGQ7XHJcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCAkZ29sZDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLy8gVG9wIGxldmVsIGl0ZW0gd2l0aCBhY3RpdmUgc3VibWVudVxyXG4gICAgLy8gKHRyYW5zcGFyZW50IG5hdiB2YXJpYW50KVxyXG4gICAgLmRyb3Bkb3duLm1lbnUgPiBsaS5pcy1hY3RpdmUgPiBhIHtcclxuICAgICAgICBjb2xvcjogJGdvbGQ7XHJcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkICRnb2xkO1xyXG4gICAgfVxyXG5cclxuICAgIC8vIFRvcCBsZXZlbCBpdGVtIHdpdGggYWN0aXZlIHN1Ym1lbnUgXHJcbiAgICAvLyAodHJhbnNwYXJlbnQgbmF2IHZhcmlhbnQpXHJcbiAgICAuZHJvcGRvd24ubWVudSA+IGxpLmlzLWFjdGl2ZSA+IGEge1xyXG4gICAgICAgIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCAkZ29sZDtcclxuICAgIH1cclxuICAgIC5kcm9wZG93bi5tZW51IHVsIHtcclxuICAgICAgICBib3JkZXItdG9wOiAycHggc29saWQgJGdvbGQ7XHJcbiAgICB9XHJcblxyXG4gICAgLy8gU3VibWVudSBcclxuICAgIC8vICh0cmFuc3BhcmVudCBuYXYgdmFyaWFudClcclxuICAgIC5kcm9wZG93bi5tZW51IHVsIGxpIHtcclxuICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2M5ZDBkODtcclxuXHJcbiAgICAgICAgJjpmaXJzdC1jaGlsZCB7XHJcblxyXG4gICAgICAgICAgICAvLyBUcmlhbmdsZVxyXG4gICAgICAgICAgICAvLyAodHJhbnNwYXJlbnQgbmF2IHZhcmlhbnQpXHJcbiAgICAgICAgICAgICY6OmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICBib3JkZXItY29sb3I6ICRnb2xkIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC5nbG9iYWwtc2VhcmNoLWJ1dHRvbiBzdmcgcGF0aCB7XHJcbiAgICAgICAgZmlsbDogI2ZmZiAhaW1wb3J0YW50O1xyXG4gICAgfVxyXG59XHJcblxyXG4vKi0tLS0tLS0tLS0gIEdsb2JhbCBzZWFyY2ggYnV0dG9uIGFuZCBmb3JtICAtLS0tLS0tLS0tKi9cclxuXHJcbi5nbG9iYWwtc2VhcmNoLWJ1dHRvbixcclxuLnNjcm9sbGVkIC5uYXYtYmFuZC0tdHJhbnNwYXJlbnQgLmdsb2JhbC1zZWFyY2gtYnV0dG9uIHtcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIHJpZ2h0OiAwO1xyXG4gICAgdG9wOiByZW0tY2FsYyg4KTtcclxuICAgIHdpZHRoOiByZW0tY2FsYygyNik7XHJcbiAgICBoZWlnaHQ6IHJlbS1jYWxjKDI2KTtcclxuXHJcbiAgICBzdmcgcGF0aCB7XHJcbiAgICAgICAgZmlsbDogJHRleHQtZ3JheSAhaW1wb3J0YW50O1xyXG4gICAgfVxyXG59XHJcblxyXG4uZ2xvYmFsLXNlYXJjaC1iYW5kIHtcclxuICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKCNmZmYsIDAuOSk7XHJcbiAgICBwYWRkaW5nOiByZW0tY2FsYygxNSkgJG1pbi1ndXR0ZXI7XHJcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kICRuYXYtdHJhbnNpdGlvbjtcclxuICAgIFxyXG4gICAgLndyYXBwZXIge1xyXG4gICAgICAgIG1heC13aWR0aDogJG1heC1jb250ZW50LXdpZHRoO1xyXG4gICAgICAgIG1hcmdpbjogMCBhdXRvO1xyXG4gICAgfVxyXG59XHJcblxyXG4uZ2xvYmFsLXNlYXJjaC1mb3JtIHtcclxuICAgIEBpbmNsdWRlIHh5LWdyaWQ7XHJcbiAgICBAaW5jbHVkZSBncmlkLXJvdy1uZXN0KCRndXR0ZXItZGVmYXVsdCk7XHJcbiAgICBAaW5jbHVkZSBmbGV4LWFsaWduKHJpZ2h0KTtcclxufVxyXG5cclxuLmdvYmFsLXNlYXJjaC1mb3JtX19pbnB1dCB7XHJcbiAgICBAaW5jbHVkZSB4eS1jZWxsKDMpO1xyXG5cclxuICAgIGlucHV0W3R5cGU9XCJzZWFyY2hcIl0ge1xyXG4gICAgICAgIGhlaWdodDogcmVtLWNhbGMoMzApO1xyXG4gICAgICAgIG1hcmdpbjogMDtcclxuICAgICAgICBwYWRkaW5nOiAwO1xyXG4gICAgICAgIGJvcmRlcjogMDtcclxuICAgICAgICBib3gtc2hhZG93OiBub25lO1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xyXG4gICAgfVxyXG59XHJcbi5nb2JhbC1zZWFyY2gtZm9ybV9fYnV0dG9uIHtcclxuICAgIEBpbmNsdWRlIHh5LWNlbGwoMSk7XHJcbiAgICBtaW4td2lkdGg6IHJlbS1jYWxjKDcwKTtcclxuICAgIHRleHQtYWxpZ246IHJpZ2h0O1xyXG5cclxuICAgIGJ1dHRvbiB7XHJcbiAgICAgICAgaGVpZ2h0OiByZW0tY2FsYygzMCk7XHJcbiAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRnb2xkO1xyXG4gICAgICAgIGNvbG9yOiAkYXF1YTtcclxuICAgICAgICBib3JkZXItcmFkaXVzOiByZW0tY2FsYygzMCk7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcclxuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTgpO1xyXG4gICAgICAgIHBhZGRpbmctbGVmdDogcmVtLWNhbGMoMjApO1xyXG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IHJlbS1jYWxjKDIwKTtcclxuICAgIH1cclxufVxyXG5cclxuLy8gR3Vlc3NpbmcgYXQgaG9tZXBhZ2UgZGVzaWduIGhlcmVcclxuLmhvbWUtcGFnZTpub3QoLnNjcm9sbGVkKSAuZ2xvYmFsLXNlYXJjaC1iYW5kIHtcclxuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xyXG5cclxuICAgIC5nb2JhbC1zZWFyY2gtZm9ybV9faW5wdXQgaW5wdXRbdHlwZT1cInNlYXJjaFwiXSB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcclxuICAgICAgICBwYWRkaW5nLWxlZnQ6IHJlbS1jYWxjKDEwKTtcclxuICAgICAgICBwYWRkaW5nLXJpZ2h0OiByZW0tY2FsYygxMCk7XHJcbiAgICB9XHJcbn1cclxuXHJcblxyXG4vKj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuPSAgICAgICAgICAgIE1vYmlsZSBuYXYgICAgICAgICAgICA9XHJcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0qL1xyXG5cclxuLm1vYmlsZS1uYXYtYmFuZCB7XHJcbiAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKCRsaWdodC1ncmF5LCAwLjkpO1xyXG4gICAgcGFkZGluZy1yaWdodDogJG1pbi1ndXR0ZXI7XHJcbiAgICBwYWRkaW5nLWxlZnQ6ICRtaW4tZ3V0dGVyO1xyXG4gICAgb3ZlcmZsb3c6IHNjcm9sbDtcclxuXHJcbiAgICAud3JhcHBlciB7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBoZWlnaHQ6IDEwMHB4O1xyXG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xyXG4gICAgICAgIHRyYW5zaXRpb246IGFsbCAkbmF2LXRyYW5zaXRpb247XHJcbiAgICB9XHJcbn1cclxuXHJcbi8vIFN3YXAgZGVza3RvcC9tb2JpbGUgbmF2XHJcbkBpbmNsdWRlIGJyZWFrcG9pbnQoMTAwMCBkb3duKSB7XHJcbiAgICAubmF2LWJhbmQge1xyXG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICB9XHJcbiAgICBcclxuICAgIC5nbG9iYWwtc2VhcmNoLWJhbmQge1xyXG4gICAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcclxuICAgIH1cclxuXHJcbiAgICAubW9iaWxlLW5hdi1iYW5kIHtcclxuICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIH1cclxufVxyXG5cclxuLm1vYmlsZS1uYXYtYmFuZF9fbG9nbyBzdmcge1xyXG4gICAgdHJhbnNpdGlvbjogYWxsICRuYXYtdHJhbnNpdGlvbjtcclxuICAgIHdpZHRoOiAyMDBweDtcclxuICAgIG1heC13aWR0aDogMTAwJTtcclxuICAgIGhlaWdodDogYXV0bztcclxufVxyXG5cclxuLm1vYmlsZS1uYXYtYmFuZF9fbG9nby0taG9tZXBhZ2Uge1xyXG4gICAgc3ZnIHtcclxuICAgICAgICB3aWR0aDogMTAwcHg7XHJcblxyXG4gICAgICAgIC5sb2dvLXRleHQge1xyXG4gICAgICAgICAgICBmaWxsOiAkZGFyay1ncmF5O1xyXG4gICAgICAgIH1cclxuICAgIH0gICBcclxufVxyXG5cclxuLm1vYmlsZS1uYXYtYmFuZF9fdG9nZ2xlIGJ1dHRvbiB7XHJcbiAgICB0cmFuc2l0aW9uOiBhbGwgJG5hdi10cmFuc2l0aW9uO1xyXG4gICAgQGluY2x1ZGUgaGFtYnVyZ2VyKCRhcXVhLCAkYXF1YSwgMzhweCwgMjhweCwgNXB4LCAzKTtcclxufVxyXG5cclxuLm1vYmlsZS1nbG9iYWwtc2VhcmNoLWZvcm0ge1xyXG4gICAgaW5wdXQge1xyXG4gICAgICAgIGJvcmRlcjogMDtcclxuICAgIH1cclxuICAgIC5idXR0b24ge1xyXG4gICAgICAgIGJhY2tncm91bmQ6ICRnb2xkO1xyXG4gICAgICAgIGNvbG9yOiAkdGV4dC1ncmF5O1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XHJcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuICAgICAgICBib3JkZXI6IDA7XHJcbiAgICB9XHJcbn1cclxuXHJcbi5tb2JpbGUtbmF2LWJhbmRfX21lbnUge1xyXG4gICAgZGlzcGxheTogbm9uZTtcclxuICAgIHBhZGRpbmctdG9wOiByZW0tY2FsYygyMCk7XHJcbiAgICBwYWRkaW5nLWJvdHRvbTogcmVtLWNhbGMoMzApO1xyXG5cclxuICAgIGEge1xyXG4gICAgICAgIGNvbG9yOiAkdGV4dC1ncmF5O1xyXG4gICAgfVxyXG59XHJcblxyXG4uaXMtYWNjb3JkaW9uLXN1Ym1lbnUtcGFyZW50ID4gYTo6YWZ0ZXIge1xyXG4gICAgY29udGVudDogJyc7XHJcbiAgICBAaW5jbHVkZSBjc3MtdHJpYW5nbGUoNnB4LCAkZGFyay1ncmF5LCBkb3duKTtcclxuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgIG1hcmdpbi1sZWZ0OiA2cHg7XHJcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xyXG59XHJcblxyXG4uaXMtYWNjb3JkaW9uLXN1Ym1lbnUtcGFyZW50W2FyaWEtZXhwYW5kZWQ9XCJ0cnVlXCJdID4gYTo6YWZ0ZXIge1xyXG4gICAgQGluY2x1ZGUgY3NzLXRyaWFuZ2xlKDZweCwgJGRhcmstZ3JheSwgdXApO1xyXG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG59XHJcblxyXG4uc2Nyb2xsZWQge1xyXG4gICAgLm1vYmlsZS1uYXYtYmFuZCAud3JhcHBlciB7XHJcbiAgICAgICAgaGVpZ2h0OiA2MHB4O1xyXG4gICAgfVxyXG4gICAgXHJcbiAgICAubW9iaWxlLW5hdi1iYW5kX19sb2dvIHN2ZyB7XHJcbiAgICAgICAgd2lkdGg6IDYwcHg7XHJcbiAgICB9XHJcblxyXG4gICAgLm1vYmlsZS1uYXYtYmFuZF9fdG9nZ2xlIGJ1dHRvbiB7XHJcbiAgICAgICAgQGluY2x1ZGUgaGFtYnVyZ2VyKCRhcXVhLCAkYXF1YSwgMzBweCwgMjJweCwgNHB4LCAzKTsgICAgICAgXHJcbiAgICB9XHJcbn1cclxuXHJcbi5yYWlzZSB7XHJcbiAgICBmaWxsOiAjRkZGRkZGOyAvKiDQn9C+0YfQsNGC0LrQvtCy0LjQuSDQsdGW0LvQuNC5INC60L7Qu9GW0YAgKi9cclxuICAgIHRyYW5zaXRpb246IGZpbGwgJG5hdi10cmFuc2l0aW9uO1xyXG59XHJcblxyXG4uc2Nyb2xsZWQgLnJhaXNlIHtcclxuICAgIGZpbGw6ICM2NzdDOEM7IC8qINCe0YDQuNCz0ZbQvdCw0LvRjNC90LjQuSDQutC+0LvRltGAICovXHJcbn0iLCJAZnVuY3Rpb24gLXpmLWZsZXgtanVzdGlmeSgkdGV4dC1kaXJlY3Rpb24pe1xuICAkLXpmLWZsZXgtanVzdGlmeTogKFxuICAgICdsZWZ0JzogaWYoJHRleHQtZGlyZWN0aW9uID09IHJ0bCwgZmxleC1lbmQsIGZsZXgtc3RhcnQpLFxuICAgICdyaWdodCc6IGlmKCR0ZXh0LWRpcmVjdGlvbiA9PSBydGwsIGZsZXgtc3RhcnQsIGZsZXgtZW5kKSxcbiAgICAnY2VudGVyJzogY2VudGVyLFxuICAgICdqdXN0aWZ5Jzogc3BhY2UtYmV0d2VlbixcbiAgICAnc3BhY2VkJzogc3BhY2UtYXJvdW5kLFxuICApO1xuXG4gIEByZXR1cm4gJC16Zi1mbGV4LWp1c3RpZnk7XG59XG5cblxuJC16Zi1mbGV4LWFsaWduOiAoXG4gICd0b3AnOiBmbGV4LXN0YXJ0LFxuICAnYm90dG9tJzogZmxleC1lbmQsXG4gICdtaWRkbGUnOiBjZW50ZXIsXG4gICdzdHJldGNoJzogc3RyZXRjaCxcbik7XG5cbiQtemYtZmxleC1kaXJlY3Rpb246IChcbiAgJ3Jvdyc6IHJvdyxcbiAgJ3Jvdy1yZXZlcnNlJzogcm93LXJldmVyc2UsXG4gICdjb2x1bW4nOiBjb2x1bW4sXG4gICdjb2x1bW4tcmV2ZXJzZSc6IGNvbHVtbi1yZXZlcnNlLFxuKTtcblxuLy8vIEVuYWJsZXMgZmxleGJveCBieSBhZGRpbmcgYGRpc3BsYXk6IGZsZXhgIHRvIHRoZSBlbGVtZW50LlxuQG1peGluIGZsZXgge1xuICBkaXNwbGF5OiBmbGV4O1xufVxuXG4vLy8gSG9yaXpvbnRhbGx5IG9yIHZlcnRpY2FsbHkgYWxpZ25zIHRoZSBpdGVtcyB3aXRoaW4gYSBmbGV4IGNvbnRhaW5lci5cbi8vL1xuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHggW251bGxdIC0gSG9yaXpvbnRhbCBhbGlnbm1lbnQgdG8gdXNlLiBDYW4gYmUgYGxlZnRgLCBgcmlnaHRgLCBgY2VudGVyYCwgYGp1c3RpZnlgLCBvciBgc3BhY2VkYC4gT3IsIHNldCBpdCB0byBgbnVsbGAgKHRoZSBkZWZhdWx0KSB0byBub3Qgc2V0IGhvcml6b250YWwgYWxpZ25tZW50LlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHkgW251bGxdIC0gVmVydGljYWwgYWxpZ25tZW50IHRvIHVzZS4gQ2FuIGJlIGB0b3BgLCBgYm90dG9tYCwgYG1pZGRsZWAsIG9yIGBzdHJldGNoYC4gT3IsIHNldCBpdCB0byBgbnVsbGAgKHRoZSBkZWZhdWx0KSB0byBub3Qgc2V0IHZlcnRpY2FsIGFsaWdubWVudC5cbkBtaXhpbiBmbGV4LWFsaWduKCR4OiBudWxsLCAkeTogbnVsbCkge1xuICBAaWYgJHgge1xuICAgIEBpZiBtYXAtaGFzLWtleSgkLXpmLWZsZXgtanVzdGlmeSwgJHgpIHtcbiAgICAgICR4OiBtYXAtZ2V0KCQtemYtZmxleC1qdXN0aWZ5LCAkeCk7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIEB3YXJuICdmbGV4LWdyaWQtcm93LWFsaWduKCk6ICN7JHh9IGlzIG5vdCBhIHZhbGlkIHZhbHVlIGZvciBob3Jpem9udGFsIGFsaWdubWVudC4gVXNlIGxlZnQsIHJpZ2h0LCBjZW50ZXIsIGp1c3RpZnksIG9yIHNwYWNlZC4nO1xuICAgIH1cbiAgfVxuXG4gIEBpZiAkeSB7XG4gICAgQGlmIG1hcC1oYXMta2V5KCQtemYtZmxleC1hbGlnbiwgJHkpIHtcbiAgICAgICR5OiBtYXAtZ2V0KCQtemYtZmxleC1hbGlnbiwgJHkpO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICBAd2FybiAnZmxleC1ncmlkLXJvdy1hbGlnbigpOiAjeyR5fSBpcyBub3QgYSB2YWxpZCB2YWx1ZSBmb3IgdmVydGljYWwgYWxpZ25tZW50LiBVc2UgdG9wLCBib3R0b20sIG1pZGRsZSwgb3Igc3RyZXRjaC4nO1xuICAgIH1cbiAgfVxuXG4gIGp1c3RpZnktY29udGVudDogJHg7XG4gIGFsaWduLWl0ZW1zOiAkeTtcbn1cblxuLy8vIFZlcnRpY2FsbHkgYWxpZ24gYSBzaW5nbGUgY29sdW1uIHdpdGhpbiBhIGZsZXggcm93LiBBcHBseSB0aGlzIG1peGluIHRvIGEgZmxleCBjb2x1bW4uXG4vLy9cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICR5IFtudWxsXSAtIFZlcnRpY2FsIGFsaWdubWVudCB0byB1c2UuIENhbiBiZSBgdG9wYCwgYGJvdHRvbWAsIGBtaWRkbGVgLCBvciBgc3RyZXRjaGAuIE9yLCBzZXQgaXQgdG8gYG51bGxgICh0aGUgZGVmYXVsdCkgdG8gbm90IHNldCB2ZXJ0aWNhbCBhbGlnbm1lbnQuXG5AbWl4aW4gZmxleC1hbGlnbi1zZWxmKCR5OiBudWxsKSB7XG4gIEBpZiAkeSB7XG4gICAgQGlmIG1hcC1oYXMta2V5KCQtemYtZmxleC1hbGlnbiwgJHkpIHtcbiAgICAgICR5OiBtYXAtZ2V0KCQtemYtZmxleC1hbGlnbiwgJHkpO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICBAd2FybiAnZmxleC1ncmlkLWNvbHVtbi1hbGlnbigpOiAjeyR5fSBpcyBub3QgYSB2YWxpZCB2YWx1ZSBmb3IgYWxpZ25tZW50LiBVc2UgdG9wLCBib3R0b20sIG1pZGRsZSwgb3Igc3RyZXRjaC4nO1xuICAgIH1cbiAgfVxuXG4gIGFsaWduLXNlbGY6ICR5O1xufVxuXG4vLy8gQ2hhbmdlcyB0aGUgc291cmNlIG9yZGVyIG9mIGEgZmxleCBjaGlsZC4gQ2hpbGRyZW4gd2l0aCBsb3dlciBudW1iZXJzIGFwcGVhciBmaXJzdCBpbiB0aGUgbGF5b3V0LlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkb3JkZXIgWzBdIC0gT3JkZXIgbnVtYmVyIHRvIGFwcGx5LlxuQG1peGluIGZsZXgtb3JkZXIoJG9yZGVyOiAwKSB7XG4gIG9yZGVyOiAkb3JkZXI7XG59XG5cbi8vLyBDaGFuZ2UgZmxleC1kaXJlY3Rpb25cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRkaXJlY3Rpb24gW3Jvd10gLSBGbGV4IGRpcmVjdGlvbiB0byB1c2UuIENhbiBiZVxuLy8vICAgLSByb3cgKGRlZmF1bHQpOiBzYW1lIGFzIHRleHQgZGlyZWN0aW9uXG4vLy8gICAtIHJvdy1yZXZlcnNlOiBvcHBvc2l0ZSB0byB0ZXh0IGRpcmVjdGlvblxuLy8vICAgLSBjb2x1bW46IHNhbWUgYXMgcm93IGJ1dCB0b3AgdG8gYm90dG9tXG4vLy8gICAtIGNvbHVtbi1yZXZlcnNlOiBzYW1lIGFzIHJvdy1yZXZlcnNlIHRvcCB0byBib3R0b21cbkBtaXhpbiBmbGV4LWRpcmVjdGlvbigkZGlyZWN0aW9uOiByb3cpIHtcbiAgZmxleC1kaXJlY3Rpb246ICRkaXJlY3Rpb247XG59XG4iLCIucm91bmRlZC10b3AtbGVmdC0yMCB7XHJcbiAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogcmVtLWNhbGMoMjApO1xyXG59XHJcblxyXG4ucm91bmRlZC10b3AtcmlnaHQtMjAge1xyXG4gIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiByZW0tY2FsYygyMCk7XHJcbn1cclxuXHJcbi5yb3VuZGVkLWJvdHRvbS1sZWZ0LTIwIHtcclxuICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiByZW0tY2FsYygyMCk7XHJcbn1cclxuXHJcbi5yb3VuZGVkLWJvdHRvbS1yaWdodC0yMCB7XHJcbiAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IHJlbS1jYWxjKDIwKTtcclxufVxyXG5cclxuLnJvdW5kZWQtdG9wLWxlZnQtMzAge1xyXG4gIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IHJlbS1jYWxjKDMwKTtcclxufVxyXG5cclxuLnJvdW5kZWQtdG9wLXJpZ2h0LTMwIHtcclxuICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogcmVtLWNhbGMoMzApO1xyXG59XHJcblxyXG4ucm91bmRlZC1ib3R0b20tbGVmdC0zMCB7XHJcbiAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogcmVtLWNhbGMoMzApO1xyXG59XHJcblxyXG4ucm91bmRlZC1ib3R0b20tcmlnaHQtMzAge1xyXG4gIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiByZW0tY2FsYygzMCk7XHJcbn1cclxuXHJcbi5yb3VuZGVkLXRvcC1sZWZ0LTQwIHtcclxuICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiByZW0tY2FsYyg0MCk7XHJcbn1cclxuXHJcbi5yb3VuZGVkLXRvcC1yaWdodC00MCB7XHJcbiAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IHJlbS1jYWxjKDQwKTtcclxufVxyXG5cclxuLnJvdW5kZWQtYm90dG9tLWxlZnQtNDAge1xyXG4gIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IHJlbS1jYWxjKDQwKTtcclxufVxyXG5cclxuLnJvdW5kZWQtYm90dG9tLXJpZ2h0LTQwIHtcclxuICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogcmVtLWNhbGMoNDApO1xyXG59XHJcblxyXG4ucm91bmRlZC10b3AtbGVmdC00NSB7XHJcbiAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogcmVtLWNhbGMoNDUpO1xyXG59XHJcblxyXG4ucm91bmRlZC10b3AtcmlnaHQtNDUge1xyXG4gIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiByZW0tY2FsYyg0NSk7XHJcbn1cclxuXHJcbi5yb3VuZGVkLWJvdHRvbS1sZWZ0LTQ1IHtcclxuICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiByZW0tY2FsYyg0NSk7XHJcbn1cclxuXHJcbi5yb3VuZGVkLWJvdHRvbS1yaWdodC00NSB7XHJcbiAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IHJlbS1jYWxjKDQ1KTtcclxufVxyXG5cclxuLnJvdW5kZWQtdG9wLWxlZnQtNTAge1xyXG4gIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IHJlbS1jYWxjKDUwKTtcclxufVxyXG5cclxuLnJvdW5kZWQtdG9wLXJpZ2h0LTUwIHtcclxuICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogcmVtLWNhbGMoNTApO1xyXG59XHJcblxyXG4ucm91bmRlZC1ib3R0b20tbGVmdC01MCB7XHJcbiAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogcmVtLWNhbGMoNTApO1xyXG59XHJcblxyXG4ucm91bmRlZC1ib3R0b20tcmlnaHQtNTAge1xyXG4gIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiByZW0tY2FsYyg1MCk7XHJcbn1cclxuXHJcbi5yb3VuZGVkLXRvcC1sZWZ0LTcwIHtcclxuICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiByZW0tY2FsYyg3MCk7XHJcbn1cclxuXHJcbi5yb3VuZGVkLXRvcC1yaWdodC03MCB7XHJcbiAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IHJlbS1jYWxjKDcwKTtcclxufVxyXG5cclxuLnJvdW5kZWQtYm90dG9tLWxlZnQtNzAge1xyXG4gIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IHJlbS1jYWxjKDcwKTtcclxufVxyXG5cclxuLnJvdW5kZWQtYm90dG9tLXJpZ2h0LTcwIHtcclxuICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogcmVtLWNhbGMoNzApO1xyXG59XHJcblxyXG4ucm91bmRlZC10b3AtbGVmdC03NSB7XHJcbiAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogcmVtLWNhbGMoNzUpO1xyXG59XHJcblxyXG4ucm91bmRlZC10b3AtcmlnaHQtNzUge1xyXG4gIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiByZW0tY2FsYyg3NSk7XHJcbn1cclxuXHJcbi5yb3VuZGVkLWJvdHRvbS1sZWZ0LTc1IHtcclxuICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiByZW0tY2FsYyg3NSk7XHJcbn1cclxuXHJcbi5yb3VuZGVkLWJvdHRvbS1yaWdodC03NSB7XHJcbiAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IHJlbS1jYWxjKDc1KTtcclxufVxyXG5cclxuLnJvdW5kZWQtdG9wLWxlZnQtMTAwIHtcclxuICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiByZW0tY2FsYygxMDApO1xyXG59XHJcblxyXG4ucm91bmRlZC10b3AtcmlnaHQtMTAwIHtcclxuICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogcmVtLWNhbGMoMTAwKTtcclxufVxyXG5cclxuLnJvdW5kZWQtYm90dG9tLWxlZnQtMTAwIHtcclxuICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiByZW0tY2FsYygxMDApO1xyXG59XHJcblxyXG4ucm91bmRlZC1ib3R0b20tcmlnaHQtMTAwIHtcclxuICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogcmVtLWNhbGMoMTAwKTtcclxufVxyXG5cclxuLnNlY3Rpb24tcm91bmRlZC1ib3R0b20tbGVmdCB7XHJcbiAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogcmVtLWNhbGMoNTApO1xyXG4gIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcclxuICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IHJlbS1jYWxjKDEwMCk7XHJcbiAgfVxyXG59XHJcblxyXG4uc2VjdGlvbi1yb3VuZGVkLWJvdHRvbS1yaWdodCB7XHJcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogcmVtLWNhbGMoNTApO1xyXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XHJcbiAgICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogcmVtLWNhbGMoMTAwKTtcclxuICB9XHJcbn1cclxuXHJcbi5yb3VuZGVkLTEwMCB7XHJcbiAgYm9yZGVyLXJhZGl1czogMTAwJTtcclxufVxyXG5cclxuLnJlc2V0LXJvdW5kZWQtY29ybmVycyB7XHJcbiAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDA7XHJcbiAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogMDtcclxuICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogMDtcclxuICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAwO1xyXG59XHJcbiIsIi5ldmVudC1saXN0aW5nIHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGZsZXgtd3JhcDogd3JhcDtcclxuICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDE2KTtcclxuICAgIHBhZGRpbmc6IHJlbS1jYWxjKDE2KTtcclxuXHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50IChtZWRpdW0gdXApIHtcclxuICAgICAgICBmbGV4LXdyYXA6IG5vd3JhcDtcclxuICAgICAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcclxuICAgICAgICBwYWRkaW5nLWJvdHRvbTogcmVtLWNhbGMoMjQpO1xyXG4gICAgfVxyXG5cclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQgKGxhcmdlIHVwKSB7XHJcbiAgICAgICAgcGFkZGluZy1ib3R0b206IHJlbS1jYWxjKDE2KTtcclxuICAgIH1cclxuXHJcbiAgICAmOmhvdmVyIHtcclxuICAgICAgICAuZXZlbnQtdGl0bGUge1xyXG4gICAgICAgICAgICBjb2xvcjogJGRhcmstb3JhbmdlO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgc3ZnIHBhdGgge1xyXG4gICAgICAgICAgICBmaWxsOiAkZGFyay1vcmFuZ2U7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4uZXZlbnQtbGlzdGluZ19fZGF0ZS13cmFwcGVyIHtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYygyNCk7XHJcblxyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCAobWVkaXVtIHVwKSB7XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcclxuICAgIH1cclxuXHJcbiAgICAuZXZlbnQtdGl0bGUge1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQgKG1lZGl1bSB1cCkge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLmV2ZW50LWxpc3RpbmdfX2RhdGUge1xyXG4gICAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KCAwZGVnLCByZ2IoNTEsMTkzLDIxMCkgMCUsIHJnYig1OCwxNDEsMTgzKSAxMDAlKTsgXHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICBwYWRkaW5nOiByZW0tY2FsYygxNikgcmVtLWNhbGMoMjQpO1xyXG4gICAgbWFyZ2luLXJpZ2h0OiByZW0tY2FsYygyNCk7XHJcblxyXG4gICAgLm1vbnRoIHtcclxuICAgICAgICBmb250LWZhbWlseTogJGpvc2VmaW4tc2FucztcclxuICAgICAgICBmb250LXdlaWdodDogNzAwO1xyXG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTcpO1xyXG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcbiAgICAgICAgY29sb3I6IGdvbGQ7XHJcbiAgICB9XHJcblxyXG4gICAgLmRheSB7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcclxuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDQwKTtcclxuICAgICAgICBsaW5lLWhlaWdodDogcmVtLWNhbGMoMzUpO1xyXG4gICAgICAgIGNvbG9yOiB3aGl0ZTtcclxuICAgIH1cclxuXHJcbiAgICAuZXZlbnQtdGl0bGUge1xyXG4gICAgICAgIG1hcmdpbi10b3A6IHJlbS1jYWxjKDgpO1xyXG4gICAgfVxyXG59XHJcblxyXG4uZXZlbnQtdGl0bGUge1xyXG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcclxuICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMjApO1xyXG4gICAgbGluZS1oZWlnaHQ6IHJlbS1jYWxjKDI2KTtcclxuICAgIGNvbG9yOiAkYmx1ZTtcclxuICAgIHRyYW5zaXRpb246IGNvbG9yIDAuM3M7XHJcblxyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCAobWVkaXVtIHVwKSB7XHJcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRkYXJrLWdyYXk7XHJcbiAgICAgICAgcGFkZGluZy1ib3R0b206IHJlbS1jYWxjKDEyKTtcclxuICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYygxMik7XHJcbiAgICB9XHJcblxyXG4gICAgc3ZnIHtcclxuICAgICAgICBtYXJnaW4tbGVmdDogcmVtLWNhbGMoOCk7XHJcbiAgICB9XHJcblxyXG4gICAgcGF0aCB7XHJcbiAgICAgICAgdHJhbnNpdGlvbjogZmlsbCAwLjNzO1xyXG4gICAgfVxyXG59XHJcblxyXG4uZXZlbnQtbGlzdGluZ19fdGV4dCB7XHJcbiAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYyg0MCk7XHJcblxyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCAobWVkaXVtIHVwKSB7XHJcbiAgICAgICAgd2lkdGg6IGNhbGMoODAlIC0gOTJweCk7XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcclxuICAgIH1cclxuXHJcbiAgICAuZXZlbnQtdGl0bGUge1xyXG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCAobWVkaXVtIHVwKSB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBwIHtcclxuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE2KTtcclxuICAgICAgICBsaW5lLWhlaWdodDogcmVtLWNhbGMoMjQpO1xyXG4gICAgICAgIGNvbG9yOiAkZGFyay1ncmF5O1xyXG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XHJcbiAgICB9XHJcbn1cclxuXHJcbi5ldmVudC1saXN0aW5nX19jYXRlZ29yaWVzIHtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGZsZXgtd3JhcDogd3JhcDtcclxuICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XHJcblxyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCAobWVkaXVtIHVwKSB7XHJcbiAgICAgICAgLy8gT3JpZ2luYWxseSAyMCUuIEFkanVzdGVkIDIwMjAtMDgtMTMgdG8gY29tcGVuc2F0ZSBmb3IgbG9uZyBuYW1lcyBmb3IgdGFncyBzdWNoIGFzIFwicHJvZmVzc2lvbmFsXCJcclxuICAgICAgICB3aWR0aDogY2FsYygzMiUgLSA5MnB4KTtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICAgICAgYWxpZ24taXRlbXM6IGZsZXgtZW5kO1xyXG4gICAgICAgIGZsZXgtZ3JvdzogMTtcclxuICAgICAgICBmbGV4LXdyYXA6IG5vd3JhcDtcclxuICAgIH1cclxuXHJcbiAgICAuZXZlbnQtbG9jYXRpb24sIC5ldmVudC10eXBlLCAuZXZlbnQtYXVkaWVuY2Uge1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRhcXVhO1xyXG4gICAgICAgIGNvbG9yOiB3aGl0ZTtcclxuICAgICAgICBmb250LWZhbWlseTogJGpvc2VmaW4tc2FucztcclxuICAgICAgICBmb250LXdlaWdodDogNzAwO1xyXG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTMpO1xyXG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcbiAgICAgICAgbWFyZ2luLWxlZnQ6IHJlbS1jYWxjKDgpO1xyXG4gICAgICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDgpO1xyXG5cclxuICAgICAgICBzdmcge1xyXG4gICAgICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgIGhlaWdodDogYXV0bztcclxuICAgICAgICAgICAgbWF4LWhlaWdodDogMTAwJTtcclxuICAgIFxyXG4gICAgICAgICAgICBwYXRoIHtcclxuICAgICAgICAgICAgICAgIGZpbGw6ICR3aGl0ZTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5ldmVudC1sb2NhdGlvbiB7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDEwMCU7XHJcbiAgICAgICAgd2lkdGg6IHJlbS1jYWxjKDMyKTtcclxuICAgICAgICBoZWlnaHQ6IHJlbS1jYWxjKDMyKTtcclxuICAgICAgICBwYWRkaW5nLXRvcDogcmVtLWNhbGMoNik7XHJcbiAgICAgICAgcGFkZGluZy1sZWZ0OiByZW0tY2FsYyg2KTtcclxuICAgICAgICBwYWRkaW5nLXJpZ2h0OiByZW0tY2FsYyg2KTtcclxuICAgICAgICBwYWRkaW5nLWJvdHRvbTogcmVtLWNhbGMoNCk7XHJcbiAgICB9XHJcbiAgICAuZXZlbnQtdHlwZSwgLmV2ZW50LWF1ZGllbmNlIHtcclxuICAgICAgICBib3JkZXItcmFkaXVzOiByZW0tY2FsYygxNik7XHJcbiAgICAgICAgcGFkZGluZy1sZWZ0OiByZW0tY2FsYygxMik7XHJcbiAgICAgICAgcGFkZGluZy1yaWdodDogcmVtLWNhbGMoMTIpO1xyXG4gICAgICAgIHBhZGRpbmctdG9wOiByZW0tY2FsYyg4KTtcclxuICAgICAgICBwYWRkaW5nLWJvdHRvbTogcmVtLWNhbGMoNik7XHJcblxyXG4gICAgICAgICYuZXZlbnQtb25saW5lIHtcclxuICAgICAgICAgICAgd2lkdGg6IHJlbS1jYWxjKDMyKTtcclxuICAgICAgICAgICAgaGVpZ2h0OiByZW0tY2FsYygzMik7XHJcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDEwMCU7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IHJlbS1jYWxjKDYpO1xyXG5cdCAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGRhcmstZ3JheTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi5ldmVudHNfbW9kdWxlIHtcclxuICAgIHBhZGRpbmctdG9wOiByZW0tY2FsYyg4MCk7XHJcbiAgICBwYWRkaW5nLWJvdHRvbTogcmVtLWNhbGMoODApO1xyXG5cclxuICAgIC53cmFwcGVyIHtcclxuICAgICAgICBAaW5jbHVkZSB4eS1ncmlkKCk7XHJcblxyXG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAganVzdGlmeS1pdGVtczogY2VudGVyO1xyXG5cclxuICAgICAgICAuc2VjdGlvbl9fc2lkZWJhciB7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIHh5LWNlbGwoNCk7XHJcblxyXG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiByZW0tY2FsYyg0MCk7XHJcblxyXG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTgpO1xyXG4gICAgICAgICAgICBsaW5lLWhlaWdodDogcmVtLWNhbGMoMjUpO1xyXG5cclxuICAgICAgICAgICAgaDIge1xyXG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYyg1MSk7XHJcbiAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogcmVtLWNhbGMoNTIpO1xyXG4gICAgICAgICAgICAgICAgY29sb3I6ICRkYXJrLW9yYW5nZTtcclxuICAgICAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIC5jdGFzX19saXN0X19jdGEge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy10b3A6IHJlbS1jYWxjKDI0KTtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCAoNzUwIGRvd24pIHtcclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIHh5LWNlbGwoMTIpO1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMDtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiByZW0tY2FsYyg0MCk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC5zZWN0aW9uX19ldmVudHMge1xyXG4gICAgICAgICAgICBAaW5jbHVkZSB4eS1jZWxsKDgpO1xyXG5cclxuICAgICAgICAgICAgLmV2ZW50LWxpc3Qge1xyXG4gICAgICAgICAgICAgICAgQGV4dGVuZCAuZXZlbnQtbGlzdC0tZ3JheS1iYWNrZ3JvdW5kO1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50ICg3NTAgZG93bikge1xyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgeHktY2VsbCgxMik7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbn0iLCIuYmx1ZS1zaWRlYmFyIHtcclxuICAgIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCggMTgwZGVnLCByZ2IoNTEsMTkzLDIxMCkgMCUsIHJnYig1OCwxNDEsMTgzKSAxMDAlKTtcclxuICAgIG1hcmdpbi1sZWZ0OiByZW0tY2FsYygtMTYpO1xyXG4gICAgbWFyZ2luLXJpZ2h0OiByZW0tY2FsYygtMTYpO1xyXG4gICAgcGFkZGluZy1sZWZ0OiByZW0tY2FsYygyOCk7XHJcbiAgICBwYWRkaW5nLXJpZ2h0OiByZW0tY2FsYygyOCk7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiByZW0tY2FsYyg1MCk7XHJcbiAgICBwYWRkaW5nLXRvcDogcmVtLWNhbGMoODApO1xyXG4gICAgcGFkZGluZy1ib3R0b206IHJlbS1jYWxjKDY4KTtcclxuXHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50IChtZWRpdW0gdXApIHtcclxuICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgcGFkZGluZy1ib3R0b206IHJlbS1jYWxjKDc2KTtcclxuICAgICAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiByZW0tY2FsYyg0MCk7XHJcbiAgICAgICAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IHJlbS1jYWxjKDQwKTtcclxuICAgIH1cclxuXHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50IChsYXJnZSB1cCkge1xyXG4gICAgICAgIHdpZHRoOiAzMy4zMyU7XHJcbiAgICAgICAgcGFkZGluZy1sZWZ0OiByZW0tY2FsYygyNCk7XHJcbiAgICB9XHJcblxyXG4gICAgaDIge1xyXG4gICAgICAgIGZvbnQtZmFtaWx5OiAkam9zZWZpbi1zYW5zO1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XHJcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygzNSk7XHJcbiAgICAgICAgbGluZS1oZWlnaHQ6IHJlbS1jYWxjKDM4KTtcclxuICAgICAgICBjb2xvcjogJGdvbGQ7XHJcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYygxNik7XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICB9XHJcblxyXG4gICAgcCB7XHJcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNik7XHJcbiAgICAgICAgbGluZS1oZWlnaHQ6IHJlbS1jYWxjKDIyKTtcclxuICAgICAgICBjb2xvcjogd2hpdGU7XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMzIpO1xyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG5cclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50IChsYXJnZSB1cCkge1xyXG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYyg1NCk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4uaG9tZS1wYWdlIHtcclxuICAgIC5ibHVlLXNpZGViYXIge1xyXG4gICAgICAgIHAsIGgyIHtcclxuICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufSIsIi5zdGF0aXN0aWNfX3dyYXBwZXIge1xyXG4gIC5zdGF0aXN0aWNfX2ljb24ge1xyXG5cclxuICAgIC5zdGF0aXN0aWNfX2ljb25fX3dyYXBwZXIge1xyXG4gICAgICB3aWR0aDogcmVtLWNhbGMoOTApO1xyXG4gICAgICBoZWlnaHQ6IHJlbS1jYWxjKDkwKTtcclxuICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcblxyXG4gICAgICBtYXJnaW46IDAgYXV0bztcclxuICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMjApO1xyXG5cclxuICAgICAgaW1nIHtcclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICBtYXgtaGVpZ2h0OiAxMDAlO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAuc3RhdGlzdGljX19xdWFudGl0eSB7XHJcbiAgXHJcbiAgICAuc3RhdGlzdGljX19xdWFudGl0eV9fdmFsdWUge1xyXG4gICAgICBjb2xvcjogJGFxdWE7XHJcbiAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xyXG4gICAgICBmb250LXNpemU6IHJlbS1jYWxjKDUwKTtcclxuICAgICAgbGluZS1oZWlnaHQ6IHJlbS1jYWxjKDQ4KTtcclxuXHJcbiAgICAgIHN1cCB7XHJcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygzMCk7XHJcbiAgICAgICAgbGluZS1oZWlnaHQ6IHJlbS1jYWxjKDMzKTtcclxuICAgICAgfVxyXG5cclxuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBkb3duKSB7XHJcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYyg2OCk7XHJcbiAgICAgICAgbGluZS1oZWlnaHQ6IHJlbS1jYWxjKDY2KTtcclxuXHJcbiAgICAgICAgc3VwIHtcclxuICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMjUpO1xyXG4gICAgICAgICAgbGluZS1oZWlnaHQ6IHJlbS1jYWxjKDI4KTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xyXG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgIH1cclxuICAgIC5zdGF0aXN0aWNfX3F1YW50aXR5X19kZXRhaWwge1xyXG4gICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG4gICAgICBjb2xvcjogJGRhcmstb3JhbmdlO1xyXG4gICAgICBmb250LXdlaWdodDogYm9sZDtcclxuICAgICAgZm9udC1zaXplOiByZW0tY2FsYygyNSk7XHJcbiAgICAgIGxpbmUtaGVpZ2h0OiByZW0tY2FsYygyOCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAuc3RhdGlzdGljX19pbmZvIHtcclxuICAgIG1hcmdpbi10b3A6IHJlbS1jYWxjKDEwKTtcclxuICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMjApO1xyXG4gICAgbGluZS1oZWlnaHQ6IHJlbS1jYWxjKDI4KTtcclxuICB9XHJcbn0iLCJcclxuLyogQUNDT1JESU9OOiAqL1xyXG5cclxuLnNlY3Rpb24tYWNjb3JkaW9uIHtcclxuICBwYWRkaW5nLXRvcDogcmVtLWNhbGMoODApO1xyXG4gIHBhZGRpbmctYm90dG9tOiByZW0tY2FsYyg0MCk7XHJcblxyXG4gICYgKyAmIHtcclxuICAgIHBhZGRpbmctdG9wOiAwO1xyXG4gIH1cclxuXHJcbiAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xyXG4gICAgcGFkZGluZy10b3A6IHJlbS1jYWxjKDQwKTtcclxuICB9XHJcbn1cclxuXHJcbi5hY2NvcmRpb24tZ3JvdXAtd3JhcHBlciB7XHJcblxyXG4gIC5hY2NvcmRpb24tZ3JvdXBfX3RpdGxlIHtcclxuICAgIGNvbG9yOiAkZGFyay1vcmFuZ2U7XHJcbiAgICBmb250LXNpemU6IHJlbS1jYWxjKDIwKTtcclxuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xyXG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuICAgIGxpbmUtaGVpZ2h0OiByZW0tY2FsYygyNCk7XHJcbiAgICBwYWRkaW5nLWJvdHRvbTogcmVtLWNhbGMoNCk7XHJcbiAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYygxNik7XHJcbiAgICBib3JkZXItYm90dG9tOiAxcHggZG90dGVkICRkYXJrLW9yYW5nZTtcclxuICB9XHJcblxyXG4gIC5hY2NvcmRpb24taXRlbSB7XHJcbiAgICBib3JkZXI6IDA7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbGlnaHQtZ3JheTtcclxuICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDE2KTtcclxuXHJcbiAgICAuYWNjb3JkaW9uLXRpdGxlIHtcclxuICAgICAgY29sb3I6ICRkYXJrLWdyYXk7XHJcbiAgICAgIHBhZGRpbmc6IHJlbS1jYWxjKDgpIHJlbS1jYWxjKDEwKTtcclxuICAgICAgZm9udC1zaXplOiByZW0tY2FsYygyNCk7XHJcbiAgICAgIGxpbmUtaGVpZ2h0OiByZW0tY2FsYygzMCk7XHJcbiAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XHJcbiAgICAgIHBhZGRpbmctbGVmdDogcmVtLWNhbGMoNTApO1xyXG5cclxuICAgICAgJjo6YmVmb3JlIHtcclxuICAgICAgICBsZWZ0OiByZW0tY2FsYygyMCk7XHJcbiAgICAgICAgcmlnaHQ6IGF1dG87XHJcbiAgICAgICAgd2lkdGg6IHJlbS1jYWxjKDE4KTtcclxuICAgICAgICBoZWlnaHQ6IHJlbS1jYWxjKDE4KTtcclxuICAgICAgICBjb2xvcjogJHdoaXRlO1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRhcXVhO1xyXG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDEwMCU7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBhbGlnbi1jb250ZW50OiBjZW50ZXI7XHJcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICAgICAgbGluZS1oZWlnaHQ6IHJlbS1jYWxjKDE3KTtcclxuICAgICAgfVxyXG5cclxuICAgICAgJjpob3ZlciwgJjpmb2N1cyB7XHJcbiAgICAgICAgY29sb3I6ICRibHVlO1xyXG4gICAgICB9XHJcblxyXG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIGRvd24pIHtcclxuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDIwKTtcclxuICAgICAgICBsaW5lLWhlaWdodDogcmVtLWNhbGMoMjQpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgJi5pcy1hY3RpdmUgPiAuYWNjb3JkaW9uLXRpdGxlIHtcclxuICAgICAgY29sb3I6ICRibHVlO1xyXG5cclxuICAgICAgJjo6YmVmb3JlIHtcclxuICAgICAgICBsaW5lLWhlaWdodDogMC44MjVyZW07XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGJsdWU7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAuYWNjb3JkaW9uLWNvbnRlbnQge1xyXG4gICAgICBib3JkZXI6IDA7XHJcbiAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTgpO1xyXG4gICAgICBsaW5lLWhlaWdodDogcmVtLWNhbGMoMjQpO1xyXG4gICAgICBwYWRkaW5nOiByZW0tY2FsYygyNCkgcmVtLWNhbGMoNTApO1xyXG5cclxuICAgICAgdWwgbGksXHJcbiAgICAgIG9sIGxpIHtcclxuICAgICAgICBtYXJnaW4tYm90dG9tOiByZW1fY2FsYygzMik7XHJcbiAgICAgICAgbWFyZ2luLWxlZnQ6IHJlbS1jYWxjKDMyKTtcclxuICAgICAgfVxyXG5cclxuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBkb3duKSB7XHJcbiAgICAgICAgcGFkZGluZy1sZWZ0OiByZW0tY2FsYygyMCk7XHJcbiAgICAgICAgcGFkZGluZy1yaWdodDogcmVtLWNhbGMoMjApO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG59IiwiLmJveGVzIHtcclxuICBvdmVyZmxvdzogaGlkZGVuO1xyXG5cclxuICAmICsgJiB7XHJcbiAgICBtYXJnaW4tdG9wOiByZW0tY2FsYygtNjApO1xyXG4gIH1cclxuXHJcbiAgLnNlY3Rpb25fdGl0bGUtd3JhcHBlciArICYge1xyXG4gICAgcGFkZGluZy10b3A6IDA7XHJcbiAgfVxyXG5cclxuICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgei1pbmRleDogMTtcclxuXHJcbiAgQGV4dGVuZCAucm91bmRlZC1ib3R0b20tcmlnaHQtMTAwO1xyXG4gIC8vICYgKyAmIHtcclxuICAvLyAgIHotaW5kZXg6IDA7XHJcbiAgLy8gICBtYXJnaW4tdG9wOiByZW0tY2FsYygtMTAwKTtcclxuICAvLyAgIHBhZGRpbmctdG9wOiByZW0tY2FsYygxODApO1xyXG4gIC8vIH1cclxuXHJcbiAgJGJveC1ndXR0ZXI6IHJlbS1jYWxjKDQwKTtcclxuXHJcbiAgLmJveGVzX193cmFwcGVyIHtcclxuICAgIEBpbmNsdWRlIHh5LWdyaWQ7XHJcbiAgICBAaW5jbHVkZSBncmlkLXJvdy1uZXN0KCRib3gtZ3V0dGVyKTtcclxuXHJcbiAgICAuYm94IHtcclxuICAgICAgQGluY2x1ZGUgeHktY2VsbCgkc2l6ZTogMTIsICRndXR0ZXJzOiAkYm94LWd1dHRlcik7XHJcbiAgICB9XHJcblxyXG4gICAgJi5ib3hlcy0yY29sIC5ib3gge1xyXG4gICAgICBAaW5jbHVkZSB4eS1jZWxsKCRzaXplOiA2LCAkZ3V0dGVyczogJGJveC1ndXR0ZXIpO1xyXG4gICAgICBcclxuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBkb3duKSB7XHJcbiAgICAgICAgQGluY2x1ZGUgeHktY2VsbCgkc2l6ZTogMTIsICRndXR0ZXJzOiAkYm94LWd1dHRlcik7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgICYuYm94ZXMtM2NvbCAuYm94IHtcclxuICAgICAgQGluY2x1ZGUgeHktY2VsbCgkc2l6ZTogNCwgJGd1dHRlcnM6ICRib3gtZ3V0dGVyKTtcclxuXHJcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoOTAwIGRvd24pIHtcclxuICAgICAgICBAaW5jbHVkZSB4eS1jZWxsKCRzaXplOiA2LCAkZ3V0dGVyczogJGJveC1ndXR0ZXIpO1xyXG4gICAgICB9XHJcblxyXG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIGRvd24pIHtcclxuICAgICAgICBAaW5jbHVkZSB4eS1jZWxsKCRzaXplOiAxMiwgJGd1dHRlcnM6ICRib3gtZ3V0dGVyKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgJi5ib3hlcy00Y29sIC5ib3gge1xyXG4gICAgICBAaW5jbHVkZSB4eS1jZWxsKCRzaXplOiAzLCAkZ3V0dGVyczogJGJveC1ndXR0ZXIpO1xyXG5cclxuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgxMDAwIGRvd24pIHtcclxuICAgICAgICBAaW5jbHVkZSB4eS1jZWxsKCRzaXplOiA2LCAkZ3V0dGVyczogJGJveC1ndXR0ZXIpO1xyXG4gICAgICB9XHJcblxyXG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIGRvd24pIHtcclxuICAgICAgICBAaW5jbHVkZSB4eS1jZWxsKCRzaXplOiAxMiwgJGd1dHRlcnM6ICRib3gtZ3V0dGVyKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLmJveGVzX19ib3gge1xyXG4gICAgQGV4dGVuZCAucm91bmRlZC10b3AtbGVmdC0yMDtcclxuICAgIEBleHRlbmQgLnJvdW5kZWQtYm90dG9tLXJpZ2h0LTIwO1xyXG5cclxuICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTYpO1xyXG4gICAgcGFkZGluZzogcmVtLWNhbGMoMzApIHJlbS1jYWxjKDMwKSByZW0tY2FsYyg0MCk7XHJcbiAgICBiYWNrZ3JvdW5kOiAkbGlnaHQtZ3JheTtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBmbGV4LXdyYXA6IHdyYXA7XHJcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG5cclxuICAgIC5ib3hfX2hlYWRsaW5lIHtcclxuICAgICAgZm9udC1zaXplOiByZW0tY2FsYygyNCk7XHJcbiAgICAgIGZvbnQtZmFtaWx5OiAkam9zZWZpbi1zYW5zO1xyXG4gICAgICBmb250LXdlaWdodDogYm9sZDtcclxuICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuICAgICAgY29sb3I6ICRhcXVhO1xyXG4gICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYygxNik7XHJcbiAgICB9XHJcblxyXG4gICAgLmJveF9fY29udGVudCB7XHJcbiAgICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDE2KTtcclxuICAgIH1cclxuXHJcbiAgICAuYm94X19jdGEge1xyXG4gICAgICBtYXJnaW4tdG9wOiBhdXRvO1xyXG5cclxuICAgICAgLmJ0biB7XHJcbiAgICAgICAgQGV4dGVuZCAuYnRuLWFxdWE7XHJcblxyXG4gICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGJsdWU7XHJcbiAgICAgICAgICBjb2xvcjogJGdvbGQ7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgJi5ib3gtLXdpdGgtaWNvbiB7XHJcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogMDtcclxuICAgICAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDA7XHJcbiAgICAgIEBleHRlbmQgLnJvdW5kZWQtdG9wLXJpZ2h0LTIwO1xyXG4gICAgICBAZXh0ZW5kIC5yb3VuZGVkLWJvdHRvbS1sZWZ0LTIwO1xyXG5cclxuICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxOCk7XHJcbiAgICAgIG1hcmdpbi10b3A6IHJlbS1jYWxjKDEwMCk7XHJcblxyXG4gICAgICAuYm94X19pY29uIHtcclxuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkocmVtLWNhbGMoLTEwMCkpO1xyXG4gICAgICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKC04MCk7XHJcblxyXG4gICAgICAgIC5ib3hfX2ljb25fX3dyYXBwZXIge1xyXG4gICAgICAgICAgbWFyZ2luOiAwIGF1dG87XHJcbiAgICAgICAgICBib3JkZXItcmFkaXVzOiAxMDAlO1xyXG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGxpZ2h0LWdyYXk7XHJcbiAgICAgICAgICB3aWR0aDogcmVtLWNhbGMoMTQzKTtcclxuICAgICAgICAgIGhlaWdodDogcmVtLWNhbGMoMTQzKTtcclxuICAgICAgICAgIHBhZGRpbmctbGVmdDogcmVtLWNhbGMoMjQpO1xyXG4gICAgICAgICAgcGFkZGluZy1yaWdodDogcmVtLWNhbGMoMjQpO1xyXG4gICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuXHJcbiAgICAgICAgICBpbWcge1xyXG4gICAgICAgICAgICB3aWR0aDogODUlO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG5cclxuICAgICAgLmJveF9faGVhZGxpbmUge1xyXG4gICAgICAgIGNvbG9yOiAkd2hpdGU7XHJcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygyOCk7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIC5ib3hfX2N0YSB7XHJcbiAgICAgICAgLmJ0biB7XHJcbiAgICAgICAgICBAZXh0ZW5kIC5idG4tZ29sZDtcclxuICAgICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGU7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkYXF1YTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIGNvbG9yOiAkd2hpdGU7XHJcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KCRhcXVhLCAkYmx1ZSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAmLmJveGVzLXdpdGgtYmFja2dyb3VuZCB7XHJcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiB0b3AgY2VudGVyO1xyXG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcclxuICAgIC13ZWJraXQtYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcclxuICAgIC1tb3otYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcclxuICAgIC1vLWJhY2tncm91bmQtc2l6ZTogY292ZXI7XHJcbiAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xyXG5cclxuICAgIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAwO1xyXG5cclxuICAgIC5ib3hlc19faGVhZGVyIHtcclxuICAgICAgY29sb3I6ICRibHVlO1xyXG5cclxuICAgICAgaDIge1xyXG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYyg1MCk7XHJcbiAgICAgICAgbGluZS1oZWlnaHQ6IHJlbS1jYWxjKDU0KTtcclxuXHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBkb3duKSB7XHJcbiAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDQyKTtcclxuICAgICAgICAgIGxpbmUtaGVpZ2h0OiByZW0tY2FsYyg0My40MSk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcblxyXG4gICAgICBib3JkZXItYm90dG9tOiAycHggc29saWQgJGJsdWU7XHJcbiAgICAgIHBhZGRpbmctYm90dG9tOiByZW0tY2FsYyg4KTtcclxuICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMTYpO1xyXG4gICAgfVxyXG5cclxuICAgIC5ib3hlc19fYm94IHtcclxuICAgICAgYmFja2dyb3VuZDogbm9uZTtcclxuICAgICAgcGFkZGluZzogMDtcclxuXHJcbiAgICAgIGE6bm90KC5idG4pIHtcclxuICAgICAgICBjb2xvcjogJGFxdWE7XHJcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgICY6bnRoLWNoaWxkKG9kZCkge1xyXG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IHJlbS1jYWxjKDE2KTtcclxuICAgICAgfVxyXG5cclxuICAgICAgLmJveF9faGVhZGxpbmUge1xyXG4gICAgICAgIGNvbG9yOiAkZGFyay1vcmFuZ2U7XHJcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygyNCk7XHJcbiAgICAgICAgbGluZS1oZWlnaHQ6IHJlbS1jYWxjKDI4KTtcclxuICAgICAgICBwYWRkaW5nLWJvdHRvbTogcmVtLWNhbGMoMTYpO1xyXG4gICAgICAgIGJvcmRlci1ib3R0b206IDFweCBkb3R0ZWQgJGRhcmtlc3QtZ3JheTtcclxuICAgICAgfVxyXG5cclxuICAgICAgLmJveF9fY29udGVudCB7XHJcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNik7XHJcbiAgICAgICAgbGluZS1oZWlnaHQ6IHJlbS1jYWxjKDI2KTtcclxuICAgICAgfVxyXG5cclxuICAgICAgLmJveF9fY3RhIHtcclxuICAgICAgICAuYnRuIHtcclxuICAgICAgICAgIEBleHRlbmQgLmJ0bi1vcmFuZ2U7XHJcbiAgICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiIsIi5jYWxsb3V0IHtcclxuXHJcbiAgLmhlcm8tc2VjdGlvbiArICYge1xyXG4gICAgXHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KDY1MCBkb3duKSB7XHJcbiAgICAgIC5jYWxsb3V0X19pY29uIHtcclxuICAgICAgICBtYXJnaW4tdG9wOiByZW0tY2FsYygtODgpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAuY2FsbG91dF9fd3JhcHBlciB7XHJcbiAgICBAaW5jbHVkZSB4eS1ncmlkO1xyXG4gICAgQGluY2x1ZGUgZ3JpZC1yb3ctbmVzdCgkZ3V0dGVyLWRlZmF1bHQpO1xyXG4gIH1cclxuXHJcbiAgLmNhbGxvdXRfX2NvbnRlbnQge1xyXG4gICAgQGluY2x1ZGUgeHktY2VsbCg3KTtcclxuXHJcbiAgICBjb2xvcjogJHdoaXRlO1xyXG4gICAgZm9udC1zaXplOiByZW0tY2FsYygyMCk7XHJcbiAgICBwYWRkaW5nLXJpZ2h0OiByZW0tY2FsYyg0MCk7XHJcblxyXG4gICAgcCB7XHJcbiAgICAgIGxpbmUtaGVpZ2h0OiByZW0tY2FsYygyNyk7XHJcbiAgICB9XHJcblxyXG4gICAgaDIge1xyXG4gICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG4gICAgICBjb2xvcjogJGdvbGQ7XHJcbiAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoNDApO1xyXG4gICAgICBsaW5lLWhlaWdodDogcmVtLWNhbGMoNDApO1xyXG4gICAgfVxyXG5cclxuICAgIGEge1xyXG4gICAgICBjb2xvcjogJGdvbGQ7XHJcbiAgICB9XHJcblxyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCgxMDAwIGRvd24pIHtcclxuICAgICAgQGluY2x1ZGUgeHktY2VsbCg5KTtcclxuICAgIH1cclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoNjUwIGRvd24pIHtcclxuICAgICAgcGFkZGluZzogcmVtLWNhbGMoMjApIHJlbS1jYWxjKDEwKTtcclxuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgICBAaW5jbHVkZSB4eS1jZWxsKDEyKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC5jYWxsb3V0X19pY29uIHtcclxuICAgIEBpbmNsdWRlIHh5LWNlbGwoMik7XHJcbiAgICAuY2FsbG91dF9faWNvbl9fd3JhcHBlciB7XHJcbiAgICAgIG1hcmdpbjogMCBhdXRvO1xyXG4gICAgICBib3JkZXItcmFkaXVzOiAxMDAlO1xyXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGU7XHJcbiAgICAgIHdpZHRoOiByZW0tY2FsYygxNDMpO1xyXG4gICAgICBoZWlnaHQ6IHJlbS1jYWxjKDE0Myk7XHJcbiAgICAgIHBhZGRpbmctbGVmdDogcmVtLWNhbGMoMjQpO1xyXG4gICAgICBwYWRkaW5nLXJpZ2h0OiByZW0tY2FsYygyNCk7XHJcbiAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG5cclxuICAgICAgaW1nIHtcclxuICAgICAgICB3aWR0aDogODUlO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KDEwMDAgZG93bikge1xyXG4gICAgICBAaW5jbHVkZSB4eS1jZWxsKDMpO1xyXG4gICAgfVxyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCg2NTAgZG93bikge1xyXG4gICAgICBAaW5jbHVkZSB4eS1jZWxsKDEyKTtcclxuICAgIH1cclxuICB9XHJcbiAgLmNhbGxvdXRfX2N0YXMge1xyXG4gICAgQGluY2x1ZGUgeHktY2VsbCgzKTtcclxuICAgIGFsaWduLXNlbGY6IGNlbnRlcjtcclxuXHJcbiAgICAuY3RhX19saW5rICB7XHJcbiAgICAgIC5idG57XHJcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNSk7XHJcbiAgICAgICAgbWF4LXdpZHRoOjEwMCU7XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMTYpO1xyXG5cclxuICAgICAgICAmOmhvdmVyLCAmOmZvY3VzIHtcclxuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZTtcclxuICAgICAgICAgIGNvbG9yOiAkYXF1YTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcblxyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCgxMDAwIGRvd24pIHtcclxuICAgICAgQGluY2x1ZGUgeHktY2VsbCgxMik7XHJcbiAgICAgIEBpbmNsdWRlIHh5LWdyaWQoKTtcclxuICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1hcm91bmQ7XHJcblxyXG4gICAgIC5jYWxsb3V0X19jdGFzX19jdGEge1xyXG4gICAgICAgIEBpbmNsdWRlIHh5LWNlbGwoMTIpO1xyXG5cclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KDEwMDAgZG93bikge1xyXG4gICAgICAgICAgQGluY2x1ZGUgeHktY2VsbCg1KTtcclxuICAgICAgICB9XHJcbiAgICAgICAgXHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCg1MDAgZG93bikge1xyXG4gICAgICAgICAgQGluY2x1ZGUgeHktY2VsbCgxMik7XHJcbiAgICAgICAgfVxyXG4gICAgIH1cclxuICAgIH1cclxuICB9XHJcbn0iLCIuc2VjdGlvbi1jdGEtZ3JvdXAge1xyXG4gICAgLy8gQ291bnRlciBzdHlsaW5nIGZvciB0aGUgLnNlY3Rpb24tbW9kdWxlXHJcbiAgICBwYWRkaW5nLXRvcDogMDtcclxuICAgIHBhZGRpbmctYm90dG9tOiAwO1xyXG5cclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcclxuICAgICAgICBwYWRkaW5nLXRvcDogMDtcclxuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMDtcclxuICAgIH1cclxuXHJcbiAgICAmICsgJiB7XHJcbiAgICAgICAgbWFyZ2luLXRvcDogcmVtLWNhbGMoLTEyOCk7XHJcbiAgICB9XHJcbn1cclxuXHJcbi5jdGEtZ3JvdXAtd3JhcHBlcl9faG9tZXBhZ2Uge1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKHJlbS1jYWxjKC0zMikpO1xyXG5cclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XHJcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcclxuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWFyb3VuZDtcclxuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkocmVtLWNhbGMoLTgwKSk7XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoLTQ4KTtcclxuICAgIH1cclxuXHJcbiAgICBhIHtcclxuICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYyg0OCk7XHJcbiAgICAgICAgJjpsYXN0LW9mLXR5cGUge1xyXG4gICAgICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDE2KTtcclxuXHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xyXG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgIC5jdGEtdGV4dCB7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogJGFxdWE7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLmN0YS1pY29uLXdyYXBwZXIge1xyXG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDEwMCU7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XHJcbiAgICAgICAgYm9yZGVyOiA0cHggc29saWQgJGdvbGQ7XHJcbiAgICAgICAgd2lkdGg6IHJlbS1jYWxjKDE3Mik7XHJcbiAgICAgICAgaGVpZ2h0OiByZW0tY2FsYygxNzIpO1xyXG4gICAgICAgIHBhZGRpbmctbGVmdDogcmVtLWNhbGMoMzIpO1xyXG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IHJlbS1jYWxjKDMyKTtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMTYpO1xyXG5cclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xyXG4gICAgICAgICAgICB3aWR0aDogcmVtLWNhbGMoMTYwKTtcclxuICAgICAgICAgICAgaGVpZ2h0OiByZW0tY2FsYygxNjApO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgaW1nIHtcclxuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC5jdGEtdGV4dCB7XHJcbiAgICAgICAgZm9udC1mYW1pbHk6ICRqb3NlZmluLXNhbnM7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcclxuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDI0KTtcclxuICAgICAgICBjb2xvcjogJGRhcmstZ3JheTtcclxuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjNzO1xyXG5cclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xyXG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDIyKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi5jdGEtZ3JvdXAtd3JhcHBlciB7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgZmxleC13cmFwOiB3cmFwO1xyXG4gICAgcGFkZGluZy10b3A6IHJlbV9jYWxjKDEyMCk7XHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xyXG4gICAgICAgIHBhZGRpbmctdG9wOiByZW1fY2FsYygxNDApO1xyXG4gICAgICAgIHBhZGRpbmctYm90dG9tOiByZW1fY2FsYygyOCk7XHJcbiAgICAgICAgbWFyZ2luLWxlZnQ6IHJlbV9jYWxjKC0yNCk7XHJcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiByZW1fY2FsYygtMjQpO1xyXG4gICAgfVxyXG5cclxuICAgIC5jdGEtZ3JvdXAtbGluay13cmFwcGVyIHtcclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICBtYXJnaW4tYm90dG9tOiByZW1fY2FsYygxMjApO1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XHJcbiAgICAgICAgICAgIHdpZHRoOiA1MCU7XHJcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogcmVtX2NhbGMoMjQpO1xyXG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiByZW1fY2FsYygyNCk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC5jdGEtZ3JvdXAtbGluayB7XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgICAgIHBhZGRpbmctYm90dG9tOiByZW1fY2FsYyg2MCk7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcclxuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCggMGRlZywgcmdiKDU5LDE0MiwxODIpIDElLCByZ2IoNTYsMTk0LDIwOSkgMTAwJSk7XHJcbiAgICBcclxuICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgLmN0YS1ncm91cC1saW5rX19idXR0b24ge1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogJGFxdWE7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLmN0YS1pY29uLXdyYXBwZXIge1xyXG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDEwMCU7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGxpZ2h0LWdyYXk7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgIHdpZHRoOiByZW1fY2FsYygxNDQpO1xyXG4gICAgICAgIGhlaWdodDogcmVtX2NhbGMoMTQ0KTtcclxuICAgICAgICBwYWRkaW5nLWxlZnQ6IHJlbV9jYWxjKDE2KTtcclxuICAgICAgICBwYWRkaW5nLXJpZ2h0OiByZW1fY2FsYygxNik7XHJcbiAgICAgICAgbWFyZ2luLXRvcDogcmVtX2NhbGMoLTY0KTtcclxuICAgICAgICBtYXJnaW4tYm90dG9tOiByZW1fY2FsYygzMik7XHJcblxyXG4gICAgICAgIGltZ3tcclxuICAgICAgICAgICAgd2lkdGg6IDcwJTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XHJcbiAgICAgICAgICAgIHdpZHRoOiByZW1fY2FsYygxNzIpO1xyXG4gICAgICAgICAgICBoZWlnaHQ6IHJlbV9jYWxjKDE3Mik7XHJcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IHJlbV9jYWxjKC04Nik7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAmLmN0YS1pY29uLXdyYXBwZXJfX3Jlc291cmNlLWRhdGFiYXNlIHtcclxuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiByZW1fY2FsYygzMik7XHJcbiAgICAgICAgICAgIHBhZGRpbmctdG9wOiByZW1fY2FsYygxNik7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLXRvcDogcmVtX2NhbGMoMzIpO1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiByZW1fY2FsYygzNik7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogcmVtX2NhbGMoMTYpO1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy1yaWdodDogcmVtX2NhbGMoMTIpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4uY3RhLWNvbnRlbnQtd3JhcHBlciB7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbn1cclxuXHJcbi5jdGEtZ3JvdXAtbGlua19fdGl0bGUge1xyXG4gICAgZm9udC1mYW1pbHk6ICRqb3NlZmluLXNhbnM7XHJcbiAgICBmb250LXdlaWdodDogNzAwO1xyXG4gICAgY29sb3I6IHdoaXRlO1xyXG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuICAgIGZvbnQtc2l6ZTogcmVtX2NhbGMoMzIpO1xyXG4gICAgbGluZS1oZWlnaHQ6IHJlbV9jYWxjKDM1KTtcclxuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgIG1hcmdpbi1ib3R0b206IHJlbV9jYWxjKDI0KTtcclxufVxyXG5cclxuLmN0YS1ncm91cC1saW5rX19kZXNjcmlwdGlvbiB7XHJcbiAgICBmb250LXdlaWdodDogNjAwO1xyXG4gICAgY29sb3I6IHdoaXRlO1xyXG4gICAgZm9udC1zaXplOiByZW1fY2FsYygxOCk7XHJcbiAgICBsaW5lLWhlaWdodDogcmVtX2NhbGMoMjgpO1xyXG4gICAgbWFyZ2luLWJvdHRvbTogcmVtX2NhbGMoMzIpO1xyXG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG59XHJcblxyXG4uY3RhLWdyb3VwLWxpbmtfX2J1dHRvbiB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZ29sZDtcclxuICAgIGZvbnQtZmFtaWx5OiAkam9zZWZpbi1zYW5zO1xyXG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcclxuICAgIGZvbnQtc2l6ZTogcmVtX2NhbGMoMTYpO1xyXG4gICAgY29sb3I6ICRibHVlO1xyXG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuICAgIHBhZGRpbmctdG9wOiByZW1fY2FsYyg4KTtcclxuICAgIHBhZGRpbmctYm90dG9tOiByZW1fY2FsYyg0KTtcclxuICAgIHBhZGRpbmctbGVmdDogcmVtX2NhbGMoNTQpO1xyXG4gICAgcGFkZGluZy1yaWdodDogcmVtX2NhbGMoNTQpO1xyXG4gICAgYm9yZGVyLXJhZGl1czogcmVtX2NhbGMoMTkpO1xyXG4gICAgdHJhbnNpdGlvbjogY29sb3IgMC4zcywgYmFja2dyb3VuZC1jb2xvciAwLjNzO1xyXG59IiwiLmZ1bGwtd2lkdGgge1xyXG5cclxuICAuZnVsbC13aWR0aF9fY29udGVudCB7XHJcbiAgICBwIHtcclxuICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxOCk7XHJcbiAgICAgIGxpbmUtaGVpZ2h0OiByZW0tY2FsYygyNSk7XHJcbiAgICB9XHJcblxyXG4gICAgcDpsYXN0LWNoaWxkIHtcclxuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC5mdWxsLXdpZHRoX2N0YXMge1xyXG4gICAgY2xlYXI6IGJvdGg7XHJcbiAgICBtYXJnaW4tdG9wOiByZW0tY2FsYyg0MCk7XHJcbiAgICAuYnRuIHtcclxuICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNik7XHJcbiAgICAgIGxpbmUtaGVpZ2h0OiByZW0tY2FsYygxOCk7XHJcblxyXG4gICAgICAmOmhvdmVyLCAmOmZvY3VzIHtcclxuICAgICAgICBjb2xvcjogJGdvbGQ7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGJsdWU7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbn0iLCIuc2VjdGlvbi1tb2R1bGUubGlua19hcmVhIHtcclxuICBjb2xvcjogJHdoaXRlO1xyXG5cclxuICBwYWRkaW5nLWJvdHRvbTogcmVtLWNhbGMoNTQpO1xyXG5cclxuICAubGlua19hcmVhX19oZWFkbGluZSB7XHJcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG4gICAgZm9udC1mYW1pbHk6ICRqb3NlZmluLXNhbnM7XHJcbiAgICBmb250LXNpemU6IHJlbS1jYWxjKDQwKTtcclxuICAgIGxpbmUtaGVpZ2h0OiByZW0tY2FsYyg0NCk7XHJcbiAgICBmb250LXdlaWdodDogNDAwO1xyXG4gICAgY29sb3I6ICRnb2xkO1xyXG4gICAgcGFkZGluZy1ib3R0b206ICRndXR0ZXItZGVmYXVsdDtcclxuXHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIGRvd24pIHtcclxuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLmxpbmtfYXJlYV9fbGlua3Mge1xyXG4gICAgYm9yZGVyLXRvcDogMnB4IHNvbGlkICR3aGl0ZTtcclxuICAgIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCAkd2hpdGU7XHJcbiAgICBwYWRkaW5nOiAkZ3V0dGVyLWRlZmF1bHQ7XHJcblxyXG4gICAgLmxpbmtzLTJ1cCB7XHJcbiAgICAgIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcclxuICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICBwYWRkaW5nOiAwO1xyXG5cclxuICAgICAgQGluY2x1ZGUgeHktZ3JpZDtcclxuICAgICAgQGluY2x1ZGUgeHktZ3V0dGVycygkZ3V0dGVyczogJGd1dHRlci1kZWZhdWx0KTtcclxuXHJcbiAgICAgIC5saW5rcy0ydXBfX2l0ZW0ge1xyXG4gICAgICAgIC8vIFRoaXMgc29sdXRpb24gd2lsbCBiZSBkZXByZWNhdGVkIGFjY29yZGluZyB0byBodHRwczovL2dpdGh1Yi5jb20vZm91bmRhdGlvbi9mb3VuZGF0aW9uLXNpdGVzL3JlbGVhc2VzL3RhZy92Ni42LjAsIGJ1dFxyXG4gICAgICAgIC8vIGV4YW1wbGUgYmVsb3cgZG9lcyBub3Qgd29yayBjb3JyZWN0bHkuIGxlYXZpbmcgYm90aCBoZXJlLCB3aXRoIEBUT0RPXHJcbiAgICAgICAgLy8gQGluY2x1ZGUgeHktY2VsbC1ndXR0ZXJzKHJlbS1jYWxjKDQwKSk7XHJcblxyXG4gICAgICAgIEBpbmNsdWRlIHh5LWNlbGwoMTIpO1xyXG4gICAgICAgICY6bGFzdC1jaGlsZCB7XHJcbiAgICAgICAgICBib3JkZXItYm90dG9tOiBub25lO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCAoOTAwIHVwKSB7ICAgICAgIFxyXG4gICAgICAgICAgQGluY2x1ZGUgeHktY2VsbCg2LCAkZ3V0dGVyLXBvc2l0aW9uOiBsZWZ0IHJpZ2h0IGJvdHRvbSwgJGd1dHRlcnM6IHJlbS1jYWxjKDQwKSk7XHJcblxyXG4gICAgICAgICAgJjpudGgtbGFzdC1jaGlsZCgtbisyKSB7XHJcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b206IG5vbmU7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcblxyXG4gICAgICAgIGJvcmRlci1ib3R0b206IDFweCBkb3R0ZWQgJHdoaXRlO1xyXG5cclxuICAgICAgICAubGlua3MtMnVwX19pdGVtX19pbm5lciB7XHJcbiAgICAgICAgICBwYWRkaW5nOiByZW0tY2FsYygxNikgMDtcclxuICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG5cclxuICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMjIpO1xyXG5cclxuICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICBmbGV4LXdyYXA6IG5vd3JhcDtcclxuICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcblxyXG4gICAgICAgICAgLmJ1dHRvbi13cmFwcGVyIHtcclxuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNik7XHJcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xyXG5cclxuICAgICAgICAgICAgLmJ0biB7XHJcbiAgICAgICAgICAgICAgY29sb3I6ICRibHVlO1xyXG5cclxuICAgICAgICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiAkYXF1YTtcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZTtcclxuICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIC5saW5rX2FyZWFfY3RhcyB7XHJcbiAgICBtYXJnaW4tdG9wOiByZW0tY2FsYyg4MCk7XHJcbiAgICBAaW5jbHVkZSB4eS1ncmlkO1xyXG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xyXG5cclxuICAgIC5jdGEge1xyXG4gICAgICBAaW5jbHVkZSB4eS1jZWxsKDYsICRndXR0ZXJzOiByZW0tY2FsYygzMiksICRndXR0ZXItcG9zaXRpb246IGJvdHRvbSk7XHJcblxyXG4gICAgICBAZXh0ZW5kIC5yb3VuZGVkLXRvcC1sZWZ0LTIwO1xyXG4gICAgICBAZXh0ZW5kIC5yb3VuZGVkLWJvdHRvbS1yaWdodC0yMDtcclxuXHJcbiAgICAgIHBhZGRpbmc6IHJlbS1jYWxjKDQwKTtcclxuXHJcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRibHVlO1xyXG4gICAgICBjb2xvcjogJHdoaXRlO1xyXG5cclxuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYyg0MCk7XHJcblxyXG4gICAgICAuY3RhX193cmFwcGVyIHtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgICAgICBoZWlnaHQ6IDEwMCU7XHJcblxyXG4gICAgICAgIC5jdGFfX2hlYWRsaW5lIHtcclxuICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMzApO1xyXG4gICAgICAgICAgZm9udC1mYW1pbHk6ICRqb3NlZmluLXNhbnM7XHJcbiAgICAgICAgICBmb250LXdlaWdodDogYm9sZDtcclxuICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAuY3RhX19saW5rIHtcclxuICAgICAgICAgIG1hcmdpbi10b3A6IGF1dG87XHJcbiAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE2KTtcclxuICAgICAgICAgIGp1c3RpZnktc2VsZjogZmxleC1lbmQ7XHJcbiAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkocmVtLWNhbGMoNTYpKTtcclxuXHJcbiAgICAgICAgICAuYnRuIHtcclxuICAgICAgICAgICAgY29sb3I6ICRibHVlO1xyXG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IHJlbS1jYWxjKDYwKTtcclxuICAgICAgICAgICAgcGFkZGluZy1yaWdodDogcmVtLWNhbGMoNjApO1xyXG5cclxuICAgICAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgICAgY29sb3I6ICRhcXVhO1xyXG4gICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG5cclxuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xyXG4gICAgICAgIEBpbmNsdWRlIHh5LWNlbGwoMTIpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIGRvd24pIHtcclxuICAgICYtLXdpdGgtaWNvbiB7XHJcbiAgICAgIG1hcmdpbi10b3A6IHJlbS1jYWxjKDU2KTtcclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbi5saW5rX2FyZWFfX2hlYWRlci0td2l0aC1pY29uIHtcclxuICBkaXNwbGF5OiBmbGV4O1xyXG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgcGFkZGluZy1ib3R0b206IHJlbS1jYWxjKDUwKTtcclxuXHJcbiAgLmxpbmtfYXJlYV9faGVhZGxpbmUge1xyXG4gICAgbWFyZ2luLWJvdHRvbTogMDtcclxuICAgIHBhZGRpbmctYm90dG9tOiAwO1xyXG4gIH1cclxuXHJcbiAgQGluY2x1ZGUgYnJlYWtwb2ludCg2MDAgZG93bikge1xyXG4gICAgZGlzcGxheTogYmxvY2s7XHJcblxyXG4gICAgLmxpbmtfYXJlYV9faGVhZGxpbmUge1xyXG4gICAgICBtYXJnaW4tdG9wOiByZW0tY2FsYygzMCk7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG4ubGlua19hcmVhX19pY29uIHtcclxuICBkaXNwbGF5OiBmbGV4O1xyXG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgbWFyZ2luLXJpZ2h0OiByZW0tY2FsYygzMCk7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogJHdoaXRlO1xyXG4gIGJvcmRlci1yYWRpdXM6IDUwJTtcclxuICB3aWR0aDogcmVtLWNhbGMoMTU4KTtcclxuICBtaW4td2lkdGg6IHJlbS1jYWxjKDE1OCk7XHJcbiAgaGVpZ2h0OiByZW0tY2FsYygxNTgpO1xyXG5cclxuICBpbWcge1xyXG4gICAgd2lkdGg6IHJlbS1jYWxjKDEwNCk7XHJcbiAgICBoZWlnaHQ6IGF1dG87XHJcbiAgfVxyXG5cclxuICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIGRvd24pIHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICRsaWdodC1ncmF5O1xyXG4gICAgbWFyZ2luLXRvcDogLSByZW0tY2FsYygxMjApO1xyXG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XHJcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XHJcbiAgfVxyXG5cclxufSIsIi5zZWN0aW9uX3RpdGxlLXdyYXBwZXIge1xyXG4gIHBhZGRpbmctYm90dG9tOiByZW0tY2FsYygyNCk7XHJcblxyXG4gIC5zZWN0aW9uX3RpdGxlIHtcclxuICAgIHBhZGRpbmctYm90dG9tOiByZW0tY2FsYyg4KTtcclxuICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoNTApO1xyXG4gICAgZm9udC1mYW1pbHk6ICRqb3NlZmluLXNhbnM7XHJcbiAgICBmb250LXdlaWdodDogYm9sZDtcclxuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkZGFyay1vcmFuZ2U7XHJcbiAgICBjb2xvcjogJGRhcmstb3JhbmdlO1xyXG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuXHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KDYwMCBkb3duKSB7XHJcbiAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMzApO1xyXG4gICAgICBsaW5lLWhlaWdodDogcmVtLWNhbGMoMzYpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbn1cclxuIiwiLnNlY3Rpb25fd2l0aF9zaWRlYmFyIHtcclxuICBcclxuICAud3JhcHBlciB7XHJcblxyXG4gICAgLnNlY3Rpb25fX3dyYXBwZXIge1xyXG4gICAgICBAaW5jbHVkZSB4eS1ncmlkO1xyXG4gICAgICBAaW5jbHVkZSBncmlkLXJvdy1uZXN0KCRndXR0ZXItZGVmYXVsdCk7XHJcblxyXG4gICAgICAuc2VjdGlvbl9fcHJpbWFyeSB7XHJcbiAgICAgICAgbWFyZ2luLXRvcDogcmVtLWNhbGMoNDApO1xyXG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IHJlbS1jYWxjKDcwKTtcclxuXHJcbiAgICAgICAgQGluY2x1ZGUgeHktY2VsbCg3KTtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XHJcbiAgICAgICAgICBAaW5jbHVkZSB4eS1jZWxsKDEyKTtcclxuICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XHJcbiAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBoZWFkZXIgaDIge1xyXG4gICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuICAgICAgICAgIGNvbG9yOiAkZGFyay1vcmFuZ2U7XHJcbiAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDUxKTtcclxuICAgICAgICAgIGxpbmUtaGVpZ2h0OiByZW0tY2FsYyg0NCk7XHJcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYygyMCk7XHJcblxyXG4gICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBkb3duKSB7XHJcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiByZW0tY2FsYyg0MCk7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoNDApO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAuc2VjdGlvbl9fcHJpbWFyeV9fY29udGVudCB7XHJcbiAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE4KTtcclxuICAgICAgICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDUwKTtcclxuXHJcbiAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIGRvd24pIHtcclxuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNik7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAuY3Rhc19fbGVkZSB7XHJcbiAgICAgICAgICBjb2xvcjogJGRhcmstb3JhbmdlO1xyXG4gICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMjApO1xyXG4gICAgICAgICAgcGFkZGluZy1ib3R0b206IHJlbS1jYWxjKDEwKTtcclxuICAgICAgICAgIGJvcmRlci1ib3R0b206IDJweCBkb3R0ZWQgJG1lZGl1bS1ncmF5O1xyXG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMjUpO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLmN0YXNfX2xpc3Qge1xyXG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMzcpO1xyXG4gICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgIGZsZXgtd3JhcDogd3JhcDtcclxuICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XHJcbiAgICAgICAgICBcclxuICAgICAgICAgICYgPiAuY3Rhc19fbGlzdF9fY3RhIHtcclxuICAgICAgICAgICAgZmxleC1iYXNpczogMzMlO1xyXG4gICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogcmVtLWNhbGMoMTApO1xyXG4gICAgICAgICAgICBcclxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCAoMTAwMCB1cCkge1xyXG4gICAgICAgICAgICAgIGZsZXgtYmFzaXM6IDUwJTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfVxyXG5cclxuICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoNjAwIGRvd24pIHtcclxuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICAgICAgICAgIGFsaWduLWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgICAgICAgICAgZmxleC1mbG93OiBjb2x1bW47XHJcbiAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgXHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcblxyXG4gICAgICAuc2VjdGlvbl9fc2lkZWJhciB7XHJcbiAgICAgICAgQGluY2x1ZGUgeHktY2VsbCg1KTtcclxuICAgICAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoJGFxdWEsICRibHVlKTtcclxuXHJcbiAgICAgICAgQGV4dGVuZCAucm91bmRlZC10b3AtcmlnaHQtNDA7XHJcbiAgICAgICAgQGV4dGVuZCAucm91bmRlZC1ib3R0b20tbGVmdC00MDtcclxuXHJcbiAgICAgICAgcGFkZGluZzogcmVtLWNhbGMoNjApIHJlbS1jYWxjKDQwKSByZW0tY2FsYyg0MCk7XHJcbiAgICAgICAgY29sb3I6ICR3aGl0ZTtcclxuXHJcbiAgICAgICAgaGVhZGVyIGgzIHtcclxuICAgICAgICAgIGNvbG9yOiAkZ29sZDtcclxuICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMzApO1xyXG4gICAgICAgICAgbGluZS1oZWlnaHQ6IHJlbS1jYWxjKDMwKTtcclxuICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAuc2VjdGlvbl9fc2lkZWJhcl9fY29udGVudCB7XHJcbiAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE2KTtcclxuICAgICAgICAgIGxpbmUtaGVpZ2h0OiByZW0tY2FsYygyMik7XHJcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYyg0MCk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAuY3Rhc19fbGlzdF9fY3RhIHtcclxuICAgICAgICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDEwKTtcclxuXHJcbiAgICAgICAgICAmOmxhc3QtY2hpbGQge1xyXG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAuYnRuIHtcclxuICAgICAgICAgIGNvbG9yOiAkYmx1ZTtcclxuXHJcbiAgICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHdoaXRlO1xyXG4gICAgICAgICAgICBjb2xvcjogJGFxdWE7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XHJcbiAgICAgICAgICBAaW5jbHVkZSB4eS1jZWxsKDEyKTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbn1cclxuIiwiLnNlY3Rpb25fd2l0aF9zaWRlX2ltYWdlIHtcclxuICAgIFxyXG4gIC5zZWN0aW9uX193cmFwcGVyIHtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcblxyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCg5MDAgZG93bikge1xyXG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uLXJldmVyc2U7XHJcbiAgICB9XHJcblxyXG4gICAgJiA+IGRpdiB7XHJcbiAgICAgIG1heC13aWR0aDogNTAlO1xyXG4gICAgICB3aWR0aDogNTAlO1xyXG5cclxuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCg5MDAgZG93bikge1xyXG4gICAgICAgIG1heC13aWR0aDogMTAwJTtcclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC5zZWN0aW9uX19wcmltYXJ5IHtcclxuICAgICAgcGFkZGluZzogcmVtLWNhbGMoNTQpIHJlbS1jYWxjKDMwKSByZW0tY2FsYyg1NCkgMDtcclxuXHJcbiAgICAgIGhlYWRlciBoMiB7XHJcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYyg1MSk7XHJcbiAgICAgICAgbGluZS1oZWlnaHQ6IHJlbS1jYWxjKDQ0KTtcclxuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG4gICAgICAgIGNvbG9yOiAkZGFyay1vcmFuZ2U7XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMzApO1xyXG5cclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIGRvd24pIHtcclxuICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoNDApO1xyXG4gICAgICAgICAgbGluZS1oZWlnaHQ6IHJlbS1jYWxjKDQwKTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIHAge1xyXG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTgpO1xyXG4gICAgICAgIGxpbmUtaGVpZ2h0OiByZW0tY2FsYygyNSk7XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMjApO1xyXG4gICAgICB9XHJcblxyXG4gICAgICAuc2VjdGlvbl9fcHJpbWFyeV9jdGFzIHtcclxuICAgICAgICBwYWRkaW5nLXRvcDogcmVtLWNhbGMoMzApO1xyXG5cclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KDkwMCB1cCkge1xyXG4gICAgICAgICAgLmN0YXNfX2xpc3Qge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLmJ0biB7XHJcbiAgICAgICAgICBtYXJnaW4tbGVmdDogcmVtLWNhbGMoMTApO1xyXG4gICAgICAgICAgbWFyZ2luLXJpZ2h0OiByZW0tY2FsYygxMCk7XHJcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYygxNik7XHJcblxyXG4gICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCg5MDAgdXApIHtcclxuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XHJcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogcmVtLWNhbGMoMjApO1xyXG5cclxuICAgICAgICAgICAgJjpsYXN0LWNoaWxkIHtcclxuICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAmOmhvdmVyLCAmOmZvY3VzIHtcclxuICAgICAgICAgICAgY29sb3I6ICRnb2xkO1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmx1ZTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoOTAwIGRvd24pIHtcclxuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAuc2VjdGlvbl9fc2lkZWJhciB7XHJcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoOTAwIGRvd24pIHtcclxuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbi5zZWN0aW9uX3dpdGhfc2lkZV9pbWFnZS5zZWN0aW9uLWxpZ2h0LWdyYXkge1xyXG4gIHAgYSwgXHJcbiAgbGkgYSB7XHJcbiAgICBjb2xvcjogJGFxdWE7XHJcbiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcclxuICB9XHJcbn0iLCIudmlkZW8tc2VjdGlvbiB7XHJcbiAgZGlzcGxheTogZmxleDtcclxuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xyXG4gIGdhcDogM3JlbTtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xyXG4gIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiByZW0tY2FsYyg0NSk7XHJcbiAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogcmVtLWNhbGMoNDUpO1xyXG4gIHBhZGRpbmc6IHJlbS1jYWxjKDMyKTtcclxuICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYyg0NCk7XHJcblxyXG4gICZfcmV2ZXJzZSB7XHJcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93LXJldmVyc2U7XHJcbiAgfVxyXG5cclxuICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlIHVwKSB7XHJcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IHJlbS1jYWxjKDc1KTtcclxuICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IHJlbS1jYWxjKDc1KTtcclxuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XHJcbiAgfVxyXG5cclxuICAmX19jb250ZW50LFxyXG4gICZfX3BsYXllciB7XHJcbiAgICBmbGV4OiAxO1xyXG4gIH1cclxuXHJcbiAgJl9fdGl0bGUge1xyXG4gICAgZm9udC1mYW1pbHk6ICRqb3NlZmluLXNhbnM7XHJcbiAgICBmb250LXNpemU6IHJlbS1jYWxjKDM1LjIpO1xyXG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuICAgIGxpbmUtaGVpZ2h0OiAxO1xyXG4gICAgY29sb3I6ICRhcXVhO1xyXG4gICAgZm9udC13ZWlnaHQ6IDMwMDtcclxuXHJcbiAgICBzdHJvbmcge1xyXG4gICAgICBjb2xvcjogJGRhcmstb3JhbmdlO1xyXG4gICAgICBmb250LXdlaWdodDogNzAwO1xyXG4gICAgfVxyXG5cclxuICAgICY6bm90KDpsYXN0LWNoaWxkKSB7XHJcbiAgICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDE2KTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gICZfX3RleHQge1xyXG4gICAgZm9udC1mYW1pbHk6ICRvcGVuLXNhbnM7XHJcbiAgICBcclxuICAgIHAge1xyXG4gICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE2KTsgICAgICBcclxuICAgICAgbGluZS1oZWlnaHQ6IDEuMztcclxuXHJcbiAgICAgICY6bm90KDpsYXN0LWNoaWxkKSB7XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMTQuNCk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAmOm5vdCg6bGFzdC1jaGlsZCkge1xyXG4gICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYygzMik7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAmX19wbGF5ZXIge1xyXG4gICAgLS1wbHlyLWNvbG9yLW1haW46ICN7JGFxdWF9O1xyXG4gICAgbWF4LXdpZHRoOiAxMDAlO1xyXG5cclxuICAgIC5wbHlyLS1mdWxsLXVpLnBseXItLXZpZGVvIC5wbHlyX19jb250cm9sLS1vdmVybGFpZCB7XHJcbiAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcclxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XHJcbiAgICAgIGJvcmRlcjogM3B4IHNvbGlkICNmZmY7XHJcblxyXG4gICAgICAmOmhvdmVyIHtcclxuICAgICAgICBjb2xvcjogJGFxdWE7XHJcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAkYXF1YTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxufSIsIi5ob21lcGFnZS1oZXJvIHtcclxuICAgIHBhZGRpbmctdG9wOiByZW0tY2FsYygxOTYpO1xyXG4gICAgLy8gYmFja2dyb3VuZC1pbWFnZTogdXJsKCcvZGlzdC9pbWFnZXMvaG9tZXBhZ2UtaGVyby5wbmcnKTtcclxuICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XHJcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiB0b3AgcmlnaHQ7XHJcbiAgICBwYWRkaW5nLWJvdHRvbTogcmVtLWNhbGMoNTgpO1xyXG4gICAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IHJlbS1jYWxjKDQ1KTtcclxuXHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50IChtZWRpdW0gdXApIHtcclxuICAgICAgICBwYWRkaW5nLXRvcDogcmVtLWNhbGMoMTk2KTtcclxuICAgICAgICBwYWRkaW5nLWJvdHRvbTogcmVtLWNhbGMoMTA0KTtcclxuICAgICAgICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogcmVtLWNhbGMoNzUpO1xyXG4gICAgfVxyXG5cclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQgKGxhcmdlIHVwKSB7XHJcbiAgICAgICAgcGFkZGluZy10b3A6IHJlbS1jYWxjKDIwNCk7XHJcbiAgICAgICAgcGFkZGluZy1ib3R0b206IHJlbS1jYWxjKDEzNik7XHJcbiAgICB9XHJcblxyXG4gICAgaDEge1xyXG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMzcpO1xyXG4gICAgICAgIGxpbmUtaGVpZ2h0OiByZW0tY2FsYyg0Myk7XHJcbiAgICAgICAgY29sb3I6IHdoaXRlO1xyXG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMTYpO1xyXG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50IChtZWRpdW0gdXApIHtcclxuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYyg1NSk7XHJcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiByZW0tY2FsYyg1NSk7XHJcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDQwKTtcclxuICAgICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQgKGxhcmdlIHVwKSB7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoNjgpO1xyXG4gICAgICAgICAgICBsaW5lLWhlaWdodDogcmVtLWNhbGMoNzIpO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgc3Ryb25nIHtcclxuICAgICAgICAgICAgY29sb3I6ICRnb2xkO1xyXG4gICAgICAgICAgICBmb250LXdlaWdodDogNzAwO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBwIHtcclxuICAgICAgICBjb2xvcjogd2hpdGU7XHJcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxOCk7XHJcbiAgICAgICAgbGluZS1oZWlnaHQ6IHJlbS1jYWxjKDI2KTtcclxuICAgICAgICBtYXgtd2lkdGg6IHJlbS1jYWxjKDU1MCk7XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMzIpO1xyXG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuXHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcclxuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygyMCk7XHJcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiByZW0tY2FsYygzMik7ICAgXHJcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDQ0KTtcclxuICAgICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UgdXApIHtcclxuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygyMik7XHJcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDMyKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLmJ0biB7XHJcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgbWFyZ2luOiAwIGF1dG87XHJcbiAgICAgICAgcGFkZGluZy10b3A6IHJlbS1jYWxjKDE2KTtcclxuICAgICAgICBwYWRkaW5nLWJvdHRvbTogcmVtLWNhbGMoMTIpO1xyXG4gICAgICAgIHBhZGRpbmctbGVmdDogcmVtLWNhbGMoMzIpO1xyXG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IHJlbS1jYWxjKDMyKTtcclxuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE2KTtcclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICBtYXgtd2lkdGg6IHJlbS1jYWxjKDIwNyk7XHJcbiAgICAgICAgYm9yZGVyLXJhZGl1czogcmVtLWNhbGMoMjEpO1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQgKG1lZGl1bSB1cCkge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICAgICAgICAgIHdpZHRoOiBhdXRvO1xyXG4gICAgICAgICAgICBtYXgtd2lkdGg6IG5vbmU7XHJcbiAgICAgICAgICAgIG1hcmdpbjogMDtcclxuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiByZW0tY2FsYyg0OCk7XHJcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IHJlbS1jYWxjKDQ4KTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLy8gV2lkZSBidXQgc2hvcnQgdmlld3BvcnRzIChzb21lIGxhcHRvcHMpXHJcbiAgICBAbWVkaWEgKG1pbi13aWR0aDogMTEwMHB4KSBhbmQgKG1heC1oZWlnaHQ6IDc1MHB4KSB7XHJcbiAgICAgIHBhZGRpbmctdG9wOiByZW0tY2FsYygyMDUpO1xyXG4gICAgICAvLyBwYWRkaW5nLWJvdHRvbTogcmVtLWNhbGMoNTApO1xyXG5cclxuICAgICAgaDEge1xyXG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoNTUpO1xyXG4gICAgICAgIGxpbmUtaGVpZ2h0OiByZW0tY2FsYyg1NSk7XHJcbiAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLmN0YS0zLXVwIHtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBmbGV4LXdyYXA6IHdyYXA7XHJcbiAgICBwYWRkaW5nLXRvcDogcmVtLWNhbGMoODApO1xyXG4gICAgXHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xyXG4gICAgICAgIHBhZGRpbmctbGVmdDogcmVtLWNhbGMoNTQpO1xyXG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IHJlbS1jYWxjKDU0KTtcclxuICAgICAgICBtYXJnaW4tbGVmdDogcmVtLWNhbGMoLTE2KTtcclxuICAgICAgICBtYXJnaW4tcmlnaHQ6IHJlbS1jYWxjKC0xNik7XHJcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAwO1xyXG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XHJcbiAgICAgICAgcGFkZGluZy10b3A6IDA7XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoNTQpO1xyXG4gICAgfVxyXG4gICAgXHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlIHVwKSB7XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoNjQpO1xyXG4gICAgfVxyXG5cclxuICAgIC5idG4ge1xyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgIG1heC13aWR0aDogcmVtLWNhbGMoMjA3KTtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlIHVwKSB7XHJcbiAgICAgICAgICAgIG1heC13aWR0aDogcmVtLWNhbGMoMjU4KTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi5jdGEtMy11cF9fYmxvY2sge1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYyg2NCk7XHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xyXG4gICAgICAgIHdpZHRoOiAzMy4zMyU7XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcclxuICAgICAgICBwYWRkaW5nLWxlZnQ6IHJlbS1jYWxjKDE2KTtcclxuICAgICAgICBwYWRkaW5nLXJpZ2h0OiByZW0tY2FsYygxNik7XHJcbiAgICAgICAgbWFyZ2luLXRvcDogcmVtLWNhbGMoLTMyKTtcclxuICAgICAgICAmOmxhc3Qtb2YtdHlwZSB7XHJcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSB1cCkge1xyXG4gICAgICAgIHBhZGRpbmctbGVmdDogcmVtLWNhbGMoMTYpO1xyXG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IHJlbS1jYWxjKDE2KTtcclxuICAgICAgICBtYXJnaW4tdG9wOiByZW0tY2FsYygtNDQpO1xyXG4gICAgfVxyXG5cclxuICAgIGltZyB7XHJcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKHJlbS1jYWxjKC00MCkpO1xyXG4gICAgICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKC0yNCk7XHJcbiAgICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuM3M7XHJcblxyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UgdXApIHtcclxuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoLTE2KTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgYSB7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcclxuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgIGhlaWdodDogMTAwJTtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuODUxKTsgICBcclxuICAgICAgICBwYWRkaW5nLWxlZnQ6IHJlbS1jYWxjKDMyKTtcclxuICAgICAgICBwYWRkaW5nLXJpZ2h0OiByZW0tY2FsYygzMik7XHJcbiAgICAgICAgcGFkZGluZy1ib3R0b206IHJlbS1jYWxjKDUyKTtcclxuICAgICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuM3M7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcclxuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiByZW0tY2FsYygyNCk7XHJcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IHJlbS1jYWxjKDI0KTtcclxuICAgICAgICB9XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSB1cCkge1xyXG4gICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogcmVtLWNhbGMoNjQpO1xyXG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IHJlbS1jYWxjKDMyKTtcclxuICAgICAgICAgICAgcGFkZGluZy1yaWdodDogcmVtLWNhbGMoMzIpO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xyXG4gICAgICAgICAgICAuYnRuLWFxdWEge1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGdvbGQ7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogJGJsdWU7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIGltZyB7XHJcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkocmVtLWNhbGMoLTQwKSkgc2NhbGUoMS4yKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLmN0YS0zLXVwX19ibG9ja19fdXBwZXIge1xyXG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbn1cclxuXHJcbi5jdGEtMy11cF9faGVhZGluZyB7XHJcbiAgICBmb250LWZhbWlseTogJGpvc2VmaW4tc2FucztcclxuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XHJcbiAgICBmb250LXNpemU6IHJlbS1jYWxjKDE4KTtcclxuICAgIGNvbG9yOiAkZGFyay1ncmF5O1xyXG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgbGluZS1oZWlnaHQ6IHJlbS1jYWxjKDI0KTtcclxuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcbiAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYygyOCk7XHJcblxyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCAobGFyZ2UgdXApIHtcclxuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDIyKTtcclxuICAgICAgICBsaW5lLWhlaWdodDogcmVtLWNhbGMoMzApO1xyXG4gICAgICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDMyKTtcclxuICAgIH1cclxufVxyXG5cclxuLmN0YS1vcmFuZ2Uge1xyXG4gICAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KCAyNzBkZWcsIHJnYigyNTUsMTQ3LDM0KSAwJSwgcmdiKDI1NSwxMjQsMTcpIDI0JSwgcmdiKDI1NSwxMDAsMCkgMTAwJSk7ICAgICBcclxuICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IHJlbS1jYWxjKDQ1KTtcclxuICAgIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiByZW0tY2FsYyg0NSk7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICBwYWRkaW5nLXRvcDogcmVtLWNhbGMoNDQpO1xyXG4gICAgcGFkZGluZy1sZWZ0OiByZW0tY2FsYygzMik7XHJcbiAgICBwYWRkaW5nLXJpZ2h0OiByZW0tY2FsYygzMik7XHJcbiAgICBwYWRkaW5nLWJvdHRvbTogcmVtLWNhbGMoODApO1xyXG4gICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoOTIpO1xyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcclxuICAgICAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiByZW0tY2FsYyg3NSk7XHJcbiAgICAgICAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IHJlbS1jYWxjKDc1KTsgXHJcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcclxuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgIHBhZGRpbmctdG9wOiByZW0tY2FsYygzMik7XHJcbiAgICAgICAgcGFkZGluZy1ib3R0b206IHJlbS1jYWxjKDMyKTtcclxuICAgIH1cclxufVxyXG5cclxuLmN0YS1vcmFuZ2VfX2xvZ28ge1xyXG4gICAgd2lkdGg6IHJlbS1jYWxjKDIyNyk7XHJcbiAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYygzMik7XHJcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcclxuICAgIG1hcmdpbi1yaWdodDogYXV0bztcclxuICAgIGltZyB7XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgaGVpZ2h0OiBhdXRvO1xyXG4gICAgfVxyXG5cclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQgKG1lZGl1bSB1cCkge1xyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XHJcbiAgICB9XHJcbn1cclxuXHJcbi5jdGEtb3JhbmdlX19sb2dvLXdyYXBwZXIge1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50IChtZWRpdW0gdXApIHtcclxuICAgICAgICB3aWR0aDogMzMuMzMlO1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IHJlbS1jYWxjKDQ4KTtcclxuICAgICAgICBhbGlnbi1zZWxmOiBzdHJldGNoO1xyXG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICB9XHJcbn1cclxuXHJcbi5jdGEtb3JhbmdlX19jb250ZW50IHtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuXHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50IChtZWRpdW0gdXApIHtcclxuICAgICAgICB3aWR0aDogNjYuNjYlO1xyXG4gICAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xyXG4gICAgICAgIHBhZGRpbmctbGVmdDogcmVtLWNhbGMoNDgpO1xyXG4gICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcclxuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICB9XHJcblxyXG4gICAgLnJ1bGUtZ29sZCB7XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgaGVpZ2h0OiAycHg7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGdvbGQ7XHJcbiAgICAgICAgZmxleC1zaHJpbms6IDA7XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMzIpO1xyXG5cclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xyXG4gICAgICAgICAgICB3aWR0aDogMnB4O1xyXG4gICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgICAgbGVmdDogMDtcclxuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi5jdGEtb3JhbmdlX190ZXh0IHtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgaDUge1xyXG4gICAgICAgIGZvbnQtZmFtaWx5OiAkam9zZWZpbi1zYW5zO1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XHJcbiAgICAgICAgY29sb3I6IHdoaXRlO1xyXG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygyNCk7XHJcbiAgICAgICAgbGluZS1oZWlnaHQ6IHJlbS1jYWxjKDMyKTtcclxuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMjQpO1xyXG4gICAgICAgIFxyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XHJcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMjApO1xyXG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMS41cmVtO1xyXG4gICAgICAgIH1cclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlIHVwKSB7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMjUpO1xyXG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMnJlbTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICBwIHtcclxuICAgICAgICBmb250LWZhbWlseTogJG9wZW4tc2FucztcclxuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE2KTtcclxuICAgICAgICBmb250LXdlaWdodDogNjAwO1xyXG4gICAgICAgIGNvbG9yOiB3aGl0ZTtcclxuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoNTIpO1xyXG4gICAgXHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcclxuICAgICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcclxuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNCk7XHJcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDMyKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSB1cCkge1xyXG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE4KTtcclxuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDEuNXJlbTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi5jdGEtb3JhbmdlX19idXR0b24ge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGdvbGQ7XHJcbiAgICBjb2xvcjogJG9yYW5nZTtcclxuICAgIGJvcmRlci1yYWRpdXM6IHJlbS1jYWxjKDE1KTtcclxuICAgIGZvbnQtZmFtaWx5OiAkam9zZWZpbi1zYW5zO1xyXG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcclxuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcbiAgICBsaW5lLWhlaWdodDogMTtcclxuICAgIHBhZGRpbmctbGVmdDogcmVtLWNhbGMoMjgpO1xyXG4gICAgcGFkZGluZy1yaWdodDogcmVtLWNhbGMoMjgpO1xyXG4gICAgcGFkZGluZy10b3A6IHJlbS1jYWxjKDgpO1xyXG4gICAgcGFkZGluZy1ib3R0b206IHJlbS1jYWxjKDQpO1xyXG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjNzO1xyXG4gICAgJjpob3ZlciB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XHJcbiAgICAgICAgY29sb3I6ICRvcmFuZ2U7XHJcbiAgICB9XHJcblxyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCAobWVkaXVtIHVwKSB7XHJcbiAgICAgICAgcGFkZGluZy1sZWZ0OiByZW0tY2FsYygxNik7XHJcbiAgICAgICAgcGFkZGluZy1yaWdodDogcmVtLWNhbGMoMTYpO1xyXG5cclxuICAgIH1cclxuXHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50IChtZWRpdW0gdXApIHtcclxuICAgICAgICBwYWRkaW5nLWxlZnQ6IHJlbS1jYWxjKDI0KTtcclxuICAgICAgICBwYWRkaW5nLXJpZ2h0OiByZW0tY2FsYygyNCk7XHJcbiAgICAgICAgcGFkZGluZy10b3A6IHJlbS1jYWxjKDEyKTtcclxuICAgICAgICBwYWRkaW5nLWJvdHRvbTogcmVtLWNhbGMoOCk7XHJcbiAgICAgICAgYm9yZGVyLXJhZGl1czogcmVtLWNhbGMoMTguNSk7XHJcbiAgICB9XHJcbn1cclxuXHJcbi5tZWV0LWNoaWxkcmVuIHtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBmbGV4LXdyYXA6IHdyYXA7XHJcbiAgICBwYWRkaW5nLWJvdHRvbTogcmVtLWNhbGMoODYpO1xyXG5cclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQgKG1lZGl1bSB1cCkge1xyXG4gICAgICAgIHBhZGRpbmctYm90dG9tOiByZW0tY2FsYygxMTQpO1xyXG4gICAgfVxyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCAobGFyZ2UgdXApIHtcclxuICAgICAgICBwYWRkaW5nLWJvdHRvbTogcmVtLWNhbGMoNDQpO1xyXG4gICAgfVxyXG59XHJcblxyXG4ubWVldC1jaGlsZHJlbl9faGVhZGVyIHtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCAobWVkaXVtIHVwKSB7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xyXG4gICAgfVxyXG5cclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQgKGxhcmdlIHVwKSB7XHJcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgd2lkdGg6IDI1JTtcclxuICAgICAgICB0ZXh0LWFsaWduOiByaWdodDtcclxuICAgIH1cclxuXHJcbiAgICBoMiB7XHJcbiAgICAgICAgZm9udC1mYW1pbHk6ICRqb3NlZmluLXNhbnM7XHJcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYyg1NSk7XHJcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuICAgICAgICBsaW5lLWhlaWdodDogcmVtLWNhbGMoNTQpO1xyXG4gICAgICAgIGNvbG9yOiAkYXF1YTtcclxuICAgICAgICBmb250LXdlaWdodDogMzAwO1xyXG5cclxuICAgICAgICBzdHJvbmcge1xyXG4gICAgICAgICAgICBjb2xvcjogJGRhcmstb3JhbmdlO1xyXG4gICAgICAgICAgICBmb250LXdlaWdodDogNzAwO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCAobWVkaXVtIHVwKSB7XHJcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMXJlbTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQgKGxhcmdlIHVwKSB7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoNDQpO1xyXG4gICAgICAgICAgICBsaW5lLWhlaWdodDogcmVtLWNhbGMoNDQpO1xyXG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBAbWVkaWEgKG1pbi13aWR0aDogMTIwMHB4KSB7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoNTUpO1xyXG4gICAgICAgICAgICBsaW5lLWhlaWdodDogcmVtLWNhbGMoNTQpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBwIHtcclxuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDIyKTtcclxuICAgICAgICBmb250LWZhbWlseTogJG9wZW4tc2FucztcclxuICAgICAgICBsaW5lLWhlaWdodDogMS4zO1xyXG4gICAgICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDY0KTtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xyXG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYygzMik7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC5idG4tYXF1YSB7XHJcbiAgICAgICAgZGlzcGxheTogbm9uZTtcclxuXHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcclxuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgICAgICAgICBhbGlnbi1zZWxmOiBmbGV4LXN0YXJ0O1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRibHVlO1xyXG4gICAgICAgICAgICBjb2xvcjogJGdvbGQ7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4ubWVldC1jaGlsZHJlbl9fbGlzdGluZ3Mge1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgZmxleC13cmFwOiB3cmFwO1xyXG4gICAgZ2FwOiByZW0tY2FsYygzMikgMDtcclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQgKG1lZGl1bSB1cCkge1xyXG4gICAgICAgIGdhcDogcmVtLWNhbGMoNDgpIDA7XHJcbiAgICAgICAgbWFyZ2luLWxlZnQ6IHJlbS1jYWxjKC0xNik7XHJcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiByZW0tY2FsYygtMTYpO1xyXG4gICAgfVxyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCAobGFyZ2UgdXApIHtcclxuICAgICAgICB3aWR0aDogNzUlO1xyXG4gICAgICAgIHBhZGRpbmctbGVmdDogcmVtLWNhbGMoNjQpO1xyXG4gICAgfVxyXG59XHJcblxyXG4ubWVldC1jaGlsZHJlbl9fY2hpbGQtbGluayB7XHJcbiAgICB3aWR0aDogMTAwJTsgICAgXHJcbiAgICBcclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQgKG1lZGl1bSB1cCkge1xyXG4gICAgICAgIHdpZHRoOiAzMy4zMyU7ICAgICAgICBcclxuICAgICAgICBwYWRkaW5nLWxlZnQ6IHJlbS1jYWxjKDE2KTtcclxuICAgICAgICBwYWRkaW5nLXJpZ2h0OiByZW0tY2FsYygxNik7XHJcbiAgICB9XHJcblxyXG4gICAgJjpob3ZlciB7XHJcbiAgICAgICAgaW1nIHtcclxuICAgICAgICAgICAgYm94LXNoYWRvdzppbnNldCAwcHggMHB4IDBweCAxMHB4ICNmMDA7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4uY2hpbGQtbGluay1hcXVhIHtcclxuICAgIC5sYWJlbC1zdGF0ZSB7XHJcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKCRhcXVhLCAwLjgpO1xyXG4gICAgfVxyXG5cclxuICAgICY6aG92ZXIge1xyXG4gICAgICAgIC5ib3JkZXIge1xyXG4gICAgICAgICAgICBvcGFjaXR5OiAxO1xyXG4gICAgICAgICAgICBib3gtc2hhZG93OiBpbnNldCAwcHggMHB4IDBweCAxMHB4IHJnYmEoJGFxdWEsIDAuOCk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4uY2hpbGQtbGluay1yZWQge1xyXG4gICAgLmxhYmVsLXN0YXRlIHtcclxuXHRcdGJhY2tncm91bmQtY29sb3I6IHJnYmEoJHJlZCwgMC44KTtcclxuICAgIH1cclxuXHJcbiAgICAmOmhvdmVyIHtcclxuICAgICAgICAuYm9yZGVyIHtcclxuICAgICAgICAgICAgb3BhY2l0eTogMTtcclxuICAgICAgICAgICAgYm94LXNoYWRvdzogaW5zZXQgMHB4IDBweCAwcHggMTBweCByZ2JhKCRyZWQsIDAuOCk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4uY2hpbGQtbGluay1nb2xkIHtcclxuICAgIC5sYWJlbC1zdGF0ZSB7XHJcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKCRnb2xkLCAwLjgpO1xyXG4gICAgfVxyXG5cclxuICAgICY6aG92ZXIge1xyXG4gICAgICAgIC5ib3JkZXIge1xyXG4gICAgICAgICAgICBvcGFjaXR5OiAxO1xyXG4gICAgICAgICAgICBib3gtc2hhZG93OiBpbnNldCAwcHggMHB4IDBweCAxMHB4IHJnYmEoJGdvbGQsIDAuOCk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4uY2hpbGQtbGluay1ibHVlIHtcclxuICAgIC5sYWJlbC1zdGF0ZSB7XHJcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKCRibHVlLCAwLjgpO1xyXG4gICAgfVxyXG5cclxuICAgICY6aG92ZXIge1xyXG4gICAgICAgIC5ib3JkZXIge1xyXG4gICAgICAgICAgICBvcGFjaXR5OiAxO1xyXG4gICAgICAgICAgICBib3gtc2hhZG93OiBpbnNldCAwcHggMHB4IDBweCAxMHB4IHJnYmEoJGJsdWUsIDAuOCk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4uY2hpbGQtbGluay1kYXJrT3JhbmdlIHtcclxuICAgIC5sYWJlbC1zdGF0ZSB7XHJcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKCRkYXJrLW9yYW5nZSwgMC44KTtcclxuICAgIH1cclxuXHJcbiAgICAmOmhvdmVyIHtcclxuICAgICAgICAuYm9yZGVyIHtcclxuICAgICAgICAgICAgb3BhY2l0eTogMTtcclxuICAgICAgICAgICAgYm94LXNoYWRvdzogaW5zZXQgMHB4IDBweCAwcHggMTBweCByZ2JhKCRkYXJrLW9yYW5nZSwgMC44KTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi5tZWV0LWNoaWxkcmVuX19pbWctd3JhcHBlciB7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDMyKTtcclxuXHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50IChtZWRpdW0gdXApIHtcclxuICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYygyOCk7XHJcbiAgICB9XHJcblxyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCAobGFyZ2UgdXApIHtcclxuICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYygyNCk7XHJcbiAgICB9XHJcblxyXG4gICAgaW1nIHtcclxuICAgICAgICBvYmplY3QtZml0OiBjb3ZlcjtcclxuICAgIH1cclxuXHJcbiAgICAuYm9yZGVyIHtcclxuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgdG9wOiAwO1xyXG4gICAgICAgIGxlZnQ6IDA7XHJcbiAgICAgICAgb3BhY2l0eTogMDtcclxuICAgICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuM3M7XHJcbiAgICB9XHJcblxyXG4gICAgaW1nLCAuYm9yZGVyIHtcclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICBoZWlnaHQ6IHJlbS1jYWxjKDM1NSk7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCAobWVkaXVtIHVwKSB7XHJcbiAgICAgICAgICAgIGhlaWdodDogcmVtLWNhbGMoMzAwKTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQgKGxhcmdlIHVwKSB7XHJcbiAgICAgICAgICAgIGhlaWdodDogcmVtLWNhbGMoMjYwKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLmljb24tcGxheSB7XHJcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgIGJvdHRvbTogcmVtLWNhbGMoMTYpO1xyXG4gICAgICAgIGxlZnQ6IHJlbS1jYWxjKDMyKTtcclxuXHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCAobWVkaXVtIHVwKSB7XHJcbiAgICAgICAgICAgIGxlZnQ6IHJlbS1jYWxjKDIyKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLmxhYmVsLXN0YXRlIHtcclxuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgYm90dG9tOiByZW0tY2FsYygtNCk7XHJcbiAgICAgICAgcmlnaHQ6IHJlbS1jYWxjKC00KTtcclxuICAgIH1cclxufVxyXG5cclxuLm1lZXQtY2hpbGRyZW5fX2NoaWxkLW5hbWUge1xyXG4gICAgY29sb3I6ICRkYXJrLWdyYXk7XHJcbiAgICBmb250LXNpemU6IHJlbS1jYWxjKDI3KTtcclxuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XHJcbiAgICBwYWRkaW5nLWxlZnQ6IHJlbS1jYWxjKDMyKTtcclxuXHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50IChtZWRpdW0gdXApIHtcclxuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDIzKTtcclxuICAgICAgICBwYWRkaW5nLWxlZnQ6IHJlbS1jYWxjKDIyKTtcclxuICAgIH1cclxuXHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50IChsYXJnZSB1cCkge1xyXG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMjApO1xyXG4gICAgfVxyXG59XHJcblxyXG4ubWVldC1tb3JlLWNoaWxkcmVuLW1vYmlsZSB7XHJcbiAgICBtYXJnaW4tdG9wOiByZW0tY2FsYygxMik7XHJcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcclxuICAgIG1hcmdpbi1yaWdodDogYXV0bztcclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQgKG1lZGl1bSB1cCkge1xyXG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICB9XHJcbn1cclxuXHJcbi5zZWN0aW9uLXdoYXQtd2UtYmVsaWV2ZSB7XHJcblxyXG4gICAgLmNvbnRlbnQtYmFuZCB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcclxuICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xyXG4gICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IHJpZ2h0O1xyXG4gICAgICAgIHBhZGRpbmctdG9wOiByZW0tY2FsYygxMzYpO1xyXG4gICAgICAgIHBhZGRpbmctYm90dG9tOiByZW0tY2FsYyg5Mik7XHJcblxyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQgKG1lZGl1bSB1cCkge1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvbnRhaW47XHJcbiAgICAgICAgICAgIHBhZGRpbmctdG9wOiByZW0tY2FsYyg5Mik7XHJcbiAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiByZW0tY2FsYygxMTIpOyBcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQgKGxhcmdlIHVwKSB7XHJcbiAgICAgICAgICAgIHBhZGRpbmctdG9wOiByZW0tY2FsYygxMTYpO1xyXG4gICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogcmVtLWNhbGMoMTA4KTsgXHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIGgyIHtcclxuICAgICAgICBmb250LWZhbWlseTogJGpvc2VmaW4tc2FucztcclxuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDQ1KTtcclxuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG4gICAgICAgIGxpbmUtaGVpZ2h0OiByZW0tY2FsYyg0Nik7XHJcbiAgICAgICAgY29sb3I6IHdoaXRlO1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiAzMDA7XHJcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDIwKTtcclxuXHJcbiAgICAgICAgc3Ryb25nIHtcclxuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcclxuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xyXG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xyXG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYyg0NCk7XHJcbiAgICAgICAgICAgIHN0cm9uZyB7XHJcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmU7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQgKGxhcmdlIHVwKSB7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoNjApO1xyXG4gICAgICAgICAgICBsaW5lLWhlaWdodDogcmVtLWNhbGMoNjEpO1xyXG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYyg0OCk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHAge1xyXG4gICAgICAgIGNvbG9yOiB3aGl0ZTtcclxuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE2KTtcclxuICAgICAgICBsaW5lLWhlaWdodDogcmVtLWNhbGMoMjQpO1xyXG4gICAgICAgIG1heC13aWR0aDogcmVtLWNhbGMoNzAwKTtcclxuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcblxyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQgKG1lZGl1bSB1cCkge1xyXG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDIwKTtcclxuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IHJlbS1jYWxjKDMwKTtcclxuICAgICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQgKGxhcmdlIHVwKSB7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMjIpO1xyXG4gICAgICAgICAgICBsaW5lLWhlaWdodDogcmVtLWNhbGMoMzIpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLnNlY3Rpb24tb3VyLWltcGFjdCB7XHJcbiAgICBwYWRkaW5nLXRvcDogcmVtLWNhbGMoNzApO1xyXG4gICAgcGFkZGluZy1ib3R0b206IHJlbS1jYWxjKDYwKTtcclxufVxyXG5cclxuLmhvbWVwYWdlLXN0YXRpc3RpY3Mtd3JhcHBlciB7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgZmxleC13cmFwOiB3cmFwO1xyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCAobGFyZ2UgdXApIHtcclxuICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93LXJldmVyc2U7XHJcbiAgICB9XHJcblxyXG4gICAgLmJ0biB7XHJcbiAgICAgICAgcGFkZGluZy1sZWZ0OiByZW0tY2FsYygzMik7XHJcbiAgICAgICAgcGFkZGluZy1yaWdodDogcmVtLWNhbGMoMzIpO1xyXG4gICAgfVxyXG5cclxuICAgIGgyIHtcclxuICAgICAgICBmb250LWZhbWlseTogJGpvc2VmaW4tc2FucztcclxuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG4gICAgICAgIGNvbG9yOiAkZGFyay1vcmFuZ2U7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6IDMwMDtcclxuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoNDApO1xyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMzApO1xyXG4gICAgICAgIGxpbmUtaGVpZ2h0OiByZW0tY2FsYygzNik7XHJcblxyXG4gICAgICAgIHN0cm9uZyB7XHJcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50IChtZWRpdW0gdXApIHtcclxuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYyg1NSk7XHJcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiByZW0tY2FsYygzNSk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50IChsYXJnZSB1cCkge1xyXG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoNzUpO1xyXG4gICAgICAgICAgICBsaW5lLWhlaWdodDogcmVtLWNhbGMoNzMpO1xyXG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYygzNik7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4kY29sdW1uLXN0YXJ0OiA4MDA7XHJcblxyXG4uc3RhdGlzdGljcy1jb2x1bW4ge1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50ICgkY29sdW1uLXN0YXJ0IHVwKSB7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgIH1cclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQgKGxhcmdlIHVwKSB7XHJcbiAgICAgICAgd2lkdGg6IDc1JTtcclxuICAgIH1cclxufVxyXG5cclxuLnRpdGxlLWNvbHVtbiB7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDYwKTtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuXHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50IChsYXJnZSB1cCkge1xyXG4gICAgICAgIHdpZHRoOiAyNSU7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgICAgIHBhZGRpbmctbGVmdDogcmVtLWNhbGMoMjQpO1xyXG4gICAgICAgIFxyXG4gICAgICAgIGgyIHtcclxuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYyg2MCk7XHJcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiByZW0tY2FsYyg2MCk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4uc3RhdGlzdGljIHtcclxuICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDU0KTtcclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQgKCRjb2x1bW4tc3RhcnQgdXApIHtcclxuICAgICAgICB3aWR0aDogMzMuMzMlO1xyXG4gICAgICAgIHBhZGRpbmctbGVmdDogcmVtLWNhbGMoMjApO1xyXG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IHJlbS1jYWxjKDIwKTtcclxuICAgIH1cclxufVxyXG5cclxuLnN0YXRpc3RpYy1pY29uLXRpdGxlLXdyYXBwZXIge1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGZsZXgtd3JhcDogbm93cmFwO1xyXG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgIHBhZGRpbmctbGVmdDogcmVtLWNhbGMoMjApO1xyXG4gICAgcGFkZGluZy1yaWdodDogcmVtLWNhbGMoMjApO1xyXG4gICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMjApO1xyXG5cclxuICAgIHAge1xyXG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XHJcbiAgICB9XHJcblxyXG4gICAgLnN0YXRpc3RpYy1pY29uLWltYWdlLXdyYXBwZXIge1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgICAgICBtYXgtd2lkdGg6IHJlbS1jYWxjKDUwKTtcclxuICAgICAgICBtYXgtd2lkdGg6IHJlbS1jYWxjKDUwKTtcclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICB9XHJcblxyXG4gICAgaW1nIHtcclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICBvYmplY3QtZml0OiBjb250YWluO1xyXG4gICAgICAgIG1hcmdpbi1yaWdodDogcmVtLWNhbGMoMjApO1xyXG4gICAgfVxyXG5cclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQgKCRjb2x1bW4tc3RhcnQgdXApIHtcclxuICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XHJcbiAgICAgICAgbWF4LWhlaWdodDogcmVtLWNhbGMoMjQyKTtcclxuICAgICAgICBoZWlnaHQ6IHJlbS1jYWxjKDIwMCk7XHJcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAwO1xyXG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XHJcblxyXG4gICAgICAgIC5zdGF0aXN0aWMtaWNvbi1pbWFnZS13cmFwcGVyIHtcclxuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoOCk7XHJcbiAgICAgICAgICAgIG1heC13aWR0aDogcmVtLWNhbGMoODApO1xyXG4gICAgICAgICAgICBtYXgtd2lkdGg6IHJlbS1jYWxjKDgwKTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGltZyB7XHJcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi5zdGF0aXN0aWMtdGl0bGUge1xyXG4gICAgZm9udC1mYW1pbHk6ICRqb3NlZmluLXNhbnM7XHJcbiAgICBmb250LXdlaWdodDogNzAwO1xyXG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuICAgIGNvbG9yOiAkYXF1YTtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgZm9udC1zaXplOiByZW0tY2FsYygzMCk7XHJcbiAgICBsaW5lLWhlaWdodDogcmVtLWNhbGMoMzYpO1xyXG5cclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQgKDUwMCB1cCkge1xyXG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMzUpO1xyXG4gICAgICAgIGxpbmUtaGVpZ2h0OiByZW0tY2FsYygzNik7XHJcbiAgICB9XHJcblxyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCAoJGNvbHVtbi1zdGFydCB1cCkge1xyXG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xyXG4gICAgfVxyXG59XHJcblxyXG4uc3RhdGlzdGljLXRpdGxlX19vcmFuZ2Uge1xyXG4gICAgY29sb3I6ICRkYXJrLW9yYW5nZTtcclxufVxyXG5cclxuLnN0YXRpc3RpYy10aXRsZV9fYmx1ZSB7XHJcbiAgICBjb2xvcjogJGJsdWU7XHJcbn1cclxuXHJcbi5zdGF0aXN0aWMtdGV4dC13cmFwcGVyIHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICRsaWdodC1ncmF5O1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgcGFkZGluZy10b3A6IHJlbS1jYWxjKDQwKTtcclxuICAgIHBhZGRpbmctYm90dG9tOiByZW0tY2FsYyg1Nik7XHJcbiAgICBwYWRkaW5nLWxlZnQ6IHJlbS1jYWxjKDY0KTtcclxuICAgIHBhZGRpbmctcmlnaHQ6IHJlbS1jYWxjKDY0KTtcclxuXHJcbiAgICAudHJpYW5nbGUtd2hpdGUge1xyXG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICB0b3A6IHJlbS1jYWxjKC0yMCk7XHJcbiAgICB9XHJcblxyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCAoJGNvbHVtbi1zdGFydCB1cCkge1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xyXG4gICAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXk7XHJcbiAgICAgICAgcGFkZGluZy1sZWZ0OiByZW0tY2FsYygyNCk7XHJcbiAgICAgICAgcGFkZGluZy1yaWdodDogcmVtLWNhbGMoMjQpO1xyXG4gICAgICAgIHBhZGRpbmctdG9wOiByZW0tY2FsYygzMik7XHJcblxyXG4gICAgICAgIC50cmlhbmdsZS13aGl0ZSB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4uc3RhdGlzdGljLXF1YW50aXR5LCAuc3RhdGlzdGljLXF1YW50aXR5LWRldGFpbCB7XHJcbiAgICBjb2xvcjogJG9yYW5nZTtcclxufVxyXG4uc3RhdGlzdGljLXF1YW50aXR5IHtcclxuICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoNjgpO1xyXG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcclxuICAgIGxpbmUtaGVpZ2h0OiAxO1xyXG4gICAgbWFyZ2luLWJvdHRvbTogMDtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XHJcbiAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcclxufVxyXG5cclxuLnN0YXRpc3RpYy1xdWFudGl0eS1wZXJjZW50YWdlOjphZnRlciB7XHJcbiAgICBjb250ZW50OiAnJSc7XHJcbiAgICBmb250LXNpemU6IHJlbS1jYWxjKDM0KTtcclxuICAgIG1hcmdpbi10b3A6IHJlbS1jYWxjKDUpO1xyXG59XHJcblxyXG4uc3RhdGlzdGljLXF1YW50aXR5LWN1cnJlbmN5OjpiZWZvcmUge1xyXG4gICAgY29udGVudDogJyQnO1xyXG4gICAgZm9udC1zaXplOiByZW0tY2FsYygzNCk7XHJcbiAgICBtYXJnaW4tdG9wOiByZW0tY2FsYyg3KTtcclxufVxyXG5cclxuLnN0YXRpc3RpYy1xdWFudGl0eS1kZXRhaWwge1xyXG4gICAgZm9udC1mYW1pbHk6ICRqb3NlZmluLXNhbnM7XHJcbiAgICBmb250LXdlaWdodDogNzAwO1xyXG4gICAgZm9udC1zaXplOiByZW0tY2FsYygyNik7XHJcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG4gICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoOCk7XHJcbiAgICBtYXgtd2lkdGg6IDEwMCU7XHJcbn1cclxuXHJcbi5zdGF0aXN0aWMtcXVhbnRpdHktc3ViZGV0YWlsIHtcclxuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XHJcbiAgICBmb250LXNpemU6IHJlbS1jYWxjKDIyKTtcclxuICAgIGxpbmUtaGVpZ2h0OiByZW0tY2FsYygyOCk7XHJcbiAgICBjb2xvcjogJG1lZGl1bS1ncmF5O1xyXG4gICAgbWF4LXdpZHRoOiAxMDAlO1xyXG5cclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQgKCRjb2x1bW4tc3RhcnQgdXApIHtcclxuICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJG1lZGl1bS1ncmF5O1xyXG4gICAgICAgIHBhZGRpbmctYm90dG9tOiByZW0tY2FsYygzMik7XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMjQpO1xyXG4gICAgfVxyXG59XHJcblxyXG4uc3RhdGlzdGljLWRpc2NsYWltZXIge1xyXG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcclxuICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTUpO1xyXG4gICAgbGluZS1oZWlnaHQ6IHJlbS1jYWxjKDI0KTtcclxuICAgIGNvbG9yOiAkYXF1YTtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG59XHJcblxyXG4uc2VjdGlvbi1ldmVudHMge1xyXG4gICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogcmVtLWNhbGMoNTApO1xyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCAobWVkaXVtIHVwKSB7XHJcbiAgICAgICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogMDtcclxuICAgICAgICBwYWRkaW5nLWJvdHRvbTogcmVtLWNhbGMoMTQ0KTtcclxuICAgIH1cclxuXHJcbiAgICAuZXZlbnQtY2FyZCB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcclxuICAgIH1cclxuXHJcbiAgICAuZXZlbnQtYmFkZ2UtLWxpZ2h0IHtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbGlnaHQtZ3JheTtcclxuICAgIH1cclxufVxyXG5cclxuLnNlY3Rpb24tZXZlbnRzIC53cmFwcGVyIHtcclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQgKGxhcmdlIHVwKSB7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcclxuICAgICAgICBwYWRkaW5nLXRvcDogcmVtLWNhbGMoODYpO1xyXG4gICAgfVxyXG59XHJcblxyXG4uaG9tZXBhZ2UtZXZlbnRzIHtcclxuICAgIHBhZGRpbmctdG9wOiByZW0tY2FsYygyNCk7XHJcbiAgICBwYWRkaW5nLWJvdHRvbTogcmVtLWNhbGMoOTYpO1xyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCAobWVkaXVtIHVwKSB7XHJcbiAgICAgICAgcGFkZGluZy10b3A6IHJlbS1jYWxjKDEwMCk7XHJcbiAgICB9XHJcblxyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCAobGFyZ2UgdXApIHtcclxuICAgICAgICB3aWR0aDogNjYuNjYlO1xyXG4gICAgICAgIHBhZGRpbmctdG9wOiByZW0tY2FsYygxNik7XHJcbiAgICAgICAgcGFkZGluZy1yaWdodDogcmVtLWNhbGMoMjQpO1xyXG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAwO1xyXG4gICAgfVxyXG59XHJcblxyXG4uaG9tZXBhZ2UtZXZlbnRzX191cHBlciB7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbi1yZXZlcnNlO1xyXG4gICAgZmxleC13cmFwOiB3cmFwO1xyXG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDUyKTtcclxuXHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xyXG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XHJcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xyXG4gICAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xyXG4gICAgICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDI0KTtcclxuICAgIH1cclxuXHJcbiAgICBoMiB7XHJcbiAgICAgICAgZm9udC1mYW1pbHk6ICRqb3NlZmluLXNhbnM7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcclxuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDQ3KTtcclxuICAgICAgICBsaW5lLWhlaWdodDogcmVtLWNhbGMoNTEpO1xyXG4gICAgICAgIGNvbG9yOiAkYXF1YTtcclxuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xyXG5cclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50IChtZWRpdW0gdXApIHtcclxuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygzNSk7XHJcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiByZW0tY2FsYygzOCk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC5idG4ge1xyXG4gICAgICAgIHBhZGRpbmctbGVmdDogcmVtLWNhbGMoMjgpO1xyXG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IHJlbS1jYWxjKDI4KTtcclxuICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYyg4KTtcclxuXHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCAobWVkaXVtIHVwKSB7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTYpO1xyXG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IHJlbS1jYWxjKDI0KTtcclxuICAgICAgICAgICAgcGFkZGluZy1yaWdodDogcmVtLWNhbGMoMjQpO1xyXG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLmhlYXJ0LWdhbGxlcmllcy1kaXZpZGVyIHtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYyg4KTtcclxuXHJcbiAgICAucnVsZSB7XHJcbiAgICAgICAgaGVpZ2h0OiAycHg7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XHJcbiAgICAgICAgZmxleC1ncm93OiAxO1xyXG4gICAgfVxyXG5cclxuICAgIHN2ZyB7XHJcbiAgICAgICAgbWFyZ2luOiAwIHJlbS1jYWxjKDE2KTtcclxuICAgIH1cclxuXHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50IChtZWRpdW0gdXApIHtcclxuICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYygxNik7XHJcbiAgICB9XHJcblxyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCAobGFyZ2UgdXApIHtcclxuICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYygzMik7XHJcbiAgICB9XHJcbn1cclxuXHJcbi5oZWFydC1nYWxsZXJpZXMtY3RhcyB7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgZmxleC13cmFwOiB3cmFwO1xyXG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcblxyXG4gICAgLmN0YS13cmFwcGVyIHtcclxuICAgICAgICB3aWR0aDogNTAlO1xyXG4gICAgICAgIHBhZGRpbmctbGVmdDogcmVtLWNhbGMoMyk7XHJcbiAgICAgICAgcGFkZGluZy1yaWdodDogcmVtLWNhbGMoMyk7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYygzMik7XHJcblxyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQgKG1lZGl1bSB1cCkge1xyXG4gICAgICAgICAgICB3aWR0aDogMzMlO1xyXG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IHJlbS1jYWxjKDE2KTtcclxuICAgICAgICAgICAgcGFkZGluZy1yaWdodDogcmVtLWNhbGMoMTYpO1xyXG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCAobGFyZ2UgdXApIHtcclxuICAgICAgICAgICAgd2lkdGg6IDUwJTtcclxuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMjQpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAuYnRuLXdoaXRlIHtcclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICBmb250LXdlaWdodDogNzAwO1xyXG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTYpO1xyXG4gICAgICAgIGNvbG9yOiAkYmx1ZTtcclxuICAgICAgICBwYWRkaW5nLXRvcDogcmVtLWNhbGMoOCk7XHJcbiAgICAgICAgcGFkZGluZy1ib3R0b206IHJlbS1jYWxjKDQpO1xyXG4gICAgICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDgpO1xyXG5cclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KDUwMCB1cCkge1xyXG4gICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxOCk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59IiwiLyo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbj0gICAgICAgICAgICBFdmVudCBMaXN0aW5nICAgICAgICAgICAgPVxyXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ki9cclxuXHJcbiR0d28tY29sLWJyZWFrcG9pbnQ6IHJlbS1jYWxjKDEwNjApO1xyXG5cclxuLnR3by1jb2wtbGlzdGluZyB7XHJcblx0QGluY2x1ZGUgeHktZ3JpZDtcclxuXHRAaW5jbHVkZSBncmlkLXJvdy1uZXN0KCRndXR0ZXItZGVmYXVsdCk7XHJcbn1cclxuXHJcbi50d28tY29sLWxpc3RpbmdfX21haW4ge1xyXG5cdEBpbmNsdWRlIHh5LWNlbGwoOC44KTtcclxuXHRwYWRkaW5nOiByZW0tY2FsYyg0MCkgMCByZW0tY2FsYyg0MCkgcmVtLWNhbGMoNDApO1xyXG5cdG9yZGVyOiAyO1xyXG5cclxuXHRAaW5jbHVkZSBicmVha3BvaW50ICgkdHdvLWNvbC1icmVha3BvaW50IGRvd24pIHtcclxuXHRcdHdpZHRoOiAxMDAlO1xyXG5cdFx0cGFkZGluZy1sZWZ0OiAkbWluLWd1dHRlcjtcclxuXHRcdHBhZGRpbmctcmlnaHQ6ICRtaW4tZ3V0dGVyO1xyXG5cdH1cclxufVxyXG5cclxuLnR3by1jb2wtbGlzdGluZ19fc2lkZSB7XHJcblx0QGluY2x1ZGUgeHktY2VsbCgzLjIpO1xyXG5cdG9yZGVyOiAxO1xyXG5cdGJhY2tncm91bmQtY29sb3I6ICRhcXVhO1xyXG5cdHBhZGRpbmc6IHJlbS1jYWxjKDMwKSByZW0tY2FsYygxNSk7XHJcblxyXG5cdEBpbmNsdWRlIGJyZWFrcG9pbnQgKCR0d28tY29sLWJyZWFrcG9pbnQgZG93bikge1xyXG5cdFx0d2lkdGg6IDEwMCU7XHJcblx0fVxyXG59XHJcblxyXG4udHdvLWNvbC1saXN0aW5nLnR3by1jb2wtbGlzdGluZy0tZXhwYW5kZWQtc2lkZWJhciB7XHJcblx0LnR3by1jb2wtbGlzdGluZ19fbWFpbiB7XHJcblx0XHRAaW5jbHVkZSB4eS1jZWxsKDgpO1xyXG5cclxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQgKCR0d28tY29sLWJyZWFrcG9pbnQgZG93bikge1xyXG5cdFx0XHR3aWR0aDogMTAwJTtcclxuXHRcdFx0cGFkZGluZy1sZWZ0OiAkbWluLWd1dHRlcjtcclxuXHRcdFx0cGFkZGluZy1yaWdodDogJG1pbi1ndXR0ZXI7XHJcblx0XHR9XHJcblx0fVxyXG5cclxuXHQudHdvLWNvbC1saXN0aW5nX19zaWRlIHtcclxuXHRcdEBpbmNsdWRlIHh5LWNlbGwoNCk7XHJcblxyXG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludCAoJHR3by1jb2wtYnJlYWtwb2ludCBkb3duKSB7XHJcblx0XHRcdHdpZHRoOiAxMDAlO1xyXG5cdFx0fVxyXG5cdH1cdFxyXG59XHJcblxyXG51bC5ldmVudC1saXN0IHtcclxuXHRsaXN0LXN0eWxlOiBub25lO1xyXG5cdG1hcmdpbi1sZWZ0OiAwO1xyXG59XHJcblxyXG4uZXZlbnQtY2FyZCB7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogJGxpZ2h0LWdyYXk7XHJcblx0bWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMTApO1xyXG59XHJcblxyXG4uZXZlbnQtY2FyZC1jb250ZW50LWNvbnRhaW5lciB7XHJcblx0QGluY2x1ZGUgeHktZ3JpZDtcclxuXHRwb3NpdGlvbjogcmVsYXRpdmU7XHJcblx0cGFkZGluZzogcmVtLWNhbGMoMjApIHJlbS1jYWxjKDIwKSByZW0tY2FsYygyMCkgcmVtLWNhbGMoMTIwKTtcclxufVxyXG5cclxuLy8gQXJjaGl2ZWQgY2xhc3MgZm9ybWF0XHJcbi5ldmVudC1jYXJkLS1hcmNoaXZlZCB7XHJcblx0LmV2ZW50LWNhcmQtY29udGVudC1jb250YWluZXIge1xyXG5cdFx0cGFkZGluZy1sZWZ0OiByZW0tY2FsYygyMCk7XHJcblx0fVxyXG5cclxuXHQuZXZlbnQtY2FyZF9fdGl0bGUge1xyXG5cdFx0Ym9yZGVyLWJvdHRvbTogMDtcclxuXHRcdG1hcmdpbi1sZWZ0OiAwO1xyXG5cdH1cclxuXHJcblxyXG59XHJcblxyXG4uZXZlbnQtY2FyZF9fZGF0ZSwgXHJcbi5ldmVudC1oZWFkaW5nX19kYXRlIHtcclxuXHR3aWR0aDogcmVtLWNhbGMoODApO1xyXG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuXHR0b3A6IHJlbS1jYWxjKDIwKTtcclxuXHRsZWZ0OiByZW0tY2FsYygyMCk7XHJcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQoIDBkZWcsIHJnYig1MSwxOTMsMjEwKSAwJSwgcmdiKDU4LDE0MSwxODMpIDEwMCUpOyBcclxuICAgIHBhZGRpbmc6IHJlbS1jYWxjKDE2KSAwO1xyXG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG5cclxuICAgIC5tb250aCB7XHJcbiAgICBcdGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgIGZvbnQtZmFtaWx5OiAkam9zZWZpbi1zYW5zO1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XHJcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNCk7XHJcbiAgICAgICAgbGluZS1oZWlnaHQ6IHJlbS1jYWxjKDE0KTtcclxuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG4gICAgICAgIGNvbG9yOiBnb2xkO1xyXG4gICAgfVxyXG5cclxuICAgIC5kYXkge1xyXG4gICAgXHRkaXNwbGF5OiBibG9jaztcclxuICAgICAgICBmb250LXdlaWdodDogNzAwO1xyXG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMzUpO1xyXG4gICAgICAgIGxpbmUtaGVpZ2h0OiByZW0tY2FsYygzNSk7XHJcbiAgICAgICAgY29sb3I6ICNmZmY7XHJcbiAgICB9XHJcblxyXG4gICAgLmV2ZW50LXRpdGxlIHtcclxuICAgICAgICBtYXJnaW4tdG9wOiByZW0tY2FsYyg4KTtcclxuICAgIH1cclxufVxyXG5cclxuLmV2ZW50LWNhcmRfX21haW4ge1xyXG5cdEBpbmNsdWRlIHh5LWdyaWQ7XHJcblx0d2lkdGg6IDEwMCU7XHJcbn1cclxuXHJcbi5ldmVudC1jYXJkX190aXRsZSB7XHJcblx0QGluY2x1ZGUgeHktY2VsbCgxMSk7XHJcblx0Ym9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNmZmY7XHJcblx0cGFkZGluZy1ib3R0b206IHJlbS1jYWxjKDEwKTtcclxuXHRtYXJnaW4tYm90dG9tOiByZW0tY2FsYygxMCk7XHJcblxyXG5cdGgyIHtcclxuXHRcdHRyYW5zaXRpb246IGNvbG9yIDAuM3M7XHJcblx0XHRmb250LXdlaWdodDogNjAwO1xyXG5cdFx0Zm9udC1zaXplOiByZW0tY2FsYygyMCk7XHJcblx0XHRsaW5lLWhlaWdodDogcmVtLWNhbGMoMjYpO1xyXG5cdFx0Y29sb3I6ICRibHVlO1xyXG5cdFx0bWFyZ2luLWJvdHRvbTogMDtcclxuXHR9XHJcblxyXG5cdHN2ZyB7XHJcblx0ICAgIG1hcmdpbi1sZWZ0OiByZW0tY2FsYyg4KTtcclxuXHR9XHJcblxyXG5cdHBhdGgge1xyXG5cdCAgICB0cmFuc2l0aW9uOiBmaWxsIDAuM3M7XHJcblx0fVxyXG5cclxuXHQmOmhvdmVyIGgyIHtcclxuXHRcdGNvbG9yOiAkZGFyay1vcmFuZ2U7XHJcblx0fVxyXG5cclxuXHQmOmhvdmVyIHN2ZyBwYXRoIHtcclxuXHRcdGZpbGw6ICRkYXJrLW9yYW5nZTtcclxuXHR9XHJcbn1cclxuXHJcbi5ldmVudC1jYXJkX190aW1lIHtcclxuXHRjb2xvcjogJHRleHQtZ3JheTtcclxuXHRmb250LXNpemU6IHJlbS1jYWxjKDE0KTtcclxuXHRmb250LWZhbWlseTogJGpvc2VmaW4tc2FucztcclxuXHRmb250LXdlaWdodDogNjAwO1xyXG59XHJcblxyXG4uZXZlbnQtY2FyZF9fbG9jYXRpb24ge1xyXG5cdEBpbmNsdWRlIHh5LWNlbGwoMSk7XHJcblx0cGFkZGluZy1ib3R0b206IHJlbS1jYWxjKDEwKTtcclxuXHJcblx0QGluY2x1ZGUgYnJlYWtwb2ludCg3NTUgZG93bikge1xyXG5cdFx0ZGlzcGxheTogbm9uZTtcclxuICAgIH1cclxufVxyXG5cclxuLmV2ZW50LWNhcmRfX2F1ZGllbmNlIHtcclxuXHRwb3NpdGlvbjogYWJzb2x1dGU7XHJcblx0cmlnaHQ6IHJlbS1jYWxjKDIwKTtcclxuXHRib3R0b206IHJlbS1jYWxjKDIwKTtcclxuXHJcblx0QGluY2x1ZGUgYnJlYWtwb2ludCg3NTUgZG93bikge1xyXG5cdFx0ZGlzcGxheTogbm9uZTtcclxuICAgIH1cclxufVxyXG5cclxuLmV2ZW50LWNhcmRfX21vYmlsZS1kZXNjcmlwdGlvbiB7XHJcblx0ZGlzcGxheTogbm9uZTtcclxuXHR3aWR0aDogMTAwJTtcclxuXHRwYWRkaW5nOiAwIHJlbS1jYWxjKDIwKTtcclxuXHRtYXJnaW4tYm90dG9tOiByZW0tY2FsYygyMCk7XHJcblxyXG5cdEBpbmNsdWRlIGJyZWFrcG9pbnQoNzU1IGRvd24pIHtcclxuXHRcdGRpc3BsYXk6IGJsb2NrO1xyXG5cdH1cclxufVxyXG5cclxuQGluY2x1ZGUgYnJlYWtwb2ludCg3NTUgZG93bikge1xyXG5cdC5ldmVudC1jYXJkX19kZXNrdG9wLWRlc2NyaXB0aW9uIHtcclxuXHRcdGRpc3BsYXk6IG5vbmU7XHJcblx0fVxyXG59XHJcblxyXG4uZXZlbnQtY2FyZF9fbW9iaWxlLWNhdGVnb3JpZXMge1xyXG5cdGRpc3BsYXk6IG5vbmU7XHJcblx0d2lkdGg6IDEwMCU7XHJcblx0cGFkZGluZzogMCByZW0tY2FsYygyMCk7XHJcblxyXG5cdC5ldmVudC1iYWRnZS0taW5saW5lIHtcclxuXHRcdG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDgpO1xyXG5cdH1cclxuXHJcblx0QGluY2x1ZGUgYnJlYWtwb2ludCg3NTUgZG93bikge1xyXG5cdFx0ZGlzcGxheTogZmxleDtcclxuXHRcdGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcclxuXHRcdGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcblx0fVxyXG59XHJcblxyXG4uZXZlbnQtYmFkZ2Uge1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiAkYXF1YTtcclxuXHRjb2xvcjogd2hpdGU7XHJcblx0Zm9udC1mYW1pbHk6ICRqb3NlZmluLXNhbnM7XHJcblx0Zm9udC13ZWlnaHQ6IDcwMDtcclxuXHRmb250LXNpemU6IHJlbS1jYWxjKDEyKTtcclxuXHR0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG5cdGJvcmRlci1yYWRpdXM6IHJlbS1jYWxjKDE2KTtcclxuXHRwYWRkaW5nLWxlZnQ6IHJlbS1jYWxjKDEyKTtcclxuXHRwYWRkaW5nLXJpZ2h0OiByZW0tY2FsYygxMik7XHJcblx0cGFkZGluZy10b3A6IHJlbS1jYWxjKDYpO1xyXG5cdHBhZGRpbmctYm90dG9tOiByZW0tY2FsYygzKTtcclxuXHJcblx0Ji5ldmVudC1vbmxpbmUgc3ZnIHtcclxuXHRcdG1heC13aWR0aDogMTAwJTtcclxuXHRcdGhlaWdodDogYXV0bztcclxuXHRcdG1heC1oZWlnaHQ6IDEwMCU7XHJcblxyXG5cdFx0cGF0aCB7XHJcblx0XHRcdGZpbGw6ICR3aGl0ZTtcclxuXHRcdH1cclxuXHR9XHJcbn1cclxuXHJcbi5ldmVudC1iYWRnZS0tY2lyY3VsYXIge1xyXG5cdGRpc3BsYXk6IGJsb2NrO1xyXG5cdGZvbnQtc2l6ZTogcmVtLWNhbGMoMTcpO1xyXG5cdGJvcmRlci1yYWRpdXM6IDEwMCU7XHJcblx0d2lkdGg6IHJlbS1jYWxjKDQwKTtcclxuXHRoZWlnaHQ6IHJlbS1jYWxjKDQwKTtcclxuXHR0ZXh0LWFsaWduOiBjZW50ZXI7XHJcblx0cGFkZGluZzogcmVtLWNhbGMoOCkgMDtcclxuXHRtYXJnaW4tYm90dG9tOiByZW0tY2FsYygxMCk7XHJcbn1cclxuXHJcbi5ldmVudC1iYWRnZS0taW5saW5lIHtcclxuXHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcblx0bWFyZ2luLWxlZnQ6IHJlbS1jYWxjKDUpO1xyXG59XHJcblxyXG4uZXZlbnQtYmFkZ2UtLWxpZ2h0IHtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xyXG5cdGNvbG9yOiAkZGFyay1ncmF5O1xyXG5cclxuXHQmLmV2ZW50LW9ubGluZSBzdmcge1xyXG5cdFx0cGF0aCB7XHJcblx0XHRcdGZpbGw6ICRkYXJrLWdyYXk7XHJcblx0XHR9XHJcblx0fVxyXG5cclxuXHQuc2VjdGlvbl9fZXZlbnRzICYge1xyXG5cdFx0YmFja2dyb3VuZC1jb2xvcjogJGxpZ2h0LWdyYXk7XHJcblx0fVxyXG59XHJcblxyXG4uZXZlbnQtYmFkZ2UtLWRhcmssXHJcbi5ldmVudC1iYWRnZS0tZ3JheSxcclxuLmV2ZW50LWxvY2F0aW9uLmV2ZW50LWJhZGdlLS1ncmF5IHtcclxuXHRjb2xvcjogI2ZmZjtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiAkZGFyay1ncmF5O1xyXG59XHJcblxyXG4uZXZlbnQtYmFkZ2UtLWFxdWEsXHJcbi5ldmVudC1sb2NhdGlvbi5ldmVudC1iYWRnZS0tYXF1YSB7XHJcblx0Y29sb3I6ICNmZmY7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogJGFxdWE7XHJcbn1cclxuXHJcbi5ldmVudC1iYWRnZS0tZ29sZCxcclxuLmV2ZW50LWxvY2F0aW9uLmV2ZW50LWJhZGdlLS1nb2xkIHtcclxuXHRjb2xvcjogI2ZmZjtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiAkZ29sZDtcclxufVxyXG5cclxuLmV2ZW50LWJhZGdlLS1ncmVlbixcclxuLmV2ZW50LWxvY2F0aW9uLmV2ZW50LWJhZGdlLS1ncmVlbiB7XHJcblx0Y29sb3I6ICNmZmY7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogJGdyZWVuO1xyXG59XHJcblxyXG4uZXZlbnQtYmFkZ2UtLWJsdWUsXHJcbi5ldmVudC1sb2NhdGlvbi5ldmVudC1iYWRnZS0tYmx1ZSB7XHJcblx0Y29sb3I6ICNmZmY7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogJGJsdWU7XHJcbn1cclxuXHJcbi5ldmVudC1iYWRnZS0tcmVkLFxyXG4uZXZlbnQtbG9jYXRpb24uZXZlbnQtYmFkZ2UtLXJlZCB7XHJcblx0Y29sb3I6ICNmZmY7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogJHJlZDtcclxufVxyXG5cclxuLmV2ZW50LWJhZGdlLS1vcmFuZ2UsXHJcbi5ldmVudC1sb2NhdGlvbi5ldmVudC1iYWRnZS0tb3JhbmdlIHtcclxuXHRjb2xvcjogI2ZmZjtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiAkb3JhbmdlO1xyXG59XHJcblxyXG4uZXZlbnQtYmFkZ2UtLWRhcmstb3JhbmdlLFxyXG4uZXZlbnQtbG9jYXRpb24uZXZlbnQtYmFkZ2UtLWRhcmstb3JhbmdlIHtcclxuXHRjb2xvcjogI2ZmZjtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiAkZGFyay1vcmFuZ2U7XHJcbn1cclxuXHJcbi5ldmVudC1iYWRnZS0taWNvbiB7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XHJcblx0Ym9yZGVyLXJhZGl1czogMDtcclxuXHR3aWR0aDogcmVtLWNhbGMoNDIpO1xyXG5cdGhlaWdodDogcmVtLWNhbGMoNDIpO1xyXG5cdHBhZGRpbmc6IDA7XHJcblxyXG5cdHN2ZyB7XHJcblx0XHR3aWR0aDogcmVtLWNhbGMoNDIpO1xyXG5cdFx0aGVpZ2h0OiByZW0tY2FsYyg0Mik7XHJcblx0fVxyXG59XHJcblxyXG4uZXZlbnQtaW5mb19fdG9nZ2xlIHtcclxuXHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcblx0cG9zaXRpb246IHJlbGF0aXZlO1xyXG5cdHBhZGRpbmctbGVmdDogcmVtLWNhbGMoMTgpO1xyXG5cdGZvbnQtZmFtaWx5OiAkam9zZWZpbi1zYW5zO1xyXG5cdHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcblx0Y29sb3I6ICRhcXVhO1xyXG5cdGZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xyXG5cdGxpbmUtaGVpZ2h0OiByZW0tY2FsYygxNCk7XHJcblx0aGVpZ2h0OiByZW0tY2FsYygxNCk7XHJcblx0Zm9udC13ZWlnaHQ6IDYwMDtcclxuXHR0cmFuc2l0aW9uOiBjb2xvciAwLjNzO1xyXG5cclxuXHQmOmhvdmVyLFxyXG5cdCY6Zm9jdXMge1xyXG5cdFx0Y29sb3I6ICRibHVlO1xyXG5cdH1cclxuXHJcblx0Jjo6YmVmb3JlIHtcclxuXHRcdGNvbnRlbnQ6ICcnO1xyXG5cdFx0dGV4dC1hbGlnbjogY2VudGVyO1xyXG5cdFx0cG9zaXRpb246IGFic29sdXRlO1xyXG5cdFx0bGVmdDogMDtcclxuXHRcdHRvcDogLSByZW0tY2FsYygzKTtcclxuXHRcdHdpZHRoOiByZW0tY2FsYygxNCk7XHJcblx0XHRoZWlnaHQ6IHJlbS1jYWxjKDE0KTtcclxuXHRcdGJvcmRlci1yYWRpdXM6IHJlbS1jYWxjKDcpO1xyXG5cdFx0YmFja2dyb3VuZC1jb2xvcjogJGFxdWE7XHJcblx0XHR0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuM3M7XHJcblx0XHRiYWNrZ3JvdW5kLWltYWdlOiB1cmwoL2Rpc3QvaW1hZ2VzL2ljb24tcGx1cy5zdmcpO1xyXG5cdFx0YmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcclxuXHRcdGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciBjZW50ZXI7XHJcblx0fVxyXG5cclxuXHQmOmhvdmVyOjpiZWZvcmUge1xyXG5cdFx0YmFja2dyb3VuZC1jb2xvcjogJGJsdWU7XHJcblx0fVxyXG59XHJcblxyXG4uZXZlbnQtaW5mb19fdG9nZ2xlLS1vcGVuOjpiZWZvcmUge1xyXG5cdGJhY2tncm91bmQtaW1hZ2U6IHVybCgvZGlzdC9pbWFnZXMvaWNvbi1taW51cy5zdmcpO1xyXG59XHJcblxyXG4uZXZlbnQtaW5mb19fZGVzY3JpcHRpb24ge1xyXG5cdGRpc3BsYXk6IG5vbmU7XHJcblx0cGFkZGluZy10b3A6IHJlbS1jYWxjKDEwKTtcclxuXHRwYWRkaW5nLWJvdHRvbTogcmVtLWNhbGMoMjApO1xyXG5cclxuXHRwIHtcclxuXHRcdGZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xyXG5cdH1cclxufVxyXG5cclxuLnBhZ2UtZGF0YSB7XHJcblx0bWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMjApO1xyXG5cclxuXHRAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIGRvd24pIHtcclxuXHRcdHRleHQtYWxpZ246IGNlbnRlcjtcclxuXHR9XHJcbn1cclxuXHJcbi5wYWdlLWRhdGFfX3RvdGFsIHtcclxuXHRkaXNwbGF5OiBibG9jaztcclxuXHRjb2xvcjogJGRhcmstb3JhbmdlO1xyXG5cdGZvbnQtZmFtaWx5OiAkam9zZWZpbi1zYW5zO1xyXG5cdGZvbnQtd2VpZ2h0OiA2MDA7XHJcblx0Zm9udC1zaXplOiByZW0tY2FsYygzMik7XHJcblx0dGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxufVxyXG5cclxuLnBhZ2UtZGF0YV9fc3RhdHVzIHtcclxuXHRkaXNwbGF5OiBibG9jaztcclxuXHRmb250LXN0eWxlOiBpdGFsaWM7XHJcblx0Zm9udC1zaXplOiByZW0tY2FsYygxNCk7XHJcbn1cclxuXHJcbi5zZWFyY2gtYmxvY2sge1xyXG5cdG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDUwKTtcclxufVxyXG5cclxuLnNlYXJjaC1ibG9jayBoMyxcclxuLnNlYXJjaC1ibG9ja19fdG9nZ2xlIHtcclxuXHRkaXNwbGF5OiBibG9jaztcclxuXHR3aWR0aDogMTAwJTtcclxuXHR0ZXh0LWFsaWduOiBsZWZ0O1xyXG5cdGNvbG9yOiAjZmZmO1xyXG5cdHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcblx0Zm9udC1zaXplOiByZW0tY2FsYygyNCk7XHJcblx0Zm9udC1mYW1pbHk6ICRqb3NlZmluLXNhbnM7XHJcblx0Zm9udC13ZWlnaHQ6IDYwMDtcclxuXHRib3JkZXItYm90dG9tOiAycHggZG90dGVkO1xyXG5cdHBhZGRpbmctYm90dG9tOiByZW0tY2FsYyg1KTtcclxuXHRtYXJnaW4tYm90dG9tOiByZW0tY2FsYygyMCk7XHJcbn1cclxuXHJcbkBpbmNsdWRlIGJyZWFrcG9pbnQoNTAwIGRvd24pIHtcclxuXHQuc2VhcmNoLWJsb2NrX190b2dnbGUge1xyXG5cdFx0cGFkZGluZy1yaWdodDogcmVtLWNhbGMoNDApO1xyXG5cdH1cclxufVxyXG5cclxuLnNlYXJjaC1ibG9ja19fdG9nZ2xlLS1wbGFpbiB7XHJcblx0Ym9yZGVyLWJvdHRvbTogMDtcclxuXHRwYWRkaW5nLWJvdHRvbTogMDtcclxuXHRtYXJnaW4tYm90dG9tOiAwO1xyXG5cclxuXHQmOmZvY3VzIHtcclxuXHRcdG91dGxpbmU6IDA7XHJcblx0fVxyXG59XHJcblxyXG4uc2VhcmNoLWJsb2NrLm1vYmlsZS1zZWFyY2gtdG9nZ2xlIHtcclxuXHRkaXNwbGF5OiBub25lO1xyXG5cdG1hcmdpbi1ib3R0b206IDA7XHJcbn1cclxuXHJcbi5zZWFyY2gtYmxvY2stLWludmVydGVkIHtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiAkYmx1ZTtcclxuXHRtYXJnaW4tdG9wOiByZW0tY2FsYygxMjApO1xyXG5cdG1hcmdpbi1sZWZ0OiAtIHJlbS1jYWxjKDE1KTtcclxuXHRtYXJnaW4tcmlnaHQ6IC0gcmVtLWNhbGMoMTUpO1xyXG5cdHBhZGRpbmc6IHJlbS1jYWxjKDYwKSByZW0tY2FsYygxNSk7XHJcblx0Y29sb3I6ICNmZmY7XHJcblxyXG5cdGgzIHtcclxuXHRcdGNvbG9yOiAkZ29sZDtcclxuXHR9XHJcblxyXG5cdHAge1xyXG5cdFx0Zm9udC1zaXplOiByZW0tY2FsYygxNCk7XHJcblx0fVxyXG5cclxuXHQuYnRuLWdyb3VwIHtcclxuXHRcdG1hcmdpbi10b3A6IHJlbS1jYWxjKDIwKTtcclxuXHR9XHJcbn1cclxuXHJcbi5zZWFyY2gtYmxvY2tfX3RvZ2dsZSB7XHJcblx0cG9zaXRpb246IHJlbGF0aXZlO1xyXG5cdGN1cnNvcjogcG9pbnRlcjtcclxuXHJcblx0Jjo6YWZ0ZXIge1xyXG5cdFx0Y29udGVudDogJyc7XHJcblx0XHR0ZXh0LWFsaWduOiBjZW50ZXI7XHJcblx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XHJcblx0XHRyaWdodDogMDtcclxuXHRcdHRvcDogLSByZW0tY2FsYyg1KTtcclxuXHRcdHdpZHRoOiByZW0tY2FsYygzMik7XHJcblx0XHRoZWlnaHQ6IHJlbS1jYWxjKDMyKTtcclxuXHRcdGJvcmRlci1yYWRpdXM6IHJlbS1jYWxjKDE2KTtcclxuXHRcdGJhY2tncm91bmQtY29sb3I6ICRnb2xkO1xyXG5cdFx0dHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjNzO1xyXG5cdFx0YmFja2dyb3VuZC1pbWFnZTogdXJsKC9kaXN0L2ltYWdlcy9pY29uLXBsdXMtbGFyZ2Uuc3ZnKTtcclxuXHRcdGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XHJcblx0XHRiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgY2VudGVyO1xyXG5cdH1cclxuXHJcblx0Jjpob3Zlcjo6YWZ0ZXIge1xyXG5cdFx0YmFja2dyb3VuZC1jb2xvcjogJGJsdWU7XHJcblx0fVxyXG59XHJcblxyXG4udG9nZ2xlZC1vcGVuIC5zZWFyY2gtYmxvY2tfX3RvZ2dsZTo6YWZ0ZXIsXHJcbi5zZWFyY2gtYmxvY2tfX3RvZ2dsZS50b2dnbGVkLW9wZW46OmFmdGVyIHtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiAkYmx1ZTtcclxuXHRiYWNrZ3JvdW5kLWltYWdlOiB1cmwoL2Rpc3QvaW1hZ2VzL2ljb24tbWludXMtbGFyZ2Uuc3ZnKTtcclxufVxyXG5cclxuLnNlYXJjaC1ibG9ja19fY29udGVudCB7XHJcblx0ZGlzcGxheTogbm9uZTtcclxufVxyXG5cclxuLnNlYXJjaC1ibG9ja19fY29udGVudC0tdmlzaWJsZSB7XHJcblx0ZGlzcGxheTogYmxvY2s7XHJcbn1cclxuXHJcbi5zZWFyY2gtYmxvY2tfX2NoZWNrYm94IHtcclxuXHRkaXNwbGF5OiBibG9jaztcclxuXHRwYWRkaW5nLWxlZnQ6IHJlbS1jYWxjKDIwKTtcclxuXHR0ZXh0LWluZGVudDogLSByZW0tY2FsYygyMCk7XHJcblx0bWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoNSk7XHJcblx0Y29sb3I6ICNmZmY7XHJcblx0dGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuXHRmb250LWZhbWlseTogJGpvc2VmaW4tc2FucztcclxuXHRmb250LXdlaWdodDogNjAwO1xyXG5cclxuXHQmOmhvdmVyIHtcclxuXHRcdGNvbG9yOiAkZ29sZDtcclxuXHR9XHJcblxyXG5cdGlucHV0W3R5cGU9XCJjaGVja2JveFwiXSB7XHJcblx0XHR3aWR0aDogcmVtLWNhbGMoMjApO1xyXG5cdFx0aGVpZ2h0OiByZW0tY2FsYygyMCk7XHJcblx0XHRwYWRkaW5nOiAwO1xyXG5cdFx0bWFyZ2luOiAwIHJlbS1jYWxjKDEwKSAwIDA7XHJcblx0XHR2ZXJ0aWNhbC1hbGlnbjogYm90dG9tO1xyXG5cdFx0cG9zaXRpb246IHJlbGF0aXZlO1xyXG5cdFx0dG9wOiAtNHB4O1xyXG5cdH1cclxufVxyXG5cclxuLnNlYXJjaC1ibG9ja19fa2V5d29yZHMgaW5wdXQge1xyXG5cdGJvcmRlcjogMDtcclxuXHJcblx0Jjpmb2N1cyB7XHJcblx0XHRib3JkZXI6IDA7XHJcblx0fVxyXG5cclxuXHQmOjotbW96LXBsYWNlaG9sZGVyIHsgZm9udC1zdHlsZTogaXRhbGljOyB9XHJcblx0JjotbXMtaW5wdXQtcGxhY2Vob2xkZXIgeyBmb250LXN0eWxlOiBpdGFsaWM7IH1cclxuXHQmOjotd2Via2l0LWlucHV0LXBsYWNlaG9sZGVyICB7IGZvbnQtc3R5bGU6IGl0YWxpYzsgfVxyXG59XHJcblxyXG4uc2VhcmNoLWJsb2NrX19rZXl3b3JkcyAuYnRuIHtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiAkZ29sZDtcclxuXHRib3JkZXI6IDA7XHJcblx0Y29sb3I6ICRhcXVhO1xyXG5cdGJvcmRlci1yYWRpdXM6IDAgMCByZW0tY2FsYygyMCkgMCAhaW1wb3J0YW50O1xyXG59XHJcblxyXG4uc2VhcmNoLWJsb2NrIC5idG4tZ3JvdXAgLmJ0biB7XHJcblx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG5cdG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDEwKTtcclxufVxyXG5cclxuQGluY2x1ZGUgYnJlYWtwb2ludCAoJHR3by1jb2wtYnJlYWtwb2ludCBkb3duKSB7XHJcblx0Ly8gSGlkZSBjdGEgYmxvY2sgZm9yIHNtYWxsZXIgdmlld3BvcnRzXHJcblx0LnNpZGViYXItY3RhLWJsb2NrIHtcclxuXHRcdGRpc3BsYXk6IG5vbmU7XHJcblx0fVxyXG5cclxuXHQvLyBDb2xsYXBzZSBzZWFyY2hcclxuXHQuc2lkZWJhci1zZWFyY2gtY29udGFpbmVyIHtcclxuXHRcdGRpc3BsYXk6IG5vbmU7XHJcblx0XHRwYWRkaW5nLXRvcDogcmVtLWNhbGMoMzApO1xyXG5cdH1cclxuXHJcblx0Ly8gU2hvdyBtb2JpbGUgbmF2IHRvZ2dsZVxyXG5cdC5zZWFyY2gtYmxvY2subW9iaWxlLXNlYXJjaC10b2dnbGUge1xyXG5cdFx0ZGlzcGxheTogYmxvY2s7XHJcblx0fVxyXG59XHJcblxyXG5cclxuLyo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuPSAgICAgICAgICAgIEV2ZW50IERldGFpbCAgICAgICAgICAgID1cclxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ki9cclxuXHJcbi5ldmVudC1oZWFkaW5nIHtcclxuXHRAaW5jbHVkZSB4eS1ncmlkO1xyXG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHRwYWRkaW5nLWJvdHRvbTogcmVtLWNhbGMoNTApO1xyXG5cdG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDUwKTtcclxuXHRib3JkZXItYm90dG9tOiA0cHggc29saWQgJGxpZ2h0LWdyYXk7XHJcblx0cGFkZGluZy1sZWZ0OiByZW0tY2FsYygxNTUpO1xyXG5cclxuXHRAaW5jbHVkZSBicmVha3BvaW50KCR0d28tY29sLWJyZWFrcG9pbnQgZG93bikge1xyXG5cdFx0anVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xyXG5cdFx0cGFkZGluZy1sZWZ0OiAwO1xyXG5cdFx0cGFkZGluZy1ib3R0b206IHJlbS1jYWxjKDIwKTtcclxuXHRcdG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDIwKTtcclxuXHR9XHRcclxufVxyXG5cclxuLy8gT3ZlcnJpZGUgZXZlbnQtY2FyZF9fZGF0ZSAoZnJvbSBhYm92ZSlcclxuLmV2ZW50LWhlYWRpbmdfX2RhdGUge1xyXG5cdHRvcDogMDtcclxuICAgIHBhZGRpbmc6IHJlbS1jYWxjKDIwKSAwO1xyXG4gICAgd2lkdGg6IHJlbS1jYWxjKDExMCk7XHJcblxyXG4gICAgLm1vbnRoIHtcclxuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDIwKTtcclxuICAgICAgICBsaW5lLWhlaWdodDogcmVtLWNhbGMoMjApO1xyXG4gICAgfVxyXG5cclxuICAgIC5kYXkge1xyXG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoNDgpO1xyXG4gICAgICAgIGxpbmUtaGVpZ2h0OiByZW0tY2FsYyg0OCk7XHJcbiAgICB9XHJcblxyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkdHdvLWNvbC1icmVha3BvaW50IGRvd24pIHtcclxuICAgIFx0cG9zaXRpb246IHN0YXRpYztcclxuICAgIFx0ZmxvYXQ6IGxlZnQ7XHJcbiAgICB9XHJcbn1cclxuXHJcbi5ldmVudC1oZWFkaW5nX19pbmZvIHtcclxuXHRAaW5jbHVkZSB4eS1jZWxsKDguNCk7XHJcblx0dGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuXHRmb250LWZhbWlseTogJGpvc2VmaW4tc2FucztcclxuXHRmb250LXdlaWdodDogNjAwO1xyXG5cdGZvbnQtc2l6ZTogcmVtLWNhbGMoMjMpO1xyXG5cdGNvbG9yOiAkYmx1ZTtcclxuXHJcblx0cCB7XHJcblx0XHRtYXJnaW4tYm90dG9tOiAwO1xyXG5cdH1cclxuXHJcblx0QGluY2x1ZGUgYnJlYWtwb2ludCgkdHdvLWNvbC1icmVha3BvaW50IGRvd24pIHtcclxuXHRcdG9yZGVyOiAyO1xyXG5cdFx0d2lkdGg6IDEwMCU7XHJcblx0XHRmbG9hdDogbGVmdDtcclxuXHRcdGNsZWFyOiBsZWZ0O1xyXG5cdFx0bWFyZ2luLXRvcDogcmVtLWNhbGMoMjApO1xyXG5cdH1cclxufVxyXG5cclxuLmV2ZW50LWhlYWRpbmdfX2N0YSB7XHJcblx0QGluY2x1ZGUgeHktY2VsbCgzLjYpO1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcclxuXHJcblx0QGluY2x1ZGUgYnJlYWtwb2ludCgkdHdvLWNvbC1icmVha3BvaW50IGRvd24pIHtcclxuXHRcdG9yZGVyOiAxO1xyXG5cdFx0QGluY2x1ZGUgeHktY2VsbCg3KTtcclxuXHJcblx0XHRwIHtcclxuXHRcdFx0dGV4dC1hbGlnbjogcmlnaHQ7XHJcblx0XHRcdHdpZHRoOiAxMDAlO1xyXG5cdFx0fVxyXG5cdFx0LmJ0biB7XHJcblx0XHRcdGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuXHRcdH1cclxuXHR9XHJcbn1cclxuXHJcbi5kZXRhaWwtcGFnZS1jb250ZW50IHtcclxuXHRmb250LXNpemU6IHJlbS1jYWxjKDE4KTtcclxuXHRtYXJnaW4tYm90dG9tOiByZW0tY2FsYyg5MCk7XHJcbn1cclxuXHJcbi5ldmVudC1ub3RpY2Uge1xyXG5cdEBpbmNsdWRlIHh5LWdyaWQ7XHJcblx0bWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoOTApO1xyXG5cdGJhY2tncm91bmQtY29sb3I6ICRsaWdodC1ncmF5O1xyXG5cdHBhZGRpbmc6IHJlbS1jYWxjKDMwKTtcclxuXHJcblx0QGluY2x1ZGUgYnJlYWtwb2ludCgkdHdvLWNvbC1icmVha3BvaW50IGRvd24pIHtcclxuXHRcdG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDQ1KTtcclxuXHR9XHJcbn1cclxuXHJcbi5ldmVudC1ub3RpY2VfX2ljb24ge1xyXG5cdEBpbmNsdWRlIHh5LWNlbGwoMi41KTtcclxufVxyXG5cclxuLmV2ZW50LW5vdGljZV9fdGV4dCB7XHJcblx0QGluY2x1ZGUgeHktY2VsbCg4LjUpO1xyXG5cdGNvbG9yOiAkZGFyay1ncmF5O1xyXG5cdGZvbnQtc2l6ZTogcmVtLWNhbGMoMTgpO1xyXG5cdGZvbnQtZmFtaWx5OiAkb3Blbi1zYW5zO1xyXG5cdGZvbnQtc3R5bGU6IGl0YWxpYztcclxuXHRmb250LXdlaWdodDogNjAwO1xyXG59XHJcblxyXG5AaW5jbHVkZSBicmVha3BvaW50KCR0d28tY29sLWJyZWFrcG9pbnQgZG93bikge1xyXG5cdC5ldmVudC1kZXRhaWwgLmNvbnRlbnQtYmFuZC0tY29sbGFwc2UtcmlnaHQge1xyXG5cdFx0cGFkZGluZy1yaWdodDogJG1pbi1ndXR0ZXI7XHJcblx0fVxyXG59XHJcblxyXG4uYXJjaGl2ZWQtY2xhc3Mtc3VtbWFyeSB7XHJcblx0Zm9udC1zaXplOiByZW0tY2FsYygxOCk7XHJcblx0cGFkZGluZy1ib3R0b206IHJlbS1jYWxjKDUwKTtcclxuXHRtYXJnaW4tYm90dG9tOiByZW0tY2FsYyg1MCk7XHJcblx0Ym9yZGVyLWJvdHRvbTogNHB4IHNvbGlkICRsaWdodC1ncmF5O1xyXG5cclxuXHRwOmxhc3QtY2hpbGQge1xyXG5cdFx0bWFyZ2luLWJvdHRvbTogMDtcclxuXHR9XHJcbn1cclxuXHJcbi5hcmNoaXZlZC1jbGFzcy1zdW1tYXJ5LS1zdGFuZGFsb25lIHtcclxuXHRwYWRkaW5nLWJvdHRvbTogMDtcclxuXHRib3JkZXItYm90dG9tOiAwO1xyXG59XHJcblxyXG4uYXJjaGl2ZWQtY2xhc3MtcmVzb3VyY2Uge1xyXG5cdG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDUwKTtcclxuXHJcblx0YSB7XHJcblx0XHRjb2xvcjogJGJsdWU7XHJcblx0XHRmb250LXdlaWdodDogNzAwO1xyXG5cclxuXHRcdHNwYW4ge1xyXG5cdFx0XHR0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG5cdFx0fVxyXG5cdH1cclxufVxyXG5cclxuLyoqXHJcblx0QWx0ZXJuYXRlIENvbG9yIFNjaGVtZVxyXG4qKi9cclxuXHJcbi5ldmVudC1saXN0LS1ncmF5LWJhY2tncm91bmQge1xyXG5cdC5ldmVudC1jYXJkIHtcclxuXHRcdGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZTtcclxuXHRcdC5ldmVudC1jYXJkX190aXRsZSB7XHJcblx0XHRcdFx0Ym9yZGVyLWJvdHRvbS1jb2xvcjogJGxpZ2h0LWdyYXk7XHJcblx0XHR9XHJcblxyXG5cdFx0LmV2ZW50LWNhcmRfX2F1ZGllbmNlIC5ldmVudC1iYWRnZSB7XHJcblx0XHRcdFx0YmFja2dyb3VuZC1jb2xvcjogJGxpZ2h0LWdyYXk7XHJcblx0XHR9XHJcblx0fVxyXG59XHJcbiIsIi5zZWN0aW9uLWZhbWlseS1zdXBwb3J0LXN0YXRpc3RpY3Mge1xyXG4gICAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KCAxODBkZWcsIHJnYig1MSwxOTMsMjEwKSAwJSwgcmdiKDU4LDE0MSwxODMpIDEwMCUpOyAgXHJcbiAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiByZW1fY2FsYyg1MCk7XHJcbiAgICBib3JkZXItdG9wOiA0cHggc29saWQgJGdvbGQ7XHJcblxyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCAobWVkaXVtIHVwKSB7XHJcbiAgICAgICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogcmVtX2NhbGMoMTAwKTtcclxuICAgICAgICBwYWRkaW5nLXRvcDogcmVtX2NhbGMoNzIpO1xyXG4gICAgfVxyXG59XHJcblxyXG4uZmFtaWx5LXN1cHBvcnQtc3RhdGlzdGljc19fdXBwZXIge1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgZmxleC13cmFwOiB3cmFwO1xyXG4gICAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkICRibHVlO1xyXG59XHJcblxyXG4uZmFtaWx5LXN1cHBvcnQtc3RhdGlzdGljc19faW1nLXdyYXBwZXIge1xyXG4gICAgd2lkdGg6IDcwJTtcclxuICAgIG1hcmdpbi10b3A6IHJlbV9jYWxjKC03Mik7XHJcbiAgICBtYXJnaW4tYm90dG9tOiByZW1fY2FsYyg2MCk7XHJcblxyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCAobWVkaXVtIHVwKSB7XHJcbiAgICAgICAgd2lkdGg6IDM3LjUlO1xyXG4gICAgICAgIG1hcmdpbi10b3A6IHJlbV9jYWxjKC0xMTApO1xyXG4gICAgICAgIG1hcmdpbi1ib3R0b206IHJlbV9jYWxjKC0zMik7XHJcbiAgICB9XHJcblxyXG4gICAgLmZhbWlseS1zdXBwb3J0LXN0YXRpc3RpY3NfX2ltZy1jaXJjbGUtd3JhcHBlciB7XHJcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICBoZWlnaHQ6IGF1dG87XHJcbiAgICAgICAgcGFkZGluZy10b3A6IDEwMCU7XHJcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICAgIH1cclxuXHJcbiAgICBpbWcge1xyXG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICB0b3A6IDA7XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgICAgIG9iamVjdC1maXQ6IGNvdmVyO1xyXG4gICAgfVxyXG59XHJcblxyXG4uZmFtaWx5LXN1cHBvcnQtc3RhdGlzdGljc19fcXVvdGUge1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBjb2xvcjogd2hpdGU7XHJcbiAgICBib3JkZXItdG9wOiAycHggc29saWQgJGJsdWU7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICBwYWRkaW5nLXRvcDogcmVtX2NhbGMoNDgpO1xyXG4gICAgcGFkZGluZy1ib3R0b206IHJlbV9jYWxjKDU0KTtcclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQgKG1lZGl1bSB1cCkge1xyXG4gICAgICAgIHdpZHRoOiBjYWxjKDYyLjUlIC0gM3JlbSk7XHJcbiAgICAgICAgbWFyZ2luLWxlZnQ6IHJlbV9jYWxjKDQ4KTtcclxuICAgICAgICBwYWRkaW5nLWxlZnQ6IHJlbS1jYWxjKDY0KTtcclxuICAgICAgICBwYWRkaW5nLXRvcDogcmVtX2NhbGMoNjApO1xyXG4gICAgICAgIHBhZGRpbmctYm90dG9tOiByZW1fY2FsYyg2MCk7XHJcbiAgICB9XHJcblxyXG4gICAgJjo6YmVmb3JlIHtcclxuICAgICAgICBjb250ZW50OiAnJztcclxuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgdG9wOiByZW1fY2FsYygtMjgpO1xyXG4gICAgICAgIGxlZnQ6IDUwJTtcclxuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XHJcbiAgICAgICAgd2lkdGg6IHJlbV9jYWxjKDU2KTtcclxuICAgICAgICBoZWlnaHQ6IHJlbV9jYWxjKDU2KTtcclxuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoL2Rpc3QvaW1hZ2VzL2ljb24tcXVvdGUuc3ZnKTtcclxuICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xyXG4gICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcclxuXHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcclxuICAgICAgICAgICAgdHJhbnNmb3JtOiBub25lO1xyXG4gICAgICAgICAgICBsZWZ0OiByZW1fY2FsYygtMjgpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAucXVvdGUtdGV4dCB7XHJcbiAgICAgICAgZm9udC1zdHlsZTogaXRhbGljO1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XHJcbiAgICAgICAgZm9udC1zaXplOiByZW1fY2FsYygxOCk7XHJcbiAgICAgICAgbGluZS1oZWlnaHQ6IHJlbV9jYWxjKDI2KTtcclxuICAgICAgICBtYXJnaW4tYm90dG9tOiByZW1fY2FsYygzMik7XHJcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQgKG1lZGl1bSB1cCkge1xyXG4gICAgICAgICAgICBmb250LXdlaWdodDogNzAwO1xyXG4gICAgICAgICAgICBmb250LXNpemU6IHJlbV9jYWxjKDIwKTtcclxuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IHJlbV9jYWxjKDMwKTtcclxuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtX2NhbGMoMjQpO1xyXG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5xdW90ZS1hdHRyaWJ1dGlvbiB7XHJcbiAgICAgICAgZm9udC1mYW1pbHk6ICRqb3NlZmluLXNhbnM7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcclxuICAgICAgICBmb250LXNpemU6IHJlbV9jYWxjKDE2KTtcclxuICAgICAgICBsaW5lLWhlaWdodDogcmVtX2NhbGMoMjgpO1xyXG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQgKG1lZGl1bSB1cCkge1xyXG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLmZhbWlseS1zdXBwb3J0LXN0YXRpc3RpY3NfX2xvd2VyIHtcclxuICAgIGNvbG9yOiB3aGl0ZTtcclxuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgZmxleC13cmFwOiB3cmFwO1xyXG4gICAgcGFkZGluZy1ib3R0b206IHJlbV9jYWxjKDYwKTtcclxuXHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50IChtZWRpdW0gdXApIHtcclxuICAgICAgICBwYWRkaW5nLXRvcDogcmVtX2NhbGMoNzIpO1xyXG4gICAgICAgIHBhZGRpbmctYm90dG9tOiByZW1fY2FsYyg4Nik7XHJcbiAgICB9XHJcbn1cclxuXHJcbi5mYW1pbHktc3VwcG9ydC1zdGF0aXN0aWMge1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBwYWRkaW5nLWxlZnQ6IHJlbV9jYWxjKDYwKTtcclxuICAgIHBhZGRpbmctcmlnaHQ6IHJlbV9jYWxjKDYwKTtcclxuICAgIHBhZGRpbmctdG9wOiByZW1fY2FsYyg0OCk7XHJcblxyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCAobWVkaXVtIHVwKSB7XHJcbiAgICAgICAgd2lkdGg6IDMzLjMzJTtcclxuICAgICAgICBwYWRkaW5nOiAwO1xyXG4gICAgfVxyXG59XHJcblxyXG4uZmFtaWx5LXN1cHBvcnQtc3RhdGlzdGljX2lubmVyIHtcclxuICAgIGJvcmRlci1ib3R0b206IDJweCBkb3R0ZWQgd2hpdGU7XHJcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICBwYWRkaW5nLWJvdHRvbTogcmVtX2NhbGMoNDgpO1xyXG5cclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XHJcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogbm9uZTtcclxuICAgICAgICBib3JkZXItcmlnaHQ6IDJweCBkb3R0ZWQgd2hpdGU7XHJcbiAgICAgICAgcGFkZGluZy10b3A6IHJlbV9jYWxjKDQ4KTtcclxuICAgIH1cclxuXHJcbiAgICAmLm5vLWJvcmRlciB7XHJcbiAgICAgICAgYm9yZGVyOiBub25lO1xyXG4gICAgfVxyXG59XHJcblxyXG4uZmFtaWx5LXN1cHBvcnQtc3RhdGlzdGljX3F1YW50aXR5IHtcclxuICAgIGZvbnQtc2l6ZTogcmVtX2NhbGMoNzApO1xyXG4gICAgbGluZS1oZWlnaHQ6IDE7XHJcbiAgICBtYXJnaW4tYm90dG9tOiByZW1fY2FsYygxMik7XHJcblxyXG4gICAgc3VwIHtcclxuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDQwKTtcclxuICAgICAgICBsaW5lLWhlaWdodDogcmVtLWNhbGMoNDMpO1xyXG4gICAgfVxyXG59XHJcblxyXG4uZmFtaWx5LXN1cHBvcnQtc3RhdGlzdGljX2RldGFpbCB7XHJcbiAgICBmb250LWZhbWlseTogJGpvc2VmaW4tc2FucztcclxuICAgIGZvbnQtc2l6ZTogcmVtX2NhbGMoMjUpO1xyXG4gICAgbGluZS1oZWlnaHQ6IHJlbV9jYWxjKDI4KTtcclxuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcbiAgICBjb2xvcjogJGdvbGQ7XHJcbiAgICBtYXJnaW4tYm90dG9tOiByZW1fY2FsYygxMik7XHJcbn1cclxuXHJcbi5mYW1pbHktc3VwcG9ydC1zdGF0aXN0aWNfc3ViZGV0YWlsIHtcclxuICAgIGZvbnQtc2l6ZTogcmVtX2NhbGMoMjApO1xyXG4gICAgbGluZS1oZWlnaHQ6IHJlbV9jYWxjKDI4KTtcclxuICAgIG1hcmdpbi1ib3R0b206IDA7XHJcbn1cclxuXHJcbi5zZWN0aW9uLWZhbWlseS1zdXBwb3J0LXJlc291cmNlcyB7IFxyXG4gICAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IHJlbV9jYWxjKDUwKTtcclxuICAgIHBhZGRpbmctdG9wOiByZW1fY2FsYyg1Nik7XHJcbiAgICBwYWRkaW5nLWJvdHRvbTogcmVtX2NhbGMoODQpO1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XHJcblxyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCAobWVkaXVtIHVwKSB7XHJcbiAgICAgICAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IHJlbV9jYWxjKDEwMCk7XHJcbiAgICAgICAgcGFkZGluZy10b3A6IHJlbV9jYWxjKDExMCk7XHJcbiAgICAgICAgcGFkZGluZy1ib3R0b206IHJlbV9jYWxjKDEzMCk7XHJcbiAgICB9XHJcblxyXG4gICAgaDIge1xyXG4gICAgICAgIGZvbnQtZmFtaWx5OiAkam9zZWZpbi1zYW5zO1xyXG4gICAgICAgIGNvbG9yOiAkZGFyay1vcmFuZ2U7XHJcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgICAgZm9udC1zaXplOiByZW1fY2FsYyg0MCk7XHJcbiAgICAgICAgbGluZS1oZWlnaHQ6IHJlbV9jYWxjKDQwKTtcclxuICAgICAgICBtYXJnaW4tYm90dG9tOiByZW1fY2FsYygxMjQpO1xyXG5cclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50IChtZWRpdW0gdXApIHtcclxuICAgICAgICAgICAgZm9udC1zaXplOiByZW1fY2FsYyg1MSk7XHJcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiByZW1fY2FsYyg0Nik7XHJcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IHJlbV9jYWxjKDcwKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLmN0YS1vcmFuZ2Uge1xyXG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCg5MGRlZywgI2ZmOTMyMiAwJSwgI2ZmN2MxMSAyNCUsICNmZjY0MDAgMTAwJSk7XHJcbiAgICAgICAgcGFkZGluZy10b3A6IHJlbV9jYWxjKDcyKTtcclxuICAgICAgICBwYWRkaW5nLWJvdHRvbTogcmVtX2NhbGMoMzApO1xyXG4gICAgICAgIHBhZGRpbmctbGVmdDogcmVtX2NhbGMoNTYpO1xyXG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IHJlbV9jYWxjKDU2KTtcclxuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xyXG5cclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlIHVwKSB7XHJcbiAgICAgICAgICAgIHBhZGRpbmctdG9wOiByZW1fY2FsYyg2MCk7XHJcbiAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiByZW1fY2FsYyg1MCk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC5jdGEtb3JhbmdlX190ZXh0IHtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcclxuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCAobGFyZ2UgdXApIHtcclxuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGg1IHtcclxuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtX2NhbGMoNzIpO1xyXG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQgKGxhcmdlIHVwKSB7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IDM3LjUlO1xyXG4gICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLmN0YS1vcmFuZ2VfX2xpbmtzIHtcclxuICAgICAgICAgICAgZmxleC1ncm93OiAxO1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XHJcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XHJcbiAgICBcclxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCAobGFyZ2UgdXApIHtcclxuICAgICAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiByZW1fY2FsYygyNCk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC5jdGEtb3JhbmdlX19idXR0b24ge1xyXG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiByZW1fY2FsYyg0Mik7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkYmx1ZTtcclxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSB1cCkge1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiByZW1fY2FsYyg1Nik7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICAgICAgY29sb3I6ICRhcXVhO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4uZmFtaWx5LXN1cHBvcnQtcmVzb3VyY2VzIHtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBmbGV4LXdyYXA6IHdyYXA7XHJcblxyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCAobWVkaXVtIHVwKSB7XHJcbiAgICAgICAgbWFyZ2luLWxlZnQ6IHJlbV9jYWxjKC0xNik7XHJcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiByZW1fY2FsYygtMTYpO1xyXG4gICAgICAgIG1hcmdpbi1ib3R0b206IHJlbV9jYWxjKDgwKTtcclxuICAgIH1cclxufVxyXG5cclxuLnJlc291cmNlLXdyYXBwZXIge1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBtYXJnaW4tYm90dG9tOiByZW1fY2FsYyg5MCk7XHJcblxyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCAobWVkaXVtIHVwKSB7XHJcbiAgICAgICAgd2lkdGg6IDUwJTtcclxuICAgICAgICBwYWRkaW5nLWxlZnQ6IHJlbV9jYWxjKDE2KTtcclxuICAgICAgICBwYWRkaW5nLXJpZ2h0OiByZW1fY2FsYygxNik7XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtX2NhbGMoMjQpO1xyXG4gICAgfVxyXG59XHJcblxyXG4ucmVzb3VyY2Uge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGxpZ2h0LWdyYXk7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiByZW1fY2FsYyg1MCk7XHJcbiAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICBwYWRkaW5nLWxlZnQ6IHJlbV9jYWxjKDQ0KTtcclxuICAgIHBhZGRpbmctcmlnaHQ6IHJlbV9jYWxjKDQ0KTtcclxuICAgIHBhZGRpbmctYm90dG9tOiByZW1fY2FsYygyMCk7XHJcblxyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCAobWVkaXVtIHVwKSB7XHJcbiAgICAgICAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDA7XHJcbiAgICAgICAgcGFkZGluZy10b3A6IHJlbV9jYWxjKDU0KTtcclxuICAgICAgICBwYWRkaW5nLWJvdHRvbTogcmVtX2NhbGMoMzApO1xyXG5cclxuICAgICAgICAmLnJvdW5kZWQtdG9wLWxlZnQge1xyXG4gICAgICAgICAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiByZW1fY2FsYyg1MCk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICYucm91bmRlZC10b3AtcmlnaHQge1xyXG4gICAgICAgICAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogcmVtX2NhbGMoNTApO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmLnJvdW5kZWQtYm90dG9tLWxlZnQge1xyXG4gICAgICAgICAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiByZW1fY2FsYyg1MCk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICYucm91bmRlZC1ib3R0b20tcmlnaHQge1xyXG4gICAgICAgICAgICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogcmVtX2NhbGMoNTApO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBpbWcge1xyXG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50IChtZWRpdW0gdXApIHtcclxuICAgICAgICAgICAgdHJhbnNmb3JtOiBub25lO1xyXG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiByZW1fY2FsYygzMik7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4ucmVzb3VyY2VfX2hlYWRpbmcge1xyXG4gICAgZm9udC1mYW1pbHk6ICRqb3NlZmluLXNhbnM7XHJcbiAgICBmb250LXdlaWdodDogYm9sZDtcclxuICAgIGZvbnQtc2l6ZTogcmVtX2NhbGMoMjYpO1xyXG4gICAgbGluZS1oZWlnaHQ6IHJlbV9jYWxjKDI4KTtcclxuICAgIGNvbG9yOiAkYmx1ZTtcclxuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICB3aWR0aDogMTAwJTtcclxufVxyXG5cclxuLnJlc291cmNlX19kZXNjcmlwdGlvbiB7XHJcbiAgICBmb250LXdlaWdodDogNjAwO1xyXG4gICAgZm9udC1zaXplOiByZW1fY2FsYygyMCk7XHJcbiAgICBsaW5lLWhlaWdodDogcmVtX2NhbGMoMzApO1xyXG4gICAgY29sb3I6ICRtZWRpdW0tZ3JheTtcclxuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgIG1hcmdpbi1ib3R0b206IHJlbV9jYWxjKDQ0KTtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG59XHJcblxyXG4ucmVzb3VyY2VfX2xpbmtzLXdyYXBwZXIge1xyXG4gICAgY29sdW1uLWdhcDogcmVtX2NhbGMoMzIpO1xyXG5cclxuICAgICYudHdvLXVwIHtcclxuICAgICAgICBjb2x1bW4tY291bnQ6IDI7XHJcbiAgICB9XHJcbiAgICAmLnRocmVlLXVwIHtcclxuICAgICAgICBjb2x1bW4tY291bnQ6IDI7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCAobGFyZ2UgdXApIHtcclxuICAgICAgICAgICAgY29sdW1uLWNvdW50OiAzO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAmLnR3by11cCwgJi50aHJlZS11cCB7XHJcbiAgICAgICAgLnJlc291cmNlX19saW5rIHtcclxuICAgICAgICAgICAgd2lkdGg6IHJlbV9jYWxjKDEzMik7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4ucmVzb3VyY2VfX2xpbmstd3JhcHBlciB7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgIGJyZWFrLWluc2lkZTogYXZvaWQ7XHJcbn1cclxuXHJcbi5yZXNvdXJjZV9fbGluayB7XHJcbiAgICBmb250LWZhbWlseTogJGpvc2VmaW4tc2FucztcclxuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xyXG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuICAgIGZvbnQtc2l6ZTogcmVtX2NhbGMoMTYpO1xyXG4gICAgbGluZS1oZWlnaHQ6IHJlbV9jYWxjKDE4KTtcclxuICAgIGNvbG9yOiB3aGl0ZTtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICRhcXVhO1xyXG4gICAgYm9yZGVyLXJhZGl1czogcmVtX2NhbGMoMTkpO1xyXG4gICAgcGFkZGluZy1sZWZ0OiByZW1fY2FsYygxNik7XHJcbiAgICBwYWRkaW5nLXJpZ2h0OiByZW1fY2FsYygxNik7XHJcbiAgICBwYWRkaW5nLXRvcDogcmVtX2NhbGMoOCk7XHJcbiAgICBwYWRkaW5nLWJvdHRvbTogcmVtX2NhbGMoNCk7XHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgIG1hcmdpbi1ib3R0b206IHJlbV9jYWxjKDI0KTtcclxuICAgIHRyYW5zaXRpb246IGFsbCAwLjNzO1xyXG4gICAgJjpob3ZlciB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGJsdWU7XHJcbiAgICB9XHJcbn1cclxuXHJcbi5ibHVlLXNpZGViYXJfX2ZhbWlseS1zdXBwb3J0IHtcclxuICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xyXG5cclxuICAgIC5idG4tZ29sZCB7XHJcbiAgICAgICAgY29sb3I6ICRibHVlO1xyXG4gICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcclxuICAgICAgICAgICAgY29sb3I6ICRhcXVhO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLmZhbWlseS1zdXBwb3J0LXBhZ2UtYnVpbGRlciB7XHJcblxyXG4gICAgLnNlY3Rpb24tYWNjb3JkaW9uIHtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbGlnaHQtZ3JheTtcclxuICAgICAgICBwYWRkaW5nLWxlZnQ6IHJlbV9jYWxjKDE2KTtcclxuICAgICAgICBwYWRkaW5nLXJpZ2h0OiByZW1fY2FsYygxNik7XHJcbiAgICAgICAgcGFkZGluZy10b3A6IHJlbV9jYWxjKDU0KTtcclxuICAgICAgICBwYWRkaW5nLWJvdHRvbTogcmVtX2NhbGMoNTQpO1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XHJcbiAgICAgICAgICAgIHBhZGRpbmctdG9wOiByZW1fY2FsYyg4MCk7XHJcbiAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiByZW1fY2FsYyg4MCk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC5hY2NvcmRpb24tZ3JvdXAtd3JhcHBlciB7XHJcbiAgICAgICAgLmFjY29yZGlvbi1ncm91cF9fdGl0bGUge1xyXG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiByZW1fY2FsYygzMik7XHJcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiAzMDA7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkYXF1YTtcclxuICAgICAgICAgICAgZm9udC1zaXplOiByZW1fY2FsYyg0MCk7XHJcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiByZW1fY2FsYyg0NSk7XHJcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b206IG5vbmU7XHJcbiAgICAgICAgICAgIHN0cm9uZyB7XHJcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogNzAwO1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xyXG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiByZW1fY2FsYyg1MSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC5hY2NvcmRpb24taXRlbSB7XHJcbiAgICAgICAgICAgIC5hY2NvcmRpb24tdGl0bGUge1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLXRvcDogcmVtX2NhbGMoMTIpO1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IHJlbV9jYWxjKDEyKTtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgLmFjY29yZGlvbi1jb250ZW50IHtcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRsaWdodC1ncmF5O1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZzogcmVtX2NhbGMoMjApO1xyXG5cclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQgKG1lZGl1bSB1cCkge1xyXG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogcmVtX2NhbGMoNjApO1xyXG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IHJlbV9jYWxjKDYwKTtcclxuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLXRvcDogcmVtX2NhbGMoMzIpO1xyXG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiByZW1fY2FsYygzMik7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICBoNiB7XHJcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiByZW1fY2FsYygxOCk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICBhIHtcclxuICAgICAgICAgICAgICAgICAgICBjb2xvcjogJGJsdWU7XHJcbiAgICAgICAgICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLmFjY29yZGlvbiB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGxpZ2h0LWdyYXk7XHJcbiAgICB9XHJcblxyXG4gICAgbGkgPiBzdHJvbmcge1xyXG4gICAgICAgIGNvbG9yOiAkYmx1ZTtcclxuICAgIH1cclxufVxyXG5cclxuLnJlZ2lvbnMge1xyXG4gICAgbWFyZ2luLWxlZnQ6IDA7XHJcbiAgICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XHJcbn1cclxuXHJcbi5saS1yZWdpb24ge1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBoZWlnaHQ6IHJlbV9jYWxjKDQwKTtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICRsaWdodC1ncmF5O1xyXG4gICAgbWFyZ2luLWJvdHRvbTogcmVtX2NhbGMoMjQpO1xyXG4gICAgZm9udC1mYW1pbHk6ICRqb3NlZmluLXNhbnM7XHJcbiAgICBmb250LXdlaWdodDogNzAwO1xyXG4gICAgZm9udC1zaXplOiByZW1fY2FsYygxOCk7XHJcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG4gICAgbGluZS1oZWlnaHQ6IDIuNjtcclxuICAgIHBhZGRpbmctbGVmdDogcmVtX2NhbGMoNDgpO1xyXG5cclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XHJcbiAgICAgICAgZm9udC1zaXplOiByZW1fY2FsYygyNSk7XHJcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuODtcclxuICAgIH1cclxuXHJcbiAgICAmOjpiZWZvcmUge1xyXG5cdFx0Y29udGVudDogJyc7XHJcblx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XHJcblx0XHRsZWZ0OiAwO1xyXG5cdFx0d2lkdGg6IHJlbS1jYWxjKDQwKTtcclxuXHRcdGhlaWdodDogcmVtLWNhbGMoNDApO1xyXG5cdFx0YmFja2dyb3VuZC1jb2xvcjogJGdvbGQ7XHJcblx0XHRiYWNrZ3JvdW5kLWltYWdlOiB1cmwoL2Rpc3QvaW1hZ2VzL2ljb24tcGx1cy1sYXJnZS13aGl0ZS5zdmcpO1xyXG5cdFx0YmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcclxuXHRcdGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciBjZW50ZXI7XHJcbiAgICB9XHJcblxyXG4gICAgYSB7XHJcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgIGNvbG9yOiAkYmx1ZTtcclxuICAgIH1cclxufVxyXG5cclxuLmxpLXJlZ2lvbi1ibHVlIHtcclxuICAgICY6OmJlZm9yZSB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGFxdWE7XHJcbiAgICB9XHJcblxyXG4gICAgYSB7XHJcbiAgICAgICAgY29sb3I6ICRhcXVhO1xyXG4gICAgICAgICY6aG92ZXIsICY6Zm9jdXMge1xyXG4gICAgICAgICAgICBjb2xvcjogbGlnaHRlbigkYXF1YSwgMTAlKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi5saS1yZWdpb24tZGFyay1vcmFuZ2Uge1xyXG4gICAgJjo6YmVmb3JlIHtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZGFyay1vcmFuZ2U7XHJcbiAgICB9XHJcblxyXG4gICAgYSB7XHJcbiAgICAgICAgY29sb3I6ICRkYXJrLW9yYW5nZTtcclxuICAgICAgICAmOmhvdmVyLCAmOmZvY3VzIHtcclxuICAgICAgICAgICAgY29sb3I6IGxpZ2h0ZW4oJGRhcmstb3JhbmdlLCAxMCUpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLmxpLXJlZ2lvbi1vcmFuZ2Uge1xyXG4gICAgJjo6YmVmb3JlIHtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkb3JhbmdlO1xyXG4gICAgfVxyXG5cclxuICAgIGEge1xyXG4gICAgICAgIGNvbG9yOiAkb3JhbmdlO1xyXG4gICAgICAgICY6aG92ZXIsICY6Zm9jdXMge1xyXG4gICAgICAgICAgICBjb2xvcjogbGlnaHRlbigkb3JhbmdlLCAxMCUpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLmxpLXJlZ2lvbi1ncmF5IHtcclxuICAgICY6OmJlZm9yZSB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJG1lZGl1bS1ncmF5O1xyXG4gICAgfVxyXG5cclxuICAgIGEge1xyXG4gICAgICAgIGNvbG9yOiAkbWVkaXVtLWdyYXk7XHJcbiAgICAgICAgJjpob3ZlciwgJjpmb2N1cyB7XHJcbiAgICAgICAgICAgIGNvbG9yOiBsaWdodGVuKCRtZWRpdW0tZ3JheSwgMTAlKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi5saS1yZWdpb24tZGFyay1ibHVlIHtcclxuICAgICY6OmJlZm9yZSB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGJsdWU7XHJcbiAgICB9XHJcblxyXG4gICAgYSB7XHJcbiAgICAgICAgY29sb3I6ICRibHVlO1xyXG4gICAgICAgICY6aG92ZXIsICY6Zm9jdXMge1xyXG4gICAgICAgICAgICBjb2xvcjogbGlnaHRlbigkYmx1ZSwgMTAlKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi5saS1yZWdpb24tYmxhY2sge1xyXG4gICAgJjo6YmVmb3JlIHtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmxhY2s7XHJcbiAgICB9XHJcblxyXG4gICAgYSB7XHJcbiAgICAgICAgY29sb3I6ICRibGFjaztcclxuICAgICAgICAmOmhvdmVyLCAmOmZvY3VzIHtcclxuICAgICAgICAgICAgY29sb3I6IGxpZ2h0ZW4oJGJsYWNrLCAxMCUpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLmxpLXJlZ2lvbi15ZWxsb3cge1xyXG4gICAgJjo6YmVmb3JlIHtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZ29sZDtcclxuICAgIH1cclxuXHJcbiAgICBhIHtcclxuICAgICAgICBjb2xvcjogZGFya2VuKCRnb2xkLCAxMCUpO1xyXG4gICAgICAgICY6aG92ZXIsICY6Zm9jdXMge1xyXG4gICAgICAgICAgICBjb2xvcjogbGlnaHRlbigkZ29sZCwgMCUpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLmxpLXJlZ2lvbi1yZWQge1xyXG4gICAgJjo6YmVmb3JlIHtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcmVkO1xyXG4gICAgfVxyXG5cclxuICAgIGEge1xyXG4gICAgICAgIGNvbG9yOiAkcmVkO1xyXG4gICAgICAgICY6aG92ZXIsICY6Zm9jdXMge1xyXG4gICAgICAgICAgICBjb2xvcjogbGlnaHRlbigkcmVkLCAxMCUpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLnNlY3Rpb24tZmFtaWx5LXN1cHBvcnQtcmVnaW9uIHtcclxuICAgIC53cmFwcGVyIHtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGZsZXgtd3JhcDogd3JhcDtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xyXG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93LXJldmVyc2U7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4ucmVnaW9uLWxpc3Qtd3JhcHBlciB7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIHBhZGRpbmctYm90dG9tOiByZW1fY2FsYyg0MCk7XHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xyXG4gICAgICAgIHdpZHRoOiA2MCU7XHJcbiAgICAgICAgcGFkZGluZy10b3A6IHJlbV9jYWxjKDgwKTtcclxuICAgICAgICBwYWRkaW5nLWJvdHRvbTogcmVtX2NhbGMoODQpO1xyXG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IHJlbV9jYWxjKDMyKTtcclxuICAgICAgICBwIHtcclxuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtX2NhbGMoNDgpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLnJlZ2lvbi1tYXAtd3JhcHBlciB7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIG1hcmdpbi10b3A6IHJlbV9jYWxjKC02MCk7XHJcbiAgICBtYXJnaW4tYm90dG9tOiByZW1fY2FsYyg0OCk7XHJcbiAgICBzdmcge1xyXG4gICAgICAgIHdpZHRoOiA3NSU7XHJcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgfVxyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcclxuICAgICAgICB3aWR0aDogNDAlO1xyXG4gICAgICAgIG1hcmdpbi10b3A6IHJlbV9jYWxjKC03Mik7XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcclxuICAgICAgICBwYWRkaW5nLWxlZnQ6IHJlbV9jYWxjKDMyKTtcclxuICAgICAgICBcclxuICAgICAgICBzdmcge1xyXG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgbWF4LWhlaWdodDogcmVtX2NhbGMoNTYwKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgcG9seWdvbi5kYXJrLWdyYXksIC5ib2R5LW9mLXdhdGVyLmRhcmstZ3JheSB7XHJcbiAgICAgICAgZmlsbDogJGRhcmstZ3JheTtcclxuICAgIH1cclxufVxyXG5cclxuLnJlZ2lvbi1jb2xvcmFkbyB7XHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xyXG4gICAgICAgIC5yZWdpb24tbGlzdC13cmFwcGVyLCAucmVnaW9uLW1hcC13cmFwcGVyIHtcclxuICAgICAgICAgICAgd2lkdGg6IDUwJTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC5yZWdpb24tbWFwLXdyYXBwZXIge1xyXG4gICAgICAgICAgICBtYXJnaW4tdG9wOiByZW1fY2FsYygtMTQ0KTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCg2NDBweCkgeyBcclxuICAgICAgICAucmVnaW9uLWxpc3Qtd3JhcHBlcntcclxuICAgICAgICAgICAgd2lkdGg6IDcwJTtcclxuICAgICAgICB9XHJcbiAgICAgICAgLnJlZ2lvbi1tYXAtd3JhcHBlciB7XHJcbiAgICAgICAgICAgIHdpZHRoOiAzMCU7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoNzUwcHgpIHsgXHJcbiAgICAgICAgLnJlZ2lvbi1saXN0LXdyYXBwZXIsIHtcclxuICAgICAgICAgICAgd2lkdGg6IDYwJTtcclxuICAgICAgICB9XHJcbiAgICAgICAgIC5yZWdpb24tbWFwLXdyYXBwZXJ7XHJcbiAgICAgICAgICAgIHdpZHRoOiA0MCU7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4ucmVnaW9uLW1vZGFsIHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoJGJsdWUsIDAuOSk7XHJcbiAgICB0b3A6IDBweCAhaW1wb3J0YW50O1xyXG59XHJcblxyXG4ucmVnaW9uLW1vZGFsLXRyaWdnZXIge1xyXG4gICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gICAgXHJcbiAgICAmOmZvY3VzIHtcclxuICAgICAgICBvdXRsaW5lOiBub25lO1xyXG4gICAgfVxyXG59XHJcblxyXG4ucmV2ZWFsIC5yZWdpb24tbW9kYWxfX2NvbnRlbnR7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbGlnaHQtZ3JheTtcclxuICAgIHBhZGRpbmc6IHJlbV9jYWxjKDMwKSByZW1fY2FsYygyMCk7XHJcbiAgICBtYXgtd2lkdGg6IHJlbS1jYWxjKDkzMik7XHJcbiAgICBtYXJnaW46IDAgYXV0bztcclxuXHJcbiAgICBwIGEsIFxyXG4gICAgbGkgYSB7XHJcbiAgICAgICAgY29sb3I6ICRhcXVhO1xyXG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xyXG4gICAgfVxyXG5cclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQgKG1lZGl1bSB1cCkge1xyXG4gICAgICAgIHBhZGRpbmc6IHJlbV9jYWxjKDc2KSByZW1fY2FsYyg1NCk7XHJcbiAgICAgICAgbGVmdDogcmVtX2NhbGMoMTgwKTtcclxuICAgICAgICByaWdodDogcmVtX2NhbGMoMTgwKTtcclxuICAgICAgICBtYXJnaW4tYm90dG9tOiAxcmVtO1xyXG4gICAgfVxyXG59XHJcblxyXG4ucmVnaW9uLW1vZGFsX19oZWFkZXIge1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcclxuICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xyXG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHdoaXRlO1xyXG4gICAgbWFyZ2luLWJvdHRvbTogcmVtX2NhbGMoMTYpO1xyXG5cclxuICAgIGgyLCAuY2xvc2UtYnV0dG9uIHtcclxuICAgICAgICBjb2xvcjogJGFxdWE7XHJcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuICAgICAgICBmb250LWZhbWlseTogJGpvc2VmaW4tc2FucztcclxuICAgICAgICBmb250LXdlaWdodDogNzAwO1xyXG4gICAgfVxyXG5cclxuICAgIGgyIHtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xyXG4gICAgICAgICAgICBmb250LXNpemU6IHJlbV9jYWxjKDM0KTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLmNsb3NlLWJ1dHRvbiB7XHJcbiAgICAgICAgZm9udC1zaXplOiByZW1fY2FsYygyMik7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBhbGlnbi1pdGVtczogZmxleC1lbmQ7XHJcbiAgICAgICAgcG9zaXRpb246IHN0YXRpYztcclxuXHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCg1MDAgZG93bikge1xyXG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICAgIHRvcDogcmVtLWNhbGMoLTEwKTtcclxuICAgICAgICAgICAgcmlnaHQ6IDA7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHN2ZyB7XHJcbiAgICAgICAgbWFyZ2luLWxlZnQ6IHJlbV9jYWxjKDE2KTtcclxuICAgIH1cclxuXHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KDUwMCBkb3duKSB7XHJcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgcGFkZGluZy10b3A6IHJlbS1jYWxjKDYwKTtcclxuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICB9XHJcbn1cclxuXHJcbi5yZWdpb24tbW9kYWxfX2NvdW50aWVzIHtcclxuICAgIGZvbnQtc2l6ZTogcmVtX2NhbGMoMTYpO1xyXG4gICAgZm9udC1zdHlsZTogaXRhbGljO1xyXG4gICAgY29sb3I6ICRtZWRpdW0tZ3JheTtcclxufVxyXG5cclxuLnJlZ2lvbi1tb2RhbF9fZGVzY3JpcHRpb24ge1xyXG4gICAgZm9udC1zaXplOiByZW1fY2FsYygxOCk7XHJcbiAgICBtYXJnaW4tYm90dG9tOiByZW1fY2FsYygzNik7XHJcbn1cclxuXHJcbi5yZWdpb24tbW9kYWxfX3ByYWN0aXRpb25lci1pbmZvIHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xyXG4gICAgcGFkZGluZzogcmVtX2NhbGMoMjgpIHJlbV9jYWxjKDE2KTtcclxuICAgIG1hcmdpbi1ib3R0b206IHJlbV9jYWxjKDMyKTtcclxuICAgIFxyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcclxuICAgICAgICB3aWR0aDogNTAlO1xyXG4gICAgfVxyXG5cclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoNDAwIGRvd24pIHtcclxuICAgICAgICBvdmVyZmxvdy13cmFwOiBicmVhay13b3JkO1xyXG4gICAgfVxyXG59XHJcblxyXG4ucHJhY3RpdGlvbmVyLWhlYWRpbmcge1xyXG4gICAgZm9udC1zaXplOiByZW1fY2FsYygxNik7XHJcbiAgICBmb250LXN0eWxlOiBpdGFsaWM7XHJcbiAgICBjb2xvcjogJG1lZGl1bS1ncmF5O1xyXG4gICAgbWFyZ2luLWJvdHRvbTogcmVtX2NhbGMoOCk7XHJcbn1cclxuXHJcbi5wcmFjdGl0aW9uZXItbmFtZSB7XHJcbiAgICBmb250LWZhbWlseTogJGpvc2VmaW4tc2FucztcclxuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XHJcbiAgICBjb2xvcjogJGJsdWU7XHJcbiAgICBmb250LXNpemU6IHJlbV9jYWxjKDIwKTtcclxuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcbiAgICBtYXJnaW4tYm90dG9tOiByZW1fY2FsYyg4KTtcclxufVxyXG5cclxuLnByYWN0aXRpb25lci1waG9uZSwgLnByYWN0aXRpb25lci1lbWFpbCB7XHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XHJcbiAgICBjb2xvcjogJGRhcmstZ3JheTtcclxuICAgIGZvbnQtc2l6ZTogcmVtX2NhbGMoMTgpO1xyXG59XHJcblxyXG4ucHJhY3RpdGlvbmVyLXBob25lIHtcclxuICAgIGNvbG9yOiAkZGFyay1ncmF5O1xyXG4gICAgbWFyZ2luLWJvdHRvbTogcmVtX2NhbGMoOCk7XHJcbn1cclxuXHJcbi5wcmFjdGl0aW9uZXItZW1haWwge1xyXG4gICAgY29sb3I6ICRhcXVhO1xyXG59XHJcblxyXG4ucmVnaW9uLW1vZGFsX19hZGRpdGlvbmFsLWxpbmtzIHtcclxuICAgIGEge1xyXG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgIGZvbnQtZmFtaWx5OiAkam9zZWZpbi1zYW5zO1xyXG4gICAgICAgIGZvbnQtc2l6ZTogcmVtX2NhbGMoMTYpO1xyXG4gICAgICAgIGNvbG9yOiAkYmx1ZTtcclxuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG4gICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB3aGl0ZTtcclxuICAgICAgICBtYXJnaW4tYm90dG9tOiByZW1fY2FsYyg4KTtcclxuXHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCAobWVkaXVtIHVwKSB7XHJcbiAgICAgICAgICAgIG1heC13aWR0aDogNTYlO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgJjpsYXN0LW9mLXR5cGUge1xyXG4gICAgICAgICAgICBib3JkZXItYm90dG9tOiBub25lO1xyXG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgc3ZnIHtcclxuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IHJlbV9jYWxjKDE2KTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn0iLCIvKi0tLS0tLS0tLS0gIEdldCBJbnZvbHZlZCAgLS0tLS0tLS0tLSovXHJcblxyXG4uZ2V0LWludm9sdmVkLXBhZ2Uge1xyXG5cdC8qIC0tLSBQYWdlIEJ1aWxkZXIgT3ZlcnJpZGVzIC0tLSovXHJcblx0LmJveGVzOm5vdCguYm94ZXMtd2l0aC1iYWNrZ3JvdW5kKSAuYm94ZXNfX2JveCAuYm94X19jdGEgLmJ0biB7XHJcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkYmx1ZTtcclxuXHRcdGNvbG9yOiAkZ29sZDtcclxuXHJcblx0XHQmOmhvdmVyLFxyXG5cdFx0Jjpmb2N1cyB7XHJcblx0XHRcdGJhY2tncm91bmQtY29sb3I6ICRhcXVhO1xyXG5cdFx0XHRjb2xvcjogJHdoaXRlO1xyXG5cdFx0fVxyXG5cdH1cclxufVxyXG5cclxuLmdldC1pbnZvbHZlZC1vcHRpb25zIHtcclxuXHRiYWNrZ3JvdW5kLXBvc2l0aW9uOiB0b3AgY2VudGVyO1xyXG5cdGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XHJcblx0LXdlYmtpdC1iYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xyXG5cdC1tb3otYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcclxuXHQtby1iYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xyXG5cdGJhY2tncm91bmQtc2l6ZTogY292ZXI7XHJcblxyXG5cdC53cmFwcGVyIHtcclxuXHRcdHBhZGRpbmctdG9wOiByZW0tY2FsYyg4MCk7XHJcblx0XHRwYWRkaW5nLWJvdHRvbTogcmVtLWNhbGMoMTAwKTtcclxuXHRcdGNvbG9yOiAkd2hpdGU7XHJcblx0XHRvdmVyZmxvdzogaGlkZGVuO1xyXG5cclxuXHRcdGhlYWRlciB7XHJcblx0XHRcdGZvbnQtc2l6ZTogcmVtLWNhbGMoMjApO1xyXG5cdFx0XHRsaW5lLWhlaWdodDogcmVtLWNhbGMoMjgpO1xyXG5cdFx0fVxyXG5cclxuXHRcdC5vcHRpb25zX19oZWFkZXIge1xyXG5cdFx0XHRib3JkZXItYm90dG9tOiAxcHggc29saWQgJGdvbGQ7XHJcblx0XHRcdGZvbnQtc2l6ZTogcmVtLWNhbGMoMjApO1xyXG5cdFx0XHRsaW5lLWhlaWdodDogcmVtLWNhbGMoMjYpO1xyXG5cclxuXHRcdFx0bWFyZ2luLXRvcDogcmVtLWNhbGMoNTQpO1xyXG5cdFx0XHRtYXJnaW4tYm90dG9tOiByZW0tY2FsYyg0MCk7XHJcblxyXG5cdFx0XHRoMiB7XHJcblx0XHRcdFx0Y29sb3I6ICRnb2xkO1xyXG5cdFx0XHRcdGZvbnQtc2l6ZTogcmVtLWNhbGMoNTApO1xyXG5cdFx0XHRcdGxpbmUtaGVpZ2h0OiByZW0tY2FsYyg1Mik7XHJcblx0XHRcdFx0bWFyZ2luLWJvdHRvbTogMDtcclxuXHRcdFx0XHR0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG5cclxuXHRcdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIGRvd24pIHtcclxuXHRcdFx0XHRcdGZvbnQtc2l6ZTogcmVtLWNhbGMoNDIpO1xyXG5cdFx0XHRcdFx0bGluZS1oZWlnaHQ6IHJlbS1jYWxjKDQ2KTtcclxuXHRcdFx0XHR9XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHJcblx0XHQub3B0aW9uc19fYm94ZXMge1xyXG5cdFx0XHQkb3B0aW9ucy1ndXR0ZXI6IHJlbS1jYWxjKDQwKTtcclxuXHRcdFx0QGluY2x1ZGUgeHktZ3JpZCgpO1xyXG5cdFx0XHRAaW5jbHVkZSBncmlkLXJvdy1uZXN0KCRvcHRpb25zLWd1dHRlcik7XHJcblx0XHJcblx0XHRcdC5vcHRpb25zX19ib3hlc19fYm94IHtcclxuXHRcdFx0XHRAaW5jbHVkZSB4eS1jZWxsKDQsICRndXR0ZXJzOiAkb3B0aW9ucy1ndXR0ZXIpO1xyXG5cclxuXHRcdFx0XHRmb250LXNpemU6IHJlbS1jYWxjKDE2KTtcclxuXHRcdFx0XHRsaW5lLWhlaWdodDogcmVtLWNhbGMoMjYpO1xyXG5cclxuXHRcdFx0XHQmOm50aC1jaGlsZChuKzQpIHtcclxuXHRcdFx0XHRcdHBhZGRpbmctdG9wOiByZW0tY2FsYyg0MCk7XHJcblx0XHRcdFx0fVxyXG5cclxuXHRcdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XHJcblx0XHRcdFx0XHRAaW5jbHVkZSB4eS1jZWxsKDYsICRndXR0ZXJzOiAkb3B0aW9ucy1ndXR0ZXIpO1xyXG5cdFx0XHRcdFx0XHJcblx0XHRcdFx0XHQmOm50aC1jaGlsZChuKzMpIHtcclxuXHRcdFx0XHRcdFx0cGFkZGluZy10b3A6IHJlbS1jYWxjKDQwKTtcclxuXHRcdFx0XHRcdH1cclxuXHRcdFx0XHR9XHJcblxyXG5cdFx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgZG93bikge1xyXG5cdFx0XHRcdFx0QGluY2x1ZGUgeHktY2VsbCgxMiwgJGd1dHRlcnM6ICRvcHRpb25zLWd1dHRlcik7XHJcblx0XHRcdFx0XHJcblx0XHRcdFx0XHQmOm50aC1jaGlsZChuKSB7XHJcblx0XHRcdFx0XHRcdHBhZGRpbmctdG9wOiAwO1xyXG5cdFx0XHRcdFx0XHRwYWRkaW5nLWJvdHRvbTogcmVtLWNhbGMoNDApO1xyXG5cdFx0XHRcdFx0fVxyXG5cclxuXHRcdFx0XHRcdCY6bGFzdC1jaGlsZCB7XHJcblx0XHRcdFx0XHRcdHBhZGRpbmctYm90dG9tOiAwO1xyXG5cdFx0XHRcdFx0fVxyXG5cdFx0XHRcdH1cclxuXHJcblxyXG5cdFx0XHRcdGgzIHtcclxuXHRcdFx0XHRcdGNvbG9yOiAkZ29sZDtcclxuXHRcdFx0XHRcdGZvbnQtc2l6ZTogcmVtLWNhbGMoMjQpO1xyXG5cdFx0XHRcdFx0bGluZS1oZWlnaHQ6IHJlbS1jYWxjKDMwKTtcclxuXHRcdFx0XHRcdHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcblx0XHRcdFx0XHRmb250LXdlaWdodDogYm9sZDtcclxuXHRcdFx0XHRcdHBhZGRpbmctYm90dG9tOiByZW0tY2FsYyg4KTtcclxuXHRcdFx0XHRcdGJvcmRlci1ib3R0b206IDFweCBkb3R0ZWQgJHdoaXRlO1xyXG5cdFx0XHRcdH1cclxuXHJcblx0XHRcdFx0LmJ0biB7XHJcblx0XHRcdFx0XHRjb2xvcjogJGJsdWU7XHJcblxyXG5cdFx0XHRcdFx0Jjpob3ZlciwgJjpmb2N1cyB7XHJcblx0XHRcdFx0XHRcdGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZTtcclxuXHRcdFx0XHRcdFx0Y29sb3I6ICRibHVlO1xyXG5cdFx0XHRcdFx0fVxyXG5cdFx0XHRcdH1cclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cdH1cclxufSIsIi8qLS0tLS0tLS0tLSAgVGVzdGltb25pYWxzICAtLS0tLS0tLS0tKi9cclxuXHJcbi50ZXN0aW1vbmlhbC1iYW5kIHtcclxuXHRwYWRkaW5nLXRvcDogcmVtLWNhbGMoODApO1xyXG5cdHBhZGRpbmctYm90dG9tOiByZW0tY2FsYyg4MCk7XHJcbn1cclxuXHJcbi50ZXN0aW1vbmlhbCB7XHJcblx0QGluY2x1ZGUgeHktZ3JpZDtcclxuXHRAaW5jbHVkZSBncmlkLXJvdy1uZXN0KCRndXR0ZXItZGVmYXVsdCk7XHJcbn1cclxuXHJcbi50ZXN0aW1vbmlhbF9fdGV4dCB7XHJcblx0QGluY2x1ZGUgeHktY2VsbCg2KTtcclxuXHRwYWRkaW5nLXJpZ2h0OiByZW0tY2FsYygzMCk7XHJcblxyXG5cdGgyIHtcclxuXHRcdHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcblx0XHRmb250LXNpemU6IHJlbS1jYWxjKDQyKTtcclxuXHRcdGxpbmUtaGVpZ2h0OiByZW0tY2FsYyg0Mik7XHJcblx0XHRjb2xvcjogJGFxdWE7XHJcblx0XHRmb250LXdlaWdodDogNDAwO1xyXG5cclxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoNTAwIGRvd24pIHtcclxuXHRcdCAgZm9udC1zaXplOiByZW0tY2FsYygzMCk7XHJcblx0XHQgIGxpbmUtaGVpZ2h0OiByZW0tY2FsYygzNik7XHJcblx0XHR9XHJcblx0fVxyXG5cclxuXHRwIHtcclxuXHRcdGZvbnQtc2l6ZTogcmVtLWNhbGMoMjIpO1xyXG5cdH1cclxuXHJcblx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xyXG5cdFx0QGluY2x1ZGUgeHktY2VsbCgxMik7XHJcblx0XHRwYWRkaW5nLXJpZ2h0OiAwO1xyXG5cdFx0b3JkZXI6IDI7XHJcbiAgICB9XHJcblxyXG5cdEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgZG93bikge1xyXG5cdFx0dGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgfVxyXG59XHJcblxyXG4udGVzdGltb25pYWxfX2ltYWdlIHtcclxuXHRAaW5jbHVkZSB4eS1jZWxsKDYpO1xyXG5cclxuXHRpbWcge1xyXG5cdFx0ZGlzcGxheTogYmxvY2s7XHJcblx0XHRtYXJnaW46IDAgYXV0bztcclxuXHR9XHJcblxyXG5cdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcclxuXHRcdEBpbmNsdWRlIHh5LWNlbGwoMTIpO1xyXG5cdFx0b3JkZXI6IDE7XHJcblx0XHRtYXJnaW4tYm90dG9tOiByZW0tY2FsYyg0MCk7XHJcbiAgICB9XHJcbn1cclxuXHJcblxyXG4vKi0tLS0tLS0tLS0gIFN0YXRpc3RpY3MgIC0tLS0tLS0tLS0qL1xyXG5cclxuLnN0YXRpc3RpY3MtYmFuZCB7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogJGJsdWU7XHJcblx0cGFkZGluZy10b3A6IHJlbS1jYWxjKDgwKTtcclxuXHRwYWRkaW5nLWJvdHRvbTogcmVtLWNhbGMoMTkwKTtcclxuXHRwb3NpdGlvbjogcmVsYXRpdmU7XHJcblx0Ym9yZGVyLXJhZGl1czogMCAwIDAgcmVtLWNhbGMoOTUpO1xyXG5cdGNvbG9yOiAjZmZmO1xyXG5cclxuXHQmOmFmdGVyIHtcclxuXHRcdGNvbnRlbnQ6ICcnO1xyXG5cdFx0d2lkdGg6IDA7XHJcblx0XHRoZWlnaHQ6IDA7XHJcblx0XHRib3JkZXItc3R5bGU6IHNvbGlkO1xyXG5cdFx0Ym9yZGVyLXdpZHRoOiA0OHB4IDM3LjVweCAwIDM3LjVweDtcclxuXHRcdGJvcmRlci1jb2xvcjogJGJsdWUgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7XHJcblx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XHJcblx0XHRib3R0b206IC00OHB4O1xyXG5cdFx0bGVmdDogMTYlO1xyXG5cdH1cclxuXHJcblx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xyXG5cdFx0cGFkZGluZy1ib3R0b206IHJlbS1jYWxjKDEyMCk7XHJcblxyXG5cdFx0JjphZnRlciB7XHJcblx0XHRcdGxlZnQ6IHJlbS1jYWxjKDEwMCk7XHJcblx0XHR9XHJcbiAgICB9XHJcbn1cclxuXHJcbi5zdGF0aXN0aWNzLWNvbHVtbnMge1xyXG5cdEBpbmNsdWRlIHh5LWdyaWQ7XHJcbn1cclxuXHJcbi5zdGF0aXN0aWNzLWNvbHVtbnNfX3ByaW1hcnkge1xyXG5cdEBpbmNsdWRlIHh5LWNlbGwoNCk7XHJcblx0dGV4dC1hbGlnbjogY2VudGVyO1xyXG5cdHBhZGRpbmctbGVmdDogcmVtLWNhbGMoMzUpO1xyXG5cdHBhZGRpbmctcmlnaHQ6IHJlbS1jYWxjKDM1KTtcclxuXHJcblx0aDIge1xyXG5cdFx0Y29sb3I6ICNmZmY7XHJcblx0XHR0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG5cdFx0Zm9udC1zaXplOiByZW0tY2FsYyg0Mik7XHJcblx0XHRsaW5lLWhlaWdodDogcmVtLWNhbGMoNDIpO1xyXG5cdFx0Zm9udC13ZWlnaHQ6IDMwMDtcclxuXHRcdGJvcmRlci1ib3R0b206IDJweCBzb2xpZCAkZ29sZDtcclxuXHRcdHBhZGRpbmctYm90dG9tOiByZW0tY2FsYygyMCk7XHJcblx0XHRwYWRkaW5nLWxlZnQ6IHJlbS1jYWxjKDMwKTtcclxuXHRcdHBhZGRpbmctcmlnaHQ6IHJlbS1jYWxjKDMwKTtcclxuXHRcdG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDIwKTtcclxuXHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHJcblx0XHQmOmFmdGVyIHtcclxuXHRcdFx0Y29udGVudDogJyc7XHJcblx0XHRcdHdpZHRoOiAwO1xyXG5cdFx0XHRoZWlnaHQ6IDA7XHJcblx0XHRcdGJvcmRlci1zdHlsZTogc29saWQ7XHJcblx0XHRcdGJvcmRlci13aWR0aDogMTVweCAxMnB4IDAgMTJweDtcclxuXHRcdFx0Ym9yZGVyLWNvbG9yOiAkZ29sZCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtcclxuXHRcdFx0cG9zaXRpb246IGFic29sdXRlO1xyXG5cdFx0XHRib3R0b206IC0xN3B4O1xyXG5cdFx0XHRsZWZ0OiA1MCU7XHJcblx0XHRcdG1hcmdpbi1sZWZ0OiAtMTJweDtcclxuXHRcdH1cclxuXHR9XHJcblxyXG5cdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcclxuXHRcdEBpbmNsdWRlIHh5LWNlbGwoMTIpO1xyXG5cdFx0bWF4LXdpZHRoOiByZW0tY2FsYyg0MDApO1xyXG5cdFx0bWFyZ2luLWxlZnQ6IGF1dG87XHJcblx0XHRtYXJnaW4tcmlnaHQ6IGF1dG87XHJcblx0XHRwYWRkaW5nLWxlZnQ6IDA7XHJcblx0XHRwYWRkaW5nLXJpZ2h0OiAwO1xyXG4gICAgfVxyXG59XHJcblxyXG4uc3RhdGlzdGljcy1jb2x1bW5zX19zZWNvbmRhcnkge1xyXG5cdEBpbmNsdWRlIHh5LWNlbGwoOCk7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogJG1lZGl1bS1ncmF5O1xyXG5cdGJhY2tncm91bmQtaW1hZ2U6IHVybCgvZGlzdC9pbWFnZXMvc3RhdC1ncmlkLWJnLXBob3RvLmpwZyk7XHJcblx0YmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcclxuXHRiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xyXG5cdGJhY2tncm91bmQtcG9zaXRpb246IHRvcCBsZWZ0O1xyXG5cdHBhZGRpbmc6IHJlbS1jYWxjKDUwKTtcclxuXHRib3JkZXItcmFkaXVzOiByZW0tY2FsYyg1MCkgMDtcclxuXHJcblx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xyXG5cdFx0QGluY2x1ZGUgeHktY2VsbCgxMik7XHJcblx0XHRtYXJnaW4tdG9wOiByZW0tY2FsYygzMCk7XHJcbiAgICB9XHJcbn1cclxuXHJcbi5zdGF0LWJsb2NrIHtcclxuXHRtYXJnaW4tYm90dG9tOiByZW0tY2FsYygxMCk7XHJcblxyXG5cdCY6YmVmb3JlIHtcclxuXHRcdGNvbnRlbnQ6IHVybCgvZGlzdC9pbWFnZXMvYXJyb3ctZ29sZC1kb3duLnN2Zyk7XHJcblx0XHR3aWR0aDogMTBweDtcclxuXHRcdGhlaWdodDogMzFweDtcclxuXHRcdGRpc3BsYXk6IGJsb2NrO1xyXG5cdFx0bWFyZ2luOiAwIGF1dG87XHJcblx0fVxyXG59XHJcblxyXG4uc3RhdC1ibG9ja19fZmlndXJlIHtcclxuXHRkaXNwbGF5OiBmbGV4O1xyXG5cclxuXHRhbGlnbi1pdGVtczogY2VudGVyO1xyXG5cdGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG5cdG1hcmdpbi10b3A6IC0gcmVtLWNhbGMoMTQpO1xyXG5cdGZvbnQtc2l6ZTogcmVtLWNhbGMoNjApO1xyXG5cdGZvbnQtd2VpZ2h0OiA3MDA7XHJcblx0YmFja2dyb3VuZC1pbWFnZTogdXJsKC9kaXN0L2ltYWdlcy9zdGF0LWJnLnN2Zyk7XHJcblx0YmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcclxuXHRiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgY2VudGVyO1xyXG5cdGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XHJcblx0bWluLWhlaWdodDogcmVtLWNhbGMoMTQwKTtcclxuXHRiYWNrZ3JvdW5kLXNpemU6IHJlbS1jYWxjKDE0MCkgcmVtLWNhbGMoMTQwKTtcclxuXHJcblx0Ly8gSUUxMCsgQ1NTIGhhY2tcclxuICAgIEBtZWRpYSBhbGwgYW5kICgtbXMtaGlnaC1jb250cmFzdDogbm9uZSksICgtbXMtaGlnaC1jb250cmFzdDogYWN0aXZlKSB7XHJcbiAgICAgICAgaGVpZ2h0OiByZW0tY2FsYygxNDApOyAvLyBGb3IgSUUgMTFcclxuICAgIH1cclxuXHJcblx0c3VwIHtcclxuXHRcdGZvbnQtc2l6ZTogcmVtLWNhbGMoMzUpO1xyXG5cdH1cclxufVxyXG5cclxuLnN0YXQtYmxvY2tfX3RleHQge1xyXG5cdHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcblx0Zm9udC1zaXplOiByZW0tY2FsYygyMCk7XHJcblx0bGluZS1oZWlnaHQ6IHJlbS1jYWxjKDI4KTtcclxuXHRmb250LXdlaWdodDogNzAwO1xyXG5cdGZvbnQtZmFtaWx5OiAkam9zZWZpbi1zYW5zO1xyXG5cdG1hcmdpbi10b3A6IC0gcmVtLWNhbGMoMjIpO1xyXG59XHJcblxyXG4uc3RhdC1ibG9jay0tbGVhZDpiZWZvcmUge1xyXG5cdGRpc3BsYXk6IG5vbmU7XHJcbn1cclxuXHJcbi5zdGF0LWJsb2NrLS1sZWFkIC5zdGF0LWJsb2NrX19maWd1cmUge1xyXG5cdGhlaWdodDogYXV0bztcclxuXHRiYWNrZ3JvdW5kOiBub25lO1xyXG5cdGNvbG9yOiAkZ29sZDtcclxuXHRmb250LXNpemU6IHJlbS1jYWxjKDgwKTtcclxuXHRsaW5lLWhlaWdodDogcmVtLWNhbGMoODApO1xyXG5cclxuXHRzdXAge1xyXG5cdFx0Zm9udC1zaXplOiByZW0tY2FsYyg0MCk7XHRcclxuXHR9XHJcbn1cclxuXHJcbi5zdGF0LWJsb2NrLS1sZWFkIC5zdGF0LWJsb2NrX190ZXh0IHtcclxuXHRjb2xvcjogI2ZmZjtcclxuXHRmb250LXNpemU6IHJlbS1jYWxjKDI1KTtcclxuXHRsaW5lLWhlaWdodDogcmVtLWNhbGMoMjgpO1xyXG59XHJcblxyXG4uc2Vjb25kYXJ5LXN0YXRzX19ncmlkIHtcclxuXHRAaW5jbHVkZSB4eS1ncmlkO1xyXG5cclxuXHQuc3RhdC1ibG9jayB7XHJcblx0XHRAaW5jbHVkZSB4eS1jZWxsKDYpO1xyXG5cclxuXHRcdCY6YmVmb3JlIHtcclxuXHRcdFx0Y29udGVudDogdXJsKC9kaXN0L2ltYWdlcy9hcnJvdy1nb2xkLWRvd24uc3ZnKTtcclxuXHRcdFx0bWFyZ2luLWxlZnQ6IHJlbS1jYWxjKDY2KTtcclxuXHRcdH1cclxuXHJcblx0XHRAaW5jbHVkZSBicmVha3BvaW50KDU2NSBkb3duKSB7XHJcblx0XHRcdEBpbmNsdWRlIHh5LWNlbGwoMTIpO1xyXG5cdCAgICB9XHJcblx0fVxyXG5cclxuXHQuc3RhdC1ibG9ja19fZmlndXJlIHtcdFxyXG5cdFx0bWF4LXdpZHRoOiByZW0tY2FsYygxNDApO1xyXG5cdH1cclxuXHJcblx0LnN0YXQtYmxvY2tfX3RleHQge1x0XHJcblx0XHRtYXgtd2lkdGg6IHJlbS1jYWxjKDI1MCk7XHJcblx0XHRjb2xvcjogI2ZmZjtcclxuXHR9XHJcbn1cclxuXHJcbi5zZWNvbmRhcnktc3RhdHNfX2xlYWQge1xyXG5cdGJvcmRlci1ib3R0b206IDJweCBzb2xpZCAkZ29sZDtcclxuXHRtYXJnaW4tbGVmdDogcmVtLWNhbGMoMzUpO1xyXG5cclxuXHQuc3RhdC1ibG9jayB7XHJcblx0XHRAaW5jbHVkZSBjbGVhcmZpeCgpO1xyXG5cdH1cclxuXHJcblx0LnN0YXQtYmxvY2tfX2ZpZ3VyZSwgXHJcblx0LnN0YXQtYmxvY2tfX3RleHQge1xyXG5cdFx0ZGlzcGxheTogYmxvY2s7XHJcblx0XHRmbG9hdDogbGVmdDtcclxuXHRcdG1pbi1oZWlnaHQ6IDA7XHJcblx0XHRtYXgtd2lkdGg6IDMwJTtcclxuXHR9XHJcblxyXG5cdC5zdGF0LWJsb2NrX190ZXh0IHtcclxuXHRcdG1heC13aWR0aDogNjAlO1xyXG5cdFx0bWFyZ2luLXRvcDogMDtcclxuXHRcdG1hcmdpbi1sZWZ0OiByZW0tY2FsYygzMCk7XHJcblx0fVxyXG59XHJcblxyXG5cclxuXHJcbi8qLS0tLS0tLS0tLSAgU29sdXRpb25zIGFuZCBhZHZvY2FjeSB3aGVlbCAgLS0tLS0tLS0tLSovXHJcblxyXG4uc29sdXRpb25zLWJhbmQge1xyXG5cdG1hcmdpbi10b3A6IC0gcmVtLWNhbGMoMTAwKTtcclxuXHRwb3NpdGlvbjogcmVsYXRpdmU7XHJcblx0ei1pbmRleDogMTtcclxufVxyXG5cclxuLnNvbHV0aW9uLWNvbHVtbnMge1xyXG5cdEBpbmNsdWRlIHh5LWdyaWQ7XHJcblx0QGluY2x1ZGUgZ3JpZC1yb3ctbmVzdCgkZ3V0dGVyLWRlZmF1bHQpO1xyXG59XHJcblxyXG4uc29sdXRpb24tY29sdW1uc19fY29weSB7XHJcblx0QGluY2x1ZGUgeHktY2VsbCg0LjUpO1xyXG5cdHBhZGRpbmctdG9wOiByZW0tY2FsYygyMDApO1xyXG5cdHBhZGRpbmctbGVmdDogcmVtLWNhbGMoMzUpO1xyXG5cdHBhZGRpbmctcmlnaHQ6IHJlbS1jYWxjKDM1KTtcclxuXHJcblx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xyXG5cdFx0QGluY2x1ZGUgeHktY2VsbCgxMik7XHJcbiAgICB9XHJcbn1cclxuXHJcbi5zb2x1dGlvbi1jb2x1bW5zX19saXN0IHtcclxuXHRAaW5jbHVkZSB4eS1jZWxsKDcuNSk7XHJcblxyXG5cdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcclxuXHRcdEBpbmNsdWRlIHh5LWNlbGwoMTIpO1xyXG4gICAgfVxyXG59XHJcblxyXG4uc29sdXRpb25zLWxpbmtzIHtcclxuXHRAaW5jbHVkZSB4eS1ncmlkO1xyXG5cdEBpbmNsdWRlIGdyaWQtcm93LW5lc3QoNjApO1xyXG5cdHBhZGRpbmctdG9wOiByZW0tY2FsYyg0MCk7XHJcblxyXG5cdEBpbmNsdWRlIGJyZWFrcG9pbnQoNzUwIGRvd24pIHtcclxuXHRcdEBpbmNsdWRlIGdyaWQtcm93LW5lc3QoMCk7XHJcbiAgICB9XHJcbn1cclxuXHJcbi5zb2x1dGlvbnMtbGlua3NfX2NlbGwge1xyXG5cdEBpbmNsdWRlIHh5LWNlbGwoNiwgJGd1dHRlcnM6IDYwKTtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiAkYXF1YTtcclxuXHRwYWRkaW5nOiByZW0tY2FsYygyMCkgcmVtLWNhbGMoMzApO1xyXG5cdG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDIwKTtcclxuXHRiYWNrZ3JvdW5kLWltYWdlOiB1cmwoL2Rpc3QvaW1hZ2VzL2ljb24tcGx1cy1ibHVlLnN2Zyk7XHJcblx0YmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIHJpZ2h0O1xyXG5cdGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XHJcblx0YmFja2dyb3VuZC1zaXplOiByZW0tY2FsYygxNTApIHJlbS1jYWxjKDE1MCk7XHJcblxyXG5cdCY6aG92ZXIge1xyXG5cdFx0YmFja2dyb3VuZC1jb2xvcjogJGJsdWU7XHJcblx0XHRiYWNrZ3JvdW5kLWltYWdlOiB1cmwoL2Rpc3QvaW1hZ2VzL2ljb24tcGx1cy1kYXJrLWJsdWUuc3ZnKTtcclxuXHR9XHJcblxyXG5cdEBpbmNsdWRlIGJyZWFrcG9pbnQoNzUwIGRvd24pIHtcclxuXHRcdEBpbmNsdWRlIHh5LWNlbGwoMTIsICRndXR0ZXJzOiAwKTtcclxuICAgIH1cclxufVxyXG5cclxuLnNvbHV0aW9ucy1saW5rX19pY29uLFxyXG4uc29sdXRpb25zLW1vZGFsX19pY29uIHtcclxuXHRmbG9hdDogbGVmdDtcclxuXHRkaXNwbGF5OiBmbGV4O1xyXG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcblx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcclxuXHRib3JkZXItcmFkaXVzOiA1MCU7XHJcblx0d2lkdGg6IHJlbS1jYWxjKDcyKTtcclxuXHRoZWlnaHQ6IHJlbS1jYWxjKDcyKTtcclxuXHJcblx0aW1nIHtcclxuXHRcdHdpZHRoOiByZW0tY2FsYyg0Mik7XHJcblx0XHRoZWlnaHQ6IGF1dG87XHJcblx0fVxyXG59XHJcblxyXG4uc29sdXRpb25zLWxpbmtfX3RleHQge1xyXG5cdGZsb2F0OiBsZWZ0O1xyXG5cdG1heC13aWR0aDogNjMlO1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcclxuXHRtYXJnaW4tbGVmdDogcmVtLWNhbGMoMjUpO1xyXG5cdG1pbi1oZWlnaHQ6IHJlbS1jYWxjKDcyKTtcclxuXHRjb2xvcjogI2ZmZjtcclxuXHR0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG5cdGZvbnQtc2l6ZTogcmVtLWNhbGMoMjQpO1xyXG5cdGxpbmUtaGVpZ2h0OiByZW0tY2FsYygyNCk7XHJcblx0Zm9udC13ZWlnaHQ6IDcwMDtcclxuXHRmb250LWZhbWlseTogJGpvc2VmaW4tc2FucztcclxufVxyXG5cclxuLnNvbHV0aW9ucy13aGVlbCB7XHJcblx0cG9zaXRpb246IHJlbGF0aXZlO1xyXG5cdG1heC13aWR0aDogcmVtLWNhbGMoNzQwKTtcclxuXHRtYXJnaW4tbGVmdDogYXV0bztcclxuXHRtYXJnaW4tcmlnaHQ6IGF1dG87XHJcblxyXG5cdG1hcCBhcmVhIHtcclxuXHRcdGN1cnNvcjogcG9pbnRlcjtcclxuXHR9XHJcblxyXG5cdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcclxuXHRcdG1hcmdpbi10b3A6IHJlbS1jYWxjKDMwKTtcclxuICAgIH1cclxuXHJcblx0QGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBkb3duKSB7XHJcblx0XHRkaXNwbGF5OiBub25lO1xyXG4gICAgfVxyXG59XHJcblxyXG4uc29sdXRpb25zLXdoZWVsX19zdmcge1xyXG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuXHR0b3A6IDA7XHJcblx0bGVmdDogMDtcclxuXHR6LWluZGV4OiAtMTtcclxufVxyXG5cclxuLmltYWdlLW1hcC10ZXh0IHtcclxuXHR0cmFuc2l0aW9uOiBmaWxsIDAuM3M7XHJcbn1cclxuXHJcbi5pbWFnZS1tYXAtdGV4dC0taG92ZXIge1xyXG5cdGZpbGw6ICRnb2xkICFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcbi5zb2x1dGlvbnMtd2hlZWxfX21hcCB7XHJcblx0cG9zaXRpb246IHJlbGF0aXZlO1xyXG5cdHotaW5kZXg6IDk5O1xyXG59XHJcblxyXG4uc29sdXRpb25zLWNvcHkge1xyXG5cdHRleHQtYWxpZ246IGNlbnRlcjtcclxuXHJcblx0aDIsIFxyXG5cdGgzIHtcclxuXHRcdGNvbG9yOiAkYXF1YTtcclxuXHRcdHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcblx0XHRmb250LXNpemU6IHJlbS1jYWxjKDQyKTtcclxuXHRcdGxpbmUtaGVpZ2h0OiByZW0tY2FsYyg0Mik7XHJcblxyXG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludCg1MDAgZG93bikge1xyXG5cdFx0ICBmb250LXNpemU6IHJlbS1jYWxjKDMwKTtcclxuXHRcdCAgbGluZS1oZWlnaHQ6IHJlbS1jYWxjKDM2KTtcclxuXHRcdH1cclxuXHR9XHJcblxyXG5cdGgyOmZpcnN0LWNoaWxkIHtcclxuXHRcdGNvbG9yOiAkZGFyay1ncmF5O1xyXG5cdFx0d2lkdGg6IDEwMCU7XHJcblx0XHRmb250LXdlaWdodDogMzAwO1xyXG5cdFx0cGFkZGluZy1ib3R0b206IHJlbS1jYWxjKDIwKTtcclxuXHRcdGJvcmRlci1ib3R0b206IDJweCBzb2xpZCAkYXF1YTtcclxuXHRcdG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDMwKTtcclxuXHR9XHJcblxyXG5cdGgzOmZpcnN0LW9mLXR5cGUge1xyXG5cdFx0bWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMzApO1xyXG5cdH1cclxuXHJcblx0cCB7XHJcblx0XHRmb250LXNpemU6IHJlbS1jYWxjKDIyKTtcclxuXHR9XHJcbn1cclxuXHJcbi5zb2x1dGlvbnMtbW9kYWwge1xyXG5cdHdpZHRoOiByZW0tY2FsYygxMDMwKTtcclxuXHRtYXgtd2lkdGg6IDkwJTtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiAkbGlnaHQtZ3JheTtcclxuXHRwYWRkaW5nOiByZW0tY2FsYyg5NSkgcmVtLWNhbGMoNTApIHJlbS1jYWxjKDUwKSByZW0tY2FsYygxNjApO1xyXG5cdGZvbnQtc2l6ZTogcmVtLWNhbGMoMTgpO1xyXG5cdGNvbG9yOiAkZGFyay1ncmF5O1xyXG5cclxuXHRoMiB7XHJcblx0XHRjb2xvcjogJGRhcmstb3JhbmdlO1xyXG5cdFx0dGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuXHRcdGZvbnQtZmFtaWx5OiAkam9zZWZpbi1zYW5zO1xyXG5cdFx0Zm9udC1zaXplOiByZW0tY2FsYygzNCk7XHJcblx0XHRmb250LXdlaWdodDogNzAwO1xyXG5cdFx0Ym9yZGVyLWJvdHRvbTogMnB4IGRvdHRlZCAjZmZmO1xyXG5cdFx0bWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMTUpO1xyXG5cdH1cclxuXHJcblx0cCBhOm5vdCguYnRuKSwgXHJcblx0bGkgYTpub3QoLmJ0bikge1xyXG5cdFx0Y29sb3I6ICRhcXVhO1xyXG5cdFx0dGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XHJcblx0fVxyXG5cclxuXHQuY2xvc2UtYnV0dG9uIHtcclxuXHRcdHRvcDogcmVtLWNhbGMoOTUpO1xyXG5cdFx0cmlnaHQ6IHJlbS1jYWxjKDUwKTtcclxuXHRcdGZvbnQtZmFtaWx5OiAkam9zZWZpbi1zYW5zO1xyXG5cdFx0Y29sb3I6ICRhcXVhICFpbXBvcnRhbnQ7XHJcblx0XHRmb250LXNpemU6IHJlbS1jYWxjKDIwKTtcclxuXHQgXHRmb250LXdlaWdodDogNzAwO1xyXG5cdCBcdHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcblxyXG5cdCBcdHNwYW4ge1xyXG5cdCBcdFx0dmVydGljYWwtYWxpZ246IGJvdHRvbTtcclxuXHQgXHRcdGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuXHQgXHR9XHJcblx0fVxyXG5cclxuXHQuY2xvc2UtYnV0dG9uX190ZXh0IHtcclxuXHQgXHRmb250LXNpemU6IHJlbS1jYWxjKDIyKTtcclxuXHQgXHRsaW5lLWhlaWdodDogcmVtLWNhbGMoMjIpO1xyXG5cdH1cclxuXHJcblx0LmNsb3NlLWJ1dHRvbl9feCB7XHJcblx0XHRmb250LWZhbWlseTogJG9wZW4tc2FucztcclxuXHQgXHRmb250LXNpemU6IHJlbS1jYWxjKDYwKTtcclxuXHQgXHRsaW5lLWhlaWdodDogcmVtLWNhbGMoMzApO1xyXG5cdH1cclxuXHJcblx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xyXG5cdFx0bWF4LXdpZHRoOiAxMDAlO1xyXG5cdFx0cGFkZGluZy10b3A6IHJlbS1jYWxjKDUwKTtcclxuXHRcdHBhZGRpbmctbGVmdDogcmVtLWNhbGMoNTApO1xyXG5cclxuXHRcdGgyIHtcclxuXHRcdFx0bWFyZ2luLXRvcDogcmVtLWNhbGMoMTIwKTtcclxuXHRcdH1cclxuXHJcblx0XHQuY2xvc2UtYnV0dG9uIHtcclxuXHRcdFx0dG9wOiByZW0tY2FsYygzMCk7XHJcblx0XHR9XHJcblx0fVxyXG59XHJcblxyXG4uc29sdXRpb25zLW1vZGFsX19pY29uIHtcclxuXHRwb3NpdGlvbjogYWJzb2x1dGU7XHJcblx0bGVmdDogcmVtLWNhbGMoNTApO1xyXG5cdHRvcDogcmVtLWNhbGMoNzApO1xyXG5cdHdpZHRoOiByZW0tY2FsYyg5Mik7XHJcblx0aGVpZ2h0OiByZW0tY2FsYyg5Mik7XHJcblxyXG5cdGltZyB7XHJcblx0XHR3aWR0aDogcmVtLWNhbGMoNjApO1xyXG5cdFx0aGVpZ2h0OiBhdXRvO1xyXG5cdH1cclxuXHJcblx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xyXG5cdFx0cG9zaXRpb246IHN0YXRpYztcclxuXHR9XHJcbn1cclxuXHJcbi5hYm91dC1wYWdlIC5mdWxsLXdpZHRoX19jb250ZW50IHtcclxuXHRmaWd1cmV7XHJcblx0XHRmbG9hdDogbGVmdDtcclxuXHRcdHdpZHRoOiA0MTRweDtcclxuXHRcdG1heC13aWR0aDogNDE0cHg7IFxyXG5cdFx0bWFyZ2luOiAwcHggMjBweCAyMHB4IDBweDtcclxuXHJcblx0XHRAaW5jbHVkZSBicmVha3BvaW50KDcwMCBkb3duKSB7XHJcblx0XHRcdHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XHJcblx0XHQgXHRtYXgtd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcclxuXHRcdH1cclxuXHR9XHJcblxyXG5cdGgxe1xyXG5cdFx0bWFyZ2luLXRvcDpyZW0tY2FsYyg1MCk7XHJcblx0fVxyXG5cclxuXHRoMiB7XHJcblx0XHRmb250LXNpemU6IHJlbS1jYWxjKDMwKTtcdFxyXG5cdH1cclxufVxyXG5cclxuLmFib3V0LXBhZ2Uge1xyXG5cdC5zZWN0aW9uLW1vZHVsZS5jYWxsb3V0IHtcclxuXHRcdG1hcmdpbi10b3A6IHJlbS1jYWxjKDEyKTtcclxuXHR9XHJcblx0LnNlY3Rpb24tbW9kdWxlLmNhbGxvdXQgKyAuc2VjdGlvbi1tb2R1bGUuYm94ZXMge1xyXG5cdFx0cGFkZGluZy10b3A6IDA7XHJcblx0fVxyXG5cdC5zZWN0aW9uLW1vZHVsZS5ib3hlcyArIC5zZWN0aW9uLW1vZHVsZS5ib3hlcyB7XHJcblx0XHQvLyBTZWNvbmQgc2V0IG9mIGJveGVzLlxyXG5cdFx0cGFkZGluZy1ib3R0b206IHJlbS1jYWxjKDE2KTtcclxuXHR9XHJcbn1cclxuIiwiLypcclxuICBTdGF0aXN0aWNzIFNlY3Rpb25cclxuKi9cclxuLm1lbnRvcmluZy1sYW5kaW5nX19zdGF0aXN0aWNzIHtcclxuICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgei1pbmRleDogMTtcclxuXHJcbiAgLndyYXBwZXIge1xyXG4gICAgcGFkZGluZy10b3A6IHJlbS1jYWxjKDgwKTtcclxuICAgIHBhZGRpbmctYm90dG9tOiByZW0tY2FsYyg4MCk7XHJcblxyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xyXG4gICAgICBwYWRkaW5nLXRvcDogcmVtLWNhbGMoNDApO1xyXG4gICAgICBwYWRkaW5nLWJvdHRvbTogcmVtLWNhbGMoNDApO1xyXG4gICAgfVxyXG5cclxuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuXHJcbiAgICAuc3RhdHNfX2NvbHVtbnMge1xyXG4gICAgICBAaW5jbHVkZSB4eS1ncmlkKCk7XHJcbiAgICAgIEBpbmNsdWRlIGdyaWQtcm93LW5lc3QoJGd1dHRlci1kZWZhdWx0KTtcclxuXHJcbiAgICAgIC5zdGF0c19faGVhZGVyX3NpZGViYXIge1xyXG4gICAgICAgIEBleHRlbmQgLnJvdW5kZWQtdG9wLXJpZ2h0LTQwO1xyXG4gICAgICAgIEBleHRlbmQgLnJvdW5kZWQtYm90dG9tLWxlZnQtNDA7XHJcbiAgICAgICAgQGluY2x1ZGUgeHktY2VsbCg0KTtcclxuXHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xyXG4gICAgICAgICAgQGluY2x1ZGUgeHktY2VsbCgxMik7XHJcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYyg0MCk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBwYWRkaW5nOiByZW0tY2FsYyg2MCkgcmVtLWNhbGMoMjApO1xyXG4gICAgICAgIGJhY2tncm91bmQ6ICRibHVlO1xyXG4gICAgICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgkYXF1YSwgJGJsdWUpO1xyXG5cclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcblxyXG4gICAgICAgIGgyIHtcclxuICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XHJcbiAgICAgICAgICBmb250LXdlaWdodDogMzAwO1xyXG4gICAgICAgICAgY29sb3I6ICR3aGl0ZTtcclxuICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcblxyXG4gICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYyg3MCk7XHJcbiAgICAgICAgICBsaW5lLWhlaWdodDogcmVtLWNhbGMoNjgpO1xyXG5cclxuICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcclxuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYyg1MCk7XHJcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiByZW0tY2FsYyg0OCk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcblxyXG4gICAgICAuc3RhdHNfX2NvbHVtbnNfX3N0YXRzIHtcclxuICAgICAgICBAaW5jbHVkZSB4eS1jZWxsKDgpO1xyXG5cclxuICAgICAgICBAaW5jbHVkZSB4eS1ncmlkKCk7XHJcbiAgICAgICAgQGluY2x1ZGUgZ3JpZC1yb3ctbmVzdCgkZ3V0dGVyLWRlZmF1bHQpO1xyXG5cclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XHJcbiAgICAgICAgICBAaW5jbHVkZSB4eS1jZWxsKDEyKTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC5zdGF0aXN0aWNfY29udGFpbmVyIHtcclxuICAgICAgICAgIEBpbmNsdWRlIHh5LWNlbGwoNik7XHJcblxyXG4gICAgICAgICAgYm9yZGVyLXJpZ2h0OiAzcHggc29saWQgJGxpZ2h0LWdyYXk7XHJcblxyXG4gICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBkb3duKSB7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIHh5LWNlbGwoMTIpO1xyXG4gICAgICAgICAgICBib3JkZXItcmlnaHQ6IG5vbmU7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICAmOm50aC1jaGlsZChldmVuKSB7XHJcbiAgICAgICAgICAgIGJvcmRlci1yaWdodDogbm9uZTtcclxuICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcblxyXG4gICAgICAgICAgLnN0YXRpc3RpY19fd3JhcHBlciB7XHJcbiAgICAgICAgICAgIHdpZHRoOiA2NSU7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IHJlbS1jYWxjKDQwKSAwO1xyXG4gICAgICBcclxuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogMnB4IGRvdHRlZCAkbGlnaHQtZ3JheTtcclxuICAgICAgXHJcbiAgICAgICAgICAgIC5zdGF0aXN0aWNfX2ljb24ge1xyXG4gICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgZG93bikge1xyXG4gICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICAgIHBhZGRpbmctdG9wOiAwO1xyXG4gICAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiByZW0tY2FsYygyMCk7XHJcbiAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMjApO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgJjpudGgtbGFzdC1jaGlsZCgtbisyKSB7XHJcbiAgICAgICAgICAgIC5zdGF0aXN0aWNfX3dyYXBwZXIge1xyXG4gICAgICAgICAgICAgIGJvcmRlci1ib3R0b206IG5vbmU7XHJcbiAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfVxyXG5cclxuICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgZG93bikge1xyXG4gICAgICAgICAgICAmOm50aC1sYXN0LWNoaWxkKC1uKzIpIHtcclxuICAgICAgICAgICAgICAuc3RhdGlzdGljX193cmFwcGVyIHtcclxuICAgICAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDJweCBkb3R0ZWQgJGxpZ2h0LWdyYXk7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYygyMCk7XHJcbiAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICY6bnRoLWxhc3QtY2hpbGQoLW4rMSkge1xyXG4gICAgICAgICAgICAgIC5zdGF0aXN0aWNfX3dyYXBwZXIge1xyXG4gICAgICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogbm9uZTtcclxuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XHJcbiAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG4vKlxyXG4gIEJhY2tncm91bmQgSW1hZ2UgbW9kdWxlXHJcbiovXHJcblxyXG4ubWVudG9yaW5nLWxhbmRpbmdfX2N0YXMge1xyXG4gIGJhY2tncm91bmQtcG9zaXRpb246IHRvcCBjZW50ZXI7XHJcblx0YmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcclxuXHQtd2Via2l0LWJhY2tncm91bmQtc2l6ZTogY292ZXI7XHJcblx0LW1vei1iYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xyXG5cdC1vLWJhY2tncm91bmQtc2l6ZTogY292ZXI7XHJcbiAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcclxuXHJcbiAgLy8gU3VwcG9ydHMgY29udGFpbmVyIGFib3ZlLlxyXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICB6LWluZGV4OiAwO1xyXG4gIG1hcmdpbi10b3A6IHJlbS1jYWxjKC0xMDApO1xyXG4gIHBhZGRpbmctdG9wOiByZW0tY2FsYygxMDApO1xyXG5cclxuICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIGRvd24pIHtcclxuICAgIGJhY2tncm91bmQtaW1hZ2U6IG5vbmUgIWltcG9ydGFudDtcclxuICB9XHJcblxyXG4gIC8vIEFsdGVybmF0aXZlIEJhY2tncm91bmQ6XHJcbiAgLm1vYmlsZS1iYWNrZ3JvdW5kLWltYWdlIHtcclxuICAgIG1hcmdpbi10b3A6IHJlbS1jYWxjKC0xMDApO1xyXG4gICAgcGFkZGluZy10b3A6IHJlbS1jYWxjKDEwMCk7XHJcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiB0b3AgY2VudGVyO1xyXG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcclxuICAgIC13ZWJraXQtYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcclxuICAgIC1tb3otYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcclxuICAgIC1vLWJhY2tncm91bmQtc2l6ZTogY292ZXI7XHJcbiAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xyXG4gIFxyXG4gICAgZGlzcGxheTogbm9uZTtcclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgZG93bikge1xyXG4gICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgaGVpZ2h0OiAxMDB2aDtcclxuICAgICAgbWF4LWhlaWdodDogcmVtLWNhbGMoNDAwKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC53cmFwcGVyIHtcclxuICAgIHBhZGRpbmctdG9wOiByZW0tY2FsYyg4MCk7XHJcbiAgICBwYWRkaW5nLWJvdHRvbTogcmVtLWNhbGMoODApO1xyXG5cclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgZG93bikge1xyXG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgIHBhZGRpbmctYm90dG9tOiByZW0tY2FsYyg2MCk7XHJcblxyXG4gICAgICBwYWRkaW5nLXRvcDogMDtcclxuICAgICAgbWFyZ2luLXRvcDogcmVtLWNhbGMoLTYwKTtcclxuICAgIH1cclxuXHJcbiAgICBoZWFkZXIge1xyXG4gICAgICBjb2xvcjogJGRhcmstZ3JheTtcclxuICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxOCk7XHJcbiAgICAgIGxpbmUtaGVpZ2h0OiByZW0tY2FsYygyNSk7XHJcblxyXG4gICAgICBoMiB7XHJcbiAgICAgICAgY29sb3I6ICRkYXJrLW9yYW5nZTtcclxuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDUxKTtcclxuICAgICAgICBsaW5lLWhlaWdodDogcmVtLWNhbGMoNDQpO1xyXG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcblxyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoNDIwIGRvd24pIHtcclxuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygzOCk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICAgIFxyXG4gICAgICAubWVudG9yaW5nLWxhbmRpbmdfX2N0YXNfX2hlYWRlci1jb250ZW50IHtcclxuICAgICAgICBtYXgtd2lkdGg6IDYwJTtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XHJcbiAgICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcblxyXG4gICAgICAubGFuZGluZy1jdGFzX19oZWFkZXIge1xyXG4gICAgICAgIG1hcmdpbi10b3A6IHJlbS1jYWxjKDQwKTtcclxuICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYygyMCk7XHJcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IGRvdHRlZCAkZGFya2VzdC1ncmF5O1xyXG5cclxuICAgICAgICBoMyB7XHJcbiAgICAgICAgICBjb2xvcjogJGRhcmstb3JhbmdlO1xyXG4gICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMjApO1xyXG4gICAgICAgICAgbGluZS1oZWlnaHQ6IHJlbS1jYWxjKDE4KTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAubGFuZGluZy1jdGFzIHtcclxuICAgICAgLmxhbmRpbmctY3Rhc19fY3RhIHtcclxuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMzApO1xyXG4gICAgICAgIG1hcmdpbi1yaWdodDogcmVtLWNhbGMoMzApO1xyXG4gICAgICAgICY6bGFzdC1jaGlsZCB7XHJcbiAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XHJcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLmJ0biB7XHJcbiAgICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIGRvd24pIHtcclxuICAgICAgICAgIG1hcmdpbi1yaWdodDogMDtcclxuICAgICAgICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDIwKTtcclxuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuLypcclxuICBcIkhvdyBJdCBXb3Jrc1wiIE1vZHVsZVxyXG4qL1xyXG5cclxuLm1lbnRvcmluZy1sYW5kaW5nX19zdGVwcyB7XHJcbiAgcGFkZGluZy10b3A6IHJlbS1jYWxjKDgwKTtcclxuICBwYWRkaW5nLWJvdHRvbTogcmVtLWNhbGMoODApO1xyXG4gIGNvbG9yOiAkdGV4dC1ncmF5O1xyXG5cclxuICAud3JhcHBlciB7XHJcbiAgICBAaW5jbHVkZSB4eS1ncmlkO1xyXG5cclxuICAgIC5zZWN0aW9uX19wcmltYXJ5IHtcclxuICAgICAgQGluY2x1ZGUgeHktY2VsbCg4KTtcclxuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgxMDAwIGRvd24pIHtcclxuICAgICAgICBAaW5jbHVkZSB4eS1jZWxsKDcpO1xyXG4gICAgICB9XHJcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoNzUwIGRvd24pIHtcclxuICAgICAgICBAaW5jbHVkZSB4eS1jZWxsKDEyKTtcclxuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xyXG4gICAgICB9XHJcblxyXG4gICAgICBwYWRkaW5nLXJpZ2h0OiByZW0tY2FsYyg3MCk7XHJcblxyXG4gICAgICBoZWFkZXIge1xyXG4gICAgICAgIGNvbG9yOiAkZGFyay1vcmFuZ2U7XHJcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDUxKTtcclxuICAgICAgICBsaW5lLWhlaWdodDogcmVtLWNhbGMoNDQpO1xyXG4gICAgICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDQwKTtcclxuXHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCg3NTAgZG93bikge1xyXG4gICAgICAgICAgdGV4dC1hbGlnbjpjZW50ZXI7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcblxyXG4gICAgICAkc3RlcHMtZ3V0dGVyOiByZW0tY2FsYygzMCk7XHJcblxyXG4gICAgICAuc3RlcHNfX3dyYXBwZXIge1xyXG4gICAgICAgIEBpbmNsdWRlIHh5LWdyaWQoKTtcclxuICAgICAgICBAaW5jbHVkZSBncmlkLXJvdy1uZXN0KCRzdGVwcy1ndXR0ZXIpO1xyXG5cclxuICAgICAgICAuc3RlcHNfX2NvbnRhaW5lciB7XHJcbiAgICAgICAgICBAaW5jbHVkZSB4eS1jZWxsKDQsICRndXR0ZXJzOiAkc3RlcHMtZ3V0dGVyKTtcclxuICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoMTAwMCBkb3duKSB7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIHh5LWNlbGwoNiwgJGd1dHRlcnM6ICRzdGVwcy1ndXR0ZXIpO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCg3NTAgZG93bikge1xyXG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgICAgICAgIHBhZGRpbmctdG9wOiByZW0tY2FsYygyMCk7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIHh5LWNlbGwoMTIpO1xyXG4gICAgICAgICAgICBcclxuICAgICAgICAgICAgLnN0ZXBfX2ljb25fX3dyYXBwZXIge1xyXG4gICAgICAgICAgICAgIG1hcmdpbjogMCBhdXRvO1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAmLnN0ZXBzX19jb250YWluZXJfX2N0YSAuc3RlcF9fY29udGFpbmVyX19pY29uIHtcclxuICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNik7XHJcbiAgICAgICAgICBsaW5lLWhlaWdodDogcmVtLWNhbGMoMzUpO1xyXG4gICAgICAgICAgY29sb3I6ICRkYXJrLWdyYXk7XHJcblxyXG4gICAgICAgICAgLnN0ZXBfX2NvbnRhaW5lcl9faWNvbiB7XHJcbiAgICAgICAgICAgIC5zdGVwX19pY29uX193cmFwcGVyIHtcclxuICAgICAgICAgICAgICB3aWR0aDogcmVtLWNhbGMoOTApO1xyXG4gICAgICAgICAgICAgIGhlaWdodDogcmVtLWNhbGMoOTApO1xyXG4gICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuXHJcbiAgICAgICAgICAgICAgaW1nIHtcclxuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICAgICAgbWF4LWhlaWdodDogMTAwJTtcclxuICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAuc3RlcF9faGVhZGVyIHtcclxuICAgICAgICAgICAgbWFyZ2luLXRvcDogcmVtLWNhbGMoMjApO1xyXG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDIwLjQ1KTtcclxuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IHJlbS1jYWxjKDIxKTtcclxuICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAuc2VjdGlvbl9fc2lkZWJhciB7XHJcbiAgICAgIEBpbmNsdWRlIHh5LWNlbGwoNCk7XHJcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoMTAwMCBkb3duKSB7XHJcbiAgICAgICAgQGluY2x1ZGUgeHktY2VsbCg1KTtcclxuICAgICAgfVxyXG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KDc1MCBkb3duKSB7XHJcbiAgICAgICAgQGluY2x1ZGUgeHktY2VsbCgxMik7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIHBhZGRpbmctdG9wOiByZW0tY2FsYygyMCk7XHJcblxyXG4gICAgICBjb2xvcjogJHdoaXRlO1xyXG5cclxuICAgICAgLnNlY3Rpb25fX3NpZGViYXJfX3dyYXBwZXIge1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRhcXVhO1xyXG4gICAgICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgkYXF1YSwgJGJsdWUpO1xyXG5cclxuICAgICAgICBAZXh0ZW5kIC5yb3VuZGVkLXRvcC1yaWdodC00MDtcclxuICAgICAgICBAZXh0ZW5kIC5yb3VuZGVkLWJvdHRvbS1sZWZ0LTQwO1xyXG5cclxuICAgICAgICBwYWRkaW5nOiByZW0tY2FsYyg2MCkgcmVtLWNhbGMoNDApIHJlbS1jYWxjKDQwKTtcclxuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE2KTtcclxuICAgICAgICBsaW5lLWhlaWdodDogcmVtLWNhbGMoMjIpO1xyXG5cclxuICAgICAgICBoZWFkZXIgaDMge1xyXG4gICAgICAgICAgY29sb3I6ICRnb2xkO1xyXG4gICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygzMCk7XHJcbiAgICAgICAgICBsaW5lLWhlaWdodDogcmVtLWNhbGMoMzApO1xyXG4gICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuXHJcbiAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KDc1MCBkb3duKSB7XHJcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbn0iLCIuY29udGVudC1iYW5kLXNlYXJjaCB7XHJcblx0cGFkZGluZy10b3A6IHJlbS1jYWxjKDgwKTtcclxuXHRwYWRkaW5nLWJvdHRvbTogcmVtLWNhbGMoODApO1xyXG59XHJcblxyXG4uc2VhcmNoLXN1bW1hcnkge1xyXG5cdGZvbnQtc2l6ZTogcmVtLWNhbGMoMjYpO1xyXG5cdGNvbG9yOiAkYXF1YTtcclxuXHRtYXJnaW4tYm90dG9tOiByZW0tY2FsYyg2MCk7XHJcbn1cclxuXHJcbi5zZWFyY2gtc2VjdGlvbi1sYWJlbCB7XHJcblx0bWFyZ2luLXRvcDogMDtcclxuXHR0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG5cdGZvbnQtc2l6ZTogcmVtLWNhbGMoMjApO1xyXG5cdGNvbG9yOiAkZGFyay1vcmFuZ2U7XHJcblx0Zm9udC13ZWlnaHQ6IDcwMDtcclxuXHRib3JkZXItYm90dG9tOiAycHggZG90dGVkICRkYXJrLW9yYW5nZTtcclxuXHRtYXJnaW4tYm90dG9tOiByZW0tY2FsYygyMCk7XHJcbn1cclxuXHJcbi5zZWFyY2gtcmVzdWx0cyB7XHJcblx0bGlzdC1zdHlsZS10eXBlOiBub25lO1xyXG5cdG1hcmdpbi1sZWZ0OiAwO1xyXG5cdG1heC13aWR0aDogcmVtLWNhbGMoOTYwKTtcclxuXHJcblx0bGkge1xyXG5cdFx0bWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMzUpO1xyXG5cdFx0Zm9udC1zaXplOiByZW0tY2FsYygyMCk7XHJcblx0XHRsaW5lLWhlaWdodDogcmVtLWNhbGMoMjQpO1xyXG5cdH1cclxuXHJcblx0aDMge1xyXG5cdFx0Zm9udC1mYW1pbHk6ICRvcGVuLXNhbnM7XHJcblx0XHRjb2xvcjogJGJsdWU7XHJcblx0XHRmb250LXdlaWdodDogNjAwO1xyXG5cdFx0Zm9udC1zaXplOiByZW0tY2FsYygyMCk7XHJcblxyXG5cdFx0YSB7XHJcblx0XHRcdGNvbG9yOiAkYmx1ZTtcclxuXHJcblx0XHRcdCY6aG92ZXIge1xyXG5cdFx0XHRcdGNvbG9yOiAkYXF1YTtcclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cdH1cclxufSIsIi5ibG9nLWxpc3RpbmctY29udGVudC1iYW5kIHtcclxuXHRwYWRkaW5nLXRvcDogcmVtLWNhbGMoODApO1xyXG5cdHBhZGRpbmctYm90dG9tOiByZW0tY2FsYyg4MCk7XHJcblx0b3ZlcmZsb3c6IGhpZGRlbjtcclxufVxyXG5cclxuLmJsb2ctbGlzdGluZyB7XHJcblx0QGluY2x1ZGUgeHktZ3JpZDtcclxuXHRAaW5jbHVkZSBncmlkLXJvdy1uZXN0KDQ2KTtcclxuXHJcblx0QGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBkb3duKSB7XHJcblx0XHRtYXJnaW4tbGVmdDogMDtcclxuXHRcdG1hcmdpbi1yaWdodDogMDtcclxuXHR9XHJcbn1cclxuXHJcbi5ibG9nLWNlbGwge1xyXG5cdEBpbmNsdWRlIHh5LWNlbGwoNCwgJGd1dHRlcnM6IDQ2KTtcclxuXHRtYXJnaW4tYm90dG9tOiByZW0tY2FsYyg0Nik7XHJcblx0cGFkZGluZy1ib3R0b206IHJlbS1jYWxjKDQ2KTtcclxuXHRib3JkZXItYm90dG9tOiA0cHggc29saWQgJGxpZ2h0LWdyYXk7XHJcblxyXG5cdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcclxuXHRcdEBpbmNsdWRlIHh5LWNlbGwoNiwgJGd1dHRlcnM6IDQ2KTtcclxuXHR9XHJcblxyXG5cdEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgZG93bikge1xyXG5cdFx0QGluY2x1ZGUgeHktY2VsbCgxMiwgJGd1dHRlcnM6IDApO1xyXG5cdH1cclxufVxyXG5cclxuLmJsb2ctY2VsbF9faW1hZ2Uge1xyXG5cdGRpc3BsYXk6IGJsb2NrO1xyXG5cdG92ZXJmbG93OiBoaWRkZW47XHJcblx0Ym9yZGVyLXJhZGl1czogMzBweCAwIDMwcHggMDtcclxuXHRtYXJnaW4tYm90dG9tOiByZW0tY2FsYygyMCk7XHJcblx0cG9zaXRpb246IHJlbGF0aXZlO1xyXG5cclxuXHQmOmFmdGVyIHtcclxuXHRcdGNvbnRlbnQ6ICcnO1xyXG5cdFx0cG9zaXRpb246IGFic29sdXRlO1xyXG5cdFx0dG9wOiAwO1xyXG5cdFx0Ym90dG9tOiAwO1xyXG5cdFx0d2lkdGg6IDEwMCU7XHJcblx0XHRib3JkZXI6IDEwcHggc29saWQgdHJhbnNwYXJlbnQ7XHJcblx0XHRib3JkZXItcmFkaXVzOiAzMHB4IDAgMzBweCAwO1xyXG5cdFx0dHJhbnNpdGlvbjogYm9yZGVyLWNvbG9yIDAuM3M7XHJcblx0fVxyXG5cclxuXHQmOmhvdmVyOmFmdGVyIHtcclxuXHRcdGJvcmRlcjogMTBweCBzb2xpZCByZ2JhKCRhcXVhLCAwLjcpO1xyXG5cdH1cclxuXHJcblxyXG5cdGltZyB7XHJcblx0XHRkaXNwbGF5OiBibG9jaztcclxuXHRcdHdpZHRoOiAxMDAlO1xyXG5cdH1cclxufVxyXG5cclxuLmJsb2ctY2VsbF9fY2F0ZWdvcmllcyB7XHJcblx0bWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMjApO1xyXG5cclxuXHQuYnRuIHtcclxuXHRcdG1hcmdpbi1yaWdodDogcmVtLWNhbGMoMTApO1xyXG5cdFx0bWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMTApO1xyXG5cclxuXHRcdCY6aG92ZXIge1xyXG5cdFx0XHRjb2xvcjogJG9yYW5nZTtcclxuXHRcdFx0YmFja2dyb3VuZC1jb2xvcjogJGxpZ2h0LWdyYXk7XHJcblx0XHR9XHJcblx0fVxyXG59XHJcblxyXG4uYmxvZy1jZWxsX19kYXRlIHtcclxuXHRtYXJnaW4tYm90dG9tOiByZW0tY2FsYygyMCk7XHJcblx0Y29sb3I6ICR0ZXh0LWdyYXk7XHJcbn1cclxuXHJcbi5ibG9nLWNlbGxfX3RpdGxlIHtcclxuXHRtYXJnaW4tYm90dG9tOiByZW0tY2FsYygzMCk7XHJcblx0ZGlzcGxheTogYmxvY2s7XHJcblxyXG5cdGgyIHtcclxuXHRcdGZvbnQtZmFtaWx5OiAkb3Blbi1zYW5zO1xyXG5cdFx0Zm9udC13ZWlnaHQ6IDcwMDtcclxuXHRcdGNvbG9yOiAkYmx1ZTtcclxuXHRcdG1hcmdpbi1ib3R0b206IDA7XHJcblx0XHR0cmFuc2l0aW9uOiBjb2xvciAwLjNzO1xyXG5cdH1cclxuXHJcblx0Jjpob3ZlciBoMiB7XHJcblx0XHRjb2xvcjogJGFxdWE7XHJcblx0fVxyXG59XHJcblxyXG4uYmxvZy1jZWxsX19yZWFkLW1vcmU6aG92ZXIge1xyXG5cdGJhY2tncm91bmQtY29sb3I6ICRkYXJrLW9yYW5nZTtcclxuXHRjb2xvcjogI2ZmZjtcclxufVxyXG5cclxuLmJsb2ctbGlzdGluZy1jb250ZW50LWJhbmQgLnBhZ2luYXRpb24ge1xyXG5cdG1hcmdpbi10b3A6IHJlbS1jYWxjKDM1KTtcclxufVxyXG5cclxuLyotLS0tLS0tLS0tICBCbG9nIGRldGFpbCAgLS0tLS0tLS0tLSovXHJcblxyXG4uYmxvZy1kZXRhaWwtcGFnZSAuc3RhbmRhcmQtdHdvLWNvbF9fbWFpbiB7XHJcblx0cGFkZGluZy10b3A6IHJlbS1jYWxjKDQ4KTtcclxuICBcdHBhZGRpbmctcmlnaHQ6IHJlbS1jYWxjKDU1KTtcclxufVxyXG5cclxuLmJsb2ctZGV0YWlsLXBhZ2UgLnN0YW5kYXJkLXR3by1jb2xfX3NpZGUge1xyXG5cdHBhZGRpbmctdG9wOiByZW0tY2FsYygxNjApO1xyXG59XHJcblxyXG5AaW5jbHVkZSBicmVha3BvaW50KCR0d28tY29sLWJyZWFrcG9pbnQgZG93bikge1xyXG5cdC5ibG9nLWRldGFpbC1wYWdlIC5zdGFuZGFyZC10d28tY29sX19tYWluIHtcclxuXHRcdHBhZGRpbmctcmlnaHQ6IDA7XHJcblx0fVxyXG5cdFxyXG5cdC5ibG9nLWRldGFpbC1wYWdlIC5jb250ZW50LWJhbmQtLWNvbGxhcHNlLXJpZ2h0IHtcclxuXHRcdHBhZGRpbmctcmlnaHQ6ICRtaW4tZ3V0dGVyO1xyXG5cdH1cclxuXHJcblx0LmJsb2ctZGV0YWlsLXBhZ2UgLnN0YW5kYXJkLXR3by1jb2xfX3NpZGUge1xyXG5cdFx0cGFkZGluZy10b3A6IHJlbS1jYWxjKDYwKTtcclxuXHR9XHJcbn1cclxuXHJcbi5ibG9nLWRldGFpbC1pbWFnZSB7XHJcblx0Ym9yZGVyLXJhZGl1czogMzBweCAwIDMwcHggMDtcdFxyXG5cdG92ZXJmbG93OiBoaWRkZW47XHJcblx0bWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMjUpO1xyXG5cclxuXHRpbWcge1xyXG5cdFx0d2lkdGg6IDEwMCU7XHJcblx0XHRkaXNwbGF5OiBibG9jaztcclxuXHR9XHJcbn1cclxuXHJcbi5ibG9nLWRldGFpbC1jYXRlZ29yaWVzIHtcclxuXHRtYXJnaW4tYm90dG9tOiByZW0tY2FsYygzMCk7XHJcblxyXG5cdC5idG4ge1xyXG5cdFx0bWFyZ2luLXJpZ2h0OiByZW0tY2FsYygyMCk7XHJcblx0XHRtYXJnaW4tYm90dG9tOiByZW0tY2FsYygxMCk7XHJcblx0XHRwYWRkaW5nLXJpZ2h0OiByZW0tY2FsYygxMCk7XHJcblx0XHRwYWRkaW5nLWxlZnQ6IHJlbS1jYWxjKDEwKTtcclxuXHJcblx0XHQmOmhvdmVyIHtcclxuXHRcdFx0Y29sb3I6ICRvcmFuZ2U7XHJcblx0XHRcdGJhY2tncm91bmQtY29sb3I6ICRsaWdodC1ncmF5O1xyXG5cdFx0fVxyXG5cdH1cclxufVxyXG5cclxuLmJsb2ctZGV0YWlsLWRhdGUge1xyXG5cdGNvbG9yOiAkdGV4dC1ncmF5O1xyXG5cdG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDIwKTtcclxufVxyXG5cclxuaDEuYmxvZy1kZXRhaWwtdGl0bGUge1xyXG5cdGZvbnQtZmFtaWx5OiAkb3Blbi1zYW5zO1xyXG5cdGZvbnQtd2VpZ2h0OiA3MDA7XHJcblx0Zm9udC1zaXplOiByZW0tY2FsYygzMCk7XHJcblx0bGluZS1oZWlnaHQ6IHJlbS1jYWxjKDM2KTtcclxuXHRjb2xvcjogJGJsdWU7XHJcblx0bWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMzApO1xyXG59XHJcblxyXG4uYmxvZy1kZXRhaWwtY29udGVudCB7XHJcblx0cGFkZGluZy10b3A6IHJlbS1jYWxjKDM1KTtcclxuXHRib3JkZXItdG9wOiA0cHggc29saWQgJGxpZ2h0LWdyYXk7XHJcblx0Y29sb3I6ICR0ZXh0LWdyYXk7XHJcblxyXG5cdHAgYSwgXHJcblx0bGkgYSB7XHJcblx0XHRjb2xvcjogJGFxdWE7XHJcblx0XHR0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcclxuXHR9XHJcbn1cclxuXHJcbi5zaWRlYmFyLXNlYXJjaCB7XHJcblx0cG9zaXRpb246IHJlbGF0aXZlO1xyXG5cdHBhZGRpbmctcmlnaHQ6IHJlbS1jYWxjKDgwKTtcclxuXHJcblx0YnV0dG9uIHtcclxuXHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuXHRcdHJpZ2h0OiAwO1xyXG5cdFx0dG9wOiByZW0tY2FsYygzKTtcclxuXHJcblx0XHQmOmhvdmVyIHtcclxuXHRcdFx0YmFja2dyb3VuZC1jb2xvcjogJGJsdWU7XHJcblx0XHRcdGNvbG9yOiAkZ29sZDtcclxuXHRcdH1cclxuXHR9XHJcbn1cclxuXHJcbi5ibG9nLWxpc3QtYmxvY2sgbGkge1xyXG5cdHBhZGRpbmctYm90dG9tOiByZW0tY2FsYygyMCk7XHJcblx0bWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMjApO1xyXG5cdGJvcmRlci1ib3R0b206IDJweCBzb2xpZCAjZmZmO1xyXG5cdFxyXG5cdGEge1xyXG5cdFx0Y29sb3I6ICRibHVlO1xyXG5cclxuXHRcdCY6aG92ZXIge1xyXG5cdFx0XHRjb2xvcjogJGRhcmstb3JhbmdlO1xyXG5cdFx0fVxyXG5cdH1cclxuXHJcblx0c3BhbiB7XHJcblx0XHRkaXNwbGF5OiBibG9jaztcclxuXHRcdGNvbG9yOiAkbWVkaXVtLWdyYXk7XHJcblx0XHRmb250LXdlaWdodDogNjAwO1xyXG5cdH1cclxuXHJcblx0JjpsYXN0LWNoaWxkIHtcclxuXHRcdGJvcmRlci1ib3R0b206IDA7XHJcblx0fVxyXG59XHJcblxyXG4uaW5saW5lLWxpc3QtYmxvY2sgdWwge1xyXG5cdG1hcmdpbi1sZWZ0OiAwO1xyXG5cclxuXHRsaSB7XHJcblx0XHRsaXN0LXN0eWxlOiBub25lO1xyXG5cdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG5cdFx0bWFyZ2luLXJpZ2h0OiByZW0tY2FsYygxMCk7XHJcblx0XHRtYXJnaW4tYm90dG9tOiByZW0tY2FsYygxMCk7XHJcblx0fVxyXG59IiwiLyoqXHJcbiAgT3VyIEltcGFjdCBQYWdlXHJcbiovXHJcblxyXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcclxuICBGaXJzdCBTZWN0aW9uLCBCbHVlIEJhY2tncm91bmQgd2l0aCBEYXJrIEJsdWUgc2lkZWJhciBvbiBMZWZ0L1JpZ2h0XHJcbiovXHJcbi5vdXItaW1wYWN0X190b3Age1xyXG4gIC53cmFwcGVyIHtcclxuICAgIHBhZGRpbmctdG9wOiByZW0tY2FsYyg4MCk7XHJcbiAgICBwYWRkaW5nLWJvdHRvbTogcmVtLWNhbGMoMTAwKTtcclxuICB9XHJcblxyXG4gIGNvbG9yOiAkd2hpdGU7XHJcbiAgXHJcbiAgJl9fd3JhcHBlciB7XHJcbiAgICBAaW5jbHVkZSB4eS1ncmlkKCk7XHJcbiAgICBAaW5jbHVkZSBncmlkLXJvdy1uZXN0KCRndXR0ZXItZGVmYXVsdCk7XHJcblxyXG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgfVxyXG5cclxuICAudG9wX19zaWRlYmFyIHtcclxuICAgIEBpbmNsdWRlIHh5LWNlbGwoNCk7XHJcblxyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xyXG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkocmVtLWNhbGMoLTEyMCkpO1xyXG4gICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYygtMTIwKTtcclxuICAgICAgQGluY2x1ZGUgeHktY2VsbCgxMik7XHJcbiAgICB9XHJcblxyXG4gICAgcGFkZGluZzogMCByZW0tY2FsYyg0MCk7XHJcblxyXG4gICAgJl9fd3JhcHBlciB7XHJcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRibHVlO1xyXG4gICAgICBwYWRkaW5nOiByZW0tY2FsYyg0MCkgcmVtLWNhbGMoMjApO1xyXG5cclxuICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAganVzdGlmeS1pdGVtczogY2VudGVyO1xyXG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG5cclxuICAgICAgaDIge1xyXG4gICAgICAgIHBhZGRpbmctdG9wOiByZW0tY2FsYygzMCk7XHJcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygzNSk7XHJcbiAgICAgICAgbGluZS1oZWlnaHQ6IHJlbS1jYWxjKDM3KTtcclxuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgICBtYXgtd2lkdGg6MTAwJTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLnRvcF9fY29udGVudCB7XHJcbiAgICBAaW5jbHVkZSB4eS1jZWxsKDgpO1xyXG5cclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoODMwIGRvd24pIHtcclxuICAgICAgQGluY2x1ZGUgeHktY2VsbCgxMik7XHJcbiAgICB9XHJcblxyXG4gICAgQGluY2x1ZGUgeHktZ3JpZCgpO1xyXG5cclxuICAgIC50b3BfX3N0YXRpc3RpYyB7XHJcbiAgICAgIEBpbmNsdWRlIHh5LWNlbGwoNik7XHJcbiAgICAgIHBhZGRpbmc6IHJlbS1jYWxjKDQwKSByZW0tY2FsYygyMCkgMDtcclxuXHJcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoNjcwIGRvd24pIHtcclxuICAgICAgICBAaW5jbHVkZSB4eS1jZWxsKDEyKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC5zdGF0aXN0aWNfX3dyYXBwZXIge1xyXG4gICAgICBAaW5jbHVkZSB4eS1ncmlkKCk7XHJcbiAgICAgIEBpbmNsdWRlIGdyaWQtcm93LW5lc3QoJGd1dHRlci1kZWZhdWx0KTtcclxuXHJcbiAgICAgIC5zdGF0aXN0aWNfX2ljb24ge1xyXG4gICAgICAgIEBpbmNsdWRlIHh5LWNlbGwoNCk7XHJcblxyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XHJcblxyXG5cclxuICAgICAgICAuc3RhdGlzdGljX19pY29uX193cmFwcGVyIHtcclxuICAgICAgICAgIHdpZHRoOiByZW0tY2FsYyg4MCk7XHJcbiAgICAgICAgICBoZWlnaHQ6IHJlbS1jYWxjKDgwKTtcclxuICAgICAgICAgIG1heC13aWR0aDogMTAwJTtcclxuICAgICAgICAgIG1heC1oZWlnaHQ6IDEwMCU7XHJcbiAgICAgICAgICBwYWRkaW5nOiAwO1xyXG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcclxuICAgICAgICAgIG1hcmdpbjogMDtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIC5zdGF0aXN0aWNfX3F1YW50aXR5IHtcclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcblxyXG4gICAgICAgIHN1cCB7XHJcbiAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDMzKTtcclxuICAgICAgICAgIGxpbmUtaGVpZ2h0OiByZW0tY2FsYyg1MCk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAuc3RhdGlzdGljX19xdWFudGl0eV9fdmFsdWUge1xyXG4gICAgICAgICAgY29sb3I6ICRnb2xkO1xyXG4gICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYyg3Mik7XHJcbiAgICAgICAgICBsaW5lLWhlaWdodDogcmVtLWNhbGMoNzUpO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLnN0YXRpc3RpY19fcXVhbnRpdHlfX2RldGFpbCB7XHJcbiAgICAgICAgICBjb2xvcjogJHdoaXRlO1xyXG4gICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygyMCk7XHJcbiAgICAgICAgICBsaW5lLWhlaWdodDogcmVtLWNhbGMoMjQpO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG5cclxuICAgICAgLnN0YXRpc3RpY19faW5mbyB7XHJcbiAgICAgICAgQGluY2x1ZGUgeHktY2VsbCgxMik7XHJcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTgpO1xyXG4gICAgICAgIGxpbmUtaGVpZ2h0OiByZW0tY2FsYygyOCk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxyXG4gIEZpcnN0IFNlY3Rpb24sIEJsdWUgQmFja2dyb3VuZCB3aXRoIERhcmsgQmx1ZSBzaWRlYmFyIG9uIExlZnQvUmlnaHRcclxuKi9cclxuLm91ci1pbXBhY3RfX21pZGRsZSB7XHJcblxyXG4gIC53cmFwcGVyIHtcclxuICAgIEBpbmNsdWRlIHh5LWdyaWQoKTtcclxuICB9XHJcbiAgXHJcbiAgLnN0YXRpc3RpY3NfX2NvbHVtbiB7XHJcbiAgICBAaW5jbHVkZSB4eS1jZWxsKDQpO1xyXG4gICAgcGFkZGluZzogcmVtLWNhbGMoNDApIHJlbS1jYWxjKDIwKTtcclxuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuXHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KDk1MCBkb3duKSB7XHJcbiAgICAgIEBpbmNsdWRlIHh5LWNlbGwoMTIpO1xyXG4gICAgICBib3JkZXItYm90dG9tOiAycHggZG90dGVkICRtZWRpdW0tZ3JheTtcclxuXHJcbiAgICAgICY6bnRoLWNoaWxkKG4rMSkge1xyXG4gICAgICAgIHBhZGRpbmctdG9wOiByZW0tY2FsYyg0MCk7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgICY6bGFzdC1jaGlsZCB7XHJcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogbm9uZTtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWShyZW0tY2FsYygtNzApKTtcclxuICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKC03MCk7XHJcblxyXG4gICAgY29sb3I6ICRtZWRpdW0tZ3JheTtcclxuICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTgpO1xyXG4gICAgbGluZS1oZWlnaHQ6IHJlbS1jYWxjKDI0KTtcclxuXHJcbiAgICAuaWNvbiB7XHJcbiAgICAgIG1hcmdpbjogMCBhdXRvO1xyXG4gICAgfVxyXG5cclxuICAgIGgyIHtcclxuICAgICAgY29sb3I6ICRkYXJrLW9yYW5nZTtcclxuICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XHJcbiAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMzUpO1xyXG4gICAgICBsaW5lLWhlaWdodDogcmVtLWNhbGMoMzgpO1xyXG4gICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG4gICAgICBtYXJnaW4tdG9wOiByZW0tY2FsYygyMCk7XHJcblxyXG4gICAgICAmOjphZnRlciB7XHJcbiAgICAgICAgY29udGVudDogJyc7XHJcbiAgICAgICAgaGVpZ2h0OiByZW0tY2FsYyg1KTtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZ29sZDtcclxuICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICBtYXJnaW46IHJlbS1jYWxjKDEwKSBhdXRvIHJlbS1jYWxjKDIwKTtcclxuICAgICAgICBtYXgtd2lkdGg6IHJlbS1jYWxjKDEwMCk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAmLmNvbHVtbi1jb2xvci1ibHVlIHtcclxuICAgICAgaDIge1xyXG4gICAgICAgIGNvbG9yOiAkYmx1ZTtcclxuICAgICAgfVxyXG5cclxuICAgICAgLnN0YXRpc3RpY3NfX2NvbHVtbl9fc3RhdHMge1xyXG4gICAgICAgIC5zdGF0aXN0aWNzX19jb2x1bW5fX3N0YXRpc3RpYyB7XHJcbiAgICAgICAgICAuc3RhdGlzdGljX19xdWFudGl0eV9fZGV0YWlsIHtcclxuICAgICAgICAgICAgY29sb3I6ICRibHVlO1xyXG4gICAgICAgICAgfVxyXG5cclxuICAgICAgICAgIC5zdGF0aXN0aWNfX3F1YW50aXR5X192YWx1ZSxcclxuICAgICAgICAgIC5zdGF0aXN0aWNfX2NvbnRhaW5lci10ZXh0IC5zdGF0aXN0aWNfX3F1YW50aXR5X192YWx1ZSB7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkYmx1ZTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAmLmNvbHVtbi1jb2xvci1vcmFuZ2Uge1xyXG4gICAgICBoMiB7XHJcbiAgICAgICAgY29sb3I6ICRvcmFuZ2U7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIC5zdGF0aXN0aWNzX19jb2x1bW5fX3N0YXRzIHtcclxuICAgICAgICAuc3RhdGlzdGljc19fY29sdW1uX19zdGF0aXN0aWMge1xyXG4gICAgICAgICAgLnN0YXRpc3RpY19fcXVhbnRpdHlfX2RldGFpbCB7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkbWVkaXVtLWdyYXk7XHJcbiAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgLnN0YXRpc3RpY19fcXVhbnRpdHlfX3ZhbHVlLFxyXG4gICAgICAgICAgLnN0YXRpc3RpY19fY29udGFpbmVyLXRleHQgLnN0YXRpc3RpY19fcXVhbnRpdHlfX3ZhbHVlIHtcclxuICAgICAgICAgICAgY29sb3I6ICRvcmFuZ2U7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLnN0YXRpc3RpY3NfX2NvbHVtbl9fc3RhdHMge1xyXG4gICAgICBtYXJnaW46IDAgcmVtLWNhbGMoNDApO1xyXG5cclxuICAgICAgLnN0YXRpc3RpY3NfX2NvbHVtbl9fc3RhdGlzdGljIHtcclxuICAgICAgICBwYWRkaW5nLWJvdHRvbTogcmVtLWNhbGMoMjApO1xyXG4gICAgICAgICY6bGFzdC1jaGlsZCB7XHJcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLnN0YXRpc3RpY19fcXVhbnRpdHlfX2RldGFpbCB7XHJcbiAgICAgICAgICBjb2xvcjogJGRhcmstb3JhbmdlO1xyXG4gICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygyMCk7XHJcbiAgICAgICAgICBsaW5lLWhlaWdodDogcmVtLWNhbGMoMjQpO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLnN0YXRpc3RpY19fY29udGFpbmVyLXRleHQge1xyXG4gICAgICAgICAgLnN0YXRpc3RpY19fcXVhbnRpdHlfX3ZhbHVlIHtcclxuICAgICAgICAgICAgY29sb3I6ICRkYXJrLW9yYW5nZTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC5zdGF0LWJsb2NrIHtcclxuICAgICAgICAgICY6OmJlZm9yZSB7XHJcbiAgICAgICAgICAgIGNvbnRlbnQ6IHVybCgvZGlzdC9pbWFnZXMvYXJyb3ctZGFyay1vcmFuZ2UtZG93bi5zdmcpO1xyXG4gICAgICAgICAgfVxyXG5cclxuICAgICAgICAgIC5zdGF0LWJsb2NrX19maWd1cmUge1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoL2Rpc3QvaW1hZ2VzL3N0YXQtYmctd2hpdGUuc3ZnKTtcclxuICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAuc3RhdGlzdGljX19pbmZvIHtcclxuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxyXG4gIEZpcnN0IFNlY3Rpb24sIEJsdWUgQmFja2dyb3VuZCB3aXRoIERhcmsgQmx1ZSBzaWRlYmFyIG9uIExlZnQvUmlnaHRcclxuKi9cclxuLm91ci1pbXBhY3RfX2JvdHRvbSB7XHJcbiAgY29sb3I6ICR3aGl0ZTtcclxuXHJcbiAgQGluY2x1ZGUgYnJlYWtwb2ludCg4MDAgZG93bikge1xyXG4gICAgbWFyZ2luLXRvcDogcmVtLWNhbGMoNDApO1xyXG4gIH1cclxuICBcclxuICAmX193cmFwcGVyIHtcclxuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgIHBhZGRpbmctdG9wOiByZW0tY2FsYyg4MCk7XHJcbiAgICBwYWRkaW5nLWJvdHRvbTogcmVtLWNhbGMoMTAwKTtcclxuXHJcbiAgICBAaW5jbHVkZSB4eS1ncmlkKCk7XHJcbiAgICBAaW5jbHVkZSBncmlkLXJvdy1uZXN0KCRndXR0ZXItZGVmYXVsdCk7XHJcblxyXG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgfVxyXG5cclxuICAuYm90dG9tX19zaWRlYmFyIHtcclxuICAgIEBpbmNsdWRlIHh5LWNlbGwoNCk7XHJcbiAgICBwYWRkaW5nOiAwIHJlbS1jYWxjKDQwKTtcclxuXHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KDgwMCBkb3duKSB7XHJcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWShyZW0tY2FsYygtMTIwKSk7XHJcbiAgICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKC0xMjApO1xyXG4gICAgICBAaW5jbHVkZSB4eS1jZWxsKDEyKTtcclxuICAgIH1cclxuXHJcbiAgICAuc3RhdGlzdGljX193cmFwcGVyIHtcclxuICAgICAgLnN0YXRpc3RpY19fcXVhbnRpdHkge1xyXG4gICAgICAgIC5zdGF0aXN0aWNfX3F1YW50aXR5X192YWx1ZSB7XHJcbiAgICAgICAgICBjb2xvcjogJHdoaXRlO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLnN0YXRpc3RpY19fcXVhbnRpdHlfX2RldGFpbCB7XHJcbiAgICAgICAgICBjb2xvcjogJGdvbGQ7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgJl9fd3JhcHBlciB7XHJcbiAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgIGp1c3RpZnktaXRlbXM6IGNlbnRlcjtcclxuICAgICAgYWxpZ24tY29udGVudDogY2VudGVyO1xyXG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG5cclxuICAgICAgLmljb24ge1xyXG4gICAgICAgIGFsaWduLXNlbGY6IGNlbnRlcjtcclxuICAgICAgfVxyXG5cclxuICAgICAgaDIge1xyXG4gICAgICAgIGNvbG9yOiAkd2hpdGU7XHJcbiAgICAgICAgcGFkZGluZy10b3A6IHJlbS1jYWxjKDMwKTtcclxuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDM1KTtcclxuICAgICAgICBsaW5lLWhlaWdodDogcmVtLWNhbGMoMzcpO1xyXG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcblxyXG4gICAgICAgICY6OmFmdGVyIHtcclxuICAgICAgICAgIGNvbnRlbnQ6ICcnO1xyXG4gICAgICAgICAgaGVpZ2h0OiByZW0tY2FsYyg1KTtcclxuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRnb2xkO1xyXG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgICBtYXJnaW46IHJlbS1jYWxjKDEwKSBhdXRvIHJlbS1jYWxjKDIwKTtcclxuICAgICAgICAgIG1heC13aWR0aDogcmVtLWNhbGMoMTAwKTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIC5ib3R0b21fX2NvbnRlbnQge1xyXG4gICAgQGluY2x1ZGUgeHktY2VsbCg4KTtcclxuXHJcbiAgICBjb2xvcjogJG1lZGl1bS1ncmF5O1xyXG4gICAgbWFyZ2luLXRvcDogcmVtLWNhbGMoMzApO1xyXG4gICAgcGFkZGluZzogcmVtLWNhbGMoNDApIDAgcmVtLWNhbGMoMTApO1xyXG5cclxuICAgIGJhY2tncm91bmQtY29sb3I6ICRsaWdodC1ncmF5O1xyXG5cclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoODAwIGRvd24pIHtcclxuICAgICAgQGluY2x1ZGUgeHktY2VsbCgxMik7XHJcbiAgICAgIG1hcmdpbi10b3A6IHJlbS1jYWxjKDYwKTtcclxuICAgIH1cclxuXHJcbiAgICAmX193cmFwcGVyIHtcclxuICAgICAgQGluY2x1ZGUgeHktZ3JpZCgpO1xyXG4gICAgICBAaW5jbHVkZSBncmlkLXJvdy1uZXN0KCRndXR0ZXItZGVmYXVsdCk7XHJcblxyXG4gICAgICAuYm90dG9tX19jb250ZW50X19jb2x1bW4ge1xyXG4gICAgICAgIEBpbmNsdWRlIHh5LWNlbGwoNik7XHJcblxyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoMTAxMCBkb3duKSB7XHJcbiAgICAgICAgICBAaW5jbHVkZSB4eS1jZWxsKDEyKTtcclxuXHJcbiAgICAgICAgICAmLmJvdHRvbV9fY29udGVudF9fc3RhdGlzdGljcyB7XHJcbiAgICAgICAgICAgIHBhZGRpbmctdG9wOiByZW0tY2FsYyg0MCk7XHJcbiAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiByZW0tY2FsYyg0MCk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAmLmJvdHRvbV9fY29udGVudF9fZGV0YWlscyB7XHJcbiAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkocmVtLWNhbGMoLTcwKSk7XHJcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYygtNzApO1xyXG4gICAgICAgICAgcGFkZGluZzogMCByZW0tY2FsYyg0MCk7XHJcblxyXG4gICAgICAgICAgLmljb24ge1xyXG4gICAgICAgICAgICBtYXJnaW46IDAgYXV0bztcclxuICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICBoMyB7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkYXF1YTtcclxuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygzNSk7XHJcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiByZW0tY2FsYygzNCk7XHJcbiAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcbiAgICAgICAgICAgIG1hcmdpbjogcmVtLWNhbGMoMjApIDA7XHJcblxyXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KDQwMCBkb3duKSB7XHJcbiAgICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygyNCk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgICYuYm90dG9tX19jb250ZW50X19zdGF0aXN0aWNzIHtcclxuICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcblxyXG4gICAgICAgICAgLmJvdHRvbV9fc3RhdGlzdGljIHtcclxuICAgICAgICAgICAgbWFyZ2luOiAwIHJlbS1jYWxjKDQwKTtcclxuICAgICAgICAgICAgLnN0YXRpc3RpY19fd3JhcHBlciB7XHJcbiAgICAgICAgICAgICAgLnN0YXRpc3RpY19fcXVhbnRpdHkge1xyXG4gICAgICAgICAgICAgICAgJjo6YWZ0ZXIge1xyXG4gICAgICAgICAgICAgICAgICBjb250ZW50OiAnJztcclxuICAgICAgICAgICAgICAgICAgaGVpZ2h0OiByZW0tY2FsYyg1KTtcclxuICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGdvbGQ7XHJcbiAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgICAgICAgICAgICBtYXJnaW46IHJlbS1jYWxjKDEwKSBhdXRvIHJlbS1jYWxjKDIwKTtcclxuICAgICAgICAgICAgICAgICAgbWF4LXdpZHRoOiByZW0tY2FsYygxMDApO1xyXG4gICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgIC5zdGF0aXN0aWNfX3F1YW50aXR5X192YWx1ZSB7XHJcbiAgICAgICAgICAgICAgICAgIGNvbG9yOiAkb3JhbmdlO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgIFxyXG4gICAgICAgICAgICAgICAgLnN0YXRpc3RpY19fcXVhbnRpdHlfX2RldGFpbCB7XHJcbiAgICAgICAgICAgICAgICAgIGNvbG9yOiAkbWVkaXVtLWdyYXk7XHJcbiAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMjApO1xyXG4gICAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogcmVtLWNhbGMoMjQpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxufSIsIiRzdGVwcy1icmVha3BvaW50OiA3NjA7XHJcblxyXG4uc3RlcHMtcGFnZSAuc3RhbmRhcmQtaGVybyBoMSBpbWcge1xyXG5cdHdpZHRoOiByZW0tY2FsYygyNDcpO1xyXG5cdGhlaWdodDogcmVtLWNhbGMoODIpO1xyXG5cdGRpc3BsYXk6IGJsb2NrO1xyXG5cdG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDEwKTtcclxufVxyXG5cclxuLnN0ZXBzLWNvbnRhaW5lciB7XHJcblx0cGFkZGluZy1sZWZ0OiByZW0tY2FsYyg1MCk7XHJcblxyXG5cdEBpbmNsdWRlIGJyZWFrcG9pbnQoJHN0ZXBzLWJyZWFrcG9pbnQgZG93bikge1xyXG5cdFx0cGFkZGluZy1sZWZ0OiAwO1xyXG5cdH1cclxufVxyXG5cclxuLnN0ZXBzLWNvbnRlbnQge1xyXG5cdHBhZGRpbmc6IHJlbS1jYWxjKDEwMCkgMDtcclxuXHRib3JkZXItbGVmdDogcmVtLWNhbGMoMTEwKSBzb2xpZCAkYXF1YTtcclxuXHJcblx0QGluY2x1ZGUgYnJlYWtwb2ludCgkc3RlcHMtYnJlYWtwb2ludCBkb3duKSB7XHJcblx0XHRib3JkZXItbGVmdDogMDtcclxuXHRcdHBhZGRpbmctdG9wOiAwO1xyXG5cclxuXHRcdC5zdGVwOmZpcnN0LWNoaWxkIHtcclxuXHRcdFx0bWFyZ2luLXRvcDogLSByZW0tY2FsYyg2NSk7XHJcblx0XHR9XHJcblx0fVxyXG59XHJcblxyXG4uc3RlcCB7XHJcblx0cG9zaXRpb246IHJlbGF0aXZlO1xyXG59XHJcblxyXG4uc3RlcF9faWNvbiB7XHJcblx0cG9zaXRpb246IGFic29sdXRlO1xyXG5cdHRvcDogMDtcclxuXHRsZWZ0OiAtIHJlbS1jYWxjKDE0MCk7XHJcblx0dG9wOiAtIHJlbS1jYWxjKDgwKTtcclxuXHRib3JkZXI6IDJweCBzb2xpZCAkbGlnaHQtZ3JheTtcclxuXHRkaXNwbGF5OiBmbGV4O1xyXG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcblx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcclxuXHRib3JkZXItcmFkaXVzOiA1MCU7XHJcblx0d2lkdGg6IHJlbS1jYWxjKDE2MCk7XHJcblx0aGVpZ2h0OiByZW0tY2FsYygxNjApO1xyXG5cclxuXHRpbWcge1xyXG5cdFx0d2lkdGg6IHJlbS1jYWxjKDgwKTtcclxuXHRcdGhlaWdodDogYXV0bztcclxuXHR9XHJcblxyXG5cdEBpbmNsdWRlIGJyZWFrcG9pbnQoJHN0ZXBzLWJyZWFrcG9pbnQgZG93bikge1xyXG5cdFx0cG9zaXRpb246IHN0YXRpYztcclxuXHRcdG1hcmdpbjogMCBhdXRvIHJlbS1jYWxjKDMwKSBhdXRvO1xyXG5cdFx0d2lkdGg6IHJlbS1jYWxjKDEzMCk7XHJcblx0XHRoZWlnaHQ6IHJlbS1jYWxjKDEzMCk7XHJcblxyXG5cdFx0aW1nIHtcclxuXHRcdFx0d2lkdGg6IHJlbS1jYWxjKDYwKTtcclxuXHRcdFx0aGVpZ2h0OiBhdXRvO1xyXG5cdFx0fVxyXG5cdH1cclxufVxyXG5cclxuLnN0ZXBfX2hlYWRpbmcge1xyXG5cdGJvcmRlci10b3A6IDJweCBkb3R0ZWQgJG1lZGl1bS1ncmF5O1xyXG5cdFxyXG5cdGgyIHtcclxuXHRcdGZsb2F0OiBsZWZ0O1xyXG5cdFx0aGVpZ2h0OiByZW0tY2FsYygzMCk7XHJcblx0XHRtYXJnaW4tdG9wOiAtIHJlbS1jYWxjKDE1KTtcclxuXHRcdG1hcmdpbi1ib3R0b206IDA7XHJcblx0XHRtaW4td2lkdGg6IHJlbS1jYWxjKDM2NCk7XHJcblx0XHRwYWRkaW5nLWxlZnQ6IHJlbS1jYWxjKDUwKTtcclxuXHRcdGJhY2tncm91bmQ6ICRkYXJrLW9yYW5nZTtcclxuXHRcdGZvbnQtc2l6ZTogcmVtLWNhbGMoMjIpO1xyXG5cdFx0bGluZS1oZWlnaHQ6IHJlbS1jYWxjKDM0KTtcclxuXHRcdGNvbG9yOiAjZmZmO1xyXG5cdFx0dGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuXHRcdGZvbnQtd2VpZ2h0OiA3MDA7XHJcblx0XHRmb250LWZhbWlseTogJGpvc2VmaW4tc2FucztcclxuXHR9XHJcblxyXG5cdEBpbmNsdWRlIGJyZWFrcG9pbnQoJHN0ZXBzLWJyZWFrcG9pbnQgZG93bikge1xyXG5cdFx0Ym9yZGVyLXRvcDogMDtcclxuXHJcblx0XHRoMiB7XHJcblx0XHRcdG1pbi13aWR0aDogMDtcclxuXHRcdFx0ZGlzcGxheTogYmxvY2s7XHJcblx0XHRcdGZsb2F0OiBub25lO1xyXG5cdFx0XHRtYXJnaW4tdG9wOiAwO1xyXG5cdFx0XHRwYWRkaW5nLWxlZnQ6ICRtaW4tZ3V0dGVyO1xyXG5cdFx0XHRwYWRkaW5nLXJpZ2h0OiAkbWluLWd1dHRlcjtcclxuXHRcdFx0dGV4dC1hbGlnbjogY2VudGVyO1xyXG5cdFx0fVxyXG5cdH1cclxufVxyXG5cclxuLnN0ZXBfX2xpc3Qge1xyXG5cdG1hcmdpbi10b3A6IC0gcmVtLWNhbGMoMSk7XHJcblx0bWFyZ2luLWxlZnQ6IHJlbS1jYWxjKDEwMCk7XHJcblx0bWluLWhlaWdodDogcmVtLWNhbGMoMjAwKTtcclxuXHRwYWRkaW5nLXRvcDogcmVtLWNhbGMoMzApO1xyXG5cdHBhZGRpbmctYm90dG9tOiByZW0tY2FsYyg5MCk7XHJcblx0Ym9yZGVyLWxlZnQ6IDJweCBzb2xpZCAkbGlnaHQtZ3JheTtcclxuXHJcblx0QGluY2x1ZGUgYnJlYWtwb2ludCgkc3RlcHMtYnJlYWtwb2ludCBkb3duKSB7XHJcblx0XHRtYXJnaW4tdG9wOiAwO1xyXG5cdFx0bWFyZ2luLWxlZnQ6IDA7XHJcblx0XHRib3JkZXItbGVmdDogMDtcclxuXHRcdHBhZGRpbmctbGVmdDogMDtcclxuXHRcdHBhZGRpbmctYm90dG9tOiAzMHB4O1xyXG5cdH1cclxufVxyXG5cclxuLnN0ZXA6bGFzdC1jaGlsZCAuc3RlcF9fbGlzdCB7XHJcblx0cGFkZGluZy1ib3R0b206IDA7XHJcblx0bWluLWhlaWdodDogMDtcclxufVxyXG5cclxuLnN0ZXBzLWFjY29yZGlvbiB7XHJcblx0Ym9yZGVyOiAwO1xyXG5cdHBhZGRpbmctcmlnaHQ6IHJlbS1jYWxjKDQwKTtcclxuXHJcblx0LmFjY29yZGlvbi10aXRsZSB7XHJcblx0XHRib3JkZXI6IDAgIWltcG9ydGFudDtcclxuXHRcdHBhZGRpbmctdG9wOiByZW0tY2FsYygyMyk7XHJcblx0XHRwYWRkaW5nLWJvdHRvbTogcmVtLWNhbGMoMTcpO1xyXG5cdFx0cGFkZGluZy1sZWZ0OiByZW0tY2FsYygzMCk7XHJcblx0XHRmb250LXNpemU6IHJlbS1jYWxjKDI0KTtcclxuXHRcdGZvbnQtZmFtaWx5OiAkam9zZWZpbi1zYW5zO1xyXG5cdFx0dGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuXHRcdGNvbG9yOiAkYXF1YTtcclxuXHRcdGZvbnQtd2VpZ2h0OiA3MDA7XHJcblxyXG5cdFx0JjpiZWZvcmUge1xyXG5cdFx0XHR0b3A6IDUwJTtcclxuXHRcdFx0bWFyZ2luLXRvcDogLSByZW0tY2FsYygxNSk7XHJcblx0XHRcdGxlZnQ6IC0gcmVtLWNhbGMoMTUpO1xyXG5cdFx0XHRyaWdodDogYXV0bztcclxuXHRcdFx0Y29sb3I6ICNmZmY7XHJcblx0XHRcdGJhY2tncm91bmQtY29sb3I6ICRhcXVhO1xyXG5cdFx0XHR3aWR0aDogcmVtLWNhbGMoMzApO1xyXG5cdFx0XHRoZWlnaHQ6IHJlbS1jYWxjKDMwKTtcclxuXHRcdFx0Ym9yZGVyLXJhZGl1czogcmVtLWNhbGMoMzApO1xyXG5cdFx0XHRkaXNwbGF5OiBmbGV4O1xyXG5cdFx0XHRhbGlnbi1pdGVtczogY2VudGVyO1xyXG5cdFx0XHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuXHRcdH1cclxuXHJcblx0XHQmOmhvdmVyLFxyXG5cdFx0Jjpmb2N1cyB7XHJcblx0XHRcdGJhY2tncm91bmQtY29sb3I6ICNmZmY7XHJcblx0XHR9XHJcblx0fVxyXG5cclxuXHQuYWNjb3JkaW9uLWNvbnRlbnQge1xyXG5cdFx0Ym9yZGVyOiAwO1xyXG5cdFx0YmFja2dyb3VuZC1jb2xvcjogJGxpZ2h0LWdyYXk7XHJcblx0XHRwYWRkaW5nOiByZW0tY2FsYygyMCk7XHJcblxyXG5cdFx0cDpsYXN0LWNoaWxkIHtcclxuXHRcdFx0bWFyZ2luLWJvdHRvbTogMDtcclxuXHRcdH1cclxuXHR9XHJcblxyXG5cdEBpbmNsdWRlIGJyZWFrcG9pbnQoJHN0ZXBzLWJyZWFrcG9pbnQgZG93bikge1xyXG5cdFx0cGFkZGluZy1yaWdodDogMDtcclxuXHJcblx0XHQuYWNjb3JkaW9uLXRpdGxlIHtcclxuXHRcdFx0cGFkZGluZy1sZWZ0OiByZW0tY2FsYyg0MCk7XHJcblx0XHRcdGZvbnQtc2l6ZTogcmVtLWNhbGMoMTgpO1xyXG5cdFx0fVxyXG5cclxuXHRcdC5hY2NvcmRpb24tdGl0bGU6YmVmb3JlIHtcclxuXHRcdFx0bGVmdDogcmVtLWNhbGMoMTApO1xyXG5cdFx0XHR3aWR0aDogcmVtLWNhbGMoMjApO1xyXG5cdFx0XHRoZWlnaHQ6IHJlbS1jYWxjKDIwKTtcclxuXHRcdFx0Ym9yZGVyLXJhZGl1czogcmVtLWNhbGMoMTApO1xyXG5cdFx0XHRtYXJnaW4tdG9wOiAtIHJlbS1jYWxjKDEwKTtcclxuXHRcdH1cclxuXHR9XHJcbn1cclxuXHJcbi5zdGVwcy1hY2NvcmRpb24gLmFjY29yZGlvbi1pdGVtLmlzLWFjdGl2ZSAuYWNjb3JkaW9uLXRpdGxlIHtcclxuXHRjb2xvcjogJGJsdWU7XHJcblxyXG5cdCY6YmVmb3JlIHtcclxuXHRcdGJhY2tncm91bmQtY29sb3I6ICRibHVlO1xyXG5cdH1cclxufVxyXG5cclxuLy8gUGF0Y2ggdG8gY292ZXIgdXAgbGVmdCBib3JkZXIgYXQgYm90dG9tIG9mIGFjY29yZGlvbiBzZXJpZXNcclxuLnN0ZXA6bGFzdC1jaGlsZCAuYWNjb3JkaW9uLWl0ZW06bGFzdC1jaGlsZCB7XHJcblx0cG9zaXRpb246IHJlbGF0aXZlO1xyXG59XHJcblxyXG4uc3RlcDpsYXN0LWNoaWxkIC5hY2NvcmRpb24taXRlbTpsYXN0LWNoaWxkOmFmdGVyIHtcclxuXHRjb250ZW50OiAnJztcclxuXHR3aWR0aDogcmVtLWNhbGMoNik7XHJcblx0aGVpZ2h0OiByZW0tY2FsYygxNyk7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcclxuXHRwb3NpdGlvbjogYWJzb2x1dGU7XHJcblx0bGVmdDogLSByZW0tY2FsYyg0KTtcclxuXHR0b3A6IHJlbS1jYWxjKDQ3KTtcclxufVxyXG5cclxuLnN0ZXA6bGFzdC1jaGlsZCAuYWNjb3JkaW9uLWl0ZW0uaXMtYWN0aXZlOmxhc3QtY2hpbGQ6YWZ0ZXIge1xyXG5cdGRpc3BsYXk6IG5vbmU7XHJcbn0iLCIuc3RhZmYtY29udGVudC1iYW5kIHtcclxuXHRwYWRkaW5nLXRvcDogcmVtLWNhbGMoODApO1xyXG5cdHBhZGRpbmctYm90dG9tOiByZW0tY2FsYyg4MCk7XHJcbn1cclxuXHJcbi5zdGFmZi1wYWdlIC5zdGFuZGFyZC1oZXJvIHAge1xyXG5cdG1hcmdpbi1ib3R0b206IDA7XHJcbn1cclxuXHJcbi5sZ2J0cS1iYWRnZSB7XHJcblx0Y29sb3I6ICR0ZXh0LWdyYXk7XHJcblx0bWFyZ2luLXRvcDogcmVtLWNhbGMoMTApO1xyXG59XHJcblxyXG4uc3RhZmYtZ3JvdXAtaGVhZGluZyB7XHJcblx0Ym9yZGVyLWJvdHRvbTogMnB4IGRvdHRlZCAkbWVkaXVtLWdyYXk7XHJcblx0dGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuXHRjb2xvcjogJGFxdWE7XHJcblx0Zm9udC13ZWlnaHQ6IDYwMDtcclxuXHRmb250LXNpemU6IHJlbS1jYWxjKDUxKTtcclxuXHRsaW5lLWhlaWdodDogcmVtLWNhbGMoNTEpO1xyXG5cdG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDMwKTtcclxuXHRtYXJnaW4tdG9wOiByZW0tY2FsYyg5MCk7XHJcblxyXG5cdCY6Zmlyc3QtY2hpbGQge1xyXG5cdFx0bWFyZ2luLXRvcDogMDtcclxuXHR9XHJcblxyXG5cdEBpbmNsdWRlIGJyZWFrcG9pbnQoNzYwIGRvd24pIHtcclxuXHRcdGZvbnQtc2l6ZTogcmVtLWNhbGMoNDApO1xyXG5cdH1cclxufVxyXG5cclxuLnN0YWZmLWFjY29yZGlvbiB7XHJcblxyXG5cdC5hY2NvcmRpb24tdGl0bGUge1xyXG5cdFx0Ym9yZGVyOiAwICFpbXBvcnRhbnQ7XHJcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkbGlnaHQtZ3JheTtcclxuXHRcdHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcblx0XHRjb2xvcjogJGFxdWE7XHJcblx0XHR0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG5cdFx0Zm9udC1mYW1pbHk6ICRqb3NlZmluLXNhbnM7XHJcblx0XHRmb250LXdlaWdodDogNjAwO1xyXG5cdFx0Zm9udC1zaXplOiByZW0tY2FsYygyOCk7XHJcblx0XHRwYWRkaW5nLXRvcDogcmVtLWNhbGMoMjMpO1xyXG5cdFx0cGFkZGluZy1ib3R0b206IHJlbS1jYWxjKDE3KTtcclxuXHRcdHBhZGRpbmctbGVmdDogcmVtLWNhbGMoNjUpO1xyXG5cclxuXHRcdCY6YmVmb3JlIHtcclxuXHRcdFx0dG9wOiA1MCU7XHJcblx0XHRcdG1hcmdpbi10b3A6IC0gcmVtLWNhbGMoMTUpO1xyXG5cdFx0XHRsZWZ0OiByZW0tY2FsYygyMCk7XHJcblx0XHRcdHJpZ2h0OiBhdXRvO1xyXG5cdFx0XHRjb2xvcjogI2ZmZjtcclxuXHRcdFx0YmFja2dyb3VuZC1jb2xvcjogJGFxdWE7XHJcblx0XHRcdHdpZHRoOiByZW0tY2FsYygzMCk7XHJcblx0XHRcdGhlaWdodDogcmVtLWNhbGMoMzApO1xyXG5cdFx0XHRib3JkZXItcmFkaXVzOiByZW0tY2FsYygzMCk7XHJcblx0XHRcdGRpc3BsYXk6IGZsZXg7XHJcblx0XHRcdGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcblx0XHRcdGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG5cdFx0fVxyXG5cclxuXHRcdCY6aG92ZXIsXHJcblx0XHQmOmZvY3VzIHtcclxuXHRcdFx0YmFja2dyb3VuZC1jb2xvcjogJGxpZ2h0LWdyYXk7XHJcblx0XHR9XHJcblxyXG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludCg3NjAgZG93bikge1xyXG5cdFx0XHRmb250LXNpemU6IHJlbS1jYWxjKDIwKTtcclxuXHRcdH1cclxuXHR9XHJcblxyXG5cdC5pcy1hY3RpdmUgLmFjY29yZGlvbi10aXRsZSB7XHJcblx0XHRjb2xvcjogJGJsdWU7XHJcblxyXG5cdFx0JjpiZWZvcmUge1xyXG5cdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkYmx1ZTtcclxuXHRcdH1cclxuXHR9XHJcblxyXG5cdCY6bGFzdC1jaGlsZCB7XHJcblx0XHRtYXJnaW4tYm90dG9tOiAwO1xyXG5cdH1cclxuXHJcblx0LmFjY29yZGlvbi1jb250ZW50IHtcclxuXHRcdHBhZGRpbmctdG9wOiByZW0tY2FsYygzMCk7XHJcblx0XHRwYWRkaW5nLWJvdHRvbTogcmVtLWNhbGMoMzApO1xyXG5cdH1cclxufVxyXG5cclxuLnN0YWZmLWdyaWQge1xyXG5cdEBpbmNsdWRlIHh5LWdyaWQ7XHJcblx0QGluY2x1ZGUgZ3JpZC1yb3ctbmVzdCgyMCk7XHJcblxyXG5cdEBpbmNsdWRlIGJyZWFrcG9pbnQoNTIwIGRvd24pIHtcclxuXHRcdEBpbmNsdWRlIGdyaWQtcm93LW5lc3QoMCk7XHJcblx0fVxyXG59XHJcblxyXG4uc3RhZmYtZ3JpZF9fY2VsbCB7XHJcblx0QGluY2x1ZGUgeHktY2VsbCgzLCAkZ3V0dGVyczogMjApO1xyXG5cdG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDUwKTtcclxuXHJcblx0aDMge1xyXG5cdFx0Y29sb3I6ICRibHVlO1xyXG5cdFx0Zm9udC1zaXplOiByZW0tY2FsYygyMik7XHJcblx0XHRmb250LXdlaWdodDogNjAwO1xyXG5cdFx0bWFyZ2luLWJvdHRvbTogMDtcclxuXHR9XHJcblxyXG5cdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcclxuXHRcdEBpbmNsdWRlIHh5LWNlbGwoMywgJGd1dHRlcnM6IDIwKTtcclxuXHR9XHJcblxyXG5cdEBpbmNsdWRlIGJyZWFrcG9pbnQoOTAwIGRvd24pIHtcclxuXHRcdEBpbmNsdWRlIHh5LWNlbGwoNCwgJGd1dHRlcnM6IDIwKTtcclxuXHR9XHJcblxyXG5cdEBpbmNsdWRlIGJyZWFrcG9pbnQoNzYwIGRvd24pIHtcclxuXHRcdEBpbmNsdWRlIHh5LWNlbGwoNiwgJGd1dHRlcnM6IDIwKTtcclxuXHR9XHJcblxyXG5cdEBpbmNsdWRlIGJyZWFrcG9pbnQoNTIwIGRvd24pIHtcclxuXHRcdEBpbmNsdWRlIHh5LWNlbGwoMTIsICRndXR0ZXJzOiAwKTtcclxuXHR9XHJcbn1cclxuXHJcbi5zdGFmZi1ncmlkX19jZWxsLS1sZ2J0cS1mcmllbmRseSBoMyB7XHJcblx0Y29sb3I6ICRhcXVhO1xyXG59XHJcblxyXG4ubWVtYmVyLWpvYi10aXRsZSB7XHJcblx0Zm9udC1mYW1pbHk6ICRqb3NlZmluLXNhbnM7XHJcblx0Zm9udC1zaXplOiByZW0tY2FsYygxNCk7XHJcblx0dGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuXHRjb2xvcjogJGRhcmstb3JhbmdlO1xyXG5cdGZvbnQtd2VpZ2h0OiA3MDA7XHJcbn1cclxuXHJcbi5tZW1iZXItcmVnaW9uLFxyXG4ubWVtYmVyLXBob25lIHtcclxuXHRjb2xvcjogJHRleHQtZ3JheTtcclxuXHRmb250LXNpemU6IHJlbS1jYWxjKDE2KTtcclxuXHJcblx0YSB7XHJcblx0XHRjb2xvcjogJHRleHQtZ3JheTtcclxuXHR9XHJcbn1cclxuXHJcbi5tZW1iZXItZW1haWwge1xyXG5cdG1hcmdpbi10b3A6IHJlbS1jYWxjKDE1KTtcclxuXHJcblx0LmJ0bjpob3ZlciB7XHJcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkZGFyay1vcmFuZ2U7XHJcblx0XHRjb2xvcjogI2ZmZjtcclxuXHR9XHJcbn1cclxuXHJcbi8vIEZlYXR1cmVkIGxlYWRlciAoZmlyc3QgaW4gRXhlY3V0aXZlIExlYWRlcnNoaXApXHJcbi5zdGFmZi1mZWF0dXJlZCB7XHJcblx0bWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoNDApO1xyXG5cclxuXHQuc3RhZmYtZ3JpZF9fY2VsbC0tZmVhdHVyZWQge1xyXG5cdFx0d2lkdGg6IDEwMCU7XHJcblx0XHRtYXgtd2lkdGg6IDEwMCU7XHJcblx0XHRmbGV4OiAwIDAgMTAwJTtcclxuXHR9XHJcblxyXG5cdC5zdGFmZi1jYXJkX190cmlnZ2VyIHtcclxuXHRcdGRpc3BsYXk6IGZsZXg7XHJcblx0XHRmbGV4LXdyYXA6IHdyYXA7XHJcblx0XHRhbGlnbi1pdGVtczogZmxleC1zdGFydDtcclxuXHRcdGdhcDogcmVtLWNhbGMoMzApO1xyXG5cdH1cclxuXHJcblx0LnN0YWZmLWNhcmRfX3Bob3RvIHtcclxuXHRcdHdpZHRoOiAxMDAlO1xyXG5cdFx0bWF4LXdpZHRoOiByZW0tY2FsYygyODApO1xyXG5cdH1cclxuXHJcblx0LnN0YWZmLWNhcmRfX2JvZHkge1xyXG5cdFx0ZmxleDogMTtcclxuXHRcdG1pbi13aWR0aDogcmVtLWNhbGMoMjAwKTtcclxuXHR9XHJcbn1cclxuXHJcbi5zdGFmZi1jYXJkIHtcclxuXHRtYXJnaW4tYm90dG9tOiAwO1xyXG59XHJcblxyXG4uc3RhZmYtY2FyZC0taGFzLWJpbyB7XHJcblx0Y3Vyc29yOiBwb2ludGVyO1xyXG59XHJcblxyXG4uc3RhZmYtY2FyZF9fcGhvdG8ge1xyXG5cdHdpZHRoOiAxMDAlO1xyXG5cdGFzcGVjdC1yYXRpbzogMjAwIC8gMjUwO1xyXG5cdG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDE1KTtcclxuXHRvdmVyZmxvdzogaGlkZGVuO1xyXG5cclxuXHRpbWcge1xyXG5cdFx0ZGlzcGxheTogYmxvY2s7XHJcblx0XHR3aWR0aDogMTAwJTtcclxuXHRcdGhlaWdodDogMTAwJTtcclxuXHRcdG9iamVjdC1maXQ6IGNvdmVyO1xyXG5cdH1cclxufVxyXG5cclxuLnN0YWZmLWNhcmRfX3RyaWdnZXIge1xyXG5cdGRpc3BsYXk6IGJsb2NrO1xyXG5cdHdpZHRoOiAxMDAlO1xyXG5cdHRleHQtYWxpZ246IGxlZnQ7XHJcblx0Y3Vyc29yOiBwb2ludGVyO1xyXG5cclxuXHQmOmhvdmVyLFxyXG5cdCY6Zm9jdXMge1xyXG5cdFx0b3V0bGluZTogMDtcclxuXHJcblx0XHQuc3RhZmYtY2FyZF9fcGhvdG8gaW1nIHtcclxuXHRcdFx0b3BhY2l0eTogMC45MjtcclxuXHRcdH1cclxuXHR9XHJcbn1cclxuXHJcbi5zdGFmZi1jYXJkX19waG90by1wbGFjZWhvbGRlciB7XHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRhbGlnbi1pdGVtczogY2VudGVyO1xyXG5cdGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG5cdHdpZHRoOiAxMDAlO1xyXG5cdGhlaWdodDogMTAwJTtcclxuXHRiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTQxZGVnLCAkbGlnaHQtZ3JheSAwJSwgJGxpZ2h0LWdyYXkgNTAlLCAjZmVmZmZmIDEwMCUpO1xyXG5cclxuXHRpbWcge1xyXG5cdFx0ZGlzcGxheTogYmxvY2s7XHJcblx0XHR3aWR0aDogNjUlO1xyXG5cdFx0bWF4LXdpZHRoOiByZW0tY2FsYygxNjApO1xyXG5cdFx0aGVpZ2h0OiBhdXRvO1xyXG5cdFx0b2JqZWN0LWZpdDogY29udGFpbjtcclxuXHR9XHJcbn1cclxuXHJcbi5zdGFmZi1tb2RhbHMge1xyXG5cdGRpc3BsYXk6IG5vbmU7XHJcbn1cclxuXHJcbi8vIEJpbyBtb2RhbFxyXG4uc3RhZmYtYmlvLW1vZGFsIHtcclxuXHR3aWR0aDogcmVtLWNhbGMoOTAwKTtcclxuXHRtYXgtd2lkdGg6IDkyJTtcclxuXHRwYWRkaW5nOiAwO1xyXG5cdGJvcmRlcjogMDtcclxuXHRiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcclxuXHRvdmVyZmxvdzogdmlzaWJsZTtcclxuXHJcblx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xyXG5cdFx0d2lkdGg6IGNhbGMoMTAwJSAtIDJyZW0pO1xyXG5cdFx0bWF4LXdpZHRoOiBjYWxjKDEwMCUgLSAycmVtKTtcclxuXHR9XHJcblxyXG5cdC8vIEZvdW5kYXRpb24gZnVsbC1zY3JlZW4gLnJldmVhbCBydWxlcyBiZWxvdyA0MGVtIHBpbiBsZWZ0OjAg4oCUIG92ZXJyaWRlIHRvIGtlZXAgY2VudGVyZWRcclxuXHRAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcclxuXHRcdHRvcDogcmVtLWNhbGMoMTYpO1xyXG5cdFx0cmlnaHQ6IGF1dG87XHJcblx0XHRib3R0b206IGF1dG87XHJcblx0XHRsZWZ0OiBhdXRvO1xyXG5cdFx0aGVpZ2h0OiBhdXRvO1xyXG5cdFx0bWluLWhlaWdodDogMDtcclxuXHRcdG1hcmdpbi1yaWdodDogYXV0bztcclxuXHRcdG1hcmdpbi1sZWZ0OiBhdXRvO1xyXG5cdH1cclxufVxyXG5cclxuLnN0YWZmLWJpby1tb2RhbF9fYm9keSB7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogJGxpZ2h0LWdyYXk7XHJcblx0cGFkZGluZzogcmVtLWNhbGMoNTApO1xyXG5cdGNvbG9yOiAkZGFyay1ncmF5O1xyXG5cdG92ZXJmbG93LXk6IGF1dG87XHJcblx0bWF4LWhlaWdodDogY2FsYygxMDB2aCAtIDRyZW0pO1xyXG5cdG1heC1oZWlnaHQ6IGNhbGMoMTAwZHZoIC0gNHJlbSk7XHJcblx0LXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoO1xyXG5cclxuXHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XHJcblx0XHRwYWRkaW5nOiByZW0tY2FsYyg0NSkgcmVtLWNhbGMoMjApIHJlbS1jYWxjKDMwKTtcclxuXHRcdG1heC1oZWlnaHQ6IGNhbGMoMTAwdmggLSAycmVtKTtcclxuXHRcdG1heC1oZWlnaHQ6IGNhbGMoMTAwZHZoIC0gMnJlbSk7XHJcblx0fVxyXG59XHJcblxyXG4uc3RhZmYtYmlvLW1vZGFsX19jbG9zZSB7XHJcblx0cG9zaXRpb246IGFic29sdXRlO1xyXG5cdHRvcDogcmVtLWNhbGMoLTE1KTtcclxuXHRyaWdodDogcmVtLWNhbGMoLTU1KTtcclxuXHR6LWluZGV4OiAyO1xyXG5cdGNvbG9yOiAkYXF1YSAhaW1wb3J0YW50O1xyXG5cdGZvbnQtZmFtaWx5OiAkb3Blbi1zYW5zO1xyXG5cdGZvbnQtc2l6ZTogcmVtLWNhbGMoNjApO1xyXG5cdGxpbmUtaGVpZ2h0OiAxO1xyXG5cdGZvbnQtd2VpZ2h0OiA0MDA7XHJcblxyXG5cdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcclxuXHRcdHRvcDogcmVtLWNhbGMoOCk7XHJcblx0XHRyaWdodDogcmVtLWNhbGMoOCk7XHJcblx0XHRmb250LXNpemU6IHJlbS1jYWxjKDQ0KTtcclxuXHR9XHJcbn1cclxuXHJcbi5zdGFmZi1iaW8tbW9kYWxfX2lubmVyIHtcclxuXHQmOjphZnRlciB7XHJcblx0XHRjb250ZW50OiAnJztcclxuXHRcdGRpc3BsYXk6IHRhYmxlO1xyXG5cdFx0Y2xlYXI6IGJvdGg7XHJcblx0fVxyXG59XHJcblxyXG4uc3RhZmYtYmlvLW1vZGFsX19waG90byB7XHJcblx0ZmxvYXQ6IGxlZnQ7XHJcblx0d2lkdGg6IHJlbS1jYWxjKDIwMCk7XHJcblx0aGVpZ2h0OiByZW0tY2FsYygyNTApO1xyXG5cdG1hcmdpbjogMCByZW0tY2FsYygzMCkgcmVtLWNhbGMoMjApIDA7XHJcblx0b3ZlcmZsb3c6IGhpZGRlbjtcclxuXHRsaW5lLWhlaWdodDogMDtcclxuXHJcblx0QGluY2x1ZGUgYnJlYWtwb2ludCg3NjAgZG93bikge1xyXG5cdFx0ZmxvYXQ6IG5vbmU7XHJcblx0XHR3aWR0aDogMTAwJTtcclxuXHRcdG1heC13aWR0aDogcmVtLWNhbGMoMjgwKTtcclxuXHRcdGhlaWdodDogYXV0bztcclxuXHRcdG1hcmdpbjogMCBhdXRvIHJlbS1jYWxjKDIwKTtcclxuXHR9XHJcblxyXG5cdGltZyB7XHJcblx0XHRkaXNwbGF5OiBibG9jaztcclxuXHRcdHdpZHRoOiByZW0tY2FsYygyMDApO1xyXG5cdFx0aGVpZ2h0OiByZW0tY2FsYygyNTApO1xyXG5cclxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoNzYwIGRvd24pIHtcclxuXHRcdFx0d2lkdGg6IDEwMCU7XHJcblx0XHRcdGhlaWdodDogYXV0bztcclxuXHRcdH1cclxuXHR9XHJcbn1cclxuXHJcbi5zdGFmZi1iaW8tbW9kYWxfX25hbWUge1xyXG5cdGNvbG9yOiAkYmx1ZTtcclxuXHRmb250LXNpemU6IHJlbS1jYWxjKDI4KTtcclxuXHRmb250LXdlaWdodDogNjAwO1xyXG5cdG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDUpO1xyXG5cclxuXHRAaW5jbHVkZSBicmVha3BvaW50KDc2MCBkb3duKSB7XHJcblx0XHRmb250LXNpemU6IHJlbS1jYWxjKDI0KTtcclxuXHRcdHRleHQtYWxpZ246IGNlbnRlcjtcclxuXHR9XHJcbn1cclxuXHJcbi5zdGFmZi1iaW8tbW9kYWxfX3RpdGxlIHtcclxuXHRmb250LWZhbWlseTogJGpvc2VmaW4tc2FucztcclxuXHR0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG5cdGNvbG9yOiAkZGFyay1vcmFuZ2U7XHJcblx0Zm9udC13ZWlnaHQ6IDcwMDtcclxuXHRmb250LXNpemU6IHJlbS1jYWxjKDE4KTtcclxuXHRtYXJnaW4tYm90dG9tOiByZW0tY2FsYygyMCk7XHJcblxyXG5cdEBpbmNsdWRlIGJyZWFrcG9pbnQoNzYwIGRvd24pIHtcclxuXHRcdGZvbnQtc2l6ZTogcmVtLWNhbGMoMTYpO1xyXG5cdFx0dGV4dC1hbGlnbjogY2VudGVyO1xyXG5cdH1cclxufVxyXG5cclxuLnN0YWZmLWJpby1tb2RhbF9fYmlvIHtcclxuXHRmb250LXNpemU6IHJlbS1jYWxjKDE4KTtcclxuXHRsaW5lLWhlaWdodDogMS41O1xyXG5cdHRleHQtYWxpZ246IGp1c3RpZnk7XHJcblxyXG5cdHAge1xyXG5cdFx0bWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMTUpO1xyXG5cdFx0dGV4dC1hbGlnbjoganVzdGlmeTtcclxuXHR9XHJcblxyXG5cdGE6bm90KC5idG4pIHtcclxuXHRcdGNvbG9yOiAkYXF1YTtcclxuXHRcdHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xyXG5cdH1cclxufSIsInVsLnJlc291cmNlLWxpc3Qge1xyXG5cdGxpc3Qtc3R5bGU6IG5vbmU7XHJcblx0bWFyZ2luLWxlZnQ6IDA7XHJcbn1cclxuXHJcbi5yZXNvdXJjZS1jYXJkIHtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiAkbGlnaHQtZ3JheTtcclxuXHRtYXJnaW4tYm90dG9tOiByZW0tY2FsYyg0MCk7XHJcblx0cGFkZGluZzogcmVtLWNhbGMoMjApO1xyXG59XHJcblxyXG4ucmVzb3VyY2UtY2FyZF9fdGl0bGUge1xyXG5cdGRpc3BsYXk6IGJsb2NrO1xyXG5cdGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZmZmO1xyXG5cdHBhZGRpbmctYm90dG9tOiByZW0tY2FsYygxMCk7XHJcblx0bWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMTApO1xyXG5cclxuXHRoMiB7XHJcblx0XHR0cmFuc2l0aW9uOiBjb2xvciAwLjNzO1xyXG5cdFx0Zm9udC13ZWlnaHQ6IDYwMDtcclxuXHRcdGZvbnQtc2l6ZTogcmVtLWNhbGMoMjApO1xyXG5cdFx0bGluZS1oZWlnaHQ6IHJlbS1jYWxjKDI2KTtcclxuXHRcdGNvbG9yOiAkYmx1ZTtcclxuXHRcdG1hcmdpbi1ib3R0b206IDA7XHJcblx0fVxyXG5cclxuXHRzdmcge1xyXG5cdCAgICBtYXJnaW4tbGVmdDogcmVtLWNhbGMoOCk7XHJcblx0fVxyXG5cclxuXHRwYXRoIHtcclxuXHQgICAgdHJhbnNpdGlvbjogZmlsbCAwLjNzO1xyXG5cdH1cclxuXHJcblx0Jjpob3ZlciBoMiB7XHJcblx0XHRjb2xvcjogJGRhcmstb3JhbmdlO1xyXG5cdH1cclxuXHJcblx0Jjpob3ZlciBzdmcgcGF0aCB7XHJcblx0XHRmaWxsOiAkZGFyay1vcmFuZ2U7XHJcblx0fVxyXG59XHJcblxyXG4ucmVzb3VyY2UtY2FyZF9fY2F0ZWdvcmllcyB7XHJcblx0cCB7XHJcblx0XHRtYXJnaW4tYm90dG9tOiAwO1xyXG5cdFx0Zm9udC1zaXplOiByZW0tY2FsYygxNCk7XHJcblx0fVxyXG59XHJcblxyXG4uY29sb3JhZG8tcmVnaW9uLWxhYmVsIHtcclxuXHRwb3NpdGlvbjogcmVsYXRpdmU7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcclxuXHRib3JkZXI6IHJlbS1jYWxjKDUpIHNvbGlkICRhcXVhO1xyXG5cdGJvcmRlci1yYWRpdXM6IHJlbS1jYWxjKDIwKTtcclxuXHR0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG5cdGZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xyXG5cdGZvbnQtZmFtaWx5OiAkam9zZWZpbi1zYW5zO1xyXG5cdGZvbnQtd2VpZ2h0OiA3MDA7XHJcblx0Y29sb3I6ICRkYXJrLWdyYXk7XHJcblx0cGFkZGluZzogcmVtLWNhbGMoNCkgcmVtLWNhbGMoMTApIHJlbS1jYWxjKDIpIHJlbS1jYWxjKDM1KTtcclxuXHJcblx0aW5wdXQge1xyXG5cdFx0bWFyZ2luOiAwO1xyXG5cdH1cclxuXHJcblx0Jjpob3ZlcixcclxuXHQmLmlzLXNlbGVjdGVkIHtcclxuXHRcdGJhY2tncm91bmQtY29sb3I6IHJnYmEoI2ZmZiwgMC42NSk7XHJcblx0fVxyXG5cclxuXHQmOmJlZm9yZSB7XHJcblx0XHRjb250ZW50OiAnJztcclxuXHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuXHRcdGxlZnQ6IHJlbS1jYWxjKDYpO1xyXG5cdFx0dG9wOiByZW0tY2FsYyg1KTtcclxuXHRcdHdpZHRoOiByZW0tY2FsYygyMCk7XHJcblx0XHRoZWlnaHQ6IHJlbS1jYWxjKDIwKTtcclxuXHRcdGJvcmRlci1yYWRpdXM6IHJlbS1jYWxjKDEwKTtcclxuXHRcdGJhY2tncm91bmQtY29sb3I6ICRnb2xkO1xyXG5cdH1cclxuXHJcblx0JjphZnRlciB7XHJcblx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XHJcblx0XHRsZWZ0OiByZW0tY2FsYygxMik7XHJcblx0XHR0b3A6IHJlbS1jYWxjKDkpO1xyXG5cdFx0Y29udGVudDogJyc7XHJcblx0XHR3aWR0aDogMDtcclxuXHRcdGhlaWdodDogMDtcclxuXHRcdGJvcmRlci1zdHlsZTogc29saWQ7XHJcblx0XHRib3JkZXItd2lkdGg6IDZweCAwIDZweCAxMHB4O1xyXG5cdFx0Ym9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCAjZmZmO1xyXG5cdH1cclxufVxyXG5cclxuLmNvbG9yYWRvLXJlc291cmNlcy1tYXAge1xyXG5cdGRpc3BsYXk6IGJsb2NrO1xyXG5cdG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDI1KTtcclxuXHRtYXJnaW4tbGVmdDogYXV0bztcclxuXHRtYXJnaW4tcmlnaHQ6IGF1dG87XHJcblx0bWF4LXdpZHRoOiByZW0tY2FsYyg1MDApO1xyXG5cclxuXHRzdmcge1xyXG5cdFx0Y3Vyc29yOiBwb2ludGVyO1xyXG5cclxuXHRcdHBvbHlnb24uZGFyay1ncmF5LFxyXG5cdFx0cGF0aC5kYXJrLWdyYXksXHJcblx0XHRwb2x5Z29uLm5vdC1zZWxlY3RlZCxcclxuXHRcdHBhdGgubm90LXNlbGVjdGVkIHtcclxuXHRcdFx0ZmlsbDogJGRhcmstZ3JheTtcclxuXHRcdH1cclxuXHR9XHJcbn1cclxuXHJcbi8vIC5kZW52ZXItY291bnR5LmRhcmstZ3JheSB7XHJcbi8vIFx0ZmlsbDogJGRhcmstZ3JheSAhaW1wb3J0YW50O1xyXG4vLyB9XHJcblxyXG4vLyBOb3J0aCBjZW50cmFsXHJcbi5jb2xvcmFkby1yZXNvdXJjZXMtbWFwIHN2ZyAuc3QwLmFjdGl2ZSxcclxuLmNvbG9yYWRvLXJlc291cmNlcy1tYXAgc3ZnIC5zdDAuYWN0aXZlLm5vdC1zZWxlY3RlZCxcclxuLmNvbG9yYWRvLXJlc291cmNlcy1tYXAgc3ZnIC5zdDAuaXMtc2VsZWN0ZWQge1xyXG5cdGZpbGw6ICMzQThEQjc7XHJcbn1cclxuXHJcbi8vIERlbnZlciBtZXRyb1xyXG4uY29sb3JhZG8tcmVzb3VyY2VzLW1hcCBzdmcgLnN0My5hY3RpdmUsXHJcbi5jb2xvcmFkby1yZXNvdXJjZXMtbWFwIHN2ZyAuc3QzLmlzLXNlbGVjdGVkIHtcclxuXHRmaWxsOiAjMzNDMUQyO1xyXG59XHJcblxyXG4vLyBTb3V0aGVhc3RcclxuLmNvbG9yYWRvLXJlc291cmNlcy1tYXAgc3ZnIC5zdDQuYWN0aXZlLFxyXG4uY29sb3JhZG8tcmVzb3VyY2VzLW1hcCBzdmcgLnN0NC5pcy1zZWxlY3RlZCB7XHJcblx0ZmlsbDogIzkzQTFCMTtcclxufVxyXG5cclxuLy8gTm9ydGhlYXN0XHJcbi5jb2xvcmFkby1yZXNvdXJjZXMtbWFwIHN2ZyAuc3Q1LmFjdGl2ZSxcclxuLmNvbG9yYWRvLXJlc291cmNlcy1tYXAgc3ZnIC5zdDUuaXMtc2VsZWN0ZWQge1xyXG5cdGZpbGw6ICNGRjkzMjI7XHJcbn1cclxuXHJcbi8vIE5vcnRod2VzdFxyXG4uY29sb3JhZG8tcmVzb3VyY2VzLW1hcCBzdmcgLnN0MTUuYWN0aXZlLFxyXG4uY29sb3JhZG8tcmVzb3VyY2VzLW1hcCBzdmcgLnN0MTUuaXMtc2VsZWN0ZWQge1xyXG5cdGZpbGw6ICNDODM1M0M7XHJcbn1cclxuXHJcbi8vIFNvdXRod2VzdFxyXG4uY29sb3JhZG8tcmVzb3VyY2VzLW1hcCBzdmcgLnN0MTkuYWN0aXZlLFxyXG4uY29sb3JhZG8tcmVzb3VyY2VzLW1hcCBzdmcgLnN0MTkuaXMtc2VsZWN0ZWQge1xyXG5cdGZpbGw6ICNGRkNGMzg7XHJcbn1cclxuXHJcbi8vIFNvdXRoIGNlbnRyYWxcclxuLmNvbG9yYWRvLXJlc291cmNlcy1tYXAgc3ZnIC5zdDIuYWN0aXZlLFxyXG4uY29sb3JhZG8tcmVzb3VyY2VzLW1hcCBzdmcgLnN0Mi5pcy1zZWxlY3RlZCB7XHJcblx0ZmlsbDogI0YxNjUyMjtcclxufVxyXG5cclxuLmNvbG9yYWRvLXJlZ2lvbi1sYWJlbFtkYXRhLXRhcmdldC1jbGFzcz1cIi5zdDBcIl06YmVmb3JlIHtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiAjM0E4REI3O1xyXG59XHJcblxyXG4uY29sb3JhZG8tcmVnaW9uLWxhYmVsW2RhdGEtdGFyZ2V0LWNsYXNzPVwiLnN0M1wiXTpiZWZvcmUge1xyXG5cdGJhY2tncm91bmQtY29sb3I6ICMzM0MxRDI7XHJcbn1cclxuXHJcbi5jb2xvcmFkby1yZWdpb24tbGFiZWxbZGF0YS10YXJnZXQtY2xhc3M9XCIuc3Q0XCJdOmJlZm9yZSB7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogIzkzQTFCMTtcclxufVxyXG5cclxuLmNvbG9yYWRvLXJlZ2lvbi1sYWJlbFtkYXRhLXRhcmdldC1jbGFzcz1cIi5zdDVcIl06YmVmb3JlIHtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiAjRkY5MzIyO1xyXG59XHJcblxyXG4uY29sb3JhZG8tcmVnaW9uLWxhYmVsW2RhdGEtdGFyZ2V0LWNsYXNzPVwiLnN0MTVcIl06YmVmb3JlIHtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiAjQzgzNTNDO1xyXG59XHJcblxyXG4uY29sb3JhZG8tcmVnaW9uLWxhYmVsW2RhdGEtdGFyZ2V0LWNsYXNzPVwiLnN0MTlcIl06YmVmb3JlIHtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiAjRkZDRjM4O1xyXG59XHJcblxyXG4uY29sb3JhZG8tcmVnaW9uLWxhYmVsW2RhdGEtdGFyZ2V0LWNsYXNzPVwiLnN0MlwiXTpiZWZvcmUge1xyXG5cdGJhY2tncm91bmQtY29sb3I6ICNGMTY1MjI7XHJcbn1cclxuXHJcbi8qLS0tLS0tLS0tLSAgUmVzb3VyY2UgZGV0YWlsICAtLS0tLS0tLS0tKi9cclxuXHJcbi5yZXNvdXJjZS1wYWdlLWNvbnRlbnQge1xyXG5cdG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDQwKTtcclxuXHJcblx0cDpsYXN0LWNoaWxkIHtcclxuXHRcdG1hcmdpbi1ib3R0b206IDA7XHJcblx0fVxyXG5cclxuXHQvLyBGb3JtYXQgbGVnYWN5IGltYWdlcyAoY2xhc3NlcyBhZGRlZCBieSBtYWluLmpzKVxyXG5cdC5mb3JtYXQtaW1nLWZ1bGwtd2lkdGgge1xyXG5cdFx0d2lkdGg6IDEwMCU7XHJcblx0XHRkaXNwbGF5OiBibG9jaztcclxuXHRcdG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDIwKTtcclxuXHR9XHJcblxyXG5cdC5mb3JtYXQtaW1nLXBhcnRpYWwtd2lkdGgge1xyXG5cdFx0ZmxvYXQ6IHJpZ2h0O1xyXG5cdFx0bWFyZ2luOiAwIDAgcmVtLWNhbGMoMjApIHJlbS1jYWxjKDIwKTtcclxuXHRcdG1heC13aWR0aDogcmVtLWNhbGMoMzUwKTtcclxuXHR9XHJcblxyXG5cdC8vIEZvcm1hdCByZWRhY3Rvci1hbGlnbmVkIGltYWdlc1xyXG5cdGZpZ3VyZVtzdHlsZV49XCJmbG9hdDpsZWZ0XCJdIHtcclxuXHRcdG1hcmdpbjogMCByZW0tY2FsYygyMCkgcmVtLWNhbGMoMjApIDAgIWltcG9ydGFudDtcclxuXHR9XHJcblxyXG5cdGZpZ3VyZVtzdHlsZV49XCJmbG9hdDpyaWdodFwiXSB7XHJcblx0XHRtYXJnaW46IDAgMCByZW0tY2FsYygyMCkgcmVtLWNhbGMoMjApICFpbXBvcnRhbnQ7XHJcblx0fVxyXG5cclxuXHRmaWd1cmVbc3R5bGVePVwidGV4dC1hbGlnbjpjZW50ZXJcIl0ge1xyXG5cdFx0bWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMjApICFpbXBvcnRhbnQ7XHJcblx0fVxyXG5cclxuXHRAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIGRvd24pIHtcclxuICAgICAgICBmaWd1cmUsIFxyXG4gICAgICAgIC5mb3JtYXQtaW1nLXBhcnRpYWwtd2lkdGgge1xyXG4gICAgICAgIFx0ZmxvYXQ6IG5vbmU7XHJcbiAgICAgICAgXHRkaXNwbGF5OiBibG9jaztcclxuICAgICAgICBcdG1hcmdpbi1yaWdodDogYXV0bztcclxuICAgICAgICBcdG1hcmdpbi1sZWZ0OiBhdXRvO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLnJlc291cmNlLXBhZ2Utc3VtbWFyeSB7XHJcblx0bWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoNzApO1xyXG59XHJcbiIsIi8vLyBBcHBsaWVzIGJhc2ljIHRyYW5zaXRpb24gc2V0dGluZ3MgdG8gYW4gZWxlbWVudC5cbi8vLyBAcGFyYW0ge0R1cmF0aW9ufSAkZHVyYXRpb24gW251bGxdIC0gTGVuZ3RoIChzcGVlZCkgb2YgdGhlIHRyYW5zaXRpb24uXG4vLy8gQHBhcmFtIHtLZXl3b3JkfEZ1bmN0aW9ufSAkdGltaW5nIFtudWxsXSAtIEVhc2luZyBvZiB0aGUgdHJhbnNpdGlvbi5cbi8vLyBAcGFyYW0ge0R1cmF0aW9ufSAkZGVsYXkgW251bGxdIC0gRGVsYXkgaW4gc2Vjb25kcyBvciBtaWxsaXNlY29uZHMgYmVmb3JlIHRoZSB0cmFuc2l0aW9uIHN0YXJ0cy5cbkBtaXhpbiB0cmFuc2l0aW9uLWJhc2ljcyhcbiAgJGR1cmF0aW9uOiBudWxsLFxuICAkdGltaW5nOiBudWxsLFxuICAkZGVsYXk6IG51bGxcbikge1xuICBAaW5jbHVkZSAtbW90aW9uLXVpLWRlZmF1bHRzO1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAkZHVyYXRpb247XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiAkdGltaW5nO1xuICB0cmFuc2l0aW9uLWRlbGF5OiAkZGVsYXk7XG59XG5cbi8vLyBXcmFwcyB0aGUgY29udGVudCBpbiB0aGUgc2V0dXAgY2xhc3MgZm9yIGEgdHJhbnNpdGlvbi5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRkaXIgLSBTdGF0ZSB0byBzZXR1cCBmb3IgdHJhbnNpdGlvbi5cbkBtaXhpbiB0cmFuc2l0aW9uLXN0YXJ0KCRkaXIpIHtcbiAgJHNlbGVjdG9yOiAtbXVpLWJ1aWxkLXNlbGVjdG9yKG1hcC1nZXQoJG1vdGlvbi11aS1zdGF0ZXMsICRkaXIpKTtcblxuICBAYXQtcm9vdCB7XG4gICAgI3skc2VsZWN0b3J9IHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfVxufVxuXG4vLy8gV3JhcHMgdGhlIGNvbnRlbnQgaW4gdGhlIGFjdGl2ZSBjbGFzcyBmb3IgYSB0cmFuc2l0aW9uLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGRpciAtIFN0YXRlIHRvIGFjdGl2YXRlIGEgdHJhbnNpdGlvbiBvbi5cbkBtaXhpbiB0cmFuc2l0aW9uLWVuZCgkZGlyKSB7XG4gICRzZWxlY3RvcjogLW11aS1idWlsZC1zZWxlY3RvcihtYXAtZ2V0KCRtb3Rpb24tdWktc3RhdGVzLCAkZGlyKSwgdHJ1ZSk7XG5cbiAgQGF0LXJvb3Qge1xuICAgICN7JHNlbGVjdG9yfSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH1cbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhIHN0YWdnZXIgYW5pbWF0aW9uLCB3aGljaCBjYW4gYmUgdXNlZCB3aXRoIEFuZ3VsYXIncyBgbmctcmVwZWF0YC5cbi8vLyBAcGFyYW0ge0R1cmF0aW9ufSAkZGVsYXktYW1vdW50IC0gQW1vdW50IG9mIHRpbWUgaW4gc2Vjb25kcyBvciBtaWxsaXNlY29uZHMgdG8gYWRkIGJldHdlZW4gZWFjaCBpdGVtJ3MgYW5pbWF0aW9uLlxuQG1peGluIHN0YWdnZXIoJGRlbGF5LWFtb3VudCkge1xuICB0cmFuc2l0aW9uLWRlbGF5OiAkZGVsYXktYW1vdW50O1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAwOyAvLyBQcmV2ZW50IGFjY2lkZW50YWwgQ1NTIGluaGVyaXRhbmNlXG59XG4iLCIvLyBzY3NzLWxpbnQ6ZGlzYWJsZSBJbXBvcnRhbnRSdWxlLCBTcGFjZUFmdGVyQ29tbWEsIFNpbmdsZUxpbmVQZXJQcm9wZXJ0eVxuXG5AbWl4aW4gLW1vdGlvbi11aS1kZWZhdWx0cyB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IG1hcC1nZXQoJG1vdGlvbi11aS1zcGVlZHMsIGRlZmF1bHQpO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbWFwLWdldCgkbW90aW9uLXVpLWVhc2luZ3MsIGRlZmF1bHQpO1xufVxuXG4vLyBUcmFuc2l0aW9uc1xuLy8gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC1cbkBtaXhpbiBtb3Rpb24tdWktdHJhbnNpdGlvbnMge1xuICAvLyBTbGlkZVxuICAuc2xpZGUtaW4tZG93biAgICB7IEBpbmNsdWRlIG11aS1zbGlkZShpbiwgIGRvd24pOyB9XG4gIC5zbGlkZS1pbi1sZWZ0ICAgIHsgQGluY2x1ZGUgbXVpLXNsaWRlKGluLCAgcmlnaHQpOyB9XG4gIC5zbGlkZS1pbi11cCAgICAgIHsgQGluY2x1ZGUgbXVpLXNsaWRlKGluLCAgdXApOyB9XG4gIC5zbGlkZS1pbi1yaWdodCAgIHsgQGluY2x1ZGUgbXVpLXNsaWRlKGluLCAgbGVmdCk7IH1cbiAgLnNsaWRlLW91dC1kb3duICAgeyBAaW5jbHVkZSBtdWktc2xpZGUob3V0LCBkb3duKTsgfVxuICAuc2xpZGUtb3V0LXJpZ2h0ICB7IEBpbmNsdWRlIG11aS1zbGlkZShvdXQsIHJpZ2h0KTsgfVxuICAuc2xpZGUtb3V0LXVwICAgICB7IEBpbmNsdWRlIG11aS1zbGlkZShvdXQsIHVwKTsgfVxuICAuc2xpZGUtb3V0LWxlZnQgICB7IEBpbmNsdWRlIG11aS1zbGlkZShvdXQsIGxlZnQpOyB9XG5cbiAgLy8gRmFkZVxuICAuZmFkZS1pbiAgeyBAaW5jbHVkZSBtdWktZmFkZShpbiwgIDAsIDEpOyB9XG4gIC5mYWRlLW91dCB7IEBpbmNsdWRlIG11aS1mYWRlKG91dCwgMSwgMCk7IH1cblxuICAvLyBIaW5nZVxuICAuaGluZ2UtaW4tZnJvbS10b3AgICAgICB7IEBpbmNsdWRlIG11aS1oaW5nZShpbiwgIHRvcCk7IH1cbiAgLmhpbmdlLWluLWZyb20tcmlnaHQgICAgeyBAaW5jbHVkZSBtdWktaGluZ2UoaW4sICByaWdodCk7IH1cbiAgLmhpbmdlLWluLWZyb20tYm90dG9tICAgeyBAaW5jbHVkZSBtdWktaGluZ2UoaW4sICBib3R0b20pOyB9XG4gIC5oaW5nZS1pbi1mcm9tLWxlZnQgICAgIHsgQGluY2x1ZGUgbXVpLWhpbmdlKGluLCAgbGVmdCk7IH1cbiAgLmhpbmdlLWluLWZyb20tbWlkZGxlLXggIHsgQGluY2x1ZGUgbXVpLWhpbmdlKGluLCAgdG9wLCAgIGNlbnRlcik7IH1cbiAgLmhpbmdlLWluLWZyb20tbWlkZGxlLXkgIHsgQGluY2x1ZGUgbXVpLWhpbmdlKGluLCAgcmlnaHQsIGNlbnRlcik7IH1cbiAgLmhpbmdlLW91dC1mcm9tLXRvcCAgICAgeyBAaW5jbHVkZSBtdWktaGluZ2Uob3V0LCB0b3ApOyB9XG4gIC5oaW5nZS1vdXQtZnJvbS1yaWdodCAgIHsgQGluY2x1ZGUgbXVpLWhpbmdlKG91dCwgcmlnaHQpOyB9XG4gIC5oaW5nZS1vdXQtZnJvbS1ib3R0b20gIHsgQGluY2x1ZGUgbXVpLWhpbmdlKG91dCwgYm90dG9tKTsgfVxuICAuaGluZ2Utb3V0LWZyb20tbGVmdCAgICB7IEBpbmNsdWRlIG11aS1oaW5nZShvdXQsIGxlZnQpOyB9XG4gIC5oaW5nZS1vdXQtZnJvbS1taWRkbGUteCB7IEBpbmNsdWRlIG11aS1oaW5nZShvdXQsIHRvcCwgICBjZW50ZXIpOyB9XG4gIC5oaW5nZS1vdXQtZnJvbS1taWRkbGUteSB7IEBpbmNsdWRlIG11aS1oaW5nZShvdXQsIHJpZ2h0LCBjZW50ZXIpOyB9XG5cbiAgLy8gU2NhbGVcbiAgLnNjYWxlLWluLXVwICAgIHsgQGluY2x1ZGUgbXVpLXpvb20oaW4sICAwLjUsIDEpOyB9XG4gIC5zY2FsZS1pbi1kb3duICB7IEBpbmNsdWRlIG11aS16b29tKGluLCAgMS41LCAxKTsgfVxuICAuc2NhbGUtb3V0LXVwICAgeyBAaW5jbHVkZSBtdWktem9vbShvdXQsIDEsIDEuNSk7IH1cbiAgLnNjYWxlLW91dC1kb3duIHsgQGluY2x1ZGUgbXVpLXpvb20ob3V0LCAxLCAwLjUpOyB9XG5cbiAgLy8gU3BpblxuICAuc3Bpbi1pbiAgICAgeyBAaW5jbHVkZSBtdWktc3BpbihpbiwgIGN3KTsgfVxuICAuc3Bpbi1vdXQgICAgeyBAaW5jbHVkZSBtdWktc3BpbihvdXQsIGN3KTsgfVxuICAuc3Bpbi1pbi1jY3cgIHsgQGluY2x1ZGUgbXVpLXNwaW4oaW4sICBjY3cpOyB9XG4gIC5zcGluLW91dC1jY3cgeyBAaW5jbHVkZSBtdWktc3BpbihvdXQsIGNjdyk7IH1cblxuICAvLyBUcmFuc2l0aW9uIE1vZGlmaWVyc1xuICAvLyAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLVxuXG4gIEBlYWNoICRuYW1lLCAkdmFsdWUgaW4gJG1vdGlvbi11aS1zcGVlZHMge1xuICAgIEBpZiAkbmFtZSAhPSBkZWZhdWx0IHtcbiAgICAgIC4jeyRuYW1lfSB7IHRyYW5zaXRpb24tZHVyYXRpb246ICR2YWx1ZSAhaW1wb3J0YW50OyB9XG4gICAgfVxuICB9XG5cbiAgQGVhY2ggJG5hbWUsICR2YWx1ZSBpbiAkbW90aW9uLXVpLWVhc2luZ3Mge1xuICAgIEBpZiAkbmFtZSAhPSBkZWZhdWx0IHtcbiAgICAgIC4jeyRuYW1lfSB7IHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiAkdmFsdWUgIWltcG9ydGFudDsgfVxuICAgIH1cbiAgfVxuXG4gIEBlYWNoICRuYW1lLCAkdmFsdWUgaW4gJG1vdGlvbi11aS1kZWxheXMge1xuICAgIEBpZiAkbmFtZSAhPSBkZWZhdWx0IHtcbiAgICAgIC4jeyRuYW1lfS1kZWxheSB7IHRyYW5zaXRpb24tZGVsYXk6ICR2YWx1ZSAhaW1wb3J0YW50OyB9XG4gICAgfVxuICB9XG59XG5cbi8vIEFuaW1hdGlvbnNcbi8vIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtXG5AbWl4aW4gbW90aW9uLXVpLWFuaW1hdGlvbnMge1xuICAuc2hha2UgICAgeyBAaW5jbHVkZSBtdWktYW5pbWF0aW9uKHNoYWtlKTsgfVxuICAuc3Bpbi1jdyAgeyBAaW5jbHVkZSBtdWktYW5pbWF0aW9uKHNwaW4pOyB9XG4gIC5zcGluLWNjdyB7IEBpbmNsdWRlIG11aS1hbmltYXRpb24oc3BpbihjY3cpKTsgfVxuICAud2lnZ2xlICAgeyBAaW5jbHVkZSBtdWktYW5pbWF0aW9uKHdpZ2dsZSk7IH1cblxuICAuc2hha2UsXG4gIC5zcGluLWN3LFxuICAuc3Bpbi1jY3csXG4gIC53aWdnbGUge1xuICAgIGFuaW1hdGlvbi1kdXJhdGlvbjogbWFwLWdldCgkbW90aW9uLXVpLXNwZWVkcywgZGVmYXVsdCk7XG4gIH1cblxuICAvLyBBbmltYXRpb24gTW9kaWZpZXJzXG4gIC8vIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtXG4gIC5pbmZpbml0ZSB7IGFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6IGluZmluaXRlOyB9XG5cbiAgQGVhY2ggJG5hbWUsICR2YWx1ZSBpbiAkbW90aW9uLXVpLXNwZWVkcyB7XG4gICAgQGlmICRuYW1lICE9IGRlZmF1bHQge1xuICAgICAgLiN7JG5hbWV9IHsgYW5pbWF0aW9uLWR1cmF0aW9uOiAkdmFsdWUgIWltcG9ydGFudDsgfVxuICAgIH1cbiAgfVxuXG4gIEBlYWNoICRuYW1lLCAkdmFsdWUgaW4gJG1vdGlvbi11aS1lYXNpbmdzIHtcbiAgICBAaWYgJG5hbWUgIT0gZGVmYXVsdCB7XG4gICAgICAuI3skbmFtZX0geyBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiAkdmFsdWUgIWltcG9ydGFudDsgfVxuICAgIH1cbiAgfVxuXG4gIEBlYWNoICRuYW1lLCAkdmFsdWUgaW4gJG1vdGlvbi11aS1kZWxheXMge1xuICAgIEBpZiAkbmFtZSAhPSBkZWZhdWx0IHtcbiAgICAgIC4jeyRuYW1lfS1kZWxheSB7IGFuaW1hdGlvbi1kZWxheTogJHZhbHVlICFpbXBvcnRhbnQ7IH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIEludGVybmFsIGNvdW50ZXIgZm9yIGNyZWF0aW5nIHVuaXF1ZSBrZXlmcmFtZSBuYW1lc1xuJC1tdWktY3VzdG9tOiAwO1xuXG4vLy8gQ3JlYXRlcyBhIGtleWZyYW1lIGZyb20gb25lIG9yIG1vcmUgZWZmZWN0IGZ1bmN0aW9ucy4gVXNlIHRoaXMgZnVuY3Rpb24gaW5zdGVhZCBvZiBgbXVpLWFuaW1hdGlvbmAgaWYgeW91IHdhbnQgdG8gY3JlYXRlIGEga2V5ZnJhbWUgYW5pbWF0aW9uICp3aXRob3V0KiBhdXRvbWF0aWNhbGx5IGFzc2lnbmluZyBpdCB0byB0aGUgZWxlbWVudC5cbi8vLyBAcGFyYW0ge1N0cmluZ30gJG5hbWUgLSBOYW1lIG9mIHRoZSBrZXlmcmFtZS5cbi8vLyBAcGFyYW0ge0FyZ2xpc3R9ICRlZmZlY3RzLi4uIC0gT25lIG9yIG1vcmUgZWZmZWN0IGZ1bmN0aW9ucyB0byBidWlsZCB0aGUga2V5ZnJhbWUgd2l0aC5cbkBtaXhpbiBtdWkta2V5ZnJhbWVzKCRuYW1lLCAkZWZmZWN0cy4uLikge1xuICAkb2JqOiAtbXVpLXByb2Nlc3MtYXJncygkZWZmZWN0cy4uLik7XG4gICRvYmo6IG1hcC1yZW1vdmUoJG9iaiwgbmFtZSk7XG5cbiAgQGtleWZyYW1lcyAjeyRuYW1lfSB7XG4gICAgLy8gTm93IGl0ZXJhdGUgdGhyb3VnaCBlYWNoIGtleWZyYW1lIHBlcmNlbnRhZ2VcbiAgICBAZWFjaCAkcGN0LCAkcHJvcHMgaW4gJG9iaiB7XG4gICAgICAjey1tdWkta2V5ZnJhbWUtcGN0KCRwY3QpfSB7XG4gICAgICAgIC8vIExhc3RseSwgaXRlcmF0ZSB0aHJvdWdoIGVhY2ggQ1NTIHByb3BlcnR5IHdpdGhpbiBhIHBlcmNlbnRhZ2UgYW5kIHByaW50IGl0IG91dFxuICAgICAgICBAZWFjaCAkcHJvcCwgJHZhbHVlIGluICRwcm9wcyB7XG4gICAgICAgICAgI3skcHJvcH06ICN7JHZhbHVlfTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLy8gQ3JlYXRlcyBhIHN0cmluZyBmb3IgYSBDU1Mga2V5ZnJhbWUsIGJ5IGNvbnZlcnRpbmcgYSBsaXN0IG9mIG51bWJlcnMgdG8gYSBjb21tYS1zZXBhcmF0ZWQgbGlzdCBvZiBwZXJjZW50YWdlIHZhbHVlcy5cbi8vLyBAcGFyYW0ge051bWJlcnxMaXN0fSAkaW5wdXQgLSBMaXN0IG9mIG51bWJlcnMgdG8gdXNlLlxuLy8vIEByZXR1cm4ge1N0cmluZ30gQSBzZXQgb2YgY29tbWEtc2VwYXJhdGVkIHBlcmNlbnRhZ2UgdmFsdWVzLlxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuQGZ1bmN0aW9uIC1tdWkta2V5ZnJhbWUtcGN0KCRpbnB1dCkge1xuICAkb3V0cHV0OiAoKTtcblxuICBAaWYgdHlwZS1vZigkaW5wdXQpID09ICdudW1iZXInIHtcbiAgICAkb3V0cHV0OiAoJGlucHV0ICogMSUpO1xuICB9IEBlbHNlIGlmIHR5cGUtb2YoJGlucHV0KSA9PSAnbGlzdCcge1xuICAgIEBlYWNoICRpIGluICRpbnB1dCB7XG4gICAgICAkb3V0cHV0OiBhcHBlbmQoJG91dHB1dCwgKCRpICogMSUpLCBjb21tYSk7XG4gICAgfVxuICB9XG5cbiAgQHJldHVybiBcIiN7JG91dHB1dH1cIjtcbn1cblxuLy8vIFByaW50cyB0aGUgQ1NTIHByb3BlcnRpZXMgZnJvbSBhIHNwZWNpZmljIGtleSBpbiBhIGtleWZyYW1lcyBtYXAuIFVzZWQgdG8gYm9ycm93IENTUyBmcm9tIGtleWZyYW1lIGZ1bmN0aW9ucyBmb3IgdXNlIGluIHRyYW5zaXRpb25zLlxuLy8vIEBwYXJhbSB7TWFwfSAka2YgLSBLZXlmcmFtZSBtYXAgdG8gZXh0cmFjdCBmcm9tLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAka2V5IC0gS2V5IGluIHRoZSBtYXAgdG8gcHJpbnQgdGhlIENTUyBvZi5cbi8vLyBAYWNjZXNzIHByaXZhdGVcbkBtaXhpbiAtbXVpLWtleWZyYW1lLWdldCgka2YsICRrZXkpIHtcbiAgJG1hcDogbWFwLWdldCgka2YsICRrZXkpO1xuXG4gIEBlYWNoICRwcm9wLCAkdmFsdWUgaW4gJG1hcCBvciAoKSB7XG4gICAgLy8gU29tZSBrZXlmcmFtZSBtYXBzIHN0b3JlIHRyYW5zZm9ybXMgYXMgcXVvdGVkIHN0cmluZ3NcbiAgICBAaWYgdHlwZS1vZigkdmFsdWUpID09ICdzdHJpbmcnIHtcbiAgICAgICR2YWx1ZTogdW5xdW90ZSgkdmFsdWUpO1xuICAgIH1cbiAgICAjeyRwcm9wfTogJHZhbHVlO1xuICB9XG59XG5cbi8vLyBSZWZvcm1hdHMgYSBtYXAgY29udGFpbmluZyBrZXlzIHdpdGggYSBsaXN0IG9mIHZhbHVlcywgc28gdGhhdCBlYWNoIGtleSBpcyBhIHNpbmdsZSB2YWx1ZS5cbi8vLyBAcGFyYW0ge01hcH0gJG1hcCAtIE1hcCB0byBzcGxpdCB1cC5cbi8vLyBAcmV0dXJuIHtNYXB9IEEgcmVmb3JtYXR0ZWQgbWFwLlxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuQGZ1bmN0aW9uIC1tdWkta2V5ZnJhbWUtc3BsaXQoJG1hcCkge1xuICAkbmV3LW1hcDogKCk7XG5cbiAgLy8gU3BsaXQga2V5cyB3aXRoIG11bHRpcGxlIHZhbHVlcyBpbnRvIGluZGl2aWR1YWwga2V5c1xuICBAZWFjaCAka2V5LCAkaXRlbSBpbiAkbWFwIHtcbiAgICAka2V5LXR5cGU6IHR5cGUtb2YoJGtleSk7XG5cbiAgICBAaWYgJGtleS10eXBlID09ICdudW1iZXInIHtcbiAgICAgICRuZXctbWFwOiBtYXAtbWVyZ2UoJG5ldy1tYXAsICgka2V5OiAkaXRlbSkpO1xuICAgIH0gQGVsc2UgaWYgJGtleS10eXBlID09ICdsaXN0JyB7XG4gICAgICBAZWFjaCAkayBpbiAka2V5IHtcbiAgICAgICAgJG5ldy1tYXA6IG1hcC1tZXJnZSgkbmV3LW1hcCwgKCRrOiAkaXRlbSkpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIEByZXR1cm4gJG5ldy1tYXA7XG59XG5cbi8vLyBDb21iaW5lcyBhIHNlcmllcyBvZiBrZXlmcmFtZSBvYmplY3RzIGludG8gb25lLlxuLy8vIEBwYXJhbSB7QXJnbGlzdH0gJG1hcHMuLi4gLSBBIHNlcmllcyBvZiBtYXBzIHRvIG1lcmdlLCBhcyBpbmRpdmlkdWFsIHBhcmFtZXRlcnMuXG4vLy8gQHJldHVybiB7TWFwfSBBIGNvbWJpbmVkIGtleWZyYW1lIG9iamVjdC5cbi8vLyBAYWNjZXNzIHByaXZhdGVcbkBmdW5jdGlvbiAtbXVpLWtleWZyYW1lLWNvbWJpbmUoJG1hcHMuLi4pIHtcbiAgJG5ldy1tYXA6ICgpO1xuXG4gIC8vIEl0ZXJhdGUgdGhyb3VnaCBlYWNoIG1hcCBwYXNzZWQgaW5cbiAgQGVhY2ggJG1hcCBpbiAkbWFwcyB7XG4gICAgQGlmIC1tdWktaXMtZnVuY3Rpb24oJG1hcCkge1xuICAgICAgJG1hcDogLW11aS1zYWZlLWNhbGwoJG1hcCk7XG4gICAgfVxuXG4gICAgJG1hcDogLW11aS1rZXlmcmFtZS1zcGxpdCgkbWFwKTtcblxuICAgIC8vIEl0ZXJhdGUgdGhyb3VnaCBlYWNoIGtleWZyYW1lIGluIHRoZSBtYXBcbiAgICAvLyAka2V5IGlzIHRoZSBrZXlmcmFtZSBwZXJjZW50YWdlXG4gICAgLy8gJHZhbHVlIGlzIGEgbWFwIG9mIENTUyBwcm9wZXJ0aWVzXG4gICAgQGVhY2ggJGtleSwgJHZhbHVlIGluICRtYXAge1xuICAgICAgJG5ldy12YWx1ZTogKCk7XG5cbiAgICAgIEBpZiBtYXAtaGFzLWtleSgkbmV3LW1hcCwgJGtleSkge1xuICAgICAgICAvLyBJZiB0aGUgbWFwIGFscmVhZHkgaGFzIHRoZSBrZXlmcmFtZSAlLCBhcHBlbmQgdGhlIG5ldyBwcm9wZXJ0eVxuICAgICAgICAkbmV3LXZhbHVlOiAtbXVpLW1lcmdlLXByb3BlcnRpZXMobWFwLWdldCgkbmV3LW1hcCwgJGtleSksICR2YWx1ZSk7XG4gICAgICB9IEBlbHNlIHtcbiAgICAgICAgLy8gT3RoZXJ3aXNlLCBjcmVhdGUgYSBuZXcgbWFwIHdpdGggdGhlIG5ldyBwcm9wZXJ0eVxuICAgICAgICAkbmV3LXZhbHVlOiAkdmFsdWU7XG4gICAgICB9XG5cbiAgICAgIC8vIEZpbmFsbHksIG1lcmdlIHRoZSBtb2RpZmllZCBrZXlmcmFtZSB2YWx1ZSBpbnRvIHRoZSBvdXRwdXQgbWFwXG4gICAgICAkbmV3LW1hcDogbWFwLW1lcmdlKCRuZXctbWFwLCAoJGtleTogJG5ldy12YWx1ZSkpO1xuICAgIH1cbiAgfVxuXG4gIC8vIE1ha2UgYSBuYW1lIGZvciB0aGUga2V5ZnJhbWVzXG4gICQtbXVpLWN1c3RvbTogJC1tdWktY3VzdG9tICsgMSAhZ2xvYmFsO1xuICAkbWFwLW5hbWU6IChuYW1lOiAnY3VzdG9tLSN7JC1tdWktY3VzdG9tfScpO1xuICAkbmV3LW1hcDogbWFwLW1lcmdlKCRuZXctbWFwLCAkbWFwLW5hbWUpO1xuXG4gIEByZXR1cm4gJG5ldy1tYXA7XG59XG5cbi8vLyBDb21iaW5lcyB0d28gbWFwcyBvZiBDU1MgcHJvcGVydGllcyBpbnRvIG9uZSBtYXAuIElmIGJvdGggbWFwcyBoYXZlIGEgdHJhbnNmb3JtIHByb3BlcnR5LCB0aGUgdmFsdWVzIGZyb20gZWFjaCB3aWxsIGJlIGNvbWJpbmVkIGludG8gb25lIHByb3BlcnR5LlxuLy8vIEBwYXJhbSB7TWFwfSAkb25lIC0gRmlyc3QgbWFwIHRvIG1lcmdlLlxuLy8vIEBwYXJhbSB7TWFwfSAkdHdvIC0gU2Vjb25kIG1hcCB0byBtZXJnZS5cbi8vLyBAcmV0dXJuIHtNYXB9IEEgY29tYmluZWQgbWFwLlxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuQGZ1bmN0aW9uIC1tdWktbWVyZ2UtcHJvcGVydGllcygkb25lLCAkdHdvKSB7XG4gIEBpZiBtYXAtaGFzLWtleSgkb25lLCB0cmFuc2Zvcm0pIGFuZCBtYXAtaGFzLWtleSgkdHdvLCB0cmFuc2Zvcm0pIHtcbiAgICAkdHJhbnNmb3JtOiBqb2luKG1hcC1nZXQoJG9uZSwgdHJhbnNmb3JtKSwgbWFwLWdldCgkdHdvLCB0cmFuc2Zvcm0pKTtcbiAgICAkb25lOiBtYXAtbWVyZ2UoJG9uZSwgKHRyYW5zZm9ybTogJHRyYW5zZm9ybSkpO1xuICAgICR0d286IG1hcC1yZW1vdmUoJHR3bywgdHJhbnNmb3JtKTtcbiAgfVxuXG4gIEByZXR1cm4gbWFwLW1lcmdlKCRvbmUsICR0d28pO1xufVxuIiwiLy8vIENyZWF0ZXMgYSBzbGlkaW5nIHRyYW5zaXRpb24gYnkgdHJhbnNsYXRpbmcgdGhlIGVsZW1lbnQgaG9yaXpvbnRhbGx5IG9yIHZlcnRpY2FsbHkuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkc3RhdGUgW2luXSAtIFN0YXRlIHRvIHRyYW5zaXRpb24gdG8uXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkZGlyZWN0aW9uIFtudWxsXSAtIERpcmVjdGlvbiB0byBzbGlkZSB0by4gQ2FuIGJlIGB1cGAsIGByaWdodGAsIGBkb3duYCwgb3IgYGxlZnRgLiBCeSBkZWZhdWx0IGBsZWZ0YCBhbmQgYHJpZ2h0YCBmb3IgYGluYCBhbmQgYG91dGAgc3RhdGVzIHJlc3BlY3RpdmVseS5cbi8vLyBAcGFyYW0ge0xlbmd0aH0gJGFtb3VudCBbMTAwJV0gLSBMZW5ndGggb2YgdGhlIHNsaWRlIGFzIGEgcGVyY2VudGFnZSB2YWx1ZS5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRmYWRlIFtmYWxzZV0gLSBTZXQgdG8gYHRydWVgIHRvIGZhZGUgdGhlIGVsZW1lbnQgaW4gb3Igb3V0IHNpbXVsdGFuZW91c2x5LlxuLy8vIEBwYXJhbSB7RHVyYXRpb259ICRkdXJhdGlvbiBbbnVsbF0gLSBMZW5ndGggKHNwZWVkKSBvZiB0aGUgdHJhbnNpdGlvbi5cbi8vLyBAcGFyYW0ge0tleXdvcmR8RnVuY3Rpb259ICR0aW1pbmcgW251bGxdIC0gRWFzaW5nIG9mIHRoZSB0cmFuc2l0aW9uLlxuLy8vIEBwYXJhbSB7RHVyYXRpb259ICRkZWxheSBbbnVsbF0gLSBEZWxheSBpbiBzZWNvbmRzIG9yIG1pbGxpc2Vjb25kcyBiZWZvcmUgdGhlIHRyYW5zaXRpb24gc3RhcnRzLlxuQG1peGluIG11aS1zbGlkZSAoXG4gICRzdGF0ZTogaW4sXG4gICRkaXJlY3Rpb246IG51bGwsXG4gICRhbW91bnQ6IDEwMCUsXG4gICRmYWRlOiBtYXAtZ2V0KCRtb3Rpb24tdWktc2V0dGluZ3MsIHNsaWRlLWFuZC1mYWRlKSxcbiAgJGR1cmF0aW9uOiBudWxsLFxuICAkdGltaW5nOiBudWxsLFxuICAkZGVsYXk6IG51bGxcbikge1xuICAkZGlyZWN0aW9uOiBpZigkZGlyZWN0aW9uICE9IG51bGwsICRkaXJlY3Rpb24sIGlmKCRzdGF0ZSA9PSBpbiwgbGVmdCwgcmlnaHQpKTtcbiAgJHNsaWRlOiBzbGlkZSgkc3RhdGUsICRkaXJlY3Rpb24sICRhbW91bnQpO1xuXG4gIC8vIENTUyBPdXRwdXRcbiAgQGluY2x1ZGUgdHJhbnNpdGlvbi1zdGFydCgkc3RhdGUpIHtcbiAgICBAaW5jbHVkZSB0cmFuc2l0aW9uLWJhc2ljcygkZHVyYXRpb24sICR0aW1pbmcsICRkZWxheSk7XG4gICAgQGluY2x1ZGUgLW11aS1rZXlmcmFtZS1nZXQoJHNsaWRlLCAwKTtcblxuICAgIEBpZiAkZmFkZSB7XG4gICAgICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gICAgICBvcGFjaXR5OiBpZigkc3RhdGUgPT0gaW4sIDAsIDEpO1xuICAgIH0gQGVsc2Uge1xuICAgICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICAgIH1cblxuICAgIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbiAgfVxuXG4gIEBpbmNsdWRlIHRyYW5zaXRpb24tZW5kKCRzdGF0ZSkge1xuICAgIEBpbmNsdWRlIC1tdWkta2V5ZnJhbWUtZ2V0KCRzbGlkZSwgMTAwKTtcblxuICAgIEBpZiAkZmFkZSB7XG4gICAgICBvcGFjaXR5OiBpZigkc3RhdGUgPT0gaW4sIDEsIDApO1xuICAgIH1cbiAgfVxufVxuIiwiLy8vIENyZWF0ZXMgYSBmYWRlIHRyYW5zaXRpb24gYnkgYWRqdXN0aW5nIHRoZSBvcGFjaXR5IG9mIHRoZSBlbGVtZW50LlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHN0YXRlIFtpbl0gLSBTdGF0ZSB0byB0cmFuc2l0aW9uIHRvLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkZnJvbSBbbnVsbF0gLSBPcGFjaXR5IHRvIHN0YXJ0IGF0LiBNdXN0IGJlIGEgbnVtYmVyIGJldHdlZW4gMCBhbmQgMS4gQnkgZGVmYXVsdCBgMGAgYW5kIGAxYCBmb3IgYGluYCBhbmQgYG91dGAgc3RhdGVzIHJlc3BlY3RpdmVseS5cbi8vLyBAcGFyYW0ge051bWJlcn0gJHRvIFtudWxsXSAtIE9wYWNpdHkgdG8gZW5kIG9uLiBCeSBkZWZhdWx0IGAxYCBhbmQgYDBgIGZvciBgaW5gIGFuZCBgb3V0YCBzdGF0ZXMgcmVzcGVjdGl2ZWx5LlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGR1cmF0aW9uIFtudWxsXSAtIExlbmd0aCAoc3BlZWQpIG9mIHRoZSB0cmFuc2l0aW9uLlxuLy8vIEBwYXJhbSB7S2V5d29yZHxGdW5jdGlvbn0gJHRpbWluZyBbbnVsbF0gLSBFYXNpbmcgb2YgdGhlIHRyYW5zaXRpb24uXG4vLy8gQHBhcmFtIHtEdXJhdGlvbn0gJGRlbGF5IFtudWxsXSAtIERlbGF5IGluIHNlY29uZHMgb3IgbWlsbGlzZWNvbmRzIGJlZm9yZSB0aGUgdHJhbnNpdGlvbiBzdGFydHMuXG5AbWl4aW4gbXVpLWZhZGUoXG4gICRzdGF0ZTogaW4sXG4gICRmcm9tOiBudWxsLFxuICAkdG86IG51bGwsXG4gICRkdXJhdGlvbjogbnVsbCxcbiAgJHRpbWluZzogbnVsbCxcbiAgJGRlbGF5OiBudWxsXG4pIHtcbiAgJGZyb206IGlmKCRmcm9tICE9IG51bGwsICRmcm9tLCBpZigkc3RhdGUgPT0gaW4sIDAsIDEpKTtcbiAgJHRvOiBpZigkdG8gIT0gbnVsbCwgJHRvLCBpZigkc3RhdGUgPT0gaW4sIDEsIDApKTtcbiAgJGZhZGU6IGZhZGUoJGZyb20sICR0byk7XG5cbiAgQGluY2x1ZGUgdHJhbnNpdGlvbi1zdGFydCgkc3RhdGUpIHtcbiAgICBAaW5jbHVkZSB0cmFuc2l0aW9uLWJhc2ljcygkZHVyYXRpb24sICR0aW1pbmcsICRkZWxheSk7XG4gICAgQGluY2x1ZGUgLW11aS1rZXlmcmFtZS1nZXQoJGZhZGUsIDApO1xuXG4gICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogb3BhY2l0eTtcbiAgfVxuXG4gIEBpbmNsdWRlIHRyYW5zaXRpb24tZW5kKCRzdGF0ZSkge1xuICAgIEBpbmNsdWRlIC1tdWkta2V5ZnJhbWUtZ2V0KCRmYWRlLCAxMDApO1xuICB9XG59XG4iLCIvLy8gQ3JlYXRlcyBhIGhpbmdlIHRyYW5zaXRpb24gYnkgcm90YXRpbmcgdGhlIGVsZW1lbnQuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkc3RhdGUgW2luXSAtIFN0YXRlIHRvIHRyYW5zaXRpb24gdG8uXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkZnJvbSBbbGVmdF0gLSBFZGdlIG9mIHRoZSBlbGVtZW50IHRvIHJvdGF0ZSBmcm9tLiBDYW4gYmUgYHRvcGAsIGByaWdodGAsIGBib3R0b21gLCBvciBgbGVmdGAuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkYXhpcyBbZWRnZV0gLSBBeGlzIG9mIHRoZSBlbGVtZW50IHRvIHJvdGF0ZSBvbi4gQ2FuIGJlIGBlZGdlYCBvciBgY2VudGVyYC5cbi8vLyBAcGFyYW0ge0xlbmd0aH0gJHBlcnNwZWN0aXZlIFsyMDAwcHhdIC0gUGVyY2VpdmVkIGRpc3RhbmNlIGJldHdlZW4gdGhlIHZpZXdlciBhbmQgdGhlIGVsZW1lbnQuIEEgaGlnaGVyIG51bWJlciB3aWxsIG1ha2UgdGhlIHJvdGF0aW9uIGVmZmVjdCBtb3JlIHByb25vdW5jZWQuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkdHVybi1vcmlnaW4gW251bGxdIC0gU2lkZSBvZiB0aGUgZWxlbWVudCB0byBzdGFydCB0aGUgcm90YXRpb24gZnJvbS4gQ2FuIGJlIGBmcm9tLWJhY2tgIG9yIGBmcm9tLWZyb250YC4gQnkgZGVmYXVsdCBgZnJvbS1iYWNrYCBhbmQgYGZyb20tZnJvbnRgIGZvciBgaW5gIGFuZCBgb3V0YCBzdGF0ZXMgcmVzcGVjdGl2ZWx5LlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJGZhZGUgW3RydWVdIC0gU2V0IHRvIGB0cnVlYCB0byBmYWRlIHRoZSBlbGVtZW50IGluIG9yIG91dCBzaW11bHRhbmVvdXNseS5cbi8vLyBAcGFyYW0ge0R1cmF0aW9ufSAkZHVyYXRpb24gW251bGxdIC0gTGVuZ3RoIChzcGVlZCkgb2YgdGhlIHRyYW5zaXRpb24uXG4vLy8gQHBhcmFtIHtLZXl3b3JkfEZ1bmN0aW9ufSAkdGltaW5nIFtudWxsXSAtIEVhc2luZyBvZiB0aGUgdHJhbnNpdGlvbi5cbi8vLyBAcGFyYW0ge0R1cmF0aW9ufSAkZGVsYXkgW251bGxdIC0gRGVsYXkgaW4gc2Vjb25kcyBvciBtaWxsaXNlY29uZHMgYmVmb3JlIHRoZSB0cmFuc2l0aW9uIHN0YXJ0cy5cbkBtaXhpbiBtdWktaGluZ2UgKFxuICAkc3RhdGU6IGluLFxuICAkZnJvbTogbGVmdCxcbiAgJGF4aXM6IGVkZ2UsXG4gICRwZXJzcGVjdGl2ZTogMjAwMHB4LFxuICAkdHVybi1vcmlnaW46IG51bGwsXG4gICRmYWRlOiBtYXAtZ2V0KCRtb3Rpb24tdWktc2V0dGluZ3MsIGhpbmdlLWFuZC1mYWRlKSxcbiAgJGR1cmF0aW9uOiBudWxsLFxuICAkdGltaW5nOiBudWxsLFxuICAkZGVsYXk6IG51bGxcbikge1xuICAkdHVybi1vcmlnaW46IGlmKCR0dXJuLW9yaWdpbiAhPSBudWxsLCAkdHVybi1vcmlnaW4sIGlmKCRzdGF0ZSA9PSBpbiwgZnJvbS1iYWNrLCBmcm9tLWZyb250KSk7XG4gICRoaW5nZTogaGluZ2UoJHN0YXRlLCAkZnJvbSwgJGF4aXMsICRwZXJzcGVjdGl2ZSwgJHR1cm4tb3JpZ2luKTtcblxuICBAaW5jbHVkZSB0cmFuc2l0aW9uLXN0YXJ0KCRzdGF0ZSkge1xuICAgIEBpbmNsdWRlIHRyYW5zaXRpb24tYmFzaWNzKCRkdXJhdGlvbiwgJHRpbWluZywgJGRlbGF5KTtcbiAgICBAaW5jbHVkZSAtbXVpLWtleWZyYW1lLWdldCgkaGluZ2UsIDApO1xuXG4gICAgQGlmICRmYWRlIHtcbiAgICAgIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgICAgIG9wYWNpdHk6IGlmKCRzdGF0ZSA9PSBpbiwgMCwgMSk7XG4gICAgfSBAZWxzZSB7XG4gICAgICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgdHJhbnNpdGlvbi1lbmQoJHN0YXRlKSB7XG4gICAgQGluY2x1ZGUgLW11aS1rZXlmcmFtZS1nZXQoJGhpbmdlLCAxMDApO1xuXG4gICAgQGlmICRmYWRlIHtcbiAgICAgIG9wYWNpdHk6IGlmKCRzdGF0ZSA9PSBpbiwgMSwgMCk7XG4gICAgfVxuICB9XG59XG4iLCIvLy8gQ3JlYXRlcyBhIHNjYWxpbmcgdHJhbnNpdGlvbi4gQSBzY2FsZSBvZiBgMWAgbWVhbnMgdGhlIGVsZW1lbnQgaXMgdGhlIHNhbWUgc2l6ZS4gTGFyZ2VyIG51bWJlcnMgbWFrZSB0aGUgZWxlbWVudCBiaWdnZXIsIHdoaWxlIG51bWJlcnMgbGVzcyB0aGFuIDEgbWFrZSB0aGUgZWxlbWVudCBzbWFsbGVyLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHN0YXRlIFtpbl0gLSBTdGF0ZSB0byB0cmFuc2l0aW9uIHRvLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkZnJvbSBbbnVsbF0gLSBTaXplIHRvIHN0YXJ0IGF0LiBCeSBkZWZhdWx0IGAwYCBhbmQgYDFgIGZvciBgaW5gIGFuZCBgb3V0YCBzdGF0ZXMgcmVzcGVjdGl2ZWx5LlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkdG8gW251bGxdIC0gU2l6ZSB0byBlbmQgYXQuIEJ5IGRlZmF1bHQgYDFgIGFuZCBgMGAgZm9yIGBpbmAgYW5kIGBvdXRgIHN0YXRlcyByZXNwZWN0aXZlbHkuXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkZmFkZSBbdHJ1ZV0gLSBTZXQgdG8gYHRydWVgIHRvIGZhZGUgdGhlIGVsZW1lbnQgaW4gb3Igb3V0IHNpbXVsdGFuZW91c2x5LlxuLy8vIEBwYXJhbSB7RHVyYXRpb259ICRkdXJhdGlvbiBbbnVsbF0gLSBMZW5ndGggKHNwZWVkKSBvZiB0aGUgdHJhbnNpdGlvbi5cbi8vLyBAcGFyYW0ge0tleXdvcmR8RnVuY3Rpb259ICR0aW1pbmcgW251bGxdIC0gRWFzaW5nIG9mIHRoZSB0cmFuc2l0aW9uLlxuLy8vIEBwYXJhbSB7RHVyYXRpb259ICRkZWxheSBbbnVsbF0gLSBEZWxheSBpbiBzZWNvbmRzIG9yIG1pbGxpc2Vjb25kcyBiZWZvcmUgdGhlIHRyYW5zaXRpb24gc3RhcnRzLlxuQG1peGluIG11aS16b29tKFxuICAkc3RhdGU6IGluLFxuICAkZnJvbTogbnVsbCxcbiAgJHRvOiBudWxsLFxuICAkZmFkZTogbWFwLWdldCgkbW90aW9uLXVpLXNldHRpbmdzLCBzY2FsZS1hbmQtZmFkZSksXG4gICRkdXJhdGlvbjogbnVsbCxcbiAgJHRpbWluZzogbnVsbCxcbiAgJGRlbGF5OiBudWxsXG4pIHtcbiAgJGZyb206IGlmKCRmcm9tICE9IG51bGwsICRmcm9tLCBpZigkc3RhdGUgPT0gaW4sIDAsIDEpKTtcbiAgJHRvOiBpZigkdG8gIT0gbnVsbCwgJHRvLCBpZigkc3RhdGUgPT0gaW4sIDEsIDApKTtcbiAgJHNjYWxlOiB6b29tKCRmcm9tLCAkdG8pO1xuXG4gIEBpbmNsdWRlIHRyYW5zaXRpb24tc3RhcnQoJHN0YXRlKSB7XG4gICAgQGluY2x1ZGUgdHJhbnNpdGlvbi1iYXNpY3MoJGR1cmF0aW9uLCAkdGltaW5nLCAkZGVsYXkpO1xuICAgIEBpbmNsdWRlIC1tdWkta2V5ZnJhbWUtZ2V0KCRzY2FsZSwgMCk7XG5cbiAgICBAaWYgJGZhZGUge1xuICAgICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICAgICAgb3BhY2l0eTogaWYoJHN0YXRlID09IGluLCAwLCAxKTtcbiAgICB9IEBlbHNlIHtcbiAgICAgIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgICB9XG4gIH1cblxuICBAaW5jbHVkZSB0cmFuc2l0aW9uLWVuZCgkc3RhdGUpIHtcbiAgICBAaW5jbHVkZSAtbXVpLWtleWZyYW1lLWdldCgkc2NhbGUsIDEwMCk7XG5cbiAgICBAaWYgJGZhZGUge1xuICAgICAgb3BhY2l0eTogaWYoJHN0YXRlID09IGluLCAxLCAwKTtcbiAgICB9XG4gIH1cbn1cbiIsIi8vLyBDcmVhdGVzIGEgc3Bpbm5pbmcgdHJhbnNpdGlvbiBieSByb3RhdGluZyB0aGUgZWxlbWVudC4gVGhlIGB0dXJuYCB1bml0IGlzIHVzZWQgdG8gc3BlY2lmeSBob3cgZmFyIHRvIHJvdGF0ZS4gYDF0dXJuYCBpcyBlcXVhbCB0byBhIDM2MC1kZWdyZWUgc3Bpbi5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRzdGF0ZSBbaW5dIC0gU3RhdGUgdG8gdHJhbnNpdGlvbiB0by5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRkaXJlY3Rpb24gW251bGxdIC0gRGlyZWN0aW9uIHRvIHNwaW4uIFNob3VsZCBiZSBgY3dgIChjbG9ja3dpc2UpIG9yIGBjY3dgIChjb3VudGVyY2xvY2t3aXNlKS4gQnkgZGVmYXVsdCBgY3dgIGFuZCBgY2N3YCBmb3IgYGluYCBhbmQgYG91dGAgc3RhdGVzIHJlc3BlY3RpdmVseS5cbi8vLyBAcGFyYW0ge051bWJlcn0gJGFtb3VudCBbMC43NXR1cm5dIC0gQW1vdW50IHRvIGVsZW1lbnQgdGhlIGVsZW1lbnQuXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkZmFkZSBbZmFsc2VdIC0gU2V0IHRvIGB0cnVlYCB0byBmYWRlIHRoZSBlbGVtZW50IGluIG9yIG91dCBzaW11bHRhbmVvdXNseS5cbi8vLyBAcGFyYW0ge0R1cmF0aW9ufSAkZHVyYXRpb24gW251bGxdIC0gTGVuZ3RoIChzcGVlZCkgb2YgdGhlIHRyYW5zaXRpb24uXG4vLy8gQHBhcmFtIHtLZXl3b3JkfEZ1bmN0aW9ufSAkdGltaW5nIFtudWxsXSAtIEVhc2luZyBvZiB0aGUgdHJhbnNpdGlvbi5cbi8vLyBAcGFyYW0ge0R1cmF0aW9ufSAkZGVsYXkgW251bGxdIC0gRGVsYXkgaW4gc2Vjb25kcyBvciBtaWxsaXNlY29uZHMgYmVmb3JlIHRoZSB0cmFuc2l0aW9uIHN0YXJ0cy5cbkBtaXhpbiBtdWktc3BpbihcbiAgJHN0YXRlOiBpbixcbiAgJGRpcmVjdGlvbjogY3csXG4gICRhbW91bnQ6IDAuNzV0dXJuLFxuICAkZmFkZTogbWFwLWdldCgkbW90aW9uLXVpLXNldHRpbmdzLCBzcGluLWFuZC1mYWRlKSxcbiAgJGR1cmF0aW9uOiBudWxsLFxuICAkdGltaW5nOiBudWxsLFxuICAkZGVsYXk6IG51bGxcbikge1xuICAkZGlyZWN0aW9uOiBpZigkZGlyZWN0aW9uICE9IG51bGwsICRkaXJlY3Rpb24sIGlmKCRzdGF0ZSA9PSBpbiwgY3csIGNjdykpO1xuICAkc3Bpbjogc3Bpbigkc3RhdGUsICRkaXJlY3Rpb24sICRhbW91bnQpO1xuXG4gIEBpbmNsdWRlIHRyYW5zaXRpb24tc3RhcnQoJHN0YXRlKSB7XG4gICAgQGluY2x1ZGUgdHJhbnNpdGlvbi1iYXNpY3MoJGR1cmF0aW9uLCAkdGltaW5nLCAkZGVsYXkpO1xuICAgIEBpbmNsdWRlIC1tdWkta2V5ZnJhbWUtZ2V0KCRzcGluLCAwKTtcblxuICAgIEBpZiAkZmFkZSB7XG4gICAgICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gICAgICBvcGFjaXR5OiBpZigkc3RhdGUgPT0gaW4sIDAsIDEpO1xuICAgIH0gQGVsc2Uge1xuICAgICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICAgIH1cbiAgfVxuXG4gIEBpbmNsdWRlIHRyYW5zaXRpb24tZW5kKCRzdGF0ZSkge1xuICAgIEBpbmNsdWRlIC1tdWkta2V5ZnJhbWUtZ2V0KCRzcGluLCAxMDApO1xuXG4gICAgQGlmICRmYWRlIHtcbiAgICAgIG9wYWNpdHk6IGlmKCRzdGF0ZSA9PSBpbiwgMSwgMCk7XG4gICAgfVxuICB9XG59XG4iLCIvLy8gQ3JlYXRlcyBhIGtleWZyYW1lIGZyb20gb25lIG9yIG1vcmUgZWZmZWN0IGZ1bmN0aW9ucyBhbmQgYXNzaWducyBpdCB0byB0aGUgZWxlbWVudCBieSBhZGRpbmcgdGhlIGBhbmltYXRpb24tbmFtZWAgcHJvcGVydHkuXG4vLy8gQHBhcmFtIHtBcmdsaXN0fSAkZWZmZWN0cy4uLiAtIE9uZSBvciBtb3JlIGVmZmVjdCBmdW5jdGlvbnMgdG8gYnVpbGQgdGhlIGtleWZyYW1lIHdpdGguXG5AbWl4aW4gbXVpLWFuaW1hdGlvbigkYXJncy4uLikge1xuICAkbmFtZTogbWFwLWdldCgtbXVpLXByb2Nlc3MtYXJncygkYXJncy4uLiksIG5hbWUpO1xuICBAaW5jbHVkZSBtdWkta2V5ZnJhbWVzKCRuYW1lLCAkYXJncy4uLik7XG4gIGFuaW1hdGlvbi1uYW1lOiB1bnF1b3RlKCRuYW1lKTtcbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBkcm9wZG93bi1tZW51XG4vLy8vXG5cbi8vLyBFbmFibGVzIGFycm93cyBmb3IgaXRlbXMgd2l0aCBkcm9wZG93biBtZW51cy5cbi8vLyBAdHlwZSBCb29sZWFuXG4kZHJvcGRvd25tZW51LWFycm93czogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIFNldHMgZHJvcGRvd24gbWVudSBhcnJvdyBjb2xvciBpZiBhcnJvdyBpcyB1c2VkLlxuLy8vIEB0eXBlIENvbG9yXG4kZHJvcGRvd25tZW51LWFycm93LWNvbG9yOiAkYW5jaG9yLWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gU2V0cyBkcm9wZG93biBtZW51IGFycm93IHNpemUgaWYgYXJyb3cgaXMgdXNlZC5cbi8vLyBAdHlwZSBMZW5ndGhcbiRkcm9wZG93bm1lbnUtYXJyb3ctc2l6ZTogNnB4ICFkZWZhdWx0O1xuXG4vLy8gU2V0cyBkcm9wZG93biBtZW51IGFycm93IHBhZGRpbmcgZm9yIGFsaWduaW5nIHRoZSBhcnJvdyBjb3JyZWN0bHkuXG4vLy8gQHR5cGUgTGVuZ3RoXG4kZHJvcGRvd25tZW51LWFycm93LXBhZGRpbmc6IDEuNXJlbSAhZGVmYXVsdDtcblxuLy8vIE1pbmltdW0gd2lkdGggb2YgZHJvcGRvd24gc3ViLW1lbnVzLlxuLy8vIEB0eXBlIExlbmd0aFxuJGRyb3Bkb3dubWVudS1taW4td2lkdGg6IDIwMHB4ICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBmb3IgdG9wIGxldmVsIGl0ZW1zLlxuLy8vIEB0eXBlIENvbG9yXG4kZHJvcGRvd25tZW51LWJhY2tncm91bmQ6IG51bGwgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIGZvciBkcm9wZG93bnMuXG4vLy8gQHR5cGUgQ29sb3JcbiRkcm9wZG93bm1lbnUtc3VibWVudS1iYWNrZ3JvdW5kOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBQYWRkaW5nIGZvciB0b3AgbGV2ZWwgaXRlbXMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZHJvcGRvd25tZW51LXBhZGRpbmc6ICRnbG9iYWwtbWVudS1wYWRkaW5nICFkZWZhdWx0O1xuXG4vLy8gU2V0cyBkcm9wZG93biBtZW51IG5lc3RlZCBtYXJnaW5cbi8vLyBAdHlwZSBOdW1iZXJcbiRkcm9wZG93bm1lbnUtbmVzdGVkLW1hcmdpbjogMCAhZGVmYXVsdDtcblxuLy8vIFBhZGRpbmcgZm9yIHN1Yi1tZW51IGl0ZW1zLlxuLy8vIEB0eXBlIE51bWJlclxuJGRyb3Bkb3dubWVudS1zdWJtZW51LXBhZGRpbmc6ICRkcm9wZG93bm1lbnUtcGFkZGluZyAhZGVmYXVsdDtcblxuLy8vIEJvcmRlciBmb3IgZHJvcGRvd24gc3ViLW1lbnVzLlxuLy8vIEB0eXBlIExpc3RcbiRkcm9wZG93bm1lbnUtYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLyBCb3JkZXIgd2lkdGggZm9yIGRyb3Bkb3duIHN1Yi1tZW51cy5cbi8vIFVzZWQgdG8gYWRqdXN0IHRvcCBtYXJnaW4gb2YgYSBzdWItbWVudSBpZiBhIGJvcmRlciBpcyB1c2VkLlxuLy8gQHR5cGUgTGVuZ3RoXG4kZHJvcGRvd25tZW51LWJvcmRlci13aWR0aDogbnRoKCRkcm9wZG93bm1lbnUtYm9yZGVyLCAxKTtcblxuLy8vIFRleHQgY29sb3Igb2YgYW4gYWN0aXZlIGRyb3Bkb3duIG1lbnUgaXRlbS4gRXhwbGljaXQgb3ZlcnJpZGUgZm9yIG1lbnUgZGVmYXVsdHNcbi8vLyBAdHlwZSBDb2xvclxuJGRyb3Bkb3duLW1lbnUtaXRlbS1jb2xvci1hY3RpdmU6IGdldC1jb2xvcihwcmltYXJ5KSAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3Igb2YgYW4gYWN0aXZlIGRyb3Bkb3duIG1lbnUgaXRlbS4gRXhwbGljaXQgb3ZlcnJpZGUgZm9yIG1lbnUgZGVmYXVsdHNcbi8vLyBAdHlwZSBDb2xvclxuJGRyb3Bkb3duLW1lbnUtaXRlbS1iYWNrZ3JvdW5kLWFjdGl2ZTogdHJhbnNwYXJlbnQgIWRlZmF1bHQ7XG5cbkBtaXhpbiB6Zi1kcm9wZG93bi1sZWZ0LXJpZ2h0LWFycm93cyB7XG4gID4gYTo6YWZ0ZXIge1xuICAgICN7JGdsb2JhbC1yaWdodH06IDE0cHg7XG4gIH1cblxuICAmLm9wZW5zLWxlZnQgPiBhOjphZnRlciB7XG4gICAgQGluY2x1ZGUgY3NzLXRyaWFuZ2xlKCRkcm9wZG93bm1lbnUtYXJyb3ctc2l6ZSwgJGRyb3Bkb3dubWVudS1hcnJvdy1jb2xvciwgbGVmdCk7XG4gICAgcmlnaHQ6IGF1dG87XG4gICAgbGVmdDogNXB4O1xuICB9XG5cbiAgJi5vcGVucy1yaWdodCA+IGE6OmFmdGVyIHtcbiAgICBAaW5jbHVkZSBjc3MtdHJpYW5nbGUoJGRyb3Bkb3dubWVudS1hcnJvdy1zaXplLCAkZHJvcGRvd25tZW51LWFycm93LWNvbG9yLCByaWdodCk7XG4gIH1cbn1cblxuQG1peGluIGRyb3Bkb3duLW1lbnUtZGlyZWN0aW9uKCRkaXI6IGhvcml6b250YWwpIHtcbiAgQGlmICRkaXIgPT0gaG9yaXpvbnRhbCB7XG4gICAgPiBsaS5vcGVucy1sZWZ0IHsgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSBuby1xdWFsaWZ5aW5nLWVsZW1lbnRzXG4gICAgICA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICAgICAgdG9wOiAxMDAlO1xuICAgICAgICByaWdodDogMDtcbiAgICAgICAgbGVmdDogYXV0bztcbiAgICAgIH1cbiAgICB9XG5cbiAgICA+IGxpLm9wZW5zLXJpZ2h0IHsgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSBuby1xdWFsaWZ5aW5nLWVsZW1lbnRzXG4gICAgICA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICAgICAgdG9wOiAxMDAlO1xuICAgICAgICByaWdodDogYXV0bztcbiAgICAgICAgbGVmdDogMDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBAaWYgJGRyb3Bkb3dubWVudS1hcnJvd3Mge1xuICAgICAgPiBsaS5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudCA+IGEgeyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIG5vLXF1YWxpZnlpbmctZWxlbWVudHNcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBwYWRkaW5nLSN7JGdsb2JhbC1yaWdodH06ICRkcm9wZG93bm1lbnUtYXJyb3ctcGFkZGluZztcbiAgICAgIH1cblxuICAgICAgPiBsaS5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudCA+IGE6OmFmdGVyIHsgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSBuby1xdWFsaWZ5aW5nLWVsZW1lbnRzXG4gICAgICAgIEBpbmNsdWRlIGNzcy10cmlhbmdsZSgkZHJvcGRvd25tZW51LWFycm93LXNpemUsICRkcm9wZG93bm1lbnUtYXJyb3ctY29sb3IsIGRvd24pO1xuICAgICAgICAjeyRnbG9iYWwtcmlnaHR9OiA1cHg7XG4gICAgICAgICN7JGdsb2JhbC1sZWZ0fTogYXV0bztcbiAgICAgICAgbWFyZ2luLXRvcDogLTEgKiAoJGRyb3Bkb3dubWVudS1hcnJvdy1zaXplIC8gMik7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEBlbHNlIGlmICRkaXIgPT0gdmVydGljYWwge1xuICAgID4gbGkge1xuICAgICAgLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgICAgICB0b3A6IDA7XG4gICAgICB9XG5cbiAgICAgICYub3BlbnMtbGVmdCB7XG4gICAgICAgID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICByaWdodDogMTAwJTtcbiAgICAgICAgICBsZWZ0OiBhdXRvO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgICYub3BlbnMtcmlnaHQge1xuICAgICAgICA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICAgICAgICByaWdodDogYXV0bztcbiAgICAgICAgICBsZWZ0OiAxMDAlO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIEBpZiAkZHJvcGRvd25tZW51LWFycm93cyB7XG4gICAgICAgIEBpbmNsdWRlIHpmLWRyb3Bkb3duLWxlZnQtcmlnaHQtYXJyb3dzO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICBAZWxzZSB7XG4gICAgQHdhcm4gJ1RoZSBkaXJlY3Rpb24gdXNlZCBmb3IgZHJvcGRvd24tbWVudS1kaXJlY3Rpb24oKSBtdXN0IGJlIGhvcml6b250YWwgb3IgdmVydGljYWwuJztcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1kcm9wZG93bi1tZW51IHtcbiAgLmRyb3Bkb3duLm1lbnUge1xuICAgIEBpbmNsdWRlIGRyb3Bkb3duLW1lbnUtZGlyZWN0aW9uKGhvcml6b250YWwpO1xuXG4gICAgYSB7XG4gICAgICBAaW5jbHVkZSBkaXNhYmxlLW1vdXNlLW91dGxpbmU7XG4gICAgfVxuXG4gICAgLy8gVG9wLWxldmVsIGl0ZW1cbiAgICA+IGxpID4gYSB7XG4gICAgICBiYWNrZ3JvdW5kOiAkZHJvcGRvd25tZW51LWJhY2tncm91bmQ7XG4gICAgICBwYWRkaW5nOiAkZHJvcGRvd25tZW51LXBhZGRpbmc7XG4gICAgfVxuXG4gICAgLy8gVG9wLWxldmVsIGl0ZW0gYWN0aXZlIHN0YXRlXG4gICAgPiBsaS5pcy1hY3RpdmUgPiBhIHtcbiAgICAgIGJhY2tncm91bmQ6ICRkcm9wZG93bi1tZW51LWl0ZW0tYmFja2dyb3VuZC1hY3RpdmU7XG4gICAgICBjb2xvcjogJGRyb3Bkb3duLW1lbnUtaXRlbS1jb2xvci1hY3RpdmU7XG4gICAgfVxuXG4gICAgLm5vLWpzICYgdWwge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG5cbiAgICAubmVzdGVkLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgICAgQGluY2x1ZGUgbWVudS1uZXN0ZWQoJGRyb3Bkb3dubWVudS1uZXN0ZWQtbWFyZ2luKTtcbiAgICB9XG5cbiAgICAmLnZlcnRpY2FsIHtcbiAgICAgIEBpbmNsdWRlIGRyb3Bkb3duLW1lbnUtZGlyZWN0aW9uKHZlcnRpY2FsKTtcbiAgICB9XG5cbiAgICBAZWFjaCAkc2l6ZSBpbiAkYnJlYWtwb2ludC1jbGFzc2VzIHtcbiAgICAgIEBpZiAkc2l6ZSAhPSAkLXpmLXplcm8tYnJlYWtwb2ludCB7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHNpemUpIHtcbiAgICAgICAgICAmLiN7JHNpemV9LWhvcml6b250YWwge1xuICAgICAgICAgICAgQGluY2x1ZGUgZHJvcGRvd24tbWVudS1kaXJlY3Rpb24oaG9yaXpvbnRhbCk7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgJi4jeyRzaXplfS12ZXJ0aWNhbCB7XG4gICAgICAgICAgICBAaW5jbHVkZSBkcm9wZG93bi1tZW51LWRpcmVjdGlvbih2ZXJ0aWNhbCk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi5hbGlnbi1yaWdodCB7XG4gICAgICAuaXMtZHJvcGRvd24tc3VibWVudS5maXJzdC1zdWIge1xuICAgICAgICB0b3A6IDEwMCU7XG4gICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICBsZWZ0OiBhdXRvO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5pcy1kcm9wZG93bi1tZW51LnZlcnRpY2FsIHtcbiAgICB3aWR0aDogMTAwcHg7XG5cbiAgICAmLmFsaWduLXJpZ2h0IHtcbiAgICAgIGZsb2F0OiByaWdodDtcbiAgICB9XG4gIH1cblxuICAuaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgIGE6OmFmdGVyIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogNTAlO1xuICAgICAgI3skZ2xvYmFsLXJpZ2h0fTogNXB4O1xuICAgICAgI3skZ2xvYmFsLWxlZnR9OiBhdXRvO1xuICAgICAgbWFyZ2luLXRvcDogLTEgKiAkZHJvcGRvd25tZW51LWFycm93LXNpemU7XG4gICAgfVxuXG4gICAgJi5vcGVucy1pbm5lciA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcblxuICAgICAgdG9wOiAxMDAlO1xuICAgICAgQGlmICRnbG9iYWwtdGV4dC1kaXJlY3Rpb24gPT0gJ3J0bCcge1xuICAgICAgICByaWdodDogYXV0bztcbiAgICAgIH1cbiAgICAgIEBlbHNlIHtcbiAgICAgICAgbGVmdDogYXV0bztcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLm9wZW5zLWxlZnQgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgICByaWdodDogMTAwJTtcbiAgICAgIGxlZnQ6IGF1dG87XG4gICAgfVxuXG4gICAgJi5vcGVucy1yaWdodCA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICAgIHJpZ2h0OiBhdXRvO1xuICAgICAgbGVmdDogMTAwJTtcbiAgICB9XG4gIH1cblxuICAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICAjeyRnbG9iYWwtbGVmdH06IDEwMCU7XG4gICAgei1pbmRleDogMTtcblxuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgbWluLXdpZHRoOiAkZHJvcGRvd25tZW51LW1pbi13aWR0aDtcblxuICAgIGJvcmRlcjogJGRyb3Bkb3dubWVudS1ib3JkZXI7XG4gICAgYmFja2dyb3VuZDogJGRyb3Bkb3dubWVudS1zdWJtZW51LWJhY2tncm91bmQ7XG5cbiAgICAuZHJvcGRvd24gJiBhIHtcbiAgICAgIHBhZGRpbmc6ICRkcm9wZG93bm1lbnUtc3VibWVudS1wYWRkaW5nO1xuICAgIH1cblxuICAgIC5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudCB7XG4gICAgICBAaWYgJGRyb3Bkb3dubWVudS1hcnJvd3Mge1xuICAgICAgICBAaW5jbHVkZSB6Zi1kcm9wZG93bi1sZWZ0LXJpZ2h0LWFycm93cztcbiAgICAgIH1cbiAgICB9XG5cbiAgICBAaWYgKHR5cGUtb2YoJGRyb3Bkb3dubWVudS1ib3JkZXItd2lkdGgpID09ICdudW1iZXInKSB7XG4gICAgICAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgICAgIG1hcmdpbi10b3A6ICgtJGRyb3Bkb3dubWVudS1ib3JkZXItd2lkdGgpO1xuICAgICAgfVxuICAgIH1cblxuICAgID4gbGkge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuXG4gICAgLy8gW1RPRE9dIEN1dCBiYWNrIHNwZWNpZmljaXR5XG4gICAgLy8mOm5vdCguanMtZHJvcGRvd24tbm9ob3ZlcikgPiAuaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQ6aG92ZXIgPiAmLCAvLyB3aHkgaXMgdGhpcyBsaW5lIG5lZWRlZD8gT3BlbmluZyBpcyBoYW5kbGVkIGJ5IEpTIGFuZCB0aGlzIGNhdXNlcyBzb21lIHVnbHkgZmxpY2tlcmluZyB3aGVuIHRoZSBzdWIgaXMgcmUtcG9zaXRpb25lZCBhdXRvbWF0aWNhbGx5Li4uXG4gICAgJi5qcy1kcm9wZG93bi1hY3RpdmUge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuICB9XG59XG4iXSwic291cmNlUm9vdCI6IiJ9*/