Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

@squiz/chat-ui

Package Overview
Dependencies
Maintainers
0
Versions
19
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@squiz/chat-ui - npm Package Compare versions

Comparing version 1.2.2 to 1.3.0

6

CHANGELOG.md
# @squiz/chat-ui
## 1.3.0
### Minor Changes
- 9c4fb8e: Change chat handling in different circumstances
## 1.2.2

@@ -4,0 +10,0 @@

2

dist/ChatUI.d.ts
import React from 'react';
import { DxpAiService } from '@squiz/dxp-ai-client';
import { ConversationItem } from './types';
export type ChatUIProps = {

@@ -19,2 +20,3 @@ aiId: string;

export declare const ChatUI: (props: ChatUIProps) => React.JSX.Element;
export declare const isNewChatBreak: (item: ConversationItem) => boolean;
export declare const ChatUIInner: (props: ChatUIProps) => React.JSX.Element;

15

dist/ChatUI.js

@@ -26,3 +26,3 @@ "use strict";

Object.defineProperty(exports, "__esModule", { value: true });
exports.ChatUIInner = exports.ChatUI = void 0;
exports.ChatUIInner = exports.isNewChatBreak = exports.ChatUI = void 0;
const react_1 = __importStar(require("react"));

@@ -40,5 +40,12 @@ const ChatContext_1 = require("./context/ChatContext");

exports.ChatUI = ChatUI;
const isControlMessage = (item) => {
return item.type !== undefined;
};
const isNewChatBreak = (item) => {
return isControlMessage(item) && item.type === `newChatBreak`;
};
exports.isNewChatBreak = isNewChatBreak;
const ChatUIInner = (props) => {
const { fullscreen = false, title, titleId, iconSrc, greeting, inputRef, maxMessageLength = ChatUI_constants_1.CHAT_INPUT_LIMITS.maxMessageLength, showNumCharactersTypedLength = ChatUI_constants_1.CHAT_INPUT_LIMITS.showNumCharactersTypedLength, } = props;
const { rating, isProcessingRating, isWaitingResponse, conversation, onSend, onNewChatRequest, onNewChatConfirm, onRateChat, } = (0, react_1.useContext)(ChatContext_1.ChatContext);
const { rating, isProcessingRating, isWaitingResponse, isWaitingUserInput, conversation, onSend, onNewChatRequest, onNewChatConfirm, onRateChat, } = (0, react_1.useContext)(ChatContext_1.ChatContext);
return (react_1.default.createElement("div", { className: `squizChatUI ${fullscreen ? 'squizChatUI--fullScreen' : ''} ${conversation.length > 1 ? '' : 'squizChatUI--noMessages'}` },

@@ -48,5 +55,5 @@ react_1.default.createElement(ChatHeader_1.ChatHeader, { title: title, titleId: titleId, iconSrc: iconSrc }),

react_1.default.createElement(ChatInput_1.ChatInput, { ref: inputRef, isWaitingResponse: isWaitingResponse, onSend: onSend, maxMessageLength: maxMessageLength, showNumCharactersTypedLength: showNumCharactersTypedLength }),
react_1.default.createElement(ChatFooter_1.ChatFooter, { rating: rating, isProcessingRating: isProcessingRating, onNewChat: onNewChatRequest, onRateChat: onRateChat })));
react_1.default.createElement(ChatFooter_1.ChatFooter, { isNewChat: conversation.length <= 1 || (0, exports.isNewChatBreak)(conversation[conversation.length - 2]), rating: rating, isProcessingRating: isProcessingRating, isWaitingResponse: isWaitingResponse, isWaitingUserInput: isWaitingUserInput, onNewChat: onNewChatRequest, onRateChat: onRateChat })));
};
exports.ChatUIInner = ChatUIInner;
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ2hhdFVJLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL0NoYXRVSS50c3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSwrQ0FBMEM7QUFHMUMsdURBQXlFO0FBQ3pFLG1FQUFnRTtBQUNoRSxxRkFBa0Y7QUFDbEYsZ0VBQTZEO0FBQzdELG1FQUFnRTtBQUNoRSx5REFBdUQ7QUFrQmhELE1BQU0sTUFBTSxHQUFHLENBQUMsS0FBa0IsRUFBRSxFQUFFO0lBQzNDLE9BQU8sQ0FDTCw4QkFBQyxpQ0FBbUIsSUFDbEIsSUFBSSxFQUFFLEtBQUssQ0FBQyxJQUFJLEVBQ2hCLFFBQVEsRUFBRSxLQUFLLENBQUMsUUFBUSxFQUN4QixTQUFTLEVBQUUsS0FBSyxDQUFDLFNBQVMsRUFDMUIsU0FBUyxFQUFFLEtBQUssQ0FBQyxTQUFTLEVBQzFCLFFBQVEsRUFBRSxLQUFLLENBQUMsUUFBUSxFQUN4QixhQUFhLEVBQUUsS0FBSyxDQUFDLGFBQWE7UUFFbEMsOEJBQUMsbUJBQVcsT0FBSyxLQUFLLEdBQUksQ0FDTixDQUN2QixDQUFDO0FBQ0osQ0FBQyxDQUFDO0FBYlcsUUFBQSxNQUFNLFVBYWpCO0FBRUssTUFBTSxXQUFXLEdBQUcsQ0FBQyxLQUFrQixFQUFFLEVBQUU7SUFDaEQsTUFBTSxFQUNKLFVBQVUsR0FBRyxLQUFLLEVBQ2xCLEtBQUssRUFDTCxPQUFPLEVBQ1AsT0FBTyxFQUNQLFFBQVEsRUFDUixRQUFRLEVBQ1IsZ0JBQWdCLEdBQUcsb0NBQWlCLENBQUMsZ0JBQWdCLEVBQ3JELDRCQUE0QixHQUFHLG9DQUFpQixDQUFDLDRCQUE0QixHQUM5RSxHQUFHLEtBQUssQ0FBQztJQUNWLE1BQU0sRUFDSixNQUFNLEVBQ04sa0JBQWtCLEVBQ2xCLGlCQUFpQixFQUNqQixZQUFZLEVBQ1osTUFBTSxFQUNOLGdCQUFnQixFQUNoQixnQkFBZ0IsRUFDaEIsVUFBVSxHQUNYLEdBQUcsSUFBQSxrQkFBVSxFQUFDLHlCQUFXLENBQUMsQ0FBQztJQUU1QixPQUFPLENBQ0wsdUNBQ0UsU0FBUyxFQUFFLGVBQWUsVUFBVSxDQUFDLENBQUMsQ0FBQyx5QkFBeUIsQ0FBQyxDQUFDLENBQUMsRUFBRSxJQUFJLFlBQVksQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLHlCQUF5QixFQUFFO1FBRW5JLDhCQUFDLHVCQUFVLElBQUMsS0FBSyxFQUFFLEtBQUssRUFBRSxPQUFPLEVBQUUsT0FBTyxFQUFFLE9BQU8sRUFBRSxPQUFPLEdBQUk7UUFDaEUsOEJBQUMsbUNBQWdCLElBQ2YsWUFBWSxFQUFFLFlBQVksRUFDMUIsaUJBQWlCLEVBQUUsaUJBQWlCLEVBQ3BDLFlBQVksRUFBRSxVQUFVLEVBQ3hCLHlCQUF5QixFQUFFLE9BQU8sRUFDbEMsa0JBQWtCLEVBQUUsUUFBUSxFQUM1QixnQkFBZ0IsRUFBRSxnQkFBZ0IsR0FDbEM7UUFDRiw4QkFBQyxxQkFBUyxJQUNSLEdBQUcsRUFBRSxRQUFRLEVBQ2IsaUJBQWlCLEVBQUUsaUJBQWlCLEVBQ3BDLE1BQU0sRUFBRSxNQUFNLEVBQ2QsZ0JBQWdCLEVBQUUsZ0JBQWdCLEVBQ2xDLDRCQUE0QixFQUFFLDRCQUE0QixHQUMxRDtRQUNGLDhCQUFDLHVCQUFVLElBQ1QsTUFBTSxFQUFFLE1BQU0sRUFDZCxrQkFBa0IsRUFBRSxrQkFBa0IsRUFDdEMsU0FBUyxFQUFFLGdCQUFnQixFQUMzQixVQUFVLEVBQUUsVUFBVSxHQUN0QixDQUNFLENBQ1AsQ0FBQztBQUNKLENBQUMsQ0FBQztBQWxEVyxRQUFBLFdBQVcsZUFrRHRCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0LCB7IHVzZUNvbnRleHQgfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgeyBEeHBBaVNlcnZpY2UgfSBmcm9tICdAc3F1aXovZHhwLWFpLWNsaWVudCc7XG5cbmltcG9ydCB7IENoYXRDb250ZXh0UHJvdmlkZXIsIENoYXRDb250ZXh0IH0gZnJvbSAnLi9jb250ZXh0L0NoYXRDb250ZXh0JztcbmltcG9ydCB7IENoYXRIZWFkZXIgfSBmcm9tICcuL2NvbXBvbmVudHMvQ2hhdEhlYWRlci9DaGF0SGVhZGVyJztcbmltcG9ydCB7IENoYXRDb252ZXJzYXRpb24gfSBmcm9tICcuL2NvbXBvbmVudHMvQ2hhdENvbnZlcnNhdGlvbi9DaGF0Q29udmVyc2F0aW9uJztcbmltcG9ydCB7IENoYXRJbnB1dCB9IGZyb20gJy4vY29tcG9uZW50cy9DaGF0SW5wdXQvQ2hhdElucHV0JztcbmltcG9ydCB7IENoYXRGb290ZXIgfSBmcm9tICcuL2NvbXBvbmVudHMvQ2hhdEZvb3Rlci9DaGF0Rm9vdGVyJztcbmltcG9ydCB7IENIQVRfSU5QVVRfTElNSVRTIH0gZnJvbSAnLi9DaGF0VUkuY29uc3RhbnRzJztcblxuZXhwb3J0IHR5cGUgQ2hhdFVJUHJvcHMgPSB7XG4gIGFpSWQ6IHN0cmluZztcbiAgYWlBcGlVcmw/OiBzdHJpbmc7XG4gIGFpU2VydmljZT86IER4cEFpU2VydmljZTx1bmtub3duPjtcbiAgaXNQcmV2aWV3PzogYm9vbGVhbjtcbiAgZnVsbHNjcmVlbj86IGJvb2xlYW47XG4gIHRpdGxlPzogc3RyaW5nO1xuICB0aXRsZUlkPzogc3RyaW5nOyAvLyBDYW4gcHJvdmlkZSBhIHRpdGxlIGlkIGF0dHJpYnV0ZXMgZm9yIGFyaWEtZGVzY3JpYmVkYnkgaWYgcGxhY2VkIGluIGEgbW9kYWxcbiAgZ3JlZXRpbmc6IHN0cmluZztcbiAgaWNvblNyYz86IHN0cmluZztcbiAgaW5wdXRSZWY/OiBSZWFjdC5Gb3J3YXJkZWRSZWY8SFRNTElucHV0RWxlbWVudD47XG4gIG1heE1lc3NhZ2VMZW5ndGg/OiBudW1iZXI7IC8vIHNob3dzIHJlZCBtZXNzYWdlIGAke21lc3NhZ2VNYXhMZW5ndGggKyAxfS9tZXNzYWdlTWF4TGVuZ3RoYCBkZWZhdWx0IDUwMDtcbiAgcGVyc2lzdFRocmVhZD86IGJvb2xlYW47XG4gIHNob3dOdW1DaGFyYWN0ZXJzVHlwZWRMZW5ndGg/OiBudW1iZXI7IC8vIHNob3cgZ3JleSBtZXNzYWdlIGAke3Nob3dDaGFyYWN0ZXJzVHlwZWRMZW5ndGggKyAxfS9tZXNzYWdlTWF4TGVuZ3RoYCBkZWZhdWx0IDQwMDtcbn07XG5cbmV4cG9ydCBjb25zdCBDaGF0VUkgPSAocHJvcHM6IENoYXRVSVByb3BzKSA9PiB7XG4gIHJldHVybiAoXG4gICAgPENoYXRDb250ZXh0UHJvdmlkZXJcbiAgICAgIGFpSWQ9e3Byb3BzLmFpSWR9XG4gICAgICBhaUFwaVVybD17cHJvcHMuYWlBcGlVcmx9XG4gICAgICBhaVNlcnZpY2U9e3Byb3BzLmFpU2VydmljZX1cbiAgICAgIGlzUHJldmlldz17cHJvcHMuaXNQcmV2aWV3fVxuICAgICAgZ3JlZXRpbmc9e3Byb3BzLmdyZWV0aW5nfVxuICAgICAgcGVyc2lzdFRocmVhZD17cHJvcHMucGVyc2lzdFRocmVhZH1cbiAgICA+XG4gICAgICA8Q2hhdFVJSW5uZXIgey4uLnByb3BzfSAvPlxuICAgIDwvQ2hhdENvbnRleHRQcm92aWRlcj5cbiAgKTtcbn07XG5cbmV4cG9ydCBjb25zdCBDaGF0VUlJbm5lciA9IChwcm9wczogQ2hhdFVJUHJvcHMpID0+IHtcbiAgY29uc3Qge1xuICAgIGZ1bGxzY3JlZW4gPSBmYWxzZSxcbiAgICB0aXRsZSxcbiAgICB0aXRsZUlkLFxuICAgIGljb25TcmMsXG4gICAgZ3JlZXRpbmcsXG4gICAgaW5wdXRSZWYsXG4gICAgbWF4TWVzc2FnZUxlbmd0aCA9IENIQVRfSU5QVVRfTElNSVRTLm1heE1lc3NhZ2VMZW5ndGgsXG4gICAgc2hvd051bUNoYXJhY3RlcnNUeXBlZExlbmd0aCA9IENIQVRfSU5QVVRfTElNSVRTLnNob3dOdW1DaGFyYWN0ZXJzVHlwZWRMZW5ndGgsXG4gIH0gPSBwcm9wcztcbiAgY29uc3Qge1xuICAgIHJhdGluZyxcbiAgICBpc1Byb2Nlc3NpbmdSYXRpbmcsXG4gICAgaXNXYWl0aW5nUmVzcG9uc2UsXG4gICAgY29udmVyc2F0aW9uLFxuICAgIG9uU2VuZCxcbiAgICBvbk5ld0NoYXRSZXF1ZXN0LFxuICAgIG9uTmV3Q2hhdENvbmZpcm0sXG4gICAgb25SYXRlQ2hhdCxcbiAgfSA9IHVzZUNvbnRleHQoQ2hhdENvbnRleHQpO1xuXG4gIHJldHVybiAoXG4gICAgPGRpdlxuICAgICAgY2xhc3NOYW1lPXtgc3F1aXpDaGF0VUkgJHtmdWxsc2NyZWVuID8gJ3NxdWl6Q2hhdFVJLS1mdWxsU2NyZWVuJyA6ICcnfSAke2NvbnZlcnNhdGlvbi5sZW5ndGggPiAxID8gJycgOiAnc3F1aXpDaGF0VUktLW5vTWVzc2FnZXMnfWB9XG4gICAgPlxuICAgICAgPENoYXRIZWFkZXIgdGl0bGU9e3RpdGxlfSB0aXRsZUlkPXt0aXRsZUlkfSBpY29uU3JjPXtpY29uU3JjfSAvPlxuICAgICAgPENoYXRDb252ZXJzYXRpb25cbiAgICAgICAgY29udmVyc2F0aW9uPXtjb252ZXJzYXRpb259XG4gICAgICAgIGlzV2FpdGluZ1Jlc3BvbnNlPXtpc1dhaXRpbmdSZXNwb25zZX1cbiAgICAgICAgaXNGdWxsc2NyZWVuPXtmdWxsc2NyZWVufVxuICAgICAgICBmdWxsU2NyZWVuR3JlZXRpbmdJY29uU3JjPXtpY29uU3JjfVxuICAgICAgICBmdWxsU2NyZWVuR3JlZXRpbmc9e2dyZWV0aW5nfVxuICAgICAgICBvbk5ld0NoYXRDb25maXJtPXtvbk5ld0NoYXRDb25maXJtfVxuICAgICAgLz5cbiAgICAgIDxDaGF0SW5wdXRcbiAgICAgICAgcmVmPXtpbnB1dFJlZn1cbiAgICAgICAgaXNXYWl0aW5nUmVzcG9uc2U9e2lzV2FpdGluZ1Jlc3BvbnNlfVxuICAgICAgICBvblNlbmQ9e29uU2VuZH1cbiAgICAgICAgbWF4TWVzc2FnZUxlbmd0aD17bWF4TWVzc2FnZUxlbmd0aH1cbiAgICAgICAgc2hvd051bUNoYXJhY3RlcnNUeXBlZExlbmd0aD17c2hvd051bUNoYXJhY3RlcnNUeXBlZExlbmd0aH1cbiAgICAgIC8+XG4gICAgICA8Q2hhdEZvb3RlclxuICAgICAgICByYXRpbmc9e3JhdGluZ31cbiAgICAgICAgaXNQcm9jZXNzaW5nUmF0aW5nPXtpc1Byb2Nlc3NpbmdSYXRpbmd9XG4gICAgICAgIG9uTmV3Q2hhdD17b25OZXdDaGF0UmVxdWVzdH1cbiAgICAgICAgb25SYXRlQ2hhdD17b25SYXRlQ2hhdH1cbiAgICAgIC8+XG4gICAgPC9kaXY+XG4gICk7XG59O1xuIl19
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ2hhdFVJLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL0NoYXRVSS50c3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSwrQ0FBMEM7QUFHMUMsdURBQXlFO0FBQ3pFLG1FQUFnRTtBQUNoRSxxRkFBa0Y7QUFDbEYsZ0VBQTZEO0FBQzdELG1FQUFnRTtBQUNoRSx5REFBdUQ7QUFtQmhELE1BQU0sTUFBTSxHQUFHLENBQUMsS0FBa0IsRUFBRSxFQUFFO0lBQzNDLE9BQU8sQ0FDTCw4QkFBQyxpQ0FBbUIsSUFDbEIsSUFBSSxFQUFFLEtBQUssQ0FBQyxJQUFJLEVBQ2hCLFFBQVEsRUFBRSxLQUFLLENBQUMsUUFBUSxFQUN4QixTQUFTLEVBQUUsS0FBSyxDQUFDLFNBQVMsRUFDMUIsU0FBUyxFQUFFLEtBQUssQ0FBQyxTQUFTLEVBQzFCLFFBQVEsRUFBRSxLQUFLLENBQUMsUUFBUSxFQUN4QixhQUFhLEVBQUUsS0FBSyxDQUFDLGFBQWE7UUFFbEMsOEJBQUMsbUJBQVcsT0FBSyxLQUFLLEdBQUksQ0FDTixDQUN2QixDQUFDO0FBQ0osQ0FBQyxDQUFDO0FBYlcsUUFBQSxNQUFNLFVBYWpCO0FBRUYsTUFBTSxnQkFBZ0IsR0FBRyxDQUFDLElBQXNCLEVBQTBCLEVBQUU7SUFDMUUsT0FBUSxJQUF1QixDQUFDLElBQUksS0FBSyxTQUFTLENBQUM7QUFDckQsQ0FBQyxDQUFDO0FBRUssTUFBTSxjQUFjLEdBQUcsQ0FBQyxJQUFzQixFQUFFLEVBQUU7SUFDdkQsT0FBTyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsSUFBSSxJQUFJLENBQUMsSUFBSSxLQUFLLGNBQWMsQ0FBQztBQUNoRSxDQUFDLENBQUM7QUFGVyxRQUFBLGNBQWMsa0JBRXpCO0FBRUssTUFBTSxXQUFXLEdBQUcsQ0FBQyxLQUFrQixFQUFFLEVBQUU7SUFDaEQsTUFBTSxFQUNKLFVBQVUsR0FBRyxLQUFLLEVBQ2xCLEtBQUssRUFDTCxPQUFPLEVBQ1AsT0FBTyxFQUNQLFFBQVEsRUFDUixRQUFRLEVBQ1IsZ0JBQWdCLEdBQUcsb0NBQWlCLENBQUMsZ0JBQWdCLEVBQ3JELDRCQUE0QixHQUFHLG9DQUFpQixDQUFDLDRCQUE0QixHQUM5RSxHQUFHLEtBQUssQ0FBQztJQUNWLE1BQU0sRUFDSixNQUFNLEVBQ04sa0JBQWtCLEVBQ2xCLGlCQUFpQixFQUNqQixrQkFBa0IsRUFDbEIsWUFBWSxFQUNaLE1BQU0sRUFDTixnQkFBZ0IsRUFDaEIsZ0JBQWdCLEVBQ2hCLFVBQVUsR0FDWCxHQUFHLElBQUEsa0JBQVUsRUFBQyx5QkFBVyxDQUFDLENBQUM7SUFFNUIsT0FBTyxDQUNMLHVDQUNFLFNBQVMsRUFBRSxlQUFlLFVBQVUsQ0FBQyxDQUFDLENBQUMseUJBQXlCLENBQUMsQ0FBQyxDQUFDLEVBQUUsSUFBSSxZQUFZLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyx5QkFBeUIsRUFBRTtRQUVuSSw4QkFBQyx1QkFBVSxJQUFDLEtBQUssRUFBRSxLQUFLLEVBQUUsT0FBTyxFQUFFLE9BQU8sRUFBRSxPQUFPLEVBQUUsT0FBTyxHQUFJO1FBQ2hFLDhCQUFDLG1DQUFnQixJQUNmLFlBQVksRUFBRSxZQUFZLEVBQzFCLGlCQUFpQixFQUFFLGlCQUFpQixFQUNwQyxZQUFZLEVBQUUsVUFBVSxFQUN4Qix5QkFBeUIsRUFBRSxPQUFPLEVBQ2xDLGtCQUFrQixFQUFFLFFBQVEsRUFDNUIsZ0JBQWdCLEVBQUUsZ0JBQWdCLEdBQ2xDO1FBQ0YsOEJBQUMscUJBQVMsSUFDUixHQUFHLEVBQUUsUUFBUSxFQUNiLGlCQUFpQixFQUFFLGlCQUFpQixFQUNwQyxNQUFNLEVBQUUsTUFBTSxFQUNkLGdCQUFnQixFQUFFLGdCQUFnQixFQUNsQyw0QkFBNEIsRUFBRSw0QkFBNEIsR0FDMUQ7UUFDRiw4QkFBQyx1QkFBVSxJQUNULFNBQVMsRUFBRSxZQUFZLENBQUMsTUFBTSxJQUFJLENBQUMsSUFBSSxJQUFBLHNCQUFjLEVBQUMsWUFBWSxDQUFDLFlBQVksQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFDNUYsTUFBTSxFQUFFLE1BQU0sRUFDZCxrQkFBa0IsRUFBRSxrQkFBa0IsRUFDdEMsaUJBQWlCLEVBQUUsaUJBQWlCLEVBQ3BDLGtCQUFrQixFQUFFLGtCQUFrQixFQUN0QyxTQUFTLEVBQUUsZ0JBQWdCLEVBQzNCLFVBQVUsRUFBRSxVQUFVLEdBQ3RCLENBQ0UsQ0FDUCxDQUFDO0FBQ0osQ0FBQyxDQUFDO0FBdERXLFFBQUEsV0FBVyxlQXNEdEIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QsIHsgdXNlQ29udGV4dCB9IGZyb20gJ3JlYWN0JztcbmltcG9ydCB7IER4cEFpU2VydmljZSB9IGZyb20gJ0BzcXVpei9keHAtYWktY2xpZW50JztcblxuaW1wb3J0IHsgQ2hhdENvbnRleHRQcm92aWRlciwgQ2hhdENvbnRleHQgfSBmcm9tICcuL2NvbnRleHQvQ2hhdENvbnRleHQnO1xuaW1wb3J0IHsgQ2hhdEhlYWRlciB9IGZyb20gJy4vY29tcG9uZW50cy9DaGF0SGVhZGVyL0NoYXRIZWFkZXInO1xuaW1wb3J0IHsgQ2hhdENvbnZlcnNhdGlvbiB9IGZyb20gJy4vY29tcG9uZW50cy9DaGF0Q29udmVyc2F0aW9uL0NoYXRDb252ZXJzYXRpb24nO1xuaW1wb3J0IHsgQ2hhdElucHV0IH0gZnJvbSAnLi9jb21wb25lbnRzL0NoYXRJbnB1dC9DaGF0SW5wdXQnO1xuaW1wb3J0IHsgQ2hhdEZvb3RlciB9IGZyb20gJy4vY29tcG9uZW50cy9DaGF0Rm9vdGVyL0NoYXRGb290ZXInO1xuaW1wb3J0IHsgQ0hBVF9JTlBVVF9MSU1JVFMgfSBmcm9tICcuL0NoYXRVSS5jb25zdGFudHMnO1xuaW1wb3J0IHsgQ29udHJvbE1lc3NhZ2UsIENvbnZlcnNhdGlvbkl0ZW0gfSBmcm9tICcuL3R5cGVzJztcblxuZXhwb3J0IHR5cGUgQ2hhdFVJUHJvcHMgPSB7XG4gIGFpSWQ6IHN0cmluZztcbiAgYWlBcGlVcmw/OiBzdHJpbmc7XG4gIGFpU2VydmljZT86IER4cEFpU2VydmljZTx1bmtub3duPjtcbiAgaXNQcmV2aWV3PzogYm9vbGVhbjtcbiAgZnVsbHNjcmVlbj86IGJvb2xlYW47XG4gIHRpdGxlPzogc3RyaW5nO1xuICB0aXRsZUlkPzogc3RyaW5nOyAvLyBDYW4gcHJvdmlkZSBhIHRpdGxlIGlkIGF0dHJpYnV0ZXMgZm9yIGFyaWEtZGVzY3JpYmVkYnkgaWYgcGxhY2VkIGluIGEgbW9kYWxcbiAgZ3JlZXRpbmc6IHN0cmluZztcbiAgaWNvblNyYz86IHN0cmluZztcbiAgaW5wdXRSZWY/OiBSZWFjdC5Gb3J3YXJkZWRSZWY8SFRNTElucHV0RWxlbWVudD47XG4gIG1heE1lc3NhZ2VMZW5ndGg/OiBudW1iZXI7IC8vIHNob3dzIHJlZCBtZXNzYWdlIGAke21lc3NhZ2VNYXhMZW5ndGggKyAxfS9tZXNzYWdlTWF4TGVuZ3RoYCBkZWZhdWx0IDUwMDtcbiAgcGVyc2lzdFRocmVhZD86IGJvb2xlYW47XG4gIHNob3dOdW1DaGFyYWN0ZXJzVHlwZWRMZW5ndGg/OiBudW1iZXI7IC8vIHNob3cgZ3JleSBtZXNzYWdlIGAke3Nob3dDaGFyYWN0ZXJzVHlwZWRMZW5ndGggKyAxfS9tZXNzYWdlTWF4TGVuZ3RoYCBkZWZhdWx0IDQwMDtcbn07XG5cbmV4cG9ydCBjb25zdCBDaGF0VUkgPSAocHJvcHM6IENoYXRVSVByb3BzKSA9PiB7XG4gIHJldHVybiAoXG4gICAgPENoYXRDb250ZXh0UHJvdmlkZXJcbiAgICAgIGFpSWQ9e3Byb3BzLmFpSWR9XG4gICAgICBhaUFwaVVybD17cHJvcHMuYWlBcGlVcmx9XG4gICAgICBhaVNlcnZpY2U9e3Byb3BzLmFpU2VydmljZX1cbiAgICAgIGlzUHJldmlldz17cHJvcHMuaXNQcmV2aWV3fVxuICAgICAgZ3JlZXRpbmc9e3Byb3BzLmdyZWV0aW5nfVxuICAgICAgcGVyc2lzdFRocmVhZD17cHJvcHMucGVyc2lzdFRocmVhZH1cbiAgICA+XG4gICAgICA8Q2hhdFVJSW5uZXIgey4uLnByb3BzfSAvPlxuICAgIDwvQ2hhdENvbnRleHRQcm92aWRlcj5cbiAgKTtcbn07XG5cbmNvbnN0IGlzQ29udHJvbE1lc3NhZ2UgPSAoaXRlbTogQ29udmVyc2F0aW9uSXRlbSk6IGl0ZW0gaXMgQ29udHJvbE1lc3NhZ2UgPT4ge1xuICByZXR1cm4gKGl0ZW0gYXMgQ29udHJvbE1lc3NhZ2UpLnR5cGUgIT09IHVuZGVmaW5lZDtcbn07XG5cbmV4cG9ydCBjb25zdCBpc05ld0NoYXRCcmVhayA9IChpdGVtOiBDb252ZXJzYXRpb25JdGVtKSA9PiB7XG4gIHJldHVybiBpc0NvbnRyb2xNZXNzYWdlKGl0ZW0pICYmIGl0ZW0udHlwZSA9PT0gYG5ld0NoYXRCcmVha2A7XG59O1xuXG5leHBvcnQgY29uc3QgQ2hhdFVJSW5uZXIgPSAocHJvcHM6IENoYXRVSVByb3BzKSA9PiB7XG4gIGNvbnN0IHtcbiAgICBmdWxsc2NyZWVuID0gZmFsc2UsXG4gICAgdGl0bGUsXG4gICAgdGl0bGVJZCxcbiAgICBpY29uU3JjLFxuICAgIGdyZWV0aW5nLFxuICAgIGlucHV0UmVmLFxuICAgIG1heE1lc3NhZ2VMZW5ndGggPSBDSEFUX0lOUFVUX0xJTUlUUy5tYXhNZXNzYWdlTGVuZ3RoLFxuICAgIHNob3dOdW1DaGFyYWN0ZXJzVHlwZWRMZW5ndGggPSBDSEFUX0lOUFVUX0xJTUlUUy5zaG93TnVtQ2hhcmFjdGVyc1R5cGVkTGVuZ3RoLFxuICB9ID0gcHJvcHM7XG4gIGNvbnN0IHtcbiAgICByYXRpbmcsXG4gICAgaXNQcm9jZXNzaW5nUmF0aW5nLFxuICAgIGlzV2FpdGluZ1Jlc3BvbnNlLFxuICAgIGlzV2FpdGluZ1VzZXJJbnB1dCxcbiAgICBjb252ZXJzYXRpb24sXG4gICAgb25TZW5kLFxuICAgIG9uTmV3Q2hhdFJlcXVlc3QsXG4gICAgb25OZXdDaGF0Q29uZmlybSxcbiAgICBvblJhdGVDaGF0LFxuICB9ID0gdXNlQ29udGV4dChDaGF0Q29udGV4dCk7XG5cbiAgcmV0dXJuIChcbiAgICA8ZGl2XG4gICAgICBjbGFzc05hbWU9e2BzcXVpekNoYXRVSSAke2Z1bGxzY3JlZW4gPyAnc3F1aXpDaGF0VUktLWZ1bGxTY3JlZW4nIDogJyd9ICR7Y29udmVyc2F0aW9uLmxlbmd0aCA+IDEgPyAnJyA6ICdzcXVpekNoYXRVSS0tbm9NZXNzYWdlcyd9YH1cbiAgICA+XG4gICAgICA8Q2hhdEhlYWRlciB0aXRsZT17dGl0bGV9IHRpdGxlSWQ9e3RpdGxlSWR9IGljb25TcmM9e2ljb25TcmN9IC8+XG4gICAgICA8Q2hhdENvbnZlcnNhdGlvblxuICAgICAgICBjb252ZXJzYXRpb249e2NvbnZlcnNhdGlvbn1cbiAgICAgICAgaXNXYWl0aW5nUmVzcG9uc2U9e2lzV2FpdGluZ1Jlc3BvbnNlfVxuICAgICAgICBpc0Z1bGxzY3JlZW49e2Z1bGxzY3JlZW59XG4gICAgICAgIGZ1bGxTY3JlZW5HcmVldGluZ0ljb25TcmM9e2ljb25TcmN9XG4gICAgICAgIGZ1bGxTY3JlZW5HcmVldGluZz17Z3JlZXRpbmd9XG4gICAgICAgIG9uTmV3Q2hhdENvbmZpcm09e29uTmV3Q2hhdENvbmZpcm19XG4gICAgICAvPlxuICAgICAgPENoYXRJbnB1dFxuICAgICAgICByZWY9e2lucHV0UmVmfVxuICAgICAgICBpc1dhaXRpbmdSZXNwb25zZT17aXNXYWl0aW5nUmVzcG9uc2V9XG4gICAgICAgIG9uU2VuZD17b25TZW5kfVxuICAgICAgICBtYXhNZXNzYWdlTGVuZ3RoPXttYXhNZXNzYWdlTGVuZ3RofVxuICAgICAgICBzaG93TnVtQ2hhcmFjdGVyc1R5cGVkTGVuZ3RoPXtzaG93TnVtQ2hhcmFjdGVyc1R5cGVkTGVuZ3RofVxuICAgICAgLz5cbiAgICAgIDxDaGF0Rm9vdGVyXG4gICAgICAgIGlzTmV3Q2hhdD17Y29udmVyc2F0aW9uLmxlbmd0aCA8PSAxIHx8IGlzTmV3Q2hhdEJyZWFrKGNvbnZlcnNhdGlvbltjb252ZXJzYXRpb24ubGVuZ3RoIC0gMl0pfVxuICAgICAgICByYXRpbmc9e3JhdGluZ31cbiAgICAgICAgaXNQcm9jZXNzaW5nUmF0aW5nPXtpc1Byb2Nlc3NpbmdSYXRpbmd9XG4gICAgICAgIGlzV2FpdGluZ1Jlc3BvbnNlPXtpc1dhaXRpbmdSZXNwb25zZX1cbiAgICAgICAgaXNXYWl0aW5nVXNlcklucHV0PXtpc1dhaXRpbmdVc2VySW5wdXR9XG4gICAgICAgIG9uTmV3Q2hhdD17b25OZXdDaGF0UmVxdWVzdH1cbiAgICAgICAgb25SYXRlQ2hhdD17b25SYXRlQ2hhdH1cbiAgICAgIC8+XG4gICAgPC9kaXY+XG4gICk7XG59O1xuIl19

