.block--card-grid-v2{background-color:#f7f6ff;overflow:hidden;padding-bottom:48px;padding-top:48px;position:relative}@media (min-width:992px){.block--card-grid-v2{padding-bottom:80px;padding-top:80px}}.block--card-grid-v2 .card-grid-v2__intro{margin:0;padding-bottom:43px;text-align:center}@media (min-width:768px){.block--card-grid-v2 .card-grid-v2__intro{padding-bottom:74px}}.block--card-grid-v2 .card-grid-v2__heading{-webkit-text-fill-color:transparent;background:linear-gradient(180deg,#41329b,#23004b);-webkit-background-clip:text;background-clip:text;font-family:Avenir LT Pro Bold,sans-serif;font-size:28px;line-height:32px;padding-bottom:.05em}@media (min-width:768px){.block--card-grid-v2 .card-grid-v2__heading{font-size:45px;line-height:50px}}.block--card-grid-v2 .card-grid-v2__intro-text{color:#23004b;font-family:Avenir LT Pro Medium,sans-serif;font-size:16px;line-height:1.5}.block--card-grid-v2 .card-grid-v2__intro-text p:last-child{margin-bottom:0}.block--card-grid-v2 .card-grid-v2__grid{display:flex;flex-direction:column;gap:16px;position:relative;z-index:1}.block--card-grid-v2 .card-grid-v2__card{background-color:#fff;border:1px solid rgba(35,0,75,.2);border-radius:4px;cursor:pointer;display:flex;flex-direction:column;justify-content:space-between;min-height:240px;overflow:hidden;padding:40px 44px;position:relative;transition:background-color .3s ease,border-color .3s ease}.block--card-grid-v2 .card-grid-v2__card:before{background:linear-gradient(270deg,#7159ff 1.75%,#1e0999 97.54%);border-top-left-radius:4px;border-top-right-radius:4px;content:"";height:7px;left:0;position:absolute;right:0;top:0;z-index:2}.block--card-grid-v2 .card-grid-v2__title{color:#23004b;font-family:Avenir LT Pro Bold,sans-serif;font-size:22px;line-height:1.2;margin:0;text-align:center;transition:opacity .3s ease}.block--card-grid-v2 .card-grid-v2__description{color:#fff;font-family:Avenir LT Pro Medium,sans-serif;font-size:15px;left:44px;line-height:1.45;margin:0;opacity:0;position:absolute;right:44px;text-align:center;top:40px;transition:opacity .3s ease}.block--card-grid-v2 .card-grid-v2__cta,.block--card-grid-v2 .card-grid-v2__cta-row{align-items:center;display:flex;width:100%}.block--card-grid-v2 .card-grid-v2__cta{background-color:transparent;border:1px solid #23004b;border-radius:3px;color:#23004b;font-family:Avenir LT Pro Medium,sans-serif;font-size:1.125rem;font-weight:500;justify-content:center;line-height:1;min-height:40px;padding:8px 16px;text-decoration:none;transition:background-color .3s ease,color .3s ease,border-color .3s ease}.block--card-grid-v2 .card-grid-v2__cta,.block--card-grid-v2 .card-grid-v2__cta:active,.block--card-grid-v2 .card-grid-v2__cta:focus,.block--card-grid-v2 .card-grid-v2__cta:hover,.block--card-grid-v2 .card-grid-v2__cta:link,.block--card-grid-v2 .card-grid-v2__cta:visited{text-decoration:none}.block--card-grid-v2 .card-grid-v2__cta:focus-visible{outline:2px solid #23004b;outline-offset:2px}.block--card-grid-v2 .card-grid-v2__card.is-active{background-color:#23004b;border-color:#23004b}.block--card-grid-v2 .card-grid-v2__card.is-active .card-grid-v2__title{opacity:0}.block--card-grid-v2 .card-grid-v2__card.is-active .card-grid-v2__description{opacity:1}.block--card-grid-v2 .card-grid-v2__card.is-active .card-grid-v2__cta{background-color:#ffbe00;border-color:#ffbe00;color:#23004b}.block--card-grid-v2 .card-grid-v2__card.is-active .card-grid-v2__cta,.block--card-grid-v2 .card-grid-v2__card.is-active .card-grid-v2__cta:hover,.block--card-grid-v2 .card-grid-v2__card.is-active .card-grid-v2__cta:link,.block--card-grid-v2 .card-grid-v2__card.is-active .card-grid-v2__cta:visited{color:#23004b}@media (hover:hover){.block--card-grid-v2 .card-grid-v2__card:hover{background-color:#23004b;border-color:#23004b}.block--card-grid-v2 .card-grid-v2__card:hover .card-grid-v2__title{opacity:0}.block--card-grid-v2 .card-grid-v2__card:hover .card-grid-v2__description{opacity:1}.block--card-grid-v2 .card-grid-v2__card:hover .card-grid-v2__cta{background-color:#ffbe00;border-color:#ffbe00;color:#23004b}.block--card-grid-v2 .card-grid-v2__card:hover .card-grid-v2__cta,.block--card-grid-v2 .card-grid-v2__card:hover .card-grid-v2__cta:hover,.block--card-grid-v2 .card-grid-v2__card:hover .card-grid-v2__cta:link,.block--card-grid-v2 .card-grid-v2__card:hover .card-grid-v2__cta:visited{color:#23004b}}@media (min-width:768px){.block--card-grid-v2 .card-grid-v2__grid{flex-direction:row;flex-wrap:wrap;gap:19px;justify-content:center}.block--card-grid-v2 .card-grid-v2__card{flex:0 0 260px;height:310px;max-width:260px;min-height:0;min-width:260px}}@media (min-width:1400px){.block--card-grid-v2 .container{max-width:1400px}}@media (min-width:1400px){.block--card-grid-v2 .card-grid-v2__grid:has(>.card-grid-v2__card:nth-child(6):last-child){margin-inline:auto;max-width:1097px}}@media (min-width:1200px) and (max-width:1399.98px){.block--card-grid-v2 .card-grid-v2__grid:has(>.card-grid-v2__card:nth-child(5):last-child),.block--card-grid-v2 .card-grid-v2__grid:has(>.card-grid-v2__card:nth-child(9):last-child){margin-inline:auto;max-width:818px}}@media (min-width:992px) and (max-width:1199.98px){.block--card-grid-v2 .card-grid-v2__grid:has(>.card-grid-v2__card:nth-child(4):last-child){margin-inline:auto;max-width:539px}}.block--card-grid-v2 .card-grid-v2__lines{bottom:0;height:210px;max-width:750px;opacity:.2;overflow:hidden;pointer-events:none;position:absolute;right:max(-100px,50% - 820px);width:100%}.block--card-grid-v2 .card-grid-v2__lines img{display:block;height:100%;-o-object-fit:cover;object-fit:cover;-o-object-position:right bottom;object-position:right bottom;width:100%}@media (max-width:767.98px){.block--card-grid-v2 .card-grid-v2__lines{display:none}}

/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmxvY2tzL2NhcmQtZ3JpZC12Mi9kaXN0L3N0eWxlLm1pbi5jc3MiLCJtYXBwaW5ncyI6IkFBVUEscUJBR0Usd0JDSFcsQ0RJWCxnQkV1Q0EsbUJBUnNCLENBS3RCLGdCQUxzQixDRmxDdEIsaUJBTEYsQ0d5REkseUJIckRKLHFCRW1ERyxtQkFmcUIsQ0FZckIsZ0JGL0NELENBQ0YsQ0FPRSwwQ0FDRSxTQUNBLG9CQUNBLGlCQUxKLENHOENJLHlCSDVDRiwwQ0FNSSxtQkFKSixDQUNGLENBT0UsNENBT0Usb0NBSEEsbURBQ0EsNkJBQ0EscUJBTEEseUNDbUNVLENEbENWLGVBQ0EsaUJFcUZILG9CRnJGRCxDRytCSSx5QkhsQ0YsNENBV0ksZUFDQSxnQkFKSixDQUNGLENBT0UsK0NBSUUsYUM5Q1csQ0QyQ1gsMkNDaUJTLENEaEJULGVBQ0EsZUFKSixDQU9JLDREQUFlLGVBSm5CLENBT0UseUNBR0UsYUFDQSxzQkFDQSxTQUpBLGtCQUNBLFNBRkosQ0FXRSx5Q0FPRSxzQkFDQSxrQ0FDQSxrQkFDQSxlQVJBLGFBQ0Esc0JBQ0EsOEJBQ0EsaUJBT0EsZ0JBTkEsa0JBTEEsa0JBVUEsMERBUkosQ0FhSSxnREFPRSxnRUFDQSwyQkFDQSw0QkFSQSxXQUtBLFdBRkEsT0FGQSxrQkFHQSxRQUZBLE1BT0EsU0FYTixDQWVFLDBDQUlFLGFDaEdXLENENkZYLHlDQy9CVSxDRGdDVixlQUNBLGdCQUVBLFNBQ0Esa0JBQ0EsMkJBYkosQ0FtQkUsZ0RBU0UsV0FIQSwyQ0NuRFMsQ0RvRFQsZUFKQSxVQUtBLGlCQUVBLFNBQ0EsVUFWQSxrQkFHQSxXQUNBLGtCQUhBLFNBVUEsMkJBakJKLENBMEJFLG9GQUpFLG1CQURBLGFBRUEsVUFBSixDQUdFLHdDQU9FLDZCQUNBLHlCQUNBLGtCQUNBLGFDeElXLENEeUlYLDJDQzdFUyxDRDhFVCxtQkFDQSxnQkFWQSx1QkFXQSxjQVJBLGdCQURBLGlCQVVBLHFCQUNBLHlFQW5CSixDQXFCSSxnUkFNRSxvQkF4Qk4sQ0EyQkksc0RBQ0UsMEJBQ0Esa0JBekJOLENBd0RFLG1EQXpCRSx3QkNqS1csQ0RrS1gsb0JBNUJKLENBOEJJLHdFQUNFLFNBNUJOLENBK0JJLDhFQUNFLFNBN0JOLENBZ0NJLHNFQUNFLHdCQ3RKRyxDRHVKSCxvQkN2SkcsQ0R3SkgsYUE5Qk4sQ0FnQ00sMlNBSUUsYUFqQ1IsQ0E0Q0UscUJBQ0UsK0NBaENBLHdCQ2pLVyxDRGtLWCxvQkFURixDQVdFLG9FQUNFLFNBVEosQ0FZRSwwRUFDRSxTQVZKLENBYUUsa0VBQ0Usd0JDdEpHLENEdUpILG9CQ3ZKRyxDRHdKSCxhQVhKLENBYUksMlJBSUUsYUFkTixDQUNGLENHNUdJLHlCSDZJQSx5Q0FDRSxtQkFDQSxlQUVBLFNBREEsc0JBN0JKLENBcUNFLHlDQUNFLGVBSUEsYUFGQSxnQkFDQSxhQUZBLGVBaENKLENBQ0YsQ0F5Q0UsMEJBQ0UsZ0NBQ0UsZ0JBdkNKLENBQ0YsQ0F1REUsMEJBQ0UsMkZBRUUsbUJBREEsZ0JBcERKLENBQ0YsQ0F3REUsb0RBQ0Usc0xBR0UsbUJBREEsZUFyREosQ0FDRixDQXlERSxtREFDRSwyRkFFRSxtQkFEQSxlQXRESixDQUNGLENBMkVFLDBDQUVFLFNBSUEsYUFEQSxnQkFhQSxXQUZBLGdCQUNBLG9CQWhCQSxrQkFFQSw4QkFDQSxVQXBFSixDQW9GSSw4Q0FDRSxjQUVBLFlBQ0EscUNBQ0EsNkRBSEEsVUEvRU4sQ0d4SkksNEJIaU5GLDBDQTZCSSxZQWxGSixDQUNGLEMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly93ZWJtZWNoYW5peC8uL2Jsb2Nrcy9jYXJkLWdyaWQtdjIvc3JjL19jYXJkLWdyaWQtdjIuc2NzcyIsIndlYnBhY2s6Ly93ZWJtZWNoYW5peC8uL3NyYy9zY3NzL2N1c3RvbS9fYnJhbmRpbmcuc2NzcyIsIndlYnBhY2s6Ly93ZWJtZWNoYW5peC8uL3NyYy9zY3NzL2N1c3RvbS9wYXJ0aWFscy9faG91c2UtbWl4aW5zLnNjc3MiLCJ3ZWJwYWNrOi8vd2VibWVjaGFuaXgvLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvbWl4aW5zL19icmVha3BvaW50cy5zY3NzIl0sInNvdXJjZXNDb250ZW50IjpbIkBpbXBvcnQgJy4uLy4uLy4uL3NyYy9zY3NzL2JhcmUtYnMtbmVjZXNzaXRpZXMnO1xuXG4vLyBXaWR0aCBvZiBhIHJvdyBob2xkaW5nIGV4YWN0bHkgJGNvbHMgY2FyZHMsIGF0IHRoZSBmaXhlZCBjYXJkIHNpemUgYmVsb3cuXG5AZnVuY3Rpb24gY2FyZC1ncmlkLXJvdy13aWR0aCgkY29scykge1xuICBAcmV0dXJuICRjb2xzICogMjYwcHggKyAoJGNvbHMgLSAxKSAqIDE5cHg7XG59XG5cbi8vIE1vYmlsZS1maXJzdDogY2FyZHMgc3RhY2sgdmVydGljYWxseSwgZnVsbCB3aWR0aCwgZXF1YWwgaGVpZ2h0LlxuLy8gUG9pbnRlciBkZXZpY2VzIGdldCB0aGUgaG92ZXIgc3RhdGU7IHRvdWNoIGRldmljZXMgZ2V0IGEgSlMtZHJpdmVuXG4vLyBgLmlzLWFjdGl2ZWAgdG9nZ2xlIHNvIGEgdGFwIHJldmVhbHMgdGhlIHNhbWUgcHVycGxlIHN0YXRlLlxuLmJsb2NrLS1jYXJkLWdyaWQtdjIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIEBpbmNsdWRlIHYyLXNlY3Rpb24tcGFkZGluZztcbiAgYmFja2dyb3VuZC1jb2xvcjogJHByaW1hcnktNTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjsgLy8gY2xpcCB0aGUgYm90dG9tLXJpZ2h0IGxpbmUgcGF0dGVybiBwYXN0IGNvbnRhaW5lciBlZGdlc1xuXG4gIC8vIFNlY3Rpb24gaGVhZGluZyBzb3VyY2VkIGZyb20gdGhlIGJsb2NrJ3Mgb3duIGBibG9ja190aXRsZWAgZmllbGQsIHdpdGhcbiAgLy8gYSBmYWxsYmFjayB0byBDb21tb24gQmxvY2sgT3B0aW9ucyAoaW50cm9faGVhZGluZyAvIGludHJvX2hlYWRpbmdfbGV2ZWxcbiAgLy8gLyBpbnRyb190ZXh0IC8gaW50cm9fYWxpZ25tZW50KS5cbiAgLmNhcmQtZ3JpZC12Ml9faW50cm8ge1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nLWJvdHRvbTogNDNweDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKG1kKSB7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogNzRweDtcbiAgICB9XG4gIH1cblxuICAuY2FyZC1ncmlkLXYyX19oZWFkaW5nIHtcbiAgICBmb250LWZhbWlseTogJGF2ZW5pci1ib2xkO1xuICAgIGZvbnQtc2l6ZTogMjhweDtcbiAgICBsaW5lLWhlaWdodDogMzJweDtcbiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTgwZGVnLCAkcHJpbWFyeS01MCAwJSwgJHByaW1hcnktMTAwIDEwMCUpO1xuICAgIC13ZWJraXQtYmFja2dyb3VuZC1jbGlwOiB0ZXh0O1xuICAgIGJhY2tncm91bmQtY2xpcDogdGV4dDtcbiAgICAtd2Via2l0LXRleHQtZmlsbC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgQGluY2x1ZGUgdjItZ3JhZGllbnQtdGV4dC1kZXNjZW5kZXItcm9vbSgwLjA1ZW0pO1xuXG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChtZCkge1xuICAgICAgZm9udC1zaXplOiA0NXB4O1xuICAgICAgbGluZS1oZWlnaHQ6IDUwcHg7XG4gICAgfVxuICB9XG5cbiAgLmNhcmQtZ3JpZC12Ml9faW50cm8tdGV4dCB7XG4gICAgZm9udC1mYW1pbHk6ICRhdmVuaXItbWVkO1xuICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICBsaW5lLWhlaWdodDogMS41O1xuICAgIGNvbG9yOiAkcHJpbWFyeS0xMDA7XG5cbiAgICBwOmxhc3QtY2hpbGQgeyBtYXJnaW4tYm90dG9tOiAwOyB9XG4gIH1cblxuICAuY2FyZC1ncmlkLXYyX19ncmlkIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgei1pbmRleDogMTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgZ2FwOiAxNnB4O1xuICB9XG5cbiAgLy8gRWFjaCBjYXJkIGhvbGRzIHRoZSB0aXRsZSAodmlzaWJsZSBieSBkZWZhdWx0KSBhbmQgdGhlIGRlc2NyaXB0aW9uXG4gIC8vICh2aXNpYmxlIGluIHRoZSBhY3RpdmUgc3RhdGUpLiBUaGUgdHdvIGFyZSBzdGFja2VkIGluIGFic29sdXRlIGxheWVyc1xuICAvLyBzbyB0aGUgc3dhcCBpcyBhIGNsZWFuIGNyb3NzLWZhZGUgd2l0aCBubyBsYXlvdXQgcmVmbG93LlxuICAuY2FyZC1ncmlkLXYyX19jYXJkIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICBtaW4taGVpZ2h0OiAyNDBweDtcbiAgICBwYWRkaW5nOiA0MHB4IDQ0cHg7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKCRwcmltYXJ5LTEwMCwgMC4yKTtcbiAgICBib3JkZXItcmFkaXVzOiA0cHg7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4zcyBlYXNlLCBib3JkZXItY29sb3IgMC4zcyBlYXNlO1xuICAgIG92ZXJmbG93OiBoaWRkZW47IC8vIGNsaXBzIHRoZSBncmFkaWVudCBzdHJpcCdzIHRvcCBjb3JuZXJzIHRvIHRoZSBjYXJkIHJhZGl1c1xuXG4gICAgLy8gN3B4IGFjY2VudCBncmFkaWVudCBiYXIgcGlubmVkIHRvIHRoZSB0b3AgZWRnZSAocGVyIFBSICMyMiBjYXJkIGRlc2lnbikuXG4gICAgLy8gei1pbmRleCBrZWVwcyBpdCBhYm92ZSB0aGUgYWN0aXZlLXN0YXRlIHB1cnBsZSBiYWNrZ3JvdW5kIHN3YXAuXG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDA7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgcmlnaHQ6IDA7XG4gICAgICBoZWlnaHQ6IDdweDtcbiAgICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgyNzBkZWcsICM3MTU5RkYgMS43NSUsICMxRTA5OTkgOTcuNTQlKTtcbiAgICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDRweDtcbiAgICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiA0cHg7XG4gICAgICB6LWluZGV4OiAyO1xuICAgIH1cbiAgfVxuXG4gIC5jYXJkLWdyaWQtdjJfX3RpdGxlIHtcbiAgICBmb250LWZhbWlseTogJGF2ZW5pci1ib2xkO1xuICAgIGZvbnQtc2l6ZTogMjJweDtcbiAgICBsaW5lLWhlaWdodDogMS4yO1xuICAgIGNvbG9yOiAkcHJpbWFyeS0xMDA7XG4gICAgbWFyZ2luOiAwO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuM3MgZWFzZTtcbiAgfVxuXG4gIC8vIERlc2NyaXB0aW9uIHNoYXJlcyB0aGUgdGl0bGUncyB0b3AgcmVnaW9uIOKAlCBmYWRlcyBpbiB3aGVuIHRoZSBjYXJkXG4gIC8vIGJlY29tZXMgYWN0aXZlLiBDZW50ZXJlZCB0byBtYXRjaCB0aGUgdGl0bGUsIHNvIHRoZSBjcm9zcy1mYWRlIGRvZXNuJ3RcbiAgLy8gc2hpZnQgYWxpZ25tZW50IG1pZC10cmFuc2l0aW9uLlxuICAuY2FyZC1ncmlkLXYyX19kZXNjcmlwdGlvbiB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogNDBweDtcbiAgICBsZWZ0OiA0NHB4O1xuICAgIHJpZ2h0OiA0NHB4O1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBmb250LWZhbWlseTogJGF2ZW5pci1tZWQ7XG4gICAgZm9udC1zaXplOiAxNXB4O1xuICAgIGxpbmUtaGVpZ2h0OiAxLjQ1O1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIG1hcmdpbjogMDtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC4zcyBlYXNlO1xuICB9XG5cbiAgLmNhcmQtZ3JpZC12Ml9fY3RhLXJvdyB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG5cbiAgLmNhcmQtZ3JpZC12Ml9fY3RhIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgcGFkZGluZzogOHB4IDE2cHg7XG4gICAgbWluLWhlaWdodDogNDBweDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAkcHJpbWFyeS0xMDA7XG4gICAgYm9yZGVyLXJhZGl1czogM3B4O1xuICAgIGNvbG9yOiAkcHJpbWFyeS0xMDA7XG4gICAgZm9udC1mYW1pbHk6ICRhdmVuaXItbWVkO1xuICAgIGZvbnQtc2l6ZTogMS4xMjVyZW07XG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjNzIGVhc2UsIGNvbG9yIDAuM3MgZWFzZSwgYm9yZGVyLWNvbG9yIDAuM3MgZWFzZTtcblxuICAgICYsXG4gICAgJjpsaW5rLFxuICAgICY6dmlzaXRlZCxcbiAgICAmOmhvdmVyLFxuICAgICY6Zm9jdXMsXG4gICAgJjphY3RpdmUge1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIH1cblxuICAgICY6Zm9jdXMtdmlzaWJsZSB7XG4gICAgICBvdXRsaW5lOiAycHggc29saWQgJHByaW1hcnktMTAwO1xuICAgICAgb3V0bGluZS1vZmZzZXQ6IDJweDtcbiAgICB9XG4gIH1cblxuICAvLyBBY3RpdmUgc3RhdGUgc2hhcmVkIGJ5IHRhcCAoLmlzLWFjdGl2ZSkgYW5kIGhvdmVyIChwb2ludGVyIGRldmljZXMpLlxuICBAbWl4aW4gY2FyZC1hY3RpdmUge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRwcmltYXJ5LTEwMDtcbiAgICBib3JkZXItY29sb3I6ICRwcmltYXJ5LTEwMDtcblxuICAgIC5jYXJkLWdyaWQtdjJfX3RpdGxlIHtcbiAgICAgIG9wYWNpdHk6IDA7XG4gICAgfVxuXG4gICAgLmNhcmQtZ3JpZC12Ml9fZGVzY3JpcHRpb24ge1xuICAgICAgb3BhY2l0eTogMTtcbiAgICB9XG5cbiAgICAuY2FyZC1ncmlkLXYyX19jdGEge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHNlY29uZGFyeS1nb2xkO1xuICAgICAgYm9yZGVyLWNvbG9yOiAkc2Vjb25kYXJ5LWdvbGQ7XG4gICAgICBjb2xvcjogJHByaW1hcnktMTAwO1xuXG4gICAgICAmLFxuICAgICAgJjpsaW5rLFxuICAgICAgJjp2aXNpdGVkLFxuICAgICAgJjpob3ZlciB7XG4gICAgICAgIGNvbG9yOiAkcHJpbWFyeS0xMDA7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLmNhcmQtZ3JpZC12Ml9fY2FyZC5pcy1hY3RpdmUge1xuICAgIEBpbmNsdWRlIGNhcmQtYWN0aXZlO1xuICB9XG5cbiAgLy8gR2F0ZSA6aG92ZXIgYmVoaW5kIGAoaG92ZXI6IGhvdmVyKWAgc28gdG91Y2ggZGV2aWNlcyBkb24ndCBnZXQgYVxuICAvLyBzdGlja3kgaG92ZXIgc3RhdGUgb24gdG9wIG9mIHRoZSBKUy1kcml2ZW4gLmlzLWFjdGl2ZSBjbGFzcy5cbiAgQG1lZGlhIChob3ZlcjogaG92ZXIpIHtcbiAgICAuY2FyZC1ncmlkLXYyX19jYXJkOmhvdmVyIHtcbiAgICAgIEBpbmNsdWRlIGNhcmQtYWN0aXZlO1xuICAgIH1cbiAgfVxuXG4gIC8vIFRhYmxldC9kZXNrdG9wIOKAlCBjYXJkcyBsYXkgb3V0IGluIGEgcm93LCBmaXhlZCAzMTBweCBoZWlnaHQsIGZ1bGxcbiAgLy8gc2VjdGlvbiBwYWRkaW5nIGtpY2tzIGluLlxuICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKG1kKSB7XG4gICAgLmNhcmQtZ3JpZC12Ml9fZ3JpZCB7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICBnYXA6IDE5cHg7XG4gICAgfVxuXG4gICAgLy8gQ2FyZHMgYXJlIGEgZml4ZWQgd2lkdGggKDI2MHB4KSDigJQgdGhleSBkb24ndCBncm93IHRvIGZpbGwgdGhlIHJvd1xuICAgIC8vIGFuZCBkb24ndCBzaHJpbmsgYmVsb3cgdGhlaXIgdGFyZ2V0LiBXaXRoIGBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcmBcbiAgICAvLyBvbiB0aGUgZ3JpZCwgYW55IHJvdyB0aGF0IGhvbGRzIGZld2VyIGNhcmRzIHRoYW4gdGhlIHJvdyBhYm92ZVxuICAgIC8vIChlLmcuIGEgd3JhcHBlZCA0dGgvNXRoIGNhcmQpIGNlbnRlcnMgd2l0aGluIHRoZSBhdmFpbGFibGUgc3BhY2UuXG4gICAgLmNhcmQtZ3JpZC12Ml9fY2FyZCB7XG4gICAgICBmbGV4OiAwIDAgMjYwcHg7XG4gICAgICBtaW4td2lkdGg6IDI2MHB4O1xuICAgICAgbWF4LXdpZHRoOiAyNjBweDtcbiAgICAgIG1pbi1oZWlnaHQ6IDA7XG4gICAgICBoZWlnaHQ6IDMxMHB4O1xuICAgIH1cbiAgfVxuXG5cbiAgLy8gVGhlbWUncyB4eGwgY29udGFpbmVyIGNhcHMgYXQgMTIwMHB4OyA1IGNhcmRzIMOXIDI2MCArIDQgw5cgMTkgZ2FwID0gMTM3NnB4LlxuICAvLyBXaWRlbiB0aGlzIGJsb2NrJ3MgY29udGFpbmVyIGF0IHZpZXdwb3J0cyB0aGF0IGNhbiBob2xkIGEgNS11cCByb3cuXG4gIEBtZWRpYSAobWluLXdpZHRoOiAxNDAwcHgpIHtcbiAgICAuY29udGFpbmVyIHtcbiAgICAgIG1heC13aWR0aDogMTQwMHB4O1xuICAgIH1cbiAgfVxuXG4gIC8vIC0tLS0gT3JwaGFuIHJvd3MgLS0tLVxuICAvLyBDYXJkcyBhcmUgYSBmaXhlZCB3aWR0aCwgc28gdGhlIGNvbHVtbiBjb3VudCBvbmx5IGNoYW5nZXMgd2hlcmUgdGhlXG4gIC8vIGNvbnRhaW5lciBkb2VzLiBXaGVuIHRoZSBjYXJkIGNvdW50IGxlYXZlcyBleGFjdGx5IG9uZSBjYXJkIGFsb25lIG9uIHRoZVxuICAvLyBsYXN0IHJvdywgZHJvcCB0aGUgZ3JpZCB0byBvbmUgZmV3ZXIgY29sdW1uIHNvIHRoZSB0YWlsIGlzIDIgY2FyZHM6XG4gIC8vXG4gIC8vICAgdmlld3BvcnQgICAgICAgIGNvbnRhaW5lciAgZ3JpZCAgIGZpdHMgIG9ycGhhbiBjb3VudHMgIC0+ICBmb3JjZWQgdG9cbiAgLy8gICA+PSAxNDAwcHggICAgICAgICAxNDAwICAgICAxMzc2ICAgIDUgICAgNiAgICAgICAgICAgICAgICAgIDQtdXBcbiAgLy8gICAxMjAwIC0gMTM5OXB4ICAgICAxMTQwICAgICAxMTE2ICAgIDQgICAgNSwgOSAgICAgICAgICAgICAgIDMtdXBcbiAgLy8gICAgOTkyIC0gMTE5OXB4ICAgICAgOTYwICAgICAgOTM2ICAgIDMgICAgNCAgICAgICAgICAgICAgICAgIDItdXBcbiAgLy9cbiAgLy8gT25seSBsaXN0ZWQgd2hlcmUgbmFycm93aW5nIGFjdHVhbGx5IGhlbHBzOiA3IGNhcmRzIDMtdXAgaXMgMyszKzEsIGJ1dFxuICAvLyAyLXVwIGlzIDIrMisyKzEg4oCUIHN0aWxsIGFuIG9ycGhhbiwgc28gaXQncyBsZWZ0IGFsb25lLiBCZWxvdyA5OTJweCB0aGVcbiAgLy8gZ3JpZCBpcyAyLXVwIG9yIHN0YWNrZWQsIHdoZXJlIGRyb3BwaW5nIGEgY29sdW1uIG1lYW5zIG9uZSBjYXJkIHBlciByb3cuXG4gIEBtZWRpYSAobWluLXdpZHRoOiAxNDAwcHgpIHtcbiAgICAuY2FyZC1ncmlkLXYyX19ncmlkOmhhcyg+IC5jYXJkLWdyaWQtdjJfX2NhcmQ6bnRoLWNoaWxkKDYpOmxhc3QtY2hpbGQpIHtcbiAgICAgIG1heC13aWR0aDogY2FyZC1ncmlkLXJvdy13aWR0aCg0KTtcbiAgICAgIG1hcmdpbi1pbmxpbmU6IGF1dG87XG4gICAgfVxuICB9XG5cbiAgQG1lZGlhIChtaW4td2lkdGg6IDEyMDBweCkgYW5kIChtYXgtd2lkdGg6IDEzOTkuOThweCkge1xuICAgIC5jYXJkLWdyaWQtdjJfX2dyaWQ6aGFzKD4gLmNhcmQtZ3JpZC12Ml9fY2FyZDpudGgtY2hpbGQoNSk6bGFzdC1jaGlsZCksXG4gICAgLmNhcmQtZ3JpZC12Ml9fZ3JpZDpoYXMoPiAuY2FyZC1ncmlkLXYyX19jYXJkOm50aC1jaGlsZCg5KTpsYXN0LWNoaWxkKSB7XG4gICAgICBtYXgtd2lkdGg6IGNhcmQtZ3JpZC1yb3ctd2lkdGgoMyk7XG4gICAgICBtYXJnaW4taW5saW5lOiBhdXRvO1xuICAgIH1cbiAgfVxuXG4gIEBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkgYW5kIChtYXgtd2lkdGg6IDExOTkuOThweCkge1xuICAgIC5jYXJkLWdyaWQtdjJfX2dyaWQ6aGFzKD4gLmNhcmQtZ3JpZC12Ml9fY2FyZDpudGgtY2hpbGQoNCk6bGFzdC1jaGlsZCkge1xuICAgICAgbWF4LXdpZHRoOiBjYXJkLWdyaWQtcm93LXdpZHRoKDIpO1xuICAgICAgbWFyZ2luLWlubGluZTogYXV0bztcbiAgICB9XG4gIH1cblxuICAvLyBEZWNvcmF0aXZlIGRpYWdvbmFsIGxpbmUgcGF0dGVybiBpbiB0aGUgYm90dG9tLXJpZ2h0LiBBbmNob3JlZCB0byB0aGUgYmxvY2ssXG4gIC8vIHdoaWNoIGlzIGZ1bGwtYmxlZWQsIGJ1dCBmcm96ZW4gYXQgdGhlIHBvc2l0aW9uIGl0IGhvbGRzIG9uIGEgMTQ0MHB4IHNjcmVlblxuICAvLyBzbyBpdCBzdG9wcyBjaGFzaW5nIHRoZSB2aWV3cG9ydCBlZGdlIG9uIHdpZGVyIG1vbml0b3JzLlxuICAvL1xuICAvLyBUaGUgYmxvY2sncyBvd24gYG92ZXJmbG93OiBoaWRkZW5gIHVzZWQgdG8gZG8gdGhlIHRyaW1taW5nOiBgcmlnaHQ6IC0xMDBweGBcbiAgLy8gcHV0IHRoZSBib3ggMTAwcHggcGFzdCB0aGUgc2VjdGlvbiBlZGdlIGFuZCB0aGUgc2VjdGlvbiBjdXQgaXQgb2ZmLiBUaGF0XG4gIC8vIHRyYWNrcyB0aGUgdmlld3BvcnQsIHNvIG9uIGEgMTkyMHB4IHNjcmVlbiB0aGUgcGF0dGVybiBzbGlkIDI0MHB4IGZ1cnRoZXIgb3V0XG4gIC8vIHRoYW4gdGhlIGRlc2lnbiBpbnRlbmRzLlxuICAvL1xuICAvLyBEZXJpdmluZyB0aGUgZnJvemVuIHZhbHVlIOKAlCBhdCBhIDE0NDBweCB2aWV3cG9ydCB0aGUgYm94J3MgcmlnaHQgZWRnZSBzaXRzIGF0XG4gIC8vIGBjZW50cmUgKyA4MjBweGAgKDcyMHB4IGhhbGYtYmFuZCArIHRoZSAxMDBweCBibGVlZCksIHNvIGhvbGRpbmcgdGhhdCBvbiBhbnlcbiAgLy8gd2lkZXIgc2NyZWVuIG1lYW5zIGluc2V0dGluZyBmcm9tIHRoZSBibG9jaydzIHJpZ2h0IGVkZ2UgYnlcbiAgLy8gYGJsb2NrV2lkdGggLSAoY2VudHJlICsgODIwKSA9IDUwJSAtIDgyMHB4YC4gQXQgZXhhY3RseSAxNDQwcHggdGhhdCBldmFsdWF0ZXNcbiAgLy8gdG8gLTEwMHB4LCBpLmUuIGlkZW50aWNhbCB0byB0aGUgb2xkIHZhbHVlIOKAlCBhbmQgYG1heCgpYCBwaW5zIGl0IHRoZXJlIGJlbG93XG4gIC8vIDE0NDBweCwgd2hlcmUgdGhlIGJhbmQgaXMgdGhlIGZ1bGwgd2lkdGggYW5kIG5vdGhpbmcgc2hvdWxkIGNoYW5nZS5cbiAgLy9cbiAgLy8gU2FtZSBTVkcgYXMgbGFuZGluZy1wYWdlLWhlcm8tVjIuIEhpZGRlbiBvbiBtb2JpbGUgdG8gbWlycm9yIHRoZSBoZXJvLlxuICAuY2FyZC1ncmlkLXYyX19saW5lcyB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGJvdHRvbTogMDtcbiAgICByaWdodDogbWF4KC0xMDBweCwgY2FsYyg1MCUgLSA4MjBweCkpO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1heC13aWR0aDogNzUwcHg7XG4gICAgaGVpZ2h0OiAyMTBweDtcblxuICAgIC8vIERlbGliZXJhdGVseSBOT1QgY2xpcHBlZCBvbiB0aGUgcmlnaHQuIFJlcHJvZHVjaW5nIHRoZSAxMDBweCB0aGUgc2VjdGlvblxuICAgIC8vIHVzZWQgdG8gdHJpbSAoYGNsaXAtcGF0aDogaW5zZXQoMCAxMDBweCAwIDApYCkgaXMgZ2VvbWV0cmljYWxseSBmYWl0aGZ1bCBidXRcbiAgICAvLyBsb29rcyB3cm9uZzogdGhhdCBjdXQgd2FzIG9ubHkgZXZlciBpbnZpc2libGUgYmVjYXVzZSBpdCBsYW5kZWQgZXhhY3RseSBvblxuICAgIC8vIHRoZSB2aWV3cG9ydCBlZGdlLiBJbnNpZGUgdGhlIHBhZ2UgaXQgcmVhZHMgYXMgYSBoYXJkIHZlcnRpY2FsIHNlYW0gc2xpY2VkXG4gICAgLy8gdGhyb3VnaCB0aGUgZGlhZ29uYWxzIGF0IHRoZSBwYXR0ZXJuJ3MgdG9wLXJpZ2h0LiBMZXR0aW5nIHRoZSBhcnR3b3JrJ3Mgb3duXG4gICAgLy8gZWRnZSBiZSB0aGUgYm91bmRhcnkgbWVhbnMgfjEwMHB4IG1vcmUgcGF0dGVybiBzaG93cyBhYm92ZSAxNDQwcHggdGhhbiBhdFxuICAgIC8vIDE0NDBweCwgd2hpY2ggaXMgdGhlIGJldHRlciB0cmFkZSDigJQgcG9zaXRpb24gc3RheXMgY29uc2lzdGVudCByZWxhdGl2ZSB0b1xuICAgIC8vIHRoZSBjb250ZW50IGFuZCB0aGVyZSBpcyBubyBzZWFtLlxuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgb3BhY2l0eTogMC4yO1xuXG4gICAgaW1nIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICBvYmplY3QtZml0OiBjb3ZlcjtcbiAgICAgIG9iamVjdC1wb3NpdGlvbjogcmlnaHQgYm90dG9tO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bihtZCkge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIFByaW1hcnlcbiRibHVlOiAgICBcdFx0IzMyMEZGRjtcbiRkYXJrLWJsdWU6ICAgIFx0IzQxMzI5QjtcbiRpbmstYmx1ZS0xMDA6XHQjMjMwMDRCO1xuJGluay1ibHVlLTkwOlx0IzI4MEE1RjtcbiRpbmstYmx1ZS03MDpcdCMzMjE0Nzg7XG4kaW5rLWJsdWUtNTA6XHQjNDEzMjlCO1xuJGluay1ibHVlLTMwOlx0IzVGNUZDMztcbiRpbmstYmx1ZS0xMDpcdCM4MjhDRTE7XG4kaW5rLWJsdWUtODpcdCNDREQxRjM7XG4kaW5rLWJsdWUtNTpcdCNmN2Y2ZmY7XG4kcHJpbWFyeTpcdCAgXHQkYmx1ZTtcbiRwcmltYXJ5LWRhcms6IFx0JGRhcmstYmx1ZTtcbiRwcmltYXJ5LTEwMDogXHQkaW5rLWJsdWUtMTAwO1xuJHByaW1hcnktOTA6IFx0JGluay1ibHVlLTkwO1xuJHByaW1hcnktNzA6IFx0JGluay1ibHVlLTcwO1xuJHByaW1hcnktNTA6IFx0JGluay1ibHVlLTUwO1xuJHByaW1hcnktMzA6IFx0JGluay1ibHVlLTMwO1xuJHByaW1hcnktMTA6IFx0JGluay1ibHVlLTEwO1xuJHByaW1hcnktODogXHQkaW5rLWJsdWUtODtcbiRwcmltYXJ5LTU6IFx0JGluay1ibHVlLTU7XG5cblxuLy8gU2Vjb25kYXJ5XG4kcmVkOlx0XHRcdCNFNjFFMkQ7XG4kYnJpZ2h0LWJsdWU6XHQjMzIwRkZGO1xuJGdvbGQ6XHRcdFx0I0ZGQkUwMDtcblxuJHNlY29uZGFyeS1yZWQ6XHRcdCRyZWQ7XG4kc2Vjb25kYXJ5LWJsdWU6XHQkYnJpZ2h0LWJsdWU7XG4kc2Vjb25kYXJ5LWdvbGQ6XHQkZ29sZDtcblxuLy8gTmV1dHJhbFxuJGJsYWNrOiBcdCMwMDAwMDA7XG4kZGFyay1ncmF5OiAjNzk3Mjc5O1xuJHdhcm0tZ3JheTpcdCNCNEI0Qjk7XG4kc25vdy1ncmF5OiAjRjBGMEYxO1xuJHdoaXRlOiBcdCNGRkZGRkY7XG5cblxuLy8gRXh0cmFzXG4kY29sb3JzOiAoXG5cdCdwcmltYXJ5J1x0XHRcdDogJHByaW1hcnksXG5cdCdwcmltYXJ5LWRhcmsnXHRcdDogJHByaW1hcnktZGFyayxcblx0J3ByaW1hcnktMTAwJyBcdFx0OiAkcHJpbWFyeS0xMDAsXG5cdCdwcmltYXJ5LTkwJyBcdFx0OiAkcHJpbWFyeS05MCxcblx0J3ByaW1hcnktNzAnIFx0XHQ6ICRwcmltYXJ5LTcwLFxuXHQncHJpbWFyeS01MCcgXHRcdDogJHByaW1hcnktNTAsXG5cdCdwcmltYXJ5LTMwJyBcdFx0OiAkcHJpbWFyeS0zMCxcblx0J3ByaW1hcnktMTAnIFx0XHQ6ICRwcmltYXJ5LTEwLFxuXHQncHJpbWFyeS04JyBcdFx0OiAkcHJpbWFyeS04LFxuXHQncHJpbWFyeS01JyBcdFx0OiAkcHJpbWFyeS01LFxuXHQncmVkJ1x0XHRcdFx0OiAkc2Vjb25kYXJ5LXJlZCxcblx0J2JyaWdodC1ibHVlJ1x0XHQ6ICRzZWNvbmRhcnktYmx1ZSxcblx0J2dvbGQnXHRcdFx0XHQ6ICRzZWNvbmRhcnktZ29sZCxcblx0J3dhcm0tZ3JheSdcdFx0XHQ6ICR3YXJtLWdyYXksXG5cdCdkYXJrLWdyYXknXHRcdFx0OiAkZGFyay1ncmF5LFxuXHQnYmxhY2snXHRcdFx0XHQ6ICRibGFjayxcblx0J3doaXRlJ1x0XHRcdFx0OiAkd2hpdGVcbik7XG5cbi8vIFNhbi1zZXJpZiBGb250c1xuJGF2ZW5pci1yZWc6ICdBdmVuaXIgTFQgUHJvIFJlZ3VsYXInLCBzYW5zLXNlcmlmICFkZWZhdWx0O1xuJGF2ZW5pci1tZWQ6ICdBdmVuaXIgTFQgUHJvIE1lZGl1bScsIHNhbnMtc2VyaWYgIWRlZmF1bHQ7XG4kYXZlbmlyLWRlbWk6ICdBdmVuaXIgTFQgUHJvIERlbWknLCBzYW5zLXNlcmlmICFkZWZhdWx0O1xuJGF2ZW5pci1ib2xkOiAnQXZlbmlyIExUIFBybyBCb2xkJywgc2Fucy1zZXJpZiAhZGVmYXVsdDtcblxuLy8gU2VyaWYgRm9udHNcbiRnZW9yZ2lhOiAnR2VvcmdpYScsIHNlcmlmICFkZWZhdWx0OyIsIkB1c2UgJ3Nhc3M6bWF0aCc7XG5cbi8vIFNvbWUgaG91c2UgbWl4aW5zOlxuQGZ1bmN0aW9uIHVybEVuY29kZUNvbG9yKCRzdHJpbmcpe1xuXHRAaWYgdHlwZS1vZigkc3RyaW5nKSA9PSAnY29sb3Ine1xuXHRcdCRoZXg6IHN0ci1zbGljZShpZS1oZXgtc3RyKCRzdHJpbmcpLCA0KTtcblx0XHQkc3RyaW5nOiB1bnF1b3RlKFwiI3skaGV4fVwiKTtcblx0fVxuXHQkc3RyaW5nOiAnJTIzJyArICRzdHJpbmc7XG5cdEByZXR1cm4gJHN0cmluZztcbn1cbkBmdW5jdGlvbiBzdHJpcC11bml0KCR2YWx1ZSl7XG5cdEByZXR1cm4gbWF0aC5kaXYoJHZhbHVlLCAkdmFsdWUgKiAwICsgMSk7XG59XG5AbWl4aW4gZmx1aWQtdHlwZSgkbWluLXZ3LCAkbWF4LXZ3LCAkbWluLWZvbnQtc2l6ZSwgJG1heC1mb250LXNpemUpe1xuXHQkdTE6IHVuaXQoJG1pbi12dyk7XG5cdCR1MjogdW5pdCgkbWF4LXZ3KTtcblx0JHUzOiB1bml0KCRtaW4tZm9udC1zaXplKTtcblx0JHU0OiB1bml0KCRtYXgtZm9udC1zaXplKTtcblx0QGlmICR1MSA9PSAkdTIgYW5kICR1MSA9PSAkdTMgYW5kICR1MSA9PSAkdTR7XG5cdFx0Jntcblx0XHRcdGZvbnQtc2l6ZTogJG1pbi1mb250LXNpemU7XG5cdFx0XHRAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAkbWluLXZ3KXtcblx0XHRcdFx0Zm9udC1zaXplOiBjYWxjKCN7JG1pbi1mb250LXNpemV9ICsgI3tzdHJpcC11bml0KCRtYXgtZm9udC1zaXplIC0gJG1pbi1mb250LXNpemUpfSAqICgoMTAwdncgLSAjeyRtaW4tdnd9KSAvICN7c3RyaXAtdW5pdCgkbWF4LXZ3IC0gJG1pbi12dyl9KSk7XG5cdFx0XHR9XG5cdFx0XHRAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAkbWF4LXZ3KXtcblx0XHRcdFx0Zm9udC1zaXplOiAkbWF4LWZvbnQtc2l6ZTtcblx0XHRcdH1cblx0XHR9XG5cdH1cbn1cbi8vIOKUgOKUgOKUgCBWMiBzZWN0aW9uIHJoeXRobSDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIBcbi8vIFRoZSBzaW5nbGUgdmVydGljYWwgcGFkZGluZyB0b2tlbiBldmVyeSBWMiBzZWN0aW9uIGJsb2NrIHVzZXMuIEJlZm9yZSB0aGlzXG4vLyBleGlzdGVkLCAyNiBWMiBibG9ja3MgY2FycmllZCAxMyBkaWZmZXJlbnQgdG9wL2JvdHRvbSBwYWlyaW5ncyBzdGVwcGluZyBhdFxuLy8gdHdvIGRpZmZlcmVudCBicmVha3BvaW50czsgNDgg4oaSIDgwIGlzIHRoZSBtZWRpYW4gb2Ygd2hhdCB3YXMgYWxyZWFkeSB0aGVyZVxuLy8gYW5kIGltYWdlLWFuZC1pdGVtLWxpc3QtVjIgLyByZXNvdXJjZS1jYXJvdXNlbC1WMiAvIHNvY2lhbC1wcm9vZi12MiBhbHJlYWR5XG4vLyBtYXRjaGVkIGl0IGV4YWN0bHksIHNvIGl0IGlzIHRoZSBzbWFsbGVzdCB0b3RhbCBtb3ZlLlxuLy9cbi8vIFN0ZXBwaW5nIGF0IGBsZ2AgKG5vdCBgbWRgKSBpcyBkZWxpYmVyYXRlOiBpdCBsaW5lcyB0aGUgdmVydGljYWwgc3RlcCB1cCB3aXRoXG4vLyB0aGUgaG9yaXpvbnRhbCBndXR0ZXIgcmFtcCAoMS41cmVtIOKGkiA2cmVtIEBsZykgdGhhdCAxOSBibG9ja3MgYWxyZWFkeSB1c2UsIHNvXG4vLyBhIHNlY3Rpb24gY2hhbmdlcyBpdHMgc3BhY2luZyBpbiBvbmUgZGlyZWN0aW9uIGF0IG9uZSB3aWR0aC5cbi8vXG4vLyBgJHNpZGVzYCBsZXRzIGEgYmxvY2sgdGFrZSB0aGUgdG9rZW4gb24gb25lIGVkZ2Ugd2hpbGUgb3duaW5nIHRoZSBvdGhlciDigJRcbi8vIGNhcGFiaWxpdGllcy1WMiBuZWVkcyBpdHMgb3duIGJvdHRvbSAoaXQgcmVzZXJ2ZXMgNjBweCBmb3IgYW4gYWJzb2x1dGVseVxuLy8gcG9zaXRpb25lZCBlbGVtZW50KS4gQW55dGhpbmcgb3B0aW5nIG91dCBlbnRpcmVseSBqdXN0IGRvZXNuJ3QgaW5jbHVkZSB0aGlzLlxuJHYyLXNlY3Rpb24tcGFkZGluZy1zbTogNDhweDtcbiR2Mi1zZWN0aW9uLXBhZGRpbmctbGc6IDgwcHg7XG5cbkBtaXhpbiB2Mi1zZWN0aW9uLXBhZGRpbmcoJHNpZGVzOiBib3RoKSB7XG5cdEBpZiAkc2lkZXMgPT0gYm90aCBvciAkc2lkZXMgPT0gdG9wIHtcblx0XHRwYWRkaW5nLXRvcDogJHYyLXNlY3Rpb24tcGFkZGluZy1zbTtcblx0fVxuXHRAaWYgJHNpZGVzID09IGJvdGggb3IgJHNpZGVzID09IGJvdHRvbSB7XG5cdFx0cGFkZGluZy1ib3R0b206ICR2Mi1zZWN0aW9uLXBhZGRpbmctc207XG5cdH1cblxuXHRAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKGxnKSB7XG5cdFx0QGlmICRzaWRlcyA9PSBib3RoIG9yICRzaWRlcyA9PSB0b3Age1xuXHRcdFx0cGFkZGluZy10b3A6ICR2Mi1zZWN0aW9uLXBhZGRpbmctbGc7XG5cdFx0fVxuXHRcdEBpZiAkc2lkZXMgPT0gYm90aCBvciAkc2lkZXMgPT0gYm90dG9tIHtcblx0XHRcdHBhZGRpbmctYm90dG9tOiAkdjItc2VjdGlvbi1wYWRkaW5nLWxnO1xuXHRcdH1cblx0fVxufVxuLy8g4pSA4pSA4pSAIEdyYWRpZW50IHRleHQg4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSAXG4vLyBEZXNjZW5kZXIgcm9vbSBmb3IgZ3JhZGllbnQtY2xpcHBlZCB0ZXh0LlxuLy9cbi8vIFYyIGhlYWRpbmdzIHRha2UgdGhlaXIgY29sb3VyIGZyb20gYSBncmFkaWVudCAqYmFja2dyb3VuZCogY2xpcHBlZCB0byB0aGVcbi8vIGdseXBocyAoYGJhY2tncm91bmQtY2xpcDogdGV4dGAgcGx1cyBhIHRyYW5zcGFyZW50IHRleHQgZmlsbCkuIEEgYmFja2dyb3VuZFxuLy8gb25seSBwYWludHMgaW5zaWRlIHRoZSBlbGVtZW50J3MgYm94LCBzbyBpbmsgaGFuZ2luZyBiZWxvdyB0aGF0IGJveCBoYXNcbi8vIG5vdGhpbmcgdG8gcGFpbnQgd2l0aCBhbmQgc2ltcGx5IGRpc2FwcGVhcnMuIEl0IGRvZXNuJ3QgcmVhZCBhcyBjbGlwcGVkIOKAlFxuLy8gdGhlIGJvdHRvbSBsb29wIG9mIGEgXCJnXCIgb3IgdGhlIHRhaWwgb2YgYSBcInlcIiBpcyBqdXN0IGFic2VudCDigJQgd2hpY2ggaXMgd2h5XG4vLyBpdCBnb2VzIHVubm90aWNlZCB1bnRpbCBhbiBlZGl0b3IgaGFwcGVucyB0byB0eXBlIG9uZSBvbnRvIHRoZSBsYXN0IGxpbmUuXG4vL1xuLy8gVGhlIG92ZXJoYW5nIGlzIGEgY29uc2VxdWVuY2Ugb2YgdGhlIHRpZ2h0IGVkaXRvcmlhbCBsaW5lLWhlaWdodHMgdGhlIGRlc2lnbnNcbi8vIHVzZS4gQXZlbmlyJ3MgZGVzY2VuZGVyIGluayByZWFjaGVzIDAuMjQwZW0gYmVsb3cgdGhlIGJhc2VsaW5lLCBzbyBjbGlwcGluZ1xuLy8gYmVnaW5zIHdoZXJldmVyIGxpbmUtaGVpZ2h0IGRyb3BzIGJlbG93IH4xLjE3NCwgYW5kIG5vIFYyIGhlYWRpbmcgaXMgYWJvdmVcbi8vIHRoYXQuIE9ubHkgdGhlIGZpbmFsIGxpbmUgaXMgZXZlciBhZmZlY3RlZDsgaW50ZXJpb3IgbGluZXMgc2l0IGluc2lkZSB0aGUgYm94LlxuLy9cbi8vIDAuMWVtIGNvdmVycyB0aGUgd29yc3QgY2FzZSAoOTBweCBoZWFkbGluZXMgYXQgbGluZS1oZWlnaHQgMSkgd2l0aCBoZWFkcm9vbS5cbi8vIEluIGVtIHNvIGl0IHRyYWNrcyBhIGhlYWRpbmcncyByZXNwb25zaXZlIHNpemVzIOKAlCBpbmNsdWRpbmcgY2xhbXAoKSDigJQgd2l0aG91dFxuLy8gcGVyLWJyZWFrcG9pbnQgb3ZlcnJpZGVzLiBSYWlzaW5nIGxpbmUtaGVpZ2h0IHBhc3QgfjEuMTc0IHdvdWxkIGFsc28gZml4IGl0LFxuLy8gYnV0IHRoYXQgbG9vc2VucyBldmVyeSBsaW5lIG9mIGEgbXVsdGktbGluZSBoZWFkaW5nIGJ5IDEwLTE3JSBhbmQgdGhlIHRpZ2h0XG4vLyBzZXR0aW5nIGlzIHRoZSBkZXNpZ24uXG4vL1xuLy8gT25seSB0aGUgYm90dG9tIG5lZWRzIGl0OiB0aGUgdGFsbGVzdCBpbmsgaW4gdGhlIGZhY2Ugc2l0cyB3ZWxsIGluc2lkZSB0aGVcbi8vIGxpbmUgYm94IHRvcCwgc28gYXNjZW5kZXJzIGFscmVhZHkgaGF2ZSBjbGVhcmFuY2UuXG4vL1xuLy8gT25lIHNpZGUgZWZmZWN0IHdvcnRoIGtub3dpbmc6IGJhY2tncm91bmQtb3JpZ2luIGlzIHRoZSBwYWRkaW5nIGJveCwgc28gdGhpc1xuLy8gbGVuZ3RoZW5zIHRoZSBncmFkaWVudCdzIHBhaW50aW5nIGFyZWEgYnkgdGhlIHNhbWUgMC4xZW0uIFRoZSByYW1wIHN0cmV0Y2hlc1xuLy8gd2l0aCBpdCBhbmQgdGhlIGNvbG91cnMgbGFuZCBtYXJnaW5hbGx5IGxvd2VyIOKAlCB1bmRlciAxMCUgb2YgdGhlIHJhbXAgb24gYVxuLy8gc2luZ2xlLWxpbmUgaGVhZGluZywgcHJvcG9ydGlvbmFsbHkgbGVzcyBhcyBsaW5lcyBhcmUgYWRkZWQuIERlbGliZXJhdGVseSBub3Rcbi8vIGNvbXBlbnNhdGVkIHdpdGggYSBuZWdhdGl2ZSBtYXJnaW4gaGVyZTogYSBibG9jayB0aGF0IHNldHMgbWFyZ2luLWJvdHRvbVxuLy8gYWZ0ZXIgdGhlIGluY2x1ZGUgd291bGQgc2lsZW50bHkgY2FuY2VsIGl0LlxuLy9cbi8vIFRoZSByb29tIGEgZ2l2ZW4gc2V0dGluZyBhY3R1YWxseSBuZWVkcywgaW4gZW0sIGlzXG4vL1xuLy8gICBpbmtfZGVzY2VudCAtIGZvbnRfZGVzY2VudCArIChjb250ZW50X2FyZWEgLSBsaW5lX2hlaWdodCkgLyAyXG4vL1xuLy8gd2hpY2ggZm9yIHRoZSB0aHJlZSBmYWNlcyBpbiBwbGF5IHB1dHMgdGhlIGNsaXBwaW5nIHRocmVzaG9sZCBhdFxuLy9cbi8vICAgQXZlbmlyIExUIFBybyBCb2xkICAgICBpbmsgMC4yNDAyICBkZXNjZW50IDAuMjcwMCAgY29udGVudCAxLjIzMjUgIGxoIDwgMS4xNzNcbi8vICAgQXZlbmlyIExUIFBybyBNZWRpdW0gICBpbmsgMC4yNDAyICBkZXNjZW50IDAuMjcwMCAgY29udGVudCAxLjIyMDAgIGxoIDwgMS4xNjBcbi8vICAgQXZlbmlyIE5leHQgICAgICAgICAgICBpbmsgMC4yNDAwICBkZXNjZW50IDAuMzY1MCAgY29udGVudCAxLjM2NTAgIGxoIDwgMS4xMTVcbi8vXG4vLyBBdmVuaXIgTmV4dCdzIGRlZXBlciBkZXNjZW50IG1ldHJpYyBidXlzIGl0IDAuMDZlbSBvZiBzbGFjayB0aGUgTFQgUHJvIGZhY2VzXG4vLyBkb24ndCBoYXZlLCB3aGljaCBpcyB3aHkgdGhlIHR3byBhY2NvcmRpb24gaGVhZGluZ3MgYXQgbGluZS1oZWlnaHQgMS4xNSBkb24ndFxuLy8gY2xpcCB3aGlsZSB0aGUgTFQgUHJvIGhlYWRpbmdzIGF0IDEuMTExIGRvLiAoQ2hlY2tlZCB0aGUgV2luZG93cyBmYWxsYmFjayB0b286XG4vLyBnZW5lcmljIHNhbnMtc2VyaWYgaXMgMC4yMjEyIC8gMC4yMzAwIC8gMS4xNTAwLCB0aHJlc2hvbGQgMS4xMzIsIGFsc28gY2xlYXIuKVxuLy9cbi8vICRyb29tIGV4aXN0cyBmb3IgdGhlIHNoYWxsb3cgdGllci4gRWxldmVuIDQ1cHgvNTBweCBoZWFkaW5ncyBvdmVyaGFuZyBieVxuLy8gMS40cHg7IHRoZSBkZWZhdWx0IDAuMWVtIHdvdWxkIGZpeCB0aGF0IGF0IGEgY29zdCBvZiA0LjVweCBvZiBleHRyYSBnYXBcbi8vIHVuZGVyIGVhY2ggb25lLCBzbyB0aGV5IHRha2UgMC4wNWVtIGluc3RlYWQg4oCUIDIuMjVweCwgc3RpbGwgNjAlIGhlYWRyb29tIG92ZXIgdGhlIDEuNHB4LFxuLy8gZm9yIGEgZ2FwIGNoYW5nZSB0aGF0IHN0YXlzIHVuZGVyIHRoZSAycHggdGhlIGluayBpdHNlbGYgb2NjdXBpZXMuIEFueXRoaW5nXG4vLyBkZWVwZXIgdGhhbiB+Mi41cHggc2hvdWxkIHRha2UgdGhlIGRlZmF1bHQuXG5AbWl4aW4gdjItZ3JhZGllbnQtdGV4dC1kZXNjZW5kZXItcm9vbSgkcm9vbTogMC4xZW0pIHtcblx0cGFkZGluZy1ib3R0b206ICRyb29tO1xufVxuIiwiLy8gQnJlYWtwb2ludCB2aWV3cG9ydCBzaXplcyBhbmQgbWVkaWEgcXVlcmllcy5cbi8vXG4vLyBCcmVha3BvaW50cyBhcmUgZGVmaW5lZCBhcyBhIG1hcCBvZiAobmFtZTogbWluaW11bSB3aWR0aCksIG9yZGVyIGZyb20gc21hbGwgdG8gbGFyZ2U6XG4vL1xuLy8gICAgKHhzOiAwLCBzbTogNTc2cHgsIG1kOiA3NjhweCwgbGc6IDk5MnB4LCB4bDogMTIwMHB4LCB4eGw6IDE0MDBweClcbi8vXG4vLyBUaGUgbWFwIGRlZmluZWQgaW4gdGhlIGAkZ3JpZC1icmVha3BvaW50c2AgZ2xvYmFsIHZhcmlhYmxlIGlzIHVzZWQgYXMgdGhlIGAkYnJlYWtwb2ludHNgIGFyZ3VtZW50IGJ5IGRlZmF1bHQuXG5cbi8vIE5hbWUgb2YgdGhlIG5leHQgYnJlYWtwb2ludCwgb3IgbnVsbCBmb3IgdGhlIGxhc3QgYnJlYWtwb2ludC5cbi8vXG4vLyAgICA+PiBicmVha3BvaW50LW5leHQoc20pXG4vLyAgICBtZFxuLy8gICAgPj4gYnJlYWtwb2ludC1uZXh0KHNtLCAoeHM6IDAsIHNtOiA1NzZweCwgbWQ6IDc2OHB4LCBsZzogOTkycHgsIHhsOiAxMjAwcHgsIHh4bDogMTQwMHB4KSlcbi8vICAgIG1kXG4vLyAgICA+PiBicmVha3BvaW50LW5leHQoc20sICRicmVha3BvaW50LW5hbWVzOiAoeHMgc20gbWQgbGcgeGwgeHhsKSlcbi8vICAgIG1kXG5AZnVuY3Rpb24gYnJlYWtwb2ludC1uZXh0KCRuYW1lLCAkYnJlYWtwb2ludHM6ICRncmlkLWJyZWFrcG9pbnRzLCAkYnJlYWtwb2ludC1uYW1lczogbWFwLWtleXMoJGJyZWFrcG9pbnRzKSkge1xuICAkbjogaW5kZXgoJGJyZWFrcG9pbnQtbmFtZXMsICRuYW1lKTtcbiAgQGlmIG5vdCAkbiB7XG4gICAgQGVycm9yIFwiYnJlYWtwb2ludCBgI3skbmFtZX1gIG5vdCBmb3VuZCBpbiBgI3skYnJlYWtwb2ludHN9YFwiO1xuICB9XG4gIEByZXR1cm4gaWYoJG4gPCBsZW5ndGgoJGJyZWFrcG9pbnQtbmFtZXMpLCBudGgoJGJyZWFrcG9pbnQtbmFtZXMsICRuICsgMSksIG51bGwpO1xufVxuXG4vLyBNaW5pbXVtIGJyZWFrcG9pbnQgd2lkdGguIE51bGwgZm9yIHRoZSBzbWFsbGVzdCAoZmlyc3QpIGJyZWFrcG9pbnQuXG4vL1xuLy8gICAgPj4gYnJlYWtwb2ludC1taW4oc20sICh4czogMCwgc206IDU3NnB4LCBtZDogNzY4cHgsIGxnOiA5OTJweCwgeGw6IDEyMDBweCwgeHhsOiAxNDAwcHgpKVxuLy8gICAgNTc2cHhcbkBmdW5jdGlvbiBicmVha3BvaW50LW1pbigkbmFtZSwgJGJyZWFrcG9pbnRzOiAkZ3JpZC1icmVha3BvaW50cykge1xuICAkbWluOiBtYXAtZ2V0KCRicmVha3BvaW50cywgJG5hbWUpO1xuICBAcmV0dXJuIGlmKCRtaW4gIT0gMCwgJG1pbiwgbnVsbCk7XG59XG5cbi8vIE1heGltdW0gYnJlYWtwb2ludCB3aWR0aC5cbi8vIFRoZSBtYXhpbXVtIHZhbHVlIGlzIHJlZHVjZWQgYnkgMC4wMnB4IHRvIHdvcmsgYXJvdW5kIHRoZSBsaW1pdGF0aW9ucyBvZlxuLy8gYG1pbi1gIGFuZCBgbWF4LWAgcHJlZml4ZXMgYW5kIHZpZXdwb3J0cyB3aXRoIGZyYWN0aW9uYWwgd2lkdGhzLlxuLy8gU2VlIGh0dHBzOi8vd3d3LnczLm9yZy9UUi9tZWRpYXF1ZXJpZXMtNC8jbXEtbWluLW1heFxuLy8gVXNlcyAwLjAycHggcmF0aGVyIHRoYW4gMC4wMXB4IHRvIHdvcmsgYXJvdW5kIGEgY3VycmVudCByb3VuZGluZyBidWcgaW4gU2FmYXJpLlxuLy8gU2VlIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNzgyNjFcbi8vXG4vLyAgICA+PiBicmVha3BvaW50LW1heChtZCwgKHhzOiAwLCBzbTogNTc2cHgsIG1kOiA3NjhweCwgbGc6IDk5MnB4LCB4bDogMTIwMHB4LCB4eGw6IDE0MDBweCkpXG4vLyAgICA3NjcuOThweFxuQGZ1bmN0aW9uIGJyZWFrcG9pbnQtbWF4KCRuYW1lLCAkYnJlYWtwb2ludHM6ICRncmlkLWJyZWFrcG9pbnRzKSB7XG4gICRtYXg6IG1hcC1nZXQoJGJyZWFrcG9pbnRzLCAkbmFtZSk7XG4gIEByZXR1cm4gaWYoJG1heCBhbmQgJG1heCA+IDAsICRtYXggLSAuMDIsIG51bGwpO1xufVxuXG4vLyBSZXR1cm5zIGEgYmxhbmsgc3RyaW5nIGlmIHNtYWxsZXN0IGJyZWFrcG9pbnQsIG90aGVyd2lzZSByZXR1cm5zIHRoZSBuYW1lIHdpdGggYSBkYXNoIGluIGZyb250LlxuLy8gVXNlZnVsIGZvciBtYWtpbmcgcmVzcG9uc2l2ZSB1dGlsaXRpZXMuXG4vL1xuLy8gICAgPj4gYnJlYWtwb2ludC1pbmZpeCh4cywgKHhzOiAwLCBzbTogNTc2cHgsIG1kOiA3NjhweCwgbGc6IDk5MnB4LCB4bDogMTIwMHB4LCB4eGw6IDE0MDBweCkpXG4vLyAgICBcIlwiICAoUmV0dXJucyBhIGJsYW5rIHN0cmluZylcbi8vICAgID4+IGJyZWFrcG9pbnQtaW5maXgoc20sICh4czogMCwgc206IDU3NnB4LCBtZDogNzY4cHgsIGxnOiA5OTJweCwgeGw6IDEyMDBweCwgeHhsOiAxNDAwcHgpKVxuLy8gICAgXCItc21cIlxuQGZ1bmN0aW9uIGJyZWFrcG9pbnQtaW5maXgoJG5hbWUsICRicmVha3BvaW50czogJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgQHJldHVybiBpZihicmVha3BvaW50LW1pbigkbmFtZSwgJGJyZWFrcG9pbnRzKSA9PSBudWxsLCBcIlwiLCBcIi0jeyRuYW1lfVwiKTtcbn1cblxuLy8gTWVkaWEgb2YgYXQgbGVhc3QgdGhlIG1pbmltdW0gYnJlYWtwb2ludCB3aWR0aC4gTm8gcXVlcnkgZm9yIHRoZSBzbWFsbGVzdCBicmVha3BvaW50LlxuLy8gTWFrZXMgdGhlIEBjb250ZW50IGFwcGx5IHRvIHRoZSBnaXZlbiBicmVha3BvaW50IGFuZCB3aWRlci5cbkBtaXhpbiBtZWRpYS1icmVha3BvaW50LXVwKCRuYW1lLCAkYnJlYWtwb2ludHM6ICRncmlkLWJyZWFrcG9pbnRzKSB7XG4gICRtaW46IGJyZWFrcG9pbnQtbWluKCRuYW1lLCAkYnJlYWtwb2ludHMpO1xuICBAaWYgJG1pbiB7XG4gICAgQG1lZGlhIChtaW4td2lkdGg6ICRtaW4pIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfSBAZWxzZSB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cblxuLy8gTWVkaWEgb2YgYXQgbW9zdCB0aGUgbWF4aW11bSBicmVha3BvaW50IHdpZHRoLiBObyBxdWVyeSBmb3IgdGhlIGxhcmdlc3QgYnJlYWtwb2ludC5cbi8vIE1ha2VzIHRoZSBAY29udGVudCBhcHBseSB0byB0aGUgZ2l2ZW4gYnJlYWtwb2ludCBhbmQgbmFycm93ZXIuXG5AbWl4aW4gbWVkaWEtYnJlYWtwb2ludC1kb3duKCRuYW1lLCAkYnJlYWtwb2ludHM6ICRncmlkLWJyZWFrcG9pbnRzKSB7XG4gICRtYXg6IGJyZWFrcG9pbnQtbWF4KCRuYW1lLCAkYnJlYWtwb2ludHMpO1xuICBAaWYgJG1heCB7XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6ICRtYXgpIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfSBAZWxzZSB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cblxuLy8gTWVkaWEgdGhhdCBzcGFucyBtdWx0aXBsZSBicmVha3BvaW50IHdpZHRocy5cbi8vIE1ha2VzIHRoZSBAY29udGVudCBhcHBseSBiZXR3ZWVuIHRoZSBtaW4gYW5kIG1heCBicmVha3BvaW50c1xuQG1peGluIG1lZGlhLWJyZWFrcG9pbnQtYmV0d2VlbigkbG93ZXIsICR1cHBlciwgJGJyZWFrcG9pbnRzOiAkZ3JpZC1icmVha3BvaW50cykge1xuICAkbWluOiBicmVha3BvaW50LW1pbigkbG93ZXIsICRicmVha3BvaW50cyk7XG4gICRtYXg6IGJyZWFrcG9pbnQtbWF4KCR1cHBlciwgJGJyZWFrcG9pbnRzKTtcblxuICBAaWYgJG1pbiAhPSBudWxsIGFuZCAkbWF4ICE9IG51bGwge1xuICAgIEBtZWRpYSAobWluLXdpZHRoOiAkbWluKSBhbmQgKG1heC13aWR0aDogJG1heCkge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9IEBlbHNlIGlmICRtYXggPT0gbnVsbCB7XG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCgkbG93ZXIsICRicmVha3BvaW50cykge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9IEBlbHNlIGlmICRtaW4gPT0gbnVsbCB7XG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKCR1cHBlciwgJGJyZWFrcG9pbnRzKSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH1cbn1cblxuLy8gTWVkaWEgYmV0d2VlbiB0aGUgYnJlYWtwb2ludCdzIG1pbmltdW0gYW5kIG1heGltdW0gd2lkdGhzLlxuLy8gTm8gbWluaW11bSBmb3IgdGhlIHNtYWxsZXN0IGJyZWFrcG9pbnQsIGFuZCBubyBtYXhpbXVtIGZvciB0aGUgbGFyZ2VzdCBvbmUuXG4vLyBNYWtlcyB0aGUgQGNvbnRlbnQgYXBwbHkgb25seSB0byB0aGUgZ2l2ZW4gYnJlYWtwb2ludCwgbm90IHZpZXdwb3J0cyBhbnkgd2lkZXIgb3IgbmFycm93ZXIuXG5AbWl4aW4gbWVkaWEtYnJlYWtwb2ludC1vbmx5KCRuYW1lLCAkYnJlYWtwb2ludHM6ICRncmlkLWJyZWFrcG9pbnRzKSB7XG4gICRtaW46ICBicmVha3BvaW50LW1pbigkbmFtZSwgJGJyZWFrcG9pbnRzKTtcbiAgJG5leHQ6IGJyZWFrcG9pbnQtbmV4dCgkbmFtZSwgJGJyZWFrcG9pbnRzKTtcbiAgJG1heDogIGJyZWFrcG9pbnQtbWF4KCRuZXh0LCAkYnJlYWtwb2ludHMpO1xuXG4gIEBpZiAkbWluICE9IG51bGwgYW5kICRtYXggIT0gbnVsbCB7XG4gICAgQG1lZGlhIChtaW4td2lkdGg6ICRtaW4pIGFuZCAobWF4LXdpZHRoOiAkbWF4KSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH0gQGVsc2UgaWYgJG1heCA9PSBudWxsIHtcbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKCRuYW1lLCAkYnJlYWtwb2ludHMpIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfSBAZWxzZSBpZiAkbWluID09IG51bGwge1xuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bigkbmV4dCwgJGJyZWFrcG9pbnRzKSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH1cbn1cbiJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==*/