react-magma-dom 4.9.0-next.20 → 4.9.0-next.22
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/esm/index.js +25 -19
- package/dist/esm/index.js.map +1 -1
- package/dist/react-magma-dom.cjs.development.js +25 -19
- package/dist/react-magma-dom.cjs.development.js.map +1 -1
- package/dist/react-magma-dom.cjs.production.min.js +1 -1
- package/dist/react-magma-dom.cjs.production.min.js.map +1 -1
- package/package.json +1 -1
package/dist/esm/index.js
CHANGED
|
@@ -4867,7 +4867,7 @@ var InputIconPosition;
|
|
|
4867
4867
|
InputIconPosition["right"] = "right";
|
|
4868
4868
|
})(InputIconPosition || (InputIconPosition = {}));
|
|
4869
4869
|
var inputWrapperStyles = function inputWrapperStyles(props) {
|
|
4870
|
-
return /*#__PURE__*/css("flex:1 1 auto;align-items:center;display:flex;position:relative;width:", props.width || 'auto', ";background-color:", props.isInverse ? curriedTransparentize(0.8, props.theme.colors.neutral900) : props.theme.colors.neutral100, ";border-radius:", props.theme.borderRadius, ";border:1px solid ", props.isInverse ? curriedTransparentize(0.5, props.theme.colors.neutral100) : props.theme.colors.neutral500, ";height:", props.theme.spaceScale.spacing09, ";&:focus-within{outline:2px solid ", props.isInverse ? props.theme.colors.focusInverse : props.theme.colors.focus, ";outline-offset:-1px;}", props.hasError && /*#__PURE__*/css("border-color:", props.isInverse ? props.theme.colors.danger300 : props.theme.colors.danger, ";;label:inputWrapperStyles;" + (process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImluZGV4LnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUE0RFEiLCJmaWxlIjoiaW5kZXgudHN4Iiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgUmVhY3QgZnJvbSAncmVhY3QnO1xyXG5pbXBvcnQgeyBjc3MgfSBmcm9tICdAZW1vdGlvbi9yZWFjdCc7XHJcbmltcG9ydCBzdHlsZWQgZnJvbSAnQGVtb3Rpb24vc3R5bGVkJztcclxuaW1wb3J0IHsgdHJhbnNwYXJlbnRpemUgfSBmcm9tICdwb2xpc2hlZCc7XHJcbmltcG9ydCB7IENsZWFySWNvbiB9IGZyb20gJ3JlYWN0LW1hZ21hLWljb25zJztcclxuaW1wb3J0IHsgSTE4bkNvbnRleHQgfSBmcm9tICcuLi8uLi9pMThuJztcclxuaW1wb3J0IHsgdXNlSXNJbnZlcnNlIH0gZnJvbSAnLi4vLi4vaW52ZXJzZSc7XHJcbmltcG9ydCB7IFRoZW1lQ29udGV4dCB9IGZyb20gJy4uLy4uL3RoZW1lL1RoZW1lQ29udGV4dCc7XHJcbmltcG9ydCB7IHVzZUZvcmtlZFJlZiB9IGZyb20gJy4uLy4uL3V0aWxzJztcclxuaW1wb3J0IHsgQnV0dG9uU2hhcGUsIEJ1dHRvblNpemUsIEJ1dHRvblR5cGUsIEJ1dHRvblZhcmlhbnQgfSBmcm9tICcuLi9CdXR0b24nO1xyXG5pbXBvcnQgeyBJY29uQnV0dG9uIH0gZnJvbSAnLi4vSWNvbkJ1dHRvbic7XHJcbmltcG9ydCB7IExhYmVsUG9zaXRpb24gfSBmcm9tICcuLi9MYWJlbCc7XHJcbmltcG9ydCB7IENoaWxkcmVuV3JhcHBlciB9IGZyb20gJy4uL1N0eWxlZEJ1dHRvbic7XHJcbmV4cG9ydCB2YXIgSW5wdXRTaXplO1xyXG4oZnVuY3Rpb24gKElucHV0U2l6ZSkge1xyXG4gICAgSW5wdXRTaXplW1wibGFyZ2VcIl0gPSBcImxhcmdlXCI7XHJcbiAgICBJbnB1dFNpemVbXCJtZWRpdW1cIl0gPSBcIm1lZGl1bVwiO1xyXG59KShJbnB1dFNpemUgfHwgKElucHV0U2l6ZSA9IHt9KSk7XHJcbmV4cG9ydCB2YXIgSW5wdXRUeXBlO1xyXG4oZnVuY3Rpb24gKElucHV0VHlwZSkge1xyXG4gICAgSW5wdXRUeXBlW1wiZW1haWxcIl0gPSBcImVtYWlsXCI7XHJcbiAgICBJbnB1dFR5cGVbXCJmaWxlXCJdID0gXCJmaWxlXCI7XHJcbiAgICBJbnB1dFR5cGVbXCJudW1iZXJcIl0gPSBcIm51bWJlclwiO1xyXG4gICAgSW5wdXRUeXBlW1wicGFzc3dvcmRcIl0gPSBcInBhc3N3b3JkXCI7XHJcbiAgICBJbnB1dFR5cGVbXCJzZWFyY2hcIl0gPSBcInNlYXJjaFwiO1xyXG4gICAgSW5wdXRUeXBlW1widGV4dFwiXSA9IFwidGV4dFwiO1xyXG4gICAgSW5wdXRUeXBlW1widXJsXCJdID0gXCJ1cmxcIjtcclxuICAgIElucHV0VHlwZVtcInRlbFwiXSA9IFwidGVsXCI7XHJcbn0pKElucHV0VHlwZSB8fCAoSW5wdXRUeXBlID0ge30pKTtcclxuZXhwb3J0IHZhciBJbnB1dEljb25Qb3NpdGlvbjtcclxuKGZ1bmN0aW9uIChJbnB1dEljb25Qb3NpdGlvbikge1xyXG4gICAgSW5wdXRJY29uUG9zaXRpb25bXCJ0b3BcIl0gPSBcInRvcFwiO1xyXG4gICAgSW5wdXRJY29uUG9zaXRpb25bXCJsZWZ0XCJdID0gXCJsZWZ0XCI7XHJcbiAgICBJbnB1dEljb25Qb3NpdGlvbltcInJpZ2h0XCJdID0gXCJyaWdodFwiO1xyXG59KShJbnB1dEljb25Qb3NpdGlvbiB8fCAoSW5wdXRJY29uUG9zaXRpb24gPSB7fSkpO1xyXG5leHBvcnQgY29uc3QgaW5wdXRXcmFwcGVyU3R5bGVzID0gKHByb3BzKSA9PiBjc3MgYFxuICBmbGV4OiAxIDEgYXV0bztcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZGlzcGxheTogZmxleDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aWR0aDogJHtwcm9wcy53aWR0aCB8fCAnYXV0byd9O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAke3Byb3BzLmlzSW52ZXJzZVxyXG4gICAgPyB0cmFuc3BhcmVudGl6ZSgwLjgsIHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsOTAwKVxyXG4gICAgOiBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDEwMH07XG4gIGJvcmRlci1yYWRpdXM6ICR7cHJvcHMudGhlbWUuYm9yZGVyUmFkaXVzfTtcbiAgYm9yZGVyOiAxcHggc29saWRcbiAgICAke3Byb3BzLmlzSW52ZXJzZVxyXG4gICAgPyB0cmFuc3BhcmVudGl6ZSgwLjUsIHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsMTAwKVxyXG4gICAgOiBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDUwMH07XG4gIGhlaWdodDogJHtwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwOX07XG5cbiAgJjpmb2N1cy13aXRoaW4ge1xuICAgIG91dGxpbmU6IDJweCBzb2xpZFxuICAgICAgJHtwcm9wcy5pc0ludmVyc2VcclxuICAgID8gcHJvcHMudGhlbWUuY29sb3JzLmZvY3VzSW52ZXJzZVxyXG4gICAgOiBwcm9wcy50aGVtZS5jb2xvcnMuZm9jdXN9O1xuICAgIG91dGxpbmUtb2Zmc2V0OiAtMXB4O1xuICB9XG5cbiAgJHtwcm9wcy5oYXNFcnJvciAmJlxyXG4gICAgY3NzIGBcbiAgICBib3JkZXItY29sb3I6ICR7cHJvcHMuaXNJbnZlcnNlXHJcbiAgICAgICAgPyBwcm9wcy50aGVtZS5jb2xvcnMuZGFuZ2VyMzAwXHJcbiAgICAgICAgOiBwcm9wcy50aGVtZS5jb2xvcnMuZGFuZ2VyfTtcbiAgYH1cblxuICAke3Byb3BzLmRpc2FibGVkICYmXHJcbiAgICBjc3MgYFxuICAgIGJvcmRlci1jb2xvcjogJHtwcm9wcy5pc0ludmVyc2VcclxuICAgICAgICA/IHRyYW5zcGFyZW50aXplKDAuODUsIHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsMTAwKVxyXG4gICAgICAgIDogcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWwzMDB9O1xuICAgIGJhY2tncm91bmQtY29sb3I6ICR7cHJvcHMuaXNJbnZlcnNlXHJcbiAgICAgICAgPyB0cmFuc3BhcmVudGl6ZSgwLjksIHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsOTAwKVxyXG4gICAgICAgIDogcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWwyMDB9O1xuICBgfVxuXG4gICR7cHJvcHMuaW5wdXRTaXplID09PSAnbGFyZ2UnICYmXHJcbiAgICBjc3MgYFxuICAgIGhlaWdodDogJHtwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcxMX07XG4gIGB9XG5gO1xyXG5mdW5jdGlvbiBnZXRJbnB1dFBhZGRpbmcocHJvcHMpIHtcclxuICAgIGNvbnN0IHsgaW5wdXRTaXplLCBpc0NsZWFyYWJsZSwgaWNvblBvc2l0aW9uIH0gPSBwcm9wcztcclxuICAgIGNvbnN0IHBhZGRpbmcgPSB7XHJcbiAgICAgICAgbGVmdDogcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDMsXHJcbiAgICAgICAgcmlnaHQ6IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzAzLFxyXG4gICAgfTtcclxuICAgIGlmIChpbnB1dFNpemUgPT09ICdsYXJnZScpIHtcclxuICAgICAgICBpZiAoaXNDbGVhcmFibGUpIHtcclxuICAgICAgICAgICAgaWYgKGljb25Qb3NpdGlvbiA9PT0gJ3JpZ2h0Jykge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy5yaWdodCA9ICc5MnB4JztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBlbHNlIGlmIChpY29uUG9zaXRpb24gPT09ICdsZWZ0Jykge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy5sZWZ0ID0gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMTE7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLnJpZ2h0ID0gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMTE7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICAgICAgICAvLyBpY29uIHRvcCwgbm8gaWNvblxyXG4gICAgICAgICAgICAgICAgcGFkZGluZy5yaWdodCA9IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzExO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgICBpZiAoaWNvblBvc2l0aW9uID09PSAncmlnaHQnKSB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLnJpZ2h0ID0gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMTA7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgaWYgKGljb25Qb3NpdGlvbiA9PT0gJ2xlZnQnKSB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLmxlZnQgPSBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcxMDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIGVsc2UgaWYgKGlucHV0U2l6ZSA9PT0gJ21lZGl1bScpIHtcclxuICAgICAgICBpZiAoaXNDbGVhcmFibGUpIHtcclxuICAgICAgICAgICAgaWYgKGljb25Qb3NpdGlvbiA9PT0gJ3JpZ2h0Jykge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy5yaWdodCA9ICc2OHB4JztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBlbHNlIGlmIChpY29uUG9zaXRpb24gPT09ICdsZWZ0Jykge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy5sZWZ0ID0gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDk7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLnJpZ2h0ID0gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICAgICAgICAvLyBpY29uIHRvcCwgbm8gaWNvblxyXG4gICAgICAgICAgICAgICAgcGFkZGluZy5yaWdodCA9IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzA5O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgICBpZiAoaWNvblBvc2l0aW9uID09PSAncmlnaHQnKSB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLnJpZ2h0ID0gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgaWYgKGljb25Qb3NpdGlvbiA9PT0gJ2xlZnQnKSB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLmxlZnQgPSBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwOTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIHJldHVybiBwYWRkaW5nO1xyXG59XHJcbmV4cG9ydCBjb25zdCBpbnB1dEJhc2VTdHlsZXMgPSAocHJvcHMpID0+IGNzcyBgXG4gIGJvcmRlcjogMDtcbiAgYm9yZGVyLXJhZGl1czogJHtwcm9wcy50aGVtZS5ib3JkZXJSYWRpdXN9O1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgY29sb3I6ICR7cHJvcHMuaXNJbnZlcnNlXHJcbiAgICA/IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsMTAwXHJcbiAgICA6IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsNzAwfTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGZvbnQtc2l6ZTogJHtwcm9wcy50aGVtZS50eXBlU2NhbGUuc2l6ZTAzLmZvbnRTaXplfTtcbiAgbGluZS1oZWlnaHQ6ICR7cHJvcHMudGhlbWUudHlwZVNjYWxlLnNpemUwMy5saW5lSGVpZ2h0fTtcbiAgZm9udC1mYW1pbHk6ICR7cHJvcHMudGhlbWUuYm9keUZvbnR9O1xuICBoZWlnaHQ6IDEwMCU7XG4gIHBhZGRpbmc6ICR7cHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDN9O1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gIHdpZHRoOiAxMDAlO1xuXG4gICR7cHJvcHMuaW5wdXRTaXplID09PSAnbGFyZ2UnICYmXHJcbiAgICBjc3MgYFxuICAgIGZvbnQtc2l6ZTogJHtwcm9wcy50aGVtZS50eXBlU2NhbGUuc2l6ZTA0LmZvbnRTaXplfTtcbiAgICBsaW5lLWhlaWdodDogJHtwcm9wcy50aGVtZS50eXBlU2NhbGUuc2l6ZTA0LmxpbmVIZWlnaHR9O1xuICAgIHBhZGRpbmc6ICR7cHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDR9O1xuICBgfVxuXG4gIHBhZGRpbmctbGVmdDogJHtnZXRJbnB1dFBhZGRpbmcocHJvcHMpLmxlZnR9O1xuICBwYWRkaW5nLXJpZ2h0OiAke2dldElucHV0UGFkZGluZyhwcm9wcykucmlnaHR9O1xuXG4gICY6OnBsYWNlaG9sZGVyIHtcbiAgICBjb2xvcjogJHtwcm9wcy5pc0ludmVyc2VcclxuICAgID8gdHJhbnNwYXJlbnRpemUoMC4zLCBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDEwMClcclxuICAgIDogcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWw1MDB9O1xuICB9XG5cbiAgJjpmb2N1cyB7XG4gICAgb3V0bGluZTogMDtcbiAgfVxuXG4gICZbdHlwZT0nc2VhcmNoJ10ge1xuICAgICY6Oi13ZWJraXQtc2VhcmNoLWRlY29yYXRpb24sXG4gICAgJjo6LXdlYmtpdC1zZWFyY2gtY2FuY2VsLWJ1dHRvbixcbiAgICAmOjotd2Via2l0LXNlYXJjaC1yZXN1bHRzLWJ1dHRvbixcbiAgICAmOjotd2Via2l0LXNlYXJjaC1yZXN1bHRzLWRlY29yYXRpb24ge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gIH1cblxuICAke3Byb3BzLmRpc2FibGVkICYmXHJcbiAgICBjc3MgYFxuICAgIGNvbG9yOiAke3Byb3BzLmlzSW52ZXJzZVxyXG4gICAgICAgID8gdHJhbnNwYXJlbnRpemUoMC42LCBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDEwMClcclxuICAgICAgICA6IHRyYW5zcGFyZW50aXplKDAuNCwgcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWw1MDApfTtcbiAgICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xuXG4gICAgJjo6cGxhY2Vob2xkZXIge1xuICAgICAgY29sb3I6ICR7cHJvcHMuaXNJbnZlcnNlXHJcbiAgICAgICAgPyB0cmFuc3BhcmVudGl6ZSgwLjgsIHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsMTAwKVxyXG4gICAgICAgIDogcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWw1MDB9O1xuICAgICAgb3BhY2l0eTogJHtwcm9wcy5pc0ludmVyc2UgPyAwLjQgOiAwLjZ9O1xuICAgIH1cbiAgYH1cblxuICAmOi13ZWJraXQtYXV0b2ZpbGwsXG4gICY6LXdlYmtpdC1hdXRvZmlsbDpmb2N1cyxcbiAgJjotd2Via2l0LWF1dG9maWxsOmhvdmVyLFxuICAmOi13ZWJraXQtYXV0b2ZpbGw6YWN0aXZlIHtcbiAgICBib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XG4gICAgLXdlYmtpdC1iYWNrZ3JvdW5kLWNsaXA6IHRleHQ7XG4gICAgLXdlYmtpdC10ZXh0LWZpbGwtY29sb3I6ICR7cHJvcHMuaXNJbnZlcnNlXHJcbiAgICA/IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsMTAwXHJcbiAgICA6IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsNzAwfSAhaW1wb3J0YW50O1xuICAgIGNhcmV0LWNvbG9yOiAke3Byb3BzLmlzSW52ZXJzZVxyXG4gICAgPyBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDEwMFxyXG4gICAgOiBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDcwMH0gIWltcG9ydGFudDtcbiAgfVxuYDtcclxuY29uc3QgSW5wdXRDb250YWluZXIgPSBzdHlsZWQuZGl2IGBcbiAgZGlzcGxheTogZmxleDtcbmA7XHJcbmV4cG9ydCBjb25zdCBJbnB1dFdyYXBwZXIgPSBzdHlsZWQuZGl2IGBcbiAgJHtpbnB1dFdyYXBwZXJTdHlsZXN9XG5gO1xyXG5jb25zdCBTdHlsZWRJbnB1dCA9IHN0eWxlZC5pbnB1dCBgXG4gICR7aW5wdXRCYXNlU3R5bGVzfVxuYDtcclxuY29uc3QgSWNvbldyYXBwZXIgPSBzdHlsZWQuc3BhbiBgXG4gIGJvdHRvbTogJHtwcm9wcyA9PiAocHJvcHMuaWNvblBvc2l0aW9uID09PSAndG9wJyA/ICc0NXB4JyA6ICdpbmhlcml0Jyl9O1xuICBjb2xvcjogJHtwcm9wcyA9PiBwcm9wcy5pc0ludmVyc2VcclxuICAgID8gcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWwxMDBcclxuICAgIDogcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWw3MDB9O1xuICBsZWZ0OiAke3Byb3BzID0+IHByb3BzLmljb25Qb3NpdGlvbiA9PT0gJ2xlZnQnID8gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDMgOiAnYXV0byd9O1xuICByaWdodDogJHtwcm9wcyA9PiBwcm9wcy5pY29uUG9zaXRpb24gPT09ICdyaWdodCdcclxuICAgID8gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDNcclxuICAgIDogcHJvcHMuaWNvblBvc2l0aW9uID09PSAndG9wJ1xyXG4gICAgICAgID8gJzNweCdcclxuICAgICAgICA6ICdhdXRvJ307XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAke3Byb3BzID0+IHByb3BzLmljb25Qb3NpdGlvbiA9PT0gJ3RvcCdcclxuICAgID8gJ2luaGVyaXQnXHJcbiAgICA6IHByb3BzID0+IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzAzfTtcblxuICAke3Byb3BzID0+IHByb3BzLmlucHV0U2l6ZSA9PT0gJ2xhcmdlJyAmJlxyXG4gICAgY3NzIGBcbiAgICAgIGJvdHRvbTogJHtwcm9wcy5pY29uUG9zaXRpb24gPT09ICd0b3AnID8gJzYycHgnIDogJ2luaGVyaXQnfTtcbiAgICAgIGxlZnQ6ICR7cHJvcHMuaWNvblBvc2l0aW9uID09PSAnbGVmdCdcclxuICAgICAgICA/IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzA0XHJcbiAgICAgICAgOiAnYXV0byd9O1xuICAgICAgcmlnaHQ6ICR7cHJvcHMuaWNvblBvc2l0aW9uID09PSAncmlnaHQnXHJcbiAgICAgICAgPyBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwNFxyXG4gICAgICAgIDogcHJvcHMuaWNvblBvc2l0aW9uID09PSAndG9wJ1xyXG4gICAgICAgICAgICA/ICczcHgnXHJcbiAgICAgICAgICAgIDogJ2F1dG8nfTtcbiAgICAgIHRvcDogJHtwcm9wcy5pY29uUG9zaXRpb24gPT09ICd0b3AnXHJcbiAgICAgICAgPyAnaW5oZXJpdCdcclxuICAgICAgICA6IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzA0fTtcbiAgICBgfVxuYDtcclxuZnVuY3Rpb24gZ2V0SWNvbkJ1dHRvblNWR1NpemUocHJvcHMpIHtcclxuICAgIGNvbnN0IHsgaXNDbGlja2FibGUsIGljb25Qb3NpdGlvbiwgaW5wdXRTaXplLCB0aGVtZSB9ID0gcHJvcHM7XHJcbiAgICBpZiAoaXNDbGlja2FibGUgJiYgaWNvblBvc2l0aW9uID09PSBJbnB1dEljb25Qb3NpdGlvbi50b3ApIHtcclxuICAgICAgICBpZiAoaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2UpIHtcclxuICAgICAgICAgICAgcmV0dXJuIGAke3RoZW1lLmljb25TaXplcy5tZWRpdW19cHhgO1xyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gYCR7dGhlbWUuaWNvblNpemVzLnNtYWxsfXB4YDtcclxuICAgIH1cclxuICAgIGlmIChpbnB1dFNpemUgPT09IElucHV0U2l6ZS5sYXJnZSkge1xyXG4gICAgICAgIHJldHVybiBgJHt0aGVtZS5pY29uU2l6ZXMubGFyZ2V9cHhgO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIGAke3RoZW1lLmljb25TaXplcy5tZWRpdW19cHhgO1xyXG59XHJcbmZ1bmN0aW9uIGdldEhlbHBMaW5rU1ZHU2l6ZShwcm9wcykge1xyXG4gICAgY29uc3QgeyBpbnB1dFNpemUsIHRoZW1lIH0gPSBwcm9wcztcclxuICAgIGlmIChpbnB1dFNpemUgPT09IElucHV0U2l6ZS5sYXJnZSkge1xyXG4gICAgICAgIHJldHVybiBgJHt0aGVtZS5pY29uU2l6ZXMubWVkaXVtfXB4YDtcclxuICAgIH1cclxuICAgIHJldHVybiBgJHt0aGVtZS5pY29uU2l6ZXMuc21hbGx9cHhgO1xyXG59XHJcbmV4cG9ydCBmdW5jdGlvbiBnZXRIZWxwSWNvbkJ1dHRvblNpemUocHJvcHMpIHtcclxuICAgIGNvbnN0IHsgaW5wdXRTaXplLCB0aGVtZSB9ID0gcHJvcHM7XHJcbiAgICBpZiAoaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2UpIHtcclxuICAgICAgICByZXR1cm4gdGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDk7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gdGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDc7XHJcbn1cclxuZnVuY3Rpb24gZ2V0SWNvbkJ1dHRvblRyYW5zZm9ybShwcm9wcykge1xyXG4gICAgY29uc3QgeyBpc0NsaWNrYWJsZSwgaWNvblBvc2l0aW9uLCBpbnB1dFNpemUsIGhhc0NoaWxkcmVuLCB0aGVtZSB9ID0gcHJvcHM7XHJcbiAgICBjb25zdCBwb3NpdGlvbiA9IHsgeDogJycsIHk6ICcnIH07XHJcbiAgICBpZiAoaWNvblBvc2l0aW9uID09PSBJbnB1dEljb25Qb3NpdGlvbi50b3ApIHtcclxuICAgICAgICBpZiAoaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2UpIHtcclxuICAgICAgICAgICAgcG9zaXRpb24ueCA9ICctMzBweCc7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uLnkgPSAnMnB4JztcclxuICAgICAgICB9XHJcbiAgICAgICAgZWxzZSBpZiAoaW5wdXRTaXplID09PSBJbnB1dFNpemUubWVkaXVtKSB7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uLnggPSAnLTI4cHgnO1xyXG4gICAgICAgICAgICBwb3NpdGlvbi55ID0gJzVweCc7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiBwb3NpdGlvbjtcclxuICAgIH1cclxuICAgIGlmIChpc0NsaWNrYWJsZSkge1xyXG4gICAgICAgIGlmIChpbnB1dFNpemUgPT09IElucHV0U2l6ZS5sYXJnZSkge1xyXG4gICAgICAgICAgICBpZiAoaGFzQ2hpbGRyZW4pIHtcclxuICAgICAgICAgICAgICAgIHBvc2l0aW9uLnggPSAnLTQzcHgnO1xyXG4gICAgICAgICAgICAgICAgcG9zaXRpb24ueSA9ICcxNHB4JztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBlbHNlIHtcclxuICAgICAgICAgICAgICAgIHBvc2l0aW9uLnggPSAnLTQ5cHgnO1xyXG4gICAgICAgICAgICAgICAgcG9zaXRpb24ueSA9ICc4cHgnO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2UgaWYgKGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLm1lZGl1bSkge1xyXG4gICAgICAgICAgICBwb3NpdGlvbi54ID0gJy0zNXB4JztcclxuICAgICAgICAgICAgcG9zaXRpb24ueSA9ICc2cHgnO1xyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gcG9zaXRpb247XHJcbiAgICB9XHJcbiAgICBpZiAoaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2UpIHtcclxuICAgICAgICBwb3NpdGlvbi54ID0gYC0ke3RoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzEwfWA7XHJcbiAgICAgICAgcG9zaXRpb24ueSA9IHRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzAzO1xyXG4gICAgfVxyXG4gICAgZWxzZSBpZiAoaW5wdXRTaXplID09PSBJbnB1dFNpemUubWVkaXVtKSB7XHJcbiAgICAgICAgcG9zaXRpb24ueCA9ICctMjRweCc7XHJcbiAgICAgICAgcG9zaXRpb24ueSA9ICc3cHgnO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIHBvc2l0aW9uO1xyXG59XHJcbmV4cG9ydCBjb25zdCBJY29uQnV0dG9uQ29udGFpbmVyID0gc3R5bGVkLnNwYW4gYFxuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgYm90dG9tOiAke3Byb3BzID0+IChwcm9wcy5pY29uUG9zaXRpb24gPT09ICd0b3AnID8gJzQwcHgnIDogJ2luaGVyaXQnKX07XG4gIGhlaWdodDogYXV0bztcbiAgbWFyZ2luOiAwO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiAwO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZShcbiAgICAke3Byb3BzID0+IGdldEljb25CdXR0b25UcmFuc2Zvcm0ocHJvcHMpLnh9LFxuICAgICR7cHJvcHMgPT4gZ2V0SWNvbkJ1dHRvblRyYW5zZm9ybShwcm9wcykueX1cbiAgKTtcbiAgc3ZnIHtcbiAgICBoZWlnaHQ6ICR7cHJvcHMgPT4gZ2V0SWNvbkJ1dHRvblNWR1NpemUocHJvcHMpfTtcbiAgICB3aWR0aDogJHtwcm9wcyA9PiBnZXRJY29uQnV0dG9uU1ZHU2l6ZShwcm9wcyl9O1xuICB9XG5gO1xyXG5jb25zdCBQYXNzd29yZEJ1dHRvbkNvbnRhaW5lciA9IHN0eWxlZC5zcGFuIGBcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIHdpZHRoOiAwO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZShcbiAgICAke3Byb3BzID0+IHByb3BzLnNpemUgPT09IElucHV0U2l6ZS5sYXJnZVxyXG4gICAgPyBgJHstcHJvcHMuYnV0dG9uV2lkdGggLSA4fXB4YFxyXG4gICAgOiBgJHstcHJvcHMuYnV0dG9uV2lkdGggLSA2fXB4YH0sXG4gICAgJHtwcm9wcyA9PiBwcm9wcy5zaXplID09PSBJbnB1dFNpemUubGFyZ2UgPyBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwMyA6ICc2cHgnfVxuICApO1xuYDtcclxuZnVuY3Rpb24gZ2V0Q2xlYXJhYmxlUG9zaXRpb24ocHJvcHMpIHtcclxuICAgIGlmIChwcm9wcy5pY29uUG9zaXRpb24gPT09ICdyaWdodCcgJiYgcHJvcHMuaWNvbikge1xyXG4gICAgICAgIGlmIChwcm9wcy5pbnB1dFNpemUgPT09ICdsYXJnZScpIHtcclxuICAgICAgICAgICAgcmV0dXJuIHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzEzO1xyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gJzcycHgnO1xyXG4gICAgfVxyXG4gICAgaWYgKHByb3BzLmlucHV0U2l6ZSA9PT0gJ2xhcmdlJykge1xyXG4gICAgICAgIHJldHVybiBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcxMDtcclxuICAgIH1cclxuICAgIHJldHVybiAnMzRweCc7XHJcbn1cclxuY29uc3QgSXNDbGVhcmFibGVDb250YWluZXIgPSBzdHlsZWQuc3BhbiBgXG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBtYXJnaW46IDA7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgaGVpZ2h0OiBhdXRvO1xuICB3aWR0aDogMDtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoXG4gICAgLSR7cHJvcHMgPT4gZ2V0Q2xlYXJhYmxlUG9zaXRpb24ocHJvcHMpfSxcbiAgICAke3Byb3BzID0+IHByb3BzLmlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlXHJcbiAgICA/IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzAzXHJcbiAgICA6ICc2cHgnfVxuICApO1xuYDtcclxuZnVuY3Rpb24gZ2V0SWNvblNpemUoc2l6ZSwgdGhlbWUsIGljb25Qb3NpdGlvbikge1xyXG4gICAgc3dpdGNoIChzaXplKSB7XHJcbiAgICAgICAgY2FzZSAnbGFyZ2UnOlxyXG4gICAgICAgICAgICBpZiAoaWNvblBvc2l0aW9uID09PSBJbnB1dEljb25Qb3NpdGlvbi50b3ApIHtcclxuICAgICAgICAgICAgICAgIHJldHVybiB0aGVtZS5pY29uU2l6ZXMubWVkaXVtO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHJldHVybiB0aGVtZS5pY29uU2l6ZXMubGFyZ2U7XHJcbiAgICAgICAgZGVmYXVsdDpcclxuICAgICAgICAgICAgaWYgKGljb25Qb3NpdGlvbiA9PT0gSW5wdXRJY29uUG9zaXRpb24udG9wKSB7XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gdGhlbWUuaWNvblNpemVzLnNtYWxsO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHJldHVybiB0aGVtZS5pY29uU2l6ZXMubWVkaXVtO1xyXG4gICAgfVxyXG59XHJcbmV4cG9ydCBjb25zdCBpc0xlZnRPckhpZGRlbiA9ICh7IGxhYmVsUG9zaXRpb24sIGlzTGFiZWxWaXN1YWxseUhpZGRlbiwgfSkgPT4gbGFiZWxQb3NpdGlvbiA9PT0gTGFiZWxQb3NpdGlvbi5sZWZ0IHx8IGlzTGFiZWxWaXN1YWxseUhpZGRlbjtcclxuZXhwb3J0IGNvbnN0IEhlbHBMaW5rQ29udGFpbmVyID0gc3R5bGVkLnNwYW4gYFxuICBwb3NpdGlvbjogJHtwcm9wcyA9PiAoaXNMZWZ0T3JIaWRkZW4ocHJvcHMpID8gJ3JlbGF0aXZlJyA6ICdhYnNvbHV0ZScpfTtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cbiAgaGVpZ2h0OiAke3Byb3BzID0+IChpc0xlZnRPckhpZGRlbihwcm9wcykgPyAnYXV0bycgOiAnZml0LWNvbnRlbnQnKX07XG4gIG1hcmdpbi1pbmxpbmUtc3RhcnQ6ICR7cHJvcHMgPT4gaXNMZWZ0T3JIaWRkZW4ocHJvcHMpID8gYCR7cHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDN9YCA6ICdhdXRvJ307XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWShcbiAgICAke3Byb3BzID0+IGlzTGVmdE9ySGlkZGVuKHByb3BzKVxyXG4gICAgPyAnMCdcclxuICAgIDogYGNhbGMoLTEwMCUgLSAke3Byb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzAzfSlgfVxuICApO1xuICAke0NoaWxkcmVuV3JhcHBlcn0gPiBzdmcge1xuICAgIGhlaWdodDogJHtwcm9wcyA9PiBnZXRIZWxwTGlua1NWR1NpemUocHJvcHMpfTtcbiAgICB3aWR0aDogJHtwcm9wcyA9PiBnZXRIZWxwTGlua1NWR1NpemUocHJvcHMpfTtcbiAgfVxuICBidXR0b24ge1xuICAgIGhlaWdodDogJHtwcm9wcyA9PiBnZXRIZWxwSWNvbkJ1dHRvblNpemUocHJvcHMpfTtcbiAgICB3aWR0aDogJHtwcm9wcyA9PiBnZXRIZWxwSWNvbkJ1dHRvblNpemUocHJvcHMpfTtcbiAgfVxuICBpbnNldC1pbmxpbmUtZW5kOiAke3Byb3BzID0+IChpc0xlZnRPckhpZGRlbihwcm9wcykgPyAnYXV0bycgOiAnMCcpfTtcbmA7XHJcbmV4cG9ydCBjb25zdCBJbnB1dEJhc2UgPSBSZWFjdC5mb3J3YXJkUmVmKChwcm9wcywgZm9yd2FyZGVkUmVmKSA9PiB7XHJcbiAgICBjb25zdCB7IGNoaWxkcmVuLCBjb250YWluZXJTdHlsZSwgZGVmYXVsdFZhbHVlLCBkaXNhYmxlZCwgaGFzQ2hhcmFjdGVyQ291bnRlciwgaGFzRXJyb3IsIGljb24sIGljb25BcmlhTGFiZWwsIGljb25SZWYsIGlzQ2xlYXJhYmxlLCBpc1Bhc3N3b3JkSW5wdXQsIGlzUHJlZGljdGl2ZSwgbWF4Q291bnQsIG1heExlbmd0aCwgb25DbGVhciwgb25JY29uQ2xpY2ssIG9uSWNvbktleURvd24sIG9uRGF0ZUNoYW5nZSwgaW5wdXRMZW5ndGgsIGlucHV0U2l6ZSwgaW5wdXRTdHlsZSwgaW5wdXRXcmFwcGVyU3R5bGUsIHRlc3RJZCwgdHlwZSwgc2V0UmVmZXJlbmNlLCBpc0xhYmVsVmlzdWFsbHlIaWRkZW4sIGxhYmVsUG9zaXRpb24sIC4uLm90aGVyIH0gPSBwcm9wcztcclxuICAgIGNvbnN0IGkxOG4gPSBSZWFjdC51c2VDb250ZXh0KEkxOG5Db250ZXh0KTtcclxuICAgIGNvbnN0IHRoZW1lID0gUmVhY3QudXNlQ29udGV4dChUaGVtZUNvbnRleHQpO1xyXG4gICAgY29uc3QgaWNvblBvc2l0aW9uID0gaWNvbiAmJiBvbkljb25DbGlja1xyXG4gICAgICAgID8gSW5wdXRJY29uUG9zaXRpb24ucmlnaHRcclxuICAgICAgICA6IGljb24gJiYgIXByb3BzLmljb25Qb3NpdGlvblxyXG4gICAgICAgICAgICA/IElucHV0SWNvblBvc2l0aW9uLmxlZnRcclxuICAgICAgICAgICAgOiBwcm9wcy5pY29uUG9zaXRpb247XHJcbiAgICBjb25zdCBbdmFsdWUsIHNldFZhbHVlXSA9IFJlYWN0LnVzZVN0YXRlKHByb3BzLmRlZmF1bHRWYWx1ZSAhPT0gdW5kZWZpbmVkICYmIHByb3BzLmRlZmF1bHRWYWx1ZSAhPT0gbnVsbFxyXG4gICAgICAgID8gcHJvcHMuZGVmYXVsdFZhbHVlXHJcbiAgICAgICAgOiBwcm9wcy52YWx1ZSB8fCAnJyk7XHJcbiAgICBjb25zdCBtYXhMZW5ndGhOdW0gPSAhaGFzQ2hhcmFjdGVyQ291bnRlciAmJiBtYXhMZW5ndGggPyBtYXhMZW5ndGggOiB1bmRlZmluZWQ7XHJcbiAgICBSZWFjdC51c2VFZmZlY3QoKCkgPT4ge1xyXG4gICAgICAgIGlmIChwcm9wcy52YWx1ZSAhPT0gdW5kZWZpbmVkICYmIHByb3BzLnZhbHVlICE9PSBudWxsKSB7XHJcbiAgICAgICAgICAgIHNldFZhbHVlKHByb3BzLnZhbHVlKTtcclxuICAgICAgICB9XHJcbiAgICB9LCBbcHJvcHMudmFsdWVdKTtcclxuICAgIGNvbnN0IGlucHV0UmVmID0gUmVhY3QudXNlUmVmKCk7XHJcbiAgICBjb25zdCByZWYgPSB1c2VGb3JrZWRSZWYoZm9yd2FyZGVkUmVmLCBpbnB1dFJlZik7XHJcbiAgICBmdW5jdGlvbiBoYW5kbGVDbGVhcklucHV0KCkge1xyXG4gICAgICAgIG9uQ2xlYXIgJiYgdHlwZW9mIG9uQ2xlYXIgPT09ICdmdW5jdGlvbicgJiYgb25DbGVhcigpO1xyXG4gICAgICAgIHNldFZhbHVlKCcnKTtcclxuICAgICAgICBvbkRhdGVDaGFuZ2UgJiYgdHlwZW9mIG9uRGF0ZUNoYW5nZSA9PT0gJ2Z1bmN0aW9uJyAmJiBvbkRhdGVDaGFuZ2UobnVsbCk7XHJcbiAgICAgICAgaW5wdXRSZWYuY3VycmVudC5mb2N1cygpO1xyXG4gICAgfVxyXG4gICAgZnVuY3Rpb24gaGFuZGxlQ2hhbmdlKGV2ZW50KSB7XHJcbiAgICAgICAgcHJvcHMub25DaGFuZ2UgJiZcclxuICAgICAgICAgICAgdHlwZW9mIHByb3BzLm9uQ2hhbmdlID09PSAnZnVuY3Rpb24nICYmXHJcbiAgICAgICAgICAgIHByb3BzLm9uQ2hhbmdlKGV2ZW50KTtcclxuICAgICAgICBzZXRWYWx1ZShldmVudC50YXJnZXQudmFsdWUpO1xyXG4gICAgICAgIGlmICghZXZlbnQudGFyZ2V0LnZhbHVlICYmXHJcbiAgICAgICAgICAgIG9uRGF0ZUNoYW5nZSAmJlxyXG4gICAgICAgICAgICB0eXBlb2Ygb25EYXRlQ2hhbmdlID09PSAnZnVuY3Rpb24nKVxyXG4gICAgICAgICAgICBvbkRhdGVDaGFuZ2UobnVsbCk7XHJcbiAgICB9XHJcbiAgICBjb25zdCBwYXNzd29yZEJ0bldpZHRoID0gKCkgPT4ge1xyXG4gICAgICAgIGNvbnN0IGJ0bldpZHRoID0gY2hpbGRyZW4/LnByb3BzPy5jaGlsZHJlbj8uWzBdPy5yZWY/LmN1cnJlbnQ/Lm9mZnNldFdpZHRoO1xyXG4gICAgICAgIGlmICh0eXBlb2YgYnRuV2lkdGggPT09ICdudW1iZXInKSB7XHJcbiAgICAgICAgICAgIHJldHVybiBidG5XaWR0aDtcclxuICAgICAgICB9XHJcbiAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICAgIC8vIFdoZW4gUGFzc3dvcmRCdXR0b24gaXMgdXNlZCBpbnNpZGUgU2NoZW1hUmVuZGVyZXIsIGl0IGRvZXNuJ3QgaGF2ZSBjaGlsZHJlbi5cclxuICAgICAgICAgICAgLy8gV2UnbGwgdXNlIHRoZSBkZWZhdWx0IGJ1dHRvbiBzaXplcy5cclxuICAgICAgICAgICAgaWYgKHByb3BzLmlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gNjQ7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgcmV0dXJuIDU0O1xyXG4gICAgICAgIH1cclxuICAgIH07XHJcbiAgICByZXR1cm4gKFJlYWN0LmNyZWF0ZUVsZW1lbnQoXCJkaXZcIiwgeyByZWY6IHNldFJlZmVyZW5jZSB9LFxyXG4gICAgICAgIFJlYWN0LmNyZWF0ZUVsZW1lbnQoSW5wdXRDb250YWluZXIsIHsgc3R5bGU6IGlucHV0V3JhcHBlclN0eWxlLCBcImRhdGEtdGVzdGlkXCI6IGAke3Rlc3RJZH0td3JhcHBlcmAgfSxcclxuICAgICAgICAgICAgUmVhY3QuY3JlYXRlRWxlbWVudChJbnB1dFdyYXBwZXIsIHsgZGlzYWJsZWQ6IGRpc2FibGVkLCBpY29uUG9zaXRpb246IGljb25Qb3NpdGlvbiwgaXNJbnZlcnNlOiBwcm9wcy5pc0ludmVyc2UsIGlucHV0U2l6ZTogaW5wdXRTaXplID8/IElucHV0U2l6ZS5tZWRpdW0sIHRoZW1lOiB0aGVtZSwgc3R5bGU6IGNvbnRhaW5lclN0eWxlLCBoYXNFcnJvcjogaGFzRXJyb3IsIGlzQ2xlYXJhYmxlOiBpc0NsZWFyYWJsZSwgd2lkdGg6IHByb3BzLndpZHRoIH0sXHJcbiAgICAgICAgICAgICAgICBSZWFjdC5jcmVhdGVFbGVtZW50KFN0eWxlZElucHV0LCBPYmplY3QuYXNzaWduKHt9LCBvdGhlciwgeyBcImFyaWEtaW52YWxpZFwiOiBoYXNFcnJvciwgZGlzYWJsZWQ6IGRpc2FibGVkLCBcImRhdGEtdGVzdGlkXCI6IHRlc3RJZCwgaGFzQ2hhcmFjdGVyQ291bnRlcjogaGFzQ2hhcmFjdGVyQ291bnRlciwgaWNvblBvc2l0aW9uOiBpY29uUG9zaXRpb24sIGlucHV0U2l6ZTogaW5wdXRTaXplID8/IElucHV0U2l6ZS5tZWRpdW0sIGlzQ2xlYXJhYmxlOiB0eXBlID09PSBJbnB1dFR5cGUuc2VhcmNoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgID8gaXNDbGVhcmFibGVcclxuICAgICAgICAgICAgICAgICAgICAgICAgOiBpbnB1dFdyYXBwZXJTdHlsZT8ud2lkdGhcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgID8gaXNDbGVhcmFibGVcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogaXNDbGVhcmFibGUgJiYgaW5wdXRMZW5ndGggPiAwLCBpc0ludmVyc2U6IHVzZUlzSW52ZXJzZShwcm9wcy5pc0ludmVyc2UpLCBpc1ByZWRpY3RpdmU6IGlzUHJlZGljdGl2ZSwgaGFzRXJyb3I6IGhhc0Vycm9yLCByZWY6IHJlZiwgbWF4TGVuZ3RoOiBtYXhMZW5ndGhOdW0sIG9uQ2hhbmdlOiBoYW5kbGVDaGFuZ2UsIHN0eWxlOiBpbnB1dFN0eWxlLCB0aGVtZTogdGhlbWUsIHR5cGU6IHR5cGUgPyB0eXBlIDogSW5wdXRUeXBlLnRleHQsIHZhbHVlOiB2YWx1ZSB9KSksXHJcbiAgICAgICAgICAgICAgICBpY29uICYmICFvbkljb25DbGljayAmJiAoUmVhY3QuY3JlYXRlRWxlbWVudChJY29uV3JhcHBlciwgeyBcImFyaWEtbGFiZWxcIjogaWNvbkFyaWFMYWJlbCwgaWNvblBvc2l0aW9uOiBpY29uUG9zaXRpb24sIGlucHV0U2l6ZTogaW5wdXRTaXplID8/IElucHV0U2l6ZS5tZWRpdW0sIGlzSW52ZXJzZTogcHJvcHMuaXNJbnZlcnNlLCBpc1ByZWRpY3RpdmU6IGlzUHJlZGljdGl2ZSwgdGhlbWU6IHRoZW1lLCBkaXNhYmxlZDogZGlzYWJsZWQgfSwgUmVhY3QuQ2hpbGRyZW4ub25seShSZWFjdC5jbG9uZUVsZW1lbnQoaWNvbiwge1xyXG4gICAgICAgICAgICAgICAgICAgIHNpemU6IGdldEljb25TaXplKGlucHV0U2l6ZSA/PyBJbnB1dFNpemUubWVkaXVtLCB0aGVtZSwgaWNvblBvc2l0aW9uKSxcclxuICAgICAgICAgICAgICAgIH0pKSkpKSxcclxuICAgICAgICAgICAgaXNDbGVhcmFibGUgJiYgdmFsdWUgIT09ICcnICYmIChSZWFjdC5jcmVhdGVFbGVtZW50KElzQ2xlYXJhYmxlQ29udGFpbmVyLCB7IHRoZW1lOiB0aGVtZSwgaWNvblBvc2l0aW9uOiBpY29uUG9zaXRpb24sIGlucHV0U2l6ZTogaW5wdXRTaXplLCBpY29uOiBpY29uIH0sXHJcbiAgICAgICAgICAgICAgICBSZWFjdC5jcmVhdGVFbGVtZW50KEljb25CdXR0b24sIHsgXCJhcmlhLWxhYmVsXCI6IGkxOG4uaW5wdXQuaXNDbGVhcmFibGVBcmlhTGFiZWwsIGRpc2FibGVkOiBkaXNhYmxlZCwgaWNvbjogUmVhY3QuY3JlYXRlRWxlbWVudChDbGVhckljb24sIG51bGwpLCBpc0ludmVyc2U6IHByb3BzLmlzSW52ZXJzZSwgb25DbGljazogaGFuZGxlQ2xlYXJJbnB1dCwgb25LZXlEb3duOiBvbkljb25LZXlEb3duLCByZWY6IGljb25SZWYsIHNoYXBlOiBCdXR0b25TaGFwZS5maWxsLCBzaXplOiBpbnB1dFNpemUgPT09IElucHV0U2l6ZS5sYXJnZVxyXG4gICAgICAgICAgICAgICAgICAgICAgICA/IEJ1dHRvblNpemUubWVkaXVtXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDogQnV0dG9uU2l6ZS5zbWFsbCwgdGVzdElkOiBcImNsZWFyLWJ1dHRvblwiLCB0eXBlOiBCdXR0b25UeXBlLmJ1dHRvbiwgdmFyaWFudDogQnV0dG9uVmFyaWFudC5saW5rIH0pKSksXHJcbiAgICAgICAgICAgIG9uSWNvbkNsaWNrICYmIChSZWFjdC5jcmVhdGVFbGVtZW50KEljb25CdXR0b25Db250YWluZXIsIHsgaWNvblBvc2l0aW9uOiBpY29uUG9zaXRpb24sIGlucHV0U2l6ZTogaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2VcclxuICAgICAgICAgICAgICAgICAgICA/IElucHV0U2l6ZS5sYXJnZVxyXG4gICAgICAgICAgICAgICAgICAgIDogSW5wdXRTaXplLm1lZGl1bSwgdGhlbWU6IHRoZW1lLCBpc0NsaWNrYWJsZTogdHJ1ZSB9LFxyXG4gICAgICAgICAgICAgICAgUmVhY3QuY3JlYXRlRWxlbWVudChJY29uQnV0dG9uLCB7IFwiYXJpYS1sYWJlbFwiOiBpY29uQXJpYUxhYmVsLCBpY29uOiBpY29uLCBpc0ludmVyc2U6IHByb3BzLmlzSW52ZXJzZSwgb25DbGljazogb25JY29uQ2xpY2ssIG9uS2V5RG93bjogb25JY29uS2V5RG93biwgcmVmOiBpY29uUmVmLCBkaXNhYmxlZDogZGlzYWJsZWQsIHNoYXBlOiBCdXR0b25TaGFwZS5maWxsLCBzaXplOiBpbnB1dFNpemUgPT09IElucHV0U2l6ZS5sYXJnZVxyXG4gICAgICAgICAgICAgICAgICAgICAgICA/IEJ1dHRvblNpemUubWVkaXVtXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDogQnV0dG9uU2l6ZS5zbWFsbCwgdHlwZTogQnV0dG9uVHlwZS5idXR0b24sIHZhcmlhbnQ6IEJ1dHRvblZhcmlhbnQubGluayB9KSkpLFxyXG4gICAgICAgICAgICBpc1Bhc3N3b3JkSW5wdXQgPyAoUmVhY3QuY3JlYXRlRWxlbWVudChQYXNzd29yZEJ1dHRvbkNvbnRhaW5lciwgeyBzaXplOiBpbnB1dFNpemUgPT09IElucHV0U2l6ZS5sYXJnZVxyXG4gICAgICAgICAgICAgICAgICAgID8gSW5wdXRTaXplLmxhcmdlXHJcbiAgICAgICAgICAgICAgICAgICAgOiBJbnB1dFNpemUubWVkaXVtLCB0aGVtZTogdGhlbWUsIGJ1dHRvbldpZHRoOiBwYXNzd29yZEJ0bldpZHRoKCkgfSwgY2hpbGRyZW4pKSA6IChSZWFjdC5jcmVhdGVFbGVtZW50KEhlbHBMaW5rQ29udGFpbmVyLCB7IGlzTGFiZWxWaXN1YWxseUhpZGRlbjogaXNMYWJlbFZpc3VhbGx5SGlkZGVuIHx8IGZhbHNlLCBpbnB1dFNpemU6IGlucHV0U2l6ZSA/PyBJbnB1dFNpemUubWVkaXVtLCBsYWJlbFBvc2l0aW9uOiBsYWJlbFBvc2l0aW9uID8/IExhYmVsUG9zaXRpb24udG9wLCB0aGVtZTogdGhlbWUgfSwgY2hpbGRyZW4pKSkpKTtcclxufSk7XHJcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWluZGV4LmpzLm1hcCJdfQ== */")), " ", props.disabled && /*#__PURE__*/css("border-color:", props.isInverse ? curriedTransparentize(0.85, props.theme.colors.neutral100) : props.theme.colors.neutral300, ";background-color:", props.isInverse ? curriedTransparentize(0.9, props.theme.colors.neutral900) : props.theme.colors.neutral200, ";;label:inputWrapperStyles;" + (process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImluZGV4LnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFtRVEiLCJmaWxlIjoiaW5kZXgudHN4Iiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgUmVhY3QgZnJvbSAncmVhY3QnO1xyXG5pbXBvcnQgeyBjc3MgfSBmcm9tICdAZW1vdGlvbi9yZWFjdCc7XHJcbmltcG9ydCBzdHlsZWQgZnJvbSAnQGVtb3Rpb24vc3R5bGVkJztcclxuaW1wb3J0IHsgdHJhbnNwYXJlbnRpemUgfSBmcm9tICdwb2xpc2hlZCc7XHJcbmltcG9ydCB7IENsZWFySWNvbiB9IGZyb20gJ3JlYWN0LW1hZ21hLWljb25zJztcclxuaW1wb3J0IHsgSTE4bkNvbnRleHQgfSBmcm9tICcuLi8uLi9pMThuJztcclxuaW1wb3J0IHsgdXNlSXNJbnZlcnNlIH0gZnJvbSAnLi4vLi4vaW52ZXJzZSc7XHJcbmltcG9ydCB7IFRoZW1lQ29udGV4dCB9IGZyb20gJy4uLy4uL3RoZW1lL1RoZW1lQ29udGV4dCc7XHJcbmltcG9ydCB7IHVzZUZvcmtlZFJlZiB9IGZyb20gJy4uLy4uL3V0aWxzJztcclxuaW1wb3J0IHsgQnV0dG9uU2hhcGUsIEJ1dHRvblNpemUsIEJ1dHRvblR5cGUsIEJ1dHRvblZhcmlhbnQgfSBmcm9tICcuLi9CdXR0b24nO1xyXG5pbXBvcnQgeyBJY29uQnV0dG9uIH0gZnJvbSAnLi4vSWNvbkJ1dHRvbic7XHJcbmltcG9ydCB7IExhYmVsUG9zaXRpb24gfSBmcm9tICcuLi9MYWJlbCc7XHJcbmltcG9ydCB7IENoaWxkcmVuV3JhcHBlciB9IGZyb20gJy4uL1N0eWxlZEJ1dHRvbic7XHJcbmV4cG9ydCB2YXIgSW5wdXRTaXplO1xyXG4oZnVuY3Rpb24gKElucHV0U2l6ZSkge1xyXG4gICAgSW5wdXRTaXplW1wibGFyZ2VcIl0gPSBcImxhcmdlXCI7XHJcbiAgICBJbnB1dFNpemVbXCJtZWRpdW1cIl0gPSBcIm1lZGl1bVwiO1xyXG59KShJbnB1dFNpemUgfHwgKElucHV0U2l6ZSA9IHt9KSk7XHJcbmV4cG9ydCB2YXIgSW5wdXRUeXBlO1xyXG4oZnVuY3Rpb24gKElucHV0VHlwZSkge1xyXG4gICAgSW5wdXRUeXBlW1wiZW1haWxcIl0gPSBcImVtYWlsXCI7XHJcbiAgICBJbnB1dFR5cGVbXCJmaWxlXCJdID0gXCJmaWxlXCI7XHJcbiAgICBJbnB1dFR5cGVbXCJudW1iZXJcIl0gPSBcIm51bWJlclwiO1xyXG4gICAgSW5wdXRUeXBlW1wicGFzc3dvcmRcIl0gPSBcInBhc3N3b3JkXCI7XHJcbiAgICBJbnB1dFR5cGVbXCJzZWFyY2hcIl0gPSBcInNlYXJjaFwiO1xyXG4gICAgSW5wdXRUeXBlW1widGV4dFwiXSA9IFwidGV4dFwiO1xyXG4gICAgSW5wdXRUeXBlW1widXJsXCJdID0gXCJ1cmxcIjtcclxuICAgIElucHV0VHlwZVtcInRlbFwiXSA9IFwidGVsXCI7XHJcbn0pKElucHV0VHlwZSB8fCAoSW5wdXRUeXBlID0ge30pKTtcclxuZXhwb3J0IHZhciBJbnB1dEljb25Qb3NpdGlvbjtcclxuKGZ1bmN0aW9uIChJbnB1dEljb25Qb3NpdGlvbikge1xyXG4gICAgSW5wdXRJY29uUG9zaXRpb25bXCJ0b3BcIl0gPSBcInRvcFwiO1xyXG4gICAgSW5wdXRJY29uUG9zaXRpb25bXCJsZWZ0XCJdID0gXCJsZWZ0XCI7XHJcbiAgICBJbnB1dEljb25Qb3NpdGlvbltcInJpZ2h0XCJdID0gXCJyaWdodFwiO1xyXG59KShJbnB1dEljb25Qb3NpdGlvbiB8fCAoSW5wdXRJY29uUG9zaXRpb24gPSB7fSkpO1xyXG5leHBvcnQgY29uc3QgaW5wdXRXcmFwcGVyU3R5bGVzID0gKHByb3BzKSA9PiBjc3MgYFxuICBmbGV4OiAxIDEgYXV0bztcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZGlzcGxheTogZmxleDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aWR0aDogJHtwcm9wcy53aWR0aCB8fCAnYXV0byd9O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAke3Byb3BzLmlzSW52ZXJzZVxyXG4gICAgPyB0cmFuc3BhcmVudGl6ZSgwLjgsIHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsOTAwKVxyXG4gICAgOiBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDEwMH07XG4gIGJvcmRlci1yYWRpdXM6ICR7cHJvcHMudGhlbWUuYm9yZGVyUmFkaXVzfTtcbiAgYm9yZGVyOiAxcHggc29saWRcbiAgICAke3Byb3BzLmlzSW52ZXJzZVxyXG4gICAgPyB0cmFuc3BhcmVudGl6ZSgwLjUsIHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsMTAwKVxyXG4gICAgOiBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDUwMH07XG4gIGhlaWdodDogJHtwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwOX07XG5cbiAgJjpmb2N1cy13aXRoaW4ge1xuICAgIG91dGxpbmU6IDJweCBzb2xpZFxuICAgICAgJHtwcm9wcy5pc0ludmVyc2VcclxuICAgID8gcHJvcHMudGhlbWUuY29sb3JzLmZvY3VzSW52ZXJzZVxyXG4gICAgOiBwcm9wcy50aGVtZS5jb2xvcnMuZm9jdXN9O1xuICAgIG91dGxpbmUtb2Zmc2V0OiAtMXB4O1xuICB9XG5cbiAgJHtwcm9wcy5oYXNFcnJvciAmJlxyXG4gICAgY3NzIGBcbiAgICBib3JkZXItY29sb3I6ICR7cHJvcHMuaXNJbnZlcnNlXHJcbiAgICAgICAgPyBwcm9wcy50aGVtZS5jb2xvcnMuZGFuZ2VyMzAwXHJcbiAgICAgICAgOiBwcm9wcy50aGVtZS5jb2xvcnMuZGFuZ2VyfTtcbiAgYH1cblxuICAke3Byb3BzLmRpc2FibGVkICYmXHJcbiAgICBjc3MgYFxuICAgIGJvcmRlci1jb2xvcjogJHtwcm9wcy5pc0ludmVyc2VcclxuICAgICAgICA/IHRyYW5zcGFyZW50aXplKDAuODUsIHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsMTAwKVxyXG4gICAgICAgIDogcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWwzMDB9O1xuICAgIGJhY2tncm91bmQtY29sb3I6ICR7cHJvcHMuaXNJbnZlcnNlXHJcbiAgICAgICAgPyB0cmFuc3BhcmVudGl6ZSgwLjksIHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsOTAwKVxyXG4gICAgICAgIDogcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWwyMDB9O1xuICBgfVxuXG4gICR7cHJvcHMuaW5wdXRTaXplID09PSAnbGFyZ2UnICYmXHJcbiAgICBjc3MgYFxuICAgIGhlaWdodDogJHtwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcxMX07XG4gIGB9XG5gO1xyXG5mdW5jdGlvbiBnZXRJbnB1dFBhZGRpbmcocHJvcHMpIHtcclxuICAgIGNvbnN0IHsgaW5wdXRTaXplLCBpc0NsZWFyYWJsZSwgaWNvblBvc2l0aW9uIH0gPSBwcm9wcztcclxuICAgIGNvbnN0IHBhZGRpbmcgPSB7XHJcbiAgICAgICAgbGVmdDogcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDMsXHJcbiAgICAgICAgcmlnaHQ6IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzAzLFxyXG4gICAgfTtcclxuICAgIGlmIChpbnB1dFNpemUgPT09ICdsYXJnZScpIHtcclxuICAgICAgICBpZiAoaXNDbGVhcmFibGUpIHtcclxuICAgICAgICAgICAgaWYgKGljb25Qb3NpdGlvbiA9PT0gJ3JpZ2h0Jykge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy5yaWdodCA9ICc5MnB4JztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBlbHNlIGlmIChpY29uUG9zaXRpb24gPT09ICdsZWZ0Jykge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy5sZWZ0ID0gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMTE7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLnJpZ2h0ID0gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMTE7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICAgICAgICAvLyBpY29uIHRvcCwgbm8gaWNvblxyXG4gICAgICAgICAgICAgICAgcGFkZGluZy5yaWdodCA9IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzExO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgICBpZiAoaWNvblBvc2l0aW9uID09PSAncmlnaHQnKSB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLnJpZ2h0ID0gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMTA7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgaWYgKGljb25Qb3NpdGlvbiA9PT0gJ2xlZnQnKSB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLmxlZnQgPSBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcxMDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIGVsc2UgaWYgKGlucHV0U2l6ZSA9PT0gJ21lZGl1bScpIHtcclxuICAgICAgICBpZiAoaXNDbGVhcmFibGUpIHtcclxuICAgICAgICAgICAgaWYgKGljb25Qb3NpdGlvbiA9PT0gJ3JpZ2h0Jykge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy5yaWdodCA9ICc2OHB4JztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBlbHNlIGlmIChpY29uUG9zaXRpb24gPT09ICdsZWZ0Jykge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy5sZWZ0ID0gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDk7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLnJpZ2h0ID0gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICAgICAgICAvLyBpY29uIHRvcCwgbm8gaWNvblxyXG4gICAgICAgICAgICAgICAgcGFkZGluZy5yaWdodCA9IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzA5O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgICBpZiAoaWNvblBvc2l0aW9uID09PSAncmlnaHQnKSB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLnJpZ2h0ID0gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgaWYgKGljb25Qb3NpdGlvbiA9PT0gJ2xlZnQnKSB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLmxlZnQgPSBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwOTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIHJldHVybiBwYWRkaW5nO1xyXG59XHJcbmV4cG9ydCBjb25zdCBpbnB1dEJhc2VTdHlsZXMgPSAocHJvcHMpID0+IGNzcyBgXG4gIGJvcmRlcjogMDtcbiAgYm9yZGVyLXJhZGl1czogJHtwcm9wcy50aGVtZS5ib3JkZXJSYWRpdXN9O1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgY29sb3I6ICR7cHJvcHMuaXNJbnZlcnNlXHJcbiAgICA/IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsMTAwXHJcbiAgICA6IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsNzAwfTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGZvbnQtc2l6ZTogJHtwcm9wcy50aGVtZS50eXBlU2NhbGUuc2l6ZTAzLmZvbnRTaXplfTtcbiAgbGluZS1oZWlnaHQ6ICR7cHJvcHMudGhlbWUudHlwZVNjYWxlLnNpemUwMy5saW5lSGVpZ2h0fTtcbiAgZm9udC1mYW1pbHk6ICR7cHJvcHMudGhlbWUuYm9keUZvbnR9O1xuICBoZWlnaHQ6IDEwMCU7XG4gIHBhZGRpbmc6ICR7cHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDN9O1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gIHdpZHRoOiAxMDAlO1xuXG4gICR7cHJvcHMuaW5wdXRTaXplID09PSAnbGFyZ2UnICYmXHJcbiAgICBjc3MgYFxuICAgIGZvbnQtc2l6ZTogJHtwcm9wcy50aGVtZS50eXBlU2NhbGUuc2l6ZTA0LmZvbnRTaXplfTtcbiAgICBsaW5lLWhlaWdodDogJHtwcm9wcy50aGVtZS50eXBlU2NhbGUuc2l6ZTA0LmxpbmVIZWlnaHR9O1xuICAgIHBhZGRpbmc6ICR7cHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDR9O1xuICBgfVxuXG4gIHBhZGRpbmctbGVmdDogJHtnZXRJbnB1dFBhZGRpbmcocHJvcHMpLmxlZnR9O1xuICBwYWRkaW5nLXJpZ2h0OiAke2dldElucHV0UGFkZGluZyhwcm9wcykucmlnaHR9O1xuXG4gICY6OnBsYWNlaG9sZGVyIHtcbiAgICBjb2xvcjogJHtwcm9wcy5pc0ludmVyc2VcclxuICAgID8gdHJhbnNwYXJlbnRpemUoMC4zLCBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDEwMClcclxuICAgIDogcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWw1MDB9O1xuICB9XG5cbiAgJjpmb2N1cyB7XG4gICAgb3V0bGluZTogMDtcbiAgfVxuXG4gICZbdHlwZT0nc2VhcmNoJ10ge1xuICAgICY6Oi13ZWJraXQtc2VhcmNoLWRlY29yYXRpb24sXG4gICAgJjo6LXdlYmtpdC1zZWFyY2gtY2FuY2VsLWJ1dHRvbixcbiAgICAmOjotd2Via2l0LXNlYXJjaC1yZXN1bHRzLWJ1dHRvbixcbiAgICAmOjotd2Via2l0LXNlYXJjaC1yZXN1bHRzLWRlY29yYXRpb24ge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gIH1cblxuICAke3Byb3BzLmRpc2FibGVkICYmXHJcbiAgICBjc3MgYFxuICAgIGNvbG9yOiAke3Byb3BzLmlzSW52ZXJzZVxyXG4gICAgICAgID8gdHJhbnNwYXJlbnRpemUoMC42LCBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDEwMClcclxuICAgICAgICA6IHRyYW5zcGFyZW50aXplKDAuNCwgcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWw1MDApfTtcbiAgICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xuXG4gICAgJjo6cGxhY2Vob2xkZXIge1xuICAgICAgY29sb3I6ICR7cHJvcHMuaXNJbnZlcnNlXHJcbiAgICAgICAgPyB0cmFuc3BhcmVudGl6ZSgwLjgsIHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsMTAwKVxyXG4gICAgICAgIDogcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWw1MDB9O1xuICAgICAgb3BhY2l0eTogJHtwcm9wcy5pc0ludmVyc2UgPyAwLjQgOiAwLjZ9O1xuICAgIH1cbiAgYH1cblxuICAmOi13ZWJraXQtYXV0b2ZpbGwsXG4gICY6LXdlYmtpdC1hdXRvZmlsbDpmb2N1cyxcbiAgJjotd2Via2l0LWF1dG9maWxsOmhvdmVyLFxuICAmOi13ZWJraXQtYXV0b2ZpbGw6YWN0aXZlIHtcbiAgICBib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XG4gICAgLXdlYmtpdC1iYWNrZ3JvdW5kLWNsaXA6IHRleHQ7XG4gICAgLXdlYmtpdC10ZXh0LWZpbGwtY29sb3I6ICR7cHJvcHMuaXNJbnZlcnNlXHJcbiAgICA/IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsMTAwXHJcbiAgICA6IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsNzAwfSAhaW1wb3J0YW50O1xuICAgIGNhcmV0LWNvbG9yOiAke3Byb3BzLmlzSW52ZXJzZVxyXG4gICAgPyBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDEwMFxyXG4gICAgOiBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDcwMH0gIWltcG9ydGFudDtcbiAgfVxuYDtcclxuY29uc3QgSW5wdXRDb250YWluZXIgPSBzdHlsZWQuZGl2IGBcbiAgZGlzcGxheTogZmxleDtcbmA7XHJcbmV4cG9ydCBjb25zdCBJbnB1dFdyYXBwZXIgPSBzdHlsZWQuZGl2IGBcbiAgJHtpbnB1dFdyYXBwZXJTdHlsZXN9XG5gO1xyXG5jb25zdCBTdHlsZWRJbnB1dCA9IHN0eWxlZC5pbnB1dCBgXG4gICR7aW5wdXRCYXNlU3R5bGVzfVxuYDtcclxuY29uc3QgSWNvbldyYXBwZXIgPSBzdHlsZWQuc3BhbiBgXG4gIGJvdHRvbTogJHtwcm9wcyA9PiAocHJvcHMuaWNvblBvc2l0aW9uID09PSAndG9wJyA/ICc0NXB4JyA6ICdpbmhlcml0Jyl9O1xuICBjb2xvcjogJHtwcm9wcyA9PiBwcm9wcy5pc0ludmVyc2VcclxuICAgID8gcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWwxMDBcclxuICAgIDogcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWw3MDB9O1xuICBsZWZ0OiAke3Byb3BzID0+IHByb3BzLmljb25Qb3NpdGlvbiA9PT0gJ2xlZnQnID8gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDMgOiAnYXV0byd9O1xuICByaWdodDogJHtwcm9wcyA9PiBwcm9wcy5pY29uUG9zaXRpb24gPT09ICdyaWdodCdcclxuICAgID8gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDNcclxuICAgIDogcHJvcHMuaWNvblBvc2l0aW9uID09PSAndG9wJ1xyXG4gICAgICAgID8gJzNweCdcclxuICAgICAgICA6ICdhdXRvJ307XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAke3Byb3BzID0+IHByb3BzLmljb25Qb3NpdGlvbiA9PT0gJ3RvcCdcclxuICAgID8gJ2luaGVyaXQnXHJcbiAgICA6IHByb3BzID0+IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzAzfTtcblxuICAke3Byb3BzID0+IHByb3BzLmlucHV0U2l6ZSA9PT0gJ2xhcmdlJyAmJlxyXG4gICAgY3NzIGBcbiAgICAgIGJvdHRvbTogJHtwcm9wcy5pY29uUG9zaXRpb24gPT09ICd0b3AnID8gJzYycHgnIDogJ2luaGVyaXQnfTtcbiAgICAgIGxlZnQ6ICR7cHJvcHMuaWNvblBvc2l0aW9uID09PSAnbGVmdCdcclxuICAgICAgICA/IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzA0XHJcbiAgICAgICAgOiAnYXV0byd9O1xuICAgICAgcmlnaHQ6ICR7cHJvcHMuaWNvblBvc2l0aW9uID09PSAncmlnaHQnXHJcbiAgICAgICAgPyBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwNFxyXG4gICAgICAgIDogcHJvcHMuaWNvblBvc2l0aW9uID09PSAndG9wJ1xyXG4gICAgICAgICAgICA/ICczcHgnXHJcbiAgICAgICAgICAgIDogJ2F1dG8nfTtcbiAgICAgIHRvcDogJHtwcm9wcy5pY29uUG9zaXRpb24gPT09ICd0b3AnXHJcbiAgICAgICAgPyAnaW5oZXJpdCdcclxuICAgICAgICA6IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzA0fTtcbiAgICBgfVxuYDtcclxuZnVuY3Rpb24gZ2V0SWNvbkJ1dHRvblNWR1NpemUocHJvcHMpIHtcclxuICAgIGNvbnN0IHsgaXNDbGlja2FibGUsIGljb25Qb3NpdGlvbiwgaW5wdXRTaXplLCB0aGVtZSB9ID0gcHJvcHM7XHJcbiAgICBpZiAoaXNDbGlja2FibGUgJiYgaWNvblBvc2l0aW9uID09PSBJbnB1dEljb25Qb3NpdGlvbi50b3ApIHtcclxuICAgICAgICBpZiAoaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2UpIHtcclxuICAgICAgICAgICAgcmV0dXJuIGAke3RoZW1lLmljb25TaXplcy5tZWRpdW19cHhgO1xyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gYCR7dGhlbWUuaWNvblNpemVzLnNtYWxsfXB4YDtcclxuICAgIH1cclxuICAgIGlmIChpbnB1dFNpemUgPT09IElucHV0U2l6ZS5sYXJnZSkge1xyXG4gICAgICAgIHJldHVybiBgJHt0aGVtZS5pY29uU2l6ZXMubGFyZ2V9cHhgO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIGAke3RoZW1lLmljb25TaXplcy5tZWRpdW19cHhgO1xyXG59XHJcbmZ1bmN0aW9uIGdldEhlbHBMaW5rU1ZHU2l6ZShwcm9wcykge1xyXG4gICAgY29uc3QgeyBpbnB1dFNpemUsIHRoZW1lIH0gPSBwcm9wcztcclxuICAgIGlmIChpbnB1dFNpemUgPT09IElucHV0U2l6ZS5sYXJnZSkge1xyXG4gICAgICAgIHJldHVybiBgJHt0aGVtZS5pY29uU2l6ZXMubWVkaXVtfXB4YDtcclxuICAgIH1cclxuICAgIHJldHVybiBgJHt0aGVtZS5pY29uU2l6ZXMuc21hbGx9cHhgO1xyXG59XHJcbmV4cG9ydCBmdW5jdGlvbiBnZXRIZWxwSWNvbkJ1dHRvblNpemUocHJvcHMpIHtcclxuICAgIGNvbnN0IHsgaW5wdXRTaXplLCB0aGVtZSB9ID0gcHJvcHM7XHJcbiAgICBpZiAoaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2UpIHtcclxuICAgICAgICByZXR1cm4gdGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDk7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gdGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDc7XHJcbn1cclxuZnVuY3Rpb24gZ2V0SWNvbkJ1dHRvblRyYW5zZm9ybShwcm9wcykge1xyXG4gICAgY29uc3QgeyBpc0NsaWNrYWJsZSwgaWNvblBvc2l0aW9uLCBpbnB1dFNpemUsIGhhc0NoaWxkcmVuLCB0aGVtZSB9ID0gcHJvcHM7XHJcbiAgICBjb25zdCBwb3NpdGlvbiA9IHsgeDogJycsIHk6ICcnIH07XHJcbiAgICBpZiAoaWNvblBvc2l0aW9uID09PSBJbnB1dEljb25Qb3NpdGlvbi50b3ApIHtcclxuICAgICAgICBpZiAoaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2UpIHtcclxuICAgICAgICAgICAgcG9zaXRpb24ueCA9ICctMzBweCc7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uLnkgPSAnMnB4JztcclxuICAgICAgICB9XHJcbiAgICAgICAgZWxzZSBpZiAoaW5wdXRTaXplID09PSBJbnB1dFNpemUubWVkaXVtKSB7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uLnggPSAnLTI4cHgnO1xyXG4gICAgICAgICAgICBwb3NpdGlvbi55ID0gJzVweCc7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiBwb3NpdGlvbjtcclxuICAgIH1cclxuICAgIGlmIChpc0NsaWNrYWJsZSkge1xyXG4gICAgICAgIGlmIChpbnB1dFNpemUgPT09IElucHV0U2l6ZS5sYXJnZSkge1xyXG4gICAgICAgICAgICBpZiAoaGFzQ2hpbGRyZW4pIHtcclxuICAgICAgICAgICAgICAgIHBvc2l0aW9uLnggPSAnLTQzcHgnO1xyXG4gICAgICAgICAgICAgICAgcG9zaXRpb24ueSA9ICcxNHB4JztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBlbHNlIHtcclxuICAgICAgICAgICAgICAgIHBvc2l0aW9uLnggPSAnLTQ5cHgnO1xyXG4gICAgICAgICAgICAgICAgcG9zaXRpb24ueSA9ICc4cHgnO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2UgaWYgKGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLm1lZGl1bSkge1xyXG4gICAgICAgICAgICBwb3NpdGlvbi54ID0gJy0zNXB4JztcclxuICAgICAgICAgICAgcG9zaXRpb24ueSA9ICc2cHgnO1xyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gcG9zaXRpb247XHJcbiAgICB9XHJcbiAgICBpZiAoaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2UpIHtcclxuICAgICAgICBwb3NpdGlvbi54ID0gYC0ke3RoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzEwfWA7XHJcbiAgICAgICAgcG9zaXRpb24ueSA9IHRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzAzO1xyXG4gICAgfVxyXG4gICAgZWxzZSBpZiAoaW5wdXRTaXplID09PSBJbnB1dFNpemUubWVkaXVtKSB7XHJcbiAgICAgICAgcG9zaXRpb24ueCA9ICctMjRweCc7XHJcbiAgICAgICAgcG9zaXRpb24ueSA9ICc3cHgnO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIHBvc2l0aW9uO1xyXG59XHJcbmV4cG9ydCBjb25zdCBJY29uQnV0dG9uQ29udGFpbmVyID0gc3R5bGVkLnNwYW4gYFxuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgYm90dG9tOiAke3Byb3BzID0+IChwcm9wcy5pY29uUG9zaXRpb24gPT09ICd0b3AnID8gJzQwcHgnIDogJ2luaGVyaXQnKX07XG4gIGhlaWdodDogYXV0bztcbiAgbWFyZ2luOiAwO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiAwO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZShcbiAgICAke3Byb3BzID0+IGdldEljb25CdXR0b25UcmFuc2Zvcm0ocHJvcHMpLnh9LFxuICAgICR7cHJvcHMgPT4gZ2V0SWNvbkJ1dHRvblRyYW5zZm9ybShwcm9wcykueX1cbiAgKTtcbiAgc3ZnIHtcbiAgICBoZWlnaHQ6ICR7cHJvcHMgPT4gZ2V0SWNvbkJ1dHRvblNWR1NpemUocHJvcHMpfTtcbiAgICB3aWR0aDogJHtwcm9wcyA9PiBnZXRJY29uQnV0dG9uU1ZHU2l6ZShwcm9wcyl9O1xuICB9XG5gO1xyXG5jb25zdCBQYXNzd29yZEJ1dHRvbkNvbnRhaW5lciA9IHN0eWxlZC5zcGFuIGBcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIHdpZHRoOiAwO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZShcbiAgICAke3Byb3BzID0+IHByb3BzLnNpemUgPT09IElucHV0U2l6ZS5sYXJnZVxyXG4gICAgPyBgJHstcHJvcHMuYnV0dG9uV2lkdGggLSA4fXB4YFxyXG4gICAgOiBgJHstcHJvcHMuYnV0dG9uV2lkdGggLSA2fXB4YH0sXG4gICAgJHtwcm9wcyA9PiBwcm9wcy5zaXplID09PSBJbnB1dFNpemUubGFyZ2UgPyBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwMyA6ICc2cHgnfVxuICApO1xuYDtcclxuZnVuY3Rpb24gZ2V0Q2xlYXJhYmxlUG9zaXRpb24ocHJvcHMpIHtcclxuICAgIGlmIChwcm9wcy5pY29uUG9zaXRpb24gPT09ICdyaWdodCcgJiYgcHJvcHMuaWNvbikge1xyXG4gICAgICAgIGlmIChwcm9wcy5pbnB1dFNpemUgPT09ICdsYXJnZScpIHtcclxuICAgICAgICAgICAgcmV0dXJuIHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzEzO1xyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gJzcycHgnO1xyXG4gICAgfVxyXG4gICAgaWYgKHByb3BzLmlucHV0U2l6ZSA9PT0gJ2xhcmdlJykge1xyXG4gICAgICAgIHJldHVybiBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcxMDtcclxuICAgIH1cclxuICAgIHJldHVybiAnMzRweCc7XHJcbn1cclxuY29uc3QgSXNDbGVhcmFibGVDb250YWluZXIgPSBzdHlsZWQuc3BhbiBgXG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBtYXJnaW46IDA7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgaGVpZ2h0OiBhdXRvO1xuICB3aWR0aDogMDtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoXG4gICAgLSR7cHJvcHMgPT4gZ2V0Q2xlYXJhYmxlUG9zaXRpb24ocHJvcHMpfSxcbiAgICAke3Byb3BzID0+IHByb3BzLmlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlXHJcbiAgICA/IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzAzXHJcbiAgICA6ICc2cHgnfVxuICApO1xuYDtcclxuZnVuY3Rpb24gZ2V0SWNvblNpemUoc2l6ZSwgdGhlbWUsIGljb25Qb3NpdGlvbikge1xyXG4gICAgc3dpdGNoIChzaXplKSB7XHJcbiAgICAgICAgY2FzZSAnbGFyZ2UnOlxyXG4gICAgICAgICAgICBpZiAoaWNvblBvc2l0aW9uID09PSBJbnB1dEljb25Qb3NpdGlvbi50b3ApIHtcclxuICAgICAgICAgICAgICAgIHJldHVybiB0aGVtZS5pY29uU2l6ZXMubWVkaXVtO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHJldHVybiB0aGVtZS5pY29uU2l6ZXMubGFyZ2U7XHJcbiAgICAgICAgZGVmYXVsdDpcclxuICAgICAgICAgICAgaWYgKGljb25Qb3NpdGlvbiA9PT0gSW5wdXRJY29uUG9zaXRpb24udG9wKSB7XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gdGhlbWUuaWNvblNpemVzLnNtYWxsO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHJldHVybiB0aGVtZS5pY29uU2l6ZXMubWVkaXVtO1xyXG4gICAgfVxyXG59XHJcbmV4cG9ydCBjb25zdCBpc0xlZnRPckhpZGRlbiA9ICh7IGxhYmVsUG9zaXRpb24sIGlzTGFiZWxWaXN1YWxseUhpZGRlbiwgfSkgPT4gbGFiZWxQb3NpdGlvbiA9PT0gTGFiZWxQb3NpdGlvbi5sZWZ0IHx8IGlzTGFiZWxWaXN1YWxseUhpZGRlbjtcclxuZXhwb3J0IGNvbnN0IEhlbHBMaW5rQ29udGFpbmVyID0gc3R5bGVkLnNwYW4gYFxuICBwb3NpdGlvbjogJHtwcm9wcyA9PiAoaXNMZWZ0T3JIaWRkZW4ocHJvcHMpID8gJ3JlbGF0aXZlJyA6ICdhYnNvbHV0ZScpfTtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cbiAgaGVpZ2h0OiAke3Byb3BzID0+IChpc0xlZnRPckhpZGRlbihwcm9wcykgPyAnYXV0bycgOiAnZml0LWNvbnRlbnQnKX07XG4gIG1hcmdpbi1pbmxpbmUtc3RhcnQ6ICR7cHJvcHMgPT4gaXNMZWZ0T3JIaWRkZW4ocHJvcHMpID8gYCR7cHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDN9YCA6ICdhdXRvJ307XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWShcbiAgICAke3Byb3BzID0+IGlzTGVmdE9ySGlkZGVuKHByb3BzKVxyXG4gICAgPyAnMCdcclxuICAgIDogYGNhbGMoLTEwMCUgLSAke3Byb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzAzfSlgfVxuICApO1xuICAke0NoaWxkcmVuV3JhcHBlcn0gPiBzdmcge1xuICAgIGhlaWdodDogJHtwcm9wcyA9PiBnZXRIZWxwTGlua1NWR1NpemUocHJvcHMpfTtcbiAgICB3aWR0aDogJHtwcm9wcyA9PiBnZXRIZWxwTGlua1NWR1NpemUocHJvcHMpfTtcbiAgfVxuICBidXR0b24ge1xuICAgIGhlaWdodDogJHtwcm9wcyA9PiBnZXRIZWxwSWNvbkJ1dHRvblNpemUocHJvcHMpfTtcbiAgICB3aWR0aDogJHtwcm9wcyA9PiBnZXRIZWxwSWNvbkJ1dHRvblNpemUocHJvcHMpfTtcbiAgfVxuICBpbnNldC1pbmxpbmUtZW5kOiAke3Byb3BzID0+IChpc0xlZnRPckhpZGRlbihwcm9wcykgPyAnYXV0bycgOiAnMCcpfTtcbmA7XHJcbmV4cG9ydCBjb25zdCBJbnB1dEJhc2UgPSBSZWFjdC5mb3J3YXJkUmVmKChwcm9wcywgZm9yd2FyZGVkUmVmKSA9PiB7XHJcbiAgICBjb25zdCB7IGNoaWxkcmVuLCBjb250YWluZXJTdHlsZSwgZGVmYXVsdFZhbHVlLCBkaXNhYmxlZCwgaGFzQ2hhcmFjdGVyQ291bnRlciwgaGFzRXJyb3IsIGljb24sIGljb25BcmlhTGFiZWwsIGljb25SZWYsIGlzQ2xlYXJhYmxlLCBpc1Bhc3N3b3JkSW5wdXQsIGlzUHJlZGljdGl2ZSwgbWF4Q291bnQsIG1heExlbmd0aCwgb25DbGVhciwgb25JY29uQ2xpY2ssIG9uSWNvbktleURvd24sIG9uRGF0ZUNoYW5nZSwgaW5wdXRMZW5ndGgsIGlucHV0U2l6ZSwgaW5wdXRTdHlsZSwgaW5wdXRXcmFwcGVyU3R5bGUsIHRlc3RJZCwgdHlwZSwgc2V0UmVmZXJlbmNlLCBpc0xhYmVsVmlzdWFsbHlIaWRkZW4sIGxhYmVsUG9zaXRpb24sIC4uLm90aGVyIH0gPSBwcm9wcztcclxuICAgIGNvbnN0IGkxOG4gPSBSZWFjdC51c2VDb250ZXh0KEkxOG5Db250ZXh0KTtcclxuICAgIGNvbnN0IHRoZW1lID0gUmVhY3QudXNlQ29udGV4dChUaGVtZUNvbnRleHQpO1xyXG4gICAgY29uc3QgaWNvblBvc2l0aW9uID0gaWNvbiAmJiBvbkljb25DbGlja1xyXG4gICAgICAgID8gSW5wdXRJY29uUG9zaXRpb24ucmlnaHRcclxuICAgICAgICA6IGljb24gJiYgIXByb3BzLmljb25Qb3NpdGlvblxyXG4gICAgICAgICAgICA/IElucHV0SWNvblBvc2l0aW9uLmxlZnRcclxuICAgICAgICAgICAgOiBwcm9wcy5pY29uUG9zaXRpb247XHJcbiAgICBjb25zdCBbdmFsdWUsIHNldFZhbHVlXSA9IFJlYWN0LnVzZVN0YXRlKHByb3BzLmRlZmF1bHRWYWx1ZSAhPT0gdW5kZWZpbmVkICYmIHByb3BzLmRlZmF1bHRWYWx1ZSAhPT0gbnVsbFxyXG4gICAgICAgID8gcHJvcHMuZGVmYXVsdFZhbHVlXHJcbiAgICAgICAgOiBwcm9wcy52YWx1ZSB8fCAnJyk7XHJcbiAgICBjb25zdCBtYXhMZW5ndGhOdW0gPSAhaGFzQ2hhcmFjdGVyQ291bnRlciAmJiBtYXhMZW5ndGggPyBtYXhMZW5ndGggOiB1bmRlZmluZWQ7XHJcbiAgICBSZWFjdC51c2VFZmZlY3QoKCkgPT4ge1xyXG4gICAgICAgIGlmIChwcm9wcy52YWx1ZSAhPT0gdW5kZWZpbmVkICYmIHByb3BzLnZhbHVlICE9PSBudWxsKSB7XHJcbiAgICAgICAgICAgIHNldFZhbHVlKHByb3BzLnZhbHVlKTtcclxuICAgICAgICB9XHJcbiAgICB9LCBbcHJvcHMudmFsdWVdKTtcclxuICAgIGNvbnN0IGlucHV0UmVmID0gUmVhY3QudXNlUmVmKCk7XHJcbiAgICBjb25zdCByZWYgPSB1c2VGb3JrZWRSZWYoZm9yd2FyZGVkUmVmLCBpbnB1dFJlZik7XHJcbiAgICBmdW5jdGlvbiBoYW5kbGVDbGVhcklucHV0KCkge1xyXG4gICAgICAgIG9uQ2xlYXIgJiYgdHlwZW9mIG9uQ2xlYXIgPT09ICdmdW5jdGlvbicgJiYgb25DbGVhcigpO1xyXG4gICAgICAgIHNldFZhbHVlKCcnKTtcclxuICAgICAgICBvbkRhdGVDaGFuZ2UgJiYgdHlwZW9mIG9uRGF0ZUNoYW5nZSA9PT0gJ2Z1bmN0aW9uJyAmJiBvbkRhdGVDaGFuZ2UobnVsbCk7XHJcbiAgICAgICAgaW5wdXRSZWYuY3VycmVudC5mb2N1cygpO1xyXG4gICAgfVxyXG4gICAgZnVuY3Rpb24gaGFuZGxlQ2hhbmdlKGV2ZW50KSB7XHJcbiAgICAgICAgcHJvcHMub25DaGFuZ2UgJiZcclxuICAgICAgICAgICAgdHlwZW9mIHByb3BzLm9uQ2hhbmdlID09PSAnZnVuY3Rpb24nICYmXHJcbiAgICAgICAgICAgIHByb3BzLm9uQ2hhbmdlKGV2ZW50KTtcclxuICAgICAgICBzZXRWYWx1ZShldmVudC50YXJnZXQudmFsdWUpO1xyXG4gICAgICAgIGlmICghZXZlbnQudGFyZ2V0LnZhbHVlICYmXHJcbiAgICAgICAgICAgIG9uRGF0ZUNoYW5nZSAmJlxyXG4gICAgICAgICAgICB0eXBlb2Ygb25EYXRlQ2hhbmdlID09PSAnZnVuY3Rpb24nKVxyXG4gICAgICAgICAgICBvbkRhdGVDaGFuZ2UobnVsbCk7XHJcbiAgICB9XHJcbiAgICBjb25zdCBwYXNzd29yZEJ0bldpZHRoID0gKCkgPT4ge1xyXG4gICAgICAgIGNvbnN0IGJ0bldpZHRoID0gY2hpbGRyZW4/LnByb3BzPy5jaGlsZHJlbj8uWzBdPy5yZWY/LmN1cnJlbnQ/Lm9mZnNldFdpZHRoO1xyXG4gICAgICAgIGlmICh0eXBlb2YgYnRuV2lkdGggPT09ICdudW1iZXInKSB7XHJcbiAgICAgICAgICAgIHJldHVybiBidG5XaWR0aDtcclxuICAgICAgICB9XHJcbiAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICAgIC8vIFdoZW4gUGFzc3dvcmRCdXR0b24gaXMgdXNlZCBpbnNpZGUgU2NoZW1hUmVuZGVyZXIsIGl0IGRvZXNuJ3QgaGF2ZSBjaGlsZHJlbi5cclxuICAgICAgICAgICAgLy8gV2UnbGwgdXNlIHRoZSBkZWZhdWx0IGJ1dHRvbiBzaXplcy5cclxuICAgICAgICAgICAgaWYgKHByb3BzLmlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gNjQ7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgcmV0dXJuIDU0O1xyXG4gICAgICAgIH1cclxuICAgIH07XHJcbiAgICByZXR1cm4gKFJlYWN0LmNyZWF0ZUVsZW1lbnQoXCJkaXZcIiwgeyByZWY6IHNldFJlZmVyZW5jZSB9LFxyXG4gICAgICAgIFJlYWN0LmNyZWF0ZUVsZW1lbnQoSW5wdXRDb250YWluZXIsIHsgc3R5bGU6IGlucHV0V3JhcHBlclN0eWxlLCBcImRhdGEtdGVzdGlkXCI6IGAke3Rlc3RJZH0td3JhcHBlcmAgfSxcclxuICAgICAgICAgICAgUmVhY3QuY3JlYXRlRWxlbWVudChJbnB1dFdyYXBwZXIsIHsgZGlzYWJsZWQ6IGRpc2FibGVkLCBpY29uUG9zaXRpb246IGljb25Qb3NpdGlvbiwgaXNJbnZlcnNlOiBwcm9wcy5pc0ludmVyc2UsIGlucHV0U2l6ZTogaW5wdXRTaXplID8/IElucHV0U2l6ZS5tZWRpdW0sIHRoZW1lOiB0aGVtZSwgc3R5bGU6IGNvbnRhaW5lclN0eWxlLCBoYXNFcnJvcjogaGFzRXJyb3IsIGlzQ2xlYXJhYmxlOiBpc0NsZWFyYWJsZSwgd2lkdGg6IHByb3BzLndpZHRoIH0sXHJcbiAgICAgICAgICAgICAgICBSZWFjdC5jcmVhdGVFbGVtZW50KFN0eWxlZElucHV0LCBPYmplY3QuYXNzaWduKHt9LCBvdGhlciwgeyBcImFyaWEtaW52YWxpZFwiOiBoYXNFcnJvciwgZGlzYWJsZWQ6IGRpc2FibGVkLCBcImRhdGEtdGVzdGlkXCI6IHRlc3RJZCwgaGFzQ2hhcmFjdGVyQ291bnRlcjogaGFzQ2hhcmFjdGVyQ291bnRlciwgaWNvblBvc2l0aW9uOiBpY29uUG9zaXRpb24sIGlucHV0U2l6ZTogaW5wdXRTaXplID8/IElucHV0U2l6ZS5tZWRpdW0sIGlzQ2xlYXJhYmxlOiB0eXBlID09PSBJbnB1dFR5cGUuc2VhcmNoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgID8gaXNDbGVhcmFibGVcclxuICAgICAgICAgICAgICAgICAgICAgICAgOiBpbnB1dFdyYXBwZXJTdHlsZT8ud2lkdGhcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgID8gaXNDbGVhcmFibGVcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogaXNDbGVhcmFibGUgJiYgaW5wdXRMZW5ndGggPiAwLCBpc0ludmVyc2U6IHVzZUlzSW52ZXJzZShwcm9wcy5pc0ludmVyc2UpLCBpc1ByZWRpY3RpdmU6IGlzUHJlZGljdGl2ZSwgaGFzRXJyb3I6IGhhc0Vycm9yLCByZWY6IHJlZiwgbWF4TGVuZ3RoOiBtYXhMZW5ndGhOdW0sIG9uQ2hhbmdlOiBoYW5kbGVDaGFuZ2UsIHN0eWxlOiBpbnB1dFN0eWxlLCB0aGVtZTogdGhlbWUsIHR5cGU6IHR5cGUgPyB0eXBlIDogSW5wdXRUeXBlLnRleHQsIHZhbHVlOiB2YWx1ZSB9KSksXHJcbiAgICAgICAgICAgICAgICBpY29uICYmICFvbkljb25DbGljayAmJiAoUmVhY3QuY3JlYXRlRWxlbWVudChJY29uV3JhcHBlciwgeyBcImFyaWEtbGFiZWxcIjogaWNvbkFyaWFMYWJlbCwgaWNvblBvc2l0aW9uOiBpY29uUG9zaXRpb24sIGlucHV0U2l6ZTogaW5wdXRTaXplID8/IElucHV0U2l6ZS5tZWRpdW0sIGlzSW52ZXJzZTogcHJvcHMuaXNJbnZlcnNlLCBpc1ByZWRpY3RpdmU6IGlzUHJlZGljdGl2ZSwgdGhlbWU6IHRoZW1lLCBkaXNhYmxlZDogZGlzYWJsZWQgfSwgUmVhY3QuQ2hpbGRyZW4ub25seShSZWFjdC5jbG9uZUVsZW1lbnQoaWNvbiwge1xyXG4gICAgICAgICAgICAgICAgICAgIHNpemU6IGdldEljb25TaXplKGlucHV0U2l6ZSA/PyBJbnB1dFNpemUubWVkaXVtLCB0aGVtZSwgaWNvblBvc2l0aW9uKSxcclxuICAgICAgICAgICAgICAgIH0pKSkpKSxcclxuICAgICAgICAgICAgaXNDbGVhcmFibGUgJiYgdmFsdWUgIT09ICcnICYmIChSZWFjdC5jcmVhdGVFbGVtZW50KElzQ2xlYXJhYmxlQ29udGFpbmVyLCB7IHRoZW1lOiB0aGVtZSwgaWNvblBvc2l0aW9uOiBpY29uUG9zaXRpb24sIGlucHV0U2l6ZTogaW5wdXRTaXplLCBpY29uOiBpY29uIH0sXHJcbiAgICAgICAgICAgICAgICBSZWFjdC5jcmVhdGVFbGVtZW50KEljb25CdXR0b24sIHsgXCJhcmlhLWxhYmVsXCI6IGkxOG4uaW5wdXQuaXNDbGVhcmFibGVBcmlhTGFiZWwsIGRpc2FibGVkOiBkaXNhYmxlZCwgaWNvbjogUmVhY3QuY3JlYXRlRWxlbWVudChDbGVhckljb24sIG51bGwpLCBpc0ludmVyc2U6IHByb3BzLmlzSW52ZXJzZSwgb25DbGljazogaGFuZGxlQ2xlYXJJbnB1dCwgb25LZXlEb3duOiBvbkljb25LZXlEb3duLCByZWY6IGljb25SZWYsIHNoYXBlOiBCdXR0b25TaGFwZS5maWxsLCBzaXplOiBpbnB1dFNpemUgPT09IElucHV0U2l6ZS5sYXJnZVxyXG4gICAgICAgICAgICAgICAgICAgICAgICA/IEJ1dHRvblNpemUubWVkaXVtXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDogQnV0dG9uU2l6ZS5zbWFsbCwgdGVzdElkOiBcImNsZWFyLWJ1dHRvblwiLCB0eXBlOiBCdXR0b25UeXBlLmJ1dHRvbiwgdmFyaWFudDogQnV0dG9uVmFyaWFudC5saW5rIH0pKSksXHJcbiAgICAgICAgICAgIG9uSWNvbkNsaWNrICYmIChSZWFjdC5jcmVhdGVFbGVtZW50KEljb25CdXR0b25Db250YWluZXIsIHsgaWNvblBvc2l0aW9uOiBpY29uUG9zaXRpb24sIGlucHV0U2l6ZTogaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2VcclxuICAgICAgICAgICAgICAgICAgICA/IElucHV0U2l6ZS5sYXJnZVxyXG4gICAgICAgICAgICAgICAgICAgIDogSW5wdXRTaXplLm1lZGl1bSwgdGhlbWU6IHRoZW1lLCBpc0NsaWNrYWJsZTogdHJ1ZSB9LFxyXG4gICAgICAgICAgICAgICAgUmVhY3QuY3JlYXRlRWxlbWVudChJY29uQnV0dG9uLCB7IFwiYXJpYS1sYWJlbFwiOiBpY29uQXJpYUxhYmVsLCBpY29uOiBpY29uLCBpc0ludmVyc2U6IHByb3BzLmlzSW52ZXJzZSwgb25DbGljazogb25JY29uQ2xpY2ssIG9uS2V5RG93bjogb25JY29uS2V5RG93biwgcmVmOiBpY29uUmVmLCBkaXNhYmxlZDogZGlzYWJsZWQsIHNoYXBlOiBCdXR0b25TaGFwZS5maWxsLCBzaXplOiBpbnB1dFNpemUgPT09IElucHV0U2l6ZS5sYXJnZVxyXG4gICAgICAgICAgICAgICAgICAgICAgICA/IEJ1dHRvblNpemUubWVkaXVtXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDogQnV0dG9uU2l6ZS5zbWFsbCwgdHlwZTogQnV0dG9uVHlwZS5idXR0b24sIHZhcmlhbnQ6IEJ1dHRvblZhcmlhbnQubGluayB9KSkpLFxyXG4gICAgICAgICAgICBpc1Bhc3N3b3JkSW5wdXQgPyAoUmVhY3QuY3JlYXRlRWxlbWVudChQYXNzd29yZEJ1dHRvbkNvbnRhaW5lciwgeyBzaXplOiBpbnB1dFNpemUgPT09IElucHV0U2l6ZS5sYXJnZVxyXG4gICAgICAgICAgICAgICAgICAgID8gSW5wdXRTaXplLmxhcmdlXHJcbiAgICAgICAgICAgICAgICAgICAgOiBJbnB1dFNpemUubWVkaXVtLCB0aGVtZTogdGhlbWUsIGJ1dHRvbldpZHRoOiBwYXNzd29yZEJ0bldpZHRoKCkgfSwgY2hpbGRyZW4pKSA6IChSZWFjdC5jcmVhdGVFbGVtZW50KEhlbHBMaW5rQ29udGFpbmVyLCB7IGlzTGFiZWxWaXN1YWxseUhpZGRlbjogaXNMYWJlbFZpc3VhbGx5SGlkZGVuIHx8IGZhbHNlLCBpbnB1dFNpemU6IGlucHV0U2l6ZSA/PyBJbnB1dFNpemUubWVkaXVtLCBsYWJlbFBvc2l0aW9uOiBsYWJlbFBvc2l0aW9uID8/IExhYmVsUG9zaXRpb24udG9wLCB0aGVtZTogdGhlbWUgfSwgY2hpbGRyZW4pKSkpKTtcclxufSk7XHJcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWluZGV4LmpzLm1hcCJdfQ== */")), " ", props.inputSize === 'large' && /*#__PURE__*/css("height:", props.theme.spaceScale.spacing11, ";;label:inputWrapperStyles;" + (process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImluZGV4LnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUE2RVEiLCJmaWxlIjoiaW5kZXgudHN4Iiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgUmVhY3QgZnJvbSAncmVhY3QnO1xyXG5pbXBvcnQgeyBjc3MgfSBmcm9tICdAZW1vdGlvbi9yZWFjdCc7XHJcbmltcG9ydCBzdHlsZWQgZnJvbSAnQGVtb3Rpb24vc3R5bGVkJztcclxuaW1wb3J0IHsgdHJhbnNwYXJlbnRpemUgfSBmcm9tICdwb2xpc2hlZCc7XHJcbmltcG9ydCB7IENsZWFySWNvbiB9IGZyb20gJ3JlYWN0LW1hZ21hLWljb25zJztcclxuaW1wb3J0IHsgSTE4bkNvbnRleHQgfSBmcm9tICcuLi8uLi9pMThuJztcclxuaW1wb3J0IHsgdXNlSXNJbnZlcnNlIH0gZnJvbSAnLi4vLi4vaW52ZXJzZSc7XHJcbmltcG9ydCB7IFRoZW1lQ29udGV4dCB9IGZyb20gJy4uLy4uL3RoZW1lL1RoZW1lQ29udGV4dCc7XHJcbmltcG9ydCB7IHVzZUZvcmtlZFJlZiB9IGZyb20gJy4uLy4uL3V0aWxzJztcclxuaW1wb3J0IHsgQnV0dG9uU2hhcGUsIEJ1dHRvblNpemUsIEJ1dHRvblR5cGUsIEJ1dHRvblZhcmlhbnQgfSBmcm9tICcuLi9CdXR0b24nO1xyXG5pbXBvcnQgeyBJY29uQnV0dG9uIH0gZnJvbSAnLi4vSWNvbkJ1dHRvbic7XHJcbmltcG9ydCB7IExhYmVsUG9zaXRpb24gfSBmcm9tICcuLi9MYWJlbCc7XHJcbmltcG9ydCB7IENoaWxkcmVuV3JhcHBlciB9IGZyb20gJy4uL1N0eWxlZEJ1dHRvbic7XHJcbmV4cG9ydCB2YXIgSW5wdXRTaXplO1xyXG4oZnVuY3Rpb24gKElucHV0U2l6ZSkge1xyXG4gICAgSW5wdXRTaXplW1wibGFyZ2VcIl0gPSBcImxhcmdlXCI7XHJcbiAgICBJbnB1dFNpemVbXCJtZWRpdW1cIl0gPSBcIm1lZGl1bVwiO1xyXG59KShJbnB1dFNpemUgfHwgKElucHV0U2l6ZSA9IHt9KSk7XHJcbmV4cG9ydCB2YXIgSW5wdXRUeXBlO1xyXG4oZnVuY3Rpb24gKElucHV0VHlwZSkge1xyXG4gICAgSW5wdXRUeXBlW1wiZW1haWxcIl0gPSBcImVtYWlsXCI7XHJcbiAgICBJbnB1dFR5cGVbXCJmaWxlXCJdID0gXCJmaWxlXCI7XHJcbiAgICBJbnB1dFR5cGVbXCJudW1iZXJcIl0gPSBcIm51bWJlclwiO1xyXG4gICAgSW5wdXRUeXBlW1wicGFzc3dvcmRcIl0gPSBcInBhc3N3b3JkXCI7XHJcbiAgICBJbnB1dFR5cGVbXCJzZWFyY2hcIl0gPSBcInNlYXJjaFwiO1xyXG4gICAgSW5wdXRUeXBlW1widGV4dFwiXSA9IFwidGV4dFwiO1xyXG4gICAgSW5wdXRUeXBlW1widXJsXCJdID0gXCJ1cmxcIjtcclxuICAgIElucHV0VHlwZVtcInRlbFwiXSA9IFwidGVsXCI7XHJcbn0pKElucHV0VHlwZSB8fCAoSW5wdXRUeXBlID0ge30pKTtcclxuZXhwb3J0IHZhciBJbnB1dEljb25Qb3NpdGlvbjtcclxuKGZ1bmN0aW9uIChJbnB1dEljb25Qb3NpdGlvbikge1xyXG4gICAgSW5wdXRJY29uUG9zaXRpb25bXCJ0b3BcIl0gPSBcInRvcFwiO1xyXG4gICAgSW5wdXRJY29uUG9zaXRpb25bXCJsZWZ0XCJdID0gXCJsZWZ0XCI7XHJcbiAgICBJbnB1dEljb25Qb3NpdGlvbltcInJpZ2h0XCJdID0gXCJyaWdodFwiO1xyXG59KShJbnB1dEljb25Qb3NpdGlvbiB8fCAoSW5wdXRJY29uUG9zaXRpb24gPSB7fSkpO1xyXG5leHBvcnQgY29uc3QgaW5wdXRXcmFwcGVyU3R5bGVzID0gKHByb3BzKSA9PiBjc3MgYFxuICBmbGV4OiAxIDEgYXV0bztcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZGlzcGxheTogZmxleDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aWR0aDogJHtwcm9wcy53aWR0aCB8fCAnYXV0byd9O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAke3Byb3BzLmlzSW52ZXJzZVxyXG4gICAgPyB0cmFuc3BhcmVudGl6ZSgwLjgsIHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsOTAwKVxyXG4gICAgOiBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDEwMH07XG4gIGJvcmRlci1yYWRpdXM6ICR7cHJvcHMudGhlbWUuYm9yZGVyUmFkaXVzfTtcbiAgYm9yZGVyOiAxcHggc29saWRcbiAgICAke3Byb3BzLmlzSW52ZXJzZVxyXG4gICAgPyB0cmFuc3BhcmVudGl6ZSgwLjUsIHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsMTAwKVxyXG4gICAgOiBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDUwMH07XG4gIGhlaWdodDogJHtwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwOX07XG5cbiAgJjpmb2N1cy13aXRoaW4ge1xuICAgIG91dGxpbmU6IDJweCBzb2xpZFxuICAgICAgJHtwcm9wcy5pc0ludmVyc2VcclxuICAgID8gcHJvcHMudGhlbWUuY29sb3JzLmZvY3VzSW52ZXJzZVxyXG4gICAgOiBwcm9wcy50aGVtZS5jb2xvcnMuZm9jdXN9O1xuICAgIG91dGxpbmUtb2Zmc2V0OiAtMXB4O1xuICB9XG5cbiAgJHtwcm9wcy5oYXNFcnJvciAmJlxyXG4gICAgY3NzIGBcbiAgICBib3JkZXItY29sb3I6ICR7cHJvcHMuaXNJbnZlcnNlXHJcbiAgICAgICAgPyBwcm9wcy50aGVtZS5jb2xvcnMuZGFuZ2VyMzAwXHJcbiAgICAgICAgOiBwcm9wcy50aGVtZS5jb2xvcnMuZGFuZ2VyfTtcbiAgYH1cblxuICAke3Byb3BzLmRpc2FibGVkICYmXHJcbiAgICBjc3MgYFxuICAgIGJvcmRlci1jb2xvcjogJHtwcm9wcy5pc0ludmVyc2VcclxuICAgICAgICA/IHRyYW5zcGFyZW50aXplKDAuODUsIHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsMTAwKVxyXG4gICAgICAgIDogcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWwzMDB9O1xuICAgIGJhY2tncm91bmQtY29sb3I6ICR7cHJvcHMuaXNJbnZlcnNlXHJcbiAgICAgICAgPyB0cmFuc3BhcmVudGl6ZSgwLjksIHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsOTAwKVxyXG4gICAgICAgIDogcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWwyMDB9O1xuICBgfVxuXG4gICR7cHJvcHMuaW5wdXRTaXplID09PSAnbGFyZ2UnICYmXHJcbiAgICBjc3MgYFxuICAgIGhlaWdodDogJHtwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcxMX07XG4gIGB9XG5gO1xyXG5mdW5jdGlvbiBnZXRJbnB1dFBhZGRpbmcocHJvcHMpIHtcclxuICAgIGNvbnN0IHsgaW5wdXRTaXplLCBpc0NsZWFyYWJsZSwgaWNvblBvc2l0aW9uIH0gPSBwcm9wcztcclxuICAgIGNvbnN0IHBhZGRpbmcgPSB7XHJcbiAgICAgICAgbGVmdDogcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDMsXHJcbiAgICAgICAgcmlnaHQ6IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzAzLFxyXG4gICAgfTtcclxuICAgIGlmIChpbnB1dFNpemUgPT09ICdsYXJnZScpIHtcclxuICAgICAgICBpZiAoaXNDbGVhcmFibGUpIHtcclxuICAgICAgICAgICAgaWYgKGljb25Qb3NpdGlvbiA9PT0gJ3JpZ2h0Jykge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy5yaWdodCA9ICc5MnB4JztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBlbHNlIGlmIChpY29uUG9zaXRpb24gPT09ICdsZWZ0Jykge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy5sZWZ0ID0gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMTE7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLnJpZ2h0ID0gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMTE7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICAgICAgICAvLyBpY29uIHRvcCwgbm8gaWNvblxyXG4gICAgICAgICAgICAgICAgcGFkZGluZy5yaWdodCA9IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzExO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgICBpZiAoaWNvblBvc2l0aW9uID09PSAncmlnaHQnKSB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLnJpZ2h0ID0gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMTA7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgaWYgKGljb25Qb3NpdGlvbiA9PT0gJ2xlZnQnKSB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLmxlZnQgPSBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcxMDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIGVsc2UgaWYgKGlucHV0U2l6ZSA9PT0gJ21lZGl1bScpIHtcclxuICAgICAgICBpZiAoaXNDbGVhcmFibGUpIHtcclxuICAgICAgICAgICAgaWYgKGljb25Qb3NpdGlvbiA9PT0gJ3JpZ2h0Jykge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy5yaWdodCA9ICc2OHB4JztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBlbHNlIGlmIChpY29uUG9zaXRpb24gPT09ICdsZWZ0Jykge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy5sZWZ0ID0gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDk7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLnJpZ2h0ID0gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICAgICAgICAvLyBpY29uIHRvcCwgbm8gaWNvblxyXG4gICAgICAgICAgICAgICAgcGFkZGluZy5yaWdodCA9IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzA5O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgICBpZiAoaWNvblBvc2l0aW9uID09PSAncmlnaHQnKSB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLnJpZ2h0ID0gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgaWYgKGljb25Qb3NpdGlvbiA9PT0gJ2xlZnQnKSB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLmxlZnQgPSBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwOTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIHJldHVybiBwYWRkaW5nO1xyXG59XHJcbmV4cG9ydCBjb25zdCBpbnB1dEJhc2VTdHlsZXMgPSAocHJvcHMpID0+IGNzcyBgXG4gIGJvcmRlcjogMDtcbiAgYm9yZGVyLXJhZGl1czogJHtwcm9wcy50aGVtZS5ib3JkZXJSYWRpdXN9O1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgY29sb3I6ICR7cHJvcHMuaXNJbnZlcnNlXHJcbiAgICA/IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsMTAwXHJcbiAgICA6IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsNzAwfTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGZvbnQtc2l6ZTogJHtwcm9wcy50aGVtZS50eXBlU2NhbGUuc2l6ZTAzLmZvbnRTaXplfTtcbiAgbGluZS1oZWlnaHQ6ICR7cHJvcHMudGhlbWUudHlwZVNjYWxlLnNpemUwMy5saW5lSGVpZ2h0fTtcbiAgZm9udC1mYW1pbHk6ICR7cHJvcHMudGhlbWUuYm9keUZvbnR9O1xuICBoZWlnaHQ6IDEwMCU7XG4gIHBhZGRpbmc6ICR7cHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDN9O1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gIHdpZHRoOiAxMDAlO1xuXG4gICR7cHJvcHMuaW5wdXRTaXplID09PSAnbGFyZ2UnICYmXHJcbiAgICBjc3MgYFxuICAgIGZvbnQtc2l6ZTogJHtwcm9wcy50aGVtZS50eXBlU2NhbGUuc2l6ZTA0LmZvbnRTaXplfTtcbiAgICBsaW5lLWhlaWdodDogJHtwcm9wcy50aGVtZS50eXBlU2NhbGUuc2l6ZTA0LmxpbmVIZWlnaHR9O1xuICAgIHBhZGRpbmc6ICR7cHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDR9O1xuICBgfVxuXG4gIHBhZGRpbmctbGVmdDogJHtnZXRJbnB1dFBhZGRpbmcocHJvcHMpLmxlZnR9O1xuICBwYWRkaW5nLXJpZ2h0OiAke2dldElucHV0UGFkZGluZyhwcm9wcykucmlnaHR9O1xuXG4gICY6OnBsYWNlaG9sZGVyIHtcbiAgICBjb2xvcjogJHtwcm9wcy5pc0ludmVyc2VcclxuICAgID8gdHJhbnNwYXJlbnRpemUoMC4zLCBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDEwMClcclxuICAgIDogcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWw1MDB9O1xuICB9XG5cbiAgJjpmb2N1cyB7XG4gICAgb3V0bGluZTogMDtcbiAgfVxuXG4gICZbdHlwZT0nc2VhcmNoJ10ge1xuICAgICY6Oi13ZWJraXQtc2VhcmNoLWRlY29yYXRpb24sXG4gICAgJjo6LXdlYmtpdC1zZWFyY2gtY2FuY2VsLWJ1dHRvbixcbiAgICAmOjotd2Via2l0LXNlYXJjaC1yZXN1bHRzLWJ1dHRvbixcbiAgICAmOjotd2Via2l0LXNlYXJjaC1yZXN1bHRzLWRlY29yYXRpb24ge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gIH1cblxuICAke3Byb3BzLmRpc2FibGVkICYmXHJcbiAgICBjc3MgYFxuICAgIGNvbG9yOiAke3Byb3BzLmlzSW52ZXJzZVxyXG4gICAgICAgID8gdHJhbnNwYXJlbnRpemUoMC42LCBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDEwMClcclxuICAgICAgICA6IHRyYW5zcGFyZW50aXplKDAuNCwgcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWw1MDApfTtcbiAgICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xuXG4gICAgJjo6cGxhY2Vob2xkZXIge1xuICAgICAgY29sb3I6ICR7cHJvcHMuaXNJbnZlcnNlXHJcbiAgICAgICAgPyB0cmFuc3BhcmVudGl6ZSgwLjgsIHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsMTAwKVxyXG4gICAgICAgIDogcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWw1MDB9O1xuICAgICAgb3BhY2l0eTogJHtwcm9wcy5pc0ludmVyc2UgPyAwLjQgOiAwLjZ9O1xuICAgIH1cbiAgYH1cblxuICAmOi13ZWJraXQtYXV0b2ZpbGwsXG4gICY6LXdlYmtpdC1hdXRvZmlsbDpmb2N1cyxcbiAgJjotd2Via2l0LWF1dG9maWxsOmhvdmVyLFxuICAmOi13ZWJraXQtYXV0b2ZpbGw6YWN0aXZlIHtcbiAgICBib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XG4gICAgLXdlYmtpdC1iYWNrZ3JvdW5kLWNsaXA6IHRleHQ7XG4gICAgLXdlYmtpdC10ZXh0LWZpbGwtY29sb3I6ICR7cHJvcHMuaXNJbnZlcnNlXHJcbiAgICA/IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsMTAwXHJcbiAgICA6IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsNzAwfSAhaW1wb3J0YW50O1xuICAgIGNhcmV0LWNvbG9yOiAke3Byb3BzLmlzSW52ZXJzZVxyXG4gICAgPyBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDEwMFxyXG4gICAgOiBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDcwMH0gIWltcG9ydGFudDtcbiAgfVxuYDtcclxuY29uc3QgSW5wdXRDb250YWluZXIgPSBzdHlsZWQuZGl2IGBcbiAgZGlzcGxheTogZmxleDtcbmA7XHJcbmV4cG9ydCBjb25zdCBJbnB1dFdyYXBwZXIgPSBzdHlsZWQuZGl2IGBcbiAgJHtpbnB1dFdyYXBwZXJTdHlsZXN9XG5gO1xyXG5jb25zdCBTdHlsZWRJbnB1dCA9IHN0eWxlZC5pbnB1dCBgXG4gICR7aW5wdXRCYXNlU3R5bGVzfVxuYDtcclxuY29uc3QgSWNvbldyYXBwZXIgPSBzdHlsZWQuc3BhbiBgXG4gIGJvdHRvbTogJHtwcm9wcyA9PiAocHJvcHMuaWNvblBvc2l0aW9uID09PSAndG9wJyA/ICc0NXB4JyA6ICdpbmhlcml0Jyl9O1xuICBjb2xvcjogJHtwcm9wcyA9PiBwcm9wcy5pc0ludmVyc2VcclxuICAgID8gcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWwxMDBcclxuICAgIDogcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWw3MDB9O1xuICBsZWZ0OiAke3Byb3BzID0+IHByb3BzLmljb25Qb3NpdGlvbiA9PT0gJ2xlZnQnID8gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDMgOiAnYXV0byd9O1xuICByaWdodDogJHtwcm9wcyA9PiBwcm9wcy5pY29uUG9zaXRpb24gPT09ICdyaWdodCdcclxuICAgID8gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDNcclxuICAgIDogcHJvcHMuaWNvblBvc2l0aW9uID09PSAndG9wJ1xyXG4gICAgICAgID8gJzNweCdcclxuICAgICAgICA6ICdhdXRvJ307XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAke3Byb3BzID0+IHByb3BzLmljb25Qb3NpdGlvbiA9PT0gJ3RvcCdcclxuICAgID8gJ2luaGVyaXQnXHJcbiAgICA6IHByb3BzID0+IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzAzfTtcblxuICAke3Byb3BzID0+IHByb3BzLmlucHV0U2l6ZSA9PT0gJ2xhcmdlJyAmJlxyXG4gICAgY3NzIGBcbiAgICAgIGJvdHRvbTogJHtwcm9wcy5pY29uUG9zaXRpb24gPT09ICd0b3AnID8gJzYycHgnIDogJ2luaGVyaXQnfTtcbiAgICAgIGxlZnQ6ICR7cHJvcHMuaWNvblBvc2l0aW9uID09PSAnbGVmdCdcclxuICAgICAgICA/IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzA0XHJcbiAgICAgICAgOiAnYXV0byd9O1xuICAgICAgcmlnaHQ6ICR7cHJvcHMuaWNvblBvc2l0aW9uID09PSAncmlnaHQnXHJcbiAgICAgICAgPyBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwNFxyXG4gICAgICAgIDogcHJvcHMuaWNvblBvc2l0aW9uID09PSAndG9wJ1xyXG4gICAgICAgICAgICA/ICczcHgnXHJcbiAgICAgICAgICAgIDogJ2F1dG8nfTtcbiAgICAgIHRvcDogJHtwcm9wcy5pY29uUG9zaXRpb24gPT09ICd0b3AnXHJcbiAgICAgICAgPyAnaW5oZXJpdCdcclxuICAgICAgICA6IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzA0fTtcbiAgICBgfVxuYDtcclxuZnVuY3Rpb24gZ2V0SWNvbkJ1dHRvblNWR1NpemUocHJvcHMpIHtcclxuICAgIGNvbnN0IHsgaXNDbGlja2FibGUsIGljb25Qb3NpdGlvbiwgaW5wdXRTaXplLCB0aGVtZSB9ID0gcHJvcHM7XHJcbiAgICBpZiAoaXNDbGlja2FibGUgJiYgaWNvblBvc2l0aW9uID09PSBJbnB1dEljb25Qb3NpdGlvbi50b3ApIHtcclxuICAgICAgICBpZiAoaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2UpIHtcclxuICAgICAgICAgICAgcmV0dXJuIGAke3RoZW1lLmljb25TaXplcy5tZWRpdW19cHhgO1xyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gYCR7dGhlbWUuaWNvblNpemVzLnNtYWxsfXB4YDtcclxuICAgIH1cclxuICAgIGlmIChpbnB1dFNpemUgPT09IElucHV0U2l6ZS5sYXJnZSkge1xyXG4gICAgICAgIHJldHVybiBgJHt0aGVtZS5pY29uU2l6ZXMubGFyZ2V9cHhgO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIGAke3RoZW1lLmljb25TaXplcy5tZWRpdW19cHhgO1xyXG59XHJcbmZ1bmN0aW9uIGdldEhlbHBMaW5rU1ZHU2l6ZShwcm9wcykge1xyXG4gICAgY29uc3QgeyBpbnB1dFNpemUsIHRoZW1lIH0gPSBwcm9wcztcclxuICAgIGlmIChpbnB1dFNpemUgPT09IElucHV0U2l6ZS5sYXJnZSkge1xyXG4gICAgICAgIHJldHVybiBgJHt0aGVtZS5pY29uU2l6ZXMubWVkaXVtfXB4YDtcclxuICAgIH1cclxuICAgIHJldHVybiBgJHt0aGVtZS5pY29uU2l6ZXMuc21hbGx9cHhgO1xyXG59XHJcbmV4cG9ydCBmdW5jdGlvbiBnZXRIZWxwSWNvbkJ1dHRvblNpemUocHJvcHMpIHtcclxuICAgIGNvbnN0IHsgaW5wdXRTaXplLCB0aGVtZSB9ID0gcHJvcHM7XHJcbiAgICBpZiAoaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2UpIHtcclxuICAgICAgICByZXR1cm4gdGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDk7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gdGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDc7XHJcbn1cclxuZnVuY3Rpb24gZ2V0SWNvbkJ1dHRvblRyYW5zZm9ybShwcm9wcykge1xyXG4gICAgY29uc3QgeyBpc0NsaWNrYWJsZSwgaWNvblBvc2l0aW9uLCBpbnB1dFNpemUsIGhhc0NoaWxkcmVuLCB0aGVtZSB9ID0gcHJvcHM7XHJcbiAgICBjb25zdCBwb3NpdGlvbiA9IHsgeDogJycsIHk6ICcnIH07XHJcbiAgICBpZiAoaWNvblBvc2l0aW9uID09PSBJbnB1dEljb25Qb3NpdGlvbi50b3ApIHtcclxuICAgICAgICBpZiAoaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2UpIHtcclxuICAgICAgICAgICAgcG9zaXRpb24ueCA9ICctMzBweCc7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uLnkgPSAnMnB4JztcclxuICAgICAgICB9XHJcbiAgICAgICAgZWxzZSBpZiAoaW5wdXRTaXplID09PSBJbnB1dFNpemUubWVkaXVtKSB7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uLnggPSAnLTI4cHgnO1xyXG4gICAgICAgICAgICBwb3NpdGlvbi55ID0gJzVweCc7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiBwb3NpdGlvbjtcclxuICAgIH1cclxuICAgIGlmIChpc0NsaWNrYWJsZSkge1xyXG4gICAgICAgIGlmIChpbnB1dFNpemUgPT09IElucHV0U2l6ZS5sYXJnZSkge1xyXG4gICAgICAgICAgICBpZiAoaGFzQ2hpbGRyZW4pIHtcclxuICAgICAgICAgICAgICAgIHBvc2l0aW9uLnggPSAnLTQzcHgnO1xyXG4gICAgICAgICAgICAgICAgcG9zaXRpb24ueSA9ICcxNHB4JztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBlbHNlIHtcclxuICAgICAgICAgICAgICAgIHBvc2l0aW9uLnggPSAnLTQ5cHgnO1xyXG4gICAgICAgICAgICAgICAgcG9zaXRpb24ueSA9ICc4cHgnO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2UgaWYgKGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLm1lZGl1bSkge1xyXG4gICAgICAgICAgICBwb3NpdGlvbi54ID0gJy0zNXB4JztcclxuICAgICAgICAgICAgcG9zaXRpb24ueSA9ICc2cHgnO1xyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gcG9zaXRpb247XHJcbiAgICB9XHJcbiAgICBpZiAoaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2UpIHtcclxuICAgICAgICBwb3NpdGlvbi54ID0gYC0ke3RoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzEwfWA7XHJcbiAgICAgICAgcG9zaXRpb24ueSA9IHRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzAzO1xyXG4gICAgfVxyXG4gICAgZWxzZSBpZiAoaW5wdXRTaXplID09PSBJbnB1dFNpemUubWVkaXVtKSB7XHJcbiAgICAgICAgcG9zaXRpb24ueCA9ICctMjRweCc7XHJcbiAgICAgICAgcG9zaXRpb24ueSA9ICc3cHgnO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIHBvc2l0aW9uO1xyXG59XHJcbmV4cG9ydCBjb25zdCBJY29uQnV0dG9uQ29udGFpbmVyID0gc3R5bGVkLnNwYW4gYFxuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgYm90dG9tOiAke3Byb3BzID0+IChwcm9wcy5pY29uUG9zaXRpb24gPT09ICd0b3AnID8gJzQwcHgnIDogJ2luaGVyaXQnKX07XG4gIGhlaWdodDogYXV0bztcbiAgbWFyZ2luOiAwO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiAwO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZShcbiAgICAke3Byb3BzID0+IGdldEljb25CdXR0b25UcmFuc2Zvcm0ocHJvcHMpLnh9LFxuICAgICR7cHJvcHMgPT4gZ2V0SWNvbkJ1dHRvblRyYW5zZm9ybShwcm9wcykueX1cbiAgKTtcbiAgc3ZnIHtcbiAgICBoZWlnaHQ6ICR7cHJvcHMgPT4gZ2V0SWNvbkJ1dHRvblNWR1NpemUocHJvcHMpfTtcbiAgICB3aWR0aDogJHtwcm9wcyA9PiBnZXRJY29uQnV0dG9uU1ZHU2l6ZShwcm9wcyl9O1xuICB9XG5gO1xyXG5jb25zdCBQYXNzd29yZEJ1dHRvbkNvbnRhaW5lciA9IHN0eWxlZC5zcGFuIGBcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIHdpZHRoOiAwO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZShcbiAgICAke3Byb3BzID0+IHByb3BzLnNpemUgPT09IElucHV0U2l6ZS5sYXJnZVxyXG4gICAgPyBgJHstcHJvcHMuYnV0dG9uV2lkdGggLSA4fXB4YFxyXG4gICAgOiBgJHstcHJvcHMuYnV0dG9uV2lkdGggLSA2fXB4YH0sXG4gICAgJHtwcm9wcyA9PiBwcm9wcy5zaXplID09PSBJbnB1dFNpemUubGFyZ2UgPyBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwMyA6ICc2cHgnfVxuICApO1xuYDtcclxuZnVuY3Rpb24gZ2V0Q2xlYXJhYmxlUG9zaXRpb24ocHJvcHMpIHtcclxuICAgIGlmIChwcm9wcy5pY29uUG9zaXRpb24gPT09ICdyaWdodCcgJiYgcHJvcHMuaWNvbikge1xyXG4gICAgICAgIGlmIChwcm9wcy5pbnB1dFNpemUgPT09ICdsYXJnZScpIHtcclxuICAgICAgICAgICAgcmV0dXJuIHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzEzO1xyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gJzcycHgnO1xyXG4gICAgfVxyXG4gICAgaWYgKHByb3BzLmlucHV0U2l6ZSA9PT0gJ2xhcmdlJykge1xyXG4gICAgICAgIHJldHVybiBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcxMDtcclxuICAgIH1cclxuICAgIHJldHVybiAnMzRweCc7XHJcbn1cclxuY29uc3QgSXNDbGVhcmFibGVDb250YWluZXIgPSBzdHlsZWQuc3BhbiBgXG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBtYXJnaW46IDA7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgaGVpZ2h0OiBhdXRvO1xuICB3aWR0aDogMDtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoXG4gICAgLSR7cHJvcHMgPT4gZ2V0Q2xlYXJhYmxlUG9zaXRpb24ocHJvcHMpfSxcbiAgICAke3Byb3BzID0+IHByb3BzLmlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlXHJcbiAgICA/IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzAzXHJcbiAgICA6ICc2cHgnfVxuICApO1xuYDtcclxuZnVuY3Rpb24gZ2V0SWNvblNpemUoc2l6ZSwgdGhlbWUsIGljb25Qb3NpdGlvbikge1xyXG4gICAgc3dpdGNoIChzaXplKSB7XHJcbiAgICAgICAgY2FzZSAnbGFyZ2UnOlxyXG4gICAgICAgICAgICBpZiAoaWNvblBvc2l0aW9uID09PSBJbnB1dEljb25Qb3NpdGlvbi50b3ApIHtcclxuICAgICAgICAgICAgICAgIHJldHVybiB0aGVtZS5pY29uU2l6ZXMubWVkaXVtO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHJldHVybiB0aGVtZS5pY29uU2l6ZXMubGFyZ2U7XHJcbiAgICAgICAgZGVmYXVsdDpcclxuICAgICAgICAgICAgaWYgKGljb25Qb3NpdGlvbiA9PT0gSW5wdXRJY29uUG9zaXRpb24udG9wKSB7XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gdGhlbWUuaWNvblNpemVzLnNtYWxsO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHJldHVybiB0aGVtZS5pY29uU2l6ZXMubWVkaXVtO1xyXG4gICAgfVxyXG59XHJcbmV4cG9ydCBjb25zdCBpc0xlZnRPckhpZGRlbiA9ICh7IGxhYmVsUG9zaXRpb24sIGlzTGFiZWxWaXN1YWxseUhpZGRlbiwgfSkgPT4gbGFiZWxQb3NpdGlvbiA9PT0gTGFiZWxQb3NpdGlvbi5sZWZ0IHx8IGlzTGFiZWxWaXN1YWxseUhpZGRlbjtcclxuZXhwb3J0IGNvbnN0IEhlbHBMaW5rQ29udGFpbmVyID0gc3R5bGVkLnNwYW4gYFxuICBwb3NpdGlvbjogJHtwcm9wcyA9PiAoaXNMZWZ0T3JIaWRkZW4ocHJvcHMpID8gJ3JlbGF0aXZlJyA6ICdhYnNvbHV0ZScpfTtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cbiAgaGVpZ2h0OiAke3Byb3BzID0+IChpc0xlZnRPckhpZGRlbihwcm9wcykgPyAnYXV0bycgOiAnZml0LWNvbnRlbnQnKX07XG4gIG1hcmdpbi1pbmxpbmUtc3RhcnQ6ICR7cHJvcHMgPT4gaXNMZWZ0T3JIaWRkZW4ocHJvcHMpID8gYCR7cHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDN9YCA6ICdhdXRvJ307XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWShcbiAgICAke3Byb3BzID0+IGlzTGVmdE9ySGlkZGVuKHByb3BzKVxyXG4gICAgPyAnMCdcclxuICAgIDogYGNhbGMoLTEwMCUgLSAke3Byb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzAzfSlgfVxuICApO1xuICAke0NoaWxkcmVuV3JhcHBlcn0gPiBzdmcge1xuICAgIGhlaWdodDogJHtwcm9wcyA9PiBnZXRIZWxwTGlua1NWR1NpemUocHJvcHMpfTtcbiAgICB3aWR0aDogJHtwcm9wcyA9PiBnZXRIZWxwTGlua1NWR1NpemUocHJvcHMpfTtcbiAgfVxuICBidXR0b24ge1xuICAgIGhlaWdodDogJHtwcm9wcyA9PiBnZXRIZWxwSWNvbkJ1dHRvblNpemUocHJvcHMpfTtcbiAgICB3aWR0aDogJHtwcm9wcyA9PiBnZXRIZWxwSWNvbkJ1dHRvblNpemUocHJvcHMpfTtcbiAgfVxuICBpbnNldC1pbmxpbmUtZW5kOiAke3Byb3BzID0+IChpc0xlZnRPckhpZGRlbihwcm9wcykgPyAnYXV0bycgOiAnMCcpfTtcbmA7XHJcbmV4cG9ydCBjb25zdCBJbnB1dEJhc2UgPSBSZWFjdC5mb3J3YXJkUmVmKChwcm9wcywgZm9yd2FyZGVkUmVmKSA9PiB7XHJcbiAgICBjb25zdCB7IGNoaWxkcmVuLCBjb250YWluZXJTdHlsZSwgZGVmYXVsdFZhbHVlLCBkaXNhYmxlZCwgaGFzQ2hhcmFjdGVyQ291bnRlciwgaGFzRXJyb3IsIGljb24sIGljb25BcmlhTGFiZWwsIGljb25SZWYsIGlzQ2xlYXJhYmxlLCBpc1Bhc3N3b3JkSW5wdXQsIGlzUHJlZGljdGl2ZSwgbWF4Q291bnQsIG1heExlbmd0aCwgb25DbGVhciwgb25JY29uQ2xpY2ssIG9uSWNvbktleURvd24sIG9uRGF0ZUNoYW5nZSwgaW5wdXRMZW5ndGgsIGlucHV0U2l6ZSwgaW5wdXRTdHlsZSwgaW5wdXRXcmFwcGVyU3R5bGUsIHRlc3RJZCwgdHlwZSwgc2V0UmVmZXJlbmNlLCBpc0xhYmVsVmlzdWFsbHlIaWRkZW4sIGxhYmVsUG9zaXRpb24sIC4uLm90aGVyIH0gPSBwcm9wcztcclxuICAgIGNvbnN0IGkxOG4gPSBSZWFjdC51c2VDb250ZXh0KEkxOG5Db250ZXh0KTtcclxuICAgIGNvbnN0IHRoZW1lID0gUmVhY3QudXNlQ29udGV4dChUaGVtZUNvbnRleHQpO1xyXG4gICAgY29uc3QgaWNvblBvc2l0aW9uID0gaWNvbiAmJiBvbkljb25DbGlja1xyXG4gICAgICAgID8gSW5wdXRJY29uUG9zaXRpb24ucmlnaHRcclxuICAgICAgICA6IGljb24gJiYgIXByb3BzLmljb25Qb3NpdGlvblxyXG4gICAgICAgICAgICA/IElucHV0SWNvblBvc2l0aW9uLmxlZnRcclxuICAgICAgICAgICAgOiBwcm9wcy5pY29uUG9zaXRpb247XHJcbiAgICBjb25zdCBbdmFsdWUsIHNldFZhbHVlXSA9IFJlYWN0LnVzZVN0YXRlKHByb3BzLmRlZmF1bHRWYWx1ZSAhPT0gdW5kZWZpbmVkICYmIHByb3BzLmRlZmF1bHRWYWx1ZSAhPT0gbnVsbFxyXG4gICAgICAgID8gcHJvcHMuZGVmYXVsdFZhbHVlXHJcbiAgICAgICAgOiBwcm9wcy52YWx1ZSB8fCAnJyk7XHJcbiAgICBjb25zdCBtYXhMZW5ndGhOdW0gPSAhaGFzQ2hhcmFjdGVyQ291bnRlciAmJiBtYXhMZW5ndGggPyBtYXhMZW5ndGggOiB1bmRlZmluZWQ7XHJcbiAgICBSZWFjdC51c2VFZmZlY3QoKCkgPT4ge1xyXG4gICAgICAgIGlmIChwcm9wcy52YWx1ZSAhPT0gdW5kZWZpbmVkICYmIHByb3BzLnZhbHVlICE9PSBudWxsKSB7XHJcbiAgICAgICAgICAgIHNldFZhbHVlKHByb3BzLnZhbHVlKTtcclxuICAgICAgICB9XHJcbiAgICB9LCBbcHJvcHMudmFsdWVdKTtcclxuICAgIGNvbnN0IGlucHV0UmVmID0gUmVhY3QudXNlUmVmKCk7XHJcbiAgICBjb25zdCByZWYgPSB1c2VGb3JrZWRSZWYoZm9yd2FyZGVkUmVmLCBpbnB1dFJlZik7XHJcbiAgICBmdW5jdGlvbiBoYW5kbGVDbGVhcklucHV0KCkge1xyXG4gICAgICAgIG9uQ2xlYXIgJiYgdHlwZW9mIG9uQ2xlYXIgPT09ICdmdW5jdGlvbicgJiYgb25DbGVhcigpO1xyXG4gICAgICAgIHNldFZhbHVlKCcnKTtcclxuICAgICAgICBvbkRhdGVDaGFuZ2UgJiYgdHlwZW9mIG9uRGF0ZUNoYW5nZSA9PT0gJ2Z1bmN0aW9uJyAmJiBvbkRhdGVDaGFuZ2UobnVsbCk7XHJcbiAgICAgICAgaW5wdXRSZWYuY3VycmVudC5mb2N1cygpO1xyXG4gICAgfVxyXG4gICAgZnVuY3Rpb24gaGFuZGxlQ2hhbmdlKGV2ZW50KSB7XHJcbiAgICAgICAgcHJvcHMub25DaGFuZ2UgJiZcclxuICAgICAgICAgICAgdHlwZW9mIHByb3BzLm9uQ2hhbmdlID09PSAnZnVuY3Rpb24nICYmXHJcbiAgICAgICAgICAgIHByb3BzLm9uQ2hhbmdlKGV2ZW50KTtcclxuICAgICAgICBzZXRWYWx1ZShldmVudC50YXJnZXQudmFsdWUpO1xyXG4gICAgICAgIGlmICghZXZlbnQudGFyZ2V0LnZhbHVlICYmXHJcbiAgICAgICAgICAgIG9uRGF0ZUNoYW5nZSAmJlxyXG4gICAgICAgICAgICB0eXBlb2Ygb25EYXRlQ2hhbmdlID09PSAnZnVuY3Rpb24nKVxyXG4gICAgICAgICAgICBvbkRhdGVDaGFuZ2UobnVsbCk7XHJcbiAgICB9XHJcbiAgICBjb25zdCBwYXNzd29yZEJ0bldpZHRoID0gKCkgPT4ge1xyXG4gICAgICAgIGNvbnN0IGJ0bldpZHRoID0gY2hpbGRyZW4/LnByb3BzPy5jaGlsZHJlbj8uWzBdPy5yZWY/LmN1cnJlbnQ/Lm9mZnNldFdpZHRoO1xyXG4gICAgICAgIGlmICh0eXBlb2YgYnRuV2lkdGggPT09ICdudW1iZXInKSB7XHJcbiAgICAgICAgICAgIHJldHVybiBidG5XaWR0aDtcclxuICAgICAgICB9XHJcbiAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICAgIC8vIFdoZW4gUGFzc3dvcmRCdXR0b24gaXMgdXNlZCBpbnNpZGUgU2NoZW1hUmVuZGVyZXIsIGl0IGRvZXNuJ3QgaGF2ZSBjaGlsZHJlbi5cclxuICAgICAgICAgICAgLy8gV2UnbGwgdXNlIHRoZSBkZWZhdWx0IGJ1dHRvbiBzaXplcy5cclxuICAgICAgICAgICAgaWYgKHByb3BzLmlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gNjQ7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgcmV0dXJuIDU0O1xyXG4gICAgICAgIH1cclxuICAgIH07XHJcbiAgICByZXR1cm4gKFJlYWN0LmNyZWF0ZUVsZW1lbnQoXCJkaXZcIiwgeyByZWY6IHNldFJlZmVyZW5jZSB9LFxyXG4gICAgICAgIFJlYWN0LmNyZWF0ZUVsZW1lbnQoSW5wdXRDb250YWluZXIsIHsgc3R5bGU6IGlucHV0V3JhcHBlclN0eWxlLCBcImRhdGEtdGVzdGlkXCI6IGAke3Rlc3RJZH0td3JhcHBlcmAgfSxcclxuICAgICAgICAgICAgUmVhY3QuY3JlYXRlRWxlbWVudChJbnB1dFdyYXBwZXIsIHsgZGlzYWJsZWQ6IGRpc2FibGVkLCBpY29uUG9zaXRpb246IGljb25Qb3NpdGlvbiwgaXNJbnZlcnNlOiBwcm9wcy5pc0ludmVyc2UsIGlucHV0U2l6ZTogaW5wdXRTaXplID8/IElucHV0U2l6ZS5tZWRpdW0sIHRoZW1lOiB0aGVtZSwgc3R5bGU6IGNvbnRhaW5lclN0eWxlLCBoYXNFcnJvcjogaGFzRXJyb3IsIGlzQ2xlYXJhYmxlOiBpc0NsZWFyYWJsZSwgd2lkdGg6IHByb3BzLndpZHRoIH0sXHJcbiAgICAgICAgICAgICAgICBSZWFjdC5jcmVhdGVFbGVtZW50KFN0eWxlZElucHV0LCBPYmplY3QuYXNzaWduKHt9LCBvdGhlciwgeyBcImFyaWEtaW52YWxpZFwiOiBoYXNFcnJvciwgZGlzYWJsZWQ6IGRpc2FibGVkLCBcImRhdGEtdGVzdGlkXCI6IHRlc3RJZCwgaGFzQ2hhcmFjdGVyQ291bnRlcjogaGFzQ2hhcmFjdGVyQ291bnRlciwgaWNvblBvc2l0aW9uOiBpY29uUG9zaXRpb24sIGlucHV0U2l6ZTogaW5wdXRTaXplID8/IElucHV0U2l6ZS5tZWRpdW0sIGlzQ2xlYXJhYmxlOiB0eXBlID09PSBJbnB1dFR5cGUuc2VhcmNoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgID8gaXNDbGVhcmFibGVcclxuICAgICAgICAgICAgICAgICAgICAgICAgOiBpbnB1dFdyYXBwZXJTdHlsZT8ud2lkdGhcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgID8gaXNDbGVhcmFibGVcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogaXNDbGVhcmFibGUgJiYgaW5wdXRMZW5ndGggPiAwLCBpc0ludmVyc2U6IHVzZUlzSW52ZXJzZShwcm9wcy5pc0ludmVyc2UpLCBpc1ByZWRpY3RpdmU6IGlzUHJlZGljdGl2ZSwgaGFzRXJyb3I6IGhhc0Vycm9yLCByZWY6IHJlZiwgbWF4TGVuZ3RoOiBtYXhMZW5ndGhOdW0sIG9uQ2hhbmdlOiBoYW5kbGVDaGFuZ2UsIHN0eWxlOiBpbnB1dFN0eWxlLCB0aGVtZTogdGhlbWUsIHR5cGU6IHR5cGUgPyB0eXBlIDogSW5wdXRUeXBlLnRleHQsIHZhbHVlOiB2YWx1ZSB9KSksXHJcbiAgICAgICAgICAgICAgICBpY29uICYmICFvbkljb25DbGljayAmJiAoUmVhY3QuY3JlYXRlRWxlbWVudChJY29uV3JhcHBlciwgeyBcImFyaWEtbGFiZWxcIjogaWNvbkFyaWFMYWJlbCwgaWNvblBvc2l0aW9uOiBpY29uUG9zaXRpb24sIGlucHV0U2l6ZTogaW5wdXRTaXplID8/IElucHV0U2l6ZS5tZWRpdW0sIGlzSW52ZXJzZTogcHJvcHMuaXNJbnZlcnNlLCBpc1ByZWRpY3RpdmU6IGlzUHJlZGljdGl2ZSwgdGhlbWU6IHRoZW1lLCBkaXNhYmxlZDogZGlzYWJsZWQgfSwgUmVhY3QuQ2hpbGRyZW4ub25seShSZWFjdC5jbG9uZUVsZW1lbnQoaWNvbiwge1xyXG4gICAgICAgICAgICAgICAgICAgIHNpemU6IGdldEljb25TaXplKGlucHV0U2l6ZSA/PyBJbnB1dFNpemUubWVkaXVtLCB0aGVtZSwgaWNvblBvc2l0aW9uKSxcclxuICAgICAgICAgICAgICAgIH0pKSkpKSxcclxuICAgICAgICAgICAgaXNDbGVhcmFibGUgJiYgdmFsdWUgIT09ICcnICYmIChSZWFjdC5jcmVhdGVFbGVtZW50KElzQ2xlYXJhYmxlQ29udGFpbmVyLCB7IHRoZW1lOiB0aGVtZSwgaWNvblBvc2l0aW9uOiBpY29uUG9zaXRpb24sIGlucHV0U2l6ZTogaW5wdXRTaXplLCBpY29uOiBpY29uIH0sXHJcbiAgICAgICAgICAgICAgICBSZWFjdC5jcmVhdGVFbGVtZW50KEljb25CdXR0b24sIHsgXCJhcmlhLWxhYmVsXCI6IGkxOG4uaW5wdXQuaXNDbGVhcmFibGVBcmlhTGFiZWwsIGRpc2FibGVkOiBkaXNhYmxlZCwgaWNvbjogUmVhY3QuY3JlYXRlRWxlbWVudChDbGVhckljb24sIG51bGwpLCBpc0ludmVyc2U6IHByb3BzLmlzSW52ZXJzZSwgb25DbGljazogaGFuZGxlQ2xlYXJJbnB1dCwgb25LZXlEb3duOiBvbkljb25LZXlEb3duLCByZWY6IGljb25SZWYsIHNoYXBlOiBCdXR0b25TaGFwZS5maWxsLCBzaXplOiBpbnB1dFNpemUgPT09IElucHV0U2l6ZS5sYXJnZVxyXG4gICAgICAgICAgICAgICAgICAgICAgICA/IEJ1dHRvblNpemUubWVkaXVtXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDogQnV0dG9uU2l6ZS5zbWFsbCwgdGVzdElkOiBcImNsZWFyLWJ1dHRvblwiLCB0eXBlOiBCdXR0b25UeXBlLmJ1dHRvbiwgdmFyaWFudDogQnV0dG9uVmFyaWFudC5saW5rIH0pKSksXHJcbiAgICAgICAgICAgIG9uSWNvbkNsaWNrICYmIChSZWFjdC5jcmVhdGVFbGVtZW50KEljb25CdXR0b25Db250YWluZXIsIHsgaWNvblBvc2l0aW9uOiBpY29uUG9zaXRpb24sIGlucHV0U2l6ZTogaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2VcclxuICAgICAgICAgICAgICAgICAgICA/IElucHV0U2l6ZS5sYXJnZVxyXG4gICAgICAgICAgICAgICAgICAgIDogSW5wdXRTaXplLm1lZGl1bSwgdGhlbWU6IHRoZW1lLCBpc0NsaWNrYWJsZTogdHJ1ZSB9LFxyXG4gICAgICAgICAgICAgICAgUmVhY3QuY3JlYXRlRWxlbWVudChJY29uQnV0dG9uLCB7IFwiYXJpYS1sYWJlbFwiOiBpY29uQXJpYUxhYmVsLCBpY29uOiBpY29uLCBpc0ludmVyc2U6IHByb3BzLmlzSW52ZXJzZSwgb25DbGljazogb25JY29uQ2xpY2ssIG9uS2V5RG93bjogb25JY29uS2V5RG93biwgcmVmOiBpY29uUmVmLCBkaXNhYmxlZDogZGlzYWJsZWQsIHNoYXBlOiBCdXR0b25TaGFwZS5maWxsLCBzaXplOiBpbnB1dFNpemUgPT09IElucHV0U2l6ZS5sYXJnZVxyXG4gICAgICAgICAgICAgICAgICAgICAgICA/IEJ1dHRvblNpemUubWVkaXVtXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDogQnV0dG9uU2l6ZS5zbWFsbCwgdHlwZTogQnV0dG9uVHlwZS5idXR0b24sIHZhcmlhbnQ6IEJ1dHRvblZhcmlhbnQubGluayB9KSkpLFxyXG4gICAgICAgICAgICBpc1Bhc3N3b3JkSW5wdXQgPyAoUmVhY3QuY3JlYXRlRWxlbWVudChQYXNzd29yZEJ1dHRvbkNvbnRhaW5lciwgeyBzaXplOiBpbnB1dFNpemUgPT09IElucHV0U2l6ZS5sYXJnZVxyXG4gICAgICAgICAgICAgICAgICAgID8gSW5wdXRTaXplLmxhcmdlXHJcbiAgICAgICAgICAgICAgICAgICAgOiBJbnB1dFNpemUubWVkaXVtLCB0aGVtZTogdGhlbWUsIGJ1dHRvbldpZHRoOiBwYXNzd29yZEJ0bldpZHRoKCkgfSwgY2hpbGRyZW4pKSA6IChSZWFjdC5jcmVhdGVFbGVtZW50KEhlbHBMaW5rQ29udGFpbmVyLCB7IGlzTGFiZWxWaXN1YWxseUhpZGRlbjogaXNMYWJlbFZpc3VhbGx5SGlkZGVuIHx8IGZhbHNlLCBpbnB1dFNpemU6IGlucHV0U2l6ZSA/PyBJbnB1dFNpemUubWVkaXVtLCBsYWJlbFBvc2l0aW9uOiBsYWJlbFBvc2l0aW9uID8/IExhYmVsUG9zaXRpb24udG9wLCB0aGVtZTogdGhlbWUgfSwgY2hpbGRyZW4pKSkpKTtcclxufSk7XHJcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWluZGV4LmpzLm1hcCJdfQ== */")), ";;label:inputWrapperStyles;" + (process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImluZGV4LnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFtQ2lEIiwiZmlsZSI6ImluZGV4LnRzeCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIFJlYWN0IGZyb20gJ3JlYWN0JztcclxuaW1wb3J0IHsgY3NzIH0gZnJvbSAnQGVtb3Rpb24vcmVhY3QnO1xyXG5pbXBvcnQgc3R5bGVkIGZyb20gJ0BlbW90aW9uL3N0eWxlZCc7XHJcbmltcG9ydCB7IHRyYW5zcGFyZW50aXplIH0gZnJvbSAncG9saXNoZWQnO1xyXG5pbXBvcnQgeyBDbGVhckljb24gfSBmcm9tICdyZWFjdC1tYWdtYS1pY29ucyc7XHJcbmltcG9ydCB7IEkxOG5Db250ZXh0IH0gZnJvbSAnLi4vLi4vaTE4bic7XHJcbmltcG9ydCB7IHVzZUlzSW52ZXJzZSB9IGZyb20gJy4uLy4uL2ludmVyc2UnO1xyXG5pbXBvcnQgeyBUaGVtZUNvbnRleHQgfSBmcm9tICcuLi8uLi90aGVtZS9UaGVtZUNvbnRleHQnO1xyXG5pbXBvcnQgeyB1c2VGb3JrZWRSZWYgfSBmcm9tICcuLi8uLi91dGlscyc7XHJcbmltcG9ydCB7IEJ1dHRvblNoYXBlLCBCdXR0b25TaXplLCBCdXR0b25UeXBlLCBCdXR0b25WYXJpYW50IH0gZnJvbSAnLi4vQnV0dG9uJztcclxuaW1wb3J0IHsgSWNvbkJ1dHRvbiB9IGZyb20gJy4uL0ljb25CdXR0b24nO1xyXG5pbXBvcnQgeyBMYWJlbFBvc2l0aW9uIH0gZnJvbSAnLi4vTGFiZWwnO1xyXG5pbXBvcnQgeyBDaGlsZHJlbldyYXBwZXIgfSBmcm9tICcuLi9TdHlsZWRCdXR0b24nO1xyXG5leHBvcnQgdmFyIElucHV0U2l6ZTtcclxuKGZ1bmN0aW9uIChJbnB1dFNpemUpIHtcclxuICAgIElucHV0U2l6ZVtcImxhcmdlXCJdID0gXCJsYXJnZVwiO1xyXG4gICAgSW5wdXRTaXplW1wibWVkaXVtXCJdID0gXCJtZWRpdW1cIjtcclxufSkoSW5wdXRTaXplIHx8IChJbnB1dFNpemUgPSB7fSkpO1xyXG5leHBvcnQgdmFyIElucHV0VHlwZTtcclxuKGZ1bmN0aW9uIChJbnB1dFR5cGUpIHtcclxuICAgIElucHV0VHlwZVtcImVtYWlsXCJdID0gXCJlbWFpbFwiO1xyXG4gICAgSW5wdXRUeXBlW1wiZmlsZVwiXSA9IFwiZmlsZVwiO1xyXG4gICAgSW5wdXRUeXBlW1wibnVtYmVyXCJdID0gXCJudW1iZXJcIjtcclxuICAgIElucHV0VHlwZVtcInBhc3N3b3JkXCJdID0gXCJwYXNzd29yZFwiO1xyXG4gICAgSW5wdXRUeXBlW1wic2VhcmNoXCJdID0gXCJzZWFyY2hcIjtcclxuICAgIElucHV0VHlwZVtcInRleHRcIl0gPSBcInRleHRcIjtcclxuICAgIElucHV0VHlwZVtcInVybFwiXSA9IFwidXJsXCI7XHJcbiAgICBJbnB1dFR5cGVbXCJ0ZWxcIl0gPSBcInRlbFwiO1xyXG59KShJbnB1dFR5cGUgfHwgKElucHV0VHlwZSA9IHt9KSk7XHJcbmV4cG9ydCB2YXIgSW5wdXRJY29uUG9zaXRpb247XHJcbihmdW5jdGlvbiAoSW5wdXRJY29uUG9zaXRpb24pIHtcclxuICAgIElucHV0SWNvblBvc2l0aW9uW1widG9wXCJdID0gXCJ0b3BcIjtcclxuICAgIElucHV0SWNvblBvc2l0aW9uW1wibGVmdFwiXSA9IFwibGVmdFwiO1xyXG4gICAgSW5wdXRJY29uUG9zaXRpb25bXCJyaWdodFwiXSA9IFwicmlnaHRcIjtcclxufSkoSW5wdXRJY29uUG9zaXRpb24gfHwgKElucHV0SWNvblBvc2l0aW9uID0ge30pKTtcclxuZXhwb3J0IGNvbnN0IGlucHV0V3JhcHBlclN0eWxlcyA9IChwcm9wcykgPT4gY3NzIGBcbiAgZmxleDogMSAxIGF1dG87XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgd2lkdGg6ICR7cHJvcHMud2lkdGggfHwgJ2F1dG8nfTtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHtwcm9wcy5pc0ludmVyc2VcclxuICAgID8gdHJhbnNwYXJlbnRpemUoMC44LCBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDkwMClcclxuICAgIDogcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWwxMDB9O1xuICBib3JkZXItcmFkaXVzOiAke3Byb3BzLnRoZW1lLmJvcmRlclJhZGl1c307XG4gIGJvcmRlcjogMXB4IHNvbGlkXG4gICAgJHtwcm9wcy5pc0ludmVyc2VcclxuICAgID8gdHJhbnNwYXJlbnRpemUoMC41LCBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDEwMClcclxuICAgIDogcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWw1MDB9O1xuICBoZWlnaHQ6ICR7cHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDl9O1xuXG4gICY6Zm9jdXMtd2l0aGluIHtcbiAgICBvdXRsaW5lOiAycHggc29saWRcbiAgICAgICR7cHJvcHMuaXNJbnZlcnNlXHJcbiAgICA/IHByb3BzLnRoZW1lLmNvbG9ycy5mb2N1c0ludmVyc2VcclxuICAgIDogcHJvcHMudGhlbWUuY29sb3JzLmZvY3VzfTtcbiAgICBvdXRsaW5lLW9mZnNldDogLTFweDtcbiAgfVxuXG4gICR7cHJvcHMuaGFzRXJyb3IgJiZcclxuICAgIGNzcyBgXG4gICAgYm9yZGVyLWNvbG9yOiAke3Byb3BzLmlzSW52ZXJzZVxyXG4gICAgICAgID8gcHJvcHMudGhlbWUuY29sb3JzLmRhbmdlcjMwMFxyXG4gICAgICAgIDogcHJvcHMudGhlbWUuY29sb3JzLmRhbmdlcn07XG4gIGB9XG5cbiAgJHtwcm9wcy5kaXNhYmxlZCAmJlxyXG4gICAgY3NzIGBcbiAgICBib3JkZXItY29sb3I6ICR7cHJvcHMuaXNJbnZlcnNlXHJcbiAgICAgICAgPyB0cmFuc3BhcmVudGl6ZSgwLjg1LCBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDEwMClcclxuICAgICAgICA6IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsMzAwfTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAke3Byb3BzLmlzSW52ZXJzZVxyXG4gICAgICAgID8gdHJhbnNwYXJlbnRpemUoMC45LCBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDkwMClcclxuICAgICAgICA6IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsMjAwfTtcbiAgYH1cblxuICAke3Byb3BzLmlucHV0U2l6ZSA9PT0gJ2xhcmdlJyAmJlxyXG4gICAgY3NzIGBcbiAgICBoZWlnaHQ6ICR7cHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMTF9O1xuICBgfVxuYDtcclxuZnVuY3Rpb24gZ2V0SW5wdXRQYWRkaW5nKHByb3BzKSB7XHJcbiAgICBjb25zdCB7IGlucHV0U2l6ZSwgaXNDbGVhcmFibGUsIGljb25Qb3NpdGlvbiB9ID0gcHJvcHM7XHJcbiAgICBjb25zdCBwYWRkaW5nID0ge1xyXG4gICAgICAgIGxlZnQ6IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzAzLFxyXG4gICAgICAgIHJpZ2h0OiBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwMyxcclxuICAgIH07XHJcbiAgICBpZiAoaW5wdXRTaXplID09PSAnbGFyZ2UnKSB7XHJcbiAgICAgICAgaWYgKGlzQ2xlYXJhYmxlKSB7XHJcbiAgICAgICAgICAgIGlmIChpY29uUG9zaXRpb24gPT09ICdyaWdodCcpIHtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmcucmlnaHQgPSAnOTJweCc7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgZWxzZSBpZiAoaWNvblBvc2l0aW9uID09PSAnbGVmdCcpIHtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmcubGVmdCA9IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzExO1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy5yaWdodCA9IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzExO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgLy8gaWNvbiB0b3AsIG5vIGljb25cclxuICAgICAgICAgICAgICAgIHBhZGRpbmcucmlnaHQgPSBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcxMTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBlbHNlIHtcclxuICAgICAgICAgICAgaWYgKGljb25Qb3NpdGlvbiA9PT0gJ3JpZ2h0Jykge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy5yaWdodCA9IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzEwO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGlmIChpY29uUG9zaXRpb24gPT09ICdsZWZ0Jykge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy5sZWZ0ID0gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMTA7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICBlbHNlIGlmIChpbnB1dFNpemUgPT09ICdtZWRpdW0nKSB7XHJcbiAgICAgICAgaWYgKGlzQ2xlYXJhYmxlKSB7XHJcbiAgICAgICAgICAgIGlmIChpY29uUG9zaXRpb24gPT09ICdyaWdodCcpIHtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmcucmlnaHQgPSAnNjhweCc7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgZWxzZSBpZiAoaWNvblBvc2l0aW9uID09PSAnbGVmdCcpIHtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmcubGVmdCA9IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzA5O1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy5yaWdodCA9IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzA5O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgLy8gaWNvbiB0b3AsIG5vIGljb25cclxuICAgICAgICAgICAgICAgIHBhZGRpbmcucmlnaHQgPSBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwOTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBlbHNlIHtcclxuICAgICAgICAgICAgaWYgKGljb25Qb3NpdGlvbiA9PT0gJ3JpZ2h0Jykge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy5yaWdodCA9IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzA5O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGlmIChpY29uUG9zaXRpb24gPT09ICdsZWZ0Jykge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy5sZWZ0ID0gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICByZXR1cm4gcGFkZGluZztcclxufVxyXG5leHBvcnQgY29uc3QgaW5wdXRCYXNlU3R5bGVzID0gKHByb3BzKSA9PiBjc3MgYFxuICBib3JkZXI6IDA7XG4gIGJvcmRlci1yYWRpdXM6ICR7cHJvcHMudGhlbWUuYm9yZGVyUmFkaXVzfTtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIGNvbG9yOiAke3Byb3BzLmlzSW52ZXJzZVxyXG4gICAgPyBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDEwMFxyXG4gICAgOiBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDcwMH07XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBmb250LXNpemU6ICR7cHJvcHMudGhlbWUudHlwZVNjYWxlLnNpemUwMy5mb250U2l6ZX07XG4gIGxpbmUtaGVpZ2h0OiAke3Byb3BzLnRoZW1lLnR5cGVTY2FsZS5zaXplMDMubGluZUhlaWdodH07XG4gIGZvbnQtZmFtaWx5OiAke3Byb3BzLnRoZW1lLmJvZHlGb250fTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBwYWRkaW5nOiAke3Byb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzAzfTtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICB3aWR0aDogMTAwJTtcblxuICAke3Byb3BzLmlucHV0U2l6ZSA9PT0gJ2xhcmdlJyAmJlxyXG4gICAgY3NzIGBcbiAgICBmb250LXNpemU6ICR7cHJvcHMudGhlbWUudHlwZVNjYWxlLnNpemUwNC5mb250U2l6ZX07XG4gICAgbGluZS1oZWlnaHQ6ICR7cHJvcHMudGhlbWUudHlwZVNjYWxlLnNpemUwNC5saW5lSGVpZ2h0fTtcbiAgICBwYWRkaW5nOiAke3Byb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzA0fTtcbiAgYH1cblxuICBwYWRkaW5nLWxlZnQ6ICR7Z2V0SW5wdXRQYWRkaW5nKHByb3BzKS5sZWZ0fTtcbiAgcGFkZGluZy1yaWdodDogJHtnZXRJbnB1dFBhZGRpbmcocHJvcHMpLnJpZ2h0fTtcblxuICAmOjpwbGFjZWhvbGRlciB7XG4gICAgY29sb3I6ICR7cHJvcHMuaXNJbnZlcnNlXHJcbiAgICA/IHRyYW5zcGFyZW50aXplKDAuMywgcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWwxMDApXHJcbiAgICA6IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsNTAwfTtcbiAgfVxuXG4gICY6Zm9jdXMge1xuICAgIG91dGxpbmU6IDA7XG4gIH1cblxuICAmW3R5cGU9J3NlYXJjaCddIHtcbiAgICAmOjotd2Via2l0LXNlYXJjaC1kZWNvcmF0aW9uLFxuICAgICY6Oi13ZWJraXQtc2VhcmNoLWNhbmNlbC1idXR0b24sXG4gICAgJjo6LXdlYmtpdC1zZWFyY2gtcmVzdWx0cy1idXR0b24sXG4gICAgJjo6LXdlYmtpdC1zZWFyY2gtcmVzdWx0cy1kZWNvcmF0aW9uIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICB9XG5cbiAgJHtwcm9wcy5kaXNhYmxlZCAmJlxyXG4gICAgY3NzIGBcbiAgICBjb2xvcjogJHtwcm9wcy5pc0ludmVyc2VcclxuICAgICAgICA/IHRyYW5zcGFyZW50aXplKDAuNiwgcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWwxMDApXHJcbiAgICAgICAgOiB0cmFuc3BhcmVudGl6ZSgwLjQsIHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsNTAwKX07XG4gICAgY3Vyc29yOiBub3QtYWxsb3dlZDtcblxuICAgICY6OnBsYWNlaG9sZGVyIHtcbiAgICAgIGNvbG9yOiAke3Byb3BzLmlzSW52ZXJzZVxyXG4gICAgICAgID8gdHJhbnNwYXJlbnRpemUoMC44LCBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDEwMClcclxuICAgICAgICA6IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsNTAwfTtcbiAgICAgIG9wYWNpdHk6ICR7cHJvcHMuaXNJbnZlcnNlID8gMC40IDogMC42fTtcbiAgICB9XG4gIGB9XG5cbiAgJjotd2Via2l0LWF1dG9maWxsLFxuICAmOi13ZWJraXQtYXV0b2ZpbGw6Zm9jdXMsXG4gICY6LXdlYmtpdC1hdXRvZmlsbDpob3ZlcixcbiAgJjotd2Via2l0LWF1dG9maWxsOmFjdGl2ZSB7XG4gICAgYm94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xuICAgIC13ZWJraXQtYmFja2dyb3VuZC1jbGlwOiB0ZXh0O1xuICAgIC13ZWJraXQtdGV4dC1maWxsLWNvbG9yOiAke3Byb3BzLmlzSW52ZXJzZVxyXG4gICAgPyBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDEwMFxyXG4gICAgOiBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDcwMH0gIWltcG9ydGFudDtcbiAgICBjYXJldC1jb2xvcjogJHtwcm9wcy5pc0ludmVyc2VcclxuICAgID8gcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWwxMDBcclxuICAgIDogcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWw3MDB9ICFpbXBvcnRhbnQ7XG4gIH1cbmA7XHJcbmNvbnN0IElucHV0Q29udGFpbmVyID0gc3R5bGVkLmRpdiBgXG4gIGRpc3BsYXk6IGZsZXg7XG5gO1xyXG5leHBvcnQgY29uc3QgSW5wdXRXcmFwcGVyID0gc3R5bGVkLmRpdiBgXG4gICR7aW5wdXRXcmFwcGVyU3R5bGVzfVxuYDtcclxuY29uc3QgU3R5bGVkSW5wdXQgPSBzdHlsZWQuaW5wdXQgYFxuICAke2lucHV0QmFzZVN0eWxlc31cbmA7XHJcbmNvbnN0IEljb25XcmFwcGVyID0gc3R5bGVkLnNwYW4gYFxuICBib3R0b206ICR7cHJvcHMgPT4gKHByb3BzLmljb25Qb3NpdGlvbiA9PT0gJ3RvcCcgPyAnNDVweCcgOiAnaW5oZXJpdCcpfTtcbiAgY29sb3I6ICR7cHJvcHMgPT4gcHJvcHMuaXNJbnZlcnNlXHJcbiAgICA/IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsMTAwXHJcbiAgICA6IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsNzAwfTtcbiAgbGVmdDogJHtwcm9wcyA9PiBwcm9wcy5pY29uUG9zaXRpb24gPT09ICdsZWZ0JyA/IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzAzIDogJ2F1dG8nfTtcbiAgcmlnaHQ6ICR7cHJvcHMgPT4gcHJvcHMuaWNvblBvc2l0aW9uID09PSAncmlnaHQnXHJcbiAgICA/IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzAzXHJcbiAgICA6IHByb3BzLmljb25Qb3NpdGlvbiA9PT0gJ3RvcCdcclxuICAgICAgICA/ICczcHgnXHJcbiAgICAgICAgOiAnYXV0byd9O1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogJHtwcm9wcyA9PiBwcm9wcy5pY29uUG9zaXRpb24gPT09ICd0b3AnXHJcbiAgICA/ICdpbmhlcml0J1xyXG4gICAgOiBwcm9wcyA9PiBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwM307XG5cbiAgJHtwcm9wcyA9PiBwcm9wcy5pbnB1dFNpemUgPT09ICdsYXJnZScgJiZcclxuICAgIGNzcyBgXG4gICAgICBib3R0b206ICR7cHJvcHMuaWNvblBvc2l0aW9uID09PSAndG9wJyA/ICc2MnB4JyA6ICdpbmhlcml0J307XG4gICAgICBsZWZ0OiAke3Byb3BzLmljb25Qb3NpdGlvbiA9PT0gJ2xlZnQnXHJcbiAgICAgICAgPyBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwNFxyXG4gICAgICAgIDogJ2F1dG8nfTtcbiAgICAgIHJpZ2h0OiAke3Byb3BzLmljb25Qb3NpdGlvbiA9PT0gJ3JpZ2h0J1xyXG4gICAgICAgID8gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDRcclxuICAgICAgICA6IHByb3BzLmljb25Qb3NpdGlvbiA9PT0gJ3RvcCdcclxuICAgICAgICAgICAgPyAnM3B4J1xyXG4gICAgICAgICAgICA6ICdhdXRvJ307XG4gICAgICB0b3A6ICR7cHJvcHMuaWNvblBvc2l0aW9uID09PSAndG9wJ1xyXG4gICAgICAgID8gJ2luaGVyaXQnXHJcbiAgICAgICAgOiBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwNH07XG4gICAgYH1cbmA7XHJcbmZ1bmN0aW9uIGdldEljb25CdXR0b25TVkdTaXplKHByb3BzKSB7XHJcbiAgICBjb25zdCB7IGlzQ2xpY2thYmxlLCBpY29uUG9zaXRpb24sIGlucHV0U2l6ZSwgdGhlbWUgfSA9IHByb3BzO1xyXG4gICAgaWYgKGlzQ2xpY2thYmxlICYmIGljb25Qb3NpdGlvbiA9PT0gSW5wdXRJY29uUG9zaXRpb24udG9wKSB7XHJcbiAgICAgICAgaWYgKGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlKSB7XHJcbiAgICAgICAgICAgIHJldHVybiBgJHt0aGVtZS5pY29uU2l6ZXMubWVkaXVtfXB4YDtcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIGAke3RoZW1lLmljb25TaXplcy5zbWFsbH1weGA7XHJcbiAgICB9XHJcbiAgICBpZiAoaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2UpIHtcclxuICAgICAgICByZXR1cm4gYCR7dGhlbWUuaWNvblNpemVzLmxhcmdlfXB4YDtcclxuICAgIH1cclxuICAgIHJldHVybiBgJHt0aGVtZS5pY29uU2l6ZXMubWVkaXVtfXB4YDtcclxufVxyXG5mdW5jdGlvbiBnZXRIZWxwTGlua1NWR1NpemUocHJvcHMpIHtcclxuICAgIGNvbnN0IHsgaW5wdXRTaXplLCB0aGVtZSB9ID0gcHJvcHM7XHJcbiAgICBpZiAoaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2UpIHtcclxuICAgICAgICByZXR1cm4gYCR7dGhlbWUuaWNvblNpemVzLm1lZGl1bX1weGA7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gYCR7dGhlbWUuaWNvblNpemVzLnNtYWxsfXB4YDtcclxufVxyXG5leHBvcnQgZnVuY3Rpb24gZ2V0SGVscEljb25CdXR0b25TaXplKHByb3BzKSB7XHJcbiAgICBjb25zdCB7IGlucHV0U2l6ZSwgdGhlbWUgfSA9IHByb3BzO1xyXG4gICAgaWYgKGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlKSB7XHJcbiAgICAgICAgcmV0dXJuIHRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzA5O1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIHRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzA3O1xyXG59XHJcbmZ1bmN0aW9uIGdldEljb25CdXR0b25UcmFuc2Zvcm0ocHJvcHMpIHtcclxuICAgIGNvbnN0IHsgaXNDbGlja2FibGUsIGljb25Qb3NpdGlvbiwgaW5wdXRTaXplLCBoYXNDaGlsZHJlbiwgdGhlbWUgfSA9IHByb3BzO1xyXG4gICAgY29uc3QgcG9zaXRpb24gPSB7IHg6ICcnLCB5OiAnJyB9O1xyXG4gICAgaWYgKGljb25Qb3NpdGlvbiA9PT0gSW5wdXRJY29uUG9zaXRpb24udG9wKSB7XHJcbiAgICAgICAgaWYgKGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlKSB7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uLnggPSAnLTMwcHgnO1xyXG4gICAgICAgICAgICBwb3NpdGlvbi55ID0gJzJweCc7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2UgaWYgKGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLm1lZGl1bSkge1xyXG4gICAgICAgICAgICBwb3NpdGlvbi54ID0gJy0yOHB4JztcclxuICAgICAgICAgICAgcG9zaXRpb24ueSA9ICc1cHgnO1xyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gcG9zaXRpb247XHJcbiAgICB9XHJcbiAgICBpZiAoaXNDbGlja2FibGUpIHtcclxuICAgICAgICBpZiAoaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2UpIHtcclxuICAgICAgICAgICAgaWYgKGhhc0NoaWxkcmVuKSB7XHJcbiAgICAgICAgICAgICAgICBwb3NpdGlvbi54ID0gJy00M3B4JztcclxuICAgICAgICAgICAgICAgIHBvc2l0aW9uLnkgPSAnMTRweCc7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICAgICAgICBwb3NpdGlvbi54ID0gJy00OXB4JztcclxuICAgICAgICAgICAgICAgIHBvc2l0aW9uLnkgPSAnOHB4JztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBlbHNlIGlmIChpbnB1dFNpemUgPT09IElucHV0U2l6ZS5tZWRpdW0pIHtcclxuICAgICAgICAgICAgcG9zaXRpb24ueCA9ICctMzVweCc7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uLnkgPSAnNnB4JztcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIHBvc2l0aW9uO1xyXG4gICAgfVxyXG4gICAgaWYgKGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlKSB7XHJcbiAgICAgICAgcG9zaXRpb24ueCA9IGAtJHt0aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcxMH1gO1xyXG4gICAgICAgIHBvc2l0aW9uLnkgPSB0aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwMztcclxuICAgIH1cclxuICAgIGVsc2UgaWYgKGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLm1lZGl1bSkge1xyXG4gICAgICAgIHBvc2l0aW9uLnggPSAnLTI0cHgnO1xyXG4gICAgICAgIHBvc2l0aW9uLnkgPSAnN3B4JztcclxuICAgIH1cclxuICAgIHJldHVybiBwb3NpdGlvbjtcclxufVxyXG5leHBvcnQgY29uc3QgSWNvbkJ1dHRvbkNvbnRhaW5lciA9IHN0eWxlZC5zcGFuIGBcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGJvdHRvbTogJHtwcm9wcyA9PiAocHJvcHMuaWNvblBvc2l0aW9uID09PSAndG9wJyA/ICc0MHB4JyA6ICdpbmhlcml0Jyl9O1xuICBoZWlnaHQ6IGF1dG87XG4gIG1hcmdpbjogMDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aWR0aDogMDtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoXG4gICAgJHtwcm9wcyA9PiBnZXRJY29uQnV0dG9uVHJhbnNmb3JtKHByb3BzKS54fSxcbiAgICAke3Byb3BzID0+IGdldEljb25CdXR0b25UcmFuc2Zvcm0ocHJvcHMpLnl9XG4gICk7XG4gIHN2ZyB7XG4gICAgaGVpZ2h0OiAke3Byb3BzID0+IGdldEljb25CdXR0b25TVkdTaXplKHByb3BzKX07XG4gICAgd2lkdGg6ICR7cHJvcHMgPT4gZ2V0SWNvbkJ1dHRvblNWR1NpemUocHJvcHMpfTtcbiAgfVxuYDtcclxuY29uc3QgUGFzc3dvcmRCdXR0b25Db250YWluZXIgPSBzdHlsZWQuc3BhbiBgXG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICB3aWR0aDogMDtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoXG4gICAgJHtwcm9wcyA9PiBwcm9wcy5zaXplID09PSBJbnB1dFNpemUubGFyZ2VcclxuICAgID8gYCR7LXByb3BzLmJ1dHRvbldpZHRoIC0gOH1weGBcclxuICAgIDogYCR7LXByb3BzLmJ1dHRvbldpZHRoIC0gNn1weGB9LFxuICAgICR7cHJvcHMgPT4gcHJvcHMuc2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlID8gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDMgOiAnNnB4J31cbiAgKTtcbmA7XHJcbmZ1bmN0aW9uIGdldENsZWFyYWJsZVBvc2l0aW9uKHByb3BzKSB7XHJcbiAgICBpZiAocHJvcHMuaWNvblBvc2l0aW9uID09PSAncmlnaHQnICYmIHByb3BzLmljb24pIHtcclxuICAgICAgICBpZiAocHJvcHMuaW5wdXRTaXplID09PSAnbGFyZ2UnKSB7XHJcbiAgICAgICAgICAgIHJldHVybiBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcxMztcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuICc3MnB4JztcclxuICAgIH1cclxuICAgIGlmIChwcm9wcy5pbnB1dFNpemUgPT09ICdsYXJnZScpIHtcclxuICAgICAgICByZXR1cm4gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMTA7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gJzM0cHgnO1xyXG59XHJcbmNvbnN0IElzQ2xlYXJhYmxlQ29udGFpbmVyID0gc3R5bGVkLnNwYW4gYFxuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgbWFyZ2luOiAwO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGhlaWdodDogYXV0bztcbiAgd2lkdGg6IDA7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKFxuICAgIC0ke3Byb3BzID0+IGdldENsZWFyYWJsZVBvc2l0aW9uKHByb3BzKX0sXG4gICAgJHtwcm9wcyA9PiBwcm9wcy5pbnB1dFNpemUgPT09IElucHV0U2l6ZS5sYXJnZVxyXG4gICAgPyBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwM1xyXG4gICAgOiAnNnB4J31cbiAgKTtcbmA7XHJcbmZ1bmN0aW9uIGdldEljb25TaXplKHNpemUsIHRoZW1lLCBpY29uUG9zaXRpb24pIHtcclxuICAgIHN3aXRjaCAoc2l6ZSkge1xyXG4gICAgICAgIGNhc2UgJ2xhcmdlJzpcclxuICAgICAgICAgICAgaWYgKGljb25Qb3NpdGlvbiA9PT0gSW5wdXRJY29uUG9zaXRpb24udG9wKSB7XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gdGhlbWUuaWNvblNpemVzLm1lZGl1bTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICByZXR1cm4gdGhlbWUuaWNvblNpemVzLmxhcmdlO1xyXG4gICAgICAgIGRlZmF1bHQ6XHJcbiAgICAgICAgICAgIGlmIChpY29uUG9zaXRpb24gPT09IElucHV0SWNvblBvc2l0aW9uLnRvcCkge1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuIHRoZW1lLmljb25TaXplcy5zbWFsbDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICByZXR1cm4gdGhlbWUuaWNvblNpemVzLm1lZGl1bTtcclxuICAgIH1cclxufVxyXG5leHBvcnQgY29uc3QgaXNMZWZ0T3JIaWRkZW4gPSAoeyBsYWJlbFBvc2l0aW9uLCBpc0xhYmVsVmlzdWFsbHlIaWRkZW4sIH0pID0+IGxhYmVsUG9zaXRpb24gPT09IExhYmVsUG9zaXRpb24ubGVmdCB8fCBpc0xhYmVsVmlzdWFsbHlIaWRkZW47XHJcbmV4cG9ydCBjb25zdCBIZWxwTGlua0NvbnRhaW5lciA9IHN0eWxlZC5zcGFuIGBcbiAgcG9zaXRpb246ICR7cHJvcHMgPT4gKGlzTGVmdE9ySGlkZGVuKHByb3BzKSA/ICdyZWxhdGl2ZScgOiAnYWJzb2x1dGUnKX07XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXG4gIGhlaWdodDogJHtwcm9wcyA9PiAoaXNMZWZ0T3JIaWRkZW4ocHJvcHMpID8gJ2F1dG8nIDogJ2ZpdC1jb250ZW50Jyl9O1xuICBtYXJnaW4taW5saW5lLXN0YXJ0OiAke3Byb3BzID0+IGlzTGVmdE9ySGlkZGVuKHByb3BzKSA/IGAke3Byb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzAzfWAgOiAnYXV0byd9O1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoXG4gICAgJHtwcm9wcyA9PiBpc0xlZnRPckhpZGRlbihwcm9wcylcclxuICAgID8gJzAnXHJcbiAgICA6IGBjYWxjKC0xMDAlIC0gJHtwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwM30pYH1cbiAgKTtcbiAgJHtDaGlsZHJlbldyYXBwZXJ9ID4gc3ZnIHtcbiAgICBoZWlnaHQ6ICR7cHJvcHMgPT4gZ2V0SGVscExpbmtTVkdTaXplKHByb3BzKX07XG4gICAgd2lkdGg6ICR7cHJvcHMgPT4gZ2V0SGVscExpbmtTVkdTaXplKHByb3BzKX07XG4gIH1cbiAgYnV0dG9uIHtcbiAgICBoZWlnaHQ6ICR7cHJvcHMgPT4gZ2V0SGVscEljb25CdXR0b25TaXplKHByb3BzKX07XG4gICAgd2lkdGg6ICR7cHJvcHMgPT4gZ2V0SGVscEljb25CdXR0b25TaXplKHByb3BzKX07XG4gIH1cbiAgaW5zZXQtaW5saW5lLWVuZDogJHtwcm9wcyA9PiAoaXNMZWZ0T3JIaWRkZW4ocHJvcHMpID8gJ2F1dG8nIDogJzAnKX07XG5gO1xyXG5leHBvcnQgY29uc3QgSW5wdXRCYXNlID0gUmVhY3QuZm9yd2FyZFJlZigocHJvcHMsIGZvcndhcmRlZFJlZikgPT4ge1xyXG4gICAgY29uc3QgeyBjaGlsZHJlbiwgY29udGFpbmVyU3R5bGUsIGRlZmF1bHRWYWx1ZSwgZGlzYWJsZWQsIGhhc0NoYXJhY3RlckNvdW50ZXIsIGhhc0Vycm9yLCBpY29uLCBpY29uQXJpYUxhYmVsLCBpY29uUmVmLCBpc0NsZWFyYWJsZSwgaXNQYXNzd29yZElucHV0LCBpc1ByZWRpY3RpdmUsIG1heENvdW50LCBtYXhMZW5ndGgsIG9uQ2xlYXIsIG9uSWNvbkNsaWNrLCBvbkljb25LZXlEb3duLCBvbkRhdGVDaGFuZ2UsIGlucHV0TGVuZ3RoLCBpbnB1dFNpemUsIGlucHV0U3R5bGUsIGlucHV0V3JhcHBlclN0eWxlLCB0ZXN0SWQsIHR5cGUsIHNldFJlZmVyZW5jZSwgaXNMYWJlbFZpc3VhbGx5SGlkZGVuLCBsYWJlbFBvc2l0aW9uLCAuLi5vdGhlciB9ID0gcHJvcHM7XHJcbiAgICBjb25zdCBpMThuID0gUmVhY3QudXNlQ29udGV4dChJMThuQ29udGV4dCk7XHJcbiAgICBjb25zdCB0aGVtZSA9IFJlYWN0LnVzZUNvbnRleHQoVGhlbWVDb250ZXh0KTtcclxuICAgIGNvbnN0IGljb25Qb3NpdGlvbiA9IGljb24gJiYgb25JY29uQ2xpY2tcclxuICAgICAgICA/IElucHV0SWNvblBvc2l0aW9uLnJpZ2h0XHJcbiAgICAgICAgOiBpY29uICYmICFwcm9wcy5pY29uUG9zaXRpb25cclxuICAgICAgICAgICAgPyBJbnB1dEljb25Qb3NpdGlvbi5sZWZ0XHJcbiAgICAgICAgICAgIDogcHJvcHMuaWNvblBvc2l0aW9uO1xyXG4gICAgY29uc3QgW3ZhbHVlLCBzZXRWYWx1ZV0gPSBSZWFjdC51c2VTdGF0ZShwcm9wcy5kZWZhdWx0VmFsdWUgIT09IHVuZGVmaW5lZCAmJiBwcm9wcy5kZWZhdWx0VmFsdWUgIT09IG51bGxcclxuICAgICAgICA/IHByb3BzLmRlZmF1bHRWYWx1ZVxyXG4gICAgICAgIDogcHJvcHMudmFsdWUgfHwgJycpO1xyXG4gICAgY29uc3QgbWF4TGVuZ3RoTnVtID0gIWhhc0NoYXJhY3RlckNvdW50ZXIgJiYgbWF4TGVuZ3RoID8gbWF4TGVuZ3RoIDogdW5kZWZpbmVkO1xyXG4gICAgUmVhY3QudXNlRWZmZWN0KCgpID0+IHtcclxuICAgICAgICBpZiAocHJvcHMudmFsdWUgIT09IHVuZGVmaW5lZCAmJiBwcm9wcy52YWx1ZSAhPT0gbnVsbCkge1xyXG4gICAgICAgICAgICBzZXRWYWx1ZShwcm9wcy52YWx1ZSk7XHJcbiAgICAgICAgfVxyXG4gICAgfSwgW3Byb3BzLnZhbHVlXSk7XHJcbiAgICBjb25zdCBpbnB1dFJlZiA9IFJlYWN0LnVzZVJlZigpO1xyXG4gICAgY29uc3QgcmVmID0gdXNlRm9ya2VkUmVmKGZvcndhcmRlZFJlZiwgaW5wdXRSZWYpO1xyXG4gICAgZnVuY3Rpb24gaGFuZGxlQ2xlYXJJbnB1dCgpIHtcclxuICAgICAgICBvbkNsZWFyICYmIHR5cGVvZiBvbkNsZWFyID09PSAnZnVuY3Rpb24nICYmIG9uQ2xlYXIoKTtcclxuICAgICAgICBzZXRWYWx1ZSgnJyk7XHJcbiAgICAgICAgb25EYXRlQ2hhbmdlICYmIHR5cGVvZiBvbkRhdGVDaGFuZ2UgPT09ICdmdW5jdGlvbicgJiYgb25EYXRlQ2hhbmdlKG51bGwpO1xyXG4gICAgICAgIGlucHV0UmVmLmN1cnJlbnQuZm9jdXMoKTtcclxuICAgIH1cclxuICAgIGZ1bmN0aW9uIGhhbmRsZUNoYW5nZShldmVudCkge1xyXG4gICAgICAgIHByb3BzLm9uQ2hhbmdlICYmXHJcbiAgICAgICAgICAgIHR5cGVvZiBwcm9wcy5vbkNoYW5nZSA9PT0gJ2Z1bmN0aW9uJyAmJlxyXG4gICAgICAgICAgICBwcm9wcy5vbkNoYW5nZShldmVudCk7XHJcbiAgICAgICAgc2V0VmFsdWUoZXZlbnQudGFyZ2V0LnZhbHVlKTtcclxuICAgICAgICBpZiAoIWV2ZW50LnRhcmdldC52YWx1ZSAmJlxyXG4gICAgICAgICAgICBvbkRhdGVDaGFuZ2UgJiZcclxuICAgICAgICAgICAgdHlwZW9mIG9uRGF0ZUNoYW5nZSA9PT0gJ2Z1bmN0aW9uJylcclxuICAgICAgICAgICAgb25EYXRlQ2hhbmdlKG51bGwpO1xyXG4gICAgfVxyXG4gICAgY29uc3QgcGFzc3dvcmRCdG5XaWR0aCA9ICgpID0+IHtcclxuICAgICAgICBjb25zdCBidG5XaWR0aCA9IGNoaWxkcmVuPy5wcm9wcz8uY2hpbGRyZW4/LlswXT8ucmVmPy5jdXJyZW50Py5vZmZzZXRXaWR0aDtcclxuICAgICAgICBpZiAodHlwZW9mIGJ0bldpZHRoID09PSAnbnVtYmVyJykge1xyXG4gICAgICAgICAgICByZXR1cm4gYnRuV2lkdGg7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgICAvLyBXaGVuIFBhc3N3b3JkQnV0dG9uIGlzIHVzZWQgaW5zaWRlIFNjaGVtYVJlbmRlcmVyLCBpdCBkb2Vzbid0IGhhdmUgY2hpbGRyZW4uXHJcbiAgICAgICAgICAgIC8vIFdlJ2xsIHVzZSB0aGUgZGVmYXVsdCBidXR0b24gc2l6ZXMuXHJcbiAgICAgICAgICAgIGlmIChwcm9wcy5pbnB1dFNpemUgPT09IElucHV0U2l6ZS5sYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuIDY0O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHJldHVybiA1NDtcclxuICAgICAgICB9XHJcbiAgICB9O1xyXG4gICAgcmV0dXJuIChSZWFjdC5jcmVhdGVFbGVtZW50KFwiZGl2XCIsIHsgcmVmOiBzZXRSZWZlcmVuY2UgfSxcclxuICAgICAgICBSZWFjdC5jcmVhdGVFbGVtZW50KElucHV0Q29udGFpbmVyLCB7IHN0eWxlOiBpbnB1dFdyYXBwZXJTdHlsZSwgXCJkYXRhLXRlc3RpZFwiOiBgJHt0ZXN0SWR9LXdyYXBwZXJgIH0sXHJcbiAgICAgICAgICAgIFJlYWN0LmNyZWF0ZUVsZW1lbnQoSW5wdXRXcmFwcGVyLCB7IGRpc2FibGVkOiBkaXNhYmxlZCwgaWNvblBvc2l0aW9uOiBpY29uUG9zaXRpb24sIGlzSW52ZXJzZTogcHJvcHMuaXNJbnZlcnNlLCBpbnB1dFNpemU6IGlucHV0U2l6ZSA/PyBJbnB1dFNpemUubWVkaXVtLCB0aGVtZTogdGhlbWUsIHN0eWxlOiBjb250YWluZXJTdHlsZSwgaGFzRXJyb3I6IGhhc0Vycm9yLCBpc0NsZWFyYWJsZTogaXNDbGVhcmFibGUsIHdpZHRoOiBwcm9wcy53aWR0aCB9LFxyXG4gICAgICAgICAgICAgICAgUmVhY3QuY3JlYXRlRWxlbWVudChTdHlsZWRJbnB1dCwgT2JqZWN0LmFzc2lnbih7fSwgb3RoZXIsIHsgXCJhcmlhLWludmFsaWRcIjogaGFzRXJyb3IsIGRpc2FibGVkOiBkaXNhYmxlZCwgXCJkYXRhLXRlc3RpZFwiOiB0ZXN0SWQsIGhhc0NoYXJhY3RlckNvdW50ZXI6IGhhc0NoYXJhY3RlckNvdW50ZXIsIGljb25Qb3NpdGlvbjogaWNvblBvc2l0aW9uLCBpbnB1dFNpemU6IGlucHV0U2l6ZSA/PyBJbnB1dFNpemUubWVkaXVtLCBpc0NsZWFyYWJsZTogdHlwZSA9PT0gSW5wdXRUeXBlLnNlYXJjaFxyXG4gICAgICAgICAgICAgICAgICAgICAgICA/IGlzQ2xlYXJhYmxlXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDogaW5wdXRXcmFwcGVyU3R5bGU/LndpZHRoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA/IGlzQ2xlYXJhYmxlXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IGlzQ2xlYXJhYmxlICYmIGlucHV0TGVuZ3RoID4gMCwgaXNJbnZlcnNlOiB1c2VJc0ludmVyc2UocHJvcHMuaXNJbnZlcnNlKSwgaXNQcmVkaWN0aXZlOiBpc1ByZWRpY3RpdmUsIGhhc0Vycm9yOiBoYXNFcnJvciwgcmVmOiByZWYsIG1heExlbmd0aDogbWF4TGVuZ3RoTnVtLCBvbkNoYW5nZTogaGFuZGxlQ2hhbmdlLCBzdHlsZTogaW5wdXRTdHlsZSwgdGhlbWU6IHRoZW1lLCB0eXBlOiB0eXBlID8gdHlwZSA6IElucHV0VHlwZS50ZXh0LCB2YWx1ZTogdmFsdWUgfSkpLFxyXG4gICAgICAgICAgICAgICAgaWNvbiAmJiAhb25JY29uQ2xpY2sgJiYgKFJlYWN0LmNyZWF0ZUVsZW1lbnQoSWNvbldyYXBwZXIsIHsgXCJhcmlhLWxhYmVsXCI6IGljb25BcmlhTGFiZWwsIGljb25Qb3NpdGlvbjogaWNvblBvc2l0aW9uLCBpbnB1dFNpemU6IGlucHV0U2l6ZSA/PyBJbnB1dFNpemUubWVkaXVtLCBpc0ludmVyc2U6IHByb3BzLmlzSW52ZXJzZSwgaXNQcmVkaWN0aXZlOiBpc1ByZWRpY3RpdmUsIHRoZW1lOiB0aGVtZSwgZGlzYWJsZWQ6IGRpc2FibGVkIH0sIFJlYWN0LkNoaWxkcmVuLm9ubHkoUmVhY3QuY2xvbmVFbGVtZW50KGljb24sIHtcclxuICAgICAgICAgICAgICAgICAgICBzaXplOiBnZXRJY29uU2l6ZShpbnB1dFNpemUgPz8gSW5wdXRTaXplLm1lZGl1bSwgdGhlbWUsIGljb25Qb3NpdGlvbiksXHJcbiAgICAgICAgICAgICAgICB9KSkpKSksXHJcbiAgICAgICAgICAgIGlzQ2xlYXJhYmxlICYmIHZhbHVlICE9PSAnJyAmJiAoUmVhY3QuY3JlYXRlRWxlbWVudChJc0NsZWFyYWJsZUNvbnRhaW5lciwgeyB0aGVtZTogdGhlbWUsIGljb25Qb3NpdGlvbjogaWNvblBvc2l0aW9uLCBpbnB1dFNpemU6IGlucHV0U2l6ZSwgaWNvbjogaWNvbiB9LFxyXG4gICAgICAgICAgICAgICAgUmVhY3QuY3JlYXRlRWxlbWVudChJY29uQnV0dG9uLCB7IFwiYXJpYS1sYWJlbFwiOiBpMThuLmlucHV0LmlzQ2xlYXJhYmxlQXJpYUxhYmVsLCBkaXNhYmxlZDogZGlzYWJsZWQsIGljb246IFJlYWN0LmNyZWF0ZUVsZW1lbnQoQ2xlYXJJY29uLCBudWxsKSwgaXNJbnZlcnNlOiBwcm9wcy5pc0ludmVyc2UsIG9uQ2xpY2s6IGhhbmRsZUNsZWFySW5wdXQsIG9uS2V5RG93bjogb25JY29uS2V5RG93biwgcmVmOiBpY29uUmVmLCBzaGFwZTogQnV0dG9uU2hhcGUuZmlsbCwgc2l6ZTogaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2VcclxuICAgICAgICAgICAgICAgICAgICAgICAgPyBCdXR0b25TaXplLm1lZGl1bVxyXG4gICAgICAgICAgICAgICAgICAgICAgICA6IEJ1dHRvblNpemUuc21hbGwsIHRlc3RJZDogXCJjbGVhci1idXR0b25cIiwgdHlwZTogQnV0dG9uVHlwZS5idXR0b24sIHZhcmlhbnQ6IEJ1dHRvblZhcmlhbnQubGluayB9KSkpLFxyXG4gICAgICAgICAgICBvbkljb25DbGljayAmJiAoUmVhY3QuY3JlYXRlRWxlbWVudChJY29uQnV0dG9uQ29udGFpbmVyLCB7IGljb25Qb3NpdGlvbjogaWNvblBvc2l0aW9uLCBpbnB1dFNpemU6IGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlXHJcbiAgICAgICAgICAgICAgICAgICAgPyBJbnB1dFNpemUubGFyZ2VcclxuICAgICAgICAgICAgICAgICAgICA6IElucHV0U2l6ZS5tZWRpdW0sIHRoZW1lOiB0aGVtZSwgaXNDbGlja2FibGU6IHRydWUgfSxcclxuICAgICAgICAgICAgICAgIFJlYWN0LmNyZWF0ZUVsZW1lbnQoSWNvbkJ1dHRvbiwgeyBcImFyaWEtbGFiZWxcIjogaWNvbkFyaWFMYWJlbCwgaWNvbjogaWNvbiwgaXNJbnZlcnNlOiBwcm9wcy5pc0ludmVyc2UsIG9uQ2xpY2s6IG9uSWNvbkNsaWNrLCBvbktleURvd246IG9uSWNvbktleURvd24sIHJlZjogaWNvblJlZiwgZGlzYWJsZWQ6IGRpc2FibGVkLCBzaGFwZTogQnV0dG9uU2hhcGUuZmlsbCwgc2l6ZTogaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2VcclxuICAgICAgICAgICAgICAgICAgICAgICAgPyBCdXR0b25TaXplLm1lZGl1bVxyXG4gICAgICAgICAgICAgICAgICAgICAgICA6IEJ1dHRvblNpemUuc21hbGwsIHR5cGU6IEJ1dHRvblR5cGUuYnV0dG9uLCB2YXJpYW50OiBCdXR0b25WYXJpYW50LmxpbmsgfSkpKSxcclxuICAgICAgICAgICAgaXNQYXNzd29yZElucHV0ID8gKFJlYWN0LmNyZWF0ZUVsZW1lbnQoUGFzc3dvcmRCdXR0b25Db250YWluZXIsIHsgc2l6ZTogaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2VcclxuICAgICAgICAgICAgICAgICAgICA/IElucHV0U2l6ZS5sYXJnZVxyXG4gICAgICAgICAgICAgICAgICAgIDogSW5wdXRTaXplLm1lZGl1bSwgdGhlbWU6IHRoZW1lLCBidXR0b25XaWR0aDogcGFzc3dvcmRCdG5XaWR0aCgpIH0sIGNoaWxkcmVuKSkgOiAoUmVhY3QuY3JlYXRlRWxlbWVudChIZWxwTGlua0NvbnRhaW5lciwgeyBpc0xhYmVsVmlzdWFsbHlIaWRkZW46IGlzTGFiZWxWaXN1YWxseUhpZGRlbiB8fCBmYWxzZSwgaW5wdXRTaXplOiBpbnB1dFNpemUgPz8gSW5wdXRTaXplLm1lZGl1bSwgbGFiZWxQb3NpdGlvbjogbGFiZWxQb3NpdGlvbiA/PyBMYWJlbFBvc2l0aW9uLnRvcCwgdGhlbWU6IHRoZW1lIH0sIGNoaWxkcmVuKSkpKSk7XHJcbn0pO1xyXG4vLyMgc291cmNlTWFwcGluZ1VSTD1pbmRleC5qcy5tYXAiXX0= */"));
|
|
4870
|
+
return /*#__PURE__*/css("flex:1 1 auto;align-items:center;display:flex;position:relative;width:", props.width || 'auto', ";background-color:", props.isInverse ? curriedTransparentize(0.8, props.theme.colors.neutral900) : props.theme.colors.neutral100, ";border-radius:", props.theme.borderRadius, ";border:1px solid ", props.isInverse ? curriedTransparentize(0.5, props.theme.colors.neutral100) : props.theme.colors.neutral500, ";height:", props.theme.spaceScale.spacing09, ";&:focus-within{outline:2px solid ", props.isInverse ? props.theme.colors.focusInverse : props.theme.colors.focus, ";outline-offset:-1px;}", props.hasError && /*#__PURE__*/css("border-color:", props.isInverse ? props.theme.colors.danger300 : props.theme.colors.danger, ";;label:inputWrapperStyles;" + (process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImluZGV4LnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUE0RFEiLCJmaWxlIjoiaW5kZXgudHN4Iiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgUmVhY3QgZnJvbSAncmVhY3QnO1xyXG5pbXBvcnQgeyBjc3MgfSBmcm9tICdAZW1vdGlvbi9yZWFjdCc7XHJcbmltcG9ydCBzdHlsZWQgZnJvbSAnQGVtb3Rpb24vc3R5bGVkJztcclxuaW1wb3J0IHsgdHJhbnNwYXJlbnRpemUgfSBmcm9tICdwb2xpc2hlZCc7XHJcbmltcG9ydCB7IENsZWFySWNvbiB9IGZyb20gJ3JlYWN0LW1hZ21hLWljb25zJztcclxuaW1wb3J0IHsgSTE4bkNvbnRleHQgfSBmcm9tICcuLi8uLi9pMThuJztcclxuaW1wb3J0IHsgdXNlSXNJbnZlcnNlIH0gZnJvbSAnLi4vLi4vaW52ZXJzZSc7XHJcbmltcG9ydCB7IFRoZW1lQ29udGV4dCB9IGZyb20gJy4uLy4uL3RoZW1lL1RoZW1lQ29udGV4dCc7XHJcbmltcG9ydCB7IHVzZUZvcmtlZFJlZiB9IGZyb20gJy4uLy4uL3V0aWxzJztcclxuaW1wb3J0IHsgQnV0dG9uU2hhcGUsIEJ1dHRvblNpemUsIEJ1dHRvblR5cGUsIEJ1dHRvblZhcmlhbnQgfSBmcm9tICcuLi9CdXR0b24nO1xyXG5pbXBvcnQgeyBJY29uQnV0dG9uIH0gZnJvbSAnLi4vSWNvbkJ1dHRvbic7XHJcbmltcG9ydCB7IExhYmVsUG9zaXRpb24gfSBmcm9tICcuLi9MYWJlbCc7XHJcbmltcG9ydCB7IENoaWxkcmVuV3JhcHBlciB9IGZyb20gJy4uL1N0eWxlZEJ1dHRvbic7XHJcbmV4cG9ydCB2YXIgSW5wdXRTaXplO1xyXG4oZnVuY3Rpb24gKElucHV0U2l6ZSkge1xyXG4gICAgSW5wdXRTaXplW1wibGFyZ2VcIl0gPSBcImxhcmdlXCI7XHJcbiAgICBJbnB1dFNpemVbXCJtZWRpdW1cIl0gPSBcIm1lZGl1bVwiO1xyXG59KShJbnB1dFNpemUgfHwgKElucHV0U2l6ZSA9IHt9KSk7XHJcbmV4cG9ydCB2YXIgSW5wdXRUeXBlO1xyXG4oZnVuY3Rpb24gKElucHV0VHlwZSkge1xyXG4gICAgSW5wdXRUeXBlW1wiZW1haWxcIl0gPSBcImVtYWlsXCI7XHJcbiAgICBJbnB1dFR5cGVbXCJmaWxlXCJdID0gXCJmaWxlXCI7XHJcbiAgICBJbnB1dFR5cGVbXCJudW1iZXJcIl0gPSBcIm51bWJlclwiO1xyXG4gICAgSW5wdXRUeXBlW1wicGFzc3dvcmRcIl0gPSBcInBhc3N3b3JkXCI7XHJcbiAgICBJbnB1dFR5cGVbXCJzZWFyY2hcIl0gPSBcInNlYXJjaFwiO1xyXG4gICAgSW5wdXRUeXBlW1widGV4dFwiXSA9IFwidGV4dFwiO1xyXG4gICAgSW5wdXRUeXBlW1widXJsXCJdID0gXCJ1cmxcIjtcclxuICAgIElucHV0VHlwZVtcInRlbFwiXSA9IFwidGVsXCI7XHJcbn0pKElucHV0VHlwZSB8fCAoSW5wdXRUeXBlID0ge30pKTtcclxuZXhwb3J0IHZhciBJbnB1dEljb25Qb3NpdGlvbjtcclxuKGZ1bmN0aW9uIChJbnB1dEljb25Qb3NpdGlvbikge1xyXG4gICAgSW5wdXRJY29uUG9zaXRpb25bXCJ0b3BcIl0gPSBcInRvcFwiO1xyXG4gICAgSW5wdXRJY29uUG9zaXRpb25bXCJsZWZ0XCJdID0gXCJsZWZ0XCI7XHJcbiAgICBJbnB1dEljb25Qb3NpdGlvbltcInJpZ2h0XCJdID0gXCJyaWdodFwiO1xyXG59KShJbnB1dEljb25Qb3NpdGlvbiB8fCAoSW5wdXRJY29uUG9zaXRpb24gPSB7fSkpO1xyXG5leHBvcnQgY29uc3QgaW5wdXRXcmFwcGVyU3R5bGVzID0gKHByb3BzKSA9PiBjc3MgYFxuICBmbGV4OiAxIDEgYXV0bztcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZGlzcGxheTogZmxleDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aWR0aDogJHtwcm9wcy53aWR0aCB8fCAnYXV0byd9O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAke3Byb3BzLmlzSW52ZXJzZVxyXG4gICAgPyB0cmFuc3BhcmVudGl6ZSgwLjgsIHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsOTAwKVxyXG4gICAgOiBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDEwMH07XG4gIGJvcmRlci1yYWRpdXM6ICR7cHJvcHMudGhlbWUuYm9yZGVyUmFkaXVzfTtcbiAgYm9yZGVyOiAxcHggc29saWRcbiAgICAke3Byb3BzLmlzSW52ZXJzZVxyXG4gICAgPyB0cmFuc3BhcmVudGl6ZSgwLjUsIHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsMTAwKVxyXG4gICAgOiBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDUwMH07XG4gIGhlaWdodDogJHtwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwOX07XG5cbiAgJjpmb2N1cy13aXRoaW4ge1xuICAgIG91dGxpbmU6IDJweCBzb2xpZFxuICAgICAgJHtwcm9wcy5pc0ludmVyc2VcclxuICAgID8gcHJvcHMudGhlbWUuY29sb3JzLmZvY3VzSW52ZXJzZVxyXG4gICAgOiBwcm9wcy50aGVtZS5jb2xvcnMuZm9jdXN9O1xuICAgIG91dGxpbmUtb2Zmc2V0OiAtMXB4O1xuICB9XG5cbiAgJHtwcm9wcy5oYXNFcnJvciAmJlxyXG4gICAgY3NzIGBcbiAgICBib3JkZXItY29sb3I6ICR7cHJvcHMuaXNJbnZlcnNlXHJcbiAgICAgICAgPyBwcm9wcy50aGVtZS5jb2xvcnMuZGFuZ2VyMzAwXHJcbiAgICAgICAgOiBwcm9wcy50aGVtZS5jb2xvcnMuZGFuZ2VyfTtcbiAgYH1cblxuICAke3Byb3BzLmRpc2FibGVkICYmXHJcbiAgICBjc3MgYFxuICAgIGJvcmRlci1jb2xvcjogJHtwcm9wcy5pc0ludmVyc2VcclxuICAgICAgICA/IHRyYW5zcGFyZW50aXplKDAuODUsIHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsMTAwKVxyXG4gICAgICAgIDogcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWwzMDB9O1xuICAgIGJhY2tncm91bmQtY29sb3I6ICR7cHJvcHMuaXNJbnZlcnNlXHJcbiAgICAgICAgPyB0cmFuc3BhcmVudGl6ZSgwLjksIHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsOTAwKVxyXG4gICAgICAgIDogcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWwyMDB9O1xuICBgfVxuXG4gICR7cHJvcHMuaW5wdXRTaXplID09PSAnbGFyZ2UnICYmXHJcbiAgICBjc3MgYFxuICAgIGhlaWdodDogJHtwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcxMX07XG4gIGB9XG5gO1xyXG5mdW5jdGlvbiBnZXRJbnB1dFBhZGRpbmcocHJvcHMpIHtcclxuICAgIGNvbnN0IHsgaW5wdXRTaXplLCBpc0NsZWFyYWJsZSwgaWNvblBvc2l0aW9uIH0gPSBwcm9wcztcclxuICAgIGNvbnN0IHBhZGRpbmcgPSB7XHJcbiAgICAgICAgbGVmdDogcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDMsXHJcbiAgICAgICAgcmlnaHQ6IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzAzLFxyXG4gICAgfTtcclxuICAgIGlmIChpbnB1dFNpemUgPT09ICdsYXJnZScpIHtcclxuICAgICAgICBpZiAoaXNDbGVhcmFibGUpIHtcclxuICAgICAgICAgICAgaWYgKGljb25Qb3NpdGlvbiA9PT0gJ3JpZ2h0Jykge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy5yaWdodCA9ICc5MnB4JztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBlbHNlIGlmIChpY29uUG9zaXRpb24gPT09ICdsZWZ0Jykge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy5sZWZ0ID0gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMTE7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLnJpZ2h0ID0gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMTE7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICAgICAgICAvLyBpY29uIHRvcCwgbm8gaWNvblxyXG4gICAgICAgICAgICAgICAgcGFkZGluZy5yaWdodCA9IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzExO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgICBpZiAoaWNvblBvc2l0aW9uID09PSAncmlnaHQnKSB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLnJpZ2h0ID0gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMTA7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgaWYgKGljb25Qb3NpdGlvbiA9PT0gJ2xlZnQnKSB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLmxlZnQgPSBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcxMDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIGVsc2UgaWYgKGlucHV0U2l6ZSA9PT0gJ21lZGl1bScpIHtcclxuICAgICAgICBpZiAoaXNDbGVhcmFibGUpIHtcclxuICAgICAgICAgICAgaWYgKGljb25Qb3NpdGlvbiA9PT0gJ3JpZ2h0Jykge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy5yaWdodCA9ICc2OHB4JztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBlbHNlIGlmIChpY29uUG9zaXRpb24gPT09ICdsZWZ0Jykge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy5sZWZ0ID0gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDk7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLnJpZ2h0ID0gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICAgICAgICAvLyBpY29uIHRvcCwgbm8gaWNvblxyXG4gICAgICAgICAgICAgICAgcGFkZGluZy5yaWdodCA9IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzA5O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgICBpZiAoaWNvblBvc2l0aW9uID09PSAncmlnaHQnKSB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLnJpZ2h0ID0gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgaWYgKGljb25Qb3NpdGlvbiA9PT0gJ2xlZnQnKSB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLmxlZnQgPSBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwOTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIHJldHVybiBwYWRkaW5nO1xyXG59XHJcbmV4cG9ydCBjb25zdCBpbnB1dEJhc2VTdHlsZXMgPSAocHJvcHMpID0+IGNzcyBgXG4gIGJvcmRlcjogMDtcbiAgYm9yZGVyLXJhZGl1czogJHtwcm9wcy50aGVtZS5ib3JkZXJSYWRpdXN9O1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgY29sb3I6ICR7cHJvcHMuaXNJbnZlcnNlXHJcbiAgICA/IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsMTAwXHJcbiAgICA6IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsNzAwfTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGZvbnQtc2l6ZTogJHtwcm9wcy50aGVtZS50eXBlU2NhbGUuc2l6ZTAzLmZvbnRTaXplfTtcbiAgbGluZS1oZWlnaHQ6ICR7cHJvcHMudGhlbWUudHlwZVNjYWxlLnNpemUwMy5saW5lSGVpZ2h0fTtcbiAgZm9udC1mYW1pbHk6ICR7cHJvcHMudGhlbWUuYm9keUZvbnR9O1xuICBoZWlnaHQ6IDEwMCU7XG4gIHBhZGRpbmc6ICR7cHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDN9O1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gIHdpZHRoOiAxMDAlO1xuXG4gICR7cHJvcHMuaW5wdXRTaXplID09PSAnbGFyZ2UnICYmXHJcbiAgICBjc3MgYFxuICAgIGZvbnQtc2l6ZTogJHtwcm9wcy50aGVtZS50eXBlU2NhbGUuc2l6ZTA0LmZvbnRTaXplfTtcbiAgICBsaW5lLWhlaWdodDogJHtwcm9wcy50aGVtZS50eXBlU2NhbGUuc2l6ZTA0LmxpbmVIZWlnaHR9O1xuICAgIHBhZGRpbmc6ICR7cHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDR9O1xuICBgfVxuXG4gIHBhZGRpbmctbGVmdDogJHtnZXRJbnB1dFBhZGRpbmcocHJvcHMpLmxlZnR9O1xuICBwYWRkaW5nLXJpZ2h0OiAke2dldElucHV0UGFkZGluZyhwcm9wcykucmlnaHR9O1xuXG4gICY6OnBsYWNlaG9sZGVyIHtcbiAgICBjb2xvcjogJHtwcm9wcy5pc0ludmVyc2VcclxuICAgID8gdHJhbnNwYXJlbnRpemUoMC4zLCBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDEwMClcclxuICAgIDogcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWw1MDB9O1xuICB9XG5cbiAgJjpmb2N1cyB7XG4gICAgb3V0bGluZTogMDtcbiAgfVxuXG4gICZbdHlwZT0nc2VhcmNoJ10ge1xuICAgICY6Oi13ZWJraXQtc2VhcmNoLWRlY29yYXRpb24sXG4gICAgJjo6LXdlYmtpdC1zZWFyY2gtY2FuY2VsLWJ1dHRvbixcbiAgICAmOjotd2Via2l0LXNlYXJjaC1yZXN1bHRzLWJ1dHRvbixcbiAgICAmOjotd2Via2l0LXNlYXJjaC1yZXN1bHRzLWRlY29yYXRpb24ge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gIH1cblxuICAke3Byb3BzLmRpc2FibGVkICYmXHJcbiAgICBjc3MgYFxuICAgIGNvbG9yOiAke3Byb3BzLmlzSW52ZXJzZVxyXG4gICAgICAgID8gdHJhbnNwYXJlbnRpemUoMC42LCBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDEwMClcclxuICAgICAgICA6IHRyYW5zcGFyZW50aXplKDAuNCwgcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWw1MDApfTtcbiAgICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xuXG4gICAgJjo6cGxhY2Vob2xkZXIge1xuICAgICAgY29sb3I6ICR7cHJvcHMuaXNJbnZlcnNlXHJcbiAgICAgICAgPyB0cmFuc3BhcmVudGl6ZSgwLjgsIHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsMTAwKVxyXG4gICAgICAgIDogcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWw1MDB9O1xuICAgICAgb3BhY2l0eTogJHtwcm9wcy5pc0ludmVyc2UgPyAwLjQgOiAwLjZ9O1xuICAgIH1cbiAgYH1cblxuICAmOi13ZWJraXQtYXV0b2ZpbGwsXG4gICY6LXdlYmtpdC1hdXRvZmlsbDpmb2N1cyxcbiAgJjotd2Via2l0LWF1dG9maWxsOmhvdmVyLFxuICAmOi13ZWJraXQtYXV0b2ZpbGw6YWN0aXZlIHtcbiAgICBib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XG4gICAgLXdlYmtpdC1iYWNrZ3JvdW5kLWNsaXA6IHRleHQ7XG4gICAgLXdlYmtpdC10ZXh0LWZpbGwtY29sb3I6ICR7cHJvcHMuaXNJbnZlcnNlXHJcbiAgICA/IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsMTAwXHJcbiAgICA6IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsNzAwfSAhaW1wb3J0YW50O1xuICAgIGNhcmV0LWNvbG9yOiAke3Byb3BzLmlzSW52ZXJzZVxyXG4gICAgPyBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDEwMFxyXG4gICAgOiBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDcwMH0gIWltcG9ydGFudDtcbiAgfVxuYDtcclxuY29uc3QgSW5wdXRDb250YWluZXIgPSBzdHlsZWQuZGl2IGBcbiAgZGlzcGxheTogZmxleDtcbmA7XHJcbmV4cG9ydCBjb25zdCBJbnB1dFdyYXBwZXIgPSBzdHlsZWQuZGl2IGBcbiAgJHtpbnB1dFdyYXBwZXJTdHlsZXN9XG5gO1xyXG5jb25zdCBTdHlsZWRJbnB1dCA9IHN0eWxlZC5pbnB1dCBgXG4gICR7aW5wdXRCYXNlU3R5bGVzfVxuYDtcclxuY29uc3QgSWNvbldyYXBwZXIgPSBzdHlsZWQuc3BhbiBgXG4gIGJvdHRvbTogJHtwcm9wcyA9PiAocHJvcHMuaWNvblBvc2l0aW9uID09PSAndG9wJyA/ICc0NXB4JyA6ICdpbmhlcml0Jyl9O1xuICBjb2xvcjogJHtwcm9wcyA9PiBwcm9wcy5pc0ludmVyc2VcclxuICAgID8gcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWwxMDBcclxuICAgIDogcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWw3MDB9O1xuICBsZWZ0OiAke3Byb3BzID0+IHByb3BzLmljb25Qb3NpdGlvbiA9PT0gJ2xlZnQnID8gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDMgOiAnYXV0byd9O1xuICByaWdodDogJHtwcm9wcyA9PiBwcm9wcy5pY29uUG9zaXRpb24gPT09ICdyaWdodCdcclxuICAgID8gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDNcclxuICAgIDogcHJvcHMuaWNvblBvc2l0aW9uID09PSAndG9wJ1xyXG4gICAgICAgID8gJzNweCdcclxuICAgICAgICA6ICdhdXRvJ307XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAke3Byb3BzID0+IHByb3BzLmljb25Qb3NpdGlvbiA9PT0gJ3RvcCdcclxuICAgID8gJ2luaGVyaXQnXHJcbiAgICA6IHByb3BzID0+IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzAzfTtcblxuICAke3Byb3BzID0+IHByb3BzLmlucHV0U2l6ZSA9PT0gJ2xhcmdlJyAmJlxyXG4gICAgY3NzIGBcbiAgICAgIGJvdHRvbTogJHtwcm9wcy5pY29uUG9zaXRpb24gPT09ICd0b3AnID8gJzYycHgnIDogJ2luaGVyaXQnfTtcbiAgICAgIGxlZnQ6ICR7cHJvcHMuaWNvblBvc2l0aW9uID09PSAnbGVmdCdcclxuICAgICAgICA/IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzA0XHJcbiAgICAgICAgOiAnYXV0byd9O1xuICAgICAgcmlnaHQ6ICR7cHJvcHMuaWNvblBvc2l0aW9uID09PSAncmlnaHQnXHJcbiAgICAgICAgPyBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwNFxyXG4gICAgICAgIDogcHJvcHMuaWNvblBvc2l0aW9uID09PSAndG9wJ1xyXG4gICAgICAgICAgICA/ICczcHgnXHJcbiAgICAgICAgICAgIDogJ2F1dG8nfTtcbiAgICAgIHRvcDogJHtwcm9wcy5pY29uUG9zaXRpb24gPT09ICd0b3AnXHJcbiAgICAgICAgPyAnaW5oZXJpdCdcclxuICAgICAgICA6IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzA0fTtcbiAgICBgfVxuYDtcclxuZnVuY3Rpb24gZ2V0SWNvbkJ1dHRvblNWR1NpemUocHJvcHMpIHtcclxuICAgIGNvbnN0IHsgaXNDbGlja2FibGUsIGljb25Qb3NpdGlvbiwgaW5wdXRTaXplLCB0aGVtZSB9ID0gcHJvcHM7XHJcbiAgICBpZiAoaXNDbGlja2FibGUgJiYgaWNvblBvc2l0aW9uID09PSBJbnB1dEljb25Qb3NpdGlvbi50b3ApIHtcclxuICAgICAgICBpZiAoaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2UpIHtcclxuICAgICAgICAgICAgcmV0dXJuIGAke3RoZW1lLmljb25TaXplcy5tZWRpdW19cHhgO1xyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gYCR7dGhlbWUuaWNvblNpemVzLnNtYWxsfXB4YDtcclxuICAgIH1cclxuICAgIGlmIChpbnB1dFNpemUgPT09IElucHV0U2l6ZS5sYXJnZSkge1xyXG4gICAgICAgIHJldHVybiBgJHt0aGVtZS5pY29uU2l6ZXMubGFyZ2V9cHhgO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIGAke3RoZW1lLmljb25TaXplcy5tZWRpdW19cHhgO1xyXG59XHJcbmZ1bmN0aW9uIGdldEhlbHBMaW5rU1ZHU2l6ZShwcm9wcykge1xyXG4gICAgY29uc3QgeyBpbnB1dFNpemUsIHRoZW1lIH0gPSBwcm9wcztcclxuICAgIGlmIChpbnB1dFNpemUgPT09IElucHV0U2l6ZS5sYXJnZSkge1xyXG4gICAgICAgIHJldHVybiBgJHt0aGVtZS5pY29uU2l6ZXMubWVkaXVtfXB4YDtcclxuICAgIH1cclxuICAgIHJldHVybiBgJHt0aGVtZS5pY29uU2l6ZXMuc21hbGx9cHhgO1xyXG59XHJcbmV4cG9ydCBmdW5jdGlvbiBnZXRIZWxwSWNvbkJ1dHRvblNpemUocHJvcHMpIHtcclxuICAgIGNvbnN0IHsgaW5wdXRTaXplLCB0aGVtZSB9ID0gcHJvcHM7XHJcbiAgICBpZiAoaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2UpIHtcclxuICAgICAgICByZXR1cm4gdGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDk7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gdGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDc7XHJcbn1cclxuZnVuY3Rpb24gZ2V0SWNvbkJ1dHRvblRyYW5zZm9ybShwcm9wcykge1xyXG4gICAgY29uc3QgeyBpc0NsaWNrYWJsZSwgaWNvblBvc2l0aW9uLCBpbnB1dFNpemUsIGhhc0NoaWxkcmVuLCB0aGVtZSB9ID0gcHJvcHM7XHJcbiAgICBjb25zdCBwb3NpdGlvbiA9IHsgeDogJycsIHk6ICcnIH07XHJcbiAgICBpZiAoaWNvblBvc2l0aW9uID09PSBJbnB1dEljb25Qb3NpdGlvbi50b3ApIHtcclxuICAgICAgICBpZiAoaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2UpIHtcclxuICAgICAgICAgICAgcG9zaXRpb24ueCA9ICctMzBweCc7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uLnkgPSAnMnB4JztcclxuICAgICAgICB9XHJcbiAgICAgICAgZWxzZSBpZiAoaW5wdXRTaXplID09PSBJbnB1dFNpemUubWVkaXVtKSB7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uLnggPSAnLTI4cHgnO1xyXG4gICAgICAgICAgICBwb3NpdGlvbi55ID0gJzVweCc7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiBwb3NpdGlvbjtcclxuICAgIH1cclxuICAgIGlmIChpc0NsaWNrYWJsZSkge1xyXG4gICAgICAgIGlmIChpbnB1dFNpemUgPT09IElucHV0U2l6ZS5sYXJnZSkge1xyXG4gICAgICAgICAgICBpZiAoaGFzQ2hpbGRyZW4pIHtcclxuICAgICAgICAgICAgICAgIHBvc2l0aW9uLnggPSAnLTQzcHgnO1xyXG4gICAgICAgICAgICAgICAgcG9zaXRpb24ueSA9ICcxNHB4JztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBlbHNlIHtcclxuICAgICAgICAgICAgICAgIHBvc2l0aW9uLnggPSAnLTQ5cHgnO1xyXG4gICAgICAgICAgICAgICAgcG9zaXRpb24ueSA9ICc4cHgnO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2UgaWYgKGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLm1lZGl1bSkge1xyXG4gICAgICAgICAgICBwb3NpdGlvbi54ID0gJy0zNXB4JztcclxuICAgICAgICAgICAgcG9zaXRpb24ueSA9ICc2cHgnO1xyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gcG9zaXRpb247XHJcbiAgICB9XHJcbiAgICBpZiAoaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2UpIHtcclxuICAgICAgICBwb3NpdGlvbi54ID0gYC0ke3RoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzEwfWA7XHJcbiAgICAgICAgcG9zaXRpb24ueSA9IHRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzAzO1xyXG4gICAgfVxyXG4gICAgZWxzZSBpZiAoaW5wdXRTaXplID09PSBJbnB1dFNpemUubWVkaXVtKSB7XHJcbiAgICAgICAgcG9zaXRpb24ueCA9ICctMjRweCc7XHJcbiAgICAgICAgcG9zaXRpb24ueSA9ICc3cHgnO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIHBvc2l0aW9uO1xyXG59XHJcbmV4cG9ydCBjb25zdCBJY29uQnV0dG9uQ29udGFpbmVyID0gc3R5bGVkLnNwYW4gYFxuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgYm90dG9tOiAke3Byb3BzID0+IChwcm9wcy5pY29uUG9zaXRpb24gPT09ICd0b3AnID8gJzQwcHgnIDogJ2luaGVyaXQnKX07XG4gIGhlaWdodDogYXV0bztcbiAgbWFyZ2luOiAwO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiAwO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZShcbiAgICAke3Byb3BzID0+IGdldEljb25CdXR0b25UcmFuc2Zvcm0ocHJvcHMpLnh9LFxuICAgICR7cHJvcHMgPT4gZ2V0SWNvbkJ1dHRvblRyYW5zZm9ybShwcm9wcykueX1cbiAgKTtcbiAgc3ZnIHtcbiAgICBoZWlnaHQ6ICR7cHJvcHMgPT4gZ2V0SWNvbkJ1dHRvblNWR1NpemUocHJvcHMpfTtcbiAgICB3aWR0aDogJHtwcm9wcyA9PiBnZXRJY29uQnV0dG9uU1ZHU2l6ZShwcm9wcyl9O1xuICB9XG5gO1xyXG5jb25zdCBQYXNzd29yZEJ1dHRvbkNvbnRhaW5lciA9IHN0eWxlZC5zcGFuIGBcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIHdpZHRoOiAwO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZShcbiAgICAke3Byb3BzID0+IHByb3BzLnNpemUgPT09IElucHV0U2l6ZS5sYXJnZVxyXG4gICAgPyBgJHstcHJvcHMuYnV0dG9uV2lkdGggLSA4fXB4YFxyXG4gICAgOiBgJHstcHJvcHMuYnV0dG9uV2lkdGggLSA2fXB4YH0sXG4gICAgJHtwcm9wcyA9PiBwcm9wcy5zaXplID09PSBJbnB1dFNpemUubGFyZ2UgPyBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwMyA6ICc2cHgnfVxuICApO1xuYDtcclxuZnVuY3Rpb24gZ2V0Q2xlYXJhYmxlUG9zaXRpb24ocHJvcHMpIHtcclxuICAgIGlmIChwcm9wcy5pY29uUG9zaXRpb24gPT09ICdyaWdodCcgJiYgcHJvcHMuaWNvbikge1xyXG4gICAgICAgIGlmIChwcm9wcy5pbnB1dFNpemUgPT09ICdsYXJnZScpIHtcclxuICAgICAgICAgICAgcmV0dXJuIHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzEzO1xyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gJzcycHgnO1xyXG4gICAgfVxyXG4gICAgaWYgKHByb3BzLmlucHV0U2l6ZSA9PT0gJ2xhcmdlJykge1xyXG4gICAgICAgIHJldHVybiBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcxMDtcclxuICAgIH1cclxuICAgIHJldHVybiAnMzRweCc7XHJcbn1cclxuY29uc3QgSXNDbGVhcmFibGVDb250YWluZXIgPSBzdHlsZWQuc3BhbiBgXG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBtYXJnaW46IDA7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgaGVpZ2h0OiBhdXRvO1xuICB3aWR0aDogMDtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoXG4gICAgLSR7cHJvcHMgPT4gZ2V0Q2xlYXJhYmxlUG9zaXRpb24ocHJvcHMpfSxcbiAgICAke3Byb3BzID0+IHByb3BzLmlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlXHJcbiAgICA/IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzAzXHJcbiAgICA6ICc2cHgnfVxuICApO1xuYDtcclxuZnVuY3Rpb24gZ2V0SWNvblNpemUoc2l6ZSwgdGhlbWUsIGljb25Qb3NpdGlvbikge1xyXG4gICAgc3dpdGNoIChzaXplKSB7XHJcbiAgICAgICAgY2FzZSAnbGFyZ2UnOlxyXG4gICAgICAgICAgICBpZiAoaWNvblBvc2l0aW9uID09PSBJbnB1dEljb25Qb3NpdGlvbi50b3ApIHtcclxuICAgICAgICAgICAgICAgIHJldHVybiB0aGVtZS5pY29uU2l6ZXMubWVkaXVtO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHJldHVybiB0aGVtZS5pY29uU2l6ZXMubGFyZ2U7XHJcbiAgICAgICAgZGVmYXVsdDpcclxuICAgICAgICAgICAgaWYgKGljb25Qb3NpdGlvbiA9PT0gSW5wdXRJY29uUG9zaXRpb24udG9wKSB7XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gdGhlbWUuaWNvblNpemVzLnNtYWxsO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHJldHVybiB0aGVtZS5pY29uU2l6ZXMubWVkaXVtO1xyXG4gICAgfVxyXG59XHJcbmV4cG9ydCBjb25zdCBpc0xlZnRPckhpZGRlbiA9ICh7IGxhYmVsUG9zaXRpb24sIGlzTGFiZWxWaXN1YWxseUhpZGRlbiwgfSkgPT4gbGFiZWxQb3NpdGlvbiA9PT0gTGFiZWxQb3NpdGlvbi5sZWZ0IHx8IGlzTGFiZWxWaXN1YWxseUhpZGRlbjtcclxuZXhwb3J0IGNvbnN0IEhlbHBMaW5rQ29udGFpbmVyID0gc3R5bGVkLnNwYW4gYFxuICBwb3NpdGlvbjogJHtwcm9wcyA9PiAoaXNMZWZ0T3JIaWRkZW4ocHJvcHMpID8gJ3JlbGF0aXZlJyA6ICdhYnNvbHV0ZScpfTtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cbiAgaGVpZ2h0OiAke3Byb3BzID0+IChpc0xlZnRPckhpZGRlbihwcm9wcykgPyAnYXV0bycgOiAnZml0LWNvbnRlbnQnKX07XG4gIG1hcmdpbi1pbmxpbmUtc3RhcnQ6ICR7cHJvcHMgPT4gaXNMZWZ0T3JIaWRkZW4ocHJvcHMpID8gYCR7cHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDN9YCA6ICdhdXRvJ307XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWShcbiAgICAke3Byb3BzID0+IGlzTGVmdE9ySGlkZGVuKHByb3BzKVxyXG4gICAgPyAnMCdcclxuICAgIDogYGNhbGMoLTEwMCUgLSAke3Byb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzAzfSlgfVxuICApO1xuICAke0NoaWxkcmVuV3JhcHBlcn0gPiBzdmcge1xuICAgIGhlaWdodDogJHtwcm9wcyA9PiBnZXRIZWxwTGlua1NWR1NpemUocHJvcHMpfTtcbiAgICB3aWR0aDogJHtwcm9wcyA9PiBnZXRIZWxwTGlua1NWR1NpemUocHJvcHMpfTtcbiAgfVxuICBidXR0b24ge1xuICAgIGhlaWdodDogJHtwcm9wcyA9PiBnZXRIZWxwSWNvbkJ1dHRvblNpemUocHJvcHMpfTtcbiAgICB3aWR0aDogJHtwcm9wcyA9PiBnZXRIZWxwSWNvbkJ1dHRvblNpemUocHJvcHMpfTtcbiAgfVxuICBpbnNldC1pbmxpbmUtZW5kOiAke3Byb3BzID0+IChpc0xlZnRPckhpZGRlbihwcm9wcykgPyAnYXV0bycgOiAnMCcpfTtcbmA7XHJcbmV4cG9ydCBjb25zdCBJbnB1dEJhc2UgPSBSZWFjdC5mb3J3YXJkUmVmKChwcm9wcywgZm9yd2FyZGVkUmVmKSA9PiB7XHJcbiAgICBjb25zdCB7IGNoaWxkcmVuLCBjb250YWluZXJTdHlsZSwgZGVmYXVsdFZhbHVlLCBkaXNhYmxlZCwgaGFzQ2hhcmFjdGVyQ291bnRlciwgaGFzRXJyb3IsIGljb24sIGljb25BcmlhTGFiZWwsIGljb25SZWYsIGlzQ2xlYXJhYmxlLCBpc1Bhc3N3b3JkSW5wdXQsIGlzUHJlZGljdGl2ZSwgbWF4Q291bnQsIG1heExlbmd0aCwgb25DbGVhciwgb25JY29uQ2xpY2ssIG9uSWNvbktleURvd24sIG9uRGF0ZUNoYW5nZSwgaW5wdXRMZW5ndGgsIGlucHV0U2l6ZSwgaW5wdXRTdHlsZSwgaW5wdXRXcmFwcGVyU3R5bGUsIHRlc3RJZCwgdHlwZSwgc2V0UmVmZXJlbmNlLCBpc0xhYmVsVmlzdWFsbHlIaWRkZW4sIGxhYmVsUG9zaXRpb24sIC4uLm90aGVyIH0gPSBwcm9wcztcclxuICAgIGNvbnN0IGkxOG4gPSBSZWFjdC51c2VDb250ZXh0KEkxOG5Db250ZXh0KTtcclxuICAgIGNvbnN0IHRoZW1lID0gUmVhY3QudXNlQ29udGV4dChUaGVtZUNvbnRleHQpO1xyXG4gICAgY29uc3QgaWNvblBvc2l0aW9uID0gaWNvbiAmJiBvbkljb25DbGlja1xyXG4gICAgICAgID8gSW5wdXRJY29uUG9zaXRpb24ucmlnaHRcclxuICAgICAgICA6IGljb24gJiYgIXByb3BzLmljb25Qb3NpdGlvblxyXG4gICAgICAgICAgICA/IElucHV0SWNvblBvc2l0aW9uLmxlZnRcclxuICAgICAgICAgICAgOiBwcm9wcy5pY29uUG9zaXRpb247XHJcbiAgICBjb25zdCBbdmFsdWUsIHNldFZhbHVlXSA9IFJlYWN0LnVzZVN0YXRlKHByb3BzLmRlZmF1bHRWYWx1ZSAhPT0gdW5kZWZpbmVkICYmIHByb3BzLmRlZmF1bHRWYWx1ZSAhPT0gbnVsbFxyXG4gICAgICAgID8gcHJvcHMuZGVmYXVsdFZhbHVlXHJcbiAgICAgICAgOiBwcm9wcy52YWx1ZSB8fCAnJyk7XHJcbiAgICBjb25zdCBtYXhMZW5ndGhOdW0gPSAhaGFzQ2hhcmFjdGVyQ291bnRlciAmJiBtYXhMZW5ndGggPyBtYXhMZW5ndGggOiB1bmRlZmluZWQ7XHJcbiAgICBSZWFjdC51c2VFZmZlY3QoKCkgPT4ge1xyXG4gICAgICAgIGlmIChwcm9wcy52YWx1ZSAhPT0gdW5kZWZpbmVkICYmIHByb3BzLnZhbHVlICE9PSBudWxsKSB7XHJcbiAgICAgICAgICAgIHNldFZhbHVlKHByb3BzLnZhbHVlKTtcclxuICAgICAgICB9XHJcbiAgICB9LCBbcHJvcHMudmFsdWVdKTtcclxuICAgIGNvbnN0IGlucHV0UmVmID0gUmVhY3QudXNlUmVmKCk7XHJcbiAgICBjb25zdCByZWYgPSB1c2VGb3JrZWRSZWYoZm9yd2FyZGVkUmVmLCBpbnB1dFJlZik7XHJcbiAgICBmdW5jdGlvbiBoYW5kbGVDbGVhcklucHV0KCkge1xyXG4gICAgICAgIG9uQ2xlYXIgJiYgdHlwZW9mIG9uQ2xlYXIgPT09ICdmdW5jdGlvbicgJiYgb25DbGVhcigpO1xyXG4gICAgICAgIHNldFZhbHVlKCcnKTtcclxuICAgICAgICBvbkRhdGVDaGFuZ2UgJiYgdHlwZW9mIG9uRGF0ZUNoYW5nZSA9PT0gJ2Z1bmN0aW9uJyAmJiBvbkRhdGVDaGFuZ2UobnVsbCk7XHJcbiAgICAgICAgaW5wdXRSZWYuY3VycmVudC5mb2N1cygpO1xyXG4gICAgfVxyXG4gICAgZnVuY3Rpb24gaGFuZGxlQ2hhbmdlKGV2ZW50KSB7XHJcbiAgICAgICAgcHJvcHMub25DaGFuZ2UgJiZcclxuICAgICAgICAgICAgdHlwZW9mIHByb3BzLm9uQ2hhbmdlID09PSAnZnVuY3Rpb24nICYmXHJcbiAgICAgICAgICAgIHByb3BzLm9uQ2hhbmdlKGV2ZW50KTtcclxuICAgICAgICBjb25zdCBpc09uRGF0ZUNoYW5nZSA9IG9uRGF0ZUNoYW5nZSAmJiB0eXBlb2Ygb25EYXRlQ2hhbmdlID09PSAnZnVuY3Rpb24nO1xyXG4gICAgICAgIGNvbnN0IHsgdmFsdWUgfSA9IGV2ZW50LnRhcmdldDtcclxuICAgICAgICBzZXRWYWx1ZShpc09uRGF0ZUNoYW5nZSA/IHZhbHVlIDogKHByb3BzLnZhbHVlID8/IHZhbHVlKSk7XHJcbiAgICAgICAgaWYgKGlzT25EYXRlQ2hhbmdlICYmICF2YWx1ZSkge1xyXG4gICAgICAgICAgICBvbkRhdGVDaGFuZ2UobnVsbCk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgY29uc3QgcGFzc3dvcmRCdG5XaWR0aCA9ICgpID0+IHtcclxuICAgICAgICBjb25zdCBidG5XaWR0aCA9IGNoaWxkcmVuPy5wcm9wcz8uY2hpbGRyZW4/LlswXT8ucmVmPy5jdXJyZW50Py5vZmZzZXRXaWR0aDtcclxuICAgICAgICBpZiAodHlwZW9mIGJ0bldpZHRoID09PSAnbnVtYmVyJykge1xyXG4gICAgICAgICAgICByZXR1cm4gYnRuV2lkdGg7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgICAvLyBXaGVuIFBhc3N3b3JkQnV0dG9uIGlzIHVzZWQgaW5zaWRlIFNjaGVtYVJlbmRlcmVyLCBpdCBkb2Vzbid0IGhhdmUgY2hpbGRyZW4uXHJcbiAgICAgICAgICAgIC8vIFdlJ2xsIHVzZSB0aGUgZGVmYXVsdCBidXR0b24gc2l6ZXMuXHJcbiAgICAgICAgICAgIGlmIChwcm9wcy5pbnB1dFNpemUgPT09IElucHV0U2l6ZS5sYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuIDY0O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHJldHVybiA1NDtcclxuICAgICAgICB9XHJcbiAgICB9O1xyXG4gICAgcmV0dXJuIChSZWFjdC5jcmVhdGVFbGVtZW50KFwiZGl2XCIsIHsgcmVmOiBzZXRSZWZlcmVuY2UgfSxcclxuICAgICAgICBSZWFjdC5jcmVhdGVFbGVtZW50KElucHV0Q29udGFpbmVyLCB7IHN0eWxlOiBpbnB1dFdyYXBwZXJTdHlsZSwgXCJkYXRhLXRlc3RpZFwiOiBgJHt0ZXN0SWR9LXdyYXBwZXJgIH0sXHJcbiAgICAgICAgICAgIFJlYWN0LmNyZWF0ZUVsZW1lbnQoSW5wdXRXcmFwcGVyLCB7IGRpc2FibGVkOiBkaXNhYmxlZCwgaWNvblBvc2l0aW9uOiBpY29uUG9zaXRpb24sIGlzSW52ZXJzZTogcHJvcHMuaXNJbnZlcnNlLCBpbnB1dFNpemU6IGlucHV0U2l6ZSA/PyBJbnB1dFNpemUubWVkaXVtLCB0aGVtZTogdGhlbWUsIHN0eWxlOiBjb250YWluZXJTdHlsZSwgaGFzRXJyb3I6IGhhc0Vycm9yLCBpc0NsZWFyYWJsZTogaXNDbGVhcmFibGUsIHdpZHRoOiBwcm9wcy53aWR0aCB9LFxyXG4gICAgICAgICAgICAgICAgUmVhY3QuY3JlYXRlRWxlbWVudChTdHlsZWRJbnB1dCwgT2JqZWN0LmFzc2lnbih7fSwgb3RoZXIsIHsgXCJhcmlhLWludmFsaWRcIjogaGFzRXJyb3IsIGRpc2FibGVkOiBkaXNhYmxlZCwgXCJkYXRhLXRlc3RpZFwiOiB0ZXN0SWQsIGhhc0NoYXJhY3RlckNvdW50ZXI6IGhhc0NoYXJhY3RlckNvdW50ZXIsIGljb25Qb3NpdGlvbjogaWNvblBvc2l0aW9uLCBpbnB1dFNpemU6IGlucHV0U2l6ZSA/PyBJbnB1dFNpemUubWVkaXVtLCBpc0NsZWFyYWJsZTogdHlwZSA9PT0gSW5wdXRUeXBlLnNlYXJjaFxyXG4gICAgICAgICAgICAgICAgICAgICAgICA/IGlzQ2xlYXJhYmxlXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDogaW5wdXRXcmFwcGVyU3R5bGU/LndpZHRoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA/IGlzQ2xlYXJhYmxlXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IGlzQ2xlYXJhYmxlICYmIGlucHV0TGVuZ3RoID4gMCwgaXNJbnZlcnNlOiB1c2VJc0ludmVyc2UocHJvcHMuaXNJbnZlcnNlKSwgaXNQcmVkaWN0aXZlOiBpc1ByZWRpY3RpdmUsIGhhc0Vycm9yOiBoYXNFcnJvciwgcmVmOiByZWYsIG1heExlbmd0aDogbWF4TGVuZ3RoTnVtLCBvbkNoYW5nZTogaGFuZGxlQ2hhbmdlLCBzdHlsZTogaW5wdXRTdHlsZSwgdGhlbWU6IHRoZW1lLCB0eXBlOiB0eXBlID8gdHlwZSA6IElucHV0VHlwZS50ZXh0LCB2YWx1ZTogdmFsdWUgfSkpLFxyXG4gICAgICAgICAgICAgICAgaWNvbiAmJiAhb25JY29uQ2xpY2sgJiYgKFJlYWN0LmNyZWF0ZUVsZW1lbnQoSWNvbldyYXBwZXIsIHsgXCJhcmlhLWxhYmVsXCI6IGljb25BcmlhTGFiZWwsIGljb25Qb3NpdGlvbjogaWNvblBvc2l0aW9uLCBpbnB1dFNpemU6IGlucHV0U2l6ZSA/PyBJbnB1dFNpemUubWVkaXVtLCBpc0ludmVyc2U6IHByb3BzLmlzSW52ZXJzZSwgaXNQcmVkaWN0aXZlOiBpc1ByZWRpY3RpdmUsIHRoZW1lOiB0aGVtZSwgZGlzYWJsZWQ6IGRpc2FibGVkIH0sIFJlYWN0LkNoaWxkcmVuLm9ubHkoUmVhY3QuY2xvbmVFbGVtZW50KGljb24sIHtcclxuICAgICAgICAgICAgICAgICAgICBzaXplOiBnZXRJY29uU2l6ZShpbnB1dFNpemUgPz8gSW5wdXRTaXplLm1lZGl1bSwgdGhlbWUsIGljb25Qb3NpdGlvbiksXHJcbiAgICAgICAgICAgICAgICB9KSkpKSksXHJcbiAgICAgICAgICAgIGlzQ2xlYXJhYmxlICYmIHZhbHVlICE9PSAnJyAmJiAoUmVhY3QuY3JlYXRlRWxlbWVudChJc0NsZWFyYWJsZUNvbnRhaW5lciwgeyB0aGVtZTogdGhlbWUsIGljb25Qb3NpdGlvbjogaWNvblBvc2l0aW9uLCBpbnB1dFNpemU6IGlucHV0U2l6ZSwgaWNvbjogaWNvbiB9LFxyXG4gICAgICAgICAgICAgICAgUmVhY3QuY3JlYXRlRWxlbWVudChJY29uQnV0dG9uLCB7IFwiYXJpYS1sYWJlbFwiOiBpMThuLmlucHV0LmlzQ2xlYXJhYmxlQXJpYUxhYmVsLCBkaXNhYmxlZDogZGlzYWJsZWQsIGljb246IFJlYWN0LmNyZWF0ZUVsZW1lbnQoQ2xlYXJJY29uLCBudWxsKSwgaXNJbnZlcnNlOiBwcm9wcy5pc0ludmVyc2UsIG9uQ2xpY2s6IGhhbmRsZUNsZWFySW5wdXQsIG9uS2V5RG93bjogb25JY29uS2V5RG93biwgcmVmOiBpY29uUmVmLCBzaGFwZTogQnV0dG9uU2hhcGUuZmlsbCwgc2l6ZTogaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2VcclxuICAgICAgICAgICAgICAgICAgICAgICAgPyBCdXR0b25TaXplLm1lZGl1bVxyXG4gICAgICAgICAgICAgICAgICAgICAgICA6IEJ1dHRvblNpemUuc21hbGwsIHRlc3RJZDogXCJjbGVhci1idXR0b25cIiwgdHlwZTogQnV0dG9uVHlwZS5idXR0b24sIHZhcmlhbnQ6IEJ1dHRvblZhcmlhbnQubGluayB9KSkpLFxyXG4gICAgICAgICAgICBvbkljb25DbGljayAmJiAoUmVhY3QuY3JlYXRlRWxlbWVudChJY29uQnV0dG9uQ29udGFpbmVyLCB7IGljb25Qb3NpdGlvbjogaWNvblBvc2l0aW9uLCBpbnB1dFNpemU6IGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlXHJcbiAgICAgICAgICAgICAgICAgICAgPyBJbnB1dFNpemUubGFyZ2VcclxuICAgICAgICAgICAgICAgICAgICA6IElucHV0U2l6ZS5tZWRpdW0sIHRoZW1lOiB0aGVtZSwgaXNDbGlja2FibGU6IHRydWUgfSxcclxuICAgICAgICAgICAgICAgIFJlYWN0LmNyZWF0ZUVsZW1lbnQoSWNvbkJ1dHRvbiwgeyBcImFyaWEtbGFiZWxcIjogaWNvbkFyaWFMYWJlbCwgaWNvbjogaWNvbiwgaXNJbnZlcnNlOiBwcm9wcy5pc0ludmVyc2UsIG9uQ2xpY2s6IG9uSWNvbkNsaWNrLCBvbktleURvd246IG9uSWNvbktleURvd24sIHJlZjogaWNvblJlZiwgZGlzYWJsZWQ6IGRpc2FibGVkLCBzaGFwZTogQnV0dG9uU2hhcGUuZmlsbCwgc2l6ZTogaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2VcclxuICAgICAgICAgICAgICAgICAgICAgICAgPyBCdXR0b25TaXplLm1lZGl1bVxyXG4gICAgICAgICAgICAgICAgICAgICAgICA6IEJ1dHRvblNpemUuc21hbGwsIHR5cGU6IEJ1dHRvblR5cGUuYnV0dG9uLCB2YXJpYW50OiBCdXR0b25WYXJpYW50LmxpbmsgfSkpKSxcclxuICAgICAgICAgICAgaXNQYXNzd29yZElucHV0ID8gKFJlYWN0LmNyZWF0ZUVsZW1lbnQoUGFzc3dvcmRCdXR0b25Db250YWluZXIsIHsgc2l6ZTogaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2VcclxuICAgICAgICAgICAgICAgICAgICA/IElucHV0U2l6ZS5sYXJnZVxyXG4gICAgICAgICAgICAgICAgICAgIDogSW5wdXRTaXplLm1lZGl1bSwgdGhlbWU6IHRoZW1lLCBidXR0b25XaWR0aDogcGFzc3dvcmRCdG5XaWR0aCgpIH0sIGNoaWxkcmVuKSkgOiAoUmVhY3QuY3JlYXRlRWxlbWVudChIZWxwTGlua0NvbnRhaW5lciwgeyBpc0xhYmVsVmlzdWFsbHlIaWRkZW46IGlzTGFiZWxWaXN1YWxseUhpZGRlbiB8fCBmYWxzZSwgaW5wdXRTaXplOiBpbnB1dFNpemUgPz8gSW5wdXRTaXplLm1lZGl1bSwgbGFiZWxQb3NpdGlvbjogbGFiZWxQb3NpdGlvbiA/PyBMYWJlbFBvc2l0aW9uLnRvcCwgdGhlbWU6IHRoZW1lIH0sIGNoaWxkcmVuKSkpKSk7XHJcbn0pO1xyXG4vLyMgc291cmNlTWFwcGluZ1VSTD1pbmRleC5qcy5tYXAiXX0= */")), " ", props.disabled && /*#__PURE__*/css("border-color:", props.isInverse ? curriedTransparentize(0.85, props.theme.colors.neutral100) : props.theme.colors.neutral300, ";background-color:", props.isInverse ? curriedTransparentize(0.9, props.theme.colors.neutral900) : props.theme.colors.neutral200, ";;label:inputWrapperStyles;" + (process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImluZGV4LnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFtRVEiLCJmaWxlIjoiaW5kZXgudHN4Iiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgUmVhY3QgZnJvbSAncmVhY3QnO1xyXG5pbXBvcnQgeyBjc3MgfSBmcm9tICdAZW1vdGlvbi9yZWFjdCc7XHJcbmltcG9ydCBzdHlsZWQgZnJvbSAnQGVtb3Rpb24vc3R5bGVkJztcclxuaW1wb3J0IHsgdHJhbnNwYXJlbnRpemUgfSBmcm9tICdwb2xpc2hlZCc7XHJcbmltcG9ydCB7IENsZWFySWNvbiB9IGZyb20gJ3JlYWN0LW1hZ21hLWljb25zJztcclxuaW1wb3J0IHsgSTE4bkNvbnRleHQgfSBmcm9tICcuLi8uLi9pMThuJztcclxuaW1wb3J0IHsgdXNlSXNJbnZlcnNlIH0gZnJvbSAnLi4vLi4vaW52ZXJzZSc7XHJcbmltcG9ydCB7IFRoZW1lQ29udGV4dCB9IGZyb20gJy4uLy4uL3RoZW1lL1RoZW1lQ29udGV4dCc7XHJcbmltcG9ydCB7IHVzZUZvcmtlZFJlZiB9IGZyb20gJy4uLy4uL3V0aWxzJztcclxuaW1wb3J0IHsgQnV0dG9uU2hhcGUsIEJ1dHRvblNpemUsIEJ1dHRvblR5cGUsIEJ1dHRvblZhcmlhbnQgfSBmcm9tICcuLi9CdXR0b24nO1xyXG5pbXBvcnQgeyBJY29uQnV0dG9uIH0gZnJvbSAnLi4vSWNvbkJ1dHRvbic7XHJcbmltcG9ydCB7IExhYmVsUG9zaXRpb24gfSBmcm9tICcuLi9MYWJlbCc7XHJcbmltcG9ydCB7IENoaWxkcmVuV3JhcHBlciB9IGZyb20gJy4uL1N0eWxlZEJ1dHRvbic7XHJcbmV4cG9ydCB2YXIgSW5wdXRTaXplO1xyXG4oZnVuY3Rpb24gKElucHV0U2l6ZSkge1xyXG4gICAgSW5wdXRTaXplW1wibGFyZ2VcIl0gPSBcImxhcmdlXCI7XHJcbiAgICBJbnB1dFNpemVbXCJtZWRpdW1cIl0gPSBcIm1lZGl1bVwiO1xyXG59KShJbnB1dFNpemUgfHwgKElucHV0U2l6ZSA9IHt9KSk7XHJcbmV4cG9ydCB2YXIgSW5wdXRUeXBlO1xyXG4oZnVuY3Rpb24gKElucHV0VHlwZSkge1xyXG4gICAgSW5wdXRUeXBlW1wiZW1haWxcIl0gPSBcImVtYWlsXCI7XHJcbiAgICBJbnB1dFR5cGVbXCJmaWxlXCJdID0gXCJmaWxlXCI7XHJcbiAgICBJbnB1dFR5cGVbXCJudW1iZXJcIl0gPSBcIm51bWJlclwiO1xyXG4gICAgSW5wdXRUeXBlW1wicGFzc3dvcmRcIl0gPSBcInBhc3N3b3JkXCI7XHJcbiAgICBJbnB1dFR5cGVbXCJzZWFyY2hcIl0gPSBcInNlYXJjaFwiO1xyXG4gICAgSW5wdXRUeXBlW1widGV4dFwiXSA9IFwidGV4dFwiO1xyXG4gICAgSW5wdXRUeXBlW1widXJsXCJdID0gXCJ1cmxcIjtcclxuICAgIElucHV0VHlwZVtcInRlbFwiXSA9IFwidGVsXCI7XHJcbn0pKElucHV0VHlwZSB8fCAoSW5wdXRUeXBlID0ge30pKTtcclxuZXhwb3J0IHZhciBJbnB1dEljb25Qb3NpdGlvbjtcclxuKGZ1bmN0aW9uIChJbnB1dEljb25Qb3NpdGlvbikge1xyXG4gICAgSW5wdXRJY29uUG9zaXRpb25bXCJ0b3BcIl0gPSBcInRvcFwiO1xyXG4gICAgSW5wdXRJY29uUG9zaXRpb25bXCJsZWZ0XCJdID0gXCJsZWZ0XCI7XHJcbiAgICBJbnB1dEljb25Qb3NpdGlvbltcInJpZ2h0XCJdID0gXCJyaWdodFwiO1xyXG59KShJbnB1dEljb25Qb3NpdGlvbiB8fCAoSW5wdXRJY29uUG9zaXRpb24gPSB7fSkpO1xyXG5leHBvcnQgY29uc3QgaW5wdXRXcmFwcGVyU3R5bGVzID0gKHByb3BzKSA9PiBjc3MgYFxuICBmbGV4OiAxIDEgYXV0bztcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZGlzcGxheTogZmxleDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aWR0aDogJHtwcm9wcy53aWR0aCB8fCAnYXV0byd9O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAke3Byb3BzLmlzSW52ZXJzZVxyXG4gICAgPyB0cmFuc3BhcmVudGl6ZSgwLjgsIHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsOTAwKVxyXG4gICAgOiBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDEwMH07XG4gIGJvcmRlci1yYWRpdXM6ICR7cHJvcHMudGhlbWUuYm9yZGVyUmFkaXVzfTtcbiAgYm9yZGVyOiAxcHggc29saWRcbiAgICAke3Byb3BzLmlzSW52ZXJzZVxyXG4gICAgPyB0cmFuc3BhcmVudGl6ZSgwLjUsIHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsMTAwKVxyXG4gICAgOiBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDUwMH07XG4gIGhlaWdodDogJHtwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwOX07XG5cbiAgJjpmb2N1cy13aXRoaW4ge1xuICAgIG91dGxpbmU6IDJweCBzb2xpZFxuICAgICAgJHtwcm9wcy5pc0ludmVyc2VcclxuICAgID8gcHJvcHMudGhlbWUuY29sb3JzLmZvY3VzSW52ZXJzZVxyXG4gICAgOiBwcm9wcy50aGVtZS5jb2xvcnMuZm9jdXN9O1xuICAgIG91dGxpbmUtb2Zmc2V0OiAtMXB4O1xuICB9XG5cbiAgJHtwcm9wcy5oYXNFcnJvciAmJlxyXG4gICAgY3NzIGBcbiAgICBib3JkZXItY29sb3I6ICR7cHJvcHMuaXNJbnZlcnNlXHJcbiAgICAgICAgPyBwcm9wcy50aGVtZS5jb2xvcnMuZGFuZ2VyMzAwXHJcbiAgICAgICAgOiBwcm9wcy50aGVtZS5jb2xvcnMuZGFuZ2VyfTtcbiAgYH1cblxuICAke3Byb3BzLmRpc2FibGVkICYmXHJcbiAgICBjc3MgYFxuICAgIGJvcmRlci1jb2xvcjogJHtwcm9wcy5pc0ludmVyc2VcclxuICAgICAgICA/IHRyYW5zcGFyZW50aXplKDAuODUsIHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsMTAwKVxyXG4gICAgICAgIDogcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWwzMDB9O1xuICAgIGJhY2tncm91bmQtY29sb3I6ICR7cHJvcHMuaXNJbnZlcnNlXHJcbiAgICAgICAgPyB0cmFuc3BhcmVudGl6ZSgwLjksIHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsOTAwKVxyXG4gICAgICAgIDogcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWwyMDB9O1xuICBgfVxuXG4gICR7cHJvcHMuaW5wdXRTaXplID09PSAnbGFyZ2UnICYmXHJcbiAgICBjc3MgYFxuICAgIGhlaWdodDogJHtwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcxMX07XG4gIGB9XG5gO1xyXG5mdW5jdGlvbiBnZXRJbnB1dFBhZGRpbmcocHJvcHMpIHtcclxuICAgIGNvbnN0IHsgaW5wdXRTaXplLCBpc0NsZWFyYWJsZSwgaWNvblBvc2l0aW9uIH0gPSBwcm9wcztcclxuICAgIGNvbnN0IHBhZGRpbmcgPSB7XHJcbiAgICAgICAgbGVmdDogcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDMsXHJcbiAgICAgICAgcmlnaHQ6IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzAzLFxyXG4gICAgfTtcclxuICAgIGlmIChpbnB1dFNpemUgPT09ICdsYXJnZScpIHtcclxuICAgICAgICBpZiAoaXNDbGVhcmFibGUpIHtcclxuICAgICAgICAgICAgaWYgKGljb25Qb3NpdGlvbiA9PT0gJ3JpZ2h0Jykge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy5yaWdodCA9ICc5MnB4JztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBlbHNlIGlmIChpY29uUG9zaXRpb24gPT09ICdsZWZ0Jykge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy5sZWZ0ID0gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMTE7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLnJpZ2h0ID0gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMTE7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICAgICAgICAvLyBpY29uIHRvcCwgbm8gaWNvblxyXG4gICAgICAgICAgICAgICAgcGFkZGluZy5yaWdodCA9IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzExO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgICBpZiAoaWNvblBvc2l0aW9uID09PSAncmlnaHQnKSB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLnJpZ2h0ID0gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMTA7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgaWYgKGljb25Qb3NpdGlvbiA9PT0gJ2xlZnQnKSB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLmxlZnQgPSBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcxMDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIGVsc2UgaWYgKGlucHV0U2l6ZSA9PT0gJ21lZGl1bScpIHtcclxuICAgICAgICBpZiAoaXNDbGVhcmFibGUpIHtcclxuICAgICAgICAgICAgaWYgKGljb25Qb3NpdGlvbiA9PT0gJ3JpZ2h0Jykge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy5yaWdodCA9ICc2OHB4JztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBlbHNlIGlmIChpY29uUG9zaXRpb24gPT09ICdsZWZ0Jykge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy5sZWZ0ID0gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDk7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLnJpZ2h0ID0gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICAgICAgICAvLyBpY29uIHRvcCwgbm8gaWNvblxyXG4gICAgICAgICAgICAgICAgcGFkZGluZy5yaWdodCA9IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzA5O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgICBpZiAoaWNvblBvc2l0aW9uID09PSAncmlnaHQnKSB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLnJpZ2h0ID0gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgaWYgKGljb25Qb3NpdGlvbiA9PT0gJ2xlZnQnKSB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLmxlZnQgPSBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwOTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIHJldHVybiBwYWRkaW5nO1xyXG59XHJcbmV4cG9ydCBjb25zdCBpbnB1dEJhc2VTdHlsZXMgPSAocHJvcHMpID0+IGNzcyBgXG4gIGJvcmRlcjogMDtcbiAgYm9yZGVyLXJhZGl1czogJHtwcm9wcy50aGVtZS5ib3JkZXJSYWRpdXN9O1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgY29sb3I6ICR7cHJvcHMuaXNJbnZlcnNlXHJcbiAgICA/IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsMTAwXHJcbiAgICA6IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsNzAwfTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGZvbnQtc2l6ZTogJHtwcm9wcy50aGVtZS50eXBlU2NhbGUuc2l6ZTAzLmZvbnRTaXplfTtcbiAgbGluZS1oZWlnaHQ6ICR7cHJvcHMudGhlbWUudHlwZVNjYWxlLnNpemUwMy5saW5lSGVpZ2h0fTtcbiAgZm9udC1mYW1pbHk6ICR7cHJvcHMudGhlbWUuYm9keUZvbnR9O1xuICBoZWlnaHQ6IDEwMCU7XG4gIHBhZGRpbmc6ICR7cHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDN9O1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gIHdpZHRoOiAxMDAlO1xuXG4gICR7cHJvcHMuaW5wdXRTaXplID09PSAnbGFyZ2UnICYmXHJcbiAgICBjc3MgYFxuICAgIGZvbnQtc2l6ZTogJHtwcm9wcy50aGVtZS50eXBlU2NhbGUuc2l6ZTA0LmZvbnRTaXplfTtcbiAgICBsaW5lLWhlaWdodDogJHtwcm9wcy50aGVtZS50eXBlU2NhbGUuc2l6ZTA0LmxpbmVIZWlnaHR9O1xuICAgIHBhZGRpbmc6ICR7cHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDR9O1xuICBgfVxuXG4gIHBhZGRpbmctbGVmdDogJHtnZXRJbnB1dFBhZGRpbmcocHJvcHMpLmxlZnR9O1xuICBwYWRkaW5nLXJpZ2h0OiAke2dldElucHV0UGFkZGluZyhwcm9wcykucmlnaHR9O1xuXG4gICY6OnBsYWNlaG9sZGVyIHtcbiAgICBjb2xvcjogJHtwcm9wcy5pc0ludmVyc2VcclxuICAgID8gdHJhbnNwYXJlbnRpemUoMC4zLCBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDEwMClcclxuICAgIDogcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWw1MDB9O1xuICB9XG5cbiAgJjpmb2N1cyB7XG4gICAgb3V0bGluZTogMDtcbiAgfVxuXG4gICZbdHlwZT0nc2VhcmNoJ10ge1xuICAgICY6Oi13ZWJraXQtc2VhcmNoLWRlY29yYXRpb24sXG4gICAgJjo6LXdlYmtpdC1zZWFyY2gtY2FuY2VsLWJ1dHRvbixcbiAgICAmOjotd2Via2l0LXNlYXJjaC1yZXN1bHRzLWJ1dHRvbixcbiAgICAmOjotd2Via2l0LXNlYXJjaC1yZXN1bHRzLWRlY29yYXRpb24ge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gIH1cblxuICAke3Byb3BzLmRpc2FibGVkICYmXHJcbiAgICBjc3MgYFxuICAgIGNvbG9yOiAke3Byb3BzLmlzSW52ZXJzZVxyXG4gICAgICAgID8gdHJhbnNwYXJlbnRpemUoMC42LCBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDEwMClcclxuICAgICAgICA6IHRyYW5zcGFyZW50aXplKDAuNCwgcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWw1MDApfTtcbiAgICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xuXG4gICAgJjo6cGxhY2Vob2xkZXIge1xuICAgICAgY29sb3I6ICR7cHJvcHMuaXNJbnZlcnNlXHJcbiAgICAgICAgPyB0cmFuc3BhcmVudGl6ZSgwLjgsIHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsMTAwKVxyXG4gICAgICAgIDogcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWw1MDB9O1xuICAgICAgb3BhY2l0eTogJHtwcm9wcy5pc0ludmVyc2UgPyAwLjQgOiAwLjZ9O1xuICAgIH1cbiAgYH1cblxuICAmOi13ZWJraXQtYXV0b2ZpbGwsXG4gICY6LXdlYmtpdC1hdXRvZmlsbDpmb2N1cyxcbiAgJjotd2Via2l0LWF1dG9maWxsOmhvdmVyLFxuICAmOi13ZWJraXQtYXV0b2ZpbGw6YWN0aXZlIHtcbiAgICBib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XG4gICAgLXdlYmtpdC1iYWNrZ3JvdW5kLWNsaXA6IHRleHQ7XG4gICAgLXdlYmtpdC10ZXh0LWZpbGwtY29sb3I6ICR7cHJvcHMuaXNJbnZlcnNlXHJcbiAgICA/IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsMTAwXHJcbiAgICA6IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsNzAwfSAhaW1wb3J0YW50O1xuICAgIGNhcmV0LWNvbG9yOiAke3Byb3BzLmlzSW52ZXJzZVxyXG4gICAgPyBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDEwMFxyXG4gICAgOiBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDcwMH0gIWltcG9ydGFudDtcbiAgfVxuYDtcclxuY29uc3QgSW5wdXRDb250YWluZXIgPSBzdHlsZWQuZGl2IGBcbiAgZGlzcGxheTogZmxleDtcbmA7XHJcbmV4cG9ydCBjb25zdCBJbnB1dFdyYXBwZXIgPSBzdHlsZWQuZGl2IGBcbiAgJHtpbnB1dFdyYXBwZXJTdHlsZXN9XG5gO1xyXG5jb25zdCBTdHlsZWRJbnB1dCA9IHN0eWxlZC5pbnB1dCBgXG4gICR7aW5wdXRCYXNlU3R5bGVzfVxuYDtcclxuY29uc3QgSWNvbldyYXBwZXIgPSBzdHlsZWQuc3BhbiBgXG4gIGJvdHRvbTogJHtwcm9wcyA9PiAocHJvcHMuaWNvblBvc2l0aW9uID09PSAndG9wJyA/ICc0NXB4JyA6ICdpbmhlcml0Jyl9O1xuICBjb2xvcjogJHtwcm9wcyA9PiBwcm9wcy5pc0ludmVyc2VcclxuICAgID8gcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWwxMDBcclxuICAgIDogcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWw3MDB9O1xuICBsZWZ0OiAke3Byb3BzID0+IHByb3BzLmljb25Qb3NpdGlvbiA9PT0gJ2xlZnQnID8gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDMgOiAnYXV0byd9O1xuICByaWdodDogJHtwcm9wcyA9PiBwcm9wcy5pY29uUG9zaXRpb24gPT09ICdyaWdodCdcclxuICAgID8gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDNcclxuICAgIDogcHJvcHMuaWNvblBvc2l0aW9uID09PSAndG9wJ1xyXG4gICAgICAgID8gJzNweCdcclxuICAgICAgICA6ICdhdXRvJ307XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAke3Byb3BzID0+IHByb3BzLmljb25Qb3NpdGlvbiA9PT0gJ3RvcCdcclxuICAgID8gJ2luaGVyaXQnXHJcbiAgICA6IHByb3BzID0+IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzAzfTtcblxuICAke3Byb3BzID0+IHByb3BzLmlucHV0U2l6ZSA9PT0gJ2xhcmdlJyAmJlxyXG4gICAgY3NzIGBcbiAgICAgIGJvdHRvbTogJHtwcm9wcy5pY29uUG9zaXRpb24gPT09ICd0b3AnID8gJzYycHgnIDogJ2luaGVyaXQnfTtcbiAgICAgIGxlZnQ6ICR7cHJvcHMuaWNvblBvc2l0aW9uID09PSAnbGVmdCdcclxuICAgICAgICA/IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzA0XHJcbiAgICAgICAgOiAnYXV0byd9O1xuICAgICAgcmlnaHQ6ICR7cHJvcHMuaWNvblBvc2l0aW9uID09PSAncmlnaHQnXHJcbiAgICAgICAgPyBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwNFxyXG4gICAgICAgIDogcHJvcHMuaWNvblBvc2l0aW9uID09PSAndG9wJ1xyXG4gICAgICAgICAgICA/ICczcHgnXHJcbiAgICAgICAgICAgIDogJ2F1dG8nfTtcbiAgICAgIHRvcDogJHtwcm9wcy5pY29uUG9zaXRpb24gPT09ICd0b3AnXHJcbiAgICAgICAgPyAnaW5oZXJpdCdcclxuICAgICAgICA6IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzA0fTtcbiAgICBgfVxuYDtcclxuZnVuY3Rpb24gZ2V0SWNvbkJ1dHRvblNWR1NpemUocHJvcHMpIHtcclxuICAgIGNvbnN0IHsgaXNDbGlja2FibGUsIGljb25Qb3NpdGlvbiwgaW5wdXRTaXplLCB0aGVtZSB9ID0gcHJvcHM7XHJcbiAgICBpZiAoaXNDbGlja2FibGUgJiYgaWNvblBvc2l0aW9uID09PSBJbnB1dEljb25Qb3NpdGlvbi50b3ApIHtcclxuICAgICAgICBpZiAoaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2UpIHtcclxuICAgICAgICAgICAgcmV0dXJuIGAke3RoZW1lLmljb25TaXplcy5tZWRpdW19cHhgO1xyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gYCR7dGhlbWUuaWNvblNpemVzLnNtYWxsfXB4YDtcclxuICAgIH1cclxuICAgIGlmIChpbnB1dFNpemUgPT09IElucHV0U2l6ZS5sYXJnZSkge1xyXG4gICAgICAgIHJldHVybiBgJHt0aGVtZS5pY29uU2l6ZXMubGFyZ2V9cHhgO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIGAke3RoZW1lLmljb25TaXplcy5tZWRpdW19cHhgO1xyXG59XHJcbmZ1bmN0aW9uIGdldEhlbHBMaW5rU1ZHU2l6ZShwcm9wcykge1xyXG4gICAgY29uc3QgeyBpbnB1dFNpemUsIHRoZW1lIH0gPSBwcm9wcztcclxuICAgIGlmIChpbnB1dFNpemUgPT09IElucHV0U2l6ZS5sYXJnZSkge1xyXG4gICAgICAgIHJldHVybiBgJHt0aGVtZS5pY29uU2l6ZXMubWVkaXVtfXB4YDtcclxuICAgIH1cclxuICAgIHJldHVybiBgJHt0aGVtZS5pY29uU2l6ZXMuc21hbGx9cHhgO1xyXG59XHJcbmV4cG9ydCBmdW5jdGlvbiBnZXRIZWxwSWNvbkJ1dHRvblNpemUocHJvcHMpIHtcclxuICAgIGNvbnN0IHsgaW5wdXRTaXplLCB0aGVtZSB9ID0gcHJvcHM7XHJcbiAgICBpZiAoaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2UpIHtcclxuICAgICAgICByZXR1cm4gdGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDk7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gdGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDc7XHJcbn1cclxuZnVuY3Rpb24gZ2V0SWNvbkJ1dHRvblRyYW5zZm9ybShwcm9wcykge1xyXG4gICAgY29uc3QgeyBpc0NsaWNrYWJsZSwgaWNvblBvc2l0aW9uLCBpbnB1dFNpemUsIGhhc0NoaWxkcmVuLCB0aGVtZSB9ID0gcHJvcHM7XHJcbiAgICBjb25zdCBwb3NpdGlvbiA9IHsgeDogJycsIHk6ICcnIH07XHJcbiAgICBpZiAoaWNvblBvc2l0aW9uID09PSBJbnB1dEljb25Qb3NpdGlvbi50b3ApIHtcclxuICAgICAgICBpZiAoaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2UpIHtcclxuICAgICAgICAgICAgcG9zaXRpb24ueCA9ICctMzBweCc7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uLnkgPSAnMnB4JztcclxuICAgICAgICB9XHJcbiAgICAgICAgZWxzZSBpZiAoaW5wdXRTaXplID09PSBJbnB1dFNpemUubWVkaXVtKSB7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uLnggPSAnLTI4cHgnO1xyXG4gICAgICAgICAgICBwb3NpdGlvbi55ID0gJzVweCc7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiBwb3NpdGlvbjtcclxuICAgIH1cclxuICAgIGlmIChpc0NsaWNrYWJsZSkge1xyXG4gICAgICAgIGlmIChpbnB1dFNpemUgPT09IElucHV0U2l6ZS5sYXJnZSkge1xyXG4gICAgICAgICAgICBpZiAoaGFzQ2hpbGRyZW4pIHtcclxuICAgICAgICAgICAgICAgIHBvc2l0aW9uLnggPSAnLTQzcHgnO1xyXG4gICAgICAgICAgICAgICAgcG9zaXRpb24ueSA9ICcxNHB4JztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBlbHNlIHtcclxuICAgICAgICAgICAgICAgIHBvc2l0aW9uLnggPSAnLTQ5cHgnO1xyXG4gICAgICAgICAgICAgICAgcG9zaXRpb24ueSA9ICc4cHgnO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2UgaWYgKGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLm1lZGl1bSkge1xyXG4gICAgICAgICAgICBwb3NpdGlvbi54ID0gJy0zNXB4JztcclxuICAgICAgICAgICAgcG9zaXRpb24ueSA9ICc2cHgnO1xyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gcG9zaXRpb247XHJcbiAgICB9XHJcbiAgICBpZiAoaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2UpIHtcclxuICAgICAgICBwb3NpdGlvbi54ID0gYC0ke3RoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzEwfWA7XHJcbiAgICAgICAgcG9zaXRpb24ueSA9IHRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzAzO1xyXG4gICAgfVxyXG4gICAgZWxzZSBpZiAoaW5wdXRTaXplID09PSBJbnB1dFNpemUubWVkaXVtKSB7XHJcbiAgICAgICAgcG9zaXRpb24ueCA9ICctMjRweCc7XHJcbiAgICAgICAgcG9zaXRpb24ueSA9ICc3cHgnO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIHBvc2l0aW9uO1xyXG59XHJcbmV4cG9ydCBjb25zdCBJY29uQnV0dG9uQ29udGFpbmVyID0gc3R5bGVkLnNwYW4gYFxuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgYm90dG9tOiAke3Byb3BzID0+IChwcm9wcy5pY29uUG9zaXRpb24gPT09ICd0b3AnID8gJzQwcHgnIDogJ2luaGVyaXQnKX07XG4gIGhlaWdodDogYXV0bztcbiAgbWFyZ2luOiAwO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiAwO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZShcbiAgICAke3Byb3BzID0+IGdldEljb25CdXR0b25UcmFuc2Zvcm0ocHJvcHMpLnh9LFxuICAgICR7cHJvcHMgPT4gZ2V0SWNvbkJ1dHRvblRyYW5zZm9ybShwcm9wcykueX1cbiAgKTtcbiAgc3ZnIHtcbiAgICBoZWlnaHQ6ICR7cHJvcHMgPT4gZ2V0SWNvbkJ1dHRvblNWR1NpemUocHJvcHMpfTtcbiAgICB3aWR0aDogJHtwcm9wcyA9PiBnZXRJY29uQnV0dG9uU1ZHU2l6ZShwcm9wcyl9O1xuICB9XG5gO1xyXG5jb25zdCBQYXNzd29yZEJ1dHRvbkNvbnRhaW5lciA9IHN0eWxlZC5zcGFuIGBcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIHdpZHRoOiAwO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZShcbiAgICAke3Byb3BzID0+IHByb3BzLnNpemUgPT09IElucHV0U2l6ZS5sYXJnZVxyXG4gICAgPyBgJHstcHJvcHMuYnV0dG9uV2lkdGggLSA4fXB4YFxyXG4gICAgOiBgJHstcHJvcHMuYnV0dG9uV2lkdGggLSA2fXB4YH0sXG4gICAgJHtwcm9wcyA9PiBwcm9wcy5zaXplID09PSBJbnB1dFNpemUubGFyZ2UgPyBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwMyA6ICc2cHgnfVxuICApO1xuYDtcclxuZnVuY3Rpb24gZ2V0Q2xlYXJhYmxlUG9zaXRpb24ocHJvcHMpIHtcclxuICAgIGlmIChwcm9wcy5pY29uUG9zaXRpb24gPT09ICdyaWdodCcgJiYgcHJvcHMuaWNvbikge1xyXG4gICAgICAgIGlmIChwcm9wcy5pbnB1dFNpemUgPT09ICdsYXJnZScpIHtcclxuICAgICAgICAgICAgcmV0dXJuIHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzEzO1xyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gJzcycHgnO1xyXG4gICAgfVxyXG4gICAgaWYgKHByb3BzLmlucHV0U2l6ZSA9PT0gJ2xhcmdlJykge1xyXG4gICAgICAgIHJldHVybiBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcxMDtcclxuICAgIH1cclxuICAgIHJldHVybiAnMzRweCc7XHJcbn1cclxuY29uc3QgSXNDbGVhcmFibGVDb250YWluZXIgPSBzdHlsZWQuc3BhbiBgXG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBtYXJnaW46IDA7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgaGVpZ2h0OiBhdXRvO1xuICB3aWR0aDogMDtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoXG4gICAgLSR7cHJvcHMgPT4gZ2V0Q2xlYXJhYmxlUG9zaXRpb24ocHJvcHMpfSxcbiAgICAke3Byb3BzID0+IHByb3BzLmlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlXHJcbiAgICA/IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzAzXHJcbiAgICA6ICc2cHgnfVxuICApO1xuYDtcclxuZnVuY3Rpb24gZ2V0SWNvblNpemUoc2l6ZSwgdGhlbWUsIGljb25Qb3NpdGlvbikge1xyXG4gICAgc3dpdGNoIChzaXplKSB7XHJcbiAgICAgICAgY2FzZSAnbGFyZ2UnOlxyXG4gICAgICAgICAgICBpZiAoaWNvblBvc2l0aW9uID09PSBJbnB1dEljb25Qb3NpdGlvbi50b3ApIHtcclxuICAgICAgICAgICAgICAgIHJldHVybiB0aGVtZS5pY29uU2l6ZXMubWVkaXVtO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHJldHVybiB0aGVtZS5pY29uU2l6ZXMubGFyZ2U7XHJcbiAgICAgICAgZGVmYXVsdDpcclxuICAgICAgICAgICAgaWYgKGljb25Qb3NpdGlvbiA9PT0gSW5wdXRJY29uUG9zaXRpb24udG9wKSB7XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gdGhlbWUuaWNvblNpemVzLnNtYWxsO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHJldHVybiB0aGVtZS5pY29uU2l6ZXMubWVkaXVtO1xyXG4gICAgfVxyXG59XHJcbmV4cG9ydCBjb25zdCBpc0xlZnRPckhpZGRlbiA9ICh7IGxhYmVsUG9zaXRpb24sIGlzTGFiZWxWaXN1YWxseUhpZGRlbiwgfSkgPT4gbGFiZWxQb3NpdGlvbiA9PT0gTGFiZWxQb3NpdGlvbi5sZWZ0IHx8IGlzTGFiZWxWaXN1YWxseUhpZGRlbjtcclxuZXhwb3J0IGNvbnN0IEhlbHBMaW5rQ29udGFpbmVyID0gc3R5bGVkLnNwYW4gYFxuICBwb3NpdGlvbjogJHtwcm9wcyA9PiAoaXNMZWZ0T3JIaWRkZW4ocHJvcHMpID8gJ3JlbGF0aXZlJyA6ICdhYnNvbHV0ZScpfTtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cbiAgaGVpZ2h0OiAke3Byb3BzID0+IChpc0xlZnRPckhpZGRlbihwcm9wcykgPyAnYXV0bycgOiAnZml0LWNvbnRlbnQnKX07XG4gIG1hcmdpbi1pbmxpbmUtc3RhcnQ6ICR7cHJvcHMgPT4gaXNMZWZ0T3JIaWRkZW4ocHJvcHMpID8gYCR7cHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDN9YCA6ICdhdXRvJ307XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWShcbiAgICAke3Byb3BzID0+IGlzTGVmdE9ySGlkZGVuKHByb3BzKVxyXG4gICAgPyAnMCdcclxuICAgIDogYGNhbGMoLTEwMCUgLSAke3Byb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzAzfSlgfVxuICApO1xuICAke0NoaWxkcmVuV3JhcHBlcn0gPiBzdmcge1xuICAgIGhlaWdodDogJHtwcm9wcyA9PiBnZXRIZWxwTGlua1NWR1NpemUocHJvcHMpfTtcbiAgICB3aWR0aDogJHtwcm9wcyA9PiBnZXRIZWxwTGlua1NWR1NpemUocHJvcHMpfTtcbiAgfVxuICBidXR0b24ge1xuICAgIGhlaWdodDogJHtwcm9wcyA9PiBnZXRIZWxwSWNvbkJ1dHRvblNpemUocHJvcHMpfTtcbiAgICB3aWR0aDogJHtwcm9wcyA9PiBnZXRIZWxwSWNvbkJ1dHRvblNpemUocHJvcHMpfTtcbiAgfVxuICBpbnNldC1pbmxpbmUtZW5kOiAke3Byb3BzID0+IChpc0xlZnRPckhpZGRlbihwcm9wcykgPyAnYXV0bycgOiAnMCcpfTtcbmA7XHJcbmV4cG9ydCBjb25zdCBJbnB1dEJhc2UgPSBSZWFjdC5mb3J3YXJkUmVmKChwcm9wcywgZm9yd2FyZGVkUmVmKSA9PiB7XHJcbiAgICBjb25zdCB7IGNoaWxkcmVuLCBjb250YWluZXJTdHlsZSwgZGVmYXVsdFZhbHVlLCBkaXNhYmxlZCwgaGFzQ2hhcmFjdGVyQ291bnRlciwgaGFzRXJyb3IsIGljb24sIGljb25BcmlhTGFiZWwsIGljb25SZWYsIGlzQ2xlYXJhYmxlLCBpc1Bhc3N3b3JkSW5wdXQsIGlzUHJlZGljdGl2ZSwgbWF4Q291bnQsIG1heExlbmd0aCwgb25DbGVhciwgb25JY29uQ2xpY2ssIG9uSWNvbktleURvd24sIG9uRGF0ZUNoYW5nZSwgaW5wdXRMZW5ndGgsIGlucHV0U2l6ZSwgaW5wdXRTdHlsZSwgaW5wdXRXcmFwcGVyU3R5bGUsIHRlc3RJZCwgdHlwZSwgc2V0UmVmZXJlbmNlLCBpc0xhYmVsVmlzdWFsbHlIaWRkZW4sIGxhYmVsUG9zaXRpb24sIC4uLm90aGVyIH0gPSBwcm9wcztcclxuICAgIGNvbnN0IGkxOG4gPSBSZWFjdC51c2VDb250ZXh0KEkxOG5Db250ZXh0KTtcclxuICAgIGNvbnN0IHRoZW1lID0gUmVhY3QudXNlQ29udGV4dChUaGVtZUNvbnRleHQpO1xyXG4gICAgY29uc3QgaWNvblBvc2l0aW9uID0gaWNvbiAmJiBvbkljb25DbGlja1xyXG4gICAgICAgID8gSW5wdXRJY29uUG9zaXRpb24ucmlnaHRcclxuICAgICAgICA6IGljb24gJiYgIXByb3BzLmljb25Qb3NpdGlvblxyXG4gICAgICAgICAgICA/IElucHV0SWNvblBvc2l0aW9uLmxlZnRcclxuICAgICAgICAgICAgOiBwcm9wcy5pY29uUG9zaXRpb247XHJcbiAgICBjb25zdCBbdmFsdWUsIHNldFZhbHVlXSA9IFJlYWN0LnVzZVN0YXRlKHByb3BzLmRlZmF1bHRWYWx1ZSAhPT0gdW5kZWZpbmVkICYmIHByb3BzLmRlZmF1bHRWYWx1ZSAhPT0gbnVsbFxyXG4gICAgICAgID8gcHJvcHMuZGVmYXVsdFZhbHVlXHJcbiAgICAgICAgOiBwcm9wcy52YWx1ZSB8fCAnJyk7XHJcbiAgICBjb25zdCBtYXhMZW5ndGhOdW0gPSAhaGFzQ2hhcmFjdGVyQ291bnRlciAmJiBtYXhMZW5ndGggPyBtYXhMZW5ndGggOiB1bmRlZmluZWQ7XHJcbiAgICBSZWFjdC51c2VFZmZlY3QoKCkgPT4ge1xyXG4gICAgICAgIGlmIChwcm9wcy52YWx1ZSAhPT0gdW5kZWZpbmVkICYmIHByb3BzLnZhbHVlICE9PSBudWxsKSB7XHJcbiAgICAgICAgICAgIHNldFZhbHVlKHByb3BzLnZhbHVlKTtcclxuICAgICAgICB9XHJcbiAgICB9LCBbcHJvcHMudmFsdWVdKTtcclxuICAgIGNvbnN0IGlucHV0UmVmID0gUmVhY3QudXNlUmVmKCk7XHJcbiAgICBjb25zdCByZWYgPSB1c2VGb3JrZWRSZWYoZm9yd2FyZGVkUmVmLCBpbnB1dFJlZik7XHJcbiAgICBmdW5jdGlvbiBoYW5kbGVDbGVhcklucHV0KCkge1xyXG4gICAgICAgIG9uQ2xlYXIgJiYgdHlwZW9mIG9uQ2xlYXIgPT09ICdmdW5jdGlvbicgJiYgb25DbGVhcigpO1xyXG4gICAgICAgIHNldFZhbHVlKCcnKTtcclxuICAgICAgICBvbkRhdGVDaGFuZ2UgJiYgdHlwZW9mIG9uRGF0ZUNoYW5nZSA9PT0gJ2Z1bmN0aW9uJyAmJiBvbkRhdGVDaGFuZ2UobnVsbCk7XHJcbiAgICAgICAgaW5wdXRSZWYuY3VycmVudC5mb2N1cygpO1xyXG4gICAgfVxyXG4gICAgZnVuY3Rpb24gaGFuZGxlQ2hhbmdlKGV2ZW50KSB7XHJcbiAgICAgICAgcHJvcHMub25DaGFuZ2UgJiZcclxuICAgICAgICAgICAgdHlwZW9mIHByb3BzLm9uQ2hhbmdlID09PSAnZnVuY3Rpb24nICYmXHJcbiAgICAgICAgICAgIHByb3BzLm9uQ2hhbmdlKGV2ZW50KTtcclxuICAgICAgICBjb25zdCBpc09uRGF0ZUNoYW5nZSA9IG9uRGF0ZUNoYW5nZSAmJiB0eXBlb2Ygb25EYXRlQ2hhbmdlID09PSAnZnVuY3Rpb24nO1xyXG4gICAgICAgIGNvbnN0IHsgdmFsdWUgfSA9IGV2ZW50LnRhcmdldDtcclxuICAgICAgICBzZXRWYWx1ZShpc09uRGF0ZUNoYW5nZSA/IHZhbHVlIDogKHByb3BzLnZhbHVlID8/IHZhbHVlKSk7XHJcbiAgICAgICAgaWYgKGlzT25EYXRlQ2hhbmdlICYmICF2YWx1ZSkge1xyXG4gICAgICAgICAgICBvbkRhdGVDaGFuZ2UobnVsbCk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgY29uc3QgcGFzc3dvcmRCdG5XaWR0aCA9ICgpID0+IHtcclxuICAgICAgICBjb25zdCBidG5XaWR0aCA9IGNoaWxkcmVuPy5wcm9wcz8uY2hpbGRyZW4/LlswXT8ucmVmPy5jdXJyZW50Py5vZmZzZXRXaWR0aDtcclxuICAgICAgICBpZiAodHlwZW9mIGJ0bldpZHRoID09PSAnbnVtYmVyJykge1xyXG4gICAgICAgICAgICByZXR1cm4gYnRuV2lkdGg7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgICAvLyBXaGVuIFBhc3N3b3JkQnV0dG9uIGlzIHVzZWQgaW5zaWRlIFNjaGVtYVJlbmRlcmVyLCBpdCBkb2Vzbid0IGhhdmUgY2hpbGRyZW4uXHJcbiAgICAgICAgICAgIC8vIFdlJ2xsIHVzZSB0aGUgZGVmYXVsdCBidXR0b24gc2l6ZXMuXHJcbiAgICAgICAgICAgIGlmIChwcm9wcy5pbnB1dFNpemUgPT09IElucHV0U2l6ZS5sYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuIDY0O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHJldHVybiA1NDtcclxuICAgICAgICB9XHJcbiAgICB9O1xyXG4gICAgcmV0dXJuIChSZWFjdC5jcmVhdGVFbGVtZW50KFwiZGl2XCIsIHsgcmVmOiBzZXRSZWZlcmVuY2UgfSxcclxuICAgICAgICBSZWFjdC5jcmVhdGVFbGVtZW50KElucHV0Q29udGFpbmVyLCB7IHN0eWxlOiBpbnB1dFdyYXBwZXJTdHlsZSwgXCJkYXRhLXRlc3RpZFwiOiBgJHt0ZXN0SWR9LXdyYXBwZXJgIH0sXHJcbiAgICAgICAgICAgIFJlYWN0LmNyZWF0ZUVsZW1lbnQoSW5wdXRXcmFwcGVyLCB7IGRpc2FibGVkOiBkaXNhYmxlZCwgaWNvblBvc2l0aW9uOiBpY29uUG9zaXRpb24sIGlzSW52ZXJzZTogcHJvcHMuaXNJbnZlcnNlLCBpbnB1dFNpemU6IGlucHV0U2l6ZSA/PyBJbnB1dFNpemUubWVkaXVtLCB0aGVtZTogdGhlbWUsIHN0eWxlOiBjb250YWluZXJTdHlsZSwgaGFzRXJyb3I6IGhhc0Vycm9yLCBpc0NsZWFyYWJsZTogaXNDbGVhcmFibGUsIHdpZHRoOiBwcm9wcy53aWR0aCB9LFxyXG4gICAgICAgICAgICAgICAgUmVhY3QuY3JlYXRlRWxlbWVudChTdHlsZWRJbnB1dCwgT2JqZWN0LmFzc2lnbih7fSwgb3RoZXIsIHsgXCJhcmlhLWludmFsaWRcIjogaGFzRXJyb3IsIGRpc2FibGVkOiBkaXNhYmxlZCwgXCJkYXRhLXRlc3RpZFwiOiB0ZXN0SWQsIGhhc0NoYXJhY3RlckNvdW50ZXI6IGhhc0NoYXJhY3RlckNvdW50ZXIsIGljb25Qb3NpdGlvbjogaWNvblBvc2l0aW9uLCBpbnB1dFNpemU6IGlucHV0U2l6ZSA/PyBJbnB1dFNpemUubWVkaXVtLCBpc0NsZWFyYWJsZTogdHlwZSA9PT0gSW5wdXRUeXBlLnNlYXJjaFxyXG4gICAgICAgICAgICAgICAgICAgICAgICA/IGlzQ2xlYXJhYmxlXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDogaW5wdXRXcmFwcGVyU3R5bGU/LndpZHRoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA/IGlzQ2xlYXJhYmxlXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IGlzQ2xlYXJhYmxlICYmIGlucHV0TGVuZ3RoID4gMCwgaXNJbnZlcnNlOiB1c2VJc0ludmVyc2UocHJvcHMuaXNJbnZlcnNlKSwgaXNQcmVkaWN0aXZlOiBpc1ByZWRpY3RpdmUsIGhhc0Vycm9yOiBoYXNFcnJvciwgcmVmOiByZWYsIG1heExlbmd0aDogbWF4TGVuZ3RoTnVtLCBvbkNoYW5nZTogaGFuZGxlQ2hhbmdlLCBzdHlsZTogaW5wdXRTdHlsZSwgdGhlbWU6IHRoZW1lLCB0eXBlOiB0eXBlID8gdHlwZSA6IElucHV0VHlwZS50ZXh0LCB2YWx1ZTogdmFsdWUgfSkpLFxyXG4gICAgICAgICAgICAgICAgaWNvbiAmJiAhb25JY29uQ2xpY2sgJiYgKFJlYWN0LmNyZWF0ZUVsZW1lbnQoSWNvbldyYXBwZXIsIHsgXCJhcmlhLWxhYmVsXCI6IGljb25BcmlhTGFiZWwsIGljb25Qb3NpdGlvbjogaWNvblBvc2l0aW9uLCBpbnB1dFNpemU6IGlucHV0U2l6ZSA/PyBJbnB1dFNpemUubWVkaXVtLCBpc0ludmVyc2U6IHByb3BzLmlzSW52ZXJzZSwgaXNQcmVkaWN0aXZlOiBpc1ByZWRpY3RpdmUsIHRoZW1lOiB0aGVtZSwgZGlzYWJsZWQ6IGRpc2FibGVkIH0sIFJlYWN0LkNoaWxkcmVuLm9ubHkoUmVhY3QuY2xvbmVFbGVtZW50KGljb24sIHtcclxuICAgICAgICAgICAgICAgICAgICBzaXplOiBnZXRJY29uU2l6ZShpbnB1dFNpemUgPz8gSW5wdXRTaXplLm1lZGl1bSwgdGhlbWUsIGljb25Qb3NpdGlvbiksXHJcbiAgICAgICAgICAgICAgICB9KSkpKSksXHJcbiAgICAgICAgICAgIGlzQ2xlYXJhYmxlICYmIHZhbHVlICE9PSAnJyAmJiAoUmVhY3QuY3JlYXRlRWxlbWVudChJc0NsZWFyYWJsZUNvbnRhaW5lciwgeyB0aGVtZTogdGhlbWUsIGljb25Qb3NpdGlvbjogaWNvblBvc2l0aW9uLCBpbnB1dFNpemU6IGlucHV0U2l6ZSwgaWNvbjogaWNvbiB9LFxyXG4gICAgICAgICAgICAgICAgUmVhY3QuY3JlYXRlRWxlbWVudChJY29uQnV0dG9uLCB7IFwiYXJpYS1sYWJlbFwiOiBpMThuLmlucHV0LmlzQ2xlYXJhYmxlQXJpYUxhYmVsLCBkaXNhYmxlZDogZGlzYWJsZWQsIGljb246IFJlYWN0LmNyZWF0ZUVsZW1lbnQoQ2xlYXJJY29uLCBudWxsKSwgaXNJbnZlcnNlOiBwcm9wcy5pc0ludmVyc2UsIG9uQ2xpY2s6IGhhbmRsZUNsZWFySW5wdXQsIG9uS2V5RG93bjogb25JY29uS2V5RG93biwgcmVmOiBpY29uUmVmLCBzaGFwZTogQnV0dG9uU2hhcGUuZmlsbCwgc2l6ZTogaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2VcclxuICAgICAgICAgICAgICAgICAgICAgICAgPyBCdXR0b25TaXplLm1lZGl1bVxyXG4gICAgICAgICAgICAgICAgICAgICAgICA6IEJ1dHRvblNpemUuc21hbGwsIHRlc3RJZDogXCJjbGVhci1idXR0b25cIiwgdHlwZTogQnV0dG9uVHlwZS5idXR0b24sIHZhcmlhbnQ6IEJ1dHRvblZhcmlhbnQubGluayB9KSkpLFxyXG4gICAgICAgICAgICBvbkljb25DbGljayAmJiAoUmVhY3QuY3JlYXRlRWxlbWVudChJY29uQnV0dG9uQ29udGFpbmVyLCB7IGljb25Qb3NpdGlvbjogaWNvblBvc2l0aW9uLCBpbnB1dFNpemU6IGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlXHJcbiAgICAgICAgICAgICAgICAgICAgPyBJbnB1dFNpemUubGFyZ2VcclxuICAgICAgICAgICAgICAgICAgICA6IElucHV0U2l6ZS5tZWRpdW0sIHRoZW1lOiB0aGVtZSwgaXNDbGlja2FibGU6IHRydWUgfSxcclxuICAgICAgICAgICAgICAgIFJlYWN0LmNyZWF0ZUVsZW1lbnQoSWNvbkJ1dHRvbiwgeyBcImFyaWEtbGFiZWxcIjogaWNvbkFyaWFMYWJlbCwgaWNvbjogaWNvbiwgaXNJbnZlcnNlOiBwcm9wcy5pc0ludmVyc2UsIG9uQ2xpY2s6IG9uSWNvbkNsaWNrLCBvbktleURvd246IG9uSWNvbktleURvd24sIHJlZjogaWNvblJlZiwgZGlzYWJsZWQ6IGRpc2FibGVkLCBzaGFwZTogQnV0dG9uU2hhcGUuZmlsbCwgc2l6ZTogaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2VcclxuICAgICAgICAgICAgICAgICAgICAgICAgPyBCdXR0b25TaXplLm1lZGl1bVxyXG4gICAgICAgICAgICAgICAgICAgICAgICA6IEJ1dHRvblNpemUuc21hbGwsIHR5cGU6IEJ1dHRvblR5cGUuYnV0dG9uLCB2YXJpYW50OiBCdXR0b25WYXJpYW50LmxpbmsgfSkpKSxcclxuICAgICAgICAgICAgaXNQYXNzd29yZElucHV0ID8gKFJlYWN0LmNyZWF0ZUVsZW1lbnQoUGFzc3dvcmRCdXR0b25Db250YWluZXIsIHsgc2l6ZTogaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2VcclxuICAgICAgICAgICAgICAgICAgICA/IElucHV0U2l6ZS5sYXJnZVxyXG4gICAgICAgICAgICAgICAgICAgIDogSW5wdXRTaXplLm1lZGl1bSwgdGhlbWU6IHRoZW1lLCBidXR0b25XaWR0aDogcGFzc3dvcmRCdG5XaWR0aCgpIH0sIGNoaWxkcmVuKSkgOiAoUmVhY3QuY3JlYXRlRWxlbWVudChIZWxwTGlua0NvbnRhaW5lciwgeyBpc0xhYmVsVmlzdWFsbHlIaWRkZW46IGlzTGFiZWxWaXN1YWxseUhpZGRlbiB8fCBmYWxzZSwgaW5wdXRTaXplOiBpbnB1dFNpemUgPz8gSW5wdXRTaXplLm1lZGl1bSwgbGFiZWxQb3NpdGlvbjogbGFiZWxQb3NpdGlvbiA/PyBMYWJlbFBvc2l0aW9uLnRvcCwgdGhlbWU6IHRoZW1lIH0sIGNoaWxkcmVuKSkpKSk7XHJcbn0pO1xyXG4vLyMgc291cmNlTWFwcGluZ1VSTD1pbmRleC5qcy5tYXAiXX0= */")), " ", props.inputSize === 'large' && /*#__PURE__*/css("height:", props.theme.spaceScale.spacing11, ";;label:inputWrapperStyles;" + (process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImluZGV4LnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUE2RVEiLCJmaWxlIjoiaW5kZXgudHN4Iiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgUmVhY3QgZnJvbSAncmVhY3QnO1xyXG5pbXBvcnQgeyBjc3MgfSBmcm9tICdAZW1vdGlvbi9yZWFjdCc7XHJcbmltcG9ydCBzdHlsZWQgZnJvbSAnQGVtb3Rpb24vc3R5bGVkJztcclxuaW1wb3J0IHsgdHJhbnNwYXJlbnRpemUgfSBmcm9tICdwb2xpc2hlZCc7XHJcbmltcG9ydCB7IENsZWFySWNvbiB9IGZyb20gJ3JlYWN0LW1hZ21hLWljb25zJztcclxuaW1wb3J0IHsgSTE4bkNvbnRleHQgfSBmcm9tICcuLi8uLi9pMThuJztcclxuaW1wb3J0IHsgdXNlSXNJbnZlcnNlIH0gZnJvbSAnLi4vLi4vaW52ZXJzZSc7XHJcbmltcG9ydCB7IFRoZW1lQ29udGV4dCB9IGZyb20gJy4uLy4uL3RoZW1lL1RoZW1lQ29udGV4dCc7XHJcbmltcG9ydCB7IHVzZUZvcmtlZFJlZiB9IGZyb20gJy4uLy4uL3V0aWxzJztcclxuaW1wb3J0IHsgQnV0dG9uU2hhcGUsIEJ1dHRvblNpemUsIEJ1dHRvblR5cGUsIEJ1dHRvblZhcmlhbnQgfSBmcm9tICcuLi9CdXR0b24nO1xyXG5pbXBvcnQgeyBJY29uQnV0dG9uIH0gZnJvbSAnLi4vSWNvbkJ1dHRvbic7XHJcbmltcG9ydCB7IExhYmVsUG9zaXRpb24gfSBmcm9tICcuLi9MYWJlbCc7XHJcbmltcG9ydCB7IENoaWxkcmVuV3JhcHBlciB9IGZyb20gJy4uL1N0eWxlZEJ1dHRvbic7XHJcbmV4cG9ydCB2YXIgSW5wdXRTaXplO1xyXG4oZnVuY3Rpb24gKElucHV0U2l6ZSkge1xyXG4gICAgSW5wdXRTaXplW1wibGFyZ2VcIl0gPSBcImxhcmdlXCI7XHJcbiAgICBJbnB1dFNpemVbXCJtZWRpdW1cIl0gPSBcIm1lZGl1bVwiO1xyXG59KShJbnB1dFNpemUgfHwgKElucHV0U2l6ZSA9IHt9KSk7XHJcbmV4cG9ydCB2YXIgSW5wdXRUeXBlO1xyXG4oZnVuY3Rpb24gKElucHV0VHlwZSkge1xyXG4gICAgSW5wdXRUeXBlW1wiZW1haWxcIl0gPSBcImVtYWlsXCI7XHJcbiAgICBJbnB1dFR5cGVbXCJmaWxlXCJdID0gXCJmaWxlXCI7XHJcbiAgICBJbnB1dFR5cGVbXCJudW1iZXJcIl0gPSBcIm51bWJlclwiO1xyXG4gICAgSW5wdXRUeXBlW1wicGFzc3dvcmRcIl0gPSBcInBhc3N3b3JkXCI7XHJcbiAgICBJbnB1dFR5cGVbXCJzZWFyY2hcIl0gPSBcInNlYXJjaFwiO1xyXG4gICAgSW5wdXRUeXBlW1widGV4dFwiXSA9IFwidGV4dFwiO1xyXG4gICAgSW5wdXRUeXBlW1widXJsXCJdID0gXCJ1cmxcIjtcclxuICAgIElucHV0VHlwZVtcInRlbFwiXSA9IFwidGVsXCI7XHJcbn0pKElucHV0VHlwZSB8fCAoSW5wdXRUeXBlID0ge30pKTtcclxuZXhwb3J0IHZhciBJbnB1dEljb25Qb3NpdGlvbjtcclxuKGZ1bmN0aW9uIChJbnB1dEljb25Qb3NpdGlvbikge1xyXG4gICAgSW5wdXRJY29uUG9zaXRpb25bXCJ0b3BcIl0gPSBcInRvcFwiO1xyXG4gICAgSW5wdXRJY29uUG9zaXRpb25bXCJsZWZ0XCJdID0gXCJsZWZ0XCI7XHJcbiAgICBJbnB1dEljb25Qb3NpdGlvbltcInJpZ2h0XCJdID0gXCJyaWdodFwiO1xyXG59KShJbnB1dEljb25Qb3NpdGlvbiB8fCAoSW5wdXRJY29uUG9zaXRpb24gPSB7fSkpO1xyXG5leHBvcnQgY29uc3QgaW5wdXRXcmFwcGVyU3R5bGVzID0gKHByb3BzKSA9PiBjc3MgYFxuICBmbGV4OiAxIDEgYXV0bztcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZGlzcGxheTogZmxleDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aWR0aDogJHtwcm9wcy53aWR0aCB8fCAnYXV0byd9O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAke3Byb3BzLmlzSW52ZXJzZVxyXG4gICAgPyB0cmFuc3BhcmVudGl6ZSgwLjgsIHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsOTAwKVxyXG4gICAgOiBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDEwMH07XG4gIGJvcmRlci1yYWRpdXM6ICR7cHJvcHMudGhlbWUuYm9yZGVyUmFkaXVzfTtcbiAgYm9yZGVyOiAxcHggc29saWRcbiAgICAke3Byb3BzLmlzSW52ZXJzZVxyXG4gICAgPyB0cmFuc3BhcmVudGl6ZSgwLjUsIHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsMTAwKVxyXG4gICAgOiBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDUwMH07XG4gIGhlaWdodDogJHtwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwOX07XG5cbiAgJjpmb2N1cy13aXRoaW4ge1xuICAgIG91dGxpbmU6IDJweCBzb2xpZFxuICAgICAgJHtwcm9wcy5pc0ludmVyc2VcclxuICAgID8gcHJvcHMudGhlbWUuY29sb3JzLmZvY3VzSW52ZXJzZVxyXG4gICAgOiBwcm9wcy50aGVtZS5jb2xvcnMuZm9jdXN9O1xuICAgIG91dGxpbmUtb2Zmc2V0OiAtMXB4O1xuICB9XG5cbiAgJHtwcm9wcy5oYXNFcnJvciAmJlxyXG4gICAgY3NzIGBcbiAgICBib3JkZXItY29sb3I6ICR7cHJvcHMuaXNJbnZlcnNlXHJcbiAgICAgICAgPyBwcm9wcy50aGVtZS5jb2xvcnMuZGFuZ2VyMzAwXHJcbiAgICAgICAgOiBwcm9wcy50aGVtZS5jb2xvcnMuZGFuZ2VyfTtcbiAgYH1cblxuICAke3Byb3BzLmRpc2FibGVkICYmXHJcbiAgICBjc3MgYFxuICAgIGJvcmRlci1jb2xvcjogJHtwcm9wcy5pc0ludmVyc2VcclxuICAgICAgICA/IHRyYW5zcGFyZW50aXplKDAuODUsIHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsMTAwKVxyXG4gICAgICAgIDogcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWwzMDB9O1xuICAgIGJhY2tncm91bmQtY29sb3I6ICR7cHJvcHMuaXNJbnZlcnNlXHJcbiAgICAgICAgPyB0cmFuc3BhcmVudGl6ZSgwLjksIHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsOTAwKVxyXG4gICAgICAgIDogcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWwyMDB9O1xuICBgfVxuXG4gICR7cHJvcHMuaW5wdXRTaXplID09PSAnbGFyZ2UnICYmXHJcbiAgICBjc3MgYFxuICAgIGhlaWdodDogJHtwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcxMX07XG4gIGB9XG5gO1xyXG5mdW5jdGlvbiBnZXRJbnB1dFBhZGRpbmcocHJvcHMpIHtcclxuICAgIGNvbnN0IHsgaW5wdXRTaXplLCBpc0NsZWFyYWJsZSwgaWNvblBvc2l0aW9uIH0gPSBwcm9wcztcclxuICAgIGNvbnN0IHBhZGRpbmcgPSB7XHJcbiAgICAgICAgbGVmdDogcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDMsXHJcbiAgICAgICAgcmlnaHQ6IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzAzLFxyXG4gICAgfTtcclxuICAgIGlmIChpbnB1dFNpemUgPT09ICdsYXJnZScpIHtcclxuICAgICAgICBpZiAoaXNDbGVhcmFibGUpIHtcclxuICAgICAgICAgICAgaWYgKGljb25Qb3NpdGlvbiA9PT0gJ3JpZ2h0Jykge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy5yaWdodCA9ICc5MnB4JztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBlbHNlIGlmIChpY29uUG9zaXRpb24gPT09ICdsZWZ0Jykge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy5sZWZ0ID0gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMTE7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLnJpZ2h0ID0gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMTE7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICAgICAgICAvLyBpY29uIHRvcCwgbm8gaWNvblxyXG4gICAgICAgICAgICAgICAgcGFkZGluZy5yaWdodCA9IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzExO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgICBpZiAoaWNvblBvc2l0aW9uID09PSAncmlnaHQnKSB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLnJpZ2h0ID0gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMTA7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgaWYgKGljb25Qb3NpdGlvbiA9PT0gJ2xlZnQnKSB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLmxlZnQgPSBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcxMDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIGVsc2UgaWYgKGlucHV0U2l6ZSA9PT0gJ21lZGl1bScpIHtcclxuICAgICAgICBpZiAoaXNDbGVhcmFibGUpIHtcclxuICAgICAgICAgICAgaWYgKGljb25Qb3NpdGlvbiA9PT0gJ3JpZ2h0Jykge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy5yaWdodCA9ICc2OHB4JztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBlbHNlIGlmIChpY29uUG9zaXRpb24gPT09ICdsZWZ0Jykge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy5sZWZ0ID0gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDk7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLnJpZ2h0ID0gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICAgICAgICAvLyBpY29uIHRvcCwgbm8gaWNvblxyXG4gICAgICAgICAgICAgICAgcGFkZGluZy5yaWdodCA9IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzA5O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgICBpZiAoaWNvblBvc2l0aW9uID09PSAncmlnaHQnKSB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLnJpZ2h0ID0gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgaWYgKGljb25Qb3NpdGlvbiA9PT0gJ2xlZnQnKSB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLmxlZnQgPSBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwOTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIHJldHVybiBwYWRkaW5nO1xyXG59XHJcbmV4cG9ydCBjb25zdCBpbnB1dEJhc2VTdHlsZXMgPSAocHJvcHMpID0+IGNzcyBgXG4gIGJvcmRlcjogMDtcbiAgYm9yZGVyLXJhZGl1czogJHtwcm9wcy50aGVtZS5ib3JkZXJSYWRpdXN9O1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgY29sb3I6ICR7cHJvcHMuaXNJbnZlcnNlXHJcbiAgICA/IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsMTAwXHJcbiAgICA6IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsNzAwfTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGZvbnQtc2l6ZTogJHtwcm9wcy50aGVtZS50eXBlU2NhbGUuc2l6ZTAzLmZvbnRTaXplfTtcbiAgbGluZS1oZWlnaHQ6ICR7cHJvcHMudGhlbWUudHlwZVNjYWxlLnNpemUwMy5saW5lSGVpZ2h0fTtcbiAgZm9udC1mYW1pbHk6ICR7cHJvcHMudGhlbWUuYm9keUZvbnR9O1xuICBoZWlnaHQ6IDEwMCU7XG4gIHBhZGRpbmc6ICR7cHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDN9O1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gIHdpZHRoOiAxMDAlO1xuXG4gICR7cHJvcHMuaW5wdXRTaXplID09PSAnbGFyZ2UnICYmXHJcbiAgICBjc3MgYFxuICAgIGZvbnQtc2l6ZTogJHtwcm9wcy50aGVtZS50eXBlU2NhbGUuc2l6ZTA0LmZvbnRTaXplfTtcbiAgICBsaW5lLWhlaWdodDogJHtwcm9wcy50aGVtZS50eXBlU2NhbGUuc2l6ZTA0LmxpbmVIZWlnaHR9O1xuICAgIHBhZGRpbmc6ICR7cHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDR9O1xuICBgfVxuXG4gIHBhZGRpbmctbGVmdDogJHtnZXRJbnB1dFBhZGRpbmcocHJvcHMpLmxlZnR9O1xuICBwYWRkaW5nLXJpZ2h0OiAke2dldElucHV0UGFkZGluZyhwcm9wcykucmlnaHR9O1xuXG4gICY6OnBsYWNlaG9sZGVyIHtcbiAgICBjb2xvcjogJHtwcm9wcy5pc0ludmVyc2VcclxuICAgID8gdHJhbnNwYXJlbnRpemUoMC4zLCBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDEwMClcclxuICAgIDogcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWw1MDB9O1xuICB9XG5cbiAgJjpmb2N1cyB7XG4gICAgb3V0bGluZTogMDtcbiAgfVxuXG4gICZbdHlwZT0nc2VhcmNoJ10ge1xuICAgICY6Oi13ZWJraXQtc2VhcmNoLWRlY29yYXRpb24sXG4gICAgJjo6LXdlYmtpdC1zZWFyY2gtY2FuY2VsLWJ1dHRvbixcbiAgICAmOjotd2Via2l0LXNlYXJjaC1yZXN1bHRzLWJ1dHRvbixcbiAgICAmOjotd2Via2l0LXNlYXJjaC1yZXN1bHRzLWRlY29yYXRpb24ge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gIH1cblxuICAke3Byb3BzLmRpc2FibGVkICYmXHJcbiAgICBjc3MgYFxuICAgIGNvbG9yOiAke3Byb3BzLmlzSW52ZXJzZVxyXG4gICAgICAgID8gdHJhbnNwYXJlbnRpemUoMC42LCBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDEwMClcclxuICAgICAgICA6IHRyYW5zcGFyZW50aXplKDAuNCwgcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWw1MDApfTtcbiAgICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xuXG4gICAgJjo6cGxhY2Vob2xkZXIge1xuICAgICAgY29sb3I6ICR7cHJvcHMuaXNJbnZlcnNlXHJcbiAgICAgICAgPyB0cmFuc3BhcmVudGl6ZSgwLjgsIHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsMTAwKVxyXG4gICAgICAgIDogcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWw1MDB9O1xuICAgICAgb3BhY2l0eTogJHtwcm9wcy5pc0ludmVyc2UgPyAwLjQgOiAwLjZ9O1xuICAgIH1cbiAgYH1cblxuICAmOi13ZWJraXQtYXV0b2ZpbGwsXG4gICY6LXdlYmtpdC1hdXRvZmlsbDpmb2N1cyxcbiAgJjotd2Via2l0LWF1dG9maWxsOmhvdmVyLFxuICAmOi13ZWJraXQtYXV0b2ZpbGw6YWN0aXZlIHtcbiAgICBib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XG4gICAgLXdlYmtpdC1iYWNrZ3JvdW5kLWNsaXA6IHRleHQ7XG4gICAgLXdlYmtpdC10ZXh0LWZpbGwtY29sb3I6ICR7cHJvcHMuaXNJbnZlcnNlXHJcbiAgICA/IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsMTAwXHJcbiAgICA6IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsNzAwfSAhaW1wb3J0YW50O1xuICAgIGNhcmV0LWNvbG9yOiAke3Byb3BzLmlzSW52ZXJzZVxyXG4gICAgPyBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDEwMFxyXG4gICAgOiBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDcwMH0gIWltcG9ydGFudDtcbiAgfVxuYDtcclxuY29uc3QgSW5wdXRDb250YWluZXIgPSBzdHlsZWQuZGl2IGBcbiAgZGlzcGxheTogZmxleDtcbmA7XHJcbmV4cG9ydCBjb25zdCBJbnB1dFdyYXBwZXIgPSBzdHlsZWQuZGl2IGBcbiAgJHtpbnB1dFdyYXBwZXJTdHlsZXN9XG5gO1xyXG5jb25zdCBTdHlsZWRJbnB1dCA9IHN0eWxlZC5pbnB1dCBgXG4gICR7aW5wdXRCYXNlU3R5bGVzfVxuYDtcclxuY29uc3QgSWNvbldyYXBwZXIgPSBzdHlsZWQuc3BhbiBgXG4gIGJvdHRvbTogJHtwcm9wcyA9PiAocHJvcHMuaWNvblBvc2l0aW9uID09PSAndG9wJyA/ICc0NXB4JyA6ICdpbmhlcml0Jyl9O1xuICBjb2xvcjogJHtwcm9wcyA9PiBwcm9wcy5pc0ludmVyc2VcclxuICAgID8gcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWwxMDBcclxuICAgIDogcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWw3MDB9O1xuICBsZWZ0OiAke3Byb3BzID0+IHByb3BzLmljb25Qb3NpdGlvbiA9PT0gJ2xlZnQnID8gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDMgOiAnYXV0byd9O1xuICByaWdodDogJHtwcm9wcyA9PiBwcm9wcy5pY29uUG9zaXRpb24gPT09ICdyaWdodCdcclxuICAgID8gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDNcclxuICAgIDogcHJvcHMuaWNvblBvc2l0aW9uID09PSAndG9wJ1xyXG4gICAgICAgID8gJzNweCdcclxuICAgICAgICA6ICdhdXRvJ307XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAke3Byb3BzID0+IHByb3BzLmljb25Qb3NpdGlvbiA9PT0gJ3RvcCdcclxuICAgID8gJ2luaGVyaXQnXHJcbiAgICA6IHByb3BzID0+IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzAzfTtcblxuICAke3Byb3BzID0+IHByb3BzLmlucHV0U2l6ZSA9PT0gJ2xhcmdlJyAmJlxyXG4gICAgY3NzIGBcbiAgICAgIGJvdHRvbTogJHtwcm9wcy5pY29uUG9zaXRpb24gPT09ICd0b3AnID8gJzYycHgnIDogJ2luaGVyaXQnfTtcbiAgICAgIGxlZnQ6ICR7cHJvcHMuaWNvblBvc2l0aW9uID09PSAnbGVmdCdcclxuICAgICAgICA/IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzA0XHJcbiAgICAgICAgOiAnYXV0byd9O1xuICAgICAgcmlnaHQ6ICR7cHJvcHMuaWNvblBvc2l0aW9uID09PSAncmlnaHQnXHJcbiAgICAgICAgPyBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwNFxyXG4gICAgICAgIDogcHJvcHMuaWNvblBvc2l0aW9uID09PSAndG9wJ1xyXG4gICAgICAgICAgICA/ICczcHgnXHJcbiAgICAgICAgICAgIDogJ2F1dG8nfTtcbiAgICAgIHRvcDogJHtwcm9wcy5pY29uUG9zaXRpb24gPT09ICd0b3AnXHJcbiAgICAgICAgPyAnaW5oZXJpdCdcclxuICAgICAgICA6IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzA0fTtcbiAgICBgfVxuYDtcclxuZnVuY3Rpb24gZ2V0SWNvbkJ1dHRvblNWR1NpemUocHJvcHMpIHtcclxuICAgIGNvbnN0IHsgaXNDbGlja2FibGUsIGljb25Qb3NpdGlvbiwgaW5wdXRTaXplLCB0aGVtZSB9ID0gcHJvcHM7XHJcbiAgICBpZiAoaXNDbGlja2FibGUgJiYgaWNvblBvc2l0aW9uID09PSBJbnB1dEljb25Qb3NpdGlvbi50b3ApIHtcclxuICAgICAgICBpZiAoaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2UpIHtcclxuICAgICAgICAgICAgcmV0dXJuIGAke3RoZW1lLmljb25TaXplcy5tZWRpdW19cHhgO1xyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gYCR7dGhlbWUuaWNvblNpemVzLnNtYWxsfXB4YDtcclxuICAgIH1cclxuICAgIGlmIChpbnB1dFNpemUgPT09IElucHV0U2l6ZS5sYXJnZSkge1xyXG4gICAgICAgIHJldHVybiBgJHt0aGVtZS5pY29uU2l6ZXMubGFyZ2V9cHhgO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIGAke3RoZW1lLmljb25TaXplcy5tZWRpdW19cHhgO1xyXG59XHJcbmZ1bmN0aW9uIGdldEhlbHBMaW5rU1ZHU2l6ZShwcm9wcykge1xyXG4gICAgY29uc3QgeyBpbnB1dFNpemUsIHRoZW1lIH0gPSBwcm9wcztcclxuICAgIGlmIChpbnB1dFNpemUgPT09IElucHV0U2l6ZS5sYXJnZSkge1xyXG4gICAgICAgIHJldHVybiBgJHt0aGVtZS5pY29uU2l6ZXMubWVkaXVtfXB4YDtcclxuICAgIH1cclxuICAgIHJldHVybiBgJHt0aGVtZS5pY29uU2l6ZXMuc21hbGx9cHhgO1xyXG59XHJcbmV4cG9ydCBmdW5jdGlvbiBnZXRIZWxwSWNvbkJ1dHRvblNpemUocHJvcHMpIHtcclxuICAgIGNvbnN0IHsgaW5wdXRTaXplLCB0aGVtZSB9ID0gcHJvcHM7XHJcbiAgICBpZiAoaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2UpIHtcclxuICAgICAgICByZXR1cm4gdGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDk7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gdGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDc7XHJcbn1cclxuZnVuY3Rpb24gZ2V0SWNvbkJ1dHRvblRyYW5zZm9ybShwcm9wcykge1xyXG4gICAgY29uc3QgeyBpc0NsaWNrYWJsZSwgaWNvblBvc2l0aW9uLCBpbnB1dFNpemUsIGhhc0NoaWxkcmVuLCB0aGVtZSB9ID0gcHJvcHM7XHJcbiAgICBjb25zdCBwb3NpdGlvbiA9IHsgeDogJycsIHk6ICcnIH07XHJcbiAgICBpZiAoaWNvblBvc2l0aW9uID09PSBJbnB1dEljb25Qb3NpdGlvbi50b3ApIHtcclxuICAgICAgICBpZiAoaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2UpIHtcclxuICAgICAgICAgICAgcG9zaXRpb24ueCA9ICctMzBweCc7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uLnkgPSAnMnB4JztcclxuICAgICAgICB9XHJcbiAgICAgICAgZWxzZSBpZiAoaW5wdXRTaXplID09PSBJbnB1dFNpemUubWVkaXVtKSB7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uLnggPSAnLTI4cHgnO1xyXG4gICAgICAgICAgICBwb3NpdGlvbi55ID0gJzVweCc7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiBwb3NpdGlvbjtcclxuICAgIH1cclxuICAgIGlmIChpc0NsaWNrYWJsZSkge1xyXG4gICAgICAgIGlmIChpbnB1dFNpemUgPT09IElucHV0U2l6ZS5sYXJnZSkge1xyXG4gICAgICAgICAgICBpZiAoaGFzQ2hpbGRyZW4pIHtcclxuICAgICAgICAgICAgICAgIHBvc2l0aW9uLnggPSAnLTQzcHgnO1xyXG4gICAgICAgICAgICAgICAgcG9zaXRpb24ueSA9ICcxNHB4JztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBlbHNlIHtcclxuICAgICAgICAgICAgICAgIHBvc2l0aW9uLnggPSAnLTQ5cHgnO1xyXG4gICAgICAgICAgICAgICAgcG9zaXRpb24ueSA9ICc4cHgnO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2UgaWYgKGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLm1lZGl1bSkge1xyXG4gICAgICAgICAgICBwb3NpdGlvbi54ID0gJy0zNXB4JztcclxuICAgICAgICAgICAgcG9zaXRpb24ueSA9ICc2cHgnO1xyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gcG9zaXRpb247XHJcbiAgICB9XHJcbiAgICBpZiAoaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2UpIHtcclxuICAgICAgICBwb3NpdGlvbi54ID0gYC0ke3RoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzEwfWA7XHJcbiAgICAgICAgcG9zaXRpb24ueSA9IHRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzAzO1xyXG4gICAgfVxyXG4gICAgZWxzZSBpZiAoaW5wdXRTaXplID09PSBJbnB1dFNpemUubWVkaXVtKSB7XHJcbiAgICAgICAgcG9zaXRpb24ueCA9ICctMjRweCc7XHJcbiAgICAgICAgcG9zaXRpb24ueSA9ICc3cHgnO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIHBvc2l0aW9uO1xyXG59XHJcbmV4cG9ydCBjb25zdCBJY29uQnV0dG9uQ29udGFpbmVyID0gc3R5bGVkLnNwYW4gYFxuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgYm90dG9tOiAke3Byb3BzID0+IChwcm9wcy5pY29uUG9zaXRpb24gPT09ICd0b3AnID8gJzQwcHgnIDogJ2luaGVyaXQnKX07XG4gIGhlaWdodDogYXV0bztcbiAgbWFyZ2luOiAwO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiAwO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZShcbiAgICAke3Byb3BzID0+IGdldEljb25CdXR0b25UcmFuc2Zvcm0ocHJvcHMpLnh9LFxuICAgICR7cHJvcHMgPT4gZ2V0SWNvbkJ1dHRvblRyYW5zZm9ybShwcm9wcykueX1cbiAgKTtcbiAgc3ZnIHtcbiAgICBoZWlnaHQ6ICR7cHJvcHMgPT4gZ2V0SWNvbkJ1dHRvblNWR1NpemUocHJvcHMpfTtcbiAgICB3aWR0aDogJHtwcm9wcyA9PiBnZXRJY29uQnV0dG9uU1ZHU2l6ZShwcm9wcyl9O1xuICB9XG5gO1xyXG5jb25zdCBQYXNzd29yZEJ1dHRvbkNvbnRhaW5lciA9IHN0eWxlZC5zcGFuIGBcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIHdpZHRoOiAwO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZShcbiAgICAke3Byb3BzID0+IHByb3BzLnNpemUgPT09IElucHV0U2l6ZS5sYXJnZVxyXG4gICAgPyBgJHstcHJvcHMuYnV0dG9uV2lkdGggLSA4fXB4YFxyXG4gICAgOiBgJHstcHJvcHMuYnV0dG9uV2lkdGggLSA2fXB4YH0sXG4gICAgJHtwcm9wcyA9PiBwcm9wcy5zaXplID09PSBJbnB1dFNpemUubGFyZ2UgPyBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwMyA6ICc2cHgnfVxuICApO1xuYDtcclxuZnVuY3Rpb24gZ2V0Q2xlYXJhYmxlUG9zaXRpb24ocHJvcHMpIHtcclxuICAgIGlmIChwcm9wcy5pY29uUG9zaXRpb24gPT09ICdyaWdodCcgJiYgcHJvcHMuaWNvbikge1xyXG4gICAgICAgIGlmIChwcm9wcy5pbnB1dFNpemUgPT09ICdsYXJnZScpIHtcclxuICAgICAgICAgICAgcmV0dXJuIHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzEzO1xyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gJzcycHgnO1xyXG4gICAgfVxyXG4gICAgaWYgKHByb3BzLmlucHV0U2l6ZSA9PT0gJ2xhcmdlJykge1xyXG4gICAgICAgIHJldHVybiBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcxMDtcclxuICAgIH1cclxuICAgIHJldHVybiAnMzRweCc7XHJcbn1cclxuY29uc3QgSXNDbGVhcmFibGVDb250YWluZXIgPSBzdHlsZWQuc3BhbiBgXG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBtYXJnaW46IDA7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgaGVpZ2h0OiBhdXRvO1xuICB3aWR0aDogMDtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoXG4gICAgLSR7cHJvcHMgPT4gZ2V0Q2xlYXJhYmxlUG9zaXRpb24ocHJvcHMpfSxcbiAgICAke3Byb3BzID0+IHByb3BzLmlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlXHJcbiAgICA/IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzAzXHJcbiAgICA6ICc2cHgnfVxuICApO1xuYDtcclxuZnVuY3Rpb24gZ2V0SWNvblNpemUoc2l6ZSwgdGhlbWUsIGljb25Qb3NpdGlvbikge1xyXG4gICAgc3dpdGNoIChzaXplKSB7XHJcbiAgICAgICAgY2FzZSAnbGFyZ2UnOlxyXG4gICAgICAgICAgICBpZiAoaWNvblBvc2l0aW9uID09PSBJbnB1dEljb25Qb3NpdGlvbi50b3ApIHtcclxuICAgICAgICAgICAgICAgIHJldHVybiB0aGVtZS5pY29uU2l6ZXMubWVkaXVtO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHJldHVybiB0aGVtZS5pY29uU2l6ZXMubGFyZ2U7XHJcbiAgICAgICAgZGVmYXVsdDpcclxuICAgICAgICAgICAgaWYgKGljb25Qb3NpdGlvbiA9PT0gSW5wdXRJY29uUG9zaXRpb24udG9wKSB7XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gdGhlbWUuaWNvblNpemVzLnNtYWxsO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHJldHVybiB0aGVtZS5pY29uU2l6ZXMubWVkaXVtO1xyXG4gICAgfVxyXG59XHJcbmV4cG9ydCBjb25zdCBpc0xlZnRPckhpZGRlbiA9ICh7IGxhYmVsUG9zaXRpb24sIGlzTGFiZWxWaXN1YWxseUhpZGRlbiwgfSkgPT4gbGFiZWxQb3NpdGlvbiA9PT0gTGFiZWxQb3NpdGlvbi5sZWZ0IHx8IGlzTGFiZWxWaXN1YWxseUhpZGRlbjtcclxuZXhwb3J0IGNvbnN0IEhlbHBMaW5rQ29udGFpbmVyID0gc3R5bGVkLnNwYW4gYFxuICBwb3NpdGlvbjogJHtwcm9wcyA9PiAoaXNMZWZ0T3JIaWRkZW4ocHJvcHMpID8gJ3JlbGF0aXZlJyA6ICdhYnNvbHV0ZScpfTtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cbiAgaGVpZ2h0OiAke3Byb3BzID0+IChpc0xlZnRPckhpZGRlbihwcm9wcykgPyAnYXV0bycgOiAnZml0LWNvbnRlbnQnKX07XG4gIG1hcmdpbi1pbmxpbmUtc3RhcnQ6ICR7cHJvcHMgPT4gaXNMZWZ0T3JIaWRkZW4ocHJvcHMpID8gYCR7cHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDN9YCA6ICdhdXRvJ307XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWShcbiAgICAke3Byb3BzID0+IGlzTGVmdE9ySGlkZGVuKHByb3BzKVxyXG4gICAgPyAnMCdcclxuICAgIDogYGNhbGMoLTEwMCUgLSAke3Byb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzAzfSlgfVxuICApO1xuICAke0NoaWxkcmVuV3JhcHBlcn0gPiBzdmcge1xuICAgIGhlaWdodDogJHtwcm9wcyA9PiBnZXRIZWxwTGlua1NWR1NpemUocHJvcHMpfTtcbiAgICB3aWR0aDogJHtwcm9wcyA9PiBnZXRIZWxwTGlua1NWR1NpemUocHJvcHMpfTtcbiAgfVxuICBidXR0b24ge1xuICAgIGhlaWdodDogJHtwcm9wcyA9PiBnZXRIZWxwSWNvbkJ1dHRvblNpemUocHJvcHMpfTtcbiAgICB3aWR0aDogJHtwcm9wcyA9PiBnZXRIZWxwSWNvbkJ1dHRvblNpemUocHJvcHMpfTtcbiAgfVxuICBpbnNldC1pbmxpbmUtZW5kOiAke3Byb3BzID0+IChpc0xlZnRPckhpZGRlbihwcm9wcykgPyAnYXV0bycgOiAnMCcpfTtcbmA7XHJcbmV4cG9ydCBjb25zdCBJbnB1dEJhc2UgPSBSZWFjdC5mb3J3YXJkUmVmKChwcm9wcywgZm9yd2FyZGVkUmVmKSA9PiB7XHJcbiAgICBjb25zdCB7IGNoaWxkcmVuLCBjb250YWluZXJTdHlsZSwgZGVmYXVsdFZhbHVlLCBkaXNhYmxlZCwgaGFzQ2hhcmFjdGVyQ291bnRlciwgaGFzRXJyb3IsIGljb24sIGljb25BcmlhTGFiZWwsIGljb25SZWYsIGlzQ2xlYXJhYmxlLCBpc1Bhc3N3b3JkSW5wdXQsIGlzUHJlZGljdGl2ZSwgbWF4Q291bnQsIG1heExlbmd0aCwgb25DbGVhciwgb25JY29uQ2xpY2ssIG9uSWNvbktleURvd24sIG9uRGF0ZUNoYW5nZSwgaW5wdXRMZW5ndGgsIGlucHV0U2l6ZSwgaW5wdXRTdHlsZSwgaW5wdXRXcmFwcGVyU3R5bGUsIHRlc3RJZCwgdHlwZSwgc2V0UmVmZXJlbmNlLCBpc0xhYmVsVmlzdWFsbHlIaWRkZW4sIGxhYmVsUG9zaXRpb24sIC4uLm90aGVyIH0gPSBwcm9wcztcclxuICAgIGNvbnN0IGkxOG4gPSBSZWFjdC51c2VDb250ZXh0KEkxOG5Db250ZXh0KTtcclxuICAgIGNvbnN0IHRoZW1lID0gUmVhY3QudXNlQ29udGV4dChUaGVtZUNvbnRleHQpO1xyXG4gICAgY29uc3QgaWNvblBvc2l0aW9uID0gaWNvbiAmJiBvbkljb25DbGlja1xyXG4gICAgICAgID8gSW5wdXRJY29uUG9zaXRpb24ucmlnaHRcclxuICAgICAgICA6IGljb24gJiYgIXByb3BzLmljb25Qb3NpdGlvblxyXG4gICAgICAgICAgICA/IElucHV0SWNvblBvc2l0aW9uLmxlZnRcclxuICAgICAgICAgICAgOiBwcm9wcy5pY29uUG9zaXRpb247XHJcbiAgICBjb25zdCBbdmFsdWUsIHNldFZhbHVlXSA9IFJlYWN0LnVzZVN0YXRlKHByb3BzLmRlZmF1bHRWYWx1ZSAhPT0gdW5kZWZpbmVkICYmIHByb3BzLmRlZmF1bHRWYWx1ZSAhPT0gbnVsbFxyXG4gICAgICAgID8gcHJvcHMuZGVmYXVsdFZhbHVlXHJcbiAgICAgICAgOiBwcm9wcy52YWx1ZSB8fCAnJyk7XHJcbiAgICBjb25zdCBtYXhMZW5ndGhOdW0gPSAhaGFzQ2hhcmFjdGVyQ291bnRlciAmJiBtYXhMZW5ndGggPyBtYXhMZW5ndGggOiB1bmRlZmluZWQ7XHJcbiAgICBSZWFjdC51c2VFZmZlY3QoKCkgPT4ge1xyXG4gICAgICAgIGlmIChwcm9wcy52YWx1ZSAhPT0gdW5kZWZpbmVkICYmIHByb3BzLnZhbHVlICE9PSBudWxsKSB7XHJcbiAgICAgICAgICAgIHNldFZhbHVlKHByb3BzLnZhbHVlKTtcclxuICAgICAgICB9XHJcbiAgICB9LCBbcHJvcHMudmFsdWVdKTtcclxuICAgIGNvbnN0IGlucHV0UmVmID0gUmVhY3QudXNlUmVmKCk7XHJcbiAgICBjb25zdCByZWYgPSB1c2VGb3JrZWRSZWYoZm9yd2FyZGVkUmVmLCBpbnB1dFJlZik7XHJcbiAgICBmdW5jdGlvbiBoYW5kbGVDbGVhcklucHV0KCkge1xyXG4gICAgICAgIG9uQ2xlYXIgJiYgdHlwZW9mIG9uQ2xlYXIgPT09ICdmdW5jdGlvbicgJiYgb25DbGVhcigpO1xyXG4gICAgICAgIHNldFZhbHVlKCcnKTtcclxuICAgICAgICBvbkRhdGVDaGFuZ2UgJiYgdHlwZW9mIG9uRGF0ZUNoYW5nZSA9PT0gJ2Z1bmN0aW9uJyAmJiBvbkRhdGVDaGFuZ2UobnVsbCk7XHJcbiAgICAgICAgaW5wdXRSZWYuY3VycmVudC5mb2N1cygpO1xyXG4gICAgfVxyXG4gICAgZnVuY3Rpb24gaGFuZGxlQ2hhbmdlKGV2ZW50KSB7XHJcbiAgICAgICAgcHJvcHMub25DaGFuZ2UgJiZcclxuICAgICAgICAgICAgdHlwZW9mIHByb3BzLm9uQ2hhbmdlID09PSAnZnVuY3Rpb24nICYmXHJcbiAgICAgICAgICAgIHByb3BzLm9uQ2hhbmdlKGV2ZW50KTtcclxuICAgICAgICBjb25zdCBpc09uRGF0ZUNoYW5nZSA9IG9uRGF0ZUNoYW5nZSAmJiB0eXBlb2Ygb25EYXRlQ2hhbmdlID09PSAnZnVuY3Rpb24nO1xyXG4gICAgICAgIGNvbnN0IHsgdmFsdWUgfSA9IGV2ZW50LnRhcmdldDtcclxuICAgICAgICBzZXRWYWx1ZShpc09uRGF0ZUNoYW5nZSA/IHZhbHVlIDogKHByb3BzLnZhbHVlID8/IHZhbHVlKSk7XHJcbiAgICAgICAgaWYgKGlzT25EYXRlQ2hhbmdlICYmICF2YWx1ZSkge1xyXG4gICAgICAgICAgICBvbkRhdGVDaGFuZ2UobnVsbCk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgY29uc3QgcGFzc3dvcmRCdG5XaWR0aCA9ICgpID0+IHtcclxuICAgICAgICBjb25zdCBidG5XaWR0aCA9IGNoaWxkcmVuPy5wcm9wcz8uY2hpbGRyZW4/LlswXT8ucmVmPy5jdXJyZW50Py5vZmZzZXRXaWR0aDtcclxuICAgICAgICBpZiAodHlwZW9mIGJ0bldpZHRoID09PSAnbnVtYmVyJykge1xyXG4gICAgICAgICAgICByZXR1cm4gYnRuV2lkdGg7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgICAvLyBXaGVuIFBhc3N3b3JkQnV0dG9uIGlzIHVzZWQgaW5zaWRlIFNjaGVtYVJlbmRlcmVyLCBpdCBkb2Vzbid0IGhhdmUgY2hpbGRyZW4uXHJcbiAgICAgICAgICAgIC8vIFdlJ2xsIHVzZSB0aGUgZGVmYXVsdCBidXR0b24gc2l6ZXMuXHJcbiAgICAgICAgICAgIGlmIChwcm9wcy5pbnB1dFNpemUgPT09IElucHV0U2l6ZS5sYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuIDY0O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHJldHVybiA1NDtcclxuICAgICAgICB9XHJcbiAgICB9O1xyXG4gICAgcmV0dXJuIChSZWFjdC5jcmVhdGVFbGVtZW50KFwiZGl2XCIsIHsgcmVmOiBzZXRSZWZlcmVuY2UgfSxcclxuICAgICAgICBSZWFjdC5jcmVhdGVFbGVtZW50KElucHV0Q29udGFpbmVyLCB7IHN0eWxlOiBpbnB1dFdyYXBwZXJTdHlsZSwgXCJkYXRhLXRlc3RpZFwiOiBgJHt0ZXN0SWR9LXdyYXBwZXJgIH0sXHJcbiAgICAgICAgICAgIFJlYWN0LmNyZWF0ZUVsZW1lbnQoSW5wdXRXcmFwcGVyLCB7IGRpc2FibGVkOiBkaXNhYmxlZCwgaWNvblBvc2l0aW9uOiBpY29uUG9zaXRpb24sIGlzSW52ZXJzZTogcHJvcHMuaXNJbnZlcnNlLCBpbnB1dFNpemU6IGlucHV0U2l6ZSA/PyBJbnB1dFNpemUubWVkaXVtLCB0aGVtZTogdGhlbWUsIHN0eWxlOiBjb250YWluZXJTdHlsZSwgaGFzRXJyb3I6IGhhc0Vycm9yLCBpc0NsZWFyYWJsZTogaXNDbGVhcmFibGUsIHdpZHRoOiBwcm9wcy53aWR0aCB9LFxyXG4gICAgICAgICAgICAgICAgUmVhY3QuY3JlYXRlRWxlbWVudChTdHlsZWRJbnB1dCwgT2JqZWN0LmFzc2lnbih7fSwgb3RoZXIsIHsgXCJhcmlhLWludmFsaWRcIjogaGFzRXJyb3IsIGRpc2FibGVkOiBkaXNhYmxlZCwgXCJkYXRhLXRlc3RpZFwiOiB0ZXN0SWQsIGhhc0NoYXJhY3RlckNvdW50ZXI6IGhhc0NoYXJhY3RlckNvdW50ZXIsIGljb25Qb3NpdGlvbjogaWNvblBvc2l0aW9uLCBpbnB1dFNpemU6IGlucHV0U2l6ZSA/PyBJbnB1dFNpemUubWVkaXVtLCBpc0NsZWFyYWJsZTogdHlwZSA9PT0gSW5wdXRUeXBlLnNlYXJjaFxyXG4gICAgICAgICAgICAgICAgICAgICAgICA/IGlzQ2xlYXJhYmxlXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDogaW5wdXRXcmFwcGVyU3R5bGU/LndpZHRoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA/IGlzQ2xlYXJhYmxlXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IGlzQ2xlYXJhYmxlICYmIGlucHV0TGVuZ3RoID4gMCwgaXNJbnZlcnNlOiB1c2VJc0ludmVyc2UocHJvcHMuaXNJbnZlcnNlKSwgaXNQcmVkaWN0aXZlOiBpc1ByZWRpY3RpdmUsIGhhc0Vycm9yOiBoYXNFcnJvciwgcmVmOiByZWYsIG1heExlbmd0aDogbWF4TGVuZ3RoTnVtLCBvbkNoYW5nZTogaGFuZGxlQ2hhbmdlLCBzdHlsZTogaW5wdXRTdHlsZSwgdGhlbWU6IHRoZW1lLCB0eXBlOiB0eXBlID8gdHlwZSA6IElucHV0VHlwZS50ZXh0LCB2YWx1ZTogdmFsdWUgfSkpLFxyXG4gICAgICAgICAgICAgICAgaWNvbiAmJiAhb25JY29uQ2xpY2sgJiYgKFJlYWN0LmNyZWF0ZUVsZW1lbnQoSWNvbldyYXBwZXIsIHsgXCJhcmlhLWxhYmVsXCI6IGljb25BcmlhTGFiZWwsIGljb25Qb3NpdGlvbjogaWNvblBvc2l0aW9uLCBpbnB1dFNpemU6IGlucHV0U2l6ZSA/PyBJbnB1dFNpemUubWVkaXVtLCBpc0ludmVyc2U6IHByb3BzLmlzSW52ZXJzZSwgaXNQcmVkaWN0aXZlOiBpc1ByZWRpY3RpdmUsIHRoZW1lOiB0aGVtZSwgZGlzYWJsZWQ6IGRpc2FibGVkIH0sIFJlYWN0LkNoaWxkcmVuLm9ubHkoUmVhY3QuY2xvbmVFbGVtZW50KGljb24sIHtcclxuICAgICAgICAgICAgICAgICAgICBzaXplOiBnZXRJY29uU2l6ZShpbnB1dFNpemUgPz8gSW5wdXRTaXplLm1lZGl1bSwgdGhlbWUsIGljb25Qb3NpdGlvbiksXHJcbiAgICAgICAgICAgICAgICB9KSkpKSksXHJcbiAgICAgICAgICAgIGlzQ2xlYXJhYmxlICYmIHZhbHVlICE9PSAnJyAmJiAoUmVhY3QuY3JlYXRlRWxlbWVudChJc0NsZWFyYWJsZUNvbnRhaW5lciwgeyB0aGVtZTogdGhlbWUsIGljb25Qb3NpdGlvbjogaWNvblBvc2l0aW9uLCBpbnB1dFNpemU6IGlucHV0U2l6ZSwgaWNvbjogaWNvbiB9LFxyXG4gICAgICAgICAgICAgICAgUmVhY3QuY3JlYXRlRWxlbWVudChJY29uQnV0dG9uLCB7IFwiYXJpYS1sYWJlbFwiOiBpMThuLmlucHV0LmlzQ2xlYXJhYmxlQXJpYUxhYmVsLCBkaXNhYmxlZDogZGlzYWJsZWQsIGljb246IFJlYWN0LmNyZWF0ZUVsZW1lbnQoQ2xlYXJJY29uLCBudWxsKSwgaXNJbnZlcnNlOiBwcm9wcy5pc0ludmVyc2UsIG9uQ2xpY2s6IGhhbmRsZUNsZWFySW5wdXQsIG9uS2V5RG93bjogb25JY29uS2V5RG93biwgcmVmOiBpY29uUmVmLCBzaGFwZTogQnV0dG9uU2hhcGUuZmlsbCwgc2l6ZTogaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2VcclxuICAgICAgICAgICAgICAgICAgICAgICAgPyBCdXR0b25TaXplLm1lZGl1bVxyXG4gICAgICAgICAgICAgICAgICAgICAgICA6IEJ1dHRvblNpemUuc21hbGwsIHRlc3RJZDogXCJjbGVhci1idXR0b25cIiwgdHlwZTogQnV0dG9uVHlwZS5idXR0b24sIHZhcmlhbnQ6IEJ1dHRvblZhcmlhbnQubGluayB9KSkpLFxyXG4gICAgICAgICAgICBvbkljb25DbGljayAmJiAoUmVhY3QuY3JlYXRlRWxlbWVudChJY29uQnV0dG9uQ29udGFpbmVyLCB7IGljb25Qb3NpdGlvbjogaWNvblBvc2l0aW9uLCBpbnB1dFNpemU6IGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlXHJcbiAgICAgICAgICAgICAgICAgICAgPyBJbnB1dFNpemUubGFyZ2VcclxuICAgICAgICAgICAgICAgICAgICA6IElucHV0U2l6ZS5tZWRpdW0sIHRoZW1lOiB0aGVtZSwgaXNDbGlja2FibGU6IHRydWUgfSxcclxuICAgICAgICAgICAgICAgIFJlYWN0LmNyZWF0ZUVsZW1lbnQoSWNvbkJ1dHRvbiwgeyBcImFyaWEtbGFiZWxcIjogaWNvbkFyaWFMYWJlbCwgaWNvbjogaWNvbiwgaXNJbnZlcnNlOiBwcm9wcy5pc0ludmVyc2UsIG9uQ2xpY2s6IG9uSWNvbkNsaWNrLCBvbktleURvd246IG9uSWNvbktleURvd24sIHJlZjogaWNvblJlZiwgZGlzYWJsZWQ6IGRpc2FibGVkLCBzaGFwZTogQnV0dG9uU2hhcGUuZmlsbCwgc2l6ZTogaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2VcclxuICAgICAgICAgICAgICAgICAgICAgICAgPyBCdXR0b25TaXplLm1lZGl1bVxyXG4gICAgICAgICAgICAgICAgICAgICAgICA6IEJ1dHRvblNpemUuc21hbGwsIHR5cGU6IEJ1dHRvblR5cGUuYnV0dG9uLCB2YXJpYW50OiBCdXR0b25WYXJpYW50LmxpbmsgfSkpKSxcclxuICAgICAgICAgICAgaXNQYXNzd29yZElucHV0ID8gKFJlYWN0LmNyZWF0ZUVsZW1lbnQoUGFzc3dvcmRCdXR0b25Db250YWluZXIsIHsgc2l6ZTogaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2VcclxuICAgICAgICAgICAgICAgICAgICA/IElucHV0U2l6ZS5sYXJnZVxyXG4gICAgICAgICAgICAgICAgICAgIDogSW5wdXRTaXplLm1lZGl1bSwgdGhlbWU6IHRoZW1lLCBidXR0b25XaWR0aDogcGFzc3dvcmRCdG5XaWR0aCgpIH0sIGNoaWxkcmVuKSkgOiAoUmVhY3QuY3JlYXRlRWxlbWVudChIZWxwTGlua0NvbnRhaW5lciwgeyBpc0xhYmVsVmlzdWFsbHlIaWRkZW46IGlzTGFiZWxWaXN1YWxseUhpZGRlbiB8fCBmYWxzZSwgaW5wdXRTaXplOiBpbnB1dFNpemUgPz8gSW5wdXRTaXplLm1lZGl1bSwgbGFiZWxQb3NpdGlvbjogbGFiZWxQb3NpdGlvbiA/PyBMYWJlbFBvc2l0aW9uLnRvcCwgdGhlbWU6IHRoZW1lIH0sIGNoaWxkcmVuKSkpKSk7XHJcbn0pO1xyXG4vLyMgc291cmNlTWFwcGluZ1VSTD1pbmRleC5qcy5tYXAiXX0= */")), ";;label:inputWrapperStyles;" + (process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImluZGV4LnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFtQ2lEIiwiZmlsZSI6ImluZGV4LnRzeCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIFJlYWN0IGZyb20gJ3JlYWN0JztcclxuaW1wb3J0IHsgY3NzIH0gZnJvbSAnQGVtb3Rpb24vcmVhY3QnO1xyXG5pbXBvcnQgc3R5bGVkIGZyb20gJ0BlbW90aW9uL3N0eWxlZCc7XHJcbmltcG9ydCB7IHRyYW5zcGFyZW50aXplIH0gZnJvbSAncG9saXNoZWQnO1xyXG5pbXBvcnQgeyBDbGVhckljb24gfSBmcm9tICdyZWFjdC1tYWdtYS1pY29ucyc7XHJcbmltcG9ydCB7IEkxOG5Db250ZXh0IH0gZnJvbSAnLi4vLi4vaTE4bic7XHJcbmltcG9ydCB7IHVzZUlzSW52ZXJzZSB9IGZyb20gJy4uLy4uL2ludmVyc2UnO1xyXG5pbXBvcnQgeyBUaGVtZUNvbnRleHQgfSBmcm9tICcuLi8uLi90aGVtZS9UaGVtZUNvbnRleHQnO1xyXG5pbXBvcnQgeyB1c2VGb3JrZWRSZWYgfSBmcm9tICcuLi8uLi91dGlscyc7XHJcbmltcG9ydCB7IEJ1dHRvblNoYXBlLCBCdXR0b25TaXplLCBCdXR0b25UeXBlLCBCdXR0b25WYXJpYW50IH0gZnJvbSAnLi4vQnV0dG9uJztcclxuaW1wb3J0IHsgSWNvbkJ1dHRvbiB9IGZyb20gJy4uL0ljb25CdXR0b24nO1xyXG5pbXBvcnQgeyBMYWJlbFBvc2l0aW9uIH0gZnJvbSAnLi4vTGFiZWwnO1xyXG5pbXBvcnQgeyBDaGlsZHJlbldyYXBwZXIgfSBmcm9tICcuLi9TdHlsZWRCdXR0b24nO1xyXG5leHBvcnQgdmFyIElucHV0U2l6ZTtcclxuKGZ1bmN0aW9uIChJbnB1dFNpemUpIHtcclxuICAgIElucHV0U2l6ZVtcImxhcmdlXCJdID0gXCJsYXJnZVwiO1xyXG4gICAgSW5wdXRTaXplW1wibWVkaXVtXCJdID0gXCJtZWRpdW1cIjtcclxufSkoSW5wdXRTaXplIHx8IChJbnB1dFNpemUgPSB7fSkpO1xyXG5leHBvcnQgdmFyIElucHV0VHlwZTtcclxuKGZ1bmN0aW9uIChJbnB1dFR5cGUpIHtcclxuICAgIElucHV0VHlwZVtcImVtYWlsXCJdID0gXCJlbWFpbFwiO1xyXG4gICAgSW5wdXRUeXBlW1wiZmlsZVwiXSA9IFwiZmlsZVwiO1xyXG4gICAgSW5wdXRUeXBlW1wibnVtYmVyXCJdID0gXCJudW1iZXJcIjtcclxuICAgIElucHV0VHlwZVtcInBhc3N3b3JkXCJdID0gXCJwYXNzd29yZFwiO1xyXG4gICAgSW5wdXRUeXBlW1wic2VhcmNoXCJdID0gXCJzZWFyY2hcIjtcclxuICAgIElucHV0VHlwZVtcInRleHRcIl0gPSBcInRleHRcIjtcclxuICAgIElucHV0VHlwZVtcInVybFwiXSA9IFwidXJsXCI7XHJcbiAgICBJbnB1dFR5cGVbXCJ0ZWxcIl0gPSBcInRlbFwiO1xyXG59KShJbnB1dFR5cGUgfHwgKElucHV0VHlwZSA9IHt9KSk7XHJcbmV4cG9ydCB2YXIgSW5wdXRJY29uUG9zaXRpb247XHJcbihmdW5jdGlvbiAoSW5wdXRJY29uUG9zaXRpb24pIHtcclxuICAgIElucHV0SWNvblBvc2l0aW9uW1widG9wXCJdID0gXCJ0b3BcIjtcclxuICAgIElucHV0SWNvblBvc2l0aW9uW1wibGVmdFwiXSA9IFwibGVmdFwiO1xyXG4gICAgSW5wdXRJY29uUG9zaXRpb25bXCJyaWdodFwiXSA9IFwicmlnaHRcIjtcclxufSkoSW5wdXRJY29uUG9zaXRpb24gfHwgKElucHV0SWNvblBvc2l0aW9uID0ge30pKTtcclxuZXhwb3J0IGNvbnN0IGlucHV0V3JhcHBlclN0eWxlcyA9IChwcm9wcykgPT4gY3NzIGBcbiAgZmxleDogMSAxIGF1dG87XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgd2lkdGg6ICR7cHJvcHMud2lkdGggfHwgJ2F1dG8nfTtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHtwcm9wcy5pc0ludmVyc2VcclxuICAgID8gdHJhbnNwYXJlbnRpemUoMC44LCBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDkwMClcclxuICAgIDogcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWwxMDB9O1xuICBib3JkZXItcmFkaXVzOiAke3Byb3BzLnRoZW1lLmJvcmRlclJhZGl1c307XG4gIGJvcmRlcjogMXB4IHNvbGlkXG4gICAgJHtwcm9wcy5pc0ludmVyc2VcclxuICAgID8gdHJhbnNwYXJlbnRpemUoMC41LCBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDEwMClcclxuICAgIDogcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWw1MDB9O1xuICBoZWlnaHQ6ICR7cHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDl9O1xuXG4gICY6Zm9jdXMtd2l0aGluIHtcbiAgICBvdXRsaW5lOiAycHggc29saWRcbiAgICAgICR7cHJvcHMuaXNJbnZlcnNlXHJcbiAgICA/IHByb3BzLnRoZW1lLmNvbG9ycy5mb2N1c0ludmVyc2VcclxuICAgIDogcHJvcHMudGhlbWUuY29sb3JzLmZvY3VzfTtcbiAgICBvdXRsaW5lLW9mZnNldDogLTFweDtcbiAgfVxuXG4gICR7cHJvcHMuaGFzRXJyb3IgJiZcclxuICAgIGNzcyBgXG4gICAgYm9yZGVyLWNvbG9yOiAke3Byb3BzLmlzSW52ZXJzZVxyXG4gICAgICAgID8gcHJvcHMudGhlbWUuY29sb3JzLmRhbmdlcjMwMFxyXG4gICAgICAgIDogcHJvcHMudGhlbWUuY29sb3JzLmRhbmdlcn07XG4gIGB9XG5cbiAgJHtwcm9wcy5kaXNhYmxlZCAmJlxyXG4gICAgY3NzIGBcbiAgICBib3JkZXItY29sb3I6ICR7cHJvcHMuaXNJbnZlcnNlXHJcbiAgICAgICAgPyB0cmFuc3BhcmVudGl6ZSgwLjg1LCBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDEwMClcclxuICAgICAgICA6IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsMzAwfTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAke3Byb3BzLmlzSW52ZXJzZVxyXG4gICAgICAgID8gdHJhbnNwYXJlbnRpemUoMC45LCBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDkwMClcclxuICAgICAgICA6IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsMjAwfTtcbiAgYH1cblxuICAke3Byb3BzLmlucHV0U2l6ZSA9PT0gJ2xhcmdlJyAmJlxyXG4gICAgY3NzIGBcbiAgICBoZWlnaHQ6ICR7cHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMTF9O1xuICBgfVxuYDtcclxuZnVuY3Rpb24gZ2V0SW5wdXRQYWRkaW5nKHByb3BzKSB7XHJcbiAgICBjb25zdCB7IGlucHV0U2l6ZSwgaXNDbGVhcmFibGUsIGljb25Qb3NpdGlvbiB9ID0gcHJvcHM7XHJcbiAgICBjb25zdCBwYWRkaW5nID0ge1xyXG4gICAgICAgIGxlZnQ6IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzAzLFxyXG4gICAgICAgIHJpZ2h0OiBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwMyxcclxuICAgIH07XHJcbiAgICBpZiAoaW5wdXRTaXplID09PSAnbGFyZ2UnKSB7XHJcbiAgICAgICAgaWYgKGlzQ2xlYXJhYmxlKSB7XHJcbiAgICAgICAgICAgIGlmIChpY29uUG9zaXRpb24gPT09ICdyaWdodCcpIHtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmcucmlnaHQgPSAnOTJweCc7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgZWxzZSBpZiAoaWNvblBvc2l0aW9uID09PSAnbGVmdCcpIHtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmcubGVmdCA9IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzExO1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy5yaWdodCA9IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzExO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgLy8gaWNvbiB0b3AsIG5vIGljb25cclxuICAgICAgICAgICAgICAgIHBhZGRpbmcucmlnaHQgPSBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcxMTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBlbHNlIHtcclxuICAgICAgICAgICAgaWYgKGljb25Qb3NpdGlvbiA9PT0gJ3JpZ2h0Jykge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy5yaWdodCA9IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzEwO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGlmIChpY29uUG9zaXRpb24gPT09ICdsZWZ0Jykge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy5sZWZ0ID0gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMTA7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICBlbHNlIGlmIChpbnB1dFNpemUgPT09ICdtZWRpdW0nKSB7XHJcbiAgICAgICAgaWYgKGlzQ2xlYXJhYmxlKSB7XHJcbiAgICAgICAgICAgIGlmIChpY29uUG9zaXRpb24gPT09ICdyaWdodCcpIHtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmcucmlnaHQgPSAnNjhweCc7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgZWxzZSBpZiAoaWNvblBvc2l0aW9uID09PSAnbGVmdCcpIHtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmcubGVmdCA9IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzA5O1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy5yaWdodCA9IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzA5O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgLy8gaWNvbiB0b3AsIG5vIGljb25cclxuICAgICAgICAgICAgICAgIHBhZGRpbmcucmlnaHQgPSBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwOTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBlbHNlIHtcclxuICAgICAgICAgICAgaWYgKGljb25Qb3NpdGlvbiA9PT0gJ3JpZ2h0Jykge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy5yaWdodCA9IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzA5O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGlmIChpY29uUG9zaXRpb24gPT09ICdsZWZ0Jykge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy5sZWZ0ID0gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICByZXR1cm4gcGFkZGluZztcclxufVxyXG5leHBvcnQgY29uc3QgaW5wdXRCYXNlU3R5bGVzID0gKHByb3BzKSA9PiBjc3MgYFxuICBib3JkZXI6IDA7XG4gIGJvcmRlci1yYWRpdXM6ICR7cHJvcHMudGhlbWUuYm9yZGVyUmFkaXVzfTtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIGNvbG9yOiAke3Byb3BzLmlzSW52ZXJzZVxyXG4gICAgPyBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDEwMFxyXG4gICAgOiBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDcwMH07XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBmb250LXNpemU6ICR7cHJvcHMudGhlbWUudHlwZVNjYWxlLnNpemUwMy5mb250U2l6ZX07XG4gIGxpbmUtaGVpZ2h0OiAke3Byb3BzLnRoZW1lLnR5cGVTY2FsZS5zaXplMDMubGluZUhlaWdodH07XG4gIGZvbnQtZmFtaWx5OiAke3Byb3BzLnRoZW1lLmJvZHlGb250fTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBwYWRkaW5nOiAke3Byb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzAzfTtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICB3aWR0aDogMTAwJTtcblxuICAke3Byb3BzLmlucHV0U2l6ZSA9PT0gJ2xhcmdlJyAmJlxyXG4gICAgY3NzIGBcbiAgICBmb250LXNpemU6ICR7cHJvcHMudGhlbWUudHlwZVNjYWxlLnNpemUwNC5mb250U2l6ZX07XG4gICAgbGluZS1oZWlnaHQ6ICR7cHJvcHMudGhlbWUudHlwZVNjYWxlLnNpemUwNC5saW5lSGVpZ2h0fTtcbiAgICBwYWRkaW5nOiAke3Byb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzA0fTtcbiAgYH1cblxuICBwYWRkaW5nLWxlZnQ6ICR7Z2V0SW5wdXRQYWRkaW5nKHByb3BzKS5sZWZ0fTtcbiAgcGFkZGluZy1yaWdodDogJHtnZXRJbnB1dFBhZGRpbmcocHJvcHMpLnJpZ2h0fTtcblxuICAmOjpwbGFjZWhvbGRlciB7XG4gICAgY29sb3I6ICR7cHJvcHMuaXNJbnZlcnNlXHJcbiAgICA/IHRyYW5zcGFyZW50aXplKDAuMywgcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWwxMDApXHJcbiAgICA6IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsNTAwfTtcbiAgfVxuXG4gICY6Zm9jdXMge1xuICAgIG91dGxpbmU6IDA7XG4gIH1cblxuICAmW3R5cGU9J3NlYXJjaCddIHtcbiAgICAmOjotd2Via2l0LXNlYXJjaC1kZWNvcmF0aW9uLFxuICAgICY6Oi13ZWJraXQtc2VhcmNoLWNhbmNlbC1idXR0b24sXG4gICAgJjo6LXdlYmtpdC1zZWFyY2gtcmVzdWx0cy1idXR0b24sXG4gICAgJjo6LXdlYmtpdC1zZWFyY2gtcmVzdWx0cy1kZWNvcmF0aW9uIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICB9XG5cbiAgJHtwcm9wcy5kaXNhYmxlZCAmJlxyXG4gICAgY3NzIGBcbiAgICBjb2xvcjogJHtwcm9wcy5pc0ludmVyc2VcclxuICAgICAgICA/IHRyYW5zcGFyZW50aXplKDAuNiwgcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWwxMDApXHJcbiAgICAgICAgOiB0cmFuc3BhcmVudGl6ZSgwLjQsIHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsNTAwKX07XG4gICAgY3Vyc29yOiBub3QtYWxsb3dlZDtcblxuICAgICY6OnBsYWNlaG9sZGVyIHtcbiAgICAgIGNvbG9yOiAke3Byb3BzLmlzSW52ZXJzZVxyXG4gICAgICAgID8gdHJhbnNwYXJlbnRpemUoMC44LCBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDEwMClcclxuICAgICAgICA6IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsNTAwfTtcbiAgICAgIG9wYWNpdHk6ICR7cHJvcHMuaXNJbnZlcnNlID8gMC40IDogMC42fTtcbiAgICB9XG4gIGB9XG5cbiAgJjotd2Via2l0LWF1dG9maWxsLFxuICAmOi13ZWJraXQtYXV0b2ZpbGw6Zm9jdXMsXG4gICY6LXdlYmtpdC1hdXRvZmlsbDpob3ZlcixcbiAgJjotd2Via2l0LWF1dG9maWxsOmFjdGl2ZSB7XG4gICAgYm94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xuICAgIC13ZWJraXQtYmFja2dyb3VuZC1jbGlwOiB0ZXh0O1xuICAgIC13ZWJraXQtdGV4dC1maWxsLWNvbG9yOiAke3Byb3BzLmlzSW52ZXJzZVxyXG4gICAgPyBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDEwMFxyXG4gICAgOiBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDcwMH0gIWltcG9ydGFudDtcbiAgICBjYXJldC1jb2xvcjogJHtwcm9wcy5pc0ludmVyc2VcclxuICAgID8gcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWwxMDBcclxuICAgIDogcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWw3MDB9ICFpbXBvcnRhbnQ7XG4gIH1cbmA7XHJcbmNvbnN0IElucHV0Q29udGFpbmVyID0gc3R5bGVkLmRpdiBgXG4gIGRpc3BsYXk6IGZsZXg7XG5gO1xyXG5leHBvcnQgY29uc3QgSW5wdXRXcmFwcGVyID0gc3R5bGVkLmRpdiBgXG4gICR7aW5wdXRXcmFwcGVyU3R5bGVzfVxuYDtcclxuY29uc3QgU3R5bGVkSW5wdXQgPSBzdHlsZWQuaW5wdXQgYFxuICAke2lucHV0QmFzZVN0eWxlc31cbmA7XHJcbmNvbnN0IEljb25XcmFwcGVyID0gc3R5bGVkLnNwYW4gYFxuICBib3R0b206ICR7cHJvcHMgPT4gKHByb3BzLmljb25Qb3NpdGlvbiA9PT0gJ3RvcCcgPyAnNDVweCcgOiAnaW5oZXJpdCcpfTtcbiAgY29sb3I6ICR7cHJvcHMgPT4gcHJvcHMuaXNJbnZlcnNlXHJcbiAgICA/IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsMTAwXHJcbiAgICA6IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsNzAwfTtcbiAgbGVmdDogJHtwcm9wcyA9PiBwcm9wcy5pY29uUG9zaXRpb24gPT09ICdsZWZ0JyA/IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzAzIDogJ2F1dG8nfTtcbiAgcmlnaHQ6ICR7cHJvcHMgPT4gcHJvcHMuaWNvblBvc2l0aW9uID09PSAncmlnaHQnXHJcbiAgICA/IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzAzXHJcbiAgICA6IHByb3BzLmljb25Qb3NpdGlvbiA9PT0gJ3RvcCdcclxuICAgICAgICA/ICczcHgnXHJcbiAgICAgICAgOiAnYXV0byd9O1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogJHtwcm9wcyA9PiBwcm9wcy5pY29uUG9zaXRpb24gPT09ICd0b3AnXHJcbiAgICA/ICdpbmhlcml0J1xyXG4gICAgOiBwcm9wcyA9PiBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwM307XG5cbiAgJHtwcm9wcyA9PiBwcm9wcy5pbnB1dFNpemUgPT09ICdsYXJnZScgJiZcclxuICAgIGNzcyBgXG4gICAgICBib3R0b206ICR7cHJvcHMuaWNvblBvc2l0aW9uID09PSAndG9wJyA/ICc2MnB4JyA6ICdpbmhlcml0J307XG4gICAgICBsZWZ0OiAke3Byb3BzLmljb25Qb3NpdGlvbiA9PT0gJ2xlZnQnXHJcbiAgICAgICAgPyBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwNFxyXG4gICAgICAgIDogJ2F1dG8nfTtcbiAgICAgIHJpZ2h0OiAke3Byb3BzLmljb25Qb3NpdGlvbiA9PT0gJ3JpZ2h0J1xyXG4gICAgICAgID8gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDRcclxuICAgICAgICA6IHByb3BzLmljb25Qb3NpdGlvbiA9PT0gJ3RvcCdcclxuICAgICAgICAgICAgPyAnM3B4J1xyXG4gICAgICAgICAgICA6ICdhdXRvJ307XG4gICAgICB0b3A6ICR7cHJvcHMuaWNvblBvc2l0aW9uID09PSAndG9wJ1xyXG4gICAgICAgID8gJ2luaGVyaXQnXHJcbiAgICAgICAgOiBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwNH07XG4gICAgYH1cbmA7XHJcbmZ1bmN0aW9uIGdldEljb25CdXR0b25TVkdTaXplKHByb3BzKSB7XHJcbiAgICBjb25zdCB7IGlzQ2xpY2thYmxlLCBpY29uUG9zaXRpb24sIGlucHV0U2l6ZSwgdGhlbWUgfSA9IHByb3BzO1xyXG4gICAgaWYgKGlzQ2xpY2thYmxlICYmIGljb25Qb3NpdGlvbiA9PT0gSW5wdXRJY29uUG9zaXRpb24udG9wKSB7XHJcbiAgICAgICAgaWYgKGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlKSB7XHJcbiAgICAgICAgICAgIHJldHVybiBgJHt0aGVtZS5pY29uU2l6ZXMubWVkaXVtfXB4YDtcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIGAke3RoZW1lLmljb25TaXplcy5zbWFsbH1weGA7XHJcbiAgICB9XHJcbiAgICBpZiAoaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2UpIHtcclxuICAgICAgICByZXR1cm4gYCR7dGhlbWUuaWNvblNpemVzLmxhcmdlfXB4YDtcclxuICAgIH1cclxuICAgIHJldHVybiBgJHt0aGVtZS5pY29uU2l6ZXMubWVkaXVtfXB4YDtcclxufVxyXG5mdW5jdGlvbiBnZXRIZWxwTGlua1NWR1NpemUocHJvcHMpIHtcclxuICAgIGNvbnN0IHsgaW5wdXRTaXplLCB0aGVtZSB9ID0gcHJvcHM7XHJcbiAgICBpZiAoaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2UpIHtcclxuICAgICAgICByZXR1cm4gYCR7dGhlbWUuaWNvblNpemVzLm1lZGl1bX1weGA7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gYCR7dGhlbWUuaWNvblNpemVzLnNtYWxsfXB4YDtcclxufVxyXG5leHBvcnQgZnVuY3Rpb24gZ2V0SGVscEljb25CdXR0b25TaXplKHByb3BzKSB7XHJcbiAgICBjb25zdCB7IGlucHV0U2l6ZSwgdGhlbWUgfSA9IHByb3BzO1xyXG4gICAgaWYgKGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlKSB7XHJcbiAgICAgICAgcmV0dXJuIHRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzA5O1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIHRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzA3O1xyXG59XHJcbmZ1bmN0aW9uIGdldEljb25CdXR0b25UcmFuc2Zvcm0ocHJvcHMpIHtcclxuICAgIGNvbnN0IHsgaXNDbGlja2FibGUsIGljb25Qb3NpdGlvbiwgaW5wdXRTaXplLCBoYXNDaGlsZHJlbiwgdGhlbWUgfSA9IHByb3BzO1xyXG4gICAgY29uc3QgcG9zaXRpb24gPSB7IHg6ICcnLCB5OiAnJyB9O1xyXG4gICAgaWYgKGljb25Qb3NpdGlvbiA9PT0gSW5wdXRJY29uUG9zaXRpb24udG9wKSB7XHJcbiAgICAgICAgaWYgKGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlKSB7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uLnggPSAnLTMwcHgnO1xyXG4gICAgICAgICAgICBwb3NpdGlvbi55ID0gJzJweCc7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2UgaWYgKGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLm1lZGl1bSkge1xyXG4gICAgICAgICAgICBwb3NpdGlvbi54ID0gJy0yOHB4JztcclxuICAgICAgICAgICAgcG9zaXRpb24ueSA9ICc1cHgnO1xyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gcG9zaXRpb247XHJcbiAgICB9XHJcbiAgICBpZiAoaXNDbGlja2FibGUpIHtcclxuICAgICAgICBpZiAoaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2UpIHtcclxuICAgICAgICAgICAgaWYgKGhhc0NoaWxkcmVuKSB7XHJcbiAgICAgICAgICAgICAgICBwb3NpdGlvbi54ID0gJy00M3B4JztcclxuICAgICAgICAgICAgICAgIHBvc2l0aW9uLnkgPSAnMTRweCc7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICAgICAgICBwb3NpdGlvbi54ID0gJy00OXB4JztcclxuICAgICAgICAgICAgICAgIHBvc2l0aW9uLnkgPSAnOHB4JztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBlbHNlIGlmIChpbnB1dFNpemUgPT09IElucHV0U2l6ZS5tZWRpdW0pIHtcclxuICAgICAgICAgICAgcG9zaXRpb24ueCA9ICctMzVweCc7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uLnkgPSAnNnB4JztcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIHBvc2l0aW9uO1xyXG4gICAgfVxyXG4gICAgaWYgKGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlKSB7XHJcbiAgICAgICAgcG9zaXRpb24ueCA9IGAtJHt0aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcxMH1gO1xyXG4gICAgICAgIHBvc2l0aW9uLnkgPSB0aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwMztcclxuICAgIH1cclxuICAgIGVsc2UgaWYgKGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLm1lZGl1bSkge1xyXG4gICAgICAgIHBvc2l0aW9uLnggPSAnLTI0cHgnO1xyXG4gICAgICAgIHBvc2l0aW9uLnkgPSAnN3B4JztcclxuICAgIH1cclxuICAgIHJldHVybiBwb3NpdGlvbjtcclxufVxyXG5leHBvcnQgY29uc3QgSWNvbkJ1dHRvbkNvbnRhaW5lciA9IHN0eWxlZC5zcGFuIGBcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGJvdHRvbTogJHtwcm9wcyA9PiAocHJvcHMuaWNvblBvc2l0aW9uID09PSAndG9wJyA/ICc0MHB4JyA6ICdpbmhlcml0Jyl9O1xuICBoZWlnaHQ6IGF1dG87XG4gIG1hcmdpbjogMDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aWR0aDogMDtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoXG4gICAgJHtwcm9wcyA9PiBnZXRJY29uQnV0dG9uVHJhbnNmb3JtKHByb3BzKS54fSxcbiAgICAke3Byb3BzID0+IGdldEljb25CdXR0b25UcmFuc2Zvcm0ocHJvcHMpLnl9XG4gICk7XG4gIHN2ZyB7XG4gICAgaGVpZ2h0OiAke3Byb3BzID0+IGdldEljb25CdXR0b25TVkdTaXplKHByb3BzKX07XG4gICAgd2lkdGg6ICR7cHJvcHMgPT4gZ2V0SWNvbkJ1dHRvblNWR1NpemUocHJvcHMpfTtcbiAgfVxuYDtcclxuY29uc3QgUGFzc3dvcmRCdXR0b25Db250YWluZXIgPSBzdHlsZWQuc3BhbiBgXG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICB3aWR0aDogMDtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoXG4gICAgJHtwcm9wcyA9PiBwcm9wcy5zaXplID09PSBJbnB1dFNpemUubGFyZ2VcclxuICAgID8gYCR7LXByb3BzLmJ1dHRvbldpZHRoIC0gOH1weGBcclxuICAgIDogYCR7LXByb3BzLmJ1dHRvbldpZHRoIC0gNn1weGB9LFxuICAgICR7cHJvcHMgPT4gcHJvcHMuc2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlID8gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDMgOiAnNnB4J31cbiAgKTtcbmA7XHJcbmZ1bmN0aW9uIGdldENsZWFyYWJsZVBvc2l0aW9uKHByb3BzKSB7XHJcbiAgICBpZiAocHJvcHMuaWNvblBvc2l0aW9uID09PSAncmlnaHQnICYmIHByb3BzLmljb24pIHtcclxuICAgICAgICBpZiAocHJvcHMuaW5wdXRTaXplID09PSAnbGFyZ2UnKSB7XHJcbiAgICAgICAgICAgIHJldHVybiBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcxMztcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuICc3MnB4JztcclxuICAgIH1cclxuICAgIGlmIChwcm9wcy5pbnB1dFNpemUgPT09ICdsYXJnZScpIHtcclxuICAgICAgICByZXR1cm4gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMTA7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gJzM0cHgnO1xyXG59XHJcbmNvbnN0IElzQ2xlYXJhYmxlQ29udGFpbmVyID0gc3R5bGVkLnNwYW4gYFxuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgbWFyZ2luOiAwO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGhlaWdodDogYXV0bztcbiAgd2lkdGg6IDA7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKFxuICAgIC0ke3Byb3BzID0+IGdldENsZWFyYWJsZVBvc2l0aW9uKHByb3BzKX0sXG4gICAgJHtwcm9wcyA9PiBwcm9wcy5pbnB1dFNpemUgPT09IElucHV0U2l6ZS5sYXJnZVxyXG4gICAgPyBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwM1xyXG4gICAgOiAnNnB4J31cbiAgKTtcbmA7XHJcbmZ1bmN0aW9uIGdldEljb25TaXplKHNpemUsIHRoZW1lLCBpY29uUG9zaXRpb24pIHtcclxuICAgIHN3aXRjaCAoc2l6ZSkge1xyXG4gICAgICAgIGNhc2UgJ2xhcmdlJzpcclxuICAgICAgICAgICAgaWYgKGljb25Qb3NpdGlvbiA9PT0gSW5wdXRJY29uUG9zaXRpb24udG9wKSB7XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gdGhlbWUuaWNvblNpemVzLm1lZGl1bTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICByZXR1cm4gdGhlbWUuaWNvblNpemVzLmxhcmdlO1xyXG4gICAgICAgIGRlZmF1bHQ6XHJcbiAgICAgICAgICAgIGlmIChpY29uUG9zaXRpb24gPT09IElucHV0SWNvblBvc2l0aW9uLnRvcCkge1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuIHRoZW1lLmljb25TaXplcy5zbWFsbDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICByZXR1cm4gdGhlbWUuaWNvblNpemVzLm1lZGl1bTtcclxuICAgIH1cclxufVxyXG5leHBvcnQgY29uc3QgaXNMZWZ0T3JIaWRkZW4gPSAoeyBsYWJlbFBvc2l0aW9uLCBpc0xhYmVsVmlzdWFsbHlIaWRkZW4sIH0pID0+IGxhYmVsUG9zaXRpb24gPT09IExhYmVsUG9zaXRpb24ubGVmdCB8fCBpc0xhYmVsVmlzdWFsbHlIaWRkZW47XHJcbmV4cG9ydCBjb25zdCBIZWxwTGlua0NvbnRhaW5lciA9IHN0eWxlZC5zcGFuIGBcbiAgcG9zaXRpb246ICR7cHJvcHMgPT4gKGlzTGVmdE9ySGlkZGVuKHByb3BzKSA/ICdyZWxhdGl2ZScgOiAnYWJzb2x1dGUnKX07XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXG4gIGhlaWdodDogJHtwcm9wcyA9PiAoaXNMZWZ0T3JIaWRkZW4ocHJvcHMpID8gJ2F1dG8nIDogJ2ZpdC1jb250ZW50Jyl9O1xuICBtYXJnaW4taW5saW5lLXN0YXJ0OiAke3Byb3BzID0+IGlzTGVmdE9ySGlkZGVuKHByb3BzKSA/IGAke3Byb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzAzfWAgOiAnYXV0byd9O1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoXG4gICAgJHtwcm9wcyA9PiBpc0xlZnRPckhpZGRlbihwcm9wcylcclxuICAgID8gJzAnXHJcbiAgICA6IGBjYWxjKC0xMDAlIC0gJHtwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwM30pYH1cbiAgKTtcbiAgJHtDaGlsZHJlbldyYXBwZXJ9ID4gc3ZnIHtcbiAgICBoZWlnaHQ6ICR7cHJvcHMgPT4gZ2V0SGVscExpbmtTVkdTaXplKHByb3BzKX07XG4gICAgd2lkdGg6ICR7cHJvcHMgPT4gZ2V0SGVscExpbmtTVkdTaXplKHByb3BzKX07XG4gIH1cbiAgYnV0dG9uIHtcbiAgICBoZWlnaHQ6ICR7cHJvcHMgPT4gZ2V0SGVscEljb25CdXR0b25TaXplKHByb3BzKX07XG4gICAgd2lkdGg6ICR7cHJvcHMgPT4gZ2V0SGVscEljb25CdXR0b25TaXplKHByb3BzKX07XG4gIH1cbiAgaW5zZXQtaW5saW5lLWVuZDogJHtwcm9wcyA9PiAoaXNMZWZ0T3JIaWRkZW4ocHJvcHMpID8gJ2F1dG8nIDogJzAnKX07XG5gO1xyXG5leHBvcnQgY29uc3QgSW5wdXRCYXNlID0gUmVhY3QuZm9yd2FyZFJlZigocHJvcHMsIGZvcndhcmRlZFJlZikgPT4ge1xyXG4gICAgY29uc3QgeyBjaGlsZHJlbiwgY29udGFpbmVyU3R5bGUsIGRlZmF1bHRWYWx1ZSwgZGlzYWJsZWQsIGhhc0NoYXJhY3RlckNvdW50ZXIsIGhhc0Vycm9yLCBpY29uLCBpY29uQXJpYUxhYmVsLCBpY29uUmVmLCBpc0NsZWFyYWJsZSwgaXNQYXNzd29yZElucHV0LCBpc1ByZWRpY3RpdmUsIG1heENvdW50LCBtYXhMZW5ndGgsIG9uQ2xlYXIsIG9uSWNvbkNsaWNrLCBvbkljb25LZXlEb3duLCBvbkRhdGVDaGFuZ2UsIGlucHV0TGVuZ3RoLCBpbnB1dFNpemUsIGlucHV0U3R5bGUsIGlucHV0V3JhcHBlclN0eWxlLCB0ZXN0SWQsIHR5cGUsIHNldFJlZmVyZW5jZSwgaXNMYWJlbFZpc3VhbGx5SGlkZGVuLCBsYWJlbFBvc2l0aW9uLCAuLi5vdGhlciB9ID0gcHJvcHM7XHJcbiAgICBjb25zdCBpMThuID0gUmVhY3QudXNlQ29udGV4dChJMThuQ29udGV4dCk7XHJcbiAgICBjb25zdCB0aGVtZSA9IFJlYWN0LnVzZUNvbnRleHQoVGhlbWVDb250ZXh0KTtcclxuICAgIGNvbnN0IGljb25Qb3NpdGlvbiA9IGljb24gJiYgb25JY29uQ2xpY2tcclxuICAgICAgICA/IElucHV0SWNvblBvc2l0aW9uLnJpZ2h0XHJcbiAgICAgICAgOiBpY29uICYmICFwcm9wcy5pY29uUG9zaXRpb25cclxuICAgICAgICAgICAgPyBJbnB1dEljb25Qb3NpdGlvbi5sZWZ0XHJcbiAgICAgICAgICAgIDogcHJvcHMuaWNvblBvc2l0aW9uO1xyXG4gICAgY29uc3QgW3ZhbHVlLCBzZXRWYWx1ZV0gPSBSZWFjdC51c2VTdGF0ZShwcm9wcy5kZWZhdWx0VmFsdWUgIT09IHVuZGVmaW5lZCAmJiBwcm9wcy5kZWZhdWx0VmFsdWUgIT09IG51bGxcclxuICAgICAgICA/IHByb3BzLmRlZmF1bHRWYWx1ZVxyXG4gICAgICAgIDogcHJvcHMudmFsdWUgfHwgJycpO1xyXG4gICAgY29uc3QgbWF4TGVuZ3RoTnVtID0gIWhhc0NoYXJhY3RlckNvdW50ZXIgJiYgbWF4TGVuZ3RoID8gbWF4TGVuZ3RoIDogdW5kZWZpbmVkO1xyXG4gICAgUmVhY3QudXNlRWZmZWN0KCgpID0+IHtcclxuICAgICAgICBpZiAocHJvcHMudmFsdWUgIT09IHVuZGVmaW5lZCAmJiBwcm9wcy52YWx1ZSAhPT0gbnVsbCkge1xyXG4gICAgICAgICAgICBzZXRWYWx1ZShwcm9wcy52YWx1ZSk7XHJcbiAgICAgICAgfVxyXG4gICAgfSwgW3Byb3BzLnZhbHVlXSk7XHJcbiAgICBjb25zdCBpbnB1dFJlZiA9IFJlYWN0LnVzZVJlZigpO1xyXG4gICAgY29uc3QgcmVmID0gdXNlRm9ya2VkUmVmKGZvcndhcmRlZFJlZiwgaW5wdXRSZWYpO1xyXG4gICAgZnVuY3Rpb24gaGFuZGxlQ2xlYXJJbnB1dCgpIHtcclxuICAgICAgICBvbkNsZWFyICYmIHR5cGVvZiBvbkNsZWFyID09PSAnZnVuY3Rpb24nICYmIG9uQ2xlYXIoKTtcclxuICAgICAgICBzZXRWYWx1ZSgnJyk7XHJcbiAgICAgICAgb25EYXRlQ2hhbmdlICYmIHR5cGVvZiBvbkRhdGVDaGFuZ2UgPT09ICdmdW5jdGlvbicgJiYgb25EYXRlQ2hhbmdlKG51bGwpO1xyXG4gICAgICAgIGlucHV0UmVmLmN1cnJlbnQuZm9jdXMoKTtcclxuICAgIH1cclxuICAgIGZ1bmN0aW9uIGhhbmRsZUNoYW5nZShldmVudCkge1xyXG4gICAgICAgIHByb3BzLm9uQ2hhbmdlICYmXHJcbiAgICAgICAgICAgIHR5cGVvZiBwcm9wcy5vbkNoYW5nZSA9PT0gJ2Z1bmN0aW9uJyAmJlxyXG4gICAgICAgICAgICBwcm9wcy5vbkNoYW5nZShldmVudCk7XHJcbiAgICAgICAgY29uc3QgaXNPbkRhdGVDaGFuZ2UgPSBvbkRhdGVDaGFuZ2UgJiYgdHlwZW9mIG9uRGF0ZUNoYW5nZSA9PT0gJ2Z1bmN0aW9uJztcclxuICAgICAgICBjb25zdCB7IHZhbHVlIH0gPSBldmVudC50YXJnZXQ7XHJcbiAgICAgICAgc2V0VmFsdWUoaXNPbkRhdGVDaGFuZ2UgPyB2YWx1ZSA6IChwcm9wcy52YWx1ZSA/PyB2YWx1ZSkpO1xyXG4gICAgICAgIGlmIChpc09uRGF0ZUNoYW5nZSAmJiAhdmFsdWUpIHtcclxuICAgICAgICAgICAgb25EYXRlQ2hhbmdlKG51bGwpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIGNvbnN0IHBhc3N3b3JkQnRuV2lkdGggPSAoKSA9PiB7XHJcbiAgICAgICAgY29uc3QgYnRuV2lkdGggPSBjaGlsZHJlbj8ucHJvcHM/LmNoaWxkcmVuPy5bMF0/LnJlZj8uY3VycmVudD8ub2Zmc2V0V2lkdGg7XHJcbiAgICAgICAgaWYgKHR5cGVvZiBidG5XaWR0aCA9PT0gJ251bWJlcicpIHtcclxuICAgICAgICAgICAgcmV0dXJuIGJ0bldpZHRoO1xyXG4gICAgICAgIH1cclxuICAgICAgICBlbHNlIHtcclxuICAgICAgICAgICAgLy8gV2hlbiBQYXNzd29yZEJ1dHRvbiBpcyB1c2VkIGluc2lkZSBTY2hlbWFSZW5kZXJlciwgaXQgZG9lc24ndCBoYXZlIGNoaWxkcmVuLlxyXG4gICAgICAgICAgICAvLyBXZSdsbCB1c2UgdGhlIGRlZmF1bHQgYnV0dG9uIHNpemVzLlxyXG4gICAgICAgICAgICBpZiAocHJvcHMuaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgIHJldHVybiA2NDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICByZXR1cm4gNTQ7XHJcbiAgICAgICAgfVxyXG4gICAgfTtcclxuICAgIHJldHVybiAoUmVhY3QuY3JlYXRlRWxlbWVudChcImRpdlwiLCB7IHJlZjogc2V0UmVmZXJlbmNlIH0sXHJcbiAgICAgICAgUmVhY3QuY3JlYXRlRWxlbWVudChJbnB1dENvbnRhaW5lciwgeyBzdHlsZTogaW5wdXRXcmFwcGVyU3R5bGUsIFwiZGF0YS10ZXN0aWRcIjogYCR7dGVzdElkfS13cmFwcGVyYCB9LFxyXG4gICAgICAgICAgICBSZWFjdC5jcmVhdGVFbGVtZW50KElucHV0V3JhcHBlciwgeyBkaXNhYmxlZDogZGlzYWJsZWQsIGljb25Qb3NpdGlvbjogaWNvblBvc2l0aW9uLCBpc0ludmVyc2U6IHByb3BzLmlzSW52ZXJzZSwgaW5wdXRTaXplOiBpbnB1dFNpemUgPz8gSW5wdXRTaXplLm1lZGl1bSwgdGhlbWU6IHRoZW1lLCBzdHlsZTogY29udGFpbmVyU3R5bGUsIGhhc0Vycm9yOiBoYXNFcnJvciwgaXNDbGVhcmFibGU6IGlzQ2xlYXJhYmxlLCB3aWR0aDogcHJvcHMud2lkdGggfSxcclxuICAgICAgICAgICAgICAgIFJlYWN0LmNyZWF0ZUVsZW1lbnQoU3R5bGVkSW5wdXQsIE9iamVjdC5hc3NpZ24oe30sIG90aGVyLCB7IFwiYXJpYS1pbnZhbGlkXCI6IGhhc0Vycm9yLCBkaXNhYmxlZDogZGlzYWJsZWQsIFwiZGF0YS10ZXN0aWRcIjogdGVzdElkLCBoYXNDaGFyYWN0ZXJDb3VudGVyOiBoYXNDaGFyYWN0ZXJDb3VudGVyLCBpY29uUG9zaXRpb246IGljb25Qb3NpdGlvbiwgaW5wdXRTaXplOiBpbnB1dFNpemUgPz8gSW5wdXRTaXplLm1lZGl1bSwgaXNDbGVhcmFibGU6IHR5cGUgPT09IElucHV0VHlwZS5zZWFyY2hcclxuICAgICAgICAgICAgICAgICAgICAgICAgPyBpc0NsZWFyYWJsZVxyXG4gICAgICAgICAgICAgICAgICAgICAgICA6IGlucHV0V3JhcHBlclN0eWxlPy53aWR0aFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPyBpc0NsZWFyYWJsZVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBpc0NsZWFyYWJsZSAmJiBpbnB1dExlbmd0aCA+IDAsIGlzSW52ZXJzZTogdXNlSXNJbnZlcnNlKHByb3BzLmlzSW52ZXJzZSksIGlzUHJlZGljdGl2ZTogaXNQcmVkaWN0aXZlLCBoYXNFcnJvcjogaGFzRXJyb3IsIHJlZjogcmVmLCBtYXhMZW5ndGg6IG1heExlbmd0aE51bSwgb25DaGFuZ2U6IGhhbmRsZUNoYW5nZSwgc3R5bGU6IGlucHV0U3R5bGUsIHRoZW1lOiB0aGVtZSwgdHlwZTogdHlwZSA/IHR5cGUgOiBJbnB1dFR5cGUudGV4dCwgdmFsdWU6IHZhbHVlIH0pKSxcclxuICAgICAgICAgICAgICAgIGljb24gJiYgIW9uSWNvbkNsaWNrICYmIChSZWFjdC5jcmVhdGVFbGVtZW50KEljb25XcmFwcGVyLCB7IFwiYXJpYS1sYWJlbFwiOiBpY29uQXJpYUxhYmVsLCBpY29uUG9zaXRpb246IGljb25Qb3NpdGlvbiwgaW5wdXRTaXplOiBpbnB1dFNpemUgPz8gSW5wdXRTaXplLm1lZGl1bSwgaXNJbnZlcnNlOiBwcm9wcy5pc0ludmVyc2UsIGlzUHJlZGljdGl2ZTogaXNQcmVkaWN0aXZlLCB0aGVtZTogdGhlbWUsIGRpc2FibGVkOiBkaXNhYmxlZCB9LCBSZWFjdC5DaGlsZHJlbi5vbmx5KFJlYWN0LmNsb25lRWxlbWVudChpY29uLCB7XHJcbiAgICAgICAgICAgICAgICAgICAgc2l6ZTogZ2V0SWNvblNpemUoaW5wdXRTaXplID8/IElucHV0U2l6ZS5tZWRpdW0sIHRoZW1lLCBpY29uUG9zaXRpb24pLFxyXG4gICAgICAgICAgICAgICAgfSkpKSkpLFxyXG4gICAgICAgICAgICBpc0NsZWFyYWJsZSAmJiB2YWx1ZSAhPT0gJycgJiYgKFJlYWN0LmNyZWF0ZUVsZW1lbnQoSXNDbGVhcmFibGVDb250YWluZXIsIHsgdGhlbWU6IHRoZW1lLCBpY29uUG9zaXRpb246IGljb25Qb3NpdGlvbiwgaW5wdXRTaXplOiBpbnB1dFNpemUsIGljb246IGljb24gfSxcclxuICAgICAgICAgICAgICAgIFJlYWN0LmNyZWF0ZUVsZW1lbnQoSWNvbkJ1dHRvbiwgeyBcImFyaWEtbGFiZWxcIjogaTE4bi5pbnB1dC5pc0NsZWFyYWJsZUFyaWFMYWJlbCwgZGlzYWJsZWQ6IGRpc2FibGVkLCBpY29uOiBSZWFjdC5jcmVhdGVFbGVtZW50KENsZWFySWNvbiwgbnVsbCksIGlzSW52ZXJzZTogcHJvcHMuaXNJbnZlcnNlLCBvbkNsaWNrOiBoYW5kbGVDbGVhcklucHV0LCBvbktleURvd246IG9uSWNvbktleURvd24sIHJlZjogaWNvblJlZiwgc2hhcGU6IEJ1dHRvblNoYXBlLmZpbGwsIHNpemU6IGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlXHJcbiAgICAgICAgICAgICAgICAgICAgICAgID8gQnV0dG9uU2l6ZS5tZWRpdW1cclxuICAgICAgICAgICAgICAgICAgICAgICAgOiBCdXR0b25TaXplLnNtYWxsLCB0ZXN0SWQ6IFwiY2xlYXItYnV0dG9uXCIsIHR5cGU6IEJ1dHRvblR5cGUuYnV0dG9uLCB2YXJpYW50OiBCdXR0b25WYXJpYW50LmxpbmsgfSkpKSxcclxuICAgICAgICAgICAgb25JY29uQ2xpY2sgJiYgKFJlYWN0LmNyZWF0ZUVsZW1lbnQoSWNvbkJ1dHRvbkNvbnRhaW5lciwgeyBpY29uUG9zaXRpb246IGljb25Qb3NpdGlvbiwgaW5wdXRTaXplOiBpbnB1dFNpemUgPT09IElucHV0U2l6ZS5sYXJnZVxyXG4gICAgICAgICAgICAgICAgICAgID8gSW5wdXRTaXplLmxhcmdlXHJcbiAgICAgICAgICAgICAgICAgICAgOiBJbnB1dFNpemUubWVkaXVtLCB0aGVtZTogdGhlbWUsIGlzQ2xpY2thYmxlOiB0cnVlIH0sXHJcbiAgICAgICAgICAgICAgICBSZWFjdC5jcmVhdGVFbGVtZW50KEljb25CdXR0b24sIHsgXCJhcmlhLWxhYmVsXCI6IGljb25BcmlhTGFiZWwsIGljb246IGljb24sIGlzSW52ZXJzZTogcHJvcHMuaXNJbnZlcnNlLCBvbkNsaWNrOiBvbkljb25DbGljaywgb25LZXlEb3duOiBvbkljb25LZXlEb3duLCByZWY6IGljb25SZWYsIGRpc2FibGVkOiBkaXNhYmxlZCwgc2hhcGU6IEJ1dHRvblNoYXBlLmZpbGwsIHNpemU6IGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlXHJcbiAgICAgICAgICAgICAgICAgICAgICAgID8gQnV0dG9uU2l6ZS5tZWRpdW1cclxuICAgICAgICAgICAgICAgICAgICAgICAgOiBCdXR0b25TaXplLnNtYWxsLCB0eXBlOiBCdXR0b25UeXBlLmJ1dHRvbiwgdmFyaWFudDogQnV0dG9uVmFyaWFudC5saW5rIH0pKSksXHJcbiAgICAgICAgICAgIGlzUGFzc3dvcmRJbnB1dCA/IChSZWFjdC5jcmVhdGVFbGVtZW50KFBhc3N3b3JkQnV0dG9uQ29udGFpbmVyLCB7IHNpemU6IGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlXHJcbiAgICAgICAgICAgICAgICAgICAgPyBJbnB1dFNpemUubGFyZ2VcclxuICAgICAgICAgICAgICAgICAgICA6IElucHV0U2l6ZS5tZWRpdW0sIHRoZW1lOiB0aGVtZSwgYnV0dG9uV2lkdGg6IHBhc3N3b3JkQnRuV2lkdGgoKSB9LCBjaGlsZHJlbikpIDogKFJlYWN0LmNyZWF0ZUVsZW1lbnQoSGVscExpbmtDb250YWluZXIsIHsgaXNMYWJlbFZpc3VhbGx5SGlkZGVuOiBpc0xhYmVsVmlzdWFsbHlIaWRkZW4gfHwgZmFsc2UsIGlucHV0U2l6ZTogaW5wdXRTaXplID8/IElucHV0U2l6ZS5tZWRpdW0sIGxhYmVsUG9zaXRpb246IGxhYmVsUG9zaXRpb24gPz8gTGFiZWxQb3NpdGlvbi50b3AsIHRoZW1lOiB0aGVtZSB9LCBjaGlsZHJlbikpKSkpO1xyXG59KTtcclxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9aW5kZXguanMubWFwIl19 */"));
|
|
4871
4871
|
};
|
|
4872
4872
|
function getInputPadding(props) {
|
|
4873
4873
|
var inputSize = props.inputSize,
|
|
@@ -4919,7 +4919,7 @@ function getInputPadding(props) {
|
|
|
4919
4919
|
return padding;
|
|
4920
4920
|
}
|
|
4921
4921
|
var inputBaseStyles = function inputBaseStyles(props) {
|
|
4922
|
-
return /*#__PURE__*/css("border:0;border-radius:", props.theme.borderRadius, ";background:transparent;color:", props.isInverse ? props.theme.colors.neutral100 : props.theme.colors.neutral700, ";display:block;font-size:", props.theme.typeScale.size03.fontSize, ";line-height:", props.theme.typeScale.size03.lineHeight, ";font-family:", props.theme.bodyFont, ";height:100%;padding:", props.theme.spaceScale.spacing03, ";-webkit-appearance:none;width:100%;", props.inputSize === 'large' && /*#__PURE__*/css("font-size:", props.theme.typeScale.size04.fontSize, ";line-height:", props.theme.typeScale.size04.lineHeight, ";padding:", props.theme.spaceScale.spacing04, ";;label:inputBaseStyles;" + (process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImluZGV4LnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUF3SlEiLCJmaWxlIjoiaW5kZXgudHN4Iiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgUmVhY3QgZnJvbSAncmVhY3QnO1xyXG5pbXBvcnQgeyBjc3MgfSBmcm9tICdAZW1vdGlvbi9yZWFjdCc7XHJcbmltcG9ydCBzdHlsZWQgZnJvbSAnQGVtb3Rpb24vc3R5bGVkJztcclxuaW1wb3J0IHsgdHJhbnNwYXJlbnRpemUgfSBmcm9tICdwb2xpc2hlZCc7XHJcbmltcG9ydCB7IENsZWFySWNvbiB9IGZyb20gJ3JlYWN0LW1hZ21hLWljb25zJztcclxuaW1wb3J0IHsgSTE4bkNvbnRleHQgfSBmcm9tICcuLi8uLi9pMThuJztcclxuaW1wb3J0IHsgdXNlSXNJbnZlcnNlIH0gZnJvbSAnLi4vLi4vaW52ZXJzZSc7XHJcbmltcG9ydCB7IFRoZW1lQ29udGV4dCB9IGZyb20gJy4uLy4uL3RoZW1lL1RoZW1lQ29udGV4dCc7XHJcbmltcG9ydCB7IHVzZUZvcmtlZFJlZiB9IGZyb20gJy4uLy4uL3V0aWxzJztcclxuaW1wb3J0IHsgQnV0dG9uU2hhcGUsIEJ1dHRvblNpemUsIEJ1dHRvblR5cGUsIEJ1dHRvblZhcmlhbnQgfSBmcm9tICcuLi9CdXR0b24nO1xyXG5pbXBvcnQgeyBJY29uQnV0dG9uIH0gZnJvbSAnLi4vSWNvbkJ1dHRvbic7XHJcbmltcG9ydCB7IExhYmVsUG9zaXRpb24gfSBmcm9tICcuLi9MYWJlbCc7XHJcbmltcG9ydCB7IENoaWxkcmVuV3JhcHBlciB9IGZyb20gJy4uL1N0eWxlZEJ1dHRvbic7XHJcbmV4cG9ydCB2YXIgSW5wdXRTaXplO1xyXG4oZnVuY3Rpb24gKElucHV0U2l6ZSkge1xyXG4gICAgSW5wdXRTaXplW1wibGFyZ2VcIl0gPSBcImxhcmdlXCI7XHJcbiAgICBJbnB1dFNpemVbXCJtZWRpdW1cIl0gPSBcIm1lZGl1bVwiO1xyXG59KShJbnB1dFNpemUgfHwgKElucHV0U2l6ZSA9IHt9KSk7XHJcbmV4cG9ydCB2YXIgSW5wdXRUeXBlO1xyXG4oZnVuY3Rpb24gKElucHV0VHlwZSkge1xyXG4gICAgSW5wdXRUeXBlW1wiZW1haWxcIl0gPSBcImVtYWlsXCI7XHJcbiAgICBJbnB1dFR5cGVbXCJmaWxlXCJdID0gXCJmaWxlXCI7XHJcbiAgICBJbnB1dFR5cGVbXCJudW1iZXJcIl0gPSBcIm51bWJlclwiO1xyXG4gICAgSW5wdXRUeXBlW1wicGFzc3dvcmRcIl0gPSBcInBhc3N3b3JkXCI7XHJcbiAgICBJbnB1dFR5cGVbXCJzZWFyY2hcIl0gPSBcInNlYXJjaFwiO1xyXG4gICAgSW5wdXRUeXBlW1widGV4dFwiXSA9IFwidGV4dFwiO1xyXG4gICAgSW5wdXRUeXBlW1widXJsXCJdID0gXCJ1cmxcIjtcclxuICAgIElucHV0VHlwZVtcInRlbFwiXSA9IFwidGVsXCI7XHJcbn0pKElucHV0VHlwZSB8fCAoSW5wdXRUeXBlID0ge30pKTtcclxuZXhwb3J0IHZhciBJbnB1dEljb25Qb3NpdGlvbjtcclxuKGZ1bmN0aW9uIChJbnB1dEljb25Qb3NpdGlvbikge1xyXG4gICAgSW5wdXRJY29uUG9zaXRpb25bXCJ0b3BcIl0gPSBcInRvcFwiO1xyXG4gICAgSW5wdXRJY29uUG9zaXRpb25bXCJsZWZ0XCJdID0gXCJsZWZ0XCI7XHJcbiAgICBJbnB1dEljb25Qb3NpdGlvbltcInJpZ2h0XCJdID0gXCJyaWdodFwiO1xyXG59KShJbnB1dEljb25Qb3NpdGlvbiB8fCAoSW5wdXRJY29uUG9zaXRpb24gPSB7fSkpO1xyXG5leHBvcnQgY29uc3QgaW5wdXRXcmFwcGVyU3R5bGVzID0gKHByb3BzKSA9PiBjc3MgYFxuICBmbGV4OiAxIDEgYXV0bztcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZGlzcGxheTogZmxleDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aWR0aDogJHtwcm9wcy53aWR0aCB8fCAnYXV0byd9O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAke3Byb3BzLmlzSW52ZXJzZVxyXG4gICAgPyB0cmFuc3BhcmVudGl6ZSgwLjgsIHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsOTAwKVxyXG4gICAgOiBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDEwMH07XG4gIGJvcmRlci1yYWRpdXM6ICR7cHJvcHMudGhlbWUuYm9yZGVyUmFkaXVzfTtcbiAgYm9yZGVyOiAxcHggc29saWRcbiAgICAke3Byb3BzLmlzSW52ZXJzZVxyXG4gICAgPyB0cmFuc3BhcmVudGl6ZSgwLjUsIHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsMTAwKVxyXG4gICAgOiBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDUwMH07XG4gIGhlaWdodDogJHtwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwOX07XG5cbiAgJjpmb2N1cy13aXRoaW4ge1xuICAgIG91dGxpbmU6IDJweCBzb2xpZFxuICAgICAgJHtwcm9wcy5pc0ludmVyc2VcclxuICAgID8gcHJvcHMudGhlbWUuY29sb3JzLmZvY3VzSW52ZXJzZVxyXG4gICAgOiBwcm9wcy50aGVtZS5jb2xvcnMuZm9jdXN9O1xuICAgIG91dGxpbmUtb2Zmc2V0OiAtMXB4O1xuICB9XG5cbiAgJHtwcm9wcy5oYXNFcnJvciAmJlxyXG4gICAgY3NzIGBcbiAgICBib3JkZXItY29sb3I6ICR7cHJvcHMuaXNJbnZlcnNlXHJcbiAgICAgICAgPyBwcm9wcy50aGVtZS5jb2xvcnMuZGFuZ2VyMzAwXHJcbiAgICAgICAgOiBwcm9wcy50aGVtZS5jb2xvcnMuZGFuZ2VyfTtcbiAgYH1cblxuICAke3Byb3BzLmRpc2FibGVkICYmXHJcbiAgICBjc3MgYFxuICAgIGJvcmRlci1jb2xvcjogJHtwcm9wcy5pc0ludmVyc2VcclxuICAgICAgICA/IHRyYW5zcGFyZW50aXplKDAuODUsIHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsMTAwKVxyXG4gICAgICAgIDogcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWwzMDB9O1xuICAgIGJhY2tncm91bmQtY29sb3I6ICR7cHJvcHMuaXNJbnZlcnNlXHJcbiAgICAgICAgPyB0cmFuc3BhcmVudGl6ZSgwLjksIHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsOTAwKVxyXG4gICAgICAgIDogcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWwyMDB9O1xuICBgfVxuXG4gICR7cHJvcHMuaW5wdXRTaXplID09PSAnbGFyZ2UnICYmXHJcbiAgICBjc3MgYFxuICAgIGhlaWdodDogJHtwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcxMX07XG4gIGB9XG5gO1xyXG5mdW5jdGlvbiBnZXRJbnB1dFBhZGRpbmcocHJvcHMpIHtcclxuICAgIGNvbnN0IHsgaW5wdXRTaXplLCBpc0NsZWFyYWJsZSwgaWNvblBvc2l0aW9uIH0gPSBwcm9wcztcclxuICAgIGNvbnN0IHBhZGRpbmcgPSB7XHJcbiAgICAgICAgbGVmdDogcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDMsXHJcbiAgICAgICAgcmlnaHQ6IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzAzLFxyXG4gICAgfTtcclxuICAgIGlmIChpbnB1dFNpemUgPT09ICdsYXJnZScpIHtcclxuICAgICAgICBpZiAoaXNDbGVhcmFibGUpIHtcclxuICAgICAgICAgICAgaWYgKGljb25Qb3NpdGlvbiA9PT0gJ3JpZ2h0Jykge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy5yaWdodCA9ICc5MnB4JztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBlbHNlIGlmIChpY29uUG9zaXRpb24gPT09ICdsZWZ0Jykge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy5sZWZ0ID0gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMTE7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLnJpZ2h0ID0gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMTE7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICAgICAgICAvLyBpY29uIHRvcCwgbm8gaWNvblxyXG4gICAgICAgICAgICAgICAgcGFkZGluZy5yaWdodCA9IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzExO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgICBpZiAoaWNvblBvc2l0aW9uID09PSAncmlnaHQnKSB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLnJpZ2h0ID0gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMTA7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgaWYgKGljb25Qb3NpdGlvbiA9PT0gJ2xlZnQnKSB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLmxlZnQgPSBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcxMDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIGVsc2UgaWYgKGlucHV0U2l6ZSA9PT0gJ21lZGl1bScpIHtcclxuICAgICAgICBpZiAoaXNDbGVhcmFibGUpIHtcclxuICAgICAgICAgICAgaWYgKGljb25Qb3NpdGlvbiA9PT0gJ3JpZ2h0Jykge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy5yaWdodCA9ICc2OHB4JztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBlbHNlIGlmIChpY29uUG9zaXRpb24gPT09ICdsZWZ0Jykge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy5sZWZ0ID0gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDk7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLnJpZ2h0ID0gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICAgICAgICAvLyBpY29uIHRvcCwgbm8gaWNvblxyXG4gICAgICAgICAgICAgICAgcGFkZGluZy5yaWdodCA9IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzA5O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgICBpZiAoaWNvblBvc2l0aW9uID09PSAncmlnaHQnKSB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLnJpZ2h0ID0gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgaWYgKGljb25Qb3NpdGlvbiA9PT0gJ2xlZnQnKSB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLmxlZnQgPSBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwOTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIHJldHVybiBwYWRkaW5nO1xyXG59XHJcbmV4cG9ydCBjb25zdCBpbnB1dEJhc2VTdHlsZXMgPSAocHJvcHMpID0+IGNzcyBgXG4gIGJvcmRlcjogMDtcbiAgYm9yZGVyLXJhZGl1czogJHtwcm9wcy50aGVtZS5ib3JkZXJSYWRpdXN9O1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgY29sb3I6ICR7cHJvcHMuaXNJbnZlcnNlXHJcbiAgICA/IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsMTAwXHJcbiAgICA6IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsNzAwfTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGZvbnQtc2l6ZTogJHtwcm9wcy50aGVtZS50eXBlU2NhbGUuc2l6ZTAzLmZvbnRTaXplfTtcbiAgbGluZS1oZWlnaHQ6ICR7cHJvcHMudGhlbWUudHlwZVNjYWxlLnNpemUwMy5saW5lSGVpZ2h0fTtcbiAgZm9udC1mYW1pbHk6ICR7cHJvcHMudGhlbWUuYm9keUZvbnR9O1xuICBoZWlnaHQ6IDEwMCU7XG4gIHBhZGRpbmc6ICR7cHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDN9O1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gIHdpZHRoOiAxMDAlO1xuXG4gICR7cHJvcHMuaW5wdXRTaXplID09PSAnbGFyZ2UnICYmXHJcbiAgICBjc3MgYFxuICAgIGZvbnQtc2l6ZTogJHtwcm9wcy50aGVtZS50eXBlU2NhbGUuc2l6ZTA0LmZvbnRTaXplfTtcbiAgICBsaW5lLWhlaWdodDogJHtwcm9wcy50aGVtZS50eXBlU2NhbGUuc2l6ZTA0LmxpbmVIZWlnaHR9O1xuICAgIHBhZGRpbmc6ICR7cHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDR9O1xuICBgfVxuXG4gIHBhZGRpbmctbGVmdDogJHtnZXRJbnB1dFBhZGRpbmcocHJvcHMpLmxlZnR9O1xuICBwYWRkaW5nLXJpZ2h0OiAke2dldElucHV0UGFkZGluZyhwcm9wcykucmlnaHR9O1xuXG4gICY6OnBsYWNlaG9sZGVyIHtcbiAgICBjb2xvcjogJHtwcm9wcy5pc0ludmVyc2VcclxuICAgID8gdHJhbnNwYXJlbnRpemUoMC4zLCBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDEwMClcclxuICAgIDogcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWw1MDB9O1xuICB9XG5cbiAgJjpmb2N1cyB7XG4gICAgb3V0bGluZTogMDtcbiAgfVxuXG4gICZbdHlwZT0nc2VhcmNoJ10ge1xuICAgICY6Oi13ZWJraXQtc2VhcmNoLWRlY29yYXRpb24sXG4gICAgJjo6LXdlYmtpdC1zZWFyY2gtY2FuY2VsLWJ1dHRvbixcbiAgICAmOjotd2Via2l0LXNlYXJjaC1yZXN1bHRzLWJ1dHRvbixcbiAgICAmOjotd2Via2l0LXNlYXJjaC1yZXN1bHRzLWRlY29yYXRpb24ge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gIH1cblxuICAke3Byb3BzLmRpc2FibGVkICYmXHJcbiAgICBjc3MgYFxuICAgIGNvbG9yOiAke3Byb3BzLmlzSW52ZXJzZVxyXG4gICAgICAgID8gdHJhbnNwYXJlbnRpemUoMC42LCBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDEwMClcclxuICAgICAgICA6IHRyYW5zcGFyZW50aXplKDAuNCwgcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWw1MDApfTtcbiAgICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xuXG4gICAgJjo6cGxhY2Vob2xkZXIge1xuICAgICAgY29sb3I6ICR7cHJvcHMuaXNJbnZlcnNlXHJcbiAgICAgICAgPyB0cmFuc3BhcmVudGl6ZSgwLjgsIHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsMTAwKVxyXG4gICAgICAgIDogcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWw1MDB9O1xuICAgICAgb3BhY2l0eTogJHtwcm9wcy5pc0ludmVyc2UgPyAwLjQgOiAwLjZ9O1xuICAgIH1cbiAgYH1cblxuICAmOi13ZWJraXQtYXV0b2ZpbGwsXG4gICY6LXdlYmtpdC1hdXRvZmlsbDpmb2N1cyxcbiAgJjotd2Via2l0LWF1dG9maWxsOmhvdmVyLFxuICAmOi13ZWJraXQtYXV0b2ZpbGw6YWN0aXZlIHtcbiAgICBib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XG4gICAgLXdlYmtpdC1iYWNrZ3JvdW5kLWNsaXA6IHRleHQ7XG4gICAgLXdlYmtpdC10ZXh0LWZpbGwtY29sb3I6ICR7cHJvcHMuaXNJbnZlcnNlXHJcbiAgICA/IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsMTAwXHJcbiAgICA6IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsNzAwfSAhaW1wb3J0YW50O1xuICAgIGNhcmV0LWNvbG9yOiAke3Byb3BzLmlzSW52ZXJzZVxyXG4gICAgPyBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDEwMFxyXG4gICAgOiBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDcwMH0gIWltcG9ydGFudDtcbiAgfVxuYDtcclxuY29uc3QgSW5wdXRDb250YWluZXIgPSBzdHlsZWQuZGl2IGBcbiAgZGlzcGxheTogZmxleDtcbmA7XHJcbmV4cG9ydCBjb25zdCBJbnB1dFdyYXBwZXIgPSBzdHlsZWQuZGl2IGBcbiAgJHtpbnB1dFdyYXBwZXJTdHlsZXN9XG5gO1xyXG5jb25zdCBTdHlsZWRJbnB1dCA9IHN0eWxlZC5pbnB1dCBgXG4gICR7aW5wdXRCYXNlU3R5bGVzfVxuYDtcclxuY29uc3QgSWNvbldyYXBwZXIgPSBzdHlsZWQuc3BhbiBgXG4gIGJvdHRvbTogJHtwcm9wcyA9PiAocHJvcHMuaWNvblBvc2l0aW9uID09PSAndG9wJyA/ICc0NXB4JyA6ICdpbmhlcml0Jyl9O1xuICBjb2xvcjogJHtwcm9wcyA9PiBwcm9wcy5pc0ludmVyc2VcclxuICAgID8gcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWwxMDBcclxuICAgIDogcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWw3MDB9O1xuICBsZWZ0OiAke3Byb3BzID0+IHByb3BzLmljb25Qb3NpdGlvbiA9PT0gJ2xlZnQnID8gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDMgOiAnYXV0byd9O1xuICByaWdodDogJHtwcm9wcyA9PiBwcm9wcy5pY29uUG9zaXRpb24gPT09ICdyaWdodCdcclxuICAgID8gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDNcclxuICAgIDogcHJvcHMuaWNvblBvc2l0aW9uID09PSAndG9wJ1xyXG4gICAgICAgID8gJzNweCdcclxuICAgICAgICA6ICdhdXRvJ307XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAke3Byb3BzID0+IHByb3BzLmljb25Qb3NpdGlvbiA9PT0gJ3RvcCdcclxuICAgID8gJ2luaGVyaXQnXHJcbiAgICA6IHByb3BzID0+IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzAzfTtcblxuICAke3Byb3BzID0+IHByb3BzLmlucHV0U2l6ZSA9PT0gJ2xhcmdlJyAmJlxyXG4gICAgY3NzIGBcbiAgICAgIGJvdHRvbTogJHtwcm9wcy5pY29uUG9zaXRpb24gPT09ICd0b3AnID8gJzYycHgnIDogJ2luaGVyaXQnfTtcbiAgICAgIGxlZnQ6ICR7cHJvcHMuaWNvblBvc2l0aW9uID09PSAnbGVmdCdcclxuICAgICAgICA/IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzA0XHJcbiAgICAgICAgOiAnYXV0byd9O1xuICAgICAgcmlnaHQ6ICR7cHJvcHMuaWNvblBvc2l0aW9uID09PSAncmlnaHQnXHJcbiAgICAgICAgPyBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwNFxyXG4gICAgICAgIDogcHJvcHMuaWNvblBvc2l0aW9uID09PSAndG9wJ1xyXG4gICAgICAgICAgICA/ICczcHgnXHJcbiAgICAgICAgICAgIDogJ2F1dG8nfTtcbiAgICAgIHRvcDogJHtwcm9wcy5pY29uUG9zaXRpb24gPT09ICd0b3AnXHJcbiAgICAgICAgPyAnaW5oZXJpdCdcclxuICAgICAgICA6IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzA0fTtcbiAgICBgfVxuYDtcclxuZnVuY3Rpb24gZ2V0SWNvbkJ1dHRvblNWR1NpemUocHJvcHMpIHtcclxuICAgIGNvbnN0IHsgaXNDbGlja2FibGUsIGljb25Qb3NpdGlvbiwgaW5wdXRTaXplLCB0aGVtZSB9ID0gcHJvcHM7XHJcbiAgICBpZiAoaXNDbGlja2FibGUgJiYgaWNvblBvc2l0aW9uID09PSBJbnB1dEljb25Qb3NpdGlvbi50b3ApIHtcclxuICAgICAgICBpZiAoaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2UpIHtcclxuICAgICAgICAgICAgcmV0dXJuIGAke3RoZW1lLmljb25TaXplcy5tZWRpdW19cHhgO1xyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gYCR7dGhlbWUuaWNvblNpemVzLnNtYWxsfXB4YDtcclxuICAgIH1cclxuICAgIGlmIChpbnB1dFNpemUgPT09IElucHV0U2l6ZS5sYXJnZSkge1xyXG4gICAgICAgIHJldHVybiBgJHt0aGVtZS5pY29uU2l6ZXMubGFyZ2V9cHhgO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIGAke3RoZW1lLmljb25TaXplcy5tZWRpdW19cHhgO1xyXG59XHJcbmZ1bmN0aW9uIGdldEhlbHBMaW5rU1ZHU2l6ZShwcm9wcykge1xyXG4gICAgY29uc3QgeyBpbnB1dFNpemUsIHRoZW1lIH0gPSBwcm9wcztcclxuICAgIGlmIChpbnB1dFNpemUgPT09IElucHV0U2l6ZS5sYXJnZSkge1xyXG4gICAgICAgIHJldHVybiBgJHt0aGVtZS5pY29uU2l6ZXMubWVkaXVtfXB4YDtcclxuICAgIH1cclxuICAgIHJldHVybiBgJHt0aGVtZS5pY29uU2l6ZXMuc21hbGx9cHhgO1xyXG59XHJcbmV4cG9ydCBmdW5jdGlvbiBnZXRIZWxwSWNvbkJ1dHRvblNpemUocHJvcHMpIHtcclxuICAgIGNvbnN0IHsgaW5wdXRTaXplLCB0aGVtZSB9ID0gcHJvcHM7XHJcbiAgICBpZiAoaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2UpIHtcclxuICAgICAgICByZXR1cm4gdGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDk7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gdGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDc7XHJcbn1cclxuZnVuY3Rpb24gZ2V0SWNvbkJ1dHRvblRyYW5zZm9ybShwcm9wcykge1xyXG4gICAgY29uc3QgeyBpc0NsaWNrYWJsZSwgaWNvblBvc2l0aW9uLCBpbnB1dFNpemUsIGhhc0NoaWxkcmVuLCB0aGVtZSB9ID0gcHJvcHM7XHJcbiAgICBjb25zdCBwb3NpdGlvbiA9IHsgeDogJycsIHk6ICcnIH07XHJcbiAgICBpZiAoaWNvblBvc2l0aW9uID09PSBJbnB1dEljb25Qb3NpdGlvbi50b3ApIHtcclxuICAgICAgICBpZiAoaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2UpIHtcclxuICAgICAgICAgICAgcG9zaXRpb24ueCA9ICctMzBweCc7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uLnkgPSAnMnB4JztcclxuICAgICAgICB9XHJcbiAgICAgICAgZWxzZSBpZiAoaW5wdXRTaXplID09PSBJbnB1dFNpemUubWVkaXVtKSB7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uLnggPSAnLTI4cHgnO1xyXG4gICAgICAgICAgICBwb3NpdGlvbi55ID0gJzVweCc7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiBwb3NpdGlvbjtcclxuICAgIH1cclxuICAgIGlmIChpc0NsaWNrYWJsZSkge1xyXG4gICAgICAgIGlmIChpbnB1dFNpemUgPT09IElucHV0U2l6ZS5sYXJnZSkge1xyXG4gICAgICAgICAgICBpZiAoaGFzQ2hpbGRyZW4pIHtcclxuICAgICAgICAgICAgICAgIHBvc2l0aW9uLnggPSAnLTQzcHgnO1xyXG4gICAgICAgICAgICAgICAgcG9zaXRpb24ueSA9ICcxNHB4JztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBlbHNlIHtcclxuICAgICAgICAgICAgICAgIHBvc2l0aW9uLnggPSAnLTQ5cHgnO1xyXG4gICAgICAgICAgICAgICAgcG9zaXRpb24ueSA9ICc4cHgnO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2UgaWYgKGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLm1lZGl1bSkge1xyXG4gICAgICAgICAgICBwb3NpdGlvbi54ID0gJy0zNXB4JztcclxuICAgICAgICAgICAgcG9zaXRpb24ueSA9ICc2cHgnO1xyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gcG9zaXRpb247XHJcbiAgICB9XHJcbiAgICBpZiAoaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2UpIHtcclxuICAgICAgICBwb3NpdGlvbi54ID0gYC0ke3RoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzEwfWA7XHJcbiAgICAgICAgcG9zaXRpb24ueSA9IHRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzAzO1xyXG4gICAgfVxyXG4gICAgZWxzZSBpZiAoaW5wdXRTaXplID09PSBJbnB1dFNpemUubWVkaXVtKSB7XHJcbiAgICAgICAgcG9zaXRpb24ueCA9ICctMjRweCc7XHJcbiAgICAgICAgcG9zaXRpb24ueSA9ICc3cHgnO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIHBvc2l0aW9uO1xyXG59XHJcbmV4cG9ydCBjb25zdCBJY29uQnV0dG9uQ29udGFpbmVyID0gc3R5bGVkLnNwYW4gYFxuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgYm90dG9tOiAke3Byb3BzID0+IChwcm9wcy5pY29uUG9zaXRpb24gPT09ICd0b3AnID8gJzQwcHgnIDogJ2luaGVyaXQnKX07XG4gIGhlaWdodDogYXV0bztcbiAgbWFyZ2luOiAwO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiAwO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZShcbiAgICAke3Byb3BzID0+IGdldEljb25CdXR0b25UcmFuc2Zvcm0ocHJvcHMpLnh9LFxuICAgICR7cHJvcHMgPT4gZ2V0SWNvbkJ1dHRvblRyYW5zZm9ybShwcm9wcykueX1cbiAgKTtcbiAgc3ZnIHtcbiAgICBoZWlnaHQ6ICR7cHJvcHMgPT4gZ2V0SWNvbkJ1dHRvblNWR1NpemUocHJvcHMpfTtcbiAgICB3aWR0aDogJHtwcm9wcyA9PiBnZXRJY29uQnV0dG9uU1ZHU2l6ZShwcm9wcyl9O1xuICB9XG5gO1xyXG5jb25zdCBQYXNzd29yZEJ1dHRvbkNvbnRhaW5lciA9IHN0eWxlZC5zcGFuIGBcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIHdpZHRoOiAwO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZShcbiAgICAke3Byb3BzID0+IHByb3BzLnNpemUgPT09IElucHV0U2l6ZS5sYXJnZVxyXG4gICAgPyBgJHstcHJvcHMuYnV0dG9uV2lkdGggLSA4fXB4YFxyXG4gICAgOiBgJHstcHJvcHMuYnV0dG9uV2lkdGggLSA2fXB4YH0sXG4gICAgJHtwcm9wcyA9PiBwcm9wcy5zaXplID09PSBJbnB1dFNpemUubGFyZ2UgPyBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwMyA6ICc2cHgnfVxuICApO1xuYDtcclxuZnVuY3Rpb24gZ2V0Q2xlYXJhYmxlUG9zaXRpb24ocHJvcHMpIHtcclxuICAgIGlmIChwcm9wcy5pY29uUG9zaXRpb24gPT09ICdyaWdodCcgJiYgcHJvcHMuaWNvbikge1xyXG4gICAgICAgIGlmIChwcm9wcy5pbnB1dFNpemUgPT09ICdsYXJnZScpIHtcclxuICAgICAgICAgICAgcmV0dXJuIHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzEzO1xyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gJzcycHgnO1xyXG4gICAgfVxyXG4gICAgaWYgKHByb3BzLmlucHV0U2l6ZSA9PT0gJ2xhcmdlJykge1xyXG4gICAgICAgIHJldHVybiBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcxMDtcclxuICAgIH1cclxuICAgIHJldHVybiAnMzRweCc7XHJcbn1cclxuY29uc3QgSXNDbGVhcmFibGVDb250YWluZXIgPSBzdHlsZWQuc3BhbiBgXG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBtYXJnaW46IDA7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgaGVpZ2h0OiBhdXRvO1xuICB3aWR0aDogMDtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoXG4gICAgLSR7cHJvcHMgPT4gZ2V0Q2xlYXJhYmxlUG9zaXRpb24ocHJvcHMpfSxcbiAgICAke3Byb3BzID0+IHByb3BzLmlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlXHJcbiAgICA/IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzAzXHJcbiAgICA6ICc2cHgnfVxuICApO1xuYDtcclxuZnVuY3Rpb24gZ2V0SWNvblNpemUoc2l6ZSwgdGhlbWUsIGljb25Qb3NpdGlvbikge1xyXG4gICAgc3dpdGNoIChzaXplKSB7XHJcbiAgICAgICAgY2FzZSAnbGFyZ2UnOlxyXG4gICAgICAgICAgICBpZiAoaWNvblBvc2l0aW9uID09PSBJbnB1dEljb25Qb3NpdGlvbi50b3ApIHtcclxuICAgICAgICAgICAgICAgIHJldHVybiB0aGVtZS5pY29uU2l6ZXMubWVkaXVtO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHJldHVybiB0aGVtZS5pY29uU2l6ZXMubGFyZ2U7XHJcbiAgICAgICAgZGVmYXVsdDpcclxuICAgICAgICAgICAgaWYgKGljb25Qb3NpdGlvbiA9PT0gSW5wdXRJY29uUG9zaXRpb24udG9wKSB7XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gdGhlbWUuaWNvblNpemVzLnNtYWxsO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHJldHVybiB0aGVtZS5pY29uU2l6ZXMubWVkaXVtO1xyXG4gICAgfVxyXG59XHJcbmV4cG9ydCBjb25zdCBpc0xlZnRPckhpZGRlbiA9ICh7IGxhYmVsUG9zaXRpb24sIGlzTGFiZWxWaXN1YWxseUhpZGRlbiwgfSkgPT4gbGFiZWxQb3NpdGlvbiA9PT0gTGFiZWxQb3NpdGlvbi5sZWZ0IHx8IGlzTGFiZWxWaXN1YWxseUhpZGRlbjtcclxuZXhwb3J0IGNvbnN0IEhlbHBMaW5rQ29udGFpbmVyID0gc3R5bGVkLnNwYW4gYFxuICBwb3NpdGlvbjogJHtwcm9wcyA9PiAoaXNMZWZ0T3JIaWRkZW4ocHJvcHMpID8gJ3JlbGF0aXZlJyA6ICdhYnNvbHV0ZScpfTtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cbiAgaGVpZ2h0OiAke3Byb3BzID0+IChpc0xlZnRPckhpZGRlbihwcm9wcykgPyAnYXV0bycgOiAnZml0LWNvbnRlbnQnKX07XG4gIG1hcmdpbi1pbmxpbmUtc3RhcnQ6ICR7cHJvcHMgPT4gaXNMZWZ0T3JIaWRkZW4ocHJvcHMpID8gYCR7cHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDN9YCA6ICdhdXRvJ307XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWShcbiAgICAke3Byb3BzID0+IGlzTGVmdE9ySGlkZGVuKHByb3BzKVxyXG4gICAgPyAnMCdcclxuICAgIDogYGNhbGMoLTEwMCUgLSAke3Byb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzAzfSlgfVxuICApO1xuICAke0NoaWxkcmVuV3JhcHBlcn0gPiBzdmcge1xuICAgIGhlaWdodDogJHtwcm9wcyA9PiBnZXRIZWxwTGlua1NWR1NpemUocHJvcHMpfTtcbiAgICB3aWR0aDogJHtwcm9wcyA9PiBnZXRIZWxwTGlua1NWR1NpemUocHJvcHMpfTtcbiAgfVxuICBidXR0b24ge1xuICAgIGhlaWdodDogJHtwcm9wcyA9PiBnZXRIZWxwSWNvbkJ1dHRvblNpemUocHJvcHMpfTtcbiAgICB3aWR0aDogJHtwcm9wcyA9PiBnZXRIZWxwSWNvbkJ1dHRvblNpemUocHJvcHMpfTtcbiAgfVxuICBpbnNldC1pbmxpbmUtZW5kOiAke3Byb3BzID0+IChpc0xlZnRPckhpZGRlbihwcm9wcykgPyAnYXV0bycgOiAnMCcpfTtcbmA7XHJcbmV4cG9ydCBjb25zdCBJbnB1dEJhc2UgPSBSZWFjdC5mb3J3YXJkUmVmKChwcm9wcywgZm9yd2FyZGVkUmVmKSA9PiB7XHJcbiAgICBjb25zdCB7IGNoaWxkcmVuLCBjb250YWluZXJTdHlsZSwgZGVmYXVsdFZhbHVlLCBkaXNhYmxlZCwgaGFzQ2hhcmFjdGVyQ291bnRlciwgaGFzRXJyb3IsIGljb24sIGljb25BcmlhTGFiZWwsIGljb25SZWYsIGlzQ2xlYXJhYmxlLCBpc1Bhc3N3b3JkSW5wdXQsIGlzUHJlZGljdGl2ZSwgbWF4Q291bnQsIG1heExlbmd0aCwgb25DbGVhciwgb25JY29uQ2xpY2ssIG9uSWNvbktleURvd24sIG9uRGF0ZUNoYW5nZSwgaW5wdXRMZW5ndGgsIGlucHV0U2l6ZSwgaW5wdXRTdHlsZSwgaW5wdXRXcmFwcGVyU3R5bGUsIHRlc3RJZCwgdHlwZSwgc2V0UmVmZXJlbmNlLCBpc0xhYmVsVmlzdWFsbHlIaWRkZW4sIGxhYmVsUG9zaXRpb24sIC4uLm90aGVyIH0gPSBwcm9wcztcclxuICAgIGNvbnN0IGkxOG4gPSBSZWFjdC51c2VDb250ZXh0KEkxOG5Db250ZXh0KTtcclxuICAgIGNvbnN0IHRoZW1lID0gUmVhY3QudXNlQ29udGV4dChUaGVtZUNvbnRleHQpO1xyXG4gICAgY29uc3QgaWNvblBvc2l0aW9uID0gaWNvbiAmJiBvbkljb25DbGlja1xyXG4gICAgICAgID8gSW5wdXRJY29uUG9zaXRpb24ucmlnaHRcclxuICAgICAgICA6IGljb24gJiYgIXByb3BzLmljb25Qb3NpdGlvblxyXG4gICAgICAgICAgICA/IElucHV0SWNvblBvc2l0aW9uLmxlZnRcclxuICAgICAgICAgICAgOiBwcm9wcy5pY29uUG9zaXRpb247XHJcbiAgICBjb25zdCBbdmFsdWUsIHNldFZhbHVlXSA9IFJlYWN0LnVzZVN0YXRlKHByb3BzLmRlZmF1bHRWYWx1ZSAhPT0gdW5kZWZpbmVkICYmIHByb3BzLmRlZmF1bHRWYWx1ZSAhPT0gbnVsbFxyXG4gICAgICAgID8gcHJvcHMuZGVmYXVsdFZhbHVlXHJcbiAgICAgICAgOiBwcm9wcy52YWx1ZSB8fCAnJyk7XHJcbiAgICBjb25zdCBtYXhMZW5ndGhOdW0gPSAhaGFzQ2hhcmFjdGVyQ291bnRlciAmJiBtYXhMZW5ndGggPyBtYXhMZW5ndGggOiB1bmRlZmluZWQ7XHJcbiAgICBSZWFjdC51c2VFZmZlY3QoKCkgPT4ge1xyXG4gICAgICAgIGlmIChwcm9wcy52YWx1ZSAhPT0gdW5kZWZpbmVkICYmIHByb3BzLnZhbHVlICE9PSBudWxsKSB7XHJcbiAgICAgICAgICAgIHNldFZhbHVlKHByb3BzLnZhbHVlKTtcclxuICAgICAgICB9XHJcbiAgICB9LCBbcHJvcHMudmFsdWVdKTtcclxuICAgIGNvbnN0IGlucHV0UmVmID0gUmVhY3QudXNlUmVmKCk7XHJcbiAgICBjb25zdCByZWYgPSB1c2VGb3JrZWRSZWYoZm9yd2FyZGVkUmVmLCBpbnB1dFJlZik7XHJcbiAgICBmdW5jdGlvbiBoYW5kbGVDbGVhcklucHV0KCkge1xyXG4gICAgICAgIG9uQ2xlYXIgJiYgdHlwZW9mIG9uQ2xlYXIgPT09ICdmdW5jdGlvbicgJiYgb25DbGVhcigpO1xyXG4gICAgICAgIHNldFZhbHVlKCcnKTtcclxuICAgICAgICBvbkRhdGVDaGFuZ2UgJiYgdHlwZW9mIG9uRGF0ZUNoYW5nZSA9PT0gJ2Z1bmN0aW9uJyAmJiBvbkRhdGVDaGFuZ2UobnVsbCk7XHJcbiAgICAgICAgaW5wdXRSZWYuY3VycmVudC5mb2N1cygpO1xyXG4gICAgfVxyXG4gICAgZnVuY3Rpb24gaGFuZGxlQ2hhbmdlKGV2ZW50KSB7XHJcbiAgICAgICAgcHJvcHMub25DaGFuZ2UgJiZcclxuICAgICAgICAgICAgdHlwZW9mIHByb3BzLm9uQ2hhbmdlID09PSAnZnVuY3Rpb24nICYmXHJcbiAgICAgICAgICAgIHByb3BzLm9uQ2hhbmdlKGV2ZW50KTtcclxuICAgICAgICBzZXRWYWx1ZShldmVudC50YXJnZXQudmFsdWUpO1xyXG4gICAgICAgIGlmICghZXZlbnQudGFyZ2V0LnZhbHVlICYmXHJcbiAgICAgICAgICAgIG9uRGF0ZUNoYW5nZSAmJlxyXG4gICAgICAgICAgICB0eXBlb2Ygb25EYXRlQ2hhbmdlID09PSAnZnVuY3Rpb24nKVxyXG4gICAgICAgICAgICBvbkRhdGVDaGFuZ2UobnVsbCk7XHJcbiAgICB9XHJcbiAgICBjb25zdCBwYXNzd29yZEJ0bldpZHRoID0gKCkgPT4ge1xyXG4gICAgICAgIGNvbnN0IGJ0bldpZHRoID0gY2hpbGRyZW4/LnByb3BzPy5jaGlsZHJlbj8uWzBdPy5yZWY/LmN1cnJlbnQ/Lm9mZnNldFdpZHRoO1xyXG4gICAgICAgIGlmICh0eXBlb2YgYnRuV2lkdGggPT09ICdudW1iZXInKSB7XHJcbiAgICAgICAgICAgIHJldHVybiBidG5XaWR0aDtcclxuICAgICAgICB9XHJcbiAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICAgIC8vIFdoZW4gUGFzc3dvcmRCdXR0b24gaXMgdXNlZCBpbnNpZGUgU2NoZW1hUmVuZGVyZXIsIGl0IGRvZXNuJ3QgaGF2ZSBjaGlsZHJlbi5cclxuICAgICAgICAgICAgLy8gV2UnbGwgdXNlIHRoZSBkZWZhdWx0IGJ1dHRvbiBzaXplcy5cclxuICAgICAgICAgICAgaWYgKHByb3BzLmlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gNjQ7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgcmV0dXJuIDU0O1xyXG4gICAgICAgIH1cclxuICAgIH07XHJcbiAgICByZXR1cm4gKFJlYWN0LmNyZWF0ZUVsZW1lbnQoXCJkaXZcIiwgeyByZWY6IHNldFJlZmVyZW5jZSB9LFxyXG4gICAgICAgIFJlYWN0LmNyZWF0ZUVsZW1lbnQoSW5wdXRDb250YWluZXIsIHsgc3R5bGU6IGlucHV0V3JhcHBlclN0eWxlLCBcImRhdGEtdGVzdGlkXCI6IGAke3Rlc3RJZH0td3JhcHBlcmAgfSxcclxuICAgICAgICAgICAgUmVhY3QuY3JlYXRlRWxlbWVudChJbnB1dFdyYXBwZXIsIHsgZGlzYWJsZWQ6IGRpc2FibGVkLCBpY29uUG9zaXRpb246IGljb25Qb3NpdGlvbiwgaXNJbnZlcnNlOiBwcm9wcy5pc0ludmVyc2UsIGlucHV0U2l6ZTogaW5wdXRTaXplID8/IElucHV0U2l6ZS5tZWRpdW0sIHRoZW1lOiB0aGVtZSwgc3R5bGU6IGNvbnRhaW5lclN0eWxlLCBoYXNFcnJvcjogaGFzRXJyb3IsIGlzQ2xlYXJhYmxlOiBpc0NsZWFyYWJsZSwgd2lkdGg6IHByb3BzLndpZHRoIH0sXHJcbiAgICAgICAgICAgICAgICBSZWFjdC5jcmVhdGVFbGVtZW50KFN0eWxlZElucHV0LCBPYmplY3QuYXNzaWduKHt9LCBvdGhlciwgeyBcImFyaWEtaW52YWxpZFwiOiBoYXNFcnJvciwgZGlzYWJsZWQ6IGRpc2FibGVkLCBcImRhdGEtdGVzdGlkXCI6IHRlc3RJZCwgaGFzQ2hhcmFjdGVyQ291bnRlcjogaGFzQ2hhcmFjdGVyQ291bnRlciwgaWNvblBvc2l0aW9uOiBpY29uUG9zaXRpb24sIGlucHV0U2l6ZTogaW5wdXRTaXplID8/IElucHV0U2l6ZS5tZWRpdW0sIGlzQ2xlYXJhYmxlOiB0eXBlID09PSBJbnB1dFR5cGUuc2VhcmNoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgID8gaXNDbGVhcmFibGVcclxuICAgICAgICAgICAgICAgICAgICAgICAgOiBpbnB1dFdyYXBwZXJTdHlsZT8ud2lkdGhcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgID8gaXNDbGVhcmFibGVcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogaXNDbGVhcmFibGUgJiYgaW5wdXRMZW5ndGggPiAwLCBpc0ludmVyc2U6IHVzZUlzSW52ZXJzZShwcm9wcy5pc0ludmVyc2UpLCBpc1ByZWRpY3RpdmU6IGlzUHJlZGljdGl2ZSwgaGFzRXJyb3I6IGhhc0Vycm9yLCByZWY6IHJlZiwgbWF4TGVuZ3RoOiBtYXhMZW5ndGhOdW0sIG9uQ2hhbmdlOiBoYW5kbGVDaGFuZ2UsIHN0eWxlOiBpbnB1dFN0eWxlLCB0aGVtZTogdGhlbWUsIHR5cGU6IHR5cGUgPyB0eXBlIDogSW5wdXRUeXBlLnRleHQsIHZhbHVlOiB2YWx1ZSB9KSksXHJcbiAgICAgICAgICAgICAgICBpY29uICYmICFvbkljb25DbGljayAmJiAoUmVhY3QuY3JlYXRlRWxlbWVudChJY29uV3JhcHBlciwgeyBcImFyaWEtbGFiZWxcIjogaWNvbkFyaWFMYWJlbCwgaWNvblBvc2l0aW9uOiBpY29uUG9zaXRpb24sIGlucHV0U2l6ZTogaW5wdXRTaXplID8/IElucHV0U2l6ZS5tZWRpdW0sIGlzSW52ZXJzZTogcHJvcHMuaXNJbnZlcnNlLCBpc1ByZWRpY3RpdmU6IGlzUHJlZGljdGl2ZSwgdGhlbWU6IHRoZW1lLCBkaXNhYmxlZDogZGlzYWJsZWQgfSwgUmVhY3QuQ2hpbGRyZW4ub25seShSZWFjdC5jbG9uZUVsZW1lbnQoaWNvbiwge1xyXG4gICAgICAgICAgICAgICAgICAgIHNpemU6IGdldEljb25TaXplKGlucHV0U2l6ZSA/PyBJbnB1dFNpemUubWVkaXVtLCB0aGVtZSwgaWNvblBvc2l0aW9uKSxcclxuICAgICAgICAgICAgICAgIH0pKSkpKSxcclxuICAgICAgICAgICAgaXNDbGVhcmFibGUgJiYgdmFsdWUgIT09ICcnICYmIChSZWFjdC5jcmVhdGVFbGVtZW50KElzQ2xlYXJhYmxlQ29udGFpbmVyLCB7IHRoZW1lOiB0aGVtZSwgaWNvblBvc2l0aW9uOiBpY29uUG9zaXRpb24sIGlucHV0U2l6ZTogaW5wdXRTaXplLCBpY29uOiBpY29uIH0sXHJcbiAgICAgICAgICAgICAgICBSZWFjdC5jcmVhdGVFbGVtZW50KEljb25CdXR0b24sIHsgXCJhcmlhLWxhYmVsXCI6IGkxOG4uaW5wdXQuaXNDbGVhcmFibGVBcmlhTGFiZWwsIGRpc2FibGVkOiBkaXNhYmxlZCwgaWNvbjogUmVhY3QuY3JlYXRlRWxlbWVudChDbGVhckljb24sIG51bGwpLCBpc0ludmVyc2U6IHByb3BzLmlzSW52ZXJzZSwgb25DbGljazogaGFuZGxlQ2xlYXJJbnB1dCwgb25LZXlEb3duOiBvbkljb25LZXlEb3duLCByZWY6IGljb25SZWYsIHNoYXBlOiBCdXR0b25TaGFwZS5maWxsLCBzaXplOiBpbnB1dFNpemUgPT09IElucHV0U2l6ZS5sYXJnZVxyXG4gICAgICAgICAgICAgICAgICAgICAgICA/IEJ1dHRvblNpemUubWVkaXVtXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDogQnV0dG9uU2l6ZS5zbWFsbCwgdGVzdElkOiBcImNsZWFyLWJ1dHRvblwiLCB0eXBlOiBCdXR0b25UeXBlLmJ1dHRvbiwgdmFyaWFudDogQnV0dG9uVmFyaWFudC5saW5rIH0pKSksXHJcbiAgICAgICAgICAgIG9uSWNvbkNsaWNrICYmIChSZWFjdC5jcmVhdGVFbGVtZW50KEljb25CdXR0b25Db250YWluZXIsIHsgaWNvblBvc2l0aW9uOiBpY29uUG9zaXRpb24sIGlucHV0U2l6ZTogaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2VcclxuICAgICAgICAgICAgICAgICAgICA/IElucHV0U2l6ZS5sYXJnZVxyXG4gICAgICAgICAgICAgICAgICAgIDogSW5wdXRTaXplLm1lZGl1bSwgdGhlbWU6IHRoZW1lLCBpc0NsaWNrYWJsZTogdHJ1ZSB9LFxyXG4gICAgICAgICAgICAgICAgUmVhY3QuY3JlYXRlRWxlbWVudChJY29uQnV0dG9uLCB7IFwiYXJpYS1sYWJlbFwiOiBpY29uQXJpYUxhYmVsLCBpY29uOiBpY29uLCBpc0ludmVyc2U6IHByb3BzLmlzSW52ZXJzZSwgb25DbGljazogb25JY29uQ2xpY2ssIG9uS2V5RG93bjogb25JY29uS2V5RG93biwgcmVmOiBpY29uUmVmLCBkaXNhYmxlZDogZGlzYWJsZWQsIHNoYXBlOiBCdXR0b25TaGFwZS5maWxsLCBzaXplOiBpbnB1dFNpemUgPT09IElucHV0U2l6ZS5sYXJnZVxyXG4gICAgICAgICAgICAgICAgICAgICAgICA/IEJ1dHRvblNpemUubWVkaXVtXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDogQnV0dG9uU2l6ZS5zbWFsbCwgdHlwZTogQnV0dG9uVHlwZS5idXR0b24sIHZhcmlhbnQ6IEJ1dHRvblZhcmlhbnQubGluayB9KSkpLFxyXG4gICAgICAgICAgICBpc1Bhc3N3b3JkSW5wdXQgPyAoUmVhY3QuY3JlYXRlRWxlbWVudChQYXNzd29yZEJ1dHRvbkNvbnRhaW5lciwgeyBzaXplOiBpbnB1dFNpemUgPT09IElucHV0U2l6ZS5sYXJnZVxyXG4gICAgICAgICAgICAgICAgICAgID8gSW5wdXRTaXplLmxhcmdlXHJcbiAgICAgICAgICAgICAgICAgICAgOiBJbnB1dFNpemUubWVkaXVtLCB0aGVtZTogdGhlbWUsIGJ1dHRvbldpZHRoOiBwYXNzd29yZEJ0bldpZHRoKCkgfSwgY2hpbGRyZW4pKSA6IChSZWFjdC5jcmVhdGVFbGVtZW50KEhlbHBMaW5rQ29udGFpbmVyLCB7IGlzTGFiZWxWaXN1YWxseUhpZGRlbjogaXNMYWJlbFZpc3VhbGx5SGlkZGVuIHx8IGZhbHNlLCBpbnB1dFNpemU6IGlucHV0U2l6ZSA/PyBJbnB1dFNpemUubWVkaXVtLCBsYWJlbFBvc2l0aW9uOiBsYWJlbFBvc2l0aW9uID8/IExhYmVsUG9zaXRpb24udG9wLCB0aGVtZTogdGhlbWUgfSwgY2hpbGRyZW4pKSkpKTtcclxufSk7XHJcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWluZGV4LmpzLm1hcCJdfQ== */")), " padding-left:", getInputPadding(props).left, ";padding-right:", getInputPadding(props).right, ";&::placeholder{color:", props.isInverse ? curriedTransparentize(0.3, props.theme.colors.neutral100) : props.theme.colors.neutral500, ";}&:focus{outline:0;}&[type='search']{&::-webkit-search-decoration,&::-webkit-search-cancel-button,&::-webkit-search-results-button,&::-webkit-search-results-decoration{display:none;}}", props.disabled && /*#__PURE__*/css("color:", props.isInverse ? curriedTransparentize(0.6, props.theme.colors.neutral100) : curriedTransparentize(0.4, props.theme.colors.neutral500), ";cursor:not-allowed;&::placeholder{color:", props.isInverse ? curriedTransparentize(0.8, props.theme.colors.neutral100) : props.theme.colors.neutral500, ";opacity:", props.isInverse ? 0.4 : 0.6, ";};label:inputBaseStyles;" + (process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImluZGV4LnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFxTFEiLCJmaWxlIjoiaW5kZXgudHN4Iiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgUmVhY3QgZnJvbSAncmVhY3QnO1xyXG5pbXBvcnQgeyBjc3MgfSBmcm9tICdAZW1vdGlvbi9yZWFjdCc7XHJcbmltcG9ydCBzdHlsZWQgZnJvbSAnQGVtb3Rpb24vc3R5bGVkJztcclxuaW1wb3J0IHsgdHJhbnNwYXJlbnRpemUgfSBmcm9tICdwb2xpc2hlZCc7XHJcbmltcG9ydCB7IENsZWFySWNvbiB9IGZyb20gJ3JlYWN0LW1hZ21hLWljb25zJztcclxuaW1wb3J0IHsgSTE4bkNvbnRleHQgfSBmcm9tICcuLi8uLi9pMThuJztcclxuaW1wb3J0IHsgdXNlSXNJbnZlcnNlIH0gZnJvbSAnLi4vLi4vaW52ZXJzZSc7XHJcbmltcG9ydCB7IFRoZW1lQ29udGV4dCB9IGZyb20gJy4uLy4uL3RoZW1lL1RoZW1lQ29udGV4dCc7XHJcbmltcG9ydCB7IHVzZUZvcmtlZFJlZiB9IGZyb20gJy4uLy4uL3V0aWxzJztcclxuaW1wb3J0IHsgQnV0dG9uU2hhcGUsIEJ1dHRvblNpemUsIEJ1dHRvblR5cGUsIEJ1dHRvblZhcmlhbnQgfSBmcm9tICcuLi9CdXR0b24nO1xyXG5pbXBvcnQgeyBJY29uQnV0dG9uIH0gZnJvbSAnLi4vSWNvbkJ1dHRvbic7XHJcbmltcG9ydCB7IExhYmVsUG9zaXRpb24gfSBmcm9tICcuLi9MYWJlbCc7XHJcbmltcG9ydCB7IENoaWxkcmVuV3JhcHBlciB9IGZyb20gJy4uL1N0eWxlZEJ1dHRvbic7XHJcbmV4cG9ydCB2YXIgSW5wdXRTaXplO1xyXG4oZnVuY3Rpb24gKElucHV0U2l6ZSkge1xyXG4gICAgSW5wdXRTaXplW1wibGFyZ2VcIl0gPSBcImxhcmdlXCI7XHJcbiAgICBJbnB1dFNpemVbXCJtZWRpdW1cIl0gPSBcIm1lZGl1bVwiO1xyXG59KShJbnB1dFNpemUgfHwgKElucHV0U2l6ZSA9IHt9KSk7XHJcbmV4cG9ydCB2YXIgSW5wdXRUeXBlO1xyXG4oZnVuY3Rpb24gKElucHV0VHlwZSkge1xyXG4gICAgSW5wdXRUeXBlW1wiZW1haWxcIl0gPSBcImVtYWlsXCI7XHJcbiAgICBJbnB1dFR5cGVbXCJmaWxlXCJdID0gXCJmaWxlXCI7XHJcbiAgICBJbnB1dFR5cGVbXCJudW1iZXJcIl0gPSBcIm51bWJlclwiO1xyXG4gICAgSW5wdXRUeXBlW1wicGFzc3dvcmRcIl0gPSBcInBhc3N3b3JkXCI7XHJcbiAgICBJbnB1dFR5cGVbXCJzZWFyY2hcIl0gPSBcInNlYXJjaFwiO1xyXG4gICAgSW5wdXRUeXBlW1widGV4dFwiXSA9IFwidGV4dFwiO1xyXG4gICAgSW5wdXRUeXBlW1widXJsXCJdID0gXCJ1cmxcIjtcclxuICAgIElucHV0VHlwZVtcInRlbFwiXSA9IFwidGVsXCI7XHJcbn0pKElucHV0VHlwZSB8fCAoSW5wdXRUeXBlID0ge30pKTtcclxuZXhwb3J0IHZhciBJbnB1dEljb25Qb3NpdGlvbjtcclxuKGZ1bmN0aW9uIChJbnB1dEljb25Qb3NpdGlvbikge1xyXG4gICAgSW5wdXRJY29uUG9zaXRpb25bXCJ0b3BcIl0gPSBcInRvcFwiO1xyXG4gICAgSW5wdXRJY29uUG9zaXRpb25bXCJsZWZ0XCJdID0gXCJsZWZ0XCI7XHJcbiAgICBJbnB1dEljb25Qb3NpdGlvbltcInJpZ2h0XCJdID0gXCJyaWdodFwiO1xyXG59KShJbnB1dEljb25Qb3NpdGlvbiB8fCAoSW5wdXRJY29uUG9zaXRpb24gPSB7fSkpO1xyXG5leHBvcnQgY29uc3QgaW5wdXRXcmFwcGVyU3R5bGVzID0gKHByb3BzKSA9PiBjc3MgYFxuICBmbGV4OiAxIDEgYXV0bztcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZGlzcGxheTogZmxleDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aWR0aDogJHtwcm9wcy53aWR0aCB8fCAnYXV0byd9O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAke3Byb3BzLmlzSW52ZXJzZVxyXG4gICAgPyB0cmFuc3BhcmVudGl6ZSgwLjgsIHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsOTAwKVxyXG4gICAgOiBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDEwMH07XG4gIGJvcmRlci1yYWRpdXM6ICR7cHJvcHMudGhlbWUuYm9yZGVyUmFkaXVzfTtcbiAgYm9yZGVyOiAxcHggc29saWRcbiAgICAke3Byb3BzLmlzSW52ZXJzZVxyXG4gICAgPyB0cmFuc3BhcmVudGl6ZSgwLjUsIHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsMTAwKVxyXG4gICAgOiBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDUwMH07XG4gIGhlaWdodDogJHtwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwOX07XG5cbiAgJjpmb2N1cy13aXRoaW4ge1xuICAgIG91dGxpbmU6IDJweCBzb2xpZFxuICAgICAgJHtwcm9wcy5pc0ludmVyc2VcclxuICAgID8gcHJvcHMudGhlbWUuY29sb3JzLmZvY3VzSW52ZXJzZVxyXG4gICAgOiBwcm9wcy50aGVtZS5jb2xvcnMuZm9jdXN9O1xuICAgIG91dGxpbmUtb2Zmc2V0OiAtMXB4O1xuICB9XG5cbiAgJHtwcm9wcy5oYXNFcnJvciAmJlxyXG4gICAgY3NzIGBcbiAgICBib3JkZXItY29sb3I6ICR7cHJvcHMuaXNJbnZlcnNlXHJcbiAgICAgICAgPyBwcm9wcy50aGVtZS5jb2xvcnMuZGFuZ2VyMzAwXHJcbiAgICAgICAgOiBwcm9wcy50aGVtZS5jb2xvcnMuZGFuZ2VyfTtcbiAgYH1cblxuICAke3Byb3BzLmRpc2FibGVkICYmXHJcbiAgICBjc3MgYFxuICAgIGJvcmRlci1jb2xvcjogJHtwcm9wcy5pc0ludmVyc2VcclxuICAgICAgICA/IHRyYW5zcGFyZW50aXplKDAuODUsIHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsMTAwKVxyXG4gICAgICAgIDogcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWwzMDB9O1xuICAgIGJhY2tncm91bmQtY29sb3I6ICR7cHJvcHMuaXNJbnZlcnNlXHJcbiAgICAgICAgPyB0cmFuc3BhcmVudGl6ZSgwLjksIHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsOTAwKVxyXG4gICAgICAgIDogcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWwyMDB9O1xuICBgfVxuXG4gICR7cHJvcHMuaW5wdXRTaXplID09PSAnbGFyZ2UnICYmXHJcbiAgICBjc3MgYFxuICAgIGhlaWdodDogJHtwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcxMX07XG4gIGB9XG5gO1xyXG5mdW5jdGlvbiBnZXRJbnB1dFBhZGRpbmcocHJvcHMpIHtcclxuICAgIGNvbnN0IHsgaW5wdXRTaXplLCBpc0NsZWFyYWJsZSwgaWNvblBvc2l0aW9uIH0gPSBwcm9wcztcclxuICAgIGNvbnN0IHBhZGRpbmcgPSB7XHJcbiAgICAgICAgbGVmdDogcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDMsXHJcbiAgICAgICAgcmlnaHQ6IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzAzLFxyXG4gICAgfTtcclxuICAgIGlmIChpbnB1dFNpemUgPT09ICdsYXJnZScpIHtcclxuICAgICAgICBpZiAoaXNDbGVhcmFibGUpIHtcclxuICAgICAgICAgICAgaWYgKGljb25Qb3NpdGlvbiA9PT0gJ3JpZ2h0Jykge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy5yaWdodCA9ICc5MnB4JztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBlbHNlIGlmIChpY29uUG9zaXRpb24gPT09ICdsZWZ0Jykge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy5sZWZ0ID0gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMTE7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLnJpZ2h0ID0gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMTE7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICAgICAgICAvLyBpY29uIHRvcCwgbm8gaWNvblxyXG4gICAgICAgICAgICAgICAgcGFkZGluZy5yaWdodCA9IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzExO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgICBpZiAoaWNvblBvc2l0aW9uID09PSAncmlnaHQnKSB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLnJpZ2h0ID0gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMTA7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgaWYgKGljb25Qb3NpdGlvbiA9PT0gJ2xlZnQnKSB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLmxlZnQgPSBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcxMDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIGVsc2UgaWYgKGlucHV0U2l6ZSA9PT0gJ21lZGl1bScpIHtcclxuICAgICAgICBpZiAoaXNDbGVhcmFibGUpIHtcclxuICAgICAgICAgICAgaWYgKGljb25Qb3NpdGlvbiA9PT0gJ3JpZ2h0Jykge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy5yaWdodCA9ICc2OHB4JztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBlbHNlIGlmIChpY29uUG9zaXRpb24gPT09ICdsZWZ0Jykge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy5sZWZ0ID0gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDk7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLnJpZ2h0ID0gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICAgICAgICAvLyBpY29uIHRvcCwgbm8gaWNvblxyXG4gICAgICAgICAgICAgICAgcGFkZGluZy5yaWdodCA9IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzA5O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgICBpZiAoaWNvblBvc2l0aW9uID09PSAncmlnaHQnKSB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLnJpZ2h0ID0gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgaWYgKGljb25Qb3NpdGlvbiA9PT0gJ2xlZnQnKSB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLmxlZnQgPSBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwOTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIHJldHVybiBwYWRkaW5nO1xyXG59XHJcbmV4cG9ydCBjb25zdCBpbnB1dEJhc2VTdHlsZXMgPSAocHJvcHMpID0+IGNzcyBgXG4gIGJvcmRlcjogMDtcbiAgYm9yZGVyLXJhZGl1czogJHtwcm9wcy50aGVtZS5ib3JkZXJSYWRpdXN9O1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgY29sb3I6ICR7cHJvcHMuaXNJbnZlcnNlXHJcbiAgICA/IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsMTAwXHJcbiAgICA6IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsNzAwfTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGZvbnQtc2l6ZTogJHtwcm9wcy50aGVtZS50eXBlU2NhbGUuc2l6ZTAzLmZvbnRTaXplfTtcbiAgbGluZS1oZWlnaHQ6ICR7cHJvcHMudGhlbWUudHlwZVNjYWxlLnNpemUwMy5saW5lSGVpZ2h0fTtcbiAgZm9udC1mYW1pbHk6ICR7cHJvcHMudGhlbWUuYm9keUZvbnR9O1xuICBoZWlnaHQ6IDEwMCU7XG4gIHBhZGRpbmc6ICR7cHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDN9O1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gIHdpZHRoOiAxMDAlO1xuXG4gICR7cHJvcHMuaW5wdXRTaXplID09PSAnbGFyZ2UnICYmXHJcbiAgICBjc3MgYFxuICAgIGZvbnQtc2l6ZTogJHtwcm9wcy50aGVtZS50eXBlU2NhbGUuc2l6ZTA0LmZvbnRTaXplfTtcbiAgICBsaW5lLWhlaWdodDogJHtwcm9wcy50aGVtZS50eXBlU2NhbGUuc2l6ZTA0LmxpbmVIZWlnaHR9O1xuICAgIHBhZGRpbmc6ICR7cHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDR9O1xuICBgfVxuXG4gIHBhZGRpbmctbGVmdDogJHtnZXRJbnB1dFBhZGRpbmcocHJvcHMpLmxlZnR9O1xuICBwYWRkaW5nLXJpZ2h0OiAke2dldElucHV0UGFkZGluZyhwcm9wcykucmlnaHR9O1xuXG4gICY6OnBsYWNlaG9sZGVyIHtcbiAgICBjb2xvcjogJHtwcm9wcy5pc0ludmVyc2VcclxuICAgID8gdHJhbnNwYXJlbnRpemUoMC4zLCBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDEwMClcclxuICAgIDogcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWw1MDB9O1xuICB9XG5cbiAgJjpmb2N1cyB7XG4gICAgb3V0bGluZTogMDtcbiAgfVxuXG4gICZbdHlwZT0nc2VhcmNoJ10ge1xuICAgICY6Oi13ZWJraXQtc2VhcmNoLWRlY29yYXRpb24sXG4gICAgJjo6LXdlYmtpdC1zZWFyY2gtY2FuY2VsLWJ1dHRvbixcbiAgICAmOjotd2Via2l0LXNlYXJjaC1yZXN1bHRzLWJ1dHRvbixcbiAgICAmOjotd2Via2l0LXNlYXJjaC1yZXN1bHRzLWRlY29yYXRpb24ge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gIH1cblxuICAke3Byb3BzLmRpc2FibGVkICYmXHJcbiAgICBjc3MgYFxuICAgIGNvbG9yOiAke3Byb3BzLmlzSW52ZXJzZVxyXG4gICAgICAgID8gdHJhbnNwYXJlbnRpemUoMC42LCBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDEwMClcclxuICAgICAgICA6IHRyYW5zcGFyZW50aXplKDAuNCwgcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWw1MDApfTtcbiAgICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xuXG4gICAgJjo6cGxhY2Vob2xkZXIge1xuICAgICAgY29sb3I6ICR7cHJvcHMuaXNJbnZlcnNlXHJcbiAgICAgICAgPyB0cmFuc3BhcmVudGl6ZSgwLjgsIHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsMTAwKVxyXG4gICAgICAgIDogcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWw1MDB9O1xuICAgICAgb3BhY2l0eTogJHtwcm9wcy5pc0ludmVyc2UgPyAwLjQgOiAwLjZ9O1xuICAgIH1cbiAgYH1cblxuICAmOi13ZWJraXQtYXV0b2ZpbGwsXG4gICY6LXdlYmtpdC1hdXRvZmlsbDpmb2N1cyxcbiAgJjotd2Via2l0LWF1dG9maWxsOmhvdmVyLFxuICAmOi13ZWJraXQtYXV0b2ZpbGw6YWN0aXZlIHtcbiAgICBib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XG4gICAgLXdlYmtpdC1iYWNrZ3JvdW5kLWNsaXA6IHRleHQ7XG4gICAgLXdlYmtpdC10ZXh0LWZpbGwtY29sb3I6ICR7cHJvcHMuaXNJbnZlcnNlXHJcbiAgICA/IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsMTAwXHJcbiAgICA6IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsNzAwfSAhaW1wb3J0YW50O1xuICAgIGNhcmV0LWNvbG9yOiAke3Byb3BzLmlzSW52ZXJzZVxyXG4gICAgPyBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDEwMFxyXG4gICAgOiBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDcwMH0gIWltcG9ydGFudDtcbiAgfVxuYDtcclxuY29uc3QgSW5wdXRDb250YWluZXIgPSBzdHlsZWQuZGl2IGBcbiAgZGlzcGxheTogZmxleDtcbmA7XHJcbmV4cG9ydCBjb25zdCBJbnB1dFdyYXBwZXIgPSBzdHlsZWQuZGl2IGBcbiAgJHtpbnB1dFdyYXBwZXJTdHlsZXN9XG5gO1xyXG5jb25zdCBTdHlsZWRJbnB1dCA9IHN0eWxlZC5pbnB1dCBgXG4gICR7aW5wdXRCYXNlU3R5bGVzfVxuYDtcclxuY29uc3QgSWNvbldyYXBwZXIgPSBzdHlsZWQuc3BhbiBgXG4gIGJvdHRvbTogJHtwcm9wcyA9PiAocHJvcHMuaWNvblBvc2l0aW9uID09PSAndG9wJyA/ICc0NXB4JyA6ICdpbmhlcml0Jyl9O1xuICBjb2xvcjogJHtwcm9wcyA9PiBwcm9wcy5pc0ludmVyc2VcclxuICAgID8gcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWwxMDBcclxuICAgIDogcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWw3MDB9O1xuICBsZWZ0OiAke3Byb3BzID0+IHByb3BzLmljb25Qb3NpdGlvbiA9PT0gJ2xlZnQnID8gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDMgOiAnYXV0byd9O1xuICByaWdodDogJHtwcm9wcyA9PiBwcm9wcy5pY29uUG9zaXRpb24gPT09ICdyaWdodCdcclxuICAgID8gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDNcclxuICAgIDogcHJvcHMuaWNvblBvc2l0aW9uID09PSAndG9wJ1xyXG4gICAgICAgID8gJzNweCdcclxuICAgICAgICA6ICdhdXRvJ307XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAke3Byb3BzID0+IHByb3BzLmljb25Qb3NpdGlvbiA9PT0gJ3RvcCdcclxuICAgID8gJ2luaGVyaXQnXHJcbiAgICA6IHByb3BzID0+IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzAzfTtcblxuICAke3Byb3BzID0+IHByb3BzLmlucHV0U2l6ZSA9PT0gJ2xhcmdlJyAmJlxyXG4gICAgY3NzIGBcbiAgICAgIGJvdHRvbTogJHtwcm9wcy5pY29uUG9zaXRpb24gPT09ICd0b3AnID8gJzYycHgnIDogJ2luaGVyaXQnfTtcbiAgICAgIGxlZnQ6ICR7cHJvcHMuaWNvblBvc2l0aW9uID09PSAnbGVmdCdcclxuICAgICAgICA/IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzA0XHJcbiAgICAgICAgOiAnYXV0byd9O1xuICAgICAgcmlnaHQ6ICR7cHJvcHMuaWNvblBvc2l0aW9uID09PSAncmlnaHQnXHJcbiAgICAgICAgPyBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwNFxyXG4gICAgICAgIDogcHJvcHMuaWNvblBvc2l0aW9uID09PSAndG9wJ1xyXG4gICAgICAgICAgICA/ICczcHgnXHJcbiAgICAgICAgICAgIDogJ2F1dG8nfTtcbiAgICAgIHRvcDogJHtwcm9wcy5pY29uUG9zaXRpb24gPT09ICd0b3AnXHJcbiAgICAgICAgPyAnaW5oZXJpdCdcclxuICAgICAgICA6IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzA0fTtcbiAgICBgfVxuYDtcclxuZnVuY3Rpb24gZ2V0SWNvbkJ1dHRvblNWR1NpemUocHJvcHMpIHtcclxuICAgIGNvbnN0IHsgaXNDbGlja2FibGUsIGljb25Qb3NpdGlvbiwgaW5wdXRTaXplLCB0aGVtZSB9ID0gcHJvcHM7XHJcbiAgICBpZiAoaXNDbGlja2FibGUgJiYgaWNvblBvc2l0aW9uID09PSBJbnB1dEljb25Qb3NpdGlvbi50b3ApIHtcclxuICAgICAgICBpZiAoaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2UpIHtcclxuICAgICAgICAgICAgcmV0dXJuIGAke3RoZW1lLmljb25TaXplcy5tZWRpdW19cHhgO1xyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gYCR7dGhlbWUuaWNvblNpemVzLnNtYWxsfXB4YDtcclxuICAgIH1cclxuICAgIGlmIChpbnB1dFNpemUgPT09IElucHV0U2l6ZS5sYXJnZSkge1xyXG4gICAgICAgIHJldHVybiBgJHt0aGVtZS5pY29uU2l6ZXMubGFyZ2V9cHhgO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIGAke3RoZW1lLmljb25TaXplcy5tZWRpdW19cHhgO1xyXG59XHJcbmZ1bmN0aW9uIGdldEhlbHBMaW5rU1ZHU2l6ZShwcm9wcykge1xyXG4gICAgY29uc3QgeyBpbnB1dFNpemUsIHRoZW1lIH0gPSBwcm9wcztcclxuICAgIGlmIChpbnB1dFNpemUgPT09IElucHV0U2l6ZS5sYXJnZSkge1xyXG4gICAgICAgIHJldHVybiBgJHt0aGVtZS5pY29uU2l6ZXMubWVkaXVtfXB4YDtcclxuICAgIH1cclxuICAgIHJldHVybiBgJHt0aGVtZS5pY29uU2l6ZXMuc21hbGx9cHhgO1xyXG59XHJcbmV4cG9ydCBmdW5jdGlvbiBnZXRIZWxwSWNvbkJ1dHRvblNpemUocHJvcHMpIHtcclxuICAgIGNvbnN0IHsgaW5wdXRTaXplLCB0aGVtZSB9ID0gcHJvcHM7XHJcbiAgICBpZiAoaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2UpIHtcclxuICAgICAgICByZXR1cm4gdGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDk7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gdGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDc7XHJcbn1cclxuZnVuY3Rpb24gZ2V0SWNvbkJ1dHRvblRyYW5zZm9ybShwcm9wcykge1xyXG4gICAgY29uc3QgeyBpc0NsaWNrYWJsZSwgaWNvblBvc2l0aW9uLCBpbnB1dFNpemUsIGhhc0NoaWxkcmVuLCB0aGVtZSB9ID0gcHJvcHM7XHJcbiAgICBjb25zdCBwb3NpdGlvbiA9IHsgeDogJycsIHk6ICcnIH07XHJcbiAgICBpZiAoaWNvblBvc2l0aW9uID09PSBJbnB1dEljb25Qb3NpdGlvbi50b3ApIHtcclxuICAgICAgICBpZiAoaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2UpIHtcclxuICAgICAgICAgICAgcG9zaXRpb24ueCA9ICctMzBweCc7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uLnkgPSAnMnB4JztcclxuICAgICAgICB9XHJcbiAgICAgICAgZWxzZSBpZiAoaW5wdXRTaXplID09PSBJbnB1dFNpemUubWVkaXVtKSB7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uLnggPSAnLTI4cHgnO1xyXG4gICAgICAgICAgICBwb3NpdGlvbi55ID0gJzVweCc7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiBwb3NpdGlvbjtcclxuICAgIH1cclxuICAgIGlmIChpc0NsaWNrYWJsZSkge1xyXG4gICAgICAgIGlmIChpbnB1dFNpemUgPT09IElucHV0U2l6ZS5sYXJnZSkge1xyXG4gICAgICAgICAgICBpZiAoaGFzQ2hpbGRyZW4pIHtcclxuICAgICAgICAgICAgICAgIHBvc2l0aW9uLnggPSAnLTQzcHgnO1xyXG4gICAgICAgICAgICAgICAgcG9zaXRpb24ueSA9ICcxNHB4JztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBlbHNlIHtcclxuICAgICAgICAgICAgICAgIHBvc2l0aW9uLnggPSAnLTQ5cHgnO1xyXG4gICAgICAgICAgICAgICAgcG9zaXRpb24ueSA9ICc4cHgnO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2UgaWYgKGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLm1lZGl1bSkge1xyXG4gICAgICAgICAgICBwb3NpdGlvbi54ID0gJy0zNXB4JztcclxuICAgICAgICAgICAgcG9zaXRpb24ueSA9ICc2cHgnO1xyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gcG9zaXRpb247XHJcbiAgICB9XHJcbiAgICBpZiAoaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2UpIHtcclxuICAgICAgICBwb3NpdGlvbi54ID0gYC0ke3RoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzEwfWA7XHJcbiAgICAgICAgcG9zaXRpb24ueSA9IHRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzAzO1xyXG4gICAgfVxyXG4gICAgZWxzZSBpZiAoaW5wdXRTaXplID09PSBJbnB1dFNpemUubWVkaXVtKSB7XHJcbiAgICAgICAgcG9zaXRpb24ueCA9ICctMjRweCc7XHJcbiAgICAgICAgcG9zaXRpb24ueSA9ICc3cHgnO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIHBvc2l0aW9uO1xyXG59XHJcbmV4cG9ydCBjb25zdCBJY29uQnV0dG9uQ29udGFpbmVyID0gc3R5bGVkLnNwYW4gYFxuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgYm90dG9tOiAke3Byb3BzID0+IChwcm9wcy5pY29uUG9zaXRpb24gPT09ICd0b3AnID8gJzQwcHgnIDogJ2luaGVyaXQnKX07XG4gIGhlaWdodDogYXV0bztcbiAgbWFyZ2luOiAwO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiAwO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZShcbiAgICAke3Byb3BzID0+IGdldEljb25CdXR0b25UcmFuc2Zvcm0ocHJvcHMpLnh9LFxuICAgICR7cHJvcHMgPT4gZ2V0SWNvbkJ1dHRvblRyYW5zZm9ybShwcm9wcykueX1cbiAgKTtcbiAgc3ZnIHtcbiAgICBoZWlnaHQ6ICR7cHJvcHMgPT4gZ2V0SWNvbkJ1dHRvblNWR1NpemUocHJvcHMpfTtcbiAgICB3aWR0aDogJHtwcm9wcyA9PiBnZXRJY29uQnV0dG9uU1ZHU2l6ZShwcm9wcyl9O1xuICB9XG5gO1xyXG5jb25zdCBQYXNzd29yZEJ1dHRvbkNvbnRhaW5lciA9IHN0eWxlZC5zcGFuIGBcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIHdpZHRoOiAwO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZShcbiAgICAke3Byb3BzID0+IHByb3BzLnNpemUgPT09IElucHV0U2l6ZS5sYXJnZVxyXG4gICAgPyBgJHstcHJvcHMuYnV0dG9uV2lkdGggLSA4fXB4YFxyXG4gICAgOiBgJHstcHJvcHMuYnV0dG9uV2lkdGggLSA2fXB4YH0sXG4gICAgJHtwcm9wcyA9PiBwcm9wcy5zaXplID09PSBJbnB1dFNpemUubGFyZ2UgPyBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwMyA6ICc2cHgnfVxuICApO1xuYDtcclxuZnVuY3Rpb24gZ2V0Q2xlYXJhYmxlUG9zaXRpb24ocHJvcHMpIHtcclxuICAgIGlmIChwcm9wcy5pY29uUG9zaXRpb24gPT09ICdyaWdodCcgJiYgcHJvcHMuaWNvbikge1xyXG4gICAgICAgIGlmIChwcm9wcy5pbnB1dFNpemUgPT09ICdsYXJnZScpIHtcclxuICAgICAgICAgICAgcmV0dXJuIHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzEzO1xyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gJzcycHgnO1xyXG4gICAgfVxyXG4gICAgaWYgKHByb3BzLmlucHV0U2l6ZSA9PT0gJ2xhcmdlJykge1xyXG4gICAgICAgIHJldHVybiBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcxMDtcclxuICAgIH1cclxuICAgIHJldHVybiAnMzRweCc7XHJcbn1cclxuY29uc3QgSXNDbGVhcmFibGVDb250YWluZXIgPSBzdHlsZWQuc3BhbiBgXG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBtYXJnaW46IDA7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgaGVpZ2h0OiBhdXRvO1xuICB3aWR0aDogMDtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoXG4gICAgLSR7cHJvcHMgPT4gZ2V0Q2xlYXJhYmxlUG9zaXRpb24ocHJvcHMpfSxcbiAgICAke3Byb3BzID0+IHByb3BzLmlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlXHJcbiAgICA/IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzAzXHJcbiAgICA6ICc2cHgnfVxuICApO1xuYDtcclxuZnVuY3Rpb24gZ2V0SWNvblNpemUoc2l6ZSwgdGhlbWUsIGljb25Qb3NpdGlvbikge1xyXG4gICAgc3dpdGNoIChzaXplKSB7XHJcbiAgICAgICAgY2FzZSAnbGFyZ2UnOlxyXG4gICAgICAgICAgICBpZiAoaWNvblBvc2l0aW9uID09PSBJbnB1dEljb25Qb3NpdGlvbi50b3ApIHtcclxuICAgICAgICAgICAgICAgIHJldHVybiB0aGVtZS5pY29uU2l6ZXMubWVkaXVtO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHJldHVybiB0aGVtZS5pY29uU2l6ZXMubGFyZ2U7XHJcbiAgICAgICAgZGVmYXVsdDpcclxuICAgICAgICAgICAgaWYgKGljb25Qb3NpdGlvbiA9PT0gSW5wdXRJY29uUG9zaXRpb24udG9wKSB7XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gdGhlbWUuaWNvblNpemVzLnNtYWxsO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHJldHVybiB0aGVtZS5pY29uU2l6ZXMubWVkaXVtO1xyXG4gICAgfVxyXG59XHJcbmV4cG9ydCBjb25zdCBpc0xlZnRPckhpZGRlbiA9ICh7IGxhYmVsUG9zaXRpb24sIGlzTGFiZWxWaXN1YWxseUhpZGRlbiwgfSkgPT4gbGFiZWxQb3NpdGlvbiA9PT0gTGFiZWxQb3NpdGlvbi5sZWZ0IHx8IGlzTGFiZWxWaXN1YWxseUhpZGRlbjtcclxuZXhwb3J0IGNvbnN0IEhlbHBMaW5rQ29udGFpbmVyID0gc3R5bGVkLnNwYW4gYFxuICBwb3NpdGlvbjogJHtwcm9wcyA9PiAoaXNMZWZ0T3JIaWRkZW4ocHJvcHMpID8gJ3JlbGF0aXZlJyA6ICdhYnNvbHV0ZScpfTtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cbiAgaGVpZ2h0OiAke3Byb3BzID0+IChpc0xlZnRPckhpZGRlbihwcm9wcykgPyAnYXV0bycgOiAnZml0LWNvbnRlbnQnKX07XG4gIG1hcmdpbi1pbmxpbmUtc3RhcnQ6ICR7cHJvcHMgPT4gaXNMZWZ0T3JIaWRkZW4ocHJvcHMpID8gYCR7cHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDN9YCA6ICdhdXRvJ307XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWShcbiAgICAke3Byb3BzID0+IGlzTGVmdE9ySGlkZGVuKHByb3BzKVxyXG4gICAgPyAnMCdcclxuICAgIDogYGNhbGMoLTEwMCUgLSAke3Byb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzAzfSlgfVxuICApO1xuICAke0NoaWxkcmVuV3JhcHBlcn0gPiBzdmcge1xuICAgIGhlaWdodDogJHtwcm9wcyA9PiBnZXRIZWxwTGlua1NWR1NpemUocHJvcHMpfTtcbiAgICB3aWR0aDogJHtwcm9wcyA9PiBnZXRIZWxwTGlua1NWR1NpemUocHJvcHMpfTtcbiAgfVxuICBidXR0b24ge1xuICAgIGhlaWdodDogJHtwcm9wcyA9PiBnZXRIZWxwSWNvbkJ1dHRvblNpemUocHJvcHMpfTtcbiAgICB3aWR0aDogJHtwcm9wcyA9PiBnZXRIZWxwSWNvbkJ1dHRvblNpemUocHJvcHMpfTtcbiAgfVxuICBpbnNldC1pbmxpbmUtZW5kOiAke3Byb3BzID0+IChpc0xlZnRPckhpZGRlbihwcm9wcykgPyAnYXV0bycgOiAnMCcpfTtcbmA7XHJcbmV4cG9ydCBjb25zdCBJbnB1dEJhc2UgPSBSZWFjdC5mb3J3YXJkUmVmKChwcm9wcywgZm9yd2FyZGVkUmVmKSA9PiB7XHJcbiAgICBjb25zdCB7IGNoaWxkcmVuLCBjb250YWluZXJTdHlsZSwgZGVmYXVsdFZhbHVlLCBkaXNhYmxlZCwgaGFzQ2hhcmFjdGVyQ291bnRlciwgaGFzRXJyb3IsIGljb24sIGljb25BcmlhTGFiZWwsIGljb25SZWYsIGlzQ2xlYXJhYmxlLCBpc1Bhc3N3b3JkSW5wdXQsIGlzUHJlZGljdGl2ZSwgbWF4Q291bnQsIG1heExlbmd0aCwgb25DbGVhciwgb25JY29uQ2xpY2ssIG9uSWNvbktleURvd24sIG9uRGF0ZUNoYW5nZSwgaW5wdXRMZW5ndGgsIGlucHV0U2l6ZSwgaW5wdXRTdHlsZSwgaW5wdXRXcmFwcGVyU3R5bGUsIHRlc3RJZCwgdHlwZSwgc2V0UmVmZXJlbmNlLCBpc0xhYmVsVmlzdWFsbHlIaWRkZW4sIGxhYmVsUG9zaXRpb24sIC4uLm90aGVyIH0gPSBwcm9wcztcclxuICAgIGNvbnN0IGkxOG4gPSBSZWFjdC51c2VDb250ZXh0KEkxOG5Db250ZXh0KTtcclxuICAgIGNvbnN0IHRoZW1lID0gUmVhY3QudXNlQ29udGV4dChUaGVtZUNvbnRleHQpO1xyXG4gICAgY29uc3QgaWNvblBvc2l0aW9uID0gaWNvbiAmJiBvbkljb25DbGlja1xyXG4gICAgICAgID8gSW5wdXRJY29uUG9zaXRpb24ucmlnaHRcclxuICAgICAgICA6IGljb24gJiYgIXByb3BzLmljb25Qb3NpdGlvblxyXG4gICAgICAgICAgICA/IElucHV0SWNvblBvc2l0aW9uLmxlZnRcclxuICAgICAgICAgICAgOiBwcm9wcy5pY29uUG9zaXRpb247XHJcbiAgICBjb25zdCBbdmFsdWUsIHNldFZhbHVlXSA9IFJlYWN0LnVzZVN0YXRlKHByb3BzLmRlZmF1bHRWYWx1ZSAhPT0gdW5kZWZpbmVkICYmIHByb3BzLmRlZmF1bHRWYWx1ZSAhPT0gbnVsbFxyXG4gICAgICAgID8gcHJvcHMuZGVmYXVsdFZhbHVlXHJcbiAgICAgICAgOiBwcm9wcy52YWx1ZSB8fCAnJyk7XHJcbiAgICBjb25zdCBtYXhMZW5ndGhOdW0gPSAhaGFzQ2hhcmFjdGVyQ291bnRlciAmJiBtYXhMZW5ndGggPyBtYXhMZW5ndGggOiB1bmRlZmluZWQ7XHJcbiAgICBSZWFjdC51c2VFZmZlY3QoKCkgPT4ge1xyXG4gICAgICAgIGlmIChwcm9wcy52YWx1ZSAhPT0gdW5kZWZpbmVkICYmIHByb3BzLnZhbHVlICE9PSBudWxsKSB7XHJcbiAgICAgICAgICAgIHNldFZhbHVlKHByb3BzLnZhbHVlKTtcclxuICAgICAgICB9XHJcbiAgICB9LCBbcHJvcHMudmFsdWVdKTtcclxuICAgIGNvbnN0IGlucHV0UmVmID0gUmVhY3QudXNlUmVmKCk7XHJcbiAgICBjb25zdCByZWYgPSB1c2VGb3JrZWRSZWYoZm9yd2FyZGVkUmVmLCBpbnB1dFJlZik7XHJcbiAgICBmdW5jdGlvbiBoYW5kbGVDbGVhcklucHV0KCkge1xyXG4gICAgICAgIG9uQ2xlYXIgJiYgdHlwZW9mIG9uQ2xlYXIgPT09ICdmdW5jdGlvbicgJiYgb25DbGVhcigpO1xyXG4gICAgICAgIHNldFZhbHVlKCcnKTtcclxuICAgICAgICBvbkRhdGVDaGFuZ2UgJiYgdHlwZW9mIG9uRGF0ZUNoYW5nZSA9PT0gJ2Z1bmN0aW9uJyAmJiBvbkRhdGVDaGFuZ2UobnVsbCk7XHJcbiAgICAgICAgaW5wdXRSZWYuY3VycmVudC5mb2N1cygpO1xyXG4gICAgfVxyXG4gICAgZnVuY3Rpb24gaGFuZGxlQ2hhbmdlKGV2ZW50KSB7XHJcbiAgICAgICAgcHJvcHMub25DaGFuZ2UgJiZcclxuICAgICAgICAgICAgdHlwZW9mIHByb3BzLm9uQ2hhbmdlID09PSAnZnVuY3Rpb24nICYmXHJcbiAgICAgICAgICAgIHByb3BzLm9uQ2hhbmdlKGV2ZW50KTtcclxuICAgICAgICBzZXRWYWx1ZShldmVudC50YXJnZXQudmFsdWUpO1xyXG4gICAgICAgIGlmICghZXZlbnQudGFyZ2V0LnZhbHVlICYmXHJcbiAgICAgICAgICAgIG9uRGF0ZUNoYW5nZSAmJlxyXG4gICAgICAgICAgICB0eXBlb2Ygb25EYXRlQ2hhbmdlID09PSAnZnVuY3Rpb24nKVxyXG4gICAgICAgICAgICBvbkRhdGVDaGFuZ2UobnVsbCk7XHJcbiAgICB9XHJcbiAgICBjb25zdCBwYXNzd29yZEJ0bldpZHRoID0gKCkgPT4ge1xyXG4gICAgICAgIGNvbnN0IGJ0bldpZHRoID0gY2hpbGRyZW4/LnByb3BzPy5jaGlsZHJlbj8uWzBdPy5yZWY/LmN1cnJlbnQ/Lm9mZnNldFdpZHRoO1xyXG4gICAgICAgIGlmICh0eXBlb2YgYnRuV2lkdGggPT09ICdudW1iZXInKSB7XHJcbiAgICAgICAgICAgIHJldHVybiBidG5XaWR0aDtcclxuICAgICAgICB9XHJcbiAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICAgIC8vIFdoZW4gUGFzc3dvcmRCdXR0b24gaXMgdXNlZCBpbnNpZGUgU2NoZW1hUmVuZGVyZXIsIGl0IGRvZXNuJ3QgaGF2ZSBjaGlsZHJlbi5cclxuICAgICAgICAgICAgLy8gV2UnbGwgdXNlIHRoZSBkZWZhdWx0IGJ1dHRvbiBzaXplcy5cclxuICAgICAgICAgICAgaWYgKHByb3BzLmlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gNjQ7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgcmV0dXJuIDU0O1xyXG4gICAgICAgIH1cclxuICAgIH07XHJcbiAgICByZXR1cm4gKFJlYWN0LmNyZWF0ZUVsZW1lbnQoXCJkaXZcIiwgeyByZWY6IHNldFJlZmVyZW5jZSB9LFxyXG4gICAgICAgIFJlYWN0LmNyZWF0ZUVsZW1lbnQoSW5wdXRDb250YWluZXIsIHsgc3R5bGU6IGlucHV0V3JhcHBlclN0eWxlLCBcImRhdGEtdGVzdGlkXCI6IGAke3Rlc3RJZH0td3JhcHBlcmAgfSxcclxuICAgICAgICAgICAgUmVhY3QuY3JlYXRlRWxlbWVudChJbnB1dFdyYXBwZXIsIHsgZGlzYWJsZWQ6IGRpc2FibGVkLCBpY29uUG9zaXRpb246IGljb25Qb3NpdGlvbiwgaXNJbnZlcnNlOiBwcm9wcy5pc0ludmVyc2UsIGlucHV0U2l6ZTogaW5wdXRTaXplID8/IElucHV0U2l6ZS5tZWRpdW0sIHRoZW1lOiB0aGVtZSwgc3R5bGU6IGNvbnRhaW5lclN0eWxlLCBoYXNFcnJvcjogaGFzRXJyb3IsIGlzQ2xlYXJhYmxlOiBpc0NsZWFyYWJsZSwgd2lkdGg6IHByb3BzLndpZHRoIH0sXHJcbiAgICAgICAgICAgICAgICBSZWFjdC5jcmVhdGVFbGVtZW50KFN0eWxlZElucHV0LCBPYmplY3QuYXNzaWduKHt9LCBvdGhlciwgeyBcImFyaWEtaW52YWxpZFwiOiBoYXNFcnJvciwgZGlzYWJsZWQ6IGRpc2FibGVkLCBcImRhdGEtdGVzdGlkXCI6IHRlc3RJZCwgaGFzQ2hhcmFjdGVyQ291bnRlcjogaGFzQ2hhcmFjdGVyQ291bnRlciwgaWNvblBvc2l0aW9uOiBpY29uUG9zaXRpb24sIGlucHV0U2l6ZTogaW5wdXRTaXplID8/IElucHV0U2l6ZS5tZWRpdW0sIGlzQ2xlYXJhYmxlOiB0eXBlID09PSBJbnB1dFR5cGUuc2VhcmNoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgID8gaXNDbGVhcmFibGVcclxuICAgICAgICAgICAgICAgICAgICAgICAgOiBpbnB1dFdyYXBwZXJTdHlsZT8ud2lkdGhcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgID8gaXNDbGVhcmFibGVcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogaXNDbGVhcmFibGUgJiYgaW5wdXRMZW5ndGggPiAwLCBpc0ludmVyc2U6IHVzZUlzSW52ZXJzZShwcm9wcy5pc0ludmVyc2UpLCBpc1ByZWRpY3RpdmU6IGlzUHJlZGljdGl2ZSwgaGFzRXJyb3I6IGhhc0Vycm9yLCByZWY6IHJlZiwgbWF4TGVuZ3RoOiBtYXhMZW5ndGhOdW0sIG9uQ2hhbmdlOiBoYW5kbGVDaGFuZ2UsIHN0eWxlOiBpbnB1dFN0eWxlLCB0aGVtZTogdGhlbWUsIHR5cGU6IHR5cGUgPyB0eXBlIDogSW5wdXRUeXBlLnRleHQsIHZhbHVlOiB2YWx1ZSB9KSksXHJcbiAgICAgICAgICAgICAgICBpY29uICYmICFvbkljb25DbGljayAmJiAoUmVhY3QuY3JlYXRlRWxlbWVudChJY29uV3JhcHBlciwgeyBcImFyaWEtbGFiZWxcIjogaWNvbkFyaWFMYWJlbCwgaWNvblBvc2l0aW9uOiBpY29uUG9zaXRpb24sIGlucHV0U2l6ZTogaW5wdXRTaXplID8/IElucHV0U2l6ZS5tZWRpdW0sIGlzSW52ZXJzZTogcHJvcHMuaXNJbnZlcnNlLCBpc1ByZWRpY3RpdmU6IGlzUHJlZGljdGl2ZSwgdGhlbWU6IHRoZW1lLCBkaXNhYmxlZDogZGlzYWJsZWQgfSwgUmVhY3QuQ2hpbGRyZW4ub25seShSZWFjdC5jbG9uZUVsZW1lbnQoaWNvbiwge1xyXG4gICAgICAgICAgICAgICAgICAgIHNpemU6IGdldEljb25TaXplKGlucHV0U2l6ZSA/PyBJbnB1dFNpemUubWVkaXVtLCB0aGVtZSwgaWNvblBvc2l0aW9uKSxcclxuICAgICAgICAgICAgICAgIH0pKSkpKSxcclxuICAgICAgICAgICAgaXNDbGVhcmFibGUgJiYgdmFsdWUgIT09ICcnICYmIChSZWFjdC5jcmVhdGVFbGVtZW50KElzQ2xlYXJhYmxlQ29udGFpbmVyLCB7IHRoZW1lOiB0aGVtZSwgaWNvblBvc2l0aW9uOiBpY29uUG9zaXRpb24sIGlucHV0U2l6ZTogaW5wdXRTaXplLCBpY29uOiBpY29uIH0sXHJcbiAgICAgICAgICAgICAgICBSZWFjdC5jcmVhdGVFbGVtZW50KEljb25CdXR0b24sIHsgXCJhcmlhLWxhYmVsXCI6IGkxOG4uaW5wdXQuaXNDbGVhcmFibGVBcmlhTGFiZWwsIGRpc2FibGVkOiBkaXNhYmxlZCwgaWNvbjogUmVhY3QuY3JlYXRlRWxlbWVudChDbGVhckljb24sIG51bGwpLCBpc0ludmVyc2U6IHByb3BzLmlzSW52ZXJzZSwgb25DbGljazogaGFuZGxlQ2xlYXJJbnB1dCwgb25LZXlEb3duOiBvbkljb25LZXlEb3duLCByZWY6IGljb25SZWYsIHNoYXBlOiBCdXR0b25TaGFwZS5maWxsLCBzaXplOiBpbnB1dFNpemUgPT09IElucHV0U2l6ZS5sYXJnZVxyXG4gICAgICAgICAgICAgICAgICAgICAgICA/IEJ1dHRvblNpemUubWVkaXVtXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDogQnV0dG9uU2l6ZS5zbWFsbCwgdGVzdElkOiBcImNsZWFyLWJ1dHRvblwiLCB0eXBlOiBCdXR0b25UeXBlLmJ1dHRvbiwgdmFyaWFudDogQnV0dG9uVmFyaWFudC5saW5rIH0pKSksXHJcbiAgICAgICAgICAgIG9uSWNvbkNsaWNrICYmIChSZWFjdC5jcmVhdGVFbGVtZW50KEljb25CdXR0b25Db250YWluZXIsIHsgaWNvblBvc2l0aW9uOiBpY29uUG9zaXRpb24sIGlucHV0U2l6ZTogaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2VcclxuICAgICAgICAgICAgICAgICAgICA/IElucHV0U2l6ZS5sYXJnZVxyXG4gICAgICAgICAgICAgICAgICAgIDogSW5wdXRTaXplLm1lZGl1bSwgdGhlbWU6IHRoZW1lLCBpc0NsaWNrYWJsZTogdHJ1ZSB9LFxyXG4gICAgICAgICAgICAgICAgUmVhY3QuY3JlYXRlRWxlbWVudChJY29uQnV0dG9uLCB7IFwiYXJpYS1sYWJlbFwiOiBpY29uQXJpYUxhYmVsLCBpY29uOiBpY29uLCBpc0ludmVyc2U6IHByb3BzLmlzSW52ZXJzZSwgb25DbGljazogb25JY29uQ2xpY2ssIG9uS2V5RG93bjogb25JY29uS2V5RG93biwgcmVmOiBpY29uUmVmLCBkaXNhYmxlZDogZGlzYWJsZWQsIHNoYXBlOiBCdXR0b25TaGFwZS5maWxsLCBzaXplOiBpbnB1dFNpemUgPT09IElucHV0U2l6ZS5sYXJnZVxyXG4gICAgICAgICAgICAgICAgICAgICAgICA/IEJ1dHRvblNpemUubWVkaXVtXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDogQnV0dG9uU2l6ZS5zbWFsbCwgdHlwZTogQnV0dG9uVHlwZS5idXR0b24sIHZhcmlhbnQ6IEJ1dHRvblZhcmlhbnQubGluayB9KSkpLFxyXG4gICAgICAgICAgICBpc1Bhc3N3b3JkSW5wdXQgPyAoUmVhY3QuY3JlYXRlRWxlbWVudChQYXNzd29yZEJ1dHRvbkNvbnRhaW5lciwgeyBzaXplOiBpbnB1dFNpemUgPT09IElucHV0U2l6ZS5sYXJnZVxyXG4gICAgICAgICAgICAgICAgICAgID8gSW5wdXRTaXplLmxhcmdlXHJcbiAgICAgICAgICAgICAgICAgICAgOiBJbnB1dFNpemUubWVkaXVtLCB0aGVtZTogdGhlbWUsIGJ1dHRvbldpZHRoOiBwYXNzd29yZEJ0bldpZHRoKCkgfSwgY2hpbGRyZW4pKSA6IChSZWFjdC5jcmVhdGVFbGVtZW50KEhlbHBMaW5rQ29udGFpbmVyLCB7IGlzTGFiZWxWaXN1YWxseUhpZGRlbjogaXNMYWJlbFZpc3VhbGx5SGlkZGVuIHx8IGZhbHNlLCBpbnB1dFNpemU6IGlucHV0U2l6ZSA/PyBJbnB1dFNpemUubWVkaXVtLCBsYWJlbFBvc2l0aW9uOiBsYWJlbFBvc2l0aW9uID8/IExhYmVsUG9zaXRpb24udG9wLCB0aGVtZTogdGhlbWUgfSwgY2hpbGRyZW4pKSkpKTtcclxufSk7XHJcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWluZGV4LmpzLm1hcCJdfQ== */")), " &:-webkit-autofill,&:-webkit-autofill:focus,&:-webkit-autofill:hover,&:-webkit-autofill:active{box-shadow:none!important;-webkit-background-clip:text;-webkit-text-fill-color:", props.isInverse ? props.theme.colors.neutral100 : props.theme.colors.neutral700, "!important;caret-color:", props.isInverse ? props.theme.colors.neutral100 : props.theme.colors.neutral700, "!important;};label:inputBaseStyles;" + (process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImluZGV4LnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUF1SThDIiwiZmlsZSI6ImluZGV4LnRzeCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIFJlYWN0IGZyb20gJ3JlYWN0JztcclxuaW1wb3J0IHsgY3NzIH0gZnJvbSAnQGVtb3Rpb24vcmVhY3QnO1xyXG5pbXBvcnQgc3R5bGVkIGZyb20gJ0BlbW90aW9uL3N0eWxlZCc7XHJcbmltcG9ydCB7IHRyYW5zcGFyZW50aXplIH0gZnJvbSAncG9saXNoZWQnO1xyXG5pbXBvcnQgeyBDbGVhckljb24gfSBmcm9tICdyZWFjdC1tYWdtYS1pY29ucyc7XHJcbmltcG9ydCB7IEkxOG5Db250ZXh0IH0gZnJvbSAnLi4vLi4vaTE4bic7XHJcbmltcG9ydCB7IHVzZUlzSW52ZXJzZSB9IGZyb20gJy4uLy4uL2ludmVyc2UnO1xyXG5pbXBvcnQgeyBUaGVtZUNvbnRleHQgfSBmcm9tICcuLi8uLi90aGVtZS9UaGVtZUNvbnRleHQnO1xyXG5pbXBvcnQgeyB1c2VGb3JrZWRSZWYgfSBmcm9tICcuLi8uLi91dGlscyc7XHJcbmltcG9ydCB7IEJ1dHRvblNoYXBlLCBCdXR0b25TaXplLCBCdXR0b25UeXBlLCBCdXR0b25WYXJpYW50IH0gZnJvbSAnLi4vQnV0dG9uJztcclxuaW1wb3J0IHsgSWNvbkJ1dHRvbiB9IGZyb20gJy4uL0ljb25CdXR0b24nO1xyXG5pbXBvcnQgeyBMYWJlbFBvc2l0aW9uIH0gZnJvbSAnLi4vTGFiZWwnO1xyXG5pbXBvcnQgeyBDaGlsZHJlbldyYXBwZXIgfSBmcm9tICcuLi9TdHlsZWRCdXR0b24nO1xyXG5leHBvcnQgdmFyIElucHV0U2l6ZTtcclxuKGZ1bmN0aW9uIChJbnB1dFNpemUpIHtcclxuICAgIElucHV0U2l6ZVtcImxhcmdlXCJdID0gXCJsYXJnZVwiO1xyXG4gICAgSW5wdXRTaXplW1wibWVkaXVtXCJdID0gXCJtZWRpdW1cIjtcclxufSkoSW5wdXRTaXplIHx8IChJbnB1dFNpemUgPSB7fSkpO1xyXG5leHBvcnQgdmFyIElucHV0VHlwZTtcclxuKGZ1bmN0aW9uIChJbnB1dFR5cGUpIHtcclxuICAgIElucHV0VHlwZVtcImVtYWlsXCJdID0gXCJlbWFpbFwiO1xyXG4gICAgSW5wdXRUeXBlW1wiZmlsZVwiXSA9IFwiZmlsZVwiO1xyXG4gICAgSW5wdXRUeXBlW1wibnVtYmVyXCJdID0gXCJudW1iZXJcIjtcclxuICAgIElucHV0VHlwZVtcInBhc3N3b3JkXCJdID0gXCJwYXNzd29yZFwiO1xyXG4gICAgSW5wdXRUeXBlW1wic2VhcmNoXCJdID0gXCJzZWFyY2hcIjtcclxuICAgIElucHV0VHlwZVtcInRleHRcIl0gPSBcInRleHRcIjtcclxuICAgIElucHV0VHlwZVtcInVybFwiXSA9IFwidXJsXCI7XHJcbiAgICBJbnB1dFR5cGVbXCJ0ZWxcIl0gPSBcInRlbFwiO1xyXG59KShJbnB1dFR5cGUgfHwgKElucHV0VHlwZSA9IHt9KSk7XHJcbmV4cG9ydCB2YXIgSW5wdXRJY29uUG9zaXRpb247XHJcbihmdW5jdGlvbiAoSW5wdXRJY29uUG9zaXRpb24pIHtcclxuICAgIElucHV0SWNvblBvc2l0aW9uW1widG9wXCJdID0gXCJ0b3BcIjtcclxuICAgIElucHV0SWNvblBvc2l0aW9uW1wibGVmdFwiXSA9IFwibGVmdFwiO1xyXG4gICAgSW5wdXRJY29uUG9zaXRpb25bXCJyaWdodFwiXSA9IFwicmlnaHRcIjtcclxufSkoSW5wdXRJY29uUG9zaXRpb24gfHwgKElucHV0SWNvblBvc2l0aW9uID0ge30pKTtcclxuZXhwb3J0IGNvbnN0IGlucHV0V3JhcHBlclN0eWxlcyA9IChwcm9wcykgPT4gY3NzIGBcbiAgZmxleDogMSAxIGF1dG87XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgd2lkdGg6ICR7cHJvcHMud2lkdGggfHwgJ2F1dG8nfTtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHtwcm9wcy5pc0ludmVyc2VcclxuICAgID8gdHJhbnNwYXJlbnRpemUoMC44LCBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDkwMClcclxuICAgIDogcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWwxMDB9O1xuICBib3JkZXItcmFkaXVzOiAke3Byb3BzLnRoZW1lLmJvcmRlclJhZGl1c307XG4gIGJvcmRlcjogMXB4IHNvbGlkXG4gICAgJHtwcm9wcy5pc0ludmVyc2VcclxuICAgID8gdHJhbnNwYXJlbnRpemUoMC41LCBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDEwMClcclxuICAgIDogcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWw1MDB9O1xuICBoZWlnaHQ6ICR7cHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDl9O1xuXG4gICY6Zm9jdXMtd2l0aGluIHtcbiAgICBvdXRsaW5lOiAycHggc29saWRcbiAgICAgICR7cHJvcHMuaXNJbnZlcnNlXHJcbiAgICA/IHByb3BzLnRoZW1lLmNvbG9ycy5mb2N1c0ludmVyc2VcclxuICAgIDogcHJvcHMudGhlbWUuY29sb3JzLmZvY3VzfTtcbiAgICBvdXRsaW5lLW9mZnNldDogLTFweDtcbiAgfVxuXG4gICR7cHJvcHMuaGFzRXJyb3IgJiZcclxuICAgIGNzcyBgXG4gICAgYm9yZGVyLWNvbG9yOiAke3Byb3BzLmlzSW52ZXJzZVxyXG4gICAgICAgID8gcHJvcHMudGhlbWUuY29sb3JzLmRhbmdlcjMwMFxyXG4gICAgICAgIDogcHJvcHMudGhlbWUuY29sb3JzLmRhbmdlcn07XG4gIGB9XG5cbiAgJHtwcm9wcy5kaXNhYmxlZCAmJlxyXG4gICAgY3NzIGBcbiAgICBib3JkZXItY29sb3I6ICR7cHJvcHMuaXNJbnZlcnNlXHJcbiAgICAgICAgPyB0cmFuc3BhcmVudGl6ZSgwLjg1LCBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDEwMClcclxuICAgICAgICA6IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsMzAwfTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAke3Byb3BzLmlzSW52ZXJzZVxyXG4gICAgICAgID8gdHJhbnNwYXJlbnRpemUoMC45LCBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDkwMClcclxuICAgICAgICA6IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsMjAwfTtcbiAgYH1cblxuICAke3Byb3BzLmlucHV0U2l6ZSA9PT0gJ2xhcmdlJyAmJlxyXG4gICAgY3NzIGBcbiAgICBoZWlnaHQ6ICR7cHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMTF9O1xuICBgfVxuYDtcclxuZnVuY3Rpb24gZ2V0SW5wdXRQYWRkaW5nKHByb3BzKSB7XHJcbiAgICBjb25zdCB7IGlucHV0U2l6ZSwgaXNDbGVhcmFibGUsIGljb25Qb3NpdGlvbiB9ID0gcHJvcHM7XHJcbiAgICBjb25zdCBwYWRkaW5nID0ge1xyXG4gICAgICAgIGxlZnQ6IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzAzLFxyXG4gICAgICAgIHJpZ2h0OiBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwMyxcclxuICAgIH07XHJcbiAgICBpZiAoaW5wdXRTaXplID09PSAnbGFyZ2UnKSB7XHJcbiAgICAgICAgaWYgKGlzQ2xlYXJhYmxlKSB7XHJcbiAgICAgICAgICAgIGlmIChpY29uUG9zaXRpb24gPT09ICdyaWdodCcpIHtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmcucmlnaHQgPSAnOTJweCc7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgZWxzZSBpZiAoaWNvblBvc2l0aW9uID09PSAnbGVmdCcpIHtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmcubGVmdCA9IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzExO1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy5yaWdodCA9IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzExO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgLy8gaWNvbiB0b3AsIG5vIGljb25cclxuICAgICAgICAgICAgICAgIHBhZGRpbmcucmlnaHQgPSBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcxMTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBlbHNlIHtcclxuICAgICAgICAgICAgaWYgKGljb25Qb3NpdGlvbiA9PT0gJ3JpZ2h0Jykge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy5yaWdodCA9IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzEwO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGlmIChpY29uUG9zaXRpb24gPT09ICdsZWZ0Jykge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy5sZWZ0ID0gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMTA7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICBlbHNlIGlmIChpbnB1dFNpemUgPT09ICdtZWRpdW0nKSB7XHJcbiAgICAgICAgaWYgKGlzQ2xlYXJhYmxlKSB7XHJcbiAgICAgICAgICAgIGlmIChpY29uUG9zaXRpb24gPT09ICdyaWdodCcpIHtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmcucmlnaHQgPSAnNjhweCc7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgZWxzZSBpZiAoaWNvblBvc2l0aW9uID09PSAnbGVmdCcpIHtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmcubGVmdCA9IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzA5O1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy5yaWdodCA9IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzA5O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgLy8gaWNvbiB0b3AsIG5vIGljb25cclxuICAgICAgICAgICAgICAgIHBhZGRpbmcucmlnaHQgPSBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwOTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBlbHNlIHtcclxuICAgICAgICAgICAgaWYgKGljb25Qb3NpdGlvbiA9PT0gJ3JpZ2h0Jykge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy5yaWdodCA9IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzA5O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGlmIChpY29uUG9zaXRpb24gPT09ICdsZWZ0Jykge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy5sZWZ0ID0gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICByZXR1cm4gcGFkZGluZztcclxufVxyXG5leHBvcnQgY29uc3QgaW5wdXRCYXNlU3R5bGVzID0gKHByb3BzKSA9PiBjc3MgYFxuICBib3JkZXI6IDA7XG4gIGJvcmRlci1yYWRpdXM6ICR7cHJvcHMudGhlbWUuYm9yZGVyUmFkaXVzfTtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIGNvbG9yOiAke3Byb3BzLmlzSW52ZXJzZVxyXG4gICAgPyBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDEwMFxyXG4gICAgOiBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDcwMH07XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBmb250LXNpemU6ICR7cHJvcHMudGhlbWUudHlwZVNjYWxlLnNpemUwMy5mb250U2l6ZX07XG4gIGxpbmUtaGVpZ2h0OiAke3Byb3BzLnRoZW1lLnR5cGVTY2FsZS5zaXplMDMubGluZUhlaWdodH07XG4gIGZvbnQtZmFtaWx5OiAke3Byb3BzLnRoZW1lLmJvZHlGb250fTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBwYWRkaW5nOiAke3Byb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzAzfTtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICB3aWR0aDogMTAwJTtcblxuICAke3Byb3BzLmlucHV0U2l6ZSA9PT0gJ2xhcmdlJyAmJlxyXG4gICAgY3NzIGBcbiAgICBmb250LXNpemU6ICR7cHJvcHMudGhlbWUudHlwZVNjYWxlLnNpemUwNC5mb250U2l6ZX07XG4gICAgbGluZS1oZWlnaHQ6ICR7cHJvcHMudGhlbWUudHlwZVNjYWxlLnNpemUwNC5saW5lSGVpZ2h0fTtcbiAgICBwYWRkaW5nOiAke3Byb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzA0fTtcbiAgYH1cblxuICBwYWRkaW5nLWxlZnQ6ICR7Z2V0SW5wdXRQYWRkaW5nKHByb3BzKS5sZWZ0fTtcbiAgcGFkZGluZy1yaWdodDogJHtnZXRJbnB1dFBhZGRpbmcocHJvcHMpLnJpZ2h0fTtcblxuICAmOjpwbGFjZWhvbGRlciB7XG4gICAgY29sb3I6ICR7cHJvcHMuaXNJbnZlcnNlXHJcbiAgICA/IHRyYW5zcGFyZW50aXplKDAuMywgcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWwxMDApXHJcbiAgICA6IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsNTAwfTtcbiAgfVxuXG4gICY6Zm9jdXMge1xuICAgIG91dGxpbmU6IDA7XG4gIH1cblxuICAmW3R5cGU9J3NlYXJjaCddIHtcbiAgICAmOjotd2Via2l0LXNlYXJjaC1kZWNvcmF0aW9uLFxuICAgICY6Oi13ZWJraXQtc2VhcmNoLWNhbmNlbC1idXR0b24sXG4gICAgJjo6LXdlYmtpdC1zZWFyY2gtcmVzdWx0cy1idXR0b24sXG4gICAgJjo6LXdlYmtpdC1zZWFyY2gtcmVzdWx0cy1kZWNvcmF0aW9uIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICB9XG5cbiAgJHtwcm9wcy5kaXNhYmxlZCAmJlxyXG4gICAgY3NzIGBcbiAgICBjb2xvcjogJHtwcm9wcy5pc0ludmVyc2VcclxuICAgICAgICA/IHRyYW5zcGFyZW50aXplKDAuNiwgcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWwxMDApXHJcbiAgICAgICAgOiB0cmFuc3BhcmVudGl6ZSgwLjQsIHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsNTAwKX07XG4gICAgY3Vyc29yOiBub3QtYWxsb3dlZDtcblxuICAgICY6OnBsYWNlaG9sZGVyIHtcbiAgICAgIGNvbG9yOiAke3Byb3BzLmlzSW52ZXJzZVxyXG4gICAgICAgID8gdHJhbnNwYXJlbnRpemUoMC44LCBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDEwMClcclxuICAgICAgICA6IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsNTAwfTtcbiAgICAgIG9wYWNpdHk6ICR7cHJvcHMuaXNJbnZlcnNlID8gMC40IDogMC42fTtcbiAgICB9XG4gIGB9XG5cbiAgJjotd2Via2l0LWF1dG9maWxsLFxuICAmOi13ZWJraXQtYXV0b2ZpbGw6Zm9jdXMsXG4gICY6LXdlYmtpdC1hdXRvZmlsbDpob3ZlcixcbiAgJjotd2Via2l0LWF1dG9maWxsOmFjdGl2ZSB7XG4gICAgYm94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xuICAgIC13ZWJraXQtYmFja2dyb3VuZC1jbGlwOiB0ZXh0O1xuICAgIC13ZWJraXQtdGV4dC1maWxsLWNvbG9yOiAke3Byb3BzLmlzSW52ZXJzZVxyXG4gICAgPyBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDEwMFxyXG4gICAgOiBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDcwMH0gIWltcG9ydGFudDtcbiAgICBjYXJldC1jb2xvcjogJHtwcm9wcy5pc0ludmVyc2VcclxuICAgID8gcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWwxMDBcclxuICAgIDogcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWw3MDB9ICFpbXBvcnRhbnQ7XG4gIH1cbmA7XHJcbmNvbnN0IElucHV0Q29udGFpbmVyID0gc3R5bGVkLmRpdiBgXG4gIGRpc3BsYXk6IGZsZXg7XG5gO1xyXG5leHBvcnQgY29uc3QgSW5wdXRXcmFwcGVyID0gc3R5bGVkLmRpdiBgXG4gICR7aW5wdXRXcmFwcGVyU3R5bGVzfVxuYDtcclxuY29uc3QgU3R5bGVkSW5wdXQgPSBzdHlsZWQuaW5wdXQgYFxuICAke2lucHV0QmFzZVN0eWxlc31cbmA7XHJcbmNvbnN0IEljb25XcmFwcGVyID0gc3R5bGVkLnNwYW4gYFxuICBib3R0b206ICR7cHJvcHMgPT4gKHByb3BzLmljb25Qb3NpdGlvbiA9PT0gJ3RvcCcgPyAnNDVweCcgOiAnaW5oZXJpdCcpfTtcbiAgY29sb3I6ICR7cHJvcHMgPT4gcHJvcHMuaXNJbnZlcnNlXHJcbiAgICA/IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsMTAwXHJcbiAgICA6IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsNzAwfTtcbiAgbGVmdDogJHtwcm9wcyA9PiBwcm9wcy5pY29uUG9zaXRpb24gPT09ICdsZWZ0JyA/IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzAzIDogJ2F1dG8nfTtcbiAgcmlnaHQ6ICR7cHJvcHMgPT4gcHJvcHMuaWNvblBvc2l0aW9uID09PSAncmlnaHQnXHJcbiAgICA/IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzAzXHJcbiAgICA6IHByb3BzLmljb25Qb3NpdGlvbiA9PT0gJ3RvcCdcclxuICAgICAgICA/ICczcHgnXHJcbiAgICAgICAgOiAnYXV0byd9O1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogJHtwcm9wcyA9PiBwcm9wcy5pY29uUG9zaXRpb24gPT09ICd0b3AnXHJcbiAgICA/ICdpbmhlcml0J1xyXG4gICAgOiBwcm9wcyA9PiBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwM307XG5cbiAgJHtwcm9wcyA9PiBwcm9wcy5pbnB1dFNpemUgPT09ICdsYXJnZScgJiZcclxuICAgIGNzcyBgXG4gICAgICBib3R0b206ICR7cHJvcHMuaWNvblBvc2l0aW9uID09PSAndG9wJyA/ICc2MnB4JyA6ICdpbmhlcml0J307XG4gICAgICBsZWZ0OiAke3Byb3BzLmljb25Qb3NpdGlvbiA9PT0gJ2xlZnQnXHJcbiAgICAgICAgPyBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwNFxyXG4gICAgICAgIDogJ2F1dG8nfTtcbiAgICAgIHJpZ2h0OiAke3Byb3BzLmljb25Qb3NpdGlvbiA9PT0gJ3JpZ2h0J1xyXG4gICAgICAgID8gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDRcclxuICAgICAgICA6IHByb3BzLmljb25Qb3NpdGlvbiA9PT0gJ3RvcCdcclxuICAgICAgICAgICAgPyAnM3B4J1xyXG4gICAgICAgICAgICA6ICdhdXRvJ307XG4gICAgICB0b3A6ICR7cHJvcHMuaWNvblBvc2l0aW9uID09PSAndG9wJ1xyXG4gICAgICAgID8gJ2luaGVyaXQnXHJcbiAgICAgICAgOiBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwNH07XG4gICAgYH1cbmA7XHJcbmZ1bmN0aW9uIGdldEljb25CdXR0b25TVkdTaXplKHByb3BzKSB7XHJcbiAgICBjb25zdCB7IGlzQ2xpY2thYmxlLCBpY29uUG9zaXRpb24sIGlucHV0U2l6ZSwgdGhlbWUgfSA9IHByb3BzO1xyXG4gICAgaWYgKGlzQ2xpY2thYmxlICYmIGljb25Qb3NpdGlvbiA9PT0gSW5wdXRJY29uUG9zaXRpb24udG9wKSB7XHJcbiAgICAgICAgaWYgKGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlKSB7XHJcbiAgICAgICAgICAgIHJldHVybiBgJHt0aGVtZS5pY29uU2l6ZXMubWVkaXVtfXB4YDtcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIGAke3RoZW1lLmljb25TaXplcy5zbWFsbH1weGA7XHJcbiAgICB9XHJcbiAgICBpZiAoaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2UpIHtcclxuICAgICAgICByZXR1cm4gYCR7dGhlbWUuaWNvblNpemVzLmxhcmdlfXB4YDtcclxuICAgIH1cclxuICAgIHJldHVybiBgJHt0aGVtZS5pY29uU2l6ZXMubWVkaXVtfXB4YDtcclxufVxyXG5mdW5jdGlvbiBnZXRIZWxwTGlua1NWR1NpemUocHJvcHMpIHtcclxuICAgIGNvbnN0IHsgaW5wdXRTaXplLCB0aGVtZSB9ID0gcHJvcHM7XHJcbiAgICBpZiAoaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2UpIHtcclxuICAgICAgICByZXR1cm4gYCR7dGhlbWUuaWNvblNpemVzLm1lZGl1bX1weGA7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gYCR7dGhlbWUuaWNvblNpemVzLnNtYWxsfXB4YDtcclxufVxyXG5leHBvcnQgZnVuY3Rpb24gZ2V0SGVscEljb25CdXR0b25TaXplKHByb3BzKSB7XHJcbiAgICBjb25zdCB7IGlucHV0U2l6ZSwgdGhlbWUgfSA9IHByb3BzO1xyXG4gICAgaWYgKGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlKSB7XHJcbiAgICAgICAgcmV0dXJuIHRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzA5O1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIHRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzA3O1xyXG59XHJcbmZ1bmN0aW9uIGdldEljb25CdXR0b25UcmFuc2Zvcm0ocHJvcHMpIHtcclxuICAgIGNvbnN0IHsgaXNDbGlja2FibGUsIGljb25Qb3NpdGlvbiwgaW5wdXRTaXplLCBoYXNDaGlsZHJlbiwgdGhlbWUgfSA9IHByb3BzO1xyXG4gICAgY29uc3QgcG9zaXRpb24gPSB7IHg6ICcnLCB5OiAnJyB9O1xyXG4gICAgaWYgKGljb25Qb3NpdGlvbiA9PT0gSW5wdXRJY29uUG9zaXRpb24udG9wKSB7XHJcbiAgICAgICAgaWYgKGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlKSB7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uLnggPSAnLTMwcHgnO1xyXG4gICAgICAgICAgICBwb3NpdGlvbi55ID0gJzJweCc7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2UgaWYgKGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLm1lZGl1bSkge1xyXG4gICAgICAgICAgICBwb3NpdGlvbi54ID0gJy0yOHB4JztcclxuICAgICAgICAgICAgcG9zaXRpb24ueSA9ICc1cHgnO1xyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gcG9zaXRpb247XHJcbiAgICB9XHJcbiAgICBpZiAoaXNDbGlja2FibGUpIHtcclxuICAgICAgICBpZiAoaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2UpIHtcclxuICAgICAgICAgICAgaWYgKGhhc0NoaWxkcmVuKSB7XHJcbiAgICAgICAgICAgICAgICBwb3NpdGlvbi54ID0gJy00M3B4JztcclxuICAgICAgICAgICAgICAgIHBvc2l0aW9uLnkgPSAnMTRweCc7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICAgICAgICBwb3NpdGlvbi54ID0gJy00OXB4JztcclxuICAgICAgICAgICAgICAgIHBvc2l0aW9uLnkgPSAnOHB4JztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBlbHNlIGlmIChpbnB1dFNpemUgPT09IElucHV0U2l6ZS5tZWRpdW0pIHtcclxuICAgICAgICAgICAgcG9zaXRpb24ueCA9ICctMzVweCc7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uLnkgPSAnNnB4JztcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIHBvc2l0aW9uO1xyXG4gICAgfVxyXG4gICAgaWYgKGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlKSB7XHJcbiAgICAgICAgcG9zaXRpb24ueCA9IGAtJHt0aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcxMH1gO1xyXG4gICAgICAgIHBvc2l0aW9uLnkgPSB0aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwMztcclxuICAgIH1cclxuICAgIGVsc2UgaWYgKGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLm1lZGl1bSkge1xyXG4gICAgICAgIHBvc2l0aW9uLnggPSAnLTI0cHgnO1xyXG4gICAgICAgIHBvc2l0aW9uLnkgPSAnN3B4JztcclxuICAgIH1cclxuICAgIHJldHVybiBwb3NpdGlvbjtcclxufVxyXG5leHBvcnQgY29uc3QgSWNvbkJ1dHRvbkNvbnRhaW5lciA9IHN0eWxlZC5zcGFuIGBcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGJvdHRvbTogJHtwcm9wcyA9PiAocHJvcHMuaWNvblBvc2l0aW9uID09PSAndG9wJyA/ICc0MHB4JyA6ICdpbmhlcml0Jyl9O1xuICBoZWlnaHQ6IGF1dG87XG4gIG1hcmdpbjogMDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aWR0aDogMDtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoXG4gICAgJHtwcm9wcyA9PiBnZXRJY29uQnV0dG9uVHJhbnNmb3JtKHByb3BzKS54fSxcbiAgICAke3Byb3BzID0+IGdldEljb25CdXR0b25UcmFuc2Zvcm0ocHJvcHMpLnl9XG4gICk7XG4gIHN2ZyB7XG4gICAgaGVpZ2h0OiAke3Byb3BzID0+IGdldEljb25CdXR0b25TVkdTaXplKHByb3BzKX07XG4gICAgd2lkdGg6ICR7cHJvcHMgPT4gZ2V0SWNvbkJ1dHRvblNWR1NpemUocHJvcHMpfTtcbiAgfVxuYDtcclxuY29uc3QgUGFzc3dvcmRCdXR0b25Db250YWluZXIgPSBzdHlsZWQuc3BhbiBgXG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICB3aWR0aDogMDtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoXG4gICAgJHtwcm9wcyA9PiBwcm9wcy5zaXplID09PSBJbnB1dFNpemUubGFyZ2VcclxuICAgID8gYCR7LXByb3BzLmJ1dHRvbldpZHRoIC0gOH1weGBcclxuICAgIDogYCR7LXByb3BzLmJ1dHRvbldpZHRoIC0gNn1weGB9LFxuICAgICR7cHJvcHMgPT4gcHJvcHMuc2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlID8gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDMgOiAnNnB4J31cbiAgKTtcbmA7XHJcbmZ1bmN0aW9uIGdldENsZWFyYWJsZVBvc2l0aW9uKHByb3BzKSB7XHJcbiAgICBpZiAocHJvcHMuaWNvblBvc2l0aW9uID09PSAncmlnaHQnICYmIHByb3BzLmljb24pIHtcclxuICAgICAgICBpZiAocHJvcHMuaW5wdXRTaXplID09PSAnbGFyZ2UnKSB7XHJcbiAgICAgICAgICAgIHJldHVybiBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcxMztcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuICc3MnB4JztcclxuICAgIH1cclxuICAgIGlmIChwcm9wcy5pbnB1dFNpemUgPT09ICdsYXJnZScpIHtcclxuICAgICAgICByZXR1cm4gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMTA7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gJzM0cHgnO1xyXG59XHJcbmNvbnN0IElzQ2xlYXJhYmxlQ29udGFpbmVyID0gc3R5bGVkLnNwYW4gYFxuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgbWFyZ2luOiAwO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGhlaWdodDogYXV0bztcbiAgd2lkdGg6IDA7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKFxuICAgIC0ke3Byb3BzID0+IGdldENsZWFyYWJsZVBvc2l0aW9uKHByb3BzKX0sXG4gICAgJHtwcm9wcyA9PiBwcm9wcy5pbnB1dFNpemUgPT09IElucHV0U2l6ZS5sYXJnZVxyXG4gICAgPyBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwM1xyXG4gICAgOiAnNnB4J31cbiAgKTtcbmA7XHJcbmZ1bmN0aW9uIGdldEljb25TaXplKHNpemUsIHRoZW1lLCBpY29uUG9zaXRpb24pIHtcclxuICAgIHN3aXRjaCAoc2l6ZSkge1xyXG4gICAgICAgIGNhc2UgJ2xhcmdlJzpcclxuICAgICAgICAgICAgaWYgKGljb25Qb3NpdGlvbiA9PT0gSW5wdXRJY29uUG9zaXRpb24udG9wKSB7XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gdGhlbWUuaWNvblNpemVzLm1lZGl1bTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICByZXR1cm4gdGhlbWUuaWNvblNpemVzLmxhcmdlO1xyXG4gICAgICAgIGRlZmF1bHQ6XHJcbiAgICAgICAgICAgIGlmIChpY29uUG9zaXRpb24gPT09IElucHV0SWNvblBvc2l0aW9uLnRvcCkge1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuIHRoZW1lLmljb25TaXplcy5zbWFsbDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICByZXR1cm4gdGhlbWUuaWNvblNpemVzLm1lZGl1bTtcclxuICAgIH1cclxufVxyXG5leHBvcnQgY29uc3QgaXNMZWZ0T3JIaWRkZW4gPSAoeyBsYWJlbFBvc2l0aW9uLCBpc0xhYmVsVmlzdWFsbHlIaWRkZW4sIH0pID0+IGxhYmVsUG9zaXRpb24gPT09IExhYmVsUG9zaXRpb24ubGVmdCB8fCBpc0xhYmVsVmlzdWFsbHlIaWRkZW47XHJcbmV4cG9ydCBjb25zdCBIZWxwTGlua0NvbnRhaW5lciA9IHN0eWxlZC5zcGFuIGBcbiAgcG9zaXRpb246ICR7cHJvcHMgPT4gKGlzTGVmdE9ySGlkZGVuKHByb3BzKSA/ICdyZWxhdGl2ZScgOiAnYWJzb2x1dGUnKX07XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXG4gIGhlaWdodDogJHtwcm9wcyA9PiAoaXNMZWZ0T3JIaWRkZW4ocHJvcHMpID8gJ2F1dG8nIDogJ2ZpdC1jb250ZW50Jyl9O1xuICBtYXJnaW4taW5saW5lLXN0YXJ0OiAke3Byb3BzID0+IGlzTGVmdE9ySGlkZGVuKHByb3BzKSA/IGAke3Byb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzAzfWAgOiAnYXV0byd9O1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoXG4gICAgJHtwcm9wcyA9PiBpc0xlZnRPckhpZGRlbihwcm9wcylcclxuICAgID8gJzAnXHJcbiAgICA6IGBjYWxjKC0xMDAlIC0gJHtwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwM30pYH1cbiAgKTtcbiAgJHtDaGlsZHJlbldyYXBwZXJ9ID4gc3ZnIHtcbiAgICBoZWlnaHQ6ICR7cHJvcHMgPT4gZ2V0SGVscExpbmtTVkdTaXplKHByb3BzKX07XG4gICAgd2lkdGg6ICR7cHJvcHMgPT4gZ2V0SGVscExpbmtTVkdTaXplKHByb3BzKX07XG4gIH1cbiAgYnV0dG9uIHtcbiAgICBoZWlnaHQ6ICR7cHJvcHMgPT4gZ2V0SGVscEljb25CdXR0b25TaXplKHByb3BzKX07XG4gICAgd2lkdGg6ICR7cHJvcHMgPT4gZ2V0SGVscEljb25CdXR0b25TaXplKHByb3BzKX07XG4gIH1cbiAgaW5zZXQtaW5saW5lLWVuZDogJHtwcm9wcyA9PiAoaXNMZWZ0T3JIaWRkZW4ocHJvcHMpID8gJ2F1dG8nIDogJzAnKX07XG5gO1xyXG5leHBvcnQgY29uc3QgSW5wdXRCYXNlID0gUmVhY3QuZm9yd2FyZFJlZigocHJvcHMsIGZvcndhcmRlZFJlZikgPT4ge1xyXG4gICAgY29uc3QgeyBjaGlsZHJlbiwgY29udGFpbmVyU3R5bGUsIGRlZmF1bHRWYWx1ZSwgZGlzYWJsZWQsIGhhc0NoYXJhY3RlckNvdW50ZXIsIGhhc0Vycm9yLCBpY29uLCBpY29uQXJpYUxhYmVsLCBpY29uUmVmLCBpc0NsZWFyYWJsZSwgaXNQYXNzd29yZElucHV0LCBpc1ByZWRpY3RpdmUsIG1heENvdW50LCBtYXhMZW5ndGgsIG9uQ2xlYXIsIG9uSWNvbkNsaWNrLCBvbkljb25LZXlEb3duLCBvbkRhdGVDaGFuZ2UsIGlucHV0TGVuZ3RoLCBpbnB1dFNpemUsIGlucHV0U3R5bGUsIGlucHV0V3JhcHBlclN0eWxlLCB0ZXN0SWQsIHR5cGUsIHNldFJlZmVyZW5jZSwgaXNMYWJlbFZpc3VhbGx5SGlkZGVuLCBsYWJlbFBvc2l0aW9uLCAuLi5vdGhlciB9ID0gcHJvcHM7XHJcbiAgICBjb25zdCBpMThuID0gUmVhY3QudXNlQ29udGV4dChJMThuQ29udGV4dCk7XHJcbiAgICBjb25zdCB0aGVtZSA9IFJlYWN0LnVzZUNvbnRleHQoVGhlbWVDb250ZXh0KTtcclxuICAgIGNvbnN0IGljb25Qb3NpdGlvbiA9IGljb24gJiYgb25JY29uQ2xpY2tcclxuICAgICAgICA/IElucHV0SWNvblBvc2l0aW9uLnJpZ2h0XHJcbiAgICAgICAgOiBpY29uICYmICFwcm9wcy5pY29uUG9zaXRpb25cclxuICAgICAgICAgICAgPyBJbnB1dEljb25Qb3NpdGlvbi5sZWZ0XHJcbiAgICAgICAgICAgIDogcHJvcHMuaWNvblBvc2l0aW9uO1xyXG4gICAgY29uc3QgW3ZhbHVlLCBzZXRWYWx1ZV0gPSBSZWFjdC51c2VTdGF0ZShwcm9wcy5kZWZhdWx0VmFsdWUgIT09IHVuZGVmaW5lZCAmJiBwcm9wcy5kZWZhdWx0VmFsdWUgIT09IG51bGxcclxuICAgICAgICA/IHByb3BzLmRlZmF1bHRWYWx1ZVxyXG4gICAgICAgIDogcHJvcHMudmFsdWUgfHwgJycpO1xyXG4gICAgY29uc3QgbWF4TGVuZ3RoTnVtID0gIWhhc0NoYXJhY3RlckNvdW50ZXIgJiYgbWF4TGVuZ3RoID8gbWF4TGVuZ3RoIDogdW5kZWZpbmVkO1xyXG4gICAgUmVhY3QudXNlRWZmZWN0KCgpID0+IHtcclxuICAgICAgICBpZiAocHJvcHMudmFsdWUgIT09IHVuZGVmaW5lZCAmJiBwcm9wcy52YWx1ZSAhPT0gbnVsbCkge1xyXG4gICAgICAgICAgICBzZXRWYWx1ZShwcm9wcy52YWx1ZSk7XHJcbiAgICAgICAgfVxyXG4gICAgfSwgW3Byb3BzLnZhbHVlXSk7XHJcbiAgICBjb25zdCBpbnB1dFJlZiA9IFJlYWN0LnVzZVJlZigpO1xyXG4gICAgY29uc3QgcmVmID0gdXNlRm9ya2VkUmVmKGZvcndhcmRlZFJlZiwgaW5wdXRSZWYpO1xyXG4gICAgZnVuY3Rpb24gaGFuZGxlQ2xlYXJJbnB1dCgpIHtcclxuICAgICAgICBvbkNsZWFyICYmIHR5cGVvZiBvbkNsZWFyID09PSAnZnVuY3Rpb24nICYmIG9uQ2xlYXIoKTtcclxuICAgICAgICBzZXRWYWx1ZSgnJyk7XHJcbiAgICAgICAgb25EYXRlQ2hhbmdlICYmIHR5cGVvZiBvbkRhdGVDaGFuZ2UgPT09ICdmdW5jdGlvbicgJiYgb25EYXRlQ2hhbmdlKG51bGwpO1xyXG4gICAgICAgIGlucHV0UmVmLmN1cnJlbnQuZm9jdXMoKTtcclxuICAgIH1cclxuICAgIGZ1bmN0aW9uIGhhbmRsZUNoYW5nZShldmVudCkge1xyXG4gICAgICAgIHByb3BzLm9uQ2hhbmdlICYmXHJcbiAgICAgICAgICAgIHR5cGVvZiBwcm9wcy5vbkNoYW5nZSA9PT0gJ2Z1bmN0aW9uJyAmJlxyXG4gICAgICAgICAgICBwcm9wcy5vbkNoYW5nZShldmVudCk7XHJcbiAgICAgICAgc2V0VmFsdWUoZXZlbnQudGFyZ2V0LnZhbHVlKTtcclxuICAgICAgICBpZiAoIWV2ZW50LnRhcmdldC52YWx1ZSAmJlxyXG4gICAgICAgICAgICBvbkRhdGVDaGFuZ2UgJiZcclxuICAgICAgICAgICAgdHlwZW9mIG9uRGF0ZUNoYW5nZSA9PT0gJ2Z1bmN0aW9uJylcclxuICAgICAgICAgICAgb25EYXRlQ2hhbmdlKG51bGwpO1xyXG4gICAgfVxyXG4gICAgY29uc3QgcGFzc3dvcmRCdG5XaWR0aCA9ICgpID0+IHtcclxuICAgICAgICBjb25zdCBidG5XaWR0aCA9IGNoaWxkcmVuPy5wcm9wcz8uY2hpbGRyZW4/LlswXT8ucmVmPy5jdXJyZW50Py5vZmZzZXRXaWR0aDtcclxuICAgICAgICBpZiAodHlwZW9mIGJ0bldpZHRoID09PSAnbnVtYmVyJykge1xyXG4gICAgICAgICAgICByZXR1cm4gYnRuV2lkdGg7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgICAvLyBXaGVuIFBhc3N3b3JkQnV0dG9uIGlzIHVzZWQgaW5zaWRlIFNjaGVtYVJlbmRlcmVyLCBpdCBkb2Vzbid0IGhhdmUgY2hpbGRyZW4uXHJcbiAgICAgICAgICAgIC8vIFdlJ2xsIHVzZSB0aGUgZGVmYXVsdCBidXR0b24gc2l6ZXMuXHJcbiAgICAgICAgICAgIGlmIChwcm9wcy5pbnB1dFNpemUgPT09IElucHV0U2l6ZS5sYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuIDY0O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHJldHVybiA1NDtcclxuICAgICAgICB9XHJcbiAgICB9O1xyXG4gICAgcmV0dXJuIChSZWFjdC5jcmVhdGVFbGVtZW50KFwiZGl2XCIsIHsgcmVmOiBzZXRSZWZlcmVuY2UgfSxcclxuICAgICAgICBSZWFjdC5jcmVhdGVFbGVtZW50KElucHV0Q29udGFpbmVyLCB7IHN0eWxlOiBpbnB1dFdyYXBwZXJTdHlsZSwgXCJkYXRhLXRlc3RpZFwiOiBgJHt0ZXN0SWR9LXdyYXBwZXJgIH0sXHJcbiAgICAgICAgICAgIFJlYWN0LmNyZWF0ZUVsZW1lbnQoSW5wdXRXcmFwcGVyLCB7IGRpc2FibGVkOiBkaXNhYmxlZCwgaWNvblBvc2l0aW9uOiBpY29uUG9zaXRpb24sIGlzSW52ZXJzZTogcHJvcHMuaXNJbnZlcnNlLCBpbnB1dFNpemU6IGlucHV0U2l6ZSA/PyBJbnB1dFNpemUubWVkaXVtLCB0aGVtZTogdGhlbWUsIHN0eWxlOiBjb250YWluZXJTdHlsZSwgaGFzRXJyb3I6IGhhc0Vycm9yLCBpc0NsZWFyYWJsZTogaXNDbGVhcmFibGUsIHdpZHRoOiBwcm9wcy53aWR0aCB9LFxyXG4gICAgICAgICAgICAgICAgUmVhY3QuY3JlYXRlRWxlbWVudChTdHlsZWRJbnB1dCwgT2JqZWN0LmFzc2lnbih7fSwgb3RoZXIsIHsgXCJhcmlhLWludmFsaWRcIjogaGFzRXJyb3IsIGRpc2FibGVkOiBkaXNhYmxlZCwgXCJkYXRhLXRlc3RpZFwiOiB0ZXN0SWQsIGhhc0NoYXJhY3RlckNvdW50ZXI6IGhhc0NoYXJhY3RlckNvdW50ZXIsIGljb25Qb3NpdGlvbjogaWNvblBvc2l0aW9uLCBpbnB1dFNpemU6IGlucHV0U2l6ZSA/PyBJbnB1dFNpemUubWVkaXVtLCBpc0NsZWFyYWJsZTogdHlwZSA9PT0gSW5wdXRUeXBlLnNlYXJjaFxyXG4gICAgICAgICAgICAgICAgICAgICAgICA/IGlzQ2xlYXJhYmxlXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDogaW5wdXRXcmFwcGVyU3R5bGU/LndpZHRoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA/IGlzQ2xlYXJhYmxlXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IGlzQ2xlYXJhYmxlICYmIGlucHV0TGVuZ3RoID4gMCwgaXNJbnZlcnNlOiB1c2VJc0ludmVyc2UocHJvcHMuaXNJbnZlcnNlKSwgaXNQcmVkaWN0aXZlOiBpc1ByZWRpY3RpdmUsIGhhc0Vycm9yOiBoYXNFcnJvciwgcmVmOiByZWYsIG1heExlbmd0aDogbWF4TGVuZ3RoTnVtLCBvbkNoYW5nZTogaGFuZGxlQ2hhbmdlLCBzdHlsZTogaW5wdXRTdHlsZSwgdGhlbWU6IHRoZW1lLCB0eXBlOiB0eXBlID8gdHlwZSA6IElucHV0VHlwZS50ZXh0LCB2YWx1ZTogdmFsdWUgfSkpLFxyXG4gICAgICAgICAgICAgICAgaWNvbiAmJiAhb25JY29uQ2xpY2sgJiYgKFJlYWN0LmNyZWF0ZUVsZW1lbnQoSWNvbldyYXBwZXIsIHsgXCJhcmlhLWxhYmVsXCI6IGljb25BcmlhTGFiZWwsIGljb25Qb3NpdGlvbjogaWNvblBvc2l0aW9uLCBpbnB1dFNpemU6IGlucHV0U2l6ZSA/PyBJbnB1dFNpemUubWVkaXVtLCBpc0ludmVyc2U6IHByb3BzLmlzSW52ZXJzZSwgaXNQcmVkaWN0aXZlOiBpc1ByZWRpY3RpdmUsIHRoZW1lOiB0aGVtZSwgZGlzYWJsZWQ6IGRpc2FibGVkIH0sIFJlYWN0LkNoaWxkcmVuLm9ubHkoUmVhY3QuY2xvbmVFbGVtZW50KGljb24sIHtcclxuICAgICAgICAgICAgICAgICAgICBzaXplOiBnZXRJY29uU2l6ZShpbnB1dFNpemUgPz8gSW5wdXRTaXplLm1lZGl1bSwgdGhlbWUsIGljb25Qb3NpdGlvbiksXHJcbiAgICAgICAgICAgICAgICB9KSkpKSksXHJcbiAgICAgICAgICAgIGlzQ2xlYXJhYmxlICYmIHZhbHVlICE9PSAnJyAmJiAoUmVhY3QuY3JlYXRlRWxlbWVudChJc0NsZWFyYWJsZUNvbnRhaW5lciwgeyB0aGVtZTogdGhlbWUsIGljb25Qb3NpdGlvbjogaWNvblBvc2l0aW9uLCBpbnB1dFNpemU6IGlucHV0U2l6ZSwgaWNvbjogaWNvbiB9LFxyXG4gICAgICAgICAgICAgICAgUmVhY3QuY3JlYXRlRWxlbWVudChJY29uQnV0dG9uLCB7IFwiYXJpYS1sYWJlbFwiOiBpMThuLmlucHV0LmlzQ2xlYXJhYmxlQXJpYUxhYmVsLCBkaXNhYmxlZDogZGlzYWJsZWQsIGljb246IFJlYWN0LmNyZWF0ZUVsZW1lbnQoQ2xlYXJJY29uLCBudWxsKSwgaXNJbnZlcnNlOiBwcm9wcy5pc0ludmVyc2UsIG9uQ2xpY2s6IGhhbmRsZUNsZWFySW5wdXQsIG9uS2V5RG93bjogb25JY29uS2V5RG93biwgcmVmOiBpY29uUmVmLCBzaGFwZTogQnV0dG9uU2hhcGUuZmlsbCwgc2l6ZTogaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2VcclxuICAgICAgICAgICAgICAgICAgICAgICAgPyBCdXR0b25TaXplLm1lZGl1bVxyXG4gICAgICAgICAgICAgICAgICAgICAgICA6IEJ1dHRvblNpemUuc21hbGwsIHRlc3RJZDogXCJjbGVhci1idXR0b25cIiwgdHlwZTogQnV0dG9uVHlwZS5idXR0b24sIHZhcmlhbnQ6IEJ1dHRvblZhcmlhbnQubGluayB9KSkpLFxyXG4gICAgICAgICAgICBvbkljb25DbGljayAmJiAoUmVhY3QuY3JlYXRlRWxlbWVudChJY29uQnV0dG9uQ29udGFpbmVyLCB7IGljb25Qb3NpdGlvbjogaWNvblBvc2l0aW9uLCBpbnB1dFNpemU6IGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlXHJcbiAgICAgICAgICAgICAgICAgICAgPyBJbnB1dFNpemUubGFyZ2VcclxuICAgICAgICAgICAgICAgICAgICA6IElucHV0U2l6ZS5tZWRpdW0sIHRoZW1lOiB0aGVtZSwgaXNDbGlja2FibGU6IHRydWUgfSxcclxuICAgICAgICAgICAgICAgIFJlYWN0LmNyZWF0ZUVsZW1lbnQoSWNvbkJ1dHRvbiwgeyBcImFyaWEtbGFiZWxcIjogaWNvbkFyaWFMYWJlbCwgaWNvbjogaWNvbiwgaXNJbnZlcnNlOiBwcm9wcy5pc0ludmVyc2UsIG9uQ2xpY2s6IG9uSWNvbkNsaWNrLCBvbktleURvd246IG9uSWNvbktleURvd24sIHJlZjogaWNvblJlZiwgZGlzYWJsZWQ6IGRpc2FibGVkLCBzaGFwZTogQnV0dG9uU2hhcGUuZmlsbCwgc2l6ZTogaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2VcclxuICAgICAgICAgICAgICAgICAgICAgICAgPyBCdXR0b25TaXplLm1lZGl1bVxyXG4gICAgICAgICAgICAgICAgICAgICAgICA6IEJ1dHRvblNpemUuc21hbGwsIHR5cGU6IEJ1dHRvblR5cGUuYnV0dG9uLCB2YXJpYW50OiBCdXR0b25WYXJpYW50LmxpbmsgfSkpKSxcclxuICAgICAgICAgICAgaXNQYXNzd29yZElucHV0ID8gKFJlYWN0LmNyZWF0ZUVsZW1lbnQoUGFzc3dvcmRCdXR0b25Db250YWluZXIsIHsgc2l6ZTogaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2VcclxuICAgICAgICAgICAgICAgICAgICA/IElucHV0U2l6ZS5sYXJnZVxyXG4gICAgICAgICAgICAgICAgICAgIDogSW5wdXRTaXplLm1lZGl1bSwgdGhlbWU6IHRoZW1lLCBidXR0b25XaWR0aDogcGFzc3dvcmRCdG5XaWR0aCgpIH0sIGNoaWxkcmVuKSkgOiAoUmVhY3QuY3JlYXRlRWxlbWVudChIZWxwTGlua0NvbnRhaW5lciwgeyBpc0xhYmVsVmlzdWFsbHlIaWRkZW46IGlzTGFiZWxWaXN1YWxseUhpZGRlbiB8fCBmYWxzZSwgaW5wdXRTaXplOiBpbnB1dFNpemUgPz8gSW5wdXRTaXplLm1lZGl1bSwgbGFiZWxQb3NpdGlvbjogbGFiZWxQb3NpdGlvbiA/PyBMYWJlbFBvc2l0aW9uLnRvcCwgdGhlbWU6IHRoZW1lIH0sIGNoaWxkcmVuKSkpKSk7XHJcbn0pO1xyXG4vLyMgc291cmNlTWFwcGluZ1VSTD1pbmRleC5qcy5tYXAiXX0= */"));
|
|
4922
|
+
return /*#__PURE__*/css("border:0;border-radius:", props.theme.borderRadius, ";background:transparent;color:", props.isInverse ? props.theme.colors.neutral100 : props.theme.colors.neutral700, ";display:block;font-size:", props.theme.typeScale.size03.fontSize, ";line-height:", props.theme.typeScale.size03.lineHeight, ";font-family:", props.theme.bodyFont, ";height:100%;padding:", props.theme.spaceScale.spacing03, ";-webkit-appearance:none;width:100%;", props.inputSize === 'large' && /*#__PURE__*/css("font-size:", props.theme.typeScale.size04.fontSize, ";line-height:", props.theme.typeScale.size04.lineHeight, ";padding:", props.theme.spaceScale.spacing04, ";;label:inputBaseStyles;" + (process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImluZGV4LnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUF3SlEiLCJmaWxlIjoiaW5kZXgudHN4Iiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgUmVhY3QgZnJvbSAncmVhY3QnO1xyXG5pbXBvcnQgeyBjc3MgfSBmcm9tICdAZW1vdGlvbi9yZWFjdCc7XHJcbmltcG9ydCBzdHlsZWQgZnJvbSAnQGVtb3Rpb24vc3R5bGVkJztcclxuaW1wb3J0IHsgdHJhbnNwYXJlbnRpemUgfSBmcm9tICdwb2xpc2hlZCc7XHJcbmltcG9ydCB7IENsZWFySWNvbiB9IGZyb20gJ3JlYWN0LW1hZ21hLWljb25zJztcclxuaW1wb3J0IHsgSTE4bkNvbnRleHQgfSBmcm9tICcuLi8uLi9pMThuJztcclxuaW1wb3J0IHsgdXNlSXNJbnZlcnNlIH0gZnJvbSAnLi4vLi4vaW52ZXJzZSc7XHJcbmltcG9ydCB7IFRoZW1lQ29udGV4dCB9IGZyb20gJy4uLy4uL3RoZW1lL1RoZW1lQ29udGV4dCc7XHJcbmltcG9ydCB7IHVzZUZvcmtlZFJlZiB9IGZyb20gJy4uLy4uL3V0aWxzJztcclxuaW1wb3J0IHsgQnV0dG9uU2hhcGUsIEJ1dHRvblNpemUsIEJ1dHRvblR5cGUsIEJ1dHRvblZhcmlhbnQgfSBmcm9tICcuLi9CdXR0b24nO1xyXG5pbXBvcnQgeyBJY29uQnV0dG9uIH0gZnJvbSAnLi4vSWNvbkJ1dHRvbic7XHJcbmltcG9ydCB7IExhYmVsUG9zaXRpb24gfSBmcm9tICcuLi9MYWJlbCc7XHJcbmltcG9ydCB7IENoaWxkcmVuV3JhcHBlciB9IGZyb20gJy4uL1N0eWxlZEJ1dHRvbic7XHJcbmV4cG9ydCB2YXIgSW5wdXRTaXplO1xyXG4oZnVuY3Rpb24gKElucHV0U2l6ZSkge1xyXG4gICAgSW5wdXRTaXplW1wibGFyZ2VcIl0gPSBcImxhcmdlXCI7XHJcbiAgICBJbnB1dFNpemVbXCJtZWRpdW1cIl0gPSBcIm1lZGl1bVwiO1xyXG59KShJbnB1dFNpemUgfHwgKElucHV0U2l6ZSA9IHt9KSk7XHJcbmV4cG9ydCB2YXIgSW5wdXRUeXBlO1xyXG4oZnVuY3Rpb24gKElucHV0VHlwZSkge1xyXG4gICAgSW5wdXRUeXBlW1wiZW1haWxcIl0gPSBcImVtYWlsXCI7XHJcbiAgICBJbnB1dFR5cGVbXCJmaWxlXCJdID0gXCJmaWxlXCI7XHJcbiAgICBJbnB1dFR5cGVbXCJudW1iZXJcIl0gPSBcIm51bWJlclwiO1xyXG4gICAgSW5wdXRUeXBlW1wicGFzc3dvcmRcIl0gPSBcInBhc3N3b3JkXCI7XHJcbiAgICBJbnB1dFR5cGVbXCJzZWFyY2hcIl0gPSBcInNlYXJjaFwiO1xyXG4gICAgSW5wdXRUeXBlW1widGV4dFwiXSA9IFwidGV4dFwiO1xyXG4gICAgSW5wdXRUeXBlW1widXJsXCJdID0gXCJ1cmxcIjtcclxuICAgIElucHV0VHlwZVtcInRlbFwiXSA9IFwidGVsXCI7XHJcbn0pKElucHV0VHlwZSB8fCAoSW5wdXRUeXBlID0ge30pKTtcclxuZXhwb3J0IHZhciBJbnB1dEljb25Qb3NpdGlvbjtcclxuKGZ1bmN0aW9uIChJbnB1dEljb25Qb3NpdGlvbikge1xyXG4gICAgSW5wdXRJY29uUG9zaXRpb25bXCJ0b3BcIl0gPSBcInRvcFwiO1xyXG4gICAgSW5wdXRJY29uUG9zaXRpb25bXCJsZWZ0XCJdID0gXCJsZWZ0XCI7XHJcbiAgICBJbnB1dEljb25Qb3NpdGlvbltcInJpZ2h0XCJdID0gXCJyaWdodFwiO1xyXG59KShJbnB1dEljb25Qb3NpdGlvbiB8fCAoSW5wdXRJY29uUG9zaXRpb24gPSB7fSkpO1xyXG5leHBvcnQgY29uc3QgaW5wdXRXcmFwcGVyU3R5bGVzID0gKHByb3BzKSA9PiBjc3MgYFxuICBmbGV4OiAxIDEgYXV0bztcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZGlzcGxheTogZmxleDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aWR0aDogJHtwcm9wcy53aWR0aCB8fCAnYXV0byd9O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAke3Byb3BzLmlzSW52ZXJzZVxyXG4gICAgPyB0cmFuc3BhcmVudGl6ZSgwLjgsIHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsOTAwKVxyXG4gICAgOiBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDEwMH07XG4gIGJvcmRlci1yYWRpdXM6ICR7cHJvcHMudGhlbWUuYm9yZGVyUmFkaXVzfTtcbiAgYm9yZGVyOiAxcHggc29saWRcbiAgICAke3Byb3BzLmlzSW52ZXJzZVxyXG4gICAgPyB0cmFuc3BhcmVudGl6ZSgwLjUsIHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsMTAwKVxyXG4gICAgOiBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDUwMH07XG4gIGhlaWdodDogJHtwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwOX07XG5cbiAgJjpmb2N1cy13aXRoaW4ge1xuICAgIG91dGxpbmU6IDJweCBzb2xpZFxuICAgICAgJHtwcm9wcy5pc0ludmVyc2VcclxuICAgID8gcHJvcHMudGhlbWUuY29sb3JzLmZvY3VzSW52ZXJzZVxyXG4gICAgOiBwcm9wcy50aGVtZS5jb2xvcnMuZm9jdXN9O1xuICAgIG91dGxpbmUtb2Zmc2V0OiAtMXB4O1xuICB9XG5cbiAgJHtwcm9wcy5oYXNFcnJvciAmJlxyXG4gICAgY3NzIGBcbiAgICBib3JkZXItY29sb3I6ICR7cHJvcHMuaXNJbnZlcnNlXHJcbiAgICAgICAgPyBwcm9wcy50aGVtZS5jb2xvcnMuZGFuZ2VyMzAwXHJcbiAgICAgICAgOiBwcm9wcy50aGVtZS5jb2xvcnMuZGFuZ2VyfTtcbiAgYH1cblxuICAke3Byb3BzLmRpc2FibGVkICYmXHJcbiAgICBjc3MgYFxuICAgIGJvcmRlci1jb2xvcjogJHtwcm9wcy5pc0ludmVyc2VcclxuICAgICAgICA/IHRyYW5zcGFyZW50aXplKDAuODUsIHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsMTAwKVxyXG4gICAgICAgIDogcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWwzMDB9O1xuICAgIGJhY2tncm91bmQtY29sb3I6ICR7cHJvcHMuaXNJbnZlcnNlXHJcbiAgICAgICAgPyB0cmFuc3BhcmVudGl6ZSgwLjksIHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsOTAwKVxyXG4gICAgICAgIDogcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWwyMDB9O1xuICBgfVxuXG4gICR7cHJvcHMuaW5wdXRTaXplID09PSAnbGFyZ2UnICYmXHJcbiAgICBjc3MgYFxuICAgIGhlaWdodDogJHtwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcxMX07XG4gIGB9XG5gO1xyXG5mdW5jdGlvbiBnZXRJbnB1dFBhZGRpbmcocHJvcHMpIHtcclxuICAgIGNvbnN0IHsgaW5wdXRTaXplLCBpc0NsZWFyYWJsZSwgaWNvblBvc2l0aW9uIH0gPSBwcm9wcztcclxuICAgIGNvbnN0IHBhZGRpbmcgPSB7XHJcbiAgICAgICAgbGVmdDogcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDMsXHJcbiAgICAgICAgcmlnaHQ6IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzAzLFxyXG4gICAgfTtcclxuICAgIGlmIChpbnB1dFNpemUgPT09ICdsYXJnZScpIHtcclxuICAgICAgICBpZiAoaXNDbGVhcmFibGUpIHtcclxuICAgICAgICAgICAgaWYgKGljb25Qb3NpdGlvbiA9PT0gJ3JpZ2h0Jykge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy5yaWdodCA9ICc5MnB4JztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBlbHNlIGlmIChpY29uUG9zaXRpb24gPT09ICdsZWZ0Jykge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy5sZWZ0ID0gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMTE7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLnJpZ2h0ID0gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMTE7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICAgICAgICAvLyBpY29uIHRvcCwgbm8gaWNvblxyXG4gICAgICAgICAgICAgICAgcGFkZGluZy5yaWdodCA9IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzExO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgICBpZiAoaWNvblBvc2l0aW9uID09PSAncmlnaHQnKSB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLnJpZ2h0ID0gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMTA7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgaWYgKGljb25Qb3NpdGlvbiA9PT0gJ2xlZnQnKSB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLmxlZnQgPSBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcxMDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIGVsc2UgaWYgKGlucHV0U2l6ZSA9PT0gJ21lZGl1bScpIHtcclxuICAgICAgICBpZiAoaXNDbGVhcmFibGUpIHtcclxuICAgICAgICAgICAgaWYgKGljb25Qb3NpdGlvbiA9PT0gJ3JpZ2h0Jykge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy5yaWdodCA9ICc2OHB4JztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBlbHNlIGlmIChpY29uUG9zaXRpb24gPT09ICdsZWZ0Jykge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy5sZWZ0ID0gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDk7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLnJpZ2h0ID0gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICAgICAgICAvLyBpY29uIHRvcCwgbm8gaWNvblxyXG4gICAgICAgICAgICAgICAgcGFkZGluZy5yaWdodCA9IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzA5O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgICBpZiAoaWNvblBvc2l0aW9uID09PSAncmlnaHQnKSB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLnJpZ2h0ID0gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgaWYgKGljb25Qb3NpdGlvbiA9PT0gJ2xlZnQnKSB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLmxlZnQgPSBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwOTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIHJldHVybiBwYWRkaW5nO1xyXG59XHJcbmV4cG9ydCBjb25zdCBpbnB1dEJhc2VTdHlsZXMgPSAocHJvcHMpID0+IGNzcyBgXG4gIGJvcmRlcjogMDtcbiAgYm9yZGVyLXJhZGl1czogJHtwcm9wcy50aGVtZS5ib3JkZXJSYWRpdXN9O1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgY29sb3I6ICR7cHJvcHMuaXNJbnZlcnNlXHJcbiAgICA/IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsMTAwXHJcbiAgICA6IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsNzAwfTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGZvbnQtc2l6ZTogJHtwcm9wcy50aGVtZS50eXBlU2NhbGUuc2l6ZTAzLmZvbnRTaXplfTtcbiAgbGluZS1oZWlnaHQ6ICR7cHJvcHMudGhlbWUudHlwZVNjYWxlLnNpemUwMy5saW5lSGVpZ2h0fTtcbiAgZm9udC1mYW1pbHk6ICR7cHJvcHMudGhlbWUuYm9keUZvbnR9O1xuICBoZWlnaHQ6IDEwMCU7XG4gIHBhZGRpbmc6ICR7cHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDN9O1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gIHdpZHRoOiAxMDAlO1xuXG4gICR7cHJvcHMuaW5wdXRTaXplID09PSAnbGFyZ2UnICYmXHJcbiAgICBjc3MgYFxuICAgIGZvbnQtc2l6ZTogJHtwcm9wcy50aGVtZS50eXBlU2NhbGUuc2l6ZTA0LmZvbnRTaXplfTtcbiAgICBsaW5lLWhlaWdodDogJHtwcm9wcy50aGVtZS50eXBlU2NhbGUuc2l6ZTA0LmxpbmVIZWlnaHR9O1xuICAgIHBhZGRpbmc6ICR7cHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDR9O1xuICBgfVxuXG4gIHBhZGRpbmctbGVmdDogJHtnZXRJbnB1dFBhZGRpbmcocHJvcHMpLmxlZnR9O1xuICBwYWRkaW5nLXJpZ2h0OiAke2dldElucHV0UGFkZGluZyhwcm9wcykucmlnaHR9O1xuXG4gICY6OnBsYWNlaG9sZGVyIHtcbiAgICBjb2xvcjogJHtwcm9wcy5pc0ludmVyc2VcclxuICAgID8gdHJhbnNwYXJlbnRpemUoMC4zLCBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDEwMClcclxuICAgIDogcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWw1MDB9O1xuICB9XG5cbiAgJjpmb2N1cyB7XG4gICAgb3V0bGluZTogMDtcbiAgfVxuXG4gICZbdHlwZT0nc2VhcmNoJ10ge1xuICAgICY6Oi13ZWJraXQtc2VhcmNoLWRlY29yYXRpb24sXG4gICAgJjo6LXdlYmtpdC1zZWFyY2gtY2FuY2VsLWJ1dHRvbixcbiAgICAmOjotd2Via2l0LXNlYXJjaC1yZXN1bHRzLWJ1dHRvbixcbiAgICAmOjotd2Via2l0LXNlYXJjaC1yZXN1bHRzLWRlY29yYXRpb24ge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gIH1cblxuICAke3Byb3BzLmRpc2FibGVkICYmXHJcbiAgICBjc3MgYFxuICAgIGNvbG9yOiAke3Byb3BzLmlzSW52ZXJzZVxyXG4gICAgICAgID8gdHJhbnNwYXJlbnRpemUoMC42LCBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDEwMClcclxuICAgICAgICA6IHRyYW5zcGFyZW50aXplKDAuNCwgcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWw1MDApfTtcbiAgICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xuXG4gICAgJjo6cGxhY2Vob2xkZXIge1xuICAgICAgY29sb3I6ICR7cHJvcHMuaXNJbnZlcnNlXHJcbiAgICAgICAgPyB0cmFuc3BhcmVudGl6ZSgwLjgsIHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsMTAwKVxyXG4gICAgICAgIDogcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWw1MDB9O1xuICAgICAgb3BhY2l0eTogJHtwcm9wcy5pc0ludmVyc2UgPyAwLjQgOiAwLjZ9O1xuICAgIH1cbiAgYH1cblxuICAmOi13ZWJraXQtYXV0b2ZpbGwsXG4gICY6LXdlYmtpdC1hdXRvZmlsbDpmb2N1cyxcbiAgJjotd2Via2l0LWF1dG9maWxsOmhvdmVyLFxuICAmOi13ZWJraXQtYXV0b2ZpbGw6YWN0aXZlIHtcbiAgICBib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XG4gICAgLXdlYmtpdC1iYWNrZ3JvdW5kLWNsaXA6IHRleHQ7XG4gICAgLXdlYmtpdC10ZXh0LWZpbGwtY29sb3I6ICR7cHJvcHMuaXNJbnZlcnNlXHJcbiAgICA/IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsMTAwXHJcbiAgICA6IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsNzAwfSAhaW1wb3J0YW50O1xuICAgIGNhcmV0LWNvbG9yOiAke3Byb3BzLmlzSW52ZXJzZVxyXG4gICAgPyBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDEwMFxyXG4gICAgOiBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDcwMH0gIWltcG9ydGFudDtcbiAgfVxuYDtcclxuY29uc3QgSW5wdXRDb250YWluZXIgPSBzdHlsZWQuZGl2IGBcbiAgZGlzcGxheTogZmxleDtcbmA7XHJcbmV4cG9ydCBjb25zdCBJbnB1dFdyYXBwZXIgPSBzdHlsZWQuZGl2IGBcbiAgJHtpbnB1dFdyYXBwZXJTdHlsZXN9XG5gO1xyXG5jb25zdCBTdHlsZWRJbnB1dCA9IHN0eWxlZC5pbnB1dCBgXG4gICR7aW5wdXRCYXNlU3R5bGVzfVxuYDtcclxuY29uc3QgSWNvbldyYXBwZXIgPSBzdHlsZWQuc3BhbiBgXG4gIGJvdHRvbTogJHtwcm9wcyA9PiAocHJvcHMuaWNvblBvc2l0aW9uID09PSAndG9wJyA/ICc0NXB4JyA6ICdpbmhlcml0Jyl9O1xuICBjb2xvcjogJHtwcm9wcyA9PiBwcm9wcy5pc0ludmVyc2VcclxuICAgID8gcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWwxMDBcclxuICAgIDogcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWw3MDB9O1xuICBsZWZ0OiAke3Byb3BzID0+IHByb3BzLmljb25Qb3NpdGlvbiA9PT0gJ2xlZnQnID8gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDMgOiAnYXV0byd9O1xuICByaWdodDogJHtwcm9wcyA9PiBwcm9wcy5pY29uUG9zaXRpb24gPT09ICdyaWdodCdcclxuICAgID8gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDNcclxuICAgIDogcHJvcHMuaWNvblBvc2l0aW9uID09PSAndG9wJ1xyXG4gICAgICAgID8gJzNweCdcclxuICAgICAgICA6ICdhdXRvJ307XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAke3Byb3BzID0+IHByb3BzLmljb25Qb3NpdGlvbiA9PT0gJ3RvcCdcclxuICAgID8gJ2luaGVyaXQnXHJcbiAgICA6IHByb3BzID0+IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzAzfTtcblxuICAke3Byb3BzID0+IHByb3BzLmlucHV0U2l6ZSA9PT0gJ2xhcmdlJyAmJlxyXG4gICAgY3NzIGBcbiAgICAgIGJvdHRvbTogJHtwcm9wcy5pY29uUG9zaXRpb24gPT09ICd0b3AnID8gJzYycHgnIDogJ2luaGVyaXQnfTtcbiAgICAgIGxlZnQ6ICR7cHJvcHMuaWNvblBvc2l0aW9uID09PSAnbGVmdCdcclxuICAgICAgICA/IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzA0XHJcbiAgICAgICAgOiAnYXV0byd9O1xuICAgICAgcmlnaHQ6ICR7cHJvcHMuaWNvblBvc2l0aW9uID09PSAncmlnaHQnXHJcbiAgICAgICAgPyBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwNFxyXG4gICAgICAgIDogcHJvcHMuaWNvblBvc2l0aW9uID09PSAndG9wJ1xyXG4gICAgICAgICAgICA/ICczcHgnXHJcbiAgICAgICAgICAgIDogJ2F1dG8nfTtcbiAgICAgIHRvcDogJHtwcm9wcy5pY29uUG9zaXRpb24gPT09ICd0b3AnXHJcbiAgICAgICAgPyAnaW5oZXJpdCdcclxuICAgICAgICA6IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzA0fTtcbiAgICBgfVxuYDtcclxuZnVuY3Rpb24gZ2V0SWNvbkJ1dHRvblNWR1NpemUocHJvcHMpIHtcclxuICAgIGNvbnN0IHsgaXNDbGlja2FibGUsIGljb25Qb3NpdGlvbiwgaW5wdXRTaXplLCB0aGVtZSB9ID0gcHJvcHM7XHJcbiAgICBpZiAoaXNDbGlja2FibGUgJiYgaWNvblBvc2l0aW9uID09PSBJbnB1dEljb25Qb3NpdGlvbi50b3ApIHtcclxuICAgICAgICBpZiAoaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2UpIHtcclxuICAgICAgICAgICAgcmV0dXJuIGAke3RoZW1lLmljb25TaXplcy5tZWRpdW19cHhgO1xyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gYCR7dGhlbWUuaWNvblNpemVzLnNtYWxsfXB4YDtcclxuICAgIH1cclxuICAgIGlmIChpbnB1dFNpemUgPT09IElucHV0U2l6ZS5sYXJnZSkge1xyXG4gICAgICAgIHJldHVybiBgJHt0aGVtZS5pY29uU2l6ZXMubGFyZ2V9cHhgO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIGAke3RoZW1lLmljb25TaXplcy5tZWRpdW19cHhgO1xyXG59XHJcbmZ1bmN0aW9uIGdldEhlbHBMaW5rU1ZHU2l6ZShwcm9wcykge1xyXG4gICAgY29uc3QgeyBpbnB1dFNpemUsIHRoZW1lIH0gPSBwcm9wcztcclxuICAgIGlmIChpbnB1dFNpemUgPT09IElucHV0U2l6ZS5sYXJnZSkge1xyXG4gICAgICAgIHJldHVybiBgJHt0aGVtZS5pY29uU2l6ZXMubWVkaXVtfXB4YDtcclxuICAgIH1cclxuICAgIHJldHVybiBgJHt0aGVtZS5pY29uU2l6ZXMuc21hbGx9cHhgO1xyXG59XHJcbmV4cG9ydCBmdW5jdGlvbiBnZXRIZWxwSWNvbkJ1dHRvblNpemUocHJvcHMpIHtcclxuICAgIGNvbnN0IHsgaW5wdXRTaXplLCB0aGVtZSB9ID0gcHJvcHM7XHJcbiAgICBpZiAoaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2UpIHtcclxuICAgICAgICByZXR1cm4gdGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDk7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gdGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDc7XHJcbn1cclxuZnVuY3Rpb24gZ2V0SWNvbkJ1dHRvblRyYW5zZm9ybShwcm9wcykge1xyXG4gICAgY29uc3QgeyBpc0NsaWNrYWJsZSwgaWNvblBvc2l0aW9uLCBpbnB1dFNpemUsIGhhc0NoaWxkcmVuLCB0aGVtZSB9ID0gcHJvcHM7XHJcbiAgICBjb25zdCBwb3NpdGlvbiA9IHsgeDogJycsIHk6ICcnIH07XHJcbiAgICBpZiAoaWNvblBvc2l0aW9uID09PSBJbnB1dEljb25Qb3NpdGlvbi50b3ApIHtcclxuICAgICAgICBpZiAoaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2UpIHtcclxuICAgICAgICAgICAgcG9zaXRpb24ueCA9ICctMzBweCc7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uLnkgPSAnMnB4JztcclxuICAgICAgICB9XHJcbiAgICAgICAgZWxzZSBpZiAoaW5wdXRTaXplID09PSBJbnB1dFNpemUubWVkaXVtKSB7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uLnggPSAnLTI4cHgnO1xyXG4gICAgICAgICAgICBwb3NpdGlvbi55ID0gJzVweCc7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiBwb3NpdGlvbjtcclxuICAgIH1cclxuICAgIGlmIChpc0NsaWNrYWJsZSkge1xyXG4gICAgICAgIGlmIChpbnB1dFNpemUgPT09IElucHV0U2l6ZS5sYXJnZSkge1xyXG4gICAgICAgICAgICBpZiAoaGFzQ2hpbGRyZW4pIHtcclxuICAgICAgICAgICAgICAgIHBvc2l0aW9uLnggPSAnLTQzcHgnO1xyXG4gICAgICAgICAgICAgICAgcG9zaXRpb24ueSA9ICcxNHB4JztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBlbHNlIHtcclxuICAgICAgICAgICAgICAgIHBvc2l0aW9uLnggPSAnLTQ5cHgnO1xyXG4gICAgICAgICAgICAgICAgcG9zaXRpb24ueSA9ICc4cHgnO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2UgaWYgKGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLm1lZGl1bSkge1xyXG4gICAgICAgICAgICBwb3NpdGlvbi54ID0gJy0zNXB4JztcclxuICAgICAgICAgICAgcG9zaXRpb24ueSA9ICc2cHgnO1xyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gcG9zaXRpb247XHJcbiAgICB9XHJcbiAgICBpZiAoaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2UpIHtcclxuICAgICAgICBwb3NpdGlvbi54ID0gYC0ke3RoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzEwfWA7XHJcbiAgICAgICAgcG9zaXRpb24ueSA9IHRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzAzO1xyXG4gICAgfVxyXG4gICAgZWxzZSBpZiAoaW5wdXRTaXplID09PSBJbnB1dFNpemUubWVkaXVtKSB7XHJcbiAgICAgICAgcG9zaXRpb24ueCA9ICctMjRweCc7XHJcbiAgICAgICAgcG9zaXRpb24ueSA9ICc3cHgnO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIHBvc2l0aW9uO1xyXG59XHJcbmV4cG9ydCBjb25zdCBJY29uQnV0dG9uQ29udGFpbmVyID0gc3R5bGVkLnNwYW4gYFxuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgYm90dG9tOiAke3Byb3BzID0+IChwcm9wcy5pY29uUG9zaXRpb24gPT09ICd0b3AnID8gJzQwcHgnIDogJ2luaGVyaXQnKX07XG4gIGhlaWdodDogYXV0bztcbiAgbWFyZ2luOiAwO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiAwO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZShcbiAgICAke3Byb3BzID0+IGdldEljb25CdXR0b25UcmFuc2Zvcm0ocHJvcHMpLnh9LFxuICAgICR7cHJvcHMgPT4gZ2V0SWNvbkJ1dHRvblRyYW5zZm9ybShwcm9wcykueX1cbiAgKTtcbiAgc3ZnIHtcbiAgICBoZWlnaHQ6ICR7cHJvcHMgPT4gZ2V0SWNvbkJ1dHRvblNWR1NpemUocHJvcHMpfTtcbiAgICB3aWR0aDogJHtwcm9wcyA9PiBnZXRJY29uQnV0dG9uU1ZHU2l6ZShwcm9wcyl9O1xuICB9XG5gO1xyXG5jb25zdCBQYXNzd29yZEJ1dHRvbkNvbnRhaW5lciA9IHN0eWxlZC5zcGFuIGBcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIHdpZHRoOiAwO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZShcbiAgICAke3Byb3BzID0+IHByb3BzLnNpemUgPT09IElucHV0U2l6ZS5sYXJnZVxyXG4gICAgPyBgJHstcHJvcHMuYnV0dG9uV2lkdGggLSA4fXB4YFxyXG4gICAgOiBgJHstcHJvcHMuYnV0dG9uV2lkdGggLSA2fXB4YH0sXG4gICAgJHtwcm9wcyA9PiBwcm9wcy5zaXplID09PSBJbnB1dFNpemUubGFyZ2UgPyBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwMyA6ICc2cHgnfVxuICApO1xuYDtcclxuZnVuY3Rpb24gZ2V0Q2xlYXJhYmxlUG9zaXRpb24ocHJvcHMpIHtcclxuICAgIGlmIChwcm9wcy5pY29uUG9zaXRpb24gPT09ICdyaWdodCcgJiYgcHJvcHMuaWNvbikge1xyXG4gICAgICAgIGlmIChwcm9wcy5pbnB1dFNpemUgPT09ICdsYXJnZScpIHtcclxuICAgICAgICAgICAgcmV0dXJuIHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzEzO1xyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gJzcycHgnO1xyXG4gICAgfVxyXG4gICAgaWYgKHByb3BzLmlucHV0U2l6ZSA9PT0gJ2xhcmdlJykge1xyXG4gICAgICAgIHJldHVybiBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcxMDtcclxuICAgIH1cclxuICAgIHJldHVybiAnMzRweCc7XHJcbn1cclxuY29uc3QgSXNDbGVhcmFibGVDb250YWluZXIgPSBzdHlsZWQuc3BhbiBgXG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBtYXJnaW46IDA7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgaGVpZ2h0OiBhdXRvO1xuICB3aWR0aDogMDtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoXG4gICAgLSR7cHJvcHMgPT4gZ2V0Q2xlYXJhYmxlUG9zaXRpb24ocHJvcHMpfSxcbiAgICAke3Byb3BzID0+IHByb3BzLmlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlXHJcbiAgICA/IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzAzXHJcbiAgICA6ICc2cHgnfVxuICApO1xuYDtcclxuZnVuY3Rpb24gZ2V0SWNvblNpemUoc2l6ZSwgdGhlbWUsIGljb25Qb3NpdGlvbikge1xyXG4gICAgc3dpdGNoIChzaXplKSB7XHJcbiAgICAgICAgY2FzZSAnbGFyZ2UnOlxyXG4gICAgICAgICAgICBpZiAoaWNvblBvc2l0aW9uID09PSBJbnB1dEljb25Qb3NpdGlvbi50b3ApIHtcclxuICAgICAgICAgICAgICAgIHJldHVybiB0aGVtZS5pY29uU2l6ZXMubWVkaXVtO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHJldHVybiB0aGVtZS5pY29uU2l6ZXMubGFyZ2U7XHJcbiAgICAgICAgZGVmYXVsdDpcclxuICAgICAgICAgICAgaWYgKGljb25Qb3NpdGlvbiA9PT0gSW5wdXRJY29uUG9zaXRpb24udG9wKSB7XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gdGhlbWUuaWNvblNpemVzLnNtYWxsO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHJldHVybiB0aGVtZS5pY29uU2l6ZXMubWVkaXVtO1xyXG4gICAgfVxyXG59XHJcbmV4cG9ydCBjb25zdCBpc0xlZnRPckhpZGRlbiA9ICh7IGxhYmVsUG9zaXRpb24sIGlzTGFiZWxWaXN1YWxseUhpZGRlbiwgfSkgPT4gbGFiZWxQb3NpdGlvbiA9PT0gTGFiZWxQb3NpdGlvbi5sZWZ0IHx8IGlzTGFiZWxWaXN1YWxseUhpZGRlbjtcclxuZXhwb3J0IGNvbnN0IEhlbHBMaW5rQ29udGFpbmVyID0gc3R5bGVkLnNwYW4gYFxuICBwb3NpdGlvbjogJHtwcm9wcyA9PiAoaXNMZWZ0T3JIaWRkZW4ocHJvcHMpID8gJ3JlbGF0aXZlJyA6ICdhYnNvbHV0ZScpfTtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cbiAgaGVpZ2h0OiAke3Byb3BzID0+IChpc0xlZnRPckhpZGRlbihwcm9wcykgPyAnYXV0bycgOiAnZml0LWNvbnRlbnQnKX07XG4gIG1hcmdpbi1pbmxpbmUtc3RhcnQ6ICR7cHJvcHMgPT4gaXNMZWZ0T3JIaWRkZW4ocHJvcHMpID8gYCR7cHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDN9YCA6ICdhdXRvJ307XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWShcbiAgICAke3Byb3BzID0+IGlzTGVmdE9ySGlkZGVuKHByb3BzKVxyXG4gICAgPyAnMCdcclxuICAgIDogYGNhbGMoLTEwMCUgLSAke3Byb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzAzfSlgfVxuICApO1xuICAke0NoaWxkcmVuV3JhcHBlcn0gPiBzdmcge1xuICAgIGhlaWdodDogJHtwcm9wcyA9PiBnZXRIZWxwTGlua1NWR1NpemUocHJvcHMpfTtcbiAgICB3aWR0aDogJHtwcm9wcyA9PiBnZXRIZWxwTGlua1NWR1NpemUocHJvcHMpfTtcbiAgfVxuICBidXR0b24ge1xuICAgIGhlaWdodDogJHtwcm9wcyA9PiBnZXRIZWxwSWNvbkJ1dHRvblNpemUocHJvcHMpfTtcbiAgICB3aWR0aDogJHtwcm9wcyA9PiBnZXRIZWxwSWNvbkJ1dHRvblNpemUocHJvcHMpfTtcbiAgfVxuICBpbnNldC1pbmxpbmUtZW5kOiAke3Byb3BzID0+IChpc0xlZnRPckhpZGRlbihwcm9wcykgPyAnYXV0bycgOiAnMCcpfTtcbmA7XHJcbmV4cG9ydCBjb25zdCBJbnB1dEJhc2UgPSBSZWFjdC5mb3J3YXJkUmVmKChwcm9wcywgZm9yd2FyZGVkUmVmKSA9PiB7XHJcbiAgICBjb25zdCB7IGNoaWxkcmVuLCBjb250YWluZXJTdHlsZSwgZGVmYXVsdFZhbHVlLCBkaXNhYmxlZCwgaGFzQ2hhcmFjdGVyQ291bnRlciwgaGFzRXJyb3IsIGljb24sIGljb25BcmlhTGFiZWwsIGljb25SZWYsIGlzQ2xlYXJhYmxlLCBpc1Bhc3N3b3JkSW5wdXQsIGlzUHJlZGljdGl2ZSwgbWF4Q291bnQsIG1heExlbmd0aCwgb25DbGVhciwgb25JY29uQ2xpY2ssIG9uSWNvbktleURvd24sIG9uRGF0ZUNoYW5nZSwgaW5wdXRMZW5ndGgsIGlucHV0U2l6ZSwgaW5wdXRTdHlsZSwgaW5wdXRXcmFwcGVyU3R5bGUsIHRlc3RJZCwgdHlwZSwgc2V0UmVmZXJlbmNlLCBpc0xhYmVsVmlzdWFsbHlIaWRkZW4sIGxhYmVsUG9zaXRpb24sIC4uLm90aGVyIH0gPSBwcm9wcztcclxuICAgIGNvbnN0IGkxOG4gPSBSZWFjdC51c2VDb250ZXh0KEkxOG5Db250ZXh0KTtcclxuICAgIGNvbnN0IHRoZW1lID0gUmVhY3QudXNlQ29udGV4dChUaGVtZUNvbnRleHQpO1xyXG4gICAgY29uc3QgaWNvblBvc2l0aW9uID0gaWNvbiAmJiBvbkljb25DbGlja1xyXG4gICAgICAgID8gSW5wdXRJY29uUG9zaXRpb24ucmlnaHRcclxuICAgICAgICA6IGljb24gJiYgIXByb3BzLmljb25Qb3NpdGlvblxyXG4gICAgICAgICAgICA/IElucHV0SWNvblBvc2l0aW9uLmxlZnRcclxuICAgICAgICAgICAgOiBwcm9wcy5pY29uUG9zaXRpb247XHJcbiAgICBjb25zdCBbdmFsdWUsIHNldFZhbHVlXSA9IFJlYWN0LnVzZVN0YXRlKHByb3BzLmRlZmF1bHRWYWx1ZSAhPT0gdW5kZWZpbmVkICYmIHByb3BzLmRlZmF1bHRWYWx1ZSAhPT0gbnVsbFxyXG4gICAgICAgID8gcHJvcHMuZGVmYXVsdFZhbHVlXHJcbiAgICAgICAgOiBwcm9wcy52YWx1ZSB8fCAnJyk7XHJcbiAgICBjb25zdCBtYXhMZW5ndGhOdW0gPSAhaGFzQ2hhcmFjdGVyQ291bnRlciAmJiBtYXhMZW5ndGggPyBtYXhMZW5ndGggOiB1bmRlZmluZWQ7XHJcbiAgICBSZWFjdC51c2VFZmZlY3QoKCkgPT4ge1xyXG4gICAgICAgIGlmIChwcm9wcy52YWx1ZSAhPT0gdW5kZWZpbmVkICYmIHByb3BzLnZhbHVlICE9PSBudWxsKSB7XHJcbiAgICAgICAgICAgIHNldFZhbHVlKHByb3BzLnZhbHVlKTtcclxuICAgICAgICB9XHJcbiAgICB9LCBbcHJvcHMudmFsdWVdKTtcclxuICAgIGNvbnN0IGlucHV0UmVmID0gUmVhY3QudXNlUmVmKCk7XHJcbiAgICBjb25zdCByZWYgPSB1c2VGb3JrZWRSZWYoZm9yd2FyZGVkUmVmLCBpbnB1dFJlZik7XHJcbiAgICBmdW5jdGlvbiBoYW5kbGVDbGVhcklucHV0KCkge1xyXG4gICAgICAgIG9uQ2xlYXIgJiYgdHlwZW9mIG9uQ2xlYXIgPT09ICdmdW5jdGlvbicgJiYgb25DbGVhcigpO1xyXG4gICAgICAgIHNldFZhbHVlKCcnKTtcclxuICAgICAgICBvbkRhdGVDaGFuZ2UgJiYgdHlwZW9mIG9uRGF0ZUNoYW5nZSA9PT0gJ2Z1bmN0aW9uJyAmJiBvbkRhdGVDaGFuZ2UobnVsbCk7XHJcbiAgICAgICAgaW5wdXRSZWYuY3VycmVudC5mb2N1cygpO1xyXG4gICAgfVxyXG4gICAgZnVuY3Rpb24gaGFuZGxlQ2hhbmdlKGV2ZW50KSB7XHJcbiAgICAgICAgcHJvcHMub25DaGFuZ2UgJiZcclxuICAgICAgICAgICAgdHlwZW9mIHByb3BzLm9uQ2hhbmdlID09PSAnZnVuY3Rpb24nICYmXHJcbiAgICAgICAgICAgIHByb3BzLm9uQ2hhbmdlKGV2ZW50KTtcclxuICAgICAgICBjb25zdCBpc09uRGF0ZUNoYW5nZSA9IG9uRGF0ZUNoYW5nZSAmJiB0eXBlb2Ygb25EYXRlQ2hhbmdlID09PSAnZnVuY3Rpb24nO1xyXG4gICAgICAgIGNvbnN0IHsgdmFsdWUgfSA9IGV2ZW50LnRhcmdldDtcclxuICAgICAgICBzZXRWYWx1ZShpc09uRGF0ZUNoYW5nZSA/IHZhbHVlIDogKHByb3BzLnZhbHVlID8/IHZhbHVlKSk7XHJcbiAgICAgICAgaWYgKGlzT25EYXRlQ2hhbmdlICYmICF2YWx1ZSkge1xyXG4gICAgICAgICAgICBvbkRhdGVDaGFuZ2UobnVsbCk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgY29uc3QgcGFzc3dvcmRCdG5XaWR0aCA9ICgpID0+IHtcclxuICAgICAgICBjb25zdCBidG5XaWR0aCA9IGNoaWxkcmVuPy5wcm9wcz8uY2hpbGRyZW4/LlswXT8ucmVmPy5jdXJyZW50Py5vZmZzZXRXaWR0aDtcclxuICAgICAgICBpZiAodHlwZW9mIGJ0bldpZHRoID09PSAnbnVtYmVyJykge1xyXG4gICAgICAgICAgICByZXR1cm4gYnRuV2lkdGg7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgICAvLyBXaGVuIFBhc3N3b3JkQnV0dG9uIGlzIHVzZWQgaW5zaWRlIFNjaGVtYVJlbmRlcmVyLCBpdCBkb2Vzbid0IGhhdmUgY2hpbGRyZW4uXHJcbiAgICAgICAgICAgIC8vIFdlJ2xsIHVzZSB0aGUgZGVmYXVsdCBidXR0b24gc2l6ZXMuXHJcbiAgICAgICAgICAgIGlmIChwcm9wcy5pbnB1dFNpemUgPT09IElucHV0U2l6ZS5sYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuIDY0O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHJldHVybiA1NDtcclxuICAgICAgICB9XHJcbiAgICB9O1xyXG4gICAgcmV0dXJuIChSZWFjdC5jcmVhdGVFbGVtZW50KFwiZGl2XCIsIHsgcmVmOiBzZXRSZWZlcmVuY2UgfSxcclxuICAgICAgICBSZWFjdC5jcmVhdGVFbGVtZW50KElucHV0Q29udGFpbmVyLCB7IHN0eWxlOiBpbnB1dFdyYXBwZXJTdHlsZSwgXCJkYXRhLXRlc3RpZFwiOiBgJHt0ZXN0SWR9LXdyYXBwZXJgIH0sXHJcbiAgICAgICAgICAgIFJlYWN0LmNyZWF0ZUVsZW1lbnQoSW5wdXRXcmFwcGVyLCB7IGRpc2FibGVkOiBkaXNhYmxlZCwgaWNvblBvc2l0aW9uOiBpY29uUG9zaXRpb24sIGlzSW52ZXJzZTogcHJvcHMuaXNJbnZlcnNlLCBpbnB1dFNpemU6IGlucHV0U2l6ZSA/PyBJbnB1dFNpemUubWVkaXVtLCB0aGVtZTogdGhlbWUsIHN0eWxlOiBjb250YWluZXJTdHlsZSwgaGFzRXJyb3I6IGhhc0Vycm9yLCBpc0NsZWFyYWJsZTogaXNDbGVhcmFibGUsIHdpZHRoOiBwcm9wcy53aWR0aCB9LFxyXG4gICAgICAgICAgICAgICAgUmVhY3QuY3JlYXRlRWxlbWVudChTdHlsZWRJbnB1dCwgT2JqZWN0LmFzc2lnbih7fSwgb3RoZXIsIHsgXCJhcmlhLWludmFsaWRcIjogaGFzRXJyb3IsIGRpc2FibGVkOiBkaXNhYmxlZCwgXCJkYXRhLXRlc3RpZFwiOiB0ZXN0SWQsIGhhc0NoYXJhY3RlckNvdW50ZXI6IGhhc0NoYXJhY3RlckNvdW50ZXIsIGljb25Qb3NpdGlvbjogaWNvblBvc2l0aW9uLCBpbnB1dFNpemU6IGlucHV0U2l6ZSA/PyBJbnB1dFNpemUubWVkaXVtLCBpc0NsZWFyYWJsZTogdHlwZSA9PT0gSW5wdXRUeXBlLnNlYXJjaFxyXG4gICAgICAgICAgICAgICAgICAgICAgICA/IGlzQ2xlYXJhYmxlXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDogaW5wdXRXcmFwcGVyU3R5bGU/LndpZHRoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA/IGlzQ2xlYXJhYmxlXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IGlzQ2xlYXJhYmxlICYmIGlucHV0TGVuZ3RoID4gMCwgaXNJbnZlcnNlOiB1c2VJc0ludmVyc2UocHJvcHMuaXNJbnZlcnNlKSwgaXNQcmVkaWN0aXZlOiBpc1ByZWRpY3RpdmUsIGhhc0Vycm9yOiBoYXNFcnJvciwgcmVmOiByZWYsIG1heExlbmd0aDogbWF4TGVuZ3RoTnVtLCBvbkNoYW5nZTogaGFuZGxlQ2hhbmdlLCBzdHlsZTogaW5wdXRTdHlsZSwgdGhlbWU6IHRoZW1lLCB0eXBlOiB0eXBlID8gdHlwZSA6IElucHV0VHlwZS50ZXh0LCB2YWx1ZTogdmFsdWUgfSkpLFxyXG4gICAgICAgICAgICAgICAgaWNvbiAmJiAhb25JY29uQ2xpY2sgJiYgKFJlYWN0LmNyZWF0ZUVsZW1lbnQoSWNvbldyYXBwZXIsIHsgXCJhcmlhLWxhYmVsXCI6IGljb25BcmlhTGFiZWwsIGljb25Qb3NpdGlvbjogaWNvblBvc2l0aW9uLCBpbnB1dFNpemU6IGlucHV0U2l6ZSA/PyBJbnB1dFNpemUubWVkaXVtLCBpc0ludmVyc2U6IHByb3BzLmlzSW52ZXJzZSwgaXNQcmVkaWN0aXZlOiBpc1ByZWRpY3RpdmUsIHRoZW1lOiB0aGVtZSwgZGlzYWJsZWQ6IGRpc2FibGVkIH0sIFJlYWN0LkNoaWxkcmVuLm9ubHkoUmVhY3QuY2xvbmVFbGVtZW50KGljb24sIHtcclxuICAgICAgICAgICAgICAgICAgICBzaXplOiBnZXRJY29uU2l6ZShpbnB1dFNpemUgPz8gSW5wdXRTaXplLm1lZGl1bSwgdGhlbWUsIGljb25Qb3NpdGlvbiksXHJcbiAgICAgICAgICAgICAgICB9KSkpKSksXHJcbiAgICAgICAgICAgIGlzQ2xlYXJhYmxlICYmIHZhbHVlICE9PSAnJyAmJiAoUmVhY3QuY3JlYXRlRWxlbWVudChJc0NsZWFyYWJsZUNvbnRhaW5lciwgeyB0aGVtZTogdGhlbWUsIGljb25Qb3NpdGlvbjogaWNvblBvc2l0aW9uLCBpbnB1dFNpemU6IGlucHV0U2l6ZSwgaWNvbjogaWNvbiB9LFxyXG4gICAgICAgICAgICAgICAgUmVhY3QuY3JlYXRlRWxlbWVudChJY29uQnV0dG9uLCB7IFwiYXJpYS1sYWJlbFwiOiBpMThuLmlucHV0LmlzQ2xlYXJhYmxlQXJpYUxhYmVsLCBkaXNhYmxlZDogZGlzYWJsZWQsIGljb246IFJlYWN0LmNyZWF0ZUVsZW1lbnQoQ2xlYXJJY29uLCBudWxsKSwgaXNJbnZlcnNlOiBwcm9wcy5pc0ludmVyc2UsIG9uQ2xpY2s6IGhhbmRsZUNsZWFySW5wdXQsIG9uS2V5RG93bjogb25JY29uS2V5RG93biwgcmVmOiBpY29uUmVmLCBzaGFwZTogQnV0dG9uU2hhcGUuZmlsbCwgc2l6ZTogaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2VcclxuICAgICAgICAgICAgICAgICAgICAgICAgPyBCdXR0b25TaXplLm1lZGl1bVxyXG4gICAgICAgICAgICAgICAgICAgICAgICA6IEJ1dHRvblNpemUuc21hbGwsIHRlc3RJZDogXCJjbGVhci1idXR0b25cIiwgdHlwZTogQnV0dG9uVHlwZS5idXR0b24sIHZhcmlhbnQ6IEJ1dHRvblZhcmlhbnQubGluayB9KSkpLFxyXG4gICAgICAgICAgICBvbkljb25DbGljayAmJiAoUmVhY3QuY3JlYXRlRWxlbWVudChJY29uQnV0dG9uQ29udGFpbmVyLCB7IGljb25Qb3NpdGlvbjogaWNvblBvc2l0aW9uLCBpbnB1dFNpemU6IGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlXHJcbiAgICAgICAgICAgICAgICAgICAgPyBJbnB1dFNpemUubGFyZ2VcclxuICAgICAgICAgICAgICAgICAgICA6IElucHV0U2l6ZS5tZWRpdW0sIHRoZW1lOiB0aGVtZSwgaXNDbGlja2FibGU6IHRydWUgfSxcclxuICAgICAgICAgICAgICAgIFJlYWN0LmNyZWF0ZUVsZW1lbnQoSWNvbkJ1dHRvbiwgeyBcImFyaWEtbGFiZWxcIjogaWNvbkFyaWFMYWJlbCwgaWNvbjogaWNvbiwgaXNJbnZlcnNlOiBwcm9wcy5pc0ludmVyc2UsIG9uQ2xpY2s6IG9uSWNvbkNsaWNrLCBvbktleURvd246IG9uSWNvbktleURvd24sIHJlZjogaWNvblJlZiwgZGlzYWJsZWQ6IGRpc2FibGVkLCBzaGFwZTogQnV0dG9uU2hhcGUuZmlsbCwgc2l6ZTogaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2VcclxuICAgICAgICAgICAgICAgICAgICAgICAgPyBCdXR0b25TaXplLm1lZGl1bVxyXG4gICAgICAgICAgICAgICAgICAgICAgICA6IEJ1dHRvblNpemUuc21hbGwsIHR5cGU6IEJ1dHRvblR5cGUuYnV0dG9uLCB2YXJpYW50OiBCdXR0b25WYXJpYW50LmxpbmsgfSkpKSxcclxuICAgICAgICAgICAgaXNQYXNzd29yZElucHV0ID8gKFJlYWN0LmNyZWF0ZUVsZW1lbnQoUGFzc3dvcmRCdXR0b25Db250YWluZXIsIHsgc2l6ZTogaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2VcclxuICAgICAgICAgICAgICAgICAgICA/IElucHV0U2l6ZS5sYXJnZVxyXG4gICAgICAgICAgICAgICAgICAgIDogSW5wdXRTaXplLm1lZGl1bSwgdGhlbWU6IHRoZW1lLCBidXR0b25XaWR0aDogcGFzc3dvcmRCdG5XaWR0aCgpIH0sIGNoaWxkcmVuKSkgOiAoUmVhY3QuY3JlYXRlRWxlbWVudChIZWxwTGlua0NvbnRhaW5lciwgeyBpc0xhYmVsVmlzdWFsbHlIaWRkZW46IGlzTGFiZWxWaXN1YWxseUhpZGRlbiB8fCBmYWxzZSwgaW5wdXRTaXplOiBpbnB1dFNpemUgPz8gSW5wdXRTaXplLm1lZGl1bSwgbGFiZWxQb3NpdGlvbjogbGFiZWxQb3NpdGlvbiA/PyBMYWJlbFBvc2l0aW9uLnRvcCwgdGhlbWU6IHRoZW1lIH0sIGNoaWxkcmVuKSkpKSk7XHJcbn0pO1xyXG4vLyMgc291cmNlTWFwcGluZ1VSTD1pbmRleC5qcy5tYXAiXX0= */")), " padding-left:", getInputPadding(props).left, ";padding-right:", getInputPadding(props).right, ";&::placeholder{color:", props.isInverse ? curriedTransparentize(0.3, props.theme.colors.neutral100) : props.theme.colors.neutral500, ";}&:focus{outline:0;}&[type='search']{&::-webkit-search-decoration,&::-webkit-search-cancel-button,&::-webkit-search-results-button,&::-webkit-search-results-decoration{display:none;}}", props.disabled && /*#__PURE__*/css("color:", props.isInverse ? curriedTransparentize(0.6, props.theme.colors.neutral100) : curriedTransparentize(0.4, props.theme.colors.neutral500), ";cursor:not-allowed;&::placeholder{color:", props.isInverse ? curriedTransparentize(0.8, props.theme.colors.neutral100) : props.theme.colors.neutral500, ";opacity:", props.isInverse ? 0.4 : 0.6, ";};label:inputBaseStyles;" + (process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImluZGV4LnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFxTFEiLCJmaWxlIjoiaW5kZXgudHN4Iiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgUmVhY3QgZnJvbSAncmVhY3QnO1xyXG5pbXBvcnQgeyBjc3MgfSBmcm9tICdAZW1vdGlvbi9yZWFjdCc7XHJcbmltcG9ydCBzdHlsZWQgZnJvbSAnQGVtb3Rpb24vc3R5bGVkJztcclxuaW1wb3J0IHsgdHJhbnNwYXJlbnRpemUgfSBmcm9tICdwb2xpc2hlZCc7XHJcbmltcG9ydCB7IENsZWFySWNvbiB9IGZyb20gJ3JlYWN0LW1hZ21hLWljb25zJztcclxuaW1wb3J0IHsgSTE4bkNvbnRleHQgfSBmcm9tICcuLi8uLi9pMThuJztcclxuaW1wb3J0IHsgdXNlSXNJbnZlcnNlIH0gZnJvbSAnLi4vLi4vaW52ZXJzZSc7XHJcbmltcG9ydCB7IFRoZW1lQ29udGV4dCB9IGZyb20gJy4uLy4uL3RoZW1lL1RoZW1lQ29udGV4dCc7XHJcbmltcG9ydCB7IHVzZUZvcmtlZFJlZiB9IGZyb20gJy4uLy4uL3V0aWxzJztcclxuaW1wb3J0IHsgQnV0dG9uU2hhcGUsIEJ1dHRvblNpemUsIEJ1dHRvblR5cGUsIEJ1dHRvblZhcmlhbnQgfSBmcm9tICcuLi9CdXR0b24nO1xyXG5pbXBvcnQgeyBJY29uQnV0dG9uIH0gZnJvbSAnLi4vSWNvbkJ1dHRvbic7XHJcbmltcG9ydCB7IExhYmVsUG9zaXRpb24gfSBmcm9tICcuLi9MYWJlbCc7XHJcbmltcG9ydCB7IENoaWxkcmVuV3JhcHBlciB9IGZyb20gJy4uL1N0eWxlZEJ1dHRvbic7XHJcbmV4cG9ydCB2YXIgSW5wdXRTaXplO1xyXG4oZnVuY3Rpb24gKElucHV0U2l6ZSkge1xyXG4gICAgSW5wdXRTaXplW1wibGFyZ2VcIl0gPSBcImxhcmdlXCI7XHJcbiAgICBJbnB1dFNpemVbXCJtZWRpdW1cIl0gPSBcIm1lZGl1bVwiO1xyXG59KShJbnB1dFNpemUgfHwgKElucHV0U2l6ZSA9IHt9KSk7XHJcbmV4cG9ydCB2YXIgSW5wdXRUeXBlO1xyXG4oZnVuY3Rpb24gKElucHV0VHlwZSkge1xyXG4gICAgSW5wdXRUeXBlW1wiZW1haWxcIl0gPSBcImVtYWlsXCI7XHJcbiAgICBJbnB1dFR5cGVbXCJmaWxlXCJdID0gXCJmaWxlXCI7XHJcbiAgICBJbnB1dFR5cGVbXCJudW1iZXJcIl0gPSBcIm51bWJlclwiO1xyXG4gICAgSW5wdXRUeXBlW1wicGFzc3dvcmRcIl0gPSBcInBhc3N3b3JkXCI7XHJcbiAgICBJbnB1dFR5cGVbXCJzZWFyY2hcIl0gPSBcInNlYXJjaFwiO1xyXG4gICAgSW5wdXRUeXBlW1widGV4dFwiXSA9IFwidGV4dFwiO1xyXG4gICAgSW5wdXRUeXBlW1widXJsXCJdID0gXCJ1cmxcIjtcclxuICAgIElucHV0VHlwZVtcInRlbFwiXSA9IFwidGVsXCI7XHJcbn0pKElucHV0VHlwZSB8fCAoSW5wdXRUeXBlID0ge30pKTtcclxuZXhwb3J0IHZhciBJbnB1dEljb25Qb3NpdGlvbjtcclxuKGZ1bmN0aW9uIChJbnB1dEljb25Qb3NpdGlvbikge1xyXG4gICAgSW5wdXRJY29uUG9zaXRpb25bXCJ0b3BcIl0gPSBcInRvcFwiO1xyXG4gICAgSW5wdXRJY29uUG9zaXRpb25bXCJsZWZ0XCJdID0gXCJsZWZ0XCI7XHJcbiAgICBJbnB1dEljb25Qb3NpdGlvbltcInJpZ2h0XCJdID0gXCJyaWdodFwiO1xyXG59KShJbnB1dEljb25Qb3NpdGlvbiB8fCAoSW5wdXRJY29uUG9zaXRpb24gPSB7fSkpO1xyXG5leHBvcnQgY29uc3QgaW5wdXRXcmFwcGVyU3R5bGVzID0gKHByb3BzKSA9PiBjc3MgYFxuICBmbGV4OiAxIDEgYXV0bztcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZGlzcGxheTogZmxleDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aWR0aDogJHtwcm9wcy53aWR0aCB8fCAnYXV0byd9O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAke3Byb3BzLmlzSW52ZXJzZVxyXG4gICAgPyB0cmFuc3BhcmVudGl6ZSgwLjgsIHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsOTAwKVxyXG4gICAgOiBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDEwMH07XG4gIGJvcmRlci1yYWRpdXM6ICR7cHJvcHMudGhlbWUuYm9yZGVyUmFkaXVzfTtcbiAgYm9yZGVyOiAxcHggc29saWRcbiAgICAke3Byb3BzLmlzSW52ZXJzZVxyXG4gICAgPyB0cmFuc3BhcmVudGl6ZSgwLjUsIHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsMTAwKVxyXG4gICAgOiBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDUwMH07XG4gIGhlaWdodDogJHtwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwOX07XG5cbiAgJjpmb2N1cy13aXRoaW4ge1xuICAgIG91dGxpbmU6IDJweCBzb2xpZFxuICAgICAgJHtwcm9wcy5pc0ludmVyc2VcclxuICAgID8gcHJvcHMudGhlbWUuY29sb3JzLmZvY3VzSW52ZXJzZVxyXG4gICAgOiBwcm9wcy50aGVtZS5jb2xvcnMuZm9jdXN9O1xuICAgIG91dGxpbmUtb2Zmc2V0OiAtMXB4O1xuICB9XG5cbiAgJHtwcm9wcy5oYXNFcnJvciAmJlxyXG4gICAgY3NzIGBcbiAgICBib3JkZXItY29sb3I6ICR7cHJvcHMuaXNJbnZlcnNlXHJcbiAgICAgICAgPyBwcm9wcy50aGVtZS5jb2xvcnMuZGFuZ2VyMzAwXHJcbiAgICAgICAgOiBwcm9wcy50aGVtZS5jb2xvcnMuZGFuZ2VyfTtcbiAgYH1cblxuICAke3Byb3BzLmRpc2FibGVkICYmXHJcbiAgICBjc3MgYFxuICAgIGJvcmRlci1jb2xvcjogJHtwcm9wcy5pc0ludmVyc2VcclxuICAgICAgICA/IHRyYW5zcGFyZW50aXplKDAuODUsIHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsMTAwKVxyXG4gICAgICAgIDogcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWwzMDB9O1xuICAgIGJhY2tncm91bmQtY29sb3I6ICR7cHJvcHMuaXNJbnZlcnNlXHJcbiAgICAgICAgPyB0cmFuc3BhcmVudGl6ZSgwLjksIHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsOTAwKVxyXG4gICAgICAgIDogcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWwyMDB9O1xuICBgfVxuXG4gICR7cHJvcHMuaW5wdXRTaXplID09PSAnbGFyZ2UnICYmXHJcbiAgICBjc3MgYFxuICAgIGhlaWdodDogJHtwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcxMX07XG4gIGB9XG5gO1xyXG5mdW5jdGlvbiBnZXRJbnB1dFBhZGRpbmcocHJvcHMpIHtcclxuICAgIGNvbnN0IHsgaW5wdXRTaXplLCBpc0NsZWFyYWJsZSwgaWNvblBvc2l0aW9uIH0gPSBwcm9wcztcclxuICAgIGNvbnN0IHBhZGRpbmcgPSB7XHJcbiAgICAgICAgbGVmdDogcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDMsXHJcbiAgICAgICAgcmlnaHQ6IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzAzLFxyXG4gICAgfTtcclxuICAgIGlmIChpbnB1dFNpemUgPT09ICdsYXJnZScpIHtcclxuICAgICAgICBpZiAoaXNDbGVhcmFibGUpIHtcclxuICAgICAgICAgICAgaWYgKGljb25Qb3NpdGlvbiA9PT0gJ3JpZ2h0Jykge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy5yaWdodCA9ICc5MnB4JztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBlbHNlIGlmIChpY29uUG9zaXRpb24gPT09ICdsZWZ0Jykge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy5sZWZ0ID0gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMTE7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLnJpZ2h0ID0gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMTE7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICAgICAgICAvLyBpY29uIHRvcCwgbm8gaWNvblxyXG4gICAgICAgICAgICAgICAgcGFkZGluZy5yaWdodCA9IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzExO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgICBpZiAoaWNvblBvc2l0aW9uID09PSAncmlnaHQnKSB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLnJpZ2h0ID0gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMTA7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgaWYgKGljb25Qb3NpdGlvbiA9PT0gJ2xlZnQnKSB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLmxlZnQgPSBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcxMDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIGVsc2UgaWYgKGlucHV0U2l6ZSA9PT0gJ21lZGl1bScpIHtcclxuICAgICAgICBpZiAoaXNDbGVhcmFibGUpIHtcclxuICAgICAgICAgICAgaWYgKGljb25Qb3NpdGlvbiA9PT0gJ3JpZ2h0Jykge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy5yaWdodCA9ICc2OHB4JztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBlbHNlIGlmIChpY29uUG9zaXRpb24gPT09ICdsZWZ0Jykge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy5sZWZ0ID0gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDk7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLnJpZ2h0ID0gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICAgICAgICAvLyBpY29uIHRvcCwgbm8gaWNvblxyXG4gICAgICAgICAgICAgICAgcGFkZGluZy5yaWdodCA9IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzA5O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgICBpZiAoaWNvblBvc2l0aW9uID09PSAncmlnaHQnKSB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLnJpZ2h0ID0gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgaWYgKGljb25Qb3NpdGlvbiA9PT0gJ2xlZnQnKSB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLmxlZnQgPSBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwOTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIHJldHVybiBwYWRkaW5nO1xyXG59XHJcbmV4cG9ydCBjb25zdCBpbnB1dEJhc2VTdHlsZXMgPSAocHJvcHMpID0+IGNzcyBgXG4gIGJvcmRlcjogMDtcbiAgYm9yZGVyLXJhZGl1czogJHtwcm9wcy50aGVtZS5ib3JkZXJSYWRpdXN9O1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgY29sb3I6ICR7cHJvcHMuaXNJbnZlcnNlXHJcbiAgICA/IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsMTAwXHJcbiAgICA6IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsNzAwfTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGZvbnQtc2l6ZTogJHtwcm9wcy50aGVtZS50eXBlU2NhbGUuc2l6ZTAzLmZvbnRTaXplfTtcbiAgbGluZS1oZWlnaHQ6ICR7cHJvcHMudGhlbWUudHlwZVNjYWxlLnNpemUwMy5saW5lSGVpZ2h0fTtcbiAgZm9udC1mYW1pbHk6ICR7cHJvcHMudGhlbWUuYm9keUZvbnR9O1xuICBoZWlnaHQ6IDEwMCU7XG4gIHBhZGRpbmc6ICR7cHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDN9O1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gIHdpZHRoOiAxMDAlO1xuXG4gICR7cHJvcHMuaW5wdXRTaXplID09PSAnbGFyZ2UnICYmXHJcbiAgICBjc3MgYFxuICAgIGZvbnQtc2l6ZTogJHtwcm9wcy50aGVtZS50eXBlU2NhbGUuc2l6ZTA0LmZvbnRTaXplfTtcbiAgICBsaW5lLWhlaWdodDogJHtwcm9wcy50aGVtZS50eXBlU2NhbGUuc2l6ZTA0LmxpbmVIZWlnaHR9O1xuICAgIHBhZGRpbmc6ICR7cHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDR9O1xuICBgfVxuXG4gIHBhZGRpbmctbGVmdDogJHtnZXRJbnB1dFBhZGRpbmcocHJvcHMpLmxlZnR9O1xuICBwYWRkaW5nLXJpZ2h0OiAke2dldElucHV0UGFkZGluZyhwcm9wcykucmlnaHR9O1xuXG4gICY6OnBsYWNlaG9sZGVyIHtcbiAgICBjb2xvcjogJHtwcm9wcy5pc0ludmVyc2VcclxuICAgID8gdHJhbnNwYXJlbnRpemUoMC4zLCBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDEwMClcclxuICAgIDogcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWw1MDB9O1xuICB9XG5cbiAgJjpmb2N1cyB7XG4gICAgb3V0bGluZTogMDtcbiAgfVxuXG4gICZbdHlwZT0nc2VhcmNoJ10ge1xuICAgICY6Oi13ZWJraXQtc2VhcmNoLWRlY29yYXRpb24sXG4gICAgJjo6LXdlYmtpdC1zZWFyY2gtY2FuY2VsLWJ1dHRvbixcbiAgICAmOjotd2Via2l0LXNlYXJjaC1yZXN1bHRzLWJ1dHRvbixcbiAgICAmOjotd2Via2l0LXNlYXJjaC1yZXN1bHRzLWRlY29yYXRpb24ge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gIH1cblxuICAke3Byb3BzLmRpc2FibGVkICYmXHJcbiAgICBjc3MgYFxuICAgIGNvbG9yOiAke3Byb3BzLmlzSW52ZXJzZVxyXG4gICAgICAgID8gdHJhbnNwYXJlbnRpemUoMC42LCBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDEwMClcclxuICAgICAgICA6IHRyYW5zcGFyZW50aXplKDAuNCwgcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWw1MDApfTtcbiAgICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xuXG4gICAgJjo6cGxhY2Vob2xkZXIge1xuICAgICAgY29sb3I6ICR7cHJvcHMuaXNJbnZlcnNlXHJcbiAgICAgICAgPyB0cmFuc3BhcmVudGl6ZSgwLjgsIHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsMTAwKVxyXG4gICAgICAgIDogcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWw1MDB9O1xuICAgICAgb3BhY2l0eTogJHtwcm9wcy5pc0ludmVyc2UgPyAwLjQgOiAwLjZ9O1xuICAgIH1cbiAgYH1cblxuICAmOi13ZWJraXQtYXV0b2ZpbGwsXG4gICY6LXdlYmtpdC1hdXRvZmlsbDpmb2N1cyxcbiAgJjotd2Via2l0LWF1dG9maWxsOmhvdmVyLFxuICAmOi13ZWJraXQtYXV0b2ZpbGw6YWN0aXZlIHtcbiAgICBib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XG4gICAgLXdlYmtpdC1iYWNrZ3JvdW5kLWNsaXA6IHRleHQ7XG4gICAgLXdlYmtpdC10ZXh0LWZpbGwtY29sb3I6ICR7cHJvcHMuaXNJbnZlcnNlXHJcbiAgICA/IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsMTAwXHJcbiAgICA6IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsNzAwfSAhaW1wb3J0YW50O1xuICAgIGNhcmV0LWNvbG9yOiAke3Byb3BzLmlzSW52ZXJzZVxyXG4gICAgPyBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDEwMFxyXG4gICAgOiBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDcwMH0gIWltcG9ydGFudDtcbiAgfVxuYDtcclxuY29uc3QgSW5wdXRDb250YWluZXIgPSBzdHlsZWQuZGl2IGBcbiAgZGlzcGxheTogZmxleDtcbmA7XHJcbmV4cG9ydCBjb25zdCBJbnB1dFdyYXBwZXIgPSBzdHlsZWQuZGl2IGBcbiAgJHtpbnB1dFdyYXBwZXJTdHlsZXN9XG5gO1xyXG5jb25zdCBTdHlsZWRJbnB1dCA9IHN0eWxlZC5pbnB1dCBgXG4gICR7aW5wdXRCYXNlU3R5bGVzfVxuYDtcclxuY29uc3QgSWNvbldyYXBwZXIgPSBzdHlsZWQuc3BhbiBgXG4gIGJvdHRvbTogJHtwcm9wcyA9PiAocHJvcHMuaWNvblBvc2l0aW9uID09PSAndG9wJyA/ICc0NXB4JyA6ICdpbmhlcml0Jyl9O1xuICBjb2xvcjogJHtwcm9wcyA9PiBwcm9wcy5pc0ludmVyc2VcclxuICAgID8gcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWwxMDBcclxuICAgIDogcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWw3MDB9O1xuICBsZWZ0OiAke3Byb3BzID0+IHByb3BzLmljb25Qb3NpdGlvbiA9PT0gJ2xlZnQnID8gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDMgOiAnYXV0byd9O1xuICByaWdodDogJHtwcm9wcyA9PiBwcm9wcy5pY29uUG9zaXRpb24gPT09ICdyaWdodCdcclxuICAgID8gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDNcclxuICAgIDogcHJvcHMuaWNvblBvc2l0aW9uID09PSAndG9wJ1xyXG4gICAgICAgID8gJzNweCdcclxuICAgICAgICA6ICdhdXRvJ307XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAke3Byb3BzID0+IHByb3BzLmljb25Qb3NpdGlvbiA9PT0gJ3RvcCdcclxuICAgID8gJ2luaGVyaXQnXHJcbiAgICA6IHByb3BzID0+IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzAzfTtcblxuICAke3Byb3BzID0+IHByb3BzLmlucHV0U2l6ZSA9PT0gJ2xhcmdlJyAmJlxyXG4gICAgY3NzIGBcbiAgICAgIGJvdHRvbTogJHtwcm9wcy5pY29uUG9zaXRpb24gPT09ICd0b3AnID8gJzYycHgnIDogJ2luaGVyaXQnfTtcbiAgICAgIGxlZnQ6ICR7cHJvcHMuaWNvblBvc2l0aW9uID09PSAnbGVmdCdcclxuICAgICAgICA/IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzA0XHJcbiAgICAgICAgOiAnYXV0byd9O1xuICAgICAgcmlnaHQ6ICR7cHJvcHMuaWNvblBvc2l0aW9uID09PSAncmlnaHQnXHJcbiAgICAgICAgPyBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwNFxyXG4gICAgICAgIDogcHJvcHMuaWNvblBvc2l0aW9uID09PSAndG9wJ1xyXG4gICAgICAgICAgICA/ICczcHgnXHJcbiAgICAgICAgICAgIDogJ2F1dG8nfTtcbiAgICAgIHRvcDogJHtwcm9wcy5pY29uUG9zaXRpb24gPT09ICd0b3AnXHJcbiAgICAgICAgPyAnaW5oZXJpdCdcclxuICAgICAgICA6IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzA0fTtcbiAgICBgfVxuYDtcclxuZnVuY3Rpb24gZ2V0SWNvbkJ1dHRvblNWR1NpemUocHJvcHMpIHtcclxuICAgIGNvbnN0IHsgaXNDbGlja2FibGUsIGljb25Qb3NpdGlvbiwgaW5wdXRTaXplLCB0aGVtZSB9ID0gcHJvcHM7XHJcbiAgICBpZiAoaXNDbGlja2FibGUgJiYgaWNvblBvc2l0aW9uID09PSBJbnB1dEljb25Qb3NpdGlvbi50b3ApIHtcclxuICAgICAgICBpZiAoaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2UpIHtcclxuICAgICAgICAgICAgcmV0dXJuIGAke3RoZW1lLmljb25TaXplcy5tZWRpdW19cHhgO1xyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gYCR7dGhlbWUuaWNvblNpemVzLnNtYWxsfXB4YDtcclxuICAgIH1cclxuICAgIGlmIChpbnB1dFNpemUgPT09IElucHV0U2l6ZS5sYXJnZSkge1xyXG4gICAgICAgIHJldHVybiBgJHt0aGVtZS5pY29uU2l6ZXMubGFyZ2V9cHhgO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIGAke3RoZW1lLmljb25TaXplcy5tZWRpdW19cHhgO1xyXG59XHJcbmZ1bmN0aW9uIGdldEhlbHBMaW5rU1ZHU2l6ZShwcm9wcykge1xyXG4gICAgY29uc3QgeyBpbnB1dFNpemUsIHRoZW1lIH0gPSBwcm9wcztcclxuICAgIGlmIChpbnB1dFNpemUgPT09IElucHV0U2l6ZS5sYXJnZSkge1xyXG4gICAgICAgIHJldHVybiBgJHt0aGVtZS5pY29uU2l6ZXMubWVkaXVtfXB4YDtcclxuICAgIH1cclxuICAgIHJldHVybiBgJHt0aGVtZS5pY29uU2l6ZXMuc21hbGx9cHhgO1xyXG59XHJcbmV4cG9ydCBmdW5jdGlvbiBnZXRIZWxwSWNvbkJ1dHRvblNpemUocHJvcHMpIHtcclxuICAgIGNvbnN0IHsgaW5wdXRTaXplLCB0aGVtZSB9ID0gcHJvcHM7XHJcbiAgICBpZiAoaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2UpIHtcclxuICAgICAgICByZXR1cm4gdGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDk7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gdGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDc7XHJcbn1cclxuZnVuY3Rpb24gZ2V0SWNvbkJ1dHRvblRyYW5zZm9ybShwcm9wcykge1xyXG4gICAgY29uc3QgeyBpc0NsaWNrYWJsZSwgaWNvblBvc2l0aW9uLCBpbnB1dFNpemUsIGhhc0NoaWxkcmVuLCB0aGVtZSB9ID0gcHJvcHM7XHJcbiAgICBjb25zdCBwb3NpdGlvbiA9IHsgeDogJycsIHk6ICcnIH07XHJcbiAgICBpZiAoaWNvblBvc2l0aW9uID09PSBJbnB1dEljb25Qb3NpdGlvbi50b3ApIHtcclxuICAgICAgICBpZiAoaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2UpIHtcclxuICAgICAgICAgICAgcG9zaXRpb24ueCA9ICctMzBweCc7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uLnkgPSAnMnB4JztcclxuICAgICAgICB9XHJcbiAgICAgICAgZWxzZSBpZiAoaW5wdXRTaXplID09PSBJbnB1dFNpemUubWVkaXVtKSB7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uLnggPSAnLTI4cHgnO1xyXG4gICAgICAgICAgICBwb3NpdGlvbi55ID0gJzVweCc7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiBwb3NpdGlvbjtcclxuICAgIH1cclxuICAgIGlmIChpc0NsaWNrYWJsZSkge1xyXG4gICAgICAgIGlmIChpbnB1dFNpemUgPT09IElucHV0U2l6ZS5sYXJnZSkge1xyXG4gICAgICAgICAgICBpZiAoaGFzQ2hpbGRyZW4pIHtcclxuICAgICAgICAgICAgICAgIHBvc2l0aW9uLnggPSAnLTQzcHgnO1xyXG4gICAgICAgICAgICAgICAgcG9zaXRpb24ueSA9ICcxNHB4JztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBlbHNlIHtcclxuICAgICAgICAgICAgICAgIHBvc2l0aW9uLnggPSAnLTQ5cHgnO1xyXG4gICAgICAgICAgICAgICAgcG9zaXRpb24ueSA9ICc4cHgnO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2UgaWYgKGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLm1lZGl1bSkge1xyXG4gICAgICAgICAgICBwb3NpdGlvbi54ID0gJy0zNXB4JztcclxuICAgICAgICAgICAgcG9zaXRpb24ueSA9ICc2cHgnO1xyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gcG9zaXRpb247XHJcbiAgICB9XHJcbiAgICBpZiAoaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2UpIHtcclxuICAgICAgICBwb3NpdGlvbi54ID0gYC0ke3RoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzEwfWA7XHJcbiAgICAgICAgcG9zaXRpb24ueSA9IHRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzAzO1xyXG4gICAgfVxyXG4gICAgZWxzZSBpZiAoaW5wdXRTaXplID09PSBJbnB1dFNpemUubWVkaXVtKSB7XHJcbiAgICAgICAgcG9zaXRpb24ueCA9ICctMjRweCc7XHJcbiAgICAgICAgcG9zaXRpb24ueSA9ICc3cHgnO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIHBvc2l0aW9uO1xyXG59XHJcbmV4cG9ydCBjb25zdCBJY29uQnV0dG9uQ29udGFpbmVyID0gc3R5bGVkLnNwYW4gYFxuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgYm90dG9tOiAke3Byb3BzID0+IChwcm9wcy5pY29uUG9zaXRpb24gPT09ICd0b3AnID8gJzQwcHgnIDogJ2luaGVyaXQnKX07XG4gIGhlaWdodDogYXV0bztcbiAgbWFyZ2luOiAwO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiAwO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZShcbiAgICAke3Byb3BzID0+IGdldEljb25CdXR0b25UcmFuc2Zvcm0ocHJvcHMpLnh9LFxuICAgICR7cHJvcHMgPT4gZ2V0SWNvbkJ1dHRvblRyYW5zZm9ybShwcm9wcykueX1cbiAgKTtcbiAgc3ZnIHtcbiAgICBoZWlnaHQ6ICR7cHJvcHMgPT4gZ2V0SWNvbkJ1dHRvblNWR1NpemUocHJvcHMpfTtcbiAgICB3aWR0aDogJHtwcm9wcyA9PiBnZXRJY29uQnV0dG9uU1ZHU2l6ZShwcm9wcyl9O1xuICB9XG5gO1xyXG5jb25zdCBQYXNzd29yZEJ1dHRvbkNvbnRhaW5lciA9IHN0eWxlZC5zcGFuIGBcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIHdpZHRoOiAwO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZShcbiAgICAke3Byb3BzID0+IHByb3BzLnNpemUgPT09IElucHV0U2l6ZS5sYXJnZVxyXG4gICAgPyBgJHstcHJvcHMuYnV0dG9uV2lkdGggLSA4fXB4YFxyXG4gICAgOiBgJHstcHJvcHMuYnV0dG9uV2lkdGggLSA2fXB4YH0sXG4gICAgJHtwcm9wcyA9PiBwcm9wcy5zaXplID09PSBJbnB1dFNpemUubGFyZ2UgPyBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwMyA6ICc2cHgnfVxuICApO1xuYDtcclxuZnVuY3Rpb24gZ2V0Q2xlYXJhYmxlUG9zaXRpb24ocHJvcHMpIHtcclxuICAgIGlmIChwcm9wcy5pY29uUG9zaXRpb24gPT09ICdyaWdodCcgJiYgcHJvcHMuaWNvbikge1xyXG4gICAgICAgIGlmIChwcm9wcy5pbnB1dFNpemUgPT09ICdsYXJnZScpIHtcclxuICAgICAgICAgICAgcmV0dXJuIHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzEzO1xyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gJzcycHgnO1xyXG4gICAgfVxyXG4gICAgaWYgKHByb3BzLmlucHV0U2l6ZSA9PT0gJ2xhcmdlJykge1xyXG4gICAgICAgIHJldHVybiBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcxMDtcclxuICAgIH1cclxuICAgIHJldHVybiAnMzRweCc7XHJcbn1cclxuY29uc3QgSXNDbGVhcmFibGVDb250YWluZXIgPSBzdHlsZWQuc3BhbiBgXG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBtYXJnaW46IDA7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgaGVpZ2h0OiBhdXRvO1xuICB3aWR0aDogMDtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoXG4gICAgLSR7cHJvcHMgPT4gZ2V0Q2xlYXJhYmxlUG9zaXRpb24ocHJvcHMpfSxcbiAgICAke3Byb3BzID0+IHByb3BzLmlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlXHJcbiAgICA/IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzAzXHJcbiAgICA6ICc2cHgnfVxuICApO1xuYDtcclxuZnVuY3Rpb24gZ2V0SWNvblNpemUoc2l6ZSwgdGhlbWUsIGljb25Qb3NpdGlvbikge1xyXG4gICAgc3dpdGNoIChzaXplKSB7XHJcbiAgICAgICAgY2FzZSAnbGFyZ2UnOlxyXG4gICAgICAgICAgICBpZiAoaWNvblBvc2l0aW9uID09PSBJbnB1dEljb25Qb3NpdGlvbi50b3ApIHtcclxuICAgICAgICAgICAgICAgIHJldHVybiB0aGVtZS5pY29uU2l6ZXMubWVkaXVtO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHJldHVybiB0aGVtZS5pY29uU2l6ZXMubGFyZ2U7XHJcbiAgICAgICAgZGVmYXVsdDpcclxuICAgICAgICAgICAgaWYgKGljb25Qb3NpdGlvbiA9PT0gSW5wdXRJY29uUG9zaXRpb24udG9wKSB7XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gdGhlbWUuaWNvblNpemVzLnNtYWxsO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHJldHVybiB0aGVtZS5pY29uU2l6ZXMubWVkaXVtO1xyXG4gICAgfVxyXG59XHJcbmV4cG9ydCBjb25zdCBpc0xlZnRPckhpZGRlbiA9ICh7IGxhYmVsUG9zaXRpb24sIGlzTGFiZWxWaXN1YWxseUhpZGRlbiwgfSkgPT4gbGFiZWxQb3NpdGlvbiA9PT0gTGFiZWxQb3NpdGlvbi5sZWZ0IHx8IGlzTGFiZWxWaXN1YWxseUhpZGRlbjtcclxuZXhwb3J0IGNvbnN0IEhlbHBMaW5rQ29udGFpbmVyID0gc3R5bGVkLnNwYW4gYFxuICBwb3NpdGlvbjogJHtwcm9wcyA9PiAoaXNMZWZ0T3JIaWRkZW4ocHJvcHMpID8gJ3JlbGF0aXZlJyA6ICdhYnNvbHV0ZScpfTtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cbiAgaGVpZ2h0OiAke3Byb3BzID0+IChpc0xlZnRPckhpZGRlbihwcm9wcykgPyAnYXV0bycgOiAnZml0LWNvbnRlbnQnKX07XG4gIG1hcmdpbi1pbmxpbmUtc3RhcnQ6ICR7cHJvcHMgPT4gaXNMZWZ0T3JIaWRkZW4ocHJvcHMpID8gYCR7cHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDN9YCA6ICdhdXRvJ307XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWShcbiAgICAke3Byb3BzID0+IGlzTGVmdE9ySGlkZGVuKHByb3BzKVxyXG4gICAgPyAnMCdcclxuICAgIDogYGNhbGMoLTEwMCUgLSAke3Byb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzAzfSlgfVxuICApO1xuICAke0NoaWxkcmVuV3JhcHBlcn0gPiBzdmcge1xuICAgIGhlaWdodDogJHtwcm9wcyA9PiBnZXRIZWxwTGlua1NWR1NpemUocHJvcHMpfTtcbiAgICB3aWR0aDogJHtwcm9wcyA9PiBnZXRIZWxwTGlua1NWR1NpemUocHJvcHMpfTtcbiAgfVxuICBidXR0b24ge1xuICAgIGhlaWdodDogJHtwcm9wcyA9PiBnZXRIZWxwSWNvbkJ1dHRvblNpemUocHJvcHMpfTtcbiAgICB3aWR0aDogJHtwcm9wcyA9PiBnZXRIZWxwSWNvbkJ1dHRvblNpemUocHJvcHMpfTtcbiAgfVxuICBpbnNldC1pbmxpbmUtZW5kOiAke3Byb3BzID0+IChpc0xlZnRPckhpZGRlbihwcm9wcykgPyAnYXV0bycgOiAnMCcpfTtcbmA7XHJcbmV4cG9ydCBjb25zdCBJbnB1dEJhc2UgPSBSZWFjdC5mb3J3YXJkUmVmKChwcm9wcywgZm9yd2FyZGVkUmVmKSA9PiB7XHJcbiAgICBjb25zdCB7IGNoaWxkcmVuLCBjb250YWluZXJTdHlsZSwgZGVmYXVsdFZhbHVlLCBkaXNhYmxlZCwgaGFzQ2hhcmFjdGVyQ291bnRlciwgaGFzRXJyb3IsIGljb24sIGljb25BcmlhTGFiZWwsIGljb25SZWYsIGlzQ2xlYXJhYmxlLCBpc1Bhc3N3b3JkSW5wdXQsIGlzUHJlZGljdGl2ZSwgbWF4Q291bnQsIG1heExlbmd0aCwgb25DbGVhciwgb25JY29uQ2xpY2ssIG9uSWNvbktleURvd24sIG9uRGF0ZUNoYW5nZSwgaW5wdXRMZW5ndGgsIGlucHV0U2l6ZSwgaW5wdXRTdHlsZSwgaW5wdXRXcmFwcGVyU3R5bGUsIHRlc3RJZCwgdHlwZSwgc2V0UmVmZXJlbmNlLCBpc0xhYmVsVmlzdWFsbHlIaWRkZW4sIGxhYmVsUG9zaXRpb24sIC4uLm90aGVyIH0gPSBwcm9wcztcclxuICAgIGNvbnN0IGkxOG4gPSBSZWFjdC51c2VDb250ZXh0KEkxOG5Db250ZXh0KTtcclxuICAgIGNvbnN0IHRoZW1lID0gUmVhY3QudXNlQ29udGV4dChUaGVtZUNvbnRleHQpO1xyXG4gICAgY29uc3QgaWNvblBvc2l0aW9uID0gaWNvbiAmJiBvbkljb25DbGlja1xyXG4gICAgICAgID8gSW5wdXRJY29uUG9zaXRpb24ucmlnaHRcclxuICAgICAgICA6IGljb24gJiYgIXByb3BzLmljb25Qb3NpdGlvblxyXG4gICAgICAgICAgICA/IElucHV0SWNvblBvc2l0aW9uLmxlZnRcclxuICAgICAgICAgICAgOiBwcm9wcy5pY29uUG9zaXRpb247XHJcbiAgICBjb25zdCBbdmFsdWUsIHNldFZhbHVlXSA9IFJlYWN0LnVzZVN0YXRlKHByb3BzLmRlZmF1bHRWYWx1ZSAhPT0gdW5kZWZpbmVkICYmIHByb3BzLmRlZmF1bHRWYWx1ZSAhPT0gbnVsbFxyXG4gICAgICAgID8gcHJvcHMuZGVmYXVsdFZhbHVlXHJcbiAgICAgICAgOiBwcm9wcy52YWx1ZSB8fCAnJyk7XHJcbiAgICBjb25zdCBtYXhMZW5ndGhOdW0gPSAhaGFzQ2hhcmFjdGVyQ291bnRlciAmJiBtYXhMZW5ndGggPyBtYXhMZW5ndGggOiB1bmRlZmluZWQ7XHJcbiAgICBSZWFjdC51c2VFZmZlY3QoKCkgPT4ge1xyXG4gICAgICAgIGlmIChwcm9wcy52YWx1ZSAhPT0gdW5kZWZpbmVkICYmIHByb3BzLnZhbHVlICE9PSBudWxsKSB7XHJcbiAgICAgICAgICAgIHNldFZhbHVlKHByb3BzLnZhbHVlKTtcclxuICAgICAgICB9XHJcbiAgICB9LCBbcHJvcHMudmFsdWVdKTtcclxuICAgIGNvbnN0IGlucHV0UmVmID0gUmVhY3QudXNlUmVmKCk7XHJcbiAgICBjb25zdCByZWYgPSB1c2VGb3JrZWRSZWYoZm9yd2FyZGVkUmVmLCBpbnB1dFJlZik7XHJcbiAgICBmdW5jdGlvbiBoYW5kbGVDbGVhcklucHV0KCkge1xyXG4gICAgICAgIG9uQ2xlYXIgJiYgdHlwZW9mIG9uQ2xlYXIgPT09ICdmdW5jdGlvbicgJiYgb25DbGVhcigpO1xyXG4gICAgICAgIHNldFZhbHVlKCcnKTtcclxuICAgICAgICBvbkRhdGVDaGFuZ2UgJiYgdHlwZW9mIG9uRGF0ZUNoYW5nZSA9PT0gJ2Z1bmN0aW9uJyAmJiBvbkRhdGVDaGFuZ2UobnVsbCk7XHJcbiAgICAgICAgaW5wdXRSZWYuY3VycmVudC5mb2N1cygpO1xyXG4gICAgfVxyXG4gICAgZnVuY3Rpb24gaGFuZGxlQ2hhbmdlKGV2ZW50KSB7XHJcbiAgICAgICAgcHJvcHMub25DaGFuZ2UgJiZcclxuICAgICAgICAgICAgdHlwZW9mIHByb3BzLm9uQ2hhbmdlID09PSAnZnVuY3Rpb24nICYmXHJcbiAgICAgICAgICAgIHByb3BzLm9uQ2hhbmdlKGV2ZW50KTtcclxuICAgICAgICBjb25zdCBpc09uRGF0ZUNoYW5nZSA9IG9uRGF0ZUNoYW5nZSAmJiB0eXBlb2Ygb25EYXRlQ2hhbmdlID09PSAnZnVuY3Rpb24nO1xyXG4gICAgICAgIGNvbnN0IHsgdmFsdWUgfSA9IGV2ZW50LnRhcmdldDtcclxuICAgICAgICBzZXRWYWx1ZShpc09uRGF0ZUNoYW5nZSA/IHZhbHVlIDogKHByb3BzLnZhbHVlID8/IHZhbHVlKSk7XHJcbiAgICAgICAgaWYgKGlzT25EYXRlQ2hhbmdlICYmICF2YWx1ZSkge1xyXG4gICAgICAgICAgICBvbkRhdGVDaGFuZ2UobnVsbCk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgY29uc3QgcGFzc3dvcmRCdG5XaWR0aCA9ICgpID0+IHtcclxuICAgICAgICBjb25zdCBidG5XaWR0aCA9IGNoaWxkcmVuPy5wcm9wcz8uY2hpbGRyZW4/LlswXT8ucmVmPy5jdXJyZW50Py5vZmZzZXRXaWR0aDtcclxuICAgICAgICBpZiAodHlwZW9mIGJ0bldpZHRoID09PSAnbnVtYmVyJykge1xyXG4gICAgICAgICAgICByZXR1cm4gYnRuV2lkdGg7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgICAvLyBXaGVuIFBhc3N3b3JkQnV0dG9uIGlzIHVzZWQgaW5zaWRlIFNjaGVtYVJlbmRlcmVyLCBpdCBkb2Vzbid0IGhhdmUgY2hpbGRyZW4uXHJcbiAgICAgICAgICAgIC8vIFdlJ2xsIHVzZSB0aGUgZGVmYXVsdCBidXR0b24gc2l6ZXMuXHJcbiAgICAgICAgICAgIGlmIChwcm9wcy5pbnB1dFNpemUgPT09IElucHV0U2l6ZS5sYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuIDY0O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHJldHVybiA1NDtcclxuICAgICAgICB9XHJcbiAgICB9O1xyXG4gICAgcmV0dXJuIChSZWFjdC5jcmVhdGVFbGVtZW50KFwiZGl2XCIsIHsgcmVmOiBzZXRSZWZlcmVuY2UgfSxcclxuICAgICAgICBSZWFjdC5jcmVhdGVFbGVtZW50KElucHV0Q29udGFpbmVyLCB7IHN0eWxlOiBpbnB1dFdyYXBwZXJTdHlsZSwgXCJkYXRhLXRlc3RpZFwiOiBgJHt0ZXN0SWR9LXdyYXBwZXJgIH0sXHJcbiAgICAgICAgICAgIFJlYWN0LmNyZWF0ZUVsZW1lbnQoSW5wdXRXcmFwcGVyLCB7IGRpc2FibGVkOiBkaXNhYmxlZCwgaWNvblBvc2l0aW9uOiBpY29uUG9zaXRpb24sIGlzSW52ZXJzZTogcHJvcHMuaXNJbnZlcnNlLCBpbnB1dFNpemU6IGlucHV0U2l6ZSA/PyBJbnB1dFNpemUubWVkaXVtLCB0aGVtZTogdGhlbWUsIHN0eWxlOiBjb250YWluZXJTdHlsZSwgaGFzRXJyb3I6IGhhc0Vycm9yLCBpc0NsZWFyYWJsZTogaXNDbGVhcmFibGUsIHdpZHRoOiBwcm9wcy53aWR0aCB9LFxyXG4gICAgICAgICAgICAgICAgUmVhY3QuY3JlYXRlRWxlbWVudChTdHlsZWRJbnB1dCwgT2JqZWN0LmFzc2lnbih7fSwgb3RoZXIsIHsgXCJhcmlhLWludmFsaWRcIjogaGFzRXJyb3IsIGRpc2FibGVkOiBkaXNhYmxlZCwgXCJkYXRhLXRlc3RpZFwiOiB0ZXN0SWQsIGhhc0NoYXJhY3RlckNvdW50ZXI6IGhhc0NoYXJhY3RlckNvdW50ZXIsIGljb25Qb3NpdGlvbjogaWNvblBvc2l0aW9uLCBpbnB1dFNpemU6IGlucHV0U2l6ZSA/PyBJbnB1dFNpemUubWVkaXVtLCBpc0NsZWFyYWJsZTogdHlwZSA9PT0gSW5wdXRUeXBlLnNlYXJjaFxyXG4gICAgICAgICAgICAgICAgICAgICAgICA/IGlzQ2xlYXJhYmxlXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDogaW5wdXRXcmFwcGVyU3R5bGU/LndpZHRoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA/IGlzQ2xlYXJhYmxlXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IGlzQ2xlYXJhYmxlICYmIGlucHV0TGVuZ3RoID4gMCwgaXNJbnZlcnNlOiB1c2VJc0ludmVyc2UocHJvcHMuaXNJbnZlcnNlKSwgaXNQcmVkaWN0aXZlOiBpc1ByZWRpY3RpdmUsIGhhc0Vycm9yOiBoYXNFcnJvciwgcmVmOiByZWYsIG1heExlbmd0aDogbWF4TGVuZ3RoTnVtLCBvbkNoYW5nZTogaGFuZGxlQ2hhbmdlLCBzdHlsZTogaW5wdXRTdHlsZSwgdGhlbWU6IHRoZW1lLCB0eXBlOiB0eXBlID8gdHlwZSA6IElucHV0VHlwZS50ZXh0LCB2YWx1ZTogdmFsdWUgfSkpLFxyXG4gICAgICAgICAgICAgICAgaWNvbiAmJiAhb25JY29uQ2xpY2sgJiYgKFJlYWN0LmNyZWF0ZUVsZW1lbnQoSWNvbldyYXBwZXIsIHsgXCJhcmlhLWxhYmVsXCI6IGljb25BcmlhTGFiZWwsIGljb25Qb3NpdGlvbjogaWNvblBvc2l0aW9uLCBpbnB1dFNpemU6IGlucHV0U2l6ZSA/PyBJbnB1dFNpemUubWVkaXVtLCBpc0ludmVyc2U6IHByb3BzLmlzSW52ZXJzZSwgaXNQcmVkaWN0aXZlOiBpc1ByZWRpY3RpdmUsIHRoZW1lOiB0aGVtZSwgZGlzYWJsZWQ6IGRpc2FibGVkIH0sIFJlYWN0LkNoaWxkcmVuLm9ubHkoUmVhY3QuY2xvbmVFbGVtZW50KGljb24sIHtcclxuICAgICAgICAgICAgICAgICAgICBzaXplOiBnZXRJY29uU2l6ZShpbnB1dFNpemUgPz8gSW5wdXRTaXplLm1lZGl1bSwgdGhlbWUsIGljb25Qb3NpdGlvbiksXHJcbiAgICAgICAgICAgICAgICB9KSkpKSksXHJcbiAgICAgICAgICAgIGlzQ2xlYXJhYmxlICYmIHZhbHVlICE9PSAnJyAmJiAoUmVhY3QuY3JlYXRlRWxlbWVudChJc0NsZWFyYWJsZUNvbnRhaW5lciwgeyB0aGVtZTogdGhlbWUsIGljb25Qb3NpdGlvbjogaWNvblBvc2l0aW9uLCBpbnB1dFNpemU6IGlucHV0U2l6ZSwgaWNvbjogaWNvbiB9LFxyXG4gICAgICAgICAgICAgICAgUmVhY3QuY3JlYXRlRWxlbWVudChJY29uQnV0dG9uLCB7IFwiYXJpYS1sYWJlbFwiOiBpMThuLmlucHV0LmlzQ2xlYXJhYmxlQXJpYUxhYmVsLCBkaXNhYmxlZDogZGlzYWJsZWQsIGljb246IFJlYWN0LmNyZWF0ZUVsZW1lbnQoQ2xlYXJJY29uLCBudWxsKSwgaXNJbnZlcnNlOiBwcm9wcy5pc0ludmVyc2UsIG9uQ2xpY2s6IGhhbmRsZUNsZWFySW5wdXQsIG9uS2V5RG93bjogb25JY29uS2V5RG93biwgcmVmOiBpY29uUmVmLCBzaGFwZTogQnV0dG9uU2hhcGUuZmlsbCwgc2l6ZTogaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2VcclxuICAgICAgICAgICAgICAgICAgICAgICAgPyBCdXR0b25TaXplLm1lZGl1bVxyXG4gICAgICAgICAgICAgICAgICAgICAgICA6IEJ1dHRvblNpemUuc21hbGwsIHRlc3RJZDogXCJjbGVhci1idXR0b25cIiwgdHlwZTogQnV0dG9uVHlwZS5idXR0b24sIHZhcmlhbnQ6IEJ1dHRvblZhcmlhbnQubGluayB9KSkpLFxyXG4gICAgICAgICAgICBvbkljb25DbGljayAmJiAoUmVhY3QuY3JlYXRlRWxlbWVudChJY29uQnV0dG9uQ29udGFpbmVyLCB7IGljb25Qb3NpdGlvbjogaWNvblBvc2l0aW9uLCBpbnB1dFNpemU6IGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlXHJcbiAgICAgICAgICAgICAgICAgICAgPyBJbnB1dFNpemUubGFyZ2VcclxuICAgICAgICAgICAgICAgICAgICA6IElucHV0U2l6ZS5tZWRpdW0sIHRoZW1lOiB0aGVtZSwgaXNDbGlja2FibGU6IHRydWUgfSxcclxuICAgICAgICAgICAgICAgIFJlYWN0LmNyZWF0ZUVsZW1lbnQoSWNvbkJ1dHRvbiwgeyBcImFyaWEtbGFiZWxcIjogaWNvbkFyaWFMYWJlbCwgaWNvbjogaWNvbiwgaXNJbnZlcnNlOiBwcm9wcy5pc0ludmVyc2UsIG9uQ2xpY2s6IG9uSWNvbkNsaWNrLCBvbktleURvd246IG9uSWNvbktleURvd24sIHJlZjogaWNvblJlZiwgZGlzYWJsZWQ6IGRpc2FibGVkLCBzaGFwZTogQnV0dG9uU2hhcGUuZmlsbCwgc2l6ZTogaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2VcclxuICAgICAgICAgICAgICAgICAgICAgICAgPyBCdXR0b25TaXplLm1lZGl1bVxyXG4gICAgICAgICAgICAgICAgICAgICAgICA6IEJ1dHRvblNpemUuc21hbGwsIHR5cGU6IEJ1dHRvblR5cGUuYnV0dG9uLCB2YXJpYW50OiBCdXR0b25WYXJpYW50LmxpbmsgfSkpKSxcclxuICAgICAgICAgICAgaXNQYXNzd29yZElucHV0ID8gKFJlYWN0LmNyZWF0ZUVsZW1lbnQoUGFzc3dvcmRCdXR0b25Db250YWluZXIsIHsgc2l6ZTogaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2VcclxuICAgICAgICAgICAgICAgICAgICA/IElucHV0U2l6ZS5sYXJnZVxyXG4gICAgICAgICAgICAgICAgICAgIDogSW5wdXRTaXplLm1lZGl1bSwgdGhlbWU6IHRoZW1lLCBidXR0b25XaWR0aDogcGFzc3dvcmRCdG5XaWR0aCgpIH0sIGNoaWxkcmVuKSkgOiAoUmVhY3QuY3JlYXRlRWxlbWVudChIZWxwTGlua0NvbnRhaW5lciwgeyBpc0xhYmVsVmlzdWFsbHlIaWRkZW46IGlzTGFiZWxWaXN1YWxseUhpZGRlbiB8fCBmYWxzZSwgaW5wdXRTaXplOiBpbnB1dFNpemUgPz8gSW5wdXRTaXplLm1lZGl1bSwgbGFiZWxQb3NpdGlvbjogbGFiZWxQb3NpdGlvbiA/PyBMYWJlbFBvc2l0aW9uLnRvcCwgdGhlbWU6IHRoZW1lIH0sIGNoaWxkcmVuKSkpKSk7XHJcbn0pO1xyXG4vLyMgc291cmNlTWFwcGluZ1VSTD1pbmRleC5qcy5tYXAiXX0= */")), " &:-webkit-autofill,&:-webkit-autofill:focus,&:-webkit-autofill:hover,&:-webkit-autofill:active{box-shadow:none!important;-webkit-background-clip:text;-webkit-text-fill-color:", props.isInverse ? props.theme.colors.neutral100 : props.theme.colors.neutral700, "!important;caret-color:", props.isInverse ? props.theme.colors.neutral100 : props.theme.colors.neutral700, "!important;};label:inputBaseStyles;" + (process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImluZGV4LnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUF1SThDIiwiZmlsZSI6ImluZGV4LnRzeCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIFJlYWN0IGZyb20gJ3JlYWN0JztcclxuaW1wb3J0IHsgY3NzIH0gZnJvbSAnQGVtb3Rpb24vcmVhY3QnO1xyXG5pbXBvcnQgc3R5bGVkIGZyb20gJ0BlbW90aW9uL3N0eWxlZCc7XHJcbmltcG9ydCB7IHRyYW5zcGFyZW50aXplIH0gZnJvbSAncG9saXNoZWQnO1xyXG5pbXBvcnQgeyBDbGVhckljb24gfSBmcm9tICdyZWFjdC1tYWdtYS1pY29ucyc7XHJcbmltcG9ydCB7IEkxOG5Db250ZXh0IH0gZnJvbSAnLi4vLi4vaTE4bic7XHJcbmltcG9ydCB7IHVzZUlzSW52ZXJzZSB9IGZyb20gJy4uLy4uL2ludmVyc2UnO1xyXG5pbXBvcnQgeyBUaGVtZUNvbnRleHQgfSBmcm9tICcuLi8uLi90aGVtZS9UaGVtZUNvbnRleHQnO1xyXG5pbXBvcnQgeyB1c2VGb3JrZWRSZWYgfSBmcm9tICcuLi8uLi91dGlscyc7XHJcbmltcG9ydCB7IEJ1dHRvblNoYXBlLCBCdXR0b25TaXplLCBCdXR0b25UeXBlLCBCdXR0b25WYXJpYW50IH0gZnJvbSAnLi4vQnV0dG9uJztcclxuaW1wb3J0IHsgSWNvbkJ1dHRvbiB9IGZyb20gJy4uL0ljb25CdXR0b24nO1xyXG5pbXBvcnQgeyBMYWJlbFBvc2l0aW9uIH0gZnJvbSAnLi4vTGFiZWwnO1xyXG5pbXBvcnQgeyBDaGlsZHJlbldyYXBwZXIgfSBmcm9tICcuLi9TdHlsZWRCdXR0b24nO1xyXG5leHBvcnQgdmFyIElucHV0U2l6ZTtcclxuKGZ1bmN0aW9uIChJbnB1dFNpemUpIHtcclxuICAgIElucHV0U2l6ZVtcImxhcmdlXCJdID0gXCJsYXJnZVwiO1xyXG4gICAgSW5wdXRTaXplW1wibWVkaXVtXCJdID0gXCJtZWRpdW1cIjtcclxufSkoSW5wdXRTaXplIHx8IChJbnB1dFNpemUgPSB7fSkpO1xyXG5leHBvcnQgdmFyIElucHV0VHlwZTtcclxuKGZ1bmN0aW9uIChJbnB1dFR5cGUpIHtcclxuICAgIElucHV0VHlwZVtcImVtYWlsXCJdID0gXCJlbWFpbFwiO1xyXG4gICAgSW5wdXRUeXBlW1wiZmlsZVwiXSA9IFwiZmlsZVwiO1xyXG4gICAgSW5wdXRUeXBlW1wibnVtYmVyXCJdID0gXCJudW1iZXJcIjtcclxuICAgIElucHV0VHlwZVtcInBhc3N3b3JkXCJdID0gXCJwYXNzd29yZFwiO1xyXG4gICAgSW5wdXRUeXBlW1wic2VhcmNoXCJdID0gXCJzZWFyY2hcIjtcclxuICAgIElucHV0VHlwZVtcInRleHRcIl0gPSBcInRleHRcIjtcclxuICAgIElucHV0VHlwZVtcInVybFwiXSA9IFwidXJsXCI7XHJcbiAgICBJbnB1dFR5cGVbXCJ0ZWxcIl0gPSBcInRlbFwiO1xyXG59KShJbnB1dFR5cGUgfHwgKElucHV0VHlwZSA9IHt9KSk7XHJcbmV4cG9ydCB2YXIgSW5wdXRJY29uUG9zaXRpb247XHJcbihmdW5jdGlvbiAoSW5wdXRJY29uUG9zaXRpb24pIHtcclxuICAgIElucHV0SWNvblBvc2l0aW9uW1widG9wXCJdID0gXCJ0b3BcIjtcclxuICAgIElucHV0SWNvblBvc2l0aW9uW1wibGVmdFwiXSA9IFwibGVmdFwiO1xyXG4gICAgSW5wdXRJY29uUG9zaXRpb25bXCJyaWdodFwiXSA9IFwicmlnaHRcIjtcclxufSkoSW5wdXRJY29uUG9zaXRpb24gfHwgKElucHV0SWNvblBvc2l0aW9uID0ge30pKTtcclxuZXhwb3J0IGNvbnN0IGlucHV0V3JhcHBlclN0eWxlcyA9IChwcm9wcykgPT4gY3NzIGBcbiAgZmxleDogMSAxIGF1dG87XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgd2lkdGg6ICR7cHJvcHMud2lkdGggfHwgJ2F1dG8nfTtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHtwcm9wcy5pc0ludmVyc2VcclxuICAgID8gdHJhbnNwYXJlbnRpemUoMC44LCBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDkwMClcclxuICAgIDogcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWwxMDB9O1xuICBib3JkZXItcmFkaXVzOiAke3Byb3BzLnRoZW1lLmJvcmRlclJhZGl1c307XG4gIGJvcmRlcjogMXB4IHNvbGlkXG4gICAgJHtwcm9wcy5pc0ludmVyc2VcclxuICAgID8gdHJhbnNwYXJlbnRpemUoMC41LCBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDEwMClcclxuICAgIDogcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWw1MDB9O1xuICBoZWlnaHQ6ICR7cHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDl9O1xuXG4gICY6Zm9jdXMtd2l0aGluIHtcbiAgICBvdXRsaW5lOiAycHggc29saWRcbiAgICAgICR7cHJvcHMuaXNJbnZlcnNlXHJcbiAgICA/IHByb3BzLnRoZW1lLmNvbG9ycy5mb2N1c0ludmVyc2VcclxuICAgIDogcHJvcHMudGhlbWUuY29sb3JzLmZvY3VzfTtcbiAgICBvdXRsaW5lLW9mZnNldDogLTFweDtcbiAgfVxuXG4gICR7cHJvcHMuaGFzRXJyb3IgJiZcclxuICAgIGNzcyBgXG4gICAgYm9yZGVyLWNvbG9yOiAke3Byb3BzLmlzSW52ZXJzZVxyXG4gICAgICAgID8gcHJvcHMudGhlbWUuY29sb3JzLmRhbmdlcjMwMFxyXG4gICAgICAgIDogcHJvcHMudGhlbWUuY29sb3JzLmRhbmdlcn07XG4gIGB9XG5cbiAgJHtwcm9wcy5kaXNhYmxlZCAmJlxyXG4gICAgY3NzIGBcbiAgICBib3JkZXItY29sb3I6ICR7cHJvcHMuaXNJbnZlcnNlXHJcbiAgICAgICAgPyB0cmFuc3BhcmVudGl6ZSgwLjg1LCBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDEwMClcclxuICAgICAgICA6IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsMzAwfTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAke3Byb3BzLmlzSW52ZXJzZVxyXG4gICAgICAgID8gdHJhbnNwYXJlbnRpemUoMC45LCBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDkwMClcclxuICAgICAgICA6IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsMjAwfTtcbiAgYH1cblxuICAke3Byb3BzLmlucHV0U2l6ZSA9PT0gJ2xhcmdlJyAmJlxyXG4gICAgY3NzIGBcbiAgICBoZWlnaHQ6ICR7cHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMTF9O1xuICBgfVxuYDtcclxuZnVuY3Rpb24gZ2V0SW5wdXRQYWRkaW5nKHByb3BzKSB7XHJcbiAgICBjb25zdCB7IGlucHV0U2l6ZSwgaXNDbGVhcmFibGUsIGljb25Qb3NpdGlvbiB9ID0gcHJvcHM7XHJcbiAgICBjb25zdCBwYWRkaW5nID0ge1xyXG4gICAgICAgIGxlZnQ6IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzAzLFxyXG4gICAgICAgIHJpZ2h0OiBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwMyxcclxuICAgIH07XHJcbiAgICBpZiAoaW5wdXRTaXplID09PSAnbGFyZ2UnKSB7XHJcbiAgICAgICAgaWYgKGlzQ2xlYXJhYmxlKSB7XHJcbiAgICAgICAgICAgIGlmIChpY29uUG9zaXRpb24gPT09ICdyaWdodCcpIHtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmcucmlnaHQgPSAnOTJweCc7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgZWxzZSBpZiAoaWNvblBvc2l0aW9uID09PSAnbGVmdCcpIHtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmcubGVmdCA9IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzExO1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy5yaWdodCA9IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzExO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgLy8gaWNvbiB0b3AsIG5vIGljb25cclxuICAgICAgICAgICAgICAgIHBhZGRpbmcucmlnaHQgPSBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcxMTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBlbHNlIHtcclxuICAgICAgICAgICAgaWYgKGljb25Qb3NpdGlvbiA9PT0gJ3JpZ2h0Jykge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy5yaWdodCA9IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzEwO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGlmIChpY29uUG9zaXRpb24gPT09ICdsZWZ0Jykge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy5sZWZ0ID0gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMTA7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICBlbHNlIGlmIChpbnB1dFNpemUgPT09ICdtZWRpdW0nKSB7XHJcbiAgICAgICAgaWYgKGlzQ2xlYXJhYmxlKSB7XHJcbiAgICAgICAgICAgIGlmIChpY29uUG9zaXRpb24gPT09ICdyaWdodCcpIHtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmcucmlnaHQgPSAnNjhweCc7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgZWxzZSBpZiAoaWNvblBvc2l0aW9uID09PSAnbGVmdCcpIHtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmcubGVmdCA9IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzA5O1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy5yaWdodCA9IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzA5O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgLy8gaWNvbiB0b3AsIG5vIGljb25cclxuICAgICAgICAgICAgICAgIHBhZGRpbmcucmlnaHQgPSBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwOTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBlbHNlIHtcclxuICAgICAgICAgICAgaWYgKGljb25Qb3NpdGlvbiA9PT0gJ3JpZ2h0Jykge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy5yaWdodCA9IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzA5O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGlmIChpY29uUG9zaXRpb24gPT09ICdsZWZ0Jykge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy5sZWZ0ID0gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICByZXR1cm4gcGFkZGluZztcclxufVxyXG5leHBvcnQgY29uc3QgaW5wdXRCYXNlU3R5bGVzID0gKHByb3BzKSA9PiBjc3MgYFxuICBib3JkZXI6IDA7XG4gIGJvcmRlci1yYWRpdXM6ICR7cHJvcHMudGhlbWUuYm9yZGVyUmFkaXVzfTtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIGNvbG9yOiAke3Byb3BzLmlzSW52ZXJzZVxyXG4gICAgPyBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDEwMFxyXG4gICAgOiBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDcwMH07XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBmb250LXNpemU6ICR7cHJvcHMudGhlbWUudHlwZVNjYWxlLnNpemUwMy5mb250U2l6ZX07XG4gIGxpbmUtaGVpZ2h0OiAke3Byb3BzLnRoZW1lLnR5cGVTY2FsZS5zaXplMDMubGluZUhlaWdodH07XG4gIGZvbnQtZmFtaWx5OiAke3Byb3BzLnRoZW1lLmJvZHlGb250fTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBwYWRkaW5nOiAke3Byb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzAzfTtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICB3aWR0aDogMTAwJTtcblxuICAke3Byb3BzLmlucHV0U2l6ZSA9PT0gJ2xhcmdlJyAmJlxyXG4gICAgY3NzIGBcbiAgICBmb250LXNpemU6ICR7cHJvcHMudGhlbWUudHlwZVNjYWxlLnNpemUwNC5mb250U2l6ZX07XG4gICAgbGluZS1oZWlnaHQ6ICR7cHJvcHMudGhlbWUudHlwZVNjYWxlLnNpemUwNC5saW5lSGVpZ2h0fTtcbiAgICBwYWRkaW5nOiAke3Byb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzA0fTtcbiAgYH1cblxuICBwYWRkaW5nLWxlZnQ6ICR7Z2V0SW5wdXRQYWRkaW5nKHByb3BzKS5sZWZ0fTtcbiAgcGFkZGluZy1yaWdodDogJHtnZXRJbnB1dFBhZGRpbmcocHJvcHMpLnJpZ2h0fTtcblxuICAmOjpwbGFjZWhvbGRlciB7XG4gICAgY29sb3I6ICR7cHJvcHMuaXNJbnZlcnNlXHJcbiAgICA/IHRyYW5zcGFyZW50aXplKDAuMywgcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWwxMDApXHJcbiAgICA6IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsNTAwfTtcbiAgfVxuXG4gICY6Zm9jdXMge1xuICAgIG91dGxpbmU6IDA7XG4gIH1cblxuICAmW3R5cGU9J3NlYXJjaCddIHtcbiAgICAmOjotd2Via2l0LXNlYXJjaC1kZWNvcmF0aW9uLFxuICAgICY6Oi13ZWJraXQtc2VhcmNoLWNhbmNlbC1idXR0b24sXG4gICAgJjo6LXdlYmtpdC1zZWFyY2gtcmVzdWx0cy1idXR0b24sXG4gICAgJjo6LXdlYmtpdC1zZWFyY2gtcmVzdWx0cy1kZWNvcmF0aW9uIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICB9XG5cbiAgJHtwcm9wcy5kaXNhYmxlZCAmJlxyXG4gICAgY3NzIGBcbiAgICBjb2xvcjogJHtwcm9wcy5pc0ludmVyc2VcclxuICAgICAgICA/IHRyYW5zcGFyZW50aXplKDAuNiwgcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWwxMDApXHJcbiAgICAgICAgOiB0cmFuc3BhcmVudGl6ZSgwLjQsIHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsNTAwKX07XG4gICAgY3Vyc29yOiBub3QtYWxsb3dlZDtcblxuICAgICY6OnBsYWNlaG9sZGVyIHtcbiAgICAgIGNvbG9yOiAke3Byb3BzLmlzSW52ZXJzZVxyXG4gICAgICAgID8gdHJhbnNwYXJlbnRpemUoMC44LCBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDEwMClcclxuICAgICAgICA6IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsNTAwfTtcbiAgICAgIG9wYWNpdHk6ICR7cHJvcHMuaXNJbnZlcnNlID8gMC40IDogMC42fTtcbiAgICB9XG4gIGB9XG5cbiAgJjotd2Via2l0LWF1dG9maWxsLFxuICAmOi13ZWJraXQtYXV0b2ZpbGw6Zm9jdXMsXG4gICY6LXdlYmtpdC1hdXRvZmlsbDpob3ZlcixcbiAgJjotd2Via2l0LWF1dG9maWxsOmFjdGl2ZSB7XG4gICAgYm94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xuICAgIC13ZWJraXQtYmFja2dyb3VuZC1jbGlwOiB0ZXh0O1xuICAgIC13ZWJraXQtdGV4dC1maWxsLWNvbG9yOiAke3Byb3BzLmlzSW52ZXJzZVxyXG4gICAgPyBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDEwMFxyXG4gICAgOiBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDcwMH0gIWltcG9ydGFudDtcbiAgICBjYXJldC1jb2xvcjogJHtwcm9wcy5pc0ludmVyc2VcclxuICAgID8gcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWwxMDBcclxuICAgIDogcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWw3MDB9ICFpbXBvcnRhbnQ7XG4gIH1cbmA7XHJcbmNvbnN0IElucHV0Q29udGFpbmVyID0gc3R5bGVkLmRpdiBgXG4gIGRpc3BsYXk6IGZsZXg7XG5gO1xyXG5leHBvcnQgY29uc3QgSW5wdXRXcmFwcGVyID0gc3R5bGVkLmRpdiBgXG4gICR7aW5wdXRXcmFwcGVyU3R5bGVzfVxuYDtcclxuY29uc3QgU3R5bGVkSW5wdXQgPSBzdHlsZWQuaW5wdXQgYFxuICAke2lucHV0QmFzZVN0eWxlc31cbmA7XHJcbmNvbnN0IEljb25XcmFwcGVyID0gc3R5bGVkLnNwYW4gYFxuICBib3R0b206ICR7cHJvcHMgPT4gKHByb3BzLmljb25Qb3NpdGlvbiA9PT0gJ3RvcCcgPyAnNDVweCcgOiAnaW5oZXJpdCcpfTtcbiAgY29sb3I6ICR7cHJvcHMgPT4gcHJvcHMuaXNJbnZlcnNlXHJcbiAgICA/IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsMTAwXHJcbiAgICA6IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsNzAwfTtcbiAgbGVmdDogJHtwcm9wcyA9PiBwcm9wcy5pY29uUG9zaXRpb24gPT09ICdsZWZ0JyA/IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzAzIDogJ2F1dG8nfTtcbiAgcmlnaHQ6ICR7cHJvcHMgPT4gcHJvcHMuaWNvblBvc2l0aW9uID09PSAncmlnaHQnXHJcbiAgICA/IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzAzXHJcbiAgICA6IHByb3BzLmljb25Qb3NpdGlvbiA9PT0gJ3RvcCdcclxuICAgICAgICA/ICczcHgnXHJcbiAgICAgICAgOiAnYXV0byd9O1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogJHtwcm9wcyA9PiBwcm9wcy5pY29uUG9zaXRpb24gPT09ICd0b3AnXHJcbiAgICA/ICdpbmhlcml0J1xyXG4gICAgOiBwcm9wcyA9PiBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwM307XG5cbiAgJHtwcm9wcyA9PiBwcm9wcy5pbnB1dFNpemUgPT09ICdsYXJnZScgJiZcclxuICAgIGNzcyBgXG4gICAgICBib3R0b206ICR7cHJvcHMuaWNvblBvc2l0aW9uID09PSAndG9wJyA/ICc2MnB4JyA6ICdpbmhlcml0J307XG4gICAgICBsZWZ0OiAke3Byb3BzLmljb25Qb3NpdGlvbiA9PT0gJ2xlZnQnXHJcbiAgICAgICAgPyBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwNFxyXG4gICAgICAgIDogJ2F1dG8nfTtcbiAgICAgIHJpZ2h0OiAke3Byb3BzLmljb25Qb3NpdGlvbiA9PT0gJ3JpZ2h0J1xyXG4gICAgICAgID8gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDRcclxuICAgICAgICA6IHByb3BzLmljb25Qb3NpdGlvbiA9PT0gJ3RvcCdcclxuICAgICAgICAgICAgPyAnM3B4J1xyXG4gICAgICAgICAgICA6ICdhdXRvJ307XG4gICAgICB0b3A6ICR7cHJvcHMuaWNvblBvc2l0aW9uID09PSAndG9wJ1xyXG4gICAgICAgID8gJ2luaGVyaXQnXHJcbiAgICAgICAgOiBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwNH07XG4gICAgYH1cbmA7XHJcbmZ1bmN0aW9uIGdldEljb25CdXR0b25TVkdTaXplKHByb3BzKSB7XHJcbiAgICBjb25zdCB7IGlzQ2xpY2thYmxlLCBpY29uUG9zaXRpb24sIGlucHV0U2l6ZSwgdGhlbWUgfSA9IHByb3BzO1xyXG4gICAgaWYgKGlzQ2xpY2thYmxlICYmIGljb25Qb3NpdGlvbiA9PT0gSW5wdXRJY29uUG9zaXRpb24udG9wKSB7XHJcbiAgICAgICAgaWYgKGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlKSB7XHJcbiAgICAgICAgICAgIHJldHVybiBgJHt0aGVtZS5pY29uU2l6ZXMubWVkaXVtfXB4YDtcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIGAke3RoZW1lLmljb25TaXplcy5zbWFsbH1weGA7XHJcbiAgICB9XHJcbiAgICBpZiAoaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2UpIHtcclxuICAgICAgICByZXR1cm4gYCR7dGhlbWUuaWNvblNpemVzLmxhcmdlfXB4YDtcclxuICAgIH1cclxuICAgIHJldHVybiBgJHt0aGVtZS5pY29uU2l6ZXMubWVkaXVtfXB4YDtcclxufVxyXG5mdW5jdGlvbiBnZXRIZWxwTGlua1NWR1NpemUocHJvcHMpIHtcclxuICAgIGNvbnN0IHsgaW5wdXRTaXplLCB0aGVtZSB9ID0gcHJvcHM7XHJcbiAgICBpZiAoaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2UpIHtcclxuICAgICAgICByZXR1cm4gYCR7dGhlbWUuaWNvblNpemVzLm1lZGl1bX1weGA7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gYCR7dGhlbWUuaWNvblNpemVzLnNtYWxsfXB4YDtcclxufVxyXG5leHBvcnQgZnVuY3Rpb24gZ2V0SGVscEljb25CdXR0b25TaXplKHByb3BzKSB7XHJcbiAgICBjb25zdCB7IGlucHV0U2l6ZSwgdGhlbWUgfSA9IHByb3BzO1xyXG4gICAgaWYgKGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlKSB7XHJcbiAgICAgICAgcmV0dXJuIHRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzA5O1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIHRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzA3O1xyXG59XHJcbmZ1bmN0aW9uIGdldEljb25CdXR0b25UcmFuc2Zvcm0ocHJvcHMpIHtcclxuICAgIGNvbnN0IHsgaXNDbGlja2FibGUsIGljb25Qb3NpdGlvbiwgaW5wdXRTaXplLCBoYXNDaGlsZHJlbiwgdGhlbWUgfSA9IHByb3BzO1xyXG4gICAgY29uc3QgcG9zaXRpb24gPSB7IHg6ICcnLCB5OiAnJyB9O1xyXG4gICAgaWYgKGljb25Qb3NpdGlvbiA9PT0gSW5wdXRJY29uUG9zaXRpb24udG9wKSB7XHJcbiAgICAgICAgaWYgKGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlKSB7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uLnggPSAnLTMwcHgnO1xyXG4gICAgICAgICAgICBwb3NpdGlvbi55ID0gJzJweCc7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2UgaWYgKGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLm1lZGl1bSkge1xyXG4gICAgICAgICAgICBwb3NpdGlvbi54ID0gJy0yOHB4JztcclxuICAgICAgICAgICAgcG9zaXRpb24ueSA9ICc1cHgnO1xyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gcG9zaXRpb247XHJcbiAgICB9XHJcbiAgICBpZiAoaXNDbGlja2FibGUpIHtcclxuICAgICAgICBpZiAoaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2UpIHtcclxuICAgICAgICAgICAgaWYgKGhhc0NoaWxkcmVuKSB7XHJcbiAgICAgICAgICAgICAgICBwb3NpdGlvbi54ID0gJy00M3B4JztcclxuICAgICAgICAgICAgICAgIHBvc2l0aW9uLnkgPSAnMTRweCc7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICAgICAgICBwb3NpdGlvbi54ID0gJy00OXB4JztcclxuICAgICAgICAgICAgICAgIHBvc2l0aW9uLnkgPSAnOHB4JztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBlbHNlIGlmIChpbnB1dFNpemUgPT09IElucHV0U2l6ZS5tZWRpdW0pIHtcclxuICAgICAgICAgICAgcG9zaXRpb24ueCA9ICctMzVweCc7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uLnkgPSAnNnB4JztcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIHBvc2l0aW9uO1xyXG4gICAgfVxyXG4gICAgaWYgKGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlKSB7XHJcbiAgICAgICAgcG9zaXRpb24ueCA9IGAtJHt0aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcxMH1gO1xyXG4gICAgICAgIHBvc2l0aW9uLnkgPSB0aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwMztcclxuICAgIH1cclxuICAgIGVsc2UgaWYgKGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLm1lZGl1bSkge1xyXG4gICAgICAgIHBvc2l0aW9uLnggPSAnLTI0cHgnO1xyXG4gICAgICAgIHBvc2l0aW9uLnkgPSAnN3B4JztcclxuICAgIH1cclxuICAgIHJldHVybiBwb3NpdGlvbjtcclxufVxyXG5leHBvcnQgY29uc3QgSWNvbkJ1dHRvbkNvbnRhaW5lciA9IHN0eWxlZC5zcGFuIGBcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGJvdHRvbTogJHtwcm9wcyA9PiAocHJvcHMuaWNvblBvc2l0aW9uID09PSAndG9wJyA/ICc0MHB4JyA6ICdpbmhlcml0Jyl9O1xuICBoZWlnaHQ6IGF1dG87XG4gIG1hcmdpbjogMDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aWR0aDogMDtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoXG4gICAgJHtwcm9wcyA9PiBnZXRJY29uQnV0dG9uVHJhbnNmb3JtKHByb3BzKS54fSxcbiAgICAke3Byb3BzID0+IGdldEljb25CdXR0b25UcmFuc2Zvcm0ocHJvcHMpLnl9XG4gICk7XG4gIHN2ZyB7XG4gICAgaGVpZ2h0OiAke3Byb3BzID0+IGdldEljb25CdXR0b25TVkdTaXplKHByb3BzKX07XG4gICAgd2lkdGg6ICR7cHJvcHMgPT4gZ2V0SWNvbkJ1dHRvblNWR1NpemUocHJvcHMpfTtcbiAgfVxuYDtcclxuY29uc3QgUGFzc3dvcmRCdXR0b25Db250YWluZXIgPSBzdHlsZWQuc3BhbiBgXG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICB3aWR0aDogMDtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoXG4gICAgJHtwcm9wcyA9PiBwcm9wcy5zaXplID09PSBJbnB1dFNpemUubGFyZ2VcclxuICAgID8gYCR7LXByb3BzLmJ1dHRvbldpZHRoIC0gOH1weGBcclxuICAgIDogYCR7LXByb3BzLmJ1dHRvbldpZHRoIC0gNn1weGB9LFxuICAgICR7cHJvcHMgPT4gcHJvcHMuc2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlID8gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDMgOiAnNnB4J31cbiAgKTtcbmA7XHJcbmZ1bmN0aW9uIGdldENsZWFyYWJsZVBvc2l0aW9uKHByb3BzKSB7XHJcbiAgICBpZiAocHJvcHMuaWNvblBvc2l0aW9uID09PSAncmlnaHQnICYmIHByb3BzLmljb24pIHtcclxuICAgICAgICBpZiAocHJvcHMuaW5wdXRTaXplID09PSAnbGFyZ2UnKSB7XHJcbiAgICAgICAgICAgIHJldHVybiBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcxMztcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuICc3MnB4JztcclxuICAgIH1cclxuICAgIGlmIChwcm9wcy5pbnB1dFNpemUgPT09ICdsYXJnZScpIHtcclxuICAgICAgICByZXR1cm4gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMTA7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gJzM0cHgnO1xyXG59XHJcbmNvbnN0IElzQ2xlYXJhYmxlQ29udGFpbmVyID0gc3R5bGVkLnNwYW4gYFxuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgbWFyZ2luOiAwO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGhlaWdodDogYXV0bztcbiAgd2lkdGg6IDA7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKFxuICAgIC0ke3Byb3BzID0+IGdldENsZWFyYWJsZVBvc2l0aW9uKHByb3BzKX0sXG4gICAgJHtwcm9wcyA9PiBwcm9wcy5pbnB1dFNpemUgPT09IElucHV0U2l6ZS5sYXJnZVxyXG4gICAgPyBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwM1xyXG4gICAgOiAnNnB4J31cbiAgKTtcbmA7XHJcbmZ1bmN0aW9uIGdldEljb25TaXplKHNpemUsIHRoZW1lLCBpY29uUG9zaXRpb24pIHtcclxuICAgIHN3aXRjaCAoc2l6ZSkge1xyXG4gICAgICAgIGNhc2UgJ2xhcmdlJzpcclxuICAgICAgICAgICAgaWYgKGljb25Qb3NpdGlvbiA9PT0gSW5wdXRJY29uUG9zaXRpb24udG9wKSB7XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gdGhlbWUuaWNvblNpemVzLm1lZGl1bTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICByZXR1cm4gdGhlbWUuaWNvblNpemVzLmxhcmdlO1xyXG4gICAgICAgIGRlZmF1bHQ6XHJcbiAgICAgICAgICAgIGlmIChpY29uUG9zaXRpb24gPT09IElucHV0SWNvblBvc2l0aW9uLnRvcCkge1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuIHRoZW1lLmljb25TaXplcy5zbWFsbDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICByZXR1cm4gdGhlbWUuaWNvblNpemVzLm1lZGl1bTtcclxuICAgIH1cclxufVxyXG5leHBvcnQgY29uc3QgaXNMZWZ0T3JIaWRkZW4gPSAoeyBsYWJlbFBvc2l0aW9uLCBpc0xhYmVsVmlzdWFsbHlIaWRkZW4sIH0pID0+IGxhYmVsUG9zaXRpb24gPT09IExhYmVsUG9zaXRpb24ubGVmdCB8fCBpc0xhYmVsVmlzdWFsbHlIaWRkZW47XHJcbmV4cG9ydCBjb25zdCBIZWxwTGlua0NvbnRhaW5lciA9IHN0eWxlZC5zcGFuIGBcbiAgcG9zaXRpb246ICR7cHJvcHMgPT4gKGlzTGVmdE9ySGlkZGVuKHByb3BzKSA/ICdyZWxhdGl2ZScgOiAnYWJzb2x1dGUnKX07XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXG4gIGhlaWdodDogJHtwcm9wcyA9PiAoaXNMZWZ0T3JIaWRkZW4ocHJvcHMpID8gJ2F1dG8nIDogJ2ZpdC1jb250ZW50Jyl9O1xuICBtYXJnaW4taW5saW5lLXN0YXJ0OiAke3Byb3BzID0+IGlzTGVmdE9ySGlkZGVuKHByb3BzKSA/IGAke3Byb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzAzfWAgOiAnYXV0byd9O1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoXG4gICAgJHtwcm9wcyA9PiBpc0xlZnRPckhpZGRlbihwcm9wcylcclxuICAgID8gJzAnXHJcbiAgICA6IGBjYWxjKC0xMDAlIC0gJHtwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwM30pYH1cbiAgKTtcbiAgJHtDaGlsZHJlbldyYXBwZXJ9ID4gc3ZnIHtcbiAgICBoZWlnaHQ6ICR7cHJvcHMgPT4gZ2V0SGVscExpbmtTVkdTaXplKHByb3BzKX07XG4gICAgd2lkdGg6ICR7cHJvcHMgPT4gZ2V0SGVscExpbmtTVkdTaXplKHByb3BzKX07XG4gIH1cbiAgYnV0dG9uIHtcbiAgICBoZWlnaHQ6ICR7cHJvcHMgPT4gZ2V0SGVscEljb25CdXR0b25TaXplKHByb3BzKX07XG4gICAgd2lkdGg6ICR7cHJvcHMgPT4gZ2V0SGVscEljb25CdXR0b25TaXplKHByb3BzKX07XG4gIH1cbiAgaW5zZXQtaW5saW5lLWVuZDogJHtwcm9wcyA9PiAoaXNMZWZ0T3JIaWRkZW4ocHJvcHMpID8gJ2F1dG8nIDogJzAnKX07XG5gO1xyXG5leHBvcnQgY29uc3QgSW5wdXRCYXNlID0gUmVhY3QuZm9yd2FyZFJlZigocHJvcHMsIGZvcndhcmRlZFJlZikgPT4ge1xyXG4gICAgY29uc3QgeyBjaGlsZHJlbiwgY29udGFpbmVyU3R5bGUsIGRlZmF1bHRWYWx1ZSwgZGlzYWJsZWQsIGhhc0NoYXJhY3RlckNvdW50ZXIsIGhhc0Vycm9yLCBpY29uLCBpY29uQXJpYUxhYmVsLCBpY29uUmVmLCBpc0NsZWFyYWJsZSwgaXNQYXNzd29yZElucHV0LCBpc1ByZWRpY3RpdmUsIG1heENvdW50LCBtYXhMZW5ndGgsIG9uQ2xlYXIsIG9uSWNvbkNsaWNrLCBvbkljb25LZXlEb3duLCBvbkRhdGVDaGFuZ2UsIGlucHV0TGVuZ3RoLCBpbnB1dFNpemUsIGlucHV0U3R5bGUsIGlucHV0V3JhcHBlclN0eWxlLCB0ZXN0SWQsIHR5cGUsIHNldFJlZmVyZW5jZSwgaXNMYWJlbFZpc3VhbGx5SGlkZGVuLCBsYWJlbFBvc2l0aW9uLCAuLi5vdGhlciB9ID0gcHJvcHM7XHJcbiAgICBjb25zdCBpMThuID0gUmVhY3QudXNlQ29udGV4dChJMThuQ29udGV4dCk7XHJcbiAgICBjb25zdCB0aGVtZSA9IFJlYWN0LnVzZUNvbnRleHQoVGhlbWVDb250ZXh0KTtcclxuICAgIGNvbnN0IGljb25Qb3NpdGlvbiA9IGljb24gJiYgb25JY29uQ2xpY2tcclxuICAgICAgICA/IElucHV0SWNvblBvc2l0aW9uLnJpZ2h0XHJcbiAgICAgICAgOiBpY29uICYmICFwcm9wcy5pY29uUG9zaXRpb25cclxuICAgICAgICAgICAgPyBJbnB1dEljb25Qb3NpdGlvbi5sZWZ0XHJcbiAgICAgICAgICAgIDogcHJvcHMuaWNvblBvc2l0aW9uO1xyXG4gICAgY29uc3QgW3ZhbHVlLCBzZXRWYWx1ZV0gPSBSZWFjdC51c2VTdGF0ZShwcm9wcy5kZWZhdWx0VmFsdWUgIT09IHVuZGVmaW5lZCAmJiBwcm9wcy5kZWZhdWx0VmFsdWUgIT09IG51bGxcclxuICAgICAgICA/IHByb3BzLmRlZmF1bHRWYWx1ZVxyXG4gICAgICAgIDogcHJvcHMudmFsdWUgfHwgJycpO1xyXG4gICAgY29uc3QgbWF4TGVuZ3RoTnVtID0gIWhhc0NoYXJhY3RlckNvdW50ZXIgJiYgbWF4TGVuZ3RoID8gbWF4TGVuZ3RoIDogdW5kZWZpbmVkO1xyXG4gICAgUmVhY3QudXNlRWZmZWN0KCgpID0+IHtcclxuICAgICAgICBpZiAocHJvcHMudmFsdWUgIT09IHVuZGVmaW5lZCAmJiBwcm9wcy52YWx1ZSAhPT0gbnVsbCkge1xyXG4gICAgICAgICAgICBzZXRWYWx1ZShwcm9wcy52YWx1ZSk7XHJcbiAgICAgICAgfVxyXG4gICAgfSwgW3Byb3BzLnZhbHVlXSk7XHJcbiAgICBjb25zdCBpbnB1dFJlZiA9IFJlYWN0LnVzZVJlZigpO1xyXG4gICAgY29uc3QgcmVmID0gdXNlRm9ya2VkUmVmKGZvcndhcmRlZFJlZiwgaW5wdXRSZWYpO1xyXG4gICAgZnVuY3Rpb24gaGFuZGxlQ2xlYXJJbnB1dCgpIHtcclxuICAgICAgICBvbkNsZWFyICYmIHR5cGVvZiBvbkNsZWFyID09PSAnZnVuY3Rpb24nICYmIG9uQ2xlYXIoKTtcclxuICAgICAgICBzZXRWYWx1ZSgnJyk7XHJcbiAgICAgICAgb25EYXRlQ2hhbmdlICYmIHR5cGVvZiBvbkRhdGVDaGFuZ2UgPT09ICdmdW5jdGlvbicgJiYgb25EYXRlQ2hhbmdlKG51bGwpO1xyXG4gICAgICAgIGlucHV0UmVmLmN1cnJlbnQuZm9jdXMoKTtcclxuICAgIH1cclxuICAgIGZ1bmN0aW9uIGhhbmRsZUNoYW5nZShldmVudCkge1xyXG4gICAgICAgIHByb3BzLm9uQ2hhbmdlICYmXHJcbiAgICAgICAgICAgIHR5cGVvZiBwcm9wcy5vbkNoYW5nZSA9PT0gJ2Z1bmN0aW9uJyAmJlxyXG4gICAgICAgICAgICBwcm9wcy5vbkNoYW5nZShldmVudCk7XHJcbiAgICAgICAgY29uc3QgaXNPbkRhdGVDaGFuZ2UgPSBvbkRhdGVDaGFuZ2UgJiYgdHlwZW9mIG9uRGF0ZUNoYW5nZSA9PT0gJ2Z1bmN0aW9uJztcclxuICAgICAgICBjb25zdCB7IHZhbHVlIH0gPSBldmVudC50YXJnZXQ7XHJcbiAgICAgICAgc2V0VmFsdWUoaXNPbkRhdGVDaGFuZ2UgPyB2YWx1ZSA6IChwcm9wcy52YWx1ZSA/PyB2YWx1ZSkpO1xyXG4gICAgICAgIGlmIChpc09uRGF0ZUNoYW5nZSAmJiAhdmFsdWUpIHtcclxuICAgICAgICAgICAgb25EYXRlQ2hhbmdlKG51bGwpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIGNvbnN0IHBhc3N3b3JkQnRuV2lkdGggPSAoKSA9PiB7XHJcbiAgICAgICAgY29uc3QgYnRuV2lkdGggPSBjaGlsZHJlbj8ucHJvcHM/LmNoaWxkcmVuPy5bMF0/LnJlZj8uY3VycmVudD8ub2Zmc2V0V2lkdGg7XHJcbiAgICAgICAgaWYgKHR5cGVvZiBidG5XaWR0aCA9PT0gJ251bWJlcicpIHtcclxuICAgICAgICAgICAgcmV0dXJuIGJ0bldpZHRoO1xyXG4gICAgICAgIH1cclxuICAgICAgICBlbHNlIHtcclxuICAgICAgICAgICAgLy8gV2hlbiBQYXNzd29yZEJ1dHRvbiBpcyB1c2VkIGluc2lkZSBTY2hlbWFSZW5kZXJlciwgaXQgZG9lc24ndCBoYXZlIGNoaWxkcmVuLlxyXG4gICAgICAgICAgICAvLyBXZSdsbCB1c2UgdGhlIGRlZmF1bHQgYnV0dG9uIHNpemVzLlxyXG4gICAgICAgICAgICBpZiAocHJvcHMuaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgIHJldHVybiA2NDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICByZXR1cm4gNTQ7XHJcbiAgICAgICAgfVxyXG4gICAgfTtcclxuICAgIHJldHVybiAoUmVhY3QuY3JlYXRlRWxlbWVudChcImRpdlwiLCB7IHJlZjogc2V0UmVmZXJlbmNlIH0sXHJcbiAgICAgICAgUmVhY3QuY3JlYXRlRWxlbWVudChJbnB1dENvbnRhaW5lciwgeyBzdHlsZTogaW5wdXRXcmFwcGVyU3R5bGUsIFwiZGF0YS10ZXN0aWRcIjogYCR7dGVzdElkfS13cmFwcGVyYCB9LFxyXG4gICAgICAgICAgICBSZWFjdC5jcmVhdGVFbGVtZW50KElucHV0V3JhcHBlciwgeyBkaXNhYmxlZDogZGlzYWJsZWQsIGljb25Qb3NpdGlvbjogaWNvblBvc2l0aW9uLCBpc0ludmVyc2U6IHByb3BzLmlzSW52ZXJzZSwgaW5wdXRTaXplOiBpbnB1dFNpemUgPz8gSW5wdXRTaXplLm1lZGl1bSwgdGhlbWU6IHRoZW1lLCBzdHlsZTogY29udGFpbmVyU3R5bGUsIGhhc0Vycm9yOiBoYXNFcnJvciwgaXNDbGVhcmFibGU6IGlzQ2xlYXJhYmxlLCB3aWR0aDogcHJvcHMud2lkdGggfSxcclxuICAgICAgICAgICAgICAgIFJlYWN0LmNyZWF0ZUVsZW1lbnQoU3R5bGVkSW5wdXQsIE9iamVjdC5hc3NpZ24oe30sIG90aGVyLCB7IFwiYXJpYS1pbnZhbGlkXCI6IGhhc0Vycm9yLCBkaXNhYmxlZDogZGlzYWJsZWQsIFwiZGF0YS10ZXN0aWRcIjogdGVzdElkLCBoYXNDaGFyYWN0ZXJDb3VudGVyOiBoYXNDaGFyYWN0ZXJDb3VudGVyLCBpY29uUG9zaXRpb246IGljb25Qb3NpdGlvbiwgaW5wdXRTaXplOiBpbnB1dFNpemUgPz8gSW5wdXRTaXplLm1lZGl1bSwgaXNDbGVhcmFibGU6IHR5cGUgPT09IElucHV0VHlwZS5zZWFyY2hcclxuICAgICAgICAgICAgICAgICAgICAgICAgPyBpc0NsZWFyYWJsZVxyXG4gICAgICAgICAgICAgICAgICAgICAgICA6IGlucHV0V3JhcHBlclN0eWxlPy53aWR0aFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPyBpc0NsZWFyYWJsZVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBpc0NsZWFyYWJsZSAmJiBpbnB1dExlbmd0aCA+IDAsIGlzSW52ZXJzZTogdXNlSXNJbnZlcnNlKHByb3BzLmlzSW52ZXJzZSksIGlzUHJlZGljdGl2ZTogaXNQcmVkaWN0aXZlLCBoYXNFcnJvcjogaGFzRXJyb3IsIHJlZjogcmVmLCBtYXhMZW5ndGg6IG1heExlbmd0aE51bSwgb25DaGFuZ2U6IGhhbmRsZUNoYW5nZSwgc3R5bGU6IGlucHV0U3R5bGUsIHRoZW1lOiB0aGVtZSwgdHlwZTogdHlwZSA/IHR5cGUgOiBJbnB1dFR5cGUudGV4dCwgdmFsdWU6IHZhbHVlIH0pKSxcclxuICAgICAgICAgICAgICAgIGljb24gJiYgIW9uSWNvbkNsaWNrICYmIChSZWFjdC5jcmVhdGVFbGVtZW50KEljb25XcmFwcGVyLCB7IFwiYXJpYS1sYWJlbFwiOiBpY29uQXJpYUxhYmVsLCBpY29uUG9zaXRpb246IGljb25Qb3NpdGlvbiwgaW5wdXRTaXplOiBpbnB1dFNpemUgPz8gSW5wdXRTaXplLm1lZGl1bSwgaXNJbnZlcnNlOiBwcm9wcy5pc0ludmVyc2UsIGlzUHJlZGljdGl2ZTogaXNQcmVkaWN0aXZlLCB0aGVtZTogdGhlbWUsIGRpc2FibGVkOiBkaXNhYmxlZCB9LCBSZWFjdC5DaGlsZHJlbi5vbmx5KFJlYWN0LmNsb25lRWxlbWVudChpY29uLCB7XHJcbiAgICAgICAgICAgICAgICAgICAgc2l6ZTogZ2V0SWNvblNpemUoaW5wdXRTaXplID8/IElucHV0U2l6ZS5tZWRpdW0sIHRoZW1lLCBpY29uUG9zaXRpb24pLFxyXG4gICAgICAgICAgICAgICAgfSkpKSkpLFxyXG4gICAgICAgICAgICBpc0NsZWFyYWJsZSAmJiB2YWx1ZSAhPT0gJycgJiYgKFJlYWN0LmNyZWF0ZUVsZW1lbnQoSXNDbGVhcmFibGVDb250YWluZXIsIHsgdGhlbWU6IHRoZW1lLCBpY29uUG9zaXRpb246IGljb25Qb3NpdGlvbiwgaW5wdXRTaXplOiBpbnB1dFNpemUsIGljb246IGljb24gfSxcclxuICAgICAgICAgICAgICAgIFJlYWN0LmNyZWF0ZUVsZW1lbnQoSWNvbkJ1dHRvbiwgeyBcImFyaWEtbGFiZWxcIjogaTE4bi5pbnB1dC5pc0NsZWFyYWJsZUFyaWFMYWJlbCwgZGlzYWJsZWQ6IGRpc2FibGVkLCBpY29uOiBSZWFjdC5jcmVhdGVFbGVtZW50KENsZWFySWNvbiwgbnVsbCksIGlzSW52ZXJzZTogcHJvcHMuaXNJbnZlcnNlLCBvbkNsaWNrOiBoYW5kbGVDbGVhcklucHV0LCBvbktleURvd246IG9uSWNvbktleURvd24sIHJlZjogaWNvblJlZiwgc2hhcGU6IEJ1dHRvblNoYXBlLmZpbGwsIHNpemU6IGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlXHJcbiAgICAgICAgICAgICAgICAgICAgICAgID8gQnV0dG9uU2l6ZS5tZWRpdW1cclxuICAgICAgICAgICAgICAgICAgICAgICAgOiBCdXR0b25TaXplLnNtYWxsLCB0ZXN0SWQ6IFwiY2xlYXItYnV0dG9uXCIsIHR5cGU6IEJ1dHRvblR5cGUuYnV0dG9uLCB2YXJpYW50OiBCdXR0b25WYXJpYW50LmxpbmsgfSkpKSxcclxuICAgICAgICAgICAgb25JY29uQ2xpY2sgJiYgKFJlYWN0LmNyZWF0ZUVsZW1lbnQoSWNvbkJ1dHRvbkNvbnRhaW5lciwgeyBpY29uUG9zaXRpb246IGljb25Qb3NpdGlvbiwgaW5wdXRTaXplOiBpbnB1dFNpemUgPT09IElucHV0U2l6ZS5sYXJnZVxyXG4gICAgICAgICAgICAgICAgICAgID8gSW5wdXRTaXplLmxhcmdlXHJcbiAgICAgICAgICAgICAgICAgICAgOiBJbnB1dFNpemUubWVkaXVtLCB0aGVtZTogdGhlbWUsIGlzQ2xpY2thYmxlOiB0cnVlIH0sXHJcbiAgICAgICAgICAgICAgICBSZWFjdC5jcmVhdGVFbGVtZW50KEljb25CdXR0b24sIHsgXCJhcmlhLWxhYmVsXCI6IGljb25BcmlhTGFiZWwsIGljb246IGljb24sIGlzSW52ZXJzZTogcHJvcHMuaXNJbnZlcnNlLCBvbkNsaWNrOiBvbkljb25DbGljaywgb25LZXlEb3duOiBvbkljb25LZXlEb3duLCByZWY6IGljb25SZWYsIGRpc2FibGVkOiBkaXNhYmxlZCwgc2hhcGU6IEJ1dHRvblNoYXBlLmZpbGwsIHNpemU6IGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlXHJcbiAgICAgICAgICAgICAgICAgICAgICAgID8gQnV0dG9uU2l6ZS5tZWRpdW1cclxuICAgICAgICAgICAgICAgICAgICAgICAgOiBCdXR0b25TaXplLnNtYWxsLCB0eXBlOiBCdXR0b25UeXBlLmJ1dHRvbiwgdmFyaWFudDogQnV0dG9uVmFyaWFudC5saW5rIH0pKSksXHJcbiAgICAgICAgICAgIGlzUGFzc3dvcmRJbnB1dCA/IChSZWFjdC5jcmVhdGVFbGVtZW50KFBhc3N3b3JkQnV0dG9uQ29udGFpbmVyLCB7IHNpemU6IGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlXHJcbiAgICAgICAgICAgICAgICAgICAgPyBJbnB1dFNpemUubGFyZ2VcclxuICAgICAgICAgICAgICAgICAgICA6IElucHV0U2l6ZS5tZWRpdW0sIHRoZW1lOiB0aGVtZSwgYnV0dG9uV2lkdGg6IHBhc3N3b3JkQnRuV2lkdGgoKSB9LCBjaGlsZHJlbikpIDogKFJlYWN0LmNyZWF0ZUVsZW1lbnQoSGVscExpbmtDb250YWluZXIsIHsgaXNMYWJlbFZpc3VhbGx5SGlkZGVuOiBpc0xhYmVsVmlzdWFsbHlIaWRkZW4gfHwgZmFsc2UsIGlucHV0U2l6ZTogaW5wdXRTaXplID8/IElucHV0U2l6ZS5tZWRpdW0sIGxhYmVsUG9zaXRpb246IGxhYmVsUG9zaXRpb24gPz8gTGFiZWxQb3NpdGlvbi50b3AsIHRoZW1lOiB0aGVtZSB9LCBjaGlsZHJlbikpKSkpO1xyXG59KTtcclxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9aW5kZXguanMubWFwIl19 */"));
|
|
4923
4923
|
};
|
|
4924
4924
|
var InputContainer = /*#__PURE__*/_styled("div", {
|
|
4925
4925
|
target: "e1jxjjn77",
|
|
@@ -4929,17 +4929,17 @@ var InputContainer = /*#__PURE__*/_styled("div", {
|
|
|
4929
4929
|
styles: "display:flex"
|
|
4930
4930
|
} : {
|
|
4931
4931
|
name: "zjik7",
|
|
4932
|
-
styles: "display:flex/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImluZGV4LnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFpTmtDIiwiZmlsZSI6ImluZGV4LnRzeCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIFJlYWN0IGZyb20gJ3JlYWN0JztcclxuaW1wb3J0IHsgY3NzIH0gZnJvbSAnQGVtb3Rpb24vcmVhY3QnO1xyXG5pbXBvcnQgc3R5bGVkIGZyb20gJ0BlbW90aW9uL3N0eWxlZCc7XHJcbmltcG9ydCB7IHRyYW5zcGFyZW50aXplIH0gZnJvbSAncG9saXNoZWQnO1xyXG5pbXBvcnQgeyBDbGVhckljb24gfSBmcm9tICdyZWFjdC1tYWdtYS1pY29ucyc7XHJcbmltcG9ydCB7IEkxOG5Db250ZXh0IH0gZnJvbSAnLi4vLi4vaTE4bic7XHJcbmltcG9ydCB7IHVzZUlzSW52ZXJzZSB9IGZyb20gJy4uLy4uL2ludmVyc2UnO1xyXG5pbXBvcnQgeyBUaGVtZUNvbnRleHQgfSBmcm9tICcuLi8uLi90aGVtZS9UaGVtZUNvbnRleHQnO1xyXG5pbXBvcnQgeyB1c2VGb3JrZWRSZWYgfSBmcm9tICcuLi8uLi91dGlscyc7XHJcbmltcG9ydCB7IEJ1dHRvblNoYXBlLCBCdXR0b25TaXplLCBCdXR0b25UeXBlLCBCdXR0b25WYXJpYW50IH0gZnJvbSAnLi4vQnV0dG9uJztcclxuaW1wb3J0IHsgSWNvbkJ1dHRvbiB9IGZyb20gJy4uL0ljb25CdXR0b24nO1xyXG5pbXBvcnQgeyBMYWJlbFBvc2l0aW9uIH0gZnJvbSAnLi4vTGFiZWwnO1xyXG5pbXBvcnQgeyBDaGlsZHJlbldyYXBwZXIgfSBmcm9tICcuLi9TdHlsZWRCdXR0b24nO1xyXG5leHBvcnQgdmFyIElucHV0U2l6ZTtcclxuKGZ1bmN0aW9uIChJbnB1dFNpemUpIHtcclxuICAgIElucHV0U2l6ZVtcImxhcmdlXCJdID0gXCJsYXJnZVwiO1xyXG4gICAgSW5wdXRTaXplW1wibWVkaXVtXCJdID0gXCJtZWRpdW1cIjtcclxufSkoSW5wdXRTaXplIHx8IChJbnB1dFNpemUgPSB7fSkpO1xyXG5leHBvcnQgdmFyIElucHV0VHlwZTtcclxuKGZ1bmN0aW9uIChJbnB1dFR5cGUpIHtcclxuICAgIElucHV0VHlwZVtcImVtYWlsXCJdID0gXCJlbWFpbFwiO1xyXG4gICAgSW5wdXRUeXBlW1wiZmlsZVwiXSA9IFwiZmlsZVwiO1xyXG4gICAgSW5wdXRUeXBlW1wibnVtYmVyXCJdID0gXCJudW1iZXJcIjtcclxuICAgIElucHV0VHlwZVtcInBhc3N3b3JkXCJdID0gXCJwYXNzd29yZFwiO1xyXG4gICAgSW5wdXRUeXBlW1wic2VhcmNoXCJdID0gXCJzZWFyY2hcIjtcclxuICAgIElucHV0VHlwZVtcInRleHRcIl0gPSBcInRleHRcIjtcclxuICAgIElucHV0VHlwZVtcInVybFwiXSA9IFwidXJsXCI7XHJcbiAgICBJbnB1dFR5cGVbXCJ0ZWxcIl0gPSBcInRlbFwiO1xyXG59KShJbnB1dFR5cGUgfHwgKElucHV0VHlwZSA9IHt9KSk7XHJcbmV4cG9ydCB2YXIgSW5wdXRJY29uUG9zaXRpb247XHJcbihmdW5jdGlvbiAoSW5wdXRJY29uUG9zaXRpb24pIHtcclxuICAgIElucHV0SWNvblBvc2l0aW9uW1widG9wXCJdID0gXCJ0b3BcIjtcclxuICAgIElucHV0SWNvblBvc2l0aW9uW1wibGVmdFwiXSA9IFwibGVmdFwiO1xyXG4gICAgSW5wdXRJY29uUG9zaXRpb25bXCJyaWdodFwiXSA9IFwicmlnaHRcIjtcclxufSkoSW5wdXRJY29uUG9zaXRpb24gfHwgKElucHV0SWNvblBvc2l0aW9uID0ge30pKTtcclxuZXhwb3J0IGNvbnN0IGlucHV0V3JhcHBlclN0eWxlcyA9IChwcm9wcykgPT4gY3NzIGBcbiAgZmxleDogMSAxIGF1dG87XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgd2lkdGg6ICR7cHJvcHMud2lkdGggfHwgJ2F1dG8nfTtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHtwcm9wcy5pc0ludmVyc2VcclxuICAgID8gdHJhbnNwYXJlbnRpemUoMC44LCBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDkwMClcclxuICAgIDogcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWwxMDB9O1xuICBib3JkZXItcmFkaXVzOiAke3Byb3BzLnRoZW1lLmJvcmRlclJhZGl1c307XG4gIGJvcmRlcjogMXB4IHNvbGlkXG4gICAgJHtwcm9wcy5pc0ludmVyc2VcclxuICAgID8gdHJhbnNwYXJlbnRpemUoMC41LCBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDEwMClcclxuICAgIDogcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWw1MDB9O1xuICBoZWlnaHQ6ICR7cHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDl9O1xuXG4gICY6Zm9jdXMtd2l0aGluIHtcbiAgICBvdXRsaW5lOiAycHggc29saWRcbiAgICAgICR7cHJvcHMuaXNJbnZlcnNlXHJcbiAgICA/IHByb3BzLnRoZW1lLmNvbG9ycy5mb2N1c0ludmVyc2VcclxuICAgIDogcHJvcHMudGhlbWUuY29sb3JzLmZvY3VzfTtcbiAgICBvdXRsaW5lLW9mZnNldDogLTFweDtcbiAgfVxuXG4gICR7cHJvcHMuaGFzRXJyb3IgJiZcclxuICAgIGNzcyBgXG4gICAgYm9yZGVyLWNvbG9yOiAke3Byb3BzLmlzSW52ZXJzZVxyXG4gICAgICAgID8gcHJvcHMudGhlbWUuY29sb3JzLmRhbmdlcjMwMFxyXG4gICAgICAgIDogcHJvcHMudGhlbWUuY29sb3JzLmRhbmdlcn07XG4gIGB9XG5cbiAgJHtwcm9wcy5kaXNhYmxlZCAmJlxyXG4gICAgY3NzIGBcbiAgICBib3JkZXItY29sb3I6ICR7cHJvcHMuaXNJbnZlcnNlXHJcbiAgICAgICAgPyB0cmFuc3BhcmVudGl6ZSgwLjg1LCBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDEwMClcclxuICAgICAgICA6IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsMzAwfTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAke3Byb3BzLmlzSW52ZXJzZVxyXG4gICAgICAgID8gdHJhbnNwYXJlbnRpemUoMC45LCBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDkwMClcclxuICAgICAgICA6IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsMjAwfTtcbiAgYH1cblxuICAke3Byb3BzLmlucHV0U2l6ZSA9PT0gJ2xhcmdlJyAmJlxyXG4gICAgY3NzIGBcbiAgICBoZWlnaHQ6ICR7cHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMTF9O1xuICBgfVxuYDtcclxuZnVuY3Rpb24gZ2V0SW5wdXRQYWRkaW5nKHByb3BzKSB7XHJcbiAgICBjb25zdCB7IGlucHV0U2l6ZSwgaXNDbGVhcmFibGUsIGljb25Qb3NpdGlvbiB9ID0gcHJvcHM7XHJcbiAgICBjb25zdCBwYWRkaW5nID0ge1xyXG4gICAgICAgIGxlZnQ6IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzAzLFxyXG4gICAgICAgIHJpZ2h0OiBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwMyxcclxuICAgIH07XHJcbiAgICBpZiAoaW5wdXRTaXplID09PSAnbGFyZ2UnKSB7XHJcbiAgICAgICAgaWYgKGlzQ2xlYXJhYmxlKSB7XHJcbiAgICAgICAgICAgIGlmIChpY29uUG9zaXRpb24gPT09ICdyaWdodCcpIHtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmcucmlnaHQgPSAnOTJweCc7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgZWxzZSBpZiAoaWNvblBvc2l0aW9uID09PSAnbGVmdCcpIHtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmcubGVmdCA9IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzExO1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy5yaWdodCA9IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzExO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgLy8gaWNvbiB0b3AsIG5vIGljb25cclxuICAgICAgICAgICAgICAgIHBhZGRpbmcucmlnaHQgPSBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcxMTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBlbHNlIHtcclxuICAgICAgICAgICAgaWYgKGljb25Qb3NpdGlvbiA9PT0gJ3JpZ2h0Jykge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy5yaWdodCA9IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzEwO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGlmIChpY29uUG9zaXRpb24gPT09ICdsZWZ0Jykge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy5sZWZ0ID0gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMTA7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICBlbHNlIGlmIChpbnB1dFNpemUgPT09ICdtZWRpdW0nKSB7XHJcbiAgICAgICAgaWYgKGlzQ2xlYXJhYmxlKSB7XHJcbiAgICAgICAgICAgIGlmIChpY29uUG9zaXRpb24gPT09ICdyaWdodCcpIHtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmcucmlnaHQgPSAnNjhweCc7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgZWxzZSBpZiAoaWNvblBvc2l0aW9uID09PSAnbGVmdCcpIHtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmcubGVmdCA9IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzA5O1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy5yaWdodCA9IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzA5O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgLy8gaWNvbiB0b3AsIG5vIGljb25cclxuICAgICAgICAgICAgICAgIHBhZGRpbmcucmlnaHQgPSBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwOTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBlbHNlIHtcclxuICAgICAgICAgICAgaWYgKGljb25Qb3NpdGlvbiA9PT0gJ3JpZ2h0Jykge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy5yaWdodCA9IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzA5O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGlmIChpY29uUG9zaXRpb24gPT09ICdsZWZ0Jykge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy5sZWZ0ID0gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICByZXR1cm4gcGFkZGluZztcclxufVxyXG5leHBvcnQgY29uc3QgaW5wdXRCYXNlU3R5bGVzID0gKHByb3BzKSA9PiBjc3MgYFxuICBib3JkZXI6IDA7XG4gIGJvcmRlci1yYWRpdXM6ICR7cHJvcHMudGhlbWUuYm9yZGVyUmFkaXVzfTtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIGNvbG9yOiAke3Byb3BzLmlzSW52ZXJzZVxyXG4gICAgPyBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDEwMFxyXG4gICAgOiBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDcwMH07XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBmb250LXNpemU6ICR7cHJvcHMudGhlbWUudHlwZVNjYWxlLnNpemUwMy5mb250U2l6ZX07XG4gIGxpbmUtaGVpZ2h0OiAke3Byb3BzLnRoZW1lLnR5cGVTY2FsZS5zaXplMDMubGluZUhlaWdodH07XG4gIGZvbnQtZmFtaWx5OiAke3Byb3BzLnRoZW1lLmJvZHlGb250fTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBwYWRkaW5nOiAke3Byb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzAzfTtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICB3aWR0aDogMTAwJTtcblxuICAke3Byb3BzLmlucHV0U2l6ZSA9PT0gJ2xhcmdlJyAmJlxyXG4gICAgY3NzIGBcbiAgICBmb250LXNpemU6ICR7cHJvcHMudGhlbWUudHlwZVNjYWxlLnNpemUwNC5mb250U2l6ZX07XG4gICAgbGluZS1oZWlnaHQ6ICR7cHJvcHMudGhlbWUudHlwZVNjYWxlLnNpemUwNC5saW5lSGVpZ2h0fTtcbiAgICBwYWRkaW5nOiAke3Byb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzA0fTtcbiAgYH1cblxuICBwYWRkaW5nLWxlZnQ6ICR7Z2V0SW5wdXRQYWRkaW5nKHByb3BzKS5sZWZ0fTtcbiAgcGFkZGluZy1yaWdodDogJHtnZXRJbnB1dFBhZGRpbmcocHJvcHMpLnJpZ2h0fTtcblxuICAmOjpwbGFjZWhvbGRlciB7XG4gICAgY29sb3I6ICR7cHJvcHMuaXNJbnZlcnNlXHJcbiAgICA/IHRyYW5zcGFyZW50aXplKDAuMywgcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWwxMDApXHJcbiAgICA6IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsNTAwfTtcbiAgfVxuXG4gICY6Zm9jdXMge1xuICAgIG91dGxpbmU6IDA7XG4gIH1cblxuICAmW3R5cGU9J3NlYXJjaCddIHtcbiAgICAmOjotd2Via2l0LXNlYXJjaC1kZWNvcmF0aW9uLFxuICAgICY6Oi13ZWJraXQtc2VhcmNoLWNhbmNlbC1idXR0b24sXG4gICAgJjo6LXdlYmtpdC1zZWFyY2gtcmVzdWx0cy1idXR0b24sXG4gICAgJjo6LXdlYmtpdC1zZWFyY2gtcmVzdWx0cy1kZWNvcmF0aW9uIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICB9XG5cbiAgJHtwcm9wcy5kaXNhYmxlZCAmJlxyXG4gICAgY3NzIGBcbiAgICBjb2xvcjogJHtwcm9wcy5pc0ludmVyc2VcclxuICAgICAgICA/IHRyYW5zcGFyZW50aXplKDAuNiwgcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWwxMDApXHJcbiAgICAgICAgOiB0cmFuc3BhcmVudGl6ZSgwLjQsIHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsNTAwKX07XG4gICAgY3Vyc29yOiBub3QtYWxsb3dlZDtcblxuICAgICY6OnBsYWNlaG9sZGVyIHtcbiAgICAgIGNvbG9yOiAke3Byb3BzLmlzSW52ZXJzZVxyXG4gICAgICAgID8gdHJhbnNwYXJlbnRpemUoMC44LCBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDEwMClcclxuICAgICAgICA6IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsNTAwfTtcbiAgICAgIG9wYWNpdHk6ICR7cHJvcHMuaXNJbnZlcnNlID8gMC40IDogMC42fTtcbiAgICB9XG4gIGB9XG5cbiAgJjotd2Via2l0LWF1dG9maWxsLFxuICAmOi13ZWJraXQtYXV0b2ZpbGw6Zm9jdXMsXG4gICY6LXdlYmtpdC1hdXRvZmlsbDpob3ZlcixcbiAgJjotd2Via2l0LWF1dG9maWxsOmFjdGl2ZSB7XG4gICAgYm94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xuICAgIC13ZWJraXQtYmFja2dyb3VuZC1jbGlwOiB0ZXh0O1xuICAgIC13ZWJraXQtdGV4dC1maWxsLWNvbG9yOiAke3Byb3BzLmlzSW52ZXJzZVxyXG4gICAgPyBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDEwMFxyXG4gICAgOiBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDcwMH0gIWltcG9ydGFudDtcbiAgICBjYXJldC1jb2xvcjogJHtwcm9wcy5pc0ludmVyc2VcclxuICAgID8gcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWwxMDBcclxuICAgIDogcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWw3MDB9ICFpbXBvcnRhbnQ7XG4gIH1cbmA7XHJcbmNvbnN0IElucHV0Q29udGFpbmVyID0gc3R5bGVkLmRpdiBgXG4gIGRpc3BsYXk6IGZsZXg7XG5gO1xyXG5leHBvcnQgY29uc3QgSW5wdXRXcmFwcGVyID0gc3R5bGVkLmRpdiBgXG4gICR7aW5wdXRXcmFwcGVyU3R5bGVzfVxuYDtcclxuY29uc3QgU3R5bGVkSW5wdXQgPSBzdHlsZWQuaW5wdXQgYFxuICAke2lucHV0QmFzZVN0eWxlc31cbmA7XHJcbmNvbnN0IEljb25XcmFwcGVyID0gc3R5bGVkLnNwYW4gYFxuICBib3R0b206ICR7cHJvcHMgPT4gKHByb3BzLmljb25Qb3NpdGlvbiA9PT0gJ3RvcCcgPyAnNDVweCcgOiAnaW5oZXJpdCcpfTtcbiAgY29sb3I6ICR7cHJvcHMgPT4gcHJvcHMuaXNJbnZlcnNlXHJcbiAgICA/IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsMTAwXHJcbiAgICA6IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsNzAwfTtcbiAgbGVmdDogJHtwcm9wcyA9PiBwcm9wcy5pY29uUG9zaXRpb24gPT09ICdsZWZ0JyA/IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzAzIDogJ2F1dG8nfTtcbiAgcmlnaHQ6ICR7cHJvcHMgPT4gcHJvcHMuaWNvblBvc2l0aW9uID09PSAncmlnaHQnXHJcbiAgICA/IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzAzXHJcbiAgICA6IHByb3BzLmljb25Qb3NpdGlvbiA9PT0gJ3RvcCdcclxuICAgICAgICA/ICczcHgnXHJcbiAgICAgICAgOiAnYXV0byd9O1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogJHtwcm9wcyA9PiBwcm9wcy5pY29uUG9zaXRpb24gPT09ICd0b3AnXHJcbiAgICA/ICdpbmhlcml0J1xyXG4gICAgOiBwcm9wcyA9PiBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwM307XG5cbiAgJHtwcm9wcyA9PiBwcm9wcy5pbnB1dFNpemUgPT09ICdsYXJnZScgJiZcclxuICAgIGNzcyBgXG4gICAgICBib3R0b206ICR7cHJvcHMuaWNvblBvc2l0aW9uID09PSAndG9wJyA/ICc2MnB4JyA6ICdpbmhlcml0J307XG4gICAgICBsZWZ0OiAke3Byb3BzLmljb25Qb3NpdGlvbiA9PT0gJ2xlZnQnXHJcbiAgICAgICAgPyBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwNFxyXG4gICAgICAgIDogJ2F1dG8nfTtcbiAgICAgIHJpZ2h0OiAke3Byb3BzLmljb25Qb3NpdGlvbiA9PT0gJ3JpZ2h0J1xyXG4gICAgICAgID8gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDRcclxuICAgICAgICA6IHByb3BzLmljb25Qb3NpdGlvbiA9PT0gJ3RvcCdcclxuICAgICAgICAgICAgPyAnM3B4J1xyXG4gICAgICAgICAgICA6ICdhdXRvJ307XG4gICAgICB0b3A6ICR7cHJvcHMuaWNvblBvc2l0aW9uID09PSAndG9wJ1xyXG4gICAgICAgID8gJ2luaGVyaXQnXHJcbiAgICAgICAgOiBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwNH07XG4gICAgYH1cbmA7XHJcbmZ1bmN0aW9uIGdldEljb25CdXR0b25TVkdTaXplKHByb3BzKSB7XHJcbiAgICBjb25zdCB7IGlzQ2xpY2thYmxlLCBpY29uUG9zaXRpb24sIGlucHV0U2l6ZSwgdGhlbWUgfSA9IHByb3BzO1xyXG4gICAgaWYgKGlzQ2xpY2thYmxlICYmIGljb25Qb3NpdGlvbiA9PT0gSW5wdXRJY29uUG9zaXRpb24udG9wKSB7XHJcbiAgICAgICAgaWYgKGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlKSB7XHJcbiAgICAgICAgICAgIHJldHVybiBgJHt0aGVtZS5pY29uU2l6ZXMubWVkaXVtfXB4YDtcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIGAke3RoZW1lLmljb25TaXplcy5zbWFsbH1weGA7XHJcbiAgICB9XHJcbiAgICBpZiAoaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2UpIHtcclxuICAgICAgICByZXR1cm4gYCR7dGhlbWUuaWNvblNpemVzLmxhcmdlfXB4YDtcclxuICAgIH1cclxuICAgIHJldHVybiBgJHt0aGVtZS5pY29uU2l6ZXMubWVkaXVtfXB4YDtcclxufVxyXG5mdW5jdGlvbiBnZXRIZWxwTGlua1NWR1NpemUocHJvcHMpIHtcclxuICAgIGNvbnN0IHsgaW5wdXRTaXplLCB0aGVtZSB9ID0gcHJvcHM7XHJcbiAgICBpZiAoaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2UpIHtcclxuICAgICAgICByZXR1cm4gYCR7dGhlbWUuaWNvblNpemVzLm1lZGl1bX1weGA7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gYCR7dGhlbWUuaWNvblNpemVzLnNtYWxsfXB4YDtcclxufVxyXG5leHBvcnQgZnVuY3Rpb24gZ2V0SGVscEljb25CdXR0b25TaXplKHByb3BzKSB7XHJcbiAgICBjb25zdCB7IGlucHV0U2l6ZSwgdGhlbWUgfSA9IHByb3BzO1xyXG4gICAgaWYgKGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlKSB7XHJcbiAgICAgICAgcmV0dXJuIHRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzA5O1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIHRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzA3O1xyXG59XHJcbmZ1bmN0aW9uIGdldEljb25CdXR0b25UcmFuc2Zvcm0ocHJvcHMpIHtcclxuICAgIGNvbnN0IHsgaXNDbGlja2FibGUsIGljb25Qb3NpdGlvbiwgaW5wdXRTaXplLCBoYXNDaGlsZHJlbiwgdGhlbWUgfSA9IHByb3BzO1xyXG4gICAgY29uc3QgcG9zaXRpb24gPSB7IHg6ICcnLCB5OiAnJyB9O1xyXG4gICAgaWYgKGljb25Qb3NpdGlvbiA9PT0gSW5wdXRJY29uUG9zaXRpb24udG9wKSB7XHJcbiAgICAgICAgaWYgKGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlKSB7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uLnggPSAnLTMwcHgnO1xyXG4gICAgICAgICAgICBwb3NpdGlvbi55ID0gJzJweCc7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2UgaWYgKGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLm1lZGl1bSkge1xyXG4gICAgICAgICAgICBwb3NpdGlvbi54ID0gJy0yOHB4JztcclxuICAgICAgICAgICAgcG9zaXRpb24ueSA9ICc1cHgnO1xyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gcG9zaXRpb247XHJcbiAgICB9XHJcbiAgICBpZiAoaXNDbGlja2FibGUpIHtcclxuICAgICAgICBpZiAoaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2UpIHtcclxuICAgICAgICAgICAgaWYgKGhhc0NoaWxkcmVuKSB7XHJcbiAgICAgICAgICAgICAgICBwb3NpdGlvbi54ID0gJy00M3B4JztcclxuICAgICAgICAgICAgICAgIHBvc2l0aW9uLnkgPSAnMTRweCc7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICAgICAgICBwb3NpdGlvbi54ID0gJy00OXB4JztcclxuICAgICAgICAgICAgICAgIHBvc2l0aW9uLnkgPSAnOHB4JztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBlbHNlIGlmIChpbnB1dFNpemUgPT09IElucHV0U2l6ZS5tZWRpdW0pIHtcclxuICAgICAgICAgICAgcG9zaXRpb24ueCA9ICctMzVweCc7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uLnkgPSAnNnB4JztcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIHBvc2l0aW9uO1xyXG4gICAgfVxyXG4gICAgaWYgKGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlKSB7XHJcbiAgICAgICAgcG9zaXRpb24ueCA9IGAtJHt0aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcxMH1gO1xyXG4gICAgICAgIHBvc2l0aW9uLnkgPSB0aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwMztcclxuICAgIH1cclxuICAgIGVsc2UgaWYgKGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLm1lZGl1bSkge1xyXG4gICAgICAgIHBvc2l0aW9uLnggPSAnLTI0cHgnO1xyXG4gICAgICAgIHBvc2l0aW9uLnkgPSAnN3B4JztcclxuICAgIH1cclxuICAgIHJldHVybiBwb3NpdGlvbjtcclxufVxyXG5leHBvcnQgY29uc3QgSWNvbkJ1dHRvbkNvbnRhaW5lciA9IHN0eWxlZC5zcGFuIGBcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGJvdHRvbTogJHtwcm9wcyA9PiAocHJvcHMuaWNvblBvc2l0aW9uID09PSAndG9wJyA/ICc0MHB4JyA6ICdpbmhlcml0Jyl9O1xuICBoZWlnaHQ6IGF1dG87XG4gIG1hcmdpbjogMDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aWR0aDogMDtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoXG4gICAgJHtwcm9wcyA9PiBnZXRJY29uQnV0dG9uVHJhbnNmb3JtKHByb3BzKS54fSxcbiAgICAke3Byb3BzID0+IGdldEljb25CdXR0b25UcmFuc2Zvcm0ocHJvcHMpLnl9XG4gICk7XG4gIHN2ZyB7XG4gICAgaGVpZ2h0OiAke3Byb3BzID0+IGdldEljb25CdXR0b25TVkdTaXplKHByb3BzKX07XG4gICAgd2lkdGg6ICR7cHJvcHMgPT4gZ2V0SWNvbkJ1dHRvblNWR1NpemUocHJvcHMpfTtcbiAgfVxuYDtcclxuY29uc3QgUGFzc3dvcmRCdXR0b25Db250YWluZXIgPSBzdHlsZWQuc3BhbiBgXG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICB3aWR0aDogMDtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoXG4gICAgJHtwcm9wcyA9PiBwcm9wcy5zaXplID09PSBJbnB1dFNpemUubGFyZ2VcclxuICAgID8gYCR7LXByb3BzLmJ1dHRvbldpZHRoIC0gOH1weGBcclxuICAgIDogYCR7LXByb3BzLmJ1dHRvbldpZHRoIC0gNn1weGB9LFxuICAgICR7cHJvcHMgPT4gcHJvcHMuc2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlID8gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDMgOiAnNnB4J31cbiAgKTtcbmA7XHJcbmZ1bmN0aW9uIGdldENsZWFyYWJsZVBvc2l0aW9uKHByb3BzKSB7XHJcbiAgICBpZiAocHJvcHMuaWNvblBvc2l0aW9uID09PSAncmlnaHQnICYmIHByb3BzLmljb24pIHtcclxuICAgICAgICBpZiAocHJvcHMuaW5wdXRTaXplID09PSAnbGFyZ2UnKSB7XHJcbiAgICAgICAgICAgIHJldHVybiBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcxMztcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuICc3MnB4JztcclxuICAgIH1cclxuICAgIGlmIChwcm9wcy5pbnB1dFNpemUgPT09ICdsYXJnZScpIHtcclxuICAgICAgICByZXR1cm4gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMTA7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gJzM0cHgnO1xyXG59XHJcbmNvbnN0IElzQ2xlYXJhYmxlQ29udGFpbmVyID0gc3R5bGVkLnNwYW4gYFxuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgbWFyZ2luOiAwO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGhlaWdodDogYXV0bztcbiAgd2lkdGg6IDA7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKFxuICAgIC0ke3Byb3BzID0+IGdldENsZWFyYWJsZVBvc2l0aW9uKHByb3BzKX0sXG4gICAgJHtwcm9wcyA9PiBwcm9wcy5pbnB1dFNpemUgPT09IElucHV0U2l6ZS5sYXJnZVxyXG4gICAgPyBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwM1xyXG4gICAgOiAnNnB4J31cbiAgKTtcbmA7XHJcbmZ1bmN0aW9uIGdldEljb25TaXplKHNpemUsIHRoZW1lLCBpY29uUG9zaXRpb24pIHtcclxuICAgIHN3aXRjaCAoc2l6ZSkge1xyXG4gICAgICAgIGNhc2UgJ2xhcmdlJzpcclxuICAgICAgICAgICAgaWYgKGljb25Qb3NpdGlvbiA9PT0gSW5wdXRJY29uUG9zaXRpb24udG9wKSB7XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gdGhlbWUuaWNvblNpemVzLm1lZGl1bTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICByZXR1cm4gdGhlbWUuaWNvblNpemVzLmxhcmdlO1xyXG4gICAgICAgIGRlZmF1bHQ6XHJcbiAgICAgICAgICAgIGlmIChpY29uUG9zaXRpb24gPT09IElucHV0SWNvblBvc2l0aW9uLnRvcCkge1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuIHRoZW1lLmljb25TaXplcy5zbWFsbDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICByZXR1cm4gdGhlbWUuaWNvblNpemVzLm1lZGl1bTtcclxuICAgIH1cclxufVxyXG5leHBvcnQgY29uc3QgaXNMZWZ0T3JIaWRkZW4gPSAoeyBsYWJlbFBvc2l0aW9uLCBpc0xhYmVsVmlzdWFsbHlIaWRkZW4sIH0pID0+IGxhYmVsUG9zaXRpb24gPT09IExhYmVsUG9zaXRpb24ubGVmdCB8fCBpc0xhYmVsVmlzdWFsbHlIaWRkZW47XHJcbmV4cG9ydCBjb25zdCBIZWxwTGlua0NvbnRhaW5lciA9IHN0eWxlZC5zcGFuIGBcbiAgcG9zaXRpb246ICR7cHJvcHMgPT4gKGlzTGVmdE9ySGlkZGVuKHByb3BzKSA/ICdyZWxhdGl2ZScgOiAnYWJzb2x1dGUnKX07XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXG4gIGhlaWdodDogJHtwcm9wcyA9PiAoaXNMZWZ0T3JIaWRkZW4ocHJvcHMpID8gJ2F1dG8nIDogJ2ZpdC1jb250ZW50Jyl9O1xuICBtYXJnaW4taW5saW5lLXN0YXJ0OiAke3Byb3BzID0+IGlzTGVmdE9ySGlkZGVuKHByb3BzKSA/IGAke3Byb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzAzfWAgOiAnYXV0byd9O1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoXG4gICAgJHtwcm9wcyA9PiBpc0xlZnRPckhpZGRlbihwcm9wcylcclxuICAgID8gJzAnXHJcbiAgICA6IGBjYWxjKC0xMDAlIC0gJHtwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwM30pYH1cbiAgKTtcbiAgJHtDaGlsZHJlbldyYXBwZXJ9ID4gc3ZnIHtcbiAgICBoZWlnaHQ6ICR7cHJvcHMgPT4gZ2V0SGVscExpbmtTVkdTaXplKHByb3BzKX07XG4gICAgd2lkdGg6ICR7cHJvcHMgPT4gZ2V0SGVscExpbmtTVkdTaXplKHByb3BzKX07XG4gIH1cbiAgYnV0dG9uIHtcbiAgICBoZWlnaHQ6ICR7cHJvcHMgPT4gZ2V0SGVscEljb25CdXR0b25TaXplKHByb3BzKX07XG4gICAgd2lkdGg6ICR7cHJvcHMgPT4gZ2V0SGVscEljb25CdXR0b25TaXplKHByb3BzKX07XG4gIH1cbiAgaW5zZXQtaW5saW5lLWVuZDogJHtwcm9wcyA9PiAoaXNMZWZ0T3JIaWRkZW4ocHJvcHMpID8gJ2F1dG8nIDogJzAnKX07XG5gO1xyXG5leHBvcnQgY29uc3QgSW5wdXRCYXNlID0gUmVhY3QuZm9yd2FyZFJlZigocHJvcHMsIGZvcndhcmRlZFJlZikgPT4ge1xyXG4gICAgY29uc3QgeyBjaGlsZHJlbiwgY29udGFpbmVyU3R5bGUsIGRlZmF1bHRWYWx1ZSwgZGlzYWJsZWQsIGhhc0NoYXJhY3RlckNvdW50ZXIsIGhhc0Vycm9yLCBpY29uLCBpY29uQXJpYUxhYmVsLCBpY29uUmVmLCBpc0NsZWFyYWJsZSwgaXNQYXNzd29yZElucHV0LCBpc1ByZWRpY3RpdmUsIG1heENvdW50LCBtYXhMZW5ndGgsIG9uQ2xlYXIsIG9uSWNvbkNsaWNrLCBvbkljb25LZXlEb3duLCBvbkRhdGVDaGFuZ2UsIGlucHV0TGVuZ3RoLCBpbnB1dFNpemUsIGlucHV0U3R5bGUsIGlucHV0V3JhcHBlclN0eWxlLCB0ZXN0SWQsIHR5cGUsIHNldFJlZmVyZW5jZSwgaXNMYWJlbFZpc3VhbGx5SGlkZGVuLCBsYWJlbFBvc2l0aW9uLCAuLi5vdGhlciB9ID0gcHJvcHM7XHJcbiAgICBjb25zdCBpMThuID0gUmVhY3QudXNlQ29udGV4dChJMThuQ29udGV4dCk7XHJcbiAgICBjb25zdCB0aGVtZSA9IFJlYWN0LnVzZUNvbnRleHQoVGhlbWVDb250ZXh0KTtcclxuICAgIGNvbnN0IGljb25Qb3NpdGlvbiA9IGljb24gJiYgb25JY29uQ2xpY2tcclxuICAgICAgICA/IElucHV0SWNvblBvc2l0aW9uLnJpZ2h0XHJcbiAgICAgICAgOiBpY29uICYmICFwcm9wcy5pY29uUG9zaXRpb25cclxuICAgICAgICAgICAgPyBJbnB1dEljb25Qb3NpdGlvbi5sZWZ0XHJcbiAgICAgICAgICAgIDogcHJvcHMuaWNvblBvc2l0aW9uO1xyXG4gICAgY29uc3QgW3ZhbHVlLCBzZXRWYWx1ZV0gPSBSZWFjdC51c2VTdGF0ZShwcm9wcy5kZWZhdWx0VmFsdWUgIT09IHVuZGVmaW5lZCAmJiBwcm9wcy5kZWZhdWx0VmFsdWUgIT09IG51bGxcclxuICAgICAgICA/IHByb3BzLmRlZmF1bHRWYWx1ZVxyXG4gICAgICAgIDogcHJvcHMudmFsdWUgfHwgJycpO1xyXG4gICAgY29uc3QgbWF4TGVuZ3RoTnVtID0gIWhhc0NoYXJhY3RlckNvdW50ZXIgJiYgbWF4TGVuZ3RoID8gbWF4TGVuZ3RoIDogdW5kZWZpbmVkO1xyXG4gICAgUmVhY3QudXNlRWZmZWN0KCgpID0+IHtcclxuICAgICAgICBpZiAocHJvcHMudmFsdWUgIT09IHVuZGVmaW5lZCAmJiBwcm9wcy52YWx1ZSAhPT0gbnVsbCkge1xyXG4gICAgICAgICAgICBzZXRWYWx1ZShwcm9wcy52YWx1ZSk7XHJcbiAgICAgICAgfVxyXG4gICAgfSwgW3Byb3BzLnZhbHVlXSk7XHJcbiAgICBjb25zdCBpbnB1dFJlZiA9IFJlYWN0LnVzZVJlZigpO1xyXG4gICAgY29uc3QgcmVmID0gdXNlRm9ya2VkUmVmKGZvcndhcmRlZFJlZiwgaW5wdXRSZWYpO1xyXG4gICAgZnVuY3Rpb24gaGFuZGxlQ2xlYXJJbnB1dCgpIHtcclxuICAgICAgICBvbkNsZWFyICYmIHR5cGVvZiBvbkNsZWFyID09PSAnZnVuY3Rpb24nICYmIG9uQ2xlYXIoKTtcclxuICAgICAgICBzZXRWYWx1ZSgnJyk7XHJcbiAgICAgICAgb25EYXRlQ2hhbmdlICYmIHR5cGVvZiBvbkRhdGVDaGFuZ2UgPT09ICdmdW5jdGlvbicgJiYgb25EYXRlQ2hhbmdlKG51bGwpO1xyXG4gICAgICAgIGlucHV0UmVmLmN1cnJlbnQuZm9jdXMoKTtcclxuICAgIH1cclxuICAgIGZ1bmN0aW9uIGhhbmRsZUNoYW5nZShldmVudCkge1xyXG4gICAgICAgIHByb3BzLm9uQ2hhbmdlICYmXHJcbiAgICAgICAgICAgIHR5cGVvZiBwcm9wcy5vbkNoYW5nZSA9PT0gJ2Z1bmN0aW9uJyAmJlxyXG4gICAgICAgICAgICBwcm9wcy5vbkNoYW5nZShldmVudCk7XHJcbiAgICAgICAgc2V0VmFsdWUoZXZlbnQudGFyZ2V0LnZhbHVlKTtcclxuICAgICAgICBpZiAoIWV2ZW50LnRhcmdldC52YWx1ZSAmJlxyXG4gICAgICAgICAgICBvbkRhdGVDaGFuZ2UgJiZcclxuICAgICAgICAgICAgdHlwZW9mIG9uRGF0ZUNoYW5nZSA9PT0gJ2Z1bmN0aW9uJylcclxuICAgICAgICAgICAgb25EYXRlQ2hhbmdlKG51bGwpO1xyXG4gICAgfVxyXG4gICAgY29uc3QgcGFzc3dvcmRCdG5XaWR0aCA9ICgpID0+IHtcclxuICAgICAgICBjb25zdCBidG5XaWR0aCA9IGNoaWxkcmVuPy5wcm9wcz8uY2hpbGRyZW4/LlswXT8ucmVmPy5jdXJyZW50Py5vZmZzZXRXaWR0aDtcclxuICAgICAgICBpZiAodHlwZW9mIGJ0bldpZHRoID09PSAnbnVtYmVyJykge1xyXG4gICAgICAgICAgICByZXR1cm4gYnRuV2lkdGg7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgICAvLyBXaGVuIFBhc3N3b3JkQnV0dG9uIGlzIHVzZWQgaW5zaWRlIFNjaGVtYVJlbmRlcmVyLCBpdCBkb2Vzbid0IGhhdmUgY2hpbGRyZW4uXHJcbiAgICAgICAgICAgIC8vIFdlJ2xsIHVzZSB0aGUgZGVmYXVsdCBidXR0b24gc2l6ZXMuXHJcbiAgICAgICAgICAgIGlmIChwcm9wcy5pbnB1dFNpemUgPT09IElucHV0U2l6ZS5sYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuIDY0O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHJldHVybiA1NDtcclxuICAgICAgICB9XHJcbiAgICB9O1xyXG4gICAgcmV0dXJuIChSZWFjdC5jcmVhdGVFbGVtZW50KFwiZGl2XCIsIHsgcmVmOiBzZXRSZWZlcmVuY2UgfSxcclxuICAgICAgICBSZWFjdC5jcmVhdGVFbGVtZW50KElucHV0Q29udGFpbmVyLCB7IHN0eWxlOiBpbnB1dFdyYXBwZXJTdHlsZSwgXCJkYXRhLXRlc3RpZFwiOiBgJHt0ZXN0SWR9LXdyYXBwZXJgIH0sXHJcbiAgICAgICAgICAgIFJlYWN0LmNyZWF0ZUVsZW1lbnQoSW5wdXRXcmFwcGVyLCB7IGRpc2FibGVkOiBkaXNhYmxlZCwgaWNvblBvc2l0aW9uOiBpY29uUG9zaXRpb24sIGlzSW52ZXJzZTogcHJvcHMuaXNJbnZlcnNlLCBpbnB1dFNpemU6IGlucHV0U2l6ZSA/PyBJbnB1dFNpemUubWVkaXVtLCB0aGVtZTogdGhlbWUsIHN0eWxlOiBjb250YWluZXJTdHlsZSwgaGFzRXJyb3I6IGhhc0Vycm9yLCBpc0NsZWFyYWJsZTogaXNDbGVhcmFibGUsIHdpZHRoOiBwcm9wcy53aWR0aCB9LFxyXG4gICAgICAgICAgICAgICAgUmVhY3QuY3JlYXRlRWxlbWVudChTdHlsZWRJbnB1dCwgT2JqZWN0LmFzc2lnbih7fSwgb3RoZXIsIHsgXCJhcmlhLWludmFsaWRcIjogaGFzRXJyb3IsIGRpc2FibGVkOiBkaXNhYmxlZCwgXCJkYXRhLXRlc3RpZFwiOiB0ZXN0SWQsIGhhc0NoYXJhY3RlckNvdW50ZXI6IGhhc0NoYXJhY3RlckNvdW50ZXIsIGljb25Qb3NpdGlvbjogaWNvblBvc2l0aW9uLCBpbnB1dFNpemU6IGlucHV0U2l6ZSA/PyBJbnB1dFNpemUubWVkaXVtLCBpc0NsZWFyYWJsZTogdHlwZSA9PT0gSW5wdXRUeXBlLnNlYXJjaFxyXG4gICAgICAgICAgICAgICAgICAgICAgICA/IGlzQ2xlYXJhYmxlXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDogaW5wdXRXcmFwcGVyU3R5bGU/LndpZHRoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA/IGlzQ2xlYXJhYmxlXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IGlzQ2xlYXJhYmxlICYmIGlucHV0TGVuZ3RoID4gMCwgaXNJbnZlcnNlOiB1c2VJc0ludmVyc2UocHJvcHMuaXNJbnZlcnNlKSwgaXNQcmVkaWN0aXZlOiBpc1ByZWRpY3RpdmUsIGhhc0Vycm9yOiBoYXNFcnJvciwgcmVmOiByZWYsIG1heExlbmd0aDogbWF4TGVuZ3RoTnVtLCBvbkNoYW5nZTogaGFuZGxlQ2hhbmdlLCBzdHlsZTogaW5wdXRTdHlsZSwgdGhlbWU6IHRoZW1lLCB0eXBlOiB0eXBlID8gdHlwZSA6IElucHV0VHlwZS50ZXh0LCB2YWx1ZTogdmFsdWUgfSkpLFxyXG4gICAgICAgICAgICAgICAgaWNvbiAmJiAhb25JY29uQ2xpY2sgJiYgKFJlYWN0LmNyZWF0ZUVsZW1lbnQoSWNvbldyYXBwZXIsIHsgXCJhcmlhLWxhYmVsXCI6IGljb25BcmlhTGFiZWwsIGljb25Qb3NpdGlvbjogaWNvblBvc2l0aW9uLCBpbnB1dFNpemU6IGlucHV0U2l6ZSA/PyBJbnB1dFNpemUubWVkaXVtLCBpc0ludmVyc2U6IHByb3BzLmlzSW52ZXJzZSwgaXNQcmVkaWN0aXZlOiBpc1ByZWRpY3RpdmUsIHRoZW1lOiB0aGVtZSwgZGlzYWJsZWQ6IGRpc2FibGVkIH0sIFJlYWN0LkNoaWxkcmVuLm9ubHkoUmVhY3QuY2xvbmVFbGVtZW50KGljb24sIHtcclxuICAgICAgICAgICAgICAgICAgICBzaXplOiBnZXRJY29uU2l6ZShpbnB1dFNpemUgPz8gSW5wdXRTaXplLm1lZGl1bSwgdGhlbWUsIGljb25Qb3NpdGlvbiksXHJcbiAgICAgICAgICAgICAgICB9KSkpKSksXHJcbiAgICAgICAgICAgIGlzQ2xlYXJhYmxlICYmIHZhbHVlICE9PSAnJyAmJiAoUmVhY3QuY3JlYXRlRWxlbWVudChJc0NsZWFyYWJsZUNvbnRhaW5lciwgeyB0aGVtZTogdGhlbWUsIGljb25Qb3NpdGlvbjogaWNvblBvc2l0aW9uLCBpbnB1dFNpemU6IGlucHV0U2l6ZSwgaWNvbjogaWNvbiB9LFxyXG4gICAgICAgICAgICAgICAgUmVhY3QuY3JlYXRlRWxlbWVudChJY29uQnV0dG9uLCB7IFwiYXJpYS1sYWJlbFwiOiBpMThuLmlucHV0LmlzQ2xlYXJhYmxlQXJpYUxhYmVsLCBkaXNhYmxlZDogZGlzYWJsZWQsIGljb246IFJlYWN0LmNyZWF0ZUVsZW1lbnQoQ2xlYXJJY29uLCBudWxsKSwgaXNJbnZlcnNlOiBwcm9wcy5pc0ludmVyc2UsIG9uQ2xpY2s6IGhhbmRsZUNsZWFySW5wdXQsIG9uS2V5RG93bjogb25JY29uS2V5RG93biwgcmVmOiBpY29uUmVmLCBzaGFwZTogQnV0dG9uU2hhcGUuZmlsbCwgc2l6ZTogaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2VcclxuICAgICAgICAgICAgICAgICAgICAgICAgPyBCdXR0b25TaXplLm1lZGl1bVxyXG4gICAgICAgICAgICAgICAgICAgICAgICA6IEJ1dHRvblNpemUuc21hbGwsIHRlc3RJZDogXCJjbGVhci1idXR0b25cIiwgdHlwZTogQnV0dG9uVHlwZS5idXR0b24sIHZhcmlhbnQ6IEJ1dHRvblZhcmlhbnQubGluayB9KSkpLFxyXG4gICAgICAgICAgICBvbkljb25DbGljayAmJiAoUmVhY3QuY3JlYXRlRWxlbWVudChJY29uQnV0dG9uQ29udGFpbmVyLCB7IGljb25Qb3NpdGlvbjogaWNvblBvc2l0aW9uLCBpbnB1dFNpemU6IGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlXHJcbiAgICAgICAgICAgICAgICAgICAgPyBJbnB1dFNpemUubGFyZ2VcclxuICAgICAgICAgICAgICAgICAgICA6IElucHV0U2l6ZS5tZWRpdW0sIHRoZW1lOiB0aGVtZSwgaXNDbGlja2FibGU6IHRydWUgfSxcclxuICAgICAgICAgICAgICAgIFJlYWN0LmNyZWF0ZUVsZW1lbnQoSWNvbkJ1dHRvbiwgeyBcImFyaWEtbGFiZWxcIjogaWNvbkFyaWFMYWJlbCwgaWNvbjogaWNvbiwgaXNJbnZlcnNlOiBwcm9wcy5pc0ludmVyc2UsIG9uQ2xpY2s6IG9uSWNvbkNsaWNrLCBvbktleURvd246IG9uSWNvbktleURvd24sIHJlZjogaWNvblJlZiwgZGlzYWJsZWQ6IGRpc2FibGVkLCBzaGFwZTogQnV0dG9uU2hhcGUuZmlsbCwgc2l6ZTogaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2VcclxuICAgICAgICAgICAgICAgICAgICAgICAgPyBCdXR0b25TaXplLm1lZGl1bVxyXG4gICAgICAgICAgICAgICAgICAgICAgICA6IEJ1dHRvblNpemUuc21hbGwsIHR5cGU6IEJ1dHRvblR5cGUuYnV0dG9uLCB2YXJpYW50OiBCdXR0b25WYXJpYW50LmxpbmsgfSkpKSxcclxuICAgICAgICAgICAgaXNQYXNzd29yZElucHV0ID8gKFJlYWN0LmNyZWF0ZUVsZW1lbnQoUGFzc3dvcmRCdXR0b25Db250YWluZXIsIHsgc2l6ZTogaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2VcclxuICAgICAgICAgICAgICAgICAgICA/IElucHV0U2l6ZS5sYXJnZVxyXG4gICAgICAgICAgICAgICAgICAgIDogSW5wdXRTaXplLm1lZGl1bSwgdGhlbWU6IHRoZW1lLCBidXR0b25XaWR0aDogcGFzc3dvcmRCdG5XaWR0aCgpIH0sIGNoaWxkcmVuKSkgOiAoUmVhY3QuY3JlYXRlRWxlbWVudChIZWxwTGlua0NvbnRhaW5lciwgeyBpc0xhYmVsVmlzdWFsbHlIaWRkZW46IGlzTGFiZWxWaXN1YWxseUhpZGRlbiB8fCBmYWxzZSwgaW5wdXRTaXplOiBpbnB1dFNpemUgPz8gSW5wdXRTaXplLm1lZGl1bSwgbGFiZWxQb3NpdGlvbjogbGFiZWxQb3NpdGlvbiA/PyBMYWJlbFBvc2l0aW9uLnRvcCwgdGhlbWU6IHRoZW1lIH0sIGNoaWxkcmVuKSkpKSk7XHJcbn0pO1xyXG4vLyMgc291cmNlTWFwcGluZ1VSTD1pbmRleC5qcy5tYXAiXX0= */",
|
|
4932
|
+
styles: "display:flex/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImluZGV4LnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFpTmtDIiwiZmlsZSI6ImluZGV4LnRzeCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIFJlYWN0IGZyb20gJ3JlYWN0JztcclxuaW1wb3J0IHsgY3NzIH0gZnJvbSAnQGVtb3Rpb24vcmVhY3QnO1xyXG5pbXBvcnQgc3R5bGVkIGZyb20gJ0BlbW90aW9uL3N0eWxlZCc7XHJcbmltcG9ydCB7IHRyYW5zcGFyZW50aXplIH0gZnJvbSAncG9saXNoZWQnO1xyXG5pbXBvcnQgeyBDbGVhckljb24gfSBmcm9tICdyZWFjdC1tYWdtYS1pY29ucyc7XHJcbmltcG9ydCB7IEkxOG5Db250ZXh0IH0gZnJvbSAnLi4vLi4vaTE4bic7XHJcbmltcG9ydCB7IHVzZUlzSW52ZXJzZSB9IGZyb20gJy4uLy4uL2ludmVyc2UnO1xyXG5pbXBvcnQgeyBUaGVtZUNvbnRleHQgfSBmcm9tICcuLi8uLi90aGVtZS9UaGVtZUNvbnRleHQnO1xyXG5pbXBvcnQgeyB1c2VGb3JrZWRSZWYgfSBmcm9tICcuLi8uLi91dGlscyc7XHJcbmltcG9ydCB7IEJ1dHRvblNoYXBlLCBCdXR0b25TaXplLCBCdXR0b25UeXBlLCBCdXR0b25WYXJpYW50IH0gZnJvbSAnLi4vQnV0dG9uJztcclxuaW1wb3J0IHsgSWNvbkJ1dHRvbiB9IGZyb20gJy4uL0ljb25CdXR0b24nO1xyXG5pbXBvcnQgeyBMYWJlbFBvc2l0aW9uIH0gZnJvbSAnLi4vTGFiZWwnO1xyXG5pbXBvcnQgeyBDaGlsZHJlbldyYXBwZXIgfSBmcm9tICcuLi9TdHlsZWRCdXR0b24nO1xyXG5leHBvcnQgdmFyIElucHV0U2l6ZTtcclxuKGZ1bmN0aW9uIChJbnB1dFNpemUpIHtcclxuICAgIElucHV0U2l6ZVtcImxhcmdlXCJdID0gXCJsYXJnZVwiO1xyXG4gICAgSW5wdXRTaXplW1wibWVkaXVtXCJdID0gXCJtZWRpdW1cIjtcclxufSkoSW5wdXRTaXplIHx8IChJbnB1dFNpemUgPSB7fSkpO1xyXG5leHBvcnQgdmFyIElucHV0VHlwZTtcclxuKGZ1bmN0aW9uIChJbnB1dFR5cGUpIHtcclxuICAgIElucHV0VHlwZVtcImVtYWlsXCJdID0gXCJlbWFpbFwiO1xyXG4gICAgSW5wdXRUeXBlW1wiZmlsZVwiXSA9IFwiZmlsZVwiO1xyXG4gICAgSW5wdXRUeXBlW1wibnVtYmVyXCJdID0gXCJudW1iZXJcIjtcclxuICAgIElucHV0VHlwZVtcInBhc3N3b3JkXCJdID0gXCJwYXNzd29yZFwiO1xyXG4gICAgSW5wdXRUeXBlW1wic2VhcmNoXCJdID0gXCJzZWFyY2hcIjtcclxuICAgIElucHV0VHlwZVtcInRleHRcIl0gPSBcInRleHRcIjtcclxuICAgIElucHV0VHlwZVtcInVybFwiXSA9IFwidXJsXCI7XHJcbiAgICBJbnB1dFR5cGVbXCJ0ZWxcIl0gPSBcInRlbFwiO1xyXG59KShJbnB1dFR5cGUgfHwgKElucHV0VHlwZSA9IHt9KSk7XHJcbmV4cG9ydCB2YXIgSW5wdXRJY29uUG9zaXRpb247XHJcbihmdW5jdGlvbiAoSW5wdXRJY29uUG9zaXRpb24pIHtcclxuICAgIElucHV0SWNvblBvc2l0aW9uW1widG9wXCJdID0gXCJ0b3BcIjtcclxuICAgIElucHV0SWNvblBvc2l0aW9uW1wibGVmdFwiXSA9IFwibGVmdFwiO1xyXG4gICAgSW5wdXRJY29uUG9zaXRpb25bXCJyaWdodFwiXSA9IFwicmlnaHRcIjtcclxufSkoSW5wdXRJY29uUG9zaXRpb24gfHwgKElucHV0SWNvblBvc2l0aW9uID0ge30pKTtcclxuZXhwb3J0IGNvbnN0IGlucHV0V3JhcHBlclN0eWxlcyA9IChwcm9wcykgPT4gY3NzIGBcbiAgZmxleDogMSAxIGF1dG87XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgd2lkdGg6ICR7cHJvcHMud2lkdGggfHwgJ2F1dG8nfTtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHtwcm9wcy5pc0ludmVyc2VcclxuICAgID8gdHJhbnNwYXJlbnRpemUoMC44LCBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDkwMClcclxuICAgIDogcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWwxMDB9O1xuICBib3JkZXItcmFkaXVzOiAke3Byb3BzLnRoZW1lLmJvcmRlclJhZGl1c307XG4gIGJvcmRlcjogMXB4IHNvbGlkXG4gICAgJHtwcm9wcy5pc0ludmVyc2VcclxuICAgID8gdHJhbnNwYXJlbnRpemUoMC41LCBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDEwMClcclxuICAgIDogcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWw1MDB9O1xuICBoZWlnaHQ6ICR7cHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDl9O1xuXG4gICY6Zm9jdXMtd2l0aGluIHtcbiAgICBvdXRsaW5lOiAycHggc29saWRcbiAgICAgICR7cHJvcHMuaXNJbnZlcnNlXHJcbiAgICA/IHByb3BzLnRoZW1lLmNvbG9ycy5mb2N1c0ludmVyc2VcclxuICAgIDogcHJvcHMudGhlbWUuY29sb3JzLmZvY3VzfTtcbiAgICBvdXRsaW5lLW9mZnNldDogLTFweDtcbiAgfVxuXG4gICR7cHJvcHMuaGFzRXJyb3IgJiZcclxuICAgIGNzcyBgXG4gICAgYm9yZGVyLWNvbG9yOiAke3Byb3BzLmlzSW52ZXJzZVxyXG4gICAgICAgID8gcHJvcHMudGhlbWUuY29sb3JzLmRhbmdlcjMwMFxyXG4gICAgICAgIDogcHJvcHMudGhlbWUuY29sb3JzLmRhbmdlcn07XG4gIGB9XG5cbiAgJHtwcm9wcy5kaXNhYmxlZCAmJlxyXG4gICAgY3NzIGBcbiAgICBib3JkZXItY29sb3I6ICR7cHJvcHMuaXNJbnZlcnNlXHJcbiAgICAgICAgPyB0cmFuc3BhcmVudGl6ZSgwLjg1LCBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDEwMClcclxuICAgICAgICA6IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsMzAwfTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAke3Byb3BzLmlzSW52ZXJzZVxyXG4gICAgICAgID8gdHJhbnNwYXJlbnRpemUoMC45LCBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDkwMClcclxuICAgICAgICA6IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsMjAwfTtcbiAgYH1cblxuICAke3Byb3BzLmlucHV0U2l6ZSA9PT0gJ2xhcmdlJyAmJlxyXG4gICAgY3NzIGBcbiAgICBoZWlnaHQ6ICR7cHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMTF9O1xuICBgfVxuYDtcclxuZnVuY3Rpb24gZ2V0SW5wdXRQYWRkaW5nKHByb3BzKSB7XHJcbiAgICBjb25zdCB7IGlucHV0U2l6ZSwgaXNDbGVhcmFibGUsIGljb25Qb3NpdGlvbiB9ID0gcHJvcHM7XHJcbiAgICBjb25zdCBwYWRkaW5nID0ge1xyXG4gICAgICAgIGxlZnQ6IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzAzLFxyXG4gICAgICAgIHJpZ2h0OiBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwMyxcclxuICAgIH07XHJcbiAgICBpZiAoaW5wdXRTaXplID09PSAnbGFyZ2UnKSB7XHJcbiAgICAgICAgaWYgKGlzQ2xlYXJhYmxlKSB7XHJcbiAgICAgICAgICAgIGlmIChpY29uUG9zaXRpb24gPT09ICdyaWdodCcpIHtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmcucmlnaHQgPSAnOTJweCc7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgZWxzZSBpZiAoaWNvblBvc2l0aW9uID09PSAnbGVmdCcpIHtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmcubGVmdCA9IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzExO1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy5yaWdodCA9IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzExO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgLy8gaWNvbiB0b3AsIG5vIGljb25cclxuICAgICAgICAgICAgICAgIHBhZGRpbmcucmlnaHQgPSBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcxMTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBlbHNlIHtcclxuICAgICAgICAgICAgaWYgKGljb25Qb3NpdGlvbiA9PT0gJ3JpZ2h0Jykge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy5yaWdodCA9IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzEwO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGlmIChpY29uUG9zaXRpb24gPT09ICdsZWZ0Jykge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy5sZWZ0ID0gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMTA7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICBlbHNlIGlmIChpbnB1dFNpemUgPT09ICdtZWRpdW0nKSB7XHJcbiAgICAgICAgaWYgKGlzQ2xlYXJhYmxlKSB7XHJcbiAgICAgICAgICAgIGlmIChpY29uUG9zaXRpb24gPT09ICdyaWdodCcpIHtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmcucmlnaHQgPSAnNjhweCc7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgZWxzZSBpZiAoaWNvblBvc2l0aW9uID09PSAnbGVmdCcpIHtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmcubGVmdCA9IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzA5O1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy5yaWdodCA9IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzA5O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgLy8gaWNvbiB0b3AsIG5vIGljb25cclxuICAgICAgICAgICAgICAgIHBhZGRpbmcucmlnaHQgPSBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwOTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBlbHNlIHtcclxuICAgICAgICAgICAgaWYgKGljb25Qb3NpdGlvbiA9PT0gJ3JpZ2h0Jykge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy5yaWdodCA9IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzA5O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGlmIChpY29uUG9zaXRpb24gPT09ICdsZWZ0Jykge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy5sZWZ0ID0gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICByZXR1cm4gcGFkZGluZztcclxufVxyXG5leHBvcnQgY29uc3QgaW5wdXRCYXNlU3R5bGVzID0gKHByb3BzKSA9PiBjc3MgYFxuICBib3JkZXI6IDA7XG4gIGJvcmRlci1yYWRpdXM6ICR7cHJvcHMudGhlbWUuYm9yZGVyUmFkaXVzfTtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIGNvbG9yOiAke3Byb3BzLmlzSW52ZXJzZVxyXG4gICAgPyBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDEwMFxyXG4gICAgOiBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDcwMH07XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBmb250LXNpemU6ICR7cHJvcHMudGhlbWUudHlwZVNjYWxlLnNpemUwMy5mb250U2l6ZX07XG4gIGxpbmUtaGVpZ2h0OiAke3Byb3BzLnRoZW1lLnR5cGVTY2FsZS5zaXplMDMubGluZUhlaWdodH07XG4gIGZvbnQtZmFtaWx5OiAke3Byb3BzLnRoZW1lLmJvZHlGb250fTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBwYWRkaW5nOiAke3Byb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzAzfTtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICB3aWR0aDogMTAwJTtcblxuICAke3Byb3BzLmlucHV0U2l6ZSA9PT0gJ2xhcmdlJyAmJlxyXG4gICAgY3NzIGBcbiAgICBmb250LXNpemU6ICR7cHJvcHMudGhlbWUudHlwZVNjYWxlLnNpemUwNC5mb250U2l6ZX07XG4gICAgbGluZS1oZWlnaHQ6ICR7cHJvcHMudGhlbWUudHlwZVNjYWxlLnNpemUwNC5saW5lSGVpZ2h0fTtcbiAgICBwYWRkaW5nOiAke3Byb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzA0fTtcbiAgYH1cblxuICBwYWRkaW5nLWxlZnQ6ICR7Z2V0SW5wdXRQYWRkaW5nKHByb3BzKS5sZWZ0fTtcbiAgcGFkZGluZy1yaWdodDogJHtnZXRJbnB1dFBhZGRpbmcocHJvcHMpLnJpZ2h0fTtcblxuICAmOjpwbGFjZWhvbGRlciB7XG4gICAgY29sb3I6ICR7cHJvcHMuaXNJbnZlcnNlXHJcbiAgICA/IHRyYW5zcGFyZW50aXplKDAuMywgcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWwxMDApXHJcbiAgICA6IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsNTAwfTtcbiAgfVxuXG4gICY6Zm9jdXMge1xuICAgIG91dGxpbmU6IDA7XG4gIH1cblxuICAmW3R5cGU9J3NlYXJjaCddIHtcbiAgICAmOjotd2Via2l0LXNlYXJjaC1kZWNvcmF0aW9uLFxuICAgICY6Oi13ZWJraXQtc2VhcmNoLWNhbmNlbC1idXR0b24sXG4gICAgJjo6LXdlYmtpdC1zZWFyY2gtcmVzdWx0cy1idXR0b24sXG4gICAgJjo6LXdlYmtpdC1zZWFyY2gtcmVzdWx0cy1kZWNvcmF0aW9uIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICB9XG5cbiAgJHtwcm9wcy5kaXNhYmxlZCAmJlxyXG4gICAgY3NzIGBcbiAgICBjb2xvcjogJHtwcm9wcy5pc0ludmVyc2VcclxuICAgICAgICA/IHRyYW5zcGFyZW50aXplKDAuNiwgcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWwxMDApXHJcbiAgICAgICAgOiB0cmFuc3BhcmVudGl6ZSgwLjQsIHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsNTAwKX07XG4gICAgY3Vyc29yOiBub3QtYWxsb3dlZDtcblxuICAgICY6OnBsYWNlaG9sZGVyIHtcbiAgICAgIGNvbG9yOiAke3Byb3BzLmlzSW52ZXJzZVxyXG4gICAgICAgID8gdHJhbnNwYXJlbnRpemUoMC44LCBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDEwMClcclxuICAgICAgICA6IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsNTAwfTtcbiAgICAgIG9wYWNpdHk6ICR7cHJvcHMuaXNJbnZlcnNlID8gMC40IDogMC42fTtcbiAgICB9XG4gIGB9XG5cbiAgJjotd2Via2l0LWF1dG9maWxsLFxuICAmOi13ZWJraXQtYXV0b2ZpbGw6Zm9jdXMsXG4gICY6LXdlYmtpdC1hdXRvZmlsbDpob3ZlcixcbiAgJjotd2Via2l0LWF1dG9maWxsOmFjdGl2ZSB7XG4gICAgYm94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xuICAgIC13ZWJraXQtYmFja2dyb3VuZC1jbGlwOiB0ZXh0O1xuICAgIC13ZWJraXQtdGV4dC1maWxsLWNvbG9yOiAke3Byb3BzLmlzSW52ZXJzZVxyXG4gICAgPyBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDEwMFxyXG4gICAgOiBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDcwMH0gIWltcG9ydGFudDtcbiAgICBjYXJldC1jb2xvcjogJHtwcm9wcy5pc0ludmVyc2VcclxuICAgID8gcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWwxMDBcclxuICAgIDogcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWw3MDB9ICFpbXBvcnRhbnQ7XG4gIH1cbmA7XHJcbmNvbnN0IElucHV0Q29udGFpbmVyID0gc3R5bGVkLmRpdiBgXG4gIGRpc3BsYXk6IGZsZXg7XG5gO1xyXG5leHBvcnQgY29uc3QgSW5wdXRXcmFwcGVyID0gc3R5bGVkLmRpdiBgXG4gICR7aW5wdXRXcmFwcGVyU3R5bGVzfVxuYDtcclxuY29uc3QgU3R5bGVkSW5wdXQgPSBzdHlsZWQuaW5wdXQgYFxuICAke2lucHV0QmFzZVN0eWxlc31cbmA7XHJcbmNvbnN0IEljb25XcmFwcGVyID0gc3R5bGVkLnNwYW4gYFxuICBib3R0b206ICR7cHJvcHMgPT4gKHByb3BzLmljb25Qb3NpdGlvbiA9PT0gJ3RvcCcgPyAnNDVweCcgOiAnaW5oZXJpdCcpfTtcbiAgY29sb3I6ICR7cHJvcHMgPT4gcHJvcHMuaXNJbnZlcnNlXHJcbiAgICA/IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsMTAwXHJcbiAgICA6IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsNzAwfTtcbiAgbGVmdDogJHtwcm9wcyA9PiBwcm9wcy5pY29uUG9zaXRpb24gPT09ICdsZWZ0JyA/IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzAzIDogJ2F1dG8nfTtcbiAgcmlnaHQ6ICR7cHJvcHMgPT4gcHJvcHMuaWNvblBvc2l0aW9uID09PSAncmlnaHQnXHJcbiAgICA/IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzAzXHJcbiAgICA6IHByb3BzLmljb25Qb3NpdGlvbiA9PT0gJ3RvcCdcclxuICAgICAgICA/ICczcHgnXHJcbiAgICAgICAgOiAnYXV0byd9O1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogJHtwcm9wcyA9PiBwcm9wcy5pY29uUG9zaXRpb24gPT09ICd0b3AnXHJcbiAgICA/ICdpbmhlcml0J1xyXG4gICAgOiBwcm9wcyA9PiBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwM307XG5cbiAgJHtwcm9wcyA9PiBwcm9wcy5pbnB1dFNpemUgPT09ICdsYXJnZScgJiZcclxuICAgIGNzcyBgXG4gICAgICBib3R0b206ICR7cHJvcHMuaWNvblBvc2l0aW9uID09PSAndG9wJyA/ICc2MnB4JyA6ICdpbmhlcml0J307XG4gICAgICBsZWZ0OiAke3Byb3BzLmljb25Qb3NpdGlvbiA9PT0gJ2xlZnQnXHJcbiAgICAgICAgPyBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwNFxyXG4gICAgICAgIDogJ2F1dG8nfTtcbiAgICAgIHJpZ2h0OiAke3Byb3BzLmljb25Qb3NpdGlvbiA9PT0gJ3JpZ2h0J1xyXG4gICAgICAgID8gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDRcclxuICAgICAgICA6IHByb3BzLmljb25Qb3NpdGlvbiA9PT0gJ3RvcCdcclxuICAgICAgICAgICAgPyAnM3B4J1xyXG4gICAgICAgICAgICA6ICdhdXRvJ307XG4gICAgICB0b3A6ICR7cHJvcHMuaWNvblBvc2l0aW9uID09PSAndG9wJ1xyXG4gICAgICAgID8gJ2luaGVyaXQnXHJcbiAgICAgICAgOiBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwNH07XG4gICAgYH1cbmA7XHJcbmZ1bmN0aW9uIGdldEljb25CdXR0b25TVkdTaXplKHByb3BzKSB7XHJcbiAgICBjb25zdCB7IGlzQ2xpY2thYmxlLCBpY29uUG9zaXRpb24sIGlucHV0U2l6ZSwgdGhlbWUgfSA9IHByb3BzO1xyXG4gICAgaWYgKGlzQ2xpY2thYmxlICYmIGljb25Qb3NpdGlvbiA9PT0gSW5wdXRJY29uUG9zaXRpb24udG9wKSB7XHJcbiAgICAgICAgaWYgKGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlKSB7XHJcbiAgICAgICAgICAgIHJldHVybiBgJHt0aGVtZS5pY29uU2l6ZXMubWVkaXVtfXB4YDtcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIGAke3RoZW1lLmljb25TaXplcy5zbWFsbH1weGA7XHJcbiAgICB9XHJcbiAgICBpZiAoaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2UpIHtcclxuICAgICAgICByZXR1cm4gYCR7dGhlbWUuaWNvblNpemVzLmxhcmdlfXB4YDtcclxuICAgIH1cclxuICAgIHJldHVybiBgJHt0aGVtZS5pY29uU2l6ZXMubWVkaXVtfXB4YDtcclxufVxyXG5mdW5jdGlvbiBnZXRIZWxwTGlua1NWR1NpemUocHJvcHMpIHtcclxuICAgIGNvbnN0IHsgaW5wdXRTaXplLCB0aGVtZSB9ID0gcHJvcHM7XHJcbiAgICBpZiAoaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2UpIHtcclxuICAgICAgICByZXR1cm4gYCR7dGhlbWUuaWNvblNpemVzLm1lZGl1bX1weGA7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gYCR7dGhlbWUuaWNvblNpemVzLnNtYWxsfXB4YDtcclxufVxyXG5leHBvcnQgZnVuY3Rpb24gZ2V0SGVscEljb25CdXR0b25TaXplKHByb3BzKSB7XHJcbiAgICBjb25zdCB7IGlucHV0U2l6ZSwgdGhlbWUgfSA9IHByb3BzO1xyXG4gICAgaWYgKGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlKSB7XHJcbiAgICAgICAgcmV0dXJuIHRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzA5O1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIHRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzA3O1xyXG59XHJcbmZ1bmN0aW9uIGdldEljb25CdXR0b25UcmFuc2Zvcm0ocHJvcHMpIHtcclxuICAgIGNvbnN0IHsgaXNDbGlja2FibGUsIGljb25Qb3NpdGlvbiwgaW5wdXRTaXplLCBoYXNDaGlsZHJlbiwgdGhlbWUgfSA9IHByb3BzO1xyXG4gICAgY29uc3QgcG9zaXRpb24gPSB7IHg6ICcnLCB5OiAnJyB9O1xyXG4gICAgaWYgKGljb25Qb3NpdGlvbiA9PT0gSW5wdXRJY29uUG9zaXRpb24udG9wKSB7XHJcbiAgICAgICAgaWYgKGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlKSB7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uLnggPSAnLTMwcHgnO1xyXG4gICAgICAgICAgICBwb3NpdGlvbi55ID0gJzJweCc7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2UgaWYgKGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLm1lZGl1bSkge1xyXG4gICAgICAgICAgICBwb3NpdGlvbi54ID0gJy0yOHB4JztcclxuICAgICAgICAgICAgcG9zaXRpb24ueSA9ICc1cHgnO1xyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gcG9zaXRpb247XHJcbiAgICB9XHJcbiAgICBpZiAoaXNDbGlja2FibGUpIHtcclxuICAgICAgICBpZiAoaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2UpIHtcclxuICAgICAgICAgICAgaWYgKGhhc0NoaWxkcmVuKSB7XHJcbiAgICAgICAgICAgICAgICBwb3NpdGlvbi54ID0gJy00M3B4JztcclxuICAgICAgICAgICAgICAgIHBvc2l0aW9uLnkgPSAnMTRweCc7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICAgICAgICBwb3NpdGlvbi54ID0gJy00OXB4JztcclxuICAgICAgICAgICAgICAgIHBvc2l0aW9uLnkgPSAnOHB4JztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBlbHNlIGlmIChpbnB1dFNpemUgPT09IElucHV0U2l6ZS5tZWRpdW0pIHtcclxuICAgICAgICAgICAgcG9zaXRpb24ueCA9ICctMzVweCc7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uLnkgPSAnNnB4JztcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIHBvc2l0aW9uO1xyXG4gICAgfVxyXG4gICAgaWYgKGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlKSB7XHJcbiAgICAgICAgcG9zaXRpb24ueCA9IGAtJHt0aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcxMH1gO1xyXG4gICAgICAgIHBvc2l0aW9uLnkgPSB0aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwMztcclxuICAgIH1cclxuICAgIGVsc2UgaWYgKGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLm1lZGl1bSkge1xyXG4gICAgICAgIHBvc2l0aW9uLnggPSAnLTI0cHgnO1xyXG4gICAgICAgIHBvc2l0aW9uLnkgPSAnN3B4JztcclxuICAgIH1cclxuICAgIHJldHVybiBwb3NpdGlvbjtcclxufVxyXG5leHBvcnQgY29uc3QgSWNvbkJ1dHRvbkNvbnRhaW5lciA9IHN0eWxlZC5zcGFuIGBcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGJvdHRvbTogJHtwcm9wcyA9PiAocHJvcHMuaWNvblBvc2l0aW9uID09PSAndG9wJyA/ICc0MHB4JyA6ICdpbmhlcml0Jyl9O1xuICBoZWlnaHQ6IGF1dG87XG4gIG1hcmdpbjogMDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aWR0aDogMDtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoXG4gICAgJHtwcm9wcyA9PiBnZXRJY29uQnV0dG9uVHJhbnNmb3JtKHByb3BzKS54fSxcbiAgICAke3Byb3BzID0+IGdldEljb25CdXR0b25UcmFuc2Zvcm0ocHJvcHMpLnl9XG4gICk7XG4gIHN2ZyB7XG4gICAgaGVpZ2h0OiAke3Byb3BzID0+IGdldEljb25CdXR0b25TVkdTaXplKHByb3BzKX07XG4gICAgd2lkdGg6ICR7cHJvcHMgPT4gZ2V0SWNvbkJ1dHRvblNWR1NpemUocHJvcHMpfTtcbiAgfVxuYDtcclxuY29uc3QgUGFzc3dvcmRCdXR0b25Db250YWluZXIgPSBzdHlsZWQuc3BhbiBgXG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICB3aWR0aDogMDtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoXG4gICAgJHtwcm9wcyA9PiBwcm9wcy5zaXplID09PSBJbnB1dFNpemUubGFyZ2VcclxuICAgID8gYCR7LXByb3BzLmJ1dHRvbldpZHRoIC0gOH1weGBcclxuICAgIDogYCR7LXByb3BzLmJ1dHRvbldpZHRoIC0gNn1weGB9LFxuICAgICR7cHJvcHMgPT4gcHJvcHMuc2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlID8gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDMgOiAnNnB4J31cbiAgKTtcbmA7XHJcbmZ1bmN0aW9uIGdldENsZWFyYWJsZVBvc2l0aW9uKHByb3BzKSB7XHJcbiAgICBpZiAocHJvcHMuaWNvblBvc2l0aW9uID09PSAncmlnaHQnICYmIHByb3BzLmljb24pIHtcclxuICAgICAgICBpZiAocHJvcHMuaW5wdXRTaXplID09PSAnbGFyZ2UnKSB7XHJcbiAgICAgICAgICAgIHJldHVybiBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcxMztcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuICc3MnB4JztcclxuICAgIH1cclxuICAgIGlmIChwcm9wcy5pbnB1dFNpemUgPT09ICdsYXJnZScpIHtcclxuICAgICAgICByZXR1cm4gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMTA7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gJzM0cHgnO1xyXG59XHJcbmNvbnN0IElzQ2xlYXJhYmxlQ29udGFpbmVyID0gc3R5bGVkLnNwYW4gYFxuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgbWFyZ2luOiAwO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGhlaWdodDogYXV0bztcbiAgd2lkdGg6IDA7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKFxuICAgIC0ke3Byb3BzID0+IGdldENsZWFyYWJsZVBvc2l0aW9uKHByb3BzKX0sXG4gICAgJHtwcm9wcyA9PiBwcm9wcy5pbnB1dFNpemUgPT09IElucHV0U2l6ZS5sYXJnZVxyXG4gICAgPyBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwM1xyXG4gICAgOiAnNnB4J31cbiAgKTtcbmA7XHJcbmZ1bmN0aW9uIGdldEljb25TaXplKHNpemUsIHRoZW1lLCBpY29uUG9zaXRpb24pIHtcclxuICAgIHN3aXRjaCAoc2l6ZSkge1xyXG4gICAgICAgIGNhc2UgJ2xhcmdlJzpcclxuICAgICAgICAgICAgaWYgKGljb25Qb3NpdGlvbiA9PT0gSW5wdXRJY29uUG9zaXRpb24udG9wKSB7XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gdGhlbWUuaWNvblNpemVzLm1lZGl1bTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICByZXR1cm4gdGhlbWUuaWNvblNpemVzLmxhcmdlO1xyXG4gICAgICAgIGRlZmF1bHQ6XHJcbiAgICAgICAgICAgIGlmIChpY29uUG9zaXRpb24gPT09IElucHV0SWNvblBvc2l0aW9uLnRvcCkge1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuIHRoZW1lLmljb25TaXplcy5zbWFsbDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICByZXR1cm4gdGhlbWUuaWNvblNpemVzLm1lZGl1bTtcclxuICAgIH1cclxufVxyXG5leHBvcnQgY29uc3QgaXNMZWZ0T3JIaWRkZW4gPSAoeyBsYWJlbFBvc2l0aW9uLCBpc0xhYmVsVmlzdWFsbHlIaWRkZW4sIH0pID0+IGxhYmVsUG9zaXRpb24gPT09IExhYmVsUG9zaXRpb24ubGVmdCB8fCBpc0xhYmVsVmlzdWFsbHlIaWRkZW47XHJcbmV4cG9ydCBjb25zdCBIZWxwTGlua0NvbnRhaW5lciA9IHN0eWxlZC5zcGFuIGBcbiAgcG9zaXRpb246ICR7cHJvcHMgPT4gKGlzTGVmdE9ySGlkZGVuKHByb3BzKSA/ICdyZWxhdGl2ZScgOiAnYWJzb2x1dGUnKX07XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXG4gIGhlaWdodDogJHtwcm9wcyA9PiAoaXNMZWZ0T3JIaWRkZW4ocHJvcHMpID8gJ2F1dG8nIDogJ2ZpdC1jb250ZW50Jyl9O1xuICBtYXJnaW4taW5saW5lLXN0YXJ0OiAke3Byb3BzID0+IGlzTGVmdE9ySGlkZGVuKHByb3BzKSA/IGAke3Byb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzAzfWAgOiAnYXV0byd9O1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoXG4gICAgJHtwcm9wcyA9PiBpc0xlZnRPckhpZGRlbihwcm9wcylcclxuICAgID8gJzAnXHJcbiAgICA6IGBjYWxjKC0xMDAlIC0gJHtwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwM30pYH1cbiAgKTtcbiAgJHtDaGlsZHJlbldyYXBwZXJ9ID4gc3ZnIHtcbiAgICBoZWlnaHQ6ICR7cHJvcHMgPT4gZ2V0SGVscExpbmtTVkdTaXplKHByb3BzKX07XG4gICAgd2lkdGg6ICR7cHJvcHMgPT4gZ2V0SGVscExpbmtTVkdTaXplKHByb3BzKX07XG4gIH1cbiAgYnV0dG9uIHtcbiAgICBoZWlnaHQ6ICR7cHJvcHMgPT4gZ2V0SGVscEljb25CdXR0b25TaXplKHByb3BzKX07XG4gICAgd2lkdGg6ICR7cHJvcHMgPT4gZ2V0SGVscEljb25CdXR0b25TaXplKHByb3BzKX07XG4gIH1cbiAgaW5zZXQtaW5saW5lLWVuZDogJHtwcm9wcyA9PiAoaXNMZWZ0T3JIaWRkZW4ocHJvcHMpID8gJ2F1dG8nIDogJzAnKX07XG5gO1xyXG5leHBvcnQgY29uc3QgSW5wdXRCYXNlID0gUmVhY3QuZm9yd2FyZFJlZigocHJvcHMsIGZvcndhcmRlZFJlZikgPT4ge1xyXG4gICAgY29uc3QgeyBjaGlsZHJlbiwgY29udGFpbmVyU3R5bGUsIGRlZmF1bHRWYWx1ZSwgZGlzYWJsZWQsIGhhc0NoYXJhY3RlckNvdW50ZXIsIGhhc0Vycm9yLCBpY29uLCBpY29uQXJpYUxhYmVsLCBpY29uUmVmLCBpc0NsZWFyYWJsZSwgaXNQYXNzd29yZElucHV0LCBpc1ByZWRpY3RpdmUsIG1heENvdW50LCBtYXhMZW5ndGgsIG9uQ2xlYXIsIG9uSWNvbkNsaWNrLCBvbkljb25LZXlEb3duLCBvbkRhdGVDaGFuZ2UsIGlucHV0TGVuZ3RoLCBpbnB1dFNpemUsIGlucHV0U3R5bGUsIGlucHV0V3JhcHBlclN0eWxlLCB0ZXN0SWQsIHR5cGUsIHNldFJlZmVyZW5jZSwgaXNMYWJlbFZpc3VhbGx5SGlkZGVuLCBsYWJlbFBvc2l0aW9uLCAuLi5vdGhlciB9ID0gcHJvcHM7XHJcbiAgICBjb25zdCBpMThuID0gUmVhY3QudXNlQ29udGV4dChJMThuQ29udGV4dCk7XHJcbiAgICBjb25zdCB0aGVtZSA9IFJlYWN0LnVzZUNvbnRleHQoVGhlbWVDb250ZXh0KTtcclxuICAgIGNvbnN0IGljb25Qb3NpdGlvbiA9IGljb24gJiYgb25JY29uQ2xpY2tcclxuICAgICAgICA/IElucHV0SWNvblBvc2l0aW9uLnJpZ2h0XHJcbiAgICAgICAgOiBpY29uICYmICFwcm9wcy5pY29uUG9zaXRpb25cclxuICAgICAgICAgICAgPyBJbnB1dEljb25Qb3NpdGlvbi5sZWZ0XHJcbiAgICAgICAgICAgIDogcHJvcHMuaWNvblBvc2l0aW9uO1xyXG4gICAgY29uc3QgW3ZhbHVlLCBzZXRWYWx1ZV0gPSBSZWFjdC51c2VTdGF0ZShwcm9wcy5kZWZhdWx0VmFsdWUgIT09IHVuZGVmaW5lZCAmJiBwcm9wcy5kZWZhdWx0VmFsdWUgIT09IG51bGxcclxuICAgICAgICA/IHByb3BzLmRlZmF1bHRWYWx1ZVxyXG4gICAgICAgIDogcHJvcHMudmFsdWUgfHwgJycpO1xyXG4gICAgY29uc3QgbWF4TGVuZ3RoTnVtID0gIWhhc0NoYXJhY3RlckNvdW50ZXIgJiYgbWF4TGVuZ3RoID8gbWF4TGVuZ3RoIDogdW5kZWZpbmVkO1xyXG4gICAgUmVhY3QudXNlRWZmZWN0KCgpID0+IHtcclxuICAgICAgICBpZiAocHJvcHMudmFsdWUgIT09IHVuZGVmaW5lZCAmJiBwcm9wcy52YWx1ZSAhPT0gbnVsbCkge1xyXG4gICAgICAgICAgICBzZXRWYWx1ZShwcm9wcy52YWx1ZSk7XHJcbiAgICAgICAgfVxyXG4gICAgfSwgW3Byb3BzLnZhbHVlXSk7XHJcbiAgICBjb25zdCBpbnB1dFJlZiA9IFJlYWN0LnVzZVJlZigpO1xyXG4gICAgY29uc3QgcmVmID0gdXNlRm9ya2VkUmVmKGZvcndhcmRlZFJlZiwgaW5wdXRSZWYpO1xyXG4gICAgZnVuY3Rpb24gaGFuZGxlQ2xlYXJJbnB1dCgpIHtcclxuICAgICAgICBvbkNsZWFyICYmIHR5cGVvZiBvbkNsZWFyID09PSAnZnVuY3Rpb24nICYmIG9uQ2xlYXIoKTtcclxuICAgICAgICBzZXRWYWx1ZSgnJyk7XHJcbiAgICAgICAgb25EYXRlQ2hhbmdlICYmIHR5cGVvZiBvbkRhdGVDaGFuZ2UgPT09ICdmdW5jdGlvbicgJiYgb25EYXRlQ2hhbmdlKG51bGwpO1xyXG4gICAgICAgIGlucHV0UmVmLmN1cnJlbnQuZm9jdXMoKTtcclxuICAgIH1cclxuICAgIGZ1bmN0aW9uIGhhbmRsZUNoYW5nZShldmVudCkge1xyXG4gICAgICAgIHByb3BzLm9uQ2hhbmdlICYmXHJcbiAgICAgICAgICAgIHR5cGVvZiBwcm9wcy5vbkNoYW5nZSA9PT0gJ2Z1bmN0aW9uJyAmJlxyXG4gICAgICAgICAgICBwcm9wcy5vbkNoYW5nZShldmVudCk7XHJcbiAgICAgICAgY29uc3QgaXNPbkRhdGVDaGFuZ2UgPSBvbkRhdGVDaGFuZ2UgJiYgdHlwZW9mIG9uRGF0ZUNoYW5nZSA9PT0gJ2Z1bmN0aW9uJztcclxuICAgICAgICBjb25zdCB7IHZhbHVlIH0gPSBldmVudC50YXJnZXQ7XHJcbiAgICAgICAgc2V0VmFsdWUoaXNPbkRhdGVDaGFuZ2UgPyB2YWx1ZSA6IChwcm9wcy52YWx1ZSA/PyB2YWx1ZSkpO1xyXG4gICAgICAgIGlmIChpc09uRGF0ZUNoYW5nZSAmJiAhdmFsdWUpIHtcclxuICAgICAgICAgICAgb25EYXRlQ2hhbmdlKG51bGwpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIGNvbnN0IHBhc3N3b3JkQnRuV2lkdGggPSAoKSA9PiB7XHJcbiAgICAgICAgY29uc3QgYnRuV2lkdGggPSBjaGlsZHJlbj8ucHJvcHM/LmNoaWxkcmVuPy5bMF0/LnJlZj8uY3VycmVudD8ub2Zmc2V0V2lkdGg7XHJcbiAgICAgICAgaWYgKHR5cGVvZiBidG5XaWR0aCA9PT0gJ251bWJlcicpIHtcclxuICAgICAgICAgICAgcmV0dXJuIGJ0bldpZHRoO1xyXG4gICAgICAgIH1cclxuICAgICAgICBlbHNlIHtcclxuICAgICAgICAgICAgLy8gV2hlbiBQYXNzd29yZEJ1dHRvbiBpcyB1c2VkIGluc2lkZSBTY2hlbWFSZW5kZXJlciwgaXQgZG9lc24ndCBoYXZlIGNoaWxkcmVuLlxyXG4gICAgICAgICAgICAvLyBXZSdsbCB1c2UgdGhlIGRlZmF1bHQgYnV0dG9uIHNpemVzLlxyXG4gICAgICAgICAgICBpZiAocHJvcHMuaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgIHJldHVybiA2NDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICByZXR1cm4gNTQ7XHJcbiAgICAgICAgfVxyXG4gICAgfTtcclxuICAgIHJldHVybiAoUmVhY3QuY3JlYXRlRWxlbWVudChcImRpdlwiLCB7IHJlZjogc2V0UmVmZXJlbmNlIH0sXHJcbiAgICAgICAgUmVhY3QuY3JlYXRlRWxlbWVudChJbnB1dENvbnRhaW5lciwgeyBzdHlsZTogaW5wdXRXcmFwcGVyU3R5bGUsIFwiZGF0YS10ZXN0aWRcIjogYCR7dGVzdElkfS13cmFwcGVyYCB9LFxyXG4gICAgICAgICAgICBSZWFjdC5jcmVhdGVFbGVtZW50KElucHV0V3JhcHBlciwgeyBkaXNhYmxlZDogZGlzYWJsZWQsIGljb25Qb3NpdGlvbjogaWNvblBvc2l0aW9uLCBpc0ludmVyc2U6IHByb3BzLmlzSW52ZXJzZSwgaW5wdXRTaXplOiBpbnB1dFNpemUgPz8gSW5wdXRTaXplLm1lZGl1bSwgdGhlbWU6IHRoZW1lLCBzdHlsZTogY29udGFpbmVyU3R5bGUsIGhhc0Vycm9yOiBoYXNFcnJvciwgaXNDbGVhcmFibGU6IGlzQ2xlYXJhYmxlLCB3aWR0aDogcHJvcHMud2lkdGggfSxcclxuICAgICAgICAgICAgICAgIFJlYWN0LmNyZWF0ZUVsZW1lbnQoU3R5bGVkSW5wdXQsIE9iamVjdC5hc3NpZ24oe30sIG90aGVyLCB7IFwiYXJpYS1pbnZhbGlkXCI6IGhhc0Vycm9yLCBkaXNhYmxlZDogZGlzYWJsZWQsIFwiZGF0YS10ZXN0aWRcIjogdGVzdElkLCBoYXNDaGFyYWN0ZXJDb3VudGVyOiBoYXNDaGFyYWN0ZXJDb3VudGVyLCBpY29uUG9zaXRpb246IGljb25Qb3NpdGlvbiwgaW5wdXRTaXplOiBpbnB1dFNpemUgPz8gSW5wdXRTaXplLm1lZGl1bSwgaXNDbGVhcmFibGU6IHR5cGUgPT09IElucHV0VHlwZS5zZWFyY2hcclxuICAgICAgICAgICAgICAgICAgICAgICAgPyBpc0NsZWFyYWJsZVxyXG4gICAgICAgICAgICAgICAgICAgICAgICA6IGlucHV0V3JhcHBlclN0eWxlPy53aWR0aFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPyBpc0NsZWFyYWJsZVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBpc0NsZWFyYWJsZSAmJiBpbnB1dExlbmd0aCA+IDAsIGlzSW52ZXJzZTogdXNlSXNJbnZlcnNlKHByb3BzLmlzSW52ZXJzZSksIGlzUHJlZGljdGl2ZTogaXNQcmVkaWN0aXZlLCBoYXNFcnJvcjogaGFzRXJyb3IsIHJlZjogcmVmLCBtYXhMZW5ndGg6IG1heExlbmd0aE51bSwgb25DaGFuZ2U6IGhhbmRsZUNoYW5nZSwgc3R5bGU6IGlucHV0U3R5bGUsIHRoZW1lOiB0aGVtZSwgdHlwZTogdHlwZSA/IHR5cGUgOiBJbnB1dFR5cGUudGV4dCwgdmFsdWU6IHZhbHVlIH0pKSxcclxuICAgICAgICAgICAgICAgIGljb24gJiYgIW9uSWNvbkNsaWNrICYmIChSZWFjdC5jcmVhdGVFbGVtZW50KEljb25XcmFwcGVyLCB7IFwiYXJpYS1sYWJlbFwiOiBpY29uQXJpYUxhYmVsLCBpY29uUG9zaXRpb246IGljb25Qb3NpdGlvbiwgaW5wdXRTaXplOiBpbnB1dFNpemUgPz8gSW5wdXRTaXplLm1lZGl1bSwgaXNJbnZlcnNlOiBwcm9wcy5pc0ludmVyc2UsIGlzUHJlZGljdGl2ZTogaXNQcmVkaWN0aXZlLCB0aGVtZTogdGhlbWUsIGRpc2FibGVkOiBkaXNhYmxlZCB9LCBSZWFjdC5DaGlsZHJlbi5vbmx5KFJlYWN0LmNsb25lRWxlbWVudChpY29uLCB7XHJcbiAgICAgICAgICAgICAgICAgICAgc2l6ZTogZ2V0SWNvblNpemUoaW5wdXRTaXplID8/IElucHV0U2l6ZS5tZWRpdW0sIHRoZW1lLCBpY29uUG9zaXRpb24pLFxyXG4gICAgICAgICAgICAgICAgfSkpKSkpLFxyXG4gICAgICAgICAgICBpc0NsZWFyYWJsZSAmJiB2YWx1ZSAhPT0gJycgJiYgKFJlYWN0LmNyZWF0ZUVsZW1lbnQoSXNDbGVhcmFibGVDb250YWluZXIsIHsgdGhlbWU6IHRoZW1lLCBpY29uUG9zaXRpb246IGljb25Qb3NpdGlvbiwgaW5wdXRTaXplOiBpbnB1dFNpemUsIGljb246IGljb24gfSxcclxuICAgICAgICAgICAgICAgIFJlYWN0LmNyZWF0ZUVsZW1lbnQoSWNvbkJ1dHRvbiwgeyBcImFyaWEtbGFiZWxcIjogaTE4bi5pbnB1dC5pc0NsZWFyYWJsZUFyaWFMYWJlbCwgZGlzYWJsZWQ6IGRpc2FibGVkLCBpY29uOiBSZWFjdC5jcmVhdGVFbGVtZW50KENsZWFySWNvbiwgbnVsbCksIGlzSW52ZXJzZTogcHJvcHMuaXNJbnZlcnNlLCBvbkNsaWNrOiBoYW5kbGVDbGVhcklucHV0LCBvbktleURvd246IG9uSWNvbktleURvd24sIHJlZjogaWNvblJlZiwgc2hhcGU6IEJ1dHRvblNoYXBlLmZpbGwsIHNpemU6IGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlXHJcbiAgICAgICAgICAgICAgICAgICAgICAgID8gQnV0dG9uU2l6ZS5tZWRpdW1cclxuICAgICAgICAgICAgICAgICAgICAgICAgOiBCdXR0b25TaXplLnNtYWxsLCB0ZXN0SWQ6IFwiY2xlYXItYnV0dG9uXCIsIHR5cGU6IEJ1dHRvblR5cGUuYnV0dG9uLCB2YXJpYW50OiBCdXR0b25WYXJpYW50LmxpbmsgfSkpKSxcclxuICAgICAgICAgICAgb25JY29uQ2xpY2sgJiYgKFJlYWN0LmNyZWF0ZUVsZW1lbnQoSWNvbkJ1dHRvbkNvbnRhaW5lciwgeyBpY29uUG9zaXRpb246IGljb25Qb3NpdGlvbiwgaW5wdXRTaXplOiBpbnB1dFNpemUgPT09IElucHV0U2l6ZS5sYXJnZVxyXG4gICAgICAgICAgICAgICAgICAgID8gSW5wdXRTaXplLmxhcmdlXHJcbiAgICAgICAgICAgICAgICAgICAgOiBJbnB1dFNpemUubWVkaXVtLCB0aGVtZTogdGhlbWUsIGlzQ2xpY2thYmxlOiB0cnVlIH0sXHJcbiAgICAgICAgICAgICAgICBSZWFjdC5jcmVhdGVFbGVtZW50KEljb25CdXR0b24sIHsgXCJhcmlhLWxhYmVsXCI6IGljb25BcmlhTGFiZWwsIGljb246IGljb24sIGlzSW52ZXJzZTogcHJvcHMuaXNJbnZlcnNlLCBvbkNsaWNrOiBvbkljb25DbGljaywgb25LZXlEb3duOiBvbkljb25LZXlEb3duLCByZWY6IGljb25SZWYsIGRpc2FibGVkOiBkaXNhYmxlZCwgc2hhcGU6IEJ1dHRvblNoYXBlLmZpbGwsIHNpemU6IGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlXHJcbiAgICAgICAgICAgICAgICAgICAgICAgID8gQnV0dG9uU2l6ZS5tZWRpdW1cclxuICAgICAgICAgICAgICAgICAgICAgICAgOiBCdXR0b25TaXplLnNtYWxsLCB0eXBlOiBCdXR0b25UeXBlLmJ1dHRvbiwgdmFyaWFudDogQnV0dG9uVmFyaWFudC5saW5rIH0pKSksXHJcbiAgICAgICAgICAgIGlzUGFzc3dvcmRJbnB1dCA/IChSZWFjdC5jcmVhdGVFbGVtZW50KFBhc3N3b3JkQnV0dG9uQ29udGFpbmVyLCB7IHNpemU6IGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlXHJcbiAgICAgICAgICAgICAgICAgICAgPyBJbnB1dFNpemUubGFyZ2VcclxuICAgICAgICAgICAgICAgICAgICA6IElucHV0U2l6ZS5tZWRpdW0sIHRoZW1lOiB0aGVtZSwgYnV0dG9uV2lkdGg6IHBhc3N3b3JkQnRuV2lkdGgoKSB9LCBjaGlsZHJlbikpIDogKFJlYWN0LmNyZWF0ZUVsZW1lbnQoSGVscExpbmtDb250YWluZXIsIHsgaXNMYWJlbFZpc3VhbGx5SGlkZGVuOiBpc0xhYmVsVmlzdWFsbHlIaWRkZW4gfHwgZmFsc2UsIGlucHV0U2l6ZTogaW5wdXRTaXplID8/IElucHV0U2l6ZS5tZWRpdW0sIGxhYmVsUG9zaXRpb246IGxhYmVsUG9zaXRpb24gPz8gTGFiZWxQb3NpdGlvbi50b3AsIHRoZW1lOiB0aGVtZSB9LCBjaGlsZHJlbikpKSkpO1xyXG59KTtcclxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9aW5kZXguanMubWFwIl19 */",
|
|
4933
4933
|
toString: _EMOTION_STRINGIFIED_CSS_ERROR__$8
|
|
4934
4934
|
});
|
|
4935
4935
|
var InputWrapper = /*#__PURE__*/_styled("div", {
|
|
4936
4936
|
target: "e1jxjjn76",
|
|
4937
4937
|
label: "InputWrapper"
|
|
4938
|
-
})(inputWrapperStyles, ";" + (process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImluZGV4LnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFvTnVDIiwiZmlsZSI6ImluZGV4LnRzeCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIFJlYWN0IGZyb20gJ3JlYWN0JztcclxuaW1wb3J0IHsgY3NzIH0gZnJvbSAnQGVtb3Rpb24vcmVhY3QnO1xyXG5pbXBvcnQgc3R5bGVkIGZyb20gJ0BlbW90aW9uL3N0eWxlZCc7XHJcbmltcG9ydCB7IHRyYW5zcGFyZW50aXplIH0gZnJvbSAncG9saXNoZWQnO1xyXG5pbXBvcnQgeyBDbGVhckljb24gfSBmcm9tICdyZWFjdC1tYWdtYS1pY29ucyc7XHJcbmltcG9ydCB7IEkxOG5Db250ZXh0IH0gZnJvbSAnLi4vLi4vaTE4bic7XHJcbmltcG9ydCB7IHVzZUlzSW52ZXJzZSB9IGZyb20gJy4uLy4uL2ludmVyc2UnO1xyXG5pbXBvcnQgeyBUaGVtZUNvbnRleHQgfSBmcm9tICcuLi8uLi90aGVtZS9UaGVtZUNvbnRleHQnO1xyXG5pbXBvcnQgeyB1c2VGb3JrZWRSZWYgfSBmcm9tICcuLi8uLi91dGlscyc7XHJcbmltcG9ydCB7IEJ1dHRvblNoYXBlLCBCdXR0b25TaXplLCBCdXR0b25UeXBlLCBCdXR0b25WYXJpYW50IH0gZnJvbSAnLi4vQnV0dG9uJztcclxuaW1wb3J0IHsgSWNvbkJ1dHRvbiB9IGZyb20gJy4uL0ljb25CdXR0b24nO1xyXG5pbXBvcnQgeyBMYWJlbFBvc2l0aW9uIH0gZnJvbSAnLi4vTGFiZWwnO1xyXG5pbXBvcnQgeyBDaGlsZHJlbldyYXBwZXIgfSBmcm9tICcuLi9TdHlsZWRCdXR0b24nO1xyXG5leHBvcnQgdmFyIElucHV0U2l6ZTtcclxuKGZ1bmN0aW9uIChJbnB1dFNpemUpIHtcclxuICAgIElucHV0U2l6ZVtcImxhcmdlXCJdID0gXCJsYXJnZVwiO1xyXG4gICAgSW5wdXRTaXplW1wibWVkaXVtXCJdID0gXCJtZWRpdW1cIjtcclxufSkoSW5wdXRTaXplIHx8IChJbnB1dFNpemUgPSB7fSkpO1xyXG5leHBvcnQgdmFyIElucHV0VHlwZTtcclxuKGZ1bmN0aW9uIChJbnB1dFR5cGUpIHtcclxuICAgIElucHV0VHlwZVtcImVtYWlsXCJdID0gXCJlbWFpbFwiO1xyXG4gICAgSW5wdXRUeXBlW1wiZmlsZVwiXSA9IFwiZmlsZVwiO1xyXG4gICAgSW5wdXRUeXBlW1wibnVtYmVyXCJdID0gXCJudW1iZXJcIjtcclxuICAgIElucHV0VHlwZVtcInBhc3N3b3JkXCJdID0gXCJwYXNzd29yZFwiO1xyXG4gICAgSW5wdXRUeXBlW1wic2VhcmNoXCJdID0gXCJzZWFyY2hcIjtcclxuICAgIElucHV0VHlwZVtcInRleHRcIl0gPSBcInRleHRcIjtcclxuICAgIElucHV0VHlwZVtcInVybFwiXSA9IFwidXJsXCI7XHJcbiAgICBJbnB1dFR5cGVbXCJ0ZWxcIl0gPSBcInRlbFwiO1xyXG59KShJbnB1dFR5cGUgfHwgKElucHV0VHlwZSA9IHt9KSk7XHJcbmV4cG9ydCB2YXIgSW5wdXRJY29uUG9zaXRpb247XHJcbihmdW5jdGlvbiAoSW5wdXRJY29uUG9zaXRpb24pIHtcclxuICAgIElucHV0SWNvblBvc2l0aW9uW1widG9wXCJdID0gXCJ0b3BcIjtcclxuICAgIElucHV0SWNvblBvc2l0aW9uW1wibGVmdFwiXSA9IFwibGVmdFwiO1xyXG4gICAgSW5wdXRJY29uUG9zaXRpb25bXCJyaWdodFwiXSA9IFwicmlnaHRcIjtcclxufSkoSW5wdXRJY29uUG9zaXRpb24gfHwgKElucHV0SWNvblBvc2l0aW9uID0ge30pKTtcclxuZXhwb3J0IGNvbnN0IGlucHV0V3JhcHBlclN0eWxlcyA9IChwcm9wcykgPT4gY3NzIGBcbiAgZmxleDogMSAxIGF1dG87XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgd2lkdGg6ICR7cHJvcHMud2lkdGggfHwgJ2F1dG8nfTtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHtwcm9wcy5pc0ludmVyc2VcclxuICAgID8gdHJhbnNwYXJlbnRpemUoMC44LCBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDkwMClcclxuICAgIDogcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWwxMDB9O1xuICBib3JkZXItcmFkaXVzOiAke3Byb3BzLnRoZW1lLmJvcmRlclJhZGl1c307XG4gIGJvcmRlcjogMXB4IHNvbGlkXG4gICAgJHtwcm9wcy5pc0ludmVyc2VcclxuICAgID8gdHJhbnNwYXJlbnRpemUoMC41LCBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDEwMClcclxuICAgIDogcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWw1MDB9O1xuICBoZWlnaHQ6ICR7cHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDl9O1xuXG4gICY6Zm9jdXMtd2l0aGluIHtcbiAgICBvdXRsaW5lOiAycHggc29saWRcbiAgICAgICR7cHJvcHMuaXNJbnZlcnNlXHJcbiAgICA/IHByb3BzLnRoZW1lLmNvbG9ycy5mb2N1c0ludmVyc2VcclxuICAgIDogcHJvcHMudGhlbWUuY29sb3JzLmZvY3VzfTtcbiAgICBvdXRsaW5lLW9mZnNldDogLTFweDtcbiAgfVxuXG4gICR7cHJvcHMuaGFzRXJyb3IgJiZcclxuICAgIGNzcyBgXG4gICAgYm9yZGVyLWNvbG9yOiAke3Byb3BzLmlzSW52ZXJzZVxyXG4gICAgICAgID8gcHJvcHMudGhlbWUuY29sb3JzLmRhbmdlcjMwMFxyXG4gICAgICAgIDogcHJvcHMudGhlbWUuY29sb3JzLmRhbmdlcn07XG4gIGB9XG5cbiAgJHtwcm9wcy5kaXNhYmxlZCAmJlxyXG4gICAgY3NzIGBcbiAgICBib3JkZXItY29sb3I6ICR7cHJvcHMuaXNJbnZlcnNlXHJcbiAgICAgICAgPyB0cmFuc3BhcmVudGl6ZSgwLjg1LCBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDEwMClcclxuICAgICAgICA6IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsMzAwfTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAke3Byb3BzLmlzSW52ZXJzZVxyXG4gICAgICAgID8gdHJhbnNwYXJlbnRpemUoMC45LCBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDkwMClcclxuICAgICAgICA6IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsMjAwfTtcbiAgYH1cblxuICAke3Byb3BzLmlucHV0U2l6ZSA9PT0gJ2xhcmdlJyAmJlxyXG4gICAgY3NzIGBcbiAgICBoZWlnaHQ6ICR7cHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMTF9O1xuICBgfVxuYDtcclxuZnVuY3Rpb24gZ2V0SW5wdXRQYWRkaW5nKHByb3BzKSB7XHJcbiAgICBjb25zdCB7IGlucHV0U2l6ZSwgaXNDbGVhcmFibGUsIGljb25Qb3NpdGlvbiB9ID0gcHJvcHM7XHJcbiAgICBjb25zdCBwYWRkaW5nID0ge1xyXG4gICAgICAgIGxlZnQ6IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzAzLFxyXG4gICAgICAgIHJpZ2h0OiBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwMyxcclxuICAgIH07XHJcbiAgICBpZiAoaW5wdXRTaXplID09PSAnbGFyZ2UnKSB7XHJcbiAgICAgICAgaWYgKGlzQ2xlYXJhYmxlKSB7XHJcbiAgICAgICAgICAgIGlmIChpY29uUG9zaXRpb24gPT09ICdyaWdodCcpIHtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmcucmlnaHQgPSAnOTJweCc7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgZWxzZSBpZiAoaWNvblBvc2l0aW9uID09PSAnbGVmdCcpIHtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmcubGVmdCA9IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzExO1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy5yaWdodCA9IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzExO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgLy8gaWNvbiB0b3AsIG5vIGljb25cclxuICAgICAgICAgICAgICAgIHBhZGRpbmcucmlnaHQgPSBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcxMTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBlbHNlIHtcclxuICAgICAgICAgICAgaWYgKGljb25Qb3NpdGlvbiA9PT0gJ3JpZ2h0Jykge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy5yaWdodCA9IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzEwO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGlmIChpY29uUG9zaXRpb24gPT09ICdsZWZ0Jykge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy5sZWZ0ID0gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMTA7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICBlbHNlIGlmIChpbnB1dFNpemUgPT09ICdtZWRpdW0nKSB7XHJcbiAgICAgICAgaWYgKGlzQ2xlYXJhYmxlKSB7XHJcbiAgICAgICAgICAgIGlmIChpY29uUG9zaXRpb24gPT09ICdyaWdodCcpIHtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmcucmlnaHQgPSAnNjhweCc7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgZWxzZSBpZiAoaWNvblBvc2l0aW9uID09PSAnbGVmdCcpIHtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmcubGVmdCA9IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzA5O1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy5yaWdodCA9IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzA5O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgLy8gaWNvbiB0b3AsIG5vIGljb25cclxuICAgICAgICAgICAgICAgIHBhZGRpbmcucmlnaHQgPSBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwOTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBlbHNlIHtcclxuICAgICAgICAgICAgaWYgKGljb25Qb3NpdGlvbiA9PT0gJ3JpZ2h0Jykge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy5yaWdodCA9IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzA5O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGlmIChpY29uUG9zaXRpb24gPT09ICdsZWZ0Jykge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy5sZWZ0ID0gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICByZXR1cm4gcGFkZGluZztcclxufVxyXG5leHBvcnQgY29uc3QgaW5wdXRCYXNlU3R5bGVzID0gKHByb3BzKSA9PiBjc3MgYFxuICBib3JkZXI6IDA7XG4gIGJvcmRlci1yYWRpdXM6ICR7cHJvcHMudGhlbWUuYm9yZGVyUmFkaXVzfTtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIGNvbG9yOiAke3Byb3BzLmlzSW52ZXJzZVxyXG4gICAgPyBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDEwMFxyXG4gICAgOiBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDcwMH07XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBmb250LXNpemU6ICR7cHJvcHMudGhlbWUudHlwZVNjYWxlLnNpemUwMy5mb250U2l6ZX07XG4gIGxpbmUtaGVpZ2h0OiAke3Byb3BzLnRoZW1lLnR5cGVTY2FsZS5zaXplMDMubGluZUhlaWdodH07XG4gIGZvbnQtZmFtaWx5OiAke3Byb3BzLnRoZW1lLmJvZHlGb250fTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBwYWRkaW5nOiAke3Byb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzAzfTtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICB3aWR0aDogMTAwJTtcblxuICAke3Byb3BzLmlucHV0U2l6ZSA9PT0gJ2xhcmdlJyAmJlxyXG4gICAgY3NzIGBcbiAgICBmb250LXNpemU6ICR7cHJvcHMudGhlbWUudHlwZVNjYWxlLnNpemUwNC5mb250U2l6ZX07XG4gICAgbGluZS1oZWlnaHQ6ICR7cHJvcHMudGhlbWUudHlwZVNjYWxlLnNpemUwNC5saW5lSGVpZ2h0fTtcbiAgICBwYWRkaW5nOiAke3Byb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzA0fTtcbiAgYH1cblxuICBwYWRkaW5nLWxlZnQ6ICR7Z2V0SW5wdXRQYWRkaW5nKHByb3BzKS5sZWZ0fTtcbiAgcGFkZGluZy1yaWdodDogJHtnZXRJbnB1dFBhZGRpbmcocHJvcHMpLnJpZ2h0fTtcblxuICAmOjpwbGFjZWhvbGRlciB7XG4gICAgY29sb3I6ICR7cHJvcHMuaXNJbnZlcnNlXHJcbiAgICA/IHRyYW5zcGFyZW50aXplKDAuMywgcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWwxMDApXHJcbiAgICA6IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsNTAwfTtcbiAgfVxuXG4gICY6Zm9jdXMge1xuICAgIG91dGxpbmU6IDA7XG4gIH1cblxuICAmW3R5cGU9J3NlYXJjaCddIHtcbiAgICAmOjotd2Via2l0LXNlYXJjaC1kZWNvcmF0aW9uLFxuICAgICY6Oi13ZWJraXQtc2VhcmNoLWNhbmNlbC1idXR0b24sXG4gICAgJjo6LXdlYmtpdC1zZWFyY2gtcmVzdWx0cy1idXR0b24sXG4gICAgJjo6LXdlYmtpdC1zZWFyY2gtcmVzdWx0cy1kZWNvcmF0aW9uIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICB9XG5cbiAgJHtwcm9wcy5kaXNhYmxlZCAmJlxyXG4gICAgY3NzIGBcbiAgICBjb2xvcjogJHtwcm9wcy5pc0ludmVyc2VcclxuICAgICAgICA/IHRyYW5zcGFyZW50aXplKDAuNiwgcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWwxMDApXHJcbiAgICAgICAgOiB0cmFuc3BhcmVudGl6ZSgwLjQsIHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsNTAwKX07XG4gICAgY3Vyc29yOiBub3QtYWxsb3dlZDtcblxuICAgICY6OnBsYWNlaG9sZGVyIHtcbiAgICAgIGNvbG9yOiAke3Byb3BzLmlzSW52ZXJzZVxyXG4gICAgICAgID8gdHJhbnNwYXJlbnRpemUoMC44LCBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDEwMClcclxuICAgICAgICA6IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsNTAwfTtcbiAgICAgIG9wYWNpdHk6ICR7cHJvcHMuaXNJbnZlcnNlID8gMC40IDogMC42fTtcbiAgICB9XG4gIGB9XG5cbiAgJjotd2Via2l0LWF1dG9maWxsLFxuICAmOi13ZWJraXQtYXV0b2ZpbGw6Zm9jdXMsXG4gICY6LXdlYmtpdC1hdXRvZmlsbDpob3ZlcixcbiAgJjotd2Via2l0LWF1dG9maWxsOmFjdGl2ZSB7XG4gICAgYm94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xuICAgIC13ZWJraXQtYmFja2dyb3VuZC1jbGlwOiB0ZXh0O1xuICAgIC13ZWJraXQtdGV4dC1maWxsLWNvbG9yOiAke3Byb3BzLmlzSW52ZXJzZVxyXG4gICAgPyBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDEwMFxyXG4gICAgOiBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDcwMH0gIWltcG9ydGFudDtcbiAgICBjYXJldC1jb2xvcjogJHtwcm9wcy5pc0ludmVyc2VcclxuICAgID8gcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWwxMDBcclxuICAgIDogcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWw3MDB9ICFpbXBvcnRhbnQ7XG4gIH1cbmA7XHJcbmNvbnN0IElucHV0Q29udGFpbmVyID0gc3R5bGVkLmRpdiBgXG4gIGRpc3BsYXk6IGZsZXg7XG5gO1xyXG5leHBvcnQgY29uc3QgSW5wdXRXcmFwcGVyID0gc3R5bGVkLmRpdiBgXG4gICR7aW5wdXRXcmFwcGVyU3R5bGVzfVxuYDtcclxuY29uc3QgU3R5bGVkSW5wdXQgPSBzdHlsZWQuaW5wdXQgYFxuICAke2lucHV0QmFzZVN0eWxlc31cbmA7XHJcbmNvbnN0IEljb25XcmFwcGVyID0gc3R5bGVkLnNwYW4gYFxuICBib3R0b206ICR7cHJvcHMgPT4gKHByb3BzLmljb25Qb3NpdGlvbiA9PT0gJ3RvcCcgPyAnNDVweCcgOiAnaW5oZXJpdCcpfTtcbiAgY29sb3I6ICR7cHJvcHMgPT4gcHJvcHMuaXNJbnZlcnNlXHJcbiAgICA/IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsMTAwXHJcbiAgICA6IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsNzAwfTtcbiAgbGVmdDogJHtwcm9wcyA9PiBwcm9wcy5pY29uUG9zaXRpb24gPT09ICdsZWZ0JyA/IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzAzIDogJ2F1dG8nfTtcbiAgcmlnaHQ6ICR7cHJvcHMgPT4gcHJvcHMuaWNvblBvc2l0aW9uID09PSAncmlnaHQnXHJcbiAgICA/IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzAzXHJcbiAgICA6IHByb3BzLmljb25Qb3NpdGlvbiA9PT0gJ3RvcCdcclxuICAgICAgICA/ICczcHgnXHJcbiAgICAgICAgOiAnYXV0byd9O1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogJHtwcm9wcyA9PiBwcm9wcy5pY29uUG9zaXRpb24gPT09ICd0b3AnXHJcbiAgICA/ICdpbmhlcml0J1xyXG4gICAgOiBwcm9wcyA9PiBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwM307XG5cbiAgJHtwcm9wcyA9PiBwcm9wcy5pbnB1dFNpemUgPT09ICdsYXJnZScgJiZcclxuICAgIGNzcyBgXG4gICAgICBib3R0b206ICR7cHJvcHMuaWNvblBvc2l0aW9uID09PSAndG9wJyA/ICc2MnB4JyA6ICdpbmhlcml0J307XG4gICAgICBsZWZ0OiAke3Byb3BzLmljb25Qb3NpdGlvbiA9PT0gJ2xlZnQnXHJcbiAgICAgICAgPyBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwNFxyXG4gICAgICAgIDogJ2F1dG8nfTtcbiAgICAgIHJpZ2h0OiAke3Byb3BzLmljb25Qb3NpdGlvbiA9PT0gJ3JpZ2h0J1xyXG4gICAgICAgID8gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDRcclxuICAgICAgICA6IHByb3BzLmljb25Qb3NpdGlvbiA9PT0gJ3RvcCdcclxuICAgICAgICAgICAgPyAnM3B4J1xyXG4gICAgICAgICAgICA6ICdhdXRvJ307XG4gICAgICB0b3A6ICR7cHJvcHMuaWNvblBvc2l0aW9uID09PSAndG9wJ1xyXG4gICAgICAgID8gJ2luaGVyaXQnXHJcbiAgICAgICAgOiBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwNH07XG4gICAgYH1cbmA7XHJcbmZ1bmN0aW9uIGdldEljb25CdXR0b25TVkdTaXplKHByb3BzKSB7XHJcbiAgICBjb25zdCB7IGlzQ2xpY2thYmxlLCBpY29uUG9zaXRpb24sIGlucHV0U2l6ZSwgdGhlbWUgfSA9IHByb3BzO1xyXG4gICAgaWYgKGlzQ2xpY2thYmxlICYmIGljb25Qb3NpdGlvbiA9PT0gSW5wdXRJY29uUG9zaXRpb24udG9wKSB7XHJcbiAgICAgICAgaWYgKGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlKSB7XHJcbiAgICAgICAgICAgIHJldHVybiBgJHt0aGVtZS5pY29uU2l6ZXMubWVkaXVtfXB4YDtcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIGAke3RoZW1lLmljb25TaXplcy5zbWFsbH1weGA7XHJcbiAgICB9XHJcbiAgICBpZiAoaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2UpIHtcclxuICAgICAgICByZXR1cm4gYCR7dGhlbWUuaWNvblNpemVzLmxhcmdlfXB4YDtcclxuICAgIH1cclxuICAgIHJldHVybiBgJHt0aGVtZS5pY29uU2l6ZXMubWVkaXVtfXB4YDtcclxufVxyXG5mdW5jdGlvbiBnZXRIZWxwTGlua1NWR1NpemUocHJvcHMpIHtcclxuICAgIGNvbnN0IHsgaW5wdXRTaXplLCB0aGVtZSB9ID0gcHJvcHM7XHJcbiAgICBpZiAoaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2UpIHtcclxuICAgICAgICByZXR1cm4gYCR7dGhlbWUuaWNvblNpemVzLm1lZGl1bX1weGA7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gYCR7dGhlbWUuaWNvblNpemVzLnNtYWxsfXB4YDtcclxufVxyXG5leHBvcnQgZnVuY3Rpb24gZ2V0SGVscEljb25CdXR0b25TaXplKHByb3BzKSB7XHJcbiAgICBjb25zdCB7IGlucHV0U2l6ZSwgdGhlbWUgfSA9IHByb3BzO1xyXG4gICAgaWYgKGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlKSB7XHJcbiAgICAgICAgcmV0dXJuIHRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzA5O1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIHRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzA3O1xyXG59XHJcbmZ1bmN0aW9uIGdldEljb25CdXR0b25UcmFuc2Zvcm0ocHJvcHMpIHtcclxuICAgIGNvbnN0IHsgaXNDbGlja2FibGUsIGljb25Qb3NpdGlvbiwgaW5wdXRTaXplLCBoYXNDaGlsZHJlbiwgdGhlbWUgfSA9IHByb3BzO1xyXG4gICAgY29uc3QgcG9zaXRpb24gPSB7IHg6ICcnLCB5OiAnJyB9O1xyXG4gICAgaWYgKGljb25Qb3NpdGlvbiA9PT0gSW5wdXRJY29uUG9zaXRpb24udG9wKSB7XHJcbiAgICAgICAgaWYgKGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlKSB7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uLnggPSAnLTMwcHgnO1xyXG4gICAgICAgICAgICBwb3NpdGlvbi55ID0gJzJweCc7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2UgaWYgKGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLm1lZGl1bSkge1xyXG4gICAgICAgICAgICBwb3NpdGlvbi54ID0gJy0yOHB4JztcclxuICAgICAgICAgICAgcG9zaXRpb24ueSA9ICc1cHgnO1xyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gcG9zaXRpb247XHJcbiAgICB9XHJcbiAgICBpZiAoaXNDbGlja2FibGUpIHtcclxuICAgICAgICBpZiAoaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2UpIHtcclxuICAgICAgICAgICAgaWYgKGhhc0NoaWxkcmVuKSB7XHJcbiAgICAgICAgICAgICAgICBwb3NpdGlvbi54ID0gJy00M3B4JztcclxuICAgICAgICAgICAgICAgIHBvc2l0aW9uLnkgPSAnMTRweCc7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICAgICAgICBwb3NpdGlvbi54ID0gJy00OXB4JztcclxuICAgICAgICAgICAgICAgIHBvc2l0aW9uLnkgPSAnOHB4JztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBlbHNlIGlmIChpbnB1dFNpemUgPT09IElucHV0U2l6ZS5tZWRpdW0pIHtcclxuICAgICAgICAgICAgcG9zaXRpb24ueCA9ICctMzVweCc7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uLnkgPSAnNnB4JztcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIHBvc2l0aW9uO1xyXG4gICAgfVxyXG4gICAgaWYgKGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlKSB7XHJcbiAgICAgICAgcG9zaXRpb24ueCA9IGAtJHt0aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcxMH1gO1xyXG4gICAgICAgIHBvc2l0aW9uLnkgPSB0aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwMztcclxuICAgIH1cclxuICAgIGVsc2UgaWYgKGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLm1lZGl1bSkge1xyXG4gICAgICAgIHBvc2l0aW9uLnggPSAnLTI0cHgnO1xyXG4gICAgICAgIHBvc2l0aW9uLnkgPSAnN3B4JztcclxuICAgIH1cclxuICAgIHJldHVybiBwb3NpdGlvbjtcclxufVxyXG5leHBvcnQgY29uc3QgSWNvbkJ1dHRvbkNvbnRhaW5lciA9IHN0eWxlZC5zcGFuIGBcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGJvdHRvbTogJHtwcm9wcyA9PiAocHJvcHMuaWNvblBvc2l0aW9uID09PSAndG9wJyA/ICc0MHB4JyA6ICdpbmhlcml0Jyl9O1xuICBoZWlnaHQ6IGF1dG87XG4gIG1hcmdpbjogMDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aWR0aDogMDtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoXG4gICAgJHtwcm9wcyA9PiBnZXRJY29uQnV0dG9uVHJhbnNmb3JtKHByb3BzKS54fSxcbiAgICAke3Byb3BzID0+IGdldEljb25CdXR0b25UcmFuc2Zvcm0ocHJvcHMpLnl9XG4gICk7XG4gIHN2ZyB7XG4gICAgaGVpZ2h0OiAke3Byb3BzID0+IGdldEljb25CdXR0b25TVkdTaXplKHByb3BzKX07XG4gICAgd2lkdGg6ICR7cHJvcHMgPT4gZ2V0SWNvbkJ1dHRvblNWR1NpemUocHJvcHMpfTtcbiAgfVxuYDtcclxuY29uc3QgUGFzc3dvcmRCdXR0b25Db250YWluZXIgPSBzdHlsZWQuc3BhbiBgXG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICB3aWR0aDogMDtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoXG4gICAgJHtwcm9wcyA9PiBwcm9wcy5zaXplID09PSBJbnB1dFNpemUubGFyZ2VcclxuICAgID8gYCR7LXByb3BzLmJ1dHRvbldpZHRoIC0gOH1weGBcclxuICAgIDogYCR7LXByb3BzLmJ1dHRvbldpZHRoIC0gNn1weGB9LFxuICAgICR7cHJvcHMgPT4gcHJvcHMuc2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlID8gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDMgOiAnNnB4J31cbiAgKTtcbmA7XHJcbmZ1bmN0aW9uIGdldENsZWFyYWJsZVBvc2l0aW9uKHByb3BzKSB7XHJcbiAgICBpZiAocHJvcHMuaWNvblBvc2l0aW9uID09PSAncmlnaHQnICYmIHByb3BzLmljb24pIHtcclxuICAgICAgICBpZiAocHJvcHMuaW5wdXRTaXplID09PSAnbGFyZ2UnKSB7XHJcbiAgICAgICAgICAgIHJldHVybiBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcxMztcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuICc3MnB4JztcclxuICAgIH1cclxuICAgIGlmIChwcm9wcy5pbnB1dFNpemUgPT09ICdsYXJnZScpIHtcclxuICAgICAgICByZXR1cm4gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMTA7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gJzM0cHgnO1xyXG59XHJcbmNvbnN0IElzQ2xlYXJhYmxlQ29udGFpbmVyID0gc3R5bGVkLnNwYW4gYFxuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgbWFyZ2luOiAwO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGhlaWdodDogYXV0bztcbiAgd2lkdGg6IDA7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKFxuICAgIC0ke3Byb3BzID0+IGdldENsZWFyYWJsZVBvc2l0aW9uKHByb3BzKX0sXG4gICAgJHtwcm9wcyA9PiBwcm9wcy5pbnB1dFNpemUgPT09IElucHV0U2l6ZS5sYXJnZVxyXG4gICAgPyBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwM1xyXG4gICAgOiAnNnB4J31cbiAgKTtcbmA7XHJcbmZ1bmN0aW9uIGdldEljb25TaXplKHNpemUsIHRoZW1lLCBpY29uUG9zaXRpb24pIHtcclxuICAgIHN3aXRjaCAoc2l6ZSkge1xyXG4gICAgICAgIGNhc2UgJ2xhcmdlJzpcclxuICAgICAgICAgICAgaWYgKGljb25Qb3NpdGlvbiA9PT0gSW5wdXRJY29uUG9zaXRpb24udG9wKSB7XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gdGhlbWUuaWNvblNpemVzLm1lZGl1bTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICByZXR1cm4gdGhlbWUuaWNvblNpemVzLmxhcmdlO1xyXG4gICAgICAgIGRlZmF1bHQ6XHJcbiAgICAgICAgICAgIGlmIChpY29uUG9zaXRpb24gPT09IElucHV0SWNvblBvc2l0aW9uLnRvcCkge1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuIHRoZW1lLmljb25TaXplcy5zbWFsbDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICByZXR1cm4gdGhlbWUuaWNvblNpemVzLm1lZGl1bTtcclxuICAgIH1cclxufVxyXG5leHBvcnQgY29uc3QgaXNMZWZ0T3JIaWRkZW4gPSAoeyBsYWJlbFBvc2l0aW9uLCBpc0xhYmVsVmlzdWFsbHlIaWRkZW4sIH0pID0+IGxhYmVsUG9zaXRpb24gPT09IExhYmVsUG9zaXRpb24ubGVmdCB8fCBpc0xhYmVsVmlzdWFsbHlIaWRkZW47XHJcbmV4cG9ydCBjb25zdCBIZWxwTGlua0NvbnRhaW5lciA9IHN0eWxlZC5zcGFuIGBcbiAgcG9zaXRpb246ICR7cHJvcHMgPT4gKGlzTGVmdE9ySGlkZGVuKHByb3BzKSA/ICdyZWxhdGl2ZScgOiAnYWJzb2x1dGUnKX07XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXG4gIGhlaWdodDogJHtwcm9wcyA9PiAoaXNMZWZ0T3JIaWRkZW4ocHJvcHMpID8gJ2F1dG8nIDogJ2ZpdC1jb250ZW50Jyl9O1xuICBtYXJnaW4taW5saW5lLXN0YXJ0OiAke3Byb3BzID0+IGlzTGVmdE9ySGlkZGVuKHByb3BzKSA/IGAke3Byb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzAzfWAgOiAnYXV0byd9O1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoXG4gICAgJHtwcm9wcyA9PiBpc0xlZnRPckhpZGRlbihwcm9wcylcclxuICAgID8gJzAnXHJcbiAgICA6IGBjYWxjKC0xMDAlIC0gJHtwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwM30pYH1cbiAgKTtcbiAgJHtDaGlsZHJlbldyYXBwZXJ9ID4gc3ZnIHtcbiAgICBoZWlnaHQ6ICR7cHJvcHMgPT4gZ2V0SGVscExpbmtTVkdTaXplKHByb3BzKX07XG4gICAgd2lkdGg6ICR7cHJvcHMgPT4gZ2V0SGVscExpbmtTVkdTaXplKHByb3BzKX07XG4gIH1cbiAgYnV0dG9uIHtcbiAgICBoZWlnaHQ6ICR7cHJvcHMgPT4gZ2V0SGVscEljb25CdXR0b25TaXplKHByb3BzKX07XG4gICAgd2lkdGg6ICR7cHJvcHMgPT4gZ2V0SGVscEljb25CdXR0b25TaXplKHByb3BzKX07XG4gIH1cbiAgaW5zZXQtaW5saW5lLWVuZDogJHtwcm9wcyA9PiAoaXNMZWZ0T3JIaWRkZW4ocHJvcHMpID8gJ2F1dG8nIDogJzAnKX07XG5gO1xyXG5leHBvcnQgY29uc3QgSW5wdXRCYXNlID0gUmVhY3QuZm9yd2FyZFJlZigocHJvcHMsIGZvcndhcmRlZFJlZikgPT4ge1xyXG4gICAgY29uc3QgeyBjaGlsZHJlbiwgY29udGFpbmVyU3R5bGUsIGRlZmF1bHRWYWx1ZSwgZGlzYWJsZWQsIGhhc0NoYXJhY3RlckNvdW50ZXIsIGhhc0Vycm9yLCBpY29uLCBpY29uQXJpYUxhYmVsLCBpY29uUmVmLCBpc0NsZWFyYWJsZSwgaXNQYXNzd29yZElucHV0LCBpc1ByZWRpY3RpdmUsIG1heENvdW50LCBtYXhMZW5ndGgsIG9uQ2xlYXIsIG9uSWNvbkNsaWNrLCBvbkljb25LZXlEb3duLCBvbkRhdGVDaGFuZ2UsIGlucHV0TGVuZ3RoLCBpbnB1dFNpemUsIGlucHV0U3R5bGUsIGlucHV0V3JhcHBlclN0eWxlLCB0ZXN0SWQsIHR5cGUsIHNldFJlZmVyZW5jZSwgaXNMYWJlbFZpc3VhbGx5SGlkZGVuLCBsYWJlbFBvc2l0aW9uLCAuLi5vdGhlciB9ID0gcHJvcHM7XHJcbiAgICBjb25zdCBpMThuID0gUmVhY3QudXNlQ29udGV4dChJMThuQ29udGV4dCk7XHJcbiAgICBjb25zdCB0aGVtZSA9IFJlYWN0LnVzZUNvbnRleHQoVGhlbWVDb250ZXh0KTtcclxuICAgIGNvbnN0IGljb25Qb3NpdGlvbiA9IGljb24gJiYgb25JY29uQ2xpY2tcclxuICAgICAgICA/IElucHV0SWNvblBvc2l0aW9uLnJpZ2h0XHJcbiAgICAgICAgOiBpY29uICYmICFwcm9wcy5pY29uUG9zaXRpb25cclxuICAgICAgICAgICAgPyBJbnB1dEljb25Qb3NpdGlvbi5sZWZ0XHJcbiAgICAgICAgICAgIDogcHJvcHMuaWNvblBvc2l0aW9uO1xyXG4gICAgY29uc3QgW3ZhbHVlLCBzZXRWYWx1ZV0gPSBSZWFjdC51c2VTdGF0ZShwcm9wcy5kZWZhdWx0VmFsdWUgIT09IHVuZGVmaW5lZCAmJiBwcm9wcy5kZWZhdWx0VmFsdWUgIT09IG51bGxcclxuICAgICAgICA/IHByb3BzLmRlZmF1bHRWYWx1ZVxyXG4gICAgICAgIDogcHJvcHMudmFsdWUgfHwgJycpO1xyXG4gICAgY29uc3QgbWF4TGVuZ3RoTnVtID0gIWhhc0NoYXJhY3RlckNvdW50ZXIgJiYgbWF4TGVuZ3RoID8gbWF4TGVuZ3RoIDogdW5kZWZpbmVkO1xyXG4gICAgUmVhY3QudXNlRWZmZWN0KCgpID0+IHtcclxuICAgICAgICBpZiAocHJvcHMudmFsdWUgIT09IHVuZGVmaW5lZCAmJiBwcm9wcy52YWx1ZSAhPT0gbnVsbCkge1xyXG4gICAgICAgICAgICBzZXRWYWx1ZShwcm9wcy52YWx1ZSk7XHJcbiAgICAgICAgfVxyXG4gICAgfSwgW3Byb3BzLnZhbHVlXSk7XHJcbiAgICBjb25zdCBpbnB1dFJlZiA9IFJlYWN0LnVzZVJlZigpO1xyXG4gICAgY29uc3QgcmVmID0gdXNlRm9ya2VkUmVmKGZvcndhcmRlZFJlZiwgaW5wdXRSZWYpO1xyXG4gICAgZnVuY3Rpb24gaGFuZGxlQ2xlYXJJbnB1dCgpIHtcclxuICAgICAgICBvbkNsZWFyICYmIHR5cGVvZiBvbkNsZWFyID09PSAnZnVuY3Rpb24nICYmIG9uQ2xlYXIoKTtcclxuICAgICAgICBzZXRWYWx1ZSgnJyk7XHJcbiAgICAgICAgb25EYXRlQ2hhbmdlICYmIHR5cGVvZiBvbkRhdGVDaGFuZ2UgPT09ICdmdW5jdGlvbicgJiYgb25EYXRlQ2hhbmdlKG51bGwpO1xyXG4gICAgICAgIGlucHV0UmVmLmN1cnJlbnQuZm9jdXMoKTtcclxuICAgIH1cclxuICAgIGZ1bmN0aW9uIGhhbmRsZUNoYW5nZShldmVudCkge1xyXG4gICAgICAgIHByb3BzLm9uQ2hhbmdlICYmXHJcbiAgICAgICAgICAgIHR5cGVvZiBwcm9wcy5vbkNoYW5nZSA9PT0gJ2Z1bmN0aW9uJyAmJlxyXG4gICAgICAgICAgICBwcm9wcy5vbkNoYW5nZShldmVudCk7XHJcbiAgICAgICAgc2V0VmFsdWUoZXZlbnQudGFyZ2V0LnZhbHVlKTtcclxuICAgICAgICBpZiAoIWV2ZW50LnRhcmdldC52YWx1ZSAmJlxyXG4gICAgICAgICAgICBvbkRhdGVDaGFuZ2UgJiZcclxuICAgICAgICAgICAgdHlwZW9mIG9uRGF0ZUNoYW5nZSA9PT0gJ2Z1bmN0aW9uJylcclxuICAgICAgICAgICAgb25EYXRlQ2hhbmdlKG51bGwpO1xyXG4gICAgfVxyXG4gICAgY29uc3QgcGFzc3dvcmRCdG5XaWR0aCA9ICgpID0+IHtcclxuICAgICAgICBjb25zdCBidG5XaWR0aCA9IGNoaWxkcmVuPy5wcm9wcz8uY2hpbGRyZW4/LlswXT8ucmVmPy5jdXJyZW50Py5vZmZzZXRXaWR0aDtcclxuICAgICAgICBpZiAodHlwZW9mIGJ0bldpZHRoID09PSAnbnVtYmVyJykge1xyXG4gICAgICAgICAgICByZXR1cm4gYnRuV2lkdGg7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgICAvLyBXaGVuIFBhc3N3b3JkQnV0dG9uIGlzIHVzZWQgaW5zaWRlIFNjaGVtYVJlbmRlcmVyLCBpdCBkb2Vzbid0IGhhdmUgY2hpbGRyZW4uXHJcbiAgICAgICAgICAgIC8vIFdlJ2xsIHVzZSB0aGUgZGVmYXVsdCBidXR0b24gc2l6ZXMuXHJcbiAgICAgICAgICAgIGlmIChwcm9wcy5pbnB1dFNpemUgPT09IElucHV0U2l6ZS5sYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuIDY0O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHJldHVybiA1NDtcclxuICAgICAgICB9XHJcbiAgICB9O1xyXG4gICAgcmV0dXJuIChSZWFjdC5jcmVhdGVFbGVtZW50KFwiZGl2XCIsIHsgcmVmOiBzZXRSZWZlcmVuY2UgfSxcclxuICAgICAgICBSZWFjdC5jcmVhdGVFbGVtZW50KElucHV0Q29udGFpbmVyLCB7IHN0eWxlOiBpbnB1dFdyYXBwZXJTdHlsZSwgXCJkYXRhLXRlc3RpZFwiOiBgJHt0ZXN0SWR9LXdyYXBwZXJgIH0sXHJcbiAgICAgICAgICAgIFJlYWN0LmNyZWF0ZUVsZW1lbnQoSW5wdXRXcmFwcGVyLCB7IGRpc2FibGVkOiBkaXNhYmxlZCwgaWNvblBvc2l0aW9uOiBpY29uUG9zaXRpb24sIGlzSW52ZXJzZTogcHJvcHMuaXNJbnZlcnNlLCBpbnB1dFNpemU6IGlucHV0U2l6ZSA/PyBJbnB1dFNpemUubWVkaXVtLCB0aGVtZTogdGhlbWUsIHN0eWxlOiBjb250YWluZXJTdHlsZSwgaGFzRXJyb3I6IGhhc0Vycm9yLCBpc0NsZWFyYWJsZTogaXNDbGVhcmFibGUsIHdpZHRoOiBwcm9wcy53aWR0aCB9LFxyXG4gICAgICAgICAgICAgICAgUmVhY3QuY3JlYXRlRWxlbWVudChTdHlsZWRJbnB1dCwgT2JqZWN0LmFzc2lnbih7fSwgb3RoZXIsIHsgXCJhcmlhLWludmFsaWRcIjogaGFzRXJyb3IsIGRpc2FibGVkOiBkaXNhYmxlZCwgXCJkYXRhLXRlc3RpZFwiOiB0ZXN0SWQsIGhhc0NoYXJhY3RlckNvdW50ZXI6IGhhc0NoYXJhY3RlckNvdW50ZXIsIGljb25Qb3NpdGlvbjogaWNvblBvc2l0aW9uLCBpbnB1dFNpemU6IGlucHV0U2l6ZSA/PyBJbnB1dFNpemUubWVkaXVtLCBpc0NsZWFyYWJsZTogdHlwZSA9PT0gSW5wdXRUeXBlLnNlYXJjaFxyXG4gICAgICAgICAgICAgICAgICAgICAgICA/IGlzQ2xlYXJhYmxlXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDogaW5wdXRXcmFwcGVyU3R5bGU/LndpZHRoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA/IGlzQ2xlYXJhYmxlXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IGlzQ2xlYXJhYmxlICYmIGlucHV0TGVuZ3RoID4gMCwgaXNJbnZlcnNlOiB1c2VJc0ludmVyc2UocHJvcHMuaXNJbnZlcnNlKSwgaXNQcmVkaWN0aXZlOiBpc1ByZWRpY3RpdmUsIGhhc0Vycm9yOiBoYXNFcnJvciwgcmVmOiByZWYsIG1heExlbmd0aDogbWF4TGVuZ3RoTnVtLCBvbkNoYW5nZTogaGFuZGxlQ2hhbmdlLCBzdHlsZTogaW5wdXRTdHlsZSwgdGhlbWU6IHRoZW1lLCB0eXBlOiB0eXBlID8gdHlwZSA6IElucHV0VHlwZS50ZXh0LCB2YWx1ZTogdmFsdWUgfSkpLFxyXG4gICAgICAgICAgICAgICAgaWNvbiAmJiAhb25JY29uQ2xpY2sgJiYgKFJlYWN0LmNyZWF0ZUVsZW1lbnQoSWNvbldyYXBwZXIsIHsgXCJhcmlhLWxhYmVsXCI6IGljb25BcmlhTGFiZWwsIGljb25Qb3NpdGlvbjogaWNvblBvc2l0aW9uLCBpbnB1dFNpemU6IGlucHV0U2l6ZSA/PyBJbnB1dFNpemUubWVkaXVtLCBpc0ludmVyc2U6IHByb3BzLmlzSW52ZXJzZSwgaXNQcmVkaWN0aXZlOiBpc1ByZWRpY3RpdmUsIHRoZW1lOiB0aGVtZSwgZGlzYWJsZWQ6IGRpc2FibGVkIH0sIFJlYWN0LkNoaWxkcmVuLm9ubHkoUmVhY3QuY2xvbmVFbGVtZW50KGljb24sIHtcclxuICAgICAgICAgICAgICAgICAgICBzaXplOiBnZXRJY29uU2l6ZShpbnB1dFNpemUgPz8gSW5wdXRTaXplLm1lZGl1bSwgdGhlbWUsIGljb25Qb3NpdGlvbiksXHJcbiAgICAgICAgICAgICAgICB9KSkpKSksXHJcbiAgICAgICAgICAgIGlzQ2xlYXJhYmxlICYmIHZhbHVlICE9PSAnJyAmJiAoUmVhY3QuY3JlYXRlRWxlbWVudChJc0NsZWFyYWJsZUNvbnRhaW5lciwgeyB0aGVtZTogdGhlbWUsIGljb25Qb3NpdGlvbjogaWNvblBvc2l0aW9uLCBpbnB1dFNpemU6IGlucHV0U2l6ZSwgaWNvbjogaWNvbiB9LFxyXG4gICAgICAgICAgICAgICAgUmVhY3QuY3JlYXRlRWxlbWVudChJY29uQnV0dG9uLCB7IFwiYXJpYS1sYWJlbFwiOiBpMThuLmlucHV0LmlzQ2xlYXJhYmxlQXJpYUxhYmVsLCBkaXNhYmxlZDogZGlzYWJsZWQsIGljb246IFJlYWN0LmNyZWF0ZUVsZW1lbnQoQ2xlYXJJY29uLCBudWxsKSwgaXNJbnZlcnNlOiBwcm9wcy5pc0ludmVyc2UsIG9uQ2xpY2s6IGhhbmRsZUNsZWFySW5wdXQsIG9uS2V5RG93bjogb25JY29uS2V5RG93biwgcmVmOiBpY29uUmVmLCBzaGFwZTogQnV0dG9uU2hhcGUuZmlsbCwgc2l6ZTogaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2VcclxuICAgICAgICAgICAgICAgICAgICAgICAgPyBCdXR0b25TaXplLm1lZGl1bVxyXG4gICAgICAgICAgICAgICAgICAgICAgICA6IEJ1dHRvblNpemUuc21hbGwsIHRlc3RJZDogXCJjbGVhci1idXR0b25cIiwgdHlwZTogQnV0dG9uVHlwZS5idXR0b24sIHZhcmlhbnQ6IEJ1dHRvblZhcmlhbnQubGluayB9KSkpLFxyXG4gICAgICAgICAgICBvbkljb25DbGljayAmJiAoUmVhY3QuY3JlYXRlRWxlbWVudChJY29uQnV0dG9uQ29udGFpbmVyLCB7IGljb25Qb3NpdGlvbjogaWNvblBvc2l0aW9uLCBpbnB1dFNpemU6IGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlXHJcbiAgICAgICAgICAgICAgICAgICAgPyBJbnB1dFNpemUubGFyZ2VcclxuICAgICAgICAgICAgICAgICAgICA6IElucHV0U2l6ZS5tZWRpdW0sIHRoZW1lOiB0aGVtZSwgaXNDbGlja2FibGU6IHRydWUgfSxcclxuICAgICAgICAgICAgICAgIFJlYWN0LmNyZWF0ZUVsZW1lbnQoSWNvbkJ1dHRvbiwgeyBcImFyaWEtbGFiZWxcIjogaWNvbkFyaWFMYWJlbCwgaWNvbjogaWNvbiwgaXNJbnZlcnNlOiBwcm9wcy5pc0ludmVyc2UsIG9uQ2xpY2s6IG9uSWNvbkNsaWNrLCBvbktleURvd246IG9uSWNvbktleURvd24sIHJlZjogaWNvblJlZiwgZGlzYWJsZWQ6IGRpc2FibGVkLCBzaGFwZTogQnV0dG9uU2hhcGUuZmlsbCwgc2l6ZTogaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2VcclxuICAgICAgICAgICAgICAgICAgICAgICAgPyBCdXR0b25TaXplLm1lZGl1bVxyXG4gICAgICAgICAgICAgICAgICAgICAgICA6IEJ1dHRvblNpemUuc21hbGwsIHR5cGU6IEJ1dHRvblR5cGUuYnV0dG9uLCB2YXJpYW50OiBCdXR0b25WYXJpYW50LmxpbmsgfSkpKSxcclxuICAgICAgICAgICAgaXNQYXNzd29yZElucHV0ID8gKFJlYWN0LmNyZWF0ZUVsZW1lbnQoUGFzc3dvcmRCdXR0b25Db250YWluZXIsIHsgc2l6ZTogaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2VcclxuICAgICAgICAgICAgICAgICAgICA/IElucHV0U2l6ZS5sYXJnZVxyXG4gICAgICAgICAgICAgICAgICAgIDogSW5wdXRTaXplLm1lZGl1bSwgdGhlbWU6IHRoZW1lLCBidXR0b25XaWR0aDogcGFzc3dvcmRCdG5XaWR0aCgpIH0sIGNoaWxkcmVuKSkgOiAoUmVhY3QuY3JlYXRlRWxlbWVudChIZWxwTGlua0NvbnRhaW5lciwgeyBpc0xhYmVsVmlzdWFsbHlIaWRkZW46IGlzTGFiZWxWaXN1YWxseUhpZGRlbiB8fCBmYWxzZSwgaW5wdXRTaXplOiBpbnB1dFNpemUgPz8gSW5wdXRTaXplLm1lZGl1bSwgbGFiZWxQb3NpdGlvbjogbGFiZWxQb3NpdGlvbiA/PyBMYWJlbFBvc2l0aW9uLnRvcCwgdGhlbWU6IHRoZW1lIH0sIGNoaWxkcmVuKSkpKSk7XHJcbn0pO1xyXG4vLyMgc291cmNlTWFwcGluZ1VSTD1pbmRleC5qcy5tYXAiXX0= */"));
|
|
4938
|
+
})(inputWrapperStyles, ";" + (process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImluZGV4LnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFvTnVDIiwiZmlsZSI6ImluZGV4LnRzeCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIFJlYWN0IGZyb20gJ3JlYWN0JztcclxuaW1wb3J0IHsgY3NzIH0gZnJvbSAnQGVtb3Rpb24vcmVhY3QnO1xyXG5pbXBvcnQgc3R5bGVkIGZyb20gJ0BlbW90aW9uL3N0eWxlZCc7XHJcbmltcG9ydCB7IHRyYW5zcGFyZW50aXplIH0gZnJvbSAncG9saXNoZWQnO1xyXG5pbXBvcnQgeyBDbGVhckljb24gfSBmcm9tICdyZWFjdC1tYWdtYS1pY29ucyc7XHJcbmltcG9ydCB7IEkxOG5Db250ZXh0IH0gZnJvbSAnLi4vLi4vaTE4bic7XHJcbmltcG9ydCB7IHVzZUlzSW52ZXJzZSB9IGZyb20gJy4uLy4uL2ludmVyc2UnO1xyXG5pbXBvcnQgeyBUaGVtZUNvbnRleHQgfSBmcm9tICcuLi8uLi90aGVtZS9UaGVtZUNvbnRleHQnO1xyXG5pbXBvcnQgeyB1c2VGb3JrZWRSZWYgfSBmcm9tICcuLi8uLi91dGlscyc7XHJcbmltcG9ydCB7IEJ1dHRvblNoYXBlLCBCdXR0b25TaXplLCBCdXR0b25UeXBlLCBCdXR0b25WYXJpYW50IH0gZnJvbSAnLi4vQnV0dG9uJztcclxuaW1wb3J0IHsgSWNvbkJ1dHRvbiB9IGZyb20gJy4uL0ljb25CdXR0b24nO1xyXG5pbXBvcnQgeyBMYWJlbFBvc2l0aW9uIH0gZnJvbSAnLi4vTGFiZWwnO1xyXG5pbXBvcnQgeyBDaGlsZHJlbldyYXBwZXIgfSBmcm9tICcuLi9TdHlsZWRCdXR0b24nO1xyXG5leHBvcnQgdmFyIElucHV0U2l6ZTtcclxuKGZ1bmN0aW9uIChJbnB1dFNpemUpIHtcclxuICAgIElucHV0U2l6ZVtcImxhcmdlXCJdID0gXCJsYXJnZVwiO1xyXG4gICAgSW5wdXRTaXplW1wibWVkaXVtXCJdID0gXCJtZWRpdW1cIjtcclxufSkoSW5wdXRTaXplIHx8IChJbnB1dFNpemUgPSB7fSkpO1xyXG5leHBvcnQgdmFyIElucHV0VHlwZTtcclxuKGZ1bmN0aW9uIChJbnB1dFR5cGUpIHtcclxuICAgIElucHV0VHlwZVtcImVtYWlsXCJdID0gXCJlbWFpbFwiO1xyXG4gICAgSW5wdXRUeXBlW1wiZmlsZVwiXSA9IFwiZmlsZVwiO1xyXG4gICAgSW5wdXRUeXBlW1wibnVtYmVyXCJdID0gXCJudW1iZXJcIjtcclxuICAgIElucHV0VHlwZVtcInBhc3N3b3JkXCJdID0gXCJwYXNzd29yZFwiO1xyXG4gICAgSW5wdXRUeXBlW1wic2VhcmNoXCJdID0gXCJzZWFyY2hcIjtcclxuICAgIElucHV0VHlwZVtcInRleHRcIl0gPSBcInRleHRcIjtcclxuICAgIElucHV0VHlwZVtcInVybFwiXSA9IFwidXJsXCI7XHJcbiAgICBJbnB1dFR5cGVbXCJ0ZWxcIl0gPSBcInRlbFwiO1xyXG59KShJbnB1dFR5cGUgfHwgKElucHV0VHlwZSA9IHt9KSk7XHJcbmV4cG9ydCB2YXIgSW5wdXRJY29uUG9zaXRpb247XHJcbihmdW5jdGlvbiAoSW5wdXRJY29uUG9zaXRpb24pIHtcclxuICAgIElucHV0SWNvblBvc2l0aW9uW1widG9wXCJdID0gXCJ0b3BcIjtcclxuICAgIElucHV0SWNvblBvc2l0aW9uW1wibGVmdFwiXSA9IFwibGVmdFwiO1xyXG4gICAgSW5wdXRJY29uUG9zaXRpb25bXCJyaWdodFwiXSA9IFwicmlnaHRcIjtcclxufSkoSW5wdXRJY29uUG9zaXRpb24gfHwgKElucHV0SWNvblBvc2l0aW9uID0ge30pKTtcclxuZXhwb3J0IGNvbnN0IGlucHV0V3JhcHBlclN0eWxlcyA9IChwcm9wcykgPT4gY3NzIGBcbiAgZmxleDogMSAxIGF1dG87XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgd2lkdGg6ICR7cHJvcHMud2lkdGggfHwgJ2F1dG8nfTtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHtwcm9wcy5pc0ludmVyc2VcclxuICAgID8gdHJhbnNwYXJlbnRpemUoMC44LCBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDkwMClcclxuICAgIDogcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWwxMDB9O1xuICBib3JkZXItcmFkaXVzOiAke3Byb3BzLnRoZW1lLmJvcmRlclJhZGl1c307XG4gIGJvcmRlcjogMXB4IHNvbGlkXG4gICAgJHtwcm9wcy5pc0ludmVyc2VcclxuICAgID8gdHJhbnNwYXJlbnRpemUoMC41LCBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDEwMClcclxuICAgIDogcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWw1MDB9O1xuICBoZWlnaHQ6ICR7cHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDl9O1xuXG4gICY6Zm9jdXMtd2l0aGluIHtcbiAgICBvdXRsaW5lOiAycHggc29saWRcbiAgICAgICR7cHJvcHMuaXNJbnZlcnNlXHJcbiAgICA/IHByb3BzLnRoZW1lLmNvbG9ycy5mb2N1c0ludmVyc2VcclxuICAgIDogcHJvcHMudGhlbWUuY29sb3JzLmZvY3VzfTtcbiAgICBvdXRsaW5lLW9mZnNldDogLTFweDtcbiAgfVxuXG4gICR7cHJvcHMuaGFzRXJyb3IgJiZcclxuICAgIGNzcyBgXG4gICAgYm9yZGVyLWNvbG9yOiAke3Byb3BzLmlzSW52ZXJzZVxyXG4gICAgICAgID8gcHJvcHMudGhlbWUuY29sb3JzLmRhbmdlcjMwMFxyXG4gICAgICAgIDogcHJvcHMudGhlbWUuY29sb3JzLmRhbmdlcn07XG4gIGB9XG5cbiAgJHtwcm9wcy5kaXNhYmxlZCAmJlxyXG4gICAgY3NzIGBcbiAgICBib3JkZXItY29sb3I6ICR7cHJvcHMuaXNJbnZlcnNlXHJcbiAgICAgICAgPyB0cmFuc3BhcmVudGl6ZSgwLjg1LCBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDEwMClcclxuICAgICAgICA6IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsMzAwfTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAke3Byb3BzLmlzSW52ZXJzZVxyXG4gICAgICAgID8gdHJhbnNwYXJlbnRpemUoMC45LCBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDkwMClcclxuICAgICAgICA6IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsMjAwfTtcbiAgYH1cblxuICAke3Byb3BzLmlucHV0U2l6ZSA9PT0gJ2xhcmdlJyAmJlxyXG4gICAgY3NzIGBcbiAgICBoZWlnaHQ6ICR7cHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMTF9O1xuICBgfVxuYDtcclxuZnVuY3Rpb24gZ2V0SW5wdXRQYWRkaW5nKHByb3BzKSB7XHJcbiAgICBjb25zdCB7IGlucHV0U2l6ZSwgaXNDbGVhcmFibGUsIGljb25Qb3NpdGlvbiB9ID0gcHJvcHM7XHJcbiAgICBjb25zdCBwYWRkaW5nID0ge1xyXG4gICAgICAgIGxlZnQ6IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzAzLFxyXG4gICAgICAgIHJpZ2h0OiBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwMyxcclxuICAgIH07XHJcbiAgICBpZiAoaW5wdXRTaXplID09PSAnbGFyZ2UnKSB7XHJcbiAgICAgICAgaWYgKGlzQ2xlYXJhYmxlKSB7XHJcbiAgICAgICAgICAgIGlmIChpY29uUG9zaXRpb24gPT09ICdyaWdodCcpIHtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmcucmlnaHQgPSAnOTJweCc7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgZWxzZSBpZiAoaWNvblBvc2l0aW9uID09PSAnbGVmdCcpIHtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmcubGVmdCA9IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzExO1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy5yaWdodCA9IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzExO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgLy8gaWNvbiB0b3AsIG5vIGljb25cclxuICAgICAgICAgICAgICAgIHBhZGRpbmcucmlnaHQgPSBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcxMTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBlbHNlIHtcclxuICAgICAgICAgICAgaWYgKGljb25Qb3NpdGlvbiA9PT0gJ3JpZ2h0Jykge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy5yaWdodCA9IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzEwO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGlmIChpY29uUG9zaXRpb24gPT09ICdsZWZ0Jykge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy5sZWZ0ID0gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMTA7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICBlbHNlIGlmIChpbnB1dFNpemUgPT09ICdtZWRpdW0nKSB7XHJcbiAgICAgICAgaWYgKGlzQ2xlYXJhYmxlKSB7XHJcbiAgICAgICAgICAgIGlmIChpY29uUG9zaXRpb24gPT09ICdyaWdodCcpIHtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmcucmlnaHQgPSAnNjhweCc7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgZWxzZSBpZiAoaWNvblBvc2l0aW9uID09PSAnbGVmdCcpIHtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmcubGVmdCA9IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzA5O1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy5yaWdodCA9IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzA5O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgLy8gaWNvbiB0b3AsIG5vIGljb25cclxuICAgICAgICAgICAgICAgIHBhZGRpbmcucmlnaHQgPSBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwOTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBlbHNlIHtcclxuICAgICAgICAgICAgaWYgKGljb25Qb3NpdGlvbiA9PT0gJ3JpZ2h0Jykge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy5yaWdodCA9IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzA5O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGlmIChpY29uUG9zaXRpb24gPT09ICdsZWZ0Jykge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy5sZWZ0ID0gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICByZXR1cm4gcGFkZGluZztcclxufVxyXG5leHBvcnQgY29uc3QgaW5wdXRCYXNlU3R5bGVzID0gKHByb3BzKSA9PiBjc3MgYFxuICBib3JkZXI6IDA7XG4gIGJvcmRlci1yYWRpdXM6ICR7cHJvcHMudGhlbWUuYm9yZGVyUmFkaXVzfTtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIGNvbG9yOiAke3Byb3BzLmlzSW52ZXJzZVxyXG4gICAgPyBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDEwMFxyXG4gICAgOiBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDcwMH07XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBmb250LXNpemU6ICR7cHJvcHMudGhlbWUudHlwZVNjYWxlLnNpemUwMy5mb250U2l6ZX07XG4gIGxpbmUtaGVpZ2h0OiAke3Byb3BzLnRoZW1lLnR5cGVTY2FsZS5zaXplMDMubGluZUhlaWdodH07XG4gIGZvbnQtZmFtaWx5OiAke3Byb3BzLnRoZW1lLmJvZHlGb250fTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBwYWRkaW5nOiAke3Byb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzAzfTtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICB3aWR0aDogMTAwJTtcblxuICAke3Byb3BzLmlucHV0U2l6ZSA9PT0gJ2xhcmdlJyAmJlxyXG4gICAgY3NzIGBcbiAgICBmb250LXNpemU6ICR7cHJvcHMudGhlbWUudHlwZVNjYWxlLnNpemUwNC5mb250U2l6ZX07XG4gICAgbGluZS1oZWlnaHQ6ICR7cHJvcHMudGhlbWUudHlwZVNjYWxlLnNpemUwNC5saW5lSGVpZ2h0fTtcbiAgICBwYWRkaW5nOiAke3Byb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzA0fTtcbiAgYH1cblxuICBwYWRkaW5nLWxlZnQ6ICR7Z2V0SW5wdXRQYWRkaW5nKHByb3BzKS5sZWZ0fTtcbiAgcGFkZGluZy1yaWdodDogJHtnZXRJbnB1dFBhZGRpbmcocHJvcHMpLnJpZ2h0fTtcblxuICAmOjpwbGFjZWhvbGRlciB7XG4gICAgY29sb3I6ICR7cHJvcHMuaXNJbnZlcnNlXHJcbiAgICA/IHRyYW5zcGFyZW50aXplKDAuMywgcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWwxMDApXHJcbiAgICA6IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsNTAwfTtcbiAgfVxuXG4gICY6Zm9jdXMge1xuICAgIG91dGxpbmU6IDA7XG4gIH1cblxuICAmW3R5cGU9J3NlYXJjaCddIHtcbiAgICAmOjotd2Via2l0LXNlYXJjaC1kZWNvcmF0aW9uLFxuICAgICY6Oi13ZWJraXQtc2VhcmNoLWNhbmNlbC1idXR0b24sXG4gICAgJjo6LXdlYmtpdC1zZWFyY2gtcmVzdWx0cy1idXR0b24sXG4gICAgJjo6LXdlYmtpdC1zZWFyY2gtcmVzdWx0cy1kZWNvcmF0aW9uIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICB9XG5cbiAgJHtwcm9wcy5kaXNhYmxlZCAmJlxyXG4gICAgY3NzIGBcbiAgICBjb2xvcjogJHtwcm9wcy5pc0ludmVyc2VcclxuICAgICAgICA/IHRyYW5zcGFyZW50aXplKDAuNiwgcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWwxMDApXHJcbiAgICAgICAgOiB0cmFuc3BhcmVudGl6ZSgwLjQsIHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsNTAwKX07XG4gICAgY3Vyc29yOiBub3QtYWxsb3dlZDtcblxuICAgICY6OnBsYWNlaG9sZGVyIHtcbiAgICAgIGNvbG9yOiAke3Byb3BzLmlzSW52ZXJzZVxyXG4gICAgICAgID8gdHJhbnNwYXJlbnRpemUoMC44LCBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDEwMClcclxuICAgICAgICA6IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsNTAwfTtcbiAgICAgIG9wYWNpdHk6ICR7cHJvcHMuaXNJbnZlcnNlID8gMC40IDogMC42fTtcbiAgICB9XG4gIGB9XG5cbiAgJjotd2Via2l0LWF1dG9maWxsLFxuICAmOi13ZWJraXQtYXV0b2ZpbGw6Zm9jdXMsXG4gICY6LXdlYmtpdC1hdXRvZmlsbDpob3ZlcixcbiAgJjotd2Via2l0LWF1dG9maWxsOmFjdGl2ZSB7XG4gICAgYm94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xuICAgIC13ZWJraXQtYmFja2dyb3VuZC1jbGlwOiB0ZXh0O1xuICAgIC13ZWJraXQtdGV4dC1maWxsLWNvbG9yOiAke3Byb3BzLmlzSW52ZXJzZVxyXG4gICAgPyBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDEwMFxyXG4gICAgOiBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDcwMH0gIWltcG9ydGFudDtcbiAgICBjYXJldC1jb2xvcjogJHtwcm9wcy5pc0ludmVyc2VcclxuICAgID8gcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWwxMDBcclxuICAgIDogcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWw3MDB9ICFpbXBvcnRhbnQ7XG4gIH1cbmA7XHJcbmNvbnN0IElucHV0Q29udGFpbmVyID0gc3R5bGVkLmRpdiBgXG4gIGRpc3BsYXk6IGZsZXg7XG5gO1xyXG5leHBvcnQgY29uc3QgSW5wdXRXcmFwcGVyID0gc3R5bGVkLmRpdiBgXG4gICR7aW5wdXRXcmFwcGVyU3R5bGVzfVxuYDtcclxuY29uc3QgU3R5bGVkSW5wdXQgPSBzdHlsZWQuaW5wdXQgYFxuICAke2lucHV0QmFzZVN0eWxlc31cbmA7XHJcbmNvbnN0IEljb25XcmFwcGVyID0gc3R5bGVkLnNwYW4gYFxuICBib3R0b206ICR7cHJvcHMgPT4gKHByb3BzLmljb25Qb3NpdGlvbiA9PT0gJ3RvcCcgPyAnNDVweCcgOiAnaW5oZXJpdCcpfTtcbiAgY29sb3I6ICR7cHJvcHMgPT4gcHJvcHMuaXNJbnZlcnNlXHJcbiAgICA/IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsMTAwXHJcbiAgICA6IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsNzAwfTtcbiAgbGVmdDogJHtwcm9wcyA9PiBwcm9wcy5pY29uUG9zaXRpb24gPT09ICdsZWZ0JyA/IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzAzIDogJ2F1dG8nfTtcbiAgcmlnaHQ6ICR7cHJvcHMgPT4gcHJvcHMuaWNvblBvc2l0aW9uID09PSAncmlnaHQnXHJcbiAgICA/IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzAzXHJcbiAgICA6IHByb3BzLmljb25Qb3NpdGlvbiA9PT0gJ3RvcCdcclxuICAgICAgICA/ICczcHgnXHJcbiAgICAgICAgOiAnYXV0byd9O1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogJHtwcm9wcyA9PiBwcm9wcy5pY29uUG9zaXRpb24gPT09ICd0b3AnXHJcbiAgICA/ICdpbmhlcml0J1xyXG4gICAgOiBwcm9wcyA9PiBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwM307XG5cbiAgJHtwcm9wcyA9PiBwcm9wcy5pbnB1dFNpemUgPT09ICdsYXJnZScgJiZcclxuICAgIGNzcyBgXG4gICAgICBib3R0b206ICR7cHJvcHMuaWNvblBvc2l0aW9uID09PSAndG9wJyA/ICc2MnB4JyA6ICdpbmhlcml0J307XG4gICAgICBsZWZ0OiAke3Byb3BzLmljb25Qb3NpdGlvbiA9PT0gJ2xlZnQnXHJcbiAgICAgICAgPyBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwNFxyXG4gICAgICAgIDogJ2F1dG8nfTtcbiAgICAgIHJpZ2h0OiAke3Byb3BzLmljb25Qb3NpdGlvbiA9PT0gJ3JpZ2h0J1xyXG4gICAgICAgID8gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDRcclxuICAgICAgICA6IHByb3BzLmljb25Qb3NpdGlvbiA9PT0gJ3RvcCdcclxuICAgICAgICAgICAgPyAnM3B4J1xyXG4gICAgICAgICAgICA6ICdhdXRvJ307XG4gICAgICB0b3A6ICR7cHJvcHMuaWNvblBvc2l0aW9uID09PSAndG9wJ1xyXG4gICAgICAgID8gJ2luaGVyaXQnXHJcbiAgICAgICAgOiBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwNH07XG4gICAgYH1cbmA7XHJcbmZ1bmN0aW9uIGdldEljb25CdXR0b25TVkdTaXplKHByb3BzKSB7XHJcbiAgICBjb25zdCB7IGlzQ2xpY2thYmxlLCBpY29uUG9zaXRpb24sIGlucHV0U2l6ZSwgdGhlbWUgfSA9IHByb3BzO1xyXG4gICAgaWYgKGlzQ2xpY2thYmxlICYmIGljb25Qb3NpdGlvbiA9PT0gSW5wdXRJY29uUG9zaXRpb24udG9wKSB7XHJcbiAgICAgICAgaWYgKGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlKSB7XHJcbiAgICAgICAgICAgIHJldHVybiBgJHt0aGVtZS5pY29uU2l6ZXMubWVkaXVtfXB4YDtcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIGAke3RoZW1lLmljb25TaXplcy5zbWFsbH1weGA7XHJcbiAgICB9XHJcbiAgICBpZiAoaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2UpIHtcclxuICAgICAgICByZXR1cm4gYCR7dGhlbWUuaWNvblNpemVzLmxhcmdlfXB4YDtcclxuICAgIH1cclxuICAgIHJldHVybiBgJHt0aGVtZS5pY29uU2l6ZXMubWVkaXVtfXB4YDtcclxufVxyXG5mdW5jdGlvbiBnZXRIZWxwTGlua1NWR1NpemUocHJvcHMpIHtcclxuICAgIGNvbnN0IHsgaW5wdXRTaXplLCB0aGVtZSB9ID0gcHJvcHM7XHJcbiAgICBpZiAoaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2UpIHtcclxuICAgICAgICByZXR1cm4gYCR7dGhlbWUuaWNvblNpemVzLm1lZGl1bX1weGA7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gYCR7dGhlbWUuaWNvblNpemVzLnNtYWxsfXB4YDtcclxufVxyXG5leHBvcnQgZnVuY3Rpb24gZ2V0SGVscEljb25CdXR0b25TaXplKHByb3BzKSB7XHJcbiAgICBjb25zdCB7IGlucHV0U2l6ZSwgdGhlbWUgfSA9IHByb3BzO1xyXG4gICAgaWYgKGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlKSB7XHJcbiAgICAgICAgcmV0dXJuIHRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzA5O1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIHRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzA3O1xyXG59XHJcbmZ1bmN0aW9uIGdldEljb25CdXR0b25UcmFuc2Zvcm0ocHJvcHMpIHtcclxuICAgIGNvbnN0IHsgaXNDbGlja2FibGUsIGljb25Qb3NpdGlvbiwgaW5wdXRTaXplLCBoYXNDaGlsZHJlbiwgdGhlbWUgfSA9IHByb3BzO1xyXG4gICAgY29uc3QgcG9zaXRpb24gPSB7IHg6ICcnLCB5OiAnJyB9O1xyXG4gICAgaWYgKGljb25Qb3NpdGlvbiA9PT0gSW5wdXRJY29uUG9zaXRpb24udG9wKSB7XHJcbiAgICAgICAgaWYgKGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlKSB7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uLnggPSAnLTMwcHgnO1xyXG4gICAgICAgICAgICBwb3NpdGlvbi55ID0gJzJweCc7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2UgaWYgKGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLm1lZGl1bSkge1xyXG4gICAgICAgICAgICBwb3NpdGlvbi54ID0gJy0yOHB4JztcclxuICAgICAgICAgICAgcG9zaXRpb24ueSA9ICc1cHgnO1xyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gcG9zaXRpb247XHJcbiAgICB9XHJcbiAgICBpZiAoaXNDbGlja2FibGUpIHtcclxuICAgICAgICBpZiAoaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2UpIHtcclxuICAgICAgICAgICAgaWYgKGhhc0NoaWxkcmVuKSB7XHJcbiAgICAgICAgICAgICAgICBwb3NpdGlvbi54ID0gJy00M3B4JztcclxuICAgICAgICAgICAgICAgIHBvc2l0aW9uLnkgPSAnMTRweCc7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICAgICAgICBwb3NpdGlvbi54ID0gJy00OXB4JztcclxuICAgICAgICAgICAgICAgIHBvc2l0aW9uLnkgPSAnOHB4JztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBlbHNlIGlmIChpbnB1dFNpemUgPT09IElucHV0U2l6ZS5tZWRpdW0pIHtcclxuICAgICAgICAgICAgcG9zaXRpb24ueCA9ICctMzVweCc7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uLnkgPSAnNnB4JztcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIHBvc2l0aW9uO1xyXG4gICAgfVxyXG4gICAgaWYgKGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlKSB7XHJcbiAgICAgICAgcG9zaXRpb24ueCA9IGAtJHt0aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcxMH1gO1xyXG4gICAgICAgIHBvc2l0aW9uLnkgPSB0aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwMztcclxuICAgIH1cclxuICAgIGVsc2UgaWYgKGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLm1lZGl1bSkge1xyXG4gICAgICAgIHBvc2l0aW9uLnggPSAnLTI0cHgnO1xyXG4gICAgICAgIHBvc2l0aW9uLnkgPSAnN3B4JztcclxuICAgIH1cclxuICAgIHJldHVybiBwb3NpdGlvbjtcclxufVxyXG5leHBvcnQgY29uc3QgSWNvbkJ1dHRvbkNvbnRhaW5lciA9IHN0eWxlZC5zcGFuIGBcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGJvdHRvbTogJHtwcm9wcyA9PiAocHJvcHMuaWNvblBvc2l0aW9uID09PSAndG9wJyA/ICc0MHB4JyA6ICdpbmhlcml0Jyl9O1xuICBoZWlnaHQ6IGF1dG87XG4gIG1hcmdpbjogMDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aWR0aDogMDtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoXG4gICAgJHtwcm9wcyA9PiBnZXRJY29uQnV0dG9uVHJhbnNmb3JtKHByb3BzKS54fSxcbiAgICAke3Byb3BzID0+IGdldEljb25CdXR0b25UcmFuc2Zvcm0ocHJvcHMpLnl9XG4gICk7XG4gIHN2ZyB7XG4gICAgaGVpZ2h0OiAke3Byb3BzID0+IGdldEljb25CdXR0b25TVkdTaXplKHByb3BzKX07XG4gICAgd2lkdGg6ICR7cHJvcHMgPT4gZ2V0SWNvbkJ1dHRvblNWR1NpemUocHJvcHMpfTtcbiAgfVxuYDtcclxuY29uc3QgUGFzc3dvcmRCdXR0b25Db250YWluZXIgPSBzdHlsZWQuc3BhbiBgXG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICB3aWR0aDogMDtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoXG4gICAgJHtwcm9wcyA9PiBwcm9wcy5zaXplID09PSBJbnB1dFNpemUubGFyZ2VcclxuICAgID8gYCR7LXByb3BzLmJ1dHRvbldpZHRoIC0gOH1weGBcclxuICAgIDogYCR7LXByb3BzLmJ1dHRvbldpZHRoIC0gNn1weGB9LFxuICAgICR7cHJvcHMgPT4gcHJvcHMuc2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlID8gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDMgOiAnNnB4J31cbiAgKTtcbmA7XHJcbmZ1bmN0aW9uIGdldENsZWFyYWJsZVBvc2l0aW9uKHByb3BzKSB7XHJcbiAgICBpZiAocHJvcHMuaWNvblBvc2l0aW9uID09PSAncmlnaHQnICYmIHByb3BzLmljb24pIHtcclxuICAgICAgICBpZiAocHJvcHMuaW5wdXRTaXplID09PSAnbGFyZ2UnKSB7XHJcbiAgICAgICAgICAgIHJldHVybiBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcxMztcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuICc3MnB4JztcclxuICAgIH1cclxuICAgIGlmIChwcm9wcy5pbnB1dFNpemUgPT09ICdsYXJnZScpIHtcclxuICAgICAgICByZXR1cm4gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMTA7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gJzM0cHgnO1xyXG59XHJcbmNvbnN0IElzQ2xlYXJhYmxlQ29udGFpbmVyID0gc3R5bGVkLnNwYW4gYFxuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgbWFyZ2luOiAwO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGhlaWdodDogYXV0bztcbiAgd2lkdGg6IDA7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKFxuICAgIC0ke3Byb3BzID0+IGdldENsZWFyYWJsZVBvc2l0aW9uKHByb3BzKX0sXG4gICAgJHtwcm9wcyA9PiBwcm9wcy5pbnB1dFNpemUgPT09IElucHV0U2l6ZS5sYXJnZVxyXG4gICAgPyBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwM1xyXG4gICAgOiAnNnB4J31cbiAgKTtcbmA7XHJcbmZ1bmN0aW9uIGdldEljb25TaXplKHNpemUsIHRoZW1lLCBpY29uUG9zaXRpb24pIHtcclxuICAgIHN3aXRjaCAoc2l6ZSkge1xyXG4gICAgICAgIGNhc2UgJ2xhcmdlJzpcclxuICAgICAgICAgICAgaWYgKGljb25Qb3NpdGlvbiA9PT0gSW5wdXRJY29uUG9zaXRpb24udG9wKSB7XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gdGhlbWUuaWNvblNpemVzLm1lZGl1bTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICByZXR1cm4gdGhlbWUuaWNvblNpemVzLmxhcmdlO1xyXG4gICAgICAgIGRlZmF1bHQ6XHJcbiAgICAgICAgICAgIGlmIChpY29uUG9zaXRpb24gPT09IElucHV0SWNvblBvc2l0aW9uLnRvcCkge1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuIHRoZW1lLmljb25TaXplcy5zbWFsbDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICByZXR1cm4gdGhlbWUuaWNvblNpemVzLm1lZGl1bTtcclxuICAgIH1cclxufVxyXG5leHBvcnQgY29uc3QgaXNMZWZ0T3JIaWRkZW4gPSAoeyBsYWJlbFBvc2l0aW9uLCBpc0xhYmVsVmlzdWFsbHlIaWRkZW4sIH0pID0+IGxhYmVsUG9zaXRpb24gPT09IExhYmVsUG9zaXRpb24ubGVmdCB8fCBpc0xhYmVsVmlzdWFsbHlIaWRkZW47XHJcbmV4cG9ydCBjb25zdCBIZWxwTGlua0NvbnRhaW5lciA9IHN0eWxlZC5zcGFuIGBcbiAgcG9zaXRpb246ICR7cHJvcHMgPT4gKGlzTGVmdE9ySGlkZGVuKHByb3BzKSA/ICdyZWxhdGl2ZScgOiAnYWJzb2x1dGUnKX07XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXG4gIGhlaWdodDogJHtwcm9wcyA9PiAoaXNMZWZ0T3JIaWRkZW4ocHJvcHMpID8gJ2F1dG8nIDogJ2ZpdC1jb250ZW50Jyl9O1xuICBtYXJnaW4taW5saW5lLXN0YXJ0OiAke3Byb3BzID0+IGlzTGVmdE9ySGlkZGVuKHByb3BzKSA/IGAke3Byb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzAzfWAgOiAnYXV0byd9O1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoXG4gICAgJHtwcm9wcyA9PiBpc0xlZnRPckhpZGRlbihwcm9wcylcclxuICAgID8gJzAnXHJcbiAgICA6IGBjYWxjKC0xMDAlIC0gJHtwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwM30pYH1cbiAgKTtcbiAgJHtDaGlsZHJlbldyYXBwZXJ9ID4gc3ZnIHtcbiAgICBoZWlnaHQ6ICR7cHJvcHMgPT4gZ2V0SGVscExpbmtTVkdTaXplKHByb3BzKX07XG4gICAgd2lkdGg6ICR7cHJvcHMgPT4gZ2V0SGVscExpbmtTVkdTaXplKHByb3BzKX07XG4gIH1cbiAgYnV0dG9uIHtcbiAgICBoZWlnaHQ6ICR7cHJvcHMgPT4gZ2V0SGVscEljb25CdXR0b25TaXplKHByb3BzKX07XG4gICAgd2lkdGg6ICR7cHJvcHMgPT4gZ2V0SGVscEljb25CdXR0b25TaXplKHByb3BzKX07XG4gIH1cbiAgaW5zZXQtaW5saW5lLWVuZDogJHtwcm9wcyA9PiAoaXNMZWZ0T3JIaWRkZW4ocHJvcHMpID8gJ2F1dG8nIDogJzAnKX07XG5gO1xyXG5leHBvcnQgY29uc3QgSW5wdXRCYXNlID0gUmVhY3QuZm9yd2FyZFJlZigocHJvcHMsIGZvcndhcmRlZFJlZikgPT4ge1xyXG4gICAgY29uc3QgeyBjaGlsZHJlbiwgY29udGFpbmVyU3R5bGUsIGRlZmF1bHRWYWx1ZSwgZGlzYWJsZWQsIGhhc0NoYXJhY3RlckNvdW50ZXIsIGhhc0Vycm9yLCBpY29uLCBpY29uQXJpYUxhYmVsLCBpY29uUmVmLCBpc0NsZWFyYWJsZSwgaXNQYXNzd29yZElucHV0LCBpc1ByZWRpY3RpdmUsIG1heENvdW50LCBtYXhMZW5ndGgsIG9uQ2xlYXIsIG9uSWNvbkNsaWNrLCBvbkljb25LZXlEb3duLCBvbkRhdGVDaGFuZ2UsIGlucHV0TGVuZ3RoLCBpbnB1dFNpemUsIGlucHV0U3R5bGUsIGlucHV0V3JhcHBlclN0eWxlLCB0ZXN0SWQsIHR5cGUsIHNldFJlZmVyZW5jZSwgaXNMYWJlbFZpc3VhbGx5SGlkZGVuLCBsYWJlbFBvc2l0aW9uLCAuLi5vdGhlciB9ID0gcHJvcHM7XHJcbiAgICBjb25zdCBpMThuID0gUmVhY3QudXNlQ29udGV4dChJMThuQ29udGV4dCk7XHJcbiAgICBjb25zdCB0aGVtZSA9IFJlYWN0LnVzZUNvbnRleHQoVGhlbWVDb250ZXh0KTtcclxuICAgIGNvbnN0IGljb25Qb3NpdGlvbiA9IGljb24gJiYgb25JY29uQ2xpY2tcclxuICAgICAgICA/IElucHV0SWNvblBvc2l0aW9uLnJpZ2h0XHJcbiAgICAgICAgOiBpY29uICYmICFwcm9wcy5pY29uUG9zaXRpb25cclxuICAgICAgICAgICAgPyBJbnB1dEljb25Qb3NpdGlvbi5sZWZ0XHJcbiAgICAgICAgICAgIDogcHJvcHMuaWNvblBvc2l0aW9uO1xyXG4gICAgY29uc3QgW3ZhbHVlLCBzZXRWYWx1ZV0gPSBSZWFjdC51c2VTdGF0ZShwcm9wcy5kZWZhdWx0VmFsdWUgIT09IHVuZGVmaW5lZCAmJiBwcm9wcy5kZWZhdWx0VmFsdWUgIT09IG51bGxcclxuICAgICAgICA/IHByb3BzLmRlZmF1bHRWYWx1ZVxyXG4gICAgICAgIDogcHJvcHMudmFsdWUgfHwgJycpO1xyXG4gICAgY29uc3QgbWF4TGVuZ3RoTnVtID0gIWhhc0NoYXJhY3RlckNvdW50ZXIgJiYgbWF4TGVuZ3RoID8gbWF4TGVuZ3RoIDogdW5kZWZpbmVkO1xyXG4gICAgUmVhY3QudXNlRWZmZWN0KCgpID0+IHtcclxuICAgICAgICBpZiAocHJvcHMudmFsdWUgIT09IHVuZGVmaW5lZCAmJiBwcm9wcy52YWx1ZSAhPT0gbnVsbCkge1xyXG4gICAgICAgICAgICBzZXRWYWx1ZShwcm9wcy52YWx1ZSk7XHJcbiAgICAgICAgfVxyXG4gICAgfSwgW3Byb3BzLnZhbHVlXSk7XHJcbiAgICBjb25zdCBpbnB1dFJlZiA9IFJlYWN0LnVzZVJlZigpO1xyXG4gICAgY29uc3QgcmVmID0gdXNlRm9ya2VkUmVmKGZvcndhcmRlZFJlZiwgaW5wdXRSZWYpO1xyXG4gICAgZnVuY3Rpb24gaGFuZGxlQ2xlYXJJbnB1dCgpIHtcclxuICAgICAgICBvbkNsZWFyICYmIHR5cGVvZiBvbkNsZWFyID09PSAnZnVuY3Rpb24nICYmIG9uQ2xlYXIoKTtcclxuICAgICAgICBzZXRWYWx1ZSgnJyk7XHJcbiAgICAgICAgb25EYXRlQ2hhbmdlICYmIHR5cGVvZiBvbkRhdGVDaGFuZ2UgPT09ICdmdW5jdGlvbicgJiYgb25EYXRlQ2hhbmdlKG51bGwpO1xyXG4gICAgICAgIGlucHV0UmVmLmN1cnJlbnQuZm9jdXMoKTtcclxuICAgIH1cclxuICAgIGZ1bmN0aW9uIGhhbmRsZUNoYW5nZShldmVudCkge1xyXG4gICAgICAgIHByb3BzLm9uQ2hhbmdlICYmXHJcbiAgICAgICAgICAgIHR5cGVvZiBwcm9wcy5vbkNoYW5nZSA9PT0gJ2Z1bmN0aW9uJyAmJlxyXG4gICAgICAgICAgICBwcm9wcy5vbkNoYW5nZShldmVudCk7XHJcbiAgICAgICAgY29uc3QgaXNPbkRhdGVDaGFuZ2UgPSBvbkRhdGVDaGFuZ2UgJiYgdHlwZW9mIG9uRGF0ZUNoYW5nZSA9PT0gJ2Z1bmN0aW9uJztcclxuICAgICAgICBjb25zdCB7IHZhbHVlIH0gPSBldmVudC50YXJnZXQ7XHJcbiAgICAgICAgc2V0VmFsdWUoaXNPbkRhdGVDaGFuZ2UgPyB2YWx1ZSA6IChwcm9wcy52YWx1ZSA/PyB2YWx1ZSkpO1xyXG4gICAgICAgIGlmIChpc09uRGF0ZUNoYW5nZSAmJiAhdmFsdWUpIHtcclxuICAgICAgICAgICAgb25EYXRlQ2hhbmdlKG51bGwpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIGNvbnN0IHBhc3N3b3JkQnRuV2lkdGggPSAoKSA9PiB7XHJcbiAgICAgICAgY29uc3QgYnRuV2lkdGggPSBjaGlsZHJlbj8ucHJvcHM/LmNoaWxkcmVuPy5bMF0/LnJlZj8uY3VycmVudD8ub2Zmc2V0V2lkdGg7XHJcbiAgICAgICAgaWYgKHR5cGVvZiBidG5XaWR0aCA9PT0gJ251bWJlcicpIHtcclxuICAgICAgICAgICAgcmV0dXJuIGJ0bldpZHRoO1xyXG4gICAgICAgIH1cclxuICAgICAgICBlbHNlIHtcclxuICAgICAgICAgICAgLy8gV2hlbiBQYXNzd29yZEJ1dHRvbiBpcyB1c2VkIGluc2lkZSBTY2hlbWFSZW5kZXJlciwgaXQgZG9lc24ndCBoYXZlIGNoaWxkcmVuLlxyXG4gICAgICAgICAgICAvLyBXZSdsbCB1c2UgdGhlIGRlZmF1bHQgYnV0dG9uIHNpemVzLlxyXG4gICAgICAgICAgICBpZiAocHJvcHMuaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgIHJldHVybiA2NDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICByZXR1cm4gNTQ7XHJcbiAgICAgICAgfVxyXG4gICAgfTtcclxuICAgIHJldHVybiAoUmVhY3QuY3JlYXRlRWxlbWVudChcImRpdlwiLCB7IHJlZjogc2V0UmVmZXJlbmNlIH0sXHJcbiAgICAgICAgUmVhY3QuY3JlYXRlRWxlbWVudChJbnB1dENvbnRhaW5lciwgeyBzdHlsZTogaW5wdXRXcmFwcGVyU3R5bGUsIFwiZGF0YS10ZXN0aWRcIjogYCR7dGVzdElkfS13cmFwcGVyYCB9LFxyXG4gICAgICAgICAgICBSZWFjdC5jcmVhdGVFbGVtZW50KElucHV0V3JhcHBlciwgeyBkaXNhYmxlZDogZGlzYWJsZWQsIGljb25Qb3NpdGlvbjogaWNvblBvc2l0aW9uLCBpc0ludmVyc2U6IHByb3BzLmlzSW52ZXJzZSwgaW5wdXRTaXplOiBpbnB1dFNpemUgPz8gSW5wdXRTaXplLm1lZGl1bSwgdGhlbWU6IHRoZW1lLCBzdHlsZTogY29udGFpbmVyU3R5bGUsIGhhc0Vycm9yOiBoYXNFcnJvciwgaXNDbGVhcmFibGU6IGlzQ2xlYXJhYmxlLCB3aWR0aDogcHJvcHMud2lkdGggfSxcclxuICAgICAgICAgICAgICAgIFJlYWN0LmNyZWF0ZUVsZW1lbnQoU3R5bGVkSW5wdXQsIE9iamVjdC5hc3NpZ24oe30sIG90aGVyLCB7IFwiYXJpYS1pbnZhbGlkXCI6IGhhc0Vycm9yLCBkaXNhYmxlZDogZGlzYWJsZWQsIFwiZGF0YS10ZXN0aWRcIjogdGVzdElkLCBoYXNDaGFyYWN0ZXJDb3VudGVyOiBoYXNDaGFyYWN0ZXJDb3VudGVyLCBpY29uUG9zaXRpb246IGljb25Qb3NpdGlvbiwgaW5wdXRTaXplOiBpbnB1dFNpemUgPz8gSW5wdXRTaXplLm1lZGl1bSwgaXNDbGVhcmFibGU6IHR5cGUgPT09IElucHV0VHlwZS5zZWFyY2hcclxuICAgICAgICAgICAgICAgICAgICAgICAgPyBpc0NsZWFyYWJsZVxyXG4gICAgICAgICAgICAgICAgICAgICAgICA6IGlucHV0V3JhcHBlclN0eWxlPy53aWR0aFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPyBpc0NsZWFyYWJsZVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBpc0NsZWFyYWJsZSAmJiBpbnB1dExlbmd0aCA+IDAsIGlzSW52ZXJzZTogdXNlSXNJbnZlcnNlKHByb3BzLmlzSW52ZXJzZSksIGlzUHJlZGljdGl2ZTogaXNQcmVkaWN0aXZlLCBoYXNFcnJvcjogaGFzRXJyb3IsIHJlZjogcmVmLCBtYXhMZW5ndGg6IG1heExlbmd0aE51bSwgb25DaGFuZ2U6IGhhbmRsZUNoYW5nZSwgc3R5bGU6IGlucHV0U3R5bGUsIHRoZW1lOiB0aGVtZSwgdHlwZTogdHlwZSA/IHR5cGUgOiBJbnB1dFR5cGUudGV4dCwgdmFsdWU6IHZhbHVlIH0pKSxcclxuICAgICAgICAgICAgICAgIGljb24gJiYgIW9uSWNvbkNsaWNrICYmIChSZWFjdC5jcmVhdGVFbGVtZW50KEljb25XcmFwcGVyLCB7IFwiYXJpYS1sYWJlbFwiOiBpY29uQXJpYUxhYmVsLCBpY29uUG9zaXRpb246IGljb25Qb3NpdGlvbiwgaW5wdXRTaXplOiBpbnB1dFNpemUgPz8gSW5wdXRTaXplLm1lZGl1bSwgaXNJbnZlcnNlOiBwcm9wcy5pc0ludmVyc2UsIGlzUHJlZGljdGl2ZTogaXNQcmVkaWN0aXZlLCB0aGVtZTogdGhlbWUsIGRpc2FibGVkOiBkaXNhYmxlZCB9LCBSZWFjdC5DaGlsZHJlbi5vbmx5KFJlYWN0LmNsb25lRWxlbWVudChpY29uLCB7XHJcbiAgICAgICAgICAgICAgICAgICAgc2l6ZTogZ2V0SWNvblNpemUoaW5wdXRTaXplID8/IElucHV0U2l6ZS5tZWRpdW0sIHRoZW1lLCBpY29uUG9zaXRpb24pLFxyXG4gICAgICAgICAgICAgICAgfSkpKSkpLFxyXG4gICAgICAgICAgICBpc0NsZWFyYWJsZSAmJiB2YWx1ZSAhPT0gJycgJiYgKFJlYWN0LmNyZWF0ZUVsZW1lbnQoSXNDbGVhcmFibGVDb250YWluZXIsIHsgdGhlbWU6IHRoZW1lLCBpY29uUG9zaXRpb246IGljb25Qb3NpdGlvbiwgaW5wdXRTaXplOiBpbnB1dFNpemUsIGljb246IGljb24gfSxcclxuICAgICAgICAgICAgICAgIFJlYWN0LmNyZWF0ZUVsZW1lbnQoSWNvbkJ1dHRvbiwgeyBcImFyaWEtbGFiZWxcIjogaTE4bi5pbnB1dC5pc0NsZWFyYWJsZUFyaWFMYWJlbCwgZGlzYWJsZWQ6IGRpc2FibGVkLCBpY29uOiBSZWFjdC5jcmVhdGVFbGVtZW50KENsZWFySWNvbiwgbnVsbCksIGlzSW52ZXJzZTogcHJvcHMuaXNJbnZlcnNlLCBvbkNsaWNrOiBoYW5kbGVDbGVhcklucHV0LCBvbktleURvd246IG9uSWNvbktleURvd24sIHJlZjogaWNvblJlZiwgc2hhcGU6IEJ1dHRvblNoYXBlLmZpbGwsIHNpemU6IGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlXHJcbiAgICAgICAgICAgICAgICAgICAgICAgID8gQnV0dG9uU2l6ZS5tZWRpdW1cclxuICAgICAgICAgICAgICAgICAgICAgICAgOiBCdXR0b25TaXplLnNtYWxsLCB0ZXN0SWQ6IFwiY2xlYXItYnV0dG9uXCIsIHR5cGU6IEJ1dHRvblR5cGUuYnV0dG9uLCB2YXJpYW50OiBCdXR0b25WYXJpYW50LmxpbmsgfSkpKSxcclxuICAgICAgICAgICAgb25JY29uQ2xpY2sgJiYgKFJlYWN0LmNyZWF0ZUVsZW1lbnQoSWNvbkJ1dHRvbkNvbnRhaW5lciwgeyBpY29uUG9zaXRpb246IGljb25Qb3NpdGlvbiwgaW5wdXRTaXplOiBpbnB1dFNpemUgPT09IElucHV0U2l6ZS5sYXJnZVxyXG4gICAgICAgICAgICAgICAgICAgID8gSW5wdXRTaXplLmxhcmdlXHJcbiAgICAgICAgICAgICAgICAgICAgOiBJbnB1dFNpemUubWVkaXVtLCB0aGVtZTogdGhlbWUsIGlzQ2xpY2thYmxlOiB0cnVlIH0sXHJcbiAgICAgICAgICAgICAgICBSZWFjdC5jcmVhdGVFbGVtZW50KEljb25CdXR0b24sIHsgXCJhcmlhLWxhYmVsXCI6IGljb25BcmlhTGFiZWwsIGljb246IGljb24sIGlzSW52ZXJzZTogcHJvcHMuaXNJbnZlcnNlLCBvbkNsaWNrOiBvbkljb25DbGljaywgb25LZXlEb3duOiBvbkljb25LZXlEb3duLCByZWY6IGljb25SZWYsIGRpc2FibGVkOiBkaXNhYmxlZCwgc2hhcGU6IEJ1dHRvblNoYXBlLmZpbGwsIHNpemU6IGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlXHJcbiAgICAgICAgICAgICAgICAgICAgICAgID8gQnV0dG9uU2l6ZS5tZWRpdW1cclxuICAgICAgICAgICAgICAgICAgICAgICAgOiBCdXR0b25TaXplLnNtYWxsLCB0eXBlOiBCdXR0b25UeXBlLmJ1dHRvbiwgdmFyaWFudDogQnV0dG9uVmFyaWFudC5saW5rIH0pKSksXHJcbiAgICAgICAgICAgIGlzUGFzc3dvcmRJbnB1dCA/IChSZWFjdC5jcmVhdGVFbGVtZW50KFBhc3N3b3JkQnV0dG9uQ29udGFpbmVyLCB7IHNpemU6IGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlXHJcbiAgICAgICAgICAgICAgICAgICAgPyBJbnB1dFNpemUubGFyZ2VcclxuICAgICAgICAgICAgICAgICAgICA6IElucHV0U2l6ZS5tZWRpdW0sIHRoZW1lOiB0aGVtZSwgYnV0dG9uV2lkdGg6IHBhc3N3b3JkQnRuV2lkdGgoKSB9LCBjaGlsZHJlbikpIDogKFJlYWN0LmNyZWF0ZUVsZW1lbnQoSGVscExpbmtDb250YWluZXIsIHsgaXNMYWJlbFZpc3VhbGx5SGlkZGVuOiBpc0xhYmVsVmlzdWFsbHlIaWRkZW4gfHwgZmFsc2UsIGlucHV0U2l6ZTogaW5wdXRTaXplID8/IElucHV0U2l6ZS5tZWRpdW0sIGxhYmVsUG9zaXRpb246IGxhYmVsUG9zaXRpb24gPz8gTGFiZWxQb3NpdGlvbi50b3AsIHRoZW1lOiB0aGVtZSB9LCBjaGlsZHJlbikpKSkpO1xyXG59KTtcclxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9aW5kZXguanMubWFwIl19 */"));
|
|
4939
4939
|
var StyledInput = /*#__PURE__*/_styled("input", {
|
|
4940
4940
|
target: "e1jxjjn75",
|
|
4941
4941
|
label: "StyledInput"
|
|
4942
|
-
})(inputBaseStyles, ";" + (process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImluZGV4LnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUF1TmlDIiwiZmlsZSI6ImluZGV4LnRzeCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIFJlYWN0IGZyb20gJ3JlYWN0JztcclxuaW1wb3J0IHsgY3NzIH0gZnJvbSAnQGVtb3Rpb24vcmVhY3QnO1xyXG5pbXBvcnQgc3R5bGVkIGZyb20gJ0BlbW90aW9uL3N0eWxlZCc7XHJcbmltcG9ydCB7IHRyYW5zcGFyZW50aXplIH0gZnJvbSAncG9saXNoZWQnO1xyXG5pbXBvcnQgeyBDbGVhckljb24gfSBmcm9tICdyZWFjdC1tYWdtYS1pY29ucyc7XHJcbmltcG9ydCB7IEkxOG5Db250ZXh0IH0gZnJvbSAnLi4vLi4vaTE4bic7XHJcbmltcG9ydCB7IHVzZUlzSW52ZXJzZSB9IGZyb20gJy4uLy4uL2ludmVyc2UnO1xyXG5pbXBvcnQgeyBUaGVtZUNvbnRleHQgfSBmcm9tICcuLi8uLi90aGVtZS9UaGVtZUNvbnRleHQnO1xyXG5pbXBvcnQgeyB1c2VGb3JrZWRSZWYgfSBmcm9tICcuLi8uLi91dGlscyc7XHJcbmltcG9ydCB7IEJ1dHRvblNoYXBlLCBCdXR0b25TaXplLCBCdXR0b25UeXBlLCBCdXR0b25WYXJpYW50IH0gZnJvbSAnLi4vQnV0dG9uJztcclxuaW1wb3J0IHsgSWNvbkJ1dHRvbiB9IGZyb20gJy4uL0ljb25CdXR0b24nO1xyXG5pbXBvcnQgeyBMYWJlbFBvc2l0aW9uIH0gZnJvbSAnLi4vTGFiZWwnO1xyXG5pbXBvcnQgeyBDaGlsZHJlbldyYXBwZXIgfSBmcm9tICcuLi9TdHlsZWRCdXR0b24nO1xyXG5leHBvcnQgdmFyIElucHV0U2l6ZTtcclxuKGZ1bmN0aW9uIChJbnB1dFNpemUpIHtcclxuICAgIElucHV0U2l6ZVtcImxhcmdlXCJdID0gXCJsYXJnZVwiO1xyXG4gICAgSW5wdXRTaXplW1wibWVkaXVtXCJdID0gXCJtZWRpdW1cIjtcclxufSkoSW5wdXRTaXplIHx8IChJbnB1dFNpemUgPSB7fSkpO1xyXG5leHBvcnQgdmFyIElucHV0VHlwZTtcclxuKGZ1bmN0aW9uIChJbnB1dFR5cGUpIHtcclxuICAgIElucHV0VHlwZVtcImVtYWlsXCJdID0gXCJlbWFpbFwiO1xyXG4gICAgSW5wdXRUeXBlW1wiZmlsZVwiXSA9IFwiZmlsZVwiO1xyXG4gICAgSW5wdXRUeXBlW1wibnVtYmVyXCJdID0gXCJudW1iZXJcIjtcclxuICAgIElucHV0VHlwZVtcInBhc3N3b3JkXCJdID0gXCJwYXNzd29yZFwiO1xyXG4gICAgSW5wdXRUeXBlW1wic2VhcmNoXCJdID0gXCJzZWFyY2hcIjtcclxuICAgIElucHV0VHlwZVtcInRleHRcIl0gPSBcInRleHRcIjtcclxuICAgIElucHV0VHlwZVtcInVybFwiXSA9IFwidXJsXCI7XHJcbiAgICBJbnB1dFR5cGVbXCJ0ZWxcIl0gPSBcInRlbFwiO1xyXG59KShJbnB1dFR5cGUgfHwgKElucHV0VHlwZSA9IHt9KSk7XHJcbmV4cG9ydCB2YXIgSW5wdXRJY29uUG9zaXRpb247XHJcbihmdW5jdGlvbiAoSW5wdXRJY29uUG9zaXRpb24pIHtcclxuICAgIElucHV0SWNvblBvc2l0aW9uW1widG9wXCJdID0gXCJ0b3BcIjtcclxuICAgIElucHV0SWNvblBvc2l0aW9uW1wibGVmdFwiXSA9IFwibGVmdFwiO1xyXG4gICAgSW5wdXRJY29uUG9zaXRpb25bXCJyaWdodFwiXSA9IFwicmlnaHRcIjtcclxufSkoSW5wdXRJY29uUG9zaXRpb24gfHwgKElucHV0SWNvblBvc2l0aW9uID0ge30pKTtcclxuZXhwb3J0IGNvbnN0IGlucHV0V3JhcHBlclN0eWxlcyA9IChwcm9wcykgPT4gY3NzIGBcbiAgZmxleDogMSAxIGF1dG87XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgd2lkdGg6ICR7cHJvcHMud2lkdGggfHwgJ2F1dG8nfTtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHtwcm9wcy5pc0ludmVyc2VcclxuICAgID8gdHJhbnNwYXJlbnRpemUoMC44LCBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDkwMClcclxuICAgIDogcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWwxMDB9O1xuICBib3JkZXItcmFkaXVzOiAke3Byb3BzLnRoZW1lLmJvcmRlclJhZGl1c307XG4gIGJvcmRlcjogMXB4IHNvbGlkXG4gICAgJHtwcm9wcy5pc0ludmVyc2VcclxuICAgID8gdHJhbnNwYXJlbnRpemUoMC41LCBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDEwMClcclxuICAgIDogcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWw1MDB9O1xuICBoZWlnaHQ6ICR7cHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDl9O1xuXG4gICY6Zm9jdXMtd2l0aGluIHtcbiAgICBvdXRsaW5lOiAycHggc29saWRcbiAgICAgICR7cHJvcHMuaXNJbnZlcnNlXHJcbiAgICA/IHByb3BzLnRoZW1lLmNvbG9ycy5mb2N1c0ludmVyc2VcclxuICAgIDogcHJvcHMudGhlbWUuY29sb3JzLmZvY3VzfTtcbiAgICBvdXRsaW5lLW9mZnNldDogLTFweDtcbiAgfVxuXG4gICR7cHJvcHMuaGFzRXJyb3IgJiZcclxuICAgIGNzcyBgXG4gICAgYm9yZGVyLWNvbG9yOiAke3Byb3BzLmlzSW52ZXJzZVxyXG4gICAgICAgID8gcHJvcHMudGhlbWUuY29sb3JzLmRhbmdlcjMwMFxyXG4gICAgICAgIDogcHJvcHMudGhlbWUuY29sb3JzLmRhbmdlcn07XG4gIGB9XG5cbiAgJHtwcm9wcy5kaXNhYmxlZCAmJlxyXG4gICAgY3NzIGBcbiAgICBib3JkZXItY29sb3I6ICR7cHJvcHMuaXNJbnZlcnNlXHJcbiAgICAgICAgPyB0cmFuc3BhcmVudGl6ZSgwLjg1LCBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDEwMClcclxuICAgICAgICA6IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsMzAwfTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAke3Byb3BzLmlzSW52ZXJzZVxyXG4gICAgICAgID8gdHJhbnNwYXJlbnRpemUoMC45LCBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDkwMClcclxuICAgICAgICA6IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsMjAwfTtcbiAgYH1cblxuICAke3Byb3BzLmlucHV0U2l6ZSA9PT0gJ2xhcmdlJyAmJlxyXG4gICAgY3NzIGBcbiAgICBoZWlnaHQ6ICR7cHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMTF9O1xuICBgfVxuYDtcclxuZnVuY3Rpb24gZ2V0SW5wdXRQYWRkaW5nKHByb3BzKSB7XHJcbiAgICBjb25zdCB7IGlucHV0U2l6ZSwgaXNDbGVhcmFibGUsIGljb25Qb3NpdGlvbiB9ID0gcHJvcHM7XHJcbiAgICBjb25zdCBwYWRkaW5nID0ge1xyXG4gICAgICAgIGxlZnQ6IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzAzLFxyXG4gICAgICAgIHJpZ2h0OiBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwMyxcclxuICAgIH07XHJcbiAgICBpZiAoaW5wdXRTaXplID09PSAnbGFyZ2UnKSB7XHJcbiAgICAgICAgaWYgKGlzQ2xlYXJhYmxlKSB7XHJcbiAgICAgICAgICAgIGlmIChpY29uUG9zaXRpb24gPT09ICdyaWdodCcpIHtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmcucmlnaHQgPSAnOTJweCc7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgZWxzZSBpZiAoaWNvblBvc2l0aW9uID09PSAnbGVmdCcpIHtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmcubGVmdCA9IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzExO1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy5yaWdodCA9IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzExO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgLy8gaWNvbiB0b3AsIG5vIGljb25cclxuICAgICAgICAgICAgICAgIHBhZGRpbmcucmlnaHQgPSBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcxMTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBlbHNlIHtcclxuICAgICAgICAgICAgaWYgKGljb25Qb3NpdGlvbiA9PT0gJ3JpZ2h0Jykge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy5yaWdodCA9IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzEwO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGlmIChpY29uUG9zaXRpb24gPT09ICdsZWZ0Jykge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy5sZWZ0ID0gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMTA7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICBlbHNlIGlmIChpbnB1dFNpemUgPT09ICdtZWRpdW0nKSB7XHJcbiAgICAgICAgaWYgKGlzQ2xlYXJhYmxlKSB7XHJcbiAgICAgICAgICAgIGlmIChpY29uUG9zaXRpb24gPT09ICdyaWdodCcpIHtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmcucmlnaHQgPSAnNjhweCc7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgZWxzZSBpZiAoaWNvblBvc2l0aW9uID09PSAnbGVmdCcpIHtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmcubGVmdCA9IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzA5O1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy5yaWdodCA9IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzA5O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgLy8gaWNvbiB0b3AsIG5vIGljb25cclxuICAgICAgICAgICAgICAgIHBhZGRpbmcucmlnaHQgPSBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwOTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBlbHNlIHtcclxuICAgICAgICAgICAgaWYgKGljb25Qb3NpdGlvbiA9PT0gJ3JpZ2h0Jykge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy5yaWdodCA9IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzA5O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGlmIChpY29uUG9zaXRpb24gPT09ICdsZWZ0Jykge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy5sZWZ0ID0gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICByZXR1cm4gcGFkZGluZztcclxufVxyXG5leHBvcnQgY29uc3QgaW5wdXRCYXNlU3R5bGVzID0gKHByb3BzKSA9PiBjc3MgYFxuICBib3JkZXI6IDA7XG4gIGJvcmRlci1yYWRpdXM6ICR7cHJvcHMudGhlbWUuYm9yZGVyUmFkaXVzfTtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIGNvbG9yOiAke3Byb3BzLmlzSW52ZXJzZVxyXG4gICAgPyBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDEwMFxyXG4gICAgOiBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDcwMH07XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBmb250LXNpemU6ICR7cHJvcHMudGhlbWUudHlwZVNjYWxlLnNpemUwMy5mb250U2l6ZX07XG4gIGxpbmUtaGVpZ2h0OiAke3Byb3BzLnRoZW1lLnR5cGVTY2FsZS5zaXplMDMubGluZUhlaWdodH07XG4gIGZvbnQtZmFtaWx5OiAke3Byb3BzLnRoZW1lLmJvZHlGb250fTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBwYWRkaW5nOiAke3Byb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzAzfTtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICB3aWR0aDogMTAwJTtcblxuICAke3Byb3BzLmlucHV0U2l6ZSA9PT0gJ2xhcmdlJyAmJlxyXG4gICAgY3NzIGBcbiAgICBmb250LXNpemU6ICR7cHJvcHMudGhlbWUudHlwZVNjYWxlLnNpemUwNC5mb250U2l6ZX07XG4gICAgbGluZS1oZWlnaHQ6ICR7cHJvcHMudGhlbWUudHlwZVNjYWxlLnNpemUwNC5saW5lSGVpZ2h0fTtcbiAgICBwYWRkaW5nOiAke3Byb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzA0fTtcbiAgYH1cblxuICBwYWRkaW5nLWxlZnQ6ICR7Z2V0SW5wdXRQYWRkaW5nKHByb3BzKS5sZWZ0fTtcbiAgcGFkZGluZy1yaWdodDogJHtnZXRJbnB1dFBhZGRpbmcocHJvcHMpLnJpZ2h0fTtcblxuICAmOjpwbGFjZWhvbGRlciB7XG4gICAgY29sb3I6ICR7cHJvcHMuaXNJbnZlcnNlXHJcbiAgICA/IHRyYW5zcGFyZW50aXplKDAuMywgcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWwxMDApXHJcbiAgICA6IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsNTAwfTtcbiAgfVxuXG4gICY6Zm9jdXMge1xuICAgIG91dGxpbmU6IDA7XG4gIH1cblxuICAmW3R5cGU9J3NlYXJjaCddIHtcbiAgICAmOjotd2Via2l0LXNlYXJjaC1kZWNvcmF0aW9uLFxuICAgICY6Oi13ZWJraXQtc2VhcmNoLWNhbmNlbC1idXR0b24sXG4gICAgJjo6LXdlYmtpdC1zZWFyY2gtcmVzdWx0cy1idXR0b24sXG4gICAgJjo6LXdlYmtpdC1zZWFyY2gtcmVzdWx0cy1kZWNvcmF0aW9uIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICB9XG5cbiAgJHtwcm9wcy5kaXNhYmxlZCAmJlxyXG4gICAgY3NzIGBcbiAgICBjb2xvcjogJHtwcm9wcy5pc0ludmVyc2VcclxuICAgICAgICA/IHRyYW5zcGFyZW50aXplKDAuNiwgcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWwxMDApXHJcbiAgICAgICAgOiB0cmFuc3BhcmVudGl6ZSgwLjQsIHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsNTAwKX07XG4gICAgY3Vyc29yOiBub3QtYWxsb3dlZDtcblxuICAgICY6OnBsYWNlaG9sZGVyIHtcbiAgICAgIGNvbG9yOiAke3Byb3BzLmlzSW52ZXJzZVxyXG4gICAgICAgID8gdHJhbnNwYXJlbnRpemUoMC44LCBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDEwMClcclxuICAgICAgICA6IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsNTAwfTtcbiAgICAgIG9wYWNpdHk6ICR7cHJvcHMuaXNJbnZlcnNlID8gMC40IDogMC42fTtcbiAgICB9XG4gIGB9XG5cbiAgJjotd2Via2l0LWF1dG9maWxsLFxuICAmOi13ZWJraXQtYXV0b2ZpbGw6Zm9jdXMsXG4gICY6LXdlYmtpdC1hdXRvZmlsbDpob3ZlcixcbiAgJjotd2Via2l0LWF1dG9maWxsOmFjdGl2ZSB7XG4gICAgYm94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xuICAgIC13ZWJraXQtYmFja2dyb3VuZC1jbGlwOiB0ZXh0O1xuICAgIC13ZWJraXQtdGV4dC1maWxsLWNvbG9yOiAke3Byb3BzLmlzSW52ZXJzZVxyXG4gICAgPyBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDEwMFxyXG4gICAgOiBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDcwMH0gIWltcG9ydGFudDtcbiAgICBjYXJldC1jb2xvcjogJHtwcm9wcy5pc0ludmVyc2VcclxuICAgID8gcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWwxMDBcclxuICAgIDogcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWw3MDB9ICFpbXBvcnRhbnQ7XG4gIH1cbmA7XHJcbmNvbnN0IElucHV0Q29udGFpbmVyID0gc3R5bGVkLmRpdiBgXG4gIGRpc3BsYXk6IGZsZXg7XG5gO1xyXG5leHBvcnQgY29uc3QgSW5wdXRXcmFwcGVyID0gc3R5bGVkLmRpdiBgXG4gICR7aW5wdXRXcmFwcGVyU3R5bGVzfVxuYDtcclxuY29uc3QgU3R5bGVkSW5wdXQgPSBzdHlsZWQuaW5wdXQgYFxuICAke2lucHV0QmFzZVN0eWxlc31cbmA7XHJcbmNvbnN0IEljb25XcmFwcGVyID0gc3R5bGVkLnNwYW4gYFxuICBib3R0b206ICR7cHJvcHMgPT4gKHByb3BzLmljb25Qb3NpdGlvbiA9PT0gJ3RvcCcgPyAnNDVweCcgOiAnaW5oZXJpdCcpfTtcbiAgY29sb3I6ICR7cHJvcHMgPT4gcHJvcHMuaXNJbnZlcnNlXHJcbiAgICA/IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsMTAwXHJcbiAgICA6IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsNzAwfTtcbiAgbGVmdDogJHtwcm9wcyA9PiBwcm9wcy5pY29uUG9zaXRpb24gPT09ICdsZWZ0JyA/IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzAzIDogJ2F1dG8nfTtcbiAgcmlnaHQ6ICR7cHJvcHMgPT4gcHJvcHMuaWNvblBvc2l0aW9uID09PSAncmlnaHQnXHJcbiAgICA/IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzAzXHJcbiAgICA6IHByb3BzLmljb25Qb3NpdGlvbiA9PT0gJ3RvcCdcclxuICAgICAgICA/ICczcHgnXHJcbiAgICAgICAgOiAnYXV0byd9O1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogJHtwcm9wcyA9PiBwcm9wcy5pY29uUG9zaXRpb24gPT09ICd0b3AnXHJcbiAgICA/ICdpbmhlcml0J1xyXG4gICAgOiBwcm9wcyA9PiBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwM307XG5cbiAgJHtwcm9wcyA9PiBwcm9wcy5pbnB1dFNpemUgPT09ICdsYXJnZScgJiZcclxuICAgIGNzcyBgXG4gICAgICBib3R0b206ICR7cHJvcHMuaWNvblBvc2l0aW9uID09PSAndG9wJyA/ICc2MnB4JyA6ICdpbmhlcml0J307XG4gICAgICBsZWZ0OiAke3Byb3BzLmljb25Qb3NpdGlvbiA9PT0gJ2xlZnQnXHJcbiAgICAgICAgPyBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwNFxyXG4gICAgICAgIDogJ2F1dG8nfTtcbiAgICAgIHJpZ2h0OiAke3Byb3BzLmljb25Qb3NpdGlvbiA9PT0gJ3JpZ2h0J1xyXG4gICAgICAgID8gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDRcclxuICAgICAgICA6IHByb3BzLmljb25Qb3NpdGlvbiA9PT0gJ3RvcCdcclxuICAgICAgICAgICAgPyAnM3B4J1xyXG4gICAgICAgICAgICA6ICdhdXRvJ307XG4gICAgICB0b3A6ICR7cHJvcHMuaWNvblBvc2l0aW9uID09PSAndG9wJ1xyXG4gICAgICAgID8gJ2luaGVyaXQnXHJcbiAgICAgICAgOiBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwNH07XG4gICAgYH1cbmA7XHJcbmZ1bmN0aW9uIGdldEljb25CdXR0b25TVkdTaXplKHByb3BzKSB7XHJcbiAgICBjb25zdCB7IGlzQ2xpY2thYmxlLCBpY29uUG9zaXRpb24sIGlucHV0U2l6ZSwgdGhlbWUgfSA9IHByb3BzO1xyXG4gICAgaWYgKGlzQ2xpY2thYmxlICYmIGljb25Qb3NpdGlvbiA9PT0gSW5wdXRJY29uUG9zaXRpb24udG9wKSB7XHJcbiAgICAgICAgaWYgKGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlKSB7XHJcbiAgICAgICAgICAgIHJldHVybiBgJHt0aGVtZS5pY29uU2l6ZXMubWVkaXVtfXB4YDtcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIGAke3RoZW1lLmljb25TaXplcy5zbWFsbH1weGA7XHJcbiAgICB9XHJcbiAgICBpZiAoaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2UpIHtcclxuICAgICAgICByZXR1cm4gYCR7dGhlbWUuaWNvblNpemVzLmxhcmdlfXB4YDtcclxuICAgIH1cclxuICAgIHJldHVybiBgJHt0aGVtZS5pY29uU2l6ZXMubWVkaXVtfXB4YDtcclxufVxyXG5mdW5jdGlvbiBnZXRIZWxwTGlua1NWR1NpemUocHJvcHMpIHtcclxuICAgIGNvbnN0IHsgaW5wdXRTaXplLCB0aGVtZSB9ID0gcHJvcHM7XHJcbiAgICBpZiAoaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2UpIHtcclxuICAgICAgICByZXR1cm4gYCR7dGhlbWUuaWNvblNpemVzLm1lZGl1bX1weGA7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gYCR7dGhlbWUuaWNvblNpemVzLnNtYWxsfXB4YDtcclxufVxyXG5leHBvcnQgZnVuY3Rpb24gZ2V0SGVscEljb25CdXR0b25TaXplKHByb3BzKSB7XHJcbiAgICBjb25zdCB7IGlucHV0U2l6ZSwgdGhlbWUgfSA9IHByb3BzO1xyXG4gICAgaWYgKGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlKSB7XHJcbiAgICAgICAgcmV0dXJuIHRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzA5O1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIHRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzA3O1xyXG59XHJcbmZ1bmN0aW9uIGdldEljb25CdXR0b25UcmFuc2Zvcm0ocHJvcHMpIHtcclxuICAgIGNvbnN0IHsgaXNDbGlja2FibGUsIGljb25Qb3NpdGlvbiwgaW5wdXRTaXplLCBoYXNDaGlsZHJlbiwgdGhlbWUgfSA9IHByb3BzO1xyXG4gICAgY29uc3QgcG9zaXRpb24gPSB7IHg6ICcnLCB5OiAnJyB9O1xyXG4gICAgaWYgKGljb25Qb3NpdGlvbiA9PT0gSW5wdXRJY29uUG9zaXRpb24udG9wKSB7XHJcbiAgICAgICAgaWYgKGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlKSB7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uLnggPSAnLTMwcHgnO1xyXG4gICAgICAgICAgICBwb3NpdGlvbi55ID0gJzJweCc7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2UgaWYgKGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLm1lZGl1bSkge1xyXG4gICAgICAgICAgICBwb3NpdGlvbi54ID0gJy0yOHB4JztcclxuICAgICAgICAgICAgcG9zaXRpb24ueSA9ICc1cHgnO1xyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gcG9zaXRpb247XHJcbiAgICB9XHJcbiAgICBpZiAoaXNDbGlja2FibGUpIHtcclxuICAgICAgICBpZiAoaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2UpIHtcclxuICAgICAgICAgICAgaWYgKGhhc0NoaWxkcmVuKSB7XHJcbiAgICAgICAgICAgICAgICBwb3NpdGlvbi54ID0gJy00M3B4JztcclxuICAgICAgICAgICAgICAgIHBvc2l0aW9uLnkgPSAnMTRweCc7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICAgICAgICBwb3NpdGlvbi54ID0gJy00OXB4JztcclxuICAgICAgICAgICAgICAgIHBvc2l0aW9uLnkgPSAnOHB4JztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBlbHNlIGlmIChpbnB1dFNpemUgPT09IElucHV0U2l6ZS5tZWRpdW0pIHtcclxuICAgICAgICAgICAgcG9zaXRpb24ueCA9ICctMzVweCc7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uLnkgPSAnNnB4JztcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIHBvc2l0aW9uO1xyXG4gICAgfVxyXG4gICAgaWYgKGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlKSB7XHJcbiAgICAgICAgcG9zaXRpb24ueCA9IGAtJHt0aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcxMH1gO1xyXG4gICAgICAgIHBvc2l0aW9uLnkgPSB0aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwMztcclxuICAgIH1cclxuICAgIGVsc2UgaWYgKGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLm1lZGl1bSkge1xyXG4gICAgICAgIHBvc2l0aW9uLnggPSAnLTI0cHgnO1xyXG4gICAgICAgIHBvc2l0aW9uLnkgPSAnN3B4JztcclxuICAgIH1cclxuICAgIHJldHVybiBwb3NpdGlvbjtcclxufVxyXG5leHBvcnQgY29uc3QgSWNvbkJ1dHRvbkNvbnRhaW5lciA9IHN0eWxlZC5zcGFuIGBcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGJvdHRvbTogJHtwcm9wcyA9PiAocHJvcHMuaWNvblBvc2l0aW9uID09PSAndG9wJyA/ICc0MHB4JyA6ICdpbmhlcml0Jyl9O1xuICBoZWlnaHQ6IGF1dG87XG4gIG1hcmdpbjogMDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aWR0aDogMDtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoXG4gICAgJHtwcm9wcyA9PiBnZXRJY29uQnV0dG9uVHJhbnNmb3JtKHByb3BzKS54fSxcbiAgICAke3Byb3BzID0+IGdldEljb25CdXR0b25UcmFuc2Zvcm0ocHJvcHMpLnl9XG4gICk7XG4gIHN2ZyB7XG4gICAgaGVpZ2h0OiAke3Byb3BzID0+IGdldEljb25CdXR0b25TVkdTaXplKHByb3BzKX07XG4gICAgd2lkdGg6ICR7cHJvcHMgPT4gZ2V0SWNvbkJ1dHRvblNWR1NpemUocHJvcHMpfTtcbiAgfVxuYDtcclxuY29uc3QgUGFzc3dvcmRCdXR0b25Db250YWluZXIgPSBzdHlsZWQuc3BhbiBgXG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICB3aWR0aDogMDtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoXG4gICAgJHtwcm9wcyA9PiBwcm9wcy5zaXplID09PSBJbnB1dFNpemUubGFyZ2VcclxuICAgID8gYCR7LXByb3BzLmJ1dHRvbldpZHRoIC0gOH1weGBcclxuICAgIDogYCR7LXByb3BzLmJ1dHRvbldpZHRoIC0gNn1weGB9LFxuICAgICR7cHJvcHMgPT4gcHJvcHMuc2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlID8gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDMgOiAnNnB4J31cbiAgKTtcbmA7XHJcbmZ1bmN0aW9uIGdldENsZWFyYWJsZVBvc2l0aW9uKHByb3BzKSB7XHJcbiAgICBpZiAocHJvcHMuaWNvblBvc2l0aW9uID09PSAncmlnaHQnICYmIHByb3BzLmljb24pIHtcclxuICAgICAgICBpZiAocHJvcHMuaW5wdXRTaXplID09PSAnbGFyZ2UnKSB7XHJcbiAgICAgICAgICAgIHJldHVybiBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcxMztcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuICc3MnB4JztcclxuICAgIH1cclxuICAgIGlmIChwcm9wcy5pbnB1dFNpemUgPT09ICdsYXJnZScpIHtcclxuICAgICAgICByZXR1cm4gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMTA7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gJzM0cHgnO1xyXG59XHJcbmNvbnN0IElzQ2xlYXJhYmxlQ29udGFpbmVyID0gc3R5bGVkLnNwYW4gYFxuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgbWFyZ2luOiAwO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGhlaWdodDogYXV0bztcbiAgd2lkdGg6IDA7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKFxuICAgIC0ke3Byb3BzID0+IGdldENsZWFyYWJsZVBvc2l0aW9uKHByb3BzKX0sXG4gICAgJHtwcm9wcyA9PiBwcm9wcy5pbnB1dFNpemUgPT09IElucHV0U2l6ZS5sYXJnZVxyXG4gICAgPyBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwM1xyXG4gICAgOiAnNnB4J31cbiAgKTtcbmA7XHJcbmZ1bmN0aW9uIGdldEljb25TaXplKHNpemUsIHRoZW1lLCBpY29uUG9zaXRpb24pIHtcclxuICAgIHN3aXRjaCAoc2l6ZSkge1xyXG4gICAgICAgIGNhc2UgJ2xhcmdlJzpcclxuICAgICAgICAgICAgaWYgKGljb25Qb3NpdGlvbiA9PT0gSW5wdXRJY29uUG9zaXRpb24udG9wKSB7XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gdGhlbWUuaWNvblNpemVzLm1lZGl1bTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICByZXR1cm4gdGhlbWUuaWNvblNpemVzLmxhcmdlO1xyXG4gICAgICAgIGRlZmF1bHQ6XHJcbiAgICAgICAgICAgIGlmIChpY29uUG9zaXRpb24gPT09IElucHV0SWNvblBvc2l0aW9uLnRvcCkge1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuIHRoZW1lLmljb25TaXplcy5zbWFsbDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICByZXR1cm4gdGhlbWUuaWNvblNpemVzLm1lZGl1bTtcclxuICAgIH1cclxufVxyXG5leHBvcnQgY29uc3QgaXNMZWZ0T3JIaWRkZW4gPSAoeyBsYWJlbFBvc2l0aW9uLCBpc0xhYmVsVmlzdWFsbHlIaWRkZW4sIH0pID0+IGxhYmVsUG9zaXRpb24gPT09IExhYmVsUG9zaXRpb24ubGVmdCB8fCBpc0xhYmVsVmlzdWFsbHlIaWRkZW47XHJcbmV4cG9ydCBjb25zdCBIZWxwTGlua0NvbnRhaW5lciA9IHN0eWxlZC5zcGFuIGBcbiAgcG9zaXRpb246ICR7cHJvcHMgPT4gKGlzTGVmdE9ySGlkZGVuKHByb3BzKSA/ICdyZWxhdGl2ZScgOiAnYWJzb2x1dGUnKX07XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXG4gIGhlaWdodDogJHtwcm9wcyA9PiAoaXNMZWZ0T3JIaWRkZW4ocHJvcHMpID8gJ2F1dG8nIDogJ2ZpdC1jb250ZW50Jyl9O1xuICBtYXJnaW4taW5saW5lLXN0YXJ0OiAke3Byb3BzID0+IGlzTGVmdE9ySGlkZGVuKHByb3BzKSA/IGAke3Byb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzAzfWAgOiAnYXV0byd9O1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoXG4gICAgJHtwcm9wcyA9PiBpc0xlZnRPckhpZGRlbihwcm9wcylcclxuICAgID8gJzAnXHJcbiAgICA6IGBjYWxjKC0xMDAlIC0gJHtwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwM30pYH1cbiAgKTtcbiAgJHtDaGlsZHJlbldyYXBwZXJ9ID4gc3ZnIHtcbiAgICBoZWlnaHQ6ICR7cHJvcHMgPT4gZ2V0SGVscExpbmtTVkdTaXplKHByb3BzKX07XG4gICAgd2lkdGg6ICR7cHJvcHMgPT4gZ2V0SGVscExpbmtTVkdTaXplKHByb3BzKX07XG4gIH1cbiAgYnV0dG9uIHtcbiAgICBoZWlnaHQ6ICR7cHJvcHMgPT4gZ2V0SGVscEljb25CdXR0b25TaXplKHByb3BzKX07XG4gICAgd2lkdGg6ICR7cHJvcHMgPT4gZ2V0SGVscEljb25CdXR0b25TaXplKHByb3BzKX07XG4gIH1cbiAgaW5zZXQtaW5saW5lLWVuZDogJHtwcm9wcyA9PiAoaXNMZWZ0T3JIaWRkZW4ocHJvcHMpID8gJ2F1dG8nIDogJzAnKX07XG5gO1xyXG5leHBvcnQgY29uc3QgSW5wdXRCYXNlID0gUmVhY3QuZm9yd2FyZFJlZigocHJvcHMsIGZvcndhcmRlZFJlZikgPT4ge1xyXG4gICAgY29uc3QgeyBjaGlsZHJlbiwgY29udGFpbmVyU3R5bGUsIGRlZmF1bHRWYWx1ZSwgZGlzYWJsZWQsIGhhc0NoYXJhY3RlckNvdW50ZXIsIGhhc0Vycm9yLCBpY29uLCBpY29uQXJpYUxhYmVsLCBpY29uUmVmLCBpc0NsZWFyYWJsZSwgaXNQYXNzd29yZElucHV0LCBpc1ByZWRpY3RpdmUsIG1heENvdW50LCBtYXhMZW5ndGgsIG9uQ2xlYXIsIG9uSWNvbkNsaWNrLCBvbkljb25LZXlEb3duLCBvbkRhdGVDaGFuZ2UsIGlucHV0TGVuZ3RoLCBpbnB1dFNpemUsIGlucHV0U3R5bGUsIGlucHV0V3JhcHBlclN0eWxlLCB0ZXN0SWQsIHR5cGUsIHNldFJlZmVyZW5jZSwgaXNMYWJlbFZpc3VhbGx5SGlkZGVuLCBsYWJlbFBvc2l0aW9uLCAuLi5vdGhlciB9ID0gcHJvcHM7XHJcbiAgICBjb25zdCBpMThuID0gUmVhY3QudXNlQ29udGV4dChJMThuQ29udGV4dCk7XHJcbiAgICBjb25zdCB0aGVtZSA9IFJlYWN0LnVzZUNvbnRleHQoVGhlbWVDb250ZXh0KTtcclxuICAgIGNvbnN0IGljb25Qb3NpdGlvbiA9IGljb24gJiYgb25JY29uQ2xpY2tcclxuICAgICAgICA/IElucHV0SWNvblBvc2l0aW9uLnJpZ2h0XHJcbiAgICAgICAgOiBpY29uICYmICFwcm9wcy5pY29uUG9zaXRpb25cclxuICAgICAgICAgICAgPyBJbnB1dEljb25Qb3NpdGlvbi5sZWZ0XHJcbiAgICAgICAgICAgIDogcHJvcHMuaWNvblBvc2l0aW9uO1xyXG4gICAgY29uc3QgW3ZhbHVlLCBzZXRWYWx1ZV0gPSBSZWFjdC51c2VTdGF0ZShwcm9wcy5kZWZhdWx0VmFsdWUgIT09IHVuZGVmaW5lZCAmJiBwcm9wcy5kZWZhdWx0VmFsdWUgIT09IG51bGxcclxuICAgICAgICA/IHByb3BzLmRlZmF1bHRWYWx1ZVxyXG4gICAgICAgIDogcHJvcHMudmFsdWUgfHwgJycpO1xyXG4gICAgY29uc3QgbWF4TGVuZ3RoTnVtID0gIWhhc0NoYXJhY3RlckNvdW50ZXIgJiYgbWF4TGVuZ3RoID8gbWF4TGVuZ3RoIDogdW5kZWZpbmVkO1xyXG4gICAgUmVhY3QudXNlRWZmZWN0KCgpID0+IHtcclxuICAgICAgICBpZiAocHJvcHMudmFsdWUgIT09IHVuZGVmaW5lZCAmJiBwcm9wcy52YWx1ZSAhPT0gbnVsbCkge1xyXG4gICAgICAgICAgICBzZXRWYWx1ZShwcm9wcy52YWx1ZSk7XHJcbiAgICAgICAgfVxyXG4gICAgfSwgW3Byb3BzLnZhbHVlXSk7XHJcbiAgICBjb25zdCBpbnB1dFJlZiA9IFJlYWN0LnVzZVJlZigpO1xyXG4gICAgY29uc3QgcmVmID0gdXNlRm9ya2VkUmVmKGZvcndhcmRlZFJlZiwgaW5wdXRSZWYpO1xyXG4gICAgZnVuY3Rpb24gaGFuZGxlQ2xlYXJJbnB1dCgpIHtcclxuICAgICAgICBvbkNsZWFyICYmIHR5cGVvZiBvbkNsZWFyID09PSAnZnVuY3Rpb24nICYmIG9uQ2xlYXIoKTtcclxuICAgICAgICBzZXRWYWx1ZSgnJyk7XHJcbiAgICAgICAgb25EYXRlQ2hhbmdlICYmIHR5cGVvZiBvbkRhdGVDaGFuZ2UgPT09ICdmdW5jdGlvbicgJiYgb25EYXRlQ2hhbmdlKG51bGwpO1xyXG4gICAgICAgIGlucHV0UmVmLmN1cnJlbnQuZm9jdXMoKTtcclxuICAgIH1cclxuICAgIGZ1bmN0aW9uIGhhbmRsZUNoYW5nZShldmVudCkge1xyXG4gICAgICAgIHByb3BzLm9uQ2hhbmdlICYmXHJcbiAgICAgICAgICAgIHR5cGVvZiBwcm9wcy5vbkNoYW5nZSA9PT0gJ2Z1bmN0aW9uJyAmJlxyXG4gICAgICAgICAgICBwcm9wcy5vbkNoYW5nZShldmVudCk7XHJcbiAgICAgICAgc2V0VmFsdWUoZXZlbnQudGFyZ2V0LnZhbHVlKTtcclxuICAgICAgICBpZiAoIWV2ZW50LnRhcmdldC52YWx1ZSAmJlxyXG4gICAgICAgICAgICBvbkRhdGVDaGFuZ2UgJiZcclxuICAgICAgICAgICAgdHlwZW9mIG9uRGF0ZUNoYW5nZSA9PT0gJ2Z1bmN0aW9uJylcclxuICAgICAgICAgICAgb25EYXRlQ2hhbmdlKG51bGwpO1xyXG4gICAgfVxyXG4gICAgY29uc3QgcGFzc3dvcmRCdG5XaWR0aCA9ICgpID0+IHtcclxuICAgICAgICBjb25zdCBidG5XaWR0aCA9IGNoaWxkcmVuPy5wcm9wcz8uY2hpbGRyZW4/LlswXT8ucmVmPy5jdXJyZW50Py5vZmZzZXRXaWR0aDtcclxuICAgICAgICBpZiAodHlwZW9mIGJ0bldpZHRoID09PSAnbnVtYmVyJykge1xyXG4gICAgICAgICAgICByZXR1cm4gYnRuV2lkdGg7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgICAvLyBXaGVuIFBhc3N3b3JkQnV0dG9uIGlzIHVzZWQgaW5zaWRlIFNjaGVtYVJlbmRlcmVyLCBpdCBkb2Vzbid0IGhhdmUgY2hpbGRyZW4uXHJcbiAgICAgICAgICAgIC8vIFdlJ2xsIHVzZSB0aGUgZGVmYXVsdCBidXR0b24gc2l6ZXMuXHJcbiAgICAgICAgICAgIGlmIChwcm9wcy5pbnB1dFNpemUgPT09IElucHV0U2l6ZS5sYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuIDY0O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHJldHVybiA1NDtcclxuICAgICAgICB9XHJcbiAgICB9O1xyXG4gICAgcmV0dXJuIChSZWFjdC5jcmVhdGVFbGVtZW50KFwiZGl2XCIsIHsgcmVmOiBzZXRSZWZlcmVuY2UgfSxcclxuICAgICAgICBSZWFjdC5jcmVhdGVFbGVtZW50KElucHV0Q29udGFpbmVyLCB7IHN0eWxlOiBpbnB1dFdyYXBwZXJTdHlsZSwgXCJkYXRhLXRlc3RpZFwiOiBgJHt0ZXN0SWR9LXdyYXBwZXJgIH0sXHJcbiAgICAgICAgICAgIFJlYWN0LmNyZWF0ZUVsZW1lbnQoSW5wdXRXcmFwcGVyLCB7IGRpc2FibGVkOiBkaXNhYmxlZCwgaWNvblBvc2l0aW9uOiBpY29uUG9zaXRpb24sIGlzSW52ZXJzZTogcHJvcHMuaXNJbnZlcnNlLCBpbnB1dFNpemU6IGlucHV0U2l6ZSA/PyBJbnB1dFNpemUubWVkaXVtLCB0aGVtZTogdGhlbWUsIHN0eWxlOiBjb250YWluZXJTdHlsZSwgaGFzRXJyb3I6IGhhc0Vycm9yLCBpc0NsZWFyYWJsZTogaXNDbGVhcmFibGUsIHdpZHRoOiBwcm9wcy53aWR0aCB9LFxyXG4gICAgICAgICAgICAgICAgUmVhY3QuY3JlYXRlRWxlbWVudChTdHlsZWRJbnB1dCwgT2JqZWN0LmFzc2lnbih7fSwgb3RoZXIsIHsgXCJhcmlhLWludmFsaWRcIjogaGFzRXJyb3IsIGRpc2FibGVkOiBkaXNhYmxlZCwgXCJkYXRhLXRlc3RpZFwiOiB0ZXN0SWQsIGhhc0NoYXJhY3RlckNvdW50ZXI6IGhhc0NoYXJhY3RlckNvdW50ZXIsIGljb25Qb3NpdGlvbjogaWNvblBvc2l0aW9uLCBpbnB1dFNpemU6IGlucHV0U2l6ZSA/PyBJbnB1dFNpemUubWVkaXVtLCBpc0NsZWFyYWJsZTogdHlwZSA9PT0gSW5wdXRUeXBlLnNlYXJjaFxyXG4gICAgICAgICAgICAgICAgICAgICAgICA/IGlzQ2xlYXJhYmxlXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDogaW5wdXRXcmFwcGVyU3R5bGU/LndpZHRoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA/IGlzQ2xlYXJhYmxlXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IGlzQ2xlYXJhYmxlICYmIGlucHV0TGVuZ3RoID4gMCwgaXNJbnZlcnNlOiB1c2VJc0ludmVyc2UocHJvcHMuaXNJbnZlcnNlKSwgaXNQcmVkaWN0aXZlOiBpc1ByZWRpY3RpdmUsIGhhc0Vycm9yOiBoYXNFcnJvciwgcmVmOiByZWYsIG1heExlbmd0aDogbWF4TGVuZ3RoTnVtLCBvbkNoYW5nZTogaGFuZGxlQ2hhbmdlLCBzdHlsZTogaW5wdXRTdHlsZSwgdGhlbWU6IHRoZW1lLCB0eXBlOiB0eXBlID8gdHlwZSA6IElucHV0VHlwZS50ZXh0LCB2YWx1ZTogdmFsdWUgfSkpLFxyXG4gICAgICAgICAgICAgICAgaWNvbiAmJiAhb25JY29uQ2xpY2sgJiYgKFJlYWN0LmNyZWF0ZUVsZW1lbnQoSWNvbldyYXBwZXIsIHsgXCJhcmlhLWxhYmVsXCI6IGljb25BcmlhTGFiZWwsIGljb25Qb3NpdGlvbjogaWNvblBvc2l0aW9uLCBpbnB1dFNpemU6IGlucHV0U2l6ZSA/PyBJbnB1dFNpemUubWVkaXVtLCBpc0ludmVyc2U6IHByb3BzLmlzSW52ZXJzZSwgaXNQcmVkaWN0aXZlOiBpc1ByZWRpY3RpdmUsIHRoZW1lOiB0aGVtZSwgZGlzYWJsZWQ6IGRpc2FibGVkIH0sIFJlYWN0LkNoaWxkcmVuLm9ubHkoUmVhY3QuY2xvbmVFbGVtZW50KGljb24sIHtcclxuICAgICAgICAgICAgICAgICAgICBzaXplOiBnZXRJY29uU2l6ZShpbnB1dFNpemUgPz8gSW5wdXRTaXplLm1lZGl1bSwgdGhlbWUsIGljb25Qb3NpdGlvbiksXHJcbiAgICAgICAgICAgICAgICB9KSkpKSksXHJcbiAgICAgICAgICAgIGlzQ2xlYXJhYmxlICYmIHZhbHVlICE9PSAnJyAmJiAoUmVhY3QuY3JlYXRlRWxlbWVudChJc0NsZWFyYWJsZUNvbnRhaW5lciwgeyB0aGVtZTogdGhlbWUsIGljb25Qb3NpdGlvbjogaWNvblBvc2l0aW9uLCBpbnB1dFNpemU6IGlucHV0U2l6ZSwgaWNvbjogaWNvbiB9LFxyXG4gICAgICAgICAgICAgICAgUmVhY3QuY3JlYXRlRWxlbWVudChJY29uQnV0dG9uLCB7IFwiYXJpYS1sYWJlbFwiOiBpMThuLmlucHV0LmlzQ2xlYXJhYmxlQXJpYUxhYmVsLCBkaXNhYmxlZDogZGlzYWJsZWQsIGljb246IFJlYWN0LmNyZWF0ZUVsZW1lbnQoQ2xlYXJJY29uLCBudWxsKSwgaXNJbnZlcnNlOiBwcm9wcy5pc0ludmVyc2UsIG9uQ2xpY2s6IGhhbmRsZUNsZWFySW5wdXQsIG9uS2V5RG93bjogb25JY29uS2V5RG93biwgcmVmOiBpY29uUmVmLCBzaGFwZTogQnV0dG9uU2hhcGUuZmlsbCwgc2l6ZTogaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2VcclxuICAgICAgICAgICAgICAgICAgICAgICAgPyBCdXR0b25TaXplLm1lZGl1bVxyXG4gICAgICAgICAgICAgICAgICAgICAgICA6IEJ1dHRvblNpemUuc21hbGwsIHRlc3RJZDogXCJjbGVhci1idXR0b25cIiwgdHlwZTogQnV0dG9uVHlwZS5idXR0b24sIHZhcmlhbnQ6IEJ1dHRvblZhcmlhbnQubGluayB9KSkpLFxyXG4gICAgICAgICAgICBvbkljb25DbGljayAmJiAoUmVhY3QuY3JlYXRlRWxlbWVudChJY29uQnV0dG9uQ29udGFpbmVyLCB7IGljb25Qb3NpdGlvbjogaWNvblBvc2l0aW9uLCBpbnB1dFNpemU6IGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlXHJcbiAgICAgICAgICAgICAgICAgICAgPyBJbnB1dFNpemUubGFyZ2VcclxuICAgICAgICAgICAgICAgICAgICA6IElucHV0U2l6ZS5tZWRpdW0sIHRoZW1lOiB0aGVtZSwgaXNDbGlja2FibGU6IHRydWUgfSxcclxuICAgICAgICAgICAgICAgIFJlYWN0LmNyZWF0ZUVsZW1lbnQoSWNvbkJ1dHRvbiwgeyBcImFyaWEtbGFiZWxcIjogaWNvbkFyaWFMYWJlbCwgaWNvbjogaWNvbiwgaXNJbnZlcnNlOiBwcm9wcy5pc0ludmVyc2UsIG9uQ2xpY2s6IG9uSWNvbkNsaWNrLCBvbktleURvd246IG9uSWNvbktleURvd24sIHJlZjogaWNvblJlZiwgZGlzYWJsZWQ6IGRpc2FibGVkLCBzaGFwZTogQnV0dG9uU2hhcGUuZmlsbCwgc2l6ZTogaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2VcclxuICAgICAgICAgICAgICAgICAgICAgICAgPyBCdXR0b25TaXplLm1lZGl1bVxyXG4gICAgICAgICAgICAgICAgICAgICAgICA6IEJ1dHRvblNpemUuc21hbGwsIHR5cGU6IEJ1dHRvblR5cGUuYnV0dG9uLCB2YXJpYW50OiBCdXR0b25WYXJpYW50LmxpbmsgfSkpKSxcclxuICAgICAgICAgICAgaXNQYXNzd29yZElucHV0ID8gKFJlYWN0LmNyZWF0ZUVsZW1lbnQoUGFzc3dvcmRCdXR0b25Db250YWluZXIsIHsgc2l6ZTogaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2VcclxuICAgICAgICAgICAgICAgICAgICA/IElucHV0U2l6ZS5sYXJnZVxyXG4gICAgICAgICAgICAgICAgICAgIDogSW5wdXRTaXplLm1lZGl1bSwgdGhlbWU6IHRoZW1lLCBidXR0b25XaWR0aDogcGFzc3dvcmRCdG5XaWR0aCgpIH0sIGNoaWxkcmVuKSkgOiAoUmVhY3QuY3JlYXRlRWxlbWVudChIZWxwTGlua0NvbnRhaW5lciwgeyBpc0xhYmVsVmlzdWFsbHlIaWRkZW46IGlzTGFiZWxWaXN1YWxseUhpZGRlbiB8fCBmYWxzZSwgaW5wdXRTaXplOiBpbnB1dFNpemUgPz8gSW5wdXRTaXplLm1lZGl1bSwgbGFiZWxQb3NpdGlvbjogbGFiZWxQb3NpdGlvbiA/PyBMYWJlbFBvc2l0aW9uLnRvcCwgdGhlbWU6IHRoZW1lIH0sIGNoaWxkcmVuKSkpKSk7XHJcbn0pO1xyXG4vLyMgc291cmNlTWFwcGluZ1VSTD1pbmRleC5qcy5tYXAiXX0= */"));
|
|
4942
|
+
})(inputBaseStyles, ";" + (process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImluZGV4LnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUF1TmlDIiwiZmlsZSI6ImluZGV4LnRzeCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIFJlYWN0IGZyb20gJ3JlYWN0JztcclxuaW1wb3J0IHsgY3NzIH0gZnJvbSAnQGVtb3Rpb24vcmVhY3QnO1xyXG5pbXBvcnQgc3R5bGVkIGZyb20gJ0BlbW90aW9uL3N0eWxlZCc7XHJcbmltcG9ydCB7IHRyYW5zcGFyZW50aXplIH0gZnJvbSAncG9saXNoZWQnO1xyXG5pbXBvcnQgeyBDbGVhckljb24gfSBmcm9tICdyZWFjdC1tYWdtYS1pY29ucyc7XHJcbmltcG9ydCB7IEkxOG5Db250ZXh0IH0gZnJvbSAnLi4vLi4vaTE4bic7XHJcbmltcG9ydCB7IHVzZUlzSW52ZXJzZSB9IGZyb20gJy4uLy4uL2ludmVyc2UnO1xyXG5pbXBvcnQgeyBUaGVtZUNvbnRleHQgfSBmcm9tICcuLi8uLi90aGVtZS9UaGVtZUNvbnRleHQnO1xyXG5pbXBvcnQgeyB1c2VGb3JrZWRSZWYgfSBmcm9tICcuLi8uLi91dGlscyc7XHJcbmltcG9ydCB7IEJ1dHRvblNoYXBlLCBCdXR0b25TaXplLCBCdXR0b25UeXBlLCBCdXR0b25WYXJpYW50IH0gZnJvbSAnLi4vQnV0dG9uJztcclxuaW1wb3J0IHsgSWNvbkJ1dHRvbiB9IGZyb20gJy4uL0ljb25CdXR0b24nO1xyXG5pbXBvcnQgeyBMYWJlbFBvc2l0aW9uIH0gZnJvbSAnLi4vTGFiZWwnO1xyXG5pbXBvcnQgeyBDaGlsZHJlbldyYXBwZXIgfSBmcm9tICcuLi9TdHlsZWRCdXR0b24nO1xyXG5leHBvcnQgdmFyIElucHV0U2l6ZTtcclxuKGZ1bmN0aW9uIChJbnB1dFNpemUpIHtcclxuICAgIElucHV0U2l6ZVtcImxhcmdlXCJdID0gXCJsYXJnZVwiO1xyXG4gICAgSW5wdXRTaXplW1wibWVkaXVtXCJdID0gXCJtZWRpdW1cIjtcclxufSkoSW5wdXRTaXplIHx8IChJbnB1dFNpemUgPSB7fSkpO1xyXG5leHBvcnQgdmFyIElucHV0VHlwZTtcclxuKGZ1bmN0aW9uIChJbnB1dFR5cGUpIHtcclxuICAgIElucHV0VHlwZVtcImVtYWlsXCJdID0gXCJlbWFpbFwiO1xyXG4gICAgSW5wdXRUeXBlW1wiZmlsZVwiXSA9IFwiZmlsZVwiO1xyXG4gICAgSW5wdXRUeXBlW1wibnVtYmVyXCJdID0gXCJudW1iZXJcIjtcclxuICAgIElucHV0VHlwZVtcInBhc3N3b3JkXCJdID0gXCJwYXNzd29yZFwiO1xyXG4gICAgSW5wdXRUeXBlW1wic2VhcmNoXCJdID0gXCJzZWFyY2hcIjtcclxuICAgIElucHV0VHlwZVtcInRleHRcIl0gPSBcInRleHRcIjtcclxuICAgIElucHV0VHlwZVtcInVybFwiXSA9IFwidXJsXCI7XHJcbiAgICBJbnB1dFR5cGVbXCJ0ZWxcIl0gPSBcInRlbFwiO1xyXG59KShJbnB1dFR5cGUgfHwgKElucHV0VHlwZSA9IHt9KSk7XHJcbmV4cG9ydCB2YXIgSW5wdXRJY29uUG9zaXRpb247XHJcbihmdW5jdGlvbiAoSW5wdXRJY29uUG9zaXRpb24pIHtcclxuICAgIElucHV0SWNvblBvc2l0aW9uW1widG9wXCJdID0gXCJ0b3BcIjtcclxuICAgIElucHV0SWNvblBvc2l0aW9uW1wibGVmdFwiXSA9IFwibGVmdFwiO1xyXG4gICAgSW5wdXRJY29uUG9zaXRpb25bXCJyaWdodFwiXSA9IFwicmlnaHRcIjtcclxufSkoSW5wdXRJY29uUG9zaXRpb24gfHwgKElucHV0SWNvblBvc2l0aW9uID0ge30pKTtcclxuZXhwb3J0IGNvbnN0IGlucHV0V3JhcHBlclN0eWxlcyA9IChwcm9wcykgPT4gY3NzIGBcbiAgZmxleDogMSAxIGF1dG87XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgd2lkdGg6ICR7cHJvcHMud2lkdGggfHwgJ2F1dG8nfTtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHtwcm9wcy5pc0ludmVyc2VcclxuICAgID8gdHJhbnNwYXJlbnRpemUoMC44LCBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDkwMClcclxuICAgIDogcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWwxMDB9O1xuICBib3JkZXItcmFkaXVzOiAke3Byb3BzLnRoZW1lLmJvcmRlclJhZGl1c307XG4gIGJvcmRlcjogMXB4IHNvbGlkXG4gICAgJHtwcm9wcy5pc0ludmVyc2VcclxuICAgID8gdHJhbnNwYXJlbnRpemUoMC41LCBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDEwMClcclxuICAgIDogcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWw1MDB9O1xuICBoZWlnaHQ6ICR7cHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDl9O1xuXG4gICY6Zm9jdXMtd2l0aGluIHtcbiAgICBvdXRsaW5lOiAycHggc29saWRcbiAgICAgICR7cHJvcHMuaXNJbnZlcnNlXHJcbiAgICA/IHByb3BzLnRoZW1lLmNvbG9ycy5mb2N1c0ludmVyc2VcclxuICAgIDogcHJvcHMudGhlbWUuY29sb3JzLmZvY3VzfTtcbiAgICBvdXRsaW5lLW9mZnNldDogLTFweDtcbiAgfVxuXG4gICR7cHJvcHMuaGFzRXJyb3IgJiZcclxuICAgIGNzcyBgXG4gICAgYm9yZGVyLWNvbG9yOiAke3Byb3BzLmlzSW52ZXJzZVxyXG4gICAgICAgID8gcHJvcHMudGhlbWUuY29sb3JzLmRhbmdlcjMwMFxyXG4gICAgICAgIDogcHJvcHMudGhlbWUuY29sb3JzLmRhbmdlcn07XG4gIGB9XG5cbiAgJHtwcm9wcy5kaXNhYmxlZCAmJlxyXG4gICAgY3NzIGBcbiAgICBib3JkZXItY29sb3I6ICR7cHJvcHMuaXNJbnZlcnNlXHJcbiAgICAgICAgPyB0cmFuc3BhcmVudGl6ZSgwLjg1LCBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDEwMClcclxuICAgICAgICA6IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsMzAwfTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAke3Byb3BzLmlzSW52ZXJzZVxyXG4gICAgICAgID8gdHJhbnNwYXJlbnRpemUoMC45LCBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDkwMClcclxuICAgICAgICA6IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsMjAwfTtcbiAgYH1cblxuICAke3Byb3BzLmlucHV0U2l6ZSA9PT0gJ2xhcmdlJyAmJlxyXG4gICAgY3NzIGBcbiAgICBoZWlnaHQ6ICR7cHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMTF9O1xuICBgfVxuYDtcclxuZnVuY3Rpb24gZ2V0SW5wdXRQYWRkaW5nKHByb3BzKSB7XHJcbiAgICBjb25zdCB7IGlucHV0U2l6ZSwgaXNDbGVhcmFibGUsIGljb25Qb3NpdGlvbiB9ID0gcHJvcHM7XHJcbiAgICBjb25zdCBwYWRkaW5nID0ge1xyXG4gICAgICAgIGxlZnQ6IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzAzLFxyXG4gICAgICAgIHJpZ2h0OiBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwMyxcclxuICAgIH07XHJcbiAgICBpZiAoaW5wdXRTaXplID09PSAnbGFyZ2UnKSB7XHJcbiAgICAgICAgaWYgKGlzQ2xlYXJhYmxlKSB7XHJcbiAgICAgICAgICAgIGlmIChpY29uUG9zaXRpb24gPT09ICdyaWdodCcpIHtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmcucmlnaHQgPSAnOTJweCc7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgZWxzZSBpZiAoaWNvblBvc2l0aW9uID09PSAnbGVmdCcpIHtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmcubGVmdCA9IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzExO1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy5yaWdodCA9IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzExO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgLy8gaWNvbiB0b3AsIG5vIGljb25cclxuICAgICAgICAgICAgICAgIHBhZGRpbmcucmlnaHQgPSBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcxMTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBlbHNlIHtcclxuICAgICAgICAgICAgaWYgKGljb25Qb3NpdGlvbiA9PT0gJ3JpZ2h0Jykge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy5yaWdodCA9IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzEwO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGlmIChpY29uUG9zaXRpb24gPT09ICdsZWZ0Jykge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy5sZWZ0ID0gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMTA7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICBlbHNlIGlmIChpbnB1dFNpemUgPT09ICdtZWRpdW0nKSB7XHJcbiAgICAgICAgaWYgKGlzQ2xlYXJhYmxlKSB7XHJcbiAgICAgICAgICAgIGlmIChpY29uUG9zaXRpb24gPT09ICdyaWdodCcpIHtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmcucmlnaHQgPSAnNjhweCc7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgZWxzZSBpZiAoaWNvblBvc2l0aW9uID09PSAnbGVmdCcpIHtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmcubGVmdCA9IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzA5O1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy5yaWdodCA9IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzA5O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgLy8gaWNvbiB0b3AsIG5vIGljb25cclxuICAgICAgICAgICAgICAgIHBhZGRpbmcucmlnaHQgPSBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwOTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBlbHNlIHtcclxuICAgICAgICAgICAgaWYgKGljb25Qb3NpdGlvbiA9PT0gJ3JpZ2h0Jykge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy5yaWdodCA9IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzA5O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGlmIChpY29uUG9zaXRpb24gPT09ICdsZWZ0Jykge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy5sZWZ0ID0gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICByZXR1cm4gcGFkZGluZztcclxufVxyXG5leHBvcnQgY29uc3QgaW5wdXRCYXNlU3R5bGVzID0gKHByb3BzKSA9PiBjc3MgYFxuICBib3JkZXI6IDA7XG4gIGJvcmRlci1yYWRpdXM6ICR7cHJvcHMudGhlbWUuYm9yZGVyUmFkaXVzfTtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIGNvbG9yOiAke3Byb3BzLmlzSW52ZXJzZVxyXG4gICAgPyBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDEwMFxyXG4gICAgOiBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDcwMH07XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBmb250LXNpemU6ICR7cHJvcHMudGhlbWUudHlwZVNjYWxlLnNpemUwMy5mb250U2l6ZX07XG4gIGxpbmUtaGVpZ2h0OiAke3Byb3BzLnRoZW1lLnR5cGVTY2FsZS5zaXplMDMubGluZUhlaWdodH07XG4gIGZvbnQtZmFtaWx5OiAke3Byb3BzLnRoZW1lLmJvZHlGb250fTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBwYWRkaW5nOiAke3Byb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzAzfTtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICB3aWR0aDogMTAwJTtcblxuICAke3Byb3BzLmlucHV0U2l6ZSA9PT0gJ2xhcmdlJyAmJlxyXG4gICAgY3NzIGBcbiAgICBmb250LXNpemU6ICR7cHJvcHMudGhlbWUudHlwZVNjYWxlLnNpemUwNC5mb250U2l6ZX07XG4gICAgbGluZS1oZWlnaHQ6ICR7cHJvcHMudGhlbWUudHlwZVNjYWxlLnNpemUwNC5saW5lSGVpZ2h0fTtcbiAgICBwYWRkaW5nOiAke3Byb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzA0fTtcbiAgYH1cblxuICBwYWRkaW5nLWxlZnQ6ICR7Z2V0SW5wdXRQYWRkaW5nKHByb3BzKS5sZWZ0fTtcbiAgcGFkZGluZy1yaWdodDogJHtnZXRJbnB1dFBhZGRpbmcocHJvcHMpLnJpZ2h0fTtcblxuICAmOjpwbGFjZWhvbGRlciB7XG4gICAgY29sb3I6ICR7cHJvcHMuaXNJbnZlcnNlXHJcbiAgICA/IHRyYW5zcGFyZW50aXplKDAuMywgcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWwxMDApXHJcbiAgICA6IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsNTAwfTtcbiAgfVxuXG4gICY6Zm9jdXMge1xuICAgIG91dGxpbmU6IDA7XG4gIH1cblxuICAmW3R5cGU9J3NlYXJjaCddIHtcbiAgICAmOjotd2Via2l0LXNlYXJjaC1kZWNvcmF0aW9uLFxuICAgICY6Oi13ZWJraXQtc2VhcmNoLWNhbmNlbC1idXR0b24sXG4gICAgJjo6LXdlYmtpdC1zZWFyY2gtcmVzdWx0cy1idXR0b24sXG4gICAgJjo6LXdlYmtpdC1zZWFyY2gtcmVzdWx0cy1kZWNvcmF0aW9uIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICB9XG5cbiAgJHtwcm9wcy5kaXNhYmxlZCAmJlxyXG4gICAgY3NzIGBcbiAgICBjb2xvcjogJHtwcm9wcy5pc0ludmVyc2VcclxuICAgICAgICA/IHRyYW5zcGFyZW50aXplKDAuNiwgcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWwxMDApXHJcbiAgICAgICAgOiB0cmFuc3BhcmVudGl6ZSgwLjQsIHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsNTAwKX07XG4gICAgY3Vyc29yOiBub3QtYWxsb3dlZDtcblxuICAgICY6OnBsYWNlaG9sZGVyIHtcbiAgICAgIGNvbG9yOiAke3Byb3BzLmlzSW52ZXJzZVxyXG4gICAgICAgID8gdHJhbnNwYXJlbnRpemUoMC44LCBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDEwMClcclxuICAgICAgICA6IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsNTAwfTtcbiAgICAgIG9wYWNpdHk6ICR7cHJvcHMuaXNJbnZlcnNlID8gMC40IDogMC42fTtcbiAgICB9XG4gIGB9XG5cbiAgJjotd2Via2l0LWF1dG9maWxsLFxuICAmOi13ZWJraXQtYXV0b2ZpbGw6Zm9jdXMsXG4gICY6LXdlYmtpdC1hdXRvZmlsbDpob3ZlcixcbiAgJjotd2Via2l0LWF1dG9maWxsOmFjdGl2ZSB7XG4gICAgYm94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xuICAgIC13ZWJraXQtYmFja2dyb3VuZC1jbGlwOiB0ZXh0O1xuICAgIC13ZWJraXQtdGV4dC1maWxsLWNvbG9yOiAke3Byb3BzLmlzSW52ZXJzZVxyXG4gICAgPyBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDEwMFxyXG4gICAgOiBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDcwMH0gIWltcG9ydGFudDtcbiAgICBjYXJldC1jb2xvcjogJHtwcm9wcy5pc0ludmVyc2VcclxuICAgID8gcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWwxMDBcclxuICAgIDogcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWw3MDB9ICFpbXBvcnRhbnQ7XG4gIH1cbmA7XHJcbmNvbnN0IElucHV0Q29udGFpbmVyID0gc3R5bGVkLmRpdiBgXG4gIGRpc3BsYXk6IGZsZXg7XG5gO1xyXG5leHBvcnQgY29uc3QgSW5wdXRXcmFwcGVyID0gc3R5bGVkLmRpdiBgXG4gICR7aW5wdXRXcmFwcGVyU3R5bGVzfVxuYDtcclxuY29uc3QgU3R5bGVkSW5wdXQgPSBzdHlsZWQuaW5wdXQgYFxuICAke2lucHV0QmFzZVN0eWxlc31cbmA7XHJcbmNvbnN0IEljb25XcmFwcGVyID0gc3R5bGVkLnNwYW4gYFxuICBib3R0b206ICR7cHJvcHMgPT4gKHByb3BzLmljb25Qb3NpdGlvbiA9PT0gJ3RvcCcgPyAnNDVweCcgOiAnaW5oZXJpdCcpfTtcbiAgY29sb3I6ICR7cHJvcHMgPT4gcHJvcHMuaXNJbnZlcnNlXHJcbiAgICA/IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsMTAwXHJcbiAgICA6IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsNzAwfTtcbiAgbGVmdDogJHtwcm9wcyA9PiBwcm9wcy5pY29uUG9zaXRpb24gPT09ICdsZWZ0JyA/IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzAzIDogJ2F1dG8nfTtcbiAgcmlnaHQ6ICR7cHJvcHMgPT4gcHJvcHMuaWNvblBvc2l0aW9uID09PSAncmlnaHQnXHJcbiAgICA/IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzAzXHJcbiAgICA6IHByb3BzLmljb25Qb3NpdGlvbiA9PT0gJ3RvcCdcclxuICAgICAgICA/ICczcHgnXHJcbiAgICAgICAgOiAnYXV0byd9O1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogJHtwcm9wcyA9PiBwcm9wcy5pY29uUG9zaXRpb24gPT09ICd0b3AnXHJcbiAgICA/ICdpbmhlcml0J1xyXG4gICAgOiBwcm9wcyA9PiBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwM307XG5cbiAgJHtwcm9wcyA9PiBwcm9wcy5pbnB1dFNpemUgPT09ICdsYXJnZScgJiZcclxuICAgIGNzcyBgXG4gICAgICBib3R0b206ICR7cHJvcHMuaWNvblBvc2l0aW9uID09PSAndG9wJyA/ICc2MnB4JyA6ICdpbmhlcml0J307XG4gICAgICBsZWZ0OiAke3Byb3BzLmljb25Qb3NpdGlvbiA9PT0gJ2xlZnQnXHJcbiAgICAgICAgPyBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwNFxyXG4gICAgICAgIDogJ2F1dG8nfTtcbiAgICAgIHJpZ2h0OiAke3Byb3BzLmljb25Qb3NpdGlvbiA9PT0gJ3JpZ2h0J1xyXG4gICAgICAgID8gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDRcclxuICAgICAgICA6IHByb3BzLmljb25Qb3NpdGlvbiA9PT0gJ3RvcCdcclxuICAgICAgICAgICAgPyAnM3B4J1xyXG4gICAgICAgICAgICA6ICdhdXRvJ307XG4gICAgICB0b3A6ICR7cHJvcHMuaWNvblBvc2l0aW9uID09PSAndG9wJ1xyXG4gICAgICAgID8gJ2luaGVyaXQnXHJcbiAgICAgICAgOiBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwNH07XG4gICAgYH1cbmA7XHJcbmZ1bmN0aW9uIGdldEljb25CdXR0b25TVkdTaXplKHByb3BzKSB7XHJcbiAgICBjb25zdCB7IGlzQ2xpY2thYmxlLCBpY29uUG9zaXRpb24sIGlucHV0U2l6ZSwgdGhlbWUgfSA9IHByb3BzO1xyXG4gICAgaWYgKGlzQ2xpY2thYmxlICYmIGljb25Qb3NpdGlvbiA9PT0gSW5wdXRJY29uUG9zaXRpb24udG9wKSB7XHJcbiAgICAgICAgaWYgKGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlKSB7XHJcbiAgICAgICAgICAgIHJldHVybiBgJHt0aGVtZS5pY29uU2l6ZXMubWVkaXVtfXB4YDtcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIGAke3RoZW1lLmljb25TaXplcy5zbWFsbH1weGA7XHJcbiAgICB9XHJcbiAgICBpZiAoaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2UpIHtcclxuICAgICAgICByZXR1cm4gYCR7dGhlbWUuaWNvblNpemVzLmxhcmdlfXB4YDtcclxuICAgIH1cclxuICAgIHJldHVybiBgJHt0aGVtZS5pY29uU2l6ZXMubWVkaXVtfXB4YDtcclxufVxyXG5mdW5jdGlvbiBnZXRIZWxwTGlua1NWR1NpemUocHJvcHMpIHtcclxuICAgIGNvbnN0IHsgaW5wdXRTaXplLCB0aGVtZSB9ID0gcHJvcHM7XHJcbiAgICBpZiAoaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2UpIHtcclxuICAgICAgICByZXR1cm4gYCR7dGhlbWUuaWNvblNpemVzLm1lZGl1bX1weGA7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gYCR7dGhlbWUuaWNvblNpemVzLnNtYWxsfXB4YDtcclxufVxyXG5leHBvcnQgZnVuY3Rpb24gZ2V0SGVscEljb25CdXR0b25TaXplKHByb3BzKSB7XHJcbiAgICBjb25zdCB7IGlucHV0U2l6ZSwgdGhlbWUgfSA9IHByb3BzO1xyXG4gICAgaWYgKGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlKSB7XHJcbiAgICAgICAgcmV0dXJuIHRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzA5O1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIHRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzA3O1xyXG59XHJcbmZ1bmN0aW9uIGdldEljb25CdXR0b25UcmFuc2Zvcm0ocHJvcHMpIHtcclxuICAgIGNvbnN0IHsgaXNDbGlja2FibGUsIGljb25Qb3NpdGlvbiwgaW5wdXRTaXplLCBoYXNDaGlsZHJlbiwgdGhlbWUgfSA9IHByb3BzO1xyXG4gICAgY29uc3QgcG9zaXRpb24gPSB7IHg6ICcnLCB5OiAnJyB9O1xyXG4gICAgaWYgKGljb25Qb3NpdGlvbiA9PT0gSW5wdXRJY29uUG9zaXRpb24udG9wKSB7XHJcbiAgICAgICAgaWYgKGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlKSB7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uLnggPSAnLTMwcHgnO1xyXG4gICAgICAgICAgICBwb3NpdGlvbi55ID0gJzJweCc7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2UgaWYgKGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLm1lZGl1bSkge1xyXG4gICAgICAgICAgICBwb3NpdGlvbi54ID0gJy0yOHB4JztcclxuICAgICAgICAgICAgcG9zaXRpb24ueSA9ICc1cHgnO1xyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gcG9zaXRpb247XHJcbiAgICB9XHJcbiAgICBpZiAoaXNDbGlja2FibGUpIHtcclxuICAgICAgICBpZiAoaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2UpIHtcclxuICAgICAgICAgICAgaWYgKGhhc0NoaWxkcmVuKSB7XHJcbiAgICAgICAgICAgICAgICBwb3NpdGlvbi54ID0gJy00M3B4JztcclxuICAgICAgICAgICAgICAgIHBvc2l0aW9uLnkgPSAnMTRweCc7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICAgICAgICBwb3NpdGlvbi54ID0gJy00OXB4JztcclxuICAgICAgICAgICAgICAgIHBvc2l0aW9uLnkgPSAnOHB4JztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBlbHNlIGlmIChpbnB1dFNpemUgPT09IElucHV0U2l6ZS5tZWRpdW0pIHtcclxuICAgICAgICAgICAgcG9zaXRpb24ueCA9ICctMzVweCc7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uLnkgPSAnNnB4JztcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIHBvc2l0aW9uO1xyXG4gICAgfVxyXG4gICAgaWYgKGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlKSB7XHJcbiAgICAgICAgcG9zaXRpb24ueCA9IGAtJHt0aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcxMH1gO1xyXG4gICAgICAgIHBvc2l0aW9uLnkgPSB0aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwMztcclxuICAgIH1cclxuICAgIGVsc2UgaWYgKGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLm1lZGl1bSkge1xyXG4gICAgICAgIHBvc2l0aW9uLnggPSAnLTI0cHgnO1xyXG4gICAgICAgIHBvc2l0aW9uLnkgPSAnN3B4JztcclxuICAgIH1cclxuICAgIHJldHVybiBwb3NpdGlvbjtcclxufVxyXG5leHBvcnQgY29uc3QgSWNvbkJ1dHRvbkNvbnRhaW5lciA9IHN0eWxlZC5zcGFuIGBcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGJvdHRvbTogJHtwcm9wcyA9PiAocHJvcHMuaWNvblBvc2l0aW9uID09PSAndG9wJyA/ICc0MHB4JyA6ICdpbmhlcml0Jyl9O1xuICBoZWlnaHQ6IGF1dG87XG4gIG1hcmdpbjogMDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aWR0aDogMDtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoXG4gICAgJHtwcm9wcyA9PiBnZXRJY29uQnV0dG9uVHJhbnNmb3JtKHByb3BzKS54fSxcbiAgICAke3Byb3BzID0+IGdldEljb25CdXR0b25UcmFuc2Zvcm0ocHJvcHMpLnl9XG4gICk7XG4gIHN2ZyB7XG4gICAgaGVpZ2h0OiAke3Byb3BzID0+IGdldEljb25CdXR0b25TVkdTaXplKHByb3BzKX07XG4gICAgd2lkdGg6ICR7cHJvcHMgPT4gZ2V0SWNvbkJ1dHRvblNWR1NpemUocHJvcHMpfTtcbiAgfVxuYDtcclxuY29uc3QgUGFzc3dvcmRCdXR0b25Db250YWluZXIgPSBzdHlsZWQuc3BhbiBgXG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICB3aWR0aDogMDtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoXG4gICAgJHtwcm9wcyA9PiBwcm9wcy5zaXplID09PSBJbnB1dFNpemUubGFyZ2VcclxuICAgID8gYCR7LXByb3BzLmJ1dHRvbldpZHRoIC0gOH1weGBcclxuICAgIDogYCR7LXByb3BzLmJ1dHRvbldpZHRoIC0gNn1weGB9LFxuICAgICR7cHJvcHMgPT4gcHJvcHMuc2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlID8gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDMgOiAnNnB4J31cbiAgKTtcbmA7XHJcbmZ1bmN0aW9uIGdldENsZWFyYWJsZVBvc2l0aW9uKHByb3BzKSB7XHJcbiAgICBpZiAocHJvcHMuaWNvblBvc2l0aW9uID09PSAncmlnaHQnICYmIHByb3BzLmljb24pIHtcclxuICAgICAgICBpZiAocHJvcHMuaW5wdXRTaXplID09PSAnbGFyZ2UnKSB7XHJcbiAgICAgICAgICAgIHJldHVybiBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcxMztcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuICc3MnB4JztcclxuICAgIH1cclxuICAgIGlmIChwcm9wcy5pbnB1dFNpemUgPT09ICdsYXJnZScpIHtcclxuICAgICAgICByZXR1cm4gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMTA7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gJzM0cHgnO1xyXG59XHJcbmNvbnN0IElzQ2xlYXJhYmxlQ29udGFpbmVyID0gc3R5bGVkLnNwYW4gYFxuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgbWFyZ2luOiAwO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGhlaWdodDogYXV0bztcbiAgd2lkdGg6IDA7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKFxuICAgIC0ke3Byb3BzID0+IGdldENsZWFyYWJsZVBvc2l0aW9uKHByb3BzKX0sXG4gICAgJHtwcm9wcyA9PiBwcm9wcy5pbnB1dFNpemUgPT09IElucHV0U2l6ZS5sYXJnZVxyXG4gICAgPyBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwM1xyXG4gICAgOiAnNnB4J31cbiAgKTtcbmA7XHJcbmZ1bmN0aW9uIGdldEljb25TaXplKHNpemUsIHRoZW1lLCBpY29uUG9zaXRpb24pIHtcclxuICAgIHN3aXRjaCAoc2l6ZSkge1xyXG4gICAgICAgIGNhc2UgJ2xhcmdlJzpcclxuICAgICAgICAgICAgaWYgKGljb25Qb3NpdGlvbiA9PT0gSW5wdXRJY29uUG9zaXRpb24udG9wKSB7XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gdGhlbWUuaWNvblNpemVzLm1lZGl1bTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICByZXR1cm4gdGhlbWUuaWNvblNpemVzLmxhcmdlO1xyXG4gICAgICAgIGRlZmF1bHQ6XHJcbiAgICAgICAgICAgIGlmIChpY29uUG9zaXRpb24gPT09IElucHV0SWNvblBvc2l0aW9uLnRvcCkge1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuIHRoZW1lLmljb25TaXplcy5zbWFsbDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICByZXR1cm4gdGhlbWUuaWNvblNpemVzLm1lZGl1bTtcclxuICAgIH1cclxufVxyXG5leHBvcnQgY29uc3QgaXNMZWZ0T3JIaWRkZW4gPSAoeyBsYWJlbFBvc2l0aW9uLCBpc0xhYmVsVmlzdWFsbHlIaWRkZW4sIH0pID0+IGxhYmVsUG9zaXRpb24gPT09IExhYmVsUG9zaXRpb24ubGVmdCB8fCBpc0xhYmVsVmlzdWFsbHlIaWRkZW47XHJcbmV4cG9ydCBjb25zdCBIZWxwTGlua0NvbnRhaW5lciA9IHN0eWxlZC5zcGFuIGBcbiAgcG9zaXRpb246ICR7cHJvcHMgPT4gKGlzTGVmdE9ySGlkZGVuKHByb3BzKSA/ICdyZWxhdGl2ZScgOiAnYWJzb2x1dGUnKX07XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXG4gIGhlaWdodDogJHtwcm9wcyA9PiAoaXNMZWZ0T3JIaWRkZW4ocHJvcHMpID8gJ2F1dG8nIDogJ2ZpdC1jb250ZW50Jyl9O1xuICBtYXJnaW4taW5saW5lLXN0YXJ0OiAke3Byb3BzID0+IGlzTGVmdE9ySGlkZGVuKHByb3BzKSA/IGAke3Byb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzAzfWAgOiAnYXV0byd9O1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoXG4gICAgJHtwcm9wcyA9PiBpc0xlZnRPckhpZGRlbihwcm9wcylcclxuICAgID8gJzAnXHJcbiAgICA6IGBjYWxjKC0xMDAlIC0gJHtwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwM30pYH1cbiAgKTtcbiAgJHtDaGlsZHJlbldyYXBwZXJ9ID4gc3ZnIHtcbiAgICBoZWlnaHQ6ICR7cHJvcHMgPT4gZ2V0SGVscExpbmtTVkdTaXplKHByb3BzKX07XG4gICAgd2lkdGg6ICR7cHJvcHMgPT4gZ2V0SGVscExpbmtTVkdTaXplKHByb3BzKX07XG4gIH1cbiAgYnV0dG9uIHtcbiAgICBoZWlnaHQ6ICR7cHJvcHMgPT4gZ2V0SGVscEljb25CdXR0b25TaXplKHByb3BzKX07XG4gICAgd2lkdGg6ICR7cHJvcHMgPT4gZ2V0SGVscEljb25CdXR0b25TaXplKHByb3BzKX07XG4gIH1cbiAgaW5zZXQtaW5saW5lLWVuZDogJHtwcm9wcyA9PiAoaXNMZWZ0T3JIaWRkZW4ocHJvcHMpID8gJ2F1dG8nIDogJzAnKX07XG5gO1xyXG5leHBvcnQgY29uc3QgSW5wdXRCYXNlID0gUmVhY3QuZm9yd2FyZFJlZigocHJvcHMsIGZvcndhcmRlZFJlZikgPT4ge1xyXG4gICAgY29uc3QgeyBjaGlsZHJlbiwgY29udGFpbmVyU3R5bGUsIGRlZmF1bHRWYWx1ZSwgZGlzYWJsZWQsIGhhc0NoYXJhY3RlckNvdW50ZXIsIGhhc0Vycm9yLCBpY29uLCBpY29uQXJpYUxhYmVsLCBpY29uUmVmLCBpc0NsZWFyYWJsZSwgaXNQYXNzd29yZElucHV0LCBpc1ByZWRpY3RpdmUsIG1heENvdW50LCBtYXhMZW5ndGgsIG9uQ2xlYXIsIG9uSWNvbkNsaWNrLCBvbkljb25LZXlEb3duLCBvbkRhdGVDaGFuZ2UsIGlucHV0TGVuZ3RoLCBpbnB1dFNpemUsIGlucHV0U3R5bGUsIGlucHV0V3JhcHBlclN0eWxlLCB0ZXN0SWQsIHR5cGUsIHNldFJlZmVyZW5jZSwgaXNMYWJlbFZpc3VhbGx5SGlkZGVuLCBsYWJlbFBvc2l0aW9uLCAuLi5vdGhlciB9ID0gcHJvcHM7XHJcbiAgICBjb25zdCBpMThuID0gUmVhY3QudXNlQ29udGV4dChJMThuQ29udGV4dCk7XHJcbiAgICBjb25zdCB0aGVtZSA9IFJlYWN0LnVzZUNvbnRleHQoVGhlbWVDb250ZXh0KTtcclxuICAgIGNvbnN0IGljb25Qb3NpdGlvbiA9IGljb24gJiYgb25JY29uQ2xpY2tcclxuICAgICAgICA/IElucHV0SWNvblBvc2l0aW9uLnJpZ2h0XHJcbiAgICAgICAgOiBpY29uICYmICFwcm9wcy5pY29uUG9zaXRpb25cclxuICAgICAgICAgICAgPyBJbnB1dEljb25Qb3NpdGlvbi5sZWZ0XHJcbiAgICAgICAgICAgIDogcHJvcHMuaWNvblBvc2l0aW9uO1xyXG4gICAgY29uc3QgW3ZhbHVlLCBzZXRWYWx1ZV0gPSBSZWFjdC51c2VTdGF0ZShwcm9wcy5kZWZhdWx0VmFsdWUgIT09IHVuZGVmaW5lZCAmJiBwcm9wcy5kZWZhdWx0VmFsdWUgIT09IG51bGxcclxuICAgICAgICA/IHByb3BzLmRlZmF1bHRWYWx1ZVxyXG4gICAgICAgIDogcHJvcHMudmFsdWUgfHwgJycpO1xyXG4gICAgY29uc3QgbWF4TGVuZ3RoTnVtID0gIWhhc0NoYXJhY3RlckNvdW50ZXIgJiYgbWF4TGVuZ3RoID8gbWF4TGVuZ3RoIDogdW5kZWZpbmVkO1xyXG4gICAgUmVhY3QudXNlRWZmZWN0KCgpID0+IHtcclxuICAgICAgICBpZiAocHJvcHMudmFsdWUgIT09IHVuZGVmaW5lZCAmJiBwcm9wcy52YWx1ZSAhPT0gbnVsbCkge1xyXG4gICAgICAgICAgICBzZXRWYWx1ZShwcm9wcy52YWx1ZSk7XHJcbiAgICAgICAgfVxyXG4gICAgfSwgW3Byb3BzLnZhbHVlXSk7XHJcbiAgICBjb25zdCBpbnB1dFJlZiA9IFJlYWN0LnVzZVJlZigpO1xyXG4gICAgY29uc3QgcmVmID0gdXNlRm9ya2VkUmVmKGZvcndhcmRlZFJlZiwgaW5wdXRSZWYpO1xyXG4gICAgZnVuY3Rpb24gaGFuZGxlQ2xlYXJJbnB1dCgpIHtcclxuICAgICAgICBvbkNsZWFyICYmIHR5cGVvZiBvbkNsZWFyID09PSAnZnVuY3Rpb24nICYmIG9uQ2xlYXIoKTtcclxuICAgICAgICBzZXRWYWx1ZSgnJyk7XHJcbiAgICAgICAgb25EYXRlQ2hhbmdlICYmIHR5cGVvZiBvbkRhdGVDaGFuZ2UgPT09ICdmdW5jdGlvbicgJiYgb25EYXRlQ2hhbmdlKG51bGwpO1xyXG4gICAgICAgIGlucHV0UmVmLmN1cnJlbnQuZm9jdXMoKTtcclxuICAgIH1cclxuICAgIGZ1bmN0aW9uIGhhbmRsZUNoYW5nZShldmVudCkge1xyXG4gICAgICAgIHByb3BzLm9uQ2hhbmdlICYmXHJcbiAgICAgICAgICAgIHR5cGVvZiBwcm9wcy5vbkNoYW5nZSA9PT0gJ2Z1bmN0aW9uJyAmJlxyXG4gICAgICAgICAgICBwcm9wcy5vbkNoYW5nZShldmVudCk7XHJcbiAgICAgICAgY29uc3QgaXNPbkRhdGVDaGFuZ2UgPSBvbkRhdGVDaGFuZ2UgJiYgdHlwZW9mIG9uRGF0ZUNoYW5nZSA9PT0gJ2Z1bmN0aW9uJztcclxuICAgICAgICBjb25zdCB7IHZhbHVlIH0gPSBldmVudC50YXJnZXQ7XHJcbiAgICAgICAgc2V0VmFsdWUoaXNPbkRhdGVDaGFuZ2UgPyB2YWx1ZSA6IChwcm9wcy52YWx1ZSA/PyB2YWx1ZSkpO1xyXG4gICAgICAgIGlmIChpc09uRGF0ZUNoYW5nZSAmJiAhdmFsdWUpIHtcclxuICAgICAgICAgICAgb25EYXRlQ2hhbmdlKG51bGwpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIGNvbnN0IHBhc3N3b3JkQnRuV2lkdGggPSAoKSA9PiB7XHJcbiAgICAgICAgY29uc3QgYnRuV2lkdGggPSBjaGlsZHJlbj8ucHJvcHM/LmNoaWxkcmVuPy5bMF0/LnJlZj8uY3VycmVudD8ub2Zmc2V0V2lkdGg7XHJcbiAgICAgICAgaWYgKHR5cGVvZiBidG5XaWR0aCA9PT0gJ251bWJlcicpIHtcclxuICAgICAgICAgICAgcmV0dXJuIGJ0bldpZHRoO1xyXG4gICAgICAgIH1cclxuICAgICAgICBlbHNlIHtcclxuICAgICAgICAgICAgLy8gV2hlbiBQYXNzd29yZEJ1dHRvbiBpcyB1c2VkIGluc2lkZSBTY2hlbWFSZW5kZXJlciwgaXQgZG9lc24ndCBoYXZlIGNoaWxkcmVuLlxyXG4gICAgICAgICAgICAvLyBXZSdsbCB1c2UgdGhlIGRlZmF1bHQgYnV0dG9uIHNpemVzLlxyXG4gICAgICAgICAgICBpZiAocHJvcHMuaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgIHJldHVybiA2NDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICByZXR1cm4gNTQ7XHJcbiAgICAgICAgfVxyXG4gICAgfTtcclxuICAgIHJldHVybiAoUmVhY3QuY3JlYXRlRWxlbWVudChcImRpdlwiLCB7IHJlZjogc2V0UmVmZXJlbmNlIH0sXHJcbiAgICAgICAgUmVhY3QuY3JlYXRlRWxlbWVudChJbnB1dENvbnRhaW5lciwgeyBzdHlsZTogaW5wdXRXcmFwcGVyU3R5bGUsIFwiZGF0YS10ZXN0aWRcIjogYCR7dGVzdElkfS13cmFwcGVyYCB9LFxyXG4gICAgICAgICAgICBSZWFjdC5jcmVhdGVFbGVtZW50KElucHV0V3JhcHBlciwgeyBkaXNhYmxlZDogZGlzYWJsZWQsIGljb25Qb3NpdGlvbjogaWNvblBvc2l0aW9uLCBpc0ludmVyc2U6IHByb3BzLmlzSW52ZXJzZSwgaW5wdXRTaXplOiBpbnB1dFNpemUgPz8gSW5wdXRTaXplLm1lZGl1bSwgdGhlbWU6IHRoZW1lLCBzdHlsZTogY29udGFpbmVyU3R5bGUsIGhhc0Vycm9yOiBoYXNFcnJvciwgaXNDbGVhcmFibGU6IGlzQ2xlYXJhYmxlLCB3aWR0aDogcHJvcHMud2lkdGggfSxcclxuICAgICAgICAgICAgICAgIFJlYWN0LmNyZWF0ZUVsZW1lbnQoU3R5bGVkSW5wdXQsIE9iamVjdC5hc3NpZ24oe30sIG90aGVyLCB7IFwiYXJpYS1pbnZhbGlkXCI6IGhhc0Vycm9yLCBkaXNhYmxlZDogZGlzYWJsZWQsIFwiZGF0YS10ZXN0aWRcIjogdGVzdElkLCBoYXNDaGFyYWN0ZXJDb3VudGVyOiBoYXNDaGFyYWN0ZXJDb3VudGVyLCBpY29uUG9zaXRpb246IGljb25Qb3NpdGlvbiwgaW5wdXRTaXplOiBpbnB1dFNpemUgPz8gSW5wdXRTaXplLm1lZGl1bSwgaXNDbGVhcmFibGU6IHR5cGUgPT09IElucHV0VHlwZS5zZWFyY2hcclxuICAgICAgICAgICAgICAgICAgICAgICAgPyBpc0NsZWFyYWJsZVxyXG4gICAgICAgICAgICAgICAgICAgICAgICA6IGlucHV0V3JhcHBlclN0eWxlPy53aWR0aFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPyBpc0NsZWFyYWJsZVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBpc0NsZWFyYWJsZSAmJiBpbnB1dExlbmd0aCA+IDAsIGlzSW52ZXJzZTogdXNlSXNJbnZlcnNlKHByb3BzLmlzSW52ZXJzZSksIGlzUHJlZGljdGl2ZTogaXNQcmVkaWN0aXZlLCBoYXNFcnJvcjogaGFzRXJyb3IsIHJlZjogcmVmLCBtYXhMZW5ndGg6IG1heExlbmd0aE51bSwgb25DaGFuZ2U6IGhhbmRsZUNoYW5nZSwgc3R5bGU6IGlucHV0U3R5bGUsIHRoZW1lOiB0aGVtZSwgdHlwZTogdHlwZSA/IHR5cGUgOiBJbnB1dFR5cGUudGV4dCwgdmFsdWU6IHZhbHVlIH0pKSxcclxuICAgICAgICAgICAgICAgIGljb24gJiYgIW9uSWNvbkNsaWNrICYmIChSZWFjdC5jcmVhdGVFbGVtZW50KEljb25XcmFwcGVyLCB7IFwiYXJpYS1sYWJlbFwiOiBpY29uQXJpYUxhYmVsLCBpY29uUG9zaXRpb246IGljb25Qb3NpdGlvbiwgaW5wdXRTaXplOiBpbnB1dFNpemUgPz8gSW5wdXRTaXplLm1lZGl1bSwgaXNJbnZlcnNlOiBwcm9wcy5pc0ludmVyc2UsIGlzUHJlZGljdGl2ZTogaXNQcmVkaWN0aXZlLCB0aGVtZTogdGhlbWUsIGRpc2FibGVkOiBkaXNhYmxlZCB9LCBSZWFjdC5DaGlsZHJlbi5vbmx5KFJlYWN0LmNsb25lRWxlbWVudChpY29uLCB7XHJcbiAgICAgICAgICAgICAgICAgICAgc2l6ZTogZ2V0SWNvblNpemUoaW5wdXRTaXplID8/IElucHV0U2l6ZS5tZWRpdW0sIHRoZW1lLCBpY29uUG9zaXRpb24pLFxyXG4gICAgICAgICAgICAgICAgfSkpKSkpLFxyXG4gICAgICAgICAgICBpc0NsZWFyYWJsZSAmJiB2YWx1ZSAhPT0gJycgJiYgKFJlYWN0LmNyZWF0ZUVsZW1lbnQoSXNDbGVhcmFibGVDb250YWluZXIsIHsgdGhlbWU6IHRoZW1lLCBpY29uUG9zaXRpb246IGljb25Qb3NpdGlvbiwgaW5wdXRTaXplOiBpbnB1dFNpemUsIGljb246IGljb24gfSxcclxuICAgICAgICAgICAgICAgIFJlYWN0LmNyZWF0ZUVsZW1lbnQoSWNvbkJ1dHRvbiwgeyBcImFyaWEtbGFiZWxcIjogaTE4bi5pbnB1dC5pc0NsZWFyYWJsZUFyaWFMYWJlbCwgZGlzYWJsZWQ6IGRpc2FibGVkLCBpY29uOiBSZWFjdC5jcmVhdGVFbGVtZW50KENsZWFySWNvbiwgbnVsbCksIGlzSW52ZXJzZTogcHJvcHMuaXNJbnZlcnNlLCBvbkNsaWNrOiBoYW5kbGVDbGVhcklucHV0LCBvbktleURvd246IG9uSWNvbktleURvd24sIHJlZjogaWNvblJlZiwgc2hhcGU6IEJ1dHRvblNoYXBlLmZpbGwsIHNpemU6IGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlXHJcbiAgICAgICAgICAgICAgICAgICAgICAgID8gQnV0dG9uU2l6ZS5tZWRpdW1cclxuICAgICAgICAgICAgICAgICAgICAgICAgOiBCdXR0b25TaXplLnNtYWxsLCB0ZXN0SWQ6IFwiY2xlYXItYnV0dG9uXCIsIHR5cGU6IEJ1dHRvblR5cGUuYnV0dG9uLCB2YXJpYW50OiBCdXR0b25WYXJpYW50LmxpbmsgfSkpKSxcclxuICAgICAgICAgICAgb25JY29uQ2xpY2sgJiYgKFJlYWN0LmNyZWF0ZUVsZW1lbnQoSWNvbkJ1dHRvbkNvbnRhaW5lciwgeyBpY29uUG9zaXRpb246IGljb25Qb3NpdGlvbiwgaW5wdXRTaXplOiBpbnB1dFNpemUgPT09IElucHV0U2l6ZS5sYXJnZVxyXG4gICAgICAgICAgICAgICAgICAgID8gSW5wdXRTaXplLmxhcmdlXHJcbiAgICAgICAgICAgICAgICAgICAgOiBJbnB1dFNpemUubWVkaXVtLCB0aGVtZTogdGhlbWUsIGlzQ2xpY2thYmxlOiB0cnVlIH0sXHJcbiAgICAgICAgICAgICAgICBSZWFjdC5jcmVhdGVFbGVtZW50KEljb25CdXR0b24sIHsgXCJhcmlhLWxhYmVsXCI6IGljb25BcmlhTGFiZWwsIGljb246IGljb24sIGlzSW52ZXJzZTogcHJvcHMuaXNJbnZlcnNlLCBvbkNsaWNrOiBvbkljb25DbGljaywgb25LZXlEb3duOiBvbkljb25LZXlEb3duLCByZWY6IGljb25SZWYsIGRpc2FibGVkOiBkaXNhYmxlZCwgc2hhcGU6IEJ1dHRvblNoYXBlLmZpbGwsIHNpemU6IGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlXHJcbiAgICAgICAgICAgICAgICAgICAgICAgID8gQnV0dG9uU2l6ZS5tZWRpdW1cclxuICAgICAgICAgICAgICAgICAgICAgICAgOiBCdXR0b25TaXplLnNtYWxsLCB0eXBlOiBCdXR0b25UeXBlLmJ1dHRvbiwgdmFyaWFudDogQnV0dG9uVmFyaWFudC5saW5rIH0pKSksXHJcbiAgICAgICAgICAgIGlzUGFzc3dvcmRJbnB1dCA/IChSZWFjdC5jcmVhdGVFbGVtZW50KFBhc3N3b3JkQnV0dG9uQ29udGFpbmVyLCB7IHNpemU6IGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlXHJcbiAgICAgICAgICAgICAgICAgICAgPyBJbnB1dFNpemUubGFyZ2VcclxuICAgICAgICAgICAgICAgICAgICA6IElucHV0U2l6ZS5tZWRpdW0sIHRoZW1lOiB0aGVtZSwgYnV0dG9uV2lkdGg6IHBhc3N3b3JkQnRuV2lkdGgoKSB9LCBjaGlsZHJlbikpIDogKFJlYWN0LmNyZWF0ZUVsZW1lbnQoSGVscExpbmtDb250YWluZXIsIHsgaXNMYWJlbFZpc3VhbGx5SGlkZGVuOiBpc0xhYmVsVmlzdWFsbHlIaWRkZW4gfHwgZmFsc2UsIGlucHV0U2l6ZTogaW5wdXRTaXplID8/IElucHV0U2l6ZS5tZWRpdW0sIGxhYmVsUG9zaXRpb246IGxhYmVsUG9zaXRpb24gPz8gTGFiZWxQb3NpdGlvbi50b3AsIHRoZW1lOiB0aGVtZSB9LCBjaGlsZHJlbikpKSkpO1xyXG59KTtcclxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9aW5kZXguanMubWFwIl19 */"));
|
|
4943
4943
|
var IconWrapper$3 = /*#__PURE__*/_styled("span", {
|
|
4944
4944
|
target: "e1jxjjn74",
|
|
4945
4945
|
label: "IconWrapper"
|
|
@@ -4956,8 +4956,8 @@ var IconWrapper$3 = /*#__PURE__*/_styled("span", {
|
|
|
4956
4956
|
return props.theme.spaceScale.spacing03;
|
|
4957
4957
|
};
|
|
4958
4958
|
}, ";", function (props) {
|
|
4959
|
-
return props.inputSize === 'large' && /*#__PURE__*/css("bottom:", props.iconPosition === 'top' ? '62px' : 'inherit', ";left:", props.iconPosition === 'left' ? props.theme.spaceScale.spacing04 : 'auto', ";right:", props.iconPosition === 'right' ? props.theme.spaceScale.spacing04 : props.iconPosition === 'top' ? '3px' : 'auto', ";top:", props.iconPosition === 'top' ? 'inherit' : props.theme.spaceScale.spacing04, ";;label:IconWrapper;" + (process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImluZGV4LnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUEyT1EiLCJmaWxlIjoiaW5kZXgudHN4Iiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgUmVhY3QgZnJvbSAncmVhY3QnO1xyXG5pbXBvcnQgeyBjc3MgfSBmcm9tICdAZW1vdGlvbi9yZWFjdCc7XHJcbmltcG9ydCBzdHlsZWQgZnJvbSAnQGVtb3Rpb24vc3R5bGVkJztcclxuaW1wb3J0IHsgdHJhbnNwYXJlbnRpemUgfSBmcm9tICdwb2xpc2hlZCc7XHJcbmltcG9ydCB7IENsZWFySWNvbiB9IGZyb20gJ3JlYWN0LW1hZ21hLWljb25zJztcclxuaW1wb3J0IHsgSTE4bkNvbnRleHQgfSBmcm9tICcuLi8uLi9pMThuJztcclxuaW1wb3J0IHsgdXNlSXNJbnZlcnNlIH0gZnJvbSAnLi4vLi4vaW52ZXJzZSc7XHJcbmltcG9ydCB7IFRoZW1lQ29udGV4dCB9IGZyb20gJy4uLy4uL3RoZW1lL1RoZW1lQ29udGV4dCc7XHJcbmltcG9ydCB7IHVzZUZvcmtlZFJlZiB9IGZyb20gJy4uLy4uL3V0aWxzJztcclxuaW1wb3J0IHsgQnV0dG9uU2hhcGUsIEJ1dHRvblNpemUsIEJ1dHRvblR5cGUsIEJ1dHRvblZhcmlhbnQgfSBmcm9tICcuLi9CdXR0b24nO1xyXG5pbXBvcnQgeyBJY29uQnV0dG9uIH0gZnJvbSAnLi4vSWNvbkJ1dHRvbic7XHJcbmltcG9ydCB7IExhYmVsUG9zaXRpb24gfSBmcm9tICcuLi9MYWJlbCc7XHJcbmltcG9ydCB7IENoaWxkcmVuV3JhcHBlciB9IGZyb20gJy4uL1N0eWxlZEJ1dHRvbic7XHJcbmV4cG9ydCB2YXIgSW5wdXRTaXplO1xyXG4oZnVuY3Rpb24gKElucHV0U2l6ZSkge1xyXG4gICAgSW5wdXRTaXplW1wibGFyZ2VcIl0gPSBcImxhcmdlXCI7XHJcbiAgICBJbnB1dFNpemVbXCJtZWRpdW1cIl0gPSBcIm1lZGl1bVwiO1xyXG59KShJbnB1dFNpemUgfHwgKElucHV0U2l6ZSA9IHt9KSk7XHJcbmV4cG9ydCB2YXIgSW5wdXRUeXBlO1xyXG4oZnVuY3Rpb24gKElucHV0VHlwZSkge1xyXG4gICAgSW5wdXRUeXBlW1wiZW1haWxcIl0gPSBcImVtYWlsXCI7XHJcbiAgICBJbnB1dFR5cGVbXCJmaWxlXCJdID0gXCJmaWxlXCI7XHJcbiAgICBJbnB1dFR5cGVbXCJudW1iZXJcIl0gPSBcIm51bWJlclwiO1xyXG4gICAgSW5wdXRUeXBlW1wicGFzc3dvcmRcIl0gPSBcInBhc3N3b3JkXCI7XHJcbiAgICBJbnB1dFR5cGVbXCJzZWFyY2hcIl0gPSBcInNlYXJjaFwiO1xyXG4gICAgSW5wdXRUeXBlW1widGV4dFwiXSA9IFwidGV4dFwiO1xyXG4gICAgSW5wdXRUeXBlW1widXJsXCJdID0gXCJ1cmxcIjtcclxuICAgIElucHV0VHlwZVtcInRlbFwiXSA9IFwidGVsXCI7XHJcbn0pKElucHV0VHlwZSB8fCAoSW5wdXRUeXBlID0ge30pKTtcclxuZXhwb3J0IHZhciBJbnB1dEljb25Qb3NpdGlvbjtcclxuKGZ1bmN0aW9uIChJbnB1dEljb25Qb3NpdGlvbikge1xyXG4gICAgSW5wdXRJY29uUG9zaXRpb25bXCJ0b3BcIl0gPSBcInRvcFwiO1xyXG4gICAgSW5wdXRJY29uUG9zaXRpb25bXCJsZWZ0XCJdID0gXCJsZWZ0XCI7XHJcbiAgICBJbnB1dEljb25Qb3NpdGlvbltcInJpZ2h0XCJdID0gXCJyaWdodFwiO1xyXG59KShJbnB1dEljb25Qb3NpdGlvbiB8fCAoSW5wdXRJY29uUG9zaXRpb24gPSB7fSkpO1xyXG5leHBvcnQgY29uc3QgaW5wdXRXcmFwcGVyU3R5bGVzID0gKHByb3BzKSA9PiBjc3MgYFxuICBmbGV4OiAxIDEgYXV0bztcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZGlzcGxheTogZmxleDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aWR0aDogJHtwcm9wcy53aWR0aCB8fCAnYXV0byd9O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAke3Byb3BzLmlzSW52ZXJzZVxyXG4gICAgPyB0cmFuc3BhcmVudGl6ZSgwLjgsIHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsOTAwKVxyXG4gICAgOiBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDEwMH07XG4gIGJvcmRlci1yYWRpdXM6ICR7cHJvcHMudGhlbWUuYm9yZGVyUmFkaXVzfTtcbiAgYm9yZGVyOiAxcHggc29saWRcbiAgICAke3Byb3BzLmlzSW52ZXJzZVxyXG4gICAgPyB0cmFuc3BhcmVudGl6ZSgwLjUsIHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsMTAwKVxyXG4gICAgOiBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDUwMH07XG4gIGhlaWdodDogJHtwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwOX07XG5cbiAgJjpmb2N1cy13aXRoaW4ge1xuICAgIG91dGxpbmU6IDJweCBzb2xpZFxuICAgICAgJHtwcm9wcy5pc0ludmVyc2VcclxuICAgID8gcHJvcHMudGhlbWUuY29sb3JzLmZvY3VzSW52ZXJzZVxyXG4gICAgOiBwcm9wcy50aGVtZS5jb2xvcnMuZm9jdXN9O1xuICAgIG91dGxpbmUtb2Zmc2V0OiAtMXB4O1xuICB9XG5cbiAgJHtwcm9wcy5oYXNFcnJvciAmJlxyXG4gICAgY3NzIGBcbiAgICBib3JkZXItY29sb3I6ICR7cHJvcHMuaXNJbnZlcnNlXHJcbiAgICAgICAgPyBwcm9wcy50aGVtZS5jb2xvcnMuZGFuZ2VyMzAwXHJcbiAgICAgICAgOiBwcm9wcy50aGVtZS5jb2xvcnMuZGFuZ2VyfTtcbiAgYH1cblxuICAke3Byb3BzLmRpc2FibGVkICYmXHJcbiAgICBjc3MgYFxuICAgIGJvcmRlci1jb2xvcjogJHtwcm9wcy5pc0ludmVyc2VcclxuICAgICAgICA/IHRyYW5zcGFyZW50aXplKDAuODUsIHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsMTAwKVxyXG4gICAgICAgIDogcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWwzMDB9O1xuICAgIGJhY2tncm91bmQtY29sb3I6ICR7cHJvcHMuaXNJbnZlcnNlXHJcbiAgICAgICAgPyB0cmFuc3BhcmVudGl6ZSgwLjksIHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsOTAwKVxyXG4gICAgICAgIDogcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWwyMDB9O1xuICBgfVxuXG4gICR7cHJvcHMuaW5wdXRTaXplID09PSAnbGFyZ2UnICYmXHJcbiAgICBjc3MgYFxuICAgIGhlaWdodDogJHtwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcxMX07XG4gIGB9XG5gO1xyXG5mdW5jdGlvbiBnZXRJbnB1dFBhZGRpbmcocHJvcHMpIHtcclxuICAgIGNvbnN0IHsgaW5wdXRTaXplLCBpc0NsZWFyYWJsZSwgaWNvblBvc2l0aW9uIH0gPSBwcm9wcztcclxuICAgIGNvbnN0IHBhZGRpbmcgPSB7XHJcbiAgICAgICAgbGVmdDogcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDMsXHJcbiAgICAgICAgcmlnaHQ6IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzAzLFxyXG4gICAgfTtcclxuICAgIGlmIChpbnB1dFNpemUgPT09ICdsYXJnZScpIHtcclxuICAgICAgICBpZiAoaXNDbGVhcmFibGUpIHtcclxuICAgICAgICAgICAgaWYgKGljb25Qb3NpdGlvbiA9PT0gJ3JpZ2h0Jykge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy5yaWdodCA9ICc5MnB4JztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBlbHNlIGlmIChpY29uUG9zaXRpb24gPT09ICdsZWZ0Jykge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy5sZWZ0ID0gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMTE7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLnJpZ2h0ID0gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMTE7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICAgICAgICAvLyBpY29uIHRvcCwgbm8gaWNvblxyXG4gICAgICAgICAgICAgICAgcGFkZGluZy5yaWdodCA9IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzExO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgICBpZiAoaWNvblBvc2l0aW9uID09PSAncmlnaHQnKSB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLnJpZ2h0ID0gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMTA7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgaWYgKGljb25Qb3NpdGlvbiA9PT0gJ2xlZnQnKSB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLmxlZnQgPSBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcxMDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIGVsc2UgaWYgKGlucHV0U2l6ZSA9PT0gJ21lZGl1bScpIHtcclxuICAgICAgICBpZiAoaXNDbGVhcmFibGUpIHtcclxuICAgICAgICAgICAgaWYgKGljb25Qb3NpdGlvbiA9PT0gJ3JpZ2h0Jykge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy5yaWdodCA9ICc2OHB4JztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBlbHNlIGlmIChpY29uUG9zaXRpb24gPT09ICdsZWZ0Jykge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy5sZWZ0ID0gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDk7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLnJpZ2h0ID0gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICAgICAgICAvLyBpY29uIHRvcCwgbm8gaWNvblxyXG4gICAgICAgICAgICAgICAgcGFkZGluZy5yaWdodCA9IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzA5O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgICBpZiAoaWNvblBvc2l0aW9uID09PSAncmlnaHQnKSB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLnJpZ2h0ID0gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgaWYgKGljb25Qb3NpdGlvbiA9PT0gJ2xlZnQnKSB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLmxlZnQgPSBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwOTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIHJldHVybiBwYWRkaW5nO1xyXG59XHJcbmV4cG9ydCBjb25zdCBpbnB1dEJhc2VTdHlsZXMgPSAocHJvcHMpID0+IGNzcyBgXG4gIGJvcmRlcjogMDtcbiAgYm9yZGVyLXJhZGl1czogJHtwcm9wcy50aGVtZS5ib3JkZXJSYWRpdXN9O1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgY29sb3I6ICR7cHJvcHMuaXNJbnZlcnNlXHJcbiAgICA/IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsMTAwXHJcbiAgICA6IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsNzAwfTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGZvbnQtc2l6ZTogJHtwcm9wcy50aGVtZS50eXBlU2NhbGUuc2l6ZTAzLmZvbnRTaXplfTtcbiAgbGluZS1oZWlnaHQ6ICR7cHJvcHMudGhlbWUudHlwZVNjYWxlLnNpemUwMy5saW5lSGVpZ2h0fTtcbiAgZm9udC1mYW1pbHk6ICR7cHJvcHMudGhlbWUuYm9keUZvbnR9O1xuICBoZWlnaHQ6IDEwMCU7XG4gIHBhZGRpbmc6ICR7cHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDN9O1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gIHdpZHRoOiAxMDAlO1xuXG4gICR7cHJvcHMuaW5wdXRTaXplID09PSAnbGFyZ2UnICYmXHJcbiAgICBjc3MgYFxuICAgIGZvbnQtc2l6ZTogJHtwcm9wcy50aGVtZS50eXBlU2NhbGUuc2l6ZTA0LmZvbnRTaXplfTtcbiAgICBsaW5lLWhlaWdodDogJHtwcm9wcy50aGVtZS50eXBlU2NhbGUuc2l6ZTA0LmxpbmVIZWlnaHR9O1xuICAgIHBhZGRpbmc6ICR7cHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDR9O1xuICBgfVxuXG4gIHBhZGRpbmctbGVmdDogJHtnZXRJbnB1dFBhZGRpbmcocHJvcHMpLmxlZnR9O1xuICBwYWRkaW5nLXJpZ2h0OiAke2dldElucHV0UGFkZGluZyhwcm9wcykucmlnaHR9O1xuXG4gICY6OnBsYWNlaG9sZGVyIHtcbiAgICBjb2xvcjogJHtwcm9wcy5pc0ludmVyc2VcclxuICAgID8gdHJhbnNwYXJlbnRpemUoMC4zLCBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDEwMClcclxuICAgIDogcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWw1MDB9O1xuICB9XG5cbiAgJjpmb2N1cyB7XG4gICAgb3V0bGluZTogMDtcbiAgfVxuXG4gICZbdHlwZT0nc2VhcmNoJ10ge1xuICAgICY6Oi13ZWJraXQtc2VhcmNoLWRlY29yYXRpb24sXG4gICAgJjo6LXdlYmtpdC1zZWFyY2gtY2FuY2VsLWJ1dHRvbixcbiAgICAmOjotd2Via2l0LXNlYXJjaC1yZXN1bHRzLWJ1dHRvbixcbiAgICAmOjotd2Via2l0LXNlYXJjaC1yZXN1bHRzLWRlY29yYXRpb24ge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gIH1cblxuICAke3Byb3BzLmRpc2FibGVkICYmXHJcbiAgICBjc3MgYFxuICAgIGNvbG9yOiAke3Byb3BzLmlzSW52ZXJzZVxyXG4gICAgICAgID8gdHJhbnNwYXJlbnRpemUoMC42LCBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDEwMClcclxuICAgICAgICA6IHRyYW5zcGFyZW50aXplKDAuNCwgcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWw1MDApfTtcbiAgICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xuXG4gICAgJjo6cGxhY2Vob2xkZXIge1xuICAgICAgY29sb3I6ICR7cHJvcHMuaXNJbnZlcnNlXHJcbiAgICAgICAgPyB0cmFuc3BhcmVudGl6ZSgwLjgsIHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsMTAwKVxyXG4gICAgICAgIDogcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWw1MDB9O1xuICAgICAgb3BhY2l0eTogJHtwcm9wcy5pc0ludmVyc2UgPyAwLjQgOiAwLjZ9O1xuICAgIH1cbiAgYH1cblxuICAmOi13ZWJraXQtYXV0b2ZpbGwsXG4gICY6LXdlYmtpdC1hdXRvZmlsbDpmb2N1cyxcbiAgJjotd2Via2l0LWF1dG9maWxsOmhvdmVyLFxuICAmOi13ZWJraXQtYXV0b2ZpbGw6YWN0aXZlIHtcbiAgICBib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XG4gICAgLXdlYmtpdC1iYWNrZ3JvdW5kLWNsaXA6IHRleHQ7XG4gICAgLXdlYmtpdC10ZXh0LWZpbGwtY29sb3I6ICR7cHJvcHMuaXNJbnZlcnNlXHJcbiAgICA/IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsMTAwXHJcbiAgICA6IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsNzAwfSAhaW1wb3J0YW50O1xuICAgIGNhcmV0LWNvbG9yOiAke3Byb3BzLmlzSW52ZXJzZVxyXG4gICAgPyBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDEwMFxyXG4gICAgOiBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDcwMH0gIWltcG9ydGFudDtcbiAgfVxuYDtcclxuY29uc3QgSW5wdXRDb250YWluZXIgPSBzdHlsZWQuZGl2IGBcbiAgZGlzcGxheTogZmxleDtcbmA7XHJcbmV4cG9ydCBjb25zdCBJbnB1dFdyYXBwZXIgPSBzdHlsZWQuZGl2IGBcbiAgJHtpbnB1dFdyYXBwZXJTdHlsZXN9XG5gO1xyXG5jb25zdCBTdHlsZWRJbnB1dCA9IHN0eWxlZC5pbnB1dCBgXG4gICR7aW5wdXRCYXNlU3R5bGVzfVxuYDtcclxuY29uc3QgSWNvbldyYXBwZXIgPSBzdHlsZWQuc3BhbiBgXG4gIGJvdHRvbTogJHtwcm9wcyA9PiAocHJvcHMuaWNvblBvc2l0aW9uID09PSAndG9wJyA/ICc0NXB4JyA6ICdpbmhlcml0Jyl9O1xuICBjb2xvcjogJHtwcm9wcyA9PiBwcm9wcy5pc0ludmVyc2VcclxuICAgID8gcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWwxMDBcclxuICAgIDogcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWw3MDB9O1xuICBsZWZ0OiAke3Byb3BzID0+IHByb3BzLmljb25Qb3NpdGlvbiA9PT0gJ2xlZnQnID8gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDMgOiAnYXV0byd9O1xuICByaWdodDogJHtwcm9wcyA9PiBwcm9wcy5pY29uUG9zaXRpb24gPT09ICdyaWdodCdcclxuICAgID8gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDNcclxuICAgIDogcHJvcHMuaWNvblBvc2l0aW9uID09PSAndG9wJ1xyXG4gICAgICAgID8gJzNweCdcclxuICAgICAgICA6ICdhdXRvJ307XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAke3Byb3BzID0+IHByb3BzLmljb25Qb3NpdGlvbiA9PT0gJ3RvcCdcclxuICAgID8gJ2luaGVyaXQnXHJcbiAgICA6IHByb3BzID0+IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzAzfTtcblxuICAke3Byb3BzID0+IHByb3BzLmlucHV0U2l6ZSA9PT0gJ2xhcmdlJyAmJlxyXG4gICAgY3NzIGBcbiAgICAgIGJvdHRvbTogJHtwcm9wcy5pY29uUG9zaXRpb24gPT09ICd0b3AnID8gJzYycHgnIDogJ2luaGVyaXQnfTtcbiAgICAgIGxlZnQ6ICR7cHJvcHMuaWNvblBvc2l0aW9uID09PSAnbGVmdCdcclxuICAgICAgICA/IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzA0XHJcbiAgICAgICAgOiAnYXV0byd9O1xuICAgICAgcmlnaHQ6ICR7cHJvcHMuaWNvblBvc2l0aW9uID09PSAncmlnaHQnXHJcbiAgICAgICAgPyBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwNFxyXG4gICAgICAgIDogcHJvcHMuaWNvblBvc2l0aW9uID09PSAndG9wJ1xyXG4gICAgICAgICAgICA/ICczcHgnXHJcbiAgICAgICAgICAgIDogJ2F1dG8nfTtcbiAgICAgIHRvcDogJHtwcm9wcy5pY29uUG9zaXRpb24gPT09ICd0b3AnXHJcbiAgICAgICAgPyAnaW5oZXJpdCdcclxuICAgICAgICA6IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzA0fTtcbiAgICBgfVxuYDtcclxuZnVuY3Rpb24gZ2V0SWNvbkJ1dHRvblNWR1NpemUocHJvcHMpIHtcclxuICAgIGNvbnN0IHsgaXNDbGlja2FibGUsIGljb25Qb3NpdGlvbiwgaW5wdXRTaXplLCB0aGVtZSB9ID0gcHJvcHM7XHJcbiAgICBpZiAoaXNDbGlja2FibGUgJiYgaWNvblBvc2l0aW9uID09PSBJbnB1dEljb25Qb3NpdGlvbi50b3ApIHtcclxuICAgICAgICBpZiAoaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2UpIHtcclxuICAgICAgICAgICAgcmV0dXJuIGAke3RoZW1lLmljb25TaXplcy5tZWRpdW19cHhgO1xyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gYCR7dGhlbWUuaWNvblNpemVzLnNtYWxsfXB4YDtcclxuICAgIH1cclxuICAgIGlmIChpbnB1dFNpemUgPT09IElucHV0U2l6ZS5sYXJnZSkge1xyXG4gICAgICAgIHJldHVybiBgJHt0aGVtZS5pY29uU2l6ZXMubGFyZ2V9cHhgO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIGAke3RoZW1lLmljb25TaXplcy5tZWRpdW19cHhgO1xyXG59XHJcbmZ1bmN0aW9uIGdldEhlbHBMaW5rU1ZHU2l6ZShwcm9wcykge1xyXG4gICAgY29uc3QgeyBpbnB1dFNpemUsIHRoZW1lIH0gPSBwcm9wcztcclxuICAgIGlmIChpbnB1dFNpemUgPT09IElucHV0U2l6ZS5sYXJnZSkge1xyXG4gICAgICAgIHJldHVybiBgJHt0aGVtZS5pY29uU2l6ZXMubWVkaXVtfXB4YDtcclxuICAgIH1cclxuICAgIHJldHVybiBgJHt0aGVtZS5pY29uU2l6ZXMuc21hbGx9cHhgO1xyXG59XHJcbmV4cG9ydCBmdW5jdGlvbiBnZXRIZWxwSWNvbkJ1dHRvblNpemUocHJvcHMpIHtcclxuICAgIGNvbnN0IHsgaW5wdXRTaXplLCB0aGVtZSB9ID0gcHJvcHM7XHJcbiAgICBpZiAoaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2UpIHtcclxuICAgICAgICByZXR1cm4gdGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDk7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gdGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDc7XHJcbn1cclxuZnVuY3Rpb24gZ2V0SWNvbkJ1dHRvblRyYW5zZm9ybShwcm9wcykge1xyXG4gICAgY29uc3QgeyBpc0NsaWNrYWJsZSwgaWNvblBvc2l0aW9uLCBpbnB1dFNpemUsIGhhc0NoaWxkcmVuLCB0aGVtZSB9ID0gcHJvcHM7XHJcbiAgICBjb25zdCBwb3NpdGlvbiA9IHsgeDogJycsIHk6ICcnIH07XHJcbiAgICBpZiAoaWNvblBvc2l0aW9uID09PSBJbnB1dEljb25Qb3NpdGlvbi50b3ApIHtcclxuICAgICAgICBpZiAoaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2UpIHtcclxuICAgICAgICAgICAgcG9zaXRpb24ueCA9ICctMzBweCc7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uLnkgPSAnMnB4JztcclxuICAgICAgICB9XHJcbiAgICAgICAgZWxzZSBpZiAoaW5wdXRTaXplID09PSBJbnB1dFNpemUubWVkaXVtKSB7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uLnggPSAnLTI4cHgnO1xyXG4gICAgICAgICAgICBwb3NpdGlvbi55ID0gJzVweCc7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiBwb3NpdGlvbjtcclxuICAgIH1cclxuICAgIGlmIChpc0NsaWNrYWJsZSkge1xyXG4gICAgICAgIGlmIChpbnB1dFNpemUgPT09IElucHV0U2l6ZS5sYXJnZSkge1xyXG4gICAgICAgICAgICBpZiAoaGFzQ2hpbGRyZW4pIHtcclxuICAgICAgICAgICAgICAgIHBvc2l0aW9uLnggPSAnLTQzcHgnO1xyXG4gICAgICAgICAgICAgICAgcG9zaXRpb24ueSA9ICcxNHB4JztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBlbHNlIHtcclxuICAgICAgICAgICAgICAgIHBvc2l0aW9uLnggPSAnLTQ5cHgnO1xyXG4gICAgICAgICAgICAgICAgcG9zaXRpb24ueSA9ICc4cHgnO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2UgaWYgKGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLm1lZGl1bSkge1xyXG4gICAgICAgICAgICBwb3NpdGlvbi54ID0gJy0zNXB4JztcclxuICAgICAgICAgICAgcG9zaXRpb24ueSA9ICc2cHgnO1xyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gcG9zaXRpb247XHJcbiAgICB9XHJcbiAgICBpZiAoaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2UpIHtcclxuICAgICAgICBwb3NpdGlvbi54ID0gYC0ke3RoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzEwfWA7XHJcbiAgICAgICAgcG9zaXRpb24ueSA9IHRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzAzO1xyXG4gICAgfVxyXG4gICAgZWxzZSBpZiAoaW5wdXRTaXplID09PSBJbnB1dFNpemUubWVkaXVtKSB7XHJcbiAgICAgICAgcG9zaXRpb24ueCA9ICctMjRweCc7XHJcbiAgICAgICAgcG9zaXRpb24ueSA9ICc3cHgnO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIHBvc2l0aW9uO1xyXG59XHJcbmV4cG9ydCBjb25zdCBJY29uQnV0dG9uQ29udGFpbmVyID0gc3R5bGVkLnNwYW4gYFxuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgYm90dG9tOiAke3Byb3BzID0+IChwcm9wcy5pY29uUG9zaXRpb24gPT09ICd0b3AnID8gJzQwcHgnIDogJ2luaGVyaXQnKX07XG4gIGhlaWdodDogYXV0bztcbiAgbWFyZ2luOiAwO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiAwO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZShcbiAgICAke3Byb3BzID0+IGdldEljb25CdXR0b25UcmFuc2Zvcm0ocHJvcHMpLnh9LFxuICAgICR7cHJvcHMgPT4gZ2V0SWNvbkJ1dHRvblRyYW5zZm9ybShwcm9wcykueX1cbiAgKTtcbiAgc3ZnIHtcbiAgICBoZWlnaHQ6ICR7cHJvcHMgPT4gZ2V0SWNvbkJ1dHRvblNWR1NpemUocHJvcHMpfTtcbiAgICB3aWR0aDogJHtwcm9wcyA9PiBnZXRJY29uQnV0dG9uU1ZHU2l6ZShwcm9wcyl9O1xuICB9XG5gO1xyXG5jb25zdCBQYXNzd29yZEJ1dHRvbkNvbnRhaW5lciA9IHN0eWxlZC5zcGFuIGBcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIHdpZHRoOiAwO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZShcbiAgICAke3Byb3BzID0+IHByb3BzLnNpemUgPT09IElucHV0U2l6ZS5sYXJnZVxyXG4gICAgPyBgJHstcHJvcHMuYnV0dG9uV2lkdGggLSA4fXB4YFxyXG4gICAgOiBgJHstcHJvcHMuYnV0dG9uV2lkdGggLSA2fXB4YH0sXG4gICAgJHtwcm9wcyA9PiBwcm9wcy5zaXplID09PSBJbnB1dFNpemUubGFyZ2UgPyBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwMyA6ICc2cHgnfVxuICApO1xuYDtcclxuZnVuY3Rpb24gZ2V0Q2xlYXJhYmxlUG9zaXRpb24ocHJvcHMpIHtcclxuICAgIGlmIChwcm9wcy5pY29uUG9zaXRpb24gPT09ICdyaWdodCcgJiYgcHJvcHMuaWNvbikge1xyXG4gICAgICAgIGlmIChwcm9wcy5pbnB1dFNpemUgPT09ICdsYXJnZScpIHtcclxuICAgICAgICAgICAgcmV0dXJuIHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzEzO1xyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gJzcycHgnO1xyXG4gICAgfVxyXG4gICAgaWYgKHByb3BzLmlucHV0U2l6ZSA9PT0gJ2xhcmdlJykge1xyXG4gICAgICAgIHJldHVybiBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcxMDtcclxuICAgIH1cclxuICAgIHJldHVybiAnMzRweCc7XHJcbn1cclxuY29uc3QgSXNDbGVhcmFibGVDb250YWluZXIgPSBzdHlsZWQuc3BhbiBgXG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBtYXJnaW46IDA7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgaGVpZ2h0OiBhdXRvO1xuICB3aWR0aDogMDtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoXG4gICAgLSR7cHJvcHMgPT4gZ2V0Q2xlYXJhYmxlUG9zaXRpb24ocHJvcHMpfSxcbiAgICAke3Byb3BzID0+IHByb3BzLmlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlXHJcbiAgICA/IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzAzXHJcbiAgICA6ICc2cHgnfVxuICApO1xuYDtcclxuZnVuY3Rpb24gZ2V0SWNvblNpemUoc2l6ZSwgdGhlbWUsIGljb25Qb3NpdGlvbikge1xyXG4gICAgc3dpdGNoIChzaXplKSB7XHJcbiAgICAgICAgY2FzZSAnbGFyZ2UnOlxyXG4gICAgICAgICAgICBpZiAoaWNvblBvc2l0aW9uID09PSBJbnB1dEljb25Qb3NpdGlvbi50b3ApIHtcclxuICAgICAgICAgICAgICAgIHJldHVybiB0aGVtZS5pY29uU2l6ZXMubWVkaXVtO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHJldHVybiB0aGVtZS5pY29uU2l6ZXMubGFyZ2U7XHJcbiAgICAgICAgZGVmYXVsdDpcclxuICAgICAgICAgICAgaWYgKGljb25Qb3NpdGlvbiA9PT0gSW5wdXRJY29uUG9zaXRpb24udG9wKSB7XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gdGhlbWUuaWNvblNpemVzLnNtYWxsO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHJldHVybiB0aGVtZS5pY29uU2l6ZXMubWVkaXVtO1xyXG4gICAgfVxyXG59XHJcbmV4cG9ydCBjb25zdCBpc0xlZnRPckhpZGRlbiA9ICh7IGxhYmVsUG9zaXRpb24sIGlzTGFiZWxWaXN1YWxseUhpZGRlbiwgfSkgPT4gbGFiZWxQb3NpdGlvbiA9PT0gTGFiZWxQb3NpdGlvbi5sZWZ0IHx8IGlzTGFiZWxWaXN1YWxseUhpZGRlbjtcclxuZXhwb3J0IGNvbnN0IEhlbHBMaW5rQ29udGFpbmVyID0gc3R5bGVkLnNwYW4gYFxuICBwb3NpdGlvbjogJHtwcm9wcyA9PiAoaXNMZWZ0T3JIaWRkZW4ocHJvcHMpID8gJ3JlbGF0aXZlJyA6ICdhYnNvbHV0ZScpfTtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cbiAgaGVpZ2h0OiAke3Byb3BzID0+IChpc0xlZnRPckhpZGRlbihwcm9wcykgPyAnYXV0bycgOiAnZml0LWNvbnRlbnQnKX07XG4gIG1hcmdpbi1pbmxpbmUtc3RhcnQ6ICR7cHJvcHMgPT4gaXNMZWZ0T3JIaWRkZW4ocHJvcHMpID8gYCR7cHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDN9YCA6ICdhdXRvJ307XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWShcbiAgICAke3Byb3BzID0+IGlzTGVmdE9ySGlkZGVuKHByb3BzKVxyXG4gICAgPyAnMCdcclxuICAgIDogYGNhbGMoLTEwMCUgLSAke3Byb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzAzfSlgfVxuICApO1xuICAke0NoaWxkcmVuV3JhcHBlcn0gPiBzdmcge1xuICAgIGhlaWdodDogJHtwcm9wcyA9PiBnZXRIZWxwTGlua1NWR1NpemUocHJvcHMpfTtcbiAgICB3aWR0aDogJHtwcm9wcyA9PiBnZXRIZWxwTGlua1NWR1NpemUocHJvcHMpfTtcbiAgfVxuICBidXR0b24ge1xuICAgIGhlaWdodDogJHtwcm9wcyA9PiBnZXRIZWxwSWNvbkJ1dHRvblNpemUocHJvcHMpfTtcbiAgICB3aWR0aDogJHtwcm9wcyA9PiBnZXRIZWxwSWNvbkJ1dHRvblNpemUocHJvcHMpfTtcbiAgfVxuICBpbnNldC1pbmxpbmUtZW5kOiAke3Byb3BzID0+IChpc0xlZnRPckhpZGRlbihwcm9wcykgPyAnYXV0bycgOiAnMCcpfTtcbmA7XHJcbmV4cG9ydCBjb25zdCBJbnB1dEJhc2UgPSBSZWFjdC5mb3J3YXJkUmVmKChwcm9wcywgZm9yd2FyZGVkUmVmKSA9PiB7XHJcbiAgICBjb25zdCB7IGNoaWxkcmVuLCBjb250YWluZXJTdHlsZSwgZGVmYXVsdFZhbHVlLCBkaXNhYmxlZCwgaGFzQ2hhcmFjdGVyQ291bnRlciwgaGFzRXJyb3IsIGljb24sIGljb25BcmlhTGFiZWwsIGljb25SZWYsIGlzQ2xlYXJhYmxlLCBpc1Bhc3N3b3JkSW5wdXQsIGlzUHJlZGljdGl2ZSwgbWF4Q291bnQsIG1heExlbmd0aCwgb25DbGVhciwgb25JY29uQ2xpY2ssIG9uSWNvbktleURvd24sIG9uRGF0ZUNoYW5nZSwgaW5wdXRMZW5ndGgsIGlucHV0U2l6ZSwgaW5wdXRTdHlsZSwgaW5wdXRXcmFwcGVyU3R5bGUsIHRlc3RJZCwgdHlwZSwgc2V0UmVmZXJlbmNlLCBpc0xhYmVsVmlzdWFsbHlIaWRkZW4sIGxhYmVsUG9zaXRpb24sIC4uLm90aGVyIH0gPSBwcm9wcztcclxuICAgIGNvbnN0IGkxOG4gPSBSZWFjdC51c2VDb250ZXh0KEkxOG5Db250ZXh0KTtcclxuICAgIGNvbnN0IHRoZW1lID0gUmVhY3QudXNlQ29udGV4dChUaGVtZUNvbnRleHQpO1xyXG4gICAgY29uc3QgaWNvblBvc2l0aW9uID0gaWNvbiAmJiBvbkljb25DbGlja1xyXG4gICAgICAgID8gSW5wdXRJY29uUG9zaXRpb24ucmlnaHRcclxuICAgICAgICA6IGljb24gJiYgIXByb3BzLmljb25Qb3NpdGlvblxyXG4gICAgICAgICAgICA/IElucHV0SWNvblBvc2l0aW9uLmxlZnRcclxuICAgICAgICAgICAgOiBwcm9wcy5pY29uUG9zaXRpb247XHJcbiAgICBjb25zdCBbdmFsdWUsIHNldFZhbHVlXSA9IFJlYWN0LnVzZVN0YXRlKHByb3BzLmRlZmF1bHRWYWx1ZSAhPT0gdW5kZWZpbmVkICYmIHByb3BzLmRlZmF1bHRWYWx1ZSAhPT0gbnVsbFxyXG4gICAgICAgID8gcHJvcHMuZGVmYXVsdFZhbHVlXHJcbiAgICAgICAgOiBwcm9wcy52YWx1ZSB8fCAnJyk7XHJcbiAgICBjb25zdCBtYXhMZW5ndGhOdW0gPSAhaGFzQ2hhcmFjdGVyQ291bnRlciAmJiBtYXhMZW5ndGggPyBtYXhMZW5ndGggOiB1bmRlZmluZWQ7XHJcbiAgICBSZWFjdC51c2VFZmZlY3QoKCkgPT4ge1xyXG4gICAgICAgIGlmIChwcm9wcy52YWx1ZSAhPT0gdW5kZWZpbmVkICYmIHByb3BzLnZhbHVlICE9PSBudWxsKSB7XHJcbiAgICAgICAgICAgIHNldFZhbHVlKHByb3BzLnZhbHVlKTtcclxuICAgICAgICB9XHJcbiAgICB9LCBbcHJvcHMudmFsdWVdKTtcclxuICAgIGNvbnN0IGlucHV0UmVmID0gUmVhY3QudXNlUmVmKCk7XHJcbiAgICBjb25zdCByZWYgPSB1c2VGb3JrZWRSZWYoZm9yd2FyZGVkUmVmLCBpbnB1dFJlZik7XHJcbiAgICBmdW5jdGlvbiBoYW5kbGVDbGVhcklucHV0KCkge1xyXG4gICAgICAgIG9uQ2xlYXIgJiYgdHlwZW9mIG9uQ2xlYXIgPT09ICdmdW5jdGlvbicgJiYgb25DbGVhcigpO1xyXG4gICAgICAgIHNldFZhbHVlKCcnKTtcclxuICAgICAgICBvbkRhdGVDaGFuZ2UgJiYgdHlwZW9mIG9uRGF0ZUNoYW5nZSA9PT0gJ2Z1bmN0aW9uJyAmJiBvbkRhdGVDaGFuZ2UobnVsbCk7XHJcbiAgICAgICAgaW5wdXRSZWYuY3VycmVudC5mb2N1cygpO1xyXG4gICAgfVxyXG4gICAgZnVuY3Rpb24gaGFuZGxlQ2hhbmdlKGV2ZW50KSB7XHJcbiAgICAgICAgcHJvcHMub25DaGFuZ2UgJiZcclxuICAgICAgICAgICAgdHlwZW9mIHByb3BzLm9uQ2hhbmdlID09PSAnZnVuY3Rpb24nICYmXHJcbiAgICAgICAgICAgIHByb3BzLm9uQ2hhbmdlKGV2ZW50KTtcclxuICAgICAgICBzZXRWYWx1ZShldmVudC50YXJnZXQudmFsdWUpO1xyXG4gICAgICAgIGlmICghZXZlbnQudGFyZ2V0LnZhbHVlICYmXHJcbiAgICAgICAgICAgIG9uRGF0ZUNoYW5nZSAmJlxyXG4gICAgICAgICAgICB0eXBlb2Ygb25EYXRlQ2hhbmdlID09PSAnZnVuY3Rpb24nKVxyXG4gICAgICAgICAgICBvbkRhdGVDaGFuZ2UobnVsbCk7XHJcbiAgICB9XHJcbiAgICBjb25zdCBwYXNzd29yZEJ0bldpZHRoID0gKCkgPT4ge1xyXG4gICAgICAgIGNvbnN0IGJ0bldpZHRoID0gY2hpbGRyZW4/LnByb3BzPy5jaGlsZHJlbj8uWzBdPy5yZWY/LmN1cnJlbnQ/Lm9mZnNldFdpZHRoO1xyXG4gICAgICAgIGlmICh0eXBlb2YgYnRuV2lkdGggPT09ICdudW1iZXInKSB7XHJcbiAgICAgICAgICAgIHJldHVybiBidG5XaWR0aDtcclxuICAgICAgICB9XHJcbiAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICAgIC8vIFdoZW4gUGFzc3dvcmRCdXR0b24gaXMgdXNlZCBpbnNpZGUgU2NoZW1hUmVuZGVyZXIsIGl0IGRvZXNuJ3QgaGF2ZSBjaGlsZHJlbi5cclxuICAgICAgICAgICAgLy8gV2UnbGwgdXNlIHRoZSBkZWZhdWx0IGJ1dHRvbiBzaXplcy5cclxuICAgICAgICAgICAgaWYgKHByb3BzLmlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gNjQ7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgcmV0dXJuIDU0O1xyXG4gICAgICAgIH1cclxuICAgIH07XHJcbiAgICByZXR1cm4gKFJlYWN0LmNyZWF0ZUVsZW1lbnQoXCJkaXZcIiwgeyByZWY6IHNldFJlZmVyZW5jZSB9LFxyXG4gICAgICAgIFJlYWN0LmNyZWF0ZUVsZW1lbnQoSW5wdXRDb250YWluZXIsIHsgc3R5bGU6IGlucHV0V3JhcHBlclN0eWxlLCBcImRhdGEtdGVzdGlkXCI6IGAke3Rlc3RJZH0td3JhcHBlcmAgfSxcclxuICAgICAgICAgICAgUmVhY3QuY3JlYXRlRWxlbWVudChJbnB1dFdyYXBwZXIsIHsgZGlzYWJsZWQ6IGRpc2FibGVkLCBpY29uUG9zaXRpb246IGljb25Qb3NpdGlvbiwgaXNJbnZlcnNlOiBwcm9wcy5pc0ludmVyc2UsIGlucHV0U2l6ZTogaW5wdXRTaXplID8/IElucHV0U2l6ZS5tZWRpdW0sIHRoZW1lOiB0aGVtZSwgc3R5bGU6IGNvbnRhaW5lclN0eWxlLCBoYXNFcnJvcjogaGFzRXJyb3IsIGlzQ2xlYXJhYmxlOiBpc0NsZWFyYWJsZSwgd2lkdGg6IHByb3BzLndpZHRoIH0sXHJcbiAgICAgICAgICAgICAgICBSZWFjdC5jcmVhdGVFbGVtZW50KFN0eWxlZElucHV0LCBPYmplY3QuYXNzaWduKHt9LCBvdGhlciwgeyBcImFyaWEtaW52YWxpZFwiOiBoYXNFcnJvciwgZGlzYWJsZWQ6IGRpc2FibGVkLCBcImRhdGEtdGVzdGlkXCI6IHRlc3RJZCwgaGFzQ2hhcmFjdGVyQ291bnRlcjogaGFzQ2hhcmFjdGVyQ291bnRlciwgaWNvblBvc2l0aW9uOiBpY29uUG9zaXRpb24sIGlucHV0U2l6ZTogaW5wdXRTaXplID8/IElucHV0U2l6ZS5tZWRpdW0sIGlzQ2xlYXJhYmxlOiB0eXBlID09PSBJbnB1dFR5cGUuc2VhcmNoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgID8gaXNDbGVhcmFibGVcclxuICAgICAgICAgICAgICAgICAgICAgICAgOiBpbnB1dFdyYXBwZXJTdHlsZT8ud2lkdGhcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgID8gaXNDbGVhcmFibGVcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogaXNDbGVhcmFibGUgJiYgaW5wdXRMZW5ndGggPiAwLCBpc0ludmVyc2U6IHVzZUlzSW52ZXJzZShwcm9wcy5pc0ludmVyc2UpLCBpc1ByZWRpY3RpdmU6IGlzUHJlZGljdGl2ZSwgaGFzRXJyb3I6IGhhc0Vycm9yLCByZWY6IHJlZiwgbWF4TGVuZ3RoOiBtYXhMZW5ndGhOdW0sIG9uQ2hhbmdlOiBoYW5kbGVDaGFuZ2UsIHN0eWxlOiBpbnB1dFN0eWxlLCB0aGVtZTogdGhlbWUsIHR5cGU6IHR5cGUgPyB0eXBlIDogSW5wdXRUeXBlLnRleHQsIHZhbHVlOiB2YWx1ZSB9KSksXHJcbiAgICAgICAgICAgICAgICBpY29uICYmICFvbkljb25DbGljayAmJiAoUmVhY3QuY3JlYXRlRWxlbWVudChJY29uV3JhcHBlciwgeyBcImFyaWEtbGFiZWxcIjogaWNvbkFyaWFMYWJlbCwgaWNvblBvc2l0aW9uOiBpY29uUG9zaXRpb24sIGlucHV0U2l6ZTogaW5wdXRTaXplID8/IElucHV0U2l6ZS5tZWRpdW0sIGlzSW52ZXJzZTogcHJvcHMuaXNJbnZlcnNlLCBpc1ByZWRpY3RpdmU6IGlzUHJlZGljdGl2ZSwgdGhlbWU6IHRoZW1lLCBkaXNhYmxlZDogZGlzYWJsZWQgfSwgUmVhY3QuQ2hpbGRyZW4ub25seShSZWFjdC5jbG9uZUVsZW1lbnQoaWNvbiwge1xyXG4gICAgICAgICAgICAgICAgICAgIHNpemU6IGdldEljb25TaXplKGlucHV0U2l6ZSA/PyBJbnB1dFNpemUubWVkaXVtLCB0aGVtZSwgaWNvblBvc2l0aW9uKSxcclxuICAgICAgICAgICAgICAgIH0pKSkpKSxcclxuICAgICAgICAgICAgaXNDbGVhcmFibGUgJiYgdmFsdWUgIT09ICcnICYmIChSZWFjdC5jcmVhdGVFbGVtZW50KElzQ2xlYXJhYmxlQ29udGFpbmVyLCB7IHRoZW1lOiB0aGVtZSwgaWNvblBvc2l0aW9uOiBpY29uUG9zaXRpb24sIGlucHV0U2l6ZTogaW5wdXRTaXplLCBpY29uOiBpY29uIH0sXHJcbiAgICAgICAgICAgICAgICBSZWFjdC5jcmVhdGVFbGVtZW50KEljb25CdXR0b24sIHsgXCJhcmlhLWxhYmVsXCI6IGkxOG4uaW5wdXQuaXNDbGVhcmFibGVBcmlhTGFiZWwsIGRpc2FibGVkOiBkaXNhYmxlZCwgaWNvbjogUmVhY3QuY3JlYXRlRWxlbWVudChDbGVhckljb24sIG51bGwpLCBpc0ludmVyc2U6IHByb3BzLmlzSW52ZXJzZSwgb25DbGljazogaGFuZGxlQ2xlYXJJbnB1dCwgb25LZXlEb3duOiBvbkljb25LZXlEb3duLCByZWY6IGljb25SZWYsIHNoYXBlOiBCdXR0b25TaGFwZS5maWxsLCBzaXplOiBpbnB1dFNpemUgPT09IElucHV0U2l6ZS5sYXJnZVxyXG4gICAgICAgICAgICAgICAgICAgICAgICA/IEJ1dHRvblNpemUubWVkaXVtXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDogQnV0dG9uU2l6ZS5zbWFsbCwgdGVzdElkOiBcImNsZWFyLWJ1dHRvblwiLCB0eXBlOiBCdXR0b25UeXBlLmJ1dHRvbiwgdmFyaWFudDogQnV0dG9uVmFyaWFudC5saW5rIH0pKSksXHJcbiAgICAgICAgICAgIG9uSWNvbkNsaWNrICYmIChSZWFjdC5jcmVhdGVFbGVtZW50KEljb25CdXR0b25Db250YWluZXIsIHsgaWNvblBvc2l0aW9uOiBpY29uUG9zaXRpb24sIGlucHV0U2l6ZTogaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2VcclxuICAgICAgICAgICAgICAgICAgICA/IElucHV0U2l6ZS5sYXJnZVxyXG4gICAgICAgICAgICAgICAgICAgIDogSW5wdXRTaXplLm1lZGl1bSwgdGhlbWU6IHRoZW1lLCBpc0NsaWNrYWJsZTogdHJ1ZSB9LFxyXG4gICAgICAgICAgICAgICAgUmVhY3QuY3JlYXRlRWxlbWVudChJY29uQnV0dG9uLCB7IFwiYXJpYS1sYWJlbFwiOiBpY29uQXJpYUxhYmVsLCBpY29uOiBpY29uLCBpc0ludmVyc2U6IHByb3BzLmlzSW52ZXJzZSwgb25DbGljazogb25JY29uQ2xpY2ssIG9uS2V5RG93bjogb25JY29uS2V5RG93biwgcmVmOiBpY29uUmVmLCBkaXNhYmxlZDogZGlzYWJsZWQsIHNoYXBlOiBCdXR0b25TaGFwZS5maWxsLCBzaXplOiBpbnB1dFNpemUgPT09IElucHV0U2l6ZS5sYXJnZVxyXG4gICAgICAgICAgICAgICAgICAgICAgICA/IEJ1dHRvblNpemUubWVkaXVtXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDogQnV0dG9uU2l6ZS5zbWFsbCwgdHlwZTogQnV0dG9uVHlwZS5idXR0b24sIHZhcmlhbnQ6IEJ1dHRvblZhcmlhbnQubGluayB9KSkpLFxyXG4gICAgICAgICAgICBpc1Bhc3N3b3JkSW5wdXQgPyAoUmVhY3QuY3JlYXRlRWxlbWVudChQYXNzd29yZEJ1dHRvbkNvbnRhaW5lciwgeyBzaXplOiBpbnB1dFNpemUgPT09IElucHV0U2l6ZS5sYXJnZVxyXG4gICAgICAgICAgICAgICAgICAgID8gSW5wdXRTaXplLmxhcmdlXHJcbiAgICAgICAgICAgICAgICAgICAgOiBJbnB1dFNpemUubWVkaXVtLCB0aGVtZTogdGhlbWUsIGJ1dHRvbldpZHRoOiBwYXNzd29yZEJ0bldpZHRoKCkgfSwgY2hpbGRyZW4pKSA6IChSZWFjdC5jcmVhdGVFbGVtZW50KEhlbHBMaW5rQ29udGFpbmVyLCB7IGlzTGFiZWxWaXN1YWxseUhpZGRlbjogaXNMYWJlbFZpc3VhbGx5SGlkZGVuIHx8IGZhbHNlLCBpbnB1dFNpemU6IGlucHV0U2l6ZSA/PyBJbnB1dFNpemUubWVkaXVtLCBsYWJlbFBvc2l0aW9uOiBsYWJlbFBvc2l0aW9uID8/IExhYmVsUG9zaXRpb24udG9wLCB0aGVtZTogdGhlbWUgfSwgY2hpbGRyZW4pKSkpKTtcclxufSk7XHJcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWluZGV4LmpzLm1hcCJdfQ== */"));
|
|
4960
|
-
}, ";" + (process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImluZGV4LnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUEwTmdDIiwiZmlsZSI6ImluZGV4LnRzeCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIFJlYWN0IGZyb20gJ3JlYWN0JztcclxuaW1wb3J0IHsgY3NzIH0gZnJvbSAnQGVtb3Rpb24vcmVhY3QnO1xyXG5pbXBvcnQgc3R5bGVkIGZyb20gJ0BlbW90aW9uL3N0eWxlZCc7XHJcbmltcG9ydCB7IHRyYW5zcGFyZW50aXplIH0gZnJvbSAncG9saXNoZWQnO1xyXG5pbXBvcnQgeyBDbGVhckljb24gfSBmcm9tICdyZWFjdC1tYWdtYS1pY29ucyc7XHJcbmltcG9ydCB7IEkxOG5Db250ZXh0IH0gZnJvbSAnLi4vLi4vaTE4bic7XHJcbmltcG9ydCB7IHVzZUlzSW52ZXJzZSB9IGZyb20gJy4uLy4uL2ludmVyc2UnO1xyXG5pbXBvcnQgeyBUaGVtZUNvbnRleHQgfSBmcm9tICcuLi8uLi90aGVtZS9UaGVtZUNvbnRleHQnO1xyXG5pbXBvcnQgeyB1c2VGb3JrZWRSZWYgfSBmcm9tICcuLi8uLi91dGlscyc7XHJcbmltcG9ydCB7IEJ1dHRvblNoYXBlLCBCdXR0b25TaXplLCBCdXR0b25UeXBlLCBCdXR0b25WYXJpYW50IH0gZnJvbSAnLi4vQnV0dG9uJztcclxuaW1wb3J0IHsgSWNvbkJ1dHRvbiB9IGZyb20gJy4uL0ljb25CdXR0b24nO1xyXG5pbXBvcnQgeyBMYWJlbFBvc2l0aW9uIH0gZnJvbSAnLi4vTGFiZWwnO1xyXG5pbXBvcnQgeyBDaGlsZHJlbldyYXBwZXIgfSBmcm9tICcuLi9TdHlsZWRCdXR0b24nO1xyXG5leHBvcnQgdmFyIElucHV0U2l6ZTtcclxuKGZ1bmN0aW9uIChJbnB1dFNpemUpIHtcclxuICAgIElucHV0U2l6ZVtcImxhcmdlXCJdID0gXCJsYXJnZVwiO1xyXG4gICAgSW5wdXRTaXplW1wibWVkaXVtXCJdID0gXCJtZWRpdW1cIjtcclxufSkoSW5wdXRTaXplIHx8IChJbnB1dFNpemUgPSB7fSkpO1xyXG5leHBvcnQgdmFyIElucHV0VHlwZTtcclxuKGZ1bmN0aW9uIChJbnB1dFR5cGUpIHtcclxuICAgIElucHV0VHlwZVtcImVtYWlsXCJdID0gXCJlbWFpbFwiO1xyXG4gICAgSW5wdXRUeXBlW1wiZmlsZVwiXSA9IFwiZmlsZVwiO1xyXG4gICAgSW5wdXRUeXBlW1wibnVtYmVyXCJdID0gXCJudW1iZXJcIjtcclxuICAgIElucHV0VHlwZVtcInBhc3N3b3JkXCJdID0gXCJwYXNzd29yZFwiO1xyXG4gICAgSW5wdXRUeXBlW1wic2VhcmNoXCJdID0gXCJzZWFyY2hcIjtcclxuICAgIElucHV0VHlwZVtcInRleHRcIl0gPSBcInRleHRcIjtcclxuICAgIElucHV0VHlwZVtcInVybFwiXSA9IFwidXJsXCI7XHJcbiAgICBJbnB1dFR5cGVbXCJ0ZWxcIl0gPSBcInRlbFwiO1xyXG59KShJbnB1dFR5cGUgfHwgKElucHV0VHlwZSA9IHt9KSk7XHJcbmV4cG9ydCB2YXIgSW5wdXRJY29uUG9zaXRpb247XHJcbihmdW5jdGlvbiAoSW5wdXRJY29uUG9zaXRpb24pIHtcclxuICAgIElucHV0SWNvblBvc2l0aW9uW1widG9wXCJdID0gXCJ0b3BcIjtcclxuICAgIElucHV0SWNvblBvc2l0aW9uW1wibGVmdFwiXSA9IFwibGVmdFwiO1xyXG4gICAgSW5wdXRJY29uUG9zaXRpb25bXCJyaWdodFwiXSA9IFwicmlnaHRcIjtcclxufSkoSW5wdXRJY29uUG9zaXRpb24gfHwgKElucHV0SWNvblBvc2l0aW9uID0ge30pKTtcclxuZXhwb3J0IGNvbnN0IGlucHV0V3JhcHBlclN0eWxlcyA9IChwcm9wcykgPT4gY3NzIGBcbiAgZmxleDogMSAxIGF1dG87XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgd2lkdGg6ICR7cHJvcHMud2lkdGggfHwgJ2F1dG8nfTtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHtwcm9wcy5pc0ludmVyc2VcclxuICAgID8gdHJhbnNwYXJlbnRpemUoMC44LCBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDkwMClcclxuICAgIDogcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWwxMDB9O1xuICBib3JkZXItcmFkaXVzOiAke3Byb3BzLnRoZW1lLmJvcmRlclJhZGl1c307XG4gIGJvcmRlcjogMXB4IHNvbGlkXG4gICAgJHtwcm9wcy5pc0ludmVyc2VcclxuICAgID8gdHJhbnNwYXJlbnRpemUoMC41LCBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDEwMClcclxuICAgIDogcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWw1MDB9O1xuICBoZWlnaHQ6ICR7cHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDl9O1xuXG4gICY6Zm9jdXMtd2l0aGluIHtcbiAgICBvdXRsaW5lOiAycHggc29saWRcbiAgICAgICR7cHJvcHMuaXNJbnZlcnNlXHJcbiAgICA/IHByb3BzLnRoZW1lLmNvbG9ycy5mb2N1c0ludmVyc2VcclxuICAgIDogcHJvcHMudGhlbWUuY29sb3JzLmZvY3VzfTtcbiAgICBvdXRsaW5lLW9mZnNldDogLTFweDtcbiAgfVxuXG4gICR7cHJvcHMuaGFzRXJyb3IgJiZcclxuICAgIGNzcyBgXG4gICAgYm9yZGVyLWNvbG9yOiAke3Byb3BzLmlzSW52ZXJzZVxyXG4gICAgICAgID8gcHJvcHMudGhlbWUuY29sb3JzLmRhbmdlcjMwMFxyXG4gICAgICAgIDogcHJvcHMudGhlbWUuY29sb3JzLmRhbmdlcn07XG4gIGB9XG5cbiAgJHtwcm9wcy5kaXNhYmxlZCAmJlxyXG4gICAgY3NzIGBcbiAgICBib3JkZXItY29sb3I6ICR7cHJvcHMuaXNJbnZlcnNlXHJcbiAgICAgICAgPyB0cmFuc3BhcmVudGl6ZSgwLjg1LCBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDEwMClcclxuICAgICAgICA6IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsMzAwfTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAke3Byb3BzLmlzSW52ZXJzZVxyXG4gICAgICAgID8gdHJhbnNwYXJlbnRpemUoMC45LCBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDkwMClcclxuICAgICAgICA6IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsMjAwfTtcbiAgYH1cblxuICAke3Byb3BzLmlucHV0U2l6ZSA9PT0gJ2xhcmdlJyAmJlxyXG4gICAgY3NzIGBcbiAgICBoZWlnaHQ6ICR7cHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMTF9O1xuICBgfVxuYDtcclxuZnVuY3Rpb24gZ2V0SW5wdXRQYWRkaW5nKHByb3BzKSB7XHJcbiAgICBjb25zdCB7IGlucHV0U2l6ZSwgaXNDbGVhcmFibGUsIGljb25Qb3NpdGlvbiB9ID0gcHJvcHM7XHJcbiAgICBjb25zdCBwYWRkaW5nID0ge1xyXG4gICAgICAgIGxlZnQ6IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzAzLFxyXG4gICAgICAgIHJpZ2h0OiBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwMyxcclxuICAgIH07XHJcbiAgICBpZiAoaW5wdXRTaXplID09PSAnbGFyZ2UnKSB7XHJcbiAgICAgICAgaWYgKGlzQ2xlYXJhYmxlKSB7XHJcbiAgICAgICAgICAgIGlmIChpY29uUG9zaXRpb24gPT09ICdyaWdodCcpIHtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmcucmlnaHQgPSAnOTJweCc7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgZWxzZSBpZiAoaWNvblBvc2l0aW9uID09PSAnbGVmdCcpIHtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmcubGVmdCA9IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzExO1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy5yaWdodCA9IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzExO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgLy8gaWNvbiB0b3AsIG5vIGljb25cclxuICAgICAgICAgICAgICAgIHBhZGRpbmcucmlnaHQgPSBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcxMTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBlbHNlIHtcclxuICAgICAgICAgICAgaWYgKGljb25Qb3NpdGlvbiA9PT0gJ3JpZ2h0Jykge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy5yaWdodCA9IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzEwO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGlmIChpY29uUG9zaXRpb24gPT09ICdsZWZ0Jykge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy5sZWZ0ID0gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMTA7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICBlbHNlIGlmIChpbnB1dFNpemUgPT09ICdtZWRpdW0nKSB7XHJcbiAgICAgICAgaWYgKGlzQ2xlYXJhYmxlKSB7XHJcbiAgICAgICAgICAgIGlmIChpY29uUG9zaXRpb24gPT09ICdyaWdodCcpIHtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmcucmlnaHQgPSAnNjhweCc7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgZWxzZSBpZiAoaWNvblBvc2l0aW9uID09PSAnbGVmdCcpIHtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmcubGVmdCA9IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzA5O1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy5yaWdodCA9IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzA5O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgLy8gaWNvbiB0b3AsIG5vIGljb25cclxuICAgICAgICAgICAgICAgIHBhZGRpbmcucmlnaHQgPSBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwOTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBlbHNlIHtcclxuICAgICAgICAgICAgaWYgKGljb25Qb3NpdGlvbiA9PT0gJ3JpZ2h0Jykge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy5yaWdodCA9IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzA5O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGlmIChpY29uUG9zaXRpb24gPT09ICdsZWZ0Jykge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy5sZWZ0ID0gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICByZXR1cm4gcGFkZGluZztcclxufVxyXG5leHBvcnQgY29uc3QgaW5wdXRCYXNlU3R5bGVzID0gKHByb3BzKSA9PiBjc3MgYFxuICBib3JkZXI6IDA7XG4gIGJvcmRlci1yYWRpdXM6ICR7cHJvcHMudGhlbWUuYm9yZGVyUmFkaXVzfTtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIGNvbG9yOiAke3Byb3BzLmlzSW52ZXJzZVxyXG4gICAgPyBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDEwMFxyXG4gICAgOiBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDcwMH07XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBmb250LXNpemU6ICR7cHJvcHMudGhlbWUudHlwZVNjYWxlLnNpemUwMy5mb250U2l6ZX07XG4gIGxpbmUtaGVpZ2h0OiAke3Byb3BzLnRoZW1lLnR5cGVTY2FsZS5zaXplMDMubGluZUhlaWdodH07XG4gIGZvbnQtZmFtaWx5OiAke3Byb3BzLnRoZW1lLmJvZHlGb250fTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBwYWRkaW5nOiAke3Byb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzAzfTtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICB3aWR0aDogMTAwJTtcblxuICAke3Byb3BzLmlucHV0U2l6ZSA9PT0gJ2xhcmdlJyAmJlxyXG4gICAgY3NzIGBcbiAgICBmb250LXNpemU6ICR7cHJvcHMudGhlbWUudHlwZVNjYWxlLnNpemUwNC5mb250U2l6ZX07XG4gICAgbGluZS1oZWlnaHQ6ICR7cHJvcHMudGhlbWUudHlwZVNjYWxlLnNpemUwNC5saW5lSGVpZ2h0fTtcbiAgICBwYWRkaW5nOiAke3Byb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzA0fTtcbiAgYH1cblxuICBwYWRkaW5nLWxlZnQ6ICR7Z2V0SW5wdXRQYWRkaW5nKHByb3BzKS5sZWZ0fTtcbiAgcGFkZGluZy1yaWdodDogJHtnZXRJbnB1dFBhZGRpbmcocHJvcHMpLnJpZ2h0fTtcblxuICAmOjpwbGFjZWhvbGRlciB7XG4gICAgY29sb3I6ICR7cHJvcHMuaXNJbnZlcnNlXHJcbiAgICA/IHRyYW5zcGFyZW50aXplKDAuMywgcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWwxMDApXHJcbiAgICA6IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsNTAwfTtcbiAgfVxuXG4gICY6Zm9jdXMge1xuICAgIG91dGxpbmU6IDA7XG4gIH1cblxuICAmW3R5cGU9J3NlYXJjaCddIHtcbiAgICAmOjotd2Via2l0LXNlYXJjaC1kZWNvcmF0aW9uLFxuICAgICY6Oi13ZWJraXQtc2VhcmNoLWNhbmNlbC1idXR0b24sXG4gICAgJjo6LXdlYmtpdC1zZWFyY2gtcmVzdWx0cy1idXR0b24sXG4gICAgJjo6LXdlYmtpdC1zZWFyY2gtcmVzdWx0cy1kZWNvcmF0aW9uIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICB9XG5cbiAgJHtwcm9wcy5kaXNhYmxlZCAmJlxyXG4gICAgY3NzIGBcbiAgICBjb2xvcjogJHtwcm9wcy5pc0ludmVyc2VcclxuICAgICAgICA/IHRyYW5zcGFyZW50aXplKDAuNiwgcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWwxMDApXHJcbiAgICAgICAgOiB0cmFuc3BhcmVudGl6ZSgwLjQsIHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsNTAwKX07XG4gICAgY3Vyc29yOiBub3QtYWxsb3dlZDtcblxuICAgICY6OnBsYWNlaG9sZGVyIHtcbiAgICAgIGNvbG9yOiAke3Byb3BzLmlzSW52ZXJzZVxyXG4gICAgICAgID8gdHJhbnNwYXJlbnRpemUoMC44LCBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDEwMClcclxuICAgICAgICA6IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsNTAwfTtcbiAgICAgIG9wYWNpdHk6ICR7cHJvcHMuaXNJbnZlcnNlID8gMC40IDogMC42fTtcbiAgICB9XG4gIGB9XG5cbiAgJjotd2Via2l0LWF1dG9maWxsLFxuICAmOi13ZWJraXQtYXV0b2ZpbGw6Zm9jdXMsXG4gICY6LXdlYmtpdC1hdXRvZmlsbDpob3ZlcixcbiAgJjotd2Via2l0LWF1dG9maWxsOmFjdGl2ZSB7XG4gICAgYm94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xuICAgIC13ZWJraXQtYmFja2dyb3VuZC1jbGlwOiB0ZXh0O1xuICAgIC13ZWJraXQtdGV4dC1maWxsLWNvbG9yOiAke3Byb3BzLmlzSW52ZXJzZVxyXG4gICAgPyBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDEwMFxyXG4gICAgOiBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDcwMH0gIWltcG9ydGFudDtcbiAgICBjYXJldC1jb2xvcjogJHtwcm9wcy5pc0ludmVyc2VcclxuICAgID8gcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWwxMDBcclxuICAgIDogcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWw3MDB9ICFpbXBvcnRhbnQ7XG4gIH1cbmA7XHJcbmNvbnN0IElucHV0Q29udGFpbmVyID0gc3R5bGVkLmRpdiBgXG4gIGRpc3BsYXk6IGZsZXg7XG5gO1xyXG5leHBvcnQgY29uc3QgSW5wdXRXcmFwcGVyID0gc3R5bGVkLmRpdiBgXG4gICR7aW5wdXRXcmFwcGVyU3R5bGVzfVxuYDtcclxuY29uc3QgU3R5bGVkSW5wdXQgPSBzdHlsZWQuaW5wdXQgYFxuICAke2lucHV0QmFzZVN0eWxlc31cbmA7XHJcbmNvbnN0IEljb25XcmFwcGVyID0gc3R5bGVkLnNwYW4gYFxuICBib3R0b206ICR7cHJvcHMgPT4gKHByb3BzLmljb25Qb3NpdGlvbiA9PT0gJ3RvcCcgPyAnNDVweCcgOiAnaW5oZXJpdCcpfTtcbiAgY29sb3I6ICR7cHJvcHMgPT4gcHJvcHMuaXNJbnZlcnNlXHJcbiAgICA/IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsMTAwXHJcbiAgICA6IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsNzAwfTtcbiAgbGVmdDogJHtwcm9wcyA9PiBwcm9wcy5pY29uUG9zaXRpb24gPT09ICdsZWZ0JyA/IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzAzIDogJ2F1dG8nfTtcbiAgcmlnaHQ6ICR7cHJvcHMgPT4gcHJvcHMuaWNvblBvc2l0aW9uID09PSAncmlnaHQnXHJcbiAgICA/IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzAzXHJcbiAgICA6IHByb3BzLmljb25Qb3NpdGlvbiA9PT0gJ3RvcCdcclxuICAgICAgICA/ICczcHgnXHJcbiAgICAgICAgOiAnYXV0byd9O1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogJHtwcm9wcyA9PiBwcm9wcy5pY29uUG9zaXRpb24gPT09ICd0b3AnXHJcbiAgICA/ICdpbmhlcml0J1xyXG4gICAgOiBwcm9wcyA9PiBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwM307XG5cbiAgJHtwcm9wcyA9PiBwcm9wcy5pbnB1dFNpemUgPT09ICdsYXJnZScgJiZcclxuICAgIGNzcyBgXG4gICAgICBib3R0b206ICR7cHJvcHMuaWNvblBvc2l0aW9uID09PSAndG9wJyA/ICc2MnB4JyA6ICdpbmhlcml0J307XG4gICAgICBsZWZ0OiAke3Byb3BzLmljb25Qb3NpdGlvbiA9PT0gJ2xlZnQnXHJcbiAgICAgICAgPyBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwNFxyXG4gICAgICAgIDogJ2F1dG8nfTtcbiAgICAgIHJpZ2h0OiAke3Byb3BzLmljb25Qb3NpdGlvbiA9PT0gJ3JpZ2h0J1xyXG4gICAgICAgID8gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDRcclxuICAgICAgICA6IHByb3BzLmljb25Qb3NpdGlvbiA9PT0gJ3RvcCdcclxuICAgICAgICAgICAgPyAnM3B4J1xyXG4gICAgICAgICAgICA6ICdhdXRvJ307XG4gICAgICB0b3A6ICR7cHJvcHMuaWNvblBvc2l0aW9uID09PSAndG9wJ1xyXG4gICAgICAgID8gJ2luaGVyaXQnXHJcbiAgICAgICAgOiBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwNH07XG4gICAgYH1cbmA7XHJcbmZ1bmN0aW9uIGdldEljb25CdXR0b25TVkdTaXplKHByb3BzKSB7XHJcbiAgICBjb25zdCB7IGlzQ2xpY2thYmxlLCBpY29uUG9zaXRpb24sIGlucHV0U2l6ZSwgdGhlbWUgfSA9IHByb3BzO1xyXG4gICAgaWYgKGlzQ2xpY2thYmxlICYmIGljb25Qb3NpdGlvbiA9PT0gSW5wdXRJY29uUG9zaXRpb24udG9wKSB7XHJcbiAgICAgICAgaWYgKGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlKSB7XHJcbiAgICAgICAgICAgIHJldHVybiBgJHt0aGVtZS5pY29uU2l6ZXMubWVkaXVtfXB4YDtcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIGAke3RoZW1lLmljb25TaXplcy5zbWFsbH1weGA7XHJcbiAgICB9XHJcbiAgICBpZiAoaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2UpIHtcclxuICAgICAgICByZXR1cm4gYCR7dGhlbWUuaWNvblNpemVzLmxhcmdlfXB4YDtcclxuICAgIH1cclxuICAgIHJldHVybiBgJHt0aGVtZS5pY29uU2l6ZXMubWVkaXVtfXB4YDtcclxufVxyXG5mdW5jdGlvbiBnZXRIZWxwTGlua1NWR1NpemUocHJvcHMpIHtcclxuICAgIGNvbnN0IHsgaW5wdXRTaXplLCB0aGVtZSB9ID0gcHJvcHM7XHJcbiAgICBpZiAoaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2UpIHtcclxuICAgICAgICByZXR1cm4gYCR7dGhlbWUuaWNvblNpemVzLm1lZGl1bX1weGA7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gYCR7dGhlbWUuaWNvblNpemVzLnNtYWxsfXB4YDtcclxufVxyXG5leHBvcnQgZnVuY3Rpb24gZ2V0SGVscEljb25CdXR0b25TaXplKHByb3BzKSB7XHJcbiAgICBjb25zdCB7IGlucHV0U2l6ZSwgdGhlbWUgfSA9IHByb3BzO1xyXG4gICAgaWYgKGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlKSB7XHJcbiAgICAgICAgcmV0dXJuIHRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzA5O1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIHRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzA3O1xyXG59XHJcbmZ1bmN0aW9uIGdldEljb25CdXR0b25UcmFuc2Zvcm0ocHJvcHMpIHtcclxuICAgIGNvbnN0IHsgaXNDbGlja2FibGUsIGljb25Qb3NpdGlvbiwgaW5wdXRTaXplLCBoYXNDaGlsZHJlbiwgdGhlbWUgfSA9IHByb3BzO1xyXG4gICAgY29uc3QgcG9zaXRpb24gPSB7IHg6ICcnLCB5OiAnJyB9O1xyXG4gICAgaWYgKGljb25Qb3NpdGlvbiA9PT0gSW5wdXRJY29uUG9zaXRpb24udG9wKSB7XHJcbiAgICAgICAgaWYgKGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlKSB7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uLnggPSAnLTMwcHgnO1xyXG4gICAgICAgICAgICBwb3NpdGlvbi55ID0gJzJweCc7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2UgaWYgKGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLm1lZGl1bSkge1xyXG4gICAgICAgICAgICBwb3NpdGlvbi54ID0gJy0yOHB4JztcclxuICAgICAgICAgICAgcG9zaXRpb24ueSA9ICc1cHgnO1xyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gcG9zaXRpb247XHJcbiAgICB9XHJcbiAgICBpZiAoaXNDbGlja2FibGUpIHtcclxuICAgICAgICBpZiAoaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2UpIHtcclxuICAgICAgICAgICAgaWYgKGhhc0NoaWxkcmVuKSB7XHJcbiAgICAgICAgICAgICAgICBwb3NpdGlvbi54ID0gJy00M3B4JztcclxuICAgICAgICAgICAgICAgIHBvc2l0aW9uLnkgPSAnMTRweCc7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICAgICAgICBwb3NpdGlvbi54ID0gJy00OXB4JztcclxuICAgICAgICAgICAgICAgIHBvc2l0aW9uLnkgPSAnOHB4JztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBlbHNlIGlmIChpbnB1dFNpemUgPT09IElucHV0U2l6ZS5tZWRpdW0pIHtcclxuICAgICAgICAgICAgcG9zaXRpb24ueCA9ICctMzVweCc7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uLnkgPSAnNnB4JztcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIHBvc2l0aW9uO1xyXG4gICAgfVxyXG4gICAgaWYgKGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlKSB7XHJcbiAgICAgICAgcG9zaXRpb24ueCA9IGAtJHt0aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcxMH1gO1xyXG4gICAgICAgIHBvc2l0aW9uLnkgPSB0aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwMztcclxuICAgIH1cclxuICAgIGVsc2UgaWYgKGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLm1lZGl1bSkge1xyXG4gICAgICAgIHBvc2l0aW9uLnggPSAnLTI0cHgnO1xyXG4gICAgICAgIHBvc2l0aW9uLnkgPSAnN3B4JztcclxuICAgIH1cclxuICAgIHJldHVybiBwb3NpdGlvbjtcclxufVxyXG5leHBvcnQgY29uc3QgSWNvbkJ1dHRvbkNvbnRhaW5lciA9IHN0eWxlZC5zcGFuIGBcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGJvdHRvbTogJHtwcm9wcyA9PiAocHJvcHMuaWNvblBvc2l0aW9uID09PSAndG9wJyA/ICc0MHB4JyA6ICdpbmhlcml0Jyl9O1xuICBoZWlnaHQ6IGF1dG87XG4gIG1hcmdpbjogMDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aWR0aDogMDtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoXG4gICAgJHtwcm9wcyA9PiBnZXRJY29uQnV0dG9uVHJhbnNmb3JtKHByb3BzKS54fSxcbiAgICAke3Byb3BzID0+IGdldEljb25CdXR0b25UcmFuc2Zvcm0ocHJvcHMpLnl9XG4gICk7XG4gIHN2ZyB7XG4gICAgaGVpZ2h0OiAke3Byb3BzID0+IGdldEljb25CdXR0b25TVkdTaXplKHByb3BzKX07XG4gICAgd2lkdGg6ICR7cHJvcHMgPT4gZ2V0SWNvbkJ1dHRvblNWR1NpemUocHJvcHMpfTtcbiAgfVxuYDtcclxuY29uc3QgUGFzc3dvcmRCdXR0b25Db250YWluZXIgPSBzdHlsZWQuc3BhbiBgXG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICB3aWR0aDogMDtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoXG4gICAgJHtwcm9wcyA9PiBwcm9wcy5zaXplID09PSBJbnB1dFNpemUubGFyZ2VcclxuICAgID8gYCR7LXByb3BzLmJ1dHRvbldpZHRoIC0gOH1weGBcclxuICAgIDogYCR7LXByb3BzLmJ1dHRvbldpZHRoIC0gNn1weGB9LFxuICAgICR7cHJvcHMgPT4gcHJvcHMuc2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlID8gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDMgOiAnNnB4J31cbiAgKTtcbmA7XHJcbmZ1bmN0aW9uIGdldENsZWFyYWJsZVBvc2l0aW9uKHByb3BzKSB7XHJcbiAgICBpZiAocHJvcHMuaWNvblBvc2l0aW9uID09PSAncmlnaHQnICYmIHByb3BzLmljb24pIHtcclxuICAgICAgICBpZiAocHJvcHMuaW5wdXRTaXplID09PSAnbGFyZ2UnKSB7XHJcbiAgICAgICAgICAgIHJldHVybiBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcxMztcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuICc3MnB4JztcclxuICAgIH1cclxuICAgIGlmIChwcm9wcy5pbnB1dFNpemUgPT09ICdsYXJnZScpIHtcclxuICAgICAgICByZXR1cm4gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMTA7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gJzM0cHgnO1xyXG59XHJcbmNvbnN0IElzQ2xlYXJhYmxlQ29udGFpbmVyID0gc3R5bGVkLnNwYW4gYFxuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgbWFyZ2luOiAwO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGhlaWdodDogYXV0bztcbiAgd2lkdGg6IDA7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKFxuICAgIC0ke3Byb3BzID0+IGdldENsZWFyYWJsZVBvc2l0aW9uKHByb3BzKX0sXG4gICAgJHtwcm9wcyA9PiBwcm9wcy5pbnB1dFNpemUgPT09IElucHV0U2l6ZS5sYXJnZVxyXG4gICAgPyBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwM1xyXG4gICAgOiAnNnB4J31cbiAgKTtcbmA7XHJcbmZ1bmN0aW9uIGdldEljb25TaXplKHNpemUsIHRoZW1lLCBpY29uUG9zaXRpb24pIHtcclxuICAgIHN3aXRjaCAoc2l6ZSkge1xyXG4gICAgICAgIGNhc2UgJ2xhcmdlJzpcclxuICAgICAgICAgICAgaWYgKGljb25Qb3NpdGlvbiA9PT0gSW5wdXRJY29uUG9zaXRpb24udG9wKSB7XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gdGhlbWUuaWNvblNpemVzLm1lZGl1bTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICByZXR1cm4gdGhlbWUuaWNvblNpemVzLmxhcmdlO1xyXG4gICAgICAgIGRlZmF1bHQ6XHJcbiAgICAgICAgICAgIGlmIChpY29uUG9zaXRpb24gPT09IElucHV0SWNvblBvc2l0aW9uLnRvcCkge1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuIHRoZW1lLmljb25TaXplcy5zbWFsbDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICByZXR1cm4gdGhlbWUuaWNvblNpemVzLm1lZGl1bTtcclxuICAgIH1cclxufVxyXG5leHBvcnQgY29uc3QgaXNMZWZ0T3JIaWRkZW4gPSAoeyBsYWJlbFBvc2l0aW9uLCBpc0xhYmVsVmlzdWFsbHlIaWRkZW4sIH0pID0+IGxhYmVsUG9zaXRpb24gPT09IExhYmVsUG9zaXRpb24ubGVmdCB8fCBpc0xhYmVsVmlzdWFsbHlIaWRkZW47XHJcbmV4cG9ydCBjb25zdCBIZWxwTGlua0NvbnRhaW5lciA9IHN0eWxlZC5zcGFuIGBcbiAgcG9zaXRpb246ICR7cHJvcHMgPT4gKGlzTGVmdE9ySGlkZGVuKHByb3BzKSA/ICdyZWxhdGl2ZScgOiAnYWJzb2x1dGUnKX07XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXG4gIGhlaWdodDogJHtwcm9wcyA9PiAoaXNMZWZ0T3JIaWRkZW4ocHJvcHMpID8gJ2F1dG8nIDogJ2ZpdC1jb250ZW50Jyl9O1xuICBtYXJnaW4taW5saW5lLXN0YXJ0OiAke3Byb3BzID0+IGlzTGVmdE9ySGlkZGVuKHByb3BzKSA/IGAke3Byb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzAzfWAgOiAnYXV0byd9O1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoXG4gICAgJHtwcm9wcyA9PiBpc0xlZnRPckhpZGRlbihwcm9wcylcclxuICAgID8gJzAnXHJcbiAgICA6IGBjYWxjKC0xMDAlIC0gJHtwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwM30pYH1cbiAgKTtcbiAgJHtDaGlsZHJlbldyYXBwZXJ9ID4gc3ZnIHtcbiAgICBoZWlnaHQ6ICR7cHJvcHMgPT4gZ2V0SGVscExpbmtTVkdTaXplKHByb3BzKX07XG4gICAgd2lkdGg6ICR7cHJvcHMgPT4gZ2V0SGVscExpbmtTVkdTaXplKHByb3BzKX07XG4gIH1cbiAgYnV0dG9uIHtcbiAgICBoZWlnaHQ6ICR7cHJvcHMgPT4gZ2V0SGVscEljb25CdXR0b25TaXplKHByb3BzKX07XG4gICAgd2lkdGg6ICR7cHJvcHMgPT4gZ2V0SGVscEljb25CdXR0b25TaXplKHByb3BzKX07XG4gIH1cbiAgaW5zZXQtaW5saW5lLWVuZDogJHtwcm9wcyA9PiAoaXNMZWZ0T3JIaWRkZW4ocHJvcHMpID8gJ2F1dG8nIDogJzAnKX07XG5gO1xyXG5leHBvcnQgY29uc3QgSW5wdXRCYXNlID0gUmVhY3QuZm9yd2FyZFJlZigocHJvcHMsIGZvcndhcmRlZFJlZikgPT4ge1xyXG4gICAgY29uc3QgeyBjaGlsZHJlbiwgY29udGFpbmVyU3R5bGUsIGRlZmF1bHRWYWx1ZSwgZGlzYWJsZWQsIGhhc0NoYXJhY3RlckNvdW50ZXIsIGhhc0Vycm9yLCBpY29uLCBpY29uQXJpYUxhYmVsLCBpY29uUmVmLCBpc0NsZWFyYWJsZSwgaXNQYXNzd29yZElucHV0LCBpc1ByZWRpY3RpdmUsIG1heENvdW50LCBtYXhMZW5ndGgsIG9uQ2xlYXIsIG9uSWNvbkNsaWNrLCBvbkljb25LZXlEb3duLCBvbkRhdGVDaGFuZ2UsIGlucHV0TGVuZ3RoLCBpbnB1dFNpemUsIGlucHV0U3R5bGUsIGlucHV0V3JhcHBlclN0eWxlLCB0ZXN0SWQsIHR5cGUsIHNldFJlZmVyZW5jZSwgaXNMYWJlbFZpc3VhbGx5SGlkZGVuLCBsYWJlbFBvc2l0aW9uLCAuLi5vdGhlciB9ID0gcHJvcHM7XHJcbiAgICBjb25zdCBpMThuID0gUmVhY3QudXNlQ29udGV4dChJMThuQ29udGV4dCk7XHJcbiAgICBjb25zdCB0aGVtZSA9IFJlYWN0LnVzZUNvbnRleHQoVGhlbWVDb250ZXh0KTtcclxuICAgIGNvbnN0IGljb25Qb3NpdGlvbiA9IGljb24gJiYgb25JY29uQ2xpY2tcclxuICAgICAgICA/IElucHV0SWNvblBvc2l0aW9uLnJpZ2h0XHJcbiAgICAgICAgOiBpY29uICYmICFwcm9wcy5pY29uUG9zaXRpb25cclxuICAgICAgICAgICAgPyBJbnB1dEljb25Qb3NpdGlvbi5sZWZ0XHJcbiAgICAgICAgICAgIDogcHJvcHMuaWNvblBvc2l0aW9uO1xyXG4gICAgY29uc3QgW3ZhbHVlLCBzZXRWYWx1ZV0gPSBSZWFjdC51c2VTdGF0ZShwcm9wcy5kZWZhdWx0VmFsdWUgIT09IHVuZGVmaW5lZCAmJiBwcm9wcy5kZWZhdWx0VmFsdWUgIT09IG51bGxcclxuICAgICAgICA/IHByb3BzLmRlZmF1bHRWYWx1ZVxyXG4gICAgICAgIDogcHJvcHMudmFsdWUgfHwgJycpO1xyXG4gICAgY29uc3QgbWF4TGVuZ3RoTnVtID0gIWhhc0NoYXJhY3RlckNvdW50ZXIgJiYgbWF4TGVuZ3RoID8gbWF4TGVuZ3RoIDogdW5kZWZpbmVkO1xyXG4gICAgUmVhY3QudXNlRWZmZWN0KCgpID0+IHtcclxuICAgICAgICBpZiAocHJvcHMudmFsdWUgIT09IHVuZGVmaW5lZCAmJiBwcm9wcy52YWx1ZSAhPT0gbnVsbCkge1xyXG4gICAgICAgICAgICBzZXRWYWx1ZShwcm9wcy52YWx1ZSk7XHJcbiAgICAgICAgfVxyXG4gICAgfSwgW3Byb3BzLnZhbHVlXSk7XHJcbiAgICBjb25zdCBpbnB1dFJlZiA9IFJlYWN0LnVzZVJlZigpO1xyXG4gICAgY29uc3QgcmVmID0gdXNlRm9ya2VkUmVmKGZvcndhcmRlZFJlZiwgaW5wdXRSZWYpO1xyXG4gICAgZnVuY3Rpb24gaGFuZGxlQ2xlYXJJbnB1dCgpIHtcclxuICAgICAgICBvbkNsZWFyICYmIHR5cGVvZiBvbkNsZWFyID09PSAnZnVuY3Rpb24nICYmIG9uQ2xlYXIoKTtcclxuICAgICAgICBzZXRWYWx1ZSgnJyk7XHJcbiAgICAgICAgb25EYXRlQ2hhbmdlICYmIHR5cGVvZiBvbkRhdGVDaGFuZ2UgPT09ICdmdW5jdGlvbicgJiYgb25EYXRlQ2hhbmdlKG51bGwpO1xyXG4gICAgICAgIGlucHV0UmVmLmN1cnJlbnQuZm9jdXMoKTtcclxuICAgIH1cclxuICAgIGZ1bmN0aW9uIGhhbmRsZUNoYW5nZShldmVudCkge1xyXG4gICAgICAgIHByb3BzLm9uQ2hhbmdlICYmXHJcbiAgICAgICAgICAgIHR5cGVvZiBwcm9wcy5vbkNoYW5nZSA9PT0gJ2Z1bmN0aW9uJyAmJlxyXG4gICAgICAgICAgICBwcm9wcy5vbkNoYW5nZShldmVudCk7XHJcbiAgICAgICAgc2V0VmFsdWUoZXZlbnQudGFyZ2V0LnZhbHVlKTtcclxuICAgICAgICBpZiAoIWV2ZW50LnRhcmdldC52YWx1ZSAmJlxyXG4gICAgICAgICAgICBvbkRhdGVDaGFuZ2UgJiZcclxuICAgICAgICAgICAgdHlwZW9mIG9uRGF0ZUNoYW5nZSA9PT0gJ2Z1bmN0aW9uJylcclxuICAgICAgICAgICAgb25EYXRlQ2hhbmdlKG51bGwpO1xyXG4gICAgfVxyXG4gICAgY29uc3QgcGFzc3dvcmRCdG5XaWR0aCA9ICgpID0+IHtcclxuICAgICAgICBjb25zdCBidG5XaWR0aCA9IGNoaWxkcmVuPy5wcm9wcz8uY2hpbGRyZW4/LlswXT8ucmVmPy5jdXJyZW50Py5vZmZzZXRXaWR0aDtcclxuICAgICAgICBpZiAodHlwZW9mIGJ0bldpZHRoID09PSAnbnVtYmVyJykge1xyXG4gICAgICAgICAgICByZXR1cm4gYnRuV2lkdGg7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgICAvLyBXaGVuIFBhc3N3b3JkQnV0dG9uIGlzIHVzZWQgaW5zaWRlIFNjaGVtYVJlbmRlcmVyLCBpdCBkb2Vzbid0IGhhdmUgY2hpbGRyZW4uXHJcbiAgICAgICAgICAgIC8vIFdlJ2xsIHVzZSB0aGUgZGVmYXVsdCBidXR0b24gc2l6ZXMuXHJcbiAgICAgICAgICAgIGlmIChwcm9wcy5pbnB1dFNpemUgPT09IElucHV0U2l6ZS5sYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuIDY0O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHJldHVybiA1NDtcclxuICAgICAgICB9XHJcbiAgICB9O1xyXG4gICAgcmV0dXJuIChSZWFjdC5jcmVhdGVFbGVtZW50KFwiZGl2XCIsIHsgcmVmOiBzZXRSZWZlcmVuY2UgfSxcclxuICAgICAgICBSZWFjdC5jcmVhdGVFbGVtZW50KElucHV0Q29udGFpbmVyLCB7IHN0eWxlOiBpbnB1dFdyYXBwZXJTdHlsZSwgXCJkYXRhLXRlc3RpZFwiOiBgJHt0ZXN0SWR9LXdyYXBwZXJgIH0sXHJcbiAgICAgICAgICAgIFJlYWN0LmNyZWF0ZUVsZW1lbnQoSW5wdXRXcmFwcGVyLCB7IGRpc2FibGVkOiBkaXNhYmxlZCwgaWNvblBvc2l0aW9uOiBpY29uUG9zaXRpb24sIGlzSW52ZXJzZTogcHJvcHMuaXNJbnZlcnNlLCBpbnB1dFNpemU6IGlucHV0U2l6ZSA/PyBJbnB1dFNpemUubWVkaXVtLCB0aGVtZTogdGhlbWUsIHN0eWxlOiBjb250YWluZXJTdHlsZSwgaGFzRXJyb3I6IGhhc0Vycm9yLCBpc0NsZWFyYWJsZTogaXNDbGVhcmFibGUsIHdpZHRoOiBwcm9wcy53aWR0aCB9LFxyXG4gICAgICAgICAgICAgICAgUmVhY3QuY3JlYXRlRWxlbWVudChTdHlsZWRJbnB1dCwgT2JqZWN0LmFzc2lnbih7fSwgb3RoZXIsIHsgXCJhcmlhLWludmFsaWRcIjogaGFzRXJyb3IsIGRpc2FibGVkOiBkaXNhYmxlZCwgXCJkYXRhLXRlc3RpZFwiOiB0ZXN0SWQsIGhhc0NoYXJhY3RlckNvdW50ZXI6IGhhc0NoYXJhY3RlckNvdW50ZXIsIGljb25Qb3NpdGlvbjogaWNvblBvc2l0aW9uLCBpbnB1dFNpemU6IGlucHV0U2l6ZSA/PyBJbnB1dFNpemUubWVkaXVtLCBpc0NsZWFyYWJsZTogdHlwZSA9PT0gSW5wdXRUeXBlLnNlYXJjaFxyXG4gICAgICAgICAgICAgICAgICAgICAgICA/IGlzQ2xlYXJhYmxlXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDogaW5wdXRXcmFwcGVyU3R5bGU/LndpZHRoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA/IGlzQ2xlYXJhYmxlXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IGlzQ2xlYXJhYmxlICYmIGlucHV0TGVuZ3RoID4gMCwgaXNJbnZlcnNlOiB1c2VJc0ludmVyc2UocHJvcHMuaXNJbnZlcnNlKSwgaXNQcmVkaWN0aXZlOiBpc1ByZWRpY3RpdmUsIGhhc0Vycm9yOiBoYXNFcnJvciwgcmVmOiByZWYsIG1heExlbmd0aDogbWF4TGVuZ3RoTnVtLCBvbkNoYW5nZTogaGFuZGxlQ2hhbmdlLCBzdHlsZTogaW5wdXRTdHlsZSwgdGhlbWU6IHRoZW1lLCB0eXBlOiB0eXBlID8gdHlwZSA6IElucHV0VHlwZS50ZXh0LCB2YWx1ZTogdmFsdWUgfSkpLFxyXG4gICAgICAgICAgICAgICAgaWNvbiAmJiAhb25JY29uQ2xpY2sgJiYgKFJlYWN0LmNyZWF0ZUVsZW1lbnQoSWNvbldyYXBwZXIsIHsgXCJhcmlhLWxhYmVsXCI6IGljb25BcmlhTGFiZWwsIGljb25Qb3NpdGlvbjogaWNvblBvc2l0aW9uLCBpbnB1dFNpemU6IGlucHV0U2l6ZSA/PyBJbnB1dFNpemUubWVkaXVtLCBpc0ludmVyc2U6IHByb3BzLmlzSW52ZXJzZSwgaXNQcmVkaWN0aXZlOiBpc1ByZWRpY3RpdmUsIHRoZW1lOiB0aGVtZSwgZGlzYWJsZWQ6IGRpc2FibGVkIH0sIFJlYWN0LkNoaWxkcmVuLm9ubHkoUmVhY3QuY2xvbmVFbGVtZW50KGljb24sIHtcclxuICAgICAgICAgICAgICAgICAgICBzaXplOiBnZXRJY29uU2l6ZShpbnB1dFNpemUgPz8gSW5wdXRTaXplLm1lZGl1bSwgdGhlbWUsIGljb25Qb3NpdGlvbiksXHJcbiAgICAgICAgICAgICAgICB9KSkpKSksXHJcbiAgICAgICAgICAgIGlzQ2xlYXJhYmxlICYmIHZhbHVlICE9PSAnJyAmJiAoUmVhY3QuY3JlYXRlRWxlbWVudChJc0NsZWFyYWJsZUNvbnRhaW5lciwgeyB0aGVtZTogdGhlbWUsIGljb25Qb3NpdGlvbjogaWNvblBvc2l0aW9uLCBpbnB1dFNpemU6IGlucHV0U2l6ZSwgaWNvbjogaWNvbiB9LFxyXG4gICAgICAgICAgICAgICAgUmVhY3QuY3JlYXRlRWxlbWVudChJY29uQnV0dG9uLCB7IFwiYXJpYS1sYWJlbFwiOiBpMThuLmlucHV0LmlzQ2xlYXJhYmxlQXJpYUxhYmVsLCBkaXNhYmxlZDogZGlzYWJsZWQsIGljb246IFJlYWN0LmNyZWF0ZUVsZW1lbnQoQ2xlYXJJY29uLCBudWxsKSwgaXNJbnZlcnNlOiBwcm9wcy5pc0ludmVyc2UsIG9uQ2xpY2s6IGhhbmRsZUNsZWFySW5wdXQsIG9uS2V5RG93bjogb25JY29uS2V5RG93biwgcmVmOiBpY29uUmVmLCBzaGFwZTogQnV0dG9uU2hhcGUuZmlsbCwgc2l6ZTogaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2VcclxuICAgICAgICAgICAgICAgICAgICAgICAgPyBCdXR0b25TaXplLm1lZGl1bVxyXG4gICAgICAgICAgICAgICAgICAgICAgICA6IEJ1dHRvblNpemUuc21hbGwsIHRlc3RJZDogXCJjbGVhci1idXR0b25cIiwgdHlwZTogQnV0dG9uVHlwZS5idXR0b24sIHZhcmlhbnQ6IEJ1dHRvblZhcmlhbnQubGluayB9KSkpLFxyXG4gICAgICAgICAgICBvbkljb25DbGljayAmJiAoUmVhY3QuY3JlYXRlRWxlbWVudChJY29uQnV0dG9uQ29udGFpbmVyLCB7IGljb25Qb3NpdGlvbjogaWNvblBvc2l0aW9uLCBpbnB1dFNpemU6IGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlXHJcbiAgICAgICAgICAgICAgICAgICAgPyBJbnB1dFNpemUubGFyZ2VcclxuICAgICAgICAgICAgICAgICAgICA6IElucHV0U2l6ZS5tZWRpdW0sIHRoZW1lOiB0aGVtZSwgaXNDbGlja2FibGU6IHRydWUgfSxcclxuICAgICAgICAgICAgICAgIFJlYWN0LmNyZWF0ZUVsZW1lbnQoSWNvbkJ1dHRvbiwgeyBcImFyaWEtbGFiZWxcIjogaWNvbkFyaWFMYWJlbCwgaWNvbjogaWNvbiwgaXNJbnZlcnNlOiBwcm9wcy5pc0ludmVyc2UsIG9uQ2xpY2s6IG9uSWNvbkNsaWNrLCBvbktleURvd246IG9uSWNvbktleURvd24sIHJlZjogaWNvblJlZiwgZGlzYWJsZWQ6IGRpc2FibGVkLCBzaGFwZTogQnV0dG9uU2hhcGUuZmlsbCwgc2l6ZTogaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2VcclxuICAgICAgICAgICAgICAgICAgICAgICAgPyBCdXR0b25TaXplLm1lZGl1bVxyXG4gICAgICAgICAgICAgICAgICAgICAgICA6IEJ1dHRvblNpemUuc21hbGwsIHR5cGU6IEJ1dHRvblR5cGUuYnV0dG9uLCB2YXJpYW50OiBCdXR0b25WYXJpYW50LmxpbmsgfSkpKSxcclxuICAgICAgICAgICAgaXNQYXNzd29yZElucHV0ID8gKFJlYWN0LmNyZWF0ZUVsZW1lbnQoUGFzc3dvcmRCdXR0b25Db250YWluZXIsIHsgc2l6ZTogaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2VcclxuICAgICAgICAgICAgICAgICAgICA/IElucHV0U2l6ZS5sYXJnZVxyXG4gICAgICAgICAgICAgICAgICAgIDogSW5wdXRTaXplLm1lZGl1bSwgdGhlbWU6IHRoZW1lLCBidXR0b25XaWR0aDogcGFzc3dvcmRCdG5XaWR0aCgpIH0sIGNoaWxkcmVuKSkgOiAoUmVhY3QuY3JlYXRlRWxlbWVudChIZWxwTGlua0NvbnRhaW5lciwgeyBpc0xhYmVsVmlzdWFsbHlIaWRkZW46IGlzTGFiZWxWaXN1YWxseUhpZGRlbiB8fCBmYWxzZSwgaW5wdXRTaXplOiBpbnB1dFNpemUgPz8gSW5wdXRTaXplLm1lZGl1bSwgbGFiZWxQb3NpdGlvbjogbGFiZWxQb3NpdGlvbiA/PyBMYWJlbFBvc2l0aW9uLnRvcCwgdGhlbWU6IHRoZW1lIH0sIGNoaWxkcmVuKSkpKSk7XHJcbn0pO1xyXG4vLyMgc291cmNlTWFwcGluZ1VSTD1pbmRleC5qcy5tYXAiXX0= */"));
|
|
4959
|
+
return props.inputSize === 'large' && /*#__PURE__*/css("bottom:", props.iconPosition === 'top' ? '62px' : 'inherit', ";left:", props.iconPosition === 'left' ? props.theme.spaceScale.spacing04 : 'auto', ";right:", props.iconPosition === 'right' ? props.theme.spaceScale.spacing04 : props.iconPosition === 'top' ? '3px' : 'auto', ";top:", props.iconPosition === 'top' ? 'inherit' : props.theme.spaceScale.spacing04, ";;label:IconWrapper;" + (process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImluZGV4LnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUEyT1EiLCJmaWxlIjoiaW5kZXgudHN4Iiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgUmVhY3QgZnJvbSAncmVhY3QnO1xyXG5pbXBvcnQgeyBjc3MgfSBmcm9tICdAZW1vdGlvbi9yZWFjdCc7XHJcbmltcG9ydCBzdHlsZWQgZnJvbSAnQGVtb3Rpb24vc3R5bGVkJztcclxuaW1wb3J0IHsgdHJhbnNwYXJlbnRpemUgfSBmcm9tICdwb2xpc2hlZCc7XHJcbmltcG9ydCB7IENsZWFySWNvbiB9IGZyb20gJ3JlYWN0LW1hZ21hLWljb25zJztcclxuaW1wb3J0IHsgSTE4bkNvbnRleHQgfSBmcm9tICcuLi8uLi9pMThuJztcclxuaW1wb3J0IHsgdXNlSXNJbnZlcnNlIH0gZnJvbSAnLi4vLi4vaW52ZXJzZSc7XHJcbmltcG9ydCB7IFRoZW1lQ29udGV4dCB9IGZyb20gJy4uLy4uL3RoZW1lL1RoZW1lQ29udGV4dCc7XHJcbmltcG9ydCB7IHVzZUZvcmtlZFJlZiB9IGZyb20gJy4uLy4uL3V0aWxzJztcclxuaW1wb3J0IHsgQnV0dG9uU2hhcGUsIEJ1dHRvblNpemUsIEJ1dHRvblR5cGUsIEJ1dHRvblZhcmlhbnQgfSBmcm9tICcuLi9CdXR0b24nO1xyXG5pbXBvcnQgeyBJY29uQnV0dG9uIH0gZnJvbSAnLi4vSWNvbkJ1dHRvbic7XHJcbmltcG9ydCB7IExhYmVsUG9zaXRpb24gfSBmcm9tICcuLi9MYWJlbCc7XHJcbmltcG9ydCB7IENoaWxkcmVuV3JhcHBlciB9IGZyb20gJy4uL1N0eWxlZEJ1dHRvbic7XHJcbmV4cG9ydCB2YXIgSW5wdXRTaXplO1xyXG4oZnVuY3Rpb24gKElucHV0U2l6ZSkge1xyXG4gICAgSW5wdXRTaXplW1wibGFyZ2VcIl0gPSBcImxhcmdlXCI7XHJcbiAgICBJbnB1dFNpemVbXCJtZWRpdW1cIl0gPSBcIm1lZGl1bVwiO1xyXG59KShJbnB1dFNpemUgfHwgKElucHV0U2l6ZSA9IHt9KSk7XHJcbmV4cG9ydCB2YXIgSW5wdXRUeXBlO1xyXG4oZnVuY3Rpb24gKElucHV0VHlwZSkge1xyXG4gICAgSW5wdXRUeXBlW1wiZW1haWxcIl0gPSBcImVtYWlsXCI7XHJcbiAgICBJbnB1dFR5cGVbXCJmaWxlXCJdID0gXCJmaWxlXCI7XHJcbiAgICBJbnB1dFR5cGVbXCJudW1iZXJcIl0gPSBcIm51bWJlclwiO1xyXG4gICAgSW5wdXRUeXBlW1wicGFzc3dvcmRcIl0gPSBcInBhc3N3b3JkXCI7XHJcbiAgICBJbnB1dFR5cGVbXCJzZWFyY2hcIl0gPSBcInNlYXJjaFwiO1xyXG4gICAgSW5wdXRUeXBlW1widGV4dFwiXSA9IFwidGV4dFwiO1xyXG4gICAgSW5wdXRUeXBlW1widXJsXCJdID0gXCJ1cmxcIjtcclxuICAgIElucHV0VHlwZVtcInRlbFwiXSA9IFwidGVsXCI7XHJcbn0pKElucHV0VHlwZSB8fCAoSW5wdXRUeXBlID0ge30pKTtcclxuZXhwb3J0IHZhciBJbnB1dEljb25Qb3NpdGlvbjtcclxuKGZ1bmN0aW9uIChJbnB1dEljb25Qb3NpdGlvbikge1xyXG4gICAgSW5wdXRJY29uUG9zaXRpb25bXCJ0b3BcIl0gPSBcInRvcFwiO1xyXG4gICAgSW5wdXRJY29uUG9zaXRpb25bXCJsZWZ0XCJdID0gXCJsZWZ0XCI7XHJcbiAgICBJbnB1dEljb25Qb3NpdGlvbltcInJpZ2h0XCJdID0gXCJyaWdodFwiO1xyXG59KShJbnB1dEljb25Qb3NpdGlvbiB8fCAoSW5wdXRJY29uUG9zaXRpb24gPSB7fSkpO1xyXG5leHBvcnQgY29uc3QgaW5wdXRXcmFwcGVyU3R5bGVzID0gKHByb3BzKSA9PiBjc3MgYFxuICBmbGV4OiAxIDEgYXV0bztcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZGlzcGxheTogZmxleDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aWR0aDogJHtwcm9wcy53aWR0aCB8fCAnYXV0byd9O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAke3Byb3BzLmlzSW52ZXJzZVxyXG4gICAgPyB0cmFuc3BhcmVudGl6ZSgwLjgsIHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsOTAwKVxyXG4gICAgOiBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDEwMH07XG4gIGJvcmRlci1yYWRpdXM6ICR7cHJvcHMudGhlbWUuYm9yZGVyUmFkaXVzfTtcbiAgYm9yZGVyOiAxcHggc29saWRcbiAgICAke3Byb3BzLmlzSW52ZXJzZVxyXG4gICAgPyB0cmFuc3BhcmVudGl6ZSgwLjUsIHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsMTAwKVxyXG4gICAgOiBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDUwMH07XG4gIGhlaWdodDogJHtwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwOX07XG5cbiAgJjpmb2N1cy13aXRoaW4ge1xuICAgIG91dGxpbmU6IDJweCBzb2xpZFxuICAgICAgJHtwcm9wcy5pc0ludmVyc2VcclxuICAgID8gcHJvcHMudGhlbWUuY29sb3JzLmZvY3VzSW52ZXJzZVxyXG4gICAgOiBwcm9wcy50aGVtZS5jb2xvcnMuZm9jdXN9O1xuICAgIG91dGxpbmUtb2Zmc2V0OiAtMXB4O1xuICB9XG5cbiAgJHtwcm9wcy5oYXNFcnJvciAmJlxyXG4gICAgY3NzIGBcbiAgICBib3JkZXItY29sb3I6ICR7cHJvcHMuaXNJbnZlcnNlXHJcbiAgICAgICAgPyBwcm9wcy50aGVtZS5jb2xvcnMuZGFuZ2VyMzAwXHJcbiAgICAgICAgOiBwcm9wcy50aGVtZS5jb2xvcnMuZGFuZ2VyfTtcbiAgYH1cblxuICAke3Byb3BzLmRpc2FibGVkICYmXHJcbiAgICBjc3MgYFxuICAgIGJvcmRlci1jb2xvcjogJHtwcm9wcy5pc0ludmVyc2VcclxuICAgICAgICA/IHRyYW5zcGFyZW50aXplKDAuODUsIHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsMTAwKVxyXG4gICAgICAgIDogcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWwzMDB9O1xuICAgIGJhY2tncm91bmQtY29sb3I6ICR7cHJvcHMuaXNJbnZlcnNlXHJcbiAgICAgICAgPyB0cmFuc3BhcmVudGl6ZSgwLjksIHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsOTAwKVxyXG4gICAgICAgIDogcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWwyMDB9O1xuICBgfVxuXG4gICR7cHJvcHMuaW5wdXRTaXplID09PSAnbGFyZ2UnICYmXHJcbiAgICBjc3MgYFxuICAgIGhlaWdodDogJHtwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcxMX07XG4gIGB9XG5gO1xyXG5mdW5jdGlvbiBnZXRJbnB1dFBhZGRpbmcocHJvcHMpIHtcclxuICAgIGNvbnN0IHsgaW5wdXRTaXplLCBpc0NsZWFyYWJsZSwgaWNvblBvc2l0aW9uIH0gPSBwcm9wcztcclxuICAgIGNvbnN0IHBhZGRpbmcgPSB7XHJcbiAgICAgICAgbGVmdDogcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDMsXHJcbiAgICAgICAgcmlnaHQ6IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzAzLFxyXG4gICAgfTtcclxuICAgIGlmIChpbnB1dFNpemUgPT09ICdsYXJnZScpIHtcclxuICAgICAgICBpZiAoaXNDbGVhcmFibGUpIHtcclxuICAgICAgICAgICAgaWYgKGljb25Qb3NpdGlvbiA9PT0gJ3JpZ2h0Jykge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy5yaWdodCA9ICc5MnB4JztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBlbHNlIGlmIChpY29uUG9zaXRpb24gPT09ICdsZWZ0Jykge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy5sZWZ0ID0gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMTE7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLnJpZ2h0ID0gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMTE7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICAgICAgICAvLyBpY29uIHRvcCwgbm8gaWNvblxyXG4gICAgICAgICAgICAgICAgcGFkZGluZy5yaWdodCA9IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzExO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgICBpZiAoaWNvblBvc2l0aW9uID09PSAncmlnaHQnKSB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLnJpZ2h0ID0gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMTA7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgaWYgKGljb25Qb3NpdGlvbiA9PT0gJ2xlZnQnKSB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLmxlZnQgPSBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcxMDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIGVsc2UgaWYgKGlucHV0U2l6ZSA9PT0gJ21lZGl1bScpIHtcclxuICAgICAgICBpZiAoaXNDbGVhcmFibGUpIHtcclxuICAgICAgICAgICAgaWYgKGljb25Qb3NpdGlvbiA9PT0gJ3JpZ2h0Jykge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy5yaWdodCA9ICc2OHB4JztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBlbHNlIGlmIChpY29uUG9zaXRpb24gPT09ICdsZWZ0Jykge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy5sZWZ0ID0gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDk7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLnJpZ2h0ID0gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICAgICAgICAvLyBpY29uIHRvcCwgbm8gaWNvblxyXG4gICAgICAgICAgICAgICAgcGFkZGluZy5yaWdodCA9IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzA5O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgICBpZiAoaWNvblBvc2l0aW9uID09PSAncmlnaHQnKSB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLnJpZ2h0ID0gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgaWYgKGljb25Qb3NpdGlvbiA9PT0gJ2xlZnQnKSB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLmxlZnQgPSBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwOTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIHJldHVybiBwYWRkaW5nO1xyXG59XHJcbmV4cG9ydCBjb25zdCBpbnB1dEJhc2VTdHlsZXMgPSAocHJvcHMpID0+IGNzcyBgXG4gIGJvcmRlcjogMDtcbiAgYm9yZGVyLXJhZGl1czogJHtwcm9wcy50aGVtZS5ib3JkZXJSYWRpdXN9O1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgY29sb3I6ICR7cHJvcHMuaXNJbnZlcnNlXHJcbiAgICA/IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsMTAwXHJcbiAgICA6IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsNzAwfTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGZvbnQtc2l6ZTogJHtwcm9wcy50aGVtZS50eXBlU2NhbGUuc2l6ZTAzLmZvbnRTaXplfTtcbiAgbGluZS1oZWlnaHQ6ICR7cHJvcHMudGhlbWUudHlwZVNjYWxlLnNpemUwMy5saW5lSGVpZ2h0fTtcbiAgZm9udC1mYW1pbHk6ICR7cHJvcHMudGhlbWUuYm9keUZvbnR9O1xuICBoZWlnaHQ6IDEwMCU7XG4gIHBhZGRpbmc6ICR7cHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDN9O1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gIHdpZHRoOiAxMDAlO1xuXG4gICR7cHJvcHMuaW5wdXRTaXplID09PSAnbGFyZ2UnICYmXHJcbiAgICBjc3MgYFxuICAgIGZvbnQtc2l6ZTogJHtwcm9wcy50aGVtZS50eXBlU2NhbGUuc2l6ZTA0LmZvbnRTaXplfTtcbiAgICBsaW5lLWhlaWdodDogJHtwcm9wcy50aGVtZS50eXBlU2NhbGUuc2l6ZTA0LmxpbmVIZWlnaHR9O1xuICAgIHBhZGRpbmc6ICR7cHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDR9O1xuICBgfVxuXG4gIHBhZGRpbmctbGVmdDogJHtnZXRJbnB1dFBhZGRpbmcocHJvcHMpLmxlZnR9O1xuICBwYWRkaW5nLXJpZ2h0OiAke2dldElucHV0UGFkZGluZyhwcm9wcykucmlnaHR9O1xuXG4gICY6OnBsYWNlaG9sZGVyIHtcbiAgICBjb2xvcjogJHtwcm9wcy5pc0ludmVyc2VcclxuICAgID8gdHJhbnNwYXJlbnRpemUoMC4zLCBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDEwMClcclxuICAgIDogcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWw1MDB9O1xuICB9XG5cbiAgJjpmb2N1cyB7XG4gICAgb3V0bGluZTogMDtcbiAgfVxuXG4gICZbdHlwZT0nc2VhcmNoJ10ge1xuICAgICY6Oi13ZWJraXQtc2VhcmNoLWRlY29yYXRpb24sXG4gICAgJjo6LXdlYmtpdC1zZWFyY2gtY2FuY2VsLWJ1dHRvbixcbiAgICAmOjotd2Via2l0LXNlYXJjaC1yZXN1bHRzLWJ1dHRvbixcbiAgICAmOjotd2Via2l0LXNlYXJjaC1yZXN1bHRzLWRlY29yYXRpb24ge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gIH1cblxuICAke3Byb3BzLmRpc2FibGVkICYmXHJcbiAgICBjc3MgYFxuICAgIGNvbG9yOiAke3Byb3BzLmlzSW52ZXJzZVxyXG4gICAgICAgID8gdHJhbnNwYXJlbnRpemUoMC42LCBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDEwMClcclxuICAgICAgICA6IHRyYW5zcGFyZW50aXplKDAuNCwgcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWw1MDApfTtcbiAgICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xuXG4gICAgJjo6cGxhY2Vob2xkZXIge1xuICAgICAgY29sb3I6ICR7cHJvcHMuaXNJbnZlcnNlXHJcbiAgICAgICAgPyB0cmFuc3BhcmVudGl6ZSgwLjgsIHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsMTAwKVxyXG4gICAgICAgIDogcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWw1MDB9O1xuICAgICAgb3BhY2l0eTogJHtwcm9wcy5pc0ludmVyc2UgPyAwLjQgOiAwLjZ9O1xuICAgIH1cbiAgYH1cblxuICAmOi13ZWJraXQtYXV0b2ZpbGwsXG4gICY6LXdlYmtpdC1hdXRvZmlsbDpmb2N1cyxcbiAgJjotd2Via2l0LWF1dG9maWxsOmhvdmVyLFxuICAmOi13ZWJraXQtYXV0b2ZpbGw6YWN0aXZlIHtcbiAgICBib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XG4gICAgLXdlYmtpdC1iYWNrZ3JvdW5kLWNsaXA6IHRleHQ7XG4gICAgLXdlYmtpdC10ZXh0LWZpbGwtY29sb3I6ICR7cHJvcHMuaXNJbnZlcnNlXHJcbiAgICA/IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsMTAwXHJcbiAgICA6IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsNzAwfSAhaW1wb3J0YW50O1xuICAgIGNhcmV0LWNvbG9yOiAke3Byb3BzLmlzSW52ZXJzZVxyXG4gICAgPyBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDEwMFxyXG4gICAgOiBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDcwMH0gIWltcG9ydGFudDtcbiAgfVxuYDtcclxuY29uc3QgSW5wdXRDb250YWluZXIgPSBzdHlsZWQuZGl2IGBcbiAgZGlzcGxheTogZmxleDtcbmA7XHJcbmV4cG9ydCBjb25zdCBJbnB1dFdyYXBwZXIgPSBzdHlsZWQuZGl2IGBcbiAgJHtpbnB1dFdyYXBwZXJTdHlsZXN9XG5gO1xyXG5jb25zdCBTdHlsZWRJbnB1dCA9IHN0eWxlZC5pbnB1dCBgXG4gICR7aW5wdXRCYXNlU3R5bGVzfVxuYDtcclxuY29uc3QgSWNvbldyYXBwZXIgPSBzdHlsZWQuc3BhbiBgXG4gIGJvdHRvbTogJHtwcm9wcyA9PiAocHJvcHMuaWNvblBvc2l0aW9uID09PSAndG9wJyA/ICc0NXB4JyA6ICdpbmhlcml0Jyl9O1xuICBjb2xvcjogJHtwcm9wcyA9PiBwcm9wcy5pc0ludmVyc2VcclxuICAgID8gcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWwxMDBcclxuICAgIDogcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWw3MDB9O1xuICBsZWZ0OiAke3Byb3BzID0+IHByb3BzLmljb25Qb3NpdGlvbiA9PT0gJ2xlZnQnID8gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDMgOiAnYXV0byd9O1xuICByaWdodDogJHtwcm9wcyA9PiBwcm9wcy5pY29uUG9zaXRpb24gPT09ICdyaWdodCdcclxuICAgID8gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDNcclxuICAgIDogcHJvcHMuaWNvblBvc2l0aW9uID09PSAndG9wJ1xyXG4gICAgICAgID8gJzNweCdcclxuICAgICAgICA6ICdhdXRvJ307XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAke3Byb3BzID0+IHByb3BzLmljb25Qb3NpdGlvbiA9PT0gJ3RvcCdcclxuICAgID8gJ2luaGVyaXQnXHJcbiAgICA6IHByb3BzID0+IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzAzfTtcblxuICAke3Byb3BzID0+IHByb3BzLmlucHV0U2l6ZSA9PT0gJ2xhcmdlJyAmJlxyXG4gICAgY3NzIGBcbiAgICAgIGJvdHRvbTogJHtwcm9wcy5pY29uUG9zaXRpb24gPT09ICd0b3AnID8gJzYycHgnIDogJ2luaGVyaXQnfTtcbiAgICAgIGxlZnQ6ICR7cHJvcHMuaWNvblBvc2l0aW9uID09PSAnbGVmdCdcclxuICAgICAgICA/IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzA0XHJcbiAgICAgICAgOiAnYXV0byd9O1xuICAgICAgcmlnaHQ6ICR7cHJvcHMuaWNvblBvc2l0aW9uID09PSAncmlnaHQnXHJcbiAgICAgICAgPyBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwNFxyXG4gICAgICAgIDogcHJvcHMuaWNvblBvc2l0aW9uID09PSAndG9wJ1xyXG4gICAgICAgICAgICA/ICczcHgnXHJcbiAgICAgICAgICAgIDogJ2F1dG8nfTtcbiAgICAgIHRvcDogJHtwcm9wcy5pY29uUG9zaXRpb24gPT09ICd0b3AnXHJcbiAgICAgICAgPyAnaW5oZXJpdCdcclxuICAgICAgICA6IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzA0fTtcbiAgICBgfVxuYDtcclxuZnVuY3Rpb24gZ2V0SWNvbkJ1dHRvblNWR1NpemUocHJvcHMpIHtcclxuICAgIGNvbnN0IHsgaXNDbGlja2FibGUsIGljb25Qb3NpdGlvbiwgaW5wdXRTaXplLCB0aGVtZSB9ID0gcHJvcHM7XHJcbiAgICBpZiAoaXNDbGlja2FibGUgJiYgaWNvblBvc2l0aW9uID09PSBJbnB1dEljb25Qb3NpdGlvbi50b3ApIHtcclxuICAgICAgICBpZiAoaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2UpIHtcclxuICAgICAgICAgICAgcmV0dXJuIGAke3RoZW1lLmljb25TaXplcy5tZWRpdW19cHhgO1xyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gYCR7dGhlbWUuaWNvblNpemVzLnNtYWxsfXB4YDtcclxuICAgIH1cclxuICAgIGlmIChpbnB1dFNpemUgPT09IElucHV0U2l6ZS5sYXJnZSkge1xyXG4gICAgICAgIHJldHVybiBgJHt0aGVtZS5pY29uU2l6ZXMubGFyZ2V9cHhgO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIGAke3RoZW1lLmljb25TaXplcy5tZWRpdW19cHhgO1xyXG59XHJcbmZ1bmN0aW9uIGdldEhlbHBMaW5rU1ZHU2l6ZShwcm9wcykge1xyXG4gICAgY29uc3QgeyBpbnB1dFNpemUsIHRoZW1lIH0gPSBwcm9wcztcclxuICAgIGlmIChpbnB1dFNpemUgPT09IElucHV0U2l6ZS5sYXJnZSkge1xyXG4gICAgICAgIHJldHVybiBgJHt0aGVtZS5pY29uU2l6ZXMubWVkaXVtfXB4YDtcclxuICAgIH1cclxuICAgIHJldHVybiBgJHt0aGVtZS5pY29uU2l6ZXMuc21hbGx9cHhgO1xyXG59XHJcbmV4cG9ydCBmdW5jdGlvbiBnZXRIZWxwSWNvbkJ1dHRvblNpemUocHJvcHMpIHtcclxuICAgIGNvbnN0IHsgaW5wdXRTaXplLCB0aGVtZSB9ID0gcHJvcHM7XHJcbiAgICBpZiAoaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2UpIHtcclxuICAgICAgICByZXR1cm4gdGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDk7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gdGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDc7XHJcbn1cclxuZnVuY3Rpb24gZ2V0SWNvbkJ1dHRvblRyYW5zZm9ybShwcm9wcykge1xyXG4gICAgY29uc3QgeyBpc0NsaWNrYWJsZSwgaWNvblBvc2l0aW9uLCBpbnB1dFNpemUsIGhhc0NoaWxkcmVuLCB0aGVtZSB9ID0gcHJvcHM7XHJcbiAgICBjb25zdCBwb3NpdGlvbiA9IHsgeDogJycsIHk6ICcnIH07XHJcbiAgICBpZiAoaWNvblBvc2l0aW9uID09PSBJbnB1dEljb25Qb3NpdGlvbi50b3ApIHtcclxuICAgICAgICBpZiAoaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2UpIHtcclxuICAgICAgICAgICAgcG9zaXRpb24ueCA9ICctMzBweCc7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uLnkgPSAnMnB4JztcclxuICAgICAgICB9XHJcbiAgICAgICAgZWxzZSBpZiAoaW5wdXRTaXplID09PSBJbnB1dFNpemUubWVkaXVtKSB7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uLnggPSAnLTI4cHgnO1xyXG4gICAgICAgICAgICBwb3NpdGlvbi55ID0gJzVweCc7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiBwb3NpdGlvbjtcclxuICAgIH1cclxuICAgIGlmIChpc0NsaWNrYWJsZSkge1xyXG4gICAgICAgIGlmIChpbnB1dFNpemUgPT09IElucHV0U2l6ZS5sYXJnZSkge1xyXG4gICAgICAgICAgICBpZiAoaGFzQ2hpbGRyZW4pIHtcclxuICAgICAgICAgICAgICAgIHBvc2l0aW9uLnggPSAnLTQzcHgnO1xyXG4gICAgICAgICAgICAgICAgcG9zaXRpb24ueSA9ICcxNHB4JztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBlbHNlIHtcclxuICAgICAgICAgICAgICAgIHBvc2l0aW9uLnggPSAnLTQ5cHgnO1xyXG4gICAgICAgICAgICAgICAgcG9zaXRpb24ueSA9ICc4cHgnO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2UgaWYgKGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLm1lZGl1bSkge1xyXG4gICAgICAgICAgICBwb3NpdGlvbi54ID0gJy0zNXB4JztcclxuICAgICAgICAgICAgcG9zaXRpb24ueSA9ICc2cHgnO1xyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gcG9zaXRpb247XHJcbiAgICB9XHJcbiAgICBpZiAoaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2UpIHtcclxuICAgICAgICBwb3NpdGlvbi54ID0gYC0ke3RoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzEwfWA7XHJcbiAgICAgICAgcG9zaXRpb24ueSA9IHRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzAzO1xyXG4gICAgfVxyXG4gICAgZWxzZSBpZiAoaW5wdXRTaXplID09PSBJbnB1dFNpemUubWVkaXVtKSB7XHJcbiAgICAgICAgcG9zaXRpb24ueCA9ICctMjRweCc7XHJcbiAgICAgICAgcG9zaXRpb24ueSA9ICc3cHgnO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIHBvc2l0aW9uO1xyXG59XHJcbmV4cG9ydCBjb25zdCBJY29uQnV0dG9uQ29udGFpbmVyID0gc3R5bGVkLnNwYW4gYFxuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgYm90dG9tOiAke3Byb3BzID0+IChwcm9wcy5pY29uUG9zaXRpb24gPT09ICd0b3AnID8gJzQwcHgnIDogJ2luaGVyaXQnKX07XG4gIGhlaWdodDogYXV0bztcbiAgbWFyZ2luOiAwO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiAwO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZShcbiAgICAke3Byb3BzID0+IGdldEljb25CdXR0b25UcmFuc2Zvcm0ocHJvcHMpLnh9LFxuICAgICR7cHJvcHMgPT4gZ2V0SWNvbkJ1dHRvblRyYW5zZm9ybShwcm9wcykueX1cbiAgKTtcbiAgc3ZnIHtcbiAgICBoZWlnaHQ6ICR7cHJvcHMgPT4gZ2V0SWNvbkJ1dHRvblNWR1NpemUocHJvcHMpfTtcbiAgICB3aWR0aDogJHtwcm9wcyA9PiBnZXRJY29uQnV0dG9uU1ZHU2l6ZShwcm9wcyl9O1xuICB9XG5gO1xyXG5jb25zdCBQYXNzd29yZEJ1dHRvbkNvbnRhaW5lciA9IHN0eWxlZC5zcGFuIGBcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIHdpZHRoOiAwO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZShcbiAgICAke3Byb3BzID0+IHByb3BzLnNpemUgPT09IElucHV0U2l6ZS5sYXJnZVxyXG4gICAgPyBgJHstcHJvcHMuYnV0dG9uV2lkdGggLSA4fXB4YFxyXG4gICAgOiBgJHstcHJvcHMuYnV0dG9uV2lkdGggLSA2fXB4YH0sXG4gICAgJHtwcm9wcyA9PiBwcm9wcy5zaXplID09PSBJbnB1dFNpemUubGFyZ2UgPyBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwMyA6ICc2cHgnfVxuICApO1xuYDtcclxuZnVuY3Rpb24gZ2V0Q2xlYXJhYmxlUG9zaXRpb24ocHJvcHMpIHtcclxuICAgIGlmIChwcm9wcy5pY29uUG9zaXRpb24gPT09ICdyaWdodCcgJiYgcHJvcHMuaWNvbikge1xyXG4gICAgICAgIGlmIChwcm9wcy5pbnB1dFNpemUgPT09ICdsYXJnZScpIHtcclxuICAgICAgICAgICAgcmV0dXJuIHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzEzO1xyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gJzcycHgnO1xyXG4gICAgfVxyXG4gICAgaWYgKHByb3BzLmlucHV0U2l6ZSA9PT0gJ2xhcmdlJykge1xyXG4gICAgICAgIHJldHVybiBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcxMDtcclxuICAgIH1cclxuICAgIHJldHVybiAnMzRweCc7XHJcbn1cclxuY29uc3QgSXNDbGVhcmFibGVDb250YWluZXIgPSBzdHlsZWQuc3BhbiBgXG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBtYXJnaW46IDA7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgaGVpZ2h0OiBhdXRvO1xuICB3aWR0aDogMDtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoXG4gICAgLSR7cHJvcHMgPT4gZ2V0Q2xlYXJhYmxlUG9zaXRpb24ocHJvcHMpfSxcbiAgICAke3Byb3BzID0+IHByb3BzLmlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlXHJcbiAgICA/IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzAzXHJcbiAgICA6ICc2cHgnfVxuICApO1xuYDtcclxuZnVuY3Rpb24gZ2V0SWNvblNpemUoc2l6ZSwgdGhlbWUsIGljb25Qb3NpdGlvbikge1xyXG4gICAgc3dpdGNoIChzaXplKSB7XHJcbiAgICAgICAgY2FzZSAnbGFyZ2UnOlxyXG4gICAgICAgICAgICBpZiAoaWNvblBvc2l0aW9uID09PSBJbnB1dEljb25Qb3NpdGlvbi50b3ApIHtcclxuICAgICAgICAgICAgICAgIHJldHVybiB0aGVtZS5pY29uU2l6ZXMubWVkaXVtO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHJldHVybiB0aGVtZS5pY29uU2l6ZXMubGFyZ2U7XHJcbiAgICAgICAgZGVmYXVsdDpcclxuICAgICAgICAgICAgaWYgKGljb25Qb3NpdGlvbiA9PT0gSW5wdXRJY29uUG9zaXRpb24udG9wKSB7XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gdGhlbWUuaWNvblNpemVzLnNtYWxsO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHJldHVybiB0aGVtZS5pY29uU2l6ZXMubWVkaXVtO1xyXG4gICAgfVxyXG59XHJcbmV4cG9ydCBjb25zdCBpc0xlZnRPckhpZGRlbiA9ICh7IGxhYmVsUG9zaXRpb24sIGlzTGFiZWxWaXN1YWxseUhpZGRlbiwgfSkgPT4gbGFiZWxQb3NpdGlvbiA9PT0gTGFiZWxQb3NpdGlvbi5sZWZ0IHx8IGlzTGFiZWxWaXN1YWxseUhpZGRlbjtcclxuZXhwb3J0IGNvbnN0IEhlbHBMaW5rQ29udGFpbmVyID0gc3R5bGVkLnNwYW4gYFxuICBwb3NpdGlvbjogJHtwcm9wcyA9PiAoaXNMZWZ0T3JIaWRkZW4ocHJvcHMpID8gJ3JlbGF0aXZlJyA6ICdhYnNvbHV0ZScpfTtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cbiAgaGVpZ2h0OiAke3Byb3BzID0+IChpc0xlZnRPckhpZGRlbihwcm9wcykgPyAnYXV0bycgOiAnZml0LWNvbnRlbnQnKX07XG4gIG1hcmdpbi1pbmxpbmUtc3RhcnQ6ICR7cHJvcHMgPT4gaXNMZWZ0T3JIaWRkZW4ocHJvcHMpID8gYCR7cHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDN9YCA6ICdhdXRvJ307XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWShcbiAgICAke3Byb3BzID0+IGlzTGVmdE9ySGlkZGVuKHByb3BzKVxyXG4gICAgPyAnMCdcclxuICAgIDogYGNhbGMoLTEwMCUgLSAke3Byb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzAzfSlgfVxuICApO1xuICAke0NoaWxkcmVuV3JhcHBlcn0gPiBzdmcge1xuICAgIGhlaWdodDogJHtwcm9wcyA9PiBnZXRIZWxwTGlua1NWR1NpemUocHJvcHMpfTtcbiAgICB3aWR0aDogJHtwcm9wcyA9PiBnZXRIZWxwTGlua1NWR1NpemUocHJvcHMpfTtcbiAgfVxuICBidXR0b24ge1xuICAgIGhlaWdodDogJHtwcm9wcyA9PiBnZXRIZWxwSWNvbkJ1dHRvblNpemUocHJvcHMpfTtcbiAgICB3aWR0aDogJHtwcm9wcyA9PiBnZXRIZWxwSWNvbkJ1dHRvblNpemUocHJvcHMpfTtcbiAgfVxuICBpbnNldC1pbmxpbmUtZW5kOiAke3Byb3BzID0+IChpc0xlZnRPckhpZGRlbihwcm9wcykgPyAnYXV0bycgOiAnMCcpfTtcbmA7XHJcbmV4cG9ydCBjb25zdCBJbnB1dEJhc2UgPSBSZWFjdC5mb3J3YXJkUmVmKChwcm9wcywgZm9yd2FyZGVkUmVmKSA9PiB7XHJcbiAgICBjb25zdCB7IGNoaWxkcmVuLCBjb250YWluZXJTdHlsZSwgZGVmYXVsdFZhbHVlLCBkaXNhYmxlZCwgaGFzQ2hhcmFjdGVyQ291bnRlciwgaGFzRXJyb3IsIGljb24sIGljb25BcmlhTGFiZWwsIGljb25SZWYsIGlzQ2xlYXJhYmxlLCBpc1Bhc3N3b3JkSW5wdXQsIGlzUHJlZGljdGl2ZSwgbWF4Q291bnQsIG1heExlbmd0aCwgb25DbGVhciwgb25JY29uQ2xpY2ssIG9uSWNvbktleURvd24sIG9uRGF0ZUNoYW5nZSwgaW5wdXRMZW5ndGgsIGlucHV0U2l6ZSwgaW5wdXRTdHlsZSwgaW5wdXRXcmFwcGVyU3R5bGUsIHRlc3RJZCwgdHlwZSwgc2V0UmVmZXJlbmNlLCBpc0xhYmVsVmlzdWFsbHlIaWRkZW4sIGxhYmVsUG9zaXRpb24sIC4uLm90aGVyIH0gPSBwcm9wcztcclxuICAgIGNvbnN0IGkxOG4gPSBSZWFjdC51c2VDb250ZXh0KEkxOG5Db250ZXh0KTtcclxuICAgIGNvbnN0IHRoZW1lID0gUmVhY3QudXNlQ29udGV4dChUaGVtZUNvbnRleHQpO1xyXG4gICAgY29uc3QgaWNvblBvc2l0aW9uID0gaWNvbiAmJiBvbkljb25DbGlja1xyXG4gICAgICAgID8gSW5wdXRJY29uUG9zaXRpb24ucmlnaHRcclxuICAgICAgICA6IGljb24gJiYgIXByb3BzLmljb25Qb3NpdGlvblxyXG4gICAgICAgICAgICA/IElucHV0SWNvblBvc2l0aW9uLmxlZnRcclxuICAgICAgICAgICAgOiBwcm9wcy5pY29uUG9zaXRpb247XHJcbiAgICBjb25zdCBbdmFsdWUsIHNldFZhbHVlXSA9IFJlYWN0LnVzZVN0YXRlKHByb3BzLmRlZmF1bHRWYWx1ZSAhPT0gdW5kZWZpbmVkICYmIHByb3BzLmRlZmF1bHRWYWx1ZSAhPT0gbnVsbFxyXG4gICAgICAgID8gcHJvcHMuZGVmYXVsdFZhbHVlXHJcbiAgICAgICAgOiBwcm9wcy52YWx1ZSB8fCAnJyk7XHJcbiAgICBjb25zdCBtYXhMZW5ndGhOdW0gPSAhaGFzQ2hhcmFjdGVyQ291bnRlciAmJiBtYXhMZW5ndGggPyBtYXhMZW5ndGggOiB1bmRlZmluZWQ7XHJcbiAgICBSZWFjdC51c2VFZmZlY3QoKCkgPT4ge1xyXG4gICAgICAgIGlmIChwcm9wcy52YWx1ZSAhPT0gdW5kZWZpbmVkICYmIHByb3BzLnZhbHVlICE9PSBudWxsKSB7XHJcbiAgICAgICAgICAgIHNldFZhbHVlKHByb3BzLnZhbHVlKTtcclxuICAgICAgICB9XHJcbiAgICB9LCBbcHJvcHMudmFsdWVdKTtcclxuICAgIGNvbnN0IGlucHV0UmVmID0gUmVhY3QudXNlUmVmKCk7XHJcbiAgICBjb25zdCByZWYgPSB1c2VGb3JrZWRSZWYoZm9yd2FyZGVkUmVmLCBpbnB1dFJlZik7XHJcbiAgICBmdW5jdGlvbiBoYW5kbGVDbGVhcklucHV0KCkge1xyXG4gICAgICAgIG9uQ2xlYXIgJiYgdHlwZW9mIG9uQ2xlYXIgPT09ICdmdW5jdGlvbicgJiYgb25DbGVhcigpO1xyXG4gICAgICAgIHNldFZhbHVlKCcnKTtcclxuICAgICAgICBvbkRhdGVDaGFuZ2UgJiYgdHlwZW9mIG9uRGF0ZUNoYW5nZSA9PT0gJ2Z1bmN0aW9uJyAmJiBvbkRhdGVDaGFuZ2UobnVsbCk7XHJcbiAgICAgICAgaW5wdXRSZWYuY3VycmVudC5mb2N1cygpO1xyXG4gICAgfVxyXG4gICAgZnVuY3Rpb24gaGFuZGxlQ2hhbmdlKGV2ZW50KSB7XHJcbiAgICAgICAgcHJvcHMub25DaGFuZ2UgJiZcclxuICAgICAgICAgICAgdHlwZW9mIHByb3BzLm9uQ2hhbmdlID09PSAnZnVuY3Rpb24nICYmXHJcbiAgICAgICAgICAgIHByb3BzLm9uQ2hhbmdlKGV2ZW50KTtcclxuICAgICAgICBjb25zdCBpc09uRGF0ZUNoYW5nZSA9IG9uRGF0ZUNoYW5nZSAmJiB0eXBlb2Ygb25EYXRlQ2hhbmdlID09PSAnZnVuY3Rpb24nO1xyXG4gICAgICAgIGNvbnN0IHsgdmFsdWUgfSA9IGV2ZW50LnRhcmdldDtcclxuICAgICAgICBzZXRWYWx1ZShpc09uRGF0ZUNoYW5nZSA/IHZhbHVlIDogKHByb3BzLnZhbHVlID8/IHZhbHVlKSk7XHJcbiAgICAgICAgaWYgKGlzT25EYXRlQ2hhbmdlICYmICF2YWx1ZSkge1xyXG4gICAgICAgICAgICBvbkRhdGVDaGFuZ2UobnVsbCk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgY29uc3QgcGFzc3dvcmRCdG5XaWR0aCA9ICgpID0+IHtcclxuICAgICAgICBjb25zdCBidG5XaWR0aCA9IGNoaWxkcmVuPy5wcm9wcz8uY2hpbGRyZW4/LlswXT8ucmVmPy5jdXJyZW50Py5vZmZzZXRXaWR0aDtcclxuICAgICAgICBpZiAodHlwZW9mIGJ0bldpZHRoID09PSAnbnVtYmVyJykge1xyXG4gICAgICAgICAgICByZXR1cm4gYnRuV2lkdGg7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgICAvLyBXaGVuIFBhc3N3b3JkQnV0dG9uIGlzIHVzZWQgaW5zaWRlIFNjaGVtYVJlbmRlcmVyLCBpdCBkb2Vzbid0IGhhdmUgY2hpbGRyZW4uXHJcbiAgICAgICAgICAgIC8vIFdlJ2xsIHVzZSB0aGUgZGVmYXVsdCBidXR0b24gc2l6ZXMuXHJcbiAgICAgICAgICAgIGlmIChwcm9wcy5pbnB1dFNpemUgPT09IElucHV0U2l6ZS5sYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuIDY0O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHJldHVybiA1NDtcclxuICAgICAgICB9XHJcbiAgICB9O1xyXG4gICAgcmV0dXJuIChSZWFjdC5jcmVhdGVFbGVtZW50KFwiZGl2XCIsIHsgcmVmOiBzZXRSZWZlcmVuY2UgfSxcclxuICAgICAgICBSZWFjdC5jcmVhdGVFbGVtZW50KElucHV0Q29udGFpbmVyLCB7IHN0eWxlOiBpbnB1dFdyYXBwZXJTdHlsZSwgXCJkYXRhLXRlc3RpZFwiOiBgJHt0ZXN0SWR9LXdyYXBwZXJgIH0sXHJcbiAgICAgICAgICAgIFJlYWN0LmNyZWF0ZUVsZW1lbnQoSW5wdXRXcmFwcGVyLCB7IGRpc2FibGVkOiBkaXNhYmxlZCwgaWNvblBvc2l0aW9uOiBpY29uUG9zaXRpb24sIGlzSW52ZXJzZTogcHJvcHMuaXNJbnZlcnNlLCBpbnB1dFNpemU6IGlucHV0U2l6ZSA/PyBJbnB1dFNpemUubWVkaXVtLCB0aGVtZTogdGhlbWUsIHN0eWxlOiBjb250YWluZXJTdHlsZSwgaGFzRXJyb3I6IGhhc0Vycm9yLCBpc0NsZWFyYWJsZTogaXNDbGVhcmFibGUsIHdpZHRoOiBwcm9wcy53aWR0aCB9LFxyXG4gICAgICAgICAgICAgICAgUmVhY3QuY3JlYXRlRWxlbWVudChTdHlsZWRJbnB1dCwgT2JqZWN0LmFzc2lnbih7fSwgb3RoZXIsIHsgXCJhcmlhLWludmFsaWRcIjogaGFzRXJyb3IsIGRpc2FibGVkOiBkaXNhYmxlZCwgXCJkYXRhLXRlc3RpZFwiOiB0ZXN0SWQsIGhhc0NoYXJhY3RlckNvdW50ZXI6IGhhc0NoYXJhY3RlckNvdW50ZXIsIGljb25Qb3NpdGlvbjogaWNvblBvc2l0aW9uLCBpbnB1dFNpemU6IGlucHV0U2l6ZSA/PyBJbnB1dFNpemUubWVkaXVtLCBpc0NsZWFyYWJsZTogdHlwZSA9PT0gSW5wdXRUeXBlLnNlYXJjaFxyXG4gICAgICAgICAgICAgICAgICAgICAgICA/IGlzQ2xlYXJhYmxlXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDogaW5wdXRXcmFwcGVyU3R5bGU/LndpZHRoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA/IGlzQ2xlYXJhYmxlXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IGlzQ2xlYXJhYmxlICYmIGlucHV0TGVuZ3RoID4gMCwgaXNJbnZlcnNlOiB1c2VJc0ludmVyc2UocHJvcHMuaXNJbnZlcnNlKSwgaXNQcmVkaWN0aXZlOiBpc1ByZWRpY3RpdmUsIGhhc0Vycm9yOiBoYXNFcnJvciwgcmVmOiByZWYsIG1heExlbmd0aDogbWF4TGVuZ3RoTnVtLCBvbkNoYW5nZTogaGFuZGxlQ2hhbmdlLCBzdHlsZTogaW5wdXRTdHlsZSwgdGhlbWU6IHRoZW1lLCB0eXBlOiB0eXBlID8gdHlwZSA6IElucHV0VHlwZS50ZXh0LCB2YWx1ZTogdmFsdWUgfSkpLFxyXG4gICAgICAgICAgICAgICAgaWNvbiAmJiAhb25JY29uQ2xpY2sgJiYgKFJlYWN0LmNyZWF0ZUVsZW1lbnQoSWNvbldyYXBwZXIsIHsgXCJhcmlhLWxhYmVsXCI6IGljb25BcmlhTGFiZWwsIGljb25Qb3NpdGlvbjogaWNvblBvc2l0aW9uLCBpbnB1dFNpemU6IGlucHV0U2l6ZSA/PyBJbnB1dFNpemUubWVkaXVtLCBpc0ludmVyc2U6IHByb3BzLmlzSW52ZXJzZSwgaXNQcmVkaWN0aXZlOiBpc1ByZWRpY3RpdmUsIHRoZW1lOiB0aGVtZSwgZGlzYWJsZWQ6IGRpc2FibGVkIH0sIFJlYWN0LkNoaWxkcmVuLm9ubHkoUmVhY3QuY2xvbmVFbGVtZW50KGljb24sIHtcclxuICAgICAgICAgICAgICAgICAgICBzaXplOiBnZXRJY29uU2l6ZShpbnB1dFNpemUgPz8gSW5wdXRTaXplLm1lZGl1bSwgdGhlbWUsIGljb25Qb3NpdGlvbiksXHJcbiAgICAgICAgICAgICAgICB9KSkpKSksXHJcbiAgICAgICAgICAgIGlzQ2xlYXJhYmxlICYmIHZhbHVlICE9PSAnJyAmJiAoUmVhY3QuY3JlYXRlRWxlbWVudChJc0NsZWFyYWJsZUNvbnRhaW5lciwgeyB0aGVtZTogdGhlbWUsIGljb25Qb3NpdGlvbjogaWNvblBvc2l0aW9uLCBpbnB1dFNpemU6IGlucHV0U2l6ZSwgaWNvbjogaWNvbiB9LFxyXG4gICAgICAgICAgICAgICAgUmVhY3QuY3JlYXRlRWxlbWVudChJY29uQnV0dG9uLCB7IFwiYXJpYS1sYWJlbFwiOiBpMThuLmlucHV0LmlzQ2xlYXJhYmxlQXJpYUxhYmVsLCBkaXNhYmxlZDogZGlzYWJsZWQsIGljb246IFJlYWN0LmNyZWF0ZUVsZW1lbnQoQ2xlYXJJY29uLCBudWxsKSwgaXNJbnZlcnNlOiBwcm9wcy5pc0ludmVyc2UsIG9uQ2xpY2s6IGhhbmRsZUNsZWFySW5wdXQsIG9uS2V5RG93bjogb25JY29uS2V5RG93biwgcmVmOiBpY29uUmVmLCBzaGFwZTogQnV0dG9uU2hhcGUuZmlsbCwgc2l6ZTogaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2VcclxuICAgICAgICAgICAgICAgICAgICAgICAgPyBCdXR0b25TaXplLm1lZGl1bVxyXG4gICAgICAgICAgICAgICAgICAgICAgICA6IEJ1dHRvblNpemUuc21hbGwsIHRlc3RJZDogXCJjbGVhci1idXR0b25cIiwgdHlwZTogQnV0dG9uVHlwZS5idXR0b24sIHZhcmlhbnQ6IEJ1dHRvblZhcmlhbnQubGluayB9KSkpLFxyXG4gICAgICAgICAgICBvbkljb25DbGljayAmJiAoUmVhY3QuY3JlYXRlRWxlbWVudChJY29uQnV0dG9uQ29udGFpbmVyLCB7IGljb25Qb3NpdGlvbjogaWNvblBvc2l0aW9uLCBpbnB1dFNpemU6IGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlXHJcbiAgICAgICAgICAgICAgICAgICAgPyBJbnB1dFNpemUubGFyZ2VcclxuICAgICAgICAgICAgICAgICAgICA6IElucHV0U2l6ZS5tZWRpdW0sIHRoZW1lOiB0aGVtZSwgaXNDbGlja2FibGU6IHRydWUgfSxcclxuICAgICAgICAgICAgICAgIFJlYWN0LmNyZWF0ZUVsZW1lbnQoSWNvbkJ1dHRvbiwgeyBcImFyaWEtbGFiZWxcIjogaWNvbkFyaWFMYWJlbCwgaWNvbjogaWNvbiwgaXNJbnZlcnNlOiBwcm9wcy5pc0ludmVyc2UsIG9uQ2xpY2s6IG9uSWNvbkNsaWNrLCBvbktleURvd246IG9uSWNvbktleURvd24sIHJlZjogaWNvblJlZiwgZGlzYWJsZWQ6IGRpc2FibGVkLCBzaGFwZTogQnV0dG9uU2hhcGUuZmlsbCwgc2l6ZTogaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2VcclxuICAgICAgICAgICAgICAgICAgICAgICAgPyBCdXR0b25TaXplLm1lZGl1bVxyXG4gICAgICAgICAgICAgICAgICAgICAgICA6IEJ1dHRvblNpemUuc21hbGwsIHR5cGU6IEJ1dHRvblR5cGUuYnV0dG9uLCB2YXJpYW50OiBCdXR0b25WYXJpYW50LmxpbmsgfSkpKSxcclxuICAgICAgICAgICAgaXNQYXNzd29yZElucHV0ID8gKFJlYWN0LmNyZWF0ZUVsZW1lbnQoUGFzc3dvcmRCdXR0b25Db250YWluZXIsIHsgc2l6ZTogaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2VcclxuICAgICAgICAgICAgICAgICAgICA/IElucHV0U2l6ZS5sYXJnZVxyXG4gICAgICAgICAgICAgICAgICAgIDogSW5wdXRTaXplLm1lZGl1bSwgdGhlbWU6IHRoZW1lLCBidXR0b25XaWR0aDogcGFzc3dvcmRCdG5XaWR0aCgpIH0sIGNoaWxkcmVuKSkgOiAoUmVhY3QuY3JlYXRlRWxlbWVudChIZWxwTGlua0NvbnRhaW5lciwgeyBpc0xhYmVsVmlzdWFsbHlIaWRkZW46IGlzTGFiZWxWaXN1YWxseUhpZGRlbiB8fCBmYWxzZSwgaW5wdXRTaXplOiBpbnB1dFNpemUgPz8gSW5wdXRTaXplLm1lZGl1bSwgbGFiZWxQb3NpdGlvbjogbGFiZWxQb3NpdGlvbiA/PyBMYWJlbFBvc2l0aW9uLnRvcCwgdGhlbWU6IHRoZW1lIH0sIGNoaWxkcmVuKSkpKSk7XHJcbn0pO1xyXG4vLyMgc291cmNlTWFwcGluZ1VSTD1pbmRleC5qcy5tYXAiXX0= */"));
|
|
4960
|
+
}, ";" + (process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImluZGV4LnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUEwTmdDIiwiZmlsZSI6ImluZGV4LnRzeCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIFJlYWN0IGZyb20gJ3JlYWN0JztcclxuaW1wb3J0IHsgY3NzIH0gZnJvbSAnQGVtb3Rpb24vcmVhY3QnO1xyXG5pbXBvcnQgc3R5bGVkIGZyb20gJ0BlbW90aW9uL3N0eWxlZCc7XHJcbmltcG9ydCB7IHRyYW5zcGFyZW50aXplIH0gZnJvbSAncG9saXNoZWQnO1xyXG5pbXBvcnQgeyBDbGVhckljb24gfSBmcm9tICdyZWFjdC1tYWdtYS1pY29ucyc7XHJcbmltcG9ydCB7IEkxOG5Db250ZXh0IH0gZnJvbSAnLi4vLi4vaTE4bic7XHJcbmltcG9ydCB7IHVzZUlzSW52ZXJzZSB9IGZyb20gJy4uLy4uL2ludmVyc2UnO1xyXG5pbXBvcnQgeyBUaGVtZUNvbnRleHQgfSBmcm9tICcuLi8uLi90aGVtZS9UaGVtZUNvbnRleHQnO1xyXG5pbXBvcnQgeyB1c2VGb3JrZWRSZWYgfSBmcm9tICcuLi8uLi91dGlscyc7XHJcbmltcG9ydCB7IEJ1dHRvblNoYXBlLCBCdXR0b25TaXplLCBCdXR0b25UeXBlLCBCdXR0b25WYXJpYW50IH0gZnJvbSAnLi4vQnV0dG9uJztcclxuaW1wb3J0IHsgSWNvbkJ1dHRvbiB9IGZyb20gJy4uL0ljb25CdXR0b24nO1xyXG5pbXBvcnQgeyBMYWJlbFBvc2l0aW9uIH0gZnJvbSAnLi4vTGFiZWwnO1xyXG5pbXBvcnQgeyBDaGlsZHJlbldyYXBwZXIgfSBmcm9tICcuLi9TdHlsZWRCdXR0b24nO1xyXG5leHBvcnQgdmFyIElucHV0U2l6ZTtcclxuKGZ1bmN0aW9uIChJbnB1dFNpemUpIHtcclxuICAgIElucHV0U2l6ZVtcImxhcmdlXCJdID0gXCJsYXJnZVwiO1xyXG4gICAgSW5wdXRTaXplW1wibWVkaXVtXCJdID0gXCJtZWRpdW1cIjtcclxufSkoSW5wdXRTaXplIHx8IChJbnB1dFNpemUgPSB7fSkpO1xyXG5leHBvcnQgdmFyIElucHV0VHlwZTtcclxuKGZ1bmN0aW9uIChJbnB1dFR5cGUpIHtcclxuICAgIElucHV0VHlwZVtcImVtYWlsXCJdID0gXCJlbWFpbFwiO1xyXG4gICAgSW5wdXRUeXBlW1wiZmlsZVwiXSA9IFwiZmlsZVwiO1xyXG4gICAgSW5wdXRUeXBlW1wibnVtYmVyXCJdID0gXCJudW1iZXJcIjtcclxuICAgIElucHV0VHlwZVtcInBhc3N3b3JkXCJdID0gXCJwYXNzd29yZFwiO1xyXG4gICAgSW5wdXRUeXBlW1wic2VhcmNoXCJdID0gXCJzZWFyY2hcIjtcclxuICAgIElucHV0VHlwZVtcInRleHRcIl0gPSBcInRleHRcIjtcclxuICAgIElucHV0VHlwZVtcInVybFwiXSA9IFwidXJsXCI7XHJcbiAgICBJbnB1dFR5cGVbXCJ0ZWxcIl0gPSBcInRlbFwiO1xyXG59KShJbnB1dFR5cGUgfHwgKElucHV0VHlwZSA9IHt9KSk7XHJcbmV4cG9ydCB2YXIgSW5wdXRJY29uUG9zaXRpb247XHJcbihmdW5jdGlvbiAoSW5wdXRJY29uUG9zaXRpb24pIHtcclxuICAgIElucHV0SWNvblBvc2l0aW9uW1widG9wXCJdID0gXCJ0b3BcIjtcclxuICAgIElucHV0SWNvblBvc2l0aW9uW1wibGVmdFwiXSA9IFwibGVmdFwiO1xyXG4gICAgSW5wdXRJY29uUG9zaXRpb25bXCJyaWdodFwiXSA9IFwicmlnaHRcIjtcclxufSkoSW5wdXRJY29uUG9zaXRpb24gfHwgKElucHV0SWNvblBvc2l0aW9uID0ge30pKTtcclxuZXhwb3J0IGNvbnN0IGlucHV0V3JhcHBlclN0eWxlcyA9IChwcm9wcykgPT4gY3NzIGBcbiAgZmxleDogMSAxIGF1dG87XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgd2lkdGg6ICR7cHJvcHMud2lkdGggfHwgJ2F1dG8nfTtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHtwcm9wcy5pc0ludmVyc2VcclxuICAgID8gdHJhbnNwYXJlbnRpemUoMC44LCBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDkwMClcclxuICAgIDogcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWwxMDB9O1xuICBib3JkZXItcmFkaXVzOiAke3Byb3BzLnRoZW1lLmJvcmRlclJhZGl1c307XG4gIGJvcmRlcjogMXB4IHNvbGlkXG4gICAgJHtwcm9wcy5pc0ludmVyc2VcclxuICAgID8gdHJhbnNwYXJlbnRpemUoMC41LCBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDEwMClcclxuICAgIDogcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWw1MDB9O1xuICBoZWlnaHQ6ICR7cHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDl9O1xuXG4gICY6Zm9jdXMtd2l0aGluIHtcbiAgICBvdXRsaW5lOiAycHggc29saWRcbiAgICAgICR7cHJvcHMuaXNJbnZlcnNlXHJcbiAgICA/IHByb3BzLnRoZW1lLmNvbG9ycy5mb2N1c0ludmVyc2VcclxuICAgIDogcHJvcHMudGhlbWUuY29sb3JzLmZvY3VzfTtcbiAgICBvdXRsaW5lLW9mZnNldDogLTFweDtcbiAgfVxuXG4gICR7cHJvcHMuaGFzRXJyb3IgJiZcclxuICAgIGNzcyBgXG4gICAgYm9yZGVyLWNvbG9yOiAke3Byb3BzLmlzSW52ZXJzZVxyXG4gICAgICAgID8gcHJvcHMudGhlbWUuY29sb3JzLmRhbmdlcjMwMFxyXG4gICAgICAgIDogcHJvcHMudGhlbWUuY29sb3JzLmRhbmdlcn07XG4gIGB9XG5cbiAgJHtwcm9wcy5kaXNhYmxlZCAmJlxyXG4gICAgY3NzIGBcbiAgICBib3JkZXItY29sb3I6ICR7cHJvcHMuaXNJbnZlcnNlXHJcbiAgICAgICAgPyB0cmFuc3BhcmVudGl6ZSgwLjg1LCBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDEwMClcclxuICAgICAgICA6IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsMzAwfTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAke3Byb3BzLmlzSW52ZXJzZVxyXG4gICAgICAgID8gdHJhbnNwYXJlbnRpemUoMC45LCBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDkwMClcclxuICAgICAgICA6IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsMjAwfTtcbiAgYH1cblxuICAke3Byb3BzLmlucHV0U2l6ZSA9PT0gJ2xhcmdlJyAmJlxyXG4gICAgY3NzIGBcbiAgICBoZWlnaHQ6ICR7cHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMTF9O1xuICBgfVxuYDtcclxuZnVuY3Rpb24gZ2V0SW5wdXRQYWRkaW5nKHByb3BzKSB7XHJcbiAgICBjb25zdCB7IGlucHV0U2l6ZSwgaXNDbGVhcmFibGUsIGljb25Qb3NpdGlvbiB9ID0gcHJvcHM7XHJcbiAgICBjb25zdCBwYWRkaW5nID0ge1xyXG4gICAgICAgIGxlZnQ6IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzAzLFxyXG4gICAgICAgIHJpZ2h0OiBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwMyxcclxuICAgIH07XHJcbiAgICBpZiAoaW5wdXRTaXplID09PSAnbGFyZ2UnKSB7XHJcbiAgICAgICAgaWYgKGlzQ2xlYXJhYmxlKSB7XHJcbiAgICAgICAgICAgIGlmIChpY29uUG9zaXRpb24gPT09ICdyaWdodCcpIHtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmcucmlnaHQgPSAnOTJweCc7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgZWxzZSBpZiAoaWNvblBvc2l0aW9uID09PSAnbGVmdCcpIHtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmcubGVmdCA9IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzExO1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy5yaWdodCA9IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzExO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgLy8gaWNvbiB0b3AsIG5vIGljb25cclxuICAgICAgICAgICAgICAgIHBhZGRpbmcucmlnaHQgPSBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcxMTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBlbHNlIHtcclxuICAgICAgICAgICAgaWYgKGljb25Qb3NpdGlvbiA9PT0gJ3JpZ2h0Jykge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy5yaWdodCA9IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzEwO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGlmIChpY29uUG9zaXRpb24gPT09ICdsZWZ0Jykge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy5sZWZ0ID0gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMTA7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICBlbHNlIGlmIChpbnB1dFNpemUgPT09ICdtZWRpdW0nKSB7XHJcbiAgICAgICAgaWYgKGlzQ2xlYXJhYmxlKSB7XHJcbiAgICAgICAgICAgIGlmIChpY29uUG9zaXRpb24gPT09ICdyaWdodCcpIHtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmcucmlnaHQgPSAnNjhweCc7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgZWxzZSBpZiAoaWNvblBvc2l0aW9uID09PSAnbGVmdCcpIHtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmcubGVmdCA9IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzA5O1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy5yaWdodCA9IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzA5O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgLy8gaWNvbiB0b3AsIG5vIGljb25cclxuICAgICAgICAgICAgICAgIHBhZGRpbmcucmlnaHQgPSBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwOTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBlbHNlIHtcclxuICAgICAgICAgICAgaWYgKGljb25Qb3NpdGlvbiA9PT0gJ3JpZ2h0Jykge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy5yaWdodCA9IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzA5O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGlmIChpY29uUG9zaXRpb24gPT09ICdsZWZ0Jykge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy5sZWZ0ID0gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICByZXR1cm4gcGFkZGluZztcclxufVxyXG5leHBvcnQgY29uc3QgaW5wdXRCYXNlU3R5bGVzID0gKHByb3BzKSA9PiBjc3MgYFxuICBib3JkZXI6IDA7XG4gIGJvcmRlci1yYWRpdXM6ICR7cHJvcHMudGhlbWUuYm9yZGVyUmFkaXVzfTtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIGNvbG9yOiAke3Byb3BzLmlzSW52ZXJzZVxyXG4gICAgPyBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDEwMFxyXG4gICAgOiBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDcwMH07XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBmb250LXNpemU6ICR7cHJvcHMudGhlbWUudHlwZVNjYWxlLnNpemUwMy5mb250U2l6ZX07XG4gIGxpbmUtaGVpZ2h0OiAke3Byb3BzLnRoZW1lLnR5cGVTY2FsZS5zaXplMDMubGluZUhlaWdodH07XG4gIGZvbnQtZmFtaWx5OiAke3Byb3BzLnRoZW1lLmJvZHlGb250fTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBwYWRkaW5nOiAke3Byb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzAzfTtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICB3aWR0aDogMTAwJTtcblxuICAke3Byb3BzLmlucHV0U2l6ZSA9PT0gJ2xhcmdlJyAmJlxyXG4gICAgY3NzIGBcbiAgICBmb250LXNpemU6ICR7cHJvcHMudGhlbWUudHlwZVNjYWxlLnNpemUwNC5mb250U2l6ZX07XG4gICAgbGluZS1oZWlnaHQ6ICR7cHJvcHMudGhlbWUudHlwZVNjYWxlLnNpemUwNC5saW5lSGVpZ2h0fTtcbiAgICBwYWRkaW5nOiAke3Byb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzA0fTtcbiAgYH1cblxuICBwYWRkaW5nLWxlZnQ6ICR7Z2V0SW5wdXRQYWRkaW5nKHByb3BzKS5sZWZ0fTtcbiAgcGFkZGluZy1yaWdodDogJHtnZXRJbnB1dFBhZGRpbmcocHJvcHMpLnJpZ2h0fTtcblxuICAmOjpwbGFjZWhvbGRlciB7XG4gICAgY29sb3I6ICR7cHJvcHMuaXNJbnZlcnNlXHJcbiAgICA/IHRyYW5zcGFyZW50aXplKDAuMywgcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWwxMDApXHJcbiAgICA6IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsNTAwfTtcbiAgfVxuXG4gICY6Zm9jdXMge1xuICAgIG91dGxpbmU6IDA7XG4gIH1cblxuICAmW3R5cGU9J3NlYXJjaCddIHtcbiAgICAmOjotd2Via2l0LXNlYXJjaC1kZWNvcmF0aW9uLFxuICAgICY6Oi13ZWJraXQtc2VhcmNoLWNhbmNlbC1idXR0b24sXG4gICAgJjo6LXdlYmtpdC1zZWFyY2gtcmVzdWx0cy1idXR0b24sXG4gICAgJjo6LXdlYmtpdC1zZWFyY2gtcmVzdWx0cy1kZWNvcmF0aW9uIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICB9XG5cbiAgJHtwcm9wcy5kaXNhYmxlZCAmJlxyXG4gICAgY3NzIGBcbiAgICBjb2xvcjogJHtwcm9wcy5pc0ludmVyc2VcclxuICAgICAgICA/IHRyYW5zcGFyZW50aXplKDAuNiwgcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWwxMDApXHJcbiAgICAgICAgOiB0cmFuc3BhcmVudGl6ZSgwLjQsIHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsNTAwKX07XG4gICAgY3Vyc29yOiBub3QtYWxsb3dlZDtcblxuICAgICY6OnBsYWNlaG9sZGVyIHtcbiAgICAgIGNvbG9yOiAke3Byb3BzLmlzSW52ZXJzZVxyXG4gICAgICAgID8gdHJhbnNwYXJlbnRpemUoMC44LCBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDEwMClcclxuICAgICAgICA6IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsNTAwfTtcbiAgICAgIG9wYWNpdHk6ICR7cHJvcHMuaXNJbnZlcnNlID8gMC40IDogMC42fTtcbiAgICB9XG4gIGB9XG5cbiAgJjotd2Via2l0LWF1dG9maWxsLFxuICAmOi13ZWJraXQtYXV0b2ZpbGw6Zm9jdXMsXG4gICY6LXdlYmtpdC1hdXRvZmlsbDpob3ZlcixcbiAgJjotd2Via2l0LWF1dG9maWxsOmFjdGl2ZSB7XG4gICAgYm94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xuICAgIC13ZWJraXQtYmFja2dyb3VuZC1jbGlwOiB0ZXh0O1xuICAgIC13ZWJraXQtdGV4dC1maWxsLWNvbG9yOiAke3Byb3BzLmlzSW52ZXJzZVxyXG4gICAgPyBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDEwMFxyXG4gICAgOiBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDcwMH0gIWltcG9ydGFudDtcbiAgICBjYXJldC1jb2xvcjogJHtwcm9wcy5pc0ludmVyc2VcclxuICAgID8gcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWwxMDBcclxuICAgIDogcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWw3MDB9ICFpbXBvcnRhbnQ7XG4gIH1cbmA7XHJcbmNvbnN0IElucHV0Q29udGFpbmVyID0gc3R5bGVkLmRpdiBgXG4gIGRpc3BsYXk6IGZsZXg7XG5gO1xyXG5leHBvcnQgY29uc3QgSW5wdXRXcmFwcGVyID0gc3R5bGVkLmRpdiBgXG4gICR7aW5wdXRXcmFwcGVyU3R5bGVzfVxuYDtcclxuY29uc3QgU3R5bGVkSW5wdXQgPSBzdHlsZWQuaW5wdXQgYFxuICAke2lucHV0QmFzZVN0eWxlc31cbmA7XHJcbmNvbnN0IEljb25XcmFwcGVyID0gc3R5bGVkLnNwYW4gYFxuICBib3R0b206ICR7cHJvcHMgPT4gKHByb3BzLmljb25Qb3NpdGlvbiA9PT0gJ3RvcCcgPyAnNDVweCcgOiAnaW5oZXJpdCcpfTtcbiAgY29sb3I6ICR7cHJvcHMgPT4gcHJvcHMuaXNJbnZlcnNlXHJcbiAgICA/IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsMTAwXHJcbiAgICA6IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsNzAwfTtcbiAgbGVmdDogJHtwcm9wcyA9PiBwcm9wcy5pY29uUG9zaXRpb24gPT09ICdsZWZ0JyA/IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzAzIDogJ2F1dG8nfTtcbiAgcmlnaHQ6ICR7cHJvcHMgPT4gcHJvcHMuaWNvblBvc2l0aW9uID09PSAncmlnaHQnXHJcbiAgICA/IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzAzXHJcbiAgICA6IHByb3BzLmljb25Qb3NpdGlvbiA9PT0gJ3RvcCdcclxuICAgICAgICA/ICczcHgnXHJcbiAgICAgICAgOiAnYXV0byd9O1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogJHtwcm9wcyA9PiBwcm9wcy5pY29uUG9zaXRpb24gPT09ICd0b3AnXHJcbiAgICA/ICdpbmhlcml0J1xyXG4gICAgOiBwcm9wcyA9PiBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwM307XG5cbiAgJHtwcm9wcyA9PiBwcm9wcy5pbnB1dFNpemUgPT09ICdsYXJnZScgJiZcclxuICAgIGNzcyBgXG4gICAgICBib3R0b206ICR7cHJvcHMuaWNvblBvc2l0aW9uID09PSAndG9wJyA/ICc2MnB4JyA6ICdpbmhlcml0J307XG4gICAgICBsZWZ0OiAke3Byb3BzLmljb25Qb3NpdGlvbiA9PT0gJ2xlZnQnXHJcbiAgICAgICAgPyBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwNFxyXG4gICAgICAgIDogJ2F1dG8nfTtcbiAgICAgIHJpZ2h0OiAke3Byb3BzLmljb25Qb3NpdGlvbiA9PT0gJ3JpZ2h0J1xyXG4gICAgICAgID8gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDRcclxuICAgICAgICA6IHByb3BzLmljb25Qb3NpdGlvbiA9PT0gJ3RvcCdcclxuICAgICAgICAgICAgPyAnM3B4J1xyXG4gICAgICAgICAgICA6ICdhdXRvJ307XG4gICAgICB0b3A6ICR7cHJvcHMuaWNvblBvc2l0aW9uID09PSAndG9wJ1xyXG4gICAgICAgID8gJ2luaGVyaXQnXHJcbiAgICAgICAgOiBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwNH07XG4gICAgYH1cbmA7XHJcbmZ1bmN0aW9uIGdldEljb25CdXR0b25TVkdTaXplKHByb3BzKSB7XHJcbiAgICBjb25zdCB7IGlzQ2xpY2thYmxlLCBpY29uUG9zaXRpb24sIGlucHV0U2l6ZSwgdGhlbWUgfSA9IHByb3BzO1xyXG4gICAgaWYgKGlzQ2xpY2thYmxlICYmIGljb25Qb3NpdGlvbiA9PT0gSW5wdXRJY29uUG9zaXRpb24udG9wKSB7XHJcbiAgICAgICAgaWYgKGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlKSB7XHJcbiAgICAgICAgICAgIHJldHVybiBgJHt0aGVtZS5pY29uU2l6ZXMubWVkaXVtfXB4YDtcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIGAke3RoZW1lLmljb25TaXplcy5zbWFsbH1weGA7XHJcbiAgICB9XHJcbiAgICBpZiAoaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2UpIHtcclxuICAgICAgICByZXR1cm4gYCR7dGhlbWUuaWNvblNpemVzLmxhcmdlfXB4YDtcclxuICAgIH1cclxuICAgIHJldHVybiBgJHt0aGVtZS5pY29uU2l6ZXMubWVkaXVtfXB4YDtcclxufVxyXG5mdW5jdGlvbiBnZXRIZWxwTGlua1NWR1NpemUocHJvcHMpIHtcclxuICAgIGNvbnN0IHsgaW5wdXRTaXplLCB0aGVtZSB9ID0gcHJvcHM7XHJcbiAgICBpZiAoaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2UpIHtcclxuICAgICAgICByZXR1cm4gYCR7dGhlbWUuaWNvblNpemVzLm1lZGl1bX1weGA7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gYCR7dGhlbWUuaWNvblNpemVzLnNtYWxsfXB4YDtcclxufVxyXG5leHBvcnQgZnVuY3Rpb24gZ2V0SGVscEljb25CdXR0b25TaXplKHByb3BzKSB7XHJcbiAgICBjb25zdCB7IGlucHV0U2l6ZSwgdGhlbWUgfSA9IHByb3BzO1xyXG4gICAgaWYgKGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlKSB7XHJcbiAgICAgICAgcmV0dXJuIHRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzA5O1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIHRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzA3O1xyXG59XHJcbmZ1bmN0aW9uIGdldEljb25CdXR0b25UcmFuc2Zvcm0ocHJvcHMpIHtcclxuICAgIGNvbnN0IHsgaXNDbGlja2FibGUsIGljb25Qb3NpdGlvbiwgaW5wdXRTaXplLCBoYXNDaGlsZHJlbiwgdGhlbWUgfSA9IHByb3BzO1xyXG4gICAgY29uc3QgcG9zaXRpb24gPSB7IHg6ICcnLCB5OiAnJyB9O1xyXG4gICAgaWYgKGljb25Qb3NpdGlvbiA9PT0gSW5wdXRJY29uUG9zaXRpb24udG9wKSB7XHJcbiAgICAgICAgaWYgKGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlKSB7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uLnggPSAnLTMwcHgnO1xyXG4gICAgICAgICAgICBwb3NpdGlvbi55ID0gJzJweCc7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2UgaWYgKGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLm1lZGl1bSkge1xyXG4gICAgICAgICAgICBwb3NpdGlvbi54ID0gJy0yOHB4JztcclxuICAgICAgICAgICAgcG9zaXRpb24ueSA9ICc1cHgnO1xyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gcG9zaXRpb247XHJcbiAgICB9XHJcbiAgICBpZiAoaXNDbGlja2FibGUpIHtcclxuICAgICAgICBpZiAoaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2UpIHtcclxuICAgICAgICAgICAgaWYgKGhhc0NoaWxkcmVuKSB7XHJcbiAgICAgICAgICAgICAgICBwb3NpdGlvbi54ID0gJy00M3B4JztcclxuICAgICAgICAgICAgICAgIHBvc2l0aW9uLnkgPSAnMTRweCc7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICAgICAgICBwb3NpdGlvbi54ID0gJy00OXB4JztcclxuICAgICAgICAgICAgICAgIHBvc2l0aW9uLnkgPSAnOHB4JztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBlbHNlIGlmIChpbnB1dFNpemUgPT09IElucHV0U2l6ZS5tZWRpdW0pIHtcclxuICAgICAgICAgICAgcG9zaXRpb24ueCA9ICctMzVweCc7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uLnkgPSAnNnB4JztcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIHBvc2l0aW9uO1xyXG4gICAgfVxyXG4gICAgaWYgKGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlKSB7XHJcbiAgICAgICAgcG9zaXRpb24ueCA9IGAtJHt0aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcxMH1gO1xyXG4gICAgICAgIHBvc2l0aW9uLnkgPSB0aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwMztcclxuICAgIH1cclxuICAgIGVsc2UgaWYgKGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLm1lZGl1bSkge1xyXG4gICAgICAgIHBvc2l0aW9uLnggPSAnLTI0cHgnO1xyXG4gICAgICAgIHBvc2l0aW9uLnkgPSAnN3B4JztcclxuICAgIH1cclxuICAgIHJldHVybiBwb3NpdGlvbjtcclxufVxyXG5leHBvcnQgY29uc3QgSWNvbkJ1dHRvbkNvbnRhaW5lciA9IHN0eWxlZC5zcGFuIGBcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGJvdHRvbTogJHtwcm9wcyA9PiAocHJvcHMuaWNvblBvc2l0aW9uID09PSAndG9wJyA/ICc0MHB4JyA6ICdpbmhlcml0Jyl9O1xuICBoZWlnaHQ6IGF1dG87XG4gIG1hcmdpbjogMDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aWR0aDogMDtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoXG4gICAgJHtwcm9wcyA9PiBnZXRJY29uQnV0dG9uVHJhbnNmb3JtKHByb3BzKS54fSxcbiAgICAke3Byb3BzID0+IGdldEljb25CdXR0b25UcmFuc2Zvcm0ocHJvcHMpLnl9XG4gICk7XG4gIHN2ZyB7XG4gICAgaGVpZ2h0OiAke3Byb3BzID0+IGdldEljb25CdXR0b25TVkdTaXplKHByb3BzKX07XG4gICAgd2lkdGg6ICR7cHJvcHMgPT4gZ2V0SWNvbkJ1dHRvblNWR1NpemUocHJvcHMpfTtcbiAgfVxuYDtcclxuY29uc3QgUGFzc3dvcmRCdXR0b25Db250YWluZXIgPSBzdHlsZWQuc3BhbiBgXG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICB3aWR0aDogMDtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoXG4gICAgJHtwcm9wcyA9PiBwcm9wcy5zaXplID09PSBJbnB1dFNpemUubGFyZ2VcclxuICAgID8gYCR7LXByb3BzLmJ1dHRvbldpZHRoIC0gOH1weGBcclxuICAgIDogYCR7LXByb3BzLmJ1dHRvbldpZHRoIC0gNn1weGB9LFxuICAgICR7cHJvcHMgPT4gcHJvcHMuc2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlID8gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDMgOiAnNnB4J31cbiAgKTtcbmA7XHJcbmZ1bmN0aW9uIGdldENsZWFyYWJsZVBvc2l0aW9uKHByb3BzKSB7XHJcbiAgICBpZiAocHJvcHMuaWNvblBvc2l0aW9uID09PSAncmlnaHQnICYmIHByb3BzLmljb24pIHtcclxuICAgICAgICBpZiAocHJvcHMuaW5wdXRTaXplID09PSAnbGFyZ2UnKSB7XHJcbiAgICAgICAgICAgIHJldHVybiBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcxMztcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuICc3MnB4JztcclxuICAgIH1cclxuICAgIGlmIChwcm9wcy5pbnB1dFNpemUgPT09ICdsYXJnZScpIHtcclxuICAgICAgICByZXR1cm4gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMTA7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gJzM0cHgnO1xyXG59XHJcbmNvbnN0IElzQ2xlYXJhYmxlQ29udGFpbmVyID0gc3R5bGVkLnNwYW4gYFxuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgbWFyZ2luOiAwO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGhlaWdodDogYXV0bztcbiAgd2lkdGg6IDA7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKFxuICAgIC0ke3Byb3BzID0+IGdldENsZWFyYWJsZVBvc2l0aW9uKHByb3BzKX0sXG4gICAgJHtwcm9wcyA9PiBwcm9wcy5pbnB1dFNpemUgPT09IElucHV0U2l6ZS5sYXJnZVxyXG4gICAgPyBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwM1xyXG4gICAgOiAnNnB4J31cbiAgKTtcbmA7XHJcbmZ1bmN0aW9uIGdldEljb25TaXplKHNpemUsIHRoZW1lLCBpY29uUG9zaXRpb24pIHtcclxuICAgIHN3aXRjaCAoc2l6ZSkge1xyXG4gICAgICAgIGNhc2UgJ2xhcmdlJzpcclxuICAgICAgICAgICAgaWYgKGljb25Qb3NpdGlvbiA9PT0gSW5wdXRJY29uUG9zaXRpb24udG9wKSB7XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gdGhlbWUuaWNvblNpemVzLm1lZGl1bTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICByZXR1cm4gdGhlbWUuaWNvblNpemVzLmxhcmdlO1xyXG4gICAgICAgIGRlZmF1bHQ6XHJcbiAgICAgICAgICAgIGlmIChpY29uUG9zaXRpb24gPT09IElucHV0SWNvblBvc2l0aW9uLnRvcCkge1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuIHRoZW1lLmljb25TaXplcy5zbWFsbDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICByZXR1cm4gdGhlbWUuaWNvblNpemVzLm1lZGl1bTtcclxuICAgIH1cclxufVxyXG5leHBvcnQgY29uc3QgaXNMZWZ0T3JIaWRkZW4gPSAoeyBsYWJlbFBvc2l0aW9uLCBpc0xhYmVsVmlzdWFsbHlIaWRkZW4sIH0pID0+IGxhYmVsUG9zaXRpb24gPT09IExhYmVsUG9zaXRpb24ubGVmdCB8fCBpc0xhYmVsVmlzdWFsbHlIaWRkZW47XHJcbmV4cG9ydCBjb25zdCBIZWxwTGlua0NvbnRhaW5lciA9IHN0eWxlZC5zcGFuIGBcbiAgcG9zaXRpb246ICR7cHJvcHMgPT4gKGlzTGVmdE9ySGlkZGVuKHByb3BzKSA/ICdyZWxhdGl2ZScgOiAnYWJzb2x1dGUnKX07XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXG4gIGhlaWdodDogJHtwcm9wcyA9PiAoaXNMZWZ0T3JIaWRkZW4ocHJvcHMpID8gJ2F1dG8nIDogJ2ZpdC1jb250ZW50Jyl9O1xuICBtYXJnaW4taW5saW5lLXN0YXJ0OiAke3Byb3BzID0+IGlzTGVmdE9ySGlkZGVuKHByb3BzKSA/IGAke3Byb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzAzfWAgOiAnYXV0byd9O1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoXG4gICAgJHtwcm9wcyA9PiBpc0xlZnRPckhpZGRlbihwcm9wcylcclxuICAgID8gJzAnXHJcbiAgICA6IGBjYWxjKC0xMDAlIC0gJHtwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwM30pYH1cbiAgKTtcbiAgJHtDaGlsZHJlbldyYXBwZXJ9ID4gc3ZnIHtcbiAgICBoZWlnaHQ6ICR7cHJvcHMgPT4gZ2V0SGVscExpbmtTVkdTaXplKHByb3BzKX07XG4gICAgd2lkdGg6ICR7cHJvcHMgPT4gZ2V0SGVscExpbmtTVkdTaXplKHByb3BzKX07XG4gIH1cbiAgYnV0dG9uIHtcbiAgICBoZWlnaHQ6ICR7cHJvcHMgPT4gZ2V0SGVscEljb25CdXR0b25TaXplKHByb3BzKX07XG4gICAgd2lkdGg6ICR7cHJvcHMgPT4gZ2V0SGVscEljb25CdXR0b25TaXplKHByb3BzKX07XG4gIH1cbiAgaW5zZXQtaW5saW5lLWVuZDogJHtwcm9wcyA9PiAoaXNMZWZ0T3JIaWRkZW4ocHJvcHMpID8gJ2F1dG8nIDogJzAnKX07XG5gO1xyXG5leHBvcnQgY29uc3QgSW5wdXRCYXNlID0gUmVhY3QuZm9yd2FyZFJlZigocHJvcHMsIGZvcndhcmRlZFJlZikgPT4ge1xyXG4gICAgY29uc3QgeyBjaGlsZHJlbiwgY29udGFpbmVyU3R5bGUsIGRlZmF1bHRWYWx1ZSwgZGlzYWJsZWQsIGhhc0NoYXJhY3RlckNvdW50ZXIsIGhhc0Vycm9yLCBpY29uLCBpY29uQXJpYUxhYmVsLCBpY29uUmVmLCBpc0NsZWFyYWJsZSwgaXNQYXNzd29yZElucHV0LCBpc1ByZWRpY3RpdmUsIG1heENvdW50LCBtYXhMZW5ndGgsIG9uQ2xlYXIsIG9uSWNvbkNsaWNrLCBvbkljb25LZXlEb3duLCBvbkRhdGVDaGFuZ2UsIGlucHV0TGVuZ3RoLCBpbnB1dFNpemUsIGlucHV0U3R5bGUsIGlucHV0V3JhcHBlclN0eWxlLCB0ZXN0SWQsIHR5cGUsIHNldFJlZmVyZW5jZSwgaXNMYWJlbFZpc3VhbGx5SGlkZGVuLCBsYWJlbFBvc2l0aW9uLCAuLi5vdGhlciB9ID0gcHJvcHM7XHJcbiAgICBjb25zdCBpMThuID0gUmVhY3QudXNlQ29udGV4dChJMThuQ29udGV4dCk7XHJcbiAgICBjb25zdCB0aGVtZSA9IFJlYWN0LnVzZUNvbnRleHQoVGhlbWVDb250ZXh0KTtcclxuICAgIGNvbnN0IGljb25Qb3NpdGlvbiA9IGljb24gJiYgb25JY29uQ2xpY2tcclxuICAgICAgICA/IElucHV0SWNvblBvc2l0aW9uLnJpZ2h0XHJcbiAgICAgICAgOiBpY29uICYmICFwcm9wcy5pY29uUG9zaXRpb25cclxuICAgICAgICAgICAgPyBJbnB1dEljb25Qb3NpdGlvbi5sZWZ0XHJcbiAgICAgICAgICAgIDogcHJvcHMuaWNvblBvc2l0aW9uO1xyXG4gICAgY29uc3QgW3ZhbHVlLCBzZXRWYWx1ZV0gPSBSZWFjdC51c2VTdGF0ZShwcm9wcy5kZWZhdWx0VmFsdWUgIT09IHVuZGVmaW5lZCAmJiBwcm9wcy5kZWZhdWx0VmFsdWUgIT09IG51bGxcclxuICAgICAgICA/IHByb3BzLmRlZmF1bHRWYWx1ZVxyXG4gICAgICAgIDogcHJvcHMudmFsdWUgfHwgJycpO1xyXG4gICAgY29uc3QgbWF4TGVuZ3RoTnVtID0gIWhhc0NoYXJhY3RlckNvdW50ZXIgJiYgbWF4TGVuZ3RoID8gbWF4TGVuZ3RoIDogdW5kZWZpbmVkO1xyXG4gICAgUmVhY3QudXNlRWZmZWN0KCgpID0+IHtcclxuICAgICAgICBpZiAocHJvcHMudmFsdWUgIT09IHVuZGVmaW5lZCAmJiBwcm9wcy52YWx1ZSAhPT0gbnVsbCkge1xyXG4gICAgICAgICAgICBzZXRWYWx1ZShwcm9wcy52YWx1ZSk7XHJcbiAgICAgICAgfVxyXG4gICAgfSwgW3Byb3BzLnZhbHVlXSk7XHJcbiAgICBjb25zdCBpbnB1dFJlZiA9IFJlYWN0LnVzZVJlZigpO1xyXG4gICAgY29uc3QgcmVmID0gdXNlRm9ya2VkUmVmKGZvcndhcmRlZFJlZiwgaW5wdXRSZWYpO1xyXG4gICAgZnVuY3Rpb24gaGFuZGxlQ2xlYXJJbnB1dCgpIHtcclxuICAgICAgICBvbkNsZWFyICYmIHR5cGVvZiBvbkNsZWFyID09PSAnZnVuY3Rpb24nICYmIG9uQ2xlYXIoKTtcclxuICAgICAgICBzZXRWYWx1ZSgnJyk7XHJcbiAgICAgICAgb25EYXRlQ2hhbmdlICYmIHR5cGVvZiBvbkRhdGVDaGFuZ2UgPT09ICdmdW5jdGlvbicgJiYgb25EYXRlQ2hhbmdlKG51bGwpO1xyXG4gICAgICAgIGlucHV0UmVmLmN1cnJlbnQuZm9jdXMoKTtcclxuICAgIH1cclxuICAgIGZ1bmN0aW9uIGhhbmRsZUNoYW5nZShldmVudCkge1xyXG4gICAgICAgIHByb3BzLm9uQ2hhbmdlICYmXHJcbiAgICAgICAgICAgIHR5cGVvZiBwcm9wcy5vbkNoYW5nZSA9PT0gJ2Z1bmN0aW9uJyAmJlxyXG4gICAgICAgICAgICBwcm9wcy5vbkNoYW5nZShldmVudCk7XHJcbiAgICAgICAgY29uc3QgaXNPbkRhdGVDaGFuZ2UgPSBvbkRhdGVDaGFuZ2UgJiYgdHlwZW9mIG9uRGF0ZUNoYW5nZSA9PT0gJ2Z1bmN0aW9uJztcclxuICAgICAgICBjb25zdCB7IHZhbHVlIH0gPSBldmVudC50YXJnZXQ7XHJcbiAgICAgICAgc2V0VmFsdWUoaXNPbkRhdGVDaGFuZ2UgPyB2YWx1ZSA6IChwcm9wcy52YWx1ZSA/PyB2YWx1ZSkpO1xyXG4gICAgICAgIGlmIChpc09uRGF0ZUNoYW5nZSAmJiAhdmFsdWUpIHtcclxuICAgICAgICAgICAgb25EYXRlQ2hhbmdlKG51bGwpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIGNvbnN0IHBhc3N3b3JkQnRuV2lkdGggPSAoKSA9PiB7XHJcbiAgICAgICAgY29uc3QgYnRuV2lkdGggPSBjaGlsZHJlbj8ucHJvcHM/LmNoaWxkcmVuPy5bMF0/LnJlZj8uY3VycmVudD8ub2Zmc2V0V2lkdGg7XHJcbiAgICAgICAgaWYgKHR5cGVvZiBidG5XaWR0aCA9PT0gJ251bWJlcicpIHtcclxuICAgICAgICAgICAgcmV0dXJuIGJ0bldpZHRoO1xyXG4gICAgICAgIH1cclxuICAgICAgICBlbHNlIHtcclxuICAgICAgICAgICAgLy8gV2hlbiBQYXNzd29yZEJ1dHRvbiBpcyB1c2VkIGluc2lkZSBTY2hlbWFSZW5kZXJlciwgaXQgZG9lc24ndCBoYXZlIGNoaWxkcmVuLlxyXG4gICAgICAgICAgICAvLyBXZSdsbCB1c2UgdGhlIGRlZmF1bHQgYnV0dG9uIHNpemVzLlxyXG4gICAgICAgICAgICBpZiAocHJvcHMuaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgIHJldHVybiA2NDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICByZXR1cm4gNTQ7XHJcbiAgICAgICAgfVxyXG4gICAgfTtcclxuICAgIHJldHVybiAoUmVhY3QuY3JlYXRlRWxlbWVudChcImRpdlwiLCB7IHJlZjogc2V0UmVmZXJlbmNlIH0sXHJcbiAgICAgICAgUmVhY3QuY3JlYXRlRWxlbWVudChJbnB1dENvbnRhaW5lciwgeyBzdHlsZTogaW5wdXRXcmFwcGVyU3R5bGUsIFwiZGF0YS10ZXN0aWRcIjogYCR7dGVzdElkfS13cmFwcGVyYCB9LFxyXG4gICAgICAgICAgICBSZWFjdC5jcmVhdGVFbGVtZW50KElucHV0V3JhcHBlciwgeyBkaXNhYmxlZDogZGlzYWJsZWQsIGljb25Qb3NpdGlvbjogaWNvblBvc2l0aW9uLCBpc0ludmVyc2U6IHByb3BzLmlzSW52ZXJzZSwgaW5wdXRTaXplOiBpbnB1dFNpemUgPz8gSW5wdXRTaXplLm1lZGl1bSwgdGhlbWU6IHRoZW1lLCBzdHlsZTogY29udGFpbmVyU3R5bGUsIGhhc0Vycm9yOiBoYXNFcnJvciwgaXNDbGVhcmFibGU6IGlzQ2xlYXJhYmxlLCB3aWR0aDogcHJvcHMud2lkdGggfSxcclxuICAgICAgICAgICAgICAgIFJlYWN0LmNyZWF0ZUVsZW1lbnQoU3R5bGVkSW5wdXQsIE9iamVjdC5hc3NpZ24oe30sIG90aGVyLCB7IFwiYXJpYS1pbnZhbGlkXCI6IGhhc0Vycm9yLCBkaXNhYmxlZDogZGlzYWJsZWQsIFwiZGF0YS10ZXN0aWRcIjogdGVzdElkLCBoYXNDaGFyYWN0ZXJDb3VudGVyOiBoYXNDaGFyYWN0ZXJDb3VudGVyLCBpY29uUG9zaXRpb246IGljb25Qb3NpdGlvbiwgaW5wdXRTaXplOiBpbnB1dFNpemUgPz8gSW5wdXRTaXplLm1lZGl1bSwgaXNDbGVhcmFibGU6IHR5cGUgPT09IElucHV0VHlwZS5zZWFyY2hcclxuICAgICAgICAgICAgICAgICAgICAgICAgPyBpc0NsZWFyYWJsZVxyXG4gICAgICAgICAgICAgICAgICAgICAgICA6IGlucHV0V3JhcHBlclN0eWxlPy53aWR0aFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPyBpc0NsZWFyYWJsZVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBpc0NsZWFyYWJsZSAmJiBpbnB1dExlbmd0aCA+IDAsIGlzSW52ZXJzZTogdXNlSXNJbnZlcnNlKHByb3BzLmlzSW52ZXJzZSksIGlzUHJlZGljdGl2ZTogaXNQcmVkaWN0aXZlLCBoYXNFcnJvcjogaGFzRXJyb3IsIHJlZjogcmVmLCBtYXhMZW5ndGg6IG1heExlbmd0aE51bSwgb25DaGFuZ2U6IGhhbmRsZUNoYW5nZSwgc3R5bGU6IGlucHV0U3R5bGUsIHRoZW1lOiB0aGVtZSwgdHlwZTogdHlwZSA/IHR5cGUgOiBJbnB1dFR5cGUudGV4dCwgdmFsdWU6IHZhbHVlIH0pKSxcclxuICAgICAgICAgICAgICAgIGljb24gJiYgIW9uSWNvbkNsaWNrICYmIChSZWFjdC5jcmVhdGVFbGVtZW50KEljb25XcmFwcGVyLCB7IFwiYXJpYS1sYWJlbFwiOiBpY29uQXJpYUxhYmVsLCBpY29uUG9zaXRpb246IGljb25Qb3NpdGlvbiwgaW5wdXRTaXplOiBpbnB1dFNpemUgPz8gSW5wdXRTaXplLm1lZGl1bSwgaXNJbnZlcnNlOiBwcm9wcy5pc0ludmVyc2UsIGlzUHJlZGljdGl2ZTogaXNQcmVkaWN0aXZlLCB0aGVtZTogdGhlbWUsIGRpc2FibGVkOiBkaXNhYmxlZCB9LCBSZWFjdC5DaGlsZHJlbi5vbmx5KFJlYWN0LmNsb25lRWxlbWVudChpY29uLCB7XHJcbiAgICAgICAgICAgICAgICAgICAgc2l6ZTogZ2V0SWNvblNpemUoaW5wdXRTaXplID8/IElucHV0U2l6ZS5tZWRpdW0sIHRoZW1lLCBpY29uUG9zaXRpb24pLFxyXG4gICAgICAgICAgICAgICAgfSkpKSkpLFxyXG4gICAgICAgICAgICBpc0NsZWFyYWJsZSAmJiB2YWx1ZSAhPT0gJycgJiYgKFJlYWN0LmNyZWF0ZUVsZW1lbnQoSXNDbGVhcmFibGVDb250YWluZXIsIHsgdGhlbWU6IHRoZW1lLCBpY29uUG9zaXRpb246IGljb25Qb3NpdGlvbiwgaW5wdXRTaXplOiBpbnB1dFNpemUsIGljb246IGljb24gfSxcclxuICAgICAgICAgICAgICAgIFJlYWN0LmNyZWF0ZUVsZW1lbnQoSWNvbkJ1dHRvbiwgeyBcImFyaWEtbGFiZWxcIjogaTE4bi5pbnB1dC5pc0NsZWFyYWJsZUFyaWFMYWJlbCwgZGlzYWJsZWQ6IGRpc2FibGVkLCBpY29uOiBSZWFjdC5jcmVhdGVFbGVtZW50KENsZWFySWNvbiwgbnVsbCksIGlzSW52ZXJzZTogcHJvcHMuaXNJbnZlcnNlLCBvbkNsaWNrOiBoYW5kbGVDbGVhcklucHV0LCBvbktleURvd246IG9uSWNvbktleURvd24sIHJlZjogaWNvblJlZiwgc2hhcGU6IEJ1dHRvblNoYXBlLmZpbGwsIHNpemU6IGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlXHJcbiAgICAgICAgICAgICAgICAgICAgICAgID8gQnV0dG9uU2l6ZS5tZWRpdW1cclxuICAgICAgICAgICAgICAgICAgICAgICAgOiBCdXR0b25TaXplLnNtYWxsLCB0ZXN0SWQ6IFwiY2xlYXItYnV0dG9uXCIsIHR5cGU6IEJ1dHRvblR5cGUuYnV0dG9uLCB2YXJpYW50OiBCdXR0b25WYXJpYW50LmxpbmsgfSkpKSxcclxuICAgICAgICAgICAgb25JY29uQ2xpY2sgJiYgKFJlYWN0LmNyZWF0ZUVsZW1lbnQoSWNvbkJ1dHRvbkNvbnRhaW5lciwgeyBpY29uUG9zaXRpb246IGljb25Qb3NpdGlvbiwgaW5wdXRTaXplOiBpbnB1dFNpemUgPT09IElucHV0U2l6ZS5sYXJnZVxyXG4gICAgICAgICAgICAgICAgICAgID8gSW5wdXRTaXplLmxhcmdlXHJcbiAgICAgICAgICAgICAgICAgICAgOiBJbnB1dFNpemUubWVkaXVtLCB0aGVtZTogdGhlbWUsIGlzQ2xpY2thYmxlOiB0cnVlIH0sXHJcbiAgICAgICAgICAgICAgICBSZWFjdC5jcmVhdGVFbGVtZW50KEljb25CdXR0b24sIHsgXCJhcmlhLWxhYmVsXCI6IGljb25BcmlhTGFiZWwsIGljb246IGljb24sIGlzSW52ZXJzZTogcHJvcHMuaXNJbnZlcnNlLCBvbkNsaWNrOiBvbkljb25DbGljaywgb25LZXlEb3duOiBvbkljb25LZXlEb3duLCByZWY6IGljb25SZWYsIGRpc2FibGVkOiBkaXNhYmxlZCwgc2hhcGU6IEJ1dHRvblNoYXBlLmZpbGwsIHNpemU6IGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlXHJcbiAgICAgICAgICAgICAgICAgICAgICAgID8gQnV0dG9uU2l6ZS5tZWRpdW1cclxuICAgICAgICAgICAgICAgICAgICAgICAgOiBCdXR0b25TaXplLnNtYWxsLCB0eXBlOiBCdXR0b25UeXBlLmJ1dHRvbiwgdmFyaWFudDogQnV0dG9uVmFyaWFudC5saW5rIH0pKSksXHJcbiAgICAgICAgICAgIGlzUGFzc3dvcmRJbnB1dCA/IChSZWFjdC5jcmVhdGVFbGVtZW50KFBhc3N3b3JkQnV0dG9uQ29udGFpbmVyLCB7IHNpemU6IGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlXHJcbiAgICAgICAgICAgICAgICAgICAgPyBJbnB1dFNpemUubGFyZ2VcclxuICAgICAgICAgICAgICAgICAgICA6IElucHV0U2l6ZS5tZWRpdW0sIHRoZW1lOiB0aGVtZSwgYnV0dG9uV2lkdGg6IHBhc3N3b3JkQnRuV2lkdGgoKSB9LCBjaGlsZHJlbikpIDogKFJlYWN0LmNyZWF0ZUVsZW1lbnQoSGVscExpbmtDb250YWluZXIsIHsgaXNMYWJlbFZpc3VhbGx5SGlkZGVuOiBpc0xhYmVsVmlzdWFsbHlIaWRkZW4gfHwgZmFsc2UsIGlucHV0U2l6ZTogaW5wdXRTaXplID8/IElucHV0U2l6ZS5tZWRpdW0sIGxhYmVsUG9zaXRpb246IGxhYmVsUG9zaXRpb24gPz8gTGFiZWxQb3NpdGlvbi50b3AsIHRoZW1lOiB0aGVtZSB9LCBjaGlsZHJlbikpKSkpO1xyXG59KTtcclxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9aW5kZXguanMubWFwIl19 */"));
|
|
4961
4961
|
function getIconButtonSVGSize(props) {
|
|
4962
4962
|
var isClickable = props.isClickable,
|
|
4963
4963
|
iconPosition = props.iconPosition,
|
|
@@ -5047,7 +5047,7 @@ var IconButtonContainer = /*#__PURE__*/_styled("span", {
|
|
|
5047
5047
|
return getIconButtonSVGSize(props);
|
|
5048
5048
|
}, ";width:", function (props) {
|
|
5049
5049
|
return getIconButtonSVGSize(props);
|
|
5050
|
-
}, ";}" + (process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImluZGV4LnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUE4VCtDIiwiZmlsZSI6ImluZGV4LnRzeCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIFJlYWN0IGZyb20gJ3JlYWN0JztcclxuaW1wb3J0IHsgY3NzIH0gZnJvbSAnQGVtb3Rpb24vcmVhY3QnO1xyXG5pbXBvcnQgc3R5bGVkIGZyb20gJ0BlbW90aW9uL3N0eWxlZCc7XHJcbmltcG9ydCB7IHRyYW5zcGFyZW50aXplIH0gZnJvbSAncG9saXNoZWQnO1xyXG5pbXBvcnQgeyBDbGVhckljb24gfSBmcm9tICdyZWFjdC1tYWdtYS1pY29ucyc7XHJcbmltcG9ydCB7IEkxOG5Db250ZXh0IH0gZnJvbSAnLi4vLi4vaTE4bic7XHJcbmltcG9ydCB7IHVzZUlzSW52ZXJzZSB9IGZyb20gJy4uLy4uL2ludmVyc2UnO1xyXG5pbXBvcnQgeyBUaGVtZUNvbnRleHQgfSBmcm9tICcuLi8uLi90aGVtZS9UaGVtZUNvbnRleHQnO1xyXG5pbXBvcnQgeyB1c2VGb3JrZWRSZWYgfSBmcm9tICcuLi8uLi91dGlscyc7XHJcbmltcG9ydCB7IEJ1dHRvblNoYXBlLCBCdXR0b25TaXplLCBCdXR0b25UeXBlLCBCdXR0b25WYXJpYW50IH0gZnJvbSAnLi4vQnV0dG9uJztcclxuaW1wb3J0IHsgSWNvbkJ1dHRvbiB9IGZyb20gJy4uL0ljb25CdXR0b24nO1xyXG5pbXBvcnQgeyBMYWJlbFBvc2l0aW9uIH0gZnJvbSAnLi4vTGFiZWwnO1xyXG5pbXBvcnQgeyBDaGlsZHJlbldyYXBwZXIgfSBmcm9tICcuLi9TdHlsZWRCdXR0b24nO1xyXG5leHBvcnQgdmFyIElucHV0U2l6ZTtcclxuKGZ1bmN0aW9uIChJbnB1dFNpemUpIHtcclxuICAgIElucHV0U2l6ZVtcImxhcmdlXCJdID0gXCJsYXJnZVwiO1xyXG4gICAgSW5wdXRTaXplW1wibWVkaXVtXCJdID0gXCJtZWRpdW1cIjtcclxufSkoSW5wdXRTaXplIHx8IChJbnB1dFNpemUgPSB7fSkpO1xyXG5leHBvcnQgdmFyIElucHV0VHlwZTtcclxuKGZ1bmN0aW9uIChJbnB1dFR5cGUpIHtcclxuICAgIElucHV0VHlwZVtcImVtYWlsXCJdID0gXCJlbWFpbFwiO1xyXG4gICAgSW5wdXRUeXBlW1wiZmlsZVwiXSA9IFwiZmlsZVwiO1xyXG4gICAgSW5wdXRUeXBlW1wibnVtYmVyXCJdID0gXCJudW1iZXJcIjtcclxuICAgIElucHV0VHlwZVtcInBhc3N3b3JkXCJdID0gXCJwYXNzd29yZFwiO1xyXG4gICAgSW5wdXRUeXBlW1wic2VhcmNoXCJdID0gXCJzZWFyY2hcIjtcclxuICAgIElucHV0VHlwZVtcInRleHRcIl0gPSBcInRleHRcIjtcclxuICAgIElucHV0VHlwZVtcInVybFwiXSA9IFwidXJsXCI7XHJcbiAgICBJbnB1dFR5cGVbXCJ0ZWxcIl0gPSBcInRlbFwiO1xyXG59KShJbnB1dFR5cGUgfHwgKElucHV0VHlwZSA9IHt9KSk7XHJcbmV4cG9ydCB2YXIgSW5wdXRJY29uUG9zaXRpb247XHJcbihmdW5jdGlvbiAoSW5wdXRJY29uUG9zaXRpb24pIHtcclxuICAgIElucHV0SWNvblBvc2l0aW9uW1widG9wXCJdID0gXCJ0b3BcIjtcclxuICAgIElucHV0SWNvblBvc2l0aW9uW1wibGVmdFwiXSA9IFwibGVmdFwiO1xyXG4gICAgSW5wdXRJY29uUG9zaXRpb25bXCJyaWdodFwiXSA9IFwicmlnaHRcIjtcclxufSkoSW5wdXRJY29uUG9zaXRpb24gfHwgKElucHV0SWNvblBvc2l0aW9uID0ge30pKTtcclxuZXhwb3J0IGNvbnN0IGlucHV0V3JhcHBlclN0eWxlcyA9IChwcm9wcykgPT4gY3NzIGBcbiAgZmxleDogMSAxIGF1dG87XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgd2lkdGg6ICR7cHJvcHMud2lkdGggfHwgJ2F1dG8nfTtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHtwcm9wcy5pc0ludmVyc2VcclxuICAgID8gdHJhbnNwYXJlbnRpemUoMC44LCBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDkwMClcclxuICAgIDogcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWwxMDB9O1xuICBib3JkZXItcmFkaXVzOiAke3Byb3BzLnRoZW1lLmJvcmRlclJhZGl1c307XG4gIGJvcmRlcjogMXB4IHNvbGlkXG4gICAgJHtwcm9wcy5pc0ludmVyc2VcclxuICAgID8gdHJhbnNwYXJlbnRpemUoMC41LCBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDEwMClcclxuICAgIDogcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWw1MDB9O1xuICBoZWlnaHQ6ICR7cHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDl9O1xuXG4gICY6Zm9jdXMtd2l0aGluIHtcbiAgICBvdXRsaW5lOiAycHggc29saWRcbiAgICAgICR7cHJvcHMuaXNJbnZlcnNlXHJcbiAgICA/IHByb3BzLnRoZW1lLmNvbG9ycy5mb2N1c0ludmVyc2VcclxuICAgIDogcHJvcHMudGhlbWUuY29sb3JzLmZvY3VzfTtcbiAgICBvdXRsaW5lLW9mZnNldDogLTFweDtcbiAgfVxuXG4gICR7cHJvcHMuaGFzRXJyb3IgJiZcclxuICAgIGNzcyBgXG4gICAgYm9yZGVyLWNvbG9yOiAke3Byb3BzLmlzSW52ZXJzZVxyXG4gICAgICAgID8gcHJvcHMudGhlbWUuY29sb3JzLmRhbmdlcjMwMFxyXG4gICAgICAgIDogcHJvcHMudGhlbWUuY29sb3JzLmRhbmdlcn07XG4gIGB9XG5cbiAgJHtwcm9wcy5kaXNhYmxlZCAmJlxyXG4gICAgY3NzIGBcbiAgICBib3JkZXItY29sb3I6ICR7cHJvcHMuaXNJbnZlcnNlXHJcbiAgICAgICAgPyB0cmFuc3BhcmVudGl6ZSgwLjg1LCBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDEwMClcclxuICAgICAgICA6IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsMzAwfTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAke3Byb3BzLmlzSW52ZXJzZVxyXG4gICAgICAgID8gdHJhbnNwYXJlbnRpemUoMC45LCBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDkwMClcclxuICAgICAgICA6IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsMjAwfTtcbiAgYH1cblxuICAke3Byb3BzLmlucHV0U2l6ZSA9PT0gJ2xhcmdlJyAmJlxyXG4gICAgY3NzIGBcbiAgICBoZWlnaHQ6ICR7cHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMTF9O1xuICBgfVxuYDtcclxuZnVuY3Rpb24gZ2V0SW5wdXRQYWRkaW5nKHByb3BzKSB7XHJcbiAgICBjb25zdCB7IGlucHV0U2l6ZSwgaXNDbGVhcmFibGUsIGljb25Qb3NpdGlvbiB9ID0gcHJvcHM7XHJcbiAgICBjb25zdCBwYWRkaW5nID0ge1xyXG4gICAgICAgIGxlZnQ6IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzAzLFxyXG4gICAgICAgIHJpZ2h0OiBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwMyxcclxuICAgIH07XHJcbiAgICBpZiAoaW5wdXRTaXplID09PSAnbGFyZ2UnKSB7XHJcbiAgICAgICAgaWYgKGlzQ2xlYXJhYmxlKSB7XHJcbiAgICAgICAgICAgIGlmIChpY29uUG9zaXRpb24gPT09ICdyaWdodCcpIHtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmcucmlnaHQgPSAnOTJweCc7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgZWxzZSBpZiAoaWNvblBvc2l0aW9uID09PSAnbGVmdCcpIHtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmcubGVmdCA9IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzExO1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy5yaWdodCA9IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzExO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgLy8gaWNvbiB0b3AsIG5vIGljb25cclxuICAgICAgICAgICAgICAgIHBhZGRpbmcucmlnaHQgPSBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcxMTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBlbHNlIHtcclxuICAgICAgICAgICAgaWYgKGljb25Qb3NpdGlvbiA9PT0gJ3JpZ2h0Jykge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy5yaWdodCA9IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzEwO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGlmIChpY29uUG9zaXRpb24gPT09ICdsZWZ0Jykge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy5sZWZ0ID0gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMTA7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICBlbHNlIGlmIChpbnB1dFNpemUgPT09ICdtZWRpdW0nKSB7XHJcbiAgICAgICAgaWYgKGlzQ2xlYXJhYmxlKSB7XHJcbiAgICAgICAgICAgIGlmIChpY29uUG9zaXRpb24gPT09ICdyaWdodCcpIHtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmcucmlnaHQgPSAnNjhweCc7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgZWxzZSBpZiAoaWNvblBvc2l0aW9uID09PSAnbGVmdCcpIHtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmcubGVmdCA9IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzA5O1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy5yaWdodCA9IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzA5O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgLy8gaWNvbiB0b3AsIG5vIGljb25cclxuICAgICAgICAgICAgICAgIHBhZGRpbmcucmlnaHQgPSBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwOTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBlbHNlIHtcclxuICAgICAgICAgICAgaWYgKGljb25Qb3NpdGlvbiA9PT0gJ3JpZ2h0Jykge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy5yaWdodCA9IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzA5O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGlmIChpY29uUG9zaXRpb24gPT09ICdsZWZ0Jykge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy5sZWZ0ID0gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICByZXR1cm4gcGFkZGluZztcclxufVxyXG5leHBvcnQgY29uc3QgaW5wdXRCYXNlU3R5bGVzID0gKHByb3BzKSA9PiBjc3MgYFxuICBib3JkZXI6IDA7XG4gIGJvcmRlci1yYWRpdXM6ICR7cHJvcHMudGhlbWUuYm9yZGVyUmFkaXVzfTtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIGNvbG9yOiAke3Byb3BzLmlzSW52ZXJzZVxyXG4gICAgPyBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDEwMFxyXG4gICAgOiBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDcwMH07XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBmb250LXNpemU6ICR7cHJvcHMudGhlbWUudHlwZVNjYWxlLnNpemUwMy5mb250U2l6ZX07XG4gIGxpbmUtaGVpZ2h0OiAke3Byb3BzLnRoZW1lLnR5cGVTY2FsZS5zaXplMDMubGluZUhlaWdodH07XG4gIGZvbnQtZmFtaWx5OiAke3Byb3BzLnRoZW1lLmJvZHlGb250fTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBwYWRkaW5nOiAke3Byb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzAzfTtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICB3aWR0aDogMTAwJTtcblxuICAke3Byb3BzLmlucHV0U2l6ZSA9PT0gJ2xhcmdlJyAmJlxyXG4gICAgY3NzIGBcbiAgICBmb250LXNpemU6ICR7cHJvcHMudGhlbWUudHlwZVNjYWxlLnNpemUwNC5mb250U2l6ZX07XG4gICAgbGluZS1oZWlnaHQ6ICR7cHJvcHMudGhlbWUudHlwZVNjYWxlLnNpemUwNC5saW5lSGVpZ2h0fTtcbiAgICBwYWRkaW5nOiAke3Byb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzA0fTtcbiAgYH1cblxuICBwYWRkaW5nLWxlZnQ6ICR7Z2V0SW5wdXRQYWRkaW5nKHByb3BzKS5sZWZ0fTtcbiAgcGFkZGluZy1yaWdodDogJHtnZXRJbnB1dFBhZGRpbmcocHJvcHMpLnJpZ2h0fTtcblxuICAmOjpwbGFjZWhvbGRlciB7XG4gICAgY29sb3I6ICR7cHJvcHMuaXNJbnZlcnNlXHJcbiAgICA/IHRyYW5zcGFyZW50aXplKDAuMywgcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWwxMDApXHJcbiAgICA6IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsNTAwfTtcbiAgfVxuXG4gICY6Zm9jdXMge1xuICAgIG91dGxpbmU6IDA7XG4gIH1cblxuICAmW3R5cGU9J3NlYXJjaCddIHtcbiAgICAmOjotd2Via2l0LXNlYXJjaC1kZWNvcmF0aW9uLFxuICAgICY6Oi13ZWJraXQtc2VhcmNoLWNhbmNlbC1idXR0b24sXG4gICAgJjo6LXdlYmtpdC1zZWFyY2gtcmVzdWx0cy1idXR0b24sXG4gICAgJjo6LXdlYmtpdC1zZWFyY2gtcmVzdWx0cy1kZWNvcmF0aW9uIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICB9XG5cbiAgJHtwcm9wcy5kaXNhYmxlZCAmJlxyXG4gICAgY3NzIGBcbiAgICBjb2xvcjogJHtwcm9wcy5pc0ludmVyc2VcclxuICAgICAgICA/IHRyYW5zcGFyZW50aXplKDAuNiwgcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWwxMDApXHJcbiAgICAgICAgOiB0cmFuc3BhcmVudGl6ZSgwLjQsIHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsNTAwKX07XG4gICAgY3Vyc29yOiBub3QtYWxsb3dlZDtcblxuICAgICY6OnBsYWNlaG9sZGVyIHtcbiAgICAgIGNvbG9yOiAke3Byb3BzLmlzSW52ZXJzZVxyXG4gICAgICAgID8gdHJhbnNwYXJlbnRpemUoMC44LCBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDEwMClcclxuICAgICAgICA6IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsNTAwfTtcbiAgICAgIG9wYWNpdHk6ICR7cHJvcHMuaXNJbnZlcnNlID8gMC40IDogMC42fTtcbiAgICB9XG4gIGB9XG5cbiAgJjotd2Via2l0LWF1dG9maWxsLFxuICAmOi13ZWJraXQtYXV0b2ZpbGw6Zm9jdXMsXG4gICY6LXdlYmtpdC1hdXRvZmlsbDpob3ZlcixcbiAgJjotd2Via2l0LWF1dG9maWxsOmFjdGl2ZSB7XG4gICAgYm94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xuICAgIC13ZWJraXQtYmFja2dyb3VuZC1jbGlwOiB0ZXh0O1xuICAgIC13ZWJraXQtdGV4dC1maWxsLWNvbG9yOiAke3Byb3BzLmlzSW52ZXJzZVxyXG4gICAgPyBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDEwMFxyXG4gICAgOiBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDcwMH0gIWltcG9ydGFudDtcbiAgICBjYXJldC1jb2xvcjogJHtwcm9wcy5pc0ludmVyc2VcclxuICAgID8gcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWwxMDBcclxuICAgIDogcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWw3MDB9ICFpbXBvcnRhbnQ7XG4gIH1cbmA7XHJcbmNvbnN0IElucHV0Q29udGFpbmVyID0gc3R5bGVkLmRpdiBgXG4gIGRpc3BsYXk6IGZsZXg7XG5gO1xyXG5leHBvcnQgY29uc3QgSW5wdXRXcmFwcGVyID0gc3R5bGVkLmRpdiBgXG4gICR7aW5wdXRXcmFwcGVyU3R5bGVzfVxuYDtcclxuY29uc3QgU3R5bGVkSW5wdXQgPSBzdHlsZWQuaW5wdXQgYFxuICAke2lucHV0QmFzZVN0eWxlc31cbmA7XHJcbmNvbnN0IEljb25XcmFwcGVyID0gc3R5bGVkLnNwYW4gYFxuICBib3R0b206ICR7cHJvcHMgPT4gKHByb3BzLmljb25Qb3NpdGlvbiA9PT0gJ3RvcCcgPyAnNDVweCcgOiAnaW5oZXJpdCcpfTtcbiAgY29sb3I6ICR7cHJvcHMgPT4gcHJvcHMuaXNJbnZlcnNlXHJcbiAgICA/IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsMTAwXHJcbiAgICA6IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsNzAwfTtcbiAgbGVmdDogJHtwcm9wcyA9PiBwcm9wcy5pY29uUG9zaXRpb24gPT09ICdsZWZ0JyA/IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzAzIDogJ2F1dG8nfTtcbiAgcmlnaHQ6ICR7cHJvcHMgPT4gcHJvcHMuaWNvblBvc2l0aW9uID09PSAncmlnaHQnXHJcbiAgICA/IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzAzXHJcbiAgICA6IHByb3BzLmljb25Qb3NpdGlvbiA9PT0gJ3RvcCdcclxuICAgICAgICA/ICczcHgnXHJcbiAgICAgICAgOiAnYXV0byd9O1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogJHtwcm9wcyA9PiBwcm9wcy5pY29uUG9zaXRpb24gPT09ICd0b3AnXHJcbiAgICA/ICdpbmhlcml0J1xyXG4gICAgOiBwcm9wcyA9PiBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwM307XG5cbiAgJHtwcm9wcyA9PiBwcm9wcy5pbnB1dFNpemUgPT09ICdsYXJnZScgJiZcclxuICAgIGNzcyBgXG4gICAgICBib3R0b206ICR7cHJvcHMuaWNvblBvc2l0aW9uID09PSAndG9wJyA/ICc2MnB4JyA6ICdpbmhlcml0J307XG4gICAgICBsZWZ0OiAke3Byb3BzLmljb25Qb3NpdGlvbiA9PT0gJ2xlZnQnXHJcbiAgICAgICAgPyBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwNFxyXG4gICAgICAgIDogJ2F1dG8nfTtcbiAgICAgIHJpZ2h0OiAke3Byb3BzLmljb25Qb3NpdGlvbiA9PT0gJ3JpZ2h0J1xyXG4gICAgICAgID8gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDRcclxuICAgICAgICA6IHByb3BzLmljb25Qb3NpdGlvbiA9PT0gJ3RvcCdcclxuICAgICAgICAgICAgPyAnM3B4J1xyXG4gICAgICAgICAgICA6ICdhdXRvJ307XG4gICAgICB0b3A6ICR7cHJvcHMuaWNvblBvc2l0aW9uID09PSAndG9wJ1xyXG4gICAgICAgID8gJ2luaGVyaXQnXHJcbiAgICAgICAgOiBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwNH07XG4gICAgYH1cbmA7XHJcbmZ1bmN0aW9uIGdldEljb25CdXR0b25TVkdTaXplKHByb3BzKSB7XHJcbiAgICBjb25zdCB7IGlzQ2xpY2thYmxlLCBpY29uUG9zaXRpb24sIGlucHV0U2l6ZSwgdGhlbWUgfSA9IHByb3BzO1xyXG4gICAgaWYgKGlzQ2xpY2thYmxlICYmIGljb25Qb3NpdGlvbiA9PT0gSW5wdXRJY29uUG9zaXRpb24udG9wKSB7XHJcbiAgICAgICAgaWYgKGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlKSB7XHJcbiAgICAgICAgICAgIHJldHVybiBgJHt0aGVtZS5pY29uU2l6ZXMubWVkaXVtfXB4YDtcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIGAke3RoZW1lLmljb25TaXplcy5zbWFsbH1weGA7XHJcbiAgICB9XHJcbiAgICBpZiAoaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2UpIHtcclxuICAgICAgICByZXR1cm4gYCR7dGhlbWUuaWNvblNpemVzLmxhcmdlfXB4YDtcclxuICAgIH1cclxuICAgIHJldHVybiBgJHt0aGVtZS5pY29uU2l6ZXMubWVkaXVtfXB4YDtcclxufVxyXG5mdW5jdGlvbiBnZXRIZWxwTGlua1NWR1NpemUocHJvcHMpIHtcclxuICAgIGNvbnN0IHsgaW5wdXRTaXplLCB0aGVtZSB9ID0gcHJvcHM7XHJcbiAgICBpZiAoaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2UpIHtcclxuICAgICAgICByZXR1cm4gYCR7dGhlbWUuaWNvblNpemVzLm1lZGl1bX1weGA7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gYCR7dGhlbWUuaWNvblNpemVzLnNtYWxsfXB4YDtcclxufVxyXG5leHBvcnQgZnVuY3Rpb24gZ2V0SGVscEljb25CdXR0b25TaXplKHByb3BzKSB7XHJcbiAgICBjb25zdCB7IGlucHV0U2l6ZSwgdGhlbWUgfSA9IHByb3BzO1xyXG4gICAgaWYgKGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlKSB7XHJcbiAgICAgICAgcmV0dXJuIHRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzA5O1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIHRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzA3O1xyXG59XHJcbmZ1bmN0aW9uIGdldEljb25CdXR0b25UcmFuc2Zvcm0ocHJvcHMpIHtcclxuICAgIGNvbnN0IHsgaXNDbGlja2FibGUsIGljb25Qb3NpdGlvbiwgaW5wdXRTaXplLCBoYXNDaGlsZHJlbiwgdGhlbWUgfSA9IHByb3BzO1xyXG4gICAgY29uc3QgcG9zaXRpb24gPSB7IHg6ICcnLCB5OiAnJyB9O1xyXG4gICAgaWYgKGljb25Qb3NpdGlvbiA9PT0gSW5wdXRJY29uUG9zaXRpb24udG9wKSB7XHJcbiAgICAgICAgaWYgKGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlKSB7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uLnggPSAnLTMwcHgnO1xyXG4gICAgICAgICAgICBwb3NpdGlvbi55ID0gJzJweCc7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2UgaWYgKGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLm1lZGl1bSkge1xyXG4gICAgICAgICAgICBwb3NpdGlvbi54ID0gJy0yOHB4JztcclxuICAgICAgICAgICAgcG9zaXRpb24ueSA9ICc1cHgnO1xyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gcG9zaXRpb247XHJcbiAgICB9XHJcbiAgICBpZiAoaXNDbGlja2FibGUpIHtcclxuICAgICAgICBpZiAoaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2UpIHtcclxuICAgICAgICAgICAgaWYgKGhhc0NoaWxkcmVuKSB7XHJcbiAgICAgICAgICAgICAgICBwb3NpdGlvbi54ID0gJy00M3B4JztcclxuICAgICAgICAgICAgICAgIHBvc2l0aW9uLnkgPSAnMTRweCc7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICAgICAgICBwb3NpdGlvbi54ID0gJy00OXB4JztcclxuICAgICAgICAgICAgICAgIHBvc2l0aW9uLnkgPSAnOHB4JztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBlbHNlIGlmIChpbnB1dFNpemUgPT09IElucHV0U2l6ZS5tZWRpdW0pIHtcclxuICAgICAgICAgICAgcG9zaXRpb24ueCA9ICctMzVweCc7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uLnkgPSAnNnB4JztcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIHBvc2l0aW9uO1xyXG4gICAgfVxyXG4gICAgaWYgKGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlKSB7XHJcbiAgICAgICAgcG9zaXRpb24ueCA9IGAtJHt0aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcxMH1gO1xyXG4gICAgICAgIHBvc2l0aW9uLnkgPSB0aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwMztcclxuICAgIH1cclxuICAgIGVsc2UgaWYgKGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLm1lZGl1bSkge1xyXG4gICAgICAgIHBvc2l0aW9uLnggPSAnLTI0cHgnO1xyXG4gICAgICAgIHBvc2l0aW9uLnkgPSAnN3B4JztcclxuICAgIH1cclxuICAgIHJldHVybiBwb3NpdGlvbjtcclxufVxyXG5leHBvcnQgY29uc3QgSWNvbkJ1dHRvbkNvbnRhaW5lciA9IHN0eWxlZC5zcGFuIGBcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGJvdHRvbTogJHtwcm9wcyA9PiAocHJvcHMuaWNvblBvc2l0aW9uID09PSAndG9wJyA/ICc0MHB4JyA6ICdpbmhlcml0Jyl9O1xuICBoZWlnaHQ6IGF1dG87XG4gIG1hcmdpbjogMDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aWR0aDogMDtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoXG4gICAgJHtwcm9wcyA9PiBnZXRJY29uQnV0dG9uVHJhbnNmb3JtKHByb3BzKS54fSxcbiAgICAke3Byb3BzID0+IGdldEljb25CdXR0b25UcmFuc2Zvcm0ocHJvcHMpLnl9XG4gICk7XG4gIHN2ZyB7XG4gICAgaGVpZ2h0OiAke3Byb3BzID0+IGdldEljb25CdXR0b25TVkdTaXplKHByb3BzKX07XG4gICAgd2lkdGg6ICR7cHJvcHMgPT4gZ2V0SWNvbkJ1dHRvblNWR1NpemUocHJvcHMpfTtcbiAgfVxuYDtcclxuY29uc3QgUGFzc3dvcmRCdXR0b25Db250YWluZXIgPSBzdHlsZWQuc3BhbiBgXG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICB3aWR0aDogMDtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoXG4gICAgJHtwcm9wcyA9PiBwcm9wcy5zaXplID09PSBJbnB1dFNpemUubGFyZ2VcclxuICAgID8gYCR7LXByb3BzLmJ1dHRvbldpZHRoIC0gOH1weGBcclxuICAgIDogYCR7LXByb3BzLmJ1dHRvbldpZHRoIC0gNn1weGB9LFxuICAgICR7cHJvcHMgPT4gcHJvcHMuc2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlID8gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDMgOiAnNnB4J31cbiAgKTtcbmA7XHJcbmZ1bmN0aW9uIGdldENsZWFyYWJsZVBvc2l0aW9uKHByb3BzKSB7XHJcbiAgICBpZiAocHJvcHMuaWNvblBvc2l0aW9uID09PSAncmlnaHQnICYmIHByb3BzLmljb24pIHtcclxuICAgICAgICBpZiAocHJvcHMuaW5wdXRTaXplID09PSAnbGFyZ2UnKSB7XHJcbiAgICAgICAgICAgIHJldHVybiBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcxMztcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuICc3MnB4JztcclxuICAgIH1cclxuICAgIGlmIChwcm9wcy5pbnB1dFNpemUgPT09ICdsYXJnZScpIHtcclxuICAgICAgICByZXR1cm4gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMTA7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gJzM0cHgnO1xyXG59XHJcbmNvbnN0IElzQ2xlYXJhYmxlQ29udGFpbmVyID0gc3R5bGVkLnNwYW4gYFxuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgbWFyZ2luOiAwO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGhlaWdodDogYXV0bztcbiAgd2lkdGg6IDA7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKFxuICAgIC0ke3Byb3BzID0+IGdldENsZWFyYWJsZVBvc2l0aW9uKHByb3BzKX0sXG4gICAgJHtwcm9wcyA9PiBwcm9wcy5pbnB1dFNpemUgPT09IElucHV0U2l6ZS5sYXJnZVxyXG4gICAgPyBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwM1xyXG4gICAgOiAnNnB4J31cbiAgKTtcbmA7XHJcbmZ1bmN0aW9uIGdldEljb25TaXplKHNpemUsIHRoZW1lLCBpY29uUG9zaXRpb24pIHtcclxuICAgIHN3aXRjaCAoc2l6ZSkge1xyXG4gICAgICAgIGNhc2UgJ2xhcmdlJzpcclxuICAgICAgICAgICAgaWYgKGljb25Qb3NpdGlvbiA9PT0gSW5wdXRJY29uUG9zaXRpb24udG9wKSB7XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gdGhlbWUuaWNvblNpemVzLm1lZGl1bTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICByZXR1cm4gdGhlbWUuaWNvblNpemVzLmxhcmdlO1xyXG4gICAgICAgIGRlZmF1bHQ6XHJcbiAgICAgICAgICAgIGlmIChpY29uUG9zaXRpb24gPT09IElucHV0SWNvblBvc2l0aW9uLnRvcCkge1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuIHRoZW1lLmljb25TaXplcy5zbWFsbDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICByZXR1cm4gdGhlbWUuaWNvblNpemVzLm1lZGl1bTtcclxuICAgIH1cclxufVxyXG5leHBvcnQgY29uc3QgaXNMZWZ0T3JIaWRkZW4gPSAoeyBsYWJlbFBvc2l0aW9uLCBpc0xhYmVsVmlzdWFsbHlIaWRkZW4sIH0pID0+IGxhYmVsUG9zaXRpb24gPT09IExhYmVsUG9zaXRpb24ubGVmdCB8fCBpc0xhYmVsVmlzdWFsbHlIaWRkZW47XHJcbmV4cG9ydCBjb25zdCBIZWxwTGlua0NvbnRhaW5lciA9IHN0eWxlZC5zcGFuIGBcbiAgcG9zaXRpb246ICR7cHJvcHMgPT4gKGlzTGVmdE9ySGlkZGVuKHByb3BzKSA/ICdyZWxhdGl2ZScgOiAnYWJzb2x1dGUnKX07XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXG4gIGhlaWdodDogJHtwcm9wcyA9PiAoaXNMZWZ0T3JIaWRkZW4ocHJvcHMpID8gJ2F1dG8nIDogJ2ZpdC1jb250ZW50Jyl9O1xuICBtYXJnaW4taW5saW5lLXN0YXJ0OiAke3Byb3BzID0+IGlzTGVmdE9ySGlkZGVuKHByb3BzKSA/IGAke3Byb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzAzfWAgOiAnYXV0byd9O1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoXG4gICAgJHtwcm9wcyA9PiBpc0xlZnRPckhpZGRlbihwcm9wcylcclxuICAgID8gJzAnXHJcbiAgICA6IGBjYWxjKC0xMDAlIC0gJHtwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwM30pYH1cbiAgKTtcbiAgJHtDaGlsZHJlbldyYXBwZXJ9ID4gc3ZnIHtcbiAgICBoZWlnaHQ6ICR7cHJvcHMgPT4gZ2V0SGVscExpbmtTVkdTaXplKHByb3BzKX07XG4gICAgd2lkdGg6ICR7cHJvcHMgPT4gZ2V0SGVscExpbmtTVkdTaXplKHByb3BzKX07XG4gIH1cbiAgYnV0dG9uIHtcbiAgICBoZWlnaHQ6ICR7cHJvcHMgPT4gZ2V0SGVscEljb25CdXR0b25TaXplKHByb3BzKX07XG4gICAgd2lkdGg6ICR7cHJvcHMgPT4gZ2V0SGVscEljb25CdXR0b25TaXplKHByb3BzKX07XG4gIH1cbiAgaW5zZXQtaW5saW5lLWVuZDogJHtwcm9wcyA9PiAoaXNMZWZ0T3JIaWRkZW4ocHJvcHMpID8gJ2F1dG8nIDogJzAnKX07XG5gO1xyXG5leHBvcnQgY29uc3QgSW5wdXRCYXNlID0gUmVhY3QuZm9yd2FyZFJlZigocHJvcHMsIGZvcndhcmRlZFJlZikgPT4ge1xyXG4gICAgY29uc3QgeyBjaGlsZHJlbiwgY29udGFpbmVyU3R5bGUsIGRlZmF1bHRWYWx1ZSwgZGlzYWJsZWQsIGhhc0NoYXJhY3RlckNvdW50ZXIsIGhhc0Vycm9yLCBpY29uLCBpY29uQXJpYUxhYmVsLCBpY29uUmVmLCBpc0NsZWFyYWJsZSwgaXNQYXNzd29yZElucHV0LCBpc1ByZWRpY3RpdmUsIG1heENvdW50LCBtYXhMZW5ndGgsIG9uQ2xlYXIsIG9uSWNvbkNsaWNrLCBvbkljb25LZXlEb3duLCBvbkRhdGVDaGFuZ2UsIGlucHV0TGVuZ3RoLCBpbnB1dFNpemUsIGlucHV0U3R5bGUsIGlucHV0V3JhcHBlclN0eWxlLCB0ZXN0SWQsIHR5cGUsIHNldFJlZmVyZW5jZSwgaXNMYWJlbFZpc3VhbGx5SGlkZGVuLCBsYWJlbFBvc2l0aW9uLCAuLi5vdGhlciB9ID0gcHJvcHM7XHJcbiAgICBjb25zdCBpMThuID0gUmVhY3QudXNlQ29udGV4dChJMThuQ29udGV4dCk7XHJcbiAgICBjb25zdCB0aGVtZSA9IFJlYWN0LnVzZUNvbnRleHQoVGhlbWVDb250ZXh0KTtcclxuICAgIGNvbnN0IGljb25Qb3NpdGlvbiA9IGljb24gJiYgb25JY29uQ2xpY2tcclxuICAgICAgICA/IElucHV0SWNvblBvc2l0aW9uLnJpZ2h0XHJcbiAgICAgICAgOiBpY29uICYmICFwcm9wcy5pY29uUG9zaXRpb25cclxuICAgICAgICAgICAgPyBJbnB1dEljb25Qb3NpdGlvbi5sZWZ0XHJcbiAgICAgICAgICAgIDogcHJvcHMuaWNvblBvc2l0aW9uO1xyXG4gICAgY29uc3QgW3ZhbHVlLCBzZXRWYWx1ZV0gPSBSZWFjdC51c2VTdGF0ZShwcm9wcy5kZWZhdWx0VmFsdWUgIT09IHVuZGVmaW5lZCAmJiBwcm9wcy5kZWZhdWx0VmFsdWUgIT09IG51bGxcclxuICAgICAgICA/IHByb3BzLmRlZmF1bHRWYWx1ZVxyXG4gICAgICAgIDogcHJvcHMudmFsdWUgfHwgJycpO1xyXG4gICAgY29uc3QgbWF4TGVuZ3RoTnVtID0gIWhhc0NoYXJhY3RlckNvdW50ZXIgJiYgbWF4TGVuZ3RoID8gbWF4TGVuZ3RoIDogdW5kZWZpbmVkO1xyXG4gICAgUmVhY3QudXNlRWZmZWN0KCgpID0+IHtcclxuICAgICAgICBpZiAocHJvcHMudmFsdWUgIT09IHVuZGVmaW5lZCAmJiBwcm9wcy52YWx1ZSAhPT0gbnVsbCkge1xyXG4gICAgICAgICAgICBzZXRWYWx1ZShwcm9wcy52YWx1ZSk7XHJcbiAgICAgICAgfVxyXG4gICAgfSwgW3Byb3BzLnZhbHVlXSk7XHJcbiAgICBjb25zdCBpbnB1dFJlZiA9IFJlYWN0LnVzZVJlZigpO1xyXG4gICAgY29uc3QgcmVmID0gdXNlRm9ya2VkUmVmKGZvcndhcmRlZFJlZiwgaW5wdXRSZWYpO1xyXG4gICAgZnVuY3Rpb24gaGFuZGxlQ2xlYXJJbnB1dCgpIHtcclxuICAgICAgICBvbkNsZWFyICYmIHR5cGVvZiBvbkNsZWFyID09PSAnZnVuY3Rpb24nICYmIG9uQ2xlYXIoKTtcclxuICAgICAgICBzZXRWYWx1ZSgnJyk7XHJcbiAgICAgICAgb25EYXRlQ2hhbmdlICYmIHR5cGVvZiBvbkRhdGVDaGFuZ2UgPT09ICdmdW5jdGlvbicgJiYgb25EYXRlQ2hhbmdlKG51bGwpO1xyXG4gICAgICAgIGlucHV0UmVmLmN1cnJlbnQuZm9jdXMoKTtcclxuICAgIH1cclxuICAgIGZ1bmN0aW9uIGhhbmRsZUNoYW5nZShldmVudCkge1xyXG4gICAgICAgIHByb3BzLm9uQ2hhbmdlICYmXHJcbiAgICAgICAgICAgIHR5cGVvZiBwcm9wcy5vbkNoYW5nZSA9PT0gJ2Z1bmN0aW9uJyAmJlxyXG4gICAgICAgICAgICBwcm9wcy5vbkNoYW5nZShldmVudCk7XHJcbiAgICAgICAgc2V0VmFsdWUoZXZlbnQudGFyZ2V0LnZhbHVlKTtcclxuICAgICAgICBpZiAoIWV2ZW50LnRhcmdldC52YWx1ZSAmJlxyXG4gICAgICAgICAgICBvbkRhdGVDaGFuZ2UgJiZcclxuICAgICAgICAgICAgdHlwZW9mIG9uRGF0ZUNoYW5nZSA9PT0gJ2Z1bmN0aW9uJylcclxuICAgICAgICAgICAgb25EYXRlQ2hhbmdlKG51bGwpO1xyXG4gICAgfVxyXG4gICAgY29uc3QgcGFzc3dvcmRCdG5XaWR0aCA9ICgpID0+IHtcclxuICAgICAgICBjb25zdCBidG5XaWR0aCA9IGNoaWxkcmVuPy5wcm9wcz8uY2hpbGRyZW4/LlswXT8ucmVmPy5jdXJyZW50Py5vZmZzZXRXaWR0aDtcclxuICAgICAgICBpZiAodHlwZW9mIGJ0bldpZHRoID09PSAnbnVtYmVyJykge1xyXG4gICAgICAgICAgICByZXR1cm4gYnRuV2lkdGg7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgICAvLyBXaGVuIFBhc3N3b3JkQnV0dG9uIGlzIHVzZWQgaW5zaWRlIFNjaGVtYVJlbmRlcmVyLCBpdCBkb2Vzbid0IGhhdmUgY2hpbGRyZW4uXHJcbiAgICAgICAgICAgIC8vIFdlJ2xsIHVzZSB0aGUgZGVmYXVsdCBidXR0b24gc2l6ZXMuXHJcbiAgICAgICAgICAgIGlmIChwcm9wcy5pbnB1dFNpemUgPT09IElucHV0U2l6ZS5sYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuIDY0O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHJldHVybiA1NDtcclxuICAgICAgICB9XHJcbiAgICB9O1xyXG4gICAgcmV0dXJuIChSZWFjdC5jcmVhdGVFbGVtZW50KFwiZGl2XCIsIHsgcmVmOiBzZXRSZWZlcmVuY2UgfSxcclxuICAgICAgICBSZWFjdC5jcmVhdGVFbGVtZW50KElucHV0Q29udGFpbmVyLCB7IHN0eWxlOiBpbnB1dFdyYXBwZXJTdHlsZSwgXCJkYXRhLXRlc3RpZFwiOiBgJHt0ZXN0SWR9LXdyYXBwZXJgIH0sXHJcbiAgICAgICAgICAgIFJlYWN0LmNyZWF0ZUVsZW1lbnQoSW5wdXRXcmFwcGVyLCB7IGRpc2FibGVkOiBkaXNhYmxlZCwgaWNvblBvc2l0aW9uOiBpY29uUG9zaXRpb24sIGlzSW52ZXJzZTogcHJvcHMuaXNJbnZlcnNlLCBpbnB1dFNpemU6IGlucHV0U2l6ZSA/PyBJbnB1dFNpemUubWVkaXVtLCB0aGVtZTogdGhlbWUsIHN0eWxlOiBjb250YWluZXJTdHlsZSwgaGFzRXJyb3I6IGhhc0Vycm9yLCBpc0NsZWFyYWJsZTogaXNDbGVhcmFibGUsIHdpZHRoOiBwcm9wcy53aWR0aCB9LFxyXG4gICAgICAgICAgICAgICAgUmVhY3QuY3JlYXRlRWxlbWVudChTdHlsZWRJbnB1dCwgT2JqZWN0LmFzc2lnbih7fSwgb3RoZXIsIHsgXCJhcmlhLWludmFsaWRcIjogaGFzRXJyb3IsIGRpc2FibGVkOiBkaXNhYmxlZCwgXCJkYXRhLXRlc3RpZFwiOiB0ZXN0SWQsIGhhc0NoYXJhY3RlckNvdW50ZXI6IGhhc0NoYXJhY3RlckNvdW50ZXIsIGljb25Qb3NpdGlvbjogaWNvblBvc2l0aW9uLCBpbnB1dFNpemU6IGlucHV0U2l6ZSA/PyBJbnB1dFNpemUubWVkaXVtLCBpc0NsZWFyYWJsZTogdHlwZSA9PT0gSW5wdXRUeXBlLnNlYXJjaFxyXG4gICAgICAgICAgICAgICAgICAgICAgICA/IGlzQ2xlYXJhYmxlXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDogaW5wdXRXcmFwcGVyU3R5bGU/LndpZHRoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA/IGlzQ2xlYXJhYmxlXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IGlzQ2xlYXJhYmxlICYmIGlucHV0TGVuZ3RoID4gMCwgaXNJbnZlcnNlOiB1c2VJc0ludmVyc2UocHJvcHMuaXNJbnZlcnNlKSwgaXNQcmVkaWN0aXZlOiBpc1ByZWRpY3RpdmUsIGhhc0Vycm9yOiBoYXNFcnJvciwgcmVmOiByZWYsIG1heExlbmd0aDogbWF4TGVuZ3RoTnVtLCBvbkNoYW5nZTogaGFuZGxlQ2hhbmdlLCBzdHlsZTogaW5wdXRTdHlsZSwgdGhlbWU6IHRoZW1lLCB0eXBlOiB0eXBlID8gdHlwZSA6IElucHV0VHlwZS50ZXh0LCB2YWx1ZTogdmFsdWUgfSkpLFxyXG4gICAgICAgICAgICAgICAgaWNvbiAmJiAhb25JY29uQ2xpY2sgJiYgKFJlYWN0LmNyZWF0ZUVsZW1lbnQoSWNvbldyYXBwZXIsIHsgXCJhcmlhLWxhYmVsXCI6IGljb25BcmlhTGFiZWwsIGljb25Qb3NpdGlvbjogaWNvblBvc2l0aW9uLCBpbnB1dFNpemU6IGlucHV0U2l6ZSA/PyBJbnB1dFNpemUubWVkaXVtLCBpc0ludmVyc2U6IHByb3BzLmlzSW52ZXJzZSwgaXNQcmVkaWN0aXZlOiBpc1ByZWRpY3RpdmUsIHRoZW1lOiB0aGVtZSwgZGlzYWJsZWQ6IGRpc2FibGVkIH0sIFJlYWN0LkNoaWxkcmVuLm9ubHkoUmVhY3QuY2xvbmVFbGVtZW50KGljb24sIHtcclxuICAgICAgICAgICAgICAgICAgICBzaXplOiBnZXRJY29uU2l6ZShpbnB1dFNpemUgPz8gSW5wdXRTaXplLm1lZGl1bSwgdGhlbWUsIGljb25Qb3NpdGlvbiksXHJcbiAgICAgICAgICAgICAgICB9KSkpKSksXHJcbiAgICAgICAgICAgIGlzQ2xlYXJhYmxlICYmIHZhbHVlICE9PSAnJyAmJiAoUmVhY3QuY3JlYXRlRWxlbWVudChJc0NsZWFyYWJsZUNvbnRhaW5lciwgeyB0aGVtZTogdGhlbWUsIGljb25Qb3NpdGlvbjogaWNvblBvc2l0aW9uLCBpbnB1dFNpemU6IGlucHV0U2l6ZSwgaWNvbjogaWNvbiB9LFxyXG4gICAgICAgICAgICAgICAgUmVhY3QuY3JlYXRlRWxlbWVudChJY29uQnV0dG9uLCB7IFwiYXJpYS1sYWJlbFwiOiBpMThuLmlucHV0LmlzQ2xlYXJhYmxlQXJpYUxhYmVsLCBkaXNhYmxlZDogZGlzYWJsZWQsIGljb246IFJlYWN0LmNyZWF0ZUVsZW1lbnQoQ2xlYXJJY29uLCBudWxsKSwgaXNJbnZlcnNlOiBwcm9wcy5pc0ludmVyc2UsIG9uQ2xpY2s6IGhhbmRsZUNsZWFySW5wdXQsIG9uS2V5RG93bjogb25JY29uS2V5RG93biwgcmVmOiBpY29uUmVmLCBzaGFwZTogQnV0dG9uU2hhcGUuZmlsbCwgc2l6ZTogaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2VcclxuICAgICAgICAgICAgICAgICAgICAgICAgPyBCdXR0b25TaXplLm1lZGl1bVxyXG4gICAgICAgICAgICAgICAgICAgICAgICA6IEJ1dHRvblNpemUuc21hbGwsIHRlc3RJZDogXCJjbGVhci1idXR0b25cIiwgdHlwZTogQnV0dG9uVHlwZS5idXR0b24sIHZhcmlhbnQ6IEJ1dHRvblZhcmlhbnQubGluayB9KSkpLFxyXG4gICAgICAgICAgICBvbkljb25DbGljayAmJiAoUmVhY3QuY3JlYXRlRWxlbWVudChJY29uQnV0dG9uQ29udGFpbmVyLCB7IGljb25Qb3NpdGlvbjogaWNvblBvc2l0aW9uLCBpbnB1dFNpemU6IGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlXHJcbiAgICAgICAgICAgICAgICAgICAgPyBJbnB1dFNpemUubGFyZ2VcclxuICAgICAgICAgICAgICAgICAgICA6IElucHV0U2l6ZS5tZWRpdW0sIHRoZW1lOiB0aGVtZSwgaXNDbGlja2FibGU6IHRydWUgfSxcclxuICAgICAgICAgICAgICAgIFJlYWN0LmNyZWF0ZUVsZW1lbnQoSWNvbkJ1dHRvbiwgeyBcImFyaWEtbGFiZWxcIjogaWNvbkFyaWFMYWJlbCwgaWNvbjogaWNvbiwgaXNJbnZlcnNlOiBwcm9wcy5pc0ludmVyc2UsIG9uQ2xpY2s6IG9uSWNvbkNsaWNrLCBvbktleURvd246IG9uSWNvbktleURvd24sIHJlZjogaWNvblJlZiwgZGlzYWJsZWQ6IGRpc2FibGVkLCBzaGFwZTogQnV0dG9uU2hhcGUuZmlsbCwgc2l6ZTogaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2VcclxuICAgICAgICAgICAgICAgICAgICAgICAgPyBCdXR0b25TaXplLm1lZGl1bVxyXG4gICAgICAgICAgICAgICAgICAgICAgICA6IEJ1dHRvblNpemUuc21hbGwsIHR5cGU6IEJ1dHRvblR5cGUuYnV0dG9uLCB2YXJpYW50OiBCdXR0b25WYXJpYW50LmxpbmsgfSkpKSxcclxuICAgICAgICAgICAgaXNQYXNzd29yZElucHV0ID8gKFJlYWN0LmNyZWF0ZUVsZW1lbnQoUGFzc3dvcmRCdXR0b25Db250YWluZXIsIHsgc2l6ZTogaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2VcclxuICAgICAgICAgICAgICAgICAgICA/IElucHV0U2l6ZS5sYXJnZVxyXG4gICAgICAgICAgICAgICAgICAgIDogSW5wdXRTaXplLm1lZGl1bSwgdGhlbWU6IHRoZW1lLCBidXR0b25XaWR0aDogcGFzc3dvcmRCdG5XaWR0aCgpIH0sIGNoaWxkcmVuKSkgOiAoUmVhY3QuY3JlYXRlRWxlbWVudChIZWxwTGlua0NvbnRhaW5lciwgeyBpc0xhYmVsVmlzdWFsbHlIaWRkZW46IGlzTGFiZWxWaXN1YWxseUhpZGRlbiB8fCBmYWxzZSwgaW5wdXRTaXplOiBpbnB1dFNpemUgPz8gSW5wdXRTaXplLm1lZGl1bSwgbGFiZWxQb3NpdGlvbjogbGFiZWxQb3NpdGlvbiA/PyBMYWJlbFBvc2l0aW9uLnRvcCwgdGhlbWU6IHRoZW1lIH0sIGNoaWxkcmVuKSkpKSk7XHJcbn0pO1xyXG4vLyMgc291cmNlTWFwcGluZ1VSTD1pbmRleC5qcy5tYXAiXX0= */"));
|
|
5050
|
+
}, ";}" + (process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImluZGV4LnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUE4VCtDIiwiZmlsZSI6ImluZGV4LnRzeCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIFJlYWN0IGZyb20gJ3JlYWN0JztcclxuaW1wb3J0IHsgY3NzIH0gZnJvbSAnQGVtb3Rpb24vcmVhY3QnO1xyXG5pbXBvcnQgc3R5bGVkIGZyb20gJ0BlbW90aW9uL3N0eWxlZCc7XHJcbmltcG9ydCB7IHRyYW5zcGFyZW50aXplIH0gZnJvbSAncG9saXNoZWQnO1xyXG5pbXBvcnQgeyBDbGVhckljb24gfSBmcm9tICdyZWFjdC1tYWdtYS1pY29ucyc7XHJcbmltcG9ydCB7IEkxOG5Db250ZXh0IH0gZnJvbSAnLi4vLi4vaTE4bic7XHJcbmltcG9ydCB7IHVzZUlzSW52ZXJzZSB9IGZyb20gJy4uLy4uL2ludmVyc2UnO1xyXG5pbXBvcnQgeyBUaGVtZUNvbnRleHQgfSBmcm9tICcuLi8uLi90aGVtZS9UaGVtZUNvbnRleHQnO1xyXG5pbXBvcnQgeyB1c2VGb3JrZWRSZWYgfSBmcm9tICcuLi8uLi91dGlscyc7XHJcbmltcG9ydCB7IEJ1dHRvblNoYXBlLCBCdXR0b25TaXplLCBCdXR0b25UeXBlLCBCdXR0b25WYXJpYW50IH0gZnJvbSAnLi4vQnV0dG9uJztcclxuaW1wb3J0IHsgSWNvbkJ1dHRvbiB9IGZyb20gJy4uL0ljb25CdXR0b24nO1xyXG5pbXBvcnQgeyBMYWJlbFBvc2l0aW9uIH0gZnJvbSAnLi4vTGFiZWwnO1xyXG5pbXBvcnQgeyBDaGlsZHJlbldyYXBwZXIgfSBmcm9tICcuLi9TdHlsZWRCdXR0b24nO1xyXG5leHBvcnQgdmFyIElucHV0U2l6ZTtcclxuKGZ1bmN0aW9uIChJbnB1dFNpemUpIHtcclxuICAgIElucHV0U2l6ZVtcImxhcmdlXCJdID0gXCJsYXJnZVwiO1xyXG4gICAgSW5wdXRTaXplW1wibWVkaXVtXCJdID0gXCJtZWRpdW1cIjtcclxufSkoSW5wdXRTaXplIHx8IChJbnB1dFNpemUgPSB7fSkpO1xyXG5leHBvcnQgdmFyIElucHV0VHlwZTtcclxuKGZ1bmN0aW9uIChJbnB1dFR5cGUpIHtcclxuICAgIElucHV0VHlwZVtcImVtYWlsXCJdID0gXCJlbWFpbFwiO1xyXG4gICAgSW5wdXRUeXBlW1wiZmlsZVwiXSA9IFwiZmlsZVwiO1xyXG4gICAgSW5wdXRUeXBlW1wibnVtYmVyXCJdID0gXCJudW1iZXJcIjtcclxuICAgIElucHV0VHlwZVtcInBhc3N3b3JkXCJdID0gXCJwYXNzd29yZFwiO1xyXG4gICAgSW5wdXRUeXBlW1wic2VhcmNoXCJdID0gXCJzZWFyY2hcIjtcclxuICAgIElucHV0VHlwZVtcInRleHRcIl0gPSBcInRleHRcIjtcclxuICAgIElucHV0VHlwZVtcInVybFwiXSA9IFwidXJsXCI7XHJcbiAgICBJbnB1dFR5cGVbXCJ0ZWxcIl0gPSBcInRlbFwiO1xyXG59KShJbnB1dFR5cGUgfHwgKElucHV0VHlwZSA9IHt9KSk7XHJcbmV4cG9ydCB2YXIgSW5wdXRJY29uUG9zaXRpb247XHJcbihmdW5jdGlvbiAoSW5wdXRJY29uUG9zaXRpb24pIHtcclxuICAgIElucHV0SWNvblBvc2l0aW9uW1widG9wXCJdID0gXCJ0b3BcIjtcclxuICAgIElucHV0SWNvblBvc2l0aW9uW1wibGVmdFwiXSA9IFwibGVmdFwiO1xyXG4gICAgSW5wdXRJY29uUG9zaXRpb25bXCJyaWdodFwiXSA9IFwicmlnaHRcIjtcclxufSkoSW5wdXRJY29uUG9zaXRpb24gfHwgKElucHV0SWNvblBvc2l0aW9uID0ge30pKTtcclxuZXhwb3J0IGNvbnN0IGlucHV0V3JhcHBlclN0eWxlcyA9IChwcm9wcykgPT4gY3NzIGBcbiAgZmxleDogMSAxIGF1dG87XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgd2lkdGg6ICR7cHJvcHMud2lkdGggfHwgJ2F1dG8nfTtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHtwcm9wcy5pc0ludmVyc2VcclxuICAgID8gdHJhbnNwYXJlbnRpemUoMC44LCBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDkwMClcclxuICAgIDogcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWwxMDB9O1xuICBib3JkZXItcmFkaXVzOiAke3Byb3BzLnRoZW1lLmJvcmRlclJhZGl1c307XG4gIGJvcmRlcjogMXB4IHNvbGlkXG4gICAgJHtwcm9wcy5pc0ludmVyc2VcclxuICAgID8gdHJhbnNwYXJlbnRpemUoMC41LCBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDEwMClcclxuICAgIDogcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWw1MDB9O1xuICBoZWlnaHQ6ICR7cHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDl9O1xuXG4gICY6Zm9jdXMtd2l0aGluIHtcbiAgICBvdXRsaW5lOiAycHggc29saWRcbiAgICAgICR7cHJvcHMuaXNJbnZlcnNlXHJcbiAgICA/IHByb3BzLnRoZW1lLmNvbG9ycy5mb2N1c0ludmVyc2VcclxuICAgIDogcHJvcHMudGhlbWUuY29sb3JzLmZvY3VzfTtcbiAgICBvdXRsaW5lLW9mZnNldDogLTFweDtcbiAgfVxuXG4gICR7cHJvcHMuaGFzRXJyb3IgJiZcclxuICAgIGNzcyBgXG4gICAgYm9yZGVyLWNvbG9yOiAke3Byb3BzLmlzSW52ZXJzZVxyXG4gICAgICAgID8gcHJvcHMudGhlbWUuY29sb3JzLmRhbmdlcjMwMFxyXG4gICAgICAgIDogcHJvcHMudGhlbWUuY29sb3JzLmRhbmdlcn07XG4gIGB9XG5cbiAgJHtwcm9wcy5kaXNhYmxlZCAmJlxyXG4gICAgY3NzIGBcbiAgICBib3JkZXItY29sb3I6ICR7cHJvcHMuaXNJbnZlcnNlXHJcbiAgICAgICAgPyB0cmFuc3BhcmVudGl6ZSgwLjg1LCBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDEwMClcclxuICAgICAgICA6IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsMzAwfTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAke3Byb3BzLmlzSW52ZXJzZVxyXG4gICAgICAgID8gdHJhbnNwYXJlbnRpemUoMC45LCBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDkwMClcclxuICAgICAgICA6IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsMjAwfTtcbiAgYH1cblxuICAke3Byb3BzLmlucHV0U2l6ZSA9PT0gJ2xhcmdlJyAmJlxyXG4gICAgY3NzIGBcbiAgICBoZWlnaHQ6ICR7cHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMTF9O1xuICBgfVxuYDtcclxuZnVuY3Rpb24gZ2V0SW5wdXRQYWRkaW5nKHByb3BzKSB7XHJcbiAgICBjb25zdCB7IGlucHV0U2l6ZSwgaXNDbGVhcmFibGUsIGljb25Qb3NpdGlvbiB9ID0gcHJvcHM7XHJcbiAgICBjb25zdCBwYWRkaW5nID0ge1xyXG4gICAgICAgIGxlZnQ6IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzAzLFxyXG4gICAgICAgIHJpZ2h0OiBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwMyxcclxuICAgIH07XHJcbiAgICBpZiAoaW5wdXRTaXplID09PSAnbGFyZ2UnKSB7XHJcbiAgICAgICAgaWYgKGlzQ2xlYXJhYmxlKSB7XHJcbiAgICAgICAgICAgIGlmIChpY29uUG9zaXRpb24gPT09ICdyaWdodCcpIHtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmcucmlnaHQgPSAnOTJweCc7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgZWxzZSBpZiAoaWNvblBvc2l0aW9uID09PSAnbGVmdCcpIHtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmcubGVmdCA9IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzExO1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy5yaWdodCA9IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzExO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgLy8gaWNvbiB0b3AsIG5vIGljb25cclxuICAgICAgICAgICAgICAgIHBhZGRpbmcucmlnaHQgPSBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcxMTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBlbHNlIHtcclxuICAgICAgICAgICAgaWYgKGljb25Qb3NpdGlvbiA9PT0gJ3JpZ2h0Jykge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy5yaWdodCA9IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzEwO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGlmIChpY29uUG9zaXRpb24gPT09ICdsZWZ0Jykge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy5sZWZ0ID0gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMTA7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICBlbHNlIGlmIChpbnB1dFNpemUgPT09ICdtZWRpdW0nKSB7XHJcbiAgICAgICAgaWYgKGlzQ2xlYXJhYmxlKSB7XHJcbiAgICAgICAgICAgIGlmIChpY29uUG9zaXRpb24gPT09ICdyaWdodCcpIHtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmcucmlnaHQgPSAnNjhweCc7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgZWxzZSBpZiAoaWNvblBvc2l0aW9uID09PSAnbGVmdCcpIHtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmcubGVmdCA9IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzA5O1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy5yaWdodCA9IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzA5O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgLy8gaWNvbiB0b3AsIG5vIGljb25cclxuICAgICAgICAgICAgICAgIHBhZGRpbmcucmlnaHQgPSBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwOTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBlbHNlIHtcclxuICAgICAgICAgICAgaWYgKGljb25Qb3NpdGlvbiA9PT0gJ3JpZ2h0Jykge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy5yaWdodCA9IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzA5O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGlmIChpY29uUG9zaXRpb24gPT09ICdsZWZ0Jykge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy5sZWZ0ID0gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICByZXR1cm4gcGFkZGluZztcclxufVxyXG5leHBvcnQgY29uc3QgaW5wdXRCYXNlU3R5bGVzID0gKHByb3BzKSA9PiBjc3MgYFxuICBib3JkZXI6IDA7XG4gIGJvcmRlci1yYWRpdXM6ICR7cHJvcHMudGhlbWUuYm9yZGVyUmFkaXVzfTtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIGNvbG9yOiAke3Byb3BzLmlzSW52ZXJzZVxyXG4gICAgPyBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDEwMFxyXG4gICAgOiBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDcwMH07XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBmb250LXNpemU6ICR7cHJvcHMudGhlbWUudHlwZVNjYWxlLnNpemUwMy5mb250U2l6ZX07XG4gIGxpbmUtaGVpZ2h0OiAke3Byb3BzLnRoZW1lLnR5cGVTY2FsZS5zaXplMDMubGluZUhlaWdodH07XG4gIGZvbnQtZmFtaWx5OiAke3Byb3BzLnRoZW1lLmJvZHlGb250fTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBwYWRkaW5nOiAke3Byb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzAzfTtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICB3aWR0aDogMTAwJTtcblxuICAke3Byb3BzLmlucHV0U2l6ZSA9PT0gJ2xhcmdlJyAmJlxyXG4gICAgY3NzIGBcbiAgICBmb250LXNpemU6ICR7cHJvcHMudGhlbWUudHlwZVNjYWxlLnNpemUwNC5mb250U2l6ZX07XG4gICAgbGluZS1oZWlnaHQ6ICR7cHJvcHMudGhlbWUudHlwZVNjYWxlLnNpemUwNC5saW5lSGVpZ2h0fTtcbiAgICBwYWRkaW5nOiAke3Byb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzA0fTtcbiAgYH1cblxuICBwYWRkaW5nLWxlZnQ6ICR7Z2V0SW5wdXRQYWRkaW5nKHByb3BzKS5sZWZ0fTtcbiAgcGFkZGluZy1yaWdodDogJHtnZXRJbnB1dFBhZGRpbmcocHJvcHMpLnJpZ2h0fTtcblxuICAmOjpwbGFjZWhvbGRlciB7XG4gICAgY29sb3I6ICR7cHJvcHMuaXNJbnZlcnNlXHJcbiAgICA/IHRyYW5zcGFyZW50aXplKDAuMywgcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWwxMDApXHJcbiAgICA6IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsNTAwfTtcbiAgfVxuXG4gICY6Zm9jdXMge1xuICAgIG91dGxpbmU6IDA7XG4gIH1cblxuICAmW3R5cGU9J3NlYXJjaCddIHtcbiAgICAmOjotd2Via2l0LXNlYXJjaC1kZWNvcmF0aW9uLFxuICAgICY6Oi13ZWJraXQtc2VhcmNoLWNhbmNlbC1idXR0b24sXG4gICAgJjo6LXdlYmtpdC1zZWFyY2gtcmVzdWx0cy1idXR0b24sXG4gICAgJjo6LXdlYmtpdC1zZWFyY2gtcmVzdWx0cy1kZWNvcmF0aW9uIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICB9XG5cbiAgJHtwcm9wcy5kaXNhYmxlZCAmJlxyXG4gICAgY3NzIGBcbiAgICBjb2xvcjogJHtwcm9wcy5pc0ludmVyc2VcclxuICAgICAgICA/IHRyYW5zcGFyZW50aXplKDAuNiwgcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWwxMDApXHJcbiAgICAgICAgOiB0cmFuc3BhcmVudGl6ZSgwLjQsIHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsNTAwKX07XG4gICAgY3Vyc29yOiBub3QtYWxsb3dlZDtcblxuICAgICY6OnBsYWNlaG9sZGVyIHtcbiAgICAgIGNvbG9yOiAke3Byb3BzLmlzSW52ZXJzZVxyXG4gICAgICAgID8gdHJhbnNwYXJlbnRpemUoMC44LCBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDEwMClcclxuICAgICAgICA6IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsNTAwfTtcbiAgICAgIG9wYWNpdHk6ICR7cHJvcHMuaXNJbnZlcnNlID8gMC40IDogMC42fTtcbiAgICB9XG4gIGB9XG5cbiAgJjotd2Via2l0LWF1dG9maWxsLFxuICAmOi13ZWJraXQtYXV0b2ZpbGw6Zm9jdXMsXG4gICY6LXdlYmtpdC1hdXRvZmlsbDpob3ZlcixcbiAgJjotd2Via2l0LWF1dG9maWxsOmFjdGl2ZSB7XG4gICAgYm94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xuICAgIC13ZWJraXQtYmFja2dyb3VuZC1jbGlwOiB0ZXh0O1xuICAgIC13ZWJraXQtdGV4dC1maWxsLWNvbG9yOiAke3Byb3BzLmlzSW52ZXJzZVxyXG4gICAgPyBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDEwMFxyXG4gICAgOiBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDcwMH0gIWltcG9ydGFudDtcbiAgICBjYXJldC1jb2xvcjogJHtwcm9wcy5pc0ludmVyc2VcclxuICAgID8gcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWwxMDBcclxuICAgIDogcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWw3MDB9ICFpbXBvcnRhbnQ7XG4gIH1cbmA7XHJcbmNvbnN0IElucHV0Q29udGFpbmVyID0gc3R5bGVkLmRpdiBgXG4gIGRpc3BsYXk6IGZsZXg7XG5gO1xyXG5leHBvcnQgY29uc3QgSW5wdXRXcmFwcGVyID0gc3R5bGVkLmRpdiBgXG4gICR7aW5wdXRXcmFwcGVyU3R5bGVzfVxuYDtcclxuY29uc3QgU3R5bGVkSW5wdXQgPSBzdHlsZWQuaW5wdXQgYFxuICAke2lucHV0QmFzZVN0eWxlc31cbmA7XHJcbmNvbnN0IEljb25XcmFwcGVyID0gc3R5bGVkLnNwYW4gYFxuICBib3R0b206ICR7cHJvcHMgPT4gKHByb3BzLmljb25Qb3NpdGlvbiA9PT0gJ3RvcCcgPyAnNDVweCcgOiAnaW5oZXJpdCcpfTtcbiAgY29sb3I6ICR7cHJvcHMgPT4gcHJvcHMuaXNJbnZlcnNlXHJcbiAgICA/IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsMTAwXHJcbiAgICA6IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsNzAwfTtcbiAgbGVmdDogJHtwcm9wcyA9PiBwcm9wcy5pY29uUG9zaXRpb24gPT09ICdsZWZ0JyA/IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzAzIDogJ2F1dG8nfTtcbiAgcmlnaHQ6ICR7cHJvcHMgPT4gcHJvcHMuaWNvblBvc2l0aW9uID09PSAncmlnaHQnXHJcbiAgICA/IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzAzXHJcbiAgICA6IHByb3BzLmljb25Qb3NpdGlvbiA9PT0gJ3RvcCdcclxuICAgICAgICA/ICczcHgnXHJcbiAgICAgICAgOiAnYXV0byd9O1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogJHtwcm9wcyA9PiBwcm9wcy5pY29uUG9zaXRpb24gPT09ICd0b3AnXHJcbiAgICA/ICdpbmhlcml0J1xyXG4gICAgOiBwcm9wcyA9PiBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwM307XG5cbiAgJHtwcm9wcyA9PiBwcm9wcy5pbnB1dFNpemUgPT09ICdsYXJnZScgJiZcclxuICAgIGNzcyBgXG4gICAgICBib3R0b206ICR7cHJvcHMuaWNvblBvc2l0aW9uID09PSAndG9wJyA/ICc2MnB4JyA6ICdpbmhlcml0J307XG4gICAgICBsZWZ0OiAke3Byb3BzLmljb25Qb3NpdGlvbiA9PT0gJ2xlZnQnXHJcbiAgICAgICAgPyBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwNFxyXG4gICAgICAgIDogJ2F1dG8nfTtcbiAgICAgIHJpZ2h0OiAke3Byb3BzLmljb25Qb3NpdGlvbiA9PT0gJ3JpZ2h0J1xyXG4gICAgICAgID8gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDRcclxuICAgICAgICA6IHByb3BzLmljb25Qb3NpdGlvbiA9PT0gJ3RvcCdcclxuICAgICAgICAgICAgPyAnM3B4J1xyXG4gICAgICAgICAgICA6ICdhdXRvJ307XG4gICAgICB0b3A6ICR7cHJvcHMuaWNvblBvc2l0aW9uID09PSAndG9wJ1xyXG4gICAgICAgID8gJ2luaGVyaXQnXHJcbiAgICAgICAgOiBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwNH07XG4gICAgYH1cbmA7XHJcbmZ1bmN0aW9uIGdldEljb25CdXR0b25TVkdTaXplKHByb3BzKSB7XHJcbiAgICBjb25zdCB7IGlzQ2xpY2thYmxlLCBpY29uUG9zaXRpb24sIGlucHV0U2l6ZSwgdGhlbWUgfSA9IHByb3BzO1xyXG4gICAgaWYgKGlzQ2xpY2thYmxlICYmIGljb25Qb3NpdGlvbiA9PT0gSW5wdXRJY29uUG9zaXRpb24udG9wKSB7XHJcbiAgICAgICAgaWYgKGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlKSB7XHJcbiAgICAgICAgICAgIHJldHVybiBgJHt0aGVtZS5pY29uU2l6ZXMubWVkaXVtfXB4YDtcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIGAke3RoZW1lLmljb25TaXplcy5zbWFsbH1weGA7XHJcbiAgICB9XHJcbiAgICBpZiAoaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2UpIHtcclxuICAgICAgICByZXR1cm4gYCR7dGhlbWUuaWNvblNpemVzLmxhcmdlfXB4YDtcclxuICAgIH1cclxuICAgIHJldHVybiBgJHt0aGVtZS5pY29uU2l6ZXMubWVkaXVtfXB4YDtcclxufVxyXG5mdW5jdGlvbiBnZXRIZWxwTGlua1NWR1NpemUocHJvcHMpIHtcclxuICAgIGNvbnN0IHsgaW5wdXRTaXplLCB0aGVtZSB9ID0gcHJvcHM7XHJcbiAgICBpZiAoaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2UpIHtcclxuICAgICAgICByZXR1cm4gYCR7dGhlbWUuaWNvblNpemVzLm1lZGl1bX1weGA7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gYCR7dGhlbWUuaWNvblNpemVzLnNtYWxsfXB4YDtcclxufVxyXG5leHBvcnQgZnVuY3Rpb24gZ2V0SGVscEljb25CdXR0b25TaXplKHByb3BzKSB7XHJcbiAgICBjb25zdCB7IGlucHV0U2l6ZSwgdGhlbWUgfSA9IHByb3BzO1xyXG4gICAgaWYgKGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlKSB7XHJcbiAgICAgICAgcmV0dXJuIHRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzA5O1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIHRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzA3O1xyXG59XHJcbmZ1bmN0aW9uIGdldEljb25CdXR0b25UcmFuc2Zvcm0ocHJvcHMpIHtcclxuICAgIGNvbnN0IHsgaXNDbGlja2FibGUsIGljb25Qb3NpdGlvbiwgaW5wdXRTaXplLCBoYXNDaGlsZHJlbiwgdGhlbWUgfSA9IHByb3BzO1xyXG4gICAgY29uc3QgcG9zaXRpb24gPSB7IHg6ICcnLCB5OiAnJyB9O1xyXG4gICAgaWYgKGljb25Qb3NpdGlvbiA9PT0gSW5wdXRJY29uUG9zaXRpb24udG9wKSB7XHJcbiAgICAgICAgaWYgKGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlKSB7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uLnggPSAnLTMwcHgnO1xyXG4gICAgICAgICAgICBwb3NpdGlvbi55ID0gJzJweCc7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2UgaWYgKGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLm1lZGl1bSkge1xyXG4gICAgICAgICAgICBwb3NpdGlvbi54ID0gJy0yOHB4JztcclxuICAgICAgICAgICAgcG9zaXRpb24ueSA9ICc1cHgnO1xyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gcG9zaXRpb247XHJcbiAgICB9XHJcbiAgICBpZiAoaXNDbGlja2FibGUpIHtcclxuICAgICAgICBpZiAoaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2UpIHtcclxuICAgICAgICAgICAgaWYgKGhhc0NoaWxkcmVuKSB7XHJcbiAgICAgICAgICAgICAgICBwb3NpdGlvbi54ID0gJy00M3B4JztcclxuICAgICAgICAgICAgICAgIHBvc2l0aW9uLnkgPSAnMTRweCc7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICAgICAgICBwb3NpdGlvbi54ID0gJy00OXB4JztcclxuICAgICAgICAgICAgICAgIHBvc2l0aW9uLnkgPSAnOHB4JztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBlbHNlIGlmIChpbnB1dFNpemUgPT09IElucHV0U2l6ZS5tZWRpdW0pIHtcclxuICAgICAgICAgICAgcG9zaXRpb24ueCA9ICctMzVweCc7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uLnkgPSAnNnB4JztcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIHBvc2l0aW9uO1xyXG4gICAgfVxyXG4gICAgaWYgKGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlKSB7XHJcbiAgICAgICAgcG9zaXRpb24ueCA9IGAtJHt0aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcxMH1gO1xyXG4gICAgICAgIHBvc2l0aW9uLnkgPSB0aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwMztcclxuICAgIH1cclxuICAgIGVsc2UgaWYgKGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLm1lZGl1bSkge1xyXG4gICAgICAgIHBvc2l0aW9uLnggPSAnLTI0cHgnO1xyXG4gICAgICAgIHBvc2l0aW9uLnkgPSAnN3B4JztcclxuICAgIH1cclxuICAgIHJldHVybiBwb3NpdGlvbjtcclxufVxyXG5leHBvcnQgY29uc3QgSWNvbkJ1dHRvbkNvbnRhaW5lciA9IHN0eWxlZC5zcGFuIGBcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGJvdHRvbTogJHtwcm9wcyA9PiAocHJvcHMuaWNvblBvc2l0aW9uID09PSAndG9wJyA/ICc0MHB4JyA6ICdpbmhlcml0Jyl9O1xuICBoZWlnaHQ6IGF1dG87XG4gIG1hcmdpbjogMDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aWR0aDogMDtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoXG4gICAgJHtwcm9wcyA9PiBnZXRJY29uQnV0dG9uVHJhbnNmb3JtKHByb3BzKS54fSxcbiAgICAke3Byb3BzID0+IGdldEljb25CdXR0b25UcmFuc2Zvcm0ocHJvcHMpLnl9XG4gICk7XG4gIHN2ZyB7XG4gICAgaGVpZ2h0OiAke3Byb3BzID0+IGdldEljb25CdXR0b25TVkdTaXplKHByb3BzKX07XG4gICAgd2lkdGg6ICR7cHJvcHMgPT4gZ2V0SWNvbkJ1dHRvblNWR1NpemUocHJvcHMpfTtcbiAgfVxuYDtcclxuY29uc3QgUGFzc3dvcmRCdXR0b25Db250YWluZXIgPSBzdHlsZWQuc3BhbiBgXG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICB3aWR0aDogMDtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoXG4gICAgJHtwcm9wcyA9PiBwcm9wcy5zaXplID09PSBJbnB1dFNpemUubGFyZ2VcclxuICAgID8gYCR7LXByb3BzLmJ1dHRvbldpZHRoIC0gOH1weGBcclxuICAgIDogYCR7LXByb3BzLmJ1dHRvbldpZHRoIC0gNn1weGB9LFxuICAgICR7cHJvcHMgPT4gcHJvcHMuc2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlID8gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDMgOiAnNnB4J31cbiAgKTtcbmA7XHJcbmZ1bmN0aW9uIGdldENsZWFyYWJsZVBvc2l0aW9uKHByb3BzKSB7XHJcbiAgICBpZiAocHJvcHMuaWNvblBvc2l0aW9uID09PSAncmlnaHQnICYmIHByb3BzLmljb24pIHtcclxuICAgICAgICBpZiAocHJvcHMuaW5wdXRTaXplID09PSAnbGFyZ2UnKSB7XHJcbiAgICAgICAgICAgIHJldHVybiBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcxMztcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuICc3MnB4JztcclxuICAgIH1cclxuICAgIGlmIChwcm9wcy5pbnB1dFNpemUgPT09ICdsYXJnZScpIHtcclxuICAgICAgICByZXR1cm4gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMTA7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gJzM0cHgnO1xyXG59XHJcbmNvbnN0IElzQ2xlYXJhYmxlQ29udGFpbmVyID0gc3R5bGVkLnNwYW4gYFxuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgbWFyZ2luOiAwO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGhlaWdodDogYXV0bztcbiAgd2lkdGg6IDA7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKFxuICAgIC0ke3Byb3BzID0+IGdldENsZWFyYWJsZVBvc2l0aW9uKHByb3BzKX0sXG4gICAgJHtwcm9wcyA9PiBwcm9wcy5pbnB1dFNpemUgPT09IElucHV0U2l6ZS5sYXJnZVxyXG4gICAgPyBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwM1xyXG4gICAgOiAnNnB4J31cbiAgKTtcbmA7XHJcbmZ1bmN0aW9uIGdldEljb25TaXplKHNpemUsIHRoZW1lLCBpY29uUG9zaXRpb24pIHtcclxuICAgIHN3aXRjaCAoc2l6ZSkge1xyXG4gICAgICAgIGNhc2UgJ2xhcmdlJzpcclxuICAgICAgICAgICAgaWYgKGljb25Qb3NpdGlvbiA9PT0gSW5wdXRJY29uUG9zaXRpb24udG9wKSB7XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gdGhlbWUuaWNvblNpemVzLm1lZGl1bTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICByZXR1cm4gdGhlbWUuaWNvblNpemVzLmxhcmdlO1xyXG4gICAgICAgIGRlZmF1bHQ6XHJcbiAgICAgICAgICAgIGlmIChpY29uUG9zaXRpb24gPT09IElucHV0SWNvblBvc2l0aW9uLnRvcCkge1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuIHRoZW1lLmljb25TaXplcy5zbWFsbDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICByZXR1cm4gdGhlbWUuaWNvblNpemVzLm1lZGl1bTtcclxuICAgIH1cclxufVxyXG5leHBvcnQgY29uc3QgaXNMZWZ0T3JIaWRkZW4gPSAoeyBsYWJlbFBvc2l0aW9uLCBpc0xhYmVsVmlzdWFsbHlIaWRkZW4sIH0pID0+IGxhYmVsUG9zaXRpb24gPT09IExhYmVsUG9zaXRpb24ubGVmdCB8fCBpc0xhYmVsVmlzdWFsbHlIaWRkZW47XHJcbmV4cG9ydCBjb25zdCBIZWxwTGlua0NvbnRhaW5lciA9IHN0eWxlZC5zcGFuIGBcbiAgcG9zaXRpb246ICR7cHJvcHMgPT4gKGlzTGVmdE9ySGlkZGVuKHByb3BzKSA/ICdyZWxhdGl2ZScgOiAnYWJzb2x1dGUnKX07XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXG4gIGhlaWdodDogJHtwcm9wcyA9PiAoaXNMZWZ0T3JIaWRkZW4ocHJvcHMpID8gJ2F1dG8nIDogJ2ZpdC1jb250ZW50Jyl9O1xuICBtYXJnaW4taW5saW5lLXN0YXJ0OiAke3Byb3BzID0+IGlzTGVmdE9ySGlkZGVuKHByb3BzKSA/IGAke3Byb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzAzfWAgOiAnYXV0byd9O1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoXG4gICAgJHtwcm9wcyA9PiBpc0xlZnRPckhpZGRlbihwcm9wcylcclxuICAgID8gJzAnXHJcbiAgICA6IGBjYWxjKC0xMDAlIC0gJHtwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwM30pYH1cbiAgKTtcbiAgJHtDaGlsZHJlbldyYXBwZXJ9ID4gc3ZnIHtcbiAgICBoZWlnaHQ6ICR7cHJvcHMgPT4gZ2V0SGVscExpbmtTVkdTaXplKHByb3BzKX07XG4gICAgd2lkdGg6ICR7cHJvcHMgPT4gZ2V0SGVscExpbmtTVkdTaXplKHByb3BzKX07XG4gIH1cbiAgYnV0dG9uIHtcbiAgICBoZWlnaHQ6ICR7cHJvcHMgPT4gZ2V0SGVscEljb25CdXR0b25TaXplKHByb3BzKX07XG4gICAgd2lkdGg6ICR7cHJvcHMgPT4gZ2V0SGVscEljb25CdXR0b25TaXplKHByb3BzKX07XG4gIH1cbiAgaW5zZXQtaW5saW5lLWVuZDogJHtwcm9wcyA9PiAoaXNMZWZ0T3JIaWRkZW4ocHJvcHMpID8gJ2F1dG8nIDogJzAnKX07XG5gO1xyXG5leHBvcnQgY29uc3QgSW5wdXRCYXNlID0gUmVhY3QuZm9yd2FyZFJlZigocHJvcHMsIGZvcndhcmRlZFJlZikgPT4ge1xyXG4gICAgY29uc3QgeyBjaGlsZHJlbiwgY29udGFpbmVyU3R5bGUsIGRlZmF1bHRWYWx1ZSwgZGlzYWJsZWQsIGhhc0NoYXJhY3RlckNvdW50ZXIsIGhhc0Vycm9yLCBpY29uLCBpY29uQXJpYUxhYmVsLCBpY29uUmVmLCBpc0NsZWFyYWJsZSwgaXNQYXNzd29yZElucHV0LCBpc1ByZWRpY3RpdmUsIG1heENvdW50LCBtYXhMZW5ndGgsIG9uQ2xlYXIsIG9uSWNvbkNsaWNrLCBvbkljb25LZXlEb3duLCBvbkRhdGVDaGFuZ2UsIGlucHV0TGVuZ3RoLCBpbnB1dFNpemUsIGlucHV0U3R5bGUsIGlucHV0V3JhcHBlclN0eWxlLCB0ZXN0SWQsIHR5cGUsIHNldFJlZmVyZW5jZSwgaXNMYWJlbFZpc3VhbGx5SGlkZGVuLCBsYWJlbFBvc2l0aW9uLCAuLi5vdGhlciB9ID0gcHJvcHM7XHJcbiAgICBjb25zdCBpMThuID0gUmVhY3QudXNlQ29udGV4dChJMThuQ29udGV4dCk7XHJcbiAgICBjb25zdCB0aGVtZSA9IFJlYWN0LnVzZUNvbnRleHQoVGhlbWVDb250ZXh0KTtcclxuICAgIGNvbnN0IGljb25Qb3NpdGlvbiA9IGljb24gJiYgb25JY29uQ2xpY2tcclxuICAgICAgICA/IElucHV0SWNvblBvc2l0aW9uLnJpZ2h0XHJcbiAgICAgICAgOiBpY29uICYmICFwcm9wcy5pY29uUG9zaXRpb25cclxuICAgICAgICAgICAgPyBJbnB1dEljb25Qb3NpdGlvbi5sZWZ0XHJcbiAgICAgICAgICAgIDogcHJvcHMuaWNvblBvc2l0aW9uO1xyXG4gICAgY29uc3QgW3ZhbHVlLCBzZXRWYWx1ZV0gPSBSZWFjdC51c2VTdGF0ZShwcm9wcy5kZWZhdWx0VmFsdWUgIT09IHVuZGVmaW5lZCAmJiBwcm9wcy5kZWZhdWx0VmFsdWUgIT09IG51bGxcclxuICAgICAgICA/IHByb3BzLmRlZmF1bHRWYWx1ZVxyXG4gICAgICAgIDogcHJvcHMudmFsdWUgfHwgJycpO1xyXG4gICAgY29uc3QgbWF4TGVuZ3RoTnVtID0gIWhhc0NoYXJhY3RlckNvdW50ZXIgJiYgbWF4TGVuZ3RoID8gbWF4TGVuZ3RoIDogdW5kZWZpbmVkO1xyXG4gICAgUmVhY3QudXNlRWZmZWN0KCgpID0+IHtcclxuICAgICAgICBpZiAocHJvcHMudmFsdWUgIT09IHVuZGVmaW5lZCAmJiBwcm9wcy52YWx1ZSAhPT0gbnVsbCkge1xyXG4gICAgICAgICAgICBzZXRWYWx1ZShwcm9wcy52YWx1ZSk7XHJcbiAgICAgICAgfVxyXG4gICAgfSwgW3Byb3BzLnZhbHVlXSk7XHJcbiAgICBjb25zdCBpbnB1dFJlZiA9IFJlYWN0LnVzZVJlZigpO1xyXG4gICAgY29uc3QgcmVmID0gdXNlRm9ya2VkUmVmKGZvcndhcmRlZFJlZiwgaW5wdXRSZWYpO1xyXG4gICAgZnVuY3Rpb24gaGFuZGxlQ2xlYXJJbnB1dCgpIHtcclxuICAgICAgICBvbkNsZWFyICYmIHR5cGVvZiBvbkNsZWFyID09PSAnZnVuY3Rpb24nICYmIG9uQ2xlYXIoKTtcclxuICAgICAgICBzZXRWYWx1ZSgnJyk7XHJcbiAgICAgICAgb25EYXRlQ2hhbmdlICYmIHR5cGVvZiBvbkRhdGVDaGFuZ2UgPT09ICdmdW5jdGlvbicgJiYgb25EYXRlQ2hhbmdlKG51bGwpO1xyXG4gICAgICAgIGlucHV0UmVmLmN1cnJlbnQuZm9jdXMoKTtcclxuICAgIH1cclxuICAgIGZ1bmN0aW9uIGhhbmRsZUNoYW5nZShldmVudCkge1xyXG4gICAgICAgIHByb3BzLm9uQ2hhbmdlICYmXHJcbiAgICAgICAgICAgIHR5cGVvZiBwcm9wcy5vbkNoYW5nZSA9PT0gJ2Z1bmN0aW9uJyAmJlxyXG4gICAgICAgICAgICBwcm9wcy5vbkNoYW5nZShldmVudCk7XHJcbiAgICAgICAgY29uc3QgaXNPbkRhdGVDaGFuZ2UgPSBvbkRhdGVDaGFuZ2UgJiYgdHlwZW9mIG9uRGF0ZUNoYW5nZSA9PT0gJ2Z1bmN0aW9uJztcclxuICAgICAgICBjb25zdCB7IHZhbHVlIH0gPSBldmVudC50YXJnZXQ7XHJcbiAgICAgICAgc2V0VmFsdWUoaXNPbkRhdGVDaGFuZ2UgPyB2YWx1ZSA6IChwcm9wcy52YWx1ZSA/PyB2YWx1ZSkpO1xyXG4gICAgICAgIGlmIChpc09uRGF0ZUNoYW5nZSAmJiAhdmFsdWUpIHtcclxuICAgICAgICAgICAgb25EYXRlQ2hhbmdlKG51bGwpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIGNvbnN0IHBhc3N3b3JkQnRuV2lkdGggPSAoKSA9PiB7XHJcbiAgICAgICAgY29uc3QgYnRuV2lkdGggPSBjaGlsZHJlbj8ucHJvcHM/LmNoaWxkcmVuPy5bMF0/LnJlZj8uY3VycmVudD8ub2Zmc2V0V2lkdGg7XHJcbiAgICAgICAgaWYgKHR5cGVvZiBidG5XaWR0aCA9PT0gJ251bWJlcicpIHtcclxuICAgICAgICAgICAgcmV0dXJuIGJ0bldpZHRoO1xyXG4gICAgICAgIH1cclxuICAgICAgICBlbHNlIHtcclxuICAgICAgICAgICAgLy8gV2hlbiBQYXNzd29yZEJ1dHRvbiBpcyB1c2VkIGluc2lkZSBTY2hlbWFSZW5kZXJlciwgaXQgZG9lc24ndCBoYXZlIGNoaWxkcmVuLlxyXG4gICAgICAgICAgICAvLyBXZSdsbCB1c2UgdGhlIGRlZmF1bHQgYnV0dG9uIHNpemVzLlxyXG4gICAgICAgICAgICBpZiAocHJvcHMuaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgIHJldHVybiA2NDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICByZXR1cm4gNTQ7XHJcbiAgICAgICAgfVxyXG4gICAgfTtcclxuICAgIHJldHVybiAoUmVhY3QuY3JlYXRlRWxlbWVudChcImRpdlwiLCB7IHJlZjogc2V0UmVmZXJlbmNlIH0sXHJcbiAgICAgICAgUmVhY3QuY3JlYXRlRWxlbWVudChJbnB1dENvbnRhaW5lciwgeyBzdHlsZTogaW5wdXRXcmFwcGVyU3R5bGUsIFwiZGF0YS10ZXN0aWRcIjogYCR7dGVzdElkfS13cmFwcGVyYCB9LFxyXG4gICAgICAgICAgICBSZWFjdC5jcmVhdGVFbGVtZW50KElucHV0V3JhcHBlciwgeyBkaXNhYmxlZDogZGlzYWJsZWQsIGljb25Qb3NpdGlvbjogaWNvblBvc2l0aW9uLCBpc0ludmVyc2U6IHByb3BzLmlzSW52ZXJzZSwgaW5wdXRTaXplOiBpbnB1dFNpemUgPz8gSW5wdXRTaXplLm1lZGl1bSwgdGhlbWU6IHRoZW1lLCBzdHlsZTogY29udGFpbmVyU3R5bGUsIGhhc0Vycm9yOiBoYXNFcnJvciwgaXNDbGVhcmFibGU6IGlzQ2xlYXJhYmxlLCB3aWR0aDogcHJvcHMud2lkdGggfSxcclxuICAgICAgICAgICAgICAgIFJlYWN0LmNyZWF0ZUVsZW1lbnQoU3R5bGVkSW5wdXQsIE9iamVjdC5hc3NpZ24oe30sIG90aGVyLCB7IFwiYXJpYS1pbnZhbGlkXCI6IGhhc0Vycm9yLCBkaXNhYmxlZDogZGlzYWJsZWQsIFwiZGF0YS10ZXN0aWRcIjogdGVzdElkLCBoYXNDaGFyYWN0ZXJDb3VudGVyOiBoYXNDaGFyYWN0ZXJDb3VudGVyLCBpY29uUG9zaXRpb246IGljb25Qb3NpdGlvbiwgaW5wdXRTaXplOiBpbnB1dFNpemUgPz8gSW5wdXRTaXplLm1lZGl1bSwgaXNDbGVhcmFibGU6IHR5cGUgPT09IElucHV0VHlwZS5zZWFyY2hcclxuICAgICAgICAgICAgICAgICAgICAgICAgPyBpc0NsZWFyYWJsZVxyXG4gICAgICAgICAgICAgICAgICAgICAgICA6IGlucHV0V3JhcHBlclN0eWxlPy53aWR0aFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPyBpc0NsZWFyYWJsZVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBpc0NsZWFyYWJsZSAmJiBpbnB1dExlbmd0aCA+IDAsIGlzSW52ZXJzZTogdXNlSXNJbnZlcnNlKHByb3BzLmlzSW52ZXJzZSksIGlzUHJlZGljdGl2ZTogaXNQcmVkaWN0aXZlLCBoYXNFcnJvcjogaGFzRXJyb3IsIHJlZjogcmVmLCBtYXhMZW5ndGg6IG1heExlbmd0aE51bSwgb25DaGFuZ2U6IGhhbmRsZUNoYW5nZSwgc3R5bGU6IGlucHV0U3R5bGUsIHRoZW1lOiB0aGVtZSwgdHlwZTogdHlwZSA/IHR5cGUgOiBJbnB1dFR5cGUudGV4dCwgdmFsdWU6IHZhbHVlIH0pKSxcclxuICAgICAgICAgICAgICAgIGljb24gJiYgIW9uSWNvbkNsaWNrICYmIChSZWFjdC5jcmVhdGVFbGVtZW50KEljb25XcmFwcGVyLCB7IFwiYXJpYS1sYWJlbFwiOiBpY29uQXJpYUxhYmVsLCBpY29uUG9zaXRpb246IGljb25Qb3NpdGlvbiwgaW5wdXRTaXplOiBpbnB1dFNpemUgPz8gSW5wdXRTaXplLm1lZGl1bSwgaXNJbnZlcnNlOiBwcm9wcy5pc0ludmVyc2UsIGlzUHJlZGljdGl2ZTogaXNQcmVkaWN0aXZlLCB0aGVtZTogdGhlbWUsIGRpc2FibGVkOiBkaXNhYmxlZCB9LCBSZWFjdC5DaGlsZHJlbi5vbmx5KFJlYWN0LmNsb25lRWxlbWVudChpY29uLCB7XHJcbiAgICAgICAgICAgICAgICAgICAgc2l6ZTogZ2V0SWNvblNpemUoaW5wdXRTaXplID8/IElucHV0U2l6ZS5tZWRpdW0sIHRoZW1lLCBpY29uUG9zaXRpb24pLFxyXG4gICAgICAgICAgICAgICAgfSkpKSkpLFxyXG4gICAgICAgICAgICBpc0NsZWFyYWJsZSAmJiB2YWx1ZSAhPT0gJycgJiYgKFJlYWN0LmNyZWF0ZUVsZW1lbnQoSXNDbGVhcmFibGVDb250YWluZXIsIHsgdGhlbWU6IHRoZW1lLCBpY29uUG9zaXRpb246IGljb25Qb3NpdGlvbiwgaW5wdXRTaXplOiBpbnB1dFNpemUsIGljb246IGljb24gfSxcclxuICAgICAgICAgICAgICAgIFJlYWN0LmNyZWF0ZUVsZW1lbnQoSWNvbkJ1dHRvbiwgeyBcImFyaWEtbGFiZWxcIjogaTE4bi5pbnB1dC5pc0NsZWFyYWJsZUFyaWFMYWJlbCwgZGlzYWJsZWQ6IGRpc2FibGVkLCBpY29uOiBSZWFjdC5jcmVhdGVFbGVtZW50KENsZWFySWNvbiwgbnVsbCksIGlzSW52ZXJzZTogcHJvcHMuaXNJbnZlcnNlLCBvbkNsaWNrOiBoYW5kbGVDbGVhcklucHV0LCBvbktleURvd246IG9uSWNvbktleURvd24sIHJlZjogaWNvblJlZiwgc2hhcGU6IEJ1dHRvblNoYXBlLmZpbGwsIHNpemU6IGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlXHJcbiAgICAgICAgICAgICAgICAgICAgICAgID8gQnV0dG9uU2l6ZS5tZWRpdW1cclxuICAgICAgICAgICAgICAgICAgICAgICAgOiBCdXR0b25TaXplLnNtYWxsLCB0ZXN0SWQ6IFwiY2xlYXItYnV0dG9uXCIsIHR5cGU6IEJ1dHRvblR5cGUuYnV0dG9uLCB2YXJpYW50OiBCdXR0b25WYXJpYW50LmxpbmsgfSkpKSxcclxuICAgICAgICAgICAgb25JY29uQ2xpY2sgJiYgKFJlYWN0LmNyZWF0ZUVsZW1lbnQoSWNvbkJ1dHRvbkNvbnRhaW5lciwgeyBpY29uUG9zaXRpb246IGljb25Qb3NpdGlvbiwgaW5wdXRTaXplOiBpbnB1dFNpemUgPT09IElucHV0U2l6ZS5sYXJnZVxyXG4gICAgICAgICAgICAgICAgICAgID8gSW5wdXRTaXplLmxhcmdlXHJcbiAgICAgICAgICAgICAgICAgICAgOiBJbnB1dFNpemUubWVkaXVtLCB0aGVtZTogdGhlbWUsIGlzQ2xpY2thYmxlOiB0cnVlIH0sXHJcbiAgICAgICAgICAgICAgICBSZWFjdC5jcmVhdGVFbGVtZW50KEljb25CdXR0b24sIHsgXCJhcmlhLWxhYmVsXCI6IGljb25BcmlhTGFiZWwsIGljb246IGljb24sIGlzSW52ZXJzZTogcHJvcHMuaXNJbnZlcnNlLCBvbkNsaWNrOiBvbkljb25DbGljaywgb25LZXlEb3duOiBvbkljb25LZXlEb3duLCByZWY6IGljb25SZWYsIGRpc2FibGVkOiBkaXNhYmxlZCwgc2hhcGU6IEJ1dHRvblNoYXBlLmZpbGwsIHNpemU6IGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlXHJcbiAgICAgICAgICAgICAgICAgICAgICAgID8gQnV0dG9uU2l6ZS5tZWRpdW1cclxuICAgICAgICAgICAgICAgICAgICAgICAgOiBCdXR0b25TaXplLnNtYWxsLCB0eXBlOiBCdXR0b25UeXBlLmJ1dHRvbiwgdmFyaWFudDogQnV0dG9uVmFyaWFudC5saW5rIH0pKSksXHJcbiAgICAgICAgICAgIGlzUGFzc3dvcmRJbnB1dCA/IChSZWFjdC5jcmVhdGVFbGVtZW50KFBhc3N3b3JkQnV0dG9uQ29udGFpbmVyLCB7IHNpemU6IGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlXHJcbiAgICAgICAgICAgICAgICAgICAgPyBJbnB1dFNpemUubGFyZ2VcclxuICAgICAgICAgICAgICAgICAgICA6IElucHV0U2l6ZS5tZWRpdW0sIHRoZW1lOiB0aGVtZSwgYnV0dG9uV2lkdGg6IHBhc3N3b3JkQnRuV2lkdGgoKSB9LCBjaGlsZHJlbikpIDogKFJlYWN0LmNyZWF0ZUVsZW1lbnQoSGVscExpbmtDb250YWluZXIsIHsgaXNMYWJlbFZpc3VhbGx5SGlkZGVuOiBpc0xhYmVsVmlzdWFsbHlIaWRkZW4gfHwgZmFsc2UsIGlucHV0U2l6ZTogaW5wdXRTaXplID8/IElucHV0U2l6ZS5tZWRpdW0sIGxhYmVsUG9zaXRpb246IGxhYmVsUG9zaXRpb24gPz8gTGFiZWxQb3NpdGlvbi50b3AsIHRoZW1lOiB0aGVtZSB9LCBjaGlsZHJlbikpKSkpO1xyXG59KTtcclxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9aW5kZXguanMubWFwIl19 */"));
|
|
5051
5051
|
var PasswordButtonContainer = /*#__PURE__*/_styled("span", {
|
|
5052
5052
|
target: "e1jxjjn72",
|
|
5053
5053
|
label: "PasswordButtonContainer"
|
|
@@ -5055,7 +5055,7 @@ var PasswordButtonContainer = /*#__PURE__*/_styled("span", {
|
|
|
5055
5055
|
return props.size === InputSize.large ? -props.buttonWidth - 8 + "px" : -props.buttonWidth - 6 + "px";
|
|
5056
5056
|
}, ",\n ", function (props) {
|
|
5057
5057
|
return props.size === InputSize.large ? props.theme.spaceScale.spacing03 : '6px';
|
|
5058
|
-
}, "\n );" + (process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImluZGV4LnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUE4VTRDIiwiZmlsZSI6ImluZGV4LnRzeCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIFJlYWN0IGZyb20gJ3JlYWN0JztcclxuaW1wb3J0IHsgY3NzIH0gZnJvbSAnQGVtb3Rpb24vcmVhY3QnO1xyXG5pbXBvcnQgc3R5bGVkIGZyb20gJ0BlbW90aW9uL3N0eWxlZCc7XHJcbmltcG9ydCB7IHRyYW5zcGFyZW50aXplIH0gZnJvbSAncG9saXNoZWQnO1xyXG5pbXBvcnQgeyBDbGVhckljb24gfSBmcm9tICdyZWFjdC1tYWdtYS1pY29ucyc7XHJcbmltcG9ydCB7IEkxOG5Db250ZXh0IH0gZnJvbSAnLi4vLi4vaTE4bic7XHJcbmltcG9ydCB7IHVzZUlzSW52ZXJzZSB9IGZyb20gJy4uLy4uL2ludmVyc2UnO1xyXG5pbXBvcnQgeyBUaGVtZUNvbnRleHQgfSBmcm9tICcuLi8uLi90aGVtZS9UaGVtZUNvbnRleHQnO1xyXG5pbXBvcnQgeyB1c2VGb3JrZWRSZWYgfSBmcm9tICcuLi8uLi91dGlscyc7XHJcbmltcG9ydCB7IEJ1dHRvblNoYXBlLCBCdXR0b25TaXplLCBCdXR0b25UeXBlLCBCdXR0b25WYXJpYW50IH0gZnJvbSAnLi4vQnV0dG9uJztcclxuaW1wb3J0IHsgSWNvbkJ1dHRvbiB9IGZyb20gJy4uL0ljb25CdXR0b24nO1xyXG5pbXBvcnQgeyBMYWJlbFBvc2l0aW9uIH0gZnJvbSAnLi4vTGFiZWwnO1xyXG5pbXBvcnQgeyBDaGlsZHJlbldyYXBwZXIgfSBmcm9tICcuLi9TdHlsZWRCdXR0b24nO1xyXG5leHBvcnQgdmFyIElucHV0U2l6ZTtcclxuKGZ1bmN0aW9uIChJbnB1dFNpemUpIHtcclxuICAgIElucHV0U2l6ZVtcImxhcmdlXCJdID0gXCJsYXJnZVwiO1xyXG4gICAgSW5wdXRTaXplW1wibWVkaXVtXCJdID0gXCJtZWRpdW1cIjtcclxufSkoSW5wdXRTaXplIHx8IChJbnB1dFNpemUgPSB7fSkpO1xyXG5leHBvcnQgdmFyIElucHV0VHlwZTtcclxuKGZ1bmN0aW9uIChJbnB1dFR5cGUpIHtcclxuICAgIElucHV0VHlwZVtcImVtYWlsXCJdID0gXCJlbWFpbFwiO1xyXG4gICAgSW5wdXRUeXBlW1wiZmlsZVwiXSA9IFwiZmlsZVwiO1xyXG4gICAgSW5wdXRUeXBlW1wibnVtYmVyXCJdID0gXCJudW1iZXJcIjtcclxuICAgIElucHV0VHlwZVtcInBhc3N3b3JkXCJdID0gXCJwYXNzd29yZFwiO1xyXG4gICAgSW5wdXRUeXBlW1wic2VhcmNoXCJdID0gXCJzZWFyY2hcIjtcclxuICAgIElucHV0VHlwZVtcInRleHRcIl0gPSBcInRleHRcIjtcclxuICAgIElucHV0VHlwZVtcInVybFwiXSA9IFwidXJsXCI7XHJcbiAgICBJbnB1dFR5cGVbXCJ0ZWxcIl0gPSBcInRlbFwiO1xyXG59KShJbnB1dFR5cGUgfHwgKElucHV0VHlwZSA9IHt9KSk7XHJcbmV4cG9ydCB2YXIgSW5wdXRJY29uUG9zaXRpb247XHJcbihmdW5jdGlvbiAoSW5wdXRJY29uUG9zaXRpb24pIHtcclxuICAgIElucHV0SWNvblBvc2l0aW9uW1widG9wXCJdID0gXCJ0b3BcIjtcclxuICAgIElucHV0SWNvblBvc2l0aW9uW1wibGVmdFwiXSA9IFwibGVmdFwiO1xyXG4gICAgSW5wdXRJY29uUG9zaXRpb25bXCJyaWdodFwiXSA9IFwicmlnaHRcIjtcclxufSkoSW5wdXRJY29uUG9zaXRpb24gfHwgKElucHV0SWNvblBvc2l0aW9uID0ge30pKTtcclxuZXhwb3J0IGNvbnN0IGlucHV0V3JhcHBlclN0eWxlcyA9IChwcm9wcykgPT4gY3NzIGBcbiAgZmxleDogMSAxIGF1dG87XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgd2lkdGg6ICR7cHJvcHMud2lkdGggfHwgJ2F1dG8nfTtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHtwcm9wcy5pc0ludmVyc2VcclxuICAgID8gdHJhbnNwYXJlbnRpemUoMC44LCBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDkwMClcclxuICAgIDogcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWwxMDB9O1xuICBib3JkZXItcmFkaXVzOiAke3Byb3BzLnRoZW1lLmJvcmRlclJhZGl1c307XG4gIGJvcmRlcjogMXB4IHNvbGlkXG4gICAgJHtwcm9wcy5pc0ludmVyc2VcclxuICAgID8gdHJhbnNwYXJlbnRpemUoMC41LCBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDEwMClcclxuICAgIDogcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWw1MDB9O1xuICBoZWlnaHQ6ICR7cHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDl9O1xuXG4gICY6Zm9jdXMtd2l0aGluIHtcbiAgICBvdXRsaW5lOiAycHggc29saWRcbiAgICAgICR7cHJvcHMuaXNJbnZlcnNlXHJcbiAgICA/IHByb3BzLnRoZW1lLmNvbG9ycy5mb2N1c0ludmVyc2VcclxuICAgIDogcHJvcHMudGhlbWUuY29sb3JzLmZvY3VzfTtcbiAgICBvdXRsaW5lLW9mZnNldDogLTFweDtcbiAgfVxuXG4gICR7cHJvcHMuaGFzRXJyb3IgJiZcclxuICAgIGNzcyBgXG4gICAgYm9yZGVyLWNvbG9yOiAke3Byb3BzLmlzSW52ZXJzZVxyXG4gICAgICAgID8gcHJvcHMudGhlbWUuY29sb3JzLmRhbmdlcjMwMFxyXG4gICAgICAgIDogcHJvcHMudGhlbWUuY29sb3JzLmRhbmdlcn07XG4gIGB9XG5cbiAgJHtwcm9wcy5kaXNhYmxlZCAmJlxyXG4gICAgY3NzIGBcbiAgICBib3JkZXItY29sb3I6ICR7cHJvcHMuaXNJbnZlcnNlXHJcbiAgICAgICAgPyB0cmFuc3BhcmVudGl6ZSgwLjg1LCBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDEwMClcclxuICAgICAgICA6IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsMzAwfTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAke3Byb3BzLmlzSW52ZXJzZVxyXG4gICAgICAgID8gdHJhbnNwYXJlbnRpemUoMC45LCBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDkwMClcclxuICAgICAgICA6IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsMjAwfTtcbiAgYH1cblxuICAke3Byb3BzLmlucHV0U2l6ZSA9PT0gJ2xhcmdlJyAmJlxyXG4gICAgY3NzIGBcbiAgICBoZWlnaHQ6ICR7cHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMTF9O1xuICBgfVxuYDtcclxuZnVuY3Rpb24gZ2V0SW5wdXRQYWRkaW5nKHByb3BzKSB7XHJcbiAgICBjb25zdCB7IGlucHV0U2l6ZSwgaXNDbGVhcmFibGUsIGljb25Qb3NpdGlvbiB9ID0gcHJvcHM7XHJcbiAgICBjb25zdCBwYWRkaW5nID0ge1xyXG4gICAgICAgIGxlZnQ6IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzAzLFxyXG4gICAgICAgIHJpZ2h0OiBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwMyxcclxuICAgIH07XHJcbiAgICBpZiAoaW5wdXRTaXplID09PSAnbGFyZ2UnKSB7XHJcbiAgICAgICAgaWYgKGlzQ2xlYXJhYmxlKSB7XHJcbiAgICAgICAgICAgIGlmIChpY29uUG9zaXRpb24gPT09ICdyaWdodCcpIHtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmcucmlnaHQgPSAnOTJweCc7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgZWxzZSBpZiAoaWNvblBvc2l0aW9uID09PSAnbGVmdCcpIHtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmcubGVmdCA9IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzExO1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy5yaWdodCA9IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzExO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgLy8gaWNvbiB0b3AsIG5vIGljb25cclxuICAgICAgICAgICAgICAgIHBhZGRpbmcucmlnaHQgPSBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcxMTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBlbHNlIHtcclxuICAgICAgICAgICAgaWYgKGljb25Qb3NpdGlvbiA9PT0gJ3JpZ2h0Jykge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy5yaWdodCA9IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzEwO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGlmIChpY29uUG9zaXRpb24gPT09ICdsZWZ0Jykge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy5sZWZ0ID0gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMTA7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICBlbHNlIGlmIChpbnB1dFNpemUgPT09ICdtZWRpdW0nKSB7XHJcbiAgICAgICAgaWYgKGlzQ2xlYXJhYmxlKSB7XHJcbiAgICAgICAgICAgIGlmIChpY29uUG9zaXRpb24gPT09ICdyaWdodCcpIHtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmcucmlnaHQgPSAnNjhweCc7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgZWxzZSBpZiAoaWNvblBvc2l0aW9uID09PSAnbGVmdCcpIHtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmcubGVmdCA9IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzA5O1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy5yaWdodCA9IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzA5O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgLy8gaWNvbiB0b3AsIG5vIGljb25cclxuICAgICAgICAgICAgICAgIHBhZGRpbmcucmlnaHQgPSBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwOTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBlbHNlIHtcclxuICAgICAgICAgICAgaWYgKGljb25Qb3NpdGlvbiA9PT0gJ3JpZ2h0Jykge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy5yaWdodCA9IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzA5O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGlmIChpY29uUG9zaXRpb24gPT09ICdsZWZ0Jykge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy5sZWZ0ID0gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICByZXR1cm4gcGFkZGluZztcclxufVxyXG5leHBvcnQgY29uc3QgaW5wdXRCYXNlU3R5bGVzID0gKHByb3BzKSA9PiBjc3MgYFxuICBib3JkZXI6IDA7XG4gIGJvcmRlci1yYWRpdXM6ICR7cHJvcHMudGhlbWUuYm9yZGVyUmFkaXVzfTtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIGNvbG9yOiAke3Byb3BzLmlzSW52ZXJzZVxyXG4gICAgPyBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDEwMFxyXG4gICAgOiBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDcwMH07XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBmb250LXNpemU6ICR7cHJvcHMudGhlbWUudHlwZVNjYWxlLnNpemUwMy5mb250U2l6ZX07XG4gIGxpbmUtaGVpZ2h0OiAke3Byb3BzLnRoZW1lLnR5cGVTY2FsZS5zaXplMDMubGluZUhlaWdodH07XG4gIGZvbnQtZmFtaWx5OiAke3Byb3BzLnRoZW1lLmJvZHlGb250fTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBwYWRkaW5nOiAke3Byb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzAzfTtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICB3aWR0aDogMTAwJTtcblxuICAke3Byb3BzLmlucHV0U2l6ZSA9PT0gJ2xhcmdlJyAmJlxyXG4gICAgY3NzIGBcbiAgICBmb250LXNpemU6ICR7cHJvcHMudGhlbWUudHlwZVNjYWxlLnNpemUwNC5mb250U2l6ZX07XG4gICAgbGluZS1oZWlnaHQ6ICR7cHJvcHMudGhlbWUudHlwZVNjYWxlLnNpemUwNC5saW5lSGVpZ2h0fTtcbiAgICBwYWRkaW5nOiAke3Byb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzA0fTtcbiAgYH1cblxuICBwYWRkaW5nLWxlZnQ6ICR7Z2V0SW5wdXRQYWRkaW5nKHByb3BzKS5sZWZ0fTtcbiAgcGFkZGluZy1yaWdodDogJHtnZXRJbnB1dFBhZGRpbmcocHJvcHMpLnJpZ2h0fTtcblxuICAmOjpwbGFjZWhvbGRlciB7XG4gICAgY29sb3I6ICR7cHJvcHMuaXNJbnZlcnNlXHJcbiAgICA/IHRyYW5zcGFyZW50aXplKDAuMywgcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWwxMDApXHJcbiAgICA6IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsNTAwfTtcbiAgfVxuXG4gICY6Zm9jdXMge1xuICAgIG91dGxpbmU6IDA7XG4gIH1cblxuICAmW3R5cGU9J3NlYXJjaCddIHtcbiAgICAmOjotd2Via2l0LXNlYXJjaC1kZWNvcmF0aW9uLFxuICAgICY6Oi13ZWJraXQtc2VhcmNoLWNhbmNlbC1idXR0b24sXG4gICAgJjo6LXdlYmtpdC1zZWFyY2gtcmVzdWx0cy1idXR0b24sXG4gICAgJjo6LXdlYmtpdC1zZWFyY2gtcmVzdWx0cy1kZWNvcmF0aW9uIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICB9XG5cbiAgJHtwcm9wcy5kaXNhYmxlZCAmJlxyXG4gICAgY3NzIGBcbiAgICBjb2xvcjogJHtwcm9wcy5pc0ludmVyc2VcclxuICAgICAgICA/IHRyYW5zcGFyZW50aXplKDAuNiwgcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWwxMDApXHJcbiAgICAgICAgOiB0cmFuc3BhcmVudGl6ZSgwLjQsIHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsNTAwKX07XG4gICAgY3Vyc29yOiBub3QtYWxsb3dlZDtcblxuICAgICY6OnBsYWNlaG9sZGVyIHtcbiAgICAgIGNvbG9yOiAke3Byb3BzLmlzSW52ZXJzZVxyXG4gICAgICAgID8gdHJhbnNwYXJlbnRpemUoMC44LCBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDEwMClcclxuICAgICAgICA6IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsNTAwfTtcbiAgICAgIG9wYWNpdHk6ICR7cHJvcHMuaXNJbnZlcnNlID8gMC40IDogMC42fTtcbiAgICB9XG4gIGB9XG5cbiAgJjotd2Via2l0LWF1dG9maWxsLFxuICAmOi13ZWJraXQtYXV0b2ZpbGw6Zm9jdXMsXG4gICY6LXdlYmtpdC1hdXRvZmlsbDpob3ZlcixcbiAgJjotd2Via2l0LWF1dG9maWxsOmFjdGl2ZSB7XG4gICAgYm94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xuICAgIC13ZWJraXQtYmFja2dyb3VuZC1jbGlwOiB0ZXh0O1xuICAgIC13ZWJraXQtdGV4dC1maWxsLWNvbG9yOiAke3Byb3BzLmlzSW52ZXJzZVxyXG4gICAgPyBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDEwMFxyXG4gICAgOiBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDcwMH0gIWltcG9ydGFudDtcbiAgICBjYXJldC1jb2xvcjogJHtwcm9wcy5pc0ludmVyc2VcclxuICAgID8gcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWwxMDBcclxuICAgIDogcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWw3MDB9ICFpbXBvcnRhbnQ7XG4gIH1cbmA7XHJcbmNvbnN0IElucHV0Q29udGFpbmVyID0gc3R5bGVkLmRpdiBgXG4gIGRpc3BsYXk6IGZsZXg7XG5gO1xyXG5leHBvcnQgY29uc3QgSW5wdXRXcmFwcGVyID0gc3R5bGVkLmRpdiBgXG4gICR7aW5wdXRXcmFwcGVyU3R5bGVzfVxuYDtcclxuY29uc3QgU3R5bGVkSW5wdXQgPSBzdHlsZWQuaW5wdXQgYFxuICAke2lucHV0QmFzZVN0eWxlc31cbmA7XHJcbmNvbnN0IEljb25XcmFwcGVyID0gc3R5bGVkLnNwYW4gYFxuICBib3R0b206ICR7cHJvcHMgPT4gKHByb3BzLmljb25Qb3NpdGlvbiA9PT0gJ3RvcCcgPyAnNDVweCcgOiAnaW5oZXJpdCcpfTtcbiAgY29sb3I6ICR7cHJvcHMgPT4gcHJvcHMuaXNJbnZlcnNlXHJcbiAgICA/IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsMTAwXHJcbiAgICA6IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsNzAwfTtcbiAgbGVmdDogJHtwcm9wcyA9PiBwcm9wcy5pY29uUG9zaXRpb24gPT09ICdsZWZ0JyA/IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzAzIDogJ2F1dG8nfTtcbiAgcmlnaHQ6ICR7cHJvcHMgPT4gcHJvcHMuaWNvblBvc2l0aW9uID09PSAncmlnaHQnXHJcbiAgICA/IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzAzXHJcbiAgICA6IHByb3BzLmljb25Qb3NpdGlvbiA9PT0gJ3RvcCdcclxuICAgICAgICA/ICczcHgnXHJcbiAgICAgICAgOiAnYXV0byd9O1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogJHtwcm9wcyA9PiBwcm9wcy5pY29uUG9zaXRpb24gPT09ICd0b3AnXHJcbiAgICA/ICdpbmhlcml0J1xyXG4gICAgOiBwcm9wcyA9PiBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwM307XG5cbiAgJHtwcm9wcyA9PiBwcm9wcy5pbnB1dFNpemUgPT09ICdsYXJnZScgJiZcclxuICAgIGNzcyBgXG4gICAgICBib3R0b206ICR7cHJvcHMuaWNvblBvc2l0aW9uID09PSAndG9wJyA/ICc2MnB4JyA6ICdpbmhlcml0J307XG4gICAgICBsZWZ0OiAke3Byb3BzLmljb25Qb3NpdGlvbiA9PT0gJ2xlZnQnXHJcbiAgICAgICAgPyBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwNFxyXG4gICAgICAgIDogJ2F1dG8nfTtcbiAgICAgIHJpZ2h0OiAke3Byb3BzLmljb25Qb3NpdGlvbiA9PT0gJ3JpZ2h0J1xyXG4gICAgICAgID8gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDRcclxuICAgICAgICA6IHByb3BzLmljb25Qb3NpdGlvbiA9PT0gJ3RvcCdcclxuICAgICAgICAgICAgPyAnM3B4J1xyXG4gICAgICAgICAgICA6ICdhdXRvJ307XG4gICAgICB0b3A6ICR7cHJvcHMuaWNvblBvc2l0aW9uID09PSAndG9wJ1xyXG4gICAgICAgID8gJ2luaGVyaXQnXHJcbiAgICAgICAgOiBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwNH07XG4gICAgYH1cbmA7XHJcbmZ1bmN0aW9uIGdldEljb25CdXR0b25TVkdTaXplKHByb3BzKSB7XHJcbiAgICBjb25zdCB7IGlzQ2xpY2thYmxlLCBpY29uUG9zaXRpb24sIGlucHV0U2l6ZSwgdGhlbWUgfSA9IHByb3BzO1xyXG4gICAgaWYgKGlzQ2xpY2thYmxlICYmIGljb25Qb3NpdGlvbiA9PT0gSW5wdXRJY29uUG9zaXRpb24udG9wKSB7XHJcbiAgICAgICAgaWYgKGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlKSB7XHJcbiAgICAgICAgICAgIHJldHVybiBgJHt0aGVtZS5pY29uU2l6ZXMubWVkaXVtfXB4YDtcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIGAke3RoZW1lLmljb25TaXplcy5zbWFsbH1weGA7XHJcbiAgICB9XHJcbiAgICBpZiAoaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2UpIHtcclxuICAgICAgICByZXR1cm4gYCR7dGhlbWUuaWNvblNpemVzLmxhcmdlfXB4YDtcclxuICAgIH1cclxuICAgIHJldHVybiBgJHt0aGVtZS5pY29uU2l6ZXMubWVkaXVtfXB4YDtcclxufVxyXG5mdW5jdGlvbiBnZXRIZWxwTGlua1NWR1NpemUocHJvcHMpIHtcclxuICAgIGNvbnN0IHsgaW5wdXRTaXplLCB0aGVtZSB9ID0gcHJvcHM7XHJcbiAgICBpZiAoaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2UpIHtcclxuICAgICAgICByZXR1cm4gYCR7dGhlbWUuaWNvblNpemVzLm1lZGl1bX1weGA7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gYCR7dGhlbWUuaWNvblNpemVzLnNtYWxsfXB4YDtcclxufVxyXG5leHBvcnQgZnVuY3Rpb24gZ2V0SGVscEljb25CdXR0b25TaXplKHByb3BzKSB7XHJcbiAgICBjb25zdCB7IGlucHV0U2l6ZSwgdGhlbWUgfSA9IHByb3BzO1xyXG4gICAgaWYgKGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlKSB7XHJcbiAgICAgICAgcmV0dXJuIHRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzA5O1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIHRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzA3O1xyXG59XHJcbmZ1bmN0aW9uIGdldEljb25CdXR0b25UcmFuc2Zvcm0ocHJvcHMpIHtcclxuICAgIGNvbnN0IHsgaXNDbGlja2FibGUsIGljb25Qb3NpdGlvbiwgaW5wdXRTaXplLCBoYXNDaGlsZHJlbiwgdGhlbWUgfSA9IHByb3BzO1xyXG4gICAgY29uc3QgcG9zaXRpb24gPSB7IHg6ICcnLCB5OiAnJyB9O1xyXG4gICAgaWYgKGljb25Qb3NpdGlvbiA9PT0gSW5wdXRJY29uUG9zaXRpb24udG9wKSB7XHJcbiAgICAgICAgaWYgKGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlKSB7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uLnggPSAnLTMwcHgnO1xyXG4gICAgICAgICAgICBwb3NpdGlvbi55ID0gJzJweCc7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2UgaWYgKGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLm1lZGl1bSkge1xyXG4gICAgICAgICAgICBwb3NpdGlvbi54ID0gJy0yOHB4JztcclxuICAgICAgICAgICAgcG9zaXRpb24ueSA9ICc1cHgnO1xyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gcG9zaXRpb247XHJcbiAgICB9XHJcbiAgICBpZiAoaXNDbGlja2FibGUpIHtcclxuICAgICAgICBpZiAoaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2UpIHtcclxuICAgICAgICAgICAgaWYgKGhhc0NoaWxkcmVuKSB7XHJcbiAgICAgICAgICAgICAgICBwb3NpdGlvbi54ID0gJy00M3B4JztcclxuICAgICAgICAgICAgICAgIHBvc2l0aW9uLnkgPSAnMTRweCc7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICAgICAgICBwb3NpdGlvbi54ID0gJy00OXB4JztcclxuICAgICAgICAgICAgICAgIHBvc2l0aW9uLnkgPSAnOHB4JztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBlbHNlIGlmIChpbnB1dFNpemUgPT09IElucHV0U2l6ZS5tZWRpdW0pIHtcclxuICAgICAgICAgICAgcG9zaXRpb24ueCA9ICctMzVweCc7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uLnkgPSAnNnB4JztcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIHBvc2l0aW9uO1xyXG4gICAgfVxyXG4gICAgaWYgKGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlKSB7XHJcbiAgICAgICAgcG9zaXRpb24ueCA9IGAtJHt0aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcxMH1gO1xyXG4gICAgICAgIHBvc2l0aW9uLnkgPSB0aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwMztcclxuICAgIH1cclxuICAgIGVsc2UgaWYgKGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLm1lZGl1bSkge1xyXG4gICAgICAgIHBvc2l0aW9uLnggPSAnLTI0cHgnO1xyXG4gICAgICAgIHBvc2l0aW9uLnkgPSAnN3B4JztcclxuICAgIH1cclxuICAgIHJldHVybiBwb3NpdGlvbjtcclxufVxyXG5leHBvcnQgY29uc3QgSWNvbkJ1dHRvbkNvbnRhaW5lciA9IHN0eWxlZC5zcGFuIGBcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGJvdHRvbTogJHtwcm9wcyA9PiAocHJvcHMuaWNvblBvc2l0aW9uID09PSAndG9wJyA/ICc0MHB4JyA6ICdpbmhlcml0Jyl9O1xuICBoZWlnaHQ6IGF1dG87XG4gIG1hcmdpbjogMDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aWR0aDogMDtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoXG4gICAgJHtwcm9wcyA9PiBnZXRJY29uQnV0dG9uVHJhbnNmb3JtKHByb3BzKS54fSxcbiAgICAke3Byb3BzID0+IGdldEljb25CdXR0b25UcmFuc2Zvcm0ocHJvcHMpLnl9XG4gICk7XG4gIHN2ZyB7XG4gICAgaGVpZ2h0OiAke3Byb3BzID0+IGdldEljb25CdXR0b25TVkdTaXplKHByb3BzKX07XG4gICAgd2lkdGg6ICR7cHJvcHMgPT4gZ2V0SWNvbkJ1dHRvblNWR1NpemUocHJvcHMpfTtcbiAgfVxuYDtcclxuY29uc3QgUGFzc3dvcmRCdXR0b25Db250YWluZXIgPSBzdHlsZWQuc3BhbiBgXG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICB3aWR0aDogMDtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoXG4gICAgJHtwcm9wcyA9PiBwcm9wcy5zaXplID09PSBJbnB1dFNpemUubGFyZ2VcclxuICAgID8gYCR7LXByb3BzLmJ1dHRvbldpZHRoIC0gOH1weGBcclxuICAgIDogYCR7LXByb3BzLmJ1dHRvbldpZHRoIC0gNn1weGB9LFxuICAgICR7cHJvcHMgPT4gcHJvcHMuc2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlID8gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDMgOiAnNnB4J31cbiAgKTtcbmA7XHJcbmZ1bmN0aW9uIGdldENsZWFyYWJsZVBvc2l0aW9uKHByb3BzKSB7XHJcbiAgICBpZiAocHJvcHMuaWNvblBvc2l0aW9uID09PSAncmlnaHQnICYmIHByb3BzLmljb24pIHtcclxuICAgICAgICBpZiAocHJvcHMuaW5wdXRTaXplID09PSAnbGFyZ2UnKSB7XHJcbiAgICAgICAgICAgIHJldHVybiBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcxMztcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuICc3MnB4JztcclxuICAgIH1cclxuICAgIGlmIChwcm9wcy5pbnB1dFNpemUgPT09ICdsYXJnZScpIHtcclxuICAgICAgICByZXR1cm4gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMTA7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gJzM0cHgnO1xyXG59XHJcbmNvbnN0IElzQ2xlYXJhYmxlQ29udGFpbmVyID0gc3R5bGVkLnNwYW4gYFxuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgbWFyZ2luOiAwO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGhlaWdodDogYXV0bztcbiAgd2lkdGg6IDA7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKFxuICAgIC0ke3Byb3BzID0+IGdldENsZWFyYWJsZVBvc2l0aW9uKHByb3BzKX0sXG4gICAgJHtwcm9wcyA9PiBwcm9wcy5pbnB1dFNpemUgPT09IElucHV0U2l6ZS5sYXJnZVxyXG4gICAgPyBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwM1xyXG4gICAgOiAnNnB4J31cbiAgKTtcbmA7XHJcbmZ1bmN0aW9uIGdldEljb25TaXplKHNpemUsIHRoZW1lLCBpY29uUG9zaXRpb24pIHtcclxuICAgIHN3aXRjaCAoc2l6ZSkge1xyXG4gICAgICAgIGNhc2UgJ2xhcmdlJzpcclxuICAgICAgICAgICAgaWYgKGljb25Qb3NpdGlvbiA9PT0gSW5wdXRJY29uUG9zaXRpb24udG9wKSB7XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gdGhlbWUuaWNvblNpemVzLm1lZGl1bTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICByZXR1cm4gdGhlbWUuaWNvblNpemVzLmxhcmdlO1xyXG4gICAgICAgIGRlZmF1bHQ6XHJcbiAgICAgICAgICAgIGlmIChpY29uUG9zaXRpb24gPT09IElucHV0SWNvblBvc2l0aW9uLnRvcCkge1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuIHRoZW1lLmljb25TaXplcy5zbWFsbDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICByZXR1cm4gdGhlbWUuaWNvblNpemVzLm1lZGl1bTtcclxuICAgIH1cclxufVxyXG5leHBvcnQgY29uc3QgaXNMZWZ0T3JIaWRkZW4gPSAoeyBsYWJlbFBvc2l0aW9uLCBpc0xhYmVsVmlzdWFsbHlIaWRkZW4sIH0pID0+IGxhYmVsUG9zaXRpb24gPT09IExhYmVsUG9zaXRpb24ubGVmdCB8fCBpc0xhYmVsVmlzdWFsbHlIaWRkZW47XHJcbmV4cG9ydCBjb25zdCBIZWxwTGlua0NvbnRhaW5lciA9IHN0eWxlZC5zcGFuIGBcbiAgcG9zaXRpb246ICR7cHJvcHMgPT4gKGlzTGVmdE9ySGlkZGVuKHByb3BzKSA/ICdyZWxhdGl2ZScgOiAnYWJzb2x1dGUnKX07XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXG4gIGhlaWdodDogJHtwcm9wcyA9PiAoaXNMZWZ0T3JIaWRkZW4ocHJvcHMpID8gJ2F1dG8nIDogJ2ZpdC1jb250ZW50Jyl9O1xuICBtYXJnaW4taW5saW5lLXN0YXJ0OiAke3Byb3BzID0+IGlzTGVmdE9ySGlkZGVuKHByb3BzKSA/IGAke3Byb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzAzfWAgOiAnYXV0byd9O1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoXG4gICAgJHtwcm9wcyA9PiBpc0xlZnRPckhpZGRlbihwcm9wcylcclxuICAgID8gJzAnXHJcbiAgICA6IGBjYWxjKC0xMDAlIC0gJHtwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwM30pYH1cbiAgKTtcbiAgJHtDaGlsZHJlbldyYXBwZXJ9ID4gc3ZnIHtcbiAgICBoZWlnaHQ6ICR7cHJvcHMgPT4gZ2V0SGVscExpbmtTVkdTaXplKHByb3BzKX07XG4gICAgd2lkdGg6ICR7cHJvcHMgPT4gZ2V0SGVscExpbmtTVkdTaXplKHByb3BzKX07XG4gIH1cbiAgYnV0dG9uIHtcbiAgICBoZWlnaHQ6ICR7cHJvcHMgPT4gZ2V0SGVscEljb25CdXR0b25TaXplKHByb3BzKX07XG4gICAgd2lkdGg6ICR7cHJvcHMgPT4gZ2V0SGVscEljb25CdXR0b25TaXplKHByb3BzKX07XG4gIH1cbiAgaW5zZXQtaW5saW5lLWVuZDogJHtwcm9wcyA9PiAoaXNMZWZ0T3JIaWRkZW4ocHJvcHMpID8gJ2F1dG8nIDogJzAnKX07XG5gO1xyXG5leHBvcnQgY29uc3QgSW5wdXRCYXNlID0gUmVhY3QuZm9yd2FyZFJlZigocHJvcHMsIGZvcndhcmRlZFJlZikgPT4ge1xyXG4gICAgY29uc3QgeyBjaGlsZHJlbiwgY29udGFpbmVyU3R5bGUsIGRlZmF1bHRWYWx1ZSwgZGlzYWJsZWQsIGhhc0NoYXJhY3RlckNvdW50ZXIsIGhhc0Vycm9yLCBpY29uLCBpY29uQXJpYUxhYmVsLCBpY29uUmVmLCBpc0NsZWFyYWJsZSwgaXNQYXNzd29yZElucHV0LCBpc1ByZWRpY3RpdmUsIG1heENvdW50LCBtYXhMZW5ndGgsIG9uQ2xlYXIsIG9uSWNvbkNsaWNrLCBvbkljb25LZXlEb3duLCBvbkRhdGVDaGFuZ2UsIGlucHV0TGVuZ3RoLCBpbnB1dFNpemUsIGlucHV0U3R5bGUsIGlucHV0V3JhcHBlclN0eWxlLCB0ZXN0SWQsIHR5cGUsIHNldFJlZmVyZW5jZSwgaXNMYWJlbFZpc3VhbGx5SGlkZGVuLCBsYWJlbFBvc2l0aW9uLCAuLi5vdGhlciB9ID0gcHJvcHM7XHJcbiAgICBjb25zdCBpMThuID0gUmVhY3QudXNlQ29udGV4dChJMThuQ29udGV4dCk7XHJcbiAgICBjb25zdCB0aGVtZSA9IFJlYWN0LnVzZUNvbnRleHQoVGhlbWVDb250ZXh0KTtcclxuICAgIGNvbnN0IGljb25Qb3NpdGlvbiA9IGljb24gJiYgb25JY29uQ2xpY2tcclxuICAgICAgICA/IElucHV0SWNvblBvc2l0aW9uLnJpZ2h0XHJcbiAgICAgICAgOiBpY29uICYmICFwcm9wcy5pY29uUG9zaXRpb25cclxuICAgICAgICAgICAgPyBJbnB1dEljb25Qb3NpdGlvbi5sZWZ0XHJcbiAgICAgICAgICAgIDogcHJvcHMuaWNvblBvc2l0aW9uO1xyXG4gICAgY29uc3QgW3ZhbHVlLCBzZXRWYWx1ZV0gPSBSZWFjdC51c2VTdGF0ZShwcm9wcy5kZWZhdWx0VmFsdWUgIT09IHVuZGVmaW5lZCAmJiBwcm9wcy5kZWZhdWx0VmFsdWUgIT09IG51bGxcclxuICAgICAgICA/IHByb3BzLmRlZmF1bHRWYWx1ZVxyXG4gICAgICAgIDogcHJvcHMudmFsdWUgfHwgJycpO1xyXG4gICAgY29uc3QgbWF4TGVuZ3RoTnVtID0gIWhhc0NoYXJhY3RlckNvdW50ZXIgJiYgbWF4TGVuZ3RoID8gbWF4TGVuZ3RoIDogdW5kZWZpbmVkO1xyXG4gICAgUmVhY3QudXNlRWZmZWN0KCgpID0+IHtcclxuICAgICAgICBpZiAocHJvcHMudmFsdWUgIT09IHVuZGVmaW5lZCAmJiBwcm9wcy52YWx1ZSAhPT0gbnVsbCkge1xyXG4gICAgICAgICAgICBzZXRWYWx1ZShwcm9wcy52YWx1ZSk7XHJcbiAgICAgICAgfVxyXG4gICAgfSwgW3Byb3BzLnZhbHVlXSk7XHJcbiAgICBjb25zdCBpbnB1dFJlZiA9IFJlYWN0LnVzZVJlZigpO1xyXG4gICAgY29uc3QgcmVmID0gdXNlRm9ya2VkUmVmKGZvcndhcmRlZFJlZiwgaW5wdXRSZWYpO1xyXG4gICAgZnVuY3Rpb24gaGFuZGxlQ2xlYXJJbnB1dCgpIHtcclxuICAgICAgICBvbkNsZWFyICYmIHR5cGVvZiBvbkNsZWFyID09PSAnZnVuY3Rpb24nICYmIG9uQ2xlYXIoKTtcclxuICAgICAgICBzZXRWYWx1ZSgnJyk7XHJcbiAgICAgICAgb25EYXRlQ2hhbmdlICYmIHR5cGVvZiBvbkRhdGVDaGFuZ2UgPT09ICdmdW5jdGlvbicgJiYgb25EYXRlQ2hhbmdlKG51bGwpO1xyXG4gICAgICAgIGlucHV0UmVmLmN1cnJlbnQuZm9jdXMoKTtcclxuICAgIH1cclxuICAgIGZ1bmN0aW9uIGhhbmRsZUNoYW5nZShldmVudCkge1xyXG4gICAgICAgIHByb3BzLm9uQ2hhbmdlICYmXHJcbiAgICAgICAgICAgIHR5cGVvZiBwcm9wcy5vbkNoYW5nZSA9PT0gJ2Z1bmN0aW9uJyAmJlxyXG4gICAgICAgICAgICBwcm9wcy5vbkNoYW5nZShldmVudCk7XHJcbiAgICAgICAgc2V0VmFsdWUoZXZlbnQudGFyZ2V0LnZhbHVlKTtcclxuICAgICAgICBpZiAoIWV2ZW50LnRhcmdldC52YWx1ZSAmJlxyXG4gICAgICAgICAgICBvbkRhdGVDaGFuZ2UgJiZcclxuICAgICAgICAgICAgdHlwZW9mIG9uRGF0ZUNoYW5nZSA9PT0gJ2Z1bmN0aW9uJylcclxuICAgICAgICAgICAgb25EYXRlQ2hhbmdlKG51bGwpO1xyXG4gICAgfVxyXG4gICAgY29uc3QgcGFzc3dvcmRCdG5XaWR0aCA9ICgpID0+IHtcclxuICAgICAgICBjb25zdCBidG5XaWR0aCA9IGNoaWxkcmVuPy5wcm9wcz8uY2hpbGRyZW4/LlswXT8ucmVmPy5jdXJyZW50Py5vZmZzZXRXaWR0aDtcclxuICAgICAgICBpZiAodHlwZW9mIGJ0bldpZHRoID09PSAnbnVtYmVyJykge1xyXG4gICAgICAgICAgICByZXR1cm4gYnRuV2lkdGg7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgICAvLyBXaGVuIFBhc3N3b3JkQnV0dG9uIGlzIHVzZWQgaW5zaWRlIFNjaGVtYVJlbmRlcmVyLCBpdCBkb2Vzbid0IGhhdmUgY2hpbGRyZW4uXHJcbiAgICAgICAgICAgIC8vIFdlJ2xsIHVzZSB0aGUgZGVmYXVsdCBidXR0b24gc2l6ZXMuXHJcbiAgICAgICAgICAgIGlmIChwcm9wcy5pbnB1dFNpemUgPT09IElucHV0U2l6ZS5sYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuIDY0O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHJldHVybiA1NDtcclxuICAgICAgICB9XHJcbiAgICB9O1xyXG4gICAgcmV0dXJuIChSZWFjdC5jcmVhdGVFbGVtZW50KFwiZGl2XCIsIHsgcmVmOiBzZXRSZWZlcmVuY2UgfSxcclxuICAgICAgICBSZWFjdC5jcmVhdGVFbGVtZW50KElucHV0Q29udGFpbmVyLCB7IHN0eWxlOiBpbnB1dFdyYXBwZXJTdHlsZSwgXCJkYXRhLXRlc3RpZFwiOiBgJHt0ZXN0SWR9LXdyYXBwZXJgIH0sXHJcbiAgICAgICAgICAgIFJlYWN0LmNyZWF0ZUVsZW1lbnQoSW5wdXRXcmFwcGVyLCB7IGRpc2FibGVkOiBkaXNhYmxlZCwgaWNvblBvc2l0aW9uOiBpY29uUG9zaXRpb24sIGlzSW52ZXJzZTogcHJvcHMuaXNJbnZlcnNlLCBpbnB1dFNpemU6IGlucHV0U2l6ZSA/PyBJbnB1dFNpemUubWVkaXVtLCB0aGVtZTogdGhlbWUsIHN0eWxlOiBjb250YWluZXJTdHlsZSwgaGFzRXJyb3I6IGhhc0Vycm9yLCBpc0NsZWFyYWJsZTogaXNDbGVhcmFibGUsIHdpZHRoOiBwcm9wcy53aWR0aCB9LFxyXG4gICAgICAgICAgICAgICAgUmVhY3QuY3JlYXRlRWxlbWVudChTdHlsZWRJbnB1dCwgT2JqZWN0LmFzc2lnbih7fSwgb3RoZXIsIHsgXCJhcmlhLWludmFsaWRcIjogaGFzRXJyb3IsIGRpc2FibGVkOiBkaXNhYmxlZCwgXCJkYXRhLXRlc3RpZFwiOiB0ZXN0SWQsIGhhc0NoYXJhY3RlckNvdW50ZXI6IGhhc0NoYXJhY3RlckNvdW50ZXIsIGljb25Qb3NpdGlvbjogaWNvblBvc2l0aW9uLCBpbnB1dFNpemU6IGlucHV0U2l6ZSA/PyBJbnB1dFNpemUubWVkaXVtLCBpc0NsZWFyYWJsZTogdHlwZSA9PT0gSW5wdXRUeXBlLnNlYXJjaFxyXG4gICAgICAgICAgICAgICAgICAgICAgICA/IGlzQ2xlYXJhYmxlXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDogaW5wdXRXcmFwcGVyU3R5bGU/LndpZHRoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA/IGlzQ2xlYXJhYmxlXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IGlzQ2xlYXJhYmxlICYmIGlucHV0TGVuZ3RoID4gMCwgaXNJbnZlcnNlOiB1c2VJc0ludmVyc2UocHJvcHMuaXNJbnZlcnNlKSwgaXNQcmVkaWN0aXZlOiBpc1ByZWRpY3RpdmUsIGhhc0Vycm9yOiBoYXNFcnJvciwgcmVmOiByZWYsIG1heExlbmd0aDogbWF4TGVuZ3RoTnVtLCBvbkNoYW5nZTogaGFuZGxlQ2hhbmdlLCBzdHlsZTogaW5wdXRTdHlsZSwgdGhlbWU6IHRoZW1lLCB0eXBlOiB0eXBlID8gdHlwZSA6IElucHV0VHlwZS50ZXh0LCB2YWx1ZTogdmFsdWUgfSkpLFxyXG4gICAgICAgICAgICAgICAgaWNvbiAmJiAhb25JY29uQ2xpY2sgJiYgKFJlYWN0LmNyZWF0ZUVsZW1lbnQoSWNvbldyYXBwZXIsIHsgXCJhcmlhLWxhYmVsXCI6IGljb25BcmlhTGFiZWwsIGljb25Qb3NpdGlvbjogaWNvblBvc2l0aW9uLCBpbnB1dFNpemU6IGlucHV0U2l6ZSA/PyBJbnB1dFNpemUubWVkaXVtLCBpc0ludmVyc2U6IHByb3BzLmlzSW52ZXJzZSwgaXNQcmVkaWN0aXZlOiBpc1ByZWRpY3RpdmUsIHRoZW1lOiB0aGVtZSwgZGlzYWJsZWQ6IGRpc2FibGVkIH0sIFJlYWN0LkNoaWxkcmVuLm9ubHkoUmVhY3QuY2xvbmVFbGVtZW50KGljb24sIHtcclxuICAgICAgICAgICAgICAgICAgICBzaXplOiBnZXRJY29uU2l6ZShpbnB1dFNpemUgPz8gSW5wdXRTaXplLm1lZGl1bSwgdGhlbWUsIGljb25Qb3NpdGlvbiksXHJcbiAgICAgICAgICAgICAgICB9KSkpKSksXHJcbiAgICAgICAgICAgIGlzQ2xlYXJhYmxlICYmIHZhbHVlICE9PSAnJyAmJiAoUmVhY3QuY3JlYXRlRWxlbWVudChJc0NsZWFyYWJsZUNvbnRhaW5lciwgeyB0aGVtZTogdGhlbWUsIGljb25Qb3NpdGlvbjogaWNvblBvc2l0aW9uLCBpbnB1dFNpemU6IGlucHV0U2l6ZSwgaWNvbjogaWNvbiB9LFxyXG4gICAgICAgICAgICAgICAgUmVhY3QuY3JlYXRlRWxlbWVudChJY29uQnV0dG9uLCB7IFwiYXJpYS1sYWJlbFwiOiBpMThuLmlucHV0LmlzQ2xlYXJhYmxlQXJpYUxhYmVsLCBkaXNhYmxlZDogZGlzYWJsZWQsIGljb246IFJlYWN0LmNyZWF0ZUVsZW1lbnQoQ2xlYXJJY29uLCBudWxsKSwgaXNJbnZlcnNlOiBwcm9wcy5pc0ludmVyc2UsIG9uQ2xpY2s6IGhhbmRsZUNsZWFySW5wdXQsIG9uS2V5RG93bjogb25JY29uS2V5RG93biwgcmVmOiBpY29uUmVmLCBzaGFwZTogQnV0dG9uU2hhcGUuZmlsbCwgc2l6ZTogaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2VcclxuICAgICAgICAgICAgICAgICAgICAgICAgPyBCdXR0b25TaXplLm1lZGl1bVxyXG4gICAgICAgICAgICAgICAgICAgICAgICA6IEJ1dHRvblNpemUuc21hbGwsIHRlc3RJZDogXCJjbGVhci1idXR0b25cIiwgdHlwZTogQnV0dG9uVHlwZS5idXR0b24sIHZhcmlhbnQ6IEJ1dHRvblZhcmlhbnQubGluayB9KSkpLFxyXG4gICAgICAgICAgICBvbkljb25DbGljayAmJiAoUmVhY3QuY3JlYXRlRWxlbWVudChJY29uQnV0dG9uQ29udGFpbmVyLCB7IGljb25Qb3NpdGlvbjogaWNvblBvc2l0aW9uLCBpbnB1dFNpemU6IGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlXHJcbiAgICAgICAgICAgICAgICAgICAgPyBJbnB1dFNpemUubGFyZ2VcclxuICAgICAgICAgICAgICAgICAgICA6IElucHV0U2l6ZS5tZWRpdW0sIHRoZW1lOiB0aGVtZSwgaXNDbGlja2FibGU6IHRydWUgfSxcclxuICAgICAgICAgICAgICAgIFJlYWN0LmNyZWF0ZUVsZW1lbnQoSWNvbkJ1dHRvbiwgeyBcImFyaWEtbGFiZWxcIjogaWNvbkFyaWFMYWJlbCwgaWNvbjogaWNvbiwgaXNJbnZlcnNlOiBwcm9wcy5pc0ludmVyc2UsIG9uQ2xpY2s6IG9uSWNvbkNsaWNrLCBvbktleURvd246IG9uSWNvbktleURvd24sIHJlZjogaWNvblJlZiwgZGlzYWJsZWQ6IGRpc2FibGVkLCBzaGFwZTogQnV0dG9uU2hhcGUuZmlsbCwgc2l6ZTogaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2VcclxuICAgICAgICAgICAgICAgICAgICAgICAgPyBCdXR0b25TaXplLm1lZGl1bVxyXG4gICAgICAgICAgICAgICAgICAgICAgICA6IEJ1dHRvblNpemUuc21hbGwsIHR5cGU6IEJ1dHRvblR5cGUuYnV0dG9uLCB2YXJpYW50OiBCdXR0b25WYXJpYW50LmxpbmsgfSkpKSxcclxuICAgICAgICAgICAgaXNQYXNzd29yZElucHV0ID8gKFJlYWN0LmNyZWF0ZUVsZW1lbnQoUGFzc3dvcmRCdXR0b25Db250YWluZXIsIHsgc2l6ZTogaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2VcclxuICAgICAgICAgICAgICAgICAgICA/IElucHV0U2l6ZS5sYXJnZVxyXG4gICAgICAgICAgICAgICAgICAgIDogSW5wdXRTaXplLm1lZGl1bSwgdGhlbWU6IHRoZW1lLCBidXR0b25XaWR0aDogcGFzc3dvcmRCdG5XaWR0aCgpIH0sIGNoaWxkcmVuKSkgOiAoUmVhY3QuY3JlYXRlRWxlbWVudChIZWxwTGlua0NvbnRhaW5lciwgeyBpc0xhYmVsVmlzdWFsbHlIaWRkZW46IGlzTGFiZWxWaXN1YWxseUhpZGRlbiB8fCBmYWxzZSwgaW5wdXRTaXplOiBpbnB1dFNpemUgPz8gSW5wdXRTaXplLm1lZGl1bSwgbGFiZWxQb3NpdGlvbjogbGFiZWxQb3NpdGlvbiA/PyBMYWJlbFBvc2l0aW9uLnRvcCwgdGhlbWU6IHRoZW1lIH0sIGNoaWxkcmVuKSkpKSk7XHJcbn0pO1xyXG4vLyMgc291cmNlTWFwcGluZ1VSTD1pbmRleC5qcy5tYXAiXX0= */"));
|
|
5058
|
+
}, "\n );" + (process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImluZGV4LnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUE4VTRDIiwiZmlsZSI6ImluZGV4LnRzeCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIFJlYWN0IGZyb20gJ3JlYWN0JztcclxuaW1wb3J0IHsgY3NzIH0gZnJvbSAnQGVtb3Rpb24vcmVhY3QnO1xyXG5pbXBvcnQgc3R5bGVkIGZyb20gJ0BlbW90aW9uL3N0eWxlZCc7XHJcbmltcG9ydCB7IHRyYW5zcGFyZW50aXplIH0gZnJvbSAncG9saXNoZWQnO1xyXG5pbXBvcnQgeyBDbGVhckljb24gfSBmcm9tICdyZWFjdC1tYWdtYS1pY29ucyc7XHJcbmltcG9ydCB7IEkxOG5Db250ZXh0IH0gZnJvbSAnLi4vLi4vaTE4bic7XHJcbmltcG9ydCB7IHVzZUlzSW52ZXJzZSB9IGZyb20gJy4uLy4uL2ludmVyc2UnO1xyXG5pbXBvcnQgeyBUaGVtZUNvbnRleHQgfSBmcm9tICcuLi8uLi90aGVtZS9UaGVtZUNvbnRleHQnO1xyXG5pbXBvcnQgeyB1c2VGb3JrZWRSZWYgfSBmcm9tICcuLi8uLi91dGlscyc7XHJcbmltcG9ydCB7IEJ1dHRvblNoYXBlLCBCdXR0b25TaXplLCBCdXR0b25UeXBlLCBCdXR0b25WYXJpYW50IH0gZnJvbSAnLi4vQnV0dG9uJztcclxuaW1wb3J0IHsgSWNvbkJ1dHRvbiB9IGZyb20gJy4uL0ljb25CdXR0b24nO1xyXG5pbXBvcnQgeyBMYWJlbFBvc2l0aW9uIH0gZnJvbSAnLi4vTGFiZWwnO1xyXG5pbXBvcnQgeyBDaGlsZHJlbldyYXBwZXIgfSBmcm9tICcuLi9TdHlsZWRCdXR0b24nO1xyXG5leHBvcnQgdmFyIElucHV0U2l6ZTtcclxuKGZ1bmN0aW9uIChJbnB1dFNpemUpIHtcclxuICAgIElucHV0U2l6ZVtcImxhcmdlXCJdID0gXCJsYXJnZVwiO1xyXG4gICAgSW5wdXRTaXplW1wibWVkaXVtXCJdID0gXCJtZWRpdW1cIjtcclxufSkoSW5wdXRTaXplIHx8IChJbnB1dFNpemUgPSB7fSkpO1xyXG5leHBvcnQgdmFyIElucHV0VHlwZTtcclxuKGZ1bmN0aW9uIChJbnB1dFR5cGUpIHtcclxuICAgIElucHV0VHlwZVtcImVtYWlsXCJdID0gXCJlbWFpbFwiO1xyXG4gICAgSW5wdXRUeXBlW1wiZmlsZVwiXSA9IFwiZmlsZVwiO1xyXG4gICAgSW5wdXRUeXBlW1wibnVtYmVyXCJdID0gXCJudW1iZXJcIjtcclxuICAgIElucHV0VHlwZVtcInBhc3N3b3JkXCJdID0gXCJwYXNzd29yZFwiO1xyXG4gICAgSW5wdXRUeXBlW1wic2VhcmNoXCJdID0gXCJzZWFyY2hcIjtcclxuICAgIElucHV0VHlwZVtcInRleHRcIl0gPSBcInRleHRcIjtcclxuICAgIElucHV0VHlwZVtcInVybFwiXSA9IFwidXJsXCI7XHJcbiAgICBJbnB1dFR5cGVbXCJ0ZWxcIl0gPSBcInRlbFwiO1xyXG59KShJbnB1dFR5cGUgfHwgKElucHV0VHlwZSA9IHt9KSk7XHJcbmV4cG9ydCB2YXIgSW5wdXRJY29uUG9zaXRpb247XHJcbihmdW5jdGlvbiAoSW5wdXRJY29uUG9zaXRpb24pIHtcclxuICAgIElucHV0SWNvblBvc2l0aW9uW1widG9wXCJdID0gXCJ0b3BcIjtcclxuICAgIElucHV0SWNvblBvc2l0aW9uW1wibGVmdFwiXSA9IFwibGVmdFwiO1xyXG4gICAgSW5wdXRJY29uUG9zaXRpb25bXCJyaWdodFwiXSA9IFwicmlnaHRcIjtcclxufSkoSW5wdXRJY29uUG9zaXRpb24gfHwgKElucHV0SWNvblBvc2l0aW9uID0ge30pKTtcclxuZXhwb3J0IGNvbnN0IGlucHV0V3JhcHBlclN0eWxlcyA9IChwcm9wcykgPT4gY3NzIGBcbiAgZmxleDogMSAxIGF1dG87XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgd2lkdGg6ICR7cHJvcHMud2lkdGggfHwgJ2F1dG8nfTtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHtwcm9wcy5pc0ludmVyc2VcclxuICAgID8gdHJhbnNwYXJlbnRpemUoMC44LCBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDkwMClcclxuICAgIDogcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWwxMDB9O1xuICBib3JkZXItcmFkaXVzOiAke3Byb3BzLnRoZW1lLmJvcmRlclJhZGl1c307XG4gIGJvcmRlcjogMXB4IHNvbGlkXG4gICAgJHtwcm9wcy5pc0ludmVyc2VcclxuICAgID8gdHJhbnNwYXJlbnRpemUoMC41LCBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDEwMClcclxuICAgIDogcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWw1MDB9O1xuICBoZWlnaHQ6ICR7cHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDl9O1xuXG4gICY6Zm9jdXMtd2l0aGluIHtcbiAgICBvdXRsaW5lOiAycHggc29saWRcbiAgICAgICR7cHJvcHMuaXNJbnZlcnNlXHJcbiAgICA/IHByb3BzLnRoZW1lLmNvbG9ycy5mb2N1c0ludmVyc2VcclxuICAgIDogcHJvcHMudGhlbWUuY29sb3JzLmZvY3VzfTtcbiAgICBvdXRsaW5lLW9mZnNldDogLTFweDtcbiAgfVxuXG4gICR7cHJvcHMuaGFzRXJyb3IgJiZcclxuICAgIGNzcyBgXG4gICAgYm9yZGVyLWNvbG9yOiAke3Byb3BzLmlzSW52ZXJzZVxyXG4gICAgICAgID8gcHJvcHMudGhlbWUuY29sb3JzLmRhbmdlcjMwMFxyXG4gICAgICAgIDogcHJvcHMudGhlbWUuY29sb3JzLmRhbmdlcn07XG4gIGB9XG5cbiAgJHtwcm9wcy5kaXNhYmxlZCAmJlxyXG4gICAgY3NzIGBcbiAgICBib3JkZXItY29sb3I6ICR7cHJvcHMuaXNJbnZlcnNlXHJcbiAgICAgICAgPyB0cmFuc3BhcmVudGl6ZSgwLjg1LCBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDEwMClcclxuICAgICAgICA6IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsMzAwfTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAke3Byb3BzLmlzSW52ZXJzZVxyXG4gICAgICAgID8gdHJhbnNwYXJlbnRpemUoMC45LCBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDkwMClcclxuICAgICAgICA6IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsMjAwfTtcbiAgYH1cblxuICAke3Byb3BzLmlucHV0U2l6ZSA9PT0gJ2xhcmdlJyAmJlxyXG4gICAgY3NzIGBcbiAgICBoZWlnaHQ6ICR7cHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMTF9O1xuICBgfVxuYDtcclxuZnVuY3Rpb24gZ2V0SW5wdXRQYWRkaW5nKHByb3BzKSB7XHJcbiAgICBjb25zdCB7IGlucHV0U2l6ZSwgaXNDbGVhcmFibGUsIGljb25Qb3NpdGlvbiB9ID0gcHJvcHM7XHJcbiAgICBjb25zdCBwYWRkaW5nID0ge1xyXG4gICAgICAgIGxlZnQ6IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzAzLFxyXG4gICAgICAgIHJpZ2h0OiBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwMyxcclxuICAgIH07XHJcbiAgICBpZiAoaW5wdXRTaXplID09PSAnbGFyZ2UnKSB7XHJcbiAgICAgICAgaWYgKGlzQ2xlYXJhYmxlKSB7XHJcbiAgICAgICAgICAgIGlmIChpY29uUG9zaXRpb24gPT09ICdyaWdodCcpIHtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmcucmlnaHQgPSAnOTJweCc7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgZWxzZSBpZiAoaWNvblBvc2l0aW9uID09PSAnbGVmdCcpIHtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmcubGVmdCA9IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzExO1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy5yaWdodCA9IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzExO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgLy8gaWNvbiB0b3AsIG5vIGljb25cclxuICAgICAgICAgICAgICAgIHBhZGRpbmcucmlnaHQgPSBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcxMTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBlbHNlIHtcclxuICAgICAgICAgICAgaWYgKGljb25Qb3NpdGlvbiA9PT0gJ3JpZ2h0Jykge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy5yaWdodCA9IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzEwO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGlmIChpY29uUG9zaXRpb24gPT09ICdsZWZ0Jykge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy5sZWZ0ID0gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMTA7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICBlbHNlIGlmIChpbnB1dFNpemUgPT09ICdtZWRpdW0nKSB7XHJcbiAgICAgICAgaWYgKGlzQ2xlYXJhYmxlKSB7XHJcbiAgICAgICAgICAgIGlmIChpY29uUG9zaXRpb24gPT09ICdyaWdodCcpIHtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmcucmlnaHQgPSAnNjhweCc7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgZWxzZSBpZiAoaWNvblBvc2l0aW9uID09PSAnbGVmdCcpIHtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmcubGVmdCA9IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzA5O1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy5yaWdodCA9IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzA5O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgLy8gaWNvbiB0b3AsIG5vIGljb25cclxuICAgICAgICAgICAgICAgIHBhZGRpbmcucmlnaHQgPSBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwOTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBlbHNlIHtcclxuICAgICAgICAgICAgaWYgKGljb25Qb3NpdGlvbiA9PT0gJ3JpZ2h0Jykge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy5yaWdodCA9IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzA5O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGlmIChpY29uUG9zaXRpb24gPT09ICdsZWZ0Jykge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy5sZWZ0ID0gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICByZXR1cm4gcGFkZGluZztcclxufVxyXG5leHBvcnQgY29uc3QgaW5wdXRCYXNlU3R5bGVzID0gKHByb3BzKSA9PiBjc3MgYFxuICBib3JkZXI6IDA7XG4gIGJvcmRlci1yYWRpdXM6ICR7cHJvcHMudGhlbWUuYm9yZGVyUmFkaXVzfTtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIGNvbG9yOiAke3Byb3BzLmlzSW52ZXJzZVxyXG4gICAgPyBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDEwMFxyXG4gICAgOiBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDcwMH07XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBmb250LXNpemU6ICR7cHJvcHMudGhlbWUudHlwZVNjYWxlLnNpemUwMy5mb250U2l6ZX07XG4gIGxpbmUtaGVpZ2h0OiAke3Byb3BzLnRoZW1lLnR5cGVTY2FsZS5zaXplMDMubGluZUhlaWdodH07XG4gIGZvbnQtZmFtaWx5OiAke3Byb3BzLnRoZW1lLmJvZHlGb250fTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBwYWRkaW5nOiAke3Byb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzAzfTtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICB3aWR0aDogMTAwJTtcblxuICAke3Byb3BzLmlucHV0U2l6ZSA9PT0gJ2xhcmdlJyAmJlxyXG4gICAgY3NzIGBcbiAgICBmb250LXNpemU6ICR7cHJvcHMudGhlbWUudHlwZVNjYWxlLnNpemUwNC5mb250U2l6ZX07XG4gICAgbGluZS1oZWlnaHQ6ICR7cHJvcHMudGhlbWUudHlwZVNjYWxlLnNpemUwNC5saW5lSGVpZ2h0fTtcbiAgICBwYWRkaW5nOiAke3Byb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzA0fTtcbiAgYH1cblxuICBwYWRkaW5nLWxlZnQ6ICR7Z2V0SW5wdXRQYWRkaW5nKHByb3BzKS5sZWZ0fTtcbiAgcGFkZGluZy1yaWdodDogJHtnZXRJbnB1dFBhZGRpbmcocHJvcHMpLnJpZ2h0fTtcblxuICAmOjpwbGFjZWhvbGRlciB7XG4gICAgY29sb3I6ICR7cHJvcHMuaXNJbnZlcnNlXHJcbiAgICA/IHRyYW5zcGFyZW50aXplKDAuMywgcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWwxMDApXHJcbiAgICA6IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsNTAwfTtcbiAgfVxuXG4gICY6Zm9jdXMge1xuICAgIG91dGxpbmU6IDA7XG4gIH1cblxuICAmW3R5cGU9J3NlYXJjaCddIHtcbiAgICAmOjotd2Via2l0LXNlYXJjaC1kZWNvcmF0aW9uLFxuICAgICY6Oi13ZWJraXQtc2VhcmNoLWNhbmNlbC1idXR0b24sXG4gICAgJjo6LXdlYmtpdC1zZWFyY2gtcmVzdWx0cy1idXR0b24sXG4gICAgJjo6LXdlYmtpdC1zZWFyY2gtcmVzdWx0cy1kZWNvcmF0aW9uIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICB9XG5cbiAgJHtwcm9wcy5kaXNhYmxlZCAmJlxyXG4gICAgY3NzIGBcbiAgICBjb2xvcjogJHtwcm9wcy5pc0ludmVyc2VcclxuICAgICAgICA/IHRyYW5zcGFyZW50aXplKDAuNiwgcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWwxMDApXHJcbiAgICAgICAgOiB0cmFuc3BhcmVudGl6ZSgwLjQsIHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsNTAwKX07XG4gICAgY3Vyc29yOiBub3QtYWxsb3dlZDtcblxuICAgICY6OnBsYWNlaG9sZGVyIHtcbiAgICAgIGNvbG9yOiAke3Byb3BzLmlzSW52ZXJzZVxyXG4gICAgICAgID8gdHJhbnNwYXJlbnRpemUoMC44LCBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDEwMClcclxuICAgICAgICA6IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsNTAwfTtcbiAgICAgIG9wYWNpdHk6ICR7cHJvcHMuaXNJbnZlcnNlID8gMC40IDogMC42fTtcbiAgICB9XG4gIGB9XG5cbiAgJjotd2Via2l0LWF1dG9maWxsLFxuICAmOi13ZWJraXQtYXV0b2ZpbGw6Zm9jdXMsXG4gICY6LXdlYmtpdC1hdXRvZmlsbDpob3ZlcixcbiAgJjotd2Via2l0LWF1dG9maWxsOmFjdGl2ZSB7XG4gICAgYm94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xuICAgIC13ZWJraXQtYmFja2dyb3VuZC1jbGlwOiB0ZXh0O1xuICAgIC13ZWJraXQtdGV4dC1maWxsLWNvbG9yOiAke3Byb3BzLmlzSW52ZXJzZVxyXG4gICAgPyBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDEwMFxyXG4gICAgOiBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDcwMH0gIWltcG9ydGFudDtcbiAgICBjYXJldC1jb2xvcjogJHtwcm9wcy5pc0ludmVyc2VcclxuICAgID8gcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWwxMDBcclxuICAgIDogcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWw3MDB9ICFpbXBvcnRhbnQ7XG4gIH1cbmA7XHJcbmNvbnN0IElucHV0Q29udGFpbmVyID0gc3R5bGVkLmRpdiBgXG4gIGRpc3BsYXk6IGZsZXg7XG5gO1xyXG5leHBvcnQgY29uc3QgSW5wdXRXcmFwcGVyID0gc3R5bGVkLmRpdiBgXG4gICR7aW5wdXRXcmFwcGVyU3R5bGVzfVxuYDtcclxuY29uc3QgU3R5bGVkSW5wdXQgPSBzdHlsZWQuaW5wdXQgYFxuICAke2lucHV0QmFzZVN0eWxlc31cbmA7XHJcbmNvbnN0IEljb25XcmFwcGVyID0gc3R5bGVkLnNwYW4gYFxuICBib3R0b206ICR7cHJvcHMgPT4gKHByb3BzLmljb25Qb3NpdGlvbiA9PT0gJ3RvcCcgPyAnNDVweCcgOiAnaW5oZXJpdCcpfTtcbiAgY29sb3I6ICR7cHJvcHMgPT4gcHJvcHMuaXNJbnZlcnNlXHJcbiAgICA/IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsMTAwXHJcbiAgICA6IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsNzAwfTtcbiAgbGVmdDogJHtwcm9wcyA9PiBwcm9wcy5pY29uUG9zaXRpb24gPT09ICdsZWZ0JyA/IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzAzIDogJ2F1dG8nfTtcbiAgcmlnaHQ6ICR7cHJvcHMgPT4gcHJvcHMuaWNvblBvc2l0aW9uID09PSAncmlnaHQnXHJcbiAgICA/IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzAzXHJcbiAgICA6IHByb3BzLmljb25Qb3NpdGlvbiA9PT0gJ3RvcCdcclxuICAgICAgICA/ICczcHgnXHJcbiAgICAgICAgOiAnYXV0byd9O1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogJHtwcm9wcyA9PiBwcm9wcy5pY29uUG9zaXRpb24gPT09ICd0b3AnXHJcbiAgICA/ICdpbmhlcml0J1xyXG4gICAgOiBwcm9wcyA9PiBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwM307XG5cbiAgJHtwcm9wcyA9PiBwcm9wcy5pbnB1dFNpemUgPT09ICdsYXJnZScgJiZcclxuICAgIGNzcyBgXG4gICAgICBib3R0b206ICR7cHJvcHMuaWNvblBvc2l0aW9uID09PSAndG9wJyA/ICc2MnB4JyA6ICdpbmhlcml0J307XG4gICAgICBsZWZ0OiAke3Byb3BzLmljb25Qb3NpdGlvbiA9PT0gJ2xlZnQnXHJcbiAgICAgICAgPyBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwNFxyXG4gICAgICAgIDogJ2F1dG8nfTtcbiAgICAgIHJpZ2h0OiAke3Byb3BzLmljb25Qb3NpdGlvbiA9PT0gJ3JpZ2h0J1xyXG4gICAgICAgID8gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDRcclxuICAgICAgICA6IHByb3BzLmljb25Qb3NpdGlvbiA9PT0gJ3RvcCdcclxuICAgICAgICAgICAgPyAnM3B4J1xyXG4gICAgICAgICAgICA6ICdhdXRvJ307XG4gICAgICB0b3A6ICR7cHJvcHMuaWNvblBvc2l0aW9uID09PSAndG9wJ1xyXG4gICAgICAgID8gJ2luaGVyaXQnXHJcbiAgICAgICAgOiBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwNH07XG4gICAgYH1cbmA7XHJcbmZ1bmN0aW9uIGdldEljb25CdXR0b25TVkdTaXplKHByb3BzKSB7XHJcbiAgICBjb25zdCB7IGlzQ2xpY2thYmxlLCBpY29uUG9zaXRpb24sIGlucHV0U2l6ZSwgdGhlbWUgfSA9IHByb3BzO1xyXG4gICAgaWYgKGlzQ2xpY2thYmxlICYmIGljb25Qb3NpdGlvbiA9PT0gSW5wdXRJY29uUG9zaXRpb24udG9wKSB7XHJcbiAgICAgICAgaWYgKGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlKSB7XHJcbiAgICAgICAgICAgIHJldHVybiBgJHt0aGVtZS5pY29uU2l6ZXMubWVkaXVtfXB4YDtcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIGAke3RoZW1lLmljb25TaXplcy5zbWFsbH1weGA7XHJcbiAgICB9XHJcbiAgICBpZiAoaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2UpIHtcclxuICAgICAgICByZXR1cm4gYCR7dGhlbWUuaWNvblNpemVzLmxhcmdlfXB4YDtcclxuICAgIH1cclxuICAgIHJldHVybiBgJHt0aGVtZS5pY29uU2l6ZXMubWVkaXVtfXB4YDtcclxufVxyXG5mdW5jdGlvbiBnZXRIZWxwTGlua1NWR1NpemUocHJvcHMpIHtcclxuICAgIGNvbnN0IHsgaW5wdXRTaXplLCB0aGVtZSB9ID0gcHJvcHM7XHJcbiAgICBpZiAoaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2UpIHtcclxuICAgICAgICByZXR1cm4gYCR7dGhlbWUuaWNvblNpemVzLm1lZGl1bX1weGA7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gYCR7dGhlbWUuaWNvblNpemVzLnNtYWxsfXB4YDtcclxufVxyXG5leHBvcnQgZnVuY3Rpb24gZ2V0SGVscEljb25CdXR0b25TaXplKHByb3BzKSB7XHJcbiAgICBjb25zdCB7IGlucHV0U2l6ZSwgdGhlbWUgfSA9IHByb3BzO1xyXG4gICAgaWYgKGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlKSB7XHJcbiAgICAgICAgcmV0dXJuIHRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzA5O1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIHRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzA3O1xyXG59XHJcbmZ1bmN0aW9uIGdldEljb25CdXR0b25UcmFuc2Zvcm0ocHJvcHMpIHtcclxuICAgIGNvbnN0IHsgaXNDbGlja2FibGUsIGljb25Qb3NpdGlvbiwgaW5wdXRTaXplLCBoYXNDaGlsZHJlbiwgdGhlbWUgfSA9IHByb3BzO1xyXG4gICAgY29uc3QgcG9zaXRpb24gPSB7IHg6ICcnLCB5OiAnJyB9O1xyXG4gICAgaWYgKGljb25Qb3NpdGlvbiA9PT0gSW5wdXRJY29uUG9zaXRpb24udG9wKSB7XHJcbiAgICAgICAgaWYgKGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlKSB7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uLnggPSAnLTMwcHgnO1xyXG4gICAgICAgICAgICBwb3NpdGlvbi55ID0gJzJweCc7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2UgaWYgKGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLm1lZGl1bSkge1xyXG4gICAgICAgICAgICBwb3NpdGlvbi54ID0gJy0yOHB4JztcclxuICAgICAgICAgICAgcG9zaXRpb24ueSA9ICc1cHgnO1xyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gcG9zaXRpb247XHJcbiAgICB9XHJcbiAgICBpZiAoaXNDbGlja2FibGUpIHtcclxuICAgICAgICBpZiAoaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2UpIHtcclxuICAgICAgICAgICAgaWYgKGhhc0NoaWxkcmVuKSB7XHJcbiAgICAgICAgICAgICAgICBwb3NpdGlvbi54ID0gJy00M3B4JztcclxuICAgICAgICAgICAgICAgIHBvc2l0aW9uLnkgPSAnMTRweCc7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICAgICAgICBwb3NpdGlvbi54ID0gJy00OXB4JztcclxuICAgICAgICAgICAgICAgIHBvc2l0aW9uLnkgPSAnOHB4JztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBlbHNlIGlmIChpbnB1dFNpemUgPT09IElucHV0U2l6ZS5tZWRpdW0pIHtcclxuICAgICAgICAgICAgcG9zaXRpb24ueCA9ICctMzVweCc7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uLnkgPSAnNnB4JztcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIHBvc2l0aW9uO1xyXG4gICAgfVxyXG4gICAgaWYgKGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlKSB7XHJcbiAgICAgICAgcG9zaXRpb24ueCA9IGAtJHt0aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcxMH1gO1xyXG4gICAgICAgIHBvc2l0aW9uLnkgPSB0aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwMztcclxuICAgIH1cclxuICAgIGVsc2UgaWYgKGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLm1lZGl1bSkge1xyXG4gICAgICAgIHBvc2l0aW9uLnggPSAnLTI0cHgnO1xyXG4gICAgICAgIHBvc2l0aW9uLnkgPSAnN3B4JztcclxuICAgIH1cclxuICAgIHJldHVybiBwb3NpdGlvbjtcclxufVxyXG5leHBvcnQgY29uc3QgSWNvbkJ1dHRvbkNvbnRhaW5lciA9IHN0eWxlZC5zcGFuIGBcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGJvdHRvbTogJHtwcm9wcyA9PiAocHJvcHMuaWNvblBvc2l0aW9uID09PSAndG9wJyA/ICc0MHB4JyA6ICdpbmhlcml0Jyl9O1xuICBoZWlnaHQ6IGF1dG87XG4gIG1hcmdpbjogMDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aWR0aDogMDtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoXG4gICAgJHtwcm9wcyA9PiBnZXRJY29uQnV0dG9uVHJhbnNmb3JtKHByb3BzKS54fSxcbiAgICAke3Byb3BzID0+IGdldEljb25CdXR0b25UcmFuc2Zvcm0ocHJvcHMpLnl9XG4gICk7XG4gIHN2ZyB7XG4gICAgaGVpZ2h0OiAke3Byb3BzID0+IGdldEljb25CdXR0b25TVkdTaXplKHByb3BzKX07XG4gICAgd2lkdGg6ICR7cHJvcHMgPT4gZ2V0SWNvbkJ1dHRvblNWR1NpemUocHJvcHMpfTtcbiAgfVxuYDtcclxuY29uc3QgUGFzc3dvcmRCdXR0b25Db250YWluZXIgPSBzdHlsZWQuc3BhbiBgXG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICB3aWR0aDogMDtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoXG4gICAgJHtwcm9wcyA9PiBwcm9wcy5zaXplID09PSBJbnB1dFNpemUubGFyZ2VcclxuICAgID8gYCR7LXByb3BzLmJ1dHRvbldpZHRoIC0gOH1weGBcclxuICAgIDogYCR7LXByb3BzLmJ1dHRvbldpZHRoIC0gNn1weGB9LFxuICAgICR7cHJvcHMgPT4gcHJvcHMuc2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlID8gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDMgOiAnNnB4J31cbiAgKTtcbmA7XHJcbmZ1bmN0aW9uIGdldENsZWFyYWJsZVBvc2l0aW9uKHByb3BzKSB7XHJcbiAgICBpZiAocHJvcHMuaWNvblBvc2l0aW9uID09PSAncmlnaHQnICYmIHByb3BzLmljb24pIHtcclxuICAgICAgICBpZiAocHJvcHMuaW5wdXRTaXplID09PSAnbGFyZ2UnKSB7XHJcbiAgICAgICAgICAgIHJldHVybiBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcxMztcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuICc3MnB4JztcclxuICAgIH1cclxuICAgIGlmIChwcm9wcy5pbnB1dFNpemUgPT09ICdsYXJnZScpIHtcclxuICAgICAgICByZXR1cm4gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMTA7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gJzM0cHgnO1xyXG59XHJcbmNvbnN0IElzQ2xlYXJhYmxlQ29udGFpbmVyID0gc3R5bGVkLnNwYW4gYFxuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgbWFyZ2luOiAwO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGhlaWdodDogYXV0bztcbiAgd2lkdGg6IDA7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKFxuICAgIC0ke3Byb3BzID0+IGdldENsZWFyYWJsZVBvc2l0aW9uKHByb3BzKX0sXG4gICAgJHtwcm9wcyA9PiBwcm9wcy5pbnB1dFNpemUgPT09IElucHV0U2l6ZS5sYXJnZVxyXG4gICAgPyBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwM1xyXG4gICAgOiAnNnB4J31cbiAgKTtcbmA7XHJcbmZ1bmN0aW9uIGdldEljb25TaXplKHNpemUsIHRoZW1lLCBpY29uUG9zaXRpb24pIHtcclxuICAgIHN3aXRjaCAoc2l6ZSkge1xyXG4gICAgICAgIGNhc2UgJ2xhcmdlJzpcclxuICAgICAgICAgICAgaWYgKGljb25Qb3NpdGlvbiA9PT0gSW5wdXRJY29uUG9zaXRpb24udG9wKSB7XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gdGhlbWUuaWNvblNpemVzLm1lZGl1bTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICByZXR1cm4gdGhlbWUuaWNvblNpemVzLmxhcmdlO1xyXG4gICAgICAgIGRlZmF1bHQ6XHJcbiAgICAgICAgICAgIGlmIChpY29uUG9zaXRpb24gPT09IElucHV0SWNvblBvc2l0aW9uLnRvcCkge1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuIHRoZW1lLmljb25TaXplcy5zbWFsbDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICByZXR1cm4gdGhlbWUuaWNvblNpemVzLm1lZGl1bTtcclxuICAgIH1cclxufVxyXG5leHBvcnQgY29uc3QgaXNMZWZ0T3JIaWRkZW4gPSAoeyBsYWJlbFBvc2l0aW9uLCBpc0xhYmVsVmlzdWFsbHlIaWRkZW4sIH0pID0+IGxhYmVsUG9zaXRpb24gPT09IExhYmVsUG9zaXRpb24ubGVmdCB8fCBpc0xhYmVsVmlzdWFsbHlIaWRkZW47XHJcbmV4cG9ydCBjb25zdCBIZWxwTGlua0NvbnRhaW5lciA9IHN0eWxlZC5zcGFuIGBcbiAgcG9zaXRpb246ICR7cHJvcHMgPT4gKGlzTGVmdE9ySGlkZGVuKHByb3BzKSA/ICdyZWxhdGl2ZScgOiAnYWJzb2x1dGUnKX07XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXG4gIGhlaWdodDogJHtwcm9wcyA9PiAoaXNMZWZ0T3JIaWRkZW4ocHJvcHMpID8gJ2F1dG8nIDogJ2ZpdC1jb250ZW50Jyl9O1xuICBtYXJnaW4taW5saW5lLXN0YXJ0OiAke3Byb3BzID0+IGlzTGVmdE9ySGlkZGVuKHByb3BzKSA/IGAke3Byb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzAzfWAgOiAnYXV0byd9O1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoXG4gICAgJHtwcm9wcyA9PiBpc0xlZnRPckhpZGRlbihwcm9wcylcclxuICAgID8gJzAnXHJcbiAgICA6IGBjYWxjKC0xMDAlIC0gJHtwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwM30pYH1cbiAgKTtcbiAgJHtDaGlsZHJlbldyYXBwZXJ9ID4gc3ZnIHtcbiAgICBoZWlnaHQ6ICR7cHJvcHMgPT4gZ2V0SGVscExpbmtTVkdTaXplKHByb3BzKX07XG4gICAgd2lkdGg6ICR7cHJvcHMgPT4gZ2V0SGVscExpbmtTVkdTaXplKHByb3BzKX07XG4gIH1cbiAgYnV0dG9uIHtcbiAgICBoZWlnaHQ6ICR7cHJvcHMgPT4gZ2V0SGVscEljb25CdXR0b25TaXplKHByb3BzKX07XG4gICAgd2lkdGg6ICR7cHJvcHMgPT4gZ2V0SGVscEljb25CdXR0b25TaXplKHByb3BzKX07XG4gIH1cbiAgaW5zZXQtaW5saW5lLWVuZDogJHtwcm9wcyA9PiAoaXNMZWZ0T3JIaWRkZW4ocHJvcHMpID8gJ2F1dG8nIDogJzAnKX07XG5gO1xyXG5leHBvcnQgY29uc3QgSW5wdXRCYXNlID0gUmVhY3QuZm9yd2FyZFJlZigocHJvcHMsIGZvcndhcmRlZFJlZikgPT4ge1xyXG4gICAgY29uc3QgeyBjaGlsZHJlbiwgY29udGFpbmVyU3R5bGUsIGRlZmF1bHRWYWx1ZSwgZGlzYWJsZWQsIGhhc0NoYXJhY3RlckNvdW50ZXIsIGhhc0Vycm9yLCBpY29uLCBpY29uQXJpYUxhYmVsLCBpY29uUmVmLCBpc0NsZWFyYWJsZSwgaXNQYXNzd29yZElucHV0LCBpc1ByZWRpY3RpdmUsIG1heENvdW50LCBtYXhMZW5ndGgsIG9uQ2xlYXIsIG9uSWNvbkNsaWNrLCBvbkljb25LZXlEb3duLCBvbkRhdGVDaGFuZ2UsIGlucHV0TGVuZ3RoLCBpbnB1dFNpemUsIGlucHV0U3R5bGUsIGlucHV0V3JhcHBlclN0eWxlLCB0ZXN0SWQsIHR5cGUsIHNldFJlZmVyZW5jZSwgaXNMYWJlbFZpc3VhbGx5SGlkZGVuLCBsYWJlbFBvc2l0aW9uLCAuLi5vdGhlciB9ID0gcHJvcHM7XHJcbiAgICBjb25zdCBpMThuID0gUmVhY3QudXNlQ29udGV4dChJMThuQ29udGV4dCk7XHJcbiAgICBjb25zdCB0aGVtZSA9IFJlYWN0LnVzZUNvbnRleHQoVGhlbWVDb250ZXh0KTtcclxuICAgIGNvbnN0IGljb25Qb3NpdGlvbiA9IGljb24gJiYgb25JY29uQ2xpY2tcclxuICAgICAgICA/IElucHV0SWNvblBvc2l0aW9uLnJpZ2h0XHJcbiAgICAgICAgOiBpY29uICYmICFwcm9wcy5pY29uUG9zaXRpb25cclxuICAgICAgICAgICAgPyBJbnB1dEljb25Qb3NpdGlvbi5sZWZ0XHJcbiAgICAgICAgICAgIDogcHJvcHMuaWNvblBvc2l0aW9uO1xyXG4gICAgY29uc3QgW3ZhbHVlLCBzZXRWYWx1ZV0gPSBSZWFjdC51c2VTdGF0ZShwcm9wcy5kZWZhdWx0VmFsdWUgIT09IHVuZGVmaW5lZCAmJiBwcm9wcy5kZWZhdWx0VmFsdWUgIT09IG51bGxcclxuICAgICAgICA/IHByb3BzLmRlZmF1bHRWYWx1ZVxyXG4gICAgICAgIDogcHJvcHMudmFsdWUgfHwgJycpO1xyXG4gICAgY29uc3QgbWF4TGVuZ3RoTnVtID0gIWhhc0NoYXJhY3RlckNvdW50ZXIgJiYgbWF4TGVuZ3RoID8gbWF4TGVuZ3RoIDogdW5kZWZpbmVkO1xyXG4gICAgUmVhY3QudXNlRWZmZWN0KCgpID0+IHtcclxuICAgICAgICBpZiAocHJvcHMudmFsdWUgIT09IHVuZGVmaW5lZCAmJiBwcm9wcy52YWx1ZSAhPT0gbnVsbCkge1xyXG4gICAgICAgICAgICBzZXRWYWx1ZShwcm9wcy52YWx1ZSk7XHJcbiAgICAgICAgfVxyXG4gICAgfSwgW3Byb3BzLnZhbHVlXSk7XHJcbiAgICBjb25zdCBpbnB1dFJlZiA9IFJlYWN0LnVzZVJlZigpO1xyXG4gICAgY29uc3QgcmVmID0gdXNlRm9ya2VkUmVmKGZvcndhcmRlZFJlZiwgaW5wdXRSZWYpO1xyXG4gICAgZnVuY3Rpb24gaGFuZGxlQ2xlYXJJbnB1dCgpIHtcclxuICAgICAgICBvbkNsZWFyICYmIHR5cGVvZiBvbkNsZWFyID09PSAnZnVuY3Rpb24nICYmIG9uQ2xlYXIoKTtcclxuICAgICAgICBzZXRWYWx1ZSgnJyk7XHJcbiAgICAgICAgb25EYXRlQ2hhbmdlICYmIHR5cGVvZiBvbkRhdGVDaGFuZ2UgPT09ICdmdW5jdGlvbicgJiYgb25EYXRlQ2hhbmdlKG51bGwpO1xyXG4gICAgICAgIGlucHV0UmVmLmN1cnJlbnQuZm9jdXMoKTtcclxuICAgIH1cclxuICAgIGZ1bmN0aW9uIGhhbmRsZUNoYW5nZShldmVudCkge1xyXG4gICAgICAgIHByb3BzLm9uQ2hhbmdlICYmXHJcbiAgICAgICAgICAgIHR5cGVvZiBwcm9wcy5vbkNoYW5nZSA9PT0gJ2Z1bmN0aW9uJyAmJlxyXG4gICAgICAgICAgICBwcm9wcy5vbkNoYW5nZShldmVudCk7XHJcbiAgICAgICAgY29uc3QgaXNPbkRhdGVDaGFuZ2UgPSBvbkRhdGVDaGFuZ2UgJiYgdHlwZW9mIG9uRGF0ZUNoYW5nZSA9PT0gJ2Z1bmN0aW9uJztcclxuICAgICAgICBjb25zdCB7IHZhbHVlIH0gPSBldmVudC50YXJnZXQ7XHJcbiAgICAgICAgc2V0VmFsdWUoaXNPbkRhdGVDaGFuZ2UgPyB2YWx1ZSA6IChwcm9wcy52YWx1ZSA/PyB2YWx1ZSkpO1xyXG4gICAgICAgIGlmIChpc09uRGF0ZUNoYW5nZSAmJiAhdmFsdWUpIHtcclxuICAgICAgICAgICAgb25EYXRlQ2hhbmdlKG51bGwpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIGNvbnN0IHBhc3N3b3JkQnRuV2lkdGggPSAoKSA9PiB7XHJcbiAgICAgICAgY29uc3QgYnRuV2lkdGggPSBjaGlsZHJlbj8ucHJvcHM/LmNoaWxkcmVuPy5bMF0/LnJlZj8uY3VycmVudD8ub2Zmc2V0V2lkdGg7XHJcbiAgICAgICAgaWYgKHR5cGVvZiBidG5XaWR0aCA9PT0gJ251bWJlcicpIHtcclxuICAgICAgICAgICAgcmV0dXJuIGJ0bldpZHRoO1xyXG4gICAgICAgIH1cclxuICAgICAgICBlbHNlIHtcclxuICAgICAgICAgICAgLy8gV2hlbiBQYXNzd29yZEJ1dHRvbiBpcyB1c2VkIGluc2lkZSBTY2hlbWFSZW5kZXJlciwgaXQgZG9lc24ndCBoYXZlIGNoaWxkcmVuLlxyXG4gICAgICAgICAgICAvLyBXZSdsbCB1c2UgdGhlIGRlZmF1bHQgYnV0dG9uIHNpemVzLlxyXG4gICAgICAgICAgICBpZiAocHJvcHMuaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgIHJldHVybiA2NDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICByZXR1cm4gNTQ7XHJcbiAgICAgICAgfVxyXG4gICAgfTtcclxuICAgIHJldHVybiAoUmVhY3QuY3JlYXRlRWxlbWVudChcImRpdlwiLCB7IHJlZjogc2V0UmVmZXJlbmNlIH0sXHJcbiAgICAgICAgUmVhY3QuY3JlYXRlRWxlbWVudChJbnB1dENvbnRhaW5lciwgeyBzdHlsZTogaW5wdXRXcmFwcGVyU3R5bGUsIFwiZGF0YS10ZXN0aWRcIjogYCR7dGVzdElkfS13cmFwcGVyYCB9LFxyXG4gICAgICAgICAgICBSZWFjdC5jcmVhdGVFbGVtZW50KElucHV0V3JhcHBlciwgeyBkaXNhYmxlZDogZGlzYWJsZWQsIGljb25Qb3NpdGlvbjogaWNvblBvc2l0aW9uLCBpc0ludmVyc2U6IHByb3BzLmlzSW52ZXJzZSwgaW5wdXRTaXplOiBpbnB1dFNpemUgPz8gSW5wdXRTaXplLm1lZGl1bSwgdGhlbWU6IHRoZW1lLCBzdHlsZTogY29udGFpbmVyU3R5bGUsIGhhc0Vycm9yOiBoYXNFcnJvciwgaXNDbGVhcmFibGU6IGlzQ2xlYXJhYmxlLCB3aWR0aDogcHJvcHMud2lkdGggfSxcclxuICAgICAgICAgICAgICAgIFJlYWN0LmNyZWF0ZUVsZW1lbnQoU3R5bGVkSW5wdXQsIE9iamVjdC5hc3NpZ24oe30sIG90aGVyLCB7IFwiYXJpYS1pbnZhbGlkXCI6IGhhc0Vycm9yLCBkaXNhYmxlZDogZGlzYWJsZWQsIFwiZGF0YS10ZXN0aWRcIjogdGVzdElkLCBoYXNDaGFyYWN0ZXJDb3VudGVyOiBoYXNDaGFyYWN0ZXJDb3VudGVyLCBpY29uUG9zaXRpb246IGljb25Qb3NpdGlvbiwgaW5wdXRTaXplOiBpbnB1dFNpemUgPz8gSW5wdXRTaXplLm1lZGl1bSwgaXNDbGVhcmFibGU6IHR5cGUgPT09IElucHV0VHlwZS5zZWFyY2hcclxuICAgICAgICAgICAgICAgICAgICAgICAgPyBpc0NsZWFyYWJsZVxyXG4gICAgICAgICAgICAgICAgICAgICAgICA6IGlucHV0V3JhcHBlclN0eWxlPy53aWR0aFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPyBpc0NsZWFyYWJsZVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBpc0NsZWFyYWJsZSAmJiBpbnB1dExlbmd0aCA+IDAsIGlzSW52ZXJzZTogdXNlSXNJbnZlcnNlKHByb3BzLmlzSW52ZXJzZSksIGlzUHJlZGljdGl2ZTogaXNQcmVkaWN0aXZlLCBoYXNFcnJvcjogaGFzRXJyb3IsIHJlZjogcmVmLCBtYXhMZW5ndGg6IG1heExlbmd0aE51bSwgb25DaGFuZ2U6IGhhbmRsZUNoYW5nZSwgc3R5bGU6IGlucHV0U3R5bGUsIHRoZW1lOiB0aGVtZSwgdHlwZTogdHlwZSA/IHR5cGUgOiBJbnB1dFR5cGUudGV4dCwgdmFsdWU6IHZhbHVlIH0pKSxcclxuICAgICAgICAgICAgICAgIGljb24gJiYgIW9uSWNvbkNsaWNrICYmIChSZWFjdC5jcmVhdGVFbGVtZW50KEljb25XcmFwcGVyLCB7IFwiYXJpYS1sYWJlbFwiOiBpY29uQXJpYUxhYmVsLCBpY29uUG9zaXRpb246IGljb25Qb3NpdGlvbiwgaW5wdXRTaXplOiBpbnB1dFNpemUgPz8gSW5wdXRTaXplLm1lZGl1bSwgaXNJbnZlcnNlOiBwcm9wcy5pc0ludmVyc2UsIGlzUHJlZGljdGl2ZTogaXNQcmVkaWN0aXZlLCB0aGVtZTogdGhlbWUsIGRpc2FibGVkOiBkaXNhYmxlZCB9LCBSZWFjdC5DaGlsZHJlbi5vbmx5KFJlYWN0LmNsb25lRWxlbWVudChpY29uLCB7XHJcbiAgICAgICAgICAgICAgICAgICAgc2l6ZTogZ2V0SWNvblNpemUoaW5wdXRTaXplID8/IElucHV0U2l6ZS5tZWRpdW0sIHRoZW1lLCBpY29uUG9zaXRpb24pLFxyXG4gICAgICAgICAgICAgICAgfSkpKSkpLFxyXG4gICAgICAgICAgICBpc0NsZWFyYWJsZSAmJiB2YWx1ZSAhPT0gJycgJiYgKFJlYWN0LmNyZWF0ZUVsZW1lbnQoSXNDbGVhcmFibGVDb250YWluZXIsIHsgdGhlbWU6IHRoZW1lLCBpY29uUG9zaXRpb246IGljb25Qb3NpdGlvbiwgaW5wdXRTaXplOiBpbnB1dFNpemUsIGljb246IGljb24gfSxcclxuICAgICAgICAgICAgICAgIFJlYWN0LmNyZWF0ZUVsZW1lbnQoSWNvbkJ1dHRvbiwgeyBcImFyaWEtbGFiZWxcIjogaTE4bi5pbnB1dC5pc0NsZWFyYWJsZUFyaWFMYWJlbCwgZGlzYWJsZWQ6IGRpc2FibGVkLCBpY29uOiBSZWFjdC5jcmVhdGVFbGVtZW50KENsZWFySWNvbiwgbnVsbCksIGlzSW52ZXJzZTogcHJvcHMuaXNJbnZlcnNlLCBvbkNsaWNrOiBoYW5kbGVDbGVhcklucHV0LCBvbktleURvd246IG9uSWNvbktleURvd24sIHJlZjogaWNvblJlZiwgc2hhcGU6IEJ1dHRvblNoYXBlLmZpbGwsIHNpemU6IGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlXHJcbiAgICAgICAgICAgICAgICAgICAgICAgID8gQnV0dG9uU2l6ZS5tZWRpdW1cclxuICAgICAgICAgICAgICAgICAgICAgICAgOiBCdXR0b25TaXplLnNtYWxsLCB0ZXN0SWQ6IFwiY2xlYXItYnV0dG9uXCIsIHR5cGU6IEJ1dHRvblR5cGUuYnV0dG9uLCB2YXJpYW50OiBCdXR0b25WYXJpYW50LmxpbmsgfSkpKSxcclxuICAgICAgICAgICAgb25JY29uQ2xpY2sgJiYgKFJlYWN0LmNyZWF0ZUVsZW1lbnQoSWNvbkJ1dHRvbkNvbnRhaW5lciwgeyBpY29uUG9zaXRpb246IGljb25Qb3NpdGlvbiwgaW5wdXRTaXplOiBpbnB1dFNpemUgPT09IElucHV0U2l6ZS5sYXJnZVxyXG4gICAgICAgICAgICAgICAgICAgID8gSW5wdXRTaXplLmxhcmdlXHJcbiAgICAgICAgICAgICAgICAgICAgOiBJbnB1dFNpemUubWVkaXVtLCB0aGVtZTogdGhlbWUsIGlzQ2xpY2thYmxlOiB0cnVlIH0sXHJcbiAgICAgICAgICAgICAgICBSZWFjdC5jcmVhdGVFbGVtZW50KEljb25CdXR0b24sIHsgXCJhcmlhLWxhYmVsXCI6IGljb25BcmlhTGFiZWwsIGljb246IGljb24sIGlzSW52ZXJzZTogcHJvcHMuaXNJbnZlcnNlLCBvbkNsaWNrOiBvbkljb25DbGljaywgb25LZXlEb3duOiBvbkljb25LZXlEb3duLCByZWY6IGljb25SZWYsIGRpc2FibGVkOiBkaXNhYmxlZCwgc2hhcGU6IEJ1dHRvblNoYXBlLmZpbGwsIHNpemU6IGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlXHJcbiAgICAgICAgICAgICAgICAgICAgICAgID8gQnV0dG9uU2l6ZS5tZWRpdW1cclxuICAgICAgICAgICAgICAgICAgICAgICAgOiBCdXR0b25TaXplLnNtYWxsLCB0eXBlOiBCdXR0b25UeXBlLmJ1dHRvbiwgdmFyaWFudDogQnV0dG9uVmFyaWFudC5saW5rIH0pKSksXHJcbiAgICAgICAgICAgIGlzUGFzc3dvcmRJbnB1dCA/IChSZWFjdC5jcmVhdGVFbGVtZW50KFBhc3N3b3JkQnV0dG9uQ29udGFpbmVyLCB7IHNpemU6IGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlXHJcbiAgICAgICAgICAgICAgICAgICAgPyBJbnB1dFNpemUubGFyZ2VcclxuICAgICAgICAgICAgICAgICAgICA6IElucHV0U2l6ZS5tZWRpdW0sIHRoZW1lOiB0aGVtZSwgYnV0dG9uV2lkdGg6IHBhc3N3b3JkQnRuV2lkdGgoKSB9LCBjaGlsZHJlbikpIDogKFJlYWN0LmNyZWF0ZUVsZW1lbnQoSGVscExpbmtDb250YWluZXIsIHsgaXNMYWJlbFZpc3VhbGx5SGlkZGVuOiBpc0xhYmVsVmlzdWFsbHlIaWRkZW4gfHwgZmFsc2UsIGlucHV0U2l6ZTogaW5wdXRTaXplID8/IElucHV0U2l6ZS5tZWRpdW0sIGxhYmVsUG9zaXRpb246IGxhYmVsUG9zaXRpb24gPz8gTGFiZWxQb3NpdGlvbi50b3AsIHRoZW1lOiB0aGVtZSB9LCBjaGlsZHJlbikpKSkpO1xyXG59KTtcclxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9aW5kZXguanMubWFwIl19 */"));
|
|
5059
5059
|
function getClearablePosition(props) {
|
|
5060
5060
|
if (props.iconPosition === 'right' && props.icon) {
|
|
5061
5061
|
if (props.inputSize === 'large') {
|
|
@@ -5075,7 +5075,7 @@ var IsClearableContainer = /*#__PURE__*/_styled("span", {
|
|
|
5075
5075
|
return getClearablePosition(props);
|
|
5076
5076
|
}, ",\n ", function (props) {
|
|
5077
5077
|
return props.inputSize === InputSize.large ? props.theme.spaceScale.spacing03 : '6px';
|
|
5078
|
-
}, "\n );" + (process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImluZGV4LnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFvV3lDIiwiZmlsZSI6ImluZGV4LnRzeCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIFJlYWN0IGZyb20gJ3JlYWN0JztcclxuaW1wb3J0IHsgY3NzIH0gZnJvbSAnQGVtb3Rpb24vcmVhY3QnO1xyXG5pbXBvcnQgc3R5bGVkIGZyb20gJ0BlbW90aW9uL3N0eWxlZCc7XHJcbmltcG9ydCB7IHRyYW5zcGFyZW50aXplIH0gZnJvbSAncG9saXNoZWQnO1xyXG5pbXBvcnQgeyBDbGVhckljb24gfSBmcm9tICdyZWFjdC1tYWdtYS1pY29ucyc7XHJcbmltcG9ydCB7IEkxOG5Db250ZXh0IH0gZnJvbSAnLi4vLi4vaTE4bic7XHJcbmltcG9ydCB7IHVzZUlzSW52ZXJzZSB9IGZyb20gJy4uLy4uL2ludmVyc2UnO1xyXG5pbXBvcnQgeyBUaGVtZUNvbnRleHQgfSBmcm9tICcuLi8uLi90aGVtZS9UaGVtZUNvbnRleHQnO1xyXG5pbXBvcnQgeyB1c2VGb3JrZWRSZWYgfSBmcm9tICcuLi8uLi91dGlscyc7XHJcbmltcG9ydCB7IEJ1dHRvblNoYXBlLCBCdXR0b25TaXplLCBCdXR0b25UeXBlLCBCdXR0b25WYXJpYW50IH0gZnJvbSAnLi4vQnV0dG9uJztcclxuaW1wb3J0IHsgSWNvbkJ1dHRvbiB9IGZyb20gJy4uL0ljb25CdXR0b24nO1xyXG5pbXBvcnQgeyBMYWJlbFBvc2l0aW9uIH0gZnJvbSAnLi4vTGFiZWwnO1xyXG5pbXBvcnQgeyBDaGlsZHJlbldyYXBwZXIgfSBmcm9tICcuLi9TdHlsZWRCdXR0b24nO1xyXG5leHBvcnQgdmFyIElucHV0U2l6ZTtcclxuKGZ1bmN0aW9uIChJbnB1dFNpemUpIHtcclxuICAgIElucHV0U2l6ZVtcImxhcmdlXCJdID0gXCJsYXJnZVwiO1xyXG4gICAgSW5wdXRTaXplW1wibWVkaXVtXCJdID0gXCJtZWRpdW1cIjtcclxufSkoSW5wdXRTaXplIHx8IChJbnB1dFNpemUgPSB7fSkpO1xyXG5leHBvcnQgdmFyIElucHV0VHlwZTtcclxuKGZ1bmN0aW9uIChJbnB1dFR5cGUpIHtcclxuICAgIElucHV0VHlwZVtcImVtYWlsXCJdID0gXCJlbWFpbFwiO1xyXG4gICAgSW5wdXRUeXBlW1wiZmlsZVwiXSA9IFwiZmlsZVwiO1xyXG4gICAgSW5wdXRUeXBlW1wibnVtYmVyXCJdID0gXCJudW1iZXJcIjtcclxuICAgIElucHV0VHlwZVtcInBhc3N3b3JkXCJdID0gXCJwYXNzd29yZFwiO1xyXG4gICAgSW5wdXRUeXBlW1wic2VhcmNoXCJdID0gXCJzZWFyY2hcIjtcclxuICAgIElucHV0VHlwZVtcInRleHRcIl0gPSBcInRleHRcIjtcclxuICAgIElucHV0VHlwZVtcInVybFwiXSA9IFwidXJsXCI7XHJcbiAgICBJbnB1dFR5cGVbXCJ0ZWxcIl0gPSBcInRlbFwiO1xyXG59KShJbnB1dFR5cGUgfHwgKElucHV0VHlwZSA9IHt9KSk7XHJcbmV4cG9ydCB2YXIgSW5wdXRJY29uUG9zaXRpb247XHJcbihmdW5jdGlvbiAoSW5wdXRJY29uUG9zaXRpb24pIHtcclxuICAgIElucHV0SWNvblBvc2l0aW9uW1widG9wXCJdID0gXCJ0b3BcIjtcclxuICAgIElucHV0SWNvblBvc2l0aW9uW1wibGVmdFwiXSA9IFwibGVmdFwiO1xyXG4gICAgSW5wdXRJY29uUG9zaXRpb25bXCJyaWdodFwiXSA9IFwicmlnaHRcIjtcclxufSkoSW5wdXRJY29uUG9zaXRpb24gfHwgKElucHV0SWNvblBvc2l0aW9uID0ge30pKTtcclxuZXhwb3J0IGNvbnN0IGlucHV0V3JhcHBlclN0eWxlcyA9IChwcm9wcykgPT4gY3NzIGBcbiAgZmxleDogMSAxIGF1dG87XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgd2lkdGg6ICR7cHJvcHMud2lkdGggfHwgJ2F1dG8nfTtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHtwcm9wcy5pc0ludmVyc2VcclxuICAgID8gdHJhbnNwYXJlbnRpemUoMC44LCBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDkwMClcclxuICAgIDogcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWwxMDB9O1xuICBib3JkZXItcmFkaXVzOiAke3Byb3BzLnRoZW1lLmJvcmRlclJhZGl1c307XG4gIGJvcmRlcjogMXB4IHNvbGlkXG4gICAgJHtwcm9wcy5pc0ludmVyc2VcclxuICAgID8gdHJhbnNwYXJlbnRpemUoMC41LCBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDEwMClcclxuICAgIDogcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWw1MDB9O1xuICBoZWlnaHQ6ICR7cHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDl9O1xuXG4gICY6Zm9jdXMtd2l0aGluIHtcbiAgICBvdXRsaW5lOiAycHggc29saWRcbiAgICAgICR7cHJvcHMuaXNJbnZlcnNlXHJcbiAgICA/IHByb3BzLnRoZW1lLmNvbG9ycy5mb2N1c0ludmVyc2VcclxuICAgIDogcHJvcHMudGhlbWUuY29sb3JzLmZvY3VzfTtcbiAgICBvdXRsaW5lLW9mZnNldDogLTFweDtcbiAgfVxuXG4gICR7cHJvcHMuaGFzRXJyb3IgJiZcclxuICAgIGNzcyBgXG4gICAgYm9yZGVyLWNvbG9yOiAke3Byb3BzLmlzSW52ZXJzZVxyXG4gICAgICAgID8gcHJvcHMudGhlbWUuY29sb3JzLmRhbmdlcjMwMFxyXG4gICAgICAgIDogcHJvcHMudGhlbWUuY29sb3JzLmRhbmdlcn07XG4gIGB9XG5cbiAgJHtwcm9wcy5kaXNhYmxlZCAmJlxyXG4gICAgY3NzIGBcbiAgICBib3JkZXItY29sb3I6ICR7cHJvcHMuaXNJbnZlcnNlXHJcbiAgICAgICAgPyB0cmFuc3BhcmVudGl6ZSgwLjg1LCBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDEwMClcclxuICAgICAgICA6IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsMzAwfTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAke3Byb3BzLmlzSW52ZXJzZVxyXG4gICAgICAgID8gdHJhbnNwYXJlbnRpemUoMC45LCBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDkwMClcclxuICAgICAgICA6IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsMjAwfTtcbiAgYH1cblxuICAke3Byb3BzLmlucHV0U2l6ZSA9PT0gJ2xhcmdlJyAmJlxyXG4gICAgY3NzIGBcbiAgICBoZWlnaHQ6ICR7cHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMTF9O1xuICBgfVxuYDtcclxuZnVuY3Rpb24gZ2V0SW5wdXRQYWRkaW5nKHByb3BzKSB7XHJcbiAgICBjb25zdCB7IGlucHV0U2l6ZSwgaXNDbGVhcmFibGUsIGljb25Qb3NpdGlvbiB9ID0gcHJvcHM7XHJcbiAgICBjb25zdCBwYWRkaW5nID0ge1xyXG4gICAgICAgIGxlZnQ6IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzAzLFxyXG4gICAgICAgIHJpZ2h0OiBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwMyxcclxuICAgIH07XHJcbiAgICBpZiAoaW5wdXRTaXplID09PSAnbGFyZ2UnKSB7XHJcbiAgICAgICAgaWYgKGlzQ2xlYXJhYmxlKSB7XHJcbiAgICAgICAgICAgIGlmIChpY29uUG9zaXRpb24gPT09ICdyaWdodCcpIHtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmcucmlnaHQgPSAnOTJweCc7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgZWxzZSBpZiAoaWNvblBvc2l0aW9uID09PSAnbGVmdCcpIHtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmcubGVmdCA9IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzExO1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy5yaWdodCA9IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzExO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgLy8gaWNvbiB0b3AsIG5vIGljb25cclxuICAgICAgICAgICAgICAgIHBhZGRpbmcucmlnaHQgPSBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcxMTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBlbHNlIHtcclxuICAgICAgICAgICAgaWYgKGljb25Qb3NpdGlvbiA9PT0gJ3JpZ2h0Jykge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy5yaWdodCA9IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzEwO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGlmIChpY29uUG9zaXRpb24gPT09ICdsZWZ0Jykge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy5sZWZ0ID0gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMTA7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICBlbHNlIGlmIChpbnB1dFNpemUgPT09ICdtZWRpdW0nKSB7XHJcbiAgICAgICAgaWYgKGlzQ2xlYXJhYmxlKSB7XHJcbiAgICAgICAgICAgIGlmIChpY29uUG9zaXRpb24gPT09ICdyaWdodCcpIHtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmcucmlnaHQgPSAnNjhweCc7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgZWxzZSBpZiAoaWNvblBvc2l0aW9uID09PSAnbGVmdCcpIHtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmcubGVmdCA9IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzA5O1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy5yaWdodCA9IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzA5O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgLy8gaWNvbiB0b3AsIG5vIGljb25cclxuICAgICAgICAgICAgICAgIHBhZGRpbmcucmlnaHQgPSBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwOTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBlbHNlIHtcclxuICAgICAgICAgICAgaWYgKGljb25Qb3NpdGlvbiA9PT0gJ3JpZ2h0Jykge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy5yaWdodCA9IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzA5O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGlmIChpY29uUG9zaXRpb24gPT09ICdsZWZ0Jykge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy5sZWZ0ID0gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICByZXR1cm4gcGFkZGluZztcclxufVxyXG5leHBvcnQgY29uc3QgaW5wdXRCYXNlU3R5bGVzID0gKHByb3BzKSA9PiBjc3MgYFxuICBib3JkZXI6IDA7XG4gIGJvcmRlci1yYWRpdXM6ICR7cHJvcHMudGhlbWUuYm9yZGVyUmFkaXVzfTtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIGNvbG9yOiAke3Byb3BzLmlzSW52ZXJzZVxyXG4gICAgPyBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDEwMFxyXG4gICAgOiBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDcwMH07XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBmb250LXNpemU6ICR7cHJvcHMudGhlbWUudHlwZVNjYWxlLnNpemUwMy5mb250U2l6ZX07XG4gIGxpbmUtaGVpZ2h0OiAke3Byb3BzLnRoZW1lLnR5cGVTY2FsZS5zaXplMDMubGluZUhlaWdodH07XG4gIGZvbnQtZmFtaWx5OiAke3Byb3BzLnRoZW1lLmJvZHlGb250fTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBwYWRkaW5nOiAke3Byb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzAzfTtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICB3aWR0aDogMTAwJTtcblxuICAke3Byb3BzLmlucHV0U2l6ZSA9PT0gJ2xhcmdlJyAmJlxyXG4gICAgY3NzIGBcbiAgICBmb250LXNpemU6ICR7cHJvcHMudGhlbWUudHlwZVNjYWxlLnNpemUwNC5mb250U2l6ZX07XG4gICAgbGluZS1oZWlnaHQ6ICR7cHJvcHMudGhlbWUudHlwZVNjYWxlLnNpemUwNC5saW5lSGVpZ2h0fTtcbiAgICBwYWRkaW5nOiAke3Byb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzA0fTtcbiAgYH1cblxuICBwYWRkaW5nLWxlZnQ6ICR7Z2V0SW5wdXRQYWRkaW5nKHByb3BzKS5sZWZ0fTtcbiAgcGFkZGluZy1yaWdodDogJHtnZXRJbnB1dFBhZGRpbmcocHJvcHMpLnJpZ2h0fTtcblxuICAmOjpwbGFjZWhvbGRlciB7XG4gICAgY29sb3I6ICR7cHJvcHMuaXNJbnZlcnNlXHJcbiAgICA/IHRyYW5zcGFyZW50aXplKDAuMywgcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWwxMDApXHJcbiAgICA6IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsNTAwfTtcbiAgfVxuXG4gICY6Zm9jdXMge1xuICAgIG91dGxpbmU6IDA7XG4gIH1cblxuICAmW3R5cGU9J3NlYXJjaCddIHtcbiAgICAmOjotd2Via2l0LXNlYXJjaC1kZWNvcmF0aW9uLFxuICAgICY6Oi13ZWJraXQtc2VhcmNoLWNhbmNlbC1idXR0b24sXG4gICAgJjo6LXdlYmtpdC1zZWFyY2gtcmVzdWx0cy1idXR0b24sXG4gICAgJjo6LXdlYmtpdC1zZWFyY2gtcmVzdWx0cy1kZWNvcmF0aW9uIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICB9XG5cbiAgJHtwcm9wcy5kaXNhYmxlZCAmJlxyXG4gICAgY3NzIGBcbiAgICBjb2xvcjogJHtwcm9wcy5pc0ludmVyc2VcclxuICAgICAgICA/IHRyYW5zcGFyZW50aXplKDAuNiwgcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWwxMDApXHJcbiAgICAgICAgOiB0cmFuc3BhcmVudGl6ZSgwLjQsIHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsNTAwKX07XG4gICAgY3Vyc29yOiBub3QtYWxsb3dlZDtcblxuICAgICY6OnBsYWNlaG9sZGVyIHtcbiAgICAgIGNvbG9yOiAke3Byb3BzLmlzSW52ZXJzZVxyXG4gICAgICAgID8gdHJhbnNwYXJlbnRpemUoMC44LCBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDEwMClcclxuICAgICAgICA6IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsNTAwfTtcbiAgICAgIG9wYWNpdHk6ICR7cHJvcHMuaXNJbnZlcnNlID8gMC40IDogMC42fTtcbiAgICB9XG4gIGB9XG5cbiAgJjotd2Via2l0LWF1dG9maWxsLFxuICAmOi13ZWJraXQtYXV0b2ZpbGw6Zm9jdXMsXG4gICY6LXdlYmtpdC1hdXRvZmlsbDpob3ZlcixcbiAgJjotd2Via2l0LWF1dG9maWxsOmFjdGl2ZSB7XG4gICAgYm94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xuICAgIC13ZWJraXQtYmFja2dyb3VuZC1jbGlwOiB0ZXh0O1xuICAgIC13ZWJraXQtdGV4dC1maWxsLWNvbG9yOiAke3Byb3BzLmlzSW52ZXJzZVxyXG4gICAgPyBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDEwMFxyXG4gICAgOiBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDcwMH0gIWltcG9ydGFudDtcbiAgICBjYXJldC1jb2xvcjogJHtwcm9wcy5pc0ludmVyc2VcclxuICAgID8gcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWwxMDBcclxuICAgIDogcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWw3MDB9ICFpbXBvcnRhbnQ7XG4gIH1cbmA7XHJcbmNvbnN0IElucHV0Q29udGFpbmVyID0gc3R5bGVkLmRpdiBgXG4gIGRpc3BsYXk6IGZsZXg7XG5gO1xyXG5leHBvcnQgY29uc3QgSW5wdXRXcmFwcGVyID0gc3R5bGVkLmRpdiBgXG4gICR7aW5wdXRXcmFwcGVyU3R5bGVzfVxuYDtcclxuY29uc3QgU3R5bGVkSW5wdXQgPSBzdHlsZWQuaW5wdXQgYFxuICAke2lucHV0QmFzZVN0eWxlc31cbmA7XHJcbmNvbnN0IEljb25XcmFwcGVyID0gc3R5bGVkLnNwYW4gYFxuICBib3R0b206ICR7cHJvcHMgPT4gKHByb3BzLmljb25Qb3NpdGlvbiA9PT0gJ3RvcCcgPyAnNDVweCcgOiAnaW5oZXJpdCcpfTtcbiAgY29sb3I6ICR7cHJvcHMgPT4gcHJvcHMuaXNJbnZlcnNlXHJcbiAgICA/IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsMTAwXHJcbiAgICA6IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsNzAwfTtcbiAgbGVmdDogJHtwcm9wcyA9PiBwcm9wcy5pY29uUG9zaXRpb24gPT09ICdsZWZ0JyA/IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzAzIDogJ2F1dG8nfTtcbiAgcmlnaHQ6ICR7cHJvcHMgPT4gcHJvcHMuaWNvblBvc2l0aW9uID09PSAncmlnaHQnXHJcbiAgICA/IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzAzXHJcbiAgICA6IHByb3BzLmljb25Qb3NpdGlvbiA9PT0gJ3RvcCdcclxuICAgICAgICA/ICczcHgnXHJcbiAgICAgICAgOiAnYXV0byd9O1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogJHtwcm9wcyA9PiBwcm9wcy5pY29uUG9zaXRpb24gPT09ICd0b3AnXHJcbiAgICA/ICdpbmhlcml0J1xyXG4gICAgOiBwcm9wcyA9PiBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwM307XG5cbiAgJHtwcm9wcyA9PiBwcm9wcy5pbnB1dFNpemUgPT09ICdsYXJnZScgJiZcclxuICAgIGNzcyBgXG4gICAgICBib3R0b206ICR7cHJvcHMuaWNvblBvc2l0aW9uID09PSAndG9wJyA/ICc2MnB4JyA6ICdpbmhlcml0J307XG4gICAgICBsZWZ0OiAke3Byb3BzLmljb25Qb3NpdGlvbiA9PT0gJ2xlZnQnXHJcbiAgICAgICAgPyBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwNFxyXG4gICAgICAgIDogJ2F1dG8nfTtcbiAgICAgIHJpZ2h0OiAke3Byb3BzLmljb25Qb3NpdGlvbiA9PT0gJ3JpZ2h0J1xyXG4gICAgICAgID8gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDRcclxuICAgICAgICA6IHByb3BzLmljb25Qb3NpdGlvbiA9PT0gJ3RvcCdcclxuICAgICAgICAgICAgPyAnM3B4J1xyXG4gICAgICAgICAgICA6ICdhdXRvJ307XG4gICAgICB0b3A6ICR7cHJvcHMuaWNvblBvc2l0aW9uID09PSAndG9wJ1xyXG4gICAgICAgID8gJ2luaGVyaXQnXHJcbiAgICAgICAgOiBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwNH07XG4gICAgYH1cbmA7XHJcbmZ1bmN0aW9uIGdldEljb25CdXR0b25TVkdTaXplKHByb3BzKSB7XHJcbiAgICBjb25zdCB7IGlzQ2xpY2thYmxlLCBpY29uUG9zaXRpb24sIGlucHV0U2l6ZSwgdGhlbWUgfSA9IHByb3BzO1xyXG4gICAgaWYgKGlzQ2xpY2thYmxlICYmIGljb25Qb3NpdGlvbiA9PT0gSW5wdXRJY29uUG9zaXRpb24udG9wKSB7XHJcbiAgICAgICAgaWYgKGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlKSB7XHJcbiAgICAgICAgICAgIHJldHVybiBgJHt0aGVtZS5pY29uU2l6ZXMubWVkaXVtfXB4YDtcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIGAke3RoZW1lLmljb25TaXplcy5zbWFsbH1weGA7XHJcbiAgICB9XHJcbiAgICBpZiAoaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2UpIHtcclxuICAgICAgICByZXR1cm4gYCR7dGhlbWUuaWNvblNpemVzLmxhcmdlfXB4YDtcclxuICAgIH1cclxuICAgIHJldHVybiBgJHt0aGVtZS5pY29uU2l6ZXMubWVkaXVtfXB4YDtcclxufVxyXG5mdW5jdGlvbiBnZXRIZWxwTGlua1NWR1NpemUocHJvcHMpIHtcclxuICAgIGNvbnN0IHsgaW5wdXRTaXplLCB0aGVtZSB9ID0gcHJvcHM7XHJcbiAgICBpZiAoaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2UpIHtcclxuICAgICAgICByZXR1cm4gYCR7dGhlbWUuaWNvblNpemVzLm1lZGl1bX1weGA7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gYCR7dGhlbWUuaWNvblNpemVzLnNtYWxsfXB4YDtcclxufVxyXG5leHBvcnQgZnVuY3Rpb24gZ2V0SGVscEljb25CdXR0b25TaXplKHByb3BzKSB7XHJcbiAgICBjb25zdCB7IGlucHV0U2l6ZSwgdGhlbWUgfSA9IHByb3BzO1xyXG4gICAgaWYgKGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlKSB7XHJcbiAgICAgICAgcmV0dXJuIHRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzA5O1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIHRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzA3O1xyXG59XHJcbmZ1bmN0aW9uIGdldEljb25CdXR0b25UcmFuc2Zvcm0ocHJvcHMpIHtcclxuICAgIGNvbnN0IHsgaXNDbGlja2FibGUsIGljb25Qb3NpdGlvbiwgaW5wdXRTaXplLCBoYXNDaGlsZHJlbiwgdGhlbWUgfSA9IHByb3BzO1xyXG4gICAgY29uc3QgcG9zaXRpb24gPSB7IHg6ICcnLCB5OiAnJyB9O1xyXG4gICAgaWYgKGljb25Qb3NpdGlvbiA9PT0gSW5wdXRJY29uUG9zaXRpb24udG9wKSB7XHJcbiAgICAgICAgaWYgKGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlKSB7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uLnggPSAnLTMwcHgnO1xyXG4gICAgICAgICAgICBwb3NpdGlvbi55ID0gJzJweCc7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2UgaWYgKGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLm1lZGl1bSkge1xyXG4gICAgICAgICAgICBwb3NpdGlvbi54ID0gJy0yOHB4JztcclxuICAgICAgICAgICAgcG9zaXRpb24ueSA9ICc1cHgnO1xyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gcG9zaXRpb247XHJcbiAgICB9XHJcbiAgICBpZiAoaXNDbGlja2FibGUpIHtcclxuICAgICAgICBpZiAoaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2UpIHtcclxuICAgICAgICAgICAgaWYgKGhhc0NoaWxkcmVuKSB7XHJcbiAgICAgICAgICAgICAgICBwb3NpdGlvbi54ID0gJy00M3B4JztcclxuICAgICAgICAgICAgICAgIHBvc2l0aW9uLnkgPSAnMTRweCc7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICAgICAgICBwb3NpdGlvbi54ID0gJy00OXB4JztcclxuICAgICAgICAgICAgICAgIHBvc2l0aW9uLnkgPSAnOHB4JztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBlbHNlIGlmIChpbnB1dFNpemUgPT09IElucHV0U2l6ZS5tZWRpdW0pIHtcclxuICAgICAgICAgICAgcG9zaXRpb24ueCA9ICctMzVweCc7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uLnkgPSAnNnB4JztcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIHBvc2l0aW9uO1xyXG4gICAgfVxyXG4gICAgaWYgKGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlKSB7XHJcbiAgICAgICAgcG9zaXRpb24ueCA9IGAtJHt0aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcxMH1gO1xyXG4gICAgICAgIHBvc2l0aW9uLnkgPSB0aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwMztcclxuICAgIH1cclxuICAgIGVsc2UgaWYgKGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLm1lZGl1bSkge1xyXG4gICAgICAgIHBvc2l0aW9uLnggPSAnLTI0cHgnO1xyXG4gICAgICAgIHBvc2l0aW9uLnkgPSAnN3B4JztcclxuICAgIH1cclxuICAgIHJldHVybiBwb3NpdGlvbjtcclxufVxyXG5leHBvcnQgY29uc3QgSWNvbkJ1dHRvbkNvbnRhaW5lciA9IHN0eWxlZC5zcGFuIGBcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGJvdHRvbTogJHtwcm9wcyA9PiAocHJvcHMuaWNvblBvc2l0aW9uID09PSAndG9wJyA/ICc0MHB4JyA6ICdpbmhlcml0Jyl9O1xuICBoZWlnaHQ6IGF1dG87XG4gIG1hcmdpbjogMDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aWR0aDogMDtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoXG4gICAgJHtwcm9wcyA9PiBnZXRJY29uQnV0dG9uVHJhbnNmb3JtKHByb3BzKS54fSxcbiAgICAke3Byb3BzID0+IGdldEljb25CdXR0b25UcmFuc2Zvcm0ocHJvcHMpLnl9XG4gICk7XG4gIHN2ZyB7XG4gICAgaGVpZ2h0OiAke3Byb3BzID0+IGdldEljb25CdXR0b25TVkdTaXplKHByb3BzKX07XG4gICAgd2lkdGg6ICR7cHJvcHMgPT4gZ2V0SWNvbkJ1dHRvblNWR1NpemUocHJvcHMpfTtcbiAgfVxuYDtcclxuY29uc3QgUGFzc3dvcmRCdXR0b25Db250YWluZXIgPSBzdHlsZWQuc3BhbiBgXG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICB3aWR0aDogMDtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoXG4gICAgJHtwcm9wcyA9PiBwcm9wcy5zaXplID09PSBJbnB1dFNpemUubGFyZ2VcclxuICAgID8gYCR7LXByb3BzLmJ1dHRvbldpZHRoIC0gOH1weGBcclxuICAgIDogYCR7LXByb3BzLmJ1dHRvbldpZHRoIC0gNn1weGB9LFxuICAgICR7cHJvcHMgPT4gcHJvcHMuc2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlID8gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDMgOiAnNnB4J31cbiAgKTtcbmA7XHJcbmZ1bmN0aW9uIGdldENsZWFyYWJsZVBvc2l0aW9uKHByb3BzKSB7XHJcbiAgICBpZiAocHJvcHMuaWNvblBvc2l0aW9uID09PSAncmlnaHQnICYmIHByb3BzLmljb24pIHtcclxuICAgICAgICBpZiAocHJvcHMuaW5wdXRTaXplID09PSAnbGFyZ2UnKSB7XHJcbiAgICAgICAgICAgIHJldHVybiBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcxMztcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuICc3MnB4JztcclxuICAgIH1cclxuICAgIGlmIChwcm9wcy5pbnB1dFNpemUgPT09ICdsYXJnZScpIHtcclxuICAgICAgICByZXR1cm4gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMTA7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gJzM0cHgnO1xyXG59XHJcbmNvbnN0IElzQ2xlYXJhYmxlQ29udGFpbmVyID0gc3R5bGVkLnNwYW4gYFxuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgbWFyZ2luOiAwO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGhlaWdodDogYXV0bztcbiAgd2lkdGg6IDA7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKFxuICAgIC0ke3Byb3BzID0+IGdldENsZWFyYWJsZVBvc2l0aW9uKHByb3BzKX0sXG4gICAgJHtwcm9wcyA9PiBwcm9wcy5pbnB1dFNpemUgPT09IElucHV0U2l6ZS5sYXJnZVxyXG4gICAgPyBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwM1xyXG4gICAgOiAnNnB4J31cbiAgKTtcbmA7XHJcbmZ1bmN0aW9uIGdldEljb25TaXplKHNpemUsIHRoZW1lLCBpY29uUG9zaXRpb24pIHtcclxuICAgIHN3aXRjaCAoc2l6ZSkge1xyXG4gICAgICAgIGNhc2UgJ2xhcmdlJzpcclxuICAgICAgICAgICAgaWYgKGljb25Qb3NpdGlvbiA9PT0gSW5wdXRJY29uUG9zaXRpb24udG9wKSB7XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gdGhlbWUuaWNvblNpemVzLm1lZGl1bTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICByZXR1cm4gdGhlbWUuaWNvblNpemVzLmxhcmdlO1xyXG4gICAgICAgIGRlZmF1bHQ6XHJcbiAgICAgICAgICAgIGlmIChpY29uUG9zaXRpb24gPT09IElucHV0SWNvblBvc2l0aW9uLnRvcCkge1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuIHRoZW1lLmljb25TaXplcy5zbWFsbDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICByZXR1cm4gdGhlbWUuaWNvblNpemVzLm1lZGl1bTtcclxuICAgIH1cclxufVxyXG5leHBvcnQgY29uc3QgaXNMZWZ0T3JIaWRkZW4gPSAoeyBsYWJlbFBvc2l0aW9uLCBpc0xhYmVsVmlzdWFsbHlIaWRkZW4sIH0pID0+IGxhYmVsUG9zaXRpb24gPT09IExhYmVsUG9zaXRpb24ubGVmdCB8fCBpc0xhYmVsVmlzdWFsbHlIaWRkZW47XHJcbmV4cG9ydCBjb25zdCBIZWxwTGlua0NvbnRhaW5lciA9IHN0eWxlZC5zcGFuIGBcbiAgcG9zaXRpb246ICR7cHJvcHMgPT4gKGlzTGVmdE9ySGlkZGVuKHByb3BzKSA/ICdyZWxhdGl2ZScgOiAnYWJzb2x1dGUnKX07XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXG4gIGhlaWdodDogJHtwcm9wcyA9PiAoaXNMZWZ0T3JIaWRkZW4ocHJvcHMpID8gJ2F1dG8nIDogJ2ZpdC1jb250ZW50Jyl9O1xuICBtYXJnaW4taW5saW5lLXN0YXJ0OiAke3Byb3BzID0+IGlzTGVmdE9ySGlkZGVuKHByb3BzKSA/IGAke3Byb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzAzfWAgOiAnYXV0byd9O1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoXG4gICAgJHtwcm9wcyA9PiBpc0xlZnRPckhpZGRlbihwcm9wcylcclxuICAgID8gJzAnXHJcbiAgICA6IGBjYWxjKC0xMDAlIC0gJHtwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwM30pYH1cbiAgKTtcbiAgJHtDaGlsZHJlbldyYXBwZXJ9ID4gc3ZnIHtcbiAgICBoZWlnaHQ6ICR7cHJvcHMgPT4gZ2V0SGVscExpbmtTVkdTaXplKHByb3BzKX07XG4gICAgd2lkdGg6ICR7cHJvcHMgPT4gZ2V0SGVscExpbmtTVkdTaXplKHByb3BzKX07XG4gIH1cbiAgYnV0dG9uIHtcbiAgICBoZWlnaHQ6ICR7cHJvcHMgPT4gZ2V0SGVscEljb25CdXR0b25TaXplKHByb3BzKX07XG4gICAgd2lkdGg6ICR7cHJvcHMgPT4gZ2V0SGVscEljb25CdXR0b25TaXplKHByb3BzKX07XG4gIH1cbiAgaW5zZXQtaW5saW5lLWVuZDogJHtwcm9wcyA9PiAoaXNMZWZ0T3JIaWRkZW4ocHJvcHMpID8gJ2F1dG8nIDogJzAnKX07XG5gO1xyXG5leHBvcnQgY29uc3QgSW5wdXRCYXNlID0gUmVhY3QuZm9yd2FyZFJlZigocHJvcHMsIGZvcndhcmRlZFJlZikgPT4ge1xyXG4gICAgY29uc3QgeyBjaGlsZHJlbiwgY29udGFpbmVyU3R5bGUsIGRlZmF1bHRWYWx1ZSwgZGlzYWJsZWQsIGhhc0NoYXJhY3RlckNvdW50ZXIsIGhhc0Vycm9yLCBpY29uLCBpY29uQXJpYUxhYmVsLCBpY29uUmVmLCBpc0NsZWFyYWJsZSwgaXNQYXNzd29yZElucHV0LCBpc1ByZWRpY3RpdmUsIG1heENvdW50LCBtYXhMZW5ndGgsIG9uQ2xlYXIsIG9uSWNvbkNsaWNrLCBvbkljb25LZXlEb3duLCBvbkRhdGVDaGFuZ2UsIGlucHV0TGVuZ3RoLCBpbnB1dFNpemUsIGlucHV0U3R5bGUsIGlucHV0V3JhcHBlclN0eWxlLCB0ZXN0SWQsIHR5cGUsIHNldFJlZmVyZW5jZSwgaXNMYWJlbFZpc3VhbGx5SGlkZGVuLCBsYWJlbFBvc2l0aW9uLCAuLi5vdGhlciB9ID0gcHJvcHM7XHJcbiAgICBjb25zdCBpMThuID0gUmVhY3QudXNlQ29udGV4dChJMThuQ29udGV4dCk7XHJcbiAgICBjb25zdCB0aGVtZSA9IFJlYWN0LnVzZUNvbnRleHQoVGhlbWVDb250ZXh0KTtcclxuICAgIGNvbnN0IGljb25Qb3NpdGlvbiA9IGljb24gJiYgb25JY29uQ2xpY2tcclxuICAgICAgICA/IElucHV0SWNvblBvc2l0aW9uLnJpZ2h0XHJcbiAgICAgICAgOiBpY29uICYmICFwcm9wcy5pY29uUG9zaXRpb25cclxuICAgICAgICAgICAgPyBJbnB1dEljb25Qb3NpdGlvbi5sZWZ0XHJcbiAgICAgICAgICAgIDogcHJvcHMuaWNvblBvc2l0aW9uO1xyXG4gICAgY29uc3QgW3ZhbHVlLCBzZXRWYWx1ZV0gPSBSZWFjdC51c2VTdGF0ZShwcm9wcy5kZWZhdWx0VmFsdWUgIT09IHVuZGVmaW5lZCAmJiBwcm9wcy5kZWZhdWx0VmFsdWUgIT09IG51bGxcclxuICAgICAgICA/IHByb3BzLmRlZmF1bHRWYWx1ZVxyXG4gICAgICAgIDogcHJvcHMudmFsdWUgfHwgJycpO1xyXG4gICAgY29uc3QgbWF4TGVuZ3RoTnVtID0gIWhhc0NoYXJhY3RlckNvdW50ZXIgJiYgbWF4TGVuZ3RoID8gbWF4TGVuZ3RoIDogdW5kZWZpbmVkO1xyXG4gICAgUmVhY3QudXNlRWZmZWN0KCgpID0+IHtcclxuICAgICAgICBpZiAocHJvcHMudmFsdWUgIT09IHVuZGVmaW5lZCAmJiBwcm9wcy52YWx1ZSAhPT0gbnVsbCkge1xyXG4gICAgICAgICAgICBzZXRWYWx1ZShwcm9wcy52YWx1ZSk7XHJcbiAgICAgICAgfVxyXG4gICAgfSwgW3Byb3BzLnZhbHVlXSk7XHJcbiAgICBjb25zdCBpbnB1dFJlZiA9IFJlYWN0LnVzZVJlZigpO1xyXG4gICAgY29uc3QgcmVmID0gdXNlRm9ya2VkUmVmKGZvcndhcmRlZFJlZiwgaW5wdXRSZWYpO1xyXG4gICAgZnVuY3Rpb24gaGFuZGxlQ2xlYXJJbnB1dCgpIHtcclxuICAgICAgICBvbkNsZWFyICYmIHR5cGVvZiBvbkNsZWFyID09PSAnZnVuY3Rpb24nICYmIG9uQ2xlYXIoKTtcclxuICAgICAgICBzZXRWYWx1ZSgnJyk7XHJcbiAgICAgICAgb25EYXRlQ2hhbmdlICYmIHR5cGVvZiBvbkRhdGVDaGFuZ2UgPT09ICdmdW5jdGlvbicgJiYgb25EYXRlQ2hhbmdlKG51bGwpO1xyXG4gICAgICAgIGlucHV0UmVmLmN1cnJlbnQuZm9jdXMoKTtcclxuICAgIH1cclxuICAgIGZ1bmN0aW9uIGhhbmRsZUNoYW5nZShldmVudCkge1xyXG4gICAgICAgIHByb3BzLm9uQ2hhbmdlICYmXHJcbiAgICAgICAgICAgIHR5cGVvZiBwcm9wcy5vbkNoYW5nZSA9PT0gJ2Z1bmN0aW9uJyAmJlxyXG4gICAgICAgICAgICBwcm9wcy5vbkNoYW5nZShldmVudCk7XHJcbiAgICAgICAgc2V0VmFsdWUoZXZlbnQudGFyZ2V0LnZhbHVlKTtcclxuICAgICAgICBpZiAoIWV2ZW50LnRhcmdldC52YWx1ZSAmJlxyXG4gICAgICAgICAgICBvbkRhdGVDaGFuZ2UgJiZcclxuICAgICAgICAgICAgdHlwZW9mIG9uRGF0ZUNoYW5nZSA9PT0gJ2Z1bmN0aW9uJylcclxuICAgICAgICAgICAgb25EYXRlQ2hhbmdlKG51bGwpO1xyXG4gICAgfVxyXG4gICAgY29uc3QgcGFzc3dvcmRCdG5XaWR0aCA9ICgpID0+IHtcclxuICAgICAgICBjb25zdCBidG5XaWR0aCA9IGNoaWxkcmVuPy5wcm9wcz8uY2hpbGRyZW4/LlswXT8ucmVmPy5jdXJyZW50Py5vZmZzZXRXaWR0aDtcclxuICAgICAgICBpZiAodHlwZW9mIGJ0bldpZHRoID09PSAnbnVtYmVyJykge1xyXG4gICAgICAgICAgICByZXR1cm4gYnRuV2lkdGg7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgICAvLyBXaGVuIFBhc3N3b3JkQnV0dG9uIGlzIHVzZWQgaW5zaWRlIFNjaGVtYVJlbmRlcmVyLCBpdCBkb2Vzbid0IGhhdmUgY2hpbGRyZW4uXHJcbiAgICAgICAgICAgIC8vIFdlJ2xsIHVzZSB0aGUgZGVmYXVsdCBidXR0b24gc2l6ZXMuXHJcbiAgICAgICAgICAgIGlmIChwcm9wcy5pbnB1dFNpemUgPT09IElucHV0U2l6ZS5sYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuIDY0O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHJldHVybiA1NDtcclxuICAgICAgICB9XHJcbiAgICB9O1xyXG4gICAgcmV0dXJuIChSZWFjdC5jcmVhdGVFbGVtZW50KFwiZGl2XCIsIHsgcmVmOiBzZXRSZWZlcmVuY2UgfSxcclxuICAgICAgICBSZWFjdC5jcmVhdGVFbGVtZW50KElucHV0Q29udGFpbmVyLCB7IHN0eWxlOiBpbnB1dFdyYXBwZXJTdHlsZSwgXCJkYXRhLXRlc3RpZFwiOiBgJHt0ZXN0SWR9LXdyYXBwZXJgIH0sXHJcbiAgICAgICAgICAgIFJlYWN0LmNyZWF0ZUVsZW1lbnQoSW5wdXRXcmFwcGVyLCB7IGRpc2FibGVkOiBkaXNhYmxlZCwgaWNvblBvc2l0aW9uOiBpY29uUG9zaXRpb24sIGlzSW52ZXJzZTogcHJvcHMuaXNJbnZlcnNlLCBpbnB1dFNpemU6IGlucHV0U2l6ZSA/PyBJbnB1dFNpemUubWVkaXVtLCB0aGVtZTogdGhlbWUsIHN0eWxlOiBjb250YWluZXJTdHlsZSwgaGFzRXJyb3I6IGhhc0Vycm9yLCBpc0NsZWFyYWJsZTogaXNDbGVhcmFibGUsIHdpZHRoOiBwcm9wcy53aWR0aCB9LFxyXG4gICAgICAgICAgICAgICAgUmVhY3QuY3JlYXRlRWxlbWVudChTdHlsZWRJbnB1dCwgT2JqZWN0LmFzc2lnbih7fSwgb3RoZXIsIHsgXCJhcmlhLWludmFsaWRcIjogaGFzRXJyb3IsIGRpc2FibGVkOiBkaXNhYmxlZCwgXCJkYXRhLXRlc3RpZFwiOiB0ZXN0SWQsIGhhc0NoYXJhY3RlckNvdW50ZXI6IGhhc0NoYXJhY3RlckNvdW50ZXIsIGljb25Qb3NpdGlvbjogaWNvblBvc2l0aW9uLCBpbnB1dFNpemU6IGlucHV0U2l6ZSA/PyBJbnB1dFNpemUubWVkaXVtLCBpc0NsZWFyYWJsZTogdHlwZSA9PT0gSW5wdXRUeXBlLnNlYXJjaFxyXG4gICAgICAgICAgICAgICAgICAgICAgICA/IGlzQ2xlYXJhYmxlXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDogaW5wdXRXcmFwcGVyU3R5bGU/LndpZHRoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA/IGlzQ2xlYXJhYmxlXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IGlzQ2xlYXJhYmxlICYmIGlucHV0TGVuZ3RoID4gMCwgaXNJbnZlcnNlOiB1c2VJc0ludmVyc2UocHJvcHMuaXNJbnZlcnNlKSwgaXNQcmVkaWN0aXZlOiBpc1ByZWRpY3RpdmUsIGhhc0Vycm9yOiBoYXNFcnJvciwgcmVmOiByZWYsIG1heExlbmd0aDogbWF4TGVuZ3RoTnVtLCBvbkNoYW5nZTogaGFuZGxlQ2hhbmdlLCBzdHlsZTogaW5wdXRTdHlsZSwgdGhlbWU6IHRoZW1lLCB0eXBlOiB0eXBlID8gdHlwZSA6IElucHV0VHlwZS50ZXh0LCB2YWx1ZTogdmFsdWUgfSkpLFxyXG4gICAgICAgICAgICAgICAgaWNvbiAmJiAhb25JY29uQ2xpY2sgJiYgKFJlYWN0LmNyZWF0ZUVsZW1lbnQoSWNvbldyYXBwZXIsIHsgXCJhcmlhLWxhYmVsXCI6IGljb25BcmlhTGFiZWwsIGljb25Qb3NpdGlvbjogaWNvblBvc2l0aW9uLCBpbnB1dFNpemU6IGlucHV0U2l6ZSA/PyBJbnB1dFNpemUubWVkaXVtLCBpc0ludmVyc2U6IHByb3BzLmlzSW52ZXJzZSwgaXNQcmVkaWN0aXZlOiBpc1ByZWRpY3RpdmUsIHRoZW1lOiB0aGVtZSwgZGlzYWJsZWQ6IGRpc2FibGVkIH0sIFJlYWN0LkNoaWxkcmVuLm9ubHkoUmVhY3QuY2xvbmVFbGVtZW50KGljb24sIHtcclxuICAgICAgICAgICAgICAgICAgICBzaXplOiBnZXRJY29uU2l6ZShpbnB1dFNpemUgPz8gSW5wdXRTaXplLm1lZGl1bSwgdGhlbWUsIGljb25Qb3NpdGlvbiksXHJcbiAgICAgICAgICAgICAgICB9KSkpKSksXHJcbiAgICAgICAgICAgIGlzQ2xlYXJhYmxlICYmIHZhbHVlICE9PSAnJyAmJiAoUmVhY3QuY3JlYXRlRWxlbWVudChJc0NsZWFyYWJsZUNvbnRhaW5lciwgeyB0aGVtZTogdGhlbWUsIGljb25Qb3NpdGlvbjogaWNvblBvc2l0aW9uLCBpbnB1dFNpemU6IGlucHV0U2l6ZSwgaWNvbjogaWNvbiB9LFxyXG4gICAgICAgICAgICAgICAgUmVhY3QuY3JlYXRlRWxlbWVudChJY29uQnV0dG9uLCB7IFwiYXJpYS1sYWJlbFwiOiBpMThuLmlucHV0LmlzQ2xlYXJhYmxlQXJpYUxhYmVsLCBkaXNhYmxlZDogZGlzYWJsZWQsIGljb246IFJlYWN0LmNyZWF0ZUVsZW1lbnQoQ2xlYXJJY29uLCBudWxsKSwgaXNJbnZlcnNlOiBwcm9wcy5pc0ludmVyc2UsIG9uQ2xpY2s6IGhhbmRsZUNsZWFySW5wdXQsIG9uS2V5RG93bjogb25JY29uS2V5RG93biwgcmVmOiBpY29uUmVmLCBzaGFwZTogQnV0dG9uU2hhcGUuZmlsbCwgc2l6ZTogaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2VcclxuICAgICAgICAgICAgICAgICAgICAgICAgPyBCdXR0b25TaXplLm1lZGl1bVxyXG4gICAgICAgICAgICAgICAgICAgICAgICA6IEJ1dHRvblNpemUuc21hbGwsIHRlc3RJZDogXCJjbGVhci1idXR0b25cIiwgdHlwZTogQnV0dG9uVHlwZS5idXR0b24sIHZhcmlhbnQ6IEJ1dHRvblZhcmlhbnQubGluayB9KSkpLFxyXG4gICAgICAgICAgICBvbkljb25DbGljayAmJiAoUmVhY3QuY3JlYXRlRWxlbWVudChJY29uQnV0dG9uQ29udGFpbmVyLCB7IGljb25Qb3NpdGlvbjogaWNvblBvc2l0aW9uLCBpbnB1dFNpemU6IGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlXHJcbiAgICAgICAgICAgICAgICAgICAgPyBJbnB1dFNpemUubGFyZ2VcclxuICAgICAgICAgICAgICAgICAgICA6IElucHV0U2l6ZS5tZWRpdW0sIHRoZW1lOiB0aGVtZSwgaXNDbGlja2FibGU6IHRydWUgfSxcclxuICAgICAgICAgICAgICAgIFJlYWN0LmNyZWF0ZUVsZW1lbnQoSWNvbkJ1dHRvbiwgeyBcImFyaWEtbGFiZWxcIjogaWNvbkFyaWFMYWJlbCwgaWNvbjogaWNvbiwgaXNJbnZlcnNlOiBwcm9wcy5pc0ludmVyc2UsIG9uQ2xpY2s6IG9uSWNvbkNsaWNrLCBvbktleURvd246IG9uSWNvbktleURvd24sIHJlZjogaWNvblJlZiwgZGlzYWJsZWQ6IGRpc2FibGVkLCBzaGFwZTogQnV0dG9uU2hhcGUuZmlsbCwgc2l6ZTogaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2VcclxuICAgICAgICAgICAgICAgICAgICAgICAgPyBCdXR0b25TaXplLm1lZGl1bVxyXG4gICAgICAgICAgICAgICAgICAgICAgICA6IEJ1dHRvblNpemUuc21hbGwsIHR5cGU6IEJ1dHRvblR5cGUuYnV0dG9uLCB2YXJpYW50OiBCdXR0b25WYXJpYW50LmxpbmsgfSkpKSxcclxuICAgICAgICAgICAgaXNQYXNzd29yZElucHV0ID8gKFJlYWN0LmNyZWF0ZUVsZW1lbnQoUGFzc3dvcmRCdXR0b25Db250YWluZXIsIHsgc2l6ZTogaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2VcclxuICAgICAgICAgICAgICAgICAgICA/IElucHV0U2l6ZS5sYXJnZVxyXG4gICAgICAgICAgICAgICAgICAgIDogSW5wdXRTaXplLm1lZGl1bSwgdGhlbWU6IHRoZW1lLCBidXR0b25XaWR0aDogcGFzc3dvcmRCdG5XaWR0aCgpIH0sIGNoaWxkcmVuKSkgOiAoUmVhY3QuY3JlYXRlRWxlbWVudChIZWxwTGlua0NvbnRhaW5lciwgeyBpc0xhYmVsVmlzdWFsbHlIaWRkZW46IGlzTGFiZWxWaXN1YWxseUhpZGRlbiB8fCBmYWxzZSwgaW5wdXRTaXplOiBpbnB1dFNpemUgPz8gSW5wdXRTaXplLm1lZGl1bSwgbGFiZWxQb3NpdGlvbjogbGFiZWxQb3NpdGlvbiA/PyBMYWJlbFBvc2l0aW9uLnRvcCwgdGhlbWU6IHRoZW1lIH0sIGNoaWxkcmVuKSkpKSk7XHJcbn0pO1xyXG4vLyMgc291cmNlTWFwcGluZ1VSTD1pbmRleC5qcy5tYXAiXX0= */"));
|
|
5078
|
+
}, "\n );" + (process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImluZGV4LnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFvV3lDIiwiZmlsZSI6ImluZGV4LnRzeCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIFJlYWN0IGZyb20gJ3JlYWN0JztcclxuaW1wb3J0IHsgY3NzIH0gZnJvbSAnQGVtb3Rpb24vcmVhY3QnO1xyXG5pbXBvcnQgc3R5bGVkIGZyb20gJ0BlbW90aW9uL3N0eWxlZCc7XHJcbmltcG9ydCB7IHRyYW5zcGFyZW50aXplIH0gZnJvbSAncG9saXNoZWQnO1xyXG5pbXBvcnQgeyBDbGVhckljb24gfSBmcm9tICdyZWFjdC1tYWdtYS1pY29ucyc7XHJcbmltcG9ydCB7IEkxOG5Db250ZXh0IH0gZnJvbSAnLi4vLi4vaTE4bic7XHJcbmltcG9ydCB7IHVzZUlzSW52ZXJzZSB9IGZyb20gJy4uLy4uL2ludmVyc2UnO1xyXG5pbXBvcnQgeyBUaGVtZUNvbnRleHQgfSBmcm9tICcuLi8uLi90aGVtZS9UaGVtZUNvbnRleHQnO1xyXG5pbXBvcnQgeyB1c2VGb3JrZWRSZWYgfSBmcm9tICcuLi8uLi91dGlscyc7XHJcbmltcG9ydCB7IEJ1dHRvblNoYXBlLCBCdXR0b25TaXplLCBCdXR0b25UeXBlLCBCdXR0b25WYXJpYW50IH0gZnJvbSAnLi4vQnV0dG9uJztcclxuaW1wb3J0IHsgSWNvbkJ1dHRvbiB9IGZyb20gJy4uL0ljb25CdXR0b24nO1xyXG5pbXBvcnQgeyBMYWJlbFBvc2l0aW9uIH0gZnJvbSAnLi4vTGFiZWwnO1xyXG5pbXBvcnQgeyBDaGlsZHJlbldyYXBwZXIgfSBmcm9tICcuLi9TdHlsZWRCdXR0b24nO1xyXG5leHBvcnQgdmFyIElucHV0U2l6ZTtcclxuKGZ1bmN0aW9uIChJbnB1dFNpemUpIHtcclxuICAgIElucHV0U2l6ZVtcImxhcmdlXCJdID0gXCJsYXJnZVwiO1xyXG4gICAgSW5wdXRTaXplW1wibWVkaXVtXCJdID0gXCJtZWRpdW1cIjtcclxufSkoSW5wdXRTaXplIHx8IChJbnB1dFNpemUgPSB7fSkpO1xyXG5leHBvcnQgdmFyIElucHV0VHlwZTtcclxuKGZ1bmN0aW9uIChJbnB1dFR5cGUpIHtcclxuICAgIElucHV0VHlwZVtcImVtYWlsXCJdID0gXCJlbWFpbFwiO1xyXG4gICAgSW5wdXRUeXBlW1wiZmlsZVwiXSA9IFwiZmlsZVwiO1xyXG4gICAgSW5wdXRUeXBlW1wibnVtYmVyXCJdID0gXCJudW1iZXJcIjtcclxuICAgIElucHV0VHlwZVtcInBhc3N3b3JkXCJdID0gXCJwYXNzd29yZFwiO1xyXG4gICAgSW5wdXRUeXBlW1wic2VhcmNoXCJdID0gXCJzZWFyY2hcIjtcclxuICAgIElucHV0VHlwZVtcInRleHRcIl0gPSBcInRleHRcIjtcclxuICAgIElucHV0VHlwZVtcInVybFwiXSA9IFwidXJsXCI7XHJcbiAgICBJbnB1dFR5cGVbXCJ0ZWxcIl0gPSBcInRlbFwiO1xyXG59KShJbnB1dFR5cGUgfHwgKElucHV0VHlwZSA9IHt9KSk7XHJcbmV4cG9ydCB2YXIgSW5wdXRJY29uUG9zaXRpb247XHJcbihmdW5jdGlvbiAoSW5wdXRJY29uUG9zaXRpb24pIHtcclxuICAgIElucHV0SWNvblBvc2l0aW9uW1widG9wXCJdID0gXCJ0b3BcIjtcclxuICAgIElucHV0SWNvblBvc2l0aW9uW1wibGVmdFwiXSA9IFwibGVmdFwiO1xyXG4gICAgSW5wdXRJY29uUG9zaXRpb25bXCJyaWdodFwiXSA9IFwicmlnaHRcIjtcclxufSkoSW5wdXRJY29uUG9zaXRpb24gfHwgKElucHV0SWNvblBvc2l0aW9uID0ge30pKTtcclxuZXhwb3J0IGNvbnN0IGlucHV0V3JhcHBlclN0eWxlcyA9IChwcm9wcykgPT4gY3NzIGBcbiAgZmxleDogMSAxIGF1dG87XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgd2lkdGg6ICR7cHJvcHMud2lkdGggfHwgJ2F1dG8nfTtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHtwcm9wcy5pc0ludmVyc2VcclxuICAgID8gdHJhbnNwYXJlbnRpemUoMC44LCBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDkwMClcclxuICAgIDogcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWwxMDB9O1xuICBib3JkZXItcmFkaXVzOiAke3Byb3BzLnRoZW1lLmJvcmRlclJhZGl1c307XG4gIGJvcmRlcjogMXB4IHNvbGlkXG4gICAgJHtwcm9wcy5pc0ludmVyc2VcclxuICAgID8gdHJhbnNwYXJlbnRpemUoMC41LCBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDEwMClcclxuICAgIDogcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWw1MDB9O1xuICBoZWlnaHQ6ICR7cHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDl9O1xuXG4gICY6Zm9jdXMtd2l0aGluIHtcbiAgICBvdXRsaW5lOiAycHggc29saWRcbiAgICAgICR7cHJvcHMuaXNJbnZlcnNlXHJcbiAgICA/IHByb3BzLnRoZW1lLmNvbG9ycy5mb2N1c0ludmVyc2VcclxuICAgIDogcHJvcHMudGhlbWUuY29sb3JzLmZvY3VzfTtcbiAgICBvdXRsaW5lLW9mZnNldDogLTFweDtcbiAgfVxuXG4gICR7cHJvcHMuaGFzRXJyb3IgJiZcclxuICAgIGNzcyBgXG4gICAgYm9yZGVyLWNvbG9yOiAke3Byb3BzLmlzSW52ZXJzZVxyXG4gICAgICAgID8gcHJvcHMudGhlbWUuY29sb3JzLmRhbmdlcjMwMFxyXG4gICAgICAgIDogcHJvcHMudGhlbWUuY29sb3JzLmRhbmdlcn07XG4gIGB9XG5cbiAgJHtwcm9wcy5kaXNhYmxlZCAmJlxyXG4gICAgY3NzIGBcbiAgICBib3JkZXItY29sb3I6ICR7cHJvcHMuaXNJbnZlcnNlXHJcbiAgICAgICAgPyB0cmFuc3BhcmVudGl6ZSgwLjg1LCBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDEwMClcclxuICAgICAgICA6IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsMzAwfTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAke3Byb3BzLmlzSW52ZXJzZVxyXG4gICAgICAgID8gdHJhbnNwYXJlbnRpemUoMC45LCBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDkwMClcclxuICAgICAgICA6IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsMjAwfTtcbiAgYH1cblxuICAke3Byb3BzLmlucHV0U2l6ZSA9PT0gJ2xhcmdlJyAmJlxyXG4gICAgY3NzIGBcbiAgICBoZWlnaHQ6ICR7cHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMTF9O1xuICBgfVxuYDtcclxuZnVuY3Rpb24gZ2V0SW5wdXRQYWRkaW5nKHByb3BzKSB7XHJcbiAgICBjb25zdCB7IGlucHV0U2l6ZSwgaXNDbGVhcmFibGUsIGljb25Qb3NpdGlvbiB9ID0gcHJvcHM7XHJcbiAgICBjb25zdCBwYWRkaW5nID0ge1xyXG4gICAgICAgIGxlZnQ6IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzAzLFxyXG4gICAgICAgIHJpZ2h0OiBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwMyxcclxuICAgIH07XHJcbiAgICBpZiAoaW5wdXRTaXplID09PSAnbGFyZ2UnKSB7XHJcbiAgICAgICAgaWYgKGlzQ2xlYXJhYmxlKSB7XHJcbiAgICAgICAgICAgIGlmIChpY29uUG9zaXRpb24gPT09ICdyaWdodCcpIHtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmcucmlnaHQgPSAnOTJweCc7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgZWxzZSBpZiAoaWNvblBvc2l0aW9uID09PSAnbGVmdCcpIHtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmcubGVmdCA9IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzExO1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy5yaWdodCA9IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzExO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgLy8gaWNvbiB0b3AsIG5vIGljb25cclxuICAgICAgICAgICAgICAgIHBhZGRpbmcucmlnaHQgPSBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcxMTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBlbHNlIHtcclxuICAgICAgICAgICAgaWYgKGljb25Qb3NpdGlvbiA9PT0gJ3JpZ2h0Jykge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy5yaWdodCA9IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzEwO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGlmIChpY29uUG9zaXRpb24gPT09ICdsZWZ0Jykge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy5sZWZ0ID0gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMTA7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICBlbHNlIGlmIChpbnB1dFNpemUgPT09ICdtZWRpdW0nKSB7XHJcbiAgICAgICAgaWYgKGlzQ2xlYXJhYmxlKSB7XHJcbiAgICAgICAgICAgIGlmIChpY29uUG9zaXRpb24gPT09ICdyaWdodCcpIHtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmcucmlnaHQgPSAnNjhweCc7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgZWxzZSBpZiAoaWNvblBvc2l0aW9uID09PSAnbGVmdCcpIHtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmcubGVmdCA9IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzA5O1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy5yaWdodCA9IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzA5O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgLy8gaWNvbiB0b3AsIG5vIGljb25cclxuICAgICAgICAgICAgICAgIHBhZGRpbmcucmlnaHQgPSBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwOTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBlbHNlIHtcclxuICAgICAgICAgICAgaWYgKGljb25Qb3NpdGlvbiA9PT0gJ3JpZ2h0Jykge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy5yaWdodCA9IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzA5O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGlmIChpY29uUG9zaXRpb24gPT09ICdsZWZ0Jykge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy5sZWZ0ID0gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICByZXR1cm4gcGFkZGluZztcclxufVxyXG5leHBvcnQgY29uc3QgaW5wdXRCYXNlU3R5bGVzID0gKHByb3BzKSA9PiBjc3MgYFxuICBib3JkZXI6IDA7XG4gIGJvcmRlci1yYWRpdXM6ICR7cHJvcHMudGhlbWUuYm9yZGVyUmFkaXVzfTtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIGNvbG9yOiAke3Byb3BzLmlzSW52ZXJzZVxyXG4gICAgPyBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDEwMFxyXG4gICAgOiBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDcwMH07XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBmb250LXNpemU6ICR7cHJvcHMudGhlbWUudHlwZVNjYWxlLnNpemUwMy5mb250U2l6ZX07XG4gIGxpbmUtaGVpZ2h0OiAke3Byb3BzLnRoZW1lLnR5cGVTY2FsZS5zaXplMDMubGluZUhlaWdodH07XG4gIGZvbnQtZmFtaWx5OiAke3Byb3BzLnRoZW1lLmJvZHlGb250fTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBwYWRkaW5nOiAke3Byb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzAzfTtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICB3aWR0aDogMTAwJTtcblxuICAke3Byb3BzLmlucHV0U2l6ZSA9PT0gJ2xhcmdlJyAmJlxyXG4gICAgY3NzIGBcbiAgICBmb250LXNpemU6ICR7cHJvcHMudGhlbWUudHlwZVNjYWxlLnNpemUwNC5mb250U2l6ZX07XG4gICAgbGluZS1oZWlnaHQ6ICR7cHJvcHMudGhlbWUudHlwZVNjYWxlLnNpemUwNC5saW5lSGVpZ2h0fTtcbiAgICBwYWRkaW5nOiAke3Byb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzA0fTtcbiAgYH1cblxuICBwYWRkaW5nLWxlZnQ6ICR7Z2V0SW5wdXRQYWRkaW5nKHByb3BzKS5sZWZ0fTtcbiAgcGFkZGluZy1yaWdodDogJHtnZXRJbnB1dFBhZGRpbmcocHJvcHMpLnJpZ2h0fTtcblxuICAmOjpwbGFjZWhvbGRlciB7XG4gICAgY29sb3I6ICR7cHJvcHMuaXNJbnZlcnNlXHJcbiAgICA/IHRyYW5zcGFyZW50aXplKDAuMywgcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWwxMDApXHJcbiAgICA6IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsNTAwfTtcbiAgfVxuXG4gICY6Zm9jdXMge1xuICAgIG91dGxpbmU6IDA7XG4gIH1cblxuICAmW3R5cGU9J3NlYXJjaCddIHtcbiAgICAmOjotd2Via2l0LXNlYXJjaC1kZWNvcmF0aW9uLFxuICAgICY6Oi13ZWJraXQtc2VhcmNoLWNhbmNlbC1idXR0b24sXG4gICAgJjo6LXdlYmtpdC1zZWFyY2gtcmVzdWx0cy1idXR0b24sXG4gICAgJjo6LXdlYmtpdC1zZWFyY2gtcmVzdWx0cy1kZWNvcmF0aW9uIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICB9XG5cbiAgJHtwcm9wcy5kaXNhYmxlZCAmJlxyXG4gICAgY3NzIGBcbiAgICBjb2xvcjogJHtwcm9wcy5pc0ludmVyc2VcclxuICAgICAgICA/IHRyYW5zcGFyZW50aXplKDAuNiwgcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWwxMDApXHJcbiAgICAgICAgOiB0cmFuc3BhcmVudGl6ZSgwLjQsIHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsNTAwKX07XG4gICAgY3Vyc29yOiBub3QtYWxsb3dlZDtcblxuICAgICY6OnBsYWNlaG9sZGVyIHtcbiAgICAgIGNvbG9yOiAke3Byb3BzLmlzSW52ZXJzZVxyXG4gICAgICAgID8gdHJhbnNwYXJlbnRpemUoMC44LCBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDEwMClcclxuICAgICAgICA6IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsNTAwfTtcbiAgICAgIG9wYWNpdHk6ICR7cHJvcHMuaXNJbnZlcnNlID8gMC40IDogMC42fTtcbiAgICB9XG4gIGB9XG5cbiAgJjotd2Via2l0LWF1dG9maWxsLFxuICAmOi13ZWJraXQtYXV0b2ZpbGw6Zm9jdXMsXG4gICY6LXdlYmtpdC1hdXRvZmlsbDpob3ZlcixcbiAgJjotd2Via2l0LWF1dG9maWxsOmFjdGl2ZSB7XG4gICAgYm94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xuICAgIC13ZWJraXQtYmFja2dyb3VuZC1jbGlwOiB0ZXh0O1xuICAgIC13ZWJraXQtdGV4dC1maWxsLWNvbG9yOiAke3Byb3BzLmlzSW52ZXJzZVxyXG4gICAgPyBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDEwMFxyXG4gICAgOiBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDcwMH0gIWltcG9ydGFudDtcbiAgICBjYXJldC1jb2xvcjogJHtwcm9wcy5pc0ludmVyc2VcclxuICAgID8gcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWwxMDBcclxuICAgIDogcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWw3MDB9ICFpbXBvcnRhbnQ7XG4gIH1cbmA7XHJcbmNvbnN0IElucHV0Q29udGFpbmVyID0gc3R5bGVkLmRpdiBgXG4gIGRpc3BsYXk6IGZsZXg7XG5gO1xyXG5leHBvcnQgY29uc3QgSW5wdXRXcmFwcGVyID0gc3R5bGVkLmRpdiBgXG4gICR7aW5wdXRXcmFwcGVyU3R5bGVzfVxuYDtcclxuY29uc3QgU3R5bGVkSW5wdXQgPSBzdHlsZWQuaW5wdXQgYFxuICAke2lucHV0QmFzZVN0eWxlc31cbmA7XHJcbmNvbnN0IEljb25XcmFwcGVyID0gc3R5bGVkLnNwYW4gYFxuICBib3R0b206ICR7cHJvcHMgPT4gKHByb3BzLmljb25Qb3NpdGlvbiA9PT0gJ3RvcCcgPyAnNDVweCcgOiAnaW5oZXJpdCcpfTtcbiAgY29sb3I6ICR7cHJvcHMgPT4gcHJvcHMuaXNJbnZlcnNlXHJcbiAgICA/IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsMTAwXHJcbiAgICA6IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsNzAwfTtcbiAgbGVmdDogJHtwcm9wcyA9PiBwcm9wcy5pY29uUG9zaXRpb24gPT09ICdsZWZ0JyA/IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzAzIDogJ2F1dG8nfTtcbiAgcmlnaHQ6ICR7cHJvcHMgPT4gcHJvcHMuaWNvblBvc2l0aW9uID09PSAncmlnaHQnXHJcbiAgICA/IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzAzXHJcbiAgICA6IHByb3BzLmljb25Qb3NpdGlvbiA9PT0gJ3RvcCdcclxuICAgICAgICA/ICczcHgnXHJcbiAgICAgICAgOiAnYXV0byd9O1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogJHtwcm9wcyA9PiBwcm9wcy5pY29uUG9zaXRpb24gPT09ICd0b3AnXHJcbiAgICA/ICdpbmhlcml0J1xyXG4gICAgOiBwcm9wcyA9PiBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwM307XG5cbiAgJHtwcm9wcyA9PiBwcm9wcy5pbnB1dFNpemUgPT09ICdsYXJnZScgJiZcclxuICAgIGNzcyBgXG4gICAgICBib3R0b206ICR7cHJvcHMuaWNvblBvc2l0aW9uID09PSAndG9wJyA/ICc2MnB4JyA6ICdpbmhlcml0J307XG4gICAgICBsZWZ0OiAke3Byb3BzLmljb25Qb3NpdGlvbiA9PT0gJ2xlZnQnXHJcbiAgICAgICAgPyBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwNFxyXG4gICAgICAgIDogJ2F1dG8nfTtcbiAgICAgIHJpZ2h0OiAke3Byb3BzLmljb25Qb3NpdGlvbiA9PT0gJ3JpZ2h0J1xyXG4gICAgICAgID8gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDRcclxuICAgICAgICA6IHByb3BzLmljb25Qb3NpdGlvbiA9PT0gJ3RvcCdcclxuICAgICAgICAgICAgPyAnM3B4J1xyXG4gICAgICAgICAgICA6ICdhdXRvJ307XG4gICAgICB0b3A6ICR7cHJvcHMuaWNvblBvc2l0aW9uID09PSAndG9wJ1xyXG4gICAgICAgID8gJ2luaGVyaXQnXHJcbiAgICAgICAgOiBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwNH07XG4gICAgYH1cbmA7XHJcbmZ1bmN0aW9uIGdldEljb25CdXR0b25TVkdTaXplKHByb3BzKSB7XHJcbiAgICBjb25zdCB7IGlzQ2xpY2thYmxlLCBpY29uUG9zaXRpb24sIGlucHV0U2l6ZSwgdGhlbWUgfSA9IHByb3BzO1xyXG4gICAgaWYgKGlzQ2xpY2thYmxlICYmIGljb25Qb3NpdGlvbiA9PT0gSW5wdXRJY29uUG9zaXRpb24udG9wKSB7XHJcbiAgICAgICAgaWYgKGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlKSB7XHJcbiAgICAgICAgICAgIHJldHVybiBgJHt0aGVtZS5pY29uU2l6ZXMubWVkaXVtfXB4YDtcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIGAke3RoZW1lLmljb25TaXplcy5zbWFsbH1weGA7XHJcbiAgICB9XHJcbiAgICBpZiAoaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2UpIHtcclxuICAgICAgICByZXR1cm4gYCR7dGhlbWUuaWNvblNpemVzLmxhcmdlfXB4YDtcclxuICAgIH1cclxuICAgIHJldHVybiBgJHt0aGVtZS5pY29uU2l6ZXMubWVkaXVtfXB4YDtcclxufVxyXG5mdW5jdGlvbiBnZXRIZWxwTGlua1NWR1NpemUocHJvcHMpIHtcclxuICAgIGNvbnN0IHsgaW5wdXRTaXplLCB0aGVtZSB9ID0gcHJvcHM7XHJcbiAgICBpZiAoaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2UpIHtcclxuICAgICAgICByZXR1cm4gYCR7dGhlbWUuaWNvblNpemVzLm1lZGl1bX1weGA7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gYCR7dGhlbWUuaWNvblNpemVzLnNtYWxsfXB4YDtcclxufVxyXG5leHBvcnQgZnVuY3Rpb24gZ2V0SGVscEljb25CdXR0b25TaXplKHByb3BzKSB7XHJcbiAgICBjb25zdCB7IGlucHV0U2l6ZSwgdGhlbWUgfSA9IHByb3BzO1xyXG4gICAgaWYgKGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlKSB7XHJcbiAgICAgICAgcmV0dXJuIHRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzA5O1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIHRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzA3O1xyXG59XHJcbmZ1bmN0aW9uIGdldEljb25CdXR0b25UcmFuc2Zvcm0ocHJvcHMpIHtcclxuICAgIGNvbnN0IHsgaXNDbGlja2FibGUsIGljb25Qb3NpdGlvbiwgaW5wdXRTaXplLCBoYXNDaGlsZHJlbiwgdGhlbWUgfSA9IHByb3BzO1xyXG4gICAgY29uc3QgcG9zaXRpb24gPSB7IHg6ICcnLCB5OiAnJyB9O1xyXG4gICAgaWYgKGljb25Qb3NpdGlvbiA9PT0gSW5wdXRJY29uUG9zaXRpb24udG9wKSB7XHJcbiAgICAgICAgaWYgKGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlKSB7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uLnggPSAnLTMwcHgnO1xyXG4gICAgICAgICAgICBwb3NpdGlvbi55ID0gJzJweCc7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2UgaWYgKGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLm1lZGl1bSkge1xyXG4gICAgICAgICAgICBwb3NpdGlvbi54ID0gJy0yOHB4JztcclxuICAgICAgICAgICAgcG9zaXRpb24ueSA9ICc1cHgnO1xyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gcG9zaXRpb247XHJcbiAgICB9XHJcbiAgICBpZiAoaXNDbGlja2FibGUpIHtcclxuICAgICAgICBpZiAoaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2UpIHtcclxuICAgICAgICAgICAgaWYgKGhhc0NoaWxkcmVuKSB7XHJcbiAgICAgICAgICAgICAgICBwb3NpdGlvbi54ID0gJy00M3B4JztcclxuICAgICAgICAgICAgICAgIHBvc2l0aW9uLnkgPSAnMTRweCc7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICAgICAgICBwb3NpdGlvbi54ID0gJy00OXB4JztcclxuICAgICAgICAgICAgICAgIHBvc2l0aW9uLnkgPSAnOHB4JztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBlbHNlIGlmIChpbnB1dFNpemUgPT09IElucHV0U2l6ZS5tZWRpdW0pIHtcclxuICAgICAgICAgICAgcG9zaXRpb24ueCA9ICctMzVweCc7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uLnkgPSAnNnB4JztcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIHBvc2l0aW9uO1xyXG4gICAgfVxyXG4gICAgaWYgKGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlKSB7XHJcbiAgICAgICAgcG9zaXRpb24ueCA9IGAtJHt0aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcxMH1gO1xyXG4gICAgICAgIHBvc2l0aW9uLnkgPSB0aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwMztcclxuICAgIH1cclxuICAgIGVsc2UgaWYgKGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLm1lZGl1bSkge1xyXG4gICAgICAgIHBvc2l0aW9uLnggPSAnLTI0cHgnO1xyXG4gICAgICAgIHBvc2l0aW9uLnkgPSAnN3B4JztcclxuICAgIH1cclxuICAgIHJldHVybiBwb3NpdGlvbjtcclxufVxyXG5leHBvcnQgY29uc3QgSWNvbkJ1dHRvbkNvbnRhaW5lciA9IHN0eWxlZC5zcGFuIGBcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGJvdHRvbTogJHtwcm9wcyA9PiAocHJvcHMuaWNvblBvc2l0aW9uID09PSAndG9wJyA/ICc0MHB4JyA6ICdpbmhlcml0Jyl9O1xuICBoZWlnaHQ6IGF1dG87XG4gIG1hcmdpbjogMDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aWR0aDogMDtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoXG4gICAgJHtwcm9wcyA9PiBnZXRJY29uQnV0dG9uVHJhbnNmb3JtKHByb3BzKS54fSxcbiAgICAke3Byb3BzID0+IGdldEljb25CdXR0b25UcmFuc2Zvcm0ocHJvcHMpLnl9XG4gICk7XG4gIHN2ZyB7XG4gICAgaGVpZ2h0OiAke3Byb3BzID0+IGdldEljb25CdXR0b25TVkdTaXplKHByb3BzKX07XG4gICAgd2lkdGg6ICR7cHJvcHMgPT4gZ2V0SWNvbkJ1dHRvblNWR1NpemUocHJvcHMpfTtcbiAgfVxuYDtcclxuY29uc3QgUGFzc3dvcmRCdXR0b25Db250YWluZXIgPSBzdHlsZWQuc3BhbiBgXG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICB3aWR0aDogMDtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoXG4gICAgJHtwcm9wcyA9PiBwcm9wcy5zaXplID09PSBJbnB1dFNpemUubGFyZ2VcclxuICAgID8gYCR7LXByb3BzLmJ1dHRvbldpZHRoIC0gOH1weGBcclxuICAgIDogYCR7LXByb3BzLmJ1dHRvbldpZHRoIC0gNn1weGB9LFxuICAgICR7cHJvcHMgPT4gcHJvcHMuc2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlID8gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDMgOiAnNnB4J31cbiAgKTtcbmA7XHJcbmZ1bmN0aW9uIGdldENsZWFyYWJsZVBvc2l0aW9uKHByb3BzKSB7XHJcbiAgICBpZiAocHJvcHMuaWNvblBvc2l0aW9uID09PSAncmlnaHQnICYmIHByb3BzLmljb24pIHtcclxuICAgICAgICBpZiAocHJvcHMuaW5wdXRTaXplID09PSAnbGFyZ2UnKSB7XHJcbiAgICAgICAgICAgIHJldHVybiBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcxMztcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuICc3MnB4JztcclxuICAgIH1cclxuICAgIGlmIChwcm9wcy5pbnB1dFNpemUgPT09ICdsYXJnZScpIHtcclxuICAgICAgICByZXR1cm4gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMTA7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gJzM0cHgnO1xyXG59XHJcbmNvbnN0IElzQ2xlYXJhYmxlQ29udGFpbmVyID0gc3R5bGVkLnNwYW4gYFxuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgbWFyZ2luOiAwO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGhlaWdodDogYXV0bztcbiAgd2lkdGg6IDA7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKFxuICAgIC0ke3Byb3BzID0+IGdldENsZWFyYWJsZVBvc2l0aW9uKHByb3BzKX0sXG4gICAgJHtwcm9wcyA9PiBwcm9wcy5pbnB1dFNpemUgPT09IElucHV0U2l6ZS5sYXJnZVxyXG4gICAgPyBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwM1xyXG4gICAgOiAnNnB4J31cbiAgKTtcbmA7XHJcbmZ1bmN0aW9uIGdldEljb25TaXplKHNpemUsIHRoZW1lLCBpY29uUG9zaXRpb24pIHtcclxuICAgIHN3aXRjaCAoc2l6ZSkge1xyXG4gICAgICAgIGNhc2UgJ2xhcmdlJzpcclxuICAgICAgICAgICAgaWYgKGljb25Qb3NpdGlvbiA9PT0gSW5wdXRJY29uUG9zaXRpb24udG9wKSB7XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gdGhlbWUuaWNvblNpemVzLm1lZGl1bTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICByZXR1cm4gdGhlbWUuaWNvblNpemVzLmxhcmdlO1xyXG4gICAgICAgIGRlZmF1bHQ6XHJcbiAgICAgICAgICAgIGlmIChpY29uUG9zaXRpb24gPT09IElucHV0SWNvblBvc2l0aW9uLnRvcCkge1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuIHRoZW1lLmljb25TaXplcy5zbWFsbDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICByZXR1cm4gdGhlbWUuaWNvblNpemVzLm1lZGl1bTtcclxuICAgIH1cclxufVxyXG5leHBvcnQgY29uc3QgaXNMZWZ0T3JIaWRkZW4gPSAoeyBsYWJlbFBvc2l0aW9uLCBpc0xhYmVsVmlzdWFsbHlIaWRkZW4sIH0pID0+IGxhYmVsUG9zaXRpb24gPT09IExhYmVsUG9zaXRpb24ubGVmdCB8fCBpc0xhYmVsVmlzdWFsbHlIaWRkZW47XHJcbmV4cG9ydCBjb25zdCBIZWxwTGlua0NvbnRhaW5lciA9IHN0eWxlZC5zcGFuIGBcbiAgcG9zaXRpb246ICR7cHJvcHMgPT4gKGlzTGVmdE9ySGlkZGVuKHByb3BzKSA/ICdyZWxhdGl2ZScgOiAnYWJzb2x1dGUnKX07XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXG4gIGhlaWdodDogJHtwcm9wcyA9PiAoaXNMZWZ0T3JIaWRkZW4ocHJvcHMpID8gJ2F1dG8nIDogJ2ZpdC1jb250ZW50Jyl9O1xuICBtYXJnaW4taW5saW5lLXN0YXJ0OiAke3Byb3BzID0+IGlzTGVmdE9ySGlkZGVuKHByb3BzKSA/IGAke3Byb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzAzfWAgOiAnYXV0byd9O1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoXG4gICAgJHtwcm9wcyA9PiBpc0xlZnRPckhpZGRlbihwcm9wcylcclxuICAgID8gJzAnXHJcbiAgICA6IGBjYWxjKC0xMDAlIC0gJHtwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwM30pYH1cbiAgKTtcbiAgJHtDaGlsZHJlbldyYXBwZXJ9ID4gc3ZnIHtcbiAgICBoZWlnaHQ6ICR7cHJvcHMgPT4gZ2V0SGVscExpbmtTVkdTaXplKHByb3BzKX07XG4gICAgd2lkdGg6ICR7cHJvcHMgPT4gZ2V0SGVscExpbmtTVkdTaXplKHByb3BzKX07XG4gIH1cbiAgYnV0dG9uIHtcbiAgICBoZWlnaHQ6ICR7cHJvcHMgPT4gZ2V0SGVscEljb25CdXR0b25TaXplKHByb3BzKX07XG4gICAgd2lkdGg6ICR7cHJvcHMgPT4gZ2V0SGVscEljb25CdXR0b25TaXplKHByb3BzKX07XG4gIH1cbiAgaW5zZXQtaW5saW5lLWVuZDogJHtwcm9wcyA9PiAoaXNMZWZ0T3JIaWRkZW4ocHJvcHMpID8gJ2F1dG8nIDogJzAnKX07XG5gO1xyXG5leHBvcnQgY29uc3QgSW5wdXRCYXNlID0gUmVhY3QuZm9yd2FyZFJlZigocHJvcHMsIGZvcndhcmRlZFJlZikgPT4ge1xyXG4gICAgY29uc3QgeyBjaGlsZHJlbiwgY29udGFpbmVyU3R5bGUsIGRlZmF1bHRWYWx1ZSwgZGlzYWJsZWQsIGhhc0NoYXJhY3RlckNvdW50ZXIsIGhhc0Vycm9yLCBpY29uLCBpY29uQXJpYUxhYmVsLCBpY29uUmVmLCBpc0NsZWFyYWJsZSwgaXNQYXNzd29yZElucHV0LCBpc1ByZWRpY3RpdmUsIG1heENvdW50LCBtYXhMZW5ndGgsIG9uQ2xlYXIsIG9uSWNvbkNsaWNrLCBvbkljb25LZXlEb3duLCBvbkRhdGVDaGFuZ2UsIGlucHV0TGVuZ3RoLCBpbnB1dFNpemUsIGlucHV0U3R5bGUsIGlucHV0V3JhcHBlclN0eWxlLCB0ZXN0SWQsIHR5cGUsIHNldFJlZmVyZW5jZSwgaXNMYWJlbFZpc3VhbGx5SGlkZGVuLCBsYWJlbFBvc2l0aW9uLCAuLi5vdGhlciB9ID0gcHJvcHM7XHJcbiAgICBjb25zdCBpMThuID0gUmVhY3QudXNlQ29udGV4dChJMThuQ29udGV4dCk7XHJcbiAgICBjb25zdCB0aGVtZSA9IFJlYWN0LnVzZUNvbnRleHQoVGhlbWVDb250ZXh0KTtcclxuICAgIGNvbnN0IGljb25Qb3NpdGlvbiA9IGljb24gJiYgb25JY29uQ2xpY2tcclxuICAgICAgICA/IElucHV0SWNvblBvc2l0aW9uLnJpZ2h0XHJcbiAgICAgICAgOiBpY29uICYmICFwcm9wcy5pY29uUG9zaXRpb25cclxuICAgICAgICAgICAgPyBJbnB1dEljb25Qb3NpdGlvbi5sZWZ0XHJcbiAgICAgICAgICAgIDogcHJvcHMuaWNvblBvc2l0aW9uO1xyXG4gICAgY29uc3QgW3ZhbHVlLCBzZXRWYWx1ZV0gPSBSZWFjdC51c2VTdGF0ZShwcm9wcy5kZWZhdWx0VmFsdWUgIT09IHVuZGVmaW5lZCAmJiBwcm9wcy5kZWZhdWx0VmFsdWUgIT09IG51bGxcclxuICAgICAgICA/IHByb3BzLmRlZmF1bHRWYWx1ZVxyXG4gICAgICAgIDogcHJvcHMudmFsdWUgfHwgJycpO1xyXG4gICAgY29uc3QgbWF4TGVuZ3RoTnVtID0gIWhhc0NoYXJhY3RlckNvdW50ZXIgJiYgbWF4TGVuZ3RoID8gbWF4TGVuZ3RoIDogdW5kZWZpbmVkO1xyXG4gICAgUmVhY3QudXNlRWZmZWN0KCgpID0+IHtcclxuICAgICAgICBpZiAocHJvcHMudmFsdWUgIT09IHVuZGVmaW5lZCAmJiBwcm9wcy52YWx1ZSAhPT0gbnVsbCkge1xyXG4gICAgICAgICAgICBzZXRWYWx1ZShwcm9wcy52YWx1ZSk7XHJcbiAgICAgICAgfVxyXG4gICAgfSwgW3Byb3BzLnZhbHVlXSk7XHJcbiAgICBjb25zdCBpbnB1dFJlZiA9IFJlYWN0LnVzZVJlZigpO1xyXG4gICAgY29uc3QgcmVmID0gdXNlRm9ya2VkUmVmKGZvcndhcmRlZFJlZiwgaW5wdXRSZWYpO1xyXG4gICAgZnVuY3Rpb24gaGFuZGxlQ2xlYXJJbnB1dCgpIHtcclxuICAgICAgICBvbkNsZWFyICYmIHR5cGVvZiBvbkNsZWFyID09PSAnZnVuY3Rpb24nICYmIG9uQ2xlYXIoKTtcclxuICAgICAgICBzZXRWYWx1ZSgnJyk7XHJcbiAgICAgICAgb25EYXRlQ2hhbmdlICYmIHR5cGVvZiBvbkRhdGVDaGFuZ2UgPT09ICdmdW5jdGlvbicgJiYgb25EYXRlQ2hhbmdlKG51bGwpO1xyXG4gICAgICAgIGlucHV0UmVmLmN1cnJlbnQuZm9jdXMoKTtcclxuICAgIH1cclxuICAgIGZ1bmN0aW9uIGhhbmRsZUNoYW5nZShldmVudCkge1xyXG4gICAgICAgIHByb3BzLm9uQ2hhbmdlICYmXHJcbiAgICAgICAgICAgIHR5cGVvZiBwcm9wcy5vbkNoYW5nZSA9PT0gJ2Z1bmN0aW9uJyAmJlxyXG4gICAgICAgICAgICBwcm9wcy5vbkNoYW5nZShldmVudCk7XHJcbiAgICAgICAgY29uc3QgaXNPbkRhdGVDaGFuZ2UgPSBvbkRhdGVDaGFuZ2UgJiYgdHlwZW9mIG9uRGF0ZUNoYW5nZSA9PT0gJ2Z1bmN0aW9uJztcclxuICAgICAgICBjb25zdCB7IHZhbHVlIH0gPSBldmVudC50YXJnZXQ7XHJcbiAgICAgICAgc2V0VmFsdWUoaXNPbkRhdGVDaGFuZ2UgPyB2YWx1ZSA6IChwcm9wcy52YWx1ZSA/PyB2YWx1ZSkpO1xyXG4gICAgICAgIGlmIChpc09uRGF0ZUNoYW5nZSAmJiAhdmFsdWUpIHtcclxuICAgICAgICAgICAgb25EYXRlQ2hhbmdlKG51bGwpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIGNvbnN0IHBhc3N3b3JkQnRuV2lkdGggPSAoKSA9PiB7XHJcbiAgICAgICAgY29uc3QgYnRuV2lkdGggPSBjaGlsZHJlbj8ucHJvcHM/LmNoaWxkcmVuPy5bMF0/LnJlZj8uY3VycmVudD8ub2Zmc2V0V2lkdGg7XHJcbiAgICAgICAgaWYgKHR5cGVvZiBidG5XaWR0aCA9PT0gJ251bWJlcicpIHtcclxuICAgICAgICAgICAgcmV0dXJuIGJ0bldpZHRoO1xyXG4gICAgICAgIH1cclxuICAgICAgICBlbHNlIHtcclxuICAgICAgICAgICAgLy8gV2hlbiBQYXNzd29yZEJ1dHRvbiBpcyB1c2VkIGluc2lkZSBTY2hlbWFSZW5kZXJlciwgaXQgZG9lc24ndCBoYXZlIGNoaWxkcmVuLlxyXG4gICAgICAgICAgICAvLyBXZSdsbCB1c2UgdGhlIGRlZmF1bHQgYnV0dG9uIHNpemVzLlxyXG4gICAgICAgICAgICBpZiAocHJvcHMuaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgIHJldHVybiA2NDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICByZXR1cm4gNTQ7XHJcbiAgICAgICAgfVxyXG4gICAgfTtcclxuICAgIHJldHVybiAoUmVhY3QuY3JlYXRlRWxlbWVudChcImRpdlwiLCB7IHJlZjogc2V0UmVmZXJlbmNlIH0sXHJcbiAgICAgICAgUmVhY3QuY3JlYXRlRWxlbWVudChJbnB1dENvbnRhaW5lciwgeyBzdHlsZTogaW5wdXRXcmFwcGVyU3R5bGUsIFwiZGF0YS10ZXN0aWRcIjogYCR7dGVzdElkfS13cmFwcGVyYCB9LFxyXG4gICAgICAgICAgICBSZWFjdC5jcmVhdGVFbGVtZW50KElucHV0V3JhcHBlciwgeyBkaXNhYmxlZDogZGlzYWJsZWQsIGljb25Qb3NpdGlvbjogaWNvblBvc2l0aW9uLCBpc0ludmVyc2U6IHByb3BzLmlzSW52ZXJzZSwgaW5wdXRTaXplOiBpbnB1dFNpemUgPz8gSW5wdXRTaXplLm1lZGl1bSwgdGhlbWU6IHRoZW1lLCBzdHlsZTogY29udGFpbmVyU3R5bGUsIGhhc0Vycm9yOiBoYXNFcnJvciwgaXNDbGVhcmFibGU6IGlzQ2xlYXJhYmxlLCB3aWR0aDogcHJvcHMud2lkdGggfSxcclxuICAgICAgICAgICAgICAgIFJlYWN0LmNyZWF0ZUVsZW1lbnQoU3R5bGVkSW5wdXQsIE9iamVjdC5hc3NpZ24oe30sIG90aGVyLCB7IFwiYXJpYS1pbnZhbGlkXCI6IGhhc0Vycm9yLCBkaXNhYmxlZDogZGlzYWJsZWQsIFwiZGF0YS10ZXN0aWRcIjogdGVzdElkLCBoYXNDaGFyYWN0ZXJDb3VudGVyOiBoYXNDaGFyYWN0ZXJDb3VudGVyLCBpY29uUG9zaXRpb246IGljb25Qb3NpdGlvbiwgaW5wdXRTaXplOiBpbnB1dFNpemUgPz8gSW5wdXRTaXplLm1lZGl1bSwgaXNDbGVhcmFibGU6IHR5cGUgPT09IElucHV0VHlwZS5zZWFyY2hcclxuICAgICAgICAgICAgICAgICAgICAgICAgPyBpc0NsZWFyYWJsZVxyXG4gICAgICAgICAgICAgICAgICAgICAgICA6IGlucHV0V3JhcHBlclN0eWxlPy53aWR0aFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPyBpc0NsZWFyYWJsZVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBpc0NsZWFyYWJsZSAmJiBpbnB1dExlbmd0aCA+IDAsIGlzSW52ZXJzZTogdXNlSXNJbnZlcnNlKHByb3BzLmlzSW52ZXJzZSksIGlzUHJlZGljdGl2ZTogaXNQcmVkaWN0aXZlLCBoYXNFcnJvcjogaGFzRXJyb3IsIHJlZjogcmVmLCBtYXhMZW5ndGg6IG1heExlbmd0aE51bSwgb25DaGFuZ2U6IGhhbmRsZUNoYW5nZSwgc3R5bGU6IGlucHV0U3R5bGUsIHRoZW1lOiB0aGVtZSwgdHlwZTogdHlwZSA/IHR5cGUgOiBJbnB1dFR5cGUudGV4dCwgdmFsdWU6IHZhbHVlIH0pKSxcclxuICAgICAgICAgICAgICAgIGljb24gJiYgIW9uSWNvbkNsaWNrICYmIChSZWFjdC5jcmVhdGVFbGVtZW50KEljb25XcmFwcGVyLCB7IFwiYXJpYS1sYWJlbFwiOiBpY29uQXJpYUxhYmVsLCBpY29uUG9zaXRpb246IGljb25Qb3NpdGlvbiwgaW5wdXRTaXplOiBpbnB1dFNpemUgPz8gSW5wdXRTaXplLm1lZGl1bSwgaXNJbnZlcnNlOiBwcm9wcy5pc0ludmVyc2UsIGlzUHJlZGljdGl2ZTogaXNQcmVkaWN0aXZlLCB0aGVtZTogdGhlbWUsIGRpc2FibGVkOiBkaXNhYmxlZCB9LCBSZWFjdC5DaGlsZHJlbi5vbmx5KFJlYWN0LmNsb25lRWxlbWVudChpY29uLCB7XHJcbiAgICAgICAgICAgICAgICAgICAgc2l6ZTogZ2V0SWNvblNpemUoaW5wdXRTaXplID8/IElucHV0U2l6ZS5tZWRpdW0sIHRoZW1lLCBpY29uUG9zaXRpb24pLFxyXG4gICAgICAgICAgICAgICAgfSkpKSkpLFxyXG4gICAgICAgICAgICBpc0NsZWFyYWJsZSAmJiB2YWx1ZSAhPT0gJycgJiYgKFJlYWN0LmNyZWF0ZUVsZW1lbnQoSXNDbGVhcmFibGVDb250YWluZXIsIHsgdGhlbWU6IHRoZW1lLCBpY29uUG9zaXRpb246IGljb25Qb3NpdGlvbiwgaW5wdXRTaXplOiBpbnB1dFNpemUsIGljb246IGljb24gfSxcclxuICAgICAgICAgICAgICAgIFJlYWN0LmNyZWF0ZUVsZW1lbnQoSWNvbkJ1dHRvbiwgeyBcImFyaWEtbGFiZWxcIjogaTE4bi5pbnB1dC5pc0NsZWFyYWJsZUFyaWFMYWJlbCwgZGlzYWJsZWQ6IGRpc2FibGVkLCBpY29uOiBSZWFjdC5jcmVhdGVFbGVtZW50KENsZWFySWNvbiwgbnVsbCksIGlzSW52ZXJzZTogcHJvcHMuaXNJbnZlcnNlLCBvbkNsaWNrOiBoYW5kbGVDbGVhcklucHV0LCBvbktleURvd246IG9uSWNvbktleURvd24sIHJlZjogaWNvblJlZiwgc2hhcGU6IEJ1dHRvblNoYXBlLmZpbGwsIHNpemU6IGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlXHJcbiAgICAgICAgICAgICAgICAgICAgICAgID8gQnV0dG9uU2l6ZS5tZWRpdW1cclxuICAgICAgICAgICAgICAgICAgICAgICAgOiBCdXR0b25TaXplLnNtYWxsLCB0ZXN0SWQ6IFwiY2xlYXItYnV0dG9uXCIsIHR5cGU6IEJ1dHRvblR5cGUuYnV0dG9uLCB2YXJpYW50OiBCdXR0b25WYXJpYW50LmxpbmsgfSkpKSxcclxuICAgICAgICAgICAgb25JY29uQ2xpY2sgJiYgKFJlYWN0LmNyZWF0ZUVsZW1lbnQoSWNvbkJ1dHRvbkNvbnRhaW5lciwgeyBpY29uUG9zaXRpb246IGljb25Qb3NpdGlvbiwgaW5wdXRTaXplOiBpbnB1dFNpemUgPT09IElucHV0U2l6ZS5sYXJnZVxyXG4gICAgICAgICAgICAgICAgICAgID8gSW5wdXRTaXplLmxhcmdlXHJcbiAgICAgICAgICAgICAgICAgICAgOiBJbnB1dFNpemUubWVkaXVtLCB0aGVtZTogdGhlbWUsIGlzQ2xpY2thYmxlOiB0cnVlIH0sXHJcbiAgICAgICAgICAgICAgICBSZWFjdC5jcmVhdGVFbGVtZW50KEljb25CdXR0b24sIHsgXCJhcmlhLWxhYmVsXCI6IGljb25BcmlhTGFiZWwsIGljb246IGljb24sIGlzSW52ZXJzZTogcHJvcHMuaXNJbnZlcnNlLCBvbkNsaWNrOiBvbkljb25DbGljaywgb25LZXlEb3duOiBvbkljb25LZXlEb3duLCByZWY6IGljb25SZWYsIGRpc2FibGVkOiBkaXNhYmxlZCwgc2hhcGU6IEJ1dHRvblNoYXBlLmZpbGwsIHNpemU6IGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlXHJcbiAgICAgICAgICAgICAgICAgICAgICAgID8gQnV0dG9uU2l6ZS5tZWRpdW1cclxuICAgICAgICAgICAgICAgICAgICAgICAgOiBCdXR0b25TaXplLnNtYWxsLCB0eXBlOiBCdXR0b25UeXBlLmJ1dHRvbiwgdmFyaWFudDogQnV0dG9uVmFyaWFudC5saW5rIH0pKSksXHJcbiAgICAgICAgICAgIGlzUGFzc3dvcmRJbnB1dCA/IChSZWFjdC5jcmVhdGVFbGVtZW50KFBhc3N3b3JkQnV0dG9uQ29udGFpbmVyLCB7IHNpemU6IGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlXHJcbiAgICAgICAgICAgICAgICAgICAgPyBJbnB1dFNpemUubGFyZ2VcclxuICAgICAgICAgICAgICAgICAgICA6IElucHV0U2l6ZS5tZWRpdW0sIHRoZW1lOiB0aGVtZSwgYnV0dG9uV2lkdGg6IHBhc3N3b3JkQnRuV2lkdGgoKSB9LCBjaGlsZHJlbikpIDogKFJlYWN0LmNyZWF0ZUVsZW1lbnQoSGVscExpbmtDb250YWluZXIsIHsgaXNMYWJlbFZpc3VhbGx5SGlkZGVuOiBpc0xhYmVsVmlzdWFsbHlIaWRkZW4gfHwgZmFsc2UsIGlucHV0U2l6ZTogaW5wdXRTaXplID8/IElucHV0U2l6ZS5tZWRpdW0sIGxhYmVsUG9zaXRpb246IGxhYmVsUG9zaXRpb24gPz8gTGFiZWxQb3NpdGlvbi50b3AsIHRoZW1lOiB0aGVtZSB9LCBjaGlsZHJlbikpKSkpO1xyXG59KTtcclxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9aW5kZXguanMubWFwIl19 */"));
|
|
5079
5079
|
function getIconSize$1(size, theme, iconPosition) {
|
|
5080
5080
|
switch (size) {
|
|
5081
5081
|
case 'large':
|
|
@@ -5116,7 +5116,7 @@ var HelpLinkContainer = /*#__PURE__*/_styled("span", {
|
|
|
5116
5116
|
return getHelpIconButtonSize(props);
|
|
5117
5117
|
}, ";}inset-inline-end:", function (props) {
|
|
5118
5118
|
return isLeftOrHidden(props) ? 'auto' : '0';
|
|
5119
|
-
}, ";" + (process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImluZGV4LnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFnWTZDIiwiZmlsZSI6ImluZGV4LnRzeCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIFJlYWN0IGZyb20gJ3JlYWN0JztcclxuaW1wb3J0IHsgY3NzIH0gZnJvbSAnQGVtb3Rpb24vcmVhY3QnO1xyXG5pbXBvcnQgc3R5bGVkIGZyb20gJ0BlbW90aW9uL3N0eWxlZCc7XHJcbmltcG9ydCB7IHRyYW5zcGFyZW50aXplIH0gZnJvbSAncG9saXNoZWQnO1xyXG5pbXBvcnQgeyBDbGVhckljb24gfSBmcm9tICdyZWFjdC1tYWdtYS1pY29ucyc7XHJcbmltcG9ydCB7IEkxOG5Db250ZXh0IH0gZnJvbSAnLi4vLi4vaTE4bic7XHJcbmltcG9ydCB7IHVzZUlzSW52ZXJzZSB9IGZyb20gJy4uLy4uL2ludmVyc2UnO1xyXG5pbXBvcnQgeyBUaGVtZUNvbnRleHQgfSBmcm9tICcuLi8uLi90aGVtZS9UaGVtZUNvbnRleHQnO1xyXG5pbXBvcnQgeyB1c2VGb3JrZWRSZWYgfSBmcm9tICcuLi8uLi91dGlscyc7XHJcbmltcG9ydCB7IEJ1dHRvblNoYXBlLCBCdXR0b25TaXplLCBCdXR0b25UeXBlLCBCdXR0b25WYXJpYW50IH0gZnJvbSAnLi4vQnV0dG9uJztcclxuaW1wb3J0IHsgSWNvbkJ1dHRvbiB9IGZyb20gJy4uL0ljb25CdXR0b24nO1xyXG5pbXBvcnQgeyBMYWJlbFBvc2l0aW9uIH0gZnJvbSAnLi4vTGFiZWwnO1xyXG5pbXBvcnQgeyBDaGlsZHJlbldyYXBwZXIgfSBmcm9tICcuLi9TdHlsZWRCdXR0b24nO1xyXG5leHBvcnQgdmFyIElucHV0U2l6ZTtcclxuKGZ1bmN0aW9uIChJbnB1dFNpemUpIHtcclxuICAgIElucHV0U2l6ZVtcImxhcmdlXCJdID0gXCJsYXJnZVwiO1xyXG4gICAgSW5wdXRTaXplW1wibWVkaXVtXCJdID0gXCJtZWRpdW1cIjtcclxufSkoSW5wdXRTaXplIHx8IChJbnB1dFNpemUgPSB7fSkpO1xyXG5leHBvcnQgdmFyIElucHV0VHlwZTtcclxuKGZ1bmN0aW9uIChJbnB1dFR5cGUpIHtcclxuICAgIElucHV0VHlwZVtcImVtYWlsXCJdID0gXCJlbWFpbFwiO1xyXG4gICAgSW5wdXRUeXBlW1wiZmlsZVwiXSA9IFwiZmlsZVwiO1xyXG4gICAgSW5wdXRUeXBlW1wibnVtYmVyXCJdID0gXCJudW1iZXJcIjtcclxuICAgIElucHV0VHlwZVtcInBhc3N3b3JkXCJdID0gXCJwYXNzd29yZFwiO1xyXG4gICAgSW5wdXRUeXBlW1wic2VhcmNoXCJdID0gXCJzZWFyY2hcIjtcclxuICAgIElucHV0VHlwZVtcInRleHRcIl0gPSBcInRleHRcIjtcclxuICAgIElucHV0VHlwZVtcInVybFwiXSA9IFwidXJsXCI7XHJcbiAgICBJbnB1dFR5cGVbXCJ0ZWxcIl0gPSBcInRlbFwiO1xyXG59KShJbnB1dFR5cGUgfHwgKElucHV0VHlwZSA9IHt9KSk7XHJcbmV4cG9ydCB2YXIgSW5wdXRJY29uUG9zaXRpb247XHJcbihmdW5jdGlvbiAoSW5wdXRJY29uUG9zaXRpb24pIHtcclxuICAgIElucHV0SWNvblBvc2l0aW9uW1widG9wXCJdID0gXCJ0b3BcIjtcclxuICAgIElucHV0SWNvblBvc2l0aW9uW1wibGVmdFwiXSA9IFwibGVmdFwiO1xyXG4gICAgSW5wdXRJY29uUG9zaXRpb25bXCJyaWdodFwiXSA9IFwicmlnaHRcIjtcclxufSkoSW5wdXRJY29uUG9zaXRpb24gfHwgKElucHV0SWNvblBvc2l0aW9uID0ge30pKTtcclxuZXhwb3J0IGNvbnN0IGlucHV0V3JhcHBlclN0eWxlcyA9IChwcm9wcykgPT4gY3NzIGBcbiAgZmxleDogMSAxIGF1dG87XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgd2lkdGg6ICR7cHJvcHMud2lkdGggfHwgJ2F1dG8nfTtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHtwcm9wcy5pc0ludmVyc2VcclxuICAgID8gdHJhbnNwYXJlbnRpemUoMC44LCBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDkwMClcclxuICAgIDogcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWwxMDB9O1xuICBib3JkZXItcmFkaXVzOiAke3Byb3BzLnRoZW1lLmJvcmRlclJhZGl1c307XG4gIGJvcmRlcjogMXB4IHNvbGlkXG4gICAgJHtwcm9wcy5pc0ludmVyc2VcclxuICAgID8gdHJhbnNwYXJlbnRpemUoMC41LCBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDEwMClcclxuICAgIDogcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWw1MDB9O1xuICBoZWlnaHQ6ICR7cHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDl9O1xuXG4gICY6Zm9jdXMtd2l0aGluIHtcbiAgICBvdXRsaW5lOiAycHggc29saWRcbiAgICAgICR7cHJvcHMuaXNJbnZlcnNlXHJcbiAgICA/IHByb3BzLnRoZW1lLmNvbG9ycy5mb2N1c0ludmVyc2VcclxuICAgIDogcHJvcHMudGhlbWUuY29sb3JzLmZvY3VzfTtcbiAgICBvdXRsaW5lLW9mZnNldDogLTFweDtcbiAgfVxuXG4gICR7cHJvcHMuaGFzRXJyb3IgJiZcclxuICAgIGNzcyBgXG4gICAgYm9yZGVyLWNvbG9yOiAke3Byb3BzLmlzSW52ZXJzZVxyXG4gICAgICAgID8gcHJvcHMudGhlbWUuY29sb3JzLmRhbmdlcjMwMFxyXG4gICAgICAgIDogcHJvcHMudGhlbWUuY29sb3JzLmRhbmdlcn07XG4gIGB9XG5cbiAgJHtwcm9wcy5kaXNhYmxlZCAmJlxyXG4gICAgY3NzIGBcbiAgICBib3JkZXItY29sb3I6ICR7cHJvcHMuaXNJbnZlcnNlXHJcbiAgICAgICAgPyB0cmFuc3BhcmVudGl6ZSgwLjg1LCBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDEwMClcclxuICAgICAgICA6IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsMzAwfTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAke3Byb3BzLmlzSW52ZXJzZVxyXG4gICAgICAgID8gdHJhbnNwYXJlbnRpemUoMC45LCBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDkwMClcclxuICAgICAgICA6IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsMjAwfTtcbiAgYH1cblxuICAke3Byb3BzLmlucHV0U2l6ZSA9PT0gJ2xhcmdlJyAmJlxyXG4gICAgY3NzIGBcbiAgICBoZWlnaHQ6ICR7cHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMTF9O1xuICBgfVxuYDtcclxuZnVuY3Rpb24gZ2V0SW5wdXRQYWRkaW5nKHByb3BzKSB7XHJcbiAgICBjb25zdCB7IGlucHV0U2l6ZSwgaXNDbGVhcmFibGUsIGljb25Qb3NpdGlvbiB9ID0gcHJvcHM7XHJcbiAgICBjb25zdCBwYWRkaW5nID0ge1xyXG4gICAgICAgIGxlZnQ6IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzAzLFxyXG4gICAgICAgIHJpZ2h0OiBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwMyxcclxuICAgIH07XHJcbiAgICBpZiAoaW5wdXRTaXplID09PSAnbGFyZ2UnKSB7XHJcbiAgICAgICAgaWYgKGlzQ2xlYXJhYmxlKSB7XHJcbiAgICAgICAgICAgIGlmIChpY29uUG9zaXRpb24gPT09ICdyaWdodCcpIHtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmcucmlnaHQgPSAnOTJweCc7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgZWxzZSBpZiAoaWNvblBvc2l0aW9uID09PSAnbGVmdCcpIHtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmcubGVmdCA9IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzExO1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy5yaWdodCA9IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzExO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgLy8gaWNvbiB0b3AsIG5vIGljb25cclxuICAgICAgICAgICAgICAgIHBhZGRpbmcucmlnaHQgPSBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcxMTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBlbHNlIHtcclxuICAgICAgICAgICAgaWYgKGljb25Qb3NpdGlvbiA9PT0gJ3JpZ2h0Jykge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy5yaWdodCA9IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzEwO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGlmIChpY29uUG9zaXRpb24gPT09ICdsZWZ0Jykge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy5sZWZ0ID0gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMTA7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICBlbHNlIGlmIChpbnB1dFNpemUgPT09ICdtZWRpdW0nKSB7XHJcbiAgICAgICAgaWYgKGlzQ2xlYXJhYmxlKSB7XHJcbiAgICAgICAgICAgIGlmIChpY29uUG9zaXRpb24gPT09ICdyaWdodCcpIHtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmcucmlnaHQgPSAnNjhweCc7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgZWxzZSBpZiAoaWNvblBvc2l0aW9uID09PSAnbGVmdCcpIHtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmcubGVmdCA9IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzA5O1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy5yaWdodCA9IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzA5O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgLy8gaWNvbiB0b3AsIG5vIGljb25cclxuICAgICAgICAgICAgICAgIHBhZGRpbmcucmlnaHQgPSBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwOTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBlbHNlIHtcclxuICAgICAgICAgICAgaWYgKGljb25Qb3NpdGlvbiA9PT0gJ3JpZ2h0Jykge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy5yaWdodCA9IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzA5O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGlmIChpY29uUG9zaXRpb24gPT09ICdsZWZ0Jykge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy5sZWZ0ID0gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICByZXR1cm4gcGFkZGluZztcclxufVxyXG5leHBvcnQgY29uc3QgaW5wdXRCYXNlU3R5bGVzID0gKHByb3BzKSA9PiBjc3MgYFxuICBib3JkZXI6IDA7XG4gIGJvcmRlci1yYWRpdXM6ICR7cHJvcHMudGhlbWUuYm9yZGVyUmFkaXVzfTtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIGNvbG9yOiAke3Byb3BzLmlzSW52ZXJzZVxyXG4gICAgPyBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDEwMFxyXG4gICAgOiBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDcwMH07XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBmb250LXNpemU6ICR7cHJvcHMudGhlbWUudHlwZVNjYWxlLnNpemUwMy5mb250U2l6ZX07XG4gIGxpbmUtaGVpZ2h0OiAke3Byb3BzLnRoZW1lLnR5cGVTY2FsZS5zaXplMDMubGluZUhlaWdodH07XG4gIGZvbnQtZmFtaWx5OiAke3Byb3BzLnRoZW1lLmJvZHlGb250fTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBwYWRkaW5nOiAke3Byb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzAzfTtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICB3aWR0aDogMTAwJTtcblxuICAke3Byb3BzLmlucHV0U2l6ZSA9PT0gJ2xhcmdlJyAmJlxyXG4gICAgY3NzIGBcbiAgICBmb250LXNpemU6ICR7cHJvcHMudGhlbWUudHlwZVNjYWxlLnNpemUwNC5mb250U2l6ZX07XG4gICAgbGluZS1oZWlnaHQ6ICR7cHJvcHMudGhlbWUudHlwZVNjYWxlLnNpemUwNC5saW5lSGVpZ2h0fTtcbiAgICBwYWRkaW5nOiAke3Byb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzA0fTtcbiAgYH1cblxuICBwYWRkaW5nLWxlZnQ6ICR7Z2V0SW5wdXRQYWRkaW5nKHByb3BzKS5sZWZ0fTtcbiAgcGFkZGluZy1yaWdodDogJHtnZXRJbnB1dFBhZGRpbmcocHJvcHMpLnJpZ2h0fTtcblxuICAmOjpwbGFjZWhvbGRlciB7XG4gICAgY29sb3I6ICR7cHJvcHMuaXNJbnZlcnNlXHJcbiAgICA/IHRyYW5zcGFyZW50aXplKDAuMywgcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWwxMDApXHJcbiAgICA6IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsNTAwfTtcbiAgfVxuXG4gICY6Zm9jdXMge1xuICAgIG91dGxpbmU6IDA7XG4gIH1cblxuICAmW3R5cGU9J3NlYXJjaCddIHtcbiAgICAmOjotd2Via2l0LXNlYXJjaC1kZWNvcmF0aW9uLFxuICAgICY6Oi13ZWJraXQtc2VhcmNoLWNhbmNlbC1idXR0b24sXG4gICAgJjo6LXdlYmtpdC1zZWFyY2gtcmVzdWx0cy1idXR0b24sXG4gICAgJjo6LXdlYmtpdC1zZWFyY2gtcmVzdWx0cy1kZWNvcmF0aW9uIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICB9XG5cbiAgJHtwcm9wcy5kaXNhYmxlZCAmJlxyXG4gICAgY3NzIGBcbiAgICBjb2xvcjogJHtwcm9wcy5pc0ludmVyc2VcclxuICAgICAgICA/IHRyYW5zcGFyZW50aXplKDAuNiwgcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWwxMDApXHJcbiAgICAgICAgOiB0cmFuc3BhcmVudGl6ZSgwLjQsIHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsNTAwKX07XG4gICAgY3Vyc29yOiBub3QtYWxsb3dlZDtcblxuICAgICY6OnBsYWNlaG9sZGVyIHtcbiAgICAgIGNvbG9yOiAke3Byb3BzLmlzSW52ZXJzZVxyXG4gICAgICAgID8gdHJhbnNwYXJlbnRpemUoMC44LCBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDEwMClcclxuICAgICAgICA6IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsNTAwfTtcbiAgICAgIG9wYWNpdHk6ICR7cHJvcHMuaXNJbnZlcnNlID8gMC40IDogMC42fTtcbiAgICB9XG4gIGB9XG5cbiAgJjotd2Via2l0LWF1dG9maWxsLFxuICAmOi13ZWJraXQtYXV0b2ZpbGw6Zm9jdXMsXG4gICY6LXdlYmtpdC1hdXRvZmlsbDpob3ZlcixcbiAgJjotd2Via2l0LWF1dG9maWxsOmFjdGl2ZSB7XG4gICAgYm94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xuICAgIC13ZWJraXQtYmFja2dyb3VuZC1jbGlwOiB0ZXh0O1xuICAgIC13ZWJraXQtdGV4dC1maWxsLWNvbG9yOiAke3Byb3BzLmlzSW52ZXJzZVxyXG4gICAgPyBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDEwMFxyXG4gICAgOiBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDcwMH0gIWltcG9ydGFudDtcbiAgICBjYXJldC1jb2xvcjogJHtwcm9wcy5pc0ludmVyc2VcclxuICAgID8gcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWwxMDBcclxuICAgIDogcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWw3MDB9ICFpbXBvcnRhbnQ7XG4gIH1cbmA7XHJcbmNvbnN0IElucHV0Q29udGFpbmVyID0gc3R5bGVkLmRpdiBgXG4gIGRpc3BsYXk6IGZsZXg7XG5gO1xyXG5leHBvcnQgY29uc3QgSW5wdXRXcmFwcGVyID0gc3R5bGVkLmRpdiBgXG4gICR7aW5wdXRXcmFwcGVyU3R5bGVzfVxuYDtcclxuY29uc3QgU3R5bGVkSW5wdXQgPSBzdHlsZWQuaW5wdXQgYFxuICAke2lucHV0QmFzZVN0eWxlc31cbmA7XHJcbmNvbnN0IEljb25XcmFwcGVyID0gc3R5bGVkLnNwYW4gYFxuICBib3R0b206ICR7cHJvcHMgPT4gKHByb3BzLmljb25Qb3NpdGlvbiA9PT0gJ3RvcCcgPyAnNDVweCcgOiAnaW5oZXJpdCcpfTtcbiAgY29sb3I6ICR7cHJvcHMgPT4gcHJvcHMuaXNJbnZlcnNlXHJcbiAgICA/IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsMTAwXHJcbiAgICA6IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsNzAwfTtcbiAgbGVmdDogJHtwcm9wcyA9PiBwcm9wcy5pY29uUG9zaXRpb24gPT09ICdsZWZ0JyA/IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzAzIDogJ2F1dG8nfTtcbiAgcmlnaHQ6ICR7cHJvcHMgPT4gcHJvcHMuaWNvblBvc2l0aW9uID09PSAncmlnaHQnXHJcbiAgICA/IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzAzXHJcbiAgICA6IHByb3BzLmljb25Qb3NpdGlvbiA9PT0gJ3RvcCdcclxuICAgICAgICA/ICczcHgnXHJcbiAgICAgICAgOiAnYXV0byd9O1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogJHtwcm9wcyA9PiBwcm9wcy5pY29uUG9zaXRpb24gPT09ICd0b3AnXHJcbiAgICA/ICdpbmhlcml0J1xyXG4gICAgOiBwcm9wcyA9PiBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwM307XG5cbiAgJHtwcm9wcyA9PiBwcm9wcy5pbnB1dFNpemUgPT09ICdsYXJnZScgJiZcclxuICAgIGNzcyBgXG4gICAgICBib3R0b206ICR7cHJvcHMuaWNvblBvc2l0aW9uID09PSAndG9wJyA/ICc2MnB4JyA6ICdpbmhlcml0J307XG4gICAgICBsZWZ0OiAke3Byb3BzLmljb25Qb3NpdGlvbiA9PT0gJ2xlZnQnXHJcbiAgICAgICAgPyBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwNFxyXG4gICAgICAgIDogJ2F1dG8nfTtcbiAgICAgIHJpZ2h0OiAke3Byb3BzLmljb25Qb3NpdGlvbiA9PT0gJ3JpZ2h0J1xyXG4gICAgICAgID8gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDRcclxuICAgICAgICA6IHByb3BzLmljb25Qb3NpdGlvbiA9PT0gJ3RvcCdcclxuICAgICAgICAgICAgPyAnM3B4J1xyXG4gICAgICAgICAgICA6ICdhdXRvJ307XG4gICAgICB0b3A6ICR7cHJvcHMuaWNvblBvc2l0aW9uID09PSAndG9wJ1xyXG4gICAgICAgID8gJ2luaGVyaXQnXHJcbiAgICAgICAgOiBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwNH07XG4gICAgYH1cbmA7XHJcbmZ1bmN0aW9uIGdldEljb25CdXR0b25TVkdTaXplKHByb3BzKSB7XHJcbiAgICBjb25zdCB7IGlzQ2xpY2thYmxlLCBpY29uUG9zaXRpb24sIGlucHV0U2l6ZSwgdGhlbWUgfSA9IHByb3BzO1xyXG4gICAgaWYgKGlzQ2xpY2thYmxlICYmIGljb25Qb3NpdGlvbiA9PT0gSW5wdXRJY29uUG9zaXRpb24udG9wKSB7XHJcbiAgICAgICAgaWYgKGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlKSB7XHJcbiAgICAgICAgICAgIHJldHVybiBgJHt0aGVtZS5pY29uU2l6ZXMubWVkaXVtfXB4YDtcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIGAke3RoZW1lLmljb25TaXplcy5zbWFsbH1weGA7XHJcbiAgICB9XHJcbiAgICBpZiAoaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2UpIHtcclxuICAgICAgICByZXR1cm4gYCR7dGhlbWUuaWNvblNpemVzLmxhcmdlfXB4YDtcclxuICAgIH1cclxuICAgIHJldHVybiBgJHt0aGVtZS5pY29uU2l6ZXMubWVkaXVtfXB4YDtcclxufVxyXG5mdW5jdGlvbiBnZXRIZWxwTGlua1NWR1NpemUocHJvcHMpIHtcclxuICAgIGNvbnN0IHsgaW5wdXRTaXplLCB0aGVtZSB9ID0gcHJvcHM7XHJcbiAgICBpZiAoaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2UpIHtcclxuICAgICAgICByZXR1cm4gYCR7dGhlbWUuaWNvblNpemVzLm1lZGl1bX1weGA7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gYCR7dGhlbWUuaWNvblNpemVzLnNtYWxsfXB4YDtcclxufVxyXG5leHBvcnQgZnVuY3Rpb24gZ2V0SGVscEljb25CdXR0b25TaXplKHByb3BzKSB7XHJcbiAgICBjb25zdCB7IGlucHV0U2l6ZSwgdGhlbWUgfSA9IHByb3BzO1xyXG4gICAgaWYgKGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlKSB7XHJcbiAgICAgICAgcmV0dXJuIHRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzA5O1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIHRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzA3O1xyXG59XHJcbmZ1bmN0aW9uIGdldEljb25CdXR0b25UcmFuc2Zvcm0ocHJvcHMpIHtcclxuICAgIGNvbnN0IHsgaXNDbGlja2FibGUsIGljb25Qb3NpdGlvbiwgaW5wdXRTaXplLCBoYXNDaGlsZHJlbiwgdGhlbWUgfSA9IHByb3BzO1xyXG4gICAgY29uc3QgcG9zaXRpb24gPSB7IHg6ICcnLCB5OiAnJyB9O1xyXG4gICAgaWYgKGljb25Qb3NpdGlvbiA9PT0gSW5wdXRJY29uUG9zaXRpb24udG9wKSB7XHJcbiAgICAgICAgaWYgKGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlKSB7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uLnggPSAnLTMwcHgnO1xyXG4gICAgICAgICAgICBwb3NpdGlvbi55ID0gJzJweCc7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2UgaWYgKGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLm1lZGl1bSkge1xyXG4gICAgICAgICAgICBwb3NpdGlvbi54ID0gJy0yOHB4JztcclxuICAgICAgICAgICAgcG9zaXRpb24ueSA9ICc1cHgnO1xyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gcG9zaXRpb247XHJcbiAgICB9XHJcbiAgICBpZiAoaXNDbGlja2FibGUpIHtcclxuICAgICAgICBpZiAoaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2UpIHtcclxuICAgICAgICAgICAgaWYgKGhhc0NoaWxkcmVuKSB7XHJcbiAgICAgICAgICAgICAgICBwb3NpdGlvbi54ID0gJy00M3B4JztcclxuICAgICAgICAgICAgICAgIHBvc2l0aW9uLnkgPSAnMTRweCc7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICAgICAgICBwb3NpdGlvbi54ID0gJy00OXB4JztcclxuICAgICAgICAgICAgICAgIHBvc2l0aW9uLnkgPSAnOHB4JztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBlbHNlIGlmIChpbnB1dFNpemUgPT09IElucHV0U2l6ZS5tZWRpdW0pIHtcclxuICAgICAgICAgICAgcG9zaXRpb24ueCA9ICctMzVweCc7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uLnkgPSAnNnB4JztcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIHBvc2l0aW9uO1xyXG4gICAgfVxyXG4gICAgaWYgKGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlKSB7XHJcbiAgICAgICAgcG9zaXRpb24ueCA9IGAtJHt0aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcxMH1gO1xyXG4gICAgICAgIHBvc2l0aW9uLnkgPSB0aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwMztcclxuICAgIH1cclxuICAgIGVsc2UgaWYgKGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLm1lZGl1bSkge1xyXG4gICAgICAgIHBvc2l0aW9uLnggPSAnLTI0cHgnO1xyXG4gICAgICAgIHBvc2l0aW9uLnkgPSAnN3B4JztcclxuICAgIH1cclxuICAgIHJldHVybiBwb3NpdGlvbjtcclxufVxyXG5leHBvcnQgY29uc3QgSWNvbkJ1dHRvbkNvbnRhaW5lciA9IHN0eWxlZC5zcGFuIGBcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGJvdHRvbTogJHtwcm9wcyA9PiAocHJvcHMuaWNvblBvc2l0aW9uID09PSAndG9wJyA/ICc0MHB4JyA6ICdpbmhlcml0Jyl9O1xuICBoZWlnaHQ6IGF1dG87XG4gIG1hcmdpbjogMDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aWR0aDogMDtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoXG4gICAgJHtwcm9wcyA9PiBnZXRJY29uQnV0dG9uVHJhbnNmb3JtKHByb3BzKS54fSxcbiAgICAke3Byb3BzID0+IGdldEljb25CdXR0b25UcmFuc2Zvcm0ocHJvcHMpLnl9XG4gICk7XG4gIHN2ZyB7XG4gICAgaGVpZ2h0OiAke3Byb3BzID0+IGdldEljb25CdXR0b25TVkdTaXplKHByb3BzKX07XG4gICAgd2lkdGg6ICR7cHJvcHMgPT4gZ2V0SWNvbkJ1dHRvblNWR1NpemUocHJvcHMpfTtcbiAgfVxuYDtcclxuY29uc3QgUGFzc3dvcmRCdXR0b25Db250YWluZXIgPSBzdHlsZWQuc3BhbiBgXG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICB3aWR0aDogMDtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoXG4gICAgJHtwcm9wcyA9PiBwcm9wcy5zaXplID09PSBJbnB1dFNpemUubGFyZ2VcclxuICAgID8gYCR7LXByb3BzLmJ1dHRvbldpZHRoIC0gOH1weGBcclxuICAgIDogYCR7LXByb3BzLmJ1dHRvbldpZHRoIC0gNn1weGB9LFxuICAgICR7cHJvcHMgPT4gcHJvcHMuc2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlID8gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDMgOiAnNnB4J31cbiAgKTtcbmA7XHJcbmZ1bmN0aW9uIGdldENsZWFyYWJsZVBvc2l0aW9uKHByb3BzKSB7XHJcbiAgICBpZiAocHJvcHMuaWNvblBvc2l0aW9uID09PSAncmlnaHQnICYmIHByb3BzLmljb24pIHtcclxuICAgICAgICBpZiAocHJvcHMuaW5wdXRTaXplID09PSAnbGFyZ2UnKSB7XHJcbiAgICAgICAgICAgIHJldHVybiBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcxMztcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuICc3MnB4JztcclxuICAgIH1cclxuICAgIGlmIChwcm9wcy5pbnB1dFNpemUgPT09ICdsYXJnZScpIHtcclxuICAgICAgICByZXR1cm4gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMTA7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gJzM0cHgnO1xyXG59XHJcbmNvbnN0IElzQ2xlYXJhYmxlQ29udGFpbmVyID0gc3R5bGVkLnNwYW4gYFxuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgbWFyZ2luOiAwO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGhlaWdodDogYXV0bztcbiAgd2lkdGg6IDA7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKFxuICAgIC0ke3Byb3BzID0+IGdldENsZWFyYWJsZVBvc2l0aW9uKHByb3BzKX0sXG4gICAgJHtwcm9wcyA9PiBwcm9wcy5pbnB1dFNpemUgPT09IElucHV0U2l6ZS5sYXJnZVxyXG4gICAgPyBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwM1xyXG4gICAgOiAnNnB4J31cbiAgKTtcbmA7XHJcbmZ1bmN0aW9uIGdldEljb25TaXplKHNpemUsIHRoZW1lLCBpY29uUG9zaXRpb24pIHtcclxuICAgIHN3aXRjaCAoc2l6ZSkge1xyXG4gICAgICAgIGNhc2UgJ2xhcmdlJzpcclxuICAgICAgICAgICAgaWYgKGljb25Qb3NpdGlvbiA9PT0gSW5wdXRJY29uUG9zaXRpb24udG9wKSB7XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gdGhlbWUuaWNvblNpemVzLm1lZGl1bTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICByZXR1cm4gdGhlbWUuaWNvblNpemVzLmxhcmdlO1xyXG4gICAgICAgIGRlZmF1bHQ6XHJcbiAgICAgICAgICAgIGlmIChpY29uUG9zaXRpb24gPT09IElucHV0SWNvblBvc2l0aW9uLnRvcCkge1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuIHRoZW1lLmljb25TaXplcy5zbWFsbDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICByZXR1cm4gdGhlbWUuaWNvblNpemVzLm1lZGl1bTtcclxuICAgIH1cclxufVxyXG5leHBvcnQgY29uc3QgaXNMZWZ0T3JIaWRkZW4gPSAoeyBsYWJlbFBvc2l0aW9uLCBpc0xhYmVsVmlzdWFsbHlIaWRkZW4sIH0pID0+IGxhYmVsUG9zaXRpb24gPT09IExhYmVsUG9zaXRpb24ubGVmdCB8fCBpc0xhYmVsVmlzdWFsbHlIaWRkZW47XHJcbmV4cG9ydCBjb25zdCBIZWxwTGlua0NvbnRhaW5lciA9IHN0eWxlZC5zcGFuIGBcbiAgcG9zaXRpb246ICR7cHJvcHMgPT4gKGlzTGVmdE9ySGlkZGVuKHByb3BzKSA/ICdyZWxhdGl2ZScgOiAnYWJzb2x1dGUnKX07XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXG4gIGhlaWdodDogJHtwcm9wcyA9PiAoaXNMZWZ0T3JIaWRkZW4ocHJvcHMpID8gJ2F1dG8nIDogJ2ZpdC1jb250ZW50Jyl9O1xuICBtYXJnaW4taW5saW5lLXN0YXJ0OiAke3Byb3BzID0+IGlzTGVmdE9ySGlkZGVuKHByb3BzKSA/IGAke3Byb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzAzfWAgOiAnYXV0byd9O1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoXG4gICAgJHtwcm9wcyA9PiBpc0xlZnRPckhpZGRlbihwcm9wcylcclxuICAgID8gJzAnXHJcbiAgICA6IGBjYWxjKC0xMDAlIC0gJHtwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwM30pYH1cbiAgKTtcbiAgJHtDaGlsZHJlbldyYXBwZXJ9ID4gc3ZnIHtcbiAgICBoZWlnaHQ6ICR7cHJvcHMgPT4gZ2V0SGVscExpbmtTVkdTaXplKHByb3BzKX07XG4gICAgd2lkdGg6ICR7cHJvcHMgPT4gZ2V0SGVscExpbmtTVkdTaXplKHByb3BzKX07XG4gIH1cbiAgYnV0dG9uIHtcbiAgICBoZWlnaHQ6ICR7cHJvcHMgPT4gZ2V0SGVscEljb25CdXR0b25TaXplKHByb3BzKX07XG4gICAgd2lkdGg6ICR7cHJvcHMgPT4gZ2V0SGVscEljb25CdXR0b25TaXplKHByb3BzKX07XG4gIH1cbiAgaW5zZXQtaW5saW5lLWVuZDogJHtwcm9wcyA9PiAoaXNMZWZ0T3JIaWRkZW4ocHJvcHMpID8gJ2F1dG8nIDogJzAnKX07XG5gO1xyXG5leHBvcnQgY29uc3QgSW5wdXRCYXNlID0gUmVhY3QuZm9yd2FyZFJlZigocHJvcHMsIGZvcndhcmRlZFJlZikgPT4ge1xyXG4gICAgY29uc3QgeyBjaGlsZHJlbiwgY29udGFpbmVyU3R5bGUsIGRlZmF1bHRWYWx1ZSwgZGlzYWJsZWQsIGhhc0NoYXJhY3RlckNvdW50ZXIsIGhhc0Vycm9yLCBpY29uLCBpY29uQXJpYUxhYmVsLCBpY29uUmVmLCBpc0NsZWFyYWJsZSwgaXNQYXNzd29yZElucHV0LCBpc1ByZWRpY3RpdmUsIG1heENvdW50LCBtYXhMZW5ndGgsIG9uQ2xlYXIsIG9uSWNvbkNsaWNrLCBvbkljb25LZXlEb3duLCBvbkRhdGVDaGFuZ2UsIGlucHV0TGVuZ3RoLCBpbnB1dFNpemUsIGlucHV0U3R5bGUsIGlucHV0V3JhcHBlclN0eWxlLCB0ZXN0SWQsIHR5cGUsIHNldFJlZmVyZW5jZSwgaXNMYWJlbFZpc3VhbGx5SGlkZGVuLCBsYWJlbFBvc2l0aW9uLCAuLi5vdGhlciB9ID0gcHJvcHM7XHJcbiAgICBjb25zdCBpMThuID0gUmVhY3QudXNlQ29udGV4dChJMThuQ29udGV4dCk7XHJcbiAgICBjb25zdCB0aGVtZSA9IFJlYWN0LnVzZUNvbnRleHQoVGhlbWVDb250ZXh0KTtcclxuICAgIGNvbnN0IGljb25Qb3NpdGlvbiA9IGljb24gJiYgb25JY29uQ2xpY2tcclxuICAgICAgICA/IElucHV0SWNvblBvc2l0aW9uLnJpZ2h0XHJcbiAgICAgICAgOiBpY29uICYmICFwcm9wcy5pY29uUG9zaXRpb25cclxuICAgICAgICAgICAgPyBJbnB1dEljb25Qb3NpdGlvbi5sZWZ0XHJcbiAgICAgICAgICAgIDogcHJvcHMuaWNvblBvc2l0aW9uO1xyXG4gICAgY29uc3QgW3ZhbHVlLCBzZXRWYWx1ZV0gPSBSZWFjdC51c2VTdGF0ZShwcm9wcy5kZWZhdWx0VmFsdWUgIT09IHVuZGVmaW5lZCAmJiBwcm9wcy5kZWZhdWx0VmFsdWUgIT09IG51bGxcclxuICAgICAgICA/IHByb3BzLmRlZmF1bHRWYWx1ZVxyXG4gICAgICAgIDogcHJvcHMudmFsdWUgfHwgJycpO1xyXG4gICAgY29uc3QgbWF4TGVuZ3RoTnVtID0gIWhhc0NoYXJhY3RlckNvdW50ZXIgJiYgbWF4TGVuZ3RoID8gbWF4TGVuZ3RoIDogdW5kZWZpbmVkO1xyXG4gICAgUmVhY3QudXNlRWZmZWN0KCgpID0+IHtcclxuICAgICAgICBpZiAocHJvcHMudmFsdWUgIT09IHVuZGVmaW5lZCAmJiBwcm9wcy52YWx1ZSAhPT0gbnVsbCkge1xyXG4gICAgICAgICAgICBzZXRWYWx1ZShwcm9wcy52YWx1ZSk7XHJcbiAgICAgICAgfVxyXG4gICAgfSwgW3Byb3BzLnZhbHVlXSk7XHJcbiAgICBjb25zdCBpbnB1dFJlZiA9IFJlYWN0LnVzZVJlZigpO1xyXG4gICAgY29uc3QgcmVmID0gdXNlRm9ya2VkUmVmKGZvcndhcmRlZFJlZiwgaW5wdXRSZWYpO1xyXG4gICAgZnVuY3Rpb24gaGFuZGxlQ2xlYXJJbnB1dCgpIHtcclxuICAgICAgICBvbkNsZWFyICYmIHR5cGVvZiBvbkNsZWFyID09PSAnZnVuY3Rpb24nICYmIG9uQ2xlYXIoKTtcclxuICAgICAgICBzZXRWYWx1ZSgnJyk7XHJcbiAgICAgICAgb25EYXRlQ2hhbmdlICYmIHR5cGVvZiBvbkRhdGVDaGFuZ2UgPT09ICdmdW5jdGlvbicgJiYgb25EYXRlQ2hhbmdlKG51bGwpO1xyXG4gICAgICAgIGlucHV0UmVmLmN1cnJlbnQuZm9jdXMoKTtcclxuICAgIH1cclxuICAgIGZ1bmN0aW9uIGhhbmRsZUNoYW5nZShldmVudCkge1xyXG4gICAgICAgIHByb3BzLm9uQ2hhbmdlICYmXHJcbiAgICAgICAgICAgIHR5cGVvZiBwcm9wcy5vbkNoYW5nZSA9PT0gJ2Z1bmN0aW9uJyAmJlxyXG4gICAgICAgICAgICBwcm9wcy5vbkNoYW5nZShldmVudCk7XHJcbiAgICAgICAgc2V0VmFsdWUoZXZlbnQudGFyZ2V0LnZhbHVlKTtcclxuICAgICAgICBpZiAoIWV2ZW50LnRhcmdldC52YWx1ZSAmJlxyXG4gICAgICAgICAgICBvbkRhdGVDaGFuZ2UgJiZcclxuICAgICAgICAgICAgdHlwZW9mIG9uRGF0ZUNoYW5nZSA9PT0gJ2Z1bmN0aW9uJylcclxuICAgICAgICAgICAgb25EYXRlQ2hhbmdlKG51bGwpO1xyXG4gICAgfVxyXG4gICAgY29uc3QgcGFzc3dvcmRCdG5XaWR0aCA9ICgpID0+IHtcclxuICAgICAgICBjb25zdCBidG5XaWR0aCA9IGNoaWxkcmVuPy5wcm9wcz8uY2hpbGRyZW4/LlswXT8ucmVmPy5jdXJyZW50Py5vZmZzZXRXaWR0aDtcclxuICAgICAgICBpZiAodHlwZW9mIGJ0bldpZHRoID09PSAnbnVtYmVyJykge1xyXG4gICAgICAgICAgICByZXR1cm4gYnRuV2lkdGg7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgICAvLyBXaGVuIFBhc3N3b3JkQnV0dG9uIGlzIHVzZWQgaW5zaWRlIFNjaGVtYVJlbmRlcmVyLCBpdCBkb2Vzbid0IGhhdmUgY2hpbGRyZW4uXHJcbiAgICAgICAgICAgIC8vIFdlJ2xsIHVzZSB0aGUgZGVmYXVsdCBidXR0b24gc2l6ZXMuXHJcbiAgICAgICAgICAgIGlmIChwcm9wcy5pbnB1dFNpemUgPT09IElucHV0U2l6ZS5sYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuIDY0O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHJldHVybiA1NDtcclxuICAgICAgICB9XHJcbiAgICB9O1xyXG4gICAgcmV0dXJuIChSZWFjdC5jcmVhdGVFbGVtZW50KFwiZGl2XCIsIHsgcmVmOiBzZXRSZWZlcmVuY2UgfSxcclxuICAgICAgICBSZWFjdC5jcmVhdGVFbGVtZW50KElucHV0Q29udGFpbmVyLCB7IHN0eWxlOiBpbnB1dFdyYXBwZXJTdHlsZSwgXCJkYXRhLXRlc3RpZFwiOiBgJHt0ZXN0SWR9LXdyYXBwZXJgIH0sXHJcbiAgICAgICAgICAgIFJlYWN0LmNyZWF0ZUVsZW1lbnQoSW5wdXRXcmFwcGVyLCB7IGRpc2FibGVkOiBkaXNhYmxlZCwgaWNvblBvc2l0aW9uOiBpY29uUG9zaXRpb24sIGlzSW52ZXJzZTogcHJvcHMuaXNJbnZlcnNlLCBpbnB1dFNpemU6IGlucHV0U2l6ZSA/PyBJbnB1dFNpemUubWVkaXVtLCB0aGVtZTogdGhlbWUsIHN0eWxlOiBjb250YWluZXJTdHlsZSwgaGFzRXJyb3I6IGhhc0Vycm9yLCBpc0NsZWFyYWJsZTogaXNDbGVhcmFibGUsIHdpZHRoOiBwcm9wcy53aWR0aCB9LFxyXG4gICAgICAgICAgICAgICAgUmVhY3QuY3JlYXRlRWxlbWVudChTdHlsZWRJbnB1dCwgT2JqZWN0LmFzc2lnbih7fSwgb3RoZXIsIHsgXCJhcmlhLWludmFsaWRcIjogaGFzRXJyb3IsIGRpc2FibGVkOiBkaXNhYmxlZCwgXCJkYXRhLXRlc3RpZFwiOiB0ZXN0SWQsIGhhc0NoYXJhY3RlckNvdW50ZXI6IGhhc0NoYXJhY3RlckNvdW50ZXIsIGljb25Qb3NpdGlvbjogaWNvblBvc2l0aW9uLCBpbnB1dFNpemU6IGlucHV0U2l6ZSA/PyBJbnB1dFNpemUubWVkaXVtLCBpc0NsZWFyYWJsZTogdHlwZSA9PT0gSW5wdXRUeXBlLnNlYXJjaFxyXG4gICAgICAgICAgICAgICAgICAgICAgICA/IGlzQ2xlYXJhYmxlXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDogaW5wdXRXcmFwcGVyU3R5bGU/LndpZHRoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA/IGlzQ2xlYXJhYmxlXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IGlzQ2xlYXJhYmxlICYmIGlucHV0TGVuZ3RoID4gMCwgaXNJbnZlcnNlOiB1c2VJc0ludmVyc2UocHJvcHMuaXNJbnZlcnNlKSwgaXNQcmVkaWN0aXZlOiBpc1ByZWRpY3RpdmUsIGhhc0Vycm9yOiBoYXNFcnJvciwgcmVmOiByZWYsIG1heExlbmd0aDogbWF4TGVuZ3RoTnVtLCBvbkNoYW5nZTogaGFuZGxlQ2hhbmdlLCBzdHlsZTogaW5wdXRTdHlsZSwgdGhlbWU6IHRoZW1lLCB0eXBlOiB0eXBlID8gdHlwZSA6IElucHV0VHlwZS50ZXh0LCB2YWx1ZTogdmFsdWUgfSkpLFxyXG4gICAgICAgICAgICAgICAgaWNvbiAmJiAhb25JY29uQ2xpY2sgJiYgKFJlYWN0LmNyZWF0ZUVsZW1lbnQoSWNvbldyYXBwZXIsIHsgXCJhcmlhLWxhYmVsXCI6IGljb25BcmlhTGFiZWwsIGljb25Qb3NpdGlvbjogaWNvblBvc2l0aW9uLCBpbnB1dFNpemU6IGlucHV0U2l6ZSA/PyBJbnB1dFNpemUubWVkaXVtLCBpc0ludmVyc2U6IHByb3BzLmlzSW52ZXJzZSwgaXNQcmVkaWN0aXZlOiBpc1ByZWRpY3RpdmUsIHRoZW1lOiB0aGVtZSwgZGlzYWJsZWQ6IGRpc2FibGVkIH0sIFJlYWN0LkNoaWxkcmVuLm9ubHkoUmVhY3QuY2xvbmVFbGVtZW50KGljb24sIHtcclxuICAgICAgICAgICAgICAgICAgICBzaXplOiBnZXRJY29uU2l6ZShpbnB1dFNpemUgPz8gSW5wdXRTaXplLm1lZGl1bSwgdGhlbWUsIGljb25Qb3NpdGlvbiksXHJcbiAgICAgICAgICAgICAgICB9KSkpKSksXHJcbiAgICAgICAgICAgIGlzQ2xlYXJhYmxlICYmIHZhbHVlICE9PSAnJyAmJiAoUmVhY3QuY3JlYXRlRWxlbWVudChJc0NsZWFyYWJsZUNvbnRhaW5lciwgeyB0aGVtZTogdGhlbWUsIGljb25Qb3NpdGlvbjogaWNvblBvc2l0aW9uLCBpbnB1dFNpemU6IGlucHV0U2l6ZSwgaWNvbjogaWNvbiB9LFxyXG4gICAgICAgICAgICAgICAgUmVhY3QuY3JlYXRlRWxlbWVudChJY29uQnV0dG9uLCB7IFwiYXJpYS1sYWJlbFwiOiBpMThuLmlucHV0LmlzQ2xlYXJhYmxlQXJpYUxhYmVsLCBkaXNhYmxlZDogZGlzYWJsZWQsIGljb246IFJlYWN0LmNyZWF0ZUVsZW1lbnQoQ2xlYXJJY29uLCBudWxsKSwgaXNJbnZlcnNlOiBwcm9wcy5pc0ludmVyc2UsIG9uQ2xpY2s6IGhhbmRsZUNsZWFySW5wdXQsIG9uS2V5RG93bjogb25JY29uS2V5RG93biwgcmVmOiBpY29uUmVmLCBzaGFwZTogQnV0dG9uU2hhcGUuZmlsbCwgc2l6ZTogaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2VcclxuICAgICAgICAgICAgICAgICAgICAgICAgPyBCdXR0b25TaXplLm1lZGl1bVxyXG4gICAgICAgICAgICAgICAgICAgICAgICA6IEJ1dHRvblNpemUuc21hbGwsIHRlc3RJZDogXCJjbGVhci1idXR0b25cIiwgdHlwZTogQnV0dG9uVHlwZS5idXR0b24sIHZhcmlhbnQ6IEJ1dHRvblZhcmlhbnQubGluayB9KSkpLFxyXG4gICAgICAgICAgICBvbkljb25DbGljayAmJiAoUmVhY3QuY3JlYXRlRWxlbWVudChJY29uQnV0dG9uQ29udGFpbmVyLCB7IGljb25Qb3NpdGlvbjogaWNvblBvc2l0aW9uLCBpbnB1dFNpemU6IGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlXHJcbiAgICAgICAgICAgICAgICAgICAgPyBJbnB1dFNpemUubGFyZ2VcclxuICAgICAgICAgICAgICAgICAgICA6IElucHV0U2l6ZS5tZWRpdW0sIHRoZW1lOiB0aGVtZSwgaXNDbGlja2FibGU6IHRydWUgfSxcclxuICAgICAgICAgICAgICAgIFJlYWN0LmNyZWF0ZUVsZW1lbnQoSWNvbkJ1dHRvbiwgeyBcImFyaWEtbGFiZWxcIjogaWNvbkFyaWFMYWJlbCwgaWNvbjogaWNvbiwgaXNJbnZlcnNlOiBwcm9wcy5pc0ludmVyc2UsIG9uQ2xpY2s6IG9uSWNvbkNsaWNrLCBvbktleURvd246IG9uSWNvbktleURvd24sIHJlZjogaWNvblJlZiwgZGlzYWJsZWQ6IGRpc2FibGVkLCBzaGFwZTogQnV0dG9uU2hhcGUuZmlsbCwgc2l6ZTogaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2VcclxuICAgICAgICAgICAgICAgICAgICAgICAgPyBCdXR0b25TaXplLm1lZGl1bVxyXG4gICAgICAgICAgICAgICAgICAgICAgICA6IEJ1dHRvblNpemUuc21hbGwsIHR5cGU6IEJ1dHRvblR5cGUuYnV0dG9uLCB2YXJpYW50OiBCdXR0b25WYXJpYW50LmxpbmsgfSkpKSxcclxuICAgICAgICAgICAgaXNQYXNzd29yZElucHV0ID8gKFJlYWN0LmNyZWF0ZUVsZW1lbnQoUGFzc3dvcmRCdXR0b25Db250YWluZXIsIHsgc2l6ZTogaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2VcclxuICAgICAgICAgICAgICAgICAgICA/IElucHV0U2l6ZS5sYXJnZVxyXG4gICAgICAgICAgICAgICAgICAgIDogSW5wdXRTaXplLm1lZGl1bSwgdGhlbWU6IHRoZW1lLCBidXR0b25XaWR0aDogcGFzc3dvcmRCdG5XaWR0aCgpIH0sIGNoaWxkcmVuKSkgOiAoUmVhY3QuY3JlYXRlRWxlbWVudChIZWxwTGlua0NvbnRhaW5lciwgeyBpc0xhYmVsVmlzdWFsbHlIaWRkZW46IGlzTGFiZWxWaXN1YWxseUhpZGRlbiB8fCBmYWxzZSwgaW5wdXRTaXplOiBpbnB1dFNpemUgPz8gSW5wdXRTaXplLm1lZGl1bSwgbGFiZWxQb3NpdGlvbjogbGFiZWxQb3NpdGlvbiA/PyBMYWJlbFBvc2l0aW9uLnRvcCwgdGhlbWU6IHRoZW1lIH0sIGNoaWxkcmVuKSkpKSk7XHJcbn0pO1xyXG4vLyMgc291cmNlTWFwcGluZ1VSTD1pbmRleC5qcy5tYXAiXX0= */"));
|
|
5119
|
+
}, ";" + (process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImluZGV4LnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFnWTZDIiwiZmlsZSI6ImluZGV4LnRzeCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIFJlYWN0IGZyb20gJ3JlYWN0JztcclxuaW1wb3J0IHsgY3NzIH0gZnJvbSAnQGVtb3Rpb24vcmVhY3QnO1xyXG5pbXBvcnQgc3R5bGVkIGZyb20gJ0BlbW90aW9uL3N0eWxlZCc7XHJcbmltcG9ydCB7IHRyYW5zcGFyZW50aXplIH0gZnJvbSAncG9saXNoZWQnO1xyXG5pbXBvcnQgeyBDbGVhckljb24gfSBmcm9tICdyZWFjdC1tYWdtYS1pY29ucyc7XHJcbmltcG9ydCB7IEkxOG5Db250ZXh0IH0gZnJvbSAnLi4vLi4vaTE4bic7XHJcbmltcG9ydCB7IHVzZUlzSW52ZXJzZSB9IGZyb20gJy4uLy4uL2ludmVyc2UnO1xyXG5pbXBvcnQgeyBUaGVtZUNvbnRleHQgfSBmcm9tICcuLi8uLi90aGVtZS9UaGVtZUNvbnRleHQnO1xyXG5pbXBvcnQgeyB1c2VGb3JrZWRSZWYgfSBmcm9tICcuLi8uLi91dGlscyc7XHJcbmltcG9ydCB7IEJ1dHRvblNoYXBlLCBCdXR0b25TaXplLCBCdXR0b25UeXBlLCBCdXR0b25WYXJpYW50IH0gZnJvbSAnLi4vQnV0dG9uJztcclxuaW1wb3J0IHsgSWNvbkJ1dHRvbiB9IGZyb20gJy4uL0ljb25CdXR0b24nO1xyXG5pbXBvcnQgeyBMYWJlbFBvc2l0aW9uIH0gZnJvbSAnLi4vTGFiZWwnO1xyXG5pbXBvcnQgeyBDaGlsZHJlbldyYXBwZXIgfSBmcm9tICcuLi9TdHlsZWRCdXR0b24nO1xyXG5leHBvcnQgdmFyIElucHV0U2l6ZTtcclxuKGZ1bmN0aW9uIChJbnB1dFNpemUpIHtcclxuICAgIElucHV0U2l6ZVtcImxhcmdlXCJdID0gXCJsYXJnZVwiO1xyXG4gICAgSW5wdXRTaXplW1wibWVkaXVtXCJdID0gXCJtZWRpdW1cIjtcclxufSkoSW5wdXRTaXplIHx8IChJbnB1dFNpemUgPSB7fSkpO1xyXG5leHBvcnQgdmFyIElucHV0VHlwZTtcclxuKGZ1bmN0aW9uIChJbnB1dFR5cGUpIHtcclxuICAgIElucHV0VHlwZVtcImVtYWlsXCJdID0gXCJlbWFpbFwiO1xyXG4gICAgSW5wdXRUeXBlW1wiZmlsZVwiXSA9IFwiZmlsZVwiO1xyXG4gICAgSW5wdXRUeXBlW1wibnVtYmVyXCJdID0gXCJudW1iZXJcIjtcclxuICAgIElucHV0VHlwZVtcInBhc3N3b3JkXCJdID0gXCJwYXNzd29yZFwiO1xyXG4gICAgSW5wdXRUeXBlW1wic2VhcmNoXCJdID0gXCJzZWFyY2hcIjtcclxuICAgIElucHV0VHlwZVtcInRleHRcIl0gPSBcInRleHRcIjtcclxuICAgIElucHV0VHlwZVtcInVybFwiXSA9IFwidXJsXCI7XHJcbiAgICBJbnB1dFR5cGVbXCJ0ZWxcIl0gPSBcInRlbFwiO1xyXG59KShJbnB1dFR5cGUgfHwgKElucHV0VHlwZSA9IHt9KSk7XHJcbmV4cG9ydCB2YXIgSW5wdXRJY29uUG9zaXRpb247XHJcbihmdW5jdGlvbiAoSW5wdXRJY29uUG9zaXRpb24pIHtcclxuICAgIElucHV0SWNvblBvc2l0aW9uW1widG9wXCJdID0gXCJ0b3BcIjtcclxuICAgIElucHV0SWNvblBvc2l0aW9uW1wibGVmdFwiXSA9IFwibGVmdFwiO1xyXG4gICAgSW5wdXRJY29uUG9zaXRpb25bXCJyaWdodFwiXSA9IFwicmlnaHRcIjtcclxufSkoSW5wdXRJY29uUG9zaXRpb24gfHwgKElucHV0SWNvblBvc2l0aW9uID0ge30pKTtcclxuZXhwb3J0IGNvbnN0IGlucHV0V3JhcHBlclN0eWxlcyA9IChwcm9wcykgPT4gY3NzIGBcbiAgZmxleDogMSAxIGF1dG87XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgd2lkdGg6ICR7cHJvcHMud2lkdGggfHwgJ2F1dG8nfTtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHtwcm9wcy5pc0ludmVyc2VcclxuICAgID8gdHJhbnNwYXJlbnRpemUoMC44LCBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDkwMClcclxuICAgIDogcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWwxMDB9O1xuICBib3JkZXItcmFkaXVzOiAke3Byb3BzLnRoZW1lLmJvcmRlclJhZGl1c307XG4gIGJvcmRlcjogMXB4IHNvbGlkXG4gICAgJHtwcm9wcy5pc0ludmVyc2VcclxuICAgID8gdHJhbnNwYXJlbnRpemUoMC41LCBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDEwMClcclxuICAgIDogcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWw1MDB9O1xuICBoZWlnaHQ6ICR7cHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDl9O1xuXG4gICY6Zm9jdXMtd2l0aGluIHtcbiAgICBvdXRsaW5lOiAycHggc29saWRcbiAgICAgICR7cHJvcHMuaXNJbnZlcnNlXHJcbiAgICA/IHByb3BzLnRoZW1lLmNvbG9ycy5mb2N1c0ludmVyc2VcclxuICAgIDogcHJvcHMudGhlbWUuY29sb3JzLmZvY3VzfTtcbiAgICBvdXRsaW5lLW9mZnNldDogLTFweDtcbiAgfVxuXG4gICR7cHJvcHMuaGFzRXJyb3IgJiZcclxuICAgIGNzcyBgXG4gICAgYm9yZGVyLWNvbG9yOiAke3Byb3BzLmlzSW52ZXJzZVxyXG4gICAgICAgID8gcHJvcHMudGhlbWUuY29sb3JzLmRhbmdlcjMwMFxyXG4gICAgICAgIDogcHJvcHMudGhlbWUuY29sb3JzLmRhbmdlcn07XG4gIGB9XG5cbiAgJHtwcm9wcy5kaXNhYmxlZCAmJlxyXG4gICAgY3NzIGBcbiAgICBib3JkZXItY29sb3I6ICR7cHJvcHMuaXNJbnZlcnNlXHJcbiAgICAgICAgPyB0cmFuc3BhcmVudGl6ZSgwLjg1LCBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDEwMClcclxuICAgICAgICA6IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsMzAwfTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAke3Byb3BzLmlzSW52ZXJzZVxyXG4gICAgICAgID8gdHJhbnNwYXJlbnRpemUoMC45LCBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDkwMClcclxuICAgICAgICA6IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsMjAwfTtcbiAgYH1cblxuICAke3Byb3BzLmlucHV0U2l6ZSA9PT0gJ2xhcmdlJyAmJlxyXG4gICAgY3NzIGBcbiAgICBoZWlnaHQ6ICR7cHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMTF9O1xuICBgfVxuYDtcclxuZnVuY3Rpb24gZ2V0SW5wdXRQYWRkaW5nKHByb3BzKSB7XHJcbiAgICBjb25zdCB7IGlucHV0U2l6ZSwgaXNDbGVhcmFibGUsIGljb25Qb3NpdGlvbiB9ID0gcHJvcHM7XHJcbiAgICBjb25zdCBwYWRkaW5nID0ge1xyXG4gICAgICAgIGxlZnQ6IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzAzLFxyXG4gICAgICAgIHJpZ2h0OiBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwMyxcclxuICAgIH07XHJcbiAgICBpZiAoaW5wdXRTaXplID09PSAnbGFyZ2UnKSB7XHJcbiAgICAgICAgaWYgKGlzQ2xlYXJhYmxlKSB7XHJcbiAgICAgICAgICAgIGlmIChpY29uUG9zaXRpb24gPT09ICdyaWdodCcpIHtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmcucmlnaHQgPSAnOTJweCc7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgZWxzZSBpZiAoaWNvblBvc2l0aW9uID09PSAnbGVmdCcpIHtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmcubGVmdCA9IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzExO1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy5yaWdodCA9IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzExO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgLy8gaWNvbiB0b3AsIG5vIGljb25cclxuICAgICAgICAgICAgICAgIHBhZGRpbmcucmlnaHQgPSBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcxMTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBlbHNlIHtcclxuICAgICAgICAgICAgaWYgKGljb25Qb3NpdGlvbiA9PT0gJ3JpZ2h0Jykge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy5yaWdodCA9IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzEwO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGlmIChpY29uUG9zaXRpb24gPT09ICdsZWZ0Jykge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy5sZWZ0ID0gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMTA7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICBlbHNlIGlmIChpbnB1dFNpemUgPT09ICdtZWRpdW0nKSB7XHJcbiAgICAgICAgaWYgKGlzQ2xlYXJhYmxlKSB7XHJcbiAgICAgICAgICAgIGlmIChpY29uUG9zaXRpb24gPT09ICdyaWdodCcpIHtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmcucmlnaHQgPSAnNjhweCc7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgZWxzZSBpZiAoaWNvblBvc2l0aW9uID09PSAnbGVmdCcpIHtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmcubGVmdCA9IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzA5O1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy5yaWdodCA9IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzA5O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgLy8gaWNvbiB0b3AsIG5vIGljb25cclxuICAgICAgICAgICAgICAgIHBhZGRpbmcucmlnaHQgPSBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwOTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBlbHNlIHtcclxuICAgICAgICAgICAgaWYgKGljb25Qb3NpdGlvbiA9PT0gJ3JpZ2h0Jykge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy5yaWdodCA9IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzA5O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGlmIChpY29uUG9zaXRpb24gPT09ICdsZWZ0Jykge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy5sZWZ0ID0gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICByZXR1cm4gcGFkZGluZztcclxufVxyXG5leHBvcnQgY29uc3QgaW5wdXRCYXNlU3R5bGVzID0gKHByb3BzKSA9PiBjc3MgYFxuICBib3JkZXI6IDA7XG4gIGJvcmRlci1yYWRpdXM6ICR7cHJvcHMudGhlbWUuYm9yZGVyUmFkaXVzfTtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIGNvbG9yOiAke3Byb3BzLmlzSW52ZXJzZVxyXG4gICAgPyBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDEwMFxyXG4gICAgOiBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDcwMH07XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBmb250LXNpemU6ICR7cHJvcHMudGhlbWUudHlwZVNjYWxlLnNpemUwMy5mb250U2l6ZX07XG4gIGxpbmUtaGVpZ2h0OiAke3Byb3BzLnRoZW1lLnR5cGVTY2FsZS5zaXplMDMubGluZUhlaWdodH07XG4gIGZvbnQtZmFtaWx5OiAke3Byb3BzLnRoZW1lLmJvZHlGb250fTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBwYWRkaW5nOiAke3Byb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzAzfTtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICB3aWR0aDogMTAwJTtcblxuICAke3Byb3BzLmlucHV0U2l6ZSA9PT0gJ2xhcmdlJyAmJlxyXG4gICAgY3NzIGBcbiAgICBmb250LXNpemU6ICR7cHJvcHMudGhlbWUudHlwZVNjYWxlLnNpemUwNC5mb250U2l6ZX07XG4gICAgbGluZS1oZWlnaHQ6ICR7cHJvcHMudGhlbWUudHlwZVNjYWxlLnNpemUwNC5saW5lSGVpZ2h0fTtcbiAgICBwYWRkaW5nOiAke3Byb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzA0fTtcbiAgYH1cblxuICBwYWRkaW5nLWxlZnQ6ICR7Z2V0SW5wdXRQYWRkaW5nKHByb3BzKS5sZWZ0fTtcbiAgcGFkZGluZy1yaWdodDogJHtnZXRJbnB1dFBhZGRpbmcocHJvcHMpLnJpZ2h0fTtcblxuICAmOjpwbGFjZWhvbGRlciB7XG4gICAgY29sb3I6ICR7cHJvcHMuaXNJbnZlcnNlXHJcbiAgICA/IHRyYW5zcGFyZW50aXplKDAuMywgcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWwxMDApXHJcbiAgICA6IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsNTAwfTtcbiAgfVxuXG4gICY6Zm9jdXMge1xuICAgIG91dGxpbmU6IDA7XG4gIH1cblxuICAmW3R5cGU9J3NlYXJjaCddIHtcbiAgICAmOjotd2Via2l0LXNlYXJjaC1kZWNvcmF0aW9uLFxuICAgICY6Oi13ZWJraXQtc2VhcmNoLWNhbmNlbC1idXR0b24sXG4gICAgJjo6LXdlYmtpdC1zZWFyY2gtcmVzdWx0cy1idXR0b24sXG4gICAgJjo6LXdlYmtpdC1zZWFyY2gtcmVzdWx0cy1kZWNvcmF0aW9uIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICB9XG5cbiAgJHtwcm9wcy5kaXNhYmxlZCAmJlxyXG4gICAgY3NzIGBcbiAgICBjb2xvcjogJHtwcm9wcy5pc0ludmVyc2VcclxuICAgICAgICA/IHRyYW5zcGFyZW50aXplKDAuNiwgcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWwxMDApXHJcbiAgICAgICAgOiB0cmFuc3BhcmVudGl6ZSgwLjQsIHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsNTAwKX07XG4gICAgY3Vyc29yOiBub3QtYWxsb3dlZDtcblxuICAgICY6OnBsYWNlaG9sZGVyIHtcbiAgICAgIGNvbG9yOiAke3Byb3BzLmlzSW52ZXJzZVxyXG4gICAgICAgID8gdHJhbnNwYXJlbnRpemUoMC44LCBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDEwMClcclxuICAgICAgICA6IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsNTAwfTtcbiAgICAgIG9wYWNpdHk6ICR7cHJvcHMuaXNJbnZlcnNlID8gMC40IDogMC42fTtcbiAgICB9XG4gIGB9XG5cbiAgJjotd2Via2l0LWF1dG9maWxsLFxuICAmOi13ZWJraXQtYXV0b2ZpbGw6Zm9jdXMsXG4gICY6LXdlYmtpdC1hdXRvZmlsbDpob3ZlcixcbiAgJjotd2Via2l0LWF1dG9maWxsOmFjdGl2ZSB7XG4gICAgYm94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xuICAgIC13ZWJraXQtYmFja2dyb3VuZC1jbGlwOiB0ZXh0O1xuICAgIC13ZWJraXQtdGV4dC1maWxsLWNvbG9yOiAke3Byb3BzLmlzSW52ZXJzZVxyXG4gICAgPyBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDEwMFxyXG4gICAgOiBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDcwMH0gIWltcG9ydGFudDtcbiAgICBjYXJldC1jb2xvcjogJHtwcm9wcy5pc0ludmVyc2VcclxuICAgID8gcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWwxMDBcclxuICAgIDogcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWw3MDB9ICFpbXBvcnRhbnQ7XG4gIH1cbmA7XHJcbmNvbnN0IElucHV0Q29udGFpbmVyID0gc3R5bGVkLmRpdiBgXG4gIGRpc3BsYXk6IGZsZXg7XG5gO1xyXG5leHBvcnQgY29uc3QgSW5wdXRXcmFwcGVyID0gc3R5bGVkLmRpdiBgXG4gICR7aW5wdXRXcmFwcGVyU3R5bGVzfVxuYDtcclxuY29uc3QgU3R5bGVkSW5wdXQgPSBzdHlsZWQuaW5wdXQgYFxuICAke2lucHV0QmFzZVN0eWxlc31cbmA7XHJcbmNvbnN0IEljb25XcmFwcGVyID0gc3R5bGVkLnNwYW4gYFxuICBib3R0b206ICR7cHJvcHMgPT4gKHByb3BzLmljb25Qb3NpdGlvbiA9PT0gJ3RvcCcgPyAnNDVweCcgOiAnaW5oZXJpdCcpfTtcbiAgY29sb3I6ICR7cHJvcHMgPT4gcHJvcHMuaXNJbnZlcnNlXHJcbiAgICA/IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsMTAwXHJcbiAgICA6IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsNzAwfTtcbiAgbGVmdDogJHtwcm9wcyA9PiBwcm9wcy5pY29uUG9zaXRpb24gPT09ICdsZWZ0JyA/IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzAzIDogJ2F1dG8nfTtcbiAgcmlnaHQ6ICR7cHJvcHMgPT4gcHJvcHMuaWNvblBvc2l0aW9uID09PSAncmlnaHQnXHJcbiAgICA/IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzAzXHJcbiAgICA6IHByb3BzLmljb25Qb3NpdGlvbiA9PT0gJ3RvcCdcclxuICAgICAgICA/ICczcHgnXHJcbiAgICAgICAgOiAnYXV0byd9O1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogJHtwcm9wcyA9PiBwcm9wcy5pY29uUG9zaXRpb24gPT09ICd0b3AnXHJcbiAgICA/ICdpbmhlcml0J1xyXG4gICAgOiBwcm9wcyA9PiBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwM307XG5cbiAgJHtwcm9wcyA9PiBwcm9wcy5pbnB1dFNpemUgPT09ICdsYXJnZScgJiZcclxuICAgIGNzcyBgXG4gICAgICBib3R0b206ICR7cHJvcHMuaWNvblBvc2l0aW9uID09PSAndG9wJyA/ICc2MnB4JyA6ICdpbmhlcml0J307XG4gICAgICBsZWZ0OiAke3Byb3BzLmljb25Qb3NpdGlvbiA9PT0gJ2xlZnQnXHJcbiAgICAgICAgPyBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwNFxyXG4gICAgICAgIDogJ2F1dG8nfTtcbiAgICAgIHJpZ2h0OiAke3Byb3BzLmljb25Qb3NpdGlvbiA9PT0gJ3JpZ2h0J1xyXG4gICAgICAgID8gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDRcclxuICAgICAgICA6IHByb3BzLmljb25Qb3NpdGlvbiA9PT0gJ3RvcCdcclxuICAgICAgICAgICAgPyAnM3B4J1xyXG4gICAgICAgICAgICA6ICdhdXRvJ307XG4gICAgICB0b3A6ICR7cHJvcHMuaWNvblBvc2l0aW9uID09PSAndG9wJ1xyXG4gICAgICAgID8gJ2luaGVyaXQnXHJcbiAgICAgICAgOiBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwNH07XG4gICAgYH1cbmA7XHJcbmZ1bmN0aW9uIGdldEljb25CdXR0b25TVkdTaXplKHByb3BzKSB7XHJcbiAgICBjb25zdCB7IGlzQ2xpY2thYmxlLCBpY29uUG9zaXRpb24sIGlucHV0U2l6ZSwgdGhlbWUgfSA9IHByb3BzO1xyXG4gICAgaWYgKGlzQ2xpY2thYmxlICYmIGljb25Qb3NpdGlvbiA9PT0gSW5wdXRJY29uUG9zaXRpb24udG9wKSB7XHJcbiAgICAgICAgaWYgKGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlKSB7XHJcbiAgICAgICAgICAgIHJldHVybiBgJHt0aGVtZS5pY29uU2l6ZXMubWVkaXVtfXB4YDtcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIGAke3RoZW1lLmljb25TaXplcy5zbWFsbH1weGA7XHJcbiAgICB9XHJcbiAgICBpZiAoaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2UpIHtcclxuICAgICAgICByZXR1cm4gYCR7dGhlbWUuaWNvblNpemVzLmxhcmdlfXB4YDtcclxuICAgIH1cclxuICAgIHJldHVybiBgJHt0aGVtZS5pY29uU2l6ZXMubWVkaXVtfXB4YDtcclxufVxyXG5mdW5jdGlvbiBnZXRIZWxwTGlua1NWR1NpemUocHJvcHMpIHtcclxuICAgIGNvbnN0IHsgaW5wdXRTaXplLCB0aGVtZSB9ID0gcHJvcHM7XHJcbiAgICBpZiAoaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2UpIHtcclxuICAgICAgICByZXR1cm4gYCR7dGhlbWUuaWNvblNpemVzLm1lZGl1bX1weGA7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gYCR7dGhlbWUuaWNvblNpemVzLnNtYWxsfXB4YDtcclxufVxyXG5leHBvcnQgZnVuY3Rpb24gZ2V0SGVscEljb25CdXR0b25TaXplKHByb3BzKSB7XHJcbiAgICBjb25zdCB7IGlucHV0U2l6ZSwgdGhlbWUgfSA9IHByb3BzO1xyXG4gICAgaWYgKGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlKSB7XHJcbiAgICAgICAgcmV0dXJuIHRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzA5O1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIHRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzA3O1xyXG59XHJcbmZ1bmN0aW9uIGdldEljb25CdXR0b25UcmFuc2Zvcm0ocHJvcHMpIHtcclxuICAgIGNvbnN0IHsgaXNDbGlja2FibGUsIGljb25Qb3NpdGlvbiwgaW5wdXRTaXplLCBoYXNDaGlsZHJlbiwgdGhlbWUgfSA9IHByb3BzO1xyXG4gICAgY29uc3QgcG9zaXRpb24gPSB7IHg6ICcnLCB5OiAnJyB9O1xyXG4gICAgaWYgKGljb25Qb3NpdGlvbiA9PT0gSW5wdXRJY29uUG9zaXRpb24udG9wKSB7XHJcbiAgICAgICAgaWYgKGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlKSB7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uLnggPSAnLTMwcHgnO1xyXG4gICAgICAgICAgICBwb3NpdGlvbi55ID0gJzJweCc7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2UgaWYgKGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLm1lZGl1bSkge1xyXG4gICAgICAgICAgICBwb3NpdGlvbi54ID0gJy0yOHB4JztcclxuICAgICAgICAgICAgcG9zaXRpb24ueSA9ICc1cHgnO1xyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gcG9zaXRpb247XHJcbiAgICB9XHJcbiAgICBpZiAoaXNDbGlja2FibGUpIHtcclxuICAgICAgICBpZiAoaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2UpIHtcclxuICAgICAgICAgICAgaWYgKGhhc0NoaWxkcmVuKSB7XHJcbiAgICAgICAgICAgICAgICBwb3NpdGlvbi54ID0gJy00M3B4JztcclxuICAgICAgICAgICAgICAgIHBvc2l0aW9uLnkgPSAnMTRweCc7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICAgICAgICBwb3NpdGlvbi54ID0gJy00OXB4JztcclxuICAgICAgICAgICAgICAgIHBvc2l0aW9uLnkgPSAnOHB4JztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBlbHNlIGlmIChpbnB1dFNpemUgPT09IElucHV0U2l6ZS5tZWRpdW0pIHtcclxuICAgICAgICAgICAgcG9zaXRpb24ueCA9ICctMzVweCc7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uLnkgPSAnNnB4JztcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIHBvc2l0aW9uO1xyXG4gICAgfVxyXG4gICAgaWYgKGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlKSB7XHJcbiAgICAgICAgcG9zaXRpb24ueCA9IGAtJHt0aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcxMH1gO1xyXG4gICAgICAgIHBvc2l0aW9uLnkgPSB0aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwMztcclxuICAgIH1cclxuICAgIGVsc2UgaWYgKGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLm1lZGl1bSkge1xyXG4gICAgICAgIHBvc2l0aW9uLnggPSAnLTI0cHgnO1xyXG4gICAgICAgIHBvc2l0aW9uLnkgPSAnN3B4JztcclxuICAgIH1cclxuICAgIHJldHVybiBwb3NpdGlvbjtcclxufVxyXG5leHBvcnQgY29uc3QgSWNvbkJ1dHRvbkNvbnRhaW5lciA9IHN0eWxlZC5zcGFuIGBcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGJvdHRvbTogJHtwcm9wcyA9PiAocHJvcHMuaWNvblBvc2l0aW9uID09PSAndG9wJyA/ICc0MHB4JyA6ICdpbmhlcml0Jyl9O1xuICBoZWlnaHQ6IGF1dG87XG4gIG1hcmdpbjogMDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aWR0aDogMDtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoXG4gICAgJHtwcm9wcyA9PiBnZXRJY29uQnV0dG9uVHJhbnNmb3JtKHByb3BzKS54fSxcbiAgICAke3Byb3BzID0+IGdldEljb25CdXR0b25UcmFuc2Zvcm0ocHJvcHMpLnl9XG4gICk7XG4gIHN2ZyB7XG4gICAgaGVpZ2h0OiAke3Byb3BzID0+IGdldEljb25CdXR0b25TVkdTaXplKHByb3BzKX07XG4gICAgd2lkdGg6ICR7cHJvcHMgPT4gZ2V0SWNvbkJ1dHRvblNWR1NpemUocHJvcHMpfTtcbiAgfVxuYDtcclxuY29uc3QgUGFzc3dvcmRCdXR0b25Db250YWluZXIgPSBzdHlsZWQuc3BhbiBgXG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICB3aWR0aDogMDtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoXG4gICAgJHtwcm9wcyA9PiBwcm9wcy5zaXplID09PSBJbnB1dFNpemUubGFyZ2VcclxuICAgID8gYCR7LXByb3BzLmJ1dHRvbldpZHRoIC0gOH1weGBcclxuICAgIDogYCR7LXByb3BzLmJ1dHRvbldpZHRoIC0gNn1weGB9LFxuICAgICR7cHJvcHMgPT4gcHJvcHMuc2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlID8gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDMgOiAnNnB4J31cbiAgKTtcbmA7XHJcbmZ1bmN0aW9uIGdldENsZWFyYWJsZVBvc2l0aW9uKHByb3BzKSB7XHJcbiAgICBpZiAocHJvcHMuaWNvblBvc2l0aW9uID09PSAncmlnaHQnICYmIHByb3BzLmljb24pIHtcclxuICAgICAgICBpZiAocHJvcHMuaW5wdXRTaXplID09PSAnbGFyZ2UnKSB7XHJcbiAgICAgICAgICAgIHJldHVybiBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcxMztcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuICc3MnB4JztcclxuICAgIH1cclxuICAgIGlmIChwcm9wcy5pbnB1dFNpemUgPT09ICdsYXJnZScpIHtcclxuICAgICAgICByZXR1cm4gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMTA7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gJzM0cHgnO1xyXG59XHJcbmNvbnN0IElzQ2xlYXJhYmxlQ29udGFpbmVyID0gc3R5bGVkLnNwYW4gYFxuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgbWFyZ2luOiAwO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGhlaWdodDogYXV0bztcbiAgd2lkdGg6IDA7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKFxuICAgIC0ke3Byb3BzID0+IGdldENsZWFyYWJsZVBvc2l0aW9uKHByb3BzKX0sXG4gICAgJHtwcm9wcyA9PiBwcm9wcy5pbnB1dFNpemUgPT09IElucHV0U2l6ZS5sYXJnZVxyXG4gICAgPyBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwM1xyXG4gICAgOiAnNnB4J31cbiAgKTtcbmA7XHJcbmZ1bmN0aW9uIGdldEljb25TaXplKHNpemUsIHRoZW1lLCBpY29uUG9zaXRpb24pIHtcclxuICAgIHN3aXRjaCAoc2l6ZSkge1xyXG4gICAgICAgIGNhc2UgJ2xhcmdlJzpcclxuICAgICAgICAgICAgaWYgKGljb25Qb3NpdGlvbiA9PT0gSW5wdXRJY29uUG9zaXRpb24udG9wKSB7XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gdGhlbWUuaWNvblNpemVzLm1lZGl1bTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICByZXR1cm4gdGhlbWUuaWNvblNpemVzLmxhcmdlO1xyXG4gICAgICAgIGRlZmF1bHQ6XHJcbiAgICAgICAgICAgIGlmIChpY29uUG9zaXRpb24gPT09IElucHV0SWNvblBvc2l0aW9uLnRvcCkge1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuIHRoZW1lLmljb25TaXplcy5zbWFsbDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICByZXR1cm4gdGhlbWUuaWNvblNpemVzLm1lZGl1bTtcclxuICAgIH1cclxufVxyXG5leHBvcnQgY29uc3QgaXNMZWZ0T3JIaWRkZW4gPSAoeyBsYWJlbFBvc2l0aW9uLCBpc0xhYmVsVmlzdWFsbHlIaWRkZW4sIH0pID0+IGxhYmVsUG9zaXRpb24gPT09IExhYmVsUG9zaXRpb24ubGVmdCB8fCBpc0xhYmVsVmlzdWFsbHlIaWRkZW47XHJcbmV4cG9ydCBjb25zdCBIZWxwTGlua0NvbnRhaW5lciA9IHN0eWxlZC5zcGFuIGBcbiAgcG9zaXRpb246ICR7cHJvcHMgPT4gKGlzTGVmdE9ySGlkZGVuKHByb3BzKSA/ICdyZWxhdGl2ZScgOiAnYWJzb2x1dGUnKX07XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXG4gIGhlaWdodDogJHtwcm9wcyA9PiAoaXNMZWZ0T3JIaWRkZW4ocHJvcHMpID8gJ2F1dG8nIDogJ2ZpdC1jb250ZW50Jyl9O1xuICBtYXJnaW4taW5saW5lLXN0YXJ0OiAke3Byb3BzID0+IGlzTGVmdE9ySGlkZGVuKHByb3BzKSA/IGAke3Byb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzAzfWAgOiAnYXV0byd9O1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoXG4gICAgJHtwcm9wcyA9PiBpc0xlZnRPckhpZGRlbihwcm9wcylcclxuICAgID8gJzAnXHJcbiAgICA6IGBjYWxjKC0xMDAlIC0gJHtwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwM30pYH1cbiAgKTtcbiAgJHtDaGlsZHJlbldyYXBwZXJ9ID4gc3ZnIHtcbiAgICBoZWlnaHQ6ICR7cHJvcHMgPT4gZ2V0SGVscExpbmtTVkdTaXplKHByb3BzKX07XG4gICAgd2lkdGg6ICR7cHJvcHMgPT4gZ2V0SGVscExpbmtTVkdTaXplKHByb3BzKX07XG4gIH1cbiAgYnV0dG9uIHtcbiAgICBoZWlnaHQ6ICR7cHJvcHMgPT4gZ2V0SGVscEljb25CdXR0b25TaXplKHByb3BzKX07XG4gICAgd2lkdGg6ICR7cHJvcHMgPT4gZ2V0SGVscEljb25CdXR0b25TaXplKHByb3BzKX07XG4gIH1cbiAgaW5zZXQtaW5saW5lLWVuZDogJHtwcm9wcyA9PiAoaXNMZWZ0T3JIaWRkZW4ocHJvcHMpID8gJ2F1dG8nIDogJzAnKX07XG5gO1xyXG5leHBvcnQgY29uc3QgSW5wdXRCYXNlID0gUmVhY3QuZm9yd2FyZFJlZigocHJvcHMsIGZvcndhcmRlZFJlZikgPT4ge1xyXG4gICAgY29uc3QgeyBjaGlsZHJlbiwgY29udGFpbmVyU3R5bGUsIGRlZmF1bHRWYWx1ZSwgZGlzYWJsZWQsIGhhc0NoYXJhY3RlckNvdW50ZXIsIGhhc0Vycm9yLCBpY29uLCBpY29uQXJpYUxhYmVsLCBpY29uUmVmLCBpc0NsZWFyYWJsZSwgaXNQYXNzd29yZElucHV0LCBpc1ByZWRpY3RpdmUsIG1heENvdW50LCBtYXhMZW5ndGgsIG9uQ2xlYXIsIG9uSWNvbkNsaWNrLCBvbkljb25LZXlEb3duLCBvbkRhdGVDaGFuZ2UsIGlucHV0TGVuZ3RoLCBpbnB1dFNpemUsIGlucHV0U3R5bGUsIGlucHV0V3JhcHBlclN0eWxlLCB0ZXN0SWQsIHR5cGUsIHNldFJlZmVyZW5jZSwgaXNMYWJlbFZpc3VhbGx5SGlkZGVuLCBsYWJlbFBvc2l0aW9uLCAuLi5vdGhlciB9ID0gcHJvcHM7XHJcbiAgICBjb25zdCBpMThuID0gUmVhY3QudXNlQ29udGV4dChJMThuQ29udGV4dCk7XHJcbiAgICBjb25zdCB0aGVtZSA9IFJlYWN0LnVzZUNvbnRleHQoVGhlbWVDb250ZXh0KTtcclxuICAgIGNvbnN0IGljb25Qb3NpdGlvbiA9IGljb24gJiYgb25JY29uQ2xpY2tcclxuICAgICAgICA/IElucHV0SWNvblBvc2l0aW9uLnJpZ2h0XHJcbiAgICAgICAgOiBpY29uICYmICFwcm9wcy5pY29uUG9zaXRpb25cclxuICAgICAgICAgICAgPyBJbnB1dEljb25Qb3NpdGlvbi5sZWZ0XHJcbiAgICAgICAgICAgIDogcHJvcHMuaWNvblBvc2l0aW9uO1xyXG4gICAgY29uc3QgW3ZhbHVlLCBzZXRWYWx1ZV0gPSBSZWFjdC51c2VTdGF0ZShwcm9wcy5kZWZhdWx0VmFsdWUgIT09IHVuZGVmaW5lZCAmJiBwcm9wcy5kZWZhdWx0VmFsdWUgIT09IG51bGxcclxuICAgICAgICA/IHByb3BzLmRlZmF1bHRWYWx1ZVxyXG4gICAgICAgIDogcHJvcHMudmFsdWUgfHwgJycpO1xyXG4gICAgY29uc3QgbWF4TGVuZ3RoTnVtID0gIWhhc0NoYXJhY3RlckNvdW50ZXIgJiYgbWF4TGVuZ3RoID8gbWF4TGVuZ3RoIDogdW5kZWZpbmVkO1xyXG4gICAgUmVhY3QudXNlRWZmZWN0KCgpID0+IHtcclxuICAgICAgICBpZiAocHJvcHMudmFsdWUgIT09IHVuZGVmaW5lZCAmJiBwcm9wcy52YWx1ZSAhPT0gbnVsbCkge1xyXG4gICAgICAgICAgICBzZXRWYWx1ZShwcm9wcy52YWx1ZSk7XHJcbiAgICAgICAgfVxyXG4gICAgfSwgW3Byb3BzLnZhbHVlXSk7XHJcbiAgICBjb25zdCBpbnB1dFJlZiA9IFJlYWN0LnVzZVJlZigpO1xyXG4gICAgY29uc3QgcmVmID0gdXNlRm9ya2VkUmVmKGZvcndhcmRlZFJlZiwgaW5wdXRSZWYpO1xyXG4gICAgZnVuY3Rpb24gaGFuZGxlQ2xlYXJJbnB1dCgpIHtcclxuICAgICAgICBvbkNsZWFyICYmIHR5cGVvZiBvbkNsZWFyID09PSAnZnVuY3Rpb24nICYmIG9uQ2xlYXIoKTtcclxuICAgICAgICBzZXRWYWx1ZSgnJyk7XHJcbiAgICAgICAgb25EYXRlQ2hhbmdlICYmIHR5cGVvZiBvbkRhdGVDaGFuZ2UgPT09ICdmdW5jdGlvbicgJiYgb25EYXRlQ2hhbmdlKG51bGwpO1xyXG4gICAgICAgIGlucHV0UmVmLmN1cnJlbnQuZm9jdXMoKTtcclxuICAgIH1cclxuICAgIGZ1bmN0aW9uIGhhbmRsZUNoYW5nZShldmVudCkge1xyXG4gICAgICAgIHByb3BzLm9uQ2hhbmdlICYmXHJcbiAgICAgICAgICAgIHR5cGVvZiBwcm9wcy5vbkNoYW5nZSA9PT0gJ2Z1bmN0aW9uJyAmJlxyXG4gICAgICAgICAgICBwcm9wcy5vbkNoYW5nZShldmVudCk7XHJcbiAgICAgICAgY29uc3QgaXNPbkRhdGVDaGFuZ2UgPSBvbkRhdGVDaGFuZ2UgJiYgdHlwZW9mIG9uRGF0ZUNoYW5nZSA9PT0gJ2Z1bmN0aW9uJztcclxuICAgICAgICBjb25zdCB7IHZhbHVlIH0gPSBldmVudC50YXJnZXQ7XHJcbiAgICAgICAgc2V0VmFsdWUoaXNPbkRhdGVDaGFuZ2UgPyB2YWx1ZSA6IChwcm9wcy52YWx1ZSA/PyB2YWx1ZSkpO1xyXG4gICAgICAgIGlmIChpc09uRGF0ZUNoYW5nZSAmJiAhdmFsdWUpIHtcclxuICAgICAgICAgICAgb25EYXRlQ2hhbmdlKG51bGwpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIGNvbnN0IHBhc3N3b3JkQnRuV2lkdGggPSAoKSA9PiB7XHJcbiAgICAgICAgY29uc3QgYnRuV2lkdGggPSBjaGlsZHJlbj8ucHJvcHM/LmNoaWxkcmVuPy5bMF0/LnJlZj8uY3VycmVudD8ub2Zmc2V0V2lkdGg7XHJcbiAgICAgICAgaWYgKHR5cGVvZiBidG5XaWR0aCA9PT0gJ251bWJlcicpIHtcclxuICAgICAgICAgICAgcmV0dXJuIGJ0bldpZHRoO1xyXG4gICAgICAgIH1cclxuICAgICAgICBlbHNlIHtcclxuICAgICAgICAgICAgLy8gV2hlbiBQYXNzd29yZEJ1dHRvbiBpcyB1c2VkIGluc2lkZSBTY2hlbWFSZW5kZXJlciwgaXQgZG9lc24ndCBoYXZlIGNoaWxkcmVuLlxyXG4gICAgICAgICAgICAvLyBXZSdsbCB1c2UgdGhlIGRlZmF1bHQgYnV0dG9uIHNpemVzLlxyXG4gICAgICAgICAgICBpZiAocHJvcHMuaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgIHJldHVybiA2NDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICByZXR1cm4gNTQ7XHJcbiAgICAgICAgfVxyXG4gICAgfTtcclxuICAgIHJldHVybiAoUmVhY3QuY3JlYXRlRWxlbWVudChcImRpdlwiLCB7IHJlZjogc2V0UmVmZXJlbmNlIH0sXHJcbiAgICAgICAgUmVhY3QuY3JlYXRlRWxlbWVudChJbnB1dENvbnRhaW5lciwgeyBzdHlsZTogaW5wdXRXcmFwcGVyU3R5bGUsIFwiZGF0YS10ZXN0aWRcIjogYCR7dGVzdElkfS13cmFwcGVyYCB9LFxyXG4gICAgICAgICAgICBSZWFjdC5jcmVhdGVFbGVtZW50KElucHV0V3JhcHBlciwgeyBkaXNhYmxlZDogZGlzYWJsZWQsIGljb25Qb3NpdGlvbjogaWNvblBvc2l0aW9uLCBpc0ludmVyc2U6IHByb3BzLmlzSW52ZXJzZSwgaW5wdXRTaXplOiBpbnB1dFNpemUgPz8gSW5wdXRTaXplLm1lZGl1bSwgdGhlbWU6IHRoZW1lLCBzdHlsZTogY29udGFpbmVyU3R5bGUsIGhhc0Vycm9yOiBoYXNFcnJvciwgaXNDbGVhcmFibGU6IGlzQ2xlYXJhYmxlLCB3aWR0aDogcHJvcHMud2lkdGggfSxcclxuICAgICAgICAgICAgICAgIFJlYWN0LmNyZWF0ZUVsZW1lbnQoU3R5bGVkSW5wdXQsIE9iamVjdC5hc3NpZ24oe30sIG90aGVyLCB7IFwiYXJpYS1pbnZhbGlkXCI6IGhhc0Vycm9yLCBkaXNhYmxlZDogZGlzYWJsZWQsIFwiZGF0YS10ZXN0aWRcIjogdGVzdElkLCBoYXNDaGFyYWN0ZXJDb3VudGVyOiBoYXNDaGFyYWN0ZXJDb3VudGVyLCBpY29uUG9zaXRpb246IGljb25Qb3NpdGlvbiwgaW5wdXRTaXplOiBpbnB1dFNpemUgPz8gSW5wdXRTaXplLm1lZGl1bSwgaXNDbGVhcmFibGU6IHR5cGUgPT09IElucHV0VHlwZS5zZWFyY2hcclxuICAgICAgICAgICAgICAgICAgICAgICAgPyBpc0NsZWFyYWJsZVxyXG4gICAgICAgICAgICAgICAgICAgICAgICA6IGlucHV0V3JhcHBlclN0eWxlPy53aWR0aFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPyBpc0NsZWFyYWJsZVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBpc0NsZWFyYWJsZSAmJiBpbnB1dExlbmd0aCA+IDAsIGlzSW52ZXJzZTogdXNlSXNJbnZlcnNlKHByb3BzLmlzSW52ZXJzZSksIGlzUHJlZGljdGl2ZTogaXNQcmVkaWN0aXZlLCBoYXNFcnJvcjogaGFzRXJyb3IsIHJlZjogcmVmLCBtYXhMZW5ndGg6IG1heExlbmd0aE51bSwgb25DaGFuZ2U6IGhhbmRsZUNoYW5nZSwgc3R5bGU6IGlucHV0U3R5bGUsIHRoZW1lOiB0aGVtZSwgdHlwZTogdHlwZSA/IHR5cGUgOiBJbnB1dFR5cGUudGV4dCwgdmFsdWU6IHZhbHVlIH0pKSxcclxuICAgICAgICAgICAgICAgIGljb24gJiYgIW9uSWNvbkNsaWNrICYmIChSZWFjdC5jcmVhdGVFbGVtZW50KEljb25XcmFwcGVyLCB7IFwiYXJpYS1sYWJlbFwiOiBpY29uQXJpYUxhYmVsLCBpY29uUG9zaXRpb246IGljb25Qb3NpdGlvbiwgaW5wdXRTaXplOiBpbnB1dFNpemUgPz8gSW5wdXRTaXplLm1lZGl1bSwgaXNJbnZlcnNlOiBwcm9wcy5pc0ludmVyc2UsIGlzUHJlZGljdGl2ZTogaXNQcmVkaWN0aXZlLCB0aGVtZTogdGhlbWUsIGRpc2FibGVkOiBkaXNhYmxlZCB9LCBSZWFjdC5DaGlsZHJlbi5vbmx5KFJlYWN0LmNsb25lRWxlbWVudChpY29uLCB7XHJcbiAgICAgICAgICAgICAgICAgICAgc2l6ZTogZ2V0SWNvblNpemUoaW5wdXRTaXplID8/IElucHV0U2l6ZS5tZWRpdW0sIHRoZW1lLCBpY29uUG9zaXRpb24pLFxyXG4gICAgICAgICAgICAgICAgfSkpKSkpLFxyXG4gICAgICAgICAgICBpc0NsZWFyYWJsZSAmJiB2YWx1ZSAhPT0gJycgJiYgKFJlYWN0LmNyZWF0ZUVsZW1lbnQoSXNDbGVhcmFibGVDb250YWluZXIsIHsgdGhlbWU6IHRoZW1lLCBpY29uUG9zaXRpb246IGljb25Qb3NpdGlvbiwgaW5wdXRTaXplOiBpbnB1dFNpemUsIGljb246IGljb24gfSxcclxuICAgICAgICAgICAgICAgIFJlYWN0LmNyZWF0ZUVsZW1lbnQoSWNvbkJ1dHRvbiwgeyBcImFyaWEtbGFiZWxcIjogaTE4bi5pbnB1dC5pc0NsZWFyYWJsZUFyaWFMYWJlbCwgZGlzYWJsZWQ6IGRpc2FibGVkLCBpY29uOiBSZWFjdC5jcmVhdGVFbGVtZW50KENsZWFySWNvbiwgbnVsbCksIGlzSW52ZXJzZTogcHJvcHMuaXNJbnZlcnNlLCBvbkNsaWNrOiBoYW5kbGVDbGVhcklucHV0LCBvbktleURvd246IG9uSWNvbktleURvd24sIHJlZjogaWNvblJlZiwgc2hhcGU6IEJ1dHRvblNoYXBlLmZpbGwsIHNpemU6IGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlXHJcbiAgICAgICAgICAgICAgICAgICAgICAgID8gQnV0dG9uU2l6ZS5tZWRpdW1cclxuICAgICAgICAgICAgICAgICAgICAgICAgOiBCdXR0b25TaXplLnNtYWxsLCB0ZXN0SWQ6IFwiY2xlYXItYnV0dG9uXCIsIHR5cGU6IEJ1dHRvblR5cGUuYnV0dG9uLCB2YXJpYW50OiBCdXR0b25WYXJpYW50LmxpbmsgfSkpKSxcclxuICAgICAgICAgICAgb25JY29uQ2xpY2sgJiYgKFJlYWN0LmNyZWF0ZUVsZW1lbnQoSWNvbkJ1dHRvbkNvbnRhaW5lciwgeyBpY29uUG9zaXRpb246IGljb25Qb3NpdGlvbiwgaW5wdXRTaXplOiBpbnB1dFNpemUgPT09IElucHV0U2l6ZS5sYXJnZVxyXG4gICAgICAgICAgICAgICAgICAgID8gSW5wdXRTaXplLmxhcmdlXHJcbiAgICAgICAgICAgICAgICAgICAgOiBJbnB1dFNpemUubWVkaXVtLCB0aGVtZTogdGhlbWUsIGlzQ2xpY2thYmxlOiB0cnVlIH0sXHJcbiAgICAgICAgICAgICAgICBSZWFjdC5jcmVhdGVFbGVtZW50KEljb25CdXR0b24sIHsgXCJhcmlhLWxhYmVsXCI6IGljb25BcmlhTGFiZWwsIGljb246IGljb24sIGlzSW52ZXJzZTogcHJvcHMuaXNJbnZlcnNlLCBvbkNsaWNrOiBvbkljb25DbGljaywgb25LZXlEb3duOiBvbkljb25LZXlEb3duLCByZWY6IGljb25SZWYsIGRpc2FibGVkOiBkaXNhYmxlZCwgc2hhcGU6IEJ1dHRvblNoYXBlLmZpbGwsIHNpemU6IGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlXHJcbiAgICAgICAgICAgICAgICAgICAgICAgID8gQnV0dG9uU2l6ZS5tZWRpdW1cclxuICAgICAgICAgICAgICAgICAgICAgICAgOiBCdXR0b25TaXplLnNtYWxsLCB0eXBlOiBCdXR0b25UeXBlLmJ1dHRvbiwgdmFyaWFudDogQnV0dG9uVmFyaWFudC5saW5rIH0pKSksXHJcbiAgICAgICAgICAgIGlzUGFzc3dvcmRJbnB1dCA/IChSZWFjdC5jcmVhdGVFbGVtZW50KFBhc3N3b3JkQnV0dG9uQ29udGFpbmVyLCB7IHNpemU6IGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlXHJcbiAgICAgICAgICAgICAgICAgICAgPyBJbnB1dFNpemUubGFyZ2VcclxuICAgICAgICAgICAgICAgICAgICA6IElucHV0U2l6ZS5tZWRpdW0sIHRoZW1lOiB0aGVtZSwgYnV0dG9uV2lkdGg6IHBhc3N3b3JkQnRuV2lkdGgoKSB9LCBjaGlsZHJlbikpIDogKFJlYWN0LmNyZWF0ZUVsZW1lbnQoSGVscExpbmtDb250YWluZXIsIHsgaXNMYWJlbFZpc3VhbGx5SGlkZGVuOiBpc0xhYmVsVmlzdWFsbHlIaWRkZW4gfHwgZmFsc2UsIGlucHV0U2l6ZTogaW5wdXRTaXplID8/IElucHV0U2l6ZS5tZWRpdW0sIGxhYmVsUG9zaXRpb246IGxhYmVsUG9zaXRpb24gPz8gTGFiZWxQb3NpdGlvbi50b3AsIHRoZW1lOiB0aGVtZSB9LCBjaGlsZHJlbikpKSkpO1xyXG59KTtcclxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9aW5kZXguanMubWFwIl19 */"));
|
|
5120
5120
|
var InputBase = /*#__PURE__*/forwardRef(function (props, forwardedRef) {
|
|
5121
5121
|
var children = props.children,
|
|
5122
5122
|
containerStyle = props.containerStyle,
|
|
@@ -5165,9 +5165,14 @@ var InputBase = /*#__PURE__*/forwardRef(function (props, forwardedRef) {
|
|
|
5165
5165
|
inputRef.current.focus();
|
|
5166
5166
|
}
|
|
5167
5167
|
function handleChange(event) {
|
|
5168
|
+
var _props$value;
|
|
5168
5169
|
props.onChange && typeof props.onChange === 'function' && props.onChange(event);
|
|
5169
|
-
|
|
5170
|
-
|
|
5170
|
+
var isOnDateChange = onDateChange && typeof onDateChange === 'function';
|
|
5171
|
+
var value = event.target.value;
|
|
5172
|
+
setValue(isOnDateChange ? value : (_props$value = props.value) != null ? _props$value : value);
|
|
5173
|
+
if (isOnDateChange && !value) {
|
|
5174
|
+
onDateChange(null);
|
|
5175
|
+
}
|
|
5171
5176
|
}
|
|
5172
5177
|
var passwordBtnWidth = function passwordBtnWidth() {
|
|
5173
5178
|
var _children$props;
|
|
@@ -5300,13 +5305,13 @@ var Message = /*#__PURE__*/_styled("div", {
|
|
|
5300
5305
|
return props.theme.typeScale.size02.lineHeight;
|
|
5301
5306
|
}, ";margin-top:", function (props) {
|
|
5302
5307
|
return props.inputSize === InputSize.large ? props.theme.spaceScale.spacing03 : props.theme.spaceScale.spacing02;
|
|
5303
|
-
}, ";text-align:left;" + (process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIklucHV0TWVzc2FnZS50c3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBZ0IyQiIsImZpbGUiOiJJbnB1dE1lc3NhZ2UudHN4Iiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgUmVhY3QgZnJvbSAncmVhY3QnO1xyXG5pbXBvcnQgc3R5bGVkIGZyb20gJ0BlbW90aW9uL3N0eWxlZCc7XHJcbmltcG9ydCB7IHRyYW5zcGFyZW50aXplIH0gZnJvbSAncG9saXNoZWQnO1xyXG5pbXBvcnQgeyBFcnJvckljb24gfSBmcm9tICdyZWFjdC1tYWdtYS1pY29ucyc7XHJcbmltcG9ydCB7IFRoZW1lQ29udGV4dCB9IGZyb20gJy4uLy4uL3RoZW1lL1RoZW1lQ29udGV4dCc7XHJcbmltcG9ydCB7IEFubm91bmNlIH0gZnJvbSAnLi4vQW5ub3VuY2UnO1xyXG5pbXBvcnQgeyBJbnB1dFNpemUgfSBmcm9tICcuLi9JbnB1dEJhc2UnO1xyXG5mdW5jdGlvbiBCdWlsZE1lc3NhZ2VDb2xvcihwcm9wcykge1xyXG4gICAgY29uc3QgeyBpc0ludmVyc2UsIGhhc0Vycm9yLCB0aGVtZSB9ID0gcHJvcHM7XHJcbiAgICBpZiAoaXNJbnZlcnNlKSB7XHJcbiAgICAgICAgcmV0dXJuIGhhc0Vycm9yXHJcbiAgICAgICAgICAgID8gdGhlbWUuY29sb3JzLmRhbmdlcjIwMFxyXG4gICAgICAgICAgICA6IHRyYW5zcGFyZW50aXplKDAuMywgcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWwxMDApO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIGhhc0Vycm9yID8gdGhlbWUuY29sb3JzLmRhbmdlciA6IHRoZW1lLmNvbG9ycy5uZXV0cmFsNTAwO1xyXG59XHJcbmNvbnN0IE1lc3NhZ2UgPSBzdHlsZWQuZGl2IGBcbiAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gIGJvcmRlci1yYWRpdXM6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUuYm9yZGVyUmFkaXVzfTtcbiAgY29sb3I6ICR7cHJvcHMgPT4gQnVpbGRNZXNzYWdlQ29sb3IocHJvcHMpfTtcbiAgZGlzcGxheTogZmxleDtcbiAgZm9udC1zaXplOiAke3Byb3BzID0+IHByb3BzLnRoZW1lLnR5cGVTY2FsZS5zaXplMDIuZm9udFNpemV9O1xuICBmb250LWZhbWlseTogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5ib2R5Rm9udH07XG4gIGxldHRlci1zcGFjaW5nOiAke3Byb3BzID0+IHByb3BzLnRoZW1lLnR5cGVTY2FsZS5zaXplMDIubGV0dGVyU3BhY2luZ307XG4gIGxpbmUtaGVpZ2h0OiAke3Byb3BzID0+
|
|
5308
|
+
}, ";text-align:left;" + (process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIklucHV0TWVzc2FnZS50c3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBZ0IyQiIsImZpbGUiOiJJbnB1dE1lc3NhZ2UudHN4Iiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgUmVhY3QgZnJvbSAncmVhY3QnO1xyXG5pbXBvcnQgc3R5bGVkIGZyb20gJ0BlbW90aW9uL3N0eWxlZCc7XHJcbmltcG9ydCB7IHRyYW5zcGFyZW50aXplIH0gZnJvbSAncG9saXNoZWQnO1xyXG5pbXBvcnQgeyBFcnJvckljb24gfSBmcm9tICdyZWFjdC1tYWdtYS1pY29ucyc7XHJcbmltcG9ydCB7IFRoZW1lQ29udGV4dCB9IGZyb20gJy4uLy4uL3RoZW1lL1RoZW1lQ29udGV4dCc7XHJcbmltcG9ydCB7IEFubm91bmNlIH0gZnJvbSAnLi4vQW5ub3VuY2UnO1xyXG5pbXBvcnQgeyBJbnB1dFNpemUgfSBmcm9tICcuLi9JbnB1dEJhc2UnO1xyXG5mdW5jdGlvbiBCdWlsZE1lc3NhZ2VDb2xvcihwcm9wcykge1xyXG4gICAgY29uc3QgeyBpc0ludmVyc2UsIGhhc0Vycm9yLCB0aGVtZSB9ID0gcHJvcHM7XHJcbiAgICBpZiAoaXNJbnZlcnNlKSB7XHJcbiAgICAgICAgcmV0dXJuIGhhc0Vycm9yXHJcbiAgICAgICAgICAgID8gdGhlbWUuY29sb3JzLmRhbmdlcjIwMFxyXG4gICAgICAgICAgICA6IHRyYW5zcGFyZW50aXplKDAuMywgcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWwxMDApO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIGhhc0Vycm9yID8gdGhlbWUuY29sb3JzLmRhbmdlciA6IHRoZW1lLmNvbG9ycy5uZXV0cmFsNTAwO1xyXG59XHJcbmNvbnN0IE1lc3NhZ2UgPSBzdHlsZWQuZGl2IGBcbiAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gIGJvcmRlci1yYWRpdXM6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUuYm9yZGVyUmFkaXVzfTtcbiAgY29sb3I6ICR7cHJvcHMgPT4gQnVpbGRNZXNzYWdlQ29sb3IocHJvcHMpfTtcbiAgZGlzcGxheTogZmxleDtcbiAgZm9udC1zaXplOiAke3Byb3BzID0+IHByb3BzLnRoZW1lLnR5cGVTY2FsZS5zaXplMDIuZm9udFNpemV9O1xuICBmb250LWZhbWlseTogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5ib2R5Rm9udH07XG4gIGxldHRlci1zcGFjaW5nOiAke3Byb3BzID0+IHByb3BzLnRoZW1lLnR5cGVTY2FsZS5zaXplMDIubGV0dGVyU3BhY2luZ307XG4gIGxpbmUtaGVpZ2h0OiAke3Byb3BzID0+IHByb3BzLnRoZW1lLnR5cGVTY2FsZS5zaXplMDIubGluZUhlaWdodH07XG4gIG1hcmdpbi10b3A6ICR7cHJvcHMgPT4gcHJvcHMuaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2VcclxuICAgID8gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDNcclxuICAgIDogcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDJ9O1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xuYDtcclxuY29uc3QgSWNvbldyYXBwZXIgPSBzdHlsZWQuc3BhbiBgXG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICBmbGV4LXNocmluazogMDtcbiAgcGFkZGluZy1yaWdodDogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwMn07XG5gO1xyXG5leHBvcnQgY29uc3QgSW5wdXRNZXNzYWdlID0gKHsgY2hpbGRyZW4sIGlkLCBpc0ludmVyc2UsIGhhc0Vycm9yLCBtYXhDb3VudCwgLi4ub3RoZXIgfSkgPT4ge1xyXG4gICAgY29uc3QgdGhlbWUgPSBSZWFjdC51c2VDb250ZXh0KFRoZW1lQ29udGV4dCk7XHJcbiAgICAvL0NvbmRpdGlvbmFsIHdyYXBwZXIgYmFzZWQgb24gbWF4Q291bnQgb3IgaGFzRXJyb3IsIGFsbG93cyBDaGFyYWN0ZXIgQ291bnRlciBvciBoYXNFcnJvciBwcm9wIHRvIHJlbmRlciB3aXRob3V0IHRoZSBBbm5vdW5jZSBjb21wb25lbnQgZm9yIGFjY2Vzc2liaWxpdHkgcHVycG9zZXMuXHJcbiAgICBmdW5jdGlvbiBBbm5vdW5jZVdyYXBwZXIocHJvcHMpIHtcclxuICAgICAgICBpZiAobWF4Q291bnQgfHwgaGFzRXJyb3IpIHtcclxuICAgICAgICAgICAgcmV0dXJuIHByb3BzLmNoaWxkcmVuO1xyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gUmVhY3QuY3JlYXRlRWxlbWVudChBbm5vdW5jZSwgbnVsbCwgcHJvcHMuY2hpbGRyZW4pO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIChSZWFjdC5jcmVhdGVFbGVtZW50KEFubm91bmNlV3JhcHBlciwgbnVsbCxcclxuICAgICAgICBSZWFjdC5jcmVhdGVFbGVtZW50KE1lc3NhZ2UsIE9iamVjdC5hc3NpZ24oe30sIG90aGVyLCB7IFwiZGF0YS10ZXN0aWRcIjogXCJpbnB1dE1lc3NhZ2VcIiwgaWQ6IGlkLCBpc0ludmVyc2U6IGlzSW52ZXJzZSwgaGFzRXJyb3I6IGhhc0Vycm9yLCB0aGVtZTogdGhlbWUgfSksXHJcbiAgICAgICAgICAgIGhhc0Vycm9yICYmIChSZWFjdC5jcmVhdGVFbGVtZW50KEljb25XcmFwcGVyLCB7IFwiYXJpYS1sYWJlbFwiOiBcIkVycm9yXCIsIHJvbGU6IFwiaW1nXCIsIHRoZW1lOiB0aGVtZSB9LFxyXG4gICAgICAgICAgICAgICAgUmVhY3QuY3JlYXRlRWxlbWVudChFcnJvckljb24sIHsgc2l6ZTogdGhlbWUuaWNvblNpemVzLnNtYWxsLCBjb2xvcjogaXNJbnZlcnNlID8gdGhlbWUuY29sb3JzLmRhbmdlcjMwMCA6IHVuZGVmaW5lZCB9KSkpLFxyXG4gICAgICAgICAgICBSZWFjdC5jcmVhdGVFbGVtZW50KFwiZGl2XCIsIG51bGwsIGNoaWxkcmVuKSkpKTtcclxufTtcclxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9SW5wdXRNZXNzYWdlLmpzLm1hcCJdfQ== */"));
|
|
5304
5309
|
var IconWrapper$4 = /*#__PURE__*/_styled("span", {
|
|
5305
5310
|
target: "e1egx0lj0",
|
|
5306
5311
|
label: "IconWrapper"
|
|
5307
5312
|
})("display:inline-flex;flex-shrink:0;padding-right:", function (props) {
|
|
5308
5313
|
return props.theme.spaceScale.spacing02;
|
|
5309
|
-
}, ";" + (process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIklucHV0TWVzc2FnZS50c3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBOEJnQyIsImZpbGUiOiJJbnB1dE1lc3NhZ2UudHN4Iiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgUmVhY3QgZnJvbSAncmVhY3QnO1xyXG5pbXBvcnQgc3R5bGVkIGZyb20gJ0BlbW90aW9uL3N0eWxlZCc7XHJcbmltcG9ydCB7IHRyYW5zcGFyZW50aXplIH0gZnJvbSAncG9saXNoZWQnO1xyXG5pbXBvcnQgeyBFcnJvckljb24gfSBmcm9tICdyZWFjdC1tYWdtYS1pY29ucyc7XHJcbmltcG9ydCB7IFRoZW1lQ29udGV4dCB9IGZyb20gJy4uLy4uL3RoZW1lL1RoZW1lQ29udGV4dCc7XHJcbmltcG9ydCB7IEFubm91bmNlIH0gZnJvbSAnLi4vQW5ub3VuY2UnO1xyXG5pbXBvcnQgeyBJbnB1dFNpemUgfSBmcm9tICcuLi9JbnB1dEJhc2UnO1xyXG5mdW5jdGlvbiBCdWlsZE1lc3NhZ2VDb2xvcihwcm9wcykge1xyXG4gICAgY29uc3QgeyBpc0ludmVyc2UsIGhhc0Vycm9yLCB0aGVtZSB9ID0gcHJvcHM7XHJcbiAgICBpZiAoaXNJbnZlcnNlKSB7XHJcbiAgICAgICAgcmV0dXJuIGhhc0Vycm9yXHJcbiAgICAgICAgICAgID8gdGhlbWUuY29sb3JzLmRhbmdlcjIwMFxyXG4gICAgICAgICAgICA6IHRyYW5zcGFyZW50aXplKDAuMywgcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWwxMDApO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIGhhc0Vycm9yID8gdGhlbWUuY29sb3JzLmRhbmdlciA6IHRoZW1lLmNvbG9ycy5uZXV0cmFsNTAwO1xyXG59XHJcbmNvbnN0IE1lc3NhZ2UgPSBzdHlsZWQuZGl2IGBcbiAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gIGJvcmRlci1yYWRpdXM6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUuYm9yZGVyUmFkaXVzfTtcbiAgY29sb3I6ICR7cHJvcHMgPT4gQnVpbGRNZXNzYWdlQ29sb3IocHJvcHMpfTtcbiAgZGlzcGxheTogZmxleDtcbiAgZm9udC1zaXplOiAke3Byb3BzID0+IHByb3BzLnRoZW1lLnR5cGVTY2FsZS5zaXplMDIuZm9udFNpemV9O1xuICBmb250LWZhbWlseTogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5ib2R5Rm9udH07XG4gIGxldHRlci1zcGFjaW5nOiAke3Byb3BzID0+IHByb3BzLnRoZW1lLnR5cGVTY2FsZS5zaXplMDIubGV0dGVyU3BhY2luZ307XG4gIGxpbmUtaGVpZ2h0OiAke3Byb3BzID0+
|
|
5314
|
+
}, ";" + (process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIklucHV0TWVzc2FnZS50c3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBOEJnQyIsImZpbGUiOiJJbnB1dE1lc3NhZ2UudHN4Iiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgUmVhY3QgZnJvbSAncmVhY3QnO1xyXG5pbXBvcnQgc3R5bGVkIGZyb20gJ0BlbW90aW9uL3N0eWxlZCc7XHJcbmltcG9ydCB7IHRyYW5zcGFyZW50aXplIH0gZnJvbSAncG9saXNoZWQnO1xyXG5pbXBvcnQgeyBFcnJvckljb24gfSBmcm9tICdyZWFjdC1tYWdtYS1pY29ucyc7XHJcbmltcG9ydCB7IFRoZW1lQ29udGV4dCB9IGZyb20gJy4uLy4uL3RoZW1lL1RoZW1lQ29udGV4dCc7XHJcbmltcG9ydCB7IEFubm91bmNlIH0gZnJvbSAnLi4vQW5ub3VuY2UnO1xyXG5pbXBvcnQgeyBJbnB1dFNpemUgfSBmcm9tICcuLi9JbnB1dEJhc2UnO1xyXG5mdW5jdGlvbiBCdWlsZE1lc3NhZ2VDb2xvcihwcm9wcykge1xyXG4gICAgY29uc3QgeyBpc0ludmVyc2UsIGhhc0Vycm9yLCB0aGVtZSB9ID0gcHJvcHM7XHJcbiAgICBpZiAoaXNJbnZlcnNlKSB7XHJcbiAgICAgICAgcmV0dXJuIGhhc0Vycm9yXHJcbiAgICAgICAgICAgID8gdGhlbWUuY29sb3JzLmRhbmdlcjIwMFxyXG4gICAgICAgICAgICA6IHRyYW5zcGFyZW50aXplKDAuMywgcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWwxMDApO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIGhhc0Vycm9yID8gdGhlbWUuY29sb3JzLmRhbmdlciA6IHRoZW1lLmNvbG9ycy5uZXV0cmFsNTAwO1xyXG59XHJcbmNvbnN0IE1lc3NhZ2UgPSBzdHlsZWQuZGl2IGBcbiAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gIGJvcmRlci1yYWRpdXM6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUuYm9yZGVyUmFkaXVzfTtcbiAgY29sb3I6ICR7cHJvcHMgPT4gQnVpbGRNZXNzYWdlQ29sb3IocHJvcHMpfTtcbiAgZGlzcGxheTogZmxleDtcbiAgZm9udC1zaXplOiAke3Byb3BzID0+IHByb3BzLnRoZW1lLnR5cGVTY2FsZS5zaXplMDIuZm9udFNpemV9O1xuICBmb250LWZhbWlseTogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5ib2R5Rm9udH07XG4gIGxldHRlci1zcGFjaW5nOiAke3Byb3BzID0+IHByb3BzLnRoZW1lLnR5cGVTY2FsZS5zaXplMDIubGV0dGVyU3BhY2luZ307XG4gIGxpbmUtaGVpZ2h0OiAke3Byb3BzID0+IHByb3BzLnRoZW1lLnR5cGVTY2FsZS5zaXplMDIubGluZUhlaWdodH07XG4gIG1hcmdpbi10b3A6ICR7cHJvcHMgPT4gcHJvcHMuaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2VcclxuICAgID8gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDNcclxuICAgIDogcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDJ9O1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xuYDtcclxuY29uc3QgSWNvbldyYXBwZXIgPSBzdHlsZWQuc3BhbiBgXG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICBmbGV4LXNocmluazogMDtcbiAgcGFkZGluZy1yaWdodDogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwMn07XG5gO1xyXG5leHBvcnQgY29uc3QgSW5wdXRNZXNzYWdlID0gKHsgY2hpbGRyZW4sIGlkLCBpc0ludmVyc2UsIGhhc0Vycm9yLCBtYXhDb3VudCwgLi4ub3RoZXIgfSkgPT4ge1xyXG4gICAgY29uc3QgdGhlbWUgPSBSZWFjdC51c2VDb250ZXh0KFRoZW1lQ29udGV4dCk7XHJcbiAgICAvL0NvbmRpdGlvbmFsIHdyYXBwZXIgYmFzZWQgb24gbWF4Q291bnQgb3IgaGFzRXJyb3IsIGFsbG93cyBDaGFyYWN0ZXIgQ291bnRlciBvciBoYXNFcnJvciBwcm9wIHRvIHJlbmRlciB3aXRob3V0IHRoZSBBbm5vdW5jZSBjb21wb25lbnQgZm9yIGFjY2Vzc2liaWxpdHkgcHVycG9zZXMuXHJcbiAgICBmdW5jdGlvbiBBbm5vdW5jZVdyYXBwZXIocHJvcHMpIHtcclxuICAgICAgICBpZiAobWF4Q291bnQgfHwgaGFzRXJyb3IpIHtcclxuICAgICAgICAgICAgcmV0dXJuIHByb3BzLmNoaWxkcmVuO1xyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gUmVhY3QuY3JlYXRlRWxlbWVudChBbm5vdW5jZSwgbnVsbCwgcHJvcHMuY2hpbGRyZW4pO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIChSZWFjdC5jcmVhdGVFbGVtZW50KEFubm91bmNlV3JhcHBlciwgbnVsbCxcclxuICAgICAgICBSZWFjdC5jcmVhdGVFbGVtZW50KE1lc3NhZ2UsIE9iamVjdC5hc3NpZ24oe30sIG90aGVyLCB7IFwiZGF0YS10ZXN0aWRcIjogXCJpbnB1dE1lc3NhZ2VcIiwgaWQ6IGlkLCBpc0ludmVyc2U6IGlzSW52ZXJzZSwgaGFzRXJyb3I6IGhhc0Vycm9yLCB0aGVtZTogdGhlbWUgfSksXHJcbiAgICAgICAgICAgIGhhc0Vycm9yICYmIChSZWFjdC5jcmVhdGVFbGVtZW50KEljb25XcmFwcGVyLCB7IFwiYXJpYS1sYWJlbFwiOiBcIkVycm9yXCIsIHJvbGU6IFwiaW1nXCIsIHRoZW1lOiB0aGVtZSB9LFxyXG4gICAgICAgICAgICAgICAgUmVhY3QuY3JlYXRlRWxlbWVudChFcnJvckljb24sIHsgc2l6ZTogdGhlbWUuaWNvblNpemVzLnNtYWxsLCBjb2xvcjogaXNJbnZlcnNlID8gdGhlbWUuY29sb3JzLmRhbmdlcjMwMCA6IHVuZGVmaW5lZCB9KSkpLFxyXG4gICAgICAgICAgICBSZWFjdC5jcmVhdGVFbGVtZW50KFwiZGl2XCIsIG51bGwsIGNoaWxkcmVuKSkpKTtcclxufTtcclxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9SW5wdXRNZXNzYWdlLmpzLm1hcCJdfQ== */"));
|
|
5310
5315
|
var InputMessage = function InputMessage(_ref) {
|
|
5311
5316
|
var children = _ref.children,
|
|
5312
5317
|
id = _ref.id,
|
|
@@ -5315,9 +5320,9 @@ var InputMessage = function InputMessage(_ref) {
|
|
|
5315
5320
|
maxCount = _ref.maxCount,
|
|
5316
5321
|
other = _objectWithoutPropertiesLoose(_ref, _excluded$m);
|
|
5317
5322
|
var theme = useContext(ThemeContext);
|
|
5318
|
-
//Conditional wrapper based on maxCount, allows Character Counter to render without the Announce component for accessibility purposes.
|
|
5323
|
+
//Conditional wrapper based on maxCount or hasError, allows Character Counter or hasError prop to render without the Announce component for accessibility purposes.
|
|
5319
5324
|
function AnnounceWrapper(props) {
|
|
5320
|
-
if (maxCount) {
|
|
5325
|
+
if (maxCount || hasError) {
|
|
5321
5326
|
return props.children;
|
|
5322
5327
|
}
|
|
5323
5328
|
return createElement(Announce, null, props.children);
|
|
@@ -6176,7 +6181,7 @@ var StyledFormFieldContainer = /*#__PURE__*/_styled("div", {
|
|
|
6176
6181
|
return props.labelWidth && props.labelPosition === LabelPosition.left ? props.labelWidth + "%" : '';
|
|
6177
6182
|
}, ";margin-top:", function (props) {
|
|
6178
6183
|
return props.inputSize === 'large' ? '19px' : '';
|
|
6179
|
-
}, ";}" + (process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIkZvcm1GaWVsZENvbnRhaW5lci50c3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBUTRDIiwiZmlsZSI6IkZvcm1GaWVsZENvbnRhaW5lci50c3giLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyBSZWFjdCBmcm9tICdyZWFjdCc7XHJcbmltcG9ydCBzdHlsZWQgZnJvbSAnQGVtb3Rpb24vc3R5bGVkJztcclxuaW1wb3J0IHsgSW52ZXJzZUNvbnRleHQsIHVzZUlzSW52ZXJzZSB9IGZyb20gJy4uLy4uL2ludmVyc2UnO1xyXG5pbXBvcnQgeyBUaGVtZUNvbnRleHQgfSBmcm9tICcuLi8uLi90aGVtZS9UaGVtZUNvbnRleHQnO1xyXG5pbXBvcnQgeyBDaGFyYWN0ZXJDb3VudGVyIH0gZnJvbSAnLi4vQ2hhcmFjdGVyQ291bnRlcic7XHJcbmltcG9ydCB7IElucHV0TWVzc2FnZSB9IGZyb20gJy4uL0lucHV0L0lucHV0TWVzc2FnZSc7XHJcbmltcG9ydCB7IExhYmVsLCBMYWJlbFBvc2l0aW9uIH0gZnJvbSAnLi4vTGFiZWwnO1xyXG5pbXBvcnQgeyBWaXN1YWxseUhpZGRlbiB9IGZyb20gJy4uL1Zpc3VhbGx5SGlkZGVuJztcclxuY29uc3QgU3R5bGVkRm9ybUZpZWxkQ29udGFpbmVyID0gc3R5bGVkLmRpdiBgXG4gIGNvbG9yOiAke3Byb3BzID0+IHByb3BzLmlzSW52ZXJzZVxyXG4gICAgPyBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDEwMFxyXG4gICAgOiBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbH07XG4gIGZvbnQtZmFtaWx5OiAke3Byb3BzID0+IHByb3BzLnRoZW1lLmJvZHlGb250fTtcbiAgZGlzcGxheTogJHtwcm9wcyA9PiBwcm9wcy5sYWJlbFBvc2l0aW9uID09PSBMYWJlbFBvc2l0aW9uLmxlZnQgPyAnZmxleCcgOiAnJ307XG4gIGxhYmVsIHtcbiAgICBmbGV4LWJhc2lzOiAke3Byb3BzID0+IHByb3BzLmxhYmVsV2lkdGggJiYgcHJvcHMubGFiZWxQb3NpdGlvbiA9PT0gTGFiZWxQb3NpdGlvbi5sZWZ0XHJcbiAgICA/IGAke3Byb3BzLmxhYmVsV2lkdGh9JWBcclxuICAgIDogJyd9O1xuICAgIG1hcmdpbi10b3A6ICR7cHJvcHMgPT4gKHByb3BzLmlucHV0U2l6ZSA9PT0gJ2xhcmdlJyA/ICcxOXB4JyA6ICcnKX07XG4gIH1cbmA7XHJcbi8vIElucHV0IGFuZCBoZWxwZXIgdGV4dCA8ZGl2PiB3cmFwcGVyIGJhc2VkIG9uIGxhYmVsUG9zaXRpb24uXHJcbmNvbnN0IFN0eWxlZElucHV0V3JhcHBlciA9IHN0eWxlZC5kaXYgYFxuICBmbGV4OiAxIDEgYXV0bztcbiAgYWxpZ24tc2VsZjogY2VudGVyO1xuYDtcclxuLy8gSWYgdGhlIGxhYmVsUG9zaXRpb24gaXMgc2V0IHRvICdsZWZ0JyB0aGVuIGEgPGRpdj4gd3JhcHMgdGhlIElucHV0LCBlcnJvck1lc3NhZ2UsIGhlbHBlck1lc3NhZ2UsIGFuZCBDaGFyYWN0ZXJDb3VudGVyIGZvciBwcm9wZXIgc3R5bGluZyBhbGlnbm1lbnQuXHJcbmZ1bmN0aW9uIElucHV0UG9zaXRpb25XcmFwcGVyKHByb3BzKSB7XHJcbiAgICBpZiAocHJvcHMubGFiZWxQb3NpdGlvbiA9PT0gTGFiZWxQb3NpdGlvbi5sZWZ0KSB7XHJcbiAgICAgICAgcmV0dXJuIFJlYWN0LmNyZWF0ZUVsZW1lbnQoU3R5bGVkSW5wdXRXcmFwcGVyLCBudWxsLCBwcm9wcy5jaGlsZHJlbik7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gcHJvcHMuY2hpbGRyZW47XHJcbn1cclxuZXhwb3J0IGNvbnN0IEZvcm1GaWVsZENvbnRhaW5lciA9IFJlYWN0LmZvcndhcmRSZWYoKHByb3BzLCByZWYpID0+IHtcclxuICAgIGNvbnN0IHsgYWN0aW9uYWJsZSA9IHRydWUsIGNoaWxkcmVuLCBjb250YWluZXJTdHlsZSwgZXJyb3JNZXNzYWdlLCBmaWVsZElkLCBoYXNDaGFyYWN0ZXJDb3VudGVyID0gdHJ1ZSwgaGVscGVyTWVzc2FnZSwgaWNvblBvc2l0aW9uLCBpbnB1dFNpemUsIGlucHV0TGVuZ3RoLCBpc0ludmVyc2U6IGlzSW52ZXJzZVByb3AsIGlzTGFiZWxWaXN1YWxseUhpZGRlbiwgbGFiZWxQb3NpdGlvbiwgbGFiZWxTdHlsZSwgbGFiZWxUZXh0LCBsYWJlbFdpZHRoLCBtYXhDb3VudCwgbWF4TGVuZ3RoLCBtZXNzYWdlU3R5bGUsIHRlc3RJZCwgLi4ucmVzdCB9ID0gcHJvcHM7XHJcbiAgICBjb25zdCB0aGVtZSA9IFJlYWN0LnVzZUNvbnRleHQoVGhlbWVDb250ZXh0KTtcclxuICAgIGNvbnN0IGlzSW52ZXJzZSA9IHVzZUlzSW52ZXJzZShpc0ludmVyc2VQcm9wKTtcclxuICAgIGNvbnN0IGNvdW50UHJvcHMgPSBtYXhDb3VudCB8fCBtYXhMZW5ndGg7XHJcbiAgICBjb25zdCBkZXNjcmlwdGlvbklkID0gZXJyb3JNZXNzYWdlIHx8IGhlbHBlck1lc3NhZ2UgfHwgY291bnRQcm9wcyA/
|
|
6184
|
+
}, ";}" + (process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIkZvcm1GaWVsZENvbnRhaW5lci50c3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBUTRDIiwiZmlsZSI6IkZvcm1GaWVsZENvbnRhaW5lci50c3giLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyBSZWFjdCBmcm9tICdyZWFjdCc7XHJcbmltcG9ydCBzdHlsZWQgZnJvbSAnQGVtb3Rpb24vc3R5bGVkJztcclxuaW1wb3J0IHsgSW52ZXJzZUNvbnRleHQsIHVzZUlzSW52ZXJzZSB9IGZyb20gJy4uLy4uL2ludmVyc2UnO1xyXG5pbXBvcnQgeyBUaGVtZUNvbnRleHQgfSBmcm9tICcuLi8uLi90aGVtZS9UaGVtZUNvbnRleHQnO1xyXG5pbXBvcnQgeyBDaGFyYWN0ZXJDb3VudGVyIH0gZnJvbSAnLi4vQ2hhcmFjdGVyQ291bnRlcic7XHJcbmltcG9ydCB7IElucHV0TWVzc2FnZSB9IGZyb20gJy4uL0lucHV0L0lucHV0TWVzc2FnZSc7XHJcbmltcG9ydCB7IExhYmVsLCBMYWJlbFBvc2l0aW9uIH0gZnJvbSAnLi4vTGFiZWwnO1xyXG5pbXBvcnQgeyBWaXN1YWxseUhpZGRlbiB9IGZyb20gJy4uL1Zpc3VhbGx5SGlkZGVuJztcclxuY29uc3QgU3R5bGVkRm9ybUZpZWxkQ29udGFpbmVyID0gc3R5bGVkLmRpdiBgXG4gIGNvbG9yOiAke3Byb3BzID0+IHByb3BzLmlzSW52ZXJzZVxyXG4gICAgPyBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDEwMFxyXG4gICAgOiBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbH07XG4gIGZvbnQtZmFtaWx5OiAke3Byb3BzID0+IHByb3BzLnRoZW1lLmJvZHlGb250fTtcbiAgZGlzcGxheTogJHtwcm9wcyA9PiBwcm9wcy5sYWJlbFBvc2l0aW9uID09PSBMYWJlbFBvc2l0aW9uLmxlZnQgPyAnZmxleCcgOiAnJ307XG4gIGxhYmVsIHtcbiAgICBmbGV4LWJhc2lzOiAke3Byb3BzID0+IHByb3BzLmxhYmVsV2lkdGggJiYgcHJvcHMubGFiZWxQb3NpdGlvbiA9PT0gTGFiZWxQb3NpdGlvbi5sZWZ0XHJcbiAgICA/IGAke3Byb3BzLmxhYmVsV2lkdGh9JWBcclxuICAgIDogJyd9O1xuICAgIG1hcmdpbi10b3A6ICR7cHJvcHMgPT4gKHByb3BzLmlucHV0U2l6ZSA9PT0gJ2xhcmdlJyA/ICcxOXB4JyA6ICcnKX07XG4gIH1cbmA7XHJcbi8vIElucHV0IGFuZCBoZWxwZXIgdGV4dCA8ZGl2PiB3cmFwcGVyIGJhc2VkIG9uIGxhYmVsUG9zaXRpb24uXHJcbmNvbnN0IFN0eWxlZElucHV0V3JhcHBlciA9IHN0eWxlZC5kaXYgYFxuICBmbGV4OiAxIDEgYXV0bztcbiAgYWxpZ24tc2VsZjogY2VudGVyO1xuYDtcclxuLy8gSWYgdGhlIGxhYmVsUG9zaXRpb24gaXMgc2V0IHRvICdsZWZ0JyB0aGVuIGEgPGRpdj4gd3JhcHMgdGhlIElucHV0LCBlcnJvck1lc3NhZ2UsIGhlbHBlck1lc3NhZ2UsIGFuZCBDaGFyYWN0ZXJDb3VudGVyIGZvciBwcm9wZXIgc3R5bGluZyBhbGlnbm1lbnQuXHJcbmZ1bmN0aW9uIElucHV0UG9zaXRpb25XcmFwcGVyKHByb3BzKSB7XHJcbiAgICBpZiAocHJvcHMubGFiZWxQb3NpdGlvbiA9PT0gTGFiZWxQb3NpdGlvbi5sZWZ0KSB7XHJcbiAgICAgICAgcmV0dXJuIFJlYWN0LmNyZWF0ZUVsZW1lbnQoU3R5bGVkSW5wdXRXcmFwcGVyLCBudWxsLCBwcm9wcy5jaGlsZHJlbik7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gcHJvcHMuY2hpbGRyZW47XHJcbn1cclxuZXhwb3J0IGNvbnN0IEZvcm1GaWVsZENvbnRhaW5lciA9IFJlYWN0LmZvcndhcmRSZWYoKHByb3BzLCByZWYpID0+IHtcclxuICAgIGNvbnN0IHsgYWN0aW9uYWJsZSA9IHRydWUsIGNoaWxkcmVuLCBjb250YWluZXJTdHlsZSwgZXJyb3JNZXNzYWdlLCBmaWVsZElkLCBoYXNDaGFyYWN0ZXJDb3VudGVyID0gdHJ1ZSwgaGVscGVyTWVzc2FnZSwgaWNvblBvc2l0aW9uLCBpbnB1dFNpemUsIGlucHV0TGVuZ3RoLCBpc0ludmVyc2U6IGlzSW52ZXJzZVByb3AsIGlzTGFiZWxWaXN1YWxseUhpZGRlbiwgbGFiZWxQb3NpdGlvbiwgbGFiZWxTdHlsZSwgbGFiZWxUZXh0LCBsYWJlbFdpZHRoLCBtYXhDb3VudCwgbWF4TGVuZ3RoLCBtZXNzYWdlU3R5bGUsIHRlc3RJZCwgLi4ucmVzdCB9ID0gcHJvcHM7XHJcbiAgICBjb25zdCB0aGVtZSA9IFJlYWN0LnVzZUNvbnRleHQoVGhlbWVDb250ZXh0KTtcclxuICAgIGNvbnN0IGlzSW52ZXJzZSA9IHVzZUlzSW52ZXJzZShpc0ludmVyc2VQcm9wKTtcclxuICAgIGNvbnN0IGNvdW50UHJvcHMgPSBtYXhDb3VudCB8fCBtYXhMZW5ndGg7XHJcbiAgICBjb25zdCBkZXNjcmlwdGlvbklkID0gZXJyb3JNZXNzYWdlIHx8IGhlbHBlck1lc3NhZ2UgfHwgY291bnRQcm9wcyA/IGAke2ZpZWxkSWR9X19kZXNjYCA6IG51bGw7XHJcbiAgICByZXR1cm4gKFJlYWN0LmNyZWF0ZUVsZW1lbnQoSW52ZXJzZUNvbnRleHQuUHJvdmlkZXIsIHsgdmFsdWU6IHsgaXNJbnZlcnNlIH0gfSxcclxuICAgICAgICBSZWFjdC5jcmVhdGVFbGVtZW50KFN0eWxlZEZvcm1GaWVsZENvbnRhaW5lciwgT2JqZWN0LmFzc2lnbih7fSwgcmVzdCwgeyBcImRhdGEtdGVzdGlkXCI6IHRlc3RJZCwgaXNJbnZlcnNlOiBpc0ludmVyc2UsIGlucHV0U2l6ZTogaW5wdXRTaXplLCBsYWJlbFBvc2l0aW9uOiBsYWJlbFBvc2l0aW9uLCBsYWJlbFdpZHRoOiBsYWJlbFdpZHRoLCByZWY6IHJlZiwgc3R5bGU6IGNvbnRhaW5lclN0eWxlLCB0aGVtZTogdGhlbWUgfSksXHJcbiAgICAgICAgICAgIGxhYmVsVGV4dCAmJiAoUmVhY3QuY3JlYXRlRWxlbWVudChMYWJlbCwgeyBhY3Rpb25hYmxlOiBhY3Rpb25hYmxlLCBodG1sRm9yOiBmaWVsZElkLCBpY29uUG9zaXRpb246IGljb25Qb3NpdGlvbiwgbGFiZWxQb3NpdGlvbjogbGFiZWxQb3NpdGlvbiwgc2l6ZTogaW5wdXRTaXplLCBzdHlsZTogbGFiZWxTdHlsZSB9LCBpc0xhYmVsVmlzdWFsbHlIaWRkZW4gPyAoUmVhY3QuY3JlYXRlRWxlbWVudChWaXN1YWxseUhpZGRlbiwgbnVsbCwgbGFiZWxUZXh0KSkgOiAobGFiZWxUZXh0KSkpLFxyXG4gICAgICAgICAgICBSZWFjdC5jcmVhdGVFbGVtZW50KElucHV0UG9zaXRpb25XcmFwcGVyLCB7IGxhYmVsUG9zaXRpb246IGxhYmVsUG9zaXRpb24sIGxhYmVsV2lkdGg6IGxhYmVsV2lkdGggfSxcclxuICAgICAgICAgICAgICAgIGNoaWxkcmVuLFxyXG4gICAgICAgICAgICAgICAgdHlwZW9mIGNvdW50UHJvcHMgPT09ICdudW1iZXInICYmIGhhc0NoYXJhY3RlckNvdW50ZXIgJiYgKFJlYWN0LmNyZWF0ZUVsZW1lbnQoQ2hhcmFjdGVyQ291bnRlciwgeyBoYXNDaGFyYWN0ZXJDb3VudGVyOiBoYXNDaGFyYWN0ZXJDb3VudGVyLCBpZDogZGVzY3JpcHRpb25JZCwgaW5wdXRMZW5ndGg6IGlucHV0TGVuZ3RoLCBpc0ludmVyc2U6IGlzSW52ZXJzZSwgbWF4Q291bnQ6IG1heENvdW50LCBtYXhMZW5ndGg6IG1heExlbmd0aCwgdGVzdElkOiB0ZXN0SWQgJiYgYCR7dGVzdElkfS1jaGFyYWN0ZXItY291bnRlcmAgfSkpLFxyXG4gICAgICAgICAgICAgICAgKGVycm9yTWVzc2FnZSB8fCBoZWxwZXJNZXNzYWdlKSAmJiAoUmVhY3QuY3JlYXRlRWxlbWVudChJbnB1dE1lc3NhZ2UsIHsgXCJhcmlhLWRlc2NyaWJlZGJ5XCI6IGVycm9yTWVzc2FnZSA/IGAke2Vycm9yTWVzc2FnZX1gIDogYCR7aGVscGVyTWVzc2FnZX1gLCBoYXNFcnJvcjogISFlcnJvck1lc3NhZ2UsIGlkOiBkZXNjcmlwdGlvbklkLCBpc0ludmVyc2U6IGlzSW52ZXJzZSwgc3R5bGU6IG1lc3NhZ2VTdHlsZSB9LCAoZXJyb3JNZXNzYWdlIHx8IGhlbHBlck1lc3NhZ2UpICYmIChSZWFjdC5jcmVhdGVFbGVtZW50KFJlYWN0LkZyYWdtZW50LCBudWxsLCBlcnJvck1lc3NhZ2UgPyBlcnJvck1lc3NhZ2UgOiBoZWxwZXJNZXNzYWdlKSkpKSkpKSk7XHJcbn0pO1xyXG4vLyMgc291cmNlTWFwcGluZ1VSTD1Gb3JtRmllbGRDb250YWluZXIuanMubWFwIl19 */"));
|
|
6180
6185
|
// Input and helper text <div> wrapper based on labelPosition.
|
|
6181
6186
|
var StyledInputWrapper = /*#__PURE__*/_styled("div", {
|
|
6182
6187
|
target: "em9iy460",
|
|
@@ -6186,7 +6191,7 @@ var StyledInputWrapper = /*#__PURE__*/_styled("div", {
|
|
|
6186
6191
|
styles: "flex:1 1 auto;align-self:center"
|
|
6187
6192
|
} : {
|
|
6188
6193
|
name: "118yi7l",
|
|
6189
|
-
styles: "flex:1 1 auto;align-self:center/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIkZvcm1GaWVsZENvbnRhaW5lci50c3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBc0JzQyIsImZpbGUiOiJGb3JtRmllbGRDb250YWluZXIudHN4Iiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgUmVhY3QgZnJvbSAncmVhY3QnO1xyXG5pbXBvcnQgc3R5bGVkIGZyb20gJ0BlbW90aW9uL3N0eWxlZCc7XHJcbmltcG9ydCB7IEludmVyc2VDb250ZXh0LCB1c2VJc0ludmVyc2UgfSBmcm9tICcuLi8uLi9pbnZlcnNlJztcclxuaW1wb3J0IHsgVGhlbWVDb250ZXh0IH0gZnJvbSAnLi4vLi4vdGhlbWUvVGhlbWVDb250ZXh0JztcclxuaW1wb3J0IHsgQ2hhcmFjdGVyQ291bnRlciB9IGZyb20gJy4uL0NoYXJhY3RlckNvdW50ZXInO1xyXG5pbXBvcnQgeyBJbnB1dE1lc3NhZ2UgfSBmcm9tICcuLi9JbnB1dC9JbnB1dE1lc3NhZ2UnO1xyXG5pbXBvcnQgeyBMYWJlbCwgTGFiZWxQb3NpdGlvbiB9IGZyb20gJy4uL0xhYmVsJztcclxuaW1wb3J0IHsgVmlzdWFsbHlIaWRkZW4gfSBmcm9tICcuLi9WaXN1YWxseUhpZGRlbic7XHJcbmNvbnN0IFN0eWxlZEZvcm1GaWVsZENvbnRhaW5lciA9IHN0eWxlZC5kaXYgYFxuICBjb2xvcjogJHtwcm9wcyA9PiBwcm9wcy5pc0ludmVyc2VcclxuICAgID8gcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWwxMDBcclxuICAgIDogcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWx9O1xuICBmb250LWZhbWlseTogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5ib2R5Rm9udH07XG4gIGRpc3BsYXk6ICR7cHJvcHMgPT4gcHJvcHMubGFiZWxQb3NpdGlvbiA9PT0gTGFiZWxQb3NpdGlvbi5sZWZ0ID8gJ2ZsZXgnIDogJyd9O1xuICBsYWJlbCB7XG4gICAgZmxleC1iYXNpczogJHtwcm9wcyA9PiBwcm9wcy5sYWJlbFdpZHRoICYmIHByb3BzLmxhYmVsUG9zaXRpb24gPT09IExhYmVsUG9zaXRpb24ubGVmdFxyXG4gICAgPyBgJHtwcm9wcy5sYWJlbFdpZHRofSVgXHJcbiAgICA6ICcnfTtcbiAgICBtYXJnaW4tdG9wOiAke3Byb3BzID0+IChwcm9wcy5pbnB1dFNpemUgPT09ICdsYXJnZScgPyAnMTlweCcgOiAnJyl9O1xuICB9XG5gO1xyXG4vLyBJbnB1dCBhbmQgaGVscGVyIHRleHQgPGRpdj4gd3JhcHBlciBiYXNlZCBvbiBsYWJlbFBvc2l0aW9uLlxyXG5jb25zdCBTdHlsZWRJbnB1dFdyYXBwZXIgPSBzdHlsZWQuZGl2IGBcbiAgZmxleDogMSAxIGF1dG87XG4gIGFsaWduLXNlbGY6IGNlbnRlcjtcbmA7XHJcbi8vIElmIHRoZSBsYWJlbFBvc2l0aW9uIGlzIHNldCB0byAnbGVmdCcgdGhlbiBhIDxkaXY+
|
|
6194
|
+
styles: "flex:1 1 auto;align-self:center/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIkZvcm1GaWVsZENvbnRhaW5lci50c3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBc0JzQyIsImZpbGUiOiJGb3JtRmllbGRDb250YWluZXIudHN4Iiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgUmVhY3QgZnJvbSAncmVhY3QnO1xyXG5pbXBvcnQgc3R5bGVkIGZyb20gJ0BlbW90aW9uL3N0eWxlZCc7XHJcbmltcG9ydCB7IEludmVyc2VDb250ZXh0LCB1c2VJc0ludmVyc2UgfSBmcm9tICcuLi8uLi9pbnZlcnNlJztcclxuaW1wb3J0IHsgVGhlbWVDb250ZXh0IH0gZnJvbSAnLi4vLi4vdGhlbWUvVGhlbWVDb250ZXh0JztcclxuaW1wb3J0IHsgQ2hhcmFjdGVyQ291bnRlciB9IGZyb20gJy4uL0NoYXJhY3RlckNvdW50ZXInO1xyXG5pbXBvcnQgeyBJbnB1dE1lc3NhZ2UgfSBmcm9tICcuLi9JbnB1dC9JbnB1dE1lc3NhZ2UnO1xyXG5pbXBvcnQgeyBMYWJlbCwgTGFiZWxQb3NpdGlvbiB9IGZyb20gJy4uL0xhYmVsJztcclxuaW1wb3J0IHsgVmlzdWFsbHlIaWRkZW4gfSBmcm9tICcuLi9WaXN1YWxseUhpZGRlbic7XHJcbmNvbnN0IFN0eWxlZEZvcm1GaWVsZENvbnRhaW5lciA9IHN0eWxlZC5kaXYgYFxuICBjb2xvcjogJHtwcm9wcyA9PiBwcm9wcy5pc0ludmVyc2VcclxuICAgID8gcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWwxMDBcclxuICAgIDogcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWx9O1xuICBmb250LWZhbWlseTogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5ib2R5Rm9udH07XG4gIGRpc3BsYXk6ICR7cHJvcHMgPT4gcHJvcHMubGFiZWxQb3NpdGlvbiA9PT0gTGFiZWxQb3NpdGlvbi5sZWZ0ID8gJ2ZsZXgnIDogJyd9O1xuICBsYWJlbCB7XG4gICAgZmxleC1iYXNpczogJHtwcm9wcyA9PiBwcm9wcy5sYWJlbFdpZHRoICYmIHByb3BzLmxhYmVsUG9zaXRpb24gPT09IExhYmVsUG9zaXRpb24ubGVmdFxyXG4gICAgPyBgJHtwcm9wcy5sYWJlbFdpZHRofSVgXHJcbiAgICA6ICcnfTtcbiAgICBtYXJnaW4tdG9wOiAke3Byb3BzID0+IChwcm9wcy5pbnB1dFNpemUgPT09ICdsYXJnZScgPyAnMTlweCcgOiAnJyl9O1xuICB9XG5gO1xyXG4vLyBJbnB1dCBhbmQgaGVscGVyIHRleHQgPGRpdj4gd3JhcHBlciBiYXNlZCBvbiBsYWJlbFBvc2l0aW9uLlxyXG5jb25zdCBTdHlsZWRJbnB1dFdyYXBwZXIgPSBzdHlsZWQuZGl2IGBcbiAgZmxleDogMSAxIGF1dG87XG4gIGFsaWduLXNlbGY6IGNlbnRlcjtcbmA7XHJcbi8vIElmIHRoZSBsYWJlbFBvc2l0aW9uIGlzIHNldCB0byAnbGVmdCcgdGhlbiBhIDxkaXY+IHdyYXBzIHRoZSBJbnB1dCwgZXJyb3JNZXNzYWdlLCBoZWxwZXJNZXNzYWdlLCBhbmQgQ2hhcmFjdGVyQ291bnRlciBmb3IgcHJvcGVyIHN0eWxpbmcgYWxpZ25tZW50LlxyXG5mdW5jdGlvbiBJbnB1dFBvc2l0aW9uV3JhcHBlcihwcm9wcykge1xyXG4gICAgaWYgKHByb3BzLmxhYmVsUG9zaXRpb24gPT09IExhYmVsUG9zaXRpb24ubGVmdCkge1xyXG4gICAgICAgIHJldHVybiBSZWFjdC5jcmVhdGVFbGVtZW50KFN0eWxlZElucHV0V3JhcHBlciwgbnVsbCwgcHJvcHMuY2hpbGRyZW4pO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIHByb3BzLmNoaWxkcmVuO1xyXG59XHJcbmV4cG9ydCBjb25zdCBGb3JtRmllbGRDb250YWluZXIgPSBSZWFjdC5mb3J3YXJkUmVmKChwcm9wcywgcmVmKSA9PiB7XHJcbiAgICBjb25zdCB7IGFjdGlvbmFibGUgPSB0cnVlLCBjaGlsZHJlbiwgY29udGFpbmVyU3R5bGUsIGVycm9yTWVzc2FnZSwgZmllbGRJZCwgaGFzQ2hhcmFjdGVyQ291bnRlciA9IHRydWUsIGhlbHBlck1lc3NhZ2UsIGljb25Qb3NpdGlvbiwgaW5wdXRTaXplLCBpbnB1dExlbmd0aCwgaXNJbnZlcnNlOiBpc0ludmVyc2VQcm9wLCBpc0xhYmVsVmlzdWFsbHlIaWRkZW4sIGxhYmVsUG9zaXRpb24sIGxhYmVsU3R5bGUsIGxhYmVsVGV4dCwgbGFiZWxXaWR0aCwgbWF4Q291bnQsIG1heExlbmd0aCwgbWVzc2FnZVN0eWxlLCB0ZXN0SWQsIC4uLnJlc3QgfSA9IHByb3BzO1xyXG4gICAgY29uc3QgdGhlbWUgPSBSZWFjdC51c2VDb250ZXh0KFRoZW1lQ29udGV4dCk7XHJcbiAgICBjb25zdCBpc0ludmVyc2UgPSB1c2VJc0ludmVyc2UoaXNJbnZlcnNlUHJvcCk7XHJcbiAgICBjb25zdCBjb3VudFByb3BzID0gbWF4Q291bnQgfHwgbWF4TGVuZ3RoO1xyXG4gICAgY29uc3QgZGVzY3JpcHRpb25JZCA9IGVycm9yTWVzc2FnZSB8fCBoZWxwZXJNZXNzYWdlIHx8IGNvdW50UHJvcHMgPyBgJHtmaWVsZElkfV9fZGVzY2AgOiBudWxsO1xyXG4gICAgcmV0dXJuIChSZWFjdC5jcmVhdGVFbGVtZW50KEludmVyc2VDb250ZXh0LlByb3ZpZGVyLCB7IHZhbHVlOiB7IGlzSW52ZXJzZSB9IH0sXHJcbiAgICAgICAgUmVhY3QuY3JlYXRlRWxlbWVudChTdHlsZWRGb3JtRmllbGRDb250YWluZXIsIE9iamVjdC5hc3NpZ24oe30sIHJlc3QsIHsgXCJkYXRhLXRlc3RpZFwiOiB0ZXN0SWQsIGlzSW52ZXJzZTogaXNJbnZlcnNlLCBpbnB1dFNpemU6IGlucHV0U2l6ZSwgbGFiZWxQb3NpdGlvbjogbGFiZWxQb3NpdGlvbiwgbGFiZWxXaWR0aDogbGFiZWxXaWR0aCwgcmVmOiByZWYsIHN0eWxlOiBjb250YWluZXJTdHlsZSwgdGhlbWU6IHRoZW1lIH0pLFxyXG4gICAgICAgICAgICBsYWJlbFRleHQgJiYgKFJlYWN0LmNyZWF0ZUVsZW1lbnQoTGFiZWwsIHsgYWN0aW9uYWJsZTogYWN0aW9uYWJsZSwgaHRtbEZvcjogZmllbGRJZCwgaWNvblBvc2l0aW9uOiBpY29uUG9zaXRpb24sIGxhYmVsUG9zaXRpb246IGxhYmVsUG9zaXRpb24sIHNpemU6IGlucHV0U2l6ZSwgc3R5bGU6IGxhYmVsU3R5bGUgfSwgaXNMYWJlbFZpc3VhbGx5SGlkZGVuID8gKFJlYWN0LmNyZWF0ZUVsZW1lbnQoVmlzdWFsbHlIaWRkZW4sIG51bGwsIGxhYmVsVGV4dCkpIDogKGxhYmVsVGV4dCkpKSxcclxuICAgICAgICAgICAgUmVhY3QuY3JlYXRlRWxlbWVudChJbnB1dFBvc2l0aW9uV3JhcHBlciwgeyBsYWJlbFBvc2l0aW9uOiBsYWJlbFBvc2l0aW9uLCBsYWJlbFdpZHRoOiBsYWJlbFdpZHRoIH0sXHJcbiAgICAgICAgICAgICAgICBjaGlsZHJlbixcclxuICAgICAgICAgICAgICAgIHR5cGVvZiBjb3VudFByb3BzID09PSAnbnVtYmVyJyAmJiBoYXNDaGFyYWN0ZXJDb3VudGVyICYmIChSZWFjdC5jcmVhdGVFbGVtZW50KENoYXJhY3RlckNvdW50ZXIsIHsgaGFzQ2hhcmFjdGVyQ291bnRlcjogaGFzQ2hhcmFjdGVyQ291bnRlciwgaWQ6IGRlc2NyaXB0aW9uSWQsIGlucHV0TGVuZ3RoOiBpbnB1dExlbmd0aCwgaXNJbnZlcnNlOiBpc0ludmVyc2UsIG1heENvdW50OiBtYXhDb3VudCwgbWF4TGVuZ3RoOiBtYXhMZW5ndGgsIHRlc3RJZDogdGVzdElkICYmIGAke3Rlc3RJZH0tY2hhcmFjdGVyLWNvdW50ZXJgIH0pKSxcclxuICAgICAgICAgICAgICAgIChlcnJvck1lc3NhZ2UgfHwgaGVscGVyTWVzc2FnZSkgJiYgKFJlYWN0LmNyZWF0ZUVsZW1lbnQoSW5wdXRNZXNzYWdlLCB7IFwiYXJpYS1kZXNjcmliZWRieVwiOiBlcnJvck1lc3NhZ2UgPyBgJHtlcnJvck1lc3NhZ2V9YCA6IGAke2hlbHBlck1lc3NhZ2V9YCwgaGFzRXJyb3I6ICEhZXJyb3JNZXNzYWdlLCBpZDogZGVzY3JpcHRpb25JZCwgaXNJbnZlcnNlOiBpc0ludmVyc2UsIHN0eWxlOiBtZXNzYWdlU3R5bGUgfSwgKGVycm9yTWVzc2FnZSB8fCBoZWxwZXJNZXNzYWdlKSAmJiAoUmVhY3QuY3JlYXRlRWxlbWVudChSZWFjdC5GcmFnbWVudCwgbnVsbCwgZXJyb3JNZXNzYWdlID8gZXJyb3JNZXNzYWdlIDogaGVscGVyTWVzc2FnZSkpKSkpKSkpO1xyXG59KTtcclxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9Rm9ybUZpZWxkQ29udGFpbmVyLmpzLm1hcCJdfQ== */",
|
|
6190
6195
|
toString: _EMOTION_STRINGIFIED_CSS_ERROR__$c
|
|
6191
6196
|
});
|
|
6192
6197
|
// If the labelPosition is set to 'left' then a <div> wraps the Input, errorMessage, helperMessage, and CharacterCounter for proper styling alignment.
|
|
@@ -6256,6 +6261,7 @@ var FormFieldContainer = /*#__PURE__*/forwardRef(function (props, ref) {
|
|
|
6256
6261
|
maxLength: maxLength,
|
|
6257
6262
|
testId: testId && testId + "-character-counter"
|
|
6258
6263
|
}), (errorMessage || helperMessage) && createElement(InputMessage, {
|
|
6264
|
+
"aria-describedby": errorMessage ? "" + errorMessage : "" + helperMessage,
|
|
6259
6265
|
hasError: !!errorMessage,
|
|
6260
6266
|
id: descriptionId,
|
|
6261
6267
|
isInverse: isInverse,
|