@snf/access-qa-bot 3.6.0 → 3.7.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/access-qa-bot.js +3513 -3514
- package/dist/access-qa-bot.js.map +1 -1
- package/dist/access-qa-bot.umd.cjs +43 -43
- package/dist/access-qa-bot.umd.cjs.map +1 -1
- package/dist/style.css +1 -1
- package/package.json +2 -2
|
@@ -1,64 +1,64 @@
|
|
|
1
|
-
(function(Le,E){typeof exports=="object"&&typeof module<"u"?E(exports,require("react/jsx-runtime"),require("react"),require("react-dom/client"),require("react-dom/server"),require("react-dom")):typeof define=="function"&&define.amd?define(["exports","react/jsx-runtime","react","react-dom/client","react-dom/server","react-dom"],E):(Le=typeof globalThis<"u"?globalThis:Le||self,E(Le.AccessQABot={},Le.jsxRuntime,Le.React,Le.ReactDOMClient,Le.ReactDOMServer,Le.ReactDOM))})(this,function(Le,E,p,tu,fi,hi){"use strict";function gi(e){const t=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(e){for(const r in e)if(r!=="default"){const n=Object.getOwnPropertyDescriptor(e,r);Object.defineProperty(t,r,n.get?n:{enumerable:!0,get:()=>e[r]})}}return t.default=e,Object.freeze(t)}const ge=gi(p);function cn(){return cn=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var n in r)({}).hasOwnProperty.call(r,n)&&(e[n]=r[n])}return e},cn.apply(null,arguments)}function mi(e,t){var r={};for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&t.indexOf(n)<0&&(r[n]=e[n]);if(e!=null&&typeof Object.getOwnPropertySymbols=="function"){var o=0;for(n=Object.getOwnPropertySymbols(e);o<n.length;o++)t.indexOf(n[o])<0&&Object.prototype.propertyIsEnumerable.call(e,n[o])&&(r[n[o]]=e[n[o]])}return r}function jr(e,t){t===void 0&&(t={});var r=t.insertAt;if(e&&typeof document<"u"){var n=document.head||document.getElementsByTagName("head")[0],o=document.createElement("style");o.type="text/css",r==="top"&&n.firstChild?n.insertBefore(o,n.firstChild):n.appendChild(o),o.styleSheet?o.styleSheet.cssText=e:o.appendChild(document.createTextNode(e))}}typeof SuppressedError=="function"&&SuppressedError,jr('.rcb-chat-header-container{border-bottom:1px solid #ccc;color:#fff;display:flex;justify-content:space-between;max-height:55px;padding:12px}.rcb-chat-header{display:flex;flex-direction:row}.rcb-bot-avatar{background-size:cover;border-radius:50%;height:30px;margin-right:12px;width:30px}.rcb-message-prompt-container.visible{align-items:center;animation:rcb-animation-pop-in .3s ease-in-out;bottom:0;display:flex;justify-content:center;margin:auto;opacity:1;pointer-events:auto;position:sticky}.rcb-message-prompt-container.hidden{height:0;opacity:0;pointer-events:none;visibility:hidden}.rcb-message-prompt-text{background-color:#fff;border:.5px solid #adadad;border-radius:20px;color:#adadad;cursor:pointer;font-size:12px;padding:6px 12px;transition:color .3s ease,border-color .3s ease;z-index:9999}.rcb-message-prompt-container.hidden .rcb-message-prompt-text{padding:0}.rcb-user-message-container{display:flex;flex-direction:row;justify-content:right}.rcb-user-message{border-radius:22px;font-size:15px;height:fit-content;margin-right:16px;margin-top:8px;min-height:20px;overflow:auto;overflow-wrap:anywhere;padding:12px 16px;text-align:right;white-space:pre-wrap;width:fit-content}.rcb-user-message-offset{margin-right:50px}.rcb-user-message-entry{animation:rcb-animation-user-message-entry .3s ease-in backwards}.rcb-message-user-avatar{background-size:cover;border-radius:50%;height:40px;margin-left:-10px;margin-right:6px;margin-top:9px;width:40px}.rcb-bot-message-container{display:flex;flex-direction:row}.rcb-bot-message{border-radius:22px;font-size:15px;height:fit-content;margin-left:16px;margin-top:8px;min-height:20px;overflow:auto;overflow-wrap:anywhere;padding:12px 16px;text-align:left;white-space:pre-wrap;width:fit-content}.rcb-bot-message-offset{margin-left:50px}.rcb-bot-message-entry{animation:rcb-animation-bot-message-entry .3s ease-in backwards}.rcb-message-bot-avatar{background-size:cover;border-radius:50%;height:40px;margin-left:6px;margin-right:-10px;margin-top:9px;width:40px}.rcb-typing-indicator{align-items:center;display:flex}.rcb-dot{animation:rcb-animation-bot-typing 1s infinite;background-color:#ccc;border-radius:50%;height:8px;margin-right:4px;width:8px}.rcb-dot:nth-child(2){animation-delay:.2s}.rcb-dot:nth-child(3){animation-delay:.4s}.rcb-chat-body-container{height:100%;overflow-x:hidden;overflow-y:scroll;padding-bottom:16px;position:relative;touch-action:pan-y;width:100%}.rcb-chat-body-container::-webkit-scrollbar-track{background-color:#f1f1f1}.rcb-chat-body-container::-webkit-scrollbar-thumb{background-color:#ddd;border-radius:4px}.rcb-chat-body-container::-webkit-scrollbar-thumb:hover{background-color:#cfcfcf}.rcb-chat-body-container::-webkit-scrollbar-corner{background-color:#f1f1f1}.rcb-checkbox-container{display:flex;flex-wrap:wrap;gap:10px;margin-left:16px;padding-top:12px}.rcb-checkbox-offset{margin-left:50px!important}.rcb-checkbox-row-container{align-items:center;animation:rcb-animations-checkboxes-entry .5s ease-out;background-color:#fff;border-radius:10px;border-style:solid;border-width:.5px;cursor:pointer;display:flex;gap:5px;max-height:32px;min-height:30px;overflow:hidden;width:80%}.rcb-checkbox-row-container:hover{box-shadow:0 0 5px #0003}.rcb-checkbox-row{align-items:center;cursor:pointer;display:inline-flex;margin-left:10px}.rcb-checkbox-mark{align-items:center;background-color:#f2f2f2;border:none;border-radius:50%;cursor:pointer;display:flex;height:20px;justify-content:center;margin-right:10px;transition:all .3s ease;width:20px}.rcb-checkbox-mark:hover{background-color:#c2c2c2}.rcb-checkbox-mark:before{content:"✓";transition:all .3s ease}.rcb-checkbox-label{font-size:14px}.rcb-checkbox-next-button{align-items:center;animation:rcb-animations-checkboxes-entry .5s ease-out;background-color:#fff;border-radius:10px;border-style:solid;border-width:.5px;cursor:pointer;display:inline-block;font-size:24px;max-height:32px;min-height:30px;text-align:center;width:80%}.rcb-checkbox-next-button:before{content:"→"}.rcb-checkbox-next-button:hover{box-shadow:0 0 5px #0003}.rcb-options-container{display:flex;flex-wrap:wrap;gap:10px;margin-left:16px;max-width:70%;padding-top:12px}.rcb-options-offset{margin-left:50px!important}.rcb-options{align-items:center;animation:rcb-animation-options-entry .5s ease-out;border-radius:20px;border-style:solid;border-width:.5px;cursor:pointer;display:inline-flex;font-size:14px;justify-content:center;overflow:hidden;padding:10px 20px;transition:background-color .3s ease}.rcb-options:hover{box-shadow:0 0 5px #0003}.rcb-line-break-container{align-items:center;display:flex;justify-content:center;max-height:45px;padding-bottom:5px;padding-top:10px}.rcb-line-break-text{color:#adadad;font-size:12px;padding:6px 12px}.rcb-spinner-container{align-items:center;display:flex;justify-content:center;max-height:45px;min-height:35px;padding-bottom:5px;padding-top:10px}.rcb-spinner{animation:rcb-animation-spin 1s linear infinite;border:4px solid #f3f3f3;border-radius:50%;height:22px;width:22px}.rcb-chat-input{align-items:center;background-color:#fff;border-top:1px solid #ccc;display:flex;padding:8px 16px}.rcb-chat-input::placeholder{color:#999}.rcb-chat-input-textarea{background-color:#fff;border:none;border-radius:4px;color:#000;flex:1;font-family:inherit;font-size:16px;height:auto;min-height:38px;outline:none;overflow-y:scroll;padding:8px;resize:none;touch-action:none}.rcb-chat-input-textarea::-webkit-scrollbar,.rcb-chat-input-textarea::-webkit-scrollbar-thumb{background-color:initial}.rcb-chat-input-textarea::-webkit-scrollbar-thumb:hover{background-color:initial}.rcb-chat-input-char-counter{font-size:14px;margin-left:8px;margin-top:3px}.rcb-chat-footer-container{align-items:flex-end;background-color:#f2f2f2;border-top:1px solid #ccc;color:#000;display:flex;font-size:12px;justify-content:space-between;max-height:55px;padding:12px 16px 8px 10px}.rcb-chat-footer,.rcb-toggle-button{display:flex;flex-direction:row}.rcb-toggle-button{border:none;border-radius:50%;bottom:20px;box-shadow:0 2px 4px #0003;cursor:pointer;height:75px;position:fixed;right:20px;width:75px;z-index:9999}.rcb-toggle-button.rcb-button-hide{animation:rcb-animation-collapse .3s ease-in-out forwards;opacity:0;visibility:hidden}.rcb-toggle-button.rcb-button-show{animation:rcb-animation-expand .3s ease-in-out forwards;opacity:1;visibility:visible}.rcb-toggle-icon{background-position:50%;background-repeat:no-repeat;background-size:cover;border-radius:inherit;height:100%;margin:auto;width:100%}.rcb-badge,.rcb-toggle-icon{align-items:center;display:flex;justify-content:center}.rcb-badge{background-color:red;border-radius:50%;color:#fff;height:25px;position:absolute;right:-6px;top:-6px;width:25px}.rcb-chat-tooltip{border-radius:20px;box-shadow:0 2px 6px #0003;cursor:pointer;font-size:20px;padding:16px;position:fixed;transition:transform .3s ease;white-space:nowrap;z-index:9999}.rcb-chat-tooltip-tail{border-style:solid;border-width:10px 0 10px 10px;content:"";margin-top:-10px;position:absolute;right:-10px;top:50%}.rcb-chat-tooltip.rcb-tooltip-hide{animation:rcb-animation-tooltip-out .5s ease-in-out;opacity:0;visibility:hidden}.rcb-chat-tooltip.rcb-tooltip-show{animation:rcb-animation-tooltip-in .5s ease-in-out;opacity:1;visibility:visible}.rcb-toast-prompt{animation:rcb-animation-pop-in .3s ease-in-out;background-color:#fff;border:.5px solid #7a7a7a;border-radius:5px;color:#7a7a7a;cursor:pointer;font-size:12px;margin-top:6px;padding:6px 12px;text-align:center;transition:color .3s ease,border-color .3s ease;width:100%;z-index:9999}.rcb-toast-prompt-container{align-items:center;animation:popIn .3s ease-in-out;bottom:0;display:flex;flex-direction:column;justify-content:flex-end;left:50%;margin:200 auto auto;opacity:1;pointer-events:auto;position:absolute;transform:translate(-50%)}.rcb-media-display-image-container,.rcb-media-display-video-container{border-radius:22px;margin-right:16px;margin-top:8px;padding:16px;width:fit-content}.rcb-media-display-offset{margin-right:50px!important}.rcb-media-display-image{border-radius:22px;height:auto;object-fit:cover;width:100%}.rcb-media-display-video{background-color:#000;border-radius:22px;height:auto;width:100%}.rcb-media-display-audio{border-radius:22px;height:auto;margin-right:16px;margin-top:8px;width:100%}.rcb-media-entry{animation:rcb-animation-user-message-entry .3s ease-in backwards}.rcb-attach-button-disabled,.rcb-attach-button-enabled{background-size:cover;border-radius:6px;display:inline-block;height:30px;position:relative;text-align:center;width:30px}.rcb-attach-button-disabled input[type=file],.rcb-attach-button-enabled input[type=file]{display:none;height:100%;position:absolute;width:100%}.rcb-attach-button-enabled{cursor:pointer}.rcb-attach-button-disabled{opacity:.5}.rcb-attach-button-enabled:after{background-color:#0000001a;border-radius:50%;content:"";height:0;left:50%;opacity:0;position:absolute;top:50%;transform:translate(-50%,-50%);transition:width .2s ease-out,height .2s ease-out,opacity .2s ease-out;width:0}.rcb-attach-button-enabled:hover:after{height:130%;opacity:1;width:130%}.rcb-attach-icon-disabled,.rcb-attach-icon-enabled{background-repeat:no-repeat;background-size:cover;display:inline-block;height:24px;margin-top:2px;transition:background-image .3s ease;width:24px}.rcb-attach-icon-enabled{cursor:pointer}.rcb-emoji-button-disabled,.rcb-emoji-button-enabled{background-size:cover;border-radius:6px;cursor:pointer;display:inline-block;height:30px;position:relative;text-align:center;width:30px}.rcb-emoji-icon-disabled,.rcb-emoji-icon-enabled{background-repeat:no-repeat;background-size:cover;display:inline-block;font-size:20px;height:24px;margin-top:2px;position:relative;width:24px}.rcb-emoji-icon-enabled{cursor:pointer}.rcb-emoji-icon-disabled{opacity:.5}.rcb-emoji-button-enabled:after{background-color:#0000001a;border-radius:50%;content:"";height:0;left:50%;opacity:0;position:absolute;top:50%;transform:translate(-50%,-50%);transition:width .2s ease-out,height .2s ease-out,opacity .2s ease-out;width:0}.rcb-emoji-button-enabled:hover:after{height:130%;opacity:1;width:130%}.rcb-emoji-button-popup{background-color:#fff;border:1px solid #ccc;border-radius:4px;box-shadow:0 2px 4px #0003;max-height:200px;overflow-y:auto;padding:8px;position:absolute;transform:translateY(calc(-100% - 30px));width:158px}.rcb-emoji{cursor:pointer;font-size:24px;padding:3px;transition:transform .2s ease-in-out}.rcb-emoji:hover{transform:scale(1.2)}.rcb-audio-icon{background-size:cover;border:none;cursor:pointer;display:inline-block;height:30px;margin-left:5px;position:relative;width:30px}.rcb-audio-icon:after{background-color:#0000001a;border-radius:50%;content:"";height:0;left:50%;opacity:0;position:absolute;top:50%;transform:translate(-50%,-50%);transition:width .2s ease-out,height .2s ease-out,opacity .2s ease-out;width:0}.rcb-audio-icon:hover:after{height:130%;opacity:1;width:130%}.rcb-close-chat-icon{background-size:cover;border:none;cursor:pointer;display:inline-block;height:30px;margin-left:5px;position:relative;width:30px}.rcb-close-chat-icon:after{background-color:#0000001a;border-radius:50%;content:"";height:0;left:50%;opacity:0;position:absolute;top:50%;transform:translate(-50%,-50%);transition:width .2s ease-out,height .2s ease-out,opacity .2s ease-out;width:0}.rcb-close-chat-icon:hover:after{height:130%;opacity:1;width:130%}.rcb-notification-icon{background-size:cover;border:none;cursor:pointer;display:inline-block;height:30px;margin-left:5px;position:relative;width:30px}.rcb-notification-icon:after{background-color:#0000001a;border-radius:50%;content:"";height:0;left:50%;opacity:0;position:absolute;top:50%;transform:translate(-50%,-50%);transition:width .2s ease-out,height .2s ease-out,opacity .2s ease-out;width:0}.rcb-notification-icon:hover:after{height:130%;opacity:1;width:130%}.rcb-voice-button-disabled,.rcb-voice-button-enabled{align-items:center;background-color:#fff;border-radius:4px;box-shadow:0 0 3px #0000004d;cursor:pointer;display:inline-flex;height:32px;justify-content:center;margin-left:8px;text-transform:uppercase;transition:all .3s ease;width:32px}.rcb-voice-button-enabled{border:1px solid red;box-shadow:0 0 3px #ff000080}.rcb-voice-button-enabled:hover{border:1px solid #3d0000}.rcb-voice-button-disabled{border:1px;border-color:#0003;border-style:solid}.rcb-voice-button-disabled:hover{box-shadow:0 0 3px #8a0000}.rcb-voice-icon{background-position:50%;background-repeat:no-repeat;background-size:cover;background-size:contain;height:60%;object-fit:cover;width:60%}.rcb-voice-icon.on{animation:rcb-animation-ping 1s infinite}.rcb-send-button{border:none;border-radius:4px;box-shadow:0 0 3px #0000004d;cursor:pointer;display:inline-flex;height:32px;justify-content:center;margin-left:8px;text-transform:uppercase;transition:background-color .3s ease;width:51px}.rcb-send-icon{background-position:50%;background-repeat:no-repeat;background-size:cover;background-size:contain;height:50%;object-fit:cover;transform:translateY(20%);width:50%}.rcb-view-history-container{align-items:center;display:flex;justify-content:center;max-height:45px;min-height:35px;padding-bottom:5px;padding-top:10px}.rcb-view-history-button{align-items:center;background-color:#fff;border:.5px solid #adadad;border-radius:20px;color:#adadad;cursor:pointer;display:inline-flex;font-size:12px;justify-content:center;max-width:60%;padding:6px 12px;transition:color .3s ease,border-color .3s ease}.rcb-view-history-button>p{margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rcb-chatbot-global{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;line-height:1.5;z-index:9999}.rcb-chat-window{background-color:#fff;border-radius:10px;bottom:20px;box-shadow:0 2px 4px #0003;display:flex;flex-direction:column;height:550px;overflow:hidden;position:fixed;right:20px;transition:all .3s ease;width:375px}.rcb-window-embedded .rcb-chat-window{bottom:auto;opacity:1;position:relative;right:auto;visibility:visible}.rcb-window-open .rcb-chat-window{animation:rcb-animation-expand .3s ease-in-out forwards;opacity:1;visibility:visible}.rcb-window-close .rcb-chat-window{animation:rcb-animation-collapse .3s ease-in-out forwards;opacity:0;visibility:hidden}@keyframes rcb-animation-expand{0%{opacity:0;transform:translate(100%,100%) scale(0)}to{opacity:1;transform:translate(0) scale(1)}}@keyframes rcb-animation-collapse{0%{opacity:1;transform:translate(0) scale(1)}to{opacity:0;transform:translate(100%,100%) scale(0)}}@keyframes rcb-animation-ping{0%{filter:brightness(100%);opacity:1}50%{filter:brightness(50%);opacity:.8}}@keyframes rcb-animation-bot-message-entry{0%{opacity:0;transform:translate(-100%,50%) scale(0)}to{opacity:1;transform:translate(0) scale(1)}}@keyframes rcb-animation-user-message-entry{0%{opacity:0;transform:translate(100%,50%) scale(0)}to{opacity:1;transform:translate(0) scale(1)}}@keyframes rcb-animation-bot-typing{0%{opacity:.4}50%{opacity:1}to{opacity:.4}}@keyframes rcb-animation-pop-in{0%{opacity:0;transform:scale(.8)}70%{opacity:1;transform:scale(1.1)}to{transform:scale(1)}}@keyframes rcb-animations-checkboxes-entry{0%{opacity:0;transform:translate(-100%)}to{opacity:1;transform:translate(0)}}@keyframes rcb-animation-options-entry{0%{opacity:0;transform:scale(0)}to{opacity:1;transform:scale(1)}}@keyframes rcb-animation-tooltip-in{0%{opacity:0;transform:translateY(-5px)}to{opacity:1;transform:translateY(0)}}@keyframes rcb-animation-tooltip-out{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-5px)}}@keyframes rcb-animation-spin{0%{transform:rotate(0)}to{transform:rotate(1turn)}}',{insertAt:"top"});const ye={AUDIO_BUTTON:"audio-button",NOTIFICATION_BUTTON:"notification-button",CLOSE_CHAT_BUTTON:"close-chat-button",SEND_MESSAGE_BUTTON:"send-button",VOICE_MESSAGE_BUTTON:"voice-button",FILE_ATTACHMENT_BUTTON:"file-attachment-button",EMOJI_PICKER_BUTTON:"emoji-button"},qr="data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20xml:space='preserve'%20viewBox='0%200%201000%201000'%3e%3crect%20width='100%25'%20height='100%25'%20fill='%23fff'/%3e%3cg%3e%3crect%20width='45'%20height='30'%20x='-22.5'%20y='-15'%20rx='1.5'%20ry='1.5'%20style='stroke:none;stroke-width:1;stroke-dasharray:none;stroke-linecap:butt;stroke-dashoffset:0;stroke-linejoin:miter;stroke-miterlimit:4;is-custom-font:none;font-file-url:none;fill:%2337547a;fill-rule:nonzero;opacity:1'%20transform='rotate(90%20-99%20362)%20scale(3.4003)'/%3e%3cpath%20d='M0%2075q14%200%2014%2017%200%2016-14%2016Z'%20style='stroke:none;stroke-width:1;stroke-dasharray:none;stroke-linecap:butt;stroke-dashoffset:0;stroke-linejoin:miter;stroke-miterlimit:4;is-custom-font:none;font-file-url:none;fill:%2398b0ca;fill-rule:nonzero;opacity:1'%20transform='rotate(180%20106%20386)%20scale(3.4003)'/%3e%3crect%20width='25'%20height='4'%20x='-12.5'%20y='-2'%20rx='.2'%20ry='.2'%20style='stroke:%2346648c;stroke-width:1;stroke-dasharray:none;stroke-linecap:butt;stroke-dashoffset:0;stroke-linejoin:miter;stroke-miterlimit:4;is-custom-font:none;font-file-url:none;fill:%2346648c;fill-rule:nonzero;opacity:1'%20transform='rotate(90%20-46%20282)%20scale(3.4003)'/%3e%3cpath%20d='M19%2065h4l5%204v1H14v-1Z'%20style='stroke:none;stroke-width:1;stroke-dasharray:none;stroke-linecap:butt;stroke-dashoffset:0;stroke-linejoin:miter;stroke-miterlimit:4;is-custom-font:none;font-file-url:none;fill:%2346648c;fill-rule:nonzero;opacity:1'%20transform='translate(165%20150)%20scale(3.4003)'/%3e%3crect%20width='25'%20height='2'%20x='-12.5'%20y='-1'%20rx='.1'%20ry='.1'%20style='stroke:%2398b0ca;stroke-width:1;stroke-dasharray:none;stroke-linecap:butt;stroke-dashoffset:0;stroke-linejoin:miter;stroke-miterlimit:4;is-custom-font:none;font-file-url:none;fill:%2398b0ca;fill-rule:nonzero;opacity:1'%20transform='rotate(90%20-3%20240)%20scale(3.4003)'/%3e%3ccircle%20r='7.5'%20style='stroke:none;stroke-width:1;stroke-dasharray:none;stroke-linecap:butt;stroke-dashoffset:0;stroke-linejoin:miter;stroke-miterlimit:4;is-custom-font:none;font-file-url:none;fill:%23a478fc;fill-rule:nonzero;opacity:1'%20transform='translate(236%20175)%20scale(3.4003)'/%3e%3crect%20width='45'%20height='30'%20x='-22.5'%20y='-15'%20rx='1.5'%20ry='1.5'%20style='stroke:none;stroke-width:1;stroke-dasharray:none;stroke-linecap:butt;stroke-dashoffset:0;stroke-linejoin:miter;stroke-miterlimit:4;is-custom-font:none;font-file-url:none;fill:%2337547a;fill-rule:nonzero;opacity:1'%20transform='rotate(90%20139%20600)%20scale(3.4003)'/%3e%3cpath%20d='M184%2075q14%200%2014%2017%200%2016-14%2016Z'%20style='stroke:none;stroke-width:1;stroke-dasharray:none;stroke-linecap:butt;stroke-dashoffset:0;stroke-linejoin:miter;stroke-miterlimit:4;is-custom-font:none;font-file-url:none;fill:%2398b0ca;fill-rule:nonzero;opacity:1'%20transform='translate(165%20150)%20scale(3.4003)'/%3e%3crect%20width='25'%20height='4'%20x='-12.5'%20y='-2'%20rx='.2'%20ry='.2'%20style='stroke:%2346648c;stroke-width:1;stroke-dasharray:none;stroke-linecap:butt;stroke-dashoffset:0;stroke-linejoin:miter;stroke-miterlimit:4;is-custom-font:none;font-file-url:none;fill:%2346648c;fill-rule:nonzero;opacity:1'%20transform='rotate(90%20219%20548)%20scale(3.4003)'/%3e%3cpath%20d='M175%2065h4l5%204v1h-14v-1Z'%20style='stroke:none;stroke-width:1;stroke-dasharray:none;stroke-linecap:butt;stroke-dashoffset:0;stroke-linejoin:miter;stroke-miterlimit:4;is-custom-font:none;font-file-url:none;fill:%2346648c;fill-rule:nonzero;opacity:1'%20transform='translate(165%20150)%20scale(3.4003)'/%3e%3crect%20width='25'%20height='2'%20x='-12.5'%20y='-1'%20rx='.1'%20ry='.1'%20style='stroke:%2398b0ca;stroke-width:1;stroke-dasharray:none;stroke-linecap:butt;stroke-dashoffset:0;stroke-linejoin:miter;stroke-miterlimit:4;is-custom-font:none;font-file-url:none;fill:%2398b0ca;fill-rule:nonzero;opacity:1'%20transform='rotate(90%20262%20505)%20scale(3.4003)'/%3e%3ccircle%20r='7.5'%20style='stroke:none;stroke-width:1;stroke-dasharray:none;stroke-linecap:butt;stroke-dashoffset:0;stroke-linejoin:miter;stroke-miterlimit:4;is-custom-font:none;font-file-url:none;fill:%23a478fc;fill-rule:nonzero;opacity:1'%20transform='translate(767%20175)%20scale(3.4003)'/%3e%3crect%20width='116.7'%20height='70'%20x='-58.4'%20y='-35'%20rx='31.5'%20ry='31.5'%20style='stroke:none;stroke-width:1;stroke-dasharray:none;stroke-linecap:butt;stroke-dashoffset:0;stroke-linejoin:miter;stroke-miterlimit:4;is-custom-font:none;font-file-url:none;fill:%2371c9fc;fill-rule:nonzero;opacity:1'%20transform='translate(502%20877)%20scale(3.4003)'/%3e%3crect%20width='60'%20height='20'%20x='-30'%20y='-10'%20rx='3'%20ry='3'%20style='stroke:none;stroke-width:1;stroke-dasharray:none;stroke-linecap:butt;stroke-dashoffset:0;stroke-linejoin:miter;stroke-miterlimit:4;is-custom-font:none;font-file-url:none;fill:%2337547a;fill-rule:nonzero;opacity:1'%20transform='translate(502%20728)%20scale(3.4003)'/%3e%3ccircle%20r='75'%20style='stroke:none;stroke-width:1;stroke-dasharray:none;stroke-linecap:butt;stroke-dashoffset:0;stroke-linejoin:miter;stroke-miterlimit:4;is-custom-font:none;font-file-url:none;fill:%2371c9fc;fill-rule:nonzero;opacity:1'%20transform='translate(502%20473)%20scale(3.4003)'/%3e%3crect%20width='129.4'%20height='82.3'%20x='-64.7'%20y='-41.1'%20rx='37'%20ry='37'%20style='stroke:none;stroke-width:1;stroke-dasharray:none;stroke-linecap:butt;stroke-dashoffset:0;stroke-linejoin:miter;stroke-miterlimit:4;is-custom-font:none;font-file-url:none;fill:%23fff;fill-rule:nonzero;opacity:1'%20transform='translate(502%20464)%20scale(3.4003)'/%3e%3crect%20width='108'%20height='68.6'%20x='-54'%20y='-34.3'%20rx='30.9'%20ry='30.9'%20style='stroke:none;stroke-width:1;stroke-dasharray:none;stroke-linecap:butt;stroke-dashoffset:0;stroke-linejoin:miter;stroke-miterlimit:4;is-custom-font:none;font-file-url:none;fill:%23162334;fill-rule:nonzero;opacity:1'%20transform='translate(502%20464)%20scale(3.4003)'/%3e%3ccircle%20r='19.4'%20style='stroke:none;stroke-width:1;stroke-dasharray:none;stroke-linecap:butt;stroke-dashoffset:0;stroke-linejoin:miter;stroke-miterlimit:4;is-custom-font:none;font-file-url:none;fill:%23a478fc;fill-rule:nonzero;opacity:1'%20transform='translate(415%20464)%20scale(3.4003)'/%3e%3ccircle%20r='19.4'%20style='stroke:none;stroke-width:1;stroke-dasharray:none;stroke-linecap:butt;stroke-dashoffset:0;stroke-linejoin:miter;stroke-miterlimit:4;is-custom-font:none;font-file-url:none;fill:%23a478fc;fill-rule:nonzero;opacity:1'%20transform='translate(591%20464)%20scale(3.4003)'/%3e%3crect%20width='96'%20height='53.2'%20x='-48'%20y='-26.6'%20rx='23.9'%20ry='23.9'%20style='stroke:%23162334;stroke-width:1;stroke-dasharray:none;stroke-linecap:butt;stroke-dashoffset:0;stroke-linejoin:miter;stroke-miterlimit:4;is-custom-font:none;font-file-url:none;fill:%23162334;fill-rule:nonzero;opacity:1'%20transform='translate(503%20875)%20scale(3.4003)'/%3e%3cpath%20stroke-linecap='round'%20d='m68%20215%207-15M81%20222l-7-22M81%20222l7-14M101%20208H87M114%20219l-7-24M113%20219l13-22M131%20214l-5-17M148%20214h-18M69%20214H51M100%20209l7-15'%20style='stroke:%23a478fc;stroke-width:3;stroke-dasharray:none;stroke-linecap:butt;stroke-dashoffset:0;stroke-linejoin:miter;stroke-miterlimit:10;is-custom-font:none;font-file-url:none;fill:none;fill-rule:nonzero;opacity:1'%20transform='translate(165%20150)%20scale(3.4003)'/%3e%3c/g%3e%3c/svg%3e",Gr=p.forwardRef((e,t)=>ge.createElement("svg",{viewBox:"0 0 637 637",ref:t,...e},ge.createElement("path",{d:"m478 113-13 2-4 1h4l14-2c10-2 35-2 42-1l6 3 3 1c3 0-4-3-8-5-7-1-34-1-44 1m56 6 8 6c7 5 20 17 20 19s7 12 8 12l-3-6-4-6c0-3-15-17-25-24-5-3-8-4-4-1m-198 16-9 1a512 512 0 0 1 9-1m-180 30a412 412 0 0 0-23 4 167 167 0 0 0-32 8 439 439 0 0 1 46-9 304 304 0 0 1 11-2l6-1h-8m369 8 4 3-7-6c-1 0 0 2 3 3m-439 9c-7 3-18 13-18 15l6-5c5-5 9-8 14-10l6-4-8 4m442 12-10 11-7 6 7-6c7-5 14-14 13-16l-3 5M65 205l-1 11c0 9 0 10 4 17 5 10 7 12 22 11 10 0 15 0 38-5l5-1-6 1-16 2-21 2c-13 1-16-1-21-10-3-5-4-6-4-15l1-12c1-4 1-5-1-1m335 1c3 0 3 1 3 3l-2 6c-2 5-35 39-76 80-53 51-120 117-138 137-21 24-22 25-22 27 0 3 6 9 9 9 4 0 14-8 38-27a5073 5073 0 0 1 15-16 1421 1421 0 0 0-17 15l-31 25-6 2-4-3c-3-3-3-4-2-6 3-8 79-85 160-163 57-57 79-80 79-86 0-2-3-4-7-4-2 0-2 0 1 1m165 18c-9 17-25 32-57 53l-10 8 16-11 12-8c15-10 27-22 39-39 5-7 6-8 4-8l-4 5m-221 2a199 199 0 0 0-19 10 183 183 0 0 1 27-12c0-1-1-1-8 2m-34 16c-3 3-2 3 2 0l1-2-3 2m151 3-1 2 2-2c3-3 2-3-1 0m-16 12-11 10a281 281 0 0 0 11-10m-24 18-7 5-7 5-42 31c-10 7-24 19-22 19l7-6 16-12a343 343 0 0 0 35-25 573 573 0 0 0 20-17m-187 0-2 2 4-2 3-2-5 2m-14 6-3 2 4-1 4-3-5 2m-7 3-8 4-18 8 18-7 7-3 3-1c1-2 0-2-2-1m254 24a2672 2672 0 0 1-71 54 601 601 0 0 0 39-29 1352 1352 0 0 1 32-25m-291-8-2 2 4-2 3-2-5 2m-13 5-2 2h3c5-3 4-4-1-2m-19 9-7 3-13 6c-10 5-13 7-14 10-3 4-2 5 1 0 2-3 5-5 14-9l13-6 12-6-6 2m178 36c-17 12-21 16-21 17a390 390 0 0 1 20-17m-206 34 1 4 1 3 1 5 2 8 1 5v-6l-1-8-2-5-1-4-1-2c-1-2-1-2-1 0m222 23-9 7a683 683 0 0 0-56 44 261 261 0 0 0-26 20 1345 1345 0 0 0-46 34c-6 3-7 3-19 3-11 0-12 0-18-3-8-4-10-8-17-20l-5-10 4 10c5 10 12 18 19 22 4 2 6 2 17 2 13 0 14 0 21-3l26-19 42-33a2183 2183 0 0 0 43-34 643 643 0 0 1 24-20",fill:"#fff",fillRule:"evenodd"}),ge.createElement("path",{d:"M478 114a620 620 0 0 1-39 6l-21 3a5481 5481 0 0 0-19 3 870 870 0 0 1-54 8l-1 1-6 1-12 2-13 2a992 992 0 0 0-76 12 400 400 0 0 1-45 8l-6 1-5 1h-3l-3 1-2 1-26 4-13 2-17 3c-23 5-33 9-43 19-7 8-9 13-9 27 0 8 1 9 4 14 5 9 8 11 21 10l21-2a1133 1133 0 0 1 23-4 659 659 0 0 0 74-14l3-1h3l3-1h3l2-1 2-1h3l2-1h2l24-5 38-7a2100 2100 0 0 1 93-18l3-1 10-1a2082 2082 0 0 1 120-17l2 1c2 0 8 5 8 7l1 2 1 6c0 4 0 6-3 10-2 4-16 16-18 16l-7 5-10 8a1070 1070 0 0 0-11 7 113 113 0 0 1-20 14l-2 2-3 2-2 2h-1a154 154 0 0 1-28 21l-5 4-5 4a573 573 0 0 1-50 37 175 175 0 0 0-24 18l-1 2-2 1-2 1-2 1-1 1-12 10a396 396 0 0 0-32 25l-8 6-6 5-9 7a326 326 0 0 1-25 20l-13 12a5073 5073 0 0 0-17 15c-24 20-34 27-39 27-2 0-8-6-8-9 0-2 1-3 22-27 18-20 85-86 138-137 41-41 74-75 76-80l2-6c0-2 0-3-2-3l-7 1a233 233 0 0 1-26 9l-1 1-1 1h-1l-1 1h-2l-3 2-1 1h-2l-3 2h-1l-5 2-22 10-9 4-4 2-5 2-10 4-2 1-2 1-2 1-13 6a334 334 0 0 1-38 17 75 75 0 0 0-14 6l-5 2-4 1-2 1-3 2-7 3-16 6a247 247 0 0 0-32 14l-1 1h-2l-1 1h-2l-1 1-12 6a103 103 0 0 0-27 15l-2 5-1 1v11l1 5 1 5 1 4c0 3 0 4 2 4v3l1 3 1 2 2 10 1 4 1 5 2 10 2 8 1 4 1 4c3 3 9 25 11 38l1 7v2l1 4v1l1 1v2l1 2 1 3v1l5 10c7 13 9 16 17 20 6 3 7 3 18 3 12 0 13 0 19-3 8-4 11-6 26-18a1345 1345 0 0 1 85-67 683 683 0 0 1 50-39l12-9a513 513 0 0 1 44-33 201 201 0 0 0 22-17 2270 2270 0 0 0 73-54 158 158 0 0 0 58-59c2 0 3-9 4-27l-1-19-1-4-1-6-1-3-4-6-4-6c0-2-6-8-13-14a77 77 0 0 0-28-18c-6-1-34-1-43 1"}))),Yr=p.forwardRef((e,t)=>ge.createElement("svg",{viewBox:"0 -960 960 960",ref:t,...e},ge.createElement("path",{d:"M765-321q0 117-84 196-83 80-200 80-118 0-200-80t-83-196v-392q0-85 61-144 61-58 146-58 86 0 147 58 61 59 61 144v374q0 54-39 92-39 37-93 37-55 0-93-37-38-38-38-92v-372h110v372q0 9 6 14t15 5q8 0 15-5t7-14v-374q0-39-29-66t-68-27q-40 0-69 27t-29 66v392q0 71 51 119t122 48q71 0 122-48t51-119v-426h111v426Z"}))),yi=p.forwardRef((e,t)=>ge.createElement("svg",{viewBox:"0 -960 960 960",ref:t,...e},ge.createElement("path",{d:"M125-165v-113h77v-273q0-93 55-167 56-75 146-100v-19q0-32 22-55 23-23 55-23t55 23q22 23 22 55v19q90 25 146 99 56 73 56 168v273h77v113H125ZM480-32q-38 0-66-27-27-27-27-66h186q0 39-27 66t-66 27Z"}))),bi=p.forwardRef((e,t)=>ge.createElement("svg",{viewBox:"0 -960 960 960",ref:t,...e},ge.createElement("path",{d:"M137-190v-113h78v-253q0-41 11-79 11-39 35-71l-9 150h10L17-802l74-74L873-92l-74 74-175-172H137Zm609-149L319-769q20-15 41-25t44-16v-28q0-32 22-54t54-22q32 0 55 22t22 54v28q85 23 137 94t52 160v217ZM481-47q-38 0-65-27t-27-65h184q0 38-27 65t-65 27Z"}))),vi=p.forwardRef((e,t)=>ge.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 100 100",ref:t,...e},ge.createElement("g",{strokeLinecap:"round",strokeWidth:10},ge.createElement("path",{d:"m19 19 61 61M80 19 19 80"})))),wi=p.forwardRef((e,t)=>ge.createElement("svg",{viewBox:"0 -960 960 960",ref:t,...e},ge.createElement("path",{d:"M94-136v-255l351-93-351-92v-253l816 346L94-136Z"}))),xi=p.forwardRef((e,t)=>ge.createElement("svg",{viewBox:"0 -960 960 960",ref:t,...e},ge.createElement("path",{d:"M480-372q-61 0-105-43-43-43-43-105v-240q0-61 43-105 43-43 105-43 61 0 105 43 43 44 43 105v240q0 62-43 105t-105 43ZM425-76v-122q-121-16-197-108t-76-214h109q0 91 64 154t155 63q91 0 155-63t64-154h109q0 122-77 214T534-198v122H425Z"}))),Ei=p.forwardRef((e,t)=>ge.createElement("svg",{viewBox:"0 -960 960 960",ref:t,...e},ge.createElement("path",{d:"m763-343-80-79q8-20 13-44 5-23 5-54h109q0 49-11 95t-36 82ZM625-482 336-770v-2q3-56 45-96t101-40q62 0 105 43t43 105v249l-1 17q-1 7-4 12ZM427-76v-122q-120-16-196-108-77-92-77-214h109q0 91 64 154t155 63q43 0 80-14 37-15 67-41l78 79q-35 32-78 53t-93 28v122H427Zm362 27L41-796l75-75 748 748-75 74Z"}))),Wr=p.forwardRef((e,t)=>ge.createElement("svg",{viewBox:"0 -960 960 960",ref:t,...e},ge.createElement("path",{d:"M625-511q29 0 50-21t20-50q0-29-20-50-21-20-50-20t-50 20-20 50q0 29 20 50 21 21 50 21Zm-290 0q29 0 50-21t20-49q0-30-20-50t-50-21q-29 0-50 20-20 21-20 50 0 30 20 50 21 21 50 21Zm145 268q75 0 137-43t85-115H258q24 72 85 115 62 43 137 43Zm0 198q-90 0-170-34-79-34-138-93T79-310q-34-80-34-170t34-170q34-79 93-138t138-93q80-34 170-34t170 34q79 34 138 93t93 138q34 80 34 170t-34 170q-34 79-93 138T650-79q-80 34-170 34Zm0-435Zm0 322q134 0 228-94t94-228q0-134-94-228t-228-94q-134 0-228 94t-94 228q0 134 94 228t228 94Z"}))),ki=p.forwardRef((e,t)=>ge.createElement("svg",{viewBox:"0 -960 960 960",ref:t,...e},ge.createElement("path",{d:"M553-64v-108q107-27 173-113 67-87 67-197 0-109-67-195T553-789v-108q152 26 249 144 97 117 97 271 0 155-97 273T553-64ZM61-335v-290h176l236-237v764L237-335H61Zm492 28v-346q51 23 82 70t31 103-31 103q-31 47-82 70Z"}))),Ci=p.forwardRef((e,t)=>ge.createElement("svg",{viewBox:"0 -960 960 960",ref:t,...e},ge.createElement("path",{d:"M807-15 700-123q-33 21-71 37-38 15-80 22v-108q20-4 38-12l35-17-153-154v257L234-335H57v-290h144L10-818l74-75L882-90l-75 75Zm37-264-80-79q13-30 19-60 7-31 7-64 0-109-68-195-67-86-173-112v-108q152 26 249 144 98 117 98 271 0 55-14 107-13 51-38 96ZM661-462 549-575v-78q51 23 83 70 31 47 31 103l-1 9-1 9ZM469-655 366-759l103-103v207Z"}))),Kr={general:{primaryColor:"#42b0c5",secondaryColor:"#491d8d",fontFamily:"-apple-system, BlinkMacSystemFont, 'Segoe UI', 'Roboto', 'Oxygen', 'Ubuntu', 'Cantarell', 'Fira Sans', 'Droid Sans', 'Helvetica Neue', sans-serif",showHeader:!0,showFooter:!0,showInputRow:!0,actionDisabledIcon:"data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20width='32'%20height='32'%20viewBox='0%200%2042%2042'%3e%3cpath%20style='fill:none;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke:%23b00000;stroke-opacity:1;stroke-miterlimit:4'%20d='M17%209a8%208%200%200%201-8%208%208%208%200%200%201-8-8%208%208%200%200%201%208-8%208%208%200%200%201%208%208Zm0%200'%20transform='rotate(.086)%20scale(1.77778)'/%3e%3cpath%20style='fill:none;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke:%23b00000;stroke-opacity:1;stroke-miterlimit:10'%20d='M14.66%2014.66%203.34%203.34'%20transform='rotate(.086)%20scale(1.77778)'/%3e%3c/svg%3e",embedded:!1,flowStartTrigger:"ON_LOAD"},tooltip:{mode:"CLOSE",text:"Talk to me! 😊"},chatButton:{icon:Gr},header:{title:E.jsx("div",{style:{cursor:"pointer",margin:0,fontSize:20,fontWeight:"bold"},onClick:()=>window.open("https://github.com/tjtanjin/","_blank","noopener,noreferrer"),children:"Tan Jin"}),showAvatar:!0,avatar:qr,buttons:[ye.NOTIFICATION_BUTTON,ye.AUDIO_BUTTON,ye.CLOSE_CHAT_BUTTON],closeChatIcon:vi},notification:{disabled:!1,defaultToggledOn:!0,volume:.2,icon:yi,iconDisabled:bi,sound:"data:audio/wav;base64,UklGRmaIAABXQVZFZm10IBAAAAABAAIAQB8AAAB9AAAEABAATElTVBoAAABJTkZPSVNGVA4AAABMYXZmNjAuMTYuMTAwAGRhdGEgiAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/////AAAAAAAA//////7/////////AAABAAAAAgABAAEAAQAAAAIAAQABAP//AAD+////AAD+//7////+////AAD//wAA/v8AAAAA/v8AAP//AAAAAAAAAgD////////+////AAABAAEAAgD/////AQABAAAA//8CAP//AAAAAAAA/v8AAAAA//8AAAEA//8EAAAAAAAAAAAA//8BAP//AQABAAEA/////wEA/v///wAAAAACAAAAAAABAAAA//8AAP//AAACAP//////////AAAAAAEAAAAAAAEA//8AAAEAAQADAAIAAgAAAAAA/v///wEAAAAAAAEAAAAAAAEA//8AAAEAAQD//wAA//8AAAEAAAABAAEAAAABAP//AAD//wAAAgAAAP//AQD/////AAAAAP7/AgAAAAIAAAAAAAAAAAABAAAAAQABAP//AAABAP///v8AAP////8AAP//AAD//wAA//8BAP//AAD///7///8BAP7///8AAAIAAgABAAEA/v8AAP//AQADAAEAAAACAAEA/////////v///wEA/v////7/AAD+////AAAAAAAAAgAAAAAAAAD//wEAAAAAAAAAAQABAAIA/v8AAAAA//8AAAEAAAAAAP//AgD//wEA/////wAAAQACAAAAAAAAAP//AQD/////AQAAAAEA/v8AAAEAAQABAAEA///+////AQD//wEAAgD+//7/AAAAAAAAAQAAAAAAAQAAAAAAAAAAAP//AAD//wEAAQD//wAAAQABAP7///8AAP7/AAABAP7/AQABAAEAAAABAAEAAAD+/wIAAAABAAAAAQD/////AQACAP////8AAP//AQD//wEA/v8CAAEAAAAAAAAAAQAAAAIAAQAAAAEAAgD//wEAAAAAAP7///8BAP//AgAAAP///v8CAAAAAgD///////////7/AAACAAEAAgD//wAAAAABAP//AwAAAAMA//8AAAAAAQD+/wAAAAD//wAAAQD//wEA//8BAP7/AAABAAAA//8BAAAA//8AAP//AQADAP3////+////AgD+/////v8BAAEAAQACAAAAAAAAAAAA//8AAP//AAD+/wEA/v8AAP7/AAD//wAAAQACAAAAAQAAAP//AQAAAAAAAAABAAAAAAD+//////8AAAAAAAD//wAAAAABAAEA//8AAAEA//8AAP//AgD+/wAA///+/wAA/v///wAAAQABAAAAAQD//wAA//8AAAEA//8BAAAAAgABAP//AAACAAIAAQABAP//AAAAAAAA//8BAAIAAAABAAAA//8CAAEA/v//////AAAAAAEA////////AQAAAP//AAD//wAAAAAAAP3/AAAAAAEAAAACAAAAAAAAAP//AAD//wAAAAAAAAAAAAAAAP///v///wAAAAABAAAAAAD//wEAAAABAAEAAQD//wAAAAACAAAAAQD+/wAA//8BAAEAAAD+/wAA/////wAAAAABAAAAAAD//////v8AAAAA//8AAAAAAAAAAAIAAAABAAEAAAABAP7/AAD9//////////7///8BAP//AAD///3/AQABAP//AAD//wAAAAABAAAA//8AAP//AAD/////AQABAAEA//8AAAAA//8BAAMA//8AAAAA//8AAP7/AAD//wAAAAAAAP7/AQAAAAAA/v8CAP//AAABAAIAAQABAAAA//8BAAEAAQD///7/AQD//wAAAQABAP//AAD//wEAAAAAAAAAAQAAAAIA//8AAP////8AAP//AQD//////v///wEA/v8AAAIAAgACAAEAAAAAAAEAAAAAAAAAAAAAAAAAAQD//wAA/////wAAAQACAP////8AAAAAAAD//wAAAQD+/wEA//8AAAEAAwD//wEAAQAAAAAAAAABAP////8AAAAAAQAAAAAAAAAAAAEAAQAAAP////////7/AQABAAEAAQD///////8BAAAA//8AAAAAAgABAAEA/v8BAP7///8BAP3/AQABAAIAAAD//wEAAAAAAP//AAABAAIA//8CAAAAAQAAAAEA//8BAAAA/////wAAAAD//wEAAQD//wAAAAAAAP//AAAAAAAAAQABAAAAAQAAAP//AQD//////v8AAAEAAAAAAAAA//8AAAAAAAACAAEAAQAAAP//AAABAAEA/////wAAAgABAAAAAAAAAAEAAAABAP//AQABAP7////+/wEAAAAAAP//AAABAAAAAAABAAEAAAAAAAAA//8BAP///f/+/wEAAQD///7///8AAAAAAQAAAP////8AAAAAAAABAAAAAQD/////AAD//wEA//8AAAIA//8CAAAA//8AAAAAAAD+/wEAAAD+/wAA/////wAA////////AAAAAAAA//8BAAAAAAD//wAAAAD//wEA//8AAP//AQD+/wAAAAAAAP7/AAD+/wEAAQABAP//AAABAAEAAQD//wAA/////wEA//8AAAAAAgAAAAAA//8BAAAAAgAAAAAAAAAAAP7/AQD//wAAAAD+/wAAAAADAAIA/////wAAAQD//wIA//8BAAEA/v8AAAIAAAAAAP3///8AAAAAAAAAAAAAAAABAP///////wAA//8AAAEAAQABAAEAAQABAAAAAQAAAAAAAQABAP7/AQD//wAAAQABAAEA//8BAAAAAgAAAAEAAAABAP//AAD/////AAD//wIA/////wIAAAD///7/AAAAAAAAAAACAP//AAABAP////8AAAAAAAABAAAAAgAAAAAAAQD+/wEA/////wAA/////wAAAAAAAAAA/v//////AAAAAP//AAABAAAAAQAAAAIAAAACAAAA//8AAAAA//8AAP7/AAAAAP//AAACAP//AQABAP//AQABAAAA/////////v8AAP//AQAAAAAA///+/wAAAQD+/wEAAQAAAAEA/////wAAAQD//wAA//8AAAAA/v8BAAEA//8AAP7//v8BAAAAAAAAAAEA//8AAAEA/////wAAAAD//////////wEAAAABAAEA//8CAAEA/f8AAAAA//8BAAAABAABAAEAAQAAAAAAAAAAAP7///8AAAAA/v8BAAAA//8AAAIA//8AAP////8BAP//AAAAAAAAAAD/////AQD///7/////////AQD8////AgABAAIA////////AAD//wAAAAABAAAAAAAAAAEAAgAAAP//AQD//wAAAAAAAP/////+/wAAAAABAAAAAwABAP///////wEAAAADAP//AQACAAAA//8CAAEAAAAAAP///////wIAAAAAAAAAAQAAAAAAAgD//wEAAAABAAAA/v8AAAAAAAAAAAAAAAAAAAEA/v8AAP//AQD//wAA//////7///8AAAAAAAAAAP7/AQD//wAA//8AAAEAAAABAAEAAQD/////AAD//wEAAAD/////AQAAAAEAAAD//wEAAAD/////AgD//wAAAQD//////////wAAAAD//wAAAAABAAAAAAD//wAAAQD///7/AQD//wEAAAD/////AAD//wEA//8AAAEA//8CAAAAAQD//wEAAgAAAAEAAwAAAAAA/v8BAAEAAgD//wEAAAAAAAAAAAD//wEA//8AAAAAAQACAP///////wAAAQABAAEAAAAAAAEAAQD+/wEA/f////////8AAAAA//8AAAEA//8BAAAA/v///wEAAAAAAAEA/////wAAAAAAAP//AAAAAAIAAAABAAAA/////wAAAAD//wAA/v8AAAMAAQD+/wEAAAABAAEA//8BAP//AgAAAAAAAAD//wAA/////wEA/v8CAP3/AAACAP3/AQABAAAAAQACAAEA/v8AAAAA//8BAAAAAgAAAAAAAgACAAEA/v/9/wAAAQABAP7///8AAP//AgD+/////v8CAP////8BAP//AQACAAEAAQABAP//AAD///7/AAABAAEAAgD//wEA//8CAAEAAQABAAEAAAABAAAA/v8AAAEA/v8AAP//AAABAP//AQAAAAEAAgAAAAAA/v///wEAAQAAAAIAAAD/////AgAAAAEA/v8AAP7/AQAAAAAAAQAAAAEAAAACAAEA//8BAP////8AAAIAAAAAAP//AAAAAAIAAAAAAAAAAwABAP///v8BAAAAAAAAAP3/AAABAAEA/v////////////3//v8AAAAAAQABAAIAAAD+/////v8AAAAAAQABAAEAAQAAAP//AAAAAP//AQAAAP//AAABAAAAAAAAAAAA////////AAAAAP//AQD/////AAABAAEA//8CAP7///8AAP7//v8BAAEAAAD+/////////wEAAAAAAAAAAgD//wAAAQAAAP7/AQABAP//AQAAAAAAAAD/////AAACAP////8BAAAAAAD//wAA//8AAAEAAQABAAAAAAABAAAAAQD+/wEA/v8AAAEAAQD/////AAD//wAAAQABAP7//v//////AAACAAAAAAAAAAAAAAACAAAAAQAAAAAA//8BAP//AQD//wAA///+/wIAAQD//wAAAAD//wAA/v8AAP3///8AAAAAAAAAAAAA/f8AAAAA//8CAP7/AAD///7/AAAAAAAAAAD//wEAAAAAAAEAAAAAAAAA//8BAP////8BAP7///8CAAEA//8BAP3///////////8BAAAAAAAAAAEAAgD+//////8BAAMAAQADAAEAAAACAAAAAQD/////AAABAAMAAQAAAP//AQD//wAA//8AAAAA//8CAP7//////wAAAAAAAAIA/v8AAP//AAACAP//AwD//wAA//8AAP//AwD//wEAAQABAAEAAQACAAEAAAD//wAA//8AAAIAAAAAAP///////wAAAQD//wIA//8BAP7/AAD///////8AAAAAAAAAAAEAAAD//wAAAQD//wEA//8BAAAAAAD/////AgABAAIAAAABAAAAAAAAAP//AAAAAAAA//8AAAAAAAD/////AQAAAAAAAQD//wAA///+////AAAAAAEAAgABAAEAAAAAAP//AQAAAAAAAQD+/wAAAAABAAEAAAD/////AQABAP7///8AAAIAAAACAAAA//8AAP//AgACAAAA///+/wAAAAABAAAAAQAAAAEA/v8BAAEA//8CAP//AQD+/////v8AAAAAAAACAP//AAD+/wIA/v8BAAAAAAD/////AAAAAP7///8AAP7//////wEAAAABAAAAAAD//wAAAAAAAAAAAgACAAAAAAABAAAA/f8AAP7/AgAAAAEA//8BAAAAAAD///7/AQD//wAAAAAAAAEAAAAAAAEAAAAAAAAAAQAAAAAA//8AAAAAAAABAP///////wAAAgABAAEA//8AAP//AAACAP//AQABAAEA//8BAAAAAAABAAAA//8AAAEAAAAAAAIA/v8BAP//AQD//wEAAAABAAEAAQACAAEAAAAAAAEAAAABAAAAAAD/////AAABAAEA//8AAAAAAQABAP//AAAAAP//AAD/////AQD//wAAAAABAAEA//8BAAAA//8AAP///f/+/wAA/////wAAAQAAAAIAAAAAAAAAAAD+/wEA/f8CAAAA//8AAAEAAgAAAAMAAAABAAAAAAAAAP//AQAAAAAAAQABAAAAAQAAAP//AAAAAAAA//8AAAAAAAABAAAAAQAAAAAAAAABAAIAAAAAAP7/AQD//wAAAAD+////AAAAAAAAAAABAAAA/////wAA//8AAAAAAAD/////AgD//wAA//8CAP//AQACAAEA/f////////8BAAIAAQABAP//AAD//wAA///+////AAD+/wAAAQD/////AAAAAAAA/////wAAAAABAAAAAQAAAAAA//8AAAIAAAABAP//AQABAAEA//8AAAAAAAADAAEAAAABAP//AgD//wMA//8AAAAAAAD//wAAAAD9/wEA///+/wAA//8BAAEA//8BAAAA//8AAP///v8BAP///////////v8BAAAAAQABAAAAAAAAAAAA//8AAP7/AQAAAAAAAAAAAP7/AQAAAAAAAgABAAEAAAABAAEAAAAAAAAAAAD+/wAAAAD//wEAAAAAAAAAAAAAAP//AgABAAAAAAABAAEAAAD/////AAAAAP//AAABAP////8BAAAAAQABAP7//v/+////AQAAAAAAAQAAAAEAAgAAAAAAAQAAAAEAAAD+/////v8BAP//AAABAP//AQABAAAAAAD//wAA//8CAP//AAAAAAEAAAABAAAAAAAAAP//AAD+////AwAAAAAAAQD//wEAAAACAAEAAAADAAAAAAD/////AAAAAAEAAAABAAAA//8AAAEA//8BAP///v8AAP//AAD//wAAAQABAP//AQAAAAAA/////wEAAQAAAP////8AAAEA//8BAAAAAQAAAP////8AAAAAAQAAAAIAAQAAAAEAAAAAAAEAAAD//wEAAAAAAP////8AAAAA//8BAAEAAAAAAAIA///+/wIA/v8BAAAAAQACAAAAAQAAAP7///8AAP//AAAAAAEAAAAAAP7/AAD+////AAAAAAAAAAD//wAA/v8BAAMAAAABAAIAAgD//wAA//8BAAEA//8BAP7/AAAAAP7///8BAAAAAQAAAP7/AQD/////AAAAAAEAAAABAP//AQABAAAAAgABAAAAAAAAAP///////wEA//8AAAEA//8AAAAAAQAAAAIAAAABAP7//////wAAAQABAAAAAAABAAEA///+/wAA//8BAP///v8AAP///v8BAAAA//8CAAAAAQAAAAEAAQABAAAAAAD+/wAAAAD+/wAAAAAAAAAA/f////////8AAAAAAQABAP///////wEA//8BAAEAAAAAAAAA/////wEA/v//////AAAAAP//AAABAAAAAAD+/wAAAAD9////AQAAAAEAAwD//wEAAQAAAP//AgAAAAAAAAD+/wIAAAAAAAAAAAAAAAIA//8AAAEAAQACAAAAAQD//wAAAAD//wIAAQABAAAAAAD//wEA//8BAAEAAQAAAAAAAQABAP7/AAD//wEAAAACAP7/AQAAAAAAAAD//wIAAQACAAIAAQAAAAAAAAAAAP3///8BAAAAAQACAP//AgD9/wAAAAD//wEA/v////////8AAAAAAAD//wEAAQD//wMAAQAAAAEA//8AAAEA//8AAAAAAAACAAAAAAD//wAAAQD///////8AAAAA//8BAAIA/v8BAAEA/f8AAAAAAAAAAAAAAgD/////AAD+/wAAAAD//wAAAAAAAP//////////AgABAP///v8AAAIAAQAAAP//AAABAAAA/////wAAAAAAAAEAAAABAP///v///wIA//8BAAEAAQAAAAAA///+/wEAAAAAAAAA/////////v8BAP3/AAAAAAAAAAAAAAAA//8AAP//AAAAAP//AAABAAIAAAACAP////8DAAAAAAABAAAAAwABAP//AAABAP//AAAAAP////8BAAAAAgD//wAA///+/wAAAQD//wAA//8AAP7///8AAAAA/v8AAAAAAQD//wEA/v////////8AAAAAAQAAAP//AQACAAAAAAAAAP//AAD//wAAAAD//wAAAAD+/wAAAAAAAP//AQD//wAAAgAAAAAAAQABAAAAAwD+/wAAAAD///7/AQD//wIAAQAAAP//AAD//wAA//8CAAEAAAAAAAAA/////wAAAAD//wEAAQD///////8BAAAA//8BAAEAAAAAAAAA/v///wEAAAAAAAAAAAADAAAAAAAAAAAAAQABAAEAAAD+//7//v8AAP//AQAAAAAAAAABAAEAAgAAAAAAAQD//wAA/f8AAAAAAAABAAAAAQAAAAAAAAAAAAIA//8BAP///////wIA/////wAAAAABAAEA//8BAAAAAAD//wAAAQD//wEAAAAAAAIA/v8BAP//AAAAAAEAAAABAP//AAAAAAAAAQABAP7/AAABAAAAAQD//wIAAAAAAAEA///+/wAA//8AAP//AAAAAAAAAAABAP///////wIAAQAAAAEAAQAAAP7/AQAAAAAAAQAAAAAAAQD/////AQAAAAAA///+//7/AAD+/wEA//8AAAAA///+/wEAAAABAAIAAQABAAAA//8AAP//AAD//wAAAAD//wAAAAAAAP//AQAAAAAA////////AQAAAAAAAQD+////AQABAP7/AAD///7/AgD//wAAAAAAAP//AAAAAAEA//8BAAEAAgAAAAIAAAD//wEA/////wAAAQD///7/AQD//wEAAQD/////AAAAAAEAAgAAAAAAAQD//wEA//8AAP7//////wAA//8BAAEA//8BAAAAAQD/////AAABAP//AAACAP//AQAAAP//AAABAP////8AAAAAAAABAAEAAwABAAAAAgD//wAAAAD//wEAAAABAAAAAAABAAEA/////wAA//8AAAIAAAAAAAEAAQABAAEAAQABAP//AgAAAAAA//8BAP3//v///wAA//8AAAAAAQAAAP//AQD//wEAAAACAAIAAAABAAAA//8BAAEA//8BAP//AAAAAP//AQAAAAIAAAD//wAAAAAAAAEA////////AQAAAP//AQD//wAAAQD+/wEAAAABAP///v///wAAAAAAAP//AAAAAAIAAQD//wAAAgD+/wAAAAD//wAAAAABAP///P//////AAACAP////8AAAIAAAABAAAAAAAAAAAA//8AAAAAAQADAP//AQAAAAAAAAABAAEAAQAAAAAA/v8AAAAAAAD//wAAAQD//wAAAAD//wAA/v////////8CAAEA/v8BAP7/AAAAAAAA//8AAAEAAAD//wIAAQAAAAIAAQAAAAAAAAD///7/AQABAP//AAAAAP//AAACAAEA//8BAAAAAwAAAAAAAAD//wEAAAD//wAA///////////+/wAAAQABAAIAAAABAAEAAAD//wEAAAD/////AAD+/wIAAwABAAEA/v8BAAEAAAD//wAA//8AAP//AAAAAAEAAAAAAP//AAAAAAEAAQABAAEA/v///wAAAAD//wEAAAACAAAA/f/+/wAA/v///wAA//8AAAEAAQD///7/AAAAAAAAAAABAAAAAAACAAAAAAABAAAAAAABAP//AQD//wAA//8BAP7/AgABAAEAAQAAAAAAAQD//wEA/v8AAP////8AAP///////wIAAQD//wAAAAD//wAA/v///wAAAQD//wIA/////wEAAAAAAAIAAAABAAAAAAD//wEA//8AAAAA/////wAAAQAAAAAAAAD//wEAAQAAAAAAAAACAP///////wAAAgD//wAA/v8AAAIAAAAAAAEAAAABAP//AQABAAEAAQAAAP///v8BAAEAAAAAAP////8AAAAAAQD//wIAAQAAAAEAAAAAAAAA//8BAP//AAAAAP7//v///wEAAAAAAAIAAAAAAP//AAD//wEA//8BAAAAAAABAAEAAAABAP7///8AAAIAAAABAP//AAD//wEAAAAAAP//AAAAAAEAAAAAAAAAAAAAAP7/AQD//wAAAQD+/wEA/v8BAP7/AAABAAEAAAACAAIAAAADAAAA//8AAAEAAAABAP//AQD//wIA/////wEA//8AAAEA//8AAAEAAAAAAAAAAQABAAAAAAAAAAAAAAD//////////wAA//8AAP7/AAD+/wAAAQAAAAAA/////wAABAAAAAAA//8AAAEAAAAAAAAA/v8AAP//AAAAAAAAAAD//wAAAAD///////8BAAEAAAD/////AgABAAEA/v/+/wAAAQACAAEAAAD//wAAAwABAP//AgD+/wAA/v8AAAAAAAAAAAEA//8AAAEAAAD+/wEAAAAAAAEAAgAAAAEAAAABAP//AQD+/wIA/////wAAAQD//wAAAQD+/wAAAQABAAAA////////AAACAAAAAQAAAAIA//8BAP///v///wEA//8BAAEAAQD+/wAAAQD9/wAAAQAAAAEAAAABAAAAAgAAAP//AAD+/wAA/f8AAAAA////////AgAAAAcAAQD7/wEA/f8AAAIA//8GAP7//v/+//b/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+P/F//z/rv/i/7r/6v/Z/wYABwAoADAAKQBOABkATAD0/zQA1P8PANv/0//v/6//FwCi/ywAxP8oAPn//v82APT/WwD4/00A+/8yAPv//f/8/83/+v+w/+T/sf/j/9b/AQACACoAIgAtAEIAHwBPAAEAQADe/xcA0v/k/+X/t/8IAKv/IgC//yEA6/8EACMA9/9PAPf/VAD+/zcA+/8JAPn/1P8AALf/6f+w/+P/zf////j/HAAdAC0APgAfAEsABwBCAOP/IADV/+//2v/B//3/rP8PALv/GADd/xEAFgABAEMABABaAP//QgACABcA+//n/wAAwP/w/67/4v+///3/6f8WABcAKQA0ACIARgAQAEcA8f8pANn/9f/U/87/7f+v/wgAtP8RANP/FgANAAIAOQACAFQA/f9HAAAAIAABAO3//P/E/wEAs//q/7n/9P/i/wYAEQAZADEAJABBABMASAAAADEA3/8CANL/1v/g/7H/AACy/w8Axf8ZAPv/CQAzAAIAVQD//1AAAAAsAAIA9v/7/8r/AwC2//P/tf/m/+H/AwADABEAKQApADoAHgBHAAgAPADr/wkA1//f/93/vP/6/7L/CgDA/x4A7/8hACkAAgBPAPz/UgD1/zIABAAEAPz/0v/5/7f/AACy//H/2f/+/wEAAAAkABUAMwAdADoAEQA9APD/EADU//L/1P/H/+z/tf8LALv/HADk/ygAGgADAEMA//9TAPn/QAAAABAAAQDc//z/wf8DALD/7P/Q//z/9/8HABoAFgA3ACMAMAAOADwA+P8ZANv/+P/Y/9H/5v+8/wUAu/8WANf/HgAMAAoAPQABAFMA/f9HAP7/HwAEAN//+v/H/wMAs//2/8r/8//y/wMADgAQAC4AIwAyABMAJwD8/xcA3v8LANP/5v/f/8j/AgC4/w4A1P8eAAQACgAxAAEAUgD+/0gA/v8nAAIA8f/5/8r/BAC6/+3/wP/l/+b/AQAIABkAIwArAC4AIAAoAAkAGADj/w0A0f/r/9//0P8DAL3/CgDN/xkA//8IACUAAgBJAAAATwD+/ysAAQD7//3/z/8DAMT/+f/K/+L/5P/1////EgAcACYALgApAC4ACwAcAPL/EADZ//L/1f/U//f/uv8KAMX/DwDu/wcAHwADAEUABgBNAAEANQAAAAYAAQDf////xf/+/9P/4f/b//X/9v8LAA4AGAAlACoAMAAQABkA9v8TAOL/+f/W/9r/8f/I/wcAxP8MAOr/BwATAAQAOAAGAEcAAABCAAEADwAEAOP//v/F/wIAzf/o/93/8P/s/w4ACwAZACEAKgAyABMAIQD5/xgA6v8DANb/4P/y/9H/AQDJ/wkA4/8DAAoA/f8wAAQAQwABAEAA//8VAAIA7P/+/8r/BADP/+v/2v/s/+n/CwAIAA0AHAAjADQAHAAkAP//GQDy/wQA5v/i//b/0P/7/8f/AADh/wMAAAD+/yUAAAA7AAEAOAAAABwAAAD6/wAA1/8CAMr/AADb/+3/5f8BAAIACAAVABcALwAfACgA+/8XAPn/DgDe/+//7v/Q/wMAz/8JAOP/CwDx////EAAHADEAAQArAAIAHQAEAAcAAADr/wEAzv8CANj//f/k/wEA+f/+/xQABwAqAB4ALAD+/x4A8P8SAOb/8//f/9j//f/N/wEA3v8LAO7/AgAMAAQALAAEAC0AAQAdAAQADwABAPP/BADV/wMA0/8AAOH/AQD1/wAAEAADACQAGwAwAAQAHwD0/xUA8f/4/+L/2//7/8z/AwDc/woA6f8AAAQAAwAoAAcANAAAACcAAgAUAAEA+P8CANv/AgDR/wEA4v8BAOz/AgAIAPv/JAAVADMAFAAhAPP/GQDz//7/3P/l/+3/z/8BANf/CgDn/wkA/P///xoABwAwAAIAJwACABcAAwABAAIA4f8BAND/AgDd//3/6P8CAAYA/f8YAAwALwAZACUA9v8bAPj/AwDq/+r/7P/S//7/1/8EAOX/CQD6//7/GQAFAC8AAQApAAEAGQACAAMAAgDm/wEAzv8BANv//v/p/wIA//8BABMABQArACAALAABAB4A8f8NAOv/7v/m/9n/+P/R/wMA4f8OAPT/AQATAAMAKwAHACoAAwAbAAMABQADAO7/AQDU/wEA2f8AAOL////3////EgAAACUAGgAvAAUAHQD2/xIA9f/0//T/3P/4/8///f/h/wIA7f8AAAoAAQApAAQALQADACAAAgAPAP//9P///9r//f/T/wAA3f/9//D/AQAQAP//HAAHAC8ACQAfAPv/GAD+//f/+P/j/wEA0v/+/9n/AADq/wIABgD//x0AAQAuAAEAIwAAABQAAwD8/wEA3/8AAM//AADe////7f8BAAwA//8ZAAMALwAAACEA//8dAP3//v/9/+n////U//z/1v8BAOT/AAD+/wAAGwD+/ywA/v8kAAIAGAD///3////q/wEA0P///97/AADk/wAABAAAABUAAQAqAAEAKQAAABwAAAAFAP//6f8AANr////X/wAA4/8AAPj/AgAUAAAAKgD//ywAAAAcAP7/AQAAAOv/AADU/wAA2v8CAOP/AAABAAAAFgABABsAAAAqAAEAHwAAABQAAgDv/wEA3v///9H////f////7/8BAAoAAQApAAAALgD//yEAAQAIAAAA8P8BANr//v/V////4f8AAPf//v8UAAAAFAAAACYAAQAhAP7/GwD+//T/AADo/wIA1v8CANr/AgDp/wEABgAAAB8AAQAsAAEAJAAAAAwA///z/wEA3/8AANT/AADh/wEA9P///xQAAgASAAAAJQAAACEAAAAaAP//+v8BAOj////W////2P8BAOf///8DAAAAHwAAAC4AAAAlAAAAEgAAAPL/AQDm////0f8CAN3/AADr//7/EQD//xAAAQAhAAIAJQAAAB8AAAABAP//6v8CAN//AQDX/wAA4/8AAPr/AAAXAAAAKgABACgAAAAbAP///f8AAOj/AADU/wAA2v///+f/AQANAAMAEQD+/xwA/v8kAP7/IQABAAgA/v/p////5/8AANf/AQDd/wEA8v8BABMAAQAjAAAALgAAACAAAQADAAEA7f8BANn/AgDY//7/4P/+/wEAAAAXAAIAFAAFACUA/P8jAP//EgAAAO//AQDo////1/8AAN3/AADx//7/DgAAAB0AAQAoAAAAIwAAAAoAAQDv/wMA4f8AANn/AQDi/wEA+v///xgAAAAQAP3/IwD//yUA/v8XAAAA7/8AAOv/AADc/wAA3P/+/+v/AQALAAEAGgACACkAAAAkAP7/EAABAO/////q//7/1/8AANz/AgDw/wEAEgD//w8AAAAcAAIAJQAAAB0AAAD2////7P8AAOP/AgDa/wAA5P8BAAQAAQAWAAAAIgAAACMAAAAaAP//+P///+v/AQDZ/wAA2////+7/AAARAAAADgAAABYAAAAhAAAAIAABAPz/AQDt/wAA5P8AANr/AQDg/wEA/P8BABcAAAAhAP//KQD//xwAAAD8/wEA7v8AAN3////Z/wAA6f8BAA0AAAARAAEAEQAAACMAAAAgAAEA/f8CAO3/AADv/wAA3v8BANv////1////EgAAABkA//8nAAAAIgAAAAMAAADu/wAA6P8CANn/AQDg////BQD//xMAAQAOAP//IAABACYAAAAGAAAA6f////H/AADg/wEA2f8AAO3///8PAAAAFQACACQAAAAkAAEADQABAO//AADp/wAA2////9z/AQD7/wEAFgAAAAwAAQAXAP7/JQD9/xMAAADx/wAA8f8AAOr/AADc/wEA4/8BAAkAAAAVAAAAIQD//yYA//8UAAEA9P8BAOz/AADf/wAA3P8AAPP/AAAQAAAADQABAA0AAAAlAAEAGAD///H//v/0/wEA7v8CAN//AADg//3/BAACABUAAQAfAAAAJwABABgAAQD0//7/7f///+L/AADa/wIA8P///w4A//8SAAMACQAAACAAAQAgAP//+v////P////y/wEA4/8BANr/AQD9/wAAEwD//xkAAQAjAAAAIgABAPz////s/wAA6v8BANX/AQDr//7/BwABABMAAAAHAP//FwAAACYAAAD//wEA9P8BAPb/AQDu////2v8BAPn/AAATAP//FwD//yEAAAAjAAAAAgAAAOn/AQDr//7/2P8CAOT/AAABAP//FgABAAUAAQATAP//IwAAAAEAAgDy/wEA9/8AAPb/AADb/wAA6/8BABAAAAATAP7/IQAAACYA//8UAP//7/8AAPD/AADd/wEA3P/+//7///8OAAAACgAAAAgAAAAhAP//CQACAPT/AQD2/wAA9v///97////m/wIADgABABMAAQAfAP//JwAAABMAAADw/wAA8P///+r/AQDb/wAA9f8AAA8AAAARAAIABAD//wYA/v8HAAAAAQD//wMAAgAGAAAA7f8AAOz/AAALAP//DwACABQA//8bAAAAHgD///f/AADq/wEA6/8BANj//v/t/wAACAD+/xAAAgAEAAAABAABAAcAAQADAAAA//8AAAUA///1/wAA5f///wIAAAAOAAAAEAAAABsAAAAhAAAA/v8BAOj////y////3f8AAOf/AQAGAAEADAAAAAcA//8BAP//CQABAAMA//8BAP//BQAAAAAAAADo/wAA+/8AAAoAAAALAAAAFAAAACAAAQAGAAIA7f8BAPH/AADm/wMA3P8CAP7/AgASAP//CgD//wAAAAAIAP//BQD//wEAAAACAP7/BAAAAPz/AwD8////BAAAAAEA//8HAAAAHQAAAAgA/v/x//7/8f///+f/AQDg/////P///woAAAAMAP//AAABAAYA//8EAAAAAgAAAAUAAAACAAAAAwAAAAIAAAABAAAAAQABAAAAAgAcAP//DgD///T/AQDx/wAA9P8CAOH/AAD3/wAACQAAAAoAAQABAP//AwAAAAcAAAD+/wAAAgACAAEAAAD+////AwD+/wAAAAABAP//+v8BABEAAQATAAAA9f/+//L//f/z/wIA6f8AAPb/AQAFAP//DAAAAAAAAAAFAP//BQD//wEA//8DAAEAAQAAAP7///8AAAAA//8BAAIAAAD+/wAAEAABABYAAgD6/wEA8v8BAPX/AwDp/wAA8////wMA//8JAAEABAABAAEA//8FAAEA//8AAAMAAQACAP//AQAAAAEAAgAFAP//AQABAAAAAQAAAP//EQABAAAAAAD5/wEA+P8AAPr////6/wAA+/8BAAIA//8BAAAA//8CAAUA//8BAP7/AAABAAEAAgAAAAAAAwAAAAEA/v8DAAIAAAACAAQA//8TAAAA/P8BAPr////3//////8AAPz/AQD7/wEAAgD/////AAABAAEABAAAAP//////////AAAAAAAAAAADAAAAAwAAAAAA//8EAP///v/+/xAA//8HAAAA+/////j/AQD8////AAD///n///8AAAAA//8AAP////8DAP//AgAAAAAAAAACAAIAAAD+/wAAAQD//wAA/////wIAAgD9////CQACAAYA///9////+f8BAPr/AQAAAAIA/v///wAA//8AAAAAAAAAAAEAAAABAAAAAgAAAAEAAAAAAAEAAQABAAAAAgABAP//AAD//wEAAAD///////8BAAIAAQAAAAAA/v/+//////8BAAAAAQABAP//AAD///////8BAAAAAQABAP////8CAAEAAQD//wEA/v//////AQAAAAAAAAAAAAAAAAD9/wMA/////wAAAQD+/wEA/v/+//7/AQD//wMAAAAAAAAAAAABAAEA//////7/AAACAP3/AAD//wAAAQAAAP//AQD//wAAAAAAAAEA//8CAP//AAAAAAAA/v8AAAAA//8BAP//AAABAP//AAAAAP//AQD//wAAAQABAAAAAAABAAEA/v///wAAAAD//////////wAAAAAAAP//AAD////////8/wIAAAADAAEA/////wEA/v8BAP7/AgAAAAEAAgAAAP//AgD/////AQD//wEA//////7/AQD//wMAAAAAAAAA//8CAP//AQAAAP//AAACAAAAAAABAP//AQD+/wAA/////wAA/f///wAAAAAAAP7/AAAAAAAAAgD//wEAAQACAP//AAAAAAEAAQD//wAAAAAAAAAA//8BAAMA/v8AAP7/AQAAAAAAAQAAAAAA///+//7/AAAAAAAA//8BAP7/AQAAAP//AQABAAAAAQAAAP//AAD//wIA/v///wAAAQABAP//AAD//wEA//8BAP//AgAAAP///////wAAAQABAP//AwABAAAAAAAAAAAA/////wIAAwACAAAA/v8BAAAAAAAAAAAA//8AAP////8AAAAA/////wAA/////wEA/v8CAAEAAQD//wAAAAABAAAAAAD//wEAAQABAAAA//8CAAAAAAAAAP7/AAABAAAAAQABAAAAAgABAAAAAQD//wEAAwD+/wAA/v8AAAEAAAAAAAAAAAAAAAEAAAD//wMA/v///wAAAAACAAEAAAAAAP7///8DAAEAAQD//wEA/f8BAAEAAQD//wEAAQABAAMAAgAAAAEA//8AAP//BAAAAAIA/v//////AQABAAAAAAD//wEAAAACAAIAAQAAAAAAAgAAAAAAAAABAAIAAAABAAIAAQAAAP////8AAAAAAAD//wAAAQACAP//AAAAAAAAAQAAAAEA//8AAAAAAAD/////AQD//wAAAQD9////AQAAAAAA//8BAAAA///+/////v8BAAAAAQAAAAAAAAAAAAIA//8BAAAAAAACAP//AQD//wAAAAD/////AAD9/wAAAAACAAAAAgAAAAEAAQABAAEAAAAAAAEA//8AAAEAAQACAAAAAQAAAAEA//8BAAIAAAACAP//AAABAAAAAAAAAAAAAAD//wAAAQD/////AAAAAP////8AAAEAAAAAAP7///8BAAIAAQD//wEAAQAAAP//AgAAAAAAAAD//wAA//8CAP7/AQAAAP7/AAD+////AAAAAAAAAQABAAAA//8AAAEAAAABAP7/AAAAAP7/AAD+/wAAAQABAAEA/////////v8BAP///v///wIAAAAAAAAAAQAAAAIAAQAAAAAAAAABAAEAAAAAAAAAAAD//wEAAQD//wAAAQABAAAA/v/+/////////wAAAAD//wAAAAD/////AAAAAP7/AAD//wIA//8CAP//AQAAAP////8AAAAAAQABAP////8AAP//AQACAAAAAQAAAAAAAAAAAAAA//8BAAAAAAD+/wAA/v///wEAAAD+//7///8CAP7/AAABAP3/AwAAAAAAAAABAAIAAAABAAAAAQABAAIAAAAAAP//AAAAAAEAAAACAAEAAAACAAAAAAABAAAAAwAAAAAAAAD+/wAAAQD9//////8BAAAA/v8AAAAAAAAAAAAAAAD//wMA/v8BAAEAAQACAAAA/v8BAP//AwABAAIAAQABAP//AQAAAAEAAAAAAAEA//8AAAAAAAD/////AAABAAEAAAAAAP////8AAAAAAAAAAAAA/v8AAP//AQAAAP//AAABAAIAAQAAAAAAAgABAAAA/////wAAAQABAP//AQABAAEA/////wAAAAAAAAAAAAABAAEAAQAAAAAAAAAAAAAA//8AAP7/AQD9/wAAAgD//wEAAQABAAEA/v8AAAEA/////wAAAAAAAP//AAABAAAAAAAAAAAA//8CAP//AAABAAEAAQABAAAA//8BAAIAAgD//wAA/v8AAAEAAAD///7/AAAAAAEAAAABAAAAAQABAAAAAQACAAAA///+/wAAAQABAP7////+/wAA//8AAAAAAgAAAP//AQD9/wAAAAD//wAA//8AAAAAAQAAAAAAAQD//wAAAAAAAP//AQABAAAA/v8CAP//AAD///////8AAAAAAAACAAEA//8BAP7/AAAAAAEA//8BAAAAAQD//wAAAQD+/wAA/////wAAAAD//wAAAQABAAAA//8AAAEA/////wAA//8AAAAA/v/+/wEAAgABAP//AgD//wIA/////wAA//8AAAEAAQAAAAAAAQAAAAMAAAACAP//",showCount:!0},audio:{disabled:!0,defaultToggledOn:!1,language:"en-US",voiceNames:["Microsoft David - English (United States)","Alex (English - United States)"],rate:1,volume:1,icon:ki,iconDisabled:Ci},chatHistory:{disabled:!1,maxEntries:30,storageKey:"rcb-history",storageType:"LOCAL_STORAGE",viewChatHistoryButtonText:"Load Chat History ⟳",chatHistoryLineBreakText:"----- Previous Chat History -----",autoLoad:!1},chatInput:{disabled:!1,allowNewline:!1,enabledPlaceholderText:"Type your message...",disabledPlaceholderText:"",showCharacterCount:!1,characterLimit:-1,botDelay:1e3,sendButtonIcon:wi,blockSpam:!0,sendOptionOutput:!0,sendCheckboxOutput:!0,buttons:[ye.VOICE_MESSAGE_BUTTON,ye.SEND_MESSAGE_BUTTON]},chatWindow:{showScrollbar:!1,showTypingIndicator:!0,autoJumpToBottom:!1,showMessagePrompt:!0,messagePromptText:"New Messages ↓",messagePromptOffset:30,defaultOpen:!1},sensitiveInput:{maskInTextArea:!0,maskInUserBubble:!0,asterisksCount:10,hideInUserBubble:!1},userBubble:{animate:!0,showAvatar:!1,avatar:"data:image/svg+xml,%3csvg%20width='140'%20height='140'%20xmlns='http://www.w3.org/2000/svg'%3e%3ccircle%20cy='60.044'%20cx='70'%20fill='%235c5c5c'%20r='29'/%3e%3cpath%20d='m16.36%20156.186-.01-30.5c-.005-16.844%2024.168-30.507%2053.991-30.516%2029.823-.009%2054.004%2013.64%2054.01%2030.484l.008%2030.5-108%20.032z'%20fill='%235c5c5c'/%3e%3c/svg%3e",simulateStream:!1,streamSpeed:30},botBubble:{animate:!0,showAvatar:!1,avatar:qr,simulateStream:!1,streamSpeed:30},voice:{disabled:!0,defaultToggledOn:!1,language:"en-US",timeoutPeriod:1e4,autoSendDisabled:!1,autoSendPeriod:1e3,sendAsAudio:!1,icon:xi,iconDisabled:Ei},footer:{text:E.jsxs("div",{style:{cursor:"pointer",display:"flex",flexDirection:"row",alignItems:"center",columnGap:3},onClick:()=>window.open("https://react-chatbotify.com","_blank","noopener,noreferrer"),children:[E.jsx("span",{children:"Powered By "},0),E.jsx("div",{style:{borderRadius:"50%",width:14,height:14,display:"flex",justifyContent:"center",alignItems:"center",background:"linear-gradient(to right, #42b0c5, #491d8d)"},children:E.jsx(Gr,{style:{width:"80%",height:"80%",fill:"#fff"}})},1),E.jsx("span",{style:{fontWeight:"bold"},children:" React ChatBotify"},2)]}),buttons:[ye.FILE_ATTACHMENT_BUTTON,ye.EMOJI_PICKER_BUTTON]},fileAttachment:{disabled:!1,multiple:!0,accept:".png",icon:Yr,iconDisabled:Yr,sendFileName:!0,showMediaDisplay:!1},emoji:{disabled:!1,icon:Wr,iconDisabled:Wr,list:["😀","😃","😄","😅","😊","😌","😇","🙃","🤣","😍","🥰","🥳","🎉","🎈","🚀","⭐️"]},toast:{maxCount:3,forbidOnMax:!1,dismissOnClick:!0},event:{rcbPreInjectMessage:!1,rcbPostInjectMessage:!1,rcbStartSimulateStreamMessage:!1,rcbStopSimulateStreamMessage:!1,rcbStartStreamMessage:!1,rcbChunkStreamMessage:!1,rcbStopStreamMessage:!1,rcbRemoveMessage:!1,rcbSaveChatHistory:!1,rcbLoadChatHistory:!1,rcbToggleChatWindow:!1,rcbStartSpeakAudio:!1,rcbToggleAudio:!1,rcbToggleNotifications:!1,rcbToggleVoice:!1,rcbChangePath:!1,rcbShowToast:!1,rcbDismissToast:!1,rcbUserSubmitText:!1,rcbUserUploadFile:!1,rcbTextAreaChangeValue:!1,rcbPreLoadChatBot:!1,rcbPostLoadChatBot:!1,rcbPreProcessBlock:!1,rcbPostProcessBlock:!1},ariaLabel:{chatButton:"open chat",audioButton:"toggle audio",closeChatButton:"close chat",emojiButton:"emoji picker",fileAttachmentButton:"upload file",notificationButton:"toggle notifications",sendButton:"send message",voiceButton:"toggle voice",inputTextArea:"input text area"},device:{desktopEnabled:!0,mobileEnabled:!0,applyMobileOptimizations:!0}},Vr=p.createContext({settings:{},setSyncedSettings:()=>null,syncedSettingsRef:{current:{}}}),te=()=>p.useContext(Vr),Pi=({children:e,settings:t=Kr,setSyncedSettings:r,syncedSettingsRef:n})=>E.jsx(Vr.Provider,{value:{settings:t,setSyncedSettings:r,syncedSettingsRef:n},children:e}),Xr={tooltipStyle:{},notificationBadgeStyle:{},chatWindowStyle:{},headerStyle:{},bodyStyle:{},chatInputContainerStyle:{},chatInputAreaStyle:{},chatInputAreaFocusedStyle:{},chatInputAreaDisabledStyle:{},userBubbleStyle:{},botBubbleStyle:{},botOptionStyle:{},botOptionHoveredStyle:{},botCheckboxRowStyle:{},botCheckboxNextStyle:{},botCheckMarkStyle:{},botCheckMarkSelectedStyle:{},characterLimitStyle:{},characterLimitReachedStyle:{},chatHistoryLineBreakStyle:{},chatMessagePromptStyle:{},chatMessagePromptHoveredStyle:{},footerStyle:{},loadingSpinnerStyle:{},mediaDisplayContainerStyle:{},chatButtonStyle:{},chatButtonHoveredStyle:{},chatHistoryButtonStyle:{},chatHistoryButtonHoveredStyle:{},sendButtonStyle:{},sendButtonHoveredStyle:{},sendButtonDisabledStyle:{},audioButtonStyle:{},audioButtonDisabledStyle:{},closeChatButtonStyle:{},emojiButtonStyle:{},emojiButtonDisabledStyle:{},fileAttachmentButtonStyle:{},fileAttachmentButtonDisabledStyle:{},notificationButtonStyle:{},notificationButtonDisabledStyle:{},voiceButtonStyle:{},voiceButtonDisabledStyle:{},chatIconStyle:{},audioIconStyle:{},audioIconDisabledStyle:{},closeChatIconStyle:{},emojiIconStyle:{},emojiIconDisabledStyle:{},fileAttachmentIconStyle:{},fileAttachmentIconDisabledStyle:{},notificationIconStyle:{},notificationIconDisabledStyle:{},voiceIconStyle:{},voiceIconDisabledStyle:{},sendIconStyle:{},sendIconDisabledStyle:{},sendIconHoveredStyle:{},rcbTypingIndicatorContainerStyle:{},rcbTypingIndicatorDotStyle:{},toastPromptContainerStyle:{},toastPromptStyle:{},toastPromptHoveredStyle:{}},Jr=p.createContext({styles:{},setSyncedStyles:()=>null,syncedStylesRef:{current:{}}}),le=()=>p.useContext(Jr),Si=({children:e,styles:t=Xr,setSyncedStyles:r,syncedStylesRef:n})=>E.jsx(Jr.Provider,{value:{styles:t,setSyncedStyles:r,syncedStylesRef:n},children:e}),Di=({buttons:e})=>{var t,r,n,o,a,A,s;const{settings:i}=te(),{styles:l}=le(),c={backgroundImage:`linear-gradient(to right, ${(t=i.general)==null?void 0:t.secondaryColor},
|
|
2
|
-
${(r=i.general)==null?void 0:r.primaryColor})`,...l.headerStyle};return E.jsxs("div",{style:c,className:"rcb-chat-header-container",children:[E.jsxs("div",{className:"rcb-chat-header",children:[((n=i.header)==null?void 0:n.showAvatar)&&E.jsx("div",{style:{backgroundImage:`url("${(o=i.header)==null?void 0:o.avatar}")`},className:"rcb-bot-avatar"}),p.isValidElement((a=i.header)==null?void 0:a.title)?(A=i.header)==null?void 0:A.title:E.jsx("div",{style:{margin:0,fontSize:20,fontWeight:"bold"},children:(s=i.header)==null?void 0:s.title})]}),E.jsx("div",{className:"rcb-chat-header",children:e==null?void 0:e.map((d,u)=>E.jsx(p.Fragment,{children:d},u))})]})},Zr=p.createContext({}),ke=()=>p.useContext(Zr),Bi=({children:e,botIdRef:t,flowRef:r})=>{const n=p.useRef(null),o=p.useRef(""),a=p.useRef(null),A=p.useRef(new Map),s=p.useRef(null),i=p.useRef(""),l=p.useRef(!1),c=p.useRef(null),d=p.useRef(null),u=p.useRef(null);return E.jsx(Zr.Provider,{value:{botIdRef:t,flowRef:r,inputRef:n,timeoutIdRef:a,streamMessageMap:A,chatBodyRef:s,paramsInputRef:i,keepVoiceOnRef:l,audioContextRef:c,audioBufferRef:d,gainNodeRef:u,prevInputRef:o},children:e})},ze=e=>{const[t,r]=p.useState(e),n=p.useRef(e);return[t,o=>{const a=typeof o=="function"?o(n.current):o;n.current=a,r(a)},n]},$r=p.createContext({}),Se=()=>p.useContext($r),Ii=({children:e,settings:t})=>{var r,n,o,a,A,s;const[i,l,c]=ze(!1),[d,u,f]=ze(((r=t==null?void 0:t.chatWindow)==null?void 0:r.defaultOpen)??!1),[g,b,h]=ze(((n=t==null?void 0:t.audio)==null?void 0:n.defaultToggledOn)??!1),[w,x,m]=ze(((o=t==null?void 0:t.voice)==null?void 0:o.defaultToggledOn)??!1),[k,P,C]=ze(((a=t==null?void 0:t.notification)==null?void 0:a.defaultToggledOn)??!0),[S,I]=p.useState(!1),[Q,B]=p.useState(!1),[O,D,M]=ze(!1),[F,_,U]=ze(!0),[N,L,y]=ze(!1),[W,v]=p.useState(!1),[V,q]=p.useState(!1),[G,X]=p.useState(0),[he,se]=p.useState(0),[Ke,Pe]=p.useState(!1),[R,Y]=p.useState(((A=window.visualViewport)==null?void 0:A.height)??window.innerHeight),[re,ne]=p.useState(((s=window.visualViewport)==null?void 0:s.width)??window.innerWidth);return E.jsx($r.Provider,{value:{isBotTyping:i,setSyncedIsBotTyping:l,syncedIsBotTypingRef:c,isChatWindowOpen:d,setSyncedIsChatWindowOpen:u,syncedIsChatWindowOpenRef:f,audioToggledOn:g,setSyncedAudioToggledOn:b,syncedAudioToggledOnRef:h,voiceToggledOn:w,setSyncedVoiceToggledOn:x,syncedVoiceToggledOnRef:m,notificationsToggledOn:k,setSyncedNotificationsToggledOn:P,syncedNotificationsToggledOnRef:C,isLoadingChatHistory:S,setIsLoadingChatHistory:I,hasChatHistoryLoaded:Q,setHasChatHistoryLoaded:B,isScrolling:O,setSyncedIsScrolling:D,syncedIsScrollingRef:M,textAreaDisabled:F,setSyncedTextAreaDisabled:_,syncedTextAreaDisabledRef:U,textAreaSensitiveMode:N,setSyncedTextAreaSensitiveMode:L,syncedTextAreaSensitiveModeRef:y,hasInteractedPage:W,setHasInteractedPage:v,hasFlowStarted:V,setHasFlowStarted:q,unreadCount:G,setUnreadCount:X,inputLength:he,setInputLength:se,blockAllowsAttachment:Ke,setBlockAllowsAttachment:Pe,viewportHeight:R,setViewportHeight:Y,viewportWidth:re,setViewportWidth:ne},children:e})};var j=(e=>(e.START_SPEAK_AUDIO="rcb-start-speak-audio",e.TOGGLE_AUDIO="rcb-toggle-audio",e.TOGGLE_NOTIFICATIONS="rcb-toggle-notifications",e.TOGGLE_VOICE="rcb-toggle-voice",e.TOGGLE_CHAT_WINDOW="rcb-toggle-chat-window",e.PRE_INJECT_MESSAGE="rcb-pre-inject-message",e.POST_INJECT_MESSAGE="rcb-post-inject-message",e.START_SIMULATE_STREAM_MESSAGE="rcb-start-simulate-stream-message",e.STOP_SIMULATE_STREAM_MESSAGE="rcb-stop-simulate-stream-message",e.START_STREAM_MESSAGE="rcb-start-stream-message",e.CHUNK_STREAM_MESSAGE="rcb-chunk-stream-message",e.STOP_STREAM_MESSAGE="rcb-stop-stream-message",e.REMOVE_MESSAGE="rcb-remove-message",e.SAVE_CHAT_HISTORY="rcb-save-chat-history",e.LOAD_CHAT_HISTORY="rcb-load-chat-history",e.CHANGE_PATH="rcb-change-path",e.SHOW_TOAST="rcb-show-toast",e.DISMISS_TOAST="rcb-dismiss-toast",e.USER_SUBMIT_TEXT="rcb-user-submit-text",e.USER_UPLOAD_FILE="rcb-user-upload-file",e.TEXT_AREA_CHANGE_VALUE="rcb-text-area-change-value",e.PRE_LOAD_CHATBOT="rcb-pre-load-chatbot",e.POST_LOAD_CHATBOT="rcb-post-load-chatbot",e.PRE_PROCESS_BLOCK="rcb-pre-process-block",e.POST_PROCESS_BLOCK="rcb-post-process-block",e))(j||{});const Ti={[j.START_SPEAK_AUDIO]:!0,[j.TOGGLE_AUDIO]:!0,[j.TOGGLE_VOICE]:!0,[j.TOGGLE_NOTIFICATIONS]:!0,[j.TOGGLE_CHAT_WINDOW]:!0,[j.PRE_INJECT_MESSAGE]:!0,[j.POST_INJECT_MESSAGE]:!1,[j.PRE_LOAD_CHATBOT]:!0,[j.POST_LOAD_CHATBOT]:!1,[j.START_SIMULATE_STREAM_MESSAGE]:!0,[j.STOP_SIMULATE_STREAM_MESSAGE]:!1,[j.START_STREAM_MESSAGE]:!0,[j.CHUNK_STREAM_MESSAGE]:!0,[j.STOP_STREAM_MESSAGE]:!0,[j.REMOVE_MESSAGE]:!0,[j.SAVE_CHAT_HISTORY]:!0,[j.LOAD_CHAT_HISTORY]:!0,[j.CHANGE_PATH]:!0,[j.SHOW_TOAST]:!0,[j.DISMISS_TOAST]:!0,[j.USER_SUBMIT_TEXT]:!0,[j.USER_UPLOAD_FILE]:!0,[j.TEXT_AREA_CHANGE_VALUE]:!0,[j.PRE_PROCESS_BLOCK]:!0,[j.POST_PROCESS_BLOCK]:!0},Fn=async(e,t,r)=>{const n=new CustomEvent(e,{detail:t,cancelable:Ti[e]});return n.data=r,n.promises=[],window.dispatchEvent(n),await Promise.all(n.promises),n},eo=p.createContext({paths:[],setSyncedPaths:()=>{},syncedPathsRef:{current:[]}}),Yt=()=>p.useContext(eo),Qi=({children:e})=>{const[t,r,n]=ze([]);return E.jsx(eo.Provider,{value:{paths:t,setSyncedPaths:r,syncedPathsRef:n},children:e})},Je=()=>{const{botIdRef:e}=ke(),{syncedPathsRef:t}=Yt(),r=p.useCallback(()=>t.current.length>0?t.current.at(-1)??null:null,[]),n=p.useCallback(()=>t.current.length>1?t.current.at(-2)??null:null,[]);return{dispatchRcbEvent:p.useCallback(async(o,a)=>{const A={botId:e.current,currPath:r(),prevPath:n()};return await Fn(o,A,a)},[e])}},Re=()=>{const{settings:e}=te(),{isChatWindowOpen:t,setSyncedIsChatWindowOpen:r,viewportHeight:n,setViewportHeight:o,viewportWidth:a,setViewportWidth:A,setUnreadCount:s,setSyncedIsBotTyping:i,setSyncedIsScrolling:l,syncedIsBotTypingRef:c,syncedIsChatWindowOpenRef:d}=Se(),{chatBodyRef:u}=ke(),{dispatchRcbEvent:f}=Je(),g=p.useCallback(()=>{if(!u.current)return!1;const m=u.current.getBoundingClientRect(),k=window.innerHeight??document.documentElement.clientHeight,P=window.innerWidth??document.documentElement.clientWidth;return m.top>=0&&m.left>=0&&m.bottom<=k&&m.right<=P},[u]),b=p.useCallback(async m=>{var k;m!==d.current&&((k=e.event)!=null&&k.rcbToggleChatWindow&&(await f(j.TOGGLE_CHAT_WINDOW,{currState:d.current,newState:!d.current})).defaultPrevented||r(P=>(P||s(0),!P)))},[d]),h=p.useCallback(async m=>{m!==c.current&&i(k=>!k)},[c]),w=p.useCallback((m,k,P,C)=>(m/=C/2)<1?P/2*m*m+k:-P/2*(--m*(m-2)-1)+k,[]),x=p.useCallback((m=0)=>{if(!u.current)return;const k=u.current.scrollHeight-u.current.clientHeight;if(m<=0)return u.current.scrollTop=k,void l(!1);const P=u.current.scrollTop,C=k-P;let S=0;const I=()=>{if(!u.current)return;S+=20;const Q=w(S,P,C,m);u.current.scrollTop=Q,S<m?requestAnimationFrame(I):l(!1)};I()},[u]);return{isChatWindowOpen:t,setSyncedIsChatWindowOpen:r,toggleChatWindow:b,viewportHeight:n,setViewportHeight:o,viewportWidth:a,setViewportWidth:A,toggleIsBotTyping:h,scrollToBottom:x,getIsChatBotVisible:g}},Mi=()=>{var e,t,r;const{settings:n}=te(),{styles:o}=le(),{unreadCount:a,isScrolling:A}=Se(),{chatBodyRef:s}=ke(),{scrollToBottom:i}=Re(),[l,c]=p.useState(!1),d={color:(e=n.general)==null?void 0:e.primaryColor,borderColor:(t=n.general)==null?void 0:t.primaryColor,...o.chatMessagePromptHoveredStyle};return E.jsx("div",{className:"rcb-message-prompt-container "+(s.current&&((u=n.chatWindow)!=null&&u.showMessagePrompt)&&A&&a>0?"visible":"hidden"),children:E.jsx("div",{onMouseEnter:()=>{c(!0)},onMouseLeave:()=>{c(!1)},style:l?d:{...o.chatMessagePromptStyle},onMouseDown:f=>{f.preventDefault(),i(600)},className:"rcb-message-prompt-text",children:(r=n.chatWindow)==null?void 0:r.messagePromptText})});var u},to=p.createContext({messages:[],setSyncedMessages:()=>{},syncedMessagesRef:{current:[]}}),zn=()=>p.useContext(to),Oi=({children:e})=>{const[t,r,n]=ze([]);return E.jsx(to.Provider,{value:{messages:t,setSyncedMessages:r,syncedMessagesRef:n},children:e})},_i=({message:e,isNewSender:t})=>{var r,n,o,a,A,s;const{settings:i}=te(),{styles:l}=le(),c=typeof e.content=="string",d=e.content,u=e.contentWrapper?E.jsx(e.contentWrapper,{children:d}):d,f={backgroundColor:(r=i.general)==null?void 0:r.primaryColor,color:"#fff",maxWidth:(n=i.userBubble)!=null&&n.showAvatar?"65%":"70%",...l.userBubbleStyle},g=(o=i.userBubble)!=null&&o.animate?"rcb-user-message-entry":"",b=((a=i.userBubble)==null?void 0:a.showAvatar)&&t,h="rcb-user-message"+(!t&&(A=i.userBubble)!=null&&A.showAvatar?" rcb-user-message-offset":"");return E.jsxs("div",{className:"rcb-user-message-container",children:[c?E.jsx("div",{style:f,className:`${h} ${g}`,children:u}):E.jsx(E.Fragment,{children:u}),b&&E.jsx("div",{style:{backgroundImage:`url("${(s=i.userBubble)==null?void 0:s.avatar}")`},className:"rcb-message-user-avatar"})]})},Ni=({message:e,isNewSender:t})=>{var r,n,o,a,A,s;const{settings:i}=te(),{styles:l}=le(),c=typeof e.content=="string",d=e.content,u=e.contentWrapper?E.jsx(e.contentWrapper,{children:d}):d,f={backgroundColor:(r=i.general)==null?void 0:r.secondaryColor,color:"#fff",maxWidth:(n=i.botBubble)!=null&&n.showAvatar?"65%":"70%",...l.botBubbleStyle},g=(o=i.botBubble)!=null&&o.animate?"rcb-bot-message-entry":"",b=((a=i.botBubble)==null?void 0:a.showAvatar)&&t,h="rcb-bot-message"+(!t&&(A=i.botBubble)!=null&&A.showAvatar?" rcb-bot-message-offset":"");return E.jsxs("div",{className:"rcb-bot-message-container",children:[b&&E.jsx("div",{style:{backgroundImage:`url("${(s=i.botBubble)==null?void 0:s.avatar}")`},className:"rcb-message-bot-avatar"}),c?E.jsx("div",{style:f,className:`${h} ${g}`,children:u}):E.jsx(E.Fragment,{children:u})]})},Li=()=>{var e,t,r;const{settings:n}=te(),{styles:o}=le(),a=(e=n.botBubble)!=null&&e.animate?"rcb-bot-message-entry":"";return E.jsxs("div",{className:"rcb-bot-message-container",children:[((t=n.botBubble)==null?void 0:t.showAvatar)&&E.jsx("div",{style:{backgroundImage:`url("${(r=n.botBubble)==null?void 0:r.avatar}")`},className:"rcb-message-bot-avatar"}),E.jsx("div",{onMouseDown:A=>{A.preventDefault()},className:`rcb-bot-message ${a}`,children:E.jsxs("div",{className:"rcb-typing-indicator",style:{...o==null?void 0:o.rcbTypingIndicatorContainerStyle},children:[E.jsx("span",{className:"rcb-dot",style:{...o==null?void 0:o.rcbTypingIndicatorDotStyle}}),E.jsx("span",{className:"rcb-dot",style:{...o==null?void 0:o.rcbTypingIndicatorDotStyle}}),E.jsx("span",{className:"rcb-dot",style:{...o==null?void 0:o.rcbTypingIndicatorDotStyle}})]})})]})},Hi=()=>{var e,t,r;const{settings:n}=te(),{styles:o}=le(),{messages:a}=zn(),{scrollToBottom:A}=Re(),{isBotTyping:s,syncedIsScrollingRef:i}=Se(),{chatBodyRef:l}=ke(),c={...o==null?void 0:o.bodyStyle,scrollbarWidth:(e=n.chatWindow)!=null&&e.showScrollbar?"auto":"none"};return p.useEffect(()=>{i.current||A()},[(t=l.current)==null?void 0:t.scrollHeight]),E.jsxs("div",{style:c,className:"rcb-chat-body-container",ref:l,children:[a.map((d,u)=>{const f=(g=>g===0||a[g].sender!==a[g-1].sender)(u);return d.sender.toUpperCase()==="USER"?E.jsx(_i,{message:d,isNewSender:f},u):d.sender.toUpperCase()==="BOT"?E.jsx(Ni,{message:d,isNewSender:f},u):E.jsx("div",{children:d.content},u)}),s&&((r=n.chatWindow)==null?void 0:r.showTypingIndicator)&&E.jsx(Li,{}),E.jsx(Mi,{})]})},Ui=({checkboxes:e,checkedItems:t,path:r})=>{var n,o,a,A,s,i,l,c,d,u,f;const{settings:g}=te(),{styles:b}=le(),{paths:h}=Yt(),{handleSubmitText:w}=It(),[x,m]=p.useState(new Set),[k,P]=p.useState(!1),C={cursor:k?`url("${(n=g.general)==null?void 0:n.actionDisabledIcon}"), auto`:"pointer",color:(o=g.general)==null?void 0:o.primaryColor,borderColor:(a=g.general)==null?void 0:a.primaryColor,...b.botCheckboxRowStyle},S={cursor:k||x.size<e.min?`url("${(A=g.general)==null?void 0:A.actionDisabledIcon}"), auto`:"pointer",color:(s=g.general)==null?void 0:s.primaryColor,borderColor:(i=g.general)==null?void 0:i.primaryColor,...b.botCheckboxNextStyle},I={cursor:k?`url("${(l=g.general)==null?void 0:l.actionDisabledIcon}"), auto`:"pointer",color:"transparent",...b.botCheckMarkStyle},Q={cursor:k?`url("${(c=g.general)==null?void 0:c.actionDisabledIcon}"), auto`:"pointer",color:"#fff",borderColor:(d=g.general)==null?void 0:d.primaryColor,backgroundColor:(u=g.general)==null?void 0:u.primaryColor,...b.botCheckMarkSelectedStyle};return p.useEffect(()=>{h.length>0&&h[h.length-1]!==r&&P(!e.reusable)},[h]),E.jsxs("div",{className:"rcb-checkbox-container "+((f=g.botBubble)!=null&&f.showAvatar?"rcb-checkbox-offset":""),children:[e.items.map(B=>E.jsx("div",{onMouseDown:O=>{O.preventDefault(),(D=>{k||m(M=>{const F=new Set(M);if(F.has(D))t.delete(D),F.delete(D);else{if(x.size==e.max)return M;t.add(D),F.add(D)}return F})})(B)},style:C,className:"rcb-checkbox-row-container",children:E.jsxs("div",{className:"rcb-checkbox-row",children:[E.jsx("div",{style:x.has(B)?Q:I,className:"rcb-checkbox-mark"}),E.jsx("div",{className:"rcb-checkbox-label",children:B})]})},B)),E.jsx("div",{style:S,className:"rcb-checkbox-next-button",onMouseDown:B=>{var O;if(B.preventDefault(),k||x.size<e.min)return;const D=Array.from(t).join(", ");let M;P(!e.reusable),M=e.sendOutput!=null?e.sendOutput:((O=g.chatInput)==null?void 0:O.sendCheckboxOutput)??!0,w(D,M)}})]})},Fi=async(e,t)=>{const r=e.checkboxes;if(!r)return;let n;if(typeof r=="function"?(n=r(t),n instanceof Promise&&(n=await n)):n=r,Array.isArray(n)&&(n={items:n}),!("items"in n)||n.items.length==0)return;n.min==null&&(n.min=1),n.max==null&&(n.max=n.items.length),n.min>n.max&&(n.min=n.max),n.reusable==null&&(n.reusable=!1);const o=new Set,a=t.currPath,A=E.jsx(Ui,{checkboxes:n,checkedItems:o,path:a});await t.injectMessage(A)},zi=async(e,t)=>{const r=e.function;if(!r)return;const n=r(t);return n instanceof Promise?await n:n},Ri=async(e,t,r)=>{const n=e.message;if(!n)return;if(typeof n=="string")return void(n.trim()!==""&&(r?await t.simulateStreamMessage(n):await t.injectMessage(n)));let o=n(t);o instanceof Promise&&(o=await o),typeof o=="string"&&o.trim()!==""&&(r?await t.simulateStreamMessage(o):await t.injectMessage(o))},ji=({options:e,path:t})=>{var r,n,o,a,A,s;const{settings:i}=te(),{styles:l}=le(),{paths:c}=Yt(),{handleSubmitText:d}=It(),[u,f]=p.useState([]),[g,b]=p.useState(!1),h={cursor:g?`url("${(r=i.general)==null?void 0:r.actionDisabledIcon}"), auto`:"pointer",color:(n=i.general)==null?void 0:n.primaryColor,borderColor:(o=i.general)==null?void 0:o.primaryColor,backgroundColor:"#fff",...l.botOptionStyle},w={color:"#fff",borderColor:(a=i.general)==null?void 0:a.primaryColor,backgroundColor:(A=i.general)==null?void 0:A.primaryColor,...l.botOptionHoveredStyle};return p.useEffect(()=>{c.length>0&&c[c.length-1]!==t&&b(!e.reusable)},[c]),E.jsx("div",{className:"rcb-options-container "+((s=i.botBubble)!=null&&s.showAvatar?"rcb-options-offset":""),children:e.items.map((x,m)=>{const k=u[m]&&!g;return E.jsx("div",{className:"rcb-options",style:k?w:h,onMouseEnter:()=>(P=>{f(C=>{const S=[...C];return S[P]=!0,S})})(m),onMouseLeave:()=>(P=>{f(C=>{const S=[...C];return S[P]=!1,S})})(m),onMouseDown:P=>{var C;if(P.preventDefault(),g)return;let S;b(!e.reusable),S=e.sendOutput!=null?e.sendOutput:((C=i.chatInput)==null?void 0:C.sendOptionOutput)??!0,d(x,S)},children:x},x)})})},qi=async(e,t)=>{const r=e.options;if(!r)return;let n;if(typeof r=="function"?(n=r(t),n instanceof Promise&&(n=await n)):n=r,Array.isArray(n)&&(n={items:n}),!("items"in n)||n.items.length==0)return;n.reusable==null&&(n.reusable=!1);const o=t.currPath,a=E.jsx(ji,{options:n,path:o});await t.injectMessage(a)},Gi=async(e,t)=>{const r=e.component;if(r){if(typeof r=="function"){let n=r(t);return n instanceof Promise&&(n=await n),n?void await t.injectMessage(n):void 0}await t.injectMessage(r)}},Yi=async(e,t,r,n)=>{const o=e.transition;let a;if(typeof o=="function"?(a=o(t),a instanceof Promise&&(a=await a)):a=o,typeof a=="number"&&(a={duration:a}),!a||a instanceof Promise||a.duration==null||typeof a.duration!="number")return;a.interruptable==null&&(a.interruptable=!1);const A=setTimeout(async()=>{const s=await n(e);s&&await ro(s,t)},a.duration);a.interruptable&&(r.current=A)},Wi=async(e,t,r)=>{const n=e.chatDisabled;if(n==null)return;let o;typeof n=="function"?(o=n(t),o instanceof Promise&&(o=await o)):o=n,r(o)},no=async(e,t,r)=>{const n=e.isSensitive;if(!n)return void r(!1);let o;typeof n=="function"?(o=n(t),o instanceof Promise&&(o=await o)):o=n,r(o)},ro=async(e,t)=>{if(!e)throw new Error("Block is not valid.");const r=Object.keys(e);for(const n of r)n==="function"&&await zi(e,t);r.includes("path")&&await(async(n,o)=>{const a=n.path;if(!a)return!1;if(typeof a=="string")return await o.goToPath(a),!0;let A=a(o);if(A instanceof Promise&&(A=await A),!A)return!1;const s=A;return await o.goToPath(s),!0})(e,t)},Ki=()=>{var e;const{settings:t}=te(),{styles:r}=le();return E.jsx("div",{className:"rcb-line-break-container",children:E.jsx("div",{style:{...r.chatHistoryLineBreakStyle},className:"rcb-line-break-text","data-testid":"chat-history-line-break-text",children:(e=t.chatHistory)==null?void 0:e.chatHistoryLineBreakText})})},Vi=()=>{var e;const{settings:t}=te(),{styles:r}=le(),n={borderTop:`4px solid ${(e=t.general)==null?void 0:e.primaryColor}`,...r.loadingSpinnerStyle};return E.jsx("div",{className:"rcb-spinner-container",children:E.jsx("div",{style:n,className:"rcb-spinner"})})},un=()=>{try{if(typeof crypto<"u"&&typeof crypto.randomUUID=="function")return crypto.randomUUID();throw new Error("crypto.randomUUID not available")}catch(e){if(typeof crypto<"u"&&typeof crypto.getRandomValues=="function")return"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,function(t){const r=crypto.getRandomValues(new Uint8Array(1))[0]%16;return(t==="x"?r:3&r|8).toString(16)});throw console.error(e),new Error("crypto.getRandomValues is also not available")}},pt=(e,t)=>({id:un(),content:e,sender:t,type:typeof e=="string"?"string":"object",timestamp:new Date().toUTCString(),tags:[]});let ft,oo=!1,dn="rcb-history",pn=30,ao=!1,fn=[];const Wt=()=>fn,Rn=e=>{io(e),fn=e},io=e=>{ft&&ft.setItem(dn,JSON.stringify(e))},jn=e=>{var t,r,n,o,a;ft=((r=(t=e.chatHistory)==null?void 0:t.storageType)==null?void 0:r.toUpperCase())==="SESSION_STORAGE"?sessionStorage:localStorage,dn=(n=e.chatHistory)==null?void 0:n.storageKey,pn=(o=e.chatHistory)==null?void 0:o.maxEntries,ao=(a=e.chatHistory)==null?void 0:a.disabled,fn=(A=>{if(A!=null)try{return JSON.parse(A)}catch{return[]}return[]})(ft.getItem(dn))},Xi=e=>p.isValidElement(e.content)?structuredClone({id:e.id,content:fi.renderToString(e.content),type:e.type,sender:e.sender.toUpperCase(),timestamp:e.timestamp,tags:e.tags}):e,so=(e,t,r)=>{const n=new DOMParser().parseFromString(e,"text/html");return Array.from(n.body.childNodes).map((o,a)=>{var A;if(o.nodeType===Node.TEXT_NODE)return o.textContent;{const s=o.tagName.toLowerCase();let i=Array.from(o.attributes).reduce((l,c)=>{const d=c.name.toLowerCase();if(d==="style"){const u=c.value.split(";").filter(g=>g.trim()!==""),f={};u.forEach(g=>{const[b,h]=g.split(":").map(x=>x.trim()),w=b.replace(/-([a-z])/g,(x,m)=>m.toUpperCase());f[w]=h}),l[d]=f}else s!=="audio"&&s!=="video"||d!=="controls"||c.value!==""?l[d]=c.value:l[d]="true";return l},{});if(Object.prototype.hasOwnProperty.call(i,"class")){const l=o.classList;i.className=l.toString(),delete i.class,(A=t.botBubble)!=null&&A.showAvatar&&(i=Ji(l,i)),i=Zi(l,i,t,r),i=$i(l,i,t,r),i=es(l,i,t,r),i=ts(l,i,t,r)}if(["area","base","br","col","embed","hr","img","input","link","meta","source","track","wbr"].includes(s))return p.createElement(s,{key:a,...i});{const l=so(o.innerHTML,t,r);return p.createElement(s,{key:a,...i},...l)}}})},Ji=(e,t)=>((e.contains("rcb-options-container")||e.contains("rcb-checkbox-container"))&&(t.className=`${e.toString()} rcb-options-offset`),t),Zi=(e,t,r,n)=>{var o,a,A,s,i;return e.contains("rcb-options")&&(t.style={...t.style,color:((o=n.botOptionStyle)==null?void 0:o.color)??((a=r.general)==null?void 0:a.primaryColor),borderColor:((A=n.botOptionStyle)==null?void 0:A.color)??((s=r.general)==null?void 0:s.primaryColor),cursor:`url("${(i=r.general)==null?void 0:i.actionDisabledIcon}"), auto`,...n.botOptionStyle}),t},$i=(e,t,r,n)=>{var o,a,A,s,i;return e.contains("rcb-checkbox-row-container")&&(t.style={...t.style,color:((o=n.botCheckboxRowStyle)==null?void 0:o.color)??((a=r.general)==null?void 0:a.primaryColor),borderColor:((A=n.botCheckboxRowStyle)==null?void 0:A.color)??((s=r.general)==null?void 0:s.primaryColor),cursor:`url("${(i=r.general)==null?void 0:i.actionDisabledIcon}"), auto`,...n.botCheckboxRowStyle}),t},es=(e,t,r,n)=>{var o,a,A,s,i;return e.contains("rcb-checkbox-next-button")&&(t.style={...t.style,color:((o=n.botCheckboxNextStyle)==null?void 0:o.color)??((a=r.general)==null?void 0:a.primaryColor),borderColor:((A=n.botCheckboxNextStyle)==null?void 0:A.color)??((s=r.general)==null?void 0:s.primaryColor),cursor:`url("${(i=r.general)==null?void 0:i.actionDisabledIcon}"), auto`,...n.botCheckboxNextStyle}),t},ts=(e,t,r,n)=>{var o,a;return(e.contains("rcb-media-display-image-container")||e.contains("rcb-media-display-video-container"))&&(t.style={...t.style,backgroundColor:(o=r.general)==null?void 0:o.primaryColor,maxWidth:(a=r.userBubble)!=null&&a.showAvatar?"65%":"70%",...n.mediaDisplayContainerStyle}),t},qn=()=>{const{settings:e}=te(),{notificationsToggledOn:t,setSyncedNotificationsToggledOn:r,hasInteractedPage:n,unreadCount:o,setUnreadCount:a,syncedNotificationsToggledOnRef:A}=Se(),{audioBufferRef:s,audioContextRef:i,gainNodeRef:l}=ke(),{dispatchRcbEvent:c}=Je(),d=p.useCallback(async()=>{var f,g;const b=(f=e.notification)==null?void 0:f.sound;i.current=new AudioContext;const h=i.current.createGain();let w;if(h.gain.value=((g=e.notification)==null?void 0:g.volume)??.2,l.current=h,b!=null&&b.startsWith("data:audio")){const x=atob(b.split(",")[1]),m=new ArrayBuffer(x.length),k=new Uint8Array(m);for(let P=0;P<x.length;P++)k[P]=x.charCodeAt(P);w=m}else w=await(await fetch(b)).arrayBuffer();s.current=await i.current.decodeAudioData(w)},[e.notification]),u=p.useCallback(()=>{var f;if((f=e.notification)!=null&&f.disabled||!A.current||!n||!i.current||!s.current)return;const g=i.current.createBufferSource();g.buffer=s.current,g.connect(l.current).connect(i.current.destination),g.start()},[e.notification,A,n,i,s,l]);return{unreadCount:o,setUnreadCount:a,notificationsToggledOn:t,toggleNotifications:p.useCallback(async f=>{var g;f!==A.current&&((g=e.event)!=null&&g.rcbToggleNotifications&&(await c(j.TOGGLE_NOTIFICATIONS,{currState:A.current,newState:!A.current})).defaultPrevented||r(b=>!b))},[A]),playNotificationSound:u,setUpNotifications:d}},ns=(e,t)=>{var r,n,o,a;((A,s,i,l,c)=>{if(!window.SpeechSynthesisUtterance)return void console.info("Speech Synthesis API is not supported in this environment.");const d=new window.SpeechSynthesisUtterance;d.text=A,d.lang=s,d.rate=l,d.volume=c;let u=!1;for(const f of i){const g=window.speechSynthesis.getVoices().find(b=>b.name===f);if(g){d.voice=g,window.speechSynthesis.speak(d),u=!0;break}}u||window.speechSynthesis.speak(d)})(t,(r=e.audio)==null?void 0:r.language,(n=e.audio)==null?void 0:n.voiceNames,(o=e.audio)==null?void 0:o.rate,(a=e.audio)==null?void 0:a.volume)},Ao=()=>{const{settings:e}=te(),{audioToggledOn:t,setSyncedAudioToggledOn:r,syncedAudioToggledOnRef:n}=Se(),{dispatchRcbEvent:o}=Je(),a=p.useCallback(async s=>{var i;s!==n.current&&((i=e.event)!=null&&i.rcbToggleAudio&&(await o(j.TOGGLE_AUDIO,{currState:n.current,newState:!n.current})).defaultPrevented||r(l=>!l))},[n]),A=p.useCallback(async s=>{var i,l;if((i=e.audio)!=null&&i.disabled||!n.current)return;let c=s;if((l=e.event)!=null&&l.rcbStartSpeakAudio){const d=await o(j.START_SPEAK_AUDIO,{textToRead:c});if(d.defaultPrevented)return;c=d.data.textToRead}ns(e,c)},[e,n]);return{audioToggledOn:t,speakAudio:A,toggleAudio:a}},Et=()=>{var e,t,r;const{settings:n}=te(),{messages:o,setSyncedMessages:a,syncedMessagesRef:A}=zn(),{setSyncedIsBotTyping:s,setUnreadCount:i,syncedIsScrollingRef:l,syncedIsChatWindowOpenRef:c}=Se(),{streamMessageMap:d,chatBodyRef:u,paramsInputRef:f}=ke(),{scrollToBottom:g,getIsChatBotVisible:b}=Re(),{dispatchRcbEvent:h}=Je(),{speakAudio:w}=Ao(),{playNotificationSound:x}=qn(),m=p.useCallback(async D=>{var M,F;if((M=n.event)!=null&&M.rcbSaveChatHistory){const _=await h(j.SAVE_CHAT_HISTORY,{messages:D});if(_.defaultPrevented)return;D=((F=_.data)==null?void 0:F.messages)??D}await(async _=>{if(ao||!ft)return;const U=[];for(let L=_.length-1;L>=0;L--){const y=_[L];if(y.sender.toUpperCase()!=="SYSTEM"&&(y.content!==""&&U.unshift(y),U.length===pn))break}let N=U.map(Xi);if(!oo&&N.length<pn){const L=pn-N.length;N=[...fn.slice(-L),...N]}io(N)})(D)},[h,(e=n.event)==null?void 0:e.rcbSaveChatHistory]),k=p.useCallback((D,M=!1)=>{var F,_;m(D);let U=!0;const N=D[D.length-1];if(!N)return;const L=N.sender.toUpperCase();L==="USER"&&(U=!1),(F=n.general)!=null&&F.embedded&&b()&&(U=!1),(c.current&&!l.current||M)&&(U=!1),U&&x(),!M&&(L!=="USER"&&(_=n.chatWindow)!=null&&_.autoJumpToBottom||L==="USER"||!l.current)&&setTimeout(()=>g(),1)},[n,u,c,l,x,g,b]),P=p.useCallback(async(D,M="BOT",F=null)=>{var _,U,N,L,y;if(typeof D!="string")throw new Error("Content must be of type string to simulate stream.");M=M.toUpperCase();let W=pt(D,M);if((_=n.event)!=null&&_.rcbStartSimulateStreamMessage){const se=await h(j.START_SIMULATE_STREAM_MESSAGE,{message:W});if(se.defaultPrevented)return null;F=se.data.simulateStreamChunker||F,W=se.data.message}s(!1);let v=30;v=M==="BOT"?(U=n.botBubble)==null?void 0:U.streamSpeed:(N=n.userBubble)==null?void 0:N.streamSpeed;const V={...W,content:""};a(se=>[...se,V]),k(A.current);let q=W.content;F&&(q=F(q));let G=0;const X=q.length;W.sender.toUpperCase()==="BOT"&&(c.current||(L=n.general)!=null&&L.embedded)&&typeof W.content=="string"&&W.content.trim()!==""&&w(W.content);const he=new Promise(se=>{const Ke=setInterval(()=>{if(G>=X)return clearInterval(Ke),void se();a(Pe=>{const R=[...Pe];for(let Y=R.length-1;Y>=0;Y--)if(R[Y].id===V.id){const re=q[G];re&&(V.content+=re,R[Y]=V),G++;break}return R})},v)});return(l.current||!c.current)&&i(se=>se+1),await he,m(A.current),(y=n.event)!=null&&y.rcbStopSimulateStreamMessage&&await h(j.STOP_SIMULATE_STREAM_MESSAGE,{message:W}),M==="USER"&&(f.current=D),W},[n,h,k,A,f,s,i,c,w]),C=p.useCallback(async(D,M="BOT")=>{var F,_,U;M=M.toUpperCase();let N=pt(D,M);if((F=n.event)!=null&&F.rcbPreInjectMessage){const L=await h(j.PRE_INJECT_MESSAGE,{message:N});if(L.defaultPrevented)return null;N=L.data.message}return N.sender.toUpperCase()==="BOT"&&(c.current||(_=n.general)!=null&&_.embedded)&&typeof N.content=="string"&&N.content.trim()!==""&&w(N.content),(l.current||!c.current)&&i(L=>L+1),(U=n.event)!=null&&U.rcbPostInjectMessage&&await h(j.POST_INJECT_MESSAGE,{message:N}),a(L=>[...L,N]),k(A.current),M==="USER"&&typeof D=="string"&&(f.current=D),N},[n,h,k,f,A,c,w,i]),S=p.useCallback(async D=>{var M;let F=A.current.find(N=>N.id===D),_=null,U=!1;return F||(_=Wt(),F=_.find(N=>N.id===D),F&&(U=!0)),!F||(M=n.event)!=null&&M.rcbRemoveMessage&&(await h(j.REMOVE_MESSAGE,{message:F})).defaultPrevented?null:U?(_&&Rn(_.filter(N=>N.id!==D)),F):(a(N=>N.filter(L=>L.id!==D)),k(A.current),i(N=>Math.max(N-1,0)),F)},[h,(t=n.event)==null?void 0:t.rcbRemoveMessage,k,A,i,Wt,Rn]),I=p.useCallback(async(D,M="BOT")=>{var F,_;if(M=M.toUpperCase(),!d.current.has(M)){const N=pt(D,M);return(F=n.event)!=null&&F.rcbStartStreamMessage&&(await h(j.START_STREAM_MESSAGE,{message:N})).defaultPrevented?null:(s(!1),a(L=>[...L,N]),k(A.current),d.current.set(M,N.id),(l.current||!c.current)&&i(L=>L+1),N)}const U={...pt(D,M),id:d.current.get(M)};return(_=n.event)!=null&&_.rcbChunkStreamMessage&&(await h(j.CHUNK_STREAM_MESSAGE,{message:U})).defaultPrevented?null:(a(N=>N.map(L=>L.id===U.id?U:L)),k(A.current,!0),U)},[h,n.event,k,A,s,i,d]),Q=p.useCallback(async(D="BOT")=>{var M;if(D=D.toUpperCase(),!d.current.has(D))return!0;const F=d.current.get(D);let _;for(let U=0;U<3;U++){const N=A.current.find(L=>L.id===F);N&&(_=N),await new Promise(L=>setTimeout(L,20))}return((M=n.event)==null||!M.rcbStopStreamMessage||!(await h(j.STOP_STREAM_MESSAGE,{message:_})).defaultPrevented)&&(d.current.delete(D),m(A.current),D==="USER"&&typeof(_==null?void 0:_.content)=="string"&&(f.current=_.content),!0)},[h,(r=n.event)==null?void 0:r.rcbStopStreamMessage,d,f]),B=p.useCallback(D=>{const M=typeof D=="function"?D(A.current):D;a(M),k(M)},[k,A]),O=p.useCallback((D,M,F=0)=>{var _;const U=A.current,N=D?D.toUpperCase():null,L=[];let y=F;for(let W=U.length-1;W>=0;W--){const v=U[W];if(!N||((_=v==null?void 0:v.sender)==null?void 0:_.toUpperCase())===N){if(y>0){y--;continue}if(L.push(v),M!==void 0&&L.length===M)break}}return L.length>0?L:null},[A]);return{simulateStreamMessage:P,injectMessage:C,removeMessage:S,streamMessage:I,endStreamMessage:Q,replaceMessages:B,getMessages:O,messages:o}};let Gn,Ze,hn,ht=!1,$e=null;const Yn=()=>{if(!Gn){const e=window.SpeechRecognition||window.webkitSpeechRecognition;Gn=e!=null?new e:null}return Gn},rs=(e,t,r,n,o,a)=>{var A,s,i;const l=Yn();if(!l)return;if(!ht)try{ht=!0,l.lang=(A=e.voice)==null?void 0:A.language,l.start()}catch{}const c=(s=e.voice)==null?void 0:s.timeoutPeriod,d=(i=e.voice)==null?void 0:i.autoSendPeriod;l.onresult=u=>{var f,g;clearTimeout(Ze),Ze=null,clearTimeout(hn);const b=u.results[u.results.length-1][0].transcript;if(a.current){const h=(f=e.chatInput)==null?void 0:f.characterLimit,w=a.current.value+b;h!=null&&h>=0&&w.length>h?n(w.slice(0,h)):n(w),o(a.current.value.length)}c&&(Ze=setTimeout(async()=>await Kn(t,a),c)),(g=e.voice)!=null&&g.autoSendDisabled||(hn=setTimeout(r,d))},l.onend=()=>{ht?(l.start(),!Ze&&c&&(Ze=setTimeout(async()=>await Kn(t,a),c))):(clearTimeout(Ze),Ze=null,clearTimeout(hn))},c&&(Ze=setTimeout(async()=>await Kn(t,a),c))},os=(e,t)=>{navigator.mediaDevices.getUserMedia({audio:!0}).then(r=>{if($e=new MediaRecorder(r),!ht)try{ht=!0,$e.start()}catch{}$e.ondataavailable=n=>{t.current&&t.current.push(n.data)},$e.onstop=()=>{e(),r.getTracks().forEach(n=>n.stop())}}).catch(r=>{console.error("Unable to use microphone:",r)})},Wn=()=>{const e=Yn();e&&(ht=!1,e&&e.stop(),$e&&$e.state!=="inactive"&&($e.stop(),$e=null),clearTimeout(Ze),Ze=null,clearTimeout(hn))},Kn=async(e,t)=>{var r;(r=t.current)!=null&&r.disabled||await e(),Wn()},Vn=()=>{const{settings:e}=te(),{voiceToggledOn:t,setSyncedVoiceToggledOn:r,syncedVoiceToggledOnRef:n}=Se(),{dispatchRcbEvent:o}=Je(),a=p.useCallback(async s=>{var i;s!==n.current&&((i=e.event)!=null&&i.rcbToggleVoice&&(await o(j.TOGGLE_VOICE,{currState:n.current,newState:!n.current})).defaultPrevented||r(l=>!l))},[n]),A=p.useCallback(s=>{((i,l)=>{var c,d,u;const f=Yn();(c=l.voice)!=null&&c.disabled||(d=l.chatInput)==null||!d.blockSpam||!f||(i&&!ht?(ht=!0,(u=l.voice)!=null&&u.sendAsAudio?$e==null||$e.start():f.start()):i||Wn())})(s,e)},[e]);return{voiceToggledOn:t,toggleVoice:a,syncVoice:A}},kt=()=>{var e;const{settings:t}=te(),{inputLength:r,setInputLength:n,textAreaDisabled:o,setSyncedTextAreaDisabled:a,textAreaSensitiveMode:A,setSyncedTextAreaSensitiveMode:s,syncedTextAreaDisabledRef:i,syncedTextAreaSensitiveModeRef:l}=Se(),{inputRef:c,chatBodyRef:d,prevInputRef:u}=ke(),{dispatchRcbEvent:f}=Je(),{getIsChatBotVisible:g}=Re(),b=p.useCallback(async C=>{var S,I,Q;if(i.current&&c.current)c.current.value="";else if(c.current&&u.current!==null){const B=(S=t.chatInput)==null?void 0:S.characterLimit,O=(I=t.chatInput)!=null&&I.allowNewline?C:C.replace(/\n/g," ");if(B!=null&&B>=0&&O.length>B?c.current.value=O.slice(0,B):c.current.value=O,(Q=t.event)!=null&&Q.rcbTextAreaChangeValue&&(await f(j.TEXT_AREA_CHANGE_VALUE,{currValue:c.current.value,prevValue:u.current})).defaultPrevented)return void(c.current.value=u.current);u.current=c.current.value}},[i,c,u,t,f]),h=p.useCallback(C=>{var S;(S=c.current)!=null&&S.disabled||setTimeout(()=>{var I,Q,B;(I=t.general)!=null&&I.embedded?g()&&((Q=c.current)==null||Q.focus()):C!=="start"&&((B=c.current)==null||B.focus())},100)},[c,(e=t.general)==null?void 0:e.embedded,d,g]),w=p.useCallback(()=>{c.current&&c.current.focus()},[]),x=p.useCallback(()=>{c.current&&c.current.blur()},[]),m=p.useCallback(()=>c&&c.current?c.current.value:"",[]),k=p.useCallback(C=>{C!==i.current&&a(S=>!S)},[i]),P=p.useCallback(C=>{C!==l.current&&s(S=>!S)},[l]);return{textAreaDisabled:o,setSyncedTextAreaDisabled:a,textAreaSensitiveMode:A,setSyncedTextAreaSensitiveMode:s,inputLength:r,setInputLength:n,getTextAreaValue:m,setTextAreaValue:b,updateTextAreaFocus:h,focusTextArea:w,blurTextArea:x,toggleTextAreaDisabled:k,toggleTextAreaSensitiveMode:P}},lo=p.createContext({toasts:[],setSyncedToasts:()=>{},syncedToastsRef:{current:[]}}),co=()=>p.useContext(lo),as=({children:e})=>{const[t,r,n]=ze([]);return E.jsx(lo.Provider,{value:{toasts:t,setSyncedToasts:r,syncedToastsRef:n},children:e})},Bt=()=>{const{settings:e}=te(),{toasts:t,setSyncedToasts:r,syncedToastsRef:n}=co(),{dispatchRcbEvent:o}=Je(),a=p.useCallback(async(i,l)=>{var c,d,u,f;let g=null;if(n.current.length>=(((c=e.toast)==null?void 0:c.maxCount)??3)){if((d=e.toast)!=null&&d.forbidOnMax)return null;g=un();let h={id:g,content:i,timeout:l};if((u=e.event)!=null&&u.rcbShowToast){const w=await o(j.SHOW_TOAST,{toast:h});if(w.defaultPrevented)return null;h=w.data.toast}return r(w=>[...w.slice(1),h]),g}g=un();let b={id:g,content:i,timeout:l};if((f=e.event)!=null&&f.rcbShowToast){const h=await o(j.SHOW_TOAST,{toast:b});if(h.defaultPrevented)return null;b=h.data.toast}return r(h=>[...h,b]),g},[e,o]),A=p.useCallback(async i=>{var l;const c=n.current.find(d=>d.id===i);return!c||(l=e.event)!=null&&l.rcbDismissToast&&(await o(j.DISMISS_TOAST,{toast:c})).defaultPrevented?null:(r(d=>d.filter(u=>u.id!==i)),i)},[o]),s=p.useCallback(i=>{const l=typeof i=="function"?i(n.current):i;r(l)},[n]);return{showToast:a,dismissToast:A,toasts:t,replaceToasts:s}},gn=()=>{var e,t,r,n,o;const{settings:a}=te(),{paths:A,setSyncedPaths:s,syncedPathsRef:i}=Yt(),{flowRef:l,streamMessageMap:c,paramsInputRef:d,keepVoiceOnRef:u,timeoutIdRef:f}=ke(),{setSyncedIsBotTyping:g,setSyncedTextAreaDisabled:b,setSyncedTextAreaSensitiveMode:h,blockAllowsAttachment:w,setBlockAllowsAttachment:x}=Se(),{dispatchRcbEvent:m}=Je(),{endStreamMessage:k,injectMessage:P,removeMessage:C,simulateStreamMessage:S,streamMessage:I}=Et(),{showToast:Q,dismissToast:B}=Bt(),{toggleChatWindow:O}=Re(),{updateTextAreaFocus:D,setTextAreaValue:M}=kt(),{syncVoice:F}=Vn(),_=p.useCallback(async v=>{var V;if((V=a.event)!=null&&V.rcbPostProcessBlock){const q=await m(j.POST_PROCESS_BLOCK,{block:v});if(q.defaultPrevented)return null;v=q.data.block}return v},[(e=a.event)==null?void 0:e.rcbPostProcessBlock,m]),U=p.useCallback(async(v,V)=>{var q,G,X,he;if(!v)return;let se=l.current[v];if(!se)return void g(!1);if((q=a.event)!=null&&q.rcbPreProcessBlock){const Pe=await m(j.PRE_PROCESS_BLOCK,{block:se});if(Pe.defaultPrevented)return;se=Pe.data.block}g(!0),(G=a.chatInput)!=null&&G.blockSpam&&b(!0),h(!1);const Ke={prevPath:V,currPath:v,goToPath:y,setTextAreaValue:M,userInput:d.current,endStreamMessage:k,injectMessage:P,removeMessage:C,simulateStreamMessage:S,streamMessage:I,toggleChatWindow:O,showToast:Q,dismissToast:B};await(async(Pe,R,Y,re,ne,ae,ue)=>{if(!Pe)throw new Error("Block is not valid.");for(const Ae of Object.keys(Pe))switch(Ae){case"message":await Ri(Pe,R,Y);break;case"options":await qi(Pe,R);break;case"checkboxes":await Fi(Pe,R);break;case"component":await Gi(Pe,R);break;case"chatDisabled":await Wi(Pe,R,ne);break;case"isSensitive":await no(Pe,R,ae);break;case"transition":await Yi(Pe,R,re,ue)}})(se,Ke,((X=a.botBubble)==null?void 0:X.simulateStream)??!1,f,b,h,_),g(!1),"chatDisabled"in se||b((he=a.chatInput)==null?void 0:he.disabled),"isSensitive"in se||h(!1),x(typeof se.file=="function"),D(v),F(u.current&&!se.chatDisabled),v!==V&&c.current.clear()},[l,D,F,(t=a.botBubble)==null?void 0:t.simulateStream,(r=a.chatInput)==null?void 0:r.disabled,d,k,P,C,S,I,O,Q,B,u,c]),N=p.useCallback(()=>i.current.length>0?i.current.at(-1)??null:null,[]),L=p.useCallback(()=>i.current.length>1?i.current.at(-2)??null:null,[]),y=p.useCallback(async v=>{var V;const q=N(),G=L();return((V=a.event)==null||!V.rcbChangePath||!(await m(j.CHANGE_PATH,{currPath:q,prevPath:G,nextPath:v})).defaultPrevented)&&(s(X=>[...X,v]),await U(v,q),!0)},[(n=a.chatInput)==null?void 0:n.blockSpam,(o=a.event)==null?void 0:o.rcbChangePath,U,m]),W=p.useCallback(v=>{const V=typeof v=="function"?v(i.current):v;s(V)},[i]);return{getCurrPath:N,getPrevPath:L,goToPath:y,blockAllowsAttachment:w,setBlockAllowsAttachment:x,paths:A,replacePaths:W,firePostProcessBlockEvent:_}},It=()=>{var e,t,r,n;const{settings:o}=te(),{endStreamMessage:a,injectMessage:A,removeMessage:s,simulateStreamMessage:i,streamMessage:l}=Et(),{syncedPathsRef:c}=Yt(),{getCurrPath:d,getPrevPath:u,goToPath:f,firePostProcessBlockEvent:g}=gn(),{setSyncedTextAreaSensitiveMode:b,setSyncedTextAreaDisabled:h,setSyncedIsBotTyping:w,setBlockAllowsAttachment:x,setInputLength:m,syncedVoiceToggledOnRef:k,syncedTextAreaSensitiveModeRef:P}=Se(),{flowRef:C,inputRef:S,keepVoiceOnRef:I,paramsInputRef:Q,timeoutIdRef:B}=ke(),{showToast:O,dismissToast:D}=Bt(),{dispatchRcbEvent:M}=Je(),{syncVoice:F}=Vn(),{setTextAreaValue:_}=kt(),{toggleChatWindow:U}=Re(),N=p.useCallback(async y=>{var W,v,V,q,G,X;const he=d();if(he&&C.current[he]){if(P.current){if((W=o==null?void 0:o.sensitiveInput)!=null&&W.hideInUserBubble)return;if((v=o==null?void 0:o.sensitiveInput)!=null&&v.maskInUserBubble)return void((V=o.userBubble)!=null&&V.simulateStream?await i("*".repeat(((q=o.sensitiveInput)==null?void 0:q.asterisksCount)??10),"USER"):await A("*".repeat(((G=o.sensitiveInput)==null?void 0:G.asterisksCount)??10),"USER"))}(X=o.userBubble)!=null&&X.simulateStream?await i(y,"USER"):await A(y,"USER")}},[C,d,o,A,i,P]),L=p.useCallback(async(y,W=!0)=>{var v,V;if((y=y.trim())==="")return;W&&await N(y),B.current&&clearTimeout(B.current),S.current&&(_(""),m(0));const q=d();if(!q)return;let G=C.current[q];const X=await g(G);X&&((v=o.chatInput)!=null&&v.blockSpam&&h(!0),I.current=k.current,F(!1),setTimeout(()=>{w(!0)},400),b(!1),setTimeout(async()=>{var he;const se={prevPath:u(),currPath:d(),goToPath:f,setTextAreaValue:_,userInput:Q.current,injectMessage:A,simulateStreamMessage:i,streamMessage:l,removeMessage:s,endStreamMessage:a,toggleChatWindow:U,showToast:O,dismissToast:D},Ke=c.current.length;await ro(X,se),c.current.length===Ke&&(h("chatDisabled"in G?!!G.chatDisabled:!((he=o.chatInput)==null||!he.disabled)),no(G,se,b),x(typeof G.file=="function"),F(I.current),w(!1))},(V=o.chatInput)==null?void 0:V.botDelay))},[B,(e=o.chatInput)==null?void 0:e.blockSpam,(t=o.chatInput)==null?void 0:t.botDelay,(r=o.chatInput)==null?void 0:r.disabled,I,k,F,N,u,d,f,A,i,l,s,a,U,O,D,C]);return{handleSubmitText:p.useCallback(async(y,W=!0)=>{var v,V;y=y??((v=S.current)==null?void 0:v.value),!((V=o.event)!=null&&V.rcbUserSubmitText&&(await M(j.USER_SUBMIT_TEXT,{inputText:y,sendInChat:W})).defaultPrevented||!d())&&L(y,W)},[M,d,L,S,(n=o.event)==null?void 0:n.rcbUserSubmitText])}},mn=()=>{var e;const{settings:t}=te();return p.useMemo(()=>{var r;if(typeof window>"u"||!window.navigator)return!1;if((r=t.device)==null||!r.applyMobileOptimizations)return!0;const n=navigator.userAgent,o=!/Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(n),a=window.innerWidth>=768;return o&&a},[(e=t.device)==null?void 0:e.applyMobileOptimizations])},is=({buttons:e})=>{var t,r,n,o,a,A,s,i,l,c,d;const u=mn(),{settings:f}=te(),{styles:g}=le(),{textAreaDisabled:b,textAreaSensitiveMode:h,inputLength:w,hasFlowStarted:x,setHasFlowStarted:m,setInputLength:k}=Se(),{inputRef:P}=ke(),[C,S]=p.useState(!1),[I,Q]=p.useState(!1),{handleSubmitText:B}=It(),{setTextAreaValue:O}=kt(),D={boxSizing:u?"content-box":"border-box",...g.chatInputAreaStyle},M={outline:b?"":"none",boxShadow:b?"":`0 0 5px ${(t=f.general)==null?void 0:t.primaryColor}`,boxSizing:u?"content-box":"border-box",...g.chatInputAreaStyle,...g.chatInputAreaFocusedStyle},F={cursor:`url("${(r=f.general)==null?void 0:r.actionDisabledIcon}"), auto`,caretColor:"transparent",boxSizing:u?"content-box":"border-box",...g.chatInputAreaStyle,...g.chatInputAreaDisabledStyle},_={color:"#989898",...g.characterLimitStyle},U={color:"#ff0000",...g.characterLimitReachedStyle},N=b?(n=f.chatInput)==null?void 0:n.disabledPlaceholderText:(o=f.chatInput)==null?void 0:o.enabledPlaceholderText,L=()=>{b||S(!0)},y=()=>{S(!1)},W=()=>{Q(!0)},v=()=>{Q(!1)},V=async G=>{var X;if(!I&&G.key==="Enter"){if(G.shiftKey)return void((X=f.chatInput)!=null&&X.allowNewline||G.preventDefault());G.preventDefault(),await B()}},q=G=>{P.current&&(O(G.target.value),k(P.current.value.length))};return E.jsxs("div",{"aria-label":((a=f.ariaLabel)==null?void 0:a.inputTextArea)??"input text area",role:"textbox",onMouseDown:G=>{var X;G.stopPropagation(),!x&&((X=f.general)==null?void 0:X.flowStartTrigger)==="ON_CHATBOT_INTERACT"&&m(!0)},style:{...g.chatInputContainerStyle},className:"rcb-chat-input",children:[h&&(A=f.sensitiveInput)!=null&&A.maskInTextArea?E.jsx("input",{ref:P,type:"password",className:"rcb-chat-input-textarea",style:b?F:C?M:D,placeholder:N,onChange:q,onKeyDown:V,onFocus:L,onBlur:y,onCompositionStart:W,onCompositionEnd:v}):E.jsx("textarea",{ref:P,style:b?F:C?M:D,rows:1,className:"rcb-chat-input-textarea",placeholder:N,onChange:q,onKeyDown:V,onFocus:L,onBlur:y,onCompositionStart:W,onCompositionEnd:v}),E.jsxs(E.Fragment,{children:[e==null?void 0:e.map((G,X)=>E.jsx(p.Fragment,{children:G},X)),((s=f.chatInput)==null?void 0:s.showCharacterCount)&&((i=f.chatInput)==null?void 0:i.characterLimit)!=null&&((l=f.chatInput)==null?void 0:l.characterLimit)>0&&E.jsxs("div",{className:"rcb-chat-input-char-counter",style:w>=((c=f.chatInput)==null?void 0:c.characterLimit)?U:_,children:[w,"/",(d=f.chatInput)==null?void 0:d.characterLimit]})]})]})},ss=({buttons:e})=>{var t;const{settings:r}=te(),{styles:n}=le();return E.jsxs("div",{"data-testid":"chatbot-footer-container",style:{...n.footerStyle},className:"rcb-chat-footer-container",children:[E.jsx("div",{className:"rcb-chat-footer",children:e==null?void 0:e.map((o,a)=>E.jsx(p.Fragment,{children:o},a))}),E.jsx("span",{children:(t=r.footer)==null?void 0:t.text})]})},As=()=>{var e,t,r,n,o,a,A;const{settings:s}=te(),{styles:i}=le(),{unreadCount:l}=Se(),{isChatWindowOpen:c,toggleChatWindow:d}=Re(),[u,f]=p.useState(!1),g={backgroundImage:`linear-gradient(to right, ${(e=s.general)==null?void 0:e.secondaryColor},
|
|
3
|
-
${(t=s.general)==null?void 0:t.primaryColor})`,...i.chatButtonStyle},b={transform:"scale(1.05)",...g,...i.chatButtonHoveredStyle},h={backgroundImage:`url(${(r=s.chatButton)==null?void 0:r.icon})`,fill:"#fff",width:75,height:75,...i.chatIconStyle};return E.jsx(E.Fragment,{children:!((n=s.general)!=null&&n.embedded)&&E.jsxs("div",{"aria-label":((o=s.ariaLabel)==null?void 0:o.chatButton)??"open chat",role:"button",style:u?b:g,className:"rcb-toggle-button "+(c?"rcb-button-hide":"rcb-button-show"),onMouseEnter:()=>{f(!0)},onMouseLeave:()=>{f(!1)},onClick:()=>d(!0),children:[(()=>{var w;const x=(w=s.chatButton)==null?void 0:w.icon;return x&&typeof x!="string"?x&&E.jsx("span",{className:"rcb-toggle-icon",children:E.jsx(x,{style:h})}):E.jsx("span",{className:"rcb-toggle-icon",style:h})})(),!((a=s.notification)!=null&&a.disabled)&&((A=s.notification)==null?void 0:A.showCount)&&E.jsx("span",{style:{...i.notificationBadgeStyle},className:"rcb-badge",children:l})]})})},ls=()=>{var e,t,r,n,o,a;const A=mn(),{settings:s}=te(),{styles:i}=le(),{chatBodyRef:l}=ke(),{isChatWindowOpen:c,toggleChatWindow:d}=Re(),[u,f]=p.useState(!1),[g,b]=p.useState(!1),[h,w]=p.useState(0);p.useEffect(()=>{var k,P,C;const S=(k=s.tooltip)==null?void 0:k.mode;if(S==="ALWAYS")if(A){let I;I=c?(((P=l.current)==null?void 0:P.offsetWidth)??375)-(typeof((C=i.chatButtonStyle)==null?void 0:C.width)=="number"?i.chatButtonStyle.width:75):0,w(I),f(!0)}else f(!c);else S==="NEVER"?f(!1):S==="START"?g?f(!1):(b(!0),f(!0)):S==="CLOSE"&&f(!c)},[c,A,g,(e=i.chatButtonStyle)==null?void 0:e.width,(t=s.tooltip)==null?void 0:t.mode]);const x={transform:`translateX(-${h}px)`,right:(((r=i.chatButtonStyle)==null?void 0:r.width)??75)+40,bottom:30,backgroundColor:(n=s.general)==null?void 0:n.secondaryColor,color:"#fff",...i.tooltipStyle},m={borderColor:`transparent transparent transparent ${x.backgroundColor}`};return E.jsx(E.Fragment,{children:!((o=s.general)!=null&&o.embedded)&&E.jsxs("div",{"data-testid":"chat-tooltip",style:x,className:"rcb-chat-tooltip "+(u?"rcb-tooltip-show":"rcb-tooltip-hide"),onClick:()=>d(!0),children:[E.jsx("span",{children:(a=s.tooltip)==null?void 0:a.text}),E.jsx("span",{className:"rcb-chat-tooltip-tail",style:m})]})})},cs=({id:e,content:t,timeout:r})=>{var n,o;const{settings:a}=te(),{styles:A}=le(),[s]=p.useState({toastPromptStyle:{...A.toastPromptStyle},toastPromptHoveredStyle:{...A.toastPromptHoveredStyle}}),{dismissToast:i}=Bt(),[l,c]=p.useState(!1),d={color:(n=a.general)==null?void 0:n.primaryColor,borderColor:(o=a.general)==null?void 0:o.primaryColor,...s.toastPromptHoveredStyle};return p.useEffect(()=>{if(r){const u=setTimeout(()=>{i(e)},r);return()=>clearTimeout(u)}},[e,i,r]),typeof t=="string"?E.jsx("div",{onMouseEnter:()=>{c(!0)},onMouseLeave:()=>{c(!1)},style:l?d:s.toastPromptStyle,onMouseDown:async u=>{var f;(f=a.toast)!=null&&f.dismissOnClick&&(u.preventDefault(),await i(e))},className:"rcb-toast-prompt",children:t}):E.jsx(E.Fragment,{children:t})},us=()=>{var e,t,r,n,o,a,A,s,i,l,c,d;const{styles:u}=le(),{toasts:f}=co(),g={bottom:`calc(${typeof((e=u.footerStyle)==null?void 0:e.height)=="number"?`${(t=u.footerStyle)==null?void 0:t.height}px`:((r=u.footerStyle)==null?void 0:r.height)??"50px"} + ${typeof((n=u.chatInputContainerStyle)==null?void 0:n.height)=="number"?`${(o=u.chatInputContainerStyle)==null?void 0:o.height}px`:((a=u.chatInputContainerStyle)==null?void 0:a.height)??"70px"} + 20px)`,width:300,minWidth:`calc(${typeof((A=u.chatWindowStyle)==null?void 0:A.width)=="number"?`${(s=u.chatWindowStyle)==null?void 0:s.width}px`:((i=u.chatWindowStyle)==null?void 0:i.width)??"375px"} / 2)`,maxWidth:`calc(${typeof((l=u.chatWindowStyle)==null?void 0:l.width)=="number"?`${(c=u.chatWindowStyle)==null?void 0:c.width}px`:((d=u.chatWindowStyle)==null?void 0:d.width)??"375px"} - 50px)`,...u.toastPromptContainerStyle};return E.jsx("div",{className:"rcb-toast-prompt-container",style:g,children:f.map(b=>E.jsx(cs,{id:b.id,content:b.content,timeout:b.timeout},b.id))})},uo=({file:e,fileType:t,fileUrl:r})=>{var n,o,a;const{settings:A}=te(),{styles:s}=le(),i={backgroundColor:(n=A.general)==null?void 0:n.primaryColor,maxWidth:(o=A.userBubble)!=null&&o.showAvatar?"65%":"70%",...s.mediaDisplayContainerStyle};return E.jsx(E.Fragment,{children:r?E.jsxs(E.Fragment,{children:[t==="image"&&r&&E.jsx("div",{style:i,className:"rcb-media-display-image-container rcb-media-entry","data-testid":"media-display-image-container",children:E.jsx("img",{src:r,alt:"Image Display",className:"rcb-media-display-image"})}),t==="video"&&r&&E.jsx("div",{style:i,className:"rcb-media-display-video-container rcb-media-entry","data-testid":"media-display-video-container",children:E.jsxs("video",{controls:!0,className:"rcb-media-display-video",children:[E.jsx("source",{src:r,type:e.type}),"Your browser does not support the video tag."]})}),t==="audio"&&r&&E.jsxs("audio",{"data-testid":"media-display-audio-container",style:{maxWidth:(a=A.userBubble)!=null&&a.showAvatar?"65%":"70%"},controls:!0,className:"rcb-media-display-audio rcb-media-entry",children:[E.jsx("source",{src:r,type:e.type}),"Your browser does not support the audio tag."]})]}):E.jsx(E.Fragment,{})})},po=async e=>{if(!e)return{fileType:null,fileUrl:null};const t=e.type.split("/")[0];if(!["image","video","audio"].includes(t))return{fileType:null,fileUrl:null};try{return{fileType:t,fileUrl:await new Promise((r,n)=>{const o=new FileReader;o.onload=()=>r(o.result),o.onerror=()=>n(new Error("File reading failed")),o.readAsDataURL(e)})}}catch(r){return console.error(r),{fileType:null,fileUrl:null}}},ds=()=>{var e,t,r,n,o,a;const{settings:A}=te(),{styles:s}=le(),{injectMessage:i,simulateStreamMessage:l,streamMessage:c,removeMessage:d,endStreamMessage:u}=Et(),{getCurrPath:f,getPrevPath:g,goToPath:b,blockAllowsAttachment:h}=gn(),{flowRef:w,inputRef:x}=ke(),m=w.current,{showToast:k,dismissToast:P}=Bt(),{dispatchRcbEvent:C}=Je(),{toggleChatWindow:S}=Re(),{setTextAreaValue:I}=kt(),{handleSubmitText:Q}=It(),B={cursor:`url("${(e=A.general)==null?void 0:e.actionDisabledIcon}"), auto`,...s.fileAttachmentButtonStyle,...s.fileAttachmentButtonDisabledStyle},O={backgroundImage:`url(${(t=A.fileAttachment)==null?void 0:t.icon})`,fill:"#a6a6a6",...s.fileAttachmentIconStyle},D={backgroundImage:`url(${(r=A.fileAttachment)==null?void 0:r.icon})`,fill:"#a6a6a6",...s.fileAttachmentIconStyle,...s.fileAttachmentIconDisabledStyle};return E.jsxs("label",{"aria-label":((n=A.ariaLabel)==null?void 0:n.fileAttachmentButton)??"upload file",role:"button",className:h?"rcb-attach-button-enabled":"rcb-attach-button-disabled",style:h?{...s.fileAttachmentButtonStyle}:B,children:[E.jsx("input",{className:"rcb-attach-input",role:"file",type:"file",onChange:async M=>{var F,_,U,N;const L=M.target.files;if(!L)return;const y=Array.from(L);if(M.target.value="",(F=A.event)!=null&&F.rcbUserUploadFile&&(await C(j.USER_UPLOAD_FILE,{files:y})).defaultPrevented)return;const W=f();if(!W)return;const v=m[W];if(!v)return;const V=v.file;if(V!=null){const q=[];for(let G=0;G<y.length;G++){if(q.push(y[G].name),(_=A.fileAttachment)==null||!_.showMediaDisplay)continue;const X=await po(y[G]);!X.fileType||!X.fileUrl||await i(E.jsx(uo,{file:y[G],fileType:X.fileType,fileUrl:X.fileUrl}),"USER")}await Q("📄 "+q.join(", "),(U=A.fileAttachment)==null?void 0:U.sendFileName),await V({userInput:(N=x.current)==null?void 0:N.value,prevPath:g(),currPath:f(),goToPath:b,setTextAreaValue:I,injectMessage:i,simulateStreamMessage:l,streamMessage:c,removeMessage:d,endStreamMessage:u,toggleChatWindow:S,showToast:k,dismissToast:P,files:y})}},multiple:(o=A.fileAttachment)==null?void 0:o.multiple,accept:(a=A.fileAttachment)==null?void 0:a.accept,disabled:!h}),(()=>{var M,F;const _=h?(M=A.fileAttachment)==null?void 0:M.icon:(F=A.fileAttachment)==null?void 0:F.iconDisabled;return _&&typeof _!="string"?_&&E.jsx("span",{className:h?"rcb-attach-icon-enabled":"rcb-attach-icon-disabled",children:E.jsx(_,{style:h?O:D})}):E.jsx("span",{className:h?"rcb-attach-icon-enabled":"rcb-attach-icon-disabled",style:h?O:D})})()]})},ps=()=>{var e,t,r,n,o,a;const{settings:A}=te(),{styles:s}=le(),{syncedTextAreaDisabledRef:i}=Se(),{inputRef:l}=ke(),{textAreaDisabled:c,setTextAreaValue:d}=kt(),u=p.useRef(null),f=p.useRef(null),[g,b]=p.useState(!1),h={cursor:`url("${(e=A.general)==null?void 0:e.actionDisabledIcon}"), auto`,...s.emojiButtonStyle,...s.emojiButtonDisabledStyle},w={backgroundImage:`url(${(t=A.emoji)==null?void 0:t.icon})`,fill:"#a6a6a6",...s.emojiIconStyle},x={backgroundImage:`url(${(r=A.emoji)==null?void 0:r.icon})`,fill:"#a6a6a6",...s.emojiIconStyle,...s.emojiIconDisabledStyle};return p.useEffect(()=>{const m=P=>{const C=P.composedPath();u.current&&!C.includes(u.current)&&f.current&&!C.includes(f.current)&&b(!1)},k=()=>{(()=>{if(u.current&&f.current){const P=f.current.getBoundingClientRect(),C=u.current.offsetHeight,S=P.top-C-8;u.current.style.left=`${P.left}px`,u.current.style.top=`${S}px`}})()};return document.addEventListener("mousedown",m),window.addEventListener("resize",k),()=>{document.removeEventListener("mousedown",m),window.removeEventListener("resize",k)}},[]),E.jsxs(E.Fragment,{children:[E.jsx("div",{"aria-label":((n=A.ariaLabel)==null?void 0:n.emojiButton)??"emoji picker",role:"button",ref:f,className:c?"rcb-emoji-button-disabled":"rcb-emoji-button-enabled",style:c?h:{...s.emojiButtonStyle},onMouseDown:m=>{m.preventDefault(),i.current?b(!1):b(k=>!k)},children:(()=>{var m,k;const P=c?(m=A.emoji)==null?void 0:m.iconDisabled:(k=A.emoji)==null?void 0:k.icon;return P&&typeof P!="string"?P&&E.jsx("span",{className:c?"rcb-emoji-icon-disabled":"rcb-emoji-icon-enabled",children:E.jsx(P,{style:c?x:w})}):E.jsx("span",{className:c?"rcb-emoji-icon-disabled":"rcb-emoji-icon-enabled",style:c?x:w})})()}),g&&E.jsx("div",{className:"rcb-emoji-button-popup",ref:u,children:(a=(o=A.emoji)==null?void 0:o.list)==null?void 0:a.map((m,k)=>E.jsx("span",{className:"rcb-emoji",onMouseDown:P=>((C,S)=>{C.preventDefault(),l.current&&(d(l.current.value+S),setTimeout(()=>{const I=l.current;if(I){I.focus();const Q=I.value.length;I.setSelectionRange(Q,Q)}},50)),b(!1)})(P,m),children:m},k))})]})},fs=()=>{var e,t,r;const{settings:n}=te(),{styles:o}=le(),{audioToggledOn:a,toggleAudio:A}=Ao(),s={backgroundImage:`url(${(e=n.audio)==null?void 0:e.icon})`,fill:"#fcec3d",...o.audioIconStyle},i={backgroundImage:`url(${(t=n.audio)==null?void 0:t.iconDisabled})`,fill:"#e8eaed",...o.audioIconStyle,...o.audioIconDisabledStyle};return E.jsx("div",{"aria-label":((r=n.ariaLabel)==null?void 0:r.audioButton)??"toggle audio",role:"button",onMouseDown:async l=>{l.preventDefault(),await A()},style:a?{...o.audioButtonStyle}:{...o.audioButtonStyle,...o.audioButtonDisabledStyle},children:(()=>{var l,c;const d=a?(l=n.audio)==null?void 0:l.icon:(c=n.audio)==null?void 0:c.iconDisabled;return d&&typeof d!="string"?d&&E.jsx("span",{className:"rcb-audio-icon","data-testid":"rcb-audio-icon",children:E.jsx(d,{style:a?s:i,"data-testid":"rcb-audio-icon-svg"})}):E.jsx("span",{className:"rcb-audio-icon","data-testid":"rcb-audio-icon",style:a?s:i})})()})},hs=()=>{var e,t;const{settings:r}=te(),{styles:n}=le(),{toggleChatWindow:o}=Re(),a={backgroundImage:`url(${(e=r.header)==null?void 0:e.closeChatIcon})`,fill:"#e8eaed",stroke:"#e8eaed",...n.closeChatIconStyle};return E.jsx("div",{"aria-label":((t=r.ariaLabel)==null?void 0:t.closeChatButton)??"close chat",role:"button",onMouseDown:A=>{A.stopPropagation(),o(!1)},style:{...n.closeChatButtonStyle},children:(()=>{var A;const s=(A=r.header)==null?void 0:A.closeChatIcon;return s&&typeof s!="string"?s&&E.jsx("span",{className:"rcb-close-chat-icon","data-testid":"rcb-close-chat-icon",children:E.jsx(s,{style:a})}):E.jsx("span",{className:"rcb-close-chat-icon","data-testid":"rcb-close-chat-icon",style:a})})()})},gs=()=>{var e,t,r;const{settings:n}=te(),{styles:o}=le(),{notificationsToggledOn:a,toggleNotifications:A}=(()=>{const{notificationsToggledOn:l,toggleNotifications:c,playNotificationSound:d}=qn();return{notificationsToggledOn:l,toggleNotifications:c,playNotificationSound:d}})(),s={backgroundImage:`url(${(e=n.notification)==null?void 0:e.icon})`,fill:"#fcec3d",...o.notificationIconStyle},i={backgroundImage:`url(${(t=n.notification)==null?void 0:t.iconDisabled})`,fill:"#e8eaed",...o.notificationIconStyle,...o.notificationIconDisabledStyle};return E.jsx("div",{"aria-label":((r=n.ariaLabel)==null?void 0:r.notificationButton)??"toggle notifications",role:"button",onMouseDown:async l=>{l.preventDefault(),await A()},style:a?{...o.notificationButtonStyle}:{...o.notificationButtonStyle,...o.notificationButtonDisabledStyle},children:(()=>{var l,c;const d=a?(l=n.notification)==null?void 0:l.icon:(c=n.notification)==null?void 0:c.iconDisabled;return d&&typeof d!="string"?d&&E.jsx("span",{className:"rcb-notification-icon","data-testid":"rcb-notification-icon",children:E.jsx(d,{style:a?s:i,"data-testid":"rcb-notification-icon-svg"})}):E.jsx("span",{className:"rcb-notification-icon","data-testid":"rcb-notification-icon",style:a?s:i})})()})},ms=()=>{var e,t,r;const{settings:n}=te(),{styles:o}=le(),{injectMessage:a}=Et(),{inputRef:A}=ke(),{voiceToggledOn:s,toggleVoice:i}=Vn(),{setInputLength:l,setTextAreaValue:c,textAreaDisabled:d}=kt(),{handleSubmitText:u}=It(),f=p.useRef([]),[g,b]=p.useState(!1);p.useEffect(()=>{var k;(k=n.voice)!=null&&k.sendAsAudio?(m(),f.current=[]):u()},[g]),p.useEffect(()=>{s?((k,P,C,S,I,Q,B)=>{var O;(O=k.voice)!=null&&O.sendAsAudio?os(C,Q):rs(k,P,C,S,I,B)})(n,i,x,c,l,f,A):Wn()},[s]);const h={backgroundImage:`url(${(e=n.voice)==null?void 0:e.icon})`,fill:"#9aa0a6",...o.voiceIconStyle},w={backgroundImage:`url(${(t=n.voice)==null?void 0:t.iconDisabled})`,fill:"#9aa0a6",...o.voiceIconStyle,...o.voiceIconDisabledStyle},x=()=>{b(k=>!k)},m=async()=>{const k=new Blob(f.current,{type:"audio/wav"}),P=new File([k],"voice-input.wav",{type:"audio/wav"}),C=await po(P);!C.fileType||!C.fileUrl||await a(E.jsx(uo,{file:P,fileType:C.fileType,fileUrl:C.fileUrl}),"USER")};return E.jsx("div",{"aria-label":((r=n.ariaLabel)==null?void 0:r.voiceButton)??"toggle voice",role:"button",onMouseDown:async k=>{k.preventDefault(),!d&&await i()},style:s&&!d?{...o.voiceButtonStyle}:{...o.voiceButtonStyle,...o.voiceButtonDisabledStyle},className:s&&!d?"rcb-voice-button-enabled":"rcb-voice-button-disabled",children:(()=>{var k,P;const C=s?(k=n.voice)==null?void 0:k.icon:(P=n.voice)==null?void 0:P.iconDisabled;return C&&typeof C!="string"?C&&E.jsx("span",{className:"rcb-voice-icon "+(s&&!d?"on":""),children:E.jsx(C,{style:s&&!d?h:w})}):E.jsx("span",{className:"rcb-voice-icon"+(s&&!d?"-on":""),"data-testid":"rcb-voice-icon",style:s&&!d?h:w})})()})},ys=()=>{var e,t,r,n,o,a,A,s;const{settings:i}=te(),{styles:l}=le(),{textAreaDisabled:c}=Se(),[d,u]=p.useState(!1),{handleSubmitText:f}=It(),g={backgroundColor:(e=i.general)==null?void 0:e.primaryColor,...l.sendButtonStyle},b={cursor:`url("${(t=i.general)==null?void 0:t.actionDisabledIcon}"), auto`,backgroundColor:(r=i.general)==null?void 0:r.primaryColor,...l.sendButtonStyle,...l.sendButtonDisabledStyle},h={backgroundColor:(n=i.general)==null?void 0:n.secondaryColor,...l.sendButtonStyle,...l.sendButtonHoveredStyle},w={backgroundImage:`url(${(o=i.chatInput)==null?void 0:o.sendButtonIcon})`,fill:"#fff",...l.sendIconStyle},x={backgroundImage:`url(${(a=i.chatInput)==null?void 0:a.sendButtonIcon})`,fill:"#fff",...l.sendIconStyle,...l.sendIconDisabledStyle},m={backgroundImage:`url(${(A=i.chatInput)==null?void 0:A.sendButtonIcon})`,fill:"#fff",...l.sendIconStyle,...l.sendIconHoveredStyle};return E.jsx("div",{"aria-label":((s=i.ariaLabel)==null?void 0:s.sendButton)??"send message",role:"button",onMouseEnter:()=>{u(!0)},onMouseLeave:()=>{u(!1)},onMouseDown:async k=>{k==null||k.preventDefault(),!c&&await f()},style:c?b:d?h:g,className:"rcb-send-button",children:(()=>{var k;const P=(k=i.chatInput)==null?void 0:k.sendButtonIcon;return P&&typeof P!="string"?P&&E.jsx("span",{className:"rcb-send-icon","data-testid":"rcb-send-icon",children:E.jsx(P,{style:c?x:d?m:w})}):E.jsx("span",{className:"rcb-send-icon","data-testid":"rcb-send-icon",style:c?x:d?m:w})})()})},bs=(e,t)=>{var r,n,o,a,A,s,i,l,c;const d={[ye.AUDIO_BUTTON]:(r=e.audio)==null?void 0:r.disabled,[ye.CLOSE_CHAT_BUTTON]:(n=e.general)==null?void 0:n.embedded,[ye.EMOJI_PICKER_BUTTON]:(o=e.emoji)==null?void 0:o.disabled,[ye.FILE_ATTACHMENT_BUTTON]:(a=e.fileAttachment)==null?void 0:a.disabled,[ye.NOTIFICATION_BUTTON]:(A=e.notification)==null?void 0:A.disabled,[ye.SEND_MESSAGE_BUTTON]:!1,[ye.VOICE_MESSAGE_BUTTON]:(s=e.voice)==null?void 0:s.disabled},u={},f=g=>g?g.map(b=>{if(typeof b=="string"){if((h=>Object.values(ye).includes(h))(b)&&!d[b]){if(u[b])return u[b];const h=t[b];if(typeof h=="function"){const w=h();return u[b]=w,w}return null}return null}return b}).filter(b=>b!==null):[];return{header:f((i=e.header)==null?void 0:i.buttons),chatInput:f((l=e.chatInput)==null?void 0:l.buttons),footer:f((c=e.footer)==null?void 0:c.buttons)}},vs=()=>{const{settings:e}=te(),t=p.useMemo(()=>({[ye.CLOSE_CHAT_BUTTON]:()=>E.jsx(hs,{}),[ye.AUDIO_BUTTON]:()=>E.jsx(fs,{}),[ye.NOTIFICATION_BUTTON]:()=>E.jsx(gs,{}),[ye.EMOJI_PICKER_BUTTON]:()=>E.jsx(ps,{}),[ye.FILE_ATTACHMENT_BUTTON]:()=>E.jsx(ds,{}),[ye.SEND_MESSAGE_BUTTON]:()=>E.jsx(ys,{}),[ye.VOICE_MESSAGE_BUTTON]:()=>E.jsx(ms,{})}),[]),{header:r,chatInput:n,footer:o}=p.useMemo(()=>bs(e,t),[e,t]);return{headerButtons:p.useMemo(()=>r,[r]),chatInputButtons:p.useMemo(()=>n,[n]),footerButtons:p.useMemo(()=>o,[o])}},Xn=()=>{const{settings:e}=te(),{styles:t}=le(),{setSyncedMessages:r,syncedMessagesRef:n}=zn(),{isLoadingChatHistory:o,setIsLoadingChatHistory:a,hasChatHistoryLoaded:A,setHasChatHistoryLoaded:s}=Se(),{chatBodyRef:i}=ke(),{dispatchRcbEvent:l}=Je(),c=p.useCallback(async()=>{var d,u;const f=Wt();if(!f||(d=e.event)!=null&&d.rcbLoadChatHistory&&(await l(j.LOAD_CHAT_HISTORY,{})).defaultPrevented)return;a(!0);const g=((u=i.current)==null?void 0:u.scrollHeight)??0;((b,h,w,x,m,k,P,C,S)=>{var I;if(oo=!0,w!=null)try{const Q=pt(E.jsx(Vi,{}),"SYSTEM"),B=m.current.slice(1);x([Q,...B]);const O=w.map(D=>{if(D.type==="object"){const M=so(D.content,b,h);return{...D,content:M}}return D});setTimeout(()=>{var D;const M=m.current.slice(1);let F=(D=b.chatHistory)!=null&&D.autoLoad?pt(E.jsx(E.Fragment,{}),"SYSTEM"):pt(E.jsx(Ki,{}),"SYSTEM");x([...O,F,...M]),S(!0)},500),setTimeout(()=>{if(!k.current)return;const{scrollHeight:D}=k.current,M=D-P;k.current.scrollTop+=M,C(!1)},510)}catch{ft.removeItem((I=b.chatHistory)==null?void 0:I.storageKey)}})(e,t,f,r,n,i,g,a,s)},[e,t,l,n,i,a,s]);return{isLoadingChatHistory:o,setIsLoadingChatHistory:a,hasChatHistoryLoaded:A,showChatHistory:c}},ws=()=>{var e,t,r;const{settings:n}=te(),{styles:o}=le(),{showChatHistory:a}=Xn(),[A,s]=p.useState(!1),i={color:(e=n.general)==null?void 0:e.primaryColor,borderColor:(t=n.general)==null?void 0:t.primaryColor,...o.chatHistoryButtonStyle,...o.chatHistoryButtonHoveredStyle};return E.jsx("div",{className:"rcb-view-history-container",children:E.jsx("div",{onMouseEnter:()=>{s(!0)},onMouseLeave:()=>{s(!1)},style:A?i:{...o.chatHistoryButtonStyle},onMouseDown:l=>{l.preventDefault(),a()},className:"rcb-view-history-button",role:"button",tabIndex:0,children:E.jsx("p",{children:(r=n.chatHistory)==null?void 0:r.viewChatHistoryButtonText})})})},xs=()=>{var e,t,r,n;const o=mn(),{settings:a}=te(),{replaceMessages:A}=Et(),{isBotTyping:s,isChatWindowOpen:i,setUnreadCount:l,setSyncedIsChatWindowOpen:c,setSyncedTextAreaDisabled:d,setSyncedAudioToggledOn:u,setSyncedVoiceToggledOn:f,setSyncedIsScrolling:g,syncedIsScrollingRef:b,syncedIsChatWindowOpenRef:h}=Se(),{chatBodyRef:w}=ke(),{viewportHeight:x,setViewportHeight:m,setViewportWidth:k,scrollToBottom:P}=Re(),{setUpNotifications:C}=qn(),{handleFirstInteraction:S}=(()=>{var O;const{settings:D}=te(),{hasInteractedPage:M,setHasInteractedPage:F,hasFlowStarted:_,setHasFlowStarted:U}=Se(),N=p.useCallback(()=>{var L;if(F(!0),!_&&((L=D.general)==null?void 0:L.flowStartTrigger)==="ON_PAGE_INTERACT"&&U(!0),!window.SpeechSynthesisUtterance)return void console.info("Speech Synthesis API is not supported in this environment.");const y=new window.SpeechSynthesisUtterance;y.text="",y.onend=()=>{window.removeEventListener("click",N),window.removeEventListener("keydown",N),window.removeEventListener("touchstart",N)},window.speechSynthesis.speak(y)},[_,(O=D.general)==null?void 0:O.flowStartTrigger]);return{hasInteractedPage:M,handleFirstInteraction:N}})(),{showChatHistory:I}=Xn(),Q=p.useRef(0),B=p.useRef(!1);p.useEffect(()=>(window.addEventListener("click",S),window.addEventListener("keydown",S),window.addEventListener("touchstart",S),()=>{window.removeEventListener("click",S),window.removeEventListener("keydown",S),window.removeEventListener("touchstart",S)}),[]),p.useEffect(()=>{const O=w.current;if(!O)return;const D=()=>{B.current||(B.current=!0,requestAnimationFrame(()=>{var M,F;if(!O)return;const{scrollTop:_,clientHeight:U,scrollHeight:N}=O,L=_+U<N-(((M=a.chatWindow)==null?void 0:M.messagePromptOffset)??30);g(L),b.current=L,L||(_+U>=N-1&&(O.scrollTop=N-U-1),(h.current||(F=a.general)!=null&&F.embedded)&&l(0)),B.current=!1}))};return O.addEventListener("wheel",D,{passive:!0}),O.addEventListener("touchmove",D,{passive:!0}),()=>{O.removeEventListener("wheel",D),O.removeEventListener("touchmove",D)}},[]),p.useEffect(()=>{var O,D,M;d((O=a.chatInput)==null?void 0:O.disabled),c((D=a.chatWindow)==null?void 0:D.defaultOpen),u((M=a.audio)==null?void 0:M.defaultToggledOn),setTimeout(()=>{var F;f((F=a.voice)==null?void 0:F.defaultToggledOn)},1)},[]),p.useEffect(()=>{var O;(O=a.notification)!=null&&O.disabled||C()},[(e=a.notification)==null?void 0:e.disabled]),p.useEffect(()=>{!b.current&&w!=null&&w.current&&P()},[s]),p.useEffect(()=>{var O,D;if((O=a.chatHistory)!=null&&O.disabled)ft&&ft.removeItem(dn);else if(jn(a),Wt().length>0){const M=pt(E.jsx(ws,{}),"SYSTEM");A([M]),(D=a.chatHistory)!=null&&D.autoLoad&&I()}},[(t=a.chatHistory)==null?void 0:t.storageKey,(r=a.chatHistory)==null?void 0:r.maxEntries,(n=a.chatHistory)==null?void 0:n.disabled]),p.useEffect(()=>{var O;o||(O=a.general)!=null&&O.embedded||!navigator.virtualKeyboard||(navigator.virtualKeyboard.overlaysContent=!0,navigator.virtualKeyboard.addEventListener("geometrychange",D=>{if(!D.target)return;const{x:M,y:F,width:_,height:U}=D.target.boundingRect;M==0&&F==0&&_==0&&U==0?(setTimeout(()=>{var N;m((N=window.visualViewport)==null?void 0:N.height)},101),setTimeout(()=>{var N,L;x!=((N=window.visualViewport)==null?void 0:N.height)&&m((L=window.visualViewport)==null?void 0:L.height)},1001)):setTimeout(()=>{var N;m(((N=window.visualViewport)==null?void 0:N.height)-U)},101)}))},[o]),p.useEffect(()=>{var O,D,M,F;if(o)return;i&&(m((O=window.visualViewport)==null?void 0:O.height),k((D=window.visualViewport)==null?void 0:D.width));const _=()=>window.scrollTo({top:0,left:0,behavior:"auto"}),U=()=>Q.current=window.scrollY,N=()=>{var y,W;m((y=window.visualViewport)==null?void 0:y.height),k((W=window.visualViewport)==null?void 0:W.width)},L=()=>{var y;window.removeEventListener("scroll",_),window.removeEventListener("scroll",U),(y=window.visualViewport)==null||y.removeEventListener("resize",N)};return i?(L(),document.body.style.position="fixed",window.addEventListener("scroll",_),(M=window.visualViewport)==null||M.addEventListener("resize",N)):(document.body.style.position="static",L(),window.scrollTo({top:Q.current,left:0,behavior:"auto"}),window.addEventListener("scroll",U),(F=window.visualViewport)==null||F.removeEventListener("resize",N)),L},[i,o])},Es="https://cdn.jsdelivr.net/gh/react-chatbotify/community-themes/themes",ks="2592000",fo="RCB_THEME_CACHE_DATA",ho=async(e,t)=>{const{id:r,version:n,baseUrl:o=Es,cacheDuration:a=ks}=t,A=n||await(async(w,x)=>{const m=`${x}/${w}/meta.json`;try{const k=await fetch(m);return k.ok?(await k.json()).version:(console.error(`Failed to fetch meta.json from ${m}`),null)}catch(k){return console.error(`Failed to fetch meta.json from ${m}`,k),null}})(r,o);if(!A)return console.error(`Unable to find version for theme: ${r}`),{settings:{},inlineStyles:{},cssStylesText:""};const s=((w,x,m)=>{const k=localStorage.getItem(`${fo}_${w}_${x}`);if(!k)return null;try{const P=JSON.parse(k),C=new Date().getTime(),S=Math.floor(C/1e3);return P.cacheDate+m>=S?P:null}catch(P){return console.error(`Unable to fetch cache for ${w}`,P),null}})(r,A,a);if(s){const w=go(e,s.cssStylesText);return{settings:s.settings,inlineStyles:s.inlineStyles,cssStylesText:w}}const i=`${o}/${r}/${A}/styles.css`,l=`${o}/${r}/${A}/settings.json`,c=`${o}/${r}/${A}/styles.json`;let d="";const u=await fetch(i);u.ok?d=await u.text():console.info(`Could not fetch styles.css from ${i}`);const f=await fetch(l);let g={};f.ok?g=await f.json():console.info(`Could not fetch settings.json from ${l}`);const b=await fetch(c);let h={};return b.ok?h=await b.json():console.info(`Could not fetch styles.json from ${c}`),((w,x,m,k,P)=>{const C=new Date().getTime(),S={settings:m,inlineStyles:k,cssStylesText:P,cacheDate:Math.floor(C/1e3)};localStorage.setItem(`${fo}_${w}_${x}`,JSON.stringify(S))})(r,A,g,h,d),{settings:g,inlineStyles:h,cssStylesText:go(e,d)}},go=(e,t)=>t.split(new RegExp("(?<=})")).map(r=>{const n=r.trim();return n.startsWith("@import")||n.startsWith("@keyframes")||n.startsWith("@media")?n:n?`#${e} ${n}`:""}).join(`
|
|
4
|
-
`),
|
|
1
|
+
(function(Fe,P){typeof exports=="object"&&typeof module<"u"?P(exports,require("react/jsx-runtime"),require("react"),require("react-dom/client"),require("react-dom/server"),require("react-dom")):typeof define=="function"&&define.amd?define(["exports","react/jsx-runtime","react","react-dom/client","react-dom/server","react-dom"],P):(Fe=typeof globalThis<"u"?globalThis:Fe||self,P(Fe.AccessQABot={},Fe.jsxRuntime,Fe.React,Fe.ReactDOMClient,Fe.ReactDOMServer,Fe.ReactDOM))})(this,function(Fe,P,f,nu,hi,mi){"use strict";function yi(e){const t=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(e){for(const r in e)if(r!=="default"){const n=Object.getOwnPropertyDescriptor(e,r);Object.defineProperty(t,r,n.get?n:{enumerable:!0,get:()=>e[r]})}}return t.default=e,Object.freeze(t)}const ve=yi(f);function dn(){return dn=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var n in r)({}).hasOwnProperty.call(r,n)&&(e[n]=r[n])}return e},dn.apply(null,arguments)}function Gr(e,t){var r={};for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&t.indexOf(n)<0&&(r[n]=e[n]);if(e!=null&&typeof Object.getOwnPropertySymbols=="function"){var o=0;for(n=Object.getOwnPropertySymbols(e);o<n.length;o++)t.indexOf(n[o])<0&&Object.prototype.propertyIsEnumerable.call(e,n[o])&&(r[n[o]]=e[n[o]])}return r}typeof SuppressedError=="function"&&SuppressedError;const we={AUDIO_BUTTON:"audio-button",NOTIFICATION_BUTTON:"notification-button",CLOSE_CHAT_BUTTON:"close-chat-button",SEND_MESSAGE_BUTTON:"send-button",VOICE_MESSAGE_BUTTON:"voice-button",FILE_ATTACHMENT_BUTTON:"file-attachment-button",EMOJI_PICKER_BUTTON:"emoji-button"},Wr="data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20xml:space='preserve'%20viewBox='0%200%201000%201000'%3e%3crect%20width='100%25'%20height='100%25'%20fill='%23fff'/%3e%3cg%3e%3crect%20width='45'%20height='30'%20x='-22.5'%20y='-15'%20rx='1.5'%20ry='1.5'%20style='stroke:none;stroke-width:1;stroke-dasharray:none;stroke-linecap:butt;stroke-dashoffset:0;stroke-linejoin:miter;stroke-miterlimit:4;is-custom-font:none;font-file-url:none;fill:%2337547a;fill-rule:nonzero;opacity:1'%20transform='rotate(90%20-99%20362)%20scale(3.4003)'/%3e%3cpath%20d='M0%2075q14%200%2014%2017%200%2016-14%2016Z'%20style='stroke:none;stroke-width:1;stroke-dasharray:none;stroke-linecap:butt;stroke-dashoffset:0;stroke-linejoin:miter;stroke-miterlimit:4;is-custom-font:none;font-file-url:none;fill:%2398b0ca;fill-rule:nonzero;opacity:1'%20transform='rotate(180%20106%20386)%20scale(3.4003)'/%3e%3crect%20width='25'%20height='4'%20x='-12.5'%20y='-2'%20rx='.2'%20ry='.2'%20style='stroke:%2346648c;stroke-width:1;stroke-dasharray:none;stroke-linecap:butt;stroke-dashoffset:0;stroke-linejoin:miter;stroke-miterlimit:4;is-custom-font:none;font-file-url:none;fill:%2346648c;fill-rule:nonzero;opacity:1'%20transform='rotate(90%20-46%20282)%20scale(3.4003)'/%3e%3cpath%20d='M19%2065h4l5%204v1H14v-1Z'%20style='stroke:none;stroke-width:1;stroke-dasharray:none;stroke-linecap:butt;stroke-dashoffset:0;stroke-linejoin:miter;stroke-miterlimit:4;is-custom-font:none;font-file-url:none;fill:%2346648c;fill-rule:nonzero;opacity:1'%20transform='translate(165%20150)%20scale(3.4003)'/%3e%3crect%20width='25'%20height='2'%20x='-12.5'%20y='-1'%20rx='.1'%20ry='.1'%20style='stroke:%2398b0ca;stroke-width:1;stroke-dasharray:none;stroke-linecap:butt;stroke-dashoffset:0;stroke-linejoin:miter;stroke-miterlimit:4;is-custom-font:none;font-file-url:none;fill:%2398b0ca;fill-rule:nonzero;opacity:1'%20transform='rotate(90%20-3%20240)%20scale(3.4003)'/%3e%3ccircle%20r='7.5'%20style='stroke:none;stroke-width:1;stroke-dasharray:none;stroke-linecap:butt;stroke-dashoffset:0;stroke-linejoin:miter;stroke-miterlimit:4;is-custom-font:none;font-file-url:none;fill:%23a478fc;fill-rule:nonzero;opacity:1'%20transform='translate(236%20175)%20scale(3.4003)'/%3e%3crect%20width='45'%20height='30'%20x='-22.5'%20y='-15'%20rx='1.5'%20ry='1.5'%20style='stroke:none;stroke-width:1;stroke-dasharray:none;stroke-linecap:butt;stroke-dashoffset:0;stroke-linejoin:miter;stroke-miterlimit:4;is-custom-font:none;font-file-url:none;fill:%2337547a;fill-rule:nonzero;opacity:1'%20transform='rotate(90%20139%20600)%20scale(3.4003)'/%3e%3cpath%20d='M184%2075q14%200%2014%2017%200%2016-14%2016Z'%20style='stroke:none;stroke-width:1;stroke-dasharray:none;stroke-linecap:butt;stroke-dashoffset:0;stroke-linejoin:miter;stroke-miterlimit:4;is-custom-font:none;font-file-url:none;fill:%2398b0ca;fill-rule:nonzero;opacity:1'%20transform='translate(165%20150)%20scale(3.4003)'/%3e%3crect%20width='25'%20height='4'%20x='-12.5'%20y='-2'%20rx='.2'%20ry='.2'%20style='stroke:%2346648c;stroke-width:1;stroke-dasharray:none;stroke-linecap:butt;stroke-dashoffset:0;stroke-linejoin:miter;stroke-miterlimit:4;is-custom-font:none;font-file-url:none;fill:%2346648c;fill-rule:nonzero;opacity:1'%20transform='rotate(90%20219%20548)%20scale(3.4003)'/%3e%3cpath%20d='M175%2065h4l5%204v1h-14v-1Z'%20style='stroke:none;stroke-width:1;stroke-dasharray:none;stroke-linecap:butt;stroke-dashoffset:0;stroke-linejoin:miter;stroke-miterlimit:4;is-custom-font:none;font-file-url:none;fill:%2346648c;fill-rule:nonzero;opacity:1'%20transform='translate(165%20150)%20scale(3.4003)'/%3e%3crect%20width='25'%20height='2'%20x='-12.5'%20y='-1'%20rx='.1'%20ry='.1'%20style='stroke:%2398b0ca;stroke-width:1;stroke-dasharray:none;stroke-linecap:butt;stroke-dashoffset:0;stroke-linejoin:miter;stroke-miterlimit:4;is-custom-font:none;font-file-url:none;fill:%2398b0ca;fill-rule:nonzero;opacity:1'%20transform='rotate(90%20262%20505)%20scale(3.4003)'/%3e%3ccircle%20r='7.5'%20style='stroke:none;stroke-width:1;stroke-dasharray:none;stroke-linecap:butt;stroke-dashoffset:0;stroke-linejoin:miter;stroke-miterlimit:4;is-custom-font:none;font-file-url:none;fill:%23a478fc;fill-rule:nonzero;opacity:1'%20transform='translate(767%20175)%20scale(3.4003)'/%3e%3crect%20width='116.7'%20height='70'%20x='-58.4'%20y='-35'%20rx='31.5'%20ry='31.5'%20style='stroke:none;stroke-width:1;stroke-dasharray:none;stroke-linecap:butt;stroke-dashoffset:0;stroke-linejoin:miter;stroke-miterlimit:4;is-custom-font:none;font-file-url:none;fill:%2371c9fc;fill-rule:nonzero;opacity:1'%20transform='translate(502%20877)%20scale(3.4003)'/%3e%3crect%20width='60'%20height='20'%20x='-30'%20y='-10'%20rx='3'%20ry='3'%20style='stroke:none;stroke-width:1;stroke-dasharray:none;stroke-linecap:butt;stroke-dashoffset:0;stroke-linejoin:miter;stroke-miterlimit:4;is-custom-font:none;font-file-url:none;fill:%2337547a;fill-rule:nonzero;opacity:1'%20transform='translate(502%20728)%20scale(3.4003)'/%3e%3ccircle%20r='75'%20style='stroke:none;stroke-width:1;stroke-dasharray:none;stroke-linecap:butt;stroke-dashoffset:0;stroke-linejoin:miter;stroke-miterlimit:4;is-custom-font:none;font-file-url:none;fill:%2371c9fc;fill-rule:nonzero;opacity:1'%20transform='translate(502%20473)%20scale(3.4003)'/%3e%3crect%20width='129.4'%20height='82.3'%20x='-64.7'%20y='-41.1'%20rx='37'%20ry='37'%20style='stroke:none;stroke-width:1;stroke-dasharray:none;stroke-linecap:butt;stroke-dashoffset:0;stroke-linejoin:miter;stroke-miterlimit:4;is-custom-font:none;font-file-url:none;fill:%23fff;fill-rule:nonzero;opacity:1'%20transform='translate(502%20464)%20scale(3.4003)'/%3e%3crect%20width='108'%20height='68.6'%20x='-54'%20y='-34.3'%20rx='30.9'%20ry='30.9'%20style='stroke:none;stroke-width:1;stroke-dasharray:none;stroke-linecap:butt;stroke-dashoffset:0;stroke-linejoin:miter;stroke-miterlimit:4;is-custom-font:none;font-file-url:none;fill:%23162334;fill-rule:nonzero;opacity:1'%20transform='translate(502%20464)%20scale(3.4003)'/%3e%3ccircle%20r='19.4'%20style='stroke:none;stroke-width:1;stroke-dasharray:none;stroke-linecap:butt;stroke-dashoffset:0;stroke-linejoin:miter;stroke-miterlimit:4;is-custom-font:none;font-file-url:none;fill:%23a478fc;fill-rule:nonzero;opacity:1'%20transform='translate(415%20464)%20scale(3.4003)'/%3e%3ccircle%20r='19.4'%20style='stroke:none;stroke-width:1;stroke-dasharray:none;stroke-linecap:butt;stroke-dashoffset:0;stroke-linejoin:miter;stroke-miterlimit:4;is-custom-font:none;font-file-url:none;fill:%23a478fc;fill-rule:nonzero;opacity:1'%20transform='translate(591%20464)%20scale(3.4003)'/%3e%3crect%20width='96'%20height='53.2'%20x='-48'%20y='-26.6'%20rx='23.9'%20ry='23.9'%20style='stroke:%23162334;stroke-width:1;stroke-dasharray:none;stroke-linecap:butt;stroke-dashoffset:0;stroke-linejoin:miter;stroke-miterlimit:4;is-custom-font:none;font-file-url:none;fill:%23162334;fill-rule:nonzero;opacity:1'%20transform='translate(503%20875)%20scale(3.4003)'/%3e%3cpath%20stroke-linecap='round'%20d='m68%20215%207-15M81%20222l-7-22M81%20222l7-14M101%20208H87M114%20219l-7-24M113%20219l13-22M131%20214l-5-17M148%20214h-18M69%20214H51M100%20209l7-15'%20style='stroke:%23a478fc;stroke-width:3;stroke-dasharray:none;stroke-linecap:butt;stroke-dashoffset:0;stroke-linejoin:miter;stroke-miterlimit:10;is-custom-font:none;font-file-url:none;fill:none;fill-rule:nonzero;opacity:1'%20transform='translate(165%20150)%20scale(3.4003)'/%3e%3c/g%3e%3c/svg%3e",Yr=f.forwardRef((e,t)=>ve.createElement("svg",{viewBox:"0 0 637 637",ref:t,...e},ve.createElement("path",{d:"m478 113-13 2-4 1h4l14-2c10-2 35-2 42-1l6 3 3 1c3 0-4-3-8-5-7-1-34-1-44 1m56 6 8 6c7 5 20 17 20 19s7 12 8 12l-3-6-4-6c0-3-15-17-25-24-5-3-8-4-4-1m-198 16-9 1a512 512 0 0 1 9-1m-180 30a412 412 0 0 0-23 4 167 167 0 0 0-32 8 439 439 0 0 1 46-9 304 304 0 0 1 11-2l6-1h-8m369 8 4 3-7-6c-1 0 0 2 3 3m-439 9c-7 3-18 13-18 15l6-5c5-5 9-8 14-10l6-4-8 4m442 12-10 11-7 6 7-6c7-5 14-14 13-16l-3 5M65 205l-1 11c0 9 0 10 4 17 5 10 7 12 22 11 10 0 15 0 38-5l5-1-6 1-16 2-21 2c-13 1-16-1-21-10-3-5-4-6-4-15l1-12c1-4 1-5-1-1m335 1c3 0 3 1 3 3l-2 6c-2 5-35 39-76 80-53 51-120 117-138 137-21 24-22 25-22 27 0 3 6 9 9 9 4 0 14-8 38-27a5073 5073 0 0 1 15-16 1421 1421 0 0 0-17 15l-31 25-6 2-4-3c-3-3-3-4-2-6 3-8 79-85 160-163 57-57 79-80 79-86 0-2-3-4-7-4-2 0-2 0 1 1m165 18c-9 17-25 32-57 53l-10 8 16-11 12-8c15-10 27-22 39-39 5-7 6-8 4-8l-4 5m-221 2a199 199 0 0 0-19 10 183 183 0 0 1 27-12c0-1-1-1-8 2m-34 16c-3 3-2 3 2 0l1-2-3 2m151 3-1 2 2-2c3-3 2-3-1 0m-16 12-11 10a281 281 0 0 0 11-10m-24 18-7 5-7 5-42 31c-10 7-24 19-22 19l7-6 16-12a343 343 0 0 0 35-25 573 573 0 0 0 20-17m-187 0-2 2 4-2 3-2-5 2m-14 6-3 2 4-1 4-3-5 2m-7 3-8 4-18 8 18-7 7-3 3-1c1-2 0-2-2-1m254 24a2672 2672 0 0 1-71 54 601 601 0 0 0 39-29 1352 1352 0 0 1 32-25m-291-8-2 2 4-2 3-2-5 2m-13 5-2 2h3c5-3 4-4-1-2m-19 9-7 3-13 6c-10 5-13 7-14 10-3 4-2 5 1 0 2-3 5-5 14-9l13-6 12-6-6 2m178 36c-17 12-21 16-21 17a390 390 0 0 1 20-17m-206 34 1 4 1 3 1 5 2 8 1 5v-6l-1-8-2-5-1-4-1-2c-1-2-1-2-1 0m222 23-9 7a683 683 0 0 0-56 44 261 261 0 0 0-26 20 1345 1345 0 0 0-46 34c-6 3-7 3-19 3-11 0-12 0-18-3-8-4-10-8-17-20l-5-10 4 10c5 10 12 18 19 22 4 2 6 2 17 2 13 0 14 0 21-3l26-19 42-33a2183 2183 0 0 0 43-34 643 643 0 0 1 24-20",fill:"#fff",fillRule:"evenodd"}),ve.createElement("path",{d:"M478 114a620 620 0 0 1-39 6l-21 3a5481 5481 0 0 0-19 3 870 870 0 0 1-54 8l-1 1-6 1-12 2-13 2a992 992 0 0 0-76 12 400 400 0 0 1-45 8l-6 1-5 1h-3l-3 1-2 1-26 4-13 2-17 3c-23 5-33 9-43 19-7 8-9 13-9 27 0 8 1 9 4 14 5 9 8 11 21 10l21-2a1133 1133 0 0 1 23-4 659 659 0 0 0 74-14l3-1h3l3-1h3l2-1 2-1h3l2-1h2l24-5 38-7a2100 2100 0 0 1 93-18l3-1 10-1a2082 2082 0 0 1 120-17l2 1c2 0 8 5 8 7l1 2 1 6c0 4 0 6-3 10-2 4-16 16-18 16l-7 5-10 8a1070 1070 0 0 0-11 7 113 113 0 0 1-20 14l-2 2-3 2-2 2h-1a154 154 0 0 1-28 21l-5 4-5 4a573 573 0 0 1-50 37 175 175 0 0 0-24 18l-1 2-2 1-2 1-2 1-1 1-12 10a396 396 0 0 0-32 25l-8 6-6 5-9 7a326 326 0 0 1-25 20l-13 12a5073 5073 0 0 0-17 15c-24 20-34 27-39 27-2 0-8-6-8-9 0-2 1-3 22-27 18-20 85-86 138-137 41-41 74-75 76-80l2-6c0-2 0-3-2-3l-7 1a233 233 0 0 1-26 9l-1 1-1 1h-1l-1 1h-2l-3 2-1 1h-2l-3 2h-1l-5 2-22 10-9 4-4 2-5 2-10 4-2 1-2 1-2 1-13 6a334 334 0 0 1-38 17 75 75 0 0 0-14 6l-5 2-4 1-2 1-3 2-7 3-16 6a247 247 0 0 0-32 14l-1 1h-2l-1 1h-2l-1 1-12 6a103 103 0 0 0-27 15l-2 5-1 1v11l1 5 1 5 1 4c0 3 0 4 2 4v3l1 3 1 2 2 10 1 4 1 5 2 10 2 8 1 4 1 4c3 3 9 25 11 38l1 7v2l1 4v1l1 1v2l1 2 1 3v1l5 10c7 13 9 16 17 20 6 3 7 3 18 3 12 0 13 0 19-3 8-4 11-6 26-18a1345 1345 0 0 1 85-67 683 683 0 0 1 50-39l12-9a513 513 0 0 1 44-33 201 201 0 0 0 22-17 2270 2270 0 0 0 73-54 158 158 0 0 0 58-59c2 0 3-9 4-27l-1-19-1-4-1-6-1-3-4-6-4-6c0-2-6-8-13-14a77 77 0 0 0-28-18c-6-1-34-1-43 1"}))),Kr=f.forwardRef((e,t)=>ve.createElement("svg",{viewBox:"0 -960 960 960",ref:t,...e},ve.createElement("path",{d:"M765-321q0 117-84 196-83 80-200 80-118 0-200-80t-83-196v-392q0-85 61-144 61-58 146-58 86 0 147 58 61 59 61 144v374q0 54-39 92-39 37-93 37-55 0-93-37-38-38-38-92v-372h110v372q0 9 6 14t15 5q8 0 15-5t7-14v-374q0-39-29-66t-68-27q-40 0-69 27t-29 66v392q0 71 51 119t122 48q71 0 122-48t51-119v-426h111v426Z"}))),vi=f.forwardRef((e,t)=>ve.createElement("svg",{viewBox:"0 -960 960 960",ref:t,...e},ve.createElement("path",{d:"M125-165v-113h77v-273q0-93 55-167 56-75 146-100v-19q0-32 22-55 23-23 55-23t55 23q22 23 22 55v19q90 25 146 99 56 73 56 168v273h77v113H125ZM480-32q-38 0-66-27-27-27-27-66h186q0 39-27 66t-66 27Z"}))),wi=f.forwardRef((e,t)=>ve.createElement("svg",{viewBox:"0 -960 960 960",ref:t,...e},ve.createElement("path",{d:"M137-190v-113h78v-253q0-41 11-79 11-39 35-71l-9 150h10L17-802l74-74L873-92l-74 74-175-172H137Zm609-149L319-769q20-15 41-25t44-16v-28q0-32 22-54t54-22q32 0 55 22t22 54v28q85 23 137 94t52 160v217ZM481-47q-38 0-65-27t-27-65h184q0 38-27 65t-65 27Z"}))),bi=f.forwardRef((e,t)=>ve.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 100 100",ref:t,...e},ve.createElement("g",{strokeLinecap:"round",strokeWidth:10},ve.createElement("path",{d:"m19 19 61 61M80 19 19 80"})))),Ei=f.forwardRef((e,t)=>ve.createElement("svg",{viewBox:"0 -960 960 960",ref:t,...e},ve.createElement("path",{d:"M94-136v-255l351-93-351-92v-253l816 346L94-136Z"}))),Ci=f.forwardRef((e,t)=>ve.createElement("svg",{viewBox:"0 -960 960 960",ref:t,...e},ve.createElement("path",{d:"M480-372q-61 0-105-43-43-43-43-105v-240q0-61 43-105 43-43 105-43 61 0 105 43 43 44 43 105v240q0 62-43 105t-105 43ZM425-76v-122q-121-16-197-108t-76-214h109q0 91 64 154t155 63q91 0 155-63t64-154h109q0 122-77 214T534-198v122H425Z"}))),Pi=f.forwardRef((e,t)=>ve.createElement("svg",{viewBox:"0 -960 960 960",ref:t,...e},ve.createElement("path",{d:"m763-343-80-79q8-20 13-44 5-23 5-54h109q0 49-11 95t-36 82ZM625-482 336-770v-2q3-56 45-96t101-40q62 0 105 43t43 105v249l-1 17q-1 7-4 12ZM427-76v-122q-120-16-196-108-77-92-77-214h109q0 91 64 154t155 63q43 0 80-14 37-15 67-41l78 79q-35 32-78 53t-93 28v122H427Zm362 27L41-796l75-75 748 748-75 74Z"}))),Vr=f.forwardRef((e,t)=>ve.createElement("svg",{viewBox:"0 -960 960 960",ref:t,...e},ve.createElement("path",{d:"M625-511q29 0 50-21t20-50q0-29-20-50-21-20-50-20t-50 20-20 50q0 29 20 50 21 21 50 21Zm-290 0q29 0 50-21t20-49q0-30-20-50t-50-21q-29 0-50 20-20 21-20 50 0 30 20 50 21 21 50 21Zm145 268q75 0 137-43t85-115H258q24 72 85 115 62 43 137 43Zm0 198q-90 0-170-34-79-34-138-93T79-310q-34-80-34-170t34-170q34-79 93-138t138-93q80-34 170-34t170 34q79 34 138 93t93 138q34 80 34 170t-34 170q-34 79-93 138T650-79q-80 34-170 34Zm0-435Zm0 322q134 0 228-94t94-228q0-134-94-228t-228-94q-134 0-228 94t-94 228q0 134 94 228t228 94Z"}))),Si=f.forwardRef((e,t)=>ve.createElement("svg",{viewBox:"0 -960 960 960",ref:t,...e},ve.createElement("path",{d:"M553-64v-108q107-27 173-113 67-87 67-197 0-109-67-195T553-789v-108q152 26 249 144 97 117 97 271 0 155-97 273T553-64ZM61-335v-290h176l236-237v764L237-335H61Zm492 28v-346q51 23 82 70t31 103-31 103q-31 47-82 70Z"}))),ki=f.forwardRef((e,t)=>ve.createElement("svg",{viewBox:"0 -960 960 960",ref:t,...e},ve.createElement("path",{d:"M807-15 700-123q-33 21-71 37-38 15-80 22v-108q20-4 38-12l35-17-153-154v257L234-335H57v-290h144L10-818l74-75L882-90l-75 75Zm37-264-80-79q13-30 19-60 7-31 7-64 0-109-68-195-67-86-173-112v-108q152 26 249 144 98 117 98 271 0 55-14 107-13 51-38 96ZM661-462 549-575v-78q51 23 83 70 31 47 31 103l-1 9-1 9ZM469-655 366-759l103-103v207Z"}))),Xr={general:{primaryColor:"#42b0c5",secondaryColor:"#491d8d",fontFamily:"-apple-system, BlinkMacSystemFont, 'Segoe UI', 'Roboto', 'Oxygen', 'Ubuntu', 'Cantarell', 'Fira Sans', 'Droid Sans', 'Helvetica Neue', sans-serif",showHeader:!0,showFooter:!0,showInputRow:!0,actionDisabledIcon:"data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20width='32'%20height='32'%20viewBox='0%200%2042%2042'%3e%3cpath%20style='fill:none;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke:%23b00000;stroke-opacity:1;stroke-miterlimit:4'%20d='M17%209a8%208%200%200%201-8%208%208%208%200%200%201-8-8%208%208%200%200%201%208-8%208%208%200%200%201%208%208Zm0%200'%20transform='rotate(.086)%20scale(1.77778)'/%3e%3cpath%20style='fill:none;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke:%23b00000;stroke-opacity:1;stroke-miterlimit:10'%20d='M14.66%2014.66%203.34%203.34'%20transform='rotate(.086)%20scale(1.77778)'/%3e%3c/svg%3e",embedded:!1,flowStartTrigger:"ON_LOAD"},tooltip:{mode:"CLOSE",text:"Talk to me! 😊"},chatButton:{icon:Yr},header:{title:P.jsx("div",{style:{cursor:"pointer",margin:0,fontSize:20,fontWeight:"bold"},onClick:()=>window.open("https://github.com/tjtanjin/","_blank","noopener,noreferrer"),children:"Tan Jin"}),showAvatar:!0,avatar:Wr,buttons:[we.NOTIFICATION_BUTTON,we.AUDIO_BUTTON,we.CLOSE_CHAT_BUTTON],closeChatIcon:bi},notification:{disabled:!1,defaultToggledOn:!0,volume:.2,icon:vi,iconDisabled:wi,sound:"data:audio/wav;base64,UklGRmaIAABXQVZFZm10IBAAAAABAAIAQB8AAAB9AAAEABAATElTVBoAAABJTkZPSVNGVA4AAABMYXZmNjAuMTYuMTAwAGRhdGEgiAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/////AAAAAAAA//////7/////////AAABAAAAAgABAAEAAQAAAAIAAQABAP//AAD+////AAD+//7////+////AAD//wAA/v8AAAAA/v8AAP//AAAAAAAAAgD////////+////AAABAAEAAgD/////AQABAAAA//8CAP//AAAAAAAA/v8AAAAA//8AAAEA//8EAAAAAAAAAAAA//8BAP//AQABAAEA/////wEA/v///wAAAAACAAAAAAABAAAA//8AAP//AAACAP//////////AAAAAAEAAAAAAAEA//8AAAEAAQADAAIAAgAAAAAA/v///wEAAAAAAAEAAAAAAAEA//8AAAEAAQD//wAA//8AAAEAAAABAAEAAAABAP//AAD//wAAAgAAAP//AQD/////AAAAAP7/AgAAAAIAAAAAAAAAAAABAAAAAQABAP//AAABAP///v8AAP////8AAP//AAD//wAA//8BAP//AAD///7///8BAP7///8AAAIAAgABAAEA/v8AAP//AQADAAEAAAACAAEA/////////v///wEA/v////7/AAD+////AAAAAAAAAgAAAAAAAAD//wEAAAAAAAAAAQABAAIA/v8AAAAA//8AAAEAAAAAAP//AgD//wEA/////wAAAQACAAAAAAAAAP//AQD/////AQAAAAEA/v8AAAEAAQABAAEA///+////AQD//wEAAgD+//7/AAAAAAAAAQAAAAAAAQAAAAAAAAAAAP//AAD//wEAAQD//wAAAQABAP7///8AAP7/AAABAP7/AQABAAEAAAABAAEAAAD+/wIAAAABAAAAAQD/////AQACAP////8AAP//AQD//wEA/v8CAAEAAAAAAAAAAQAAAAIAAQAAAAEAAgD//wEAAAAAAP7///8BAP//AgAAAP///v8CAAAAAgD///////////7/AAACAAEAAgD//wAAAAABAP//AwAAAAMA//8AAAAAAQD+/wAAAAD//wAAAQD//wEA//8BAP7/AAABAAAA//8BAAAA//8AAP//AQADAP3////+////AgD+/////v8BAAEAAQACAAAAAAAAAAAA//8AAP//AAD+/wEA/v8AAP7/AAD//wAAAQACAAAAAQAAAP//AQAAAAAAAAABAAAAAAD+//////8AAAAAAAD//wAAAAABAAEA//8AAAEA//8AAP//AgD+/wAA///+/wAA/v///wAAAQABAAAAAQD//wAA//8AAAEA//8BAAAAAgABAP//AAACAAIAAQABAP//AAAAAAAA//8BAAIAAAABAAAA//8CAAEA/v//////AAAAAAEA////////AQAAAP//AAD//wAAAAAAAP3/AAAAAAEAAAACAAAAAAAAAP//AAD//wAAAAAAAAAAAAAAAP///v///wAAAAABAAAAAAD//wEAAAABAAEAAQD//wAAAAACAAAAAQD+/wAA//8BAAEAAAD+/wAA/////wAAAAABAAAAAAD//////v8AAAAA//8AAAAAAAAAAAIAAAABAAEAAAABAP7/AAD9//////////7///8BAP//AAD///3/AQABAP//AAD//wAAAAABAAAA//8AAP//AAD/////AQABAAEA//8AAAAA//8BAAMA//8AAAAA//8AAP7/AAD//wAAAAAAAP7/AQAAAAAA/v8CAP//AAABAAIAAQABAAAA//8BAAEAAQD///7/AQD//wAAAQABAP//AAD//wEAAAAAAAAAAQAAAAIA//8AAP////8AAP//AQD//////v///wEA/v8AAAIAAgACAAEAAAAAAAEAAAAAAAAAAAAAAAAAAQD//wAA/////wAAAQACAP////8AAAAAAAD//wAAAQD+/wEA//8AAAEAAwD//wEAAQAAAAAAAAABAP////8AAAAAAQAAAAAAAAAAAAEAAQAAAP////////7/AQABAAEAAQD///////8BAAAA//8AAAAAAgABAAEA/v8BAP7///8BAP3/AQABAAIAAAD//wEAAAAAAP//AAABAAIA//8CAAAAAQAAAAEA//8BAAAA/////wAAAAD//wEAAQD//wAAAAAAAP//AAAAAAAAAQABAAAAAQAAAP//AQD//////v8AAAEAAAAAAAAA//8AAAAAAAACAAEAAQAAAP//AAABAAEA/////wAAAgABAAAAAAAAAAEAAAABAP//AQABAP7////+/wEAAAAAAP//AAABAAAAAAABAAEAAAAAAAAA//8BAP///f/+/wEAAQD///7///8AAAAAAQAAAP////8AAAAAAAABAAAAAQD/////AAD//wEA//8AAAIA//8CAAAA//8AAAAAAAD+/wEAAAD+/wAA/////wAA////////AAAAAAAA//8BAAAAAAD//wAAAAD//wEA//8AAP//AQD+/wAAAAAAAP7/AAD+/wEAAQABAP//AAABAAEAAQD//wAA/////wEA//8AAAAAAgAAAAAA//8BAAAAAgAAAAAAAAAAAP7/AQD//wAAAAD+/wAAAAADAAIA/////wAAAQD//wIA//8BAAEA/v8AAAIAAAAAAP3///8AAAAAAAAAAAAAAAABAP///////wAA//8AAAEAAQABAAEAAQABAAAAAQAAAAAAAQABAP7/AQD//wAAAQABAAEA//8BAAAAAgAAAAEAAAABAP//AAD/////AAD//wIA/////wIAAAD///7/AAAAAAAAAAACAP//AAABAP////8AAAAAAAABAAAAAgAAAAAAAQD+/wEA/////wAA/////wAAAAAAAAAA/v//////AAAAAP//AAABAAAAAQAAAAIAAAACAAAA//8AAAAA//8AAP7/AAAAAP//AAACAP//AQABAP//AQABAAAA/////////v8AAP//AQAAAAAA///+/wAAAQD+/wEAAQAAAAEA/////wAAAQD//wAA//8AAAAA/v8BAAEA//8AAP7//v8BAAAAAAAAAAEA//8AAAEA/////wAAAAD//////////wEAAAABAAEA//8CAAEA/f8AAAAA//8BAAAABAABAAEAAQAAAAAAAAAAAP7///8AAAAA/v8BAAAA//8AAAIA//8AAP////8BAP//AAAAAAAAAAD/////AQD///7/////////AQD8////AgABAAIA////////AAD//wAAAAABAAAAAAAAAAEAAgAAAP//AQD//wAAAAAAAP/////+/wAAAAABAAAAAwABAP///////wEAAAADAP//AQACAAAA//8CAAEAAAAAAP///////wIAAAAAAAAAAQAAAAAAAgD//wEAAAABAAAA/v8AAAAAAAAAAAAAAAAAAAEA/v8AAP//AQD//wAA//////7///8AAAAAAAAAAP7/AQD//wAA//8AAAEAAAABAAEAAQD/////AAD//wEAAAD/////AQAAAAEAAAD//wEAAAD/////AgD//wAAAQD//////////wAAAAD//wAAAAABAAAAAAD//wAAAQD///7/AQD//wEAAAD/////AAD//wEA//8AAAEA//8CAAAAAQD//wEAAgAAAAEAAwAAAAAA/v8BAAEAAgD//wEAAAAAAAAAAAD//wEA//8AAAAAAQACAP///////wAAAQABAAEAAAAAAAEAAQD+/wEA/f////////8AAAAA//8AAAEA//8BAAAA/v///wEAAAAAAAEA/////wAAAAAAAP//AAAAAAIAAAABAAAA/////wAAAAD//wAA/v8AAAMAAQD+/wEAAAABAAEA//8BAP//AgAAAAAAAAD//wAA/////wEA/v8CAP3/AAACAP3/AQABAAAAAQACAAEA/v8AAAAA//8BAAAAAgAAAAAAAgACAAEA/v/9/wAAAQABAP7///8AAP//AgD+/////v8CAP////8BAP//AQACAAEAAQABAP//AAD///7/AAABAAEAAgD//wEA//8CAAEAAQABAAEAAAABAAAA/v8AAAEA/v8AAP//AAABAP//AQAAAAEAAgAAAAAA/v///wEAAQAAAAIAAAD/////AgAAAAEA/v8AAP7/AQAAAAAAAQAAAAEAAAACAAEA//8BAP////8AAAIAAAAAAP//AAAAAAIAAAAAAAAAAwABAP///v8BAAAAAAAAAP3/AAABAAEA/v////////////3//v8AAAAAAQABAAIAAAD+/////v8AAAAAAQABAAEAAQAAAP//AAAAAP//AQAAAP//AAABAAAAAAAAAAAA////////AAAAAP//AQD/////AAABAAEA//8CAP7///8AAP7//v8BAAEAAAD+/////////wEAAAAAAAAAAgD//wAAAQAAAP7/AQABAP//AQAAAAAAAAD/////AAACAP////8BAAAAAAD//wAA//8AAAEAAQABAAAAAAABAAAAAQD+/wEA/v8AAAEAAQD/////AAD//wAAAQABAP7//v//////AAACAAAAAAAAAAAAAAACAAAAAQAAAAAA//8BAP//AQD//wAA///+/wIAAQD//wAAAAD//wAA/v8AAP3///8AAAAAAAAAAAAA/f8AAAAA//8CAP7/AAD///7/AAAAAAAAAAD//wEAAAAAAAEAAAAAAAAA//8BAP////8BAP7///8CAAEA//8BAP3///////////8BAAAAAAAAAAEAAgD+//////8BAAMAAQADAAEAAAACAAAAAQD/////AAABAAMAAQAAAP//AQD//wAA//8AAAAA//8CAP7//////wAAAAAAAAIA/v8AAP//AAACAP//AwD//wAA//8AAP//AwD//wEAAQABAAEAAQACAAEAAAD//wAA//8AAAIAAAAAAP///////wAAAQD//wIA//8BAP7/AAD///////8AAAAAAAAAAAEAAAD//wAAAQD//wEA//8BAAAAAAD/////AgABAAIAAAABAAAAAAAAAP//AAAAAAAA//8AAAAAAAD/////AQAAAAAAAQD//wAA///+////AAAAAAEAAgABAAEAAAAAAP//AQAAAAAAAQD+/wAAAAABAAEAAAD/////AQABAP7///8AAAIAAAACAAAA//8AAP//AgACAAAA///+/wAAAAABAAAAAQAAAAEA/v8BAAEA//8CAP//AQD+/////v8AAAAAAAACAP//AAD+/wIA/v8BAAAAAAD/////AAAAAP7///8AAP7//////wEAAAABAAAAAAD//wAAAAAAAAAAAgACAAAAAAABAAAA/f8AAP7/AgAAAAEA//8BAAAAAAD///7/AQD//wAAAAAAAAEAAAAAAAEAAAAAAAAAAQAAAAAA//8AAAAAAAABAP///////wAAAgABAAEA//8AAP//AAACAP//AQABAAEA//8BAAAAAAABAAAA//8AAAEAAAAAAAIA/v8BAP//AQD//wEAAAABAAEAAQACAAEAAAAAAAEAAAABAAAAAAD/////AAABAAEA//8AAAAAAQABAP//AAAAAP//AAD/////AQD//wAAAAABAAEA//8BAAAA//8AAP///f/+/wAA/////wAAAQAAAAIAAAAAAAAAAAD+/wEA/f8CAAAA//8AAAEAAgAAAAMAAAABAAAAAAAAAP//AQAAAAAAAQABAAAAAQAAAP//AAAAAAAA//8AAAAAAAABAAAAAQAAAAAAAAABAAIAAAAAAP7/AQD//wAAAAD+////AAAAAAAAAAABAAAA/////wAA//8AAAAAAAD/////AgD//wAA//8CAP//AQACAAEA/f////////8BAAIAAQABAP//AAD//wAA///+////AAD+/wAAAQD/////AAAAAAAA/////wAAAAABAAAAAQAAAAAA//8AAAIAAAABAP//AQABAAEA//8AAAAAAAADAAEAAAABAP//AgD//wMA//8AAAAAAAD//wAAAAD9/wEA///+/wAA//8BAAEA//8BAAAA//8AAP///v8BAP///////////v8BAAAAAQABAAAAAAAAAAAA//8AAP7/AQAAAAAAAAAAAP7/AQAAAAAAAgABAAEAAAABAAEAAAAAAAAAAAD+/wAAAAD//wEAAAAAAAAAAAAAAP//AgABAAAAAAABAAEAAAD/////AAAAAP//AAABAP////8BAAAAAQABAP7//v/+////AQAAAAAAAQAAAAEAAgAAAAAAAQAAAAEAAAD+/////v8BAP//AAABAP//AQABAAAAAAD//wAA//8CAP//AAAAAAEAAAABAAAAAAAAAP//AAD+////AwAAAAAAAQD//wEAAAACAAEAAAADAAAAAAD/////AAAAAAEAAAABAAAA//8AAAEA//8BAP///v8AAP//AAD//wAAAQABAP//AQAAAAAA/////wEAAQAAAP////8AAAEA//8BAAAAAQAAAP////8AAAAAAQAAAAIAAQAAAAEAAAAAAAEAAAD//wEAAAAAAP////8AAAAA//8BAAEAAAAAAAIA///+/wIA/v8BAAAAAQACAAAAAQAAAP7///8AAP//AAAAAAEAAAAAAP7/AAD+////AAAAAAAAAAD//wAA/v8BAAMAAAABAAIAAgD//wAA//8BAAEA//8BAP7/AAAAAP7///8BAAAAAQAAAP7/AQD/////AAAAAAEAAAABAP//AQABAAAAAgABAAAAAAAAAP///////wEA//8AAAEA//8AAAAAAQAAAAIAAAABAP7//////wAAAQABAAAAAAABAAEA///+/wAA//8BAP///v8AAP///v8BAAAA//8CAAAAAQAAAAEAAQABAAAAAAD+/wAAAAD+/wAAAAAAAAAA/f////////8AAAAAAQABAP///////wEA//8BAAEAAAAAAAAA/////wEA/v//////AAAAAP//AAABAAAAAAD+/wAAAAD9////AQAAAAEAAwD//wEAAQAAAP//AgAAAAAAAAD+/wIAAAAAAAAAAAAAAAIA//8AAAEAAQACAAAAAQD//wAAAAD//wIAAQABAAAAAAD//wEA//8BAAEAAQAAAAAAAQABAP7/AAD//wEAAAACAP7/AQAAAAAAAAD//wIAAQACAAIAAQAAAAAAAAAAAP3///8BAAAAAQACAP//AgD9/wAAAAD//wEA/v////////8AAAAAAAD//wEAAQD//wMAAQAAAAEA//8AAAEA//8AAAAAAAACAAAAAAD//wAAAQD///////8AAAAA//8BAAIA/v8BAAEA/f8AAAAAAAAAAAAAAgD/////AAD+/wAAAAD//wAAAAAAAP//////////AgABAP///v8AAAIAAQAAAP//AAABAAAA/////wAAAAAAAAEAAAABAP///v///wIA//8BAAEAAQAAAAAA///+/wEAAAAAAAAA/////////v8BAP3/AAAAAAAAAAAAAAAA//8AAP//AAAAAP//AAABAAIAAAACAP////8DAAAAAAABAAAAAwABAP//AAABAP//AAAAAP////8BAAAAAgD//wAA///+/wAAAQD//wAA//8AAP7///8AAAAA/v8AAAAAAQD//wEA/v////////8AAAAAAQAAAP//AQACAAAAAAAAAP//AAD//wAAAAD//wAAAAD+/wAAAAAAAP//AQD//wAAAgAAAAAAAQABAAAAAwD+/wAAAAD///7/AQD//wIAAQAAAP//AAD//wAA//8CAAEAAAAAAAAA/////wAAAAD//wEAAQD///////8BAAAA//8BAAEAAAAAAAAA/v///wEAAAAAAAAAAAADAAAAAAAAAAAAAQABAAEAAAD+//7//v8AAP//AQAAAAAAAAABAAEAAgAAAAAAAQD//wAA/f8AAAAAAAABAAAAAQAAAAAAAAAAAAIA//8BAP///////wIA/////wAAAAABAAEA//8BAAAAAAD//wAAAQD//wEAAAAAAAIA/v8BAP//AAAAAAEAAAABAP//AAAAAAAAAQABAP7/AAABAAAAAQD//wIAAAAAAAEA///+/wAA//8AAP//AAAAAAAAAAABAP///////wIAAQAAAAEAAQAAAP7/AQAAAAAAAQAAAAAAAQD/////AQAAAAAA///+//7/AAD+/wEA//8AAAAA///+/wEAAAABAAIAAQABAAAA//8AAP//AAD//wAAAAD//wAAAAAAAP//AQAAAAAA////////AQAAAAAAAQD+////AQABAP7/AAD///7/AgD//wAAAAAAAP//AAAAAAEA//8BAAEAAgAAAAIAAAD//wEA/////wAAAQD///7/AQD//wEAAQD/////AAAAAAEAAgAAAAAAAQD//wEA//8AAP7//////wAA//8BAAEA//8BAAAAAQD/////AAABAP//AAACAP//AQAAAP//AAABAP////8AAAAAAAABAAEAAwABAAAAAgD//wAAAAD//wEAAAABAAAAAAABAAEA/////wAA//8AAAIAAAAAAAEAAQABAAEAAQABAP//AgAAAAAA//8BAP3//v///wAA//8AAAAAAQAAAP//AQD//wEAAAACAAIAAAABAAAA//8BAAEA//8BAP//AAAAAP//AQAAAAIAAAD//wAAAAAAAAEA////////AQAAAP//AQD//wAAAQD+/wEAAAABAP///v///wAAAAAAAP//AAAAAAIAAQD//wAAAgD+/wAAAAD//wAAAAABAP///P//////AAACAP////8AAAIAAAABAAAAAAAAAAAA//8AAAAAAQADAP//AQAAAAAAAAABAAEAAQAAAAAA/v8AAAAAAAD//wAAAQD//wAAAAD//wAA/v////////8CAAEA/v8BAP7/AAAAAAAA//8AAAEAAAD//wIAAQAAAAIAAQAAAAAAAAD///7/AQABAP//AAAAAP//AAACAAEA//8BAAAAAwAAAAAAAAD//wEAAAD//wAA///////////+/wAAAQABAAIAAAABAAEAAAD//wEAAAD/////AAD+/wIAAwABAAEA/v8BAAEAAAD//wAA//8AAP//AAAAAAEAAAAAAP//AAAAAAEAAQABAAEA/v///wAAAAD//wEAAAACAAAA/f/+/wAA/v///wAA//8AAAEAAQD///7/AAAAAAAAAAABAAAAAAACAAAAAAABAAAAAAABAP//AQD//wAA//8BAP7/AgABAAEAAQAAAAAAAQD//wEA/v8AAP////8AAP///////wIAAQD//wAAAAD//wAA/v///wAAAQD//wIA/////wEAAAAAAAIAAAABAAAAAAD//wEA//8AAAAA/////wAAAQAAAAAAAAD//wEAAQAAAAAAAAACAP///////wAAAgD//wAA/v8AAAIAAAAAAAEAAAABAP//AQABAAEAAQAAAP///v8BAAEAAAAAAP////8AAAAAAQD//wIAAQAAAAEAAAAAAAAA//8BAP//AAAAAP7//v///wEAAAAAAAIAAAAAAP//AAD//wEA//8BAAAAAAABAAEAAAABAP7///8AAAIAAAABAP//AAD//wEAAAAAAP//AAAAAAEAAAAAAAAAAAAAAP7/AQD//wAAAQD+/wEA/v8BAP7/AAABAAEAAAACAAIAAAADAAAA//8AAAEAAAABAP//AQD//wIA/////wEA//8AAAEA//8AAAEAAAAAAAAAAQABAAAAAAAAAAAAAAD//////////wAA//8AAP7/AAD+/wAAAQAAAAAA/////wAABAAAAAAA//8AAAEAAAAAAAAA/v8AAP//AAAAAAAAAAD//wAAAAD///////8BAAEAAAD/////AgABAAEA/v/+/wAAAQACAAEAAAD//wAAAwABAP//AgD+/wAA/v8AAAAAAAAAAAEA//8AAAEAAAD+/wEAAAAAAAEAAgAAAAEAAAABAP//AQD+/wIA/////wAAAQD//wAAAQD+/wAAAQABAAAA////////AAACAAAAAQAAAAIA//8BAP///v///wEA//8BAAEAAQD+/wAAAQD9/wAAAQAAAAEAAAABAAAAAgAAAP//AAD+/wAA/f8AAAAA////////AgAAAAcAAQD7/wEA/f8AAAIA//8GAP7//v/+//b/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+P/F//z/rv/i/7r/6v/Z/wYABwAoADAAKQBOABkATAD0/zQA1P8PANv/0//v/6//FwCi/ywAxP8oAPn//v82APT/WwD4/00A+/8yAPv//f/8/83/+v+w/+T/sf/j/9b/AQACACoAIgAtAEIAHwBPAAEAQADe/xcA0v/k/+X/t/8IAKv/IgC//yEA6/8EACMA9/9PAPf/VAD+/zcA+/8JAPn/1P8AALf/6f+w/+P/zf////j/HAAdAC0APgAfAEsABwBCAOP/IADV/+//2v/B//3/rP8PALv/GADd/xEAFgABAEMABABaAP//QgACABcA+//n/wAAwP/w/67/4v+///3/6f8WABcAKQA0ACIARgAQAEcA8f8pANn/9f/U/87/7f+v/wgAtP8RANP/FgANAAIAOQACAFQA/f9HAAAAIAABAO3//P/E/wEAs//q/7n/9P/i/wYAEQAZADEAJABBABMASAAAADEA3/8CANL/1v/g/7H/AACy/w8Axf8ZAPv/CQAzAAIAVQD//1AAAAAsAAIA9v/7/8r/AwC2//P/tf/m/+H/AwADABEAKQApADoAHgBHAAgAPADr/wkA1//f/93/vP/6/7L/CgDA/x4A7/8hACkAAgBPAPz/UgD1/zIABAAEAPz/0v/5/7f/AACy//H/2f/+/wEAAAAkABUAMwAdADoAEQA9APD/EADU//L/1P/H/+z/tf8LALv/HADk/ygAGgADAEMA//9TAPn/QAAAABAAAQDc//z/wf8DALD/7P/Q//z/9/8HABoAFgA3ACMAMAAOADwA+P8ZANv/+P/Y/9H/5v+8/wUAu/8WANf/HgAMAAoAPQABAFMA/f9HAP7/HwAEAN//+v/H/wMAs//2/8r/8//y/wMADgAQAC4AIwAyABMAJwD8/xcA3v8LANP/5v/f/8j/AgC4/w4A1P8eAAQACgAxAAEAUgD+/0gA/v8nAAIA8f/5/8r/BAC6/+3/wP/l/+b/AQAIABkAIwArAC4AIAAoAAkAGADj/w0A0f/r/9//0P8DAL3/CgDN/xkA//8IACUAAgBJAAAATwD+/ysAAQD7//3/z/8DAMT/+f/K/+L/5P/1////EgAcACYALgApAC4ACwAcAPL/EADZ//L/1f/U//f/uv8KAMX/DwDu/wcAHwADAEUABgBNAAEANQAAAAYAAQDf////xf/+/9P/4f/b//X/9v8LAA4AGAAlACoAMAAQABkA9v8TAOL/+f/W/9r/8f/I/wcAxP8MAOr/BwATAAQAOAAGAEcAAABCAAEADwAEAOP//v/F/wIAzf/o/93/8P/s/w4ACwAZACEAKgAyABMAIQD5/xgA6v8DANb/4P/y/9H/AQDJ/wkA4/8DAAoA/f8wAAQAQwABAEAA//8VAAIA7P/+/8r/BADP/+v/2v/s/+n/CwAIAA0AHAAjADQAHAAkAP//GQDy/wQA5v/i//b/0P/7/8f/AADh/wMAAAD+/yUAAAA7AAEAOAAAABwAAAD6/wAA1/8CAMr/AADb/+3/5f8BAAIACAAVABcALwAfACgA+/8XAPn/DgDe/+//7v/Q/wMAz/8JAOP/CwDx////EAAHADEAAQArAAIAHQAEAAcAAADr/wEAzv8CANj//f/k/wEA+f/+/xQABwAqAB4ALAD+/x4A8P8SAOb/8//f/9j//f/N/wEA3v8LAO7/AgAMAAQALAAEAC0AAQAdAAQADwABAPP/BADV/wMA0/8AAOH/AQD1/wAAEAADACQAGwAwAAQAHwD0/xUA8f/4/+L/2//7/8z/AwDc/woA6f8AAAQAAwAoAAcANAAAACcAAgAUAAEA+P8CANv/AgDR/wEA4v8BAOz/AgAIAPv/JAAVADMAFAAhAPP/GQDz//7/3P/l/+3/z/8BANf/CgDn/wkA/P///xoABwAwAAIAJwACABcAAwABAAIA4f8BAND/AgDd//3/6P8CAAYA/f8YAAwALwAZACUA9v8bAPj/AwDq/+r/7P/S//7/1/8EAOX/CQD6//7/GQAFAC8AAQApAAEAGQACAAMAAgDm/wEAzv8BANv//v/p/wIA//8BABMABQArACAALAABAB4A8f8NAOv/7v/m/9n/+P/R/wMA4f8OAPT/AQATAAMAKwAHACoAAwAbAAMABQADAO7/AQDU/wEA2f8AAOL////3////EgAAACUAGgAvAAUAHQD2/xIA9f/0//T/3P/4/8///f/h/wIA7f8AAAoAAQApAAQALQADACAAAgAPAP//9P///9r//f/T/wAA3f/9//D/AQAQAP//HAAHAC8ACQAfAPv/GAD+//f/+P/j/wEA0v/+/9n/AADq/wIABgD//x0AAQAuAAEAIwAAABQAAwD8/wEA3/8AAM//AADe////7f8BAAwA//8ZAAMALwAAACEA//8dAP3//v/9/+n////U//z/1v8BAOT/AAD+/wAAGwD+/ywA/v8kAAIAGAD///3////q/wEA0P///97/AADk/wAABAAAABUAAQAqAAEAKQAAABwAAAAFAP//6f8AANr////X/wAA4/8AAPj/AgAUAAAAKgD//ywAAAAcAP7/AQAAAOv/AADU/wAA2v8CAOP/AAABAAAAFgABABsAAAAqAAEAHwAAABQAAgDv/wEA3v///9H////f////7/8BAAoAAQApAAAALgD//yEAAQAIAAAA8P8BANr//v/V////4f8AAPf//v8UAAAAFAAAACYAAQAhAP7/GwD+//T/AADo/wIA1v8CANr/AgDp/wEABgAAAB8AAQAsAAEAJAAAAAwA///z/wEA3/8AANT/AADh/wEA9P///xQAAgASAAAAJQAAACEAAAAaAP//+v8BAOj////W////2P8BAOf///8DAAAAHwAAAC4AAAAlAAAAEgAAAPL/AQDm////0f8CAN3/AADr//7/EQD//xAAAQAhAAIAJQAAAB8AAAABAP//6v8CAN//AQDX/wAA4/8AAPr/AAAXAAAAKgABACgAAAAbAP///f8AAOj/AADU/wAA2v///+f/AQANAAMAEQD+/xwA/v8kAP7/IQABAAgA/v/p////5/8AANf/AQDd/wEA8v8BABMAAQAjAAAALgAAACAAAQADAAEA7f8BANn/AgDY//7/4P/+/wEAAAAXAAIAFAAFACUA/P8jAP//EgAAAO//AQDo////1/8AAN3/AADx//7/DgAAAB0AAQAoAAAAIwAAAAoAAQDv/wMA4f8AANn/AQDi/wEA+v///xgAAAAQAP3/IwD//yUA/v8XAAAA7/8AAOv/AADc/wAA3P/+/+v/AQALAAEAGgACACkAAAAkAP7/EAABAO/////q//7/1/8AANz/AgDw/wEAEgD//w8AAAAcAAIAJQAAAB0AAAD2////7P8AAOP/AgDa/wAA5P8BAAQAAQAWAAAAIgAAACMAAAAaAP//+P///+v/AQDZ/wAA2////+7/AAARAAAADgAAABYAAAAhAAAAIAABAPz/AQDt/wAA5P8AANr/AQDg/wEA/P8BABcAAAAhAP//KQD//xwAAAD8/wEA7v8AAN3////Z/wAA6f8BAA0AAAARAAEAEQAAACMAAAAgAAEA/f8CAO3/AADv/wAA3v8BANv////1////EgAAABkA//8nAAAAIgAAAAMAAADu/wAA6P8CANn/AQDg////BQD//xMAAQAOAP//IAABACYAAAAGAAAA6f////H/AADg/wEA2f8AAO3///8PAAAAFQACACQAAAAkAAEADQABAO//AADp/wAA2////9z/AQD7/wEAFgAAAAwAAQAXAP7/JQD9/xMAAADx/wAA8f8AAOr/AADc/wEA4/8BAAkAAAAVAAAAIQD//yYA//8UAAEA9P8BAOz/AADf/wAA3P8AAPP/AAAQAAAADQABAA0AAAAlAAEAGAD///H//v/0/wEA7v8CAN//AADg//3/BAACABUAAQAfAAAAJwABABgAAQD0//7/7f///+L/AADa/wIA8P///w4A//8SAAMACQAAACAAAQAgAP//+v////P////y/wEA4/8BANr/AQD9/wAAEwD//xkAAQAjAAAAIgABAPz////s/wAA6v8BANX/AQDr//7/BwABABMAAAAHAP//FwAAACYAAAD//wEA9P8BAPb/AQDu////2v8BAPn/AAATAP//FwD//yEAAAAjAAAAAgAAAOn/AQDr//7/2P8CAOT/AAABAP//FgABAAUAAQATAP//IwAAAAEAAgDy/wEA9/8AAPb/AADb/wAA6/8BABAAAAATAP7/IQAAACYA//8UAP//7/8AAPD/AADd/wEA3P/+//7///8OAAAACgAAAAgAAAAhAP//CQACAPT/AQD2/wAA9v///97////m/wIADgABABMAAQAfAP//JwAAABMAAADw/wAA8P///+r/AQDb/wAA9f8AAA8AAAARAAIABAD//wYA/v8HAAAAAQD//wMAAgAGAAAA7f8AAOz/AAALAP//DwACABQA//8bAAAAHgD///f/AADq/wEA6/8BANj//v/t/wAACAD+/xAAAgAEAAAABAABAAcAAQADAAAA//8AAAUA///1/wAA5f///wIAAAAOAAAAEAAAABsAAAAhAAAA/v8BAOj////y////3f8AAOf/AQAGAAEADAAAAAcA//8BAP//CQABAAMA//8BAP//BQAAAAAAAADo/wAA+/8AAAoAAAALAAAAFAAAACAAAQAGAAIA7f8BAPH/AADm/wMA3P8CAP7/AgASAP//CgD//wAAAAAIAP//BQD//wEAAAACAP7/BAAAAPz/AwD8////BAAAAAEA//8HAAAAHQAAAAgA/v/x//7/8f///+f/AQDg/////P///woAAAAMAP//AAABAAYA//8EAAAAAgAAAAUAAAACAAAAAwAAAAIAAAABAAAAAQABAAAAAgAcAP//DgD///T/AQDx/wAA9P8CAOH/AAD3/wAACQAAAAoAAQABAP//AwAAAAcAAAD+/wAAAgACAAEAAAD+////AwD+/wAAAAABAP//+v8BABEAAQATAAAA9f/+//L//f/z/wIA6f8AAPb/AQAFAP//DAAAAAAAAAAFAP//BQD//wEA//8DAAEAAQAAAP7///8AAAAA//8BAAIAAAD+/wAAEAABABYAAgD6/wEA8v8BAPX/AwDp/wAA8////wMA//8JAAEABAABAAEA//8FAAEA//8AAAMAAQACAP//AQAAAAEAAgAFAP//AQABAAAAAQAAAP//EQABAAAAAAD5/wEA+P8AAPr////6/wAA+/8BAAIA//8BAAAA//8CAAUA//8BAP7/AAABAAEAAgAAAAAAAwAAAAEA/v8DAAIAAAACAAQA//8TAAAA/P8BAPr////3//////8AAPz/AQD7/wEAAgD/////AAABAAEABAAAAP//////////AAAAAAAAAAADAAAAAwAAAAAA//8EAP///v/+/xAA//8HAAAA+/////j/AQD8////AAD///n///8AAAAA//8AAP////8DAP//AgAAAAAAAAACAAIAAAD+/wAAAQD//wAA/////wIAAgD9////CQACAAYA///9////+f8BAPr/AQAAAAIA/v///wAA//8AAAAAAAAAAAEAAAABAAAAAgAAAAEAAAAAAAEAAQABAAAAAgABAP//AAD//wEAAAD///////8BAAIAAQAAAAAA/v/+//////8BAAAAAQABAP//AAD///////8BAAAAAQABAP////8CAAEAAQD//wEA/v//////AQAAAAAAAAAAAAAAAAD9/wMA/////wAAAQD+/wEA/v/+//7/AQD//wMAAAAAAAAAAAABAAEA//////7/AAACAP3/AAD//wAAAQAAAP//AQD//wAAAAAAAAEA//8CAP//AAAAAAAA/v8AAAAA//8BAP//AAABAP//AAAAAP//AQD//wAAAQABAAAAAAABAAEA/v///wAAAAD//////////wAAAAAAAP//AAD////////8/wIAAAADAAEA/////wEA/v8BAP7/AgAAAAEAAgAAAP//AgD/////AQD//wEA//////7/AQD//wMAAAAAAAAA//8CAP//AQAAAP//AAACAAAAAAABAP//AQD+/wAA/////wAA/f///wAAAAAAAP7/AAAAAAAAAgD//wEAAQACAP//AAAAAAEAAQD//wAAAAAAAAAA//8BAAMA/v8AAP7/AQAAAAAAAQAAAAAA///+//7/AAAAAAAA//8BAP7/AQAAAP//AQABAAAAAQAAAP//AAD//wIA/v///wAAAQABAP//AAD//wEA//8BAP//AgAAAP///////wAAAQABAP//AwABAAAAAAAAAAAA/////wIAAwACAAAA/v8BAAAAAAAAAAAA//8AAP////8AAAAA/////wAA/////wEA/v8CAAEAAQD//wAAAAABAAAAAAD//wEAAQABAAAA//8CAAAAAAAAAP7/AAABAAAAAQABAAAAAgABAAAAAQD//wEAAwD+/wAA/v8AAAEAAAAAAAAAAAAAAAEAAAD//wMA/v///wAAAAACAAEAAAAAAP7///8DAAEAAQD//wEA/f8BAAEAAQD//wEAAQABAAMAAgAAAAEA//8AAP//BAAAAAIA/v//////AQABAAAAAAD//wEAAAACAAIAAQAAAAAAAgAAAAAAAAABAAIAAAABAAIAAQAAAP////8AAAAAAAD//wAAAQACAP//AAAAAAAAAQAAAAEA//8AAAAAAAD/////AQD//wAAAQD9////AQAAAAAA//8BAAAA///+/////v8BAAAAAQAAAAAAAAAAAAIA//8BAAAAAAACAP//AQD//wAAAAD/////AAD9/wAAAAACAAAAAgAAAAEAAQABAAEAAAAAAAEA//8AAAEAAQACAAAAAQAAAAEA//8BAAIAAAACAP//AAABAAAAAAAAAAAAAAD//wAAAQD/////AAAAAP////8AAAEAAAAAAP7///8BAAIAAQD//wEAAQAAAP//AgAAAAAAAAD//wAA//8CAP7/AQAAAP7/AAD+////AAAAAAAAAQABAAAA//8AAAEAAAABAP7/AAAAAP7/AAD+/wAAAQABAAEA/////////v8BAP///v///wIAAAAAAAAAAQAAAAIAAQAAAAAAAAABAAEAAAAAAAAAAAD//wEAAQD//wAAAQABAAAA/v/+/////////wAAAAD//wAAAAD/////AAAAAP7/AAD//wIA//8CAP//AQAAAP////8AAAAAAQABAP////8AAP//AQACAAAAAQAAAAAAAAAAAAAA//8BAAAAAAD+/wAA/v///wEAAAD+//7///8CAP7/AAABAP3/AwAAAAAAAAABAAIAAAABAAAAAQABAAIAAAAAAP//AAAAAAEAAAACAAEAAAACAAAAAAABAAAAAwAAAAAAAAD+/wAAAQD9//////8BAAAA/v8AAAAAAAAAAAAAAAD//wMA/v8BAAEAAQACAAAA/v8BAP//AwABAAIAAQABAP//AQAAAAEAAAAAAAEA//8AAAAAAAD/////AAABAAEAAAAAAP////8AAAAAAAAAAAAA/v8AAP//AQAAAP//AAABAAIAAQAAAAAAAgABAAAA/////wAAAQABAP//AQABAAEA/////wAAAAAAAAAAAAABAAEAAQAAAAAAAAAAAAAA//8AAP7/AQD9/wAAAgD//wEAAQABAAEA/v8AAAEA/////wAAAAAAAP//AAABAAAAAAAAAAAA//8CAP//AAABAAEAAQABAAAA//8BAAIAAgD//wAA/v8AAAEAAAD///7/AAAAAAEAAAABAAAAAQABAAAAAQACAAAA///+/wAAAQABAP7////+/wAA//8AAAAAAgAAAP//AQD9/wAAAAD//wAA//8AAAAAAQAAAAAAAQD//wAAAAAAAP//AQABAAAA/v8CAP//AAD///////8AAAAAAAACAAEA//8BAP7/AAAAAAEA//8BAAAAAQD//wAAAQD+/wAA/////wAAAAD//wAAAQABAAAA//8AAAEA/////wAA//8AAAAA/v/+/wEAAgABAP//AgD//wIA/////wAA//8AAAEAAQAAAAAAAQAAAAMAAAACAP//",showCount:!0},audio:{disabled:!0,defaultToggledOn:!1,language:"en-US",voiceNames:["Microsoft David - English (United States)","Alex (English - United States)"],rate:1,volume:1,icon:Si,iconDisabled:ki},chatHistory:{disabled:!1,maxEntries:30,storageKey:"rcb-history",storageType:"LOCAL_STORAGE",viewChatHistoryButtonText:"Load Chat History ⟳",chatHistoryLineBreakText:"----- Previous Chat History -----",autoLoad:!1},chatInput:{disabled:!1,allowNewline:!1,enabledPlaceholderText:"Type your message...",disabledPlaceholderText:"",showCharacterCount:!1,characterLimit:-1,botDelay:1e3,sendButtonIcon:Ei,blockSpam:!0,sendOptionOutput:!0,sendCheckboxOutput:!0,buttons:[we.VOICE_MESSAGE_BUTTON,we.SEND_MESSAGE_BUTTON]},chatWindow:{showScrollbar:!1,showTypingIndicator:!0,autoJumpToBottom:!1,showMessagePrompt:!0,messagePromptText:"New Messages ↓",messagePromptOffset:30,defaultOpen:!1},sensitiveInput:{maskInTextArea:!0,maskInUserBubble:!0,asterisksCount:10,hideInUserBubble:!1},userBubble:{animate:!0,showAvatar:!1,avatar:"data:image/svg+xml,%3csvg%20width='140'%20height='140'%20xmlns='http://www.w3.org/2000/svg'%3e%3ccircle%20cy='60.044'%20cx='70'%20fill='%235c5c5c'%20r='29'/%3e%3cpath%20d='m16.36%20156.186-.01-30.5c-.005-16.844%2024.168-30.507%2053.991-30.516%2029.823-.009%2054.004%2013.64%2054.01%2030.484l.008%2030.5-108%20.032z'%20fill='%235c5c5c'/%3e%3c/svg%3e",simulateStream:!1,streamSpeed:30},botBubble:{animate:!0,showAvatar:!1,avatar:Wr,simulateStream:!1,streamSpeed:30},voice:{disabled:!0,defaultToggledOn:!1,language:"en-US",timeoutPeriod:1e4,autoSendDisabled:!1,autoSendPeriod:1e3,sendAsAudio:!1,icon:Ci,iconDisabled:Pi},footer:{text:P.jsxs("div",{style:{cursor:"pointer",display:"flex",flexDirection:"row",alignItems:"center",columnGap:3},onClick:()=>window.open("https://react-chatbotify.com","_blank","noopener,noreferrer"),children:[P.jsx("span",{children:"Powered By "},0),P.jsx("div",{style:{borderRadius:"50%",width:14,height:14,display:"flex",justifyContent:"center",alignItems:"center",background:"linear-gradient(to right, #42b0c5, #491d8d)"},children:P.jsx(Yr,{style:{width:"80%",height:"80%",fill:"#fff"}})},1),P.jsx("span",{style:{fontWeight:"bold"},children:" React ChatBotify"},2)]}),buttons:[we.FILE_ATTACHMENT_BUTTON,we.EMOJI_PICKER_BUTTON]},fileAttachment:{disabled:!1,multiple:!0,accept:".png",icon:Kr,iconDisabled:Kr,sendFileName:!0,showMediaDisplay:!1},emoji:{disabled:!1,icon:Vr,iconDisabled:Vr,list:["😀","😃","😄","😅","😊","😌","😇","🙃","🤣","😍","🥰","🥳","🎉","🎈","🚀","⭐️"]},toast:{maxCount:3,forbidOnMax:!1,dismissOnClick:!0},event:{rcbPreInjectMessage:!1,rcbPostInjectMessage:!1,rcbStartSimulateStreamMessage:!1,rcbStopSimulateStreamMessage:!1,rcbStartStreamMessage:!1,rcbChunkStreamMessage:!1,rcbStopStreamMessage:!1,rcbRemoveMessage:!1,rcbSaveChatHistory:!1,rcbLoadChatHistory:!1,rcbToggleChatWindow:!1,rcbStartSpeakAudio:!1,rcbToggleAudio:!1,rcbToggleNotifications:!1,rcbToggleVoice:!1,rcbChangePath:!1,rcbShowToast:!1,rcbDismissToast:!1,rcbUserSubmitText:!1,rcbUserUploadFile:!1,rcbTextAreaChangeValue:!1,rcbPreLoadChatBot:!1,rcbPostLoadChatBot:!1,rcbPreProcessBlock:!1,rcbPostProcessBlock:!1},ariaLabel:{chatButton:"open chat",audioButton:"toggle audio",closeChatButton:"close chat",emojiButton:"emoji picker",fileAttachmentButton:"upload file",notificationButton:"toggle notifications",sendButton:"send message",voiceButton:"toggle voice",inputTextArea:"input text area"},device:{desktopEnabled:!0,mobileEnabled:!0,applyMobileOptimizations:!0}},Jr=f.createContext({settings:{},setSyncedSettings:()=>null,syncedSettingsRef:{current:{}}}),te=()=>f.useContext(Jr),Di=({children:e,settings:t=Xr,setSyncedSettings:r,syncedSettingsRef:n})=>P.jsx(Jr.Provider,{value:{settings:t,setSyncedSettings:r,syncedSettingsRef:n},children:e}),Zr={tooltipStyle:{},notificationBadgeStyle:{},chatWindowStyle:{},headerStyle:{},bodyStyle:{},chatInputContainerStyle:{},chatInputAreaStyle:{},chatInputAreaFocusedStyle:{},chatInputAreaDisabledStyle:{},userBubbleStyle:{},botBubbleStyle:{},botOptionStyle:{},botOptionHoveredStyle:{},botCheckboxRowStyle:{},botCheckboxNextStyle:{},botCheckMarkStyle:{},botCheckMarkSelectedStyle:{},characterLimitStyle:{},characterLimitReachedStyle:{},chatHistoryLineBreakStyle:{},chatMessagePromptStyle:{},chatMessagePromptHoveredStyle:{},footerStyle:{},loadingSpinnerStyle:{},mediaDisplayContainerStyle:{},chatButtonStyle:{},chatButtonHoveredStyle:{},chatHistoryButtonStyle:{},chatHistoryButtonHoveredStyle:{},sendButtonStyle:{},sendButtonHoveredStyle:{},sendButtonDisabledStyle:{},audioButtonStyle:{},audioButtonDisabledStyle:{},closeChatButtonStyle:{},emojiButtonStyle:{},emojiButtonDisabledStyle:{},fileAttachmentButtonStyle:{},fileAttachmentButtonDisabledStyle:{},notificationButtonStyle:{},notificationButtonDisabledStyle:{},voiceButtonStyle:{},voiceButtonDisabledStyle:{},chatIconStyle:{},audioIconStyle:{},audioIconDisabledStyle:{},closeChatIconStyle:{},emojiIconStyle:{},emojiIconDisabledStyle:{},fileAttachmentIconStyle:{},fileAttachmentIconDisabledStyle:{},notificationIconStyle:{},notificationIconDisabledStyle:{},voiceIconStyle:{},voiceIconDisabledStyle:{},sendIconStyle:{},sendIconDisabledStyle:{},sendIconHoveredStyle:{},rcbTypingIndicatorContainerStyle:{},rcbTypingIndicatorDotStyle:{},toastPromptContainerStyle:{},toastPromptStyle:{},toastPromptHoveredStyle:{}},$r=f.createContext({styles:{},setSyncedStyles:()=>null,syncedStylesRef:{current:{}}}),ue=()=>f.useContext($r),Bi=({children:e,styles:t=Zr,setSyncedStyles:r,syncedStylesRef:n})=>P.jsx($r.Provider,{value:{styles:t,setSyncedStyles:r,syncedStylesRef:n},children:e}),xi=({buttons:e})=>{var t,r,n,o,A,a,s;const{settings:i}=te(),{styles:l}=ue(),c={backgroundImage:`linear-gradient(to right, ${(t=i.general)==null?void 0:t.secondaryColor},
|
|
2
|
+
${(r=i.general)==null?void 0:r.primaryColor})`,...l.headerStyle};return P.jsxs("div",{style:c,className:"rcb-chat-header-container",children:[P.jsxs("div",{className:"rcb-chat-header",children:[((n=i.header)==null?void 0:n.showAvatar)&&P.jsx("div",{style:{backgroundImage:`url("${(o=i.header)==null?void 0:o.avatar}")`},className:"rcb-bot-avatar"}),f.isValidElement((A=i.header)==null?void 0:A.title)?(a=i.header)==null?void 0:a.title:P.jsx("div",{style:{margin:0,fontSize:20,fontWeight:"bold"},children:(s=i.header)==null?void 0:s.title})]}),P.jsx("div",{className:"rcb-chat-header",children:e==null?void 0:e.map((d,u)=>P.jsx(f.Fragment,{children:d},u))})]})},eo=f.createContext({}),Ce=()=>f.useContext(eo),Ii=({children:e,botIdRef:t,flowRef:r})=>{const n=f.useRef(null),o=f.useRef(""),A=f.useRef(null),a=f.useRef(new Map),s=f.useRef(null),i=f.useRef(""),l=f.useRef(!1),c=f.useRef(null),d=f.useRef(null),u=f.useRef(null);return P.jsx(eo.Provider,{value:{botIdRef:t,flowRef:r,inputRef:n,timeoutIdRef:A,streamMessageMap:a,chatBodyRef:s,paramsInputRef:i,keepVoiceOnRef:l,audioContextRef:c,audioBufferRef:d,gainNodeRef:u,prevInputRef:o},children:e})},je=e=>{const[t,r]=f.useState(e),n=f.useRef(e);return[t,o=>{const A=typeof o=="function"?o(n.current):o;n.current=A,r(A)},n]},to=f.createContext({}),ke=()=>f.useContext(to),Ti=({children:e,settings:t})=>{var r,n,o,A,a,s;const[i,l,c]=je(!1),[d,u,p]=je(((r=t==null?void 0:t.chatWindow)==null?void 0:r.defaultOpen)??!1),[g,v,h]=je(((n=t==null?void 0:t.audio)==null?void 0:n.defaultToggledOn)??!1),[w,E,m]=je(((o=t==null?void 0:t.voice)==null?void 0:o.defaultToggledOn)??!1),[C,k,S]=je(((A=t==null?void 0:t.notification)==null?void 0:A.defaultToggledOn)??!0),[D,I]=f.useState(!1),[Q,x]=f.useState(!1),[N,B,O]=je(!1),[U,_,F]=je(!0),[M,L,y]=je(!1),[Y,b]=f.useState(!1),[J,j]=f.useState(!1),[K,V]=f.useState(0),[ae,re]=f.useState(0),[Ue,Se]=f.useState(!1),[xe,Je]=f.useState(((a=window.visualViewport)==null?void 0:a.height)??window.innerHeight),[z,q]=f.useState(((s=window.visualViewport)==null?void 0:s.width)??window.innerWidth);return P.jsx(to.Provider,{value:{isBotTyping:i,setSyncedIsBotTyping:l,syncedIsBotTypingRef:c,isChatWindowOpen:d,setSyncedIsChatWindowOpen:u,syncedIsChatWindowOpenRef:p,audioToggledOn:g,setSyncedAudioToggledOn:v,syncedAudioToggledOnRef:h,voiceToggledOn:w,setSyncedVoiceToggledOn:E,syncedVoiceToggledOnRef:m,notificationsToggledOn:C,setSyncedNotificationsToggledOn:k,syncedNotificationsToggledOnRef:S,isLoadingChatHistory:D,setIsLoadingChatHistory:I,hasChatHistoryLoaded:Q,setHasChatHistoryLoaded:x,isScrolling:N,setSyncedIsScrolling:B,syncedIsScrollingRef:O,textAreaDisabled:U,setSyncedTextAreaDisabled:_,syncedTextAreaDisabledRef:F,textAreaSensitiveMode:M,setSyncedTextAreaSensitiveMode:L,syncedTextAreaSensitiveModeRef:y,hasInteractedPage:Y,setHasInteractedPage:b,hasFlowStarted:J,setHasFlowStarted:j,unreadCount:K,setUnreadCount:V,inputLength:ae,setInputLength:re,blockAllowsAttachment:Ue,setBlockAllowsAttachment:Se,viewportHeight:xe,setViewportHeight:Je,viewportWidth:z,setViewportWidth:q},children:e})};var R=(e=>(e.START_SPEAK_AUDIO="rcb-start-speak-audio",e.TOGGLE_AUDIO="rcb-toggle-audio",e.TOGGLE_NOTIFICATIONS="rcb-toggle-notifications",e.TOGGLE_VOICE="rcb-toggle-voice",e.TOGGLE_CHAT_WINDOW="rcb-toggle-chat-window",e.PRE_INJECT_MESSAGE="rcb-pre-inject-message",e.POST_INJECT_MESSAGE="rcb-post-inject-message",e.START_SIMULATE_STREAM_MESSAGE="rcb-start-simulate-stream-message",e.STOP_SIMULATE_STREAM_MESSAGE="rcb-stop-simulate-stream-message",e.START_STREAM_MESSAGE="rcb-start-stream-message",e.CHUNK_STREAM_MESSAGE="rcb-chunk-stream-message",e.STOP_STREAM_MESSAGE="rcb-stop-stream-message",e.REMOVE_MESSAGE="rcb-remove-message",e.SAVE_CHAT_HISTORY="rcb-save-chat-history",e.LOAD_CHAT_HISTORY="rcb-load-chat-history",e.CHANGE_PATH="rcb-change-path",e.SHOW_TOAST="rcb-show-toast",e.DISMISS_TOAST="rcb-dismiss-toast",e.USER_SUBMIT_TEXT="rcb-user-submit-text",e.USER_UPLOAD_FILE="rcb-user-upload-file",e.TEXT_AREA_CHANGE_VALUE="rcb-text-area-change-value",e.PRE_LOAD_CHATBOT="rcb-pre-load-chatbot",e.POST_LOAD_CHATBOT="rcb-post-load-chatbot",e.PRE_PROCESS_BLOCK="rcb-pre-process-block",e.POST_PROCESS_BLOCK="rcb-post-process-block",e))(R||{});const Qi={[R.START_SPEAK_AUDIO]:!0,[R.TOGGLE_AUDIO]:!0,[R.TOGGLE_VOICE]:!0,[R.TOGGLE_NOTIFICATIONS]:!0,[R.TOGGLE_CHAT_WINDOW]:!0,[R.PRE_INJECT_MESSAGE]:!0,[R.POST_INJECT_MESSAGE]:!1,[R.PRE_LOAD_CHATBOT]:!0,[R.POST_LOAD_CHATBOT]:!1,[R.START_SIMULATE_STREAM_MESSAGE]:!0,[R.STOP_SIMULATE_STREAM_MESSAGE]:!1,[R.START_STREAM_MESSAGE]:!0,[R.CHUNK_STREAM_MESSAGE]:!0,[R.STOP_STREAM_MESSAGE]:!0,[R.REMOVE_MESSAGE]:!0,[R.SAVE_CHAT_HISTORY]:!0,[R.LOAD_CHAT_HISTORY]:!0,[R.CHANGE_PATH]:!0,[R.SHOW_TOAST]:!0,[R.DISMISS_TOAST]:!0,[R.USER_SUBMIT_TEXT]:!0,[R.USER_UPLOAD_FILE]:!0,[R.TEXT_AREA_CHANGE_VALUE]:!0,[R.PRE_PROCESS_BLOCK]:!0,[R.POST_PROCESS_BLOCK]:!0},zn=async(e,t,r)=>{const n=new CustomEvent(e,{detail:t,cancelable:Qi[e]});return n.data=r,n.promises=[],window.dispatchEvent(n),await Promise.all(n.promises),n},no=f.createContext({paths:[],setSyncedPaths:()=>{},syncedPathsRef:{current:[]}}),Kt=()=>f.useContext(no),Mi=({children:e})=>{const[t,r,n]=je([]);return P.jsx(no.Provider,{value:{paths:t,setSyncedPaths:r,syncedPathsRef:n},children:e})},Ze=()=>{const{botIdRef:e}=Ce(),{syncedPathsRef:t}=Kt(),r=f.useCallback(()=>t.current.length>0?t.current.at(-1)??null:null,[]),n=f.useCallback(()=>t.current.length>1?t.current.at(-2)??null:null,[]);return{dispatchRcbEvent:f.useCallback(async(o,A)=>{const a={botId:e.current,currPath:r(),prevPath:n()};return await zn(o,a,A)},[e])}},qe=()=>{const{settings:e}=te(),{isChatWindowOpen:t,setSyncedIsChatWindowOpen:r,viewportHeight:n,setViewportHeight:o,viewportWidth:A,setViewportWidth:a,setUnreadCount:s,setSyncedIsBotTyping:i,setSyncedIsScrolling:l,syncedIsBotTypingRef:c,syncedIsChatWindowOpenRef:d}=ke(),{chatBodyRef:u}=Ce(),{dispatchRcbEvent:p}=Ze(),g=f.useCallback(()=>{if(!u.current)return!1;const m=u.current.getBoundingClientRect(),C=window.innerHeight??document.documentElement.clientHeight,k=window.innerWidth??document.documentElement.clientWidth;return m.top>=0&&m.left>=0&&m.bottom<=C&&m.right<=k},[u]),v=f.useCallback(async m=>{var C;m!==d.current&&((C=e.event)!=null&&C.rcbToggleChatWindow&&(await p(R.TOGGLE_CHAT_WINDOW,{currState:d.current,newState:!d.current})).defaultPrevented||r(k=>(k||s(0),!k)))},[d]),h=f.useCallback(async m=>{m!==c.current&&i(C=>!C)},[c]),w=f.useCallback((m,C,k,S)=>(m/=S/2)<1?k/2*m*m+C:-k/2*(--m*(m-2)-1)+C,[]),E=f.useCallback((m=0)=>{if(!u.current)return;const C=u.current.scrollHeight-u.current.clientHeight;if(m<=0)return u.current.scrollTop=C,void l(!1);const k=u.current.scrollTop,S=C-k;let D=0;const I=()=>{if(!u.current)return;D+=20;const Q=w(D,k,S,m);u.current.scrollTop=Q,D<m?requestAnimationFrame(I):l(!1)};I()},[u]);return{isChatWindowOpen:t,setSyncedIsChatWindowOpen:r,toggleChatWindow:v,viewportHeight:n,setViewportHeight:o,viewportWidth:A,setViewportWidth:a,toggleIsBotTyping:h,scrollToBottom:E,getIsChatBotVisible:g}},Oi=()=>{var e,t,r;const{settings:n}=te(),{styles:o}=ue(),{unreadCount:A,isScrolling:a}=ke(),{chatBodyRef:s}=Ce(),{scrollToBottom:i}=qe(),[l,c]=f.useState(!1),d={color:(e=n.general)==null?void 0:e.primaryColor,borderColor:(t=n.general)==null?void 0:t.primaryColor,...o.chatMessagePromptHoveredStyle};return P.jsx("div",{className:"rcb-message-prompt-container "+(s.current&&((u=n.chatWindow)!=null&&u.showMessagePrompt)&&a&&A>0?"visible":"hidden"),children:P.jsx("div",{onMouseEnter:()=>{c(!0)},onMouseLeave:()=>{c(!1)},style:l?d:{...o.chatMessagePromptStyle},onMouseDown:p=>{p.preventDefault(),i(600)},className:"rcb-message-prompt-text",children:(r=n.chatWindow)==null?void 0:r.messagePromptText})});var u},ro=f.createContext({messages:[],setSyncedMessages:()=>{},syncedMessagesRef:{current:[]}}),jn=()=>f.useContext(ro),_i=({children:e})=>{const[t,r,n]=je([]);return P.jsx(ro.Provider,{value:{messages:t,setSyncedMessages:r,syncedMessagesRef:n},children:e})},Ni=({message:e,isNewSender:t})=>{var r,n,o,A,a,s;const{settings:i}=te(),{styles:l}=ue(),c=typeof e.content=="string",d=e.content,u=e.contentWrapper?P.jsx(e.contentWrapper,{children:d}):d,p={backgroundColor:(r=i.general)==null?void 0:r.primaryColor,color:"#fff",maxWidth:(n=i.userBubble)!=null&&n.showAvatar?"65%":"70%",...l.userBubbleStyle},g=(o=i.userBubble)!=null&&o.animate?"rcb-user-message-entry":"",v=((A=i.userBubble)==null?void 0:A.showAvatar)&&t,h="rcb-user-message"+(!t&&(a=i.userBubble)!=null&&a.showAvatar?" rcb-user-message-offset":"");return P.jsxs("div",{className:"rcb-user-message-container",children:[c?P.jsx("div",{style:p,className:`${h} ${g}`,children:u}):P.jsx(P.Fragment,{children:u}),v&&P.jsx("div",{style:{backgroundImage:`url("${(s=i.userBubble)==null?void 0:s.avatar}")`},className:"rcb-message-user-avatar"})]})},Li=({message:e,isNewSender:t})=>{var r,n,o,A,a,s;const{settings:i}=te(),{styles:l}=ue(),c=typeof e.content=="string",d=e.content,u=e.contentWrapper?P.jsx(e.contentWrapper,{children:d}):d,p={backgroundColor:(r=i.general)==null?void 0:r.secondaryColor,color:"#fff",maxWidth:(n=i.botBubble)!=null&&n.showAvatar?"65%":"70%",...l.botBubbleStyle},g=(o=i.botBubble)!=null&&o.animate?"rcb-bot-message-entry":"",v=((A=i.botBubble)==null?void 0:A.showAvatar)&&t,h="rcb-bot-message"+(!t&&(a=i.botBubble)!=null&&a.showAvatar?" rcb-bot-message-offset":"");return P.jsxs("div",{className:"rcb-bot-message-container",children:[v&&P.jsx("div",{style:{backgroundImage:`url("${(s=i.botBubble)==null?void 0:s.avatar}")`},className:"rcb-message-bot-avatar"}),c?P.jsx("div",{style:p,className:`${h} ${g}`,children:u}):P.jsx(P.Fragment,{children:u})]})},Hi=()=>{var e,t,r;const{settings:n}=te(),{styles:o}=ue(),A=(e=n.botBubble)!=null&&e.animate?"rcb-bot-message-entry":"";return P.jsxs("div",{className:"rcb-bot-message-container",children:[((t=n.botBubble)==null?void 0:t.showAvatar)&&P.jsx("div",{style:{backgroundImage:`url("${(r=n.botBubble)==null?void 0:r.avatar}")`},className:"rcb-message-bot-avatar"}),P.jsx("div",{onMouseDown:a=>{a.preventDefault()},className:`rcb-bot-message ${A}`,children:P.jsxs("div",{className:"rcb-typing-indicator",style:{...o==null?void 0:o.rcbTypingIndicatorContainerStyle},children:[P.jsx("span",{className:"rcb-dot",style:{...o==null?void 0:o.rcbTypingIndicatorDotStyle}}),P.jsx("span",{className:"rcb-dot",style:{...o==null?void 0:o.rcbTypingIndicatorDotStyle}}),P.jsx("span",{className:"rcb-dot",style:{...o==null?void 0:o.rcbTypingIndicatorDotStyle}})]})})]})},Ui=()=>{var e,t,r;const{settings:n}=te(),{styles:o}=ue(),{messages:A}=jn(),{scrollToBottom:a}=qe(),{isBotTyping:s,syncedIsScrollingRef:i}=ke(),{chatBodyRef:l}=Ce(),c={...o==null?void 0:o.bodyStyle,scrollbarWidth:(e=n.chatWindow)!=null&&e.showScrollbar?"auto":"none"};return f.useEffect(()=>{i.current||a()},[(t=l.current)==null?void 0:t.scrollHeight]),P.jsxs("div",{style:c,className:"rcb-chat-body-container",ref:l,children:[A.map((d,u)=>{const p=(g=>g===0||A[g].sender!==A[g-1].sender)(u);return d.sender.toUpperCase()==="USER"?P.jsx(Ni,{message:d,isNewSender:p},u):d.sender.toUpperCase()==="BOT"?P.jsx(Li,{message:d,isNewSender:p},u):P.jsx("div",{children:d.content},u)}),s&&((r=n.chatWindow)==null?void 0:r.showTypingIndicator)&&P.jsx(Hi,{}),P.jsx(Oi,{})]})},Fi=({checkboxes:e,checkedItems:t,path:r})=>{var n,o,A,a,s,i,l,c,d,u,p;const{settings:g}=te(),{styles:v}=ue(),{paths:h}=Kt(),{handleSubmitText:w}=Qt(),[E,m]=f.useState(new Set),[C,k]=f.useState(!1),S={cursor:C?`url("${(n=g.general)==null?void 0:n.actionDisabledIcon}"), auto`:"pointer",color:(o=g.general)==null?void 0:o.primaryColor,borderColor:(A=g.general)==null?void 0:A.primaryColor,...v.botCheckboxRowStyle},D={cursor:C||E.size<e.min?`url("${(a=g.general)==null?void 0:a.actionDisabledIcon}"), auto`:"pointer",color:(s=g.general)==null?void 0:s.primaryColor,borderColor:(i=g.general)==null?void 0:i.primaryColor,...v.botCheckboxNextStyle},I={cursor:C?`url("${(l=g.general)==null?void 0:l.actionDisabledIcon}"), auto`:"pointer",color:"transparent",...v.botCheckMarkStyle},Q={cursor:C?`url("${(c=g.general)==null?void 0:c.actionDisabledIcon}"), auto`:"pointer",color:"#fff",borderColor:(d=g.general)==null?void 0:d.primaryColor,backgroundColor:(u=g.general)==null?void 0:u.primaryColor,...v.botCheckMarkSelectedStyle};return f.useEffect(()=>{h.length>0&&h[h.length-1]!==r&&k(!e.reusable)},[h]),P.jsxs("div",{className:"rcb-checkbox-container "+((p=g.botBubble)!=null&&p.showAvatar?"rcb-checkbox-offset":""),children:[e.items.map(x=>P.jsx("div",{onMouseDown:N=>{N.preventDefault(),(B=>{C||m(O=>{const U=new Set(O);if(U.has(B))t.delete(B),U.delete(B);else{if(E.size==e.max)return O;t.add(B),U.add(B)}return U})})(x)},style:S,className:"rcb-checkbox-row-container",children:P.jsxs("div",{className:"rcb-checkbox-row",children:[P.jsx("div",{style:E.has(x)?Q:I,className:"rcb-checkbox-mark"}),P.jsx("div",{className:"rcb-checkbox-label",children:x})]})},x)),P.jsx("div",{style:D,className:"rcb-checkbox-next-button",onMouseDown:x=>{var N;if(x.preventDefault(),C||E.size<e.min)return;const B=Array.from(t).join(", ");let O;k(!e.reusable),O=e.sendOutput!=null?e.sendOutput:((N=g.chatInput)==null?void 0:N.sendCheckboxOutput)??!0,w(B,O)}})]})},Ri=async(e,t)=>{const r=e.checkboxes;if(!r)return;let n;if(typeof r=="function"?(n=r(t),n instanceof Promise&&(n=await n)):n=r,Array.isArray(n)&&(n={items:n}),!("items"in n)||n.items.length==0)return;n.min==null&&(n.min=1),n.max==null&&(n.max=n.items.length),n.min>n.max&&(n.min=n.max),n.reusable==null&&(n.reusable=!1);const o=new Set,A=t.currPath,a=P.jsx(Fi,{checkboxes:n,checkedItems:o,path:A});await t.injectMessage(a)},zi=async(e,t)=>{const r=e.function;if(!r)return;const n=r(t);return n instanceof Promise?await n:n},ji=async(e,t,r)=>{const n=e.message;if(!n)return;if(typeof n=="string")return void(n.trim()!==""&&(r?await t.simulateStreamMessage(n):await t.injectMessage(n)));let o=n(t);o instanceof Promise&&(o=await o),typeof o=="string"&&o.trim()!==""&&(r?await t.simulateStreamMessage(o):await t.injectMessage(o))},qi=({options:e,path:t})=>{var r,n,o,A,a,s;const{settings:i}=te(),{styles:l}=ue(),{paths:c}=Kt(),{handleSubmitText:d}=Qt(),[u,p]=f.useState([]),[g,v]=f.useState(!1),h={cursor:g?`url("${(r=i.general)==null?void 0:r.actionDisabledIcon}"), auto`:"pointer",color:(n=i.general)==null?void 0:n.primaryColor,borderColor:(o=i.general)==null?void 0:o.primaryColor,backgroundColor:"#fff",...l.botOptionStyle},w={color:"#fff",borderColor:(A=i.general)==null?void 0:A.primaryColor,backgroundColor:(a=i.general)==null?void 0:a.primaryColor,...l.botOptionHoveredStyle};return f.useEffect(()=>{c.length>0&&c[c.length-1]!==t&&v(!e.reusable)},[c]),P.jsx("div",{className:"rcb-options-container "+((s=i.botBubble)!=null&&s.showAvatar?"rcb-options-offset":""),children:e.items.map((E,m)=>{const C=u[m]&&!g;return P.jsx("div",{className:"rcb-options",style:C?w:h,onMouseEnter:()=>(k=>{p(S=>{const D=[...S];return D[k]=!0,D})})(m),onMouseLeave:()=>(k=>{p(S=>{const D=[...S];return D[k]=!1,D})})(m),onMouseDown:k=>{var S;if(k.preventDefault(),g)return;let D;v(!e.reusable),D=e.sendOutput!=null?e.sendOutput:((S=i.chatInput)==null?void 0:S.sendOptionOutput)??!0,d(E,D)},children:E},E)})})},Gi=async(e,t)=>{const r=e.options;if(!r)return;let n;if(typeof r=="function"?(n=r(t),n instanceof Promise&&(n=await n)):n=r,Array.isArray(n)&&(n={items:n}),!("items"in n)||n.items.length==0)return;n.reusable==null&&(n.reusable=!1);const o=t.currPath,A=P.jsx(qi,{options:n,path:o});await t.injectMessage(A)},Wi=async(e,t)=>{const r=e.component;if(r){if(typeof r=="function"){let n=r(t);return n instanceof Promise&&(n=await n),n?void await t.injectMessage(n):void 0}await t.injectMessage(r)}},Yi=async(e,t,r,n)=>{const o=e.transition;let A;if(typeof o=="function"?(A=o(t),A instanceof Promise&&(A=await A)):A=o,typeof A=="number"&&(A={duration:A}),!A||A instanceof Promise||A.duration==null||typeof A.duration!="number")return;A.interruptable==null&&(A.interruptable=!1);const a=setTimeout(async()=>{const s=await n(e);s&&await Ao(s,t)},A.duration);A.interruptable&&(r.current=a)},Ki=async(e,t,r)=>{const n=e.chatDisabled;if(n==null)return;let o;typeof n=="function"?(o=n(t),o instanceof Promise&&(o=await o)):o=n,r(o)},oo=async(e,t,r)=>{const n=e.isSensitive;if(!n)return void r(!1);let o;typeof n=="function"?(o=n(t),o instanceof Promise&&(o=await o)):o=n,r(o)},Ao=async(e,t)=>{if(!e)throw new Error("Block is not valid.");const r=Object.keys(e);for(const n of r)n==="function"&&await zi(e,t);r.includes("path")&&await(async(n,o)=>{const A=n.path;if(!A)return!1;if(typeof A=="string")return await o.goToPath(A),!0;let a=A(o);if(a instanceof Promise&&(a=await a),!a)return!1;const s=a;return await o.goToPath(s),!0})(e,t)},Vi=()=>{var e;const{settings:t}=te(),{styles:r}=ue();return P.jsx("div",{className:"rcb-line-break-container",children:P.jsx("div",{style:{...r.chatHistoryLineBreakStyle},className:"rcb-line-break-text","data-testid":"chat-history-line-break-text",children:(e=t.chatHistory)==null?void 0:e.chatHistoryLineBreakText})})},Xi=()=>{var e;const{settings:t}=te(),{styles:r}=ue(),n={borderTop:`4px solid ${(e=t.general)==null?void 0:e.primaryColor}`,...r.loadingSpinnerStyle};return P.jsx("div",{className:"rcb-spinner-container",children:P.jsx("div",{style:n,className:"rcb-spinner"})})},fn=()=>{try{if(typeof crypto<"u"&&typeof crypto.randomUUID=="function")return crypto.randomUUID();throw new Error("crypto.randomUUID not available")}catch(e){if(typeof crypto<"u"&&typeof crypto.getRandomValues=="function")return"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,function(t){const r=crypto.getRandomValues(new Uint8Array(1))[0]%16;return(t==="x"?r:3&r|8).toString(16)});throw console.error(e),new Error("crypto.getRandomValues is also not available")}},pt=(e,t)=>({id:fn(),content:e,sender:t,type:typeof e=="string"?"string":"object",timestamp:new Date().toUTCString(),tags:[]});let gt,io=!1,pn="rcb-history",gn=30,so=!1,hn=[];const Vt=()=>hn,qn=e=>{ao(e),hn=e},ao=e=>{gt&>.setItem(pn,JSON.stringify(e))},Gn=e=>{var t,r,n,o,A;gt=((r=(t=e.chatHistory)==null?void 0:t.storageType)==null?void 0:r.toUpperCase())==="SESSION_STORAGE"?sessionStorage:localStorage,pn=(n=e.chatHistory)==null?void 0:n.storageKey,gn=(o=e.chatHistory)==null?void 0:o.maxEntries,so=(A=e.chatHistory)==null?void 0:A.disabled,hn=(a=>{if(a!=null)try{return JSON.parse(a)}catch{return[]}return[]})(gt.getItem(pn))},Ji=e=>f.isValidElement(e.content)?structuredClone({id:e.id,content:hi.renderToString(e.content),type:e.type,sender:e.sender.toUpperCase(),timestamp:e.timestamp,tags:e.tags}):e,lo=(e,t,r)=>{const n=new DOMParser().parseFromString(e,"text/html");return Array.from(n.body.childNodes).map((o,A)=>{var a;if(o.nodeType===Node.TEXT_NODE)return o.textContent;{const s=o.tagName.toLowerCase();let i=Array.from(o.attributes).reduce((l,c)=>{const d=c.name.toLowerCase();if(d==="style"){const u=c.value.split(";").filter(g=>g.trim()!==""),p={};u.forEach(g=>{const[v,h]=g.split(":").map(E=>E.trim()),w=v.replace(/-([a-z])/g,(E,m)=>m.toUpperCase());p[w]=h}),l[d]=p}else s!=="audio"&&s!=="video"||d!=="controls"||c.value!==""?l[d]=c.value:l[d]="true";return l},{});if(Object.prototype.hasOwnProperty.call(i,"class")){const l=o.classList;i.className=l.toString(),delete i.class,(a=t.botBubble)!=null&&a.showAvatar&&(i=Zi(l,i)),i=$i(l,i,t,r),i=es(l,i,t,r),i=ts(l,i,t,r),i=ns(l,i,t,r)}if(["area","base","br","col","embed","hr","img","input","link","meta","source","track","wbr"].includes(s))return f.createElement(s,{key:A,...i});{const l=lo(o.innerHTML,t,r);return f.createElement(s,{key:A,...i},...l)}}})},Zi=(e,t)=>((e.contains("rcb-options-container")||e.contains("rcb-checkbox-container"))&&(t.className=`${e.toString()} rcb-options-offset`),t),$i=(e,t,r,n)=>{var o,A,a,s,i;return e.contains("rcb-options")&&(t.style={...t.style,color:((o=n.botOptionStyle)==null?void 0:o.color)??((A=r.general)==null?void 0:A.primaryColor),borderColor:((a=n.botOptionStyle)==null?void 0:a.color)??((s=r.general)==null?void 0:s.primaryColor),cursor:`url("${(i=r.general)==null?void 0:i.actionDisabledIcon}"), auto`,...n.botOptionStyle}),t},es=(e,t,r,n)=>{var o,A,a,s,i;return e.contains("rcb-checkbox-row-container")&&(t.style={...t.style,color:((o=n.botCheckboxRowStyle)==null?void 0:o.color)??((A=r.general)==null?void 0:A.primaryColor),borderColor:((a=n.botCheckboxRowStyle)==null?void 0:a.color)??((s=r.general)==null?void 0:s.primaryColor),cursor:`url("${(i=r.general)==null?void 0:i.actionDisabledIcon}"), auto`,...n.botCheckboxRowStyle}),t},ts=(e,t,r,n)=>{var o,A,a,s,i;return e.contains("rcb-checkbox-next-button")&&(t.style={...t.style,color:((o=n.botCheckboxNextStyle)==null?void 0:o.color)??((A=r.general)==null?void 0:A.primaryColor),borderColor:((a=n.botCheckboxNextStyle)==null?void 0:a.color)??((s=r.general)==null?void 0:s.primaryColor),cursor:`url("${(i=r.general)==null?void 0:i.actionDisabledIcon}"), auto`,...n.botCheckboxNextStyle}),t},ns=(e,t,r,n)=>{var o,A;return(e.contains("rcb-media-display-image-container")||e.contains("rcb-media-display-video-container"))&&(t.style={...t.style,backgroundColor:(o=r.general)==null?void 0:o.primaryColor,maxWidth:(A=r.userBubble)!=null&&A.showAvatar?"65%":"70%",...n.mediaDisplayContainerStyle}),t},Wn=()=>{const{settings:e}=te(),{notificationsToggledOn:t,setSyncedNotificationsToggledOn:r,hasInteractedPage:n,unreadCount:o,setUnreadCount:A,syncedNotificationsToggledOnRef:a}=ke(),{audioBufferRef:s,audioContextRef:i,gainNodeRef:l}=Ce(),{dispatchRcbEvent:c}=Ze(),d=f.useCallback(async()=>{var p,g;const v=(p=e.notification)==null?void 0:p.sound;i.current=new AudioContext;const h=i.current.createGain();let w;if(h.gain.value=((g=e.notification)==null?void 0:g.volume)??.2,l.current=h,v!=null&&v.startsWith("data:audio")){const E=atob(v.split(",")[1]),m=new ArrayBuffer(E.length),C=new Uint8Array(m);for(let k=0;k<E.length;k++)C[k]=E.charCodeAt(k);w=m}else w=await(await fetch(v)).arrayBuffer();s.current=await i.current.decodeAudioData(w)},[e.notification]),u=f.useCallback(()=>{var p;if((p=e.notification)!=null&&p.disabled||!a.current||!n||!i.current||!s.current)return;const g=i.current.createBufferSource();g.buffer=s.current,g.connect(l.current).connect(i.current.destination),g.start()},[e.notification,a,n,i,s,l]);return{unreadCount:o,setUnreadCount:A,notificationsToggledOn:t,toggleNotifications:f.useCallback(async p=>{var g;p!==a.current&&((g=e.event)!=null&&g.rcbToggleNotifications&&(await c(R.TOGGLE_NOTIFICATIONS,{currState:a.current,newState:!a.current})).defaultPrevented||r(v=>!v))},[a]),playNotificationSound:u,setUpNotifications:d}},rs=(e,t)=>{var r,n,o,A;((a,s,i,l,c)=>{if(!window.SpeechSynthesisUtterance)return void console.info("Speech Synthesis API is not supported in this environment.");const d=new window.SpeechSynthesisUtterance;d.text=a,d.lang=s,d.rate=l,d.volume=c;let u=!1;for(const p of i){const g=window.speechSynthesis.getVoices().find(v=>v.name===p);if(g){d.voice=g,window.speechSynthesis.speak(d),u=!0;break}}u||window.speechSynthesis.speak(d)})(t,(r=e.audio)==null?void 0:r.language,(n=e.audio)==null?void 0:n.voiceNames,(o=e.audio)==null?void 0:o.rate,(A=e.audio)==null?void 0:A.volume)},co=()=>{const{settings:e}=te(),{audioToggledOn:t,setSyncedAudioToggledOn:r,syncedAudioToggledOnRef:n}=ke(),{dispatchRcbEvent:o}=Ze(),A=f.useCallback(async s=>{var i;s!==n.current&&((i=e.event)!=null&&i.rcbToggleAudio&&(await o(R.TOGGLE_AUDIO,{currState:n.current,newState:!n.current})).defaultPrevented||r(l=>!l))},[n]),a=f.useCallback(async s=>{var i,l;if((i=e.audio)!=null&&i.disabled||!n.current)return;let c=s;if((l=e.event)!=null&&l.rcbStartSpeakAudio){const d=await o(R.START_SPEAK_AUDIO,{textToRead:c});if(d.defaultPrevented)return;c=d.data.textToRead}rs(e,c)},[e,n]);return{audioToggledOn:t,speakAudio:a,toggleAudio:A}},St=()=>{var e,t,r;const{settings:n}=te(),{messages:o,setSyncedMessages:A,syncedMessagesRef:a}=jn(),{setSyncedIsBotTyping:s,setUnreadCount:i,syncedIsScrollingRef:l,syncedIsChatWindowOpenRef:c}=ke(),{streamMessageMap:d,chatBodyRef:u,paramsInputRef:p}=Ce(),{scrollToBottom:g,getIsChatBotVisible:v}=qe(),{dispatchRcbEvent:h}=Ze(),{speakAudio:w}=co(),{playNotificationSound:E}=Wn(),m=f.useCallback(async B=>{var O,U;if((O=n.event)!=null&&O.rcbSaveChatHistory){const _=await h(R.SAVE_CHAT_HISTORY,{messages:B});if(_.defaultPrevented)return;B=((U=_.data)==null?void 0:U.messages)??B}await(async _=>{if(so||!gt)return;const F=[];for(let L=_.length-1;L>=0;L--){const y=_[L];if(y.sender.toUpperCase()!=="SYSTEM"&&(y.content!==""&&F.unshift(y),F.length===gn))break}let M=F.map(Ji);if(!io&&M.length<gn){const L=gn-M.length;M=[...hn.slice(-L),...M]}ao(M)})(B)},[h,(e=n.event)==null?void 0:e.rcbSaveChatHistory]),C=f.useCallback((B,O=!1)=>{var U,_;m(B);let F=!0;const M=B[B.length-1];if(!M)return;const L=M.sender.toUpperCase();L==="USER"&&(F=!1),(U=n.general)!=null&&U.embedded&&v()&&(F=!1),(c.current&&!l.current||O)&&(F=!1),F&&E(),!O&&(L!=="USER"&&(_=n.chatWindow)!=null&&_.autoJumpToBottom||L==="USER"||!l.current)&&setTimeout(()=>g(),1)},[n,u,c,l,E,g,v]),k=f.useCallback(async(B,O="BOT",U=null)=>{var _,F,M,L,y;if(typeof B!="string")throw new Error("Content must be of type string to simulate stream.");O=O.toUpperCase();let Y=pt(B,O);if((_=n.event)!=null&&_.rcbStartSimulateStreamMessage){const re=await h(R.START_SIMULATE_STREAM_MESSAGE,{message:Y});if(re.defaultPrevented)return null;U=re.data.simulateStreamChunker||U,Y=re.data.message}s(!1);let b=30;b=O==="BOT"?(F=n.botBubble)==null?void 0:F.streamSpeed:(M=n.userBubble)==null?void 0:M.streamSpeed;const J={...Y,content:""};A(re=>[...re,J]),C(a.current);let j=Y.content;U&&(j=U(j));let K=0;const V=j.length;Y.sender.toUpperCase()==="BOT"&&(c.current||(L=n.general)!=null&&L.embedded)&&typeof Y.content=="string"&&Y.content.trim()!==""&&w(Y.content);const ae=new Promise(re=>{const Ue=setInterval(()=>{if(K>=V)return clearInterval(Ue),void re();A(Se=>{const xe=[...Se];for(let Je=xe.length-1;Je>=0;Je--)if(xe[Je].id===J.id){const z=j[K];z&&(J.content+=z,xe[Je]=J),K++;break}return xe})},b)});return(l.current||!c.current)&&i(re=>re+1),await ae,m(a.current),(y=n.event)!=null&&y.rcbStopSimulateStreamMessage&&await h(R.STOP_SIMULATE_STREAM_MESSAGE,{message:Y}),O==="USER"&&(p.current=B),Y},[n,h,C,a,p,s,i,c,w]),S=f.useCallback(async(B,O="BOT")=>{var U,_,F;O=O.toUpperCase();let M=pt(B,O);if((U=n.event)!=null&&U.rcbPreInjectMessage){const L=await h(R.PRE_INJECT_MESSAGE,{message:M});if(L.defaultPrevented)return null;M=L.data.message}return M.sender.toUpperCase()==="BOT"&&(c.current||(_=n.general)!=null&&_.embedded)&&typeof M.content=="string"&&M.content.trim()!==""&&w(M.content),(l.current||!c.current)&&i(L=>L+1),(F=n.event)!=null&&F.rcbPostInjectMessage&&await h(R.POST_INJECT_MESSAGE,{message:M}),A(L=>[...L,M]),C(a.current),O==="USER"&&typeof B=="string"&&(p.current=B),M},[n,h,C,p,a,c,w,i]),D=f.useCallback(async B=>{var O;let U=a.current.find(M=>M.id===B),_=null,F=!1;return U||(_=Vt(),U=_.find(M=>M.id===B),U&&(F=!0)),!U||(O=n.event)!=null&&O.rcbRemoveMessage&&(await h(R.REMOVE_MESSAGE,{message:U})).defaultPrevented?null:F?(_&&qn(_.filter(M=>M.id!==B)),U):(A(M=>M.filter(L=>L.id!==B)),C(a.current),i(M=>Math.max(M-1,0)),U)},[h,(t=n.event)==null?void 0:t.rcbRemoveMessage,C,a,i,Vt,qn]),I=f.useCallback(async(B,O="BOT")=>{var U,_;if(O=O.toUpperCase(),!d.current.has(O)){const M=pt(B,O);return(U=n.event)!=null&&U.rcbStartStreamMessage&&(await h(R.START_STREAM_MESSAGE,{message:M})).defaultPrevented?null:(s(!1),A(L=>[...L,M]),C(a.current),d.current.set(O,M.id),(l.current||!c.current)&&i(L=>L+1),M)}const F={...pt(B,O),id:d.current.get(O)};return(_=n.event)!=null&&_.rcbChunkStreamMessage&&(await h(R.CHUNK_STREAM_MESSAGE,{message:F})).defaultPrevented?null:(A(M=>M.map(L=>L.id===F.id?F:L)),C(a.current,!0),F)},[h,n.event,C,a,s,i,d]),Q=f.useCallback(async(B="BOT")=>{var O;if(B=B.toUpperCase(),!d.current.has(B))return!0;const U=d.current.get(B);let _;for(let F=0;F<3;F++){const M=a.current.find(L=>L.id===U);M&&(_=M),await new Promise(L=>setTimeout(L,20))}return((O=n.event)==null||!O.rcbStopStreamMessage||!(await h(R.STOP_STREAM_MESSAGE,{message:_})).defaultPrevented)&&(d.current.delete(B),m(a.current),B==="USER"&&typeof(_==null?void 0:_.content)=="string"&&(p.current=_.content),!0)},[h,(r=n.event)==null?void 0:r.rcbStopStreamMessage,d,p]),x=f.useCallback(B=>{const O=typeof B=="function"?B(a.current):B;A(O),C(O)},[C,a]),N=f.useCallback((B,O,U=0)=>{var _;const F=a.current,M=B?B.toUpperCase():null,L=[];let y=U;for(let Y=F.length-1;Y>=0;Y--){const b=F[Y];if(!M||((_=b==null?void 0:b.sender)==null?void 0:_.toUpperCase())===M){if(y>0){y--;continue}if(L.push(b),O!==void 0&&L.length===O)break}}return L.length>0?L:null},[a]);return{simulateStreamMessage:k,injectMessage:S,removeMessage:D,streamMessage:I,endStreamMessage:Q,replaceMessages:x,getMessages:N,messages:o}};let Yn,et,mn,ht=!1,tt=null;const Kn=()=>{if(!Yn){const e=window.SpeechRecognition||window.webkitSpeechRecognition;Yn=e!=null?new e:null}return Yn},os=(e,t,r,n,o,A)=>{var a,s,i;const l=Kn();if(!l)return;if(!ht)try{ht=!0,l.lang=(a=e.voice)==null?void 0:a.language,l.start()}catch{}const c=(s=e.voice)==null?void 0:s.timeoutPeriod,d=(i=e.voice)==null?void 0:i.autoSendPeriod;l.onresult=u=>{var p,g;clearTimeout(et),et=null,clearTimeout(mn);const v=u.results[u.results.length-1][0].transcript;if(A.current){const h=(p=e.chatInput)==null?void 0:p.characterLimit,w=A.current.value+v;h!=null&&h>=0&&w.length>h?n(w.slice(0,h)):n(w),o(A.current.value.length)}c&&(et=setTimeout(async()=>await Xn(t,A),c)),(g=e.voice)!=null&&g.autoSendDisabled||(mn=setTimeout(r,d))},l.onend=()=>{ht?(l.start(),!et&&c&&(et=setTimeout(async()=>await Xn(t,A),c))):(clearTimeout(et),et=null,clearTimeout(mn))},c&&(et=setTimeout(async()=>await Xn(t,A),c))},As=(e,t)=>{navigator.mediaDevices.getUserMedia({audio:!0}).then(r=>{if(tt=new MediaRecorder(r),!ht)try{ht=!0,tt.start()}catch{}tt.ondataavailable=n=>{t.current&&t.current.push(n.data)},tt.onstop=()=>{e(),r.getTracks().forEach(n=>n.stop())}}).catch(r=>{console.error("Unable to use microphone:",r)})},Vn=()=>{const e=Kn();e&&(ht=!1,e&&e.stop(),tt&&tt.state!=="inactive"&&(tt.stop(),tt=null),clearTimeout(et),et=null,clearTimeout(mn))},Xn=async(e,t)=>{var r;(r=t.current)!=null&&r.disabled||await e(),Vn()},Jn=()=>{const{settings:e}=te(),{voiceToggledOn:t,setSyncedVoiceToggledOn:r,syncedVoiceToggledOnRef:n}=ke(),{dispatchRcbEvent:o}=Ze(),A=f.useCallback(async s=>{var i;s!==n.current&&((i=e.event)!=null&&i.rcbToggleVoice&&(await o(R.TOGGLE_VOICE,{currState:n.current,newState:!n.current})).defaultPrevented||r(l=>!l))},[n]),a=f.useCallback(s=>{((i,l)=>{var c,d,u;const p=Kn();(c=l.voice)!=null&&c.disabled||(d=l.chatInput)==null||!d.blockSpam||!p||(i&&!ht?(ht=!0,(u=l.voice)!=null&&u.sendAsAudio?tt==null||tt.start():p.start()):i||Vn())})(s,e)},[e]);return{voiceToggledOn:t,toggleVoice:A,syncVoice:a}},kt=()=>{var e;const{settings:t}=te(),{inputLength:r,setInputLength:n,textAreaDisabled:o,setSyncedTextAreaDisabled:A,textAreaSensitiveMode:a,setSyncedTextAreaSensitiveMode:s,syncedTextAreaDisabledRef:i,syncedTextAreaSensitiveModeRef:l}=ke(),{inputRef:c,chatBodyRef:d,prevInputRef:u}=Ce(),{dispatchRcbEvent:p}=Ze(),{getIsChatBotVisible:g}=qe(),v=f.useCallback(async S=>{var D,I,Q;if(i.current&&c.current)c.current.value="";else if(c.current&&u.current!==null){const x=(D=t.chatInput)==null?void 0:D.characterLimit,N=(I=t.chatInput)!=null&&I.allowNewline?S:S.replace(/\n/g," ");if(x!=null&&x>=0&&N.length>x?c.current.value=N.slice(0,x):c.current.value=N,(Q=t.event)!=null&&Q.rcbTextAreaChangeValue&&(await p(R.TEXT_AREA_CHANGE_VALUE,{currValue:c.current.value,prevValue:u.current})).defaultPrevented)return void(c.current.value=u.current);u.current=c.current.value}},[i,c,u,t,p]),h=f.useCallback(S=>{var D;(D=c.current)!=null&&D.disabled||setTimeout(()=>{var I,Q,x;(I=t.general)!=null&&I.embedded?g()&&((Q=c.current)==null||Q.focus()):S!=="start"&&((x=c.current)==null||x.focus())},100)},[c,(e=t.general)==null?void 0:e.embedded,d,g]),w=f.useCallback(()=>{c.current&&c.current.focus()},[]),E=f.useCallback(()=>{c.current&&c.current.blur()},[]),m=f.useCallback(()=>c&&c.current?c.current.value:"",[]),C=f.useCallback(S=>{S!==i.current&&A(D=>!D)},[i]),k=f.useCallback(S=>{S!==l.current&&s(D=>!D)},[l]);return{textAreaDisabled:o,setSyncedTextAreaDisabled:A,textAreaSensitiveMode:a,setSyncedTextAreaSensitiveMode:s,inputLength:r,setInputLength:n,getTextAreaValue:m,setTextAreaValue:v,updateTextAreaFocus:h,focusTextArea:w,blurTextArea:E,toggleTextAreaDisabled:C,toggleTextAreaSensitiveMode:k}},uo=f.createContext({toasts:[],setSyncedToasts:()=>{},syncedToastsRef:{current:[]}}),fo=()=>f.useContext(uo),is=({children:e})=>{const[t,r,n]=je([]);return P.jsx(uo.Provider,{value:{toasts:t,setSyncedToasts:r,syncedToastsRef:n},children:e})},Tt=()=>{const{settings:e}=te(),{toasts:t,setSyncedToasts:r,syncedToastsRef:n}=fo(),{dispatchRcbEvent:o}=Ze(),A=f.useCallback(async(i,l)=>{var c,d,u,p;let g=null;if(n.current.length>=(((c=e.toast)==null?void 0:c.maxCount)??3)){if((d=e.toast)!=null&&d.forbidOnMax)return null;g=fn();let h={id:g,content:i,timeout:l};if((u=e.event)!=null&&u.rcbShowToast){const w=await o(R.SHOW_TOAST,{toast:h});if(w.defaultPrevented)return null;h=w.data.toast}return r(w=>[...w.slice(1),h]),g}g=fn();let v={id:g,content:i,timeout:l};if((p=e.event)!=null&&p.rcbShowToast){const h=await o(R.SHOW_TOAST,{toast:v});if(h.defaultPrevented)return null;v=h.data.toast}return r(h=>[...h,v]),g},[e,o]),a=f.useCallback(async i=>{var l;const c=n.current.find(d=>d.id===i);return!c||(l=e.event)!=null&&l.rcbDismissToast&&(await o(R.DISMISS_TOAST,{toast:c})).defaultPrevented?null:(r(d=>d.filter(u=>u.id!==i)),i)},[o]),s=f.useCallback(i=>{const l=typeof i=="function"?i(n.current):i;r(l)},[n]);return{showToast:A,dismissToast:a,toasts:t,replaceToasts:s}},yn=()=>{var e,t,r,n,o;const{settings:A}=te(),{paths:a,setSyncedPaths:s,syncedPathsRef:i}=Kt(),{flowRef:l,streamMessageMap:c,paramsInputRef:d,keepVoiceOnRef:u,timeoutIdRef:p}=Ce(),{setSyncedIsBotTyping:g,setSyncedTextAreaDisabled:v,setSyncedTextAreaSensitiveMode:h,blockAllowsAttachment:w,setBlockAllowsAttachment:E}=ke(),{dispatchRcbEvent:m}=Ze(),{endStreamMessage:C,injectMessage:k,removeMessage:S,simulateStreamMessage:D,streamMessage:I}=St(),{showToast:Q,dismissToast:x}=Tt(),{toggleChatWindow:N}=qe(),{updateTextAreaFocus:B,setTextAreaValue:O}=kt(),{syncVoice:U}=Jn(),_=f.useCallback(async b=>{var J;if((J=A.event)!=null&&J.rcbPostProcessBlock){const j=await m(R.POST_PROCESS_BLOCK,{block:b});if(j.defaultPrevented)return null;b=j.data.block}return b},[(e=A.event)==null?void 0:e.rcbPostProcessBlock,m]),F=f.useCallback(async(b,J)=>{var j,K,V,ae;if(!b)return;let re=l.current[b];if(!re)return void g(!1);if((j=A.event)!=null&&j.rcbPreProcessBlock){const Se=await m(R.PRE_PROCESS_BLOCK,{block:re});if(Se.defaultPrevented)return;re=Se.data.block}g(!0),(K=A.chatInput)!=null&&K.blockSpam&&v(!0),h(!1);const Ue={prevPath:J,currPath:b,goToPath:y,setTextAreaValue:O,userInput:d.current,endStreamMessage:C,injectMessage:k,removeMessage:S,simulateStreamMessage:D,streamMessage:I,toggleChatWindow:N,showToast:Q,dismissToast:x};await(async(Se,xe,Je,z,q,le,ne)=>{if(!Se)throw new Error("Block is not valid.");for(const me of Object.keys(Se))switch(me){case"message":await ji(Se,xe,Je);break;case"options":await Gi(Se,xe);break;case"checkboxes":await Ri(Se,xe);break;case"component":await Wi(Se,xe);break;case"chatDisabled":await Ki(Se,xe,q);break;case"isSensitive":await oo(Se,xe,le);break;case"transition":await Yi(Se,xe,z,ne)}})(re,Ue,((V=A.botBubble)==null?void 0:V.simulateStream)??!1,p,v,h,_),g(!1),"chatDisabled"in re||v((ae=A.chatInput)==null?void 0:ae.disabled),"isSensitive"in re||h(!1),E(typeof re.file=="function"),B(b),U(u.current&&!re.chatDisabled),b!==J&&c.current.clear()},[l,B,U,(t=A.botBubble)==null?void 0:t.simulateStream,(r=A.chatInput)==null?void 0:r.disabled,d,C,k,S,D,I,N,Q,x,u,c]),M=f.useCallback(()=>i.current.length>0?i.current.at(-1)??null:null,[]),L=f.useCallback(()=>i.current.length>1?i.current.at(-2)??null:null,[]),y=f.useCallback(async b=>{var J;const j=M(),K=L();return((J=A.event)==null||!J.rcbChangePath||!(await m(R.CHANGE_PATH,{currPath:j,prevPath:K,nextPath:b})).defaultPrevented)&&(s(V=>[...V,b]),await F(b,j),!0)},[(n=A.chatInput)==null?void 0:n.blockSpam,(o=A.event)==null?void 0:o.rcbChangePath,F,m]),Y=f.useCallback(b=>{const J=typeof b=="function"?b(i.current):b;s(J)},[i]);return{getCurrPath:M,getPrevPath:L,goToPath:y,blockAllowsAttachment:w,setBlockAllowsAttachment:E,paths:a,replacePaths:Y,firePostProcessBlockEvent:_}},Qt=()=>{var e,t,r,n;const{settings:o}=te(),{endStreamMessage:A,injectMessage:a,removeMessage:s,simulateStreamMessage:i,streamMessage:l}=St(),{syncedPathsRef:c}=Kt(),{getCurrPath:d,getPrevPath:u,goToPath:p,firePostProcessBlockEvent:g}=yn(),{setSyncedTextAreaSensitiveMode:v,setSyncedTextAreaDisabled:h,setSyncedIsBotTyping:w,setBlockAllowsAttachment:E,setInputLength:m,syncedVoiceToggledOnRef:C,syncedTextAreaSensitiveModeRef:k}=ke(),{flowRef:S,inputRef:D,keepVoiceOnRef:I,paramsInputRef:Q,timeoutIdRef:x}=Ce(),{showToast:N,dismissToast:B}=Tt(),{dispatchRcbEvent:O}=Ze(),{syncVoice:U}=Jn(),{setTextAreaValue:_}=kt(),{toggleChatWindow:F}=qe(),M=f.useCallback(async y=>{var Y,b,J,j,K,V;const ae=d();if(ae&&S.current[ae]){if(k.current){if((Y=o==null?void 0:o.sensitiveInput)!=null&&Y.hideInUserBubble)return;if((b=o==null?void 0:o.sensitiveInput)!=null&&b.maskInUserBubble)return void((J=o.userBubble)!=null&&J.simulateStream?await i("*".repeat(((j=o.sensitiveInput)==null?void 0:j.asterisksCount)??10),"USER"):await a("*".repeat(((K=o.sensitiveInput)==null?void 0:K.asterisksCount)??10),"USER"))}(V=o.userBubble)!=null&&V.simulateStream?await i(y,"USER"):await a(y,"USER")}},[S,d,o,a,i,k]),L=f.useCallback(async(y,Y=!0)=>{var b,J;if((y=y.trim())==="")return;Y&&await M(y),x.current&&clearTimeout(x.current),D.current&&(_(""),m(0));const j=d();if(!j)return;let K=S.current[j];const V=await g(K);V&&((b=o.chatInput)!=null&&b.blockSpam&&h(!0),I.current=C.current,U(!1),setTimeout(()=>{w(!0)},400),v(!1),setTimeout(async()=>{var ae;const re={prevPath:u(),currPath:d(),goToPath:p,setTextAreaValue:_,userInput:Q.current,injectMessage:a,simulateStreamMessage:i,streamMessage:l,removeMessage:s,endStreamMessage:A,toggleChatWindow:F,showToast:N,dismissToast:B},Ue=c.current.length;await Ao(V,re),c.current.length===Ue&&(h("chatDisabled"in K?!!K.chatDisabled:!((ae=o.chatInput)==null||!ae.disabled)),oo(K,re,v),E(typeof K.file=="function"),U(I.current),w(!1))},(J=o.chatInput)==null?void 0:J.botDelay))},[x,(e=o.chatInput)==null?void 0:e.blockSpam,(t=o.chatInput)==null?void 0:t.botDelay,(r=o.chatInput)==null?void 0:r.disabled,I,C,U,M,u,d,p,a,i,l,s,A,F,N,B,S]);return{handleSubmitText:f.useCallback(async(y,Y=!0)=>{var b,J;y=y??((b=D.current)==null?void 0:b.value),!((J=o.event)!=null&&J.rcbUserSubmitText&&(await O(R.USER_SUBMIT_TEXT,{inputText:y,sendInChat:Y})).defaultPrevented||!d())&&L(y,Y)},[O,d,L,D,(n=o.event)==null?void 0:n.rcbUserSubmitText])}},vn=()=>{var e;const{settings:t}=te();return f.useMemo(()=>{var r;if(typeof window>"u"||!window.navigator)return!1;if((r=t.device)==null||!r.applyMobileOptimizations)return!0;const n=navigator.userAgent,o=!/Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(n),A=window.innerWidth>=768;return o&&A},[(e=t.device)==null?void 0:e.applyMobileOptimizations])},ss=({buttons:e})=>{var t,r,n,o,A,a,s,i,l,c,d;const u=vn(),{settings:p}=te(),{styles:g}=ue(),{textAreaDisabled:v,textAreaSensitiveMode:h,inputLength:w,hasFlowStarted:E,setHasFlowStarted:m,setInputLength:C}=ke(),{inputRef:k}=Ce(),[S,D]=f.useState(!1),[I,Q]=f.useState(!1),{handleSubmitText:x}=Qt(),{setTextAreaValue:N}=kt(),B={boxSizing:u?"content-box":"border-box",...g.chatInputAreaStyle},O={outline:v?"":"none",boxShadow:v?"":`0 0 5px ${(t=p.general)==null?void 0:t.primaryColor}`,boxSizing:u?"content-box":"border-box",...g.chatInputAreaStyle,...g.chatInputAreaFocusedStyle},U={cursor:`url("${(r=p.general)==null?void 0:r.actionDisabledIcon}"), auto`,caretColor:"transparent",boxSizing:u?"content-box":"border-box",...g.chatInputAreaStyle,...g.chatInputAreaDisabledStyle},_={color:"#989898",...g.characterLimitStyle},F={color:"#ff0000",...g.characterLimitReachedStyle},M=v?(n=p.chatInput)==null?void 0:n.disabledPlaceholderText:(o=p.chatInput)==null?void 0:o.enabledPlaceholderText,L=()=>{v||D(!0)},y=()=>{D(!1)},Y=()=>{Q(!0)},b=()=>{Q(!1)},J=async K=>{var V;if(!I&&K.key==="Enter"){if(K.shiftKey)return void((V=p.chatInput)!=null&&V.allowNewline||K.preventDefault());K.preventDefault(),await x()}},j=K=>{k.current&&(N(K.target.value),C(k.current.value.length))};return P.jsxs("div",{"aria-label":((A=p.ariaLabel)==null?void 0:A.inputTextArea)??"input text area",role:"textbox",onMouseDown:K=>{var V;K.stopPropagation(),!E&&((V=p.general)==null?void 0:V.flowStartTrigger)==="ON_CHATBOT_INTERACT"&&m(!0)},style:{...g.chatInputContainerStyle},className:"rcb-chat-input",children:[h&&(a=p.sensitiveInput)!=null&&a.maskInTextArea?P.jsx("input",{ref:k,type:"password",className:"rcb-chat-input-textarea",style:v?U:S?O:B,placeholder:M,onChange:j,onKeyDown:J,onFocus:L,onBlur:y,onCompositionStart:Y,onCompositionEnd:b}):P.jsx("textarea",{ref:k,style:v?U:S?O:B,rows:1,className:"rcb-chat-input-textarea",placeholder:M,onChange:j,onKeyDown:J,onFocus:L,onBlur:y,onCompositionStart:Y,onCompositionEnd:b}),P.jsxs(P.Fragment,{children:[e==null?void 0:e.map((K,V)=>P.jsx(f.Fragment,{children:K},V)),((s=p.chatInput)==null?void 0:s.showCharacterCount)&&((i=p.chatInput)==null?void 0:i.characterLimit)!=null&&((l=p.chatInput)==null?void 0:l.characterLimit)>0&&P.jsxs("div",{className:"rcb-chat-input-char-counter",style:w>=((c=p.chatInput)==null?void 0:c.characterLimit)?F:_,children:[w,"/",(d=p.chatInput)==null?void 0:d.characterLimit]})]})]})},as=({buttons:e})=>{var t;const{settings:r}=te(),{styles:n}=ue();return P.jsxs("div",{"data-testid":"chatbot-footer-container",style:{...n.footerStyle},className:"rcb-chat-footer-container",children:[P.jsx("div",{className:"rcb-chat-footer",children:e==null?void 0:e.map((o,A)=>P.jsx(f.Fragment,{children:o},A))}),P.jsx("span",{children:(t=r.footer)==null?void 0:t.text})]})},ls=()=>{var e,t,r,n,o,A,a;const{settings:s}=te(),{styles:i}=ue(),{unreadCount:l}=ke(),{isChatWindowOpen:c,toggleChatWindow:d}=qe(),[u,p]=f.useState(!1),g={backgroundImage:`linear-gradient(to right, ${(e=s.general)==null?void 0:e.secondaryColor},
|
|
3
|
+
${(t=s.general)==null?void 0:t.primaryColor})`,...i.chatButtonStyle},v={transform:"scale(1.05)",...g,...i.chatButtonHoveredStyle},h={backgroundImage:`url(${(r=s.chatButton)==null?void 0:r.icon})`,fill:"#fff",width:75,height:75,...i.chatIconStyle};return P.jsx(P.Fragment,{children:!((n=s.general)!=null&&n.embedded)&&P.jsxs("div",{"aria-label":((o=s.ariaLabel)==null?void 0:o.chatButton)??"open chat",role:"button",style:u?v:g,className:"rcb-toggle-button "+(c?"rcb-button-hide":"rcb-button-show"),onMouseEnter:()=>{p(!0)},onMouseLeave:()=>{p(!1)},onClick:()=>d(!0),children:[(()=>{var w;const E=(w=s.chatButton)==null?void 0:w.icon;return E&&typeof E!="string"?E&&P.jsx("span",{className:"rcb-toggle-icon",children:P.jsx(E,{style:h})}):P.jsx("span",{className:"rcb-toggle-icon",style:h})})(),!((A=s.notification)!=null&&A.disabled)&&((a=s.notification)==null?void 0:a.showCount)&&P.jsx("span",{style:{...i.notificationBadgeStyle},className:"rcb-badge",children:l})]})})},cs=()=>{var e,t,r,n,o,A;const a=vn(),{settings:s}=te(),{styles:i}=ue(),{chatBodyRef:l}=Ce(),{isChatWindowOpen:c,toggleChatWindow:d}=qe(),[u,p]=f.useState(!1),[g,v]=f.useState(!1),[h,w]=f.useState(0);f.useEffect(()=>{var C,k,S;const D=(C=s.tooltip)==null?void 0:C.mode;if(D==="ALWAYS")if(a){let I;I=c?(((k=l.current)==null?void 0:k.offsetWidth)??375)-(typeof((S=i.chatButtonStyle)==null?void 0:S.width)=="number"?i.chatButtonStyle.width:75):0,w(I),p(!0)}else p(!c);else D==="NEVER"?p(!1):D==="START"?g?p(!1):(v(!0),p(!0)):D==="CLOSE"&&p(!c)},[c,a,g,(e=i.chatButtonStyle)==null?void 0:e.width,(t=s.tooltip)==null?void 0:t.mode]);const E={transform:`translateX(-${h}px)`,right:(((r=i.chatButtonStyle)==null?void 0:r.width)??75)+40,bottom:30,backgroundColor:(n=s.general)==null?void 0:n.secondaryColor,color:"#fff",...i.tooltipStyle},m={borderColor:`transparent transparent transparent ${E.backgroundColor}`};return P.jsx(P.Fragment,{children:!((o=s.general)!=null&&o.embedded)&&P.jsxs("div",{"data-testid":"chat-tooltip",style:E,className:"rcb-chat-tooltip "+(u?"rcb-tooltip-show":"rcb-tooltip-hide"),onClick:()=>d(!0),children:[P.jsx("span",{children:(A=s.tooltip)==null?void 0:A.text}),P.jsx("span",{className:"rcb-chat-tooltip-tail",style:m})]})})},us=({id:e,content:t,timeout:r})=>{var n,o;const{settings:A}=te(),{styles:a}=ue(),[s]=f.useState({toastPromptStyle:{...a.toastPromptStyle},toastPromptHoveredStyle:{...a.toastPromptHoveredStyle}}),{dismissToast:i}=Tt(),[l,c]=f.useState(!1),d={color:(n=A.general)==null?void 0:n.primaryColor,borderColor:(o=A.general)==null?void 0:o.primaryColor,...s.toastPromptHoveredStyle};return f.useEffect(()=>{if(r){const u=setTimeout(()=>{i(e)},r);return()=>clearTimeout(u)}},[e,i,r]),typeof t=="string"?P.jsx("div",{onMouseEnter:()=>{c(!0)},onMouseLeave:()=>{c(!1)},style:l?d:s.toastPromptStyle,onMouseDown:async u=>{var p;(p=A.toast)!=null&&p.dismissOnClick&&(u.preventDefault(),await i(e))},className:"rcb-toast-prompt",children:t}):P.jsx(P.Fragment,{children:t})},ds=()=>{var e,t,r,n,o,A,a,s,i,l,c,d;const{styles:u}=ue(),{toasts:p}=fo(),g={bottom:`calc(${typeof((e=u.footerStyle)==null?void 0:e.height)=="number"?`${(t=u.footerStyle)==null?void 0:t.height}px`:((r=u.footerStyle)==null?void 0:r.height)??"50px"} + ${typeof((n=u.chatInputContainerStyle)==null?void 0:n.height)=="number"?`${(o=u.chatInputContainerStyle)==null?void 0:o.height}px`:((A=u.chatInputContainerStyle)==null?void 0:A.height)??"70px"} + 20px)`,width:300,minWidth:`calc(${typeof((a=u.chatWindowStyle)==null?void 0:a.width)=="number"?`${(s=u.chatWindowStyle)==null?void 0:s.width}px`:((i=u.chatWindowStyle)==null?void 0:i.width)??"375px"} / 2)`,maxWidth:`calc(${typeof((l=u.chatWindowStyle)==null?void 0:l.width)=="number"?`${(c=u.chatWindowStyle)==null?void 0:c.width}px`:((d=u.chatWindowStyle)==null?void 0:d.width)??"375px"} - 50px)`,...u.toastPromptContainerStyle};return P.jsx("div",{className:"rcb-toast-prompt-container",style:g,children:p.map(v=>P.jsx(us,{id:v.id,content:v.content,timeout:v.timeout},v.id))})},po=({file:e,fileType:t,fileUrl:r})=>{var n,o,A;const{settings:a}=te(),{styles:s}=ue(),i={backgroundColor:(n=a.general)==null?void 0:n.primaryColor,maxWidth:(o=a.userBubble)!=null&&o.showAvatar?"65%":"70%",...s.mediaDisplayContainerStyle};return P.jsx(P.Fragment,{children:r?P.jsxs(P.Fragment,{children:[t==="image"&&r&&P.jsx("div",{style:i,className:"rcb-media-display-image-container rcb-media-entry","data-testid":"media-display-image-container",children:P.jsx("img",{src:r,alt:"Image Display",className:"rcb-media-display-image"})}),t==="video"&&r&&P.jsx("div",{style:i,className:"rcb-media-display-video-container rcb-media-entry","data-testid":"media-display-video-container",children:P.jsxs("video",{controls:!0,className:"rcb-media-display-video",children:[P.jsx("source",{src:r,type:e.type}),"Your browser does not support the video tag."]})}),t==="audio"&&r&&P.jsxs("audio",{"data-testid":"media-display-audio-container",style:{maxWidth:(A=a.userBubble)!=null&&A.showAvatar?"65%":"70%"},controls:!0,className:"rcb-media-display-audio rcb-media-entry",children:[P.jsx("source",{src:r,type:e.type}),"Your browser does not support the audio tag."]})]}):P.jsx(P.Fragment,{})})},go=async e=>{if(!e)return{fileType:null,fileUrl:null};const t=e.type.split("/")[0];if(!["image","video","audio"].includes(t))return{fileType:null,fileUrl:null};try{return{fileType:t,fileUrl:await new Promise((r,n)=>{const o=new FileReader;o.onload=()=>r(o.result),o.onerror=()=>n(new Error("File reading failed")),o.readAsDataURL(e)})}}catch(r){return console.error(r),{fileType:null,fileUrl:null}}},fs=()=>{var e,t,r,n,o,A;const{settings:a}=te(),{styles:s}=ue(),{injectMessage:i,simulateStreamMessage:l,streamMessage:c,removeMessage:d,endStreamMessage:u}=St(),{getCurrPath:p,getPrevPath:g,goToPath:v,blockAllowsAttachment:h}=yn(),{flowRef:w,inputRef:E}=Ce(),m=w.current,{showToast:C,dismissToast:k}=Tt(),{dispatchRcbEvent:S}=Ze(),{toggleChatWindow:D}=qe(),{setTextAreaValue:I}=kt(),{handleSubmitText:Q}=Qt(),x={cursor:`url("${(e=a.general)==null?void 0:e.actionDisabledIcon}"), auto`,...s.fileAttachmentButtonStyle,...s.fileAttachmentButtonDisabledStyle},N={backgroundImage:`url(${(t=a.fileAttachment)==null?void 0:t.icon})`,fill:"#a6a6a6",...s.fileAttachmentIconStyle},B={backgroundImage:`url(${(r=a.fileAttachment)==null?void 0:r.icon})`,fill:"#a6a6a6",...s.fileAttachmentIconStyle,...s.fileAttachmentIconDisabledStyle};return P.jsxs("label",{"aria-label":((n=a.ariaLabel)==null?void 0:n.fileAttachmentButton)??"upload file",role:"button",className:h?"rcb-attach-button-enabled":"rcb-attach-button-disabled",style:h?{...s.fileAttachmentButtonStyle}:x,children:[P.jsx("input",{className:"rcb-attach-input",role:"file",type:"file",onChange:async O=>{var U,_,F,M;const L=O.target.files;if(!L)return;const y=Array.from(L);if(O.target.value="",(U=a.event)!=null&&U.rcbUserUploadFile&&(await S(R.USER_UPLOAD_FILE,{files:y})).defaultPrevented)return;const Y=p();if(!Y)return;const b=m[Y];if(!b)return;const J=b.file;if(J!=null){const j=[];for(let K=0;K<y.length;K++){if(j.push(y[K].name),(_=a.fileAttachment)==null||!_.showMediaDisplay)continue;const V=await go(y[K]);!V.fileType||!V.fileUrl||await i(P.jsx(po,{file:y[K],fileType:V.fileType,fileUrl:V.fileUrl}),"USER")}await Q("📄 "+j.join(", "),(F=a.fileAttachment)==null?void 0:F.sendFileName),await J({userInput:(M=E.current)==null?void 0:M.value,prevPath:g(),currPath:p(),goToPath:v,setTextAreaValue:I,injectMessage:i,simulateStreamMessage:l,streamMessage:c,removeMessage:d,endStreamMessage:u,toggleChatWindow:D,showToast:C,dismissToast:k,files:y})}},multiple:(o=a.fileAttachment)==null?void 0:o.multiple,accept:(A=a.fileAttachment)==null?void 0:A.accept,disabled:!h}),(()=>{var O,U;const _=h?(O=a.fileAttachment)==null?void 0:O.icon:(U=a.fileAttachment)==null?void 0:U.iconDisabled;return _&&typeof _!="string"?_&&P.jsx("span",{className:h?"rcb-attach-icon-enabled":"rcb-attach-icon-disabled",children:P.jsx(_,{style:h?N:B})}):P.jsx("span",{className:h?"rcb-attach-icon-enabled":"rcb-attach-icon-disabled",style:h?N:B})})()]})},ps=()=>{var e,t,r,n,o,A;const{settings:a}=te(),{styles:s}=ue(),{syncedTextAreaDisabledRef:i}=ke(),{inputRef:l}=Ce(),{textAreaDisabled:c,setTextAreaValue:d}=kt(),u=f.useRef(null),p=f.useRef(null),[g,v]=f.useState(!1),h={cursor:`url("${(e=a.general)==null?void 0:e.actionDisabledIcon}"), auto`,...s.emojiButtonStyle,...s.emojiButtonDisabledStyle},w={backgroundImage:`url(${(t=a.emoji)==null?void 0:t.icon})`,fill:"#a6a6a6",...s.emojiIconStyle},E={backgroundImage:`url(${(r=a.emoji)==null?void 0:r.icon})`,fill:"#a6a6a6",...s.emojiIconStyle,...s.emojiIconDisabledStyle};return f.useEffect(()=>{const m=k=>{const S=k.composedPath();u.current&&!S.includes(u.current)&&p.current&&!S.includes(p.current)&&v(!1)},C=()=>{(()=>{if(u.current&&p.current){const k=p.current.getBoundingClientRect(),S=u.current.offsetHeight,D=k.top-S-8;u.current.style.left=`${k.left}px`,u.current.style.top=`${D}px`}})()};return document.addEventListener("mousedown",m),window.addEventListener("resize",C),()=>{document.removeEventListener("mousedown",m),window.removeEventListener("resize",C)}},[]),P.jsxs(P.Fragment,{children:[P.jsx("div",{"aria-label":((n=a.ariaLabel)==null?void 0:n.emojiButton)??"emoji picker",role:"button",ref:p,className:c?"rcb-emoji-button-disabled":"rcb-emoji-button-enabled",style:c?h:{...s.emojiButtonStyle},onMouseDown:m=>{m.preventDefault(),i.current?v(!1):v(C=>!C)},children:(()=>{var m,C;const k=c?(m=a.emoji)==null?void 0:m.iconDisabled:(C=a.emoji)==null?void 0:C.icon;return k&&typeof k!="string"?k&&P.jsx("span",{className:c?"rcb-emoji-icon-disabled":"rcb-emoji-icon-enabled",children:P.jsx(k,{style:c?E:w})}):P.jsx("span",{className:c?"rcb-emoji-icon-disabled":"rcb-emoji-icon-enabled",style:c?E:w})})()}),g&&P.jsx("div",{className:"rcb-emoji-button-popup",ref:u,children:(A=(o=a.emoji)==null?void 0:o.list)==null?void 0:A.map((m,C)=>P.jsx("span",{className:"rcb-emoji",onMouseDown:k=>((S,D)=>{S.preventDefault(),l.current&&(d(l.current.value+D),setTimeout(()=>{const I=l.current;if(I){I.focus();const Q=I.value.length;I.setSelectionRange(Q,Q)}},50)),v(!1)})(k,m),children:m},C))})]})},gs=()=>{var e,t,r;const{settings:n}=te(),{styles:o}=ue(),{audioToggledOn:A,toggleAudio:a}=co(),s={backgroundImage:`url(${(e=n.audio)==null?void 0:e.icon})`,fill:"#fcec3d",...o.audioIconStyle},i={backgroundImage:`url(${(t=n.audio)==null?void 0:t.iconDisabled})`,fill:"#e8eaed",...o.audioIconStyle,...o.audioIconDisabledStyle};return P.jsx("div",{"aria-label":((r=n.ariaLabel)==null?void 0:r.audioButton)??"toggle audio",role:"button",onMouseDown:async l=>{l.preventDefault(),await a()},style:A?{...o.audioButtonStyle}:{...o.audioButtonStyle,...o.audioButtonDisabledStyle},children:(()=>{var l,c;const d=A?(l=n.audio)==null?void 0:l.icon:(c=n.audio)==null?void 0:c.iconDisabled;return d&&typeof d!="string"?d&&P.jsx("span",{className:"rcb-audio-icon","data-testid":"rcb-audio-icon",children:P.jsx(d,{style:A?s:i,"data-testid":"rcb-audio-icon-svg"})}):P.jsx("span",{className:"rcb-audio-icon","data-testid":"rcb-audio-icon",style:A?s:i})})()})},hs=()=>{var e,t;const{settings:r}=te(),{styles:n}=ue(),{toggleChatWindow:o}=qe(),A={backgroundImage:`url(${(e=r.header)==null?void 0:e.closeChatIcon})`,fill:"#e8eaed",stroke:"#e8eaed",...n.closeChatIconStyle};return P.jsx("div",{"aria-label":((t=r.ariaLabel)==null?void 0:t.closeChatButton)??"close chat",role:"button",onMouseDown:a=>{a.stopPropagation(),o(!1)},style:{...n.closeChatButtonStyle},children:(()=>{var a;const s=(a=r.header)==null?void 0:a.closeChatIcon;return s&&typeof s!="string"?s&&P.jsx("span",{className:"rcb-close-chat-icon","data-testid":"rcb-close-chat-icon",children:P.jsx(s,{style:A})}):P.jsx("span",{className:"rcb-close-chat-icon","data-testid":"rcb-close-chat-icon",style:A})})()})},ms=()=>{var e,t,r;const{settings:n}=te(),{styles:o}=ue(),{notificationsToggledOn:A,toggleNotifications:a}=(()=>{const{notificationsToggledOn:l,toggleNotifications:c,playNotificationSound:d}=Wn();return{notificationsToggledOn:l,toggleNotifications:c,playNotificationSound:d}})(),s={backgroundImage:`url(${(e=n.notification)==null?void 0:e.icon})`,fill:"#fcec3d",...o.notificationIconStyle},i={backgroundImage:`url(${(t=n.notification)==null?void 0:t.iconDisabled})`,fill:"#e8eaed",...o.notificationIconStyle,...o.notificationIconDisabledStyle};return P.jsx("div",{"aria-label":((r=n.ariaLabel)==null?void 0:r.notificationButton)??"toggle notifications",role:"button",onMouseDown:async l=>{l.preventDefault(),await a()},style:A?{...o.notificationButtonStyle}:{...o.notificationButtonStyle,...o.notificationButtonDisabledStyle},children:(()=>{var l,c;const d=A?(l=n.notification)==null?void 0:l.icon:(c=n.notification)==null?void 0:c.iconDisabled;return d&&typeof d!="string"?d&&P.jsx("span",{className:"rcb-notification-icon","data-testid":"rcb-notification-icon",children:P.jsx(d,{style:A?s:i,"data-testid":"rcb-notification-icon-svg"})}):P.jsx("span",{className:"rcb-notification-icon","data-testid":"rcb-notification-icon",style:A?s:i})})()})},ys=()=>{var e,t,r;const{settings:n}=te(),{styles:o}=ue(),{injectMessage:A}=St(),{inputRef:a}=Ce(),{voiceToggledOn:s,toggleVoice:i}=Jn(),{setInputLength:l,setTextAreaValue:c,textAreaDisabled:d}=kt(),{handleSubmitText:u}=Qt(),p=f.useRef([]),[g,v]=f.useState(!1);f.useEffect(()=>{var C;(C=n.voice)!=null&&C.sendAsAudio?(m(),p.current=[]):u()},[g]),f.useEffect(()=>{s?((C,k,S,D,I,Q,x)=>{var N;(N=C.voice)!=null&&N.sendAsAudio?As(S,Q):os(C,k,S,D,I,x)})(n,i,E,c,l,p,a):Vn()},[s]);const h={backgroundImage:`url(${(e=n.voice)==null?void 0:e.icon})`,fill:"#9aa0a6",...o.voiceIconStyle},w={backgroundImage:`url(${(t=n.voice)==null?void 0:t.iconDisabled})`,fill:"#9aa0a6",...o.voiceIconStyle,...o.voiceIconDisabledStyle},E=()=>{v(C=>!C)},m=async()=>{const C=new Blob(p.current,{type:"audio/wav"}),k=new File([C],"voice-input.wav",{type:"audio/wav"}),S=await go(k);!S.fileType||!S.fileUrl||await A(P.jsx(po,{file:k,fileType:S.fileType,fileUrl:S.fileUrl}),"USER")};return P.jsx("div",{"aria-label":((r=n.ariaLabel)==null?void 0:r.voiceButton)??"toggle voice",role:"button",onMouseDown:async C=>{C.preventDefault(),!d&&await i()},style:s&&!d?{...o.voiceButtonStyle}:{...o.voiceButtonStyle,...o.voiceButtonDisabledStyle},className:s&&!d?"rcb-voice-button-enabled":"rcb-voice-button-disabled",children:(()=>{var C,k;const S=s?(C=n.voice)==null?void 0:C.icon:(k=n.voice)==null?void 0:k.iconDisabled;return S&&typeof S!="string"?S&&P.jsx("span",{className:"rcb-voice-icon "+(s&&!d?"on":""),children:P.jsx(S,{style:s&&!d?h:w})}):P.jsx("span",{className:"rcb-voice-icon"+(s&&!d?"-on":""),"data-testid":"rcb-voice-icon",style:s&&!d?h:w})})()})},vs=()=>{var e,t,r,n,o,A,a,s;const{settings:i}=te(),{styles:l}=ue(),{textAreaDisabled:c}=ke(),[d,u]=f.useState(!1),{handleSubmitText:p}=Qt(),g={backgroundColor:(e=i.general)==null?void 0:e.primaryColor,...l.sendButtonStyle},v={cursor:`url("${(t=i.general)==null?void 0:t.actionDisabledIcon}"), auto`,backgroundColor:(r=i.general)==null?void 0:r.primaryColor,...l.sendButtonStyle,...l.sendButtonDisabledStyle},h={backgroundColor:(n=i.general)==null?void 0:n.secondaryColor,...l.sendButtonStyle,...l.sendButtonHoveredStyle},w={backgroundImage:`url(${(o=i.chatInput)==null?void 0:o.sendButtonIcon})`,fill:"#fff",...l.sendIconStyle},E={backgroundImage:`url(${(A=i.chatInput)==null?void 0:A.sendButtonIcon})`,fill:"#fff",...l.sendIconStyle,...l.sendIconDisabledStyle},m={backgroundImage:`url(${(a=i.chatInput)==null?void 0:a.sendButtonIcon})`,fill:"#fff",...l.sendIconStyle,...l.sendIconHoveredStyle};return P.jsx("div",{"aria-label":((s=i.ariaLabel)==null?void 0:s.sendButton)??"send message",role:"button",onMouseEnter:()=>{u(!0)},onMouseLeave:()=>{u(!1)},onMouseDown:async C=>{C==null||C.preventDefault(),!c&&await p()},style:c?v:d?h:g,className:"rcb-send-button",children:(()=>{var C;const k=(C=i.chatInput)==null?void 0:C.sendButtonIcon;return k&&typeof k!="string"?k&&P.jsx("span",{className:"rcb-send-icon","data-testid":"rcb-send-icon",children:P.jsx(k,{style:c?E:d?m:w})}):P.jsx("span",{className:"rcb-send-icon","data-testid":"rcb-send-icon",style:c?E:d?m:w})})()})},ws=(e,t)=>{var r,n,o,A,a,s,i,l,c;const d={[we.AUDIO_BUTTON]:(r=e.audio)==null?void 0:r.disabled,[we.CLOSE_CHAT_BUTTON]:(n=e.general)==null?void 0:n.embedded,[we.EMOJI_PICKER_BUTTON]:(o=e.emoji)==null?void 0:o.disabled,[we.FILE_ATTACHMENT_BUTTON]:(A=e.fileAttachment)==null?void 0:A.disabled,[we.NOTIFICATION_BUTTON]:(a=e.notification)==null?void 0:a.disabled,[we.SEND_MESSAGE_BUTTON]:!1,[we.VOICE_MESSAGE_BUTTON]:(s=e.voice)==null?void 0:s.disabled},u={},p=g=>g?g.map(v=>{if(typeof v=="string"){if((h=>Object.values(we).includes(h))(v)&&!d[v]){if(u[v])return u[v];const h=t[v];if(typeof h=="function"){const w=h();return u[v]=w,w}return null}return null}return v}).filter(v=>v!==null):[];return{header:p((i=e.header)==null?void 0:i.buttons),chatInput:p((l=e.chatInput)==null?void 0:l.buttons),footer:p((c=e.footer)==null?void 0:c.buttons)}},bs=()=>{const{settings:e}=te(),t=f.useMemo(()=>({[we.CLOSE_CHAT_BUTTON]:()=>P.jsx(hs,{}),[we.AUDIO_BUTTON]:()=>P.jsx(gs,{}),[we.NOTIFICATION_BUTTON]:()=>P.jsx(ms,{}),[we.EMOJI_PICKER_BUTTON]:()=>P.jsx(ps,{}),[we.FILE_ATTACHMENT_BUTTON]:()=>P.jsx(fs,{}),[we.SEND_MESSAGE_BUTTON]:()=>P.jsx(vs,{}),[we.VOICE_MESSAGE_BUTTON]:()=>P.jsx(ys,{})}),[]),{header:r,chatInput:n,footer:o}=f.useMemo(()=>ws(e,t),[e,t]);return{headerButtons:f.useMemo(()=>r,[r]),chatInputButtons:f.useMemo(()=>n,[n]),footerButtons:f.useMemo(()=>o,[o])}},Zn=()=>{const{settings:e}=te(),{styles:t}=ue(),{setSyncedMessages:r,syncedMessagesRef:n}=jn(),{isLoadingChatHistory:o,setIsLoadingChatHistory:A,hasChatHistoryLoaded:a,setHasChatHistoryLoaded:s}=ke(),{chatBodyRef:i}=Ce(),{dispatchRcbEvent:l}=Ze(),c=f.useCallback(async()=>{var d,u;const p=Vt();if(!p||(d=e.event)!=null&&d.rcbLoadChatHistory&&(await l(R.LOAD_CHAT_HISTORY,{})).defaultPrevented)return;A(!0);const g=((u=i.current)==null?void 0:u.scrollHeight)??0;((v,h,w,E,m,C,k,S,D)=>{var I;if(io=!0,w!=null)try{const Q=pt(P.jsx(Xi,{}),"SYSTEM"),x=m.current.slice(1);E([Q,...x]);const N=w.map(B=>{if(B.type==="object"){const O=lo(B.content,v,h);return{...B,content:O}}return B});setTimeout(()=>{var B;const O=m.current.slice(1);let U=(B=v.chatHistory)!=null&&B.autoLoad?pt(P.jsx(P.Fragment,{}),"SYSTEM"):pt(P.jsx(Vi,{}),"SYSTEM");E([...N,U,...O]),D(!0)},500),setTimeout(()=>{if(!C.current)return;const{scrollHeight:B}=C.current,O=B-k;C.current.scrollTop+=O,S(!1)},510)}catch{gt.removeItem((I=v.chatHistory)==null?void 0:I.storageKey)}})(e,t,p,r,n,i,g,A,s)},[e,t,l,n,i,A,s]);return{isLoadingChatHistory:o,setIsLoadingChatHistory:A,hasChatHistoryLoaded:a,showChatHistory:c}},Es=()=>{var e,t,r;const{settings:n}=te(),{styles:o}=ue(),{showChatHistory:A}=Zn(),[a,s]=f.useState(!1),i={color:(e=n.general)==null?void 0:e.primaryColor,borderColor:(t=n.general)==null?void 0:t.primaryColor,...o.chatHistoryButtonStyle,...o.chatHistoryButtonHoveredStyle};return P.jsx("div",{className:"rcb-view-history-container",children:P.jsx("div",{onMouseEnter:()=>{s(!0)},onMouseLeave:()=>{s(!1)},style:a?i:{...o.chatHistoryButtonStyle},onMouseDown:l=>{l.preventDefault(),A()},className:"rcb-view-history-button",role:"button",tabIndex:0,children:P.jsx("p",{children:(r=n.chatHistory)==null?void 0:r.viewChatHistoryButtonText})})})},Cs=()=>{var e,t,r,n;const o=vn(),{settings:A}=te(),{replaceMessages:a}=St(),{isBotTyping:s,isChatWindowOpen:i,setUnreadCount:l,setSyncedIsChatWindowOpen:c,setSyncedTextAreaDisabled:d,setSyncedAudioToggledOn:u,setSyncedVoiceToggledOn:p,setSyncedIsScrolling:g,syncedIsScrollingRef:v,syncedIsChatWindowOpenRef:h}=ke(),{chatBodyRef:w}=Ce(),{viewportHeight:E,setViewportHeight:m,setViewportWidth:C,scrollToBottom:k}=qe(),{setUpNotifications:S}=Wn(),{handleFirstInteraction:D}=(()=>{var N;const{settings:B}=te(),{hasInteractedPage:O,setHasInteractedPage:U,hasFlowStarted:_,setHasFlowStarted:F}=ke(),M=f.useCallback(()=>{var L;if(U(!0),!_&&((L=B.general)==null?void 0:L.flowStartTrigger)==="ON_PAGE_INTERACT"&&F(!0),!window.SpeechSynthesisUtterance)return void console.info("Speech Synthesis API is not supported in this environment.");const y=new window.SpeechSynthesisUtterance;y.text="",y.onend=()=>{window.removeEventListener("click",M),window.removeEventListener("keydown",M),window.removeEventListener("touchstart",M)},window.speechSynthesis.speak(y)},[_,(N=B.general)==null?void 0:N.flowStartTrigger]);return{hasInteractedPage:O,handleFirstInteraction:M}})(),{showChatHistory:I}=Zn(),Q=f.useRef(0),x=f.useRef(!1);f.useEffect(()=>(window.addEventListener("click",D),window.addEventListener("keydown",D),window.addEventListener("touchstart",D),()=>{window.removeEventListener("click",D),window.removeEventListener("keydown",D),window.removeEventListener("touchstart",D)}),[]),f.useEffect(()=>{const N=w.current;if(!N)return;const B=()=>{x.current||(x.current=!0,requestAnimationFrame(()=>{var O,U;if(!N)return;const{scrollTop:_,clientHeight:F,scrollHeight:M}=N,L=_+F<M-(((O=A.chatWindow)==null?void 0:O.messagePromptOffset)??30);g(L),v.current=L,L||(_+F>=M-1&&(N.scrollTop=M-F-1),(h.current||(U=A.general)!=null&&U.embedded)&&l(0)),x.current=!1}))};return N.addEventListener("wheel",B,{passive:!0}),N.addEventListener("touchmove",B,{passive:!0}),()=>{N.removeEventListener("wheel",B),N.removeEventListener("touchmove",B)}},[]),f.useEffect(()=>{var N,B,O;d((N=A.chatInput)==null?void 0:N.disabled),c((B=A.chatWindow)==null?void 0:B.defaultOpen),u((O=A.audio)==null?void 0:O.defaultToggledOn),setTimeout(()=>{var U;p((U=A.voice)==null?void 0:U.defaultToggledOn)},1)},[]),f.useEffect(()=>{var N;(N=A.notification)!=null&&N.disabled||S()},[(e=A.notification)==null?void 0:e.disabled]),f.useEffect(()=>{!v.current&&w!=null&&w.current&&k()},[s]),f.useEffect(()=>{var N,B;if((N=A.chatHistory)!=null&&N.disabled)gt&>.removeItem(pn);else if(Gn(A),Vt().length>0){const O=pt(P.jsx(Es,{}),"SYSTEM");a([O]),(B=A.chatHistory)!=null&&B.autoLoad&&I()}},[(t=A.chatHistory)==null?void 0:t.storageKey,(r=A.chatHistory)==null?void 0:r.maxEntries,(n=A.chatHistory)==null?void 0:n.disabled]),f.useEffect(()=>{var N;o||(N=A.general)!=null&&N.embedded||!navigator.virtualKeyboard||(navigator.virtualKeyboard.overlaysContent=!0,navigator.virtualKeyboard.addEventListener("geometrychange",B=>{if(!B.target)return;const{x:O,y:U,width:_,height:F}=B.target.boundingRect;O==0&&U==0&&_==0&&F==0?(setTimeout(()=>{var M;m((M=window.visualViewport)==null?void 0:M.height)},101),setTimeout(()=>{var M,L;E!=((M=window.visualViewport)==null?void 0:M.height)&&m((L=window.visualViewport)==null?void 0:L.height)},1001)):setTimeout(()=>{var M;m(((M=window.visualViewport)==null?void 0:M.height)-F)},101)}))},[o]),f.useEffect(()=>{var N,B,O,U;if(o)return;i&&(m((N=window.visualViewport)==null?void 0:N.height),C((B=window.visualViewport)==null?void 0:B.width));const _=()=>window.scrollTo({top:0,left:0,behavior:"auto"}),F=()=>Q.current=window.scrollY,M=()=>{var y,Y;m((y=window.visualViewport)==null?void 0:y.height),C((Y=window.visualViewport)==null?void 0:Y.width)},L=()=>{var y;window.removeEventListener("scroll",_),window.removeEventListener("scroll",F),(y=window.visualViewport)==null||y.removeEventListener("resize",M)};return i?(L(),document.body.style.position="fixed",window.addEventListener("scroll",_),(O=window.visualViewport)==null||O.addEventListener("resize",M)):(document.body.style.position="static",L(),window.scrollTo({top:Q.current,left:0,behavior:"auto"}),window.addEventListener("scroll",F),(U=window.visualViewport)==null||U.removeEventListener("resize",M)),L},[i,o])},Ps="https://cdn.jsdelivr.net/gh/react-chatbotify/community-themes/themes",Ss="2592000",ho="RCB_THEME_CACHE_DATA",mo=async(e,t)=>{const{id:r,version:n,baseUrl:o=Ps,cacheDuration:A=Ss}=t,a=n||await(async(w,E)=>{const m=`${E}/${w}/meta.json`;try{const C=await fetch(m);return C.ok?(await C.json()).version:(console.error(`Failed to fetch meta.json from ${m}`),null)}catch(C){return console.error(`Failed to fetch meta.json from ${m}`,C),null}})(r,o);if(!a)return console.error(`Unable to find version for theme: ${r}`),{settings:{},inlineStyles:{},cssStylesText:""};const s=((w,E,m)=>{const C=localStorage.getItem(`${ho}_${w}_${E}`);if(!C)return null;try{const k=JSON.parse(C),S=new Date().getTime(),D=Math.floor(S/1e3);return k.cacheDate+m>=D?k:null}catch(k){return console.error(`Unable to fetch cache for ${w}`,k),null}})(r,a,A);if(s){const w=yo(e,s.cssStylesText);return{settings:s.settings,inlineStyles:s.inlineStyles,cssStylesText:w}}const i=`${o}/${r}/${a}/styles.css`,l=`${o}/${r}/${a}/settings.json`,c=`${o}/${r}/${a}/styles.json`;let d="";const u=await fetch(i);u.ok?d=await u.text():console.info(`Could not fetch styles.css from ${i}`);const p=await fetch(l);let g={};p.ok?g=await p.json():console.info(`Could not fetch settings.json from ${l}`);const v=await fetch(c);let h={};return v.ok?h=await v.json():console.info(`Could not fetch styles.json from ${c}`),((w,E,m,C,k)=>{const S=new Date().getTime(),D={settings:m,inlineStyles:C,cssStylesText:k,cacheDate:Math.floor(S/1e3)};localStorage.setItem(`${ho}_${w}_${E}`,JSON.stringify(D))})(r,a,g,h,d),{settings:g,inlineStyles:h,cssStylesText:yo(e,d)}},yo=(e,t)=>t.split(new RegExp("(?<=})")).map(r=>{const n=r.trim();return n.startsWith("@import")||n.startsWith("@keyframes")||n.startsWith("@media")?n:n?`#${e} ${n}`:""}).join(`
|
|
4
|
+
`),ks=async(e,t,r,n)=>{var o,A;let a=wn(Xr),s=wn(Zr),i="";if(n!=null)if(Array.isArray(n))for(const l of n){const c=await mo(e,l);a=nt(c.settings,a),s=nt(c.inlineStyles,s),i+=c.cssStylesText}else{const l=await mo(e,n);a=nt(l.settings,a),s=nt(l.inlineStyles,s),i+=l.cssStylesText}return t!=null&&(a=nt(t,a)),r!=null&&(s=nt(r,s)),((o=a.chatInput)==null?void 0:o.botDelay)!=null&&((A=a.chatInput)==null?void 0:A.botDelay)<500&&(a.chatInput.botDelay=500),{settings:a,inlineStyles:s,cssStylesText:i}},nt=(e,t)=>{const r=[{source:e,target:t}];for(;r.length;){const n=r.pop();if(n==null)continue;const{source:o,target:A}=n;for(const a of Object.keys(o)){const s=a;if(f.isValidElement(o[s]))A[s]=o[s];else if(typeof o[s]!="object"||o[s]===null||Array.isArray(o[s]))try{A[s]=o[s]}catch{}else(typeof A[s]!="object"||A[s]===null)&&(A[s]={}),r.push({source:o[s],target:A[s]})}}return t},wn=e=>{if(e===null||typeof e!="object")return e;const t=Array.isArray(e)?[]:{},r=[{source:e,target:t}],n=new WeakMap;for(n.set(e,t);r.length;){const o=r.pop();if(o==null)continue;const{source:A,target:a}=o;for(const s in A)if(Object.prototype.hasOwnProperty.call(A,s)){const i=A[s];if(i&&typeof i=="object")if(n.has(i))a[s]=n.get(i);else{const l=Array.isArray(i)?[]:{};n.set(i,l),a[s]=l,r.push({source:i,target:l})}else a[s]=i}}return t},vo=()=>{const{settings:e,setSyncedSettings:t,syncedSettingsRef:r}=te(),n=f.useCallback(A=>{!A||Object.keys(A).length===0||t(wn(nt(A,e)))},[e]),o=f.useCallback(A=>{const a=typeof A=="function"?A(r.current):A;t(a)},[r]);return{settings:e,replaceSettings:o,updateSettings:n}},wo=()=>{const{styles:e,setSyncedStyles:t,syncedStylesRef:r}=ue(),n=f.useCallback(A=>{!A||Object.keys(A).length===0||t(wn(nt(A,e)))},[e]),o=f.useCallback(A=>{const a=typeof A=="function"?A(r.current):A;t(a)},[r]);return{styles:e,replaceStyles:o,updateStyles:n}},Ds=({plugins:e,slots:t})=>{var r,n;const o=vn(),{settings:A}=te(),{styles:a}=ue(),{hasFlowStarted:s,setHasFlowStarted:i}=ke(),{inputRef:l}=Ce(),{viewportHeight:c,viewportWidth:d,isChatWindowOpen:u}=qe(),{goToPath:p}=yn(),{headerButtons:g,chatInputButtons:v,footerButtons:h}=bs();Cs(),(E=>{const{updateSettings:m}=vo(),{updateStyles:C}=wo(),k=E==null?void 0:E.map(S=>S());f.useEffect(()=>{let S={},D={};k==null||k.forEach(I=>{I!=null&&I.settings&&Object.keys(I==null?void 0:I.settings).length!==0&&(S=nt(I.settings,S)),I!=null&&I.styles&&Object.keys(I==null?void 0:I.styles).length!==0&&(D=nt(I.styles,D))}),m(S),C(D)},[])})(e),f.useEffect(()=>{var E;(s||((E=A.general)==null?void 0:E.flowStartTrigger)==="ON_LOAD")&&p("start")},[s,(r=A.general)==null?void 0:r.flowStartTrigger]);const w=f.useMemo(()=>{var E;const m="rcb-chatbot-global ";return(E=A.general)!=null&&E.embedded?m+"rcb-window-embedded":u?m+"rcb-window-open":m+"rcb-window-close"},[A,u]);return P.jsx(P.Fragment,{children:(()=>{var E,m;return o&&((E=A.device)==null?void 0:E.desktopEnabled)||!o&&((m=A.device)==null?void 0:m.mobileEnabled)})()&&P.jsxs("div",{onMouseDown:E=>{var m,C;!s&&((m=A.general)==null?void 0:m.flowStartTrigger)==="ON_CHATBOT_INTERACT"&&i(!0),o?(C=l.current)==null||C.blur():E==null||E.preventDefault()},className:w,children:[P.jsx(cs,{}),P.jsx(ls,{}),u&&!o&&!((n=A.general)!=null&&n.embedded)&&P.jsxs(P.Fragment,{children:[P.jsx("style",{children:`
|
|
5
5
|
html {
|
|
6
6
|
overflow: hidden !important;
|
|
7
7
|
touch-action: none !important;
|
|
8
8
|
scroll-behavior: auto !important;
|
|
9
9
|
}
|
|
10
|
-
`}),
|
|
10
|
+
`}),P.jsx("div",{style:{position:"fixed",top:0,left:0,width:"100%",height:"100%",backgroundColor:"#fff",zIndex:9999}})]}),P.jsx("div",{style:(()=>{var E,m;return o||(E=A.general)!=null&&E.embedded?(m=A.general)!=null&&m.embedded?{...a.chatWindowStyle}:{...a.chatWindowStyle,zIndex:1e4}:{...a.chatWindowStyle,borderRadius:"0px",left:"0px",right:"auto",top:"0px",bottom:"auto",width:`${d}px`,height:`${c}px`,zIndex:1e4}})(),className:"rcb-chat-window",children:(()=>{var E,m,C;const k=(t==null?void 0:t.chatBotHeader)||xi,S=(t==null?void 0:t.chatBotBody)||Ui,D=(t==null?void 0:t.chatBotInput)||ss,I=(t==null?void 0:t.chatBotFooter)||as;return P.jsxs(P.Fragment,{children:[((E=A.general)==null?void 0:E.showHeader)&&P.jsx(k,{buttons:g}),P.jsx(S,{}),P.jsx(ds,{}),((m=A.general)==null?void 0:m.showInputRow)&&P.jsx(D,{buttons:v}),((C=A.general)==null?void 0:C.showFooter)&&P.jsx(I,{buttons:h})]})})()})]})})},bo=f.createContext(void 0),Eo=()=>f.useContext(bo),Co=({children:e})=>{var t;const r=f.useRef(""),n=f.useRef({}),[o,A,a]=je({}),[s,i,l]=je({}),[c,d]=f.useState(!1);return f.useEffect(()=>{d(!0)},[]),c?P.jsx("div",{style:{fontFamily:(t=o.general)==null?void 0:t.fontFamily},children:P.jsx(bo.Provider,{value:{loadConfig:async(u,p,g,v,h,w)=>{r.current=u,n.current=p;const E=await ks(u,g,v,h);w.current&&(w.current.textContent=E.cssStylesText),A(E.settings),i(E.inlineStyles)}},children:P.jsx(Di,{settings:o,setSyncedSettings:A,syncedSettingsRef:a,children:P.jsx(Bi,{styles:s,setSyncedStyles:i,syncedStylesRef:l,children:P.jsx(is,{children:P.jsx(Ii,{botIdRef:r,flowRef:n,children:P.jsx(Mi,{children:P.jsx(Ti,{settings:o,children:P.jsx(_i,{children:e})})})})})})})})}):null},Bs=({id:e,flow:t,settings:r,styles:n,themes:o,plugins:A,setConfigLoaded:a,styleRootRef:s})=>{const i=f.useMemo(()=>e,[]),l=Eo(),{flowRef:c}=Ce();return c&&c.current!==t&&(c.current=t),f.useEffect(()=>{(async()=>{var d,u;(d=r.event)!=null&&d.rcbPreLoadChatBot&&(await zn(R.PRE_LOAD_CHATBOT,{botId:i,currPath:null,prevPath:null},{flow:t,settings:r,styles:n,themes:o,plugins:A})).defaultPrevented||(l!=null&&l.loadConfig&&(await l.loadConfig(i,t,r,n,o,s),a(!0)),(u=r.event)!=null&&u.rcbPostLoadChatBot&&zn(R.POST_LOAD_CHATBOT,{botId:i,currPath:null,prevPath:null},{flow:t,settings:r,styles:n,themes:o,plugins:A}))})()},[o]),null},$n=["Quickstart","API Docs","Examples","Github","Discord"],xs={start:{message:"Hello, I am Tan Jin 👋! Welcome to React ChatBotify, I'm excited that you are using our chatbot 😊!",transition:{duration:1e3},chatDisabled:!0,path:"show_options"},show_options:{message:"It looks like you have not set up a conversation flow yet. No worries! Here are a few helpful things you can check out to get started:",options:$n,path:"process_options"},prompt_again:{message:"Do you need any other help?",options:$n,path:"process_options"},unknown_input:{message:"Sorry, I do not understand your message 😢! If you require further assistance, you may click on the Github option and open an issue there or visit our discord.",options:$n,path:"process_options"},process_options:{transition:{duration:0},path:e=>{let t="";switch(e.userInput){case"Quickstart":t="https://react-chatbotify.com/docs/introduction/quickstart/";break;case"API Docs":t="https://react-chatbotify.com/docs/api/bot_options";break;case"Examples":t="https://react-chatbotify.com/docs/examples/basic_form";break;case"Github":t="https://github.com/react-chatbotify/react-chatbotify/";break;case"Discord":t="https://discord.gg/6R4DK4G5Zh";break;default:return"unknown_input"}return e.injectMessage("Sit tight! I'll send you right there!"),setTimeout(()=>{window.open(t)},1e3),"repeat"}},repeat:{transition:{duration:3e3},path:"prompt_again"}},Is=({id:e,flow:t,settings:r,styles:n,themes:o,plugins:A,slots:a})=>{const s=f.useMemo(()=>e||"rcb-"+fn(),[]),i=t&&Object.keys(t).length!==0?t:xs,l=r||{},c=n||{},d=A||[],[u,p]=f.useState(!1),g=Eo(),v=f.useRef(null),[h,w]=f.useState(o||[]);f.useEffect(()=>{o&&w(o)},[o]);const E=()=>P.jsxs(P.Fragment,{children:[P.jsx(Bs,{styleRootRef:v,id:s,flow:i,settings:l,styles:c,themes:h,plugins:d,setConfigLoaded:p}),u&&P.jsx(Ds,{plugins:A,slots:a})]});return P.jsxs(g==null?Co:P.Fragment,{children:[P.jsx("style",{ref:v}),P.jsx("div",{id:s,children:E()})]})},Ts=()=>{const{getBotId:e}=(()=>{const{botIdRef:t}=Ce();return{getBotId:f.useCallback(()=>t.current,[t])}})();return{getBotId:e}},bn=()=>{const{hasFlowStarted:e,restartFlow:t,getFlow:r}=(()=>{const{replaceMessages:n}=St(),{replacePaths:o,goToPath:A}=yn(),{replaceToasts:a}=Tt(),{hasFlowStarted:s}=ke(),{flowRef:i,timeoutIdRef:l}=Ce(),{settings:c}=te();return{hasFlowStarted:s,restartFlow:f.useCallback(async()=>{Gn(c),l.current&&clearTimeout(l.current),n([]),a([]),o([]),await A("start")},[l,c,n,a,o,Gn,A]),getFlow:f.useCallback(()=>(i==null?void 0:i.current)??{},[i])}})();return{hasFlowStarted:e,restartFlow:t,getFlow:r}},Xt=()=>{const{endStreamMessage:e,injectMessage:t,removeMessage:r,simulateStreamMessage:n,streamMessage:o,messages:A,replaceMessages:a,getMessages:s}=St();return{endStreamMessage:e,injectMessage:t,removeMessage:r,simulateStreamMessage:n,streamMessage:o,messages:A,replaceMessages:a,getMessages:s}},Ke=(e,t)=>{const{getBotId:r}=Ts();f.useEffect(()=>{const n=o=>{o.detail.botId===r()&&t(o)};return window.addEventListener(e,n),()=>{window.removeEventListener(e,n)}},[r,e,t])},Po=()=>{const{settings:e,replaceSettings:t,updateSettings:r}=vo();return{settings:e,replaceSettings:t,updateSettings:r}},So=()=>{const{textAreaDisabled:e,toggleTextAreaDisabled:t,textAreaSensitiveMode:r,toggleTextAreaSensitiveMode:n,getTextAreaValue:o,setTextAreaValue:A,focusTextArea:a,blurTextArea:s}=kt();return{textAreaDisabled:e,toggleTextAreaDisabled:t,textAreaSensitiveMode:r,toggleTextAreaSensitiveMode:n,getTextAreaValue:o,setTextAreaValue:A,focusTextArea:a,blurTextArea:s}},ko=()=>{const{showChatHistory:e,hasChatHistoryLoaded:t}=Zn();return{showChatHistory:e,getHistoryMessages:Vt,setHistoryMessages:qn,hasChatHistoryLoaded:t}},er={a:{content:9,self:!1,type:105},address:{invalid:["h1","h2","h3","h4","h5","h6","address","article","aside","section","div","header","footer"],self:!1},audio:{children:["track","source"]},br:{type:9,void:!0},body:{content:127},button:{content:8,type:105},caption:{content:1,parent:["table"]},col:{parent:["colgroup"],void:!0},colgroup:{children:["col"],parent:["table"]},details:{children:["summary"],type:97},dd:{content:1,parent:["dl"]},dl:{children:["dt","dd"],type:1},dt:{content:1,invalid:["footer","header"],parent:["dl"]},figcaption:{content:1,parent:["figure"]},footer:{invalid:["footer","header"]},header:{invalid:["footer","header"]},hr:{type:1,void:!0},img:{void:!0},li:{content:1,parent:["ul","ol","menu"]},main:{self:!1},ol:{children:["li"],type:1},picture:{children:["source","img"],type:25},rb:{parent:["ruby","rtc"]},rp:{parent:["ruby","rtc"]},rt:{content:8,parent:["ruby","rtc"]},rtc:{content:8,parent:["ruby"]},ruby:{children:["rb","rp","rt","rtc"]},source:{parent:["audio","video","picture"],void:!0},summary:{content:8,parent:["details"]},table:{children:["caption","colgroup","thead","tbody","tfoot","tr"],type:1},tbody:{parent:["table"],children:["tr"]},td:{content:1,parent:["tr"]},tfoot:{parent:["table"],children:["tr"]},th:{content:1,parent:["tr"]},thead:{parent:["table"],children:["tr"]},tr:{parent:["table","tbody","thead","tfoot"],children:["th","td"]},track:{parent:["audio","video"],void:!0},ul:{children:["li"],type:1},video:{children:["track","source"]},wbr:{type:9,void:!0}};function Dt(e){return t=>{er[t]={...e,...er[t]}}}["address","main","div","figure","p","pre"].forEach(Dt({content:1,type:65})),["abbr","b","bdi","bdo","cite","code","data","dfn","em","i","kbd","mark","q","ruby","samp","strong","sub","sup","time","u","var"].forEach(Dt({content:8,type:73})),["p","pre"].forEach(Dt({content:8,type:65})),["s","small","span","del","ins"].forEach(Dt({content:8,type:9})),["article","aside","footer","header","nav","section","blockquote"].forEach(Dt({content:1,type:67})),["h1","h2","h3","h4","h5","h6"].forEach(Dt({content:8,type:69})),["audio","canvas","iframe","img","video"].forEach(Dt({type:89}));const tr=Object.freeze(er),Qs=["applet","base","body","command","embed","frame","frameset","head","html","link","meta","noscript","object","script","style","title"],Ms=Object.keys(tr).filter(e=>e!=="canvas"&&e!=="iframe"),Do=Object.freeze({alt:1,cite:1,class:1,colspan:3,controls:4,datetime:1,default:4,disabled:4,dir:1,height:1,href:1,id:1,kind:1,label:1,lang:1,loading:1,loop:4,media:1,muted:4,poster:1,rel:1,role:1,rowspan:3,scope:1,sizes:1,span:3,start:3,style:5,src:1,srclang:1,srcset:1,tabindex:1,target:1,title:1,type:1,width:1}),Os=Object.freeze({class:"className",colspan:"colSpan",datetime:"dateTime",rowspan:"rowSpan",srclang:"srcLang",srcset:"srcSet",tabindex:"tabIndex"});function En(){return En=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&(e[n]=r[n])}return e},En.apply(this,arguments)}function Bo({attributes:e={},className:t,children:r=null,selfClose:n=!1,tagName:o}){const A=o;return n?f.createElement(A,En({className:t},e)):f.createElement(A,En({className:t},e),r)}class _s{attribute(t,r){return r}node(t,r){return r}}function Ns(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}/*!
|
|
11
11
|
* escape-html
|
|
12
12
|
* Copyright(c) 2012-2013 TJ Holowaychuk
|
|
13
13
|
* Copyright(c) 2015 Andreas Lubbe
|
|
14
14
|
* Copyright(c) 2015 Tiancheng "Timothy" Gu
|
|
15
15
|
* MIT Licensed
|
|
16
|
-
*/var
|
|
16
|
+
*/var xo,Io;const Ls=Ns(function(){if(Io)return xo;Io=1;var e=/["'&<>]/;return xo=function(t){var r=""+t,n=e.exec(r);if(!n)return r;var o,A="",a=0,s=0;for(a=n.index;a<r.length;a++){switch(r.charCodeAt(a)){case 34:o=""";break;case 38:o="&";break;case 39:o="'";break;case 60:o="<";break;case 62:o=">";break;default:continue}s!==a&&(A+=r.substring(s,a)),s=a+1,A+=o}return s!==a?A+r.substring(s,a):A}}());function ct(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}const Hs=/(url|image|image-set)\(/i;class Us extends _s{attribute(t,r){return t==="style"&&Object.keys(r).forEach(n=>{String(r[n]).match(Hs)&&delete r[n]}),r}}const Fs=/^<(!doctype|(html|head|body)(\s|>))/i,Rs=/^(aria-|data-|\w+:)/iu,zs=/{{{(\w+)\/?}}}/;function js(){if(!(typeof window>"u"||typeof document>"u"))return document.implementation.createHTMLDocument("Interweave")}let To=class{constructor(e,t={},r=[],n=[]){var o;if(ct(this,"allowed",void 0),ct(this,"banned",void 0),ct(this,"blocked",void 0),ct(this,"container",void 0),ct(this,"content",[]),ct(this,"props",void 0),ct(this,"matchers",void 0),ct(this,"filters",void 0),ct(this,"keyIndex",void 0),process.env.NODE_ENV!=="production"&&e&&typeof e!="string")throw new TypeError("Interweave parser requires a valid string.");this.props=t,this.matchers=r,this.filters=[...n,new Us],this.keyIndex=-1,this.container=this.createContainer(e||""),this.allowed=new Set((o=t.allowList)!==null&&o!==void 0?o:Ms),this.banned=new Set(Qs),this.blocked=new Set(t.blockList)}applyAttributeFilters(e,t){return this.filters.reduce((r,n)=>r!==null&&typeof n.attribute=="function"?n.attribute(e,r):r,t)}applyNodeFilters(e,t){return this.filters.reduce((r,n)=>r!==null&&typeof n.node=="function"?n.node(e,r):r,t)}applyMatchers(e,t){const r={},{props:n}=this;let o=e,A=0,a=null;return this.matchers.forEach(s=>{const i=s.asTag().toLowerCase(),l=this.getTagConfig(i);if(n[s.inverseName]||!this.isTagAllowed(i)||!this.canRenderChild(t,l))return;let c="";for(;o&&(a=s.match(o));){const{index:d,length:u,match:p,valid:g,void:v,...h}=a,w=s.propName+String(A);d>0&&(c+=o.slice(0,d)),g?(c+=v?`{{{${w}/}}}`:`{{{${w}}}}${p}{{{/${w}}}}`,this.keyIndex+=1,A+=1,r[w]={children:p,matcher:s,props:{...n,...h,key:this.keyIndex}}):c+=p,s.greedy?(o=c+o.slice(d+u),c=""):o=o.slice(d+(u||p.length))}s.greedy||(o=c+o)}),A===0?e:this.replaceTokens(o,r)}canRenderChild(e,t){return!(!e.tagName||!t.tagName||e.void)&&(e.children.length>0?e.children.includes(t.tagName):!(e.invalid.length>0&&e.invalid.includes(t.tagName))&&(t.parent.length>0?t.parent.includes(e.tagName):!(!e.self&&e.tagName===t.tagName)&&!!(e&&e.content&t.type)))}convertLineBreaks(e){const{noHtml:t,disableLineBreaks:r}=this.props;if(t||r||e.match(/<((?:\/[ a-z]+)|(?:[ a-z]+\/))>/gi))return e;let n=e.replace(/\r\n/g,`
|
|
17
17
|
`);return n=n.replace(/\n{3,}/g,`
|
|
18
18
|
|
|
19
19
|
|
|
20
|
-
`),n=n.replace(/\n/g,"<br/>"),n}createContainer(e){var t;const r=(typeof global<"u"&&global.INTERWEAVE_SSR_POLYFILL||Rs)();if(!r)return;const n=(t=this.props.containerTagName)!==null&&t!==void 0?t:"body",o=n==="body"||n==="fragment"?r.body:r.createElement(n);if(e.match(Us)){if(process.env.NODE_ENV!=="production")throw new Error("HTML documents as Interweave content are not supported.")}else o.innerHTML=this.convertLineBreaks(this.props.escapeHtml?Ns(e):e);return o}extractAttributes(e){const{allowAttributes:t}=this.props,r={};let n=0;return e.nodeType===1&&e.attributes&&([...e.attributes].forEach(o=>{const{name:a,value:A}=o,s=a.toLowerCase(),i=Co[s]||Co[a];if(!this.isSafe(e)||!s.match(Fs)&&(!t&&(!i||i===2)||s.startsWith("on")||A.replace(/(\s|\0|�([9AD]);)/,"").match(/(javascript|vbscript|livescript|xss):/i)))return;let l=s==="style"?this.extractStyleAttribute(e):A;i===4?l=!0:i===3?l=Number.parseFloat(String(l)):i!==5&&(l=String(l)),r[Ms[s]||s]=this.applyAttributeFilters(s,l),n+=1}),n!==0)?r:null}extractStyleAttribute(e){const t={};return Array.from(e.style).forEach(r=>{const n=e.style[r];(typeof n=="string"||typeof n=="number")&&(t[r.replace(/-([a-z])/g,(o,a)=>String(a).toUpperCase())]=n)}),t}getTagConfig(e){const t={children:[],content:0,invalid:[],parent:[],self:!0,tagName:"",type:0,void:!1};return $n[e]?{...t,...$n[e],tagName:e}:t}isSafe(e){if(typeof HTMLAnchorElement<"u"&&e instanceof HTMLAnchorElement){const t=e.getAttribute("href");if(t!=null&&t.startsWith("#"))return!0;const r=e.protocol.toLowerCase();return r===":"||r==="http:"||r==="https:"||r==="mailto:"||r==="tel:"}return!0}isTagAllowed(e){return!this.banned.has(e)&&!this.blocked.has(e)&&(this.props.allowElements||this.allowed.has(e))}parse(){return this.container?this.parseNode(this.container,this.getTagConfig(this.container.nodeName.toLowerCase())):[]}parseNode(e,t){const{noHtml:r,noHtmlExceptMatchers:n,allowElements:o,transform:a,transformOnlyAllowList:A}=this.props;let s=[],i="";return[...e.childNodes].forEach(l=>{if(l.nodeType===1){const d=l.nodeName.toLowerCase(),u=this.getTagConfig(d);i&&(s.push(i),i="");const f=this.applyNodeFilters(d,l);if(!f)return;let g;if(a&&(!A||this.isTagAllowed(d))){this.keyIndex+=1;const b=this.keyIndex;g=this.parseNode(f,u);const h=a(f,g,u);if(h===null)return;if(typeof h<"u")return void s.push(p.cloneElement(h,{key:b}));this.keyIndex=b-1}if(this.banned.has(d))return;if(r||n&&d!=="br"||!this.isTagAllowed(d)||!o&&!this.canRenderChild(t,u))s=[...s,...this.parseNode(f,u.tagName?u:t)];else{var c;this.keyIndex+=1;const b=this.extractAttributes(f),h={tagName:d};b&&(h.attributes=b),u.void&&(h.selfClose=u.void),s.push(p.createElement(Po,{...h,key:this.keyIndex},(c=g)!==null&&c!==void 0?c:this.parseNode(f,u)))}}else if(l.nodeType===3){const d=r&&!n?l.textContent:this.applyMatchers(l.textContent||"",t);Array.isArray(d)?s=[...s,...d]:i+=d}}),i&&s.push(i),s}replaceTokens(e,t){if(!e.includes("{{{"))return e;const r=[];let n=e,o=null;for(;o=n.match(zs);){const[a,A]=o,s=o.index,i=a.includes("/");if(process.env.NODE_ENV!=="production"&&!t[A])throw new Error(`Token "${A}" found but no matching element to replace with.`);s>0&&(r.push(n.slice(0,s)),n=n.slice(s));const{children:l,matcher:c,props:d}=t[A];let u;if(i)u=a.length,r.push(c.createElement(l,d));else{const f=n.match(new RegExp(`{{{/${A}}}}`));if(process.env.NODE_ENV!=="production"&&!f)throw new Error(`Closing token missing for interpolated element "${A}".`);u=f.index+f[0].length,r.push(c.createElement(this.replaceTokens(n.slice(a.length,f.index),t),d))}n=n.slice(u)}return n.length>0&&r.push(n),r.length===0?"":r.length===1&&typeof r[0]=="string"?r[0]:r}};function js(e){var t;const{attributes:r,className:n,containerTagName:o,content:a,emptyContent:A,parsedContent:s,tagName:i,noWrap:l}=e,c=(t=o??i)!==null&&t!==void 0?t:"span",d=c==="fragment"||l;let u;if(s)u=s;else{const f=new Bo(a??"",e).parse();f.length>0&&(u=f)}return u||(u=A),d?p.createElement(p.Fragment,null,u):p.createElement(Po,{attributes:r,className:n,tagName:c},u)}function qs(e){const{attributes:t,className:r,content:n="",disableFilters:o=!1,disableMatchers:a=!1,emptyContent:A=null,filters:s=[],matchers:i=[],onAfterParse:l=null,onBeforeParse:c=null,tagName:d="span",noWrap:u=!1,...f}=e,g=a?[]:i,b=o?[]:s,h=c?[c]:[],w=l?[l]:[];g.forEach(P=>{P.onBeforeParse&&h.push(P.onBeforeParse.bind(P)),P.onAfterParse&&w.push(P.onAfterParse.bind(P))});const x=h.reduce((P,C)=>{const S=C(P,e);if(process.env.NODE_ENV!=="production"&&typeof S!="string")throw new TypeError("Interweave `onBeforeParse` must return a valid HTML string.");return S},n??""),m=new Bo(x,f,g,b),k=w.reduce((P,C)=>{const S=C(P,e);if(process.env.NODE_ENV!=="production"&&!Array.isArray(S))throw new TypeError("Interweave `onAfterParse` must return an array of strings and React elements.");return S},m.parse());return p.createElement(js,{attributes:t,className:r,containerTagName:e.containerTagName,emptyContent:A,noWrap:u,parsedContent:k.length===0?void 0:k,tagName:d})}const Gs=({children:e})=>E.jsx("div",{style:{whiteSpace:"normal"},children:E.jsx(qs,{content:typeof e=="string"?e:""})}),Ys={autoConfig:!0},Io=(e,t,r)=>{var n;if(!e.detail.currPath)return!1;const o=t[e.detail.currPath];return!!o&&(((n=o.renderHtml)==null?void 0:n.map(a=>a.toUpperCase()).includes(r))??!1)},Ws=e=>{const t=[];let r="",n=!1;for(let o=0;o<e.length;o++){const a=e[o];a==="<"?n?(t.push(r),r=a):(n=!0,r=a):a===">"?(r+=a,t.push(r),r="",n=!1):n?r+=a:t.push(a)}return r!==""&&t.push(r),t},Ks=e=>{const{getFlow:t}=bn(),{messages:r,replaceMessages:n}=Kt(),{settings:o}=xo(),{hasChatHistoryLoaded:a}=ko(),A={...e,...Ys},s=A.htmlComponent?A.htmlComponent:Gs;p.useEffect(()=>{var c,d;if(a){const u=[...r];for(let f=0;f<u.length&&f<(((c=o.chatHistory)==null?void 0:c.maxEntries)??30);f++){const g=u[f];(d=g.tags)!=null&&d.includes("rcb-html-renderer-plugin:parsed")&&(g.contentWrapper=s)}n(u)}},[a]);const i=async c=>{var d;const u=(d=c.data.message)==null?void 0:d.sender.toUpperCase();typeof c.data.message.content=="string"&&Io(c,t(),u)&&(c.type==="rcb-start-simulate-stream-message"&&(c.data.simulateStreamChunker=Ws),c.data.message.contentWrapper=s,c.data.message.tags||(c.data.message.tags=[]),c.data.message.tags.push("rcb-html-renderer-plugin:parsed"))};Ge(j.PRE_INJECT_MESSAGE,i),Ge(j.CHUNK_STREAM_MESSAGE,i),Ge(j.START_STREAM_MESSAGE,i),Ge(j.START_SIMULATE_STREAM_MESSAGE,i),Ge(j.START_SPEAK_AUDIO,async c=>{Io(c,t(),"BOT")&&(c.data.textToRead=(d=>typeof window.DOMParser<"u"?new DOMParser().parseFromString(d,"text/html").body.textContent||"":d.replace(/<\/?[^>]+(>|$)/g,""))(c.data.textToRead))});const l={name:"@rcb-plugins/html-renderer"};return A!=null&&A.autoConfig&&(l.settings={event:{rcbPreInjectMessage:!0,rcbChunkStreamMessage:!0,rcbStartSimulateStreamMessage:!0,rcbStartStreamMessage:!0,rcbStartSpeakAudio:!0}}),l},Vs=/^[$_\p{ID_Start}][$_\u{200C}\u{200D}\p{ID_Continue}]*$/u,Xs=/^[$_\p{ID_Start}][-$_\u{200C}\u{200D}\p{ID_Continue}]*$/u,Js={};function To(e,t){return(Js.jsx?Xs:Vs).test(e)}const Zs=/[ \t\n\f\r]/g;function Qo(e){return e.replace(Zs,"")===""}class Vt{constructor(t,r,n){this.property=t,this.normal=r,n&&(this.space=n)}}function Mo(e,t){const r={},n={};let o=-1;for(;++o<e.length;)Object.assign(r,e[o].property),Object.assign(n,e[o].normal);return new Vt(r,n,t)}function er(e){return e.toLowerCase()}Vt.prototype.property={},Vt.prototype.normal={},Vt.prototype.space=null;class Ye{constructor(t,r){this.property=t,this.attribute=r}}Ye.prototype.space=null,Ye.prototype.boolean=!1,Ye.prototype.booleanish=!1,Ye.prototype.overloadedBoolean=!1,Ye.prototype.number=!1,Ye.prototype.commaSeparated=!1,Ye.prototype.spaceSeparated=!1,Ye.prototype.commaOrSpaceSeparated=!1,Ye.prototype.mustUseProperty=!1,Ye.prototype.defined=!1;let $s=0;const ee=Pt(),Ce=Pt(),Oo=Pt(),H=Pt(),pe=Pt(),Tt=Pt(),je=Pt();function Pt(){return 2**++$s}const tr=Object.freeze(Object.defineProperty({__proto__:null,boolean:ee,booleanish:Ce,commaOrSpaceSeparated:je,commaSeparated:Tt,number:H,overloadedBoolean:Oo,spaceSeparated:pe},Symbol.toStringTag,{value:"Module"})),nr=Object.keys(tr);class rr extends Ye{constructor(t,r,n,o){let a=-1;if(super(t,r),_o(this,"space",o),typeof n=="number")for(;++a<nr.length;){const A=nr[a];_o(this,nr[a],(n&tr[A])===tr[A])}}}function _o(e,t,r){r&&(e[t]=r)}rr.prototype.defined=!0;const eA={}.hasOwnProperty;function Qt(e){const t={},r={};let n;for(n in e.properties)if(eA.call(e.properties,n)){const o=e.properties[n],a=new rr(n,e.transform(e.attributes||{},n),o,e.space);e.mustUseProperty&&e.mustUseProperty.includes(n)&&(a.mustUseProperty=!0),t[n]=a,r[er(n)]=n,r[er(a.attribute)]=n}return new Vt(t,r,e.space)}const No=Qt({space:"xlink",transform:(e,t)=>"xlink:"+t.slice(5).toLowerCase(),properties:{xLinkActuate:null,xLinkArcRole:null,xLinkHref:null,xLinkRole:null,xLinkShow:null,xLinkTitle:null,xLinkType:null}}),Lo=Qt({space:"xml",transform:(e,t)=>"xml:"+t.slice(3).toLowerCase(),properties:{xmlLang:null,xmlBase:null,xmlSpace:null}});function Ho(e,t){return t in e?e[t]:t}function Uo(e,t){return Ho(e,t.toLowerCase())}const Fo=Qt({space:"xmlns",attributes:{xmlnsxlink:"xmlns:xlink"},transform:Uo,properties:{xmlns:null,xmlnsXLink:null}}),zo=Qt({transform:(e,t)=>t==="role"?t:"aria-"+t.slice(4).toLowerCase(),properties:{ariaActiveDescendant:null,ariaAtomic:Ce,ariaAutoComplete:null,ariaBusy:Ce,ariaChecked:Ce,ariaColCount:H,ariaColIndex:H,ariaColSpan:H,ariaControls:pe,ariaCurrent:null,ariaDescribedBy:pe,ariaDetails:null,ariaDisabled:Ce,ariaDropEffect:pe,ariaErrorMessage:null,ariaExpanded:Ce,ariaFlowTo:pe,ariaGrabbed:Ce,ariaHasPopup:null,ariaHidden:Ce,ariaInvalid:null,ariaKeyShortcuts:null,ariaLabel:null,ariaLabelledBy:pe,ariaLevel:H,ariaLive:null,ariaModal:Ce,ariaMultiLine:Ce,ariaMultiSelectable:Ce,ariaOrientation:null,ariaOwns:pe,ariaPlaceholder:null,ariaPosInSet:H,ariaPressed:Ce,ariaReadOnly:Ce,ariaRelevant:null,ariaRequired:Ce,ariaRoleDescription:pe,ariaRowCount:H,ariaRowIndex:H,ariaRowSpan:H,ariaSelected:Ce,ariaSetSize:H,ariaSort:null,ariaValueMax:H,ariaValueMin:H,ariaValueNow:H,ariaValueText:null,role:null}}),tA=Qt({space:"html",attributes:{acceptcharset:"accept-charset",classname:"class",htmlfor:"for",httpequiv:"http-equiv"},transform:Uo,mustUseProperty:["checked","multiple","muted","selected"],properties:{abbr:null,accept:Tt,acceptCharset:pe,accessKey:pe,action:null,allow:null,allowFullScreen:ee,allowPaymentRequest:ee,allowUserMedia:ee,alt:null,as:null,async:ee,autoCapitalize:null,autoComplete:pe,autoFocus:ee,autoPlay:ee,blocking:pe,capture:null,charSet:null,checked:ee,cite:null,className:pe,cols:H,colSpan:null,content:null,contentEditable:Ce,controls:ee,controlsList:pe,coords:H|Tt,crossOrigin:null,data:null,dateTime:null,decoding:null,default:ee,defer:ee,dir:null,dirName:null,disabled:ee,download:Oo,draggable:Ce,encType:null,enterKeyHint:null,fetchPriority:null,form:null,formAction:null,formEncType:null,formMethod:null,formNoValidate:ee,formTarget:null,headers:pe,height:H,hidden:ee,high:H,href:null,hrefLang:null,htmlFor:pe,httpEquiv:pe,id:null,imageSizes:null,imageSrcSet:null,inert:ee,inputMode:null,integrity:null,is:null,isMap:ee,itemId:null,itemProp:pe,itemRef:pe,itemScope:ee,itemType:pe,kind:null,label:null,lang:null,language:null,list:null,loading:null,loop:ee,low:H,manifest:null,max:null,maxLength:H,media:null,method:null,min:null,minLength:H,multiple:ee,muted:ee,name:null,nonce:null,noModule:ee,noValidate:ee,onAbort:null,onAfterPrint:null,onAuxClick:null,onBeforeMatch:null,onBeforePrint:null,onBeforeToggle:null,onBeforeUnload:null,onBlur:null,onCancel:null,onCanPlay:null,onCanPlayThrough:null,onChange:null,onClick:null,onClose:null,onContextLost:null,onContextMenu:null,onContextRestored:null,onCopy:null,onCueChange:null,onCut:null,onDblClick:null,onDrag:null,onDragEnd:null,onDragEnter:null,onDragExit:null,onDragLeave:null,onDragOver:null,onDragStart:null,onDrop:null,onDurationChange:null,onEmptied:null,onEnded:null,onError:null,onFocus:null,onFormData:null,onHashChange:null,onInput:null,onInvalid:null,onKeyDown:null,onKeyPress:null,onKeyUp:null,onLanguageChange:null,onLoad:null,onLoadedData:null,onLoadedMetadata:null,onLoadEnd:null,onLoadStart:null,onMessage:null,onMessageError:null,onMouseDown:null,onMouseEnter:null,onMouseLeave:null,onMouseMove:null,onMouseOut:null,onMouseOver:null,onMouseUp:null,onOffline:null,onOnline:null,onPageHide:null,onPageShow:null,onPaste:null,onPause:null,onPlay:null,onPlaying:null,onPopState:null,onProgress:null,onRateChange:null,onRejectionHandled:null,onReset:null,onResize:null,onScroll:null,onScrollEnd:null,onSecurityPolicyViolation:null,onSeeked:null,onSeeking:null,onSelect:null,onSlotChange:null,onStalled:null,onStorage:null,onSubmit:null,onSuspend:null,onTimeUpdate:null,onToggle:null,onUnhandledRejection:null,onUnload:null,onVolumeChange:null,onWaiting:null,onWheel:null,open:ee,optimum:H,pattern:null,ping:pe,placeholder:null,playsInline:ee,popover:null,popoverTarget:null,popoverTargetAction:null,poster:null,preload:null,readOnly:ee,referrerPolicy:null,rel:pe,required:ee,reversed:ee,rows:H,rowSpan:H,sandbox:pe,scope:null,scoped:ee,seamless:ee,selected:ee,shadowRootClonable:ee,shadowRootDelegatesFocus:ee,shadowRootMode:null,shape:null,size:H,sizes:null,slot:null,span:H,spellCheck:Ce,src:null,srcDoc:null,srcLang:null,srcSet:null,start:H,step:null,style:null,tabIndex:H,target:null,title:null,translate:null,type:null,typeMustMatch:ee,useMap:null,value:Ce,width:H,wrap:null,writingSuggestions:null,align:null,aLink:null,archive:pe,axis:null,background:null,bgColor:null,border:H,borderColor:null,bottomMargin:H,cellPadding:null,cellSpacing:null,char:null,charOff:null,classId:null,clear:null,code:null,codeBase:null,codeType:null,color:null,compact:ee,declare:ee,event:null,face:null,frame:null,frameBorder:null,hSpace:H,leftMargin:H,link:null,longDesc:null,lowSrc:null,marginHeight:H,marginWidth:H,noResize:ee,noHref:ee,noShade:ee,noWrap:ee,object:null,profile:null,prompt:null,rev:null,rightMargin:H,rules:null,scheme:null,scrolling:Ce,standby:null,summary:null,text:null,topMargin:H,valueType:null,version:null,vAlign:null,vLink:null,vSpace:H,allowTransparency:null,autoCorrect:null,autoSave:null,disablePictureInPicture:ee,disableRemotePlayback:ee,prefix:null,property:null,results:H,security:null,unselectable:null}}),nA=Qt({space:"svg",attributes:{accentHeight:"accent-height",alignmentBaseline:"alignment-baseline",arabicForm:"arabic-form",baselineShift:"baseline-shift",capHeight:"cap-height",className:"class",clipPath:"clip-path",clipRule:"clip-rule",colorInterpolation:"color-interpolation",colorInterpolationFilters:"color-interpolation-filters",colorProfile:"color-profile",colorRendering:"color-rendering",crossOrigin:"crossorigin",dataType:"datatype",dominantBaseline:"dominant-baseline",enableBackground:"enable-background",fillOpacity:"fill-opacity",fillRule:"fill-rule",floodColor:"flood-color",floodOpacity:"flood-opacity",fontFamily:"font-family",fontSize:"font-size",fontSizeAdjust:"font-size-adjust",fontStretch:"font-stretch",fontStyle:"font-style",fontVariant:"font-variant",fontWeight:"font-weight",glyphName:"glyph-name",glyphOrientationHorizontal:"glyph-orientation-horizontal",glyphOrientationVertical:"glyph-orientation-vertical",hrefLang:"hreflang",horizAdvX:"horiz-adv-x",horizOriginX:"horiz-origin-x",horizOriginY:"horiz-origin-y",imageRendering:"image-rendering",letterSpacing:"letter-spacing",lightingColor:"lighting-color",markerEnd:"marker-end",markerMid:"marker-mid",markerStart:"marker-start",navDown:"nav-down",navDownLeft:"nav-down-left",navDownRight:"nav-down-right",navLeft:"nav-left",navNext:"nav-next",navPrev:"nav-prev",navRight:"nav-right",navUp:"nav-up",navUpLeft:"nav-up-left",navUpRight:"nav-up-right",onAbort:"onabort",onActivate:"onactivate",onAfterPrint:"onafterprint",onBeforePrint:"onbeforeprint",onBegin:"onbegin",onCancel:"oncancel",onCanPlay:"oncanplay",onCanPlayThrough:"oncanplaythrough",onChange:"onchange",onClick:"onclick",onClose:"onclose",onCopy:"oncopy",onCueChange:"oncuechange",onCut:"oncut",onDblClick:"ondblclick",onDrag:"ondrag",onDragEnd:"ondragend",onDragEnter:"ondragenter",onDragExit:"ondragexit",onDragLeave:"ondragleave",onDragOver:"ondragover",onDragStart:"ondragstart",onDrop:"ondrop",onDurationChange:"ondurationchange",onEmptied:"onemptied",onEnd:"onend",onEnded:"onended",onError:"onerror",onFocus:"onfocus",onFocusIn:"onfocusin",onFocusOut:"onfocusout",onHashChange:"onhashchange",onInput:"oninput",onInvalid:"oninvalid",onKeyDown:"onkeydown",onKeyPress:"onkeypress",onKeyUp:"onkeyup",onLoad:"onload",onLoadedData:"onloadeddata",onLoadedMetadata:"onloadedmetadata",onLoadStart:"onloadstart",onMessage:"onmessage",onMouseDown:"onmousedown",onMouseEnter:"onmouseenter",onMouseLeave:"onmouseleave",onMouseMove:"onmousemove",onMouseOut:"onmouseout",onMouseOver:"onmouseover",onMouseUp:"onmouseup",onMouseWheel:"onmousewheel",onOffline:"onoffline",onOnline:"ononline",onPageHide:"onpagehide",onPageShow:"onpageshow",onPaste:"onpaste",onPause:"onpause",onPlay:"onplay",onPlaying:"onplaying",onPopState:"onpopstate",onProgress:"onprogress",onRateChange:"onratechange",onRepeat:"onrepeat",onReset:"onreset",onResize:"onresize",onScroll:"onscroll",onSeeked:"onseeked",onSeeking:"onseeking",onSelect:"onselect",onShow:"onshow",onStalled:"onstalled",onStorage:"onstorage",onSubmit:"onsubmit",onSuspend:"onsuspend",onTimeUpdate:"ontimeupdate",onToggle:"ontoggle",onUnload:"onunload",onVolumeChange:"onvolumechange",onWaiting:"onwaiting",onZoom:"onzoom",overlinePosition:"overline-position",overlineThickness:"overline-thickness",paintOrder:"paint-order",panose1:"panose-1",pointerEvents:"pointer-events",referrerPolicy:"referrerpolicy",renderingIntent:"rendering-intent",shapeRendering:"shape-rendering",stopColor:"stop-color",stopOpacity:"stop-opacity",strikethroughPosition:"strikethrough-position",strikethroughThickness:"strikethrough-thickness",strokeDashArray:"stroke-dasharray",strokeDashOffset:"stroke-dashoffset",strokeLineCap:"stroke-linecap",strokeLineJoin:"stroke-linejoin",strokeMiterLimit:"stroke-miterlimit",strokeOpacity:"stroke-opacity",strokeWidth:"stroke-width",tabIndex:"tabindex",textAnchor:"text-anchor",textDecoration:"text-decoration",textRendering:"text-rendering",transformOrigin:"transform-origin",typeOf:"typeof",underlinePosition:"underline-position",underlineThickness:"underline-thickness",unicodeBidi:"unicode-bidi",unicodeRange:"unicode-range",unitsPerEm:"units-per-em",vAlphabetic:"v-alphabetic",vHanging:"v-hanging",vIdeographic:"v-ideographic",vMathematical:"v-mathematical",vectorEffect:"vector-effect",vertAdvY:"vert-adv-y",vertOriginX:"vert-origin-x",vertOriginY:"vert-origin-y",wordSpacing:"word-spacing",writingMode:"writing-mode",xHeight:"x-height",playbackOrder:"playbackorder",timelineBegin:"timelinebegin"},transform:Ho,properties:{about:je,accentHeight:H,accumulate:null,additive:null,alignmentBaseline:null,alphabetic:H,amplitude:H,arabicForm:null,ascent:H,attributeName:null,attributeType:null,azimuth:H,bandwidth:null,baselineShift:null,baseFrequency:null,baseProfile:null,bbox:null,begin:null,bias:H,by:null,calcMode:null,capHeight:H,className:pe,clip:null,clipPath:null,clipPathUnits:null,clipRule:null,color:null,colorInterpolation:null,colorInterpolationFilters:null,colorProfile:null,colorRendering:null,content:null,contentScriptType:null,contentStyleType:null,crossOrigin:null,cursor:null,cx:null,cy:null,d:null,dataType:null,defaultAction:null,descent:H,diffuseConstant:H,direction:null,display:null,dur:null,divisor:H,dominantBaseline:null,download:ee,dx:null,dy:null,edgeMode:null,editable:null,elevation:H,enableBackground:null,end:null,event:null,exponent:H,externalResourcesRequired:null,fill:null,fillOpacity:H,fillRule:null,filter:null,filterRes:null,filterUnits:null,floodColor:null,floodOpacity:null,focusable:null,focusHighlight:null,fontFamily:null,fontSize:null,fontSizeAdjust:null,fontStretch:null,fontStyle:null,fontVariant:null,fontWeight:null,format:null,fr:null,from:null,fx:null,fy:null,g1:Tt,g2:Tt,glyphName:Tt,glyphOrientationHorizontal:null,glyphOrientationVertical:null,glyphRef:null,gradientTransform:null,gradientUnits:null,handler:null,hanging:H,hatchContentUnits:null,hatchUnits:null,height:null,href:null,hrefLang:null,horizAdvX:H,horizOriginX:H,horizOriginY:H,id:null,ideographic:H,imageRendering:null,initialVisibility:null,in:null,in2:null,intercept:H,k:H,k1:H,k2:H,k3:H,k4:H,kernelMatrix:je,kernelUnitLength:null,keyPoints:null,keySplines:null,keyTimes:null,kerning:null,lang:null,lengthAdjust:null,letterSpacing:null,lightingColor:null,limitingConeAngle:H,local:null,markerEnd:null,markerMid:null,markerStart:null,markerHeight:null,markerUnits:null,markerWidth:null,mask:null,maskContentUnits:null,maskUnits:null,mathematical:null,max:null,media:null,mediaCharacterEncoding:null,mediaContentEncodings:null,mediaSize:H,mediaTime:null,method:null,min:null,mode:null,name:null,navDown:null,navDownLeft:null,navDownRight:null,navLeft:null,navNext:null,navPrev:null,navRight:null,navUp:null,navUpLeft:null,navUpRight:null,numOctaves:null,observer:null,offset:null,onAbort:null,onActivate:null,onAfterPrint:null,onBeforePrint:null,onBegin:null,onCancel:null,onCanPlay:null,onCanPlayThrough:null,onChange:null,onClick:null,onClose:null,onCopy:null,onCueChange:null,onCut:null,onDblClick:null,onDrag:null,onDragEnd:null,onDragEnter:null,onDragExit:null,onDragLeave:null,onDragOver:null,onDragStart:null,onDrop:null,onDurationChange:null,onEmptied:null,onEnd:null,onEnded:null,onError:null,onFocus:null,onFocusIn:null,onFocusOut:null,onHashChange:null,onInput:null,onInvalid:null,onKeyDown:null,onKeyPress:null,onKeyUp:null,onLoad:null,onLoadedData:null,onLoadedMetadata:null,onLoadStart:null,onMessage:null,onMouseDown:null,onMouseEnter:null,onMouseLeave:null,onMouseMove:null,onMouseOut:null,onMouseOver:null,onMouseUp:null,onMouseWheel:null,onOffline:null,onOnline:null,onPageHide:null,onPageShow:null,onPaste:null,onPause:null,onPlay:null,onPlaying:null,onPopState:null,onProgress:null,onRateChange:null,onRepeat:null,onReset:null,onResize:null,onScroll:null,onSeeked:null,onSeeking:null,onSelect:null,onShow:null,onStalled:null,onStorage:null,onSubmit:null,onSuspend:null,onTimeUpdate:null,onToggle:null,onUnload:null,onVolumeChange:null,onWaiting:null,onZoom:null,opacity:null,operator:null,order:null,orient:null,orientation:null,origin:null,overflow:null,overlay:null,overlinePosition:H,overlineThickness:H,paintOrder:null,panose1:null,path:null,pathLength:H,patternContentUnits:null,patternTransform:null,patternUnits:null,phase:null,ping:pe,pitch:null,playbackOrder:null,pointerEvents:null,points:null,pointsAtX:H,pointsAtY:H,pointsAtZ:H,preserveAlpha:null,preserveAspectRatio:null,primitiveUnits:null,propagate:null,property:je,r:null,radius:null,referrerPolicy:null,refX:null,refY:null,rel:je,rev:je,renderingIntent:null,repeatCount:null,repeatDur:null,requiredExtensions:je,requiredFeatures:je,requiredFonts:je,requiredFormats:je,resource:null,restart:null,result:null,rotate:null,rx:null,ry:null,scale:null,seed:null,shapeRendering:null,side:null,slope:null,snapshotTime:null,specularConstant:H,specularExponent:H,spreadMethod:null,spacing:null,startOffset:null,stdDeviation:null,stemh:null,stemv:null,stitchTiles:null,stopColor:null,stopOpacity:null,strikethroughPosition:H,strikethroughThickness:H,string:null,stroke:null,strokeDashArray:je,strokeDashOffset:null,strokeLineCap:null,strokeLineJoin:null,strokeMiterLimit:H,strokeOpacity:H,strokeWidth:null,style:null,surfaceScale:H,syncBehavior:null,syncBehaviorDefault:null,syncMaster:null,syncTolerance:null,syncToleranceDefault:null,systemLanguage:je,tabIndex:H,tableValues:null,target:null,targetX:H,targetY:H,textAnchor:null,textDecoration:null,textRendering:null,textLength:null,timelineBegin:null,title:null,transformBehavior:null,type:null,typeOf:je,to:null,transform:null,transformOrigin:null,u1:null,u2:null,underlinePosition:H,underlineThickness:H,unicode:null,unicodeBidi:null,unicodeRange:null,unitsPerEm:H,values:null,vAlphabetic:H,vMathematical:H,vectorEffect:null,vHanging:H,vIdeographic:H,version:null,vertAdvY:H,vertOriginX:H,vertOriginY:H,viewBox:null,viewTarget:null,visibility:null,width:null,widths:null,wordSpacing:null,writingMode:null,x:null,x1:null,x2:null,xChannelSelector:null,xHeight:H,y:null,y1:null,y2:null,yChannelSelector:null,z:null,zoomAndPan:null}}),rA=/^data[-\w.:]+$/i,Ro=/-[a-z]/g,oA=/[A-Z]/g;function aA(e){return"-"+e.toLowerCase()}function iA(e){return e.charAt(1).toUpperCase()}const sA={classId:"classID",dataType:"datatype",itemId:"itemID",strokeDashArray:"strokeDasharray",strokeDashOffset:"strokeDashoffset",strokeLineCap:"strokeLinecap",strokeLineJoin:"strokeLinejoin",strokeMiterLimit:"strokeMiterlimit",typeOf:"typeof",xLinkActuate:"xlinkActuate",xLinkArcRole:"xlinkArcrole",xLinkHref:"xlinkHref",xLinkRole:"xlinkRole",xLinkShow:"xlinkShow",xLinkTitle:"xlinkTitle",xLinkType:"xlinkType",xmlnsXLink:"xmlnsXlink"},AA=Mo([Lo,No,Fo,zo,tA],"html"),or=Mo([Lo,No,Fo,zo,nA],"svg");function jo(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}var ar,qo,Go,Mt={},lA=function(){if(Go)return Mt;Go=1;var e=Mt&&Mt.__importDefault||function(r){return r&&r.__esModule?r:{default:r}};Object.defineProperty(Mt,"__esModule",{value:!0}),Mt.default=function(r,n){var o=null;if(!r||typeof r!="string")return o;var a=(0,t.default)(r),A=typeof n=="function";return a.forEach(function(s){if(s.type==="declaration"){var i=s.property,l=s.value;A?n(i,l,s):l&&((o=o||{})[i]=l)}}),o};var t=e(function(){if(qo)return ar;qo=1;var r=/\/\*[^*]*\*+([^/*][^*]*\*+)*\//g,n=/\n/g,o=/^\s*/,a=/^(\*?[-#/*\\\w]+(\[[0-9a-z_-]+\])?)\s*/,A=/^:\s*/,s=/^((?:'(?:\\'|.)*?'|"(?:\\"|.)*?"|\([^)]*?\)|[^};])+)/,i=/^[;\s]*/,l=/^\s+|\s+$/g,c="";function d(u){return u?u.replace(l,c):c}return ar=function(u,f){if(typeof u!="string")throw new TypeError("First argument must be a string");if(!u)return[];f=f||{};var g=1,b=1;function h(Q){var B=Q.match(n);B&&(g+=B.length);var O=Q.lastIndexOf(`
|
|
21
|
-
`);b=~O?Q.length-O:b+Q.length}function w(){var Q={line:g,column:b};return function(B){return B.position=new x(Q),P(),B}}function x(Q){this.start=Q,this.end={line:g,column:b},this.source=f.source}function m(Q){var B=new Error(f.source+":"+g+":"+b+": "+Q);if(B.reason=Q,B.filename=f.source,B.line=g,B.column=b,B.source=u,!f.silent)throw B}function k(Q){var B=Q.exec(u);if(B){var O=B[0];return h(O),u=u.slice(O.length),B}}function P(){k(o)}function C(Q){var B;for(Q=Q||[];B=S();)B!==!1&&Q.push(B);return Q}function S(){var Q=w();if(u.charAt(0)=="/"&&u.charAt(1)=="*"){for(var B=2;c!=u.charAt(B)&&(u.charAt(B)!="*"||u.charAt(B+1)!="/");)++B;if(B+=2,c===u.charAt(B-1))return m("End of comment missing");var O=u.slice(2,B-2);return b+=2,h(O),u=u.slice(B),b+=2,Q({type:"comment",comment:O})}}function I(){var Q=w(),B=k(a);if(B){if(S(),!k(A))return m("property missing ':'");var O=k(s),D=Q({type:"declaration",property:d(B[0].replace(r,c)),value:O?d(O[0].replace(r,c)):c});return k(i),D}}return x.prototype.content=u,P(),function(){var Q,B=[];for(C(B);Q=I();)Q!==!1&&(B.push(Q),C(B));return B}()},ar}());return Mt}();const Yo=jo(lA),cA=Yo.default||Yo,Wo=Ko("end"),ir=Ko("start");function Ko(e){return function(t){const r=t&&t.position&&t.position[e]||{};if(typeof r.line=="number"&&r.line>0&&typeof r.column=="number"&&r.column>0)return{line:r.line,column:r.column,offset:typeof r.offset=="number"&&r.offset>-1?r.offset:void 0}}}function Xt(e){return e&&typeof e=="object"?"position"in e||"type"in e?Vo(e.position):"start"in e||"end"in e?Vo(e):"line"in e||"column"in e?sr(e):"":""}function sr(e){return Xo(e&&e.line)+":"+Xo(e&&e.column)}function Vo(e){return sr(e&&e.start)+"-"+sr(e&&e.end)}function Xo(e){return e&&typeof e=="number"?e:1}class Oe extends Error{constructor(t,r,n){super(),typeof r=="string"&&(n=r,r=void 0);let o="",a={},A=!1;if(r&&(a="line"in r&&"column"in r||"start"in r&&"end"in r?{place:r}:"type"in r?{ancestors:[r],place:r.position}:{...r}),typeof t=="string"?o=t:!a.cause&&t&&(A=!0,o=t.message,a.cause=t),!a.ruleId&&!a.source&&typeof n=="string"){const i=n.indexOf(":");i===-1?a.ruleId=n:(a.source=n.slice(0,i),a.ruleId=n.slice(i+1))}if(!a.place&&a.ancestors&&a.ancestors){const i=a.ancestors[a.ancestors.length-1];i&&(a.place=i.position)}const s=a.place&&"start"in a.place?a.place.start:a.place;this.ancestors=a.ancestors||void 0,this.cause=a.cause||void 0,this.column=s?s.column:void 0,this.fatal=void 0,this.file,this.message=o,this.line=s?s.line:void 0,this.name=Xt(a.place)||"1:1",this.place=a.place||void 0,this.reason=this.message,this.ruleId=a.ruleId||void 0,this.source=a.source||void 0,this.stack=A&&a.cause&&typeof a.cause.stack=="string"?a.cause.stack:"",this.actual,this.expected,this.note,this.url}}Oe.prototype.file="",Oe.prototype.name="",Oe.prototype.reason="",Oe.prototype.message="",Oe.prototype.stack="",Oe.prototype.column=void 0,Oe.prototype.line=void 0,Oe.prototype.ancestors=void 0,Oe.prototype.cause=void 0,Oe.prototype.fatal=void 0,Oe.prototype.place=void 0,Oe.prototype.ruleId=void 0,Oe.prototype.source=void 0;const Ar={}.hasOwnProperty,uA=new Map,dA=/[A-Z]/g,pA=/-([a-z])/g,fA=new Set(["table","tbody","thead","tfoot","tr"]),hA=new Set(["td","th"]),Jo="https://github.com/syntax-tree/hast-util-to-jsx-runtime";function gA(e,t){if(!t||t.Fragment===void 0)throw new TypeError("Expected `Fragment` in options");const r=t.filePath||void 0;let n;if(t.development){if(typeof t.jsxDEV!="function")throw new TypeError("Expected `jsxDEV` in options when `development: true`");n=function(A,s){return i;function i(l,c,d,u){const f=Array.isArray(d.children),g=ir(l);return s(c,d,u,f,{columnNumber:g?g.column-1:void 0,fileName:A,lineNumber:g?g.line:void 0},void 0)}}(r,t.jsxDEV)}else{if(typeof t.jsx!="function")throw new TypeError("Expected `jsx` in production options");if(typeof t.jsxs!="function")throw new TypeError("Expected `jsxs` in production options");n=function(A,s,i){return l;function l(c,d,u,f){const g=Array.isArray(u.children)?i:s;return f?g(d,u,f):g(d,u)}}(0,t.jsx,t.jsxs)}const o={Fragment:t.Fragment,ancestors:[],components:t.components||{},create:n,elementAttributeNameCase:t.elementAttributeNameCase||"react",evaluater:t.createEvaluater?t.createEvaluater():void 0,filePath:r,ignoreInvalidStyle:t.ignoreInvalidStyle||!1,passKeys:t.passKeys!==!1,passNode:t.passNode||!1,schema:t.space==="svg"?or:AA,stylePropertyNameCase:t.stylePropertyNameCase||"dom",tableCellAlignToStyle:t.tableCellAlignToStyle!==!1},a=Zo(o,e,void 0);return a&&typeof a!="string"?a:o.create(e,o.Fragment,{children:a||void 0},void 0)}function Zo(e,t,r){return t.type==="element"?function(n,o,a){const A=n.schema;let s=A;o.tagName.toLowerCase()==="svg"&&A.space==="html"&&(s=or,n.schema=s),n.ancestors.push(o);const i=ea(n,o.tagName,!1),l=function(d,u){const f={};let g,b;for(b in u.properties)if(b!=="children"&&Ar.call(u.properties,b)){const h=mA(d,b,u.properties[b]);if(h){const[w,x]=h;d.tableCellAlignToStyle&&w==="align"&&typeof x=="string"&&hA.has(u.tagName)?g=x:f[w]=x}}return g&&((f.style||(f.style={}))[d.stylePropertyNameCase==="css"?"text-align":"textAlign"]=g),f}(n,o);let c=cr(n,o);return fA.has(o.tagName)&&(c=c.filter(function(d){return typeof d!="string"||!function(u){return typeof u=="object"?u.type==="text"&&Qo(u.value):Qo(u)}(d)})),$o(n,l,i,o),lr(l,c),n.ancestors.pop(),n.schema=A,n.create(o,i,l,a)}(e,t,r):t.type==="mdxFlowExpression"||t.type==="mdxTextExpression"?function(n,o){if(o.data&&o.data.estree&&n.evaluater){const a=o.data.estree.body[0];return a.type,n.evaluater.evaluateExpression(a.expression)}Jt(n,o.position)}(e,t):t.type==="mdxJsxFlowElement"||t.type==="mdxJsxTextElement"?function(n,o,a){const A=n.schema;let s=A;o.name==="svg"&&A.space==="html"&&(s=or,n.schema=s),n.ancestors.push(o);const i=o.name===null?n.Fragment:ea(n,o.name,!0),l=function(d,u){const f={};for(const g of u.attributes)if(g.type==="mdxJsxExpressionAttribute")if(g.data&&g.data.estree&&d.evaluater){const b=g.data.estree.body[0];b.type;const h=b.expression;h.type;const w=h.properties[0];w.type,Object.assign(f,d.evaluater.evaluateExpression(w.argument))}else Jt(d,u.position);else{const b=g.name;let h;if(g.value&&typeof g.value=="object")if(g.value.data&&g.value.data.estree&&d.evaluater){const w=g.value.data.estree.body[0];w.type,h=d.evaluater.evaluateExpression(w.expression)}else Jt(d,u.position);else h=g.value===null||g.value;f[b]=h}return f}(n,o),c=cr(n,o);return $o(n,l,i,o),lr(l,c),n.ancestors.pop(),n.schema=A,n.create(o,i,l,a)}(e,t,r):t.type==="mdxjsEsm"?function(n,o){if(o.data&&o.data.estree&&n.evaluater)return n.evaluater.evaluateProgram(o.data.estree);Jt(n,o.position)}(e,t):t.type==="root"?function(n,o,a){const A={};return lr(A,cr(n,o)),n.create(o,n.Fragment,A,a)}(e,t,r):t.type==="text"?function(n,o){return o.value}(0,t):void 0}function $o(e,t,r,n){typeof r!="string"&&r!==e.Fragment&&e.passNode&&(t.node=n)}function lr(e,t){if(t.length>0){const r=t.length>1?t:t[0];r&&(e.children=r)}}function cr(e,t){const r=[];let n=-1;const o=e.passKeys?new Map:uA;for(;++n<t.children.length;){const a=t.children[n];let A;if(e.passKeys){const i=a.type==="element"?a.tagName:a.type==="mdxJsxFlowElement"||a.type==="mdxJsxTextElement"?a.name:void 0;if(i){const l=o.get(i)||0;A=i+"-"+l,o.set(i,l+1)}}const s=Zo(e,a,A);s!==void 0&&r.push(s)}return r}function mA(e,t,r){const n=function(o,a){const A=er(a);let s=a,i=Ye;if(A in o.normal)return o.property[o.normal[A]];if(A.length>4&&A.slice(0,4)==="data"&&rA.test(a)){if(a.charAt(4)==="-"){const l=a.slice(5).replace(Ro,iA);s="data"+l.charAt(0).toUpperCase()+l.slice(1)}else{const l=a.slice(4);if(!Ro.test(l)){let c=l.replace(oA,aA);c.charAt(0)!=="-"&&(c="-"+c),a="data"+c}}i=rr}return new i(s,a)}(e.schema,t);if(!(r==null||typeof r=="number"&&Number.isNaN(r))){if(Array.isArray(r)&&(r=n.commaSeparated?function(o){const a={};return(o[o.length-1]===""?[...o,""]:o).join((a.padRight?" ":"")+","+(a.padLeft===!1?"":" ")).trim()}(r):function(o){return o.join(" ").trim()}(r)),n.property==="style"){let o=typeof r=="object"?r:function(a,A){const s={};try{cA(A,i)}catch(l){if(!a.ignoreInvalidStyle){const c=l,d=new Oe("Cannot parse `style` attribute",{ancestors:a.ancestors,cause:c,ruleId:"style",source:"hast-util-to-jsx-runtime"});throw d.file=a.filePath||void 0,d.url=Jo+"#cannot-parse-style-attribute",d}}return s;function i(l,c){let d=l;d.slice(0,2)!=="--"&&(d.slice(0,4)==="-ms-"&&(d="ms-"+d.slice(4)),d=d.replace(pA,bA)),s[d]=c}}(e,String(r));return e.stylePropertyNameCase==="css"&&(o=function(a){const A={};let s;for(s in a)Ar.call(a,s)&&(A[yA(s)]=a[s]);return A}(o)),["style",o]}return[e.elementAttributeNameCase==="react"&&n.space?sA[n.property]||n.property:n.attribute,r]}}function ea(e,t,r){let n;if(r)if(t.includes(".")){const o=t.split(".");let a,A=-1;for(;++A<o.length;){const s=To(o[A])?{type:"Identifier",name:o[A]}:{type:"Literal",value:o[A]};a=a?{type:"MemberExpression",object:a,property:s,computed:!(!A||s.type!=="Literal"),optional:!1}:s}n=a}else n=To(t)&&!/^[a-z]/.test(t)?{type:"Identifier",name:t}:{type:"Literal",value:t};else n={type:"Literal",value:t};if(n.type==="Literal"){const o=n.value;return Ar.call(e.components,o)?e.components[o]:o}if(e.evaluater)return e.evaluater.evaluateExpression(n);Jt(e)}function Jt(e,t){const r=new Oe("Cannot handle MDX estrees without `createEvaluater`",{ancestors:e.ancestors,place:t,ruleId:"mdx-estree",source:"hast-util-to-jsx-runtime"});throw r.file=e.filePath||void 0,r.url=Jo+"#cannot-handle-mdx-estrees-without-createevaluater",r}function yA(e){let t=e.replace(dA,vA);return t.slice(0,3)==="ms-"&&(t="-"+t),t}function bA(e,t){return t.toUpperCase()}function vA(e){return"-"+e.toLowerCase()}const ur={action:["form"],cite:["blockquote","del","ins","q"],data:["object"],formAction:["button","input"],href:["a","area","base","link"],icon:["menuitem"],itemId:null,manifest:["html"],ping:["a","area"],poster:["video"],src:["audio","embed","iframe","img","input","script","source","track","video"]},wn={};function ta(e,t,r){if(function(n){return!(!n||typeof n!="object")}(e)){if("value"in e)return e.type!=="html"||r?e.value:"";if(t&&"alt"in e&&e.alt)return e.alt;if("children"in e)return na(e.children,t,r)}return Array.isArray(e)?na(e,t,r):""}function na(e,t,r){const n=[];let o=-1;for(;++o<e.length;)n[o]=ta(e[o],t,r);return n.join("")}const ra=document.createElement("i");function dr(e){const t="&"+e+";";ra.innerHTML=t;const r=ra.textContent;return(r.charCodeAt(r.length-1)!==59||e==="semi")&&r!==t&&r}function tt(e,t,r,n){const o=e.length;let a,A=0;if(t=t<0?-t>o?0:o+t:t>o?o:t,r=r>0?r:0,n.length<1e4)a=Array.from(n),a.unshift(t,r),e.splice(...a);else for(r&&e.splice(t,r);A<n.length;)a=n.slice(A,A+1e4),a.unshift(t,0),e.splice(...a),A+=1e4,t+=1e4}function We(e,t){return e.length>0?(tt(e,e.length,0,t),e):t}const oa={}.hasOwnProperty;function wA(e){const t={};let r=-1;for(;++r<e.length;)xA(t,e[r]);return t}function xA(e,t){let r;for(r in t){const n=(oa.call(e,r)?e[r]:void 0)||(e[r]={}),o=t[r];let a;if(o)for(a in o){oa.call(n,a)||(n[a]=[]);const A=o[a];EA(n[a],Array.isArray(A)?A:A?[A]:[])}}}function EA(e,t){let r=-1;const n=[];for(;++r<t.length;)(t[r].add==="after"?e:n).push(t[r]);tt(e,0,0,n)}function aa(e,t){const r=Number.parseInt(e,t);return r<9||r===11||r>13&&r<32||r>126&&r<160||r>55295&&r<57344||r>64975&&r<65008||!(65535&~r)||(65535&r)==65534||r>1114111?"�":String.fromCodePoint(r)}function Ot(e){return e.replace(/[\t\n\r ]+/g," ").replace(/^ | $/g,"").toLowerCase().toUpperCase()}const nt=gt(/[A-Za-z]/),qe=gt(/[\dA-Za-z]/),kA=gt(/[#-'*+\--9=?A-Z^-~]/);function pr(e){return e!==null&&(e<32||e===127)}const fr=gt(/\d/),CA=gt(/[\dA-Fa-f]/),PA=gt(/[!-/:-@[-`{-~]/);function $(e){return e!==null&&e<-2}function He(e){return e!==null&&(e<0||e===32)}function ie(e){return e===-2||e===-1||e===32}const SA=gt(new RegExp("\\p{P}|\\p{S}","u")),DA=gt(/\s/);function gt(e){return function(t){return t!==null&&t>-1&&e.test(String.fromCharCode(t))}}function _t(e){const t=[];let r=-1,n=0,o=0;for(;++r<e.length;){const a=e.charCodeAt(r);let A="";if(a===37&&qe(e.charCodeAt(r+1))&&qe(e.charCodeAt(r+2)))o=2;else if(a<128)/[!#$&-;=?-Z_a-z~]/.test(String.fromCharCode(a))||(A=String.fromCharCode(a));else if(a>55295&&a<57344){const s=e.charCodeAt(r+1);a<56320&&s>56319&&s<57344?(A=String.fromCharCode(a,s),o=1):A="�"}else A=String.fromCharCode(a);A&&(t.push(e.slice(n,r),encodeURIComponent(A)),n=r+o+1,A=""),o&&(r+=o,o=0)}return t.join("")+e.slice(n)}function fe(e,t,r,n){const o=n?n-1:Number.POSITIVE_INFINITY;let a=0;return function(s){return ie(s)?(e.enter(r),A(s)):t(s)};function A(s){return ie(s)&&a++<o?(e.consume(s),A):(e.exit(r),t(s))}}const BA={tokenize:function(e){const t=e.attempt(this.parser.constructs.contentInitial,function(a){return a===null?void e.consume(a):(e.enter("lineEnding"),e.consume(a),e.exit("lineEnding"),fe(e,t,"linePrefix"))},function(a){return e.enter("paragraph"),n(a)});let r;return t;function n(a){const A=e.enter("chunkText",{contentType:"text",previous:r});return r&&(r.next=A),r=A,o(a)}function o(a){return a===null?(e.exit("chunkText"),e.exit("paragraph"),void e.consume(a)):$(a)?(e.consume(a),e.exit("chunkText"),n):(e.consume(a),o)}}},IA={tokenize:function(e){const t=this,r=[];let n,o,a,A=0;return s;function s(m){if(A<r.length){const k=r[A];return t.containerState=k[1],e.attempt(k[0].continuation,i,l)(m)}return l(m)}function i(m){if(A++,t.containerState._closeFlow){t.containerState._closeFlow=void 0,n&&x();const k=t.events.length;let P,C=k;for(;C--;)if(t.events[C][0]==="exit"&&t.events[C][1].type==="chunkFlow"){P=t.events[C][1].end;break}w(A);let S=k;for(;S<t.events.length;)t.events[S][1].end={...P},S++;return tt(t.events,C+1,0,t.events.slice(k)),t.events.length=S,l(m)}return s(m)}function l(m){if(A===r.length){if(!n)return u(m);if(n.currentConstruct&&n.currentConstruct.concrete)return g(m);t.interrupt=!(!n.currentConstruct||n._gfmTableDynamicInterruptHack)}return t.containerState={},e.check(ia,c,d)(m)}function c(m){return n&&x(),w(A),u(m)}function d(m){return t.parser.lazy[t.now().line]=A!==r.length,a=t.now().offset,g(m)}function u(m){return t.containerState={},e.attempt(ia,f,g)(m)}function f(m){return A++,r.push([t.currentConstruct,t.containerState]),u(m)}function g(m){return m===null?(n&&x(),w(0),void e.consume(m)):(n=n||t.parser.flow(t.now()),e.enter("chunkFlow",{_tokenizer:n,contentType:"flow",previous:o}),b(m))}function b(m){return m===null?(h(e.exit("chunkFlow"),!0),w(0),void e.consume(m)):$(m)?(e.consume(m),h(e.exit("chunkFlow")),A=0,t.interrupt=void 0,s):(e.consume(m),b)}function h(m,k){const P=t.sliceStream(m);if(k&&P.push(null),m.previous=o,o&&(o.next=m),o=m,n.defineSkip(m.start),n.write(P),t.parser.lazy[m.start.line]){let C=n.events.length;for(;C--;)if(n.events[C][1].start.offset<a&&(!n.events[C][1].end||n.events[C][1].end.offset>a))return;const S=t.events.length;let I,Q,B=S;for(;B--;)if(t.events[B][0]==="exit"&&t.events[B][1].type==="chunkFlow"){if(I){Q=t.events[B][1].end;break}I=!0}for(w(A),C=S;C<t.events.length;)t.events[C][1].end={...Q},C++;tt(t.events,B+1,0,t.events.slice(S)),t.events.length=C}}function w(m){let k=r.length;for(;k-- >m;){const P=r[k];t.containerState=P[1],P[0].exit.call(t,e)}r.length=m}function x(){n.write([null]),o=void 0,n=void 0,t.containerState._closeFlow=void 0}}},ia={tokenize:function(e,t,r){return fe(e,e.attempt(this.parser.constructs.document,t,r),"linePrefix",this.parser.constructs.disable.null.includes("codeIndented")?void 0:4)}};function sa(e){return e===null||He(e)||DA(e)?1:SA(e)?2:void 0}function hr(e,t,r){const n=[];let o=-1;for(;++o<e.length;){const a=e[o].resolveAll;a&&!n.includes(a)&&(t=a(t,r),n.push(a))}return t}const gr={name:"attention",resolveAll:function(e,t){let r,n,o,a,A,s,i,l,c=-1;for(;++c<e.length;)if(e[c][0]==="enter"&&e[c][1].type==="attentionSequence"&&e[c][1]._close){for(r=c;r--;)if(e[r][0]==="exit"&&e[r][1].type==="attentionSequence"&&e[r][1]._open&&t.sliceSerialize(e[r][1]).charCodeAt(0)===t.sliceSerialize(e[c][1]).charCodeAt(0)){if((e[r][1]._close||e[c][1]._open)&&(e[c][1].end.offset-e[c][1].start.offset)%3&&!((e[r][1].end.offset-e[r][1].start.offset+e[c][1].end.offset-e[c][1].start.offset)%3))continue;s=e[r][1].end.offset-e[r][1].start.offset>1&&e[c][1].end.offset-e[c][1].start.offset>1?2:1;const d={...e[r][1].end},u={...e[c][1].start};Aa(d,-s),Aa(u,s),a={type:s>1?"strongSequence":"emphasisSequence",start:d,end:{...e[r][1].end}},A={type:s>1?"strongSequence":"emphasisSequence",start:{...e[c][1].start},end:u},o={type:s>1?"strongText":"emphasisText",start:{...e[r][1].end},end:{...e[c][1].start}},n={type:s>1?"strong":"emphasis",start:{...a.start},end:{...A.end}},e[r][1].end={...a.start},e[c][1].start={...A.end},i=[],e[r][1].end.offset-e[r][1].start.offset&&(i=We(i,[["enter",e[r][1],t],["exit",e[r][1],t]])),i=We(i,[["enter",n,t],["enter",a,t],["exit",a,t],["enter",o,t]]),i=We(i,hr(t.parser.constructs.insideSpan.null,e.slice(r+1,c),t)),i=We(i,[["exit",o,t],["enter",A,t],["exit",A,t],["exit",n,t]]),e[c][1].end.offset-e[c][1].start.offset?(l=2,i=We(i,[["enter",e[c][1],t],["exit",e[c][1],t]])):l=0,tt(e,r-1,c-r+3,i),c=r+i.length-l-2;break}}for(c=-1;++c<e.length;)e[c][1].type==="attentionSequence"&&(e[c][1].type="data");return e},tokenize:function(e,t){const r=this.parser.constructs.attentionMarkers.null,n=this.previous,o=sa(n);let a;return function(s){return a=s,e.enter("attentionSequence"),A(s)};function A(s){if(s===a)return e.consume(s),A;const i=e.exit("attentionSequence"),l=sa(s),c=!l||l===2&&o||r.includes(s),d=!o||o===2&&l||r.includes(n);return i._open=!!(a===42?c:c&&(o||!d)),i._close=!!(a===42?d:d&&(l||!c)),t(s)}}};function Aa(e,t){e.column+=t,e.offset+=t,e._bufferIndex+=t}const TA={name:"autolink",tokenize:function(e,t,r){let n=0;return function(u){return e.enter("autolink"),e.enter("autolinkMarker"),e.consume(u),e.exit("autolinkMarker"),e.enter("autolinkProtocol"),o};function o(u){return nt(u)?(e.consume(u),a):u===64?r(u):i(u)}function a(u){return u===43||u===45||u===46||qe(u)?(n=1,A(u)):i(u)}function A(u){return u===58?(e.consume(u),n=0,s):(u===43||u===45||u===46||qe(u))&&n++<32?(e.consume(u),A):(n=0,i(u))}function s(u){return u===62?(e.exit("autolinkProtocol"),e.enter("autolinkMarker"),e.consume(u),e.exit("autolinkMarker"),e.exit("autolink"),t):u===null||u===32||u===60||pr(u)?r(u):(e.consume(u),s)}function i(u){return u===64?(e.consume(u),l):kA(u)?(e.consume(u),i):r(u)}function l(u){return qe(u)?c(u):r(u)}function c(u){return u===46?(e.consume(u),n=0,l):u===62?(e.exit("autolinkProtocol").type="autolinkEmail",e.enter("autolinkMarker"),e.consume(u),e.exit("autolinkMarker"),e.exit("autolink"),t):d(u)}function d(u){if((u===45||qe(u))&&n++<63){const f=u===45?d:c;return e.consume(u),f}return r(u)}}},xn={partial:!0,tokenize:function(e,t,r){return function(o){return ie(o)?fe(e,n,"linePrefix")(o):n(o)};function n(o){return o===null||$(o)?t(o):r(o)}}},la={continuation:{tokenize:function(e,t,r){const n=this;return function(a){return ie(a)?fe(e,o,"linePrefix",n.parser.constructs.disable.null.includes("codeIndented")?void 0:4)(a):o(a)};function o(a){return e.attempt(la,t,r)(a)}}},exit:function(e){e.exit("blockQuote")},name:"blockQuote",tokenize:function(e,t,r){const n=this;return function(a){if(a===62){const A=n.containerState;return A.open||(e.enter("blockQuote",{_container:!0}),A.open=!0),e.enter("blockQuotePrefix"),e.enter("blockQuoteMarker"),e.consume(a),e.exit("blockQuoteMarker"),o}return r(a)};function o(a){return ie(a)?(e.enter("blockQuotePrefixWhitespace"),e.consume(a),e.exit("blockQuotePrefixWhitespace"),e.exit("blockQuotePrefix"),t):(e.exit("blockQuotePrefix"),t(a))}}},ca={name:"characterEscape",tokenize:function(e,t,r){return function(o){return e.enter("characterEscape"),e.enter("escapeMarker"),e.consume(o),e.exit("escapeMarker"),n};function n(o){return PA(o)?(e.enter("characterEscapeValue"),e.consume(o),e.exit("characterEscapeValue"),e.exit("characterEscape"),t):r(o)}}},ua={name:"characterReference",tokenize:function(e,t,r){const n=this;let o,a,A=0;return function(c){return e.enter("characterReference"),e.enter("characterReferenceMarker"),e.consume(c),e.exit("characterReferenceMarker"),s};function s(c){return c===35?(e.enter("characterReferenceMarkerNumeric"),e.consume(c),e.exit("characterReferenceMarkerNumeric"),i):(e.enter("characterReferenceValue"),o=31,a=qe,l(c))}function i(c){return c===88||c===120?(e.enter("characterReferenceMarkerHexadecimal"),e.consume(c),e.exit("characterReferenceMarkerHexadecimal"),e.enter("characterReferenceValue"),o=6,a=CA,l):(e.enter("characterReferenceValue"),o=7,a=fr,l(c))}function l(c){if(c===59&&A){const d=e.exit("characterReferenceValue");return a!==qe||dr(n.sliceSerialize(d))?(e.enter("characterReferenceMarker"),e.consume(c),e.exit("characterReferenceMarker"),e.exit("characterReference"),t):r(c)}return a(c)&&A++<o?(e.consume(c),l):r(c)}}},da={partial:!0,tokenize:function(e,t,r){const n=this;return function(a){return a===null?r(a):(e.enter("lineEnding"),e.consume(a),e.exit("lineEnding"),o)};function o(a){return n.parser.lazy[n.now().line]?r(a):t(a)}}},pa={concrete:!0,name:"codeFenced",tokenize:function(e,t,r){const n=this,o={partial:!0,tokenize:function(m,k,P){let C=0;return S;function S(D){return m.enter("lineEnding"),m.consume(D),m.exit("lineEnding"),I}function I(D){return m.enter("codeFencedFence"),ie(D)?fe(m,Q,"linePrefix",n.parser.constructs.disable.null.includes("codeIndented")?void 0:4)(D):Q(D)}function Q(D){return D===a?(m.enter("codeFencedFenceSequence"),B(D)):P(D)}function B(D){return D===a?(C++,m.consume(D),B):C>=s?(m.exit("codeFencedFenceSequence"),ie(D)?fe(m,O,"whitespace")(D):O(D)):P(D)}function O(D){return D===null||$(D)?(m.exit("codeFencedFence"),k(D)):P(D)}}};let a,A=0,s=0;return function(m){return function(k){const P=n.events[n.events.length-1];return A=P&&P[1].type==="linePrefix"?P[2].sliceSerialize(P[1],!0).length:0,a=k,e.enter("codeFenced"),e.enter("codeFencedFence"),e.enter("codeFencedFenceSequence"),i(k)}(m)};function i(m){return m===a?(s++,e.consume(m),i):s<3?r(m):(e.exit("codeFencedFenceSequence"),ie(m)?fe(e,l,"whitespace")(m):l(m))}function l(m){return m===null||$(m)?(e.exit("codeFencedFence"),n.interrupt?t(m):e.check(da,f,x)(m)):(e.enter("codeFencedFenceInfo"),e.enter("chunkString",{contentType:"string"}),c(m))}function c(m){return m===null||$(m)?(e.exit("chunkString"),e.exit("codeFencedFenceInfo"),l(m)):ie(m)?(e.exit("chunkString"),e.exit("codeFencedFenceInfo"),fe(e,d,"whitespace")(m)):m===96&&m===a?r(m):(e.consume(m),c)}function d(m){return m===null||$(m)?l(m):(e.enter("codeFencedFenceMeta"),e.enter("chunkString",{contentType:"string"}),u(m))}function u(m){return m===null||$(m)?(e.exit("chunkString"),e.exit("codeFencedFenceMeta"),l(m)):m===96&&m===a?r(m):(e.consume(m),u)}function f(m){return e.attempt(o,x,g)(m)}function g(m){return e.enter("lineEnding"),e.consume(m),e.exit("lineEnding"),b}function b(m){return A>0&&ie(m)?fe(e,h,"linePrefix",A+1)(m):h(m)}function h(m){return m===null||$(m)?e.check(da,f,x)(m):(e.enter("codeFlowValue"),w(m))}function w(m){return m===null||$(m)?(e.exit("codeFlowValue"),h(m)):(e.consume(m),w)}function x(m){return e.exit("codeFenced"),t(m)}}},mr={name:"codeIndented",tokenize:function(e,t,r){const n=this;return function(i){return e.enter("codeIndented"),fe(e,o,"linePrefix",5)(i)};function o(i){const l=n.events[n.events.length-1];return l&&l[1].type==="linePrefix"&&l[2].sliceSerialize(l[1],!0).length>=4?a(i):r(i)}function a(i){return i===null?s(i):$(i)?e.attempt(QA,a,s)(i):(e.enter("codeFlowValue"),A(i))}function A(i){return i===null||$(i)?(e.exit("codeFlowValue"),a(i)):(e.consume(i),A)}function s(i){return e.exit("codeIndented"),t(i)}}},QA={partial:!0,tokenize:function(e,t,r){const n=this;return o;function o(A){return n.parser.lazy[n.now().line]?r(A):$(A)?(e.enter("lineEnding"),e.consume(A),e.exit("lineEnding"),o):fe(e,a,"linePrefix",5)(A)}function a(A){const s=n.events[n.events.length-1];return s&&s[1].type==="linePrefix"&&s[2].sliceSerialize(s[1],!0).length>=4?t(A):$(A)?o(A):r(A)}}},MA={name:"codeText",previous:function(e){return e!==96||this.events[this.events.length-1][1].type==="characterEscape"},resolve:function(e){let t,r,n=e.length-4,o=3;if(!(e[o][1].type!=="lineEnding"&&e[o][1].type!=="space"||e[n][1].type!=="lineEnding"&&e[n][1].type!=="space")){for(t=o;++t<n;)if(e[t][1].type==="codeTextData"){e[o][1].type="codeTextPadding",e[n][1].type="codeTextPadding",o+=2,n-=2;break}}for(t=o-1,n++;++t<=n;)r===void 0?t!==n&&e[t][1].type!=="lineEnding"&&(r=t):(t===n||e[t][1].type==="lineEnding")&&(e[r][1].type="codeTextData",t!==r+2&&(e[r][1].end=e[t-1][1].end,e.splice(r+2,t-r-2),n-=t-r-2,t=r+2),r=void 0);return e},tokenize:function(e,t,r){let n,o,a=0;return function(c){return e.enter("codeText"),e.enter("codeTextSequence"),A(c)};function A(c){return c===96?(e.consume(c),a++,A):(e.exit("codeTextSequence"),s(c))}function s(c){return c===null?r(c):c===32?(e.enter("space"),e.consume(c),e.exit("space"),s):c===96?(o=e.enter("codeTextSequence"),n=0,l(c)):$(c)?(e.enter("lineEnding"),e.consume(c),e.exit("lineEnding"),s):(e.enter("codeTextData"),i(c))}function i(c){return c===null||c===32||c===96||$(c)?(e.exit("codeTextData"),s(c)):(e.consume(c),i)}function l(c){return c===96?(e.consume(c),n++,l):n===a?(e.exit("codeTextSequence"),e.exit("codeText"),t(c)):(o.type="codeTextData",i(c))}}};class OA{constructor(t){this.left=t?[...t]:[],this.right=[]}get(t){if(t<0||t>=this.left.length+this.right.length)throw new RangeError("Cannot access index `"+t+"` in a splice buffer of size `"+(this.left.length+this.right.length)+"`");return t<this.left.length?this.left[t]:this.right[this.right.length-t+this.left.length-1]}get length(){return this.left.length+this.right.length}shift(){return this.setCursor(0),this.right.pop()}slice(t,r){const n=r??Number.POSITIVE_INFINITY;return n<this.left.length?this.left.slice(t,n):t>this.left.length?this.right.slice(this.right.length-n+this.left.length,this.right.length-t+this.left.length).reverse():this.left.slice(t).concat(this.right.slice(this.right.length-n+this.left.length).reverse())}splice(t,r,n){const o=r||0;this.setCursor(Math.trunc(t));const a=this.right.splice(this.right.length-o,Number.POSITIVE_INFINITY);return n&&Zt(this.left,n),a.reverse()}pop(){return this.setCursor(Number.POSITIVE_INFINITY),this.left.pop()}push(t){this.setCursor(Number.POSITIVE_INFINITY),this.left.push(t)}pushMany(t){this.setCursor(Number.POSITIVE_INFINITY),Zt(this.left,t)}unshift(t){this.setCursor(0),this.right.push(t)}unshiftMany(t){this.setCursor(0),Zt(this.right,t.reverse())}setCursor(t){if(!(t===this.left.length||t>this.left.length&&this.right.length===0||t<0&&this.left.length===0))if(t<this.left.length){const r=this.left.splice(t,Number.POSITIVE_INFINITY);Zt(this.right,r.reverse())}else{const r=this.right.splice(this.left.length+this.right.length-t,Number.POSITIVE_INFINITY);Zt(this.left,r.reverse())}}}function Zt(e,t){let r=0;if(t.length<1e4)e.push(...t);else for(;r<t.length;)e.push(...t.slice(r,r+1e4)),r+=1e4}function fa(e){const t={};let r,n,o,a,A,s,i,l=-1;const c=new OA(e);for(;++l<c.length;){for(;l in t;)l=t[l];if(r=c.get(l),l&&r[1].type==="chunkFlow"&&c.get(l-1)[1].type==="listItemPrefix"&&(s=r[1]._tokenizer.events,o=0,o<s.length&&s[o][1].type==="lineEndingBlank"&&(o+=2),o<s.length&&s[o][1].type==="content"))for(;++o<s.length&&s[o][1].type!=="content";)s[o][1].type==="chunkText"&&(s[o][1]._isInFirstContentOfListItem=!0,o++);if(r[0]==="enter")r[1].contentType&&(Object.assign(t,_A(c,l)),l=t[l],i=!0);else if(r[1]._container){for(o=l,n=void 0;o--;)if(a=c.get(o),a[1].type==="lineEnding"||a[1].type==="lineEndingBlank")a[0]==="enter"&&(n&&(c.get(n)[1].type="lineEndingBlank"),a[1].type="lineEnding",n=o);else if(a[1].type!=="linePrefix")break;n&&(r[1].end={...c.get(n)[1].start},A=c.slice(n,l),A.unshift(r),c.splice(n,l-n+1,A))}}return tt(e,0,Number.POSITIVE_INFINITY,c.slice(0)),!i}function _A(e,t){const r=e.get(t)[1],n=e.get(t)[2];let o=t-1;const a=[],A=r._tokenizer||n.parser[r.contentType](r.start),s=A.events,i=[],l={};let c,d,u=-1,f=r,g=0,b=0;const h=[b];for(;f;){for(;e.get(++o)[1]!==f;);a.push(o),f._tokenizer||(c=n.sliceStream(f),f.next||c.push(null),d&&A.defineSkip(f.start),f._isInFirstContentOfListItem&&(A._gfmTasklistFirstContentOfListItem=!0),A.write(c),f._isInFirstContentOfListItem&&(A._gfmTasklistFirstContentOfListItem=void 0)),d=f,f=f.next}for(f=r;++u<s.length;)s[u][0]==="exit"&&s[u-1][0]==="enter"&&s[u][1].type===s[u-1][1].type&&s[u][1].start.line!==s[u][1].end.line&&(b=u+1,h.push(b),f._tokenizer=void 0,f.previous=void 0,f=f.next);for(A.events=[],f?(f._tokenizer=void 0,f.previous=void 0):h.pop(),u=h.length;u--;){const w=s.slice(h[u],h[u+1]),x=a.pop();i.push([x,x+w.length-1]),e.splice(x,2,w)}for(i.reverse(),u=-1;++u<i.length;)l[g+i[u][0]]=g+i[u][1],g+=i[u][1]-i[u][0]-1;return l}const NA={resolve:function(e){return fa(e),e},tokenize:function(e,t){let r;return function(A){return e.enter("content"),r=e.enter("chunkContent",{contentType:"content"}),n(A)};function n(A){return A===null?o(A):$(A)?e.check(LA,a,o)(A):(e.consume(A),n)}function o(A){return e.exit("chunkContent"),e.exit("content"),t(A)}function a(A){return e.consume(A),e.exit("chunkContent"),r.next=e.enter("chunkContent",{contentType:"content",previous:r}),r=r.next,n}}},LA={partial:!0,tokenize:function(e,t,r){const n=this;return function(a){return e.exit("chunkContent"),e.enter("lineEnding"),e.consume(a),e.exit("lineEnding"),fe(e,o,"linePrefix")};function o(a){if(a===null||$(a))return r(a);const A=n.events[n.events.length-1];return!n.parser.constructs.disable.null.includes("codeIndented")&&A&&A[1].type==="linePrefix"&&A[2].sliceSerialize(A[1],!0).length>=4?t(a):e.interrupt(n.parser.constructs.flow,r,t)(a)}}};function ha(e,t,r,n,o,a,A,s,i){const l=i||Number.POSITIVE_INFINITY;let c=0;return function(h){return h===60?(e.enter(n),e.enter(o),e.enter(a),e.consume(h),e.exit(a),d):h===null||h===32||h===41||pr(h)?r(h):(e.enter(n),e.enter(A),e.enter(s),e.enter("chunkString",{contentType:"string"}),g(h))};function d(h){return h===62?(e.enter(a),e.consume(h),e.exit(a),e.exit(o),e.exit(n),t):(e.enter(s),e.enter("chunkString",{contentType:"string"}),u(h))}function u(h){return h===62?(e.exit("chunkString"),e.exit(s),d(h)):h===null||h===60||$(h)?r(h):(e.consume(h),h===92?f:u)}function f(h){return h===60||h===62||h===92?(e.consume(h),u):u(h)}function g(h){return c||h!==null&&h!==41&&!He(h)?c<l&&h===40?(e.consume(h),c++,g):h===41?(e.consume(h),c--,g):h===null||h===32||h===40||pr(h)?r(h):(e.consume(h),h===92?b:g):(e.exit("chunkString"),e.exit(s),e.exit(A),e.exit(n),t(h))}function b(h){return h===40||h===41||h===92?(e.consume(h),g):g(h)}}function ga(e,t,r,n,o,a){const A=this;let s,i=0;return function(u){return e.enter(n),e.enter(o),e.consume(u),e.exit(o),e.enter(a),l};function l(u){return i>999||u===null||u===91||u===93&&!s||u===94&&!i&&"_hiddenFootnoteSupport"in A.parser.constructs?r(u):u===93?(e.exit(a),e.enter(o),e.consume(u),e.exit(o),e.exit(n),t):$(u)?(e.enter("lineEnding"),e.consume(u),e.exit("lineEnding"),l):(e.enter("chunkString",{contentType:"string"}),c(u))}function c(u){return u===null||u===91||u===93||$(u)||i++>999?(e.exit("chunkString"),l(u)):(e.consume(u),s||(s=!ie(u)),u===92?d:c)}function d(u){return u===91||u===92||u===93?(e.consume(u),i++,c):c(u)}}function ma(e,t,r,n,o,a){let A;return function(d){return d===34||d===39||d===40?(e.enter(n),e.enter(o),e.consume(d),e.exit(o),A=d===40?41:d,s):r(d)};function s(d){return d===A?(e.enter(o),e.consume(d),e.exit(o),e.exit(n),t):(e.enter(a),i(d))}function i(d){return d===A?(e.exit(a),s(A)):d===null?r(d):$(d)?(e.enter("lineEnding"),e.consume(d),e.exit("lineEnding"),fe(e,i,"linePrefix")):(e.enter("chunkString",{contentType:"string"}),l(d))}function l(d){return d===A||d===null||$(d)?(e.exit("chunkString"),i(d)):(e.consume(d),d===92?c:l)}function c(d){return d===A||d===92?(e.consume(d),l):l(d)}}function $t(e,t){let r;return function n(o){return $(o)?(e.enter("lineEnding"),e.consume(o),e.exit("lineEnding"),r=!0,n):ie(o)?fe(e,n,r?"linePrefix":"lineSuffix")(o):t(o)}}const HA={name:"definition",tokenize:function(e,t,r){const n=this;let o;return function(d){return e.enter("definition"),function(u){return ga.call(n,e,a,r,"definitionLabel","definitionLabelMarker","definitionLabelString")(u)}(d)};function a(d){return o=Ot(n.sliceSerialize(n.events[n.events.length-1][1]).slice(1,-1)),d===58?(e.enter("definitionMarker"),e.consume(d),e.exit("definitionMarker"),A):r(d)}function A(d){return He(d)?$t(e,s)(d):s(d)}function s(d){return ha(e,i,r,"definitionDestination","definitionDestinationLiteral","definitionDestinationLiteralMarker","definitionDestinationRaw","definitionDestinationString")(d)}function i(d){return e.attempt(UA,l,l)(d)}function l(d){return ie(d)?fe(e,c,"whitespace")(d):c(d)}function c(d){return d===null||$(d)?(e.exit("definition"),n.parser.defined.push(o),t(d)):r(d)}}},UA={partial:!0,tokenize:function(e,t,r){return function(A){return He(A)?$t(e,n)(A):r(A)};function n(A){return ma(e,o,r,"definitionTitle","definitionTitleMarker","definitionTitleString")(A)}function o(A){return ie(A)?fe(e,a,"whitespace")(A):a(A)}function a(A){return A===null||$(A)?t(A):r(A)}}},FA={name:"hardBreakEscape",tokenize:function(e,t,r){return function(o){return e.enter("hardBreakEscape"),e.consume(o),n};function n(o){return $(o)?(e.exit("hardBreakEscape"),t(o)):r(o)}}},zA={name:"headingAtx",resolve:function(e,t){let r,n,o=e.length-2,a=3;return e[a][1].type==="whitespace"&&(a+=2),o-2>a&&e[o][1].type==="whitespace"&&(o-=2),e[o][1].type==="atxHeadingSequence"&&(a===o-1||o-4>a&&e[o-2][1].type==="whitespace")&&(o-=a+1===o?2:4),o>a&&(r={type:"atxHeadingText",start:e[a][1].start,end:e[o][1].end},n={type:"chunkText",start:e[a][1].start,end:e[o][1].end,contentType:"text"},tt(e,a,o-a+1,[["enter",r,t],["enter",n,t],["exit",n,t],["exit",r,t]])),e},tokenize:function(e,t,r){let n=0;return function(i){return e.enter("atxHeading"),function(l){return e.enter("atxHeadingSequence"),o(l)}(i)};function o(i){return i===35&&n++<6?(e.consume(i),o):i===null||He(i)?(e.exit("atxHeadingSequence"),a(i)):r(i)}function a(i){return i===35?(e.enter("atxHeadingSequence"),A(i)):i===null||$(i)?(e.exit("atxHeading"),t(i)):ie(i)?fe(e,a,"whitespace")(i):(e.enter("atxHeadingText"),s(i))}function A(i){return i===35?(e.consume(i),A):(e.exit("atxHeadingSequence"),a(i))}function s(i){return i===null||i===35||He(i)?(e.exit("atxHeadingText"),a(i)):(e.consume(i),s)}}},RA=["address","article","aside","base","basefont","blockquote","body","caption","center","col","colgroup","dd","details","dialog","dir","div","dl","dt","fieldset","figcaption","figure","footer","form","frame","frameset","h1","h2","h3","h4","h5","h6","head","header","hr","html","iframe","legend","li","link","main","menu","menuitem","nav","noframes","ol","optgroup","option","p","param","search","section","summary","table","tbody","td","tfoot","th","thead","title","tr","track","ul"],ya=["pre","script","style","textarea"],jA={concrete:!0,name:"htmlFlow",resolveTo:function(e){let t=e.length;for(;t--&&(e[t][0]!=="enter"||e[t][1].type!=="htmlFlow"););return t>1&&e[t-2][1].type==="linePrefix"&&(e[t][1].start=e[t-2][1].start,e[t+1][1].start=e[t-2][1].start,e.splice(t-2,2)),e},tokenize:function(e,t,r){const n=this;let o,a,A,s,i;return function(v){return function(V){return e.enter("htmlFlow"),e.enter("htmlFlowData"),e.consume(V),l}(v)};function l(v){return v===33?(e.consume(v),c):v===47?(e.consume(v),a=!0,f):v===63?(e.consume(v),o=3,n.interrupt?t:L):nt(v)?(e.consume(v),A=String.fromCharCode(v),g):r(v)}function c(v){return v===45?(e.consume(v),o=2,d):v===91?(e.consume(v),o=5,s=0,u):nt(v)?(e.consume(v),o=4,n.interrupt?t:L):r(v)}function d(v){return v===45?(e.consume(v),n.interrupt?t:L):r(v)}function u(v){return v==="CDATA[".charCodeAt(s++)?(e.consume(v),s===6?n.interrupt?t:B:u):r(v)}function f(v){return nt(v)?(e.consume(v),A=String.fromCharCode(v),g):r(v)}function g(v){if(v===null||v===47||v===62||He(v)){const V=v===47,q=A.toLowerCase();return V||a||!ya.includes(q)?RA.includes(A.toLowerCase())?(o=6,V?(e.consume(v),b):n.interrupt?t(v):B(v)):(o=7,n.interrupt&&!n.parser.lazy[n.now().line]?r(v):a?h(v):w(v)):(o=1,n.interrupt?t(v):B(v))}return v===45||qe(v)?(e.consume(v),A+=String.fromCharCode(v),g):r(v)}function b(v){return v===62?(e.consume(v),n.interrupt?t:B):r(v)}function h(v){return ie(v)?(e.consume(v),h):I(v)}function w(v){return v===47?(e.consume(v),I):v===58||v===95||nt(v)?(e.consume(v),x):ie(v)?(e.consume(v),w):I(v)}function x(v){return v===45||v===46||v===58||v===95||qe(v)?(e.consume(v),x):m(v)}function m(v){return v===61?(e.consume(v),k):ie(v)?(e.consume(v),m):w(v)}function k(v){return v===null||v===60||v===61||v===62||v===96?r(v):v===34||v===39?(e.consume(v),i=v,P):ie(v)?(e.consume(v),k):C(v)}function P(v){return v===i?(e.consume(v),i=null,S):v===null||$(v)?r(v):(e.consume(v),P)}function C(v){return v===null||v===34||v===39||v===47||v===60||v===61||v===62||v===96||He(v)?m(v):(e.consume(v),C)}function S(v){return v===47||v===62||ie(v)?w(v):r(v)}function I(v){return v===62?(e.consume(v),Q):r(v)}function Q(v){return v===null||$(v)?B(v):ie(v)?(e.consume(v),Q):r(v)}function B(v){return v===45&&o===2?(e.consume(v),F):v===60&&o===1?(e.consume(v),_):v===62&&o===4?(e.consume(v),y):v===63&&o===3?(e.consume(v),L):v===93&&o===5?(e.consume(v),N):!$(v)||o!==6&&o!==7?v===null||$(v)?(e.exit("htmlFlowData"),O(v)):(e.consume(v),B):(e.exit("htmlFlowData"),e.check(qA,W,O)(v))}function O(v){return e.check(GA,D,W)(v)}function D(v){return e.enter("lineEnding"),e.consume(v),e.exit("lineEnding"),M}function M(v){return v===null||$(v)?O(v):(e.enter("htmlFlowData"),B(v))}function F(v){return v===45?(e.consume(v),L):B(v)}function _(v){return v===47?(e.consume(v),A="",U):B(v)}function U(v){if(v===62){const V=A.toLowerCase();return ya.includes(V)?(e.consume(v),y):B(v)}return nt(v)&&A.length<8?(e.consume(v),A+=String.fromCharCode(v),U):B(v)}function N(v){return v===93?(e.consume(v),L):B(v)}function L(v){return v===62?(e.consume(v),y):v===45&&o===2?(e.consume(v),L):B(v)}function y(v){return v===null||$(v)?(e.exit("htmlFlowData"),W(v)):(e.consume(v),y)}function W(v){return e.exit("htmlFlow"),t(v)}}},qA={partial:!0,tokenize:function(e,t,r){return function(n){return e.enter("lineEnding"),e.consume(n),e.exit("lineEnding"),e.attempt(xn,t,r)}}},GA={partial:!0,tokenize:function(e,t,r){const n=this;return function(a){return $(a)?(e.enter("lineEnding"),e.consume(a),e.exit("lineEnding"),o):r(a)};function o(a){return n.parser.lazy[n.now().line]?r(a):t(a)}}},YA={name:"htmlText",tokenize:function(e,t,r){const n=this;let o,a,A;return function(y){return e.enter("htmlText"),e.enter("htmlTextData"),e.consume(y),s};function s(y){return y===33?(e.consume(y),i):y===47?(e.consume(y),k):y===63?(e.consume(y),x):nt(y)?(e.consume(y),S):r(y)}function i(y){return y===45?(e.consume(y),l):y===91?(e.consume(y),a=0,f):nt(y)?(e.consume(y),w):r(y)}function l(y){return y===45?(e.consume(y),u):r(y)}function c(y){return y===null?r(y):y===45?(e.consume(y),d):$(y)?(A=c,U(y)):(e.consume(y),c)}function d(y){return y===45?(e.consume(y),u):c(y)}function u(y){return y===62?_(y):y===45?d(y):c(y)}function f(y){return y==="CDATA[".charCodeAt(a++)?(e.consume(y),a===6?g:f):r(y)}function g(y){return y===null?r(y):y===93?(e.consume(y),b):$(y)?(A=g,U(y)):(e.consume(y),g)}function b(y){return y===93?(e.consume(y),h):g(y)}function h(y){return y===62?_(y):y===93?(e.consume(y),h):g(y)}function w(y){return y===null||y===62?_(y):$(y)?(A=w,U(y)):(e.consume(y),w)}function x(y){return y===null?r(y):y===63?(e.consume(y),m):$(y)?(A=x,U(y)):(e.consume(y),x)}function m(y){return y===62?_(y):x(y)}function k(y){return nt(y)?(e.consume(y),P):r(y)}function P(y){return y===45||qe(y)?(e.consume(y),P):C(y)}function C(y){return $(y)?(A=C,U(y)):ie(y)?(e.consume(y),C):_(y)}function S(y){return y===45||qe(y)?(e.consume(y),S):y===47||y===62||He(y)?I(y):r(y)}function I(y){return y===47?(e.consume(y),_):y===58||y===95||nt(y)?(e.consume(y),Q):$(y)?(A=I,U(y)):ie(y)?(e.consume(y),I):_(y)}function Q(y){return y===45||y===46||y===58||y===95||qe(y)?(e.consume(y),Q):B(y)}function B(y){return y===61?(e.consume(y),O):$(y)?(A=B,U(y)):ie(y)?(e.consume(y),B):I(y)}function O(y){return y===null||y===60||y===61||y===62||y===96?r(y):y===34||y===39?(e.consume(y),o=y,D):$(y)?(A=O,U(y)):ie(y)?(e.consume(y),O):(e.consume(y),M)}function D(y){return y===o?(e.consume(y),o=void 0,F):y===null?r(y):$(y)?(A=D,U(y)):(e.consume(y),D)}function M(y){return y===null||y===34||y===39||y===60||y===61||y===96?r(y):y===47||y===62||He(y)?I(y):(e.consume(y),M)}function F(y){return y===47||y===62||He(y)?I(y):r(y)}function _(y){return y===62?(e.consume(y),e.exit("htmlTextData"),e.exit("htmlText"),t):r(y)}function U(y){return e.exit("htmlTextData"),e.enter("lineEnding"),e.consume(y),e.exit("lineEnding"),N}function N(y){return ie(y)?fe(e,L,"linePrefix",n.parser.constructs.disable.null.includes("codeIndented")?void 0:4)(y):L(y)}function L(y){return e.enter("htmlTextData"),A(y)}}},yr={name:"labelEnd",resolveAll:function(e){let t=-1;const r=[];for(;++t<e.length;){const n=e[t][1];if(r.push(e[t]),n.type==="labelImage"||n.type==="labelLink"||n.type==="labelEnd"){const o=n.type==="labelImage"?4:2;n.type="data",t+=o}}return e.length!==r.length&&tt(e,0,e.length,r),e},resolveTo:function(e,t){let r,n,o,a,A=e.length,s=0;for(;A--;)if(r=e[A][1],n){if(r.type==="link"||r.type==="labelLink"&&r._inactive)break;e[A][0]==="enter"&&r.type==="labelLink"&&(r._inactive=!0)}else if(o){if(e[A][0]==="enter"&&(r.type==="labelImage"||r.type==="labelLink")&&!r._balanced&&(n=A,r.type!=="labelLink")){s=2;break}}else r.type==="labelEnd"&&(o=A);const i={type:e[n][1].type==="labelLink"?"link":"image",start:{...e[n][1].start},end:{...e[e.length-1][1].end}},l={type:"label",start:{...e[n][1].start},end:{...e[o][1].end}},c={type:"labelText",start:{...e[n+s+2][1].end},end:{...e[o-2][1].start}};return a=[["enter",i,t],["enter",l,t]],a=We(a,e.slice(n+1,n+s+3)),a=We(a,[["enter",c,t]]),a=We(a,hr(t.parser.constructs.insideSpan.null,e.slice(n+s+4,o-3),t)),a=We(a,[["exit",c,t],e[o-2],e[o-1],["exit",l,t]]),a=We(a,e.slice(o+1)),a=We(a,[["exit",i,t]]),tt(e,n,e.length,a),e},tokenize:function(e,t,r){const n=this;let o,a,A=n.events.length;for(;A--;)if((n.events[A][1].type==="labelImage"||n.events[A][1].type==="labelLink")&&!n.events[A][1]._balanced){o=n.events[A][1];break}return function(d){return o?o._inactive?c(d):(a=n.parser.defined.includes(Ot(n.sliceSerialize({start:o.end,end:n.now()}))),e.enter("labelEnd"),e.enter("labelMarker"),e.consume(d),e.exit("labelMarker"),e.exit("labelEnd"),s):r(d)};function s(d){return d===40?e.attempt(WA,l,a?l:c)(d):d===91?e.attempt(KA,l,a?i:c)(d):a?l(d):c(d)}function i(d){return e.attempt(VA,l,c)(d)}function l(d){return t(d)}function c(d){return o._balanced=!0,r(d)}}},WA={tokenize:function(e,t,r){return function(c){return e.enter("resource"),e.enter("resourceMarker"),e.consume(c),e.exit("resourceMarker"),n};function n(c){return He(c)?$t(e,o)(c):o(c)}function o(c){return c===41?l(c):ha(e,a,A,"resourceDestination","resourceDestinationLiteral","resourceDestinationLiteralMarker","resourceDestinationRaw","resourceDestinationString",32)(c)}function a(c){return He(c)?$t(e,s)(c):l(c)}function A(c){return r(c)}function s(c){return c===34||c===39||c===40?ma(e,i,r,"resourceTitle","resourceTitleMarker","resourceTitleString")(c):l(c)}function i(c){return He(c)?$t(e,l)(c):l(c)}function l(c){return c===41?(e.enter("resourceMarker"),e.consume(c),e.exit("resourceMarker"),e.exit("resource"),t):r(c)}}},KA={tokenize:function(e,t,r){const n=this;return function(A){return ga.call(n,e,o,a,"reference","referenceMarker","referenceString")(A)};function o(A){return n.parser.defined.includes(Ot(n.sliceSerialize(n.events[n.events.length-1][1]).slice(1,-1)))?t(A):r(A)}function a(A){return r(A)}}},VA={tokenize:function(e,t,r){return function(o){return e.enter("reference"),e.enter("referenceMarker"),e.consume(o),e.exit("referenceMarker"),n};function n(o){return o===93?(e.enter("referenceMarker"),e.consume(o),e.exit("referenceMarker"),e.exit("reference"),t):r(o)}}},XA={name:"labelStartImage",resolveAll:yr.resolveAll,tokenize:function(e,t,r){const n=this;return function(A){return e.enter("labelImage"),e.enter("labelImageMarker"),e.consume(A),e.exit("labelImageMarker"),o};function o(A){return A===91?(e.enter("labelMarker"),e.consume(A),e.exit("labelMarker"),e.exit("labelImage"),a):r(A)}function a(A){return A===94&&"_hiddenFootnoteSupport"in n.parser.constructs?r(A):t(A)}}},JA={name:"labelStartLink",resolveAll:yr.resolveAll,tokenize:function(e,t,r){const n=this;return function(a){return e.enter("labelLink"),e.enter("labelMarker"),e.consume(a),e.exit("labelMarker"),e.exit("labelLink"),o};function o(a){return a===94&&"_hiddenFootnoteSupport"in n.parser.constructs?r(a):t(a)}}},br={name:"lineEnding",tokenize:function(e,t){return function(r){return e.enter("lineEnding"),e.consume(r),e.exit("lineEnding"),fe(e,t,"linePrefix")}}},En={name:"thematicBreak",tokenize:function(e,t,r){let n,o=0;return function(s){return e.enter("thematicBreak"),function(i){return n=i,a(i)}(s)};function a(s){return s===n?(e.enter("thematicBreakSequence"),A(s)):o>=3&&(s===null||$(s))?(e.exit("thematicBreak"),t(s)):r(s)}function A(s){return s===n?(e.consume(s),o++,A):(e.exit("thematicBreakSequence"),ie(s)?fe(e,a,"whitespace")(s):a(s))}}},Ue={continuation:{tokenize:function(e,t,r){const n=this;return n.containerState._closeFlow=void 0,e.check(xn,function(a){return n.containerState.furtherBlankLines=n.containerState.furtherBlankLines||n.containerState.initialBlankLine,fe(e,t,"listItemIndent",n.containerState.size+1)(a)},function(a){return n.containerState.furtherBlankLines||!ie(a)?(n.containerState.furtherBlankLines=void 0,n.containerState.initialBlankLine=void 0,o(a)):(n.containerState.furtherBlankLines=void 0,n.containerState.initialBlankLine=void 0,e.attempt($A,t,o)(a))});function o(a){return n.containerState._closeFlow=!0,n.interrupt=void 0,fe(e,e.attempt(Ue,t,r),"linePrefix",n.parser.constructs.disable.null.includes("codeIndented")?void 0:4)(a)}}},exit:function(e){e.exit(this.containerState.type)},name:"list",tokenize:function(e,t,r){const n=this,o=n.events[n.events.length-1];let a=o&&o[1].type==="linePrefix"?o[2].sliceSerialize(o[1],!0).length:0,A=0;return function(u){const f=n.containerState.type||(u===42||u===43||u===45?"listUnordered":"listOrdered");if(f==="listUnordered"?!n.containerState.marker||u===n.containerState.marker:fr(u)){if(n.containerState.type||(n.containerState.type=f,e.enter(f,{_container:!0})),f==="listUnordered")return e.enter("listItemPrefix"),u===42||u===45?e.check(En,r,i)(u):i(u);if(!n.interrupt||u===49)return e.enter("listItemPrefix"),e.enter("listItemValue"),s(u)}return r(u)};function s(u){return fr(u)&&++A<10?(e.consume(u),s):(!n.interrupt||A<2)&&(n.containerState.marker?u===n.containerState.marker:u===41||u===46)?(e.exit("listItemValue"),i(u)):r(u)}function i(u){return e.enter("listItemMarker"),e.consume(u),e.exit("listItemMarker"),n.containerState.marker=n.containerState.marker||u,e.check(xn,n.interrupt?r:l,e.attempt(ZA,d,c))}function l(u){return n.containerState.initialBlankLine=!0,a++,d(u)}function c(u){return ie(u)?(e.enter("listItemPrefixWhitespace"),e.consume(u),e.exit("listItemPrefixWhitespace"),d):r(u)}function d(u){return n.containerState.size=a+n.sliceSerialize(e.exit("listItemPrefix"),!0).length,t(u)}}},ZA={partial:!0,tokenize:function(e,t,r){const n=this;return fe(e,function(o){const a=n.events[n.events.length-1];return!ie(o)&&a&&a[1].type==="listItemPrefixWhitespace"?t(o):r(o)},"listItemPrefixWhitespace",n.parser.constructs.disable.null.includes("codeIndented")?void 0:5)}},$A={partial:!0,tokenize:function(e,t,r){const n=this;return fe(e,function(o){const a=n.events[n.events.length-1];return a&&a[1].type==="listItemIndent"&&a[2].sliceSerialize(a[1],!0).length===n.containerState.size?t(o):r(o)},"listItemIndent",n.containerState.size+1)}},ba={name:"setextUnderline",resolveTo:function(e,t){let r,n,o,a=e.length;for(;a--;)if(e[a][0]==="enter"){if(e[a][1].type==="content"){r=a;break}e[a][1].type==="paragraph"&&(n=a)}else e[a][1].type==="content"&&e.splice(a,1),!o&&e[a][1].type==="definition"&&(o=a);const A={type:"setextHeading",start:{...e[n][1].start},end:{...e[e.length-1][1].end}};return e[n][1].type="setextHeadingText",o?(e.splice(n,0,["enter",A,t]),e.splice(o+1,0,["exit",e[r][1],t]),e[r][1].end={...e[o][1].end}):e[r][1]=A,e.push(["exit",A,t]),e},tokenize:function(e,t,r){const n=this;let o;return function(s){let i,l=n.events.length;for(;l--;)if(n.events[l][1].type!=="lineEnding"&&n.events[l][1].type!=="linePrefix"&&n.events[l][1].type!=="content"){i=n.events[l][1].type==="paragraph";break}return n.parser.lazy[n.now().line]||!n.interrupt&&!i?r(s):(e.enter("setextHeadingLine"),o=s,function(c){return e.enter("setextHeadingLineSequence"),a(c)}(s))};function a(s){return s===o?(e.consume(s),a):(e.exit("setextHeadingLineSequence"),ie(s)?fe(e,A,"lineSuffix")(s):A(s))}function A(s){return s===null||$(s)?(e.exit("setextHeadingLine"),t(s)):r(s)}}},el={tokenize:function(e){const t=this,r=e.attempt(xn,function(o){return o===null?void e.consume(o):(e.enter("lineEndingBlank"),e.consume(o),e.exit("lineEndingBlank"),t.currentConstruct=void 0,r)},e.attempt(this.parser.constructs.flowInitial,n,fe(e,e.attempt(this.parser.constructs.flow,n,e.attempt(NA,n)),"linePrefix")));return r;function n(o){if(o!==null)return e.enter("lineEnding"),e.consume(o),e.exit("lineEnding"),t.currentConstruct=void 0,r;e.consume(o)}}},tl={resolveAll:wa()},nl=va("string"),rl=va("text");function va(e){return{resolveAll:wa(e==="text"?ol:void 0),tokenize:function(t){const r=this,n=this.parser.constructs[e],o=t.attempt(n,a,A);return a;function a(l){return i(l)?o(l):A(l)}function A(l){if(l!==null)return t.enter("data"),t.consume(l),s;t.consume(l)}function s(l){return i(l)?(t.exit("data"),o(l)):(t.consume(l),s)}function i(l){if(l===null)return!0;const c=n[l];let d=-1;if(c)for(;++d<c.length;){const u=c[d];if(!u.previous||u.previous.call(r,r.previous))return!0}return!1}}}}function wa(e){return function(t,r){let n,o=-1;for(;++o<=t.length;)n===void 0?t[o]&&t[o][1].type==="data"&&(n=o,o++):(!t[o]||t[o][1].type!=="data")&&(o!==n+2&&(t[n][1].end=t[o-1][1].end,t.splice(n+2,o-n-2),o=n+2),n=void 0);return e?e(t,r):t}}function ol(e,t){let r=0;for(;++r<=e.length;)if((r===e.length||e[r][1].type==="lineEnding")&&e[r-1][1].type==="data"){const n=e[r-1][1],o=t.sliceStream(n);let a,A=o.length,s=-1,i=0;for(;A--;){const l=o[A];if(typeof l=="string"){for(s=l.length;l.charCodeAt(s-1)===32;)i++,s--;if(s)break;s=-1}else if(l===-2)a=!0,i++;else if(l!==-1){A++;break}}if(i){const l={type:r===e.length||a||i<2?"lineSuffix":"hardBreakTrailing",start:{_bufferIndex:A?s:n.start._bufferIndex+s,_index:n.start._index+A,line:n.end.line,column:n.end.column-i,offset:n.end.offset-i},end:{...n.end}};n.end={...l.start},n.start.offset===n.end.offset?Object.assign(n,l):(e.splice(r,0,["enter",l,t],["exit",l,t]),r+=2)}r++}return e}const al={42:Ue,43:Ue,45:Ue,48:Ue,49:Ue,50:Ue,51:Ue,52:Ue,53:Ue,54:Ue,55:Ue,56:Ue,57:Ue,62:la},il={91:HA},sl={[-2]:mr,[-1]:mr,32:mr},Al={35:zA,42:En,45:[ba,En],60:jA,61:ba,95:En,96:pa,126:pa},ll={38:ua,92:ca},cl={[-5]:br,[-4]:br,[-3]:br,33:XA,38:ua,42:gr,60:[TA,YA],91:JA,92:[FA,ca],93:yr,95:gr,96:MA},ul={null:[gr,tl]},dl=Object.freeze(Object.defineProperty({__proto__:null,attentionMarkers:{null:[42,95]},contentInitial:il,disable:{null:[]},document:al,flow:Al,flowInitial:sl,insideSpan:ul,string:ll,text:cl},Symbol.toStringTag,{value:"Module"}));function pl(e,t,r){let n={_bufferIndex:-1,_index:0,line:r&&r.line||1,column:r&&r.column||1,offset:r&&r.offset||0};const o={},a=[];let A=[],s=[];const i={attempt:b(function(x,m){h(x,m.from)}),check:b(g),consume:function(x){$(x)?(n.line++,n.column=1,n.offset+=x===-3?2:1,w()):x!==-1&&(n.column++,n.offset++),n._bufferIndex<0?n._index++:(n._bufferIndex++,n._bufferIndex===A[n._index].length&&(n._bufferIndex=-1,n._index++)),l.previous=x},enter:function(x,m){const k=m||{};return k.type=x,k.start=u(),l.events.push(["enter",k,l]),s.push(k),k},exit:function(x){const m=s.pop();return m.end=u(),l.events.push(["exit",m,l]),m},interrupt:b(g,{interrupt:!0})},l={code:null,containerState:{},defineSkip:function(x){o[x.line]=x.column,w()},events:[],now:u,parser:e,previous:null,sliceSerialize:function(x,m){return function(k,P){let C=-1;const S=[];let I;for(;++C<k.length;){const Q=k[C];let B;if(typeof Q=="string")B=Q;else switch(Q){case-5:B="\r";break;case-4:B=`
|
|
22
|
-
`;break;case-3:
|
|
23
|
-
`;break;case-2:B=P?" ":" ";break;case-1:if(!P&&I)continue;B=" ";break;default:B=String.fromCharCode(Q)}I=Q===-2,S.push(B)}return S.join("")}(d(x),m)},sliceStream:d,write:function(x){return A=We(A,x),function(){let m;for(;n._index<A.length;){const k=A[n._index];if(typeof k=="string")for(m=n._index,n._bufferIndex<0&&(n._bufferIndex=0);n._index===m&&n._bufferIndex<k.length;)f(k.charCodeAt(n._bufferIndex));else f(k)}}(),A[A.length-1]!==null?[]:(h(t,0),l.events=hr(a,l.events,l),l.events)}};let c=t.tokenize.call(l,i);return t.resolveAll&&a.push(t),l;function d(x){return function(m,k){const P=k.start._index,C=k.start._bufferIndex,S=k.end._index,I=k.end._bufferIndex;let Q;if(P===S)Q=[m[P].slice(C,I)];else{if(Q=m.slice(P,S),C>-1){const B=Q[0];typeof B=="string"?Q[0]=B.slice(C):Q.shift()}I>0&&Q.push(m[S].slice(0,I))}return Q}(A,x)}function u(){const{_bufferIndex:x,_index:m,line:k,column:P,offset:C}=n;return{_bufferIndex:x,_index:m,line:k,column:P,offset:C}}function f(x){c=c(x)}function g(x,m){m.restore()}function b(x,m){return function(k,P,C){let S,I,Q,B;return Array.isArray(k)?O(k):"tokenize"in k?O([k]):function(_){return U;function U(N){const L=N!==null&&_[N],y=N!==null&&_.null;return O([...Array.isArray(L)?L:L?[L]:[],...Array.isArray(y)?y:y?[y]:[]])(N)}}(k);function O(_){return S=_,I=0,_.length===0?C:D(_[I])}function D(_){return function(U){return B=function(){const N=u(),L=l.previous,y=l.currentConstruct,W=l.events.length,v=Array.from(s);return{from:W,restore:V};function V(){n=N,l.previous=L,l.currentConstruct=y,l.events.length=W,s=v,w()}}(),Q=_,_.partial||(l.currentConstruct=_),_.name&&l.parser.constructs.disable.null.includes(_.name)?F():_.tokenize.call(m?Object.assign(Object.create(l),m):l,i,M,F)(U)}}function M(_){return x(Q,B),P}function F(_){return B.restore(),++I<S.length?D(S[I]):C}}}function h(x,m){x.resolveAll&&!a.includes(x)&&a.push(x),x.resolve&&tt(l.events,m,l.events.length-m,x.resolve(l.events.slice(m),l)),x.resolveTo&&(l.events=x.resolveTo(l.events,l))}function w(){n.line in o&&n.column<2&&(n.column=o[n.line],n.offset+=o[n.line]-1)}}const xa=/[\0\t\n\r]/g,fl=/\\([!-/:-@[-`{-~])|&(#(?:\d{1,7}|x[\da-f]{1,6})|[\da-z]{1,31});/gi;function hl(e,t,r){if(t)return t;if(r.charCodeAt(0)===35){const n=r.charCodeAt(1),o=n===120||n===88;return aa(r.slice(o?2:1),o?16:10)}return dr(r)||e}const Ea={}.hasOwnProperty;function gl(e,t,r){return typeof t!="string"&&(r=t,t=void 0),function(n){const o={transforms:[],canContainEols:["emphasis","fragment","heading","paragraph","strong"],enter:{autolink:i(me),autolinkProtocol:D,autolinkEmail:D,atxHeading:i(Fe),blockQuote:i(ne),characterEscape:D,characterReference:D,codeFenced:i(ae),codeFencedFenceInfo:l,codeFencedFenceMeta:l,codeIndented:i(ae,l),codeText:i(ue,l),codeTextData:D,data:D,codeFlowValue:D,definition:i(Ae),definitionDestinationString:l,definitionLabelString:l,definitionTitleString:l,emphasis:i(Me),hardBreakEscape:i(we),hardBreakTrailing:i(we),htmlFlow:i(at,l),htmlFlowData:D,htmlText:i(at,l),htmlTextData:D,image:i(Ht),label:l,link:i(me),listItem:i(Ut),listItemValue:b,listOrdered:i(An,g),listUnordered:i(An),paragraph:i(Ft),reference:he,referenceString:l,resourceDestinationString:l,resourceTitleString:l,setextHeading:i(Fe),strong:i(bt),thematicBreak:i(it)},exit:{atxHeading:d(),atxHeadingSequence:I,autolink:d(),autolinkEmail:re,autolinkProtocol:Y,blockQuote:d(),characterEscapeValue:M,characterReferenceMarkerHexadecimal:Ke,characterReferenceMarkerNumeric:Ke,characterReferenceValue:Pe,characterReference:R,codeFenced:d(m),codeFencedFence:x,codeFencedFenceInfo:h,codeFencedFenceMeta:w,codeFlowValue:M,codeIndented:d(k),codeText:d(L),codeTextData:M,data:M,definition:d(),definitionDestinationString:S,definitionLabelString:P,definitionTitleString:C,emphasis:d(),hardBreakEscape:d(_),hardBreakTrailing:d(_),htmlFlow:d(U),htmlFlowData:M,htmlText:d(N),htmlTextData:M,image:d(W),label:V,labelText:v,lineEnding:F,link:d(y),listItem:d(),listOrdered:d(),listUnordered:d(),paragraph:d(),referenceString:se,resourceDestinationString:q,resourceTitleString:G,resource:X,setextHeading:d(O),setextHeadingLineSequence:B,setextHeadingText:Q,strong:d(),thematicBreak:d()}};ka(o,(n||{}).mdastExtensions||[]);const a={};return A;function A(T){let z={type:"root",children:[]};const K={stack:[z],tokenStack:[],config:o,enter:c,exit:u,buffer:l,resume:f,data:a},Z=[];let oe=-1;for(;++oe<T.length;)(T[oe][1].type==="listOrdered"||T[oe][1].type==="listUnordered")&&(T[oe][0]==="enter"?Z.push(oe):oe=s(T,Z.pop(),oe));for(oe=-1;++oe<T.length;){const ce=o[T[oe][0]];Ea.call(ce,T[oe][1].type)&&ce[T[oe][1].type].call(Object.assign({sliceSerialize:T[oe][2].sliceSerialize},K),T[oe][1])}if(K.tokenStack.length>0){const ce=K.tokenStack[K.tokenStack.length-1];(ce[1]||Ca).call(K,void 0,ce[0])}for(z.position={start:mt(T.length>0?T[0][1].start:{line:1,column:1,offset:0}),end:mt(T.length>0?T[T.length-2][1].end:{line:1,column:1,offset:0})},oe=-1;++oe<o.transforms.length;)z=o.transforms[oe](z)||z;return z}function s(T,z,K){let Z,oe,ce,de,be=z-1,ve=-1,xe=!1;for(;++be<=K;){const Ee=T[be];switch(Ee[1].type){case"listUnordered":case"listOrdered":case"blockQuote":Ee[0]==="enter"?ve++:ve--,de=void 0;break;case"lineEndingBlank":Ee[0]==="enter"&&(Z&&!de&&!ve&&!ce&&(ce=be),de=void 0);break;case"linePrefix":case"listItemValue":case"listItemMarker":case"listItemPrefix":case"listItemPrefixWhitespace":break;default:de=void 0}if(!ve&&Ee[0]==="enter"&&Ee[1].type==="listItemPrefix"||ve===-1&&Ee[0]==="exit"&&(Ee[1].type==="listUnordered"||Ee[1].type==="listOrdered")){if(Z){let Xe=be;for(oe=void 0;Xe--;){const Be=T[Xe];if(Be[1].type==="lineEnding"||Be[1].type==="lineEndingBlank"){if(Be[0]==="exit")continue;oe&&(T[oe][1].type="lineEndingBlank",xe=!0),Be[1].type="lineEnding",oe=Xe}else if(Be[1].type!=="linePrefix"&&Be[1].type!=="blockQuotePrefix"&&Be[1].type!=="blockQuotePrefixWhitespace"&&Be[1].type!=="blockQuoteMarker"&&Be[1].type!=="listItemIndent")break}ce&&(!oe||ce<oe)&&(Z._spread=!0),Z.end=Object.assign({},oe?T[oe][1].start:Ee[1].end),T.splice(oe||be,0,["exit",Z,Ee[2]]),be++,K++}if(Ee[1].type==="listItemPrefix"){const Xe={type:"listItem",_spread:!1,start:Object.assign({},Ee[1].start),end:void 0};Z=Xe,T.splice(be,0,["enter",Xe,Ee[2]]),be++,K++,ce=void 0,de=!0}}}return T[z][1]._spread=xe,K}function i(T,z){return K;function K(Z){c.call(this,T(Z),Z),z&&z.call(this,Z)}}function l(){this.stack.push({type:"fragment",children:[]})}function c(T,z,K){this.stack[this.stack.length-1].children.push(T),this.stack.push(T),this.tokenStack.push([z,K||void 0]),T.position={start:mt(z.start),end:void 0}}function d(T){return z;function z(K){T&&T.call(this,K),u.call(this,K)}}function u(T,z){const K=this.stack.pop(),Z=this.tokenStack.pop();if(!Z)throw new Error("Cannot close `"+T.type+"` ("+Xt({start:T.start,end:T.end})+"): it’s not open");Z[0].type!==T.type&&(z?z.call(this,T,Z[0]):(Z[1]||Ca).call(this,T,Z[0])),K.position.end=mt(T.end)}function f(){return function(T){return ta(T,typeof wn.includeImageAlt!="boolean"||wn.includeImageAlt,typeof wn.includeHtml!="boolean"||wn.includeHtml)}(this.stack.pop())}function g(){this.data.expectingFirstListItemValue=!0}function b(T){this.data.expectingFirstListItemValue&&(this.stack[this.stack.length-2].start=Number.parseInt(this.sliceSerialize(T),10),this.data.expectingFirstListItemValue=void 0)}function h(){const T=this.resume();this.stack[this.stack.length-1].lang=T}function w(){const T=this.resume();this.stack[this.stack.length-1].meta=T}function x(){this.data.flowCodeInside||(this.buffer(),this.data.flowCodeInside=!0)}function m(){const T=this.resume();this.stack[this.stack.length-1].value=T.replace(/^(\r?\n|\r)|(\r?\n|\r)$/g,""),this.data.flowCodeInside=void 0}function k(){const T=this.resume();this.stack[this.stack.length-1].value=T.replace(/(\r?\n|\r)$/g,"")}function P(T){const z=this.resume(),K=this.stack[this.stack.length-1];K.label=z,K.identifier=Ot(this.sliceSerialize(T)).toLowerCase()}function C(){const T=this.resume();this.stack[this.stack.length-1].title=T}function S(){const T=this.resume();this.stack[this.stack.length-1].url=T}function I(T){const z=this.stack[this.stack.length-1];if(!z.depth){const K=this.sliceSerialize(T).length;z.depth=K}}function Q(){this.data.setextHeadingSlurpLineEnding=!0}function B(T){this.stack[this.stack.length-1].depth=this.sliceSerialize(T).codePointAt(0)===61?1:2}function O(){this.data.setextHeadingSlurpLineEnding=void 0}function D(T){const z=this.stack[this.stack.length-1].children;let K=z[z.length-1];(!K||K.type!=="text")&&(K=Ve(),K.position={start:mt(T.start),end:void 0},z.push(K)),this.stack.push(K)}function M(T){const z=this.stack.pop();z.value+=this.sliceSerialize(T),z.position.end=mt(T.end)}function F(T){const z=this.stack[this.stack.length-1];if(this.data.atHardBreak)return z.children[z.children.length-1].position.end=mt(T.end),void(this.data.atHardBreak=void 0);!this.data.setextHeadingSlurpLineEnding&&o.canContainEols.includes(z.type)&&(D.call(this,T),M.call(this,T))}function _(){this.data.atHardBreak=!0}function U(){const T=this.resume();this.stack[this.stack.length-1].value=T}function N(){const T=this.resume();this.stack[this.stack.length-1].value=T}function L(){const T=this.resume();this.stack[this.stack.length-1].value=T}function y(){const T=this.stack[this.stack.length-1];if(this.data.inReference){const z=this.data.referenceType||"shortcut";T.type+="Reference",T.referenceType=z,delete T.url,delete T.title}else delete T.identifier,delete T.label;this.data.referenceType=void 0}function W(){const T=this.stack[this.stack.length-1];if(this.data.inReference){const z=this.data.referenceType||"shortcut";T.type+="Reference",T.referenceType=z,delete T.url,delete T.title}else delete T.identifier,delete T.label;this.data.referenceType=void 0}function v(T){const z=this.sliceSerialize(T),K=this.stack[this.stack.length-2];K.label=function(Z){return Z.replace(fl,hl)}(z),K.identifier=Ot(z).toLowerCase()}function V(){const T=this.stack[this.stack.length-1],z=this.resume(),K=this.stack[this.stack.length-1];if(this.data.inReference=!0,K.type==="link"){const Z=T.children;K.children=Z}else K.alt=z}function q(){const T=this.resume();this.stack[this.stack.length-1].url=T}function G(){const T=this.resume();this.stack[this.stack.length-1].title=T}function X(){this.data.inReference=void 0}function he(){this.data.referenceType="collapsed"}function se(T){const z=this.resume(),K=this.stack[this.stack.length-1];K.label=z,K.identifier=Ot(this.sliceSerialize(T)).toLowerCase(),this.data.referenceType="full"}function Ke(T){this.data.characterReferenceType=T.type}function Pe(T){const z=this.sliceSerialize(T),K=this.data.characterReferenceType;let Z;K?(Z=aa(z,K==="characterReferenceMarkerNumeric"?10:16),this.data.characterReferenceType=void 0):Z=dr(z),this.stack[this.stack.length-1].value+=Z}function R(T){this.stack.pop().position.end=mt(T.end)}function Y(T){M.call(this,T),this.stack[this.stack.length-1].url=this.sliceSerialize(T)}function re(T){M.call(this,T),this.stack[this.stack.length-1].url="mailto:"+this.sliceSerialize(T)}function ne(){return{type:"blockquote",children:[]}}function ae(){return{type:"code",lang:null,meta:null,value:""}}function ue(){return{type:"inlineCode",value:""}}function Ae(){return{type:"definition",identifier:"",label:null,title:null,url:""}}function Me(){return{type:"emphasis",children:[]}}function Fe(){return{type:"heading",depth:0,children:[]}}function we(){return{type:"break"}}function at(){return{type:"html",value:""}}function Ht(){return{type:"image",title:null,url:"",alt:null}}function me(){return{type:"link",title:null,url:"",children:[]}}function An(T){return{type:"list",ordered:T.type==="listOrdered",start:null,spread:T._spread,children:[]}}function Ut(T){return{type:"listItem",spread:T._spread,checked:null,children:[]}}function Ft(){return{type:"paragraph",children:[]}}function bt(){return{type:"strong",children:[]}}function Ve(){return{type:"text",value:""}}function it(){return{type:"thematicBreak"}}}(r)(function(n){for(;!fa(n););return n}(function(n){const o={constructs:wA([dl,...(n||{}).extensions||[]]),content:a(BA),defined:[],document:a(IA),flow:a(el),lazy:{},string:a(nl),text:a(rl)};return o;function a(A){return function(s){return pl(o,A,s)}}}(r).document().write(function(){let n,o=1,a="",A=!0;return function(s,i,l){const c=[];let d,u,f,g,b;for(s=a+(typeof s=="string"?s.toString():new TextDecoder(i||void 0).decode(s)),f=0,a="",A&&(s.charCodeAt(0)===65279&&f++,A=void 0);f<s.length;){if(xa.lastIndex=f,d=xa.exec(s),g=d&&d.index!==void 0?d.index:s.length,b=s.charCodeAt(g),!d){a=s.slice(f);break}if(b===10&&f===g&&n)c.push(-3),n=void 0;else switch(n&&(c.push(-5),n=void 0),f<g&&(c.push(s.slice(f,g)),o+=g-f),b){case 0:c.push(65533),o++;break;case 9:for(u=4*Math.ceil(o/4),c.push(-2);o++<u;)c.push(-1);break;case 10:c.push(-4),o=1;break;default:n=!0,o=1}f=g+1}return l&&(n&&c.push(-5),a&&c.push(a),c.push(null)),c}}()(e,t,!0))))}function mt(e){return{line:e.line,column:e.column,offset:e.offset}}function ka(e,t){let r=-1;for(;++r<t.length;){const n=t[r];Array.isArray(n)?ka(e,n):ml(e,n)}}function ml(e,t){let r;for(r in t)if(Ea.call(t,r))switch(r){case"canContainEols":{const n=t[r];n&&e[r].push(...n);break}case"transforms":{const n=t[r];n&&e[r].push(...n);break}case"enter":case"exit":{const n=t[r];n&&Object.assign(e[r],n);break}}}function Ca(e,t){throw e?new Error("Cannot close `"+e.type+"` ("+Xt({start:e.start,end:e.end})+"): a different token (`"+t.type+"`, "+Xt({start:t.start,end:t.end})+") is open"):new Error("Cannot close document, a token (`"+t.type+"`, "+Xt({start:t.start,end:t.end})+") is still open")}function yl(e){const t=this;t.parser=function(r){return gl(r,{...t.data("settings"),...e,extensions:t.data("micromarkExtensions")||[],mdastExtensions:t.data("fromMarkdownExtensions")||[]})}}function Pa(e,t){const r=t.referenceType;let n="]";if(r==="collapsed"?n+="[]":r==="full"&&(n+="["+(t.label||t.identifier)+"]"),t.type==="imageReference")return[{type:"text",value:"!["+t.alt+n}];const o=e.all(t),a=o[0];a&&a.type==="text"?a.value="["+a.value:o.unshift({type:"text",value:"["});const A=o[o.length-1];return A&&A.type==="text"?A.value+=n:o.push({type:"text",value:n}),o}function Sa(e){return e.spread??e.children.length>1}function bl(e){const t=String(e),r=/\r?\n|\r/g;let n=r.exec(t),o=0;const a=[];for(;n;)a.push(Da(t.slice(o,n.index),o>0,!0),n[0]),o=n.index+n[0].length,n=r.exec(t);return a.push(Da(t.slice(o),o>0,!1)),a.join("")}function Da(e,t,r){let n=0,o=e.length;if(t){let a=e.codePointAt(n);for(;a===9||a===32;)n++,a=e.codePointAt(n)}if(r){let a=e.codePointAt(o-1);for(;a===9||a===32;)o--,a=e.codePointAt(o-1)}return o>n?e.slice(n,o):""}const vl={blockquote:function(e,t){const r={type:"element",tagName:"blockquote",properties:{},children:e.wrap(e.all(t),!0)};return e.patch(t,r),e.applyData(t,r)},break:function(e,t){const r={type:"element",tagName:"br",properties:{},children:[]};return e.patch(t,r),[e.applyData(t,r),{type:"text",value:`
|
|
20
|
+
`),n=n.replace(/\n/g,"<br/>"),n}createContainer(e){var t;const r=(typeof global<"u"&&global.INTERWEAVE_SSR_POLYFILL||js)();if(!r)return;const n=(t=this.props.containerTagName)!==null&&t!==void 0?t:"body",o=n==="body"||n==="fragment"?r.body:r.createElement(n);if(e.match(Fs)){if(process.env.NODE_ENV!=="production")throw new Error("HTML documents as Interweave content are not supported.")}else o.innerHTML=this.convertLineBreaks(this.props.escapeHtml?Ls(e):e);return o}extractAttributes(e){const{allowAttributes:t}=this.props,r={};let n=0;return e.nodeType===1&&e.attributes&&([...e.attributes].forEach(o=>{const{name:A,value:a}=o,s=A.toLowerCase(),i=Do[s]||Do[A];if(!this.isSafe(e)||!s.match(Rs)&&(!t&&(!i||i===2)||s.startsWith("on")||a.replace(/(\s|\0|�([9AD]);)/,"").match(/(javascript|vbscript|livescript|xss):/i)))return;let l=s==="style"?this.extractStyleAttribute(e):a;i===4?l=!0:i===3?l=Number.parseFloat(String(l)):i!==5&&(l=String(l)),r[Os[s]||s]=this.applyAttributeFilters(s,l),n+=1}),n!==0)?r:null}extractStyleAttribute(e){const t={};return Array.from(e.style).forEach(r=>{const n=e.style[r];(typeof n=="string"||typeof n=="number")&&(t[r.replace(/-([a-z])/g,(o,A)=>String(A).toUpperCase())]=n)}),t}getTagConfig(e){const t={children:[],content:0,invalid:[],parent:[],self:!0,tagName:"",type:0,void:!1};return tr[e]?{...t,...tr[e],tagName:e}:t}isSafe(e){if(typeof HTMLAnchorElement<"u"&&e instanceof HTMLAnchorElement){const t=e.getAttribute("href");if(t!=null&&t.startsWith("#"))return!0;const r=e.protocol.toLowerCase();return r===":"||r==="http:"||r==="https:"||r==="mailto:"||r==="tel:"}return!0}isTagAllowed(e){return!this.banned.has(e)&&!this.blocked.has(e)&&(this.props.allowElements||this.allowed.has(e))}parse(){return this.container?this.parseNode(this.container,this.getTagConfig(this.container.nodeName.toLowerCase())):[]}parseNode(e,t){const{noHtml:r,noHtmlExceptMatchers:n,allowElements:o,transform:A,transformOnlyAllowList:a}=this.props;let s=[],i="";return[...e.childNodes].forEach(l=>{if(l.nodeType===1){const d=l.nodeName.toLowerCase(),u=this.getTagConfig(d);i&&(s.push(i),i="");const p=this.applyNodeFilters(d,l);if(!p)return;let g;if(A&&(!a||this.isTagAllowed(d))){this.keyIndex+=1;const v=this.keyIndex;g=this.parseNode(p,u);const h=A(p,g,u);if(h===null)return;if(typeof h<"u")return void s.push(f.cloneElement(h,{key:v}));this.keyIndex=v-1}if(this.banned.has(d))return;if(r||n&&d!=="br"||!this.isTagAllowed(d)||!o&&!this.canRenderChild(t,u))s=[...s,...this.parseNode(p,u.tagName?u:t)];else{var c;this.keyIndex+=1;const v=this.extractAttributes(p),h={tagName:d};v&&(h.attributes=v),u.void&&(h.selfClose=u.void),s.push(f.createElement(Bo,{...h,key:this.keyIndex},(c=g)!==null&&c!==void 0?c:this.parseNode(p,u)))}}else if(l.nodeType===3){const d=r&&!n?l.textContent:this.applyMatchers(l.textContent||"",t);Array.isArray(d)?s=[...s,...d]:i+=d}}),i&&s.push(i),s}replaceTokens(e,t){if(!e.includes("{{{"))return e;const r=[];let n=e,o=null;for(;o=n.match(zs);){const[A,a]=o,s=o.index,i=A.includes("/");if(process.env.NODE_ENV!=="production"&&!t[a])throw new Error(`Token "${a}" found but no matching element to replace with.`);s>0&&(r.push(n.slice(0,s)),n=n.slice(s));const{children:l,matcher:c,props:d}=t[a];let u;if(i)u=A.length,r.push(c.createElement(l,d));else{const p=n.match(new RegExp(`{{{/${a}}}}`));if(process.env.NODE_ENV!=="production"&&!p)throw new Error(`Closing token missing for interpolated element "${a}".`);u=p.index+p[0].length,r.push(c.createElement(this.replaceTokens(n.slice(A.length,p.index),t),d))}n=n.slice(u)}return n.length>0&&r.push(n),r.length===0?"":r.length===1&&typeof r[0]=="string"?r[0]:r}};function qs(e){var t;const{attributes:r,className:n,containerTagName:o,content:A,emptyContent:a,parsedContent:s,tagName:i,noWrap:l}=e,c=(t=o??i)!==null&&t!==void 0?t:"span",d=c==="fragment"||l;let u;if(s)u=s;else{const p=new To(A??"",e).parse();p.length>0&&(u=p)}return u||(u=a),d?f.createElement(f.Fragment,null,u):f.createElement(Bo,{attributes:r,className:n,tagName:c},u)}function Gs(e){const{attributes:t,className:r,content:n="",disableFilters:o=!1,disableMatchers:A=!1,emptyContent:a=null,filters:s=[],matchers:i=[],onAfterParse:l=null,onBeforeParse:c=null,tagName:d="span",noWrap:u=!1,...p}=e,g=A?[]:i,v=o?[]:s,h=c?[c]:[],w=l?[l]:[];g.forEach(k=>{k.onBeforeParse&&h.push(k.onBeforeParse.bind(k)),k.onAfterParse&&w.push(k.onAfterParse.bind(k))});const E=h.reduce((k,S)=>{const D=S(k,e);if(process.env.NODE_ENV!=="production"&&typeof D!="string")throw new TypeError("Interweave `onBeforeParse` must return a valid HTML string.");return D},n??""),m=new To(E,p,g,v),C=w.reduce((k,S)=>{const D=S(k,e);if(process.env.NODE_ENV!=="production"&&!Array.isArray(D))throw new TypeError("Interweave `onAfterParse` must return an array of strings and React elements.");return D},m.parse());return f.createElement(qs,{attributes:t,className:r,containerTagName:e.containerTagName,emptyContent:a,noWrap:u,parsedContent:C.length===0?void 0:C,tagName:d})}const Ws=({children:e})=>P.jsx("div",{style:{whiteSpace:"normal"},children:P.jsx(Gs,{content:typeof e=="string"?e:""})}),Ys={autoConfig:!0},Qo=(e,t,r)=>{var n;if(!e.detail.currPath)return!1;const o=t[e.detail.currPath];return!!o&&(((n=o.renderHtml)==null?void 0:n.map(A=>A.toUpperCase()).includes(r))??!1)},Ks=e=>{const t=[];let r="",n=!1;for(let o=0;o<e.length;o++){const A=e[o];A==="<"?n?(t.push(r),r=A):(n=!0,r=A):A===">"?(r+=A,t.push(r),r="",n=!1):n?r+=A:t.push(A)}return r!==""&&t.push(r),t},Vs=e=>{const{getFlow:t}=bn(),{messages:r,replaceMessages:n}=Xt(),{settings:o}=Po(),{hasChatHistoryLoaded:A}=ko(),a={...e,...Ys},s=a.htmlComponent?a.htmlComponent:Ws;f.useEffect(()=>{var c,d;if(A){const u=[...r];for(let p=0;p<u.length&&p<(((c=o.chatHistory)==null?void 0:c.maxEntries)??30);p++){const g=u[p];(d=g.tags)!=null&&d.includes("rcb-html-renderer-plugin:parsed")&&(g.contentWrapper=s)}n(u)}},[A]);const i=async c=>{var d;const u=(d=c.data.message)==null?void 0:d.sender.toUpperCase();typeof c.data.message.content=="string"&&Qo(c,t(),u)&&(c.type==="rcb-start-simulate-stream-message"&&(c.data.simulateStreamChunker=Ks),c.data.message.contentWrapper=s,c.data.message.tags||(c.data.message.tags=[]),c.data.message.tags.push("rcb-html-renderer-plugin:parsed"))};Ke(R.PRE_INJECT_MESSAGE,i),Ke(R.CHUNK_STREAM_MESSAGE,i),Ke(R.START_STREAM_MESSAGE,i),Ke(R.START_SIMULATE_STREAM_MESSAGE,i),Ke(R.START_SPEAK_AUDIO,async c=>{Qo(c,t(),"BOT")&&(c.data.textToRead=(d=>typeof window.DOMParser<"u"?new DOMParser().parseFromString(d,"text/html").body.textContent||"":d.replace(/<\/?[^>]+(>|$)/g,""))(c.data.textToRead))});const l={name:"@rcb-plugins/html-renderer"};return a!=null&&a.autoConfig&&(l.settings={event:{rcbPreInjectMessage:!0,rcbChunkStreamMessage:!0,rcbStartSimulateStreamMessage:!0,rcbStartStreamMessage:!0,rcbStartSpeakAudio:!0}}),l},Xs=/^[$_\p{ID_Start}][$_\u{200C}\u{200D}\p{ID_Continue}]*$/u,Js=/^[$_\p{ID_Start}][-$_\u{200C}\u{200D}\p{ID_Continue}]*$/u,Zs={};function Mo(e,t){return(Zs.jsx?Js:Xs).test(e)}const $s=/[ \t\n\f\r]/g;function Oo(e){return e.replace($s,"")===""}class Jt{constructor(t,r,n){this.property=t,this.normal=r,n&&(this.space=n)}}function _o(e,t){const r={},n={};let o=-1;for(;++o<e.length;)Object.assign(r,e[o].property),Object.assign(n,e[o].normal);return new Jt(r,n,t)}function nr(e){return e.toLowerCase()}Jt.prototype.property={},Jt.prototype.normal={},Jt.prototype.space=null;class Ve{constructor(t,r){this.property=t,this.attribute=r}}Ve.prototype.space=null,Ve.prototype.boolean=!1,Ve.prototype.booleanish=!1,Ve.prototype.overloadedBoolean=!1,Ve.prototype.number=!1,Ve.prototype.commaSeparated=!1,Ve.prototype.spaceSeparated=!1,Ve.prototype.commaOrSpaceSeparated=!1,Ve.prototype.mustUseProperty=!1,Ve.prototype.defined=!1;let ea=0;const ee=Bt(),Pe=Bt(),No=Bt(),H=Bt(),pe=Bt(),Mt=Bt(),Ge=Bt();function Bt(){return 2**++ea}const rr=Object.freeze(Object.defineProperty({__proto__:null,boolean:ee,booleanish:Pe,commaOrSpaceSeparated:Ge,commaSeparated:Mt,number:H,overloadedBoolean:No,spaceSeparated:pe},Symbol.toStringTag,{value:"Module"})),or=Object.keys(rr);class Ar extends Ve{constructor(t,r,n,o){let A=-1;if(super(t,r),Lo(this,"space",o),typeof n=="number")for(;++A<or.length;){const a=or[A];Lo(this,or[A],(n&rr[a])===rr[a])}}}function Lo(e,t,r){r&&(e[t]=r)}Ar.prototype.defined=!0;const ta={}.hasOwnProperty;function Ot(e){const t={},r={};let n;for(n in e.properties)if(ta.call(e.properties,n)){const o=e.properties[n],A=new Ar(n,e.transform(e.attributes||{},n),o,e.space);e.mustUseProperty&&e.mustUseProperty.includes(n)&&(A.mustUseProperty=!0),t[n]=A,r[nr(n)]=n,r[nr(A.attribute)]=n}return new Jt(t,r,e.space)}const Ho=Ot({space:"xlink",transform:(e,t)=>"xlink:"+t.slice(5).toLowerCase(),properties:{xLinkActuate:null,xLinkArcRole:null,xLinkHref:null,xLinkRole:null,xLinkShow:null,xLinkTitle:null,xLinkType:null}}),Uo=Ot({space:"xml",transform:(e,t)=>"xml:"+t.slice(3).toLowerCase(),properties:{xmlLang:null,xmlBase:null,xmlSpace:null}});function Fo(e,t){return t in e?e[t]:t}function Ro(e,t){return Fo(e,t.toLowerCase())}const zo=Ot({space:"xmlns",attributes:{xmlnsxlink:"xmlns:xlink"},transform:Ro,properties:{xmlns:null,xmlnsXLink:null}}),jo=Ot({transform:(e,t)=>t==="role"?t:"aria-"+t.slice(4).toLowerCase(),properties:{ariaActiveDescendant:null,ariaAtomic:Pe,ariaAutoComplete:null,ariaBusy:Pe,ariaChecked:Pe,ariaColCount:H,ariaColIndex:H,ariaColSpan:H,ariaControls:pe,ariaCurrent:null,ariaDescribedBy:pe,ariaDetails:null,ariaDisabled:Pe,ariaDropEffect:pe,ariaErrorMessage:null,ariaExpanded:Pe,ariaFlowTo:pe,ariaGrabbed:Pe,ariaHasPopup:null,ariaHidden:Pe,ariaInvalid:null,ariaKeyShortcuts:null,ariaLabel:null,ariaLabelledBy:pe,ariaLevel:H,ariaLive:null,ariaModal:Pe,ariaMultiLine:Pe,ariaMultiSelectable:Pe,ariaOrientation:null,ariaOwns:pe,ariaPlaceholder:null,ariaPosInSet:H,ariaPressed:Pe,ariaReadOnly:Pe,ariaRelevant:null,ariaRequired:Pe,ariaRoleDescription:pe,ariaRowCount:H,ariaRowIndex:H,ariaRowSpan:H,ariaSelected:Pe,ariaSetSize:H,ariaSort:null,ariaValueMax:H,ariaValueMin:H,ariaValueNow:H,ariaValueText:null,role:null}}),na=Ot({space:"html",attributes:{acceptcharset:"accept-charset",classname:"class",htmlfor:"for",httpequiv:"http-equiv"},transform:Ro,mustUseProperty:["checked","multiple","muted","selected"],properties:{abbr:null,accept:Mt,acceptCharset:pe,accessKey:pe,action:null,allow:null,allowFullScreen:ee,allowPaymentRequest:ee,allowUserMedia:ee,alt:null,as:null,async:ee,autoCapitalize:null,autoComplete:pe,autoFocus:ee,autoPlay:ee,blocking:pe,capture:null,charSet:null,checked:ee,cite:null,className:pe,cols:H,colSpan:null,content:null,contentEditable:Pe,controls:ee,controlsList:pe,coords:H|Mt,crossOrigin:null,data:null,dateTime:null,decoding:null,default:ee,defer:ee,dir:null,dirName:null,disabled:ee,download:No,draggable:Pe,encType:null,enterKeyHint:null,fetchPriority:null,form:null,formAction:null,formEncType:null,formMethod:null,formNoValidate:ee,formTarget:null,headers:pe,height:H,hidden:ee,high:H,href:null,hrefLang:null,htmlFor:pe,httpEquiv:pe,id:null,imageSizes:null,imageSrcSet:null,inert:ee,inputMode:null,integrity:null,is:null,isMap:ee,itemId:null,itemProp:pe,itemRef:pe,itemScope:ee,itemType:pe,kind:null,label:null,lang:null,language:null,list:null,loading:null,loop:ee,low:H,manifest:null,max:null,maxLength:H,media:null,method:null,min:null,minLength:H,multiple:ee,muted:ee,name:null,nonce:null,noModule:ee,noValidate:ee,onAbort:null,onAfterPrint:null,onAuxClick:null,onBeforeMatch:null,onBeforePrint:null,onBeforeToggle:null,onBeforeUnload:null,onBlur:null,onCancel:null,onCanPlay:null,onCanPlayThrough:null,onChange:null,onClick:null,onClose:null,onContextLost:null,onContextMenu:null,onContextRestored:null,onCopy:null,onCueChange:null,onCut:null,onDblClick:null,onDrag:null,onDragEnd:null,onDragEnter:null,onDragExit:null,onDragLeave:null,onDragOver:null,onDragStart:null,onDrop:null,onDurationChange:null,onEmptied:null,onEnded:null,onError:null,onFocus:null,onFormData:null,onHashChange:null,onInput:null,onInvalid:null,onKeyDown:null,onKeyPress:null,onKeyUp:null,onLanguageChange:null,onLoad:null,onLoadedData:null,onLoadedMetadata:null,onLoadEnd:null,onLoadStart:null,onMessage:null,onMessageError:null,onMouseDown:null,onMouseEnter:null,onMouseLeave:null,onMouseMove:null,onMouseOut:null,onMouseOver:null,onMouseUp:null,onOffline:null,onOnline:null,onPageHide:null,onPageShow:null,onPaste:null,onPause:null,onPlay:null,onPlaying:null,onPopState:null,onProgress:null,onRateChange:null,onRejectionHandled:null,onReset:null,onResize:null,onScroll:null,onScrollEnd:null,onSecurityPolicyViolation:null,onSeeked:null,onSeeking:null,onSelect:null,onSlotChange:null,onStalled:null,onStorage:null,onSubmit:null,onSuspend:null,onTimeUpdate:null,onToggle:null,onUnhandledRejection:null,onUnload:null,onVolumeChange:null,onWaiting:null,onWheel:null,open:ee,optimum:H,pattern:null,ping:pe,placeholder:null,playsInline:ee,popover:null,popoverTarget:null,popoverTargetAction:null,poster:null,preload:null,readOnly:ee,referrerPolicy:null,rel:pe,required:ee,reversed:ee,rows:H,rowSpan:H,sandbox:pe,scope:null,scoped:ee,seamless:ee,selected:ee,shadowRootClonable:ee,shadowRootDelegatesFocus:ee,shadowRootMode:null,shape:null,size:H,sizes:null,slot:null,span:H,spellCheck:Pe,src:null,srcDoc:null,srcLang:null,srcSet:null,start:H,step:null,style:null,tabIndex:H,target:null,title:null,translate:null,type:null,typeMustMatch:ee,useMap:null,value:Pe,width:H,wrap:null,writingSuggestions:null,align:null,aLink:null,archive:pe,axis:null,background:null,bgColor:null,border:H,borderColor:null,bottomMargin:H,cellPadding:null,cellSpacing:null,char:null,charOff:null,classId:null,clear:null,code:null,codeBase:null,codeType:null,color:null,compact:ee,declare:ee,event:null,face:null,frame:null,frameBorder:null,hSpace:H,leftMargin:H,link:null,longDesc:null,lowSrc:null,marginHeight:H,marginWidth:H,noResize:ee,noHref:ee,noShade:ee,noWrap:ee,object:null,profile:null,prompt:null,rev:null,rightMargin:H,rules:null,scheme:null,scrolling:Pe,standby:null,summary:null,text:null,topMargin:H,valueType:null,version:null,vAlign:null,vLink:null,vSpace:H,allowTransparency:null,autoCorrect:null,autoSave:null,disablePictureInPicture:ee,disableRemotePlayback:ee,prefix:null,property:null,results:H,security:null,unselectable:null}}),ra=Ot({space:"svg",attributes:{accentHeight:"accent-height",alignmentBaseline:"alignment-baseline",arabicForm:"arabic-form",baselineShift:"baseline-shift",capHeight:"cap-height",className:"class",clipPath:"clip-path",clipRule:"clip-rule",colorInterpolation:"color-interpolation",colorInterpolationFilters:"color-interpolation-filters",colorProfile:"color-profile",colorRendering:"color-rendering",crossOrigin:"crossorigin",dataType:"datatype",dominantBaseline:"dominant-baseline",enableBackground:"enable-background",fillOpacity:"fill-opacity",fillRule:"fill-rule",floodColor:"flood-color",floodOpacity:"flood-opacity",fontFamily:"font-family",fontSize:"font-size",fontSizeAdjust:"font-size-adjust",fontStretch:"font-stretch",fontStyle:"font-style",fontVariant:"font-variant",fontWeight:"font-weight",glyphName:"glyph-name",glyphOrientationHorizontal:"glyph-orientation-horizontal",glyphOrientationVertical:"glyph-orientation-vertical",hrefLang:"hreflang",horizAdvX:"horiz-adv-x",horizOriginX:"horiz-origin-x",horizOriginY:"horiz-origin-y",imageRendering:"image-rendering",letterSpacing:"letter-spacing",lightingColor:"lighting-color",markerEnd:"marker-end",markerMid:"marker-mid",markerStart:"marker-start",navDown:"nav-down",navDownLeft:"nav-down-left",navDownRight:"nav-down-right",navLeft:"nav-left",navNext:"nav-next",navPrev:"nav-prev",navRight:"nav-right",navUp:"nav-up",navUpLeft:"nav-up-left",navUpRight:"nav-up-right",onAbort:"onabort",onActivate:"onactivate",onAfterPrint:"onafterprint",onBeforePrint:"onbeforeprint",onBegin:"onbegin",onCancel:"oncancel",onCanPlay:"oncanplay",onCanPlayThrough:"oncanplaythrough",onChange:"onchange",onClick:"onclick",onClose:"onclose",onCopy:"oncopy",onCueChange:"oncuechange",onCut:"oncut",onDblClick:"ondblclick",onDrag:"ondrag",onDragEnd:"ondragend",onDragEnter:"ondragenter",onDragExit:"ondragexit",onDragLeave:"ondragleave",onDragOver:"ondragover",onDragStart:"ondragstart",onDrop:"ondrop",onDurationChange:"ondurationchange",onEmptied:"onemptied",onEnd:"onend",onEnded:"onended",onError:"onerror",onFocus:"onfocus",onFocusIn:"onfocusin",onFocusOut:"onfocusout",onHashChange:"onhashchange",onInput:"oninput",onInvalid:"oninvalid",onKeyDown:"onkeydown",onKeyPress:"onkeypress",onKeyUp:"onkeyup",onLoad:"onload",onLoadedData:"onloadeddata",onLoadedMetadata:"onloadedmetadata",onLoadStart:"onloadstart",onMessage:"onmessage",onMouseDown:"onmousedown",onMouseEnter:"onmouseenter",onMouseLeave:"onmouseleave",onMouseMove:"onmousemove",onMouseOut:"onmouseout",onMouseOver:"onmouseover",onMouseUp:"onmouseup",onMouseWheel:"onmousewheel",onOffline:"onoffline",onOnline:"ononline",onPageHide:"onpagehide",onPageShow:"onpageshow",onPaste:"onpaste",onPause:"onpause",onPlay:"onplay",onPlaying:"onplaying",onPopState:"onpopstate",onProgress:"onprogress",onRateChange:"onratechange",onRepeat:"onrepeat",onReset:"onreset",onResize:"onresize",onScroll:"onscroll",onSeeked:"onseeked",onSeeking:"onseeking",onSelect:"onselect",onShow:"onshow",onStalled:"onstalled",onStorage:"onstorage",onSubmit:"onsubmit",onSuspend:"onsuspend",onTimeUpdate:"ontimeupdate",onToggle:"ontoggle",onUnload:"onunload",onVolumeChange:"onvolumechange",onWaiting:"onwaiting",onZoom:"onzoom",overlinePosition:"overline-position",overlineThickness:"overline-thickness",paintOrder:"paint-order",panose1:"panose-1",pointerEvents:"pointer-events",referrerPolicy:"referrerpolicy",renderingIntent:"rendering-intent",shapeRendering:"shape-rendering",stopColor:"stop-color",stopOpacity:"stop-opacity",strikethroughPosition:"strikethrough-position",strikethroughThickness:"strikethrough-thickness",strokeDashArray:"stroke-dasharray",strokeDashOffset:"stroke-dashoffset",strokeLineCap:"stroke-linecap",strokeLineJoin:"stroke-linejoin",strokeMiterLimit:"stroke-miterlimit",strokeOpacity:"stroke-opacity",strokeWidth:"stroke-width",tabIndex:"tabindex",textAnchor:"text-anchor",textDecoration:"text-decoration",textRendering:"text-rendering",transformOrigin:"transform-origin",typeOf:"typeof",underlinePosition:"underline-position",underlineThickness:"underline-thickness",unicodeBidi:"unicode-bidi",unicodeRange:"unicode-range",unitsPerEm:"units-per-em",vAlphabetic:"v-alphabetic",vHanging:"v-hanging",vIdeographic:"v-ideographic",vMathematical:"v-mathematical",vectorEffect:"vector-effect",vertAdvY:"vert-adv-y",vertOriginX:"vert-origin-x",vertOriginY:"vert-origin-y",wordSpacing:"word-spacing",writingMode:"writing-mode",xHeight:"x-height",playbackOrder:"playbackorder",timelineBegin:"timelinebegin"},transform:Fo,properties:{about:Ge,accentHeight:H,accumulate:null,additive:null,alignmentBaseline:null,alphabetic:H,amplitude:H,arabicForm:null,ascent:H,attributeName:null,attributeType:null,azimuth:H,bandwidth:null,baselineShift:null,baseFrequency:null,baseProfile:null,bbox:null,begin:null,bias:H,by:null,calcMode:null,capHeight:H,className:pe,clip:null,clipPath:null,clipPathUnits:null,clipRule:null,color:null,colorInterpolation:null,colorInterpolationFilters:null,colorProfile:null,colorRendering:null,content:null,contentScriptType:null,contentStyleType:null,crossOrigin:null,cursor:null,cx:null,cy:null,d:null,dataType:null,defaultAction:null,descent:H,diffuseConstant:H,direction:null,display:null,dur:null,divisor:H,dominantBaseline:null,download:ee,dx:null,dy:null,edgeMode:null,editable:null,elevation:H,enableBackground:null,end:null,event:null,exponent:H,externalResourcesRequired:null,fill:null,fillOpacity:H,fillRule:null,filter:null,filterRes:null,filterUnits:null,floodColor:null,floodOpacity:null,focusable:null,focusHighlight:null,fontFamily:null,fontSize:null,fontSizeAdjust:null,fontStretch:null,fontStyle:null,fontVariant:null,fontWeight:null,format:null,fr:null,from:null,fx:null,fy:null,g1:Mt,g2:Mt,glyphName:Mt,glyphOrientationHorizontal:null,glyphOrientationVertical:null,glyphRef:null,gradientTransform:null,gradientUnits:null,handler:null,hanging:H,hatchContentUnits:null,hatchUnits:null,height:null,href:null,hrefLang:null,horizAdvX:H,horizOriginX:H,horizOriginY:H,id:null,ideographic:H,imageRendering:null,initialVisibility:null,in:null,in2:null,intercept:H,k:H,k1:H,k2:H,k3:H,k4:H,kernelMatrix:Ge,kernelUnitLength:null,keyPoints:null,keySplines:null,keyTimes:null,kerning:null,lang:null,lengthAdjust:null,letterSpacing:null,lightingColor:null,limitingConeAngle:H,local:null,markerEnd:null,markerMid:null,markerStart:null,markerHeight:null,markerUnits:null,markerWidth:null,mask:null,maskContentUnits:null,maskUnits:null,mathematical:null,max:null,media:null,mediaCharacterEncoding:null,mediaContentEncodings:null,mediaSize:H,mediaTime:null,method:null,min:null,mode:null,name:null,navDown:null,navDownLeft:null,navDownRight:null,navLeft:null,navNext:null,navPrev:null,navRight:null,navUp:null,navUpLeft:null,navUpRight:null,numOctaves:null,observer:null,offset:null,onAbort:null,onActivate:null,onAfterPrint:null,onBeforePrint:null,onBegin:null,onCancel:null,onCanPlay:null,onCanPlayThrough:null,onChange:null,onClick:null,onClose:null,onCopy:null,onCueChange:null,onCut:null,onDblClick:null,onDrag:null,onDragEnd:null,onDragEnter:null,onDragExit:null,onDragLeave:null,onDragOver:null,onDragStart:null,onDrop:null,onDurationChange:null,onEmptied:null,onEnd:null,onEnded:null,onError:null,onFocus:null,onFocusIn:null,onFocusOut:null,onHashChange:null,onInput:null,onInvalid:null,onKeyDown:null,onKeyPress:null,onKeyUp:null,onLoad:null,onLoadedData:null,onLoadedMetadata:null,onLoadStart:null,onMessage:null,onMouseDown:null,onMouseEnter:null,onMouseLeave:null,onMouseMove:null,onMouseOut:null,onMouseOver:null,onMouseUp:null,onMouseWheel:null,onOffline:null,onOnline:null,onPageHide:null,onPageShow:null,onPaste:null,onPause:null,onPlay:null,onPlaying:null,onPopState:null,onProgress:null,onRateChange:null,onRepeat:null,onReset:null,onResize:null,onScroll:null,onSeeked:null,onSeeking:null,onSelect:null,onShow:null,onStalled:null,onStorage:null,onSubmit:null,onSuspend:null,onTimeUpdate:null,onToggle:null,onUnload:null,onVolumeChange:null,onWaiting:null,onZoom:null,opacity:null,operator:null,order:null,orient:null,orientation:null,origin:null,overflow:null,overlay:null,overlinePosition:H,overlineThickness:H,paintOrder:null,panose1:null,path:null,pathLength:H,patternContentUnits:null,patternTransform:null,patternUnits:null,phase:null,ping:pe,pitch:null,playbackOrder:null,pointerEvents:null,points:null,pointsAtX:H,pointsAtY:H,pointsAtZ:H,preserveAlpha:null,preserveAspectRatio:null,primitiveUnits:null,propagate:null,property:Ge,r:null,radius:null,referrerPolicy:null,refX:null,refY:null,rel:Ge,rev:Ge,renderingIntent:null,repeatCount:null,repeatDur:null,requiredExtensions:Ge,requiredFeatures:Ge,requiredFonts:Ge,requiredFormats:Ge,resource:null,restart:null,result:null,rotate:null,rx:null,ry:null,scale:null,seed:null,shapeRendering:null,side:null,slope:null,snapshotTime:null,specularConstant:H,specularExponent:H,spreadMethod:null,spacing:null,startOffset:null,stdDeviation:null,stemh:null,stemv:null,stitchTiles:null,stopColor:null,stopOpacity:null,strikethroughPosition:H,strikethroughThickness:H,string:null,stroke:null,strokeDashArray:Ge,strokeDashOffset:null,strokeLineCap:null,strokeLineJoin:null,strokeMiterLimit:H,strokeOpacity:H,strokeWidth:null,style:null,surfaceScale:H,syncBehavior:null,syncBehaviorDefault:null,syncMaster:null,syncTolerance:null,syncToleranceDefault:null,systemLanguage:Ge,tabIndex:H,tableValues:null,target:null,targetX:H,targetY:H,textAnchor:null,textDecoration:null,textRendering:null,textLength:null,timelineBegin:null,title:null,transformBehavior:null,type:null,typeOf:Ge,to:null,transform:null,transformOrigin:null,u1:null,u2:null,underlinePosition:H,underlineThickness:H,unicode:null,unicodeBidi:null,unicodeRange:null,unitsPerEm:H,values:null,vAlphabetic:H,vMathematical:H,vectorEffect:null,vHanging:H,vIdeographic:H,version:null,vertAdvY:H,vertOriginX:H,vertOriginY:H,viewBox:null,viewTarget:null,visibility:null,width:null,widths:null,wordSpacing:null,writingMode:null,x:null,x1:null,x2:null,xChannelSelector:null,xHeight:H,y:null,y1:null,y2:null,yChannelSelector:null,z:null,zoomAndPan:null}}),oa=/^data[-\w.:]+$/i,qo=/-[a-z]/g,Aa=/[A-Z]/g;function ia(e){return"-"+e.toLowerCase()}function sa(e){return e.charAt(1).toUpperCase()}const aa={classId:"classID",dataType:"datatype",itemId:"itemID",strokeDashArray:"strokeDasharray",strokeDashOffset:"strokeDashoffset",strokeLineCap:"strokeLinecap",strokeLineJoin:"strokeLinejoin",strokeMiterLimit:"strokeMiterlimit",typeOf:"typeof",xLinkActuate:"xlinkActuate",xLinkArcRole:"xlinkArcrole",xLinkHref:"xlinkHref",xLinkRole:"xlinkRole",xLinkShow:"xlinkShow",xLinkTitle:"xlinkTitle",xLinkType:"xlinkType",xmlnsXLink:"xmlnsXlink"},la=_o([Uo,Ho,zo,jo,na],"html"),ir=_o([Uo,Ho,zo,jo,ra],"svg");function Go(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}var sr,Wo,Yo,_t={},ca=function(){if(Yo)return _t;Yo=1;var e=_t&&_t.__importDefault||function(r){return r&&r.__esModule?r:{default:r}};Object.defineProperty(_t,"__esModule",{value:!0}),_t.default=function(r,n){var o=null;if(!r||typeof r!="string")return o;var A=(0,t.default)(r),a=typeof n=="function";return A.forEach(function(s){if(s.type==="declaration"){var i=s.property,l=s.value;a?n(i,l,s):l&&((o=o||{})[i]=l)}}),o};var t=e(function(){if(Wo)return sr;Wo=1;var r=/\/\*[^*]*\*+([^/*][^*]*\*+)*\//g,n=/\n/g,o=/^\s*/,A=/^(\*?[-#/*\\\w]+(\[[0-9a-z_-]+\])?)\s*/,a=/^:\s*/,s=/^((?:'(?:\\'|.)*?'|"(?:\\"|.)*?"|\([^)]*?\)|[^};])+)/,i=/^[;\s]*/,l=/^\s+|\s+$/g,c="";function d(u){return u?u.replace(l,c):c}return sr=function(u,p){if(typeof u!="string")throw new TypeError("First argument must be a string");if(!u)return[];p=p||{};var g=1,v=1;function h(Q){var x=Q.match(n);x&&(g+=x.length);var N=Q.lastIndexOf(`
|
|
21
|
+
`);v=~N?Q.length-N:v+Q.length}function w(){var Q={line:g,column:v};return function(x){return x.position=new E(Q),k(),x}}function E(Q){this.start=Q,this.end={line:g,column:v},this.source=p.source}function m(Q){var x=new Error(p.source+":"+g+":"+v+": "+Q);if(x.reason=Q,x.filename=p.source,x.line=g,x.column=v,x.source=u,!p.silent)throw x}function C(Q){var x=Q.exec(u);if(x){var N=x[0];return h(N),u=u.slice(N.length),x}}function k(){C(o)}function S(Q){var x;for(Q=Q||[];x=D();)x!==!1&&Q.push(x);return Q}function D(){var Q=w();if(u.charAt(0)=="/"&&u.charAt(1)=="*"){for(var x=2;c!=u.charAt(x)&&(u.charAt(x)!="*"||u.charAt(x+1)!="/");)++x;if(x+=2,c===u.charAt(x-1))return m("End of comment missing");var N=u.slice(2,x-2);return v+=2,h(N),u=u.slice(x),v+=2,Q({type:"comment",comment:N})}}function I(){var Q=w(),x=C(A);if(x){if(D(),!C(a))return m("property missing ':'");var N=C(s),B=Q({type:"declaration",property:d(x[0].replace(r,c)),value:N?d(N[0].replace(r,c)):c});return C(i),B}}return E.prototype.content=u,k(),function(){var Q,x=[];for(S(x);Q=I();)Q!==!1&&(x.push(Q),S(x));return x}()},sr}());return _t}();const Ko=Go(ca),ua=Ko.default||Ko,Vo=Xo("end"),ar=Xo("start");function Xo(e){return function(t){const r=t&&t.position&&t.position[e]||{};if(typeof r.line=="number"&&r.line>0&&typeof r.column=="number"&&r.column>0)return{line:r.line,column:r.column,offset:typeof r.offset=="number"&&r.offset>-1?r.offset:void 0}}}function Zt(e){return e&&typeof e=="object"?"position"in e||"type"in e?Jo(e.position):"start"in e||"end"in e?Jo(e):"line"in e||"column"in e?lr(e):"":""}function lr(e){return Zo(e&&e.line)+":"+Zo(e&&e.column)}function Jo(e){return lr(e&&e.start)+"-"+lr(e&&e.end)}function Zo(e){return e&&typeof e=="number"?e:1}class Ne extends Error{constructor(t,r,n){super(),typeof r=="string"&&(n=r,r=void 0);let o="",A={},a=!1;if(r&&(A="line"in r&&"column"in r||"start"in r&&"end"in r?{place:r}:"type"in r?{ancestors:[r],place:r.position}:{...r}),typeof t=="string"?o=t:!A.cause&&t&&(a=!0,o=t.message,A.cause=t),!A.ruleId&&!A.source&&typeof n=="string"){const i=n.indexOf(":");i===-1?A.ruleId=n:(A.source=n.slice(0,i),A.ruleId=n.slice(i+1))}if(!A.place&&A.ancestors&&A.ancestors){const i=A.ancestors[A.ancestors.length-1];i&&(A.place=i.position)}const s=A.place&&"start"in A.place?A.place.start:A.place;this.ancestors=A.ancestors||void 0,this.cause=A.cause||void 0,this.column=s?s.column:void 0,this.fatal=void 0,this.file,this.message=o,this.line=s?s.line:void 0,this.name=Zt(A.place)||"1:1",this.place=A.place||void 0,this.reason=this.message,this.ruleId=A.ruleId||void 0,this.source=A.source||void 0,this.stack=a&&A.cause&&typeof A.cause.stack=="string"?A.cause.stack:"",this.actual,this.expected,this.note,this.url}}Ne.prototype.file="",Ne.prototype.name="",Ne.prototype.reason="",Ne.prototype.message="",Ne.prototype.stack="",Ne.prototype.column=void 0,Ne.prototype.line=void 0,Ne.prototype.ancestors=void 0,Ne.prototype.cause=void 0,Ne.prototype.fatal=void 0,Ne.prototype.place=void 0,Ne.prototype.ruleId=void 0,Ne.prototype.source=void 0;const cr={}.hasOwnProperty,da=new Map,fa=/[A-Z]/g,pa=/-([a-z])/g,ga=new Set(["table","tbody","thead","tfoot","tr"]),ha=new Set(["td","th"]),$o="https://github.com/syntax-tree/hast-util-to-jsx-runtime";function ma(e,t){if(!t||t.Fragment===void 0)throw new TypeError("Expected `Fragment` in options");const r=t.filePath||void 0;let n;if(t.development){if(typeof t.jsxDEV!="function")throw new TypeError("Expected `jsxDEV` in options when `development: true`");n=function(a,s){return i;function i(l,c,d,u){const p=Array.isArray(d.children),g=ar(l);return s(c,d,u,p,{columnNumber:g?g.column-1:void 0,fileName:a,lineNumber:g?g.line:void 0},void 0)}}(r,t.jsxDEV)}else{if(typeof t.jsx!="function")throw new TypeError("Expected `jsx` in production options");if(typeof t.jsxs!="function")throw new TypeError("Expected `jsxs` in production options");n=function(a,s,i){return l;function l(c,d,u,p){const g=Array.isArray(u.children)?i:s;return p?g(d,u,p):g(d,u)}}(0,t.jsx,t.jsxs)}const o={Fragment:t.Fragment,ancestors:[],components:t.components||{},create:n,elementAttributeNameCase:t.elementAttributeNameCase||"react",evaluater:t.createEvaluater?t.createEvaluater():void 0,filePath:r,ignoreInvalidStyle:t.ignoreInvalidStyle||!1,passKeys:t.passKeys!==!1,passNode:t.passNode||!1,schema:t.space==="svg"?ir:la,stylePropertyNameCase:t.stylePropertyNameCase||"dom",tableCellAlignToStyle:t.tableCellAlignToStyle!==!1},A=eA(o,e,void 0);return A&&typeof A!="string"?A:o.create(e,o.Fragment,{children:A||void 0},void 0)}function eA(e,t,r){return t.type==="element"?function(n,o,A){const a=n.schema;let s=a;o.tagName.toLowerCase()==="svg"&&a.space==="html"&&(s=ir,n.schema=s),n.ancestors.push(o);const i=nA(n,o.tagName,!1),l=function(d,u){const p={};let g,v;for(v in u.properties)if(v!=="children"&&cr.call(u.properties,v)){const h=ya(d,v,u.properties[v]);if(h){const[w,E]=h;d.tableCellAlignToStyle&&w==="align"&&typeof E=="string"&&ha.has(u.tagName)?g=E:p[w]=E}}return g&&((p.style||(p.style={}))[d.stylePropertyNameCase==="css"?"text-align":"textAlign"]=g),p}(n,o);let c=dr(n,o);return ga.has(o.tagName)&&(c=c.filter(function(d){return typeof d!="string"||!function(u){return typeof u=="object"?u.type==="text"&&Oo(u.value):Oo(u)}(d)})),tA(n,l,i,o),ur(l,c),n.ancestors.pop(),n.schema=a,n.create(o,i,l,A)}(e,t,r):t.type==="mdxFlowExpression"||t.type==="mdxTextExpression"?function(n,o){if(o.data&&o.data.estree&&n.evaluater){const A=o.data.estree.body[0];return A.type,n.evaluater.evaluateExpression(A.expression)}$t(n,o.position)}(e,t):t.type==="mdxJsxFlowElement"||t.type==="mdxJsxTextElement"?function(n,o,A){const a=n.schema;let s=a;o.name==="svg"&&a.space==="html"&&(s=ir,n.schema=s),n.ancestors.push(o);const i=o.name===null?n.Fragment:nA(n,o.name,!0),l=function(d,u){const p={};for(const g of u.attributes)if(g.type==="mdxJsxExpressionAttribute")if(g.data&&g.data.estree&&d.evaluater){const v=g.data.estree.body[0];v.type;const h=v.expression;h.type;const w=h.properties[0];w.type,Object.assign(p,d.evaluater.evaluateExpression(w.argument))}else $t(d,u.position);else{const v=g.name;let h;if(g.value&&typeof g.value=="object")if(g.value.data&&g.value.data.estree&&d.evaluater){const w=g.value.data.estree.body[0];w.type,h=d.evaluater.evaluateExpression(w.expression)}else $t(d,u.position);else h=g.value===null||g.value;p[v]=h}return p}(n,o),c=dr(n,o);return tA(n,l,i,o),ur(l,c),n.ancestors.pop(),n.schema=a,n.create(o,i,l,A)}(e,t,r):t.type==="mdxjsEsm"?function(n,o){if(o.data&&o.data.estree&&n.evaluater)return n.evaluater.evaluateProgram(o.data.estree);$t(n,o.position)}(e,t):t.type==="root"?function(n,o,A){const a={};return ur(a,dr(n,o)),n.create(o,n.Fragment,a,A)}(e,t,r):t.type==="text"?function(n,o){return o.value}(0,t):void 0}function tA(e,t,r,n){typeof r!="string"&&r!==e.Fragment&&e.passNode&&(t.node=n)}function ur(e,t){if(t.length>0){const r=t.length>1?t:t[0];r&&(e.children=r)}}function dr(e,t){const r=[];let n=-1;const o=e.passKeys?new Map:da;for(;++n<t.children.length;){const A=t.children[n];let a;if(e.passKeys){const i=A.type==="element"?A.tagName:A.type==="mdxJsxFlowElement"||A.type==="mdxJsxTextElement"?A.name:void 0;if(i){const l=o.get(i)||0;a=i+"-"+l,o.set(i,l+1)}}const s=eA(e,A,a);s!==void 0&&r.push(s)}return r}function ya(e,t,r){const n=function(o,A){const a=nr(A);let s=A,i=Ve;if(a in o.normal)return o.property[o.normal[a]];if(a.length>4&&a.slice(0,4)==="data"&&oa.test(A)){if(A.charAt(4)==="-"){const l=A.slice(5).replace(qo,sa);s="data"+l.charAt(0).toUpperCase()+l.slice(1)}else{const l=A.slice(4);if(!qo.test(l)){let c=l.replace(Aa,ia);c.charAt(0)!=="-"&&(c="-"+c),A="data"+c}}i=Ar}return new i(s,A)}(e.schema,t);if(!(r==null||typeof r=="number"&&Number.isNaN(r))){if(Array.isArray(r)&&(r=n.commaSeparated?function(o){const A={};return(o[o.length-1]===""?[...o,""]:o).join((A.padRight?" ":"")+","+(A.padLeft===!1?"":" ")).trim()}(r):function(o){return o.join(" ").trim()}(r)),n.property==="style"){let o=typeof r=="object"?r:function(A,a){const s={};try{ua(a,i)}catch(l){if(!A.ignoreInvalidStyle){const c=l,d=new Ne("Cannot parse `style` attribute",{ancestors:A.ancestors,cause:c,ruleId:"style",source:"hast-util-to-jsx-runtime"});throw d.file=A.filePath||void 0,d.url=$o+"#cannot-parse-style-attribute",d}}return s;function i(l,c){let d=l;d.slice(0,2)!=="--"&&(d.slice(0,4)==="-ms-"&&(d="ms-"+d.slice(4)),d=d.replace(pa,wa)),s[d]=c}}(e,String(r));return e.stylePropertyNameCase==="css"&&(o=function(A){const a={};let s;for(s in A)cr.call(A,s)&&(a[va(s)]=A[s]);return a}(o)),["style",o]}return[e.elementAttributeNameCase==="react"&&n.space?aa[n.property]||n.property:n.attribute,r]}}function nA(e,t,r){let n;if(r)if(t.includes(".")){const o=t.split(".");let A,a=-1;for(;++a<o.length;){const s=Mo(o[a])?{type:"Identifier",name:o[a]}:{type:"Literal",value:o[a]};A=A?{type:"MemberExpression",object:A,property:s,computed:!(!a||s.type!=="Literal"),optional:!1}:s}n=A}else n=Mo(t)&&!/^[a-z]/.test(t)?{type:"Identifier",name:t}:{type:"Literal",value:t};else n={type:"Literal",value:t};if(n.type==="Literal"){const o=n.value;return cr.call(e.components,o)?e.components[o]:o}if(e.evaluater)return e.evaluater.evaluateExpression(n);$t(e)}function $t(e,t){const r=new Ne("Cannot handle MDX estrees without `createEvaluater`",{ancestors:e.ancestors,place:t,ruleId:"mdx-estree",source:"hast-util-to-jsx-runtime"});throw r.file=e.filePath||void 0,r.url=$o+"#cannot-handle-mdx-estrees-without-createevaluater",r}function va(e){let t=e.replace(fa,ba);return t.slice(0,3)==="ms-"&&(t="-"+t),t}function wa(e,t){return t.toUpperCase()}function ba(e){return"-"+e.toLowerCase()}const fr={action:["form"],cite:["blockquote","del","ins","q"],data:["object"],formAction:["button","input"],href:["a","area","base","link"],icon:["menuitem"],itemId:null,manifest:["html"],ping:["a","area"],poster:["video"],src:["audio","embed","iframe","img","input","script","source","track","video"]},Cn={};function rA(e,t,r){if(function(n){return!(!n||typeof n!="object")}(e)){if("value"in e)return e.type!=="html"||r?e.value:"";if(t&&"alt"in e&&e.alt)return e.alt;if("children"in e)return oA(e.children,t,r)}return Array.isArray(e)?oA(e,t,r):""}function oA(e,t,r){const n=[];let o=-1;for(;++o<e.length;)n[o]=rA(e[o],t,r);return n.join("")}const AA=document.createElement("i");function pr(e){const t="&"+e+";";AA.innerHTML=t;const r=AA.textContent;return(r.charCodeAt(r.length-1)!==59||e==="semi")&&r!==t&&r}function rt(e,t,r,n){const o=e.length;let A,a=0;if(t=t<0?-t>o?0:o+t:t>o?o:t,r=r>0?r:0,n.length<1e4)A=Array.from(n),A.unshift(t,r),e.splice(...A);else for(r&&e.splice(t,r);a<n.length;)A=n.slice(a,a+1e4),A.unshift(t,0),e.splice(...A),a+=1e4,t+=1e4}function Xe(e,t){return e.length>0?(rt(e,e.length,0,t),e):t}const iA={}.hasOwnProperty;function Ea(e){const t={};let r=-1;for(;++r<e.length;)Ca(t,e[r]);return t}function Ca(e,t){let r;for(r in t){const n=(iA.call(e,r)?e[r]:void 0)||(e[r]={}),o=t[r];let A;if(o)for(A in o){iA.call(n,A)||(n[A]=[]);const a=o[A];Pa(n[A],Array.isArray(a)?a:a?[a]:[])}}}function Pa(e,t){let r=-1;const n=[];for(;++r<t.length;)(t[r].add==="after"?e:n).push(t[r]);rt(e,0,0,n)}function sA(e,t){const r=Number.parseInt(e,t);return r<9||r===11||r>13&&r<32||r>126&&r<160||r>55295&&r<57344||r>64975&&r<65008||!(65535&~r)||(65535&r)==65534||r>1114111?"�":String.fromCodePoint(r)}function Nt(e){return e.replace(/[\t\n\r ]+/g," ").replace(/^ | $/g,"").toLowerCase().toUpperCase()}const ot=mt(/[A-Za-z]/),We=mt(/[\dA-Za-z]/),Sa=mt(/[#-'*+\--9=?A-Z^-~]/);function gr(e){return e!==null&&(e<32||e===127)}const hr=mt(/\d/),ka=mt(/[\dA-Fa-f]/),Da=mt(/[!-/:-@[-`{-~]/);function $(e){return e!==null&&e<-2}function Re(e){return e!==null&&(e<0||e===32)}function se(e){return e===-2||e===-1||e===32}const Ba=mt(new RegExp("\\p{P}|\\p{S}","u")),xa=mt(/\s/);function mt(e){return function(t){return t!==null&&t>-1&&e.test(String.fromCharCode(t))}}function Lt(e){const t=[];let r=-1,n=0,o=0;for(;++r<e.length;){const A=e.charCodeAt(r);let a="";if(A===37&&We(e.charCodeAt(r+1))&&We(e.charCodeAt(r+2)))o=2;else if(A<128)/[!#$&-;=?-Z_a-z~]/.test(String.fromCharCode(A))||(a=String.fromCharCode(A));else if(A>55295&&A<57344){const s=e.charCodeAt(r+1);A<56320&&s>56319&&s<57344?(a=String.fromCharCode(A,s),o=1):a="�"}else a=String.fromCharCode(A);a&&(t.push(e.slice(n,r),encodeURIComponent(a)),n=r+o+1,a=""),o&&(r+=o,o=0)}return t.join("")+e.slice(n)}function ge(e,t,r,n){const o=n?n-1:Number.POSITIVE_INFINITY;let A=0;return function(s){return se(s)?(e.enter(r),a(s)):t(s)};function a(s){return se(s)&&A++<o?(e.consume(s),a):(e.exit(r),t(s))}}const Ia={tokenize:function(e){const t=e.attempt(this.parser.constructs.contentInitial,function(A){return A===null?void e.consume(A):(e.enter("lineEnding"),e.consume(A),e.exit("lineEnding"),ge(e,t,"linePrefix"))},function(A){return e.enter("paragraph"),n(A)});let r;return t;function n(A){const a=e.enter("chunkText",{contentType:"text",previous:r});return r&&(r.next=a),r=a,o(A)}function o(A){return A===null?(e.exit("chunkText"),e.exit("paragraph"),void e.consume(A)):$(A)?(e.consume(A),e.exit("chunkText"),n):(e.consume(A),o)}}},Ta={tokenize:function(e){const t=this,r=[];let n,o,A,a=0;return s;function s(m){if(a<r.length){const C=r[a];return t.containerState=C[1],e.attempt(C[0].continuation,i,l)(m)}return l(m)}function i(m){if(a++,t.containerState._closeFlow){t.containerState._closeFlow=void 0,n&&E();const C=t.events.length;let k,S=C;for(;S--;)if(t.events[S][0]==="exit"&&t.events[S][1].type==="chunkFlow"){k=t.events[S][1].end;break}w(a);let D=C;for(;D<t.events.length;)t.events[D][1].end={...k},D++;return rt(t.events,S+1,0,t.events.slice(C)),t.events.length=D,l(m)}return s(m)}function l(m){if(a===r.length){if(!n)return u(m);if(n.currentConstruct&&n.currentConstruct.concrete)return g(m);t.interrupt=!(!n.currentConstruct||n._gfmTableDynamicInterruptHack)}return t.containerState={},e.check(aA,c,d)(m)}function c(m){return n&&E(),w(a),u(m)}function d(m){return t.parser.lazy[t.now().line]=a!==r.length,A=t.now().offset,g(m)}function u(m){return t.containerState={},e.attempt(aA,p,g)(m)}function p(m){return a++,r.push([t.currentConstruct,t.containerState]),u(m)}function g(m){return m===null?(n&&E(),w(0),void e.consume(m)):(n=n||t.parser.flow(t.now()),e.enter("chunkFlow",{_tokenizer:n,contentType:"flow",previous:o}),v(m))}function v(m){return m===null?(h(e.exit("chunkFlow"),!0),w(0),void e.consume(m)):$(m)?(e.consume(m),h(e.exit("chunkFlow")),a=0,t.interrupt=void 0,s):(e.consume(m),v)}function h(m,C){const k=t.sliceStream(m);if(C&&k.push(null),m.previous=o,o&&(o.next=m),o=m,n.defineSkip(m.start),n.write(k),t.parser.lazy[m.start.line]){let S=n.events.length;for(;S--;)if(n.events[S][1].start.offset<A&&(!n.events[S][1].end||n.events[S][1].end.offset>A))return;const D=t.events.length;let I,Q,x=D;for(;x--;)if(t.events[x][0]==="exit"&&t.events[x][1].type==="chunkFlow"){if(I){Q=t.events[x][1].end;break}I=!0}for(w(a),S=D;S<t.events.length;)t.events[S][1].end={...Q},S++;rt(t.events,x+1,0,t.events.slice(D)),t.events.length=S}}function w(m){let C=r.length;for(;C-- >m;){const k=r[C];t.containerState=k[1],k[0].exit.call(t,e)}r.length=m}function E(){n.write([null]),o=void 0,n=void 0,t.containerState._closeFlow=void 0}}},aA={tokenize:function(e,t,r){return ge(e,e.attempt(this.parser.constructs.document,t,r),"linePrefix",this.parser.constructs.disable.null.includes("codeIndented")?void 0:4)}};function lA(e){return e===null||Re(e)||xa(e)?1:Ba(e)?2:void 0}function mr(e,t,r){const n=[];let o=-1;for(;++o<e.length;){const A=e[o].resolveAll;A&&!n.includes(A)&&(t=A(t,r),n.push(A))}return t}const yr={name:"attention",resolveAll:function(e,t){let r,n,o,A,a,s,i,l,c=-1;for(;++c<e.length;)if(e[c][0]==="enter"&&e[c][1].type==="attentionSequence"&&e[c][1]._close){for(r=c;r--;)if(e[r][0]==="exit"&&e[r][1].type==="attentionSequence"&&e[r][1]._open&&t.sliceSerialize(e[r][1]).charCodeAt(0)===t.sliceSerialize(e[c][1]).charCodeAt(0)){if((e[r][1]._close||e[c][1]._open)&&(e[c][1].end.offset-e[c][1].start.offset)%3&&!((e[r][1].end.offset-e[r][1].start.offset+e[c][1].end.offset-e[c][1].start.offset)%3))continue;s=e[r][1].end.offset-e[r][1].start.offset>1&&e[c][1].end.offset-e[c][1].start.offset>1?2:1;const d={...e[r][1].end},u={...e[c][1].start};cA(d,-s),cA(u,s),A={type:s>1?"strongSequence":"emphasisSequence",start:d,end:{...e[r][1].end}},a={type:s>1?"strongSequence":"emphasisSequence",start:{...e[c][1].start},end:u},o={type:s>1?"strongText":"emphasisText",start:{...e[r][1].end},end:{...e[c][1].start}},n={type:s>1?"strong":"emphasis",start:{...A.start},end:{...a.end}},e[r][1].end={...A.start},e[c][1].start={...a.end},i=[],e[r][1].end.offset-e[r][1].start.offset&&(i=Xe(i,[["enter",e[r][1],t],["exit",e[r][1],t]])),i=Xe(i,[["enter",n,t],["enter",A,t],["exit",A,t],["enter",o,t]]),i=Xe(i,mr(t.parser.constructs.insideSpan.null,e.slice(r+1,c),t)),i=Xe(i,[["exit",o,t],["enter",a,t],["exit",a,t],["exit",n,t]]),e[c][1].end.offset-e[c][1].start.offset?(l=2,i=Xe(i,[["enter",e[c][1],t],["exit",e[c][1],t]])):l=0,rt(e,r-1,c-r+3,i),c=r+i.length-l-2;break}}for(c=-1;++c<e.length;)e[c][1].type==="attentionSequence"&&(e[c][1].type="data");return e},tokenize:function(e,t){const r=this.parser.constructs.attentionMarkers.null,n=this.previous,o=lA(n);let A;return function(s){return A=s,e.enter("attentionSequence"),a(s)};function a(s){if(s===A)return e.consume(s),a;const i=e.exit("attentionSequence"),l=lA(s),c=!l||l===2&&o||r.includes(s),d=!o||o===2&&l||r.includes(n);return i._open=!!(A===42?c:c&&(o||!d)),i._close=!!(A===42?d:d&&(l||!c)),t(s)}}};function cA(e,t){e.column+=t,e.offset+=t,e._bufferIndex+=t}const Qa={name:"autolink",tokenize:function(e,t,r){let n=0;return function(u){return e.enter("autolink"),e.enter("autolinkMarker"),e.consume(u),e.exit("autolinkMarker"),e.enter("autolinkProtocol"),o};function o(u){return ot(u)?(e.consume(u),A):u===64?r(u):i(u)}function A(u){return u===43||u===45||u===46||We(u)?(n=1,a(u)):i(u)}function a(u){return u===58?(e.consume(u),n=0,s):(u===43||u===45||u===46||We(u))&&n++<32?(e.consume(u),a):(n=0,i(u))}function s(u){return u===62?(e.exit("autolinkProtocol"),e.enter("autolinkMarker"),e.consume(u),e.exit("autolinkMarker"),e.exit("autolink"),t):u===null||u===32||u===60||gr(u)?r(u):(e.consume(u),s)}function i(u){return u===64?(e.consume(u),l):Sa(u)?(e.consume(u),i):r(u)}function l(u){return We(u)?c(u):r(u)}function c(u){return u===46?(e.consume(u),n=0,l):u===62?(e.exit("autolinkProtocol").type="autolinkEmail",e.enter("autolinkMarker"),e.consume(u),e.exit("autolinkMarker"),e.exit("autolink"),t):d(u)}function d(u){if((u===45||We(u))&&n++<63){const p=u===45?d:c;return e.consume(u),p}return r(u)}}},Pn={partial:!0,tokenize:function(e,t,r){return function(o){return se(o)?ge(e,n,"linePrefix")(o):n(o)};function n(o){return o===null||$(o)?t(o):r(o)}}},uA={continuation:{tokenize:function(e,t,r){const n=this;return function(A){return se(A)?ge(e,o,"linePrefix",n.parser.constructs.disable.null.includes("codeIndented")?void 0:4)(A):o(A)};function o(A){return e.attempt(uA,t,r)(A)}}},exit:function(e){e.exit("blockQuote")},name:"blockQuote",tokenize:function(e,t,r){const n=this;return function(A){if(A===62){const a=n.containerState;return a.open||(e.enter("blockQuote",{_container:!0}),a.open=!0),e.enter("blockQuotePrefix"),e.enter("blockQuoteMarker"),e.consume(A),e.exit("blockQuoteMarker"),o}return r(A)};function o(A){return se(A)?(e.enter("blockQuotePrefixWhitespace"),e.consume(A),e.exit("blockQuotePrefixWhitespace"),e.exit("blockQuotePrefix"),t):(e.exit("blockQuotePrefix"),t(A))}}},dA={name:"characterEscape",tokenize:function(e,t,r){return function(o){return e.enter("characterEscape"),e.enter("escapeMarker"),e.consume(o),e.exit("escapeMarker"),n};function n(o){return Da(o)?(e.enter("characterEscapeValue"),e.consume(o),e.exit("characterEscapeValue"),e.exit("characterEscape"),t):r(o)}}},fA={name:"characterReference",tokenize:function(e,t,r){const n=this;let o,A,a=0;return function(c){return e.enter("characterReference"),e.enter("characterReferenceMarker"),e.consume(c),e.exit("characterReferenceMarker"),s};function s(c){return c===35?(e.enter("characterReferenceMarkerNumeric"),e.consume(c),e.exit("characterReferenceMarkerNumeric"),i):(e.enter("characterReferenceValue"),o=31,A=We,l(c))}function i(c){return c===88||c===120?(e.enter("characterReferenceMarkerHexadecimal"),e.consume(c),e.exit("characterReferenceMarkerHexadecimal"),e.enter("characterReferenceValue"),o=6,A=ka,l):(e.enter("characterReferenceValue"),o=7,A=hr,l(c))}function l(c){if(c===59&&a){const d=e.exit("characterReferenceValue");return A!==We||pr(n.sliceSerialize(d))?(e.enter("characterReferenceMarker"),e.consume(c),e.exit("characterReferenceMarker"),e.exit("characterReference"),t):r(c)}return A(c)&&a++<o?(e.consume(c),l):r(c)}}},pA={partial:!0,tokenize:function(e,t,r){const n=this;return function(A){return A===null?r(A):(e.enter("lineEnding"),e.consume(A),e.exit("lineEnding"),o)};function o(A){return n.parser.lazy[n.now().line]?r(A):t(A)}}},gA={concrete:!0,name:"codeFenced",tokenize:function(e,t,r){const n=this,o={partial:!0,tokenize:function(m,C,k){let S=0;return D;function D(B){return m.enter("lineEnding"),m.consume(B),m.exit("lineEnding"),I}function I(B){return m.enter("codeFencedFence"),se(B)?ge(m,Q,"linePrefix",n.parser.constructs.disable.null.includes("codeIndented")?void 0:4)(B):Q(B)}function Q(B){return B===A?(m.enter("codeFencedFenceSequence"),x(B)):k(B)}function x(B){return B===A?(S++,m.consume(B),x):S>=s?(m.exit("codeFencedFenceSequence"),se(B)?ge(m,N,"whitespace")(B):N(B)):k(B)}function N(B){return B===null||$(B)?(m.exit("codeFencedFence"),C(B)):k(B)}}};let A,a=0,s=0;return function(m){return function(C){const k=n.events[n.events.length-1];return a=k&&k[1].type==="linePrefix"?k[2].sliceSerialize(k[1],!0).length:0,A=C,e.enter("codeFenced"),e.enter("codeFencedFence"),e.enter("codeFencedFenceSequence"),i(C)}(m)};function i(m){return m===A?(s++,e.consume(m),i):s<3?r(m):(e.exit("codeFencedFenceSequence"),se(m)?ge(e,l,"whitespace")(m):l(m))}function l(m){return m===null||$(m)?(e.exit("codeFencedFence"),n.interrupt?t(m):e.check(pA,p,E)(m)):(e.enter("codeFencedFenceInfo"),e.enter("chunkString",{contentType:"string"}),c(m))}function c(m){return m===null||$(m)?(e.exit("chunkString"),e.exit("codeFencedFenceInfo"),l(m)):se(m)?(e.exit("chunkString"),e.exit("codeFencedFenceInfo"),ge(e,d,"whitespace")(m)):m===96&&m===A?r(m):(e.consume(m),c)}function d(m){return m===null||$(m)?l(m):(e.enter("codeFencedFenceMeta"),e.enter("chunkString",{contentType:"string"}),u(m))}function u(m){return m===null||$(m)?(e.exit("chunkString"),e.exit("codeFencedFenceMeta"),l(m)):m===96&&m===A?r(m):(e.consume(m),u)}function p(m){return e.attempt(o,E,g)(m)}function g(m){return e.enter("lineEnding"),e.consume(m),e.exit("lineEnding"),v}function v(m){return a>0&&se(m)?ge(e,h,"linePrefix",a+1)(m):h(m)}function h(m){return m===null||$(m)?e.check(pA,p,E)(m):(e.enter("codeFlowValue"),w(m))}function w(m){return m===null||$(m)?(e.exit("codeFlowValue"),h(m)):(e.consume(m),w)}function E(m){return e.exit("codeFenced"),t(m)}}},vr={name:"codeIndented",tokenize:function(e,t,r){const n=this;return function(i){return e.enter("codeIndented"),ge(e,o,"linePrefix",5)(i)};function o(i){const l=n.events[n.events.length-1];return l&&l[1].type==="linePrefix"&&l[2].sliceSerialize(l[1],!0).length>=4?A(i):r(i)}function A(i){return i===null?s(i):$(i)?e.attempt(Ma,A,s)(i):(e.enter("codeFlowValue"),a(i))}function a(i){return i===null||$(i)?(e.exit("codeFlowValue"),A(i)):(e.consume(i),a)}function s(i){return e.exit("codeIndented"),t(i)}}},Ma={partial:!0,tokenize:function(e,t,r){const n=this;return o;function o(a){return n.parser.lazy[n.now().line]?r(a):$(a)?(e.enter("lineEnding"),e.consume(a),e.exit("lineEnding"),o):ge(e,A,"linePrefix",5)(a)}function A(a){const s=n.events[n.events.length-1];return s&&s[1].type==="linePrefix"&&s[2].sliceSerialize(s[1],!0).length>=4?t(a):$(a)?o(a):r(a)}}},Oa={name:"codeText",previous:function(e){return e!==96||this.events[this.events.length-1][1].type==="characterEscape"},resolve:function(e){let t,r,n=e.length-4,o=3;if(!(e[o][1].type!=="lineEnding"&&e[o][1].type!=="space"||e[n][1].type!=="lineEnding"&&e[n][1].type!=="space")){for(t=o;++t<n;)if(e[t][1].type==="codeTextData"){e[o][1].type="codeTextPadding",e[n][1].type="codeTextPadding",o+=2,n-=2;break}}for(t=o-1,n++;++t<=n;)r===void 0?t!==n&&e[t][1].type!=="lineEnding"&&(r=t):(t===n||e[t][1].type==="lineEnding")&&(e[r][1].type="codeTextData",t!==r+2&&(e[r][1].end=e[t-1][1].end,e.splice(r+2,t-r-2),n-=t-r-2,t=r+2),r=void 0);return e},tokenize:function(e,t,r){let n,o,A=0;return function(c){return e.enter("codeText"),e.enter("codeTextSequence"),a(c)};function a(c){return c===96?(e.consume(c),A++,a):(e.exit("codeTextSequence"),s(c))}function s(c){return c===null?r(c):c===32?(e.enter("space"),e.consume(c),e.exit("space"),s):c===96?(o=e.enter("codeTextSequence"),n=0,l(c)):$(c)?(e.enter("lineEnding"),e.consume(c),e.exit("lineEnding"),s):(e.enter("codeTextData"),i(c))}function i(c){return c===null||c===32||c===96||$(c)?(e.exit("codeTextData"),s(c)):(e.consume(c),i)}function l(c){return c===96?(e.consume(c),n++,l):n===A?(e.exit("codeTextSequence"),e.exit("codeText"),t(c)):(o.type="codeTextData",i(c))}}};class _a{constructor(t){this.left=t?[...t]:[],this.right=[]}get(t){if(t<0||t>=this.left.length+this.right.length)throw new RangeError("Cannot access index `"+t+"` in a splice buffer of size `"+(this.left.length+this.right.length)+"`");return t<this.left.length?this.left[t]:this.right[this.right.length-t+this.left.length-1]}get length(){return this.left.length+this.right.length}shift(){return this.setCursor(0),this.right.pop()}slice(t,r){const n=r??Number.POSITIVE_INFINITY;return n<this.left.length?this.left.slice(t,n):t>this.left.length?this.right.slice(this.right.length-n+this.left.length,this.right.length-t+this.left.length).reverse():this.left.slice(t).concat(this.right.slice(this.right.length-n+this.left.length).reverse())}splice(t,r,n){const o=r||0;this.setCursor(Math.trunc(t));const A=this.right.splice(this.right.length-o,Number.POSITIVE_INFINITY);return n&&en(this.left,n),A.reverse()}pop(){return this.setCursor(Number.POSITIVE_INFINITY),this.left.pop()}push(t){this.setCursor(Number.POSITIVE_INFINITY),this.left.push(t)}pushMany(t){this.setCursor(Number.POSITIVE_INFINITY),en(this.left,t)}unshift(t){this.setCursor(0),this.right.push(t)}unshiftMany(t){this.setCursor(0),en(this.right,t.reverse())}setCursor(t){if(!(t===this.left.length||t>this.left.length&&this.right.length===0||t<0&&this.left.length===0))if(t<this.left.length){const r=this.left.splice(t,Number.POSITIVE_INFINITY);en(this.right,r.reverse())}else{const r=this.right.splice(this.left.length+this.right.length-t,Number.POSITIVE_INFINITY);en(this.left,r.reverse())}}}function en(e,t){let r=0;if(t.length<1e4)e.push(...t);else for(;r<t.length;)e.push(...t.slice(r,r+1e4)),r+=1e4}function hA(e){const t={};let r,n,o,A,a,s,i,l=-1;const c=new _a(e);for(;++l<c.length;){for(;l in t;)l=t[l];if(r=c.get(l),l&&r[1].type==="chunkFlow"&&c.get(l-1)[1].type==="listItemPrefix"&&(s=r[1]._tokenizer.events,o=0,o<s.length&&s[o][1].type==="lineEndingBlank"&&(o+=2),o<s.length&&s[o][1].type==="content"))for(;++o<s.length&&s[o][1].type!=="content";)s[o][1].type==="chunkText"&&(s[o][1]._isInFirstContentOfListItem=!0,o++);if(r[0]==="enter")r[1].contentType&&(Object.assign(t,Na(c,l)),l=t[l],i=!0);else if(r[1]._container){for(o=l,n=void 0;o--;)if(A=c.get(o),A[1].type==="lineEnding"||A[1].type==="lineEndingBlank")A[0]==="enter"&&(n&&(c.get(n)[1].type="lineEndingBlank"),A[1].type="lineEnding",n=o);else if(A[1].type!=="linePrefix")break;n&&(r[1].end={...c.get(n)[1].start},a=c.slice(n,l),a.unshift(r),c.splice(n,l-n+1,a))}}return rt(e,0,Number.POSITIVE_INFINITY,c.slice(0)),!i}function Na(e,t){const r=e.get(t)[1],n=e.get(t)[2];let o=t-1;const A=[],a=r._tokenizer||n.parser[r.contentType](r.start),s=a.events,i=[],l={};let c,d,u=-1,p=r,g=0,v=0;const h=[v];for(;p;){for(;e.get(++o)[1]!==p;);A.push(o),p._tokenizer||(c=n.sliceStream(p),p.next||c.push(null),d&&a.defineSkip(p.start),p._isInFirstContentOfListItem&&(a._gfmTasklistFirstContentOfListItem=!0),a.write(c),p._isInFirstContentOfListItem&&(a._gfmTasklistFirstContentOfListItem=void 0)),d=p,p=p.next}for(p=r;++u<s.length;)s[u][0]==="exit"&&s[u-1][0]==="enter"&&s[u][1].type===s[u-1][1].type&&s[u][1].start.line!==s[u][1].end.line&&(v=u+1,h.push(v),p._tokenizer=void 0,p.previous=void 0,p=p.next);for(a.events=[],p?(p._tokenizer=void 0,p.previous=void 0):h.pop(),u=h.length;u--;){const w=s.slice(h[u],h[u+1]),E=A.pop();i.push([E,E+w.length-1]),e.splice(E,2,w)}for(i.reverse(),u=-1;++u<i.length;)l[g+i[u][0]]=g+i[u][1],g+=i[u][1]-i[u][0]-1;return l}const La={resolve:function(e){return hA(e),e},tokenize:function(e,t){let r;return function(a){return e.enter("content"),r=e.enter("chunkContent",{contentType:"content"}),n(a)};function n(a){return a===null?o(a):$(a)?e.check(Ha,A,o)(a):(e.consume(a),n)}function o(a){return e.exit("chunkContent"),e.exit("content"),t(a)}function A(a){return e.consume(a),e.exit("chunkContent"),r.next=e.enter("chunkContent",{contentType:"content",previous:r}),r=r.next,n}}},Ha={partial:!0,tokenize:function(e,t,r){const n=this;return function(A){return e.exit("chunkContent"),e.enter("lineEnding"),e.consume(A),e.exit("lineEnding"),ge(e,o,"linePrefix")};function o(A){if(A===null||$(A))return r(A);const a=n.events[n.events.length-1];return!n.parser.constructs.disable.null.includes("codeIndented")&&a&&a[1].type==="linePrefix"&&a[2].sliceSerialize(a[1],!0).length>=4?t(A):e.interrupt(n.parser.constructs.flow,r,t)(A)}}};function mA(e,t,r,n,o,A,a,s,i){const l=i||Number.POSITIVE_INFINITY;let c=0;return function(h){return h===60?(e.enter(n),e.enter(o),e.enter(A),e.consume(h),e.exit(A),d):h===null||h===32||h===41||gr(h)?r(h):(e.enter(n),e.enter(a),e.enter(s),e.enter("chunkString",{contentType:"string"}),g(h))};function d(h){return h===62?(e.enter(A),e.consume(h),e.exit(A),e.exit(o),e.exit(n),t):(e.enter(s),e.enter("chunkString",{contentType:"string"}),u(h))}function u(h){return h===62?(e.exit("chunkString"),e.exit(s),d(h)):h===null||h===60||$(h)?r(h):(e.consume(h),h===92?p:u)}function p(h){return h===60||h===62||h===92?(e.consume(h),u):u(h)}function g(h){return c||h!==null&&h!==41&&!Re(h)?c<l&&h===40?(e.consume(h),c++,g):h===41?(e.consume(h),c--,g):h===null||h===32||h===40||gr(h)?r(h):(e.consume(h),h===92?v:g):(e.exit("chunkString"),e.exit(s),e.exit(a),e.exit(n),t(h))}function v(h){return h===40||h===41||h===92?(e.consume(h),g):g(h)}}function yA(e,t,r,n,o,A){const a=this;let s,i=0;return function(u){return e.enter(n),e.enter(o),e.consume(u),e.exit(o),e.enter(A),l};function l(u){return i>999||u===null||u===91||u===93&&!s||u===94&&!i&&"_hiddenFootnoteSupport"in a.parser.constructs?r(u):u===93?(e.exit(A),e.enter(o),e.consume(u),e.exit(o),e.exit(n),t):$(u)?(e.enter("lineEnding"),e.consume(u),e.exit("lineEnding"),l):(e.enter("chunkString",{contentType:"string"}),c(u))}function c(u){return u===null||u===91||u===93||$(u)||i++>999?(e.exit("chunkString"),l(u)):(e.consume(u),s||(s=!se(u)),u===92?d:c)}function d(u){return u===91||u===92||u===93?(e.consume(u),i++,c):c(u)}}function vA(e,t,r,n,o,A){let a;return function(d){return d===34||d===39||d===40?(e.enter(n),e.enter(o),e.consume(d),e.exit(o),a=d===40?41:d,s):r(d)};function s(d){return d===a?(e.enter(o),e.consume(d),e.exit(o),e.exit(n),t):(e.enter(A),i(d))}function i(d){return d===a?(e.exit(A),s(a)):d===null?r(d):$(d)?(e.enter("lineEnding"),e.consume(d),e.exit("lineEnding"),ge(e,i,"linePrefix")):(e.enter("chunkString",{contentType:"string"}),l(d))}function l(d){return d===a||d===null||$(d)?(e.exit("chunkString"),i(d)):(e.consume(d),d===92?c:l)}function c(d){return d===a||d===92?(e.consume(d),l):l(d)}}function tn(e,t){let r;return function n(o){return $(o)?(e.enter("lineEnding"),e.consume(o),e.exit("lineEnding"),r=!0,n):se(o)?ge(e,n,r?"linePrefix":"lineSuffix")(o):t(o)}}const Ua={name:"definition",tokenize:function(e,t,r){const n=this;let o;return function(d){return e.enter("definition"),function(u){return yA.call(n,e,A,r,"definitionLabel","definitionLabelMarker","definitionLabelString")(u)}(d)};function A(d){return o=Nt(n.sliceSerialize(n.events[n.events.length-1][1]).slice(1,-1)),d===58?(e.enter("definitionMarker"),e.consume(d),e.exit("definitionMarker"),a):r(d)}function a(d){return Re(d)?tn(e,s)(d):s(d)}function s(d){return mA(e,i,r,"definitionDestination","definitionDestinationLiteral","definitionDestinationLiteralMarker","definitionDestinationRaw","definitionDestinationString")(d)}function i(d){return e.attempt(Fa,l,l)(d)}function l(d){return se(d)?ge(e,c,"whitespace")(d):c(d)}function c(d){return d===null||$(d)?(e.exit("definition"),n.parser.defined.push(o),t(d)):r(d)}}},Fa={partial:!0,tokenize:function(e,t,r){return function(a){return Re(a)?tn(e,n)(a):r(a)};function n(a){return vA(e,o,r,"definitionTitle","definitionTitleMarker","definitionTitleString")(a)}function o(a){return se(a)?ge(e,A,"whitespace")(a):A(a)}function A(a){return a===null||$(a)?t(a):r(a)}}},Ra={name:"hardBreakEscape",tokenize:function(e,t,r){return function(o){return e.enter("hardBreakEscape"),e.consume(o),n};function n(o){return $(o)?(e.exit("hardBreakEscape"),t(o)):r(o)}}},za={name:"headingAtx",resolve:function(e,t){let r,n,o=e.length-2,A=3;return e[A][1].type==="whitespace"&&(A+=2),o-2>A&&e[o][1].type==="whitespace"&&(o-=2),e[o][1].type==="atxHeadingSequence"&&(A===o-1||o-4>A&&e[o-2][1].type==="whitespace")&&(o-=A+1===o?2:4),o>A&&(r={type:"atxHeadingText",start:e[A][1].start,end:e[o][1].end},n={type:"chunkText",start:e[A][1].start,end:e[o][1].end,contentType:"text"},rt(e,A,o-A+1,[["enter",r,t],["enter",n,t],["exit",n,t],["exit",r,t]])),e},tokenize:function(e,t,r){let n=0;return function(i){return e.enter("atxHeading"),function(l){return e.enter("atxHeadingSequence"),o(l)}(i)};function o(i){return i===35&&n++<6?(e.consume(i),o):i===null||Re(i)?(e.exit("atxHeadingSequence"),A(i)):r(i)}function A(i){return i===35?(e.enter("atxHeadingSequence"),a(i)):i===null||$(i)?(e.exit("atxHeading"),t(i)):se(i)?ge(e,A,"whitespace")(i):(e.enter("atxHeadingText"),s(i))}function a(i){return i===35?(e.consume(i),a):(e.exit("atxHeadingSequence"),A(i))}function s(i){return i===null||i===35||Re(i)?(e.exit("atxHeadingText"),A(i)):(e.consume(i),s)}}},ja=["address","article","aside","base","basefont","blockquote","body","caption","center","col","colgroup","dd","details","dialog","dir","div","dl","dt","fieldset","figcaption","figure","footer","form","frame","frameset","h1","h2","h3","h4","h5","h6","head","header","hr","html","iframe","legend","li","link","main","menu","menuitem","nav","noframes","ol","optgroup","option","p","param","search","section","summary","table","tbody","td","tfoot","th","thead","title","tr","track","ul"],wA=["pre","script","style","textarea"],qa={concrete:!0,name:"htmlFlow",resolveTo:function(e){let t=e.length;for(;t--&&(e[t][0]!=="enter"||e[t][1].type!=="htmlFlow"););return t>1&&e[t-2][1].type==="linePrefix"&&(e[t][1].start=e[t-2][1].start,e[t+1][1].start=e[t-2][1].start,e.splice(t-2,2)),e},tokenize:function(e,t,r){const n=this;let o,A,a,s,i;return function(b){return function(J){return e.enter("htmlFlow"),e.enter("htmlFlowData"),e.consume(J),l}(b)};function l(b){return b===33?(e.consume(b),c):b===47?(e.consume(b),A=!0,p):b===63?(e.consume(b),o=3,n.interrupt?t:L):ot(b)?(e.consume(b),a=String.fromCharCode(b),g):r(b)}function c(b){return b===45?(e.consume(b),o=2,d):b===91?(e.consume(b),o=5,s=0,u):ot(b)?(e.consume(b),o=4,n.interrupt?t:L):r(b)}function d(b){return b===45?(e.consume(b),n.interrupt?t:L):r(b)}function u(b){return b==="CDATA[".charCodeAt(s++)?(e.consume(b),s===6?n.interrupt?t:x:u):r(b)}function p(b){return ot(b)?(e.consume(b),a=String.fromCharCode(b),g):r(b)}function g(b){if(b===null||b===47||b===62||Re(b)){const J=b===47,j=a.toLowerCase();return J||A||!wA.includes(j)?ja.includes(a.toLowerCase())?(o=6,J?(e.consume(b),v):n.interrupt?t(b):x(b)):(o=7,n.interrupt&&!n.parser.lazy[n.now().line]?r(b):A?h(b):w(b)):(o=1,n.interrupt?t(b):x(b))}return b===45||We(b)?(e.consume(b),a+=String.fromCharCode(b),g):r(b)}function v(b){return b===62?(e.consume(b),n.interrupt?t:x):r(b)}function h(b){return se(b)?(e.consume(b),h):I(b)}function w(b){return b===47?(e.consume(b),I):b===58||b===95||ot(b)?(e.consume(b),E):se(b)?(e.consume(b),w):I(b)}function E(b){return b===45||b===46||b===58||b===95||We(b)?(e.consume(b),E):m(b)}function m(b){return b===61?(e.consume(b),C):se(b)?(e.consume(b),m):w(b)}function C(b){return b===null||b===60||b===61||b===62||b===96?r(b):b===34||b===39?(e.consume(b),i=b,k):se(b)?(e.consume(b),C):S(b)}function k(b){return b===i?(e.consume(b),i=null,D):b===null||$(b)?r(b):(e.consume(b),k)}function S(b){return b===null||b===34||b===39||b===47||b===60||b===61||b===62||b===96||Re(b)?m(b):(e.consume(b),S)}function D(b){return b===47||b===62||se(b)?w(b):r(b)}function I(b){return b===62?(e.consume(b),Q):r(b)}function Q(b){return b===null||$(b)?x(b):se(b)?(e.consume(b),Q):r(b)}function x(b){return b===45&&o===2?(e.consume(b),U):b===60&&o===1?(e.consume(b),_):b===62&&o===4?(e.consume(b),y):b===63&&o===3?(e.consume(b),L):b===93&&o===5?(e.consume(b),M):!$(b)||o!==6&&o!==7?b===null||$(b)?(e.exit("htmlFlowData"),N(b)):(e.consume(b),x):(e.exit("htmlFlowData"),e.check(Ga,Y,N)(b))}function N(b){return e.check(Wa,B,Y)(b)}function B(b){return e.enter("lineEnding"),e.consume(b),e.exit("lineEnding"),O}function O(b){return b===null||$(b)?N(b):(e.enter("htmlFlowData"),x(b))}function U(b){return b===45?(e.consume(b),L):x(b)}function _(b){return b===47?(e.consume(b),a="",F):x(b)}function F(b){if(b===62){const J=a.toLowerCase();return wA.includes(J)?(e.consume(b),y):x(b)}return ot(b)&&a.length<8?(e.consume(b),a+=String.fromCharCode(b),F):x(b)}function M(b){return b===93?(e.consume(b),L):x(b)}function L(b){return b===62?(e.consume(b),y):b===45&&o===2?(e.consume(b),L):x(b)}function y(b){return b===null||$(b)?(e.exit("htmlFlowData"),Y(b)):(e.consume(b),y)}function Y(b){return e.exit("htmlFlow"),t(b)}}},Ga={partial:!0,tokenize:function(e,t,r){return function(n){return e.enter("lineEnding"),e.consume(n),e.exit("lineEnding"),e.attempt(Pn,t,r)}}},Wa={partial:!0,tokenize:function(e,t,r){const n=this;return function(A){return $(A)?(e.enter("lineEnding"),e.consume(A),e.exit("lineEnding"),o):r(A)};function o(A){return n.parser.lazy[n.now().line]?r(A):t(A)}}},Ya={name:"htmlText",tokenize:function(e,t,r){const n=this;let o,A,a;return function(y){return e.enter("htmlText"),e.enter("htmlTextData"),e.consume(y),s};function s(y){return y===33?(e.consume(y),i):y===47?(e.consume(y),C):y===63?(e.consume(y),E):ot(y)?(e.consume(y),D):r(y)}function i(y){return y===45?(e.consume(y),l):y===91?(e.consume(y),A=0,p):ot(y)?(e.consume(y),w):r(y)}function l(y){return y===45?(e.consume(y),u):r(y)}function c(y){return y===null?r(y):y===45?(e.consume(y),d):$(y)?(a=c,F(y)):(e.consume(y),c)}function d(y){return y===45?(e.consume(y),u):c(y)}function u(y){return y===62?_(y):y===45?d(y):c(y)}function p(y){return y==="CDATA[".charCodeAt(A++)?(e.consume(y),A===6?g:p):r(y)}function g(y){return y===null?r(y):y===93?(e.consume(y),v):$(y)?(a=g,F(y)):(e.consume(y),g)}function v(y){return y===93?(e.consume(y),h):g(y)}function h(y){return y===62?_(y):y===93?(e.consume(y),h):g(y)}function w(y){return y===null||y===62?_(y):$(y)?(a=w,F(y)):(e.consume(y),w)}function E(y){return y===null?r(y):y===63?(e.consume(y),m):$(y)?(a=E,F(y)):(e.consume(y),E)}function m(y){return y===62?_(y):E(y)}function C(y){return ot(y)?(e.consume(y),k):r(y)}function k(y){return y===45||We(y)?(e.consume(y),k):S(y)}function S(y){return $(y)?(a=S,F(y)):se(y)?(e.consume(y),S):_(y)}function D(y){return y===45||We(y)?(e.consume(y),D):y===47||y===62||Re(y)?I(y):r(y)}function I(y){return y===47?(e.consume(y),_):y===58||y===95||ot(y)?(e.consume(y),Q):$(y)?(a=I,F(y)):se(y)?(e.consume(y),I):_(y)}function Q(y){return y===45||y===46||y===58||y===95||We(y)?(e.consume(y),Q):x(y)}function x(y){return y===61?(e.consume(y),N):$(y)?(a=x,F(y)):se(y)?(e.consume(y),x):I(y)}function N(y){return y===null||y===60||y===61||y===62||y===96?r(y):y===34||y===39?(e.consume(y),o=y,B):$(y)?(a=N,F(y)):se(y)?(e.consume(y),N):(e.consume(y),O)}function B(y){return y===o?(e.consume(y),o=void 0,U):y===null?r(y):$(y)?(a=B,F(y)):(e.consume(y),B)}function O(y){return y===null||y===34||y===39||y===60||y===61||y===96?r(y):y===47||y===62||Re(y)?I(y):(e.consume(y),O)}function U(y){return y===47||y===62||Re(y)?I(y):r(y)}function _(y){return y===62?(e.consume(y),e.exit("htmlTextData"),e.exit("htmlText"),t):r(y)}function F(y){return e.exit("htmlTextData"),e.enter("lineEnding"),e.consume(y),e.exit("lineEnding"),M}function M(y){return se(y)?ge(e,L,"linePrefix",n.parser.constructs.disable.null.includes("codeIndented")?void 0:4)(y):L(y)}function L(y){return e.enter("htmlTextData"),a(y)}}},wr={name:"labelEnd",resolveAll:function(e){let t=-1;const r=[];for(;++t<e.length;){const n=e[t][1];if(r.push(e[t]),n.type==="labelImage"||n.type==="labelLink"||n.type==="labelEnd"){const o=n.type==="labelImage"?4:2;n.type="data",t+=o}}return e.length!==r.length&&rt(e,0,e.length,r),e},resolveTo:function(e,t){let r,n,o,A,a=e.length,s=0;for(;a--;)if(r=e[a][1],n){if(r.type==="link"||r.type==="labelLink"&&r._inactive)break;e[a][0]==="enter"&&r.type==="labelLink"&&(r._inactive=!0)}else if(o){if(e[a][0]==="enter"&&(r.type==="labelImage"||r.type==="labelLink")&&!r._balanced&&(n=a,r.type!=="labelLink")){s=2;break}}else r.type==="labelEnd"&&(o=a);const i={type:e[n][1].type==="labelLink"?"link":"image",start:{...e[n][1].start},end:{...e[e.length-1][1].end}},l={type:"label",start:{...e[n][1].start},end:{...e[o][1].end}},c={type:"labelText",start:{...e[n+s+2][1].end},end:{...e[o-2][1].start}};return A=[["enter",i,t],["enter",l,t]],A=Xe(A,e.slice(n+1,n+s+3)),A=Xe(A,[["enter",c,t]]),A=Xe(A,mr(t.parser.constructs.insideSpan.null,e.slice(n+s+4,o-3),t)),A=Xe(A,[["exit",c,t],e[o-2],e[o-1],["exit",l,t]]),A=Xe(A,e.slice(o+1)),A=Xe(A,[["exit",i,t]]),rt(e,n,e.length,A),e},tokenize:function(e,t,r){const n=this;let o,A,a=n.events.length;for(;a--;)if((n.events[a][1].type==="labelImage"||n.events[a][1].type==="labelLink")&&!n.events[a][1]._balanced){o=n.events[a][1];break}return function(d){return o?o._inactive?c(d):(A=n.parser.defined.includes(Nt(n.sliceSerialize({start:o.end,end:n.now()}))),e.enter("labelEnd"),e.enter("labelMarker"),e.consume(d),e.exit("labelMarker"),e.exit("labelEnd"),s):r(d)};function s(d){return d===40?e.attempt(Ka,l,A?l:c)(d):d===91?e.attempt(Va,l,A?i:c)(d):A?l(d):c(d)}function i(d){return e.attempt(Xa,l,c)(d)}function l(d){return t(d)}function c(d){return o._balanced=!0,r(d)}}},Ka={tokenize:function(e,t,r){return function(c){return e.enter("resource"),e.enter("resourceMarker"),e.consume(c),e.exit("resourceMarker"),n};function n(c){return Re(c)?tn(e,o)(c):o(c)}function o(c){return c===41?l(c):mA(e,A,a,"resourceDestination","resourceDestinationLiteral","resourceDestinationLiteralMarker","resourceDestinationRaw","resourceDestinationString",32)(c)}function A(c){return Re(c)?tn(e,s)(c):l(c)}function a(c){return r(c)}function s(c){return c===34||c===39||c===40?vA(e,i,r,"resourceTitle","resourceTitleMarker","resourceTitleString")(c):l(c)}function i(c){return Re(c)?tn(e,l)(c):l(c)}function l(c){return c===41?(e.enter("resourceMarker"),e.consume(c),e.exit("resourceMarker"),e.exit("resource"),t):r(c)}}},Va={tokenize:function(e,t,r){const n=this;return function(a){return yA.call(n,e,o,A,"reference","referenceMarker","referenceString")(a)};function o(a){return n.parser.defined.includes(Nt(n.sliceSerialize(n.events[n.events.length-1][1]).slice(1,-1)))?t(a):r(a)}function A(a){return r(a)}}},Xa={tokenize:function(e,t,r){return function(o){return e.enter("reference"),e.enter("referenceMarker"),e.consume(o),e.exit("referenceMarker"),n};function n(o){return o===93?(e.enter("referenceMarker"),e.consume(o),e.exit("referenceMarker"),e.exit("reference"),t):r(o)}}},Ja={name:"labelStartImage",resolveAll:wr.resolveAll,tokenize:function(e,t,r){const n=this;return function(a){return e.enter("labelImage"),e.enter("labelImageMarker"),e.consume(a),e.exit("labelImageMarker"),o};function o(a){return a===91?(e.enter("labelMarker"),e.consume(a),e.exit("labelMarker"),e.exit("labelImage"),A):r(a)}function A(a){return a===94&&"_hiddenFootnoteSupport"in n.parser.constructs?r(a):t(a)}}},Za={name:"labelStartLink",resolveAll:wr.resolveAll,tokenize:function(e,t,r){const n=this;return function(A){return e.enter("labelLink"),e.enter("labelMarker"),e.consume(A),e.exit("labelMarker"),e.exit("labelLink"),o};function o(A){return A===94&&"_hiddenFootnoteSupport"in n.parser.constructs?r(A):t(A)}}},br={name:"lineEnding",tokenize:function(e,t){return function(r){return e.enter("lineEnding"),e.consume(r),e.exit("lineEnding"),ge(e,t,"linePrefix")}}},Sn={name:"thematicBreak",tokenize:function(e,t,r){let n,o=0;return function(s){return e.enter("thematicBreak"),function(i){return n=i,A(i)}(s)};function A(s){return s===n?(e.enter("thematicBreakSequence"),a(s)):o>=3&&(s===null||$(s))?(e.exit("thematicBreak"),t(s)):r(s)}function a(s){return s===n?(e.consume(s),o++,a):(e.exit("thematicBreakSequence"),se(s)?ge(e,A,"whitespace")(s):A(s))}}},ze={continuation:{tokenize:function(e,t,r){const n=this;return n.containerState._closeFlow=void 0,e.check(Pn,function(A){return n.containerState.furtherBlankLines=n.containerState.furtherBlankLines||n.containerState.initialBlankLine,ge(e,t,"listItemIndent",n.containerState.size+1)(A)},function(A){return n.containerState.furtherBlankLines||!se(A)?(n.containerState.furtherBlankLines=void 0,n.containerState.initialBlankLine=void 0,o(A)):(n.containerState.furtherBlankLines=void 0,n.containerState.initialBlankLine=void 0,e.attempt(el,t,o)(A))});function o(A){return n.containerState._closeFlow=!0,n.interrupt=void 0,ge(e,e.attempt(ze,t,r),"linePrefix",n.parser.constructs.disable.null.includes("codeIndented")?void 0:4)(A)}}},exit:function(e){e.exit(this.containerState.type)},name:"list",tokenize:function(e,t,r){const n=this,o=n.events[n.events.length-1];let A=o&&o[1].type==="linePrefix"?o[2].sliceSerialize(o[1],!0).length:0,a=0;return function(u){const p=n.containerState.type||(u===42||u===43||u===45?"listUnordered":"listOrdered");if(p==="listUnordered"?!n.containerState.marker||u===n.containerState.marker:hr(u)){if(n.containerState.type||(n.containerState.type=p,e.enter(p,{_container:!0})),p==="listUnordered")return e.enter("listItemPrefix"),u===42||u===45?e.check(Sn,r,i)(u):i(u);if(!n.interrupt||u===49)return e.enter("listItemPrefix"),e.enter("listItemValue"),s(u)}return r(u)};function s(u){return hr(u)&&++a<10?(e.consume(u),s):(!n.interrupt||a<2)&&(n.containerState.marker?u===n.containerState.marker:u===41||u===46)?(e.exit("listItemValue"),i(u)):r(u)}function i(u){return e.enter("listItemMarker"),e.consume(u),e.exit("listItemMarker"),n.containerState.marker=n.containerState.marker||u,e.check(Pn,n.interrupt?r:l,e.attempt($a,d,c))}function l(u){return n.containerState.initialBlankLine=!0,A++,d(u)}function c(u){return se(u)?(e.enter("listItemPrefixWhitespace"),e.consume(u),e.exit("listItemPrefixWhitespace"),d):r(u)}function d(u){return n.containerState.size=A+n.sliceSerialize(e.exit("listItemPrefix"),!0).length,t(u)}}},$a={partial:!0,tokenize:function(e,t,r){const n=this;return ge(e,function(o){const A=n.events[n.events.length-1];return!se(o)&&A&&A[1].type==="listItemPrefixWhitespace"?t(o):r(o)},"listItemPrefixWhitespace",n.parser.constructs.disable.null.includes("codeIndented")?void 0:5)}},el={partial:!0,tokenize:function(e,t,r){const n=this;return ge(e,function(o){const A=n.events[n.events.length-1];return A&&A[1].type==="listItemIndent"&&A[2].sliceSerialize(A[1],!0).length===n.containerState.size?t(o):r(o)},"listItemIndent",n.containerState.size+1)}},bA={name:"setextUnderline",resolveTo:function(e,t){let r,n,o,A=e.length;for(;A--;)if(e[A][0]==="enter"){if(e[A][1].type==="content"){r=A;break}e[A][1].type==="paragraph"&&(n=A)}else e[A][1].type==="content"&&e.splice(A,1),!o&&e[A][1].type==="definition"&&(o=A);const a={type:"setextHeading",start:{...e[n][1].start},end:{...e[e.length-1][1].end}};return e[n][1].type="setextHeadingText",o?(e.splice(n,0,["enter",a,t]),e.splice(o+1,0,["exit",e[r][1],t]),e[r][1].end={...e[o][1].end}):e[r][1]=a,e.push(["exit",a,t]),e},tokenize:function(e,t,r){const n=this;let o;return function(s){let i,l=n.events.length;for(;l--;)if(n.events[l][1].type!=="lineEnding"&&n.events[l][1].type!=="linePrefix"&&n.events[l][1].type!=="content"){i=n.events[l][1].type==="paragraph";break}return n.parser.lazy[n.now().line]||!n.interrupt&&!i?r(s):(e.enter("setextHeadingLine"),o=s,function(c){return e.enter("setextHeadingLineSequence"),A(c)}(s))};function A(s){return s===o?(e.consume(s),A):(e.exit("setextHeadingLineSequence"),se(s)?ge(e,a,"lineSuffix")(s):a(s))}function a(s){return s===null||$(s)?(e.exit("setextHeadingLine"),t(s)):r(s)}}},tl={tokenize:function(e){const t=this,r=e.attempt(Pn,function(o){return o===null?void e.consume(o):(e.enter("lineEndingBlank"),e.consume(o),e.exit("lineEndingBlank"),t.currentConstruct=void 0,r)},e.attempt(this.parser.constructs.flowInitial,n,ge(e,e.attempt(this.parser.constructs.flow,n,e.attempt(La,n)),"linePrefix")));return r;function n(o){if(o!==null)return e.enter("lineEnding"),e.consume(o),e.exit("lineEnding"),t.currentConstruct=void 0,r;e.consume(o)}}},nl={resolveAll:CA()},rl=EA("string"),ol=EA("text");function EA(e){return{resolveAll:CA(e==="text"?Al:void 0),tokenize:function(t){const r=this,n=this.parser.constructs[e],o=t.attempt(n,A,a);return A;function A(l){return i(l)?o(l):a(l)}function a(l){if(l!==null)return t.enter("data"),t.consume(l),s;t.consume(l)}function s(l){return i(l)?(t.exit("data"),o(l)):(t.consume(l),s)}function i(l){if(l===null)return!0;const c=n[l];let d=-1;if(c)for(;++d<c.length;){const u=c[d];if(!u.previous||u.previous.call(r,r.previous))return!0}return!1}}}}function CA(e){return function(t,r){let n,o=-1;for(;++o<=t.length;)n===void 0?t[o]&&t[o][1].type==="data"&&(n=o,o++):(!t[o]||t[o][1].type!=="data")&&(o!==n+2&&(t[n][1].end=t[o-1][1].end,t.splice(n+2,o-n-2),o=n+2),n=void 0);return e?e(t,r):t}}function Al(e,t){let r=0;for(;++r<=e.length;)if((r===e.length||e[r][1].type==="lineEnding")&&e[r-1][1].type==="data"){const n=e[r-1][1],o=t.sliceStream(n);let A,a=o.length,s=-1,i=0;for(;a--;){const l=o[a];if(typeof l=="string"){for(s=l.length;l.charCodeAt(s-1)===32;)i++,s--;if(s)break;s=-1}else if(l===-2)A=!0,i++;else if(l!==-1){a++;break}}if(i){const l={type:r===e.length||A||i<2?"lineSuffix":"hardBreakTrailing",start:{_bufferIndex:a?s:n.start._bufferIndex+s,_index:n.start._index+a,line:n.end.line,column:n.end.column-i,offset:n.end.offset-i},end:{...n.end}};n.end={...l.start},n.start.offset===n.end.offset?Object.assign(n,l):(e.splice(r,0,["enter",l,t],["exit",l,t]),r+=2)}r++}return e}const il={42:ze,43:ze,45:ze,48:ze,49:ze,50:ze,51:ze,52:ze,53:ze,54:ze,55:ze,56:ze,57:ze,62:uA},sl={91:Ua},al={[-2]:vr,[-1]:vr,32:vr},ll={35:za,42:Sn,45:[bA,Sn],60:qa,61:bA,95:Sn,96:gA,126:gA},cl={38:fA,92:dA},ul={[-5]:br,[-4]:br,[-3]:br,33:Ja,38:fA,42:yr,60:[Qa,Ya],91:Za,92:[Ra,dA],93:wr,95:yr,96:Oa},dl={null:[yr,nl]},fl=Object.freeze(Object.defineProperty({__proto__:null,attentionMarkers:{null:[42,95]},contentInitial:sl,disable:{null:[]},document:il,flow:ll,flowInitial:al,insideSpan:dl,string:cl,text:ul},Symbol.toStringTag,{value:"Module"}));function pl(e,t,r){let n={_bufferIndex:-1,_index:0,line:r&&r.line||1,column:r&&r.column||1,offset:r&&r.offset||0};const o={},A=[];let a=[],s=[];const i={attempt:v(function(E,m){h(E,m.from)}),check:v(g),consume:function(E){$(E)?(n.line++,n.column=1,n.offset+=E===-3?2:1,w()):E!==-1&&(n.column++,n.offset++),n._bufferIndex<0?n._index++:(n._bufferIndex++,n._bufferIndex===a[n._index].length&&(n._bufferIndex=-1,n._index++)),l.previous=E},enter:function(E,m){const C=m||{};return C.type=E,C.start=u(),l.events.push(["enter",C,l]),s.push(C),C},exit:function(E){const m=s.pop();return m.end=u(),l.events.push(["exit",m,l]),m},interrupt:v(g,{interrupt:!0})},l={code:null,containerState:{},defineSkip:function(E){o[E.line]=E.column,w()},events:[],now:u,parser:e,previous:null,sliceSerialize:function(E,m){return function(C,k){let S=-1;const D=[];let I;for(;++S<C.length;){const Q=C[S];let x;if(typeof Q=="string")x=Q;else switch(Q){case-5:x="\r";break;case-4:x=`
|
|
22
|
+
`;break;case-3:x=`\r
|
|
23
|
+
`;break;case-2:x=k?" ":" ";break;case-1:if(!k&&I)continue;x=" ";break;default:x=String.fromCharCode(Q)}I=Q===-2,D.push(x)}return D.join("")}(d(E),m)},sliceStream:d,write:function(E){return a=Xe(a,E),function(){let m;for(;n._index<a.length;){const C=a[n._index];if(typeof C=="string")for(m=n._index,n._bufferIndex<0&&(n._bufferIndex=0);n._index===m&&n._bufferIndex<C.length;)p(C.charCodeAt(n._bufferIndex));else p(C)}}(),a[a.length-1]!==null?[]:(h(t,0),l.events=mr(A,l.events,l),l.events)}};let c=t.tokenize.call(l,i);return t.resolveAll&&A.push(t),l;function d(E){return function(m,C){const k=C.start._index,S=C.start._bufferIndex,D=C.end._index,I=C.end._bufferIndex;let Q;if(k===D)Q=[m[k].slice(S,I)];else{if(Q=m.slice(k,D),S>-1){const x=Q[0];typeof x=="string"?Q[0]=x.slice(S):Q.shift()}I>0&&Q.push(m[D].slice(0,I))}return Q}(a,E)}function u(){const{_bufferIndex:E,_index:m,line:C,column:k,offset:S}=n;return{_bufferIndex:E,_index:m,line:C,column:k,offset:S}}function p(E){c=c(E)}function g(E,m){m.restore()}function v(E,m){return function(C,k,S){let D,I,Q,x;return Array.isArray(C)?N(C):"tokenize"in C?N([C]):function(_){return F;function F(M){const L=M!==null&&_[M],y=M!==null&&_.null;return N([...Array.isArray(L)?L:L?[L]:[],...Array.isArray(y)?y:y?[y]:[]])(M)}}(C);function N(_){return D=_,I=0,_.length===0?S:B(_[I])}function B(_){return function(F){return x=function(){const M=u(),L=l.previous,y=l.currentConstruct,Y=l.events.length,b=Array.from(s);return{from:Y,restore:J};function J(){n=M,l.previous=L,l.currentConstruct=y,l.events.length=Y,s=b,w()}}(),Q=_,_.partial||(l.currentConstruct=_),_.name&&l.parser.constructs.disable.null.includes(_.name)?U():_.tokenize.call(m?Object.assign(Object.create(l),m):l,i,O,U)(F)}}function O(_){return E(Q,x),k}function U(_){return x.restore(),++I<D.length?B(D[I]):S}}}function h(E,m){E.resolveAll&&!A.includes(E)&&A.push(E),E.resolve&&rt(l.events,m,l.events.length-m,E.resolve(l.events.slice(m),l)),E.resolveTo&&(l.events=E.resolveTo(l.events,l))}function w(){n.line in o&&n.column<2&&(n.column=o[n.line],n.offset+=o[n.line]-1)}}const PA=/[\0\t\n\r]/g,gl=/\\([!-/:-@[-`{-~])|&(#(?:\d{1,7}|x[\da-f]{1,6})|[\da-z]{1,31});/gi;function hl(e,t,r){if(t)return t;if(r.charCodeAt(0)===35){const n=r.charCodeAt(1),o=n===120||n===88;return sA(r.slice(o?2:1),o?16:10)}return pr(r)||e}const SA={}.hasOwnProperty;function ml(e,t,r){return typeof t!="string"&&(r=t,t=void 0),function(n){const o={transforms:[],canContainEols:["emphasis","fragment","heading","paragraph","strong"],enter:{autolink:i(Ee),autolinkProtocol:B,autolinkEmail:B,atxHeading:i(ce),blockQuote:i(q),characterEscape:B,characterReference:B,codeFenced:i(le),codeFencedFenceInfo:l,codeFencedFenceMeta:l,codeIndented:i(le,l),codeText:i(ne,l),codeTextData:B,data:B,codeFlowValue:B,definition:i(me),definitionDestinationString:l,definitionLabelString:l,definitionTitleString:l,emphasis:i(fe),hardBreakEscape:i(Me),hardBreakTrailing:i(Me),htmlFlow:i(De,l),htmlFlowData:B,htmlText:i(De,l),htmlTextData:B,image:i(Ft),label:l,link:i(Ee),listItem:i(be),listItemValue:v,listOrdered:i($e,g),listUnordered:i($e),paragraph:i(ut),reference:ae,referenceString:l,resourceDestinationString:l,resourceTitleString:l,setextHeading:i(ce),strong:i(Rt),thematicBreak:i(wt)},exit:{atxHeading:d(),atxHeadingSequence:I,autolink:d(),autolinkEmail:z,autolinkProtocol:Je,blockQuote:d(),characterEscapeValue:O,characterReferenceMarkerHexadecimal:Ue,characterReferenceMarkerNumeric:Ue,characterReferenceValue:Se,characterReference:xe,codeFenced:d(m),codeFencedFence:E,codeFencedFenceInfo:h,codeFencedFenceMeta:w,codeFlowValue:O,codeIndented:d(C),codeText:d(L),codeTextData:O,data:O,definition:d(),definitionDestinationString:D,definitionLabelString:k,definitionTitleString:S,emphasis:d(),hardBreakEscape:d(_),hardBreakTrailing:d(_),htmlFlow:d(F),htmlFlowData:O,htmlText:d(M),htmlTextData:O,image:d(Y),label:J,labelText:b,lineEnding:U,link:d(y),listItem:d(),listOrdered:d(),listUnordered:d(),paragraph:d(),referenceString:re,resourceDestinationString:j,resourceTitleString:K,resource:V,setextHeading:d(N),setextHeadingLineSequence:x,setextHeadingText:Q,strong:d(),thematicBreak:d()}};kA(o,(n||{}).mdastExtensions||[]);const A={};return a;function a(T){let G={type:"root",children:[]};const X={stack:[G],tokenStack:[],config:o,enter:c,exit:u,buffer:l,resume:p,data:A},W=[];let oe=-1;for(;++oe<T.length;)(T[oe][1].type==="listOrdered"||T[oe][1].type==="listUnordered")&&(T[oe][0]==="enter"?W.push(oe):oe=s(T,W.pop(),oe));for(oe=-1;++oe<T.length;){const Ae=o[T[oe][0]];SA.call(Ae,T[oe][1].type)&&Ae[T[oe][1].type].call(Object.assign({sliceSerialize:T[oe][2].sliceSerialize},X),T[oe][1])}if(X.tokenStack.length>0){const Ae=X.tokenStack[X.tokenStack.length-1];(Ae[1]||DA).call(X,void 0,Ae[0])}for(G.position={start:yt(T.length>0?T[0][1].start:{line:1,column:1,offset:0}),end:yt(T.length>0?T[T.length-2][1].end:{line:1,column:1,offset:0})},oe=-1;++oe<o.transforms.length;)G=o.transforms[oe](G)||G;return G}function s(T,G,X){let W,oe,Ae,Ye,ye=G-1,de=-1,Oe=!1;for(;++ye<=X;){const ie=T[ye];switch(ie[1].type){case"listUnordered":case"listOrdered":case"blockQuote":ie[0]==="enter"?de++:de--,Ye=void 0;break;case"lineEndingBlank":ie[0]==="enter"&&(W&&!Ye&&!de&&!Ae&&(Ae=ye),Ye=void 0);break;case"linePrefix":case"listItemValue":case"listItemMarker":case"listItemPrefix":case"listItemPrefixWhitespace":break;default:Ye=void 0}if(!de&&ie[0]==="enter"&&ie[1].type==="listItemPrefix"||de===-1&&ie[0]==="exit"&&(ie[1].type==="listUnordered"||ie[1].type==="listOrdered")){if(W){let he=ye;for(oe=void 0;he--;){const _e=T[he];if(_e[1].type==="lineEnding"||_e[1].type==="lineEndingBlank"){if(_e[0]==="exit")continue;oe&&(T[oe][1].type="lineEndingBlank",Oe=!0),_e[1].type="lineEnding",oe=he}else if(_e[1].type!=="linePrefix"&&_e[1].type!=="blockQuotePrefix"&&_e[1].type!=="blockQuotePrefixWhitespace"&&_e[1].type!=="blockQuoteMarker"&&_e[1].type!=="listItemIndent")break}Ae&&(!oe||Ae<oe)&&(W._spread=!0),W.end=Object.assign({},oe?T[oe][1].start:ie[1].end),T.splice(oe||ye,0,["exit",W,ie[2]]),ye++,X++}if(ie[1].type==="listItemPrefix"){const he={type:"listItem",_spread:!1,start:Object.assign({},ie[1].start),end:void 0};W=he,T.splice(ye,0,["enter",he,ie[2]]),ye++,X++,Ae=void 0,Ye=!0}}}return T[G][1]._spread=Oe,X}function i(T,G){return X;function X(W){c.call(this,T(W),W),G&&G.call(this,W)}}function l(){this.stack.push({type:"fragment",children:[]})}function c(T,G,X){this.stack[this.stack.length-1].children.push(T),this.stack.push(T),this.tokenStack.push([G,X||void 0]),T.position={start:yt(G.start),end:void 0}}function d(T){return G;function G(X){T&&T.call(this,X),u.call(this,X)}}function u(T,G){const X=this.stack.pop(),W=this.tokenStack.pop();if(!W)throw new Error("Cannot close `"+T.type+"` ("+Zt({start:T.start,end:T.end})+"): it’s not open");W[0].type!==T.type&&(G?G.call(this,T,W[0]):(W[1]||DA).call(this,T,W[0])),X.position.end=yt(T.end)}function p(){return function(T){return rA(T,typeof Cn.includeImageAlt!="boolean"||Cn.includeImageAlt,typeof Cn.includeHtml!="boolean"||Cn.includeHtml)}(this.stack.pop())}function g(){this.data.expectingFirstListItemValue=!0}function v(T){this.data.expectingFirstListItemValue&&(this.stack[this.stack.length-2].start=Number.parseInt(this.sliceSerialize(T),10),this.data.expectingFirstListItemValue=void 0)}function h(){const T=this.resume();this.stack[this.stack.length-1].lang=T}function w(){const T=this.resume();this.stack[this.stack.length-1].meta=T}function E(){this.data.flowCodeInside||(this.buffer(),this.data.flowCodeInside=!0)}function m(){const T=this.resume();this.stack[this.stack.length-1].value=T.replace(/^(\r?\n|\r)|(\r?\n|\r)$/g,""),this.data.flowCodeInside=void 0}function C(){const T=this.resume();this.stack[this.stack.length-1].value=T.replace(/(\r?\n|\r)$/g,"")}function k(T){const G=this.resume(),X=this.stack[this.stack.length-1];X.label=G,X.identifier=Nt(this.sliceSerialize(T)).toLowerCase()}function S(){const T=this.resume();this.stack[this.stack.length-1].title=T}function D(){const T=this.resume();this.stack[this.stack.length-1].url=T}function I(T){const G=this.stack[this.stack.length-1];if(!G.depth){const X=this.sliceSerialize(T).length;G.depth=X}}function Q(){this.data.setextHeadingSlurpLineEnding=!0}function x(T){this.stack[this.stack.length-1].depth=this.sliceSerialize(T).codePointAt(0)===61?1:2}function N(){this.data.setextHeadingSlurpLineEnding=void 0}function B(T){const G=this.stack[this.stack.length-1].children;let X=G[G.length-1];(!X||X.type!=="text")&&(X=zt(),X.position={start:yt(T.start),end:void 0},G.push(X)),this.stack.push(X)}function O(T){const G=this.stack.pop();G.value+=this.sliceSerialize(T),G.position.end=yt(T.end)}function U(T){const G=this.stack[this.stack.length-1];if(this.data.atHardBreak)return G.children[G.children.length-1].position.end=yt(T.end),void(this.data.atHardBreak=void 0);!this.data.setextHeadingSlurpLineEnding&&o.canContainEols.includes(G.type)&&(B.call(this,T),O.call(this,T))}function _(){this.data.atHardBreak=!0}function F(){const T=this.resume();this.stack[this.stack.length-1].value=T}function M(){const T=this.resume();this.stack[this.stack.length-1].value=T}function L(){const T=this.resume();this.stack[this.stack.length-1].value=T}function y(){const T=this.stack[this.stack.length-1];if(this.data.inReference){const G=this.data.referenceType||"shortcut";T.type+="Reference",T.referenceType=G,delete T.url,delete T.title}else delete T.identifier,delete T.label;this.data.referenceType=void 0}function Y(){const T=this.stack[this.stack.length-1];if(this.data.inReference){const G=this.data.referenceType||"shortcut";T.type+="Reference",T.referenceType=G,delete T.url,delete T.title}else delete T.identifier,delete T.label;this.data.referenceType=void 0}function b(T){const G=this.sliceSerialize(T),X=this.stack[this.stack.length-2];X.label=function(W){return W.replace(gl,hl)}(G),X.identifier=Nt(G).toLowerCase()}function J(){const T=this.stack[this.stack.length-1],G=this.resume(),X=this.stack[this.stack.length-1];if(this.data.inReference=!0,X.type==="link"){const W=T.children;X.children=W}else X.alt=G}function j(){const T=this.resume();this.stack[this.stack.length-1].url=T}function K(){const T=this.resume();this.stack[this.stack.length-1].title=T}function V(){this.data.inReference=void 0}function ae(){this.data.referenceType="collapsed"}function re(T){const G=this.resume(),X=this.stack[this.stack.length-1];X.label=G,X.identifier=Nt(this.sliceSerialize(T)).toLowerCase(),this.data.referenceType="full"}function Ue(T){this.data.characterReferenceType=T.type}function Se(T){const G=this.sliceSerialize(T),X=this.data.characterReferenceType;let W;X?(W=sA(G,X==="characterReferenceMarkerNumeric"?10:16),this.data.characterReferenceType=void 0):W=pr(G),this.stack[this.stack.length-1].value+=W}function xe(T){this.stack.pop().position.end=yt(T.end)}function Je(T){O.call(this,T),this.stack[this.stack.length-1].url=this.sliceSerialize(T)}function z(T){O.call(this,T),this.stack[this.stack.length-1].url="mailto:"+this.sliceSerialize(T)}function q(){return{type:"blockquote",children:[]}}function le(){return{type:"code",lang:null,meta:null,value:""}}function ne(){return{type:"inlineCode",value:""}}function me(){return{type:"definition",identifier:"",label:null,title:null,url:""}}function fe(){return{type:"emphasis",children:[]}}function ce(){return{type:"heading",depth:0,children:[]}}function Me(){return{type:"break"}}function De(){return{type:"html",value:""}}function Ft(){return{type:"image",title:null,url:"",alt:null}}function Ee(){return{type:"link",title:null,url:"",children:[]}}function $e(T){return{type:"list",ordered:T.type==="listOrdered",start:null,spread:T._spread,children:[]}}function be(T){return{type:"listItem",spread:T._spread,checked:null,children:[]}}function ut(){return{type:"paragraph",children:[]}}function Rt(){return{type:"strong",children:[]}}function zt(){return{type:"text",value:""}}function wt(){return{type:"thematicBreak"}}}(r)(function(n){for(;!hA(n););return n}(function(n){const o={constructs:Ea([fl,...(n||{}).extensions||[]]),content:A(Ia),defined:[],document:A(Ta),flow:A(tl),lazy:{},string:A(rl),text:A(ol)};return o;function A(a){return function(s){return pl(o,a,s)}}}(r).document().write(function(){let n,o=1,A="",a=!0;return function(s,i,l){const c=[];let d,u,p,g,v;for(s=A+(typeof s=="string"?s.toString():new TextDecoder(i||void 0).decode(s)),p=0,A="",a&&(s.charCodeAt(0)===65279&&p++,a=void 0);p<s.length;){if(PA.lastIndex=p,d=PA.exec(s),g=d&&d.index!==void 0?d.index:s.length,v=s.charCodeAt(g),!d){A=s.slice(p);break}if(v===10&&p===g&&n)c.push(-3),n=void 0;else switch(n&&(c.push(-5),n=void 0),p<g&&(c.push(s.slice(p,g)),o+=g-p),v){case 0:c.push(65533),o++;break;case 9:for(u=4*Math.ceil(o/4),c.push(-2);o++<u;)c.push(-1);break;case 10:c.push(-4),o=1;break;default:n=!0,o=1}p=g+1}return l&&(n&&c.push(-5),A&&c.push(A),c.push(null)),c}}()(e,t,!0))))}function yt(e){return{line:e.line,column:e.column,offset:e.offset}}function kA(e,t){let r=-1;for(;++r<t.length;){const n=t[r];Array.isArray(n)?kA(e,n):yl(e,n)}}function yl(e,t){let r;for(r in t)if(SA.call(t,r))switch(r){case"canContainEols":{const n=t[r];n&&e[r].push(...n);break}case"transforms":{const n=t[r];n&&e[r].push(...n);break}case"enter":case"exit":{const n=t[r];n&&Object.assign(e[r],n);break}}}function DA(e,t){throw e?new Error("Cannot close `"+e.type+"` ("+Zt({start:e.start,end:e.end})+"): a different token (`"+t.type+"`, "+Zt({start:t.start,end:t.end})+") is open"):new Error("Cannot close document, a token (`"+t.type+"`, "+Zt({start:t.start,end:t.end})+") is still open")}function vl(e){const t=this;t.parser=function(r){return ml(r,{...t.data("settings"),...e,extensions:t.data("micromarkExtensions")||[],mdastExtensions:t.data("fromMarkdownExtensions")||[]})}}function BA(e,t){const r=t.referenceType;let n="]";if(r==="collapsed"?n+="[]":r==="full"&&(n+="["+(t.label||t.identifier)+"]"),t.type==="imageReference")return[{type:"text",value:"!["+t.alt+n}];const o=e.all(t),A=o[0];A&&A.type==="text"?A.value="["+A.value:o.unshift({type:"text",value:"["});const a=o[o.length-1];return a&&a.type==="text"?a.value+=n:o.push({type:"text",value:n}),o}function xA(e){return e.spread??e.children.length>1}function wl(e){const t=String(e),r=/\r?\n|\r/g;let n=r.exec(t),o=0;const A=[];for(;n;)A.push(IA(t.slice(o,n.index),o>0,!0),n[0]),o=n.index+n[0].length,n=r.exec(t);return A.push(IA(t.slice(o),o>0,!1)),A.join("")}function IA(e,t,r){let n=0,o=e.length;if(t){let A=e.codePointAt(n);for(;A===9||A===32;)n++,A=e.codePointAt(n)}if(r){let A=e.codePointAt(o-1);for(;A===9||A===32;)o--,A=e.codePointAt(o-1)}return o>n?e.slice(n,o):""}const bl={blockquote:function(e,t){const r={type:"element",tagName:"blockquote",properties:{},children:e.wrap(e.all(t),!0)};return e.patch(t,r),e.applyData(t,r)},break:function(e,t){const r={type:"element",tagName:"br",properties:{},children:[]};return e.patch(t,r),[e.applyData(t,r),{type:"text",value:`
|
|
24
24
|
`}]},code:function(e,t){const r=t.value?t.value+`
|
|
25
|
-
`:"",n={};t.lang&&(n.className=["language-"+t.lang]);let o={type:"element",tagName:"code",properties:n,children:[{type:"text",value:r}]};return t.meta&&(o.data={meta:t.meta}),e.patch(t,o),o=e.applyData(t,o),o={type:"element",tagName:"pre",properties:{},children:[o]},e.patch(t,o),o},delete:function(e,t){const r={type:"element",tagName:"del",properties:{},children:e.all(t)};return e.patch(t,r),e.applyData(t,r)},emphasis:function(e,t){const r={type:"element",tagName:"em",properties:{},children:e.all(t)};return e.patch(t,r),e.applyData(t,r)},footnoteReference:function(e,t){const r=typeof e.options.clobberPrefix=="string"?e.options.clobberPrefix:"user-content-",n=String(t.identifier).toUpperCase(),o=
|
|
26
|
-
`}),c.type!=="element"||c.tagName!=="p"||o?
|
|
27
|
-
`});const l={type:"element",tagName:"li",properties:
|
|
25
|
+
`:"",n={};t.lang&&(n.className=["language-"+t.lang]);let o={type:"element",tagName:"code",properties:n,children:[{type:"text",value:r}]};return t.meta&&(o.data={meta:t.meta}),e.patch(t,o),o=e.applyData(t,o),o={type:"element",tagName:"pre",properties:{},children:[o]},e.patch(t,o),o},delete:function(e,t){const r={type:"element",tagName:"del",properties:{},children:e.all(t)};return e.patch(t,r),e.applyData(t,r)},emphasis:function(e,t){const r={type:"element",tagName:"em",properties:{},children:e.all(t)};return e.patch(t,r),e.applyData(t,r)},footnoteReference:function(e,t){const r=typeof e.options.clobberPrefix=="string"?e.options.clobberPrefix:"user-content-",n=String(t.identifier).toUpperCase(),o=Lt(n.toLowerCase()),A=e.footnoteOrder.indexOf(n);let a,s=e.footnoteCounts.get(n);s===void 0?(s=0,e.footnoteOrder.push(n),a=e.footnoteOrder.length):a=A+1,s+=1,e.footnoteCounts.set(n,s);const i={type:"element",tagName:"a",properties:{href:"#"+r+"fn-"+o,id:r+"fnref-"+o+(s>1?"-"+s:""),dataFootnoteRef:!0,ariaDescribedBy:["footnote-label"]},children:[{type:"text",value:String(a)}]};e.patch(t,i);const l={type:"element",tagName:"sup",properties:{},children:[i]};return e.patch(t,l),e.applyData(t,l)},heading:function(e,t){const r={type:"element",tagName:"h"+t.depth,properties:{},children:e.all(t)};return e.patch(t,r),e.applyData(t,r)},html:function(e,t){if(e.options.allowDangerousHtml){const r={type:"raw",value:t.value};return e.patch(t,r),e.applyData(t,r)}},imageReference:function(e,t){const r=String(t.identifier).toUpperCase(),n=e.definitionById.get(r);if(!n)return BA(e,t);const o={src:Lt(n.url||""),alt:t.alt};n.title!==null&&n.title!==void 0&&(o.title=n.title);const A={type:"element",tagName:"img",properties:o,children:[]};return e.patch(t,A),e.applyData(t,A)},image:function(e,t){const r={src:Lt(t.url)};t.alt!==null&&t.alt!==void 0&&(r.alt=t.alt),t.title!==null&&t.title!==void 0&&(r.title=t.title);const n={type:"element",tagName:"img",properties:r,children:[]};return e.patch(t,n),e.applyData(t,n)},inlineCode:function(e,t){const r={type:"text",value:t.value.replace(/\r?\n|\r/g," ")};e.patch(t,r);const n={type:"element",tagName:"code",properties:{},children:[r]};return e.patch(t,n),e.applyData(t,n)},linkReference:function(e,t){const r=String(t.identifier).toUpperCase(),n=e.definitionById.get(r);if(!n)return BA(e,t);const o={href:Lt(n.url||"")};n.title!==null&&n.title!==void 0&&(o.title=n.title);const A={type:"element",tagName:"a",properties:o,children:e.all(t)};return e.patch(t,A),e.applyData(t,A)},link:function(e,t){const r={href:Lt(t.url)};t.title!==null&&t.title!==void 0&&(r.title=t.title);const n={type:"element",tagName:"a",properties:r,children:e.all(t)};return e.patch(t,n),e.applyData(t,n)},listItem:function(e,t,r){const n=e.all(t),o=r?function(c){let d=!1;if(c.type==="list"){d=c.spread||!1;const u=c.children;let p=-1;for(;!d&&++p<u.length;)d=xA(u[p])}return d}(r):xA(t),A={},a=[];if(typeof t.checked=="boolean"){const c=n[0];let d;c&&c.type==="element"&&c.tagName==="p"?d=c:(d={type:"element",tagName:"p",properties:{},children:[]},n.unshift(d)),d.children.length>0&&d.children.unshift({type:"text",value:" "}),d.children.unshift({type:"element",tagName:"input",properties:{type:"checkbox",checked:t.checked,disabled:!0},children:[]}),A.className=["task-list-item"]}let s=-1;for(;++s<n.length;){const c=n[s];(o||s!==0||c.type!=="element"||c.tagName!=="p")&&a.push({type:"text",value:`
|
|
26
|
+
`}),c.type!=="element"||c.tagName!=="p"||o?a.push(c):a.push(...c.children)}const i=n[n.length-1];i&&(o||i.type!=="element"||i.tagName!=="p")&&a.push({type:"text",value:`
|
|
27
|
+
`});const l={type:"element",tagName:"li",properties:A,children:a};return e.patch(t,l),e.applyData(t,l)},list:function(e,t){const r={},n=e.all(t);let o=-1;for(typeof t.start=="number"&&t.start!==1&&(r.start=t.start);++o<n.length;){const a=n[o];if(a.type==="element"&&a.tagName==="li"&&a.properties&&Array.isArray(a.properties.className)&&a.properties.className.includes("task-list-item")){r.className=["contains-task-list"];break}}const A={type:"element",tagName:t.ordered?"ol":"ul",properties:r,children:e.wrap(n,!0)};return e.patch(t,A),e.applyData(t,A)},paragraph:function(e,t){const r={type:"element",tagName:"p",properties:{},children:e.all(t)};return e.patch(t,r),e.applyData(t,r)},root:function(e,t){const r={type:"root",children:e.wrap(e.all(t))};return e.patch(t,r),e.applyData(t,r)},strong:function(e,t){const r={type:"element",tagName:"strong",properties:{},children:e.all(t)};return e.patch(t,r),e.applyData(t,r)},table:function(e,t){const r=e.all(t),n=r.shift(),o=[];if(n){const a={type:"element",tagName:"thead",properties:{},children:e.wrap([n],!0)};e.patch(t.children[0],a),o.push(a)}if(r.length>0){const a={type:"element",tagName:"tbody",properties:{},children:e.wrap(r,!0)},s=ar(t.children[1]),i=Vo(t.children[t.children.length-1]);s&&i&&(a.position={start:s,end:i}),o.push(a)}const A={type:"element",tagName:"table",properties:{},children:e.wrap(o,!0)};return e.patch(t,A),e.applyData(t,A)},tableCell:function(e,t){const r={type:"element",tagName:"td",properties:{},children:e.all(t)};return e.patch(t,r),e.applyData(t,r)},tableRow:function(e,t,r){const n=r?r.children:void 0,o=(n?n.indexOf(t):1)===0?"th":"td",A=r&&r.type==="table"?r.align:void 0,a=A?A.length:t.children.length;let s=-1;const i=[];for(;++s<a;){const c=t.children[s],d={},u=A?A[s]:void 0;u&&(d.align=u);let p={type:"element",tagName:o,properties:d,children:[]};c&&(p.children=e.all(c),e.patch(c,p),p=e.applyData(c,p)),i.push(p)}const l={type:"element",tagName:"tr",properties:{},children:e.wrap(i,!0)};return e.patch(t,l),e.applyData(t,l)},text:function(e,t){const r={type:"text",value:wl(String(t.value))};return e.patch(t,r),e.applyData(t,r)},thematicBreak:function(e,t){const r={type:"element",tagName:"hr",properties:{},children:[]};return e.patch(t,r),e.applyData(t,r)},toml:kn,yaml:kn,definition:kn,footnoteDefinition:kn};function kn(){}const TA=typeof self=="object"?self:globalThis,QA=e=>((t,r)=>{const n=(A,a)=>(t.set(a,A),A),o=A=>{if(t.has(A))return t.get(A);const[a,s]=r[A];switch(a){case 0:case-1:return n(s,A);case 1:{const i=n([],A);for(const l of s)i.push(o(l));return i}case 2:{const i=n({},A);for(const[l,c]of s)i[o(l)]=o(c);return i}case 3:return n(new Date(s),A);case 4:{const{source:i,flags:l}=s;return n(new RegExp(i,l),A)}case 5:{const i=n(new Map,A);for(const[l,c]of s)i.set(o(l),o(c));return i}case 6:{const i=n(new Set,A);for(const l of s)i.add(o(l));return i}case 7:{const{name:i,message:l}=s;return n(new TA[i](l),A)}case 8:return n(BigInt(s),A);case"BigInt":return n(Object(BigInt(s)),A);case"ArrayBuffer":return n(new Uint8Array(s).buffer,s);case"DataView":{const{buffer:i}=new Uint8Array(s);return n(new DataView(i),s)}}return n(new TA[a](s),A)};return o})(new Map,e)(0),Ht="",{toString:El}={},{keys:Cl}=Object,nn=e=>{const t=typeof e;if(t!=="object"||!e)return[0,t];const r=El.call(e).slice(8,-1);switch(r){case"Array":return[1,Ht];case"Object":return[2,Ht];case"Date":return[3,Ht];case"RegExp":return[4,Ht];case"Map":return[5,Ht];case"Set":return[6,Ht];case"DataView":return[1,r]}return r.includes("Array")?[1,r]:r.includes("Error")?[7,r]:[2,r]},Dn=([e,t])=>e===0&&(t==="function"||t==="symbol"),MA=(e,{json:t,lossy:r}={})=>{const n=[];return((o,A,a,s)=>{const i=(c,d)=>{const u=s.push(c)-1;return a.set(d,u),u},l=c=>{if(a.has(c))return a.get(c);let[d,u]=nn(c);switch(d){case 0:{let g=c;switch(u){case"bigint":d=8,g=c.toString();break;case"function":case"symbol":if(o)throw new TypeError("unable to serialize "+u);g=null;break;case"undefined":return i([-1],c)}return i([d,g],c)}case 1:{if(u){let h=c;return u==="DataView"?h=new Uint8Array(c.buffer):u==="ArrayBuffer"&&(h=new Uint8Array(c)),i([u,[...h]],c)}const g=[],v=i([d,g],c);for(const h of c)g.push(l(h));return v}case 2:{if(u)switch(u){case"BigInt":return i([u,c.toString()],c);case"Boolean":case"Number":case"String":return i([u,c.valueOf()],c)}if(A&&"toJSON"in c)return l(c.toJSON());const g=[],v=i([d,g],c);for(const h of Cl(c))(o||!Dn(nn(c[h])))&&g.push([l(h),l(c[h])]);return v}case 3:return i([d,c.toISOString()],c);case 4:{const{source:g,flags:v}=c;return i([d,{source:g,flags:v}],c)}case 5:{const g=[],v=i([d,g],c);for(const[h,w]of c)(o||!Dn(nn(h))&&!Dn(nn(w)))&&g.push([l(h),l(w)]);return v}case 6:{const g=[],v=i([d,g],c);for(const h of c)(o||!Dn(nn(h)))&&g.push(l(h));return v}}const{message:p}=c;return i([d,{name:u,message:p}],c)};return l})(!(t||r),!!t,new Map,n)(e),n},Bn=typeof structuredClone=="function"?(e,t)=>t&&("json"in t||"lossy"in t)?QA(MA(e,t)):structuredClone(e):(e,t)=>QA(MA(e,t));function Pl(e,t){const r=[{type:"text",value:"↩"}];return t>1&&r.push({type:"element",tagName:"sup",properties:{},children:[{type:"text",value:String(t)}]}),r}function Sl(e,t){return"Back to reference "+(e+1)+(t>1?"-"+t:"")}const OA=function(e){if(e==null)return kl;if(typeof e=="function")return xn(e);if(typeof e=="object")return Array.isArray(e)?function(t){const r=[];let n=-1;for(;++n<t.length;)r[n]=OA(t[n]);return xn(o);function o(...A){let a=-1;for(;++a<r.length;)if(r[a].apply(this,A))return!0;return!1}}(e):function(t){const r=t;return xn(n);function n(o){const A=o;let a;for(a in t)if(A[a]!==r[a])return!1;return!0}}(e);if(typeof e=="string")return function(t){return xn(r);function r(n){return n&&n.type===t}}(e);throw new Error("Expected function, string, or object as test")};function xn(e){return function(t,r,n){return!(!function(o){return o!==null&&typeof o=="object"&&"type"in o}(t)||!e.call(this,t,typeof r=="number"?r:void 0,n||void 0))}}function kl(){return!0}const _A=[],Dl=!0,NA=!1;function Bl(e,t,r,n){let o;typeof t=="function"&&typeof r!="function"?(n=r,r=t):o=t;const A=OA(o),a=n?-1:1;(function s(i,l,c){const d=i&&typeof i=="object"?i:{};if(typeof d.type=="string"){const p=typeof d.tagName=="string"?d.tagName:typeof d.name=="string"?d.name:void 0;Object.defineProperty(u,"name",{value:"node ("+i.type+(p?"<"+p+">":"")+")"})}return u;function u(){let p,g,v,h=_A;if((!t||A(i,l,c[c.length-1]||void 0))&&(h=function(w){return Array.isArray(w)?w:typeof w=="number"?[Dl,w]:w==null?_A:[w]}(r(i,c)),h[0]===NA))return h;if("children"in i&&i.children){const w=i;if(w.children&&h[0]!=="skip")for(g=(n?w.children.length:-1)+a,v=c.concat(w);g>-1&&g<w.children.length;){const E=w.children[g];if(p=s(E,g,v)(),p[0]===NA)return p;g=typeof p[1]=="number"?p[1]:g+a}}return h}})(e,void 0,[])()}function LA(e,t,r,n){let o,A,a;typeof t=="function"?(A=void 0,a=t,o=r):(A=t,a=r,o=n),Bl(e,A,function(s,i){const l=i[i.length-1],c=l?l.children.indexOf(s):void 0;return a(s,c,l)},o)}const Er={}.hasOwnProperty,xl={};function Il(e,t){const r=t||xl,n=new Map,o=new Map,A=new Map,a={...bl,...r.handlers},s={all:function(i){const l=[];if("children"in i){const c=i.children;let d=-1;for(;++d<c.length;){const u=s.one(c[d],i);if(u){if(d&&c[d-1].type==="break"&&(!Array.isArray(u)&&u.type==="text"&&(u.value=HA(u.value)),!Array.isArray(u)&&u.type==="element")){const p=u.children[0];p&&p.type==="text"&&(p.value=HA(p.value))}Array.isArray(u)?l.push(...u):l.push(u)}}}return l},applyData:Ql,definitionById:n,footnoteById:o,footnoteCounts:A,footnoteOrder:[],handlers:a,one:function(i,l){const c=i.type,d=s.handlers[c];if(Er.call(s.handlers,c)&&d)return d(s,i,l);if(s.options.passThrough&&s.options.passThrough.includes(c)){if("children"in i){const{children:u,...p}=i,g=Bn(p);return g.children=s.all(i),g}return Bn(i)}return(s.options.unknownHandler||Ml)(s,i,l)},options:r,patch:Tl,wrap:Ol};return LA(e,function(i){if(i.type==="definition"||i.type==="footnoteDefinition"){const l=i.type==="definition"?n:o,c=String(i.identifier).toUpperCase();l.has(c)||l.set(c,i)}}),s}function Tl(e,t){e.position&&(t.position=function(r){const n=ar(r),o=Vo(r);if(n&&o)return{start:n,end:o}}(e))}function Ql(e,t){let r=t;if(e&&e.data){const n=e.data.hName,o=e.data.hChildren,A=e.data.hProperties;typeof n=="string"&&(r.type==="element"?r.tagName=n:r={type:"element",tagName:n,properties:{},children:"children"in r?r.children:[r]}),r.type==="element"&&A&&Object.assign(r.properties,Bn(A)),"children"in r&&r.children&&o!=null&&(r.children=o)}return r}function Ml(e,t){const r=t.data||{},n=!("value"in t)||Er.call(r,"hProperties")||Er.call(r,"hChildren")?{type:"element",tagName:"div",properties:{},children:e.all(t)}:{type:"text",value:t.value};return e.patch(t,n),e.applyData(t,n)}function Ol(e,t){const r=[];let n=-1;for(t&&r.push({type:"text",value:`
|
|
28
28
|
`});++n<e.length;)n&&r.push({type:"text",value:`
|
|
29
29
|
`}),r.push(e[n]);return t&&e.length>0&&r.push({type:"text",value:`
|
|
30
|
-
`}),r}function
|
|
31
|
-
`},{type:"element",tagName:"ol",properties:{},children:
|
|
32
|
-
`}]}}(r),
|
|
33
|
-
`},o),a}function Ol(e,t){return e&&"run"in e?async function(r,n){const o=La(r,{file:n,...t});await e.run(o,n)}:function(r,n){return La(r,{file:n,...e||t})}}function Ha(e){if(e)throw e}var wr,Ua,_l=function(){if(Ua)return wr;Ua=1;var e=Object.prototype.hasOwnProperty,t=Object.prototype.toString,r=Object.defineProperty,n=Object.getOwnPropertyDescriptor,o=function(i){return typeof Array.isArray=="function"?Array.isArray(i):t.call(i)==="[object Array]"},a=function(i){if(!i||t.call(i)!=="[object Object]")return!1;var l,c=e.call(i,"constructor"),d=i.constructor&&i.constructor.prototype&&e.call(i.constructor.prototype,"isPrototypeOf");if(i.constructor&&!c&&!d)return!1;for(l in i);return typeof l>"u"||e.call(i,l)},A=function(i,l){r&&l.name==="__proto__"?r(i,l.name,{enumerable:!0,configurable:!0,value:l.newValue,writable:!0}):i[l.name]=l.newValue},s=function(i,l){if(l==="__proto__"){if(!e.call(i,l))return;if(n)return n(i,l).value}return i[l]};return wr=function i(){var l,c,d,u,f,g,b=arguments[0],h=1,w=arguments.length,x=!1;for(typeof b=="boolean"&&(x=b,b=arguments[1]||{},h=2),(b==null||typeof b!="object"&&typeof b!="function")&&(b={});h<w;++h)if((l=arguments[h])!=null)for(c in l)d=s(b,c),b!==(u=s(l,c))&&(x&&u&&(a(u)||(f=o(u)))?(f?(f=!1,g=d&&o(d)?d:[]):g=d&&a(d)?d:{},A(b,{name:c,newValue:i(x,g,u)})):typeof u<"u"&&A(b,{name:c,newValue:u}));return b},wr}();const xr=jo(_l);function Er(e){if(typeof e!="object"||e===null)return!1;const t=Object.getPrototypeOf(e);return!(t!==null&&t!==Object.prototype&&Object.getPrototypeOf(t)!==null||Symbol.toStringTag in e||Symbol.iterator in e)}function Nl(){const e=[],t={run:function(...r){let n=-1;const o=r.pop();if(typeof o!="function")throw new TypeError("Expected function as last argument, not "+o);(function a(A,...s){const i=e[++n];let l=-1;if(A)o(A);else{for(;++l<r.length;)(s[l]===null||s[l]===void 0)&&(s[l]=r[l]);r=s,i?function(c,d){let u;return f;function f(...h){const w=c.length>h.length;let x;w&&h.push(g);try{x=c.apply(this,h)}catch(m){if(w&&u)throw m;return g(m)}w||(x&&x.then&&typeof x.then=="function"?x.then(b,g):x instanceof Error?g(x):b(x))}function g(h,...w){u||(u=!0,d(h,...w))}function b(h){g(null,h)}}(i,a)(...s):o(null,...s)}})(null,...r)},use:function(r){if(typeof r!="function")throw new TypeError("Expected `middelware` to be a function, not "+r);return e.push(r),t}};return t}const rt={basename:function(e,t){if(t!==void 0&&typeof t!="string")throw new TypeError('"ext" argument must be a string');tn(e);let r,n=0,o=-1,a=e.length;if(t===void 0||t.length===0||t.length>e.length){for(;a--;)if(e.codePointAt(a)===47){if(r){n=a+1;break}}else o<0&&(r=!0,o=a+1);return o<0?"":e.slice(n,o)}if(t===e)return"";let A=-1,s=t.length-1;for(;a--;)if(e.codePointAt(a)===47){if(r){n=a+1;break}}else A<0&&(r=!0,A=a+1),s>-1&&(e.codePointAt(a)===t.codePointAt(s--)?s<0&&(o=a):(s=-1,o=A));return n===o?o=A:o<0&&(o=e.length),e.slice(n,o)},dirname:function(e){if(tn(e),e.length===0)return".";let t,r=-1,n=e.length;for(;--n;)if(e.codePointAt(n)===47){if(t){r=n;break}}else t||(t=!0);return r<0?e.codePointAt(0)===47?"/":".":r===1&&e.codePointAt(0)===47?"//":e.slice(0,r)},extname:function(e){tn(e);let t,r=e.length,n=-1,o=0,a=-1,A=0;for(;r--;){const s=e.codePointAt(r);if(s!==47)n<0&&(t=!0,n=r+1),s===46?a<0?a=r:A!==1&&(A=1):a>-1&&(A=-1);else if(t){o=r+1;break}}return a<0||n<0||A===0||A===1&&a===n-1&&a===o+1?"":e.slice(a,n)},join:function(...e){let t,r=-1;for(;++r<e.length;)tn(e[r]),e[r]&&(t=t===void 0?e[r]:t+"/"+e[r]);return t===void 0?".":function(n){tn(n);const o=n.codePointAt(0)===47;let a=function(A,s){let i,l,c="",d=0,u=-1,f=0,g=-1;for(;++g<=A.length;){if(g<A.length)i=A.codePointAt(g);else{if(i===47)break;i=47}if(i===47){if(u!==g-1&&f!==1)if(u!==g-1&&f===2){if(c.length<2||d!==2||c.codePointAt(c.length-1)!==46||c.codePointAt(c.length-2)!==46){if(c.length>2){if(l=c.lastIndexOf("/"),l!==c.length-1){l<0?(c="",d=0):(c=c.slice(0,l),d=c.length-1-c.lastIndexOf("/")),u=g,f=0;continue}}else if(c.length>0){c="",d=0,u=g,f=0;continue}}s&&(c=c.length>0?c+"/..":"..",d=2)}else c.length>0?c+="/"+A.slice(u+1,g):c=A.slice(u+1,g),d=g-u-1;u=g,f=0}else i===46&&f>-1?f++:f=-1}return c}(n,!o);return a.length===0&&!o&&(a="."),a.length>0&&n.codePointAt(n.length-1)===47&&(a+="/"),o?"/"+a:a}(t)},sep:"/"};function tn(e){if(typeof e!="string")throw new TypeError("Path must be a string. Received "+JSON.stringify(e))}const Ll={cwd:function(){return"/"}};function kr(e){return!!(e!==null&&typeof e=="object"&&"href"in e&&e.href&&"protocol"in e&&e.protocol&&e.auth===void 0)}function Hl(e){if(typeof e=="string")e=new URL(e);else if(!kr(e)){const t=new TypeError('The "path" argument must be of type string or an instance of URL. Received `'+e+"`");throw t.code="ERR_INVALID_ARG_TYPE",t}if(e.protocol!=="file:"){const t=new TypeError("The URL must be of scheme file");throw t.code="ERR_INVALID_URL_SCHEME",t}return function(t){if(t.hostname!==""){const o=new TypeError('File URL host must be "localhost" or empty on darwin');throw o.code="ERR_INVALID_FILE_URL_HOST",o}const r=t.pathname;let n=-1;for(;++n<r.length;)if(r.codePointAt(n)===37&&r.codePointAt(n+1)===50){const o=r.codePointAt(n+2);if(o===70||o===102){const a=new TypeError("File URL path must not include encoded / characters");throw a.code="ERR_INVALID_FILE_URL_PATH",a}}return decodeURIComponent(r)}(e)}const Cr=["history","path","basename","stem","extname","dirname"];class Fa{constructor(t){let r;var n;r=t?kr(t)?{path:t}:typeof t=="string"||(n=t)&&typeof n=="object"&&"byteLength"in n&&"byteOffset"in n?{value:t}:t:{},this.cwd="cwd"in r?"":Ll.cwd(),this.data={},this.history=[],this.messages=[],this.value,this.map,this.result,this.stored;let o,a=-1;for(;++a<Cr.length;){const A=Cr[a];A in r&&r[A]!==void 0&&r[A]!==null&&(this[A]=A==="history"?[...r[A]]:r[A])}for(o in r)Cr.includes(o)||(this[o]=r[o])}get basename(){return typeof this.path=="string"?rt.basename(this.path):void 0}set basename(t){Sr(t,"basename"),Pr(t,"basename"),this.path=rt.join(this.dirname||"",t)}get dirname(){return typeof this.path=="string"?rt.dirname(this.path):void 0}set dirname(t){za(this.basename,"dirname"),this.path=rt.join(t||"",this.basename)}get extname(){return typeof this.path=="string"?rt.extname(this.path):void 0}set extname(t){if(Pr(t,"extname"),za(this.dirname,"extname"),t){if(t.codePointAt(0)!==46)throw new Error("`extname` must start with `.`");if(t.includes(".",1))throw new Error("`extname` cannot contain multiple dots")}this.path=rt.join(this.dirname,this.stem+(t||""))}get path(){return this.history[this.history.length-1]}set path(t){kr(t)&&(t=Hl(t)),Sr(t,"path"),this.path!==t&&this.history.push(t)}get stem(){return typeof this.path=="string"?rt.basename(this.path,this.extname):void 0}set stem(t){Sr(t,"stem"),Pr(t,"stem"),this.path=rt.join(this.dirname||"",t+(this.extname||""))}fail(t,r,n){const o=this.message(t,r,n);throw o.fatal=!0,o}info(t,r,n){const o=this.message(t,r,n);return o.fatal=void 0,o}message(t,r,n){const o=new Oe(t,r,n);return this.path&&(o.name=this.path+":"+o.name,o.file=this.path),o.fatal=!1,this.messages.push(o),o}toString(t){return this.value===void 0?"":typeof this.value=="string"?this.value:new TextDecoder(t||void 0).decode(this.value)}}function Pr(e,t){if(e&&e.includes(rt.sep))throw new Error("`"+t+"` cannot be a path: did not expect `"+rt.sep+"`")}function Sr(e,t){if(!e)throw new Error("`"+t+"` cannot be empty")}function za(e,t){if(!e)throw new Error("Setting `"+t+"` requires `path` to be set too")}const Ul=function(e){const t=this.constructor.prototype,r=t[e],n=function(){return r.apply(n,arguments)};return Object.setPrototypeOf(n,t),n},Fl={}.hasOwnProperty;class Dr extends Ul{constructor(){super("copy"),this.Compiler=void 0,this.Parser=void 0,this.attachers=[],this.compiler=void 0,this.freezeIndex=-1,this.frozen=void 0,this.namespace={},this.parser=void 0,this.transformers=Nl()}copy(){const t=new Dr;let r=-1;for(;++r<this.attachers.length;){const n=this.attachers[r];t.use(...n)}return t.data(xr(!0,{},this.namespace)),t}data(t,r){return typeof t=="string"?arguments.length===2?(Tr("data",this.frozen),this.namespace[t]=r,this):Fl.call(this.namespace,t)&&this.namespace[t]||void 0:t?(Tr("data",this.frozen),this.namespace=t,this):this.namespace}freeze(){if(this.frozen)return this;const t=this;for(;++this.freezeIndex<this.attachers.length;){const[r,...n]=this.attachers[this.freezeIndex];if(n[0]===!1)continue;n[0]===!0&&(n[0]=void 0);const o=r.call(t,...n);typeof o=="function"&&this.transformers.use(o)}return this.frozen=!0,this.freezeIndex=Number.POSITIVE_INFINITY,this}parse(t){this.freeze();const r=Dn(t),n=this.parser||this.Parser;return Br("parse",n),n(String(r),r)}process(t,r){const n=this;return this.freeze(),Br("process",this.parser||this.Parser),Ir("process",this.compiler||this.Compiler),r?o(void 0,r):new Promise(o);function o(a,A){const s=Dn(t),i=n.parse(s);function l(c,d){c||!d?A(c):a?a(d):r(void 0,d)}n.run(i,s,function(c,d,u){if(c||!d||!u)return l(c);const f=d,g=n.stringify(f,u);var b;typeof(b=g)=="string"||function(h){return!!(h&&typeof h=="object"&&"byteLength"in h&&"byteOffset"in h)}(b)?u.value=g:u.result=g,l(c,u)})}}processSync(t){let r,n=!1;return this.freeze(),Br("processSync",this.parser||this.Parser),Ir("processSync",this.compiler||this.Compiler),this.process(t,function(o,a){n=!0,Ha(o),r=a}),ja("processSync","process",n),r}run(t,r,n){Ra(t),this.freeze();const o=this.transformers;return!n&&typeof r=="function"&&(n=r,r=void 0),n?a(void 0,n):new Promise(a);function a(A,s){const i=Dn(r);o.run(t,i,function(l,c,d){const u=c||t;l?s(l):A?A(u):n(void 0,u,d)})}}runSync(t,r){let n,o=!1;return this.run(t,r,function(a,A){Ha(a),n=A,o=!0}),ja("runSync","run",o),n}stringify(t,r){this.freeze();const n=Dn(r),o=this.compiler||this.Compiler;return Ir("stringify",o),Ra(t),o(t,n)}use(t,...r){const n=this.attachers,o=this.namespace;if(Tr("use",this.frozen),t!=null)if(typeof t=="function")i(t,r);else{if(typeof t!="object")throw new TypeError("Expected usable value, not `"+t+"`");Array.isArray(t)?s(t):A(t)}return this;function a(l){if(typeof l=="function")i(l,[]);else{if(typeof l!="object")throw new TypeError("Expected usable value, not `"+l+"`");if(Array.isArray(l)){const[c,...d]=l;i(c,d)}else A(l)}}function A(l){if(!("plugins"in l)&&!("settings"in l))throw new Error("Expected usable value but received an empty preset, which is probably a mistake: presets typically come with `plugins` and sometimes with `settings`, but this has neither");s(l.plugins),l.settings&&(o.settings=xr(!0,o.settings,l.settings))}function s(l){let c=-1;if(l!=null){if(!Array.isArray(l))throw new TypeError("Expected a list of plugins, not `"+l+"`");for(;++c<l.length;)a(l[c])}}function i(l,c){let d=-1,u=-1;for(;++d<n.length;)if(n[d][0]===l){u=d;break}if(u===-1)n.push([l,...c]);else if(c.length>0){let[f,...g]=c;const b=n[u][1];Er(b)&&Er(f)&&(f=xr(!0,b,f)),n[u]=[l,f,...g]}}}}const zl=new Dr().freeze();function Br(e,t){if(typeof t!="function")throw new TypeError("Cannot `"+e+"` without `parser`")}function Ir(e,t){if(typeof t!="function")throw new TypeError("Cannot `"+e+"` without `compiler`")}function Tr(e,t){if(t)throw new Error("Cannot call `"+e+"` on a frozen processor.\nCreate a new processor first, by calling it: use `processor()` instead of `processor`.")}function Ra(e){if(!Er(e)||typeof e.type!="string")throw new TypeError("Expected node, got `"+e+"`")}function ja(e,t,r){if(!r)throw new Error("`"+e+"` finished async. Use `"+t+"` instead")}function Dn(e){return function(t){return!!(t&&typeof t=="object"&&"message"in t&&"messages"in t)}(e)?e:new Fa(e)}const qa=[],Ga={allowDangerousHtml:!0},Rl=/^(https?|ircs?|mailto|xmpp)$/i,jl=[{from:"astPlugins",id:"remove-buggy-html-in-markdown-parser"},{from:"allowDangerousHtml",id:"remove-buggy-html-in-markdown-parser"},{from:"allowNode",id:"replace-allownode-allowedtypes-and-disallowedtypes",to:"allowElement"},{from:"allowedTypes",id:"replace-allownode-allowedtypes-and-disallowedtypes",to:"allowedElements"},{from:"disallowedTypes",id:"replace-allownode-allowedtypes-and-disallowedtypes",to:"disallowedElements"},{from:"escapeHtml",id:"remove-buggy-html-in-markdown-parser"},{from:"includeElementIndex",id:"#remove-includeelementindex"},{from:"includeNodeIndex",id:"change-includenodeindex-to-includeelementindex"},{from:"linkTarget",id:"remove-linktarget"},{from:"plugins",id:"change-plugins-to-remarkplugins",to:"remarkPlugins"},{from:"rawSourcePos",id:"#remove-rawsourcepos"},{from:"renderers",id:"change-renderers-to-components",to:"components"},{from:"source",id:"change-source-to-children",to:"children"},{from:"sourcePos",id:"#remove-sourcepos"},{from:"transformImageUri",id:"#add-urltransform",to:"urlTransform"},{from:"transformLinkUri",id:"#add-urltransform",to:"urlTransform"}];function ql(e){const t=e.allowedElements,r=e.allowElement,n=e.children||"",o=e.className,a=e.components,A=e.disallowedElements,s=e.rehypePlugins||qa,i=e.remarkPlugins||qa,l=e.remarkRehypeOptions?{...e.remarkRehypeOptions,...Ga}:Ga,c=e.skipHtml,d=e.unwrapDisallowed,u=e.urlTransform||Gl,f=zl().use(yl).use(i).use(Ol,l).use(s),g=new Fa;typeof n=="string"&&(g.value=n);for(const w of jl)Object.hasOwn(e,w.from)&&(w.from,w.to&&w.to,w.id);const b=f.parse(g);let h=f.runSync(b,g);return o&&(h={type:"element",tagName:"div",properties:{className:o},children:h.type==="root"?h.children:[h]}),_a(h,function(w,x,m){if(w.type==="raw"&&m&&typeof x=="number")return c?m.children.splice(x,1):m.children[x]={type:"text",value:w.value},x;if(w.type==="element"){let k;for(k in ur)if(Object.hasOwn(ur,k)&&Object.hasOwn(w.properties,k)){const P=w.properties[k],C=ur[k];(C===null||C.includes(w.tagName))&&(w.properties[k]=u(String(P||""),k,w))}}if(w.type==="element"){let k=t?!t.includes(w.tagName):!!A&&A.includes(w.tagName);if(!k&&r&&typeof x=="number"&&(k=!r(w,x,m)),k&&m&&typeof x=="number")return d&&w.children?m.children.splice(x,1,...w.children):m.children.splice(x,1),x}}),gA(h,{Fragment:E.Fragment,components:a,ignoreInvalidStyle:!0,jsx:E.jsx,jsxs:E.jsxs,passKeys:!0,passNode:!0})}function Gl(e){const t=e.indexOf(":"),r=e.indexOf("?"),n=e.indexOf("#"),o=e.indexOf("/");return t===-1||o!==-1&&t>o||r!==-1&&t>r||n!==-1&&t>n||Rl.test(e.slice(0,t))?e:""}const Yl=({children:e})=>E.jsx("div",{style:{whiteSpace:"normal"},children:E.jsx(ql,{components:{p:({...t})=>E.jsx("p",{style:{margin:0,marginBottom:"0.5em",lineHeight:1.4,textAlign:"left"},children:t.children}),ul:({...t})=>E.jsx("ul",{style:{paddingLeft:"clamp(8px, 3.5vw, 16px)",margin:0,listStylePosition:"inside"},children:t.children}),ol:({...t})=>E.jsx("ol",{style:{paddingLeft:"clamp(8px, 3.5vw, 16px)",margin:0,listStylePosition:"inside"},children:t.children}),li:({...t})=>E.jsx("li",{style:{marginBottom:"1px",lineHeight:1.4},children:t.children}),code:({inline:t,children:r})=>t?E.jsx("code",{style:{backgroundColor:"rgba(0, 0, 0, 0.3)",padding:"2px 4px",borderRadius:"4px",fontFamily:"inherit",fontSize:"0.95em"},children:r}):E.jsx("pre",{style:{backgroundColor:"rgba(0, 0, 0, 0.3)",padding:"8px",borderRadius:"4px",overflowX:"auto",margin:"0.5em 0",whiteSpace:"pre-wrap"},children:E.jsx("code",{children:r})}),blockquote:({...t})=>E.jsx("blockquote",{style:{margin:0,paddingLeft:"10px",borderLeft:"2px solid #ccc",color:"#666",fontStyle:"italic"},children:t.children})},children:typeof e=="string"?e:""})}),Wl={autoConfig:!0},Kl=e=>()=>(t=>{const{getFlow:r}=bn(),{messages:n,replaceMessages:o}=Kt(),{settings:a}=xo(),{hasChatHistoryLoaded:A}=ko(),s={...t,...Wl},i=s.markdownComponent?s.markdownComponent:Yl;p.useEffect(()=>{var d,u;if(A){const f=[...n];for(let g=0;g<f.length&&g<(((d=a.chatHistory)==null?void 0:d.maxEntries)??30);g++){const b=f[g];(u=b.tags)!=null&&u.includes("rcb-markdown-renderer-plugin:parsed")&&(b.contentWrapper=i)}o(f)}},[A]);const l=async d=>{var u;const f=(u=d.data.message)==null?void 0:u.sender.toUpperCase();((g,b,h)=>{var w;if(typeof g.data.message.content!="string"||!g.detail.currPath)return!1;const x=b[g.detail.currPath];return!!x&&(((w=x.renderMarkdown)==null?void 0:w.map(m=>m.toUpperCase()).includes(h))??!1)})(d,r(),f)&&(d.data.message.contentWrapper=i,d.data.message.tags||(d.data.message.tags=[]),d.data.message.tags.push("rcb-markdown-renderer-plugin:parsed"))};Ge(j.PRE_INJECT_MESSAGE,l),Ge(j.CHUNK_STREAM_MESSAGE,l),Ge(j.START_STREAM_MESSAGE,l),Ge(j.START_SIMULATE_STREAM_MESSAGE,l);const c={name:"@rcb-plugins/markdown-renderer"};return s!=null&&s.autoConfig&&(c.settings={event:{rcbPreInjectMessage:!0,rcbChunkStreamMessage:!0,rcbStartSimulateStreamMessage:!0,rcbStartStreamMessage:!0}}),c})(e),Bn={autoConfig:!0,promptBaseColors:{info:"#007bff",warning:"#ffc107",error:"#dc3545",success:"#28a745"},promptHoveredColors:{info:"#0056b3",warning:"#d39e00",error:"#c82333",success:"#218838"},textAreaHighlightColors:{info:"#007bff",warning:"#ffc107",error:"#dc3545",success:"#28a745"}},Ya=(e,t,r="validateTextInput")=>{var n;if((n=e.detail)==null||!n.currPath)return;const o=t[e.detail.currPath];if(!o)return;const a=o[r];return typeof a=="function"?a:void 0},Vl=e=>{const{showToast:t}=(()=>{const{showToast:d,dismissToast:u,toasts:f,replaceToasts:g}=Bt();return{showToast:d,dismissToast:u,toasts:f,replaceToasts:g}})(),{getFlow:r}=bn(),{styles:n,updateStyles:o,replaceStyles:a}=(()=>{const{styles:d,replaceStyles:u,updateStyles:f}=yo();return{styles:d,replaceStyles:u,updateStyles:f}})(),A=(d=>({...Bn,...d,promptBaseColors:{...Bn.promptBaseColors},promptHoveredColors:{...Bn.promptHoveredColors},textAreaHighlightColors:{...Bn.textAreaHighlightColors}}))(e),[s,i]=p.useState(0),l=p.useRef({});Ge(j.USER_SUBMIT_TEXT,d=>{const u=d,f=Ya(u,r(),"validateTextInput");if(!f)return;const g=f(u.data.inputText);if(g!=null&&g.success||d.preventDefault(),!g.promptContent)return;s===0&&(l.current=structuredClone(n));const b=((h,w)=>{const x=h.promptType??"info";let m={};return w.advancedStyles&&(m=w.advancedStyles[x]),w.promptBaseColors&&(m.toastPromptStyle={color:w.promptBaseColors[x],borderColor:w.promptBaseColors[x]}),w.promptHoveredColors&&(m.toastPromptHoveredStyle={color:w.promptHoveredColors[x],borderColor:w.promptHoveredColors[x]}),w.textAreaHighlightColors&&(h.highlightTextArea??!0)&&(m.chatInputAreaStyle={boxShadow:`${w.textAreaHighlightColors[x]} 0px 0px 5px`}),m})(g,A);o(b),t(g.promptContent,g.promptDuration??3e3),i(h=>h+1)}),Ge(j.USER_UPLOAD_FILE,d=>{var u,f;const g=d,b=(f=(u=g.data)==null?void 0:u.files)==null?void 0:f[0];if(!b)return console.error("No file uploaded."),void d.preventDefault();const h=Ya(g,r(),"validateFileInput");if(!h)return void console.error("Validator not found for file input.");const w=h(b);if(!w.success)return console.error("Validation failed:",w),w.promptContent&&t(w.promptContent,w.promptDuration??3e3),void d.preventDefault();console.log("Validation successful:",w)}),Ge(j.DISMISS_TOAST,()=>{i(d=>d-1)}),p.useEffect(()=>{s===0&&setTimeout(()=>{a(l.current)})},[s,a]);const c={name:"@rcb-plugins/input-validator"};return A.autoConfig&&(c.settings={event:{rcbUserSubmitText:!0,rcbUserUploadFile:!0,rcbDismissToast:!0}}),c},Wa=p.forwardRef((e,t)=>{let{embedded:r,currentOpen:n,enabled:o,onSetEnabled:a}=e;const A=Kt(),s=(()=>{const{isChatWindowOpen:c,toggleChatWindow:d,toggleIsBotTyping:u,scrollToBottom:f,getIsChatBotVisible:g}=Re();return{isChatWindowOpen:c,toggleChatWindow:d,toggleIsBotTyping:u,scrollToBottom:f,getIsChatBotVisible:g}})(),i=p.useRef(!1),l=p.useRef(!1);return p.useEffect(()=>{!r&&s&&s.toggleChatWindow&&(i.current===n||l.current||(setTimeout(()=>{s&&s.toggleChatWindow&&s.toggleChatWindow(n)},0),i.current=n!=null&&n),l.current=!1)},[n,r,s]),p.useEffect(()=>{const c=()=>{l.current=!0};return window.addEventListener("rcb-toggle-chat-window",c),()=>window.removeEventListener("rcb-toggle-chat-window",c)}),p.useImperativeHandle(t,()=>({addMessage:c=>{A&&A.injectMessage&&A.injectMessage(c)},openChat:()=>{!r&&s&&s.toggleChatWindow&&s.toggleChatWindow(!0)},closeChat:()=>{!r&&s&&s.toggleChatWindow&&s.toggleChatWindow(!1)},toggleChat:()=>{!r&&s&&s.toggleChatWindow&&s.toggleChatWindow()},setBotEnabled:c=>{a&&a(c)}}),[A,s,r,a]),null});Wa.displayName="BotController";const Ka=p.createContext(null),Xl=e=>{let{trackEvent:t,children:r}=e;const n=p.useRef(t);return n.current=t,p.createElement(Ka.Provider,{value:{trackEvent:o=>n.current(o)}},r)},Va=()=>p.useContext(Ka)||{trackEvent:()=>{}},Xa=e=>{let{loginUrl:t,className:r="",style:n,isHeaderButton:o=!1}=e;const{trackEvent:a}=Va(),A=o?{display:"inline-block",padding:"6px 12px",backgroundColor:"transparent",border:"1px solid #ccc",color:"white",textDecoration:"none",borderRadius:"4px",fontWeight:"normal",textAlign:"center",margin:"8px",fontSize:"12px",opacity:.8,transition:"all 0.2s ease"}:{display:"inline-block",padding:"10px 20px",backgroundColor:"white",border:"1px solid var(--primaryColor, #107180)",color:"var(--primaryColor, #107180)",textDecoration:"none",borderRadius:"4px",fontWeight:"bold",textAlign:"center",margin:"18px",boxShadow:"0 2px 4px rgba(0, 0, 0, 0.2)"};return p.createElement(p.Fragment,null,o&&p.createElement("style",null,`
|
|
30
|
+
`}),r}function HA(e){let t=0,r=e.charCodeAt(t);for(;r===9||r===32;)t++,r=e.charCodeAt(t);return e.slice(t)}function UA(e,t){const r=Il(e,t),n=r.one(e,void 0),o=function(a){const s=typeof a.options.clobberPrefix=="string"?a.options.clobberPrefix:"user-content-",i=a.options.footnoteBackContent||Pl,l=a.options.footnoteBackLabel||Sl,c=a.options.footnoteLabel||"Footnotes",d=a.options.footnoteLabelTagName||"h2",u=a.options.footnoteLabelProperties||{className:["sr-only"]},p=[];let g=-1;for(;++g<a.footnoteOrder.length;){const v=a.footnoteById.get(a.footnoteOrder[g]);if(!v)continue;const h=a.all(v),w=String(v.identifier).toUpperCase(),E=Lt(w.toLowerCase());let m=0;const C=[],k=a.footnoteCounts.get(w);for(;k!==void 0&&++m<=k;){C.length>0&&C.push({type:"text",value:" "});let I=typeof i=="string"?i:i(g,m);typeof I=="string"&&(I={type:"text",value:I}),C.push({type:"element",tagName:"a",properties:{href:"#"+s+"fnref-"+E+(m>1?"-"+m:""),dataFootnoteBackref:"",ariaLabel:typeof l=="string"?l:l(g,m),className:["data-footnote-backref"]},children:Array.isArray(I)?I:[I]})}const S=h[h.length-1];if(S&&S.type==="element"&&S.tagName==="p"){const I=S.children[S.children.length-1];I&&I.type==="text"?I.value+=" ":S.children.push({type:"text",value:" "}),S.children.push(...C)}else h.push(...C);const D={type:"element",tagName:"li",properties:{id:s+"fn-"+E},children:a.wrap(h,!0)};a.patch(v,D),p.push(D)}if(p.length!==0)return{type:"element",tagName:"section",properties:{dataFootnotes:!0,className:["footnotes"]},children:[{type:"element",tagName:d,properties:{...Bn(u),id:"footnote-label"},children:[{type:"text",value:c}]},{type:"text",value:`
|
|
31
|
+
`},{type:"element",tagName:"ol",properties:{},children:a.wrap(p,!0)},{type:"text",value:`
|
|
32
|
+
`}]}}(r),A=Array.isArray(n)?{type:"root",children:n}:n||{type:"root",children:[]};return o&&A.children.push({type:"text",value:`
|
|
33
|
+
`},o),A}function _l(e,t){return e&&"run"in e?async function(r,n){const o=UA(r,{file:n,...t});await e.run(o,n)}:function(r,n){return UA(r,{file:n,...e||t})}}function FA(e){if(e)throw e}var Cr,RA,Nl=function(){if(RA)return Cr;RA=1;var e=Object.prototype.hasOwnProperty,t=Object.prototype.toString,r=Object.defineProperty,n=Object.getOwnPropertyDescriptor,o=function(i){return typeof Array.isArray=="function"?Array.isArray(i):t.call(i)==="[object Array]"},A=function(i){if(!i||t.call(i)!=="[object Object]")return!1;var l,c=e.call(i,"constructor"),d=i.constructor&&i.constructor.prototype&&e.call(i.constructor.prototype,"isPrototypeOf");if(i.constructor&&!c&&!d)return!1;for(l in i);return typeof l>"u"||e.call(i,l)},a=function(i,l){r&&l.name==="__proto__"?r(i,l.name,{enumerable:!0,configurable:!0,value:l.newValue,writable:!0}):i[l.name]=l.newValue},s=function(i,l){if(l==="__proto__"){if(!e.call(i,l))return;if(n)return n(i,l).value}return i[l]};return Cr=function i(){var l,c,d,u,p,g,v=arguments[0],h=1,w=arguments.length,E=!1;for(typeof v=="boolean"&&(E=v,v=arguments[1]||{},h=2),(v==null||typeof v!="object"&&typeof v!="function")&&(v={});h<w;++h)if((l=arguments[h])!=null)for(c in l)d=s(v,c),v!==(u=s(l,c))&&(E&&u&&(A(u)||(p=o(u)))?(p?(p=!1,g=d&&o(d)?d:[]):g=d&&A(d)?d:{},a(v,{name:c,newValue:i(E,g,u)})):typeof u<"u"&&a(v,{name:c,newValue:u}));return v},Cr}();const Pr=Go(Nl);function Sr(e){if(typeof e!="object"||e===null)return!1;const t=Object.getPrototypeOf(e);return!(t!==null&&t!==Object.prototype&&Object.getPrototypeOf(t)!==null||Symbol.toStringTag in e||Symbol.iterator in e)}function Ll(){const e=[],t={run:function(...r){let n=-1;const o=r.pop();if(typeof o!="function")throw new TypeError("Expected function as last argument, not "+o);(function A(a,...s){const i=e[++n];let l=-1;if(a)o(a);else{for(;++l<r.length;)(s[l]===null||s[l]===void 0)&&(s[l]=r[l]);r=s,i?function(c,d){let u;return p;function p(...h){const w=c.length>h.length;let E;w&&h.push(g);try{E=c.apply(this,h)}catch(m){if(w&&u)throw m;return g(m)}w||(E&&E.then&&typeof E.then=="function"?E.then(v,g):E instanceof Error?g(E):v(E))}function g(h,...w){u||(u=!0,d(h,...w))}function v(h){g(null,h)}}(i,A)(...s):o(null,...s)}})(null,...r)},use:function(r){if(typeof r!="function")throw new TypeError("Expected `middelware` to be a function, not "+r);return e.push(r),t}};return t}const At={basename:function(e,t){if(t!==void 0&&typeof t!="string")throw new TypeError('"ext" argument must be a string');rn(e);let r,n=0,o=-1,A=e.length;if(t===void 0||t.length===0||t.length>e.length){for(;A--;)if(e.codePointAt(A)===47){if(r){n=A+1;break}}else o<0&&(r=!0,o=A+1);return o<0?"":e.slice(n,o)}if(t===e)return"";let a=-1,s=t.length-1;for(;A--;)if(e.codePointAt(A)===47){if(r){n=A+1;break}}else a<0&&(r=!0,a=A+1),s>-1&&(e.codePointAt(A)===t.codePointAt(s--)?s<0&&(o=A):(s=-1,o=a));return n===o?o=a:o<0&&(o=e.length),e.slice(n,o)},dirname:function(e){if(rn(e),e.length===0)return".";let t,r=-1,n=e.length;for(;--n;)if(e.codePointAt(n)===47){if(t){r=n;break}}else t||(t=!0);return r<0?e.codePointAt(0)===47?"/":".":r===1&&e.codePointAt(0)===47?"//":e.slice(0,r)},extname:function(e){rn(e);let t,r=e.length,n=-1,o=0,A=-1,a=0;for(;r--;){const s=e.codePointAt(r);if(s!==47)n<0&&(t=!0,n=r+1),s===46?A<0?A=r:a!==1&&(a=1):A>-1&&(a=-1);else if(t){o=r+1;break}}return A<0||n<0||a===0||a===1&&A===n-1&&A===o+1?"":e.slice(A,n)},join:function(...e){let t,r=-1;for(;++r<e.length;)rn(e[r]),e[r]&&(t=t===void 0?e[r]:t+"/"+e[r]);return t===void 0?".":function(n){rn(n);const o=n.codePointAt(0)===47;let A=function(a,s){let i,l,c="",d=0,u=-1,p=0,g=-1;for(;++g<=a.length;){if(g<a.length)i=a.codePointAt(g);else{if(i===47)break;i=47}if(i===47){if(u!==g-1&&p!==1)if(u!==g-1&&p===2){if(c.length<2||d!==2||c.codePointAt(c.length-1)!==46||c.codePointAt(c.length-2)!==46){if(c.length>2){if(l=c.lastIndexOf("/"),l!==c.length-1){l<0?(c="",d=0):(c=c.slice(0,l),d=c.length-1-c.lastIndexOf("/")),u=g,p=0;continue}}else if(c.length>0){c="",d=0,u=g,p=0;continue}}s&&(c=c.length>0?c+"/..":"..",d=2)}else c.length>0?c+="/"+a.slice(u+1,g):c=a.slice(u+1,g),d=g-u-1;u=g,p=0}else i===46&&p>-1?p++:p=-1}return c}(n,!o);return A.length===0&&!o&&(A="."),A.length>0&&n.codePointAt(n.length-1)===47&&(A+="/"),o?"/"+A:A}(t)},sep:"/"};function rn(e){if(typeof e!="string")throw new TypeError("Path must be a string. Received "+JSON.stringify(e))}const Hl={cwd:function(){return"/"}};function kr(e){return!!(e!==null&&typeof e=="object"&&"href"in e&&e.href&&"protocol"in e&&e.protocol&&e.auth===void 0)}function Ul(e){if(typeof e=="string")e=new URL(e);else if(!kr(e)){const t=new TypeError('The "path" argument must be of type string or an instance of URL. Received `'+e+"`");throw t.code="ERR_INVALID_ARG_TYPE",t}if(e.protocol!=="file:"){const t=new TypeError("The URL must be of scheme file");throw t.code="ERR_INVALID_URL_SCHEME",t}return function(t){if(t.hostname!==""){const o=new TypeError('File URL host must be "localhost" or empty on darwin');throw o.code="ERR_INVALID_FILE_URL_HOST",o}const r=t.pathname;let n=-1;for(;++n<r.length;)if(r.codePointAt(n)===37&&r.codePointAt(n+1)===50){const o=r.codePointAt(n+2);if(o===70||o===102){const A=new TypeError("File URL path must not include encoded / characters");throw A.code="ERR_INVALID_FILE_URL_PATH",A}}return decodeURIComponent(r)}(e)}const Dr=["history","path","basename","stem","extname","dirname"];class zA{constructor(t){let r;var n;r=t?kr(t)?{path:t}:typeof t=="string"||(n=t)&&typeof n=="object"&&"byteLength"in n&&"byteOffset"in n?{value:t}:t:{},this.cwd="cwd"in r?"":Hl.cwd(),this.data={},this.history=[],this.messages=[],this.value,this.map,this.result,this.stored;let o,A=-1;for(;++A<Dr.length;){const a=Dr[A];a in r&&r[a]!==void 0&&r[a]!==null&&(this[a]=a==="history"?[...r[a]]:r[a])}for(o in r)Dr.includes(o)||(this[o]=r[o])}get basename(){return typeof this.path=="string"?At.basename(this.path):void 0}set basename(t){xr(t,"basename"),Br(t,"basename"),this.path=At.join(this.dirname||"",t)}get dirname(){return typeof this.path=="string"?At.dirname(this.path):void 0}set dirname(t){jA(this.basename,"dirname"),this.path=At.join(t||"",this.basename)}get extname(){return typeof this.path=="string"?At.extname(this.path):void 0}set extname(t){if(Br(t,"extname"),jA(this.dirname,"extname"),t){if(t.codePointAt(0)!==46)throw new Error("`extname` must start with `.`");if(t.includes(".",1))throw new Error("`extname` cannot contain multiple dots")}this.path=At.join(this.dirname,this.stem+(t||""))}get path(){return this.history[this.history.length-1]}set path(t){kr(t)&&(t=Ul(t)),xr(t,"path"),this.path!==t&&this.history.push(t)}get stem(){return typeof this.path=="string"?At.basename(this.path,this.extname):void 0}set stem(t){xr(t,"stem"),Br(t,"stem"),this.path=At.join(this.dirname||"",t+(this.extname||""))}fail(t,r,n){const o=this.message(t,r,n);throw o.fatal=!0,o}info(t,r,n){const o=this.message(t,r,n);return o.fatal=void 0,o}message(t,r,n){const o=new Ne(t,r,n);return this.path&&(o.name=this.path+":"+o.name,o.file=this.path),o.fatal=!1,this.messages.push(o),o}toString(t){return this.value===void 0?"":typeof this.value=="string"?this.value:new TextDecoder(t||void 0).decode(this.value)}}function Br(e,t){if(e&&e.includes(At.sep))throw new Error("`"+t+"` cannot be a path: did not expect `"+At.sep+"`")}function xr(e,t){if(!e)throw new Error("`"+t+"` cannot be empty")}function jA(e,t){if(!e)throw new Error("Setting `"+t+"` requires `path` to be set too")}const Fl=function(e){const t=this.constructor.prototype,r=t[e],n=function(){return r.apply(n,arguments)};return Object.setPrototypeOf(n,t),n},Rl={}.hasOwnProperty;class Ir extends Fl{constructor(){super("copy"),this.Compiler=void 0,this.Parser=void 0,this.attachers=[],this.compiler=void 0,this.freezeIndex=-1,this.frozen=void 0,this.namespace={},this.parser=void 0,this.transformers=Ll()}copy(){const t=new Ir;let r=-1;for(;++r<this.attachers.length;){const n=this.attachers[r];t.use(...n)}return t.data(Pr(!0,{},this.namespace)),t}data(t,r){return typeof t=="string"?arguments.length===2?(Mr("data",this.frozen),this.namespace[t]=r,this):Rl.call(this.namespace,t)&&this.namespace[t]||void 0:t?(Mr("data",this.frozen),this.namespace=t,this):this.namespace}freeze(){if(this.frozen)return this;const t=this;for(;++this.freezeIndex<this.attachers.length;){const[r,...n]=this.attachers[this.freezeIndex];if(n[0]===!1)continue;n[0]===!0&&(n[0]=void 0);const o=r.call(t,...n);typeof o=="function"&&this.transformers.use(o)}return this.frozen=!0,this.freezeIndex=Number.POSITIVE_INFINITY,this}parse(t){this.freeze();const r=In(t),n=this.parser||this.Parser;return Tr("parse",n),n(String(r),r)}process(t,r){const n=this;return this.freeze(),Tr("process",this.parser||this.Parser),Qr("process",this.compiler||this.Compiler),r?o(void 0,r):new Promise(o);function o(A,a){const s=In(t),i=n.parse(s);function l(c,d){c||!d?a(c):A?A(d):r(void 0,d)}n.run(i,s,function(c,d,u){if(c||!d||!u)return l(c);const p=d,g=n.stringify(p,u);var v;typeof(v=g)=="string"||function(h){return!!(h&&typeof h=="object"&&"byteLength"in h&&"byteOffset"in h)}(v)?u.value=g:u.result=g,l(c,u)})}}processSync(t){let r,n=!1;return this.freeze(),Tr("processSync",this.parser||this.Parser),Qr("processSync",this.compiler||this.Compiler),this.process(t,function(o,A){n=!0,FA(o),r=A}),GA("processSync","process",n),r}run(t,r,n){qA(t),this.freeze();const o=this.transformers;return!n&&typeof r=="function"&&(n=r,r=void 0),n?A(void 0,n):new Promise(A);function A(a,s){const i=In(r);o.run(t,i,function(l,c,d){const u=c||t;l?s(l):a?a(u):n(void 0,u,d)})}}runSync(t,r){let n,o=!1;return this.run(t,r,function(A,a){FA(A),n=a,o=!0}),GA("runSync","run",o),n}stringify(t,r){this.freeze();const n=In(r),o=this.compiler||this.Compiler;return Qr("stringify",o),qA(t),o(t,n)}use(t,...r){const n=this.attachers,o=this.namespace;if(Mr("use",this.frozen),t!=null)if(typeof t=="function")i(t,r);else{if(typeof t!="object")throw new TypeError("Expected usable value, not `"+t+"`");Array.isArray(t)?s(t):a(t)}return this;function A(l){if(typeof l=="function")i(l,[]);else{if(typeof l!="object")throw new TypeError("Expected usable value, not `"+l+"`");if(Array.isArray(l)){const[c,...d]=l;i(c,d)}else a(l)}}function a(l){if(!("plugins"in l)&&!("settings"in l))throw new Error("Expected usable value but received an empty preset, which is probably a mistake: presets typically come with `plugins` and sometimes with `settings`, but this has neither");s(l.plugins),l.settings&&(o.settings=Pr(!0,o.settings,l.settings))}function s(l){let c=-1;if(l!=null){if(!Array.isArray(l))throw new TypeError("Expected a list of plugins, not `"+l+"`");for(;++c<l.length;)A(l[c])}}function i(l,c){let d=-1,u=-1;for(;++d<n.length;)if(n[d][0]===l){u=d;break}if(u===-1)n.push([l,...c]);else if(c.length>0){let[p,...g]=c;const v=n[u][1];Sr(v)&&Sr(p)&&(p=Pr(!0,v,p)),n[u]=[l,p,...g]}}}}const zl=new Ir().freeze();function Tr(e,t){if(typeof t!="function")throw new TypeError("Cannot `"+e+"` without `parser`")}function Qr(e,t){if(typeof t!="function")throw new TypeError("Cannot `"+e+"` without `compiler`")}function Mr(e,t){if(t)throw new Error("Cannot call `"+e+"` on a frozen processor.\nCreate a new processor first, by calling it: use `processor()` instead of `processor`.")}function qA(e){if(!Sr(e)||typeof e.type!="string")throw new TypeError("Expected node, got `"+e+"`")}function GA(e,t,r){if(!r)throw new Error("`"+e+"` finished async. Use `"+t+"` instead")}function In(e){return function(t){return!!(t&&typeof t=="object"&&"message"in t&&"messages"in t)}(e)?e:new zA(e)}const WA=[],YA={allowDangerousHtml:!0},jl=/^(https?|ircs?|mailto|xmpp)$/i,ql=[{from:"astPlugins",id:"remove-buggy-html-in-markdown-parser"},{from:"allowDangerousHtml",id:"remove-buggy-html-in-markdown-parser"},{from:"allowNode",id:"replace-allownode-allowedtypes-and-disallowedtypes",to:"allowElement"},{from:"allowedTypes",id:"replace-allownode-allowedtypes-and-disallowedtypes",to:"allowedElements"},{from:"disallowedTypes",id:"replace-allownode-allowedtypes-and-disallowedtypes",to:"disallowedElements"},{from:"escapeHtml",id:"remove-buggy-html-in-markdown-parser"},{from:"includeElementIndex",id:"#remove-includeelementindex"},{from:"includeNodeIndex",id:"change-includenodeindex-to-includeelementindex"},{from:"linkTarget",id:"remove-linktarget"},{from:"plugins",id:"change-plugins-to-remarkplugins",to:"remarkPlugins"},{from:"rawSourcePos",id:"#remove-rawsourcepos"},{from:"renderers",id:"change-renderers-to-components",to:"components"},{from:"source",id:"change-source-to-children",to:"children"},{from:"sourcePos",id:"#remove-sourcepos"},{from:"transformImageUri",id:"#add-urltransform",to:"urlTransform"},{from:"transformLinkUri",id:"#add-urltransform",to:"urlTransform"}];function Gl(e){const t=e.allowedElements,r=e.allowElement,n=e.children||"",o=e.className,A=e.components,a=e.disallowedElements,s=e.rehypePlugins||WA,i=e.remarkPlugins||WA,l=e.remarkRehypeOptions?{...e.remarkRehypeOptions,...YA}:YA,c=e.skipHtml,d=e.unwrapDisallowed,u=e.urlTransform||Wl,p=zl().use(vl).use(i).use(_l,l).use(s),g=new zA;typeof n=="string"&&(g.value=n);for(const w of ql)Object.hasOwn(e,w.from)&&(w.from,w.to&&w.to,w.id);const v=p.parse(g);let h=p.runSync(v,g);return o&&(h={type:"element",tagName:"div",properties:{className:o},children:h.type==="root"?h.children:[h]}),LA(h,function(w,E,m){if(w.type==="raw"&&m&&typeof E=="number")return c?m.children.splice(E,1):m.children[E]={type:"text",value:w.value},E;if(w.type==="element"){let C;for(C in fr)if(Object.hasOwn(fr,C)&&Object.hasOwn(w.properties,C)){const k=w.properties[C],S=fr[C];(S===null||S.includes(w.tagName))&&(w.properties[C]=u(String(k||""),C,w))}}if(w.type==="element"){let C=t?!t.includes(w.tagName):!!a&&a.includes(w.tagName);if(!C&&r&&typeof E=="number"&&(C=!r(w,E,m)),C&&m&&typeof E=="number")return d&&w.children?m.children.splice(E,1,...w.children):m.children.splice(E,1),E}}),ma(h,{Fragment:P.Fragment,components:A,ignoreInvalidStyle:!0,jsx:P.jsx,jsxs:P.jsxs,passKeys:!0,passNode:!0})}function Wl(e){const t=e.indexOf(":"),r=e.indexOf("?"),n=e.indexOf("#"),o=e.indexOf("/");return t===-1||o!==-1&&t>o||r!==-1&&t>r||n!==-1&&t>n||jl.test(e.slice(0,t))?e:""}const Yl=({children:e})=>P.jsx("div",{style:{whiteSpace:"normal"},children:P.jsx(Gl,{components:{p:({...t})=>P.jsx("p",{style:{margin:0,marginBottom:"0.5em",lineHeight:1.4,textAlign:"left"},children:t.children}),ul:({...t})=>P.jsx("ul",{style:{paddingLeft:"clamp(8px, 3.5vw, 16px)",margin:0,listStylePosition:"inside"},children:t.children}),ol:({...t})=>P.jsx("ol",{style:{paddingLeft:"clamp(8px, 3.5vw, 16px)",margin:0,listStylePosition:"inside"},children:t.children}),li:({...t})=>P.jsx("li",{style:{marginBottom:"1px",lineHeight:1.4},children:t.children}),code:({inline:t,children:r})=>t?P.jsx("code",{style:{backgroundColor:"rgba(0, 0, 0, 0.3)",padding:"2px 4px",borderRadius:"4px",fontFamily:"inherit",fontSize:"0.95em"},children:r}):P.jsx("pre",{style:{backgroundColor:"rgba(0, 0, 0, 0.3)",padding:"8px",borderRadius:"4px",overflowX:"auto",margin:"0.5em 0",whiteSpace:"pre-wrap"},children:P.jsx("code",{children:r})}),blockquote:({...t})=>P.jsx("blockquote",{style:{margin:0,paddingLeft:"10px",borderLeft:"2px solid #ccc",color:"#666",fontStyle:"italic"},children:t.children})},children:typeof e=="string"?e:""})}),Kl={autoConfig:!0},Vl=e=>()=>(t=>{const{getFlow:r}=bn(),{messages:n,replaceMessages:o}=Xt(),{settings:A}=Po(),{hasChatHistoryLoaded:a}=ko(),s={...t,...Kl},i=s.markdownComponent?s.markdownComponent:Yl;f.useEffect(()=>{var d,u;if(a){const p=[...n];for(let g=0;g<p.length&&g<(((d=A.chatHistory)==null?void 0:d.maxEntries)??30);g++){const v=p[g];(u=v.tags)!=null&&u.includes("rcb-markdown-renderer-plugin:parsed")&&(v.contentWrapper=i)}o(p)}},[a]);const l=async d=>{var u;const p=(u=d.data.message)==null?void 0:u.sender.toUpperCase();((g,v,h)=>{var w;if(typeof g.data.message.content!="string"||!g.detail.currPath)return!1;const E=v[g.detail.currPath];return!!E&&(((w=E.renderMarkdown)==null?void 0:w.map(m=>m.toUpperCase()).includes(h))??!1)})(d,r(),p)&&(d.data.message.contentWrapper=i,d.data.message.tags||(d.data.message.tags=[]),d.data.message.tags.push("rcb-markdown-renderer-plugin:parsed"))};Ke(R.PRE_INJECT_MESSAGE,l),Ke(R.CHUNK_STREAM_MESSAGE,l),Ke(R.START_STREAM_MESSAGE,l),Ke(R.START_SIMULATE_STREAM_MESSAGE,l);const c={name:"@rcb-plugins/markdown-renderer"};return s!=null&&s.autoConfig&&(c.settings={event:{rcbPreInjectMessage:!0,rcbChunkStreamMessage:!0,rcbStartSimulateStreamMessage:!0,rcbStartStreamMessage:!0}}),c})(e),Tn={autoConfig:!0,promptBaseColors:{info:"#007bff",warning:"#ffc107",error:"#dc3545",success:"#28a745"},promptHoveredColors:{info:"#0056b3",warning:"#d39e00",error:"#c82333",success:"#218838"},textAreaHighlightColors:{info:"#007bff",warning:"#ffc107",error:"#dc3545",success:"#28a745"}},KA=(e,t,r="validateTextInput")=>{var n;if((n=e.detail)==null||!n.currPath)return;const o=t[e.detail.currPath];if(!o)return;const A=o[r];return typeof A=="function"?A:void 0},Xl=e=>{const{showToast:t}=(()=>{const{showToast:d,dismissToast:u,toasts:p,replaceToasts:g}=Tt();return{showToast:d,dismissToast:u,toasts:p,replaceToasts:g}})(),{getFlow:r}=bn(),{styles:n,updateStyles:o,replaceStyles:A}=(()=>{const{styles:d,replaceStyles:u,updateStyles:p}=wo();return{styles:d,replaceStyles:u,updateStyles:p}})(),a=(d=>({...Tn,...d,promptBaseColors:{...Tn.promptBaseColors},promptHoveredColors:{...Tn.promptHoveredColors},textAreaHighlightColors:{...Tn.textAreaHighlightColors}}))(e),[s,i]=f.useState(0),l=f.useRef({});Ke(R.USER_SUBMIT_TEXT,d=>{const u=d,p=KA(u,r(),"validateTextInput");if(!p)return;const g=p(u.data.inputText);if(g!=null&&g.success||d.preventDefault(),!g.promptContent)return;s===0&&(l.current=structuredClone(n));const v=((h,w)=>{const E=h.promptType??"info";let m={};return w.advancedStyles&&(m=w.advancedStyles[E]),w.promptBaseColors&&(m.toastPromptStyle={color:w.promptBaseColors[E],borderColor:w.promptBaseColors[E]}),w.promptHoveredColors&&(m.toastPromptHoveredStyle={color:w.promptHoveredColors[E],borderColor:w.promptHoveredColors[E]}),w.textAreaHighlightColors&&(h.highlightTextArea??!0)&&(m.chatInputAreaStyle={boxShadow:`${w.textAreaHighlightColors[E]} 0px 0px 5px`}),m})(g,a);o(v),t(g.promptContent,g.promptDuration??3e3),i(h=>h+1)}),Ke(R.USER_UPLOAD_FILE,d=>{var u,p;const g=d,v=(p=(u=g.data)==null?void 0:u.files)==null?void 0:p[0];if(!v)return console.error("No file uploaded."),void d.preventDefault();const h=KA(g,r(),"validateFileInput");if(!h)return void console.error("Validator not found for file input.");const w=h(v);if(!w.success)return console.error("Validation failed:",w),w.promptContent&&t(w.promptContent,w.promptDuration??3e3),void d.preventDefault();console.log("Validation successful:",w)}),Ke(R.DISMISS_TOAST,()=>{i(d=>d-1)}),f.useEffect(()=>{s===0&&setTimeout(()=>{A(l.current)})},[s,A]);const c={name:"@rcb-plugins/input-validator"};return a.autoConfig&&(c.settings={event:{rcbUserSubmitText:!0,rcbUserUploadFile:!0,rcbDismissToast:!0}}),c},VA=f.forwardRef((e,t)=>{let{embedded:r,currentOpen:n,enabled:o,onSetEnabled:A}=e;const a=Xt(),s=(()=>{const{isChatWindowOpen:c,toggleChatWindow:d,toggleIsBotTyping:u,scrollToBottom:p,getIsChatBotVisible:g}=qe();return{isChatWindowOpen:c,toggleChatWindow:d,toggleIsBotTyping:u,scrollToBottom:p,getIsChatBotVisible:g}})(),i=f.useRef(!1),l=f.useRef(!1);return f.useEffect(()=>{!r&&s&&s.toggleChatWindow&&(i.current===n||l.current||(setTimeout(()=>{s&&s.toggleChatWindow&&s.toggleChatWindow(n)},0),i.current=n!=null&&n),l.current=!1)},[n,r,s]),f.useEffect(()=>{const c=()=>{l.current=!0};return window.addEventListener("rcb-toggle-chat-window",c),()=>window.removeEventListener("rcb-toggle-chat-window",c)}),f.useImperativeHandle(t,()=>({addMessage:c=>{a&&a.injectMessage&&a.injectMessage(c)},openChat:()=>{!r&&s&&s.toggleChatWindow&&s.toggleChatWindow(!0)},closeChat:()=>{!r&&s&&s.toggleChatWindow&&s.toggleChatWindow(!1)},toggleChat:()=>{!r&&s&&s.toggleChatWindow&&s.toggleChatWindow()},setBotEnabled:c=>{A&&A(c)}}),[a,s,r,A]),null});VA.displayName="BotController";const XA=f.createContext(null),Jl=e=>{let{trackEvent:t,children:r}=e;const n=f.useRef(t);return n.current=t,f.createElement(XA.Provider,{value:{trackEvent:o=>n.current(o)}},r)},JA=()=>f.useContext(XA)||{trackEvent:()=>{}},ZA=e=>{let{loginUrl:t,className:r="",style:n,isHeaderButton:o=!1}=e;const{trackEvent:A}=JA(),a=o?{display:"inline-block",padding:"6px 12px",backgroundColor:"transparent",border:"1px solid #ccc",color:"white",textDecoration:"none",borderRadius:"4px",fontWeight:"normal",textAlign:"center",margin:"8px",fontSize:"12px",opacity:.8,transition:"all 0.2s ease"}:{display:"inline-block",padding:"10px 20px",backgroundColor:"white",border:"1px solid var(--primaryColor, #107180)",color:"var(--primaryColor, #107180)",textDecoration:"none",borderRadius:"4px",fontWeight:"bold",textAlign:"center",margin:"18px",boxShadow:"0 2px 4px rgba(0, 0, 0, 0.2)"};return f.createElement(f.Fragment,null,o&&f.createElement("style",null,`
|
|
34
34
|
.rcb-chat-header-container .qa-bot-header-login-button:hover {
|
|
35
35
|
background-color: #0000001a !important;
|
|
36
36
|
opacity: 1 !important;
|
|
37
37
|
}
|
|
38
|
-
`),p.createElement("a",{href:t,target:"_blank",rel:"noopener noreferrer",className:"qa-bot-login-button ".concat(o?"qa-bot-header-login-button":""," ").concat(r),style:Object.assign(Object.assign({},A),n),onClick:()=>{a({type:"chatbot_login_clicked",loginUrl:t})}},"Log In"))},Jl=()=>p.createElement("div",{className:"user-login-icon",style:{alignItems:"center",justifyContent:"center",width:"30px",height:"30px",borderRadius:"50%",backgroundColor:"var(--primaryColor, #1a5b6e)",marginRight:"5px",display:"flex"},role:"img","aria-label":"User logged in",title:"User logged in"},p.createElement("svg",{width:"18",height:"18",viewBox:"0 0 24 24",fill:"none",stroke:"white",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",focusable:"false"},p.createElement("path",{d:"M20 21v-2a4 4 0 0 0-4-4H8a4 4 0 0 0-4 4v2"}),p.createElement("circle",{cx:"12",cy:"7",r:"4"}))),Ie=[];for(let e=0;e<256;++e)Ie.push((e+256).toString(16).slice(1));let Qr;const Zl=new Uint8Array(16);var Ja={randomUUID:typeof crypto<"u"&&crypto.randomUUID&&crypto.randomUUID.bind(crypto)};function Za(e,t,r){var o;if(Ja.randomUUID&&!e)return Ja.randomUUID();const n=(e=e||{}).random??((o=e.rng)==null?void 0:o.call(e))??function(){if(!Qr){if(typeof crypto>"u"||!crypto.getRandomValues)throw new Error("crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported");Qr=crypto.getRandomValues.bind(crypto)}return Qr(Zl)}();if(n.length<16)throw new Error("Random bytes length must be >= 16");return n[6]=15&n[6]|64,n[8]=63&n[8]|128,function(a,A=0){return(Ie[a[A+0]]+Ie[a[A+1]]+Ie[a[A+2]]+Ie[a[A+3]]+"-"+Ie[a[A+4]]+Ie[a[A+5]]+"-"+Ie[a[A+6]]+Ie[a[A+7]]+"-"+Ie[a[A+8]]+Ie[a[A+9]]+"-"+Ie[a[A+10]]+Ie[a[A+11]]+Ie[a[A+12]]+Ie[a[A+13]]+Ie[a[A+14]]+Ie[a[A+15]]).toLowerCase()}(n)}function St(){return typeof localStorage<"u"&&localStorage.getItem("QA_BOT_DEBUG")==="true"}const $l="background: #1a5b6e; color: white; padding: 2px 6px; border-radius: 3px;",ec="background: #7c3aed; color: white; padding: 2px 6px; border-radius: 3px;",tc="background: #059669; color: white; padding: 2px 6px; border-radius: 3px;",nc="background: #f97316; color: white; padding: 2px 6px; border-radius: 3px;",rc="background: #f59e0b; color: #000; padding: 2px 6px; border-radius: 3px 0 0 3px; font-weight: bold;",oc="background: #fbbf24; color: #000; padding: 2px 6px; border-radius: 0 3px 3px 0;",ac=()=>{St()&&console.log("%c QA Bot Core %c v".concat("0.2.35"," "),rc,oc)},In=function(e){if(St()){for(var t=arguments.length,r=new Array(t>1?t-1:0),n=1;n<t;n++)r[n-1]=arguments[n];console.log("%c[Session]%c ".concat(e),$l,"",...r)}},ot=function(e){if(St()){for(var t=arguments.length,r=new Array(t>1?t-1:0),n=1;n<t;n++)r[n-1]=arguments[n];console.log("%c[History]%c ".concat(e),ec,"",...r)}},ic=(e,t)=>{St()&&console.log("%c[Message]%c ".concat(e),tc,"",t)},nn=function(e){if(St()){for(var t=arguments.length,r=new Array(t>1?t-1:0),n=1;n<t;n++)r[n-1]=arguments[n];console.log("%c[Turnstile]%c ".concat(e),nc,"",...r)}},$a=function(){console.warn(...arguments)},De=function(){console.error(...arguments)},ei="qa_bot_session_messages",ti=()=>"qa_bot_session_".concat(Za()),rn=()=>{try{const e=localStorage.getItem(ei);return e?JSON.parse(e):{}}catch{return{}}},sc=(e,t,r,n,o)=>{const a=rn();if(!a[e]&&(a[e]={messages:[],startedAt:new Date().toISOString(),preview:""},ot("NEW session created",{sessionId:e.slice(-12)})),a[e].messages.some(l=>l.id===t))return void ot("DUPLICATE message skipped",{sessionId:e.slice(-12),messageId:t.slice(-8),sender:n});const A={id:t,content:r,sender:n,type:o,timestamp:Date.now()};a[e].messages.push(A),ot("MESSAGE added",{sessionId:e.slice(-12),messageId:t.slice(-8),sender:n,totalInSession:a[e].messages.length});const s=a[e].messages,i=s.find(l=>{var c;return l.sender.toLowerCase()==="bot"&&((c=l.content)===null||c===void 0?void 0:c.trim())&&l.content.length>=100});if(i){const l=i.content;a[e].preview=l.slice(0,50)+(l.length>50?"...":"")}else{const l=s.find(c=>{var d;return c.sender.toLowerCase()==="user"&&((d=c.content)===null||d===void 0?void 0:d.trim())});if(l&&!a[e].preview){const c=l.content;a[e].preview=c.slice(0,50)+(c.length>50?"...":"")}}(l=>{var c;const d=()=>Object.values(l).reduce((u,f)=>u+f.messages.length,0);for(;d()>100&&Object.keys(l).length>1;){const u=(c=Object.entries(l).sort((f,g)=>{let[,b]=f,[,h]=g;return new Date(b.startedAt).getTime()-new Date(h.startedAt).getTime()})[0])===null||c===void 0?void 0:c[0];if(!u)break;delete l[u]}localStorage.setItem(ei,JSON.stringify(l))})(a),ot("STORAGE state",{ourSessions:Object.keys(a).length,ourTotalMessages:Object.values(a).reduce((l,c)=>l+c.messages.length,0)})},ni=e=>{var t,r;return(r=(t=rn()[e])===null||t===void 0?void 0:t.messages.length)!==null&&r!==void 0?r:0},Ac=e=>{const t=rn()[e];return t!=null&&t.startedAt?Date.now()-new Date(t.startedAt).getTime():0},ri=p.createContext(void 0),lc=e=>{let{children:t,getSessionId:r,setSessionId:n,resetSession:o,clearResettingFlag:a}=e;return p.createElement(ri.Provider,{value:{getSessionId:r,setSessionId:n,resetSession:o,clearResettingFlag:a}},t)},Mr=()=>{const e=p.useContext(ri);if(!e)throw new Error("useSession must be used within a SessionProvider");return e},cc=()=>{const[e,t]=p.useState(!1),[r,n]=p.useState([]),[o,a]=p.useState(null),[A,s]=p.useState(0),i=p.useRef(null),l=p.useRef(null),{replaceMessages:c}=Kt(),{toggleTextAreaDisabled:d}=Eo(),{setSessionId:u,getSessionId:f}=Mr();p.useEffect(()=>{var b,h;const w=m=>{i.current&&!i.current.contains(m.target)&&l.current&&!l.current.contains(m.target)&&t(!1)},x=(h=(b=i.current)===null||b===void 0?void 0:b.getRootNode())!==null&&h!==void 0?h:document;return e&&x.addEventListener("mousedown",w),()=>{x.removeEventListener("mousedown",w)}},[e]);const g=b=>{var h;const w=f();if(ot("RESTORE requested",{targetSession:b.slice(-12),currentSession:w==null?void 0:w.slice(-12)}),b===w)return ot("RESTORE skipped - already on this session"),void t(!1);const x=(P=>{var C;return((C=rn()[P])===null||C===void 0?void 0:C.messages)||[]})(b).filter(P=>{var C;return(C=P.content)===null||C===void 0?void 0:C.trim()});ot("Stored messages from our localStorage",{count:x.length,ids:x.map(P=>P.id.slice(-8))});const m=x.map(P=>({id:P.id,content:P.content,sender:P.sender.toUpperCase(),type:P.type||"string",timestamp:new Date(P.timestamp).toISOString()}));var k;u(b),ot("Session ID updated",{newSession:b.slice(-12)}),c(m),ot("replaceMessages called",{count:m.length}),k=(h=l.current)===null||h===void 0?void 0:h.getRootNode(),setTimeout(()=>{const P=(k||document).querySelector(".rcb-chat-body-container");P&&P.querySelectorAll(".rcb-bot-message").forEach(C=>{var S;let I=C.innerHTML,Q=!1;I.includes("](")&&(I=I.replace(/\[([^\]]+)\]\(([^)]+)\)/g,'<a href="$2" target="_blank" rel="noopener noreferrer">$1</a>'),Q=!0),I.includes("<a href=")&&(I=I.replace(/<a\s+href=["']([^"']+)["'][^&]*>([^&]+)<\/a>/gi,'<a href="$1" target="_blank" rel="noopener noreferrer">$2</a>'),Q=!0),(I.includes("<a ")||!((S=C.textContent)===null||S===void 0)&&S.includes("<a href="))&&(C.textContent||"").includes("<a href=")&&(I=I.replace(/<a\s+href="([^"]+)"[^&]*>([^&]+)<\/a>/gi,'<a href="$1" target="_blank" rel="noopener noreferrer">$2</a>'),Q=!0),Q&&(C.innerHTML=I)})},50),d(!1),ot("Chat input enabled after restore"),t(!1)};return p.createElement("div",{style:{position:"relative"}},p.createElement("button",{ref:l,className:"history-button",onClick:()=>{if(!e&&(n((()=>{const b=rn();return Object.entries(b).map(h=>{let[w,x]=h;return Object.assign({sessionId:w},x)}).sort((h,w)=>new Date(w.startedAt).getTime()-new Date(h.startedAt).getTime())})()),l.current)){const b=l.current.closest(".rcb-chat-window");if(b){const h=b.getBoundingClientRect(),w=l.current.getBoundingClientRect();a(h.width+3),s(h.right-w.right-18+4)}}t(!e)},style:{alignItems:"center",justifyContent:"center",width:"30px",height:"30px",borderRadius:"50%",backgroundColor:"var(--primaryColor, #1a5b6e)",marginRight:"18px",display:"flex",border:"none",cursor:"pointer",padding:0},"aria-label":"View chat history",title:"View chat history","aria-expanded":e,"aria-haspopup":"menu"},p.createElement("svg",{width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"white",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",focusable:"false"},p.createElement("circle",{cx:"12",cy:"12",r:"10"}),p.createElement("polyline",{points:"12 6 12 12 16 14"}))),e&&p.createElement("div",{ref:i,role:"menu",style:{position:"absolute",right:A?"-".concat(A,"px"):"-18px",top:"100%",marginTop:"8px",width:o?"".concat(o,"px"):"550px",backgroundColor:"white",borderRadius:0,borderBottom:"3px solid var(--primaryColor, #1a5b6e)",boxShadow:"0 2px 8px rgba(0, 0, 0, 0.1)",maxHeight:"250px",overflowY:"auto",zIndex:1e3}},r.length===0?p.createElement("div",{style:{padding:"12px 16px",color:"#666",fontSize:"14px",textAlign:"center"}},"No chat history"):r.map(b=>p.createElement("button",{key:b.sessionId,role:"menuitem",onClick:()=>g(b.sessionId),style:{width:"100%",padding:"10px 14px",border:"none",backgroundColor:"transparent",cursor:"pointer",textAlign:"left",display:"flex",flexDirection:"column",gap:"2px",borderBottom:"1px solid #eee"},onMouseEnter:h=>{h.currentTarget.style.backgroundColor="#f5f5f5"},onMouseLeave:h=>{h.currentTarget.style.backgroundColor="transparent"}},p.createElement("span",{style:{fontSize:"14px",color:"#333",overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"}},b.preview||"New conversation"),p.createElement("span",{style:{fontSize:"12px",color:"#888"}},(h=>{const w=new Date(h),x=new Date().getTime()-w.getTime(),m=Math.floor(x/864e5);return m===0?w.toLocaleTimeString([],{hour:"2-digit",minute:"2-digit"}):m===1?"Yesterday":m<7?w.toLocaleDateString([],{weekday:"short"}):w.toLocaleDateString([],{month:"short",day:"numeric"})})(b.startedAt))))))},oi=({width:e=24,height:t=24,color:r="currentColor",children:n,...o})=>p.createElement("svg",cn({xmlns:"http://www.w3.org/2000/svg",width:e,height:t,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",focusable:"false"},o),n),uc=e=>p.createElement(oi,e,p.createElement("path",{d:"M4 4v5h.582m15.356 2A8.001 8.001 0 004.582 9m0 0H9m11 11v-5h-.581m0 0a8.003 8.003 0 01-15.357-2m15.357 2H15"})),dc=()=>{const{restartFlow:e}=bn(),{setTextAreaValue:t}=Eo(),{messages:r}=Kt(),{getSessionId:n,resetSession:o,clearResettingFlag:a}=Mr(),{trackEvent:A}=Va();return p.createElement("button",{onClick:async()=>{const s=n(),i=s?ni(s):0;A({type:"chatbot_new_chat",previousMessageCount:i}),o(),await t(""),await e(),setTimeout(()=>{a()},100)},tabIndex:0,"aria-label":"New chat conversation",style:{backgroundColor:"var(--primaryColor, #107180)",border:"none",color:"#ffffff",fontSize:"14px",cursor:"pointer",padding:"8px 12px",borderRadius:"4px",transition:"all 0.2s ease",display:"flex",alignItems:"center",gap:"6px",fontWeight:"500"},onMouseEnter:s=>{s.target.style.backgroundColor="var(--secondaryColor, #0d5f6b)"},onMouseLeave:s=>{s.target.style.backgroundColor="var(--primaryColor, #107180)"}},p.createElement(uc,{width:16,height:16}),"New Chat")};function Or(e){if(typeof e=="string")return e;if(typeof e=="number")return String(e);if(!e)return"";if(Array.isArray(e))return e.map(Or).join("");if(typeof e=="object"&&e!==null&&"props"in e){const t=e.props;if(t&&"children"in t)return Or(t.children)}return""}const pc=()=>{const{getSessionId:e}=Mr(),t=p.useCallback(r=>{var n;const o=(n=r.data)===null||n===void 0?void 0:n.message;if(!(o!=null&&o.id))return;const a=o.sender,A=o.type||"string";let s;if(s=typeof o.content=="string"?o.content:Or(o.content),ic("TRACKED",{id:o.id,sender:a,content:s.substring(0,50)+(s.length>50?"...":"")}),s.includes("rcb-options-container")||!s.trim())return;const i=e();sc(i,o.id,s,a,A)},[e]);return p.useEffect(()=>(window.addEventListener("rcb-pre-inject-message",t),()=>{window.removeEventListener("rcb-pre-inject-message",t)}),[t]),null},fc=()=>(p.useEffect(()=>{const e=a=>{if(!["ArrowDown","ArrowUp","ArrowLeft","ArrowRight","Enter"," ","Home","End"].includes(a.key))return;const A=document.activeElement;if(A&&(A.tagName==="INPUT"||A.tagName==="TEXTAREA"||A.contentEditable==="true"||A.classList.contains("rcb-chat-input-textarea")))return;const s=document.querySelector(".rcb-chat-window");if(!s)return;const i=Array.from(s.querySelectorAll(".rcb-message-container, .rcb-bot-message-container, .rcb-user-message-container")).filter(d=>d.offsetParent!==null);if(i.length>0){const d=i[i.length-1].querySelector(".rcb-checkbox-container");if(d&&d.offsetParent!==null){const u=Array.from(d.querySelectorAll(".rcb-checkbox-row-container")),f=d.querySelector(".rcb-checkbox-next-button");if(u.length>0){const g=[...u];return f&&g.push(f),void((b,h)=>{b.preventDefault();let w=-1;for(let m=0;m<h.length;m++)if(h[m]===document.activeElement||h[m].contains(document.activeElement)){w=m;break}w===-1&&(w=0);let x=w;switch(b.key){case"ArrowDown":case"ArrowRight":x=w<h.length-1?w+1:0;break;case"ArrowUp":case"ArrowLeft":x=w>0?w-1:h.length-1;break;case"Home":x=0;break;case"End":x=h.length-1;break;case"Enter":case" ":{const m=h[w],k=new MouseEvent("mousedown",{bubbles:!0,cancelable:!0,view:window});return void m.dispatchEvent(k)}default:return}h[x].focus(),h[x].setAttribute("tabindex","0"),h[x].classList.add("keyboard-focused"),h.forEach((m,k)=>{k!==x&&(m.setAttribute("tabindex","-1"),m.classList.remove("keyboard-focused"))})})(a,g)}}}let l=[];if(i.length>0){const d=i[i.length-1],u=Array.from(d.querySelectorAll(".rcb-options-container")).filter(f=>f.offsetParent!==null);if(u.length>0){const f=u[u.length-1];l=Array.from(f.querySelectorAll(".rcb-options"))}}if(l.length===0)return;const c=l.findIndex(d=>d===document.activeElement);switch(a.key){case"ArrowDown":case"ArrowRight":{let d;a.preventDefault(),d=c<l.length-1?c+1:0,l[d].setAttribute("tabindex","0"),l.forEach((u,f)=>{f!==d&&(u.setAttribute("tabindex","-1"),u.classList.remove("keyboard-focused"))}),l[d].classList.add("keyboard-focused"),l[d].focus();break}case"ArrowUp":case"ArrowLeft":{let d;a.preventDefault(),d=c>0?c-1:l.length-1,l[d].setAttribute("tabindex","0"),l.forEach((u,f)=>{f!==d&&(u.setAttribute("tabindex","-1"),u.classList.remove("keyboard-focused"))}),l[d].classList.add("keyboard-focused"),l[d].focus();break}case"Enter":case" ":if(a.preventDefault(),document.activeElement&&l.includes(document.activeElement)){const d=document.activeElement;if(d.classList.contains("rcb-checkbox-row-container")||d.closest(".rcb-checkbox-row-container")){const u=new MouseEvent("mousedown",{bubbles:!0,cancelable:!0,view:window});d.dispatchEvent(u);const f=d.querySelector(".rcb-checkbox-label"),g=f?f.textContent:d.textContent||"checkbox",b=d.querySelector(".rcb-checkbox-mark"),h=b&&b.style.backgroundColor?"checked":"unchecked";t(`${g} ${h}`)}else{const u=new MouseEvent("mousedown",{bubbles:!0,cancelable:!0,view:window});d.dispatchEvent(u);const f=d.textContent||d.innerText;t(`Selected: ${f}`)}}break;case"Home":a.preventDefault(),l.length>0&&(l[0].setAttribute("tabindex","0"),l.forEach((d,u)=>{u!==0&&(d.setAttribute("tabindex","-1"),d.classList.remove("keyboard-focused"))}),l[0].classList.add("keyboard-focused"),l[0].focus());break;case"End":if(a.preventDefault(),l.length>0){const d=l.length-1;l[d].setAttribute("tabindex","0"),l.forEach((u,f)=>{f!==d&&(u.setAttribute("tabindex","-1"),u.classList.remove("keyboard-focused"))}),l[d].classList.add("keyboard-focused"),l[d].focus()}}},t=a=>{const A=document.createElement("div");A.setAttribute("aria-live","assertive"),A.setAttribute("aria-atomic","true"),A.className="sr-only",A.textContent=a,document.body.appendChild(A),setTimeout(()=>{document.body.contains(A)&&document.body.removeChild(A)},1e3)},r=(a=null)=>{let A=a;if(A||(A=document.querySelector(".rcb-chat-window"),A||(A=document.querySelector('[class*="rcb-chat"]')),A||(A=document.querySelector(".qa-bot"))),!A)return;const s=A.closest(".embedded-qa-bot")!==null,i=Array.from(A.querySelectorAll(".rcb-message-container, .rcb-bot-message-container, .rcb-user-message-container")).filter(u=>u.offsetParent!==null);if(i.length===0)return;const l=i[i.length-1],c=Array.from(l.querySelectorAll(".rcb-options-container")).filter(u=>u.offsetParent!==null);let d=[];if(c.length>0){const u=c[c.length-1];d=Array.from(u.querySelectorAll(".rcb-options"))}if(d.length===0){let u=l.querySelector(".rcb-checkbox-container");if(!u&&A&&(u=A.querySelector(".rcb-checkbox-container")),u&&u.offsetParent!==null){const f=Array.from(u.querySelectorAll(".rcb-checkbox-row-container")).filter(g=>g.offsetParent!==null&&g.style.display!=="none");if(f.length>0){const g=u.querySelector(".rcb-checkbox-next-button"),b=[...f];if(g&&g.offsetParent!==null&&b.push(g),b.forEach((h,w)=>{h.setAttribute("tabindex",w===0?"0":"-1"),w===0?h.classList.add("keyboard-focused"):h.classList.remove("keyboard-focused")}),f.length>1){u.querySelectorAll(".keyboard-nav-hint").forEach(w=>w.remove());const h=document.createElement("div");h.className="keyboard-nav-hint",h.textContent="Use arrow keys ↕ to navigate, Enter to select/deselect, or click any option",h.style.cssText="font-size: 12px !important; color: #666 !important; margin-bottom: 8px !important; font-style: italic !important; display: block !important;",u.insertBefore(h,u.firstChild)}return void setTimeout(()=>{b[0]&&b[0].offsetParent!==null&&!s&&b[0].focus()},150)}}}if(d.length>0){if(d.forEach((u,f)=>{const g=f===0?"0":"-1";u.setAttribute("tabindex",g),u.setAttribute("role","option"),u.setAttribute("aria-posinset",f+1),u.setAttribute("aria-setsize",d.length),f===0?u.classList.add("keyboard-focused"):u.classList.remove("keyboard-focused")}),d.length>1){const u=c.length>0?c[c.length-1]:null;if(u){u.querySelectorAll(".keyboard-nav-hint").forEach(g=>g.remove());const f=document.createElement("div");f.className="keyboard-nav-hint",f.textContent="Use arrow keys ↕ to navigate, Enter to select, or click any option",f.style.cssText="font-size: 12px !important; color: #666 !important; margin-bottom: 8px !important; font-style: italic !important; display: block !important;",u.insertBefore(f,u.firstChild)}}else{const u=c.length>0?c[c.length-1]:null;u&&u.querySelectorAll(".keyboard-nav-hint").forEach(f=>f.remove())}setTimeout(()=>{d[0]&&d[0].offsetParent!==null&&!s&&(d[0].focus(),d.length>1&&t(`${d.length} options available. Use arrow keys to navigate.`))},200)}},n=new MutationObserver(a=>{a.forEach(A=>{var s,i;if(A.type==="childList"){const l=Array.from(A.addedNodes),c=l.some(u=>{var f,g,b,h;return u.nodeType===Node.ELEMENT_NODE&&(((f=u.classList)==null?void 0:f.contains("rcb-options-container"))||((g=u.classList)==null?void 0:g.contains("rcb-options"))||((b=u.querySelector)==null?void 0:b.call(u,".rcb-options-container"))||((h=u.querySelector)==null?void 0:h.call(u,".rcb-options")))}),d=l.some(u=>{var f,g;return u.nodeType===Node.ELEMENT_NODE&&(((f=u.classList)==null?void 0:f.contains("rcb-checkbox-container"))||((g=u.querySelector)==null?void 0:g.call(u,".rcb-checkbox-container")))});if(c||d){let u=A.target;for(;u&&!((s=u.classList)!=null&&s.contains("qa-bot"))&&!((i=u.classList)!=null&&i.contains("rcb-chat-window"));)u=u.parentElement;(u||document).querySelectorAll(".rcb-options[tabindex], .rcb-checkbox-row-container[tabindex], .rcb-checkbox-next-button[tabindex]").forEach(f=>{f.setAttribute("tabindex","-1"),f.classList.remove("keyboard-focused")}),setTimeout(()=>r(u),100)}}})});n.observe(document.body,{childList:!0,subtree:!0}),document.addEventListener("keydown",e),r();const o=setInterval(()=>{document.querySelectorAll(".qa-bot").forEach(a=>{const A=a.querySelectorAll(".rcb-options-container .rcb-options").length>0,s=a.querySelectorAll(".rcb-checkbox-row-container").length>0;if(A){const i=a.querySelectorAll(".rcb-options[tabindex]").length;a.querySelectorAll(".rcb-options").length>i&&r(a)}if(s){const i=a.querySelectorAll(".rcb-checkbox-row-container[tabindex]").length;a.querySelectorAll(".rcb-checkbox-row-container").length>i&&r(a)}})},1e3);return()=>{document.removeEventListener("keydown",e),n.disconnect(),clearInterval(o)}},[]),null);let ai=!1,Tn=null;function ii(){return ai?Promise.resolve():Tn||(Tn=new Promise((e,t)=>{const r=document.createElement("script");r.src="https://challenges.cloudflare.com/turnstile/v0/api.js?render=explicit",r.async=!0,r.onload=()=>{ai=!0,nn("Script loaded"),e()},r.onerror=()=>{Tn=null,t(new Error("Failed to load Turnstile script"))},document.head.appendChild(r)}),Tn)}const on=e=>{if(!e||typeof e!="string")return e;let t=e.replace(/\[(https?:\/\/[^\s]+?)\]/gi,"[$1]($1)");return t=t.replace(new RegExp(`(?<!\\]\\(|href=["']|\\[)https?:\\/\\/[^\\s[\\]()]+`,"gi"),r=>{let n=r,o="";const a=n.match(/([.,;:!?]+)$/);return a&&(o=a[1],n=n.slice(0,-o.length)),"[".concat(n,"](").concat(n,")").concat(o)}),t},hc=e=>{let{siteKey:t,onVerify:r,onError:n,loginUrl:o}=e;const a=p.useRef(null),A=p.useRef(null),s=p.useRef(!1),i=p.useRef(null),l=p.useRef(null),[c,d]=p.useState(!1),u=o&&o!=="/login",f=p.useCallback(()=>{const h=window.turnstile;if(i.current&&(h!=null&&h.remove)){try{h.remove(i.current)}catch{}i.current=null}},[]),g=p.useCallback(()=>{f(),n==null||n()},[n,f]);p.useEffect(()=>()=>{f()},[f]),p.useEffect(()=>{var h;return l.current=document.activeElement,(h=A.current)===null||h===void 0||h.focus(),()=>{l.current&&typeof l.current.focus=="function"&&l.current.focus()}},[]),p.useEffect(()=>{const h=w=>{if(w.key==="Escape")return w.preventDefault(),void g();if(w.key==="Tab"&&A.current){const x=A.current.querySelectorAll('button, [href], input, select, textarea, [tabindex]:not([tabindex="-1"])');if(x.length===0)return;const m=x[0],k=x[x.length-1];w.shiftKey&&document.activeElement===m?(w.preventDefault(),k.focus()):w.shiftKey||document.activeElement!==k||(w.preventDefault(),m.focus())}};return document.addEventListener("keydown",h),()=>document.removeEventListener("keydown",h)},[g]),p.useEffect(()=>{s.current||!a.current||c||(s.current=!0,ii().then(()=>{const h=window.turnstile;if(!h||!a.current)return De("Turnstile API not available after script load"),void d(!0);i.current=h.render(a.current,{sitekey:t,callback:w=>{nn("Visible challenge completed"),r(w)},"error-callback":()=>{De("Turnstile challenge failed"),f(),d(!0)},"expired-callback":()=>{De("Turnstile token expired"),f(),d(!0)}})}).catch(h=>{De("Failed to load Turnstile script:",h),d(!0)}))},[t,r,c]);const b=p.createElement(p.Fragment,null,p.createElement("div",{"aria-hidden":"true",style:{position:"fixed",inset:0,background:"rgba(0, 0, 0, 0.5)",zIndex:999998}}),p.createElement("div",{ref:A,role:"dialog","aria-modal":"true","aria-labelledby":"qa-bot-turnstile-label",tabIndex:-1,style:{position:"fixed",top:"50%",left:"50%",transform:"translate(-50%, -50%)",zIndex:999999,background:"white",padding:"24px",borderRadius:"8px",boxShadow:"0 4px 20px rgba(0, 0, 0, 0.3)",maxWidth:"90vw",fontFamily:'-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif'}},p.createElement("span",{id:"qa-bot-turnstile-label",className:"sr-only",style:{position:"absolute",width:"1px",height:"1px",overflow:"hidden",clip:"rect(0, 0, 0, 0)",whiteSpace:"nowrap"}},"Verification challenge"),c?p.createElement("div",{style:{fontSize:"14px",lineHeight:"1.5",color:"#333"}},p.createElement("p",{style:{margin:"0 0 16px 0"}},"Verification failed. You can try again",u&&p.createElement(p.Fragment,null,", or"," ",p.createElement("a",{href:o,target:"_blank",rel:"noopener noreferrer",style:{color:"var(--primaryColor, #107180)",fontWeight:"bold"}},"log in")," ","to skip verification"),"."),p.createElement("div",{style:{display:"flex",gap:"8px"}},p.createElement("button",{type:"button",onClick:()=>{f(),s.current=!1,d(!1)},style:{padding:"8px 16px",background:"var(--primaryColor, #107180)",color:"white",border:"none",borderRadius:"4px",cursor:"pointer",fontSize:"14px"}},"Try again"),p.createElement("button",{type:"button",onClick:g,style:{padding:"8px 16px",background:"#f0f0f0",border:"1px solid #ccc",borderRadius:"4px",cursor:"pointer",fontSize:"14px"}},"Close"))):p.createElement(p.Fragment,null,p.createElement("div",{ref:a,style:{borderRadius:"8px",overflow:"hidden"}}),p.createElement("button",{type:"button",onClick:g,style:{marginTop:"16px",padding:"8px 16px",background:"#f0f0f0",border:"1px solid #ccc",borderRadius:"4px",cursor:"pointer",fontSize:"14px"}},"Cancel"))));return hi.createPortal(b,document.body)};function si(e){const{confidence:t,tools_used:r,metadata:n}=e;if(!(t||r&&r.length!==0))return"";const o=[];return t&&o.push("• Confidence: ".concat(t)),r&&r.length>0&&o.push("• Tools used: ".concat(r.join(", "))),n!=null&&n.agent&&o.push("• Agent: ".concat(n.agent)),`---
|
|
39
|
-
|
|
40
|
-
`)
|
|
38
|
+
`),f.createElement("a",{href:t,target:"_blank",rel:"noopener noreferrer",className:`qa-bot-login-button ${o?"qa-bot-header-login-button":""} ${r}`,style:Object.assign(Object.assign({},a),n),onClick:()=>{A({type:"chatbot_login_clicked",loginUrl:t})}},"Log In"))},Zl=()=>f.createElement("div",{className:"user-login-icon",style:{alignItems:"center",justifyContent:"center",width:"30px",height:"30px",borderRadius:"50%",backgroundColor:"var(--primaryColor, #1a5b6e)",marginRight:"5px",display:"flex"},role:"img","aria-label":"User logged in",title:"User logged in"},f.createElement("svg",{width:"18",height:"18",viewBox:"0 0 24 24",fill:"none",stroke:"white",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",focusable:"false"},f.createElement("path",{d:"M20 21v-2a4 4 0 0 0-4-4H8a4 4 0 0 0-4 4v2"}),f.createElement("circle",{cx:"12",cy:"7",r:"4"}))),Ie=[];for(let e=0;e<256;++e)Ie.push((e+256).toString(16).slice(1));let Or;const $l=new Uint8Array(16);var $A={randomUUID:typeof crypto<"u"&&crypto.randomUUID&&crypto.randomUUID.bind(crypto)};function ei(e,t,r){var o;if($A.randomUUID&&!e)return $A.randomUUID();const n=(e=e||{}).random??((o=e.rng)==null?void 0:o.call(e))??function(){if(!Or){if(typeof crypto>"u"||!crypto.getRandomValues)throw new Error("crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported");Or=crypto.getRandomValues.bind(crypto)}return Or($l)}();if(n.length<16)throw new Error("Random bytes length must be >= 16");return n[6]=15&n[6]|64,n[8]=63&n[8]|128,function(A,a=0){return(Ie[A[a+0]]+Ie[A[a+1]]+Ie[A[a+2]]+Ie[A[a+3]]+"-"+Ie[A[a+4]]+Ie[A[a+5]]+"-"+Ie[A[a+6]]+Ie[A[a+7]]+"-"+Ie[A[a+8]]+Ie[A[a+9]]+"-"+Ie[A[a+10]]+Ie[A[a+11]]+Ie[A[a+12]]+Ie[A[a+13]]+Ie[A[a+14]]+Ie[A[a+15]]).toLowerCase()}(n)}function xt(){return typeof localStorage<"u"&&localStorage.getItem("QA_BOT_DEBUG")==="true"}const ec="background: #1a5b6e; color: white; padding: 2px 6px; border-radius: 3px;",tc="background: #7c3aed; color: white; padding: 2px 6px; border-radius: 3px;",nc="background: #059669; color: white; padding: 2px 6px; border-radius: 3px;",rc="background: #f97316; color: white; padding: 2px 6px; border-radius: 3px;",oc="background: #f59e0b; color: #000; padding: 2px 6px; border-radius: 3px 0 0 3px; font-weight: bold;",Ac="background: #fbbf24; color: #000; padding: 2px 6px; border-radius: 0 3px 3px 0;",ic=()=>{xt()&&console.log("%c QA Bot Core %c v0.2.35 ",oc,Ac)},Qn=function(e){if(xt()){for(var t=arguments.length,r=new Array(t>1?t-1:0),n=1;n<t;n++)r[n-1]=arguments[n];console.log(`%c[Session]%c ${e}`,ec,"",...r)}},it=function(e){if(xt()){for(var t=arguments.length,r=new Array(t>1?t-1:0),n=1;n<t;n++)r[n-1]=arguments[n];console.log(`%c[History]%c ${e}`,tc,"",...r)}},sc=(e,t)=>{xt()&&console.log(`%c[Message]%c ${e}`,nc,"",t)},on=function(e){if(xt()){for(var t=arguments.length,r=new Array(t>1?t-1:0),n=1;n<t;n++)r[n-1]=arguments[n];console.log(`%c[Turnstile]%c ${e}`,rc,"",...r)}},ti=function(){console.warn(...arguments)},Be=function(){console.error(...arguments)},ni="qa_bot_session_messages",ri=()=>`qa_bot_session_${ei()}`,An=()=>{try{const e=localStorage.getItem(ni);return e?JSON.parse(e):{}}catch{return{}}},ac=(e,t,r,n,o)=>{const A=An();if(!A[e]&&(A[e]={messages:[],startedAt:new Date().toISOString(),preview:""},it("NEW session created",{sessionId:e.slice(-12)})),A[e].messages.some(l=>l.id===t))return void it("DUPLICATE message skipped",{sessionId:e.slice(-12),messageId:t.slice(-8),sender:n});const a={id:t,content:r,sender:n,type:o,timestamp:Date.now()};A[e].messages.push(a),it("MESSAGE added",{sessionId:e.slice(-12),messageId:t.slice(-8),sender:n,totalInSession:A[e].messages.length});const s=A[e].messages,i=s.find(l=>{var c;return l.sender.toLowerCase()==="bot"&&((c=l.content)===null||c===void 0?void 0:c.trim())&&l.content.length>=100});if(i){const l=i.content;A[e].preview=l.slice(0,50)+(l.length>50?"...":"")}else{const l=s.find(c=>{var d;return c.sender.toLowerCase()==="user"&&((d=c.content)===null||d===void 0?void 0:d.trim())});if(l&&!A[e].preview){const c=l.content;A[e].preview=c.slice(0,50)+(c.length>50?"...":"")}}(l=>{var c;const d=()=>Object.values(l).reduce((u,p)=>u+p.messages.length,0);for(;d()>100&&Object.keys(l).length>1;){const u=(c=Object.entries(l).sort((p,g)=>{let[,v]=p,[,h]=g;return new Date(v.startedAt).getTime()-new Date(h.startedAt).getTime()})[0])===null||c===void 0?void 0:c[0];if(!u)break;delete l[u]}localStorage.setItem(ni,JSON.stringify(l))})(A),it("STORAGE state",{ourSessions:Object.keys(A).length,ourTotalMessages:Object.values(A).reduce((l,c)=>l+c.messages.length,0)})},oi=e=>{var t,r;return(r=(t=An()[e])===null||t===void 0?void 0:t.messages.length)!==null&&r!==void 0?r:0},lc=e=>{const t=An()[e];return t!=null&&t.startedAt?Date.now()-new Date(t.startedAt).getTime():0},Ai=f.createContext(void 0),cc=e=>{let{children:t,getSessionId:r,setSessionId:n,resetSession:o,clearResettingFlag:A}=e;return f.createElement(Ai.Provider,{value:{getSessionId:r,setSessionId:n,resetSession:o,clearResettingFlag:A}},t)},_r=()=>{const e=f.useContext(Ai);if(!e)throw new Error("useSession must be used within a SessionProvider");return e},uc=()=>{const[e,t]=f.useState(!1),[r,n]=f.useState([]),[o,A]=f.useState(null),[a,s]=f.useState(0),i=f.useRef(null),l=f.useRef(null),{replaceMessages:c}=Xt(),{toggleTextAreaDisabled:d}=So(),{setSessionId:u,getSessionId:p}=_r();f.useEffect(()=>{var v,h;const w=m=>{i.current&&!i.current.contains(m.target)&&l.current&&!l.current.contains(m.target)&&t(!1)},E=(h=(v=i.current)===null||v===void 0?void 0:v.getRootNode())!==null&&h!==void 0?h:document;return e&&E.addEventListener("mousedown",w),()=>{E.removeEventListener("mousedown",w)}},[e]);const g=v=>{var h;const w=p();if(it("RESTORE requested",{targetSession:v.slice(-12),currentSession:w==null?void 0:w.slice(-12)}),v===w)return it("RESTORE skipped - already on this session"),void t(!1);const E=(k=>{var S;return((S=An()[k])===null||S===void 0?void 0:S.messages)||[]})(v).filter(k=>{var S;return(S=k.content)===null||S===void 0?void 0:S.trim()});it("Stored messages from our localStorage",{count:E.length,ids:E.map(k=>k.id.slice(-8))});const m=E.map(k=>({id:k.id,content:k.content,sender:k.sender.toUpperCase(),type:k.type||"string",timestamp:new Date(k.timestamp).toISOString()}));var C;u(v),it("Session ID updated",{newSession:v.slice(-12)}),c(m),it("replaceMessages called",{count:m.length}),C=(h=l.current)===null||h===void 0?void 0:h.getRootNode(),setTimeout(()=>{const k=(C||document).querySelector(".rcb-chat-body-container");k&&k.querySelectorAll(".rcb-bot-message").forEach(S=>{var D;let I=S.innerHTML,Q=!1;I.includes("](")&&(I=I.replace(/\[([^\]]+)\]\(([^)]+)\)/g,'<a href="$2" target="_blank" rel="noopener noreferrer">$1</a>'),Q=!0),I.includes("<a href=")&&(I=I.replace(/<a\s+href=["']([^"']+)["'][^&]*>([^&]+)<\/a>/gi,'<a href="$1" target="_blank" rel="noopener noreferrer">$2</a>'),Q=!0),(I.includes("<a ")||!((D=S.textContent)===null||D===void 0)&&D.includes("<a href="))&&(S.textContent||"").includes("<a href=")&&(I=I.replace(/<a\s+href="([^"]+)"[^&]*>([^&]+)<\/a>/gi,'<a href="$1" target="_blank" rel="noopener noreferrer">$2</a>'),Q=!0),Q&&(S.innerHTML=I)})},50),d(!1),it("Chat input enabled after restore"),t(!1)};return f.createElement("div",{style:{position:"relative"}},f.createElement("button",{ref:l,className:"history-button",onClick:()=>{if(!e&&(n((()=>{const v=An();return Object.entries(v).map(h=>{let[w,E]=h;return Object.assign({sessionId:w},E)}).sort((h,w)=>new Date(w.startedAt).getTime()-new Date(h.startedAt).getTime())})()),l.current)){const v=l.current.closest(".rcb-chat-window");if(v){const h=v.getBoundingClientRect(),w=l.current.getBoundingClientRect();A(h.width+3),s(h.right-w.right-18+4)}}t(!e)},style:{alignItems:"center",justifyContent:"center",width:"30px",height:"30px",borderRadius:"50%",backgroundColor:"var(--primaryColor, #1a5b6e)",marginRight:"18px",display:"flex",border:"none",cursor:"pointer",padding:0},"aria-label":"View chat history",title:"View chat history","aria-expanded":e,"aria-haspopup":"menu"},f.createElement("svg",{width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"white",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",focusable:"false"},f.createElement("circle",{cx:"12",cy:"12",r:"10"}),f.createElement("polyline",{points:"12 6 12 12 16 14"}))),e&&f.createElement("div",{ref:i,role:"menu",style:{position:"absolute",right:a?`-${a}px`:"-18px",top:"100%",marginTop:"8px",width:o?`${o}px`:"550px",backgroundColor:"white",borderRadius:0,borderBottom:"3px solid var(--primaryColor, #1a5b6e)",boxShadow:"0 2px 8px rgba(0, 0, 0, 0.1)",maxHeight:"250px",overflowY:"auto",zIndex:1e3}},r.length===0?f.createElement("div",{style:{padding:"12px 16px",color:"#666",fontSize:"14px",textAlign:"center"}},"No chat history"):r.map(v=>f.createElement("button",{key:v.sessionId,role:"menuitem",onClick:()=>g(v.sessionId),style:{width:"100%",padding:"10px 14px",border:"none",backgroundColor:"transparent",cursor:"pointer",textAlign:"left",display:"flex",flexDirection:"column",gap:"2px",borderBottom:"1px solid #eee"},onMouseEnter:h=>{h.currentTarget.style.backgroundColor="#f5f5f5"},onMouseLeave:h=>{h.currentTarget.style.backgroundColor="transparent"}},f.createElement("span",{style:{fontSize:"14px",color:"#333",overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"}},v.preview||"New conversation"),f.createElement("span",{style:{fontSize:"12px",color:"#888"}},(h=>{const w=new Date(h),E=new Date().getTime()-w.getTime(),m=Math.floor(E/864e5);return m===0?w.toLocaleTimeString([],{hour:"2-digit",minute:"2-digit"}):m===1?"Yesterday":m<7?w.toLocaleDateString([],{weekday:"short"}):w.toLocaleDateString([],{month:"short",day:"numeric"})})(v.startedAt))))))},ii=e=>{var{width:t=24,height:r=24,color:n="currentColor",children:o}=e,A=Gr(e,["width","height","color","children"]);return f.createElement("svg",dn({xmlns:"http://www.w3.org/2000/svg",width:t,height:r,viewBox:"0 0 24 24",fill:"none",stroke:n,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",focusable:"false"},A),o)},dc=e=>f.createElement(ii,e,f.createElement("path",{d:"M4 4v5h.582m15.356 2A8.001 8.001 0 004.582 9m0 0H9m11 11v-5h-.581m0 0a8.003 8.003 0 01-15.357-2m15.357 2H15"})),fc=()=>{const{restartFlow:e}=bn(),{setTextAreaValue:t}=So(),{messages:r}=Xt(),{getSessionId:n,resetSession:o,clearResettingFlag:A}=_r(),{trackEvent:a}=JA();return f.createElement("button",{onClick:async()=>{const s=n(),i=s?oi(s):0;a({type:"chatbot_new_chat",previousMessageCount:i}),o(),await t(""),await e(),setTimeout(()=>{A()},100)},tabIndex:0,"aria-label":"New chat conversation",style:{backgroundColor:"var(--primaryColor, #107180)",border:"none",color:"#ffffff",fontSize:"14px",cursor:"pointer",padding:"8px 12px",borderRadius:"4px",transition:"all 0.2s ease",display:"flex",alignItems:"center",gap:"6px",fontWeight:"500"},onMouseEnter:s=>{s.target.style.backgroundColor="var(--secondaryColor, #0d5f6b)"},onMouseLeave:s=>{s.target.style.backgroundColor="var(--primaryColor, #107180)"}},f.createElement(dc,{width:16,height:16}),"New Chat")};function Nr(e){if(typeof e=="string")return e;if(typeof e=="number")return String(e);if(!e)return"";if(Array.isArray(e))return e.map(Nr).join("");if(typeof e=="object"&&e!==null&&"props"in e){const t=e.props;if(t&&"children"in t)return Nr(t.children)}return""}const pc=()=>{const{getSessionId:e}=_r(),t=f.useCallback(r=>{var n;const o=(n=r.data)===null||n===void 0?void 0:n.message;if(!(o!=null&&o.id))return;const A=o.sender,a=o.type||"string";let s;if(s=typeof o.content=="string"?o.content:Nr(o.content),sc("TRACKED",{id:o.id,sender:A,content:s.substring(0,50)+(s.length>50?"...":"")}),s.includes("rcb-options-container")||!s.trim())return;const i=e();ac(i,o.id,s,A,a)},[e]);return f.useEffect(()=>(window.addEventListener("rcb-pre-inject-message",t),()=>{window.removeEventListener("rcb-pre-inject-message",t)}),[t]),null},gc=()=>(f.useEffect(()=>{const e=A=>{if(!["ArrowDown","ArrowUp","ArrowLeft","ArrowRight","Enter"," ","Home","End"].includes(A.key))return;const a=document.activeElement;if(a&&(a.tagName==="INPUT"||a.tagName==="TEXTAREA"||a.contentEditable==="true"||a.classList.contains("rcb-chat-input-textarea")))return;const s=document.querySelector(".rcb-chat-window");if(!s)return;const i=Array.from(s.querySelectorAll(".rcb-message-container, .rcb-bot-message-container, .rcb-user-message-container")).filter(d=>d.offsetParent!==null);if(i.length>0){const d=i[i.length-1].querySelector(".rcb-checkbox-container");if(d&&d.offsetParent!==null){const u=Array.from(d.querySelectorAll(".rcb-checkbox-row-container")),p=d.querySelector(".rcb-checkbox-next-button");if(u.length>0){const g=[...u];return p&&g.push(p),void((v,h)=>{v.preventDefault();let w=-1;for(let m=0;m<h.length;m++)if(h[m]===document.activeElement||h[m].contains(document.activeElement)){w=m;break}w===-1&&(w=0);let E=w;switch(v.key){case"ArrowDown":case"ArrowRight":E=w<h.length-1?w+1:0;break;case"ArrowUp":case"ArrowLeft":E=w>0?w-1:h.length-1;break;case"Home":E=0;break;case"End":E=h.length-1;break;case"Enter":case" ":{const m=h[w],C=new MouseEvent("mousedown",{bubbles:!0,cancelable:!0,view:window});return void m.dispatchEvent(C)}default:return}h[E].focus(),h[E].setAttribute("tabindex","0"),h[E].classList.add("keyboard-focused"),h.forEach((m,C)=>{C!==E&&(m.setAttribute("tabindex","-1"),m.classList.remove("keyboard-focused"))})})(A,g)}}}let l=[];if(i.length>0){const d=i[i.length-1],u=Array.from(d.querySelectorAll(".rcb-options-container")).filter(p=>p.offsetParent!==null);if(u.length>0){const p=u[u.length-1];l=Array.from(p.querySelectorAll(".rcb-options"))}}if(l.length===0)return;const c=l.findIndex(d=>d===document.activeElement);switch(A.key){case"ArrowDown":case"ArrowRight":{let d;A.preventDefault(),d=c<l.length-1?c+1:0,l[d].setAttribute("tabindex","0"),l.forEach((u,p)=>{p!==d&&(u.setAttribute("tabindex","-1"),u.classList.remove("keyboard-focused"))}),l[d].classList.add("keyboard-focused"),l[d].focus();break}case"ArrowUp":case"ArrowLeft":{let d;A.preventDefault(),d=c>0?c-1:l.length-1,l[d].setAttribute("tabindex","0"),l.forEach((u,p)=>{p!==d&&(u.setAttribute("tabindex","-1"),u.classList.remove("keyboard-focused"))}),l[d].classList.add("keyboard-focused"),l[d].focus();break}case"Enter":case" ":if(A.preventDefault(),document.activeElement&&l.includes(document.activeElement)){const d=document.activeElement;if(d.classList.contains("rcb-checkbox-row-container")||d.closest(".rcb-checkbox-row-container")){const u=new MouseEvent("mousedown",{bubbles:!0,cancelable:!0,view:window});d.dispatchEvent(u);const p=d.querySelector(".rcb-checkbox-label"),g=p?p.textContent:d.textContent||"checkbox",v=d.querySelector(".rcb-checkbox-mark"),h=v&&v.style.backgroundColor?"checked":"unchecked";t(`${g} ${h}`)}else{const u=new MouseEvent("mousedown",{bubbles:!0,cancelable:!0,view:window});d.dispatchEvent(u);const p=d.textContent||d.innerText;t(`Selected: ${p}`)}}break;case"Home":A.preventDefault(),l.length>0&&(l[0].setAttribute("tabindex","0"),l.forEach((d,u)=>{u!==0&&(d.setAttribute("tabindex","-1"),d.classList.remove("keyboard-focused"))}),l[0].classList.add("keyboard-focused"),l[0].focus());break;case"End":if(A.preventDefault(),l.length>0){const d=l.length-1;l[d].setAttribute("tabindex","0"),l.forEach((u,p)=>{p!==d&&(u.setAttribute("tabindex","-1"),u.classList.remove("keyboard-focused"))}),l[d].classList.add("keyboard-focused"),l[d].focus()}}},t=A=>{const a=document.createElement("div");a.setAttribute("aria-live","assertive"),a.setAttribute("aria-atomic","true"),a.className="sr-only",a.textContent=A,document.body.appendChild(a),setTimeout(()=>{document.body.contains(a)&&document.body.removeChild(a)},1e3)},r=(A=null)=>{let a=A;if(a||(a=document.querySelector(".rcb-chat-window"),a||(a=document.querySelector('[class*="rcb-chat"]')),a||(a=document.querySelector(".qa-bot"))),!a)return;const s=a.closest(".embedded-qa-bot")!==null,i=Array.from(a.querySelectorAll(".rcb-message-container, .rcb-bot-message-container, .rcb-user-message-container")).filter(u=>u.offsetParent!==null);if(i.length===0)return;const l=i[i.length-1],c=Array.from(l.querySelectorAll(".rcb-options-container")).filter(u=>u.offsetParent!==null);let d=[];if(c.length>0){const u=c[c.length-1];d=Array.from(u.querySelectorAll(".rcb-options"))}if(d.length===0){let u=l.querySelector(".rcb-checkbox-container");if(!u&&a&&(u=a.querySelector(".rcb-checkbox-container")),u&&u.offsetParent!==null){const p=Array.from(u.querySelectorAll(".rcb-checkbox-row-container")).filter(g=>g.offsetParent!==null&&g.style.display!=="none");if(p.length>0){const g=u.querySelector(".rcb-checkbox-next-button"),v=[...p];if(g&&g.offsetParent!==null&&v.push(g),v.forEach((h,w)=>{h.setAttribute("tabindex",w===0?"0":"-1"),w===0?h.classList.add("keyboard-focused"):h.classList.remove("keyboard-focused")}),p.length>1){u.querySelectorAll(".keyboard-nav-hint").forEach(w=>w.remove());const h=document.createElement("div");h.className="keyboard-nav-hint",h.textContent="Use arrow keys ↕ to navigate, Enter to select/deselect, or click any option",h.style.cssText="font-size: 12px !important; color: #666 !important; margin-bottom: 8px !important; font-style: italic !important; display: block !important;",u.insertBefore(h,u.firstChild)}return void setTimeout(()=>{v[0]&&v[0].offsetParent!==null&&!s&&v[0].focus()},150)}}}if(d.length>0){if(d.forEach((u,p)=>{const g=p===0?"0":"-1";u.setAttribute("tabindex",g),u.setAttribute("role","option"),u.setAttribute("aria-posinset",p+1),u.setAttribute("aria-setsize",d.length),p===0?u.classList.add("keyboard-focused"):u.classList.remove("keyboard-focused")}),d.length>1){const u=c.length>0?c[c.length-1]:null;if(u){u.querySelectorAll(".keyboard-nav-hint").forEach(g=>g.remove());const p=document.createElement("div");p.className="keyboard-nav-hint",p.textContent="Use arrow keys ↕ to navigate, Enter to select, or click any option",p.style.cssText="font-size: 12px !important; color: #666 !important; margin-bottom: 8px !important; font-style: italic !important; display: block !important;",u.insertBefore(p,u.firstChild)}}else{const u=c.length>0?c[c.length-1]:null;u&&u.querySelectorAll(".keyboard-nav-hint").forEach(p=>p.remove())}setTimeout(()=>{d[0]&&d[0].offsetParent!==null&&!s&&(d[0].focus(),d.length>1&&t(`${d.length} options available. Use arrow keys to navigate.`))},200)}},n=new MutationObserver(A=>{A.forEach(a=>{var s,i;if(a.type==="childList"){const l=Array.from(a.addedNodes),c=l.some(u=>{var p,g,v,h;return u.nodeType===Node.ELEMENT_NODE&&(((p=u.classList)==null?void 0:p.contains("rcb-options-container"))||((g=u.classList)==null?void 0:g.contains("rcb-options"))||((v=u.querySelector)==null?void 0:v.call(u,".rcb-options-container"))||((h=u.querySelector)==null?void 0:h.call(u,".rcb-options")))}),d=l.some(u=>{var p,g;return u.nodeType===Node.ELEMENT_NODE&&(((p=u.classList)==null?void 0:p.contains("rcb-checkbox-container"))||((g=u.querySelector)==null?void 0:g.call(u,".rcb-checkbox-container")))});if(c||d){let u=a.target;for(;u&&!((s=u.classList)!=null&&s.contains("qa-bot"))&&!((i=u.classList)!=null&&i.contains("rcb-chat-window"));)u=u.parentElement;(u||document).querySelectorAll(".rcb-options[tabindex], .rcb-checkbox-row-container[tabindex], .rcb-checkbox-next-button[tabindex]").forEach(p=>{p.setAttribute("tabindex","-1"),p.classList.remove("keyboard-focused")}),setTimeout(()=>r(u),100)}}})});n.observe(document.body,{childList:!0,subtree:!0}),document.addEventListener("keydown",e),r();const o=setInterval(()=>{document.querySelectorAll(".qa-bot").forEach(A=>{const a=A.querySelectorAll(".rcb-options-container .rcb-options").length>0,s=A.querySelectorAll(".rcb-checkbox-row-container").length>0;if(a){const i=A.querySelectorAll(".rcb-options[tabindex]").length;A.querySelectorAll(".rcb-options").length>i&&r(A)}if(s){const i=A.querySelectorAll(".rcb-checkbox-row-container[tabindex]").length;A.querySelectorAll(".rcb-checkbox-row-container").length>i&&r(A)}})},1e3);return()=>{document.removeEventListener("keydown",e),n.disconnect(),clearInterval(o)}},[]),null);let si=!1,Mn=null;function ai(){return si?Promise.resolve():Mn||(Mn=new Promise((e,t)=>{const r=document.createElement("script");r.src="https://challenges.cloudflare.com/turnstile/v0/api.js?render=explicit",r.async=!0,r.onload=()=>{si=!0,on("Script loaded"),e()},r.onerror=()=>{Mn=null,t(new Error("Failed to load Turnstile script"))},document.head.appendChild(r)}),Mn)}const sn=e=>{if(!e||typeof e!="string")return e;let t=e.replace(/\[(https?:\/\/[^\s]+?)\]/gi,"[$1]($1)");return t=t.replace(new RegExp(`(?<!\\]\\(|href=["']|\\[)https?:\\/\\/[^\\s[\\]()]+`,"gi"),r=>{let n=r,o="";const A=n.match(/([.,;:!?]+)$/);return A&&(o=A[1],n=n.slice(0,-o.length)),`[${n}](${n})${o}`}),t},hc=e=>{let{siteKey:t,onVerify:r,onError:n,loginUrl:o}=e;const A=f.useRef(null),a=f.useRef(null),s=f.useRef(!1),i=f.useRef(null),l=f.useRef(null),[c,d]=f.useState(!1),[u,p]=f.useState(0),g=f.useRef("widget_error"),v=f.useRef(null),h=o&&o!=="/login",w=f.useCallback(()=>{const C=window.turnstile;if(i.current&&(C!=null&&C.remove)){try{C.remove(i.current)}catch{}i.current=null}},[]),E=f.useCallback(()=>{var C;w(),c?n==null||n(g.current,(C=v.current)!==null&&C!==void 0?C:void 0):n==null||n("user_cancelled")},[n,w,c]);f.useEffect(()=>()=>{w()},[w]),f.useEffect(()=>{var C;return l.current=document.activeElement,(C=a.current)===null||C===void 0||C.focus(),()=>{l.current&&typeof l.current.focus=="function"&&l.current.focus()}},[]),f.useEffect(()=>{const C=k=>{if(k.key==="Escape")return k.preventDefault(),void E();if(k.key==="Tab"&&a.current){const S=a.current.querySelectorAll('button, [href], input, select, textarea, [tabindex]:not([tabindex="-1"])');if(S.length===0)return;const D=S[0],I=S[S.length-1];k.shiftKey&&document.activeElement===D?(k.preventDefault(),I.focus()):k.shiftKey||document.activeElement!==I||(k.preventDefault(),D.focus())}};return document.addEventListener("keydown",C),()=>document.removeEventListener("keydown",C)},[E]),f.useEffect(()=>{s.current||!A.current||c||(s.current=!0,ai().then(()=>{const C=window.turnstile;if(!C||!A.current)return Be("Turnstile API not available after script load"),g.current="api_unavailable",void d(!0);i.current=C.render(A.current,{sitekey:t,callback:k=>{on("Visible challenge completed"),r(k)},"error-callback":k=>(Be("Turnstile challenge failed:",k),v.current=k,g.current="widget_error",w(),d(!0),!0),"expired-callback":()=>{Be("Turnstile token expired"),g.current="token_expired",w(),d(!0)}})}).catch(C=>{Be("Failed to load Turnstile script:",C),g.current="script_load_failed",d(!0)}))},[t,r,c]);const m=f.createElement(f.Fragment,null,f.createElement("div",{"aria-hidden":"true",style:{position:"fixed",inset:0,background:"rgba(0, 0, 0, 0.5)",zIndex:999998}}),f.createElement("div",{ref:a,role:"dialog","aria-modal":"true","aria-labelledby":"qa-bot-turnstile-label",tabIndex:-1,style:{position:"fixed",top:"50%",left:"50%",transform:"translate(-50%, -50%)",zIndex:999999,background:"white",padding:"24px",borderRadius:"8px",boxShadow:"0 4px 20px rgba(0, 0, 0, 0.3)",maxWidth:"90vw",fontFamily:'-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif'}},f.createElement("span",{id:"qa-bot-turnstile-label",className:"sr-only",style:{position:"absolute",width:"1px",height:"1px",overflow:"hidden",clip:"rect(0, 0, 0, 0)",whiteSpace:"nowrap"}},"Verification challenge"),c?f.createElement("div",{style:{fontSize:"14px",lineHeight:"1.5",color:"#333"}},u===0?f.createElement("p",{style:{margin:"0 0 16px 0"}},"Verification failed. You can try again",h&&f.createElement(f.Fragment,null,", or"," ",f.createElement("a",{href:o,target:"_blank",rel:"noopener noreferrer",style:{color:"var(--primaryColor, #107180)",fontWeight:"bold"}},"log in")," ","to skip verification"),"."):f.createElement(f.Fragment,null,f.createElement("p",{style:{margin:"0 0 8px 0"}},"Verification is still not working. This can be caused by browser extensions (ad blockers, privacy tools) or VPN connections."),f.createElement("p",{style:{margin:"0 0 16px 0"}},"Try disabling extensions, using a private/incognito window,",h&&f.createElement(f.Fragment,null," ",f.createElement("a",{href:o,target:"_blank",rel:"noopener noreferrer",style:{color:"var(--primaryColor, #107180)",fontWeight:"bold"}},"logging in"),",")," ","or using a different browser.")),f.createElement("div",{style:{display:"flex",gap:"8px"}},f.createElement("button",{type:"button",onClick:()=>{w(),s.current=!1,p(C=>C+1),d(!1)},style:{padding:"8px 16px",background:"var(--primaryColor, #107180)",color:"white",border:"none",borderRadius:"4px",cursor:"pointer",fontSize:"14px"}},"Try again"),f.createElement("button",{type:"button",onClick:E,style:{padding:"8px 16px",background:"#f0f0f0",border:"1px solid #ccc",borderRadius:"4px",cursor:"pointer",fontSize:"14px"}},"Close"))):f.createElement(f.Fragment,null,f.createElement("div",{ref:A,style:{borderRadius:"8px",overflow:"hidden"}}),f.createElement("button",{type:"button",onClick:E,style:{marginTop:"16px",padding:"8px 16px",background:"#f0f0f0",border:"1px solid #ccc",borderRadius:"4px",cursor:"pointer",fontSize:"14px"}},"Cancel"))));return mi.createPortal(m,document.body)};function li(e){const{confidence:t,tools_used:r,metadata:n}=e;if(!(t||r&&r.length!==0))return"";const o=[];return t&&o.push(`• Confidence: ${t}`),r&&r.length>0&&o.push(`• Tools used: ${r.join(", ")}`),n!=null&&n.agent&&o.push(`• Agent: ${n.agent}`),`---
|
|
39
|
+
${o.join(`
|
|
40
|
+
`)}`}function mc(e){let{getState:t,onResubmit:r,trackEvent:n,loginUrl:o}=e;const[A,a]=f.useState(null),[s,i]=f.useState(0),l=t();return l.siteKey&&A!==l.siteKey?f.createElement(hc,{key:s,siteKey:l.siteKey,loginUrl:o,onVerify:async c=>{l.token=c,n==null||n({type:"chatbot_turnstile_completed"}),await r(c)==="needs_another_challenge"?i(d=>d+1):a(l.siteKey)},onError:(c,d)=>{var u;a(l.siteKey),n==null||n({type:"chatbot_turnstile_error",queryId:(u=l.pendingQuery)===null||u===void 0?void 0:u.queryId,failureReason:c,cloudflareErrorCode:d})}}):null}const yc="#1a5b6e",vc="#107180",wc="Arial, sans-serif",ci="Q&A Bot",bc="/chat-icon.svg",Ec="Type your question here...",Cc="Select an option to continue",Pc=!1,Sc="Ask me a question!",ui="/login",kc={general:{showHeader:!0,showFooter:!0},tooltip:{mode:"CLOSE"},chatInput:{disabled:!1,characterLimit:5e3,showCharacterCount:!1,allowNewline:!0,blockSpam:!1},chatWindow:{defaultOpen:!1,showScrollbar:!1},botBubble:{simulateStream:!0,streamSpeed:10,showAvatar:!1},userBubble:{showAvatar:!1},notification:{disabled:!0,showCount:!1},audio:{disabled:!0},emoji:{disabled:!0},fileAttachment:{disabled:!0}},Lr=f.forwardRef((e,t)=>{var r,n,o;const{apiKey:A,qaEndpoint:a,ratingEndpoint:s,capabilitiesEndpoint:i,agentRatingEndpoint:l,welcomeMessage:c,open:d,onOpenChange:u,isLoggedIn:p,allowAnonAccess:g=!1,actingUser:v,primaryColor:h,secondaryColor:w,botName:E,logo:m,placeholder:C,errorMessage:k,embedded:S,footerText:D,footerLink:I,tooltipText:Q,loginUrl:x,turnstileSiteKey:N,backendId:B,resourceContext:O,customFlow:U,onAnalyticsEvent:_}=e,F=f.useRef(`bot_${Math.random().toString(36).substr(2,9)}`);f.useEffect(()=>{ic()},[]);const M=f.useRef(null);M.current===null&&(M.current=ri(),Qn("CREATED",M.current));const L=f.useRef(!1),y=f.useRef({getSessionId:()=>M.current,isResetting:()=>L.current}),Y=f.useRef(null),b=function(z,q){const[le,ne]=f.useState(null),[me,fe]=f.useState("idle"),ce=f.useRef(null),Me=f.useRef(null),De=f.useRef(!0),Ft=f.useCallback(()=>{const Ee=window.turnstile;if(Me.current&&(Ee!=null&&Ee.remove)){try{Ee.remove(Me.current)}catch{}Me.current=null}ce.current&&(ce.current.remove(),ce.current=null)},[]);return f.useEffect(()=>{if(De.current=!0,!z)return fe("idle"),void ne(null);fe("loading");const Ee=document.createElement("div");return Ee.style.position="fixed",Ee.style.left="-9999px",Ee.style.top="-9999px",Ee.style.width="0",Ee.style.height="0",Ee.style.overflow="hidden",Ee.setAttribute("aria-hidden","true"),document.body.appendChild(Ee),ce.current=Ee,ai().then(()=>{if(!De.current)return;const $e=window.turnstile;if(!$e||!ce.current)return Be("Turnstile API not available for silent verification"),fe("failed"),void(q==null||q({type:"chatbot_turnstile_silent_failed",failureReason:"api_unavailable"}));const be=$e.render(ce.current,{sitekey:z,execution:"render","refresh-expired":"auto",callback:ut=>{De.current&&(on("Silent verification succeeded"),ne(ut),fe("verified"))},"error-callback":ut=>!De.current||(Be("Turnstile silent verification failed:",ut),ne(null),fe("failed"),q==null||q({type:"chatbot_turnstile_silent_failed",failureReason:"widget_error",cloudflareErrorCode:ut}),!0),"expired-callback":()=>{De.current&&(on("Token expired, awaiting refresh"),ne(null),fe("loading"))}});Me.current=be}).catch($e=>{De.current&&(Be("Failed to load Turnstile script for silent verification:",$e),fe("failed"),q==null||q({type:"chatbot_turnstile_silent_failed",failureReason:"script_load_failed"}))}),()=>{De.current=!1,Ft()}},[z,Ft]),{token:le,status:me,reset:f.useCallback(()=>{const Ee=window.turnstile;Me.current&&(Ee!=null&&Ee.reset)&&(ne(null),fe("loading"),Ee.reset(Me.current),on("Token consumed, resetting widget for fresh token"))},[])}}(N,z=>{var q;(q=Y.current)===null||q===void 0||q.call(Y,z)}),J=f.useRef(null);J.current=b.token;const[j,K]=f.useState(p);f.useEffect(()=>{K(p)},[p]);const V=S!==void 0?S:Pc,ae=f.useCallback(z=>{var q;_&&_(Object.assign(Object.assign({},z),{timestamp:Date.now(),sessionId:(q=M.current)!==null&&q!==void 0?q:void 0,pageUrl:typeof window<"u"?window.location.href:void 0,isEmbedded:V}))},[_,V]);f.useEffect(()=>{Y.current=z=>ae(z)},[ae]);const re=f.useMemo(()=>{const z=Object.assign({},kc);z.general=Object.assign(Object.assign({},z.general),{primaryColor:h||yc,secondaryColor:w||vc,fontFamily:wc,embedded:V});const q=j===!1?[f.createElement(ZA,{key:"login-button",loginUrl:x||ui,isHeaderButton:!0})]:[f.createElement(uc,{key:"history-button"}),f.createElement(Zl,{key:"user-icon"})];z.header={title:f.createElement("span",{style:{fontSize:14,fontWeight:500}},E||ci),showAvatar:!0,avatar:m||bc,buttons:[...q,we.CLOSE_CHAT_BUTTON]},z.chatInput=Object.assign(Object.assign({},z.chatInput),{disabled:!1,enabledPlaceholderText:C||Ec,disabledPlaceholderText:k||Cc}),z.tooltip=Object.assign(Object.assign({},z.tooltip),{text:Q||Sc});const le=D?I?f.createElement("a",{href:I,target:"_blank",rel:"noopener noreferrer",key:"footer-link"},D):f.createElement("span",{key:"footer-text"},D):null;return z.footer={text:le??void 0,buttons:[f.createElement(fc,{key:"new-chat-button"})]},z.chatWindow=Object.assign(Object.assign({},z.chatWindow),{defaultOpen:!!V}),z.event={rcbPreInjectMessage:!0,rcbPostInjectMessage:!0,rcbUserSubmitText:!0,rcbChangePath:!0,rcbToggleChatWindow:!0},z},[h,w,E,m,C,k,V,Q,j,x,D,I]),Ue=f.useRef(null),Se=function(z){let q=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};return f.useMemo(()=>{const le=(ne,me)=>{if(z.current){const fe=getComputedStyle(z.current).getPropertyValue(ne);if(fe&&fe.trim()!=="")return fe.trim();if(z.current.parentElement){const ce=getComputedStyle(z.current.parentElement).getPropertyValue(ne);if(ce&&ce.trim()!=="")return ce.trim()}}return me};return{primaryColor:le("--primaryColor",q.primaryColor),secondaryColor:le("--secondaryColor",q.secondaryColor),fontFamily:le("--fontFamily",q.fontFamily)}},[z,q])}(Ue,re.general);((z,q)=>{f.useEffect(()=>{q.current&&(z?q.current.classList.add("bot-logged-in"):q.current.classList.remove("bot-logged-in"))},[z,q])})(j!==!1,Ue),(z=>{let{settings:q,themeColors:le}=z;f.useEffect(()=>{le&&(Object.entries(le).forEach(ne=>{let[me,fe]=ne;fe&&document.documentElement.style.setProperty(`--${me}`,fe)}),le.primaryColor&&document.documentElement.style.setProperty("--rcb-header-background",le.primaryColor),le.secondaryColor&&document.documentElement.style.setProperty("--rcb-header-background-hover",le.secondaryColor))},[le]),f.useEffect(()=>{var ne,me;!((ne=q.header)===null||ne===void 0)&&ne.title&&typeof q.header.title=="string"&&(q.header.title=f.createElement("div",{key:"header-title"},f.createElement("h1",{className:"sr-only"},q.header.title),f.createElement("span",{"aria-hidden":"true"},q.header.title))),q.device={desktopEnabled:!0,mobileEnabled:!0,applyMobileOptimizations:!1},q.chatHistory={disabled:!0},q.chatButton=Object.assign(Object.assign({},q.chatButton),{icon:(me=q.header)===null||me===void 0?void 0:me.avatar}),q.event=Object.assign(Object.assign({},q.event),{rcbToggleChatWindow:!0})},[q])})({settings:re,themeColors:Se});const xe=f.useMemo(()=>{const z=(le=>{let{endpoint:ne,ratingEndpoint:me,agentRatingEndpoint:fe,apiKey:ce,sessionId:Me,isResetting:De=()=>!1,isLoggedIn:Ft,allowAnonAccess:Ee=!1,loginUrl:$e="/login",trackEvent:be,getTurnstileToken:ut,resetTurnstileToken:Rt,backendId:zt,resourceContext:wt}=le;if(Ft===!1&&!Ee)return be==null||be({type:"chatbot_login_prompt_shown"}),{qa_loop:{message:"To ask questions, please log in first.",component:f.createElement(ZA,{loginUrl:$e}),chatDisabled:!0,path:"qa_loop"}};let T=null,G=null,X=!1;const W={siteKey:null,token:null,pendingQuery:null,needsChallenge:!1};let oe=null;if(!ne)throw new Error("Q&A endpoint is required");return{qa_loop:{message:async Ae=>{var Ye;oe=Ae.injectMessage.bind(Ae);const{userInput:ye}=Ae;if((!De||!De())&&ye&&ye.trim()!==""){if(ye==="👍 Helpful"||ye==="👎 Not helpful"){if(T){const de=ye==="👍 Helpful",Oe=G==="agent"?fe:me;if(Oe)try{const ie={"Content-Type":"application/json"};ce&&(ie["X-API-KEY"]=ce);const he=Me();he&&(ie["X-Session-ID"]=he,ie["X-Query-ID"]=T),await fetch(Oe,{method:"POST",headers:ie,credentials:"include",body:JSON.stringify(G==="agent"?{query_id:T,rating:de?"helpful":"not_helpful",session_id:he}:{sessionId:he,queryId:T,rating:de?1:0})}),be==null||be({type:"chatbot_rating_sent",queryId:T,rating:de?"helpful":"not_helpful"})}catch(ie){Be("Error sending feedback:",ie)}}return"Thanks for the feedback!"}try{const de=ei();T=de,be==null||be({type:"chatbot_question_sent",queryId:de,questionLength:ye.length});const Oe={"Content-Type":"application/json"};ce&&(Oe["X-API-KEY"]=ce);const ie=Me();ie&&(Oe["X-Session-ID"]=ie,Oe["X-Query-ID"]=de),Oe["X-Origin"]=wt||"access";const he={query:ye,question_id:de};ie&&(he.session_id=ie),zt&&(he._backend=zt),wt&&(he.rp_name=wt);const _e=ut==null?void 0:ut();_e&&(he.turnstile_token=_e),Qn("SENT to API",{session_id:ie,question_id:de});const cn=Date.now(),bt=await fetch(ne,{method:"POST",headers:Oe,credentials:"include",body:JSON.stringify(he)});if(!bt.ok)throw new Error(`API returned ${bt.status}`);if((bt.headers.get("content-type")||"").includes("text/event-stream")){Rt==null||Rt();const Fn=(Ye=bt.body)===null||Ye===void 0?void 0:Ye.getReader();if(!Fn)throw new Error("Response body is not readable");const qr=new TextDecoder;let at="",ft="",Ct=!1;try{for(;;){const{done:Pt,value:lt}=await Fn.read();if(Pt)break;at+=qr.decode(lt,{stream:!0});let Gt=at.indexOf(`
|
|
41
41
|
|
|
42
|
-
`);for(;
|
|
43
|
-
`))
|
|
42
|
+
`);for(;Gt!==-1;){const eu=at.slice(0,Gt);at=at.slice(Gt+2);let Wt,Yt="",Rn="";for(const Le of eu.split(`
|
|
43
|
+
`))Le.startsWith("event: ")?Yt=Le.slice(7):Le.startsWith("data: ")&&(Rn=Le.slice(6));if(Yt&&Rn){try{Wt=JSON.parse(Rn)}catch{ti("Failed to parse SSE data:",Rn),Gt=at.indexOf(`
|
|
44
44
|
|
|
45
|
-
`);continue}if(
|
|
45
|
+
`);continue}if(Yt==="status"){const Le=Wt.message||"Processing...";await Ae.streamMessage(`_${Le}_`,"BOT"),Ct=!0}else if(Yt==="token"){ft+=Wt.content||"";const Le=sn(ft);await Ae.streamMessage(Le,"BOT")}else if(Yt==="done"){const Le=Wt.metadata||{};if(G=Le.rating_target||null,X=Le.is_final_response===!0,ft)console.log("[SSE DEBUG] done: tokenContent exists, skipping streamMessage, calling endStreamMessage"),await Ae.endStreamMessage("BOT");else{const gi=Wt.response||"";if(gi){const tu=sn(gi);await Ae.streamMessage(tu,"BOT"),Ct=!0}Ct&&await Ae.endStreamMessage("BOT")}}else if(Yt==="error"){const Le=Wt.message||"An error occurred";Be("SSE error event:",Le),Ct?(await Ae.streamMessage(Le,"BOT"),await Ae.endStreamMessage("BOT")):await Ae.injectMessage(Le)}Gt=at.indexOf(`
|
|
46
46
|
|
|
47
|
-
`)}else
|
|
47
|
+
`)}else Gt=at.indexOf(`
|
|
48
48
|
|
|
49
|
-
`)}}
|
|
49
|
+
`)}}Ct&&await Ae.endStreamMessage("BOT")}catch(Pt){if(Be("Error reading SSE stream:",Pt),!Ct)throw Pt;await Ae.streamMessage("I had trouble completing the response. Please try again.","BOT"),await Ae.endStreamMessage("BOT")}const qt=Date.now()-cn;return void(be==null||be({type:"chatbot_answer_received",queryId:de,responseTimeMs:qt,success:!0,responseLength:ft.length}))}const Hn=Date.now()-cn,st=await bt.json();if(st.requires_turnstile)return be==null||be({type:"chatbot_turnstile_shown",queryId:de}),W.siteKey=st.site_key,W.pendingQuery={query:ye,sessionId:ie,queryId:de},W.needsChallenge=!0,"One moment — verifying your session…";Rt==null||Rt();const jt=st.response||st.answer||st.text||st.message;if(!jt)throw new Error("Invalid response format from API");const Un=st.metadata||{};G=Un.rating_target||null,X=Un.is_final_response===!0;const dt=sn(jt),Et=xt()?li(st):"",un=Et?`${dt}
|
|
50
50
|
|
|
51
|
-
|
|
51
|
+
${Et}`:dt;return await Ae.injectMessage(un),void(be==null||be({type:"chatbot_answer_received",queryId:de,responseTimeMs:Hn,success:!0,responseLength:jt.length,hasMetadata:!!Et}))}catch(de){return Be("Error in Q&A flow:",de),be==null||be({type:"chatbot_answer_error",queryId:T??void 0,errorType:de instanceof Error?de.message:"unknown"}),"I apologize, but I'm having trouble processing your question. Please try again later."}}},options:Ae=>De&&De()||Ae.userInput==="👍 Helpful"||Ae.userInput==="👎 Not helpful"||W.needsChallenge?[]:X&&G&&(G==="agent"?fe:me)?["👍 Helpful","👎 Not helpful"]:[],renderMarkdown:["BOT"],chatDisabled:!1,component:f.createElement(mc,{getState:()=>W,onResubmit:async Ae=>{var Ye;if(!W.pendingQuery||!oe)return Be("Turnstile resubmit called without pending query or injectMessage"),"error";try{const ye={"Content-Type":"application/json"};ce&&(ye["X-API-KEY"]=ce),W.pendingQuery.sessionId&&(ye["X-Session-ID"]=W.pendingQuery.sessionId,ye["X-Query-ID"]=W.pendingQuery.queryId),ye["X-Origin"]=wt||"access";const de={query:W.pendingQuery.query,question_id:W.pendingQuery.queryId,turnstile_token:Ae};W.pendingQuery.sessionId&&(de.session_id=W.pendingQuery.sessionId),zt&&(de._backend=zt),wt&&(de.rp_name=wt);const Oe=await fetch(ne,{method:"POST",headers:ye,credentials:"include",body:JSON.stringify(de)}),ie=W.pendingQuery.queryId;if(!Oe.ok)throw new Error(`API returned ${Oe.status} after Turnstile`);if((Oe.headers.get("content-type")||"").includes("text/event-stream")){const jt=(Ye=Oe.body)===null||Ye===void 0?void 0:Ye.getReader();if(!jt)throw new Error("Response body is not readable");const Un=new TextDecoder;let dt="",Et="",un={};for(;;){const{done:qr,value:at}=await jt.read();if(qr)break;dt+=Un.decode(at,{stream:!0});let ft=dt.indexOf(`
|
|
52
52
|
|
|
53
|
-
`);for(;
|
|
54
|
-
`))lt.startsWith("event: ")?
|
|
53
|
+
`);for(;ft!==-1;){const Ct=dt.slice(0,ft);dt=dt.slice(ft+2);let qt="",Pt="";for(const lt of Ct.split(`
|
|
54
|
+
`))lt.startsWith("event: ")?qt=lt.slice(7):lt.startsWith("data: ")&&(Pt=lt.slice(6));if(qt&&Pt)try{const lt=JSON.parse(Pt);qt==="token"?Et+=lt.content||"":qt==="done"&&(un=lt.metadata||{})}catch{}ft=dt.indexOf(`
|
|
55
55
|
|
|
56
|
-
`)}}if(
|
|
56
|
+
`)}}if(W.token=null,W.pendingQuery=null,W.needsChallenge=!1,W.siteKey=null,!Et)throw new Error("No content received from stream");G=un.rating_target||null,X=un.is_final_response===!0,T=ie;const Fn=sn(Et);return await oe(Fn),be==null||be({type:"chatbot_answer_received",queryId:ie,success:!0,responseLength:Et.length}),"success"}const he=await Oe.json();if(he.requires_turnstile)return W.siteKey=he.site_key,W.token=null,await oe("Still verifying — please complete the challenge again."),"needs_another_challenge";W.token=null,W.pendingQuery=null,W.needsChallenge=!1,W.siteKey=null;const _e=he.response||he.answer||he.text||he.message;if(!_e)throw new Error("Invalid response format from API");const cn=he.metadata||{};G=cn.rating_target||null,X=cn.is_final_response===!0,T=ie;const bt=sn(_e),Hn=xt()?li(he):"",st=Hn?`${bt}
|
|
57
57
|
|
|
58
|
-
`).concat(Nn):Be;return await K(st),me==null||me({type:"chatbot_answer_received",queryId:ve,success:!0,responseLength:Ee.length}),"success"}catch(ce){return De("Error resubmitting after Turnstile:",ce),z.token=null,z.pendingQuery=null,z.needsChallenge=!1,z.siteKey=null,await(K==null?void 0:K("I had trouble processing your question after verification. Please try again.")),"error"}},trackEvent:me,loginUrl:Ht}),path:"qa_loop"}}})({endpoint:A,ratingEndpoint:s,agentRatingEndpoint:l,apiKey:a,sessionId:L.current.getSessionId,isResetting:L.current.isResetting,isLoggedIn:v,allowAnonAccess:g,loginUrl:B||li,trackEvent:G,getTurnstileToken:()=>W.current,resetTurnstileToken:()=>y.reset(),backendId:e.backendId,resourceContext:D});return Object.assign(Object.assign({start:{message:c,renderMarkdown:["BOT"],transition:{duration:0},path:"qa_loop"}},R),M||{})},[a,A,s,l,c,v,g,B,M,b,G,D]),Pe=p.useMemo(()=>{return[()=>Ks(Y),Kl(),()=>Vl(R)];var R,Y},[]);return p.useEffect(()=>{const R=()=>{const re=document.querySelector(".rcb-chat-window");if(!re)return;const ne=re.querySelector(".rcb-send-button");ne&&(ne.hasAttribute("tabindex")||ne.setAttribute("tabindex","0"),ne.hasAttribute("data-keyboard-enabled")||(ne.setAttribute("data-keyboard-enabled","true"),ne.addEventListener("keydown",ae=>{if(ae.key==="Enter"||ae.key===" "){ae.preventDefault();const ue=ne&&Object.keys(ne).find(Me=>Me.startsWith("__reactProps"));if(ue){const Me=ne[ue],Fe=Me==null?void 0:Me.onMouseDown;if(Fe&&typeof Fe=="function")return void Fe(ae)}const Ae=new MouseEvent("mousedown",{bubbles:!0,cancelable:!0,view:window});ne.dispatchEvent(Ae)}})))},Y=setInterval(R,1e3);return R(),()=>clearInterval(Y)},[]),fc(),p.useEffect(()=>{const R=he.current;if(!R)return;const Y=re=>{var ne,ae,ue;const Ae=(ae=(ne=re.target).closest)===null||ae===void 0?void 0:ae.call(ne,"a");Ae&&Ae.closest(".rcb-chat-body-container")&&(Ae.classList.contains("qa-bot-login-button")||Ae.closest(".rcb-options-container")||G({type:"chatbot_link_clicked",linkUrl:Ae.href,linkText:((ue=Ae.textContent)===null||ue===void 0?void 0:ue.trim())||""}))};return R.addEventListener("click",Y),()=>R.removeEventListener("click",Y)},[G]),p.useEffect(()=>{if(!q){const R=Y=>{const re=Y.data.newState;u==null||u(re);const ne=U.current;G(re?{type:"chatbot_open"}:{type:"chatbot_close",messageCount:ne?ni(ne):0,durationMs:ne?Ac(ne):0})};return window.addEventListener("rcb-toggle-chat-window",R),()=>{window.removeEventListener("rcb-toggle-chat-window",R)}}},[q,u,G]),p.createElement("div",{className:"qa-bot ".concat(!((r=X.general)===null||r===void 0)&&r.embedded?"embedded-qa-bot":""),ref:he,role:"region","aria-label":"".concat(x||Ai).concat(!((n=X.general)===null||n===void 0)&&n.embedded?" - Embedded":"")},p.createElement(lc,{getSessionId:()=>U.current,setSessionId:R=>{const Y=U.current;U.current=R,In("RESTORED","".concat(Y==null?void 0:Y.slice(-12)," -> ").concat(R.slice(-12)))},resetSession:()=>{const R=U.current;N.current=!0,U.current=ti(),In("RESET","".concat(R==null?void 0:R.slice(-12)," -> ").concat(U.current.slice(-12)))},clearResettingFlag:()=>{N.current=!1}},p.createElement(Xl,{trackEvent:G},p.createElement(wo,null,p.createElement("div",null,p.createElement(pc,null),p.createElement(Wa,{ref:t,embedded:((o=X.general)===null||o===void 0?void 0:o.embedded)||!1,currentOpen:d||!1,enabled:v!==!1,onSetEnabled:R=>V(!!R&&void 0)}),p.createElement(Bs,{key:"chatbot-".concat(_.current,"-").concat(v),settings:X,flow:Ke,plugins:Pe}),p.createElement("div",{role:"status","aria-live":"polite","aria-label":"Bot response updates",className:"sr-only",id:"bot-live-region",style:{position:"absolute",width:"1px",height:"1px",padding:0,margin:"-1px",overflow:"hidden",clip:"rect(0,0,0,0)",whiteSpace:"nowrap",border:0}}),p.createElement("div",{id:"chat-input-help",className:"sr-only",style:{position:"absolute",width:"1px",height:"1px",padding:0,margin:"-1px",overflow:"hidden",clip:"rect(0,0,0,0)",whiteSpace:"nowrap",border:0}},"Type your message and press Enter to send. Use arrow keys to navigate through response options."))))))});_r.displayName="QABot",jr('.rcb-chat-window{height:800px!important;max-height:80vh!important;max-width:100%;width:550px!important}.rcb-chat-window .rcb-chat-header{align-items:center;display:flex;flex-direction:row;font-weight:700}.rcb-chat-window a{color:#000;font-weight:700;text-decoration:underline}.rcb-chat-window a:hover{color:var(--primaryColor,#107180)}.rcb-chat-window .rcb-bot-message a,.rcb-chat-window .rcb-bot-message a:link,.rcb-chat-window .rcb-bot-message a:visited{color:#fff!important;text-decoration:underline!important}.rcb-chat-window .rcb-bot-message a:hover{opacity:.85;text-decoration:underline!important}.rcb-chat-window .rcb-chat-input-textarea{overflow-y:auto}.rcb-chat-window .rcb-chat-footer-container{font-size:10px}.qa-bot .history-button,.qa-bot .user-login-icon{display:none!important}.qa-bot.bot-logged-in .history-button,.qa-bot.bot-logged-in .user-login-icon{display:flex!important;transform:scale(1.3) translateY(-2px)}.qa-bot.bot-logged-in .history-button:hover{opacity:.8}.qa-bot.bot-logged-in .history-button:focus{outline:2px solid #fff;outline-offset:2px}.embedded-qa-bot .rcb-chat-window{max-width:100%;width:100%!important}.qa-bot.hidden{display:none}.embedded-qa-bot .rcb-bot-message,.embedded-qa-bot .rcb-user-message{max-width:90%!important;word-break:break-word}.embedded-qa-bot .rcb-chat-input-textarea{width:100%!important}.qa-bot-container{max-width:100%;width:100%}.rcb-chat-tooltip{background-color:#1a5b6e;color:#fff}.rcb-chat-tooltip-tail{border-color:#0000 #0000 #0000 #1a5b6e}@keyframes phone-ring{0%{transform:translateX(0) translateY(0) rotate(0deg)}2%{transform:translateX(0) translateY(-8px) rotate(-2deg)}4%{transform:translateX(0) translateY(-6px) rotate(2deg)}6%{transform:translateX(0) translateY(-8px) rotate(-1deg)}8%{transform:translateX(0) translateY(-6px) rotate(1deg)}10%{transform:translateX(0) translateY(-8px) rotate(-2deg)}12%{transform:translateX(0) translateY(-6px) rotate(2deg)}20%{transform:translateX(0) translateY(0) rotate(0deg)}30%{transform:translateX(0) translateY(0) rotate(0deg)}40%{transform:translateX(0) translateY(0) rotate(0deg)}49%{transform:translateX(0) translateY(0) rotate(0deg)}50%{transform:translateX(0) translateY(-8px) rotate(-2deg)}52%{transform:translateX(0) translateY(-6px) rotate(2deg)}54%{transform:translateX(0) translateY(-8px) rotate(-1deg)}56%{transform:translateX(0) translateY(-6px) rotate(1deg)}58%{transform:translateX(0) translateY(-8px) rotate(-2deg)}60%{transform:translateX(0) translateY(-6px) rotate(2deg)}70%{transform:translateX(0) translateY(0) rotate(0deg)}to{transform:translateX(0) translateY(0) rotate(0deg)}}@media (max-width:768px){.rcb-chat-window{max-height:calc(100vh - 100px)!important;max-width:calc(100vw - 40px)!important;width:550px!important}.embedded-chat-container.open{height:400px}.embedded-chat-closed{font-size:14px;height:40px}.embedded-chat-open-btn{font-size:12px;padding:3px 10px}.rcb-bot-message,.rcb-user-message{max-width:85%!important}.rcb-chat-input-textarea{font-size:16px!important;min-height:44px!important}.rcb-chat-header{padding:12px 16px!important}}@media (max-width:480px){.rcb-chat-window{bottom:10px!important;left:10px!important;max-height:calc(100vh - 80px)!important;max-width:calc(100vw - 20px)!important;right:10px!important;width:calc(100vw - 20px)!important}.embedded-chat-container.open{height:350px}.rcb-bot-message,.rcb-user-message{margin-bottom:8px!important;max-width:90%!important}.rcb-chat-header{font-size:14px!important;padding:8px 12px!important}.rcb-chat-button{bottom:20px!important;height:50px!important;right:20px!important;width:50px!important}.rcb-chat-footer-container{font-size:9px!important;padding:8px 12px!important}}@media (max-width:360px){.rcb-chat-window{left:5px!important;max-width:calc(100vw - 10px)!important;right:5px!important;width:calc(100vw - 10px)!important}.rcb-chat-header{font-size:13px!important;padding:6px 8px!important}}.rcb-checkbox-container{display:flex!important;flex-wrap:wrap!important;gap:8px!important;margin-left:16px!important;max-width:100%!important;padding-top:12px!important}.rcb-checkbox-row-container{align-items:center!important;background-color:#fff!important;border:1px solid #d0d0d0!important;border-radius:6px!important;box-sizing:border-box!important;color:var(--primaryColor,#107180)!important;cursor:pointer!important;display:flex!important;flex:0 0 auto!important;font-size:14px!important;font-weight:400!important;margin:0!important;max-height:auto!important;min-height:auto!important;padding:8px 12px!important;text-align:center!important;transition:all .2s ease!important;-webkit-user-select:none;-moz-user-select:none;user-select:none;width:auto!important}.rcb-checkbox-row-container:hover{background-color:#e8f4f8!important;border-color:var(--primaryColor,#107180)!important;box-shadow:0 2px 4px #10718033!important;transform:translateY(-1px)!important}.rcb-checkbox-row-container[data-checked=true]{background-color:var(--primaryColor,#107180)!important;border-color:var(--primaryColor,#107180)!important;color:#fff!important}.rcb-checkbox-row{margin-left:0!important}.rcb-checkbox-mark{height:14px!important;margin-right:6px!important;width:14px!important}.rcb-checkbox-label{font-size:13px!important;margin:0!important;white-space:nowrap!important}.rcb-checkbox-next-button{align-items:center!important;background-color:#fff!important;border:1px solid #d0d0d0!important;border-radius:6px!important;box-sizing:border-box!important;color:var(--secondaryColor,#107180)!important;cursor:pointer!important;display:flex!important;flex:0 0 auto!important;font-size:14px!important;font-weight:400!important;justify-content:center!important;line-height:24px!important;margin:0!important;max-height:auto!important;min-height:auto!important;padding:8px 12px!important;text-align:center!important;transition:all .2s ease!important;-webkit-user-select:none;-moz-user-select:none;user-select:none;width:auto!important}.rcb-checkbox-next-button:hover{background-color:#e8f4f8!important;border-color:var(--secondaryColor,#107180)!important;box-shadow:0 2px 4px #10718033!important;transform:translateY(-1px)!important}.sr-only{clip:rect(0,0,0,0)!important;border:0!important;height:1px!important;margin:-1px!important;overflow:hidden!important;padding:0!important;position:absolute!important;white-space:nowrap!important;width:1px!important}.rcb-chat-input-send-button:focus,.rcb-chat-input-textarea:focus{outline:2px solid var(--primaryColor,#107180)!important;outline-offset:2px!important}.rcb-bot-message ol,.rcb-bot-message ul{list-style-position:outside!important;margin:.5em 0!important;padding-left:1.5em!important}.rcb-bot-message li{margin-bottom:.25em!important}.rcb-bot-message li>p{display:inline!important;margin:0!important}.rcb-user-message{word-wrap:break-word!important;overflow:hidden!important;word-break:break-word!important}:focus-visible{outline:2px solid var(--primaryColor,#107180)!important;outline-offset:2px!important}.rcb-options-container{display:flex!important;flex-direction:row!important;flex-wrap:wrap!important;gap:8px!important;margin:16px!important;padding:0!important}.rcb-options{background-color:#fff!important;border:1px solid #d0d0d0!important;border-radius:6px!important;box-sizing:border-box!important;color:var(--secondaryColor,#107180)!important;cursor:pointer!important;flex:0 0 auto!important;font-size:14px!important;font-weight:400!important;outline:none!important;padding:8px 12px!important;text-align:center!important;transition:all .2s ease!important;-webkit-user-select:none;-moz-user-select:none;user-select:none;width:auto!important}.rcb-options:hover{background-color:#e8f4f8!important;border-color:var(--secondaryColor,#107180)!important;box-shadow:0 2px 4px #10718033!important;transform:translateY(-1px)!important}.rcb-checkbox-next-button.keyboard-focused,.rcb-checkbox-next-button:focus,.rcb-checkbox-next-button:focus-visible,.rcb-checkbox-row-container.keyboard-focused,.rcb-checkbox-row-container:focus,.rcb-checkbox-row-container:focus-visible,.rcb-options.keyboard-focused,.rcb-options:focus,.rcb-options:focus-visible{background-color:#e8f4f8!important;border-color:var(--secondaryColor,#107180)!important;outline:none!important}.rcb-options:active{background-color:var(--secondaryColor,#107180)!important;border-color:var(--secondaryColor,#107180)!important;color:#fff!important;transform:translateY(0)!important}.keyboard-nav-hint{color:#666!important;font-size:12px!important;font-style:italic!important;margin-bottom:8px!important}@media (prefers-reduced-motion:reduce){.keyboard-nav-hint{display:none!important}}.rcb-options-container [role=button][tabindex="0"],.rcb-options-container button[tabindex="0"]{position:relative!important}.rcb-options-container [role=button][tabindex="0"]:after,.rcb-options-container button[tabindex="0"]:after{color:var(--secondaryColor,#107180)!important;content:"←"!important;font-size:16px!important;opacity:0!important;position:absolute!important;right:12px!important;top:50%!important;transform:translateY(-50%)!important;transition:opacity .2s ease!important}.rcb-options-container [role=button][tabindex="0"]:focus:after,.rcb-options-container button[tabindex="0"]:focus:after{opacity:1!important}.rcb-chat-input-send-button{cursor:pointer!important;opacity:1!important;pointer-events:auto!important;visibility:visible!important}.rcb-chat-input-send-button:not([tabindex]){-webkit-user-select:none;-moz-user-select:none;user-select:none}.rcb-chat-input-container [onclick],.rcb-chat-input-container [role=button],.rcb-chat-input-container div[style*=cursor],.rcb-chat-input-container svg:last-child,.rcb-chat-input-container>div:last-child{tabindex:0!important;cursor:pointer!important}.rcb-chat-footer{margin-top:4px!important;padding-top:0!important}.rcb-chat-footer-container{align-items:center!important;display:flex!important;margin-top:4px!important;padding-top:4px!important}.rcb-chat-footer-container button{order:1!important}.rcb-chat-footer-container a[href*=qa-bot-core]{tab-index:0!important;order:2!important}.rcb-chat-footer-container a[href*=feedback]{tab-index:0!important;order:3!important}@media (prefers-contrast:high){.rcb-chat-window a{background-color:#fff!important;border:1px solid #000!important;color:#000!important}}@media (prefers-reduced-motion:reduce){*{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.rcb-chat-input-textarea{user-select:text!important}.rcb-chat-body-container,.rcb-chat-input-textarea,.rcb-chat-window{touch-action:pan-y!important}.embedded-qa-bot,.rcb-chat-window{-webkit-overflow-scrolling:touch!important}.embedded-qa-bot .rcb-chat-input-textarea{touch-action:pan-y!important;user-select:text!important}.embedded-qa-bot .rcb-chat-body-container,.embedded-qa-bot .rcb-chat-window{touch-action:pan-y!important}.rcb-chat-header-container{background:var(--primaryColor,#1a5b6e)!important;background:linear-gradient(135deg,var(--primaryColor,#1a5b6e) 0,var(--secondaryColor,#107180) 100%)!important}.rcb-toggle-button{align-items:center!important;background:var(--primaryColor,#1a5b6e)!important;display:flex!important;justify-content:center!important}.rcb-toggle-button svg{stroke:#fff!important;color:#fff!important}.rcb-toggle-button *,.rcb-toggle-button img,.rcb-toggle-button svg,.rcb-toggle-button>*{box-sizing:border-box!important;height:50px!important;left:0!important;margin:0 auto!important;max-height:50px!important;max-width:50px!important;min-height:50px!important;min-width:50px!important;padding:2px!important;position:relative!important;top:0!important;width:50px!important}.rcb-send-button{background-color:var(--primaryColor,#1a5b6e)!important}',{insertAt:"top"});const Pc=()=>{const[e,t]=p.useState(!1),r=()=>typeof navigator<"u"&&navigator.mediaDevices!==void 0&&typeof navigator.mediaDevices.getDisplayMedia=="function";return{captureScreenshot:async()=>{if(!r())throw new Error("Screen capture is not available in this environment");try{t(!0);const n=await navigator.mediaDevices.getDisplayMedia({video:{displaySurface:"browser",cursor:"always",width:{ideal:1920},height:{ideal:1080}},audio:!1}),o=document.createElement("video");o.srcObject=n,await new Promise(c=>{o.onloadedmetadata=()=>{o.play(),c()}});const a=document.createElement("canvas");a.width=o.videoWidth,a.height=o.videoHeight;const A=a.getContext("2d");if(!A)throw new Error("Could not get canvas context");A.drawImage(o,0,0,a.width,a.height);const s=await new Promise(c=>a.toBlob(c,"image/png"));if(!s)throw new Error("Could not create image blob");const i=new Date().toISOString().replace(/[:.]/g,"-"),l=new File([s],"screenshot-".concat(i,".png"),{type:"image/png"});return n.getTracks().forEach(c=>c.stop()),t(!1),l}catch(n){throw De("Error capturing screenshot:",n),t(!1),n}},isCapturing:e,isScreenCaptureAvailable:r()}},Sc=e=>p.createElement(oi,e,p.createElement("path",{d:"M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4"}),p.createElement("polyline",{points:"17 8 12 3 7 8"}),p.createElement("line",{x1:"12",y1:"3",x2:"12",y2:"15"})),Dc=e=>new Promise((t,r)=>{const n=new FileReader;n.onload=()=>{if(typeof n.result!="string")return void r(new Error("Failed to read file ".concat(e.name)));const o=n.result.split(",")[1];t({fileName:e.name,contentType:e.type,size:e.size,fileData:o})},n.onerror=()=>r(new Error("Failed to read file ".concat(e.name))),n.readAsDataURL(e)}),Bc=e=>Promise.all(e.map(Dc)),Ic=e=>e<1024?"".concat(e," B"):e<1048576?"".concat((e/1024).toFixed(1)," KB"):"".concat((e/1048576).toFixed(1)," MB"),Qn=e=>{let{onFileUpload:t,maxSizeMB:r=10,acceptedTypes:n="image/*,application/pdf,text/*,.doc,.docx",enableScreenshot:o=!1,className:a}=e;const[A,s]=p.useState(!1),[i,l]=p.useState([]),[c,d]=p.useState(null),u=p.useRef(null),{captureScreenshot:f,isCapturing:g,isScreenCaptureAvailable:b}=Pc(),h=C=>{const S=document.createElement("div");S.setAttribute("aria-live","assertive"),S.setAttribute("aria-atomic","true"),S.className="sr-only",S.textContent=C,document.body.appendChild(S),setTimeout(()=>document.body.removeChild(S),1e3)},w=C=>{if(!C||C.length===0)return void $a("FileUploadComponent: No valid files provided to handleFiles");let S;try{S=Array.from(C)}catch(O){return De("FileUploadComponent: Error converting files to array:",O),void h("Error processing selected files. Please try again.")}const I=[...i,...S];l(I);const Q=S.length,B=S.map(O=>O.name).join(", ");h("".concat(Q," file").concat(Q>1?"s":""," selected: ").concat(B)),setTimeout(()=>{const O=document.querySelector(".rcb-chat-content");O&&(O.scrollTop=O.scrollHeight)},100),t&&t(I)},x=C=>{C.preventDefault(),C.stopPropagation(),C.type==="dragenter"||C.type==="dragover"?s(!0):C.type==="dragleave"&&s(!1)},m=()=>{try{u.current&&u.current.click()}catch(C){De("FileUploadComponent: Error in handleButtonClick:",C),h("Error opening file selection dialog. Please try again.")}},k=()=>{d(null)},P=o&&b;return p.createElement("div",{className:"file-upload-container ".concat(a||""),style:{padding:"16px",margin:"8px 0"}},P&&p.createElement("div",{style:{display:"flex",justifyContent:"center",marginBottom:"10px"}},p.createElement("button",{onClick:C=>{C.preventDefault(),(async()=>{try{const S=await f();w([S]),h("Screenshot captured successfully")}catch{h("Error capturing screenshot. Please try again.")}})()},disabled:g,"aria-describedby":"screenshot-help","aria-label":g?"Taking screenshot, please wait":"Take a screenshot to attach",style:{display:"flex",alignItems:"center",gap:"8px",backgroundColor:"#107180",color:"white",border:"none",borderRadius:"5px",padding:"8px 12px",cursor:g?"not-allowed":"pointer",fontSize:"14px",fontWeight:"500",boxShadow:"0 1px 3px rgba(0,0,0,0.2)"}},p.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},p.createElement("path",{d:"M23 19a2 2 0 0 1-2 2H3a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h4l2-3h6l2 3h4a2 2 0 0 1 2 2z"}),p.createElement("circle",{cx:"12",cy:"13",r:"4"})),g?"Taking screenshot...":"Take screenshot..."),p.createElement("span",{id:"screenshot-help",className:"sr-only"},"Captures the current screen and adds it as an attachment")),p.createElement("div",{className:"file-upload-dropzone ".concat(A?"active":""),onDragEnter:x,onDragLeave:x,onDragOver:x,onDrop:C=>{var S;C.preventDefault(),C.stopPropagation(),s(!1);try{!((S=C.dataTransfer)===null||S===void 0)&&S.files&&C.dataTransfer.files.length>0&&w(C.dataTransfer.files)}catch(I){De("FileUploadComponent: Error in handleDrop:",I),h("Error processing dropped files. Please try again.")}},role:"button",tabIndex:0,"aria-label":"File upload area. Click to select files or drag and drop files here.","aria-describedby":"upload-instructions",onKeyDown:C=>{C.key!=="Enter"&&C.key!==" "||(C.preventDefault(),m())},style:{padding:"20px",border:"2px dashed #ccc",borderRadius:"8px",backgroundColor:A?"#f0f8ff":"#fafafa",transition:"all 0.3s ease"}},p.createElement("input",{ref:u,type:"file",className:"file-input",onChange:C=>{var S;try{!((S=C.target)===null||S===void 0)&&S.files&&C.target.files.length>0&&w(C.target.files)}catch(I){De("FileUploadComponent: Error in handleFileSelect:",I),h("Error processing selected files. Please try again.")}},multiple:!0,style:{display:"none"},"aria-label":"Select files to upload",accept:n}),p.createElement("div",{className:"upload-content",onClick:m,style:{cursor:"pointer",flexDirection:"column",alignItems:"center",display:"flex",textAlign:"center",padding:"12px"}},p.createElement("div",{style:{display:"flex",flexDirection:"column",alignItems:"center",gap:"8px"}},p.createElement("div",{style:{display:"flex",flexDirection:"row",alignItems:"center",gap:"10px"}},p.createElement(Sc,null),p.createElement("p",{style:{margin:0,fontWeight:"bold"}},"Upload Files")),p.createElement("p",{id:"upload-instructions",style:{margin:0,fontSize:"14px",color:"#666"}},"Drag and drop files here or click to select. (Max ",r,"MB each)")),i.length>0&&p.createElement("div",{className:"selected-files",style:{display:"flex",flexWrap:"wrap",gap:"8px",marginTop:"12px",alignItems:"center"}},p.createElement("span",{style:{fontWeight:400,color:"#888",fontSize:"13px",marginRight:"8px",alignSelf:"center"}},"Selected files:"),i.map((C,S)=>p.createElement("span",{key:S,style:{background:"#fff",color:"#107180",borderRadius:"5px",padding:"4px 12px",fontSize:"14px",marginRight:"4px",marginBottom:"4px",border:"1px solid #ccc",display:"flex",alignItems:"center",gap:"6px",cursor:"pointer"},onClick:I=>{I.stopPropagation(),(Q=>{d(Q)})(C)}},p.createElement("span",{onClick:I=>{I.stopPropagation(),(Q=>{const B=i.filter((O,D)=>D!==Q);l(B),t&&t(B)})(S)},style:{cursor:"pointer",color:"#888",fontWeight:"bold",fontSize:"15px",marginRight:"4px",userSelect:"none",lineHeight:1},title:"Remove file","aria-label":"Remove ".concat(C.name)},"×"),C.name," (",Ic(C.size),")"))))),(()=>{if(!c)return null;const C=c.type.startsWith("image/"),S=c.type.startsWith("text/"),I=c.type==="application/pdf";return p.createElement("div",{style:{position:"fixed",top:0,left:0,right:0,bottom:0,backgroundColor:"rgba(0, 0, 0, 0.7)",display:"flex",justifyContent:"center",alignItems:"center",zIndex:1e3},onClick:k},p.createElement("div",{style:{backgroundColor:"white",padding:"20px",borderRadius:"8px",maxWidth:"90%",maxHeight:"90%",overflow:"auto",position:"relative"},onClick:Q=>Q.stopPropagation()},p.createElement("button",{onClick:k,style:{position:"absolute",top:"10px",right:"10px",background:"none",border:"none",fontSize:"24px",cursor:"pointer",color:"#666"}},"×"),p.createElement("h3",{style:{marginTop:0,marginBottom:"16px"}},c.name),C&&p.createElement("img",{src:URL.createObjectURL(c),alt:c.name,style:{maxWidth:"100%",maxHeight:"70vh"}}),S&&p.createElement("pre",{style:{whiteSpace:"pre-wrap",wordWrap:"break-word",maxHeight:"70vh",overflow:"auto",padding:"16px",backgroundColor:"#f5f5f5",borderRadius:"4px"}},URL.createObjectURL(c)),I&&p.createElement("iframe",{src:URL.createObjectURL(c),style:{width:"100%",height:"70vh",border:"none"},title:c.name}),!C&&!S&&!I&&p.createElement("div",{style:{padding:"20px",textAlign:"center"}},"Preview not available for this file type")))})())};function Tc(e,t){if(!t||Object.keys(t).length===0)return e;const r={};for(const[n,o]of Object.entries(e)){let a=Object.assign({},o);if(a.chatDisabled===void 0){const A=!(!a.options&&!a.checkboxes);a.chatDisabled=A}r[n]=a}return r}function Mn(e){return async t=>{const r=await e(t);await t.injectMessage(r)}}const Qc=p.forwardRef((e,t)=>{var{defaultOpen:r}=e,n=mi(e,["defaultOpen"]);const[o,a]=p.useState(r||!1),A=p.useRef(null);return p.useImperativeHandle(t,()=>({addMessage:s=>{var i;(i=A.current)===null||i===void 0||i.addMessage(s)},setBotEnabled:s=>{var i;(i=A.current)===null||i===void 0||i.setBotEnabled(s)},openChat:()=>{var s;a(!0),(s=A.current)===null||s===void 0||s.openChat()},closeChat:()=>{var s;a(!1),(s=A.current)===null||s===void 0||s.closeChat()},toggleChat:()=>{var s;a(i=>!i),(s=A.current)===null||s===void 0||s.toggleChat()}}),[]),p.createElement(_r,cn({ref:A},n,{open:o,onOpenChange:a}))});Qc.displayName="ProgrammaticQABot";const Ne={QA_ENDPOINT:"https://qa-bot-proxy.netlify.app/api/chat",RATING_ENDPOINT:"https://access-ai-grace1-external.ccs.uky.edu/access/chat/rating/",BACKEND_ID:"access",AGENT_ENABLED:!1,AGENT_ENDPOINT:"http://localhost:8000/api/v1",get CAPABILITIES_ENDPOINT(){return`${this.AGENT_ENDPOINT}/capabilities`},get AGENT_RATING_ENDPOINT(){return`${this.AGENT_ENDPOINT}/rating`},METRICS_API_ENDPOINT:"https://access-ai-grace1-external.ccs.uky.edu/access/xdmod/chat/api/",METRICS_RATING_ENDPOINT:"https://access-ai-grace1-external.ccs.uky.edu/access/xdmod/chat/rating/",METRICS_QUESTIONS_URL:"https://metrics.access-ci.org/qa_bot_faq",NETLIFY_BASE_URL:"https://access-jsm-api.netlify.app",DEFAULT_API_KEY:"demo-key",TURNSTILE_SITE_KEY:"0x4AAAAAACyJamk8FS7-RSMr",ALLOW_ANON_ACCESS:!0},yt={BOT_NAME:"ACCESS Q&A",LOGO:"https://support.access-ci.org/themes/contrib/asp-theme/images/icons/ACCESS-arrrow.svg",WELCOME_MESSAGE:`Hello! I can answer questions about ACCESS resources, allocations, and more. Choose an option below or just type your question.
|
|
58
|
+
${Hn}`:bt;return await oe(st),be==null||be({type:"chatbot_answer_received",queryId:ie,success:!0,responseLength:_e.length}),"success"}catch(ye){return Be("Error resubmitting after Turnstile:",ye),W.token=null,W.pendingQuery=null,W.needsChallenge=!1,W.siteKey=null,await(oe==null?void 0:oe("I had trouble processing your question after verification. Please try again.")),"error"}},trackEvent:be,loginUrl:$e}),path:"qa_loop"}}})({endpoint:a,ratingEndpoint:s,agentRatingEndpoint:l,apiKey:A,sessionId:y.current.getSessionId,isResetting:y.current.isResetting,isLoggedIn:j,allowAnonAccess:g,loginUrl:x||ui,trackEvent:ae,getTurnstileToken:()=>J.current,resetTurnstileToken:()=>b.reset(),backendId:B,resourceContext:O});return Object.assign(Object.assign({start:{message:c,renderMarkdown:["BOT"],transition:{duration:0},path:"qa_loop"}},z),U||{})},[A,a,s,l,c,j,g,x,U,v,ae,O,B]),Je=f.useMemo(()=>{return[()=>Vs(q),Vl(),()=>Xl(z)];var z,q},[]);return f.useEffect(()=>{const z=()=>{const le=document.querySelector(".rcb-chat-window");if(!le)return;const ne=le.querySelector(".rcb-send-button");ne&&(ne.hasAttribute("tabindex")||ne.setAttribute("tabindex","0"),ne.hasAttribute("data-keyboard-enabled")||(ne.setAttribute("data-keyboard-enabled","true"),ne.addEventListener("keydown",me=>{if(me.key==="Enter"||me.key===" "){me.preventDefault();const fe=ne&&Object.keys(ne).find(Me=>Me.startsWith("__reactProps"));if(fe){const Me=ne[fe],De=Me==null?void 0:Me.onMouseDown;if(De&&typeof De=="function")return void De(me)}const ce=new MouseEvent("mousedown",{bubbles:!0,cancelable:!0,view:window});ne.dispatchEvent(ce)}})))},q=setInterval(z,1e3);return z(),()=>clearInterval(q)},[]),gc(),f.useEffect(()=>{const z=Ue.current;if(!z)return;const q=le=>{var ne,me,fe;const ce=(me=(ne=le.target).closest)===null||me===void 0?void 0:me.call(ne,"a");ce&&ce.closest(".rcb-chat-body-container")&&(ce.classList.contains("qa-bot-login-button")||ce.closest(".rcb-options-container")||ae({type:"chatbot_link_clicked",linkUrl:ce.href,linkText:((fe=ce.textContent)===null||fe===void 0?void 0:fe.trim())||""}))};return z.addEventListener("click",q),()=>z.removeEventListener("click",q)},[ae]),f.useEffect(()=>{if(!V){const z=q=>{const le=q.data.newState;u==null||u(le);const ne=M.current;ae(le?{type:"chatbot_open"}:{type:"chatbot_close",messageCount:ne?oi(ne):0,durationMs:ne?lc(ne):0})};return window.addEventListener("rcb-toggle-chat-window",z),()=>{window.removeEventListener("rcb-toggle-chat-window",z)}}},[V,u,ae]),f.createElement("div",{className:"qa-bot "+(!((r=re.general)===null||r===void 0)&&r.embedded?"embedded-qa-bot":""),ref:Ue,role:"region","aria-label":`${E||ci}${!((n=re.general)===null||n===void 0)&&n.embedded?" - Embedded":""}`},f.createElement(cc,{getSessionId:()=>M.current,setSessionId:z=>{const q=M.current;M.current=z,Qn("RESTORED",`${q==null?void 0:q.slice(-12)} -> ${z.slice(-12)}`)},resetSession:()=>{const z=M.current;L.current=!0,M.current=ri(),Qn("RESET",`${z==null?void 0:z.slice(-12)} -> ${M.current.slice(-12)}`)},clearResettingFlag:()=>{L.current=!1}},f.createElement(Jl,{trackEvent:ae},f.createElement(Co,null,f.createElement("div",null,f.createElement(pc,null),f.createElement(VA,{ref:t,embedded:((o=re.general)===null||o===void 0?void 0:o.embedded)||!1,currentOpen:d||!1,enabled:j!==!1,onSetEnabled:z=>K(!!z&&void 0)}),f.createElement(Is,{key:`chatbot-${F.current}-${j}`,settings:re,flow:xe,plugins:Je}),f.createElement("div",{role:"status","aria-live":"polite","aria-label":"Bot response updates",className:"sr-only",id:"bot-live-region",style:{position:"absolute",width:"1px",height:"1px",padding:0,margin:"-1px",overflow:"hidden",clip:"rect(0,0,0,0)",whiteSpace:"nowrap",border:0}}),f.createElement("div",{id:"chat-input-help",className:"sr-only",style:{position:"absolute",width:"1px",height:"1px",padding:0,margin:"-1px",overflow:"hidden",clip:"rect(0,0,0,0)",whiteSpace:"nowrap",border:0}},"Type your message and press Enter to send. Use arrow keys to navigate through response options."))))))});Lr.displayName="QABot";const Dc=()=>{const[e,t]=f.useState(!1),r=()=>typeof navigator<"u"&&navigator.mediaDevices!==void 0&&typeof navigator.mediaDevices.getDisplayMedia=="function";return{captureScreenshot:async()=>{if(!r())throw new Error("Screen capture is not available in this environment");try{t(!0);const n=await navigator.mediaDevices.getDisplayMedia({video:{displaySurface:"browser",cursor:"always",width:{ideal:1920},height:{ideal:1080}},audio:!1}),o=document.createElement("video");o.srcObject=n,await new Promise(c=>{o.onloadedmetadata=()=>{o.play(),c()}});const A=document.createElement("canvas");A.width=o.videoWidth,A.height=o.videoHeight;const a=A.getContext("2d");if(!a)throw new Error("Could not get canvas context");a.drawImage(o,0,0,A.width,A.height);const s=await new Promise(c=>A.toBlob(c,"image/png"));if(!s)throw new Error("Could not create image blob");const i=new Date().toISOString().replace(/[:.]/g,"-"),l=new File([s],`screenshot-${i}.png`,{type:"image/png"});return n.getTracks().forEach(c=>c.stop()),t(!1),l}catch(n){throw Be("Error capturing screenshot:",n),t(!1),n}},isCapturing:e,isScreenCaptureAvailable:r()}},Bc=e=>f.createElement(ii,e,f.createElement("path",{d:"M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4"}),f.createElement("polyline",{points:"17 8 12 3 7 8"}),f.createElement("line",{x1:"12",y1:"3",x2:"12",y2:"15"})),xc=e=>new Promise((t,r)=>{const n=new FileReader;n.onload=()=>{if(typeof n.result!="string")return void r(new Error(`Failed to read file ${e.name}`));const o=n.result.split(",")[1];t({fileName:e.name,contentType:e.type,size:e.size,fileData:o})},n.onerror=()=>r(new Error(`Failed to read file ${e.name}`)),n.readAsDataURL(e)}),Ic=e=>Promise.all(e.map(xc)),Tc=e=>e<1024?`${e} B`:e<1048576?`${(e/1024).toFixed(1)} KB`:`${(e/1048576).toFixed(1)} MB`,On=e=>{let{onFileUpload:t,maxSizeMB:r=10,acceptedTypes:n="image/*,application/pdf,text/*,.doc,.docx",enableScreenshot:o=!1,className:A}=e;const[a,s]=f.useState(!1),[i,l]=f.useState([]),[c,d]=f.useState(null),u=f.useRef(null),{captureScreenshot:p,isCapturing:g,isScreenCaptureAvailable:v}=Dc(),h=S=>{const D=document.createElement("div");D.setAttribute("aria-live","assertive"),D.setAttribute("aria-atomic","true"),D.className="sr-only",D.textContent=S,document.body.appendChild(D),setTimeout(()=>document.body.removeChild(D),1e3)},w=S=>{if(!S||S.length===0)return void ti("FileUploadComponent: No valid files provided to handleFiles");let D;try{D=Array.from(S)}catch(N){return Be("FileUploadComponent: Error converting files to array:",N),void h("Error processing selected files. Please try again.")}const I=[...i,...D];l(I);const Q=D.length,x=D.map(N=>N.name).join(", ");h(`${Q} file${Q>1?"s":""} selected: ${x}`),setTimeout(()=>{const N=document.querySelector(".rcb-chat-content");N&&(N.scrollTop=N.scrollHeight)},100),t&&t(I)},E=S=>{S.preventDefault(),S.stopPropagation(),S.type==="dragenter"||S.type==="dragover"?s(!0):S.type==="dragleave"&&s(!1)},m=()=>{try{u.current&&u.current.click()}catch(S){Be("FileUploadComponent: Error in handleButtonClick:",S),h("Error opening file selection dialog. Please try again.")}},C=()=>{d(null)},k=o&&v;return f.createElement("div",{className:`file-upload-container ${A||""}`,style:{padding:"16px",margin:"8px 0"}},k&&f.createElement("div",{style:{display:"flex",justifyContent:"center",marginBottom:"10px"}},f.createElement("button",{onClick:S=>{S.preventDefault(),(async()=>{try{const D=await p();w([D]),h("Screenshot captured successfully")}catch{h("Error capturing screenshot. Please try again.")}})()},disabled:g,"aria-describedby":"screenshot-help","aria-label":g?"Taking screenshot, please wait":"Take a screenshot to attach",style:{display:"flex",alignItems:"center",gap:"8px",backgroundColor:"#107180",color:"white",border:"none",borderRadius:"5px",padding:"8px 12px",cursor:g?"not-allowed":"pointer",fontSize:"14px",fontWeight:"500",boxShadow:"0 1px 3px rgba(0,0,0,0.2)"}},f.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},f.createElement("path",{d:"M23 19a2 2 0 0 1-2 2H3a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h4l2-3h6l2 3h4a2 2 0 0 1 2 2z"}),f.createElement("circle",{cx:"12",cy:"13",r:"4"})),g?"Taking screenshot...":"Take screenshot..."),f.createElement("span",{id:"screenshot-help",className:"sr-only"},"Captures the current screen and adds it as an attachment")),f.createElement("div",{className:"file-upload-dropzone "+(a?"active":""),onDragEnter:E,onDragLeave:E,onDragOver:E,onDrop:S=>{var D;S.preventDefault(),S.stopPropagation(),s(!1);try{!((D=S.dataTransfer)===null||D===void 0)&&D.files&&S.dataTransfer.files.length>0&&w(S.dataTransfer.files)}catch(I){Be("FileUploadComponent: Error in handleDrop:",I),h("Error processing dropped files. Please try again.")}},role:"button",tabIndex:0,"aria-label":"File upload area. Click to select files or drag and drop files here.","aria-describedby":"upload-instructions",onKeyDown:S=>{S.key!=="Enter"&&S.key!==" "||(S.preventDefault(),m())},style:{padding:"20px",border:"2px dashed #ccc",borderRadius:"8px",backgroundColor:a?"#f0f8ff":"#fafafa",transition:"all 0.3s ease"}},f.createElement("input",{ref:u,type:"file",className:"file-input",onChange:S=>{var D;try{!((D=S.target)===null||D===void 0)&&D.files&&S.target.files.length>0&&w(S.target.files)}catch(I){Be("FileUploadComponent: Error in handleFileSelect:",I),h("Error processing selected files. Please try again.")}},multiple:!0,style:{display:"none"},"aria-label":"Select files to upload",accept:n}),f.createElement("div",{className:"upload-content",onClick:m,style:{cursor:"pointer",flexDirection:"column",alignItems:"center",display:"flex",textAlign:"center",padding:"12px"}},f.createElement("div",{style:{display:"flex",flexDirection:"column",alignItems:"center",gap:"8px"}},f.createElement("div",{style:{display:"flex",flexDirection:"row",alignItems:"center",gap:"10px"}},f.createElement(Bc,null),f.createElement("p",{style:{margin:0,fontWeight:"bold"}},"Upload Files")),f.createElement("p",{id:"upload-instructions",style:{margin:0,fontSize:"14px",color:"#666"}},"Drag and drop files here or click to select. (Max ",r,"MB each)")),i.length>0&&f.createElement("div",{className:"selected-files",style:{display:"flex",flexWrap:"wrap",gap:"8px",marginTop:"12px",alignItems:"center"}},f.createElement("span",{style:{fontWeight:400,color:"#888",fontSize:"13px",marginRight:"8px",alignSelf:"center"}},"Selected files:"),i.map((S,D)=>f.createElement("span",{key:D,style:{background:"#fff",color:"#107180",borderRadius:"5px",padding:"4px 12px",fontSize:"14px",marginRight:"4px",marginBottom:"4px",border:"1px solid #ccc",display:"flex",alignItems:"center",gap:"6px",cursor:"pointer"},onClick:I=>{I.stopPropagation(),(Q=>{d(Q)})(S)}},f.createElement("span",{onClick:I=>{I.stopPropagation(),(Q=>{const x=i.filter((N,B)=>B!==Q);l(x),t&&t(x)})(D)},style:{cursor:"pointer",color:"#888",fontWeight:"bold",fontSize:"15px",marginRight:"4px",userSelect:"none",lineHeight:1},title:"Remove file","aria-label":`Remove ${S.name}`},"×"),S.name," (",Tc(S.size),")"))))),(()=>{if(!c)return null;const S=c.type.startsWith("image/"),D=c.type.startsWith("text/"),I=c.type==="application/pdf";return f.createElement("div",{style:{position:"fixed",top:0,left:0,right:0,bottom:0,backgroundColor:"rgba(0, 0, 0, 0.7)",display:"flex",justifyContent:"center",alignItems:"center",zIndex:1e3},onClick:C},f.createElement("div",{style:{backgroundColor:"white",padding:"20px",borderRadius:"8px",maxWidth:"90%",maxHeight:"90%",overflow:"auto",position:"relative"},onClick:Q=>Q.stopPropagation()},f.createElement("button",{onClick:C,style:{position:"absolute",top:"10px",right:"10px",background:"none",border:"none",fontSize:"24px",cursor:"pointer",color:"#666"}},"×"),f.createElement("h3",{style:{marginTop:0,marginBottom:"16px"}},c.name),S&&f.createElement("img",{src:URL.createObjectURL(c),alt:c.name,style:{maxWidth:"100%",maxHeight:"70vh"}}),D&&f.createElement("pre",{style:{whiteSpace:"pre-wrap",wordWrap:"break-word",maxHeight:"70vh",overflow:"auto",padding:"16px",backgroundColor:"#f5f5f5",borderRadius:"4px"}},URL.createObjectURL(c)),I&&f.createElement("iframe",{src:URL.createObjectURL(c),style:{width:"100%",height:"70vh",border:"none"},title:c.name}),!S&&!D&&!I&&f.createElement("div",{style:{padding:"20px",textAlign:"center"}},"Preview not available for this file type")))})())};function Qc(e,t){if(!t||Object.keys(t).length===0)return e;const r={};for(const[n,o]of Object.entries(e)){let A=Object.assign({},o);if(A.chatDisabled===void 0){const a=!(!A.options&&!A.checkboxes);A.chatDisabled=a}r[n]=A}return r}function _n(e){return async t=>{const r=await e(t);await t.injectMessage(r)}}const Mc=f.forwardRef((e,t)=>{var{defaultOpen:r}=e,n=Gr(e,["defaultOpen"]);const[o,A]=f.useState(r||!1),a=f.useRef(null);return f.useImperativeHandle(t,()=>({addMessage:s=>{var i;(i=a.current)===null||i===void 0||i.addMessage(s)},setBotEnabled:s=>{var i;(i=a.current)===null||i===void 0||i.setBotEnabled(s)},openChat:()=>{var s;A(!0),(s=a.current)===null||s===void 0||s.openChat()},closeChat:()=>{var s;A(!1),(s=a.current)===null||s===void 0||s.closeChat()},toggleChat:()=>{var s;A(i=>!i),(s=a.current)===null||s===void 0||s.toggleChat()}}),[]),f.createElement(Lr,dn({ref:a},n,{open:o,onOpenChange:A}))});Mc.displayName="ProgrammaticQABot";const He={QA_ENDPOINT:"https://qa-bot-proxy.netlify.app/api/chat",RATING_ENDPOINT:"https://access-ai-grace1-external.ccs.uky.edu/access/chat/rating/",BACKEND_ID:"access",AGENT_ENABLED:!1,AGENT_ENDPOINT:"http://localhost:8000/api/v1",get CAPABILITIES_ENDPOINT(){return`${this.AGENT_ENDPOINT}/capabilities`},get AGENT_RATING_ENDPOINT(){return`${this.AGENT_ENDPOINT}/rating`},METRICS_API_ENDPOINT:"https://access-ai-grace1-external.ccs.uky.edu/access/xdmod/chat/api/",METRICS_RATING_ENDPOINT:"https://access-ai-grace1-external.ccs.uky.edu/access/xdmod/chat/rating/",METRICS_QUESTIONS_URL:"https://metrics.access-ci.org/qa_bot_faq",NETLIFY_BASE_URL:"https://access-jsm-api.netlify.app",DEFAULT_API_KEY:"demo-key",TURNSTILE_SITE_KEY:"0x4AAAAAACyJamk8FS7-RSMr",ALLOW_ANON_ACCESS:!0},vt={BOT_NAME:"ACCESS Q&A",LOGO:"https://support.access-ci.org/themes/contrib/asp-theme/images/icons/ACCESS-arrrow.svg",WELCOME_MESSAGE:`Hello! I can answer questions about ACCESS resources, allocations, and more. Choose an option below or just type your question.
|
|
59
59
|
|
|
60
|
-
<em>This assistant is powered by AI. Responses may not always be accurate. Do not share passwords or secrets.</em> <a href="https://support.access-ci.org/tools/access-qa-tool/privacy">Privacy Notice</a>`,LOGIN_URL:"/login",PRIMARY_COLOR:"#1a5b6e",SECONDARY_COLOR:"#107180",TOOLTIP:"Ask me about ACCESS! 😊"},
|
|
61
|
-
Attachments: ${e.length} file(s) attached`:""}const
|
|
60
|
+
<em>This assistant is powered by AI. Responses may not always be accurate. Do not share passwords or secrets.</em> <a href="https://support.access-ci.org/tools/access-qa-tool/privacy">Privacy Notice</a>`,LOGIN_URL:"/login",PRIMARY_COLOR:"#1a5b6e",SECONDARY_COLOR:"#107180",TOOLTIP:"Ask me about ACCESS! 😊"},di={SESSION_ID:"access-qa-bot-session-id"};function Oc({welcome:e,setTicketForm:t,trackEvent:r}){return{start:{message:e,renderHtml:["BOT"],options:["Ask a question","Open a help ticket","Report a security issue","Ask about metrics"],chatDisabled:!1,path:n=>{const o=n.userInput;switch(r({type:"chatbot_menu_selected",selection:o}),o){case"Open a help ticket":return t({}),"help_ticket";case"Report a security issue":return t({}),r({type:"chatbot_security_started"}),"security_incident";case"Ask about metrics":return"metrics_intro";default:return"qa_loop"}}}}}let Hr=null;function _c(e){Hr=e}function Z(){return Hr?Hr.ticketForm||{}:(console.warn("Form context not available, returning empty form"),{})}function Te(e={}){const t=Z();return{...t,email:e.email||t.email,name:e.name||t.name,accessId:e.accessId||t.accessId}}function Ur(e){return e&&e.length>0?`
|
|
61
|
+
Attachments: ${e.length} file(s) attached`:""}const Ut={SUPPORT:17,LOGIN_ACCESS:30,LOGIN_PROVIDER:31,SECURITY:26};async function Nc(e,t="support",r=[]){const o={support:Ut.SUPPORT,general_help:Ut.SUPPORT,loginAccess:Ut.LOGIN_ACCESS,loginProvider:Ut.LOGIN_PROVIDER,security:Ut.SECURITY}[t]||Ut.SUPPORT,a={serviceDeskId:t==="security"?3:2,requestTypeId:o,requestFieldValues:{...e}};return r.length>0&&(a.attachments=await Ic(r)),a}async function Lc(e,t){var o,A;const n=`${He.NETLIFY_BASE_URL}/api/v1/${t}`;try{const a=await fetch(n,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(e)});if(!a.ok){let i="";try{const l=await a.text();try{const c=JSON.parse(l);i=c.message||c.error||l}catch{i=l}}catch{i=`HTTP ${a.status} ${a.statusText}`}return a.status===403?i="The ticket service is temporarily unavailable. Please try again later or contact support directly.":a.status===404?i="Ticket service not found. Please try again later.":a.status===500?i="Server error. Please try again later.":a.status===401&&(i="Authentication error with the ticket service. Please contact support."),{success:!1,status:a.status,error:i}}const s=await a.json();return{success:!0,ticketKey:(o=s.data)==null?void 0:o.ticketKey,ticketUrl:(A=s.data)==null?void 0:A.ticketUrl}}catch(a){return{success:!1,error:a instanceof Error?a.message:"Unknown error"}}}async function Nn(e,t,r=[]){try{const n=await Nc(e,t,r);return await Lc(n,t==="security"?"security-incidents":"tickets")}catch(n){return{success:!1,error:n instanceof Error?n.message:"Unknown error"}}}function Fr(e,t="ticket"){return e?e.success?e.ticketUrl&&e.ticketKey?`Your ${t} has been submitted successfully.
|
|
62
62
|
|
|
63
63
|
Ticket: <a href="${e.ticketUrl}" target="_blank">${e.ticketKey}</a>
|
|
64
64
|
|
|
@@ -68,13 +68,13 @@ Our support team will review your request and respond accordingly. Thank you for
|
|
|
68
68
|
|
|
69
69
|
Please try again or contact our support team directly.`:`We apologize, but there was an error submitting your ${t}.
|
|
70
70
|
|
|
71
|
-
Please try again or contact our support team directly.`}function
|
|
71
|
+
Please try again or contact our support team directly.`}function Ln(e){return!e||e.trim()===""?{success:!1,promptContent:"Email is required",promptDuration:3e3,promptType:"error"}:/^[^\s@]+@[^\s@]+\.[^\s@]+$/.test(e)?{success:!0}:{success:!1,promptContent:"Please enter a valid email address",promptDuration:3e3,promptType:"error"}}function an(){return()=>({success:!0})}function ln(e){return!e||e.trim()===""||e.trim().toLowerCase()==="skip"?"":e.trim()}function Hc({ticketForm:e,setTicketForm:t,userInfo:r,trackEvent:n}){let o=null;const A=async(s,i=[])=>{o=await Nn(s,"loginAccess",i),o.success?(t(l=>({...l,ticketKey:o.ticketKey,ticketUrl:o.ticketUrl})),n({type:"chatbot_ticket_submitted",ticketType:"access_login",success:!0,ticketKey:o.ticketKey})):(t(l=>({...l,submissionError:o.error})),n({type:"chatbot_ticket_error",ticketType:"access_login",errorType:o.error||"unknown"}))};return{access_help:{message:`If you're having trouble logging into the ACCESS website, here are some common issues:
|
|
72
72
|
|
|
73
73
|
• Make sure you're using a supported browser (Chrome, Firefox, Safari)
|
|
74
74
|
• Clear your browser cookies and cache
|
|
75
75
|
• Check if you're using the correct identity provider
|
|
76
76
|
|
|
77
|
-
Would you like to submit a help ticket for ACCESS login issues?`,options:["Yes, let's create a ticket","Back to Main Menu"],path:s=>s.userInput==="Yes, let's create a ticket"?"access_login_description":"start"},access_login_description:{message:"Describe your login issue.",function:s=>{const i=
|
|
77
|
+
Would you like to submit a help ticket for ACCESS login issues?`,options:["Yes, let's create a ticket","Back to Main Menu"],path:s=>s.userInput==="Yes, let's create a ticket"?"access_login_description":"start"},access_login_description:{message:"Describe your login issue.",function:s=>{const i=Z();t({...i,description:s.userInput,email:r.email||i.email,name:r.name||i.name,accessId:r.accessId||i.accessId}),n({type:"chatbot_ticket_step",ticketType:"access_login",step:"description"})},path:"access_login_identity"},access_login_identity:{message:"Which identity provider were you using?",options:["ACCESS","Github","Google","Institution","Microsoft","ORCID","Other"],function:s=>{const i=Z();t({...i,identityProvider:s.userInput}),n({type:"chatbot_ticket_step",ticketType:"access_login",step:"identity_provider"})},path:"access_login_browser"},access_login_browser:{message:"Which browser were you using?",options:["Chrome","Firefox","Edge","Safari","Other"],function:s=>{const i=Z();t({...i,browser:s.userInput}),n({type:"chatbot_ticket_step",ticketType:"access_login",step:"browser"})},path:"access_login_attachment"},access_login_attachment:{message:"Would you like to attach a screenshot?",options:["Yes","No"],function:s=>{const i=Z();t({...i,wantsAttachment:s.userInput}),n({type:"chatbot_ticket_step",ticketType:"access_login",step:"attachment_choice"})},path:s=>{if(s.userInput==="Yes")return"access_login_upload";const i=Te(r);return i.email?i.name?i.accessId?"access_login_summary":"access_login_accessid":"access_login_name":"access_login_email"}},access_login_upload:{message:"Please upload your screenshot.",component:P.jsx(On,{onFileUpload:s=>{t(i=>({...i,uploadedFiles:s})),s.forEach(i=>{n({type:"chatbot_file_uploaded",fileType:i.type||"unknown",fileSize:i.size})})},enableScreenshot:!0,maxSizeMB:10}),options:["Continue"],function:()=>{const s=Z();t({...s,uploadConfirmed:!0}),n({type:"chatbot_ticket_step",ticketType:"access_login",step:"file_upload"})},path:()=>{const s=Te(r);return s.email?s.name?s.accessId?"access_login_summary":"access_login_accessid":"access_login_name":"access_login_email"}},access_login_email:{message:"What is your email?",validateTextInput:Ln,function:s=>{const i=Z();t({...i,email:s.userInput}),n({type:"chatbot_ticket_step",ticketType:"access_login",step:"email"})},path:()=>{const s=Te(r);return s.name?s.accessId?"access_login_summary":"access_login_accessid":"access_login_name"}},access_login_name:{message:"What is your name?",function:s=>{const i=Z();t({...i,name:s.userInput}),n({type:"chatbot_ticket_step",ticketType:"access_login",step:"name"})},path:()=>Te(r).accessId?"access_login_summary":"access_login_accessid"},access_login_accessid:{message:"What is your ACCESS ID? (Optional - press Enter to skip)",validateTextInput:an(),function:s=>{const i=Z();t({...i,accessId:ln(s.userInput)}),n({type:"chatbot_ticket_step",ticketType:"access_login",step:"access_id"})},path:"access_login_summary"},access_login_summary:{message:s=>{const i=Z(),l=Te(r),c=Ur(i.uploadedFiles);let d=l.accessId;return s.prevPath==="access_login_accessid"&&s.userInput&&(d=s.userInput),`Thank you for providing your ACCESS login issue details. Here's a summary:
|
|
78
78
|
|
|
79
79
|
Name: ${l.name||"Not provided"}
|
|
80
80
|
Email: ${l.email||"Not provided"}
|
|
@@ -83,13 +83,13 @@ Identity Provider: ${i.identityProvider||"Not provided"}
|
|
|
83
83
|
Browser: ${i.browser||"Not provided"}
|
|
84
84
|
Issue Description: ${i.description||"Not provided"}${c}
|
|
85
85
|
|
|
86
|
-
Would you like to submit this ticket?`},options:["Submit Ticket","Back to Main Menu"],renderHtml:["BOT","USER"],function:async s=>{if(s.userInput==="Submit Ticket"){const i=
|
|
86
|
+
Would you like to submit this ticket?`},options:["Submit Ticket","Back to Main Menu"],renderHtml:["BOT","USER"],function:async s=>{if(s.userInput==="Submit Ticket"){const i=Z(),l=Te(r),c={email:l.email||"",name:l.name||"",accessId:l.accessId||"",description:i.description||"",identityProvider:i.identityProvider||"",browser:i.browser||""};await A(c,i.uploadedFiles||[])}},path:s=>s.userInput==="Submit Ticket"?"access_login_success":"start"},access_login_success:{message:_n(()=>Fr(o,"ACCESS login ticket")),options:["Back to Main Menu"],renderHtml:["BOT"],path:"start"}}}function Uc({ticketForm:e,setTicketForm:t,userInfo:r,trackEvent:n}){let o=null;const A=async(s,i=[])=>{o=await Nn(s,"loginProvider",i),o.success?(t(l=>({...l,ticketKey:o.ticketKey,ticketUrl:o.ticketUrl})),n({type:"chatbot_ticket_submitted",ticketType:"resource_login",success:!0,ticketKey:o.ticketKey})):(t(l=>({...l,submissionError:o.error})),n({type:"chatbot_ticket_error",ticketType:"resource_login",errorType:o.error||"unknown"}))};return{resource_help:{message:`If you're having trouble logging into an affiliated infrastructure or resource provider, here are some common issues:
|
|
87
87
|
|
|
88
88
|
• Ensure your allocation is active
|
|
89
89
|
• Confirm you have the correct username for that resource
|
|
90
90
|
• Check <a href="https://operations.access-ci.org/infrastructure_news_view">System Status News</a> to see if the resource is undergoing maintenance
|
|
91
91
|
|
|
92
|
-
Would you like to submit a help ticket for resource provider login issues?`,options:["Yes, let's create a ticket","Back to Main Menu"],renderHtml:["BOT"],path:s=>s.userInput==="Yes, let's create a ticket"?"resource_login_resource":"start"},resource_login_resource:{message:"Which ACCESS Resource are you trying to access?",options:["ACES","Anvil","Bridges-2","DARWIN","Delta","DeltaAI","Derecho","Expanse","FASTER","Granite","Jetstream2","KyRIC","Launch","Neocortex","Ookami","Open Science Grid","Open Storage Network","Ranch","Stampede3"],function:s=>{const i=
|
|
92
|
+
Would you like to submit a help ticket for resource provider login issues?`,options:["Yes, let's create a ticket","Back to Main Menu"],renderHtml:["BOT"],path:s=>s.userInput==="Yes, let's create a ticket"?"resource_login_resource":"start"},resource_login_resource:{message:"Which ACCESS Resource are you trying to access?",options:["ACES","Anvil","Bridges-2","DARWIN","Delta","DeltaAI","Derecho","Expanse","FASTER","Granite","Jetstream2","KyRIC","Launch","Neocortex","Ookami","Open Science Grid","Open Storage Network","Ranch","Stampede3"],function:s=>{const i=Z();t({...i,resource:s.userInput}),n({type:"chatbot_ticket_step",ticketType:"resource_login",step:"resource_selection"})},path:"resource_login_userid"},resource_login_userid:{message:"What is your user ID at the resource?",function:s=>{const i=Z();t({...i,userIdResource:s.userInput}),n({type:"chatbot_ticket_step",ticketType:"resource_login",step:"user_id"})},path:"resource_login_description"},resource_login_description:{message:"Please describe the issue you're having logging in.",function:s=>{const i=Z();t({...i,description:s.userInput,email:r.email||i.email,name:r.name||i.name,accessId:r.accessId||i.accessId}),n({type:"chatbot_ticket_step",ticketType:"resource_login",step:"description"})},path:"resource_login_attachment"},resource_login_attachment:{message:"Would you like to attach a screenshot?",options:["Yes","No"],function:s=>{const i=Z();t({...i,wantsAttachment:s.userInput}),n({type:"chatbot_ticket_step",ticketType:"resource_login",step:"attachment_choice"})},path:s=>{if(s.userInput==="Yes")return"resource_login_upload";const i=Te(r);return i.email?i.name?i.accessId?"resource_login_summary":"resource_login_accessid":"resource_login_name":"resource_login_email"}},resource_login_upload:{message:"Please upload your screenshot.",component:P.jsx(On,{onFileUpload:s=>{t(i=>({...i,uploadedFiles:s})),s.forEach(i=>{n({type:"chatbot_file_uploaded",fileType:i.type||"unknown",fileSize:i.size})})},enableScreenshot:!0,maxSizeMB:10}),options:["Continue"],function:()=>{const s=Z();t({...s,uploadConfirmed:!0}),n({type:"chatbot_ticket_step",ticketType:"resource_login",step:"file_upload"})},path:()=>{const s=Te(r);return s.email?s.name?s.accessId?"resource_login_summary":"resource_login_accessid":"resource_login_name":"resource_login_email"}},resource_login_email:{message:"What is your email?",validateTextInput:Ln,function:s=>{const i=Z();t({...i,email:s.userInput}),n({type:"chatbot_ticket_step",ticketType:"resource_login",step:"email"})},path:()=>{const s=Te(r);return s.name?s.accessId?"resource_login_summary":"resource_login_accessid":"resource_login_name"}},resource_login_name:{message:"What is your name?",function:s=>{const i=Z();t({...i,name:s.userInput}),n({type:"chatbot_ticket_step",ticketType:"resource_login",step:"name"})},path:()=>Te(r).accessId?"resource_login_summary":"resource_login_accessid"},resource_login_accessid:{message:"What is your ACCESS ID? (Optional - press Enter to skip)",validateTextInput:an(),function:s=>{const i=Z();t({...i,accessId:ln(s.userInput)}),n({type:"chatbot_ticket_step",ticketType:"resource_login",step:"access_id"})},path:"resource_login_summary"},resource_login_summary:{message:s=>{const i=Z(),l=Te(r),c=Ur(i.uploadedFiles);let d=l.accessId;return s.prevPath==="resource_login_accessid"&&s.userInput&&(d=s.userInput),`Thank you for providing your resource login issue details. Here's a summary:
|
|
93
93
|
|
|
94
94
|
Name: ${l.name||"Not provided"}
|
|
95
95
|
Email: ${l.email||"Not provided"}
|
|
@@ -98,7 +98,7 @@ Resource: ${i.resource||"Not provided"}
|
|
|
98
98
|
Resource User ID: ${i.userIdResource||"Not provided"}
|
|
99
99
|
Issue Description: ${i.description||"Not provided"}${c}
|
|
100
100
|
|
|
101
|
-
Would you like to submit this ticket?`},options:["Submit Ticket","Back to Main Menu"],function:async s=>{if(s.userInput==="Submit Ticket"){const i=J(),l=Te(r),c={email:l.email||"",name:l.name||"",accessId:l.accessId||"",accessResource:i.resource||"",description:i.description||"",userIdAtResource:i.userIdResource||""};await a(c,i.uploadedFiles||[])}},path:s=>s.userInput==="Submit Ticket"?"resource_login_success":"start"},resource_login_success:{message:Mn(()=>Hr(o,"resource login ticket")),options:["Back to Main Menu"],renderHtml:["BOT"],path:"start"}}}const Uc=[" C, C++","Abaqus","ACCESS","ACCESS-credits","ACCESS-website","Accounts","ACLS","Adding users","Affiliations","Affinity Groups","AI","Algorithms","Allocation extension","Allocation Management","Allocation proposal","Allocation Time","Allocation users","AMBER","AMIE","Anaconda","Analysis","API","Application Status","ARCGIS","Architecture","Archiving","Astrophysics","ATLAS","Authentication","AWS","AZURE","Backup","BASH","Batch Jobs","Benchmarking","Big Data","Bioinformatics","Biology","Ceph","CFD","cgroups","CHARMM","Checkpoint","cilogon","citation","Cloud","Cloud Computing","Cloud Lab","Cloud Storage","Cluster Management","Cluster Support","CMMC","Community Outreach","Compiling","Composible Systems","Computataional Chemistry","COMSOL","Conda","Condo","Containers","Core dump","Core hours","CP2K","CPU architecture","CPU bound","CUDA","Cybersecurity","CYVERSE","Data","Data Storage","Data-access-protocols","Data-analysis","Data-compliance","Data-lifecycle","Data-management","Data-management-software","Data-provenance","Data-reproducibility","Data-retention","Data-science","Data-sharing","Data-transfer","Data-wrangling","Database-update","Debugging","Debugging, Optimizatio and Profiling","Deep-learning","Dependencies","Deployment","DFT","Distributed-computing","DNS","Docker","Documentation","DOI","DTN","Easybuild","Email","Encryption","Environment-modules","Errors","Extension","FastX","Federated-authentication","File transfers","File-formats","File-limits","File-systems","File-transfer","Finite-element-analysis","Firewall","Fortran","Frameworks and IDE's","GAMESS","Gateways","GATK","Gaussian","GCC","Genomics","GIS","Git","Globus","GPFS","GPU","Gravitational-waves","Gridengine","GROMACS","Hadoop","Hardware","Image-processing","Infiniband","Interactive-mode","Interconnect","IO-Issue","ISILON","Java","Jekyll","Jetstream","Job-accounting","Job-array","Job-charging","Job-failure","Job-sizing","Job-submission","Julia","Jupyterhub","Key-management","Kubernetes","KyRIC","LAMMPS","Library-paths","License","Linear-programming","Linux","LMOD","login","LSF","Lustre","Machine-learning","Management","Materials-science","Mathematica","MATLAB","Memory","Metadata","Modules","Molecular-dynamics","Monte-carlo","MPI","NAMD","NetCDF","Networking","Neural-networks","NFS","NLP","NoMachine","Nvidia","Oceanography","OnDemnad","Open-science-grid","Open-storage-network","OpenCV","Openfoam","OpenMP","OpenMPI","OpenSHIFT","Openstack","Optimization","OS","OSG","Parallelization","Parameter-sweeps","Paraview","Particle-physics","password","PBS","Pegasus","Pending-jobs","Performance-tuning","Permissions","Physiology","PIP","PODMAN","Portals","Pre-emption","Professional and Workforce Development","Professional-development","Profile","Profiling","Programming","Programming Languages","Programming-best-practices","Project-management","Project-renewal","Provisioning","Pthreads","Publication-database","Putty","Python","Pytorch","Quantum-computing","Quantum-mechanics","Quota","R","RDP","React","Reporting","Research-facilitation","Research-grants","Resources","Rstudio-server","S3","Samba","SAS","Scaling","Schedulers","Scheduling","Science DMZ","Science Gateways","Scikit-learn","Scratch","screen","scripting","SDN","Secure Computing and Data","Secure-data-architecture","Serverless-hpc","setup","sftp","SGE","Shell Scripting","Shifter","Singularity","SLURM","SMB","Smrtanalysis","Software Installations","Software-carpentry","SPACK","SPARK","Spectrum-scale","SPSS","SQL","SSH","Stampede2","STATA","Storage","Supplement","Support","TCP","Technical-training-for-hpc","Tensorflow","Terminal-emulation-and-window-management","Tickets","Timing-issue","TMUX","Tools","Training","Transfer SUs","Trinity","Tuning","Unix-environment","Upgrading","Vectorization","Version-control","vim","VNC","VPN","Workflow","Workforce-development","X11","Xalt","XDMoD","XML","XSEDE","I don't see a relevant keyword"],Fc=["ACES","Anvil","Bridges-2","DARWIN","Delta","DeltaAI","Derecho","Expanse","FASTER","Granite","Jetstream2","KyRIC","Launch","Neocortex","Ookami","Open Science Grid","Open Storage Network","Ranch","Stampede3"];function zc({ticketForm:e,setTicketForm:t,userInfo:r,trackEvent:n}){let o=null;const a=async(s,i=[])=>{o=await On(s,"support",i),o.success?(t(l=>({...l,ticketKey:o.ticketKey,ticketUrl:o.ticketUrl})),n({type:"chatbot_ticket_submitted",ticketType:"general_help",success:!0,ticketKey:o.ticketKey})):(t(l=>({...l,submissionError:o.error})),n({type:"chatbot_ticket_error",ticketType:"general_help",errorType:o.error||"unknown"}))};return{general_help_summary_subject:{message:"Provide a short title for your ticket.",function:s=>{const i=J();t({...i,summary:s.userInput,email:r.email||i.email,name:r.name||i.name,accessId:r.accessId||i.accessId}),n({type:"chatbot_ticket_step",ticketType:"general_help",step:"title"})},path:"general_help_category"},general_help_category:{message:"What type of issue are you experiencing?",options:["User Account Question","Allocation Question","User Support Question","CSSN/CCEP Question","Training Question","Metrics Question","OnDemand Question","Pegasus Question","XDMoD Question","Some Other Question"],function:s=>{const i=J();t({...i,category:s.userInput}),n({type:"chatbot_ticket_step",ticketType:"general_help",step:"category"})},path:"general_help_description"},general_help_description:{message:"Please describe your issue.",function:s=>{const i=J();t({...i,description:s.userInput}),n({type:"chatbot_ticket_step",ticketType:"general_help",step:"description"})},path:"general_help_attachment"},general_help_attachment:{message:"Would you like to attach a file to your ticket?",options:["Yes","No"],function:s=>{const i=J();t({...i,wantsAttachment:s.userInput}),n({type:"chatbot_ticket_step",ticketType:"general_help",step:"attachment_choice"})},path:s=>s.userInput==="Yes"?"general_help_upload":"general_help_resource"},general_help_upload:{message:"Please upload your file.",component:E.jsx(Qn,{onFileUpload:s=>{t(i=>({...i,uploadedFiles:s})),s.forEach(i=>{n({type:"chatbot_file_uploaded",fileType:i.type||"unknown",fileSize:i.size})})},enableScreenshot:!0,maxSizeMB:10}),options:["Continue"],function:()=>{const s=J();t({...s,uploadConfirmed:!0}),n({type:"chatbot_ticket_step",ticketType:"general_help",step:"file_upload"})},path:"general_help_resource"},general_help_resource:{message:"Does your problem involve an ACCESS Resource?",options:["Yes","No"],function:s=>{const i=J();t({...i,involvesResource:s.userInput.toLowerCase()}),n({type:"chatbot_ticket_step",ticketType:"general_help",step:"resource_choice"})},path:s=>s.userInput==="Yes"?"general_help_resource_details":"general_help_keywords"},general_help_resource_details:{message:"Please select the ACCESS Resource involved with your issue:",options:Fc,function:s=>{const i=J();t({...i,resourceDetails:s.userInput}),n({type:"chatbot_ticket_step",ticketType:"general_help",step:"resource_selection"})},path:"general_help_user_id_at_resource"},general_help_user_id_at_resource:{message:"What is your User ID at the selected resource(s)? (Optional - press Enter to skip)",validateTextInput:an(),function:s=>{const i=J();t({...i,userIdAtResource:sn(s.userInput)}),n({type:"chatbot_ticket_step",ticketType:"general_help",step:"resource_user_id"})},path:"general_help_keywords"},general_help_keywords:{message:"Please add up to 5 keywords to help route your ticket.",checkboxes:{items:Uc,min:0,max:5},function:s=>{const i=J();t({...i,keywords:s.userInput}),n({type:"chatbot_ticket_step",ticketType:"general_help",step:"keywords"})},path:s=>s.userInput&&s.userInput.includes("I don't see a relevant keyword")?"general_help_additional_keywords":"general_help_priority"},general_help_additional_keywords:{message:"Please enter additional keywords, separated by commas:",function:s=>{const i=J(),l=i.keywords||[],c=s.userInput,u=(Array.isArray(l)?[...l]:String(l).split(",").map(g=>g.trim())).filter(g=>g!=="I don't see a relevant keyword"),f=u.length>0?[...u,c].join(", "):c;t({...i,keywords:f,suggestedKeyword:c}),n({type:"chatbot_ticket_step",ticketType:"general_help",step:"additional_keywords"})},path:"general_help_priority"},general_help_priority:{message:"Please select a priority for your issue:",options:["Lowest","Low","Medium","High","Highest"],function:s=>{const i=J();t({...i,priority:s.userInput.toLowerCase()}),n({type:"chatbot_ticket_step",ticketType:"general_help",step:"priority"})},path:()=>{const s=Te(r);return s.email?s.name?s.accessId?"general_help_ticket_summary":"general_help_accessid":"general_help_name":"general_help_email"}},general_help_email:{message:"What is your email address?",validateTextInput:_n,function:s=>{const i=J();t({...i,email:s.userInput}),n({type:"chatbot_ticket_step",ticketType:"general_help",step:"email"})},path:()=>{const s=Te(r);return s.name?s.accessId?"general_help_ticket_summary":"general_help_accessid":"general_help_name"}},general_help_name:{message:"What is your name?",function:s=>{const i=J();t({...i,name:s.userInput}),n({type:"chatbot_ticket_step",ticketType:"general_help",step:"name"})},path:()=>Te(r).accessId?"general_help_ticket_summary":"general_help_accessid"},general_help_accessid:{message:"What is your ACCESS ID? (Optional - press Enter to skip)",validateTextInput:an(),function:s=>{const i=J();t({...i,accessId:sn(s.userInput)}),n({type:"chatbot_ticket_step",ticketType:"general_help",step:"access_id"})},path:"general_help_ticket_summary"},general_help_ticket_summary:{message:s=>{const i=J(),l=Te(r),c=Lr(i.uploadedFiles);let d=l.accessId;s.prevPath==="general_help_accessid"&&s.userInput&&(d=s.userInput);let u="";return i.involvesResource==="yes"&&(u=`
|
|
101
|
+
Would you like to submit this ticket?`},options:["Submit Ticket","Back to Main Menu"],function:async s=>{if(s.userInput==="Submit Ticket"){const i=Z(),l=Te(r),c={email:l.email||"",name:l.name||"",accessId:l.accessId||"",accessResource:i.resource||"",description:i.description||"",userIdAtResource:i.userIdResource||""};await A(c,i.uploadedFiles||[])}},path:s=>s.userInput==="Submit Ticket"?"resource_login_success":"start"},resource_login_success:{message:_n(()=>Fr(o,"resource login ticket")),options:["Back to Main Menu"],renderHtml:["BOT"],path:"start"}}}const Fc=[" C, C++","Abaqus","ACCESS","ACCESS-credits","ACCESS-website","Accounts","ACLS","Adding users","Affiliations","Affinity Groups","AI","Algorithms","Allocation extension","Allocation Management","Allocation proposal","Allocation Time","Allocation users","AMBER","AMIE","Anaconda","Analysis","API","Application Status","ARCGIS","Architecture","Archiving","Astrophysics","ATLAS","Authentication","AWS","AZURE","Backup","BASH","Batch Jobs","Benchmarking","Big Data","Bioinformatics","Biology","Ceph","CFD","cgroups","CHARMM","Checkpoint","cilogon","citation","Cloud","Cloud Computing","Cloud Lab","Cloud Storage","Cluster Management","Cluster Support","CMMC","Community Outreach","Compiling","Composible Systems","Computataional Chemistry","COMSOL","Conda","Condo","Containers","Core dump","Core hours","CP2K","CPU architecture","CPU bound","CUDA","Cybersecurity","CYVERSE","Data","Data Storage","Data-access-protocols","Data-analysis","Data-compliance","Data-lifecycle","Data-management","Data-management-software","Data-provenance","Data-reproducibility","Data-retention","Data-science","Data-sharing","Data-transfer","Data-wrangling","Database-update","Debugging","Debugging, Optimizatio and Profiling","Deep-learning","Dependencies","Deployment","DFT","Distributed-computing","DNS","Docker","Documentation","DOI","DTN","Easybuild","Email","Encryption","Environment-modules","Errors","Extension","FastX","Federated-authentication","File transfers","File-formats","File-limits","File-systems","File-transfer","Finite-element-analysis","Firewall","Fortran","Frameworks and IDE's","GAMESS","Gateways","GATK","Gaussian","GCC","Genomics","GIS","Git","Globus","GPFS","GPU","Gravitational-waves","Gridengine","GROMACS","Hadoop","Hardware","Image-processing","Infiniband","Interactive-mode","Interconnect","IO-Issue","ISILON","Java","Jekyll","Jetstream","Job-accounting","Job-array","Job-charging","Job-failure","Job-sizing","Job-submission","Julia","Jupyterhub","Key-management","Kubernetes","KyRIC","LAMMPS","Library-paths","License","Linear-programming","Linux","LMOD","login","LSF","Lustre","Machine-learning","Management","Materials-science","Mathematica","MATLAB","Memory","Metadata","Modules","Molecular-dynamics","Monte-carlo","MPI","NAMD","NetCDF","Networking","Neural-networks","NFS","NLP","NoMachine","Nvidia","Oceanography","OnDemnad","Open-science-grid","Open-storage-network","OpenCV","Openfoam","OpenMP","OpenMPI","OpenSHIFT","Openstack","Optimization","OS","OSG","Parallelization","Parameter-sweeps","Paraview","Particle-physics","password","PBS","Pegasus","Pending-jobs","Performance-tuning","Permissions","Physiology","PIP","PODMAN","Portals","Pre-emption","Professional and Workforce Development","Professional-development","Profile","Profiling","Programming","Programming Languages","Programming-best-practices","Project-management","Project-renewal","Provisioning","Pthreads","Publication-database","Putty","Python","Pytorch","Quantum-computing","Quantum-mechanics","Quota","R","RDP","React","Reporting","Research-facilitation","Research-grants","Resources","Rstudio-server","S3","Samba","SAS","Scaling","Schedulers","Scheduling","Science DMZ","Science Gateways","Scikit-learn","Scratch","screen","scripting","SDN","Secure Computing and Data","Secure-data-architecture","Serverless-hpc","setup","sftp","SGE","Shell Scripting","Shifter","Singularity","SLURM","SMB","Smrtanalysis","Software Installations","Software-carpentry","SPACK","SPARK","Spectrum-scale","SPSS","SQL","SSH","Stampede2","STATA","Storage","Supplement","Support","TCP","Technical-training-for-hpc","Tensorflow","Terminal-emulation-and-window-management","Tickets","Timing-issue","TMUX","Tools","Training","Transfer SUs","Trinity","Tuning","Unix-environment","Upgrading","Vectorization","Version-control","vim","VNC","VPN","Workflow","Workforce-development","X11","Xalt","XDMoD","XML","XSEDE","I don't see a relevant keyword"],Rc=["ACES","Anvil","Bridges-2","DARWIN","Delta","DeltaAI","Derecho","Expanse","FASTER","Granite","Jetstream2","KyRIC","Launch","Neocortex","Ookami","Open Science Grid","Open Storage Network","Ranch","Stampede3"];function zc({ticketForm:e,setTicketForm:t,userInfo:r,trackEvent:n}){let o=null;const A=async(s,i=[])=>{o=await Nn(s,"support",i),o.success?(t(l=>({...l,ticketKey:o.ticketKey,ticketUrl:o.ticketUrl})),n({type:"chatbot_ticket_submitted",ticketType:"general_help",success:!0,ticketKey:o.ticketKey})):(t(l=>({...l,submissionError:o.error})),n({type:"chatbot_ticket_error",ticketType:"general_help",errorType:o.error||"unknown"}))};return{general_help_summary_subject:{message:"Provide a short title for your ticket.",function:s=>{const i=Z();t({...i,summary:s.userInput,email:r.email||i.email,name:r.name||i.name,accessId:r.accessId||i.accessId}),n({type:"chatbot_ticket_step",ticketType:"general_help",step:"title"})},path:"general_help_category"},general_help_category:{message:"What type of issue are you experiencing?",options:["User Account Question","Allocation Question","User Support Question","CSSN/CCEP Question","Training Question","Metrics Question","OnDemand Question","Pegasus Question","XDMoD Question","Some Other Question"],function:s=>{const i=Z();t({...i,category:s.userInput}),n({type:"chatbot_ticket_step",ticketType:"general_help",step:"category"})},path:"general_help_description"},general_help_description:{message:"Please describe your issue.",function:s=>{const i=Z();t({...i,description:s.userInput}),n({type:"chatbot_ticket_step",ticketType:"general_help",step:"description"})},path:"general_help_attachment"},general_help_attachment:{message:"Would you like to attach a file to your ticket?",options:["Yes","No"],function:s=>{const i=Z();t({...i,wantsAttachment:s.userInput}),n({type:"chatbot_ticket_step",ticketType:"general_help",step:"attachment_choice"})},path:s=>s.userInput==="Yes"?"general_help_upload":"general_help_resource"},general_help_upload:{message:"Please upload your file.",component:P.jsx(On,{onFileUpload:s=>{t(i=>({...i,uploadedFiles:s})),s.forEach(i=>{n({type:"chatbot_file_uploaded",fileType:i.type||"unknown",fileSize:i.size})})},enableScreenshot:!0,maxSizeMB:10}),options:["Continue"],function:()=>{const s=Z();t({...s,uploadConfirmed:!0}),n({type:"chatbot_ticket_step",ticketType:"general_help",step:"file_upload"})},path:"general_help_resource"},general_help_resource:{message:"Does your problem involve an ACCESS Resource?",options:["Yes","No"],function:s=>{const i=Z();t({...i,involvesResource:s.userInput.toLowerCase()}),n({type:"chatbot_ticket_step",ticketType:"general_help",step:"resource_choice"})},path:s=>s.userInput==="Yes"?"general_help_resource_details":"general_help_keywords"},general_help_resource_details:{message:"Please select the ACCESS Resource involved with your issue:",options:Rc,function:s=>{const i=Z();t({...i,resourceDetails:s.userInput}),n({type:"chatbot_ticket_step",ticketType:"general_help",step:"resource_selection"})},path:"general_help_user_id_at_resource"},general_help_user_id_at_resource:{message:"What is your User ID at the selected resource(s)? (Optional - press Enter to skip)",validateTextInput:an(),function:s=>{const i=Z();t({...i,userIdAtResource:ln(s.userInput)}),n({type:"chatbot_ticket_step",ticketType:"general_help",step:"resource_user_id"})},path:"general_help_keywords"},general_help_keywords:{message:"Please add up to 5 keywords to help route your ticket.",checkboxes:{items:Fc,min:0,max:5},function:s=>{const i=Z();t({...i,keywords:s.userInput}),n({type:"chatbot_ticket_step",ticketType:"general_help",step:"keywords"})},path:s=>s.userInput&&s.userInput.includes("I don't see a relevant keyword")?"general_help_additional_keywords":"general_help_priority"},general_help_additional_keywords:{message:"Please enter additional keywords, separated by commas:",function:s=>{const i=Z(),l=i.keywords||[],c=s.userInput,u=(Array.isArray(l)?[...l]:String(l).split(",").map(g=>g.trim())).filter(g=>g!=="I don't see a relevant keyword"),p=u.length>0?[...u,c].join(", "):c;t({...i,keywords:p,suggestedKeyword:c}),n({type:"chatbot_ticket_step",ticketType:"general_help",step:"additional_keywords"})},path:"general_help_priority"},general_help_priority:{message:"Please select a priority for your issue:",options:["Lowest","Low","Medium","High","Highest"],function:s=>{const i=Z();t({...i,priority:s.userInput.toLowerCase()}),n({type:"chatbot_ticket_step",ticketType:"general_help",step:"priority"})},path:()=>{const s=Te(r);return s.email?s.name?s.accessId?"general_help_ticket_summary":"general_help_accessid":"general_help_name":"general_help_email"}},general_help_email:{message:"What is your email address?",validateTextInput:Ln,function:s=>{const i=Z();t({...i,email:s.userInput}),n({type:"chatbot_ticket_step",ticketType:"general_help",step:"email"})},path:()=>{const s=Te(r);return s.name?s.accessId?"general_help_ticket_summary":"general_help_accessid":"general_help_name"}},general_help_name:{message:"What is your name?",function:s=>{const i=Z();t({...i,name:s.userInput}),n({type:"chatbot_ticket_step",ticketType:"general_help",step:"name"})},path:()=>Te(r).accessId?"general_help_ticket_summary":"general_help_accessid"},general_help_accessid:{message:"What is your ACCESS ID? (Optional - press Enter to skip)",validateTextInput:an(),function:s=>{const i=Z();t({...i,accessId:ln(s.userInput)}),n({type:"chatbot_ticket_step",ticketType:"general_help",step:"access_id"})},path:"general_help_ticket_summary"},general_help_ticket_summary:{message:s=>{const i=Z(),l=Te(r),c=Ur(i.uploadedFiles);let d=l.accessId;s.prevPath==="general_help_accessid"&&s.userInput&&(d=s.userInput);let u="";return i.involvesResource==="yes"&&(u=`
|
|
102
102
|
Resource: ${i.resourceDetails||"Not specified"}`,i.userIdAtResource&&(u+=`
|
|
103
103
|
User ID at Resource: ${i.userIdAtResource}`)),`Thank you for providing your issue details. Here's a summary:
|
|
104
104
|
|
|
@@ -111,7 +111,7 @@ Priority: ${i.priority||"Not provided"}
|
|
|
111
111
|
Keywords: ${i.keywords||"Not provided"}
|
|
112
112
|
Issue Description: ${i.description||"Not provided"}${u}${c}
|
|
113
113
|
|
|
114
|
-
Would you like to submit this ticket?`},options:["Submit Ticket","Back to Main Menu"],function:async s=>{if(s.userInput==="Submit Ticket"){const i=
|
|
114
|
+
Would you like to submit this ticket?`},options:["Submit Ticket","Back to Main Menu"],function:async s=>{if(s.userInput==="Submit Ticket"){const i=Z(),l=Te(r),c={email:l.email||"",summary:i.summary||"General Support Ticket",description:i.description||"",priority:i.priority||"medium",accessId:l.accessId||"",name:l.name||"",issueType:i.category||"",hasResourceProblem:i.involvesResource==="yes"?"Yes":"No",userIdAtResource:i.userIdAtResource||"",resourceName:i.resourceDetails||"",keywords:i.keywords||"",noRelevantKeyword:i.suggestedKeyword?"checked":"",suggestedKeyword:i.suggestedKeyword||""};await A(c,i.uploadedFiles||[])}},path:s=>s.userInput==="Submit Ticket"?"general_help_success":"start"},general_help_success:{message:_n(()=>Fr(o,"support ticket")),options:["Back to Main Menu"],renderHtml:["BOT"],path:"start"}}}const jc={"Logging into ACCESS website":"access_login","Logging into a resource":"resource_login","Another question":"general_help"};function qc({ticketForm:e,setTicketForm:t,userInfo:r,trackEvent:n}){const o=Hc({ticketForm:e,setTicketForm:t,userInfo:r,trackEvent:n}),A=Uc({ticketForm:e,setTicketForm:t,userInfo:r,trackEvent:n}),a=zc({ticketForm:e,setTicketForm:t,userInfo:r,trackEvent:n});return{help_ticket:{message:"What is your help ticket related to?",options:["Logging into ACCESS website","Logging into a resource","Another question"],function:s=>{t(i=>({...i,ticketType:s.userInput})),n({type:"chatbot_ticket_started",ticketType:jc[s.userInput]||s.userInput})},path:s=>s.userInput==="Logging into ACCESS website"?"access_help":s.userInput==="Logging into a resource"?"resource_help":s.userInput==="Another question"?"general_help_summary_subject":"help_ticket"},...o,...A,...a}}function It(e){const t=Z();return{...t,email:e.email||t.email,name:e.name||t.name,accessId:e.accessId||t.accessId}}function Gc(e){return e?e.success?e.ticketUrl&&e.ticketKey?`Your security incident report has been submitted successfully.
|
|
115
115
|
|
|
116
116
|
Ticket: <a href="${e.ticketUrl}" target="_blank">${e.ticketKey}</a>
|
|
117
117
|
|
|
@@ -121,13 +121,13 @@ Our cybersecurity team will review your report and respond accordingly. Thank yo
|
|
|
121
121
|
|
|
122
122
|
Please try again or contact our cybersecurity team directly.`:`We apologize, but there was an error submitting your security incident report.
|
|
123
123
|
|
|
124
|
-
Please try again or contact our cybersecurity team directly.`}function
|
|
124
|
+
Please try again or contact our cybersecurity team directly.`}function Wc({ticketForm:e,setTicketForm:t,userInfo:r,trackEvent:n}){let o=null,A=null;const a=async(i,l=[],c)=>{A=await Nn(i,"security",l),A.success?(t(d=>({...d,ticketKey:A.ticketKey,ticketUrl:A.ticketUrl})),n({type:"chatbot_security_submitted",success:!0,priority:c||"unknown",ticketKey:A.ticketKey})):(t(d=>({...d,submissionError:A.error})),n({type:"chatbot_ticket_error",ticketType:"security",errorType:A.error||"unknown"}))};return{security_incident:{message:"You're reporting a security incident. Please provide a brief summary of the security concern.",function:i=>{const l=Z();t({...l,summary:i.userInput,email:r.email||l.email,name:r.name||l.name,accessId:r.accessId||l.accessId}),n({type:"chatbot_ticket_step",ticketType:"security",step:"summary"})},path:"security_priority"},security_priority:{message:"What is the priority level of this security incident?",options:["Critical","High","Medium","Low"],function:i=>{const l=Z();t({...l,priority:i.userInput.toLowerCase()}),n({type:"chatbot_ticket_step",ticketType:"security",step:"priority"})},path:"security_description"},security_description:{message:"Please provide a detailed description of the security incident or concern.",function:i=>{const l=Z();t({...l,description:i.userInput}),n({type:"chatbot_ticket_step",ticketType:"security",step:"description"})},path:"security_attachment"},security_attachment:{message:"Do you have any files (screenshots, logs, etc.) that would help with this security incident?",options:["Yes","No"],function:i=>{const l=Z();t({...l,wantsAttachment:i.userInput}),n({type:"chatbot_ticket_step",ticketType:"security",step:"attachment_choice"})},path:i=>i.userInput==="Yes"?"security_upload":"security_contact_check"},security_upload:{message:"Please upload your files.",component:P.jsx(On,{onFileUpload:i=>{t(l=>({...l,uploadedFiles:i})),i.forEach(l=>{n({type:"chatbot_file_uploaded",fileType:l.type||"unknown",fileSize:l.size})})},enableScreenshot:!0,maxSizeMB:10}),options:["Continue"],function:()=>{const i=Z();t({...i,uploadConfirmed:!0}),n({type:"chatbot_ticket_step",ticketType:"security",step:"file_upload"})},path:"security_contact_check"},security_contact_check:{message:()=>{const i=It(r);return i.name&&i.email&&i.accessId?`I have your contact information:
|
|
125
125
|
|
|
126
126
|
Name: ${i.name}
|
|
127
127
|
Email: ${i.email}
|
|
128
128
|
ACCESS ID: ${i.accessId}
|
|
129
129
|
|
|
130
|
-
Is this correct?`:"I need your contact information."},options:()=>{const i=
|
|
130
|
+
Is this correct?`:"I need your contact information."},options:()=>{const i=It(r);return i.name&&i.email&&i.accessId?["Yes, that's correct","Let me update it"]:[]},chatDisabled:()=>{const i=It(r);return!!(i.name&&i.email&&i.accessId)},path:i=>i.userInput==="Yes, that's correct"?"security_summary":i.userInput==="Let me update it"?"security_name":"security_email"},security_email:{message:"What is your email address?",validateTextInput:Ln,function:i=>{const l=Z();t({...l,email:i.userInput}),n({type:"chatbot_ticket_step",ticketType:"security",step:"email"})},path:()=>{const i=It(r);return i.name?i.accessId?"security_summary":"security_accessid":"security_name"}},security_name:{message:"What is your name?",function:i=>{const l=Z();t({...l,name:i.userInput}),n({type:"chatbot_ticket_step",ticketType:"security",step:"name"})},path:()=>{const i=It(r);return i.email?i.accessId?"security_summary":"security_accessid":"security_email"}},security_accessid:{message:"What is your ACCESS ID? (Optional - press Enter to skip)",validateTextInput:an(),function:i=>{const l=ln(i.userInput);o=l;const c=Z();t({...c,accessId:l}),n({type:"chatbot_ticket_step",ticketType:"security",step:"access_id"})},path:"security_summary"},security_summary:{message:()=>{const i=Z(),l=It(r),c={...i,name:l.name||i.name,email:l.email||i.email,accessId:o||l.accessId||i.accessId};let d="";i.uploadedFiles&&i.uploadedFiles.length>0&&(d=`
|
|
131
131
|
Attachments: ${i.uploadedFiles.length} file(s) attached`);const u=c.accessId||"Not provided";return`Here's a summary of your security incident report:
|
|
132
132
|
|
|
133
133
|
Summary: ${c.summary||"Not provided"}
|
|
@@ -137,9 +137,9 @@ Email: ${c.email||"Not provided"}
|
|
|
137
137
|
ACCESS ID: ${u}
|
|
138
138
|
Description: ${c.description||"Not provided"}${d}
|
|
139
139
|
|
|
140
|
-
Would you like to submit this security incident report?`},options:["Submit Security Report","Back to Main Menu"],function:async i=>{if(i.userInput==="Submit Security Report"){const l=
|
|
140
|
+
Would you like to submit this security incident report?`},options:["Submit Security Report","Back to Main Menu"],function:async i=>{if(i.userInput==="Submit Security Report"){const l=Z(),c=It(r),d={...l,name:c.name||l.name,email:c.email||l.email,accessId:o||c.accessId||l.accessId},u={summary:d.summary||"",priority:d.priority||"",description:d.description||"",name:d.name||"",email:d.email||"",accessId:d.accessId||""};await a(u,l.uploadedFiles||[],d.priority)}},path:i=>i.userInput==="Submit Security Report"?"security_success":"start"},security_success:{message:_n(()=>Gc(A)),options:["Back to Main Menu"],renderHtml:["BOT"],path:"start"}}}const Qe=[];for(let e=0;e<256;++e)Qe.push((e+256).toString(16).slice(1));function Yc(e,t=0){return(Qe[e[t+0]]+Qe[e[t+1]]+Qe[e[t+2]]+Qe[e[t+3]]+"-"+Qe[e[t+4]]+Qe[e[t+5]]+"-"+Qe[e[t+6]]+Qe[e[t+7]]+"-"+Qe[e[t+8]]+Qe[e[t+9]]+"-"+Qe[e[t+10]]+Qe[e[t+11]]+Qe[e[t+12]]+Qe[e[t+13]]+Qe[e[t+14]]+Qe[e[t+15]]).toLowerCase()}let Rr;const Kc=new Uint8Array(16);function Vc(){if(!Rr){if(typeof crypto>"u"||!crypto.getRandomValues)throw new Error("crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported");Rr=crypto.getRandomValues.bind(crypto)}return Rr(Kc)}const fi={randomUUID:typeof crypto<"u"&&crypto.randomUUID&&crypto.randomUUID.bind(crypto)};function zr(e,t,r){var o;if(fi.randomUUID&&!e)return fi.randomUUID();e=e||{};const n=e.random??((o=e.rng)==null?void 0:o.call(e))??Vc();if(n.length<16)throw new Error("Random bytes length must be >= 16");return n[6]=n[6]&15|64,n[8]=n[8]&63|128,Yc(n)}function ou(e){return e}function Xc({sessionId:e,apiKey:t,trackEvent:r}){let n=null;return{metrics_intro:{message:`Please type your question about usage and performance metrics (XDMoD) below. You can see some <a target="_blank" href="${He.METRICS_QUESTIONS_URL}">examples here</a>.
|
|
141
141
|
|
|
142
|
-
<em>This assistant is powered by AI. Responses may not always be accurate. Do not share passwords or secrets.</em> <a href="https://support.access-ci.org/tools/access-qa-tool/privacy">Privacy Notice</a>`,renderHtml:["BOT"],path:"metrics_loop"},metrics_loop:{message:async o=>{const{userInput:
|
|
142
|
+
<em>This assistant is powered by AI. Responses may not always be accurate. Do not share passwords or secrets.</em> <a href="https://support.access-ci.org/tools/access-qa-tool/privacy">Privacy Notice</a>`,renderHtml:["BOT"],path:"metrics_loop"},metrics_loop:{message:async o=>{const{userInput:A}=o;if(A==="👍 Helpful"||A==="👎 Not helpful"){if(t&&e&&n){const s={"Content-Type":"application/json","X-Origin":"metrics","X-API-KEY":t,"X-Session-ID":e,"X-Query-ID":n,"X-Feedback":A==="👍 Helpful"?"1":"0"};try{await fetch(He.METRICS_RATING_ENDPOINT,{method:"POST",headers:s})}catch(i){console.error("Error sending metrics feedback:",i)}}return"Thanks for the feedback! Ask another question about usage and performance metrics (XDMoD) or start a new chat."}else try{const a=zr();n=a,r({type:"chatbot_metrics_question_sent",queryId:a});const s={"Content-Type":"application/json","X-Origin":"metrics","X-API-KEY":t,"X-Session-ID":e,"X-Query-ID":a},c=(await(await fetch(He.METRICS_API_ENDPOINT,{method:"POST",headers:s,body:JSON.stringify({query:A})})).json()).response,d=c;return await o.injectMessage(d),setTimeout(async()=>{await o.injectMessage("Ask another question about usage and performance metrics (XDMoD) or start a new chat.")},100),null}catch(a){return console.error("Error in metrics flow:",a),"I'm sorry, there was an error processing your question. Please try again."}},renderMarkdown:["BOT"],options:o=>o.userInput==="👍 Helpful"||o.userInput==="👎 Not helpful"?[]:["👍 Helpful","👎 Not helpful"],chatDisabled:!1,path:"metrics_loop"}}}function Jc(){if(typeof window>"u")return zr();let e=localStorage.getItem(di.SESSION_ID);return e||(e=zr(),localStorage.setItem(di.SESSION_ID,e)),e}const pi="access-qa-bot-shadow-overrides",Zc=`
|
|
143
143
|
.rcb-checkbox-container {
|
|
144
144
|
display: flex !important;
|
|
145
145
|
flex-wrap: wrap !important;
|
|
@@ -292,5 +292,5 @@ Would you like to submit this security incident report?`},options:["Submit Secur
|
|
|
292
292
|
display: inline !important;
|
|
293
293
|
margin: 0 !important;
|
|
294
294
|
}
|
|
295
|
-
`;function
|
|
295
|
+
`;function $c(e){if(!e)return;const t=e.getRootNode();if(!(t instanceof ShadowRoot)||t.getElementById(pi))return;const r=document.createElement("style");r.id=pi,r.textContent=Zc,t.appendChild(r)}const jr=f.forwardRef((e,t)=>{const{apiKey:r=He.DEFAULT_API_KEY,isLoggedIn:n=!1,loginUrl:o=vt.LOGIN_URL,userEmail:A,userName:a,accessId:s,actingUser:i,ringEffect:l,defaultOpen:c,onClose:d,open:u,onOpenChange:p,embedded:g=!1,welcome:v,qaEndpoint:h,ratingEndpoint:w,agentEndpoint:E,backendId:m,resourceContext:C,onAnalyticsEvent:k}=e,S=He.AGENT_ENABLED,D=m||He.BACKEND_ID,I=f.useRef(null),Q=f.useRef(null),[x,N]=f.useState({}),[B,O]=f.useState(()=>S?null:{categories:[],is_authenticated:!1}),U=f.useMemo(()=>({email:A,name:a,accessId:s}),[A,a,s]);f.useEffect(()=>{$c(Q.current)},[]),f.useEffect(()=>{_c({ticketForm:x,setTicketForm:N})},[x]);const _=E||He.AGENT_ENDPOINT,F=C?`${_}/capabilities?resource_context=${encodeURIComponent(C)}`:`${_}/capabilities`,M=`${_}/rating`;f.useEffect(()=>{S&&_.includes("localhost")&&!window.location.hostname.includes("localhost")&&console.warn("[AccessQABot] VITE_AGENT_ENDPOINT not set — agent requests will go to localhost. Set VITE_AGENT_ENDPOINT in your environment."),He.ALLOW_ANON_ACCESS&&!He.TURNSTILE_SITE_KEY&&console.warn("[AccessQABot] Anonymous access is enabled without Turnstile. Set VITE_TURNSTILE_SITE_KEY for bot protection, or disable VITE_ALLOW_ANON_ACCESS.")},[_,S]),f.useEffect(()=>{if(!S)return;let j=!1;async function K(){try{const V=await fetch(F,{credentials:"include"});if(!V.ok)throw new Error(`Capabilities API returned ${V.status}`);const ae=await V.json();j||O(ae)}catch(V){console.warn("Failed to fetch capabilities:",V),j||O({categories:[],is_authenticated:!1})}}return K(),()=>{j=!0}},[S,F,n]),f.useEffect(()=>{if(!S||!n)return;let j=!1;const K=`${_}/capabilities/personalized`;async function V(){try{const ae=await fetch(K,{credentials:"include"});if(!ae.ok)return;const re=await ae.json();j||console.debug("Personalized context loaded:",re)}catch{}}return V(),()=>{j=!0}},[S,_,n]),f.useImperativeHandle(t,()=>({addMessage:j=>{var K,V;(V=(K=I.current)==null?void 0:K.addMessage)==null||V.call(K,j)}}));const L=v||(B==null?void 0:B.welcome_message)||vt.WELCOME_MESSAGE,y=f.useMemo(()=>Jc(),[]),Y=f.useCallback(j=>{k&&k({...j,type:j.type,timestamp:j.timestamp??Date.now(),sessionId:j.sessionId??y})},[k,y]),b=f.useCallback(j=>{k&&k({...j,type:j.type,timestamp:typeof j.timestamp=="number"?j.timestamp:Date.now(),sessionId:typeof j.sessionId=="string"?j.sessionId:y})},[k,y]),J=f.useMemo(()=>{const j=Oc({welcome:L,setTicketForm:N,trackEvent:Y}),K=qc({ticketForm:{},setTicketForm:N,userInfo:U,trackEvent:Y}),V=Wc({ticketForm:{},setTicketForm:N,userInfo:U,trackEvent:Y}),ae=Xc({sessionId:y,apiKey:r,trackEvent:Y}),re={...j,...K,...V,...ae};return Qc(re,{disableOnOptions:!0})},[L,U,y,r,n,Y,B]);return B?P.jsx("div",{ref:Q,children:P.jsx(Lr,{ref:I,isLoggedIn:n,allowAnonAccess:He.ALLOW_ANON_ACCESS,actingUser:i,onAnalyticsEvent:b,apiKey:r,qaEndpoint:h||He.QA_ENDPOINT,ratingEndpoint:w||He.RATING_ENDPOINT,backendId:D,...S?{capabilitiesEndpoint:F,agentRatingEndpoint:M}:{},botName:vt.BOT_NAME,logo:vt.LOGO,primaryColor:vt.PRIMARY_COLOR,secondaryColor:vt.SECONDARY_COLOR,welcomeMessage:L,tooltipText:vt.TOOLTIP,turnstileSiteKey:He.TURNSTILE_SITE_KEY||void 0,loginUrl:o,open:u,onOpenChange:p,embedded:g,footerText:"AI-powered · Privacy Notice",footerLink:"https://support.access-ci.org/tools/access-qa-tool/privacy",resourceContext:C,customFlow:J})}):P.jsx("div",{ref:Q})});jr.displayName="AccessQABot",Fe.API_CONFIG=He,Fe.AccessQABot=jr,Fe.BOT_CONFIG=vt,Fe.QABot=jr,Object.defineProperty(Fe,Symbol.toStringTag,{value:"Module"})});
|
|
296
296
|
//# sourceMappingURL=access-qa-bot.umd.cjs.map
|