@bund-x/core
Version:
Master Components Core Library
389 lines (370 loc) • 44.6 kB
JavaScript
"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.Input = 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 Input = function Input(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.Input = Input;
Input.propTypes = {
children: _propTypes["default"].node,
className: _propTypes["default"].string,
style: _propTypes["default"].oneOfType([_propTypes["default"].object, _propTypes["default"].array]),
title: _propTypes["default"].string
};
Input.displayName = 'i';
var _default = Input;
exports["default"] = _default;
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9JbnB1dC9JbnB1dC5qcyJdLCJuYW1lcyI6WyJNZEhlYWRlciIsImNoaWxkcmVuIiwic3R5bGUiLCJjbGFzc05hbWUiLCJNZEJvbGQiLCJvbkNsaWNrIiwib25LZXlEb3duIiwiTWRJdGFsaWMiLCJ1c2VTdHlsZXMiLCJkaXNwbGF5IiwiY29udGFpbmVyIiwicG9zaXRpb24iLCJjb2xvciIsImJhY2tncm91bmRDb2xvciIsImJvcmRlciIsImJvcmRlclJhZGl1cyIsIm1hcmdpbiIsImJveFNpemluZyIsImNhcmV0IiwidG9wIiwicmlnaHQiLCJsZWZ0Iiwid2lkdGgiLCJoZWlnaHQiLCJwb2ludGVyRXZlbnRzIiwiY2xpcFBhdGgiLCJwYWRkaW5nIiwidGFibmF2IiwibWFyZ2luVG9wIiwiYm9yZGVyQm90dG9tIiwibWFyZ2luQm90dG9tIiwiYmFja2dyb3VuZCIsIm92ZXJmbG93IiwiZmxleFNocmluayIsImZvbnRTaXplIiwibGluZUhlaWdodCIsInRleHREZWNvcmF0aW9uIiwidHJhbnNpdGlvbiIsImJvcmRlckNvbG9yIiwib3V0bGluZSIsIndoaXRlU3BhY2UiLCJjdXJzb3IiLCJ1c2VyU2VsZWN0IiwiYXBwZWFyYW5jZSIsInRvb2xiYXIiLCJmbGV4IiwiYm9yZGVyVG9wIiwibWFyZ2luUmlnaHQiLCJtYXJnaW5MZWZ0IiwicGFkZGluZ1JpZ2h0IiwicGFkZGluZ0xlZnQiLCJwYWRkaW5nVG9wIiwidGV4dGFyZWEiLCJvdmVyZmxvd1giLCJyZXNpemUiLCJvdmVyZmxvd1dyYXAiLCJmaWxsIiwibmFtZSIsIklucHV0IiwicHJvcHMiLCJ0aXRsZSIsImhhbmRsZVN1Ym1pdCIsInJlc3QiLCJjbGFzc2VzIiwiYmFja2dyb3VuZFBvc2l0aW9uIiwiYmFja2dyb3VuZEltYWdlIiwiYmFja2dyb3VuZFNpemUiLCJiYWNrZ3JvdW5kUmVwZWF0IiwiZmxleFdyYXAiLCJjb25zb2xlIiwibG9nIiwicHJvcFR5cGVzIiwiUHJvcFR5cGVzIiwi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S0UsSUFBQSxLQUFLLEVBQUMsSUFMUjtBQU1FLG1CQUFZO0FBTmQsS0FPRTtBQUNFLElBQUEsUUFBUSxFQUFDLFNBRFg7QUFFRSxJQUFBLENBQUMsRUFBQztBQUZKLElBUEYsQ0FYRixDQTFERixDQVBGLENBeERGLENBUEYsRUEwSkUsaUNBQ0U7QUFBSyxJQUFBLFNBQVMsRUFBRSxzQkFBS0EsT0FBTyxDQUFDLE1BQUQsQ0FBWixFQUFzQkEsT0FBTyxDQUFDLE1BQUQsQ0FBN0I7QUFBaEIsS0FDRTtBQUNFLElBQUEsSUFBSSxFQUFDLE9BRFA7QUFFRSxJQUFBLElBQUksRUFBQyxJQUZQO0FBR0UsSUFBQSxJQUFJLEVBQUMsR0FIUDtBQUlFLElBQUEsU0FBUyxFQUFFQSxPQUFPLENBQUNYO0FBSnJCLElBREYsRUFRRTtBQUFPLHFCQUFjLEdBQXJCO0FBQXlCLElBQUEsSUFBSSxFQUFDLElBQTlCO0FBQW1DLElBQUEsSUFBSSxFQUFDO0FBQXhDLElBUkYsQ0FERixDQTFKRixDQVJGLENBREYsQ0FQRixDQURGO0FBNExELENBL0xNOzs7QUFpTVBNLEtBQUssQ0FBQ2EsU0FBTixHQUFrQjtBQUNoQnRFLEVBQUFBLFFBQVEsRUFBRXVFLHNCQUFVQyxJQURKO0FBRWhCdEUsRUFBQUEsU0FBUyxFQUFFcUUsc0JBQVVFLE1BRkw7QUFHaEJ4RSxFQUFBQSxLQUFLLEVBQUVzRSxzQkFBVUcsU0FBVixDQUFvQixDQUFDSCxzQkFBVUksTUFBWCxFQUFtQkosc0JBQVVLLEtBQTdCLENBQXBCLENBSFM7QUFJaEJqQixFQUFBQSxLQUFLLEVBQUVZLHNCQUFVRTtBQUpELENBQWxCO0FBT0FoQixLQUFLLENBQUNvQixXQUFOLEdBQW9CLEdBQXBCO2VBRWVwQixLIiwic291cmNlUm9vdCI6ImNvcmUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyBSZWFjdCBmcm9tICdyZWFjdCdcclxuaW1wb3J0IFByb3BUeXBlcyBmcm9tICdwcm9wLXR5cGVzJ1xyXG5pbXBvcnQgY2xzeCBmcm9tICdjbHN4J1xyXG5pbXBvcnQgeyBjcmVhdGVVc2VTdHlsZXMgfSBmcm9tICdyZWFjdC1qc3MnXHJcblxyXG5jb25zdCBNZEhlYWRlciA9ICh7IGNoaWxkcmVuLCBzdHlsZSwgY2xhc3NOYW1lIH0pID0+IHtcclxuICByZXR1cm4gKFxyXG4gICAgPGRpdiBzdHlsZT17c3R5bGV9IGNsYXNzTmFtZT17Y2xhc3NOYW1lfT5cclxuICAgICAge2NoaWxkcmVufVxyXG4gICAgPC9kaXY+XHJcbiAgKVxyXG59XHJcblxyXG5jb25zdCBNZEJvbGQgPSAoeyBjaGlsZHJlbiwgc3R5bGUsIGNsYXNzTmFtZSwgb25DbGljaywgb25LZXlEb3duIH0pID0+IHtcclxuICByZXR1cm4gKFxyXG4gICAgPGRpdlxyXG4gICAgICBvbkNsaWNrPXtvbkNsaWNrfVxyXG4gICAgICBvbktleURvd249e29uS2V5RG93bn1cclxuICAgICAgc3R5bGU9e3N0eWxlfVxyXG4gICAgICBjbGFzc05hbWU9e2NsYXNzTmFtZX0+XHJcbiAgICAgIHtjaGlsZHJlbn1cclxuICAgIDwvZGl2PlxyXG4gIClcclxufVxyXG5cclxuY29uc3QgTWRJdGFsaWMgPSAoeyBjaGlsZHJlbiwgc3R5bGUsIGNsYXNzTmFtZSwgb25DbGljaywgb25LZXlEb3duIH0pID0+IHtcclxuICByZXR1cm4gKFxyXG4gICAgPGRpdlxyXG4gICAgICBvbkNsaWNrPXtvbkNsaWNrfVxyXG4gICAgICBvbktleURvd249e29uS2V5RG93bn1cclxuICAgICAgc3R5bGU9e3N0eWxlfVxyXG4gICAgICBjbGFzc05hbWU9e2NsYXNzTmFtZX0+XHJcbiAgICAgIHtjaGlsZHJlbn1cclxuICAgIDwvZGl2PlxyXG4gIClcclxufVxyXG5cclxuY29uc3QgdXNlU3R5bGVzID0gY3JlYXRlVXNlU3R5bGVzKFxyXG4gIHtcclxuICAgICdpbnB1dC14eXonOiB7XHJcbiAgICAgIGRpc3BsYXk6ICdpbmxpbmUtYmxvY2snXHJcbiAgICB9LFxyXG4gICAgY29udGFpbmVyOiB7XHJcbiAgICAgIHBvc2l0aW9uOiAncmVsYXRpdmUnLFxyXG4gICAgICBjb2xvcjogJyNjOWQxZDknLFxyXG4gICAgICBiYWNrZ3JvdW5kQ29sb3I6ICcjMGQxMTE3JyxcclxuICAgICAgYm9yZGVyOiAnMXB4IHNvbGlkICMzMDM2M2QnLFxyXG4gICAgICBib3JkZXJSYWRpdXM6ICc2cHgnLFxyXG4gICAgICBtYXJnaW46ICcxNnB4JyxcclxuICAgICAgJyYgKic6IHtcclxuICAgICAgICBib3hTaXppbmc6ICdib3JkZXItYm94J1xyXG4gICAgICB9XHJcbiAgICB9LFxyXG4gICAgY2FyZXQ6IHtcclxuICAgICAgJyY6YWZ0ZXInOiB7XHJcbiAgICAgICAgcG9zaXRpb246ICdhYnNvbHV0ZScsXHJcbiAgICAgICAgdG9wOiAnMTFweCcsXHJcbiAgICAgICAgcmlnaHQ6ICcxMDAlJyxcclxuICAgICAgICBsZWZ0OiAnLThweCcsXHJcbiAgICAgICAgZGlzcGxheTogJ2Jsb2NrJyxcclxuICAgICAgICB3aWR0aDogJzhweCcsXHJcbiAgICAgICAgaGVpZ2h0OiAnMTZweCcsXHJcbiAgICAgICAgcG9pbnRlckV2ZW50czogJ25vbmUnLFxyXG4gICAgICAgIGNsaXBQYXRoOiAncG9seWdvbigwIDUwJSwxMDAlIDAsMTAwJSAxMDAlKSdcclxuICAgICAgfSxcclxuICAgICAgJyY6YmVmb3JlJzoge1xyXG4gICAgICAgIHBvc2l0aW9uOiAnYWJzb2x1dGUnLFxyXG4gICAgICAgIHRvcDogJzExcHgnLFxyXG4gICAgICAgIHJpZ2h0OiAnMTAwJScsXHJcbiAgICAgICAgbGVmdDogJy04cHgnLFxyXG4gICAgICAgIGRpc3BsYXk6ICdibG9jaycsXHJcbiAgICAgICAgd2lkdGg6ICc4cHgnLFxyXG4gICAgICAgIGhlaWdodDogJzE2cHgnLFxyXG4gICAgICAgIHBvaW50ZXJFdmVudHM6ICdub25lJyxcclxuICAgICAgICBjbGlwUGF0aDogJ3BvbHlnb24oMCA1MCUsMTAwJSAwLDEwMCUgMTAwJSknXHJcbiAgICAgIH1cclxuICAgIH0sXHJcblxyXG4gICAgJ2ZpZWxkc2V0LXh5eic6IHtcclxuICAgICAgZGlzcGxheTogJ2dyaWQnLFxyXG4gICAgICBib3JkZXJSYWRpdXM6ICc4cHgnLFxyXG4gICAgICBwYWRkaW5nOiAwLFxyXG4gICAgICBtYXJnaW46IDAsXHJcbiAgICAgIGJvcmRlcjogMFxyXG4gICAgfSxcclxuICAgIHRhYm5hdjoge1xyXG4gICAgICBtYXJnaW5Ub3A6IDAsXHJcbiAgICAgIC8vIG1hcmdpbkJvdHRvbTogJzhweCcsXHJcbiAgICAgIGJvcmRlckJvdHRvbTogJzFweCBzb2xpZCAjMzAzNjNkJ1xyXG4gICAgfSxcclxuICAgICd0YWJuYXYtaGVhZCc6IHtcclxuICAgICAgLy8gcGFkZGluZzogJzhweCA4cHggMCcsXHJcbiAgICAgIG1hcmdpbkJvdHRvbTogJzhweCcsXHJcbiAgICAgIGJhY2tncm91bmQ6ICcjMTYxYjIyJyxcclxuICAgICAgYm9yZGVyUmFkaXVzOiAnNnB4IDZweCAwIDAnXHJcbiAgICB9LFxyXG5cclxuICAgICd0YWJuYXZzLWhlYWRlcic6IHtcclxuICAgICAgYmFja2dyb3VuZDogJyMxNjFiMjInXHJcbiAgICB9LFxyXG5cclxuICAgICd0YWJuYXYtdGFicyc6IHtcclxuICAgICAgZGlzcGxheTogJ2Jsb2NrICFpbXBvcnRhbnQnLFxyXG4gICAgICBtYXJnaW5Cb3R0b206ICctMXB4JyxcclxuICAgICAgb3ZlcmZsb3c6ICdhdXRvJ1xyXG4gICAgfSxcclxuICAgICd0YWJuYXYtdGFiJzoge1xyXG4gICAgICBkaXNwbGF5OiAnaW5saW5lLWJsb2NrJyxcclxuICAgICAgZmxleFNocmluazogMCxcclxuICAgICAgcGFkZGluZzogJzhweCAxNnB4JyxcclxuICAgICAgZm9udFNpemU6ICcxNHB4JyxcclxuICAgICAgbGluZUhlaWdodDogJzIzcHgnLFxyXG4gICAgICBjb2xvcjogJyM4Yjk0OWUnLFxyXG4gICAgICB0ZXh0RGVjb3JhdGlvbjogJ25vbmUnLFxyXG4gICAgICBiYWNrZ3JvdW5kQ29sb3I6ICdpbml0aWFsJyxcclxuICAgICAgYm9yZGVyOiAnMXB4IHNvbGlkIHRyYW5zcGFyZW50JyxcclxuICAgICAgYm9yZGVyQm90dG9tOiAwLFxyXG4gICAgICB0cmFuc2l0aW9uOiAnY29sb3IgLjJzIGN1YmljLWJlemllciguMywwLC41LDEpJyxcclxuICAgICAgJyZbYXJpYS1zZWxlY3RlZD10cnVlXSc6IHtcclxuICAgICAgICBjb2xvcjogJyNjOWQxZDknLFxyXG4gICAgICAgIGJhY2tncm91bmRDb2xvcjogJyMwZDExMTcnLFxyXG4gICAgICAgIGJvcmRlckNvbG9yOiAnIzMwMzYzZCcsXHJcbiAgICAgICAgYm9yZGVyUmFkaXVzOiAnNnB4IDZweCAwIDAnXHJcbiAgICAgIH0sXHJcbiAgICAgICcmOmZvY3VzJzoge1xyXG4gICAgICAgIG91dGxpbmU6ICdub25lJ1xyXG4gICAgICB9XHJcbiAgICB9LFxyXG4gICAgJ2J0bi1saW5rJzoge1xyXG4gICAgICBkaXNwbGF5OiAnaW5saW5lLWJsb2NrJyxcclxuICAgICAgLy8gcGFkZGluZzogMCxcclxuICAgICAgZm9udFNpemU6ICdpbmhlcml0JyxcclxuICAgICAgY29sb3I6ICcjNThhNmZmJyxcclxuICAgICAgdGV4dERlY29yYXRpb246ICdub25lJyxcclxuICAgICAgd2hpdGVTcGFjZTogJ25vd3JhcCcsXHJcbiAgICAgIGN1cnNvcjogJ3BvaW50ZXInLFxyXG4gICAgICB1c2VyU2VsZWN0OiAnbm9uZScsXHJcbiAgICAgIGJhY2tncm91bmRDb2xvcjogJ2luaXRpYWwnLFxyXG4gICAgICAvLyBib3JkZXI6IDAsXHJcbiAgICAgIGFwcGVhcmFuY2U6ICdub25lJ1xyXG4gICAgfSxcclxuICAgIHRvb2xiYXI6IHtcclxuICAgICAgYmFja2dyb3VuZDogJyMwZDExMTcnXHJcbiAgICB9LFxyXG4gICAgZmxleDoge1xyXG4gICAgICBkaXNwbGF5OiAnZmxleCFpbXBvcnRhbnQnXHJcbiAgICB9LFxyXG4gICAgYm9yZGVyOiB7XHJcbiAgICAgIGJvcmRlcjogJzFweCBzb2xpZCAjMzAzNjNkICFpbXBvcnRhbnQnXHJcbiAgICB9LFxyXG4gICAgJ2JvcmRlci1jb2xvcic6IHtcclxuICAgICAgYm9yZGVyQ29sb3I6ICcjMzAzNjNkICFpbXBvcnRhbnQnXHJcbiAgICB9LFxyXG4gICAgJ2JvcmRlci1ib3R0b20nOiB7XHJcbiAgICAgIGJvcmRlckJvdHRvbTogJzAgIWltcG9ydGFudCdcclxuICAgIH0sXHJcbiAgICAnYm9yZGVyLXRvcCc6IHtcclxuICAgICAgYm9yZGVyVG9wOiAnMXB4IHNvbGlkICMzMDM2M2QgIWltcG9ydGFudCdcclxuICAgIH0sXHJcbiAgICAnbXktNCc6IHtcclxuICAgICAgbWFyZ2luUmlnaHQ6ICc0cHggIWltcG9ydGFudCcsXHJcbiAgICAgIG1hcmdpbkxlZnQ6ICc0cHggIWltcG9ydGFudCdcclxuICAgIH0sXHJcbiAgICAnbXgtOCc6IHtcclxuICAgICAgbWFyZ2luVG9wOiAnOHB4ICFpbXBvcnRhbnQnLFxyXG4gICAgICBtYXJnaW5Cb3R0b206ICc4cHggIWltcG9ydGFudCdcclxuICAgIH0sXHJcbiAgICAnbXktOCc6IHtcclxuICAgICAgbWFyZ2luUmlnaHQ6ICc4cHggIWltcG9ydGFudCcsXHJcbiAgICAgIG1hcmdpbkxlZnQ6ICc4cHggIWltcG9ydGFudCdcclxuICAgIH0sXHJcbiAgICAnbXktMTYnOiB7XHJcbiAgICAgIG1hcmdpblJpZ2h0OiAnMTZweCAhaW1wb3J0YW50JyxcclxuICAgICAgbWFyZ2luTGVmdDogJzE2cHggIWltcG9ydGFudCdcclxuICAgIH0sXHJcbiAgICAnbXItMTYnOiB7XHJcbiAgICAgIG1hcmdpblJpZ2h0OiAnMTZweCAhaW1wb3J0YW50J1xyXG4gICAgfSxcclxuICAgICdweS0xNic6IHtcclxuICAgICAgcGFkZGluZ1JpZ2h0OiAnMTZweCAhaW1wb3J0YW50JyxcclxuICAgICAgcGFkZGluZ0xlZnQ6ICcxNnB4ICFpbXBvcnRhbnQnXHJcbiAgICB9LFxyXG4gICAgJ3B0LTgnOiB7XHJcbiAgICAgIHBhZGRpbmdUb3A6ICc4cHggIWltcG9ydGFudCdcclxuICAgIH0sXHJcbiAgICAncHl0LTgnOiB7XHJcbiAgICAgIHBhZGRpbmdSaWdodDogJzhweCAhaW1wb3J0YW50JyxcclxuICAgICAgcGFkZGluZ0xlZnQ6ICc4cHggIWltcG9ydGFudCcsXHJcbiAgICAgIHBhZGRpbmdUb3A6ICc4cHggIWltcG9ydGFudCdcclxuICAgIH0sXHJcbiAgICAnbXQtOCc6IHtcclxuICAgICAgbWFyZ2luVG9wOiAnOHB4ICFpbXBvcnRhbnQnXHJcbiAgICB9LFxyXG4gICAgJ21kLWJsb2NrJzoge1xyXG4gICAgICBkaXNwbGF5OiAnYmxvY2sgIWltcG9ydGFudCdcclxuICAgIH0sXHJcbiAgICB0ZXh0YXJlYToge1xyXG4gICAgICB3aWR0aDogJzEwMCUnLFxyXG4gICAgICBoZWlnaHQ6ICcxNTBweCcsXHJcbiAgICAgIGJvcmRlclJhZGl1czogJzZweCcsXHJcbiAgICAgIG91dGxpbmU6ICdub25lJyxcclxuICAgICAgYmFja2dyb3VuZDogJ3RyYW5zcGFyZW50JyxcclxuICAgICAgcGFkZGluZzogJzE0cHgnLFxyXG4gICAgICBjb2xvcjogJ3doaXRlJyxcclxuICAgICAgb3ZlcmZsb3dYOiAnaGlkZGVuJyxcclxuICAgICAgcmVzaXplOiAndmVydGljYWwnLFxyXG4gICAgICBjdXJzb3I6ICd0ZXh0JyxcclxuICAgICAgd2hpdGVTcGFjZTogJ3ByZS13cmFwJyxcclxuICAgICAgb3ZlcmZsb3dXcmFwOiAnYnJlYWstd29yZCdcclxuICAgIH0sXHJcbiAgICAndG9vbGJhci1pdGVtJzoge1xyXG4gICAgICBkaXNwbGF5OiAnYmxvY2snLFxyXG4gICAgICBmbG9hdDogJ2xlZnQnLFxyXG4gICAgICBwYWRkaW5nOiAnNHB4JyxcclxuICAgICAgZm9udFNpemU6ICcxNHB4JyxcclxuICAgICAgZmlsbDogJyM4Yjk0OWUnLFxyXG4gICAgICBjdXJzb3I6ICdwb2ludGVyJyxcclxuICAgICAgYmFja2dyb3VuZDogJ25vbmUnLFxyXG4gICAgICBib3JkZXI6IDAsXHJcbiAgICAgICcmOmhvdmVyJzoge1xyXG4gICAgICAgIGZpbGw6ICcjNThhNmZmJ1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfSxcclxuICB7IG5hbWU6ICdidW5kLScgfVxyXG4pXHJcblxyXG5leHBvcnQgY29uc3QgSW5wdXQgPSAocHJvcHMpID0+IHtcclxuICBjb25zdCB7IGNoaWxkcmVuLCB0aXRsZSwgY2xhc3NOYW1lLCBzdHlsZSwgaGFuZGxlU3VibWl0LCAuLi5yZXN0IH0gPSBwcm9wc1xyXG4gIGNvbnN0IGNsYXNzZXMgPSB1c2VTdHlsZXMoKVxyXG4gIHJldHVybiAoXHJcbiAgICA8ZGl2XHJcbiAgICAgIGNsYXNzTmFtZT17Y2xzeChcclxuICAgICAgICBjbGFzc2VzLmNvbnRhaW5lcixcclxuICAgICAgICBjbGFzc2VzLmJvcmRlcixcclxuICAgICAgICBjbGFzc2VzLmNhcmV0LFxyXG4gICAgICAgIGNsYXNzTmFtZVxyXG4gICAgICApfT5cclxuICAgICAgPGZvcm0gb25TdWJtaXQ9e2hhbmRsZVN1Ym1pdH0gbm9WYWxpZGF0ZT5cclxuICAgICAgICA8ZmllbGRzZXRcclxuICAgICAgICAgIGNsYXNzTmFtZT17Y2xzeChjbGFzc2VzWydmaWVsZHNldC14eXonXSwgY2xhc3NOYW1lKX1cclxuICAgICAgICAgIHsuLi5yZXN0fVxyXG4gICAgICAgICAgc3R5bGU9e3tcclxuICAgICAgICAgICAgYm9yZGVyUmFkaXVzOiAnOHB4JyxcclxuICAgICAgICAgICAgcGFkZGluZzogMCxcclxuICAgICAgICAgICAgbWFyZ2luOiAwXHJcbiAgICAgICAgICB9fT5cclxuICAgICAgICAgIDxkaXZcclxuICAgICAgICAgICAgY2xhc3NOYW1lPXtjbHN4KFxyXG4gICAgICAgICAgICAgIGNsYXNzZXNbJ3RhYm5hdiddLFxyXG4gICAgICAgICAgICAgIGNsYXNzZXNbJ2JvcmRlci1jb2xvciddLFxyXG4gICAgICAgICAgICAgIGNsYXNzZXNbJ2JvcmRlci1ib3R0b20nXSxcclxuICAgICAgICAgICAgICAnY29tbWVudC1mb3JtLWhlYWQgdGFibmF2IGQtZmxleCBmbGV4LWp1c3RpZnktYmV0d2VlbiBtYi0yIHAtMCB0YWJuYXYtLXJlc3BvbnNpdmUgZmxleC1jb2x1bW4gYm9yZGVyLWJvdHRvbS0wIG1iLTAgbWItbGctMiBmbGV4LWl0ZW1zLXN0cmV0Y2ggYm9yZGVyLWxnLWJvdHRvbSBjb2xvci1ib3JkZXItcHJpbWFyeSBmbGV4LWxnLWl0ZW1zLWNlbnRlciBmbGV4LWxnLXJvdydcclxuICAgICAgICAgICAgKX0+XHJcbiAgICAgICAgICAgIDxkaXZcclxuICAgICAgICAgICAgICBjbGFzc05hbWU9e2Nsc3goXHJcbiAgICAgICAgICAgICAgICBjbGFzc2VzWyd0YWJuYXYtaGVhZCddLFxyXG4gICAgICAgICAgICAgICAgY2xhc3Nlc1sndGFibmF2cy1oZWFkZXInXVxyXG4gICAgICAgICAgICAgICl9PlxyXG4gICAgICAgICAgICAgIDxkaXZcclxuICAgICAgICAgICAgICAgIGNsYXNzTmFtZT17Y2xzeChcclxuICAgICAgICAgICAgICAgICAgY2xhc3Nlc1sndGFibmF2LXRhYnMnXSxcclxuICAgICAgICAgICAgICAgICAgY2xhc3Nlc1snbXktOCddLFxyXG4gICAgICAgICAgICAgICAgICBjbGFzc2VzWydwdC04J10sXHJcbiAgICAgICAgICAgICAgICAgIGNsYXNzZXNbJ21kLWJsb2NrJ10sXHJcbiAgICAgICAgICAgICAgICAgIGNsYXNzTmFtZVxyXG4gICAgICAgICAgICAgICAgKX1cclxuICAgICAgICAgICAgICAgIHJvbGU9XCJ0YWJsaXN0XCI+XHJcbiAgICAgICAgICAgICAgICA8YnV0dG9uXHJcbiAgICAgICAgICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxyXG4gICAgICAgICAgICAgICAgICBjbGFzc05hbWU9e2Nsc3goXHJcbiAgICAgICAgICAgICAgICAgICAgY2xhc3Nlc1sndGFibmF2LXRhYiddLFxyXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzZXNbJ3B5LTE2J10sXHJcbiAgICAgICAgICAgICAgICAgICAgY2xhc3Nlc1snYnRuLWxpbmsnXSxcclxuICAgICAgICAgICAgICAgICAgICBjbGFzc05hbWVcclxuICAgICAgICAgICAgICAgICAgKX1cclxuICAgICAgICAgICAgICAgICAgcm9sZT1cInRhYlwiXHJcbiAgICAgICAgICAgICAgICAgIGFyaWEtc2VsZWN0ZWQ9XCJ0cnVlXCJcclxuICAgICAgICAgICAgICAgICAgdGFiSW5kZXg9XCIwXCI+XHJcbiAgICAgICAgICAgICAgICAgIFdyaXRlXHJcbiAgICAgICAgICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgICAgICAgICAgIDxidXR0b25cclxuICAgICAgICAgICAgICAgICAgdHlwZT1cImJ1dHRvblwiXHJcbiAgICAgICAgICAgICAgICAgIGNsYXNzTmFtZT17Y2xzeChcclxuICAgICAgICAgICAgICAgICAgICBjbGFzc2VzWyd0YWJuYXYtdGFiJ10sXHJcbiAgICAgICAgICAgICAgICAgICAgY2xhc3Nlc1sncHktMTYnXSxcclxuICAgICAgICAgICAgICAgICAgICBjbGFzc2VzWydidG4tbGluayddLFxyXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzTmFtZVxyXG4gICAgICAgICAgICAgICAgICApfVxyXG4gICAgICAgICAgICAgICAgICByb2xlPVwidGFiXCJcclxuICAgICAgICAgICAgICAgICAgYXJpYS1zZWxlY3RlZD1cImZhbHNlXCJcclxuICAgICAgICAgICAgICAgICAgdGFiSW5kZXg9XCItMVwiPlxyXG4gICAgICAgICAgICAgICAgICBQcmV2aWV3XHJcbiAgICAgICAgICAgICAgICA8L2J1dHRvbj5cclxuXHJcbiAgICAgICAgICAgICAgICA8ZGl2XHJcbiAgICAgICAgICAgICAgICAgIGNsYXNzTmFtZT1cImJpdG1vamktZmxvYXRlclwiXHJcbiAgICAgICAgICAgICAgICAgIHN0eWxlPXt7XHJcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZFBvc2l0aW9uOiAnMHB4IGNlbnRlcicsXHJcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZEltYWdlOlxyXG4gICAgICAgICAgICAgICAgICAgICAgJ3VybChjaHJvbWUtZXh0ZW5zaW9uOi8vYmZnZGVpYWRrY2tmYmtlaWdrb25jcGRpZWlpZWZwaWcvc3RhdGljL21lZGlhL2JpdG1vamktaWNvbi00OC5wbmcpJyxcclxuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kU2l6ZTogJ2NvbnRhaW4nLFxyXG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmRSZXBlYXQ6ICduby1yZXBlYXQnLFxyXG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAnMjhweCcsXHJcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAnMjhweCcsXHJcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luQm90dG9tOiAnLThweCcsXHJcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogJ2lubGluZS1ibG9jaydcclxuICAgICAgICAgICAgICAgICAgfX1cclxuICAgICAgICAgICAgICAgIC8+XHJcbiAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgPGRpdlxyXG4gICAgICAgICAgICAgICAgY2xhc3NOYW1lPXtjbHN4KFxyXG4gICAgICAgICAgICAgICAgICBjbGFzc2VzLnRvb2xiYXIsXHJcbiAgICAgICAgICAgICAgICAgIGNsYXNzZXMuZmxleCxcclxuICAgICAgICAgICAgICAgICAgY2xhc3Nlc1sncHl0LTgnXSxcclxuICAgICAgICAgICAgICAgICAgY2xhc3Nlc1snYm9yZGVyLXRvcCddXHJcbiAgICAgICAgICAgICAgICApfT5cclxuICAgICAgICAgICAgICAgIDxkaXZcclxuICAgICAgICAgICAgICAgICAgY2xhc3NOYW1lPXtjbHN4KFxyXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzZXNbJ21yLTE2J10sXHJcbiAgICAgICAgICAgICAgICAgICAgJ2ZsZXgtbm93cmFwIGQtbm9uZSBkLW1kLWlubGluZS1ibG9jayBtci0zJ1xyXG4gICAgICAgICAgICAgICAgICApfVxyXG4gICAgICAgICAgICAgICAgICBzdHlsZT17e1xyXG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6ICdpbmxpbmUtYmxvY2sgIWltcG9ydGFudCcsXHJcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luUmlnaHQ6ICcxNnB4ICFpbXBvcnRhbnQnLFxyXG4gICAgICAgICAgICAgICAgICAgIGZsZXhXcmFwOiAnbm93cmFwICFpbXBvcnRhbnQnXHJcbiAgICAgICAgICAgICAgICAgIH19PlxyXG4gICAgICAgICAgICAgICAgICA8TWRIZWFkZXJcclxuICAgICAgICAgICAgICAgICAgICB0YWJpbmRleD1cIi0xXCJcclxuICAgICAgICAgICAgICAgICAgICBjbGFzc05hbWU9e2Nsc3goXHJcbiAgICAgICAgICAgICAgICAgICAgICBjbGFzc2VzWyd0b29sYmFyLWl0ZW0nXSxcclxuICAgICAgICAgICAgICAgICAgICAgIGNsYXNzZXNbJ215LTQnXSxcclxuICAgICAgICAgICAgICAgICAgICAgICd0b29sYmFyLWl0ZW0gdG9vbHRpcHBlZCB0b29sdGlwcGVkLXN3IG14LTEnXHJcbiAgICAgICAgICAgICAgICAgICAgKX1cclxuICAgICAgICAgICAgICAgICAgICBhcmlhLWxhYmVsPVwiQWRkIGhlYWRlciB0ZXh0XCJcclxuICAgICAgICAgICAgICAgICAgICBkYXRhLWdhLWNsaWNrPVwiTWFya2Rvd24gVG9vbGJhciwgY2xpY2ssIGhlYWRlclwiXHJcbiAgICAgICAgICAgICAgICAgICAgcm9sZT1cImJ1dHRvblwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxzdmdcclxuICAgICAgICAgICAgICAgICAgICAgIGNsYXNzTmFtZT1cIm9jdGljb24gb2N0aWNvbi1oZWFkaW5nXCJcclxuICAgICAgICAgICAgICAgICAgICAgIGhlaWdodD1cIjE2XCJcclxuICAgICAgICAgICAgICAgICAgICAgIHZpZXdCb3g9XCIwIDAgMTYgMTZcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgdmVyc2lvbj1cIjEuMVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICB3aWR0aD1cIjE2XCJcclxuICAgICAgICAgICAgICAgICAgICAgIGFyaWEtaGlkZGVuPVwidHJ1ZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgPHBhdGhcclxuICAgICAgICAgICAgICAgICAgICAgICAgZmlsbFJ1bGU9XCJldmVub2RkXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgZD1cIk0zLjc1IDJhLjc1Ljc1IDAgMDEuNzUuNzVWN2g3VjIuNzVhLjc1Ljc1IDAgMDExLjUgMHYxMC41YS43NS43NSAwIDAxLTEuNSAwVjguNWgtN3Y0Ljc1YS43NS43NSAwIDAxLTEuNSAwVjIuNzVBLjc1Ljc1IDAgMDEzLjc1IDJ6XCI+PC9wYXRoPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvc3ZnPlxyXG4gICAgICAgICAgICAgICAgICA8L01kSGVhZGVyPlxyXG5cclxuICAgICAgICAgICAgICAgICAgPE1kQm9sZFxyXG4gICAgICAgICAgICAgICAgICAgIHRhYmluZGV4PVwiLTFcIlxyXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzTmFtZT17Y2xzeChcclxuICAgICAgICAgICAgICAgICAgICAgIGNsYXNzZXNbJ3Rvb2xiYXItaXRlbSddLFxyXG4gICAgICAgICAgICAgICAgICAgICAgY2xhc3Nlc1snbXktNCddLFxyXG4gICAgICAgICAgICAgICAgICAgICAgJ3Rvb2xiYXItaXRlbSB0b29sdGlwcGVkIHRvb2x0aXBwZWQtc3cgbXgtMSdcclxuICAgICAgICAgICAgICAgICAgICApfVxyXG4gICAgICAgICAgICAgICAgICAgIGFyaWEtbGFiZWw9XCJBZGQgYm9sZCB0ZXh0IDxjdHJsK2I+XCJcclxuICAgICAgICAgICAgICAgICAgICBkYXRhLWdhLWNsaWNrPVwiTWFya2Rvd24gVG9vbGJhciwgY2xpY2ssIGJvbGRcIlxyXG4gICAgICAgICAgICAgICAgICAgIHJvbGU9XCJidXR0b25cIlxyXG4gICAgICAgICAgICAgICAgICAgIG9uQ2xpY2s9eygpID0+IGNvbnNvbGUubG9nKCdjbGlja2VkJyl9XHJcbiAgICAgICAgICAgICAgICAgICAgaG90a2V5PVwiYlwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxzdmdcclxuICAgICAgICAgICAgICAgICAgICAgIGNsYXNzTmFtZT1cIm9jdGljb24gb2N0aWNvbi1ib2xkXCJcclxuICAgICAgICAgICAgICAgICAgICAgIGhlaWdodD1cIjE2XCJcclxuICAgICAgICAgICAgICAgICAgICAgIHZpZXdCb3g9XCIwIDAgMTYgMTZcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgdmVyc2lvbj1cIjEuMVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICB3aWR0aD1cIjE2XCJcclxuICAgICAgICAgICAgICAgICAgICAgIGFyaWEtaGlkZGVuPVwidHJ1ZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgPHBhdGhcclxuICAgICAgICAgICAgICAgICAgICAgICAgZmlsbFJ1bGU9XCJldmVub2RkXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgZD1cIk00IDJhMSAxIDAgMDAtMSAxdjEwYTEgMSAwIDAwMSAxaDUuNWEzLjUgMy41IDAgMDAxLjg1Mi02LjQ3QTMuNSAzLjUgMCAwMDguNSAySDR6bTQuNSA1YTEuNSAxLjUgMCAxMDAtM0g1djNoMy41ek01IDl2M2g0LjVhMS41IDEuNSAwIDAwMC0zSDV6XCI+PC9wYXRoPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvc3ZnPlxyXG4gICAgICAgICAgICAgICAgICA8L01kQm9sZD5cclxuXHJcbiAgICAgICAgICAgICAgICAgIDxNZEl0YWxpY1xyXG4gICAgICAgICAgICAgICAgICAgIHRhYmluZGV4PVwiLTFcIlxyXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzTmFtZT17Y2xzeChcclxuICAgICAgICAgICAgICAgICAgICAgIGNsYXNzZXNbJ3Rvb2xiYXItaXRlbSddLFxyXG4gICAgICAgICAgICAgICAgICAgICAgY2xhc3Nlc1snbXktNCddLFxyXG4gICAgICAgICAgICAgICAgICAgICAgJ3Rvb2xiYXItaXRlbSB0b29sdGlwcGVkIHRvb2x0aXBwZWQtc3cgbXgtMSdcclxuICAgICAgICAgICAgICAgICAgICApfVxyXG4gICAgICAgICAgICAgICAgICAgIGFyaWEtbGFiZWw9XCJBZGQgaXRhbGljIHRleHQgPGN0cmwraT5cIlxyXG4gICAgICAgICAgICAgICAgICAgIGRhdGEtZ2EtY2xpY2s9XCJNYXJrZG93biBUb29sYmFyLCBjbGljaywgaXRhbGljXCJcclxuICAgICAgICAgICAgICAgICAgICByb2xlPVwiYnV0dG9uXCJcclxuICAgICAgICAgICAgICAgICAgICBob3RrZXk9XCJpXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPHN2Z1xyXG4gICAgICAgICAgICAgICAgICAgICAgY2xhc3NOYW1lPVwib2N0aWNvbiBvY3RpY29uLWl0YWxpY1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ9XCIxNlwiXHJcbiAgICAgICAgICAgICAgICAgICAgICB2aWV3Qm94PVwiMCAwIDE2IDE2XCJcclxuICAgICAgICAgICAgICAgICAgICAgIHZlcnNpb249XCIxLjFcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgd2lkdGg9XCIxNlwiXHJcbiAgICAgICAgICAgICAgICAgICAgICBhcmlhLWhpZGRlbj1cInRydWVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgIDxwYXRoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGZpbGxSdWxlPVwiZXZlbm9kZFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGQ9XCJNNiAyLjc1QS43NS43NSAwIDAxNi43NSAyaDYuNWEuNzUuNzUgMCAwMTAgMS41aC0yLjUwNWwtMy44NTggOUg5LjI1YS43NS43NSAwIDAxMCAxLjVoLTYuNWEuNzUuNzUgMCAwMTAtMS41aDIuNTA1bDMuODU4LTlINi43NUEuNzUuNzUgMCAwMTYgMi43NXpcIj48L3BhdGg+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9zdmc+XHJcbiAgICAgICAgICAgICAgICAgIDwvTWRJdGFsaWM+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDxkaXY+XHJcbiAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9e2Nsc3goY2xhc3Nlc1snbXgtOCddLCBjbGFzc2VzWydteS04J10pfT5cclxuICAgICAgICAgICAgICAgIDx0ZXh0YXJlYVxyXG4gICAgICAgICAgICAgICAgICBuYW1lPVwiVGV4dDFcIlxyXG4gICAgICAgICAgICAgICAgICBjb2xzPVwiNDBcIlxyXG4gICAgICAgICAgICAgICAgICByb3dzPVwiNVwiXHJcbiAgICAgICAgICAgICAgICAgIGNsYXNzTmFtZT17Y2xhc3Nlcy50ZXh0YXJlYX1cclxuICAgICAgICAgICAgICAgIC8+XHJcblxyXG4gICAgICAgICAgICAgICAgPGlucHV0IGFyaWEtY29sY291bnQ9XCI1XCIgY29scz1cIjQwXCIgcm93cz1cIjVcIiAvPlxyXG4gICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvZmllbGRzZXQ+XHJcbiAgICAgIDwvZm9ybT5cclxuICAgIDwvZGl2PlxyXG4gIClcclxufVxyXG5cclxuSW5wdXQucHJvcFR5cGVzID0ge1xyXG4gIGNoaWxkcmVuOiBQcm9wVHlwZXMubm9kZSxcclxuICBjbGFzc05hbWU6IFByb3BUeXBlcy5zdHJpbmcsXHJcbiAgc3R5bGU6IFByb3BUeXBlcy5vbmVPZlR5cGUoW1Byb3BUeXBlcy5vYmplY3QsIFByb3BUeXBlcy5hcnJheV0pLFxyXG4gIHRpdGxlOiBQcm9wVHlwZXMuc3RyaW5nXHJcbn1cclxuXHJcbklucHV0LmRpc3BsYXlOYW1lID0gJ2knXHJcblxyXG5leHBvcnQgZGVmYXVsdCBJbnB1dFxyXG4iXX0=