react-live-chat-loader
Version:
Implement live chat in your react app without taking a performance hit.
176 lines • 26.4 kB
JavaScript
function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; }
function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
function _slicedToArray(r, e) { return _arrayWithHoles(r) || _iterableToArrayLimit(r, e) || _unsupportedIterableToArray(r, e) || _nonIterableRest(); }
function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
function _unsupportedIterableToArray(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } }
function _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }
function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t.return && (u = t.return(), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }
function _arrayWithHoles(r) { if (Array.isArray(r)) return r; }
import React, { useState, useEffect } from 'react';
import useChat from "../../hooks/useChat";
import useWindowWidth from "../../hooks/useWindowWidth";
import { ClassNames } from "../../types";
var styles = {
container: {
WebkitFontSmoothing: 'antialiased',
fontSize: 16,
display: 'flex',
alignItems: 'flex-end',
padding: '12px',
flexDirection: 'column'
},
button: {
textAlign: 'center',
display: 'flex',
justifyContent: 'center',
alignItems: 'center',
fill: '#fff',
cursor: 'pointer',
height: '56px',
width: '56px',
borderRadius: '.3125rem',
boxShadow: '0 2px 6px 0 rgba(0,0,0,.4)',
overflow: 'hidden',
outline: 'none',
border: 'none'
},
iconWrapper: {
fill: 'inherit',
stroke: 'inherit',
width: '100%',
padding: 0,
lineHeight: 0
}
};
var Drift = function Drift(_ref) {
var _ref$color = _ref.color,
color = _ref$color === void 0 ? '#0176ff' : _ref$color,
_ref$icon = _ref.icon,
icon = _ref$icon === void 0 ? 'A' : _ref$icon,
_ref$containerClass = _ref.containerClass,
containerClass = _ref$containerClass === void 0 ? ClassNames.container : _ref$containerClass;
var _useChat = useChat({
loadWhenIdle: true
}),
_useChat2 = _slicedToArray(_useChat, 2),
state = _useChat2[0],
loadChat = _useChat2[1];
var windowWidth = useWindowWidth();
var _useState = useState({
zIndex: 2147483648,
position: 'fixed',
display: 'block'
}),
_useState2 = _slicedToArray(_useState, 2),
positionStyles = _useState2[0],
setPositionStyles = _useState2[1];
useEffect(function () {
setPositionStyles(function (state) {
return _objectSpread(_objectSpread({}, state), {}, {
bottom: windowWidth < 768 ? 0 : '24px',
right: windowWidth < 768 ? 0 : '24px'
});
});
}, [windowWidth]);
if (state === 'complete') {
return null;
}
return /*#__PURE__*/React.createElement("div", {
className: containerClass,
style: positionStyles
}, /*#__PURE__*/React.createElement("div", {
style: styles.container
}, /*#__PURE__*/React.createElement("div", {
role: "button",
"aria-label": "Load Chat",
"aria-busy": "true",
"aria-live": "polite",
onClick: function onClick() {
return loadChat({
open: true
});
},
onMouseEnter: function onMouseEnter() {
return loadChat({
open: false
});
},
style: _objectSpread({
backgroundColor: color
}, styles.button)
}, /*#__PURE__*/React.createElement("i", {
style: _objectSpread(_objectSpread({}, styles.iconWrapper), {}, {
opacity: state === 'initial' ? 1 : 0.75
})
}, icon === 'A' ? /*#__PURE__*/React.createElement("svg", {
width: "24",
height: "24",
viewBox: "0 0 20 20",
focusable: "false",
"aria-hidden": "true",
style: {
display: state === 'initial' ? 'initial' : 'none'
}
}, /*#__PURE__*/React.createElement("path", {
fill: "#FFFFFF",
d: "M4.583 14.894l-3.256 3.78c-.7.813-1.26.598-1.25-.46a10689.413 10689.413 0 0 1 .035-4.775V4.816a3.89 3.89 0 0 1 3.88-3.89h12.064a3.885 3.885 0 0 1 3.882 3.89v6.185a3.89 3.89 0 0 1-3.882 3.89H4.583z"
})) : icon === 'B' ? /*#__PURE__*/React.createElement("svg", {
width: "25",
height: "23",
viewBox: "0 0 25 23",
focusable: "false",
"aria-hidden": "true",
style: {
display: state === 'initial' ? 'initial' : 'none'
}
}, /*#__PURE__*/React.createElement("path", {
d: "M24.516 9.953C24.516 4.453 19.04 0 12.258 0 5.476 0 0 4.452 0 9.953c0 3.318 1.986 6.24 5.05 8.053-.34 2.552-1.815 4.055-1.844 4.084-.14.14-.17.368-.113.567a.524.524 0 0 0 .482.312c2.95 0 5.335-1.93 6.612-3.206.652.086 1.362.142 2.07.142 6.783 0 12.26-4.452 12.26-9.953z",
fill: "rgb(255, 255, 255)",
fillRule: "evenodd"
})) : icon === 'C' ? /*#__PURE__*/React.createElement("svg", {
width: "25",
height: "25",
viewBox: "0 0 25 25",
focusable: "false",
"aria-hidden": "true",
style: {
display: state === 'initial' ? 'initial' : 'none'
}
}, /*#__PURE__*/React.createElement("path", {
d: "M22.814 12.25h-1.362v3.063a1.02 1.02 0 0 1-1.744.72L15.92 12.25H11.92c-.94 0-1.703-.785-1.703-1.75V1.75c0-.965.764-1.75 1.703-1.75h10.896c.938 0 1.702.785 1.702 1.75v8.75c0 .965-.764 1.75-1.702 1.75zm-.34-10.208H12.257v8.166h4.086a1.032 1.032 0 0 1 .723.3l2.342 2.34v-1.62c0-.562.456-1.02 1.02-1.02h2.043V2.042zM8.17 10.208h-6.13v8.167h2.044c.564 0 1.022.457 1.022 1.02v1.62l2.34-2.34a1.022 1.022 0 0 1 .724-.3h4.086V14.29a1.02 1.02 0 0 1 2.043 0v4.377c0 .965-.763 1.75-1.702 1.75H8.595L4.808 24.2a1.022 1.022 0 0 1-1.743-.72v-3.063H1.702c-.938 0-1.702-.785-1.702-1.75v-8.75c0-.965.764-1.75 1.702-1.75h6.47a1.022 1.022 0 0 1 0 2.04z",
fill: "rgb(255, 255, 255)",
fillRule: "evenodd"
})) : icon === 'D' ? /*#__PURE__*/React.createElement("svg", {
width: "25",
height: "25",
viewBox: "0 0 25 25",
focusable: "false",
"aria-hidden": "true",
style: {
display: state === 'initial' ? 'initial' : 'none'
}
}, /*#__PURE__*/React.createElement("path", {
d: "M23.295 24.412a.987.987 0 0 1-1.123-.43L19.9 20.358H9.527c-1.392 0-2.523-1.153-2.523-2.57V16.3c0-.563.448-1.02 1-1.02.553 0 1 .457 1 1.02v1.485c0 .295.235.533.523.533h10.92c.036 0 .067.018.103.022a.96.96 0 0 1 .527.224.984.984 0 0 1 .14.15c.023.026.054.043.073.075l.725 1.154V9.7a.528.528 0 0 0-.523-.532h-1.48c-.55 0-1-.457-1-1.02 0-.56.45-1.018 1-1.018h1.48c1.392 0 2.524 1.152 2.524 2.57V23.433c0 .452-.293.85-.72.978zM14.49 13.226H4.116L1.844 16.85a.997.997 0 0 1-1.124.43 1.017 1.017 0 0 1-.72-.978V2.57C0 1.152 1.132 0 2.523 0H14.49c1.39 0 2.52 1.152 2.52 2.57v8.085c0 1.418-1.13 2.57-2.52 2.57zm.52-10.656a.528.528 0 0 0-.52-.532H2.522c-.288 0-.522.24-.522.532v10.242l.726-1.153c.02-.032.05-.05.07-.076a.897.897 0 0 1 .296-.256.92.92 0 0 1 .372-.118c.037-.004.068-.022.104-.022h10.92c.288 0 .522-.238.522-.533V2.57z",
fill: "rgb(255, 255, 255)",
fillRule: "evenodd"
})) : null, /*#__PURE__*/React.createElement("svg", {
width: "17",
height: "17",
viewBox: "0 0 17 17",
focusable: "false",
"aria-hidden": "true",
style: {
display: state === 'initial' ? 'none' : 'initial'
}
}, /*#__PURE__*/React.createElement("path", {
d: "M16.726 15.402c.365.366.365.96 0 1.324-.178.178-.416.274-.663.274-.246 0-.484-.096-.663-.274L8.323 9.648h.353L1.6 16.726c-.177.178-.416.274-.663.274-.246 0-.484-.096-.663-.274-.365-.365-.365-.958 0-1.324L7.35 8.324v.35L.275 1.6C-.09 1.233-.09.64.274.274c.367-.365.96-.365 1.326 0l7.076 7.078h-.353L15.4.274c.366-.365.96-.365 1.326 0 .365.366.365.958 0 1.324L9.65 8.675v-.35l7.076 7.077z",
fill: "rgb(255, 255, 255)",
fillRule: "evenodd"
}))))));
};
export default Drift;
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJSZWFjdCIsInVzZVN0YXRlIiwidXNlRWZmZWN0IiwidXNlQ2hhdCIsInVzZVdpbmRvd1dpZHRoIiwiQ2xhc3NOYW1lcyIsInN0eWxlcyIsImNvbnRhaW5lciIsIldlYmtpdEZvbnRTbW9vdGhpbmciLCJmb250U2l6ZSIsImRpc3BsYXkiLCJhbGlnbkl0ZW1zIiwicGFkZGluZyIsImZsZXhEaXJlY3Rpb24iLCJidXR0b24iLCJ0ZXh0QWxpZ24iLCJqdXN0aWZ5Q29udGVudCIsImZpbGwiLCJjdXJzb3IiLCJoZWlnaHQiLCJ3aWR0aCIsImJvcmRlclJhZGl1cyIsImJveFNoYWRvdyIsIm92ZXJmbG93Iiwib3V0bGluZSIsImJvcmRlciIsImljb25XcmFwcGVyIiwic3Ryb2tlIiwibGluZUhlaWdodCIsIkRyaWZ0IiwiX3JlZiIsIl9yZWYkY29sb3IiLCJjb2xvciIsIl9yZWYkaWNvbiIsImljb24iLCJfcmVmJGNvbnRhaW5lckNsYXNzIiwiY29udGFpbmVyQ2xhc3MiLCJfdXNlQ2hhdCIsImxvYWRXaGVuSWRsZSIsIl91c2VDaGF0MiIsIl9zbGljZWRUb0FycmF5Iiwic3RhdGUiLCJsb2FkQ2hhdCIsIndpbmRvd1dpZHRoIiwiX3VzZVN0YXRlIiwiekluZGV4IiwicG9zaXRpb24iLCJfdXNlU3RhdGUyIiwicG9zaXRpb25TdHlsZXMiLCJzZXRQb3NpdGlvblN0eWxlcyIsIl9vYmplY3RTcHJlYWQiLCJib3R0b20iLCJyaWdodCIsImNyZWF0ZUVsZW1lbnQiLCJjbGFzc05hbWUiLCJzdHlsZSIsInJvbGUiLCJvbkNsaWNrIiwib3BlbiIsIm9uTW91c2VFbnRlciIsImJhY2tncm91bmRDb2xvciIsIm9wYWNpdHkiLCJ2aWV3Qm94IiwiZm9jdXNhYmxlIiwiZCIsImZpbGxSdWxlIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvRHJpZnQvaW5kZXgudHN4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBSZWFjdCwgeyB1c2VTdGF0ZSwgdXNlRWZmZWN0LCBDU1NQcm9wZXJ0aWVzIH0gZnJvbSAncmVhY3QnXG5cbmltcG9ydCB1c2VDaGF0IGZyb20gJy4uLy4uL2hvb2tzL3VzZUNoYXQnXG5pbXBvcnQgdXNlV2luZG93V2lkdGggZnJvbSAnLi4vLi4vaG9va3MvdXNlV2luZG93V2lkdGgnXG5pbXBvcnQgeyBQcm92aWRlclByb3BzLCBDbGFzc05hbWVzIH0gZnJvbSAnLi4vLi4vdHlwZXMnXG5cbmNvbnN0IHN0eWxlczoge1xuICBjb250YWluZXI6IENTU1Byb3BlcnRpZXNcbiAgYnV0dG9uOiBDU1NQcm9wZXJ0aWVzXG4gIGljb25XcmFwcGVyOiBDU1NQcm9wZXJ0aWVzXG59ID0ge1xuICBjb250YWluZXI6IHtcbiAgICBXZWJraXRGb250U21vb3RoaW5nOiAnYW50aWFsaWFzZWQnLFxuICAgIGZvbnRTaXplOiAxNixcbiAgICBkaXNwbGF5OiAnZmxleCcsXG4gICAgYWxpZ25JdGVtczogJ2ZsZXgtZW5kJyxcbiAgICBwYWRkaW5nOiAnMTJweCcsXG4gICAgZmxleERpcmVjdGlvbjogJ2NvbHVtbidcbiAgfSxcbiAgYnV0dG9uOiB7XG4gICAgdGV4dEFsaWduOiAnY2VudGVyJyxcbiAgICBkaXNwbGF5OiAnZmxleCcsXG4gICAganVzdGlmeUNvbnRlbnQ6ICdjZW50ZXInLFxuICAgIGFsaWduSXRlbXM6ICdjZW50ZXInLFxuICAgIGZpbGw6ICcjZmZmJyxcbiAgICBjdXJzb3I6ICdwb2ludGVyJyxcbiAgICBoZWlnaHQ6ICc1NnB4JyxcbiAgICB3aWR0aDogJzU2cHgnLFxuICAgIGJvcmRlclJhZGl1czogJy4zMTI1cmVtJyxcbiAgICBib3hTaGFkb3c6ICcwIDJweCA2cHggMCByZ2JhKDAsMCwwLC40KScsXG4gICAgb3ZlcmZsb3c6ICdoaWRkZW4nLFxuICAgIG91dGxpbmU6ICdub25lJyxcbiAgICBib3JkZXI6ICdub25lJ1xuICB9LFxuICBpY29uV3JhcHBlcjoge1xuICAgIGZpbGw6ICdpbmhlcml0JyxcbiAgICBzdHJva2U6ICdpbmhlcml0JyxcbiAgICB3aWR0aDogJzEwMCUnLFxuICAgIHBhZGRpbmc6IDAsXG4gICAgbGluZUhlaWdodDogMFxuICB9XG59XG5cbmludGVyZmFjZSBQcm9wcyBleHRlbmRzIFByb3ZpZGVyUHJvcHMge1xuICBjb2xvcj86IHN0cmluZ1xuICBpY29uPzogJ0EnIHwgJ0InIHwgJ0MnIHwgJ0QnXG59XG5cbmNvbnN0IERyaWZ0ID0gKHtcbiAgY29sb3IgPSAnIzAxNzZmZicsXG4gIGljb24gPSAnQScsXG4gIGNvbnRhaW5lckNsYXNzID0gQ2xhc3NOYW1lcy5jb250YWluZXJcbn06IFByb3BzKTogSlNYLkVsZW1lbnQgfCBudWxsID0+IHtcbiAgY29uc3QgW3N0YXRlLCBsb2FkQ2hhdF0gPSB1c2VDaGF0KHsgbG9hZFdoZW5JZGxlOiB0cnVlIH0pXG4gIGNvbnN0IHdpbmRvd1dpZHRoID0gdXNlV2luZG93V2lkdGgoKVxuICBjb25zdCBbcG9zaXRpb25TdHlsZXMsIHNldFBvc2l0aW9uU3R5bGVzXSA9IHVzZVN0YXRlPENTU1Byb3BlcnRpZXM+KHtcbiAgICB6SW5kZXg6IDIxNDc0ODM2NDgsXG4gICAgcG9zaXRpb246ICdmaXhlZCcsXG4gICAgZGlzcGxheTogJ2Jsb2NrJ1xuICB9KVxuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgc2V0UG9zaXRpb25TdHlsZXMoc3RhdGUgPT4gKHtcbiAgICAgIC4uLnN0YXRlLFxuICAgICAgYm90dG9tOiB3aW5kb3dXaWR0aCA8IDc2OCA/IDAgOiAnMjRweCcsXG4gICAgICByaWdodDogd2luZG93V2lkdGggPCA3NjggPyAwIDogJzI0cHgnXG4gICAgfSkpXG4gIH0sIFt3aW5kb3dXaWR0aF0pXG5cbiAgaWYgKHN0YXRlID09PSAnY29tcGxldGUnKSB7XG4gICAgcmV0dXJuIG51bGxcbiAgfVxuXG4gIHJldHVybiAoXG4gICAgPGRpdiBjbGFzc05hbWU9e2NvbnRhaW5lckNsYXNzfSBzdHlsZT17cG9zaXRpb25TdHlsZXN9PlxuICAgICAgPGRpdiBzdHlsZT17c3R5bGVzLmNvbnRhaW5lcn0+XG4gICAgICAgIDxkaXZcbiAgICAgICAgICByb2xlPVwiYnV0dG9uXCJcbiAgICAgICAgICBhcmlhLWxhYmVsPVwiTG9hZCBDaGF0XCJcbiAgICAgICAgICBhcmlhLWJ1c3k9XCJ0cnVlXCJcbiAgICAgICAgICBhcmlhLWxpdmU9XCJwb2xpdGVcIlxuICAgICAgICAgIG9uQ2xpY2s9eygpID0+IGxvYWRDaGF0KHsgb3BlbjogdHJ1ZSB9KX1cbiAgICAgICAgICBvbk1vdXNlRW50ZXI9eygpID0+IGxvYWRDaGF0KHsgb3BlbjogZmFsc2UgfSl9XG4gICAgICAgICAgc3R5bGU9e3tcbiAgICAgICAgICAgIGJhY2tncm91bmRDb2xvcjogY29sb3IsXG4gICAgICAgICAgICAuLi5zdHlsZXMuYnV0dG9uXG4gICAgICAgICAgfX1cbiAgICAgICAgPlxuICAgICAgICAgIDxpXG4gICAgICAgICAgICBzdHlsZT17e1xuICAgICAgICAgICAgICAuLi5zdHlsZXMuaWNvbldyYXBwZXIsXG4gICAgICAgICAgICAgIG9wYWNpdHk6IHN0YXRlID09PSAnaW5pdGlhbCcgPyAxIDogMC43NVxuICAgICAgICAgICAgfX1cbiAgICAgICAgICA+XG4gICAgICAgICAgICB7aWNvbiA9PT0gJ0EnID8gKFxuICAgICAgICAgICAgICA8c3ZnXG4gICAgICAgICAgICAgICAgd2lkdGg9XCIyNFwiXG4gICAgICAgICAgICAgICAgaGVpZ2h0PVwiMjRcIlxuICAgICAgICAgICAgICAgIHZpZXdCb3g9XCIwIDAgMjAgMjBcIlxuICAgICAgICAgICAgICAgIGZvY3VzYWJsZT1cImZhbHNlXCJcbiAgICAgICAgICAgICAgICBhcmlhLWhpZGRlbj1cInRydWVcIlxuICAgICAgICAgICAgICAgIHN0eWxlPXt7XG4gICAgICAgICAgICAgICAgICBkaXNwbGF5OiBzdGF0ZSA9PT0gJ2luaXRpYWwnID8gJ2luaXRpYWwnIDogJ25vbmUnXG4gICAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIDxwYXRoXG4gICAgICAgICAgICAgICAgICBmaWxsPVwiI0ZGRkZGRlwiXG4gICAgICAgICAgICAgICAgICBkPVwiTTQuNTgzIDE0Ljg5NGwtMy4yNTYgMy43OGMtLjcuODEzLTEuMjYuNTk4LTEuMjUtLjQ2YTEwNjg5LjQxMyAxMDY4OS40MTMgMCAwIDEgLjAzNS00Ljc3NVY0LjgxNmEzLjg5IDMuODkgMCAwIDEgMy44OC0zLjg5aDEyLjA2NGEzLjg4NSAzLjg4NSAwIDAgMSAzLjg4MiAzLjg5djYuMTg1YTMuODkgMy44OSAwIDAgMS0zLjg4MiAzLjg5SDQuNTgzelwiXG4gICAgICAgICAgICAgICAgPjwvcGF0aD5cbiAgICAgICAgICAgICAgPC9zdmc+XG4gICAgICAgICAgICApIDogaWNvbiA9PT0gJ0InID8gKFxuICAgICAgICAgICAgICA8c3ZnXG4gICAgICAgICAgICAgICAgd2lkdGg9XCIyNVwiXG4gICAgICAgICAgICAgICAgaGVpZ2h0PVwiMjNcIlxuICAgICAgICAgICAgICAgIHZpZXdCb3g9XCIwIDAgMjUgMjNcIlxuICAgICAgICAgICAgICAgIGZvY3VzYWJsZT1cImZhbHNlXCJcbiAgICAgICAgICAgICAgICBhcmlhLWhpZGRlbj1cInRydWVcIlxuICAgICAgICAgICAgICAgIHN0eWxlPXt7XG4gICAgICAgICAgICAgICAgICBkaXNwbGF5OiBzdGF0ZSA9PT0gJ2luaXRpYWwnID8gJ2luaXRpYWwnIDogJ25vbmUnXG4gICAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIDxwYXRoXG4gICAgICAgICAgICAgICAgICBkPVwiTTI0LjUxNiA5Ljk1M0MyNC41MTYgNC40NTMgMTkuMDQgMCAxMi4yNTggMCA1LjQ3NiAwIDAgNC40NTIgMCA5Ljk1M2MwIDMuMzE4IDEuOTg2IDYuMjQgNS4wNSA4LjA1My0uMzQgMi41NTItMS44MTUgNC4wNTUtMS44NDQgNC4wODQtLjE0LjE0LS4xNy4zNjgtLjExMy41NjdhLjUyNC41MjQgMCAwIDAgLjQ4Mi4zMTJjMi45NSAwIDUuMzM1LTEuOTMgNi42MTItMy4yMDYuNjUyLjA4NiAxLjM2Mi4xNDIgMi4wNy4xNDIgNi43ODMgMCAxMi4yNi00LjQ1MiAxMi4yNi05Ljk1M3pcIlxuICAgICAgICAgICAgICAgICAgZmlsbD1cInJnYigyNTUsIDI1NSwgMjU1KVwiXG4gICAgICAgICAgICAgICAgICBmaWxsUnVsZT1cImV2ZW5vZGRcIlxuICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgIDwvc3ZnPlxuICAgICAgICAgICAgKSA6IGljb24gPT09ICdDJyA/IChcbiAgICAgICAgICAgICAgPHN2Z1xuICAgICAgICAgICAgICAgIHdpZHRoPVwiMjVcIlxuICAgICAgICAgICAgICAgIGhlaWdodD1cIjI1XCJcbiAgICAgICAgICAgICAgICB2aWV3Qm94PVwiMCAwIDI1IDI1XCJcbiAgICAgICAgICAgICAgICBmb2N1c2FibGU9XCJmYWxzZVwiXG4gICAgICAgICAgICAgICAgYXJpYS1oaWRkZW49XCJ0cnVlXCJcbiAgICAgICAgICAgICAgICBzdHlsZT17e1xuICAgICAgICAgICAgICAgICAgZGlzcGxheTogc3RhdGUgPT09ICdpbml0aWFsJyA/ICdpbml0aWFsJyA6ICdub25lJ1xuICAgICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICA8cGF0aFxuICAgICAgICAgICAgICAgICAgZD1cIk0yMi44MTQgMTIuMjVoLTEuMzYydjMuMDYzYTEuMDIgMS4wMiAwIDAgMS0xLjc0NC43MkwxNS45MiAxMi4yNUgxMS45MmMtLjk0IDAtMS43MDMtLjc4NS0xLjcwMy0xLjc1VjEuNzVjMC0uOTY1Ljc2NC0xLjc1IDEuNzAzLTEuNzVoMTAuODk2Yy45MzggMCAxLjcwMi43ODUgMS43MDIgMS43NXY4Ljc1YzAgLjk2NS0uNzY0IDEuNzUtMS43MDIgMS43NXptLS4zNC0xMC4yMDhIMTIuMjU3djguMTY2aDQuMDg2YTEuMDMyIDEuMDMyIDAgMCAxIC43MjMuM2wyLjM0MiAyLjM0di0xLjYyYzAtLjU2Mi40NTYtMS4wMiAxLjAyLTEuMDJoMi4wNDNWMi4wNDJ6TTguMTcgMTAuMjA4aC02LjEzdjguMTY3aDIuMDQ0Yy41NjQgMCAxLjAyMi40NTcgMS4wMjIgMS4wMnYxLjYybDIuMzQtMi4zNGExLjAyMiAxLjAyMiAwIDAgMSAuNzI0LS4zaDQuMDg2VjE0LjI5YTEuMDIgMS4wMiAwIDAgMSAyLjA0MyAwdjQuMzc3YzAgLjk2NS0uNzYzIDEuNzUtMS43MDIgMS43NUg4LjU5NUw0LjgwOCAyNC4yYTEuMDIyIDEuMDIyIDAgMCAxLTEuNzQzLS43MnYtMy4wNjNIMS43MDJjLS45MzggMC0xLjcwMi0uNzg1LTEuNzAyLTEuNzV2LTguNzVjMC0uOTY1Ljc2NC0xLjc1IDEuNzAyLTEuNzVoNi40N2ExLjAyMiAxLjAyMiAwIDAgMSAwIDIuMDR6XCJcbiAgICAgICAgICAgICAgICAgIGZpbGw9XCJyZ2IoMjU1LCAyNTUsIDI1NSlcIlxuICAgICAgICAgICAgICAgICAgZmlsbFJ1bGU9XCJldmVub2RkXCJcbiAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICA8L3N2Zz5cbiAgICAgICAgICAgICkgOiBpY29uID09PSAnRCcgPyAoXG4gICAgICAgICAgICAgIDxzdmdcbiAgICAgICAgICAgICAgICB3aWR0aD1cIjI1XCJcbiAgICAgICAgICAgICAgICBoZWlnaHQ9XCIyNVwiXG4gICAgICAgICAgICAgICAgdmlld0JveD1cIjAgMCAyNSAyNVwiXG4gICAgICAgICAgICAgICAgZm9jdXNhYmxlPVwiZmFsc2VcIlxuICAgICAgICAgICAgICAgIGFyaWEtaGlkZGVuPVwidHJ1ZVwiXG4gICAgICAgICAgICAgICAgc3R5bGU9e3tcbiAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IHN0YXRlID09PSAnaW5pdGlhbCcgPyAnaW5pdGlhbCcgOiAnbm9uZSdcbiAgICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgPHBhdGhcbiAgICAgICAgICAgICAgICAgIGQ9XCJNMjMuMjk1IDI0LjQxMmEuOTg3Ljk4NyAwIDAgMS0xLjEyMy0uNDNMMTkuOSAyMC4zNThIOS41MjdjLTEuMzkyIDAtMi41MjMtMS4xNTMtMi41MjMtMi41N1YxNi4zYzAtLjU2My40NDgtMS4wMiAxLTEuMDIuNTUzIDAgMSAuNDU3IDEgMS4wMnYxLjQ4NWMwIC4yOTUuMjM1LjUzMy41MjMuNTMzaDEwLjkyYy4wMzYgMCAuMDY3LjAxOC4xMDMuMDIyYS45Ni45NiAwIDAgMSAuNTI3LjIyNC45ODQuOTg0IDAgMCAxIC4xNC4xNWMuMDIzLjAyNi4wNTQuMDQzLjA3My4wNzVsLjcyNSAxLjE1NFY5LjdhLjUyOC41MjggMCAwIDAtLjUyMy0uNTMyaC0xLjQ4Yy0uNTUgMC0xLS40NTctMS0xLjAyIDAtLjU2LjQ1LTEuMDE4IDEtMS4wMThoMS40OGMxLjM5MiAwIDIuNTI0IDEuMTUyIDIuNTI0IDIuNTdWMjMuNDMzYzAgLjQ1Mi0uMjkzLjg1LS43Mi45Nzh6TTE0LjQ5IDEzLjIyNkg0LjExNkwxLjg0NCAxNi44NWEuOTk3Ljk5NyAwIDAgMS0xLjEyNC40MyAxLjAxNyAxLjAxNyAwIDAgMS0uNzItLjk3OFYyLjU3QzAgMS4xNTIgMS4xMzIgMCAyLjUyMyAwSDE0LjQ5YzEuMzkgMCAyLjUyIDEuMTUyIDIuNTIgMi41N3Y4LjA4NWMwIDEuNDE4LTEuMTMgMi41Ny0yLjUyIDIuNTd6bS41Mi0xMC42NTZhLjUyOC41MjggMCAwIDAtLjUyLS41MzJIMi41MjJjLS4yODggMC0uNTIyLjI0LS41MjIuNTMydjEwLjI0MmwuNzI2LTEuMTUzYy4wMi0uMDMyLjA1LS4wNS4wNy0uMDc2YS44OTcuODk3IDAgMCAxIC4yOTYtLjI1Ni45Mi45MiAwIDAgMSAuMzcyLS4xMThjLjAzNy0uMDA0LjA2OC0uMDIyLjEwNC0uMDIyaDEwLjkyYy4yODggMCAuNTIyLS4yMzguNTIyLS41MzNWMi41N3pcIlxuICAgICAgICAgICAgICAgICAgZmlsbD1cInJnYigyNTUsIDI1NSwgMjU1KVwiXG4gICAgICAgICAgICAgICAgICBmaWxsUnVsZT1cImV2ZW5vZGRcIlxuICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgIDwvc3ZnPlxuICAgICAgICAgICAgKSA6IG51bGx9XG5cbiAgICAgICAgICAgIDxzdmdcbiAgICAgICAgICAgICAgd2lkdGg9XCIxN1wiXG4gICAgICAgICAgICAgIGhlaWdodD1cIjE3XCJcbiAgICAgICAgICAgICAgdmlld0JveD1cIjAgMCAxNyAxN1wiXG4gICAgICAgICAgICAgIGZvY3VzYWJsZT1cImZhbHNlXCJcbiAgICAgICAgICAgICAgYXJpYS1oaWRkZW49XCJ0cnVlXCJcbiAgICAgICAgICAgICAgc3R5bGU9e3tcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBzdGF0ZSA9PT0gJ2luaXRpYWwnID8gJ25vbmUnIDogJ2luaXRpYWwnXG4gICAgICAgICAgICAgIH19XG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIDxwYXRoXG4gICAgICAgICAgICAgICAgZD1cIk0xNi43MjYgMTUuNDAyYy4zNjUuMzY2LjM2NS45NiAwIDEuMzI0LS4xNzguMTc4LS40MTYuMjc0LS42NjMuMjc0LS4yNDYgMC0uNDg0LS4wOTYtLjY2My0uMjc0TDguMzIzIDkuNjQ4aC4zNTNMMS42IDE2LjcyNmMtLjE3Ny4xNzgtLjQxNi4yNzQtLjY2My4yNzQtLjI0NiAwLS40ODQtLjA5Ni0uNjYzLS4yNzQtLjM2NS0uMzY1LS4zNjUtLjk1OCAwLTEuMzI0TDcuMzUgOC4zMjR2LjM1TC4yNzUgMS42Qy0uMDkgMS4yMzMtLjA5LjY0LjI3NC4yNzRjLjM2Ny0uMzY1Ljk2LS4zNjUgMS4zMjYgMGw3LjA3NiA3LjA3OGgtLjM1M0wxNS40LjI3NGMuMzY2LS4zNjUuOTYtLjM2NSAxLjMyNiAwIC4zNjUuMzY2LjM2NS45NTggMCAxLjMyNEw5LjY1IDguNjc1di0uMzVsNy4wNzYgNy4wNzd6XCJcbiAgICAgICAgICAgICAgICBmaWxsPVwicmdiKDI1NSwgMjU1LCAyNTUpXCJcbiAgICAgICAgICAgICAgICBmaWxsUnVsZT1cImV2ZW5vZGRcIlxuICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgPC9zdmc+XG4gICAgICAgICAgPC9pPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICApXG59XG5cbmV4cG9ydCBkZWZhdWx0IERyaWZ0XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7OztBQUFBLE9BQU9BLEtBQUssSUFBSUMsUUFBUSxFQUFFQyxTQUFTLFFBQXVCLE9BQU87QUFFakUsT0FBT0MsT0FBTztBQUNkLE9BQU9DLGNBQWM7QUFDckIsU0FBd0JDLFVBQVU7QUFFbEMsSUFBTUMsTUFJTCxHQUFHO0VBQ0ZDLFNBQVMsRUFBRTtJQUNUQyxtQkFBbUIsRUFBRSxhQUFhO0lBQ2xDQyxRQUFRLEVBQUUsRUFBRTtJQUNaQyxPQUFPLEVBQUUsTUFBTTtJQUNmQyxVQUFVLEVBQUUsVUFBVTtJQUN0QkMsT0FBTyxFQUFFLE1BQU07SUFDZkMsYUFBYSxFQUFFO0VBQ2pCLENBQUM7RUFDREMsTUFBTSxFQUFFO0lBQ05DLFNBQVMsRUFBRSxRQUFRO0lBQ25CTCxPQUFPLEVBQUUsTUFBTTtJQUNmTSxjQUFjLEVBQUUsUUFBUTtJQUN4QkwsVUFBVSxFQUFFLFFBQVE7SUFDcEJNLElBQUksRUFBRSxNQUFNO0lBQ1pDLE1BQU0sRUFBRSxTQUFTO0lBQ2pCQyxNQUFNLEVBQUUsTUFBTTtJQUNkQyxLQUFLLEVBQUUsTUFBTTtJQUNiQyxZQUFZLEVBQUUsVUFBVTtJQUN4QkMsU0FBUyxFQUFFLDRCQUE0QjtJQUN2Q0MsUUFBUSxFQUFFLFFBQVE7SUFDbEJDLE9BQU8sRUFBRSxNQUFNO0lBQ2ZDLE1BQU0sRUFBRTtFQUNWLENBQUM7RUFDREMsV0FBVyxFQUFFO0lBQ1hULElBQUksRUFBRSxTQUFTO0lBQ2ZVLE1BQU0sRUFBRSxTQUFTO0lBQ2pCUCxLQUFLLEVBQUUsTUFBTTtJQUNiUixPQUFPLEVBQUUsQ0FBQztJQUNWZ0IsVUFBVSxFQUFFO0VBQ2Q7QUFDRixDQUFDO0FBT0QsSUFBTUMsS0FBSyxHQUFHLFNBQVJB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