.block--image-and-item-list-v2{background-color:#f7f6ff;overflow:hidden;padding-bottom:48px;padding-top:48px;position:relative}@media (min-width:992px){.block--image-and-item-list-v2{padding-bottom:80px;padding-top:80px}}.block--image-and-item-list-v2 .iil__container{margin:0 auto;max-width:1440px;padding:0 1.5rem;position:relative;z-index:1}@media (min-width:992px){.block--image-and-item-list-v2 .iil__container{padding:0 6rem}}.block--image-and-item-list-v2 .iil__deco{display:none;pointer-events:none;position:absolute;z-index:0}.block--image-and-item-list-v2 .iil__deco svg{display:block;height:100%;width:100%}@media (min-width:992px){.block--image-and-item-list-v2 .iil__deco{display:block}}.block--image-and-item-list-v2 .iil__deco--top-left{height:26rem;left:0;top:6rem;transform:translateX(-30%);width:14rem}.block--image-and-item-list-v2 .iil__deco--top-right{aspect-ratio:597.92/493.919;background:#41329b;-webkit-clip-path:polygon(51.4% 0,100% 0,48.7% 100%,0 100%);clip-path:polygon(51.4% 0,100% 0,48.7% 100%,0 100%);opacity:.7;right:-6rem;top:6rem;transform:translateX(35%);width:22rem;z-index:2}.block--image-and-item-list-v2 .iil__deco--top-right-glass{aspect-ratio:597.92/493.919;backdrop-filter:blur(2px);-webkit-backdrop-filter:blur(2px);-webkit-clip-path:polygon(calc(51.4% - 2px) -2px,calc(100% + 2px) -2px,calc(48.7% + 2px) calc(100% + 2px),-2px calc(100% + 2px));clip-path:polygon(calc(51.4% - 2px) -2px,calc(100% + 2px) -2px,calc(48.7% + 2px) calc(100% + 2px),-2px calc(100% + 2px));right:-2rem;top:16rem;transform:translateX(35%);width:22rem;z-index:3}.block--image-and-item-list-v2 .iil__deco--top-right-glass svg{overflow:visible}.block--image-and-item-list-v2 .iil__deco--bottom-hatch{bottom:0;-webkit-clip-path:polygon(20.21px 0,100% 0,calc(100% - 20.21px) 100%,0 100%);clip-path:polygon(20.21px 0,100% 0,calc(100% - 20.21px) 100%,0 100%);height:2.25rem;left:50%;max-width:480px;transform:translateX(-50%);width:100%}.block--image-and-item-list-v2 .iil__intro{margin:0 0 32px;text-align:center}@media (min-width:992px){.block--image-and-item-list-v2 .iil__intro{margin-bottom:48px}}.block--image-and-item-list-v2 .iil__heading{color:#23004b;font-family:Avenir LT Pro Bold,sans-serif;font-size:28px;line-height:1.15;margin:0 0 12px}@media (min-width:768px){.block--image-and-item-list-v2 .iil__heading{font-size:40px}}.block--image-and-item-list-v2 .iil__intro-text{color:#23004b;font-family:Avenir LT Pro Medium,sans-serif;font-size:16px;line-height:1.5;margin:0 auto;max-width:720px}@media (min-width:768px){.block--image-and-item-list-v2 .iil__intro-text{font-size:18px}}.block--image-and-item-list-v2 .iil__layout{display:flex;flex-direction:column;gap:32px;margin:0 auto;max-width:1040px}@media (min-width:992px){.block--image-and-item-list-v2 .iil__layout{align-items:center;flex-direction:row;gap:56px}}.block--image-and-item-list-v2 .iil__content{flex:1 1 50%;min-width:0}.block--image-and-item-list-v2 .iil__media{flex:1 1 50%;min-width:0;position:relative}.block--image-and-item-list-v2 .iil__media:before{background:linear-gradient(180deg,hsla(0,0%,100%,0),rgba(35,0,75,.4) 98.57%);border-radius:6px;content:"";inset:0;pointer-events:none;position:absolute}.block--image-and-item-list-v2 .iil__image{border-radius:6px;display:block;height:auto;-o-object-fit:cover;object-fit:cover;width:100%}.block--image-and-item-list-v2 .iil__list{display:flex;flex-direction:column}.block--image-and-item-list-v2 .iil__item+.iil__item{margin-top:24px}.block--image-and-item-list-v2 .iil__item-title{color:#23004b;font-family:Avenir LT Pro Bold,sans-serif;font-size:25px;line-height:1.3;margin:0}.block--image-and-item-list-v2[data-accordion="0"] .iil__item-title{font-size:22px}.block--image-and-item-list-v2 .iil__item-desc{color:#23004b;font-family:Avenir LT Pro Medium,sans-serif;font-size:16px;line-height:1.5;margin:8px 0 0}.block--image-and-item-list-v2 .iil__item-link{align-items:center;display:inline-flex;font-family:Avenir LT Pro Bold,sans-serif;font-size:18px;gap:10px;margin-top:12px;text-decoration:none}.block--image-and-item-list-v2 .iil__item-link,.block--image-and-item-list-v2 .iil__item-link:link,.block--image-and-item-list-v2 .iil__item-link:visited{color:#23004b}.block--image-and-item-list-v2 .iil__item-link:focus-visible,.block--image-and-item-list-v2 .iil__item-link:hover{color:#41329b}.block--image-and-item-list-v2 .iil__item-link .iil__arrow{flex-shrink:0;height:8px;width:24px}.block--image-and-item-list-v2 .iil__item-toggle{align-items:center;background:none;border:0;color:#23004b;cursor:pointer;display:inline-flex;gap:10px;max-width:100%;padding:0;text-align:left;width:auto}.block--image-and-item-list-v2 .iil__item-toggle:focus-visible{outline:2px solid #23004b;outline-offset:4px}.block--image-and-item-list-v2 .iil__item-toggle .iil__chevron{flex-shrink:0;height:16px;transition:transform .3s ease;width:16px}.block--image-and-item-list-v2 .iil__item.is-open .iil__item-toggle .iil__chevron{transform:rotate(180deg)}.block--image-and-item-list-v2 .iil__item-body{max-height:0;overflow:hidden;transition:max-height .3s ease}.block--image-and-item-list-v2 .iil__item-body[hidden]{display:none}.block--image-and-item-list-v2 .iil__cta-row{display:flex;justify-content:center;margin-top:40px}.block--image-and-item-list-v2 .iil__cta{align-items:center;background-color:#ffbe00;border:1px solid #ffbe00;border-radius:3px;color:#23004b;display:inline-flex;font-family:Avenir LT Pro Medium,sans-serif;font-size:1.125rem;font-weight:500;justify-content:center;line-height:1;padding:14px 28px;text-decoration:none;transition:background-color .3s ease,border-color .3s ease}.block--image-and-item-list-v2 .iil__cta,.block--image-and-item-list-v2 .iil__cta:focus,.block--image-and-item-list-v2 .iil__cta:hover,.block--image-and-item-list-v2 .iil__cta:link,.block--image-and-item-list-v2 .iil__cta:visited{color:#23004b;text-decoration:none}.block--image-and-item-list-v2 .iil__cta:hover{background-color:#e0a700;border-color:#e0a700}.block--image-and-item-list-v2 .iil__cta:focus-visible{outline:2px solid #23004b;outline-offset:2px}

/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmxvY2tzL2ltYWdlLWFuZC1pdGVtLWxpc3QtVjIvZGlzdC9zdHlsZS5taW4uY3NzIiwibWFwcGluZ3MiOiJBQUVBLCtCQUVDLHdCQ01ZLENETFosZ0JFZ0RDLG1CQVJzQixDQUt0QixnQkFMc0IsQ0YxQ3ZCLGlCQUdELENHeURJLHlCSDdESiwrQkUyREcsbUJBZnFCLENBWXJCLGdCRi9DRCxDQUNGLENBREMsK0NBSUMsY0FEQSxpQkFFQSxpQkFKQSxrQkFDQSxTQU1GLENHNENJLHlCSHBESCwrQ0FRRSxjQUlELENBQ0YsQ0FHQywwQ0FDQyxhQUVBLG9CQURBLGtCQUVBLFNBREYsQ0FHRSw4Q0FDQyxjQUVBLFlBREEsVUFBSCxDRzRCSSx5QkhwQ0gsMENBYUUsYUFERCxDQUNGLENBSUMsb0RBSUMsYUFGQSxPQURBLFNBSUEsMkJBRkEsV0FBRixDQUtDLHFEQUlDLDRCQUNBLG1CQUVBLGdIQURBLFdBSkEsWUFEQSxTQU9BLDBCQUxBLFlBTUEsU0FIRixDQU1DLDJEQUlDLDRCQUNBLDBCQUNBLGtDQU9BLDBQQVhBLFlBREEsVUFrQkEsMEJBaEJBLFlBaUJBLFNBZkYsQ0FvQkUsK0RBQ0MsZ0JBbEJILENBeUJDLHdEQUNDLFNBT0Esa0pBRkEsZUFKQSxTQUdBLGdCQUZBLDJCQUNBLFVBcEJGLENBaUNDLDJDQUNDLGdCQUNBLGlCQS9CRixDR3RCSSx5QkhtREgsMkNBS0Usa0JBOUJELENBQ0YsQ0FpQ0MsNkNBSUMsYUM1SGEsQ0R5SGIseUNDM0RZLENENERaLGVBQ0EsaUJBRUEsZUEvQkYsQ0dsQ0kseUJINERILDZDQVFFLGNBOUJELENBQ0YsQ0FpQ0MsZ0RBSUMsYUN4SWEsQ0RxSWIsMkNDekVXLENEMEVYLGVBQ0EsZ0JBR0EsY0FEQSxlQTlCRixDRy9DSSx5Qkh3RUgsZ0RBU0UsY0E5QkQsQ0FDRixDQWtDQyw0Q0FDQyxhQUNBLHNCQUNBLFNBSUEsY0FEQSxnQkFqQ0YsQ0czREkseUJIc0ZILDRDQVdFLG1CQURBLG1CQUVBLFFBakNELENBQ0YsQ0FvQ0MsNkNBQ0MsYUFDQSxXQWxDRixDQXFDQywyQ0FDQyxhQUNBLFlBQ0EsaUJBbkNGLENBc0NFLGtEQWlCQyw2RUFiQSxrQkFIQSxXQUVBLFFBZUEsb0JBaEJBLGlCQWhDSCxDQW9EQywyQ0FJQyxrQkFIQSxjQUVBLFlBRUEscUNBSEEsVUEvQ0YsQ0FzREMsMENBQ0MsYUFDQSxxQkFwREYsQ0F5REUscURBQ0MsZUF2REgsQ0EyREMsZ0RBSUMsYUM1TmEsQ0R5TmIseUNDM0pZLENENEpaLGVBQ0EsZ0JBRUEsUUF6REYsQ0E2REMsb0VBQ0MsY0EzREYsQ0E4REMsK0NBSUMsYUN6T2EsQ0RzT2IsMkNDMUtXLENEMktYLGVBQ0EsZ0JBRUEsY0E1REYsQ0FpRUMsK0NBRUMsbUJBREEsb0JBSUEseUNDdExZLENEdUxaLGVBSEEsU0FDQSxnQkFHQSxvQkEvREYsQ0FpRUUsMEpBR0MsYUFqRUgsQ0FvRUUsa0hBRUMsYUFuRUgsQ0FzRUUsMkRBR0MsY0FEQSxXQURBLFVBbEVILENBeUVDLGlEQUVDLG1CQUtBLGdCQUNBLFNBR0EsYUN0UmEsQ0RxUmIsZUFUQSxvQkFFQSxTQUVBLGVBQ0EsVUFHQSxnQkFMQSxVQWhFRixDQXlFRSwrREFDQywwQkFDQSxrQkF2RUgsQ0EwRUUsK0RBR0MsY0FEQSxZQUVBLDhCQUhBLFVBckVILENBNEVDLGtGQUNDLHdCQTFFRixDQThFQywrQ0FFQyxhQURBLGdCQUVBLDhCQTVFRixDQThFRSx1REFDQyxZQTVFSCxDQWlGQyw2Q0FDQyxhQUNBLHVCQUNBLGVBL0VGLENBa0ZDLHlDQUVDLG1CQUdBLHdCQ3pTTyxDRDBTUCx5QkFDQSxrQkFLQSxhQ3ZVYSxDRDRUYixvQkFPQSwyQ0N2UVcsQ0R3UVgsbUJBQ0EsZ0JBUEEsdUJBUUEsY0FQQSxrQkFTQSxxQkFDQSwwREFoRkYsQ0FrRkUsc09BS0MsYUNoVlksQ0RpVlosb0JBcEZILENBdUZFLCtDQUNDLHlCQUNBLG9CQXJGSCxDQXdGRSx1REFDQywwQkFDQSxrQkF0RkgsQyIsInNvdXJjZXMiOlsid2VicGFjazovL3dlYm1lY2hhbml4Ly4vYmxvY2tzL2ltYWdlLWFuZC1pdGVtLWxpc3QtVjIvc3JjL19pbWFnZS1hbmQtaXRlbS1saXN0LVYyLnNjc3MiLCJ3ZWJwYWNrOi8vd2VibWVjaGFuaXgvLi9zcmMvc2Nzcy9jdXN0b20vX2JyYW5kaW5nLnNjc3MiLCJ3ZWJwYWNrOi8vd2VibWVjaGFuaXgvLi9zcmMvc2Nzcy9jdXN0b20vcGFydGlhbHMvX2hvdXNlLW1peGlucy5zY3NzIiwid2VicGFjazovL3dlYm1lY2hhbml4Ly4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9fYnJlYWtwb2ludHMuc2NzcyJdLCJzb3VyY2VzQ29udGVudCI6WyJAaW1wb3J0ICcuLi8uLi8uLi9zcmMvc2Nzcy9iYXJlLWJzLW5lY2Vzc2l0aWVzJztcblxuLmJsb2NrLS1pbWFnZS1hbmQtaXRlbS1saXN0LXYyIHtcblx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiAkcHJpbWFyeS01O1xuXHRvdmVyZmxvdzogaGlkZGVuO1xuXG5cdEBpbmNsdWRlIHYyLXNlY3Rpb24tcGFkZGluZztcblxuXHQvLyBDb25zdHJhaW4gY29udGVudCB0byB0aGUgdGhlbWUncyAxNDQwIGNvbnZlbnRpb24gKEJvb3RzdHJhcCdzIC5jb250YWluZXJcblx0Ly8gY2FwcyBhdCAxMzIwKS4gTWlycm9ycyBjb250YWN0LVYyIC8gdGhyZWUtY29sdW1uLVYyLlxuXHQuaWlsX19jb250YWluZXIge1xuXHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0XHR6LWluZGV4OiAxOyAvLyBzaXQgYWJvdmUgdGhlIGJlaGluZC1jb250ZW50IGRlY28gKHRvcC1sZWZ0LCB6OjApXG5cdFx0bWF4LXdpZHRoOiAxNDQwcHg7XG5cdFx0bWFyZ2luOiAwIGF1dG87XG5cdFx0cGFkZGluZzogMCAxLjVyZW07XG5cblx0XHRAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKGxnKSB7XG5cdFx0XHRwYWRkaW5nOiAwIDZyZW07XG5cdFx0fVxuXHR9XG5cblx0Ly8gLS0tLS0tLS0tLSBkZWNvcmF0aXZlIHBhcmFsbGVsb2dyYW1zIC0tLS0tLS0tLS1cblx0Ly8gUG9ydGVkIGZyb20gYWNjb3JkaW9uLXNob3djYXNlLVYyICh3aXRob3V0IGl0cyBKUyBwYXJhbGxheCkuIEhpZGRlbiBvblxuXHQvLyBtb2JpbGU7IHJldmVhbGVkIGF0IGxnKy4gdG9wLWxlZnQgc2l0cyBiZWhpbmQgdGhlIGNvbnRlbnQgKHo6MCk7IHRoZVxuXHQvLyByaWdodC1zaWRlIHBhaXIgb3ZlcmxhcHMgaXQgKGZpbGxlZCBwdXJwbGUgejoyLCBnbGFzcyBwYW5lIHo6MykuXG5cdC5paWxfX2RlY28ge1xuXHRcdGRpc3BsYXk6IG5vbmU7XG5cdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdHBvaW50ZXItZXZlbnRzOiBub25lO1xuXHRcdHotaW5kZXg6IDA7XG5cblx0XHRzdmcge1xuXHRcdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0XHR3aWR0aDogMTAwJTtcblx0XHRcdGhlaWdodDogMTAwJTtcblx0XHR9XG5cblx0XHRAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKGxnKSB7XG5cdFx0XHRkaXNwbGF5OiBibG9jaztcblx0XHR9XG5cdH1cblxuXHQuaWlsX19kZWNvLS10b3AtbGVmdCB7XG5cdFx0dG9wOiA2cmVtO1xuXHRcdGxlZnQ6IDA7XG5cdFx0d2lkdGg6IDE0cmVtO1xuXHRcdGhlaWdodDogMjZyZW07XG5cdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0zMCUpO1xuXHR9XG5cblx0LmlpbF9fZGVjby0tdG9wLXJpZ2h0IHtcblx0XHR0b3A6IDZyZW07XG5cdFx0cmlnaHQ6IC02cmVtO1xuXHRcdHdpZHRoOiAyMnJlbTtcblx0XHRhc3BlY3QtcmF0aW86IDU5Ny45MiAvIDQ5My45MTk7XG5cdFx0YmFja2dyb3VuZDogIzQxMzI5Qjtcblx0XHRvcGFjaXR5OiAwLjc7XG5cdFx0Y2xpcC1wYXRoOiBwb2x5Z29uKDUxLjQlIDAsIDEwMCUgMCwgNDguNyUgMTAwJSwgMCAxMDAlKTtcblx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMzUlKTtcblx0XHR6LWluZGV4OiAyO1xuXHR9XG5cblx0LmlpbF9fZGVjby0tdG9wLXJpZ2h0LWdsYXNzIHtcblx0XHR0b3A6IDE2cmVtO1xuXHRcdHJpZ2h0OiAtMnJlbTtcblx0XHR3aWR0aDogMjJyZW07XG5cdFx0YXNwZWN0LXJhdGlvOiA1OTcuOTIgLyA0OTMuOTE5O1xuXHRcdGJhY2tkcm9wLWZpbHRlcjogYmx1cigycHgpO1xuXHRcdC13ZWJraXQtYmFja2Ryb3AtZmlsdGVyOiBibHVyKDJweCk7XG5cdFx0Ly8gT3V0c2V0IDJweC4gVGhlIGlubmVyIFNWRydzIHBhdGggdHJhY2VzIHRoaXMgZXhhY3Qgb3V0bGluZSwgc28gaXRzIDFweFxuXHRcdC8vIGNlbnRlcmVkIHN0cm9rZSBzdHJhZGRsZXMgdGhlIGJvdW5kYXJ5IGFuZCB3YXMgYmVpbmcgY3V0IHR3aWNlIOKAlCBieSB0aGVcblx0XHQvLyBTVkcgdmlld3BvcnQgYW5kIGFnYWluIGJ5IHRoaXMgY2xpcC4gVGhlIHNsYW50ZWQgZWRnZXMga2VwdCBlbm91Z2hcblx0XHQvLyBhbnRpLWFsaWFzZWQgY292ZXJhZ2UgdG8gc3RpbGwgcmVhZCBhcyBhIGxpbmUsIGJ1dCB0aGUgaG9yaXpvbnRhbCBib3R0b21cblx0XHQvLyBlZGdlIGxvc3QgaXRzIHdob2xlIHZpc2libGUgaGFsZiBhbmQgZGlzYXBwZWFyZWQuIFRoZSAycHggb2YgZXh0cmFcblx0XHQvLyBiYWNrZHJvcC1ibHVyIGFyZWEgdGhpcyBleHBvc2VzIGlzIGltcGVyY2VwdGlibGUuXG5cdFx0Y2xpcC1wYXRoOiBwb2x5Z29uKFxuXHRcdFx0Y2FsYyg1MS40JSAtIDJweCkgLTJweCxcblx0XHRcdGNhbGMoMTAwJSArIDJweCkgLTJweCxcblx0XHRcdGNhbGMoNDguNyUgKyAycHgpIGNhbGMoMTAwJSArIDJweCksXG5cdFx0XHQtMnB4IGNhbGMoMTAwJSArIDJweClcblx0XHQpO1xuXHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlWCgzNSUpO1xuXHRcdHotaW5kZXg6IDM7XG5cblx0XHQvLyBMZXQgdGhlIHN0cm9rZSBwYWludCBwYXN0IHRoZSB2aWV3Qm94IGVkZ2UgaXQgc2l0cyBvbi4gU2NvcGVkIHRvIHRoaXNcblx0XHQvLyBkZWNvIOKAlCBgLS10b3AtbGVmdGAgaGFzIGEgcGF0aCB0aGF0IGRlbGliZXJhdGVseSBibGVlZHMgb3V0c2lkZSBpdHNcblx0XHQvLyB2aWV3Qm94IGFuZCByZWxpZXMgb24gdGhlIGRlZmF1bHQgY2xpcHBpbmcuXG5cdFx0c3ZnIHtcblx0XHRcdG92ZXJmbG93OiB2aXNpYmxlO1xuXHRcdH1cblx0fVxuXG5cdC8vIERpYWdvbmFsIGhhdGNoIGJhbmQgYWNyb3NzIHRoZSBib3R0b20gb2YgdGhlIGJsb2NrLiBFYWNoIHN0cmlwZSBpcyBvbmVcblx0Ly8gY29udGludW91cyA8bGluZT4gZnJvbSB0aGUgaW5saW5lIFNWRyAoc2VlIFBIUCkg4oCUIGF2b2lkcyB0aWxlLWJvdW5kYXJ5XG5cdC8vIGtpbmtzIGFuZCB0aGUgaGFsZi1jbGlwcGVkIGxlZnRtb3N0IHN0cmlwZS5cblx0LmlpbF9fZGVjby0tYm90dG9tLWhhdGNoIHtcblx0XHRib3R0b206IDA7XG5cdFx0bGVmdDogNTAlO1xuXHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcblx0XHR3aWR0aDogMTAwJTtcblx0XHRtYXgtd2lkdGg6IDQ4MHB4O1xuXHRcdGhlaWdodDogMi4yNXJlbTtcblx0XHQvLyBjbGlwLXBhdGggc2xhbnQgb2Zmc2V0ID0gaGVpZ2h0IC8gdGFuKDYwLjfCsCkgPSAzNiAvIDEuNzgxMSA9IDIwLjIxcHguXG5cdFx0Y2xpcC1wYXRoOiBwb2x5Z29uKFxuXHRcdFx0MjAuMjFweCAwLFxuXHRcdFx0MTAwJSAwLFxuXHRcdFx0Y2FsYygxMDAlIC0gMjAuMjFweCkgMTAwJSxcblx0XHRcdDAgMTAwJVxuXHRcdCk7XG5cdH1cblxuXHQvLyAtLS0tIEludHJvIC0tLS1cblx0LmlpbF9faW50cm8ge1xuXHRcdG1hcmdpbjogMCAwIDMycHg7XG5cdFx0dGV4dC1hbGlnbjogY2VudGVyO1xuXG5cdFx0QGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChsZykge1xuXHRcdFx0bWFyZ2luLWJvdHRvbTogNDhweDtcblx0XHR9XG5cdH1cblxuXHQuaWlsX19oZWFkaW5nIHtcblx0XHRmb250LWZhbWlseTogJGF2ZW5pci1ib2xkO1xuXHRcdGZvbnQtc2l6ZTogMjhweDtcblx0XHRsaW5lLWhlaWdodDogMS4xNTtcblx0XHRjb2xvcjogJHByaW1hcnktMTAwO1xuXHRcdG1hcmdpbjogMCAwIDEycHg7XG5cblx0XHRAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKG1kKSB7XG5cdFx0XHRmb250LXNpemU6IDQwcHg7XG5cdFx0fVxuXHR9XG5cblx0LmlpbF9faW50cm8tdGV4dCB7XG5cdFx0Zm9udC1mYW1pbHk6ICRhdmVuaXItbWVkO1xuXHRcdGZvbnQtc2l6ZTogMTZweDtcblx0XHRsaW5lLWhlaWdodDogMS41O1xuXHRcdGNvbG9yOiAkcHJpbWFyeS0xMDA7XG5cdFx0bWF4LXdpZHRoOiA3MjBweDtcblx0XHRtYXJnaW46IDAgYXV0bztcblxuXHRcdEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobWQpIHtcblx0XHRcdGZvbnQtc2l6ZTogMThweDtcblx0XHR9XG5cdH1cblxuXHQvLyAtLS0tIFR3by1jb2x1bW4gbGF5b3V0OiBjb250ZW50ICsgc3RhdGljIGltYWdlIC0tLS1cblx0LmlpbF9fbGF5b3V0IHtcblx0XHRkaXNwbGF5OiBmbGV4O1xuXHRcdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cdFx0Z2FwOiAzMnB4O1xuXHRcdC8vIENvbnN0cmFpbiB0aGUgdHdvLWNvbHVtbiBjb250ZW50IGFuZCBjZW50ZXIgaXQgd2l0aGluIHRoZSB3aWRlclxuXHRcdC8vIHNlY3Rpb24gc28gdGhlIGltYWdlICsgdGV4dCBwdWxsIGluIHRvd2FyZCB0aGUgbWlkZGxlLlxuXHRcdG1heC13aWR0aDogMTA0MHB4O1xuXHRcdG1hcmdpbjogMCBhdXRvO1xuXG5cdFx0QGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChsZykge1xuXHRcdFx0ZmxleC1kaXJlY3Rpb246IHJvdztcblx0XHRcdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdFx0XHRnYXA6IDU2cHg7XG5cdFx0fVxuXHR9XG5cblx0LmlpbF9fY29udGVudCB7XG5cdFx0ZmxleDogMSAxIDUwJTtcblx0XHRtaW4td2lkdGg6IDA7XG5cdH1cblxuXHQuaWlsX19tZWRpYSB7XG5cdFx0ZmxleDogMSAxIDUwJTtcblx0XHRtaW4td2lkdGg6IDA7XG5cdFx0cG9zaXRpb246IHJlbGF0aXZlOyAvLyBwb3NpdGlvbmluZyBjb250ZXh0IGZvciB0aGUgOjpiZWZvcmUgd2FzaFxuXG5cdFx0Ly8gUHVycGxlIGdyYWRpZW50IG92ZXJsYXkgb24gdGhlIGltYWdlIChkYXJrZW5zIHRvd2FyZCB0aGUgYm90dG9tKS5cblx0XHQmOjpiZWZvcmUge1xuXHRcdFx0Y29udGVudDogXCJcIjtcblx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHRcdGluc2V0OiAwO1xuXHRcdFx0Ym9yZGVyLXJhZGl1czogNnB4O1xuXHRcdFx0Ly8gRW5kIHN0b3Agc29mdGVuZWQgZnJvbSAuODAgLT4gLjU1IC0+IC40MDsgdGhlIHdhc2ggd2FzIHJlYWRpbmcgdG9vIGhlYXZ5LlxuXHRcdFx0Ly9cblx0XHRcdC8vIEZpcnN0IHN0b3AgbW92ZWQgZnJvbSAtNzAuMDMlIHRvIDAlIHRvIGxpZ2h0ZW4gdGhlIHRvcC4gQXQgLTcwLjAzJVxuXHRcdFx0Ly8gdGhlIHRyYW5zcGFyZW50IGVuZCBzYXQgfjcwJSBhYm92ZSB0aGUgYm94LCBzbyBieSB0aGUgdG9wIGVkZ2UgdGhlXG5cdFx0XHQvLyByYW1wIHdhcyBhbHJlYWR5IH40MiUgZWxhcHNlZCAofi4xNyBhbHBoYSkg4oCUIHRoZSBpbWFnZSBuZXZlciBnb3QgYVxuXHRcdFx0Ly8gY2xlYXIgZWRnZS4gU3RhcnRpbmcgYXQgMCUgbWFrZXMgdGhlIHRvcCB0cnVseSB0cmFuc3BhcmVudCBhbmQgbGV0c1xuXHRcdFx0Ly8gdGhlIGRhcmtlbmluZyBidWlsZCBhY3Jvc3MgdGhlIGltYWdlJ3Mgb3duIGhlaWdodDsgdGhlIGJvdHRvbSBzdGlsbFxuXHRcdFx0Ly8gbGFuZHMgb24gLjQwLlxuXHRcdFx0Ly9cblx0XHRcdC8vIDE4MmRlZyAoYSBGaWdtYSBleHBvcnQgYXJ0aWZhY3QpIGNhbnRlZCB0aGUgYXhpcyAyZGVnLCBwdXR0aW5nIHRoZVxuXHRcdFx0Ly8gZGFya2VzdCBwb2ludCBhdCB0aGUgYm90dG9tLWxlZnQgY29ybmVyIGFuZCB0aGUgbGlnaHRlc3QgYXQgdGhlXG5cdFx0XHQvLyB0b3AtcmlnaHQuIDE4MGRlZyBpcyBzdHJhaWdodCBkb3duLCBzbyBhbGwgZm91ciBjb3JuZXJzIG1hdGNoLlxuXHRcdFx0YmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDE4MGRlZywgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjAwKSAwJSwgcmdiYSgzNSwgMCwgNzUsIDAuNDApIDk4LjU3JSk7XG5cdFx0XHRwb2ludGVyLWV2ZW50czogbm9uZTtcblx0XHR9XG5cdH1cblxuXHQuaWlsX19pbWFnZSB7XG5cdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0d2lkdGg6IDEwMCU7XG5cdFx0aGVpZ2h0OiBhdXRvO1xuXHRcdGJvcmRlci1yYWRpdXM6IDZweDtcblx0XHRvYmplY3QtZml0OiBjb3Zlcjtcblx0fVxuXG5cdC8vIC0tLS0gSXRlbSBsaXN0IC0tLS1cblx0LmlpbF9fbGlzdCB7XG5cdFx0ZGlzcGxheTogZmxleDtcblx0XHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXHR9XG5cblx0Ly8gQWNjb3JkaW9uIGl0ZW1zIGdldCBhIGRpdmlkZXI7IHN0YXRpYyBpdGVtcyBqdXN0IGdldCB2ZXJ0aWNhbCByaHl0aG0uXG5cdC5paWxfX2l0ZW0ge1xuXHRcdCYgKyAuaWlsX19pdGVtIHtcblx0XHRcdG1hcmdpbi10b3A6IDI0cHg7XG5cdFx0fVxuXHR9XG5cblx0LmlpbF9faXRlbS10aXRsZSB7XG5cdFx0Zm9udC1mYW1pbHk6ICRhdmVuaXItYm9sZDtcblx0XHRmb250LXNpemU6IDI1cHg7XG5cdFx0bGluZS1oZWlnaHQ6IDEuMztcblx0XHRjb2xvcjogJHByaW1hcnktMTAwO1xuXHRcdG1hcmdpbjogMDtcblx0fVxuXG5cdC8vIFN0YXRpYy1saXN0IG1vZGUgKGRhdGEtYWNjb3JkaW9uPVwiMFwiKSB1c2VzIGEgc2xpZ2h0bHkgc21hbGxlciB0aXRsZS5cblx0JltkYXRhLWFjY29yZGlvbj1cIjBcIl0gLmlpbF9faXRlbS10aXRsZSB7XG5cdFx0Zm9udC1zaXplOiAyMnB4O1xuXHR9XG5cblx0LmlpbF9faXRlbS1kZXNjIHtcblx0XHRmb250LWZhbWlseTogJGF2ZW5pci1tZWQ7XG5cdFx0Zm9udC1zaXplOiAxNnB4O1xuXHRcdGxpbmUtaGVpZ2h0OiAxLjU7XG5cdFx0Y29sb3I6ICRwcmltYXJ5LTEwMDtcblx0XHRtYXJnaW46IDhweCAwIDA7XG5cdH1cblxuXHQvLyBcIkxlYXJuIG1vcmVcIiBsaW5rIOKAlCBidW1wIHRoZSBzZWxlY3RvciBjaGFpbiBwYXN0IHRoZSBnbG9iYWxcblx0Ly8gYGE6bm90KC5idG4sLi4uKWAgYnJpZ2h0LWJsdWUgcnVsZSAoc2VlIF90eXBvZ3JhcGh5LnNjc3MpLlxuXHQuaWlsX19pdGVtLWxpbmsge1xuXHRcdGRpc3BsYXk6IGlubGluZS1mbGV4O1xuXHRcdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdFx0Z2FwOiAxMHB4O1xuXHRcdG1hcmdpbi10b3A6IDEycHg7XG5cdFx0Zm9udC1mYW1pbHk6ICRhdmVuaXItYm9sZDtcblx0XHRmb250LXNpemU6IDE4cHg7XG5cdFx0dGV4dC1kZWNvcmF0aW9uOiBub25lO1xuXG5cdFx0Jixcblx0XHQmOmxpbmssXG5cdFx0Jjp2aXNpdGVkIHtcblx0XHRcdGNvbG9yOiAkcHJpbWFyeS0xMDA7XG5cdFx0fVxuXG5cdFx0Jjpob3Zlcixcblx0XHQmOmZvY3VzLXZpc2libGUge1xuXHRcdFx0Y29sb3I6ICRwcmltYXJ5LTUwO1xuXHRcdH1cblxuXHRcdC5paWxfX2Fycm93IHtcblx0XHRcdHdpZHRoOiAyNHB4O1xuXHRcdFx0aGVpZ2h0OiA4cHg7XG5cdFx0XHRmbGV4LXNocmluazogMDtcblx0XHR9XG5cdH1cblxuXHQvLyAtLS0tIEFjY29yZGlvbiBtb2RlIC0tLS1cblx0LmlpbF9faXRlbS10b2dnbGUge1xuXHRcdGRpc3BsYXk6IGlubGluZS1mbGV4O1xuXHRcdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdFx0Z2FwOiAxMHB4O1xuXHRcdHdpZHRoOiBhdXRvO1xuXHRcdG1heC13aWR0aDogMTAwJTtcblx0XHRwYWRkaW5nOiAwO1xuXHRcdGJhY2tncm91bmQ6IG5vbmU7XG5cdFx0Ym9yZGVyOiAwO1xuXHRcdHRleHQtYWxpZ246IGxlZnQ7XG5cdFx0Y3Vyc29yOiBwb2ludGVyO1xuXHRcdGNvbG9yOiAkcHJpbWFyeS0xMDA7XG5cblx0XHQmOmZvY3VzLXZpc2libGUge1xuXHRcdFx0b3V0bGluZTogMnB4IHNvbGlkICRwcmltYXJ5LTEwMDtcblx0XHRcdG91dGxpbmUtb2Zmc2V0OiA0cHg7XG5cdFx0fVxuXG5cdFx0LmlpbF9fY2hldnJvbiB7XG5cdFx0XHR3aWR0aDogMTZweDtcblx0XHRcdGhlaWdodDogMTZweDtcblx0XHRcdGZsZXgtc2hyaW5rOiAwO1xuXHRcdFx0dHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuM3MgZWFzZTtcblx0XHR9XG5cdH1cblxuXHQuaWlsX19pdGVtLmlzLW9wZW4gLmlpbF9faXRlbS10b2dnbGUgLmlpbF9fY2hldnJvbiB7XG5cdFx0dHJhbnNmb3JtOiByb3RhdGUoMTgwZGVnKTtcblx0fVxuXG5cdC8vIENvbGxhcHNpYmxlIGJvZHkg4oCUIGFuaW1hdGVkIHZpYSBtYXgtaGVpZ2h0IGJ5IHRoZSBKUy5cblx0LmlpbF9faXRlbS1ib2R5IHtcblx0XHRvdmVyZmxvdzogaGlkZGVuO1xuXHRcdG1heC1oZWlnaHQ6IDA7XG5cdFx0dHJhbnNpdGlvbjogbWF4LWhlaWdodCAwLjNzIGVhc2U7XG5cblx0XHQmW2hpZGRlbl0ge1xuXHRcdFx0ZGlzcGxheTogbm9uZTtcblx0XHR9XG5cdH1cblxuXHQvLyAtLS0tIEJsb2NrLWxldmVsIENUQSAtLS0tXG5cdC5paWxfX2N0YS1yb3cge1xuXHRcdGRpc3BsYXk6IGZsZXg7XG5cdFx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cdFx0bWFyZ2luLXRvcDogNDBweDtcblx0fVxuXG5cdC5paWxfX2N0YSB7XG5cdFx0ZGlzcGxheTogaW5saW5lLWZsZXg7XG5cdFx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0XHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblx0XHRwYWRkaW5nOiAxNHB4IDI4cHg7XG5cdFx0YmFja2dyb3VuZC1jb2xvcjogJHNlY29uZGFyeS1nb2xkO1xuXHRcdGJvcmRlcjogMXB4IHNvbGlkICRzZWNvbmRhcnktZ29sZDtcblx0XHRib3JkZXItcmFkaXVzOiAzcHg7XG5cdFx0Zm9udC1mYW1pbHk6ICRhdmVuaXItbWVkO1xuXHRcdGZvbnQtc2l6ZTogMS4xMjVyZW07XG5cdFx0Zm9udC13ZWlnaHQ6IDUwMDtcblx0XHRsaW5lLWhlaWdodDogMTtcblx0XHRjb2xvcjogJHByaW1hcnktMTAwO1xuXHRcdHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblx0XHR0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuM3MgZWFzZSwgYm9yZGVyLWNvbG9yIDAuM3MgZWFzZTtcblxuXHRcdCYsXG5cdFx0JjpsaW5rLFxuXHRcdCY6dmlzaXRlZCxcblx0XHQmOmhvdmVyLFxuXHRcdCY6Zm9jdXMge1xuXHRcdFx0Y29sb3I6ICRwcmltYXJ5LTEwMDtcblx0XHRcdHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblx0XHR9XG5cblx0XHQmOmhvdmVyIHtcblx0XHRcdGJhY2tncm91bmQtY29sb3I6IGRhcmtlbigkc2Vjb25kYXJ5LWdvbGQsIDYlKTtcblx0XHRcdGJvcmRlci1jb2xvcjogZGFya2VuKCRzZWNvbmRhcnktZ29sZCwgNiUpO1xuXHRcdH1cblxuXHRcdCY6Zm9jdXMtdmlzaWJsZSB7XG5cdFx0XHRvdXRsaW5lOiAycHggc29saWQgJHByaW1hcnktMTAwO1xuXHRcdFx0b3V0bGluZS1vZmZzZXQ6IDJweDtcblx0XHR9XG5cdH1cbn1cbiIsIi8vIFByaW1hcnlcbiRibHVlOiAgICBcdFx0IzMyMEZGRjtcbiRkYXJrLWJsdWU6ICAgIFx0IzQxMzI5QjtcbiRpbmstYmx1ZS0xMDA6XHQjMjMwMDRCO1xuJGluay1ibHVlLTkwOlx0IzI4MEE1RjtcbiRpbmstYmx1ZS03MDpcdCMzMjE0Nzg7XG4kaW5rLWJsdWUtNTA6XHQjNDEzMjlCO1xuJGluay1ibHVlLTMwOlx0IzVGNUZDMztcbiRpbmstYmx1ZS0xMDpcdCM4MjhDRTE7XG4kaW5rLWJsdWUtODpcdCNDREQxRjM7XG4kaW5rLWJsdWUtNTpcdCNmN2Y2ZmY7XG4kcHJpbWFyeTpcdCAgXHQkYmx1ZTtcbiRwcmltYXJ5LWRhcms6IFx0JGRhcmstYmx1ZTtcbiRwcmltYXJ5LTEwMDogXHQkaW5rLWJsdWUtMTAwO1xuJHByaW1hcnktOTA6IFx0JGluay1ibHVlLTkwO1xuJHByaW1hcnktNzA6IFx0JGluay1ibHVlLTcwO1xuJHByaW1hcnktNTA6IFx0JGluay1ibHVlLTUwO1xuJHByaW1hcnktMzA6IFx0JGluay1ibHVlLTMwO1xuJHByaW1hcnktMTA6IFx0JGluay1ibHVlLTEwO1xuJHByaW1hcnktODogXHQkaW5rLWJsdWUtODtcbiRwcmltYXJ5LTU6IFx0JGluay1ibHVlLTU7XG5cblxuLy8gU2Vjb25kYXJ5XG4kcmVkOlx0XHRcdCNFNjFFMkQ7XG4kYnJpZ2h0LWJsdWU6XHQjMzIwRkZGO1xuJGdvbGQ6XHRcdFx0I0ZGQkUwMDtcblxuJHNlY29uZGFyeS1yZWQ6XHRcdCRyZWQ7XG4kc2Vjb25kYXJ5LWJsdWU6XHQkYnJpZ2h0LWJsdWU7XG4kc2Vjb25kYXJ5LWdvbGQ6XHQkZ29sZDtcblxuLy8gTmV1dHJhbFxuJGJsYWNrOiBcdCMwMDAwMDA7XG4kZGFyay1ncmF5OiAjNzk3Mjc5O1xuJHdhcm0tZ3JheTpcdCNCNEI0Qjk7XG4kc25vdy1ncmF5OiAjRjBGMEYxO1xuJHdoaXRlOiBcdCNGRkZGRkY7XG5cblxuLy8gRXh0cmFzXG4kY29sb3JzOiAoXG5cdCdwcmltYXJ5J1x0XHRcdDogJHByaW1hcnksXG5cdCdwcmltYXJ5LWRhcmsnXHRcdDogJHByaW1hcnktZGFyayxcblx0J3ByaW1hcnktMTAwJyBcdFx0OiAkcHJpbWFyeS0xMDAsXG5cdCdwcmltYXJ5LTkwJyBcdFx0OiAkcHJpbWFyeS05MCxcblx0J3ByaW1hcnktNzAnIFx0XHQ6ICRwcmltYXJ5LTcwLFxuXHQncHJpbWFyeS01MCcgXHRcdDogJHByaW1hcnktNTAsXG5cdCdwcmltYXJ5LTMwJyBcdFx0OiAkcHJpbWFyeS0zMCxcblx0J3ByaW1hcnktMTAnIFx0XHQ6ICRwcmltYXJ5LTEwLFxuXHQncHJpbWFyeS04JyBcdFx0OiAkcHJpbWFyeS04LFxuXHQncHJpbWFyeS01JyBcdFx0OiAkcHJpbWFyeS01LFxuXHQncmVkJ1x0XHRcdFx0OiAkc2Vjb25kYXJ5LXJlZCxcblx0J2JyaWdodC1ibHVlJ1x0XHQ6ICRzZWNvbmRhcnktYmx1ZSxcblx0J2dvbGQnXHRcdFx0XHQ6ICRzZWNvbmRhcnktZ29sZCxcblx0J3dhcm0tZ3JheSdcdFx0XHQ6ICR3YXJtLWdyYXksXG5cdCdkYXJrLWdyYXknXHRcdFx0OiAkZGFyay1ncmF5LFxuXHQnYmxhY2snXHRcdFx0XHQ6ICRibGFjayxcblx0J3doaXRlJ1x0XHRcdFx0OiAkd2hpdGVcbik7XG5cbi8vIFNhbi1zZXJpZiBGb250c1xuJGF2ZW5pci1yZWc6ICdBdmVuaXIgTFQgUHJvIFJlZ3VsYXInLCBzYW5zLXNlcmlmICFkZWZhdWx0O1xuJGF2ZW5pci1tZWQ6ICdBdmVuaXIgTFQgUHJvIE1lZGl1bScsIHNhbnMtc2VyaWYgIWRlZmF1bHQ7XG4kYXZlbmlyLWRlbWk6ICdBdmVuaXIgTFQgUHJvIERlbWknLCBzYW5zLXNlcmlmICFkZWZhdWx0O1xuJGF2ZW5pci1ib2xkOiAnQXZlbmlyIExUIFBybyBCb2xkJywgc2Fucy1zZXJpZiAhZGVmYXVsdDtcblxuLy8gU2VyaWYgRm9udHNcbiRnZW9yZ2lhOiAnR2VvcmdpYScsIHNlcmlmICFkZWZhdWx0OyIsIkB1c2UgJ3Nhc3M6bWF0aCc7XG5cbi8vIFNvbWUgaG91c2UgbWl4aW5zOlxuQGZ1bmN0aW9uIHVybEVuY29kZUNvbG9yKCRzdHJpbmcpe1xuXHRAaWYgdHlwZS1vZigkc3RyaW5nKSA9PSAnY29sb3Ine1xuXHRcdCRoZXg6IHN0ci1zbGljZShpZS1oZXgtc3RyKCRzdHJpbmcpLCA0KTtcblx0XHQkc3RyaW5nOiB1bnF1b3RlKFwiI3skaGV4fVwiKTtcblx0fVxuXHQkc3RyaW5nOiAnJTIzJyArICRzdHJpbmc7XG5cdEByZXR1cm4gJHN0cmluZztcbn1cbkBmdW5jdGlvbiBzdHJpcC11bml0KCR2YWx1ZSl7XG5cdEByZXR1cm4gbWF0aC5kaXYoJHZhbHVlLCAkdmFsdWUgKiAwICsgMSk7XG59XG5AbWl4aW4gZmx1aWQtdHlwZSgkbWluLXZ3LCAkbWF4LXZ3LCAkbWluLWZvbnQtc2l6ZSwgJG1heC1mb250LXNpemUpe1xuXHQkdTE6IHVuaXQoJG1pbi12dyk7XG5cdCR1MjogdW5pdCgkbWF4LXZ3KTtcblx0JHUzOiB1bml0KCRtaW4tZm9udC1zaXplKTtcblx0JHU0OiB1bml0KCRtYXgtZm9udC1zaXplKTtcblx0QGlmICR1MSA9PSAkdTIgYW5kICR1MSA9PSAkdTMgYW5kICR1MSA9PSAkdTR7XG5cdFx0Jntcblx0XHRcdGZvbnQtc2l6ZTogJG1pbi1mb250LXNpemU7XG5cdFx0XHRAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAkbWluLXZ3KXtcblx0XHRcdFx0Zm9udC1zaXplOiBjYWxjKCN7JG1pbi1mb250LXNpemV9ICsgI3tzdHJpcC11bml0KCRtYXgtZm9udC1zaXplIC0gJG1pbi1mb250LXNpemUpfSAqICgoMTAwdncgLSAjeyRtaW4tdnd9KSAvICN7c3RyaXAtdW5pdCgkbWF4LXZ3IC0gJG1pbi12dyl9KSk7XG5cdFx0XHR9XG5cdFx0XHRAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAkbWF4LXZ3KXtcblx0XHRcdFx0Zm9udC1zaXplOiAkbWF4LWZvbnQtc2l6ZTtcblx0XHRcdH1cblx0XHR9XG5cdH1cbn1cbi8vIOKUgOKUgOKUgCBWMiBzZWN0aW9uIHJoeXRobSDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIBcbi8vIFRoZSBzaW5nbGUgdmVydGljYWwgcGFkZGluZyB0b2tlbiBldmVyeSBWMiBzZWN0aW9uIGJsb2NrIHVzZXMuIEJlZm9yZSB0aGlzXG4vLyBleGlzdGVkLCAyNiBWMiBibG9ja3MgY2FycmllZCAxMyBkaWZmZXJlbnQgdG9wL2JvdHRvbSBwYWlyaW5ncyBzdGVwcGluZyBhdFxuLy8gdHdvIGRpZmZlcmVudCBicmVha3BvaW50czsgNDgg4oaSIDgwIGlzIHRoZSBtZWRpYW4gb2Ygd2hhdCB3YXMgYWxyZWFkeSB0aGVyZVxuLy8gYW5kIGltYWdlLWFuZC1pdGVtLWxpc3QtVjIgLyByZXNvdXJjZS1jYXJvdXNlbC1WMiAvIHNvY2lhbC1wcm9vZi12MiBhbHJlYWR5XG4vLyBtYXRjaGVkIGl0IGV4YWN0bHksIHNvIGl0IGlzIHRoZSBzbWFsbGVzdCB0b3RhbCBtb3ZlLlxuLy9cbi8vIFN0ZXBwaW5nIGF0IGBsZ2AgKG5vdCBgbWRgKSBpcyBkZWxpYmVyYXRlOiBpdCBsaW5lcyB0aGUgdmVydGljYWwgc3RlcCB1cCB3aXRoXG4vLyB0aGUgaG9yaXpvbnRhbCBndXR0ZXIgcmFtcCAoMS41cmVtIOKGkiA2cmVtIEBsZykgdGhhdCAxOSBibG9ja3MgYWxyZWFkeSB1c2UsIHNvXG4vLyBhIHNlY3Rpb24gY2hhbmdlcyBpdHMgc3BhY2luZyBpbiBvbmUgZGlyZWN0aW9uIGF0IG9uZSB3aWR0aC5cbi8vXG4vLyBgJHNpZGVzYCBsZXRzIGEgYmxvY2sgdGFrZSB0aGUgdG9rZW4gb24gb25lIGVkZ2Ugd2hpbGUgb3duaW5nIHRoZSBvdGhlciDigJRcbi8vIGNhcGFiaWxpdGllcy1WMiBuZWVkcyBpdHMgb3duIGJvdHRvbSAoaXQgcmVzZXJ2ZXMgNjBweCBmb3IgYW4gYWJzb2x1dGVseVxuLy8gcG9zaXRpb25lZCBlbGVtZW50KS4gQW55dGhpbmcgb3B0aW5nIG91dCBlbnRpcmVseSBqdXN0IGRvZXNuJ3QgaW5jbHVkZSB0aGlzLlxuJHYyLXNlY3Rpb24tcGFkZGluZy1zbTogNDhweDtcbiR2Mi1zZWN0aW9uLXBhZGRpbmctbGc6IDgwcHg7XG5cbkBtaXhpbiB2Mi1zZWN0aW9uLXBhZGRpbmcoJHNpZGVzOiBib3RoKSB7XG5cdEBpZiAkc2lkZXMgPT0gYm90aCBvciAkc2lkZXMgPT0gdG9wIHtcblx0XHRwYWRkaW5nLXRvcDogJHYyLXNlY3Rpb24tcGFkZGluZy1zbTtcblx0fVxuXHRAaWYgJHNpZGVzID09IGJvdGggb3IgJHNpZGVzID09IGJvdHRvbSB7XG5cdFx0cGFkZGluZy1ib3R0b206ICR2Mi1zZWN0aW9uLXBhZGRpbmctc207XG5cdH1cblxuXHRAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKGxnKSB7XG5cdFx0QGlmICRzaWRlcyA9PSBib3RoIG9yICRzaWRlcyA9PSB0b3Age1xuXHRcdFx0cGFkZGluZy10b3A6ICR2Mi1zZWN0aW9uLXBhZGRpbmctbGc7XG5cdFx0fVxuXHRcdEBpZiAkc2lkZXMgPT0gYm90aCBvciAkc2lkZXMgPT0gYm90dG9tIHtcblx0XHRcdHBhZGRpbmctYm90dG9tOiAkdjItc2VjdGlvbi1wYWRkaW5nLWxnO1xuXHRcdH1cblx0fVxufVxuLy8g4pSA4pSA4pSAIEdyYWRpZW50IHRleHQg4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSAXG4vLyBEZXNjZW5kZXIgcm9vbSBmb3IgZ3JhZGllbnQtY2xpcHBlZCB0ZXh0LlxuLy9cbi8vIFYyIGhlYWRpbmdzIHRha2UgdGhlaXIgY29sb3VyIGZyb20gYSBncmFkaWVudCAqYmFja2dyb3VuZCogY2xpcHBlZCB0byB0aGVcbi8vIGdseXBocyAoYGJhY2tncm91bmQtY2xpcDogdGV4dGAgcGx1cyBhIHRyYW5zcGFyZW50IHRleHQgZmlsbCkuIEEgYmFja2dyb3VuZFxuLy8gb25seSBwYWludHMgaW5zaWRlIHRoZSBlbGVtZW50J3MgYm94LCBzbyBpbmsgaGFuZ2luZyBiZWxvdyB0aGF0IGJveCBoYXNcbi8vIG5vdGhpbmcgdG8gcGFpbnQgd2l0aCBhbmQgc2ltcGx5IGRpc2FwcGVhcnMuIEl0IGRvZXNuJ3QgcmVhZCBhcyBjbGlwcGVkIOKAlFxuLy8gdGhlIGJvdHRvbSBsb29wIG9mIGEgXCJnXCIgb3IgdGhlIHRhaWwgb2YgYSBcInlcIiBpcyBqdXN0IGFic2VudCDigJQgd2hpY2ggaXMgd2h5XG4vLyBpdCBnb2VzIHVubm90aWNlZCB1bnRpbCBhbiBlZGl0b3IgaGFwcGVucyB0byB0eXBlIG9uZSBvbnRvIHRoZSBsYXN0IGxpbmUuXG4vL1xuLy8gVGhlIG92ZXJoYW5nIGlzIGEgY29uc2VxdWVuY2Ugb2YgdGhlIHRpZ2h0IGVkaXRvcmlhbCBsaW5lLWhlaWdodHMgdGhlIGRlc2lnbnNcbi8vIHVzZS4gQXZlbmlyJ3MgZGVzY2VuZGVyIGluayByZWFjaGVzIDAuMjQwZW0gYmVsb3cgdGhlIGJhc2VsaW5lLCBzbyBjbGlwcGluZ1xuLy8gYmVnaW5zIHdoZXJldmVyIGxpbmUtaGVpZ2h0IGRyb3BzIGJlbG93IH4xLjE3NCwgYW5kIG5vIFYyIGhlYWRpbmcgaXMgYWJvdmVcbi8vIHRoYXQuIE9ubHkgdGhlIGZpbmFsIGxpbmUgaXMgZXZlciBhZmZlY3RlZDsgaW50ZXJpb3IgbGluZXMgc2l0IGluc2lkZSB0aGUgYm94LlxuLy9cbi8vIDAuMWVtIGNvdmVycyB0aGUgd29yc3QgY2FzZSAoOTBweCBoZWFkbGluZXMgYXQgbGluZS1oZWlnaHQgMSkgd2l0aCBoZWFkcm9vbS5cbi8vIEluIGVtIHNvIGl0IHRyYWNrcyBhIGhlYWRpbmcncyByZXNwb25zaXZlIHNpemVzIOKAlCBpbmNsdWRpbmcgY2xhbXAoKSDigJQgd2l0aG91dFxuLy8gcGVyLWJyZWFrcG9pbnQgb3ZlcnJpZGVzLiBSYWlzaW5nIGxpbmUtaGVpZ2h0IHBhc3QgfjEuMTc0IHdvdWxkIGFsc28gZml4IGl0LFxuLy8gYnV0IHRoYXQgbG9vc2VucyBldmVyeSBsaW5lIG9mIGEgbXVsdGktbGluZSBoZWFkaW5nIGJ5IDEwLTE3JSBhbmQgdGhlIHRpZ2h0XG4vLyBzZXR0aW5nIGlzIHRoZSBkZXNpZ24uXG4vL1xuLy8gT25seSB0aGUgYm90dG9tIG5lZWRzIGl0OiB0aGUgdGFsbGVzdCBpbmsgaW4gdGhlIGZhY2Ugc2l0cyB3ZWxsIGluc2lkZSB0aGVcbi8vIGxpbmUgYm94IHRvcCwgc28gYXNjZW5kZXJzIGFscmVhZHkgaGF2ZSBjbGVhcmFuY2UuXG4vL1xuLy8gT25lIHNpZGUgZWZmZWN0IHdvcnRoIGtub3dpbmc6IGJhY2tncm91bmQtb3JpZ2luIGlzIHRoZSBwYWRkaW5nIGJveCwgc28gdGhpc1xuLy8gbGVuZ3RoZW5zIHRoZSBncmFkaWVudCdzIHBhaW50aW5nIGFyZWEgYnkgdGhlIHNhbWUgMC4xZW0uIFRoZSByYW1wIHN0cmV0Y2hlc1xuLy8gd2l0aCBpdCBhbmQgdGhlIGNvbG91cnMgbGFuZCBtYXJnaW5hbGx5IGxvd2VyIOKAlCB1bmRlciAxMCUgb2YgdGhlIHJhbXAgb24gYVxuLy8gc2luZ2xlLWxpbmUgaGVhZGluZywgcHJvcG9ydGlvbmFsbHkgbGVzcyBhcyBsaW5lcyBhcmUgYWRkZWQuIERlbGliZXJhdGVseSBub3Rcbi8vIGNvbXBlbnNhdGVkIHdpdGggYSBuZWdhdGl2ZSBtYXJnaW4gaGVyZTogYSBibG9jayB0aGF0IHNldHMgbWFyZ2luLWJvdHRvbVxuLy8gYWZ0ZXIgdGhlIGluY2x1ZGUgd291bGQgc2lsZW50bHkgY2FuY2VsIGl0LlxuLy9cbi8vIFRoZSByb29tIGEgZ2l2ZW4gc2V0dGluZyBhY3R1YWxseSBuZWVkcywgaW4gZW0sIGlzXG4vL1xuLy8gICBpbmtfZGVzY2VudCAtIGZvbnRfZGVzY2VudCArIChjb250ZW50X2FyZWEgLSBsaW5lX2hlaWdodCkgLyAyXG4vL1xuLy8gd2hpY2ggZm9yIHRoZSB0aHJlZSBmYWNlcyBpbiBwbGF5IHB1dHMgdGhlIGNsaXBwaW5nIHRocmVzaG9sZCBhdFxuLy9cbi8vICAgQXZlbmlyIExUIFBybyBCb2xkICAgICBpbmsgMC4yNDAyICBkZXNjZW50IDAuMjcwMCAgY29udGVudCAxLjIzMjUgIGxoIDwgMS4xNzNcbi8vICAgQXZlbmlyIExUIFBybyBNZWRpdW0gICBpbmsgMC4yNDAyICBkZXNjZW50IDAuMjcwMCAgY29udGVudCAxLjIyMDAgIGxoIDwgMS4xNjBcbi8vICAgQXZlbmlyIE5leHQgICAgICAgICAgICBpbmsgMC4yNDAwICBkZXNjZW50IDAuMzY1MCAgY29udGVudCAxLjM2NTAgIGxoIDwgMS4xMTVcbi8vXG4vLyBBdmVuaXIgTmV4dCdzIGRlZXBlciBkZXNjZW50IG1ldHJpYyBidXlzIGl0IDAuMDZlbSBvZiBzbGFjayB0aGUgTFQgUHJvIGZhY2VzXG4vLyBkb24ndCBoYXZlLCB3aGljaCBpcyB3aHkgdGhlIHR3byBhY2NvcmRpb24gaGVhZGluZ3MgYXQgbGluZS1oZWlnaHQgMS4xNSBkb24ndFxuLy8gY2xpcCB3aGlsZSB0aGUgTFQgUHJvIGhlYWRpbmdzIGF0IDEuMTExIGRvLiAoQ2hlY2tlZCB0aGUgV2luZG93cyBmYWxsYmFjayB0b286XG4vLyBnZW5lcmljIHNhbnMtc2VyaWYgaXMgMC4yMjEyIC8gMC4yMzAwIC8gMS4xNTAwLCB0aHJlc2hvbGQgMS4xMzIsIGFsc28gY2xlYXIuKVxuLy9cbi8vICRyb29tIGV4aXN0cyBmb3IgdGhlIHNoYWxsb3cgdGllci4gRWxldmVuIDQ1cHgvNTBweCBoZWFkaW5ncyBvdmVyaGFuZyBieVxuLy8gMS40cHg7IHRoZSBkZWZhdWx0IDAuMWVtIHdvdWxkIGZpeCB0aGF0IGF0IGEgY29zdCBvZiA0LjVweCBvZiBleHRyYSBnYXBcbi8vIHVuZGVyIGVhY2ggb25lLCBzbyB0aGV5IHRha2UgMC4wNWVtIGluc3RlYWQg4oCUIDIuMjVweCwgc3RpbGwgNjAlIGhlYWRyb29tIG92ZXIgdGhlIDEuNHB4LFxuLy8gZm9yIGEgZ2FwIGNoYW5nZSB0aGF0IHN0YXlzIHVuZGVyIHRoZSAycHggdGhlIGluayBpdHNlbGYgb2NjdXBpZXMuIEFueXRoaW5nXG4vLyBkZWVwZXIgdGhhbiB+Mi41cHggc2hvdWxkIHRha2UgdGhlIGRlZmF1bHQuXG5AbWl4aW4gdjItZ3JhZGllbnQtdGV4dC1kZXNjZW5kZXItcm9vbSgkcm9vbTogMC4xZW0pIHtcblx0cGFkZGluZy1ib3R0b206ICRyb29tO1xufVxuIiwiLy8gQnJlYWtwb2ludCB2aWV3cG9ydCBzaXplcyBhbmQgbWVkaWEgcXVlcmllcy5cbi8vXG4vLyBCcmVha3BvaW50cyBhcmUgZGVmaW5lZCBhcyBhIG1hcCBvZiAobmFtZTogbWluaW11bSB3aWR0aCksIG9yZGVyIGZyb20gc21hbGwgdG8gbGFyZ2U6XG4vL1xuLy8gICAgKHhzOiAwLCBzbTogNTc2cHgsIG1kOiA3NjhweCwgbGc6IDk5MnB4LCB4bDogMTIwMHB4LCB4eGw6IDE0MDBweClcbi8vXG4vLyBUaGUgbWFwIGRlZmluZWQgaW4gdGhlIGAkZ3JpZC1icmVha3BvaW50c2AgZ2xvYmFsIHZhcmlhYmxlIGlzIHVzZWQgYXMgdGhlIGAkYnJlYWtwb2ludHNgIGFyZ3VtZW50IGJ5IGRlZmF1bHQuXG5cbi8vIE5hbWUgb2YgdGhlIG5leHQgYnJlYWtwb2ludCwgb3IgbnVsbCBmb3IgdGhlIGxhc3QgYnJlYWtwb2ludC5cbi8vXG4vLyAgICA+PiBicmVha3BvaW50LW5leHQoc20pXG4vLyAgICBtZFxuLy8gICAgPj4gYnJlYWtwb2ludC1uZXh0KHNtLCAoeHM6IDAsIHNtOiA1NzZweCwgbWQ6IDc2OHB4LCBsZzogOTkycHgsIHhsOiAxMjAwcHgsIHh4bDogMTQwMHB4KSlcbi8vICAgIG1kXG4vLyAgICA+PiBicmVha3BvaW50LW5leHQoc20sICRicmVha3BvaW50LW5hbWVzOiAoeHMgc20gbWQgbGcgeGwgeHhsKSlcbi8vICAgIG1kXG5AZnVuY3Rpb24gYnJlYWtwb2ludC1uZXh0KCRuYW1lLCAkYnJlYWtwb2ludHM6ICRncmlkLWJyZWFrcG9pbnRzLCAkYnJlYWtwb2ludC1uYW1lczogbWFwLWtleXMoJGJyZWFrcG9pbnRzKSkge1xuICAkbjogaW5kZXgoJGJyZWFrcG9pbnQtbmFtZXMsICRuYW1lKTtcbiAgQGlmIG5vdCAkbiB7XG4gICAgQGVycm9yIFwiYnJlYWtwb2ludCBgI3skbmFtZX1gIG5vdCBmb3VuZCBpbiBgI3skYnJlYWtwb2ludHN9YFwiO1xuICB9XG4gIEByZXR1cm4gaWYoJG4gPCBsZW5ndGgoJGJyZWFrcG9pbnQtbmFtZXMpLCBudGgoJGJyZWFrcG9pbnQtbmFtZXMsICRuICsgMSksIG51bGwpO1xufVxuXG4vLyBNaW5pbXVtIGJyZWFrcG9pbnQgd2lkdGguIE51bGwgZm9yIHRoZSBzbWFsbGVzdCAoZmlyc3QpIGJyZWFrcG9pbnQuXG4vL1xuLy8gICAgPj4gYnJlYWtwb2ludC1taW4oc20sICh4czogMCwgc206IDU3NnB4LCBtZDogNzY4cHgsIGxnOiA5OTJweCwgeGw6IDEyMDBweCwgeHhsOiAxNDAwcHgpKVxuLy8gICAgNTc2cHhcbkBmdW5jdGlvbiBicmVha3BvaW50LW1pbigkbmFtZSwgJGJyZWFrcG9pbnRzOiAkZ3JpZC1icmVha3BvaW50cykge1xuICAkbWluOiBtYXAtZ2V0KCRicmVha3BvaW50cywgJG5hbWUpO1xuICBAcmV0dXJuIGlmKCRtaW4gIT0gMCwgJG1pbiwgbnVsbCk7XG59XG5cbi8vIE1heGltdW0gYnJlYWtwb2ludCB3aWR0aC5cbi8vIFRoZSBtYXhpbXVtIHZhbHVlIGlzIHJlZHVjZWQgYnkgMC4wMnB4IHRvIHdvcmsgYXJvdW5kIHRoZSBsaW1pdGF0aW9ucyBvZlxuLy8gYG1pbi1gIGFuZCBgbWF4LWAgcHJlZml4ZXMgYW5kIHZpZXdwb3J0cyB3aXRoIGZyYWN0aW9uYWwgd2lkdGhzLlxuLy8gU2VlIGh0dHBzOi8vd3d3LnczLm9yZy9UUi9tZWRpYXF1ZXJpZXMtNC8jbXEtbWluLW1heFxuLy8gVXNlcyAwLjAycHggcmF0aGVyIHRoYW4gMC4wMXB4IHRvIHdvcmsgYXJvdW5kIGEgY3VycmVudCByb3VuZGluZyBidWcgaW4gU2FmYXJpLlxuLy8gU2VlIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNzgyNjFcbi8vXG4vLyAgICA+PiBicmVha3BvaW50LW1heChtZCwgKHhzOiAwLCBzbTogNTc2cHgsIG1kOiA3NjhweCwgbGc6IDk5MnB4LCB4bDogMTIwMHB4LCB4eGw6IDE0MDBweCkpXG4vLyAgICA3NjcuOThweFxuQGZ1bmN0aW9uIGJyZWFrcG9pbnQtbWF4KCRuYW1lLCAkYnJlYWtwb2ludHM6ICRncmlkLWJyZWFrcG9pbnRzKSB7XG4gICRtYXg6IG1hcC1nZXQoJGJyZWFrcG9pbnRzLCAkbmFtZSk7XG4gIEByZXR1cm4gaWYoJG1heCBhbmQgJG1heCA+IDAsICRtYXggLSAuMDIsIG51bGwpO1xufVxuXG4vLyBSZXR1cm5zIGEgYmxhbmsgc3RyaW5nIGlmIHNtYWxsZXN0IGJyZWFrcG9pbnQsIG90aGVyd2lzZSByZXR1cm5zIHRoZSBuYW1lIHdpdGggYSBkYXNoIGluIGZyb250LlxuLy8gVXNlZnVsIGZvciBtYWtpbmcgcmVzcG9uc2l2ZSB1dGlsaXRpZXMuXG4vL1xuLy8gICAgPj4gYnJlYWtwb2ludC1pbmZpeCh4cywgKHhzOiAwLCBzbTogNTc2cHgsIG1kOiA3NjhweCwgbGc6IDk5MnB4LCB4bDogMTIwMHB4LCB4eGw6IDE0MDBweCkpXG4vLyAgICBcIlwiICAoUmV0dXJucyBhIGJsYW5rIHN0cmluZylcbi8vICAgID4+IGJyZWFrcG9pbnQtaW5maXgoc20sICh4czogMCwgc206IDU3NnB4LCBtZDogNzY4cHgsIGxnOiA5OTJweCwgeGw6IDEyMDBweCwgeHhsOiAxNDAwcHgpKVxuLy8gICAgXCItc21cIlxuQGZ1bmN0aW9uIGJyZWFrcG9pbnQtaW5maXgoJG5hbWUsICRicmVha3BvaW50czogJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgQHJldHVybiBpZihicmVha3BvaW50LW1pbigkbmFtZSwgJGJyZWFrcG9pbnRzKSA9PSBudWxsLCBcIlwiLCBcIi0jeyRuYW1lfVwiKTtcbn1cblxuLy8gTWVkaWEgb2YgYXQgbGVhc3QgdGhlIG1pbmltdW0gYnJlYWtwb2ludCB3aWR0aC4gTm8gcXVlcnkgZm9yIHRoZSBzbWFsbGVzdCBicmVha3BvaW50LlxuLy8gTWFrZXMgdGhlIEBjb250ZW50IGFwcGx5IHRvIHRoZSBnaXZlbiBicmVha3BvaW50IGFuZCB3aWRlci5cbkBtaXhpbiBtZWRpYS1icmVha3BvaW50LXVwKCRuYW1lLCAkYnJlYWtwb2ludHM6ICRncmlkLWJyZWFrcG9pbnRzKSB7XG4gICRtaW46IGJyZWFrcG9pbnQtbWluKCRuYW1lLCAkYnJlYWtwb2ludHMpO1xuICBAaWYgJG1pbiB7XG4gICAgQG1lZGlhIChtaW4td2lkdGg6ICRtaW4pIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfSBAZWxzZSB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cblxuLy8gTWVkaWEgb2YgYXQgbW9zdCB0aGUgbWF4aW11bSBicmVha3BvaW50IHdpZHRoLiBObyBxdWVyeSBmb3IgdGhlIGxhcmdlc3QgYnJlYWtwb2ludC5cbi8vIE1ha2VzIHRoZSBAY29udGVudCBhcHBseSB0byB0aGUgZ2l2ZW4gYnJlYWtwb2ludCBhbmQgbmFycm93ZXIuXG5AbWl4aW4gbWVkaWEtYnJlYWtwb2ludC1kb3duKCRuYW1lLCAkYnJlYWtwb2ludHM6ICRncmlkLWJyZWFrcG9pbnRzKSB7XG4gICRtYXg6IGJyZWFrcG9pbnQtbWF4KCRuYW1lLCAkYnJlYWtwb2ludHMpO1xuICBAaWYgJG1heCB7XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6ICRtYXgpIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfSBAZWxzZSB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cblxuLy8gTWVkaWEgdGhhdCBzcGFucyBtdWx0aXBsZSBicmVha3BvaW50IHdpZHRocy5cbi8vIE1ha2VzIHRoZSBAY29udGVudCBhcHBseSBiZXR3ZWVuIHRoZSBtaW4gYW5kIG1heCBicmVha3BvaW50c1xuQG1peGluIG1lZGlhLWJyZWFrcG9pbnQtYmV0d2VlbigkbG93ZXIsICR1cHBlciwgJGJyZWFrcG9pbnRzOiAkZ3JpZC1icmVha3BvaW50cykge1xuICAkbWluOiBicmVha3BvaW50LW1pbigkbG93ZXIsICRicmVha3BvaW50cyk7XG4gICRtYXg6IGJyZWFrcG9pbnQtbWF4KCR1cHBlciwgJGJyZWFrcG9pbnRzKTtcblxuICBAaWYgJG1pbiAhPSBudWxsIGFuZCAkbWF4ICE9IG51bGwge1xuICAgIEBtZWRpYSAobWluLXdpZHRoOiAkbWluKSBhbmQgKG1heC13aWR0aDogJG1heCkge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9IEBlbHNlIGlmICRtYXggPT0gbnVsbCB7XG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCgkbG93ZXIsICRicmVha3BvaW50cykge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9IEBlbHNlIGlmICRtaW4gPT0gbnVsbCB7XG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKCR1cHBlciwgJGJyZWFrcG9pbnRzKSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH1cbn1cblxuLy8gTWVkaWEgYmV0d2VlbiB0aGUgYnJlYWtwb2ludCdzIG1pbmltdW0gYW5kIG1heGltdW0gd2lkdGhzLlxuLy8gTm8gbWluaW11bSBmb3IgdGhlIHNtYWxsZXN0IGJyZWFrcG9pbnQsIGFuZCBubyBtYXhpbXVtIGZvciB0aGUgbGFyZ2VzdCBvbmUuXG4vLyBNYWtlcyB0aGUgQGNvbnRlbnQgYXBwbHkgb25seSB0byB0aGUgZ2l2ZW4gYnJlYWtwb2ludCwgbm90IHZpZXdwb3J0cyBhbnkgd2lkZXIgb3IgbmFycm93ZXIuXG5AbWl4aW4gbWVkaWEtYnJlYWtwb2ludC1vbmx5KCRuYW1lLCAkYnJlYWtwb2ludHM6ICRncmlkLWJyZWFrcG9pbnRzKSB7XG4gICRtaW46ICBicmVha3BvaW50LW1pbigkbmFtZSwgJGJyZWFrcG9pbnRzKTtcbiAgJG5leHQ6IGJyZWFrcG9pbnQtbmV4dCgkbmFtZSwgJGJyZWFrcG9pbnRzKTtcbiAgJG1heDogIGJyZWFrcG9pbnQtbWF4KCRuZXh0LCAkYnJlYWtwb2ludHMpO1xuXG4gIEBpZiAkbWluICE9IG51bGwgYW5kICRtYXggIT0gbnVsbCB7XG4gICAgQG1lZGlhIChtaW4td2lkdGg6ICRtaW4pIGFuZCAobWF4LXdpZHRoOiAkbWF4KSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH0gQGVsc2UgaWYgJG1heCA9PSBudWxsIHtcbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKCRuYW1lLCAkYnJlYWtwb2ludHMpIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfSBAZWxzZSBpZiAkbWluID09IG51bGwge1xuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bigkbmV4dCwgJGJyZWFrcG9pbnRzKSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH1cbn1cbiJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==*/