UNPKG

@bund-x/core

Version:

Master Components Core Library

389 lines (370 loc) 44.8 kB
"use strict"; function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); } Object.defineProperty(exports, "__esModule", { value: true }); exports["default"] = exports.CommentBoxBase = void 0; var React = _interopRequireWildcard(require("react")); var _propTypes = _interopRequireDefault(require("prop-types")); var _clsx = _interopRequireDefault(require("clsx")); var _reactJss = require("react-jss"); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } function _getRequireWildcardCache() { if (typeof WeakMap !== "function") return null; var cache = new WeakMap(); _getRequireWildcardCache = function _getRequireWildcardCache() { return cache; }; return cache; } function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; } function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); } function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; } function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; } var MdHeader = function MdHeader(_ref) { var children = _ref.children, style = _ref.style, className = _ref.className; return React.createElement("div", { style: style, className: className }, children); }; var MdBold = function MdBold(_ref2) { var children = _ref2.children, style = _ref2.style, className = _ref2.className, onClick = _ref2.onClick, onKeyDown = _ref2.onKeyDown; return React.createElement("div", { onClick: onClick, onKeyDown: onKeyDown, style: style, className: className }, children); }; var MdItalic = function MdItalic(_ref3) { var children = _ref3.children, style = _ref3.style, className = _ref3.className, onClick = _ref3.onClick, onKeyDown = _ref3.onKeyDown; return React.createElement("div", { onClick: onClick, onKeyDown: onKeyDown, style: style, className: className }, children); }; var useStyles = (0, _reactJss.createUseStyles)({ 'input-xyz': { display: 'inline-block' }, container: { position: 'relative', color: '#c9d1d9', backgroundColor: '#0d1117', border: '1px solid #30363d', borderRadius: '6px', margin: '16px', '& *': { boxSizing: 'border-box' } }, caret: { '&:after': { position: 'absolute', top: '11px', right: '100%', left: '-8px', display: 'block', width: '8px', height: '16px', pointerEvents: 'none', clipPath: 'polygon(0 50%,100% 0,100% 100%)' }, '&:before': { position: 'absolute', top: '11px', right: '100%', left: '-8px', display: 'block', width: '8px', height: '16px', pointerEvents: 'none', clipPath: 'polygon(0 50%,100% 0,100% 100%)' } }, 'fieldset-xyz': { display: 'grid', borderRadius: '8px', padding: 0, margin: 0, border: 0 }, tabnav: { marginTop: 0, borderBottom: '1px solid #30363d' }, 'tabnav-head': { marginBottom: '8px', background: '#161b22', borderRadius: '6px 6px 0 0' }, 'tabnavs-header': { background: '#161b22' }, 'tabnav-tabs': { display: 'block !important', marginBottom: '-1px', overflow: 'auto' }, 'tabnav-tab': { display: 'inline-block', flexShrink: 0, padding: '8px 16px', fontSize: '14px', lineHeight: '23px', color: '#8b949e', textDecoration: 'none', backgroundColor: 'initial', border: '1px solid transparent', borderBottom: 0, transition: 'color .2s cubic-bezier(.3,0,.5,1)', '&[aria-selected=true]': { color: '#c9d1d9', backgroundColor: '#0d1117', borderColor: '#30363d', borderRadius: '6px 6px 0 0' }, '&:focus': { outline: 'none' } }, 'btn-link': { display: 'inline-block', fontSize: 'inherit', color: '#58a6ff', textDecoration: 'none', whiteSpace: 'nowrap', cursor: 'pointer', userSelect: 'none', backgroundColor: 'initial', appearance: 'none' }, toolbar: { background: '#0d1117' }, flex: { display: 'flex!important' }, border: { border: '1px solid #30363d !important' }, 'border-color': { borderColor: '#30363d !important' }, 'border-bottom': { borderBottom: '0 !important' }, 'border-top': { borderTop: '1px solid #30363d !important' }, 'my-4': { marginRight: '4px !important', marginLeft: '4px !important' }, 'mx-8': { marginTop: '8px !important', marginBottom: '8px !important' }, 'my-8': { marginRight: '8px !important', marginLeft: '8px !important' }, 'my-16': { marginRight: '16px !important', marginLeft: '16px !important' }, 'mr-16': { marginRight: '16px !important' }, 'py-16': { paddingRight: '16px !important', paddingLeft: '16px !important' }, 'pt-8': { paddingTop: '8px !important' }, 'pyt-8': { paddingRight: '8px !important', paddingLeft: '8px !important', paddingTop: '8px !important' }, 'mt-8': { marginTop: '8px !important' }, 'md-block': { display: 'block !important' }, textarea: { width: '100%', height: '150px', borderRadius: '6px', outline: 'none', background: 'transparent', padding: '14px', color: 'white', overflowX: 'hidden', resize: 'vertical', cursor: 'text', whiteSpace: 'pre-wrap', overflowWrap: 'break-word' }, 'toolbar-item': { display: 'block', "float": 'left', padding: '4px', fontSize: '14px', fill: '#8b949e', cursor: 'pointer', background: 'none', border: 0, '&:hover': { fill: '#58a6ff' } } }, { name: 'bund-' }); var CommentBoxBase = function CommentBoxBase(props) { var children = props.children, title = props.title, className = props.className, style = props.style, handleSubmit = props.handleSubmit, rest = _objectWithoutProperties(props, ["children", "title", "className", "style", "handleSubmit"]); var classes = useStyles(); return React.createElement("div", { className: (0, _clsx["default"])(classes.container, classes.border, classes.caret, className) }, React.createElement("form", { onSubmit: handleSubmit, noValidate: true }, React.createElement("fieldset", _extends({ className: (0, _clsx["default"])(classes['fieldset-xyz'], className) }, rest, { style: { borderRadius: '8px', padding: 0, margin: 0 } }), React.createElement("div", { className: (0, _clsx["default"])(classes['tabnav'], classes['border-color'], classes['border-bottom'], 'comment-form-head tabnav d-flex flex-justify-between mb-2 p-0 tabnav--responsive flex-column border-bottom-0 mb-0 mb-lg-2 flex-items-stretch border-lg-bottom color-border-primary flex-lg-items-center flex-lg-row') }, React.createElement("div", { className: (0, _clsx["default"])(classes['tabnav-head'], classes['tabnavs-header']) }, React.createElement("div", { className: (0, _clsx["default"])(classes['tabnav-tabs'], classes['my-8'], classes['pt-8'], classes['md-block'], className), role: "tablist" }, React.createElement("button", { type: "button", className: (0, _clsx["default"])(classes['tabnav-tab'], classes['py-16'], classes['btn-link'], className), role: "tab", "aria-selected": "true", tabIndex: "0" }, "Write"), React.createElement("button", { type: "button", className: (0, _clsx["default"])(classes['tabnav-tab'], classes['py-16'], classes['btn-link'], className), role: "tab", "aria-selected": "false", tabIndex: "-1" }, "Preview"), React.createElement("div", { className: "bitmoji-floater", style: { backgroundPosition: '0px center', backgroundImage: 'url(chrome-extension://bfgdeiadkckfbkeigkoncpdieiiefpig/static/media/bitmoji-icon-48.png)', backgroundSize: 'contain', backgroundRepeat: 'no-repeat', width: '28px', height: '28px', marginBottom: '-8px', display: 'inline-block' } })), React.createElement("div", { className: (0, _clsx["default"])(classes.toolbar, classes.flex, classes['pyt-8'], classes['border-top']) }, React.createElement("div", { className: (0, _clsx["default"])(classes['mr-16'], 'flex-nowrap d-none d-md-inline-block mr-3'), style: { display: 'inline-block !important', marginRight: '16px !important', flexWrap: 'nowrap !important' } }, React.createElement(MdHeader, { tabindex: "-1", className: (0, _clsx["default"])(classes['toolbar-item'], classes['my-4'], 'toolbar-item tooltipped tooltipped-sw mx-1'), "aria-label": "Add header text", "data-ga-click": "Markdown Toolbar, click, header", role: "button" }, React.createElement("svg", { className: "octicon octicon-heading", height: "16", viewBox: "0 0 16 16", version: "1.1", width: "16", "aria-hidden": "true" }, React.createElement("path", { fillRule: "evenodd", d: "M3.75 2a.75.75 0 01.75.75V7h7V2.75a.75.75 0 011.5 0v10.5a.75.75 0 01-1.5 0V8.5h-7v4.75a.75.75 0 01-1.5 0V2.75A.75.75 0 013.75 2z" }))), React.createElement(MdBold, { tabindex: "-1", className: (0, _clsx["default"])(classes['toolbar-item'], classes['my-4'], 'toolbar-item tooltipped tooltipped-sw mx-1'), "aria-label": "Add bold text <ctrl+b>", "data-ga-click": "Markdown Toolbar, click, bold", role: "button", onClick: function onClick() { return console.log('clicked'); }, hotkey: "b" }, React.createElement("svg", { className: "octicon octicon-bold", height: "16", viewBox: "0 0 16 16", version: "1.1", width: "16", "aria-hidden": "true" }, React.createElement("path", { fillRule: "evenodd", d: "M4 2a1 1 0 00-1 1v10a1 1 0 001 1h5.5a3.5 3.5 0 001.852-6.47A3.5 3.5 0 008.5 2H4zm4.5 5a1.5 1.5 0 100-3H5v3h3.5zM5 9v3h4.5a1.5 1.5 0 000-3H5z" }))), React.createElement(MdItalic, { tabindex: "-1", className: (0, _clsx["default"])(classes['toolbar-item'], classes['my-4'], 'toolbar-item tooltipped tooltipped-sw mx-1'), "aria-label": "Add italic text <ctrl+i>", "data-ga-click": "Markdown Toolbar, click, italic", role: "button", hotkey: "i" }, React.createElement("svg", { className: "octicon octicon-italic", height: "16", viewBox: "0 0 16 16", version: "1.1", width: "16", "aria-hidden": "true" }, React.createElement("path", { fillRule: "evenodd", d: "M6 2.75A.75.75 0 016.75 2h6.5a.75.75 0 010 1.5h-2.505l-3.858 9H9.25a.75.75 0 010 1.5h-6.5a.75.75 0 010-1.5h2.505l3.858-9H6.75A.75.75 0 016 2.75z" })))))), React.createElement("div", null, React.createElement("div", { className: (0, _clsx["default"])(classes['mx-8'], classes['my-8']) }, React.createElement("textarea", { name: "Text1", cols: "40", rows: "5", className: classes.textarea }), React.createElement("input", { "aria-colcount": "5", cols: "40", rows: "5" }))))))); }; exports.CommentBoxBase = CommentBoxBase; CommentBoxBase.propTypes = { children: _propTypes["default"].node, className: _propTypes["default"].string, style: _propTypes["default"].oneOfType([_propTypes["default"].object, _propTypes["default"].array]), title: _propTypes["default"].string }; CommentBoxBase.displayName = 'cbb'; var _default = CommentBoxBase; exports["default"] = _default; //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9JbnB1dC9Db21tZW50Qm94QmFzZS9Db21tZW50Qm94QmFzZS5qcyJdLCJuYW1lcyI6WyJNZEhlYWRlciIsImNoaWxkcmVuIiwic3R5bGUiLCJjbGFzc05hbWUiLCJNZEJvbGQiLCJvbkNsaWNrIiwib25LZXlEb3duIiwiTWRJdGFsaWMiLCJ1c2VTdHlsZXMiLCJkaXNwbGF5IiwiY29udGFpbmVyIiwicG9zaXRpb24iLCJjb2xvciIsImJhY2tncm91bmRDb2xvciIsImJvcmRlciIsImJvcmRlclJhZGl1cyIsIm1hcmdpbiIsImJveFNpemluZyIsImNhcmV0IiwidG9wIiwicmlnaHQiLCJsZWZ0Iiwid2lkdGgiLCJoZWlnaHQiLCJwb2ludGVyRXZlbnRzIiwiY2xpcFBhdGgiLCJwYWRkaW5nIiwidGFibmF2IiwibWFyZ2luVG9wIiwiYm9yZGVyQm90dG9tIiwibWFyZ2luQm90dG9tIiwiYmFja2dyb3VuZCIsIm92ZXJmbG93IiwiZmxleFNocmluayIsImZvbnRTaXplIiwibGluZUhlaWdodCIsInRleHREZWNvcmF0aW9uIiwidHJhbnNpdGlvbiIsImJvcmRlckNvbG9yIiwib3V0bGluZSIsIndoaXRlU3BhY2UiLCJjdXJzb3IiLCJ1c2VyU2VsZWN0IiwiYXBwZWFyYW5jZSIsInRvb2xiYXIiLCJmbGV4IiwiYm9yZGVyVG9wIiwibWFyZ2luUmlnaHQiLCJtYXJnaW5MZWZ0IiwicGFkZGluZ1JpZ2h0IiwicGFkZGluZ0xlZnQiLCJwYWRkaW5nVG9wIiwidGV4dGFyZWEiLCJvdmVyZmxvd1giLCJyZXNpemUiLCJvdmVyZmxvd1dyYXAiLCJmaWxsIiwibmFtZSIsIkNvbW1lbnRCb3hCYXNlIiwicHJvcHMiLCJ0aXRsZSIsImhhbmRsZVN1Ym1pdCIsInJlc3QiLCJjbGFzc2VzIiwiYmFja2dyb3VuZFBvc2l0aW9uIiwiYmFja2dyb3VuZEltYWdlIiwiYmFja2dyb3VuZFNpemUiLCJiYWNrZ3JvdW5kUmVwZWF0IiwiZmxleFdyYXAiLCJjb25zb2xlIiwibG9nIiwicHJvcFR5cGVzIiwiUHJvcFR5cGVzIiwibm9kZSIsInN0cmluZyIsIm9uZU9mVHlwZSIsIm9iamVjdCIsImFycmF5IiwiZGlzcGxheU5hbWUiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7OztBQUFBOztBQUNBOztBQUNBOztBQUNBOzs7Ozs7Ozs7Ozs7OztBQUVBLElBQU1BLFFBQVEsR0FBRyxTQUFYQSxRQUFXLE9BQW9DO0FBQUEsTUFBakNDLFFBQWlDLFFBQWpDQSxRQUFpQztBQUFBLE1BQXZCQyxLQUF1QixRQUF2QkEsS0FBdUI7QUFBQSxNQUFoQkMsU0FBZ0IsUUFBaEJBLFNBQWdCO0FBQ25ELFNBQ0U7QUFBSyxJQUFBLEtBQUssRUFBRUQsS0FBWjtBQUFtQixJQUFBLFNBQVMsRUFBRUM7QUFBOUIsS0FDR0YsUUFESCxDQURGO0FBS0QsQ0FORDs7QUFRQSxJQUFNRyxNQUFNLEdBQUcsU0FBVEEsTUFBUyxRQUF3RDtBQUFBLE1BQXJESCxRQUFxRCxTQUFyREEsUUFBcUQ7QUFBQSxNQUEzQ0MsS0FBMkMsU0FBM0NBLEtBQTJDO0FBQUEsTUFBcENDLFNBQW9DLFNBQXBDQSxTQUFvQztBQUFBLE1BQXpCRSxPQUF5QixTQUF6QkEsT0FBeUI7QUFBQSxNQUFoQkMsU0FBZ0IsU0FBaEJBLFNBQWdCO0FBQ3JFLFNBQ0U7QUFDRSxJQUFBLE9BQU8sRUFBRUQsT0FEWDtBQUVFLElBQUEsU0FBUyxFQUFFQyxTQUZiO0FBR0UsSUFBQSxLQUFLLEVBQUVKLEtBSFQ7QUFJRSxJQUFBLFNBQVMsRUFBRUM7QUFKYixLQUtHRixRQUxILENBREY7QUFTRCxDQVZEOztBQVlBLElBQU1NLFFBQVEsR0FBRyxTQUFYQSxRQUFXLFFBQXdEO0FBQUEsTUFBckROLFFBQXFELFNBQXJEQSxRQUFxRDtBQUFBLE1BQTNDQyxLQUEyQyxTQUEzQ0EsS0FBMkM7QUFBQSxNQUFwQ0MsU0FBb0MsU0FBcENBLFNBQW9DO0FBQUEsTUFBekJFLE9BQXlCLFNBQXpCQSxPQUF5QjtBQUFBLE1BQWhCQyxTQUFnQixTQUFoQkEsU0FB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T0FBTyxFQUFDLFdBSFY7QUFJRSxJQUFBLE9BQU8sRUFBQyxLQUpWO0FBS0UsSUFBQSxLQUFLLEVBQUMsSUFMUjtBQU1FLG1CQUFZO0FBTmQsS0FPRTtBQUNFLElBQUEsUUFBUSxFQUFDLFNBRFg7QUFFRSxJQUFBLENBQUMsRUFBQztBQUZKLElBUEYsQ0FYRixDQTFERixDQVBGLENBeERGLENBUEYsRUEwSkUsaUNBQ0U7QUFBSyxJQUFBLFNBQVMsRUFBRSxzQkFBS0EsT0FBTyxDQUFDLE1BQUQsQ0FBWixFQUFzQkEsT0FBTyxDQUFDLE1BQUQsQ0FBN0I7QUFBaEIsS0FDRTtBQUNFLElBQUEsSUFBSSxFQUFDLE9BRFA7QUFFRSxJQUFBLElBQUksRUFBQyxJQUZQO0FBR0UsSUFBQSxJQUFJLEVBQUMsR0FIUDtBQUlFLElBQUEsU0FBUyxFQUFFQSxPQUFPLENBQUNYO0FBSnJCLElBREYsRUFRRTtBQUFPLHFCQUFjLEdBQXJCO0FBQXlCLElBQUEsSUFBSSxFQUFDLElBQTlCO0FBQW1DLElBQUEsSUFBSSxFQUFDO0FBQXhDLElBUkYsQ0FERixDQTFKRixDQVJGLENBREYsQ0FQRixDQURGO0FBNExELENBL0xNOzs7QUFpTVBNLGNBQWMsQ0FBQ2EsU0FBZixHQUEyQjtBQUN6QnRFLEVBQUFBLFFBQVEsRUFBRXVFLHNCQUFVQyxJQURLO0FBRXpCdEUsRUFBQUEsU0FBUyxFQUFFcUUsc0JBQVVFLE1BRkk7QUFHekJ4RSxFQUFBQSxLQUFLLEVBQUVzRSxzQkFBVUcsU0FBVixDQUFvQixDQUFDSCxzQkFBVUksTUFBWCxFQUFtQkosc0JBQVVLLEtBQTdCLENBQXBCLENBSGtCO0FBSXpCakIsRUFBQUEsS0FBSyxFQUFFWSxzQkFBVUU7QUFKUSxDQUEzQjtBQU9BaEIsY0FBYyxDQUFDb0IsV0FBZixHQUE2QixLQUE3QjtlQUVlcEIsYyIsInNvdXJjZVJvb3QiOiJjb3JlIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgUmVhY3QgZnJvbSAncmVhY3QnXHJcbmltcG9ydCBQcm9wVHlwZXMgZnJvbSAncHJvcC10eXBlcydcclxuaW1wb3J0IGNsc3ggZnJvbSAnY2xzeCdcclxuaW1wb3J0IHsgY3JlYXRlVXNlU3R5bGVzIH0gZnJvbSAncmVhY3QtanNzJ1xyXG5cclxuY29uc3QgTWRIZWFkZXIgPSAoeyBjaGlsZHJlbiwgc3R5bGUsIGNsYXNzTmFtZSB9KSA9PiB7XHJcbiAgcmV0dXJuIChcclxuICAgIDxkaXYgc3R5bGU9e3N0eWxlfSBjbGFzc05hbWU9e2NsYXNzTmFtZX0+XHJcbiAgICAgIHtjaGlsZHJlbn1cclxuICAgIDwvZGl2PlxyXG4gIClcclxufVxyXG5cclxuY29uc3QgTWRCb2xkID0gKHsgY2hpbGRyZW4sIHN0eWxlLCBjbGFzc05hbWUsIG9uQ2xpY2ssIG9uS2V5RG93biB9KSA9PiB7XHJcbiAgcmV0dXJuIChcclxuICAgIDxkaXZcclxuICAgICAgb25DbGljaz17b25DbGlja31cclxuICAgICAgb25LZXlEb3duPXtvbktleURvd259XHJcbiAgICAgIHN0eWxlPXtzdHlsZX1cclxuICAgICAgY2xhc3NOYW1lPXtjbGFzc05hbWV9PlxyXG4gICAgICB7Y2hpbGRyZW59XHJcbiAgICA8L2Rpdj5cclxuICApXHJcbn1cclxuXHJcbmNvbnN0IE1kSXRhbGljID0gKHsgY2hpbGRyZW4sIHN0eWxlLCBjbGFzc05hbWUsIG9uQ2xpY2ssIG9uS2V5RG93biB9KSA9PiB7XHJcbiAgcmV0dXJuIChcclxuICAgIDxkaXZcclxuICAgICAgb25DbGljaz17b25DbGlja31cclxuICAgICAgb25LZXlEb3duPXtvbktleURvd259XHJcbiAgICAgIHN0eWxlPXtzdHlsZX1cclxuICAgICAgY2xhc3NOYW1lPXtjbGFzc05hbWV9PlxyXG4gICAgICB7Y2hpbGRyZW59XHJcbiAgICA8L2Rpdj5cclxuICApXHJcbn1cclxuXHJcbmNvbnN0IHVzZVN0eWxlcyA9IGNyZWF0ZVVzZVN0eWxlcyhcclxuICB7XHJcbiAgICAnaW5wdXQteHl6Jzoge1xyXG4gICAgICBkaXNwbGF5OiAnaW5saW5lLWJsb2NrJ1xyXG4gICAgfSxcclxuICAgIGNvbnRhaW5lcjoge1xyXG4gICAgICBwb3NpdGlvbjogJ3JlbGF0aXZlJyxcclxuICAgICAgY29sb3I6ICcjYzlkMWQ5JyxcclxuICAgICAgYmFja2dyb3VuZENvbG9yOiAnIzBkMTExNycsXHJcbiAgICAgIGJvcmRlcjogJzFweCBzb2xpZCAjMzAzNjNkJyxcclxuICAgICAgYm9yZGVyUmFkaXVzOiAnNnB4JyxcclxuICAgICAgbWFyZ2luOiAnMTZweCcsXHJcbiAgICAgICcmIConOiB7XHJcbiAgICAgICAgYm94U2l6aW5nOiAnYm9yZGVyLWJveCdcclxuICAgICAgfVxyXG4gICAgfSxcclxuICAgIGNhcmV0OiB7XHJcbiAgICAgICcmOmFmdGVyJzoge1xyXG4gICAgICAgIHBvc2l0aW9uOiAnYWJzb2x1dGUnLFxyXG4gICAgICAgIHRvcDogJzExcHgnLFxyXG4gICAgICAgIHJpZ2h0OiAnMTAwJScsXHJcbiAgICAgICAgbGVmdDogJy04cHgnLFxyXG4gICAgICAgIGRpc3BsYXk6ICdibG9jaycsXHJcbiAgICAgICAgd2lkdGg6ICc4cHgnLFxyXG4gICAgICAgIGhlaWdodDogJzE2cHgnLFxyXG4gICAgICAgIHBvaW50ZXJFdmVudHM6ICdub25lJyxcclxuICAgICAgICBjbGlwUGF0aDogJ3BvbHlnb24oMCA1MCUsMTAwJSAwLDEwMCUgMTAwJSknXHJcbiAgICAgIH0sXHJcbiAgICAgICcmOmJlZm9yZSc6IHtcclxuICAgICAgICBwb3NpdGlvbjogJ2Fic29sdXRlJyxcclxuICAgICAgICB0b3A6ICcxMXB4JyxcclxuICAgICAgICByaWdodDogJzEwMCUnLFxyXG4gICAgICAgIGxlZnQ6ICctOHB4JyxcclxuICAgICAgICBkaXNwbGF5OiAnYmxvY2snLFxyXG4gICAgICAgIHdpZHRoOiAnOHB4JyxcclxuICAgICAgICBoZWlnaHQ6ICcxNnB4JyxcclxuICAgICAgICBwb2ludGVyRXZlbnRzOiAnbm9uZScsXHJcbiAgICAgICAgY2xpcFBhdGg6ICdwb2x5Z29uKDAgNTAlLDEwMCUgMCwxMDAlIDEwMCUpJ1xyXG4gICAgICB9XHJcbiAgICB9LFxyXG5cclxuICAgICdmaWVsZHNldC14eXonOiB7XHJcbiAgICAgIGRpc3BsYXk6ICdncmlkJyxcclxuICAgICAgYm9yZGVyUmFkaXVzOiAnOHB4JyxcclxuICAgICAgcGFkZGluZzogMCxcclxuICAgICAgbWFyZ2luOiAwLFxyXG4gICAgICBib3JkZXI6IDBcclxuICAgIH0sXHJcbiAgICB0YWJuYXY6IHtcclxuICAgICAgbWFyZ2luVG9wOiAwLFxyXG4gICAgICAvLyBtYXJnaW5Cb3R0b206ICc4cHgnLFxyXG4gICAgICBib3JkZXJCb3R0b206ICcxcHggc29saWQgIzMwMzYzZCdcclxuICAgIH0sXHJcbiAgICAndGFibmF2LWhlYWQnOiB7XHJcbiAgICAgIC8vIHBhZGRpbmc6ICc4cHggOHB4IDAnLFxyXG4gICAgICBtYXJnaW5Cb3R0b206ICc4cHgnLFxyXG4gICAgICBiYWNrZ3JvdW5kOiAnIzE2MWIyMicsXHJcbiAgICAgIGJvcmRlclJhZGl1czogJzZweCA2cHggMCAwJ1xyXG4gICAgfSxcclxuXHJcbiAgICAndGFibmF2cy1oZWFkZXInOiB7XHJcbiAgICAgIGJhY2tncm91bmQ6ICcjMTYxYjIyJ1xyXG4gICAgfSxcclxuXHJcbiAgICAndGFibmF2LXRhYnMnOiB7XHJcbiAgICAgIGRpc3BsYXk6ICdibG9jayAhaW1wb3J0YW50JyxcclxuICAgICAgbWFyZ2luQm90dG9tOiAnLTFweCcsXHJcbiAgICAgIG92ZXJmbG93OiAnYXV0bydcclxuICAgIH0sXHJcbiAgICAndGFibmF2LXRhYic6IHtcclxuICAgICAgZGlzcGxheTogJ2lubGluZS1ibG9jaycsXHJcbiAgICAgIGZsZXhTaHJpbms6IDAsXHJcbiAgICAgIHBhZGRpbmc6ICc4cHggMTZweCcsXHJcbiAgICAgIGZvbnRTaXplOiAnMTRweCcsXHJcbiAgICAgIGxpbmVIZWlnaHQ6ICcyM3B4JyxcclxuICAgICAgY29sb3I6ICcjOGI5NDllJyxcclxuICAgICAgdGV4dERlY29yYXRpb246ICdub25lJyxcclxuICAgICAgYmFja2dyb3VuZENvbG9yOiAnaW5pdGlhbCcsXHJcbiAgICAgIGJvcmRlcjogJzFweCBzb2xpZCB0cmFuc3BhcmVudCcsXHJcbiAgICAgIGJvcmRlckJvdHRvbTogMCxcclxuICAgICAgdHJhbnNpdGlvbjogJ2NvbG9yIC4ycyBjdWJpYy1iZXppZXIoLjMsMCwuNSwxKScsXHJcbiAgICAgICcmW2FyaWEtc2VsZWN0ZWQ9dHJ1ZV0nOiB7XHJcbiAgICAgICAgY29sb3I6ICcjYzlkMWQ5JyxcclxuICAgICAgICBiYWNrZ3JvdW5kQ29sb3I6ICcjMGQxMTE3JyxcclxuICAgICAgICBib3JkZXJDb2xvcjogJyMzMDM2M2QnLFxyXG4gICAgICAgIGJvcmRlclJhZGl1czogJzZweCA2cHggMCAwJ1xyXG4gICAgICB9LFxyXG4gICAgICAnJjpmb2N1cyc6IHtcclxuICAgICAgICBvdXRsaW5lOiAnbm9uZSdcclxuICAgICAgfVxyXG4gICAgfSxcclxuICAgICdidG4tbGluayc6IHtcclxuICAgICAgZGlzcGxheTogJ2lubGluZS1ibG9jaycsXHJcbiAgICAgIC8vIHBhZGRpbmc6IDAsXHJcbiAgICAgIGZvbnRTaXplOiAnaW5oZXJpdCcsXHJcbiAgICAgIGNvbG9yOiAnIzU4YTZmZicsXHJcbiAgICAgIHRleHREZWNvcmF0aW9uOiAnbm9uZScsXHJcbiAgICAgIHdoaXRlU3BhY2U6ICdub3dyYXAnLFxyXG4gICAgICBjdXJzb3I6ICdwb2ludGVyJyxcclxuICAgICAgdXNlclNlbGVjdDogJ25vbmUnLFxyXG4gICAgICBiYWNrZ3JvdW5kQ29sb3I6ICdpbml0aWFsJyxcclxuICAgICAgLy8gYm9yZGVyOiAwLFxyXG4gICAgICBhcHBlYXJhbmNlOiAnbm9uZSdcclxuICAgIH0sXHJcbiAgICB0b29sYmFyOiB7XHJcbiAgICAgIGJhY2tncm91bmQ6ICcjMGQxMTE3J1xyXG4gICAgfSxcclxuICAgIGZsZXg6IHtcclxuICAgICAgZGlzcGxheTogJ2ZsZXghaW1wb3J0YW50J1xyXG4gICAgfSxcclxuICAgIGJvcmRlcjoge1xyXG4gICAgICBib3JkZXI6ICcxcHggc29saWQgIzMwMzYzZCAhaW1wb3J0YW50J1xyXG4gICAgfSxcclxuICAgICdib3JkZXItY29sb3InOiB7XHJcbiAgICAgIGJvcmRlckNvbG9yOiAnIzMwMzYzZCAhaW1wb3J0YW50J1xyXG4gICAgfSxcclxuICAgICdib3JkZXItYm90dG9tJzoge1xyXG4gICAgICBib3JkZXJCb3R0b206ICcwICFpbXBvcnRhbnQnXHJcbiAgICB9LFxyXG4gICAgJ2JvcmRlci10b3AnOiB7XHJcbiAgICAgIGJvcmRlclRvcDogJzFweCBzb2xpZCAjMzAzNjNkICFpbXBvcnRhbnQnXHJcbiAgICB9LFxyXG4gICAgJ215LTQnOiB7XHJcbiAgICAgIG1hcmdpblJpZ2h0OiAnNHB4ICFpbXBvcnRhbnQnLFxyXG4gICAgICBtYXJnaW5MZWZ0OiAnNHB4ICFpbXBvcnRhbnQnXHJcbiAgICB9LFxyXG4gICAgJ214LTgnOiB7XHJcbiAgICAgIG1hcmdpblRvcDogJzhweCAhaW1wb3J0YW50JyxcclxuICAgICAgbWFyZ2luQm90dG9tOiAnOHB4ICFpbXBvcnRhbnQnXHJcbiAgICB9LFxyXG4gICAgJ215LTgnOiB7XHJcbiAgICAgIG1hcmdpblJpZ2h0OiAnOHB4ICFpbXBvcnRhbnQnLFxyXG4gICAgICBtYXJnaW5MZWZ0OiAnOHB4ICFpbXBvcnRhbnQnXHJcbiAgICB9LFxyXG4gICAgJ215LTE2Jzoge1xyXG4gICAgICBtYXJnaW5SaWdodDogJzE2cHggIWltcG9ydGFudCcsXHJcbiAgICAgIG1hcmdpbkxlZnQ6ICcxNnB4ICFpbXBvcnRhbnQnXHJcbiAgICB9LFxyXG4gICAgJ21yLTE2Jzoge1xyXG4gICAgICBtYXJnaW5SaWdodDogJzE2cHggIWltcG9ydGFudCdcclxuICAgIH0sXHJcbiAgICAncHktMTYnOiB7XHJcbiAgICAgIHBhZGRpbmdSaWdodDogJzE2cHggIWltcG9ydGFudCcsXHJcbiAgICAgIHBhZGRpbmdMZWZ0OiAnMTZweCAhaW1wb3J0YW50J1xyXG4gICAgfSxcclxuICAgICdwdC04Jzoge1xyXG4gICAgICBwYWRkaW5nVG9wOiAnOHB4ICFpbXBvcnRhbnQnXHJcbiAgICB9LFxyXG4gICAgJ3B5dC04Jzoge1xyXG4gICAgICBwYWRkaW5nUmlnaHQ6ICc4cHggIWltcG9ydGFudCcsXHJcbiAgICAgIHBhZGRpbmdMZWZ0OiAnOHB4ICFpbXBvcnRhbnQnLFxyXG4gICAgICBwYWRkaW5nVG9wOiAnOHB4ICFpbXBvcnRhbnQnXHJcbiAgICB9LFxyXG4gICAgJ210LTgnOiB7XHJcbiAgICAgIG1hcmdpblRvcDogJzhweCAhaW1wb3J0YW50J1xyXG4gICAgfSxcclxuICAgICdtZC1ibG9jayc6IHtcclxuICAgICAgZGlzcGxheTogJ2Jsb2NrICFpbXBvcnRhbnQnXHJcbiAgICB9LFxyXG4gICAgdGV4dGFyZWE6IHtcclxuICAgICAgd2lkdGg6ICcxMDAlJyxcclxuICAgICAgaGVpZ2h0OiAnMTUwcHgnLFxyXG4gICAgICBib3JkZXJSYWRpdXM6ICc2cHgnLFxyXG4gICAgICBvdXRsaW5lOiAnbm9uZScsXHJcbiAgICAgIGJhY2tncm91bmQ6ICd0cmFuc3BhcmVudCcsXHJcbiAgICAgIHBhZGRpbmc6ICcxNHB4JyxcclxuICAgICAgY29sb3I6ICd3aGl0ZScsXHJcbiAgICAgIG92ZXJmbG93WDogJ2hpZGRlbicsXHJcbiAgICAgIHJlc2l6ZTogJ3ZlcnRpY2FsJyxcclxuICAgICAgY3Vyc29yOiAndGV4dCcsXHJcbiAgICAgIHdoaXRlU3BhY2U6ICdwcmUtd3JhcCcsXHJcbiAgICAgIG92ZXJmbG93V3JhcDogJ2JyZWFrLXdvcmQnXHJcbiAgICB9LFxyXG4gICAgJ3Rvb2xiYXItaXRlbSc6IHtcclxuICAgICAgZGlzcGxheTogJ2Jsb2NrJyxcclxuICAgICAgZmxvYXQ6ICdsZWZ0JyxcclxuICAgICAgcGFkZGluZzogJzRweCcsXHJcbiAgICAgIGZvbnRTaXplOiAnMTRweCcsXHJcbiAgICAgIGZpbGw6ICcjOGI5NDllJyxcclxuICAgICAgY3Vyc29yOiAncG9pbnRlcicsXHJcbiAgICAgIGJhY2tncm91bmQ6ICdub25lJyxcclxuICAgICAgYm9yZGVyOiAwLFxyXG4gICAgICAnJjpob3Zlcic6IHtcclxuICAgICAgICBmaWxsOiAnIzU4YTZmZidcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH0sXHJcbiAgeyBuYW1lOiAnYnVuZC0nIH1cclxuKVxyXG5cclxuZXhwb3J0IGNvbnN0IENvbW1lbnRCb3hCYXNlID0gKHByb3BzKSA9PiB7XHJcbiAgY29uc3QgeyBjaGlsZHJlbiwgdGl0bGUsIGNsYXNzTmFtZSwgc3R5bGUsIGhhbmRsZVN1Ym1pdCwgLi4ucmVzdCB9ID0gcHJvcHNcclxuICBjb25zdCBjbGFzc2VzID0gdXNlU3R5bGVzKClcclxuICByZXR1cm4gKFxyXG4gICAgPGRpdlxyXG4gICAgICBjbGFzc05hbWU9e2Nsc3goXHJcbiAgICAgICAgY2xhc3Nlcy5jb250YWluZXIsXHJcbiAgICAgICAgY2xhc3Nlcy5ib3JkZXIsXHJcbiAgICAgICAgY2xhc3Nlcy5jYXJldCxcclxuICAgICAgICBjbGFzc05hbWVcclxuICAgICAgKX0+XHJcbiAgICAgIDxmb3JtIG9uU3VibWl0PXtoYW5kbGVTdWJtaXR9IG5vVmFsaWRhdGU+XHJcbiAgICAgICAgPGZpZWxkc2V0XHJcbiAgICAgICAgICBjbGFzc05hbWU9e2Nsc3goY2xhc3Nlc1snZmllbGRzZXQteHl6J10sIGNsYXNzTmFtZSl9XHJcbiAgICAgICAgICB7Li4ucmVzdH1cclxuICAgICAgICAgIHN0eWxlPXt7XHJcbiAgICAgICAgICAgIGJvcmRlclJhZGl1czogJzhweCcsXHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDAsXHJcbiAgICAgICAgICAgIG1hcmdpbjogMFxyXG4gICAgICAgICAgfX0+XHJcbiAgICAgICAgICA8ZGl2XHJcbiAgICAgICAgICAgIGNsYXNzTmFtZT17Y2xzeChcclxuICAgICAgICAgICAgICBjbGFzc2VzWyd0YWJuYXYnXSxcclxuICAgICAgICAgICAgICBjbGFzc2VzWydib3JkZXItY29sb3InXSxcclxuICAgICAgICAgICAgICBjbGFzc2VzWydib3JkZXItYm90dG9tJ10sXHJcbiAgICAgICAgICAgICAgJ2NvbW1lbnQtZm9ybS1oZWFkIHRhYm5hdiBkLWZsZXggZmxleC1qdXN0aWZ5LWJldHdlZW4gbWItMiBwLTAgdGFibmF2LS1yZXNwb25zaXZlIGZsZXgtY29sdW1uIGJvcmRlci1ib3R0b20tMCBtYi0wIG1iLWxnLTIgZmxleC1pdGVtcy1zdHJldGNoIGJvcmRlci1sZy1ib3R0b20gY29sb3ItYm9yZGVyLXByaW1hcnkgZmxleC1sZy1pdGVtcy1jZW50ZXIgZmxleC1sZy1yb3cnXHJcbiAgICAgICAgICAgICl9PlxyXG4gICAgICAgICAgICA8ZGl2XHJcbiAgICAgICAgICAgICAgY2xhc3NOYW1lPXtjbHN4KFxyXG4gICAgICAgICAgICAgICAgY2xhc3Nlc1sndGFibmF2LWhlYWQnXSxcclxuICAgICAgICAgICAgICAgIGNsYXNzZXNbJ3RhYm5hdnMtaGVhZGVyJ11cclxuICAgICAgICAgICAgICApfT5cclxuICAgICAgICAgICAgICA8ZGl2XHJcbiAgICAgICAgICAgICAgICBjbGFzc05hbWU9e2Nsc3goXHJcbiAgICAgICAgICAgICAgICAgIGNsYXNzZXNbJ3RhYm5hdi10YWJzJ10sXHJcbiAgICAgICAgICAgICAgICAgIGNsYXNzZXNbJ215LTgnXSxcclxuICAgICAgICAgICAgICAgICAgY2xhc3Nlc1sncHQtOCddLFxyXG4gICAgICAgICAgICAgICAgICBjbGFzc2VzWydtZC1ibG9jayddLFxyXG4gICAgICAgICAgICAgICAgICBjbGFzc05hbWVcclxuICAgICAgICAgICAgICAgICl9XHJcbiAgICAgICAgICAgICAgICByb2xlPVwidGFibGlzdFwiPlxyXG4gICAgICAgICAgICAgICAgPGJ1dHRvblxyXG4gICAgICAgICAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcclxuICAgICAgICAgICAgICAgICAgY2xhc3NOYW1lPXtjbHN4KFxyXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzZXNbJ3RhYm5hdi10YWInXSxcclxuICAgICAgICAgICAgICAgICAgICBjbGFzc2VzWydweS0xNiddLFxyXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzZXNbJ2J0bi1saW5rJ10sXHJcbiAgICAgICAgICAgICAgICAgICAgY2xhc3NOYW1lXHJcbiAgICAgICAgICAgICAgICAgICl9XHJcbiAgICAgICAgICAgICAgICAgIHJvbGU9XCJ0YWJcIlxyXG4gICAgICAgICAgICAgICAgICBhcmlhLXNlbGVjdGVkPVwidHJ1ZVwiXHJcbiAgICAgICAgICAgICAgICAgIHRhYkluZGV4PVwiMFwiPlxyXG4gICAgICAgICAgICAgICAgICBXcml0ZVxyXG4gICAgICAgICAgICAgICAgPC9idXR0b24+XHJcbiAgICAgICAgICAgICAgICA8YnV0dG9uXHJcbiAgICAgICAgICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxyXG4gICAgICAgICAgICAgICAgICBjbGFzc05hbWU9e2Nsc3goXHJcbiAgICAgICAgICAgICAgICAgICAgY2xhc3Nlc1sndGFibmF2LXRhYiddLFxyXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzZXNbJ3B5LTE2J10sXHJcbiAgICAgICAgICAgICAgICAgICAgY2xhc3Nlc1snYnRuLWxpbmsnXSxcclxuICAgICAgICAgICAgICAgICAgICBjbGFzc05hbWVcclxuICAgICAgICAgICAgICAgICAgKX1cclxuICAgICAgICAgICAgICAgICAgcm9sZT1cInRhYlwiXHJcbiAgICAgICAgICAgICAgICAgIGFyaWEtc2VsZWN0ZWQ9XCJmYWxzZVwiXHJcbiAgICAgICAgICAgICAgICAgIHRhYkluZGV4PVwiLTFcIj5cclxuICAgICAgICAgICAgICAgICAgUHJldmlld1xyXG4gICAgICAgICAgICAgICAgPC9idXR0b24+XHJcblxyXG4gICAgICAgICAgICAgICAgPGRpdlxyXG4gICAgICAgICAgICAgICAgICBjbGFzc05hbWU9XCJiaXRtb2ppLWZsb2F0ZXJcIlxyXG4gICAgICAgICAgICAgICAgICBzdHlsZT17e1xyXG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmRQb3NpdGlvbjogJzBweCBjZW50ZXInLFxyXG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmRJbWFnZTpcclxuICAgICAgICAgICAgICAgICAgICAgICd1cmwoY2hyb21lLWV4dGVuc2lvbjovL2JmZ2RlaWFka2NrZmJrZWlna29uY3BkaWVpaWVmcGlnL3N0YXRpYy9tZWRpYS9iaXRtb2ppLWljb24tNDgucG5nKScsXHJcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZFNpemU6ICdjb250YWluJyxcclxuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kUmVwZWF0OiAnbm8tcmVwZWF0JyxcclxuICAgICAgICAgICAgICAgICAgICB3aWR0aDogJzI4cHgnLFxyXG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogJzI4cHgnLFxyXG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbkJvdHRvbTogJy04cHgnLFxyXG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6ICdpbmxpbmUtYmxvY2snXHJcbiAgICAgICAgICAgICAgICAgIH19XHJcbiAgICAgICAgICAgICAgICAvPlxyXG4gICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgIDxkaXZcclxuICAgICAgICAgICAgICAgIGNsYXNzTmFtZT17Y2xzeChcclxuICAgICAgICAgICAgICAgICAgY2xhc3Nlcy50b29sYmFyLFxyXG4gICAgICAgICAgICAgICAgICBjbGFzc2VzLmZsZXgsXHJcbiAgICAgICAgICAgICAgICAgIGNsYXNzZXNbJ3B5dC04J10sXHJcbiAgICAgICAgICAgICAgICAgIGNsYXNzZXNbJ2JvcmRlci10b3AnXVxyXG4gICAgICAgICAgICAgICAgKX0+XHJcbiAgICAgICAgICAgICAgICA8ZGl2XHJcbiAgICAgICAgICAgICAgICAgIGNsYXNzTmFtZT17Y2xzeChcclxuICAgICAgICAgICAgICAgICAgICBjbGFzc2VzWydtci0xNiddLFxyXG4gICAgICAgICAgICAgICAgICAgICdmbGV4LW5vd3JhcCBkLW5vbmUgZC1tZC1pbmxpbmUtYmxvY2sgbXItMydcclxuICAgICAgICAgICAgICAgICAgKX1cclxuICAgICAgICAgICAgICAgICAgc3R5bGU9e3tcclxuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiAnaW5saW5lLWJsb2NrICFpbXBvcnRhbnQnLFxyXG4gICAgICAgICAgICAgICAgICAgIG1hcmdpblJpZ2h0OiAnMTZweCAhaW1wb3J0YW50JyxcclxuICAgICAgICAgICAgICAgICAgICBmbGV4V3JhcDogJ25vd3JhcCAhaW1wb3J0YW50J1xyXG4gICAgICAgICAgICAgICAgICB9fT5cclxuICAgICAgICAgICAgICAgICAgPE1kSGVhZGVyXHJcbiAgICAgICAgICAgICAgICAgICAgdGFiaW5kZXg9XCItMVwiXHJcbiAgICAgICAgICAgICAgICAgICAgY2xhc3NOYW1lPXtjbHN4KFxyXG4gICAgICAgICAgICAgICAgICAgICAgY2xhc3Nlc1sndG9vbGJhci1pdGVtJ10sXHJcbiAgICAgICAgICAgICAgICAgICAgICBjbGFzc2VzWydteS00J10sXHJcbiAgICAgICAgICAgICAgICAgICAgICAndG9vbGJhci1pdGVtIHRvb2x0aXBwZWQgdG9vbHRpcHBlZC1zdyBteC0xJ1xyXG4gICAgICAgICAgICAgICAgICAgICl9XHJcbiAgICAgICAgICAgICAgICAgICAgYXJpYS1sYWJlbD1cIkFkZCBoZWFkZXIgdGV4dFwiXHJcbiAgICAgICAgICAgICAgICAgICAgZGF0YS1nYS1jbGljaz1cIk1hcmtkb3duIFRvb2xiYXIsIGNsaWNrLCBoZWFkZXJcIlxyXG4gICAgICAgICAgICAgICAgICAgIHJvbGU9XCJidXR0b25cIj5cclxuICAgICAgICAgICAgICAgICAgICA8c3ZnXHJcbiAgICAgICAgICAgICAgICAgICAgICBjbGFzc05hbWU9XCJvY3RpY29uIG9jdGljb24taGVhZGluZ1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ9XCIxNlwiXHJcbiAgICAgICAgICAgICAgICAgICAgICB2aWV3Qm94PVwiMCAwIDE2IDE2XCJcclxuICAgICAgICAgICAgICAgICAgICAgIHZlcnNpb249XCIxLjFcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgd2lkdGg9XCIxNlwiXHJcbiAgICAgICAgICAgICAgICAgICAgICBhcmlhLWhpZGRlbj1cInRydWVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgIDxwYXRoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGZpbGxSdWxlPVwiZXZlbm9kZFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGQ9XCJNMy43NSAyYS43NS43NSAwIDAxLjc1Ljc1VjdoN1YyLjc1YS43NS43NSAwIDAxMS41IDB2MTAuNWEuNzUuNzUgMCAwMS0xLjUgMFY4LjVoLTd2NC43NWEuNzUuNzUgMCAwMS0xLjUgMFYyLjc1QS43NS43NSAwIDAxMy43NSAyelwiPjwvcGF0aD5cclxuICAgICAgICAgICAgICAgICAgICA8L3N2Zz5cclxuICAgICAgICAgICAgICAgICAgPC9NZEhlYWRlcj5cclxuXHJcbiAgICAgICAgICAgICAgICAgIDxNZEJvbGRcclxuICAgICAgICAgICAgICAgICAgICB0YWJpbmRleD1cIi0xXCJcclxuICAgICAgICAgICAgICAgICAgICBjbGFzc05hbWU9e2Nsc3goXHJcbiAgICAgICAgICAgICAgICAgICAgICBjbGFzc2VzWyd0b29sYmFyLWl0ZW0nXSxcclxuICAgICAgICAgICAgICAgICAgICAgIGNsYXNzZXNbJ215LTQnXSxcclxuICAgICAgICAgICAgICAgICAgICAgICd0b29sYmFyLWl0ZW0gdG9vbHRpcHBlZCB0b29sdGlwcGVkLXN3IG14LTEnXHJcbiAgICAgICAgICAgICAgICAgICAgKX1cclxuICAgICAgICAgICAgICAgICAgICBhcmlhLWxhYmVsPVwiQWRkIGJvbGQgdGV4dCA8Y3RybCtiPlwiXHJcbiAgICAgICAgICAgICAgICAgICAgZGF0YS1nYS1jbGljaz1cIk1hcmtkb3duIFRvb2xiYXIsIGNsaWNrLCBib2xkXCJcclxuICAgICAgICAgICAgICAgICAgICByb2xlPVwiYnV0dG9uXCJcclxuICAgICAgICAgICAgICAgICAgICBvbkNsaWNrPXsoKSA9PiBjb25zb2xlLmxvZygnY2xpY2tlZCcpfVxyXG4gICAgICAgICAgICAgICAgICAgIGhvdGtleT1cImJcIj5cclxuICAgICAgICAgICAgICAgICAgICA8c3ZnXHJcbiAgICAgICAgICAgICAgICAgICAgICBjbGFzc05hbWU9XCJvY3RpY29uIG9jdGljb24tYm9sZFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ9XCIxNlwiXHJcbiAgICAgICAgICAgICAgICAgICAgICB2aWV3Qm94PVwiMCAwIDE2IDE2XCJcclxuICAgICAgICAgICAgICAgICAgICAgIHZlcnNpb249XCIxLjFcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgd2lkdGg9XCIxNlwiXHJcbiAgICAgICAgICAgICAgICAgICAgICBhcmlhLWhpZGRlbj1cInRydWVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgIDxwYXRoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGZpbGxSdWxlPVwiZXZlbm9kZFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGQ9XCJNNCAyYTEgMSAwIDAwLTEgMXYxMGExIDEgMCAwMDEgMWg1LjVhMy41IDMuNSAwIDAwMS44NTItNi40N0EzLjUgMy41IDAgMDA4LjUgMkg0em00LjUgNWExLjUgMS41IDAgMTAwLTNINXYzaDMuNXpNNSA5djNoNC41YTEuNSAxLjUgMCAwMDAtM0g1elwiPjwvcGF0aD5cclxuICAgICAgICAgICAgICAgICAgICA8L3N2Zz5cclxuICAgICAgICAgICAgICAgICAgPC9NZEJvbGQ+XHJcblxyXG4gICAgICAgICAgICAgICAgICA8TWRJdGFsaWNcclxuICAgICAgICAgICAgICAgICAgICB0YWJpbmRleD1cIi0xXCJcclxuICAgICAgICAgICAgICAgICAgICBjbGFzc05hbWU9e2Nsc3goXHJcbiAgICAgICAgICAgICAgICAgICAgICBjbGFzc2VzWyd0b29sYmFyLWl0ZW0nXSxcclxuICAgICAgICAgICAgICAgICAgICAgIGNsYXNzZXNbJ215LTQnXSxcclxuICAgICAgICAgICAgICAgICAgICAgICd0b29sYmFyLWl0ZW0gdG9vbHRpcHBlZCB0b29sdGlwcGVkLXN3IG14LTEnXHJcbiAgICAgICAgICAgICAgICAgICAgKX1cclxuICAgICAgICAgICAgICAgICAgICBhcmlhLWxhYmVsPVwiQWRkIGl0YWxpYyB0ZXh0IDxjdHJsK2k+XCJcclxuICAgICAgICAgICAgICAgICAgICBkYXRhLWdhLWNsaWNrPVwiTWFya2Rvd24gVG9vbGJhciwgY2xpY2ssIGl0YWxpY1wiXHJcbiAgICAgICAgICAgICAgICAgICAgcm9sZT1cImJ1dHRvblwiXHJcbiAgICAgICAgICAgICAgICAgICAgaG90a2V5PVwiaVwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxzdmdcclxuICAgICAgICAgICAgICAgICAgICAgIGNsYXNzTmFtZT1cIm9jdGljb24gb2N0aWNvbi1pdGFsaWNcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0PVwiMTZcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgdmlld0JveD1cIjAgMCAxNiAxNlwiXHJcbiAgICAgICAgICAgICAgICAgICAgICB2ZXJzaW9uPVwiMS4xXCJcclxuICAgICAgICAgICAgICAgICAgICAgIHdpZHRoPVwiMTZcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgYXJpYS1oaWRkZW49XCJ0cnVlXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICA8cGF0aFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBmaWxsUnVsZT1cImV2ZW5vZGRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBkPVwiTTYgMi43NUEuNzUuNzUgMCAwMTYuNzUgMmg2LjVhLjc1Ljc1IDAgMDEwIDEuNWgtMi41MDVsLTMuODU4IDlIOS4yNWEuNzUuNzUgMCAwMTAgMS41aC02LjVhLjc1Ljc1IDAgMDEwLTEuNWgyLjUwNWwzLjg1OC05SDYuNzVBLjc1Ljc1IDAgMDE2IDIuNzV6XCI+PC9wYXRoPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvc3ZnPlxyXG4gICAgICAgICAgICAgICAgICA8L01kSXRhbGljPlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8ZGl2PlxyXG4gICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPXtjbHN4KGNsYXNzZXNbJ214LTgnXSwgY2xhc3Nlc1snbXktOCddKX0+XHJcbiAgICAgICAgICAgICAgICA8dGV4dGFyZWFcclxuICAgICAgICAgICAgICAgICAgbmFtZT1cIlRleHQxXCJcclxuICAgICAgICAgICAgICAgICAgY29scz1cIjQwXCJcclxuICAgICAgICAgICAgICAgICAgcm93cz1cIjVcIlxyXG4gICAgICAgICAgICAgICAgICBjbGFzc05hbWU9e2NsYXNzZXMudGV4dGFyZWF9XHJcbiAgICAgICAgICAgICAgICAvPlxyXG5cclxuICAgICAgICAgICAgICAgIDxpbnB1dCBhcmlhLWNvbGNvdW50PVwiNVwiIGNvbHM9XCI0MFwiIHJvd3M9XCI1XCIgLz5cclxuICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L2ZpZWxkc2V0PlxyXG4gICAgICA8L2Zvcm0+XHJcbiAgICA8L2Rpdj5cclxuICApXHJcbn1cclxuXHJcbkNvbW1lbnRCb3hCYXNlLnByb3BUeXBlcyA9IHtcclxuICBjaGlsZHJlbjogUHJvcFR5cGVzLm5vZGUsXHJcbiAgY2xhc3NOYW1lOiBQcm9wVHlwZXMuc3RyaW5nLFxyXG4gIHN0eWxlOiBQcm9wVHlwZXMub25lT2ZUeXBlKFtQcm9wVHlwZXMub2JqZWN0LCBQcm9wVHlwZXMuYXJyYXldKSxcclxuICB0aXRsZTogUHJvcFR5cGVzLnN0cmluZ1xyXG59XHJcblxyXG5Db21tZW50Qm94QmFzZS5kaXNwbGF5TmFtZSA9ICdjYmInXHJcblxyXG5leHBvcnQgZGVmYXVsdCBDb21tZW50Qm94QmFzZVxyXG4iXX0=