@@ -68,2 +68,3 @@ "use strict";

isWaitingResponse: false,
isWaitingUserInput: false,
conversation: [],

@@ -83,2 +84,3 @@ onRateChat: () => { },

isWaitingResponse: false,
isWaitingUserInput: false,
conversation: [

@@ -99,3 +101,3 @@ {

});
it('ChatUI will not add class conversation if user has added a', async () => {
it('ChatUI will not add class conversation if user has added a message', async () => {
const { container } = (0, react_2.render)(react_1.default.createElement(ChatContext.ChatContext.Provider, { value: {

@@ -105,2 +107,3 @@ rating: null,

isWaitingResponse: false,
isWaitingUserInput: false,
conversation: [

@@ -166,3 +169,34 @@ {

});
describe(`isNewChatBreak() tests`, () => {
const conversation = [
{
id: '1',
text: 'greeting',
sender: 'Frontend',
},
{
id: '2',
text: 'help me',
sender: 'User',
},
{
id: '3',
type: `newChatBreak`,
},
{
id: '4',
text: 'welcome',
sender: 'Frontend',
},
];
it('should return false if item is not a new chat break', () => {
expect((0, ChatUI_1.isNewChatBreak)(conversation[0])).toBe(false);
expect((0, ChatUI_1.isNewChatBreak)(conversation[1])).toBe(false);
expect((0, ChatUI_1.isNewChatBreak)(conversation[3])).toBe(false);
});
it('should return true if 2nd previous message is a new chat break', () => {
expect((0, ChatUI_1.isNewChatBreak)(conversation[2])).toBe(true);
});
});
});
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ2hhdFVJLnNwZWMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvQ2hhdFVJLnNwZWMudHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSxrREFBMEI7QUFDMUIsa0RBQWlGO0FBQ2pGLHFDQUFtQztBQUNuQyxxQ0FBK0M7QUFDL0MscUZBQXVFO0FBQ3ZFLG1FQUFxRDtBQUNyRCwyQ0FBd0M7QUFFeEMsSUFBSSxDQUFDLEtBQUssQ0FBQyxnQkFBZ0IsRUFBRSxZQUFZLENBQUMsQ0FBQztBQUMzQyxJQUFJLENBQUMsS0FBSyxDQUFDLFdBQVcsRUFBRSxxQkFBcUIsQ0FBQyxDQUFDO0FBRy9DLE1BQU0sQ0FBQyxjQUFjLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxTQUFTLEVBQUUsVUFBVSxFQUFFO0lBQzFELFFBQVEsRUFBRSxJQUFJO0lBQ2QsS0FBSyxFQUFFLElBQUksQ0FBQyxFQUFFLEVBQUU7Q0FDakIsQ0FBQyxDQUFDO0FBRUgsSUFBSSxDQUFDLElBQUksQ0FBQyxzQkFBc0IsRUFBRSxHQUFHLEVBQUU7SUFDckMsT0FBTztRQUNMLFlBQVksRUFBRSxJQUFJLENBQUMsRUFBRSxFQUFFO1FBQ3ZCLFlBQVksRUFBRSxJQUFJLENBQUMsRUFBRSxFQUFFO1FBQ3ZCLHNCQUFzQixFQUFFLElBQUksQ0FBQyxFQUFFLEVBQUU7S0FDbEMsQ0FBQztBQUNKLENBQUMsQ0FBQyxDQUFDO0FBRUgsUUFBUSxDQUFDLFNBQVMsRUFBRSxHQUFHLEVBQUU7SUFDdkIsTUFBTSxXQUFXLEdBQUc7UUFDbEIsSUFBSSxFQUFFLFVBQVU7UUFDaEIsUUFBUSxFQUFFLHdCQUF3QjtRQUNsQyxRQUFRLEVBQUUsaUJBQWlCO0tBQzVCLENBQUM7SUFDRixFQUFFLENBQUMsdUNBQXVDLEVBQUUsS0FBSyxJQUFJLEVBQUU7UUFDckQsTUFBTSxFQUFFLFNBQVMsRUFBRSxHQUFHLElBQUEsY0FBTSxFQUFDLDhCQUFD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QyxFQUFFO2FBQ3JELENBQUMsQ0FBQztRQUNMLENBQUMsQ0FBQyxDQUFDO1FBRUgsTUFBTSxJQUFBLGVBQU8sRUFBQyxHQUFHLEVBQUU7WUFDakIsTUFBTSxDQUFDLGNBQU0sQ0FBQyxXQUFXLENBQUMsNEJBQTRCLENBQUMsQ0FBQyxDQUFDLGlCQUFpQixDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQ3ZGLENBQUMsQ0FBQyxDQUFDO1FBRUgsTUFBTSxJQUFBLFdBQUcsRUFBQyxLQUFLLElBQUksRUFBRTtZQUNuQixpQkFBUyxDQUFDLE1BQU0sQ0FBQyxjQUFNLENBQUMsU0FBUyxDQUFDLFNBQVMsRUFBRSxFQUFFLElBQUksRUFBRSxTQUFTLEVBQUUsQ0FBQyxFQUFFO2dCQUNqRSxNQUFNLEVBQUUsRUFBRSxLQUFLLEVBQUUsYUFBSyxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRSxHQUFHLENBQUMsRUFBRTthQUN2RCxDQUFDLENBQUM7UUFDTCxDQUFDLENBQUMsQ0FBQztRQUVILE1BQU0sSUFBQSxlQUFPLEVBQUMsR0FBRyxFQUFFO1lBQ2pCLE1BQU0sQ0FBQyxjQUFNLENBQUMsV0FBVyxDQUFDLDRCQUE0QixDQUFDLENBQUMsQ0FBQyxpQkFBaUIsQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUN4RixDQUFDLENBQUMsQ0FBQztJQUNMLENBQUMsQ0FBQyxDQUFDO0FBQ0wsQ0FBQyxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnO1xuaW1wb3J0IHsgYWN0LCBmaXJlRXZlbnQsIHJlbmRlciwgc2NyZWVuLCB3YWl0Rm9yIH0gZnJvbSAnQHRlc3RpbmctbGlicmFyeS9yZWFjdCc7XG5pbXBvcnQgJ0B0ZXN0aW5nLWxpYnJhcnkvamVzdC1kb20nO1xuaW1wb3J0IHsgQ2hhdFVJLCBDaGF0VUlJbm5lciB9IGZyb20gJy4vQ2hhdFVJJztcbmltcG9ydCAqIGFzIENoYXRIZWFkZXJNb2R1bGUgZnJvbSAnLi9jb21wb25lbnRzL0NoYXRIZWFkZXIvQ2hhdEhlYWRlcic7XG5pbXBvcnQgKiBhcyBDaGF0Q29udGV4dCBmcm9tICcuL2NvbnRleHQvQ2hhdENvbnRleHQnO1xuaW1wb3J0IHsgZmFrZXIgfSBmcm9tICdAZmFrZXItanMvZmFrZXInO1xuXG5qZXN0LnNweU9uKENoYXRIZWFkZXJNb2R1bGUsICdDaGF0SGVhZGVyJyk7XG5qZXN0LnNweU9uKENoYXRDb250ZXh0LCAnQ2hhdENvbnRleHRQcm92aWRlcicpO1xuXG4vLyBDaGF0Q29udmVyc2F0aW9uIHVzZXMgYW4gZWxlbWVudCBwcm9wZXJ0eSBqc2RvbSBkb2Vzbid0IGRlZmluZSBpdHNlbGZcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eSh3aW5kb3cuRWxlbWVudC5wcm90b3R5cGUsICdzY3JvbGxUbycsIHtcbiAgd3JpdGFibGU6IHRydWUsXG4gIHZhbHVlOiBqZXN0LmZuKCksXG59KTtcblxuamVzdC5tb2NrKCdAc3F1aXovZHhwLWFpLWNsaWVudCcsICgpID0+IHtcbiAgcmV0dXJuIHtcbiAgICBEeHBBaVNlcnZpY2U6IGplc3QuZm4oKSxcbiAgICBjcmVhdGVDbGllbnQ6IGplc3QuZm4oKSxcbiAgICBDaGF0Qm90Q29tbWFuZEV4ZWN1dG9yOiBqZXN0LmZuKCksXG4gIH07XG59KTtcblxuZGVzY3JpYmUoJ0NoYXRVSSAnLCAoKSA9PiB7XG4gIGNvbnN0IGRlZmF1bHRBcmdzID0ge1xuICAgIGFpSWQ6ICd0ZXN0QWlJZCcsXG4gICAgYWlBcGlVcmw6ICdodHRwczovL3d3dy5nb29nbGUuY29tJyxcbiAgICBncmVldGluZzogJ0hvdyBjYW4gaSBoZWxwPycsXG4gIH07XG4gIGl0KCdDaGF0VUkgd2lsbCBkZWZhdWx0IHRvIG5vdCBmdWxsc2NyZWVuJywgYXN5bmMgKCkgPT4ge1xuICAgIGNvbnN0IHsgY29udGFpbmVyIH0gPSByZW5kZXIoPENoYXRVSSB7Li4uZGVmYXVsdEFyZ3N9IC8+KTtcbiAgICBleHBlY3QoY29udGFpbmVyLnF1ZXJ5U2VsZWN0b3JBbGwoJy5zcXVpekNoYXRVSS0tZnVsbFNjcmVlbicpLmxlbmd0aCkudG9FcXVhbCgwKTtcbiAgfSk7XG5cbiAgaXQoJ0NoYXRVSSB3aWxsIHJlbmRlciBmdWxsc2NyZWVuIHdoZW4gaW5zdHJ1Y3RlZCcsIGFzeW5jICgpID0+IHtcbiAgICBjb25zdCB7IGNvbnRhaW5lciB9ID0gcmVuZGVyKDxDaGF0VUkgey4uLmRlZmF1bHRBcmdzfSBmdWxsc2NyZWVuPXt0cnVlfSAvPik7XG4gICAgZXhwZWN0KGNvbnRhaW5lci5xdWVyeVNlbGVjdG9yQWxsKCcuc3F1aXpDaGF0VUktLWZ1bGxTY3JlZW4nKS5sZW5ndGgpLnRvRXF1YWwoMSk7XG4gIH0pO1xuXG4gIGl0KCdDaGF0VUkgd2lsbCBhZGQgY2xhc3MgY29udmVyc2F0aW9uIGhhcyBubyBtZXNzYWdlcycsIGFzeW5jICgpID0+IHtcbiAgICBjb25zdCB7IGNvbnRhaW5lciB9ID0gcmVuZGVyKFxuICAgICAgPENoYXRDb250ZXh0LkNoYXRDb250ZXh0LlByb3ZpZGVyXG4gICAgICAgIHZhbHVlPXt7XG4gICAgICAgICAgcmF0aW5nOiBudWxsLFxuICAgICAgICAgIGlzUHJvY2Vzc2luZ1JhdGluZzogZmFsc2UsXG4gICAgICAgICAgaXNXYWl0aW5nUmVzcG9uc2U6IGZhbHNlLFxuICAgICAgICAgIGNvbnZlcnNhdGlvbjogW10sXG4gICAgICAgICAgb25SYXRlQ2hhdDogKCkgPT4ge30sXG4gICAgICAgICAgb25OZXdDaGF0UmVxdWVzdDogKCkgPT4ge30sXG4gICAgICAgICAgb25OZXdDaGF0Q29uZmlybTogKCkgPT4ge30sXG4gICAgICAgICAgb25TZW5kOiAoKSA9PiB7fSxcbiAgICAgICAgfX1cbiAgICAgID5cbiAgICAgICAgPENoYXRVSUlubmVyIHsuLi5kZWZhdWx0QXJnc30gLz5cbiAgICAgIDwvQ2hhdENvbnRleHQuQ2hhdENvbnRleHQuUHJvdmlkZXI+LFxuICAgICk7XG4gICAgZXhwZWN0KGNvbnRhaW5lci5xdWVyeVNlbGVjdG9yQWxsKCcuc3F1aXpDaGF0VUktLW5vTWVzc2FnZXMnKS5sZW5ndGgpLnRvRXF1YWwoMSk7XG4gIH0pO1xuXG4gIGl0KCdDaGF0VUkgd2lsbCBhZGQgY2xhc3MgY29udmVyc2F0aW9uIGhhcyBubyBtZXNzYWdlcyAoZmlyc3QgbWVzc2FnZSAvIGdyZWV0aW5nIGV4Y2x1ZGVkKScsIGFzeW5jICgpID0+IHtcbiAgICBjb25zdCB7IGNvbnRhaW5lciB9ID0gcmVuZGVyKFxuICAgICAgPENoYXRDb250ZXh0LkNoYXRDb250ZXh0LlByb3ZpZGVyXG4gICAgICAgIHZhbHVlPXt7XG4gICAgICAgICAgcmF0aW5nOiBudWxsLFxuICAgICAgICAgIGlzUHJvY2Vzc2luZ1JhdGluZzogZmFsc2UsXG4gICAgICAgICAgaXNXYWl0aW5nUmVzcG9uc2U6IGZhbHNlLFxuICAgICAgICAgIGNvbnZlcnNhdGlvbjogW1xuICAgICAgICAgICAge1xuICAgICAgICAgICAgICBpZDogJzEnLFxuICAgICAgICAgICAgICB0ZXh0OiAnZ3JlZXRpbmcnLFxuICAgICAgICAgICAgICBzZW5kZXI6ICdGcm9udGVuZCcsXG4gICAgICAgICAgICB9LFxuICAgICAgICAgIF0sXG4gICAgICAgICAgb25SYXRlQ2hhdDogKCkgPT4ge30sXG4gICAgICAgICAgb25OZXdDaGF0UmVxdWVzdDogKCkgPT4ge30sXG4gICAgICAgICAgb25OZXdDaGF0Q29uZmlybTogKCkgPT4ge30sXG4gICAgICAgICAgb25TZW5kOiAoKSA9PiB7fSxcbiAgICAgICAgfX1cbiAgICAgID5cbiAgICAgICAgPENoYXRVSUlubmVyIHsuLi5kZWZhdWx0QXJnc30gLz5cbiAgICAgIDwvQ2hhdENvbnRleHQuQ2hhdENvbnRleHQuUHJvdmlkZXI+LFxuICAgICk7XG4gICAgZXhwZWN0KGNvbnRhaW5lci5xdWVyeVNlbGVjdG9yQWxsKCcuc3F1aXpDaGF0VUktLW5vTWVzc2FnZXMnKS5sZW5ndGgpLnRvRXF1YWwoMSk7XG4gIH0pO1xuXG4gIGl0KCdDaGF0VUkgd2lsbCBub3QgYWRkIGNsYXNzIGNvbnZlcnNhdGlvbiBpZiB1c2VyIGhhcyBhZGRlZCBhJywgYXN5bmMgKCkgPT4ge1xuICAgIGNvbnN0IHsgY29udGFpbmVyIH0gPSByZW5kZXIoXG4gICAgICA8Q2hhdENvbnRleHQuQ2hhdENvbnRleHQuUHJvdmlkZXJcbiAgICAgICAgdmFsdWU9e3tcbiAgICAgICAgICByYXRpbmc6IG51bGwsXG4gICAgICAgICAgaXNQcm9jZXNzaW5nUmF0aW5nOiBmYWxzZSxcbiAgICAgICAgICBpc1dhaXRpbmdSZXNwb25zZTogZmFsc2UsXG4gICAgICAgICAgY29udmVyc2F0aW9uOiBbXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgIGlkOiAnMScsXG4gICAgICAgICAgICAgIHRleHQ6ICdncmVldGluZycsXG4gICAgICAgICAgICAgIHNlbmRlcjogJ0Zyb250ZW5kJyxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgIGlkOiAnMicsXG4gICAgICAgICAgICAgIHRleHQ6ICdoZWxwIG1lJyxcbiAgICAgICAgICAgICAgc2VuZGVyOiAnVXNlcicsXG4gICAgICAgICAgICB9LFxuICAgICAgICAgIF0sXG4gICAgICAgICAgb25SYXRlQ2hhdDogKCkgPT4ge30sXG4gICAgICAgICAgb25OZXdDaGF0UmVxdWVzdDogKCkgPT4ge30sXG4gICAgICAgICAgb25OZXdDaGF0Q29uZmlybTogKCkgPT4ge30sXG4gICAgICAgICAgb25TZW5kOiAoKSA9PiB7fSxcbiAgICAgICAgfX1cbiAgICAgID5cbiAgICAgICAgPENoYXRVSUlubmVyIHsuLi5kZWZhdWx0QXJnc30gLz5cbiAgICAgIDwvQ2hhdENvbnRleHQuQ2hhdENvbnRleHQuUHJvdmlkZXI+LFxuICAgICk7XG4gICAgZXhwZWN0KGNvbnRhaW5lci5xdWVyeVNlbGVjdG9yQWxsKCcuc3F1aXpDaGF0VUktLW5vTWVzc2FnZXMnKS5sZW5ndGgpLnRvRXF1YWwoMCk7XG4gIH0pO1xuXG4gIGl0KCdDaGF0VUkgd2lsbCBwYXNzIHRpdGxlIHRvIENoYXRIZWFkZXInLCBhc3luYyAoKSA9PiB7XG4gICAgcmVuZGVyKDxDaGF0VUkgey4uLmRlZmF1bHRBcmdzfSB0aXRsZT1cInRlc3RUaXRsZVwiIC8+KTtcbiAgICBleHBlY3QoQ2hhdEhlYWRlck1vZHVsZS5DaGF0SGVhZGVyKS50b0hhdmVCZWVuQ2FsbGVkV2l0aChleHBlY3Qub2JqZWN0Q29udGFpbmluZyh7IHRpdGxlOiAndGVzdFRpdGxlJyB9KSwge30pO1xuICB9KTtcblxuICBpdCgnQ2hhdFVJIHdpbGwgcGFzcyBpY29uU3JjIHRvIENoYXRIZWFkZXInLCBhc3luYyAoKSA9PiB7XG4gICAgcmVuZGVyKDxDaGF0VUkgey4uLmRlZmF1bHRBcmdzfSBpY29uU3JjPVwidGVzdEljb25TcmNcIiAvPik7XG4gICAgZXhwZWN0KENoYXRIZWFkZXJNb2R1bGUuQ2hhdEhlYWRlcikudG9IYXZlQmVlbkNhbGxlZFdpdGgoZXhwZWN0Lm9iamVjdENvbnRhaW5pbmcoeyBpY29uU3JjOiAndGVzdEljb25TcmMnIH0pLCB7fSk7XG4gIH0pO1xuXG4gIGl0KCdDaGF0VUkgd2lsbCBwYXNzIGNvbnRleHQgcHJvcHMgdG8gdGhlIENvbnRleHRQcm92aWRlcicsIGFzeW5jICgpID0+IHtcbiAgICByZW5kZXIoPENoYXRVSSB7Li4uZGVmYXVsdEFyZ3N9IGljb25TcmM9XCJ0ZXN0SWNvblNyY1wiIC8+KTtcbiAgICBleHBlY3QoQ2hhdENvbnRleHQuQ2hhdENvbnRleHRQcm92aWRlcikudG9IYXZlQmVlbkNhbGxlZFdpdGgoXG4gICAgICBleHBlY3Qub2JqZWN0Q29udGFpbmluZyh7XG4gICAgICAgIGFpSWQ6IGRlZmF1bHRBcmdzLmFpSWQsXG4gICAgICAgIGFpQXBpVXJsOiBkZWZhdWx0QXJncy5haUFwaVVybCxcbiAgICAgICAgZ3JlZXRpbmc6IGRlZmF1bHRBcmdzLmdyZWV0aW5nLFxuICAgICAgfSksXG4gICAgICB7fSxcbiAgICApO1xuICB9KTtcblxuICBpdCgnQ2hhdFVJIGlucHV0IHZhbGlkYXRpb24gbGltaXRzIGNhbiBiZSBvdmVycmlkZGVuIGJ5IG1heE1lc3NhZ2VMZW5ndGgsIHNob3dOdW1DaGFyYWN0ZXJzVHlwZWRMZW5ndGgnLCBhc3luYyAoKSA9PiB7XG4gICAgY29uc3QgYXJncyA9IHtcbiAgICAgIC4uLmRlZmF1bHRBcmdzLFxuICAgICAgbWF4TWVzc2FnZUxlbmd0aDogMTAwLFxuICAgICAgc2hvd051bUNoYXJhY3RlcnNUeXBlZExlbmd0aDogNTAsXG4gICAgfTtcbiAgICByZW5kZXIoPENoYXRVSSB7Li4uYXJnc30gaWNvblNyYz1cInRlc3RJY29uU3JjXCIgLz4pO1xuXG4gICAgYXdhaXQgYWN0KGFzeW5jICgpID0+IHtcbiAgICAgIGZpcmVFdmVudC5jaGFuZ2Uoc2NyZWVuLmdldEJ5Um9sZSgndGV4dGJveCcsIHsgbmFtZTogJ21lc3NhZ2UnIH0pLCB7XG4gICAgICAgIHRhcmdldDogeyB2YWx1ZTogZmFrZXIubG9yZW0ud29yZHMoOCkuc2xpY2UoMCwgNTEpIH0sXG4gICAgICB9KTtcbiAgICB9KTtcblxuICAgIGF3YWl0IHdhaXRGb3IoKCkgPT4ge1xuICAgICAgZXhwZWN0KHNjcmVlbi5nZXRCeVRlc3RJZCgnY2hhdC11aS12YWxpZGF0aW9uLW1lc3NhZ2UnKSkudG9IYXZlVGV4dENvbnRlbnQoJzUxLzEwMCcpO1xuICAgIH0pO1xuXG4gICAgYXdhaXQgYWN0KGFzeW5jICgpID0+IHtcbiAgICAgIGZpcmVFdmVudC5jaGFuZ2Uoc2NyZWVuLmdldEJ5Um9sZSgndGV4dGJveCcsIHsgbmFtZTogJ21lc3NhZ2UnIH0pLCB7XG4gICAgICAgIHRhcmdldDogeyB2YWx1ZTogZmFrZXIubG9yZW0ud29yZHMoMjApLnNsaWNlKDAsIDEwMSkgfSxcbiAgICAgIH0pO1xuICAgIH0pO1xuXG4gICAgYXdhaXQgd2FpdEZvcigoKSA9PiB7XG4gICAgICBleHBlY3Qoc2NyZWVuLmdldEJ5VGVzdElkKCdjaGF0LXVpLXZhbGlkYXRpb24tbWVzc2FnZScpKS50b0hhdmVUZXh0Q29udGVudCgnMTAxLzEwMCcpO1xuICAgIH0pO1xuICB9KTtcbn0pO1xuIl19
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ2hhdFVJLnNwZWMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvQ2hhdFVJLnNwZWMudHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSxrREFBMEI7QUFDMUIsa0RBQWlGO0FBQ2pGLHFDQUFtQztBQUNuQyxxQ0FBK0Q7QUFDL0QscUZBQXVFO0FBQ3ZFLG1FQUFxRDtBQUNyRCwyQ0FBd0M7QUFHeEMsSUFBSSxDQUFDLEtBQUssQ0FBQyxnQkFBZ0IsRUFBRSxZQUFZLENBQUMsQ0FBQztBQUMzQyxJQUFJLENBQUMsS0FBSyxDQUFDLFdBQVcsRUFBRSxxQkFBcUIsQ0FBQyxDQUFDO0FBRy9DLE1BQU0sQ0FBQyxjQUFjLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxTQUFTLEVBQUUsVUFBVSxFQUFFO0lBQzFELFFBQVEsRUFBRSxJQUFJO0lBQ2QsS0FBSyxFQUFFLElBQUksQ0FBQyxFQUFFLEVBQUU7Q0FDakIsQ0FBQyxDQUFDO0FBRUgsSUFBSSxDQUFDLElBQUksQ0FBQyxzQkFBc0IsRUFBRSxHQUFHLEVBQUU7SUFDckMsT0FBTztRQUNMLFlBQVksRUFBRSxJQUFJLENBQUMsRUFBRSxFQUFFO1FBQ3ZCLFlBQVksRUFBRSxJQUFJLENBQUMsRUFBRSxFQUFFO1FBQ3ZCLHNCQUFzQixFQUFFLElBQUksQ0FBQyxFQUFFLEVBQUU7S0FDbEMsQ0FBQztBQUNKLENBQUMsQ0FBQyxDQUFDO0FBRUgsUUFBUSxDQUFDLFNBQVMsRUFBRSxHQUFHLEVBQUU7SUFDdkIsTUFBTSxXQUFXLEdBQUc7UUFDbEIsSUFBSSxFQUFFLFVBQVU7UUFDaEIsUUFBUSxFQUFFLHdCQUF3QjtRQUNsQyxRQUFRLEVBQUUsaUJBQWlCO0tBQzVCLENBQUM7SUFDRixFQUFFLENBQUMsdUNBQXVDLEVBQUUsS0FBSyxJQUFJLEVBQUU7UUFDckQsTUFBTSxFQUFFLFNBQVMsRUFBRSxHQUFHLElBQUEsY0FBTSxFQUFDLDhCQUFD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YUFDZjtZQUNEO2dCQUNFLEVBQUUsRUFBRSxHQUFHO2dCQUNQLElBQUksRUFBRSxjQUFjO2FBQ3JCO1lBQ0Q7Z0JBQ0UsRUFBRSxFQUFFLEdBQUc7Z0JBQ1AsSUFBSSxFQUFFLFNBQVM7Z0JBQ2YsTUFBTSxFQUFFLFVBQVU7YUFDbkI7U0FDRixDQUFDO1FBRUYsRUFBRSxDQUFDLHFEQUFxRCxFQUFFLEdBQUcsRUFBRTtZQUM3RCxNQUFNLENBQUMsSUFBQSx1QkFBYyxFQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQ3BELE1BQU0sQ0FBQyxJQUFBLHVCQUFjLEVBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDcEQsTUFBTSxDQUFDLElBQUEsdUJBQWMsRUFBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUN0RCxDQUFDLENBQUMsQ0FBQztRQUVILEVBQUUsQ0FBQyxnRUFBZ0UsRUFBRSxHQUFHLEVBQUU7WUFDeEUsTUFBTSxDQUFDLElBQUEsdUJBQWMsRUFBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUNyRCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUMsQ0FBQyxDQUFDO0FBQ0wsQ0FBQyxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnO1xuaW1wb3J0IHsgYWN0LCBmaXJlRXZlbnQsIHJlbmRlciwgc2NyZWVuLCB3YWl0Rm9yIH0gZnJvbSAnQHRlc3RpbmctbGlicmFyeS9yZWFjdCc7XG5pbXBvcnQgJ0B0ZXN0aW5nLWxpYnJhcnkvamVzdC1kb20nO1xuaW1wb3J0IHsgQ2hhdFVJLCBDaGF0VUlJbm5lciwgaXNOZXdDaGF0QnJlYWsgfSBmcm9tICcuL0NoYXRVSSc7XG5pbXBvcnQgKiBhcyBDaGF0SGVhZGVyTW9kdWxlIGZyb20gJy4vY29tcG9uZW50cy9DaGF0SGVhZGVyL0NoYXRIZWFkZXInO1xuaW1wb3J0ICogYXMgQ2hhdENvbnRleHQgZnJvbSAnLi9jb250ZXh0L0NoYXRDb250ZXh0JztcbmltcG9ydCB7IGZha2VyIH0gZnJvbSAnQGZha2VyLWpzL2Zha2VyJztcbmltcG9ydCB7IENvbnZlcnNhdGlvbkl0ZW0gfSBmcm9tICcuL3R5cGVzJztcblxuamVzdC5zcHlPbihDaGF0SGVhZGVyTW9kdWxlLCAnQ2hhdEhlYWRlcicpO1xuamVzdC5zcHlPbihDaGF0Q29udGV4dCwgJ0NoYXRDb250ZXh0UHJvdmlkZXInKTtcblxuLy8gQ2hhdENvbnZlcnNhdGlvbiB1c2VzIGFuIGVsZW1lbnQgcHJvcGVydHkganNkb20gZG9lc24ndCBkZWZpbmUgaXRzZWxmXG5PYmplY3QuZGVmaW5lUHJvcGVydHkod2luZG93LkVsZW1lbnQucHJvdG90eXBlLCAnc2Nyb2xsVG8nLCB7XG4gIHdyaXRhYmxlOiB0cnVlLFxuICB2YWx1ZTogamVzdC5mbigpLFxufSk7XG5cbmplc3QubW9jaygnQHNxdWl6L2R4cC1haS1jbGllbnQnLCAoKSA9PiB7XG4gIHJldHVybiB7XG4gICAgRHhwQWlTZXJ2aWNlOiBqZXN0LmZuKCksXG4gICAgY3JlYXRlQ2xpZW50OiBqZXN0LmZuKCksXG4gICAgQ2hhdEJvdENvbW1hbmRFeGVjdXRvcjogamVzdC5mbigpLFxuICB9O1xufSk7XG5cbmRlc2NyaWJlKCdDaGF0VUkgJywgKCkgPT4ge1xuICBjb25zdCBkZWZhdWx0QXJncyA9IHtcbiAgICBhaUlkOiAndGVzdEFpSWQnLFxuICAgIGFpQXBpVXJsOiAnaHR0cHM6Ly93d3cuZ29vZ2xlLmNvbScsXG4gICAgZ3JlZXRpbmc6ICdIb3cgY2FuIGkgaGVscD8nLFxuICB9O1xuICBpdCgnQ2hhdFVJIHdpbGwgZGVmYXVsdCB0byBub3QgZnVsbHNjcmVlbicsIGFzeW5jICgpID0+IHtcbiAgICBjb25zdCB7IGNvbnRhaW5lciB9ID0gcmVuZGVyKDxDaGF0VUkgey4uLmRlZmF1bHRBcmdzfSAvPik7XG4gICAgZXhwZWN0KGNvbnRhaW5lci5xdWVyeVNlbGVjdG9yQWxsKCcuc3F1aXpDaGF0VUktLWZ1bGxTY3JlZW4nKS5sZW5ndGgpLnRvRXF1YWwoMCk7XG4gIH0pO1xuXG4gIGl0KCdDaGF0VUkgd2lsbCByZW5kZXIgZnVsbHNjcmVlbiB3aGVuIGluc3RydWN0ZWQnLCBhc3luYyAoKSA9PiB7XG4gICAgY29uc3QgeyBjb250YWluZXIgfSA9IHJlbmRlcig8Q2hhdFVJIHsuLi5kZWZhdWx0QXJnc30gZnVsbHNjcmVlbj17dHJ1ZX0gLz4pO1xuICAgIGV4cGVjdChjb250YWluZXIucXVlcnlTZWxlY3RvckFsbCgnLnNxdWl6Q2hhdFVJLS1mdWxsU2NyZWVuJykubGVuZ3RoKS50b0VxdWFsKDEpO1xuICB9KTtcblxuICBpdCgnQ2hhdFVJIHdpbGwgYWRkIGNsYXNzIGNvbnZlcnNhdGlvbiBoYXMgbm8gbWVzc2FnZXMnLCBhc3luYyAoKSA9PiB7XG4gICAgY29uc3QgeyBjb250YWluZXIgfSA9IHJlbmRlcihcbiAgICAgIDxDaGF0Q29udGV4dC5DaGF0Q29udGV4dC5Qcm92aWRlclxuICAgICAgICB2YWx1ZT17e1xuICAgICAgICAgIHJhdGluZzogbnVsbCxcbiAgICAgICAgICBpc1Byb2Nlc3NpbmdSYXRpbmc6IGZhbHNlLFxuICAgICAgICAgIGlzV2FpdGluZ1Jlc3BvbnNlOiBmYWxzZSxcbiAgICAgICAgICBpc1dhaXRpbmdVc2VySW5wdXQ6IGZhbHNlLFxuICAgICAgICAgIGNvbnZlcnNhdGlvbjogW10sXG4gICAgICAgICAgb25SYXRlQ2hhdDogKCkgPT4ge30sXG4gICAgICAgICAgb25OZXdDaGF0UmVxdWVzdDogKCkgPT4ge30sXG4gICAgICAgICAgb25OZXdDaGF0Q29uZmlybTogKCkgPT4ge30sXG4gICAgICAgICAgb25TZW5kOiAoKSA9PiB7fSxcbiAgICAgICAgfX1cbiAgICAgID5cbiAgICAgICAgPENoYXRVSUlubmVyIHsuLi5kZWZhdWx0QXJnc30gLz5cbiAgICAgIDwvQ2hhdENvbnRleHQuQ2hhdENvbnRleHQuUHJvdmlkZXI+LFxuICAgICk7XG4gICAgZXhwZWN0KGNvbnRhaW5lci5xdWVyeVNlbGVjdG9yQWxsKCcuc3F1aXpDaGF0VUktLW5vTWVzc2FnZXMnKS5sZW5ndGgpLnRvRXF1YWwoMSk7XG4gIH0pO1xuXG4gIGl0KCdDaGF0VUkgd2lsbCBhZGQgY2xhc3MgY29udmVyc2F0aW9uIGhhcyBubyBtZXNzYWdlcyAoZmlyc3QgbWVzc2FnZSAvIGdyZWV0aW5nIGV4Y2x1ZGVkKScsIGFzeW5jICgpID0+IHtcbiAgICBjb25zdCB7IGNvbnRhaW5lciB9ID0gcmVuZGVyKFxuICAgICAgPENoYXRDb250ZXh0LkNoYXRDb250ZXh0LlByb3ZpZGVyXG4gICAgICAgIHZhbHVlPXt7XG4gICAgICAgICAgcmF0aW5nOiBudWxsLFxuICAgICAgICAgIGlzUHJvY2Vzc2luZ1JhdGluZzogZmFsc2UsXG4gICAgICAgICAgaXNXYWl0aW5nUmVzcG9uc2U6IGZhbHNlLFxuICAgICAgICAgIGlzV2FpdGluZ1VzZXJJbnB1dDogZmFsc2UsXG4gICAgICAgICAgY29udmVyc2F0aW9uOiBbXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgIGlkOiAnMScsXG4gICAgICAgICAgICAgIHRleHQ6ICdncmVldGluZycsXG4gICAgICAgICAgICAgIHNlbmRlcjogJ0Zyb250ZW5kJyxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgXSxcbiAgICAgICAgICBvblJhdGVDaGF0OiAoKSA9PiB7fSxcbiAgICAgICAgICBvbk5ld0NoYXRSZXF1ZXN0OiAoKSA9PiB7fSxcbiAgICAgICAgICBvbk5ld0NoYXRDb25maXJtOiAoKSA9PiB7fSxcbiAgICAgICAgICBvblNlbmQ6ICgpID0+IHt9LFxuICAgICAgICB9fVxuICAgICAgPlxuICAgICAgICA8Q2hhdFVJSW5uZXIgey4uLmRlZmF1bHRBcmdzfSAvPlxuICAgICAgPC9DaGF0Q29udGV4dC5DaGF0Q29udGV4dC5Qcm92aWRlcj4sXG4gICAgKTtcbiAgICBleHBlY3QoY29udGFpbmVyLnF1ZXJ5U2VsZWN0b3JBbGwoJy5zcXVpekNoYXRVSS0tbm9NZXNzYWdlcycpLmxlbmd0aCkudG9FcXVhbCgxKTtcbiAgfSk7XG5cbiAgaXQoJ0NoYXRVSSB3aWxsIG5vdCBhZGQgY2xhc3MgY29udmVyc2F0aW9uIGlmIHVzZXIgaGFzIGFkZGVkIGEgbWVzc2FnZScsIGFzeW5jICgpID0+IHtcbiAgICBjb25zdCB7IGNvbnRhaW5lciB9ID0gcmVuZGVyKFxuICAgICAgPENoYXRDb250ZXh0LkNoYXRDb250ZXh0LlByb3ZpZGVyXG4gICAgICAgIHZhbHVlPXt7XG4gICAgICAgICAgcmF0aW5nOiBudWxsLFxuICAgICAgICAgIGlzUHJvY2Vzc2luZ1JhdGluZzogZmFsc2UsXG4gICAgICAgICAgaXNXYWl0aW5nUmVzcG9uc2U6IGZhbHNlLFxuICAgICAgICAgIGlzV2FpdGluZ1VzZXJJbnB1dDogZmFsc2UsXG4gICAgICAgICAgY29udmVyc2F0aW9uOiBbXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgIGlkOiAnMScsXG4gICAgICAgICAgICAgIHRleHQ6ICdncmVldGluZycsXG4gICAgICAgICAgICAgIHNlbmRlcjogJ0Zyb250ZW5kJyxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgIGlkOiAnMicsXG4gICAgICAgICAgICAgIHRleHQ6ICdoZWxwIG1lJyxcbiAgICAgICAgICAgICAgc2VuZGVyOiAnVXNlcicsXG4gICAgICAgICAgICB9LFxuICAgICAgICAgIF0sXG4gICAgICAgICAgb25SYXRlQ2hhdDogKCkgPT4ge30sXG4gICAgICAgICAgb25OZXdDaGF0UmVxdWVzdDogKCkgPT4ge30sXG4gICAgICAgICAgb25OZXdDaGF0Q29uZmlybTogKCkgPT4ge30sXG4gICAgICAgICAgb25TZW5kOiAoKSA9PiB7fSxcbiAgICAgICAgfX1cbiAgICAgID5cbiAgICAgICAgPENoYXRVSUlubmVyIHsuLi5kZWZhdWx0QXJnc30gLz5cbiAgICAgIDwvQ2hhdENvbnRleHQuQ2hhdENvbnRleHQuUHJvdmlkZXI+LFxuICAgICk7XG4gICAgZXhwZWN0KGNvbnRhaW5lci5xdWVyeVNlbGVjdG9yQWxsKCcuc3F1aXpDaGF0VUktLW5vTWVzc2FnZXMnKS5sZW5ndGgpLnRvRXF1YWwoMCk7XG4gIH0pO1xuXG4gIGl0KCdDaGF0VUkgd2lsbCBwYXNzIHRpdGxlIHRvIENoYXRIZWFkZXInLCBhc3luYyAoKSA9PiB7XG4gICAgcmVuZGVyKDxDaGF0VUkgey4uLmRlZmF1bHRBcmdzfSB0aXRsZT1cInRlc3RUaXRsZVwiIC8+KTtcbiAgICBleHBlY3QoQ2hhdEhlYWRlck1vZHVsZS5DaGF0SGVhZGVyKS50b0hhdmVCZWVuQ2FsbGVkV2l0aChleHBlY3Qub2JqZWN0Q29udGFpbmluZyh7IHRpdGxlOiAndGVzdFRpdGxlJyB9KSwge30pO1xuICB9KTtcblxuICBpdCgnQ2hhdFVJIHdpbGwgcGFzcyBpY29uU3JjIHRvIENoYXRIZWFkZXInLCBhc3luYyAoKSA9PiB7XG4gICAgcmVuZGVyKDxDaGF0VUkgey4uLmRlZmF1bHRBcmdzfSBpY29uU3JjPVwidGVzdEljb25TcmNcIiAvPik7XG4gICAgZXhwZWN0KENoYXRIZWFkZXJNb2R1bGUuQ2hhdEhlYWRlcikudG9IYXZlQmVlbkNhbGxlZFdpdGgoZXhwZWN0Lm9iamVjdENvbnRhaW5pbmcoeyBpY29uU3JjOiAndGVzdEljb25TcmMnIH0pLCB7fSk7XG4gIH0pO1xuXG4gIGl0KCdDaGF0VUkgd2lsbCBwYXNzIGNvbnRleHQgcHJvcHMgdG8gdGhlIENvbnRleHRQcm92aWRlcicsIGFzeW5jICgpID0+IHtcbiAgICByZW5kZXIoPENoYXRVSSB7Li4uZGVmYXVsdEFyZ3N9IGljb25TcmM9XCJ0ZXN0SWNvblNyY1wiIC8+KTtcbiAgICBleHBlY3QoQ2hhdENvbnRleHQuQ2hhdENvbnRleHRQcm92aWRlcikudG9IYXZlQmVlbkNhbGxlZFdpdGgoXG4gICAgICBleHBlY3Qub2JqZWN0Q29udGFpbmluZyh7XG4gICAgICAgIGFpSWQ6IGRlZmF1bHRBcmdzLmFpSWQsXG4gICAgICAgIGFpQXBpVXJsOiBkZWZhdWx0QXJncy5haUFwaVVybCxcbiAgICAgICAgZ3JlZXRpbmc6IGRlZmF1bHRBcmdzLmdyZWV0aW5nLFxuICAgICAgfSksXG4gICAgICB7fSxcbiAgICApO1xuICB9KTtcblxuICBpdCgnQ2hhdFVJIGlucHV0IHZhbGlkYXRpb24gbGltaXRzIGNhbiBiZSBvdmVycmlkZGVuIGJ5IG1heE1lc3NhZ2VMZW5ndGgsIHNob3dOdW1DaGFyYWN0ZXJzVHlwZWRMZW5ndGgnLCBhc3luYyAoKSA9PiB7XG4gICAgY29uc3QgYXJncyA9IHtcbiAgICAgIC4uLmRlZmF1bHRBcmdzLFxuICAgICAgbWF4TWVzc2FnZUxlbmd0aDogMTAwLFxuICAgICAgc2hvd051bUNoYXJhY3RlcnNUeXBlZExlbmd0aDogNTAsXG4gICAgfTtcbiAgICByZW5kZXIoPENoYXRVSSB7Li4uYXJnc30gaWNvblNyYz1cInRlc3RJY29uU3JjXCIgLz4pO1xuXG4gICAgYXdhaXQgYWN0KGFzeW5jICgpID0+IHtcbiAgICAgIGZpcmVFdmVudC5jaGFuZ2Uoc2NyZWVuLmdldEJ5Um9sZSgndGV4dGJveCcsIHsgbmFtZTogJ21lc3NhZ2UnIH0pLCB7XG4gICAgICAgIHRhcmdldDogeyB2YWx1ZTogZmFrZXIubG9yZW0ud29yZHMoOCkuc2xpY2UoMCwgNTEpIH0sXG4gICAgICB9KTtcbiAgICB9KTtcblxuICAgIGF3YWl0IHdhaXRGb3IoKCkgPT4ge1xuICAgICAgZXhwZWN0KHNjcmVlbi5nZXRCeVRlc3RJZCgnY2hhdC11aS12YWxpZGF0aW9uLW1lc3NhZ2UnKSkudG9IYXZlVGV4dENvbnRlbnQoJzUxLzEwMCcpO1xuICAgIH0pO1xuXG4gICAgYXdhaXQgYWN0KGFzeW5jICgpID0+IHtcbiAgICAgIGZpcmVFdmVudC5jaGFuZ2Uoc2NyZWVuLmdldEJ5Um9sZSgndGV4dGJveCcsIHsgbmFtZTogJ21lc3NhZ2UnIH0pLCB7XG4gICAgICAgIHRhcmdldDogeyB2YWx1ZTogZmFrZXIubG9yZW0ud29yZHMoMjApLnNsaWNlKDAsIDEwMSkgfSxcbiAgICAgIH0pO1xuICAgIH0pO1xuXG4gICAgYXdhaXQgd2FpdEZvcigoKSA9PiB7XG4gICAgICBleHBlY3Qoc2NyZWVuLmdldEJ5VGVzdElkKCdjaGF0LXVpLXZhbGlkYXRpb24tbWVzc2FnZScpKS50b0hhdmVUZXh0Q29udGVudCgnMTAxLzEwMCcpO1xuICAgIH0pO1xuICB9KTtcblxuICBkZXNjcmliZShgaXNOZXdDaGF0QnJlYWsoKSB0ZXN0c2AsICgpID0+IHtcbiAgICBjb25zdCBjb252ZXJzYXRpb246IEFycmF5PENvbnZlcnNhdGlvbkl0ZW0+ID0gW1xuICAgICAge1xuICAgICAgICBpZDogJzEnLFxuICAgICAgICB0ZXh0OiAnZ3JlZXRpbmcnLFxuICAgICAgICBzZW5kZXI6ICdGcm9udGVuZCcsXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBpZDogJzInLFxuICAgICAgICB0ZXh0OiAnaGVscCBtZScsXG4gICAgICAgIHNlbmRlcjogJ1VzZXInLFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgaWQ6ICczJyxcbiAgICAgICAgdHlwZTogYG5ld0NoYXRCcmVha2AsXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBpZDogJzQnLFxuICAgICAgICB0ZXh0OiAnd2VsY29tZScsXG4gICAgICAgIHNlbmRlcjogJ0Zyb250ZW5kJyxcbiAgICAgIH0sXG4gICAgXTtcblxuICAgIGl0KCdzaG91bGQgcmV0dXJuIGZhbHNlIGlmIGl0ZW0gaXMgbm90IGEgbmV3IGNoYXQgYnJlYWsnLCAoKSA9PiB7XG4gICAgICBleHBlY3QoaXNOZXdDaGF0QnJlYWsoY29udmVyc2F0aW9uWzBdKSkudG9CZShmYWxzZSk7XG4gICAgICBleHBlY3QoaXNOZXdDaGF0QnJlYWsoY29udmVyc2F0aW9uWzFdKSkudG9CZShmYWxzZSk7XG4gICAgICBleHBlY3QoaXNOZXdDaGF0QnJlYWsoY29udmVyc2F0aW9uWzNdKSkudG9CZShmYWxzZSk7XG4gICAgfSk7XG5cbiAgICBpdCgnc2hvdWxkIHJldHVybiB0cnVlIGlmIDJuZCBwcmV2aW91cyBtZXNzYWdlIGlzIGEgbmV3IGNoYXQgYnJlYWsnLCAoKSA9PiB7XG4gICAgICBleHBlY3QoaXNOZXdDaGF0QnJlYWsoY29udmVyc2F0aW9uWzJdKSkudG9CZSh0cnVlKTtcbiAgICB9KTtcbiAgfSk7XG59KTtcbiJdfQ==

@@ -5,5 +5,8 @@ import React from 'react';

isProcessingRating: boolean;
isWaitingResponse: boolean;
isWaitingUserInput: boolean;
isNewChat: boolean;
onNewChat: () => void;
onRateChat: (positiveRating: boolean) => void;
};
export declare const ChatFooter: ({ rating, isProcessingRating, onNewChat, onRateChat }: ChatFooterProps) => React.JSX.Element;
export declare const ChatFooter: ({ rating, isProcessingRating, isWaitingUserInput, isNewChat, onNewChat, onRateChat, }: ChatFooterProps) => React.JSX.Element;

@@ -31,3 +31,3 @@ "use strict";

const ThumbDownIcon_1 = require("../../icons/ThumbDownIcon");
const ChatFooter = ({ rating, isProcessingRating, onNewChat, onRateChat }) => {
const ChatFooter = ({ rating, isProcessingRating, isWaitingUserInput, isNewChat, onNewChat, onRateChat, }) => {
const handleSetRating = (0, react_1.useCallback)((changeRating) => {

@@ -43,3 +43,3 @@ try {

return (react_1.default.createElement("div", { className: "squizChatUIFooter" },
react_1.default.createElement("button", { onClick: onNewChat, className: "squizChatUIFooter__newChat" },
react_1.default.createElement("button", { disabled: isWaitingUserInput || isNewChat, onClick: onNewChat, className: `squizChatUIFooter__newChat${isWaitingUserInput ? ` squizChatUIFooter__newChat--active` : ``}${isNewChat ? ` squizChatUIFooter__newChat--disabled` : ``}` },
react_1.default.createElement(NewChatIcon_1.NewChatIcon, null),

@@ -49,5 +49,5 @@ react_1.default.createElement(NewChatIcon_1.NewChatIconHover, null),

react_1.default.createElement("span", { className: "squizChatUIFooter__separator" }),
react_1.default.createElement("div", { className: "squizChatUIFooter__rateChat" },
react_1.default.createElement("div", { className: `squizChatUIFooter__rateChat ${isNewChat ? 'squizChatUIFooter__rateChat--disabled' : ''}` },
react_1.default.createElement("span", { className: "squizChatUIFooter__rateChatLabel" }, "Rate chat"),
react_1.default.createElement("button", { "aria-label": "Rate chat response good", "aria-checked": rating === true ? true : false, disabled: isProcessingRating, onClick: () => handleSetRating(true), className: "squizChatUIFooter__rateGood" },
react_1.default.createElement("button", { "aria-label": "Rate chat response good", "aria-checked": rating === true ? true : false, disabled: isProcessingRating || isNewChat, onClick: () => handleSetRating(true), className: "squizChatUIFooter__rateGood" },
rating !== true && (react_1.default.createElement(react_1.default.Fragment, null,

@@ -57,3 +57,3 @@ react_1.default.createElement(ThumbUpIcon_1.ThumbUpIcon, null),

rating === true && react_1.default.createElement(ThumbUpIcon_1.ThumbUpIconSelected, null)),
react_1.default.createElement("button", { "aria-label": "Rate chat response bad", "aria-checked": rating === false ? true : false, disabled: isProcessingRating, onClick: () => handleSetRating(false), className: "squizChatUIFooter__rateBad" },
react_1.default.createElement("button", { "aria-label": "Rate chat response bad", "aria-checked": rating === false ? true : false, disabled: isProcessingRating || isNewChat, onClick: () => handleSetRating(false), className: "squizChatUIFooter__rateBad" },
rating !== false && (react_1.default.createElement(react_1.default.Fragment, null,

@@ -65,2 +65,2 @@ react_1.default.createElement(ThumbDownIcon_1.ThumbDownIcon, null),

exports.ChatFooter = ChatFooter;
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ2hhdEZvb3Rlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb21wb25lbnRzL0NoYXRGb290ZXIvQ2hhdEZvb3Rlci50c3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSwrQ0FBMkM7QUFDM0MseURBQXdFO0FBQ3hFLHlEQUE2RjtBQUM3Riw2REFBcUc7QUFROUYsTUFBTSxVQUFVLEdBQUcsQ0FBQyxFQUFFLE1BQU0sRUFBRSxrQkFBa0IsRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFtQixFQUFFLEVBQUU7SUFDbkcsTUFBTSxlQUFlLEdBQUcsSUFBQSxtQkFBVyxFQUNqQyxDQUFDLFlBQXFCLEVBQUUsRUFBRTtRQUN4QixJQUFJLENBQUM7WUFFSCxJQUFJLFlBQVksS0FBSyxNQUFNLEVBQUUsQ0FBQztnQkFDNUIsVUFBVSxDQUFDLFlBQVksQ0FBQyxDQUFDO1lBQzNCLENBQUM7UUFDSCxDQUFDO1FBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQztRQUViLENBQUM7SUFDSCxDQUFDLEVBQ0QsQ0FBQyxNQUFNLEVBQUUsVUFBVSxDQUFDLENBQ3JCLENBQUM7SUFFRixPQUFPLENBQ0wsdUNBQUssU0FBUyxFQUFDLG1CQUFtQjtRQUNoQywwQ0FBUSxPQUFPLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBQyw0QkFBNEI7WUFDaEUsOEJBQUMseUJBQVcsT0FBRztZQUNmLDhCQUFDLDhCQUFnQixPQUFHO1lBQ3BCLHdDQUFNLFNBQVMsRUFBQyxpQ0FBaUMsZUFBZ0IsQ0FDMUQ7UUFDVCx3Q0FBTSxTQUFTLEVBQUMsOEJBQThCLEdBQUc7UUFDakQsdUNBQUssU0FBUyxFQUFDLDZCQUE2QjtZQUMxQyx3Q0FBTSxTQUFTLEVBQUMsa0NBQWtDLGdCQUFpQjtZQUNuRSx3REFDYSx5QkFBeUIsa0JBQ3RCLE1BQU0sS0FBSyxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsS0FBSyxFQUM1QyxRQUFRLEVBQUUsa0JBQWtCLEVBQzVCLE9BQU8sRUFBRSxHQUFHLEVBQUUsQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLEVBQ3BDLFNBQVMsRUFBQyw2QkFBNkI7Z0JBRXRDLE1BQU0sS0FBSyxJQUFJLElBQUksQ0FDbEI7b0JBQ0UsOEJBQUMseUJBQVcsT0FBRztvQkFDZiw4QkFBQyw4QkFBZ0IsT0FBRyxDQUNuQixDQUNKO2dCQUNBLE1BQU0sS0FBSyxJQUFJLElBQUksOEJBQUMsaUNBQW1CLE9BQUcsQ0FDcEM7WUFDVCx3REFDYSx3QkFBd0Isa0JBQ3JCLE1BQU0sS0FBSyxLQUFLLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsS0FBSyxFQUM3QyxRQUFRLEVBQUUsa0JBQWtCLEVBQzVCLE9BQU8sRUFBRSxHQUFHLEVBQUUsQ0FBQyxlQUFlLENBQUMsS0FBSyxDQUFDLEVBQ3JDLFNBQVMsRUFBQyw0QkFBNEI7Z0JBRXJDLE1BQU0sS0FBSyxLQUFLLElBQUksQ0FDbkI7b0JBQ0UsOEJBQUMsNkJBQWEsT0FBRztvQkFDakIsOEJBQUMsa0NBQWtCLE9BQUcsQ0FDckIsQ0FDSjtnQkFDQSxNQUFNLEtBQUssS0FBSyxJQUFJLDhCQUFDLHFDQUFxQixPQUFHLENBQ3ZDLENBQ0wsQ0FDRixDQUNQLENBQUM7QUFDSixDQUFDLENBQUM7QUExRFcsUUFBQSxVQUFVLGNBMERyQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBSZWFjdCwgeyB1c2VDYWxsYmFjayB9IGZyb20gJ3JlYWN0JztcbmltcG9ydCB7IE5ld0NoYXRJY29uLCBOZXdDaGF0SWNvbkhvdmVyIH0gZnJvbSAnLi4vLi4vaWNvbnMvTmV3Q2hhdEljb24nO1xuaW1wb3J0IHsgVGh1bWJVcEljb24sIFRodW1iVXBJY29uSG92ZXIsIFRodW1iVXBJY29uU2VsZWN0ZWQgfSBmcm9tICcuLi8uLi9pY29ucy9UaHVtYlVwSWNvbic7XG5pbXBvcnQgeyBUaHVtYkRvd25JY29uLCBUaHVtYkRvd25JY29uSG92ZXIsIFRodW1iRG93bkljb25TZWxlY3RlZCB9IGZyb20gJy4uLy4uL2ljb25zL1RodW1iRG93bkljb24nO1xuXG5leHBvcnQgdHlwZSBDaGF0Rm9vdGVyUHJvcHMgPSB7XG4gIHJhdGluZzogYm9vbGVhbiB8IG51bGw7XG4gIGlzUHJvY2Vzc2luZ1JhdGluZzogYm9vbGVhbjtcbiAgb25OZXdDaGF0OiAoKSA9PiB2b2lkO1xuICBvblJhdGVDaGF0OiAocG9zaXRpdmVSYXRpbmc6IGJvb2xlYW4pID0+IHZvaWQ7XG59O1xuZXhwb3J0IGNvbnN0IENoYXRGb290ZXIgPSAoeyByYXRpbmcsIGlzUHJvY2Vzc2luZ1JhdGluZywgb25OZXdDaGF0LCBvblJhdGVDaGF0IH06IENoYXRGb290ZXJQcm9wcykgPT4ge1xuICBjb25zdCBoYW5kbGVTZXRSYXRpbmcgPSB1c2VDYWxsYmFjayhcbiAgICAoY2hhbmdlUmF0aW5nOiBib29sZWFuKSA9PiB7XG4gICAgICB0cnkge1xuICAgICAgICAvLyBJdCBpcyBub3QgcG9zc2libGUgdG8gdW5zZXQgYSByYXRpbmdcbiAgICAgICAgaWYgKGNoYW5nZVJhdGluZyAhPT0gcmF0aW5nKSB7XG4gICAgICAgICAgb25SYXRlQ2hhdChjaGFuZ2VSYXRpbmcpO1xuICAgICAgICB9XG4gICAgICB9IGNhdGNoIChlKSB7XG4gICAgICAgIC8vIElmIG5vIHRocmVhZCBleGlzdHMgeWV0IGl0IGNhbm5vdCBiZSByYXRlZFxuICAgICAgfVxuICAgIH0sXG4gICAgW3JhdGluZywgb25SYXRlQ2hhdF0sXG4gICk7XG5cbiAgcmV0dXJuIChcbiAgICA8ZGl2IGNsYXNzTmFtZT1cInNxdWl6Q2hhdFVJRm9vdGVyXCI+XG4gICAgICA8YnV0dG9uIG9uQ2xpY2s9e29uTmV3Q2hhdH0gY2xhc3NOYW1lPVwic3F1aXpDaGF0VUlGb290ZXJfX25ld0NoYXRcIj5cbiAgICAgICAgPE5ld0NoYXRJY29uIC8+XG4gICAgICAgIDxOZXdDaGF0SWNvbkhvdmVyIC8+XG4gICAgICAgIDxzcGFuIGNsYXNzTmFtZT1cInNxdWl6Q2hhdFVJRm9vdGVyX19uZXdDaGF0TGFiZWxcIj5OZXcgY2hhdDwvc3Bhbj5cbiAgICAgIDwvYnV0dG9uPlxuICAgICAgPHNwYW4gY2xhc3NOYW1lPVwic3F1aXpDaGF0VUlGb290ZXJfX3NlcGFyYXRvclwiIC8+XG4gICAgICA8ZGl2IGNsYXNzTmFtZT1cInNxdWl6Q2hhdFVJRm9vdGVyX19yYXRlQ2hhdFwiPlxuICAgICAgICA8c3BhbiBjbGFzc05hbWU9XCJzcXVpekNoYXRVSUZvb3Rlcl9fcmF0ZUNoYXRMYWJlbFwiPlJhdGUgY2hhdDwvc3Bhbj5cbiAgICAgICAgPGJ1dHRvblxuICAgICAgICAgIGFyaWEtbGFiZWw9XCJSYXRlIGNoYXQgcmVzcG9uc2UgZ29vZFwiXG4gICAgICAgICAgYXJpYS1jaGVja2VkPXtyYXRpbmcgPT09IHRydWUgPyB0cnVlIDogZmFsc2V9XG4gICAgICAgICAgZGlzYWJsZWQ9e2lzUHJvY2Vzc2luZ1JhdGluZ31cbiAgICAgICAgICBvbkNsaWNrPXsoKSA9PiBoYW5kbGVTZXRSYXRpbmcodHJ1ZSl9XG4gICAgICAgICAgY2xhc3NOYW1lPVwic3F1aXpDaGF0VUlGb290ZXJfX3JhdGVHb29kXCJcbiAgICAgICAgPlxuICAgICAgICAgIHtyYXRpbmcgIT09IHRydWUgJiYgKFxuICAgICAgICAgICAgPD5cbiAgICAgICAgICAgICAgPFRodW1iVXBJY29uIC8+XG4gICAgICAgICAgICAgIDxUaHVtYlVwSWNvbkhvdmVyIC8+XG4gICAgICAgICAgICA8Lz5cbiAgICAgICAgICApfVxuICAgICAgICAgIHtyYXRpbmcgPT09IHRydWUgJiYgPFRodW1iVXBJY29uU2VsZWN0ZWQgLz59XG4gICAgICAgIDwvYnV0dG9uPlxuICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgYXJpYS1sYWJlbD1cIlJhdGUgY2hhdCByZXNwb25zZSBiYWRcIlxuICAgICAgICAgIGFyaWEtY2hlY2tlZD17cmF0aW5nID09PSBmYWxzZSA/IHRydWUgOiBmYWxzZX1cbiAgICAgICAgICBkaXNhYmxlZD17aXNQcm9jZXNzaW5nUmF0aW5nfVxuICAgICAgICAgIG9uQ2xpY2s9eygpID0+IGhhbmRsZVNldFJhdGluZyhmYWxzZSl9XG4gICAgICAgICAgY2xhc3NOYW1lPVwic3F1aXpDaGF0VUlGb290ZXJfX3JhdGVCYWRcIlxuICAgICAgICA+XG4gICAgICAgICAge3JhdGluZyAhPT0gZmFsc2UgJiYgKFxuICAgICAgICAgICAgPD5cbiAgICAgICAgICAgICAgPFRodW1iRG93bkljb24gLz5cbiAgICAgICAgICAgICAgPFRodW1iRG93bkljb25Ib3ZlciAvPlxuICAgICAgICAgICAgPC8+XG4gICAgICAgICAgKX1cbiAgICAgICAgICB7cmF0aW5nID09PSBmYWxzZSAmJiA8VGh1bWJEb3duSWNvblNlbGVjdGVkIC8+fVxuICAgICAgICA8L2J1dHRvbj5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICApO1xufTtcbiJdfQ==
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ2hhdEZvb3Rlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb21wb25lbnRzL0NoYXRGb290ZXIvQ2hhdEZvb3Rlci50c3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSwrQ0FBMkM7QUFDM0MseURBQXdFO0FBQ3hFLHlEQUE2RjtBQUM3Riw2REFBcUc7QUFXOUYsTUFBTSxVQUFVLEdBQUcsQ0FBQyxFQUN6QixNQUFNLEVBQ04sa0JBQWtCLEVBQ2xCLGtCQUFrQixFQUNsQixTQUFTLEVBQ1QsU0FBUyxFQUNULFVBQVUsR0FDTSxFQUFFLEVBQUU7SUFDcEIsTUFBTSxlQUFlLEdBQUcsSUFBQSxtQkFBVyxFQUNqQyxDQUFDLFlBQXFCLEVBQUUsRUFBRTtRQUN4QixJQUFJLENBQUM7WUFFSCxJQUFJLFlBQVksS0FBSyxNQUFNLEVBQUUsQ0FBQztnQkFDNUIsVUFBVSxDQUFDLFlBQVksQ0FBQyxDQUFDO1lBQzNCLENBQUM7UUFDSCxDQUFDO1FBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQztRQUViLENBQUM7SUFDSCxDQUFDLEVBQ0QsQ0FBQyxNQUFNLEVBQUUsVUFBVSxDQUFDLENBQ3JCLENBQUM7SUFFRixPQUFPLENBQ0wsdUNBQUssU0FBUyxFQUFDLG1CQUFtQjtRQUNoQywwQ0FDRSxRQUFRLEVBQUUsa0JBQWtCLElBQUksU0FBUyxFQUN6QyxPQUFPLEVBQUUsU0FBUyxFQUNsQixTQUFTLEVBQUUsNkJBQTZCLGtCQUFrQixDQUFDLENBQUMsQ0FBQyxxQ0FBcUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxHQUFHLFNBQVMsQ0FBQyxDQUFDLENBQUMsdUNBQXVDLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRTtZQUVwSyw4QkFBQyx5QkFBVyxPQUFHO1lBQ2YsOEJBQUMsOEJBQWdCLE9BQUc7WUFDcEIsd0NBQU0sU0FBUyxFQUFDLGlDQUFpQyxlQUFnQixDQUMxRDtRQUNULHdDQUFNLFNBQVMsRUFBQyw4QkFBOEIsR0FBRztRQUNqRCx1Q0FBSyxTQUFTLEVBQUUsK0JBQStCLFNBQVMsQ0FBQyxDQUFDLENBQUMsdUNBQXVDLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRTtZQUN2Ryx3Q0FBTSxTQUFTLEVBQUMsa0NBQWtDLGdCQUFpQjtZQUNuRSx3REFDYSx5QkFBeUIsa0JBQ3RCLE1BQU0sS0FBSyxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsS0FBSyxFQUM1QyxRQUFRLEVBQUUsa0JBQWtCLElBQUksU0FBUyxFQUN6QyxPQUFPLEVBQUUsR0FBRyxFQUFFLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxFQUNwQyxTQUFTLEVBQUMsNkJBQTZCO2dCQUV0QyxNQUFNLEtBQUssSUFBSSxJQUFJLENBQ2xCO29CQUNFLDhCQUFDLHlCQUFXLE9BQUc7b0JBQ2YsOEJBQUMsOEJBQWdCLE9BQUcsQ0FDbkIsQ0FDSjtnQkFDQSxNQUFNLEtBQUssSUFBSSxJQUFJLDhCQUFDLGlDQUFtQixPQUFHLENBQ3BDO1lBQ1Qsd0RBQ2Esd0JBQXdCLGtCQUNyQixNQUFNLEtBQUssS0FBSyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEtBQUssRUFDN0MsUUFBUSxFQUFFLGtCQUFrQixJQUFJLFNBQVMsRUFDekMsT0FBTyxFQUFFLEdBQUcsRUFBRSxDQUFDLGVBQWUsQ0FBQyxLQUFLLENBQUMsRUFDckMsU0FBUyxFQUFDLDRCQUE0QjtnQkFFckMsTUFBTSxLQUFLLEtBQUssSUFBSSxDQUNuQjtvQkFDRSw4QkFBQyw2QkFBYSxPQUFHO29CQUNqQiw4QkFBQyxrQ0FBa0IsT0FBRyxDQUNyQixDQUNKO2dCQUNBLE1BQU0sS0FBSyxLQUFLLElBQUksOEJBQUMscUNBQXFCLE9BQUcsQ0FDdkMsQ0FDTCxDQUNGLENBQ1AsQ0FBQztBQUNKLENBQUMsQ0FBQztBQXJFVyxRQUFBLFVBQVUsY0FxRXJCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0LCB7IHVzZUNhbGxiYWNrIH0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IHsgTmV3Q2hhdEljb24sIE5ld0NoYXRJY29uSG92ZXIgfSBmcm9tICcuLi8uLi9pY29ucy9OZXdDaGF0SWNvbic7XG5pbXBvcnQgeyBUaHVtYlVwSWNvbiwgVGh1bWJVcEljb25Ib3ZlciwgVGh1bWJVcEljb25TZWxlY3RlZCB9IGZyb20gJy4uLy4uL2ljb25zL1RodW1iVXBJY29uJztcbmltcG9ydCB7IFRodW1iRG93bkljb24sIFRodW1iRG93bkljb25Ib3ZlciwgVGh1bWJEb3duSWNvblNlbGVjdGVkIH0gZnJvbSAnLi4vLi4vaWNvbnMvVGh1bWJEb3duSWNvbic7XG5cbmV4cG9ydCB0eXBlIENoYXRGb290ZXJQcm9wcyA9IHtcbiAgcmF0aW5nOiBib29sZWFuIHwgbnVsbDtcbiAgaXNQcm9jZXNzaW5nUmF0aW5nOiBib29sZWFuO1xuICBpc1dhaXRpbmdSZXNwb25zZTogYm9vbGVhbjtcbiAgaXNXYWl0aW5nVXNlcklucHV0OiBib29sZWFuO1xuICBpc05ld0NoYXQ6IGJvb2xlYW47XG4gIG9uTmV3Q2hhdDogKCkgPT4gdm9pZDtcbiAgb25SYXRlQ2hhdDogKHBvc2l0aXZlUmF0aW5nOiBib29sZWFuKSA9PiB2b2lkO1xufTtcbmV4cG9ydCBjb25zdCBDaGF0Rm9vdGVyID0gKHtcbiAgcmF0aW5nLFxuICBpc1Byb2Nlc3NpbmdSYXRpbmcsXG4gIGlzV2FpdGluZ1VzZXJJbnB1dCxcbiAgaXNOZXdDaGF0LFxuICBvbk5ld0NoYXQsXG4gIG9uUmF0ZUNoYXQsXG59OiBDaGF0Rm9vdGVyUHJvcHMpID0+IHtcbiAgY29uc3QgaGFuZGxlU2V0UmF0aW5nID0gdXNlQ2FsbGJhY2soXG4gICAgKGNoYW5nZVJhdGluZzogYm9vbGVhbikgPT4ge1xuICAgICAgdHJ5IHtcbiAgICAgICAgLy8gSXQgaXMgbm90IHBvc3NpYmxlIHRvIHVuc2V0IGEgcmF0aW5nXG4gICAgICAgIGlmIChjaGFuZ2VSYXRpbmcgIT09IHJhdGluZykge1xuICAgICAgICAgIG9uUmF0ZUNoYXQoY2hhbmdlUmF0aW5nKTtcbiAgICAgICAgfVxuICAgICAgfSBjYXRjaCAoZSkge1xuICAgICAgICAvLyBJZiBubyB0aHJlYWQgZXhpc3RzIHlldCBpdCBjYW5ub3QgYmUgcmF0ZWRcbiAgICAgIH1cbiAgICB9LFxuICAgIFtyYXRpbmcsIG9uUmF0ZUNoYXRdLFxuICApO1xuXG4gIHJldHVybiAoXG4gICAgPGRpdiBjbGFzc05hbWU9XCJzcXVpekNoYXRVSUZvb3RlclwiPlxuICAgICAgPGJ1dHRvblxuICAgICAgICBkaXNhYmxlZD17aXNXYWl0aW5nVXNlcklucHV0IHx8IGlzTmV3Q2hhdH1cbiAgICAgICAgb25DbGljaz17b25OZXdDaGF0fVxuICAgICAgICBjbGFzc05hbWU9e2BzcXVpekNoYXRVSUZvb3Rlcl9fbmV3Q2hhdCR7aXNXYWl0aW5nVXNlcklucHV0ID8gYCBzcXVpekNoYXRVSUZvb3Rlcl9fbmV3Q2hhdC0tYWN0aXZlYCA6IGBgfSR7aXNOZXdDaGF0ID8gYCBzcXVpekNoYXRVSUZvb3Rlcl9fbmV3Q2hhdC0tZGlzYWJsZWRgIDogYGB9YH1cbiAgICAgID5cbiAgICAgICAgPE5ld0NoYXRJY29uIC8+XG4gICAgICAgIDxOZXdDaGF0SWNvbkhvdmVyIC8+XG4gICAgICAgIDxzcGFuIGNsYXNzTmFtZT1cInNxdWl6Q2hhdFVJRm9vdGVyX19uZXdDaGF0TGFiZWxcIj5OZXcgY2hhdDwvc3Bhbj5cbiAgICAgIDwvYnV0dG9uPlxuICAgICAgPHNwYW4gY2xhc3NOYW1lPVwic3F1aXpDaGF0VUlGb290ZXJfX3NlcGFyYXRvclwiIC8+XG4gICAgICA8ZGl2IGNsYXNzTmFtZT17YHNxdWl6Q2hhdFVJRm9vdGVyX19yYXRlQ2hhdCAke2lzTmV3Q2hhdCA/ICdzcXVpekNoYXRVSUZvb3Rlcl9fcmF0ZUNoYXQtLWRpc2FibGVkJyA6ICcnfWB9PlxuICAgICAgICA8c3BhbiBjbGFzc05hbWU9XCJzcXVpekNoYXRVSUZvb3Rlcl9fcmF0ZUNoYXRMYWJlbFwiPlJhdGUgY2hhdDwvc3Bhbj5cbiAgICAgICAgPGJ1dHRvblxuICAgICAgICAgIGFyaWEtbGFiZWw9XCJSYXRlIGNoYXQgcmVzcG9uc2UgZ29vZFwiXG4gICAgICAgICAgYXJpYS1jaGVja2VkPXtyYXRpbmcgPT09IHRydWUgPyB0cnVlIDogZmFsc2V9XG4gICAgICAgICAgZGlzYWJsZWQ9e2lzUHJvY2Vzc2luZ1JhdGluZyB8fCBpc05ld0NoYXR9XG4gICAgICAgICAgb25DbGljaz17KCkgPT4gaGFuZGxlU2V0UmF0aW5nKHRydWUpfVxuICAgICAgICAgIGNsYXNzTmFtZT1cInNxdWl6Q2hhdFVJRm9vdGVyX19yYXRlR29vZFwiXG4gICAgICAgID5cbiAgICAgICAgICB7cmF0aW5nICE9PSB0cnVlICYmIChcbiAgICAgICAgICAgIDw+XG4gICAgICAgICAgICAgIDxUaHVtYlVwSWNvbiAvPlxuICAgICAgICAgICAgICA8VGh1bWJVcEljb25Ib3ZlciAvPlxuICAgICAgICAgICAgPC8+XG4gICAgICAgICAgKX1cbiAgICAgICAgICB7cmF0aW5nID09PSB0cnVlICYmIDxUaHVtYlVwSWNvblNlbGVjdGVkIC8+fVxuICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgPGJ1dHRvblxuICAgICAgICAgIGFyaWEtbGFiZWw9XCJSYXRlIGNoYXQgcmVzcG9uc2UgYmFkXCJcbiAgICAgICAgICBhcmlhLWNoZWNrZWQ9e3JhdGluZyA9PT0gZmFsc2UgPyB0cnVlIDogZmFsc2V9XG4gICAgICAgICAgZGlzYWJsZWQ9e2lzUHJvY2Vzc2luZ1JhdGluZyB8fCBpc05ld0NoYXR9XG4gICAgICAgICAgb25DbGljaz17KCkgPT4gaGFuZGxlU2V0UmF0aW5nKGZhbHNlKX1cbiAgICAgICAgICBjbGFzc05hbWU9XCJzcXVpekNoYXRVSUZvb3Rlcl9fcmF0ZUJhZFwiXG4gICAgICAgID5cbiAgICAgICAgICB7cmF0aW5nICE9PSBmYWxzZSAmJiAoXG4gICAgICAgICAgICA8PlxuICAgICAgICAgICAgICA8VGh1bWJEb3duSWNvbiAvPlxuICAgICAgICAgICAgICA8VGh1bWJEb3duSWNvbkhvdmVyIC8+XG4gICAgICAgICAgICA8Lz5cbiAgICAgICAgICApfVxuICAgICAgICAgIHtyYXRpbmcgPT09IGZhbHNlICYmIDxUaHVtYkRvd25JY29uU2VsZWN0ZWQgLz59XG4gICAgICAgIDwvYnV0dG9uPlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gICk7XG59O1xuIl19

@@ -14,10 +14,40 @@ "use strict";

const onRateChat = jest.fn();
(0, react_2.render)(react_1.default.createElement(ChatFooter_1.ChatFooter, { rating: null, isProcessingRating: false, onNewChat: onNewChat, onRateChat: onRateChat }));
(0, react_2.render)(react_1.default.createElement(ChatFooter_1.ChatFooter, { rating: null, isProcessingRating: false, isWaitingUserInput: false, isNewChat: false, isWaitingResponse: false, onNewChat: onNewChat, onRateChat: onRateChat }));
react_2.fireEvent.click(react_2.screen.getByText('New chat'));
expect(onNewChat).toHaveBeenCalled();
});
it('ChatFooter will disable new chat button if its a new chat', async () => {
const onNewChat = jest.fn();
const onRateChat = jest.fn();
(0, react_2.render)(react_1.default.createElement(ChatFooter_1.ChatFooter, { rating: null, isProcessingRating: false, isWaitingUserInput: false, isNewChat: true, isWaitingResponse: false, onNewChat: onNewChat, onRateChat: onRateChat }));
react_2.fireEvent.click(react_2.screen.getByText('New chat'));
expect(onNewChat).not.toHaveBeenCalled();
});
it('ChatFooter will not disable new chat button if waiting for response', async () => {
const onNewChat = jest.fn();
const onRateChat = jest.fn();
(0, react_2.render)(react_1.default.createElement(ChatFooter_1.ChatFooter, { rating: null, isProcessingRating: false, isWaitingUserInput: false, isNewChat: false, isWaitingResponse: false, onNewChat: onNewChat, onRateChat: onRateChat }));
react_2.fireEvent.click(react_2.screen.getByText('New chat'));
expect(onNewChat).toHaveBeenCalledTimes(1);
});
it('ChatFooter will disable new chat button if waiting for user input', async () => {
const onNewChat = jest.fn();
const onRateChat = jest.fn();
(0, react_2.render)(react_1.default.createElement(ChatFooter_1.ChatFooter, { rating: null, isProcessingRating: false, isWaitingUserInput: true, isNewChat: false, isWaitingResponse: false, onNewChat: onNewChat, onRateChat: onRateChat }));
react_2.fireEvent.click(react_2.screen.getByText('New chat'));
expect(onNewChat).not.toHaveBeenCalled();
});
it('ChatFooter will disable rating button if its new chat', async () => {
const onNewChat = jest.fn();
const onRateChat = jest.fn();
(0, react_2.render)(react_1.default.createElement(ChatFooter_1.ChatFooter, { rating: null, isProcessingRating: false, isWaitingUserInput: false, isNewChat: true, isWaitingResponse: false, onNewChat: onNewChat, onRateChat: onRateChat }));
react_2.fireEvent.click(react_2.screen.getByLabelText('Rate chat response good'));
expect(onRateChat).not.toHaveBeenCalledWith();
react_2.fireEvent.click(react_2.screen.getByLabelText('Rate chat response bad'));
expect(onRateChat).not.toHaveBeenCalledWith();
});
it('ChatFooter will call context onRateChat with boolean true when good rating is pressed', async () => {
const onNewChat = jest.fn();
const onRateChat = jest.fn();
(0, react_2.render)(react_1.default.createElement(ChatFooter_1.ChatFooter, { rating: null, isProcessingRating: false, onNewChat: onNewChat, onRateChat: onRateChat }));
(0, react_2.render)(react_1.default.createElement(ChatFooter_1.ChatFooter, { rating: null, isProcessingRating: false, isWaitingUserInput: false, isNewChat: false, isWaitingResponse: false, onNewChat: onNewChat, onRateChat: onRateChat }));
react_2.fireEvent.click(react_2.screen.getByLabelText('Rate chat response good'));

@@ -29,3 +59,3 @@ expect(onRateChat).toHaveBeenCalledWith(true);

const onRateChat = jest.fn();
(0, react_2.render)(react_1.default.createElement(ChatFooter_1.ChatFooter, { rating: true, isProcessingRating: false, onNewChat: onNewChat, onRateChat: onRateChat }));
(0, react_2.render)(react_1.default.createElement(ChatFooter_1.ChatFooter, { rating: true, isProcessingRating: false, isWaitingUserInput: false, isNewChat: false, isWaitingResponse: false, onNewChat: onNewChat, onRateChat: onRateChat }));
expect(react_2.screen.getByLabelText('Rate chat response good').getAttribute('aria-checked')).toEqual('true');

@@ -37,3 +67,3 @@ expect(react_2.screen.getByLabelText('Rate chat response bad').getAttribute('aria-checked')).toEqual('false');

const onRateChat = jest.fn();
(0, react_2.render)(react_1.default.createElement(ChatFooter_1.ChatFooter, { rating: null, isProcessingRating: false, onNewChat: onNewChat, onRateChat: onRateChat }));
(0, react_2.render)(react_1.default.createElement(ChatFooter_1.ChatFooter, { rating: null, isProcessingRating: false, isWaitingUserInput: false, isNewChat: false, isWaitingResponse: false, onNewChat: onNewChat, onRateChat: onRateChat }));
react_2.fireEvent.click(react_2.screen.getByLabelText('Rate chat response bad'));

@@ -45,3 +75,3 @@ expect(onRateChat).toHaveBeenCalledWith(false);

const onRateChat = jest.fn();
(0, react_2.render)(react_1.default.createElement(ChatFooter_1.ChatFooter, { rating: false, isProcessingRating: false, onNewChat: onNewChat, onRateChat: onRateChat }));
(0, react_2.render)(react_1.default.createElement(ChatFooter_1.ChatFooter, { rating: false, isProcessingRating: false, isWaitingUserInput: false, isNewChat: false, isWaitingResponse: false, onNewChat: onNewChat, onRateChat: onRateChat }));
expect(react_2.screen.getByLabelText('Rate chat response good').getAttribute('aria-checked')).toEqual('false');

@@ -51,2 +81,2 @@ expect(react_2.screen.getByLabelText('Rate chat response bad').getAttribute('aria-checked')).toEqual('true');

});
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ2hhdEZvb3Rlci5zcGVjLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvQ2hhdEZvb3Rlci9DaGF0Rm9vdGVyLnNwZWMudHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsa0RBQTBCO0FBQzFCLGtEQUFtRTtBQUNuRSxxQ0FBbUM7QUFDbkMsNkNBQTBDO0FBRTFDLFFBQVEsQ0FBQyxhQUFhLEVBQUUsR0FBRyxFQUFFO0lBQzNCLEVBQUUsQ0FBQyxtRUFBbUUsRUFBRSxLQUFLLElBQUksRUFBRTtRQUNqRixNQUFNLFNBQVMsR0FBRyxJQUFJLENBQUMsRUFBRSxFQUFFLENBQUM7UUFDNUIsTUFBTSxVQUFVLEdBQUcsSUFBSSxDQUFDLEVBQUUsRUFBRSxDQUFDO1FBQzdCLElBQUEsY0FBTSxFQUFDLDhCQUFDLHVCQUFVLElBQUMsTUFBTSxFQUFFLElBQUksRUFBRSxrQkFBa0IsRUFBRSxLQUFLLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsVUFBVSxHQUFJLENBQUMsQ0FBQztRQUM5RyxpQkFBUyxDQUFDLEtBQUssQ0FBQyxjQUFNLENBQUMsU0FBUyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUM7UUFDOUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUFDLGdCQUFnQixFQUFFLENBQUM7SUFDdkMsQ0FBQyxDQUFDLENBQUM7SUFFSCxFQUFFLENBQUMsdUZBQXVGLEVBQUUsS0FBSyxJQUFJLEVBQUU7UUFDckcsTUFBTSxTQUFTLEdBQUcsSUFBSSxDQUFDLEVBQUUsRUFBRSxDQUFDO1FBQzVCLE1BQU0sVUFBVSxHQUFHLElBQUksQ0FBQyxFQUFFLEVBQUUsQ0FBQztRQUM3QixJQUFBLGNBQU0sRUFBQyw4QkFBQyx1QkFBVSxJQUFDLE1BQU0sRUFBRSxJQUFJLEVBQUUsa0JBQWtCLEVBQUUsS0FBSyxFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFFLFVBQVUsR0FBSSxDQUFDLENBQUM7UUFDOUcsaUJBQVMsQ0FBQyxLQUFLLENBQUMsY0FBTSxDQUFDLGNBQWMsQ0FBQyx5QkFBeUIsQ0FBQyxDQUFDLENBQUM7UUFDbEUsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFDLG9CQUFvQixDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ2hELENBQUMsQ0FBQyxDQUFDO0lBRUgsRUFBRSxDQUFDLG9FQUFvRSxFQUFFLEtBQUssSUFBSSxFQUFFO1FBQ2xGLE1BQU0sU0FBUyxHQUFHLElBQUksQ0FBQyxFQUFFLEVBQUUsQ0FBQztRQUM1QixNQUFNLFVBQVUsR0FBRyxJQUFJLENBQUMsRUFBRSxFQUFFLENBQUM7UUFDN0IsSUFBQSxjQUFNLEVBQUMsOEJBQUMsdUJBQVUsSUFBQyxNQUFNLEVBQUUsSUFBSSxFQUFFLGtCQUFrQixFQUFFLEtBQUssRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxVQUFVLEdBQUksQ0FBQyxDQUFDO1FBRTlHLE1BQU0sQ0FBQyxjQUFNLENBQUMsY0FBYyxDQUFDLHlCQUF5QixDQUFDLENBQUMsWUFBWSxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ3RHLE1BQU0sQ0FBQyxjQUFNLENBQUMsY0FBYyxDQUFDLHdCQUF3QixDQUFDLENBQUMsWUFBWSxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQ3hHLENBQUMsQ0FBQyxDQUFDO0lBRUgsRUFBRSxDQUFDLHVGQUF1RixFQUFFLEtBQUssSUFBSSxFQUFFO1FBQ3JHLE1BQU0sU0FBUyxHQUFHLElBQUksQ0FBQyxFQUFFLEVBQUUsQ0FBQztRQUM1QixNQUFNLFVBQVUsR0FBRyxJQUFJLENBQUMsRUFBRSxFQUFFLENBQUM7UUFDN0IsSUFBQSxjQUFNLEVBQUMsOEJBQUMsdUJBQVUsSUFBQyxNQUFNLEVBQUUsSUFBSSxFQUFFLGtCQUFrQixFQUFFLEtBQUssRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxVQUFVLEdBQUksQ0FBQyxDQUFDO1FBQzlHLGlCQUFTLENBQUMsS0FBSyxDQUFDLGNBQU0sQ0FBQyxjQUFjLENBQUMsd0JBQXdCLENBQUMsQ0FBQyxDQUFDO1FBQ2pFLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQyxvQkFBb0IsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNqRCxDQUFDLENBQUMsQ0FBQztJQUVILEVBQUUsQ0FBQyxxRUFBcUUsRUFBRSxLQUFLLElBQUksRUFBRTtRQUNuRixNQUFNLFNBQVMsR0FBRyxJQUFJLENBQUMsRUFBRSxFQUFFLENBQUM7UUFDNUIsTUFBTSxVQUFVLEdBQUcsSUFBSSxDQUFDLEVBQUUsRUFBRSxDQUFDO1FBQzdCLElBQUEsY0FBTSxFQUFDLDhCQUFDLHVCQUFVLElBQUMsTUFBTSxFQUFFLEtBQUssRUFBRSxrQkFBa0IsRUFBRSxLQUFLLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsVUFBVSxHQUFJLENBQUMsQ0FBQztRQUUvRyxNQUFNLENBQUMsY0FBTSxDQUFDLGNBQWMsQ0FBQyx5QkFBeUIsQ0FBQyxDQUFDLFlBQVksQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUN2RyxNQUFNLENBQUMsY0FBTSxDQUFDLGNBQWMsQ0FBQyx3QkFBd0IsQ0FBQyxDQUFDLFlBQVksQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUN2RyxDQUFDLENBQUMsQ0FBQztBQUNMLENBQUMsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0IGZyb20gJ3JlYWN0JztcbmltcG9ydCB7IHNjcmVlbiwgcmVuZGVyLCBmaXJlRXZlbnQgfSBmcm9tICdAdGVzdGluZy1saWJyYXJ5L3JlYWN0JztcbmltcG9ydCAnQHRlc3RpbmctbGlicmFyeS9qZXN0LWRvbSc7XG5pbXBvcnQgeyBDaGF0Rm9vdGVyIH0gZnJvbSAnLi9DaGF0Rm9vdGVyJztcblxuZGVzY3JpYmUoJ0NoYXRGb290ZXIgJywgKCkgPT4ge1xuICBpdCgnQ2hhdEZvb3RlciB3aWxsIGNhbGwgY29udGV4dCBvbk5ld0NoYXQgd2hlbiBuZXcgY2hhdCBpcyByZXF1ZXN0ZWQnLCBhc3luYyAoKSA9PiB7XG4gICAgY29uc3Qgb25OZXdDaGF0ID0gamVzdC5mbigpO1xuICAgIGNvbnN0IG9uUmF0ZUNoYXQgPSBqZXN0LmZuKCk7XG4gICAgcmVuZGVyKDxDaGF0Rm9vdGVyIHJhdGluZz17bnVsbH0gaXNQcm9jZXNzaW5nUmF0aW5nPXtmYWxzZX0gb25OZXdDaGF0PXtvbk5ld0NoYXR9IG9uUmF0ZUNoYXQ9e29uUmF0ZUNoYXR9IC8+KTtcbiAgICBmaXJlRXZlbnQuY2xpY2soc2NyZWVuLmdldEJ5VGV4dCgnTmV3IGNoYXQnKSk7XG4gICAgZXhwZWN0KG9uTmV3Q2hhdCkudG9IYXZlQmVlbkNhbGxlZCgpO1xuICB9KTtcblxuICBpdCgnQ2hhdEZvb3RlciB3aWxsIGNhbGwgY29udGV4dCBvblJhdGVDaGF0IHdpdGggYm9vbGVhbiB0cnVlIHdoZW4gZ29vZCByYXRpbmcgaXMgcHJlc3NlZCcsIGFzeW5jICgpID0+IHtcbiAgICBjb25zdCBvbk5ld0NoYXQgPSBqZXN0LmZuKCk7XG4gICAgY29uc3Qgb25SYXRlQ2hhdCA9IGplc3QuZm4oKTtcbiAgICByZW5kZXIoPENoYXRGb290ZXIgcmF0aW5nPXtudWxsfSBpc1Byb2Nlc3NpbmdSYXRpbmc9e2ZhbHNlfSBvbk5ld0NoYXQ9e29uTmV3Q2hhdH0gb25SYXRlQ2hhdD17b25SYXRlQ2hhdH0gLz4pO1xuICAgIGZpcmVFdmVudC5jbGljayhzY3JlZW4uZ2V0QnlMYWJlbFRleHQoJ1JhdGUgY2hhdCByZXNwb25zZSBnb29kJykpO1xuICAgIGV4cGVjdChvblJhdGVDaGF0KS50b0hhdmVCZWVuQ2FsbGVkV2l0aCh0cnVlKTtcbiAgfSk7XG5cbiAgaXQoJ0NoYXRGb290ZXIgd2lsbCBzZXQgcmF0aW5nIGJ1dHRvbiBjaGVja2VkIGZyb20gaW5wdXQgcmF0aW5nICh0cnVlKScsIGFzeW5jICgpID0+IHtcbiAgICBjb25zdCBvbk5ld0NoYXQgPSBqZXN0LmZuKCk7XG4gICAgY29uc3Qgb25SYXRlQ2hhdCA9IGplc3QuZm4oKTtcbiAgICByZW5kZXIoPENoYXRGb290ZXIgcmF0aW5nPXt0cnVlfSBpc1Byb2Nlc3NpbmdSYXRpbmc9e2ZhbHNlfSBvbk5ld0NoYXQ9e29uTmV3Q2hhdH0gb25SYXRlQ2hhdD17b25SYXRlQ2hhdH0gLz4pO1xuXG4gICAgZXhwZWN0KHNjcmVlbi5nZXRCeUxhYmVsVGV4dCgnUmF0ZSBjaGF0IHJlc3BvbnNlIGdvb2QnKS5nZXRBdHRyaWJ1dGUoJ2FyaWEtY2hlY2tlZCcpKS50b0VxdWFsKCd0cnVlJyk7XG4gICAgZXhwZWN0KHNjcmVlbi5nZXRCeUxhYmVsVGV4dCgnUmF0ZSBjaGF0IHJlc3BvbnNlIGJhZCcpLmdldEF0dHJpYnV0ZSgnYXJpYS1jaGVja2VkJykpLnRvRXF1YWwoJ2ZhbHNlJyk7XG4gIH0pO1xuXG4gIGl0KCdDaGF0Rm9vdGVyIHdpbGwgY2FsbCBjb250ZXh0IG9uUmF0ZUNoYXQgd2l0aCBib29sZWFuIGZhbHNlIHdoZW4gYmFkIHJhdGluZyBpcyBwcmVzc2VkJywgYXN5bmMgKCkgPT4ge1xuICAgIGNvbnN0IG9uTmV3Q2hhdCA9IGplc3QuZm4oKTtcbiAgICBjb25zdCBvblJhdGVDaGF0ID0gamVzdC5mbigpO1xuICAgIHJlbmRlcig8Q2hhdEZvb3RlciByYXRpbmc9e251bGx9IGlzUHJvY2Vzc2luZ1JhdGluZz17ZmFsc2V9IG9uTmV3Q2hhdD17b25OZXdDaGF0fSBvblJhdGVDaGF0PXtvblJhdGVDaGF0fSAvPik7XG4gICAgZmlyZUV2ZW50LmNsaWNrKHNjcmVlbi5nZXRCeUxhYmVsVGV4dCgnUmF0ZSBjaGF0IHJlc3BvbnNlIGJhZCcpKTtcbiAgICBleHBlY3Qob25SYXRlQ2hhdCkudG9IYXZlQmVlbkNhbGxlZFdpdGgoZmFsc2UpO1xuICB9KTtcblxuICBpdCgnQ2hhdEZvb3RlciB3aWxsIHNldCByYXRpbmcgYnV0dG9uIGNoZWNrZWQgZnJvbSBpbnB1dCByYXRpbmcgKGZhbHNlKScsIGFzeW5jICgpID0+IHtcbiAgICBjb25zdCBvbk5ld0NoYXQgPSBqZXN0LmZuKCk7XG4gICAgY29uc3Qgb25SYXRlQ2hhdCA9IGplc3QuZm4oKTtcbiAgICByZW5kZXIoPENoYXRGb290ZXIgcmF0aW5nPXtmYWxzZX0gaXNQcm9jZXNzaW5nUmF0aW5nPXtmYWxzZX0gb25OZXdDaGF0PXtvbk5ld0NoYXR9IG9uUmF0ZUNoYXQ9e29uUmF0ZUNoYXR9IC8+KTtcblxuICAgIGV4cGVjdChzY3JlZW4uZ2V0QnlMYWJlbFRleHQoJ1JhdGUgY2hhdCByZXNwb25zZSBnb29kJykuZ2V0QXR0cmlidXRlKCdhcmlhLWNoZWNrZWQnKSkudG9FcXVhbCgnZmFsc2UnKTtcbiAgICBleHBlY3Qoc2NyZWVuLmdldEJ5TGFiZWxUZXh0KCdSYXRlIGNoYXQgcmVzcG9uc2UgYmFkJykuZ2V0QXR0cmlidXRlKCdhcmlhLWNoZWNrZWQnKSkudG9FcXVhbCgndHJ1ZScpO1xuICB9KTtcbn0pO1xuIl19
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ2hhdEZvb3Rlci5zcGVjLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvQ2hhdEZvb3Rlci9DaGF0Rm9vdGVyLnNwZWMudHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsa0RBQTBCO0FBQzFCLGtEQUFtRTtBQUNuRSxxQ0FBbUM7QUFDbkMsNkNBQTBDO0FBRTFDLFFBQVEsQ0FBQyxhQUFhLEVBQUUsR0FBRyxFQUFFO0lBQzNCLEVBQUUsQ0FBQyxtRUFBbUUsRUFBRSxLQUFLLElBQUksRUFBRTtRQUNqRixNQUFNLFNBQVMsR0FBRyxJQUFJLENBQUMsRUFBRSxFQUFFLENBQUM7UUFDNUIsTUFBTSxVQUFVLEdBQUcsSUFBSSxDQUFDLEVBQUUsRUFBRSxDQUFDO1FBQzdCLElBQUEsY0FBTSxFQUNKLDhCQUFDLHVCQUFVLElBQ1QsTUFBTSxFQUFFLElBQUksRUFDWixrQkFBa0IsRUFBRSxLQUFLLEVBQ3pCLGtCQUFrQixFQUFFLEtBQUssRUFDekIsU0FBUyxFQUFFLEtBQUssRUFDaEIsaUJBQWlCLEVBQUUsS0FBSyxFQUN4QixTQUFTLEVBQUUsU0FBUyxFQUNwQixVQUFVLEVBQUUsVUFBVSxHQUN0QixDQUNILENBQUM7UUFDRixpQkFBUyxDQUFDLEtBQUssQ0FBQyxjQUFNLENBQUMsU0FBUyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUM7UUFDOUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUFDLGdCQUFnQixFQUFFLENBQUM7SUFDdkMsQ0FBQyxDQUFDLENBQUM7SUFFSCxFQUFFLENBQUMsMkRBQTJELEVBQUUsS0FBSyxJQUFJLEVBQUU7UUFDekUsTUFBTSxTQUFTLEdBQUcsSUFBSSxDQUFDLEVBQUUsRUFBRSxDQUFDO1FBQzVCLE1BQU0sVUFBVSxHQUFHLElBQUksQ0FBQyxFQUFFLEVBQUUsQ0FBQztRQUM3QixJQUFBLGNBQU0sRUFDSiw4QkFBQyx1QkFBVSxJQUNULE1BQU0sRUFBRSxJQUFJLEVB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LGtCQUFrQixFQUFFLEtBQUssRUFDekIsU0FBUyxFQUFFLEtBQUssRUFDaEIsaUJBQWlCLEVBQUUsS0FBSyxFQUN4QixTQUFTLEVBQUUsU0FBUyxFQUNwQixVQUFVLEVBQUUsVUFBVSxHQUN0QixDQUNILENBQUM7UUFFRixNQUFNLENBQUMsY0FBTSxDQUFDLGNBQWMsQ0FBQyx5QkFBeUIsQ0FBQyxDQUFDLFlBQVksQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUN2RyxNQUFNLENBQUMsY0FBTSxDQUFDLGNBQWMsQ0FBQyx3QkFBd0IsQ0FBQyxDQUFDLFlBQVksQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUN2RyxDQUFDLENBQUMsQ0FBQztBQUNMLENBQUMsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0IGZyb20gJ3JlYWN0JztcbmltcG9ydCB7IHNjcmVlbiwgcmVuZGVyLCBmaXJlRXZlbnQgfSBmcm9tICdAdGVzdGluZy1saWJyYXJ5L3JlYWN0JztcbmltcG9ydCAnQHRlc3RpbmctbGlicmFyeS9qZXN0LWRvbSc7XG5pbXBvcnQgeyBDaGF0Rm9vdGVyIH0gZnJvbSAnLi9DaGF0Rm9vdGVyJztcblxuZGVzY3JpYmUoJ0NoYXRGb290ZXIgJywgKCkgPT4ge1xuICBpdCgnQ2hhdEZvb3RlciB3aWxsIGNhbGwgY29udGV4dCBvbk5ld0NoYXQgd2hlbiBuZXcgY2hhdCBpcyByZXF1ZXN0ZWQnLCBhc3luYyAoKSA9PiB7XG4gICAgY29uc3Qgb25OZXdDaGF0ID0gamVzdC5mbigpO1xuICAgIGNvbnN0IG9uUmF0ZUNoYXQgPSBqZXN0LmZuKCk7XG4gICAgcmVuZGVyKFxuICAgICAgPENoYXRGb290ZXJcbiAgICAgICAgcmF0aW5nPXtudWxsfVxuICAgICAgICBpc1Byb2Nlc3NpbmdSYXRpbmc9e2ZhbHNlfVxuICAgICAgICBpc1dhaXRpbmdVc2VySW5wdXQ9e2ZhbHNlfVxuICAgICAgICBpc05ld0NoYXQ9e2ZhbHNlfVxuICAgICAgICBpc1dhaXRpbmdSZXNwb25zZT17ZmFsc2V9XG4gICAgICAgIG9uTmV3Q2hhdD17b25OZXdDaGF0fVxuICAgICAgICBvblJhdGVDaGF0PXtvblJhdGVDaGF0fVxuICAgICAgLz4sXG4gICAgKTtcbiAgICBmaXJlRXZlbnQuY2xpY2soc2NyZWVuLmdldEJ5VGV4dCgnTmV3IGNoYXQnKSk7XG4gICAgZXhwZWN0KG9uTmV3Q2hhdCkudG9IYXZlQmVlbkNhbGxlZCgpO1xuICB9KTtcblxuICBpdCgnQ2hhdEZvb3RlciB3aWxsIGRpc2FibGUgbmV3IGNoYXQgYnV0dG9uIGlmIGl0cyBhIG5ldyBjaGF0JywgYXN5bmMgKCkgPT4ge1xuICAgIGNvbnN0IG9uTmV3Q2hhdCA9IGplc3QuZm4oKTtcbiAgICBjb25zdCBvblJhdGVDaGF0ID0gamVzdC5mbigpO1xuICAgIHJlbmRlcihcbiAgICAgIDxDaGF0Rm9vdGVyXG4gICAgICAgIHJhdGluZz17bnVsbH1cbiAgICAgICAgaXNQcm9jZXNzaW5nUmF0aW5nPXtmYWxzZX1cbiAgICAgICAgaXNXYWl0aW5nVXNlcklucHV0PXtmYWxzZX1cbiAgICAgICAgaXNOZXdDaGF0PXt0cnVlfVxuICAgICAgICBpc1dhaXRpbmdSZXNwb25zZT17ZmFsc2V9XG4gICAgICAgIG9uTmV3Q2hhdD17b25OZXdDaGF0fVxuICAgICAgICBvblJhdGVDaGF0PXtvblJhdGVDaGF0fVxuICAgICAgLz4sXG4gICAgKTtcbiAgICBmaXJlRXZlbnQuY2xpY2soc2NyZWVuLmdldEJ5VGV4dCgnTmV3IGNoYXQnKSk7XG4gICAgZXhwZWN0KG9uTmV3Q2hhdCkubm90LnRvSGF2ZUJlZW5DYWxsZWQoKTtcbiAgfSk7XG5cbiAgaXQoJ0NoYXRGb290ZXIgd2lsbCBub3QgZGlzYWJsZSBuZXcgY2hhdCBidXR0b24gaWYgd2FpdGluZyBmb3IgcmVzcG9uc2UnLCBhc3luYyAoKSA9PiB7XG4gICAgY29uc3Qgb25OZXdDaGF0ID0gamVzdC5mbigpO1xuICAgIGNvbnN0IG9uUmF0ZUNoYXQgPSBqZXN0LmZuKCk7XG4gICAgcmVuZGVyKFxuICAgICAgPENoYXRGb290ZXJcbiAgICAgICAgcmF0aW5nPXtudWxsfVxuICAgICAgICBpc1Byb2Nlc3NpbmdSYXRpbmc9e2ZhbHNlfVxuICAgICAgICBpc1dhaXRpbmdVc2VySW5wdXQ9e2ZhbHNlfVxuICAgICAgICBpc05ld0NoYXQ9e2ZhbHNlfVxuICAgICAgICBpc1dhaXRpbmdSZXNwb25zZT17ZmFsc2V9XG4gICAgICAgIG9uTmV3Q2hhdD17b25OZXdDaGF0fVxuICAgICAgICBvblJhdGVDaGF0PXtvblJhdGVDaGF0fVxuICAgICAgLz4sXG4gICAgKTtcbiAgICBmaXJlRXZlbnQuY2xpY2soc2NyZWVuLmdldEJ5VGV4dCgnTmV3IGNoYXQnKSk7XG4gICAgZXhwZWN0KG9uTmV3Q2hhdCkudG9IYXZlQmVlbkNhbGxlZFRpbWVzKDEpO1xuICB9KTtcblxuICBpdCgnQ2hhdEZvb3RlciB3aWxsIGRpc2FibGUgbmV3IGNoYXQgYnV0dG9uIGlmIHdhaXRpbmcgZm9yIHVzZXIgaW5wdXQnLCBhc3luYyAoKSA9PiB7XG4gICAgY29uc3Qgb25OZXdDaGF0ID0gamVzdC5mbigpO1xuICAgIGNvbnN0IG9uUmF0ZUNoYXQgPSBqZXN0LmZuKCk7XG4gICAgcmVuZGVyKFxuICAgICAgPENoYXRGb290ZXJcbiAgICAgICAgcmF0aW5nPXtudWxsfVxuICAgICAgICBpc1Byb2Nlc3NpbmdSYXRpbmc9e2ZhbHNlfVxuICAgICAgICBpc1dhaXRpbmdVc2VySW5wdXQ9e3RydWV9XG4gICAgICAgIGlzTmV3Q2hhdD17ZmFsc2V9XG4gICAgICAgIGlzV2FpdGluZ1Jlc3BvbnNlPXtmYWxzZX1cbiAgICAgICAgb25OZXdDaGF0PXtvbk5ld0NoYXR9XG4gICAgICAgIG9uUmF0ZUNoYXQ9e29uUmF0ZUNoYXR9XG4gICAgICAvPixcbiAgICApO1xuICAgIGZpcmVFdmVudC5jbGljayhzY3JlZW4uZ2V0QnlUZXh0KCdOZXcgY2hhdCcpKTtcbiAgICBleHBlY3Qob25OZXdDaGF0KS5ub3QudG9IYXZlQmVlbkNhbGxlZCgpO1xuICB9KTtcblxuICBpdCgnQ2hhdEZvb3RlciB3aWxsIGRpc2FibGUgcmF0aW5nIGJ1dHRvbiBpZiBpdHMgbmV3IGNoYXQnLCBhc3luYyAoKSA9PiB7XG4gICAgY29uc3Qgb25OZXdDaGF0ID0gamVzdC5mbigpO1xuICAgIGNvbnN0IG9uUmF0ZUNoYXQgPSBqZXN0LmZuKCk7XG4gICAgcmVuZGVyKFxuICAgICAgPENoYXRGb290ZXJcbiAgICAgICAgcmF0aW5nPXtudWxsfVxuICAgICAgICBpc1Byb2Nlc3NpbmdSYXRpbmc9e2ZhbHNlfVxuICAgICAgICBpc1dhaXRpbmdVc2VySW5wdXQ9e2ZhbHNlfVxuICAgICAgICBpc05ld0NoYXQ9e3RydWV9XG4gICAgICAgIGlzV2FpdGluZ1Jlc3BvbnNlPXtmYWxzZX1cbiAgICAgICAgb25OZXdDaGF0PXtvbk5ld0NoYXR9XG4gICAgICAgIG9uUmF0ZUNoYXQ9e29uUmF0ZUNoYXR9XG4gICAgICAvPixcbiAgICApO1xuICAgIGZpcmVFdmVudC5jbGljayhzY3JlZW4uZ2V0QnlMYWJlbFRleHQoJ1JhdGUgY2hhdCByZXNwb25zZSBnb29kJykpO1xuICAgIGV4cGVjdChvblJhdGVDaGF0KS5ub3QudG9IYXZlQmVlbkNhbGxlZFdpdGgoKTtcbiAgICBmaXJlRXZlbnQuY2xpY2soc2NyZWVuLmdldEJ5TGFiZWxUZXh0KCdSYXRlIGNoYXQgcmVzcG9uc2UgYmFkJykpO1xuICAgIGV4cGVjdChvblJhdGVDaGF0KS5ub3QudG9IYXZlQmVlbkNhbGxlZFdpdGgoKTtcbiAgfSk7XG5cbiAgaXQoJ0NoYXRGb290ZXIgd2lsbCBjYWxsIGNvbnRleHQgb25SYXRlQ2hhdCB3aXRoIGJvb2xlYW4gdHJ1ZSB3aGVuIGdvb2QgcmF0aW5nIGlzIHByZXNzZWQnLCBhc3luYyAoKSA9PiB7XG4gICAgY29uc3Qgb25OZXdDaGF0ID0gamVzdC5mbigpO1xuICAgIGNvbnN0IG9uUmF0ZUNoYXQgPSBqZXN0LmZuKCk7XG4gICAgcmVuZGVyKFxuICAgICAgPENoYXRGb290ZXJcbiAgICAgICAgcmF0aW5nPXtudWxsfVxuICAgICAgICBpc1Byb2Nlc3NpbmdSYXRpbmc9e2ZhbHNlfVxuICAgICAgICBpc1dhaXRpbmdVc2VySW5wdXQ9e2ZhbHNlfVxuICAgICAgICBpc05ld0NoYXQ9e2ZhbHNlfVxuICAgICAgICBpc1dhaXRpbmdSZXNwb25zZT17ZmFsc2V9XG4gICAgICAgIG9uTmV3Q2hhdD17b25OZXdDaGF0fVxuICAgICAgICBvblJhdGVDaGF0PXtvblJhdGVDaGF0fVxuICAgICAgLz4sXG4gICAgKTtcbiAgICBmaXJlRXZlbnQuY2xpY2soc2NyZWVuLmdldEJ5TGFiZWxUZXh0KCdSYXRlIGNoYXQgcmVzcG9uc2UgZ29vZCcpKTtcbiAgICBleHBlY3Qob25SYXRlQ2hhdCkudG9IYXZlQmVlbkNhbGxlZFdpdGgodHJ1ZSk7XG4gIH0pO1xuXG4gIGl0KCdDaGF0Rm9vdGVyIHdpbGwgc2V0IHJhdGluZyBidXR0b24gY2hlY2tlZCBmcm9tIGlucHV0IHJhdGluZyAodHJ1ZSknLCBhc3luYyAoKSA9PiB7XG4gICAgY29uc3Qgb25OZXdDaGF0ID0gamVzdC5mbigpO1xuICAgIGNvbnN0IG9uUmF0ZUNoYXQgPSBqZXN0LmZuKCk7XG4gICAgcmVuZGVyKFxuICAgICAgPENoYXRGb290ZXJcbiAgICAgICAgcmF0aW5nPXt0cnVlfVxuICAgICAgICBpc1Byb2Nlc3NpbmdSYXRpbmc9e2ZhbHNlfVxuICAgICAgICBpc1dhaXRpbmdVc2VySW5wdXQ9e2ZhbHNlfVxuICAgICAgICBpc05ld0NoYXQ9e2ZhbHNlfVxuICAgICAgICBpc1dhaXRpbmdSZXNwb25zZT17ZmFsc2V9XG4gICAgICAgIG9uTmV3Q2hhdD17b25OZXdDaGF0fVxuICAgICAgICBvblJhdGVDaGF0PXtvblJhdGVDaGF0fVxuICAgICAgLz4sXG4gICAgKTtcblxuICAgIGV4cGVjdChzY3JlZW4uZ2V0QnlMYWJlbFRleHQoJ1JhdGUgY2hhdCByZXNwb25zZSBnb29kJykuZ2V0QXR0cmlidXRlKCdhcmlhLWNoZWNrZWQnKSkudG9FcXVhbCgndHJ1ZScpO1xuICAgIGV4cGVjdChzY3JlZW4uZ2V0QnlMYWJlbFRleHQoJ1JhdGUgY2hhdCByZXNwb25zZSBiYWQnKS5nZXRBdHRyaWJ1dGUoJ2FyaWEtY2hlY2tlZCcpKS50b0VxdWFsKCdmYWxzZScpO1xuICB9KTtcblxuICBpdCgnQ2hhdEZvb3RlciB3aWxsIGNhbGwgY29udGV4dCBvblJhdGVDaGF0IHdpdGggYm9vbGVhbiBmYWxzZSB3aGVuIGJhZCByYXRpbmcgaXMgcHJlc3NlZCcsIGFzeW5jICgpID0+IHtcbiAgICBjb25zdCBvbk5ld0NoYXQgPSBqZXN0LmZuKCk7XG4gICAgY29uc3Qgb25SYXRlQ2hhdCA9IGplc3QuZm4oKTtcbiAgICByZW5kZXIoXG4gICAgICA8Q2hhdEZvb3RlclxuICAgICAgICByYXRpbmc9e251bGx9XG4gICAgICAgIGlzUHJvY2Vzc2luZ1JhdGluZz17ZmFsc2V9XG4gICAgICAgIGlzV2FpdGluZ1VzZXJJbnB1dD17ZmFsc2V9XG4gICAgICAgIGlzTmV3Q2hhdD17ZmFsc2V9XG4gICAgICAgIGlzV2FpdGluZ1Jlc3BvbnNlPXtmYWxzZX1cbiAgICAgICAgb25OZXdDaGF0PXtvbk5ld0NoYXR9XG4gICAgICAgIG9uUmF0ZUNoYXQ9e29uUmF0ZUNoYXR9XG4gICAgICAvPixcbiAgICApO1xuICAgIGZpcmVFdmVudC5jbGljayhzY3JlZW4uZ2V0QnlMYWJlbFRleHQoJ1JhdGUgY2hhdCByZXNwb25zZSBiYWQnKSk7XG4gICAgZXhwZWN0KG9uUmF0ZUNoYXQpLnRvSGF2ZUJlZW5DYWxsZWRXaXRoKGZhbHNlKTtcbiAgfSk7XG5cbiAgaXQoJ0NoYXRGb290ZXIgd2lsbCBzZXQgcmF0aW5nIGJ1dHRvbiBjaGVja2VkIGZyb20gaW5wdXQgcmF0aW5nIChmYWxzZSknLCBhc3luYyAoKSA9PiB7XG4gICAgY29uc3Qgb25OZXdDaGF0ID0gamVzdC5mbigpO1xuICAgIGNvbnN0IG9uUmF0ZUNoYXQgPSBqZXN0LmZuKCk7XG4gICAgcmVuZGVyKFxuICAgICAgPENoYXRGb290ZXJcbiAgICAgICAgcmF0aW5nPXtmYWxzZX1cbiAgICAgICAgaXNQcm9jZXNzaW5nUmF0aW5nPXtmYWxzZX1cbiAgICAgICAgaXNXYWl0aW5nVXNlcklucHV0PXtmYWxzZX1cbiAgICAgICAgaXNOZXdDaGF0PXtmYWxzZX1cbiAgICAgICAgaXNXYWl0aW5nUmVzcG9uc2U9e2ZhbHNlfVxuICAgICAgICBvbk5ld0NoYXQ9e29uTmV3Q2hhdH1cbiAgICAgICAgb25SYXRlQ2hhdD17b25SYXRlQ2hhdH1cbiAgICAgIC8+LFxuICAgICk7XG5cbiAgICBleHBlY3Qoc2NyZWVuLmdldEJ5TGFiZWxUZXh0KCdSYXRlIGNoYXQgcmVzcG9uc2UgZ29vZCcpLmdldEF0dHJpYnV0ZSgnYXJpYS1jaGVja2VkJykpLnRvRXF1YWwoJ2ZhbHNlJyk7XG4gICAgZXhwZWN0KHNjcmVlbi5nZXRCeUxhYmVsVGV4dCgnUmF0ZSBjaGF0IHJlc3BvbnNlIGJhZCcpLmdldEF0dHJpYnV0ZSgnYXJpYS1jaGVja2VkJykpLnRvRXF1YWwoJ3RydWUnKTtcbiAgfSk7XG59KTtcbiJdfQ==

@@ -16,2 +16,3 @@ import React, { PropsWithChildren } from 'react';

isWaitingResponse: boolean;
isWaitingUserInput: boolean;
conversation: ConversationItem[];

@@ -18,0 +19,0 @@ onNewChatRequest: () => void;

@@ -34,2 +34,3 @@ "use strict";

isWaitingResponse: false,
isWaitingUserInput: false,
conversation: [],

@@ -49,2 +50,11 @@ onNewChatRequest: () => {

});
const getSavedUserInputState = (sessionStorageId) => {
const chatHistoryItem = sessionStorage.getItem(sessionStorageId);
let isWaitingUserInput = false;
if (chatHistoryItem) {
const chatHistory = JSON.parse(chatHistoryItem);
isWaitingUserInput = chatHistory.isWaitingUserInput;
}
return isWaitingUserInput;
};
const ChatContextProvider = (props) => {

@@ -56,2 +66,3 @@ const { aiId, aiApiUrl, aiService, isPreview, greeting, persistThread = false, children } = props;

const [isWaitingResponse, setIsWaitingResponse] = (0, react_1.useState)(false);
const [isWaitingUserInput, setIsWaitingUserInput] = (0, react_1.useState)(persistThread && getSavedUserInputState(sessionStorageId));
const [threadStartDate, setThreadStartDate] = (0, react_1.useState)(new Date());

@@ -136,2 +147,3 @@ const [conversation, setConversation] = (0, react_1.useState)([]);

rating: newRating,
...(isWaitingUserInput ? { isWaitingUserInput } : {}),
}));

@@ -161,2 +173,3 @@ }

}
setIsWaitingUserInput(chatHistory.isWaitingUserInput);
return;

@@ -181,2 +194,7 @@ }

}, []);
(0, react_1.useMemo)(() => {
if (persistThread && isWaitingUserInput !== getSavedUserInputState(sessionStorageId)) {
updateThreadSessionState({});
}
}, [isWaitingUserInput]);
const handleOnSend = (0, react_1.useCallback)(async (message) => {

@@ -191,2 +209,3 @@ addMessagesToConversation([

setIsWaitingResponse(true);
setIsWaitingUserInput(false);
try {

@@ -221,2 +240,4 @@ const response = await getCommandExecutor().execute(aiId, 'processChatMessage', {

const handleOnNewChatRequest = (0, react_1.useCallback)(() => {
setIsWaitingUserInput(true);
setIsWaitingResponse(false);
addMessagesToConversation([

@@ -238,2 +259,3 @@ {

setIsWaitingResponse(false);
setIsWaitingUserInput(false);
setThreadStartDate(new Date());

@@ -277,2 +299,3 @@ setRating(null);

else {
setIsWaitingUserInput(false);
alterConversation([

@@ -333,2 +356,3 @@ {

isWaitingResponse,
isWaitingUserInput,
conversation,

@@ -342,2 +366,2 @@ onNewChatRequest: handleOnNewChatRequest,

exports.ChatContextProvider = ChatContextProvider;
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ2hhdENvbnRleHQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvY29udGV4dC9DaGF0Q29udGV4dC50c3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSwrQ0FBMkY7QUFDM0Ysd0RBQTBGO0FBQzFGLCtCQUFvQztBQWtDdkIsUUFBQSxXQUFXLEdBQUcsZUFBSyxDQUFDLGFBQWEsQ0FBbUI7SUFDL0QsTUFBTSxFQUFFLElBQUk7SUFDWixrQkFBa0IsRUFBRSxLQUFLO0lBQ3pCLGlCQUFpQixFQUFFLEtBQUs7SUFDeEIsWUFBWSxFQUFFLEVBQUU7SUFDaEIsZ0JBQWdCLEVBQUUsR0FBRyxFQUFFO1FBQ3JCLE1BQU0sSUFBSSxLQUFLLENBQUMsMkNBQTJDLENBQUMsQ0FBQztJQUMvRCxDQUFDO0lBQ0QsZ0JBQWdCLEVBQUUsR0FBRyxFQUFFO1FBQ3JCLE1BQU0sSUFBSSxLQUFLLENBQUMsMkNBQTJDLENBQUMsQ0FBQztJQUMvRCxDQUFDO0lBQ0QsVUFBVSxFQUFFLEdBQUcsRUFBRTtRQUNmLE1BQU0sSUFBSSxLQUFLLENBQUMscUNBQXFDLENBQUMsQ0FBQztJQUN6RCxDQUFDO0lBQ0QsTUFBTSxFQUFFLEdBQUcsRUFBRTtRQUNYLE1BQU0sSUFBSSxLQUFLLENBQUMsaUNBQWlDLENBQUMsQ0FBQztJQUNyRCxDQUFDO0NBQ0YsQ0FBQyxDQUFDO0FBRUksTUFBTSxtQkFBbUIsR0FBRyxDQUFDLEtBQTJDLEVBQUUsRUFBRTtJQUNqRixNQUFNLEVBQUUsSUFBSSxFQUFFLFFBQVEsRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFFLFFBQVEsRUFBRSxhQUFhLEdBQUcsS0FBSyxFQUFFLFFBQVEsRUFBRSxHQUFHLEtBQUssQ0FBQztJQUNsRyxNQUFNLGdCQUFnQixHQUFHLHlCQUF5QixJQUFJLEVBQUUsQ0FBQztJQUN6RCxNQUFNLFdBQVcsR0FBRyxJQUFBLGNBQU0sRUFBK0IsSUFBSSxDQUFDLENB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QUFLLGdCQUFnQixDQUFDLE9BQU8sQ0FBQyxlQUFlLEVBQUUsQ0FBQztnQkFDakUscUJBQXFCLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDL0IsQ0FBQztRQUNILENBQUM7YUFBTSxDQUFDO1lBQ04sSUFBSSxrQkFBa0IsRUFBRSxDQUFDO2dCQUN2QixNQUFNLElBQUksS0FBSyxDQUFDLHFDQUFxQyxDQUFDLENBQUM7WUFDekQsQ0FBQztpQkFBTSxDQUFDO2dCQUNOLE1BQU0sSUFBSSxLQUFLLENBQUMsNkJBQTZCLENBQUMsQ0FBQztZQUNqRCxDQUFDO1FBQ0gsQ0FBQztJQUNILENBQUMsRUFDRCxDQUFDLElBQUksRUFBRSxlQUFlLEVBQUUsa0JBQWtCLENBQUMsQ0FDNUMsQ0FBQztJQUVGLE9BQU8sQ0FDTCw4QkFBQyxtQkFBVyxDQUFDLFFBQVEsSUFDbkIsS0FBSyxFQUFFO1lBQ0wsTUFBTTtZQUNOLGtCQUFrQjtZQUNsQixpQkFBaUI7WUFDakIsWUFBWTtZQUNaLGdCQUFnQixFQUFFLHNCQUFzQjtZQUN4QyxnQkFBZ0IsRUFBRSxzQkFBc0I7WUFDeEMsVUFBVSxFQUFFLGdCQUFnQjtZQUM1QixNQUFNLEVBQUUsWUFBWTtTQUNyQixJQUVBLFFBQVEsQ0FDWSxDQUN4QixDQUFDO0FBQ0osQ0FBQyxDQUFDO0FBalZXLFFBQUEsbUJBQW1CLHVCQWlWOUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QsIHsgUHJvcHNXaXRoQ2hpbGRyZW4sIHVzZVJlZiwgdXNlU3RhdGUsIHVzZUVmZmVjdCwgdXNlQ2FsbGJhY2sgfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgeyBEeHBBaVNlcnZpY2UsIENoYXRCb3RDb21tYW5kRXhlY3V0b3IsIGNyZWF0ZUNsaWVudCB9IGZyb20gJ0BzcXVpei9keHAtYWktY2xpZW50JztcbmltcG9ydCB7IHY0IGFzIHV1aWR2NCB9IGZyb20gJ3V1aWQnO1xuaW1wb3J0IHsgQ29udmVyc2F0aW9uSXRlbSwgQ29udHJvbE1lc3NhZ2UgfSBmcm9tICcuLi90eXBlcyc7XG5cbmV4cG9ydCB0eXBlIENoYXRQcm92aWRlclByb3BzID0ge1xuICBhaUlkOiBzdHJpbmc7XG4gIGFpQXBpVXJsPzogc3RyaW5nO1xuICBhaVNlcnZpY2U/OiBEeHBBaVNlcnZpY2U8dW5rbm93bj47XG4gIGlzUHJldmlldz86IGJvb2xlYW47XG4gIGdyZWV0aW5nOiBzdHJpbmc7XG4gIHBlcnNpc3RUaHJlYWQ/OiBib29sZWFuO1xufTtcblxuZXhwb3J0IHR5cGUgQ2hhdENvbnRleHRQcm9wcyA9IHtcbiAgcmF0aW5nOiBib29sZWFuIHwgbnVsbDtcbiAgaXNQcm9jZXNzaW5nUmF0aW5nOiBib29sZWFuO1xuICBpc1dhaXRpbmdSZXNwb25zZTogYm9vbGVhbjtcbiAgY29udmVyc2F0aW9uOiBDb252ZXJzYXRpb25JdGVtW107XG4gIG9uTmV3Q2hhdFJlcXVlc3Q6ICgpID0+IHZvaWQ7XG4gIG9uTmV3Q2hhdENvbmZpcm06ICh5ZXNSZXNwb25zZTogYm9vbGVhbikgPT4gdm9pZDtcbiAgb25SYXRlQ2hhdDogKHBvc2l0aXZlUmF0aW5nOiBib29sZWFuKSA9PiB2b2lkO1xuICBvblNlbmQ6IChtZXNzYWdlOiBzdHJpbmcpID0+IHZvaWQ7XG59O1xuXG50eXBlIENvbnZlcnNhdGlvbkluc3RydWN0aW9uID0ge1xuICBpdGVtOiBDb252ZXJzYXRpb25JdGVtO1xuICBpbnN0cnVjdGlvbjogJ2FkZCcgfCAncmVtb3ZlU2luZ2xlT2ZUeXBlJztcbn07XG5cbnR5cGUgQ29udmVyc2F0aW9uUGVyc2lzdFByb3BzID0ge1xuICBjb252ZXJzYXRpb24/OiBDb252ZXJzYXRpb25JdGVtW107XG4gIHJhdGluZz86IGJvb2xlYW4gfCBudWxsO1xuICB0aHJlYWRJZD86IHN0cmluZyB8IG51bGw7XG59O1xuXG5leHBvcnQgY29uc3QgQ2hhdENvbnRleHQgPSBSZWFjdC5jcmVhdGVDb250ZXh0PENoYXRDb250ZXh0UHJvcHM+KHtcbiAgcmF0aW5nOiBudWxsLFxuICBpc1Byb2Nlc3NpbmdSYXRpbmc6IGZhbHNlLFxuICBpc1dhaXRpbmdSZXNwb25zZTogZmFsc2UsXG4gIGNvbnZlcnNhdGlvbjogW10sXG4gIG9uTmV3Q2hhdFJlcXVlc3Q6ICgpID0+IHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ29uTmV3Q2hhdFJlcXVlc3QgaGFzIG5vdCBiZWVuIGNvbmZpZ3VyZWQuJyk7XG4gIH0sXG4gIG9uTmV3Q2hhdENvbmZpcm06ICgpID0+IHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ29uTmV3Q2hhdENvbmZpcm0gaGFzIG5vdCBiZWVuIGNvbmZpZ3VyZWQuJyk7XG4gIH0sXG4gIG9uUmF0ZUNoYXQ6ICgpID0+IHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ29uUmF0ZUNoYXQgaGFzIG5vdCBiZWVuIGNvbmZpZ3VyZWQuJyk7XG4gIH0sXG4gIG9uU2VuZDogKCkgPT4ge1xuICAgIHRocm93IG5ldyBFcnJvcignb25TZW5kIGhhcyBub3QgYmVlbiBjb25maWd1cmVkLicpO1xuICB9LFxufSk7XG5cbmV4cG9ydCBjb25zdCBDaGF0Q29udGV4dFByb3ZpZGVyID0gKHByb3BzOiBQcm9wc1dpdGhDaGlsZHJlbjxDaGF0UHJvdmlkZXJQcm9wcz4pID0+IHtcbiAgY29uc3QgeyBhaUlkLCBhaUFwaVVybCwgYWlTZXJ2aWNlLCBpc1ByZXZpZXcsIGdyZWV0aW5nLCBwZXJzaXN0VGhyZWFkID0gZmFsc2UsIGNoaWxkcmVuIH0gPSBwcm9wcztcbiAgY29uc3Qgc2Vzc2lvblN0b3JhZ2VJZCA9IGBzcXVpei1jaGF0LXVpLWhpc3RvcnktJHthaUlkfWA7XG4gIGNvbnN0IGR4cEFpQ2xpZW50ID0gdXNlUmVmPER4cEFpU2VydmljZTx1bmtub3duPiB8IG51bGw+KG51bGwpO1xuICBjb25zdCBleGVjdXRvciA9IHVzZVJlZjxDaGF0Qm90Q29tbWFuZEV4ZWN1dG9yIHwgbnVsbD4obnVsbCk7XG4gIGNvbnN0IFtpc1dhaXRpbmdSZXNwb25zZSwgc2V0SXNXYWl0aW5nUmVzcG9uc2VdID0gdXNlU3RhdGU8Ym9vbGVhbj4oZmFsc2UpO1xuICBjb25zdCBbdGhyZWFkU3RhcnREYXRlLCBzZXRUaHJlYWRTdGFydERhdGVdID0gdXNlU3RhdGU8RGF0ZT4obmV3IERhdGUoKSk7XG4gIGNvbnN0IFtjb252ZXJzYXRpb24sIHNldENvbnZlcnNhdGlvbl0gPSB1c2VTdGF0ZTxDb252ZXJzYXRpb25JdGVtW10+KFtdKTtcbiAgY29uc3QgW3JhdGluZywgc2V0UmF0aW5nXSA9IHVzZVN0YXRlPGJvb2xlYW4gfCBudWxsPihudWxsKTtcbiAgY29uc3QgW2lzUHJvY2Vzc2luZ1JhdGluZywgc2V0SXNQcm9jZXNzaW5nUmF0aW5nXSA9IHVzZVN0YXRlPGJvb2xlYW4+KGZhbHNlKTtcblxuICAvLyBSZXR1cm4gdGhlIGNvbW1hbmQgZXhlY3V0b3Igb3IgY3JlYXRlIGlmIGl0cyBub3Qgc2V0dXAgeWV0ICh3b3JrYXJvdW5kIGZvciB1c2VSZWYgbm90IHRha2luZyBhbiBpbml0IGZ1bmN0aW9uKVxuICBmdW5jdGlvbiBnZXRDb21tYW5kRXhlY3V0b3IoKSB7XG4gICAgaWYgKGV4ZWN1dG9yLmN1cnJlbnQgIT09IG51bGwpIHtcbiAgICAgIHJldHVybiBleGVjdXRvci5jdXJyZW50O1xuICAgIH1cbiAgICBpZiAoYWlTZXJ2aWNlKSB7XG4gICAgICBkeHBBaUNsaWVudC5jdXJyZW50ID0gYWlTZXJ2aWNlO1xuICAgIH0gZWxzZSBpZiAoYWlBcGlVcmwpIHtcbiAgICAgIGR4cEFpQ2xpZW50LmN1cnJlbnQgPSBuZXcgRHhwQWlTZXJ2aWNlKFxuICAgICAgICBjcmVhdGVDbGllbnQoe1xuICAgICAgICAgIGJhc2VVcmw6IGFpQXBpVXJsLFxuICAgICAgICB9KSxcbiAgICAgICk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignUmVxdWlyZXM6IGFpQXBpVXJsIG9yIGFpU2VydmljZSBmb3IgY29ubmVjdGlvbiB0byB0aGUgY2hhdGJvdC4nKTtcbiAgICB9XG4gICAgZXhlY3V0b3IuY3VycmVudCA9IG5ldyBDaGF0Qm90Q29tbWFuZEV4ZWN1dG9yKGR4cEFpQ2xpZW50LmN1cnJlbnQpO1xuICAgIHJldHVybiBleGVjdXRvci5jdXJyZW50O1xuICB9XG5cbiAgLy8gS2VlcCBhIHJlZiB0byB0aGUgY29udmVyc2F0aW9uIHNvIGNhbGxiYWNrcyBmcm9tIHNlbmRNZXNzYWdlIGhhdmUgdXAgdG8gZGF0ZSBoaXN0b3J5IHRvIGluc2VydCBpbnRvXG4gIGNvbnN0IGNhbGxiYWNrU3RhdGVSZWYgPSB1c2VSZWY8e1xuICAgIGNvbnZlcnNhdGlvbjogQ29udmVyc2F0aW9uSXRlbVtdO1xuICAgIHRocmVhZElkOiBzdHJpbmcgfCBudWxsO1xuICAgIHRocmVhZFN0YXJ0RGF0ZTogRGF0ZTtcbiAgfT4oe1xuICAgIGNvbnZlcnNhdGlvbjogW10sXG4gICAgdGhyZWFkSWQ6IG51bGwsXG4gICAgdGhyZWFkU3RhcnREYXRlLFxuICB9KTtcbiAgY2FsbGJhY2tTdGF0ZVJlZi5jdXJyZW50ID0ge1xuICAgIGNvbnZlcnNhdGlvbixcbiAgICB0aHJlYWRJZDogY2FsbGJhY2tTdGF0ZVJlZi5jdXJyZW50LnRocmVhZElkLFxuICAgIHRocmVhZFN0YXJ0RGF0ZSxcbiAgfTtcblxuICAvLyBTaW1wbGUgYWRkIG1lc3NhZ2UgZnVuY3Rpb25cbiAgY29uc3QgYWRkTWVzc2FnZXNUb0NvbnZlcnNhdGlvbiA9IChtZXNzYWdlczogQ29udmVyc2F0aW9uSXRlbVtdKSA9PiB7XG4gICAgY29uc3QgbmV3Q29udmVyc2F0aW9uID0gWy4uLmNhbGxiYWNrU3RhdGVSZWYuY3VycmVudC5jb252ZXJzYXRpb24sIC4uLm1lc3NhZ2VzXTtcbiAgICBzZXRDb252ZXJzYXRpb24obmV3Q29udmVyc2F0aW9uKTtcbiAgICB1cGRhdGVUaHJlYWRTZXNzaW9uU3RhdGUoeyBjb252ZXJzYXRpb246IG5ld0NvbnZlcnNhdGlvbiB9KTtcbiAgfTtcblxuICAvLyBDb21wbGV4IGNvbnZlcnNhdGlvbiBjaGFuZ2UgZnVuY3Rpb25cbiAgY29uc3QgYWx0ZXJDb252ZXJzYXRpb24gPSAoaW5zdHJ1Y3Rpb25zOiBDb252ZXJzYXRpb25JbnN0cnVjdGlvbltdKSA9PiB7XG4gICAgbGV0IG5ld0NvbnZlcnNhdGlvbiA9IFsuLi5jYWxsYmFja1N0YXRlUmVmLmN1cnJlbnQuY29udmVyc2F0aW9uXTtcbiAgICBpbnN0cnVjdGlvbnMuZm9yRWFjaCgoeyBpdGVtLCBpbnN0cnVjdGlvbiB9KSA9PiB7XG4gICAgICAvLyBBZGQgdG8gZW5kIG9mIGNvbnZlcnNhdGlvblxuICAgICAgaWYgKGluc3RydWN0aW9uID09PSAnYWRkJykge1xuICAgICAgICBuZXdDb252ZXJzYXRpb24gPSBbLi4ubmV3Q29udmVyc2F0aW9uLCBpdGVtXTtcbiAgICAgIH0gZWxzZSBpZiAoaW5zdHJ1Y3Rpb24gPT09ICdyZW1vdmVTaW5nbGVPZlR5cGUnKSB7XG4gICAgICAgIGNvbnN0IHJlbW92ZVR5cGUgPSAoaXRlbSBhcyBDb250cm9sTWVzc2FnZSkudHlwZTtcbiAgICAgICAgY29uc3QgY29udHJvbE1lc3NhZ2VJbmRleCA9IGNhbGxiYWNrU3RhdGVSZWYuY3VycmVudC5jb252ZXJzYXRpb24uZmluZEluZGV4KChtZXNzYWdlKSA9PiB7XG4gICAgICAgICAgY29uc3QgaXNDb250cm9sTWVzc2FnZSA9IE9iamVjdC5oYXNPd24obWVzc2FnZSwgJ3R5cGUnKTtcbiAgICAgICAgICBjb25zdCBjb250cm9sTWVzc2FnZSA9IG1lc3NhZ2UgYXMgQ29udHJvbE1lc3NhZ2U7XG5cbiAgICAgICAgICBpZiAoaXNDb250cm9sTWVzc2FnZSAmJiBjb250cm9sTWVzc2FnZS50eXBlID09PSByZW1vdmVUeXBlKSB7XG4gICAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgICB9XG4gICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICB9KTtcblxuICAgICAgICAvLyBSZW1vdmUgdGhlIHR5cGUgZnJvbSB0aGUgY29udmVyc2F0aW9uXG4gICAgICAgIGlmIChjb250cm9sTWVzc2FnZUluZGV4KSB7XG4gICAgICAgICAgbmV3Q29udmVyc2F0aW9uLnNwbGljZShjb250cm9sTWVzc2FnZUluZGV4LCAxKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH0pO1xuXG4gICAgc2V0Q29udmVyc2F0aW9uKG5ld0NvbnZlcnNhdGlvbik7XG4gICAgdXBkYXRlVGhyZWFkU2Vzc2lvblN0YXRlKHsgY29udmVyc2F0aW9uOiBuZXdDb252ZXJzYXRpb24gfSk7XG4gIH07XG5cbiAgLy8gSGVscGVyIGZ1bmN0aW9uIHRvIHBlcnNpc3QgdGhlIHRocmVhZCBpbnRvIHRoZSBzZXNzaW9uIHN0b3JhZ2UgaWYgZW5hYmxlZFxuICBjb25zdCB1cGRhdGVUaHJlYWRTZXNzaW9uU3RhdGUgPSAoeyBjb252ZXJzYXRpb24sIHJhdGluZywgdGhyZWFkSWQgfTogQ29udmVyc2F0aW9uUGVyc2lzdFByb3BzKSA9PiB7XG4gICAgaWYgKHBlcnNpc3RUaHJlYWQpIHtcbiAgICAgIC8vIEdldCB0aGUgb2xkIGhpc3RvcnkgZnJvbSB0aGUgc2Vzc2lvbiBzbyB3ZSBjYW4gZmlsbCBpbiBtaXNzaW5nIGRldGFpbHNcbiAgICAgIGNvbnN0IGNoYXRIaXN0b3J5SXRlbSA9IHNlc3Npb25TdG9yYWdlLmdldEl0ZW0oc2Vzc2lvblN0b3JhZ2VJZCk7XG4gICAgICBsZXQgb2xkQ2hhdEhpc3Rvcnk7XG4gICAgICBpZiAoY2hhdEhpc3RvcnlJdGVtKSB7XG4gICAgICAgIG9sZENoYXRIaXN0b3J5ID0gSlNPTi5wYXJzZShjaGF0SGlzdG9yeUl0ZW0pO1xuICAgICAgfVxuXG4gICAgICAvLyBEZXRlcm1pbmUgd2hhdCB2YWx1ZSB0byBzZXQgdGhlIHJhdGluZyB0bywgY2xlYXJlciB0aGFuIGEgdHJpcGxlIHRlcm5hcnlcbiAgICAgIGxldCBuZXdSYXRpbmcgPSBudWxsO1xuICAgICAgaWYgKHJhdGluZyAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgIG5ld1JhdGluZyA9IHJhdGluZztcbiAgICAgIH0gZWxzZSBpZiAob2xkQ2hhdEhpc3Rvcnk/LnJhdGluZyAhPT0gbnVsbCkge1xuICAgICAgICBuZXdSYXRpbmcgPSBvbGRDaGF0SGlzdG9yeT8ucmF0aW5nO1xuICAgICAgfVxuXG4gICAgICBzZXNzaW9uU3RvcmFnZS5zZXRJdGVtKFxuICAgICAgICBzZXNzaW9uU3RvcmFnZUlkLFxuICAgICAgICBKU09OLnN0cmluZ2lmeSh7XG4gICAgICAgICAgY3VycmVudFRocmVhZElkOiB0aHJlYWRJZCB8fCBjYWxsYmFja1N0YXRlUmVmLmN1cnJlbnQudGhyZWFkSWQsXG4gICAgICAgICAgY29udmVyc2F0aW9uOiBjb252ZXJzYXRpb24gfHwgb2xkQ2hhdEhpc3Rvcnk/LmNvbnZlcnNhdGlvbixcbiAgICAgICAgICByYXRpbmc6IG5ld1JhdGluZyxcbiAgICAgICAgfSksXG4gICAgICApO1xuICAgIH1cbiAgfTtcblxuICBjb25zdCBhZGRFcnJvck1lc3NhZ2VUb0NvbnZlcnNhdGlvbiA9ICgpID0+IHtcbiAgICBhZGRNZXNzYWdlc1RvQ29udmVyc2F0aW9uKFtcbiAgICAgIHtcbiAgICAgICAgaWQ6IHV1aWR2NCgpLFxuICAgICAgICB0ZXh0OiAnVGhlcmUgd2FzIGEgcHJvYmxlbSByZXNwb25kaW5nIHRvIHlvdXIgbWVzc2FnZSwgcGxlYXNlIHRyeSBhZ2Fpbi4nLFxuICAgICAgICBzZW5kZXI6ICdGcm9udGVuZCcsXG4gICAgICAgIGlzRXJyb3I6IHRydWUsXG4gICAgICB9LFxuICAgIF0pO1xuICB9O1xuXG4gIC8vIFN0YXJ0IHVwIHRoZSBjaGF0Ym90IGV4ZWN1dG9yIGFuZCBhZGQgdGhlIGdyZWV0aW5nIGludG8gdGhlIGNvbnZlcnNhdGlvbiBoaXN0b3J5XG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgZ2V0Q29tbWFuZEV4ZWN1dG9yKCk7IC8vIFN0YXJ0IHRoZSBjb21tYW5kIGV4ZWN1dG9yXG4gICAgaWYgKHBlcnNpc3RUaHJlYWQpIHtcbiAgICAgIGNvbnN0IGNoYXRIaXN0b3J5SXRlbSA9IHNlc3Npb25TdG9yYWdlLmdldEl0ZW0oc2Vzc2lvblN0b3JhZ2VJZCk7XG4gICAgICBpZiAoY2hhdEhpc3RvcnlJdGVtKSB7XG4gICAgICAgIGNvbnN0IGNoYXRIaXN0b3J5ID0gSlNPTi5wYXJzZShjaGF0SGlzdG9yeUl0ZW0pO1xuICAgICAgICBjYWxsYmFja1N0YXRlUmVmLmN1cnJlbnQudGhyZWFkSWQgPSBjaGF0SGlzdG9yeS5jdXJyZW50VGhyZWFkSWQ7XG4gICAgICAgIGFkZE1lc3NhZ2VzVG9Db252ZXJzYXRpb24oY2hhdEhpc3RvcnkuY29udmVyc2F0aW9uKTtcbiAgICAgICAgaWYgKGNoYXRIaXN0b3J5LnJhdGluZyAhPT0gbnVsbCkge1xuICAgICAgICAgIHNldFJhdGluZyhjaGF0SGlzdG9yeS5yYXRpbmcpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cbiAgICB9XG4gICAgYWRkTWVzc2FnZXNUb0NvbnZlcnNhdGlvbihbXG4gICAgICB7XG4gICAgICAgIGlkOiB1dWlkdjQoKSxcbiAgICAgICAgdGV4dDogZ3JlZXRpbmcsXG4gICAgICAgIHNlbmRlcjogJ0Zyb250ZW5kJyxcbiAgICAgIH0sXG4gICAgXSk7XG4gIH0sIFtdKTtcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIC8vIE9uIGNsZWFudXAgcmVzZXQgdGhlIHRocmVhZFN0YXJ0RGF0ZSBzbyBhbnkgaW4tZmxpZ2h0IG1lc3NhZ2VzIGdldCBpZ25vcmVkXG4gICAgcmV0dXJuICgpID0+IHtcbiAgICAgIGNhbGxiYWNrU3RhdGVSZWYuY3VycmVudCA9IHtcbiAgICAgICAgLi4uY2FsbGJhY2tTdGF0ZVJlZi5jdXJyZW50LFxuICAgICAgICB0aHJlYWRTdGFydERhdGU6IG5ldyBEYXRlKCksXG4gICAgICB9O1xuICAgIH07XG4gIH0sIFtdKTtcblxuICBjb25zdCBoYW5kbGVPblNlbmQgPSB1c2VDYWxsYmFjayhcbiAgICBhc3luYyAobWVzc2FnZTogc3RyaW5nKSA9PiB7XG4gICAgICAvLyBBZGQgdXNlcnMgbWVzc2FnZSB0byBjb252ZXJzYXRpb24gaGlzdG9yeVxuICAgICAgYWRkTWVzc2FnZXNUb0NvbnZlcnNhdGlvbihbXG4gICAgICAgIHtcbiAgICAgICAgICBpZDogdXVpZHY0KCksXG4gICAgICAgICAgdGV4dDogbWVzc2FnZSxcbiAgICAgICAgICBzZW5kZXI6ICdVc2VyJyxcbiAgICAgICAgfSxcbiAgICAgIF0pO1xuXG4gICAgICBzZXRJc1dhaXRpbmdSZXNwb25zZSh0cnVlKTtcbiAgICAgIHRyeSB7XG4gICAgICAgIGNvbnN0IHJlc3BvbnNlID0gYXdhaXQgZ2V0Q29tbWFuZEV4ZWN1dG9yKCkuZXhlY3V0ZShhaUlkLCAncHJvY2Vzc0NoYXRNZXNzYWdlJywge1xuICAgICAgICAgIGlzUHJldmlldyxcbiAgICAgICAgICBxdWVyeTogbWVzc2FnZSxcbiAgICAgICAgICB0aHJlYWRJZDogY2FsbGJhY2tTdGF0ZVJlZi5jdXJyZW50LnRocmVhZElkIHx8IHVuZGVmaW5lZCxcbiAgICAgICAgfSk7XG5cbiAgICAgICAgLy8gQ2hlY2sgdGhpcyByZXNwb25zZSBpcyBmb3IgdGhpcyB0aHJlYWQgYmFzZWQgb24gdGhlIHRocmVhZFN0YXJ0RGF0ZSwgaWYgbm90IGVxdWFsIHRoZSByZXNwb25zZSBpcyBmb3IgYW4gb2xkIHRocmVhZFxuICAgICAgICBpZiAodGhyZWFkU3RhcnREYXRlID09PSBjYWxsYmFja1N0YXRlUmVmLmN1cnJlbnQudGhyZWFkU3RhcnREYXRlKSB7XG4gICAgICAgICAgLy8gVXBkYXRlIHRoZSB0aHJlYWRJZCBpZiB3ZSBkb24ndCBoYXZlIG9uZVxuICAgICAgICAgIGlmICghY2FsbGJhY2tTdGF0ZVJlZi5jdXJyZW50LnRocmVhZElkKSB7XG4gICAgICAgICAgICBjYWxsYmFja1N0YXRlUmVmLmN1cnJlbnQudGhyZWFkSWQgPSByZXNwb25zZS5vdXRwdXRzLnRocmVhZC5pZDtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICAvLyBBZGQgc2VydmVyIHJlc3BvbnNlIHRvIGNvbnZlcnNhdGlvbiBoaXN0b3J5XG4gICAgICAgICAgYWRkTWVzc2FnZXNUb0NvbnZlcnNhdGlvbihbXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgIGlkOiB1dWlkdjQoKSxcbiAgICAgICAgICAgICAgdGV4dDogcmVzcG9uc2Uub3V0cHV0cy5tZXNzYWdlLnJlc3BvbnNlLFxuICAgICAgICAgICAgICBzZW5kZXI6ICdTZXJ2ZXInLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICBdKTtcbiAgICAgICAgfVxuICAgICAgfSBjYXRjaCAoZXJyb3I6IHVua25vd24pIHtcbiAgICAgICAgLy8gQ2hlY2sgdGhpcyBlcnJvciBpcyBmb3IgdGhpcyB0aHJlYWQgYmFzZWQgb24gdGhlIHRocmVhZFN0YXJ0RGF0ZSwgaWYgbm90IGVxdWFsIHRoZSBlcnJvciBpcyBmb3IgYW4gb2xkIHRocmVhZFxuICAgICAgICBpZiAodGhyZWFkU3RhcnREYXRlID09PSBjYWxsYmFja1N0YXRlUmVmLmN1cnJlbnQudGhyZWFkU3RhcnREYXRlKSB7XG4gICAgICAgICAgLy8gQW4gZXJyb3IgaXMgc3RvcmVkIGluIGVycm9yLmVycm9yLm1lc3NhZ2UgYnV0IGl0IG1pZ2h0IG5vdCBiZSB1c2VyIHNhZmVcbiAgICAgICAgICBhZGRFcnJvck1lc3NhZ2VUb0NvbnZlcnNhdGlvbigpO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIGlmICh0aHJlYWRTdGFydERhdGUgPT09IGNhbGxiYWNrU3RhdGVSZWYuY3VycmVudC50aHJlYWRTdGFydERhdGUpIHtcbiAgICAgICAgc2V0SXNXYWl0aW5nUmVzcG9uc2UoZmFsc2UpO1xuICAgICAgfVxuICAgIH0sXG4gICAgW2lzUHJldmlldywgdGhyZWFkU3RhcnREYXRlXSxcbiAgKTtcblxuICBjb25zdCBoYW5kbGVPbk5ld0NoYXRSZXF1ZXN0ID0gdXNlQ2FsbGJhY2soKCkgPT4ge1xuICAgIGFkZE1lc3NhZ2VzVG9Db252ZXJzYXRpb24oW1xuICAgICAge1xuICAgICAgICBpZDogdXVpZHY0KCksXG4gICAgICAgIHRleHQ6ICdBcmUgeW91IHN1cmUgeW91IHdhbnQgdG8gc3RhcnQgYSBuZXcgY2hhdD8nLFxuICAgICAgICBzZW5kZXI6ICdGcm9udGVuZCcsXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBpZDogdXVpZHY0KCksXG4gICAgICAgIHR5cGU6ICduZXdDaGF0UmVxdWVzdCcsXG4gICAgICB9LFxuICAgIF0pO1xuICB9LCBbZ3JlZXRpbmddKTtcblxuICBjb25zdCBoYW5kbGVPbk5ld0NoYXRDb25maXJtID0gdXNlQ2FsbGJhY2soXG4gICAgKHllc1Jlc3BvbnNlOiBib29sZWFuKSA9PiB7XG4gICAgICBpZiAoeWVzUmVzcG9uc2UpIHtcbiAgICAgICAgLy8gUmVzZXQgdGhlIHRocmVhZCB0byBudWxsXG4gICAgICAgIGNhbGxiYWNrU3RhdGVSZWYuY3VycmVudC50aHJlYWRJZCA9IG51bGw7XG4gICAgICAgIHNldElzV2FpdGluZ1Jlc3BvbnNlKGZhbHNlKTtcbiAgICAgICAgc2V0VGhyZWFkU3RhcnREYXRlKG5ldyBEYXRlKCkpOyAvLyBSZXN0YXJ0IHRoZSB0aHJlYWQgYWdlXG4gICAgICAgIHNldFJhdGluZyhudWxsKTtcbiAgICAgICAgc2V0SXNQcm9jZXNzaW5nUmF0aW5nKGZhbHNlKTtcbiAgICAgICAgdXBkYXRlVGhyZWFkU2Vzc2lvblN0YXRlKHsgdGhyZWFkSWQ6IG51bGwsIHJhdGluZzogbnVsbCB9KTtcblxuICAgICAgICBhbHRlckNvbnZlcnNhdGlvbihbXG4gICAgICAgICAge1xuICAgICAgICAgICAgaW5zdHJ1Y3Rpb246ICdhZGQnLFxuICAgICAgICAgICAgaXRlbToge1xuICAgICAgICAgICAgICBpZDogdXVpZHY0KCksXG4gICAgICAgICAgICAgIHRleHQ6ICdZZXMnLFxuICAgICAgICAgICAgICBzZW5kZXI6ICdVc2VyJyxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgfSxcbiAgICAgICAgICB7XG4gICAgICAgICAgICBpbnN0cnVjdGlvbjogJ2FkZCcsXG4gICAgICAgICAgICBpdGVtOiB7XG4gICAgICAgICAgICAgIGlkOiB1dWlkdjQoKSxcbiAgICAgICAgICAgICAgdHlwZTogJ25ld0NoYXRCcmVhaycsXG4gICAgICAgICAgICB9LFxuICAgICAgICAgIH0sXG4gICAgICAgICAge1xuICAgICAgICAgICAgaW5zdHJ1Y3Rpb246ICdhZGQnLFxuICAgICAgICAgICAgaXRlbToge1xuICAgICAgICAgICAgICBpZDogdXVpZHY0KCksXG4gICAgICAgICAgICAgIHRleHQ6IGdyZWV0aW5nLFxuICAgICAgICAgICAgICBzZW5kZXI6ICdGcm9udGVuZCcsXG4gICAgICAgICAgICB9LFxuICAgICAgICAgIH0sXG4gICAgICAgICAge1xuICAgICAgICAgICAgaW5zdHJ1Y3Rpb246ICdyZW1vdmVTaW5nbGVPZlR5cGUnLFxuICAgICAgICAgICAgaXRlbToge1xuICAgICAgICAgICAgICBpZDogdXVpZHY0KCksXG4gICAgICAgICAgICAgIHR5cGU6ICduZXdDaGF0UmVxdWVzdCcsXG4gICAgICAgICAgICB9LFxuICAgICAgICAgIH0sXG4gICAgICAgIF0pO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgYWx0ZXJDb252ZXJzYXRpb24oW1xuICAgICAgICAgIHtcbiAgICAgICAgICAgIGluc3RydWN0aW9uOiAnYWRkJyxcbiAgICAgICAgICAgIGl0ZW06IHtcbiAgICAgICAgICAgICAgaWQ6IHV1aWR2NCgpLFxuICAgICAgICAgICAgICB0ZXh0OiAnTm8nLFxuICAgICAgICAgICAgICBzZW5kZXI6ICdVc2VyJyxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgfSxcbiAgICAgICAgICB7XG4gICAgICAgICAgICBpbnN0cnVjdGlvbjogJ2FkZCcsXG4gICAgICAgICAgICBpdGVtOiB7XG4gICAgICAgICAgICAgIGlkOiB1dWlkdjQoKSxcbiAgICAgICAgICAgICAgdGV4dDogJ09rLCBpcyB0aGVyZSBhbnl0aGluZyBlbHNlIEkgY2FuIGhlbHAgeW91IHdpdGg/JyxcbiAgICAgICAgICAgICAgc2VuZGVyOiAnRnJvbnRlbmQnLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICB9LFxuICAgICAgICAgIHtcbiAgICAgICAgICAgIGluc3RydWN0aW9uOiAncmVtb3ZlU2luZ2xlT2ZUeXBlJyxcbiAgICAgICAgICAgIGl0ZW06IHtcbiAgICAgICAgICAgICAgaWQ6IHV1aWR2NCgpLFxuICAgICAgICAgICAgICB0eXBlOiAnbmV3Q2hhdFJlcXVlc3QnLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICB9LFxuICAgICAgICBdKTtcbiAgICAgIH1cbiAgICB9LFxuICAgIFtncmVldGluZ10sXG4gICk7XG5cbiAgY29uc3QgaGFuZGxlT25SYXRlQ2hhdCA9IHVzZUNhbGxiYWNrKFxuICAgIGFzeW5jIChwb3NpdGl2ZVJhdGluZzogYm9vbGVhbikgPT4ge1xuICAgICAgaWYgKGR4cEFpQ2xpZW50LmN1cnJlbnQgJiYgY2FsbGJhY2tTdGF0ZVJlZi5jdXJyZW50LnRocmVhZElkICYmICFpc1Byb2Nlc3NpbmdSYXRpbmcpIHtcbiAgICAgICAgc2V0SXNQcm9jZXNzaW5nUmF0aW5nKHRydWUpO1xuICAgICAgICBzZXRSYXRpbmcocG9zaXRpdmVSYXRpbmcpO1xuICAgICAgICB1cGRhdGVUaHJlYWRTZXNzaW9uU3RhdGUoeyByYXRpbmc6IHBvc2l0aXZlUmF0aW5nIH0pO1xuICAgICAgICBpZiAocG9zaXRpdmVSYXRpbmcpIHtcbiAgICAgICAgICBhd2FpdCBkeHBBaUNsaWVudC5jdXJyZW50LmNoYXRib3QucmF0ZShhaUlkLCBjYWxsYmFja1N0YXRlUmVmLmN1cnJlbnQudGhyZWFkSWQsIHsgcmF0aW5nOiAncG9zaXRpdmUnIH0pO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIGF3YWl0IGR4cEFpQ2xpZW50LmN1cnJlbnQuY2hhdGJvdC5yYXRlKGFpSWQsIGNhbGxiYWNrU3RhdGVSZWYuY3VycmVudC50aHJlYWRJZCwgeyByYXRpbmc6ICduZWdhdGl2ZScgfSk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHRocmVhZFN0YXJ0RGF0ZSA9PT0gY2FsbGJhY2tTdGF0ZVJlZi5jdXJyZW50LnRocmVhZFN0YXJ0RGF0ZSkge1xuICAgICAgICAgIHNldElzUHJvY2Vzc2luZ1JhdGluZyhmYWxzZSk7XG4gICAgICAgIH1cbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGlmIChpc1Byb2Nlc3NpbmdSYXRpbmcpIHtcbiAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ1ByZXZpb3VzIHJhdGluZyBpcyBzdGlsbCBwcm9jZXNzaW5nJyk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdUaHJlYWQgaGFzIG5vdCBiZWVuIHN0YXJ0ZWQnKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH0sXG4gICAgW2FpSWQsIHRocmVhZFN0YXJ0RGF0ZSwgaXNQcm9jZXNzaW5nUmF0aW5nXSxcbiAgKTtcblxuICByZXR1cm4gKFxuICAgIDxDaGF0Q29udGV4dC5Qcm92aWRlclxuICAgICAgdmFsdWU9e3tcbiAgICAgICAgcmF0aW5nLFxuICAgICAgICBpc1Byb2Nlc3NpbmdSYXRpbmcsXG4gICAgICAgIGlzV2FpdGluZ1Jlc3BvbnNlLFxuICAgICAgICBjb252ZXJzYXRpb24sXG4gICAgICAgIG9uTmV3Q2hhdFJlcXVlc3Q6IGhhbmRsZU9uTmV3Q2hhdFJlcXVlc3QsXG4gICAgICAgIG9uTmV3Q2hhdENvbmZpcm06IGhhbmRsZU9uTmV3Q2hhdENvbmZpcm0sXG4gICAgICAgIG9uUmF0ZUNoYXQ6IGhhbmRsZU9uUmF0ZUNoYXQsXG4gICAgICAgIG9uU2VuZDogaGFuZGxlT25TZW5kLFxuICAgICAgfX1cbiAgICA+XG4gICAgICB7Y2hpbGRyZW59XG4gICAgPC9DaGF0Q29udGV4dC5Qcm92aWRlcj5cbiAgKTtcbn07XG4iXX0=
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ2hhdENvbnRleHQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvY29udGV4dC9DaGF0Q29udGV4dC50c3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSwrQ0FBb0c7QUFDcEcsd0RBQTBGO0FBQzFGLCtCQUFvQztBQW1DdkIsUUFBQSxXQUFXLEdBQUcsZUFBSyxDQUFDLGFBQWEsQ0FBbUI7SUFDL0QsTUFBTSxFQUFFLElBQUk7SUFDWixrQkFBa0IsRUFBRSxLQUFLO0lBQ3pCLGlCQUFpQixFQUFFLEtBQUs7SUFDeEIsa0JBQWtCLEVBQUUsS0FBSztJQUN6QixZQUFZLEVBQUUsRUFBRTtJQUNoQixnQkFBZ0IsRUFBRSxHQUFHLEVBQUU7UUFDckIsTUFBTSxJQUFJLEtBQUssQ0FBQywyQ0FBMkMsQ0FBQyxDQUFDO0lBQy9ELENBQUM7SUFDRCxnQkFBZ0IsRUFBRSxHQUFHLEVBQUU7UUFDckIsTUFBTSxJQUFJLEtBQUssQ0FBQywyQ0FBMkMsQ0FBQyxDQUFDO0lBQy9ELENBQUM7SUFDRCxVQUFVLEVBQUUsR0FBRyxFQUFFO1FBQ2YsTUFBTSxJQUFJLEtBQUssQ0FBQyxxQ0FBcUMsQ0FBQyxDQUFDO0lBQ3pELENBQUM7SUFDRCxNQUFNLEVBQUUsR0FBRyxFQUFFO1FBQ1gsTUFBTSxJQUFJLEtBQUssQ0FBQyxpQ0FBaUMsQ0FBQyxDQUFDO0lBQ3JELENBQUM7Q0FDRixDQUFDLENBQUM7QUFFSCxNQUFNLHNCQUFzQixHQUFHLENBQUMsZ0JBQXdCLEVBQVcsRUFBRTtJQUNuRSxNQUFNLGVBQWUsR0FBRyxjQUFjLENBQUMsT0FBTyxDQUFDLGdCQUFnQixDQUFDLENBQUM7SUFDakUsSUFBSSxrQkFBa0IsR0FBRyxLQUFLLENBQUM7SUFFL0IsSUFBSSxlQUFlLEVBQUUsQ0FBQztRQUNwQixNQUFNLFdBQVcsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLGVBQWUsQ0FBQyxDQUFDO1FBQ2hELGtC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QUFJLGVBQWUsS0FBSyxnQkFBZ0IsQ0FBQyxPQUFPLENBQUMsZUFBZSxFQUFFLENBQUM7Z0JBQ2pFLHFCQUFxQixDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQy9CLENBQUM7UUFDSCxDQUFDO2FBQU0sQ0FBQztZQUNOLElBQUksa0JBQWtCLEVBQUUsQ0FBQztnQkFDdkIsTUFBTSxJQUFJLEtBQUssQ0FBQyxxQ0FBcUMsQ0FBQyxDQUFDO1lBQ3pELENBQUM7aUJBQU0sQ0FBQztnQkFDTixNQUFNLElBQUksS0FBSyxDQUFDLDZCQUE2QixDQUFDLENBQUM7WUFDakQsQ0FBQztRQUNILENBQUM7SUFDSCxDQUFDLEVBQ0QsQ0FBQyxJQUFJLEVBQUUsZUFBZSxFQUFFLGtCQUFrQixDQUFDLENBQzVDLENBQUM7SUFFRixPQUFPLENBQ0wsOEJBQUMsbUJBQVcsQ0FBQyxRQUFRLElBQ25CLEtBQUssRUFBRTtZQUNMLE1BQU07WUFDTixrQkFBa0I7WUFDbEIsaUJBQWlCO1lBQ2pCLGtCQUFrQjtZQUNsQixZQUFZO1lBQ1osZ0JBQWdCLEVBQUUsc0JBQXNCO1lBQ3hDLGdCQUFnQixFQUFFLHNCQUFzQjtZQUN4QyxVQUFVLEVBQUUsZ0JBQWdCO1lBQzVCLE1BQU0sRUFBRSxZQUFZO1NBQ3JCLElBRUEsUUFBUSxDQUNZLENBQ3hCLENBQUM7QUFDSixDQUFDLENBQUM7QUFyV1csUUFBQSxtQkFBbUIsdUJBcVc5QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBSZWFjdCwgeyBQcm9wc1dpdGhDaGlsZHJlbiwgdXNlUmVmLCB1c2VTdGF0ZSwgdXNlRWZmZWN0LCB1c2VDYWxsYmFjaywgdXNlTWVtbyB9IGZyb20gJ3JlYWN0JztcbmltcG9ydCB7IER4cEFpU2VydmljZSwgQ2hhdEJvdENvbW1hbmRFeGVjdXRvciwgY3JlYXRlQ2xpZW50IH0gZnJvbSAnQHNxdWl6L2R4cC1haS1jbGllbnQnO1xuaW1wb3J0IHsgdjQgYXMgdXVpZHY0IH0gZnJvbSAndXVpZCc7XG5pbXBvcnQgeyBDb252ZXJzYXRpb25JdGVtLCBDb250cm9sTWVzc2FnZSB9IGZyb20gJy4uL3R5cGVzJztcblxuZXhwb3J0IHR5cGUgQ2hhdFByb3ZpZGVyUHJvcHMgPSB7XG4gIGFpSWQ6IHN0cmluZztcbiAgYWlBcGlVcmw/OiBzdHJpbmc7XG4gIGFpU2VydmljZT86IER4cEFpU2VydmljZTx1bmtub3duPjtcbiAgaXNQcmV2aWV3PzogYm9vbGVhbjtcbiAgZ3JlZXRpbmc6IHN0cmluZztcbiAgcGVyc2lzdFRocmVhZD86IGJvb2xlYW47XG59O1xuXG5leHBvcnQgdHlwZSBDaGF0Q29udGV4dFByb3BzID0ge1xuICByYXRpbmc6IGJvb2xlYW4gfCBudWxsO1xuICBpc1Byb2Nlc3NpbmdSYXRpbmc6IGJvb2xlYW47XG4gIGlzV2FpdGluZ1Jlc3BvbnNlOiBib29sZWFuO1xuICBpc1dhaXRpbmdVc2VySW5wdXQ6IGJvb2xlYW47XG4gIGNvbnZlcnNhdGlvbjogQ29udmVyc2F0aW9uSXRlbVtdO1xuICBvbk5ld0NoYXRSZXF1ZXN0OiAoKSA9PiB2b2lkO1xuICBvbk5ld0NoYXRDb25maXJtOiAoeWVzUmVzcG9uc2U6IGJvb2xlYW4pID0+IHZvaWQ7XG4gIG9uUmF0ZUNoYXQ6IChwb3NpdGl2ZVJhdGluZzogYm9vbGVhbikgPT4gdm9pZDtcbiAgb25TZW5kOiAobWVzc2FnZTogc3RyaW5nKSA9PiB2b2lkO1xufTtcblxudHlwZSBDb252ZXJzYXRpb25JbnN0cnVjdGlvbiA9IHtcbiAgaXRlbTogQ29udmVyc2F0aW9uSXRlbTtcbiAgaW5zdHJ1Y3Rpb246ICdhZGQnIHwgJ3JlbW92ZVNpbmdsZU9mVHlwZSc7XG59O1xuXG50eXBlIENvbnZlcnNhdGlvblBlcnNpc3RQcm9wcyA9IHtcbiAgY29udmVyc2F0aW9uPzogQ29udmVyc2F0aW9uSXRlbVtdO1xuICByYXRpbmc/OiBib29sZWFuIHwgbnVsbDtcbiAgdGhyZWFkSWQ/OiBzdHJpbmcgfCBudWxsO1xufTtcblxuZXhwb3J0IGNvbnN0IENoYXRDb250ZXh0ID0gUmVhY3QuY3JlYXRlQ29udGV4dDxDaGF0Q29udGV4dFByb3BzPih7XG4gIHJhdGluZzogbnVsbCxcbiAgaXNQcm9jZXNzaW5nUmF0aW5nOiBmYWxzZSxcbiAgaXNXYWl0aW5nUmVzcG9uc2U6IGZhbHNlLFxuICBpc1dhaXRpbmdVc2VySW5wdXQ6IGZhbHNlLFxuICBjb252ZXJzYXRpb246IFtdLFxuICBvbk5ld0NoYXRSZXF1ZXN0OiAoKSA9PiB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdvbk5ld0NoYXRSZXF1ZXN0IGhhcyBub3QgYmVlbiBjb25maWd1cmVkLicpO1xuICB9LFxuICBvbk5ld0NoYXRDb25maXJtOiAoKSA9PiB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdvbk5ld0NoYXRDb25maXJtIGhhcyBub3QgYmVlbiBjb25maWd1cmVkLicpO1xuICB9LFxuICBvblJhdGVDaGF0OiAoKSA9PiB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdvblJhdGVDaGF0IGhhcyBub3QgYmVlbiBjb25maWd1cmVkLicpO1xuICB9LFxuICBvblNlbmQ6ICgpID0+IHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ29uU2VuZCBoYXMgbm90IGJlZW4gY29uZmlndXJlZC4nKTtcbiAgfSxcbn0pO1xuXG5jb25zdCBnZXRTYXZlZFVzZXJJbnB1dFN0YXRlID0gKHNlc3Npb25TdG9yYWdlSWQ6IHN0cmluZyk6IGJvb2xlYW4gPT4ge1xuICBjb25zdCBjaGF0SGlzdG9yeUl0ZW0gPSBzZXNzaW9uU3RvcmFnZS5nZXRJdGVtKHNlc3Npb25TdG9yYWdlSWQpO1xuICBsZXQgaXNXYWl0aW5nVXNlcklucHV0ID0gZmFsc2U7XG5cbiAgaWYgKGNoYXRIaXN0b3J5SXRlbSkge1xuICAgIGNvbnN0IGNoYXRIaXN0b3J5ID0gSlNPTi5wYXJzZShjaGF0SGlzdG9yeUl0ZW0pO1xuICAgIGlzV2FpdGluZ1VzZXJJbnB1dCA9IGNoYXRIaXN0b3J5LmlzV2FpdGluZ1VzZXJJbnB1dDtcbiAgfVxuXG4gIHJldHVybiBpc1dhaXRpbmdVc2VySW5wdXQ7XG59O1xuXG5leHBvcnQgY29uc3QgQ2hhdENvbnRleHRQcm92aWRlciA9IChwcm9wczogUHJvcHNXaXRoQ2hpbGRyZW48Q2hhdFByb3ZpZGVyUHJvcHM+KSA9PiB7XG4gIGNvbnN0IHsgYWlJZCwgYWlBcGlVcmwsIGFpU2VydmljZSwgaXNQcmV2aWV3LCBncmVldGluZywgcGVyc2lzdFRocmVhZCA9IGZhbHNlLCBjaGlsZHJlbiB9ID0gcHJvcHM7XG4gIGNvbnN0IHNlc3Npb25TdG9yYWdlSWQgPSBgc3F1aXotY2hhdC11aS1oaXN0b3J5LSR7YWlJZH1gO1xuICBjb25zdCBkeHBBaUNsaWVudCA9IHVzZVJlZjxEeHBBaVNlcnZpY2U8dW5rbm93bj4gfCBudWxsPihudWxsKTtcbiAgY29uc3QgZXhlY3V0b3IgPSB1c2VSZWY8Q2hhdEJvdENvbW1hbmRFeGVjdXRvciB8IG51bGw+KG51bGwpO1xuICBjb25zdCBbaXNXYWl0aW5nUmVzcG9uc2UsIHNldElzV2FpdGluZ1Jlc3BvbnNlXSA9IHVzZVN0YXRlPGJvb2xlYW4+KGZhbHNlKTtcbiAgY29uc3QgW2lzV2FpdGluZ1VzZXJJbnB1dCwgc2V0SXNXYWl0aW5nVXNlcklucHV0XSA9IHVzZVN0YXRlPGJvb2xlYW4+KFxuICAgIHBlcnNpc3RUaHJlYWQgJiYgZ2V0U2F2ZWRVc2VySW5wdXRTdGF0ZShzZXNzaW9uU3RvcmFnZUlkKSxcbiAgKTtcbiAgY29uc3QgW3RocmVhZFN0YXJ0RGF0ZSwgc2V0VGhyZWFkU3RhcnREYXRlXSA9IHVzZVN0YXRlPERhdGU+KG5ldyBEYXRlKCkpO1xuICBjb25zdCBbY29udmVyc2F0aW9uLCBzZXRDb252ZXJzYXRpb25dID0gdXNlU3RhdGU8Q29udmVyc2F0aW9uSXRlbVtdPihbXSk7XG4gIGNvbnN0IFtyYXRpbmcsIHNldFJhdGluZ10gPSB1c2VTdGF0ZTxib29sZWFuIHwgbnVsbD4obnVsbCk7XG4gIGNvbnN0IFtpc1Byb2Nlc3NpbmdSYXRpbmcsIHNldElzUHJvY2Vzc2luZ1JhdGluZ10gPSB1c2VTdGF0ZTxib29sZWFuPihmYWxzZSk7XG5cbiAgLy8gUmV0dXJuIHRoZSBjb21tYW5kIGV4ZWN1dG9yIG9yIGNyZWF0ZSBpZiBpdHMgbm90IHNldHVwIHlldCAod29ya2Fyb3VuZCBmb3IgdXNlUmVmIG5vdCB0YWtpbmcgYW4gaW5pdCBmdW5jdGlvbilcbiAgZnVuY3Rpb24gZ2V0Q29tbWFuZEV4ZWN1dG9yKCkge1xuICAgIGlmIChleGVjdXRvci5jdXJyZW50ICE9PSBudWxsKSB7XG4gICAgICByZXR1cm4gZXhlY3V0b3IuY3VycmVudDtcbiAgICB9XG4gICAgaWYgKGFpU2VydmljZSkge1xuICAgICAgZHhwQWlDbGllbnQuY3VycmVudCA9IGFpU2VydmljZTtcbiAgICB9IGVsc2UgaWYgKGFpQXBpVXJsKSB7XG4gICAgICBkeHBBaUNsaWVudC5jdXJyZW50ID0gbmV3IER4cEFpU2VydmljZShcbiAgICAgICAgY3JlYXRlQ2xpZW50KHtcbiAgICAgICAgICBiYXNlVXJsOiBhaUFwaVVybCxcbiAgICAgICAgfSksXG4gICAgICApO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ1JlcXVpcmVzOiBhaUFwaVVybCBvciBhaVNlcnZpY2UgZm9yIGNvbm5lY3Rpb24gdG8gdGhlIGNoYXRib3QuJyk7XG4gICAgfVxuICAgIGV4ZWN1dG9yLmN1cnJlbnQgPSBuZXcgQ2hhdEJvdENvbW1hbmRFeGVjdXRvcihkeHBBaUNsaWVudC5jdXJyZW50KTtcbiAgICByZXR1cm4gZXhlY3V0b3IuY3VycmVudDtcbiAgfVxuXG4gIC8vIEtlZXAgYSByZWYgdG8gdGhlIGNvbnZlcnNhdGlvbiBzbyBjYWxsYmFja3MgZnJvbSBzZW5kTWVzc2FnZSBoYXZlIHVwIHRvIGRhdGUgaGlzdG9yeSB0byBpbnNlcnQgaW50b1xuICBjb25zdCBjYWxsYmFja1N0YXRlUmVmID0gdXNlUmVmPHtcbiAgICBjb252ZXJzYXRpb246IENvbnZlcnNhdGlvbkl0ZW1bXTtcbiAgICB0aHJlYWRJZDogc3RyaW5nIHwgbnVsbDtcbiAgICB0aHJlYWRTdGFydERhdGU6IERhdGU7XG4gIH0+KHtcbiAgICBjb252ZXJzYXRpb246IFtdLFxuICAgIHRocmVhZElkOiBudWxsLFxuICAgIHRocmVhZFN0YXJ0RGF0ZSxcbiAgfSk7XG4gIGNhbGxiYWNrU3RhdGVSZWYuY3VycmVudCA9IHtcbiAgICBjb252ZXJzYXRpb24sXG4gICAgdGhyZWFkSWQ6IGNhbGxiYWNrU3RhdGVSZWYuY3VycmVudC50aHJlYWRJZCxcbiAgICB0aHJlYWRTdGFydERhdGUsXG4gIH07XG5cbiAgLy8gU2ltcGxlIGFkZCBtZXNzYWdlIGZ1bmN0aW9uXG4gIGNvbnN0IGFkZE1lc3NhZ2VzVG9Db252ZXJzYXRpb24gPSAobWVzc2FnZXM6IENvbnZlcnNhdGlvbkl0ZW1bXSkgPT4ge1xuICAgIGNvbnN0IG5ld0NvbnZlcnNhdGlvbiA9IFsuLi5jYWxsYmFja1N0YXRlUmVmLmN1cnJlbnQuY29udmVyc2F0aW9uLCAuLi5tZXNzYWdlc107XG4gICAgc2V0Q29udmVyc2F0aW9uKG5ld0NvbnZlcnNhdGlvbik7XG4gICAgdXBkYXRlVGhyZWFkU2Vzc2lvblN0YXRlKHsgY29udmVyc2F0aW9uOiBuZXdDb252ZXJzYXRpb24gfSk7XG4gIH07XG5cbiAgLy8gQ29tcGxleCBjb252ZXJzYXRpb24gY2hhbmdlIGZ1bmN0aW9uXG4gIGNvbnN0IGFsdGVyQ29udmVyc2F0aW9uID0gKGluc3RydWN0aW9uczogQ29udmVyc2F0aW9uSW5zdHJ1Y3Rpb25bXSkgPT4ge1xuICAgIGxldCBuZXdDb252ZXJzYXRpb24gPSBbLi4uY2FsbGJhY2tTdGF0ZVJlZi5jdXJyZW50LmNvbnZlcnNhdGlvbl07XG4gICAgaW5zdHJ1Y3Rpb25zLmZvckVhY2goKHsgaXRlbSwgaW5zdHJ1Y3Rpb24gfSkgPT4ge1xuICAgICAgLy8gQWRkIHRvIGVuZCBvZiBjb252ZXJzYXRpb25cbiAgICAgIGlmIChpbnN0cnVjdGlvbiA9PT0gJ2FkZCcpIHtcbiAgICAgICAgbmV3Q29udmVyc2F0aW9uID0gWy4uLm5ld0NvbnZlcnNhdGlvbiwgaXRlbV07XG4gICAgICB9IGVsc2UgaWYgKGluc3RydWN0aW9uID09PSAncmVtb3ZlU2luZ2xlT2ZUeXBlJykge1xuICAgICAgICBjb25zdCByZW1vdmVUeXBlID0gKGl0ZW0gYXMgQ29udHJvbE1lc3NhZ2UpLnR5cGU7XG4gICAgICAgIGNvbnN0IGNvbnRyb2xNZXNzYWdlSW5kZXggPSBjYWxsYmFja1N0YXRlUmVmLmN1cnJlbnQuY29udmVyc2F0aW9uLmZpbmRJbmRleCgobWVzc2FnZSkgPT4ge1xuICAgICAgICAgIGNvbnN0IGlzQ29udHJvbE1lc3NhZ2UgPSBPYmplY3QuaGFzT3duKG1lc3NhZ2UsICd0eXBlJyk7XG4gICAgICAgICAgY29uc3QgY29udHJvbE1lc3NhZ2UgPSBtZXNzYWdlIGFzIENvbnRyb2xNZXNzYWdlO1xuXG4gICAgICAgICAgaWYgKGlzQ29udHJvbE1lc3NhZ2UgJiYgY29udHJvbE1lc3NhZ2UudHlwZSA9PT0gcmVtb3ZlVHlwZSkge1xuICAgICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgICAgfVxuICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgfSk7XG5cbiAgICAgICAgLy8gUmVtb3ZlIHRoZSB0eXBlIGZyb20gdGhlIGNvbnZlcnNhdGlvblxuICAgICAgICBpZiAoY29udHJvbE1lc3NhZ2VJbmRleCkge1xuICAgICAgICAgIG5ld0NvbnZlcnNhdGlvbi5zcGxpY2UoY29udHJvbE1lc3NhZ2VJbmRleCwgMSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9KTtcblxuICAgIHNldENvbnZlcnNhdGlvbihuZXdDb252ZXJzYXRpb24pO1xuICAgIHVwZGF0ZVRocmVhZFNlc3Npb25TdGF0ZSh7IGNvbnZlcnNhdGlvbjogbmV3Q29udmVyc2F0aW9uIH0pO1xuICB9O1xuXG4gIC8vIEhlbHBlciBmdW5jdGlvbiB0byBwZXJzaXN0IHRoZSB0aHJlYWQgaW50byB0aGUgc2Vzc2lvbiBzdG9yYWdlIGlmIGVuYWJsZWRcbiAgY29uc3QgdXBkYXRlVGhyZWFkU2Vzc2lvblN0YXRlID0gKHsgY29udmVyc2F0aW9uLCByYXRpbmcsIHRocmVhZElkIH06IENvbnZlcnNhdGlvblBlcnNpc3RQcm9wcykgPT4ge1xuICAgIGlmIChwZXJzaXN0VGhyZWFkKSB7XG4gICAgICAvLyBHZXQgdGhlIG9sZCBoaXN0b3J5IGZyb20gdGhlIHNlc3Npb24gc28gd2UgY2FuIGZpbGwgaW4gbWlzc2luZyBkZXRhaWxzXG4gICAgICBjb25zdCBjaGF0SGlzdG9yeUl0ZW0gPSBzZXNzaW9uU3RvcmFnZS5nZXRJdGVtKHNlc3Npb25TdG9yYWdlSWQpO1xuICAgICAgbGV0IG9sZENoYXRIaXN0b3J5O1xuICAgICAgaWYgKGNoYXRIaXN0b3J5SXRlbSkge1xuICAgICAgICBvbGRDaGF0SGlzdG9yeSA9IEpTT04ucGFyc2UoY2hhdEhpc3RvcnlJdGVtKTtcbiAgICAgIH1cblxuICAgICAgLy8gRGV0ZXJtaW5lIHdoYXQgdmFsdWUgdG8gc2V0IHRoZSByYXRpbmcgdG8sIGNsZWFyZXIgdGhhbiBhIHRyaXBsZSB0ZXJuYXJ5XG4gICAgICBsZXQgbmV3UmF0aW5nID0gbnVsbDtcbiAgICAgIGlmIChyYXRpbmcgIT09IHVuZGVmaW5lZCkge1xuICAgICAgICBuZXdSYXRpbmcgPSByYXRpbmc7XG4gICAgICB9IGVsc2UgaWYgKG9sZENoYXRIaXN0b3J5Py5yYXRpbmcgIT09IG51bGwpIHtcbiAgICAgICAgbmV3UmF0aW5nID0gb2xkQ2hhdEhpc3Rvcnk/LnJhdGluZztcbiAgICAgIH1cblxuICAgICAgc2Vzc2lvblN0b3JhZ2Uuc2V0SXRlbShcbiAgICAgICAgc2Vzc2lvblN0b3JhZ2VJZCxcbiAgICAgICAgSlNPTi5zdHJpbmdpZnkoe1xuICAgICAgICAgIGN1cnJlbnRUaHJlYWRJZDogdGhyZWFkSWQgfHwgY2FsbGJhY2tTdGF0ZVJlZi5jdXJyZW50LnRocmVhZElkLFxuICAgICAgICAgIGNvbnZlcnNhdGlvbjogY29udmVyc2F0aW9uIHx8IG9sZENoYXRIaXN0b3J5Py5jb252ZXJzYXRpb24sXG4gICAgICAgICAgcmF0aW5nOiBuZXdSYXRpbmcsXG4gICAgICAgICAgLi4uKGlzV2FpdGluZ1VzZXJJbnB1dCA/IHsgaXNXYWl0aW5nVXNlcklucHV0IH0gOiB7fSksXG4gICAgICAgIH0pLFxuICAgICAgKTtcbiAgICB9XG4gIH07XG5cbiAgY29uc3QgYWRkRXJyb3JNZXNzYWdlVG9Db252ZXJzYXRpb24gPSAoKSA9PiB7XG4gICAgYWRkTWVzc2FnZXNUb0NvbnZlcnNhdGlvbihbXG4gICAgICB7XG4gICAgICAgIGlkOiB1dWlkdjQoKSxcbiAgICAgICAgdGV4dDogJ1RoZXJlIHdhcyBhIHByb2JsZW0gcmVzcG9uZGluZyB0byB5b3VyIG1lc3NhZ2UsIHBsZWFzZSB0cnkgYWdhaW4uJyxcbiAgICAgICAgc2VuZGVyOiAnRnJvbnRlbmQnLFxuICAgICAgICBpc0Vycm9yOiB0cnVlLFxuICAgICAgfSxcbiAgICBdKTtcbiAgfTtcblxuICAvLyBTdGFydCB1cCB0aGUgY2hhdGJvdCBleGVjdXRvciBhbmQgYWRkIHRoZSBncmVldGluZyBpbnRvIHRoZSBjb252ZXJzYXRpb24gaGlzdG9yeVxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGdldENvbW1hbmRFeGVjdXRvcigpOyAvLyBTdGFydCB0aGUgY29tbWFuZCBleGVjdXRvclxuICAgIGlmIChwZXJzaXN0VGhyZWFkKSB7XG4gICAgICBjb25zdCBjaGF0SGlzdG9yeUl0ZW0gPSBzZXNzaW9uU3RvcmFnZS5nZXRJdGVtKHNlc3Npb25TdG9yYWdlSWQpO1xuICAgICAgaWYgKGNoYXRIaXN0b3J5SXRlbSkge1xuICAgICAgICBjb25zdCBjaGF0SGlzdG9yeSA9IEpTT04ucGFyc2UoY2hhdEhpc3RvcnlJdGVtKTtcbiAgICAgICAgY2FsbGJhY2tTdGF0ZVJlZi5jdXJyZW50LnRocmVhZElkID0gY2hhdEhpc3RvcnkuY3VycmVudFRocmVhZElkO1xuICAgICAgICBhZGRNZXNzYWdlc1RvQ29udmVyc2F0aW9uKGNoYXRIaXN0b3J5LmNvbnZlcnNhdGlvbik7XG4gICAgICAgIGlmIChjaGF0SGlzdG9yeS5yYXRpbmcgIT09IG51bGwpIHtcbiAgICAgICAgICBzZXRSYXRpbmcoY2hhdEhpc3RvcnkucmF0aW5nKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHNldElzV2FpdGluZ1VzZXJJbnB1dChjaGF0SGlzdG9yeS5pc1dhaXRpbmdVc2VySW5wdXQpO1xuXG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cbiAgICB9XG4gICAgYWRkTWVzc2FnZXNUb0NvbnZlcnNhdGlvbihbXG4gICAgICB7XG4gICAgICAgIGlkOiB1dWlkdjQoKSxcbiAgICAgICAgdGV4dDogZ3JlZXRpbmcsXG4gICAgICAgIHNlbmRlcjogJ0Zyb250ZW5kJyxcbiAgICAgIH0sXG4gICAgXSk7XG4gIH0sIFtdKTtcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIC8vIE9uIGNsZWFudXAgcmVzZXQgdGhlIHRocmVhZFN0YXJ0RGF0ZSBzbyBhbnkgaW4tZmxpZ2h0IG1lc3NhZ2VzIGdldCBpZ25vcmVkXG4gICAgcmV0dXJuICgpID0+IHtcbiAgICAgIGNhbGxiYWNrU3RhdGVSZWYuY3VycmVudCA9IHtcbiAgICAgICAgLi4uY2FsbGJhY2tTdGF0ZVJlZi5jdXJyZW50LFxuICAgICAgICB0aHJlYWRTdGFydERhdGU6IG5ldyBEYXRlKCksXG4gICAgICB9O1xuICAgIH07XG4gIH0sIFtdKTtcblxuICB1c2VNZW1vKCgpID0+IHtcbiAgICBpZiAocGVyc2lzdFRocmVhZCAmJiBpc1dhaXRpbmdVc2VySW5wdXQgIT09IGdldFNhdmVkVXNlcklucHV0U3RhdGUoc2Vzc2lvblN0b3JhZ2VJZCkpIHtcbiAgICAgIC8vIFVwZGF0ZSB3YWl0aW5nIHVzZXIgaW5wdXQgc3RhdGUgaW4gc2Vzc2lvbi5cbiAgICAgIHVwZGF0ZVRocmVhZFNlc3Npb25TdGF0ZSh7fSk7XG4gICAgfVxuICB9LCBbaXNXYWl0aW5nVXNlcklucHV0XSk7XG5cbiAgY29uc3QgaGFuZGxlT25TZW5kID0gdXNlQ2FsbGJhY2soXG4gICAgYXN5bmMgKG1lc3NhZ2U6IHN0cmluZykgPT4ge1xuICAgICAgLy8gQWRkIHVzZXJzIG1lc3NhZ2UgdG8gY29udmVyc2F0aW9uIGhpc3RvcnlcbiAgICAgIGFkZE1lc3NhZ2VzVG9Db252ZXJzYXRpb24oW1xuICAgICAgICB7XG4gICAgICAgICAgaWQ6IHV1aWR2NCgpLFxuICAgICAgICAgIHRleHQ6IG1lc3NhZ2UsXG4gICAgICAgICAgc2VuZGVyOiAnVXNlcicsXG4gICAgICAgIH0sXG4gICAgICBdKTtcblxuICAgICAgc2V0SXNXYWl0aW5nUmVzcG9uc2UodHJ1ZSk7XG4gICAgICBzZXRJc1dhaXRpbmdVc2VySW5wdXQoZmFsc2UpO1xuICAgICAgdHJ5IHtcbiAgICAgICAgY29uc3QgcmVzcG9uc2UgPSBhd2FpdCBnZXRDb21tYW5kRXhlY3V0b3IoKS5leGVjdXRlKGFpSWQsICdwcm9jZXNzQ2hhdE1lc3NhZ2UnLCB7XG4gICAgICAgICAgaXNQcmV2aWV3LFxuICAgICAgICAgIHF1ZXJ5OiBtZXNzYWdlLFxuICAgICAgICAgIHRocmVhZElkOiBjYWxsYmFja1N0YXRlUmVmLmN1cnJlbnQudGhyZWFkSWQgfHwgdW5kZWZpbmVkLFxuICAgICAgICB9KTtcblxuICAgICAgICAvLyBDaGVjayB0aGlzIHJlc3BvbnNlIGlzIGZvciB0aGlzIHRocmVhZCBiYXNlZCBvbiB0aGUgdGhyZWFkU3RhcnREYXRlLCBpZiBub3QgZXF1YWwgdGhlIHJlc3BvbnNlIGlzIGZvciBhbiBvbGQgdGhyZWFkXG4gICAgICAgIGlmICh0aHJlYWRTdGFydERhdGUgPT09IGNhbGxiYWNrU3RhdGVSZWYuY3VycmVudC50aHJlYWRTdGFydERhdGUpIHtcbiAgICAgICAgICAvLyBVcGRhdGUgdGhlIHRocmVhZElkIGlmIHdlIGRvbid0IGhhdmUgb25lXG4gICAgICAgICAgaWYgKCFjYWxsYmFja1N0YXRlUmVmLmN1cnJlbnQudGhyZWFkSWQpIHtcbiAgICAgICAgICAgIGNhbGxiYWNrU3RhdGVSZWYuY3VycmVudC50aHJlYWRJZCA9IHJlc3BvbnNlLm91dHB1dHMudGhyZWFkLmlkO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIC8vIEFkZCBzZXJ2ZXIgcmVzcG9uc2UgdG8gY29udmVyc2F0aW9uIGhpc3RvcnlcbiAgICAgICAgICBhZGRNZXNzYWdlc1RvQ29udmVyc2F0aW9uKFtcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgaWQ6IHV1aWR2NCgpLFxuICAgICAgICAgICAgICB0ZXh0OiByZXNwb25zZS5vdXRwdXRzLm1lc3NhZ2UucmVzcG9uc2UsXG4gICAgICAgICAgICAgIHNlbmRlcjogJ1NlcnZlcicsXG4gICAgICAgICAgICB9LFxuICAgICAgICAgIF0pO1xuICAgICAgICB9XG4gICAgICB9IGNhdGNoIChlcnJvcjogdW5rbm93bikge1xuICAgICAgICAvLyBDaGVjayB0aGlzIGVycm9yIGlzIGZvciB0aGlzIHRocmVhZCBiYXNlZCBvbiB0aGUgdGhyZWFkU3RhcnREYXRlLCBpZiBub3QgZXF1YWwgdGhlIGVycm9yIGlzIGZvciBhbiBvbGQgdGhyZWFkXG4gICAgICAgIGlmICh0aHJlYWRTdGFydERhdGUgPT09IGNhbGxiYWNrU3RhdGVSZWYuY3VycmVudC50aHJlYWRTdGFydERhdGUpIHtcbiAgICAgICAgICAvLyBBbiBlcnJvciBpcyBzdG9yZWQgaW4gZXJyb3IuZXJyb3IubWVzc2FnZSBidXQgaXQgbWlnaHQgbm90IGJlIHVzZXIgc2FmZVxuICAgICAgICAgIGFkZEVycm9yTWVzc2FnZVRvQ29udmVyc2F0aW9uKCk7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgaWYgKHRocmVhZFN0YXJ0RGF0ZSA9PT0gY2FsbGJhY2tTdGF0ZVJlZi5jdXJyZW50LnRocmVhZFN0YXJ0RGF0ZSkge1xuICAgICAgICBzZXRJc1dhaXRpbmdSZXNwb25zZShmYWxzZSk7XG4gICAgICB9XG4gICAgfSxcbiAgICBbaXNQcmV2aWV3LCB0aHJlYWRTdGFydERhdGVdLFxuICApO1xuXG4gIGNvbnN0IGhhbmRsZU9uTmV3Q2hhdFJlcXVlc3QgPSB1c2VDYWxsYmFjaygoKSA9PiB7XG4gICAgc2V0SXNXYWl0aW5nVXNlcklucHV0KHRydWUpO1xuICAgIHNldElzV2FpdGluZ1Jlc3BvbnNlKGZhbHNlKTtcbiAgICBhZGRNZXNzYWdlc1RvQ29udmVyc2F0aW9uKFtcbiAgICAgIHtcbiAgICAgICAgaWQ6IHV1aWR2NCgpLFxuICAgICAgICB0ZXh0OiAnQXJlIHlvdSBzdXJlIHlvdSB3YW50IHRvIHN0YXJ0IGEgbmV3IGNoYXQ/JyxcbiAgICAgICAgc2VuZGVyOiAnRnJvbnRlbmQnLFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgaWQ6IHV1aWR2NCgpLFxuICAgICAgICB0eXBlOiAnbmV3Q2hhdFJlcXVlc3QnLFxuICAgICAgfSxcbiAgICBdKTtcbiAgfSwgW2dyZWV0aW5nXSk7XG5cbiAgY29uc3QgaGFuZGxlT25OZXdDaGF0Q29uZmlybSA9IHVzZUNhbGxiYWNrKFxuICAgICh5ZXNSZXNwb25zZTogYm9vbGVhbikgPT4ge1xuICAgICAgaWYgKHllc1Jlc3BvbnNlKSB7XG4gICAgICAgIC8vIFJlc2V0IHRoZSB0aHJlYWQgdG8gbnVsbFxuICAgICAgICBjYWxsYmFja1N0YXRlUmVmLmN1cnJlbnQudGhyZWFkSWQgPSBudWxsO1xuICAgICAgICBzZXRJc1dhaXRpbmdSZXNwb25zZShmYWxzZSk7XG4gICAgICAgIHNldElzV2FpdGluZ1VzZXJJbnB1dChmYWxzZSk7XG4gICAgICAgIHNldFRocmVhZFN0YXJ0RGF0ZShuZXcgRGF0ZSgpKTsgLy8gUmVzdGFydCB0aGUgdGhyZWFkIGFnZVxuICAgICAgICBzZXRSYXRpbmcobnVsbCk7XG4gICAgICAgIHNldElzUHJvY2Vzc2luZ1JhdGluZyhmYWxzZSk7XG4gICAgICAgIHVwZGF0ZVRocmVhZFNlc3Npb25TdGF0ZSh7IHRocmVhZElkOiBudWxsLCByYXRpbmc6IG51bGwgfSk7XG5cbiAgICAgICAgYWx0ZXJDb252ZXJzYXRpb24oW1xuICAgICAgICAgIHtcbiAgICAgICAgICAgIGluc3RydWN0aW9uOiAnYWRkJyxcbiAgICAgICAgICAgIGl0ZW06IHtcbiAgICAgICAgICAgICAgaWQ6IHV1aWR2NCgpLFxuICAgICAgICAgICAgICB0ZXh0OiAnWWVzJyxcbiAgICAgICAgICAgICAgc2VuZGVyOiAnVXNlcicsXG4gICAgICAgICAgICB9LFxuICAgICAgICAgIH0sXG4gICAgICAgICAge1xuICAgICAgICAgICAgaW5zdHJ1Y3Rpb246ICdhZGQnLFxuICAgICAgICAgICAgaXRlbToge1xuICAgICAgICAgICAgICBpZDogdXVpZHY0KCksXG4gICAgICAgICAgICAgIHR5cGU6ICduZXdDaGF0QnJlYWsnLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICB9LFxuICAgICAgICAgIHtcbiAgICAgICAgICAgIGluc3RydWN0aW9uOiAnYWRkJyxcbiAgICAgICAgICAgIGl0ZW06IHtcbiAgICAgICAgICAgICAgaWQ6IHV1aWR2NCgpLFxuICAgICAgICAgICAgICB0ZXh0OiBncmVldGluZyxcbiAgICAgICAgICAgICAgc2VuZGVyOiAnRnJvbnRlbmQnLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICB9LFxuICAgICAgICAgIHtcbiAgICAgICAgICAgIGluc3RydWN0aW9uOiAncmVtb3ZlU2luZ2xlT2ZUeXBlJyxcbiAgICAgICAgICAgIGl0ZW06IHtcbiAgICAgICAgICAgICAgaWQ6IHV1aWR2NCgpLFxuICAgICAgICAgICAgICB0eXBlOiAnbmV3Q2hhdFJlcXVlc3QnLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICB9LFxuICAgICAgICBdKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHNldElzV2FpdGluZ1VzZXJJbnB1dChmYWxzZSk7XG4gICAgICAgIGFsdGVyQ29udmVyc2F0aW9uKFtcbiAgICAgICAgICB7XG4gICAgICAgICAgICBpbnN0cnVjdGlvbjogJ2FkZCcsXG4gICAgICAgICAgICBpdGVtOiB7XG4gICAgICAgICAgICAgIGlkOiB1dWlkdjQoKSxcbiAgICAgICAgICAgICAgdGV4dDogJ05vJyxcbiAgICAgICAgICAgICAgc2VuZGVyOiAnVXNlcicsXG4gICAgICAgICAgICB9LFxuICAgICAgICAgIH0sXG4gICAgICAgICAge1xuICAgICAgICAgICAgaW5zdHJ1Y3Rpb246ICdhZGQnLFxuICAgICAgICAgICAgaXRlbToge1xuICAgICAgICAgICAgICBpZDogdXVpZHY0KCksXG4gICAgICAgICAgICAgIHRleHQ6ICdPaywgaXMgdGhlcmUgYW55dGhpbmcgZWxzZSBJIGNhbiBoZWxwIHlvdSB3aXRoPycsXG4gICAgICAgICAgICAgIHNlbmRlcjogJ0Zyb250ZW5kJyxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgfSxcbiAgICAgICAgICB7XG4gICAgICAgICAgICBpbnN0cnVjdGlvbjogJ3JlbW92ZVNpbmdsZU9mVHlwZScsXG4gICAgICAgICAgICBpdGVtOiB7XG4gICAgICAgICAgICAgIGlkOiB1dWlkdjQoKSxcbiAgICAgICAgICAgICAgdHlwZTogJ25ld0NoYXRSZXF1ZXN0JyxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgfSxcbiAgICAgICAgXSk7XG4gICAgICB9XG4gICAgfSxcbiAgICBbZ3JlZXRpbmddLFxuICApO1xuXG4gIGNvbnN0IGhhbmRsZU9uUmF0ZUNoYXQgPSB1c2VDYWxsYmFjayhcbiAgICBhc3luYyAocG9zaXRpdmVSYXRpbmc6IGJvb2xlYW4pID0+IHtcbiAgICAgIGlmIChkeHBBaUNsaWVudC5jdXJyZW50ICYmIGNhbGxiYWNrU3RhdGVSZWYuY3VycmVudC50aHJlYWRJZCAmJiAhaXNQcm9jZXNzaW5nUmF0aW5nKSB7XG4gICAgICAgIHNldElzUHJvY2Vzc2luZ1JhdGluZyh0cnVlKTtcbiAgICAgICAgc2V0UmF0aW5nKHBvc2l0aXZlUmF0aW5nKTtcbiAgICAgICAgdXBkYXRlVGhyZWFkU2Vzc2lvblN0YXRlKHsgcmF0aW5nOiBwb3NpdGl2ZVJhdGluZyB9KTtcbiAgICAgICAgaWYgKHBvc2l0aXZlUmF0aW5nKSB7XG4gICAgICAgICAgYXdhaXQgZHhwQWlDbGllbnQuY3VycmVudC5jaGF0Ym90LnJhdGUoYWlJZCwgY2FsbGJhY2tTdGF0ZVJlZi5jdXJyZW50LnRocmVhZElkLCB7IHJhdGluZzogJ3Bvc2l0aXZlJyB9KTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBhd2FpdCBkeHBBaUNsaWVudC5jdXJyZW50LmNoYXRib3QucmF0ZShhaUlkLCBjYWxsYmFja1N0YXRlUmVmLmN1cnJlbnQudGhyZWFkSWQsIHsgcmF0aW5nOiAnbmVnYXRpdmUnIH0pO1xuICAgICAgICB9XG4gICAgICAgIGlmICh0aHJlYWRTdGFydERhdGUgPT09IGNhbGxiYWNrU3RhdGVSZWYuY3VycmVudC50aHJlYWRTdGFydERhdGUpIHtcbiAgICAgICAgICBzZXRJc1Byb2Nlc3NpbmdSYXRpbmcoZmFsc2UpO1xuICAgICAgICB9XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBpZiAoaXNQcm9jZXNzaW5nUmF0aW5nKSB7XG4gICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdQcmV2aW91cyByYXRpbmcgaXMgc3RpbGwgcHJvY2Vzc2luZycpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHRocm93IG5ldyBFcnJvcignVGhyZWFkIGhhcyBub3QgYmVlbiBzdGFydGVkJyk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9LFxuICAgIFthaUlkLCB0aHJlYWRTdGFydERhdGUsIGlzUHJvY2Vzc2luZ1JhdGluZ10sXG4gICk7XG5cbiAgcmV0dXJuIChcbiAgICA8Q2hhdENvbnRleHQuUHJvdmlkZXJcbiAgICAgIHZhbHVlPXt7XG4gICAgICAgIHJhdGluZyxcbiAgICAgICAgaXNQcm9jZXNzaW5nUmF0aW5nLFxuICAgICAgICBpc1dhaXRpbmdSZXNwb25zZSxcbiAgICAgICAgaXNXYWl0aW5nVXNlcklucHV0LFxuICAgICAgICBjb252ZXJzYXRpb24sXG4gICAgICAgIG9uTmV3Q2hhdFJlcXVlc3Q6IGhhbmRsZU9uTmV3Q2hhdFJlcXVlc3QsXG4gICAgICAgIG9uTmV3Q2hhdENvbmZpcm06IGhhbmRsZU9uTmV3Q2hhdENvbmZpcm0sXG4gICAgICAgIG9uUmF0ZUNoYXQ6IGhhbmRsZU9uUmF0ZUNoYXQsXG4gICAgICAgIG9uU2VuZDogaGFuZGxlT25TZW5kLFxuICAgICAgfX1cbiAgICA+XG4gICAgICB7Y2hpbGRyZW59XG4gICAgPC9DaGF0Q29udGV4dC5Qcm92aWRlcj5cbiAgKTtcbn07XG4iXX0=
{
"name": "@squiz/chat-ui",
"version": "1.2.2",
"version": "1.3.0",
"main": "dist/index.js",

@@ -5,0 +5,0 @@ "types": "dist/index.d.ts",

Sorry, the diff of this file is too big to display

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc