.ps-chat{--ps-chat-accent: var(--ps-color-primary, #305cde);--ps-chat-accent-contrast: var(--ps-color-text-inverse, #ffffff);--ps-chat-surface: var(--ps-color-surface, #ffffff);--ps-chat-surface-alt: var(--ps-color-surface-alt, #f4f6fa);--ps-chat-border: var(--ps-color-border, #dde3ee);--ps-chat-text: var(--ps-color-text, #1a2233);--ps-chat-text-muted: var(--ps-color-text-3, #6b7280);--ps-chat-radius: 14px;font-family:var(--ps-font-primary, inherit);color:var(--ps-chat-text);box-sizing:border-box}.ps-chat *,.ps-chat *::before,.ps-chat *::after{box-sizing:inherit}.ps-chat__panel{display:flex;flex-direction:column;height:var(--ps-chat-height, 520px);background:var(--ps-chat-surface);border:1px solid var(--ps-chat-border);border-radius:var(--ps-chat-radius);box-shadow:0 10px 34px rgba(15,23,42,.12);overflow:hidden}.ps-chat--inline .ps-chat__panel{width:100%;max-width:var(--ps-chat-panel-max, 520px);margin:0 auto}.ps-chat--launcher{position:fixed;right:22px;bottom:22px;z-index:2147480000}.ps-chat--launcher .ps-chat__panel{position:absolute;right:0;bottom:74px;width:min(380px,100vw - 32px);height:min(var(--ps-chat-height, 520px),100vh - 120px)}.ps-chat__launcher{display:flex;align-items:center;justify-content:center;width:56px;height:56px;border:none;border-radius:50%;background:var(--ps-chat-accent);color:var(--ps-chat-accent-contrast);cursor:pointer;box-shadow:0 6px 22px rgba(15,23,42,.28);transition:transform .15s ease,box-shadow .15s ease;position:relative}.ps-chat__launcher:hover{transform:scale(1.06);box-shadow:0 8px 26px rgba(15,23,42,.34)}.ps-chat__launcher-dot{position:absolute;top:3px;right:3px;width:12px;height:12px;border-radius:50%;background:#e5484d;border:2px solid var(--ps-chat-accent-contrast)}.ps-chat__header{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:12px 14px;background:var(--ps-chat-accent);color:var(--ps-chat-accent-contrast)}.ps-chat__header-text{display:flex;flex-direction:column;min-width:0}.ps-chat__title{font-size:15px;font-weight:700;line-height:1.2}.ps-chat__vehicle{font-size:12px;opacity:.85;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ps-chat__header-actions{display:flex;gap:6px}.ps-chat__icon-btn{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border:none;border-radius:8px;background:rgba(255,255,255,.16);color:inherit;cursor:pointer}.ps-chat__icon-btn:hover{background:rgba(255,255,255,.28)}.ps-chat__icon-label{display:none}.ps-chat__messages{flex:1;overflow-y:auto;padding:14px;display:flex;flex-direction:column;gap:8px;background:var(--ps-chat-surface-alt);scroll-behavior:smooth}.ps-chat__bubble{max-width:86%;padding:9px 13px;border-radius:14px;font-size:13.5px;line-height:1.45;white-space:pre-line;word-wrap:break-word}.ps-chat__bubble--bot{align-self:flex-start;background:var(--ps-chat-surface);border:1px solid var(--ps-chat-border);border-bottom-left-radius:5px}.ps-chat__bubble--user{align-self:flex-end;background:var(--ps-chat-accent);color:var(--ps-chat-accent-contrast);border-bottom-right-radius:5px}.ps-chat__bubble--error{border-color:#f3c1c3;background:#fdf2f2}.ps-chat__bubble--bot{position:relative}.ps-chat__flag{position:absolute;right:-22px;bottom:2px;display:flex;align-items:center;justify-content:center;width:18px;height:18px;border:none;border-radius:5px;background:rgba(0,0,0,0);color:var(--ps-chat-text-muted);opacity:0;cursor:pointer;transition:opacity .12s ease,color .12s ease}.ps-chat__bubble--bot:hover .ps-chat__flag{opacity:.65}.ps-chat__flag:hover{opacity:1 !important;color:#e5484d}.ps-chat__flag--done{opacity:1 !important;color:#e5484d;cursor:default}.ps-chat__typing{display:flex;gap:4px;padding:12px 14px}.ps-chat__typing span{width:6px;height:6px;border-radius:50%;background:var(--ps-chat-text-muted);animation:ps-chat-typing 1.1s infinite ease-in-out}.ps-chat__typing span:nth-child(2){animation-delay:.15s}.ps-chat__typing span:nth-child(3){animation-delay:.3s}.ps-chat__chips{align-self:flex-start;max-width:100%}.ps-chat__chips-label{display:block;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--ps-chat-text-muted);margin:2px 0 5px 2px}.ps-chat__chips-strip{display:flex;flex-wrap:wrap;gap:6px;max-height:132px;overflow-y:auto;padding-right:4px}.ps-chat__chip{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border:1px solid var(--ps-chat-accent);border-radius:999px;background:var(--ps-chat-surface);color:var(--ps-chat-accent);font-size:12.5px;font-weight:600;cursor:pointer;transition:background .12s ease,color .12s ease}.ps-chat__chip:hover:not(:disabled){background:var(--ps-chat-accent);color:var(--ps-chat-accent-contrast)}.ps-chat__chip:disabled{border-color:var(--ps-chat-border);color:var(--ps-chat-text-muted);cursor:default;opacity:.75}.ps-chat__chip--picked:disabled{background:var(--ps-chat-accent);border-color:var(--ps-chat-accent);color:var(--ps-chat-accent-contrast);opacity:1}.ps-chat__chip--ghost{border-style:dashed;border-color:var(--ps-chat-border);color:var(--ps-chat-text-muted)}.ps-chat__chip--ghost:hover:not(:disabled){background:var(--ps-chat-surface-alt);color:var(--ps-chat-text)}.ps-chat__chip-count{font-size:10.5px;font-weight:700;padding:1px 6px;border-radius:999px;background:var(--ps-chat-surface-alt);color:var(--ps-chat-text-muted)}.ps-chat__chip:hover:not(:disabled) .ps-chat__chip-count{background:rgba(255,255,255,.25);color:inherit}.ps-chat__products{align-self:stretch}.ps-chat__caveat,.ps-chat__more{font-size:11.5px;color:var(--ps-chat-text-muted);margin-top:6px}.ps-chat__caveat{color:#9a6700}.ps-chat__composer{display:flex;gap:8px;padding:10px 12px;border-top:1px solid var(--ps-chat-border);background:var(--ps-chat-surface)}.ps-chat__input{flex:1;min-width:0;padding:9px 13px;border:1px solid var(--ps-chat-border);border-radius:999px;font-size:13.5px;color:var(--ps-chat-text);background:var(--ps-chat-surface-alt);outline:none}.ps-chat__input:focus{border-color:var(--ps-chat-accent);background:var(--ps-chat-surface)}.ps-chat__input:disabled{opacity:.6}.ps-chat__send{display:flex;align-items:center;justify-content:center;width:38px;height:38px;border:none;border-radius:50%;background:var(--ps-chat-accent);color:var(--ps-chat-accent-contrast);cursor:pointer;flex:0 0 auto}.ps-chat__send:hover:not(:disabled){filter:brightness(1.08)}.ps-chat__send:disabled{opacity:.55;cursor:default}.ps-chat__results{max-width:860px;margin:14px auto 0;background:var(--ps-chat-surface);border:1px solid var(--ps-chat-border);border-radius:var(--ps-chat-radius);padding:14px 16px 16px}.ps-chat__results-head{display:flex;align-items:baseline;justify-content:space-between;gap:10px;margin-bottom:10px}.ps-chat__results-title{font-size:13px;font-weight:800;text-transform:uppercase;letter-spacing:.05em;color:var(--ps-chat-text)}.ps-chat__results-count{font-size:12px;font-weight:600;color:var(--ps-chat-text-muted)}.ps-chat__results-pills{display:flex;flex-wrap:wrap;gap:6px;margin:0 0 10px}.ps-chat__pill{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:999px;border:1px solid var(--ps-chat-accent, #0364ae);background:color-mix(in srgb, var(--ps-chat-accent, #0364ae) 8%, transparent);color:var(--ps-chat-text);font-size:12px;font-weight:600;line-height:1.4}.ps-chat__pill--context{border-color:var(--ps-chat-border);background:var(--ps-chat-surface);color:var(--ps-chat-text-muted)}.ps-chat__pill-x{appearance:none;border:0;background:none;padding:0 2px;margin:0;cursor:pointer;font-size:15px;font-weight:700;line-height:1;color:var(--ps-chat-text-muted)}.ps-chat__pill-x:hover{color:var(--ps-chat-text)}.ps-chat__results-grid .ps-chat-cards--grid{display:grid;grid-template-columns:repeat(auto-fill, minmax(190px, 1fr));gap:10px;overflow:visible;padding:0}.ps-chat__results-grid .ps-chat-cards--grid .ps-chat-card{flex:none}.ps-chat__results-more{display:block;margin:12px auto 0;padding:8px 22px;border:1px solid var(--ps-chat-accent);border-radius:999px;background:var(--ps-chat-surface);color:var(--ps-chat-accent);font-size:13px;font-weight:700;cursor:pointer}.ps-chat__results-more:hover{background:var(--ps-chat-accent);color:var(--ps-chat-accent-contrast)}@media(max-width: 520px){.ps-chat--launcher{right:12px;bottom:12px}.ps-chat--launcher .ps-chat__panel{width:calc(100vw - 24px);height:min(var(--ps-chat-height, 520px),100vh - 96px)}}@media(max-width: 767.98px){.ps-chat--inline .ps-chat__panel{height:auto;overflow:visible;max-width:none}.ps-chat--inline .ps-chat__header{border-radius:var(--ps-chat-radius) var(--ps-chat-radius) 0 0}.ps-chat--inline .ps-chat__messages{flex:none;overflow-y:visible;min-height:120px}.ps-chat--inline .ps-chat__messages>*{scroll-margin-bottom:96px}.ps-chat--inline .ps-chat__composer{position:sticky;bottom:0;z-index:5;border-radius:0 0 var(--ps-chat-radius) var(--ps-chat-radius)}}.ps-chat-modal{position:fixed;inset:0;z-index:2147480500;display:flex;align-items:center;justify-content:center}.ps-chat-modal__backdrop{position:absolute;inset:0;background:rgba(15,23,42,.55)}.ps-chat-modal__panel{position:relative;width:min(560px,100vw - 28px);max-height:calc(100vh - 60px);display:flex;flex-direction:column;background:var(--ps-chat-surface, #fff);border-radius:14px;box-shadow:0 18px 60px rgba(15,23,42,.35);overflow:hidden}.ps-chat-modal__close{position:absolute;top:10px;right:10px;z-index:2;display:flex;align-items:center;justify-content:center;width:30px;height:30px;border:none;border-radius:8px;background:rgba(15,23,42,.06);color:var(--ps-chat-text, #1a2233);cursor:pointer}.ps-chat-modal__close:hover{background:rgba(15,23,42,.14)}.ps-chat-modal__body{overflow-y:auto;padding:16px}.ps-chat-modal__loading{padding:40px 0;text-align:center;color:var(--ps-chat-text-muted, #6b7280);font-size:13.5px}.ps-chat-modal__pdp{display:block;padding:12px 16px;border-top:1px solid var(--ps-chat-border, #dde3ee);text-align:center;font-size:13.5px;font-weight:700;color:var(--ps-chat-accent, #305cde);text-decoration:none}.ps-chat-modal__pdp:hover{text-decoration:underline}.ps-chat-cards{display:flex;gap:10px;overflow-x:auto;overflow-y:hidden;padding:4px 2px 8px;-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain}.ps-chat-card{position:relative;flex:0 0 200px;display:flex;flex-direction:column;background:var(--ps-chat-surface, #fff);border:1px solid var(--ps-chat-border, #dde3ee);border-radius:12px;overflow:hidden;text-decoration:none;color:var(--ps-chat-text, #1a2233);transition:box-shadow .14s ease,transform .14s ease}.ps-chat-card:hover{box-shadow:0 6px 18px rgba(15,23,42,.14);transform:translateY(-1px);text-decoration:none;color:var(--ps-chat-text, #1a2233)}.ps-chat-card__image{position:relative;height:108px;display:flex;align-items:center;justify-content:center;background:#fff;border-bottom:1px solid var(--ps-chat-border, #dde3ee)}.ps-chat-card__image img{max-width:100%;max-height:100%;object-fit:contain}.ps-chat-card__image-fallback{color:var(--ps-chat-text-muted, #9aa3b2)}.ps-chat-card__expand{position:absolute;top:6px;right:6px;display:inline-flex;align-items:center;justify-content:center;gap:5px;padding:5px 10px;min-height:28px;border:1px solid var(--ps-chat-accent, #305cde);border-radius:999px;background:var(--ps-chat-accent, #305cde);color:var(--ps-chat-accent-contrast, #fff);font-size:11px;font-weight:700;line-height:1;white-space:nowrap;cursor:pointer;opacity:0;box-shadow:0 2px 6px rgba(16,24,40,.18);transition:opacity .12s ease,transform .12s ease}.ps-chat-card__expand svg{flex:0 0 auto}.ps-chat-card:hover .ps-chat-card__expand,.ps-chat-card__expand:focus-visible{opacity:1}.ps-chat-card__expand:hover{transform:scale(1.04)}@media(hover: none),(pointer: coarse){.ps-chat-card__expand{opacity:1;min-height:38px;padding:9px 14px;font-size:12px}}.ps-chat-card__badge{position:absolute;top:7px;left:7px;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.03em;padding:2px 7px;border-radius:999px;background:var(--ps-chat-accent, #305cde);color:var(--ps-chat-accent-contrast, #fff)}.ps-chat-card__badge--universal{background:#9a6700}.ps-chat-card__badge--unverified{background:#b45309}.ps-chat-card__badge--fit{background:#1a7f37}.ps-chat-card__body{display:flex;flex-direction:column;gap:3px;padding:9px 11px 11px;flex:1}.ps-chat-card__brand{font-size:10.5px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--ps-chat-text-muted, #6b7280)}.ps-chat-card__title{font-size:12.5px;font-weight:600;line-height:1.35;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.ps-chat-card__note{font-size:11px;color:var(--ps-chat-text-muted, #6b7280);display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;overflow:hidden}.ps-chat-card__series{font-size:11px;font-weight:600;color:var(--ps-chat-text, #111827);display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;overflow:hidden}.ps-chat-card__footer{display:flex;align-items:baseline;justify-content:space-between;gap:8px;margin-top:auto;padding-top:6px}.ps-chat-card__price{font-size:15px;font-weight:800;color:var(--ps-chat-text, #1a2233)}.ps-chat-card__availability{font-size:10.5px;font-weight:600;color:#1a7f37;text-align:right}@keyframes ps-chat-typing{0%,60%,100%{transform:translateY(0);opacity:.5}30%{transform:translateY(-3px);opacity:1}}.ps-chat--overlay{--ps-chat-height: min(68vh, 720px)}.ps-chat--overlay.ps-chat--inline[data-ps-chat-variant=default] .ps-chat__panel{max-width:860px}.ps-chat--overlay .ps-chat__bubble{max-width:min(86%,620px)}.ps-chat--overlay .ps-chat__results{max-width:none}@media(max-width: 767.98px){.ps-chat--overlay{--ps-chat-height: calc(100dvh - 230px)}}.ps-chat--dropdown{--ps-chat-height: min(52vh, 420px);--ps-chat-radius: 6px}.ps-chat--dropdown.ps-chat--inline .ps-chat__panel{max-width:none;border:0;box-shadow:none;background:rgba(0,0,0,0)}.ps-chat--dropdown .ps-chat__bubble{max-width:min(92%,460px)}.ps-chat--dropdown .ps-chat__results{max-width:none;margin-top:10px}

/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXNzZXRzL2Nzcy9jb21wb25lbnQtYWktY2hhdGJvdC1zaGFyZWQuNjZkZmNlNTZjNTc5YjdiZjFkZjcuY3NzIiwibWFwcGluZ3MiOiJBQU9BLFNBQ0UsbURBQ0EsaUVBQ0Esb0RBQ0EsNERBQ0Esa0RBQ0EsOENBQ0Esc0RBQ0EsdUJBRUEsNENBQ0EsMEJBQ0Esc0JBRUEsZ0RBRVcsbUJBR1gsZ0JBQ0UsYUFDQSxzQkFDQSxvQ0FDQSxrQ0FDQSx1Q0FDQSxvQ0FDQSwwQ0FDQSxnQkFlRixpQ0FDRSxXQUNBLDBDQUNBLGNBSUYsbUJBQ0UsZUFDQSxXQUNBLFlBQ0EsbUJBR0YsbUNBQ0Usa0JBQ0EsUUFDQSxZQUNBLDhCQUNBLHVEQUdGLG1CQUNFLGFBQ0EsbUJBQ0EsdUJBQ0EsV0FDQSxZQUNBLFlBQ0Esa0JBQ0EsaUNBQ0EscUNBQ0EsZUFDQSx5Q0FDQSxvREFDQSxrQkFFQSx3RkFHRix1QkFDRSxrQkFDQSxRQUNBLFVBQ0EsV0FDQSxZQUNBLGtCQUNBLG1CQUNBLGdEQUlGLGlCQUNFLGFBQ0EsbUJBQ0EsOEJBQ0EsU0FDQSxrQkFDQSxpQ0FDQSxxQ0FHRixzQkFDRSxhQUNBLHNCQUNBLFlBR0YsZ0JBQ0UsZUFDQSxnQkFDQSxnQkFHRixrQkFDRSxlQUNBLFlBQ0EsbUJBQ0EsZ0JBQ0EsdUJBR0YsOENBRUEsbUJBQ0UsYUFDQSxtQkFDQSx1QkFDQSxXQUNBLFlBQ0EsWUFDQSxrQkFDQSxpQ0FDQSxjQUNBLGVBRUEsMERBTUYsa0NBR0EsbUJBQ0UsT0FDQSxnQkFDQSxhQUNBLGFBQ0Esc0JBQ0EsUUFDQSxzQ0FDQSx1QkFHRixpQkFDRSxjQUNBLGlCQUNBLG1CQUNBLGlCQUNBLGlCQUNBLHFCQUNBLHFCQUdGLHNCQUNFLHNCQUNBLGtDQUNBLHVDQUNBLDhCQUdGLHVCQUNFLG9CQUNBLGlDQUNBLHFDQUNBLCtCQUdGLHdCQUNFLHFCQUNBLG1CQUdGLHdDQUVBLGVBQ0Usa0JBQ0EsWUFDQSxXQUNBLGFBQ0EsbUJBQ0EsdUJBQ0EsV0FDQSxZQUNBLFlBQ0Esa0JBQ0Es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QkFDQSx1QkFDQSxRQUNBLGlCQUNBLGdCQUNBLGdEQUNBLG9CQUNBLDBDQUNBLDJDQUNBLGVBQ0EsZ0JBQ0EsY0FDQSxtQkFDQSxlQUNBLFVBQ0Esd0NBQ0EsaURBRUEsd0NBR0YsOEVBQzBCLFVBRTFCLGtEQUdBLHNDQUNFLHNCQUNFLFVBQ0EsZ0JBQ0EsaUJBQ0EsZ0JBSUoscUJBQ0Usa0JBQ0EsUUFDQSxTQUNBLGVBQ0EsZ0JBQ0EseUJBQ0EscUJBQ0EsZ0JBQ0Esb0JBQ0EsMENBQ0EsMkNBRUEsbURBR0Esb0RBSUEsNkNBR0Ysb0JBQ0UsYUFDQSxzQkFDQSxRQUNBLHNCQUNBLE9BR0YscUJBQ0UsaUJBQ0EsZ0JBQ0EseUJBQ0EscUJBQ0EseUNBR0YscUJBQ0UsaUJBQ0EsZ0JBQ0EsaUJBQ0Esb0JBQ0EscUJBQ0EsNEJBQ0EsZ0JBR0Ysb0JBQ0UsZUFDQSx5Q0FDQSxvQkFDQSxxQkFDQSw0QkFDQSxnQkFLRixzQkFDRSxlQUNBLGdCQUNBLG1DQUNBLG9CQUNBLHFCQUNBLDRCQUNBLGdCQUdGLHNCQUNFLGFBQ0EscUJBQ0EsOEJBQ0EsUUFDQSxnQkFDQSxnQkFHRixxQkFDRSxlQUNBLGdCQUNBLG1DQUdGLDRCQUNFLGlCQUNBLGdCQUNBLGNBQ0EsaUJBSUosMEJBQ0UsK0NBQ0EsMENBVUYsa0JBRUUsbUNBc0JBLGdGQUNFLGdCQUdGLG1DQUNFLHlCQUlGLG9DQUNFLGVBR0YsNEJBckNGLGtCQXVDSSx3Q0FjSixtQkFFRSxtQ0FDQSxzQkFFQSxtREFDRSxlQUNBLFNBQ0EsZ0JBQ0EseUJBR0Ysb0NBQ0UseUJBSUYscUNBQ0UsZUFDQSxnQiIsInNvdXJjZXMiOlsid2VicGFjazovL2JlYWNoc2lkZWF1dG9wYXJ0cy8uLi8uLi8uLi9hdXRvLXByZXNzL3Jlc291cmNlcy9jb21wb25lbnRzL2FpLWNoYXRib3QvX3NoYXJlZC9jb3JlLnNjc3MiXSwic291cmNlc0NvbnRlbnQiOlsiLypcbiAgQUkgQ2hhdGJvdCDigJQgZGVmYXVsdCB2YXJpYW50LlxuICBTY29wZWQgdW5kZXIgLnBzLWNoYXQgKHRoZSBjb21wb25lbnQgcm9vdCBlbWl0cyBwcy1jaGF0LS1pbmxpbmV8bGF1bmNoZXIpLlxuICBUaGVtZWFibGUgdmlhIC0tcHMtY2hhdC0qIHRva2VucyB3aXRoIGZhbGxiYWNrcyB0byB0aGUgc2l0ZSdzIC0tcHMtY29sb3ItKlxuICBkZXNpZ24gdG9rZW5zLCBzbyBidWlsZGVyIFN0eWxlLXRhYiB0b2tlbnMgY2FuIHJlc3R5bGUgaXQgcGVyIHNpdGUuXG4qL1xuXG4ucHMtY2hhdCB7XG4gIC0tcHMtY2hhdC1hY2NlbnQ6IHZhcigtLXBzLWNvbG9yLXByaW1hcnksICMzMDVjZGUpO1xuICAtLXBzLWNoYXQtYWNjZW50LWNvbnRyYXN0OiB2YXIoLS1wcy1jb2xvci10ZXh0LWludmVyc2UsICNmZmZmZmYpO1xuICAtLXBzLWNoYXQtc3VyZmFjZTogdmFyKC0tcHMtY29sb3Itc3VyZmFjZSwgI2ZmZmZmZik7XG4gIC0tcHMtY2hhdC1zdXJmYWNlLWFsdDogdmFyKC0tcHMtY29sb3Itc3VyZmFjZS1hbHQsICNmNGY2ZmEpO1xuICAtLXBzLWNoYXQtYm9yZGVyOiB2YXIoLS1wcy1jb2xvci1ib3JkZXIsICNkZGUzZWUpO1xuICAtLXBzLWNoYXQtdGV4dDogdmFyKC0tcHMtY29sb3ItdGV4dCwgIzFhMjIzMyk7XG4gIC0tcHMtY2hhdC10ZXh0LW11dGVkOiB2YXIoLS1wcy1jb2xvci10ZXh0LTMsICM2YjcyODApO1xuICAtLXBzLWNoYXQtcmFkaXVzOiAxNHB4O1xuXG4gIGZvbnQtZmFtaWx5OiB2YXIoLS1wcy1mb250LXByaW1hcnksIGluaGVyaXQpO1xuICBjb2xvcjogdmFyKC0tcHMtY2hhdC10ZXh0KTtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcblxuICAqLFxuICAqOjpiZWZvcmUsXG4gICo6OmFmdGVyIHsgYm94LXNpemluZzogaW5oZXJpdDsgfVxuXG4gIC8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSBwYW5lbCBzaGVsbCAqL1xuICAmX19wYW5lbCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGhlaWdodDogdmFyKC0tcHMtY2hhdC1oZWlnaHQsIDUyMHB4KTtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1wcy1jaGF0LXN1cmZhY2UpO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLXBzLWNoYXQtYm9yZGVyKTtcbiAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1wcy1jaGF0LXJhZGl1cyk7XG4gICAgYm94LXNoYWRvdzogMCAxMHB4IDM0cHggcmdiYSgxNSwgMjMsIDQyLCAwLjEyKTtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICB9XG5cbiAgLyogSW5saW5lIHBhbmVsIHdpZHRoLiBUaGUgY2FwIGlzIGEgVE9LRU4gc28gdGhlIGNsYXNzaWMgcGFuZWwncyBidWlsZGVyXG4gICAgIFwiUGFuZWwgV2lkdGhcIiBzZXR0aW5nIChTdGFuZGFyZCAvIFN0cmV0Y2ggdG8gY29udGFpbmVyIC8gQ3VzdG9tKSBjYW4gbW92ZVxuICAgICBpdCBwZXIgcGxhY2VtZW50IOKAlCBkZWZhdWx0LmJsYWRlLnBocCB3cml0ZXMgLS1wcy1jaGF0LXBhbmVsLW1heCBvbiB0aGVcbiAgICAgcm9vdDsgXCJzdHJldGNoXCIgd3JpdGVzIGBub25lYC4gNTIwcHggc3RheXMgdGhlIGZhbGxiYWNrLCBzbyBhIGJsb2NrIHNhdmVkXG4gICAgIGJlZm9yZSB0aGUgc2V0dGluZyBleGlzdGVkIHJlbmRlcnMgYnl0ZS1pZGVudGljYWxseS5cblxuICAgICBUaGUgaW50ZWdyYXRlZCB2YXJpYW50IGRlbGliZXJhdGVseSBkb2VzIE5PVCByZWFkIHRoaXM6IGl0IHNldHNcbiAgICAgYG1heC13aWR0aDogbm9uZWAgb24gdGhlIHBhbmVsIGFuZCBnb3Zlcm5zIGl0cyBvd24gcmVhZGluZyBtZWFzdXJlIHdpdGhcbiAgICAgLS1wcy1jaGF0LWludC1tZWFzdXJlLiBXaWR0aCBpcyBhIENMQVNTSUMtcGFuZWwgY29uY2VybiAodGhlIHNldHRpbmcgaXNcbiAgICAgdmFyaWFudC1zY29wZWQgdG8gbWF0Y2gpLlxuXG4gICAgIE1vYmlsZSBhbHdheXMgZmlsbHMg4oCUIHNlZSB0aGUgZmxvdyBibG9jayBiZWxvdywgd2hpY2ggY2xlYXJzIHRoZSBjYXAuICovXG4gICYtLWlubGluZSAmX19wYW5lbCB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWF4LXdpZHRoOiB2YXIoLS1wcy1jaGF0LXBhbmVsLW1heCwgNTIwcHgpO1xuICAgIG1hcmdpbjogMCBhdXRvO1xuICB9XG5cbiAgLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tIGxhdW5jaGVyIG1vZGUgKi9cbiAgJi0tbGF1bmNoZXIge1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICByaWdodDogMjJweDtcbiAgICBib3R0b206IDIycHg7XG4gICAgei1pbmRleDogMjE0NzQ4MDAwMDtcbiAgfVxuXG4gICYtLWxhdW5jaGVyICZfX3BhbmVsIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgcmlnaHQ6IDA7XG4gICAgYm90dG9tOiA3NHB4O1xuICAgIHdpZHRoOiBtaW4oMzgwcHgsIGNhbGMoMTAwdncgLSAzMnB4KSk7XG4gICAgaGVpZ2h0OiBtaW4odmFyKC0tcHMtY2hhdC1oZWlnaHQsIDUyMHB4KSwgY2FsYygxMDB2aCAtIDEyMHB4KSk7XG4gIH1cblxuICAmX19sYXVuY2hlciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIHdpZHRoOiA1NnB4O1xuICAgIGhlaWdodDogNTZweDtcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgIGJhY2tncm91bmQ6IHZhcigtLXBzLWNoYXQtYWNjZW50KTtcbiAgICBjb2xvcjogdmFyKC0tcHMtY2hhdC1hY2NlbnQtY29udHJhc3QpO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBib3gtc2hhZG93OiAwIDZweCAyMnB4IHJnYmEoMTUsIDIzLCA0MiwgMC4yOCk7XG4gICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuMTVzIGVhc2UsIGJveC1zaGFkb3cgMC4xNXMgZWFzZTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAmOmhvdmVyIHsgdHJhbnNmb3JtOiBzY2FsZSgxLjA2KTsgYm94LXNoYWRvdzogMCA4cHggMjZweCByZ2JhKDE1LCAyMywgNDIsIDAuMzQpOyB9XG4gIH1cblxuICAmX19sYXVuY2hlci1kb3Qge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDNweDtcbiAgICByaWdodDogM3B4O1xuICAgIHdpZHRoOiAxMnB4O1xuICAgIGhlaWdodDogMTJweDtcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgYmFja2dyb3VuZDogI2U1NDg0ZDtcbiAgICBib3JkZXI6IDJweCBzb2xpZCB2YXIoLS1wcy1jaGF0LWFjY2VudC1jb250cmFzdCk7XG4gIH1cblxuICAvKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gaGVhZGVyICovXG4gICZfX2hlYWRlciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICBnYXA6IDEwcHg7XG4gICAgcGFkZGluZzogMTJweCAxNHB4O1xuICAgIGJhY2tncm91bmQ6IHZhcigtLXBzLWNoYXQtYWNjZW50KTtcbiAgICBjb2xvcjogdmFyKC0tcHMtY2hhdC1hY2NlbnQtY29udHJhc3QpO1xuICB9XG5cbiAgJl9faGVhZGVyLXRleHQge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBtaW4td2lkdGg6IDA7XG4gIH1cblxuICAmX190aXRsZSB7XG4gICAgZm9udC1zaXplOiAxNXB4O1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgbGluZS1oZWlnaHQ6IDEuMjtcbiAgfVxuXG4gICZfX3ZlaGljbGUge1xuICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICBvcGFjaXR5OiAwLjg1O1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgfVxuXG4gICZfX2hlYWRlci1hY3Rpb25zIHsgZGlzcGxheTogZmxleDsgZ2FwOiA2cHg7IH1cblxuICAmX19pY29uLWJ0biB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIHdpZHRoOiAyOHB4O1xuICAgIGhlaWdodDogMjhweDtcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgYm9yZGVyLXJhZGl1czogOHB4O1xuICAgIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4xNik7XG4gICAgY29sb3I6IGluaGVyaXQ7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuXG4gICAgJjpob3ZlciB7IGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4yOCk7IH1cbiAgfVxuXG4gIC8vIFRoZSByZXNldCBidXR0b24gc2hpcHMgYSB0ZXh0IGxhYmVsIGZvciBza2lucyB0aGF0IHNob3cgYSBsYWJlbGxlZCBhY3Rpb25cbiAgLy8gKHRoZSBpbnRlZ3JhdGVkIHZhcmlhbnQpLiBUaGUgY2xhc3NpYyBwYW5lbCBpcyBpY29uLW9ubHksIHNvIGhpZGUgaXQgaGVyZVxuICAvLyByYXRoZXIgdGhhbiBicmFuY2hpbmcgdGhlIG1hcmt1cC5cbiAgJl9faWNvbi1sYWJlbCB7IGRpc3BsYXk6IG5vbmU7IH1cblxuICAvKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gbWVzc2FnZXMgKi9cbiAgJl9fbWVzc2FnZXMge1xuICAgIGZsZXg6IDE7XG4gICAgb3ZlcmZsb3cteTogYXV0bztcbiAgICBwYWRkaW5nOiAxNHB4O1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBnYXA6IDhweDtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1wcy1jaGF0LXN1cmZhY2UtYWx0KTtcbiAgICBzY3JvbGwtYmVoYXZpb3I6IHNtb290aDtcbiAgfVxuXG4gICZfX2J1YmJsZSB7XG4gICAgbWF4LXdpZHRoOiA4NiU7XG4gICAgcGFkZGluZzogOXB4IDEzcHg7XG4gICAgYm9yZGVyLXJhZGl1czogMTRweDtcbiAgICBmb250LXNpemU6IDEzLjVweDtcbiAgICBsaW5lLWhlaWdodDogMS40NTtcbiAgICB3aGl0ZS1zcGFjZTogcHJlLWxpbmU7XG4gICAgd29yZC13cmFwOiBicmVhay13b3JkO1xuICB9XG5cbiAgJl9fYnViYmxlLS1ib3Qge1xuICAgIGFsaWduLXNlbGY6IGZsZXgtc3RhcnQ7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tcHMtY2hhdC1zdXJmYWNlKTtcbiAgICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1wcy1jaGF0LWJvcmRlcik7XG4gICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogNXB4O1xuICB9XG5cbiAgJl9fYnViYmxlLS11c2VyIHtcbiAgICBhbGlnbi1zZWxmOiBmbGV4LWVuZDtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1wcy1jaGF0LWFjY2VudCk7XG4gICAgY29sb3I6IHZhcigtLXBzLWNoYXQtYWNjZW50LWNvbnRyYXN0KTtcbiAgICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogNXB4O1xuICB9XG5cbiAgJl9fYnViYmxlLS1lcnJvciB7XG4gICAgYm9yZGVyLWNvbG9yOiAjZjNjMWMzO1xuICAgIGJhY2tncm91bmQ6ICNmZGYyZjI7XG4gIH1cblxuICAmX19idWJibGUtLWJvdCB7IHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuXG4gICZfX2ZsYWcge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICByaWdodDogLTIycHg7XG4gICAgYm90dG9tOiAycHg7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIHdpZHRoOiAxOHB4O1xuICAgIGhlaWdodDogMThweDtcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgYm9yZGVyLXJhZGl1czogNXB4O1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgIGNvbG9yOiB2YXIoLS1wcy1jaGF0LXRleHQtbXV0ZWQpO1xuICAgIG9wYWNpdHk6IDA7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC4xMnMgZWFzZSwgY29sb3IgMC4xMnMgZWFzZTtcbiAgfVxuXG4gICZfX2J1YmJsZS0tYm90OmhvdmVyICZfX2ZsYWcgeyBvcGFjaXR5OiAwLjY1OyB9XG5cbiAgJl9fZmxhZzpob3ZlciB7IG9wYWNpdHk6IDEgIWltcG9ydGFudDsgY29sb3I6ICNlNTQ4NGQ7IH1cblxuICAmX19mbGFnLS1kb25lIHtcbiAgICBvcGFjaXR5OiAxICFpbXBvcnRhbnQ7XG4gICAgY29sb3I6ICNlNTQ4NGQ7XG4gICAgY3Vyc29yOiBkZWZhdWx0O1xuICB9XG5cbiAgJl9fdHlwaW5nIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGdhcDogNHB4O1xuICAgIHBhZGRpbmc6IDEycHggMTRweDtcblxuICAgIHNwYW4ge1xuICAgICAgd2lkdGg6IDZweDtcbiAgICAgIGhlaWdodDogNnB4O1xuICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgICAgYmFja2dyb3VuZDogdmFyKC0tcHMtY2hhdC10ZXh0LW11dGVkKTtcbiAgICAgIGFuaW1hdGlvbjogcHMtY2hhdC10eXBpbmcgMS4xcyBpbmZpbml0ZSBlYXNlLWluLW91dDtcblxuICAgICAgJjpudGgtY2hpbGQoMikgeyBhbmltYXRpb24tZGVsYXk6IDAuMTVzOyB9XG4gICAgICAmOm50aC1jaGlsZCgzKSB7IGFuaW1hdGlvbi1kZWxheTogMC4zczsgfVxuICAgIH1cbiAgfVxuXG4gIC8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSBjaGlwcyAqL1xuICAmX19jaGlwcyB7IGFsaWduLXNlbGY6IGZsZXgtc3RhcnQ7IG1heC13aWR0aDogMTAwJTsgfVxuXG4gICZfX2NoaXBzLWxhYmVsIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBmb250LXNpemU6IDExcHg7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIGxldHRlci1zcGFjaW5nOiAwLjA0ZW07XG4gICAgY29sb3I6IHZhcigtLXBzLWNoYXQtdGV4dC1tdXRlZCk7XG4gICAgbWFyZ2luOiAycHggMCA1cHggMnB4O1xuICB9XG5cbiAgJl9fY2hpcHMtc3RyaXAge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIGdhcDogNnB4O1xuICAgIG1heC1oZWlnaHQ6IDEzMnB4O1xuICAgIG92ZXJmbG93LXk6IGF1dG87XG4gICAgcGFkZGluZy1yaWdodDogNHB4O1xuICB9XG5cbiAgJl9fY2hpcCB7XG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBnYXA6IDZweDtcbiAgICBwYWRkaW5nOiA2cHggMTJweDtcbiAgICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1wcy1jaGF0LWFjY2VudCk7XG4gICAgYm9yZGVyLXJhZGl1czogOTk5cHg7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tcHMtY2hhdC1zdXJmYWNlKTtcbiAgICBjb2xvcjogdmFyKC0tcHMtY2hhdC1hY2NlbnQpO1xuICAgIGZvbnQtc2l6ZTogMTIuNXB4O1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQgMC4xMnMgZWFzZSwgY29sb3IgMC4xMnMgZWFzZTtcblxuICAgICY6aG92ZXI6bm90KDpkaXNhYmxlZCkge1xuICAgICAgYmFja2dyb3VuZDogdmFyKC0tcHMtY2hhdC1hY2NlbnQpO1xuICAgICAgY29sb3I6IHZhcigtLXBzLWNoYXQtYWNjZW50LWNvbnRyYXN0KTtcbiAgICB9XG5cbiAgICAmOmRpc2FibGVkIHtcbiAgICAgIGJvcmRlci1jb2xvcjogdmFyKC0tcHMtY2hhdC1ib3JkZXIpO1xuICAgICAgY29sb3I6IHZhcigtLXBzLWNoYXQtdGV4dC1tdXRlZCk7XG4gICAgICBjdXJzb3I6IGRlZmF1bHQ7XG4gICAgICBvcGFjaXR5OiAwLjc1O1xuICAgIH1cblxuICAgICYtLXBpY2tlZDpkaXNhYmxlZCB7XG4gICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1wcy1jaGF0LWFjY2VudCk7XG4gICAgICBib3JkZXItY29sb3I6IHZhcigtLXBzLWNoYXQtYWNjZW50KTtcbiAgICAgIGNvbG9yOiB2YXIoLS1wcy1jaGF0LWFjY2VudC1jb250cmFzdCk7XG4gICAgICBvcGFjaXR5OiAxO1xuICAgIH1cblxuICAgICYtLWdob3N0IHtcbiAgICAgIGJvcmRlci1zdHlsZTogZGFzaGVkO1xuICAgICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1wcy1jaGF0LWJvcmRlcik7XG4gICAgICBjb2xvcjogdmFyKC0tcHMtY2hhdC10ZXh0LW11dGVkKTtcblxuICAgICAgJjpob3Zlcjpub3QoOmRpc2FibGVkKSB7XG4gICAgICAgIGJhY2tncm91bmQ6IHZhcigtLXBzLWNoYXQtc3VyZmFjZS1hbHQpO1xuICAgICAgICBjb2xvcjogdmFyKC0tcHMtY2hhdC10ZXh0KTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAmX19jaGlwLWNvdW50IHtcbiAgICBmb250LXNpemU6IDEwLjVweDtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIHBhZGRpbmc6IDFweCA2cHg7XG4gICAgYm9yZGVyLXJhZGl1czogOTk5cHg7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tcHMtY2hhdC1zdXJmYWNlLWFsdCk7XG4gICAgY29sb3I6IHZhcigtLXBzLWNoYXQtdGV4dC1tdXRlZCk7XG4gIH1cblxuICAmX19jaGlwOmhvdmVyOm5vdCg6ZGlzYWJsZWQpICZfX2NoaXAtY291bnQgeyBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMjUpOyBjb2xvcjogaW5oZXJpdDsgfVxuXG4gIC8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSBwcm9kdWN0IGNhcmRzICovXG4gICZfX3Byb2R1Y3RzIHsgYWxpZ24tc2VsZjogc3RyZXRjaDsgfVxuXG4gICZfX2NhdmVhdCxcbiAgJl9fbW9yZSB7XG4gICAgZm9udC1zaXplOiAxMS41cHg7XG4gICAgY29sb3I6IHZhcigtLXBzLWNoYXQtdGV4dC1tdXRlZCk7XG4gICAgbWFyZ2luLXRvcDogNnB4O1xuICB9XG5cbiAgJl9fY2F2ZWF0IHsgY29sb3I6ICM5YTY3MDA7IH1cblxuICAvKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gY29tcG9zZXIgKi9cbiAgJl9fY29tcG9zZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZ2FwOiA4cHg7XG4gICAgcGFkZGluZzogMTBweCAxMnB4O1xuICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCB2YXIoLS1wcy1jaGF0LWJvcmRlcik7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tcHMtY2hhdC1zdXJmYWNlKTtcbiAgfVxuXG4gICZfX2lucHV0IHtcbiAgICBmbGV4OiAxO1xuICAgIG1pbi13aWR0aDogMDtcbiAgICBwYWRkaW5nOiA5cHggMTNweDtcbiAgICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1wcy1jaGF0LWJvcmRlcik7XG4gICAgYm9yZGVyLXJhZGl1czogOTk5cHg7XG4gICAgZm9udC1zaXplOiAxMy41cHg7XG4gICAgY29sb3I6IHZhcigtLXBzLWNoYXQtdGV4dCk7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tcHMtY2hhdC1zdXJmYWNlLWFsdCk7XG4gICAgb3V0bGluZTogbm9uZTtcblxuICAgICY6Zm9jdXMgeyBib3JkZXItY29sb3I6IHZhcigtLXBzLWNoYXQtYWNjZW50KTsgYmFja2dyb3VuZDogdmFyKC0tcHMtY2hhdC1zdXJmYWNlKTsgfVxuICAgICY6ZGlzYWJsZWQgeyBvcGFjaXR5OiAwLjY7IH1cbiAgfVxuXG4gICZfX3NlbmQge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICB3aWR0aDogMzhweDtcbiAgICBoZWlnaHQ6IDM4cHg7XG4gICAgYm9yZGVyOiBub25lO1xuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1wcy1jaGF0LWFjY2VudCk7XG4gICAgY29sb3I6IHZhcigtLXBzLWNoYXQtYWNjZW50LWNvbnRyYXN0KTtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgZmxleDogMCAwIGF1dG87XG5cbiAgICAmOmhvdmVyOm5vdCg6ZGlzYWJsZWQpIHsgZmlsdGVyOiBicmlnaHRuZXNzKDEuMDgpOyB9XG4gICAgJjpkaXNhYmxlZCB7IG9wYWNpdHk6IDAuNTU7IGN1cnNvcjogZGVmYXVsdDsgfVxuICB9XG5cbiAgLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tIGNvbXBhbmlvbiByZXN1bHRzIHBhbmVsICovXG4gICZfX3Jlc3VsdHMge1xuICAgIG1heC13aWR0aDogODYwcHg7XG4gICAgbWFyZ2luOiAxNHB4IGF1dG8gMDtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1wcy1jaGF0LXN1cmZhY2UpO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLXBzLWNoYXQtYm9yZGVyKTtcbiAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1wcy1jaGF0LXJhZGl1cyk7XG4gICAgcGFkZGluZzogMTRweCAxNnB4IDE2cHg7XG4gIH1cblxuICAmX19yZXN1bHRzLWhlYWQge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGJhc2VsaW5lO1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICBnYXA6IDEwcHg7XG4gICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgfVxuXG4gICZfX3Jlc3VsdHMtdGl0bGUge1xuICAgIGZvbnQtc2l6ZTogMTNweDtcbiAgICBmb250LXdlaWdodDogODAwO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgbGV0dGVyLXNwYWNpbmc6IDAuMDVlbTtcbiAgICBjb2xvcjogdmFyKC0tcHMtY2hhdC10ZXh0KTtcbiAgfVxuXG4gICZfX3Jlc3VsdHMtY291bnQge1xuICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIGNvbG9yOiB2YXIoLS1wcy1jaGF0LXRleHQtbXV0ZWQpO1xuICB9XG5cbiAgLy8gcGlja2VkLW5hcnJvd2luZyBwaWxscyBvdmVyIHRoZSBncmlkOiBmaXhlZCBjb250ZXh0ICh2ZWhpY2xlL3BhcnQpIHJlYWRzXG4gIC8vIG11dGVkOyByZW1vdmFibGUgZmlsdGVycyBjYXJyeSB0aGUgw5cgYW5kIGEgbGl2ZSBib3JkZXJcbiAgJl9fcmVzdWx0cy1waWxscyB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgZ2FwOiA2cHg7XG4gICAgbWFyZ2luOiAwIDAgMTBweDtcbiAgfVxuXG4gICZfX3BpbGwge1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZ2FwOiA2cHg7XG4gICAgcGFkZGluZzogNHB4IDEwcHg7XG4gICAgYm9yZGVyLXJhZGl1czogOTk5cHg7XG4gICAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tcHMtY2hhdC1hY2NlbnQsICMwMzY0YWUpO1xuICAgIGJhY2tncm91bmQ6IGNvbG9yLW1peChpbiBzcmdiLCB2YXIoLS1wcy1jaGF0LWFjY2VudCwgIzAzNjRhZSkgOCUsIHRyYW5zcGFyZW50KTtcbiAgICBjb2xvcjogdmFyKC0tcHMtY2hhdC10ZXh0KTtcbiAgICBmb250LXNpemU6IDEycHg7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICBsaW5lLWhlaWdodDogMS40O1xuXG4gICAgJi0tY29udGV4dCB7XG4gICAgICBib3JkZXItY29sb3I6IHZhcigtLXBzLWNoYXQtYm9yZGVyKTtcbiAgICAgIGJhY2tncm91bmQ6IHZhcigtLXBzLWNoYXQtc3VyZmFjZSk7XG4gICAgICBjb2xvcjogdmFyKC0tcHMtY2hhdC10ZXh0LW11dGVkKTtcbiAgICB9XG4gIH1cblxuICAmX19waWxsLXgge1xuICAgIGFwcGVhcmFuY2U6IG5vbmU7XG4gICAgYm9yZGVyOiAwO1xuICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgcGFkZGluZzogMCAycHg7XG4gICAgbWFyZ2luOiAwO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBmb250LXNpemU6IDE1cHg7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgICBjb2xvcjogdmFyKC0tcHMtY2hhdC10ZXh0LW11dGVkKTtcblxuICAgICY6aG92ZXIge1xuICAgICAgY29sb3I6IHZhcigtLXBzLWNoYXQtdGV4dCk7XG4gICAgfVxuICB9XG5cbiAgJl9fcmVzdWx0cy1ncmlkIC5wcy1jaGF0LWNhcmRzLS1ncmlkIHtcbiAgICBkaXNwbGF5OiBncmlkO1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KGF1dG8tZmlsbCwgbWlubWF4KDE5MHB4LCAxZnIpKTtcbiAgICBnYXA6IDEwcHg7XG4gICAgb3ZlcmZsb3c6IHZpc2libGU7XG4gICAgcGFkZGluZzogMDtcbiAgfVxuXG4gICZfX3Jlc3VsdHMtZ3JpZCAucHMtY2hhdC1jYXJkcy0tZ3JpZCAucHMtY2hhdC1jYXJkIHsgZmxleDogbm9uZTsgfVxuXG4gICZfX3Jlc3VsdHMtbW9yZSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWFyZ2luOiAxMnB4IGF1dG8gMDtcbiAgICBwYWRkaW5nOiA4cHggMjJweDtcbiAgICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1wcy1jaGF0LWFjY2VudCk7XG4gICAgYm9yZGVyLXJhZGl1czogOTk5cHg7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tcHMtY2hhdC1zdXJmYWNlKTtcbiAgICBjb2xvcjogdmFyKC0tcHMtY2hhdC1hY2NlbnQpO1xuICAgIGZvbnQtc2l6ZTogMTNweDtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcblxuICAgICY6aG92ZXIgeyBiYWNrZ3JvdW5kOiB2YXIoLS1wcy1jaGF0LWFjY2VudCk7IGNvbG9yOiB2YXIoLS1wcy1jaGF0LWFjY2VudC1jb250cmFzdCk7IH1cbiAgfVxuXG4gIEBtZWRpYSAobWF4LXdpZHRoOiA1MjBweCkge1xuICAgICYtLWxhdW5jaGVyIHsgcmlnaHQ6IDEycHg7IGJvdHRvbTogMTJweDsgfVxuXG4gICAgJi0tbGF1bmNoZXIgJl9fcGFuZWwge1xuICAgICAgd2lkdGg6IGNhbGMoMTAwdncgLSAyNHB4KTtcbiAgICAgIGhlaWdodDogbWluKHZhcigtLXBzLWNoYXQtaGVpZ2h0LCA1MjBweCksIGNhbGMoMTAwdmggLSA5NnB4KSk7XG4gICAgfVxuICB9XG5cbiAgLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tIG1vYmlsZSBzaW5nbGUtc2Nyb2xsIGZsb3dcbiAgICAgKG93bmVyIHJlcG9ydCAyMDI2LTA4LTI1LCBwYXJ0c29udGhlZ28gbW9iaWxlKTogYW4gSU5MSU5FIGFzc2lzdGFudCBvbiBhXG4gICAgIHBob25lIGhhZCB0d28gbmVzdGVkIHNjcm9sbGJhcnMg4oCUIHRoZSBmaXhlZC1oZWlnaHQgcGFuZWwgc2Nyb2xsZWQgdGhlXG4gICAgIGNvbnZlcnNhdGlvbiBpbnRlcm5hbGx5IHdoaWxlIHRoZSBwYWdlIHNjcm9sbGVkIHRoZSBwYW5lbCArIHRoZSBtYXRjaGluZy1cbiAgICAgcHJvZHVjdHMgZ3JpZCBiZWxvdyBpdC4gQ3JhbXBlZCBhbmQgZmlkZGx5OiB5b3Ugc2NydWIgYSA1MDBweCB3aW5kb3csXG4gICAgIHRoZW4gc3dpdGNoIHNjcm9sbGJhcnMgdG8gcmVhY2ggdGhlIHByb2R1Y3RzLlxuXG4gICAgIE9uIHBob25lcyB0aGUgaW5saW5lIHBhbmVsIHRoZXJlZm9yZSBzdG9wcyBiZWluZyBhIHNjcm9sbCBjb250YWluZXI6IHRoZVxuICAgICBwYW5lbCBncm93cyB3aXRoIGl0cyBjb250ZW50LCBldmVyeSBidWJibGUgc2l0cyBpbiB0aGUgUEFHRSBmbG93LCBhbmQgb25lXG4gICAgIHBhZ2Ugc2Nyb2xsYmFyIHJ1bnMgZnJvbSB0aGUgZmlyc3QgbWVzc2FnZSB0aHJvdWdoIHRoZSBtYXRjaGluZyBwcm9kdWN0cy5cbiAgICAgVGhlIGNvbXBvc2VyIGdvZXMgYHBvc2l0aW9uOiBzdGlja3k7IGJvdHRvbTogMGAsIHNvIHRoZSBpbnB1dCBzdGF5cyBpblxuICAgICByZWFjaCB0aGUgd2hvbGUgdGltZSB0aGUgY29udmVyc2F0aW9uIGlzIG9uIHNjcmVlbiBhbmQgbmF0dXJhbGx5IHBhcmtzIGF0XG4gICAgIHRoZSBwYW5lbCdzIGVuZCB3aGVuIHlvdSBzY3JvbGwgcGFzdCBpdCBpbnRvIHRoZSBwcm9kdWN0cy5cblxuICAgICBDb25zdW1lciBjb250cmFjdDogUHNDaGF0V2lkZ2V0LnNjcm9sbFRvRW5kKCkgZGV0ZWN0cyB0aGlzIG1vZGUgYnkgdGhlXG4gICAgIG1lc3NhZ2VzIGFyZWEncyBjb21wdXRlZCBvdmVyZmxvdy15IChgdmlzaWJsZWAgPSBmbG93IG1vZGUpIGFuZCBzY3JvbGxzXG4gICAgIHRoZSBQQUdFIHRvIHRoZSBuZXdlc3QgYnViYmxlIOKAlCBidXQgb25seSBvbiB1c2VyLWluaXRpYXRlZCB0dXJucywgbmV2ZXJcbiAgICAgb24gYm9vdCByZXBsYXkgKGEgcGFnZSBtdXN0IG5vdCBqdW1wIHRvIG1pZC1wYWdlIGNoYXQgaGlzdG9yeSBvbiBsb2FkKS5cbiAgICAgVGhlIHNjcm9sbC1tYXJnaW4gYmVsb3cgaXMgd2hhdCBrZWVwcyB0aGF0IG5ld2VzdCBidWJibGUgdmlzaWJsZSBBQk9WRVxuICAgICB0aGUgc3RpY2t5IGNvbXBvc2VyOyBrZWVwIHRoZSB0d28gaW4gc3luYy5cblxuICAgICBTY29wZTpcbiAgICAgLSBgLS1pbmxpbmVgIG9ubHk6IHRoZSBsYXVuY2hlciBwb3BvdmVyIGZsb2F0cyBvdmVyIHRoZSBwYWdlIGFuZCBNVVNUXG4gICAgICAga2VlcCBpdHMgb3duIGludGVybmFsIHNjcm9sbC5cbiAgICAgLSBUaGlzIElOQ0xVREVTIHRoZSBzaXRlLXNlYXJjaCBvdmVybGF5IGVtYmVkICgucHMtY2hhdC0tb3ZlcmxheSkuIEl0XG4gICAgICAgd2FzIGV4Y2x1ZGVkIGF0IGZpcnN0IChcInRoZSBvdmVybGF5IG93bnMgdGhlIHZpZXdwb3J0XCIpIOKAlCB3cm9uZzogdGhlXG4gICAgICAgb3duZXIgdGVzdHMgVEhBVCBzdXJmYWNlLCBhbmQgaXQgaGFkIHRoZSBzYW1lIHR3byBuZXN0ZWQgc2Nyb2xsYmFyc1xuICAgICAgIChwYW5lbCBzY3JvbGxpbmcgaW5zaWRlIHRoZSBtb2RhbC1ib2R5IHNjcm9sbGluZykuIEluIHRoZSBmdWxsc2NyZWVuXG4gICAgICAgc2VhcmNoIG1vZGFsIHRoZSBzY3JvbGxwb3J0IGlzIGAubW9kYWwtYm9keWAsIHNvIHRoZXNlIHNhbWUgcnVsZXMgZ2l2ZVxuICAgICAgIG9uZSBtb2RhbCBzY3JvbGxiYXIgZnJvbSB0aGUgZmlyc3QgYnViYmxlIHRocm91Z2ggbWF0Y2hpbmcgcHJvZHVjdHMsXG4gICAgICAgd2l0aCB0aGUgY29tcG9zZXIgc3RpY2tpbmcgdG8gdGhlIG1vZGFsJ3MgdmlzaWJsZSBib3R0b20uIGBwb3NpdGlvbjpcbiAgICAgICBzdGlja3lgIHBpbnMgdG8gdGhlIE5FQVJFU1Qgc2Nyb2xsaW5nIGFuY2VzdG9yIOKAlCB0aGUgcGFnZSBvdXRzaWRlIHRoZVxuICAgICAgIG1vZGFsLCBgLm1vZGFsLWJvZHlgIGluc2lkZSBpdCDigJQgc28gb25lIHJ1bGUgc2VydmVzIGJvdGggaG9zdHMuXG4gICAgIC0gVGhlIGludGVncmF0ZWQgdmFyaWFudCBtaXJyb3JzIHRoaXMgYmxvY2sgaW4gaXRzIG93biBzdHlsZXNoZWV0IOKAlCBpdHNcbiAgICAgICBwYW5lbC9tZXNzYWdlcyBzaXppbmcgcnVsZXMgbG9hZCBhZnRlciB0aGlzIG9uZSBhbmQgd291bGQgb3RoZXJ3aXNlXG4gICAgICAgcmUtYXNzZXJ0IGFuIGludGVybmFsIHNjcm9sbGJveCAoc2VlIGludGVncmF0ZWQvaW5kZXguc2NzcykuICovXG4gIEBtZWRpYSAobWF4LXdpZHRoOiA3NjcuOThweCkge1xuICAgICYtLWlubGluZSAmX19wYW5lbCB7XG4gICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAvKiBvdmVyZmxvdzpoaWRkZW4gd291bGQgbWFrZSB0aGUgc3RpY2t5IGNvbXBvc2VyIHN0aWNrIHRvIHRoZSAobm9uLVxuICAgICAgICAgc2Nyb2xsaW5nKSBwYW5lbCBpbnN0ZWFkIG9mIHRoZSBzY3JvbGxwb3J0IOKAlCBhbmQgY2xpcCBub3RoaW5nIHVzZWZ1bCAqL1xuICAgICAgb3ZlcmZsb3c6IHZpc2libGU7XG4gICAgICAvKiBQaG9uZXMgYWx3YXlzIGZpbGwgdGhlIHdpZHRoIHRoZXkgYXJlIGdpdmVuIOKAlCB0aGUgYnVpbGRlcidzIFBhbmVsXG4gICAgICAgICBXaWR0aCBzZXR0aW5nIGlzIGEgREVTS1RPUCBjb250cm9sIChvd25lciBkZWNpc2lvbiAyMDI2LTA4LTI4OiBcIm1vYmlsZVxuICAgICAgICAgaXQgYXV0b21hdGljYWxseSBmaXRzIHRvIHRoZSBzaXplIG9mIHRoZSBzY3JlZW5cIikuIFdpdGhvdXQgdGhpcywgYVxuICAgICAgICAgY3VzdG9tIHdpZHRoIG5hcnJvd2VyIHRoYW4gdGhlIHBob25lIChlLmcuIDQwMHB4KSB3b3VsZCBsZXR0ZXJib3ggdGhlXG4gICAgICAgICBhc3Npc3RhbnQgb24gYSAzOTBweCBzY3JlZW4sIHdoaWNoIG5vIG1lcmNoYW50IGludGVuZHMuICovXG4gICAgICBtYXgtd2lkdGg6IG5vbmU7XG4gICAgfVxuXG4gICAgJi0taW5saW5lICZfX2hlYWRlciB7XG4gICAgICAvKiB0aGUgcGFuZWwgbm8gbG9uZ2VyIGNsaXBzIGNoaWxkcmVuIHRvIGl0cyByb3VuZGVkIGNvcm5lcnMgKi9cbiAgICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLXBzLWNoYXQtcmFkaXVzKSB2YXIoLS1wcy1jaGF0LXJhZGl1cykgMCAwO1xuICAgIH1cblxuICAgICYtLWlubGluZSAmX19tZXNzYWdlcyB7XG4gICAgICBmbGV4OiBub25lO1xuICAgICAgb3ZlcmZsb3cteTogdmlzaWJsZTtcbiAgICAgIG1pbi1oZWlnaHQ6IDEyMHB4OyAvKiBhbiBlbXB0eS8xLWxpbmUgY2hhdCBzdGlsbCByZWFkcyBhcyBhIHBhbmVsICovXG4gICAgfVxuXG4gICAgLyogc2Nyb2xsSW50b1ZpZXcgdGFyZ2V0IG1hcmdpbjogbmV3ZXN0IGJ1YmJsZS9jaGlwcyBsYW5kIEFCT1ZFIHRoZVxuICAgICAgIHN0aWNreSBjb21wb3NlciAobWVhc3VyZWQgODFweCB0YWxsIGF0IG1vYmlsZSBzaXplcykgd2l0aCBicmVhdGhpbmdcbiAgICAgICByb29tIOKAlCBtdXN0IHN0YXkgPj0gdGhlIGNvbXBvc2VyJ3MgcmVhbCBoZWlnaHQgb3IgdGhlIG5ld2VzdCBtZXNzYWdlXG4gICAgICAgaGlkZXMgYmVoaW5kIGl0ICovXG4gICAgJi0taW5saW5lICZfX21lc3NhZ2VzID4gKiB7IHNjcm9sbC1tYXJnaW4tYm90dG9tOiA5NnB4OyB9XG5cbiAgICAmLS1pbmxpbmUgJl9fY29tcG9zZXIge1xuICAgICAgcG9zaXRpb246IHN0aWNreTtcbiAgICAgIGJvdHRvbTogMDtcbiAgICAgIHotaW5kZXg6IDU7IC8qIGFib3ZlIGJ1YmJsZXMvY2FyZHMgc2xpZGluZyBiZW5lYXRoIGl0ICovXG4gICAgICBib3JkZXItcmFkaXVzOiAwIDAgdmFyKC0tcHMtY2hhdC1yYWRpdXMpIHZhcigtLXBzLWNoYXQtcmFkaXVzKTtcbiAgICB9XG4gIH1cbn1cblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSBjYXJkIHF1aWNrLXZpZXcgbW9kYWwgKi9cbi5wcy1jaGF0LW1vZGFsIHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICBpbnNldDogMDtcbiAgei1pbmRleDogMjE0NzQ4MDUwMDtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cbiAgJl9fYmFja2Ryb3Age1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBpbnNldDogMDtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDE1LCAyMywgNDIsIDAuNTUpO1xuICB9XG5cbiAgJl9fcGFuZWwge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB3aWR0aDogbWluKDU2MHB4LCBjYWxjKDEwMHZ3IC0gMjhweCkpO1xuICAgIG1heC1oZWlnaHQ6IGNhbGMoMTAwdmggLSA2MHB4KTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgYmFja2dyb3VuZDogdmFyKC0tcHMtY2hhdC1zdXJmYWNlLCAjZmZmKTtcbiAgICBib3JkZXItcmFkaXVzOiAxNHB4O1xuICAgIGJveC1zaGFkb3c6IDAgMThweCA2MHB4IHJnYmEoMTUsIDIzLCA0MiwgMC4zNSk7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgfVxuXG4gICZfX2Nsb3NlIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAxMHB4O1xuICAgIHJpZ2h0OiAxMHB4O1xuICAgIHotaW5kZXg6IDI7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIHdpZHRoOiAzMHB4O1xuICAgIGhlaWdodDogMzBweDtcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgYm9yZGVyLXJhZGl1czogOHB4O1xuICAgIGJhY2tncm91bmQ6IHJnYmEoMTUsIDIzLCA0MiwgMC4wNik7XG4gICAgY29sb3I6IHZhcigtLXBzLWNoYXQtdGV4dCwgIzFhMjIzMyk7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuXG4gICAgJjpob3ZlciB7IGJhY2tncm91bmQ6IHJnYmEoMTUsIDIzLCA0MiwgMC4xNCk7IH1cbiAgfVxuXG4gICZfX2JvZHkge1xuICAgIG92ZXJmbG93LXk6IGF1dG87XG4gICAgcGFkZGluZzogMTZweDtcbiAgfVxuXG4gICZfX2xvYWRpbmcge1xuICAgIHBhZGRpbmc6IDQwcHggMDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgY29sb3I6IHZhcigtLXBzLWNoYXQtdGV4dC1tdXRlZCwgIzZiNzI4MCk7XG4gICAgZm9udC1zaXplOiAxMy41cHg7XG4gIH1cblxuICAmX19wZHAge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBhZGRpbmc6IDEycHggMTZweDtcbiAgICBib3JkZXItdG9wOiAxcHggc29saWQgdmFyKC0tcHMtY2hhdC1ib3JkZXIsICNkZGUzZWUpO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBmb250LXNpemU6IDEzLjVweDtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIGNvbG9yOiB2YXIoLS1wcy1jaGF0LWFjY2VudCwgIzMwNWNkZSk7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuXG4gICAgJjpob3ZlciB7IHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOyB9XG4gIH1cbn1cblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSBjaGF0IHByb2R1Y3QgY2FyZHNcbiAgIChzZXJ2ZXItcmVuZGVyZWQgYnkgY29tcG9uZW50cy9haS1jaGF0Ym90L19jaGF0LWNhcmRzLmJsYWRlLnBocCkgKi9cbi5wcy1jaGF0LWNhcmRzIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZ2FwOiAxMHB4O1xuICBvdmVyZmxvdy14OiBhdXRvO1xuXG4gIC8qIFRPVUNIIFNDUk9MTCBUUkFQLCByb3VuZCAyIChvd25lciByZXBvcnRzIDIwMjYtMDgtMTkgYW5kIDIwMjYtMDgtMjUsXG4gICAgIHBhcnRzb250aGVnbyBwcm9kdWN0aW9uLCBtb2JpbGUpLiBBIHNob3BwZXIgc3dpcGluZyB0aGlzIHN0cmlwIHNpZGV3YXlzXG4gICAgIGFuZCB0YXBwaW5nIFF1aWNrIHZpZXcgaXMgZmluZSwgYnV0IGEgVkVSVElDQUwgZHJhZyBzdGFydGluZyBvbiB0aGUgY2FyZHNcbiAgICAgbXVzdCBzY3JvbGwgdGhlIGNvbnZlcnNhdGlvbiDigJQgdHdpY2Ugbm93IGEgcnVsZSBoZXJlIGhhcyBzaWxlbnRseSBlYXRlblxuICAgICB0aGF0IGdlc3R1cmU6XG5cbiAgICAgMS4gKDIwMjYtMDgtMTkpIGBvdmVyZmxvdy14OiBhdXRvYCBhbG9uZSBkb2VzIE5PVCBsZWF2ZSB0aGUgb3RoZXIgYXhpc1xuICAgICAgICBhbG9uZS4gUGVyIHNwZWMsIHdoZW4gb25lIGF4aXMgaXMgYSBzY3JvbGwgdmFsdWUgYW5kIHRoZSBvdGhlciBpc1xuICAgICAgICBgdmlzaWJsZWAsIHRoZSB2aXNpYmxlIG9uZSBjb21wdXRlcyB0byBgYXV0b2Ag4oCUIHNvIHRoaXMgc3RyaXAgd2FzXG4gICAgICAgIHF1aWV0bHkgYSBWRVJUSUNBTCBzY3JvbGwgY29udGFpbmVyIHRvby4gV2l0aCBubyB2ZXJ0aWNhbCBvdmVyZmxvdyB0b1xuICAgICAgICBjb25zdW1lLCBpdCBzd2FsbG93ZWQgdGhlIGdlc3R1cmUgaW5zdGVhZCBvZiBwYXNzaW5nIGl0IHVwLlxuICAgICAgICBgb3ZlcmZsb3cteTogaGlkZGVuYCBpcyB0aGUgZml4LCBhbmQgdGhlIFdIT0xFIGZpeDogYSBvbmUtYXhpcyBzY3JvbGxcbiAgICAgICAgY29udGFpbmVyIGxldHMgdGhlIGJyb3dzZXIncyBuYXRpdmUgYXhpcy1sb2NraW5nIHNlbmQgdmVydGljYWwgZHJhZ3NcbiAgICAgICAgdG8gdGhlIG5lYXJlc3Qgc2Nyb2xsYWJsZSBhbmNlc3RvciwgZXhhY3RseSBsaWtlIGV2ZXJ5IHByb2R1Y3RcbiAgICAgICAgY2Fyb3VzZWwgb24gdGhlIHdlYi5cblxuICAgICAyLiAoMjAyNi0wOC0yNSkgVGhlIGZpcnN0IGZpeCBBTFNPIGFkZGVkIGB0b3VjaC1hY3Rpb246IHBhbi14XG4gICAgICAgIHBpbmNoLXpvb21gIFwic28gdmVydGljYWwgZHJhZ3MgZ28gdG8gdGhlIG1lc3NhZ2UgbGlzdFwiIOKAlCB3aGljaCBpcyB0aGVcbiAgICAgICAgT1BQT1NJVEUgb2Ygd2hhdCB0b3VjaC1hY3Rpb24gZG9lcy4gYHBhbi14YCBtZWFucyB0b3VjaGVzIHN0YXJ0aW5nIG9uXG4gICAgICAgIHRoaXMgZWxlbWVudCBtYXkgYmUgdXNlZCBmb3IgaG9yaXpvbnRhbCBwYW5uaW5nIE9OTFk7IHRoZSBicm93c2VyXG4gICAgICAgIHdpbGwgbm90IHVzZSB0aGVtIHRvIHNjcm9sbCBBTlkgYW5jZXN0b3IgdmVydGljYWxseS4gUmVzdWx0OiBkZWFkXG4gICAgICAgIHZlcnRpY2FsIHN3aXBlcyBvdmVyIHRoZSBjYXJkcywgdGhlIHZlcnkgc3ltcHRvbSBiZWluZyBmaXhlZC4gVGhlcmVcbiAgICAgICAgbXVzdCBiZSBOTyB0b3VjaC1hY3Rpb24gcmVzdHJpY3Rpb24gaGVyZSDigJQgdGFwcywgc2lkZXdheXMgc3dpcGVzLCBhbmRcbiAgICAgICAgdmVydGljYWwgZHJhZ3MgYWxsIGJlbG9uZyB0byB0aGUgZGVmYXVsdCAoYGF1dG9gKSBiZWhhdmlvci4gKi9cbiAgb3ZlcmZsb3cteTogaGlkZGVuO1xuICBwYWRkaW5nOiA0cHggMnB4IDhweDtcbiAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoO1xuXG4gIC8qIGtlZXAgYSBzaWRld2F5cyBmbGluZyBmcm9tIHR1cm5pbmcgaW50byB0aGUgYnJvd3NlcidzIGJhY2stZ2VzdHVyZSAqL1xuICBvdmVyc2Nyb2xsLWJlaGF2aW9yLXg6IGNvbnRhaW47XG59XG5cbi5wcy1jaGF0LWNhcmQge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IC8qIGFuY2hvcnMgdGhlIHF1aWNrLXZpZXcgYnV0dG9uICovXG4gIGZsZXg6IDAgMCAyMDBweDtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgYmFja2dyb3VuZDogdmFyKC0tcHMtY2hhdC1zdXJmYWNlLCAjZmZmKTtcbiAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tcHMtY2hhdC1ib3JkZXIsICNkZGUzZWUpO1xuICBib3JkZXItcmFkaXVzOiAxMnB4O1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIGNvbG9yOiB2YXIoLS1wcy1jaGF0LXRleHQsICMxYTIyMzMpO1xuICB0cmFuc2l0aW9uOiBib3gtc2hhZG93IDAuMTRzIGVhc2UsIHRyYW5zZm9ybSAwLjE0cyBlYXNlO1xuXG4gICY6aG92ZXIge1xuICAgIGJveC1zaGFkb3c6IDAgNnB4IDE4cHggcmdiYSgxNSwgMjMsIDQyLCAwLjE0KTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTFweCk7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIGNvbG9yOiB2YXIoLS1wcy1jaGF0LXRleHQsICMxYTIyMzMpO1xuICB9XG5cbiAgJl9faW1hZ2Uge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBoZWlnaHQ6IDEwOHB4O1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBiYWNrZ3JvdW5kOiAjZmZmO1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS1wcy1jaGF0LWJvcmRlciwgI2RkZTNlZSk7XG5cbiAgICBpbWcge1xuICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgbWF4LWhlaWdodDogMTAwJTtcbiAgICAgIG9iamVjdC1maXQ6IGNvbnRhaW47XG4gICAgfVxuICB9XG5cbiAgJl9faW1hZ2UtZmFsbGJhY2sgeyBjb2xvcjogdmFyKC0tcHMtY2hhdC10ZXh0LW11dGVkLCAjOWFhM2IyKTsgfVxuXG4gIC8vIFF1aWNrIHZpZXc6IGEgcmVhbCBsYWJlbGVkIHBpbGwsIG5vdCBhIG15c3RlcnkgaWNvbi4gRGVza3RvcCByZXZlYWxzIGl0XG4gIC8vIG9uIGhvdmVyL2ZvY3VzOyB0b3VjaCBkZXZpY2VzIChubyBob3Zlcikga2VlcCBpdCBBTFdBWVMgdmlzaWJsZSB3aXRoIGFcbiAgLy8gZmluZ2VyLXNpemVkIHRhcCB0YXJnZXQg4oCUIG1pcy10YXBzIHRoZXJlIG5hdmlnYXRlIHRvIHRoZSBQRFAgb3RoZXJ3aXNlLlxuICAmX19leHBhbmQge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDZweDtcbiAgICByaWdodDogNnB4O1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgZ2FwOiA1cHg7XG4gICAgcGFkZGluZzogNXB4IDEwcHg7XG4gICAgbWluLWhlaWdodDogMjhweDtcbiAgICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1wcy1jaGF0LWFjY2VudCwgIzMwNWNkZSk7XG4gICAgYm9yZGVyLXJhZGl1czogOTk5cHg7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tcHMtY2hhdC1hY2NlbnQsICMzMDVjZGUpO1xuICAgIGNvbG9yOiB2YXIoLS1wcy1jaGF0LWFjY2VudC1jb250cmFzdCwgI2ZmZik7XG4gICAgZm9udC1zaXplOiAxMXB4O1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgb3BhY2l0eTogMDtcbiAgICBib3gtc2hhZG93OiAwIDJweCA2cHggcmdiYSgxNiwgMjQsIDQwLCAwLjE4KTtcbiAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuMTJzIGVhc2UsIHRyYW5zZm9ybSAwLjEycyBlYXNlO1xuXG4gICAgc3ZnIHsgZmxleDogMCAwIGF1dG87IH1cbiAgfVxuXG4gICY6aG92ZXIgJl9fZXhwYW5kLFxuICAmX19leHBhbmQ6Zm9jdXMtdmlzaWJsZSB7IG9wYWNpdHk6IDE7IH1cblxuICAmX19leHBhbmQ6aG92ZXIgeyB0cmFuc2Zvcm06IHNjYWxlKDEuMDQpOyB9XG5cbiAgLy8gbm8gaG92ZXIgdG8gcmV2ZWFsIHdpdGgg4oaSIGFsd2F5cyB2aXNpYmxlIHdpdGggYSBiaWdnZXIgdGFwIHRhcmdldFxuICBAbWVkaWEgKGhvdmVyOiBub25lKSwgKHBvaW50ZXI6IGNvYXJzZSkge1xuICAgICZfX2V4cGFuZCB7XG4gICAgICBvcGFjaXR5OiAxO1xuICAgICAgbWluLWhlaWdodDogMzhweDtcbiAgICAgIHBhZGRpbmc6IDlweCAxNHB4O1xuICAgICAgZm9udC1zaXplOiAxMnB4O1xuICAgIH1cbiAgfVxuXG4gICZfX2JhZGdlIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiA3cHg7XG4gICAgbGVmdDogN3B4O1xuICAgIGZvbnQtc2l6ZTogMTBweDtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgbGV0dGVyLXNwYWNpbmc6IDAuMDNlbTtcbiAgICBwYWRkaW5nOiAycHggN3B4O1xuICAgIGJvcmRlci1yYWRpdXM6IDk5OXB4O1xuICAgIGJhY2tncm91bmQ6IHZhcigtLXBzLWNoYXQtYWNjZW50LCAjMzA1Y2RlKTtcbiAgICBjb2xvcjogdmFyKC0tcHMtY2hhdC1hY2NlbnQtY29udHJhc3QsICNmZmYpO1xuXG4gICAgJi0tdW5pdmVyc2FsIHsgYmFja2dyb3VuZDogIzlhNjcwMDsgfVxuICAgIC8vIHVuaXZlcnNhbCA9IDIg4oCUIE5PIGZpdG1lbnQgZGF0YSwgbm90IHVuaXZlcnNhbCAoMjAyNi0wOS0yOSk6IHRoZSBjYXJkXG4gICAgLy8gaGVscGVycycgdmVyaWZ5IGFtYmVyLCBzbyBjaGF0IGNhcmRzIGFncmVlIHdpdGggdGhlIHN0b3JlZnJvbnQgY2FyZHNcbiAgICAmLS11bnZlcmlmaWVkIHsgYmFja2dyb3VuZDogI2I0NTMwOTsgfVxuICAgIC8vIHdoZWVsL3RpcmUgZml0bWVudCB0eXBlcyAoT0UgRml0IC8gT0UgQ29tcGF0aWJsZSAvIE9wdGlvbmFsIC8gUGx1c1xuICAgIC8vIFNpemUpIOKAlCB0aGUgcHJvZHVjdCBNQVRDSEVEIHRoZSBzaG9wcGVyJ3MgdmVoaWNsZSwgc28gaXQgcmVhZHMgYXMgYVxuICAgIC8vIHBvc2l0aXZlLCBub3QgdGhlIHVuaXZlcnNhbCBhbWJlclxuICAgICYtLWZpdCB7IGJhY2tncm91bmQ6ICMxYTdmMzc7IH1cbiAgfVxuXG4gICZfX2JvZHkge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBnYXA6IDNweDtcbiAgICBwYWRkaW5nOiA5cHggMTFweCAxMXB4O1xuICAgIGZsZXg6IDE7XG4gIH1cblxuICAmX19icmFuZCB7XG4gICAgZm9udC1zaXplOiAxMC41cHg7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIGxldHRlci1zcGFjaW5nOiAwLjA0ZW07XG4gICAgY29sb3I6IHZhcigtLXBzLWNoYXQtdGV4dC1tdXRlZCwgIzZiNzI4MCk7XG4gIH1cblxuICAmX190aXRsZSB7XG4gICAgZm9udC1zaXplOiAxMi41cHg7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICBsaW5lLWhlaWdodDogMS4zNTtcbiAgICBkaXNwbGF5OiAtd2Via2l0LWJveDtcbiAgICAtd2Via2l0LWxpbmUtY2xhbXA6IDI7XG4gICAgLXdlYmtpdC1ib3gtb3JpZW50OiB2ZXJ0aWNhbDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICB9XG5cbiAgJl9fbm90ZSB7XG4gICAgZm9udC1zaXplOiAxMXB4O1xuICAgIGNvbG9yOiB2YXIoLS1wcy1jaGF0LXRleHQtbXV0ZWQsICM2YjcyODApO1xuICAgIGRpc3BsYXk6IC13ZWJraXQtYm94O1xuICAgIC13ZWJraXQtbGluZS1jbGFtcDogMTtcbiAgICAtd2Via2l0LWJveC1vcmllbnQ6IHZlcnRpY2FsO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gIH1cblxuICAvLyB3aGVlbC90aXJlIHNlcmllcyBsaW5lIChNb2RlbCDCtyBGaW5pc2ggwrcgRGlhbWV0ZXIpIOKAlCB3aGF0IHRlbGxzIHR3b1xuICAvLyBzYW1lLW5hbWUgd2hlZWxzIGFwYXJ0IG9uIHRoZSBjYXJkXG4gICZfX3NlcmllcyB7XG4gICAgZm9udC1zaXplOiAxMXB4O1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgY29sb3I6IHZhcigtLXBzLWNoYXQtdGV4dCwgIzExMTgyNyk7XG4gICAgZGlzcGxheTogLXdlYmtpdC1ib3g7XG4gICAgLXdlYmtpdC1saW5lLWNsYW1wOiAxO1xuICAgIC13ZWJraXQtYm94LW9yaWVudDogdmVydGljYWw7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgfVxuXG4gICZfX2Zvb3RlciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogYmFzZWxpbmU7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgIGdhcDogOHB4O1xuICAgIG1hcmdpbi10b3A6IGF1dG87XG4gICAgcGFkZGluZy10b3A6IDZweDtcbiAgfVxuXG4gICZfX3ByaWNlIHtcbiAgICBmb250LXNpemU6IDE1cHg7XG4gICAgZm9udC13ZWlnaHQ6IDgwMDtcbiAgICBjb2xvcjogdmFyKC0tcHMtY2hhdC10ZXh0LCAjMWEyMjMzKTtcbiAgfVxuXG4gICZfX2F2YWlsYWJpbGl0eSB7XG4gICAgZm9udC1zaXplOiAxMC41cHg7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICBjb2xvcjogIzFhN2YzNztcbiAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIHBzLWNoYXQtdHlwaW5nIHtcbiAgMCUsIDYwJSwgMTAwJSB7IHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTsgb3BhY2l0eTogMC41OyB9XG4gIDMwJSB7IHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtM3B4KTsgb3BhY2l0eTogMTsgfVxufVxuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gb3ZlcmxheSBlbWJlZFxuICAgLnBzLWNoYXQtLW92ZXJsYXkg4oCUIHRoZSB3aWRnZXQgaG9zdGVkIGluc2lkZSB0aGUgc2l0ZS1zZWFyY2ggZnVsbHNjcmVlblxuICAgb3ZlcmxheSdzIEFJIG1vZGUgKHNpdGUtc2VhcmNoIHBhc3NlcyBwYW5lbENsYXNzICsgYXV0b0hlaWdodCkuIFRoZSBvdmVybGF5XG4gICBnaXZlcyB0aGUgY2hhdCB0aGUgd2hvbGUgc2NyZWVuOiBhIHdpZGVyLCB0YWxsZXIgY29udmVyc2F0aW9uIGNvbHVtbiBhbmQgYVxuICAgZnVsbC13aWR0aCBsaXZlLXJlc3VsdHMgZ3JpZC4gS2VwdCBoZXJlIChub3QgaW4gc2l0ZS1zZWFyY2gpIHNvIGFueSBmdXR1cmVcbiAgIGhvc3QgY2FuIHJldXNlIHRoZSBzYW1lIGNvbnRleHQgY2xhc3MuIE11c3Qgc3RheSBBRlRFUiB0aGUgYmFzZSBydWxlcyDigJRcbiAgIGVxdWFsLXNwZWNpZmljaXR5IG92ZXJyaWRlcyB3aW4gYnkgb3JkZXIuICovXG4ucHMtY2hhdC0tb3ZlcmxheSB7XG4gIC8qIGF1dG9IZWlnaHQgb21pdHMgdGhlIGlubGluZSAtLXBzLWNoYXQtaGVpZ2h0LCBzbyB0aGlzIHZhbHVlIGFwcGxpZXMgKi9cbiAgLS1wcy1jaGF0LWhlaWdodDogbWluKDY4dmgsIDcyMHB4KTtcblxuICAvKiBUaGUgY2xhc3NpYyBwYW5lbCBrZWVwcyBhIGZpeGVkIHJlYWRpbmcgY29sdW1uIGluc2lkZSB0aGUgb3ZlcmxheS4gVGhlXG4gICAgIDpub3QoKSBpcyBsb2FkLWJlYXJpbmcsIG5vdCBkZWNvcmF0aXZlOiB0aGUgaW50ZWdyYXRlZCB2YXJpYW50IHNldHNcbiAgICAgbWF4LXdpZHRoOm5vbmUgYXQgdGhlIFNBTUUgc3BlY2lmaWNpdHksIGFuZCBhIHBhZ2UgaG9sZGluZyBib3RoIHZhcmlhbnRzXG4gICAgIGVtaXRzIHRoaXMgc2hhcmVkIHN0eWxlc2hlZXQgdHdpY2UgKG9uY2UgcGVyIHJlbmRlckFzc2V0VGFncyBjYWxsIOKAlCBzZWVcbiAgICAgdGhlIG5vdGUgaW4gX3NoYXJlZC9Qc0NoYXRXaWRnZXQuanMpLCBzbyB0aGUgbGF0ZXIgY29weSB3b3VsZCByZS1hc3NlcnRcbiAgICAgODYwcHggb3ZlciB0aGUgaW50ZWdyYXRlZCBza2luLiBFeGNsdWRpbmcgdGhlIHZhcmlhbnQgaGVyZSBtYWtlcyB0aGVcbiAgICAgb3V0Y29tZSBpbmRlcGVuZGVudCBvZiBhc3NldCBvcmRlciBpbnN0ZWFkIG9mIGEgY29pbiBmbGlwLiAqL1xuICAvKiBTY29wZWQgdG8gdGhlIENMQVNTSUMgc2tpbiBvbiBwdXJwb3NlIOKAlCB0aGUgZml4ZWQgcmVhZGluZyBjb2x1bW4gYmVsb25nc1xuICAgICB0byB0aGUgcGFuZWwgbG9vaywgYW5kIGV2ZXJ5IG90aGVyIHNraW4gb3ducyBpdHMgb3duIHdpZHRoLlxuXG4gICAgIFRoZSBhdHRyaWJ1dGUgcXVhbGlmaWVyIGlzIGxvYWQtYmVhcmluZywgbm90IGRlY29yYXRpdmUuIFRoZSBpbnRlZ3JhdGVkXG4gICAgIHZhcmlhbnQgc2V0cyBtYXgtd2lkdGg6bm9uZSBhdCB3aGF0IHdvdWxkIG90aGVyd2lzZSBiZSB0aGUgU0FNRVxuICAgICBzcGVjaWZpY2l0eSwgYW5kIGEgcGFnZSBob2xkaW5nIGJvdGggdmFyaWFudHMgZW1pdHMgdGhpcyBzaGFyZWQgc3R5bGVzaGVldFxuICAgICB0d2ljZSAob25jZSBwZXIgcmVuZGVyQXNzZXRUYWdzIGNhbGwg4oCUIHNlZSB0aGUgbm90ZSBpblxuICAgICBfc2hhcmVkL1BzQ2hhdFdpZGdldC5qcyksIHNvIHRoZSBsYXRlciBjb3B5IHdvdWxkIHJlLWFzc2VydCA4NjBweCBvdmVyIHRoZVxuICAgICBpbnRlZ3JhdGVkIHNraW4uIFNjb3BpbmcgaGVyZSBtYWtlcyB0aGUgb3V0Y29tZSBpbmRlcGVuZGVudCBvZiBhc3NldCBvcmRlclxuICAgICBpbnN0ZWFkIG9mIGEgY29pbiBmbGlwLCBhbmQgZnV0dXJlIHNraW5zIGFyZSBleGNsdWRlZCBhdXRvbWF0aWNhbGx5LlxuXG4gICAgIGRlZmF1bHQuYmxhZGUucGhwIGFsd2F5cyBlbWl0cyBkYXRhLXBzLWNoYXQtdmFyaWFudCBmcm9tIGEgdmFsaWRhdGVkXG4gICAgIGFsbG93LWxpc3QsIHNvIHRoZXJlIGlzIG5vIGF0dHJpYnV0ZS1sZXNzIHJvb3QgdG8gbWlzcy4gKi9cbiAgJi5wcy1jaGF0LS1pbmxpbmVbZGF0YS1wcy1jaGF0LXZhcmlhbnQ9J2RlZmF1bHQnXSAucHMtY2hhdF9fcGFuZWwge1xuICAgIG1heC13aWR0aDogODYwcHg7XG4gIH1cblxuICAucHMtY2hhdF9fYnViYmxlIHtcbiAgICBtYXgtd2lkdGg6IG1pbig4NiUsIDYyMHB4KTtcbiAgfVxuXG4gIC8qIHRoZSBwcm9kdWN0IGdyaWQgaXMgdGhlIHBpZWNlIHRoYXQgdHJ1bHkgdXNlcyB0aGUgZnVsbCBzY3JlZW4gd2lkdGggKi9cbiAgLnBzLWNoYXRfX3Jlc3VsdHMge1xuICAgIG1heC13aWR0aDogbm9uZTtcbiAgfVxuXG4gIEBtZWRpYSAobWF4LXdpZHRoOiA3NjcuOThweCkge1xuICAgIC8qIGZ1bGxzY3JlZW4tc20tZG93biBtb2RhbDogZmlsbCB3aGF0IHRoZSBvdmVybGF5IGNocm9tZSBsZWF2ZXMgKi9cbiAgICAtLXBzLWNoYXQtaGVpZ2h0OiBjYWxjKDEwMGR2aCAtIDIzMHB4KTtcbiAgfVxufVxuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gZHJvcGRvd24gZW1iZWRcbiAgIC5wcy1jaGF0LS1kcm9wZG93biDigJQgdGhlIHdpZGdldCBob3N0ZWQgaW5zaWRlIHRoZSBDT01QQUNUIHNpdGUtc2VhcmNoXG4gICBwYW5lbCdzIEFJIGJvZHkgKHNpdGUtc2VhcmNoL2NvbXBhY3QgcGFzc2VzIHBhbmVsQ2xhc3MgKyBhdXRvSGVpZ2h0LCB0aGVcbiAgIHNhbWUgd2F5IHRoZSBvdmVybGF5IGRvZXMpLiBUaGUgY29uc3RyYWludCBpcyB0aGUgb3Bwb3NpdGUgb2YgdGhlIG92ZXJsYXknczpcbiAgIGEgfjUyMHB4LXdpZGUgZHJvcGRvd24gdGhhdCBtdXN0IG5vdCBvdmVyZmxvdyB0aGUgcGFuZWwgaXQgbGl2ZXMgaW4sIHNvIHRoZVxuICAgY2hhdCBkcm9wcyBpdHMgb3duIGNhcmQgY2hyb21lICh0aGUgcGFuZWwgYWxyZWFkeSBJUyBhIGNhcmQpIGFuZCBsZXRzIHRoZVxuICAgZHJvcGRvd24gb3duIHRoZSBib3JkZXIsIHJhZGl1cyBhbmQgc2hhZG93LlxuICAgTGl2ZXMgaGVyZSwgYmVzaWRlIGl0cyBzaWJsaW5nLCBiZWNhdXNlIGNvbnRleHQgY2xhc3NlcyBhcmUgdGhlIGNoYXRib3Qnc1xuICAgY29udHJhY3Qgd2l0aCBpdHMgaG9zdHMg4oCUIGEgaG9zdCBidW5kbGUgY291bGQgbm90IHJlbGlhYmx5IG91dC1vcmRlciB0aGVcbiAgIGJhc2UgcnVsZXMgKHRoZSBjaGF0IENTUyBpcyBlbWl0dGVkIGF0IGluY2x1ZGUgdGltZSwgQUZURVIgdGhlIGhvc3QncykuICovXG4ucHMtY2hhdC0tZHJvcGRvd24ge1xuICAvKiBhdXRvSGVpZ2h0IG9taXRzIHRoZSBpbmxpbmUgLS1wcy1jaGF0LWhlaWdodCwgc28gdGhpcyB2YWx1ZSBhcHBsaWVzICovXG4gIC0tcHMtY2hhdC1oZWlnaHQ6IG1pbig1MnZoLCA0MjBweCk7XG4gIC0tcHMtY2hhdC1yYWRpdXM6IDZweDtcblxuICAmLnBzLWNoYXQtLWlubGluZSAucHMtY2hhdF9fcGFuZWwge1xuICAgIG1heC13aWR0aDogbm9uZTtcbiAgICBib3JkZXI6IDA7XG4gICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgfVxuXG4gIC5wcy1jaGF0X19idWJibGUge1xuICAgIG1heC13aWR0aDogbWluKDkyJSwgNDYwcHgpO1xuICB9XG5cbiAgLyogYSAxOTBweC1taW4gZ3JpZCBvbmx5IGZpdHMgMiBjb2x1bW5zIGhlcmU7IGxldCBpdCB1c2UgdGhlIGZ1bGwgd2lkdGggKi9cbiAgLnBzLWNoYXRfX3Jlc3VsdHMge1xuICAgIG1heC13aWR0aDogbm9uZTtcbiAgICBtYXJnaW4tdG9wOiAxMHB4O1xuICB9XG5cbiAgLyogUGhvbmVzOiB0aGUgYmFzZSAtLWlubGluZSBydWxlcyBoYW5kIHNjcm9sbGluZyB0byB0aGUgbmVhcmVzdCBzY3JvbGxpbmdcbiAgICAgYW5jZXN0b3Igd2l0aCBhIHN0aWNreSBjb21wb3Nlci4gVGhhdCBhbmNlc3RvciBpcyB0aGUgY29tcGFjdCBzaGVldCwgd2hpY2hcbiAgICAgaXMgZXhhY3RseSByaWdodCDigJQgc28gRE9OJ1QgcmUtYXNzZXJ0IGEgZml4ZWQgaGVpZ2h0IGhlcmUsIGp1c3QgbGV0IHRoZVxuICAgICBzaGVldCBzY3JvbGwgdGhlIGNvbnZlcnNhdGlvbi4gKi9cbn1cbiJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==*/